diff --git a/src/Ryujinx.Ava/Common/Locale/LocaleManager.cs b/src/Ryujinx.Ava/Common/Locale/LocaleManager.cs
index 64f3a7e86..0e613838d 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)
diff --git a/src/Ryujinx.Ava/Ryujinx.Ava.csproj b/src/Ryujinx.Ava/Ryujinx.Ava.csproj
index 054a5c7f7..b6d37a2f1 100644
--- a/src/Ryujinx.Ava/Ryujinx.Ava.csproj
+++ b/src/Ryujinx.Ava/Ryujinx.Ava.csproj
@@ -119,6 +119,7 @@
     <None Remove="Assets\Locales\en_US.json" />
     <None Remove="Assets\Locales\es_ES.json" />
     <None Remove="Assets\Locales\fr_FR.json" />
+    <None Remove="Assets\Locales\he_IL.json" />
     <None Remove="Assets\Locales\de_DE.json" />
     <None Remove="Assets\Locales\it_IT.json" />
     <None Remove="Assets\Locales\ja_JP.json" />
@@ -143,6 +144,7 @@
     <EmbeddedResource Include="Assets\Locales\en_US.json" />
     <EmbeddedResource Include="Assets\Locales\es_ES.json" />
     <EmbeddedResource Include="Assets\Locales\fr_FR.json" />
+    <EmbeddedResource Include="Assets\Locales\he_IL.json" />
     <EmbeddedResource Include="Assets\Locales\de_DE.json" />
     <EmbeddedResource Include="Assets\Locales\it_IT.json" />
     <EmbeddedResource Include="Assets\Locales\ja_JP.json" />
diff --git a/src/Ryujinx.Ava/UI/Controls/ApplicationListView.axaml b/src/Ryujinx.Ava/UI/Controls/ApplicationListView.axaml
index 9004f7518..fecf08883 100644
--- a/src/Ryujinx.Ava/UI/Controls/ApplicationListView.axaml
+++ b/src/Ryujinx.Ava/UI/Controls/ApplicationListView.axaml
@@ -86,17 +86,17 @@
                                             HorizontalAlignment="Stretch"
                                             FontWeight="Bold"
                                             Text="{Binding TitleName}"
-                                            TextAlignment="Left"
+                                            TextAlignment="Start"
                                             TextWrapping="Wrap" />
                                         <TextBlock
                                             HorizontalAlignment="Stretch"
                                             Text="{Binding Developer}"
-                                            TextAlignment="Left"
+                                            TextAlignment="Start"
                                             TextWrapping="Wrap" />
                                         <TextBlock
                                             HorizontalAlignment="Stretch"
                                             Text="{Binding Version}"
-                                            TextAlignment="Left"
+                                            TextAlignment="Start"
                                             TextWrapping="Wrap" />
                                     </StackPanel>
                                 </Border>
@@ -110,12 +110,12 @@
                                     <TextBlock
                                         HorizontalAlignment="Stretch"
                                         Text="{Binding TitleId}"
-                                        TextAlignment="Left"
+                                        TextAlignment="Start"
                                         TextWrapping="Wrap" />
                                     <TextBlock
                                         HorizontalAlignment="Stretch"
                                         Text="{Binding FileExtension}"
-                                        TextAlignment="Left"
+                                        TextAlignment="Start"
                                         TextWrapping="Wrap" />
                                 </StackPanel>
                                 <StackPanel
@@ -127,17 +127,17 @@
                                     <TextBlock
                                         HorizontalAlignment="Stretch"
                                         Text="{Binding TimePlayedString}"
-                                        TextAlignment="Right"
+                                        TextAlignment="End"
                                         TextWrapping="Wrap" />
                                     <TextBlock
                                         HorizontalAlignment="Stretch"
                                         Text="{Binding LastPlayedString, Converter={helpers:LocalizedNeverConverter}}"
-                                        TextAlignment="Right"
+                                        TextAlignment="End"
                                         TextWrapping="Wrap" />
                                     <TextBlock
                                         HorizontalAlignment="Stretch"
                                         Text="{Binding FileSizeString}"
