aboutsummaryrefslogtreecommitdiff
path: root/src/Ryujinx.Ava/Common
diff options
context:
space:
mode:
authorIsaac Marovitz <42140194+IsaacMarovitz@users.noreply.github.com>2024-01-13 00:42:42 +0000
committerGitHub <noreply@github.com>2024-01-13 01:42:42 +0100
commit1a45dc8df882e58e4280849541e4f3be94f0edb9 (patch)
tree6019d8398e4b45972d022875a31aa32af6acb6b2 /src/Ryujinx.Ava/Common
parentf037fcba9a5713e68cadbbf8a823913943ac2626 (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.cs14
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)