2355c2af62
Currently in `MenuMainBarView.axaml` we list all available languages and hardcode the language name with the language key. It's a bit bad beause if we want to add a new language, we have to edit the `csproj` and the `axaml` with the translated language name and the language code. I've put all translations in their respective locale files, add code into `MainMenuBarView` constructor to generate the menu automatically. Now we just have to edit the `csproj` if we want to add a new language.
178 lines
8.2 KiB
XML
178 lines
8.2 KiB
XML
<Project Sdk="Microsoft.NET.Sdk">
|
|
<PropertyGroup>
|
|
<TargetFramework>net7.0</TargetFramework>
|
|
<RuntimeIdentifiers>win10-x64;osx-x64;linux-x64</RuntimeIdentifiers>
|
|
<OutputType>Exe</OutputType>
|
|
<AllowUnsafeBlocks>true</AllowUnsafeBlocks>
|
|
<Version>1.0.0-dirty</Version>
|
|
<DefineConstants Condition=" '$(ExtraDefineConstants)' != '' ">$(DefineConstants);$(ExtraDefineConstants)</DefineConstants>
|
|
<RootNamespace>Ryujinx.Ava</RootNamespace>
|
|
<ApplicationIcon>Ryujinx.ico</ApplicationIcon>
|
|
<TieredPGO>true</TieredPGO>
|
|
</PropertyGroup>
|
|
|
|
<PropertyGroup Condition="'$(RuntimeIdentifier)' != ''">
|
|
<PublishSingleFile>true</PublishSingleFile>
|
|
<PublishTrimmed>true</PublishTrimmed>
|
|
<TrimMode>partial</TrimMode>
|
|
</PropertyGroup>
|
|
|
|
<ItemGroup>
|
|
<PackageReference Include="Avalonia" />
|
|
<PackageReference Include="Avalonia.Desktop" />
|
|
<PackageReference Include="Avalonia.Diagnostics" />
|
|
<PackageReference Include="Avalonia.Controls.DataGrid" />
|
|
<PackageReference Include="Avalonia.Markup.Xaml.Loader" />
|
|
<PackageReference Include="Avalonia.Svg" />
|
|
<PackageReference Include="Avalonia.Svg.Skia" />
|
|
<PackageReference Include="jp2masa.Avalonia.Flexbox" />
|
|
<PackageReference Include="DynamicData" />
|
|
<PackageReference Include="FluentAvaloniaUI" />
|
|
<PackageReference Include="XamlNameReferenceGenerator" />
|
|
|
|
<PackageReference Include="OpenTK.Core" />
|
|
<PackageReference Include="Ryujinx.Audio.OpenAL.Dependencies" Condition="'$(RuntimeIdentifier)' != 'linux-x64' AND '$(RuntimeIdentifier)' != 'osx-x64' AND '$(RuntimeIdentifier)' != 'osx-arm64'" />
|
|
<PackageReference Include="Ryujinx.Graphics.Nvdec.Dependencies" />
|
|
<PackageReference Include="Ryujinx.Graphics.Vulkan.Dependencies.MoltenVK" Condition="'$(RuntimeIdentifier)' != 'linux-x64' AND '$(RuntimeIdentifier)' != 'win10-x64'" />
|
|
<PackageReference Include="Silk.NET.Vulkan" />
|
|
<PackageReference Include="Silk.NET.Vulkan.Extensions.EXT" />
|
|
<PackageReference Include="Silk.NET.Vulkan.Extensions.KHR" />
|
|
<PackageReference Include="SPB" />
|
|
<PackageReference Include="SharpZipLib" />
|
|
<PackageReference Include="SixLabors.ImageSharp" />
|
|
|
|
<!--NOTE: DO NOT REMOVE, THIS IS REQUIRED AS A RESULT OF A TRIMMING ISSUE IN AVALONIA -->
|
|
<PackageReference Include="System.Drawing.Common" />
|
|
</ItemGroup>
|
|
|
|
<ItemGroup>
|
|
<ProjectReference Include="..\Ryujinx.Audio.Backends.SDL2\Ryujinx.Audio.Backends.SDL2.csproj" />
|
|
<ProjectReference Include="..\Ryujinx.Graphics.Vulkan\Ryujinx.Graphics.Vulkan.csproj" />
|
|
<ProjectReference Include="..\Ryujinx.Input\Ryujinx.Input.csproj" />
|
|
<ProjectReference Include="..\Ryujinx.Input.SDL2\Ryujinx.Input.SDL2.csproj" />
|
|
<ProjectReference Include="..\Ryujinx.Audio.Backends.OpenAL\Ryujinx.Audio.Backends.OpenAL.csproj" />
|
|
<ProjectReference Include="..\Ryujinx.Audio.Backends.SoundIo\Ryujinx.Audio.Backends.SoundIo.csproj" />
|
|
<ProjectReference Include="..\Ryujinx.Common\Ryujinx.Common.csproj" />
|
|
<ProjectReference Include="..\Ryujinx.HLE\Ryujinx.HLE.csproj" />
|
|
<ProjectReference Include="..\ARMeilleure\ARMeilleure.csproj" />
|
|
<ProjectReference Include="..\Ryujinx.Graphics.OpenGL\Ryujinx.Graphics.OpenGL.csproj" />
|
|
<ProjectReference Include="..\Ryujinx.Graphics.Gpu\Ryujinx.Graphics.Gpu.csproj" />
|
|
<ProjectReference Include="..\Ryujinx.Ui.Common\Ryujinx.Ui.Common.csproj" />
|
|
<ProjectReference Include="..\Ryujinx.Ui.LocaleGenerator\Ryujinx.Ui.LocaleGenerator.csproj" OutputItemType="Analyzer" ReferenceOutputAssembly="false" />
|
|
</ItemGroup>
|
|
|
|
<ItemGroup>
|
|
<Content Include="..\distribution\windows\alsoft.ini" Condition="'$(RuntimeIdentifier)' != 'linux-x64' AND '$(RuntimeIdentifier)' != 'osx-x64'">
|
|
<CopyToOutputDirectory>Always</CopyToOutputDirectory>
|
|
<TargetPath>alsoft.ini</TargetPath>
|
|
</Content>
|
|
<Content Include="..\distribution\legal\THIRDPARTY.md">
|
|
<CopyToOutputDirectory>Always</CopyToOutputDirectory>
|
|
<TargetPath>THIRDPARTY.md</TargetPath>
|
|
</Content>
|
|
<Content Include="..\LICENSE.txt">
|
|
<CopyToOutputDirectory>Always</CopyToOutputDirectory>
|
|
<TargetPath>LICENSE.txt</TargetPath>
|
|
</Content>
|
|
</ItemGroup>
|
|
|
|
<ItemGroup Condition="'$(RuntimeIdentifier)' == 'linux-x64'">
|
|
<Content Include="..\distribution\linux\Ryujinx.sh">
|
|
<CopyToOutputDirectory>Always</CopyToOutputDirectory>
|
|
</Content>
|
|
<Content Include="..\distribution\linux\mime\Ryujinx.xml">
|
|
<CopyToOutputDirectory>Always</CopyToOutputDirectory>
|
|
<TargetPath>mime\Ryujinx.xml</TargetPath>
|
|
</Content>
|
|
</ItemGroup>
|
|
|
|
<ItemGroup>
|
|
<AvaloniaResource Include="Ui\**\*.xaml">
|
|
<SubType>Designer</SubType>
|
|
</AvaloniaResource>
|
|
<AvaloniaResource Include="Assets\Fonts\SegoeFluentIcons.ttf" />
|
|
<AvaloniaResource Include="Assets\Styles\BaseLight.xaml">
|
|
<Generator>MSBuild:Compile</Generator>
|
|
</AvaloniaResource>
|
|
<AvaloniaResource Include="Assets\Styles\BaseDark.xaml">
|
|
<Generator>MSBuild:Compile</Generator>
|
|
</AvaloniaResource>
|
|
<AvaloniaResource Include="Assets\Styles\Styles.xaml" />
|
|
|
|
<Compile Update="App.axaml.cs">
|
|
<DependentUpon>App.axaml</DependentUpon>
|
|
<SubType>Code</SubType>
|
|
</Compile>
|
|
<Compile Update="Ui\Windows\MainWindow.axaml.cs">
|
|
<DependentUpon>MainWindow.axaml</DependentUpon>
|
|
<SubType>Code</SubType>
|
|
</Compile>
|
|
<Compile Update="Ui\Windows\AboutWindow.axaml.cs">
|
|
<DependentUpon>AboutWindow.axaml</DependentUpon>
|
|
<SubType>Code</SubType>
|
|
</Compile>
|
|
<Compile Update="Ui\Applet\ErrorAppletWindow.axaml.cs">
|
|
<DependentUpon>ProfileWindow.axaml</DependentUpon>
|
|
<SubType>Code</SubType>
|
|
</Compile>
|
|
<Compile Update="Ui\Applet\SwkbdAppletWindow.axaml.cs">
|
|
<DependentUpon>ProfileWindow.axaml</DependentUpon>
|
|
<SubType>Code</SubType>
|
|
</Compile>
|
|
<Compile Update="Ui\Controls\InputDialog.axaml.cs">
|
|
<DependentUpon>InputDialog.axaml</DependentUpon>
|
|
<SubType>Code</SubType>
|
|
</Compile>
|
|
<Compile Update="Ui\Windows\ContentDialogOverlay.xaml.cs">
|
|
<DependentUpon>ContentDialogOverlay.xaml</DependentUpon>
|
|
</Compile>
|
|
<Compile Update="Ui\Controls\GameListView.axaml.cs">
|
|
<DependentUpon>GameListView.axaml</DependentUpon>
|
|
<SubType>Code</SubType>
|
|
</Compile>
|
|
</ItemGroup>
|
|
|
|
<ItemGroup>
|
|
<None Remove="Assets\Locales\el_GR.json" />
|
|
<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\de_DE.json" />
|
|
<None Remove="Assets\Locales\it_IT.json" />
|
|
<None Remove="Assets\Locales\ja_JP.json" />
|
|
<None Remove="Assets\Locales\ko_KR.json" />
|
|
<None Remove="Assets\Locales\pl_PL.json" />
|
|
<None Remove="Assets\Locales\pt_BR.json" />
|
|
<None Remove="Assets\Locales\ru_RU.json" />
|
|
<None Remove="Assets\Locales\tr_TR.json" />
|
|
<None Remove="Assets\Locales\uk_UA.json" />
|
|
<None Remove="Assets\Locales\zh_CN.json" />
|
|
<None Remove="Assets\Locales\zh_TW.json" />
|
|
<None Remove="Assets\Styles\Styles.xaml" />
|
|
<None Remove="Assets\Styles\BaseDark.xaml" />
|
|
<None Remove="Assets\Styles\BaseLight.xaml" />
|
|
</ItemGroup>
|
|
|
|
<ItemGroup>
|
|
<EmbeddedResource Include="Assets\Locales\el_GR.json" />
|
|
<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\de_DE.json" />
|
|
<EmbeddedResource Include="Assets\Locales\it_IT.json" />
|
|
<EmbeddedResource Include="Assets\Locales\ja_JP.json" />
|
|
<EmbeddedResource Include="Assets\Locales\ko_KR.json" />
|
|
<EmbeddedResource Include="Assets\Locales\pl_PL.json" />
|
|
<EmbeddedResource Include="Assets\Locales\pt_BR.json" />
|
|
<EmbeddedResource Include="Assets\Locales\ru_RU.json" />
|
|
<EmbeddedResource Include="Assets\Locales\tr_TR.json" />
|
|
<EmbeddedResource Include="Assets\Locales\uk_UA.json" />
|
|
<EmbeddedResource Include="Assets\Locales\zh_CN.json" />
|
|
<EmbeddedResource Include="Assets\Locales\zh_TW.json" />
|
|
<EmbeddedResource Include="Assets\Styles\Styles.xaml" />
|
|
</ItemGroup>
|
|
<ItemGroup>
|
|
<AdditionalFiles Include="Assets\Locales\en_US.json" />
|
|
</ItemGroup>
|
|
</Project>
|