From 51bcb9e128b5a50e1b68f6e47f0d0cc3519cb9b4 Mon Sep 17 00:00:00 2001 From: Rondo Date: Mon, 28 Jul 2025 15:55:48 -0500 Subject: [PATCH 1/7] Changes to uk_UA (ryubing/ryujinx!84) See merge request ryubing/ryujinx!84 --- assets/locales.json | 24 ++++++++++++------------ 1 file changed, 12 insertions(+), 12 deletions(-) diff --git a/assets/locales.json b/assets/locales.json index dc760c4fa..af5e4556f 100644 --- a/assets/locales.json +++ b/assets/locales.json @@ -2092,7 +2092,7 @@ "sv_SE": "Total speltid: {0}", "th_TH": "", "tr_TR": "Toplam Oyun Süresi: {0}", - "uk_UA": "", + "uk_UA": "Всього зіграно: {0}", "zh_CN": "总游戏时间: {0}", "zh_TW": "總遊戲時間: {0}" } @@ -7217,7 +7217,7 @@ "sv_SE": "Konfiguration hittad:\n\nNamn:\t{0}\nGUID:\t{1}\n\n Väntar på anslutning till kontroller...", "th_TH": "", "tr_TR": "", - "uk_UA": "", + "uk_UA": "Знайдено конфігурацій:\n\nНазва:\t{0}\nGUID:\t{1}\n\n Очікується з’єднання з контролером...", "zh_CN": "发现配置:\n\n名称:\t{0}\nGUID:\t{1}\n\n 正在等待控制器连接...", "zh_TW": "找到控制器的配置:\n\n名稱:\t{0}\nGUID:\t{1}\n\n 正在等待控制器連線..." } @@ -13142,7 +13142,7 @@ "sv_SE": "Det gick inte att konvertera Ryujinx-versionen som mottogs från uppdateringsservern.", "th_TH": "", "tr_TR": "", - "uk_UA": "", + "uk_UA": "Не вдалося конвертувати версію Ryujinx, отриману з сервера оновлень.", "zh_CN": "无法转换从更新服务器接收的 Ryujinx 版本。", "zh_TW": "無法轉換從更新伺服器接收的 Ryujinx 版本。" } @@ -16567,7 +16567,7 @@ "sv_SE": "Om det här alternativet är aktiverat i anpassade inställningar kommer den globala inmatningskonfigurationen att användas.\n\nI de globala inställningarna: du kan aktivera eller inaktivera det efter behov; den här inställningen kommer att ärvas av alla nya anpassade konfigurationer som skapas.", "th_TH": "", "tr_TR": "", - "uk_UA": "", + "uk_UA": "Якщо цей параметр увімкнено в користувацьких налаштуваннях, буде використовуватись глобальна конфігурація вводу.\n\nВ глобальних налаштуваннях: за потреби цю опцію можна вмикати або вимикати; це налаштування автоматично застосується до всіх нових конфігурацій, які ви створите.", "zh_CN": "如果在自定义设置中启用了此选项,则将使用全局输入配置。\n\n在全局设置中: 您可以根据需要启用或禁用它;之后创建的任何自定义配置都将继承此设置。", "zh_TW": "如果在自訂設定啟用了此選項,則將使用全域輸入配置。\n\n在全域設定中:你可以根據需要啟用或停用它;之後建立的任何自訂配置都將繼承此設定。" } @@ -18917,7 +18917,7 @@ "sv_SE": "Ryujinx kunde inte hitta några installerade firmwares", "th_TH": "Ryujinx ไม่พบ เฟิร์มแวร์ที่ติดตั้งไว้ในเครื่องของคุณ", "tr_TR": "Ryujinx yüklü herhangi firmware bulamadı", - "uk_UA": "Ryujinx не вдалося знайти встановлену прошивку", + "uk_UA": "Ryujinx не вдалося знайти жодної встановленої прошивки", "zh_CN": "Ryujinx 模拟器未安装 Switch 系统固件", "zh_TW": "Ryujinx 無法找到已安裝的任何韌體" } @@ -18942,7 +18942,7 @@ "sv_SE": "Ryujinx kunde inte tolka angiven firmware. Detta sker oftast med utdaterade nycklar.", "th_TH": "Ryujinx ไม่สามารถวิเคราะห์เฟิร์มแวร์ที่ให้มาได้ ซึ่งมักมีสาเหตุมาจากคีย์ที่เก่าจนเกินไป", "tr_TR": "Ryujinx temin edilen firmware'i çözümleyemedi. Bu durum genellikle güncel olmayan keys'den kaynaklanır.", - "uk_UA": "Ryujinx не вдалося проаналізувати прошивку. Зазвичай це спричинено застарілими ключами.", + "uk_UA": "Ryujinx не вдалося проаналізувати прошивку. Зазвичай це спричинено застарілими ключами.", "zh_CN": "Ryujinx 模拟器无法解密当前固件,一般是由于使用了旧版的密钥导致的。", "zh_TW": "Ryujinx 無法解析所提供的韌體。這通常是由於金鑰過時造成的。" } @@ -19017,7 +19017,7 @@ "sv_SE": "Ett odefinierat fel inträffade! Detta ska inte hända. Kontakta en utvecklare!", "th_TH": "เกิดข้อผิดพลาดที่ไม่สามารถระบุได้! สิ่งนี้ไม่ควรเกิดขึ้น โปรดติดต่อผู้พัฒนา!", "tr_TR": "Tanımlanmayan bir hata oluştu! Bu durum ile karşılaşılmamalıydı, lütfen bir geliştirici ile iletişime geçin!", - "uk_UA": "Виникла невизначена помилка! Це не повинно було статися. Будь ласка, зверніться до розробника!", + "uk_UA": "Виникла невизначена помилка! Це не повинно було статися. Будь ласка, зверніться до розробників!", "zh_CN": "出现未定义错误!此类错误不应出现,请联系开发者!", "zh_TW": "發生未定義錯誤! 這種情況不應該發生,請聯絡開發人員!" } @@ -19692,7 +19692,7 @@ "sv_SE": "Din aktuella konfiguration är ogiltig. Öppna inställningarna och konfigurera om din inmatning.", "th_TH": "การกำหนดค่าปัจจุบันของคุณไม่ถูกต้อง กรุณาเปิดการตั้งค่าและกำหนดค่าอินพุตของคุณใหม่", "tr_TR": "Halihazırdaki konfigürasyonunuz geçersiz. Ayarları açın ve girişlerinizi yeniden konfigüre edin.", - "uk_UA": "Поточна конфігурація невірна. Відкрийте налаштування та переналаштуйте Ваші дані.", + "uk_UA": "Поточна конфігурація невірна. Перейдіть до параметрів та переналаштуйте керування.", "zh_CN": "您当前的输入配置无效。打开设置并重新设置您的输入选项。", "zh_TW": "您目前的配置無效。開啟設定並重新配置輸入。" } @@ -19717,7 +19717,7 @@ "sv_SE": "Dockat läge angivet. Handhållna kontroller bör inaktiveras.", "th_TH": "ตั้งค่าด็อกโหมด ควรปิดใช้งานการควบคุมแบบแฮนด์เฮลด์", "tr_TR": "Docked mod ayarlandı. Portatif denetim devre dışı bırakılmalı.", - "uk_UA": "Встановлений режим в док-станції. Вимкніть портативні контролери.", + "uk_UA": "Встановлений режим в док-станції. Вимкніть портативний режим.", "zh_CN": "已经设置为主机模式,应禁用掌机手柄操控。", "zh_TW": "已設定底座模式。手提控制應該停用。" } @@ -23442,7 +23442,7 @@ "sv_SE": "Visa ändringslogg", "th_TH": "ด", "tr_TR": "", - "uk_UA": "", + "uk_UA": "Показати список змін", "zh_CN": "查看更新日志", "zh_TW": "檢視更新日誌" } @@ -24817,7 +24817,7 @@ "sv_SE": "Startar och går in i spelet men lider av ett eller flera av följande: kraschar, deadlocks, GPU-buggar, distraherande dåligt ljud eller är helt enkelt för långsamt. Spelet kan fortfarande spelas hela vägen igenom, men inte så som spelet är avsett att spelas.", "th_TH": "", "tr_TR": "", - "uk_UA": "Запускається, але в грі на вас чекатимуть одна або декілька наступних проблем: збої, зависання, графічні баги, спотворений звук або ж гра загалом працюватиме надто повільно. Можливо, її все ще можна пройти, але досвід буде не найкращим.", + "uk_UA": "Запускається, але в грі на вас чекатимуть одна або декілька наступних проблем: збої, зависання, графічні баги, спотворений звук або ж гра загалом працюватиме надто повільно. Можливо, гру все ще можна буде пройти, але досвід буде не найкращим.", "zh_CN": "可以成功启动并进入游戏但可能会遇到以下一种或多种问题: 崩溃、卡死、GPU bug、令人无法接受的音频,或者只是太慢。仍然可以继续进行游戏,但是可能无法达到预期。", "zh_TW": "能啟動並進入遊戲,但可能會遇到下列狀況:崩潰、卡死、GPU bug、令人無法接受的聲音、或遊戲過慢。遊戲或可繼續進行,但是可能無法達到預期效果。" } @@ -24842,7 +24842,7 @@ "sv_SE": "Startar upp och går förbi titelskärmen men tar sig inte in i huvudspelet.", "th_TH": "", "tr_TR": "", - "uk_UA": "Запускається та проходить початковий екран, але пограти не вийде.", + "uk_UA": "Запускається та проходить початковий екран, проте зіграти у вас не вийде.", "zh_CN": "可以启动并通过标题画面但是无法进入到主要的游戏流程。", "zh_TW": "能啟動並通過標題畫面,但是無法進入主要的遊戲畫面。" } From f3a2f596838b7bd122e5a50f48f9bbb1fdf5e38c Mon Sep 17 00:00:00 2001 From: LotP <22-lotp@users.noreply.git.ryujinx.app> Date: Mon, 28 Jul 2025 18:24:35 -0500 Subject: [PATCH 2/7] Nullify Locales (ryubing/ryujinx!83) See merge request ryubing/ryujinx!83 --- assets/locales.json | 1200 +++++++++-------- .../LocalesValidationTask.cs | 5 +- .../Ryujinx.BuildValidationTasks.csproj | 16 +- 3 files changed, 626 insertions(+), 595 deletions(-) diff --git a/assets/locales.json b/assets/locales.json index af5e4556f..18e964d68 100644 --- a/assets/locales.json +++ b/assets/locales.json @@ -1,4 +1,24 @@ { + "Info": { + "Format1": "The Locale file uses a custom Unified format.", + "Format2": "The file starts with a list of all the supported languages.", + "Format3": "Each locale is made up an ID used for lookup and a list", + "Format4": "of the languages and their matching translations.", + "Format5": "When adding a new locale you just need to add the ID and", + "Format6": "the en_US language translation, then the validation system", + "Format7": "will add the rest of the languages automatically on rebuild.", + "Format8": "By default the languages will be added with an empty string.", + "Format9": "Any empty string or null value will automatically match the", + "Format10": "English translation.", + "Format11": "If you want to signal that a translation is supposed to", + "Format12": "match the English translation, you just have to replace the", + "Format13": "empty string with null.", + "Format14": "Translators who want to check what translations are missing", + "Format15": "for their language just need to search for:", + "Format16": "{'lang_code': ''} with double quotes instead of single", + "Format17": "e.g: {'en_US': ''} (but with any other language as English", + "Format18": "will never be missing translations)." + }, "Languages": [ "ar_SA", "de_DE", @@ -1100,101 +1120,101 @@ { "ID": "MenuBarViewWindow720", "Translations": { - "ar_SA": "", - "de_DE": "", - "el_GR": "", + "ar_SA": null, + "de_DE": null, + "el_GR": null, "en_US": "720p", - "es_ES": "", - "fr_FR": "", - "he_IL": "", - "it_IT": "", - "ja_JP": "", - "ko_KR": "", - "no_NO": "", - "pl_PL": "", - "pt_BR": "", - "ru_RU": "", - "sv_SE": "", - "th_TH": "", - "tr_TR": "", - "uk_UA": "", - "zh_CN": "", - "zh_TW": "" + "es_ES": null, + "fr_FR": null, + "he_IL": null, + "it_IT": null, + "ja_JP": null, + "ko_KR": null, + "no_NO": null, + "pl_PL": null, + "pt_BR": null, + "ru_RU": null, + "sv_SE": null, + "th_TH": null, + "tr_TR": null, + "uk_UA": null, + "zh_CN": null, + "zh_TW": null } }, { "ID": "MenuBarViewWindow1080", "Translations": { - "ar_SA": "", - "de_DE": "", - "el_GR": "", + "ar_SA": null, + "de_DE": null, + "el_GR": null, "en_US": "1080p", - "es_ES": "", - "fr_FR": "", - "he_IL": "", - "it_IT": "", - "ja_JP": "", - "ko_KR": "", - "no_NO": "", - "pl_PL": "", - "pt_BR": "", - "ru_RU": "", - "sv_SE": "", - "th_TH": "", - "tr_TR": "", - "uk_UA": "", - "zh_CN": "", - "zh_TW": "" + "es_ES": null, + "fr_FR": null, + "he_IL": null, + "it_IT": null, + "ja_JP": null, + "ko_KR": null, + "no_NO": null, + "pl_PL": null, + "pt_BR": null, + "ru_RU": null, + "sv_SE": null, + "th_TH": null, + "tr_TR": null, + "uk_UA": null, + "zh_CN": null, + "zh_TW": null } }, { "ID": "MenuBarViewWindow1440", "Translations": { - "ar_SA": "", - "de_DE": "", - "el_GR": "", + "ar_SA": null, + "de_DE": null, + "el_GR": null, "en_US": "1440p", - "es_ES": "", - "fr_FR": "", - "he_IL": "", - "it_IT": "", - "ja_JP": "", - "ko_KR": "", - "no_NO": "", - "pl_PL": "", - "pt_BR": "", - "ru_RU": "", - "sv_SE": "", - "th_TH": "", - "tr_TR": "", - "uk_UA": "", - "zh_CN": "", - "zh_TW": "" + "es_ES": null, + "fr_FR": null, + "he_IL": null, + "it_IT": null, + "ja_JP": null, + "ko_KR": null, + "no_NO": null, + "pl_PL": null, + "pt_BR": null, + "ru_RU": null, + "sv_SE": null, + "th_TH": null, + "tr_TR": null, + "uk_UA": null, + "zh_CN": null, + "zh_TW": null } }, { "ID": "MenuBarViewWindow2160", "Translations": { - "ar_SA": "", - "de_DE": "", - "el_GR": "", + "ar_SA": null, + "de_DE": null, + "el_GR": null, "en_US": "2160p", - "es_ES": "", - "fr_FR": "", - "he_IL": "", - "it_IT": "", - "ja_JP": "", - "ko_KR": "", - "no_NO": "", - "pl_PL": "", - "pt_BR": "", - "ru_RU": "", - "sv_SE": "", - "th_TH": "", - "tr_TR": "", - "uk_UA": "", - "zh_CN": "", - "zh_TW": "" + "es_ES": null, + "fr_FR": null, + "he_IL": null, + "it_IT": null, + "ja_JP": null, + "ko_KR": null, + "no_NO": null, + "pl_PL": null, + "pt_BR": null, + "ru_RU": null, + "sv_SE": null, + "th_TH": null, + "tr_TR": null, + "uk_UA": null, + "zh_CN": null, + "zh_TW": null } }, { @@ -2650,26 +2670,26 @@ { "ID": "GameListContextMenuExtractDataExeFS", "Translations": { - "ar_SA": "", - "de_DE": "", - "el_GR": "", + "ar_SA": null, + "de_DE": null, + "el_GR": null, "en_US": "ExeFS", - "es_ES": "", - "fr_FR": "", - "he_IL": "", - "it_IT": "", - "ja_JP": "", - "ko_KR": "", - "no_NO": "", - "pl_PL": "", - "pt_BR": "", - "ru_RU": "", - "sv_SE": "", - "th_TH": "", - "tr_TR": "", - "uk_UA": "", - "zh_CN": "", - "zh_TW": "" + "es_ES": null, + "fr_FR": null, + "he_IL": null, + "it_IT": null, + "ja_JP": null, + "ko_KR": null, + "no_NO": null, + "pl_PL": null, + "pt_BR": null, + "ru_RU": null, + "sv_SE": null, + "th_TH": null, + "tr_TR": null, + "uk_UA": null, + "zh_CN": null, + "zh_TW": null } }, { @@ -2700,26 +2720,26 @@ { "ID": "GameListContextMenuExtractDataRomFS", "Translations": { - "ar_SA": "", - "de_DE": "", - "el_GR": "", + "ar_SA": null, + "de_DE": null, + "el_GR": null, "en_US": "RomFS", - "es_ES": "", - "fr_FR": "", - "he_IL": "", - "it_IT": "", - "ja_JP": "", - "ko_KR": "", - "no_NO": "", - "pl_PL": "", - "pt_BR": "", - "ru_RU": "", - "sv_SE": "", - "th_TH": "", - "tr_TR": "", - "uk_UA": "", - "zh_CN": "", - "zh_TW": "" + "es_ES": null, + "fr_FR": null, + "he_IL": null, + "it_IT": null, + "ja_JP": null, + "ko_KR": null, + "no_NO": null, + "pl_PL": null, + "pt_BR": null, + "ru_RU": null, + "sv_SE": null, + "th_TH": null, + "tr_TR": null, + "uk_UA": null, + "zh_CN": null, + "zh_TW": null } }, { @@ -5225,76 +5245,76 @@ { "ID": "SettingsTabSystemAudioBackendOpenAL", "Translations": { - "ar_SA": "", - "de_DE": "", - "el_GR": "", + "ar_SA": null, + "de_DE": null, + "el_GR": null, "en_US": "OpenAL", - "es_ES": "", - "fr_FR": "", - "he_IL": "", - "it_IT": "", - "ja_JP": "", - "ko_KR": "", - "no_NO": "", - "pl_PL": "", - "pt_BR": "", - "ru_RU": "", - "sv_SE": "", - "th_TH": "", - "tr_TR": "", - "uk_UA": "", - "zh_CN": "", - "zh_TW": "" + "es_ES": null, + "fr_FR": null, + "he_IL": null, + "it_IT": null, + "ja_JP": null, + "ko_KR": null, + "no_NO": null, + "pl_PL": null, + "pt_BR": null, + "ru_RU": null, + "sv_SE": null, + "th_TH": null, + "tr_TR": null, + "uk_UA": null, + "zh_CN": null, + "zh_TW": null } }, { "ID": "SettingsTabSystemAudioBackendSoundIO", "Translations": { - "ar_SA": "", - "de_DE": "", - "el_GR": "", + "ar_SA": null, + "de_DE": null, + "el_GR": null, "en_US": "SoundIO", - "es_ES": "", - "fr_FR": "", - "he_IL": "", - "it_IT": "", - "ja_JP": "", - "ko_KR": "", - "no_NO": "Lyd Inn/Ut", - "pl_PL": "", - "pt_BR": "", - "ru_RU": "", - "sv_SE": "", - "th_TH": "", - "tr_TR": "", - "uk_UA": "", - "zh_CN": "", - "zh_TW": "" + "es_ES": null, + "fr_FR": null, + "he_IL": null, + "it_IT": null, + "ja_JP": null, + "ko_KR": null, + "no_NO": null, + "pl_PL": null, + "pt_BR": null, + "ru_RU": null, + "sv_SE": null, + "th_TH": null, + "tr_TR": null, + "uk_UA": null, + "zh_CN": null, + "zh_TW": null } }, { "ID": "SettingsTabSystemAudioBackendSDL2", "Translations": { - "ar_SA": "", - "de_DE": "", - "el_GR": "", + "ar_SA": null, + "de_DE": null, + "el_GR": null, "en_US": "SDL2", - "es_ES": "", - "fr_FR": "", - "he_IL": "", - "it_IT": "", - "ja_JP": "", - "ko_KR": "", - "no_NO": "", - "pl_PL": "", - "pt_BR": "", - "ru_RU": "", - "sv_SE": "", - "th_TH": "", - "tr_TR": "", - "uk_UA": "", - "zh_CN": "", - "zh_TW": "" + "es_ES": null, + "fr_FR": null, + "he_IL": null, + "it_IT": null, + "ja_JP": null, + "ko_KR": null, + "no_NO": null, + "pl_PL": null, + "pt_BR": null, + "ru_RU": null, + "sv_SE": null, + "th_TH": null, + "tr_TR": null, + "uk_UA": null, + "zh_CN": null, + "zh_TW": null } }, { @@ -5950,126 +5970,126 @@ { "ID": "SettingsTabGraphicsAspectRatio4x3", "Translations": { - "ar_SA": "", - "de_DE": "", - "el_GR": "", + "ar_SA": null, + "de_DE": null, + "el_GR": null, "en_US": "4:3", - "es_ES": "", - "fr_FR": "", - "he_IL": "", - "it_IT": "", - "ja_JP": "", - "ko_KR": "", - "no_NO": "", - "pl_PL": "", - "pt_BR": "", - "ru_RU": "", - "sv_SE": "", - "th_TH": "", - "tr_TR": "", - "uk_UA": "", - "zh_CN": "", - "zh_TW": "" + "es_ES": null, + "fr_FR": null, + "he_IL": null, + "it_IT": null, + "ja_JP": null, + "ko_KR": null, + "no_NO": null, + "pl_PL": null, + "pt_BR": null, + "ru_RU": null, + "sv_SE": null, + "th_TH": null, + "tr_TR": null, + "uk_UA": null, + "zh_CN": null, + "zh_TW": null } }, { "ID": "SettingsTabGraphicsAspectRatio16x9", "Translations": { - "ar_SA": "", - "de_DE": "", - "el_GR": "", + "ar_SA": null, + "de_DE": null, + "el_GR": null, "en_US": "16:9", - "es_ES": "", - "fr_FR": "", - "he_IL": "", - "it_IT": "", - "ja_JP": "", - "ko_KR": "", - "no_NO": "", - "pl_PL": "", - "pt_BR": "", - "ru_RU": "", - "sv_SE": "", - "th_TH": "", - "tr_TR": "", - "uk_UA": "", - "zh_CN": "", - "zh_TW": "" + "es_ES": null, + "fr_FR": null, + "he_IL": null, + "it_IT": null, + "ja_JP": null, + "ko_KR": null, + "no_NO": null, + "pl_PL": null, + "pt_BR": null, + "ru_RU": null, + "sv_SE": null, + "th_TH": null, + "tr_TR": null, + "uk_UA": null, + "zh_CN": null, + "zh_TW": null } }, { "ID": "SettingsTabGraphicsAspectRatio16x10", "Translations": { - "ar_SA": "", - "de_DE": "", - "el_GR": "", + "ar_SA": null, + "de_DE": null, + "el_GR": null, "en_US": "16:10", - "es_ES": "", - "fr_FR": "", - "he_IL": "", - "it_IT": "", - "ja_JP": "", - "ko_KR": "", - "no_NO": "", - "pl_PL": "", - "pt_BR": "", - "ru_RU": "", - "sv_SE": "", - "th_TH": "", - "tr_TR": "", - "uk_UA": "", - "zh_CN": "", - "zh_TW": "" + "es_ES": null, + "fr_FR": null, + "he_IL": null, + "it_IT": null, + "ja_JP": null, + "ko_KR": null, + "no_NO": null, + "pl_PL": null, + "pt_BR": null, + "ru_RU": null, + "sv_SE": null, + "th_TH": null, + "tr_TR": null, + "uk_UA": null, + "zh_CN": null, + "zh_TW": null } }, { "ID": "SettingsTabGraphicsAspectRatio21x9", "Translations": { - "ar_SA": "", - "de_DE": "", - "el_GR": "", + "ar_SA": null, + "de_DE": null, + "el_GR": null, "en_US": "21:9", - "es_ES": "", - "fr_FR": "", - "he_IL": "", - "it_IT": "", - "ja_JP": "", - "ko_KR": "", - "no_NO": "", - "pl_PL": "", - "pt_BR": "", - "ru_RU": "", - "sv_SE": "", - "th_TH": "", - "tr_TR": "", - "uk_UA": "", - "zh_CN": "", - "zh_TW": "" + "es_ES": null, + "fr_FR": null, + "he_IL": null, + "it_IT": null, + "ja_JP": null, + "ko_KR": null, + "no_NO": null, + "pl_PL": null, + "pt_BR": null, + "ru_RU": null, + "sv_SE": null, + "th_TH": null, + "tr_TR": null, + "uk_UA": null, + "zh_CN": null, + "zh_TW": null } }, { "ID": "SettingsTabGraphicsAspectRatio32x9", "Translations": { - "ar_SA": "", - "de_DE": "", - "el_GR": "", + "ar_SA": null, + "de_DE": null, + "el_GR": null, "en_US": "32:9", - "es_ES": "", - "fr_FR": "", - "he_IL": "", - "it_IT": "", - "ja_JP": "", - "ko_KR": "", - "no_NO": "", - "pl_PL": "", - "pt_BR": "", - "ru_RU": "", - "sv_SE": "", - "th_TH": "", - "tr_TR": "", - "uk_UA": "", - "zh_CN": "", - "zh_TW": "" + "es_ES": null, + "fr_FR": null, + "he_IL": null, + "it_IT": null, + "ja_JP": null, + "ko_KR": null, + "no_NO": null, + "pl_PL": null, + "pt_BR": null, + "ru_RU": null, + "sv_SE": null, + "th_TH": null, + "tr_TR": null, + "uk_UA": null, + "zh_CN": null, + "zh_TW": null } }, { @@ -6689,7 +6709,7 @@ "pl_PL": "Globalny Wpis", "pt_BR": "Entrada Global", "ru_RU": "Глобальный Ввод", - "sv_SE": "Global Input", + "sv_SE": null, "th_TH": "การป้อนข้อมูลแบบโกลบอล", "tr_TR": "Küresel Girdi", "uk_UA": "Глобальний Ввід", @@ -7650,151 +7670,151 @@ { "ID": "ControllerSettingsButtonA", "Translations": { - "ar_SA": "", - "de_DE": "", - "el_GR": "Α", + "ar_SA": null, + "de_DE": null, + "el_GR": null, "en_US": "A", - "es_ES": "", - "fr_FR": "", - "he_IL": "", - "it_IT": "", - "ja_JP": "", - "ko_KR": "", - "no_NO": "", - "pl_PL": "", - "pt_BR": "", - "ru_RU": "", - "sv_SE": "", - "th_TH": "", - "tr_TR": "", - "uk_UA": "", - "zh_CN": "", - "zh_TW": "" + "es_ES": null, + "fr_FR": null, + "he_IL": null, + "it_IT": null, + "ja_JP": null, + "ko_KR": null, + "no_NO": null, + "pl_PL": null, + "pt_BR": null, + "ru_RU": null, + "sv_SE": null, + "th_TH": null, + "tr_TR": null, + "uk_UA": null, + "zh_CN": null, + "zh_TW": null } }, { "ID": "ControllerSettingsButtonB", "Translations": { - "ar_SA": "", - "de_DE": "", - "el_GR": "", + "ar_SA": null, + "de_DE": null, + "el_GR": null, "en_US": "B", - "es_ES": "", - "fr_FR": "", - "he_IL": "", - "it_IT": "", - "ja_JP": "", - "ko_KR": "", - "no_NO": "", - "pl_PL": "", - "pt_BR": "", - "ru_RU": "", - "sv_SE": "", - "th_TH": "", - "tr_TR": "", - "uk_UA": "", - "zh_CN": "", - "zh_TW": "" + "es_ES": null, + "fr_FR": null, + "he_IL": null, + "it_IT": null, + "ja_JP": null, + "ko_KR": null, + "no_NO": null, + "pl_PL": null, + "pt_BR": null, + "ru_RU": null, + "sv_SE": null, + "th_TH": null, + "tr_TR": null, + "uk_UA": null, + "zh_CN": null, + "zh_TW": null } }, { "ID": "ControllerSettingsButtonX", "Translations": { - "ar_SA": "", - "de_DE": "", - "el_GR": "", + "ar_SA": null, + "de_DE": null, + "el_GR": null, "en_US": "X", - "es_ES": "", - "fr_FR": "", - "he_IL": "", - "it_IT": "", - "ja_JP": "", - "ko_KR": "", - "no_NO": "", - "pl_PL": "", - "pt_BR": "", - "ru_RU": "", - "sv_SE": "", - "th_TH": "", - "tr_TR": "", - "uk_UA": "", - "zh_CN": "", - "zh_TW": "" + "es_ES": null, + "fr_FR": null, + "he_IL": null, + "it_IT": null, + "ja_JP": null, + "ko_KR": null, + "no_NO": null, + "pl_PL": null, + "pt_BR": null, + "ru_RU": null, + "sv_SE": null, + "th_TH": null, + "tr_TR": null, + "uk_UA": null, + "zh_CN": null, + "zh_TW": null } }, { "ID": "ControllerSettingsButtonY", "Translations": { - "ar_SA": "", - "de_DE": "", - "el_GR": "", + "ar_SA": null, + "de_DE": null, + "el_GR": null, "en_US": "Y", - "es_ES": "", - "fr_FR": "", - "he_IL": "", - "it_IT": "", - "ja_JP": "", - "ko_KR": "", - "no_NO": "", - "pl_PL": "", - "pt_BR": "", - "ru_RU": "", - "sv_SE": "", - "th_TH": "", - "tr_TR": "", - "uk_UA": "", - "zh_CN": "", - "zh_TW": "" + "es_ES": null, + "fr_FR": null, + "he_IL": null, + "it_IT": null, + "ja_JP": null, + "ko_KR": null, + "no_NO": null, + "pl_PL": null, + "pt_BR": null, + "ru_RU": null, + "sv_SE": null, + "th_TH": null, + "tr_TR": null, + "uk_UA": null, + "zh_CN": null, + "zh_TW": null } }, { "ID": "ControllerSettingsButtonPlus", "Translations": { - "ar_SA": "", - "de_DE": "", - "el_GR": "", + "ar_SA": null, + "de_DE": null, + "el_GR": null, "en_US": "+", - "es_ES": "", - "fr_FR": "", - "he_IL": "", - "it_IT": "", - "ja_JP": "", - "ko_KR": "", - "no_NO": "", - "pl_PL": "", - "pt_BR": "", - "ru_RU": "", - "sv_SE": "", - "th_TH": "", - "tr_TR": "", - "uk_UA": "", - "zh_CN": "", - "zh_TW": "" + "es_ES": null, + "fr_FR": null, + "he_IL": null, + "it_IT": null, + "ja_JP": null, + "ko_KR": null, + "no_NO": null, + "pl_PL": null, + "pt_BR": null, + "ru_RU": null, + "sv_SE": null, + "th_TH": null, + "tr_TR": null, + "uk_UA": null, + "zh_CN": null, + "zh_TW": null } }, { "ID": "ControllerSettingsButtonMinus", "Translations": { - "ar_SA": "", - "de_DE": "", - "el_GR": "", + "ar_SA": null, + "de_DE": null, + "el_GR": null, "en_US": "-", - "es_ES": "", - "fr_FR": "", - "he_IL": "", - "it_IT": "", - "ja_JP": "", - "ko_KR": "", - "no_NO": "", - "pl_PL": "", - "pt_BR": "", - "ru_RU": "", - "sv_SE": "", - "th_TH": "", - "tr_TR": "", - "uk_UA": "", - "zh_CN": "", - "zh_TW": "" + "es_ES": null, + "fr_FR": null, + "he_IL": null, + "it_IT": null, + "ja_JP": null, + "ko_KR": null, + "no_NO": null, + "pl_PL": null, + "pt_BR": null, + "ru_RU": null, + "sv_SE": null, + "th_TH": null, + "tr_TR": null, + "uk_UA": null, + "zh_CN": null, + "zh_TW": null } }, { @@ -8325,201 +8345,201 @@ { "ID": "ControllerSettingsTriggerL", "Translations": { - "ar_SA": "", - "de_DE": "", - "el_GR": "", + "ar_SA": null, + "de_DE": null, + "el_GR": null, "en_US": "L", - "es_ES": "", - "fr_FR": "", - "he_IL": "", - "it_IT": "", - "ja_JP": "", - "ko_KR": "", - "no_NO": "", - "pl_PL": "", - "pt_BR": "", - "ru_RU": "", - "sv_SE": "", - "th_TH": "", - "tr_TR": "", - "uk_UA": "", - "zh_CN": "", - "zh_TW": "" + "es_ES": null, + "fr_FR": null, + "he_IL": null, + "it_IT": null, + "ja_JP": null, + "ko_KR": null, + "no_NO": null, + "pl_PL": null, + "pt_BR": null, + "ru_RU": null, + "sv_SE": null, + "th_TH": null, + "tr_TR": null, + "uk_UA": null, + "zh_CN": null, + "zh_TW": null } }, { "ID": "ControllerSettingsTriggerR", "Translations": { - "ar_SA": "", - "de_DE": "", - "el_GR": "", + "ar_SA": null, + "de_DE": null, + "el_GR": null, "en_US": "R", - "es_ES": "", - "fr_FR": "", - "he_IL": "", - "it_IT": "", - "ja_JP": "", - "ko_KR": "", - "no_NO": "", - "pl_PL": "", - "pt_BR": "", - "ru_RU": "", - "sv_SE": "", - "th_TH": "", - "tr_TR": "", - "uk_UA": "", - "zh_CN": "", - "zh_TW": "" + "es_ES": null, + "fr_FR": null, + "he_IL": null, + "it_IT": null, + "ja_JP": null, + "ko_KR": null, + "no_NO": null, + "pl_PL": null, + "pt_BR": null, + "ru_RU": null, + "sv_SE": null, + "th_TH": null, + "tr_TR": null, + "uk_UA": null, + "zh_CN": null, + "zh_TW": null } }, { "ID": "ControllerSettingsTriggerZL", "Translations": { - "ar_SA": "", - "de_DE": "", - "el_GR": "", + "ar_SA": null, + "de_DE": null, + "el_GR": null, "en_US": "ZL", - "es_ES": "", - "fr_FR": "", - "he_IL": "", - "it_IT": "", - "ja_JP": "", - "ko_KR": "", - "no_NO": "", - "pl_PL": "", - "pt_BR": "", - "ru_RU": "", - "sv_SE": "", - "th_TH": "", - "tr_TR": "", - "uk_UA": "", - "zh_CN": "", - "zh_TW": "" + "es_ES": null, + "fr_FR": null, + "he_IL": null, + "it_IT": null, + "ja_JP": null, + "ko_KR": null, + "no_NO": null, + "pl_PL": null, + "pt_BR": null, + "ru_RU": null, + "sv_SE": null, + "th_TH": null, + "tr_TR": null, + "uk_UA": null, + "zh_CN": null, + "zh_TW": null } }, { "ID": "ControllerSettingsTriggerZR", "Translations": { - "ar_SA": "", - "de_DE": "", - "el_GR": "", + "ar_SA": null, + "de_DE": null, + "el_GR": null, "en_US": "ZR", - "es_ES": "", - "fr_FR": "", - "he_IL": "", - "it_IT": "", - "ja_JP": "", - "ko_KR": "", - "no_NO": "", - "pl_PL": "", - "pt_BR": "", - "ru_RU": "", - "sv_SE": "", - "th_TH": "", - "tr_TR": "", - "uk_UA": "", - "zh_CN": "", - "zh_TW": "" + "es_ES": null, + "fr_FR": null, + "he_IL": null, + "it_IT": null, + "ja_JP": null, + "ko_KR": null, + "no_NO": null, + "pl_PL": null, + "pt_BR": null, + "ru_RU": null, + "sv_SE": null, + "th_TH": null, + "tr_TR": null, + "uk_UA": null, + "zh_CN": null, + "zh_TW": null } }, { "ID": "ControllerSettingsLeftSL", "Translations": { - "ar_SA": "", - "de_DE": "", - "el_GR": "", + "ar_SA": null, + "de_DE": null, + "el_GR": null, "en_US": "SL", - "es_ES": "", - "fr_FR": "", - "he_IL": "", - "it_IT": "", - "ja_JP": "", - "ko_KR": "", - "no_NO": "", - "pl_PL": "", - "pt_BR": "", - "ru_RU": "", - "sv_SE": "", - "th_TH": "", - "tr_TR": "", - "uk_UA": "", - "zh_CN": "", - "zh_TW": "" + "es_ES": null, + "fr_FR": null, + "he_IL": null, + "it_IT": null, + "ja_JP": null, + "ko_KR": null, + "no_NO": null, + "pl_PL": null, + "pt_BR": null, + "ru_RU": null, + "sv_SE": null, + "th_TH": null, + "tr_TR": null, + "uk_UA": null, + "zh_CN": null, + "zh_TW": null } }, { "ID": "ControllerSettingsLeftSR", "Translations": { - "ar_SA": "", - "de_DE": "", - "el_GR": "", + "ar_SA": null, + "de_DE": null, + "el_GR": null, "en_US": "SR", - "es_ES": "", - "fr_FR": "", - "he_IL": "", - "it_IT": "", - "ja_JP": "", - "ko_KR": "", - "no_NO": "", - "pl_PL": "", - "pt_BR": "", - "ru_RU": "", - "sv_SE": "", - "th_TH": "", - "tr_TR": "", - "uk_UA": "", - "zh_CN": "", - "zh_TW": "" + "es_ES": null, + "fr_FR": null, + "he_IL": null, + "it_IT": null, + "ja_JP": null, + "ko_KR": null, + "no_NO": null, + "pl_PL": null, + "pt_BR": null, + "ru_RU": null, + "sv_SE": null, + "th_TH": null, + "tr_TR": null, + "uk_UA": null, + "zh_CN": null, + "zh_TW": null } }, { "ID": "ControllerSettingsRightSL", "Translations": { - "ar_SA": "", - "de_DE": "", - "el_GR": "", + "ar_SA": null, + "de_DE": null, + "el_GR": null, "en_US": "SL", - "es_ES": "", - "fr_FR": "", - "he_IL": "", - "it_IT": "", - "ja_JP": "", - "ko_KR": "", - "no_NO": "", - "pl_PL": "", - "pt_BR": "", - "ru_RU": "", - "sv_SE": "", - "th_TH": "", - "tr_TR": "", - "uk_UA": "", - "zh_CN": "", - "zh_TW": "" + "es_ES": null, + "fr_FR": null, + "he_IL": null, + "it_IT": null, + "ja_JP": null, + "ko_KR": null, + "no_NO": null, + "pl_PL": null, + "pt_BR": null, + "ru_RU": null, + "sv_SE": null, + "th_TH": null, + "tr_TR": null, + "uk_UA": null, + "zh_CN": null, + "zh_TW": null } }, { "ID": "ControllerSettingsRightSR", "Translations": { - "ar_SA": "", - "de_DE": "", - "el_GR": "", + "ar_SA": null, + "de_DE": null, + "el_GR": null, "en_US": "SR", - "es_ES": "", - "fr_FR": "", - "he_IL": "", - "it_IT": "", - "ja_JP": "", - "ko_KR": "", - "no_NO": "", - "pl_PL": "", - "pt_BR": "", - "ru_RU": "", - "sv_SE": "", - "th_TH": "", - "tr_TR": "", - "uk_UA": "", - "zh_CN": "", - "zh_TW": "" + "es_ES": null, + "fr_FR": null, + "he_IL": null, + "it_IT": null, + "ja_JP": null, + "ko_KR": null, + "no_NO": null, + "pl_PL": null, + "pt_BR": null, + "ru_RU": null, + "sv_SE": null, + "th_TH": null, + "tr_TR": null, + "uk_UA": null, + "zh_CN": null, + "zh_TW": null } }, { @@ -23075,26 +23095,26 @@ { "ID": "GraphicsScalingFilterFsr", "Translations": { - "ar_SA": "", - "de_DE": "", - "el_GR": "", + "ar_SA": null, + "de_DE": null, + "el_GR": null, "en_US": "FSR", - "es_ES": "", - "fr_FR": "", - "he_IL": "", - "it_IT": "", - "ja_JP": "", - "ko_KR": "", - "no_NO": "", - "pl_PL": "", - "pt_BR": "", - "ru_RU": "", - "sv_SE": "", - "th_TH": "", - "tr_TR": "", - "uk_UA": "", + "es_ES": null, + "fr_FR": null, + "he_IL": null, + "it_IT": null, + "ja_JP": null, + "ko_KR": null, + "no_NO": null, + "pl_PL": null, + "pt_BR": null, + "ru_RU": null, + "sv_SE": null, + "th_TH": null, + "tr_TR": null, + "uk_UA": null, "zh_CN": "FSR(超级分辨率锐画技术)", - "zh_TW": "" + "zh_TW": null } }, { @@ -23575,51 +23595,51 @@ { "ID": "MultiplayerModeLdnMitm", "Translations": { - "ar_SA": "", - "de_DE": "", - "el_GR": "", + "ar_SA": null, + "de_DE": null, + "el_GR": null, "en_US": "ldn_mitm", - "es_ES": "", - "fr_FR": "", - "he_IL": "", - "it_IT": "", - "ja_JP": "", - "ko_KR": "", - "no_NO": "", - "pl_PL": "", - "pt_BR": "", - "ru_RU": "", - "sv_SE": "", - "th_TH": "", - "tr_TR": "", - "uk_UA": "", - "zh_CN": "", - "zh_TW": "" + "es_ES": null, + "fr_FR": null, + "he_IL": null, + "it_IT": null, + "ja_JP": null, + "ko_KR": null, + "no_NO": null, + "pl_PL": null, + "pt_BR": null, + "ru_RU": null, + "sv_SE": null, + "th_TH": null, + "tr_TR": null, + "uk_UA": null, + "zh_CN": null, + "zh_TW": null } }, { "ID": "MultiplayerModeLdnRyu", "Translations": { - "ar_SA": "", - "de_DE": "", - "el_GR": "", + "ar_SA": null, + "de_DE": null, + "el_GR": null, "en_US": "RyuLDN", - "es_ES": "", - "fr_FR": "", - "he_IL": "", - "it_IT": "", - "ja_JP": "", - "ko_KR": "", - "no_NO": "", - "pl_PL": "", - "pt_BR": "", - "ru_RU": "", - "sv_SE": "", - "th_TH": "", - "tr_TR": "", - "uk_UA": "", - "zh_CN": "", - "zh_TW": "" + "es_ES": null, + "fr_FR": null, + "he_IL": null, + "it_IT": null, + "ja_JP": null, + "ko_KR": null, + "no_NO": null, + "pl_PL": null, + "pt_BR": null, + "ru_RU": null, + "sv_SE": null, + "th_TH": null, + "tr_TR": null, + "uk_UA": null, + "zh_CN": null, + "zh_TW": null } }, { @@ -25023,4 +25043,4 @@ } } ] -} +} \ No newline at end of file diff --git a/src/Ryujinx.BuildValidationTasks/LocalesValidationTask.cs b/src/Ryujinx.BuildValidationTasks/LocalesValidationTask.cs index 17f9be5a0..a07f0c4ae 100644 --- a/src/Ryujinx.BuildValidationTasks/LocalesValidationTask.cs +++ b/src/Ryujinx.BuildValidationTasks/LocalesValidationTask.cs @@ -33,7 +33,7 @@ namespace Ryujinx.BuildValidationTasks LocalesJson json; if (isGitRunner && data.Contains("\r\n")) - throw new FormatException("locales.json is using CRLF line endings! It should be using LF line endings, build locally to fix..."); + throw new FormatException("locales.json is using CRLF line endings! It should be using LF line endings, rebuild locally to fix..."); try { @@ -86,7 +86,7 @@ namespace Ryujinx.BuildValidationTasks } if (isGitRunner && encounteredIssue) - throw new JsonException("1 or more locales are invalid!"); + throw new JsonException("1 or more locales are invalid! Rebuild locally to fix..."); string jsonString = JsonSerializer.Serialize(json, _jsonOptions); @@ -102,6 +102,7 @@ namespace Ryujinx.BuildValidationTasks struct LocalesJson { + public Dictionary Info { get; set; } public List Languages { get; set; } public List Locales { get; set; } } diff --git a/src/Ryujinx.BuildValidationTasks/Ryujinx.BuildValidationTasks.csproj b/src/Ryujinx.BuildValidationTasks/Ryujinx.BuildValidationTasks.csproj index c9fea9313..c89a044b2 100644 --- a/src/Ryujinx.BuildValidationTasks/Ryujinx.BuildValidationTasks.csproj +++ b/src/Ryujinx.BuildValidationTasks/Ryujinx.BuildValidationTasks.csproj @@ -10,8 +10,18 @@ + Condition="'$(RuntimeIdentifier)' == ''" + IgnoreExitCode="true"> + + + + + + $(OutputOfExec.Substring($(OutputOfExec.IndexOf("Unhandled exception")))) + $(ErrorOutput.Substring(0, $(ErrorOutput.IndexOf(';')))) + + + - \ No newline at end of file + From 47aa2c1513541df97e6fd51c4da36b4494ebaf50 Mon Sep 17 00:00:00 2001 From: GreemDev Date: Mon, 28 Jul 2025 19:33:59 -0500 Subject: [PATCH 3/7] Comment AppImage builds It randomly started erroring in GitHub actions with exit code 8 but only sometimes, and I don't have the patience to debug it. I don't even use linux lol --- .github/workflows/canary.yml | 80 ++++++++++++++++++----------------- .github/workflows/release.yml | 80 ++++++++++++++++++----------------- 2 files changed, 82 insertions(+), 78 deletions(-) diff --git a/.github/workflows/canary.yml b/.github/workflows/canary.yml index cf250eb08..a24d8b83f 100644 --- a/.github/workflows/canary.yml +++ b/.github/workflows/canary.yml @@ -105,46 +105,48 @@ jobs: gli --access-token=${{ secrets.GITLAB_TOKEN }} --project=ryubing/canary --command=UploadGenericPackage "Ryubing-Canary|${{ steps.version_info.outputs.build_version }}|release_output/ryujinx-canary-${{ steps.version_info.outputs.build_version }}-${{ matrix.platform.zip_os_name }}.tar.gz" shell: bash + + # If anyone wants to look into why appimagetool randomly errors with exit code 8, that would be cool - - name: Build AppImage (Linux) - if: matrix.platform.os == 'ubuntu-latest' - run: | - BUILD_VERSION="${{ steps.version_info.outputs.build_version }}" - PLATFORM_NAME="${{ matrix.platform.name }}" - - sudo apt install -y zsync desktop-file-utils appstream - - mkdir -p tools - export PATH="$PATH:$(readlink -f tools)" - - # Setup appimagetool - wget -q -O tools/appimagetool "https://github.com/AppImage/appimagetool/releases/download/continuous/appimagetool-x86_64.AppImage" - chmod +x tools/appimagetool - chmod +x distribution/linux/appimage/build-appimage.sh - - # Explicitly set $ARCH for appimagetool ($ARCH_NAME is for the file name) - if [ "$PLATFORM_NAME" = "linux-x64" ]; then - ARCH_NAME=x64 - export ARCH=x86_64 - elif [ "$PLATFORM_NAME" = "linux-arm64" ]; then - ARCH_NAME=arm64 - export ARCH=aarch64 - else - echo "Unexpected PLATFORM_NAME "$PLATFORM_NAME"" - exit 1 - fi - - export UFLAG="gh-releases-zsync|${{ secrets.RC_OWNER }}${{ secrets.RC_CANARY_NAME }}|latest|*-$ARCH_NAME.AppImage.zsync" - BUILDDIR=publish OUTDIR=publish_appimage distribution/linux/appimage/build-appimage.sh - - pushd publish_appimage - mv Ryujinx.AppImage ../release_output/ryujinx-canary-$BUILD_VERSION-$ARCH_NAME.AppImage - mv Ryujinx.AppImage.zsync ../release_output/ryujinx-canary-$BUILD_VERSION-$ARCH_NAME.AppImage.zsync - popd - - gli --access-token=${{ secrets.GITLAB_TOKEN }} --project=ryubing/canary --command=UploadGenericPackage "Ryubing-Canary|${{ steps.version_info.outputs.build_version }}|release_output/ryujinx-canary-$BUILD_VERSION-$ARCH_NAME.AppImage" - gli --access-token=${{ secrets.GITLAB_TOKEN }} --project=ryubing/canary --command=UploadGenericPackage "Ryubing-Canary|${{ steps.version_info.outputs.build_version }}|release_output/ryujinx-canary-$BUILD_VERSION-$ARCH_NAME.AppImage.zsync" - shell: bash +# - name: Build AppImage (Linux) +# if: matrix.platform.os == 'ubuntu-latest' +# run: | +# BUILD_VERSION="${{ steps.version_info.outputs.build_version }}" +# PLATFORM_NAME="${{ matrix.platform.name }}" +# +# sudo apt install -y zsync desktop-file-utils appstream +# +# mkdir -p tools +# export PATH="$PATH:$(readlink -f tools)" +# +# # Setup appimagetool +# wget -q -O tools/appimagetool "https://github.com/AppImage/appimagetool/releases/download/continuous/appimagetool-x86_64.AppImage" +# chmod +x tools/appimagetool +# chmod +x distribution/linux/appimage/build-appimage.sh +# +# # Explicitly set $ARCH for appimagetool ($ARCH_NAME is for the file name) +# if [ "$PLATFORM_NAME" = "linux-x64" ]; then +# ARCH_NAME=x64 +# export ARCH=x86_64 +# elif [ "$PLATFORM_NAME" = "linux-arm64" ]; then +# ARCH_NAME=arm64 +# export ARCH=aarch64 +# else +# echo "Unexpected PLATFORM_NAME "$PLATFORM_NAME"" +# exit 1 +# fi +# +# export UFLAG="gh-releases-zsync|${{ secrets.RC_OWNER }}${{ secrets.RC_CANARY_NAME }}|latest|*-$ARCH_NAME.AppImage.zsync" +# BUILDDIR=publish OUTDIR=publish_appimage distribution/linux/appimage/build-appimage.sh +# +# pushd publish_appimage +# mv Ryujinx.AppImage ../release_output/ryujinx-canary-$BUILD_VERSION-$ARCH_NAME.AppImage +# mv Ryujinx.AppImage.zsync ../release_output/ryujinx-canary-$BUILD_VERSION-$ARCH_NAME.AppImage.zsync +# popd +# +# gli --access-token=${{ secrets.GITLAB_TOKEN }} --project=ryubing/canary --command=UploadGenericPackage "Ryubing-Canary|${{ steps.version_info.outputs.build_version }}|release_output/ryujinx-canary-$BUILD_VERSION-$ARCH_NAME.AppImage" +# gli --access-token=${{ secrets.GITLAB_TOKEN }} --project=ryubing/canary --command=UploadGenericPackage "Ryubing-Canary|${{ steps.version_info.outputs.build_version }}|release_output/ryujinx-canary-$BUILD_VERSION-$ARCH_NAME.AppImage.zsync" +# shell: bash macos_release: name: Release MacOS universal diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index 9f2099719..e1d85f63e 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -96,46 +96,48 @@ jobs: shell: bash env: GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} - - - name: Build AppImage (Linux) - if: matrix.platform.os == 'ubuntu-latest' - run: | - BUILD_VERSION="${{ steps.version_info.outputs.build_version }}" - PLATFORM_NAME="${{ matrix.platform.name }}" - - sudo apt install -y zsync desktop-file-utils appstream - - mkdir -p tools - export PATH="$PATH:$(readlink -f tools)" - - # Setup appimagetool - wget -q -O tools/appimagetool "https://github.com/AppImage/appimagetool/releases/download/continuous/appimagetool-x86_64.AppImage" - chmod +x tools/appimagetool - chmod +x distribution/linux/appimage/build-appimage.sh - - # Explicitly set $ARCH for appimagetool ($ARCH_NAME is for the file name) - if [ "$PLATFORM_NAME" = "linux-x64" ]; then - ARCH_NAME=x64 - export ARCH=x86_64 - elif [ "$PLATFORM_NAME" = "linux-arm64" ]; then - ARCH_NAME=arm64 - export ARCH=aarch64 - else - echo "Unexpected PLATFORM_NAME "$PLATFORM_NAME"" - exit 1 - fi - - export UFLAG="gh-releases-zsync|${{ github.repository_owner }}|${{ github.event.repository.name }}|latest|*-$ARCH_NAME.AppImage.zsync" - BUILDDIR=publish OUTDIR=publish_appimage distribution/linux/appimage/build-appimage.sh - - pushd publish_appimage - mv Ryujinx.AppImage ../release_output/ryujinx-$BUILD_VERSION-$ARCH_NAME.AppImage - mv Ryujinx.AppImage.zsync ../release_output/ryujinx-$BUILD_VERSION-$ARCH_NAME.AppImage.zsync - popd - gli --access-token=${{ secrets.GITLAB_TOKEN }} --project=ryubing/ryujinx --command=UploadGenericPackage "Ryubing|${{ steps.version_info.outputs.build_version }}|release_output/ryujinx-$BUILD_VERSION-$ARCH_NAME.AppImage" - gli --access-token=${{ secrets.GITLAB_TOKEN }} --project=ryubing/ryujinx --command=UploadGenericPackage "Ryubing|${{ steps.version_info.outputs.build_version }}|release_output/ryujinx-$BUILD_VERSION-$ARCH_NAME.AppImage.zsync" - shell: bash + # If anyone wants to look into why appimagetool randomly errors with exit code 8, that would be cool + +# - name: Build AppImage (Linux) +# if: matrix.platform.os == 'ubuntu-latest' +# run: | +# BUILD_VERSION="${{ steps.version_info.outputs.build_version }}" +# PLATFORM_NAME="${{ matrix.platform.name }}" +# +# sudo apt install -y zsync desktop-file-utils appstream +# +# mkdir -p tools +# export PATH="$PATH:$(readlink -f tools)" +# +# # Setup appimagetool +# wget -q -O tools/appimagetool "https://github.com/AppImage/appimagetool/releases/download/continuous/appimagetool-x86_64.AppImage" +# chmod +x tools/appimagetool +# chmod +x distribution/linux/appimage/build-appimage.sh +# +# # Explicitly set $ARCH for appimagetool ($ARCH_NAME is for the file name) +# if [ "$PLATFORM_NAME" = "linux-x64" ]; then +# ARCH_NAME=x64 +# export ARCH=x86_64 +# elif [ "$PLATFORM_NAME" = "linux-arm64" ]; then +# ARCH_NAME=arm64 +# export ARCH=aarch64 +# else +# echo "Unexpected PLATFORM_NAME "$PLATFORM_NAME"" +# exit 1 +# fi +# +# export UFLAG="gh-releases-zsync|${{ github.repository_owner }}|${{ github.event.repository.name }}|latest|*-$ARCH_NAME.AppImage.zsync" +# BUILDDIR=publish OUTDIR=publish_appimage distribution/linux/appimage/build-appimage.sh +# +# pushd publish_appimage +# mv Ryujinx.AppImage ../release_output/ryujinx-$BUILD_VERSION-$ARCH_NAME.AppImage +# mv Ryujinx.AppImage.zsync ../release_output/ryujinx-$BUILD_VERSION-$ARCH_NAME.AppImage.zsync +# popd +# +# gli --access-token=${{ secrets.GITLAB_TOKEN }} --project=ryubing/ryujinx --command=UploadGenericPackage "Ryubing|${{ steps.version_info.outputs.build_version }}|release_output/ryujinx-$BUILD_VERSION-$ARCH_NAME.AppImage" +# gli --access-token=${{ secrets.GITLAB_TOKEN }} --project=ryubing/ryujinx --command=UploadGenericPackage "Ryubing|${{ steps.version_info.outputs.build_version }}|release_output/ryujinx-$BUILD_VERSION-$ARCH_NAME.AppImage.zsync" +# shell: bash macos_release: name: Release MacOS universal From c2f4118b1fca03848c227c9b1adc8f4dc7f313b3 Mon Sep 17 00:00:00 2001 From: Neo Date: Sat, 2 Aug 2025 04:21:52 -0500 Subject: [PATCH 4/7] Minor locales.json Adjustments (ryubing/ryujinx!91) See merge request ryubing/ryujinx!91 --- assets/locales.json | 174 ++++++++++++++++++++++---------------------- 1 file changed, 87 insertions(+), 87 deletions(-) diff --git a/assets/locales.json b/assets/locales.json index 18e964d68..4a548a53c 100644 --- a/assets/locales.json +++ b/assets/locales.json @@ -223,7 +223,7 @@ "ar_SA": "المُضيف (سريع)", "de_DE": "Host (schnell)", "el_GR": "Υπολογιστής (γρήγορο)", - "en_US": "Host (fast)", + "en_US": "Host (Fast)", "es_ES": "Host (rápido)", "fr_FR": "Hôte (rapide)", "he_IL": "מארח (מהיר)", @@ -248,7 +248,7 @@ "ar_SA": "المضيف (غير مفحوص) (أسرع، غير آمن)", "de_DE": "Host ungeprüft (am schnellsten, unsicher)", "el_GR": "Χωρίς Ελέγχους (γρηγορότερο, μη ασφαλές)", - "en_US": "Host Unchecked (fastest, unsafe)", + "en_US": "Host Unchecked (Fastest, Unsafe)", "es_ES": "Host sin verificación (más rápido, inseguro)", "fr_FR": "Hôte non vérifié (plus rapide, non sécurisé)", "he_IL": "מארח לא מבוקר (המהיר ביותר, לא בטוח)", @@ -323,7 +323,7 @@ "ar_SA": "_تحميل تطبيق من ملف", "de_DE": "Datei _öffnen", "el_GR": "_Φόρτωση Αρχείου Εφαρμογής", - "en_US": "_Load Application From File", + "en_US": "_Load Application from File", "es_ES": "_Cargar aplicación desde un archivo", "fr_FR": "_Charger une application à partir d’un fichier", "he_IL": "_טען יישום מקובץ", @@ -534,7 +534,7 @@ "pl_PL": "_Wyjdź", "pt_BR": "_Sair", "ru_RU": "_Выход", - "sv_SE": "A_vsluta", + "sv_SE": "_Avsluta", "th_TH": "_ออก", "tr_TR": "_Çıkış", "uk_UA": "_Вихід", @@ -559,7 +559,7 @@ "pl_PL": "_Opcje", "pt_BR": "_Opções", "ru_RU": "_Настройки", - "sv_SE": "I_nställningar", + "sv_SE": "_Inställningar", "th_TH": "_ตัวเลือก", "tr_TR": "_Seçenekler", "uk_UA": "_Параметри", @@ -582,7 +582,7 @@ "ko_KR": "전체 화면 전환", "no_NO": "Fullskjermsvisning av/på", "pl_PL": "Przełącz na tryb pełnoekranowy", - "pt_BR": "_Mudar para Tela Cheia", + "pt_BR": "Mudar para Tela Cheia", "ru_RU": "Включить полноэкранный режим", "sv_SE": "Växla helskärm", "th_TH": "สลับเป็นโหมดเต็มหน้าจอ", @@ -657,7 +657,7 @@ "ko_KR": "에뮬레이션 중지", "no_NO": "Stopp Emulering", "pl_PL": "Zatrzymaj emulację", - "pt_BR": "_Parar a Emulação", + "pt_BR": "Parar a Emulação", "ru_RU": "Остановить эмуляцию", "sv_SE": "Stoppa emulering", "th_TH": "หยุดการจำลอง", @@ -734,7 +734,7 @@ "pl_PL": "_Akcje", "pt_BR": "_Ações", "ru_RU": "_Действия", - "sv_SE": "Åt_gärder", + "sv_SE": "_Åtgärder", "th_TH": "การดำเนินการ", "tr_TR": "_Eylemler", "uk_UA": "_Дії", @@ -748,7 +748,7 @@ "ar_SA": "محاكاة رسالة الاستيقاظ", "de_DE": "Aufwachnachricht simulieren", "el_GR": "Προσομοίωση Μηνύματος Αφύπνισης", - "en_US": "Simulate Wake-up message", + "en_US": "Simulate Wake-Up Message", "es_ES": "Simular mensaje de reactivación", "fr_FR": "Simuler un message de réveil", "he_IL": "דמה הודעת השכמה", @@ -757,7 +757,7 @@ "ko_KR": "웨이크업 메시지 시뮬레이션", "no_NO": "Simuler oppvåknings-melding", "pl_PL": "Symuluj wiadomość wybudzania", - "pt_BR": "_Simular Mensagem de Acordar o Console", + "pt_BR": "Simular Mensagem de Acordar o Console", "ru_RU": "Имитировать сообщение пробуждения", "sv_SE": "Simulera uppvakningsmeddelande", "th_TH": "จำลองข้อความปลุก", @@ -798,7 +798,7 @@ "ar_SA": "", "de_DE": "Amiibo scannen (aus Bin-Datei)", "el_GR": "", - "en_US": "Scan An Amiibo (From Bin)", + "en_US": "Scan An Amiibo (from .bin)", "es_ES": "", "fr_FR": "Scanner un Amiibo (à partir d'un .bin)", "he_IL": "", @@ -832,7 +832,7 @@ "ko_KR": "펌웨어 설치", "no_NO": "Installer fastvare", "pl_PL": "Zainstaluj oprogramowanie", - "pt_BR": "_Instalar Firmware", + "pt_BR": "Instalar Firmware", "ru_RU": "Установка прошивки", "sv_SE": "Installera firmware", "th_TH": "ติดตั้งเฟิร์มแวร์", @@ -848,7 +848,7 @@ "ar_SA": "تثبيت برنامج ثابت من XCI أو ZIP", "de_DE": "Firmware von einer XCI- oder einer ZIP-Datei installieren", "el_GR": "Εγκατάσταση Firmware από XCI ή ZIP", - "en_US": "Install a firmware from XCI or ZIP", + "en_US": "Install Firmware from XCI or ZIP", "es_ES": "Instalar firmware desde un archivo XCI o ZIP", "fr_FR": "Installer un firmware depuis un fichier XCI ou ZIP", "he_IL": "התקן קושחה מקובץ- ZIP/XCI", @@ -873,7 +873,7 @@ "ar_SA": "تثبيت برنامج ثابت من مجلد", "de_DE": "Firmware aus einem Verzeichnis installieren", "el_GR": "Εγκατάσταση Firmware από τοποθεσία", - "en_US": "Install a firmware from a directory", + "en_US": "Install Firmware from a Directory", "es_ES": "Instalar firmware desde una carpeta", "fr_FR": "Installer un firmware à partir d’un dossier", "he_IL": "התקן קושחה מתוך תקייה", @@ -923,7 +923,7 @@ "ar_SA": "", "de_DE": "Schlüssel aus KEYS oder ZIP installieren", "el_GR": "", - "en_US": "Install keys from KEYS or ZIP", + "en_US": "Install Keys from KEYS or ZIP", "es_ES": "Instalar keys de KEYS o ZIP", "fr_FR": "Installer des clés à partir de .KEYS ou .ZIP", "he_IL": "", @@ -948,7 +948,7 @@ "ar_SA": "", "de_DE": "Schlüssel aus einem Verzeichnis installieren", "el_GR": "", - "en_US": "Install keys from a directory", + "en_US": "Install Keys from a Directory", "es_ES": "Instalar keys de un directorio", "fr_FR": "Installer des clés à partir d'un dossier", "he_IL": "", @@ -973,7 +973,7 @@ "ar_SA": "إدارة أنواع الملفات", "de_DE": "Dateitypen verwalten", "el_GR": "Διαχείριση τύπων αρχείων", - "en_US": "Manage file types", + "en_US": "Manage File Types", "es_ES": "Administrar tipos de archivo", "fr_FR": "Gérer les types de fichiers", "he_IL": "ניהול סוגי קבצים", @@ -998,7 +998,7 @@ "ar_SA": "تثبيت أنواع الملفات", "de_DE": "Dateitypen installieren", "el_GR": "Εγκαταστήσετε τύπους αρχείων.", - "en_US": "Install file types", + "en_US": "Install File Types", "es_ES": "Instalar tipos de archivo", "fr_FR": "Installer des types de fichiers", "he_IL": "סוגי קבצי התקנה", @@ -1023,7 +1023,7 @@ "ar_SA": "إزالة أنواع الملفات", "de_DE": "Dateitypen deinstallieren", "el_GR": "Απεγκαταστήσετε τύπους αρχείων", - "en_US": "Uninstall file types", + "en_US": "Uninstall File Types", "es_ES": "Desinstalar tipos de archivo", "fr_FR": "Désinstaller des types de fichiers", "he_IL": "סוגי קבצי הסרה", @@ -1082,7 +1082,7 @@ "ko_KR": "보기(_V)", "no_NO": "_Vis", "pl_PL": "", - "pt_BR": "Ver", + "pt_BR": "_Ver", "ru_RU": "_Вид", "sv_SE": "_Visa", "th_TH": "_มุมมอง", @@ -1257,7 +1257,7 @@ "ko_KR": "업데이트 확인", "no_NO": "Se etter oppdateringer", "pl_PL": "Sprawdź aktualizacje", - "pt_BR": "_Verificar Atualizações", + "pt_BR": "Verificar Atualizações", "ru_RU": "Проверить наличие обновлений", "sv_SE": "Leta efter uppdateringar", "th_TH": "ตรวจสอบอัปเดต", @@ -1457,7 +1457,7 @@ "ko_KR": "정보", "no_NO": "Om", "pl_PL": "O programie", - "pt_BR": "_Sobre", + "pt_BR": "Sobre", "ru_RU": "О программе", "sv_SE": "Om", "th_TH": "เกี่ยวกับ", @@ -1798,7 +1798,7 @@ "ar_SA": "صيغة الملف", "de_DE": "Dateiformat", "el_GR": "Κατάληξη", - "en_US": "File Ext", + "en_US": "File Ext.", "es_ES": "Extensión", "fr_FR": "Extension du fichier", "he_IL": "סיומת קובץ", @@ -2448,7 +2448,7 @@ "ar_SA": "", "de_DE": "", "el_GR": "", - "en_US": "Purge PPTC cache", + "en_US": "Purge PPTC Cache", "es_ES": "", "fr_FR": "Purger le cache PPTC", "he_IL": "", @@ -3199,7 +3199,7 @@ "de_DE": "Atmosphere-Mod-Verzeichnis öffnen", "el_GR": "", "en_US": "Open Atmosphere Mods Directory", - "es_ES": "Abrir Directorio de Mods de Atmosphere\n\n\n\n\n\n", + "es_ES": "Abrir Directorio de Mods de Atmosphere", "fr_FR": "Ouvrir le dossier des mods Atmosphère", "he_IL": "פתח תיקיית מודים של Atmosphere", "it_IT": "Apri la cartella delle mod Atmosphere", @@ -3275,7 +3275,7 @@ "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 découper le fichier XCI pour économiser de l’espace disque", + "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": "", @@ -3998,7 +3998,7 @@ "ar_SA": "", "de_DE": "", "el_GR": "", - "en_US": "Show Original UI Style (Requires restart)", + "en_US": "Show Original UI Style (Requires Restart)", "es_ES": "", "fr_FR": "Afficher le style d’interface original (redémarrage requis)", "he_IL": "", @@ -4023,23 +4023,23 @@ "ar_SA": "", "de_DE": "", "el_GR": "", - "en_US": "Show the older Avalonia Ryujinx UI reminiscent of Ryujinx 1.1.1403. This is enabled by default on platforms that are not Windows.\nThe classic-style title bar is back and major window layout reworkings are reversed; such as the settings navigation placement above this tooltip.", + "en_US": "Show the older Avalonia Ryujinx UI reminiscent of Ryujinx 1.1.1403. This is enabled by default on platforms that are not Windows.\n\nThe classic-style title bar is back and major window layout reworkings are reversed; such as the settings navigation placement above this tooltip.", "es_ES": "", - "fr_FR": "Afficher l’ancienne interface Avalonia Ryujinx, rappelant Ryujinx 1.1.1403. Cette option est activée par défaut sur les plateformes autres que Windows.\nLa barre de titre au style classique est de retour et les modifications majeures de la disposition des fenêtres sont annulées, comme le placement de la navigation des paramètres au-dessus de cette infobulle.", + "fr_FR": "Afficher l’ancienne interface Avalonia Ryujinx, rappelant Ryujinx 1.1.1403. Cette option est activée par défaut sur les plateformes autres que Windows.\n\nLa barre de titre au style classique est de retour et les modifications majeures de la disposition des fenêtres sont annulées, comme le placement de la navigation des paramètres au-dessus de cette infobulle.", "he_IL": "", "it_IT": "", "ja_JP": "", - "ko_KR": "Ryujinx 1.1.1403을 연상시키는 이전 Avalonia Ryujinx UI를 표시합니다. 이 기능은 윈도가 아닌 플랫폼에서는 기본적으로 활성화됩니다.\n 클래식 스타일의 타이틀 바가 돌아왔고 주요 창 레이아웃 변경 사항이 원래대로 적용됩니다. 이 툴팁 위의 설정 탐색 배치와 같은 경우입니다.", - "no_NO": "Vis det eldre Avalonia Ryujinx-grensesnittet som minner om Ryujinx 1.1.1403. Dette er aktivert som standard på plattformer som ikke er Windows.\nTittellinjen i klassisk stil er tilbake, og store omarbeidinger av vindusoppsettet er reversert, for eksempel plasseringen av innstillingsnavigasjonen over dette verktøytipset.", + "ko_KR": "Ryujinx 1.1.1403을 연상시키는 이전 Avalonia Ryujinx UI를 표시합니다. 이 기능은 윈도가 아닌 플랫폼에서는 기본적으로 활성화됩니다.\n\n 클래식 스타일의 타이틀 바가 돌아왔고 주요 창 레이아웃 변경 사항이 원래대로 적용됩니다. 이 툴팁 위의 설정 탐색 배치와 같은 경우입니다.", + "no_NO": "Vis det eldre Avalonia Ryujinx-grensesnittet som minner om Ryujinx 1.1.1403. Dette er aktivert som standard på plattformer som ikke er Windows.\n\nTittellinjen i klassisk stil er tilbake, og store omarbeidinger av vindusoppsettet er reversert, for eksempel plasseringen av innstillingsnavigasjonen over dette verktøytipset.", "pl_PL": "", - "pt_BR": "Mostrar a Interface Avalonia antiga do Ryujinx 1.1.1403. Esta versão é ativada por padrão nas plataformas que não sejam Windows. \nO estilo clássico da Barra de Título retorna e grande parte das mudanças do Layout de janela são revertidas; assim como as configurações de posicionamento da navegação acima dessa descrição.", - "ru_RU": "Показать старый пользовательский интерфейс Avalonia Ryujinx, напоминающий Ryujinx 1.1.1403. Включено по умолчанию на платформах, отличных от Windows.\nСтрока заголовка в классическом стиле вернётся на место, а основные изменения в оформлении окна будут отменены; например, расположение навигации по настройкам над этой всплывающей подсказкой.", - "sv_SE": "Visa det gamla Ryuijinx-gränssnittet baserat på Avalonia som påminner om version 1.1.1403. Detta är aktiverat som standard på plattformat som inte är Windows.\nDen klassiska titelfältet är tillbaka och de stora omarbetningarna av fönsterlayouten är omvända, till exempel placeringen av inställningsnavigeringen ovanför detta verktygstips.", + "pt_BR": "Mostrar a Interface Avalonia antiga do Ryujinx 1.1.1403. Esta versão é ativada por padrão nas plataformas que não sejam Windows.\n\nO estilo clássico da Barra de Título retorna e grande parte das mudanças do Layout de janela são revertidas; assim como as configurações de posicionamento da navegação acima dessa descrição.", + "ru_RU": "Показать старый пользовательский интерфейс Avalonia Ryujinx, напоминающий Ryujinx 1.1.1403. Включено по умолчанию на платформах, отличных от Windows.\n\nСтрока заголовка в классическом стиле вернётся на место, а основные изменения в оформлении окна будут отменены; например, расположение навигации по настройкам над этой всплывающей подсказкой.", + "sv_SE": "Visa det gamla Ryuijinx-gränssnittet baserat på Avalonia som påminner om version 1.1.1403. Detta är aktiverat som standard på plattformat som inte är Windows.\n\nDen klassiska titelfältet är tillbaka och de stora omarbetningarna av fönsterlayouten är omvända, till exempel placeringen av inställningsnavigeringen ovanför detta verktygstips.", "th_TH": "", "tr_TR": "", - "uk_UA": "Показати старий інтерфейс Avalonia Ryujinx, який був у Ryujinx 1.1.1403. Ця опція активна за замовчуванням на всіх інших, окрім Windows платформах.\nПовернеться класична панель заголовка, а всі суттєві зміни інтерфейсу будуть скасовані, зокрема горизонтальне розміщення навігації в налаштуваннях.", - "zh_CN": "显示旧的类似 Ryujinx 1.1.1403 的 Avalonia Ryujinx UI。在非 Windows 平台上默认启用此选项。\n经典样式的标题栏已回归并且恢复了对窗口布局的重大重构;例如在工具提示上方放置设置导航。", - "zh_TW": "顯示舊版 Ryujinx 1.1.1403 的 Avalonia UI 樣式。在非 Windows 平台預設啟用。\n經典樣式的標題欄已回歸,並且還原了對設定視窗佈局的大型重構:例如在工具提示上方設置導覽列。" + "uk_UA": "Показати старий інтерфейс Avalonia Ryujinx, який був у Ryujinx 1.1.1403. Ця опція активна за замовчуванням на всіх інших, окрім Windows платформах.\n\nПовернеться класична панель заголовка, а всі суттєві зміни інтерфейсу будуть скасовані, зокрема горизонтальне розміщення навігації в налаштуваннях.", + "zh_CN": "显示旧的类似 Ryujinx 1.1.1403 的 Avalonia Ryujinx UI。在非 Windows 平台上默认启用此选项。\n\n经典样式的标题栏已回归并且恢复了对窗口布局的重大重构;例如在工具提示上方放置设置导航。", + "zh_TW": "顯示舊版 Ryujinx 1.1.1403 的 Avalonia UI 樣式。在非 Windows 平台預設啟用。\n\n經典樣式的標題欄已回歸,並且還原了對設定視窗佈局的大型重構:例如在工具提示上方設置導覽列。" } }, { @@ -5070,24 +5070,24 @@ { "ID": "SettingsTabSystemEnableLowPowerPptc", "Translations": { - "ar_SA": "Low-power PPTC", + "ar_SA": "", "de_DE": "Kleinleistungs-PPTC", - "el_GR": "Low-power PPTC", - "en_US": "Low-power PPTC cache", - "es_ES": "Cache PPTC de bajo consumo", - "fr_FR": "Cache PPTC de faible puissance", - "he_IL": "Low-power PPTC", - "it_IT": "Caricamento PPTC a basso consumo energetico", - "ja_JP": "Low-power PPTC", + "el_GR": "", + "en_US": "Low-Power PPTC", + "es_ES": "PPTC de bajo consumo", + "fr_FR": "PPTC de faible puissance", + "he_IL": "", + "it_IT": "PPTC a basso consumo energetico", + "ja_JP": "", "ko_KR": "저전력 PPTC 캐시", "no_NO": "PPTC med lavt strømforbruk", - "pl_PL": "Low-power PPTC", - "pt_BR": "Cache PPTC com Baixo Consumo de Energia", + "pl_PL": "", + "pt_BR": "PPTC com Baixo Consumo de Energia", "ru_RU": "PPTC с низким электропотреблением", "sv_SE": "PPTC med låg strömförbrukning", "th_TH": "PPTC แบบพลังงานตํ่า", - "tr_TR": "Low-power PPTC", - "uk_UA": "Low-power PPTC", + "tr_TR": "", + "uk_UA": "", "zh_CN": "低功耗 PPTC 加载", "zh_TW": "低功耗 PPTC" } @@ -5098,7 +5098,7 @@ "ar_SA": "", "de_DE": "", "el_GR": "", - "en_US": "Turbo Mode multiplier:", + "en_US": "Turbo Mode Multiplier:", "es_ES": "", "fr_FR": "Multiplicateur du Mode Turbo :", "he_IL": "", @@ -5148,7 +5148,7 @@ "ar_SA": "", "de_DE": "", "el_GR": "", - "en_US": "Turbo mode is an emulator feature which effectively causes speed up or slow down when a game is not frame-rate sensitive.\nYou can toggle this feature in-game with a hotkey, configurable in Ryujinx Keyboard Hotkeys settings.\n\nLeave at 200 if unsure.", + "en_US": "Turbo Mode is an emulator feature which effectively causes speed up or slow down when a game is not frame-rate sensitive.\nYou can toggle this feature in-game with a hotkey, configurable in Ryujinx Keyboard Hotkeys settings.\n\nLeave at 200 if unsure.", "es_ES": "", "fr_FR": "Le Mode Turbo est une fonctionnalité de l’émulateur qui permet d’accélérer ou de ralentir le jeu lorsque celui-ci n’est pas sensible au taux de rafraîchissement.\nVous pouvez activer ou désactiver cette fonction en jeu via un raccourci clavier, configurable dans les paramètres des raccourcis clavier de Ryujinx.\n\nLaissez à 200 si vous n’êtes pas sûr.", "he_IL": "", @@ -5346,23 +5346,23 @@ "ID": "SettingsTabSystemHacksNote", "Translations": { "ar_SA": "قد يتسبب في عدم الاستقرار", - "de_DE": " (Kann Fehler verursachen)", - "el_GR": " (Μπορεί να προκαλέσουν αστάθεια)", - "en_US": "May cause instability", - "es_ES": " (Pueden causar inestabilidad)", + "de_DE": "Kann Fehler verursachen", + "el_GR": "Μπορεί να προκαλέσουν αστάθεια", + "en_US": "May Cause Instability", + "es_ES": "Pueden causar inestabilidad", "fr_FR": "Peut causer des instabilités", "he_IL": "עלול לגרום לאי יציבות", "it_IT": "Possono causare instabilità", - "ja_JP": " (挙動が不安定になる可能性があります)", + "ja_JP": "挙動が不安定になる可能性があります", "ko_KR": "불안정성을 유발할 수 있음", "no_NO": "Kan forårsake ustabilitet", - "pl_PL": " (mogą powodować niestabilność)", + "pl_PL": "Mogą powodować niestabilność", "pt_BR": "Pode causar instabilidade", "ru_RU": "Возможна нестабильная работа", "sv_SE": "Kan orsaka instabilitet", "th_TH": "อาจทำให้เกิดข้อผิดพลาดได้", - "tr_TR": " (dengesizlik oluşturabilir)", - "uk_UA": " (може викликати нестабільність)", + "tr_TR": "Dengesizlik oluşturabilir", + "uk_UA": "Може викликати нестабільність", "zh_CN": "会导致模拟器不稳定", "zh_TW": "可能導致模擬器不穩定" } @@ -5373,7 +5373,7 @@ "ar_SA": "استخدام تخطيط الذاكرة البديل (المطورين)", "de_DE": "DRAM Größe:", "el_GR": "Μέγεθος DRAM:", - "en_US": "DRAM size:", + "en_US": "DRAM Size:", "es_ES": "Tamaño DRAM:", "fr_FR": "Taille de la DRAM :", "he_IL": "השתמש בפריסת זיכרון חלופית (נועד למפתחים)", @@ -5548,7 +5548,7 @@ "ar_SA": "تخطي مربع حوار 'إدارة الملفات الشخصية للمستخدم'", "de_DE": "Überspringen des Dialogs 'Benutzerprofile verwalten'", "el_GR": "Παράκαμψη διαλόγου 'Διαχείριση Προφίλ _Χρηστών'", - "en_US": "Skip dialog 'Manage User Profiles'", + "en_US": "Skip Dialog 'Manage User Profiles'", "es_ES": "Omitir el diálogo 'Gestionar perfiles de usuario'", "fr_FR": "Ignorer la boîte de dialogue « Gérer les profils utilisateur »", "he_IL": "דילוג על הדיאלוג 'נהל פרופילי משתמש'", @@ -5823,7 +5823,7 @@ "ar_SA": "مخصص (لا ينصح به)", "de_DE": "Benutzerdefiniert (nicht empfohlen)", "el_GR": "Προσαρμοσμένο (Δεν συνιστάται)", - "en_US": "Custom (Not recommended)", + "en_US": "Custom (Not Recommended)", "es_ES": "Personalizada (no recomendado)", "fr_FR": "Personnalisée (non recommandée)", "he_IL": "מותאם אישית (לא מומלץ)", @@ -5923,7 +5923,7 @@ "ar_SA": "4x (2880p/4320p) (لا ينصح به)", "de_DE": "4x (2880p/4320p) (Nicht empfohlen)", "el_GR": "", - "en_US": "4x (2880p/4320p) (Not recommended)", + "en_US": "4x (2880p/4320p) (Not Recommended)", "es_ES": "4x (2880p/4320p) (no recomendado)", "fr_FR": "x4 (2880p/4320p) (non recommandé)", "he_IL": "4x (2880p/4320p) (לא מומלץ)", @@ -6498,7 +6498,7 @@ "ar_SA": "تحذير: سوف يقلل من الأداء", "de_DE": "ACHTUNG: Wird die Leistung reduzieren", "el_GR": "ΠΡΟΕΙΔΟΠΟΙΗΣΗ: Θα μειώσει την απόδοση", - "en_US": "WARNING: Will reduce performance", + "en_US": "WARNING: Will Reduce Performance", "es_ES": "ADVERTENCIA: Reducirá el rendimiento", "fr_FR": "ATTENTION : Réduira les performances", "he_IL": "אזהרה: יפחית ביצועים", @@ -7420,7 +7420,7 @@ { "ID": "ControllerSettingsControllerTypeJoyConRight", "Translations": { - "ar_SA": " جوي كون اليمين", + "ar_SA": "جوي كون اليمين", "de_DE": "Rechter Joy-Con", "el_GR": "Δεξί JoyCon", "en_US": "JoyCon Right", @@ -8673,7 +8673,7 @@ "ar_SA": "استخدام الحركة المتوافقة مع CemuHook", "de_DE": "CemuHook kompatible Bewegungssteuerung", "el_GR": "Κίνηση συμβατή με CemuHook", - "en_US": "Use CemuHook compatible motion", + "en_US": "Use CemuHook Compatible Motion", "es_ES": "Usar movimiento compatible con CemuHook", "fr_FR": "Utiliser la détection de mouvements compatible CemuHook", "he_IL": "השתמש בתנועת CemuHook תואמת ", @@ -11457,7 +11457,7 @@ "ko_KR": "좌측 트리거 1", "no_NO": "Venstre utløser 1", "pl_PL": "", - "pt_BR": " Gatilho Esquerdo 1", + "pt_BR": "Gatilho Esquerdo 1", "ru_RU": "Левый триггер 1", "sv_SE": "Vänster avtryckare 1", "th_TH": "", @@ -11723,7 +11723,7 @@ "ar_SA": "اختر اسم مستعار", "de_DE": "Wähle einen Spitznamen", "el_GR": "Επιλέξτε ψευδώνυμο", - "en_US": "Choose a nickname", + "en_US": "Choose a Nickname", "es_ES": "Escoge un apodo", "fr_FR": "Choisir un pseudo", "he_IL": "בחרו כינוי", @@ -11773,7 +11773,7 @@ "ar_SA": "اختر صورة الملف الشخصي", "de_DE": "Wähle ein Profilbild aus", "el_GR": "Επιλέξτε μία Εικόνα Προφίλ", - "en_US": "Choose a profile Image", + "en_US": "Choose a Profile Image", "es_ES": "Elige una imagen de perfil", "fr_FR": "Choisir l'image du profil", "he_IL": "בחרו תמונת פרופיל", @@ -11998,7 +11998,7 @@ "ar_SA": "اختر اسم الملف الشخصي", "de_DE": "Wähle den Profilnamen", "el_GR": "Επιλογή Ονόματος Προφίλ", - "en_US": "Choose the Profile Name", + "en_US": "Choose a Profile Name", "es_ES": "Introducir nombre de perfil", "fr_FR": "Choisir un nom de profil", "he_IL": "בחרו את שם הפרופיל", @@ -12325,7 +12325,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を隠す", @@ -13650,7 +13650,7 @@ "el_GR": "Επιτυχής εγκατάσταση τύπων αρχείων!", "en_US": "Successfully installed file types!", "es_ES": "¡Tipos de archivos instalados con éxito!", - "fr_FR": "Types de fichiers installés avec succès!", + "fr_FR": "Types de fichiers installés avec succès !", "he_IL": "סוגי קבצים הותקנו בהצלחה!", "it_IT": "Tipi di file installati con successo!", "ja_JP": "ファイル形式のインストールに成功しました!", @@ -13700,7 +13700,7 @@ "el_GR": "Επιτυχής απεγκατάσταση τύπων αρχείων!", "en_US": "Successfully uninstalled file types!", "es_ES": "¡Tipos de archivos desinstalados con éxito!", - "fr_FR": "Types de fichiers désinstallés avec succès!", + "fr_FR": "Types de fichiers désinstallés avec succès !", "he_IL": "סוגי קבצים הוסרו בהצלחה!", "it_IT": "Tipi di file disinstallati con successo!", "ja_JP": "ファイル形式のアンインストールに成功しました!", @@ -13900,7 +13900,7 @@ "el_GR": "", "en_US": "{0}: {1}", "es_ES": "", - "fr_FR": "", + "fr_FR": "{0} : {1}", "he_IL": "", "it_IT": "", "ja_JP": "", @@ -14455,7 +14455,7 @@ "it_IT": "\n\nVuoi continuare?", "ja_JP": "\n\n続けてよろしいですか?", "ko_KR": "\n\n계속하시겠습니까?", - "no_NO": "Vil du fortsette?", + "no_NO": "\n\nVil du fortsette?", "pl_PL": "\n\nCzy chcesz kontynuować?", "pt_BR": "\n\nDeseja continuar?", "ru_RU": "\n\nПродолжить?", @@ -16598,7 +16598,7 @@ "ar_SA": "يجعل وضع تركيب بالمنصة النظام الذي تمت محاكاته بمثابة جهاز نينتندو سويتش الذي تم تركيبه بالمنصة. يؤدي هذا إلى تحسين الدقة الرسومية في معظم الألعاب. على العكس من ذلك، سيؤدي تعطيل هذا إلى جعل النظام الذي تمت محاكاته يعمل كجهاز نينتندو سويتش محمول، مما يقلل من جودة الرسومات.\n\nقم بتكوين عناصر تحكم اللاعب 1 إذا كنت تخطط لاستخدام وضع تركيب بالمنصة؛ قم بتكوين عناصر التحكم المحمولة إذا كنت تخطط لاستخدام الوضع المحمول.\n\nاتركه مشغل إذا لم تكن متأكدا.", "de_DE": "Im gedockten Modus verhält sich das emulierte System wie eine Nintendo Switch im TV Modus. Dies verbessert die grafische Qualität der meisten Spiele. Umgekehrt führt die Deaktivierung dazu, dass sich das emulierte System wie eine Nintendo Switch im Handheld Modus verhält, was die Grafikqualität beeinträchtigt.\n\nKonfiguriere das Eingabegerät für Spieler 1, um im Docked Modus zu spielen; konfiguriere das Controllerprofil via der Handheld Option, wenn geplant wird den Handheld Modus zu nutzen.\n\nIm Zweifelsfall AN lassen.", "el_GR": "Ενεργοποιήστε ή απενεργοποιήστε τη λειτουργία σύνδεσης", - "en_US": "Docked mode makes the emulated system behave as a docked Nintendo Switch. This improves graphical fidelity in most games. Conversely, disabling this will make the emulated system behave as a handheld Nintendo Switch, reducing graphics quality.\n\nConfigure player 1 controls if planning to use docked mode; configure handheld controls if planning to use handheld mode.\n\nLeave ON if unsure.", + "en_US": "Docked mode makes the emulated system behave as a docked Nintendo Switch. This improves graphical fidelity in most games. Conversely, disabling this will make the emulated system behave as a handheld Nintendo Switch, reducing graphics quality.\n\nConfigure Player 1 controls if planning to use docked mode; configure handheld controls if planning to use handheld mode.\n\nLeave ON if unsure.", "es_ES": "El modo dock o modo TV hace que la consola emulada se comporte como una Nintendo Switch en su dock. Esto mejora la calidad gráfica en la mayoría de los juegos. Del mismo modo, si lo desactivas, el sistema emulado se comportará como una Nintendo Switch en modo portátil, reduciendo la cálidad de los gráficos.\n\nConfigura los controles de \"Jugador\" 1 si planeas jugar en modo dock/TV; configura los controles de \"Portátil\" si planeas jugar en modo portátil.\n\nActívalo si no sabes qué hacer.", "fr_FR": "Le mode docké fait que le système émulé se comporte comme une Nintendo Switch en mode dock. Cela améliore la qualité graphique dans la plupart des jeux. À l’inverse, désactiver ce mode fera que le système émulé se comporte comme une Nintendo Switch en mode portable, ce qui réduit la qualité graphique.\n\nConfigurez les contrôles du joueur 1 si vous prévoyez d’utiliser le mode docké ; configurez les contrôles pour le mode portable si vous comptez utiliser ce dernier.\n\nLaissez ACTIVÉ si vous n’êtes pas sûr..", "he_IL": "מצב עגינה גורם למערכת המדומה להתנהג כ-נינטנדו סוויץ' בתחנת עגינתו. זה משפר את הנאמנות הגרפית ברוב המשחקים.\n לעומת זאת, השבתה של תכונה זו תגרום למערכת המדומה להתנהג כ- נינטנדו סוויץ' נייד, ולהפחית את איכות הגרפיקה.\n\nהגדירו את שלט שחקן 1 אם אתם מתכננים להשתמש במצב עגינה; הגדירו את פקדי כף היד אם אתם מתכננים להשתמש במצב נייד.\n\nמוטב להשאיר דלוק אם אתם לא בטוחים.", @@ -17409,7 +17409,7 @@ "pl_PL": "Wyświetla komunikaty dziennika informacyjnego w konsoli. Nie wpływa na wydajność.", "pt_BR": "Imprime mensagens de log de informações no console. Não afeta o desempenho.", "ru_RU": "Включает вывод сообщений информационного журнала в консоль. Не влияет на производительность.", - "sv_SE": "Skriver ut informationsloggmeddelanden i konsollen. Påverkar inte prestandan.", + "sv_SE": "Skriver ut informationsloggmeddelanden i konsollen. Påverkar inte prestandan.", "th_TH": "พิมพ์ข้อความบันทึกข้อมูลในคอนโซล จะไม่ส่งผลกระทบต่อประสิทธิภาพการทำงาน", "tr_TR": "Bilgi log mesajlarını konsola yazdırır. Performansı etkilemez.", "uk_UA": "Виводить повідомлення журналу інформації (info log) в консоль. Не впливає на продуктивність.", @@ -20073,7 +20073,7 @@ "ar_SA": "كل لوحات المفاتيح", "de_DE": "Alle Tastaturen", "el_GR": "Όλα τα πληκτρολόγια", - "en_US": "All keyboards", + "en_US": "All Keyboards", "es_ES": "Todos los teclados", "fr_FR": "Tous les claviers", "he_IL": "כל המקלדות", @@ -22073,7 +22073,7 @@ "ar_SA": "زيادة الدقة:", "de_DE": "Auflösung erhöhen:", "el_GR": "Αύξηση της ανάλυσης:", - "en_US": "Increase resolution:", + "en_US": "Increase Resolution:", "es_ES": "Aumentar la resolución:", "fr_FR": "Augmenter la résolution :", "he_IL": "שפר רזולוציה:", @@ -22098,7 +22098,7 @@ "ar_SA": "خفض الدقة:", "de_DE": "Auflösung verringern:", "el_GR": "Μείωση της ανάλυσης:", - "en_US": "Decrease resolution:", + "en_US": "Decrease Resolution:", "es_ES": "Disminuir la resolución:", "fr_FR": "Diminuer la résolution :", "he_IL": "הפחת רזולוציה:", @@ -23948,7 +23948,7 @@ "ar_SA": "", "de_DE": "", "el_GR": "", - "en_US": "Enable custom refresh rate (Experimental)", + "en_US": "Enable Custom Refresh Rate (Experimental)", "es_ES": "", "fr_FR": "Activer le taux de rafraîchissement customisé (Expérimental)", "he_IL": "", @@ -24100,7 +24100,7 @@ "el_GR": "", "en_US": "Allows the user to specify an emulated refresh rate. In some titles, this may speed up or slow down the rate of gameplay logic. In other titles, it may allow for capping FPS at some multiple of the refresh rate, or lead to unpredictable behavior. This is an experimental feature, with no guarantees for how gameplay will be affected. \n\nLeave OFF if unsure.", "es_ES": "", - "fr_FR": "Permet à l'utilisateur de spécifier un taux de rafraîchissement émulé. Dans certains jeux, ceci pourrait accélérer ou ralentir le taux de logique du gameplay. Dans d'autre titres, cela permettrait limiter le FPS à un multiple du taux de rafraîchissement, ou conduire à un comportement imprévisible. Ceci est une fonctionnalité expérimentale, avec aucune garanties pour comment le gameplay sera affecté. \n\nLaisser désactiver en cas de doute.", + "fr_FR": "Permet à l'utilisateur de spécifier un taux de rafraîchissement émulé. Dans certains jeux, ceci pourrait accélérer ou ralentir le taux de logique du gameplay. Dans d'autre titres, cela permettrait limiter le FPS à un multiple du taux de rafraîchissement, ou conduire à un comportement imprévisible. Ceci est une fonctionnalité expérimentale, avec aucune garanties pour comment le gameplay sera affecté. \n\nLaisser DÉSACTIVER en cas de doute.", "he_IL": "", "it_IT": "Consente all'utente di specificare una frequenza di aggiornamento emulata. In alcuni titoli potrebbe aumentare o diminuire la velocità del gameplay, mentre in altri potrebbe consentire di limitare il framerate a un multiplo della frequenza di aggiornamento, o causare comportamenti imprevedibili. Questa funzionalità è sperimentale, e non ci sono certezze sul modo in cui influenzerà il gameplay.\n\nNel dubbio, lascia l'opzione disattivata.", "ja_JP": "", @@ -24248,7 +24248,7 @@ "ar_SA": "", "de_DE": "VSync-Modus umschalten:", "el_GR": "", - "en_US": "Toggle VSync mode:", + "en_US": "Toggle VSync Mode:", "es_ES": "", "fr_FR": "Basculer le mode VSync :", "he_IL": "", @@ -24273,7 +24273,7 @@ "ar_SA": "", "de_DE": "Benutzerdefinierte Bildwiederholfrequenz erhöhen:", "el_GR": "", - "en_US": "Raise custom refresh rate", + "en_US": "Raise Custom Refresh Rate", "es_ES": "", "fr_FR": "Augmenter le taux de rafraîchissement customisé :", "he_IL": "", @@ -24298,7 +24298,7 @@ "ar_SA": "", "de_DE": "Benutzerdefinierte Bildwiederholfrequenz senken:", "el_GR": "", - "en_US": "Lower custom refresh rate:", + "en_US": "Lower Custom Refresh Rate:", "es_ES": "", "fr_FR": "Baisser le taux de rafraîchissement customisé :", "he_IL": "", @@ -24323,7 +24323,7 @@ "ar_SA": "", "de_DE": "", "el_GR": "", - "en_US": "Turbo mode:", + "en_US": "Turbo Mode:", "es_ES": "", "fr_FR": "Mode Turbo :", "he_IL": "", @@ -24373,7 +24373,7 @@ "ar_SA": "", "de_DE": "", "el_GR": "", - "en_US": "Only while pressed", + "en_US": "Only While Pressed", "es_ES": "", "fr_FR": "Uniquement en appuyant", "he_IL": "", From ddb8afa6f468e7f3297e2bc7711f3e0f5fd7ff6c Mon Sep 17 00:00:00 2001 From: Neo Date: Sat, 2 Aug 2025 04:33:29 -0500 Subject: [PATCH 5/7] Edit compatibility.csv (ryubing/ryujinx!88) See merge request ryubing/ryujinx!88 --- docs/compatibility.csv | 13 ++++++++++++- 1 file changed, 12 insertions(+), 1 deletion(-) diff --git a/docs/compatibility.csv b/docs/compatibility.csv index 567dbe343..344756eb2 100644 --- a/docs/compatibility.csv +++ b/docs/compatibility.csv @@ -188,6 +188,8 @@ 01003DD00BFEE000,"Airheart - Tales of broken Wings",,playable,2021-02-26 15:20:27 01007F100DE52000,"Akane",nvdec,playable,2022-07-21 00:12:18 01009A800F0C8000,"Akash: Path of the Five",gpu;nvdec,ingame,2020-12-14 22:33:12 +01009E8012976000,"AKIBA'S TRIP: Hellbound & Debriefed",,playable,2025-07-30 23:22:47 +0100D74019A0E000,"AKIBA'S TRIP: Undead & Undressed Director's Cut",,playable,2025-07-31 13:58:42 010053100B0EA000,"Akihabara - Feel the Rhythm Remixed",,playable,2021-02-22 14:39:35 0100D4C00EE0C000,"Akuarium",slow,playable,2020-12-12 23:43:36 010026E00FEBE000,"Akuto: Showdown",,playable,2020-08-04 19:43:27 @@ -1095,6 +1097,7 @@ 0100F9600E746000,"ESP Ra.De. Psi",audio;slow,ingame,2024-03-07 15:05:08 010073000FE18000,"Esports powerful pro yakyuu 2020",gpu;crash;Needs More Attention,ingame,2024-04-29 05:34:14 01004F9012FD8000,"Estranged: The Departure",nvdec;UE4,playable,2022-10-24 10:37:58 +010018f01e0a0000,"Eternights",,playable,2025-07-30 12:10:24 0100CB900B498000,"Eternum Ex",,playable,2021-01-13 20:28:32 010092501EB2C000,"Europa (Demo)",gpu;crash;UE4,ingame,2024-04-23 10:47:12 01007BE0160D6000,"EVE ghost enemies",gpu,ingame,2023-01-14 03:13:30 @@ -1240,6 +1243,8 @@ 010003F00BD48000,"Friday the 13th: Killer Puzzle",,playable,2021-01-28 01:33:38 010092A00C4B6000,"Friday the 13th: The Game Ultimate Slasher Edition",nvdec;online-broken;UE4,playable,2022-09-06 17:33:27 0100F200178F4000,"FRONT MISSION 1st: Remake",,playable,2023-06-09 07:44:24 +0100c4e018a24000,"FRONT MISSION 2: Remake",,playable,2025-07-30 12:11:23 +01007E6019872000,"FRONT MISSION 3: Remake",,playable,2025-07-30 12:12:02 0100861012474000,"Frontline Zed",,playable,2020-10-03 12:55:59 0100B5300B49A000,"Frost",,playable,2022-07-27 12:00:36 010038A007AA4000,"FruitFall Crush",,playable,2020-10-20 11:33:33 @@ -1518,6 +1523,7 @@ 010095C016C14000,"Iridium",,playable,2022-08-05 23:19:53 0100AD300B786000,"Iris School of Wizardry -Vinculum Hearts-",,playable,2022-12-05 13:11:15 0100945012168000,"Iris.Fall",nvdec,playable,2022-10-18 13:40:22 +010059801B736000,"IronFall: Invasion",,playable,2025-07-30 11:42:30 01005270118D6000,"Iron Wings",slow,ingame,2022-08-07 08:32:57 01004DB003E6A000,"IRONCAST",,playable,2021-01-13 13:54:29 0100E5700CD56000,"Irony Curtain: From Matryoshka with Love",,playable,2021-06-04 20:12:37 @@ -2306,6 +2312,7 @@ 010077B00BDD8000,"Professional Farmer: Nintendo Switch™ Edition",slow,playable,2020-12-16 13:38:19 010018300C83A000,"Professor Lupo and his Horrible Pets",,playable,2020-06-12 00:08:45 0100D1F0132F6000,"Professor Lupo: Ocean",,playable,2021-04-14 16:33:33 +0100c3a017834000,"Prodeus",,playable,2025-07-30 12:07:52 0100BBD00976C000,"Project Highrise: Architect's Edition",,playable,2022-08-10 17:19:12 0100ACE00DAB6000,"Project Nimbus: Complete Edition",nvdec;UE4;vulkan-backend-bug,playable,2022-08-10 17:35:43 01002980140F6000,"Project TRIANGLE STRATEGY™ Debut Demo",UE4;demo,playable,2022-10-24 21:40:27 @@ -2768,7 +2775,7 @@ 0100E6B0115FC000,"Star99",online,menus,2021-11-26 14:18:51 01002100137BA000,"Stardash",,playable,2021-01-21 16:31:19 0100E65002BB8000,"Stardew Valley",online-broken;ldn-untested,playable,2024-02-14 03:11:19 -01002CC003FE6000,"Starlink: Battle for Atlas™ Digital Edition",services-horizon;crash;Needs Update,nothing,2024-05-05 17:25:11 +01002CC003FE6000,"Starlink: Battle for Atlas™ Digital Edition",,playable,2025-07-30 12:09:37 010098E010FDA000,"Starlit Adventures Golden Stars",,playable,2020-11-21 12:14:43 01001BB00AC26000,"STARSHIP AVENGER Operation: Take Back Earth",,playable,2021-01-12 15:52:55 010000700A572000,"State of Anarchy: Master of Mayhem",nvdec,playable,2021-01-12 19:00:05 @@ -2976,6 +2983,7 @@ 0100C2E0129A6000,"The Executioner",nvdec,playable,2021-01-23 00:31:28 01006050114D4000,"The Experiment: Escape Room",gpu,ingame,2022-09-30 13:20:35 0100B5900DFB2000,"The Eyes of Ara",,playable,2022-09-16 14:44:06 +0100BA5013E52000,"The Falconeer: Warrior Edition",,playable,2025-07-30 12:04:50 01002DD00AF9E000,"The Fall",gpu,ingame,2020-05-31 23:31:16 01003E5002320000,"The Fall Part 2: Unbound",,playable,2021-11-06 02:18:08 0100CDC00789E000,"The Final Station",nvdec,playable,2022-08-22 15:54:39 @@ -3198,6 +3206,7 @@ 010000400F582000,"TT Isle of Man Ride on the Edge 2",gpu;nvdec;online-broken,ingame,2022-09-30 22:13:05 0100752011628000,"TTV2",,playable,2020-11-27 13:21:36 0100AFE00452E000,"Tumblestone",,playable,2021-01-07 17:49:20 +0100D1A01D7BA000,"Turbo Overkill",,playable,2025-07-30 12:08:57 010085500D5F6000,"Turok",gpu,ingame,2021-06-04 13:16:24 0100CDC00D8D6000,"Turok 2: Seeds of Evil",gpu;vulkan,ingame,2022-09-12 17:50:05 010004B0130C8000,"Turrican Flashback",audout,playable,2021-08-30 10:07:56 @@ -3221,6 +3230,8 @@ 0100592005164000,"UNBOX: Newbie's Adventure",UE4,playable,2022-08-29 13:12:56 01002D900C5E4000,"Uncanny Valley",nvdec,playable,2021-06-04 13:28:45 010076F011F54000,"Undead & Beyond",nvdec,playable,2022-10-04 09:11:18 +01009B700D0B8000,"Undead Horde",,playable,2025-07-30 12:05:05 +0100FC301A878000,"Undead Horde 2: Necropolis",,playable,2025-07-30 12:06:07 01008F3013E4E000,"Under Leaves",,playable,2021-05-22 18:13:58 010080B00AD66000,"Undertale",,playable,2022-08-31 17:31:46 01008F80049C6000,"Unepic",,playable,2024-01-15 17:03:00 From 64a6494d9093aba1625ba355aaac0733d83cbd54 Mon Sep 17 00:00:00 2001 From: Neo Date: Sat, 2 Aug 2025 04:51:32 -0500 Subject: [PATCH 6/7] GameListContext Menu Tooltips (ryubing/ryujinx!94) See merge request ryubing/ryujinx!94 --- assets/locales.json | 250 ------------------ .../UI/Controls/ApplicationContextMenu.axaml | 30 +-- 2 files changed, 10 insertions(+), 270 deletions(-) diff --git a/assets/locales.json b/assets/locales.json index 4a548a53c..2c2dd72c7 100644 --- a/assets/locales.json +++ b/assets/locales.json @@ -2142,31 +2142,6 @@ "zh_TW": "開啟使用者存檔資料夾" } }, - { - "ID": "GameListContextMenuOpenUserSaveDirectoryToolTip", - "Translations": { - "ar_SA": "يفتح المجلد الذي يحتوي على حفظ المستخدم للتطبيق", - "de_DE": "Öffnet das Verzeichnis, welches den Benutzer-Spielstand beinhaltet", - "el_GR": "Ανοίγει την τοποθεσία που περιέχει την Αποθήκευση Χρήστη της εφαρμογής", - "en_US": "Opens the directory which contains Application's User Save", - "es_ES": "Abre la carpeta que contiene la partida guardada del usuario para esta aplicación", - "fr_FR": "Ouvre le dossier contenant la sauvegarde utilisateur de l’application", - "he_IL": "פותח את תקיית השמור של המשתמש ביישום הנוכחי", - "it_IT": "Apre la cartella che contiene i dati di salvataggio dell'utente", - "ja_JP": "アプリケーションのユーザセーブデータを格納するディレクトリを開きます", - "ko_KR": "앱의 사용자 저장이 포함된 디렉터리 열기", - "no_NO": "Åpner mappen som inneholder programmets bruker lagring", - "pl_PL": "Otwiera katalog, który zawiera zapis użytkownika dla tej aplikacji", - "pt_BR": "Abre o diretório que contém jogos salvos para o usuário atual", - "ru_RU": "Открывает папку с пользовательскими сохранениями", - "sv_SE": "Öppnar katalogen som innehåller applikationens användarsparade spel", - "th_TH": "เปิดไดเร็กทอรี่ซึ่งมีการบันทึกข้อมูลของผู้ใช้แอปพลิเคชัน", - "tr_TR": "Uygulamanın Kullanıcı Kaydı'nın bulunduğu dizini açar", - "uk_UA": "Відкриває теку, яка містить збереження користувача", - "zh_CN": "打开储存游戏用户存档的目录", - "zh_TW": "開啟此應用程式的使用者存檔資料夾" - } - }, { "ID": "GameListContextMenuOpenDeviceSaveDirectory", "Translations": { @@ -2192,31 +2167,6 @@ "zh_TW": "開啟裝置存檔資料夾" } }, - { - "ID": "GameListContextMenuOpenDeviceSaveDirectoryToolTip", - "Translations": { - "ar_SA": "يفتح المجلد الذي يحتوي على حفظ الجهاز للتطبيق", - "de_DE": "Öffnet das Verzeichnis, welches den Geräte-Spielstände beinhaltet", - "el_GR": "Ανοίγει την τοποθεσία που περιέχει την Αποθήκευση Συσκευής της εφαρμογής", - "en_US": "Opens the directory which contains Application's Device Save", - "es_ES": "Abre la carpeta que contiene la partida guardada del sistema para esta aplicación", - "fr_FR": "Ouvre le dossier contenant la sauvegarde locale de l’application", - "he_IL": "פותח את הספרייה המכילה את שמור המכשיר של היישום", - "it_IT": "Apre la cartella che contiene i dati di salvataggio del dispositivo", - "ja_JP": "アプリケーションのデバイスセーブデータを格納するディレクトリを開きます", - "ko_KR": "앱의 장치 저장이 포함된 디렉터리 열기", - "no_NO": "Åpner mappen som inneholder programmets lagringsenhet", - "pl_PL": "Otwiera katalog, który zawiera zapis urządzenia dla tej aplikacji", - "pt_BR": "Abre o diretório que contém saves do dispositivo para o usuário atual", - "ru_RU": "Открывает папку, содержащую сохраненные устройства", - "sv_SE": "Öppnar katalogen som innehåller applikationens sparade spel på enheten", - "th_TH": "เปิดไดเรกทอรี่ซึ่งมีบันทึกข้อมูลของอุปกรณ์ในแอปพลิเคชัน", - "tr_TR": "Uygulamanın Kullanıcı Cihaz Kaydı'nın bulunduğu dizini açar", - "uk_UA": "Відкриває теку, яка містить збережені пристрої", - "zh_CN": "打开储存游戏系统数据的目录", - "zh_TW": "開啟此應用程式的裝置存檔資料夾" - } - }, { "ID": "GameListContextMenuOpenBcatSaveDirectory", "Translations": { @@ -2242,31 +2192,6 @@ "zh_TW": "開啟 BCAT 存檔資料夾" } }, - { - "ID": "GameListContextMenuOpenBcatSaveDirectoryToolTip", - "Translations": { - "ar_SA": "‫يفتح المجلد الذي يحتوي على حفظ الـBCAT للتطبيق", - "de_DE": "Öffnet das Verzeichnis, welches den BCAT-Cache des Spiels beinhaltet", - "el_GR": "Ανοίγει την τοποθεσία που περιέχει την Αποθήκευση BCAT της εφαρμογής", - "en_US": "Opens the directory which contains Application's BCAT Save", - "es_ES": "Abrir la carpeta que contiene el guardado BCAT de esta aplicación", - "fr_FR": "Ouvre le dossier contenant la sauvegarde BCAT de l’application", - "he_IL": "פותח את תקיית שמור ה-BCAT של היישום", - "it_IT": "Apre la cartella che contiene il salvataggio BCAT dell'applicazione", - "ja_JP": "アプリケーションの BCAT セーブデータを格納するディレクトリを開きます", - "ko_KR": "앱의 BCAT 저장이 포함된 디렉터리 열기", - "no_NO": "Åpner mappen som inneholder programmets BCAT-lagring", - "pl_PL": "Otwiera katalog, który zawiera zapis BCAT dla tej aplikacji", - "pt_BR": "Abre o diretório que contém saves BCAT para o usuário atual", - "ru_RU": "Открывает папку, содержащую сохраненные BCAT", - "sv_SE": "Öppnar katalogen som innehåller applikationens BCAT-sparningar", - "th_TH": "เปิดไดเรกทอรี่ซึ่งมีการบันทึกข้อมูลของ BCAT ในแอปพลิเคชัน", - "tr_TR": "Uygulamanın Kullanıcı BCAT Kaydı'nın bulunduğu dizini açar", - "uk_UA": "Відкриває теку, яка містить BCAT-збереження програми", - "zh_CN": "打开储存游戏 BCAT 数据的目录", - "zh_TW": "開啟此應用程式的 BCAT 存檔資料夾" - } - }, { "ID": "GameListContextMenuManageTitleUpdates", "Translations": { @@ -2292,31 +2217,6 @@ "zh_TW": "管理遊戲更新" } }, - { - "ID": "GameListContextMenuManageTitleUpdatesToolTip", - "Translations": { - "ar_SA": "يفتح نافذة إدارة تحديث اللُعبة", - "de_DE": "Öffnet den Spiel-Update-Manager", - "el_GR": "Ανοίγει το παράθυρο διαχείρισης Ενημερώσεων Παιχνιδιού", - "en_US": "Opens the Title Update management window", - "es_ES": "Abrir la ventana de gestión de actualizaciones de esta aplicación", - "fr_FR": "Ouvre la fenêtre de gestion des mises à jour du titre", - "he_IL": "פותח את חלון מנהל עדכוני המשחקים", - "it_IT": "Apre la finestra di gestione aggiornamenti del gioco", - "ja_JP": "タイトルのアップデート管理ウインドウを開きます", - "ko_KR": "타이틀 업데이트 관리 창 열기", - "no_NO": "Åpner vinduet Tittel - Oppdateringskontroll", - "pl_PL": "Otwiera okno zarządzania aktualizacjami danej aplikacji", - "pt_BR": "Abre a janela de gerenciamento de atualizações", - "ru_RU": "Открывает окно управления обновлениями приложения", - "sv_SE": "Öppnar spelets hanteringsfönster för uppdateringar", - "th_TH": "เปิดหน้าต่างการจัดการเวอร์ชั่นการอัพเดต", - "tr_TR": "Oyun Güncelleme Yönetim Penceresini Açar", - "uk_UA": "Відкриває меню керування оновленнями до гри (застосунку)", - "zh_CN": "打开游戏更新管理窗口", - "zh_TW": "開啟遊戲更新管理視窗" - } - }, { "ID": "GameListContextMenuManageDlc", "Translations": { @@ -2342,31 +2242,6 @@ "zh_TW": "管理 DLC" } }, - { - "ID": "GameListContextMenuManageDlcToolTip", - "Translations": { - "ar_SA": "يفتح نافذة إدارة المحتوي الإضافي", - "de_DE": "Öffnet den DLC-Manager", - "el_GR": "Ανοίγει το παράθυρο διαχείρισης DLC", - "en_US": "Opens the DLC management window", - "es_ES": "Abrir la ventana de gestión del DLC", - "fr_FR": "Ouvre la fenêtre de gestion des DLC", - "he_IL": "פותח את חלון מנהל הרחבות המשחקים", - "it_IT": "Apre la finestra di gestione dei DLC", - "ja_JP": "DLC管理ウインドウを開きます", - "ko_KR": "DLC 관리 창 열기", - "no_NO": "Åpner DLC håndteringsvinduet", - "pl_PL": "Otwiera okno zarządzania dodatkową zawartością", - "pt_BR": "Abre a janela de gerenciamento de DLCs", - "ru_RU": "Открывает окно управления DLC", - "sv_SE": "Öppnar DLC-hanteringsfönstret", - "th_TH": "เปิดหน้าต่างจัดการ DLC", - "tr_TR": "DLC yönetim penceresini açar", - "uk_UA": "Відкриває меню керування DLC", - "zh_CN": "打开 DLC 管理窗口", - "zh_TW": "開啟 DLC 管理視窗" - } - }, { "ID": "GameListContextMenuCacheManagement", "Translations": { @@ -2567,31 +2442,6 @@ "zh_TW": "開啟 PPTC 資料夾" } }, - { - "ID": "GameListContextMenuCacheManagementOpenPptcDirectoryToolTip", - "Translations": { - "ar_SA": "‫‫يفتح المجلد الذي يحتوي على ذاكرة التخزين المؤقت للترجمة المستمرة (PPTC) للتطبيق", - "de_DE": "Öffnet das Verzeichnis, das den PPTC-Cache der Anwendung beinhaltet", - "el_GR": "Ανοίγει την τοποθεσία που περιέχει τη προσωρινή μνήμη PPTC της εφαρμογής", - "en_US": "Opens the directory which contains Application's PPTC cache", - "es_ES": "Abrir la carpeta que contiene la caché de PPTC de esta aplicación", - "fr_FR": "Ouvre le dossier contenant le cache PPTC de l’application", - "he_IL": "פותח את התקייה של מטמון ה-PPTC של האפליקציה", - "it_IT": "Apre la cartella che contiene la cache PPTC dell'applicazione", - "ja_JP": "アプリケーションの PPTC キャッシュを格納するディレクトリを開きます", - "ko_KR": "앱의 PPTC 캐시가 포함된 디렉터리 열기", - "no_NO": "Åpner mappen som inneholder programmets PPTC cache", - "pl_PL": "Otwiera katalog, który zawiera pamięć podręczną PPTC aplikacji", - "pt_BR": "Abre o diretório contendo os arquivos do cache PPTC", - "ru_RU": "Открывает папку, содержащую PPTC кэш приложений и игр", - "sv_SE": "Öppnar katalogen som innehåller applikationens PPTC-cache", - "th_TH": "เปิดไดเร็กทอรี่ของ แคช PPTC ในแอปพลิเคชัน", - "tr_TR": "Uygulamanın PPTC Önbelleğinin bulunduğu dizini açar", - "uk_UA": "Відкриває теку, яка містить PPTC кеш застосунку (гри)", - "zh_CN": "打开储存游戏 PPTC 缓存文件的目录", - "zh_TW": "開啟此應用程式的 PPTC 快取資料夾" - } - }, { "ID": "GameListContextMenuCacheManagementOpenShaderCacheDirectory", "Translations": { @@ -2617,31 +2467,6 @@ "zh_TW": "開啟著色器快取資料夾" } }, - { - "ID": "GameListContextMenuCacheManagementOpenShaderCacheDirectoryToolTip", - "Translations": { - "ar_SA": "يفتح المجلد الذي يحتوي على ذاكرة المظللات المؤقتة للتطبيق", - "de_DE": "Öffnet das Verzeichnis, das den Shader Cache der Anwendung beinhaltet", - "el_GR": "Ανοίγει την τοποθεσία που περιέχει την προσωρινή μνήμη Shader της εφαρμογής", - "en_US": "Opens the directory which contains Application's shader cache", - "es_ES": "Abrir la carpeta que contiene la caché de sombreadores de esta aplicación", - "fr_FR": "Ouvre le dossier contenant le cache des shaders de l’application", - "he_IL": "פותח את תקיית מטמון ההצללות של היישום", - "it_IT": "Apre la cartella che contiene la cache degli shader dell'applicazione", - "ja_JP": "アプリケーションのシェーダーキャッシュを格納するディレクトリを開きます", - "ko_KR": "앱의 셰이더 캐시가 포함된 디렉터리 열기", - "no_NO": "Åpner mappen som inneholder Programmets shader cache", - "pl_PL": "Otwiera katalog, który zawiera pamięć podręczną cieni aplikacji", - "pt_BR": "Abre o diretório contendo os arquivos do cache de Shaders", - "ru_RU": "Открывает папку, содержащую кэш шейдеров приложений и игр", - "sv_SE": "Öppnar katalogen som innehåller applikationens shader cache", - "th_TH": "เปิดไดเรกทอรี่ของ แคช แสงเงา ในแอปพลิเคชัน", - "tr_TR": "Uygulamanın shader önbelleğinin bulunduğu dizini açar", - "uk_UA": "Відкриває теку, яка містить кеш шейдерів застосунку (гри)", - "zh_CN": "打开储存游戏着色器缓存文件的目录", - "zh_TW": "開啟此應用程式的著色器快取資料夾" - } - }, { "ID": "GameListContextMenuExtractData", "Translations": { @@ -3117,31 +2942,6 @@ "zh_TW": "顯示遊戲資訊" } }, - { - "ID": "GameListContextMenuShowGameDataToolTip", - "Translations": { - "ar_SA": "", - "de_DE": "", - "el_GR": "", - "en_US": "Show stats & details about the currently selected game.", - "es_ES": "", - "fr_FR": "Afficher les statistiques et les détails sur le jeu actuellement sélectionné.", - "he_IL": "", - "it_IT": "", - "ja_JP": "", - "ko_KR": "그리드 보기 레이아웃에서 누락된 현재 선택된 게임에 대한 다양한 정보를 표시합니다.", - "no_NO": "Vis statistikk og detaljer om det valgte spillet.", - "pl_PL": "", - "pt_BR": "Exibe estatísticas e detalhes sobre o jogo selecionado.", - "ru_RU": "Показывать статистику и подробную информацию о выбранной игре.", - "sv_SE": "Visa statistik och detaljer om det aktuella spelet.", - "th_TH": "", - "tr_TR": "", - "uk_UA": "Показати статистику та деталі обраної гри.", - "zh_CN": "显示当前选定游戏的状态与详细信息。", - "zh_TW": "顯示目前已選擇遊戲的狀態及詳細資訊。" - } - }, { "ID": "GameListContextMenuOpenModsDirectory", "Translations": { @@ -3167,31 +2967,6 @@ "zh_TW": "開啟模組資料夾" } }, - { - "ID": "GameListContextMenuOpenModsDirectoryToolTip", - "Translations": { - "ar_SA": "يفتح المجلد الذي يحتوي على تعديلات‫(mods) التطبيق", - "de_DE": "Öffnet das Verzeichnis, welches Mods für die Spiele beinhaltet", - "el_GR": "", - "en_US": "Opens the directory which contains Application's Mods", - "es_ES": "Abre el directorio que contiene los Mods de la Aplicación.", - "fr_FR": "Ouvre le dossier contenant les mods de l’application", - "he_IL": "פותח את התיקייה שמכילה מודים של האפליקציה", - "it_IT": "Apre la cartella che contiene le mod dell'applicazione", - "ja_JP": "アプリケーションの Mod データを格納するディレクトリを開きます", - "ko_KR": "앱의 모드가 포함된 디렉터리 열기", - "no_NO": "Åpner mappen som inneholder programmets modifikasjoner", - "pl_PL": "Otwiera katalog zawierający mody dla danej aplikacji", - "pt_BR": "Abre a pasta que contém os mods da aplicação", - "ru_RU": "Открывает папку, содержащую моды для приложений и игр", - "sv_SE": "Öppnar katalogen som innehåller applikationens Mods", - "th_TH": "เปิดไดเร็กทอรี่ Mods ของแอปพลิเคชัน", - "tr_TR": "", - "uk_UA": "Відкриває теку, яка містить модифікації застосунків (ігор)", - "zh_CN": "打开存放游戏 MOD 的目录", - "zh_TW": "開啟此應用程式模組的資料夾" - } - }, { "ID": "GameListContextMenuOpenSdModsDirectory", "Translations": { @@ -12392,31 +12167,6 @@ "zh_TW": "加入/移除為我的最愛" } }, - { - "ID": "GameListContextMenuToggleFavoriteToolTip", - "Translations": { - "ar_SA": "تبديل الحالة المفضلة للعبة", - "de_DE": "Aktiviert den Favoriten-Status des Spiels", - "el_GR": "Εναλλαγή της Κατάστασης Αγαπημένο του Παιχνιδιού", - "en_US": "Toggle Favorite status of Game", - "es_ES": "Marca o desmarca el juego como favorito", - "fr_FR": "Basculer le statut favori du jeu", - "he_IL": "למתג סטטוס העדפה של משחק", - "it_IT": "Segna il gioco come preferito", - "ja_JP": "ゲームをお気に入りに含めるかどうかを切り替えます", - "ko_KR": "게임의 즐겨찾기 상태 전환", - "no_NO": "Vis/Skjul favorittstatus for spillet", - "pl_PL": "Przełącz status Ulubionej Gry", - "pt_BR": "Marca ou desmarca o jogo como favorito", - "ru_RU": "Добавляет игру в избранное и помечает звёздочкой", - "sv_SE": "Växla favoritstatus för spelet", - "th_TH": "สลับสถานะเกมที่ชื่นชอบ", - "tr_TR": "Oyunu Favorilere Ekle/Çıkar", - "uk_UA": "Додати або вилучити гру з обраних", - "zh_CN": "切换游戏的收藏状态", - "zh_TW": "切換遊戲的我的最愛狀態" - } - }, { "ID": "SettingsTabGeneralTheme", "Translations": { diff --git a/src/Ryujinx/UI/Controls/ApplicationContextMenu.axaml b/src/Ryujinx/UI/Controls/ApplicationContextMenu.axaml index 71a7ee25a..ca49e8f71 100755 --- a/src/Ryujinx/UI/Controls/ApplicationContextMenu.axaml +++ b/src/Ryujinx/UI/Controls/ApplicationContextMenu.axaml @@ -14,8 +14,7 @@ Command="{Binding ToggleFavorite}" CommandParameter="{Binding}" Header="{ext:Locale GameListContextMenuToggleFavorite}" - Icon="{ext:Icon fa-solid fa-star}" - ToolTip.Tip="{ext:Locale GameListContextMenuToggleFavoriteToolTip}" /> + Icon="{ext:Icon fa-solid fa-star}" /> + Icon="{ext:Icon fa-solid fa-chart-line}" /> + IsEnabled="{Binding OpenUserSaveDirectoryEnabled}" /> + IsEnabled="{Binding OpenDeviceSaveDirectoryEnabled}" /> + IsEnabled="{Binding OpenBcatSaveDirectoryEnabled}" /> + Icon="{ext:Icon fa-solid fa-code-compare}" /> + Icon="{ext:Icon fa-solid fa-download}" /> + Icon="{ext:Icon fa-solid fa-folder}" /> + Icon="{ext:Icon fa-solid fa-folder}" /> + Icon="{ext:Icon fa-solid fa-folder}" /> Date: Sat, 2 Aug 2025 05:01:59 -0500 Subject: [PATCH 7/7] Other Tooltips Pt.2 (ryubing/ryujinx!95) See merge request ryubing/ryujinx!95 --- assets/locales.json | 250 ------------------ .../UI/Views/Main/MainMenuBarView.axaml | 11 +- .../Views/Settings/SettingsGraphicsView.axaml | 4 +- .../Views/Settings/SettingsSystemView.axaml | 10 +- 4 files changed, 5 insertions(+), 270 deletions(-) diff --git a/assets/locales.json b/assets/locales.json index 2c2dd72c7..ae896da30 100644 --- a/assets/locales.json +++ b/assets/locales.json @@ -16417,106 +16417,6 @@ "zh_TW": "支援滑鼠直接存取 (HID)。遊戲可將滑鼠作為指向裝置使用。\n\n僅適用於在 Switch 硬體上原生支援滑鼠控制的遊戲,這類遊戲很少。\n\n啟用後,觸控螢幕功能可能無法使用。\n\n如果不確定,請保持關閉狀態。" } }, - { - "ID": "RegionTooltip", - "Translations": { - "ar_SA": "تغيير منطقة النظام", - "de_DE": "Ändert die Systemregion", - "el_GR": "Αλλαγή Περιοχής Συστήματος", - "en_US": "Change System Region", - "es_ES": "Cambia la región del sistema", - "fr_FR": "Changer la région du système", - "he_IL": "שנה אזור מערכת", - "it_IT": "Cambia regione di sistema", - "ja_JP": "システムの地域を変更します", - "ko_KR": "시스템 지역 변경", - "no_NO": "Endre systemregion", - "pl_PL": "Zmień Region Systemu", - "pt_BR": "Mudar a Região do Sistema", - "ru_RU": "Сменяет регион системы", - "sv_SE": "Ändra systemets region", - "th_TH": "เปลี่ยนภูมิภาคของระบบ", - "tr_TR": "Sistem Bölgesini Değiştir", - "uk_UA": "Змінити регіон системи", - "zh_CN": "更改系统区域", - "zh_TW": "變更系統區域" - } - }, - { - "ID": "LanguageTooltip", - "Translations": { - "ar_SA": "تغيير لغة النظام", - "de_DE": "Ändert die Systemsprache", - "el_GR": "Αλλαγή Γλώσσας Συστήματος", - "en_US": "Change System Language", - "es_ES": "Cambia el idioma del sistema", - "fr_FR": "Changer la langue du système", - "he_IL": "שנה שפת מערכת", - "it_IT": "Cambia lingua di sistema", - "ja_JP": "システムの言語を変更します", - "ko_KR": "시스템 언어 변경", - "no_NO": "Endre systemspråk", - "pl_PL": "Zmień język systemu", - "pt_BR": "Mudar o Idioma do Sistema", - "ru_RU": "Меняет язык системы", - "sv_SE": "Ändra systemets språk", - "th_TH": "เปลี่ยนภาษาของระบบ", - "tr_TR": "Sistem Dilini Değiştir", - "uk_UA": "Змінити мову системи", - "zh_CN": "更改系统语言", - "zh_TW": "變更系統語言" - } - }, - { - "ID": "TimezoneTooltip", - "Translations": { - "ar_SA": "تغيير النطاق الزمني للنظام", - "de_DE": "Ändert die Systemzeitzone", - "el_GR": "Αλλαγή Ζώνης Ώρας Συστήματος", - "en_US": "Change System TimeZone", - "es_ES": "Cambia la zona horaria del sistema", - "fr_FR": "Changer le fuseau horaire du système", - "he_IL": "שנה את אזור הזמן של המערכת", - "it_IT": "Cambia fuso orario di sistema", - "ja_JP": "システムのタイムゾーンを変更します", - "ko_KR": "시스템 시간대 변경", - "no_NO": "Endre systemtidssone", - "pl_PL": "Zmień Strefę Czasową Systemu", - "pt_BR": "Mudar o Fuso-Horário do Sistema", - "ru_RU": "Меняет часовой пояс системы", - "sv_SE": "Ändra systemets tidszon", - "th_TH": "เปลี่ยนโซนเวลาของระบบ", - "tr_TR": "Sistem Saat Dilimini Değiştir", - "uk_UA": "Змінити часовий пояс системи", - "zh_CN": "更改系统时区", - "zh_TW": "變更系統時區" - } - }, - { - "ID": "TimeTooltip", - "Translations": { - "ar_SA": "تغيير وقت النظام", - "de_DE": "Ändert die Systemzeit", - "el_GR": "Αλλαγή Ώρας Συστήματος", - "en_US": "Change System Time", - "es_ES": "Cambia la hora del sistema", - "fr_FR": "Changer l'heure du système", - "he_IL": "שנה זמן מערכת", - "it_IT": "Cambia data e ora di sistema", - "ja_JP": "システムの時刻を変更します", - "ko_KR": "시스템 시간 변경", - "no_NO": "Endre systemtid", - "pl_PL": "Zmień czas systemowy", - "pt_BR": "Mudar a Data e Hora do Sistema", - "ru_RU": "Меняет системное время системы", - "sv_SE": "Ändra systemtid", - "th_TH": "เปลี่ยนเวลาของระบบ", - "tr_TR": "Sistem Saatini Değiştir", - "uk_UA": "Змінити системний час", - "zh_CN": "更改系统时间", - "zh_TW": "變更系統時鐘" - } - }, { "ID": "MatchTimeTooltip", "Translations": { @@ -17067,31 +16967,6 @@ "zh_TW": "套用於繪製器視窗的長寬比。\n\n只有在遊戲中使用長寬比模組時才可變更,否則圖形會被拉伸。\n\n如果不確定,請保持 16:9 狀態。" } }, - { - "ID": "ShaderDumpPathTooltip", - "Translations": { - "ar_SA": "مسار تفريغ المظللات", - "de_DE": "Grafik-Shader-Dump-Pfad", - "el_GR": "Τοποθεσία Εναπόθεσης Προσωρινής Μνήμης Shaders", - "en_US": "Graphics Shaders Dump Path", - "es_ES": "Directorio en el cual se volcarán los sombreadores de los gráficos", - "fr_FR": "Chemin de sauvegarde des shaders graphiques", - "he_IL": "נתיב השלכת הצללות גראפיות", - "it_IT": "Percorso di dump degli shader", - "ja_JP": "グラフィックス シェーダー ダンプのパスです", - "ko_KR": "그래픽 셰이더 덤프 경로", - "no_NO": "Grafikk Shader Dump bane", - "pl_PL": "Ścieżka Zrzutu Shaderów Grafiki", - "pt_BR": "Diretório de Despejo de Shaders", - "ru_RU": "Путь с дампами графических шейдеров", - "sv_SE": "Sökväg för Graphics Shaders Dump", - "th_TH": "ที่เก็บ ดัมพ์ไฟล์เชเดอร์", - "tr_TR": "Grafik Shader Döküm Yolu", - "uk_UA": "Шлях до дампу графічних шейдерів", - "zh_CN": "转储图形着色器的路径", - "zh_TW": "圖形著色器傾印路徑" - } - }, { "ID": "FileLogTooltip", "Translations": { @@ -17517,81 +17392,6 @@ "zh_TW": "開啟檔案總管,選擇一個或多個資料夾來大量載入遊戲更新" } }, - { - "ID": "OpenRyujinxFolderTooltip", - "Translations": { - "ar_SA": "فتح مجلد نظام ملفات ريوجينكس", - "de_DE": "Öffnet den Ordner, der das Ryujinx Dateisystem enthält", - "el_GR": "Ανοίξτε το φάκελο συστήματος αρχείων Ryujinx", - "en_US": "Open Ryujinx filesystem folder", - "es_ES": "Abre la carpeta de sistema de Ryujinx", - "fr_FR": "Ouvrir le dossier du système de fichiers Ryujinx", - "he_IL": "פתח את תיקיית מערכת הקבצים ריוג'ינקס", - "it_IT": "Apri la cartella del filesystem di Ryujinx", - "ja_JP": "Ryujinx ファイルシステムフォルダを開きます", - "ko_KR": "Ryujinx 파일 시스템 폴더 열기", - "no_NO": "Åpne Ryujinx filsystem-mappen", - "pl_PL": "Otwórz folder systemu plików Ryujinx", - "pt_BR": "Abre a pasta do sistema de arquivos Ryujinx", - "ru_RU": "Открывает папку с файлами Ryujinx", - "sv_SE": "Öppna Ryujinx-filsystemsmappen", - "th_TH": "เปิดโฟลเดอร์ระบบไฟล์ Ryujinx", - "tr_TR": "Ryujinx dosya sistem klasörünü açar", - "uk_UA": "Відкриває теку з файлами Ryujinx", - "zh_CN": "打开 Ryujinx 模拟器系统目录", - "zh_TW": "開啟 Ryujinx 檔案系統資料夾" - } - }, - { - "ID": "OpenScreenshotFolderTooltip", - "Translations": { - "ar_SA": "", - "de_DE": "", - "el_GR": "", - "en_US": "Open Ryujinx screenshots folder", - "es_ES": "", - "fr_FR": "Ouvrir le dossier des captures d’écran Ryujinx", - "he_IL": "", - "it_IT": "", - "ja_JP": "", - "ko_KR": "Ryujinx 스크린샷 폴더 열기", - "no_NO": "Åpne Ryujinx skjermbildemappen", - "pl_PL": "", - "pt_BR": "Abre a pasta de capturas de tela do Ryujinx", - "ru_RU": "Открывает папку скриншотов Ryujinx", - "sv_SE": "Öppna Ryujinx skärmbildsmapp", - "th_TH": "", - "tr_TR": "", - "uk_UA": "Відкрити теку куди зберігаються скріншоти Ryujinx", - "zh_CN": "打开 Ryujinx 截图文件夹", - "zh_TW": "開啟 Ryujinx 螢幕擷取畫面資料夾" - } - }, - { - "ID": "OpenRyujinxLogsTooltip", - "Translations": { - "ar_SA": "يفتح المجلد الذي تتم كتابة السجلات إليه", - "de_DE": "Öffnet den Ordner, in welchem die Logs gespeichert werden", - "el_GR": "Ανοίξτε το φάκελο στον οποίο διατηρούνται τα αρχεία καταγραφής", - "en_US": "Opens the folder where logs are written to", - "es_ES": "Abre la carpeta en la que se guardan los registros", - "fr_FR": "Ouvre le dossier où les journaux sont enregistrés", - "he_IL": "פותח את התיקיה שאליה נכתבים רישומים", - "it_IT": "Apre la cartella dove vengono salvati i log", - "ja_JP": "ログが格納されるフォルダを開きます", - "ko_KR": "로그가 기록되는 폴더 열기", - "no_NO": "Åpner mappen hvor logger er lagret", - "pl_PL": "Otwiera folder, w którym zapisywane są logi", - "pt_BR": "Abre a pasta onde os logs são gravados", - "ru_RU": "Открывает папку, в которую записываются логи", - "sv_SE": "Öppnar mappen där loggarna har skrivits till", - "th_TH": "เปิดโฟลเดอร์ ที่เก็บไฟล์ประวัติ", - "tr_TR": "Log dosyalarının bulunduğu klasörü açar", - "uk_UA": "Відкриває теку, куди зберігаються журнали (logs)", - "zh_CN": "打开日志存放的目录", - "zh_TW": "開啟日誌被寫入的資料夾" - } - }, { "ID": "ExitTooltip", "Translations": { @@ -17617,56 +17417,6 @@ "zh_TW": "結束 Ryujinx" } }, - { - "ID": "OpenSettingsTooltip", - "Translations": { - "ar_SA": "فتح نافذة الإعدادات", - "de_DE": "Öffnet das Einstellungsfenster", - "el_GR": "Ανοίξτε το παράθυρο Ρυθμίσεων", - "en_US": "Open settings window", - "es_ES": "Abre la ventana de configuración", - "fr_FR": "Ouvrir la fenêtre des paramètres", - "he_IL": "פתח את חלון ההגדרות", - "it_IT": "Apri la finestra delle impostazioni", - "ja_JP": "設定ウインドウを開きます", - "ko_KR": "설정 창 열기", - "no_NO": "Åpne innstillinger-vinduet", - "pl_PL": "Otwórz okno ustawień", - "pt_BR": "Abrir janela de configurações", - "ru_RU": "Открывает окно параметров", - "sv_SE": "Öppna inställningar", - "th_TH": "เปิดหน้าต่างการตั้งค่า", - "tr_TR": "Seçenekler penceresini açar", - "uk_UA": "Відкриває вікно налаштувань", - "zh_CN": "打开设置窗口", - "zh_TW": "開啟設定視窗" - } - }, - { - "ID": "OpenProfileManagerTooltip", - "Translations": { - "ar_SA": "فتح نافذة إدارة الملفات الشخصية للمستخدمين", - "de_DE": "Öffnet das Profilverwaltungsfenster", - "el_GR": "Ανοίξτε το παράθυρο Διαχείρισης Προφίλ Χρήστη", - "en_US": "Open User Profiles Manager window", - "es_ES": "Abre la ventana para gestionar los perfiles de usuario", - "fr_FR": "Ouvrir la fenêtre du gestionnaire de profils d'utilisateurs", - "he_IL": "פתח את חלון מנהל פרופילי המשתמש", - "it_IT": "Apri la finestra di gestione dei profili utente", - "ja_JP": "ユーザプロファイル管理ウインドウを開きます", - "ko_KR": "사용자 프로필 관리자 창 열기", - "no_NO": "Åpne vindu for brukerprofiler", - "pl_PL": "Otwórz okno Menedżera Profili Użytkownika", - "pt_BR": "Abrir Janela de Gerenciamento de Perfis", - "ru_RU": "Открыть менеджер учётных записей", - "sv_SE": "Öppna hanterare för användarprofiler", - "th_TH": "เปิดหน้าต่างตัวจัดการโปรไฟล์ผู้ใช้", - "tr_TR": "Kullanıcı profil yöneticisi penceresini açar", - "uk_UA": "Відкриває вікно диспетчера профілів користувачів", - "zh_CN": "打开用户账户管理窗口", - "zh_TW": "開啟使用者設定檔管理員視窗" - } - }, { "ID": "StopEmulationTooltip", "Translations": { diff --git a/src/Ryujinx/UI/Views/Main/MainMenuBarView.axaml b/src/Ryujinx/UI/Views/Main/MainMenuBarView.axaml index 1bce31f6d..19644df53 100755 --- a/src/Ryujinx/UI/Views/Main/MainMenuBarView.axaml +++ b/src/Ryujinx/UI/Views/Main/MainMenuBarView.axaml @@ -63,18 +63,15 @@ + Icon="{ext:Icon fa-solid fa-folder-closed}" /> + Icon="{ext:Icon fa-solid fa-desktop}" /> + Icon="{ext:Icon fa-solid fa-file-lines}" /> diff --git a/src/Ryujinx/UI/Views/Settings/SettingsGraphicsView.axaml b/src/Ryujinx/UI/Views/Settings/SettingsGraphicsView.axaml index 5a91b0435..d21695d0f 100644 --- a/src/Ryujinx/UI/Views/Settings/SettingsGraphicsView.axaml +++ b/src/Ryujinx/UI/Views/Settings/SettingsGraphicsView.axaml @@ -285,12 +285,10 @@ Spacing="10"> + Width="350" /> diff --git a/src/Ryujinx/UI/Views/Settings/SettingsSystemView.axaml b/src/Ryujinx/UI/Views/Settings/SettingsSystemView.axaml index dbe4433dd..395741f49 100644 --- a/src/Ryujinx/UI/Views/Settings/SettingsSystemView.axaml +++ b/src/Ryujinx/UI/Views/Settings/SettingsSystemView.axaml @@ -40,7 +40,6 @@ Width="250" /> @@ -72,11 +71,9 @@ @@ -141,7 +138,6 @@ @@ -183,8 +176,7 @@ ClockIdentifier="24HourClock" IsEnabled="{Binding !MatchSystemTime}" SelectedTime="{Binding CurrentTime}" - Width="350" - ToolTip.Tip="{ext:Locale TimeTooltip}" /> + Width="350" />