From c8ae2a787225b0eefb6ca98a9c77503393c2beac Mon Sep 17 00:00:00 2001 From: Yorunokyujitsu <164279972+Yorunokyujitsu@users.noreply.github.com> Date: Sun, 22 Dec 2024 01:49:48 +0900 Subject: [PATCH] Almost all strings for translation. (#32) * Almost all strings for translation * Remove nonexistent strings. --------- Co-authored-by: ITotalJustice <47043333+ITotalJustice@users.noreply.github.com> --- assets/romfs/i18n/de.json | 214 +++++++++++----- assets/romfs/i18n/en.json | 320 +++++++++++++++--------- assets/romfs/i18n/es.json | 214 +++++++++++----- assets/romfs/i18n/fr.json | 214 +++++++++++----- assets/romfs/i18n/it.json | 214 +++++++++++----- assets/romfs/i18n/ja.json | 224 ++++++++++++----- assets/romfs/i18n/ko.json | 210 +++++++++++----- assets/romfs/i18n/nl.json | 214 +++++++++++----- assets/romfs/i18n/pt.json | 214 +++++++++++----- assets/romfs/i18n/ru.json | 214 +++++++++++----- assets/romfs/i18n/zh.json | 217 +++++++++++----- sphaira/source/app.cpp | 14 +- sphaira/source/owo.cpp | 15 +- sphaira/source/ui/menus/appstore.cpp | 24 +- sphaira/source/ui/menus/file_viewer.cpp | 3 +- sphaira/source/ui/menus/filebrowser.cpp | 44 ++-- sphaira/source/ui/menus/homebrew.cpp | 2 +- sphaira/source/ui/menus/irs_menu.cpp | 2 +- sphaira/source/ui/menus/main_menu.cpp | 27 +- sphaira/source/ui/menus/themezer.cpp | 14 +- sphaira/source/ui/option_list.cpp | 5 +- sphaira/source/ui/popup_list.cpp | 5 +- sphaira/source/ui/progress_box.cpp | 5 +- sphaira/source/ui/sidebar.cpp | 9 +- 24 files changed, 1839 insertions(+), 799 deletions(-) diff --git a/assets/romfs/i18n/de.json b/assets/romfs/i18n/de.json index e991e62..02cc5b9 100644 --- a/assets/romfs/i18n/de.json +++ b/assets/romfs/i18n/de.json @@ -1,114 +1,208 @@ { - "Launch": "Start", + "[Applet Mode]": "[Applet-Modus]", + "No Internet": "Kein Internet", + "Fs": "Fs", + "App": "App", + "Menu": "Menu", "Options": "Optionen", - "Homebrew Options": "Homebrew-Optionen", + "OK": "", + "Back": "Zurück", + "Select": "", + "Open": "Öffnen", + "Launch": "Start", + "Info": "Info", + "Install": "Installieren", + "Delete": "Löschen", + "Changelog": "", + "Details": "", + "Update": "", + "Remove": "", + "Download": "Herunterladen", + "Next Page": "Nächste Seite", + "Prev Page": "Vorherige Seite", + "Yes": "Ja", + "No": "Nein", + "Enabled": "Aktiviert", + "Disabled": "Deaktiviert", + "Sort By": "Sortieren nach", "Sort Options": "Sortieroptionen", + "Filter": "Filter", + "Sort": "Sortieren", + "Order": "Befehl", + "Search": "Suchen", "Updated": "Aktualisiert", + "Downloads": "Downloads", "Size": "Größe", "Alphabetical": "Alphabetisch", + "Likes": "", + "ID": "", "Decending": "Absteigend", + "Descending (down)": "Absteigend", + "Desc": "Absteigend", "Ascending": "Aufsteigend", - "Sort": "Sortieren", - "Order": "Befehl", - "Info": "Info", - "Delete": "Löschen", - "Hide Sphaira": "Sphaira verstecken", - "Are you sure you want to delete ": "Mit dem Löschvorgang fortfahren?", - "Install Forwarder": "Forwarder installieren", - "WARNING: Installing forwarders will lead to a ban!": "ACHTUNG: Die Installation von Forwardern führt zu einem Ban!", - "Back": "Zurück", - "Install": "Installieren", - "Fs": "Fs", - "App": "App", - "Menu": "Menu", - "Homebrew": "Homebrew", - "FileBrowser": "DateiBrowser", - "Open": "Öffnen", + "Ascending (Up)": "Aufsteigend", + "Asc": "Aufsteigend", + + "Menu Options": "Menüoptionen", + "Header": "Header", + "Theme": "Theme", "Theme Options": "Themenoptionen", "Select Theme": "Wählen Sie Theme aus", "Shuffle": "Shuffle", "Music": "Musik", - "Show Hidden": "Versteckte anzeigen", - "Folders First": "Ordner zuerst", - "Hidden Last": "Zuletzt versteckt", - "Yes": "Ja", - "No": "Nein", + "Network": "Netzwerk", "Network Options": "Netzwerkoptionen", "Nxlink": "Nxlink", - "Check for update": "Nach Updates suchen", + "Nxlink Connected": "", + "Nxlink Upload": "", + "Nxlink Finished": "", + "Language": "Sprache", + "Auto": "", + "English": "English", + "Japanese": "日本語", + "French": "Français", + "German": "Deutsch", + "Italian": "Italiano", + "Spanish": "Español", + "Chinese": "中文", + "Korean": "한국어", + "Dutch": "Dutch", + "Portuguese": "Português", + "Russian": "Русский", + "Logging": "Logging", + "Replace hbmenu on exit": "Ersetzen Sie hbmenu beim Beenden", + "Misc": "Sonstiges", + "Misc Options": "Verschiedene Optionen", + "Web": "Web", + + "FileBrowser": "DateiBrowser", + "%zd files": "%zd files", + "%zd dirs": "%zd dirs", "File Options": "Dateioptionen", + "Show Hidden": "Versteckte anzeigen", + "Folders First": "Ordner zuerst", + "Hidden Last": "Zuletzt versteckt", "Cut": "Ausschneiden", "Copy": "Kopieren", + "Paste": "", + "Paste ": "", + " file(s)?": "", "Rename": "Umbenennen", + "Set New File Name": "", + "Advanced": "Erweitert", "Advanced Options": "Erweiterte Optionen", "Create File": "Datei erstellen", + "Set File Name": "", "Create Folder": "Ordner erstellen", - "View as text": "Als Text anzeigen", + "Set Folder Name": "", "View as text (unfinished)": "Als Text anzeigen (unfertig)", "Set Archive Bit": "Archivbit setzen", + "Warning! Setting the archive bit cannot be undone!": "", + "Empty...": "", + "Open with DayBreak?": "", + "Launch option for: ": "", + + "Homebrew": "Homebrew", + "Homebrew Options": "Homebrew-Optionen", + "Hide Sphaira": "Sphaira verstecken", + "Install Forwarder": "Forwarder installieren", + "WARNING: Installing forwarders will lead to a ban!": "ACHTUNG: Die Installation von Forwardern führt zu einem Ban!", + "Installing Forwarder": "", + "Creating Program": "", + "Creating Control": "", + "Creating Meta": "", + "Writing Nca": "", + "Updating ncm databse": "", + "Pushing application record": "", + "Installed!": "", + "Failed to install forwarder": "", + + "AppStore": "", + "Filter: %s | Sort: %s | Order: %s": "Filter: %s | Sortieren: %s | Befehl: %s", "AppStore Options": "AppStore-Optionen", "All": "Alle", "Games": "Spiele", "Emulators": "Emulatoren", "Tools": "Werkzeuge", - "Advanced": "Erweitert", "Themes": "Themes", "Legacy": "Legacy", - "Misc": "Sonstiges", - "Downloads": "Downloads", - "Filter": "Filter", - "Search": "Suchen", - "Menu Options": "Menüoptionen", - "Header": "Header", - "Theme": "Theme", - "Network": "Netzwerk", - "Logging": "Logging", - "Enabled": "Aktiviert", - "Disabled": "Deaktiviert", - "Replace hbmenu on exit": "Ersetzen Sie hbmenu beim Beenden", - "Misc Options": "Verschiedene Optionen", - "Themezer": "Themezer", + "version: %s": "version: %s", + "updated: %s": "updated: %s", + "category: %s": "category: %s", + "extracted: %.2f MiB": "extracted: %.2f MiB", + "app_dls: %s": "app_dls: %s", + "More by Author": "", + "Leave Feedback": "", + "Irs": "Irs", - "Web": "Web", - "Download": "Herunterladen", - "Next Page": "Nächste Seite", - "Prev Page": "Vorherige Seite", + "Ambient Noise Level: ": "", + "Controller": "Controller", "Pad ": "Unterlage ", + " (Available)": " (Verfügbar)", " (Unconnected)": " (Nicht verbunden)", "HandHeld": "Handheld", - " (Available)": " (Verfügbar)", + "Rotation": "Drehung", "0 (Sideways)": "0 (Seitwärts)", "90 (Flat)": "90 (flach)", "180 (-Sideways)": "180 (-Seitwärts)", "270 (Upside down)": "270 (verkehrt herum)", + "Colour": "Farbe", "Grey": "Grau", "Ironbow": "Eisenbogen", "Green": "Grün", "Red": "Rot", "Blue": "Blau", + "Light Target": "Leichtes Ziel", "All leds": "Alle LEDs", "Bright group": "Helle Gruppe", "Dim group": "Dunkle Gruppe", "None": "Keiner", - "Normal image": "Normales Bild", - "Negative image": "Negatives Bild", - "320x240": "320x240", - "160x120": "160x120", - "80x60": "80x60", - "40x30": "40x30", - "20x15": "20x15", - "Controller": "Controller", - "Rotation": "Drehung", - "Colour": "Farbe", - "Light Target": "Leichtes Ziel", "Gain": "Gain", "Negative Image": "Negatives Bild", + "Normal image": "Normales Bild", + "Negative image": "Negatives Bild", "Format": "Format", + "320x240": "320×240", + "160x120": "160×120", + "80x60": "80×60", + "40x30": "40×30", + "20x15": "20×15", "Trimming Format": "Zuschneideformat", "External Light Filter": "Externer Lichtfilter", "Load Default": "Standardoptionen laden", - "No Internet": "Kein Internet", - "[Applet Mode]": "[Applet-Modus]", - "Language": "Sprache" -} + + "Themezer": "Themezer", + "Themezer Options": "", + "Nsfw": "", + "Page": "", + "Page %zu / %zu": "Page %zu / %zu", + "Enter Page Number": "", + "Bad Page": "", + "Download theme?": "", + + "Installing ": "", + "Uninstalling ": "", + "Deleting ": "", + "Deleting": "", + "Pasting ": "", + "Pasting": "", + "Removing ": "", + "Scanning ": "", + "Creating ": "", + "Copying ": "", + "Downloading ": "", + "Checking MD5": "", + "Loading...": "", + "Loading": "", + "Empty!": "", + "Not Ready...": "", + "Error loading page!": "", + "Update avaliable: ": "", + "Download update: ": "", + "Failed to download update": "", + "Delete Selected files?": "", + "Completely remove ": "", + "Are you sure you want to delete ": "Mit dem Löschvorgang fortfahren?", + "Are you sure you wish to cancel?": "" +} \ No newline at end of file diff --git a/assets/romfs/i18n/en.json b/assets/romfs/i18n/en.json index 49575d0..e0dc5ba 100644 --- a/assets/romfs/i18n/en.json +++ b/assets/romfs/i18n/en.json @@ -1,114 +1,208 @@ { - "Launch" : "Launch", - "Options" : "Options", - "Homebrew Options" : "Homebrew Options", - "Sort By" : "Sort By", - "Sort Options" : "Sort Options", - "Updated" : "Updated", - "Size" : "Size", - "Alphabetical" : "Alphabetical", - "Decending" : "Decending", - "Ascending" : "Ascending", - "Sort" : "Sort", - "Order" : "Order", - "Info" : "Info", - "Delete" : "Delete", - "Hide Sphaira" : "Hide Sphaira", - "Are you sure you want to delete " : "Are you sure you want to delete ", - "Install Forwarder" : "Install Forwarder", - "WARNING: Installing forwarders will lead to a ban!" : "WARNING: Installing forwarders will lead to a ban!", - "Back" : "Back", - "Install" : "Install", - "Fs" : "Fs", - "App" : "App", - "Menu" : "Menu", - "Homebrew" : "Homebrew", - "FileBrowser" : "FileBrowser", - "Open" : "Open", - "Theme Options" : "Theme Options", - "Select Theme" : "Select Theme", - "Shuffle" : "Shuffle", - "Music" : "Music", - "Show Hidden" : "Show Hidden", - "Folders First" : "Folders First", - "Hidden Last" : "Hidden Last", - "Yes" : "Yes", - "No" : "No", - "Network Options" : "Network Options", - "Nxlink" : "Nxlink", - "Check for update" : "Check for update", - "File Options" : "File Options", - "Cut" : "Cut", - "Copy" : "Copy", - "Rename" : "Rename", - "Advanced Options" : "Create File", - "Create File" : "Create File", - "Create Folder" : "Create Folder", - "View as text" : "View as text", - "View as text (unfinished)" : "View as text (unfinished)", - "Set Archive Bit" : "Set Archive Bit", - "AppStore Options" : "AppStore Options", - "All" : "All", - "Games" : "Games", - "Emulators" : "Emulators", - "Tools" : "Tools", - "Advanced" : "Advanced", - "Themes" : "Themes", - "Legacy" : "Legacy", - "Misc" : "Misc", - "Downloads" : "Downloads", - "Filter" : "Filter", - "Search" : "Search", - "Menu Options" : "Menu Options", - "Header" : "Header", - "Theme" : "Theme", - "Network" : "Network", - "Logging" : "Logging", - "Enabled" : "Enabled", - "Disabled" : "Disabled", - "Replace hbmenu on exit" : "Replace hbmenu on exit", - "Misc Options" : "Misc Options", - "Themezer" : "Themezer", - "Irs" : "Irs", - "Web" : "Web", - "Download" : "Download", - "Next Page" : "Next Page", - "Prev Page" : "Prev Page", - "Pad " : "Pad ", - " (Unconnected)" : " (Unconnected)", - "HandHeld" : "HandHeld", - " (Available)" : " (Available)", - "0 (Sideways)" : "0 (Sideways)", - "90 (Flat)" : "90 (Flat)", - "180 (-Sideways)" : "180 (-Sideways)", - "270 (Upside down)" : "270 (Upside down)", - "Grey" : "Grey", - "Ironbow" : "Ironbow", - "Green" : "Green", - "Red" : "Red", - "Blue" : "Blue", - "All leds" : "All leds", - "Bright group" : "Bright group", - "Dim group" : "Dim group", - "None" : "None", - "Normal image" : "Normal image", - "Negative image" : "Negative image", - "320x240" : "320x240", - "160x120" : "160x120", - "80x60" : "80x60", - "40x30" : "40x30", - "20x15" : "20x15", - "Controller" : "Controller", - "Rotation" : "Rotation", - "Colour" : "Colour", - "Light Target" : "Light Target", - "Gain" : "Gain", - "Negative Image" : "Negative Image", - "Format" : "Format", - "Trimming Format" : "Trimming Format", - "External Light Filter" : "External Light Filter", - "Load Default" : "Load Default", - "No Internet" : "No Internet", - "[Applet Mode]" : "[Applet Mode]", - "Language": "Language" -} + "[Applet Mode]": "[Applet Mode]", + "No Internet": "No Internet", + "Fs": "Fs", + "App": "App", + "Menu": "Menu", + "Options": "Options", + "OK": "OK", + "Back": "Back", + "Select": "Select", + "Open": "Open", + "Launch": "Launch", + "Info": "Info", + "Install": "Install", + "Delete": "Delete", + "Changelog": "Changelog", + "Details": "Details", + "Update": "Update", + "Remove": "Remove", + "Download": "Download", + "Next Page": "Next Page", + "Prev Page": "Prev Page", + "Yes": "Yes", + "No": "No", + "Enabled": "Enabled", + "Disabled": "Disabled", + + "Sort By": "Sort By", + "Sort Options": "Sort Options", + "Filter": "Filter", + "Sort": "Sort", + "Order": "Order", + "Search": "Search", + "Updated": "Updated", + "Downloads": "Downloads", + "Size": "Size", + "Alphabetical": "Alphabetical", + "Likes": "Likes", + "ID": "ID", + "Decending": "Decending", + "Descending (down)": "Descending (down)", + "Desc": "Desc", + "Ascending": "Ascending", + "Ascending (Up)": "Ascending (Up)", + "Asc": "Asc", + + "Menu Options": "Menu Options", + "Header": "Header", + "Theme": "Theme", + "Theme Options": "Theme Options", + "Select Theme": "Select Theme", + "Shuffle": "Shuffle", + "Music": "Music", + "Network": "Network", + "Network Options": "Network Options", + "Nxlink": "Nxlink", + "Nxlink Connected": "Nxlink Connected", + "Nxlink Upload": "Nxlink Upload", + "Nxlink Finished": "Nxlink Finished", + "Language": "Language", + "Auto": "Auto", + "English": "English", + "Japanese": "日本語", + "French": "Français", + "German": "Deutsch", + "Italian": "Italiano", + "Spanish": "Español", + "Chinese": "中文", + "Korean": "한국어", + "Dutch": "Dutch", + "Portuguese": "Português", + "Russian": "Русский", + "Logging": "Logging", + "Replace hbmenu on exit": "Replace hbmenu on exit", + "Misc": "Misc", + "Misc Options": "Misc Options", + "Web": "Web", + + "FileBrowser": "FileBrowser", + "%zd files": "%zd files", + "%zd dirs": "%zd dirs", + "File Options": "File Options", + "Show Hidden": "Show Hidden", + "Folders First": "Folders First", + "Hidden Last": "Hidden Last", + "Cut": "Cut", + "Copy": "Copy", + "Paste": "Paste", + "Paste ": "Paste ", + " file(s)?": " file(s)?", + "Rename": "Rename", + "Set New File Name": "Set New File Name", + "Advanced": "Advanced", + "Advanced Options": "Advanced Options", + "Create File": "Create File", + "Set File Name": "Set File Name", + "Create Folder": "Create Folder", + "Set Folder Name": "Set Folder Name", + "View as text (unfinished)": "View as text (unfinished)", + "Set Archive Bit": "Set Archive Bit", + "Warning! Setting the archive bit cannot be undone!": "Warning! Setting the archive bit cannot be undone!", + "Empty...": "Empty...", + "Open with DayBreak?": "Open with DayBreak?", + "Launch option for: ": "Launch option for: ", + + "Homebrew": "Homebrew", + "Homebrew Options": "Homebrew Options", + "Hide Sphaira": "Hide Sphaira", + "Install Forwarder": "Install Forwarder", + "WARNING: Installing forwarders will lead to a ban!": "WARNING: Installing forwarders will lead to a ban!", + "Installing Forwarder": "Installing Forwarder", + "Creating Program": "Creating Program", + "Creating Control": "Creating Control", + "Creating Meta": "Creating Meta", + "Writing Nca": "Writing Nca", + "Updating ncm databse": "Updating ncm databse", + "Pushing application record": "Pushing application record", + "Installed!": "Installed!", + "Failed to install forwarder": "Failed to install forwarder", + + "AppStore": "AppStore", + "Filter: %s | Sort: %s | Order: %s": "Filter: %s | Sort: %s | Order: %s", + "AppStore Options": "AppStore Options", + "All": "All", + "Games": "Games", + "Emulators": "Emulators", + "Tools": "Tools", + "Themes": "Themes", + "Legacy": "Legacy", + "version: %s": "version: %s", + "updated: %s": "updated: %s", + "category: %s": "category: %s", + "extracted: %.2f MiB": "extracted: %.2f MiB", + "app_dls: %s": "app_dls: %s", + "More by Author": "More by Author", + "Leave Feedback": "Leave Feedback", + + "Irs": "Irs", + "Ambient Noise Level: ": "Ambient Noise Level: ", + "Controller": "Controller", + "Pad ": "Pad ", + " (Available)": " (Available)", + " (Unconnected)": " (Unconnected)", + "HandHeld": "HandHeld", + "Rotation": "Rotation", + "0 (Sideways)": "0 (Sideways)", + "90 (Flat)": "90 (Flat)", + "180 (-Sideways)": "180 (-Sideways)", + "270 (Upside down)": "270 (Upside down)", + "Colour": "Colour", + "Grey": "Grey", + "Ironbow": "Ironbow", + "Green": "Green", + "Red": "Red", + "Blue": "Blue", + "Light Target": "Light Target", + "All leds": "All leds", + "Bright group": "Bright group", + "Dim group": "Dim group", + "None": "None", + "Gain": "Gain", + "Negative Image": "Negative Image", + "Normal image": "Normal image", + "Negative image": "Negative image", + "Format": "Format", + "320x240": "320×240", + "160x120": "160×120", + "80x60": "80×60", + "40x30": "40×30", + "20x15": "20×15", + "Trimming Format": "Trimming Format", + "External Light Filter": "External Light Filter", + "Load Default": "Load Default", + + "Themezer": "Themezer", + "Themezer Options": "Themezer Options", + "Nsfw": "Nsfw", + "Page": "Page", + "Page %zu / %zu": "Page %zu / %zu", + "Enter Page Number": "Enter Page Number", + "Bad Page": "Bad Page", + "Download theme?": "Download theme?", + + "Installing ": "Installing ", + "Uninstalling ": "Uninstalling ", + "Deleting ": "Deleting ", + "Deleting": "Deleting", + "Pasting ": "Pasting ", + "Pasting": "Pasting", + "Removing ": "Removing ", + "Scanning ": "Scanning ", + "Creating ": "Creating ", + "Copying ": "Copying ", + "Downloading ": "Downloading ", + "Checking MD5": "Checking MD5", + "Loading...": "Loading...", + "Loading": "Loading", + "Empty!": "Empty!", + "Not Ready...": "Not Ready...", + "Error loading page!": "Error loading page!", + "Update avaliable: ": "Update avaliable: ", + "Download update: ": "Download update: ", + "Failed to download update": "Failed to download update", + "Delete Selected files?": "Delete Selected files?", + "Completely remove ": "Completely remove ", + "Are you sure you want to delete ": "Are you sure you want to delete ", + "Are you sure you wish to cancel?": "Are you sure you wish to cancel?" +} \ No newline at end of file diff --git a/assets/romfs/i18n/es.json b/assets/romfs/i18n/es.json index 2424338..213c51a 100644 --- a/assets/romfs/i18n/es.json +++ b/assets/romfs/i18n/es.json @@ -1,114 +1,208 @@ { - "Launch": "Lanzamiento", + "[Applet Mode]": "[Modo subprograma]", + "No Internet": "sin internet", + "Fs": "fs", + "App": "Aplicación", + "Menu": "Menú", "Options": "Opciones", - "Homebrew Options": "Opciones de elaboración casera", + "OK": "", + "Back": "Atrás", + "Select": "", + "Open": "Abierto", + "Launch": "Lanzamiento", + "Info": "Información", + "Install": "Instalar", + "Delete": "Borrar", + "Changelog": "", + "Details": "", + "Update": "", + "Remove": "", + "Download": "Descargar", + "Next Page": "Página siguiente", + "Prev Page": "Página anterior", + "Yes": "Sí", + "No": "No", + "Enabled": "Activado", + "Disabled": "Desactivado", + "Sort By": "Ordenar por", "Sort Options": "Opciones de clasificación", + "Filter": "Filtrar", + "Sort": "Clasificar", + "Order": "Orden", + "Search": "Buscar", "Updated": "Actualizado", + "Downloads": "Descargas", "Size": "Tamaño", "Alphabetical": "Alfabético", + "Likes": "", + "ID": "", "Decending": "Descendente", + "Descending (down)": "Descendente", + "Desc": "Descendente", "Ascending": "Ascendente", - "Sort": "Clasificar", - "Order": "Orden", - "Info": "Información", - "Delete": "Borrar", - "Hide Sphaira": "Ocultar Sphaira", - "Are you sure you want to delete ": "¿Estás seguro de que quieres eliminar? ", - "Install Forwarder": "Instalar reenviador", - "WARNING: Installing forwarders will lead to a ban!": "ADVERTENCIA: ¡La instalación de reenviadores dará lugar a una prohibición!", - "Back": "Atrás", - "Install": "Instalar", - "Fs": "fs", - "App": "Aplicación", - "Menu": "Menú", - "Homebrew": "cerveza casera", - "FileBrowser": "Explorador de archivos", - "Open": "Abierto", + "Ascending (Up)": "Ascendente", + "Asc": "Ascendente", + + "Menu Options": "Opciones de menú", + "Header": "Encabezamiento", + "Theme": "Tema", "Theme Options": "Opciones de tema", "Select Theme": "Seleccionar tema", "Shuffle": "Barajar", "Music": "Música", + "Network": "Red", + "Network Options": "Opciones de red", + "Nxlink": "Nxlink", + "Nxlink Connected": "", + "Nxlink Upload": "", + "Nxlink Finished": "", + "Language": "Idioma", + "Auto": "", + "English": "English", + "Japanese": "日本語", + "French": "Français", + "German": "Deutsch", + "Italian": "Italiano", + "Spanish": "Español", + "Chinese": "中文", + "Korean": "한국어", + "Dutch": "Dutch", + "Portuguese": "Português", + "Russian": "Русский", + "Logging": "Explotación florestal", + "Replace hbmenu on exit": "Reemplazar hbmenu al salir", + "Misc": "Varios", + "Misc Options": "Opciones varias", + "Web": "Web", + + "FileBrowser": "Explorador de archivos", + "%zd files": "%zd files", + "%zd dirs": "%zd dirs", + "File Options": "Opciones de tema", "Show Hidden": "Mostrar oculto", "Folders First": "Carpetas primero", "Hidden Last": "Oculto último", - "Yes": "Sí", - "No": "No", - "Network Options": "Opciones de red", - "Nxlink": "nxenlace", - "Check for update": "Buscar actualizaciones", - "File Options": "Opciones de archivo", "Cut": "Cortar", "Copy": "Copiar", + "Paste": "", + "Paste ": "", + " file(s)?": "", "Rename": "Rebautizar", + "Set New File Name": "", + "Advanced": "Avanzado", "Advanced Options": "Crear archivo", "Create File": "Crear archivo", + "Set File Name": "", "Create Folder": "Crear carpeta", - "View as text": "Ver como texto", + "Set Folder Name": "", "View as text (unfinished)": "Ver como texto (sin terminar)", "Set Archive Bit": "Establecer bit de archivo", + "Warning! Setting the archive bit cannot be undone!": "", + "Empty...": "", + "Open with DayBreak?": "", + "Launch option for: ": "", + + "Homebrew": "cerveza casera", + "Homebrew Options": "Opciones de elaboración casera", + "Hide Sphaira": "Ocultar Sphaira", + "Install Forwarder": "Instalar reenviador", + "WARNING: Installing forwarders will lead to a ban!": "ADVERTENCIA: ¡La instalación de reenviadores dará lugar a una prohibición!", + "Installing Forwarder": "", + "Creating Program": "", + "Creating Control": "", + "Creating Meta": "", + "Writing Nca": "", + "Updating ncm databse": "", + "Pushing application record": "", + "Installed!": "", + "Failed to install forwarder": "", + + "AppStore": "", + "Filter: %s | Sort: %s | Order: %s": "Filtrar: %s | Clasificar: %s | Orden: %s", "AppStore Options": "Opciones de la tienda de aplicaciones", "All": "Todo", "Games": "Juegos", "Emulators": "Emuladores", "Tools": "Herramientas", - "Advanced": "Avanzado", "Themes": "Temas", "Legacy": "Legado", - "Misc": "Varios", - "Downloads": "Descargas", - "Filter": "Filtrar", - "Search": "Buscar", - "Menu Options": "Opciones de menú", - "Header": "Encabezamiento", - "Theme": "Tema", - "Network": "Red", - "Logging": "Explotación florestal", - "Enabled": "Activado", - "Disabled": "Desactivado", - "Replace hbmenu on exit": "Reemplazar hbmenu al salir", - "Misc Options": "Opciones varias", - "Themezer": "Temazer", + "version: %s": "version: %s", + "updated: %s": "updated: %s", + "category: %s": "category: %s", + "extracted: %.2f MiB": "extracted: %.2f MiB", + "app_dls: %s": "app_dls: %s", + "More by Author": "", + "Leave Feedback": "", + "Irs": "irs", - "Web": "Web", - "Download": "Descargar", - "Next Page": "Página siguiente", - "Prev Page": "Página anterior", + "Ambient Noise Level: ": "", + "Controller": "Controlador", "Pad ": "Almohadilla ", + " (Available)": " (Disponible)", " (Unconnected)": " (Desconectado)", "HandHeld": "Portátil", - " (Available)": " (Disponible)", + "Rotation": "Rotación", "0 (Sideways)": "0 (de lado)", "90 (Flat)": "90 (plano)", "180 (-Sideways)": "180 (-de lado)", "270 (Upside down)": "270 (al revés)", + "Colour": "Color", "Grey": "Gris", "Ironbow": "arco de hierro", "Green": "Verde", "Red": "Rojo", "Blue": "Azul", + "Light Target": "Objetivo de luz", "All leds": "todos los leds", "Bright group": "grupo brillante", "Dim group": "grupo tenue", "None": "Ninguno", - "Normal image": "imagen normal", - "Negative image": "Imagen negativa", - "320x240": "320x240", - "160x120": "160x120", - "80x60": "80x60", - "40x30": "40x30", - "20x15": "20x15", - "Controller": "Controlador", - "Rotation": "Rotación", - "Colour": "Color", - "Light Target": "Objetivo de luz", "Gain": "Ganar", "Negative Image": "Imagen negativa", + "Normal image": "imagen normal", + "Negative image": "Imagen negativa", "Format": "Formato", + "320x240": "320×240", + "160x120": "160×120", + "80x60": "80×60", + "40x30": "40×30", + "20x15": "20×15", "Trimming Format": "Formato de recorte", "External Light Filter": "Filtro de luz externo", "Load Default": "Cargar predeterminado", - "No Internet": "sin internet", - "[Applet Mode]": "[Modo subprograma]", - "Language": "Idioma" -} + + "Themezer": "Temazer", + "Themezer Options": "", + "Nsfw": "", + "Page": "", + "Page %zu / %zu": "Page %zu / %zu", + "Enter Page Number": "", + "Bad Page": "", + "Download theme?": "", + + "Installing ": "", + "Uninstalling ": "", + "Deleting ": "", + "Deleting": "", + "Pasting ": "", + "Pasting": "", + "Removing ": "", + "Scanning ": "", + "Creating ": "", + "Copying ": "", + "Downloading ": "", + "Checking MD5": "", + "Loading...": "", + "Loading": "", + "Empty!": "", + "Not Ready...": "", + "Error loading page!": "", + "Update avaliable: ": "", + "Download update: ": "", + "Failed to download update": "", + "Delete Selected files?": "", + "Completely remove ": "", + "Are you sure you want to delete ": "¿Estás seguro de que quieres eliminar? ", + "Are you sure you wish to cancel?": "" +} \ No newline at end of file diff --git a/assets/romfs/i18n/fr.json b/assets/romfs/i18n/fr.json index c18d2ad..4e4e594 100644 --- a/assets/romfs/i18n/fr.json +++ b/assets/romfs/i18n/fr.json @@ -1,114 +1,208 @@ { - "Launch": "Exécuter", + "[Applet Mode]": "[Mode Applet]", + "No Internet": "Pas d'Internet", + "Fs": "Fs", + "App": "App.", + "Menu": "Menu", "Options": "Options", - "Homebrew Options": "Options Homebrew", + "OK": "", + "Back": "Retour", + "Select": "", + "Open": "Ouvrir", + "Launch": "Exécuter", + "Info": "Info.", + "Install": "Installer", + "Delete": "Supprimer", + "Changelog": "", + "Details": "", + "Update": "", + "Remove": "", + "Download": "Télécharger", + "Next Page": "Page Suiv.", + "Prev Page": "Page Préc.", + "Yes": "Oui", + "No": "Non", + "Enabled": "Activé(e)", + "Disabled": "Désactivé(e)", + "Sort By": "Tri Par", "Sort Options": "Options de Tri", + "Filter": "Filtre", + "Sort": "Tri", + "Order": "Ordre", + "Search": "Recherche", "Updated": "Mis à jour", + "Downloads": "Téléchargements", "Size": "Taille", "Alphabetical": "Alphabétique", + "Likes": "", + "ID": "", "Decending": "Décroissant", + "Descending (down)": "Décroissant", + "Desc": "Décroissant", "Ascending": "Croissant", - "Sort": "Tri", - "Order": "Ordre", - "Info": "Info.", - "Delete": "Supprimer", - "Hide Sphaira": "Masquer Sphaira", - "Are you sure you want to delete ": "Êtes-vous sûr de vouloir supprimer ", - "Install Forwarder": "Installer le Forwarder", - "WARNING: Installing forwarders will lead to a ban!": "ATTENTION: L'installation de forwarders entraînera un ban!", - "Back": "Retour", - "Install": "Installer", - "Fs": "Fs", - "App": "App.", - "Menu": "Menu", - "Homebrew": "Homebrew", - "FileBrowser": "Navigateur de Fichiers", - "Open": "Ouvrir", + "Ascending (Up)": "Croissant", + "Asc": "Croissant", + + "Menu Options": "Options des Menus", + "Header": "En-tête", + "Theme": "Thème", "Theme Options": "Options de Thème", "Select Theme": "Choisir un Thème", "Shuffle": "Aléatoire", "Music": "Musique", - "Show Hidden": "Afficher Masqués", - "Folders First": "Dossiers en Premier", - "Hidden Last": "Masqués en Dernier", - "Yes": "Oui", - "No": "Non", + "Network": "Réseau", "Network Options": "Options Réseau", "Nxlink": "Nxlink", - "Check for update": "Vérification d'une mise à jour", + "Nxlink Connected": "", + "Nxlink Upload": "", + "Nxlink Finished": "", + "Language": "Langue", + "Auto": "", + "English": "English", + "Japanese": "日本語", + "French": "Français", + "German": "Deutsch", + "Italian": "Italiano", + "Spanish": "Español", + "Chinese": "中文", + "Korean": "한국어", + "Dutch": "Dutch", + "Portuguese": "Português", + "Russian": "Русский", + "Logging": "Journalisation", + "Replace hbmenu on exit": "Remplacer hbmenu en sortie", + "Misc": "Divers", + "Misc Options": "Options Diverses", + "Web": "Web", + + "FileBrowser": "Navigateur de Fichiers", + "%zd files": "%zd files", + "%zd dirs": "%zd dirs", "File Options": "Options de Fichier", + "Show Hidden": "Afficher Masqués", + "Folders First": "Dossiers en Premier", + "Hidden Last": "Masqués en Dernier", "Cut": "Couper", "Copy": "Copier", + "Paste": "", + "Paste ": "", + " file(s)?": "", "Rename": "Renommer", + "Set New File Name": "", + "Advanced": "Avancé", "Advanced Options": "Options Avancées", "Create File": "Créer un Fichier", + "Set File Name": "", "Create Folder": "Créer un Dossier", - "View as text": "Afficher sous forme de texte", + "Set Folder Name": "", "View as text (unfinished)": "Afficher sous forme de texte (inachevé)", "Set Archive Bit": "Définir le Bit d'Archive", + "Warning! Setting the archive bit cannot be undone!": "", + "Empty...": "", + "Open with DayBreak?": "", + "Launch option for: ": "", + + "Homebrew": "Homebrew", + "Homebrew Options": "Options Homebrew", + "Hide Sphaira": "Masquer Sphaira", + "Install Forwarder": "Installer le Forwarder", + "WARNING: Installing forwarders will lead to a ban!": "ATTENTION: L'installation de forwarders entraînera un ban!", + "Installing Forwarder": "", + "Creating Program": "", + "Creating Control": "", + "Creating Meta": "", + "Writing Nca": "", + "Updating ncm databse": "", + "Pushing application record": "", + "Installed!": "", + "Failed to install forwarder": "", + + "AppStore": "", + "Filter: %s | Sort: %s | Order: %s": "Filtre: %s | Tri: %s | Ordre: %s", "AppStore Options": "Options de l'AppStore", "All": "Tous", "Games": "Jeux", "Emulators": "Émulateurs", "Tools": "Outils", - "Advanced": "Avancé", "Themes": "Thèmes", "Legacy": "Legacy", - "Misc": "Divers", - "Downloads": "Téléchargements", - "Filter": "Filtre", - "Search": "Recherche", - "Menu Options": "Options des Menus", - "Header": "En-tête", - "Theme": "Thème", - "Network": "Réseau", - "Logging": "Journalisation", - "Enabled": "Activé(e)", - "Disabled": "Désactivé(e)", - "Replace hbmenu on exit": "Remplacer hbmenu en sortie", - "Misc Options": "Options Diverses", - "Themezer": "Themezer", + "version: %s": "version: %s", + "updated: %s": "updated: %s", + "category: %s": "category: %s", + "extracted: %.2f MiB": "extracted: %.2f MiB", + "app_dls: %s": "app_dls: %s", + "More by Author": "", + "Leave Feedback": "", + "Irs": "Irs", - "Web": "Web", - "Download": "Télécharger", - "Next Page": "Page Suiv.", - "Prev Page": "Page Préc.", + "Ambient Noise Level: ": "", + "Controller": "Contrôleur", "Pad ": "Manette ", + " (Available)": " (Disponible)", " (Unconnected)": " (Non connectée)", "HandHeld": "Portable", - " (Available)": " (Disponible)", + "Rotation": "Rotation", "0 (Sideways)": "0 (Paysage)", "90 (Flat)": "90 (Portrait)", "180 (-Sideways)": "180 (-Paysage)", "270 (Upside down)": "270 (Inversé)", + "Colour": "Couleur", "Grey": "Gris", "Ironbow": "Ironbow", "Green": "Vert", "Red": "Rouge", "Blue": "Bleu", + "Light Target": "Luminosité", "All leds": "Toutes les LED", "Bright group": "Groupe lumineux", "Dim group": "Groupe sombre", "None": "Aucun", - "Normal image": "Image normale", - "Negative image": "Négatif", - "320x240": "320x240", - "160x120": "160x120", - "80x60": "80x60", - "40x30": "40x30", - "20x15": "20x15", - "Controller": "Contrôleur", - "Rotation": "Rotation", - "Colour": "Couleur", - "Light Target": "Luminosité", "Gain": "Gain", "Negative Image": "Négatif", + "Normal image": "Image normale", + "Negative image": "Négatif", "Format": "Format", + "320x240": "320×240", + "160x120": "160×120", + "80x60": "80×60", + "40x30": "40×30", + "20x15": "20×15", "Trimming Format": "Format de Découpe", "External Light Filter": "Filtre de Lumière Externe", "Load Default": "Charger par Défaut", - "No Internet": "Pas d'Internet", - "[Applet Mode]": "[Mode Applet]", - "Language": "Langue" -} + + "Themezer": "Themezer", + "Themezer Options": "", + "Nsfw": "", + "Page": "", + "Page %zu / %zu": "Page %zu / %zu", + "Enter Page Number": "", + "Bad Page": "", + "Download theme?": "", + + "Installing ": "", + "Uninstalling ": "", + "Deleting ": "", + "Deleting": "", + "Pasting ": "", + "Pasting": "", + "Removing ": "", + "Scanning ": "", + "Creating ": "", + "Copying ": "", + "Downloading ": "", + "Checking MD5": "", + "Loading...": "", + "Loading": "", + "Empty!": "", + "Not Ready...": "", + "Error loading page!": "", + "Update avaliable: ": "", + "Download update: ": "", + "Failed to download update": "", + "Delete Selected files?": "", + "Completely remove ": "", + "Are you sure you want to delete ": "Êtes-vous sûr de vouloir supprimer ", + "Are you sure you wish to cancel?": "" +} \ No newline at end of file diff --git a/assets/romfs/i18n/it.json b/assets/romfs/i18n/it.json index 8b734cb..97c5421 100644 --- a/assets/romfs/i18n/it.json +++ b/assets/romfs/i18n/it.json @@ -1,114 +1,208 @@ { - "Launch": "Lancia", + "[Applet Mode]": "[Modalità applet]", + "No Internet": "Niente Internet", + "Fs": "Fs", + "App": "App", + "Menu": "Menu", "Options": "Opzioni", - "Homebrew Options": "Opzioni Homebrew", + "OK": "", + "Back": "Indietro", + "Select": "", + "Open": "Apri", + "Launch": "Lancia", + "Info": "Informazioni", + "Install": "Installa", + "Delete": "Elimina", + "Changelog": "", + "Details": "", + "Update": "", + "Remove": "", + "Download": "Download", + "Next Page": "Pagina successiva", + "Prev Page": "Pagina precedente", + "Yes": "Sì", + "No": "No", + "Enabled": "Abilitato", + "Disabled": "Disabilitato", + "Sort By": "Ordina per", "Sort Options": "Opzioni filtro", + "Filter": "Filtro", + "Sort": "Riordina", + "Order": "Ordina", + "Search": "Ricerca", "Updated": "Aggiornato", + "Downloads": "Download", "Size": "Misurare", "Alphabetical": "Alfabetico", + "Likes": "", + "ID": "", "Decending": "Decrescente", + "Descending (down)": "Decrescente", + "Desc": "Decrescente", "Ascending": "Crescente", - "Sort": "Riordina", - "Order": "Ordina", - "Info": "Informazioni", - "Delete": "Elimina", - "Hide Sphaira": "Nascondi Sphaira", - "Are you sure you want to delete ": "Sei sicuro di voler eliminare? ", - "Install Forwarder": "Installa forwarder", - "WARNING: Installing forwarders will lead to a ban!": "ATTENZIONE: l'installazione di forwarder porterà al ban!", - "Back": "Indietro", - "Install": "Installa", - "Fs": "Fs", - "App": "App", - "Menu": "Menu", - "Homebrew": "Homebrew", - "FileBrowser": "FileBrowser", - "Open": "Apri", + "Ascending (Up)": "Crescente", + "Asc": "Crescente", + + "Menu Options": "Opzioni menu", + "Header": "Intestazione", + "Theme": "Tema", "Theme Options": "Opzioni tema", "Select Theme": "Seleziona tema", "Shuffle": "Mescola", "Music": "Musica", - "Show Hidden": "Mostra nascosto", - "Folders First": "Prima le cartelle", - "Hidden Last": "Ultimo nascosto", - "Yes": "Sì", - "No": "No", + "Network": "Rete", "Network Options": "Opzioni di rete", "Nxlink": "Nxlink", - "Check for update": "Controlla aggiornamenti", + "Nxlink Connected": "", + "Nxlink Upload": "", + "Nxlink Finished": "", + "Language": "Lingua", + "Auto": "", + "English": "English", + "Japanese": "日本語", + "French": "Français", + "German": "Deutsch", + "Italian": "Italiano", + "Spanish": "Español", + "Chinese": "中文", + "Korean": "한국어", + "Dutch": "Dutch", + "Portuguese": "Português", + "Russian": "Русский", + "Logging": "Logging", + "Replace hbmenu on exit": "Sostituisci hbmenu all'uscita", + "Misc": "Varie", + "Misc Options": "Opzioni varie", + "Web": "Rete", + + "FileBrowser": "FileBrowser", + "%zd files": "%zd files", + "%zd dirs": "%zd dirs", "File Options": "Opzioni file", + "Show Hidden": "Mostra nascosto", + "Folders First": "Prima le cartelle", + "Hidden Last": "Ultimo nascosto", "Cut": "Taglia", "Copy": "Copia", + "Paste": "", + "Paste ": "", + " file(s)?": "", "Rename": "Rinomina", + "Set New File Name": "", + "Advanced": "Avanzato", "Advanced Options": "Opzioni avanzate", "Create File": "Crea file", + "Set File Name": "", "Create Folder": "Crea cartella", - "View as text": "Visualizza come testo", + "Set Folder Name": "", "View as text (unfinished)": "Visualizza come testo (non finito)", "Set Archive Bit": "Imposta Archive Bit", + "Warning! Setting the archive bit cannot be undone!": "", + "Empty...": "", + "Open with DayBreak?": "", + "Launch option for: ": "", + + "Homebrew": "Homebrew", + "Homebrew Options": "Opzioni Homebrew", + "Hide Sphaira": "Nascondi Sphaira", + "Install Forwarder": "Installa forwarder", + "WARNING: Installing forwarders will lead to a ban!": "ATTENZIONE: l'installazione di forwarder porterà al ban!", + "Installing Forwarder": "", + "Creating Program": "", + "Creating Control": "", + "Creating Meta": "", + "Writing Nca": "", + "Updating ncm databse": "", + "Pushing application record": "", + "Installed!": "", + "Failed to install forwarder": "", + + "AppStore": "", + "Filter: %s | Sort: %s | Order: %s": "Filtro: %s | Riordina: %s | Ordina: %s", "AppStore Options": "Opzioni dell'App Store", "All": "Tutto", "Games": "Giochi", "Emulators": "Emulatori", "Tools": "Strumenti", - "Advanced": "Avanzato", "Themes": "Temi", "Legacy": "Legacy", - "Misc": "Varie", - "Downloads": "Download", - "Filter": "Filtro", - "Search": "Ricerca", - "Menu Options": "Opzioni menu", - "Header": "Intestazione", - "Theme": "Tema", - "Network": "Rete", - "Logging": "Logging", - "Enabled": "Abilitato", - "Disabled": "Disabilitato", - "Replace hbmenu on exit": "Sostituisci hbmenu all'uscita", - "Misc Options": "Opzioni varie", - "Themezer": "Themezer", + "version: %s": "version: %s", + "updated: %s": "updated: %s", + "category: %s": "category: %s", + "extracted: %.2f MiB": "extracted: %.2f MiB", + "app_dls: %s": "app_dls: %s", + "More by Author": "", + "Leave Feedback": "", + "Irs": "Irs", - "Web": "Rete", - "Download": "Download", - "Next Page": "Pagina successiva", - "Prev Page": "Pagina precedente", + "Ambient Noise Level: ": "", + "Controller": "Controller", "Pad ": "Pad ", + " (Available)": " (Disponibile)", " (Unconnected)": " (Non connesso)", "HandHeld": "HandHeld", - " (Available)": " (Disponibile)", + "Rotation": "Rotazione", "0 (Sideways)": "0 (Di lato)", "90 (Flat)": "90 (Piatto)", "180 (-Sideways)": "180 (-Di lato)", "270 (Upside down)": "270 (Capovolto)", + "Colour": "Colore", "Grey": "Grigio", "Ironbow": "Ironbow", "Green": "Verde", "Red": "Rosso", "Blue": "Blu", + "Light Target": "Bersaglio leggero", "All leds": "Tutti i led", "Bright group": "Gruppo brillante", "Dim group": "Gruppo debole", "None": "Nessuno", - "Normal image": "Immagine normale", - "Negative image": "Immagine negativa", - "320x240": "320x240", - "160x120": "160x120", - "80x60": "80x60", - "40x30": "40x30", - "20x15": "20×15", - "Controller": "Controller", - "Rotation": "Rotazione", - "Colour": "Colore", - "Light Target": "Bersaglio leggero", "Gain": "Guadagno", "Negative Image": "Immagine negativa", + "Normal image": "Immagine normale", + "Negative image": "Immagine negativa", "Format": "Formato", + "320x240": "320×240", + "160x120": "160×120", + "80x60": "80×60", + "40x30": "40×30", + "20x15": "20×15", "Trimming Format": "Formato di ritaglio", "External Light Filter": "Filtro luce esterno", "Load Default": "Carica predefinito", - "No Internet": "Niente Internet", - "[Applet Mode]": "[Modalità applet]", - "Language": "Lingua" -} + + "Themezer": "Themezer", + "Themezer Options": "", + "Nsfw": "", + "Page": "", + "Page %zu / %zu": "Page %zu / %zu", + "Enter Page Number": "", + "Bad Page": "", + "Download theme?": "", + + "Installing ": "", + "Uninstalling ": "", + "Deleting ": "", + "Deleting": "", + "Pasting ": "", + "Pasting": "", + "Removing ": "", + "Scanning ": "", + "Creating ": "", + "Copying ": "", + "Downloading ": "", + "Checking MD5": "", + "Loading...": "", + "Loading": "", + "Empty!": "", + "Not Ready...": "", + "Error loading page!": "", + "Update avaliable: ": "", + "Download update: ": "", + "Failed to download update": "", + "Delete Selected files?": "", + "Completely remove ": "", + "Are you sure you want to delete ": "Sei sicuro di voler eliminare? ", + "Are you sure you wish to cancel?": "" +} \ No newline at end of file diff --git a/assets/romfs/i18n/ja.json b/assets/romfs/i18n/ja.json index cce3015..c401dcd 100644 --- a/assets/romfs/i18n/ja.json +++ b/assets/romfs/i18n/ja.json @@ -1,114 +1,208 @@ { - "Launch": "起動", + "[Applet Mode]": "[Appletモード]", + "No Internet": "インターネットなし", + "Fs": "ファイル", + "App": "アプリ", + "Menu": "メニュー", "Options": "設定", - "Homebrew Options": "Homebrew設定", + "OK": "確認", + "Back": "戻る", + "Select": "選択", + "Open": "開く", + "Launch": "起動", + "Info": "情報", + "Install": "インストール", + "Delete": "削除", + "Changelog": "リリースノート", + "Details": "詳細", + "Update": "アップデート", + "Remove": "除去", + "Download": "ダウンロード", + "Next Page": "次のページ", + "Prev Page": "前のページ", + "Yes": "はい", + "No": "いいえ", + "Enabled": "", + "Disabled": "", + "Sort By": "並べ替え", "Sort Options": "並べ替え設定", - "Updated": "最近使った順", + "Filter": "フィルター", + "Sort": "並べ替え", + "Order": "順番", + "Search": "検索", + "Updated": "アップデート順", + "Downloads": "ダウンロード順", "Size": "ファイルサイズ", "Alphabetical": "アルファベット順", + "Likes": "いいね順", + "ID": "デベロッパー順", "Decending": "降順", + "Descending (down)": "降順", + "Desc": "降順", "Ascending": "上昇", - "Sort": "並べ替え", - "Order": "順番", - "Info": "情報", - "Delete": "消去", - "Hide Sphaira": "Sphairaを非表示", - "Are you sure you want to delete ": "消去してもよろしいですか ", - "Install Forwarder": "Forwarderのインストール", - "WARNING: Installing forwarders will lead to a ban!": "警告: ForwarderをインストールするとBANされます。", - "Back": "戻る", - "Install": "インストール", - "Fs": "ファイル", - "App": "アプリ", - "Menu": "メニュー", - "Homebrew": "Homebrew", - "FileBrowser": "ファイルブラウザ", - "Open": "開く", + "Ascending (Up)": "上昇", + "Asc": "上昇", + + "Menu Options": "メニュー設定", + "Header": "ヘッダー", + "Theme": "テーマ", "Theme Options": "テーマ設定", "Select Theme": "テーマを選ぶ", "Shuffle": "シャッフル", "Music": "BGM", - "Show Hidden": "非表示ファイルを表示", - "Folders First": "フォルダーを優先", - "Hidden Last": "非表示ファイルを劣後", - "Yes": "はい", - "No": "いいえ", + "Network": "ネットワーク", "Network Options": "ネットワーク設定", "Nxlink": "Nxlink", - "Check for update": "アップデートの確認", + "Nxlink Connected": "Nxlink 接続", + "Nxlink Upload": "Nxlink アップロード", + "Nxlink Finished": "Nxlink 終了", + "Language": "言語", + "Auto": "自動", + "English": "English", + "Japanese": "日本語", + "French": "Français", + "German": "Deutsch", + "Italian": "Italiano", + "Spanish": "Español", + "Chinese": "中文", + "Korean": "한국어", + "Dutch": "Dutch", + "Portuguese": "Português", + "Russian": "Русский", + "Logging": "ログの取得", + "Replace hbmenu on exit": "終了時に hbmenu を置き換える", + "Misc": "その他", + "Misc Options": "その他", + "Web": "ウェブブラウザ", + + "FileBrowser": "ファイルブラウザ", + "%zd files": "%zd個のファイル", + "%zd dirs": "%zd個のフォルダー", "File Options": "ファイル設定", + "Show Hidden": "非表示ファイルを表示", + "Folders First": "フォルダーを優先", + "Hidden Last": "非表示ファイルを劣後", "Cut": "切り取り", "Copy": "コピー", + "Paste": "ペースト", + "Paste ": " ", + " file(s)?": "個のファイルをペーストしますか?", "Rename": "名前の変更", - "Advanced Options": "ファイルの作成", + "Set New File Name": "新しい名前を入力", + "Advanced": "高度な", + "Advanced Options": "高度設定", "Create File": "ファイルの作成", + "Set File Name": "名前を入力", "Create Folder": "フォルダーの作成", - "View as text": "テキストとして表示", + "Set Folder Name": "名前を入力", "View as text (unfinished)": "テキストとして表示 (未完成)", "Set Archive Bit": "アーカイブビットの設定", + "Warning! Setting the archive bit cannot be undone!": "警告: アーカイブビットの設定は取り消せません!", + "Empty...": "このフォルダーは空です", + "Open with DayBreak?": "DayBreakで開きますか?", + "Launch option for: ": "起動設定: ", + + "Homebrew": "Homebrew", + "Homebrew Options": "Homebrew設定", + "Hide Sphaira": "Sphairaを非表示", + "Install Forwarder": "Forwarderのインストール", + "WARNING: Installing forwarders will lead to a ban!": "警告: ForwarderをインストールするとBANされます。", + "Installing Forwarder": "Forwarderのインストール中", + "Creating Program": "プログラム作成中", + "Creating Control": "コントロール作成中", + "Creating Meta": "メター作成中", + "Writing Nca": "Nca書き取り中", + "Updating ncm databse": "ncmのDBをアップデート中", + "Pushing application record": "アプリの記録をプッシュ中", + "Installed!": "インストール完了", + "Failed to install forwarder": "Forwarderのインストール失敗", + + "AppStore": "AppStore", + "Filter: %s | Sort: %s | Order: %s": "フィルター: %s | 並べ替え: %s | 順番: %s", "AppStore Options": "AppStoreの設定", "All": "全て", "Games": "ゲーム", "Emulators": "エミュレータ", "Tools": "ツール", - "Advanced": "高度な", "Themes": "テーマ", "Legacy": "レガシー", - "Misc": "その他", - "Downloads": "ダウンロード", - "Filter": "フィルター", - "Search": "検索", - "Menu Options": "メニュー設定", - "Header": "ヘッダー", - "Theme": "テーマ", - "Network": "ネットワーク", - "Logging": "ログの取得", - "Enabled": "有効", - "Disabled": "無効", - "Replace hbmenu on exit": "終了時に hbmenu を置き換える", - "Misc Options": "その他", - "Themezer": "Themezer", + "version: %s": "バージョン: %s", + "updated: %s": "更新日: %s", + "category: %s": "カテゴリー: %s", + "extracted: %.2f MiB": "容量: %.2f MiB", + "app_dls: %s": "ダウンロード: %s", + "More by Author": "ディベロッパーの他のアプリを見る", + "Leave Feedback": "意見を残す", + "Irs": "Joy-Con IRカメラ", - "Web": "ウェブブラウザ", - "Download": "ダウンロード", - "Next Page": "次のページ", - "Prev Page": "前のページ", - "Pad ": "パッド ", + "Ambient Noise Level: ": "ノイズレベル: ", + "Controller": "コントローラー", + "Pad ": "Joy-Con ", + " (Available)": " (利用可能)", " (Unconnected)": " (未接続)", "HandHeld": "ハンドヘルド", - " (Available)": " (利用可能)", - "0 (Sideways)": "0(横)", - "90 (Flat)": "90(フラット)", + "Rotation": "回転", + "0 (Sideways)": "0 (横)", + "90 (Flat)": "90 (フラット)", "180 (-Sideways)": "180 (-横)", - "270 (Upside down)": "270(上下逆さま)", + "270 (Upside down)": "270 (上下逆さま)", + "Colour": "色", "Grey": "グレー", "Ironbow": "アイアンボウ", "Green": "緑", "Red": "赤", "Blue": "青", + "Light Target": "ライトターゲット", "All leds": "すべてのLED", "Bright group": "明るいグループ", "Dim group": "薄暗いグループ", "None": "なし", + "Gain": "増幅", + "Negative Image": "ネガティブなイメージ", "Normal image": "通常画像", "Negative image": "ネガティブなイメージ", + "Format": "解像度", "320x240": "320×240", "160x120": "160×120", "80x60": "80×60", "40x30": "40×30", - "20x15": "20x15", - "Controller": "コントローラー", - "Rotation": "回転", - "Colour": "色", - "Light Target": "ライトターゲット", - "Gain": "得", - "Negative Image": "ネガティブなイメージ", - "Format": "形式", - "Trimming Format": "トリミングフォーマット", + "20x15": "20×15", + "Trimming Format": "トリミングされた解像度", "External Light Filter": "外光フィルター", - "Load Default": "デフォルトをロード", - "No Internet": "インターネットなし", - "[Applet Mode]": "[Appletモード]", - "Language": "言語" -} + "Load Default": "基本設定に戻す", + + "Themezer": "Themezer", + "Themezer Options": "Themezer設定", + "Nsfw": "アダルトテーマ", + "Page": "ページ", + "Page %zu / %zu": "ページ %zu / %zu", + "Enter Page Number": "ページの番号を入力", + "Bad Page": "ページが見つかりません", + "Download theme?": "テーマをインストールしますか?", + + "Installing ": "インストール中 ", + "Uninstalling ": "アンインストール中 ", + "Deleting ": "削除中 ", + "Deleting": "削除中", + "Pasting ": "ペースト中 ", + "Pasting": "ペースト中", + "Removing ": "除去中 ", + "Scanning ": "スキャン中 ", + "Creating ": "作成中 ", + "Copying ": "コピー中 ", + "Downloading ": "ダウンロード中 ", + "Checking MD5": "MD5を確認中 ", + "Loading...": "ロード中", + "Loading": "ロード中", + "Empty!": "何も見つかりません", + "Not Ready...": "準備ができていません", + "Error loading page!": "ページのロードエラー", + "Update avaliable: ": "アップデート可能: ", + "Download update: ": "アップデートをダウンロード: ", + "Failed to download update": "アップデートのダウンロード失敗", + "Delete Selected files?": "本当に削除しますか?", + "Completely remove ": "除去しますか ", + "Are you sure you want to delete ": "消去してもよろしいですか ", + "Are you sure you wish to cancel?": "本当に取り消しますか?" +} \ No newline at end of file diff --git a/assets/romfs/i18n/ko.json b/assets/romfs/i18n/ko.json index adf3464..416cb76 100644 --- a/assets/romfs/i18n/ko.json +++ b/assets/romfs/i18n/ko.json @@ -1,114 +1,208 @@ { - "Launch": "실행", + "[Applet Mode]": "[애플릿 모드]", + "No Internet": "네트워크 연결 없음", + "Fs": "파일 탐색기", + "App": "앱", + "Menu": "메뉴", "Options": "설정", - "Homebrew Options": "홈브류 설정", + "OK": "확인", + "Back": "뒤로", + "Select": "선택", + "Open": "열기", + "Launch": "실행", + "Info": "정보", + "Install": "설치", + "Delete": "삭제", + "Changelog": "변경 내역", + "Details": "상세", + "Update": "업데이트", + "Remove": "제거", + "Download": "다운로드", + "Next Page": "다음 페이지", + "Prev Page": "이전 페이지", + "Yes": "예", + "No": "아니요", + "Enabled": "", + "Disabled": "", + "Sort By": "정렬", "Sort Options": "정렬 설정", + "Filter": "필터", + "Sort": "분류", + "Order": "정렬", + "Search": "검색", "Updated": "업데이트순", + "Downloads": "다운로드순", "Size": "크기순", "Alphabetical": "알파벳순", + "Likes": "좋아요순", + "ID": "작성자순", "Decending": "내림차순", + "Descending (down)": "내림차순", + "Desc": "내림차순", "Ascending": "오름차순", - "Sort": "분류", - "Order": "정렬", - "Info": "정보", - "Delete": "삭제", - "Hide Sphaira": "Sphaira 숨기기", - "Are you sure you want to delete ": "정말 삭제하시겠습니까? ", - "Install Forwarder": "바로가기 설치", - "WARNING: Installing forwarders will lead to a ban!": "주의: 바로가기 설치시 BAN 위험이 있습니다!", - "Back": "뒤로", - "Install": "설치", - "Fs": "파일 탐색기", - "App": "앱", - "Menu": "메뉴", - "Homebrew": "홈브류", - "FileBrowser": "파일 탐색기", - "Open": "열기", + "Ascending (Up)": "오름차순", + "Asc": "오름차순", + + "Menu Options": "메뉴", + "Header": "헤더", + "Theme": "테마", "Theme Options": "테마 설정", "Select Theme": "테마 선택", "Shuffle": "셔플", "Music": "BGM", - "Show Hidden": "숨겨진 항목 표시", - "Folders First": "폴더 우선 정렬", - "Hidden Last": "숨겨진 항목 후순 정렬", - "Yes": "예", - "No": "아니요", + "Network": "네트워크", "Network Options": "네트워크 설정", "Nxlink": "Nxlink", - "Check for update": "업데이트 확인", + "Nxlink Connected": "Nxlink 연결됨", + "Nxlink Upload": "Nxlink 업로드", + "Nxlink Finished": "Nxlink 종료됨", + "Language": "언어", + "Auto": "자동", + "English": "English", + "Japanese": "日本語", + "French": "Français", + "German": "Deutsch", + "Italian": "Italiano", + "Spanish": "Español", + "Chinese": "中文", + "Korean": "한국어", + "Dutch": "Dutch", + "Portuguese": "Português", + "Russian": "Русский", + "Logging": "로깅", + "Replace hbmenu on exit": "hbmenu를 교체", + "Misc": "기타", + "Misc Options": "기타", + "Web": "웹 브라우저", + + "FileBrowser": "파일 탐색기", + "%zd files": "%zd개의 파일", + "%zd dirs": "%zd개의 폴더", "File Options": "파일 설정", + "Show Hidden": "숨겨진 항목 표시", + "Folders First": "폴더 우선 정렬", + "Hidden Last": "숨겨진 항목 후순 정렬", "Cut": "잘라내기", "Copy": "복사", + "Paste": "붙여넣기", + "Paste ": " ", + " file(s)?": "개 항목을 붙여넣으시겠습니까?", "Rename": "이름 바꾸기", + "Set New File Name": "새 파일명 입력", + "Advanced": "고급", "Advanced Options": "고급 설정", "Create File": "파일 생성", + "Set File Name": "파일명 입력", "Create Folder": "새 폴더", - "View as text": "텍스트로 보기", + "Set Folder Name": "폴더명 입력", "View as text (unfinished)": "텍스트로 보기 (미완성)", "Set Archive Bit": "아카이브 비트 설정", + "Warning! Setting the archive bit cannot be undone!": "경고: 아카이브 비트 설정은 취소할 수 없습니다!", + "Empty...": "비어있습니다...", + "Open with DayBreak?": "DayBreak로 여시겠습니까?", + "Launch option for: ": "실행 옵션: ", + + "Homebrew": "홈브류", + "Homebrew Options": "홈브류 설정", + "Hide Sphaira": "Sphaira 숨기기", + "Install Forwarder": "바로가기 설치", + "WARNING: Installing forwarders will lead to a ban!": "주의: 바로가기 설치시 BAN 위험이 있습니다!", + "Installing Forwarder": "바로가기 설치중...", + "Creating Program": "프로그램 작성중...", + "Creating Control": "컨트롤 작성중...", + "Creating Meta": "메타 작성중...", + "Writing Nca": "Nca 쓰는중...", + "Updating ncm databse": "ncm 데이터베이스 업데이트중...", + "Pushing application record": "응용 프로그램 기록 푸시중...", + "Installed!": "설치 완료!", + "Failed to install forwarder": "바로가기 설치 실패", + + "AppStore": "앱스토어", + "Filter: %s | Sort: %s | Order: %s": "필터: %s | 분류: %s | 정렬: %s", "AppStore Options": "앱스토어 설정", "All": "전체", "Games": "게임", "Emulators": "에뮬레이터", "Tools": "도구", - "Advanced": "고급", "Themes": "테마", "Legacy": "레거시", - "Misc": "기타", - "Downloads": "다운로드순", - "Filter": "필터", - "Search": "검색", - "Menu Options": "메뉴", - "Header": "헤더", - "Theme": "테마", - "Network": "네트워크", - "Logging": "로깅", - "Enabled": "", - "Disabled": "", - "Replace hbmenu on exit": "종료 시 hbmenu 교체", - "Misc Options": "기타", - "Themezer": "Themezer", + "version: %s": "버전: %s", + "updated: %s": "갱신일: %s", + "category: %s": "카테고리: %s", + "extracted: %.2f MiB": "용량: %.2f MiB", + "app_dls: %s": "다운로드 횟수: %s", + "More by Author": "개발자의 다른 앱 더보기", + "Leave Feedback": "피드백 남기기", + "Irs": "Joy-Con IR 카메라", - "Web": "웹 브라우저", - "Download": "다운로드", - "Next Page": "다음 페이지", - "Prev Page": "이전 페이지", - "Pad ": "Joy-Con ", - " (Unconnected)": " (연결 없음)", - "HandHeld": "본체 연결", + "Ambient Noise Level: ": "노이즈 레벨: ", + "Controller": "컨트롤러", + "Pad ": "조이콘 ", " (Available)": " (사용 가능)", + " (Unconnected)": " (연결 없음)", + "HandHeld": "- 본체 연결", + "Rotation": "화면 회전", "0 (Sideways)": "0 (좌회전)", "90 (Flat)": "90 (정방향)", "180 (-Sideways)": "180 (우회전)", "270 (Upside down)": "270 (역전)", + "Colour": "컬러 팔레트", "Grey": "그레이", "Ironbow": "아이언보우", "Green": "그린", "Red": "레드", "Blue": "블루", + "Light Target": "반사 표적", "All leds": "모든 LED 켜기", "Bright group": "Bright LED 켜기", "Dim group": "Dim LED 켜기", "None": "LED 끄기", + "Gain": "대비", + "Negative Image": "화상 이미지", "Normal image": "일반", "Negative image": "반전", + "Format": "해상도", "320x240": "320×240", "160x120": "160×120", "80x60": "80×60", "40x30": "40×30", "20x15": "20×15", - "Controller": "컨트롤러", - "Rotation": "화면 회전", - "Colour": "팔레트", - "Light Target": "반사 표적", - "Gain": "대비", - "Negative Image": "화상 이미지", - "Format": "해상도", "Trimming Format": "트리밍 해상도", "External Light Filter": "외부 조명 필터", "Load Default": "기본값으로 설정", - "No Internet": "네트워크 연결 없음", - "[Applet Mode]": "[애플릿 모드]", - "Language": "언어" -} + + "Themezer": "Themezer", + "Themezer Options": "Themezer 설정", + "Nsfw": "선정성 테마", + "Page": "페이지", + "Page %zu / %zu": "페이지 %zu / %zu", + "Enter Page Number": "페이지 번호 입력", + "Bad Page": "잘못된 페이지", + "Download theme?": "테마를 내려받으시겠습니까?", + + "Installing ": "설치중... ", + "Uninstalling ": "설치 제거중... ", + "Deleting ": "삭제중... ", + "Deleting": "삭제중...", + "Pasting ": "붙여넣는중... ", + "Pasting": "붙여넣는중...", + "Removing ": "제거중... ", + "Scanning ": "스캔중... ", + "Creating ": "작성중... ", + "Copying ": "복사중... ", + "Downloading ": "다운로드중... ", + "Checking MD5": "MD5 확인중... ", + "Loading...": "로딩중...", + "Loading": "로딩중...", + "Empty!": "찾을 수 없습니다!", + "Not Ready...": "준비되지 않았습니다...", + "Error loading page!": "페이지 로딩 오류!", + "Update avaliable: ": "업데이트 가능: ", + "Download update: ": "업데이트 다운로드: ", + "Failed to download update": "업데이트 다운로드 실패!", + "Delete Selected files?": "정말 삭제하시겠습니까?", + "Completely remove ": "제거하시겠습니까 ", + "Are you sure you want to delete ": "sdmc:", + "Are you sure you wish to cancel?": "정말 취소하시겠습니까?" +} \ No newline at end of file diff --git a/assets/romfs/i18n/nl.json b/assets/romfs/i18n/nl.json index 47ec9e3..2fb541d 100644 --- a/assets/romfs/i18n/nl.json +++ b/assets/romfs/i18n/nl.json @@ -1,114 +1,208 @@ { - "Launch": "Launch", + "[Applet Mode]": "[Applet-modus]", + "No Internet": "Geen internet", + "Fs": "Fs", + "App": "App", + "Menu": "Menu", "Options": "Opties", - "Homebrew Options": "Homebrew-opties", + "OK": "", + "Back": "Terug", + "Select": "", + "Open": "Open", + "Launch": "Launch", + "Info": "Info", + "Install": "Installeren", + "Delete": "Verwijderen", + "Changelog": "", + "Details": "", + "Update": "", + "Remove": "", + "Download": "Downloaden", + "Next Page": "Volgende pagina", + "Prev Page": "Vorige pagina", + "Yes": "Ja", + "No": "Nee", + "Enabled": "Ingeschakeld", + "Disabled": "Gehandicapt", + "Sort By": "Sorteer op", "Sort Options": "Sorteeropties", + "Filter": "Filter", + "Sort": "Soort", + "Order": "Volgorde", + "Search": "Zoekopdracht", "Updated": "Bijgewerkt", + "Downloads": "Downloads", "Size": "Maat", "Alphabetical": "Alfabetisch", + "Likes": "", + "ID": "", "Decending": "Aflopend", + "Descending (down)": "Aflopend", + "Desc": "Aflopend", "Ascending": "Oplopend", - "Sort": "Soort", - "Order": "Volgorde", - "Info": "Info", - "Delete": "Verwijderen", - "Hide Sphaira": "Verberg Sphaira", - "Are you sure you want to delete ": "Weet u zeker dat u wilt verwijderen ", - "Install Forwarder": "Forwarder installeren", - "WARNING: Installing forwarders will lead to a ban!": "WAARSCHUWING: Het installeren van forwarders leidt tot een ban!", - "Back": "Terug", - "Install": "Installeren", - "Fs": "Fs", - "App": "App", - "Menu": "Menu", - "Homebrew": "Zelf brouwen", - "FileBrowser": "Bestandsbrowser", - "Open": "Open", + "Ascending (Up)": "Oplopend", + "Asc": "Oplopend", + + "Menu Options": "Menu-opties", + "Header": "Koptekst", + "Theme": "Thema", "Theme Options": "Thema Opties", "Select Theme": "Selecteer Thema", "Shuffle": "Schudden", "Music": "Muziek", - "Show Hidden": "Toon verborgen", - "Folders First": "Mappen eerst", - "Hidden Last": "Verborgen laatste", - "Yes": "Ja", - "No": "Nee", + "Network": "Netwerk", "Network Options": "Netwerkopties", "Nxlink": "Nxlink", - "Check for update": "Controleer op update", + "Nxlink Connected": "", + "Nxlink Upload": "", + "Nxlink Finished": "", + "Language": "Taal", + "Auto": "", + "English": "English", + "Japanese": "日本語", + "French": "Français", + "German": "Deutsch", + "Italian": "Italiano", + "Spanish": "Español", + "Chinese": "中文", + "Korean": "한국어", + "Dutch": "Dutch", + "Portuguese": "Português", + "Russian": "Русский", + "Logging": "Loggen", + "Replace hbmenu on exit": "Vervang hbmenu bij afsluiten", + "Misc": "Diversen", + "Misc Options": "Diverse opties", + "Web": "Web", + + "FileBrowser": "Bestandsbrowser", + "%zd files": "%zd files", + "%zd dirs": "%zd dirs", "File Options": "Bestandsopties", + "Show Hidden": "Toon verborgen", + "Folders First": "Mappen eerst", + "Hidden Last": "Verborgen laatste", "Cut": "Snee", "Copy": "Kopiëren", + "Paste": "", + "Paste ": "", + " file(s)?": "", "Rename": "Hernoemen", + "Set New File Name": "", + "Advanced": "Geavanceerd", "Advanced Options": "Bestand maken", "Create File": "Bestand maken", + "Set File Name": "", "Create Folder": "Map maken", - "View as text": "Bekijk als tekst", + "Set Folder Name": "", "View as text (unfinished)": "Bekijk als tekst (onvoltooid)", "Set Archive Bit": "Archiefbit instellen", + "Warning! Setting the archive bit cannot be undone!": "", + "Empty...": "", + "Open with DayBreak?": "", + "Launch option for: ": "", + + "Homebrew": "Zelf brouwen", + "Homebrew Options": "Homebrew-opties", + "Hide Sphaira": "Verberg Sphaira", + "Install Forwarder": "Forwarder installeren", + "WARNING: Installing forwarders will lead to a ban!": "WAARSCHUWING: Het installeren van forwarders leidt tot een ban!", + "Installing Forwarder": "", + "Creating Program": "", + "Creating Control": "", + "Creating Meta": "", + "Writing Nca": "", + "Updating ncm databse": "", + "Pushing application record": "", + "Installed!": "", + "Failed to install forwarder": "", + + "AppStore": "", + "Filter: %s | Sort: %s | Order: %s": "Filter: %s | Soort: %s | Volgorde: %s", "AppStore Options": "AppStore-opties", "All": "Alle", "Games": "Spellen", "Emulators": "Emulators", "Tools": "Hulpmiddelen", - "Advanced": "Geavanceerd", "Themes": "Thema's", "Legacy": "Nalatenschap", - "Misc": "Diversen", - "Downloads": "Downloads", - "Filter": "Filter", - "Search": "Zoekopdracht", - "Menu Options": "Menu-opties", - "Header": "Koptekst", - "Theme": "Thema", - "Network": "Netwerk", - "Logging": "Loggen", - "Enabled": "Ingeschakeld", - "Disabled": "Gehandicapt", - "Replace hbmenu on exit": "Vervang hbmenu bij afsluiten", - "Misc Options": "Diverse opties", - "Themezer": "Themamaker", + "version: %s": "version: %s", + "updated: %s": "updated: %s", + "category: %s": "category: %s", + "extracted: %.2f MiB": "extracted: %.2f MiB", + "app_dls: %s": "app_dls: %s", + "More by Author": "", + "Leave Feedback": "", + "Irs": "Ir", - "Web": "Web", - "Download": "Downloaden", - "Next Page": "Volgende pagina", - "Prev Page": "Vorige pagina", + "Ambient Noise Level: ": "", + "Controller": "Controleur", "Pad ": "Pad ", + " (Available)": " (Beschikbaar)", " (Unconnected)": " (Niet verbonden)", "HandHeld": "Handbediende", - " (Available)": " (Beschikbaar)", + "Rotation": "Rotatie", "0 (Sideways)": "0 (zijwaarts)", "90 (Flat)": "90 (plat)", "180 (-Sideways)": "180 (-zijwaarts)", "270 (Upside down)": "270 (ondersteboven)", + "Colour": "Kleur", "Grey": "Grijs", "Ironbow": "Ijzerboog", "Green": "Groente", "Red": "Rood", "Blue": "Blauw", + "Light Target": "Licht doel", "All leds": "Alle leds", "Bright group": "Heldere groep", "Dim group": "Dim groep", "None": "Geen", - "Normal image": "Normaal beeld", - "Negative image": "Negatief beeld", - "320x240": "320x240", - "160x120": "160x120", - "80x60": "80x60", - "40x30": "40x30", - "20x15": "20x15", - "Controller": "Controleur", - "Rotation": "Rotatie", - "Colour": "Kleur", - "Light Target": "Licht doel", "Gain": "Verdienen", "Negative Image": "Negatief beeld", + "Normal image": "Normaal beeld", + "Negative image": "Negatief beeld", "Format": "Formaat", + "320x240": "320×240", + "160x120": "160×120", + "80x60": "80×60", + "40x30": "40×30", + "20x15": "20×15", "Trimming Format": "Trimformaat", "External Light Filter": "Extern lichtfilter", "Load Default": "Standaard laden", - "No Internet": "Geen internet", - "[Applet Mode]": "[Applet-modus]", - "Language": "Taal" -} + + "Themezer": "Themamaker", + "Themezer Options": "", + "Nsfw": "", + "Page": "", + "Page %zu / %zu": "Page %zu / %zu", + "Enter Page Number": "", + "Bad Page": "", + "Download theme?": "", + + "Installing ": "", + "Uninstalling ": "", + "Deleting ": "", + "Deleting": "", + "Pasting ": "", + "Pasting": "", + "Removing ": "", + "Scanning ": "", + "Creating ": "", + "Copying ": "", + "Downloading ": "", + "Checking MD5": "", + "Loading...": "", + "Loading": "", + "Empty!": "", + "Not Ready...": "", + "Error loading page!": "", + "Update avaliable: ": "", + "Download update: ": "", + "Failed to download update": "", + "Delete Selected files?": "", + "Completely remove ": "", + "Are you sure you want to delete ": "Weet u zeker dat u wilt verwijderen ", + "Are you sure you wish to cancel?": "" +} \ No newline at end of file diff --git a/assets/romfs/i18n/pt.json b/assets/romfs/i18n/pt.json index d8460c4..22d3548 100644 --- a/assets/romfs/i18n/pt.json +++ b/assets/romfs/i18n/pt.json @@ -1,114 +1,208 @@ { - "Launch": "Iniciar", + "[Applet Mode]": "[Modo Applet]", + "No Internet": "Sem Internet", + "Fs": "Fs", + "App": "Aplicativo", + "Menu": "Menu", "Options": "Opções", - "Homebrew Options": "Opções do Homebrew", + "OK": "", + "Back": "Voltar", + "Select": "", + "Open": "Abrir", + "Launch": "Iniciar", + "Info": "Informações", + "Install": "Instalar", + "Delete": "Excluir", + "Changelog": "", + "Details": "", + "Update": "", + "Remove": "", + "Download": "Download", + "Next Page": "Próxima página", + "Prev Page": "Página anterior", + "Yes": "Sim", + "No": "Não", + "Enabled": "Habilitado", + "Disabled": "Desabilitado", + "Sort By": "Ordenar por", "Sort Options": "Opções de classificação", + "Filter": "Filtro", + "Sort": "Organizar", + "Order": "Ordem", + "Search": "Procurar", "Updated": "Atualizado", + "Downloads": "Downloads", "Size": "Tamanho", "Alphabetical": "Alfabético", + "Likes": "", + "ID": "", "Decending": "Decrescente", + "Descending (down)": "Decrescente", + "Desc": "Decrescente", "Ascending": "Ascendente", - "Sort": "Organizar", - "Order": "Ordem", - "Info": "Informações", - "Delete": "Excluir", - "Hide Sphaira": "Esconder Sphaira", - "Are you sure you want to delete ": "Excluir ", - "Install Forwarder": "Instalar forwarder", - "WARNING: Installing forwarders will lead to a ban!": "AVISO: Isso pode resultar em um banimento!", - "Back": "Voltar", - "Install": "Instalar", - "Fs": "Fs", - "App": "Aplicativo", - "Menu": "Menu", - "Homebrew": "Homebrew", - "FileBrowser": "Navegador de arquivos", - "Open": "Abrir", + "Ascending (Up)": "Ascendente", + "Asc": "Ascendente", + + "Menu Options": "Opções do menu", + "Header": "Cabeçalho", + "Theme": "Tema", "Theme Options": "Opções de tema", "Select Theme": "Selecionar tema", "Shuffle": "Embaralhar", "Music": "Música", - "Show Hidden": "Mostrar oculto", - "Folders First": "Pastas primeiro", - "Hidden Last": "Oculto por último", - "Yes": "Sim", - "No": "Não", + "Network": "Rede", "Network Options": "Opções de rede", "Nxlink": "Nxlink", - "Check for update": "Verificar se há atualização", + "Nxlink Connected": "", + "Nxlink Upload": "", + "Nxlink Finished": "", + "Language": "Idioma", + "Auto": "", + "English": "English", + "Japanese": "日本語", + "French": "Français", + "German": "Deutsch", + "Italian": "Italiano", + "Spanish": "Español", + "Chinese": "中文", + "Korean": "한국어", + "Dutch": "Dutch", + "Portuguese": "Português", + "Russian": "Русский", + "Logging": "Logging", + "Replace hbmenu on exit": "Substitua hbmenu ao sair", + "Misc": "Diversos", + "Misc Options": "Opções diversas", + "Web": "Rede", + + "FileBrowser": "Navegador de arquivos", + "%zd files": "%zd files", + "%zd dirs": "%zd dirs", "File Options": "Opções de arquivo", + "Show Hidden": "Mostrar oculto", + "Folders First": "Pastas primeiro", + "Hidden Last": "Oculto por último", "Cut": "Cortar", "Copy": "Copiar", + "Paste": "", + "Paste ": "", + " file(s)?": "", "Rename": "Renomear", + "Set New File Name": "", + "Advanced": "Avançado", "Advanced Options": "Criar arquivo", "Create File": "Criar arquivo", + "Set File Name": "", "Create Folder": "Criar pasta", - "View as text": "Ver como texto", + "Set Folder Name": "", "View as text (unfinished)": "Ver como texto (inacabado)", "Set Archive Bit": "Definir bit de arquivo", + "Warning! Setting the archive bit cannot be undone!": "", + "Empty...": "", + "Open with DayBreak?": "", + "Launch option for: ": "", + + "Homebrew": "Homebrew", + "Homebrew Options": "Opções do Homebrew", + "Hide Sphaira": "Esconder Sphaira", + "Install Forwarder": "Instalar forwarder", + "WARNING: Installing forwarders will lead to a ban!": "AVISO: Isso pode resultar em um banimento!", + "Installing Forwarder": "", + "Creating Program": "", + "Creating Control": "", + "Creating Meta": "", + "Writing Nca": "", + "Updating ncm databse": "", + "Pushing application record": "", + "Installed!": "", + "Failed to install forwarder": "", + + "AppStore": "", + "Filter: %s | Sort: %s | Order: %s": "Filtro: %s | Organizar: %s | Ordem: %s", "AppStore Options": "Opções da AppStore", "All": "Todos", "Games": "Jogos", "Emulators": "Emuladores", "Tools": "Ferramentas", - "Advanced": "Avançado", "Themes": "Temas", "Legacy": "Legado", - "Misc": "Diversos", - "Downloads": "Downloads", - "Filter": "Filtro", - "Search": "Procurar", - "Menu Options": "Opções do menu", - "Header": "Cabeçalho", - "Theme": "Tema", - "Network": "Rede", - "Logging": "Logging", - "Enabled": "Habilitado", - "Disabled": "Desabilitado", - "Replace hbmenu on exit": "Substitua hbmenu ao sair", - "Misc Options": "Opções diversas", - "Themezer": "Themezer", + "version: %s": "version: %s", + "updated: %s": "updated: %s", + "category: %s": "category: %s", + "extracted: %.2f MiB": "extracted: %.2f MiB", + "app_dls: %s": "app_dls: %s", + "More by Author": "", + "Leave Feedback": "", + "Irs": "Irs", - "Web": "Rede", - "Download": "Download", - "Next Page": "Próxima página", - "Prev Page": "Página anterior", + "Ambient Noise Level: ": "", + "Controller": "Controle", "Pad ": "Pad ", + " (Available)": " (Disponível)", " (Unconnected)": " (Desconectado)", "HandHeld": "Portátil", - " (Available)": " (Disponível)", + "Rotation": "Rotação", "0 (Sideways)": "0 (Lateralmente)", "90 (Flat)": "90 (plano)", "180 (-Sideways)": "180 (-Lateralmente)", "270 (Upside down)": "270 (De cabeça para baixo)", + "Colour": "Cor", "Grey": "Cinza", "Ironbow": "Arco de ferro", "Green": "Verde", "Red": "Vermelho", "Blue": "Azul", + "Light Target": "Alvo leve", "All leds": "Todos os LEDs", "Bright group": "Grupo claro", "Dim group": "Grupo escuro", "None": "Nenhum", - "Normal image": "Imagem normal", - "Negative image": "Imagem negativa", - "320x240": "320x240", - "160x120": "160x120", - "80x60": "80x60", - "40x30": "40x30", - "20x15": "20x15", - "Controller": "Controle", - "Rotation": "Rotação", - "Colour": "Cor", - "Light Target": "Alvo leve", "Gain": "Ganho", "Negative Image": "Imagem negativa", + "Normal image": "Imagem normal", + "Negative image": "Imagem negativa", "Format": "Formatar", + "320x240": "320×240", + "160x120": "160×120", + "80x60": "80×60", + "40x30": "40×30", + "20x15": "20×15", "Trimming Format": "Formato de corte", "External Light Filter": "Filtro de luz externo", "Load Default": "Carregar padrão", - "No Internet": "Sem Internet", - "[Applet Mode]": "[Modo Applet]", - "Language": "Idioma" -} + + "Themezer": "Themezer", + "Themezer Options": "", + "Nsfw": "", + "Page": "", + "Page %zu / %zu": "Page %zu / %zu", + "Enter Page Number": "", + "Bad Page": "", + "Download theme?": "", + + "Installing ": "", + "Uninstalling ": "", + "Deleting ": "", + "Deleting": "", + "Pasting ": "", + "Pasting": "", + "Removing ": "", + "Scanning ": "", + "Creating ": "", + "Copying ": "", + "Downloading ": "", + "Checking MD5": "", + "Loading...": "", + "Loading": "", + "Empty!": "", + "Not Ready...": "", + "Error loading page!": "", + "Update avaliable: ": "", + "Download update: ": "", + "Failed to download update": "", + "Delete Selected files?": "", + "Completely remove ": "", + "Are you sure you want to delete ": "Excluir ", + "Are you sure you wish to cancel?": "" +} \ No newline at end of file diff --git a/assets/romfs/i18n/ru.json b/assets/romfs/i18n/ru.json index d5696c7..34cdd7a 100644 --- a/assets/romfs/i18n/ru.json +++ b/assets/romfs/i18n/ru.json @@ -1,114 +1,208 @@ { + "[Applet Mode]": "[Режим апплета]", + "No Internet": "Нет Интернета", + "Fs": "Фс", + "App": "Приложение", + "Menu": "Меню", + "Options": "Параметры темы", + "OK": "", + "Back": "Назад", + "Select": "", + "Open": "Открыть", "Launch": "Запуск", - "Options": "Параметры", - "Homebrew Options": "Параметры Homebrew", + "Info": "Информация", + "Install": "Установить", + "Delete": "Удалить", + "Changelog": "", + "Details": "", + "Update": "", + "Remove": "", + "Download": "Скачать", + "Next Page": "Следующая страница", + "Prev Page": "Предыдущая страница", + "Yes": "Да", + "No": "Нет", + "Enabled": "Включено", + "Disabled": "Отключено", + "Sort By": "Сортировать по", "Sort Options": "Параметры сортировки", + "Filter": "Фильтр", + "Sort": "Сортировать", + "Order": "Порядок", + "Search": "Поиск", "Updated": "Обновлено", + "Downloads": "Загрузки", "Size": "Размер", "Alphabetical": "По наименованию", + "Likes": "", + "ID": "", "Decending": "По убыванию", + "Descending (down)": "По убыванию", + "Desc": "По убыванию", "Ascending": "По возрастанию", - "Sort": "Сортировать", - "Order": "Порядок", - "Info": "Информация", - "Delete": "Удалить", - "Hide Sphaira": "Скрыть Sphaira", - "Are you sure you want to delete ": "Вы уверены, что хотите удалить ", - "Install Forwarder": "Установить форвардер", - "WARNING: Installing forwarders will lead to a ban!": "ВНИМАНИЕ: Установка форвардеров приведет к бану!", - "Back": "Назад", - "Install": "Установить", - "Fs": "Фс", - "App": "Приложение", - "Menu": "Меню", - "Homebrew": "Homebrew", - "FileBrowser": "Файловый менеджер", - "Open": "Открыть", + "Ascending (Up)": "По возрастанию", + "Asc": "По возрастанию", + + "Menu Options": "Параметры меню", + "Header": "Заголовок", + "Theme": "Тема", "Theme Options": "Параметры темы", "Select Theme": "Выберите тему", "Shuffle": "Перетасовать", "Music": "Музыка", - "Show Hidden": "Показать скрытые", - "Folders First": "Папки в первую очередь", - "Hidden Last": "Скрытые в последнюю очередь", - "Yes": "Да", - "No": "Нет", + "Network": "Сеть", "Network Options": "Параметры сети", "Nxlink": "Nxlink", - "Check for update": "Проверить наличие обновлений", + "Nxlink Connected": "", + "Nxlink Upload": "", + "Nxlink Finished": "", + "Language": "Язык", + "Auto": "", + "English": "English", + "Japanese": "日本語", + "French": "Français", + "German": "Deutsch", + "Italian": "Italiano", + "Spanish": "Español", + "Chinese": "中文", + "Korean": "한국어", + "Dutch": "Dutch", + "Portuguese": "Português", + "Russian": "Русский", + "Logging": "Журналирование", + "Replace hbmenu on exit": "Заменить hbmenu при выходе", + "Misc": "Прочее", + "Misc Options": "Прочие параметры", + "Web": "Интернет", + + "FileBrowser": "Файловый менеджер", + "%zd files": "%zd files", + "%zd dirs": "%zd dirs", "File Options": "Параметры файла", + "Show Hidden": "Показать скрытые", + "Folders First": "Папки в первую очередь", + "Hidden Last": "Скрытые в последнюю очередь", "Cut": "Вырезать", "Copy": "Копировать", + "Paste": "", + "Paste ": "", + " file(s)?": "", "Rename": "Переименовать", + "Set New File Name": "", + "Advanced": "Продвинутые", "Advanced Options": "Расширенные параметры", "Create File": "Создать файл", + "Set File Name": "", "Create Folder": "Создать папку", - "View as text": "Посмотреть как текст", + "Set Folder Name": "", "View as text (unfinished)": "Посмотреть как текст (незакончено)", "Set Archive Bit": "Установить Archive Bit", + "Warning! Setting the archive bit cannot be undone!": "", + "Empty...": "", + "Open with DayBreak?": "", + "Launch option for: ": "", + + "Homebrew": "Homebrew", + "Homebrew Options": "Параметры Homebrew", + "Hide Sphaira": "Скрыть Sphaira", + "Install Forwarder": "Установить форвардер", + "WARNING: Installing forwarders will lead to a ban!": "ВНИМАНИЕ: Установка форвардеров приведет к бану!", + "Installing Forwarder": "Установить форвардер", + "Creating Program": "", + "Creating Control": "", + "Creating Meta": "", + "Writing Nca": "", + "Updating ncm databse": "", + "Pushing application record": "", + "Installed!": "", + "Failed to install forwarder": "", + + "AppStore": "", + "Filter: %s | Sort: %s | Order: %s": "Фильтр: %s | Сортировать: %s | Порядок: %s", "AppStore Options": "Параметры магазина приложений", "All": "Все", "Games": "Игры", "Emulators": "Эмуляторы", "Tools": "Инструменты", - "Advanced": "Продвинутые", "Themes": "Темы", "Legacy": "Легаси", - "Misc": "Прочее", - "Downloads": "Загрузки", - "Filter": "Фильтр", - "Search": "Поиск", - "Menu Options": "Параметры меню", - "Header": "Заголовок", - "Theme": "Тема", - "Network": "Сеть", - "Logging": "Журналирование", - "Enabled": "Включено", - "Disabled": "Отключено", - "Replace hbmenu on exit": "Заменить hbmenu при выходе", - "Misc Options": "Прочие параметры", - "Themezer": "Themezer", + "version: %s": "version: %s", + "updated: %s": "updated: %s", + "category: %s": "category: %s", + "extracted: %.2f MiB": "extracted: %.2f MiB", + "app_dls: %s": "app_dls: %s", + "More by Author": "", + "Leave Feedback": "", + "Irs": "Irs", - "Web": "Интернет", - "Download": "Скачать", - "Next Page": "Следующая страница", - "Prev Page": "Предыдущая страница", + "Ambient Noise Level: ": "", + "Controller": "Контроллер", "Pad ": "Pad ", + " (Available)": " (Доступно)", " (Unconnected)": " (Не подключено)", "HandHeld": "Портативный", - " (Available)": " (Доступно)", + "Rotation": "Вращение", "0 (Sideways)": "0 (набок)", "90 (Flat)": "90 (ровно)", "180 (-Sideways)": "180 (-вбок)", "270 (Upside down)": "270 (перевернуто)", + "Colour": "Цвет", "Grey": "Серый", "Ironbow": "Стальной", "Green": "Зеленый", "Red": "Красный", "Blue": "Синий", + "Light Target": "Световая мишень", "All leds": "Все светодиоды", "Bright group": "Яркая группа", "Dim group": "Тусклая группа", "None": "Никто", - "Normal image": "Обычное изображение", - "Negative image": "Негативное изображение", - "320x240": "320x240", - "160x120": "160x120", - "80x60": "80х60", - "40x30": "40x30", - "20x15": "20x15", - "Controller": "Контроллер", - "Rotation": "Вращение", - "Colour": "Цвет", - "Light Target": "Световая мишень", "Gain": "Прирост", "Negative Image": "Негативное изображение", + "Normal image": "Обычное изображение", + "Negative image": "Негативное изображение", "Format": "Формат", + "320x240": "320×240", + "160x120": "160×120", + "80x60": "80×60", + "40x30": "40×30", + "20x15": "20×15", "Trimming Format": "Формат обрезки", "External Light Filter": "Внешний светофильтр", "Load Default": "Загрузить умолчания", - "No Internet": "Нет Интернета", - "[Applet Mode]": "[Режим апплета]", - "Language": "Язык" -} + + "Themezer": "Themezer", + "Themezer Options": "", + "Nsfw": "", + "Page": "", + "Page %zu / %zu": "Page %zu / %zu", + "Enter Page Number": "", + "Bad Page": "", + "Download theme?": "", + + "Installing ": "", + "Uninstalling ": "", + "Deleting ": "", + "Deleting": "", + "Pasting ": "", + "Pasting": "", + "Removing ": "", + "Scanning ": "", + "Creating ": "", + "Copying ": "", + "Downloading ": "", + "Checking MD5": "", + "Loading...": "", + "Loading": "", + "Empty!": "", + "Not Ready...": "", + "Error loading page!": "", + "Update avaliable: ": "", + "Download update: ": "", + "Failed to download update": "", + "Delete Selected files?": "", + "Completely remove ": "", + "Are you sure you want to delete ": "Вы уверены, что хотите удалить ", + "Are you sure you wish to cancel?": "" +} \ No newline at end of file diff --git a/assets/romfs/i18n/zh.json b/assets/romfs/i18n/zh.json index 41c4fef..3dfdd31 100644 --- a/assets/romfs/i18n/zh.json +++ b/assets/romfs/i18n/zh.json @@ -1,115 +1,208 @@ { - "Launch": "启动", + "[Applet Mode]": "[小程序模式]", + "No Internet": "网络未连接", + "Fs": "文件系统", + "App": "插件", + "Menu": "菜单", "Options": "选项", - "Homebrew Options": "插件选项", + "OK": "", + "Back": "返回", + "Select": "", + "Open": "打开", + "Launch": "启动", + "Info": "信息", + "Install": "安装", + "Delete": "删除", + "Changelog": "", + "Details": "", + "Update": "", + "Remove": "", + "Download": "下载", + "Next Page": "下一页", + "Prev Page": "上一页", + "Yes": "是", + "No": "否", + "Enabled": "启用", + "Disabled": "禁用", + "Sort By": "排序方式", "Sort Options": "排序选项", + "Filter": "筛选", + "Sort": "排序", + "Order": "顺序", + "Search": "搜索", "Updated": "最近使用", + "Downloads": "下载", "Size": "大小", "Alphabetical": "按字母顺序", + "Likes": "", + "ID": "", "Decending": "降序", + "Descending (down)": "降序", + "Desc": "降序", "Ascending": "升序", - "Sort": "排序", - "Order": "顺序", - "Info": "信息", - "Delete": "删除", - "Hide Sphaira": "在插件列表中隐藏Sphaira", - "Are you sure you want to delete ": "您确定要删除吗 ", - "Install Forwarder": "安装前端应用", - "WARNING: Installing forwarders will lead to a ban!": "警告:安装前端应用可能导致ban机!", - "Back": "返回", - "Install": "安装", - "Fs": "文件系统", - "App": "插件", - "Menu": "菜单", - "Homebrew": "插件列表", - "AppStore": "插件商店", - "FileBrowser": "文件浏览", - "Open": "打开", + "Ascending (Up)": "升序", + "Asc": "升序", + + "Menu Options": "菜单选项", + "Header": "标题", + "Theme": "主题", "Theme Options": "主题选项", "Select Theme": "选择主题", "Shuffle": "随机播放", "Music": "音乐", + "Network": "网络", + "Network Options": "网络选项", + "Nxlink": "Nxlink", + "Nxlink Connected": "", + "Nxlink Upload": "", + "Nxlink Finished": "", + "Language": "语言", + "Auto": "", + "English": "English", + "Japanese": "日本語", + "French": "Français", + "German": "Deutsch", + "Italian": "Italiano", + "Spanish": "Español", + "Chinese": "中文", + "Korean": "한국어", + "Dutch": "Dutch", + "Portuguese": "Português", + "Russian": "Русский", + "Logging": "日志", + "Replace hbmenu on exit": "退出后用Sphaira替换hbmenu", + "Misc": "杂项", + "Misc Options": "杂项设置", + "Web": "网页浏览器", + + "FileBrowser": "文件浏览", + "%zd files": "%zd files", + "%zd dirs": "%zd dirs", + "File Options": "文件选项", "Show Hidden": "显示隐藏项目", "Folders First": "文件夹靠前", "Hidden Last": "隐藏项目置后", - "Yes": "是", - "No": "否", - "Network Options": "网络选项", - "Nxlink": "Nxlink开发工具", - "Check for update": "检查更新", - "File Options": "文件选项", "Cut": "剪切", "Copy": "复制", + "Paste": "", + "Paste ": "", + " file(s)?": "", "Rename": "重命名", + "Set New File Name": "", + "Advanced": "高级", "Advanced Options": "高级选项", "Create File": "新建文件", + "Set File Name": "", "Create Folder": "新建文件夹", - "View as text": "以文本形式查看", + "Set Folder Name": "", "View as text (unfinished)": "以文本形式查看(未完善)", "Set Archive Bit": "设置存档标志", + "Warning! Setting the archive bit cannot be undone!": "", + "Empty...": "", + "Open with DayBreak?": "", + "Launch option for: ": "", + + "Homebrew": "插件列表", + "Homebrew Options": "插件选项", + "Hide Sphaira": "在插件列表中隐藏Sphaira", + "Install Forwarder": "安装前端应用", + "WARNING: Installing forwarders will lead to a ban!": "警告:安装前端应用可能导致ban机!", + "Installing Forwarder": "", + "Creating Program": "", + "Creating Control": "", + "Creating Meta": "", + "Writing Nca": "", + "Updating ncm databse": "", + "Pushing application record": "", + "Installed!": "", + "Failed to install forwarder": "", + + "AppStore": "插件商店", + "Filter: %s | Sort: %s | Order: %s": "筛选: %s | 排序: %s | 顺序: %s", "AppStore Options": "插件商店选项", "All": "全部", "Games": "游戏", "Emulators": "模拟器", "Tools": "工具", - "Advanced": "高级", "Themes": "主题", "Legacy": "可更新", - "Misc": "杂项", - "Downloads": "下载", - "Filter": "筛选", - "Search": "搜索", - "Menu Options": "菜单选项", - "Header": "标题", - "Theme": "主题", - "Network": "网络", - "Logging": "日志", - "Enabled": "启用", - "Disabled": "禁用", - "Replace hbmenu on exit": "退出后用Sphaira替换hbmenu", - "Misc Options": "杂项设置", - "Themezer": "在线主题", + "version: %s": "version: %s", + "updated: %s": "updated: %s", + "category: %s": "category: %s", + "extracted: %.2f MiB": "extracted: %.2f MiB", + "app_dls: %s": "app_dls: %s", + "More by Author": "", + "Leave Feedback": "", + "Irs": "红外成像", - "Web": "网页浏览器", - "Download": "下载", - "Next Page": "下一页", - "Prev Page": "上一页", + "Ambient Noise Level: ": "", + "Controller": "控制器", "Pad ": "手柄 ", - " (Unconnected)": " (未连接)", - "HandHeld": "手持式", " (Available)": " (可用的)", + " (Unconnected)": " (未连接)", + "HandHeld": "", + "Rotation": "", "0 (Sideways)": "0度", "90 (Flat)": "90度", "180 (-Sideways)": "180度", "270 (Upside down)": "270度", + "Colour": "颜色", "Grey": "灰色", "Ironbow": "紫黄", "Green": "绿色", "Red": "红色", "Blue": "蓝色", + "Light Target": "光源目标", "All leds": "全部", "Bright group": "亮色组", "Dim group": "暗色组", "None": "无", - "Normal image": "正常图像", - "Negative image": "负片图像", - "320x240": "320x240", - "160x120": "160x120", - "80x60": "80x60", - "40x30": "40x30", - "20x15": "20x15", - "Controller": "控制器", - "Rotation": "旋转", - "Colour": "颜色", - "Light Target": "光源目标", "Gain": "增益", "Negative Image": "负片图像", + "Normal image": "正常图像", + "Negative image": "负片图像", "Format": "格式", + "320x240": "320×240", + "160x120": "160×120", + "80x60": "80×60", + "40x30": "40×30", + "20x15": "20×15", "Trimming Format": "裁剪格式", "External Light Filter": "外部光滤镜", "Load Default": "加载默认值", - "No Internet": "网络未连接", - "[Applet Mode]": "[小程序模式]", - "Language": "语言" -} + + "Themezer": "在线主题", + "Themezer Options": "", + "Nsfw": "", + "Page": "", + "Page %zu / %zu": "Page %zu / %zu", + "Enter Page Number": "", + "Bad Page": "", + "Download theme?": "", + + "Installing ": "", + "Uninstalling ": "", + "Deleting ": "", + "Deleting": "", + "Pasting ": "", + "Pasting": "", + "Removing ": "", + "Scanning ": "", + "Creating ": "", + "Copying ": "", + "Downloading ": "", + "Checking MD5": "", + "Loading...": "", + "Loading": "", + "Empty!": "", + "Not Ready...": "", + "Error loading page!": "", + "Update avaliable: ": "", + "Download update: ": "", + "Failed to download update": "", + "Delete Selected files?": "", + "Completely remove ": "", + "Are you sure you want to delete ": "您确定要删除吗 ", + "Are you sure you wish to cancel?": "" +} \ No newline at end of file diff --git a/sphaira/source/app.cpp b/sphaira/source/app.cpp index 28e8bcf..f731dab 100644 --- a/sphaira/source/app.cpp +++ b/sphaira/source/app.cpp @@ -251,18 +251,18 @@ void App::Loop() { switch (arg.type) { case NxlinkCallbackType_Connected: log_write("[NxlinkCallbackType_Connected]\n"); - App::Notify("Nxlink Connected"); + App::Notify("Nxlink Connected"_i18n); break; case NxlinkCallbackType_WriteBegin: log_write("[NxlinkCallbackType_WriteBegin] %s\n", arg.file.filename); - App::Notify("Nxlink Upload"); + App::Notify("Nxlink Upload"_i18n); break; case NxlinkCallbackType_WriteProgress: // log_write("[NxlinkCallbackType_WriteProgress]\n"); break; case NxlinkCallbackType_WriteEnd: log_write("[NxlinkCallbackType_WriteEnd] %s\n", arg.file.filename); - App::Notify("Nxlink Finished"); + App::Notify("Nxlink Finished"_i18n); break; } } else if constexpr(std::is_same_v) { @@ -446,10 +446,10 @@ auto App::Install(OwoConfig& config) -> Result { if (R_FAILED(rc)) { App::PlaySoundEffect(SoundEffect_Error); - App::Push(std::make_shared(rc, "Failed to install forwarder")); + App::Push(std::make_shared(rc, "Failed to install forwarder"_i18n)); } else { App::PlaySoundEffect(SoundEffect_Install); - App::Notify("Installed!"); + App::Notify("Installed!"_i18n); } return rc; @@ -476,10 +476,10 @@ auto App::Install(ui::ProgressBox* pbox, OwoConfig& config) -> Result { if (R_FAILED(rc)) { App::PlaySoundEffect(SoundEffect_Error); - App::Push(std::make_shared(rc, "Failed to install forwarder")); + App::Push(std::make_shared(rc, "Failed to install forwarder"_i18n)); } else { App::PlaySoundEffect(SoundEffect_Install); - App::Notify("Installed!"); + App::Notify("Installed!"_i18n); } return rc; diff --git a/sphaira/source/owo.cpp b/sphaira/source/owo.cpp index 1b0eada..7288e15 100644 --- a/sphaira/source/owo.cpp +++ b/sphaira/source/owo.cpp @@ -11,6 +11,7 @@ #include "defines.hpp" #include "app.hpp" #include "ui/progress_box.hpp" +#include "i18n.hpp" namespace sphaira { namespace { @@ -1027,7 +1028,7 @@ auto install_forwader_internal(ui::ProgressBox* pbox, OwoConfig& config, NcmStor R_UNLESS(!config.main.empty(), OwoError_BadArgs); R_UNLESS(!config.npdm.empty(), OwoError_BadArgs); - pbox->NewTransfer("Creating Program").UpdateTransfer(0, 8); + pbox->NewTransfer("Creating Program"_i18n).UpdateTransfer(0, 8); FileEntries exefs; add_file_entry(exefs, "main", config.main); add_file_entry(exefs, "main.npdm", config.npdm); @@ -1059,7 +1060,7 @@ auto install_forwader_internal(ui::ProgressBox* pbox, OwoConfig& config, NcmStor // create control { - pbox->NewTransfer("Creating Control").UpdateTransfer(1, 8); + pbox->NewTransfer("Creating Control"_i18n).UpdateTransfer(1, 8); // patch nacp NcapPatch nacp_patch{}; nacp_patch.tid = tid; @@ -1082,7 +1083,7 @@ auto install_forwader_internal(ui::ProgressBox* pbox, OwoConfig& config, NcmStor NcmContentStorageRecord content_storage_record; NcmContentMetaData content_meta_data; { - pbox->NewTransfer("Creating Meta").UpdateTransfer(2, 8); + pbox->NewTransfer("Creating Meta"_i18n).UpdateTransfer(2, 8); const auto meta_entry = create_meta_nca(tid, key, storage_id, nca_entries); nca_entries.emplace_back(meta_entry.nca_entry); @@ -1099,7 +1100,7 @@ auto install_forwader_internal(ui::ProgressBox* pbox, OwoConfig& config, NcmStor ON_SCOPE_EXIT(ncmContentStorageClose(&cs)); for (const auto& nca : nca_entries) { - pbox->NewTransfer("Writing Nca").UpdateTransfer(3, 8); + pbox->NewTransfer("Writing Nca"_i18n).UpdateTransfer(3, 8); NcmContentId content_id; NcmPlaceHolderId placeholder_id; std::memcpy(&content_id, nca.hash, sizeof(content_id)); @@ -1114,7 +1115,7 @@ auto install_forwader_internal(ui::ProgressBox* pbox, OwoConfig& config, NcmStor // setup database { - pbox->NewTransfer("Updating ncm databse").UpdateTransfer(4, 8); + pbox->NewTransfer("Updating ncm databse"_i18n).UpdateTransfer(4, 8); NcmContentMetaDatabase db; R_TRY(ncmOpenContentMetaDatabase(&db, storage_id)); ON_SCOPE_EXIT(ncmContentMetaDatabaseClose(&db)); @@ -1125,7 +1126,7 @@ auto install_forwader_internal(ui::ProgressBox* pbox, OwoConfig& config, NcmStor // push record { - pbox->NewTransfer("Pushing application record").UpdateTransfer(5, 8); + pbox->NewTransfer("Pushing application record"_i18n).UpdateTransfer(5, 8); Service srv{}, *srv_ptr = &srv; bool already_installed{}; @@ -1166,7 +1167,7 @@ auto install_forwarder(ui::ProgressBox* pbox, OwoConfig& config, NcmStorageId st } auto install_forwarder(OwoConfig& config, NcmStorageId storage_id) -> Result { - App::Push(std::make_shared("Installing Forwarder", [config, storage_id](auto pbox) mutable -> bool { + App::Push(std::make_shared("Installing Forwarder"_i18n, [config, storage_id](auto pbox) mutable -> bool { return R_SUCCEEDED(install_forwarder(pbox, config, storage_id)); })); R_SUCCEED(); diff --git a/sphaira/source/ui/menus/appstore.cpp b/sphaira/source/ui/menus/appstore.cpp index bf13b21..eaf0627 100644 --- a/sphaira/source/ui/menus/appstore.cpp +++ b/sphaira/source/ui/menus/appstore.cpp @@ -370,7 +370,7 @@ auto UninstallApp(ProgressBox* pbox, const Entry& entry) -> bool { // remove directory, this will also delete manifest and info const auto dir = BuildPackageCachePath(entry); - pbox->NewTransfer("Removing " + dir); + pbox->NewTransfer("Removing "_i18n + dir); if (R_FAILED(fs.DeleteDirectoryRecursively(dir))) { log_write("failed to delete folder: %s\n", dir); } else { @@ -394,7 +394,7 @@ auto InstallApp(ProgressBox* pbox, const Entry& entry) -> bool { // 1. download the zip if (!pbox->ShouldExit()) { - pbox->NewTransfer("Downloading " + entry.title); + pbox->NewTransfer("Downloading "_i18n + entry.title); log_write("starting download\n"); const auto url = BuildZipUrl(entry); @@ -416,7 +416,7 @@ auto InstallApp(ProgressBox* pbox, const Entry& entry) -> bool { // 2. md5 check the zip if (!pbox->ShouldExit()) { - pbox->NewTransfer("Checking MD5"); + pbox->NewTransfer("Checking MD5"_i18n); log_write("starting md5 check\n"); FsFile f; @@ -792,11 +792,11 @@ void EntryMenu::Draw(NVGcontext* vg, Theme* theme) { // gfx::drawTextArgs(vg, text_start_x, text_start_y, font_size, NVG_ALIGN_LEFT | NVG_ALIGN_TOP, theme->elements[ThemeEntryID_TEXT].colour, "author: %s", m_entry.author.c_str()); // text_start_y += text_inc_y; - gfx::drawTextArgs(vg, text_start_x, text_start_y, font_size, NVG_ALIGN_LEFT | NVG_ALIGN_TOP, theme->elements[ThemeEntryID_TEXT].colour, "version: %s", m_entry.version.c_str()); + gfx::drawTextArgs(vg, text_start_x, text_start_y, font_size, NVG_ALIGN_LEFT | NVG_ALIGN_TOP, theme->elements[ThemeEntryID_TEXT].colour, "version: %s"_i18n.c_str(), m_entry.version.c_str()); text_start_y += text_inc_y; - gfx::drawTextArgs(vg, text_start_x, text_start_y, font_size, NVG_ALIGN_LEFT | NVG_ALIGN_TOP, theme->elements[ThemeEntryID_TEXT].colour, "updated: %s", m_entry.updated.c_str()); + gfx::drawTextArgs(vg, text_start_x, text_start_y, font_size, NVG_ALIGN_LEFT | NVG_ALIGN_TOP, theme->elements[ThemeEntryID_TEXT].colour, "updated: %s"_i18n.c_str(), m_entry.updated.c_str()); text_start_y += text_inc_y; - gfx::drawTextArgs(vg, text_start_x, text_start_y, font_size, NVG_ALIGN_LEFT | NVG_ALIGN_TOP, theme->elements[ThemeEntryID_TEXT].colour, "category: %s", m_entry.category.c_str()); + gfx::drawTextArgs(vg, text_start_x, text_start_y, font_size, NVG_ALIGN_LEFT | NVG_ALIGN_TOP, theme->elements[ThemeEntryID_TEXT].colour, "category: %s"_i18n.c_str(), m_entry.category.c_str()); text_start_y += text_inc_y; // gfx::drawTextArgs(vg, text_start_x, text_start_y, font_size, NVG_ALIGN_LEFT | NVG_ALIGN_TOP, theme->elements[ThemeEntryID_TEXT].colour, "license: %s", m_entry.license.c_str()); // text_start_y += text_inc_y; @@ -804,9 +804,9 @@ void EntryMenu::Draw(NVGcontext* vg, Theme* theme) { // text_start_y += text_inc_y; // gfx::drawTextArgs(vg, text_start_x, text_start_y, font_size, NVG_ALIGN_LEFT | NVG_ALIGN_TOP, theme->elements[ThemeEntryID_TEXT].colour, "filesize: %.2f MiB", (double)m_entry.filesize / 1024.0); // text_start_y += text_inc_y; - gfx::drawTextArgs(vg, text_start_x, text_start_y, font_size, NVG_ALIGN_LEFT | NVG_ALIGN_TOP, theme->elements[ThemeEntryID_TEXT].colour, "extracted: %.2f MiB", (double)m_entry.extracted / 1024.0); + gfx::drawTextArgs(vg, text_start_x, text_start_y, font_size, NVG_ALIGN_LEFT | NVG_ALIGN_TOP, theme->elements[ThemeEntryID_TEXT].colour, "extracted: %.2f MiB"_i18n.c_str(), (double)m_entry.extracted / 1024.0); text_start_y += text_inc_y; - gfx::drawTextArgs(vg, text_start_x, text_start_y, font_size, NVG_ALIGN_LEFT | NVG_ALIGN_TOP, theme->elements[ThemeEntryID_TEXT].colour, "app_dls: %s", AppDlToStr(m_entry.app_dls).c_str()); + gfx::drawTextArgs(vg, text_start_x, text_start_y, font_size, NVG_ALIGN_LEFT | NVG_ALIGN_TOP, theme->elements[ThemeEntryID_TEXT].colour, "app_dls: %s"_i18n.c_str(), AppDlToStr(m_entry.app_dls).c_str()); text_start_y += text_inc_y; // for (const auto& option : m_options) { @@ -935,7 +935,7 @@ auto toLower(const std::string& str) -> std::string { return lower; } -Menu::Menu(const std::vector& nro_entries) : MenuBase{"AppStore"}, m_nro_entries{nro_entries} { +Menu::Menu(const std::vector& nro_entries) : MenuBase{"AppStore"_i18n}, m_nro_entries{nro_entries} { fs::FsNativeSd fs; fs.CreateDirectoryRecursively("/switch/sphaira/cache/appstore/icons"); fs.CreateDirectoryRecursively("/switch/sphaira/cache/appstore/banners"); @@ -1136,12 +1136,12 @@ void Menu::Draw(NVGcontext* vg, Theme* theme) { MenuBase::Draw(vg, theme); if (m_entries.empty()) { - gfx::drawTextArgs(vg, SCREEN_WIDTH / 2.f, SCREEN_HEIGHT / 2.f, 36.f, NVG_ALIGN_CENTER | NVG_ALIGN_MIDDLE, gfx::Colour::YELLOW, "Loading..."); + gfx::drawTextArgs(vg, SCREEN_WIDTH / 2.f, SCREEN_HEIGHT / 2.f, 36.f, NVG_ALIGN_CENTER | NVG_ALIGN_MIDDLE, gfx::Colour::YELLOW, "Loading..."_i18n.c_str()); return; } if (m_entries_current.empty()) { - gfx::drawTextArgs(vg, SCREEN_WIDTH / 2.f, SCREEN_HEIGHT / 2.f, 36.f, NVG_ALIGN_CENTER | NVG_ALIGN_MIDDLE, gfx::Colour::YELLOW, "Empty!"); + gfx::drawTextArgs(vg, SCREEN_WIDTH / 2.f, SCREEN_HEIGHT / 2.f, 36.f, NVG_ALIGN_CENTER | NVG_ALIGN_MIDDLE, gfx::Colour::YELLOW, "Empty!"_i18n.c_str()); return; } @@ -1431,7 +1431,7 @@ void Menu::Sort() { char subheader[128]{}; - std::snprintf(subheader, sizeof(subheader), "Sort: %s | Filter: %s | Order: %s", i18n::get(SORT_STR[m_sort]).c_str(), i18n::get(FILTER_STR[m_filter]).c_str(), i18n::get(ORDER_STR[m_order]).c_str()); + std::snprintf(subheader, sizeof(subheader), "Filter: %s | Sort: %s | Order: %s"_i18n.c_str(), i18n::get(FILTER_STR[m_filter]).c_str(), i18n::get(SORT_STR[m_sort]).c_str(), i18n::get(ORDER_STR[m_order]).c_str()); SetTitleSubHeading(subheader); std::sort(m_entries_current.begin(), m_entries_current.end(), sorter); diff --git a/sphaira/source/ui/menus/file_viewer.cpp b/sphaira/source/ui/menus/file_viewer.cpp index 961ae01..6885f6b 100644 --- a/sphaira/source/ui/menus/file_viewer.cpp +++ b/sphaira/source/ui/menus/file_viewer.cpp @@ -1,4 +1,5 @@ #include "ui/menus/file_viewer.hpp" +#include "i18n.hpp" namespace sphaira::ui::menu::fileview { namespace { @@ -6,7 +7,7 @@ namespace { } // namespace Menu::Menu(const fs::FsPath& path) : MenuBase{path}, m_path{path} { - SetAction(Button::B, Action{"Back", [this](){ + SetAction(Button::B, Action{"Back"_i18n, [this](){ SetPop(); }}); diff --git a/sphaira/source/ui/menus/filebrowser.cpp b/sphaira/source/ui/menus/filebrowser.cpp index ff20b2b..87820d8 100644 --- a/sphaira/source/ui/menus/filebrowser.cpp +++ b/sphaira/source/ui/menus/filebrowser.cpp @@ -469,17 +469,17 @@ Menu::Menu(const std::vector& nro_entries) : MenuBase{"FileBrowser"_i1 options->Add(std::make_shared("Show Hidden"_i18n, m_show_hidden.Get(), [this](bool& v_out){ m_show_hidden.Set(v_out); SortAndFindLastFile(); - }, "Yes"_i18n, "No")); + }, "Yes"_i18n, "No"_i18n)); options->Add(std::make_shared("Folders First"_i18n, m_folders_first.Get(), [this](bool& v_out){ m_folders_first.Set(v_out); SortAndFindLastFile(); - }, "Yes"_i18n, "No")); + }, "Yes"_i18n, "No"_i18n)); options->Add(std::make_shared("Hidden Last"_i18n, m_hidden_last.Get(), [this](bool& v_out){ m_hidden_last.Set(v_out); SortAndFindLastFile(); - }, "Yes"_i18n, "No")); + }, "Yes"_i18n, "No"_i18n)); })); if (m_entries_current.size()) { @@ -519,7 +519,7 @@ Menu::Menu(const std::vector& nro_entries) : MenuBase{"FileBrowser"_i1 if (!m_selected_files.empty() && (m_selected_type == SelectedType::Cut || m_selected_type == SelectedType::Copy)) { options->Add(std::make_shared("Paste"_i18n, [this](){ - const std::string buf = "Paste " + std::to_string(m_selected_files.size()) + " file(s)?"; + const std::string buf = "Paste "_i18n + std::to_string(m_selected_files.size()) + " file(s)?"_i18n; App::Push(std::make_shared( buf, "No"_i18n, "Yes"_i18n, 1, [this](auto op_index){ if (op_index && *op_index) { @@ -535,7 +535,7 @@ Menu::Menu(const std::vector& nro_entries) : MenuBase{"FileBrowser"_i1 std::string out; const auto& entry = GetEntry(); const auto name = entry.GetName(); - if (R_SUCCEEDED(swkbd::ShowText(out, "Set New File Name", name.c_str())) && !out.empty() && out != name) { + if (R_SUCCEEDED(swkbd::ShowText(out, "Set New File Name"_i18n.c_str(), name.c_str())) && !out.empty() && out != name) { const auto src_path = GetNewPath(entry); const auto dst_path = GetNewPath(m_path, out); @@ -563,7 +563,7 @@ Menu::Menu(const std::vector& nro_entries) : MenuBase{"FileBrowser"_i1 options->Add(std::make_shared("Create File"_i18n, [this](){ std::string out; - if (R_SUCCEEDED(swkbd::ShowText(out, "Set File Name")) && !out.empty()) { + if (R_SUCCEEDED(swkbd::ShowText(out, "Set File Name"_i18n.c_str())) && !out.empty()) { fs::FsPath full_path; if (out[0] == '/') { full_path = out; @@ -584,7 +584,7 @@ Menu::Menu(const std::vector& nro_entries) : MenuBase{"FileBrowser"_i1 options->Add(std::make_shared("Create Folder"_i18n, [this](){ std::string out; - if (R_SUCCEEDED(swkbd::ShowText(out, "Set Folder Name")) && !out.empty()) { + if (R_SUCCEEDED(swkbd::ShowText(out, "Set Folder Name"_i18n.c_str())) && !out.empty()) { fs::FsPath full_path; if (out[0] == '/') { full_path = out; @@ -687,7 +687,7 @@ void Menu::Draw(NVGcontext* vg, Theme* theme) { const auto& text_col = theme->elements[ThemeEntryID_TEXT].colour; if (m_entries_current.empty()) { - gfx::drawTextArgs(vg, SCREEN_WIDTH / 2.f, SCREEN_HEIGHT / 2.f, 36.f, NVG_ALIGN_CENTER | NVG_ALIGN_MIDDLE, text_col, "Empty..."); + gfx::drawTextArgs(vg, SCREEN_WIDTH / 2.f, SCREEN_HEIGHT / 2.f, 36.f, NVG_ALIGN_CENTER | NVG_ALIGN_MIDDLE, text_col, "Empty..."_i18n.c_str()); return; } @@ -779,8 +779,8 @@ void Menu::Draw(NVGcontext* vg, Theme* theme) { nvgRestore(vg); if (e.IsDir()) { - gfx::drawTextArgs(vg, x + w - text_xoffset, y + (h / 2.f) - 3, 16.f, NVG_ALIGN_RIGHT | NVG_ALIGN_BOTTOM, theme->elements[text_id].colour, "%zd files", e.file_count); - gfx::drawTextArgs(vg, x + w - text_xoffset, y + (h / 2.f) + 3, 16.f, NVG_ALIGN_RIGHT | NVG_ALIGN_TOP, theme->elements[text_id].colour, "%zd dirs", e.dir_count); + gfx::drawTextArgs(vg, x + w - text_xoffset, y + (h / 2.f) - 3, 16.f, NVG_ALIGN_RIGHT | NVG_ALIGN_BOTTOM, theme->elements[text_id].colour, "%zd files"_i18n.c_str(), e.file_count); + gfx::drawTextArgs(vg, x + w - text_xoffset, y + (h / 2.f) + 3, 16.f, NVG_ALIGN_RIGHT | NVG_ALIGN_TOP, theme->elements[text_id].colour, "%zd dirs"_i18n.c_str(), e.dir_count); } else { if (!e.time_stamp.is_valid) { fs::FsNativeSd fs; @@ -877,7 +877,7 @@ void Menu::InstallForwarder() { if (op_index) { const auto assoc = assoc_list[*op_index]; log_write("pushing it\n"); - App::Push(std::make_shared("Installing Forwarder", [assoc, this](auto pbox) -> bool { + App::Push(std::make_shared("Installing Forwarder"_i18n, [assoc, this](auto pbox) -> bool { log_write("inside callback\n"); NroEntry nro{}; @@ -1325,7 +1325,7 @@ void Menu::OnDeleteCallback() { Scan(m_path); log_write("did delete\n"); } else { - App::Push(std::make_shared("Deleting", [this](auto pbox){ + App::Push(std::make_shared("Deleting"_i18n, [this](auto pbox){ fs::FsNativeSd fs; FsDirCollections collections; @@ -1338,7 +1338,7 @@ void Menu::OnDeleteCallback() { const auto full_path = GetNewPath(m_selected_path, p.name); if (p.IsDir()) { - pbox->NewTransfer("Scanning " + full_path); + pbox->NewTransfer("Scanning "_i18n + full_path); if (R_FAILED(get_collections(full_path, p.name, collections))) { log_write("failed to get dir collection: %s\n", full_path); return false; @@ -1356,7 +1356,7 @@ void Menu::OnDeleteCallback() { } const auto full_path = GetNewPath(c.path, p.name); - pbox->NewTransfer("Deleting " + full_path); + pbox->NewTransfer("Deleting "_i18n + full_path); if (p.type == FsDirEntryType_Dir) { log_write("deleting dir: %s\n", full_path); fs.DeleteDirectory(full_path); @@ -1383,7 +1383,7 @@ void Menu::OnDeleteCallback() { } const auto full_path = GetNewPath(m_selected_path, p.name); - pbox->NewTransfer("Deleting " + full_path); + pbox->NewTransfer("Deleting "_i18n + full_path); if (p.IsDir()) { log_write("deleting dir: %s\n", full_path); @@ -1422,7 +1422,7 @@ void Menu::OnPasteCallback() { Scan(m_path); log_write("did paste\n"); } else { - App::Push(std::make_shared("Pasting", [this](auto pbox){ + App::Push(std::make_shared("Pasting"_i18n, [this](auto pbox){ fs::FsNativeSd fs; if (m_selected_type == SelectedType::Cut) { @@ -1435,7 +1435,7 @@ void Menu::OnPasteCallback() { const auto src_path = GetNewPath(m_selected_path, p.name); const auto dst_path = GetNewPath(m_path, p.name); - pbox->NewTransfer("Pasting " + src_path); + pbox->NewTransfer("Pasting "_i18n + src_path); if (p.IsDir()) { fs.RenameDirectory(src_path, dst_path); @@ -1455,7 +1455,7 @@ void Menu::OnPasteCallback() { const auto full_path = GetNewPath(m_selected_path, p.name); if (p.IsDir()) { - pbox->NewTransfer("Scanning " + full_path); + pbox->NewTransfer("Scanning "_i18n + full_path); if (R_FAILED(get_collections(full_path, p.name, collections))) { log_write("failed to get dir collection: %s\n", full_path); return false; @@ -1473,10 +1473,10 @@ void Menu::OnPasteCallback() { const auto dst_path = GetNewPath(p); if (p.IsDir()) { - pbox->NewTransfer("Creating " + dst_path); + pbox->NewTransfer("Creating "_i18n + dst_path); fs.CreateDirectory(dst_path); } else { - pbox->NewTransfer("Copying " + src_path); + pbox->NewTransfer("Copying "_i18n + src_path); R_TRY_RESULT(pbox->CopyFile(src_path, dst_path), false); } } @@ -1495,7 +1495,7 @@ void Menu::OnPasteCallback() { const auto dst_path = GetNewPath(base_dst_path, p.name); log_write("creating: %s to %s\n", src_path, dst_path); - pbox->NewTransfer("Creating " + dst_path); + pbox->NewTransfer("Creating "_i18n + dst_path); fs.CreateDirectory(dst_path); } @@ -1508,7 +1508,7 @@ void Menu::OnPasteCallback() { const auto src_path = GetNewPath(c.path, p.name); const auto dst_path = GetNewPath(base_dst_path, p.name); - pbox->NewTransfer("Copying " + src_path); + pbox->NewTransfer("Copying "_i18n + src_path); log_write("copying: %s to %s\n", src_path, dst_path); R_TRY_RESULT(pbox->CopyFile(src_path, dst_path), false); } diff --git a/sphaira/source/ui/menus/homebrew.cpp b/sphaira/source/ui/menus/homebrew.cpp index aba493a..3760a89 100644 --- a/sphaira/source/ui/menus/homebrew.cpp +++ b/sphaira/source/ui/menus/homebrew.cpp @@ -112,7 +112,7 @@ Menu::Menu() : MenuBase{"Homebrew"_i18n} { #endif options->Add(std::make_shared("Delete"_i18n, [this](){ - const auto buf = "Are you sure you want to delete "_i18n + m_entries[m_index].path.toString() + "?"; + const auto buf = "Are you sure you want to delete " + m_entries[m_index].path.toString(); App::Push(std::make_shared( buf, "Back"_i18n, "Delete"_i18n, 1, [this](auto op_index){ diff --git a/sphaira/source/ui/menus/irs_menu.cpp b/sphaira/source/ui/menus/irs_menu.cpp index 07acd0c..93847cb 100644 --- a/sphaira/source/ui/menus/irs_menu.cpp +++ b/sphaira/source/ui/menus/irs_menu.cpp @@ -242,7 +242,7 @@ void Menu::Draw(NVGcontext* vg, Theme* theme) { const auto rc = irsGetImageTransferProcessorState(m_entries[m_index].m_handle, m_irs_buffer.data(), m_irs_buffer.size(), &state); if (R_SUCCEEDED(rc) && state.sampling_number != m_prev_state.sampling_number) { m_prev_state = state; - SetSubHeading("Ambient Noise Level: " + std::to_string(m_prev_state.ambient_noise_level)); + SetSubHeading("Ambient Noise Level: "_i18n + std::to_string(m_prev_state.ambient_noise_level)); updateColourArray(); } diff --git a/sphaira/source/ui/menus/main_menu.cpp b/sphaira/source/ui/menus/main_menu.cpp index 81239d3..98dba55 100644 --- a/sphaira/source/ui/menus/main_menu.cpp +++ b/sphaira/source/ui/menus/main_menu.cpp @@ -204,18 +204,19 @@ MainMenu::MainMenu() { SidebarEntryArray::Items language_items; language_items.push_back("Auto"_i18n); - language_items.push_back("English"); - language_items.push_back("Japanese"); - language_items.push_back("French"); - language_items.push_back("German"); - language_items.push_back("Italian"); - language_items.push_back("Spanish"); - language_items.push_back("Chinese"); - language_items.push_back("Korean"); - language_items.push_back("Dutch"); - language_items.push_back("Portuguese"); - language_items.push_back("Russian"); - language_items.push_back("Swedish"); + + language_items.push_back("English"_i18n); + language_items.push_back("Japanese"_i18n); + language_items.push_back("French"_i18n); + language_items.push_back("German"_i18n); + language_items.push_back("Italian"_i18n); + language_items.push_back("Spanish"_i18n); + language_items.push_back("Chinese"_i18n); + language_items.push_back("Korean"_i18n); + language_items.push_back("Dutch"_i18n); + language_items.push_back("Portuguese"_i18n); + language_items.push_back("Russian"_i18n); + language_items.push_back("Swedish"_i18n); options->AddHeader("Header"_i18n); options->AddSpacer(); @@ -258,7 +259,7 @@ MainMenu::MainMenu() { if (success) { m_update_state = UpdateState::None; } else { - App::Push(std::make_shared(MAKERESULT(351, 1), "Failed to download update")); + App::Push(std::make_shared(MAKERESULT(351, 1), "Failed to download update"_i18n)); } }, 2)); })); diff --git a/sphaira/source/ui/menus/themezer.cpp b/sphaira/source/ui/menus/themezer.cpp index 4757b22..a5abfae 100644 --- a/sphaira/source/ui/menus/themezer.cpp +++ b/sphaira/source/ui/menus/themezer.cpp @@ -508,7 +508,7 @@ Menu::Menu() : MenuBase{"Themezer"_i18n} { options->Add(std::make_shared("Page"_i18n, [this](){ s64 out; - if (R_SUCCEEDED(swkbd::ShowNumPad(out, "Enter Page Number", nullptr, -1, 3))) { + if (R_SUCCEEDED(swkbd::ShowNumPad(out, "Enter Page Number"_i18n.c_str(), nullptr, -1, 3))) { if (out < m_page_index_max) { m_page_index = out; PackListDownload(); @@ -569,7 +569,7 @@ void Menu::Draw(NVGcontext* vg, Theme* theme) { MenuBase::Draw(vg, theme); if (m_pages.empty()) { - gfx::drawTextArgs(vg, SCREEN_WIDTH / 2.f, SCREEN_HEIGHT / 2.f, 36.f, NVG_ALIGN_CENTER | NVG_ALIGN_MIDDLE, gfx::Colour::YELLOW, "Empty!"); + gfx::drawTextArgs(vg, SCREEN_WIDTH / 2.f, SCREEN_HEIGHT / 2.f, 36.f, NVG_ALIGN_CENTER | NVG_ALIGN_MIDDLE, gfx::Colour::YELLOW, "Empty!"_i18n.c_str()); return; } @@ -577,15 +577,15 @@ void Menu::Draw(NVGcontext* vg, Theme* theme) { switch (page.m_ready) { case PageLoadState::None: - gfx::drawTextArgs(vg, SCREEN_WIDTH / 2.f, SCREEN_HEIGHT / 2.f, 36.f, NVG_ALIGN_CENTER | NVG_ALIGN_MIDDLE, gfx::Colour::YELLOW, "Not Ready..."); + gfx::drawTextArgs(vg, SCREEN_WIDTH / 2.f, SCREEN_HEIGHT / 2.f, 36.f, NVG_ALIGN_CENTER | NVG_ALIGN_MIDDLE, gfx::Colour::YELLOW, "Not Ready..."_i18n.c_str()); return; case PageLoadState::Loading: - gfx::drawTextArgs(vg, SCREEN_WIDTH / 2.f, SCREEN_HEIGHT / 2.f, 36.f, NVG_ALIGN_CENTER | NVG_ALIGN_MIDDLE, gfx::Colour::YELLOW, "Loading"); + gfx::drawTextArgs(vg, SCREEN_WIDTH / 2.f, SCREEN_HEIGHT / 2.f, 36.f, NVG_ALIGN_CENTER | NVG_ALIGN_MIDDLE, gfx::Colour::YELLOW, "Loading"_i18n.c_str()); return; case PageLoadState::Done: break; case PageLoadState::Error: - gfx::drawTextArgs(vg, SCREEN_WIDTH / 2.f, SCREEN_HEIGHT / 2.f, 36.f, NVG_ALIGN_CENTER | NVG_ALIGN_MIDDLE, gfx::Colour::YELLOW, "Error loading page!"); + gfx::drawTextArgs(vg, SCREEN_WIDTH / 2.f, SCREEN_HEIGHT / 2.f, 36.f, NVG_ALIGN_CENTER | NVG_ALIGN_MIDDLE, gfx::Colour::YELLOW, "Error loading page!"_i18n.c_str()); return; } @@ -687,7 +687,7 @@ void Menu::InvalidateAllPages() { void Menu::PackListDownload() { const auto page_index = m_page_index + 1; char subheading[128]; - std::snprintf(subheading, sizeof(subheading), "Page %zu / %zu", m_page_index+1, m_page_index_max); + std::snprintf(subheading, sizeof(subheading), "Page %zu / %zu"_i18n.c_str(), m_page_index+1, m_page_index_max); SetSubHeading(subheading); m_index = 0; @@ -733,7 +733,7 @@ void Menu::PackListDownload() { m_page_index_max = a.pagination.page_count; char subheading[128]; - std::snprintf(subheading, sizeof(subheading), "Page %zu / %zu", m_page_index+1, m_page_index_max); + std::snprintf(subheading, sizeof(subheading), "Page %zu / %zu"_i18n.c_str(), m_page_index+1, m_page_index_max); SetSubHeading(subheading); log_write("a.pagination.page: %u\n", a.pagination.page); diff --git a/sphaira/source/ui/option_list.cpp b/sphaira/source/ui/option_list.cpp index e5a9c95..019a0ab 100644 --- a/sphaira/source/ui/option_list.cpp +++ b/sphaira/source/ui/option_list.cpp @@ -1,18 +1,19 @@ #include "ui/option_list.hpp" #include "app.hpp" #include "ui/nvg_util.hpp" +#include "i18n.hpp" namespace sphaira::ui { OptionList::OptionList(Options options) : m_options{std::move(options)} { - SetAction(Button::A, Action{"Select", [this](){ + SetAction(Button::A, Action{"Select"_i18n, [this](){ const auto& [_, func] = m_options[m_index]; func(); SetPop(); }}); - SetAction(Button::B, Action{"Back", [this](){ + SetAction(Button::B, Action{"Back"_i18n, [this](){ SetPop(); }}); } diff --git a/sphaira/source/ui/popup_list.cpp b/sphaira/source/ui/popup_list.cpp index d3d6456..6898f2e 100644 --- a/sphaira/source/ui/popup_list.cpp +++ b/sphaira/source/ui/popup_list.cpp @@ -1,6 +1,7 @@ #include "ui/popup_list.hpp" #include "ui/nvg_util.hpp" #include "app.hpp" +#include "i18n.hpp" namespace sphaira::ui { @@ -68,13 +69,13 @@ PopupList::PopupList(std::string title, Items items, Callback cb, std::size_t in m_scrollbar.Setup(Vec4{1220.f, m_line_top, 1.f, m_line_bottom - m_line_top}, m_block.h, m_items.size()); SetActions( - std::make_pair(Button::A, Action{"Select", [this](){ + std::make_pair(Button::A, Action{"Select"_i18n, [this](){ if (m_callback) { m_callback(m_index); } SetPop(); }}), - std::make_pair(Button::B, Action{"Back", [this](){ + std::make_pair(Button::B, Action{"Back"_i18n, [this](){ if (m_callback) { m_callback(std::nullopt); } diff --git a/sphaira/source/ui/progress_box.cpp b/sphaira/source/ui/progress_box.cpp index 1f99441..e7f624a 100644 --- a/sphaira/source/ui/progress_box.cpp +++ b/sphaira/source/ui/progress_box.cpp @@ -4,6 +4,7 @@ #include "app.hpp" #include "defines.hpp" #include "log.hpp" +#include "i18n.hpp" namespace sphaira::ui { namespace { @@ -17,8 +18,8 @@ void threadFunc(void* arg) { } // namespace ProgressBox::ProgressBox(const std::string& title, ProgressBoxCallback callback, ProgressBoxDoneCallback done, int cpuid, int prio, int stack_size) { - SetAction(Button::B, Action{"Back", [this](){ - App::Push(std::make_shared("Are you sure you wish to cancel?", "No", "Yes", 1, [this](auto op_index){ + SetAction(Button::B, Action{"Back"_i18n, [this](){ + App::Push(std::make_shared("Are you sure you wish to cancel?"_i18n, "No"_i18n, "Yes"_i18n, 1, [this](auto op_index){ if (op_index && *op_index) { RequestExit(); SetPop(); diff --git a/sphaira/source/ui/sidebar.cpp b/sphaira/source/ui/sidebar.cpp index 7fce7d4..b9240cb 100644 --- a/sphaira/source/ui/sidebar.cpp +++ b/sphaira/source/ui/sidebar.cpp @@ -2,6 +2,7 @@ #include "app.hpp" #include "ui/popup_list.hpp" #include "ui/nvg_util.hpp" +#include "i18n.hpp" namespace sphaira::ui { namespace { @@ -42,7 +43,7 @@ SidebarEntryBool::SidebarEntryBool(std::string title, bool option, Callback cb, , m_true_str{std::move(true_str)} , m_false_str{std::move(false_str)} { - SetAction(Button::A, Action{"OK", [this](){ + SetAction(Button::A, Action{"OK"_i18n, [this](){ m_option ^= 1; m_callback(m_option); } @@ -77,7 +78,7 @@ SidebarEntryCallback::SidebarEntryCallback(std::string title, Callback cb, bool : SidebarEntryBase{std::move(title)} , m_callback{cb} , m_pop_on_click{pop_on_click} { - SetAction(Button::A, Action{"OK", [this](){ + SetAction(Button::A, Action{"OK"_i18n, [this](){ m_callback(); if (m_pop_on_click) { SetPop(); @@ -143,7 +144,7 @@ SidebarEntryArray::SidebarEntryArray(std::string title, Items items, Callback cb )); }; - SetAction(Button::A, Action{"OK", [this](){ + SetAction(Button::A, Action{"OK"_i18n, [this](){ // m_callback(m_index); m_list_callback(); } @@ -191,7 +192,7 @@ Sidebar::Sidebar(std::string title, std::string sub, Side side, Items&& items) m_base_pos = Vec4{GetX() + 30.f, GetY() + 170.f, m_pos.w - (30.f * 2.f), 70.f}; // each item has it's own Action, but we take over B - SetAction(Button::B, Action{"Back", [this](){ + SetAction(Button::B, Action{"Back"_i18n, [this](){ SetPop(); }});