-                                        TextAlignment="Right"
+                                        TextAlignment="End"
                                         TextWrapping="Wrap" />
                                 </StackPanel>
                                 <ui:SymbolIcon
diff --git a/src/Ryujinx.Ava/UI/Renderer/RendererHost.axaml b/src/Ryujinx.Ava/UI/Renderer/RendererHost.axaml
index bb96b10d2..e0b586b45 100644
--- a/src/Ryujinx.Ava/UI/Renderer/RendererHost.axaml
+++ b/src/Ryujinx.Ava/UI/Renderer/RendererHost.axaml
@@ -1,11 +1,12 @@
-<UserControl 
+<UserControl
     xmlns="https://github.com/avaloniaui"
     xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
     xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
     xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
-    mc:Ignorable="d" 
-    d:DesignWidth="800" 
+    mc:Ignorable="d"
+    d:DesignWidth="800"
     d:DesignHeight="450"
     x:Class="Ryujinx.Ava.UI.Renderer.RendererHost"
+    FlowDirection="LeftToRight"
     Focusable="True">
-</UserControl>
\ No newline at end of file
+</UserControl>
diff --git a/src/Ryujinx.Ava/UI/Views/Input/ControllerInputView.axaml b/src/Ryujinx.Ava/UI/Views/Input/ControllerInputView.axaml
index d636873a3..99f2b6b69 100644
--- a/src/Ryujinx.Ava/UI/Views/Input/ControllerInputView.axaml
+++ b/src/Ryujinx.Ava/UI/Views/Input/ControllerInputView.axaml
@@ -101,7 +101,7 @@
                         HorizontalAlignment="Stretch"
                         VerticalAlignment="Center"
                         SelectedIndex="0"
-                        ItemsSource="{Binding ProfilesList}" 
+                        ItemsSource="{Binding ProfilesList}"
                         Text="{Binding ProfileName, Mode=TwoWay}" />
                     <Button
                         Grid.Column="2"
@@ -218,6 +218,7 @@
         <Grid
             Name="SettingButtons"
             MinHeight="450"
+            FlowDirection="LeftToRight"
             IsVisible="{Binding ShowSettings}">
             <Grid.ColumnDefinitions>
                 <ColumnDefinition Width="Auto" />
diff --git a/src/Ryujinx.Ava/UI/Views/Main/MainStatusBarView.axaml b/src/Ryujinx.Ava/UI/Views/Main/MainStatusBarView.axaml
index 01133a4bc..f9e192e62 100644
--- a/src/Ryujinx.Ava/UI/Views/Main/MainStatusBarView.axaml
+++ b/src/Ryujinx.Ava/UI/Views/Main/MainStatusBarView.axaml
@@ -88,7 +88,7 @@
                 IsVisible="{Binding !ShowLoadProgress}"
                 PointerReleased="VsyncStatus_PointerReleased"
                 Text="VSync"
-                TextAlignment="Left" />
+                TextAlignment="Start" />
             <Border
                 Width="2"
                 Height="12"
@@ -105,7 +105,7 @@
                 IsVisible="{Binding !ShowLoadProgress}"
                 PointerReleased="DockedStatus_PointerReleased"
                 Text="{Binding DockedStatusText}"
-                TextAlignment="Left" />
+                TextAlignment="Start" />
             <Border
                 Width="2"
                 Height="12"
@@ -225,7 +225,7 @@
                 VerticalAlignment="Center"
                 IsVisible="{Binding !ShowLoadProgress}"
                 Text="{Binding GameStatusText}"
-                TextAlignment="Left" />
+                TextAlignment="Start" />
             <Border
                 Width="2"
                 Height="12"
@@ -240,7 +240,7 @@
                 VerticalAlignment="Center"
                 IsVisible="{Binding !ShowLoadProgress}"
                 Text="{Binding FifoStatusText}"
-                TextAlignment="Left" />
+                TextAlignment="Start" />
             <Border
                 Width="2"
                 Height="12"
