From 095e3366228263e037a4a18064a59d4a587ef4e1 Mon Sep 17 00:00:00 2001 From: William Edwards Date: Wed, 15 Nov 2023 00:03:23 -0800 Subject: [PATCH] feat(Locale): add localization support --- assets/locale/Makefile | 19 + assets/locale/en_US.po | 533 ++++++++++++++++++ assets/locale/es_MX.po | 530 +++++++++++++++++ assets/locale/fr_FR.po | 533 ++++++++++++++++++ assets/locale/messages.pot | 524 +++++++++++++++++ core/ui/card_ui/card_ui.gd | 4 + core/ui/card_ui/home/cardui_home.tscn | 4 +- core/ui/card_ui/launch/game_launch_menu.tscn | 2 +- core/ui/card_ui/ootbe/language_select.gd | 28 +- core/ui/card_ui/ootbe/language_select.tscn | 1 + core/ui/card_ui/ootbe/plugin_setup.tscn | 3 +- .../card_ui/settings/general_settings_menu.gd | 24 + .../settings/general_settings_menu.tscn | 9 +- core/ui/card_ui/settings/settings_menu.tscn | 12 + core/ui/components/expandable_card.tscn | 20 +- project.godot | 7 +- 16 files changed, 2237 insertions(+), 16 deletions(-) create mode 100644 assets/locale/Makefile create mode 100644 assets/locale/en_US.po create mode 100644 assets/locale/es_MX.po create mode 100644 assets/locale/fr_FR.po create mode 100644 assets/locale/messages.pot diff --git a/assets/locale/Makefile b/assets/locale/Makefile new file mode 100644 index 00000000..dbb4478b --- /dev/null +++ b/assets/locale/Makefile @@ -0,0 +1,19 @@ +# https://weblate.org/en/ + +ALL_LOCALES := en_US.po es_MX.po fr_FR.po + +# Update all locales from the 'messages.pot' template +.PHONY: all +all: $(ALL_LOCALES) + +# Generate a new locale file from the template +.PHONY: generate +generate: +ifndef LOCALE + $(error LOCALE not specified to generate) +endif + msginit --no-translator --input=messages.pot --locale=$(LOCALE) + +# Update the locale from the 'messages.pot' template +$(ALL_LOCALES): messages.pot + msgmerge --update --backup=none $@ $< diff --git a/assets/locale/en_US.po b/assets/locale/en_US.po new file mode 100644 index 00000000..b177b721 --- /dev/null +++ b/assets/locale/en_US.po @@ -0,0 +1,533 @@ +msgid "" +msgstr "" +"Project-Id-Version: PACKAGE VERSION\n" +"POT-Creation-Date: \n" +"Last-Translator: Automatically generated\n" +"Language-Team: none\n" +"Language: en_US\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +# LANGUAGE translation for OpenGamepadUI +# +# William Edwards , 2023. +# +msgid "PROJECT DESCRIPTION" +msgstr "" +"Project-Id-Version: Open Gamepad UI\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8-bit\n" + +# Main Menu +msgid "Home" +msgstr "Home" + +msgid "Library" +msgstr "Library" + +msgid "Settings" +msgstr "Settings" + +msgid "Power" +msgstr "Power" + +msgid "Accept" +msgstr "Accept" + +msgid "Back" +msgstr "Back" + +msgid "Cancel" +msgstr "" + +msgid "Exit" +msgstr "" + +msgid "Submit" +msgstr "" + +msgid "Open Main Menu" +msgstr "Open Main Menu" + +msgid "Open Quick Access Menu" +msgstr "Open Quick Access Menu" + +msgid "Open On-Screen Keyboard" +msgstr "Open On-Screen Keyboard" + +msgid "Scroll container" +msgstr "Scroll container" + +msgid "Switch to left tab" +msgstr "Switch to left tab" + +msgid "Switch to right tab" +msgstr "Switch to right tab" + +msgid "Backspace" +msgstr "Backspace" + +msgid "Close keyboard" +msgstr "Close keyboard" + +msgid "Toggle Shift" +msgstr "Toggle Shift" + +msgid "Enter" +msgstr "Enter" + +msgid "Steam Deck" +msgstr "Steam Deck" + +msgid "Global" +msgstr "Global" + +msgid "Unable to save gamepad profile" +msgstr "Unable to save gamepad profile" + +msgid "Failed to save gamepad profile" +msgstr "Failed to save gamepad profile" + +msgid "Gamepad profile saved" +msgstr "Gamepad profile saved" + +msgid "Play Now" +msgstr "Play Now" + +msgid "Install" +msgstr "Install" + +msgid "Resume" +msgstr "Resume" + +msgid "Queued" +msgstr "Queued" + +msgid "Installing" +msgstr "Installing" + +msgid "Quick Access Menu" +msgstr "Quick Access Menu" + +msgid "Game Name" +msgstr "Game Name" + +# Game Launch Settings Menu +msgid "Launch" +msgstr "" + +msgid "Boxart" +msgstr "" + +msgid "Launch Provider" +msgstr "" + +msgid "Library provider to launch this game with" +msgstr "" + +#, fuzzy +msgid "Launch Settings" +msgstr "Settings" + +msgid "Command" +msgstr "" + +msgid "Command to use to launch the game" +msgstr "" + +msgid "Arguments" +msgstr "" + +msgid "Command-line arguments to pass to the game" +msgstr "" + +msgid "Launch Directory" +msgstr "" + +msgid "Directory to launch the game from" +msgstr "" + +msgid "Environment Variables" +msgstr "" + +msgid "Environment variables to use when launching the game" +msgstr "" + +#, fuzzy +msgid "Sandbox Settings" +msgstr "Settings" + +msgid "Use sandboxing" +msgstr "" + +msgid "Launch the game in a sandbox" +msgstr "" + +# Boxart Settings Menu +msgid "Boxart Provider" +msgstr "" + +msgid "Images" +msgstr "" + +msgid "Banner" +msgstr "" + +msgid "Logo" +msgstr "" + +msgid "Grids" +msgstr "" + +# Settings Menu +msgid "General" +msgstr "" + +msgid "Display" +msgstr "" + +msgid "Network" +msgstr "" + +msgid "Bluetooth" +msgstr "" + +msgid "Plugins" +msgstr "" + +msgid "Plugin Store" +msgstr "" + +msgid "Processes" +msgstr "" + +msgid "Logging" +msgstr "" + +msgid "Controllers" +msgstr "" + +msgid "Windows" +msgstr "" + +# General Settings Menu +msgid "Updates" +msgstr "" + +msgid "Automatic Updates" +msgstr "" + +msgid "" +"Automatically download and apply updates in the background when they are " +"available" +msgstr "" + +msgid "Check for Updates" +msgstr "" + +#, fuzzy +msgid "Install Update" +msgstr "Install" + +msgid "Appearance" +msgstr "" + +msgid "Language" +msgstr "" + +msgid "System language" +msgstr "" + +msgid "Theme" +msgstr "" + +msgid "Maximum Recent Apps" +msgstr "" + +msgid "System Information" +msgstr "" + +msgid "Platform" +msgstr "" + +msgid "Client Version" +msgstr "" + +msgid "OS" +msgstr "" + +msgid "Kernel Version" +msgstr "" + +msgid "Vendor" +msgstr "" + +msgid "Product" +msgstr "" + +msgid "BIOS Version" +msgstr "" + +msgid "CPU Model" +msgstr "" + +msgid "GPU Model" +msgstr "" + +msgid "Driver Version" +msgstr "" + +# Display Menu +msgid "Scale" +msgstr "" + +# Network Menu +msgid "Network dependencies not found" +msgstr "" + +msgid "Wireless Network" +msgstr "" + +msgid "Visible Networks" +msgstr "" + +msgid "Refresh Networks" +msgstr "" + +msgid "Wired Network" +msgstr "" + +msgid "Password" +msgstr "" + +msgid "Enter the password for this network" +msgstr "" + +msgid "Bluetooth service unavailable" +msgstr "Bluetooth service unavailable" + +msgid "Enabled" +msgstr "" + +msgid "Enable Discovery" +msgstr "" + +# Audio Menu +msgid "Audio" +msgstr "" + +msgid "Volume" +msgstr "" + +msgid "Output Device" +msgstr "" + +msgid "Input Device" +msgstr "" + +msgid "Microphone" +msgstr "" + +# Plugins Menu +msgid "No plugins found" +msgstr "" + +# Processes Menu +msgid "Kill" +msgstr "" + +# Log Menu +msgid "Global Log Level" +msgstr "" + +msgid "Set the log level for all systems" +msgstr "" + +msgid "Per-system Logging" +msgstr "" + +# General Controller Settings Menu +msgid "General Controller Settings" +msgstr "" + +msgid "SDL HIDAPI Enabled" +msgstr "" + +msgid "" +"Alternate input system that can cause double input. Some games use SDL for " +"gyro controls or all input. Requires restart." +msgstr "" + +# Gamepad Settings Menu +msgid "Profile Name" +msgstr "" + +msgid "Buttons" +msgstr "" + +# (plural of "axis", not the wood chopping thing) +msgid "Axes" +msgstr "" + +# Gamepad Mapper Menu +msgid "Change Input" +msgstr "" + +#, fuzzy +msgid "Keyboard" +msgstr "Close keyboard" + +msgid "Mouse" +msgstr "" + +#, fuzzy +msgid "Gamepad" +msgstr "Game Name" + +msgid "Clear" +msgstr "" + +msgid "Left Click" +msgstr "" + +msgid "Right Click" +msgstr "" + +msgid "Mouse Motion" +msgstr "" + +msgid "Wheel Up" +msgstr "" + +msgid "Wheel Down" +msgstr "" + +msgid "Middle Click" +msgstr "" + +msgid "Welcome" +msgstr "Welcome" + +msgid "Select a language" +msgstr "" + +msgid "Connect to your network" +msgstr "" + +msgid "Next" +msgstr "" + +#, fuzzy +msgid "Install plugins" +msgstr "Installing" + +msgid "Configure your plugins" +msgstr "" + +msgid "Finished" +msgstr "Finished" + +msgid "You're ready to go" +msgstr "" + +msgid "Start playing" +msgstr "" + +# Search Bar +msgid "What should you play?" +msgstr "" + +#, fuzzy +msgid "Installed" +msgstr "Install" + +msgid "All Games" +msgstr "" + +msgid "Favorites" +msgstr "" + +msgid "Collections" +msgstr "" + +#, fuzzy +msgid "Quick Settings" +msgstr "Settings" + +msgid "Performance" +msgstr "" + +#, fuzzy +msgid "Power Tools" +msgstr "Power" + +msgid "Brightness" +msgstr "" + +msgid "Saturation" +msgstr "" + +# Performance Menu +msgid "Performance Overlay" +msgstr "" + +msgid "FPS Limit" +msgstr "" + +msgid "Refresh Rate" +msgstr "" + +# Power Tools Menu +msgid "Waiting for PowerStation service..." +msgstr "" + +#, fuzzy +msgid "CPU Settings" +msgstr "Settings" + +msgid "CPU Boost" +msgstr "" + +msgid "SMT Enabled" +msgstr "" + +msgid "CPU Cores" +msgstr "" + +#, fuzzy +msgid "GPU Settings" +msgstr "Settings" + +msgid "TDP Boost" +msgstr "" + +msgid "Manual Freq" +msgstr "" + +msgid "Min Freq" +msgstr "" + +msgid "Max Freq" +msgstr "" + +msgid "GPU Temp Limit" +msgstr "" + +msgid "Power Profile" +msgstr "" + +msgid "Thermal Throttle Profile" +msgstr "" + +# Power Menu +msgid "Suspend" +msgstr "" + +msgid "Reboot" +msgstr "" + +msgid "Shutdown" +msgstr "" diff --git a/assets/locale/es_MX.po b/assets/locale/es_MX.po new file mode 100644 index 00000000..d5efbee3 --- /dev/null +++ b/assets/locale/es_MX.po @@ -0,0 +1,530 @@ +msgid "" +msgstr "" +"Project-Id-Version: \n" +"POT-Creation-Date: \n" +"PO-Revision-Date: \n" +"Last-Translator: Automatically generated\n" +"Language-Team: none\n" +"Language: es_MX\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" +"X-Generator: Poedit 3.4.1\n" + +# LANGUAGE translation for OpenGamepadUI +# +# William Edwards , 2023. +# +#, fuzzy +msgid "PROJECT DESCRIPTION" +msgstr "" +"Project-Id-Version: Open Gamepad UI\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8-bit\n" + +# Main Menu +msgid "Home" +msgstr "Inicio" + +msgid "Library" +msgstr "Biblioteca" + +msgid "Settings" +msgstr "Opciones" + +msgid "Power" +msgstr "" + +msgid "Accept" +msgstr "Confirmar" + +msgid "Back" +msgstr "" + +msgid "Cancel" +msgstr "" + +msgid "Exit" +msgstr "" + +msgid "Submit" +msgstr "" + +msgid "Open Main Menu" +msgstr "Abrir El Primero Menu" + +msgid "Open Quick Access Menu" +msgstr "" + +msgid "Open On-Screen Keyboard" +msgstr "" + +msgid "Scroll container" +msgstr "" + +msgid "Switch to left tab" +msgstr "" + +msgid "Switch to right tab" +msgstr "" + +msgid "Backspace" +msgstr "" + +msgid "Close keyboard" +msgstr "" + +msgid "Toggle Shift" +msgstr "" + +msgid "Enter" +msgstr "" + +msgid "Steam Deck" +msgstr "" + +msgid "Global" +msgstr "" + +msgid "Unable to save gamepad profile" +msgstr "" + +msgid "Failed to save gamepad profile" +msgstr "" + +msgid "Gamepad profile saved" +msgstr "" + +msgid "Play Now" +msgstr "" + +msgid "Install" +msgstr "" + +msgid "Resume" +msgstr "" + +msgid "Queued" +msgstr "" + +msgid "Installing" +msgstr "" + +msgid "Quick Access Menu" +msgstr "" + +msgid "Game Name" +msgstr "" + +# Game Launch Settings Menu +msgid "Launch" +msgstr "" + +msgid "Boxart" +msgstr "" + +msgid "Launch Provider" +msgstr "" + +msgid "Library provider to launch this game with" +msgstr "" + +#, fuzzy +msgid "Launch Settings" +msgstr "Opciones" + +msgid "Command" +msgstr "" + +msgid "Command to use to launch the game" +msgstr "" + +msgid "Arguments" +msgstr "" + +msgid "Command-line arguments to pass to the game" +msgstr "" + +msgid "Launch Directory" +msgstr "" + +msgid "Directory to launch the game from" +msgstr "" + +msgid "Environment Variables" +msgstr "" + +msgid "Environment variables to use when launching the game" +msgstr "" + +#, fuzzy +msgid "Sandbox Settings" +msgstr "Opciones" + +msgid "Use sandboxing" +msgstr "" + +msgid "Launch the game in a sandbox" +msgstr "" + +# Boxart Settings Menu +msgid "Boxart Provider" +msgstr "" + +msgid "Images" +msgstr "" + +msgid "Banner" +msgstr "" + +msgid "Logo" +msgstr "" + +msgid "Grids" +msgstr "" + +# Settings Menu +msgid "General" +msgstr "" + +msgid "Display" +msgstr "" + +msgid "Network" +msgstr "" + +msgid "Bluetooth" +msgstr "" + +msgid "Plugins" +msgstr "" + +msgid "Plugin Store" +msgstr "" + +msgid "Processes" +msgstr "" + +msgid "Logging" +msgstr "" + +msgid "Controllers" +msgstr "" + +msgid "Windows" +msgstr "" + +# General Settings Menu +msgid "Updates" +msgstr "" + +msgid "Automatic Updates" +msgstr "" + +msgid "" +"Automatically download and apply updates in the background when they are " +"available" +msgstr "" + +msgid "Check for Updates" +msgstr "" + +msgid "Install Update" +msgstr "" + +msgid "Appearance" +msgstr "" + +msgid "Language" +msgstr "" + +msgid "System language" +msgstr "" + +msgid "Theme" +msgstr "" + +msgid "Maximum Recent Apps" +msgstr "" + +msgid "System Information" +msgstr "" + +msgid "Platform" +msgstr "" + +msgid "Client Version" +msgstr "" + +msgid "OS" +msgstr "" + +msgid "Kernel Version" +msgstr "" + +msgid "Vendor" +msgstr "" + +msgid "Product" +msgstr "" + +msgid "BIOS Version" +msgstr "" + +msgid "CPU Model" +msgstr "" + +msgid "GPU Model" +msgstr "" + +msgid "Driver Version" +msgstr "" + +# Display Menu +msgid "Scale" +msgstr "" + +# Network Menu +msgid "Network dependencies not found" +msgstr "" + +msgid "Wireless Network" +msgstr "" + +msgid "Visible Networks" +msgstr "" + +msgid "Refresh Networks" +msgstr "" + +msgid "Wired Network" +msgstr "" + +msgid "Password" +msgstr "" + +msgid "Enter the password for this network" +msgstr "" + +msgid "Bluetooth service unavailable" +msgstr "" + +msgid "Enabled" +msgstr "" + +msgid "Enable Discovery" +msgstr "" + +# Audio Menu +msgid "Audio" +msgstr "" + +msgid "Volume" +msgstr "" + +msgid "Output Device" +msgstr "" + +msgid "Input Device" +msgstr "" + +msgid "Microphone" +msgstr "" + +# Plugins Menu +msgid "No plugins found" +msgstr "" + +# Processes Menu +msgid "Kill" +msgstr "" + +# Log Menu +msgid "Global Log Level" +msgstr "" + +msgid "Set the log level for all systems" +msgstr "" + +msgid "Per-system Logging" +msgstr "" + +# General Controller Settings Menu +msgid "General Controller Settings" +msgstr "" + +msgid "SDL HIDAPI Enabled" +msgstr "" + +msgid "" +"Alternate input system that can cause double input. Some games use SDL for " +"gyro controls or all input. Requires restart." +msgstr "" + +# Gamepad Settings Menu +msgid "Profile Name" +msgstr "" + +msgid "Buttons" +msgstr "" + +# (plural of "axis", not the wood chopping thing) +msgid "Axes" +msgstr "" + +# Gamepad Mapper Menu +msgid "Change Input" +msgstr "" + +msgid "Keyboard" +msgstr "" + +msgid "Mouse" +msgstr "" + +msgid "Gamepad" +msgstr "" + +msgid "Clear" +msgstr "" + +msgid "Left Click" +msgstr "" + +msgid "Right Click" +msgstr "" + +msgid "Mouse Motion" +msgstr "" + +msgid "Wheel Up" +msgstr "" + +msgid "Wheel Down" +msgstr "" + +msgid "Middle Click" +msgstr "" + +msgid "Welcome" +msgstr "Bienvenidos" + +msgid "Select a language" +msgstr "" + +msgid "Connect to your network" +msgstr "" + +msgid "Next" +msgstr "" + +msgid "Install plugins" +msgstr "" + +msgid "Configure your plugins" +msgstr "" + +msgid "Finished" +msgstr "" + +msgid "You're ready to go" +msgstr "" + +msgid "Start playing" +msgstr "" + +# Search Bar +msgid "What should you play?" +msgstr "" + +msgid "Installed" +msgstr "" + +msgid "All Games" +msgstr "" + +msgid "Favorites" +msgstr "" + +msgid "Collections" +msgstr "" + +#, fuzzy +msgid "Quick Settings" +msgstr "Opciones" + +msgid "Performance" +msgstr "" + +msgid "Power Tools" +msgstr "" + +msgid "Brightness" +msgstr "" + +msgid "Saturation" +msgstr "" + +# Performance Menu +msgid "Performance Overlay" +msgstr "" + +msgid "FPS Limit" +msgstr "" + +msgid "Refresh Rate" +msgstr "" + +# Power Tools Menu +msgid "Waiting for PowerStation service..." +msgstr "" + +#, fuzzy +msgid "CPU Settings" +msgstr "Opciones" + +msgid "CPU Boost" +msgstr "" + +msgid "SMT Enabled" +msgstr "" + +msgid "CPU Cores" +msgstr "" + +#, fuzzy +msgid "GPU Settings" +msgstr "Opciones" + +msgid "TDP Boost" +msgstr "" + +msgid "Manual Freq" +msgstr "" + +msgid "Min Freq" +msgstr "" + +msgid "Max Freq" +msgstr "" + +msgid "GPU Temp Limit" +msgstr "" + +msgid "Power Profile" +msgstr "" + +msgid "Thermal Throttle Profile" +msgstr "" + +# Power Menu +msgid "Suspend" +msgstr "" + +msgid "Reboot" +msgstr "" + +msgid "Shutdown" +msgstr "" diff --git a/assets/locale/fr_FR.po b/assets/locale/fr_FR.po new file mode 100644 index 00000000..001aa187 --- /dev/null +++ b/assets/locale/fr_FR.po @@ -0,0 +1,533 @@ +msgid "" +msgstr "" +"Project-Id-Version: PACKAGE VERSION\n" +"POT-Creation-Date: \n" +"Last-Translator: Automatically generated\n" +"Language-Team: none\n" +"Language: fr_FR\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +# LANGUAGE translation for OpenGamepadUI +# +# William Edwards , 2023. +# +msgid "PROJECT DESCRIPTION" +msgstr "" +"Project-Id-Version: Open Gamepad UI\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8-bit\n" + +# Main Menu +msgid "Home" +msgstr "Accueil" + +msgid "Library" +msgstr "Bibliothèque" + +msgid "Settings" +msgstr "Paramètres" + +msgid "Power" +msgstr "Marche/arrêt" + +msgid "Accept" +msgstr "Confirmer" + +msgid "Back" +msgstr "Retour" + +msgid "Cancel" +msgstr "" + +msgid "Exit" +msgstr "" + +msgid "Submit" +msgstr "" + +msgid "Open Main Menu" +msgstr "Ouvrir le menu principal" + +msgid "Open Quick Access Menu" +msgstr "Ouvrir le menu d'accès rapide" + +msgid "Open On-Screen Keyboard" +msgstr "Ouvrir le clavier virtuel" + +msgid "Scroll container" +msgstr "Scroll container" + +msgid "Switch to left tab" +msgstr "Passer à l'onglet de gauche" + +msgid "Switch to right tab" +msgstr "Passer à l'onglet de droite" + +msgid "Backspace" +msgstr "Retour arrière" + +msgid "Close keyboard" +msgstr "Fermer le clavier" + +msgid "Toggle Shift" +msgstr "Activer Maj" + +msgid "Enter" +msgstr "Entrer" + +msgid "Steam Deck" +msgstr "Steam Deck" + +msgid "Global" +msgstr "Global" + +msgid "Unable to save gamepad profile" +msgstr "Impossible de sauvegarder le profil de la manette" + +msgid "Failed to save gamepad profile" +msgstr "Echec de la sauvegarde du profil manette" + +msgid "Gamepad profile saved" +msgstr "Profil manette sauvegardé" + +msgid "Play Now" +msgstr "Jouer" + +msgid "Install" +msgstr "Installer" + +msgid "Resume" +msgstr "Reprendre" + +msgid "Queued" +msgstr "En file d'attente" + +msgid "Installing" +msgstr "Installation en cours" + +msgid "Quick Access Menu" +msgstr "Menu d'accès rapide" + +msgid "Game Name" +msgstr "Nom du jeu" + +# Game Launch Settings Menu +msgid "Launch" +msgstr "" + +msgid "Boxart" +msgstr "" + +msgid "Launch Provider" +msgstr "" + +msgid "Library provider to launch this game with" +msgstr "" + +#, fuzzy +msgid "Launch Settings" +msgstr "Paramètres" + +msgid "Command" +msgstr "" + +msgid "Command to use to launch the game" +msgstr "" + +msgid "Arguments" +msgstr "" + +msgid "Command-line arguments to pass to the game" +msgstr "" + +msgid "Launch Directory" +msgstr "" + +msgid "Directory to launch the game from" +msgstr "" + +msgid "Environment Variables" +msgstr "" + +msgid "Environment variables to use when launching the game" +msgstr "" + +#, fuzzy +msgid "Sandbox Settings" +msgstr "Paramètres" + +msgid "Use sandboxing" +msgstr "" + +msgid "Launch the game in a sandbox" +msgstr "" + +# Boxart Settings Menu +msgid "Boxart Provider" +msgstr "" + +msgid "Images" +msgstr "" + +msgid "Banner" +msgstr "" + +msgid "Logo" +msgstr "" + +msgid "Grids" +msgstr "" + +# Settings Menu +msgid "General" +msgstr "" + +msgid "Display" +msgstr "" + +msgid "Network" +msgstr "" + +msgid "Bluetooth" +msgstr "" + +msgid "Plugins" +msgstr "" + +msgid "Plugin Store" +msgstr "" + +msgid "Processes" +msgstr "" + +msgid "Logging" +msgstr "" + +msgid "Controllers" +msgstr "" + +msgid "Windows" +msgstr "" + +# General Settings Menu +msgid "Updates" +msgstr "" + +msgid "Automatic Updates" +msgstr "" + +msgid "" +"Automatically download and apply updates in the background when they are " +"available" +msgstr "" + +msgid "Check for Updates" +msgstr "" + +#, fuzzy +msgid "Install Update" +msgstr "Installer" + +msgid "Appearance" +msgstr "" + +msgid "Language" +msgstr "" + +msgid "System language" +msgstr "" + +msgid "Theme" +msgstr "" + +msgid "Maximum Recent Apps" +msgstr "" + +msgid "System Information" +msgstr "" + +msgid "Platform" +msgstr "" + +msgid "Client Version" +msgstr "" + +msgid "OS" +msgstr "" + +msgid "Kernel Version" +msgstr "" + +msgid "Vendor" +msgstr "" + +msgid "Product" +msgstr "" + +msgid "BIOS Version" +msgstr "" + +msgid "CPU Model" +msgstr "" + +msgid "GPU Model" +msgstr "" + +msgid "Driver Version" +msgstr "" + +# Display Menu +msgid "Scale" +msgstr "" + +# Network Menu +msgid "Network dependencies not found" +msgstr "" + +msgid "Wireless Network" +msgstr "" + +msgid "Visible Networks" +msgstr "" + +msgid "Refresh Networks" +msgstr "" + +msgid "Wired Network" +msgstr "" + +msgid "Password" +msgstr "" + +msgid "Enter the password for this network" +msgstr "" + +msgid "Bluetooth service unavailable" +msgstr "Service bluetooth indisponible" + +msgid "Enabled" +msgstr "" + +msgid "Enable Discovery" +msgstr "" + +# Audio Menu +msgid "Audio" +msgstr "" + +msgid "Volume" +msgstr "" + +msgid "Output Device" +msgstr "" + +msgid "Input Device" +msgstr "" + +msgid "Microphone" +msgstr "" + +# Plugins Menu +msgid "No plugins found" +msgstr "" + +# Processes Menu +msgid "Kill" +msgstr "" + +# Log Menu +msgid "Global Log Level" +msgstr "" + +msgid "Set the log level for all systems" +msgstr "" + +msgid "Per-system Logging" +msgstr "" + +# General Controller Settings Menu +msgid "General Controller Settings" +msgstr "" + +msgid "SDL HIDAPI Enabled" +msgstr "" + +msgid "" +"Alternate input system that can cause double input. Some games use SDL for " +"gyro controls or all input. Requires restart." +msgstr "" + +# Gamepad Settings Menu +msgid "Profile Name" +msgstr "" + +msgid "Buttons" +msgstr "" + +# (plural of "axis", not the wood chopping thing) +msgid "Axes" +msgstr "" + +# Gamepad Mapper Menu +msgid "Change Input" +msgstr "" + +#, fuzzy +msgid "Keyboard" +msgstr "Fermer le clavier" + +msgid "Mouse" +msgstr "" + +#, fuzzy +msgid "Gamepad" +msgstr "Nom du jeu" + +msgid "Clear" +msgstr "" + +msgid "Left Click" +msgstr "" + +msgid "Right Click" +msgstr "" + +msgid "Mouse Motion" +msgstr "" + +msgid "Wheel Up" +msgstr "" + +msgid "Wheel Down" +msgstr "" + +msgid "Middle Click" +msgstr "" + +msgid "Welcome" +msgstr "Bienvenu" + +msgid "Select a language" +msgstr "" + +msgid "Connect to your network" +msgstr "" + +msgid "Next" +msgstr "" + +#, fuzzy +msgid "Install plugins" +msgstr "Installation en cours" + +msgid "Configure your plugins" +msgstr "" + +msgid "Finished" +msgstr "Terminé" + +msgid "You're ready to go" +msgstr "" + +msgid "Start playing" +msgstr "" + +# Search Bar +msgid "What should you play?" +msgstr "" + +#, fuzzy +msgid "Installed" +msgstr "Installer" + +msgid "All Games" +msgstr "" + +msgid "Favorites" +msgstr "" + +msgid "Collections" +msgstr "" + +#, fuzzy +msgid "Quick Settings" +msgstr "Paramètres" + +msgid "Performance" +msgstr "" + +#, fuzzy +msgid "Power Tools" +msgstr "Marche/arrêt" + +msgid "Brightness" +msgstr "" + +msgid "Saturation" +msgstr "" + +# Performance Menu +msgid "Performance Overlay" +msgstr "" + +msgid "FPS Limit" +msgstr "" + +msgid "Refresh Rate" +msgstr "" + +# Power Tools Menu +msgid "Waiting for PowerStation service..." +msgstr "" + +#, fuzzy +msgid "CPU Settings" +msgstr "Paramètres" + +msgid "CPU Boost" +msgstr "" + +msgid "SMT Enabled" +msgstr "" + +msgid "CPU Cores" +msgstr "" + +#, fuzzy +msgid "GPU Settings" +msgstr "Paramètres" + +msgid "TDP Boost" +msgstr "" + +msgid "Manual Freq" +msgstr "" + +msgid "Min Freq" +msgstr "" + +msgid "Max Freq" +msgstr "" + +msgid "GPU Temp Limit" +msgstr "" + +msgid "Power Profile" +msgstr "" + +msgid "Thermal Throttle Profile" +msgstr "" + +# Power Menu +msgid "Suspend" +msgstr "" + +msgid "Reboot" +msgstr "" + +msgid "Shutdown" +msgstr "" diff --git a/assets/locale/messages.pot b/assets/locale/messages.pot new file mode 100644 index 00000000..b84215e6 --- /dev/null +++ b/assets/locale/messages.pot @@ -0,0 +1,524 @@ +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: \n" +"POT-Creation-Date: \n" +"PO-Revision-Date: \n" +"Last-Translator: \n" +"Language-Team: \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Generator: Poedit 3.4.1\n" + +# LANGUAGE translation for OpenGamepadUI +# +# William Edwards , 2023. +# +msgid "PROJECT DESCRIPTION" +msgstr "" +"Project-Id-Version: Open Gamepad UI\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8-bit\n" + +# Main Menu Messages +msgid "Home" +msgstr "" + +msgid "Library" +msgstr "" + +msgid "Settings" +msgstr "" + +msgid "Power" +msgstr "" + +# General messages +msgid "Accept" +msgstr "" + +msgid "Back" +msgstr "" + +msgid "Cancel" +msgstr "" + +msgid "Exit" +msgstr "" + +msgid "Submit" +msgstr "" + +# Help Menu Messages +msgid "Open Main Menu" +msgstr "" + +msgid "Open Quick Access Menu" +msgstr "" + +msgid "Open On-Screen Keyboard" +msgstr "" + +msgid "Scroll container" +msgstr "" + +msgid "Switch to left tab" +msgstr "" + +msgid "Switch to right tab" +msgstr "" + +msgid "Backspace" +msgstr "" + +msgid "Close keyboard" +msgstr "" + +msgid "Toggle Shift" +msgstr "" + +msgid "Enter" +msgstr "" + +msgid "Steam Deck" +msgstr "" + +msgid "Global" +msgstr "" + +msgid "Unable to save gamepad profile" +msgstr "" + +msgid "Failed to save gamepad profile" +msgstr "" + +msgid "Gamepad profile saved" +msgstr "" + +msgid "Play Now" +msgstr "" + +msgid "Install" +msgstr "" + +msgid "Resume" +msgstr "" + +msgid "Queued" +msgstr "" + +msgid "Installing" +msgstr "" + +msgid "Quick Access Menu" +msgstr "" + +msgid "Game Name" +msgstr "" + +# Game Launch Settings Menu +msgid "Launch" +msgstr "" + +msgid "Boxart" +msgstr "" + +msgid "Launch Provider" +msgstr "" + +msgid "Library provider to launch this game with" +msgstr "" + +msgid "Launch Settings" +msgstr "" + +msgid "Command" +msgstr "" + +msgid "Command to use to launch the game" +msgstr "" + +msgid "Arguments" +msgstr "" + +msgid "Command-line arguments to pass to the game" +msgstr "" + +msgid "Launch Directory" +msgstr "" + +msgid "Directory to launch the game from" +msgstr "" + +msgid "Environment Variables" +msgstr "" + +msgid "Environment variables to use when launching the game" +msgstr "" + +msgid "Sandbox Settings" +msgstr "" + +msgid "Use sandboxing" +msgstr "" + +msgid "Launch the game in a sandbox" +msgstr "" + +# Boxart Settings Menu +msgid "Boxart Provider" +msgstr "" + +msgid "Images" +msgstr "" + +msgid "Banner" +msgstr "" + +msgid "Logo" +msgstr "" + +msgid "Grids" +msgstr "" + +# Settings Menu +msgid "General" +msgstr "" + +msgid "Display" +msgstr "" + +msgid "Network" +msgstr "" + +msgid "Bluetooth" +msgstr "" + +msgid "Plugins" +msgstr "" + +msgid "Plugin Store" +msgstr "" + +msgid "Processes" +msgstr "" + +msgid "Logging" +msgstr "" + +msgid "Controllers" +msgstr "" + +msgid "Windows" +msgstr "" + +# General Settings Menu +msgid "Updates" +msgstr "" + +msgid "Automatic Updates" +msgstr "" + +msgid "Automatically download and apply updates in the background when they are available" +msgstr "" + +msgid "Check for Updates" +msgstr "" + +msgid "Install Update" +msgstr "" + +msgid "Appearance" +msgstr "" + +msgid "Language" +msgstr "" + +msgid "System language" +msgstr "" + +msgid "Theme" +msgstr "" + +msgid "Maximum Recent Apps" +msgstr "" + +msgid "System Information" +msgstr "" + +msgid "Platform" +msgstr "" + +msgid "Client Version" +msgstr "" + +msgid "OS" +msgstr "" + +msgid "Kernel Version" +msgstr "" + +msgid "Vendor" +msgstr "" + +msgid "Product" +msgstr "" + +msgid "BIOS Version" +msgstr "" + +msgid "CPU Model" +msgstr "" + +msgid "GPU Model" +msgstr "" + +msgid "Driver Version" +msgstr "" + +# Display Menu +msgid "Scale" +msgstr "" + +# Network Menu +msgid "Network dependencies not found" +msgstr "" + +msgid "Wireless Network" +msgstr "" + +msgid "Visible Networks" +msgstr "" + +msgid "Refresh Networks" +msgstr "" + +msgid "Wired Network" +msgstr "" + +msgid "Password" +msgstr "" + +msgid "Enter the password for this network" +msgstr "" + +# Bluetooth Menu +msgid "Bluetooth service unavailable" +msgstr "" + +msgid "Enabled" +msgstr "" + +msgid "Enable Discovery" +msgstr "" + +# Audio Menu +msgid "Audio" +msgstr "" + +msgid "Volume" +msgstr "" + +msgid "Output Device" +msgstr "" + +msgid "Input Device" +msgstr "" + +msgid "Microphone" +msgstr "" + +# Plugins Menu +msgid "No plugins found" +msgstr "" + +# Processes Menu +msgid "Kill" +msgstr "" + +# Log Menu +msgid "Global Log Level" +msgstr "" + +msgid "Set the log level for all systems" +msgstr "" + +msgid "Per-system Logging" +msgstr "" + +# General Controller Settings Menu +msgid "General Controller Settings" +msgstr "" + +msgid "SDL HIDAPI Enabled" +msgstr "" + +msgid "Alternate input system that can cause double input. Some games use SDL for gyro controls or all input. Requires restart." +msgstr "" + +# Gamepad Settings Menu +msgid "Profile Name" +msgstr "" + +msgid "Buttons" +msgstr "" + +# (plural of "axis", not the wood chopping thing) +msgid "Axes" +msgstr "" + +# Gamepad Mapper Menu +msgid "Change Input" +msgstr "" + +msgid "Keyboard" +msgstr "" + +msgid "Mouse" +msgstr "" + +msgid "Gamepad" +msgstr "" + +msgid "Clear" +msgstr "" + +msgid "Left Click" +msgstr "" + +msgid "Right Click" +msgstr "" + +msgid "Mouse Motion" +msgstr "" + +msgid "Wheel Up" +msgstr "" + +msgid "Wheel Down" +msgstr "" + +msgid "Middle Click" +msgstr "" + +# First Boot Menu +msgid "Welcome" +msgstr "" + +msgid "Select a language" +msgstr "" + +msgid "Connect to your network" +msgstr "" + +msgid "Next" +msgstr "" + +msgid "Install plugins" +msgstr "" + +msgid "Configure your plugins" +msgstr "" + +msgid "Finished" +msgstr "" + +msgid "You're ready to go" +msgstr "" + +msgid "Start playing" +msgstr "" + +# Search Bar +msgid "What should you play?" +msgstr "" + +msgid "Installed" +msgstr "" + +msgid "All Games" +msgstr "" + +msgid "Favorites" +msgstr "" + +msgid "Collections" +msgstr "" + +# Quick Settings +msgid "Quick Settings" +msgstr "" + +msgid "Performance" +msgstr "" + +msgid "Power Tools" +msgstr "" + +msgid "Brightness" +msgstr "" + +msgid "Saturation" +msgstr "" + +# Performance Menu +msgid "Performance Overlay" +msgstr "" + +msgid "FPS Limit" +msgstr "" + +msgid "Refresh Rate" +msgstr "" + +# Power Tools Menu +msgid "Waiting for PowerStation service..." +msgstr "" + +msgid "CPU Settings" +msgstr "" + +msgid "CPU Boost" +msgstr "" + +msgid "SMT Enabled" +msgstr "" + +msgid "CPU Cores" +msgstr "" + +msgid "GPU Settings" +msgstr "" + +msgid "TDP Boost" +msgstr "" + +msgid "Manual Freq" +msgstr "" + +msgid "Min Freq" +msgstr "" + +msgid "Max Freq" +msgstr "" + +msgid "GPU Temp Limit" +msgstr "" + +msgid "Power Profile" +msgstr "" + +msgid "Thermal Throttle Profile" +msgstr "" + +# Power Menu +msgid "Suspend" +msgstr "" + +msgid "Reboot" +msgstr "" + +msgid "Shutdown" +msgstr "" diff --git a/core/ui/card_ui/card_ui.gd b/core/ui/card_ui/card_ui.gd index 9708035a..816b162f 100644 --- a/core/ui/card_ui/card_ui.gd +++ b/core/ui/card_ui/card_ui.gd @@ -56,6 +56,10 @@ func _ready() -> void: fade_texture.visible = true boot_video.finished.connect(_on_boot_video_player_finished) + # Configure the locale + var locale := settings_manager.get_value("general", "locale", "en_US") as String + TranslationServer.set_locale(locale) + # Load any platform-specific logic platform.load(get_tree().get_root()) diff --git a/core/ui/card_ui/home/cardui_home.tscn b/core/ui/card_ui/home/cardui_home.tscn index 6cfddef1..be4aeb2a 100644 --- a/core/ui/card_ui/home/cardui_home.tscn +++ b/core/ui/card_ui/home/cardui_home.tscn @@ -5,9 +5,9 @@ [ext_resource type="Resource" uid="uid://oaavalv0wcoa" path="res://assets/state/states/home.tres" id="3_x1rvr"] [ext_resource type="Resource" uid="uid://bmgs1ngma1523" path="res://assets/state/states/in_game_menu.tres" id="4_d0dnr"] [ext_resource type="Resource" uid="uid://e7bbebwf7guj" path="res://assets/state/states/main_menu.tres" id="5_gbh30"] -[ext_resource type="Resource" uid="uid://bp807nlks8eq1" path="res://assets/state/states/quick_bar.tres" id="6_jlesr"] +[ext_resource type="Resource" uid="uid://bp807nlks8eq1" path="res://assets/state/states/quick_bar_menu.tres" id="6_jlesr"] [ext_resource type="Resource" uid="uid://dja3m1mevv6xw" path="res://assets/state/states/osk.tres" id="7_ao7st"] -[ext_resource type="Resource" uid="uid://bfoequ6xb7csn" path="res://assets/state/states/overlay_button_submenu.tres" id="8_dx6pe"] +[ext_resource type="Resource" uid="uid://bfoequ6xb7csn" path="res://assets/state/states/quick_bar_button_submenu.tres" id="8_dx6pe"] [ext_resource type="Resource" uid="uid://bw0mtk7sso8m2" path="res://assets/state/states/power_menu.tres" id="9_kvuqp"] [ext_resource type="Texture2D" uid="uid://d1mksukdkqorr" path="res://assets/images/placeholder-grid-banner.png" id="10_mmfgs"] [ext_resource type="PackedScene" uid="uid://rosd00fxjrs8" path="res://core/ui/components/library_banner.tscn" id="11_16gcd"] diff --git a/core/ui/card_ui/launch/game_launch_menu.tscn b/core/ui/card_ui/launch/game_launch_menu.tscn index df661190..498e850a 100644 --- a/core/ui/card_ui/launch/game_launch_menu.tscn +++ b/core/ui/card_ui/launch/game_launch_menu.tscn @@ -8,7 +8,7 @@ [ext_resource type="Resource" uid="uid://e7bbebwf7guj" path="res://assets/state/states/main_menu.tres" id="4_le731"] [ext_resource type="Texture2D" uid="uid://bec6fhiswf6ve" path="res://assets/ui/icons/gamepad-bold.svg" id="5_ewj68"] [ext_resource type="Resource" uid="uid://bmgs1ngma1523" path="res://assets/state/states/in_game_menu.tres" id="5_tdidy"] -[ext_resource type="Resource" uid="uid://bp807nlks8eq1" path="res://assets/state/states/quick_bar.tres" id="6_gnrnf"] +[ext_resource type="Resource" uid="uid://bp807nlks8eq1" path="res://assets/state/states/quick_bar_menu.tres" id="6_gnrnf"] [ext_resource type="Resource" uid="uid://dja3m1mevv6xw" path="res://assets/state/states/osk.tres" id="7_qt0bt"] [ext_resource type="Resource" uid="uid://bw0mtk7sso8m2" path="res://assets/state/states/power_menu.tres" id="8_3e46i"] [ext_resource type="PackedScene" uid="uid://ccd4sw84h1qbc" path="res://core/systems/input/back_input_handler.tscn" id="9_hnl5c"] diff --git a/core/ui/card_ui/ootbe/language_select.gd b/core/ui/card_ui/ootbe/language_select.gd index adbb09a2..9c98c5ce 100644 --- a/core/ui/card_ui/ootbe/language_select.gd +++ b/core/ui/card_ui/ootbe/language_select.gd @@ -1,6 +1,32 @@ extends MarginContainer +var state_updater_scene := load("res://core/systems/state/state_updater.tscn") as PackedScene +var button_scene := load("res://core/ui/components/card_button.tscn") as PackedScene +@onready var button_container := %VBoxContainer # Called when the node enters the scene tree for the first time. func _ready() -> void: - pass + # Delete the old buttons + for child in button_container.get_children(): + if child is CardButton: + child.queue_free() + + # Create a button for each locale + for locale in TranslationServer.get_loaded_locales(): + var language := locale.split("_")[0] + var language_name := TranslationServer.get_language_name(language) + + # Configure a state updater to change menu states when the button is pressed + var state_updater := state_updater_scene.instantiate() as StateUpdater + state_updater.state_machine = load("res://assets/state/state_machines/first_boot_state_machine.tres") + state_updater.state = load("res://assets/state/states/first_boot_network.tres") + state_updater.action = state_updater.ACTION.REPLACE + state_updater.on_signal = "button_up" + + # Create the button and set the language name + var button := button_scene.instantiate() as CardButton + button.text = language_name + button.add_child(state_updater) + + # Add the button to the scene + button_container.add_child(button) diff --git a/core/ui/card_ui/ootbe/language_select.tscn b/core/ui/card_ui/ootbe/language_select.tscn index 7ef69770..9019db65 100644 --- a/core/ui/card_ui/ootbe/language_select.tscn +++ b/core/ui/card_ui/ootbe/language_select.tscn @@ -80,6 +80,7 @@ theme_override_constants/margin_right = 40 theme_override_constants/margin_bottom = 80 [node name="VBoxContainer" type="VBoxContainer" parent="HBoxContainer/ScrollContainer/MarginContainer"] +unique_name_in_owner = true layout_mode = 2 alignment = 1 diff --git a/core/ui/card_ui/ootbe/plugin_setup.tscn b/core/ui/card_ui/ootbe/plugin_setup.tscn index 11094127..e56e7527 100644 --- a/core/ui/card_ui/ootbe/plugin_setup.tscn +++ b/core/ui/card_ui/ootbe/plugin_setup.tscn @@ -66,9 +66,8 @@ layout_mode = 2 theme_override_constants/separation = 40 alignment = 1 -[node name="FocusGroup" parent="HBoxContainer/MarginContainer/VBoxContainer" node_paths=PackedStringArray("current_focus") instance=ExtResource("4_bqgae")] +[node name="FocusGroup" parent="HBoxContainer/MarginContainer/VBoxContainer" instance=ExtResource("4_bqgae")] unique_name_in_owner = true -current_focus = NodePath("") [node name="Spacer" type="Control" parent="HBoxContainer/MarginContainer/VBoxContainer"] layout_mode = 2 diff --git a/core/ui/card_ui/settings/general_settings_menu.gd b/core/ui/card_ui/settings/general_settings_menu.gd index febc1ca2..45b63d3c 100644 --- a/core/ui/card_ui/settings/general_settings_menu.gd +++ b/core/ui/card_ui/settings/general_settings_menu.gd @@ -32,6 +32,7 @@ var logger := Log.get_logger("GeneralSettings") @onready var driver_text := $%GPUDriverText as SelectableText @onready var kernel_text := $%KernelVerText as SelectableText @onready var bios_text := $%BIOSVerText as SelectableText +@onready var lang_dropdown := $%LanguageDropdown as Dropdown # Called when the node enters the scene tree for the first time. @@ -111,6 +112,29 @@ func _ready() -> void: if auto_update: update_timer.start() + # Configure the language dropdown + var current_locale := SettingsManager.get_value("general", "locale", "en_US") as String + lang_dropdown.clear() + # E.g. ["en_US", "es_MX"] + var i := 0 + for locale in TranslationServer.get_loaded_locales(): + var language := locale.split("_")[0] + var language_name := TranslationServer.get_language_name(language) + lang_dropdown.add_item(language_name) + lang_dropdown.option_button.set_item_metadata(i, locale) + if locale == current_locale: + lang_dropdown.select(i) + i += 1 + + # Update the locale when it is changed + var on_language_change := func(idx: int) -> void: + var locale := lang_dropdown.option_button.get_item_metadata(idx) as String + var language_name := lang_dropdown.option_button.get_item_text(idx) + logger.info("Setting language to: " + locale) + TranslationServer.set_locale(locale) + SettingsManager.set_value("general", "locale", locale) + lang_dropdown.item_selected.connect(on_language_change) + # Looks for user defined themes and creates buttons to select those themes func _add_user_themes() -> void: diff --git a/core/ui/card_ui/settings/general_settings_menu.tscn b/core/ui/card_ui/settings/general_settings_menu.tscn index 6024b34b..0cd888eb 100644 --- a/core/ui/card_ui/settings/general_settings_menu.tscn +++ b/core/ui/card_ui/settings/general_settings_menu.tscn @@ -1,4 +1,4 @@ -[gd_scene load_steps=16 format=3 uid="uid://dsgrw1grwef4m"] +[gd_scene load_steps=17 format=3 uid="uid://dsgrw1grwef4m"] [ext_resource type="Script" path="res://core/ui/card_ui/settings/general_settings_menu.gd" id="1_if7xt"] [ext_resource type="PackedScene" uid="uid://bnhxravpuheh2" path="res://core/systems/updater/software_updater.tscn" id="2_ogwq4"] @@ -9,6 +9,7 @@ [ext_resource type="PackedScene" uid="uid://c71ayw7pcw6u6" path="res://core/ui/components/card_button.tscn" id="7_qenel"] [ext_resource type="PackedScene" uid="uid://d0u3rsa5qpj57" path="res://core/ui/components/subsection_label.tscn" id="8_2m3jw"] [ext_resource type="PackedScene" uid="uid://cemxrvvjgm4g" path="res://core/ui/components/slider.tscn" id="8_58mcr"] +[ext_resource type="PackedScene" uid="uid://xei5afwefxud" path="res://core/ui/components/dropdown.tscn" id="8_r15pa"] [ext_resource type="Texture2D" uid="uid://ckbrrln8fngno" path="res://assets/images/platform/ayaneoair-ctr_v1a_1172023.png" id="9_00g0t"] [ext_resource type="PackedScene" uid="uid://c6dpw6swmcbw6" path="res://core/systems/user_interface/theme_setter.tscn" id="9_bci6g"] [ext_resource type="PackedScene" uid="uid://cmjjyqx1pl23d" path="res://core/ui/components/text.tscn" id="9_sq2rc"] @@ -92,6 +93,12 @@ layout_mode = 2 layout_mode = 2 text = "Appearance" +[node name="LanguageDropdown" parent="MarginContainer/VBoxContainer/VBoxContainer" instance=ExtResource("8_r15pa")] +unique_name_in_owner = true +layout_mode = 2 +title = "Language" +description = "System language" + [node name="ThemeLabel" parent="MarginContainer/VBoxContainer/VBoxContainer" instance=ExtResource("8_2m3jw")] layout_mode = 2 text = "Theme" diff --git a/core/ui/card_ui/settings/settings_menu.tscn b/core/ui/card_ui/settings/settings_menu.tscn index cdeb1202..8146c464 100644 --- a/core/ui/card_ui/settings/settings_menu.tscn +++ b/core/ui/card_ui/settings/settings_menu.tscn @@ -373,6 +373,9 @@ theme_override_constants/margin_bottom = 5 [node name="GeneralSettings" parent="MarginContainer/HBoxContainer/ContentContainer/VBoxContainer/ContentContainer/MarginContainer" instance=ExtResource("29_8hwjo")] layout_mode = 2 +[node name="AutoUpdateToggle" parent="MarginContainer/HBoxContainer/ContentContainer/VBoxContainer/ContentContainer/MarginContainer/GeneralSettings/MarginContainer/VBoxContainer/VBoxContainer" index="2"] +button_pressed = true + [node name="VisibilityManager" parent="MarginContainer/HBoxContainer/ContentContainer/VBoxContainer/ContentContainer/MarginContainer/GeneralSettings" instance=ExtResource("2_xwevg")] state_machine = ExtResource("15_cb33u") state = ExtResource("16_sfk74") @@ -403,6 +406,12 @@ state = ExtResource("19_l8vuu") visible = false layout_mode = 2 +[node name="EnableToggle" parent="MarginContainer/HBoxContainer/ContentContainer/VBoxContainer/ContentContainer/MarginContainer/BluetoothSettingsMenu/MarginContainer/ScrollContainer/AvailableContainer/VBoxContainer" index="1"] +button_pressed = true + +[node name="DiscoverToggle" parent="MarginContainer/HBoxContainer/ContentContainer/VBoxContainer/ContentContainer/MarginContainer/BluetoothSettingsMenu/MarginContainer/ScrollContainer/AvailableContainer/VBoxContainer" index="2"] +button_pressed = true + [node name="VisibilityManager" parent="MarginContainer/HBoxContainer/ContentContainer/VBoxContainer/ContentContainer/MarginContainer/BluetoothSettingsMenu" instance=ExtResource("2_xwevg")] state_machine = ExtResource("15_cb33u") state = ExtResource("21_cbayw") @@ -451,6 +460,9 @@ state = ExtResource("25_nijem") visible = false layout_mode = 2 +[node name="SDLHIDAPIToggle" parent="MarginContainer/HBoxContainer/ContentContainer/VBoxContainer/ContentContainer/MarginContainer/GeneralControllerSettings/MarginContainer/VBoxContainer" index="1"] +button_pressed = true + [editable path="MarginContainer/HBoxContainer/ContentContainer/VBoxContainer/ContentContainer/MarginContainer/GeneralSettings"] [editable path="MarginContainer/HBoxContainer/ContentContainer/VBoxContainer/ContentContainer/MarginContainer/DisplaySettings"] [editable path="MarginContainer/HBoxContainer/ContentContainer/VBoxContainer/ContentContainer/MarginContainer/NetworkSettings"] diff --git a/core/ui/components/expandable_card.tscn b/core/ui/components/expandable_card.tscn index 8ce60dfd..c9e276f5 100644 --- a/core/ui/components/expandable_card.tscn +++ b/core/ui/components/expandable_card.tscn @@ -7,13 +7,17 @@ [ext_resource type="PackedScene" uid="uid://uljtdvmuol3l" path="res://core/systems/input/focus_group_setter.tscn" id="5_3aqkt"] [ext_resource type="PackedScene" uid="uid://d0u3rsa5qpj57" path="res://core/ui/components/subsection_label.tscn" id="6_cxawo"] -[sub_resource type="Gradient" id="Gradient_2e33l"] -colors = PackedColorArray(0.741176, 0.576471, 0.976471, 1, 1, 0.47451, 0.776471, 1) - -[sub_resource type="GradientTexture2D" id="GradientTexture2D_quvnw"] -gradient = SubResource("Gradient_2e33l") -fill = 1 -fill_to = Vector2(1, 2) +[sub_resource type="Image" id="Image_8d0cj"] +data = { +"data": PackedByteArray(255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 255, 255, 0, 255, 94, 94, 127, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 255, 255, 0, 255, 93, 93, 255, 255, 94, 94, 127, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 255, 255, 0, 255, 93, 93, 255, 255, 93, 93, 255, 255, 94, 94, 127, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 255, 255, 0, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 94, 94, 127, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 93, 93, 231, 255, 94, 94, 54, 255, 94, 94, 57, 255, 93, 93, 233, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 231, 255, 94, 94, 54, 255, 94, 94, 57, 255, 93, 93, 233, 255, 93, 93, 255, 255, 93, 93, 255, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 97, 97, 42, 255, 255, 255, 0, 255, 255, 255, 0, 255, 97, 97, 42, 255, 93, 93, 233, 255, 93, 93, 232, 255, 93, 93, 41, 255, 255, 255, 0, 255, 255, 255, 0, 255, 97, 97, 42, 255, 93, 93, 233, 255, 93, 93, 232, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 96, 96, 45, 255, 93, 93, 44, 255, 255, 255, 0, 255, 97, 97, 42, 255, 97, 97, 42, 255, 255, 255, 0, 255, 96, 96, 45, 255, 93, 93, 44, 255, 255, 255, 0, 255, 97, 97, 42, 255, 97, 97, 42, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 96, 96, 45, 255, 93, 93, 235, 255, 94, 94, 234, 255, 95, 95, 43, 255, 255, 255, 0, 255, 255, 255, 0, 255, 96, 96, 45, 255, 93, 93, 235, 255, 94, 94, 234, 255, 95, 95, 43, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 93, 93, 235, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 233, 255, 95, 95, 59, 255, 96, 96, 61, 255, 93, 93, 235, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 233, 255, 95, 95, 59, 255, 96, 96, 61, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0), +"format": "RGBA8", +"height": 16, +"mipmaps": false, +"width": 16 +} + +[sub_resource type="ImageTexture" id="ImageTexture_eyfhf"] +image = SubResource("Image_8d0cj") [node name="ExpandableCard" type="PanelContainer"] clip_children = 2 @@ -57,7 +61,7 @@ on_signal = "effect_finished" unique_name_in_owner = true visible = false layout_mode = 2 -texture = SubResource("GradientTexture2D_quvnw") +texture = SubResource("ImageTexture_eyfhf") expand_mode = 1 stretch_mode = 6 diff --git a/project.godot b/project.godot index 3300aef5..7fe9cecb 100644 --- a/project.godot +++ b/project.godot @@ -20,7 +20,7 @@ config/name="Open Gamepad UI" run/main_scene="res://entrypoint.tscn" config/use_custom_user_dir=true config/custom_user_dir_name="opengamepadui" -config/features=PackedStringArray("4.2", "Forward Plus") +config/features=PackedStringArray("4.1", "Forward Plus") run/low_processor_mode=true boot_splash/bg_color=Color(0, 0, 0, 0) boot_splash/show_image=false @@ -210,6 +210,11 @@ ogui_volume_mute={ pointing/emulate_touch_from_mouse=true +[internationalization] + +locale/translations=PackedStringArray("res://assets/locale/en_US.po", "res://assets/locale/es_MX.po", "res://assets/locale/fr_FR.po") +locale/fallback="en_US" + [rendering] renderer/rendering_method="gl_compatibility"