diff options
| author | Isaac Marovitz <42140194+IsaacMarovitz@users.noreply.github.com> | 2024-01-13 00:42:42 +0000 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2024-01-13 01:42:42 +0100 |
| commit | 1a45dc8df882e58e4280849541e4f3be94f0edb9 (patch) | |
| tree | 6019d8398e4b45972d022875a31aa32af6acb6b2 /src/Ryujinx.Ava/Common | |
| parent | f037fcba9a5713e68cadbbf8a823913943ac2626 (diff) | |
Ava UI: RTL Language Support (#5619)
* Add Hebrew locale files to ItemGroups
* Align all windows RTL for testing
This should be controlled with a binding that selects the appropriate layout based on current language
* Update FlowDirection as Locale changes
* Fix Settings NavigationViewItem FlowDirection
* Fix remaining text
* Fix input menu directionality
* Fix RTL not rendering
* Fix rebase errors
Diffstat (limited to 'src/Ryujinx.Ava/Common')
| -rw-r--r-- | src/Ryujinx.Ava/Common/Locale/LocaleManager.cs | 14 |
1 files changed, 14 insertions, 0 deletions
diff --git a/src/Ryujinx.Ava/Common/Locale/LocaleManager.cs b/src/Ryujinx.Ava/Common/Locale/LocaleManager.cs index 64f3a7e8..0e613838 100644 --- a/src/Ryujinx.Ava/Common/Locale/LocaleManager.cs +++ b/src/Ryujinx.Ava/Common/Locale/LocaleManager.cs @@ -16,8 +16,10 @@ namespace Ryujinx.Ava.Common.Locale private readonly Dictionary<LocaleKeys, string> _localeStrings; private Dictionary<LocaleKeys, string> _localeDefaultStrings; private readonly ConcurrentDictionary<LocaleKeys, object[]> _dynamicValues; + private string _localeLanguageCode; public static LocaleManager Instance { get; } = new(); + public event Action LocaleChanged; public LocaleManager() { @@ -104,6 +106,15 @@ namespace Ryujinx.Ava.Common.Locale } } + public bool IsRTL() + { + return _localeLanguageCode switch + { + "he_IL" => true, + _ => false + }; + } + public string UpdateAndGetDynamicValue(LocaleKeys key, params object[] values) { _dynamicValues[key] = values; @@ -124,6 +135,9 @@ namespace Ryujinx.Ava.Common.Locale { this[item.Key] = item.Value; } + + _localeLanguageCode = languageCode; + LocaleChanged?.Invoke(); } private static Dictionary<LocaleKeys, string> LoadJsonLanguage(string languageCode = DefaultLanguageCode) |
