diff --git a/src/Ryujinx/Common/Locale/LocaleManager.cs b/src/Ryujinx/Common/LocaleManager.cs
similarity index 100%
rename from src/Ryujinx/Common/Locale/LocaleManager.cs
rename to src/Ryujinx/Common/LocaleManager.cs
diff --git a/src/Ryujinx/Common/Icon/IconExtension.cs b/src/Ryujinx/Common/MarkupExtensions/IconExtension.cs
similarity index 96%
rename from src/Ryujinx/Common/Icon/IconExtension.cs
rename to src/Ryujinx/Common/MarkupExtensions/IconExtension.cs
index 41bdf5b02..15b1ad112 100644
--- a/src/Ryujinx/Common/Icon/IconExtension.cs
+++ b/src/Ryujinx/Common/MarkupExtensions/IconExtension.cs
@@ -4,7 +4,7 @@ using Avalonia.Markup.Xaml.MarkupExtensions;
using Avalonia.Markup.Xaml.MarkupExtensions.CompiledBindings;
using System;
-namespace Ryujinx.Ava.Common.Icon
+namespace Ryujinx.Ava.Common.Markup
{
internal class IconExtension(string iconString) : MarkupExtension
{
diff --git a/src/Ryujinx/Common/Locale/LocaleExtension.cs b/src/Ryujinx/Common/MarkupExtensions/LocaleExtension.cs
similarity index 92%
rename from src/Ryujinx/Common/Locale/LocaleExtension.cs
rename to src/Ryujinx/Common/MarkupExtensions/LocaleExtension.cs
index 54441c4cc..60d435e30 100644
--- a/src/Ryujinx/Common/Locale/LocaleExtension.cs
+++ b/src/Ryujinx/Common/MarkupExtensions/LocaleExtension.cs
@@ -2,9 +2,10 @@ using Avalonia.Data.Core;
using Avalonia.Markup.Xaml;
using Avalonia.Markup.Xaml.MarkupExtensions;
using Avalonia.Markup.Xaml.MarkupExtensions.CompiledBindings;
+using Ryujinx.Ava.Common.Locale;
using System;
-namespace Ryujinx.Ava.Common.Locale
+namespace Ryujinx.Ava.Common.Markup
{
internal class LocaleExtension(LocaleKeys key) : MarkupExtension
{
diff --git a/src/Ryujinx/UI/Applet/ControllerAppletDialog.axaml b/src/Ryujinx/UI/Applet/ControllerAppletDialog.axaml
index e24a1bb1d..038698f9f 100644
--- a/src/Ryujinx/UI/Applet/ControllerAppletDialog.axaml
+++ b/src/Ryujinx/UI/Applet/ControllerAppletDialog.axaml
@@ -4,7 +4,7 @@
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"
- xmlns:locale="clr-namespace:Ryujinx.Ava.Common.Locale"
+ xmlns:ext="clr-namespace:Ryujinx.Ava.Common.Markup"
xmlns:applet="using:Ryujinx.Ava.UI.Applet"
mc:Ignorable="d"
Width="400"
@@ -25,11 +25,11 @@
Spacing="10"
Margin="10">
+ Text="{ext:Locale ControllerAppletDescription}" />
+ Text="{ext:Locale ControllerAppletDocked}" />
+ Text="{ext:Locale ControllerAppletControllers}" />
+ Text="{ext:Locale ControllerAppletPlayers}" />
-
+
diff --git a/src/Ryujinx/UI/Applet/ErrorAppletWindow.axaml b/src/Ryujinx/UI/Applet/ErrorAppletWindow.axaml
index 709d833b8..c7aa56fb8 100644
--- a/src/Ryujinx/UI/Applet/ErrorAppletWindow.axaml
+++ b/src/Ryujinx/UI/Applet/ErrorAppletWindow.axaml
@@ -3,9 +3,9 @@
xmlns="https://github.com/avaloniaui"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
- xmlns:locale="clr-namespace:Ryujinx.Ava.Common.Locale"
+ xmlns:ext="clr-namespace:Ryujinx.Ava.Common.Markup"
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
- Title="{locale:Locale ErrorWindowTitle}"
+ Title="{ext:Locale ErrorWindowTitle}"
xmlns:views="using:Ryujinx.Ava.UI.Applet"
Width="450"
Height="340"
diff --git a/src/Ryujinx/UI/Controls/ApplicationContextMenu.axaml b/src/Ryujinx/UI/Controls/ApplicationContextMenu.axaml
index 4a6c99d1d..926af7686 100644
--- a/src/Ryujinx/UI/Controls/ApplicationContextMenu.axaml
+++ b/src/Ryujinx/UI/Controls/ApplicationContextMenu.axaml
@@ -2,109 +2,108 @@
x:Class="Ryujinx.Ava.UI.Controls.ApplicationContextMenu"
xmlns="https://github.com/avaloniaui"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
- xmlns:locale="clr-namespace:Ryujinx.Ava.Common.Locale"
- xmlns:icon="clr-namespace:Ryujinx.Ava.Common.Icon"
+ xmlns:ext="clr-namespace:Ryujinx.Ava.Common.Markup"
xmlns:viewModels="clr-namespace:Ryujinx.Ava.UI.ViewModels"
x:DataType="viewModels:MainWindowViewModel">
+ Header="{ext:Locale GameListContextMenuRunApplication}"
+ Icon="{ext:Icon fa-solid fa-play}"/>
+ Header="{ext:Locale GameListContextMenuToggleFavorite}"
+ Icon="{ext:Icon fa-solid fa-star}"
+ ToolTip.Tip="{ext:Locale GameListContextMenuToggleFavoriteToolTip}" />
+ Icon="{ext:Icon fa-solid fa-bookmark}"
+ ToolTip.Tip="{OnPlatform Default={ext:Locale GameListContextMenuCreateShortcutToolTip}, macOS={ext:Locale GameListContextMenuCreateShortcutToolTipMacOS}}" />
+ ToolTip.Tip="{ext:Locale GameListContextMenuOpenUserSaveDirectoryToolTip}" />
+ ToolTip.Tip="{ext:Locale GameListContextMenuOpenDeviceSaveDirectoryToolTip}" />
+ ToolTip.Tip="{ext:Locale GameListContextMenuOpenBcatSaveDirectoryToolTip}" />
+ Header="{ext:Locale GameListContextMenuManageTitleUpdates}"
+ Icon="{ext:Icon fa-solid fa-code-compare}"
+ ToolTip.Tip="{ext:Locale GameListContextMenuManageTitleUpdatesToolTip}" />
+ Header="{ext:Locale GameListContextMenuManageDlc}"
+ Icon="{ext:Icon fa-solid fa-download}"
+ ToolTip.Tip="{ext:Locale GameListContextMenuManageDlcToolTip}" />
+ Header="{ext:Locale GameListContextMenuManageCheat}"
+ Icon="{ext:Icon fa-solid fa-code}"
+ ToolTip.Tip="{ext:Locale GameListContextMenuManageCheatToolTip}" />
+ Header="{ext:Locale GameListContextMenuManageMod}"
+ Icon="{ext:Icon mdi-view-module}"
+ ToolTip.Tip="{ext:Locale GameListContextMenuManageModToolTip}" />
+ Header="{ext:Locale GameListContextMenuOpenModsDirectory}"
+ Icon="{ext:Icon mdi-folder-file}"
+ ToolTip.Tip="{ext:Locale GameListContextMenuOpenModsDirectoryToolTip}" />
+ Header="{ext:Locale GameListContextMenuOpenSdModsDirectory}"
+ Icon="{ext:Icon mdi-folder-file}"
+ ToolTip.Tip="{ext:Locale GameListContextMenuOpenSdModsDirectoryToolTip}" />
-
@@ -476,13 +476,13 @@
MinWidth="0"
Grid.Column="0"
IsChecked="{Binding Config.EnableRumble, Mode=TwoWay}">
-
+
@@ -519,7 +519,7 @@
Width="20"
HorizontalAlignment="Center"
VerticalAlignment="Center"
- Text="{locale:Locale ControllerSettingsTriggerZR}"
+ Text="{ext:Locale ControllerSettingsTriggerZR}"
TextAlignment="Center" />
+ Text="{ext:Locale ControllerSettingsButtons}" />
@@ -590,7 +590,7 @@
Margin="0,0,10,0"
HorizontalAlignment="Center"
VerticalAlignment="Center"
- Text="{locale:Locale ControllerSettingsButtonA}"
+ Text="{ext:Locale ControllerSettingsButtonA}"
TextAlignment="Center" />
+ Text="{ext:Locale ControllerSettingsRStick}" />
@@ -675,7 +675,7 @@
Width="120"
HorizontalAlignment="Center"
VerticalAlignment="Center"
- Text="{locale:Locale ControllerSettingsStickButton}"
+ Text="{ext:Locale ControllerSettingsStickButton}"
TextAlignment="Center" />
-
+
-
+
-
+
+ Text="{ext:Locale ControllerSettingsStickDeadzone}" />
+ Text="{ext:Locale ControllerSettingsStickRange}" />
+ Text="{ext:Locale ControllerSettingsPlayer}" />
+ Text="{ext:Locale ControllerSettingsProfile}" />
+ Text="{ext:Locale ControllerSettingsInputDevice}" />
+ Text="{ext:Locale ControllerSettingsControllerType}" />
+ Text="{ext:Locale ControllerSettingsLStick}" />
@@ -139,7 +139,7 @@
Width="120"
HorizontalAlignment="Center"
VerticalAlignment="Center"
- Text="{locale:Locale ControllerSettingsStickButton}"
+ Text="{ext:Locale ControllerSettingsStickButton}"
TextAlignment="Center" />
+ Text="{ext:Locale ControllerSettingsDPad}" />
+ Text="{ext:Locale ControllerSettingsButtons}" />
@@ -504,7 +504,7 @@
Margin="0,0,10,0"
HorizontalAlignment="Center"
VerticalAlignment="Center"
- Text="{locale:Locale ControllerSettingsButtonA}"
+ Text="{ext:Locale ControllerSettingsButtonA}"
TextAlignment="Center" />
+ Text="{ext:Locale ControllerSettingsRStick}" />
@@ -590,7 +590,7 @@
Width="120"
HorizontalAlignment="Center"
VerticalAlignment="Center"
- Text="{locale:Locale ControllerSettingsStickButton}"
+ Text="{ext:Locale ControllerSettingsStickButton}"
TextAlignment="Center" />
-
\ No newline at end of file
+
diff --git a/src/Ryujinx/UI/Views/Input/MotionInputView.axaml b/src/Ryujinx/UI/Views/Input/MotionInputView.axaml
index 0d018e297..9096a06d1 100644
--- a/src/Ryujinx/UI/Views/Input/MotionInputView.axaml
+++ b/src/Ryujinx/UI/Views/Input/MotionInputView.axaml
@@ -5,7 +5,7 @@
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
xmlns:controls="clr-namespace:Ryujinx.Ava.UI.Controls"
xmlns:ui="clr-namespace:FluentAvalonia.UI.Controls;assembly=FluentAvalonia"
- xmlns:locale="clr-namespace:Ryujinx.Ava.Common.Locale"
+ xmlns:ext="clr-namespace:Ryujinx.Ava.Common.Markup"
xmlns:viewModels="clr-namespace:Ryujinx.Ava.UI.ViewModels.Input"
mc:Ignorable="d"
x:Class="Ryujinx.Ava.UI.Views.Input.MotionInputView"
@@ -23,7 +23,7 @@
+ Text="{ext:Locale ControllerSettingsMotionGyroSensitivity}" />
+ Text="{ext:Locale ControllerSettingsMotionGyroDeadzone}" />
+ Text="{ext:Locale ControllerSettingsMotionUseCemuhookCompatibleMotion}" />
+ Text="{ext:Locale ControllerSettingsMotionServerHost}" />
+ Text="{ext:Locale ControllerSettingsMotionControllerSlot}" />
+ Text="{ext:Locale ControllerSettingsMotionRightJoyConSlot}" />
+ Text="{ext:Locale ControllerSettingsMotionMirrorInput}" />
diff --git a/src/Ryujinx/UI/Views/Input/RumbleInputView.axaml b/src/Ryujinx/UI/Views/Input/RumbleInputView.axaml
index 1beb1f06e..5f6cde5b5 100644
--- a/src/Ryujinx/UI/Views/Input/RumbleInputView.axaml
+++ b/src/Ryujinx/UI/Views/Input/RumbleInputView.axaml
@@ -4,7 +4,7 @@
xmlns:controls="clr-namespace:Ryujinx.Ava.UI.Controls"
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
- xmlns:locale="clr-namespace:Ryujinx.Ava.Common.Locale"
+ xmlns:ext="clr-namespace:Ryujinx.Ava.Common.Markup"
xmlns:viewModels="clr-namespace:Ryujinx.Ava.UI.ViewModels.Input"
mc:Ignorable="d"
x:Class="Ryujinx.Ava.UI.Views.Input.RumbleInputView"
@@ -21,7 +21,7 @@
Width="100"
TextWrapping="WrapWithOverflow"
HorizontalAlignment="Center"
- Text="{locale:Locale ControllerSettingsRumbleStrongMultiplier}" />
+ Text="{ext:Locale ControllerSettingsRumbleStrongMultiplier}" />
+ Text="{ext:Locale ControllerSettingsRumbleWeakMultiplier}" />
-
+
+ ToolTip.Tip="{ext:Locale LoadApplicationFileTooltip}" />
+ ToolTip.Tip="{ext:Locale LoadApplicationFolderTooltip}" />
+ ToolTip.Tip="{ext:Locale LoadDlcFromFolderTooltip}" />
-
+ ToolTip.Tip="{ext:Locale LoadTitleUpdatesFromFolderTooltip}" />
+
+ Icon="{ext:Icon fa-solid fa-person}"
+ ToolTip.Tip="{ext:Locale MenuBarFileOpenAppletOpenMiiAppletToolTip}" />
+ Header="{ext:Locale MenuBarFileOpenEmuFolder}"
+ ToolTip.Tip="{ext:Locale OpenRyujinxFolderTooltip}" />
+ Header="{ext:Locale MenuBarFileOpenLogsFolder}"
+ ToolTip.Tip="{ext:Locale OpenRyujinxLogsTooltip}" />
+ Header="{ext:Locale MenuBarFileExit}"
+ Icon="{ext:Icon fa-solid fa-xmark}"
+ ToolTip.Tip="{ext:Locale ExitTooltip}" />
-
+