diff --git a/assets/locales.json b/assets/locales.json index 8899bf692..2844d649b 100644 --- a/assets/locales.json +++ b/assets/locales.json @@ -70,53 +70,28 @@ { "ID": "MenuBarActionsOpenMiiEditor", "Translations": { - "ar_SA": "", - "de_DE": "", - "el_GR": "", + "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": "", + "he_IL": "עורך Mii", "it_IT": "Editor di Mii", - "ja_JP": "", + "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": "", - "tr_TR": "", + "th_TH": "ตัวแก้ไข Mii", + "tr_TR": "Mii Düzenleyicisi", "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": { @@ -620,26 +595,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": "停止" } }, { @@ -745,7 +720,7 @@ { "ID": "MenuBarActionsScanAmiibo", "Translations": { - "ar_SA": "مسح Amiibo", + "ar_SA": "فحص Amiibo", "de_DE": "Amiibo scannen", "el_GR": "Σάρωση Amiibo", "en_US": "Scan Amiibo", @@ -760,8 +735,8 @@ "pt_BR": "Escanear um Amiibo", "ru_RU": "Сканировать Amiibo", "sv_SE": "Skanna en Amiibo", - "th_TH": "สแกนหา Amiibo", - "tr_TR": "Bir Amiibo Tara", + "th_TH": "สแกน Amiibo", + "tr_TR": "Tara Amiibo", "uk_UA": "Сканувати Amiibo", "zh_CN": "扫描 Amiibo", "zh_TW": "掃描 Amiibo" @@ -770,7 +745,7 @@ { "ID": "MenuBarActionsScanAmiiboBin", "Translations": { - "ar_SA": "مسح Amiibo (.BIN)", + "ar_SA": "فحص Amiibo (.BIN)", "de_DE": "Amiibo scannen (.BIN)", "el_GR": "Σάρωση Amiibo (.BIN)", "en_US": "Scan Amiibo (.BIN)", @@ -782,14 +757,14 @@ "ko_KR": "Amiibo 스캔 (.BIN)", "no_NO": "Skann en Amiibo (.BIN)", "pl_PL": "Skanuj Amiibo (.BIN)", - "pt_BR": "Escaneie um Amiibo (.BIN)", + "pt_BR": "Escanear um Amiibo (.BIN)", "ru_RU": "Сканировать Amiibo (.BIN)", "sv_SE": "Skanna en Amiibo (.BIN)", - "th_TH": "สแกนอามีโบ (.BIN)", - "tr_TR": "Amiibo Tara (.BIN)", + "th_TH": "สแกน Amiibo (.BIN)", + "tr_TR": "Tara Amiibo (.BIN)", "uk_UA": "Сканувати Amiibo (.BIN)", "zh_CN": "扫描 Amiibo (.BIN)", - "zh_TW": "掃瞄 Amiibo (.BIN)" + "zh_TW": "掃描 Amiibo (.BIN)" } }, { @@ -812,7 +787,7 @@ "sv_SE": "Installera firmware", "th_TH": "ติดตั้งเฟิร์มแวร์", "tr_TR": "Yazılım Yükle", - "uk_UA": "Встановити прошивку (Firmware)", + "uk_UA": "Встановити прошивку", "zh_CN": "安装系统固件", "zh_TW": "安裝韌體" } @@ -867,27 +842,77 @@ "zh_TW": "安裝韌體(資料夾)" } }, + { + "ID": "InstallFirmwareFromFileDialogTitle", + "Translations": { + "ar_SA": "اختر ملف .XCI أو .ZIP لتثبيت الكوشحة منه", + "de_DE": "Wählen Sie entweder eine .XCI- oder .ZIP-Datei aus, um die Firmware zu installieren", + "el_GR": "Επιλέξτε είτε ένα αρχείο .XCI είτε ένα αρχείο .ZIP για να εγκαταστήσετε το firmware", + "en_US": "Choose either an .XCI or a .ZIP file to install firmware from", + "es_ES": "Elige un archivo .XCI o .ZIP para instalar el firmware", + "fr_FR": "Choisissez un fichier .XCI ou .ZIP pour installer le firmware", + "he_IL": "בחר קובץ .XCI או .ZIP להתקנת הקושחה ממנו", + "it_IT": "Scegli un file .XCI o .ZIP per installare il firmware", + "ja_JP": ".XCI または .ZIP ファイルを選択してファームウェアをインストール", + "ko_KR": "펌웨어를 설치할 .XCI 또는 .ZIP 파일을 선택하세요", + "no_NO": "Velg enten en .XCI- eller .ZIP-fil for å installere firmware fra", + "pl_PL": "Wybierz plik .XCI lub .ZIP, z którego chcesz zainstalować firmware", + "pt_BR": "Escolha um arquivo .XCI ou .ZIP para instalar o firmware", + "ru_RU": "Выберите .XCI или .ZIP файл для установки прошивки", + "sv_SE": "Välj antingen en .XCI- eller .ZIP-fil för att installera firmware", + "th_TH": "เลือกไฟล์ .XCI หรือ .ZIP เพื่อติดตั้งเฟิร์มแวร์จากนั้น", + "tr_TR": ".XCI veya .ZIP dosyasından firmware yüklemek için bir dosya seçin", + "uk_UA": "Виберіть файл .XCI або .ZIP для встановлення прошивки", + "zh_CN": "选择一个 .XCI 或 .ZIP 文件来安装固件", + "zh_TW": "選擇一個 .XCI 或 .ZIP 檔案來安裝韌體" + } + }, + { + "ID": "InstallFirmwareFromFolderDialogTitle", + "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": "MenuBarActionsInstallKeys", "Translations": { - "ar_SA": "", + "ar_SA": "تثبيت المفاتيح", "de_DE": "Schlüssel installieren", - "el_GR": "", + "el_GR": "Εγκατάσταση Κλειδιών", "en_US": "Install Keys", "es_ES": "Instalar Claves", "fr_FR": "Installer des Clés", - "he_IL": "", + "he_IL": "התקנת מפתחות", "it_IT": "Installa chiavi", - "ja_JP": "", + "ja_JP": "キーをインストール", "ko_KR": "설치 키", "no_NO": "Installere nøkler", - "pl_PL": "", + "pl_PL": "Zainstaluj klucze", "pt_BR": "Instalar Chaves", "ru_RU": "Установить ключи", "sv_SE": "Installera nycklar", - "th_TH": "ติดตั้งคีย์", - "tr_TR": "", - "uk_UA": "Встановити ключі", + "th_TH": "ติดตั้ง Keys", + "tr_TR": "Anahtarları Yükle", + "uk_UA": "Встановити Ключі", "zh_CN": "安装密匙", "zh_TW": "安裝金鑰" } @@ -895,23 +920,23 @@ { "ID": "MenuBarFileActionsInstallKeysFromFile", "Translations": { - "ar_SA": "", + "ar_SA": "تثبيت المفاتيح (.KEYS)", "de_DE": "Schlüssel (.KEYS) installieren", - "el_GR": "", + "el_GR": "Εγκατάσταση Κλειδιών (.KEYS)", "en_US": "Install Keys (.KEYS)", "es_ES": "Instalar Claves (.KEYS)", "fr_FR": "Installer des Clés (.KEYS)", - "he_IL": "", + "he_IL": "התקנת מפתחות (.KEYS)", "it_IT": "Installa chiavi (.KEYS)", - "ja_JP": "", + "ja_JP": "キーをインストール (.KEYS)", "ko_KR": "키 설치(.KEYS)", "no_NO": "Installer nøkler (.KEYS)", - "pl_PL": "", + "pl_PL": "Zainstaluj klucze (.KEYS)", "pt_BR": "Instalar chaves (.KEYS)", "ru_RU": "Установить ключи (.KEYS)", "sv_SE": "Installera nycklar (.KEYS)", "th_TH": "ติดตั้งคีย์ (.KEYS)", - "tr_TR": "", + "tr_TR": "Anahtarları Yükle (.KEYS)", "uk_UA": "Встановити ключі (.KEYS)", "zh_CN": "安装密钥(.KEYS)", "zh_TW": "安裝金鑰(.KEYS)" @@ -920,26 +945,76 @@ { "ID": "MenuBarFileActionsInstallKeysFromFolder", "Translations": { - "ar_SA": "", + "ar_SA": "تثبيت المفاتيح (مجلد)", "de_DE": "Schlüssel (Verzeichnis) installieren", - "el_GR": "", + "el_GR": "Εγκατάσταση Κλειδιών (Φάκελος)", "en_US": "Install Keys (Folder)", "es_ES": "Instalar Claves (Carpeta)", "fr_FR": "Installer des Clés (Dossier)", - "he_IL": "", + "he_IL": "התקנת מפתחות (תיקיה)", "it_IT": "Installa chiavi (cartella)", - "ja_JP": "", + "ja_JP": "キー (フォルダ) をインストール", "ko_KR": "키(폴더) 설치", "no_NO": "Installer nøkler (mappe)", - "pl_PL": "", + "pl_PL": "Zainstaluj klucze (folder)", "pt_BR": "Instalar chaves (diretório)", "ru_RU": "Установить ключи (папка)", "sv_SE": "Installera nycklar (katalog)", "th_TH": "ติดตั้งคีย์ (ไดเรกทอรี)", - "tr_TR": "", + "tr_TR": "Anahtarları Yükle (Klasör)", "uk_UA": "Встановити ключі (тека)", - "zh_CN": "安装密匙(文件夹", - "zh_TW": "安裝金鑰(資料夾" + "zh_CN": "安装密匙(文件夹)", + "zh_TW": "安裝金鑰(資料夾)" + } + }, + { + "ID": "InstallKeysFromFileDialogTitle", + "Translations": { + "ar_SA": "اختر ملف .KEYS لتثبيت المفاتيح منه", + "de_DE": "Wählen Sie eine .KEYS-Datei aus, um die Schlüssel zu installieren", + "el_GR": "Επιλέξτε ένα αρχείο .KEYS για να εγκαταστήσετε τα κλειδιά", + "en_US": "Choose a .KEYS file to install keys from", + "es_ES": "Elige un archivo .KEYS para instalar las claves", + "fr_FR": "Choisissez un fichier .KEYS pour installer les clés", + "he_IL": "בחר קובץ .KEYS להתקנת המפתחות ממנו", + "it_IT": "Scegli un file .KEYS per installare le chiavi", + "ja_JP": ".KEYS ファイルを選択してキーをインストール", + "ko_KR": ".KEYS 파일을 선택하여 키를 설치하세요", + "no_NO": "Velg en .KEYS-fil for å installere nøklene fra", + "pl_PL": "Wybierz plik .KEYS, aby zainstalować klucze", + "pt_BR": "Escolha um arquivo .KEYS para instalar as chaves", + "ru_RU": "Выберите файл .KEYS для установки ключей", + "sv_SE": "Välj en .KEYS-fil för att installera nycklar från", + "th_TH": "เลือกไฟล์ .KEYS เพื่อติดตั้งคีย์จาก", + "tr_TR": ".KEYS dosyasını seçin ve anahtarları yükleyin", + "uk_UA": "Виберіть файл .KEYS для встановлення ключів", + "zh_CN": "选择一个 .KEYS 文件来安装密钥", + "zh_TW": "選擇一個 .KEYS 檔案來安裝密鑰" + } + }, + { + "ID": "InstallKeysFromFolderDialogTitle", + "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": "選擇一個資料夾來安裝密鑰" } }, { @@ -1020,49 +1095,74 @@ { "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": "", + "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": "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 檔案" + "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": "MenuBarActionsXCITrimmerTooltip", + "Translations": { + "ar_SA": "محرر XCI يقلل من حجم ملفات XCI (نسخ بطاقات الألعاب) عن طريق إزالة المساحة الفارغة وغير المستخدمة. لا يؤثر على أداء اللعبة.", + "de_DE": "Der XCI-Trimmer reduziert die Größe Ihrer XCI-Dateien (Spiele-Cartridge-Dumps), indem er leeren, ungenutzten Speicher entfernt. Hat keine Auswirkungen auf die Spielleistung.", + "el_GR": "Ο Επεξεργαστής XCI μειώνει το μέγεθος των αρχείων XCI (αντίγραφα καρτών παιχνιδιών) αφαιρώντας κενό, αχρησιμοποίητο χώρο. Δεν επηρεάζει την απόδοση του παιχνιδιού.", + "en_US": "The XCI Trimmer reduces the size of your XCI files (game cartridge dumps) by removing empty, unused space. Does not impact game performance.", + "es_ES": "El Recortador de XCI reduce el tamaño de tus archivos XCI (copias de cartuchos de juegos) eliminando espacio vacío y no utilizado. No afecta al rendimiento del juego.", + "fr_FR": "Le Réducteur de XCI réduit la taille de vos fichiers XCI (copies de cartouches de jeux) en supprimant l'espace vide et inutilisé. N'affecte pas les performances du jeu.", + "he_IL": "המעמד XCI מקטין את גודל קבצי ה-XCI (גיבויים של קרטידות משחק) על ידי הסרת שטח ריק ולא בשימוש. לא משפיע על ביצועי המשחק.", + "it_IT": "Il Trimmer XCI riduce la dimensione dei tuoi file XCI (backup di cartucce di gioco) rimuovendo spazio vuoto e inutilizzato. Non influisce sulle prestazioni del gioco.", + "ja_JP": "XCIトリマーは、空の未使用スペースを削除することにより、XCIファイル(ゲームカートリッジのダンプ)のサイズを減らします。ゲームのパフォーマンスには影響しません。", + "ko_KR": "XCI 파일 트리머는 빈 공간과 사용되지 않는 데이터를 제거하여 XCI 파일(게임 카트리지 덤프)의 크기를 줄입니다. 게임 성능에 영향을 미치지 않습니다.", + "no_NO": "XCI-trimmer reduserer størrelsen på XCI-filene dine (spillkassett-dumper) ved å fjerne tomt, ubrukt plass. Påvirker ikke spillprestasjonen.", + "pl_PL": "Przycinacz XCI zmniejsza rozmiar plików XCI (zrzutów kartridży gier), usuwając pustą, nieużywaną przestrzeń. Nie wpływa na wydajność gry.", + "pt_BR": "O Cortador de XCI reduz o tamanho dos seus 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 уменьшает размер ваших XCI файлов (дампов картриджей игр), удаляя пустое и неиспользуемое пространство. Не влияет на производительность игры.", + "sv_SE": "XCI-trimmer minskar storleken på dina XCI-filer (spelkartridgdumps) genom att ta bort tomt, oanvänt utrymme. Påverkar inte spelprestanda.", + "th_TH": "ตัวตัด XCI ลดขนาดไฟล์ XCI (ดัมพ์ตลับเกม) ของคุณโดยการลบพื้นที่ว่างและไม่ได้ใช้งานออกจากไฟล์ ไม่กระทบต่อประสิทธิภาพเกม", + "tr_TR": "XCI Kesici, XCI dosyalarınızın boyutunu (oyun kartuşu dökümleri) boş ve kullanılmayan alanları kaldırarak küçültür. Oyun performansını etkilemez.", + "uk_UA": "Тример XCI зменшує розмір ваших файлів XCI (дампів картриджів ігор), видаляючи порожній, невикористовуваний простір. Не впливає на продуктивність гри.", + "zh_CN": "XCI 剪裁工具通过删除空的、未使用的空间来减少您的 XCI 文件(游戏卡带转储)大小。不会影响游戏性能。", + "zh_TW": "XCI 修剪工具透過移除空的、未使用的空間來減少您的 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": "工具" } @@ -1072,16 +1172,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", @@ -1097,16 +1197,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", @@ -2895,51 +2995,26 @@ { "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 檔案以節省儲存空間" + "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" } }, { @@ -2995,26 +3070,26 @@ { "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}'" + "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}" } }, { @@ -11567,31 +11642,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": { @@ -11925,7 +11975,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を隠す", @@ -13122,9 +13172,9 @@ "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": "", + "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{un firmware instalado pero Ryujinx pudo instalar firmware {0} del juego proporcionado.\nEl emulador iniciará.", + "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.", @@ -13133,10 +13183,10 @@ "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Теперь эмулятор запустится.", + "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": "", + "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模擬器現在可以執行。" @@ -13317,31 +13367,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": { @@ -13993,7 +14018,7 @@ } }, { - "ID": "DialogFirmwareInstallerFirmwareInstallConfirmMessage", + "ID": "DialogFirmwareInstallerFirmwareAndKeysInstallConfirmMessage", "Translations": { "ar_SA": "\nهل تريد المتابعة؟", "de_DE": "\n\nMöchtest du fortfahren?", @@ -14092,126 +14117,76 @@ "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": "", + "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": "", + "he_IL": "קובץ מפתחות חדש יותקן.", "it_IT": "Un nuovo file di chiavi sarà installato.", - "ja_JP": "", + "ja_JP": "新しいキー ファイルがインストールされます。", "ko_KR": "새로운 키 파일이 설치됩니다.", "no_NO": "Ny Keys-fil vil bli installert.", - "pl_PL": "", - "pt_BR": "O novo arquivo Chaves será instalado", + "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": "", - "uk_UA": "Новий файл Ключів буде встановлено", - "zh_CN": "将会安装新密匙文件", + "tr_TR": "Yeni anahtar dosyası yüklenecek.", + "uk_UA": "Новий файл Ключів буде встановлено.", + "zh_CN": "将会安装新密匙文件。", "zh_TW": "將會安裝新增的金鑰檔案。" } }, { "ID": "DialogKeysInstallerKeysInstallSubMessage", "Translations": { - "ar_SA": "", - "de_DE": "", - "el_GR": "", + "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": "", + "he_IL": "\n\nזה עשוי להחליף חלק מהמפתחות המותקנים הנוכחיים.", "it_IT": "\n\nAlcune delle chiavi già installate potrebbero essere sovrascritte.", - "ja_JP": "", + "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": "", + "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": "", + "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": "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": "", + "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": "", + "he_IL": "מתקין מפתחות...", "it_IT": "Installazione delle chiavi...", - "ja_JP": "", + "ja_JP": "キーをインストールしています...", "ko_KR": "키 설치 중...", "no_NO": "Installere nøkler...", - "pl_PL": "", + "pl_PL": "Instalowanie kluczy...", "pt_BR": "Instalando Chaves...", "ru_RU": "Установка ключей...", "sv_SE": "Installerar nycklar...", "th_TH": "กำลังดำเนินการติดตั้ง Keys...", - "tr_TR": "", + "tr_TR": "Anahtarlar yükleniyor...", "uk_UA": "Встановлення Ключів...", "zh_CN": "安装密匙中。。。", "zh_TW": "正在安裝金鑰..." @@ -14220,23 +14195,23 @@ { "ID": "DialogKeysInstallerKeysInstallSuccessMessage", "Translations": { - "ar_SA": "", - "de_DE": "", - "el_GR": "", + "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": "", + "he_IL": "הקובץ החדש של המפתחות הותקן בהצלחה.", "it_IT": "Nuovo file di chiavi installato con successo.", - "ja_JP": "", + "ja_JP": "新しいキー ファイルが正常にインストールされました。", "ko_KR": "새로운 키 파일이 성공적으로 설치되었습니다.", "no_NO": "Ny Keys -fil installert.", - "pl_PL": "", + "pl_PL": "Nowy plik kluczy został pomyślnie zainstalowany.", "pt_BR": "Novo arquivo de chaves instalado com sucesso.", - "ru_RU": "Новые ключи были успешно установлены.", + "ru_RU": "Новые ключи успешно установлены.", "sv_SE": "Ny nyckelfil installerades.", "th_TH": "การติดตั้งไฟล์ Keys ใหม่เสร็จสมบูรณ์แล้ว", - "tr_TR": "", + "tr_TR": "Yeni anahtar dosyası başarıyla yüklendi.", "uk_UA": "Нові ключі встановлено.", "zh_CN": "已成功安装新密匙文件", "zh_TW": "成功安裝新增的金鑰檔案。" @@ -15171,16 +15146,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": "Пауза", @@ -15470,126 +15445,101 @@ { "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": "角色" + "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": "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": "掃描" + "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": "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" + "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": "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" + "ar_SA": "هاك: UUID عشوائي للتاج", + "de_DE": "Hack: Zufällige Tag-UUID", + "el_GR": "Hack: Τυχαίο UUID για το Tag", + "en_US": "Hack: Random UUID Tag", + "es_ES": "Hack: UUID de Etiqueta Aleatorio", + "fr_FR": "Hack : Tag UUID Aléatoire", + "he_IL": "האצה: UUID אקראי לתג", + "it_IT": "Espediente: UUID del tag casuale", + "ja_JP": "ハック: ランダムなタグ UUID", + "ko_KR": "핵 : 무작위 태그 UUID", + "no_NO": "Hack: Tilfeldig tag-UUID", + "pl_PL": "Hack: Losowy UUID tagu", + "pt_BR": "Hack: UUID de tag Aleatório", + "ru_RU": "Хак: Случайный тег UUID", + "sv_SE": "Hack: Slumpmässig tagg för UUID", + "th_TH": "แฮ็ค: UUID แท็กแบบสุ่ม", + "tr_TR": "Hack: Rastgele UUID tag", + "uk_UA": "Хак: Випадковий тег UUID", + "zh_CN": "破解:随机标签 UUID", + "zh_TW": "破解:隨機標籤 UUID" } }, { @@ -15826,7 +15776,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": "파일 형식 표시", @@ -15836,9 +15786,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": "顯示檔案類型" } }, @@ -18145,23 +18095,23 @@ { "ID": "TitleXCIStatusPartialLabel", "Translations": { - "ar_SA": "", - "de_DE": "", - "el_GR": "", + "ar_SA": "جزئي", + "de_DE": "Teilweise", + "el_GR": "Μερικό", "en_US": "Partial", "es_ES": "Parcial", "fr_FR": "Partiel", - "he_IL": "", + "he_IL": "חלקי", "it_IT": "Parziale", - "ja_JP": "", + "ja_JP": "部分的", "ko_KR": "일부", "no_NO": "Delvis", - "pl_PL": "", + "pl_PL": "Częściowy", "pt_BR": "Parcial", "ru_RU": "Частично", "sv_SE": "Delvis", "th_TH": "ยังไม่สมบูรณ์", - "tr_TR": "", + "tr_TR": "Kısmi", "uk_UA": "Часткові", "zh_CN": "分区", "zh_TW": "部分" @@ -18170,48 +18120,48 @@ { "ID": "TitleXCIStatusTrimmableLabel", "Translations": { - "ar_SA": "", - "de_DE": "", - "el_GR": "", + "ar_SA": "غير مُقَصَّص", + "de_DE": "Ungetrimmt", + "el_GR": "Ακέραιο", "en_US": "Untrimmed", "es_ES": "Sin Recortar", "fr_FR": "Non Réduit", - "he_IL": "", - "it_IT": "Dim. originale", - "ja_JP": "", + "he_IL": "לא מקוצץ", + "it_IT": "Non Rifilato", + "ja_JP": "未トリミング", "ko_KR": "트리밍되지 않음", "no_NO": "Ikke trimmet", - "pl_PL": "", + "pl_PL": "Nieprzycięty", "pt_BR": "Não Reduzido", "ru_RU": "Не обрезан", - "sv_SE": "Orörd", - "th_TH": "ยังไม่ได้ตัดแต่ง", - "tr_TR": "", - "uk_UA": "Необрізані", - "zh_CN": "没有瘦身的", + "sv_SE": "Oklippt", + "th_TH": "ยังไม่ตัดแต่ง", + "tr_TR": "Kesilmemiş", + "uk_UA": "Не обрізані", + "zh_CN": "未修剪", "zh_TW": "未修剪" } }, { "ID": "TitleXCIStatusUntrimmableLabel", "Translations": { - "ar_SA": "", - "de_DE": "", - "el_GR": "", + "ar_SA": "مقصوص", + "de_DE": "Getrimmt", + "el_GR": "Κομμένο", "en_US": "Trimmed", "es_ES": "Recortado", "fr_FR": "Réduit", - "he_IL": "", - "it_IT": "Dim. ridotta", - "ja_JP": "", + "he_IL": "מקוצץ", + "it_IT": "Rifilato", + "ja_JP": "トリミング済み", "ko_KR": "트리밍됨", "no_NO": "Trimmet", - "pl_PL": "", + "pl_PL": "Przycięty", "pt_BR": "Reduzido", "ru_RU": "Обрезан", "sv_SE": "Optimerad", "th_TH": "ตัดแต่งแล้ว", - "tr_TR": "", + "tr_TR": "Kesilmiş", "uk_UA": "Обрізані", "zh_CN": "经过瘦身的", "zh_TW": "已修剪" @@ -18220,23 +18170,23 @@ { "ID": "TitleXCIStatusFailedLabel", "Translations": { - "ar_SA": "", - "de_DE": "", - "el_GR": "", + "ar_SA": "(فشل)", + "de_DE": "(Fehlgeschlagen)", + "el_GR": "(Απέτυχε)", "en_US": "(Failed)", "es_ES": "(Fallido)", "fr_FR": "(Échoué)", - "he_IL": "", + "he_IL": "(נכשל)", "it_IT": "(Fallito)", - "ja_JP": "", + "ja_JP": "(失敗)", "ko_KR": "(실패)", "no_NO": "(Mislyktes)", - "pl_PL": "", - "pt_BR": "Falhou", + "pl_PL": "(Niepowodzenie)", + "pt_BR": "(Falhou)", "ru_RU": "(Ошибка)", - "sv_SE": "(misslyckades)", + "sv_SE": "(Misslyckades)", "th_TH": "(ล้มเหลว)", - "tr_TR": "", + "tr_TR": "(Başarısız)", "uk_UA": "(Невдача)", "zh_CN": "(失败)", "zh_TW": "(失敗)" @@ -18245,51 +18195,51 @@ { "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" + "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": "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" + "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" } }, { @@ -18342,31 +18292,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": { @@ -19068,28 +18993,28 @@ } }, { - "ID": "OpenFileDialogTitle", + "ID": "OpenAmiiboBinFileDialogTitle", "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": "選取支援的檔案格式" + "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 檔案" } }, { @@ -19618,28 +19543,28 @@ } }, { - "ID": "Usage", + "ID": "AmiiboUsage", "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": "用途" + "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" } }, { @@ -19745,199 +19670,199 @@ { "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 檔案是否有可修剪的字元,然後修剪檔案以節省儲存空間。" + "ar_SA": "يتم التحقق من المساحة المتاحة ثم يتم تقليمها لتوفير مساحة على القرص.", + "de_DE": "Prüft den verfügbaren Speicherplatz und kürzt ihn, um Festplattenspeicher zu sparen.", + "el_GR": "Ελέγχει τον διαθέσιμο χώρο και τον κόβει για να εξοικονομήσει χώρο στο δίσκο.", + "en_US": "Checks available file space and trims it to save disk space.", + "es_ES": "Verifica el espacio disponible y luego recorta para ahorrar espacio en disco.", + "fr_FR": "Vérifie l’espace disponible puis le réduit pour économiser de l’espace disque.", + "he_IL": "בודק את שטח הקובץ הזמין ומצמצם אותו כדי לחסוך מקום בדיסק.", + "it_IT": "Controlla lo spazio disponibile e poi lo riduce per risparmiare spazio su disco.", + "ja_JP": "空き領域を確認し、ディスクスペースを節約するためにトリムします。", + "ko_KR": "사용 가능한 파일 공간을 확인하고 디스크 공간을 절약하기 위해 트리밍합니다.", + "no_NO": "Kontrollerer tilgjengelig plass og kutter for å spare diskplass.", + "pl_PL": "Sprawdza dostępne miejsce i przycina je, aby zaoszczędzić miejsce na dysku.", + "pt_BR": "Verifica o espaço disponível e depois corta para economizar espaço no disco.", + "ru_RU": "Проверяет доступное пространство и обрезает его для экономии места на диске.", + "sv_SE": "Kontrollerar tillgängligt utrymme och trimmar för att spara diskutrymme.", + "th_TH": "ตรวจสอบพื้นที่ว่างแล้วตัดแต่งเพื่อประหยัดพื้นที่ดิสก์", + "tr_TR": "Mevcut dosya alanını kontrol eder ve ardından disk alanı tasarrufu için kırpar.", + "uk_UA": "Перевіряє вільне місце та обрізає файл для економії місця на диску.", + "zh_CN": "检查可用的文件空间,然后修剪以节省磁盘空间。", + "zh_TW": "檢查可用的檔案空間,然後修剪以節省儲存空間." } }, { "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" + "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": "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 檔案不需要修剪。檢查日誌以取得更多資訊" + "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": "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 檔案不能被修剪。檢查日誌以取得更多資訊" + "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": "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 檔案是唯讀,並且無法改成可寫入。檢查日誌以取得更多資訊" + "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": "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 檔案大小比較上次的掃瞄已經改變。請檢查檔案是否未被寫入,然後再嘗試。" + "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": "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 檔案有數據儲存於可節省儲存空間的區域,所以試圖修剪並不安全" + "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": "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) для отримання додаткової інформації", + "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 檔案帶有無效的數據。檢查日誌以取得更多資訊" } @@ -19945,101 +19870,101 @@ { "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 檔案不能被寫入。檢查日誌以取得更多資訊" + "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": "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 檔案失敗" + "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": "TrimXCIFileCancelled", "Translations": { - "ar_SA": "", - "de_DE": "", - "el_GR": "", + "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": "", + "he_IL": "הפעולה בוטלה", "it_IT": "L'operazione è stata annullata", - "ja_JP": "", + "ja_JP": "操作がキャンセルされました", "ko_KR": "작업이 취소됨", "no_NO": "Operasjonen ble avlyst", - "pl_PL": "", + "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": "", + "tr_TR": "İşlem iptal edildi", "uk_UA": "Операція перервана", "zh_CN": "操作已取消", - "zh_TW": "修剪已取消" + "zh_TW": "操作已取消" } }, { "ID": "TrimXCIFileFileUndertermined", "Translations": { - "ar_SA": "", - "de_DE": "", - "el_GR": "", + "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 a été faite", - "he_IL": "", + "fr_FR": "Aucune opération n'a été effectuée", + "he_IL": "לא בוצעה שום פעולה", "it_IT": "Non è stata effettuata alcuna operazione", - "ja_JP": "", + "ja_JP": "操作は実行されませんでした", "ko_KR": "작업이 수행되지 않음", "no_NO": "Ingen operasjon ble utført", - "pl_PL": "", + "pl_PL": "Nie wykonano żadnej operacji", "pt_BR": "Nenhuma operação foi realizada", - "ru_RU": "Операция не была проведена", + "ru_RU": "Операция не была выполнена", "sv_SE": "Ingen åtgärd genomfördes", - "th_TH": "ไม่มีการดำเนินการใด ๆ ถูกทำขึ้น", - "tr_TR": "", - "uk_UA": "Операція не проводилася", + "th_TH": "ไม่มีการดำเนินการใด ๆ ที่ถูกทำขึ้น", + "tr_TR": "Hiçbir işlem yapılmadı", + "uk_UA": "Операція не була виконана", "zh_CN": "未执行操作", - "zh_TW": "沒有修剪" + "zh_TW": "未執行任何操作" } }, { @@ -20167,76 +20092,51 @@ "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": "", + "ar_SA": "{0} من {1} عنوان(عناوين) مُحدد", + "de_DE": "{0} von {1} Titel(n) Ausgewählt", + "el_GR": "{0} από {1} Τίτλο(ους) Επιλεγμένο(οι)", "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": "", + "he_IL": "{0} מתוך {1} כותר(ות) נבחר(ו)", "it_IT": "{0} di {1} titoli selezionati", - "ja_JP": "", + "ja_JP": "{0} / {1} タイトル選択済み", "ko_KR": "{1}개 타이틀 중 {0}개 선택됨", "no_NO": "{0} av {1} Valgte tittel(er)", - "pl_PL": "", + "pl_PL": "{0} z {1} wybranych tytuł(ów)", "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": "", + "tr_TR": "{0} / {1} Başlık(lar) Seçildi", "uk_UA": "{0} з {1} тайтл(ів) обрано", - "zh_CN": "在 {1} 中选中了 {0} 个游戏 ", - "zh_TW": "已選擇 {1} 之 {0} 的遊戲" + "zh_CN": "在 {1} 中选中了 {0} 个游戏", + "zh_TW": "已選擇 {0} / {1} 遊戲" } }, { "ID": "XCITrimmerTitleStatusCountWithFilter", "Translations": { - "ar_SA": "", - "de_DE": "", - "el_GR": "", - "en_US": "{0} of {1} Title(s) Selected ({2} displayed)", + "ar_SA": "{0} من {1} عنوان(عناوين) مُحدد ({2} معروض)", + "de_DE": "{0} von {1} Titel(n) Ausgewählt ({2} angezeigt)", + "el_GR": "{0} από {1} Τίτλο(ους) Επιλεγμένο(οι) ({2} εμφανίζονται)", + "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": "", + "fr_FR": "{0} sur {1} Fichier(s) Sélectionnés ({2} Affiché(s))", + "he_IL": "{0} מתוך {1} כותר(ות) נבחר(ו) ({2} מוצג(ים))", "it_IT": "{0} di {1} titoli selezionati ({2} visualizzati)", - "ja_JP": "", - "ko_KR": "{1}개 타이틀 중 {0}개 선택됨({2}개 표시됨)", + "ja_JP": "{0} / {1} タイトル選択済み ({2} 件表示)", + "ko_KR": "{1}개 타이틀 중 {0}개 선택됨 ({2}개 표시됨)", "no_NO": "{0} av {1} Tittel(er) valgt ({2} vises)", - "pl_PL": "", + "pl_PL": "{0} z {1} wybranych tytuł(ów) ({2} wyświetlonych)", "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": "", + "tr_TR": "{0} / {1} Başlık(lar) Seçildi ({2} gösterildi)", "uk_UA": "{0} з {1} тайтл(ів) обрано ({2} відображається)", "zh_CN": "在 {1} 中选中了 {0} 个游戏 (显示了 {2} 个)", "zh_TW": "已選擇 {1} 之 {0} 的遊戲 (已顯示 {2} 個)" @@ -20245,23 +20145,23 @@ { "ID": "XCITrimmerTitleStatusTrimming", "Translations": { - "ar_SA": "", - "de_DE": "", - "el_GR": "", + "ar_SA": "جارٍ تقليم {0} عنوان(عناوين)...", + "de_DE": "Trimme {0} Titel...", + "el_GR": "Κοπή {0} Τίτλου(ων)...", "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": "", + "he_IL": "חותך {0} כותר(ות)...", + "it_IT": "Riducendo {0} titolo/i...", + "ja_JP": "{0} タイトルをトリミング中...", "ko_KR": "{0}개의 타이틀을 트리밍 중...", "no_NO": "Trimming av {0} tittel(er)...", - "pl_PL": "", + "pl_PL": "Przycinanie {0} tytuł(ów)...", "pt_BR": "Reduzindo {0} Título(s)...", "ru_RU": "Обрезка {0} файла(ов)...", "sv_SE": "Optimerar {0} spel...", "th_TH": "กำลังตัดแต่ง {0} รายการ...", - "tr_TR": "", + "tr_TR": "Kesiliyor {0} Başlık(lar)...", "uk_UA": "Обрізка {0} тайтл(ів)...", "zh_CN": "{0} 个游戏瘦身中。。。", "zh_TW": "正在修剪 {0} 個遊戲..." @@ -20270,198 +20170,198 @@ { "ID": "XCITrimmerTitleStatusUntrimming", "Translations": { - "ar_SA": "", - "de_DE": "", - "el_GR": "", + "ar_SA": "جارٍ إلغاء تقليم {0} عنوان(عناوين)...", + "de_DE": "Untrimming von {0} Titeln...", + "el_GR": "Αναίρεση κοπής {0} Τίτλου(ων)...", "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": "", + "fr_FR": "Restauration de {0} Fichier(s)...", + "he_IL": "מבצע ביטול חיתוך ל-{0} כותר(ות)...", + "it_IT": "Ripristinando {0} titolo/i...", + "ja_JP": "{0} タイトルのトリミング解除中...", "ko_KR": "{0}개의 타이틀을 트리밍 해제 중...", - "no_NO": "Untrimming {0} Tittel(er)...", - "pl_PL": "", - "pt_BR": "Desfazendo redução {0} Título(s)...", + "no_NO": "Untrimming av {0} tittel(er)...", + "pl_PL": "Anulowanie przycinania {0} tytuł(ów)...", + "pt_BR": "Desfazendo redução de {0} Título(s)...", "ru_RU": "Отмена обрезки {0} файла(ов)...", "sv_SE": "Avoptimerar {0} spel...", - "th_TH": "กำลังยกเลิกการตัดแต่ง {0} รายการ...", - "tr_TR": "", - "uk_UA": "Необрізаних {0} тайтл(ів)...", - "zh_CN": "正在精简 {0} 个游戏", + "th_TH": "กำลังกำจัดการตัดแต่ง {0} รายการ...", + "tr_TR": "Kesim iptal ediliyor {0} Başlık(lar)...", + "uk_UA": "Скасування обрізки {0} тайтл(ів)...", + "zh_CN": "正在取消精简 {0} 个游戏", "zh_TW": "正在反修剪 {0} 個遊戲..." } }, { "ID": "XCITrimmerTitleStatusFailed", "Translations": { - "ar_SA": "", - "de_DE": "", - "el_GR": "", + "ar_SA": "فشل", + "de_DE": "Fehlgeschlagen", + "el_GR": "Απέτυχε", "en_US": "Failed", "es_ES": "Fallido", "fr_FR": "Échoué", - "he_IL": "", + "he_IL": "נכשל", "it_IT": "Fallito", - "ja_JP": "", + "ja_JP": "失敗", "ko_KR": "실패", "no_NO": "Mislyktes", - "pl_PL": "", + "pl_PL": "Niepowodzenie", "pt_BR": "Falhou", "ru_RU": "Ошибка", "sv_SE": "Misslyckades", "th_TH": "ล้มเหลว", - "tr_TR": "", + "tr_TR": "Başarısız", "uk_UA": "Невдача", "zh_CN": "失败", "zh_TW": "失敗" } }, { - "ID": "XCITrimmerPotentialSavings", + "ID": "XCITrimmerTotalSavings", "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": "潛在節省的儲存空間" + "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": "XCITrimmerActualSavings", + "ID": "XCITrimmerCanStillSaveMB", "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": "實際節省的儲存空間" + "ar_SA": "({0} MB متبقية للحفظ)", + "de_DE": "({0} MB übrig zum Sparen)", + "el_GR": "({0} MB απομένουν για αποθήκευση)", + "en_US": "({0} MB Left to Save)", + "es_ES": "({0} MB Restantes para Ahorrar)", + "fr_FR": "({0} Mo Restants à Économiser)", + "he_IL": "(נותרו {0} MB לחיסכון)", + "it_IT": "({0} MB rimasti da salvare)", + "ja_JP": "(あと {0} MB を節約可能)", + "ko_KR": "(남은 {0}MB 절약 가능)", + "no_NO": "({0} MB igjen å spare)", + "pl_PL": "({0} MB pozostało do zaoszczędzenia)", + "pt_BR": "({0} MB restantes para economizar)", + "ru_RU": "(Осталось сэкономить {0} Мб)", + "sv_SE": "({0} MB kvar att spara)", + "th_TH": "(เหลือ {0} เมกะไบต์ที่จะประหยัด)", + "tr_TR": "({0} MB Kalmış Tasarruf)", + "uk_UA": "(Залишилося {0} Мб для збереження)", + "zh_CN": "(剩余 {0} MB 可节省)", + "zh_TW": "(剩餘 {0} MB 可節省)" } }, { "ID": "XCITrimmerSavingsMb", "Translations": { - "ar_SA": "", - "de_DE": "", - "el_GR": "", - "en_US": "{0:n0} Mb", + "ar_SA": null, + "de_DE": null, + "el_GR": null, + "en_US": "{0} 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": "", + "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:n0} Мб", + "ru_RU": "{0} Мб", "sv_SE": null, - "th_TH": "{0:n0} เมกะไบต์", - "tr_TR": "", - "uk_UA": "{0:n0} Мб", + "th_TH": "{0} เมกะไบต์", + "tr_TR": null, + "uk_UA": "{0} Мб", "zh_CN": null, "zh_TW": null } }, { - "ID": "XCITrimmerSelectDisplayed", + "ID": "XCITrimmerSelectAll", "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": "選擇已顯示" + "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": "XCITrimmerDeselectDisplayed", + "ID": "XCITrimmerDeselectAll", "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": "取消選擇已顯示" + "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": "XCITrimmerSortName", "Translations": { - "ar_SA": "", - "de_DE": "", - "el_GR": "", + "ar_SA": "عنوان", + "de_DE": "Titel", + "el_GR": "Τίτλος", "en_US": "Title", "es_ES": "Título", "fr_FR": "Titre", - "he_IL": "", + "he_IL": "כותרת", "it_IT": "Titolo", - "ja_JP": "", + "ja_JP": "タイトル", "ko_KR": "타이틀", "no_NO": "Tittel", - "pl_PL": "", + "pl_PL": "Tytuł", "pt_BR": "Título", "ru_RU": "Название", "sv_SE": "Titel", "th_TH": "ชื่อไฟล์", - "tr_TR": "", + "tr_TR": "Başlık", "uk_UA": "Назва", "zh_CN": "标题", "zh_TW": "名稱" @@ -20470,76 +20370,76 @@ { "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": "節省的儲存空間" + "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": "XCITrimmerTrim", "Translations": { - "ar_SA": "", - "de_DE": "", - "el_GR": "", + "ar_SA": "قص", + "de_DE": "Trimmen", + "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", + "he_IL": "גזירה", + "it_IT": "Ridurre", + "ja_JP": "トリム", + "ko_KR": "트리밍", + "no_NO": "Trim", + "pl_PL": "Przyciąć", + "pt_BR": "Reduzir", "ru_RU": "Обрезать", - "sv_SE": "Optimera", + "sv_SE": "Trimma", "th_TH": "ตัดแต่ง", - "tr_TR": "", - "uk_UA": "Обрізка", - "zh_CN": "瘦身", + "tr_TR": "Kısalt", + "uk_UA": "Обрізати", + "zh_CN": "修剪", "zh_TW": "修剪" } }, { "ID": "XCITrimmerUntrim", "Translations": { - "ar_SA": "", - "de_DE": "", - "el_GR": "", + "ar_SA": "استعادة", + "de_DE": "Wiederherstellen", + "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": "反修剪" + "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/UI/Controls/ApplicationContextMenu.axaml b/src/Ryujinx/UI/Controls/ApplicationContextMenu.axaml index 9f2999a4c..c3978466e 100755 --- a/src/Ryujinx/UI/Controls/ApplicationContextMenu.axaml +++ b/src/Ryujinx/UI/Controls/ApplicationContextMenu.axaml @@ -105,8 +105,8 @@ CommandParameter="{Binding}" Header="{ext:Locale GameListContextMenuTrimXCI}" IsEnabled="{Binding TrimXCIEnabled}" - Icon="{ext:Icon fa-solid fa-scissors}" - ToolTip.Tip="{ext:Locale GameListContextMenuTrimXCIToolTip}" /> + IsVisible="{Binding IsXCIFile}" + Icon="{ext:Icon fa-solid fa-scissors}" /> 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,32 @@ 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(); - 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 + "-")}"); - - writable = usageItem.Write; - } - } + usageStringBuilder.Append($"{Environment.NewLine}- {usageItem.Usage.Replace("/", Environment.NewLine + "-")}"); } - - 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.Unknown]}."); + } + + Usage = $"{LocaleManager.Instance[LocaleKeys.AmiiboUsage]}{usageStringBuilder}"; + _ = UpdateAmiiboPreview(imageUrl); } diff --git a/src/Ryujinx/UI/ViewModels/MainWindowViewModel.cs b/src/Ryujinx/UI/ViewModels/MainWindowViewModel.cs index 651dc901c..05e9de1e3 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); @@ -925,7 +927,7 @@ namespace Ryujinx.Ava.UI.ViewModels } dialogMessage += - LocaleManager.Instance[LocaleKeys.DialogFirmwareInstallerFirmwareInstallConfirmMessage]; + LocaleManager.Instance[LocaleKeys.DialogFirmwareInstallerFirmwareAndKeysInstallConfirmMessage]; UserResult result = await ContentDialogHelper.CreateConfirmationDialog( dialogTitle, @@ -1025,7 +1027,7 @@ namespace Ryujinx.Ava.UI.ViewModels } string dialogTitle = - LocaleManager.Instance.UpdateAndGetDynamicValue(LocaleKeys.DialogKeysInstallerKeysInstallTitle); + LocaleManager.Instance.UpdateAndGetDynamicValue(LocaleKeys.MenuBarActionsInstallKeys); string dialogMessage = LocaleManager.Instance.UpdateAndGetDynamicValue(LocaleKeys.DialogKeysInstallerKeysInstallMessage); @@ -1036,7 +1038,7 @@ namespace Ryujinx.Ava.UI.ViewModels .DialogKeysInstallerKeysInstallSubMessage); } - dialogMessage += LocaleManager.Instance[LocaleKeys.DialogKeysInstallerKeysInstallConfirmMessage]; + dialogMessage += LocaleManager.Instance[LocaleKeys.DialogFirmwareInstallerFirmwareAndKeysInstallConfirmMessage]; UserResult result = await ContentDialogHelper.CreateConfirmationDialog( dialogTitle, @@ -1357,9 +1359,10 @@ namespace Ryujinx.Ava.UI.ViewModels { Optional result = await StorageProvider.OpenSingleFilePickerAsync(new FilePickerOpenOptions { + Title = LocaleManager.Instance[LocaleKeys.InstallFirmwareFromFileDialogTitle], 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.InstallFirmwareFromFolderDialogTitle] + }); if (result.HasValue) { @@ -1400,6 +1406,7 @@ namespace Ryujinx.Ava.UI.ViewModels { Optional result = await StorageProvider.OpenSingleFilePickerAsync(new FilePickerOpenOptions { + Title = LocaleManager.Instance[LocaleKeys.InstallKeysFromFileDialogTitle], 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.InstallKeysFromFolderDialogTitle] + }); if (result.HasValue) { @@ -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.OpenAmiiboBinFileDialogTitle], FileTypeFilter = new List { - new(LocaleManager.Instance[LocaleKeys.AllSupportedFormats]) + new("BIN") { Patterns = ["*.bin"], } @@ -2015,11 +2043,10 @@ 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.TrimXCIFileDialogSecondaryText, currentFileSize.ToString("0"), cartDataSize.ToString("0"), savings.ToString("0")); UserResult result = await ContentDialogHelper.CreateConfirmationDialog( LocaleManager.Instance[LocaleKeys.TrimXCIFileDialogPrimaryText], @@ -2037,7 +2064,7 @@ namespace Ryujinx.Ava.UI.ViewModels { StatusBarProgressStatusText = LocaleManager.Instance.UpdateAndGetDynamicValue(LocaleKeys.StatusBarXCIFileTrimming, - Path.GetFileName(filename)); + 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..a085b93b5 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,8 +428,8 @@ 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 => string.Format(LocaleManager.Instance[LocaleKeys.XCITrimmerTitleStatusTrimming], SelectedXCIFiles.Count), + ProcessingMode.Untrimming => string.Format(LocaleManager.Instance[LocaleKeys.XCITrimmerTitleStatusUntrimming], SelectedXCIFiles.Count), _ => string.Empty }; } @@ -529,6 +531,18 @@ namespace Ryujinx.Ava.UI.ViewModels } } + 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.XCITrimmerCanStillSaveMB], differenceMb); + } + } + public IEnumerable SelectedDisplayedXCIFiles { get diff --git a/src/Ryujinx/UI/Views/Dialog/XciTrimmerView.axaml b/src/Ryujinx/UI/Views/Dialog/XciTrimmerView.axaml index 4bddcd16a..84be2a539 100644 --- a/src/Ryujinx/UI/Views/Dialog/XciTrimmerView.axaml +++ b/src/Ryujinx/UI/Views/Dialog/XciTrimmerView.axaml @@ -13,102 +13,101 @@ x:DataType="viewModels:XciTrimmerViewModel" Focusable="True" mc:Ignorable="d"> - + - - - - - - - - - - - - - - + + + + + + + + + + + + Checked="Sort_Checked" + Content="{ext:Locale XCITrimmerSortName}" + GroupName="Sort" + IsChecked="{Binding IsSortedByName, Mode=OneTime}" + Tag="Name" /> + Checked="Sort_Checked" + Content="{ext:Locale XCITrimmerSortSaved}" + GroupName="Sort" + IsChecked="{Binding IsSortedBySaved, Mode=OneTime}" + Tag="Saved" /> - - - - + + + + + + + + + - - - - - - + + - - - - - - - - - - - - - - - - - > - - - - - - + + + + + + + + + + + + + + + + + + + + + - - - - - - - - + + + + + @@ -258,7 +233,6 @@ diff --git a/src/Ryujinx/UI/Views/Dialog/XciTrimmerView.axaml.cs b/src/Ryujinx/UI/Views/Dialog/XciTrimmerView.axaml.cs index 8fb8c151c..72e36eeb7 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.MenuBarActionsXCITrimmer] }; 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 47f79725c..f1a8d272a 100755 --- a/src/Ryujinx/UI/Views/Main/MainMenuBarView.axaml +++ b/src/Ryujinx/UI/Views/Main/MainMenuBarView.axaml @@ -166,7 +166,7 @@ Icon="{ext:Icon fa-solid fa-stop}" InputGesture="Escape" IsEnabled="{Binding IsGameRunning}" /> - + @@ -217,8 +218,8 @@ - + Name="MiiAppletMenuItem" Header="{ext:Locale MenuBarActionsOpenMiiEditor}" 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 f6bf43795..4728a3d36 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); @@ -166,7 +165,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.MenuBarActionsOpenMiiEditor], 0x0100000000001009); public async Task OpenMiiApplet() { @@ -176,24 +175,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/Windows/AmiiboWindow.axaml b/src/Ryujinx/UI/Windows/AmiiboWindow.axaml index ac8d7f271..b0372970e 100644 --- a/src/Ryujinx/UI/Windows/AmiiboWindow.axaml +++ b/src/Ryujinx/UI/Windows/AmiiboWindow.axaml @@ -16,75 +16,77 @@ WindowStartupLocation="CenterOwner" Width="800" MinHeight="650" - Height="650" + Height="700" SizeToContent="Manual" MinWidth="600" Focusable="True"> - - - + + + + - - - - - + + + + + + + + + - - - - + + + + + + + + + + + + - + + + - - + - - - - + + + + - - - - + +