From 35e7c80835866575ea1d8f725f8c07183753e49b Mon Sep 17 00:00:00 2001 From: Marco Rodolfi Date: Tue, 2 May 2023 17:42:39 +0200 Subject: [Feature] Implement internazionalization for Decky Loader (#361) * First iteration for internationalization of the loader * First iteration for internationalization of the loader * Cleanup node mess * Cleanup node mess pt2 * Additional touches * Latest decky changed merged into i18n and updated translation. * Styling fixes * Initial backend hosting implementation * Added correct url path of the loopback server. * Added correct url path of the loopback server. * Some better namespaced text. * Added whitelist for locales path. * Refactor languages and fix hooks logic bugs. * Small typo in language translation structure. * Working backend, automatically swtich languages with steam and language fixes. * Fix to languages * Key fixes * Additional language fixes. * Additional json changes * Final text revision and added a vscode tasks to automatically extract text from code. * Typo in the middleware * Remove unused imports * Cleanup whitespaces. * Import changes * Revert "Import changes" This reverts commit 8e8231950fd7cc6cece87040e326d0a72ba79567. * Update index.d.ts * Clean up unused imports * Delete pnpm-lock.yaml * Update rollup.config.js * Update PluginInstallModal.tsx * Update index.tsx * Update plugin-loader.tsx * Update plugin-loader.tsx * Revert "Delete pnpm-lock.yaml" This reverts commit 3a39f36f2193cc976d36ffe07338239e363d5b04. * Additional strings reworks. * Fixes for issues coming from github merge. * Fixes for master * Styling fixes * Styling pt2 * Missed a few strings in master, * Styling fixes * Additional master merge fixes. * Final cleanup and adaptation to master. * Final empty language cleanup and few string added * Small changes to italian translation * Disabled translation on a few components inside plugin-loader for missing react hooks. * Fixed passing tag to translation. * Disable debug output for reducing console spam. * Return correct content type * Small italian language change * Added support for country code * Fixed missing translation for uninstall popup. * Fix class name shenanigans for toast notification * Update dependencies * Fixed github workflow to include the new locales folder * Update dependencies to latest version (unless it's React) and fixed the new small errors that cropped up * Missed a file name change * Updated dev dependencies to latest version * Missed a few dev dependencies * Revert "Update dependencies to latest version (unless it's React) and fixed the new small errors that cropped up" Messed up merge with a different main branch * Messed up deletion of rollup config. * Fix broken pnpm lock file * Missed a localized string during the merge * Fixed a parameter mistake in the uninstall text parameter * Fix pnpm random issues * Small italian language tweaks * Fix wrong parameter passed to the uninstall function call * Another fix on a wrong function parameter * Additional translation text on the store and branch selection channels * Changed the default type passed to map to being able to index the two arrays. * Reverted and reworked the last changes * Distinguish events in UI for installing vs reinstalling plugins * Additional fixes for reinstall prompt * Revert the use of intevalPlural since the parser doesn't seem to support that. * Missed a routing path in the backend * Small bugfixes * Small fixes * Correctly adding the parameter to the request headers. * Refactoring of the UI popup modal * Fix pnpm shenanigans * Final fixes for the install UI localization * Clean up unnedeed backend code * Small rework on text selection. * Cleaned up parser configuration * Removed extracttext dependency to pnpmsetup * Merged translation and cleaned up parser * Fixed JSON structure after manual merge. * Added translation to the file picker * Revert changes to PluginInstallModal * Reworked the text modal for the final time * Missed the proper linted text * Missed the backend change * Final branch cleanup * Fixed small translation bleeding Caused from the manual merge of _old.json files. * fix extra space in browser.py * fix extra newline in plugin-loader.tsx * Cleanup i18next-parser.config.mjs * Update plugin-loader.tsx * Cleanup language files * Better labeling of text * Fixed language typos in BranchSelect * Fixed language typos in StoreSelect * Cleanup plugin-loader.tsx from unused imports * Removed the path bypass since I'm using authentication from the frontend. * Reimplemented this component as a functional component. * Updated dependencies and lockfile * Removed static route from main.py Already handled in loader.py * Small italian coherency fixes * Fix small typography fixes on plugin name uninstall * Fixed italian typo on removal popup * Reenabled manual escaping value in i18next * Set to fallback to the default language if the string in the JSON file is empty. * Fixed pnpm wankery * Added a missed italian text translation string --------- Co-authored-by: AAGaming --- backend/locales/it-IT.json | 184 +++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 184 insertions(+) create mode 100644 backend/locales/it-IT.json (limited to 'backend/locales/it-IT.json') diff --git a/backend/locales/it-IT.json b/backend/locales/it-IT.json new file mode 100644 index 00000000..e6f6625c --- /dev/null +++ b/backend/locales/it-IT.json @@ -0,0 +1,184 @@ +{ + "BranchSelect": { + "update_channel": { + "label": "Canale di aggiornamento", + "prerelease": "Prerilascio", + "stable": "Stabile", + "testing": "In prova" + } + }, + "Developer": { + "5secreload": "Ricaricando in 5 secondi", + "disabling": "Disabilitando", + "enabling": "Abilitando" + }, + "FilePickerIndex": { + "folder": { + "select": "Usa questa cartella" + } + }, + "PluginCard": { + "plugin_full_access": "Questo plugin ha accesso completo al tuo Steam Deck.", + "plugin_install": "Installa", + "plugin_no_desc": "Nessuna descrizione fornita.", + "plugin_version_label": "Versione Plugin" + }, + "PluginInstallModal": { + "install": { + "button_idle": "Installa", + "button_processing": "Installando", + "desc": "Sei sicuro di voler installare {{artifact}} {{version}}?", + "title": "Installa {{artifact}}" + }, + "no_hash": "Questo plugin non ha un hash associato, lo stai installando a tuo rischio e pericolo.", + "reinstall": { + "button_idle": "Reinstalla", + "button_processing": "Reinstallando", + "desc": "Sei sicuro di voler reinstallare {{artifact}} {{version}}?", + "title": "Reinstalla {{artifact}}" + }, + "update": { + "button_idle": "Aggiorna", + "button_processing": "Aggiornando", + "desc": "Sei sicuro di voler aggiornare {{artifact}} {{version}}?", + "title": "Aggiorna {{artifact}}" + } + }, + "PluginListIndex": { + "no_plugin": "Nessun plugin installato!", + "plugin_actions": "Operazioni sui plugins", + "reinstall": "Reinstalla", + "reload": "Ricarica", + "uninstall": "Rimuovi", + "update_to": "Aggiorna a {{name}}" + }, + "PluginLoader": { + "decky_title": "Decky", + "decky_update_available": "Disponibile aggiornamento a {{tag_name}}!", + "error": "Errore", + "plugin_error_uninstall": "Per rimuovere questo plugin vai su {{-icon}} nel menu di Decky.", + "plugin_load_error": { + "message": "Errore caricando il plugin {{name}}", + "toast": "Errore caricando {{name}}" + }, + "plugin_uninstall": { + "button": "Rimuovi", + "desc": "Sei sicuro di voler rimuovere {{name}}?", + "title": "Rimuovi {{name}}" + }, + "plugin_update_one": "Aggiornamento disponibile per un plugin!", + "plugin_update_many": "Aggiornamento disponibile per {{count}} plugins!", + "plugin_update_other": "Aggiornamento disponibile per {{count}} plugins!" + }, + "RemoteDebugging": { + "remote_cef": { + "desc": "Permetti l'accesso non autenticato al debugger di CEF da tutti gli indirizzi sulla tua rete locale.", + "label": "Permetti il debug remoto di CEF" + } + }, + "SettingsDeveloperIndex": { + "header_other": "Altro", + "react_devtools": { + "desc": "Abilita la connessione ad un computer che esegue i DevTools di React. Cambiando questa impostazione ricaricherà Steam. Imposta l'indirizzo IP prima di abilitarlo.", + "ip_label": "IP", + "label": "Abilita i DevTools di React" + }, + "third_party_plugins": { + "button_install": "Installa", + "button_zip": "Seleziona", + "header": "Plugin di terze parti", + "label_desc": "URL", + "label_url": "Installa plugin da un'indirizzo web", + "label_zip": "Installa plugin da un file ZIP" + }, + "toast_zip": { + "body": "Installazione non riuscita, solo i file ZIP sono supportati!", + "title": "Decky" + }, + "valve_internal": { + "desc1": "Abilita il menu di sviluppo interno di Valve.", + "desc2": "Non toccare nulla in questo menu se non sai quello che fa.", + "label": "Abilita Menu Sviluppatore" + } + }, + "SettingsGeneralIndex": { + "about": { + "decky_version": "Versione di Decky", + "header": "Riguardo a" + }, + "beta": { + "header": "Partecipazione alla beta" + }, + "developer_mode": { + "desc": "Abilità le impostazioni di sviluppo di Decky.", + "label": "Modalità sviluppatore" + }, + "other": { + "header": "Altro" + }, + "updates": { + "header": "Aggiornamenti" + } + }, + "SettingsIndex": { + "developer_title": "Sviluppatore", + "general_title": "Generali", + "navbar_settings": "Impostazioni Decky", + "plugins_title": "Plugins" + }, + "Store": { + "store_contrib": { + "desc": "Se desideri contribuire allo store di Decky, puoi trovare un template caricato su GitHub all'indirizzo SteamDeckHomebrew/decky-plugin-template. Informazioni riguardo sviluppo e distribuzione sono disponibili nel README.", + "label": "Contribuisci" + }, + "store_filter": { + "label": "Filtra", + "label_def": "Tutto" + }, + "store_search": { + "label": "Cerca" + }, + "store_sort": { + "label": "Ordina", + "label_def": "Ultimo aggiornato (Più recente)" + }, + "store_source": { + "desc": "Tutto il codice sorgente dei plugin è disponibile su GitHub all'indirizzo SteamDeckHomebrew/decky-plugin-database", + "label": "Codice Sorgente" + }, + "store_tabs": { + "about": "Riguardo a", + "alph_asce": "Alfabetico (Z a A)", + "alph_desc": "Alfabetico (A a Z)", + "title": "Sfoglia" + }, + "store_testing_cta": "Valuta la possibilità di testare nuovi plugin per aiutare il team di Decky Loader!" + }, + "StoreSelect": { + "custom_store": { + "label": "Negozio custom", + "url_label": "URL" + }, + "store_channel": { + "custom": "Personalizzato", + "default": "Default", + "label": "Canale del negozio", + "testing": "In prova" + } + }, + "Updater": { + "decky_updates": "Aggiornamento di Decky", + "no_patch_notes_desc": "nessuna patch notes per questa versione", + "patch_notes_desc": "Cambiamenti", + "updates": { + "check_button": "Cerca aggiornamenti", + "checking": "Controllando", + "cur_version": "Versione attuale: {{ver}}", + "install_button": "Installa aggiornamento", + "label": "Aggiornamenti", + "lat_version": "Aggiornato. Eseguendo {{ver}}", + "reloading": "Ricaricando", + "updating": "Aggiornando" + } + } +} -- cgit v1.2.3