Use 1 locales file instead of individual files for each langauge. This makes it easier to keep track of what is missing. The PR will automatically fix missing locales and throw an error if anything is incorrect, by running the emulator. That way the person adding a new locale or new language can just run the emulator once to populate all the fields, so they can easily begin translating.
139 lines
7.1 KiB
XML
139 lines
7.1 KiB
XML
<Project Sdk="Microsoft.NET.Sdk">
|
|
<PropertyGroup>
|
|
<RuntimeIdentifiers>win-x64;osx-x64;linux-x64</RuntimeIdentifiers>
|
|
<OutputType>Exe</OutputType>
|
|
<AllowUnsafeBlocks>true</AllowUnsafeBlocks>
|
|
<Version>1.0.0-dirty</Version>
|
|
<DefineConstants Condition=" '$(ExtraDefineConstants)' != '' ">$(DefineConstants);$(ExtraDefineConstants)</DefineConstants>
|
|
<SigningCertificate Condition=" '$(SigningCertificate)' == '' ">-</SigningCertificate>
|
|
<ApplicationIcon>Ryujinx.ico</ApplicationIcon>
|
|
<TieredPGO>true</TieredPGO>
|
|
<AvaloniaUseCompiledBindingsByDefault>true</AvaloniaUseCompiledBindingsByDefault>
|
|
<ApplicationManifest>app.manifest</ApplicationManifest>
|
|
<DefaultItemExcludes>$(DefaultItemExcludes);._*</DefaultItemExcludes>
|
|
</PropertyGroup>
|
|
|
|
<Target Name="BuildValidationProj" BeforeTargets="BeforeRebuild">
|
|
<MSBuild Projects="..\Ryujinx.BuildValidationTasks\Ryujinx.BuildValidationTasks.csproj" Targets="Rebuild">
|
|
</MSBuild>
|
|
</Target>
|
|
|
|
<Target Name="PostBuild" AfterTargets="PostBuildEvent" Condition="$([MSBuild]::IsOSPlatform('OSX'))">
|
|
<Exec Command="codesign --entitlements '$(ProjectDir)..\..\distribution\macos\entitlements.xml' -f -s $(SigningCertificate) '$(TargetDir)$(TargetName)'" />
|
|
</Target>
|
|
|
|
<PropertyGroup Condition="'$(RuntimeIdentifier)' != ''">
|
|
<PublishSingleFile>true</PublishSingleFile>
|
|
<TrimmerSingleWarn>false</TrimmerSingleWarn>
|
|
<PublishTrimmed>true</PublishTrimmed>
|
|
<TrimMode>partial</TrimMode>
|
|
</PropertyGroup>
|
|
|
|
<!--
|
|
FluentAvalonia, used in the Avalonia UI, requires a workaround for the json serializer used internally when using .NET 8+ System.Text.Json.
|
|
See:
|
|
https://github.com/amwx/FluentAvalonia/issues/481
|
|
https://devblogs.microsoft.com/dotnet/system-text-json-in-dotnet-8/
|
|
-->
|
|
<PropertyGroup>
|
|
<JsonSerializerIsReflectionEnabledByDefault>true</JsonSerializerIsReflectionEnabledByDefault>
|
|
</PropertyGroup>
|
|
|
|
<ItemGroup>
|
|
<PackageReference Include="Avalonia" />
|
|
<PackageReference Include="Avalonia.Desktop" />
|
|
<PackageReference Include="Avalonia.Diagnostics" Condition="'$(Configuration)'=='Debug'" />
|
|
<PackageReference Include="Avalonia.Controls.DataGrid" />
|
|
<PackageReference Include="Avalonia.Markup.Xaml.Loader" />
|
|
<PackageReference Include="Avalonia.Svg" />
|
|
<PackageReference Include="Avalonia.Svg.Skia" />
|
|
<PackageReference Include="DynamicData" />
|
|
<PackageReference Include="FluentAvaloniaUI" />
|
|
<PackageReference Include="Projektanker.Icons.Avalonia" />
|
|
<PackageReference Include="Projektanker.Icons.Avalonia.FontAwesome" />
|
|
<PackageReference Include="Projektanker.Icons.Avalonia.MaterialDesign" />
|
|
<PackageReference Include="OpenTK.Core" />
|
|
<PackageReference Include="Ryujinx.Audio.OpenAL.Dependencies" Condition="'$(RuntimeIdentifier)' != 'linux-x64' AND '$(RuntimeIdentifier)' != 'linux-arm64' 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)' != 'linux-arm64' AND '$(RuntimeIdentifier)' != 'win-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" />
|
|
</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)' != 'linux-arm64' 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' OR '$(RuntimeIdentifier)' == 'linux-arm64' OR ('$(RuntimeIdentifier)' == '' AND $([MSBuild]::IsOSPlatform('Linux')))">
|
|
<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\Themes.xaml">
|
|
<Generator>MSBuild:Compile</Generator>
|
|
</AvaloniaResource>
|
|
<AvaloniaResource Include="Assets\Styles\Styles.xaml" />
|
|
</ItemGroup>
|
|
|
|
<ItemGroup>
|
|
<None Remove="Assets\locales.json" />
|
|
<None Remove="Assets\Styles\Styles.xaml" />
|
|
<None Remove="Assets\Styles\Themes.xaml" />
|
|
<None Remove="Assets\Icons\Controller_JoyConLeft.svg" />
|
|
<None Remove="Assets\Icons\Controller_JoyConPair.svg" />
|
|
<None Remove="Assets\Icons\Controller_JoyConRight.svg" />
|
|
<None Remove="Assets\Icons\Controller_ProCon.svg" />
|
|
</ItemGroup>
|
|
|
|
<ItemGroup>
|
|
<EmbeddedResource Include="Assets\locales.json" />
|
|
<EmbeddedResource Include="Assets\Styles\Styles.xaml" />
|
|
<EmbeddedResource Include="Assets\Icons\Controller_JoyConLeft.svg" />
|
|
<EmbeddedResource Include="Assets\Icons\Controller_JoyConPair.svg" />
|
|
<EmbeddedResource Include="Assets\Icons\Controller_JoyConRight.svg" />
|
|
<EmbeddedResource Include="Assets\Icons\Controller_ProCon.svg" />
|
|
</ItemGroup>
|
|
<ItemGroup>
|
|
<AdditionalFiles Include="Assets\locales.json" />
|
|
</ItemGroup>
|
|
</Project> |