@@ -255,7 +255,7 @@
                 VerticalAlignment="Center"
                 IsVisible="{Binding !ShowLoadProgress}"
                 Text="{Binding BackendText}"
-                TextAlignment="Left" />
+                TextAlignment="Start" />
             <Border
                 Width="2"
                 Height="12"
@@ -270,7 +270,7 @@
                 VerticalAlignment="Center"
                 IsVisible="{Binding !ShowLoadProgress}"
                 Text="{Binding GpuNameText}"
-                TextAlignment="Left" />
+                TextAlignment="Start" />
         </StackPanel>
         <StackPanel
             Grid.Column="3"
diff --git a/src/Ryujinx.Ava/UI/Views/User/UserProfileImageSelectorView.axaml b/src/Ryujinx.Ava/UI/Views/User/UserProfileImageSelectorView.axaml
index 65fbd4434..b1786430e 100644
--- a/src/Ryujinx.Ava/UI/Views/User/UserProfileImageSelectorView.axaml
+++ b/src/Ryujinx.Ava/UI/Views/User/UserProfileImageSelectorView.axaml
@@ -27,7 +27,7 @@
             Grid.Row="0"
             TextWrapping="Wrap"
             HorizontalAlignment="Left"
-            TextAlignment="Left"
+            TextAlignment="Start"
             Text="{locale:Locale ProfileImageSelectionNote}" />
         <StackPanel
             Grid.Row="2"
@@ -59,4 +59,4 @@
             </Button>
         </StackPanel>
     </Grid>
-</UserControl>
\ No newline at end of file
+</UserControl>
diff --git a/src/Ryujinx.Ava/UI/Views/User/UserRecovererView.axaml b/src/Ryujinx.Ava/UI/Views/User/UserRecovererView.axaml
index debf4b843..3fdb4ab92 100644
--- a/src/Ryujinx.Ava/UI/Views/User/UserRecovererView.axaml
+++ b/src/Ryujinx.Ava/UI/Views/User/UserRecovererView.axaml
@@ -49,7 +49,7 @@
                                     <TextBlock
                                         HorizontalAlignment="Stretch"
                                         Text="{Binding UserId}"
-                                        TextAlignment="Left"
+                                        TextAlignment="Start"
                                         TextWrapping="Wrap" />
                                     <Button Grid.Column="1"
                                             HorizontalAlignment="Right"
@@ -79,4 +79,4 @@
             </Button>
         </StackPanel>
     </Grid>
-</UserControl>
\ No newline at end of file
+</UserControl>
diff --git a/src/Ryujinx.Ava/UI/Windows/AboutWindow.axaml b/src/Ryujinx.Ava/UI/Windows/AboutWindow.axaml
index a8fd11b27..a0fd2a1ac 100644
--- a/src/Ryujinx.Ava/UI/Windows/AboutWindow.axaml
+++ b/src/Ryujinx.Ava/UI/Windows/AboutWindow.axaml
@@ -238,7 +238,7 @@
                     <TextBlock
                         FontSize="10"
                         Text="{locale:Locale AboutRyujinxContributorsButtonHeader}"
-                        TextAlignment="Right"
+                        TextAlignment="End"
                         ToolTip.Tip="{locale:Locale AboutRyujinxMaintainersContentTooltipMessage}" />
                 </Button>
             </StackPanel>
diff --git a/src/Ryujinx.Ava/UI/Windows/AmiiboWindow.axaml b/src/Ryujinx.Ava/UI/Windows/AmiiboWindow.axaml
index caf7c1f3f..c587aa873 100644
--- a/src/Ryujinx.Ava/UI/Windows/AmiiboWindow.axaml
+++ b/src/Ryujinx.Ava/UI/Windows/AmiiboWindow.axaml
@@ -72,4 +72,4 @@
                     Click="CancelButton_Click" />
         </Grid>
     </Grid>
