From 93256afd24f032e2d84eb2b3104e74389f907635 Mon Sep 17 00:00:00 2001 From: _Neo_ Date: Sun, 26 Oct 2025 17:48:55 +0200 Subject: [PATCH] Dynamic Window Titles + Clean Up Locales --- assets/locales.json | 339 +++++------------- .../UI/Controls/NavigationDialogHost.axaml.cs | 2 +- .../UI/Views/User/UserEditorView.axaml.cs | 6 +- 3 files changed, 86 insertions(+), 261 deletions(-) diff --git a/assets/locales.json b/assets/locales.json index ba7ef0018..1015859b8 100644 --- a/assets/locales.json +++ b/assets/locales.json @@ -11143,56 +11143,6 @@ "zh_TW": "右搖桿" } }, - { - "ID": "UserProfilesSelectedUserProfile", - "Translations": { - "ar_SA": "الملف الشخصي المحدد للمستخدم:", - "de_DE": "Ausgewähltes Profil:", - "el_GR": "Επιλεγμένο Προφίλ Χρήστη:", - "en_US": "Selected User Profile:", - "es_ES": "Perfil de Usuario Seleccionado:", - "fr_FR": "Profil utilisateur sélectionné :", - "he_IL": "פרופיל המשתמש הנבחר:", - "it_IT": "Profilo utente selezionato:", - "ja_JP": "選択されたユーザプロファイル:", - "ko_KR": "선택된 사용자 프로필 :", - "no_NO": "Valgt brukerprofil:", - "pl_PL": "Wybrany profil użytkownika:", - "pt_BR": "Perfil de Usuário Selecionado:", - "ru_RU": "Выбранный пользовательский профиль:", - "sv_SE": "Vald användarprofil:", - "th_TH": "เลือกโปรไฟล์ผู้ใช้งาน:", - "tr_TR": "Seçili Kullanıcı Profili:", - "uk_UA": "Вибраний профіль користувача:", - "zh_CN": "选定的用户账户:", - "zh_TW": "選取的使用者設定檔:" - } - }, - { - "ID": "UserProfilesSaveProfileName", - "Translations": { - "ar_SA": "حفظ اسم الملف الشخصي", - "de_DE": "Profilname speichern", - "el_GR": "Αποθήκευση Ονόματος Προφίλ", - "en_US": "Save Profile Name", - "es_ES": "Guardar Nombre de Perfil", - "fr_FR": "Enregistrer le nom du profil", - "he_IL": "שמור שם פרופיל", - "it_IT": "Salva nome del profilo", - "ja_JP": "プロファイル名をセーブ", - "ko_KR": "프로필 이름 저장", - "no_NO": "Lagre profilnavnet", - "pl_PL": "Zapisz nazwę profilu", - "pt_BR": "Salvar Nome de Perfil", - "ru_RU": "Сохранить имя профиля", - "sv_SE": "Spara profilnamn", - "th_TH": "บันทึกชื่อโปรไฟล์", - "tr_TR": "Profil İsmini Kaydet", - "uk_UA": "Зберегти ім'я профілю", - "zh_CN": "保存名称", - "zh_TW": "儲存設定檔名稱" - } - }, { "ID": "UserProfilesChangeProfileImage", "Translations": { @@ -11218,56 +11168,6 @@ "zh_TW": "變更圖片" } }, - { - "ID": "UserProfilesAvailableUserProfiles", - "Translations": { - "ar_SA": "الملفات الشخصية للمستخدم المتاحة:", - "de_DE": "Verfügbare Profile:", - "el_GR": "Διαθέσιμα Προφίλ Χρηστών:", - "en_US": "Available User Profiles:", - "es_ES": "Perfiles de Usuario Disponibles:", - "fr_FR": "Profils Utilisateurs Disponibles :", - "he_IL": "פרופילי משתמש זמינים:", - "it_IT": "Profili utente disponibili:", - "ja_JP": "利用可能なユーザプロファイル:", - "ko_KR": "사용 가능한 사용자 프로필 :", - "no_NO": "Tilgjengelige brukerprofiler:", - "pl_PL": "Dostępne profile użytkownika:", - "pt_BR": "Perfis de Usuário Disponíveis:", - "ru_RU": "Доступные профили пользователей:", - "sv_SE": "Tillgängliga användarprofiler:", - "th_TH": "โปรไฟล์ผู้ใช้ที่ใช้งานได้:", - "tr_TR": "Mevcut Kullanıcı Profilleri:", - "uk_UA": "Доступні профілі користувачів:", - "zh_CN": "现有用户账户:", - "zh_TW": "可用的使用者設定檔:" - } - }, - { - "ID": "UserProfilesAddNewProfile", - "Translations": { - "ar_SA": "إنشاء ملف الشخصي", - "de_DE": "Neues Profil", - "el_GR": "Προσθήκη Νέου Προφίλ", - "en_US": "Create Profile", - "es_ES": "Añadir Nuevo Perfil", - "fr_FR": "Créer un Profil", - "he_IL": "צור פרופיל", - "it_IT": "Aggiungi nuovo profilo", - "ja_JP": "プロファイルを作成", - "ko_KR": "프로필 만들기", - "no_NO": "Opprett Profil", - "pl_PL": "Utwórz profil", - "pt_BR": "Criar Perfil", - "ru_RU": "Добавить новый профиль", - "sv_SE": "Skapa profil", - "th_TH": "สร้างโปรไฟล์ใหม่", - "tr_TR": "Yeni Profil Ekle", - "uk_UA": "Створити профіль", - "zh_CN": "新建账户", - "zh_TW": "建立設定檔" - } - }, { "ID": "UserProfilesDelete", "Translations": { @@ -20893,31 +20793,6 @@ "zh_TW": "{0} 模組" } }, - { - "ID": "UserProfilesEditProfile", - "Translations": { - "ar_SA": "تعديل المحدد", - "de_DE": "Profil bearbeiten", - "el_GR": "Επεξεργασία Επιλεγμένων", - "en_US": "Edit Selected", - "es_ES": "Editar Selección", - "fr_FR": "Éditer la Sélection", - "he_IL": "ערוך נבחר/ים", - "it_IT": "Modifica selezionati", - "ja_JP": "編集", - "ko_KR": "선택 항목 편집", - "no_NO": "Rediger Valgte", - "pl_PL": "Edytuj Zaznaczone", - "pt_BR": "Editar selecionado", - "ru_RU": "Изменить выбранные", - "sv_SE": "Redigera markerade", - "th_TH": "แก้ไขที่เลือกแล้ว", - "tr_TR": "Seçiliyi Düzenle", - "uk_UA": "Редагувати вибране", - "zh_CN": "编辑所选", - "zh_TW": "編輯所選" - } - }, { "ID": "Continue", "Translations": { @@ -21093,31 +20968,6 @@ "zh_TW": "名稱為必填" } }, - { - "ID": "UserProfileNoImageError", - "Translations": { - "ar_SA": "يجب تعيين صورة الملف الشخصي", - "de_DE": "Bitte ein Profilbild auswählen", - "el_GR": "Η εικόνα προφίλ πρέπει να οριστεί", - "en_US": "Profile image must be set", - "es_ES": "Debe establecerse la imagen de perfil", - "fr_FR": "L'Image du Profil doit être définie", - "he_IL": "נדרשת תמונת פרופיל", - "it_IT": "Dev'essere impostata un'immagine profilo", - "ja_JP": "プロファイル画像が必要です", - "ko_KR": "프로필 이미지를 설정해야 함", - "no_NO": "Profilbilde må være angitt", - "pl_PL": "Należy ustawić obraz profilowy", - "pt_BR": "A Imagem de Perfil Deve ser Definida", - "ru_RU": "Необходимо установить аватар", - "sv_SE": "Profilbild måste anges", - "th_TH": "จำเป็นต้องตั้งค่ารูปโปรไฟล์", - "tr_TR": "Profil resmi ayarlanmalıdır", - "uk_UA": "Зображення профілю обовʼязкове", - "zh_CN": "必须设置头像", - "zh_TW": "必須設定設定檔圖像" - } - }, { "ID": "GameUpdateWindowHeading", "Translations": { @@ -21683,7 +21533,7 @@ "ko_KR": "저장", "no_NO": "Lagringer", "pl_PL": "Zapisy", - "pt_BR": "Saves", + "pt_BR": "Salvamentos", "ru_RU": "Сохранения", "sv_SE": "Sparningar", "th_TH": "บันทึก", @@ -21696,26 +21546,26 @@ { "ID": "DeleteUserSave", "Translations": { - "ar_SA": "هل تريد حذف حفظ المستخدم لهذه اللعبة؟", - "de_DE": "Möchtest du den Spielerstand für dieses Spiel löschen?", - "el_GR": "Επιθυμείτε να διαγράψετε το save χρήστη για το συγκεκριμένο παιχνίδι;", - "en_US": "Do you want to delete user save for this game?", - "es_ES": "¿Quieres borrar los datos de usuario de este juego?", - "fr_FR": "Voulez-vous supprimer la sauvegarde de l'utilisateur pour ce jeu ?", - "he_IL": "האם ברצונך למחוק את תקיית השמור למשחק זה?", - "it_IT": "Vuoi eliminare il salvataggio utente per questo gioco?", - "ja_JP": "このゲームのユーザセーブデータを削除しますか?", - "ko_KR": "이 게임의 사용자 저장을 삭제하시겠습니까?", - "no_NO": "Vil du slette bruker data for dette spillet?", - "pl_PL": "Czy chcesz usunąć zapis użytkownika dla tej gry?", - "pt_BR": "Deseja apagar o jogo salvo do usuário para este jogo?", - "ru_RU": "Удалить сохранения для этой игры?", - "sv_SE": "Vill du ta bort användarsparade spel för detta spel?", - "th_TH": "คุณต้องการลบบันทึกผู้ใช้สำหรับเกมนี้หรือไม่?", - "tr_TR": "Bu oyun için kullanıcı kaydını silmek istiyor musunuz?", - "uk_UA": "Ви хочете видалити збереження користувача для цієї гри?", - "zh_CN": "确定删除此游戏的用户存档吗?", - "zh_TW": "您想刪除此遊戲的使用者存檔嗎?" + "ar_SA": "هل حذف بيانات حفظ المستخدم لهذه اللعبة؟", + "de_DE": "Löschen Sie die gespeicherten Spielstände dieses Spiels?", + "el_GR": "Διαγραφή των δεδομένων αποθήκευσης αυτού του παιχνιδιού;", + "en_US": "Delete this game's save data?", + "es_ES": "¿Eliminar los datos de guardado de este juego?", + "fr_FR": "Supprimer les données de sauvegarde de ce jeu ?", + "he_IL": "האם למחוק את נתוני השמירה של המשחק הזה?", + "it_IT": "Eliminare i dati di salvataggio di questo gioco?", + "ja_JP": "このゲームのセーブデータを削除しますか?", + "ko_KR": "이 게임의 저장 데이터를 삭제하시겠습니까?", + "no_NO": "Slette lagrede data for dette spillet?", + "pl_PL": "Usunąć dane zapisu dla tej gry?", + "pt_BR": "Excluir os dados salvos deste jogo?", + "ru_RU": "Удалить данные сохранений для этой игры?", + "sv_SE": "Ta bort sparad data för detta spel?", + "th_TH": "ลบข้อมูลบันทึกของเกมนี้หรือไม่?", + "tr_TR": "Bu oyun için kaydedilen veriyi silmek?", + "uk_UA": "Видалити збереження даних для цієї гри?", + "zh_CN": "删除此游戏的存档数据?", + "zh_TW": "刪除此遊戲的存檔資料?" } }, { @@ -21746,51 +21596,26 @@ { "ID": "SaveManagerHeading", "Translations": { - "ar_SA": "إدارة الحفظ لـ {0}", - "de_DE": "Spielstände für {0} verwalten", - "el_GR": "Διαχείριση αποθηκεύσεων για {0}", - "en_US": "Manage Saves for {0}", - "es_ES": "Gestionar guardados para {0}", - "fr_FR": "Gérer les sauvegardes pour {0}", - "he_IL": "נהל קבצי שמירה עבור {0}", - "it_IT": "Gestisci salvataggi per {0}", - "ja_JP": "{0} のセーブデータを管理", - "ko_KR": "{0}의 저장 데이터를 관리", - "no_NO": "Administrer lagrede spill for {0}", - "pl_PL": "Zarządzaj zapisami dla {0}", - "pt_BR": "Gerenciar jogos salvos para {0}", - "ru_RU": "Управление сохранениями для {0}", - "sv_SE": "Hantera sparfiler för {0}", - "th_TH": "จัดการข้อมูลที่บันทึกไว้สำหรับ {0}", - "tr_TR": "{0} için kayıtları yönet", - "uk_UA": "Керувати збереженнями для {0}", - "zh_CN": "管理 {0} 的存档", - "zh_TW": "管理 {0} 的存檔" - } - }, - { - "ID": "SaveManagerTitle", - "Translations": { - "ar_SA": "مدير الحفظ", - "de_DE": "Speicherdaten Manager", - "el_GR": "Διαχειριστής Save", - "en_US": "Save Manager", - "es_ES": "Administrador de Datos de Guardado.", - "fr_FR": "Gestionnaire de Sauvegarde", - "he_IL": "מנהל שמירות", - "it_IT": "Gestione salvataggi", - "ja_JP": "セーブデータマネージャ", - "ko_KR": "관리자 저장", - "no_NO": "Lagre behandler", - "pl_PL": "Menedżer Zapisów", - "pt_BR": "Gerenciador de Jogos Salvos", - "ru_RU": "Управление сохранений", - "sv_SE": "Sparhanterare", - "th_TH": "จัดการบันทึก", - "tr_TR": "Kayıt Yöneticisi", - "uk_UA": "Менеджер збереження", - "zh_CN": "存档管理器", - "zh_TW": "存檔管理員" + "ar_SA": "حفظات {0}", + "de_DE": "{0}s Speicherstände", + "el_GR": "Αποθηκεύσεις του {0}", + "en_US": "{0}'s Saves", + "es_ES": "Guardados de {0}", + "fr_FR": "Sauvegardes de {0}", + "he_IL": "שמירות של {0}", + "it_IT": "Salvataggi di {0}", + "ja_JP": "{0} のセーブデータ", + "ko_KR": "{0} 의 저장", + "no_NO": "Lagringer til {0}", + "pl_PL": "Zapisy {0}", + "pt_BR": "Salvamentos de {0}", + "ru_RU": "Сохранения {0}", + "sv_SE": "{0}s Sparningar", + "th_TH": "ข้อมูลที่บันทึกไว้ของ {0}", + "tr_TR": "{0}’nin Kayıtları", + "uk_UA": "Збереження {0}", + "zh_CN": "{0} 的存档", + "zh_TW": "{0} 的存檔" } }, { @@ -22321,51 +22146,51 @@ { "ID": "UserEditorTitle", "Translations": { - "ar_SA": "تعديل المستخدم", - "de_DE": "Benutzer bearbeiten", - "el_GR": "Επεξεργασία χρήστη", - "en_US": "Edit User", - "es_ES": "Editar usuario", - "fr_FR": "Modifier l’utilisateur", - "he_IL": "ערוך משתמש", - "it_IT": "Modifica utente", - "ja_JP": "ユーザーを編集", - "ko_KR": "사용자 편집", - "no_NO": "Rediger bruker", - "pl_PL": "Edytuj użytkownika", - "pt_BR": "Editar usuário", - "ru_RU": "Редактировать пользователя", - "sv_SE": "Redigera användare", - "th_TH": "แก้ไขผู้ใช้", - "tr_TR": "Kullanıcıyı düzenle", - "uk_UA": "Редагувати користувача", - "zh_CN": "编辑用户", - "zh_TW": "編輯使用者" + "ar_SA": "جارٍ تعديل {0}", + "de_DE": "{0} wird bearbeitet", + "el_GR": "Επεξεργασία {0}", + "en_US": "Editing {0}", + "es_ES": "Editando {0}", + "fr_FR": "Modification de {0}", + "he_IL": "עריכת {0}", + "it_IT": "Modifica di {0}", + "ja_JP": "{0} を編集中", + "ko_KR": "{0} 편집 중", + "no_NO": "Redigerer {0}", + "pl_PL": "Edycja {0}", + "pt_BR": "Editando {0}", + "ru_RU": "Редактирование {0}", + "sv_SE": "Redigerar {0}", + "th_TH": "กำลังกำลังแก้ไข {0}", + "tr_TR": "{0} düzenleniyor", + "uk_UA": "Редагування {0}", + "zh_CN": "正在编辑 {0}", + "zh_TW": "正在編輯 {0}" } }, { - "ID": "UserEditorTitleCreate", + "ID": "UserEditorTitleNewUser", "Translations": { - "ar_SA": "إنشاء مستخدم", - "de_DE": "Nutzer erstellen", - "el_GR": "Δημιουργία Χρήστη", - "en_US": "Create User", - "es_ES": "Crear Usuario", - "fr_FR": "Créer Utilisateur", - "he_IL": "צור משתמש", - "it_IT": "Crea utente", - "ja_JP": "ユーザを作成", - "ko_KR": "아이디 만들기", - "no_NO": "Opprett bruker", - "pl_PL": "Utwórz użytkownika", - "pt_BR": "Criar usuário", - "ru_RU": "Создание пользователя", - "sv_SE": "Skapa användare", - "th_TH": "สร้างผู้ใช้", - "tr_TR": "Kullanıcı Oluştur", - "uk_UA": "Створити користувача", - "zh_CN": "创建用户", - "zh_TW": "建立使用者" + "ar_SA": "مستخدم جديد", + "de_DE": "Neuer Nutzer", + "el_GR": "Νέος Χρήστης", + "en_US": "New User", + "es_ES": "Nuevo Usuario", + "fr_FR": "Nouvel Utilisateur", + "he_IL": "משתמש חדש", + "it_IT": "Nuovo utente", + "ja_JP": "新しいユーザー", + "ko_KR": "새 사용자", + "no_NO": "Ny bruker", + "pl_PL": "Nowy użytkownik", + "pt_BR": "Novo usuário", + "ru_RU": "Новый пользователь", + "sv_SE": "Ny användare", + "th_TH": "ผู้ใช้ใหม่", + "tr_TR": "Yeni kullanıcı", + "uk_UA": "Новий користувач", + "zh_CN": "新用户", + "zh_TW": "新使用者" } }, { diff --git a/src/Ryujinx/UI/Controls/NavigationDialogHost.axaml.cs b/src/Ryujinx/UI/Controls/NavigationDialogHost.axaml.cs index fb0bd5e82..9d11f6f2b 100644 --- a/src/Ryujinx/UI/Controls/NavigationDialogHost.axaml.cs +++ b/src/Ryujinx/UI/Controls/NavigationDialogHost.axaml.cs @@ -166,7 +166,7 @@ namespace Ryujinx.Ava.UI.Controls UserResult result = await ContentDialogHelper.CreateConfirmationDialog( LocaleManager.Instance[LocaleKeys.DialogUserProfileDeletionConfirmMessage], - string.Empty, + LocaleManager.Instance[LocaleKeys.IrreversibleActionNote], LocaleManager.Instance[LocaleKeys.InputDialogYes], LocaleManager.Instance[LocaleKeys.InputDialogNo], string.Empty); diff --git a/src/Ryujinx/UI/Views/User/UserEditorView.axaml.cs b/src/Ryujinx/UI/Views/User/UserEditorView.axaml.cs index 62add2393..981df714f 100644 --- a/src/Ryujinx/UI/Views/User/UserEditorView.axaml.cs +++ b/src/Ryujinx/UI/Views/User/UserEditorView.axaml.cs @@ -17,10 +17,10 @@ namespace Ryujinx.Ava.UI.Views.User private NavigationDialogHost _parent; private UserProfile _profile; private bool _isNewUser; - + private readonly AccountManager _accountManager; public static uint MaxProfileNameLength => 0x20; public bool IsDeletable => _profile.UserId != AccountManager.DefaultUserId; - + public string UserEditorTitle => LocaleManager.Instance.UpdateAndGetDynamicValue(LocaleKeys.UserEditorTitle, _profile.Name); public UserEditorView() { InitializeComponent(); @@ -47,7 +47,7 @@ namespace Ryujinx.Ava.UI.Views.User } ((ContentDialog)_parent.Parent).Title = $"{LocaleManager.Instance[LocaleKeys.UserProfileWindowTitle]} - " + - $"{(_isNewUser ? LocaleManager.Instance[LocaleKeys.UserEditorTitleCreate] : LocaleManager.Instance[LocaleKeys.UserEditorTitle])}"; + $"{(_isNewUser ? LocaleManager.Instance[LocaleKeys.UserEditorTitleNewUser] : UserEditorTitle)}"; AddPictureButton.IsVisible = _isNewUser; ChangePictureButton.IsVisible = !_isNewUser;