diff --git a/src/Ryujinx/Assets/locales.json b/src/Ryujinx/Assets/locales.json index d597e8a4c..cb222e935 100644 --- a/src/Ryujinx/Assets/locales.json +++ b/src/Ryujinx/Assets/locales.json @@ -1525,151 +1525,151 @@ { "ID": "GameListHeaderDeveloper", "Translations": { - "ar_SA": "المطور", - "de_DE": "Entwickler", - "el_GR": "Προγραμματιστής", - "en_US": "Developer", - "es_ES": "Desarrollador", - "fr_FR": "Développeur", - "he_IL": "מפתח", - "it_IT": "Sviluppatore", - "ja_JP": "開発元", - "ko_KR": "개발자", - "no_NO": "Utvikler", - "pl_PL": "Twórca", - "pt_BR": "Desenvolvedor", - "ru_RU": "Разработчик", - "sv_SE": "Utvecklare", - "th_TH": "ผู้พัฒนา", - "tr_TR": "Geliştirici", - "uk_UA": "Розробник", - "zh_CN": "制作商", - "zh_TW": "開發者" + "ar_SA": "", + "de_DE": "", + "el_GR": "", + "en_US": "Developed by {0}", + "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": "" } }, { "ID": "GameListHeaderVersion", "Translations": { - "ar_SA": "الإصدار", + "ar_SA": "", "de_DE": "", - "el_GR": "Έκδοση", - "en_US": "Version", - "es_ES": "Versión", + "el_GR": "Έκδοση: {0}", + "en_US": "Version: {0}", + "es_ES": "Versión: {0}", "fr_FR": "", - "he_IL": "גרסה", - "it_IT": "Versione", - "ja_JP": "バージョン", - "ko_KR": "버전", - "no_NO": "Versjon", - "pl_PL": "Wersja", - "pt_BR": "Versão", - "ru_RU": "Версия", + "he_IL": "", + "it_IT": "Versione: {0}", + "ja_JP": "バージョン: {0}", + "ko_KR": "버전: {0}", + "no_NO": "Versjon: {0}", + "pl_PL": "Wersja: {0}", + "pt_BR": "Versão: {0}", + "ru_RU": "Версия: {0}", "sv_SE": "", - "th_TH": "เวอร์ชั่น", - "tr_TR": "Sürüm", - "uk_UA": "Версія", - "zh_CN": "版本", - "zh_TW": "版本" + "th_TH": "เวอร์ชั่น: {0}", + "tr_TR": "Sürüm: {0}", + "uk_UA": "Версія: {0}", + "zh_CN": "版本: {0}", + "zh_TW": "版本: {0}" } }, { "ID": "GameListHeaderTimePlayed", "Translations": { - "ar_SA": "وقت اللعب", - "de_DE": "Spielzeit", - "el_GR": "Χρόνος", - "en_US": "Play Time", - "es_ES": "Tiempo jugado", - "fr_FR": "Temps de jeu", - "he_IL": "זמן משחק", - "it_IT": "Tempo di gioco", - "ja_JP": "プレイ時間", - "ko_KR": "플레이 타임", - "no_NO": "Spilletid", - "pl_PL": "Czas w grze:", - "pt_BR": "Tempo de jogo", - "ru_RU": "Время в игре", - "sv_SE": "Speltid", - "th_TH": "เล่นไปแล้ว", - "tr_TR": "Oynama Süresi", - "uk_UA": "Зіграно часу", - "zh_CN": "游玩时长", - "zh_TW": "遊玩時數" + "ar_SA": "", + "de_DE": "Spielzeit: {0}", + "el_GR": "Χρόνος: {0}", + "en_US": "Play Time: {0}", + "es_ES": "Tiempo jugado: {0}", + "fr_FR": "Temps de jeu: {0}", + "he_IL": "", + "it_IT": "Tempo di gioco: {0}", + "ja_JP": "プレイ時間: {0}", + "ko_KR": "플레이 타임: {0}", + "no_NO": "Spilletid: {0}", + "pl_PL": "Czas w grze: {0}", + "pt_BR": "Tempo de jogo: {0}", + "ru_RU": "Время в игре: {0}", + "sv_SE": "Speltid: {0}", + "th_TH": "เล่นไปแล้ว: {0}", + "tr_TR": "Oynama Süresi: {0}", + "uk_UA": "Зіграно часу: {0}", + "zh_CN": "游玩时长: {0}", + "zh_TW": "遊玩時數: {0}" } }, { "ID": "GameListHeaderLastPlayed", "Translations": { - "ar_SA": "آخر مرة لُعبت", - "de_DE": "Zuletzt gespielt", - "el_GR": "Παίχτηκε", - "en_US": "Last Played", - "es_ES": "Jugado por última vez", - "fr_FR": "Dernière partie jouée", - "he_IL": "שוחק לאחרונה", - "it_IT": "Ultima partita", - "ja_JP": "最終プレイ日時", - "ko_KR": "마지막 플레이", - "no_NO": "Sist Spilt", - "pl_PL": "Ostatnio grane", - "pt_BR": "Último jogo", - "ru_RU": "Последний запуск", - "sv_SE": "Senast spelad", - "th_TH": "เล่นล่าสุด", - "tr_TR": "Son Oynama Tarihi", - "uk_UA": "Востаннє зіграно", - "zh_CN": "最近游玩", - "zh_TW": "最近遊玩" + "ar_SA": "", + "de_DE": "Zuletzt gespielt: {0}", + "el_GR": "Παίχτηκε: {0}", + "en_US": "Last Played: {0}", + "es_ES": "Jugado por última vez: {0}", + "fr_FR": "Dernière partie jouée: {0}", + "he_IL": "", + "it_IT": "Ultima partita: {0}", + "ja_JP": "最終プレイ日時: {0}", + "ko_KR": "마지막 플레이: {0}", + "no_NO": "Sist Spilt: {0}", + "pl_PL": "Ostatnio grane: {0}", + "pt_BR": "Último jogo: {0}", + "ru_RU": "Последний запуск: {0}", + "sv_SE": "Senast spelad: {0}", + "th_TH": "เล่นล่าสุด: {0}", + "tr_TR": "Son Oynama Tarihi: {0}", + "uk_UA": "Востаннє зіграно: {0}", + "zh_CN": "最近游玩: {0}", + "zh_TW": "最近遊玩: {0}" } }, { "ID": "GameListHeaderFileExtension", "Translations": { - "ar_SA": "صيغة الملف", - "de_DE": "Dateiformat", - "el_GR": "Κατάληξη", - "en_US": "File Ext", - "es_ES": "Extensión", - "fr_FR": "Extension du Fichier", - "he_IL": "סיומת קובץ", - "it_IT": "Estensione", - "ja_JP": "ファイル拡張子", - "ko_KR": "파일 확장자", - "no_NO": "Fil Eks.", - "pl_PL": "Rozszerzenie pliku", - "pt_BR": "Extensão", - "ru_RU": "Расширение файла", - "sv_SE": "Filänd", - "th_TH": "นามสกุลไฟล์", - "tr_TR": "Dosya Uzantısı", - "uk_UA": "Розширення файлу", - "zh_CN": "扩展名", - "zh_TW": "副檔名" + "ar_SA": "", + "de_DE": "Dateiformat: {0}", + "el_GR": "Κατάληξη: {0}", + "en_US": "Extension: {0}", + "es_ES": "Extensión: {0}", + "fr_FR": "Extension du Fichier: {0}", + "he_IL": "", + "it_IT": "Estensione: {0}", + "ja_JP": "ファイル拡張子: {0}", + "ko_KR": "파일 확장자: {0}", + "no_NO": "Fil Eks.: {0}", + "pl_PL": "Rozszerzenie pliku: {0}", + "pt_BR": "Extensão: {0}", + "ru_RU": "Расширение файла: {0}", + "sv_SE": "Filänd: {0}", + "th_TH": "นามสกุลไฟล์: {0}", + "tr_TR": "Dosya Uzantısı: {0}", + "uk_UA": "Розширення файлу: {0}", + "zh_CN": "扩展名: {0}", + "zh_TW": "副檔名: {0}" } }, { "ID": "GameListHeaderFileSize", "Translations": { - "ar_SA": "حجم الملف", - "de_DE": "Dateigröße", - "el_GR": "Μέγεθος Αρχείου", - "en_US": "File Size", - "es_ES": "Tamaño del archivo", - "fr_FR": "Taille du Fichier", - "he_IL": "גודל הקובץ", - "it_IT": "Dimensione file", - "ja_JP": "ファイルサイズ", - "ko_KR": "파일 크기", - "no_NO": "Fil Størrelse", - "pl_PL": "Rozmiar pliku", - "pt_BR": "Tamanho", - "ru_RU": "Размер файла", - "sv_SE": "Filstorlek", - "th_TH": "ขนาดไฟล์", - "tr_TR": "Dosya Boyutu", - "uk_UA": "Розмір файлу", - "zh_CN": "大小", - "zh_TW": "檔案大小" + "ar_SA": "", + "de_DE": "Dateigröße: {0}", + "el_GR": "Μέγεθος Αρχείου: {0}", + "en_US": "File Size: {0}", + "es_ES": "Tamaño del archivo: {0}", + "fr_FR": "Taille du Fichier: {0}", + "he_IL": "", + "it_IT": "Dimensione file: {0}", + "ja_JP": "ファイルサイズ: {0}", + "ko_KR": "파일 크기: {0}", + "no_NO": "Fil Størrelse: {0}", + "pl_PL": "Rozmiar pliku: {0}", + "pt_BR": "Tamanho: {0}", + "ru_RU": "Размер файла: {0}", + "sv_SE": "Filstorlek: {0}", + "th_TH": "ขนาดไฟล์: {0}", + "tr_TR": "Dosya Boyutu: {0}", + "uk_UA": "Розмір файлу: {0}", + "zh_CN": "大小: {0}", + "zh_TW": "檔案大小: {0}" } }, { @@ -1697,6 +1697,106 @@ "zh_TW": "路徑" } }, + { + "ID": "GameListHeaderCompatibilityStatus", + "Translations": { + "ar_SA": "", + "de_DE": "", + "el_GR": "", + "en_US": "Compatibility:", + "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": "" + } + }, + { + "ID": "GameListHeaderTitleId", + "Translations": { + "ar_SA": "", + "de_DE": "", + "el_GR": "", + "en_US": "Title ID:", + "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": "" + } + }, + { + "ID": "GameListHeaderHostedGames", + "Translations": { + "ar_SA": "", + "de_DE": "", + "el_GR": "", + "en_US": "Hosted Games: {0}", + "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": "" + } + }, + { + "ID": "GameListHeaderPlayerCount", + "Translations": { + "ar_SA": "", + "de_DE": "", + "el_GR": "", + "en_US": "Online Players: {0}", + "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": "" + } + }, { "ID": "GameListContextMenuOpenUserSaveDirectory", "Translations": { @@ -23298,4 +23398,4 @@ } } ] -} +} \ No newline at end of file diff --git a/src/Ryujinx/UI/Controls/ApplicationDataView.axaml b/src/Ryujinx/UI/Controls/ApplicationDataView.axaml index dafd75087..a18fec656 100644 --- a/src/Ryujinx/UI/Controls/ApplicationDataView.axaml +++ b/src/Ryujinx/UI/Controls/ApplicationDataView.axaml @@ -2,7 +2,7 @@ xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" xmlns:d="http://schemas.microsoft.com/expression/blend/2008" xmlns:helpers="clr-namespace:Ryujinx.Ava.UI.Helpers" - xmlns:appLibrary="using:Ryujinx.Ava.Utilities.AppLibrary" + xmlns:ext="using:Ryujinx.Ava.Common.Markup" xmlns:viewModels="using:Ryujinx.Ava.UI.ViewModels" xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006" mc:Ignorable="d" d:DesignWidth="800" d:DesignHeight="450" @@ -13,112 +13,102 @@ MaxWidth="256" MinWidth="256" Source="{Binding AppData.Icon, Converter={x:Static helpers:BitmapArrayValueConverter.Instance}}" /> - + - - - - - - + + + + + - - - - + - - - - - - - + + + + + + + + + + + + + + + diff --git a/src/Ryujinx/UI/Controls/ApplicationDataView.axaml.cs b/src/Ryujinx/UI/Controls/ApplicationDataView.axaml.cs index cc8091d4d..e85e1188e 100644 --- a/src/Ryujinx/UI/Controls/ApplicationDataView.axaml.cs +++ b/src/Ryujinx/UI/Controls/ApplicationDataView.axaml.cs @@ -23,6 +23,7 @@ namespace Ryujinx.Ava.UI.Controls { ContentDialog contentDialog = new() { + Title = appData.Name, PrimaryButtonText = string.Empty, SecondaryButtonText = string.Empty, CloseButtonText = LocaleManager.Instance[LocaleKeys.SettingsButtonClose], diff --git a/src/Ryujinx/UI/ViewModels/ApplicationDataViewModel.cs b/src/Ryujinx/UI/ViewModels/ApplicationDataViewModel.cs index 73d555389..9e0a3554a 100644 --- a/src/Ryujinx/UI/ViewModels/ApplicationDataViewModel.cs +++ b/src/Ryujinx/UI/ViewModels/ApplicationDataViewModel.cs @@ -1,34 +1,26 @@ using Gommon; +using Ryujinx.Ava.Common.Locale; using Ryujinx.Ava.Utilities.AppLibrary; namespace Ryujinx.Ava.UI.ViewModels { public class ApplicationDataViewModel : BaseModel { - private const string FormatVersion = "Current Version: {0}"; - private const string FormatDeveloper = "Developed by {0}"; - - private const string FormatExtension = "Game type: {0}"; - private const string FormatLastPlayed = "Last played: {0}"; - private const string FormatPlayTime = "Play time: {0}"; - private const string FormatSize = "Size: {0}"; - - private const string FormatHostedGames = "Hosted Games: {0}"; - private const string FormatPlayerCount = "Online Players: {0}"; - public ApplicationData AppData { get; } public ApplicationDataViewModel(ApplicationData appData) => AppData = appData; - public string FormattedVersion => FormatVersion.Format(AppData.Version); - public string FormattedDeveloper => FormatDeveloper.Format(AppData.Developer); + public string FormattedVersion => LocaleManager.Instance[LocaleKeys.GameListHeaderVersion].Format(AppData.Version); + public string FormattedDeveloper => LocaleManager.Instance[LocaleKeys.GameListHeaderDeveloper].Format(AppData.Developer); - public string FormattedFileExtension => FormatExtension.Format(AppData.FileExtension); - public string FormattedLastPlayed => FormatLastPlayed.Format(AppData.LastPlayedString); - public string FormattedPlayTime => FormatPlayTime.Format(AppData.TimePlayedString); - public string FormattedFileSize => FormatSize.Format(AppData.FileSizeString); + public string FormattedFileExtension => LocaleManager.Instance[LocaleKeys.GameListHeaderFileExtension].Format(AppData.FileExtension); + public string FormattedLastPlayed => LocaleManager.Instance[LocaleKeys.GameListHeaderLastPlayed].Format(AppData.LastPlayedString); + public string FormattedPlayTime => LocaleManager.Instance[LocaleKeys.GameListHeaderTimePlayed].Format(AppData.TimePlayedString); + public string FormattedFileSize => LocaleManager.Instance[LocaleKeys.GameListHeaderFileSize].Format(AppData.FileSizeString); public string FormattedLdnInfo => - $"{FormatHostedGames.Format(AppData.GameCount)}\n{FormatPlayerCount.Format(AppData.PlayerCount)}"; + $"{LocaleManager.Instance[LocaleKeys.GameListHeaderHostedGames].Format(AppData.GameCount)}" + + $"\n" + + $"{LocaleManager.Instance[LocaleKeys.GameListHeaderPlayerCount].Format(AppData.PlayerCount)}"; } }