diff --git a/assets/Locales.md b/assets/Locales.md index 39b7e4d46..7968c5b72 100644 --- a/assets/Locales.md +++ b/assets/Locales.md @@ -6,7 +6,7 @@ Each json file holds the locales for a specific part of the emulator, e.g. the S ## Languages in the `/assets/` folder you will find the `Languages.json` file, which defines all the languages supported by the emulator. -The file includes a table of the langauge codes and their langauge names. +The file includes a table of the language codes and their language names. #Example of the format for Languages.json { @@ -38,12 +38,12 @@ If no json file exists for the specific part of the emulator you're working on, { "Locales": [ { - "ID": "MenuBarActionsOpenMiiEditor", + "ID": "SettingsTabInputDirectMouseAccess", "Translations": { - "ar_SA": "", - "en_US": "Mii Editor", + "ar_SA": "الوصول المباشر للفأرة", + "en_US": "Direct Mouse Access", ... - "zh_TW": "Mii 編輯器" + "zh_TW": "滑鼠直接存取" } }, { diff --git a/assets/Locales/Amiibo.json b/assets/Locales/Amiibo.json new file mode 100644 index 000000000..71197cab7 --- /dev/null +++ b/assets/Locales/Amiibo.json @@ -0,0 +1,454 @@ +{ + "Locales": [ + { + "ID": "MenuBarActions_ScanAmiibo", + "Translations": { + "ar_SA": "فحص Amiibo", + "de_DE": "Amiibo scannen", + "el_GR": "Σάρωση Amiibo", + "en_US": "Scan Amiibo", + "es_ES": "Escanear Amiibo", + "fr_FR": "Scanner un Amiibo", + "he_IL": "סרוק אמיבו", + "it_IT": "Scansiona un Amiibo", + "ja_JP": "Amiibo をスキャン", + "ko_KR": "Amiibo 스캔", + "no_NO": "Skann en Amiibo", + "pl_PL": "Skanuj Amiibo", + "pt_BR": "Escanear um Amiibo", + "ru_RU": "Сканировать Amiibo", + "sv_SE": "Skanna en Amiibo", + "th_TH": "สแกน Amiibo", + "tr_TR": "Tara Amiibo", + "uk_UA": "Сканувати Amiibo", + "zh_CN": "扫描 Amiibo", + "zh_TW": "掃描 Amiibo" + } + }, + { + "ID": "MenuBarActions_ScanAmiiboBin", + "Translations": { + "ar_SA": "فحص Amiibo (.BIN)", + "de_DE": "Amiibo scannen (.BIN)", + "el_GR": "Σάρωση Amiibo (.BIN)", + "en_US": "Scan Amiibo (.BIN)", + "es_ES": "Escanear un Amiibo (.BIN)", + "fr_FR": "Scanner un Amiibo (.BIN)", + "he_IL": "סרוק Amiibo (.BIN)", + "it_IT": "Scansiona un Amiibo (.BIN)", + "ja_JP": "Amiibo をスキャン (.BIN)", + "ko_KR": "Amiibo 스캔 (.BIN)", + "no_NO": "Skann en Amiibo (.BIN)", + "pl_PL": "Skanuj Amiibo (.BIN)", + "pt_BR": "Escanear um Amiibo (.BIN)", + "ru_RU": "Сканировать Amiibo (.BIN)", + "sv_SE": "Skanna en Amiibo (.BIN)", + "th_TH": "สแกน Amiibo (.BIN)", + "tr_TR": "Tara Amiibo (.BIN)", + "uk_UA": "Сканувати Amiibo (.BIN)", + "zh_CN": "扫描 Amiibo (.BIN)", + "zh_TW": "掃描 Amiibo (.BIN)" + } + }, + { + "ID": "DialogApiTitle", + "Translations": { + "ar_SA": "أميبو API", + "de_DE": "Amiibo-API", + "el_GR": "API για Amiibo.", + "en_US": "Amiibo API", + "es_ES": "API Amiibo", + "fr_FR": "API Amiibo", + "he_IL": "ממשק תכנות אמיבו", + "it_IT": "API Amiibo", + "ja_JP": "", + "ko_KR": null, + "no_NO": "", + "pl_PL": "API Amiibo", + "pt_BR": "API Amiibo", + "ru_RU": "API Amiibo", + "sv_SE": "Amiibo-API", + "th_TH": "อามิโบ้ API", + "tr_TR": "", + "uk_UA": "API Amiibo", + "zh_CN": null, + "zh_TW": null + } + }, + { + "ID": "DialogApiFailFetchMessage", + "Translations": { + "ar_SA": "حدث خطأ أثناء جلب المعلومات من API.", + "de_DE": "Beim Abrufen von Informationen aus der API ist ein Fehler aufgetreten.", + "el_GR": "Παρουσιάστηκε σφάλμα κατά την ανάκτηση πληροφοριών από το API.", + "en_US": "An error occured while fetching information from the API.", + "es_ES": "Ocurrió un error al recibir información de la API.", + "fr_FR": "Une erreur est survenue lors de la récupération des informations de l'API.", + "he_IL": "אירעה שגיאה בעת שליפת מידע מהממשק.", + "it_IT": "Si è verificato un errore durante il recupero delle informazioni dall'API.", + "ja_JP": "API からの情報取得中にエラーが発生しました.", + "ko_KR": "API에서 정보를 가져오는 중에 오류가 발생했습니다.", + "no_NO": "En feil oppstod under henting av informasjon fra API.", + "pl_PL": "Wystąpił błąd podczas pobierania informacji z API.", + "pt_BR": "Um erro ocorreu ao tentar obter informações da API.", + "ru_RU": "Произошла ошибка при получении информации из API.", + "sv_SE": "Ett fel inträffade vid hämtning av information från API.", + "th_TH": "เกิดข้อผิดพลาดขณะเรียกข้อมูลจาก API", + "tr_TR": "API'dan bilgi alırken bir hata oluştu.", + "uk_UA": "Під час отримання інформації з API сталася помилка.", + "zh_CN": "从 API 获取信息时出错。", + "zh_TW": "從 API 取得資訊時出現錯誤。" + } + }, + { + "ID": "DialogApiConnectErrorMessage", + "Translations": { + "ar_SA": "غير قادر على الاتصال بخادم API أميبو. قد تكون الخدمة معطلة أو قد تحتاج إلى التحقق من اتصالك بالإنترنت.", + "de_DE": "Verbindung zum Amiibo API Server kann nicht hergestellt werden. Der Dienst ist möglicherweise nicht verfügbar oder es existiert keine Internetverbindung.", + "el_GR": "Δεν είναι δυνατή η σύνδεση με τον διακομιστή Amiibo API. Η υπηρεσία μπορεί να είναι εκτός λειτουργίας ή μπορεί να χρειαστεί να επαληθεύσετε ότι έχετε ενεργή σύνδεσή στο Διαδίκτυο.", + "en_US": "Unable to connect to Amiibo API server. The service may be down or you may need to verify your internet connection is online.", + "es_ES": "No se pudo conectar al servidor de la API Amiibo. El servicio puede estar caído o tu conexión a internet puede haberse desconectado.", + "fr_FR": "Impossible de se connecter au serveur API Amiibo. Le service est peut-être hors service ou vous devriez peut-être vérifier que votre connexion internet est connectée.", + "he_IL": "לא ניתן להתחבר לממשק שרת האמיבו. ייתכן שהשירות מושבת או שתצטרך לוודא שהחיבור לאינטרנט שלך מקוון.", + "it_IT": "Impossibile connettersi al server dell'API Amiibo. Il servizio potrebbe non essere disponibile o potresti non essere connesso a Internet.", + "ja_JP": "Amiibo API サーバに接続できませんでした. サーバがダウンしているか, インターネット接続に問題があるかもしれません.", + "ko_KR": "Amiibo API 서버에 연결할 수 없습니다. 서비스가 다운되었거나 인터넷 연결이 온라인 상태인지 확인이 필요합니다.", + "no_NO": "Kan ikke koble til Amiibo API server. Tjenesten kan være nede, eller du må kanskje verifisere at din internettforbindelse er tilkoblet.", + "pl_PL": "Nie można połączyć się z serwerem API Amiibo. Usługa może nie działać lub może być konieczne sprawdzenie, czy połączenie internetowe jest online.", + "pt_BR": "Não foi possível conectar ao servidor da API Amiibo. O serviço pode estar fora do ar ou você precisa verificar sua conexão com a Internet.", + "ru_RU": "Не удалось подключиться к серверу Amiibo API. Служба может быть недоступна или вам может потребоваться проверить ваше интернет-соединение.", + "sv_SE": "Kunde inte ansluta till Amiibo API-server. Tjänsten kanske är nere eller så behöver du kontrollera att din internetanslutning fungerar.", + "th_TH": "ไม่สามารถเชื่อมต่อกับเซิร์ฟเวอร์ Amiibo API บางบริการอาจหยุดทำงาน หรือไม่คุณต้องทำการตรวจสอบว่าอินเทอร์เน็ตของคุณอยู่ในสถานะเชื่อมต่ออยู่หรือไม่", + "tr_TR": "Amiibo API sunucusuna bağlanılamadı. Sunucu çevrimdışı olabilir veya uygun bir internet bağlantınızın olduğunu kontrol etmeniz gerekebilir.", + "uk_UA": "Неможливо підключитися до сервера Amiibo API. Можливо, служба не працює або вам потрібно перевірити, чи є підключення до Інтернету.", + "zh_CN": "无法连接到 Amiibo API 服务器,服务可能已关闭,或者没有连接互联网。", + "zh_TW": "無法連接 Amiibo API 伺服器。服務可能已停機,或者您可能需要確認網際網路連線是否在線上。" + } + }, + { + "ID": "AboutDisclaimerMessage", + "Translations": { + "ar_SA": "AmiiboAPI (www.amiiboapi.com) يتم \nاستخدامه في محاكاة أمبيو لدينا.", + "de_DE": "AmiiboAPI (www.amiiboapi.com) wird in unserer Amiibo \nEmulation benutzt.", + "el_GR": "Το AmiiboAPI (www.amiiboapi.com) χρησιμοποιείται\nστην προσομοίωση Amiibo.", + "en_US": "AmiiboAPI (www.amiiboapi.com) is used\nin our Amiibo emulation.", + "es_ES": "Utilizamos AmiiboAPI (www.amiiboapi.com)\nen nuestra emulación de Amiibo.", + "fr_FR": "AmiiboAPI (www.amiiboapi.com) est utilisé\ndans notre émulation Amiibo.", + "he_IL": "ממשק אמיבו (www.amiiboapi.com) משומש בהדמיית האמיבו שלנו.", + "it_IT": "AmiiboAPI (www.amiiboapi.com) è usata\nnella nostra emulazione Amiibo.", + "ja_JP": "AmiiboAPI (www.amiiboapi.com) は\nAmiibo エミュレーションに使用されています.", + "ko_KR": "AmiiboAPI(www.amiiboapi.com)는\nAmiibo 에뮬레이션에 사용됩니다.", + "no_NO": "AmiiboAPI (www.amiiboapi.com) brukes sammen med\ni vår Amiibo-emulsjon.", + "pl_PL": "AmiiboAPI (www.amiiboapi.com) jest używane\nw naszej emulacji Amiibo.", + "pt_BR": "AmiiboAPI (www.amiiboapi.com) é usado\nem nossa emulação de Amiibo.", + "ru_RU": "Amiibo API (www.amiiboapi.com) используется для эмуляции Amiibo.", + "sv_SE": "AmiiboAPI (www.amiiboapi.com) används\ni vår Amiibo-emulation.", + "th_TH": "AmiiboAPI (www.amiiboapi.com) ถูกใช้\nในการจำลอง อะมิโบ ของเรา", + "tr_TR": "Amiibo emülasyonumuzda \nAmiiboAPI (www.amiiboapi.com) kullanılmaktadır.", + "uk_UA": "AmiiboAPI (www.amiiboapi.com) використовується в нашій емуляції Amiibo.", + "zh_CN": "我们的 Amiibo 模拟使用了\nAmiiboAPI (www.amiiboapi.com)。", + "zh_TW": "我們在 Amiibo 模擬中\n使用了 AmiiboAPI (www.amiiboapi.com)。" + } + }, + { + "ID": "SeriesLabel", + "Translations": { + "ar_SA": "سلسلة", + "de_DE": "Serie", + "el_GR": "Σειρά", + "en_US": "Series", + "es_ES": "Serie", + "fr_FR": "Séries", + "he_IL": "סדרה", + "it_IT": "Serie", + "ja_JP": "シリーズ", + "ko_KR": "시리즈", + "no_NO": "Serie", + "pl_PL": "Seria", + "pt_BR": "Série", + "ru_RU": "Серия", + "sv_SE": "Serie", + "th_TH": "ซีรีส์", + "tr_TR": "Seri", + "uk_UA": "Серія", + "zh_CN": "系列", + "zh_TW": "系列" + } + }, + { + "ID": "ScanButtonLabel", + "Translations": { + "ar_SA": "فحص Amiibo", + "de_DE": "Amiibo einscannen", + "el_GR": "Σαρώστε το Amiibo", + "en_US": "Scan Amiibo", + "es_ES": "Escanear Amiibo", + "fr_FR": "Scanner l'Amiibo", + "he_IL": "סרוק את ה-Amiibo", + "it_IT": "Scansiona l'Amiibo", + "ja_JP": "Amiiboをスキャン", + "ko_KR": "Amiibo 스캔하기", + "no_NO": "Skanne Amiibo", + "pl_PL": "Zeskanuj Amiibo", + "pt_BR": "Escanear Amiibo", + "ru_RU": "Сканировать Amiibo", + "sv_SE": "Skanna Amiibo", + "th_TH": "สแกน Amiibo", + "tr_TR": "Amiibo'yu tara", + "uk_UA": "Сканувати Amiibo", + "zh_CN": "扫描 Amiibo", + "zh_TW": "掃描 Amiibo" + } + }, + { + "ID": "OptionsShowAllLabel", + "Translations": { + "ar_SA": "عرض Amiibo غير متوافقة", + "de_DE": "Zeige inkompatible Amiibo", + "el_GR": "Εμφάνιση μη συμβατών Amiibo", + "en_US": "Show Incompatible Amiibo", + "es_ES": "Mostrar Amiibo Incompatibles", + "fr_FR": "Montrer les Amiibo Incompatibles", + "he_IL": "הצג Amiibo שאינם תואמים", + "it_IT": "Mostra Amiibo incompatibili", + "ja_JP": "非互換のAmiiboを表示", + "ko_KR": "호환되지 않는 Amiibo 표시", + "no_NO": "Vis inkompatible Amiibo", + "pl_PL": "Pokaż niekompatybilne Amiibo", + "pt_BR": "Mostrar Amiibo incompatíveis", + "ru_RU": "Показать несовместимые Amiibo", + "sv_SE": "Visa inkompatibla Amiibo", + "th_TH": "แสดง Amiibo ที่ไม่เข้ากัน", + "tr_TR": "Uyumsuz Amiibo'yu göster", + "uk_UA": "Показати несумісні Amiibo", + "zh_CN": "显示不兼容的 Amiibo", + "zh_TW": "顯示不相容的 Amiibo" + } + }, + { + "ID": "OptionsUsRandomTagLabel", + "Translations": { + "ar_SA": "هاك: UUID عشوائي", + "de_DE": "Hack: Zufällige UUID", + "el_GR": "Hack: Τυχαίο UUID", + "en_US": "Hack: Random UUID", + "es_ES": "Hack: UUID aleatorio", + "fr_FR": "Hack : UUID aléatoire", + "he_IL": "האק: UUID אקראי", + "it_IT": "Hack: UUID casuale", + "ja_JP": "ハック: ランダム UUID", + "ko_KR": "핵: 무작위 UUID", + "no_NO": "Hack: Tilfeldig UUID", + "pl_PL": "Hack: Losowy UUID", + "pt_BR": "Hack: UUID aleatório", + "ru_RU": "Хак: Случайный UUID", + "sv_SE": "Hack: Slumpmässig UUID", + "th_TH": "แฮ็ค: UUID สุ่ม", + "tr_TR": "Hack: Rastgele UUID", + "uk_UA": "Хак: Випадковий UUID", + "zh_CN": "Hack:随机 UUID", + "zh_TW": "Hack:隨機 UUID" + } + }, + { + "ID": "CabinetDialog", + "Translations": { + "ar_SA": "أدخل اسم أميبو الجديد", + "de_DE": "Gib den neuen Namen deines Amiibo ein", + "el_GR": "Εισαγάγετε το νέο όνομα του Amiibo σας", + "en_US": "Enter your Amiibo's new name", + "es_ES": "Ingresa el nuevo nombre de tu Amiibo", + "fr_FR": "Entrez le nouveau nom de votre Amiibo", + "he_IL": "הזן את השם החדש של ה-Amiibo שלך", + "it_IT": "Inserisci il nuovo nome del tuo Amiibo", + "ja_JP": "Amiibo の新しい名前を入力してください", + "ko_KR": "Amiibo의 새 이름을 입력하세요", + "no_NO": "Skriv inn det nye navnet til Amiiboen din", + "pl_PL": "Wprowadź nową nazwę swojego Amiibo", + "pt_BR": "Digite o novo nome do seu Amiibo", + "ru_RU": "Введите новое имя вашего Amiibo", + "sv_SE": "Ange det nya namnet för din Amiibo", + "th_TH": "กรุณาใส่ชื่อใหม่ของ Amiibo ของคุณ", + "tr_TR": "Amiibo'nuzun yeni adını girin", + "uk_UA": "Введіть нове ім'я вашого Amiibo", + "zh_CN": "输入你的 Amiibo 的新名字", + "zh_TW": "輸入你的 Amiibo 新名稱" + } + }, + { + "ID": "CabinetTitle", + "Translations": { + "ar_SA": "", + "de_DE": "", + "el_GR": "", + "en_US": "Cabinet Dialog", + "es_ES": "Diálogo Gabinete", + "fr_FR": "Dialogue de Cabinet", + "he_IL": "", + "it_IT": "Modale del Cabinet", + "ja_JP": "", + "ko_KR": "캐비닛 대화 상자", + "no_NO": "Dialogboks for kabinett", + "pl_PL": "", + "pt_BR": "Diálogo do Gabinete", + "ru_RU": "Сообщение кабинета", + "sv_SE": "Cabinet-dialog", + "th_TH": "กล่องโต้ตอบไฟล์ Cabinet", + "tr_TR": "", + "uk_UA": "Сповіщення Cabinet", + "zh_CN": "档案对话框", + "zh_TW": "Cabinet 對話方塊" + } + }, + { + "ID": "CabinetScanDialog", + "Translations": { + "ar_SA": "", + "de_DE": "", + "el_GR": "", + "en_US": "Please scan your Amiibo now.", + "es_ES": "Escanea tu Amiibo ahora.", + "fr_FR": "Veuillez scannez votre Amiibo.", + "he_IL": "", + "it_IT": "Scansiona ora il tuo Amiibo.", + "ja_JP": "", + "ko_KR": "지금 Amiibo를 스캔하세요.", + "no_NO": "Vennligst skann Amiiboene dine nå.", + "pl_PL": "", + "pt_BR": "Por favor, escaneie seu Amiibo agora.", + "ru_RU": "Пожалуйста, сканируйте ваш Amiibo.", + "sv_SE": "Skanna din Amiibo nu.", + "th_TH": "กรุณาสแกน Amiibo ของคุณตอนนี้", + "tr_TR": "", + "uk_UA": "Будь ласка, проскануйте Ваш Amiibo.", + "zh_CN": "请现在扫描你的 Amiibo", + "zh_TW": "請掃描你的 Amiibo。" + } + }, + { + "ID": "OpenBinFileDialogTitle", + "Translations": { + "ar_SA": "حدد ملف .BIN يحتوي على Amiibo", + "de_DE": "Wähle eine .BIN-Datei mit einem Amiibo", + "el_GR": "Επιλέξτε ένα αρχείο .BIN με ένα Amiibo", + "en_US": "Choose a .BIN file with an Amiibo", + "es_ES": "Selecciona un archivo .BIN con un Amiibo", + "fr_FR": "Sélectionnez un fichier .BIN avec un Amiibo", + "he_IL": "בחר קובץ .BIN עם Amiibo", + "it_IT": "Seleziona un file .BIN con un Amiibo", + "ja_JP": "Amiiboが含まれる .BIN ファイルを選択", + "ko_KR": "Amiibo가 포함된 .BIN 파일을 선택", + "no_NO": "Velg en .BIN-fil med et Amiibo", + "pl_PL": "Wybierz plik .BIN z Amiibo", + "pt_BR": "Selecione um arquivo .BIN com um Amiibo", + "ru_RU": "Выберите .BIN файл с Amiibo", + "sv_SE": "Välj en .BIN-fil med ett Amiibo", + "th_TH": "เลือกไฟล์ .BIN ที่มี Amiibo", + "tr_TR": "Amiibo içeren bir .BIN dosyası seçin", + "uk_UA": "Виберіть .BIN файл з Amiibo", + "zh_CN": "选择一个包含Amiibo的 .BIN 文件", + "zh_TW": "選擇一個包含Amiibo的 .BIN 檔案" + } + }, + { + "ID": "Amiibo", + "Translations": { + "ar_SA": "أميبو", + "de_DE": "", + "el_GR": "", + "en_US": "Amiibo", + "es_ES": null, + "fr_FR": null, + "he_IL": "אמיבו", + "it_IT": "", + "ja_JP": "", + "ko_KR": null, + "no_NO": "", + "pl_PL": "", + "pt_BR": null, + "ru_RU": null, + "sv_SE": null, + "th_TH": "อมิโบ้", + "tr_TR": "", + "uk_UA": "", + "zh_CN": null, + "zh_TW": null + } + }, + { + "ID": "Usage", + "Translations": { + "ar_SA": "الاستخدام:\n", + "de_DE": "Nutzung:\n", + "el_GR": "Χρήση:\n", + "en_US": "Usage:\n", + "es_ES": "Uso:\n", + "fr_FR": "Utilisation :\n", + "he_IL": "שימוש:\n", + "it_IT": "Utilizzo:\n", + "ja_JP": "使用法:\n", + "ko_KR": "사용법 :\n", + "no_NO": "Forbruk:\n", + "pl_PL": "Użycie:\n", + "pt_BR": "Uso:\n", + "ru_RU": "Применение:\n", + "sv_SE": "Användning:\n", + "th_TH": "การใช้งาน:\n", + "tr_TR": "Kullanım:\n", + "uk_UA": "Використання:\n", + "zh_CN": "用法:\n", + "zh_TW": "用途:\n" + } + }, + { + "ID": "UsageWritable", + "Translations": { + "ar_SA": "الاستخدام (يمكنه حفظ البيانات):\n", + "de_DE": "Nutzung (Kann Daten speichern):\n", + "el_GR": "Χρήση (Μπορεί να αποθηκεύσει δεδομένα):\n", + "en_US": "Usage (Can Save Data):\n", + "es_ES": "Uso (Puede guardar datos):\n", + "fr_FR": "Utilisation (Peut enregistrer des données) :\n", + "he_IL": "שימוש (יכול לשמור נתונים):\n", + "it_IT": "Utilizzo (Può salvare dati):\n", + "ja_JP": "使用法(データを保存できます):\n", + "ko_KR": "사용법 (데이터 저장 가능):\n", + "no_NO": "Bruk (Kan lagre data):\n", + "pl_PL": "Użycie (Może zapisywać dane):\n", + "pt_BR": "Uso (Pode salvar dados):\n", + "ru_RU": "Применение (Может сохранять данные):\n", + "sv_SE": "Användning (Kan spara data):\n", + "th_TH": "การใช้งาน (สามารถบันทึกข้อมูลได้):\n", + "tr_TR": "Kullanım (Veri kaydedebilir):\n", + "uk_UA": "Використання (Може зберігати дані):\n", + "zh_CN": "用法(可保存数据):\n", + "zh_TW": "用途(可儲存資料):\n" + } + }, + { + "ID": "Unknown", + "Translations": { + "ar_SA": "غير معروف", + "de_DE": "Unbekannt", + "el_GR": "Άγνωστο", + "en_US": "Unknown", + "es_ES": "Desconocido", + "fr_FR": "Inconnu", + "he_IL": "לא ידוע", + "it_IT": "Sconosciuto", + "ja_JP": "不明", + "ko_KR": "알 수 없음", + "no_NO": "Ukjent", + "pl_PL": "Nieznane", + "pt_BR": "Desconhecido", + "ru_RU": "Неизвестно", + "sv_SE": "Okänt", + "th_TH": "ไม่รู้จัก", + "tr_TR": "Bilinmeyen", + "uk_UA": "Невідомо", + "zh_CN": "未知", + "zh_TW": "未知" + } + } + ] +} diff --git a/assets/Locales/Firmware.json b/assets/Locales/Firmware.json new file mode 100644 index 000000000..0990b4da4 --- /dev/null +++ b/assets/Locales/Firmware.json @@ -0,0 +1,529 @@ +{ + "Locales": [ + { + "ID": "MenuBarActions_Install", + "Translations": { + "ar_SA": "تثبيت البرنامج الثابت", + "de_DE": "Firmware installieren", + "el_GR": "Εγκατάσταση Firmware", + "en_US": "Install Firmware", + "es_ES": "Instalar Firmware", + "fr_FR": "Installer le Firmware", + "he_IL": "התקן קושחה", + "it_IT": "Installa firmware", + "ja_JP": "ファームウェアをインストール", + "ko_KR": "펌웨어 설치", + "no_NO": "Installer fastvare", + "pl_PL": "Zainstaluj oprogramowanie", + "pt_BR": "Instalar Firmware", + "ru_RU": "Установить прошивку", + "sv_SE": "Installera firmware", + "th_TH": "ติดตั้งเฟิร์มแวร์", + "tr_TR": "Yazılım Yükle", + "uk_UA": "Встановити прошивку", + "zh_CN": "安装系统固件", + "zh_TW": "安裝韌體" + } + }, + { + "ID": "MenuBarActions_InstallFromFile", + "Translations": { + "ar_SA": ".XCI أو .ZIP", + "de_DE": ".XCI oder .ZIP", + "el_GR": ".XCI ή .ZIP", + "en_US": ".XCI or .ZIP", + "es_ES": ".XCI o .ZIP", + "fr_FR": ".XCI ou .ZIP", + "he_IL": ".XCI או .ZIP", + "it_IT": ".XCI o .ZIP", + "ja_JP": ".XCI または .ZIP", + "ko_KR": ".XCI 또는 .ZIP", + "no_NO": ".XCI eller .ZIP", + "pl_PL": ".XCI lub .ZIP", + "pt_BR": ".XCI ou .ZIP", + "ru_RU": ".XCI или .ZIP", + "sv_SE": ".XCI eller .ZIP", + "th_TH": ".XCI หรือ .ZIP", + "tr_TR": ".XCI veya .ZIP", + "uk_UA": ".XCI або .ZIP", + "zh_CN": ".XCI 或 .ZIP", + "zh_TW": ".XCI 或 .ZIP" + } + }, + { + "ID": "MenuBarActions_InstallFromDirectory", + "Translations": { + "ar_SA": "مجلد", + "de_DE": "Verzeichnis", + "el_GR": "Φάκελος", + "en_US": "Folder", + "es_ES": "Carpeta", + "fr_FR": "Dossier", + "he_IL": "תיקייה", + "it_IT": "Cartella", + "ja_JP": "フォルダー", + "ko_KR": "폴더", + "no_NO": "Mappe", + "pl_PL": "Katalog", + "pt_BR": "Diretório", + "ru_RU": "Папка", + "sv_SE": "Katalog", + "th_TH": "โฟลเดอร์", + "tr_TR": "Klasör", + "uk_UA": "Тека", + "zh_CN": "文件夹", + "zh_TW": "資料夾" + } + }, + { + "ID": "InstallFromFile_DialogTitle", + "Translations": { + "ar_SA": "اختر ملف ‎.XCI‎ أو أرشيف ‎.ZIP‎ لتثبيت البرنامج الثابت منه", + "de_DE": "Wählen Sie eine .XCI-Datei oder ein .ZIP-Archiv aus, um die Firmware zu installieren", + "el_GR": "Επιλέξτε ένα αρχείο .XCI ή ένα αρχείο .ZIP για να εγκαταστήσετε το υλικολογισμικό", + "en_US": "Choose an .XCI file or a .ZIP archive to install firmware from", + "es_ES": "Elige un archivo .XCI o un archivo .ZIP para instalar el firmware", + "fr_FR": "Choisissez un fichier .XCI ou une archive .ZIP pour installer le firmware", + "he_IL": "בחר קובץ ‎.XCI‎ או ארכיון ‎.ZIP‎ להתקנת הקושחה ממנו", + "it_IT": "Scegli un file .XCI o un archivio .ZIP per installare il firmware", + "ja_JP": "ファームウェアをインストールするために .XCI ファイルまたは .ZIP アーカイブを選択", + "ko_KR": "펌웨어를 설치할 .XCI 파일 또는 .ZIP 아카이브를 선택하세요", + "no_NO": "Velg en .XCI-fil eller et .ZIP-arkiv for å installere firmware fra", + "pl_PL": "Wybierz plik .XCI lub archiwum .ZIP, z którego chcesz zainstalować firmware", + "pt_BR": "Escolha um arquivo .XCI ou um arquivo .ZIP para instalar o firmware", + "ru_RU": "Выберите файл .XCI или архив .ZIP для установки прошивки", + "sv_SE": "Välj en .XCI-fil eller ett .ZIP-arkiv för att installera firmware", + "th_TH": "เลือกไฟล์ .XCI หรือไฟล์เก็บถาวร .ZIP เพื่อติดตั้งเฟิร์มแวร์จาก", + "tr_TR": "Firmware yüklemek için bir .XCI dosyası veya .ZIP arşivi seçin", + "uk_UA": "Виберіть файл .XCI або архів .ZIP для встановлення прошивки", + "zh_CN": "选择一个 .XCI 文件或 .ZIP 存档来安装固件", + "zh_TW": "選擇一個 .XCI 檔案或 .ZIP 封存檔來安裝韌體" + } + }, + { + "ID": "InstallFromFolder_DialogTitle", + "Translations": { + "ar_SA": "اختر مجلد لتثبيت الكوشحة منه", + "de_DE": "Wählen Sie einen ORDNER aus, um die Firmware zu installieren", + "el_GR": "Επιλέξτε έναν ΦΆΚΕΛΟ για να εγκαταστήσετε το firmware", + "en_US": "Choose a FOLDER to install firmware from", + "es_ES": "Elige una CARPETA para instalar el firmware", + "fr_FR": "Choisissez un DOSSIER pour installer le firmware", + "he_IL": "בחר תיקיה להתקנת הקושחה ממנה", + "it_IT": "Scegli una CARTELLA per installare il firmware", + "ja_JP": "ファームウェアをインストールするフォルダを選択", + "ko_KR": "펌웨어를 설치할 폴더를 선택하세요", + "no_NO": "Velg en MAPPE for å installere firmware fra", + "pl_PL": "Wybierz FOLDER, z którego chcesz zainstalować firmware", + "pt_BR": "Escolha uma PASTA para instalar o firmware", + "ru_RU": "Выберите ПАПКУ для установки прошивки", + "sv_SE": "Välj en MAPP för att installera firmware från", + "th_TH": "เลือกโฟลเดอร์เพื่อติดตั้งเฟิร์มแวร์จากนั้น", + "tr_TR": "Firmware yüklemek için bir KLASÖR seçin", + "uk_UA": "Виберіть ПАПКУ для встановлення прошивки", + "zh_CN": "选择一个文件夹来安装固件", + "zh_TW": "選擇一個資料夾來安裝韌體" + } + }, + { + "ID": "StatusBar_Version", + "Translations": { + "ar_SA": "", + "de_DE": "", + "el_GR": "", + "en_US": "Firmware Version: {0}", + "es_ES": "Versión del Firmware: {0}", + "fr_FR": "Version du Firmware : {0}", + "he_IL": "", + "it_IT": "Versione firmware: {0}", + "ja_JP": "", + "ko_KR": "펌웨어 버전 : {0}", + "no_NO": "Fastvareversjon: {0}", + "pl_PL": "", + "pt_BR": "Versão do Firmware: {0}", + "ru_RU": "Версия прошивки: {0}", + "sv_SE": "Firmware-version: {0}", + "th_TH": "เวอร์ชันเฟิร์มแวร์: {0}", + "tr_TR": "", + "uk_UA": "Версія прошивки: {0}", + "zh_CN": "系统固件版本:{0}", + "zh_TW": "系統韌體版本: {0}" + } + }, + { + "ID": "DialogInstall_EmbeddedMessage", + "Translations": { + "ar_SA": "هل ترغب في تثبيت البرنامج الثابت المدمج في هذه اللعبة؟ (البرنامج الثابت {0})", + "de_DE": "Die in diesem Spiel enthaltene Firmware installieren? (Firmware {0})", + "el_GR": "Θα θέλατε να εγκαταστήσετε το Firmware που είναι ενσωματωμένο σε αυτό το παιχνίδι; (Firmware {0})", + "en_US": "Would you like to install the firmware embedded in this game? (Firmware {0})", + "es_ES": "¿Quieres instalar el firmware incluido en este juego? (Firmware versión {0})", + "fr_FR": "Voulez-vous installer le firmware intégré dans ce jeu ? (Firmware {0})", + "he_IL": "האם תרצו להתקין את הקושחה המוטמעת במשחק הזה? (קושחה {0})", + "it_IT": "Vuoi installare il firmware incluso in questo gioco? (Firmware {0})", + "ja_JP": "このゲームに含まれるファームウェアをインストールしてよろしいですか? (ファームウェア {0})", + "ko_KR": "이 게임에 포함된 펌웨어를 설치하시겠습니까?(Firmware {0})", + "no_NO": "Ønsker du å installere fastvaren innebygd i dette spillet? (Firmware {0})", + "pl_PL": "Czy chcesz zainstalować firmware wbudowany w tę grę? (Firmware {0})", + "pt_BR": "Gostaria de instalar o firmware incluso neste jogo? (Firmware {0})", + "ru_RU": "Хотите установить прошивку, встроенную в эту игру? (Прошивка {0})", + "sv_SE": "Vill du installera det firmware som är inbäddat i detta spel? (Firmware {0})", + "th_TH": "คุณต้องการติดตั้งเฟิร์มแวร์ที่ฝังอยู่ในเกมนี้หรือไม่? (เฟิร์มแวร์ {0})", + "tr_TR": "Bu oyunun içine gömülü olan yazılımı yüklemek ister misiniz? (Firmware {0})", + "uk_UA": "Бажаєте встановити прошивку, вбудовану в цю гру? (Прошивка {0})", + "zh_CN": "要安装游戏文件中内嵌的系统固件吗?(固件版本 {0})", + "zh_TW": "您想安裝遊戲內建的韌體嗎? (韌體 {0})" + } + }, + { + "ID": "DialogInstall_EmbeddedMessage_Success", + "Translations": { + "ar_SA": "لم يتم العثور على أي برنامج ثابت مثبت ولكن ريوجينكس كان قادرا على تثبيت البرنامج الثابت {0} من اللعبة المقدمة.\nسيبدأ المحاكي الآن.", + "de_DE": "Es wurde keine installierte Firmware gefunden, aber Ryujinx konnte die Firmware {0} aus dem bereitgestellten Spiel installieren.\nRyujinx wird nun gestartet.", + "el_GR": "Δεν βρέθηκε εγκατεστημένο υλικολογισμικό, αλλά το Ryujinx κατάφερε να εγκαταστήσει το υλικολογισμικό {0} από το παρεχόμενο παιχνίδι.\nΟ προσομοιωτής θα ξεκινήσει τώρα.", + "en_US": "No installed firmware was found but Ryujinx was able to install firmware {0} from the provided game.\nThe emulator will now start.", + "es_ES": "No se encontró ningún firmware instalado, pero Ryujinx pudo instalar el firmware {0} del juego proporcionado.\nEl emulador iniciará.", + "fr_FR": "Aucun firmware installé n'a été trouvé mais Ryujinx a pu installer le firmware {0} à partir du jeu fourni.\nL'émulateur va maintenant démarrer.", + "he_IL": "לא נמצאה קושחה מותקנת אבל ריוג'ינקס הצליח להתקין קושחה {0} מהמשחק שסופק. \nהאמולטור יופעל כעת.", + "it_IT": "Non è stato trovato alcun firmware installato, ma Ryujinx è riuscito ad installare il firmware {0} dal gioco fornito.\nL'emulatore si avvierà adesso.", + "ja_JP": "ファームウェアがインストールされていませんが, ゲームに含まれるファームウェア {0} をインストールできます.\nエミュレータが開始します.", + "ko_KR": "설치된 펌웨어를 찾을 수 없지만 Ryujinx는 제공된 게임에서 펌웨어 {0}을(를) 설치할 수 있습니다.\n이제 에뮬레이터가 시작됩니다.", + "no_NO": "Det ble ikke funnet noen installert fastvare, men Ryujinx kunne installere fastvare {0} fra det oppgitte spillet.\nemulatoren vil nå starte.", + "pl_PL": "Nie znaleziono zainstalowanego oprogramowania, ale Ryujinx był w stanie zainstalować oprogramowanie {0} z dostarczonej gry.\n\nEmulator uruchomi się teraz.", + "pt_BR": "Nenhum firmware instalado foi encontrado, mas o Ryujinx conseguiu instalar o firmware {0} a partir do jogo fornecido.\nO emulador será iniciado agora.", + "ru_RU": "Установленной прошивки не было найдено, но Ryujinx удалось установить прошивку {0} из предоставленной игры.\nТеперь запустится эмулятор.", + "sv_SE": "Inget installerat firmware hittades men Ryujinx kunde installera firmware {0} från angiven spel.\nEmulatorn kommer nu att startas.", + "th_TH": "ไม่พบเฟิร์มแวร์ที่ติดตั้งไว้ แต่ Ryujinx จะติดตั้งเฟิร์มแวร์ได้ {0} จากเกมที่ให้มา\nขณะนี้โปรแกรมจำลองจะเริ่มทำงาน", + "tr_TR": "Yüklü bir firmware bulunamadı, ancak Ryujinx sağlanan oyundan firmware {0} yüklemeyi başardı.\nEmülatör şimdi başlatılacak.", + "uk_UA": "Встановлену прошивку не знайдено, але Ryujinx вдалося встановити прошивку {0} з наданої гри.\nТепер запуститься емулятор.", + "zh_CN": "Ryujinx 模拟器已经从当前游戏文件中安装了系统固件 {0} 。\n模拟器现在可以正常运行了。", + "zh_TW": "未找到已安裝的韌體,但 Ryujinx 可以從現有的遊戲安裝韌體{0}。\n模擬器現在可以執行。" + } + }, + { + "ID": "DialogInstall_NoFirmwareInstalledMessage", + "Translations": { + "ar_SA": "لا يوجد برنامج ثابت مثبت", + "de_DE": "Keine Firmware installiert", + "el_GR": "Δεν έχει εγκατασταθεί Firmware", + "en_US": "No Firmware Installed", + "es_ES": "No hay Firmware Instalado", + "fr_FR": "Aucun Firmware Installé", + "he_IL": "לא מותקנת קושחה", + "it_IT": "Nessun firmware installato", + "ja_JP": "ファームウェアがインストールされていません", + "ko_KR": "펌웨어가 설치되어 있지 않음", + "no_NO": "Ingen fastvare installert", + "pl_PL": "Brak Zainstalowanego Firmware'u", + "pt_BR": "Nenhum Firmware Instalado", + "ru_RU": "Прошивка не установлена", + "sv_SE": "Inget firmware installerat", + "th_TH": "ไม่มีการติดตั้งเฟิร์มแวร์", + "tr_TR": "Yazılım Yüklü Değil", + "uk_UA": "Прошивка не встановлена", + "zh_CN": "未安装系统固件", + "zh_TW": "未安裝韌體" + } + }, + { + "ID": "DialogInstall_InstalledMessage", + "Translations": { + "ar_SA": "تم تثبيت البرنامج الثابت {0}", + "de_DE": "Firmware {0} wurde installiert", + "el_GR": "Το Firmware {0} εγκαταστάθηκε", + "en_US": "Firmware {0} was installed", + "es_ES": "Se Instaló el Firmware {0}", + "fr_FR": "Le firmware {0} a été installé", + "he_IL": "הקושחה {0} הותקנה", + "it_IT": "Il firmware {0} è stato installato", + "ja_JP": "ファームウェア {0} がインストールされました", + "ko_KR": "펌웨어 {0}이(가) 설치됨", + "no_NO": "fastvare {0} ble installert", + "pl_PL": "Firmware {0} został zainstalowany", + "pt_BR": "Firmware {0} foi instalado", + "ru_RU": "Прошивка {0} была установлена", + "sv_SE": "Firmware {0} installerades", + "th_TH": "เฟิร์มแวร์ {0} ติดตั้งแล้ว", + "tr_TR": "Yazılım {0} yüklendi", + "uk_UA": "Встановлено прошивку {0}", + "zh_CN": "已安装系统固件 {0}", + "zh_TW": "已安裝韌體{0}" + } + }, + { + "ID": "DialogFirmwareInstaller_FirmwareNotFoundErrorMessage", + "Translations": { + "ar_SA": "لم يتم العثور على برنامج ثابت للنظام صالح في {0}.", + "de_DE": "Es wurde keine gültige System-Firmware gefunden in {0}.", + "el_GR": "Δεν βρέθηκε έγκυρο Firmware συστήματος στο {0}.", + "en_US": "A valid system firmware was not found in {0}.", + "es_ES": "No se pudo encontrar un firmware válido en {0}.", + "fr_FR": "Un firmware valide n'a pas été trouvé dans {0}.", + "he_IL": "לא נמצאה קושחת מערכת תקפה ב-{0}.", + "it_IT": "Un firmware del sistema valido non è stato trovato in {0}.", + "ja_JP": "{0} には有効なシステムファームウェアがありません.", + "ko_KR": "{0}에서 유효한 시스템 펌웨어를 찾을 수 없습니다.", + "no_NO": "En gyldig systemfastvare ble ikke funnet i {0}.", + "pl_PL": "Nie znaleziono prawidłowego firmware'u systemowego w {0}.", + "pt_BR": "Um firmware de sistema válido não foi encontrado em {0}.", + "ru_RU": "Не удалось найти действительную системную прошивку в {0}.", + "sv_SE": "Ett giltigt systemfirmware hittades inte i {0}.", + "th_TH": "ไม่พบเฟิร์มแวร์ของระบบที่ถูกต้อง {0}.", + "tr_TR": "{0} da geçerli bir sistem firmware'i bulunamadı.", + "uk_UA": "Дійсна прошивка системи не знайдена в {0}.", + "zh_CN": "在路径 {0} 中找不到有效的 Switch 系统固件。", + "zh_TW": "在 {0} 中未發現有效的系統韌體。" + } + }, + { + "ID": "DialogFirmwareInstaller_FirmwareInstallTitle", + "Translations": { + "ar_SA": "تثبيت البرنامج الثابت {0}", + "de_DE": "Installiere Firmware {0}", + "el_GR": "Εγκατάσταση Firmware {0}", + "en_US": "Install Firmware {0}", + "es_ES": "Instalar Firmware {0}", + "fr_FR": "Installer le Firmware {0}", + "he_IL": "התקן קושחה {0}", + "it_IT": "Installa firmware {0}", + "ja_JP": "ファームウェア {0} をインストール", + "ko_KR": "펌웨어 {0} 설치", + "no_NO": "Installer fastvare {0}", + "pl_PL": "Zainstaluj Firmware {0}", + "pt_BR": "Instalar Firmware {0}", + "ru_RU": "Установить прошивку {0}", + "sv_SE": "Installera firmware {0}", + "th_TH": "ติดตั้งเฟิร์มแวร์ {0}", + "tr_TR": "Firmware {0} Yükle", + "uk_UA": "Встановити прошивку {0}", + "zh_CN": "安装系统固件 {0}", + "zh_TW": "安裝韌體 {0}" + } + }, + { + "ID": "DialogFirmwareInstaller_FirmwareInstallMessage", + "Translations": { + "ar_SA": "سيتم تثبيت إصدار النظام {0}.", + "de_DE": "Systemversion {0} wird jetzt installiert.", + "el_GR": "Θα εγκατασταθεί η έκδοση συστήματος {0}.", + "en_US": "System version {0} will be installed.", + "es_ES": "Se instalará la versión de sistema {0}.", + "fr_FR": "La version {0} du système sera installée.", + "he_IL": "גירסת המערכת {0} תותקן.", + "it_IT": "La versione del sistema {0} sarà installata.", + "ja_JP": "システムバージョン {0} がインストールされます.", + "ko_KR": "시스템 버전 {0}이(가) 설치됩니다.", + "no_NO": "Systemversjon {0} vil bli installert.", + "pl_PL": "Wersja systemu {0} zostanie zainstalowana.", + "pt_BR": "A versão do sistema {0} será instalada.", + "ru_RU": "Будет установлена версия прошивки {0}.", + "sv_SE": "Systemversion {0} kommer att installeras.", + "th_TH": "ระบบเวอร์ชั่น {0} ได้รับการติดตั้งเร็วๆ นี้", + "tr_TR": "Sistem sürümü {0} yüklenecek.", + "uk_UA": "Буде встановлено версію системи {0}.", + "zh_CN": "即将安装系统固件版本 {0} 。", + "zh_TW": "即將安裝系統韌體版本 {0}。" + } + }, + { + "ID": "DialogFirmwareInstaller_FirmwareInstallSubMessage", + "Translations": { + "ar_SA": "\n\nهذا سيحل محل إصدار النظام الحالي {0}.", + "de_DE": "\n\nDies wird die aktuelle Systemversion {0} ersetzen.", + "el_GR": "\n\nΑυτό θα αντικαταστήσει την τρέχουσα έκδοση συστήματος {0}.", + "en_US": "\n\nThis will replace the current system version {0}.", + "es_ES": "\n\nEsto reemplazará la versión de sistema actual, {0}.", + "fr_FR": "\n\nCela remplacera la version actuelle du système {0}.", + "he_IL": "\n\nזה יחליף את גרסת המערכת הנוכחית {0}.", + "it_IT": "\n\nQuesta sostituirà l'attuale versione del sistema ({0}).", + "ja_JP": "\n\n現在のシステムバージョン {0} を置き換えます.", + "ko_KR": "\n\n현재 시스템 버전 {0}을(를) 대체합니다.", + "no_NO": "\n\nDette erstatter den gjeldende systemversjonen {0}.", + "pl_PL": "\n\nZastąpi to obecną wersję systemu {0}.", + "pt_BR": "\n\nIsso substituirá a versão do sistema atual {0}.", + "ru_RU": "\n\nЭто заменит текущую версию прошивки {0}.", + "sv_SE": "\n\nDetta kommer att ersätta aktuella systemversionen {0}.", + "th_TH": "\n\nสิ่งนี้จะแทนที่เวอร์ชั่นของระบบเวอร์ชั่นปัจจุบัน {0}.", + "tr_TR": "\n\nBu şimdiki sistem sürümünün yerini alacak {0}.", + "uk_UA": "\n\nЦе замінить поточну версію системи {0}.", + "zh_CN": "\n\n替换当前系统固件版本 {0} 。", + "zh_TW": "\n\n這將取代目前的系統韌體版本 {0}。" + } + }, + { + "ID": "DialogFirmwareInstaller_FirmwaresInstallConfirmMessage", + "Translations": { + "ar_SA": "\nهل تريد المتابعة؟", + "de_DE": "\n\nMöchtest du fortfahren?", + "el_GR": "\n\nΘέλετε να συνεχίσετε;", + "en_US": "\n\nDo you want to continue?", + "es_ES": "\n\n¿Continuar?", + "fr_FR": "\n\nVoulez-vous continuer ?", + "he_IL": "\n\nהאם ברצונך להמשיך?", + "it_IT": "\n\nVuoi continuare?", + "ja_JP": "\n\n続けてよろしいですか?", + "ko_KR": "\n\n계속하시겠습니까?", + "no_NO": "\n\nVil du fortsette?", + "pl_PL": "\n\nCzy chcesz kontynuować?", + "pt_BR": "\n\nDeseja continuar?", + "ru_RU": "\n\nПродолжить?", + "sv_SE": "\n\nVill du fortsätta?", + "th_TH": "\n\nคุณต้องการดำเนินการต่อหรือไม่?", + "tr_TR": "\n\nDevam etmek istiyor musunuz?", + "uk_UA": "\n\nВи хочете продовжити?", + "zh_CN": "\n\n是否继续?", + "zh_TW": "\n\n您確定要繼續嗎?" + } + }, + { + "ID": "DialogFirmwareInstaller_FirmwareInstallWaitMessage", + "Translations": { + "ar_SA": "تثبيت البرنامج الثابت...", + "de_DE": "Firmware wird installiert...", + "el_GR": "Εγκατάσταση Firmware...", + "en_US": "Installing Firmware...", + "es_ES": "Instalando Firmware...", + "fr_FR": "Installation du Firmware...", + "he_IL": "מתקין קושחה...", + "it_IT": "Installazione del firmware...", + "ja_JP": "ファームウェアをインストール中...", + "ko_KR": "펌웨어 설치 중...", + "no_NO": "Installerer fastvare...", + "pl_PL": "Instalowanie firmware'u...", + "pt_BR": "Instalando firmware...", + "ru_RU": "Установка прошивки...", + "sv_SE": "Installerar firmware...", + "th_TH": "กำลังติดตั้งเฟิร์มแวร์...", + "tr_TR": "Firmware yükleniyor...", + "uk_UA": "Встановлення прошивки...", + "zh_CN": "安装系统固件中...", + "zh_TW": "正在安裝韌體..." + } + }, + { + "ID": "DialogFirmwareInstaller_FirmwareInstallSuccessMessage", + "Translations": { + "ar_SA": "تم تثبيت إصدار النظام {0} بنجاح.", + "de_DE": "Systemversion {0} wurde erfolgreich installiert.", + "el_GR": "Η έκδοση συστήματος {0} εγκαταστάθηκε με επιτυχία.", + "en_US": "System version {0} successfully installed.", + "es_ES": "Versión de sistema {0} instalada con éxito.", + "fr_FR": "Version du système {0} installée avec succès.", + "he_IL": "גרסת המערכת {0} הותקנה בהצלחה.", + "it_IT": "La versione del sistema {0} è stata installata.", + "ja_JP": "システムバージョン {0} が正常にインストールされました.", + "ko_KR": "시스템 버전 {0}이(가) 설치되었습니다.", + "no_NO": "Systemversjon {0} ble installert.", + "pl_PL": "Wersja systemu {0} została pomyślnie zainstalowana.", + "pt_BR": "Versão do sistema {0} instalada com sucesso.", + "ru_RU": "Прошивка версии {0} успешно установлена.", + "sv_SE": "Systemversion {0} har installerats.", + "th_TH": "ระบบเวอร์ชั่น {0} ติดตั้งเรียบร้อยแล้ว", + "tr_TR": "Sistem sürümü {0} başarıyla yüklendi.", + "uk_UA": "Версію системи {0} успішно встановлено.", + "zh_CN": "成功安装系统固件版本 {0} 。", + "zh_TW": "成功安裝系統韌體版本 {0}。" + } + }, + { + "ID": "UserError_NoFirmware", + "Translations": { + "ar_SA": "لم يتم العثور على البرنامج الثابت", + "de_DE": "Firmware nicht gefunden", + "el_GR": "Το firmware δε βρέθηκε", + "en_US": "Firmware not found", + "es_ES": "No se encontró Firmware", + "fr_FR": "Firmware introuvable", + "he_IL": "קושחה לא נמצאה", + "it_IT": "Firmware non trovato", + "ja_JP": "ファームウェアがありません", + "ko_KR": "펌웨어를 찾을 수 없음", + "no_NO": "Fastvare ikke funnet", + "pl_PL": "Nie znaleziono firmware'u", + "pt_BR": "Firmware não encontrado", + "ru_RU": "Прошивка не найдена", + "sv_SE": "Firmware hittades inte", + "th_TH": "ไม่พบ เฟิร์มแวร์", + "tr_TR": "Firmware bulunamadı", + "uk_UA": "Прошивка не знайдена", + "zh_CN": "未安装系统固件", + "zh_TW": "找不到韌體" + } + }, + { + "ID": "UserError_NoFirmware_Description", + "Translations": { + "ar_SA": "لم يتمكن ريوجينكس من العثور على أية برامج ثابتة مثبتة", + "de_DE": "Ryujinx konnte keine installierte Firmware finden!", + "el_GR": "Το Ryujinx δεν κατάφερε να εντοπίσει κανένα εγκατεστημένο firmware", + "en_US": "Ryujinx was unable to find any firmwares installed", + "es_ES": "Ryujinx no pudo encontrar un firmware instalado.", + "fr_FR": "Ryujinx n'a pas trouvé de firmware installé", + "he_IL": "ריוג'ינקס לא הצליחה למצוא קושחה מותקנת", + "it_IT": "Ryujinx non è riuscito a trovare alcun firmware installato", + "ja_JP": "インストールされたファームウェアが見つかりませんでした", + "ko_KR": "Ryujinx가 설치된 펌웨어를 찾을 수 없음", + "no_NO": "Ryujinx kunne ikke finne noen fastvare installert", + "pl_PL": "Ryujinx nie mógł znaleźć żadnego zainstalowanego firmware'u", + "pt_BR": "Ryujinx não conseguiu encontrar nenhum Firmware instalado", + "ru_RU": "Ryujinx не удалось найти ни одной установленной прошивки", + "sv_SE": "Ryujinx kunde inte hitta några installerade firmwares", + "th_TH": "Ryujinx ไม่พบ เฟิร์มแวร์ที่ติดตั้งไว้ในเครื่องของคุณ", + "tr_TR": "Ryujinx yüklü herhangi firmware bulamadı", + "uk_UA": "Ryujinx не вдалося знайти жодної встановленої прошивки", + "zh_CN": "Ryujinx 模拟器未安装 Switch 系统固件", + "zh_TW": "Ryujinx 無法找到已安裝的任何韌體" + } + }, + { + "ID": "UserError_FirmwareParsingFailed", + "Translations": { + "ar_SA": "خطأ في تحليل البرنامج الثابت", + "de_DE": "Firmware-Analysierung-Fehler", + "el_GR": "Σφάλμα ανάλυσης firmware", + "en_US": "Firmware parsing error", + "es_ES": "Error al analizar el Firmware", + "fr_FR": "Erreur d'analyse du firmware", + "he_IL": "שגיאת ניתוח קושחה", + "it_IT": "Errore di analisi del firmware", + "ja_JP": "ファームウェアのパーズエラー", + "ko_KR": "펌웨어 구문 분석 오류", + "no_NO": "Fastvare analysefeil", + "pl_PL": "Błąd parsowania firmware'u", + "pt_BR": "Erro de análise de firmware", + "ru_RU": "Ошибка извлечения прошивки", + "sv_SE": "Tolkningsfel i firmware", + "th_TH": "เกิดข้อผิดพลาดในการวิเคราะห์เฟิร์มแวร์", + "tr_TR": "Firmware çözümleme hatası", + "uk_UA": "Помилка аналізу прошивки", + "zh_CN": "固件文件解析出错", + "zh_TW": "韌體解析錯誤" + } + }, + { + "ID": "UserError_FirmwareParsingFailed_Description", + "Translations": { + "ar_SA": "لم يتمكن ريوجينكس من تحليل البرامج الثابتة المتوفرة. يحدث هذا عادة بسبب المفاتيح القديمة.", + "de_DE": "Ryujinx konnte die zu verfügung gestellte Firmware nicht analysieren. Ein möglicher Grund dafür sind veraltete keys.", + "el_GR": "Το Ryujinx δεν κατάφερε να αναλύσει το συγκεκριμένο firmware. Αυτό συνήθως οφείλετε σε ξεπερασμένα/παλιά κλειδιά.", + "en_US": "Ryujinx was unable to parse the provided firmware. This is usually caused by outdated keys.", + "es_ES": "Ryujinx no pudo analizar el firmware. Normalmente esto ocurre debido a keys desfasadas.", + "fr_FR": "Ryujinx n'a pas pu analyser le firmware fourni. Cela est généralement dû à des clés obsolètes.", + "he_IL": "ריוג'ינקס לא הצליחה לנתח את הקושחה שסופקה. זה נגרם בדרך כלל על ידי מפתחות לא עדכניים.", + "it_IT": "Ryujinx non è riuscito ad analizzare il firmware. Questo di solito è causato da chiavi non aggiornate.", + "ja_JP": "ファームウェアをパーズできませんでした.通常,古いキーが原因です.", + "ko_KR": "Ryujinx가 제공된 펌웨어를 구문 분석하지 못했습니다. 일반적으로 오래된 키로 인해 발생합니다.", + "no_NO": "Ryujinx klarte ikke å analysere levert fastvare. Dette er vanligvis forårsaket av utdaterte nøkler.", + "pl_PL": "Ryujinx nie był w stanie zparsować dostarczonego firmware'u. Jest to zwykle spowodowane nieaktualnymi kluczami.", + "pt_BR": "Ryujinx não conseguiu ler o Firmware fornecido. Geralmente isso é causado por chaves desatualizadas.", + "ru_RU": "Ryujinx не удалось распаковать выбранную прошивку. Обычно это вызвано устаревшими ключами.", + "sv_SE": "Ryujinx kunde inte tolka angiven firmware. Detta sker oftast med utdaterade nycklar.", + "th_TH": "Ryujinx ไม่สามารถวิเคราะห์เฟิร์มแวร์ที่ให้มาได้ ซึ่งมักมีสาเหตุมาจากคีย์ที่เก่าจนเกินไป", + "tr_TR": "Ryujinx temin edilen firmware'i çözümleyemedi. Bu durum genellikle güncel olmayan keys'den kaynaklanır.", + "uk_UA": "Ryujinx не вдалося проаналізувати прошивку. Зазвичай це спричинено застарілими ключами.", + "zh_CN": "Ryujinx 模拟器无法解密当前固件,一般是由于使用了旧版的密钥导致的。", + "zh_TW": "Ryujinx 無法解析所提供的韌體。這通常是由於金鑰過時造成的。" + } + } + ] +} diff --git a/assets/Locales/Keys.json b/assets/Locales/Keys.json new file mode 100644 index 000000000..9a7daf8b3 --- /dev/null +++ b/assets/Locales/Keys.json @@ -0,0 +1,329 @@ +{ + "Locales": [ + { + "ID": "MenuBarActions_Install", + "Translations": { + "ar_SA": "تثبيت المفاتيح", + "de_DE": "Schlüssel installieren", + "el_GR": "Εγκατάσταση Κλειδιών", + "en_US": "Install Keys", + "es_ES": "Instalar Claves", + "fr_FR": "Installer des Clés", + "he_IL": "התקנת מפתחות", + "it_IT": "Installa chiavi", + "ja_JP": "キーをインストール", + "ko_KR": "설치 키", + "no_NO": "Installere nøkler", + "pl_PL": "Zainstaluj klucze", + "pt_BR": "Instalar Chaves", + "ru_RU": "Установить ключи", + "sv_SE": "Installera nycklar", + "th_TH": "ติดตั้ง Keys", + "tr_TR": "Anahtarları Yükle", + "uk_UA": "Встановити Ключі", + "zh_CN": "安装密匙", + "zh_TW": "安裝金鑰" + } + }, + { + "ID": "MenuBarActions_InstallFromKeys", + "Translations": { + "ar_SA": null, + "de_DE": null, + "el_GR": null, + "en_US": ".KEYS", + "es_ES": null, + "fr_FR": null, + "he_IL": null, + "it_IT": null, + "ja_JP": null, + "ko_KR": null, + "no_NO": null, + "pl_PL": null, + "pt_BR": null, + "ru_RU": null, + "sv_SE": null, + "th_TH": null, + "tr_TR": null, + "uk_UA": null, + "zh_CN": null, + "zh_TW": null + } + }, + { + "ID": "MenuBarFileActions_InstallFromFolder", + "Translations": { + "ar_SA": "مجلد", + "de_DE": "Verzeichnis", + "el_GR": "Φάκελος", + "en_US": "Folder", + "es_ES": "Carpeta", + "fr_FR": "Dossier", + "he_IL": "תיקיה", + "it_IT": "Cartella", + "ja_JP": "フォルダ", + "ko_KR": "폴더", + "no_NO": "Mappe", + "pl_PL": "Folder", + "pt_BR": "Diretório", + "ru_RU": "Папка", + "sv_SE": "Katalog", + "th_TH": "ไดเรกทอรี", + "tr_TR": "Klasör", + "uk_UA": "Тека", + "zh_CN": "文件夹", + "zh_TW": "資料夾" + } + }, + { + "ID": "InstallFromFile_DialogTitle", + "Translations": { + "ar_SA": "اختر ملف .KEYS", + "de_DE": "Wählen Sie eine .KEYS-Datei aus", + "el_GR": "Επιλέξτε ένα αρχείο .KEYS", + "en_US": "Choose a .KEYS file", + "es_ES": "Elige un archivo .KEYS", + "fr_FR": "Choisissez un fichier .KEYS", + "he_IL": "בחר קובץ .KEYS", + "it_IT": "Scegli un file .KEYS", + "ja_JP": ".KEYS ファイルを選択", + "ko_KR": ".KEYS 파일을 선택하세요", + "no_NO": "Velg en .KEYS-fil", + "pl_PL": "Wybierz plik .KEYS", + "pt_BR": "Escolha um arquivo .KEYS", + "ru_RU": "Выберите файл .KEYS", + "sv_SE": "Välj en .KEYS-fil", + "th_TH": "เลือกไฟล์ .KEYS", + "tr_TR": ".KEYS dosyasını seçin", + "uk_UA": "Виберіть файл .KEYS", + "zh_CN": "选择一个 .KEYS 文件", + "zh_TW": "選擇一個 .KEYS 檔案" + } + }, + { + "ID": "InstallFromFolder_DialogTitle", + "Translations": { + "ar_SA": "اختر مجلد لتثبيت المفاتيح منه", + "de_DE": "Wählen Sie einen ORDNER aus, um die Schlüssel zu installieren", + "el_GR": "Επιλέξτε έναν ΦΆΚΕΛΟ για να εγκαταστήσετε τα κλειδιά", + "en_US": "Choose a FOLDER to install keys from", + "es_ES": "Elige una CARPETA para instalar las claves", + "fr_FR": "Choisissez un DOSSIER pour installer les clés", + "he_IL": "בחר תיקיה להתקנת המפתחות ממנו", + "it_IT": "Scegli una CARTELLA per installare le chiavi", + "ja_JP": "フォルダを選択してキーをインストール", + "ko_KR": "폴더를 선택하여 키를 설치하세요", + "no_NO": "Velg en MAPPE for å installere nøklene fra", + "pl_PL": "Wybierz FOLDER, aby zainstalować klucze", + "pt_BR": "Escolha uma PASTA para instalar as chaves", + "ru_RU": "Выберите ПАПКУ для установки ключей", + "sv_SE": "Välj en MAPP för att installera nycklar från", + "th_TH": "เลือกโฟลเดอร์เพื่อติดตั้งคีย์จาก", + "tr_TR": "KLASÖR seçin ve anahtarları yükleyin", + "uk_UA": "Виберіть ПАПКУ для встановлення ключів", + "zh_CN": "选择一个文件夹来安装密钥", + "zh_TW": "選擇一個資料夾來安裝密鑰" + } + }, + { + "ID": "DialogKeysInstaller_InstallConfirmMessage", + "Translations": { + "ar_SA": "\nهل تريد المتابعة؟", + "de_DE": "\n\nMöchtest du fortfahren?", + "el_GR": "\n\nΘέλετε να συνεχίσετε;", + "en_US": "\n\nDo you want to continue?", + "es_ES": "\n\n¿Continuar?", + "fr_FR": "\n\nVoulez-vous continuer ?", + "he_IL": "\n\nהאם ברצונך להמשיך?", + "it_IT": "\n\nVuoi continuare?", + "ja_JP": "\n\n続けてよろしいですか?", + "ko_KR": "\n\n계속하시겠습니까?", + "no_NO": "\n\nVil du fortsette?", + "pl_PL": "\n\nCzy chcesz kontynuować?", + "pt_BR": "\n\nDeseja continuar?", + "ru_RU": "\n\nПродолжить?", + "sv_SE": "\n\nVill du fortsätta?", + "th_TH": "\n\nคุณต้องการดำเนินการต่อหรือไม่?", + "tr_TR": "\n\nDevam etmek istiyor musunuz?", + "uk_UA": "\n\nВи хочете продовжити?", + "zh_CN": "\n\n是否继续?", + "zh_TW": "\n\n您確定要繼續嗎?" + } + }, + { + "ID": "DialogKeysInstaller_KeysNotFoundErrorMessage", + "Translations": { + "ar_SA": "", + "de_DE": "", + "el_GR": "", + "en_US": "An invalid Keys file was found in {0}", + "es_ES": "Se halló un archivo Keys inválido en {0}", + "fr_FR": "Un fichier de Clés invalide a été trouvé dans {0}", + "he_IL": "", + "it_IT": "È stato trovato un file di chiavi non valido in {0}", + "ja_JP": "", + "ko_KR": "{0}에서 잘못된 키 파일이 발견", + "no_NO": "En ugyldig Keys-fil ble funnet i {0}.", + "pl_PL": "", + "pt_BR": "Um arquivo Chaves inválido foi encontrado em {0}", + "ru_RU": "В {0} найден некорректный файл ключей", + "sv_SE": "En ogiltig nyckelfil hittades i {0}", + "th_TH": "พบไฟล์ Keys ที่ไม่ถูกต้องใน {0}", + "tr_TR": "", + "uk_UA": "Виявлено неправильний файл ключів у теці {0}", + "zh_CN": "在 {0} 发现了一个无效的密匙文件", + "zh_TW": "找到無效的金鑰檔案 {0}" + } + }, + { + "ID": "DialogKeysInstaller_KeysInstallMessage", + "Translations": { + "ar_SA": "سيتم تثبيت ملف مفاتيح جديد.", + "de_DE": "Eine neue Schlüsseldatei wird installiert.", + "el_GR": "Ένα νέο αρχείο Κλειδιών θα εγκατασταθεί.", + "en_US": "New Keys file will be installed.", + "es_ES": "Un nuevo archivo de Claves será instalado.", + "fr_FR": "Nouveau fichier de Clés sera installé.", + "he_IL": "קובץ מפתחות חדש יותקן.", + "it_IT": "Un nuovo file di chiavi sarà installato.", + "ja_JP": "新しいキー ファイルがインストールされます。", + "ko_KR": "새로운 키 파일이 설치됩니다.", + "no_NO": "Ny Keys-fil vil bli installert.", + "pl_PL": "Nowy plik kluczy zostanie zainstalowany.", + "pt_BR": "O novo arquivo Chaves será instalado.", + "ru_RU": "Будут установлены новые ключи.", + "sv_SE": "Ny nyckelfil kommer att installeras.", + "th_TH": "กำลังติดตั้งไฟล์ Keys ใหม่", + "tr_TR": "Yeni anahtar dosyası yüklenecek.", + "uk_UA": "Новий файл Ключів буде встановлено.", + "zh_CN": "将会安装新密匙文件。", + "zh_TW": "將會安裝新增的金鑰檔案。" + } + }, + { + "ID": "DialogKeysInstaller_KeysInstallSubMessage", + "Translations": { + "ar_SA": "\n\nقد يحل هذا محل بعض المفاتيح المثبتة حاليًا.", + "de_DE": "\n\nDies könnte einige der derzeit installierten Schlüssel ersetzen.", + "el_GR": "\n\nΑυτό μπορεί να αντικαταστήσει μερικά από τα τρέχοντα εγκατεστημένα κλειδιά.", + "en_US": "\n\nThis may replace some of the current installed Keys.", + "es_ES": "\n\nEsto puede reemplazar algunas de las Keys actualmente instaladas.", + "fr_FR": "\n\nCela peut remplacer certaines des Clés actuellement installées.", + "he_IL": "\n\nזה עשוי להחליף חלק מהמפתחות המותקנים הנוכחיים.", + "it_IT": "\n\nAlcune delle chiavi già installate potrebbero essere sovrascritte.", + "ja_JP": "\n\nこれにより、現在インストールされているキーの一部が置き換えられる場合があります。", + "ko_KR": "\n\n이로 인해 현재 설치된 키 중 일부가 대체될 수 있습니다.", + "no_NO": "\n\nDette kan erstatte noen av de nåværende installerte nøklene.", + "pl_PL": "\n\nTo może zastąpić niektóre z aktualnie zainstalowanych kluczy.", + "pt_BR": "\n\nIsso pode substituir algumas das chaves instaladas atualmente.", + "ru_RU": "\n\nЭто может заменить некоторые из текущих установленных ключей.", + "sv_SE": "\n\nDetta kan ersätta några av de redan installerade nycklarna.", + "th_TH": "\n\nสิ่งนี้อาจทำให้ไฟล์ Keys บางส่วนที่ติดตั้งอยู่ถูกแทนที่", + "tr_TR": "\n\nBu, şu anda kurulu olan anahtarların bazılarının yerine geçebilir.", + "uk_UA": "\n\nЦе замінить собою поточні файли Ключів.", + "zh_CN": "\n\n这也许会替换掉一些当前已安装的密匙", + "zh_TW": "\n\n這將取代部分已安裝的金鑰。" + } + }, + { + "ID": "DialogKeysInstaller_KeysInstallWaitMessage", + "Translations": { + "ar_SA": "جارٍ تثبيت المفاتيح...", + "de_DE": "Schlüssel werden installiert...", + "el_GR": "Εγκατάσταση κλειδιών...", + "en_US": "Installing Keys...", + "es_ES": "Instalando Claves...", + "fr_FR": "Installation des Clés...", + "he_IL": "מתקין מפתחות...", + "it_IT": "Installazione delle chiavi...", + "ja_JP": "キーをインストールしています...", + "ko_KR": "키 설치 중...", + "no_NO": "Installere nøkler...", + "pl_PL": "Instalowanie kluczy...", + "pt_BR": "Instalando Chaves...", + "ru_RU": "Установка ключей...", + "sv_SE": "Installerar nycklar...", + "th_TH": "กำลังดำเนินการติดตั้ง Keys...", + "tr_TR": "Anahtarlar yükleniyor...", + "uk_UA": "Встановлення Ключів...", + "zh_CN": "安装密匙中。。。", + "zh_TW": "正在安裝金鑰..." + } + }, + { + "ID": "DialogKeysInstaller_KeysInstallSuccessMessage", + "Translations": { + "ar_SA": "تم تثبيت ملف المفاتيح الجديد بنجاح.", + "de_DE": "Neue Schlüsseldatei erfolgreich installiert.", + "el_GR": "Το νέο αρχείο Κλειδιών εγκαταστάθηκε με επιτυχία.", + "en_US": "New Keys file successfully installed.", + "es_ES": "Nuevo archivo Keys instalado con éxito.", + "fr_FR": "Nouveau fichier de Clés a été installé.", + "he_IL": "הקובץ החדש של המפתחות הותקן בהצלחה.", + "it_IT": "Nuovo file di chiavi installato con successo.", + "ja_JP": "新しいキー ファイルが正常にインストールされました。", + "ko_KR": "새로운 키 파일이 성공적으로 설치되었습니다.", + "no_NO": "Ny Keys -fil installert.", + "pl_PL": "Nowy plik kluczy został pomyślnie zainstalowany.", + "pt_BR": "Novo arquivo de chaves instalado com sucesso.", + "ru_RU": "Новые ключи успешно установлены.", + "sv_SE": "Ny nyckelfil installerades.", + "th_TH": "การติดตั้งไฟล์ Keys ใหม่เสร็จสมบูรณ์แล้ว", + "tr_TR": "Yeni anahtar dosyası başarıyla yüklendi.", + "uk_UA": "Нові ключі встановлено.", + "zh_CN": "已成功安装新密匙文件", + "zh_TW": "成功安裝新增的金鑰檔案。" + } + }, + { + "ID": "UserError_NoKeys", + "Translations": { + "ar_SA": "المفاتيح غير موجودة", + "de_DE": "Keys nicht gefunden", + "el_GR": "Τα κλειδιά δεν βρέθηκαν", + "en_US": "Keys not found", + "es_ES": "No se encontraron claves", + "fr_FR": "Clés non trouvées", + "he_IL": "המפתחות לא נמצאו", + "it_IT": "Chiavi non trovate", + "ja_JP": "Keys がありません", + "ko_KR": "키를 찾을 수 없음", + "no_NO": "Finner ikke nøkler", + "pl_PL": "Nie znaleziono kluczy", + "pt_BR": "Chaves não encontradas", + "ru_RU": "Ключи не найдены", + "sv_SE": "Nycklarna hittades inte", + "th_TH": "ไม่พบ คีย์", + "tr_TR": "Keys bulunamadı", + "uk_UA": "Ключі не знайдено", + "zh_CN": "找不到密钥Keys", + "zh_TW": "找不到金鑰" + } + }, + { + "ID": "UserError_NoKeys_Description", + "Translations": { + "ar_SA": "لم يتمكن ريوجينكس من العثور على ملف 'prod.keys' الخاص بك", + "de_DE": "Ryujinx konnte deine 'prod.keys' Datei nicht finden", + "el_GR": "Το Ryujinx δεν κατάφερε να εντοπίσει το αρχείο 'prod.keys'", + "en_US": "Ryujinx was unable to find your 'prod.keys' file", + "es_ES": "Ryujinx no pudo encontrar tus 'prod.keys'.", + "fr_FR": "Ryujinx n'a pas pu trouver votre fichier 'prod.keys'", + "he_IL": "ריוג'ינקס לא הצליח למצוא את קובץ ה-'prod.keys' שלך", + "it_IT": "Ryujinx non è riuscito a trovare il file 'prod.keys'", + "ja_JP": "'prod.keys' が見つかりませんでした", + "ko_KR": "Ryujinx가 'prod.keys' 파일을 찾지 못함", + "no_NO": "Ryujinx kunne ikke finne 'prod.keys' filen din", + "pl_PL": "Ryujinx nie mógł znaleźć twojego pliku 'prod.keys'", + "pt_BR": "Ryujinx não conseguiu encontrar o seu arquivo 'prod.keys'", + "ru_RU": "Ryujinx не удалось найти ваш 'prod.keys' файл", + "sv_SE": "Ryujinx kunde inte hitta din 'prod.keys'-fil", + "th_TH": "Ryujinx ไม่พบไฟล์ 'prod.keys' ในเครื่องของคุณ", + "tr_TR": "Ryujinx 'prod.keys' dosyasını bulamadı", + "uk_UA": "Ryujinx не вдалося знайти ваш файл «prod.keys».", + "zh_CN": "Ryujinx 模拟器找不到“prod.keys”密钥文件", + "zh_TW": "Ryujinx 無法找到您的「prod.keys」檔案" + } + } + ] +} diff --git a/assets/Locales/MiiEditor.json b/assets/Locales/MiiEditor.json new file mode 100644 index 000000000..c1f6cc5af --- /dev/null +++ b/assets/Locales/MiiEditor.json @@ -0,0 +1,29 @@ +{ + "Locales": [ + { + "ID": "MenuBarActions_OpenEditor", + "Translations": { + "ar_SA": "محرر Mii", + "de_DE": "Mii-Editor", + "el_GR": "Επεξεργαστής Mii", + "en_US": "Mii Editor", + "es_ES": "Editor de Mii", + "fr_FR": "Éditeur de Mii", + "he_IL": "עורך Mii", + "it_IT": "Editor di Mii", + "ja_JP": "Miiエディター", + "ko_KR": "Mii 편집기", + "no_NO": "Mii-redigerer", + "pl_PL": "Edytor Mii", + "pt_BR": "Editor de Mii", + "ru_RU": "Редактор Mii", + "sv_SE": "Mii-redigerare", + "th_TH": "ตัวแก้ไข Mii", + "tr_TR": "Mii Düzenleyicisi", + "uk_UA": "Редактор Mii", + "zh_CN": "Mii 编辑器", + "zh_TW": "Mii 編輯器" + } + } + ] +} diff --git a/assets/Locales/Root.json b/assets/Locales/Root.json index 3578f689d..945ec94e2 100644 --- a/assets/Locales/Root.json +++ b/assets/Locales/Root.json @@ -1,55 +1,5 @@ { "Locales": [ - { - "ID": "MenuBarActionsOpenMiiEditor", - "Translations": { - "ar_SA": "", - "de_DE": "", - "el_GR": "", - "en_US": "Mii Editor", - "es_ES": "Editor de Mii", - "fr_FR": "Éditeur de Mii", - "he_IL": "", - "it_IT": "Editor di Mii", - "ja_JP": "", - "ko_KR": "Mii 편집기", - "no_NO": "Mii-redigerer", - "pl_PL": "Edytor Mii", - "pt_BR": "Editor de Mii", - "ru_RU": "Редактор Mii", - "sv_SE": "Mii-redigerare", - "th_TH": "", - "tr_TR": "", - "uk_UA": "Редактор Mii", - "zh_CN": "Mii 编辑器", - "zh_TW": "Mii 編輯器" - } - }, - { - "ID": "MenuBarActionsOpenMiiEditorToolTip", - "Translations": { - "ar_SA": "‫افتح تطبيق تحرير Mii في الوضع المستقل", - "de_DE": "Öffnet das Mii-Editor im Standalone-Modus", - "el_GR": "Άνοιγμα του Mii Editor σε Αυτόνομη λειτουργία", - "en_US": "Opens Mii Editor in Standalone mode", - "es_ES": "Abre el Editor de Mii en modo Autónomo", - "fr_FR": "Ouvrir L'Éditeur de Mii en mode autonome", - "he_IL": "פתח את יישומון עורך ה- Mii במצב עצמאי", - "it_IT": "Apri l'Editor di Mii in modalità Standalone", - "ja_JP": "スタンドアロンモードで Mii エディタアプレットを開きます", - "ko_KR": "독립 실행형 모드로 Mii 편집기 애플릿 열기", - "no_NO": "Åpne Mii Redigerings program i eget vindu", - "pl_PL": "Otwórz Edytor Mii w trybie indywidualnym", - "pt_BR": "Abrir Editor de Mii em Modo Independente", - "ru_RU": "Открывает редактор Mii в автономном режиме", - "sv_SE": "Öppna Mii Editor i fristående läge", - "th_TH": "เปิดโปรแกรม Mii Editor", - "tr_TR": "Mii Editör'ini Bağımsız Mod'da Aç", - "uk_UA": "Відкрити редактор Mii в автономному режимі", - "zh_CN": "打开独立的 Mii 小程序", - "zh_TW": "在獨立模式下開啟 Mii 編輯器小程式" - } - }, { "ID": "SettingsTabInputDirectMouseAccess", "Translations": { @@ -553,26 +503,26 @@ { "ID": "MenuBarOptionsStopEmulation", "Translations": { - "ar_SA": "إيقاف المحاكاة", - "de_DE": "Emulation beenden", - "el_GR": "Διακοπή Εξομοίωσης", - "en_US": "Stop Emulation", - "es_ES": "Detener Emulación", - "fr_FR": "Arrêter l'Émulation", - "he_IL": "עצור אמולציה", - "it_IT": "Arresta l'emulazione", - "ja_JP": "エミュレーションを中止", - "ko_KR": "에뮬레이션 중지", - "no_NO": "Stopp Emulering", - "pl_PL": "Zatrzymaj emulację", - "pt_BR": "Parar a Emulação", + "ar_SA": "إيقاف", + "de_DE": "Stopp", + "el_GR": "Σταμάτημα", + "en_US": "Stop", + "es_ES": "Detener", + "fr_FR": "Arrêter", + "he_IL": "עצור", + "it_IT": "Arresta", + "ja_JP": "停止", + "ko_KR": "중지", + "no_NO": "Stopp", + "pl_PL": "Zatrzymaj", + "pt_BR": "Parar", "ru_RU": "Остановить", - "sv_SE": "Stoppa emulering", - "th_TH": "หยุดการจำลอง", - "tr_TR": "Emülasyonu Durdur", - "uk_UA": "Зупинити емуляцію", - "zh_CN": "停止模拟", - "zh_TW": "停止模擬" + "sv_SE": "Stoppa", + "th_TH": "หยุด", + "tr_TR": "Durdur", + "uk_UA": "Зупинити", + "zh_CN": "停止", + "zh_TW": "停止" } }, { @@ -675,206 +625,6 @@ "zh_TW": "模擬喚醒訊息" } }, - { - "ID": "MenuBarActionsScanAmiibo", - "Translations": { - "ar_SA": "مسح Amiibo", - "de_DE": "Amiibo scannen", - "el_GR": "Σάρωση Amiibo", - "en_US": "Scan Amiibo", - "es_ES": "Escanear Amiibo", - "fr_FR": "Scanner un Amiibo", - "he_IL": "סרוק אמיבו", - "it_IT": "Scansiona un Amiibo", - "ja_JP": "Amiibo をスキャン", - "ko_KR": "Amiibo 스캔", - "no_NO": "Skann en Amiibo", - "pl_PL": "Skanuj Amiibo", - "pt_BR": "Escanear um Amiibo", - "ru_RU": "Сканировать Amiibo", - "sv_SE": "Skanna en Amiibo", - "th_TH": "สแกนหา Amiibo", - "tr_TR": "Bir Amiibo Tara", - "uk_UA": "Сканувати Amiibo", - "zh_CN": "扫描 Amiibo", - "zh_TW": "掃描 Amiibo" - } - }, - { - "ID": "MenuBarActionsScanAmiiboBin", - "Translations": { - "ar_SA": "مسح Amiibo (.BIN)", - "de_DE": "Amiibo scannen (.BIN)", - "el_GR": "Σάρωση Amiibo (.BIN)", - "en_US": "Scan Amiibo (.BIN)", - "es_ES": "Escanear un Amiibo (.BIN)", - "fr_FR": "Scanner un Amiibo (.BIN)", - "he_IL": "סרוק Amiibo (.BIN)", - "it_IT": "Scansiona un Amiibo (.BIN)", - "ja_JP": "Amiibo をスキャン (.BIN)", - "ko_KR": "Amiibo 스캔 (.BIN)", - "no_NO": "Skann en Amiibo (.BIN)", - "pl_PL": "Skanuj Amiibo (.BIN)", - "pt_BR": "Escaneie um Amiibo (.BIN)", - "ru_RU": "Сканировать Amiibo (.BIN)", - "sv_SE": "Skanna en Amiibo (.BIN)", - "th_TH": "สแกนอามีโบ (.BIN)", - "tr_TR": "Amiibo Tara (.BIN)", - "uk_UA": "Сканувати Amiibo (.BIN)", - "zh_CN": "扫描 Amiibo (.BIN)", - "zh_TW": "掃瞄 Amiibo (.BIN)" - } - }, - { - "ID": "MenuBarActionsInstallFirmware", - "Translations": { - "ar_SA": "تثبيت البرنامج الثابت", - "de_DE": "Firmware installieren", - "el_GR": "Εγκατάσταση Firmware", - "en_US": "Install Firmware", - "es_ES": "Instalar Firmware", - "fr_FR": "Installer le Firmware", - "he_IL": "התקן קושחה", - "it_IT": "Installa firmware", - "ja_JP": "ファームウェアをインストール", - "ko_KR": "펌웨어 설치", - "no_NO": "Installer fastvare", - "pl_PL": "Zainstaluj oprogramowanie", - "pt_BR": "Instalar Firmware", - "ru_RU": "Установить прошивку", - "sv_SE": "Installera firmware", - "th_TH": "ติดตั้งเฟิร์มแวร์", - "tr_TR": "Yazılım Yükle", - "uk_UA": "Встановити прошивку (Firmware)", - "zh_CN": "安装系统固件", - "zh_TW": "安裝韌體" - } - }, - { - "ID": "MenuBarActionsInstallFirmwareFromFile", - "Translations": { - "ar_SA": "تثبيت البرنامج الثابت (.XCI أو .ZIP)", - "de_DE": "Firmware (.XCI oder .ZIP) installieren", - "el_GR": "Εγκατάσταση Firmware (.XCI ή .ZIP)", - "en_US": "Install Firmware (.XCI or .ZIP)", - "es_ES": "Instalar Firmware (.XCI o .ZIP)", - "fr_FR": "Installer le Firmware (.XCI ou .ZIP)", - "he_IL": "התקן קושחה (.XCI או .ZIP)", - "it_IT": "Installa firmware (.XCI o .ZIP)", - "ja_JP": "ファームウェアをインストール(.XCI または .ZIP)", - "ko_KR": "펌웨어(.XCI 또는 .ZIP) 설치", - "no_NO": "Installer firmware (.XCI eller .ZIP)", - "pl_PL": "Zainstaluj firmware (.XCI lub .ZIP)", - "pt_BR": "Instalar firmware (.XCI ou .ZIP)", - "ru_RU": "Установить прошивку (.XCI или .ZIP)", - "sv_SE": "Installera firmware (.XCI eller .ZIP)", - "th_TH": "ติดตั้งเฟิร์มแวร์ (.XCI หรือ .ZIP)", - "tr_TR": "Yazılım yükle (.XCI veya .ZIP)", - "uk_UA": "Встановити прошивку (.XCI або .ZIP)", - "zh_CN": "安装固件(.XCI 或 .ZIP)", - "zh_TW": "安裝韌體(.XCI 或 .ZIP)" - } - }, - { - "ID": "MenuBarActionsInstallFirmwareFromDirectory", - "Translations": { - "ar_SA": "تثبيت البرنامج الثابت (مجلد)", - "de_DE": "Firmware (Verzeichnis) installieren", - "el_GR": "Εγκατάσταση Firmware (φάκελος)", - "en_US": "Install Firmware (Folder)", - "es_ES": "Instalar Firmware (Carpeta)", - "fr_FR": "Installer le Firmware (Dossier)", - "he_IL": "התקן קושחה (תיקייה)", - "it_IT": "Installa firmware (cartella)", - "ja_JP": "ファームウェアをインストール(フォルダー)", - "ko_KR": "펌웨어(폴더) 설치", - "no_NO": "Installer firmware (mappe)", - "pl_PL": "Zainstaluj firmware (katalog)", - "pt_BR": "Instalar firmware (diretório)", - "ru_RU": "Установить прошивку (папка)", - "sv_SE": "Installera firmware (katalog)", - "th_TH": "ติดตั้งเฟิร์มแวร์ (โฟลเดอร์)", - "tr_TR": "Yazılım yükle (klasör)", - "uk_UA": "Встановити прошивку (тека)", - "zh_CN": "安装固件(文件夹)", - "zh_TW": "安裝韌體(資料夾)" - } - }, - { - "ID": "MenuBarActionsInstallKeys", - "Translations": { - "ar_SA": "", - "de_DE": "Schlüssel installieren", - "el_GR": "", - "en_US": "Install Keys", - "es_ES": "Instalar Claves", - "fr_FR": "Installer des Clés", - "he_IL": "", - "it_IT": "Installa chiavi", - "ja_JP": "", - "ko_KR": "설치 키", - "no_NO": "Installere nøkler", - "pl_PL": "", - "pt_BR": "Instalar Chaves", - "ru_RU": "Установить ключи", - "sv_SE": "Installera nycklar", - "th_TH": "ติดตั้งคีย์", - "tr_TR": "", - "uk_UA": "Встановити ключі", - "zh_CN": "安装密匙", - "zh_TW": "安裝金鑰" - } - }, - { - "ID": "MenuBarFileActionsInstallKeysFromFile", - "Translations": { - "ar_SA": "", - "de_DE": "Schlüssel (.KEYS) installieren", - "el_GR": "", - "en_US": "Install Keys (.KEYS)", - "es_ES": "Instalar Claves (.KEYS)", - "fr_FR": "Installer des Clés (.KEYS)", - "he_IL": "", - "it_IT": "Installa chiavi (.KEYS)", - "ja_JP": "", - "ko_KR": "키 설치(.KEYS)", - "no_NO": "Installer nøkler (.KEYS)", - "pl_PL": "", - "pt_BR": "Instalar chaves (.KEYS)", - "ru_RU": "Установить ключи (.KEYS)", - "sv_SE": "Installera nycklar (.KEYS)", - "th_TH": "ติดตั้งคีย์ (.KEYS)", - "tr_TR": "", - "uk_UA": "Встановити ключі (.KEYS)", - "zh_CN": "安装密钥(.KEYS)", - "zh_TW": "安裝金鑰(.KEYS)" - } - }, - { - "ID": "MenuBarFileActionsInstallKeysFromFolder", - "Translations": { - "ar_SA": "", - "de_DE": "Schlüssel (Verzeichnis) installieren", - "el_GR": "", - "en_US": "Install Keys (Folder)", - "es_ES": "Instalar Claves (Carpeta)", - "fr_FR": "Installer des Clés (Dossier)", - "he_IL": "", - "it_IT": "Installa chiavi (cartella)", - "ja_JP": "", - "ko_KR": "키(폴더) 설치", - "no_NO": "Installer nøkler (mappe)", - "pl_PL": "", - "pt_BR": "Instalar chaves (diretório)", - "ru_RU": "Установить ключи (папка)", - "sv_SE": "Installera nycklar (katalog)", - "th_TH": "ติดตั้งคีย์ (ไดเรกทอรี)", - "tr_TR": "", - "uk_UA": "Встановити ключі (тека)", - "zh_CN": "安装密匙(文件夹", - "zh_TW": "安裝金鑰(資料夾" - } - }, { "ID": "MenuBarActionsManageFileTypes", "Translations": { @@ -950,52 +700,27 @@ "zh_TW": "移除檔案類型" } }, - { - "ID": "MenuBarActionsXCITrimmer", - "Translations": { - "ar_SA": "", - "de_DE": "XCI-Dateien trimmen", - "el_GR": "", - "en_US": "Trim XCI Files", - "es_ES": "Recortar Archivos XCI", - "fr_FR": "Réduire les Fichiers XCI", - "he_IL": "", - "it_IT": "Riduci dimensioni dei file XCI", - "ja_JP": "", - "ko_KR": "XCI 파일 트리머", - "no_NO": "Trim XCI-filer", - "pl_PL": "", - "pt_BR": "Reduzir Arquivos XCI", - "ru_RU": "Обрезать XCI файлы", - "sv_SE": "Optimera XCI-filer", - "th_TH": "ตัดแต่งไฟล์ XCI", - "tr_TR": "", - "uk_UA": "Обрізати XCI файли", - "zh_CN": "瘦身 XCI 文件", - "zh_TW": "修剪 XCI 檔案" - } - }, { "ID": "MenuBarActionsTools", "Translations": { - "ar_SA": "", - "de_DE": "", - "el_GR": "", + "ar_SA": "أدوات", + "de_DE": "Werkzeuge", + "el_GR": "Εργαλεία", "en_US": "Tools", "es_ES": "Herramientas", "fr_FR": "Outils", - "he_IL": "", + "he_IL": "כלים", "it_IT": "Strumenti", - "ja_JP": "", + "ja_JP": "ツール", "ko_KR": "도구", - "no_NO": "", - "pl_PL": "", + "no_NO": "Verktøy", + "pl_PL": "Narzędzia", "pt_BR": "Ferramentas", "ru_RU": "Инструменты", "sv_SE": "Verktyg", - "th_TH": "", - "tr_TR": "", - "uk_UA": "", + "th_TH": "เครื่องมือ", + "tr_TR": "Araçlar", + "uk_UA": "Інструменти", "zh_CN": "工具", "zh_TW": "工具" } @@ -1005,16 +730,16 @@ "Translations": { "ar_SA": "_عرض", "de_DE": "_Ansicht", - "el_GR": "", + "el_GR": "_Προβολή", "en_US": "_View", "es_ES": "_Vista", "fr_FR": "_Fenêtre", - "he_IL": "", + "he_IL": "_תצוגה", "it_IT": "_Visualizza", - "ja_JP": "", + "ja_JP": "_表示", "ko_KR": "보기(_V)", "no_NO": "_Vis", - "pl_PL": "", + "pl_PL": "_Widok", "pt_BR": "_Ver", "ru_RU": "_Вид", "sv_SE": "_Visa", @@ -1030,16 +755,16 @@ "Translations": { "ar_SA": "حجم النافذة", "de_DE": "Fenstergröße", - "el_GR": "", + "el_GR": "Μέγεθος παραθύρου", "en_US": "Window Size", "es_ES": "Tamaño Ventana", "fr_FR": "Taille de la Fenêtre", - "he_IL": "", + "he_IL": "גודל חלון", "it_IT": "Dimensione finestra", - "ja_JP": "", + "ja_JP": "ウィンドウサイズ", "ko_KR": "창 크기", "no_NO": "Vindu størrelse", - "pl_PL": "", + "pl_PL": "Rozmiar okna", "pt_BR": "Tamanho da Janela", "ru_RU": "Размер окна", "sv_SE": "Fönsterstorlek", @@ -2825,56 +2550,6 @@ "zh_TW": "開啟此應用程式模組的另一個 SD 卡 Atmosphère 資料夾。適用於為真實硬體封裝的模組。" } }, - { - "ID": "GameListContextMenuTrimXCI", - "Translations": { - "ar_SA": "", - "de_DE": "", - "el_GR": "", - "en_US": "Check & Trim XCI File", - "es_ES": "Verificar & Recortar Archivo XCI", - "fr_FR": "Vérifier & Réduire le Fichier XCI", - "he_IL": "", - "it_IT": "Controlla & Riduci il File XCI", - "ja_JP": "", - "ko_KR": "XCI 파일 확인 & 트림", - "no_NO": "Kontroller & trim XCI-filen", - "pl_PL": "", - "pt_BR": "Verificar & Reduzir o Arquivo XCI", - "ru_RU": "Проверить & обрезать XCI файл", - "sv_SE": "Kontrollera & optimera XCI-fil", - "th_TH": "ตรวจสอบ & ลดขนาดไฟล์ XCI", - "tr_TR": "", - "uk_UA": "Перевірка & нарізка XCI Файлу", - "zh_CN": "检查并精简 XCI 文件", - "zh_TW": "檢查 & 修剪 XCI 檔案" - } - }, - { - "ID": "GameListContextMenuTrimXCIToolTip", - "Translations": { - "ar_SA": "", - "de_DE": "", - "el_GR": "", - "en_US": "Check and Trim XCI File to Save Disk Space", - "es_ES": "Verificar y Recortar Archivo XCI para Ahorrar Espacio en Disco", - "fr_FR": "Vérifier et Réduire le Fichier XCI pour Économiser de l’Espace Disque", - "he_IL": "", - "it_IT": "Controlla e riduci la dimensione del file XCI per risparmiare spazio su disco", - "ja_JP": "", - "ko_KR": "디스크 공간을 절약하기 위해 XCI 파일 확인 및 트림", - "no_NO": "Kontroller og trimm XCI-filen for å spare diskplass", - "pl_PL": "", - "pt_BR": "Verifique e reduza o arquivo XCI para economizar espaço em disco", - "ru_RU": "Проверить и обрезать XCI файл для экономии места на диске", - "sv_SE": "Kontrollera och optimera XCI-fil för att spara diskutrymme", - "th_TH": "ตรวจสอบและลดขนาดไฟล์ XCI เพื่อประหยัดเนื้อที่เก็บข้อมูล", - "tr_TR": "", - "uk_UA": "Перевірити та обрізати XCI Файл задля збереження місця на диску", - "zh_CN": "检查并瘦身 XCI 文件以节约磁盘空间", - "zh_TW": "檢查及修剪 XCI 檔案以節省儲存空間" - } - }, { "ID": "StatusBarGamesLoaded", "Translations": { @@ -2900,56 +2575,6 @@ "zh_TW": "{0}/{1} 遊戲已載入" } }, - { - "ID": "StatusBarSystemVersion", - "Translations": { - "ar_SA": "", - "de_DE": "", - "el_GR": "", - "en_US": "Firmware Version: {0}", - "es_ES": "Versión del Firmware: {0}", - "fr_FR": "Version du Firmware : {0}", - "he_IL": "", - "it_IT": "Versione firmware: {0}", - "ja_JP": "", - "ko_KR": "펌웨어 버전 : {0}", - "no_NO": "Fastvareversjon: {0}", - "pl_PL": "", - "pt_BR": "Versão do Firmware: {0}", - "ru_RU": "Версия прошивки: {0}", - "sv_SE": "Firmware-version: {0}", - "th_TH": "เวอร์ชันเฟิร์มแวร์: {0}", - "tr_TR": "", - "uk_UA": "Версія прошивки: {0}", - "zh_CN": "系统固件版本:{0}", - "zh_TW": "系統韌體版本: {0}" - } - }, - { - "ID": "StatusBarXCIFileTrimming", - "Translations": { - "ar_SA": "", - "de_DE": "", - "el_GR": "", - "en_US": "Trimming XCI File '{0}'", - "es_ES": "Recortando el Siguiente Archivo XCI: '{0}'", - "fr_FR": "Réduction du Fichier XCI '{0}'", - "he_IL": "", - "it_IT": "Riduzione della dimensione del file XCI '{0}'", - "ja_JP": "", - "ko_KR": "XCI 파일 '{0}' 트리밍", - "no_NO": "Trimming av XCI-filen '{0}'", - "pl_PL": "", - "pt_BR": "Reduzindo o Arquivo XCI '{0}'", - "ru_RU": "Обрезается XCI файл '{0}'", - "sv_SE": "Optimerar XCI-filen '{0}'", - "th_TH": "กำลังลดขนาดไฟล์ XCI '{0}'", - "tr_TR": "", - "uk_UA": "Обрізається XCI Файлів '{0}'", - "zh_CN": "正在瘦身 XCI 文件 '{0}'", - "zh_TW": "正在修剪 XCI 檔案 '{0}'" - } - }, { "ID": "LinuxVmMaxMapCountDialogTitle", "Translations": { @@ -11525,31 +11150,6 @@ "zh_TW": "正在取消" } }, - { - "ID": "InputDialogClose", - "Translations": { - "ar_SA": "", - "de_DE": "", - "el_GR": "", - "en_US": "Close", - "es_ES": "Cerrar", - "fr_FR": "Fermer", - "he_IL": "", - "it_IT": "Chiudi", - "ja_JP": "", - "ko_KR": "닫기", - "no_NO": "Lukk", - "pl_PL": "", - "pt_BR": "Fechar", - "ru_RU": "Закрыть", - "sv_SE": "Stäng", - "th_TH": "ปิด", - "tr_TR": "", - "uk_UA": "Закрити", - "zh_CN": "关闭", - "zh_TW": "關閉" - } - }, { "ID": "InputDialogAddNewProfileTitle", "Translations": { @@ -11883,7 +11483,7 @@ "el_GR": "Απόκρυψη UI", "en_US": "Hide UI", "es_ES": "Ocultar Interfaz", - "fr_FR": "Masquer l'Interface Utilisateur", + "fr_FR": "Masquer l'Interface", "he_IL": "הסתר ממשק משתמש ", "it_IT": "Nascondi l'interfaccia", "ja_JP": "UIを隠す", @@ -13050,106 +12650,6 @@ "zh_TW": "您要重新啟動嗎" } }, - { - "ID": "DialogFirmwareInstallEmbeddedMessage", - "Translations": { - "ar_SA": "هل ترغب في تثبيت البرنامج الثابت المدمج في هذه اللعبة؟ (البرنامج الثابت {0})", - "de_DE": "Die in diesem Spiel enthaltene Firmware installieren? (Firmware {0})", - "el_GR": "Θα θέλατε να εγκαταστήσετε το Firmware που είναι ενσωματωμένο σε αυτό το παιχνίδι; (Firmware {0})", - "en_US": "Would you like to install the firmware embedded in this game? (Firmware {0})", - "es_ES": "¿Quieres instalar el firmware incluido en este juego? (Firmware versión {0})", - "fr_FR": "Voulez-vous installer le firmware intégré dans ce jeu ? (Firmware {0})", - "he_IL": "האם תרצו להתקין את הקושחה המוטמעת במשחק הזה? (קושחה {0})", - "it_IT": "Vuoi installare il firmware incluso in questo gioco? (Firmware {0})", - "ja_JP": "このゲームに含まれるファームウェアをインストールしてよろしいですか? (ファームウェア {0})", - "ko_KR": "이 게임에 포함된 펌웨어를 설치하시겠습니까?(Firmware {0})", - "no_NO": "Ønsker du å installere fastvaren innebygd i dette spillet? (Firmware {0})", - "pl_PL": "Czy chcesz zainstalować firmware wbudowany w tę grę? (Firmware {0})", - "pt_BR": "Gostaria de instalar o firmware incluso neste jogo? (Firmware {0})", - "ru_RU": "Хотите установить прошивку, встроенную в эту игру? (Прошивка {0})", - "sv_SE": "Vill du installera det firmware som är inbäddat i detta spel? (Firmware {0})", - "th_TH": "คุณต้องการติดตั้งเฟิร์มแวร์ที่ฝังอยู่ในเกมนี้หรือไม่? (เฟิร์มแวร์ {0})", - "tr_TR": "Bu oyunun içine gömülü olan yazılımı yüklemek ister misiniz? (Firmware {0})", - "uk_UA": "Бажаєте встановити прошивку, вбудовану в цю гру? (Прошивка {0})", - "zh_CN": "要安装游戏文件中内嵌的系统固件吗?(固件版本 {0})", - "zh_TW": "您想安裝遊戲內建的韌體嗎? (韌體 {0})" - } - }, - { - "ID": "DialogFirmwareInstallEmbeddedSuccessMessage", - "Translations": { - "ar_SA": "لم يتم العثور على أي برنامج ثابت مثبت ولكن ريوجينكس كان قادرا على تثبيت البرنامج الثابت {0} من اللعبة المقدمة.\nسيبدأ المحاكي الآن.", - "de_DE": "Es wurde keine installierte Firmware gefunden, aber Ryujinx konnte die Firmware {0} aus dem bereitgestellten Spiel installieren.\nRyujinx wird nun gestartet.", - "el_GR": "", - "en_US": "No installed firmware was found but Ryujinx was able to install firmware {0} from the provided game.\nThe emulator will now start.", - "es_ES": "No se encontró ning{un firmware instalado pero Ryujinx pudo instalar firmware {0} del juego proporcionado.\nEl emulador iniciará.", - "fr_FR": "Aucun firmware installé n'a été trouvé mais Ryujinx a pu installer le firmware {0} à partir du jeu fourni.\nL'émulateur va maintenant démarrer.", - "he_IL": "לא נמצאה קושחה מותקנת אבל ריוג'ינקס הצליח להתקין קושחה {0} מהמשחק שסופק. \nהאמולטור יופעל כעת.", - "it_IT": "Non è stato trovato alcun firmware installato, ma Ryujinx è riuscito ad installare il firmware {0} dal gioco fornito.\nL'emulatore si avvierà adesso.", - "ja_JP": "ファームウェアがインストールされていませんが, ゲームに含まれるファームウェア {0} をインストールできます.\nエミュレータが開始します.", - "ko_KR": "설치된 펌웨어를 찾을 수 없지만 Ryujinx는 제공된 게임에서 펌웨어 {0}을(를) 설치할 수 있습니다.\n이제 에뮬레이터가 시작됩니다.", - "no_NO": "Det ble ikke funnet noen installert fastvare, men Ryujinx kunne installere fastvare {0} fra det oppgitte spillet.\nemulatoren vil nå starte.", - "pl_PL": "Nie znaleziono zainstalowanego oprogramowania, ale Ryujinx był w stanie zainstalować oprogramowanie {0} z dostarczonej gry.\n\nEmulator uruchomi się teraz.", - "pt_BR": "Nenhum firmware instalado foi encontrado, mas o Ryujinx conseguiu instalar o firmware {0} a partir do jogo fornecido.\nO emulador será iniciado agora.", - "ru_RU": "Установленная прошивка не была найдена, но Ryujinx удалось установить прошивку {0} из предоставленной игры.\nТеперь эмулятор запустится.", - "sv_SE": "Inget installerat firmware hittades men Ryujinx kunde installera firmware {0} från angiven spel.\nEmulatorn kommer nu att startas.", - "th_TH": "ไม่พบเฟิร์มแวร์ที่ติดตั้งไว้ แต่ Ryujinx จะติดตั้งเฟิร์มแวร์ได้ {0} จากเกมที่ให้มา\nขณะนี้โปรแกรมจำลองจะเริ่มทำงาน", - "tr_TR": "", - "uk_UA": "Встановлену прошивку не знайдено, але Ryujinx вдалося встановити прошивку {0} з наданої гри.\nТепер запуститься емулятор.", - "zh_CN": "Ryujinx 模拟器已经从当前游戏文件中安装了系统固件 {0} 。\n模拟器现在可以正常运行了。", - "zh_TW": "未找到已安裝的韌體,但 Ryujinx 可以從現有的遊戲安裝韌體{0}。\n模擬器現在可以執行。" - } - }, - { - "ID": "DialogFirmwareNoFirmwareInstalledMessage", - "Translations": { - "ar_SA": "لا يوجد برنامج ثابت مثبت", - "de_DE": "Keine Firmware installiert", - "el_GR": "Δεν έχει εγκατασταθεί Firmware", - "en_US": "No Firmware Installed", - "es_ES": "No hay Firmware Instalado", - "fr_FR": "Aucun Firmware Installé", - "he_IL": "לא מותקנת קושחה", - "it_IT": "Nessun firmware installato", - "ja_JP": "ファームウェアがインストールされていません", - "ko_KR": "펌웨어가 설치되어 있지 않음", - "no_NO": "Ingen fastvare installert", - "pl_PL": "Brak Zainstalowanego Firmware'u", - "pt_BR": "Nenhum Firmware Instalado", - "ru_RU": "Прошивка не установлена", - "sv_SE": "Inget firmware installerat", - "th_TH": "ไม่มีการติดตั้งเฟิร์มแวร์", - "tr_TR": "Yazılım Yüklü Değil", - "uk_UA": "Прошивка не встановлена", - "zh_CN": "未安装系统固件", - "zh_TW": "未安裝韌體" - } - }, - { - "ID": "DialogFirmwareInstalledMessage", - "Translations": { - "ar_SA": "تم تثبيت البرنامج الثابت {0}", - "de_DE": "Firmware {0} wurde installiert", - "el_GR": "Το Firmware {0} εγκαταστάθηκε", - "en_US": "Firmware {0} was installed", - "es_ES": "Se Instaló el Firmware {0}", - "fr_FR": "Le firmware {0} a été installé", - "he_IL": "הקושחה {0} הותקנה", - "it_IT": "Il firmware {0} è stato installato", - "ja_JP": "ファームウェア {0} がインストールされました", - "ko_KR": "펌웨어 {0}이(가) 설치됨", - "no_NO": "fastvare {0} ble installert", - "pl_PL": "Firmware {0} został zainstalowany", - "pt_BR": "Firmware {0} foi instalado", - "ru_RU": "Прошивка {0} была установлена", - "sv_SE": "Firmware {0} installerades", - "th_TH": "เฟิร์มแวร์ {0} ติดตั้งแล้ว", - "tr_TR": "Yazılım {0} yüklendi", - "uk_UA": "Встановлено прошивку {0}", - "zh_CN": "已安装系统固件 {0}", - "zh_TW": "已安裝韌體{0}" - } - }, { "ID": "DialogInstallFileTypesSuccessMessage", "Translations": { @@ -13275,31 +12775,6 @@ "zh_TW": "開啟設定視窗" } }, - { - "ID": "DialogOpenXCITrimmerWindowLabel", - "Translations": { - "ar_SA": "", - "de_DE": "", - "el_GR": "", - "en_US": "XCI Trimmer Window", - "es_ES": "Ventana Recortador XCI", - "fr_FR": "Fenêtre de Réduction de Fichiers XCI", - "he_IL": "", - "it_IT": "Riduci dimensioni dei file XCI", - "ja_JP": "", - "ko_KR": "XCI 트리머 창", - "no_NO": "XCI Trimmervindu", - "pl_PL": "", - "pt_BR": "Janela de Redução XCI", - "ru_RU": "Окно XCI триммера", - "sv_SE": "XCI-optimerare", - "th_TH": "หน้าต่างตัดแต่งไฟล์ XCI", - "tr_TR": "", - "uk_UA": "Вікно XCI Тримера", - "zh_CN": "XCI 文件瘦身窗口", - "zh_TW": "XCI 修剪器視窗" - } - }, { "ID": "DialogControllerAppletTitle", "Translations": { @@ -13475,81 +12950,6 @@ "zh_TW": "Ryujinx 錯誤 ({0})" } }, - { - "ID": "DialogAmiiboApiTitle", - "Translations": { - "ar_SA": "أميبو API", - "de_DE": "Amiibo-API", - "el_GR": "API για Amiibo.", - "en_US": "Amiibo API", - "es_ES": "API Amiibo", - "fr_FR": "API Amiibo", - "he_IL": "ממשק תכנות אמיבו", - "it_IT": "API Amiibo", - "ja_JP": "", - "ko_KR": null, - "no_NO": "", - "pl_PL": "API Amiibo", - "pt_BR": "API Amiibo", - "ru_RU": "API Amiibo", - "sv_SE": "Amiibo-API", - "th_TH": "อามิโบ้ API", - "tr_TR": "", - "uk_UA": "API Amiibo", - "zh_CN": null, - "zh_TW": null - } - }, - { - "ID": "DialogAmiiboApiFailFetchMessage", - "Translations": { - "ar_SA": "حدث خطأ أثناء جلب المعلومات من API.", - "de_DE": "Beim Abrufen von Informationen aus der API ist ein Fehler aufgetreten.", - "el_GR": "Παρουσιάστηκε σφάλμα κατά την ανάκτηση πληροφοριών από το API.", - "en_US": "An error occured while fetching information from the API.", - "es_ES": "Ocurrió un error al recibir información de la API.", - "fr_FR": "Une erreur est survenue lors de la récupération des informations de l'API.", - "he_IL": "אירעה שגיאה בעת שליפת מידע מהממשק.", - "it_IT": "Si è verificato un errore durante il recupero delle informazioni dall'API.", - "ja_JP": "API からの情報取得中にエラーが発生しました.", - "ko_KR": "API에서 정보를 가져오는 중에 오류가 발생했습니다.", - "no_NO": "En feil oppstod under henting av informasjon fra API.", - "pl_PL": "Wystąpił błąd podczas pobierania informacji z API.", - "pt_BR": "Um erro ocorreu ao tentar obter informações da API.", - "ru_RU": "Произошла ошибка при получении информации из API.", - "sv_SE": "Ett fel inträffade vid hämtning av information från API.", - "th_TH": "เกิดข้อผิดพลาดขณะเรียกข้อมูลจาก API", - "tr_TR": "API'dan bilgi alırken bir hata oluştu.", - "uk_UA": "Під час отримання інформації з API сталася помилка.", - "zh_CN": "从 API 获取信息时出错。", - "zh_TW": "從 API 取得資訊時出現錯誤。" - } - }, - { - "ID": "DialogAmiiboApiConnectErrorMessage", - "Translations": { - "ar_SA": "غير قادر على الاتصال بخادم API أميبو. قد تكون الخدمة معطلة أو قد تحتاج إلى التحقق من اتصالك بالإنترنت.", - "de_DE": "Verbindung zum Amiibo API Server kann nicht hergestellt werden. Der Dienst ist möglicherweise nicht verfügbar oder es existiert keine Internetverbindung.", - "el_GR": "Δεν είναι δυνατή η σύνδεση με τον διακομιστή Amiibo API. Η υπηρεσία μπορεί να είναι εκτός λειτουργίας ή μπορεί να χρειαστεί να επαληθεύσετε ότι έχετε ενεργή σύνδεσή στο Διαδίκτυο.", - "en_US": "Unable to connect to Amiibo API server. The service may be down or you may need to verify your internet connection is online.", - "es_ES": "No se pudo conectar al servidor de la API Amiibo. El servicio puede estar caído o tu conexión a internet puede haberse desconectado.", - "fr_FR": "Impossible de se connecter au serveur API Amiibo. Le service est peut-être hors service ou vous devriez peut-être vérifier que votre connexion internet est connectée.", - "he_IL": "לא ניתן להתחבר לממשק שרת האמיבו. ייתכן שהשירות מושבת או שתצטרך לוודא שהחיבור לאינטרנט שלך מקוון.", - "it_IT": "Impossibile connettersi al server dell'API Amiibo. Il servizio potrebbe non essere disponibile o potresti non essere connesso a Internet.", - "ja_JP": "Amiibo API サーバに接続できませんでした. サーバがダウンしているか, インターネット接続に問題があるかもしれません.", - "ko_KR": "Amiibo API 서버에 연결할 수 없습니다. 서비스가 다운되었거나 인터넷 연결이 온라인 상태인지 확인이 필요합니다.", - "no_NO": "Kan ikke koble til Amiibo API server. Tjenesten kan være nede, eller du må kanskje verifisere at din internettforbindelse er tilkoblet.", - "pl_PL": "Nie można połączyć się z serwerem API Amiibo. Usługa może nie działać lub może być konieczne sprawdzenie, czy połączenie internetowe jest online.", - "pt_BR": "Não foi possível conectar ao servidor da API Amiibo. O serviço pode estar fora do ar ou você precisa verificar sua conexão com a Internet.", - "ru_RU": "Не удалось подключиться к серверу Amiibo API. Служба может быть недоступна или вам может потребоваться проверить ваше интернет-соединение.", - "sv_SE": "Kunde inte ansluta till Amiibo API-server. Tjänsten kanske är nere eller så behöver du kontrollera att din internetanslutning fungerar.", - "th_TH": "ไม่สามารถเชื่อมต่อกับเซิร์ฟเวอร์ Amiibo API บางบริการอาจหยุดทำงาน หรือไม่คุณต้องทำการตรวจสอบว่าอินเทอร์เน็ตของคุณอยู่ในสถานะเชื่อมต่ออยู่หรือไม่", - "tr_TR": "Amiibo API sunucusuna bağlanılamadı. Sunucu çevrimdışı olabilir veya uygun bir internet bağlantınızın olduğunu kontrol etmeniz gerekebilir.", - "uk_UA": "Неможливо підключитися до сервера Amiibo API. Можливо, служба не працює або вам потрібно перевірити, чи є підключення до Інтернету.", - "zh_CN": "无法连接到 Amiibo API 服务器,服务可能已关闭,或者没有连接互联网。", - "zh_TW": "無法連接 Amiibo API 伺服器。服務可能已停機,或者您可能需要確認網際網路連線是否在線上。" - } - }, { "ID": "DialogProfileInvalidProfileErrorMessage", "Translations": { @@ -13850,356 +13250,6 @@ "zh_TW": "UI 錯誤: 所選遊戲沒有有效的遊戲 ID" } }, - { - "ID": "DialogFirmwareInstallerFirmwareNotFoundErrorMessage", - "Translations": { - "ar_SA": "لم يتم العثور على برنامج ثابت للنظام صالح في {0}.", - "de_DE": "Es wurde keine gültige System-Firmware gefunden in {0}.", - "el_GR": "Δεν βρέθηκε έγκυρο Firmware συστήματος στο {0}.", - "en_US": "A valid system firmware was not found in {0}.", - "es_ES": "No se pudo encontrar un firmware válido en {0}.", - "fr_FR": "Un firmware valide n'a pas été trouvé dans {0}.", - "he_IL": "לא נמצאה קושחת מערכת תקפה ב-{0}.", - "it_IT": "Un firmware del sistema valido non è stato trovato in {0}.", - "ja_JP": "{0} には有効なシステムファームウェアがありません.", - "ko_KR": "{0}에서 유효한 시스템 펌웨어를 찾을 수 없습니다.", - "no_NO": "En gyldig systemfastvare ble ikke funnet i {0}.", - "pl_PL": "Nie znaleziono prawidłowego firmware'u systemowego w {0}.", - "pt_BR": "Um firmware de sistema válido não foi encontrado em {0}.", - "ru_RU": "Не удалось найти действительную системную прошивку в {0}.", - "sv_SE": "Ett giltigt systemfirmware hittades inte i {0}.", - "th_TH": "ไม่พบเฟิร์มแวร์ของระบบที่ถูกต้อง {0}.", - "tr_TR": "{0} da geçerli bir sistem firmware'i bulunamadı.", - "uk_UA": "Дійсна прошивка системи не знайдена в {0}.", - "zh_CN": "在路径 {0} 中找不到有效的 Switch 系统固件。", - "zh_TW": "在 {0} 中未發現有效的系統韌體。" - } - }, - { - "ID": "DialogFirmwareInstallerFirmwareInstallTitle", - "Translations": { - "ar_SA": "تثبيت البرنامج الثابت {0}", - "de_DE": "Installiere Firmware {0}", - "el_GR": "Εγκατάσταση Firmware {0}", - "en_US": "Install Firmware {0}", - "es_ES": "Instalar Firmware {0}", - "fr_FR": "Installer le Firmware {0}", - "he_IL": "התקן קושחה {0}", - "it_IT": "Installa firmware {0}", - "ja_JP": "ファームウェア {0} をインストール", - "ko_KR": "펌웨어 {0} 설치", - "no_NO": "Installer fastvare {0}", - "pl_PL": "Zainstaluj Firmware {0}", - "pt_BR": "Instalar Firmware {0}", - "ru_RU": "Установить прошивку {0}", - "sv_SE": "Installera firmware {0}", - "th_TH": "ติดตั้งเฟิร์มแวร์ {0}", - "tr_TR": "Firmware {0} Yükle", - "uk_UA": "Встановити прошивку {0}", - "zh_CN": "安装系统固件 {0}", - "zh_TW": "安裝韌體 {0}" - } - }, - { - "ID": "DialogFirmwareInstallerFirmwareInstallMessage", - "Translations": { - "ar_SA": "سيتم تثبيت إصدار النظام {0}.", - "de_DE": "Systemversion {0} wird jetzt installiert.", - "el_GR": "Θα εγκατασταθεί η έκδοση συστήματος {0}.", - "en_US": "System version {0} will be installed.", - "es_ES": "Se instalará la versión de sistema {0}.", - "fr_FR": "La version {0} du système sera installée.", - "he_IL": "גירסת המערכת {0} תותקן.", - "it_IT": "La versione del sistema {0} sarà installata.", - "ja_JP": "システムバージョン {0} がインストールされます.", - "ko_KR": "시스템 버전 {0}이(가) 설치됩니다.", - "no_NO": "Systemversjon {0} vil bli installert.", - "pl_PL": "Wersja systemu {0} zostanie zainstalowana.", - "pt_BR": "A versão do sistema {0} será instalada.", - "ru_RU": "Будет установлена версия прошивки {0}.", - "sv_SE": "Systemversion {0} kommer att installeras.", - "th_TH": "ระบบเวอร์ชั่น {0} ได้รับการติดตั้งเร็วๆ นี้", - "tr_TR": "Sistem sürümü {0} yüklenecek.", - "uk_UA": "Буде встановлено версію системи {0}.", - "zh_CN": "即将安装系统固件版本 {0} 。", - "zh_TW": "即將安裝系統韌體版本 {0}。" - } - }, - { - "ID": "DialogFirmwareInstallerFirmwareInstallSubMessage", - "Translations": { - "ar_SA": "\n\nهذا سيحل محل إصدار النظام الحالي {0}.", - "de_DE": "\n\nDies wird die aktuelle Systemversion {0} ersetzen.", - "el_GR": "\n\nΑυτό θα αντικαταστήσει την τρέχουσα έκδοση συστήματος {0}.", - "en_US": "\n\nThis will replace the current system version {0}.", - "es_ES": "\n\nEsto reemplazará la versión de sistema actual, {0}.", - "fr_FR": "\n\nCela remplacera la version actuelle du système {0}.", - "he_IL": "\n\nזה יחליף את גרסת המערכת הנוכחית {0}.", - "it_IT": "\n\nQuesta sostituirà l'attuale versione del sistema ({0}).", - "ja_JP": "\n\n現在のシステムバージョン {0} を置き換えます.", - "ko_KR": "\n\n현재 시스템 버전 {0}을(를) 대체합니다.", - "no_NO": "\n\nDette erstatter den gjeldende systemversjonen {0}.", - "pl_PL": "\n\nZastąpi to obecną wersję systemu {0}.", - "pt_BR": "\n\nIsso substituirá a versão do sistema atual {0}.", - "ru_RU": "\n\nЭто заменит текущую версию прошивки {0}.", - "sv_SE": "\n\nDetta kommer att ersätta aktuella systemversionen {0}.", - "th_TH": "\n\nสิ่งนี้จะแทนที่เวอร์ชั่นของระบบเวอร์ชั่นปัจจุบัน {0}.", - "tr_TR": "\n\nBu şimdiki sistem sürümünün yerini alacak {0}.", - "uk_UA": "\n\nЦе замінить поточну версію системи {0}.", - "zh_CN": "\n\n替换当前系统固件版本 {0} 。", - "zh_TW": "\n\n這將取代目前的系統韌體版本 {0}。" - } - }, - { - "ID": "DialogFirmwareInstallerFirmwareInstallConfirmMessage", - "Translations": { - "ar_SA": "\nهل تريد المتابعة؟", - "de_DE": "\n\nMöchtest du fortfahren?", - "el_GR": "\n\nΘέλετε να συνεχίσετε;", - "en_US": "\n\nDo you want to continue?", - "es_ES": "\n\n¿Continuar?", - "fr_FR": "\n\nVoulez-vous continuer ?", - "he_IL": "\n\nהאם ברצונך להמשיך?", - "it_IT": "\n\nVuoi continuare?", - "ja_JP": "\n\n続けてよろしいですか?", - "ko_KR": "\n\n계속하시겠습니까?", - "no_NO": "\n\nVil du fortsette?", - "pl_PL": "\n\nCzy chcesz kontynuować?", - "pt_BR": "\n\nDeseja continuar?", - "ru_RU": "\n\nПродолжить?", - "sv_SE": "\n\nVill du fortsätta?", - "th_TH": "\n\nคุณต้องการดำเนินการต่อหรือไม่?", - "tr_TR": "\n\nDevam etmek istiyor musunuz?", - "uk_UA": "\n\nВи хочете продовжити?", - "zh_CN": "\n\n是否继续?", - "zh_TW": "\n\n您確定要繼續嗎?" - } - }, - { - "ID": "DialogFirmwareInstallerFirmwareInstallWaitMessage", - "Translations": { - "ar_SA": "تثبيت البرنامج الثابت...", - "de_DE": "Firmware wird installiert...", - "el_GR": "Εγκατάσταση Firmware...", - "en_US": "Installing Firmware...", - "es_ES": "Instalando Firmware...", - "fr_FR": "Installation du Firmware...", - "he_IL": "מתקין קושחה...", - "it_IT": "Installazione del firmware...", - "ja_JP": "ファームウェアをインストール中...", - "ko_KR": "펌웨어 설치 중...", - "no_NO": "Installerer fastvare...", - "pl_PL": "Instalowanie firmware'u...", - "pt_BR": "Instalando firmware...", - "ru_RU": "Установка прошивки...", - "sv_SE": "Installerar firmware...", - "th_TH": "กำลังติดตั้งเฟิร์มแวร์...", - "tr_TR": "Firmware yükleniyor...", - "uk_UA": "Встановлення прошивки...", - "zh_CN": "安装系统固件中...", - "zh_TW": "正在安裝韌體..." - } - }, - { - "ID": "DialogFirmwareInstallerFirmwareInstallSuccessMessage", - "Translations": { - "ar_SA": "تم تثبيت إصدار النظام {0} بنجاح.", - "de_DE": "Systemversion {0} wurde erfolgreich installiert.", - "el_GR": "Η έκδοση συστήματος {0} εγκαταστάθηκε με επιτυχία.", - "en_US": "System version {0} successfully installed.", - "es_ES": "Versión de sistema {0} instalada con éxito.", - "fr_FR": "Version du système {0} installée avec succès.", - "he_IL": "גרסת המערכת {0} הותקנה בהצלחה.", - "it_IT": "La versione del sistema {0} è stata installata.", - "ja_JP": "システムバージョン {0} が正常にインストールされました.", - "ko_KR": "시스템 버전 {0}이(가) 설치되었습니다.", - "no_NO": "Systemversjon {0} ble installert.", - "pl_PL": "Wersja systemu {0} została pomyślnie zainstalowana.", - "pt_BR": "Versão do sistema {0} instalada com sucesso.", - "ru_RU": "Прошивка версии {0} успешно установлена.", - "sv_SE": "Systemversion {0} har installerats.", - "th_TH": "ระบบเวอร์ชั่น {0} ติดตั้งเรียบร้อยแล้ว", - "tr_TR": "Sistem sürümü {0} başarıyla yüklendi.", - "uk_UA": "Версію системи {0} успішно встановлено.", - "zh_CN": "成功安装系统固件版本 {0} 。", - "zh_TW": "成功安裝系統韌體版本 {0}。" - } - }, - { - "ID": "DialogKeysInstallerKeysNotFoundErrorMessage", - "Translations": { - "ar_SA": "", - "de_DE": "", - "el_GR": "", - "en_US": "An invalid Keys file was found in {0}", - "es_ES": "Se halló un archivo Keys inválido en {0}", - "fr_FR": "Un fichier de Clés invalide a été trouvé dans {0}", - "he_IL": "", - "it_IT": "È stato trovato un file di chiavi non valido in {0}", - "ja_JP": "", - "ko_KR": "{0}에서 잘못된 키 파일이 발견", - "no_NO": "En ugyldig Keys-fil ble funnet i {0}.", - "pl_PL": "", - "pt_BR": "Um arquivo Chaves inválido foi encontrado em {0}", - "ru_RU": "В {0} найден некорректный файл ключей", - "sv_SE": "En ogiltig nyckelfil hittades i {0}", - "th_TH": "พบไฟล์ Keys ที่ไม่ถูกต้องใน {0}", - "tr_TR": "", - "uk_UA": "Виявлено неправильний файл ключів у теці {0}", - "zh_CN": "在 {0} 发现了一个无效的密匙文件", - "zh_TW": "找到無效的金鑰檔案 {0}" - } - }, - { - "ID": "DialogKeysInstallerKeysInstallTitle", - "Translations": { - "ar_SA": "", - "de_DE": "", - "el_GR": "", - "en_US": "Install Keys", - "es_ES": "Instalar Claves", - "fr_FR": "Installer des Clés", - "he_IL": "", - "it_IT": "Installa chiavi", - "ja_JP": "", - "ko_KR": "설치 키", - "no_NO": "Installere nøkler", - "pl_PL": "", - "pt_BR": "Instalar Chaves", - "ru_RU": "Установить ключи", - "sv_SE": "Installera nycklar", - "th_TH": "ติดตั้งไฟล์ Keys", - "tr_TR": "", - "uk_UA": "Встановлення Ключів", - "zh_CN": "安装密匙", - "zh_TW": "安裝金鑰" - } - }, - { - "ID": "DialogKeysInstallerKeysInstallMessage", - "Translations": { - "ar_SA": "", - "de_DE": "", - "el_GR": "", - "en_US": "New Keys file will be installed.", - "es_ES": "Un nuevo archivo de Claves será instalado.", - "fr_FR": "Nouveau fichier de Clés sera installé.", - "he_IL": "", - "it_IT": "Un nuovo file di chiavi sarà installato.", - "ja_JP": "", - "ko_KR": "새로운 키 파일이 설치됩니다.", - "no_NO": "Ny Keys-fil vil bli installert.", - "pl_PL": "", - "pt_BR": "O novo arquivo Chaves será instalado", - "ru_RU": "Будут установлены новые ключи.", - "sv_SE": "Ny nyckelfil kommer att installeras.", - "th_TH": "กำลังติดตั้งไฟล์ Keys ใหม่", - "tr_TR": "", - "uk_UA": "Новий файл Ключів буде встановлено", - "zh_CN": "将会安装新密匙文件", - "zh_TW": "將會安裝新增的金鑰檔案。" - } - }, - { - "ID": "DialogKeysInstallerKeysInstallSubMessage", - "Translations": { - "ar_SA": "", - "de_DE": "", - "el_GR": "", - "en_US": "\n\nThis may replace some of the current installed Keys.", - "es_ES": "\n\nEsto puede reemplazar algunas de las Keys actualmente instaladas.", - "fr_FR": "\n\nCela peut remplacer certaines des Clés actuellement installées.", - "he_IL": "", - "it_IT": "\n\nAlcune delle chiavi già installate potrebbero essere sovrascritte.", - "ja_JP": "", - "ko_KR": "\n\n이로 인해 현재 설치된 키 중 일부가 대체될 수 있습니다.", - "no_NO": "\n\nDette kan erstatte noen av de nåværende installerte nøklene.", - "pl_PL": "", - "pt_BR": "\n\nIsso pode substituir algumas das chaves instaladas atualmente.", - "ru_RU": "\n\nЭто может заменить некоторые из текущих установленных ключей.", - "sv_SE": "\n\nDetta kan ersätta några av de redan installerade nycklarna.", - "th_TH": "\n\nสิ่งนี้อาจทำให้ไฟล์ Keys บางส่วนที่ติดตั้งอยู่ถูกแทนที่", - "tr_TR": "", - "uk_UA": "\n\nЦе замінить собою поточні файли Ключів.", - "zh_CN": "\n\n这也许会替换掉一些当前已安装的密匙", - "zh_TW": "\n\n這將取代部分已安裝的金鑰。" - } - }, - { - "ID": "DialogKeysInstallerKeysInstallConfirmMessage", - "Translations": { - "ar_SA": "", - "de_DE": "", - "el_GR": "", - "en_US": "\n\nDo you want to continue?", - "es_ES": "\n\nDeseas continuar?", - "fr_FR": "\n\nVoulez-vous continuer ?", - "he_IL": "", - "it_IT": "\n\nVuoi continuare?", - "ja_JP": "", - "ko_KR": "\n\n계속하시겠습니까?", - "no_NO": "\n\nVil du fortsette?", - "pl_PL": "", - "pt_BR": "\n\nVocê quer continuar?", - "ru_RU": "\n\nХотите продолжить?", - "sv_SE": "\n\nVill du fortsätta?", - "th_TH": "\n\nคุณต้องการดำเนินการต่อหรือไม่?", - "tr_TR": "", - "uk_UA": "\n\nВи хочете продовжити?", - "zh_CN": "\n\n你想要继续吗?", - "zh_TW": "\n\n是否繼續?" - } - }, - { - "ID": "DialogKeysInstallerKeysInstallWaitMessage", - "Translations": { - "ar_SA": "", - "de_DE": "", - "el_GR": "", - "en_US": "Installing Keys...", - "es_ES": "Instalando Claves...", - "fr_FR": "Installation des Clés...", - "he_IL": "", - "it_IT": "Installazione delle chiavi...", - "ja_JP": "", - "ko_KR": "키 설치 중...", - "no_NO": "Installere nøkler...", - "pl_PL": "", - "pt_BR": "Instalando Chaves...", - "ru_RU": "Установка ключей...", - "sv_SE": "Installerar nycklar...", - "th_TH": "กำลังดำเนินการติดตั้ง Keys...", - "tr_TR": "", - "uk_UA": "Встановлення Ключів...", - "zh_CN": "安装密匙中。。。", - "zh_TW": "正在安裝金鑰..." - } - }, - { - "ID": "DialogKeysInstallerKeysInstallSuccessMessage", - "Translations": { - "ar_SA": "", - "de_DE": "", - "el_GR": "", - "en_US": "New Keys file successfully installed.", - "es_ES": "Nuevo archivo Keys instalado con éxito.", - "fr_FR": "Nouveau fichier de Clés a été installé.", - "he_IL": "", - "it_IT": "Nuovo file di chiavi installato con successo.", - "ja_JP": "", - "ko_KR": "새로운 키 파일이 성공적으로 설치되었습니다.", - "no_NO": "Ny Keys -fil installert.", - "pl_PL": "", - "pt_BR": "Novo arquivo de chaves instalado com sucesso.", - "ru_RU": "Новые ключи были успешно установлены.", - "sv_SE": "Ny nyckelfil installerades.", - "th_TH": "การติดตั้งไฟล์ Keys ใหม่เสร็จสมบูรณ์แล้ว", - "tr_TR": "", - "uk_UA": "Нові ключі встановлено.", - "zh_CN": "已成功安装新密匙文件", - "zh_TW": "成功安裝新增的金鑰檔案。" - } - }, { "ID": "DialogUserProfileDeletionWarningMessage", "Translations": { @@ -15129,16 +14179,16 @@ "ID": "MenuBarOptionsPauseEmulation", "Translations": { "ar_SA": "إيقاف مؤقت", - "de_DE": "", + "de_DE": null, "el_GR": "Παύση", "en_US": "Pause", "es_ES": "Pausar", "fr_FR": "Pauser", "he_IL": "הפסק", - "it_IT": "Metti in pausa", + "it_IT": "Pausa", "ja_JP": "一時停止", "ko_KR": "일시 중지", - "no_NO": "Stans midlertidig", + "no_NO": null, "pl_PL": "Pauza", "pt_BR": "Pausar", "ru_RU": "Пауза", @@ -15225,31 +14275,6 @@ "zh_TW": "Ryujinx 和 Nintendo™\n或其任何合作夥伴完全沒有關聯。" } }, - { - "ID": "AboutAmiiboDisclaimerMessage", - "Translations": { - "ar_SA": "AmiiboAPI (www.amiiboapi.com) يتم \nاستخدامه في محاكاة أمبيو لدينا.", - "de_DE": "AmiiboAPI (www.amiiboapi.com) wird in unserer Amiibo \nEmulation benutzt.", - "el_GR": "Το AmiiboAPI (www.amiiboapi.com) χρησιμοποιείται\nστην προσομοίωση Amiibo.", - "en_US": "AmiiboAPI (www.amiiboapi.com) is used\nin our Amiibo emulation.", - "es_ES": "Utilizamos AmiiboAPI (www.amiiboapi.com)\nen nuestra emulación de Amiibo.", - "fr_FR": "AmiiboAPI (www.amiiboapi.com) est utilisé\ndans notre émulation Amiibo.", - "he_IL": "ממשק אמיבו (www.amiiboapi.com) משומש בהדמיית האמיבו שלנו.", - "it_IT": "AmiiboAPI (www.amiiboapi.com) è usata\nnella nostra emulazione Amiibo.", - "ja_JP": "AmiiboAPI (www.amiiboapi.com) は\nAmiibo エミュレーションに使用されています.", - "ko_KR": "AmiiboAPI(www.amiiboapi.com)는\nAmiibo 에뮬레이션에 사용됩니다.", - "no_NO": "AmiiboAPI (www.amiiboapi.com) brukes sammen med\ni vår Amiibo-emulsjon.", - "pl_PL": "AmiiboAPI (www.amiiboapi.com) jest używane\nw naszej emulacji Amiibo.", - "pt_BR": "AmiiboAPI (www.amiiboapi.com) é usado\nem nossa emulação de Amiibo.", - "ru_RU": "Amiibo API (www.amiiboapi.com) используется для эмуляции Amiibo.", - "sv_SE": "AmiiboAPI (www.amiiboapi.com) används\ni vår Amiibo-emulation.", - "th_TH": "AmiiboAPI (www.amiiboapi.com) ถูกใช้\nในการจำลอง อะมิโบ ของเรา", - "tr_TR": "Amiibo emülasyonumuzda \nAmiiboAPI (www.amiiboapi.com) kullanılmaktadır.", - "uk_UA": "AmiiboAPI (www.amiiboapi.com) використовується в нашій емуляції Amiibo.", - "zh_CN": "我们的 Amiibo 模拟使用了\nAmiiboAPI (www.amiiboapi.com)。", - "zh_TW": "我們在 Amiibo 模擬中\n使用了 AmiiboAPI (www.amiiboapi.com)。" - } - }, { "ID": "AboutGitLabUrlTooltipMessage", "Translations": { @@ -15425,131 +14450,6 @@ "zh_TW": "在預設瀏覽器中開啟貢獻者的網頁" } }, - { - "ID": "AmiiboSeriesLabel", - "Translations": { - "ar_SA": "مجموعة أميبو", - "de_DE": "Amiibo-Serie", - "el_GR": "Σειρά Amiibo", - "en_US": "Amiibo Series", - "es_ES": "Serie de Amiibo", - "fr_FR": "Séries Amiibo", - "he_IL": "סדרת אמיבו", - "it_IT": "Serie Amiibo", - "ja_JP": "Amiibo シリーズ", - "ko_KR": "Amiibo 시리즈", - "no_NO": "Amibo Serie", - "pl_PL": "Seria Amiibo", - "pt_BR": "Franquia Amiibo", - "ru_RU": "Серия Amiibo", - "sv_SE": "Amiibo-serie", - "th_TH": "ชุดซีรีส์ Amiibo", - "tr_TR": "Amiibo Serisi", - "uk_UA": "Серія Amiibo", - "zh_CN": "Amiibo 系列", - "zh_TW": "Amiibo 系列" - } - }, - { - "ID": "AmiiboCharacterLabel", - "Translations": { - "ar_SA": "شخصية", - "de_DE": "Charakter", - "el_GR": "Χαρακτήρας", - "en_US": "Character", - "es_ES": "Personaje", - "fr_FR": "Personnage", - "he_IL": "דמות", - "it_IT": "Personaggio", - "ja_JP": "キャラクタ", - "ko_KR": "캐릭터", - "no_NO": "Karakter", - "pl_PL": "Postać", - "pt_BR": "Personagem", - "ru_RU": "Персонаж", - "sv_SE": "Karaktär", - "th_TH": "ตัวละคร", - "tr_TR": "Karakter", - "uk_UA": "Персонаж", - "zh_CN": "角色", - "zh_TW": "角色" - } - }, - { - "ID": "AmiiboScanButtonLabel", - "Translations": { - "ar_SA": "فحصه", - "de_DE": "Einscannen", - "el_GR": "Σαρώστε το", - "en_US": "Scan It", - "es_ES": "Escanear", - "fr_FR": "Scanner", - "he_IL": "סרוק את זה", - "it_IT": "Scansiona", - "ja_JP": "スキャン", - "ko_KR": "스캔하기", - "no_NO": "Skanne det", - "pl_PL": "Zeskanuj", - "pt_BR": "Escanear", - "ru_RU": "Сканировать", - "sv_SE": "Skanna den", - "th_TH": "สแกนเลย", - "tr_TR": "Tarat", - "uk_UA": "Сканувати", - "zh_CN": "扫描", - "zh_TW": "掃描" - } - }, - { - "ID": "AmiiboOptionsShowAllLabel", - "Translations": { - "ar_SA": "", - "de_DE": "", - "el_GR": "", - "en_US": "Show incompatible Amiibo for this game", - "es_ES": "Mostrar Amiibo incompatibles con este juego", - "fr_FR": "Montrer les Amiibo incompatibles avec ce jeu", - "he_IL": "", - "it_IT": "Mostra Amiibo compatibili per questo gioco", - "ja_JP": "", - "ko_KR": "이 게임에 호환되지 않는 Amiibo 표시", - "no_NO": "", - "pl_PL": "", - "pt_BR": "Mostar Amiibos incompatíveis para este jogo.", - "ru_RU": "", - "sv_SE": "Visa Amiibo som inte är kompatibla med detta spel", - "th_TH": "", - "tr_TR": "", - "uk_UA": "", - "zh_CN": "显示与此游戏不兼容的 Amiibo", - "zh_TW": "顯示與此遊戲不相容的 Amiibo" - } - }, - { - "ID": "AmiiboOptionsUsRandomTagLabel", - "Translations": { - "ar_SA": "هاك: استخدم علامة Uuid عشوائية ", - "de_DE": "Hack: Benutze zufällige Tag-UUID", - "el_GR": "Hack: Χρησιμοποιήστε τυχαίο αναγνωριστικό UUID", - "en_US": "Hack: Use Random tag Uuid", - "es_ES": "Hack: Usar Etiqueta Aleatoria Uuid", - "fr_FR": "Hack : Utiliser un tag Uuid Aléatoire", - "he_IL": "האצה: השתמש בתג Uuid אקראי", - "it_IT": "Espediente: Usa un UUID del tag casuale", - "ja_JP": "ハック: ランダムな Uuid を使用", - "ko_KR": "핵 : 무작위 태그 Uuid 사용", - "no_NO": "Hack: Bruk tilfeldig tag-Uuid", - "pl_PL": "Hack: Użyj losowego UUID tagu", - "pt_BR": "Hack: Usar Uuid de tag Aleatório", - "ru_RU": "Хак: Использовать случайный тег Uuid", - "sv_SE": "Hack: Använd slumpmässig tagg för Uuid", - "th_TH": "แฮ็ค: สุ่มแท็ก Uuid", - "tr_TR": "Hack: Rastgele bir Uuid kullan", - "uk_UA": "Хитрість: Використовувати випадковий тег Uuid", - "zh_CN": "修改:使用随机生成的 Amiibo ID", - "zh_TW": "補釘修正:使用隨機標記的 Uuid" - } - }, { "ID": "DlcManagerTableHeadingEnabledLabel", "Translations": { @@ -15784,7 +14684,7 @@ "en_US": "Show File Types", "es_ES": "Mostrar Tipos de Archivo", "fr_FR": "Afficher les Types de Fichiers", - "he_IL": "הצג מזהה סוג קובץ", + "he_IL": "הצג סוגי קבצים", "it_IT": "Mostra tipi di file", "ja_JP": "ファイル形式を表示", "ko_KR": "파일 형식 표시", @@ -15794,9 +14694,9 @@ "ru_RU": "Показывать типы файлов", "sv_SE": "Visa filtyper", "th_TH": "แสดงประเภทของไฟล์", - "tr_TR": "Dosya Uzantılarını Göster", + "tr_TR": "Dosya Türlerini Göster", "uk_UA": "Показати типи файлів", - "zh_CN": "主页显示的文件类型", + "zh_CN": "显示文件类型", "zh_TW": "顯示檔案類型" } }, @@ -17675,81 +16575,6 @@ "zh_TW": "在 {0} 清除著色器快取時出錯: {1}" } }, - { - "ID": "UserErrorNoKeys", - "Translations": { - "ar_SA": "المفاتيح غير موجودة", - "de_DE": "Keys nicht gefunden", - "el_GR": "Τα κλειδιά δεν βρέθηκαν", - "en_US": "Keys not found", - "es_ES": "No se encontraron claves", - "fr_FR": "Clés non trouvées", - "he_IL": "המפתחות לא נמצאו", - "it_IT": "Chiavi non trovate", - "ja_JP": "Keys がありません", - "ko_KR": "키를 찾을 수 없음", - "no_NO": "Finner ikke nøkler", - "pl_PL": "Nie znaleziono kluczy", - "pt_BR": "Chaves não encontradas", - "ru_RU": "Ключи не найдены", - "sv_SE": "Nycklarna hittades inte", - "th_TH": "ไม่พบ คีย์", - "tr_TR": "Keys bulunamadı", - "uk_UA": "Ключі не знайдено", - "zh_CN": "找不到密钥Keys", - "zh_TW": "找不到金鑰" - } - }, - { - "ID": "UserErrorNoFirmware", - "Translations": { - "ar_SA": "لم يتم العثور على البرنامج الثابت", - "de_DE": "Firmware nicht gefunden", - "el_GR": "Το firmware δε βρέθηκε", - "en_US": "Firmware not found", - "es_ES": "No se encontró Firmware", - "fr_FR": "Firmware introuvable", - "he_IL": "קושחה לא נמצאה", - "it_IT": "Firmware non trovato", - "ja_JP": "ファームウェアがありません", - "ko_KR": "펌웨어를 찾을 수 없음", - "no_NO": "Fastvare ikke funnet", - "pl_PL": "Nie znaleziono firmware'u", - "pt_BR": "Firmware não encontrado", - "ru_RU": "Прошивка не найдена", - "sv_SE": "Firmware hittades inte", - "th_TH": "ไม่พบ เฟิร์มแวร์", - "tr_TR": "Firmware bulunamadı", - "uk_UA": "Прошивка не знайдена", - "zh_CN": "未安装系统固件", - "zh_TW": "找不到韌體" - } - }, - { - "ID": "UserErrorFirmwareParsingFailed", - "Translations": { - "ar_SA": "خطأ في تحليل البرنامج الثابت", - "de_DE": "Firmware-Analysierung-Fehler", - "el_GR": "Σφάλμα ανάλυσης firmware", - "en_US": "Firmware parsing error", - "es_ES": "Error al analizar el Firmware", - "fr_FR": "Erreur d'analyse du firmware", - "he_IL": "שגיאת ניתוח קושחה", - "it_IT": "Errore di analisi del firmware", - "ja_JP": "ファームウェアのパーズエラー", - "ko_KR": "펌웨어 구문 분석 오류", - "no_NO": "Fastvare analysefeil", - "pl_PL": "Błąd parsowania firmware'u", - "pt_BR": "Erro de análise de firmware", - "ru_RU": "Ошибка извлечения прошивки", - "sv_SE": "Tolkningsfel i firmware", - "th_TH": "เกิดข้อผิดพลาดในการวิเคราะห์เฟิร์มแวร์", - "tr_TR": "Firmware çözümleme hatası", - "uk_UA": "Помилка аналізу прошивки", - "zh_CN": "固件文件解析出错", - "zh_TW": "韌體解析錯誤" - } - }, { "ID": "UserErrorApplicationNotFound", "Translations": { @@ -17825,81 +16650,6 @@ "zh_TW": "未定義錯誤" } }, - { - "ID": "UserErrorNoKeysDescription", - "Translations": { - "ar_SA": "لم يتمكن ريوجينكس من العثور على ملف 'prod.keys' الخاص بك", - "de_DE": "Ryujinx konnte deine 'prod.keys' Datei nicht finden", - "el_GR": "Το Ryujinx δεν κατάφερε να εντοπίσει το αρχείο 'prod.keys'", - "en_US": "Ryujinx was unable to find your 'prod.keys' file", - "es_ES": "Ryujinx no pudo encontrar tus 'prod.keys'.", - "fr_FR": "Ryujinx n'a pas pu trouver votre fichier 'prod.keys'", - "he_IL": "ריוג'ינקס לא הצליח למצוא את קובץ ה-'prod.keys' שלך", - "it_IT": "Ryujinx non è riuscito a trovare il file 'prod.keys'", - "ja_JP": "'prod.keys' が見つかりませんでした", - "ko_KR": "Ryujinx가 'prod.keys' 파일을 찾지 못함", - "no_NO": "Ryujinx kunne ikke finne 'prod.keys' filen din", - "pl_PL": "Ryujinx nie mógł znaleźć twojego pliku 'prod.keys'", - "pt_BR": "Ryujinx não conseguiu encontrar o seu arquivo 'prod.keys'", - "ru_RU": "Ryujinx не удалось найти ваш 'prod.keys' файл", - "sv_SE": "Ryujinx kunde inte hitta din 'prod.keys'-fil", - "th_TH": "Ryujinx ไม่พบไฟล์ 'prod.keys' ในเครื่องของคุณ", - "tr_TR": "Ryujinx 'prod.keys' dosyasını bulamadı", - "uk_UA": "Ryujinx не вдалося знайти ваш файл «prod.keys».", - "zh_CN": "Ryujinx 模拟器找不到“prod.keys”密钥文件", - "zh_TW": "Ryujinx 無法找到您的「prod.keys」檔案" - } - }, - { - "ID": "UserErrorNoFirmwareDescription", - "Translations": { - "ar_SA": "لم يتمكن ريوجينكس من العثور على أية برامج ثابتة مثبتة", - "de_DE": "Ryujinx konnte keine installierte Firmware finden!", - "el_GR": "Το Ryujinx δεν κατάφερε να εντοπίσει κανένα εγκατεστημένο firmware", - "en_US": "Ryujinx was unable to find any firmwares installed", - "es_ES": "Ryujinx no pudo encontrar un firmware instalado.", - "fr_FR": "Ryujinx n'a pas trouvé de firmware installé", - "he_IL": "ריוג'ינקס לא הצליחה למצוא קושחה מותקנת", - "it_IT": "Ryujinx non è riuscito a trovare alcun firmware installato", - "ja_JP": "インストールされたファームウェアが見つかりませんでした", - "ko_KR": "Ryujinx가 설치된 펌웨어를 찾을 수 없음", - "no_NO": "Ryujinx kunne ikke finne noen fastvare installert", - "pl_PL": "Ryujinx nie mógł znaleźć żadnego zainstalowanego firmware'u", - "pt_BR": "Ryujinx não conseguiu encontrar nenhum Firmware instalado", - "ru_RU": "Ryujinx не удалось найти ни одной установленной прошивки", - "sv_SE": "Ryujinx kunde inte hitta några installerade firmwares", - "th_TH": "Ryujinx ไม่พบ เฟิร์มแวร์ที่ติดตั้งไว้ในเครื่องของคุณ", - "tr_TR": "Ryujinx yüklü herhangi firmware bulamadı", - "uk_UA": "Ryujinx не вдалося знайти жодної встановленої прошивки", - "zh_CN": "Ryujinx 模拟器未安装 Switch 系统固件", - "zh_TW": "Ryujinx 無法找到已安裝的任何韌體" - } - }, - { - "ID": "UserErrorFirmwareParsingFailedDescription", - "Translations": { - "ar_SA": "لم يتمكن ريوجينكس من تحليل البرامج الثابتة المتوفرة. يحدث هذا عادة بسبب المفاتيح القديمة.", - "de_DE": "Ryujinx konnte die zu verfügung gestellte Firmware nicht analysieren. Ein möglicher Grund dafür sind veraltete keys.", - "el_GR": "Το Ryujinx δεν κατάφερε να αναλύσει το συγκεκριμένο firmware. Αυτό συνήθως οφείλετε σε ξεπερασμένα/παλιά κλειδιά.", - "en_US": "Ryujinx was unable to parse the provided firmware. This is usually caused by outdated keys.", - "es_ES": "Ryujinx no pudo analizar el firmware. Normalmente esto ocurre debido a keys desfasadas.", - "fr_FR": "Ryujinx n'a pas pu analyser le firmware fourni. Cela est généralement dû à des clés obsolètes.", - "he_IL": "ריוג'ינקס לא הצליחה לנתח את הקושחה שסופקה. זה נגרם בדרך כלל על ידי מפתחות לא עדכניים.", - "it_IT": "Ryujinx non è riuscito ad analizzare il firmware. Questo di solito è causato da chiavi non aggiornate.", - "ja_JP": "ファームウェアをパーズできませんでした.通常,古いキーが原因です.", - "ko_KR": "Ryujinx가 제공된 펌웨어를 구문 분석하지 못했습니다. 일반적으로 오래된 키로 인해 발생합니다.", - "no_NO": "Ryujinx klarte ikke å analysere levert fastvare. Dette er vanligvis forårsaket av utdaterte nøkler.", - "pl_PL": "Ryujinx nie był w stanie zparsować dostarczonego firmware'u. Jest to zwykle spowodowane nieaktualnymi kluczami.", - "pt_BR": "Ryujinx não conseguiu ler o Firmware fornecido. Geralmente isso é causado por chaves desatualizadas.", - "ru_RU": "Ryujinx не удалось распаковать выбранную прошивку. Обычно это вызвано устаревшими ключами.", - "sv_SE": "Ryujinx kunde inte tolka angiven firmware. Detta sker oftast med utdaterade nycklar.", - "th_TH": "Ryujinx ไม่สามารถวิเคราะห์เฟิร์มแวร์ที่ให้มาได้ ซึ่งมักมีสาเหตุมาจากคีย์ที่เก่าจนเกินไป", - "tr_TR": "Ryujinx temin edilen firmware'i çözümleyemedi. Bu durum genellikle güncel olmayan keys'den kaynaklanır.", - "uk_UA": "Ryujinx не вдалося проаналізувати прошивку. Зазвичай це спричинено застарілими ключами.", - "zh_CN": "Ryujinx 模拟器无法解密当前固件,一般是由于使用了旧版的密钥导致的。", - "zh_TW": "Ryujinx 無法解析所提供的韌體。這通常是由於金鑰過時造成的。" - } - }, { "ID": "UserErrorApplicationNotFoundDescription", "Translations": { @@ -18100,156 +16850,6 @@ "zh_TW": "附帶:" } }, - { - "ID": "TitleXCIStatusPartialLabel", - "Translations": { - "ar_SA": "", - "de_DE": "", - "el_GR": "", - "en_US": "Partial", - "es_ES": "Parcial", - "fr_FR": "Partiel", - "he_IL": "", - "it_IT": "Parziale", - "ja_JP": "", - "ko_KR": "일부", - "no_NO": "Delvis", - "pl_PL": "", - "pt_BR": "Parcial", - "ru_RU": "Частично", - "sv_SE": "Delvis", - "th_TH": "ยังไม่สมบูรณ์", - "tr_TR": "", - "uk_UA": "Часткові", - "zh_CN": "分区", - "zh_TW": "部分" - } - }, - { - "ID": "TitleXCIStatusTrimmableLabel", - "Translations": { - "ar_SA": "", - "de_DE": "", - "el_GR": "", - "en_US": "Untrimmed", - "es_ES": "Sin Recortar", - "fr_FR": "Non Réduit", - "he_IL": "", - "it_IT": "Dim. originale", - "ja_JP": "", - "ko_KR": "트리밍되지 않음", - "no_NO": "Ikke trimmet", - "pl_PL": "", - "pt_BR": "Não Reduzido", - "ru_RU": "Не обрезан", - "sv_SE": "Orörd", - "th_TH": "ยังไม่ได้ตัดแต่ง", - "tr_TR": "", - "uk_UA": "Необрізані", - "zh_CN": "没有瘦身的", - "zh_TW": "未修剪" - } - }, - { - "ID": "TitleXCIStatusUntrimmableLabel", - "Translations": { - "ar_SA": "", - "de_DE": "", - "el_GR": "", - "en_US": "Trimmed", - "es_ES": "Recortado", - "fr_FR": "Réduit", - "he_IL": "", - "it_IT": "Dim. ridotta", - "ja_JP": "", - "ko_KR": "트리밍됨", - "no_NO": "Trimmet", - "pl_PL": "", - "pt_BR": "Reduzido", - "ru_RU": "Обрезан", - "sv_SE": "Optimerad", - "th_TH": "ตัดแต่งแล้ว", - "tr_TR": "", - "uk_UA": "Обрізані", - "zh_CN": "经过瘦身的", - "zh_TW": "已修剪" - } - }, - { - "ID": "TitleXCIStatusFailedLabel", - "Translations": { - "ar_SA": "", - "de_DE": "", - "el_GR": "", - "en_US": "(Failed)", - "es_ES": "(Fallido)", - "fr_FR": "(Échoué)", - "he_IL": "", - "it_IT": "(Fallito)", - "ja_JP": "", - "ko_KR": "(실패)", - "no_NO": "(Mislyktes)", - "pl_PL": "", - "pt_BR": "Falhou", - "ru_RU": "(Ошибка)", - "sv_SE": "(misslyckades)", - "th_TH": "(ล้มเหลว)", - "tr_TR": "", - "uk_UA": "(Невдача)", - "zh_CN": "(失败)", - "zh_TW": "(失敗)" - } - }, - { - "ID": "TitleXCICanSaveLabel", - "Translations": { - "ar_SA": "", - "de_DE": "", - "el_GR": "", - "en_US": "Save {0:n0} Mb", - "es_ES": "Ahorra {0:n0} Mb", - "fr_FR": "Sauvegarde de {0:n0} Mo", - "he_IL": "", - "it_IT": "Risparmia {0:n0} MB", - "ja_JP": "", - "ko_KR": "{0:n0}MB 저장", - "no_NO": "Spare {0:n0} Mb", - "pl_PL": "", - "pt_BR": "Salvar {0:n0} Mb", - "ru_RU": "Освободить {0:n0} Мб", - "sv_SE": "Spara {0:n0} Mb", - "th_TH": "บันทึก {0:n0} เมกะไบต์", - "tr_TR": "", - "uk_UA": "Зберегти {0:n0} Мб", - "zh_CN": "能节约 {0:n0} Mb", - "zh_TW": "可節省 {0:n0} Mb" - } - }, - { - "ID": "TitleXCISavingLabel", - "Translations": { - "ar_SA": "", - "de_DE": "", - "el_GR": "", - "en_US": "Saved {0:n0} Mb", - "es_ES": "{0:n0} Mb ahorrado(s)", - "fr_FR": "Sauvegardé {0:n0} Mo", - "he_IL": "", - "it_IT": "Risparmiati {0:n0} MB", - "ja_JP": "", - "ko_KR": "{0:n0}MB 저장됨", - "no_NO": "Spart {0:n0} Mb", - "pl_PL": "", - "pt_BR": "Salvo {0:n0} Mb", - "ru_RU": "Освобождено {0:n0} Мб", - "sv_SE": "Sparade {0:n0} Mb", - "th_TH": "บันทึกแล้ว {0:n0} เมกะไบต์", - "tr_TR": "", - "uk_UA": "Збережено {0:n0} Мб", - "zh_CN": "节约了 {0:n0} Mb", - "zh_TW": "已節省 {0:n0} Mb" - } - }, { "ID": "RyujinxInfo", "Translations": { @@ -18300,31 +16900,6 @@ "zh_TW": "{0} - 確認" } }, - { - "ID": "FileDialogAllTypes", - "Translations": { - "ar_SA": "كل الأنواع", - "de_DE": "Alle Typen", - "el_GR": "Όλοι οι τύποι", - "en_US": "All types", - "es_ES": "Todos los tipos", - "fr_FR": "Tous les Types", - "he_IL": "כל הסוגים", - "it_IT": "Tutti i tipi", - "ja_JP": "すべての種別", - "ko_KR": "모든 형식", - "no_NO": "Alle typer", - "pl_PL": "Wszystkie typy", - "pt_BR": "Todos os tipos", - "ru_RU": "Все типы", - "sv_SE": "Alla typer", - "th_TH": "ทุกประเภท", - "tr_TR": "Tüm türler", - "uk_UA": "Всі типи", - "zh_CN": "全部类型", - "zh_TW": "全部類型" - } - }, { "ID": "Never", "Translations": { @@ -18400,81 +16975,6 @@ "zh_TW": "長度必須為 {0} 到 {1} 個字元" } }, - { - "ID": "CabinetTitle", - "Translations": { - "ar_SA": "", - "de_DE": "", - "el_GR": "", - "en_US": "Cabinet Dialog", - "es_ES": "Diálogo Gabinete", - "fr_FR": "Dialogue de Cabinet", - "he_IL": "", - "it_IT": "Modale del Cabinet", - "ja_JP": "", - "ko_KR": "캐비닛 대화 상자", - "no_NO": "Dialogboks for kabinett", - "pl_PL": "", - "pt_BR": "Diálogo do Gabinete", - "ru_RU": "Сообщение кабинета", - "sv_SE": "Cabinet-dialog", - "th_TH": "กล่องโต้ตอบไฟล์ Cabinet", - "tr_TR": "", - "uk_UA": "Сповіщення Cabinet", - "zh_CN": "档案对话框", - "zh_TW": "Cabinet 對話方塊" - } - }, - { - "ID": "CabinetDialog", - "Translations": { - "ar_SA": "", - "de_DE": "", - "el_GR": "", - "en_US": "Enter your Amiibo's new name", - "es_ES": "Ingresa el nuevo nombre de tu Amiibo", - "fr_FR": "Entrer le nouveau nom de votre Amiibo", - "he_IL": "", - "it_IT": "Inserisci il nuovo nome del tuo Amiibo", - "ja_JP": "", - "ko_KR": "Amiibo의 새 이름 입력하기", - "no_NO": "Skriv inn Amiiboens nye navn", - "pl_PL": "", - "pt_BR": "Digite o novo nome do seu Amiibo", - "ru_RU": "Введите новое имя вашего Amiibo", - "sv_SE": "Ange nya namnet för din Amiibo", - "th_TH": "กรุณาใส่ชื่อใหม่ของ Amiibo ของคุณ", - "tr_TR": "", - "uk_UA": "Вкажіть Ваше нове ім'я Amiibo", - "zh_CN": "输入你的 Amiibo 的新名字", - "zh_TW": "輸入 Amiibo 的新名稱" - } - }, - { - "ID": "CabinetScanDialog", - "Translations": { - "ar_SA": "", - "de_DE": "", - "el_GR": "", - "en_US": "Please scan your Amiibo now.", - "es_ES": "Escanea tu Amiibo ahora.", - "fr_FR": "Veuillez scannez votre Amiibo.", - "he_IL": "", - "it_IT": "Scansiona ora il tuo Amiibo.", - "ja_JP": "", - "ko_KR": "지금 Amiibo를 스캔하세요.", - "no_NO": "Vennligst skann Amiiboene dine nå.", - "pl_PL": "", - "pt_BR": "Por favor, escaneie seu Amiibo agora.", - "ru_RU": "Пожалуйста, сканируйте ваш Amiibo.", - "sv_SE": "Skanna din Amiibo nu.", - "th_TH": "กรุณาสแกน Amiibo ของคุณตอนนี้", - "tr_TR": "", - "uk_UA": "Будь ласка, проскануйте Ваш Amiibo.", - "zh_CN": "请现在扫描你的 Amiibo", - "zh_TW": "請掃描你的 Amiibo。" - } - }, { "ID": "SoftwareKeyboard", "Translations": { @@ -19025,31 +17525,6 @@ "zh_TW": "所有鍵盤" } }, - { - "ID": "OpenFileDialogTitle", - "Translations": { - "ar_SA": "حدد ملف مدعوم لفتحه", - "de_DE": "Wähle eine unterstützte Datei", - "el_GR": "Επιλέξτε ένα υποστηριζόμενο αρχείο για άνοιγμα", - "en_US": "Select a supported file to open", - "es_ES": "Selecciona un archivo soportado para cargar", - "fr_FR": "Sélectionnez un fichier compatible à ouvrir", - "he_IL": "בחר קובץ נתמך לפתיחה", - "it_IT": "Seleziona un file supportato da aprire", - "ja_JP": "開くファイルを選択", - "ko_KR": "지원되는 파일을 선택하여 열기", - "no_NO": "Velg en støttet fil for å åpne", - "pl_PL": "Wybierz obsługiwany plik do otwarcia", - "pt_BR": "Selecione um arquivo suportado para abrir", - "ru_RU": "Выберите совместимый файл для открытия", - "sv_SE": "Välj en fil som stöds att öppna", - "th_TH": "เลือกไฟล์ที่สนับสนุนเพื่อเปิด", - "tr_TR": "Açmak için desteklenen bir dosya seçin", - "uk_UA": "Виберіть підтримуваний файл для відкриття", - "zh_CN": "选择支持的游戏文件并加载", - "zh_TW": "選取支援的檔案格式" - } - }, { "ID": "LoadApplicationFromFileDialogTitle", "Translations": { @@ -19525,81 +18000,6 @@ "zh_TW": "管理帳戶 - 大頭貼" } }, - { - "ID": "Amiibo", - "Translations": { - "ar_SA": "أميبو", - "de_DE": "", - "el_GR": "", - "en_US": "Amiibo", - "es_ES": null, - "fr_FR": null, - "he_IL": "אמיבו", - "it_IT": "", - "ja_JP": "", - "ko_KR": null, - "no_NO": "", - "pl_PL": "", - "pt_BR": null, - "ru_RU": null, - "sv_SE": null, - "th_TH": "อมิโบ้", - "tr_TR": "", - "uk_UA": "", - "zh_CN": null, - "zh_TW": null - } - }, - { - "ID": "Unknown", - "Translations": { - "ar_SA": "غير معروف", - "de_DE": "Unbekannt", - "el_GR": "Άγνωστο", - "en_US": "Unknown", - "es_ES": "Desconocido", - "fr_FR": "Inconnu", - "he_IL": "לא ידוע", - "it_IT": "Sconosciuto", - "ja_JP": "不明", - "ko_KR": "알 수 없음", - "no_NO": "Ukjent", - "pl_PL": "Nieznane", - "pt_BR": "Desconhecido", - "ru_RU": "Неизвестно", - "sv_SE": "Okänt", - "th_TH": "ไม่รู้จัก", - "tr_TR": "Bilinmeyen", - "uk_UA": "Невідомо", - "zh_CN": "未知", - "zh_TW": "未知" - } - }, - { - "ID": "Usage", - "Translations": { - "ar_SA": "الاستخدام", - "de_DE": "Nutzung", - "el_GR": "Χρήση", - "en_US": "Usage", - "es_ES": "Uso", - "fr_FR": "Utilisation", - "he_IL": "שימוש", - "it_IT": "Utilizzo", - "ja_JP": "使用法", - "ko_KR": "사용법", - "no_NO": "Forbruk", - "pl_PL": "Użycie", - "pt_BR": "Uso", - "ru_RU": "Применение", - "sv_SE": "Användning", - "th_TH": "การใช้งาน", - "tr_TR": "Kullanım", - "uk_UA": "Використання", - "zh_CN": "用法", - "zh_TW": "用途" - } - }, { "ID": "Writable", "Translations": { @@ -19700,306 +18100,6 @@ "zh_TW": "選取模組資料夾" } }, - { - "ID": "TrimXCIFileDialogPrimaryText", - "Translations": { - "ar_SA": "", - "de_DE": "", - "el_GR": "", - "en_US": "This function will first check the empty space and then trim the XCI File to save disk space.", - "es_ES": "Esta función verificará el espacio vacío y después recortará el archivo XCI para ahorrar espacio en disco", - "fr_FR": "Cette fonction vérifie d’abord l’espace libre, puis réduit le fichier XCI pour économiser de l’espace disque.", - "he_IL": "", - "it_IT": "Questa funzionalità controllerà prima lo spazio libero e poi ridurrà la dimensione del file XCI per risparmiare spazio su disco.", - "ja_JP": "", - "ko_KR": "이 기능은 먼저 충분한 공간을 확보한 다음 XCI 파일을 트리밍하여 디스크 공간을 절약합니다.", - "no_NO": "Denne funksjonen kontrollerer først hvor mye plass som er ledig, og trimmer deretter XCI-filen for å spare diskplass.", - "pl_PL": "", - "pt_BR": "Esta função primeiro verificará o espaço vazio e depois reduzirá o arquivo XCI para economizar espaço em disco.", - "ru_RU": "Эта функция сначала проверит наличие пустого пространства, а затем обрежет XCI файл для экономии места на диске.", - "sv_SE": "Denna funktion kommer först att kontrollera ledigt utrymme och sedan optimera XCI-filen för att spara diskutrymme.", - "th_TH": "ฟังก์ชันนี้จะตรวจสอบพื้นที่ว่างก่อน จากนั้นจึงตัดแต่งไฟล์ XCI เพื่อประหยัดพื้นที่ดิสก์", - "tr_TR": "", - "uk_UA": "Ця функція спочатку перевірить наявність порожнього місця, після чого обріже файл XCI для економії місця на диску.", - "zh_CN": "这个功能将会先检查 XCI 文件,再对其执行瘦身操作以节约磁盘空间。", - "zh_TW": "此功能首先檢查 XCI 檔案是否有可修剪的字元,然後修剪檔案以節省儲存空間。" - } - }, - { - "ID": "TrimXCIFileDialogSecondaryText", - "Translations": { - "ar_SA": "", - "de_DE": "", - "el_GR": "", - "en_US": "Current File Size: {0:n} MB\nGame Data Size: {1:n} MB\nDisk Space Savings: {2:n} MB", - "es_ES": "Tamaño de archivo actual: {0:n} MB\nTamaño de datos de juego: {1:n} MB\nAhorro de espacio en disco: {2:n} MB", - "fr_FR": "Taille actuelle du fichier: {0:n} MB\nTaille des données du jeu: {1:n} MB\nEspace disque économisé: {2:n} MB", - "he_IL": "", - "it_IT": "Dimensione attuale del file: {0:n} MB\nDimensione dei dati del gioco: {1:n} MB\nRisparmio spazio su disco: {2:n} MB", - "ja_JP": "", - "ko_KR": "현재 파일 크기 : {0:n}MB\n게임 데이터 크기 : {1:n}MB\n디스크 공간 절약 : {2:n}MB", - "no_NO": "Nåværende filstørrelse: 0:n MB\nSpilldatastørrelse: {1:n} MB\nDiskplassbesparelse: {2:n} MB", - "pl_PL": "", - "pt_BR": "Tamanho atual do arquivo: {0:n} MB\nTamanho dos dados do jogo: {1:n} MB\nEconomia de espaço em disco: {2:n} MB", - "ru_RU": "Размер текущего файла: {0:n} Мб\nРазмер игровых данных: {1:n} MB\nЭкономия дискового пространства: {2:n} Мб", - "sv_SE": "Aktuell filstorlek: {0:n} MB\nStorlek för speldata: {1:n} MB\nSparat diskutrymme: {2:n} MB", - "th_TH": "ขนาดไฟล์ปัจจุบัน: {0:n} เมกะไบต์\nขนาดข้อมูลเกม: {1:n} เมกะไบต์\nพื้นที่ดิสก์ที่ประหยัดได้: {2:n} เมกะไบต์", - "tr_TR": "", - "uk_UA": "Поточний розмір файла: {0:n} MB\nРозмір файлів гри: {1:n} MB\nЕкономія місця: {2:n} MB", - "zh_CN": "当前文件大小: {0:n} MB\n游戏数据大小: {1:n} MB\n节约的磁盘空间: {2:n} MB", - "zh_TW": "現在的檔案大小: {0:n} MB\n遊戲資料大小: {1:n} MB\n節省的儲存空間: {2:n} MB" - } - }, - { - "ID": "TrimXCIFileNoTrimNecessary", - "Translations": { - "ar_SA": "", - "de_DE": "", - "el_GR": "", - "en_US": "XCI File does not need to be trimmed. Check logs for further details", - "es_ES": "El archivo XCI no necesita ser recortado. Verifica los logs para más detalles.", - "fr_FR": "Le Fichier XCI n’a pas besoin d’être réduit. Référez-vous aux journaux pour plus de détails.", - "he_IL": "", - "it_IT": "Non è necessario ridurre la dimensione del file XCI. Controlla i log per ulteriori dettagli", - "ja_JP": "", - "ko_KR": "XCI 파일은 트리밍할 필요가 없습니다. 자세한 내용은 로그를 확인", - "no_NO": "XCI-filen trenger ikke å trimmes. Sjekk loggene for mer informasjon", - "pl_PL": "", - "pt_BR": "O arquivo XCI não precisa ser reduzido. Verifique os logs para mais detalhes", - "ru_RU": "XCI файл содержит недопустимые данные. Проверьте логи для получения дополнительной информации.", - "sv_SE": "XCI-filen behöver inte optimeras. Kontrollera loggen för mer information", - "th_TH": "ไฟล์ XCI ไม่จำเป็นต้องถูกตัดแต่ง โปรดตรวจสอบบันทึก (logs) สำหรับรายละเอียดเพิ่มเติม", - "tr_TR": "", - "uk_UA": "XCI файл не потребує обрізання. Перевірте журнали (logs) для отримання додаткової інформації", - "zh_CN": "XCI 文件不需要被瘦身。查看日志以获得更多细节。", - "zh_TW": "XCI 檔案不需要修剪。檢查日誌以取得更多資訊" - } - }, - { - "ID": "TrimXCIFileNoUntrimPossible", - "Translations": { - "ar_SA": "", - "de_DE": "", - "el_GR": "", - "en_US": "XCI File cannot be untrimmed. Check logs for further details", - "es_ES": "El recorte del archivo XCI no puede ser deshecho. Verifica los registros para más detalles.", - "fr_FR": "Fichier XCI ne peut pas être dé-réduit. Référez-vous aux journaux pour plus de détails", - "he_IL": "", - "it_IT": "Il file XCI non può essere riportato alla sua dimensione originale. Controlla i log per ulteriori dettagli", - "ja_JP": "", - "ko_KR": "XCI 파일은 트리밍을 해제할 수 없습니다. 자세한 내용은 로그를 확인", - "no_NO": "XCI-filen kan ikke trimmes. Sjekk loggene for mer informasjon", - "pl_PL": "", - "pt_BR": "O arquivo XCI reduzido não pode ser desfeito. Verifique os logs para mais detalhes", - "ru_RU": "XCI файл не может быть обрезан. Проверьте логи для получения более подробной информации", - "sv_SE": "XCI-filen kan inte avoptimeras. Kontrollera loggen för mer information", - "th_TH": "ไฟล์ XCI ไม่สามารถคืนสภาพเดิม (untrimmed) ได้ โปรดตรวจสอบบันทึก (logs) สำหรับรายละเอียดเพิ่มเติม", - "tr_TR": "", - "uk_UA": "XCI файл не може бути обрізаний. Перевірте журнали (logs) для отримання додаткової інформації", - "zh_CN": "XCI 文件不能被瘦身。查看日志以获得更多细节。", - "zh_TW": "XCI 檔案不能被修剪。檢查日誌以取得更多資訊" - } - }, - { - "ID": "TrimXCIFileReadOnlyFileCannotFix", - "Translations": { - "ar_SA": "", - "de_DE": "", - "el_GR": "", - "en_US": "XCI File is Read Only and could not be made writable. Check logs for further details", - "es_ES": "El archivo XCI es de solo Lectura y no se le puede escribir. Lee el registro para más información.", - "fr_FR": "Fichier XCI est en Lecture Seule et n'a pas pu être rendu accessible en écriture. Référez-vous aux journaux pour plus de détails", - "he_IL": "", - "it_IT": "Il file XCI è in sola lettura e non può essere reso accessibile in scrittura. Controlla i log per ulteriori dettagli", - "ja_JP": "", - "ko_KR": "XCI 파일은 읽기 전용이므로 쓰기 가능하게 만들 수 없습니다. 자세한 내용은 로그를 확인", - "no_NO": "XCI-filen er skrivebeskyttet og kunne ikke gjøres skrivbar. Sjekk loggene for mer informasjon", - "pl_PL": "", - "pt_BR": "O arquivo XCI é somente leitura e não pôde ser tornado gravável. Verifique os logs para mais detalhes", - "ru_RU": "XCI файл доступен только для чтения и его невозможно сделать доступным для записи. Проверьте логи для получения более подробной информации", - "sv_SE": "XCI-filen är skrivskyddad och kunde inte göras skrivbar. Kontrollera loggen för mer information", - "th_TH": "ไฟล์ XCI เป็นแบบอ่านอย่างเดียว และไม่สามารถเปลี่ยนเป็นแบบเขียนได้ โปรดตรวจสอบบันทึก (logs) สำหรับรายละเอียดเพิ่มเติม", - "tr_TR": "", - "uk_UA": "XCI файл \"Тільки для Читання\" і не може бути прочитаним. Перевірте журнали (logs) для отримання додаткової інформації", - "zh_CN": "XCI 文件是只读的,且不可以被标记为可读取的。查看日志以获得更多细节。", - "zh_TW": "XCI 檔案是唯讀,並且無法改成可寫入。檢查日誌以取得更多資訊" - } - }, - { - "ID": "TrimXCIFileFileSizeChanged", - "Translations": { - "ar_SA": "", - "de_DE": "", - "el_GR": "", - "en_US": "XCI File has changed in size since it was scanned. Please check the file is not being written to and try again.", - "es_ES": "El archivo XCI ha cambiado de tamaño desde que fue escaneado. Verifica que no se esté escribiendo al archivo y vuelve a intentarlo.", - "fr_FR": "La taille du Fichier XCI a changé depuis son analyse. Veuillez vérifier que le fichier n’est pas en cours d’écriture, puis réessayez.", - "he_IL": "", - "it_IT": "La dimensione del file XCI è cambiata da quando è stato scansionato. Controlla che il file non stia venendo scritto da qualche altro programma e poi riprova.", - "ja_JP": "", - "ko_KR": "XCI 파일이 스캔된 후 크기가 변경되었습니다. 파일이 쓰여지고 있지 않은지 확인하고 다시 시도하세요.", - "no_NO": "XCI File har endret størrelse siden den ble skannet. Kontroller at det ikke skrives til filen, og prøv på nytt.", - "pl_PL": "", - "pt_BR": "O arquivo XCI mudou de tamanho desde que foi escaneado. Verifique se o arquivo não está sendo gravado e tente novamente.", - "ru_RU": "XCI файл изменился в размере после сканирования. Проверьте, не производится ли запись в этот файл, и повторите попытку.", - "sv_SE": "XCI-filen har ändrats i storlek sedan den lästes av. Kontrollera att filen inte skrivs till och försök igen.", - "th_TH": "ขนาดไฟล์ XCI มีการเปลี่ยนแปลงตั้งแต่ที่สแกนครั้งล่าสุด กรุณาตรวจสอบว่าไฟล์ไม่ได้ถูกเขียนข้อมูล และลองใหม่อีกครั้ง", - "tr_TR": "", - "uk_UA": "Розмір файлу XCI змінився з моменту сканування. Перевірте, чи не записується файл, та спробуйте знову", - "zh_CN": "XCI 文件在扫描后大小发生了变化。请检查文件是否未被写入,然后重试。", - "zh_TW": "XCI 檔案大小比較上次的掃瞄已經改變。請檢查檔案是否未被寫入,然後再嘗試。" - } - }, - { - "ID": "TrimXCIFileFreeSpaceCheckFailed", - "Translations": { - "ar_SA": "", - "de_DE": "", - "el_GR": "", - "en_US": "XCI File has data in the free space area, it is not safe to trim", - "es_ES": "El archivo XCI tiene datos en el área de espacio libre, no es seguro recortar.", - "fr_FR": "Fichier XCI a des données dans la zone d'espace libre, ce n'est pas sûr de réduire", - "he_IL": "", - "it_IT": "Il file XCI contiene dei dati nello spazio libero, non è sicuro ridurne la dimensione", - "ja_JP": "", - "ko_KR": "XCI 파일에 여유 공간 영역에 데이터가 있으므로 트리밍하는 것이 안전하지 않음", - "no_NO": "XCI-filen har data i ledig plass, og det er ikke trygt å trimme den", - "pl_PL": "", - "pt_BR": "O arquivo XCI tem dados na área de espaço livre, não é seguro reduzi-lo", - "ru_RU": "XCI файл содержит данные в пустой зоне, обрезать его небезопасно", - "sv_SE": "XCI-filen har data i det lediga utrymmet. Den är inte säker att optimera", - "th_TH": "ไฟล์ XCI มีข้อมูลในพื้นที่ว่าง จึงไม่ปลอดภัยที่จะทำการตัดแต่ง", - "tr_TR": "", - "uk_UA": "Файл XCI містить дані в зоні вільного простору, тому обрізка небезпечна", - "zh_CN": "XCI 文件的空闲区域内有数据,不能安全瘦身。", - "zh_TW": "XCI 檔案有數據儲存於可節省儲存空間的區域,所以試圖修剪並不安全" - } - }, - { - "ID": "TrimXCIFileInvalidXCIFile", - "Translations": { - "ar_SA": "", - "de_DE": "", - "el_GR": "", - "en_US": "XCI File contains invalid data. Check logs for further details", - "es_ES": "El archivo XCI contiene datos inválidos. Lee el registro para más información.", - "fr_FR": "Fichier XCI contient des données invalides. Regarder les journaux pour plus de détails", - "he_IL": "", - "it_IT": "Il file XCI contiene dei dati non validi. Controlla i log per ulteriori dettagli", - "ja_JP": "", - "ko_KR": "XCI 파일에 유효하지 않은 데이터가 포함되어 있습니다. 자세한 내용은 로그를 확인", - "no_NO": "XCI-filen inneholder ugyldige data. Sjekk loggene for ytterligere detaljer", - "pl_PL": "", - "pt_BR": "O arquivo XCI contém dados inválidos. Verifique os logs para obter mais detalhes", - "ru_RU": "XCI файл содержит недопустимые данные. Проверьте логи для получения дополнительной информации", - "sv_SE": "XCI-filen innehåller ogiltig data. Kontrollera loggen för mer information", - "th_TH": "ไฟล์ XCI มีข้อมูลที่ไม่ถูกต้อง โปรดตรวจสอบบันทึก (logs) สำหรับรายละเอียดเพิ่มเติม", - "tr_TR": "", - "uk_UA": "XCI Файл містить недійсні дані. Перевірте журнали (logs) для отримання додаткової інформації", - "zh_CN": "XCI 文件含有无效数据。查看日志以获得更多细节。", - "zh_TW": "XCI 檔案帶有無效的數據。檢查日誌以取得更多資訊" - } - }, - { - "ID": "TrimXCIFileFileIOWriteError", - "Translations": { - "ar_SA": "", - "de_DE": "", - "el_GR": "", - "en_US": "XCI File could not be opened for writing. Check logs for further details", - "es_ES": "El archivo XCI no se puede abrir para escribirlo. Lee el registro para más información.", - "fr_FR": "Fichier XCI n'a pas pu être ouvert pour écriture. Regarder les journaux pour plus de détails", - "he_IL": "", - "it_IT": "Il file XCI non può essere aperto in scrittura. Controlla i log per ulteriori dettagli", - "ja_JP": "", - "ko_KR": "XCI 파일을 쓰기 위해 열 수 없습니다. 자세한 내용은 로그를 확인", - "no_NO": "XCI-filen kunne ikke åpnes for skriving. Sjekk loggene for ytterligere detaljer", - "pl_PL": "", - "pt_BR": "O arquivo XCI não pôde ser aberto para gravação. Verifique os logs para mais detalhes", - "ru_RU": "Не удалось открыть XCI файл для записи. Проверьте журналы для получения дополнительной информации", - "sv_SE": "XCI-filen kunde inte öppnas för skrivning. Kontrollera loggen för mer information", - "th_TH": "ไม่สามารถเปิดไฟล์ XCI เพื่อเขียนข้อมูลได้ โปรดตรวจสอบบันทึก (logs) สำหรับรายละเอียดเพิ่มเติม", - "tr_TR": "", - "uk_UA": "XCI Файл файл не вдалося відкрити для запису. Перевірте журнали для додаткової інформації", - "zh_CN": "XCI 文件不能被读写。查看日志以获得更多细节。", - "zh_TW": "XCI 檔案不能被寫入。檢查日誌以取得更多資訊" - } - }, - { - "ID": "TrimXCIFileFailedPrimaryText", - "Translations": { - "ar_SA": "", - "de_DE": "", - "el_GR": "", - "en_US": "Trimming of the XCI file failed", - "es_ES": "El recorte del archivo XCI falló", - "fr_FR": "Réduction du fichier XCI a échoué", - "he_IL": "", - "it_IT": "Riduzione della dimensione del file XCI fallita", - "ja_JP": "", - "ko_KR": "XCI 파일 트리밍에 실패", - "no_NO": "Trimming av XCI-filen mislyktes", - "pl_PL": "", - "pt_BR": "A redução do arquivo XCI falhou", - "ru_RU": "Обрезка XCI файла не удалась", - "sv_SE": "Optimering av XCI-filen misslyckades", - "th_TH": "การตัดแต่งไฟล์ XCI ล้มเหลว", - "tr_TR": "", - "uk_UA": "Не вдалося обрізати файл XCI", - "zh_CN": "XCI 文件瘦身失败", - "zh_TW": "修剪 XCI 檔案失敗" - } - }, - { - "ID": "TrimXCIFileCancelled", - "Translations": { - "ar_SA": "", - "de_DE": "", - "el_GR": "", - "en_US": "The operation was cancelled", - "es_ES": "La operación fue cancelada", - "fr_FR": "L'opération a été annulée", - "he_IL": "", - "it_IT": "L'operazione è stata annullata", - "ja_JP": "", - "ko_KR": "작업이 취소됨", - "no_NO": "Operasjonen ble avlyst", - "pl_PL": "", - "pt_BR": "A operação foi cancelada", - "ru_RU": "Операция была отменена", - "sv_SE": "Åtgärden avbröts", - "th_TH": "การดำเนินการถูกยกเลิกแล้ว", - "tr_TR": "", - "uk_UA": "Операція перервана", - "zh_CN": "操作已取消", - "zh_TW": "修剪已取消" - } - }, - { - "ID": "TrimXCIFileFileUndertermined", - "Translations": { - "ar_SA": "", - "de_DE": "", - "el_GR": "", - "en_US": "No operation was performed", - "es_ES": "No se realizó ninguna operación", - "fr_FR": "Aucune opération a été faite", - "he_IL": "", - "it_IT": "Non è stata effettuata alcuna operazione", - "ja_JP": "", - "ko_KR": "작업이 수행되지 않음", - "no_NO": "Ingen operasjon ble utført", - "pl_PL": "", - "pt_BR": "Nenhuma operação foi realizada", - "ru_RU": "Операция не была проведена", - "sv_SE": "Ingen åtgärd genomfördes", - "th_TH": "ไม่มีการดำเนินการใด ๆ ถูกทำขึ้น", - "tr_TR": "", - "uk_UA": "Операція не проводилася", - "zh_CN": "未执行操作", - "zh_TW": "沒有修剪" - } - }, { "ID": "UserProfileWindowTitle", "Translations": { @@ -20125,381 +18225,6 @@ "zh_TW": "遊戲更新管理員" } }, - { - "ID": "XCITrimmerWindowTitle", - "Translations": { - "ar_SA": "", - "de_DE": "", - "el_GR": "", - "en_US": "XCI File Trimmer", - "es_ES": "Recortador de Archivos XCI", - "fr_FR": "Réducteur de Fichiers XCI", - "he_IL": "", - "it_IT": "Riduci dimensioni dei file XCI", - "ja_JP": "", - "ko_KR": "XCI 파일 트리머", - "no_NO": "", - "pl_PL": "", - "pt_BR": "Redutor de Arquivo XCI", - "ru_RU": "Триммер XCI файлов", - "sv_SE": "Optimera XCI-filer", - "th_TH": "เครื่องมือตัดแต่งไฟล์ XCI", - "tr_TR": "", - "uk_UA": "Обрізка XCI Файлів", - "zh_CN": "XCI 文件瘦身器", - "zh_TW": "XCI 檔案修剪器" - } - }, - { - "ID": "XCITrimmerTitleStatusCount", - "Translations": { - "ar_SA": "", - "de_DE": "", - "el_GR": "", - "en_US": "{0} of {1} Title(s) Selected", - "es_ES": "{0} de {1} Título(s) Seleccionado(s)", - "fr_FR": "{0} sur {1} Fichier(s) Sélectionnés", - "he_IL": "", - "it_IT": "{0} di {1} titoli selezionati", - "ja_JP": "", - "ko_KR": "{1}개 타이틀 중 {0}개 선택됨", - "no_NO": "{0} av {1} Valgte tittel(er)", - "pl_PL": "", - "pt_BR": "{0} de {1} Título(s) Selecionado(s)", - "ru_RU": "{0} из {1} файл(а/ов) выбран(о)", - "sv_SE": "{0} av {1} spel markerade", - "th_TH": "เลือก {0} จาก {1} รายการ", - "tr_TR": "", - "uk_UA": "{0} з {1} тайтл(ів) обрано", - "zh_CN": "在 {1} 中选中了 {0} 个游戏 ", - "zh_TW": "已選擇 {1} 之 {0} 的遊戲" - } - }, - { - "ID": "XCITrimmerTitleStatusCountWithFilter", - "Translations": { - "ar_SA": "", - "de_DE": "", - "el_GR": "", - "en_US": "{0} of {1} Title(s) Selected ({2} displayed)", - "es_ES": "{0} de {1} Título(s) Seleccionado(s) ({2} Mostrado(s))", - "fr_FR": "{0} sur {1} Fichier(s) Sélectionnés ({2} affiché(s)", - "he_IL": "", - "it_IT": "{0} di {1} titoli selezionati ({2} visualizzati)", - "ja_JP": "", - "ko_KR": "{1}개 타이틀 중 {0}개 선택됨({2}개 표시됨)", - "no_NO": "{0} av {1} Tittel(er) valgt ({2} vises)", - "pl_PL": "", - "pt_BR": "{0} de {1} Título(s) Selecionado(s) ({2} exibidos)", - "ru_RU": "{0} из {1} файл(а/ов) выбран(о) ({2} показан(о))", - "sv_SE": "{0} av {1} spel markerade ({2} visade)", - "th_TH": "เลือก {0} จาก {1} รายการ (แสดงผล {2} รายการ)", - "tr_TR": "", - "uk_UA": "{0} з {1} тайтл(ів) обрано ({2} відображається)", - "zh_CN": "在 {1} 中选中了 {0} 个游戏 (显示了 {2} 个)", - "zh_TW": "已選擇 {1} 之 {0} 的遊戲 (已顯示 {2} 個)" - } - }, - { - "ID": "XCITrimmerTitleStatusTrimming", - "Translations": { - "ar_SA": "", - "de_DE": "", - "el_GR": "", - "en_US": "Trimming {0} Title(s)...", - "es_ES": "Recortando {0} Título(s)...", - "fr_FR": "Réduction de {0} Fichier(s)...", - "he_IL": "", - "it_IT": "Riduzione delle dimensioni di {0} titolo/i...", - "ja_JP": "", - "ko_KR": "{0}개의 타이틀을 트리밍 중...", - "no_NO": "Trimming av {0} tittel(er)...", - "pl_PL": "", - "pt_BR": "Reduzindo {0} Título(s)...", - "ru_RU": "Обрезка {0} файла(ов)...", - "sv_SE": "Optimerar {0} spel...", - "th_TH": "กำลังตัดแต่ง {0} รายการ...", - "tr_TR": "", - "uk_UA": "Обрізка {0} тайтл(ів)...", - "zh_CN": "{0} 个游戏瘦身中。。。", - "zh_TW": "正在修剪 {0} 個遊戲..." - } - }, - { - "ID": "XCITrimmerTitleStatusUntrimming", - "Translations": { - "ar_SA": "", - "de_DE": "", - "el_GR": "", - "en_US": "Untrimming {0} Title(s)...", - "es_ES": "Deshaciendo Recorte de {0} Título(s)...", - "fr_FR": "Dé-Réduction de {0} Fichier(s)...", - "he_IL": "", - "it_IT": "Ripristino alle dimensioni originali di {0} titolo/i...", - "ja_JP": "", - "ko_KR": "{0}개의 타이틀을 트리밍 해제 중...", - "no_NO": "Untrimming {0} Tittel(er)...", - "pl_PL": "", - "pt_BR": "Desfazendo redução {0} Título(s)...", - "ru_RU": "Отмена обрезки {0} файла(ов)...", - "sv_SE": "Avoptimerar {0} spel...", - "th_TH": "กำลังยกเลิกการตัดแต่ง {0} รายการ...", - "tr_TR": "", - "uk_UA": "Необрізаних {0} тайтл(ів)...", - "zh_CN": "正在精简 {0} 个游戏", - "zh_TW": "正在反修剪 {0} 個遊戲..." - } - }, - { - "ID": "XCITrimmerTitleStatusFailed", - "Translations": { - "ar_SA": "", - "de_DE": "", - "el_GR": "", - "en_US": "Failed", - "es_ES": "Fallido", - "fr_FR": "Échoué", - "he_IL": "", - "it_IT": "Fallito", - "ja_JP": "", - "ko_KR": "실패", - "no_NO": "Mislyktes", - "pl_PL": "", - "pt_BR": "Falhou", - "ru_RU": "Ошибка", - "sv_SE": "Misslyckades", - "th_TH": "ล้มเหลว", - "tr_TR": "", - "uk_UA": "Невдача", - "zh_CN": "失败", - "zh_TW": "失敗" - } - }, - { - "ID": "XCITrimmerPotentialSavings", - "Translations": { - "ar_SA": "", - "de_DE": "", - "el_GR": "", - "en_US": "Potential Savings", - "es_ES": "Ahorro Potencial", - "fr_FR": "Économies Potentielles", - "he_IL": "", - "it_IT": "Risparmio potenziale", - "ja_JP": "", - "ko_KR": "잠재적 비용 절감", - "no_NO": "Potensielle besparelser", - "pl_PL": "", - "pt_BR": "Economia Potencial", - "ru_RU": "Потенциальная экономия места", - "sv_SE": "Möjlig besparning", - "th_TH": "พื้นที่ประหยัดได้", - "tr_TR": "", - "uk_UA": "Потенційна економія", - "zh_CN": "潜在的储存空间节省", - "zh_TW": "潛在節省的儲存空間" - } - }, - { - "ID": "XCITrimmerActualSavings", - "Translations": { - "ar_SA": "", - "de_DE": "", - "el_GR": "", - "en_US": "Actual Savings", - "es_ES": "Ahorro Real", - "fr_FR": "Économies Réelles", - "he_IL": "", - "it_IT": "Risparmio effettivo", - "ja_JP": "", - "ko_KR": "실제 비용 절감", - "no_NO": "Faktiske besparelser", - "pl_PL": "", - "pt_BR": "Economia Real", - "ru_RU": "Фактическая экономия места", - "sv_SE": "Faktisk besparning", - "th_TH": "พื้นที่ที่ประหยัดจริง", - "tr_TR": "", - "uk_UA": "Зекономлено", - "zh_CN": "实际的储存空间节省", - "zh_TW": "實際節省的儲存空間" - } - }, - { - "ID": "XCITrimmerSavingsMb", - "Translations": { - "ar_SA": "", - "de_DE": "", - "el_GR": "", - "en_US": "{0:n0} Mb", - "es_ES": null, - "fr_FR": "{0:n0} Mo", - "he_IL": "", - "it_IT": "{0:n0} MB", - "ja_JP": "", - "ko_KR": "{0:n0}MB", - "no_NO": "", - "pl_PL": "", - "pt_BR": null, - "ru_RU": "{0:n0} Мб", - "sv_SE": null, - "th_TH": "{0:n0} เมกะไบต์", - "tr_TR": "", - "uk_UA": "{0:n0} Мб", - "zh_CN": null, - "zh_TW": null - } - }, - { - "ID": "XCITrimmerSelectDisplayed", - "Translations": { - "ar_SA": "", - "de_DE": "", - "el_GR": "", - "en_US": "Select Shown", - "es_ES": "Seleccionar Mostrado(s)", - "fr_FR": "Sélectionner Affiché", - "he_IL": "", - "it_IT": "Seleziona visualizzati", - "ja_JP": "", - "ko_KR": "표시됨 선택", - "no_NO": "Velg vist", - "pl_PL": "", - "pt_BR": "Marcar Todos", - "ru_RU": "Выбрать видимое", - "sv_SE": "Markera visade", - "th_TH": "เลือกรายการที่แสดง", - "tr_TR": "", - "uk_UA": "Вибрати показані", - "zh_CN": "选定显示的", - "zh_TW": "選擇已顯示" - } - }, - { - "ID": "XCITrimmerDeselectDisplayed", - "Translations": { - "ar_SA": "", - "de_DE": "", - "el_GR": "", - "en_US": "Deselect Shown", - "es_ES": "Deseleccionar Mostrado(s)", - "fr_FR": "Désélectionner Affiché", - "he_IL": "", - "it_IT": "Deseleziona visualizzati", - "ja_JP": "", - "ko_KR": "표시됨 선택 취소", - "no_NO": "Opphev valg av Vist", - "pl_PL": "", - "pt_BR": "Desmarcar Todos", - "ru_RU": "Отменить выбор видимого", - "sv_SE": "Avmarkera visade", - "th_TH": "ยกเลิกการเลือกรายการที่แสดง", - "tr_TR": "", - "uk_UA": "Скасувати вибір показаного", - "zh_CN": "反选显示的", - "zh_TW": "取消選擇已顯示" - } - }, - { - "ID": "XCITrimmerSortName", - "Translations": { - "ar_SA": "", - "de_DE": "", - "el_GR": "", - "en_US": "Title", - "es_ES": "Título", - "fr_FR": "Titre", - "he_IL": "", - "it_IT": "Titolo", - "ja_JP": "", - "ko_KR": "타이틀", - "no_NO": "Tittel", - "pl_PL": "", - "pt_BR": "Título", - "ru_RU": "Название", - "sv_SE": "Titel", - "th_TH": "ชื่อไฟล์", - "tr_TR": "", - "uk_UA": "Назва", - "zh_CN": "标题", - "zh_TW": "名稱" - } - }, - { - "ID": "XCITrimmerSortSaved", - "Translations": { - "ar_SA": "", - "de_DE": "", - "el_GR": "", - "en_US": "Space Savings", - "es_ES": "Ahorro de Espacio", - "fr_FR": "Économies de disque dur", - "he_IL": "", - "it_IT": "Spazio risparmiato", - "ja_JP": "", - "ko_KR": "공간 절약", - "no_NO": "Plassbesparelser", - "pl_PL": "", - "pt_BR": "Economia de Espaço", - "ru_RU": "Экономия места на диске", - "sv_SE": "Utrymmesbesparning", - "th_TH": "ลดการใช้พื้นที่", - "tr_TR": "", - "uk_UA": "Економія місця", - "zh_CN": "节省空间", - "zh_TW": "節省的儲存空間" - } - }, - { - "ID": "XCITrimmerTrim", - "Translations": { - "ar_SA": "", - "de_DE": "", - "el_GR": "", - "en_US": "Trim", - "es_ES": "Recortar", - "fr_FR": "Réduire", - "he_IL": "", - "it_IT": "Riduci dimensioni", - "ja_JP": "", - "ko_KR": "트림", - "no_NO": "", - "pl_PL": "", - "pt_BR": "Reduzir XCI", - "ru_RU": "Обрезать", - "sv_SE": "Optimera", - "th_TH": "ตัดแต่ง", - "tr_TR": "", - "uk_UA": "Обрізка", - "zh_CN": "瘦身", - "zh_TW": "修剪" - } - }, - { - "ID": "XCITrimmerUntrim", - "Translations": { - "ar_SA": "", - "de_DE": "", - "el_GR": "", - "en_US": "Untrim", - "es_ES": "Deshacer Recorte", - "fr_FR": "Dé-Réduire", - "he_IL": "", - "it_IT": "Riporta alle dimensioni originali", - "ja_JP": "", - "ko_KR": "언트림", - "no_NO": "Utrim", - "pl_PL": "", - "pt_BR": "Desfazer Redução", - "ru_RU": "Отменить обрезку", - "sv_SE": "Avoptimera", - "th_TH": "ยกเลิกการตัดแต่ง", - "tr_TR": "", - "uk_UA": "Зшивання", - "zh_CN": "取消精简", - "zh_TW": "反修剪" - } - }, { "ID": "UpdateWindowUpdateAddedMessage", "Translations": { diff --git a/assets/Locales/XCITrimmer.json b/assets/Locales/XCITrimmer.json new file mode 100644 index 000000000..b0093c608 --- /dev/null +++ b/assets/Locales/XCITrimmer.json @@ -0,0 +1,904 @@ +{ + "Locales": [ + { + "ID": "MenuBarActions_OpenTrimmer", + "Translations": { + "ar_SA": "محرر XCI", + "de_DE": "XCI-Trimmer", + "el_GR": "Επεξεργαστής XCI", + "en_US": "XCI Trimmer", + "es_ES": "Recortador de XCI", + "fr_FR": "Réducteur de XCI", + "he_IL": "מעמד XCI", + "it_IT": "Trimmer XCI", + "ja_JP": "XCIトリマー", + "ko_KR": "XCI 파일 트리머", + "no_NO": "XCI-trimmer", + "pl_PL": "Przycinacz XCI", + "pt_BR": "Cortador de XCI", + "ru_RU": "Триммер XCI", + "sv_SE": "XCI-trimmer", + "th_TH": "ตัวตัด XCI", + "tr_TR": "XCI Kesici", + "uk_UA": "Тример XCI", + "zh_CN": "XCI 剪裁工具", + "zh_TW": "XCI 修剪工具" + } + }, + { + "ID": "MenuBarActions_OpenTrimmer_ToolTip", + "Translations": { + "ar_SA": "يقلل من حجم ملفات XCI (نسخ بطاقات الألعاب) عن طريق إزالة المساحة الفارغة وغير المستخدمة. لا يؤثر على أداء اللعبة.", + "de_DE": "Reduziert die Größe der XCI-Dateien (Spiele-Cartridge-Dumps) durch Entfernen von leerem, ungenutztem Speicher. Hat keine Auswirkungen auf die Spielleistung.", + "el_GR": "Μειώνει το μέγεθος των αρχείων XCI (αντίγραφα καρτών παιχνιδιών) αφαιρώντας κενό, αχρησιμοποίητο χώρο. Δεν επηρεάζει την απόδοση του παιχνιδιού.", + "en_US": "Reduces XCI file sizes (game cartridge dumps) by removing empty, unused space. Does not impact game performance.", + "es_ES": "Reduce el tamaño de los archivos XCI (copias de cartuchos de juegos) eliminando espacio vacío y no utilizado. No afecta al rendimiento del juego.", + "fr_FR": "Réduit la taille des fichiers XCI (copies de cartouches de jeux) en supprimant l'espace vide et inutilisé. N'affecte pas les performances du jeu.", + "he_IL": "מקטין את גודל קבצי ה-XCI (גיבויים של קרטידות משחק) על ידי הסרת שטח ריק ולא בשימוש. לא משפיע על ביצועי המשחק.", + "it_IT": "Riduce la dimensione dei file XCI (backup di cartucce di gioco) rimuovendo spazio vuoto e inutilizzato. Non influisce sulle prestazioni del gioco.", + "ja_JP": "XCIファイル(ゲームカートリッジのダンプ)のサイズを空の未使用スペースを削除することにより減らします。ゲームのパフォーマンスには影響しません。", + "ko_KR": "XCI 파일(게임 카트리지 덤프)의 크기를 빈 공간과 사용되지 않는 데이터를 제거하여 줄입니다. 게임 성능에 영향을 미치지 않습니다.", + "no_NO": "Reduserer størrelsen på XCI-filene (spillkassett-dumper) ved å fjerne tomt, ubrukt plass. Påvirker ikke spillprestasjonen.", + "pl_PL": "Redukuje rozmiar plików XCI (zrzutów kartridży gier) przez usunięcie pustej, nieużywanej przestrzeni. Nie wpływa na wydajność gry.", + "pt_BR": "Reduz o tamanho dos arquivos XCI (dumps de cartuchos de jogos) removendo espaço vazio e não utilizado. Não afeta o desempenho do jogo.", + "ru_RU": "Уменьшает размер файлов XCI (дампов картриджей игр) удалением пустого, неиспользуемого пространства. Не влияет на производительность игры.", + "sv_SE": "Minskar storleken på XCI-filer (spelkartridgdumps) genom att ta bort tomt, oanvänt utrymme. Påverkar inte spelprestanda.", + "th_TH": "ลดขนาดไฟล์ XCI (ดัมพ์ตลับเกม) โดยการลบพื้นที่ว่างและไม่ได้ใช้งานออกจากไฟล์ ไม่กระทบต่อประสิทธิภาพเกม", + "tr_TR": "XCI dosya boyutlarını (oyun kartuşu dökümleri) boş ve kullanılmayan alanları kaldırarak küçültür. Oyun performansını etkilemez.", + "uk_UA": "Зменшує розмір файлів XCI (дампів картриджів ігор) видаленням порожнього, невикористовуваного простору. Не впливає на продуктивність гри.", + "zh_CN": "通过删除空的、未使用的空间来减少 XCI 文件(游戏卡带转储)大小。不会影响游戏性能。", + "zh_TW": "透過移除空的、未使用的空間來減少 XCI 檔案(遊戲卡匣轉存)大小。對遊戲性能無影響。" + } + }, + { + "ID": "GameListContextMenu_Trim", + "Translations": { + "ar_SA": "تقليم XCI", + "de_DE": "Zuschneiden der XCI", + "el_GR": "Κοπή XCI", + "en_US": "Trim XCI", + "es_ES": "Recortar XCI", + "fr_FR": "Réduire le XCI", + "he_IL": "חתוך XCI", + "it_IT": "Riduci il XCI", + "ja_JP": "XCIをトリム", + "ko_KR": "XCI 트림", + "no_NO": null, + "pl_PL": "Przytnij XCI", + "pt_BR": "Reduzir o XCI", + "ru_RU": "Обрезать XCI", + "sv_SE": "Optimera XCI", + "th_TH": "ลดขนาด XCI", + "tr_TR": "XCI'yi Kırp", + "uk_UA": "Нарізка XCI", + "zh_CN": "精简 XCI", + "zh_TW": "修剪 XCI" + } + }, + { + "ID": "StatusBar_Trimming", + "Translations": { + "ar_SA": "جاري تقليم: {0}", + "de_DE": "Schneide: {0}", + "el_GR": "Κόβει το: {0}", + "en_US": "Trimming: {0}", + "es_ES": "Recortando: {0}", + "fr_FR": "Réduction de: {0}", + "he_IL": "חיתוך: {0}", + "it_IT": "Riduzione di: {0}", + "ja_JP": "{0} をトリミング中:", + "ko_KR": "{0} 트리밍:", + "no_NO": "Trimming av: {0}", + "pl_PL": "Przycinanie: {0}", + "pt_BR": "Reduzindo: {0}", + "ru_RU": "Обрезка: {0}", + "sv_SE": "Trimmar: {0}", + "th_TH": "กำลังตัด: {0}", + "tr_TR": "{0} Kısaltılıyor:", + "uk_UA": "Обрізка: {0}", + "zh_CN": "正在修剪: {0}", + "zh_TW": "正在修剪: {0}" + } + }, + { + "ID": "TitleStatus_PartialLabel", + "Translations": { + "ar_SA": "جزئي", + "de_DE": "Teilweise", + "el_GR": "Μερικό", + "en_US": "Partial", + "es_ES": "Parcial", + "fr_FR": "Partiel", + "he_IL": "חלקי", + "it_IT": "Parziale", + "ja_JP": "部分的", + "ko_KR": "일부", + "no_NO": "Delvis", + "pl_PL": "Częściowy", + "pt_BR": "Parcial", + "ru_RU": "Частично", + "sv_SE": "Delvis", + "th_TH": "ยังไม่สมบูรณ์", + "tr_TR": "Kısmi", + "uk_UA": "Часткові", + "zh_CN": "分区", + "zh_TW": "部分" + } + }, + { + "ID": "TitleStatus_TrimmableLabel", + "Translations": { + "ar_SA": "غير مُقَصَّص", + "de_DE": "Ungetrimmt", + "el_GR": "Ακέραιο", + "en_US": "Untrimmed", + "es_ES": "Sin Recortar", + "fr_FR": "Non Réduit", + "he_IL": "לא מקוצץ", + "it_IT": "Non Rifilato", + "ja_JP": "未トリミング", + "ko_KR": "트리밍되지 않음", + "no_NO": "Ikke trimmet", + "pl_PL": "Nieprzycięty", + "pt_BR": "Não Reduzido", + "ru_RU": "Не обрезан", + "sv_SE": "Oklippt", + "th_TH": "ยังไม่ตัดแต่ง", + "tr_TR": "Kesilmemiş", + "uk_UA": "Не обрізані", + "zh_CN": "未修剪", + "zh_TW": "未修剪" + } + }, + { + "ID": "TitleStatus_UntrimmableLabel", + "Translations": { + "ar_SA": "مقصوص", + "de_DE": "Getrimmt", + "el_GR": "Κομμένο", + "en_US": "Trimmed", + "es_ES": "Recortado", + "fr_FR": "Réduit", + "he_IL": "מקוצץ", + "it_IT": "Rifilato", + "ja_JP": "トリミング済み", + "ko_KR": "트리밍됨", + "no_NO": "Trimmet", + "pl_PL": "Przycięty", + "pt_BR": "Reduzido", + "ru_RU": "Обрезан", + "sv_SE": "Optimerad", + "th_TH": "ตัดแต่งแล้ว", + "tr_TR": "Kesilmiş", + "uk_UA": "Обрізані", + "zh_CN": "经过瘦身的", + "zh_TW": "已修剪" + } + }, + { + "ID": "TitleStatus_FailedLabel", + "Translations": { + "ar_SA": "(فشل)", + "de_DE": "(Fehlgeschlagen)", + "el_GR": "(Απέτυχε)", + "en_US": "(Failed)", + "es_ES": "(Fallido)", + "fr_FR": "(Échoué)", + "he_IL": "(נכשל)", + "it_IT": "(Fallito)", + "ja_JP": "(失敗)", + "ko_KR": "(실패)", + "no_NO": "(Mislyktes)", + "pl_PL": "(Niepowodzenie)", + "pt_BR": "(Falhou)", + "ru_RU": "(Ошибка)", + "sv_SE": "(Misslyckades)", + "th_TH": "(ล้มเหลว)", + "tr_TR": "(Başarısız)", + "uk_UA": "(Невдача)", + "zh_CN": "(失败)", + "zh_TW": "(失敗)" + } + }, + { + "ID": "Title_CanSaveLabel", + "Translations": { + "ar_SA": "حفظ {0} ميغابايت", + "de_DE": "Speichern {0} MB", + "el_GR": "Αποθήκευση {0} MB", + "en_US": "Save {0} MB", + "es_ES": "Ahorra {0} MB", + "fr_FR": "Économisez {0} Mo", + "he_IL": "שמור {0} מגה-בייט", + "it_IT": "Risparmia {0} MB", + "ja_JP": "{0}MBを保存", + "ko_KR": "{0}MB 저장", + "no_NO": "Spare {0} MB", + "pl_PL": "Zapisz {0} MB", + "pt_BR": "Salvar {0} MB", + "ru_RU": "Освободить {0} Мб", + "sv_SE": "Spara {0} MB", + "th_TH": "บันทึก {0} เมกะไบต์", + "tr_TR": "Kaydet {0} MB", + "uk_UA": "Зберегти {0} Мб", + "zh_CN": "能节约 {0} MB", + "zh_TW": "可節省 {0} MB" + } + }, + { + "ID": "Title_SavingLabel", + "Translations": { + "ar_SA": "تم حفظ {0} ميغابايت", + "de_DE": "Gespeichert {0} MB", + "el_GR": "Αποθηκεύτηκαν {0} MB", + "en_US": "Saved {0} MB", + "es_ES": "{0} MB Ahorrado(s)", + "fr_FR": "{0} Mo Économisés", + "he_IL": "נשמרו {0} מגה-בייט", + "it_IT": "Risparmiati {0} MB", + "ja_JP": "{0}MBが保存されました", + "ko_KR": "{0}MB 저장됨", + "no_NO": "Spart {0} Mb", + "pl_PL": "Zapisano {0} MB", + "pt_BR": "Salvo {0} Mb", + "ru_RU": "Освобождено {0} Мб", + "sv_SE": "Sparade {0} Mb", + "th_TH": "บันทึกแล้ว {0} เมกะไบต์", + "tr_TR": "Kaydedildi {0} MB", + "uk_UA": "Збережено {0} Мб", + "zh_CN": "节约了 {0} MB", + "zh_TW": "已節省 {0} MB" + } + }, + { + "ID": "TrimFileDialog_PrimaryText", + "Translations": { + "ar_SA": "يقوم بتقليص المساحة غير المستخدمة في XCI لتوفير مساحة القرص.", + "de_DE": "Trimmt ungenutzten Speicherplatz in der XCI, um Speicherplatz zu sparen.", + "el_GR": "Περικόπτει τον μη χρησιμοποιούμενο χώρο στο XCI για εξοικονόμηση χώρου στον δίσκο.", + "en_US": "Trims unused space in the XCI to save disk space.", + "es_ES": "Recorta el espacio no utilizado en el XCI para ahorrar espacio en disco.", + "fr_FR": "Supprime l’espace inutilisé dans le XCI afin d’économiser de l’espace disque.", + "he_IL": "מקצץ שטח לא בשימוש ב-XCI כדי לחסוך מקום בדיסק.", + "it_IT": "Rimuove lo spazio inutilizzato nell'XCI per risparmiare spazio su disco.", + "ja_JP": "XCI内の未使用領域をトリムしてディスク容量を節約します。", + "ko_KR": "XCI의 사용되지 않는 공간을 트리밍하여 디스크 공간을 절약합니다.", + "no_NO": "Fjerner ubrukt plass i XCI for å spare diskplass.", + "pl_PL": "Przycina nieużywane miejsce w XCI, aby zaoszczędzić miejsce na dysku.", + "pt_BR": "Remove o espaço não utilizado no XCI para economizar espaço em disco.", + "ru_RU": "Обрезает неиспользуемое пространство в XCI для экономии места на диске.", + "sv_SE": "Trimmar oanvänt utrymme i XCI för att spara diskutrymme.", + "th_TH": "ตัดแต่งพื้นที่ที่ไม่ได้ใช้งานใน XCI เพื่อประหยัดพื้นที่ดิสก์", + "tr_TR": "Disk alanından tasarruf etmek için XCI'deki kullanılmayan alanı kırpar.", + "uk_UA": "Обрізає невикористаний простір у XCI для економії місця на диску.", + "zh_CN": "修剪 XCI 中的未使用空间以节省磁盘空间。", + "zh_TW": "修剪 XCI 中的未使用空間以節省磁碟空間。" + } + }, + { + "ID": "TrimFileDialog_SecondaryText", + "Translations": { + "ar_SA": "حجم الملف: {0:n} ميجابايت\nحجم اللعبة: {1:n} ميجابايت\nالتوفير: {2:n} ميجابايت", + "de_DE": "Dateigröße: {0:n} MB\nSpielgröße: {1:n} MB\nErsparnis: {2:n} MB", + "el_GR": "Μέγεθος αρχείου: {0:n} MB\nΜέγεθος παιχνιδιού: {1:n} MB\nΕξοικονόμηση: {2:n} MB", + "en_US": "File Size: {0:n} MB\nGame Size: {1:n} MB\nSavings: {2:n} MB", + "es_ES": "Tamaño de archivo: {0:n} MB\nTamaño del juego: {1:n} MB\nAhorro: {2:n} MB", + "fr_FR": "Taille du fichier: {0:n} Mo\nTaille du jeu: {1:n} Mo\nÉconomies: {2:n} Mo", + "he_IL": "גודל הקובץ: {0:n} MB\nגודל המשחק: {1:n} MB\nחיסכון: {2:n} MB", + "it_IT": "Dimensione file: {0:n} MB\nDimensione del gioco: {1:n} MB\nRisparmio: {2:n} MB", + "ja_JP": "ファイルサイズ: {0:n} MB\nゲームサイズ: {1:n} MB\n節約: {2:n} MB", + "ko_KR": "파일 크기: {0:n} MB\n게임 크기: {1:n} MB\n절약: {2:n} MB", + "no_NO": "Filstørrelse: {0:n} MB\nSpillstørrelse: {1:n} MB\nBesparelse: {2:n} MB", + "pl_PL": "Rozmiar pliku: {0:n} MB\nRozmiar gry: {1:n} MB\nOszczędności: {2:n} MB", + "pt_BR": "Tamanho do arquivo: {0:n} MB\nTamanho do jogo: {1:n} MB\nEconomia: {2:n} MB", + "ru_RU": "Размер файла: {0:n} Мб\nРазмер игры: {1:n} MB\nЭкономия: {2:n} Мб", + "sv_SE": "Filstorlek: {0:n} MB\nSpelstorlek: {1:n} MB\nSparat: {2:n} MB", + "th_TH": "ขนาดไฟล์: {0:n} MB\nขนาดเกม: {1:n} MB\nการประหยัด: {2:n} MB", + "tr_TR": "Dosya Boyutu: {0:n} MB\nOyun Boyutu: {1:n} MB\nTasarruf: {2:n} MB", + "uk_UA": "Розмір файлу: {0:n} Мб\nРозмір гри: {1:n} MB\nЕкономія: {2:n} Мб", + "zh_CN": "文件大小: {0:n} MB\n游戏大小: {1:n} MB\n节省: {2:n} MB", + "zh_TW": "檔案大小: {0:n} MB\n遊戲大小: {1:n} MB\n節省: {2:n} MB" + } + }, + { + "ID": "TrimFile_NoTrimNecessary", + "Translations": { + "ar_SA": "لا حاجة لتقليص XCI. تحقق من السجلات للتفاصيل.", + "de_DE": "XCI muss nicht beschnitten werden. Überprüfen Sie die Logs für Details.", + "el_GR": "Το XCI δεν χρειάζεται να μειωθεί. Ελέγξτε τα αρχεία καταγραφής για λεπτομέρειες.", + "en_US": "XCI does not require trimming. Check logs for details.", + "es_ES": "El XCI no necesita ser recortado. Verifica los logs para detalles.", + "fr_FR": "Le XCI n’a pas besoin d’être réduit. Référez-vous aux journaux pour détails.", + "he_IL": "XCI לא צריך להיות מקוצץ. עיין ביומנים לפרטים.", + "it_IT": "Non è necessario ridurre la dimensione del XCI. Controlla i log per dettagli.", + "ja_JP": "XCIはトリミングする必要はありません。詳細についてはログを確認してください。", + "ko_KR": "XCI는 트리밍할 필요가 없습니다. 자세한 내용은 로그를 확인.", + "no_NO": "XCI trenger ikke å trimmes. Sjekk loggene for detaljer.", + "pl_PL": "XCI nie wymaga przycinania. Sprawdź dzienniki, aby uzyskać szczegóły.", + "pt_BR": "O XCI não precisa ser reduzido. Verifique os logs para detalhes.", + "ru_RU": "XCI не требует обрезки. Проверьте логи для подробностей.", + "sv_SE": "XCI behöver inte optimeras. Kontrollera loggen för detaljer.", + "th_TH": "XCI ไม่จำเป็นต้องถูกตัดแต่ง โปรดตรวจสอบบันทึกสำหรับรายละเอียด", + "tr_TR": "XCI kırpılmasına gerek yok. Ayrıntılar için günlükleri kontrol edin.", + "uk_UA": "XCI не потребує обрізання. Перевірте журнали для отримання деталей.", + "zh_CN": "XCI 不需要被瘦身。查看日志以获得更多细节。", + "zh_TW": "XCI 不需要修剪。檢查日誌以取得更多資訊。" + } + }, + { + "ID": "TrimFile_NoUntrimPossible", + "Translations": { + "ar_SA": "لا يمكن إعادة التعديل على XCI. تحقق من السجلات للتفاصيل.", + "de_DE": "XCI kann nicht wiederhergestellt werden. Überprüfen Sie die Logs für Details.", + "el_GR": "Το XCI δεν μπορεί να επαναφερθεί. Ελέγξτε τα αρχεία καταγραφής για λεπτομέρειες.", + "en_US": "XCI cannot be untrimmed. Check logs for details.", + "es_ES": "El recorte del XCI no puede ser deshecho. Verifica los registros para detalles.", + "fr_FR": "Le XCI ne peut être restauré. Référez-vous aux journaux pour détails.", + "he_IL": "לא ניתן להחזיר את XCI לגרסתו המקורית. עיין ביומנים לפרטים.", + "it_IT": "XCI non può essere ripristinato. Controlla i log per dettagli.", + "ja_JP": "XCIは元に戻せません。詳細はログを確認してください。", + "ko_KR": "XCI는 복원할 수 없습니다. 자세한 내용은 로그를 확인.", + "no_NO": "XCI kan ikke gjenopprettes. Sjekk loggene for detaljer.", + "pl_PL": "XCI nie może zostać przywrócone. Sprawdź dzienniki, aby uzyskać szczegóły.", + "pt_BR": "XCI não pode ser desfeito. Verifique os logs para detalhes.", + "ru_RU": "XCI не может быть восстановлен. Проверьте журналы для подробностей.", + "sv_SE": "XCI kan inte återställas. Kontrollera loggen för detaljer.", + "th_TH": "ไม่สามารถคืนค่า XCI ได้ โปรดตรวจสอบบันทึกสำหรับรายละเอียด", + "tr_TR": "XCI geri alınamaz. Ayrıntılar için günlükleri kontrol edin.", + "uk_UA": "XCI не можна відновити. Перевірте журнали для деталей.", + "zh_CN": "XCI 不能恢复。查看日志以获取详情。", + "zh_TW": "XCI 無法恢復。檢查日誌以取得詳情。" + } + }, + { + "ID": "TrimFile_ReadOnlyFileCannotFix", + "Translations": { + "ar_SA": "XCI للقراءة فقط ولا يمكن جعله قابلًا للكتابة. تحقق من السجلات للتفاصيل.", + "de_DE": "XCI ist schreibgeschützt und konnte nicht beschreibbar gemacht werden. Überprüfen Sie die Logs für Details.", + "el_GR": "Το XCI είναι μόνο για ανάγνωση και δεν γίνεται γράψιμο. Ελέγξτε τα logs για λεπτομέρειες.", + "en_US": "XCI is Read Only and could not be made writable. Check logs for details.", + "es_ES": "XCI es solo lectura y no se puede escribir. Verifica los registros para detalles.", + "fr_FR": "XCI en Lecture Seule et n'a pas pu être rendu écrivable. Référez-vous aux journaux pour détails.", + "he_IL": "XCI רק לקריאה ולא ניתן להפוך אותו לניתן לכתיבה. בדוק את היומנים לפרטים.", + "it_IT": "XCI è solo lettura e non può essere scritto. Controlla i log per dettagli.", + "ja_JP": "XCIは読み取り専用で書き込み不可。ログを確認してください。", + "ko_KR": "XCI 파일은 읽기 전용이며 쓰기 불가. 로그를 확인하십시오.", + "no_NO": "XCI er skrivebeskyttet og kunne ikke gjøres skrivbar. Sjekk loggene for detaljer.", + "pl_PL": "XCI jest tylko do odczytu i nie można zapisać. Sprawdź logi dla szczegółów.", + "pt_BR": "XCI é somente leitura e não pode ser gravado. Verifique os logs para detalhes.", + "ru_RU": "XCI только для чтения, не стал доступен для записи. Проверьте журналы для подробностей.", + "sv_SE": "XCI är skrivskyddad och kunde inte göras skrivbar. Kontrollera loggen för detaljer.", + "th_TH": "XCI เป็นอ่านอย่างเดียวและไม่สามารถเขียนได้ ตรวจสอบบันทึกสำหรับรายละเอียด", + "tr_TR": "XCI sadece okunabilir, yazılamaz. Günlükleri kontrol edin için detaylar.", + "uk_UA": "XCI тільки для читання і не можна записати. Перевірте логи для деталей.", + "zh_CN": "XCI 只读,无法写入。查看日志以获取详情。", + "zh_TW": "XCI 檔案唯讀,無法寫入。檢查日誌以取得詳情。" + } + }, + { + "ID": "TrimFile_FileSizeChanged", + "Translations": { + "ar_SA": "تم تغيير حجم XCI منذ مسحه ضوئيًا. تأكد من أن الملف غير قيد الكتابة وحاول مرة أخرى.", + "de_DE": "Die Größe von XCI hat sich seit dem Scannen geändert. Stellen Sie sicher, dass die Datei nicht beschrieben wird, und versuchen Sie es erneut.", + "el_GR": "Το μέγεθος του XCI έχει αλλάξει από τότε που σκανάρεται. Ελέγξτε ότι το αρχείο δεν γράφεται και προσπαθήστε ξανά.", + "en_US": "XCI size changed since last scan. Ensure the file is not being written to and try again.", + "es_ES": "El tamaño de XCI ha cambiado desde que fue escaneado. Verifica que no se esté escribiendo al archivo y vuelve a intentarlo.", + "fr_FR": "La taille de XCI a changé depuis son analyse. Vérifiez que le fichier n’est pas en cours d’écriture, puis réessayez.", + "he_IL": "גודל ה-XCI השתנה מאז סריקתו. ודא שהקובץ לא נכתב ונסה שוב.", + "it_IT": "La dimensione di XCI è cambiata da quando è stato scansionato. Controlla che il file non sia scritto e riprova.", + "ja_JP": "XCIのサイズがスキャン後に変更されました。ファイルが書き込まれていないことを確認し、再試行してください。", + "ko_KR": "XCI 크기가 스캔 후 변경되었습니다. 파일이 쓰여지고 있지 않은지 확인하고 다시 시도하세요.", + "no_NO": "XCI har endret størrelse siden den ble skannet. Kontroller at det ikke skrives til filen, og prøv på nytt.", + "pl_PL": "Rozmiar XCI zmienił się od momentu zeskanowania. Sprawdź, czy plik nie jest zapisywany, a następnie spróbuj ponownie.", + "pt_BR": "O tamanho de XCI mudou desde que foi escaneado. Verifique se o arquivo não está sendo gravado e tente novamente.", + "ru_RU": "Размер XCI изменился после сканирования. Проверьте, не записывается ли файл, и попробуйте снова.", + "sv_SE": "XCI har ändrats i storlek sedan den lästes av. Kontrollera att filen inte skrivs till och försök igen.", + "th_TH": "ขนาด XCI เปลี่ยนไปตั้งแต่การสแกนครั้งล่าสุด ตรวจสอบว่าไฟล์ไม่ได้ถูกเขียน และลองใหม่", + "tr_TR": "XCI dosyasının boyutu tarandıktan sonra değişti. Dosyaya yazılmadığından emin olun ve tekrar deneyin.", + "uk_UA": "Розмір XCI змінився з моменту сканування. Перевірте, чи не записується файл, та спробуйте знову.", + "zh_CN": "XCI 在扫描后大小发生了变化。请检查文件是否未被写入,然后重试。", + "zh_TW": "XCI 檔案大小自上次掃描以來已經改變。請檢查檔案是否未被寫入,然後再嘗試。" + } + }, + { + "ID": "TrimFile_FreeSpaceCheckFailed", + "Translations": { + "ar_SA": "XCI يحتوي على بيانات في المساحة الحرة. لا يعد من الآمن تقليصه.", + "de_DE": "XCI enthält Daten im freien Speicherbereich. Es ist nicht sicher, sie zu trimmen.", + "el_GR": "Το XCI περιέχει δεδομένα στην περιοχή ελεύθερου χώρου. Δεν είναι ασφαλές να το μειώσετε.", + "en_US": "XCI has data in the free space area. It is not safe to trim.", + "es_ES": "XCI tiene datos en el área de espacio libre. No es seguro recortarlo.", + "fr_FR": "XCI contient des données dans la zone d'espace libre. Il n'est pas sûr de le réduire.", + "he_IL": "XCI מכיל נתונים באזור של שטח פנוי. לא בטוח לגזור אותו.", + "it_IT": "XCI contiene dati nell'area di spazio libero. Non è sicuro ridurre la sua dimensione.", + "ja_JP": "XCIファイルには空き領域にデータが含まれているため、トリミングするのは安全ではありません。", + "ko_KR": "XCI 파일에 여유 공간 영역에 데이터가 있으므로 트리밍하는 것이 안전하지 않습니다.", + "no_NO": "XCI har data i den ledige plassen. Det er ikke trygt å trimme den.", + "pl_PL": "XCI zawiera dane w obszarze wolnego miejsca. Nie jest bezpieczne go przycinać.", + "pt_BR": "XCI tem dados na área de espaço livre. Não é seguro reduzi-lo.", + "ru_RU": "XCI содержит данные в свободной области. Его обрезка небезопасна.", + "sv_SE": "XCI har data i det lediga utrymmet. Det är inte säkert att optimera.", + "th_TH": "XCI มีข้อมูลในพื้นที่ว่าง จึงไม่ปลอดภัยที่จะทำการตัดแต่ง", + "tr_TR": "XCI dosyasının boş alanında veriler var. Bu yüzden kesilmesi güvenli değildir.", + "uk_UA": "XCI містить дані в зоні вільного простору. Тому обрізка небезпечна.", + "zh_CN": "XCI 文件的空闲区域内有数据。不能安全瘦身。", + "zh_TW": "XCI 檔案有數據儲存於空閒區域。修剪不安全。" + } + }, + { + "ID": "TrimFile_InvalidXCIFile", + "Translations": { + "ar_SA": "XCI يحتوي على بيانات غير صالحة. تحقق من السجلات للتفاصيل.", + "de_DE": "XCI enthält ungültige Daten. Überprüfen Sie die Protokolle für Details.", + "el_GR": "Το XCI περιέχει μη έγκυρα δεδομένα. Ελέγξτε τα αρχεία καταγραφής για λεπτομέρειες.", + "en_US": "XCI contains invalid data. Check logs for details.", + "es_ES": "XCI contiene datos inválidos. Lee el registro para detalles.", + "fr_FR": "XCI contient des données invalides. Référez-vous aux journaux pour détails.", + "he_IL": "XCI מכיל נתונים לא חוקיים. בדוק את היומנים לפרטים.", + "it_IT": "XCI contiene dati non validi. Controlla i log per dettagli.", + "ja_JP": "XCIファイルに無効なデータが含まれています。ログを確認してください。", + "ko_KR": "XCI 파일에 유효하지 않은 데이터가 포함되어 있습니다. 로그를 확인하세요.", + "no_NO": "XCI-filen inneholder ugyldige data. Sjekk loggene for detaljer.", + "pl_PL": "XCI zawiera nieprawidłowe dane. Sprawdź dzienniki, aby uzyskać szczegóły.", + "pt_BR": "XCI contém dados inválidos. Verifique os logs para detalhes.", + "ru_RU": "XCI содержит недопустимые данные. Проверьте журналы для подробностей.", + "sv_SE": "XCI-filen innehåller ogiltig data. Kontrollera loggen för detaljer.", + "th_TH": "XCI มีข้อมูลที่ไม่ถูกต้อง โปรดตรวจสอบบันทึกสำหรับรายละเอียด", + "tr_TR": "XCI dosyası geçersiz veriler içeriyor. Günlükleri kontrol edin.", + "uk_UA": "XCI містить недійсні дані. Перевірте журнали для деталей.", + "zh_CN": "XCI 文件含有无效数据。查看日志以获得更多细节。", + "zh_TW": "XCI 檔案帶有無效的數據。檢查日誌以取得更多資訊" + } + }, + { + "ID": "TrimFile_FileIOWriteError", + "Translations": { + "ar_SA": "لا يمكن فتح XCI للكتابة. تحقق من السجلات للتفاصيل.", + "de_DE": "XCI konnte nicht zum Schreiben geöffnet werden. Überprüfen Sie die Protokolle für Details.", + "el_GR": "Το XCI δεν μπόρεσε να ανοιχτεί για εγγραφή. Ελέγξτε τα αρχεία καταγραφής για λεπτομέρειες.", + "en_US": "XCI could not be opened for writing. Check logs for details.", + "es_ES": "XCI no se puede abrir para escribir. Lee el registro para detalles.", + "fr_FR": "XCI n'a pas pu être ouvert pour écriture. Consultez les journaux pour détails.", + "he_IL": "לא ניתן לפתוח XCI לכתיבה. בדוק את היומנים לפרטים.", + "it_IT": "XCI non può essere aperto in scrittura. Controlla i log per dettagli.", + "ja_JP": "XCIは書き込み用に開けませんでした。ログを確認してください。", + "ko_KR": "XCI를 쓰기 위해 열 수 없습니다. 로그를 확인하세요.", + "no_NO": "XCI kunne ikke åpnes for skriving. Sjekk loggene for detaljer.", + "pl_PL": "Nie można otworzyć XCI do zapisu. Sprawdź dzienniki, aby uzyskać szczegóły.", + "pt_BR": "XCI não pôde ser aberto para gravação. Verifique os logs para detalhes.", + "ru_RU": "Не удалось открыть XCI для записи. Проверьте журналы для подробностей.", + "sv_SE": "XCI kunde inte öppnas för skrivning. Kontrollera loggen för detaljer.", + "th_TH": "ไม่สามารถเปิด XCI เพื่อเขียนข้อมูลได้ โปรดตรวจสอบบันทึกสำหรับรายละเอียด", + "tr_TR": "XCI yazma için açılamadı. Günlükleri kontrol edin.", + "uk_UA": "Не вдалося відкрити XCI для запису. Перевірте журнали для деталей.", + "zh_CN": "XCI 不能写入。查看日志以获得更多细节。", + "zh_TW": "XCI 無法開啟以進行寫入。請檢查日誌以取得更多資訊。" + } + }, + { + "ID": "TrimFile_FailedPrimaryText", + "Translations": { + "ar_SA": "فشل في تقليم XCI", + "de_DE": "Trimming der XCI fehlgeschlagen", + "el_GR": "Η περικοπή του XCI απέτυχε", + "en_US": "Failed to trim XCI", + "es_ES": "El recorte del XCI falló", + "fr_FR": "Réduction du XCI a échoué", + "he_IL": "נכשל בניסיונות לקצץ את XCI", + "it_IT": "Riduzione del XCI fallita", + "ja_JP": "XCIのトリミングに失敗しました", + "ko_KR": "XCI 트리밍에 실패", + "no_NO": "Trimming av XCI mislyktes", + "pl_PL": "Nie udało się przyciąć XCI", + "pt_BR": "A redução do XCI falhou", + "ru_RU": "Обрезка XCI не удалась", + "sv_SE": "Optimering av XCI misslyckades", + "th_TH": "การตัดแต่ง XCI ล้มเหลว", + "tr_TR": "XCI kesme başarısız", + "uk_UA": "Не вдалося обрізати XCI", + "zh_CN": "XCI 瘦身失败", + "zh_TW": "修剪 XCI 失敗" + } + }, + { + "ID": "TrimFile_Cancelled", + "Translations": { + "ar_SA": "تم إلغاء العملية", + "de_DE": "Der Vorgang wurde abgebrochen", + "el_GR": "Η λειτουργία ακυρώθηκε", + "en_US": "The operation was cancelled", + "es_ES": "La operación fue cancelada", + "fr_FR": "L'opération a été annulée", + "he_IL": "הפעולה בוטלה", + "it_IT": "L'operazione è stata annullata", + "ja_JP": "操作がキャンセルされました", + "ko_KR": "작업이 취소됨", + "no_NO": "Operasjonen ble avlyst", + "pl_PL": "Operacja została anulowana", + "pt_BR": "A operação foi cancelada", + "ru_RU": "Операция была отменена", + "sv_SE": "Åtgärden avbröts", + "th_TH": "การดำเนินการถูกยกเลิกแล้ว", + "tr_TR": "İşlem iptal edildi", + "uk_UA": "Операція перервана", + "zh_CN": "操作已取消", + "zh_TW": "操作已取消" + } + }, + { + "ID": "TrimFile_FileUndertermined", + "Translations": { + "ar_SA": "لم يتم إجراء أي عملية", + "de_DE": "Es wurde keine Operation durchgeführt", + "el_GR": "Καμία ενέργεια δεν εκτελέστηκε", + "en_US": "No operation was performed", + "es_ES": "No se realizó ninguna operación", + "fr_FR": "Aucune opération n'a été effectuée", + "he_IL": "לא בוצעה שום פעולה", + "it_IT": "Non è stata effettuata alcuna operazione", + "ja_JP": "操作は実行されませんでした", + "ko_KR": "작업이 수행되지 않음", + "no_NO": "Ingen operasjon ble utført", + "pl_PL": "Nie wykonano żadnej operacji", + "pt_BR": "Nenhuma operação foi realizada", + "ru_RU": "Операция не была выполнена", + "sv_SE": "Ingen åtgärd genomfördes", + "th_TH": "ไม่มีการดำเนินการใด ๆ ที่ถูกทำขึ้น", + "tr_TR": "Hiçbir işlem yapılmadı", + "uk_UA": "Операція не була виконана", + "zh_CN": "未执行操作", + "zh_TW": "未執行任何操作" + } + }, + { + "ID": "TitleStatusCount", + "Translations": { + "ar_SA": "العناوين المحددة: {0}/{1}", + "de_DE": "Titel Ausgewählt: {0}/{1}", + "el_GR": "Τίτλοι Επιλεγμένοι: {0}/{1}", + "en_US": "Titles Selected: {0}/{1}", + "es_ES": "Títulos Seleccionados: {0}/{1}", + "fr_FR": "Fichiers Sélectionnés: {0}/{1}", + "he_IL": "כותרות נבחרות: {0}/{1}", + "it_IT": "Titoli Selezionati: {0}/{1}", + "ja_JP": "タイトル選択済み: {0}/{1}", + "ko_KR": "선택된 타이틀: {0}/{1}", + "no_NO": "Valgte Titler: {0}/{1}", + "pl_PL": "Wybrane Tytuły: {0}/{1}", + "pt_BR": "Títulos Selecionados: {0}/{1}", + "ru_RU": "Файлы Выбраны: {0}/{1}", + "sv_SE": "Markerade Spel: {0}/{1}", + "th_TH": "เลือกหัวข้อ: {0}/{1}", + "tr_TR": "Seçilen Başlıklar: {0}/{1}", + "uk_UA": "Обрані Тайтли: {0}/{1}", + "zh_CN": "已选标题: {0}/{1}", + "zh_TW": "已選擇標題: {0}/{1}" + } + }, + { + "ID": "TitleStatusCount_WithFilter", + "Translations": { + "ar_SA": "{0} من {1} عنوان(عناوين) مُحدد (عرض: {2})", + "de_DE": "{0} von {1} Titel(n) Ausgewählt (Anzeige: {2})", + "el_GR": "{0} από {1} Τίτλο(ους) Επιλεγμένο(οι) (Εμφάνιση: {2})", + "en_US": "{0} of {1} Title(s) Selected (Display: {2})", + "es_ES": "{0} de {1} Título(s) Seleccionado(s) (Mostrar: {2})", + "fr_FR": "{0} sur {1} Fichier(s) Sélectionnés (Affichage: {2})", + "he_IL": "{0} מתוך {1} כותר(ות) נבחר(ו) (הצגה: {2})", + "it_IT": "{0} di {1} titoli selezionati (Visualizza: {2})", + "ja_JP": "{0} / {1} タイトル選択済み (表示: {2})", + "ko_KR": "{1}개 타이틀 중 {0}개 선택됨 (표시: {2})", + "no_NO": "{0} av {1} Tittel(er) valgt (Visning: {2})", + "pl_PL": "{0} z {1} wybranych tytuł(ów) (Wyświetl: {2})", + "pt_BR": "{0} de {1} Título(s) Selecionado(s) (Exibir: {2})", + "ru_RU": "{0} из {1} файл(а/ов) выбран(о) (Отображение: {2})", + "sv_SE": "{0} av {1} spel markerade (Visning: {2})", + "th_TH": "เลือก {0} จาก {1} รายการ (แสดงผล: {2})", + "tr_TR": "{0} / {1} Başlık(lar) Seçildi (Gösterim: {2})", + "uk_UA": "{0} з {1} тайтл(ів) обрано (Відображення: {2})", + "zh_CN": "在 {1} 中选中了 {0} 个游戏 (显示:{2})", + "zh_TW": "已選擇 {1} 之 {0} 的遊戲 (顯示:{2})" + } + }, + { + "ID": "TitleStatus_Trimming", + "Translations": { + "ar_SA": "جارٍ تقليم...", + "de_DE": "Trimme...", + "el_GR": "Κοπή...", + "en_US": "Trimming...", + "es_ES": "Recortando...", + "fr_FR": "Réduction...", + "he_IL": "חותך...", + "it_IT": "Riducendo...", + "ja_JP": "トリミング中...", + "ko_KR": "트리밍 중...", + "no_NO": "Trimming...", + "pl_PL": "Przycinanie...", + "pt_BR": "Reduzindo...", + "ru_RU": "Обрезка...", + "sv_SE": "Optimerar...", + "th_TH": "กำลังตัดแต่ง...", + "tr_TR": "Kesiliyor...", + "uk_UA": "Обрізка...", + "zh_CN": "瘦身中。。。", + "zh_TW": "正在修剪..." + } + }, + { + "ID": "TitleStatus_Untrimming", + "Translations": { + "ar_SA": "جارٍ إلغاء تقليم...", + "de_DE": "Untrimming...", + "el_GR": "Ανακάμψη...", + "en_US": "Untrimming...", + "es_ES": "Restaurando...", + "fr_FR": "Restaurer...", + "he_IL": "משחזר...", + "it_IT": "Restaurando...", + "ja_JP": "トリミング解除中...", + "ko_KR": "트리밍 해제 중...", + "no_NO": "Untrimming...", + "pl_PL": "Przywracanie...", + "pt_BR": "Restaurando redução...", + "ru_RU": "Восстановление...", + "sv_SE": "Återställer...", + "th_TH": "กำลังฟื้นฟู...", + "tr_TR": "Yeniden yapılandırılıyor...", + "uk_UA": "Відновлення...", + "zh_CN": "正在恢复...", + "zh_TW": "正在恢復..." + } + }, + { + "ID": "TitleStatus_Failed", + "Translations": { + "ar_SA": "فشل", + "de_DE": "Fehlgeschlagen", + "el_GR": "Απέτυχε", + "en_US": "Failed", + "es_ES": "Fallido", + "fr_FR": "Échoué", + "he_IL": "נכשל", + "it_IT": "Fallito", + "ja_JP": "失敗", + "ko_KR": "실패", + "no_NO": "Mislyktes", + "pl_PL": "Niepowodzenie", + "pt_BR": "Falhou", + "ru_RU": "Ошибка", + "sv_SE": "Misslyckades", + "th_TH": "ล้มเหลว", + "tr_TR": "Başarısız", + "uk_UA": "Невдача", + "zh_CN": "失败", + "zh_TW": "失敗" + } + }, + { + "ID": "TotalSavings", + "Translations": { + "ar_SA": "توفير المساحة:", + "de_DE": "Platzeinsparung:", + "el_GR": "Εξοικονόμηση Χώρου:", + "en_US": "Space Savings:", + "es_ES": "Ahorro de Espacio:", + "fr_FR": "Économie d’Espace :", + "he_IL": "חיסכון במקום:", + "it_IT": "Risparmio di Spazio:", + "ja_JP": "空き容量の節約:", + "ko_KR": "공간 절약:", + "no_NO": "Plassbesparelse:", + "pl_PL": "Oszczędność miejsca:", + "pt_BR": "Economia de Espaço:", + "ru_RU": "Экономия места:", + "sv_SE": "Utrymmesbesparing:", + "th_TH": "การประหยัดพื้นที่:", + "tr_TR": "Alan Tasarrufu:", + "uk_UA": "Економія місця:", + "zh_CN": "空间节省:", + "zh_TW": "空間節省:" + } + }, + { + "ID": "CanStillSaveMB", + "Translations": { + "ar_SA": "({0} MB المتبقية)", + "de_DE": "({0} MB verbleibend)", + "el_GR": "({0} MB απομένοντα)", + "en_US": "({0} MB Remaining)", + "es_ES": "({0} MB Restantes)", + "fr_FR": "({0} Mo Restants)", + "he_IL": "(נותרו {0} MB)", + "it_IT": "({0} MB rimanenti)", + "ja_JP": "(残り {0} MB)", + "ko_KR": "(남은 {0} MB)", + "no_NO": "({0} MB gjenstående)", + "pl_PL": "({0} MB pozostałe)", + "pt_BR": "({0} MB restantes)", + "ru_RU": "(Осталось {0} Мб)", + "sv_SE": "({0} MB kvar)", + "th_TH": "(เหลือ {0} MB)", + "tr_TR": "({0} MB Kalan)", + "uk_UA": "(Залишилося {0} Мб)", + "zh_CN": "(剩余 {0} MB)", + "zh_TW": "(剩餘 {0} MB)" + } + }, + { + "ID": "SavingsMb", + "Translations": { + "ar_SA": null, + "de_DE": null, + "el_GR": null, + "en_US": "{0} MB", + "es_ES": null, + "fr_FR": "{0} Mo", + "he_IL": null, + "it_IT": "{0} MB", + "ja_JP": null, + "ko_KR": "{0}MB", + "no_NO": null, + "pl_PL": null, + "pt_BR": null, + "ru_RU": "{0} Мб", + "sv_SE": null, + "th_TH": "{0} เมกะไบต์", + "tr_TR": null, + "uk_UA": "{0} Мб", + "zh_CN": null, + "zh_TW": null + } + }, + { + "ID": "SelectAll", + "Translations": { + "ar_SA": "اختر الكل", + "de_DE": "Alles auswählen", + "el_GR": "Επιλογή όλων", + "en_US": "Select All", + "es_ES": "Seleccionar Todo", + "fr_FR": "Sélectionner Tout", + "he_IL": "בחר הכל", + "it_IT": "Seleziona tutto", + "ja_JP": "すべて選択", + "ko_KR": "모두 선택", + "no_NO": "Velg alle", + "pl_PL": "Zaznacz wszystko", + "pt_BR": "Selecionar tudo", + "ru_RU": "Выбрать все", + "sv_SE": "Markera alla", + "th_TH": "เลือกทั้งหมด", + "tr_TR": "Hepsini seç", + "uk_UA": "Вибрати все", + "zh_CN": "选择全部", + "zh_TW": "選擇全部" + } + }, + { + "ID": "DeselectAll", + "Translations": { + "ar_SA": "إلغاء تحديد", + "de_DE": "Abwählen", + "el_GR": "Αποεπιλογή", + "en_US": "Deselect", + "es_ES": "Deseleccionar", + "fr_FR": "Désélectionner", + "he_IL": "בטל בחירה", + "it_IT": "Deseleziona", + "ja_JP": "選択解除", + "ko_KR": "선택 취소", + "no_NO": "Avmarkere", + "pl_PL": "Odznacz", + "pt_BR": "Desmarcar", + "ru_RU": "Отменить выбор", + "sv_SE": "Avmarkera", + "th_TH": "ยกเลิกการเลือก", + "tr_TR": "Kaldır", + "uk_UA": "Скасувати вибір", + "zh_CN": "取消选择", + "zh_TW": "取消選擇" + } + }, + { + "ID": "SortName", + "Translations": { + "ar_SA": "عنوان", + "de_DE": "Titel", + "el_GR": "Τίτλος", + "en_US": "Title", + "es_ES": "Título", + "fr_FR": "Titre", + "he_IL": "כותרת", + "it_IT": "Titolo", + "ja_JP": "タイトル", + "ko_KR": "타이틀", + "no_NO": "Tittel", + "pl_PL": "Tytuł", + "pt_BR": "Título", + "ru_RU": "Название", + "sv_SE": "Titel", + "th_TH": "ชื่อไฟล์", + "tr_TR": "Başlık", + "uk_UA": "Назва", + "zh_CN": "标题", + "zh_TW": "名稱" + } + }, + { + "ID": "SortSaved", + "Translations": { + "ar_SA": "التوفير", + "de_DE": "Einsparungen", + "el_GR": "Εξοικονόμηση", + "en_US": "Savings", + "es_ES": "Ahorros", + "fr_FR": "Économies", + "he_IL": "חיסכון", + "it_IT": "Risparmio", + "ja_JP": "節約", + "ko_KR": "절약", + "no_NO": "Besparelser", + "pl_PL": "Oszczędności", + "pt_BR": "Economia", + "ru_RU": "Экономия", + "sv_SE": "Sparande", + "th_TH": "การประหยัด", + "tr_TR": "Tasarruf", + "uk_UA": "Економія", + "zh_CN": "节省", + "zh_TW": "節省" + } + }, + { + "ID": "Trim", + "Translations": { + "ar_SA": "قص", + "de_DE": "Trimmen", + "el_GR": "Κοπή", + "en_US": "Trim", + "es_ES": "Recortar", + "fr_FR": "Réduire", + "he_IL": "גזירה", + "it_IT": "Ridurre", + "ja_JP": "トリム", + "ko_KR": "트리밍", + "no_NO": "Trim", + "pl_PL": "Przyciąć", + "pt_BR": "Reduzir", + "ru_RU": "Обрезать", + "sv_SE": "Trimma", + "th_TH": "ตัดแต่ง", + "tr_TR": "Kısalt", + "uk_UA": "Обрізати", + "zh_CN": "修剪", + "zh_TW": "修剪" + } + }, + { + "ID": "Untrim", + "Translations": { + "ar_SA": "استعادة", + "de_DE": "Wiederherstellen", + "el_GR": "Επαναφορά", + "en_US": "Untrim", + "es_ES": "Restaurar", + "fr_FR": "Restaurer", + "he_IL": "שחזור", + "it_IT": "Ripristina", + "ja_JP": "復元", + "ko_KR": "복원", + "no_NO": "Gjenopprett", + "pl_PL": "Przywróć", + "pt_BR": "Restaurar", + "ru_RU": "Восстановить", + "sv_SE": "Återställ", + "th_TH": "กู้คืน", + "tr_TR": "Geri Yükle", + "uk_UA": "Відновити", + "zh_CN": "恢复", + "zh_TW": "恢復" + } + } + ] +} diff --git a/src/Ryujinx.HLE/HOS/Applets/AppletManager.cs b/src/Ryujinx.HLE/HOS/Applets/AppletManager.cs index 5bda957bc..618a3efc4 100644 --- a/src/Ryujinx.HLE/HOS/Applets/AppletManager.cs +++ b/src/Ryujinx.HLE/HOS/Applets/AppletManager.cs @@ -26,7 +26,7 @@ namespace Ryujinx.HLE.HOS.Applets case AppletId.LibAppletOff: return new BrowserApplet(); case AppletId.MiiEdit: - Logger.Warning?.Print(LogClass.Application, $"Please use the MiiEdit inside File/Open Applet"); + Logger.Warning?.Print(LogClass.Application, $"Please use the Mii Editor inside Actions/Tools"); return new DummyApplet(system); case AppletId.Cabinet: return new CabinetApplet(system); diff --git a/src/Ryujinx/Systems/AppHost.cs b/src/Ryujinx/Systems/AppHost.cs index 4b1e9cdb5..5e30333c8 100644 --- a/src/Ryujinx/Systems/AppHost.cs +++ b/src/Ryujinx/Systems/AppHost.cs @@ -704,8 +704,8 @@ namespace Ryujinx.Ava.Systems if (userError is UserError.NoFirmware) { UserResult result = await ContentDialogHelper.CreateConfirmationDialog( - LocaleManager.Instance[LocaleKeys.DialogFirmwareNoFirmwareInstalledMessage], - LocaleManager.Instance.UpdateAndGetDynamicValue(LocaleKeys.DialogFirmwareInstallEmbeddedMessage, firmwareVersion.VersionString), + LocaleManager.Instance[LocaleKeys.Firmware_DialogInstall_NoFirmwareInstalledMessage], + LocaleManager.Instance.UpdateAndGetDynamicValue(LocaleKeys.Firmware_DialogInstall_EmbeddedMessage, firmwareVersion.VersionString), LocaleManager.Instance[LocaleKeys.InputDialogYes], LocaleManager.Instance[LocaleKeys.InputDialogNo], string.Empty); @@ -735,8 +735,8 @@ namespace Ryujinx.Ava.Systems _viewModel.RefreshFirmwareStatus(); await ContentDialogHelper.CreateInfoDialog( - LocaleManager.Instance.UpdateAndGetDynamicValue(LocaleKeys.DialogFirmwareInstalledMessage, firmwareVersion.VersionString), - LocaleManager.Instance.UpdateAndGetDynamicValue(LocaleKeys.DialogFirmwareInstallEmbeddedSuccessMessage, firmwareVersion.VersionString), + LocaleManager.Instance.UpdateAndGetDynamicValue(LocaleKeys.Firmware_DialogInstall_InstalledMessage, firmwareVersion.VersionString), + LocaleManager.Instance.UpdateAndGetDynamicValue(LocaleKeys.Firmware_DialogInstall_EmbeddedMessage_Success, firmwareVersion.VersionString), LocaleManager.Instance[LocaleKeys.InputDialogOk], string.Empty, LocaleManager.Instance[LocaleKeys.RyujinxInfo]); diff --git a/src/Ryujinx/UI/Applet/AvaHostUIHandler.cs b/src/Ryujinx/UI/Applet/AvaHostUIHandler.cs index 45235ee3f..82c6485f4 100644 --- a/src/Ryujinx/UI/Applet/AvaHostUIHandler.cs +++ b/src/Ryujinx/UI/Applet/AvaHostUIHandler.cs @@ -187,7 +187,7 @@ namespace Ryujinx.Ava.UI.Applet StringLengthMax = 25 }; (UserResult result, string userInput) = - await SwkbdAppletDialog.ShowInputDialog(LocaleManager.Instance[LocaleKeys.CabinetDialog], args); + await SwkbdAppletDialog.ShowInputDialog(LocaleManager.Instance[LocaleKeys.Amiibo_CabinetDialog], args); if (result == UserResult.Ok) { inputText = userInput; @@ -212,11 +212,11 @@ namespace Ryujinx.Ava.UI.Applet { dialogCloseEvent.Set(); await ContentDialogHelper.CreateInfoDialog( - LocaleManager.Instance[LocaleKeys.CabinetScanDialog], + LocaleManager.Instance[LocaleKeys.Amiibo_CabinetScanDialog], string.Empty, LocaleManager.Instance[LocaleKeys.InputDialogOk], string.Empty, - LocaleManager.Instance[LocaleKeys.CabinetTitle] + LocaleManager.Instance[LocaleKeys.Amiibo_CabinetTitle] ); }); dialogCloseEvent.WaitOne(); diff --git a/src/Ryujinx/UI/Controls/ApplicationContextMenu.axaml b/src/Ryujinx/UI/Controls/ApplicationContextMenu.axaml index 9f2999a4c..a29bc82b2 100755 --- a/src/Ryujinx/UI/Controls/ApplicationContextMenu.axaml +++ b/src/Ryujinx/UI/Controls/ApplicationContextMenu.axaml @@ -103,10 +103,10 @@ + IsVisible="{Binding IsXCIFile}" + Icon="{ext:Icon fa-solid fa-scissors}" /> error switch { - UserError.NoKeys => LocaleManager.Instance[LocaleKeys.UserErrorNoKeys], - UserError.NoFirmware => LocaleManager.Instance[LocaleKeys.UserErrorNoFirmware], - UserError.FirmwareParsingFailed => LocaleManager.Instance[LocaleKeys.UserErrorFirmwareParsingFailed], + UserError.NoKeys => LocaleManager.Instance[LocaleKeys.Keys_UserError_NoKeys], + UserError.NoFirmware => LocaleManager.Instance[LocaleKeys.Firmware_UserError_NoFirmware], + UserError.FirmwareParsingFailed => LocaleManager.Instance[LocaleKeys.Firmware_UserError_FirmwareParsingFailed], UserError.ApplicationNotFound => LocaleManager.Instance[LocaleKeys.UserErrorApplicationNotFound], UserError.Unknown => LocaleManager.Instance[LocaleKeys.UserErrorUnknown], _ => LocaleManager.Instance[LocaleKeys.UserErrorUndefined], @@ -25,9 +25,9 @@ namespace Ryujinx.Ava.UI.Helpers private static string GetErrorDescription(UserError error) => error switch { - UserError.NoKeys => LocaleManager.Instance[LocaleKeys.UserErrorNoKeysDescription], - UserError.NoFirmware => LocaleManager.Instance[LocaleKeys.UserErrorNoFirmwareDescription], - UserError.FirmwareParsingFailed => LocaleManager.Instance[LocaleKeys.UserErrorFirmwareParsingFailedDescription], + UserError.NoKeys => LocaleManager.Instance[LocaleKeys.Keys_UserError_NoKeys_Description], + UserError.NoFirmware => LocaleManager.Instance[LocaleKeys.Firmware_UserError_NoFirmware_Description], + UserError.FirmwareParsingFailed => LocaleManager.Instance[LocaleKeys.Firmware_UserError_FirmwareParsingFailed_Description], UserError.ApplicationNotFound => LocaleManager.Instance[LocaleKeys.UserErrorApplicationNotFoundDescription], UserError.Unknown => LocaleManager.Instance[LocaleKeys.UserErrorUnknownDescription], _ => LocaleManager.Instance[LocaleKeys.UserErrorUndefinedDescription], diff --git a/src/Ryujinx/UI/Helpers/XCITrimmerOperationOutcomeHelper.cs b/src/Ryujinx/UI/Helpers/XCITrimmerOperationOutcomeHelper.cs index d58056469..1d7f387d9 100644 --- a/src/Ryujinx/UI/Helpers/XCITrimmerOperationOutcomeHelper.cs +++ b/src/Ryujinx/UI/Helpers/XCITrimmerOperationOutcomeHelper.cs @@ -9,17 +9,17 @@ namespace Ryujinx.Ava.UI.Helpers { public string LocalizedText => opOutcome switch { - OperationOutcome.NoTrimNecessary => LocaleManager.Instance[LocaleKeys.TrimXCIFileNoTrimNecessary], - OperationOutcome.NoUntrimPossible => LocaleManager.Instance[LocaleKeys.TrimXCIFileNoUntrimPossible], + OperationOutcome.NoTrimNecessary => LocaleManager.Instance[LocaleKeys.XCITrimmer_TrimFile_NoTrimNecessary], + OperationOutcome.NoUntrimPossible => LocaleManager.Instance[LocaleKeys.XCITrimmer_TrimFile_NoUntrimPossible], OperationOutcome.ReadOnlyFileCannotFix => LocaleManager.Instance[ - LocaleKeys.TrimXCIFileReadOnlyFileCannotFix], + LocaleKeys.XCITrimmer_TrimFile_ReadOnlyFileCannotFix], OperationOutcome.FreeSpaceCheckFailed => LocaleManager.Instance[ - LocaleKeys.TrimXCIFileFreeSpaceCheckFailed], - OperationOutcome.InvalidXCIFile => LocaleManager.Instance[LocaleKeys.TrimXCIFileInvalidXCIFile], - OperationOutcome.FileIOWriteError => LocaleManager.Instance[LocaleKeys.TrimXCIFileFileIOWriteError], - OperationOutcome.FileSizeChanged => LocaleManager.Instance[LocaleKeys.TrimXCIFileFileSizeChanged], - OperationOutcome.Cancelled => LocaleManager.Instance[LocaleKeys.TrimXCIFileCancelled], - OperationOutcome.Undetermined => LocaleManager.Instance[LocaleKeys.TrimXCIFileFileUndertermined], + LocaleKeys.XCITrimmer_TrimFile_FreeSpaceCheckFailed], + OperationOutcome.InvalidXCIFile => LocaleManager.Instance[LocaleKeys.XCITrimmer_TrimFile_InvalidXCIFile], + OperationOutcome.FileIOWriteError => LocaleManager.Instance[LocaleKeys.XCITrimmer_TrimFile_FileIOWriteError], + OperationOutcome.FileSizeChanged => LocaleManager.Instance[LocaleKeys.XCITrimmer_TrimFile_FileSizeChanged], + OperationOutcome.Cancelled => LocaleManager.Instance[LocaleKeys.XCITrimmer_TrimFile_Cancelled], + OperationOutcome.Undetermined => LocaleManager.Instance[LocaleKeys.XCITrimmer_TrimFile_FileUndertermined], _ => null }; } diff --git a/src/Ryujinx/UI/ViewModels/AmiiboWindowViewModel.cs b/src/Ryujinx/UI/ViewModels/AmiiboWindowViewModel.cs index 053972c2c..5700d11e1 100644 --- a/src/Ryujinx/UI/ViewModels/AmiiboWindowViewModel.cs +++ b/src/Ryujinx/UI/ViewModels/AmiiboWindowViewModel.cs @@ -317,40 +317,43 @@ namespace Ryujinx.Ava.UI.ViewModels _amiiboSeries.Clear(); _amiibos.Clear(); - for (int i = 0; i < _amiiboList.Count; i++) + foreach (var amiibo in _amiiboList) { - if (!_amiiboSeries.Contains(_amiiboList[i].AmiiboSeries)) + if (!_amiiboSeries.Contains(amiibo.AmiiboSeries)) { if (!ShowAllAmiibo) { - foreach (AmiiboApiGamesSwitch game in _amiiboList[i].GamesSwitch) + bool compatible = amiibo.GamesSwitch.Any(game => game != null && game.GameId.Contains(TitleId)); + if (compatible) { - if (game != null) - { - if (game.GameId.Contains(TitleId)) - { - AmiiboSeries.Add(_amiiboList[i].AmiiboSeries); - - break; - } - } + _amiiboSeries.Add(amiibo.AmiiboSeries); } } else { - AmiiboSeries.Add(_amiiboList[i].AmiiboSeries); + _amiiboSeries.Add(amiibo.AmiiboSeries); } } } - if (LastScannedAmiiboId != string.Empty) - { - SelectLastScannedAmiibo(); - } - else + if (ShowAllAmiibo && _amiiboSeries.Count > 0) { SeriesSelectedIndex = 0; } + else if (LastScannedAmiiboId != string.Empty) + { + SelectLastScannedAmiibo(); + } + else if (_amiiboSeries.Count > 0) + { + SeriesSelectedIndex = 0; + } + else + { + SeriesSelectedIndex = -1; + } + + FilterAmiibo(); } private void SelectLastScannedAmiibo() @@ -360,59 +363,60 @@ namespace Ryujinx.Ava.UI.ViewModels SeriesSelectedIndex = AmiiboSeries.IndexOf(scanned.AmiiboSeries); AmiiboSelectedIndex = AmiiboList.IndexOf(scanned); } - + private void FilterAmiibo() { _amiibos.Clear(); List amiiboSortedList; - // If no series selected, just display all available amiibos if (_seriesSelectedIndex < 0) { amiiboSortedList = _amiiboList .OrderBy(amiibo => amiibo.AmiiboSeries) - .ThenBy(x => x.Name) + .ThenBy(amiibo => amiibo.Name) .ToList(); } else { + string selectedSeries = _amiiboSeries[SeriesSelectedIndex]; + amiiboSortedList = _amiiboList - .Where(amiibo => amiibo.AmiiboSeries == _amiiboSeries[SeriesSelectedIndex]) - .OrderBy(amiibo => amiibo.Name).ToList(); + .Where(amiibo => amiibo.AmiiboSeries == selectedSeries) + .OrderBy(amiibo => amiibo.Name) + .ToList(); } - - - for (int i = 0; i < amiiboSortedList.Count; i++) + foreach (var amiibo in amiiboSortedList) { - if (!_amiibos.Contains(amiiboSortedList[i])) + if (!_showAllAmiibo) { - if (!_showAllAmiibo) - { - foreach (AmiiboApiGamesSwitch game in amiiboSortedList[i].GamesSwitch) - { - if (game != null) - { - if (game.GameId.Contains(TitleId)) - { - _amiibos.Add(amiiboSortedList[i]); + bool compatible = amiibo.GamesSwitch.Any(game => game != null && game.GameId.Contains(TitleId)); - break; - } - } - } - } - else + if (compatible) { - _amiibos.Add(amiiboSortedList[i]); + _amiibos.Add(amiibo); } } + else + { + _amiibos.Add(amiibo); + } } - AmiiboSelectedIndex = 0; - } + int restoredIndex = -1; + for (int i = 0; i < _amiibos.Count; i++) + { + if (_amiibos[i].GetId() == LastScannedAmiiboId) + { + restoredIndex = i; + break; + } + } + AmiiboSelectedIndex = restoredIndex != -1 ? restoredIndex : (_amiibos.Count > 0 ? 0 : -1); + } + private void SetAmiiboDetails() { ResetAmiiboPreview(); @@ -420,44 +424,40 @@ namespace Ryujinx.Ava.UI.ViewModels Usage = string.Empty; if (_amiiboSelectedIndex < 0 || _amiibos.Count < 1) - { return; - } AmiiboApi selected = _amiibos[_amiiboSelectedIndex]; - string imageUrl = _amiiboList.FirstOrDefault(amiibo => amiibo.Equals(selected)).Image; + string imageUrl = selected.Image; StringBuilder usageStringBuilder = new(); + bool writable = false; - for (int i = 0; i < _amiiboList.Count; i++) + foreach (var game in selected.GamesSwitch) { - if (_amiiboList[i].Equals(selected)) + if (game != null && game.GameId.Contains(TitleId)) { - bool writable = false; - - foreach (AmiiboApiGamesSwitch item in _amiiboList[i].GamesSwitch) + foreach (var usageItem in game.AmiiboUsage) { - if (item.GameId.Contains(TitleId)) - { - foreach (AmiiboApiUsage usageItem in item.AmiiboUsage) - { - usageStringBuilder.Append($"{Environment.NewLine}- {usageItem.Usage.Replace("/", Environment.NewLine + "-")}"); + usageStringBuilder.Append($"{Environment.NewLine}- {usageItem.Usage.Replace("/", Environment.NewLine + "-")}"); - writable = usageItem.Write; - } - } + if (usageItem.Write) + writable = true; } - - if (usageStringBuilder.Length == 0) - { - usageStringBuilder.Append($"{LocaleManager.Instance[LocaleKeys.Unknown]}."); - } - - Usage = $"{LocaleManager.Instance[LocaleKeys.Usage]} {(writable ? $" ({LocaleManager.Instance[LocaleKeys.Writable]})" : string.Empty)} : {usageStringBuilder}"; } } + if (usageStringBuilder.Length == 0) + { + usageStringBuilder.Append($"{LocaleManager.Instance[LocaleKeys.Amiibo_Unknown]}."); + } + + Usage = + (writable + ? $"{LocaleManager.Instance[LocaleKeys.Amiibo_UsageWritable]}" + : $"{LocaleManager.Instance[LocaleKeys.Amiibo_Usage]}") + + usageStringBuilder; + _ = UpdateAmiiboPreview(imageUrl); } @@ -510,8 +510,8 @@ namespace Ryujinx.Ava.UI.ViewModels Logger.Error?.Print(LogClass.Application, $"Failed to request amiibo data: {exception}"); } - await ContentDialogHelper.CreateInfoDialog(LocaleManager.Instance[LocaleKeys.DialogAmiiboApiTitle], - LocaleManager.Instance[LocaleKeys.DialogAmiiboApiFailFetchMessage], + await ContentDialogHelper.CreateInfoDialog(LocaleManager.Instance[LocaleKeys.Amiibo_DialogApiTitle], + LocaleManager.Instance[LocaleKeys.Amiibo_DialogApiFailFetchMessage], LocaleManager.Instance[LocaleKeys.InputDialogOk], string.Empty, LocaleManager.Instance[LocaleKeys.RyujinxInfo]); @@ -560,8 +560,8 @@ namespace Ryujinx.Ava.UI.ViewModels private static async Task ShowInfoDialog() { - await ContentDialogHelper.CreateInfoDialog(LocaleManager.Instance[LocaleKeys.DialogAmiiboApiTitle], - LocaleManager.Instance[LocaleKeys.DialogAmiiboApiConnectErrorMessage], + await ContentDialogHelper.CreateInfoDialog(LocaleManager.Instance[LocaleKeys.Amiibo_DialogApiTitle], + LocaleManager.Instance[LocaleKeys.Amiibo_DialogApiConnectErrorMessage], LocaleManager.Instance[LocaleKeys.InputDialogOk], string.Empty, LocaleManager.Instance[LocaleKeys.RyujinxInfo]); diff --git a/src/Ryujinx/UI/ViewModels/MainWindowViewModel.cs b/src/Ryujinx/UI/ViewModels/MainWindowViewModel.cs index 96159a1ea..201add92d 100644 --- a/src/Ryujinx/UI/ViewModels/MainWindowViewModel.cs +++ b/src/Ryujinx/UI/ViewModels/MainWindowViewModel.cs @@ -456,6 +456,8 @@ namespace Ryujinx.Ava.UI.ViewModels } public bool HasCompatibilityEntry => SelectedApplication.HasPlayabilityInfo; + + public bool IsXCIFile => Path.GetExtension(SelectedApplication.Path)?.ToLower() == ".xci"; public bool HasDlc => ApplicationLibrary.HasDlcs(SelectedApplication.Id); @@ -907,25 +909,25 @@ namespace Ryujinx.Ava.UI.ViewModels { await ContentDialogHelper.CreateErrorDialog( LocaleManager.Instance.UpdateAndGetDynamicValue( - LocaleKeys.DialogFirmwareInstallerFirmwareNotFoundErrorMessage, filename)); + LocaleKeys.Firmware_DialogFirmwareInstaller_FirmwareNotFoundErrorMessage, filename)); return; } string dialogTitle = LocaleManager.Instance.UpdateAndGetDynamicValue( - LocaleKeys.DialogFirmwareInstallerFirmwareInstallTitle, firmwareVersion.VersionString); + LocaleKeys.Firmware_DialogFirmwareInstaller_FirmwareInstallTitle, firmwareVersion.VersionString); string dialogMessage = LocaleManager.Instance.UpdateAndGetDynamicValue( - LocaleKeys.DialogFirmwareInstallerFirmwareInstallMessage, firmwareVersion.VersionString); + LocaleKeys.Firmware_DialogFirmwareInstaller_FirmwareInstallMessage, firmwareVersion.VersionString); SystemVersion currentVersion = ContentManager.GetCurrentFirmwareVersion(); if (currentVersion != null) { dialogMessage += LocaleManager.Instance.UpdateAndGetDynamicValue( - LocaleKeys.DialogFirmwareInstallerFirmwareInstallSubMessage, currentVersion.VersionString); + LocaleKeys.Firmware_DialogFirmwareInstaller_FirmwareInstallSubMessage, currentVersion.VersionString); } dialogMessage += - LocaleManager.Instance[LocaleKeys.DialogFirmwareInstallerFirmwareInstallConfirmMessage]; + LocaleManager.Instance[LocaleKeys.Firmware_DialogFirmwareInstaller_FirmwaresInstallConfirmMessage]; UserResult result = await ContentDialogHelper.CreateConfirmationDialog( dialogTitle, @@ -935,7 +937,7 @@ namespace Ryujinx.Ava.UI.ViewModels LocaleManager.Instance[LocaleKeys.RyujinxConfirm]); UpdateWaitWindow waitingDialog = new(dialogTitle, - LocaleManager.Instance[LocaleKeys.DialogFirmwareInstallerFirmwareInstallWaitMessage]); + LocaleManager.Instance[LocaleKeys.Firmware_DialogFirmwareInstaller_FirmwareInstallWaitMessage]); if (result == UserResult.Yes) { @@ -957,7 +959,7 @@ namespace Ryujinx.Ava.UI.ViewModels waitingDialog.Close(); string message = LocaleManager.Instance.UpdateAndGetDynamicValue( - LocaleKeys.DialogFirmwareInstallerFirmwareInstallSuccessMessage, + LocaleKeys.Firmware_DialogFirmwareInstaller_FirmwareInstallSuccessMessage, firmwareVersion.VersionString); await ContentDialogHelper.CreateInfoDialog( @@ -1025,18 +1027,18 @@ namespace Ryujinx.Ava.UI.ViewModels } string dialogTitle = - LocaleManager.Instance.UpdateAndGetDynamicValue(LocaleKeys.DialogKeysInstallerKeysInstallTitle); + LocaleManager.Instance.UpdateAndGetDynamicValue(LocaleKeys.Keys_MenuBarActions_Install); string dialogMessage = - LocaleManager.Instance.UpdateAndGetDynamicValue(LocaleKeys.DialogKeysInstallerKeysInstallMessage); + LocaleManager.Instance.UpdateAndGetDynamicValue(LocaleKeys.Keys_DialogKeysInstaller_KeysInstallMessage); if (ContentManager.AreKeysAlredyPresent(systemDirectory)) { dialogMessage += LocaleManager.Instance.UpdateAndGetDynamicValue(LocaleKeys - .DialogKeysInstallerKeysInstallSubMessage); + .Keys_DialogKeysInstaller_KeysInstallSubMessage); } - dialogMessage += LocaleManager.Instance[LocaleKeys.DialogKeysInstallerKeysInstallConfirmMessage]; + dialogMessage += LocaleManager.Instance[LocaleKeys.Keys_DialogKeysInstaller_InstallConfirmMessage]; UserResult result = await ContentDialogHelper.CreateConfirmationDialog( dialogTitle, @@ -1046,7 +1048,7 @@ namespace Ryujinx.Ava.UI.ViewModels LocaleManager.Instance[LocaleKeys.RyujinxConfirm]); UpdateWaitWindow waitingDialog = new(dialogTitle, - LocaleManager.Instance[LocaleKeys.DialogKeysInstallerKeysInstallWaitMessage]); + LocaleManager.Instance[LocaleKeys.Keys_DialogKeysInstaller_KeysInstallWaitMessage]); if (result == UserResult.Yes) { @@ -1069,7 +1071,7 @@ namespace Ryujinx.Ava.UI.ViewModels string message = LocaleManager.Instance.UpdateAndGetDynamicValue(LocaleKeys - .DialogKeysInstallerKeysInstallSuccessMessage); + .Keys_DialogKeysInstaller_KeysInstallSuccessMessage); await ContentDialogHelper.CreateInfoDialog( dialogTitle, @@ -1091,7 +1093,7 @@ namespace Ryujinx.Ava.UI.ViewModels if (ex is FormatException) { message = LocaleManager.Instance.UpdateAndGetDynamicValue( - LocaleKeys.DialogKeysInstallerKeysNotFoundErrorMessage, filename); + LocaleKeys.Keys_DialogKeysInstaller_KeysNotFoundErrorMessage, filename); } await ContentDialogHelper.CreateErrorDialog(message); @@ -1357,9 +1359,10 @@ namespace Ryujinx.Ava.UI.ViewModels { Optional result = await StorageProvider.OpenSingleFilePickerAsync(new FilePickerOpenOptions { + Title = LocaleManager.Instance[LocaleKeys.Firmware_InstallFromFile_DialogTitle], FileTypeFilter = new List { - new(LocaleManager.Instance[LocaleKeys.FileDialogAllTypes]) + new(LocaleManager.Instance[LocaleKeys.AllSupportedFormats]) { Patterns = ["*.xci", "*.zip"], AppleUniformTypeIdentifiers = ["com.ryujinx.xci", "public.zip-archive"], @@ -1388,7 +1391,10 @@ namespace Ryujinx.Ava.UI.ViewModels public async Task InstallFirmwareFromFolder() { - Optional result = await StorageProvider.OpenSingleFolderPickerAsync(); + Optional result = await StorageProvider.OpenSingleFolderPickerAsync(new FolderPickerOpenOptions + { + Title = LocaleManager.Instance[LocaleKeys.Firmware_InstallFromFolder_DialogTitle] + }); if (result.HasValue) { @@ -1400,6 +1406,7 @@ namespace Ryujinx.Ava.UI.ViewModels { Optional result = await StorageProvider.OpenSingleFilePickerAsync(new FilePickerOpenOptions { + Title = LocaleManager.Instance[LocaleKeys.Keys_InstallFromFile_DialogTitle], FileTypeFilter = new List { new("KEYS") @@ -1419,7 +1426,10 @@ namespace Ryujinx.Ava.UI.ViewModels public async Task InstallKeysFromFolder() { - Optional result = await StorageProvider.OpenSingleFolderPickerAsync(); + Optional result = await StorageProvider.OpenSingleFolderPickerAsync(new FolderPickerOpenOptions + { + Title = LocaleManager.Instance[LocaleKeys.Keys_InstallFromFolder_DialogTitle] + }); if (result.HasValue) { @@ -1773,14 +1783,14 @@ namespace Ryujinx.Ava.UI.ViewModels if (version != null) { - LocaleManager.Instance.UpdateAndGetDynamicValue(LocaleKeys.StatusBarSystemVersion, + LocaleManager.Instance.UpdateAndGetDynamicValue(LocaleKeys.Firmware_StatusBar_Version, version.VersionString); hasApplet = version.Major > 3; } else { - LocaleManager.Instance.UpdateAndGetDynamicValue(LocaleKeys.StatusBarSystemVersion, "NaN"); + LocaleManager.Instance.UpdateAndGetDynamicValue(LocaleKeys.Firmware_StatusBar_Version, "NaN"); } IsAppletMenuActive = hasApplet; @@ -1841,17 +1851,35 @@ namespace Ryujinx.Ava.UI.ViewModels } } - public async Task OpenBinFile() + public async Task OpenCheatManagerForCurrentApp() + { + if (IsGameRunning) + { + string name = AppHost.Device.Processes.ActiveApplication.ApplicationControlProperties.Title[(int)AppHost.Device.System.State.DesiredTitleLanguage].NameString.ToString(); + + await StyleableAppWindow.ShowAsync( + new CheatWindow( + Window.VirtualFileSystem, + AppHost.Device.Processes.ActiveApplication.ProgramIdText, + name, + SelectedApplication.Path) + ); + + AppHost.Device.EnableCheats(); + } + } + + public async Task OpenAmiiboBinFile() { if (AppHost.Device.System.SearchingForAmiibo(out _) && IsGameRunning) { Optional result = await StorageProvider.OpenSingleFilePickerAsync( new FilePickerOpenOptions { - Title = LocaleManager.Instance[LocaleKeys.OpenFileDialogTitle], + Title = LocaleManager.Instance[LocaleKeys.Amiibo_OpenBinFileDialogTitle], FileTypeFilter = new List { - new(LocaleManager.Instance[LocaleKeys.AllSupportedFormats]) + new("BIN") { Patterns = ["*.bin"], } @@ -2015,7 +2043,7 @@ namespace Ryujinx.Ava.UI.ViewModels if (notifyUser != null) { await ContentDialogHelper.CreateWarningDialog( - LocaleManager.Instance[LocaleKeys.TrimXCIFileFailedPrimaryText], + LocaleManager.Instance[LocaleKeys.XCITrimmer_TrimFile_FailedPrimaryText], notifyUser ); } @@ -2041,18 +2069,17 @@ namespace Ryujinx.Ava.UI.ViewModels if (trimmer.CanBeTrimmed) { - double savings = (double)trimmer.DiskSpaceSavingsB / 1024.0 / 1024.0; - double currentFileSize = (double)trimmer.FileSizeB / 1024.0 / 1024.0; - double cartDataSize = (double)trimmer.DataSizeB / 1024.0 / 1024.0; - string secondaryText = LocaleManager.Instance.UpdateAndGetDynamicValue( - LocaleKeys.TrimXCIFileDialogSecondaryText, currentFileSize, cartDataSize, savings); + int savings = (int)Math.Round((double)trimmer.DiskSpaceSavingsB / 1024.0 / 1024.0); + int currentFileSize = (int)Math.Round((double)trimmer.FileSizeB / 1024.0 / 1024.0); + int cartDataSize = (int)Math.Round((double)trimmer.DataSizeB / 1024.0 / 1024.0); + string secondaryText = LocaleManager.Instance.UpdateAndGetDynamicValue(LocaleKeys.XCITrimmer_TrimFileDialog_SecondaryText, currentFileSize.ToString("0"), cartDataSize.ToString("0"), savings.ToString("0")); UserResult result = await ContentDialogHelper.CreateConfirmationDialog( - LocaleManager.Instance[LocaleKeys.TrimXCIFileDialogPrimaryText], + LocaleManager.Instance[LocaleKeys.XCITrimmer_TrimFileDialog_PrimaryText], secondaryText, LocaleManager.Instance[LocaleKeys.Continue], LocaleManager.Instance[LocaleKeys.Cancel], - LocaleManager.Instance[LocaleKeys.GameListContextMenuTrimXCI] + LocaleManager.Instance[LocaleKeys.XCITrimmer_GameListContextMenu_Trim] ); if (result == UserResult.Yes) @@ -2062,8 +2089,8 @@ namespace Ryujinx.Ava.UI.ViewModels Dispatcher.UIThread.Post(() => { StatusBarProgressStatusText = - LocaleManager.Instance.UpdateAndGetDynamicValue(LocaleKeys.StatusBarXCIFileTrimming, - Path.GetFileName(filename)); + LocaleManager.Instance.UpdateAndGetDynamicValue(LocaleKeys.XCITrimmer_StatusBar_Trimming, + Path.GetFileNameWithoutExtension(filename)); StatusBarProgressStatusVisible = true; StatusBarProgressMaximum = 1; StatusBarProgressValue = 0; diff --git a/src/Ryujinx/UI/ViewModels/XciTrimmerViewModel.cs b/src/Ryujinx/UI/ViewModels/XciTrimmerViewModel.cs index 1281cc834..33a2cc23b 100644 --- a/src/Ryujinx/UI/ViewModels/XciTrimmerViewModel.cs +++ b/src/Ryujinx/UI/ViewModels/XciTrimmerViewModel.cs @@ -115,6 +115,7 @@ namespace Ryujinx.Ava.UI.ViewModels nameof(PotentialSavings), nameof(ActualSavings), nameof(CanTrim), + nameof(SavingsDifference), nameof(CanUntrim)); DisplayedChanged(); @@ -312,13 +313,14 @@ namespace Ryujinx.Ava.UI.ViewModels } } - public void SelectDisplayed() + public void SelectAll() { + SelectedXCIFiles.Clear(); SelectedXCIFiles.AddRange(DisplayedXCIFiles); SelectionChanged(); } - public void DeselectDisplayed() + public void DeselectAll() { SelectedXCIFiles.RemoveMany(DisplayedXCIFiles); SelectionChanged(); @@ -426,16 +428,16 @@ namespace Ryujinx.Ava.UI.ViewModels { return _processingMode switch { - ProcessingMode.Trimming => string.Format(LocaleManager.Instance[LocaleKeys.XCITrimmerTitleStatusTrimming], DisplayedXCIFiles.Count), - ProcessingMode.Untrimming => string.Format(LocaleManager.Instance[LocaleKeys.XCITrimmerTitleStatusUntrimming], DisplayedXCIFiles.Count), + ProcessingMode.Trimming => LocaleManager.Instance[LocaleKeys.XCITrimmer_TitleStatus_Trimming], + ProcessingMode.Untrimming => LocaleManager.Instance[LocaleKeys.XCITrimmer_TitleStatus_Untrimming], _ => string.Empty }; } else { return string.IsNullOrEmpty(Search) ? - string.Format(LocaleManager.Instance[LocaleKeys.XCITrimmerTitleStatusCount], SelectedXCIFiles.Count, AllXCIFiles.Count) : - string.Format(LocaleManager.Instance[LocaleKeys.XCITrimmerTitleStatusCountWithFilter], SelectedXCIFiles.Count, AllXCIFiles.Count, DisplayedXCIFiles.Count); + string.Format(LocaleManager.Instance[LocaleKeys.XCITrimmer_TitleStatusCount], SelectedXCIFiles.Count, AllXCIFiles.Count) : + string.Format(LocaleManager.Instance[LocaleKeys.XCITrimmer_TitleStatusCount_WithFilter], SelectedXCIFiles.Count, AllXCIFiles.Count, DisplayedXCIFiles.Count); } } } @@ -466,8 +468,8 @@ namespace Ryujinx.Ava.UI.ViewModels { return SortingField switch { - SortField.Name => LocaleManager.Instance[LocaleKeys.XCITrimmerSortName], - SortField.Saved => LocaleManager.Instance[LocaleKeys.XCITrimmerSortSaved], + SortField.Name => LocaleManager.Instance[LocaleKeys.XCITrimmer_SortName], + SortField.Saved => LocaleManager.Instance[LocaleKeys.XCITrimmer_SortSaved], _ => string.Empty, }; } @@ -517,7 +519,7 @@ namespace Ryujinx.Ava.UI.ViewModels { get { - return string.Format(LocaleManager.Instance[LocaleKeys.XCITrimmerSavingsMb], AllXCIFiles.Sum(xci => xci.PotentialSavingsB / BytesPerMb)); + return string.Format(LocaleManager.Instance[LocaleKeys.XCITrimmer_SavingsMb], AllXCIFiles.Sum(xci => xci.PotentialSavingsB / BytesPerMb)); } } @@ -525,7 +527,19 @@ namespace Ryujinx.Ava.UI.ViewModels { get { - return string.Format(LocaleManager.Instance[LocaleKeys.XCITrimmerSavingsMb], AllXCIFiles.Sum(xci => xci.CurrentSavingsB / BytesPerMb)); + return string.Format(LocaleManager.Instance[LocaleKeys.XCITrimmer_SavingsMb], AllXCIFiles.Sum(xci => xci.CurrentSavingsB / BytesPerMb)); + } + } + + public string SavingsDifference + { + get + { + long potentialSavings = AllXCIFiles.Sum(xci => xci.PotentialSavingsB); + long actualSavings = AllXCIFiles.Sum(xci => xci.CurrentSavingsB); + long differenceMb = (potentialSavings - actualSavings) / BytesPerMb; + + return string.Format(LocaleManager.Instance[LocaleKeys.XCITrimmer_CanStillSaveMB], differenceMb); } } diff --git a/src/Ryujinx/UI/Views/Dialog/AboutView.axaml b/src/Ryujinx/UI/Views/Dialog/AboutView.axaml index 5700de6b9..2624c19e9 100644 --- a/src/Ryujinx/UI/Views/Dialog/AboutView.axaml +++ b/src/Ryujinx/UI/Views/Dialog/AboutView.axaml @@ -105,7 +105,7 @@ FontSize="10" LineHeight="12" PointerPressed="AmiiboLabel_OnPointerPressed" - Text="{ext:Locale AboutAmiiboDisclaimerMessage}" + Text="{ext:Locale Amiibo_AboutDisclaimerMessage}" TextAlignment="Center" TextWrapping="Wrap" /> - + - - - - - - - - - - - - - - + + + + + + + + + + + + Checked="Sort_Checked" + Content="{ext:Locale XCITrimmer_SortName}" + GroupName="Sort" + IsChecked="{Binding IsSortedByName, Mode=OneTime}" + Tag="Name" /> + Checked="Sort_Checked" + Content="{ext:Locale XCITrimmer_SortSaved}" + GroupName="Sort" + IsChecked="{Binding IsSortedBySaved, Mode=OneTime}" + Tag="Saved" /> - - - - + + + + + + + + + - - - - - - + + + + + - - + + + + + - - - - + MaxLines="1" + Text="{Binding ., Converter={x:Static helpers:XCITrimmerFileStatusConverter.Instance}}"> + - + + Text="{ext:Locale XCITrimmer_TitleStatus_Failed}" /> - - > - - + + + + - + - - - - - - - - - - - + + + + + - + @@ -286,7 +260,6 @@ diff --git a/src/Ryujinx/UI/Views/Dialog/XciTrimmerView.axaml.cs b/src/Ryujinx/UI/Views/Dialog/XciTrimmerView.axaml.cs index 8fb8c151c..e873cce0d 100644 --- a/src/Ryujinx/UI/Views/Dialog/XciTrimmerView.axaml.cs +++ b/src/Ryujinx/UI/Views/Dialog/XciTrimmerView.axaml.cs @@ -29,7 +29,7 @@ namespace Ryujinx.Ava.UI.Views.Dialog { ViewModel = new XciTrimmerViewModel(RyujinxApp.MainWindow.ViewModel) }, - Title = LocaleManager.Instance[LocaleKeys.XCITrimmerWindowTitle] + Title = LocaleManager.Instance[LocaleKeys.XCITrimmer_MenuBarActions_OpenTrimmer] }; Style bottomBorder = new(x => x.OfType().Name("DialogSpace").Child().OfType()); diff --git a/src/Ryujinx/UI/Views/Main/MainMenuBarView.axaml b/src/Ryujinx/UI/Views/Main/MainMenuBarView.axaml index 13a5d4a40..7181b1565 100755 --- a/src/Ryujinx/UI/Views/Main/MainMenuBarView.axaml +++ b/src/Ryujinx/UI/Views/Main/MainMenuBarView.axaml @@ -167,19 +167,19 @@ Icon="{ext:Icon fa-solid fa-stop}" InputGesture="Escape" IsEnabled="{Binding IsGameRunning}" /> - + - - - + + + - - - + + + @@ -241,8 +242,8 @@ - + Name="MiiAppletMenuItem" Header="{ext:Locale MiiEditor_MenuBarActions_OpenEditor}" Icon="{ext:Icon fa-solid fa-face-grin-wide}" /> + diff --git a/src/Ryujinx/UI/Views/Main/MainMenuBarView.axaml.cs b/src/Ryujinx/UI/Views/Main/MainMenuBarView.axaml.cs index f35d72b6f..494b28df8 100644 --- a/src/Ryujinx/UI/Views/Main/MainMenuBarView.axaml.cs +++ b/src/Ryujinx/UI/Views/Main/MainMenuBarView.axaml.cs @@ -43,7 +43,6 @@ namespace Ryujinx.Ava.UI.Views.Main PauseEmulationMenuItem.Command = Commands.Create(() => ViewModel.AppHost?.Pause()); ResumeEmulationMenuItem.Command = Commands.Create(() => ViewModel.AppHost?.Resume()); StopEmulationMenuItem.Command = Commands.Create(() => ViewModel.AppHost?.ShowExitPrompt().OrCompleted()); - CheatManagerMenuItem.Command = Commands.CreateSilentFail(OpenCheatManagerForCurrentApp); InstallFileTypesMenuItem.Command = Commands.Create(InstallFileTypes); UninstallFileTypesMenuItem.Command = Commands.Create(UninstallFileTypes); XciTrimmerMenuItem.Command = Commands.Create(XciTrimmerView.Show); @@ -153,7 +152,7 @@ namespace Ryujinx.Ava.UI.Views.Main ViewModel.LoadConfigurableHotKeys(); } - public AppletMetadata MiiApplet => new(ViewModel.ContentManager, "miiEdit", 0x0100000000001009); + public AppletMetadata MiiApplet => new(ViewModel.ContentManager, LocaleManager.Instance[LocaleKeys.MiiEditor_MenuBarActions_OpenEditor], 0x0100000000001009); public async Task OpenMiiApplet() { @@ -163,24 +162,6 @@ namespace Ryujinx.Ava.UI.Views.Main await ViewModel.LoadApplication(appData, ViewModel.IsFullScreen || ViewModel.StartGamesInFullscreen, nacpData); } - public async Task OpenCheatManagerForCurrentApp() - { - if (!ViewModel.IsGameRunning) - return; - - string name = ViewModel.AppHost.Device.Processes.ActiveApplication.ApplicationControlProperties.Title[(int)ViewModel.AppHost.Device.System.State.DesiredTitleLanguage].NameString.ToString(); - - await StyleableAppWindow.ShowAsync( - new CheatWindow( - Window.VirtualFileSystem, - ViewModel.AppHost.Device.Processes.ActiveApplication.ProgramIdText, - name, - ViewModel.SelectedApplication.Path) - ); - - ViewModel.AppHost.Device.EnableCheats(); - } - private void ScanAmiiboMenuItem_AttachedToVisualTree(object sender, VisualTreeAttachmentEventArgs e) { if (sender is MenuItem) diff --git a/src/Ryujinx/UI/Views/Main/MainStatusBarView.axaml b/src/Ryujinx/UI/Views/Main/MainStatusBarView.axaml index 9c566a0bf..7daee9789 100644 --- a/src/Ryujinx/UI/Views/Main/MainStatusBarView.axaml +++ b/src/Ryujinx/UI/Views/Main/MainStatusBarView.axaml @@ -50,17 +50,18 @@ VerticalAlignment="Center" IsVisible="{Binding EnableNonGameRunningControls}" Text="{ext:Locale StatusBarGamesLoaded}" /> + - + @@ -305,7 +306,7 @@ -