-</window:StyleableWindow>
\ No newline at end of file
+</window:StyleableWindow>
diff --git a/src/Ryujinx.Ava/UI/Windows/MainWindow.axaml b/src/Ryujinx.Ava/UI/Windows/MainWindow.axaml
index 0d9a59499..4def7c281 100644
--- a/src/Ryujinx.Ava/UI/Windows/MainWindow.axaml
+++ b/src/Ryujinx.Ava/UI/Windows/MainWindow.axaml
@@ -158,7 +158,7 @@
                             FontWeight="Bold"
                             IsVisible="{Binding ShowLoadProgress}"
                             Text="{Binding LoadHeading}"
-                            TextAlignment="Left"
+                            TextAlignment="Start"
                             TextWrapping="Wrap"
                             MaxWidth="500" />
                         <Border
@@ -192,7 +192,7 @@
                             FontSize="18"
                             IsVisible="{Binding ShowLoadProgress}"
                             Text="{Binding CacheLoadStatus}"
-                            TextAlignment="Left"
+                            TextAlignment="Start"
                             MaxWidth="500" />
                     </Grid>
                 </Grid>
@@ -202,4 +202,4 @@
                 Grid.Row="2" />
         </Grid>
     </Grid>
-</window:StyleableWindow>
\ No newline at end of file
+</window:StyleableWindow>
diff --git a/src/Ryujinx.Ava/UI/Windows/SettingsWindow.axaml b/src/Ryujinx.Ava/UI/Windows/SettingsWindow.axaml
index a0a75f611..40cac90dd 100644
--- a/src/Ryujinx.Ava/UI/Windows/SettingsWindow.axaml
+++ b/src/Ryujinx.Ava/UI/Windows/SettingsWindow.axaml
@@ -101,6 +101,9 @@
                 <Style Selector="Grid#PlaceholderGrid">
                     <Setter Property="Height" Value="40" />
                 </Style>
+                <Style Selector="ui|NavigationViewItem ui|SymbolIcon">
+                    <Setter Property="FlowDirection" Value="LeftToRight" />
+                </Style>
             </ui:NavigationView.Styles>
         </ui:NavigationView>
         <ReversibleStackPanel
diff --git a/src/Ryujinx.Ava/UI/Windows/StyleableWindow.cs b/src/Ryujinx.Ava/UI/Windows/StyleableWindow.cs
index 84b53035c..3cd12bc8c 100644
--- a/src/Ryujinx.Ava/UI/Windows/StyleableWindow.cs
+++ b/src/Ryujinx.Ava/UI/Windows/StyleableWindow.cs
@@ -1,7 +1,9 @@
 using Avalonia.Controls;
 using Avalonia.Controls.Primitives;
+using Avalonia.Media;
 using Avalonia.Media.Imaging;
 using Avalonia.Platform;
+using Ryujinx.Ava.Common.Locale;
 using Ryujinx.Ui.Common.Configuration;
 using System.IO;
 using System.Reflection;
@@ -22,6 +24,14 @@ namespace Ryujinx.Ava.UI.Windows
             Icon = new WindowIcon(stream);
             stream.Position = 0;
             IconImage = new Bitmap(stream);
+
+            LocaleManager.Instance.LocaleChanged += LocaleChanged;
+            LocaleChanged();
+        }
+
+        private void LocaleChanged()
+        {
+            FlowDirection = LocaleManager.Instance.IsRTL() ? FlowDirection.RightToLeft : FlowDirection.LeftToRight;
         }
 
         protected override void OnApplyTemplate(TemplateAppliedEventArgs e)
diff --git a/src/Ryujinx.Ava/UI/Windows/TitleUpdateWindow.axaml b/src/Ryujinx.Ava/UI/Windows/TitleUpdateWindow.axaml
index 78fc6b280..3eff389f0 100644
--- a/src/Ryujinx.Ava/UI/Windows/TitleUpdateWindow.axaml
+++ b/src/Ryujinx.Ava/UI/Windows/TitleUpdateWindow.axaml
@@ -130,4 +130,4 @@
             </StackPanel>
         </Panel>
     </Grid>
-</UserControl>
\ No newline at end of file
+</UserControl>