mirror of
https://git.ryujinx.app/ryubing/ryujinx.git
synced 2025-09-20 09:35:42 +00:00
Compare commits
14 Commits
Canary-1.2
...
Canary-1.2
Author | SHA1 | Date | |
---|---|---|---|
|
b17e4f79fb | ||
|
a7b58df3fe | ||
|
8c2d6192ba | ||
|
2a23000fed | ||
|
ab7d0a2e6d | ||
|
bd2681b2f9 | ||
|
640d7f9e77 | ||
|
02e8278438 | ||
|
6acd86c890 | ||
|
708256ce96 | ||
|
5bf50836e1 | ||
|
730ba44043 | ||
|
36c374cc7a | ||
|
75f714488e |
60
.github/workflows/build.yml
vendored
60
.github/workflows/build.yml
vendored
@@ -74,36 +74,36 @@ jobs:
|
||||
chmod +x ./publish_sdl2_headless/Ryujinx.Headless.SDL2 ./publish_sdl2_headless/Ryujinx.sh
|
||||
if: github.event_name == 'pull_request' && matrix.platform.os == 'ubuntu-latest'
|
||||
|
||||
#- name: Build AppImage
|
||||
# if: github.event_name == 'pull_request' && matrix.platform.os == 'ubuntu-latest'
|
||||
# run: |
|
||||
# PLATFORM_NAME="${{ matrix.platform.name }}"
|
||||
- name: Build AppImage
|
||||
if: github.event_name == 'pull_request' && matrix.platform.os == 'ubuntu-latest'
|
||||
run: |
|
||||
PLATFORM_NAME="${{ matrix.platform.name }}"
|
||||
|
||||
# sudo apt install -y zsync desktop-file-utils appstream
|
||||
sudo apt install -y zsync desktop-file-utils appstream
|
||||
|
||||
# mkdir -p tools
|
||||
# export PATH="$PATH:$(readlink -f tools)"
|
||||
mkdir -p tools
|
||||
export PATH="$PATH:$(readlink -f tools)"
|
||||
|
||||
# # Setup appimagetool
|
||||
# wget -q -O tools/appimagetool "https://github.com/AppImage/appimagetool/releases/download/continuous/appimagetool-x86_64.AppImage"
|
||||
# chmod +x tools/appimagetool
|
||||
# chmod +x distribution/linux/appimage/build-appimage.sh
|
||||
# Setup appimagetool
|
||||
wget -q -O tools/appimagetool "https://github.com/AppImage/appimagetool/releases/download/continuous/appimagetool-x86_64.AppImage"
|
||||
chmod +x tools/appimagetool
|
||||
chmod +x distribution/linux/appimage/build-appimage.sh
|
||||
|
||||
# Explicitly set $ARCH for appimagetool ($ARCH_NAME is for the file name)
|
||||
# if [ "$PLATFORM_NAME" = "linux-x64" ]; then
|
||||
# ARCH_NAME=x64
|
||||
# export ARCH=x86_64
|
||||
# elif [ "$PLATFORM_NAME" = "linux-arm64" ]; then
|
||||
# ARCH_NAME=arm64
|
||||
# export ARCH=aarch64
|
||||
# else
|
||||
# echo "Unexpected PLATFORM_NAME "$PLATFORM_NAME""
|
||||
# exit 1
|
||||
# fi
|
||||
if [ "$PLATFORM_NAME" = "linux-x64" ]; then
|
||||
ARCH_NAME=x64
|
||||
export ARCH=x86_64
|
||||
elif [ "$PLATFORM_NAME" = "linux-arm64" ]; then
|
||||
ARCH_NAME=arm64
|
||||
export ARCH=aarch64
|
||||
else
|
||||
echo "Unexpected PLATFORM_NAME "$PLATFORM_NAME""
|
||||
exit 1
|
||||
fi
|
||||
|
||||
# export UFLAG="gh-releases-zsync|${{ github.repository_owner }}|${{ github.event.repository.name }}|latest|*-$ARCH_NAME.AppImage.zsync"
|
||||
# BUILDDIR=publish OUTDIR=publish_appimage distribution/linux/appimage/build-appimage.sh
|
||||
# shell: bash
|
||||
export UFLAG="gh-releases-zsync|${{ github.repository_owner }}|${{ github.event.repository.name }}|latest|*-$ARCH_NAME.AppImage.zsync"
|
||||
BUILDDIR=publish OUTDIR=publish_appimage distribution/linux/appimage/build-appimage.sh
|
||||
shell: bash
|
||||
|
||||
- name: Upload Ryujinx artifact
|
||||
uses: actions/upload-artifact@v4
|
||||
@@ -112,12 +112,12 @@ jobs:
|
||||
path: publish
|
||||
if: github.event_name == 'pull_request' && matrix.platform.os != 'macos-13'
|
||||
|
||||
#- name: Upload Ryujinx (AppImage) artifact
|
||||
# uses: actions/upload-artifact@v4
|
||||
# if: github.event_name == 'pull_request' && matrix.platform.os == 'ubuntu-latest'
|
||||
# with:
|
||||
# name: ryujinx-${{ matrix.configuration }}-${{ env.RYUJINX_BASE_VERSION }}+${{ steps.git_short_hash.outputs.result }}-${{ matrix.platform.zip_os_name }}-AppImage
|
||||
# path: publish_appimage
|
||||
- name: Upload Ryujinx (AppImage) artifact
|
||||
uses: actions/upload-artifact@v4
|
||||
if: github.event_name == 'pull_request' && matrix.platform.os == 'ubuntu-latest'
|
||||
with:
|
||||
name: ryujinx-${{ matrix.configuration }}-${{ env.RYUJINX_BASE_VERSION }}+${{ steps.git_short_hash.outputs.result }}-${{ matrix.platform.zip_os_name }}-AppImage
|
||||
path: publish_appimage
|
||||
|
||||
- name: Upload Ryujinx.Headless.SDL2 artifact
|
||||
uses: actions/upload-artifact@v4
|
||||
|
108
.github/workflows/release.yml
vendored
108
.github/workflows/release.yml
vendored
@@ -101,83 +101,79 @@ jobs:
|
||||
|
||||
- name: Publish
|
||||
run: |
|
||||
dotnet publish -c Release -r "${{ matrix.platform.name }}" -o ./publish_ava/publish -p:Version="${{ steps.version_info.outputs.build_version }}" -p:SourceRevisionId="${{ steps.version_info.outputs.git_short_hash }}" -p:DebugType=embedded src/Ryujinx --self-contained -p:IncludeNativeLibrariesForSelfExtract=true
|
||||
dotnet publish -c Release -r "${{ matrix.platform.name }}" -o ./publish_sdl2_headless/publish -p:Version="${{ steps.version_info.outputs.build_version }}" -p:SourceRevisionId="${{ steps.version_info.outputs.git_short_hash }}" -p:DebugType=embedded src/Ryujinx.Headless.SDL2 --self-contained -p:IncludeNativeLibrariesForSelfExtract=true
|
||||
dotnet publish -c Release -r "${{ matrix.platform.name }}" -o ./publish -p:Version="${{ steps.version_info.outputs.build_version }}" -p:SourceRevisionId="${{ steps.version_info.outputs.git_short_hash }}" -p:DebugType=embedded src/Ryujinx --self-contained -p:IncludeNativeLibrariesForSelfExtract=true
|
||||
dotnet publish -c Release -r "${{ matrix.platform.name }}" -o ./publish_sdl2_headless -p:Version="${{ steps.version_info.outputs.build_version }}" -p:SourceRevisionId="${{ steps.version_info.outputs.git_short_hash }}" -p:DebugType=embedded src/Ryujinx.Headless.SDL2 --self-contained -p:IncludeNativeLibrariesForSelfExtract=true
|
||||
|
||||
- name: Packing Windows builds
|
||||
if: matrix.platform.os == 'windows-latest'
|
||||
run: |
|
||||
pushd publish_ava
|
||||
rm publish/libarmeilleure-jitsupport.dylib
|
||||
7z a ../release_output/ryujinx-${{ steps.version_info.outputs.build_version }}-${{ matrix.platform.zip_os_name }}.zip publish
|
||||
pushd publish
|
||||
rm libarmeilleure-jitsupport.dylib
|
||||
7z a ../release_output/ryujinx-${{ steps.version_info.outputs.build_version }}-${{ matrix.platform.zip_os_name }}.zip ../publish
|
||||
popd
|
||||
|
||||
pushd publish_sdl2_headless
|
||||
rm publish/libarmeilleure-jitsupport.dylib
|
||||
7z a ../release_output/sdl2-ryujinx-headless-${{ steps.version_info.outputs.build_version }}-${{ matrix.platform.zip_os_name }}.zip publish
|
||||
rm libarmeilleure-jitsupport.dylib
|
||||
7z a ../release_output/sdl2-ryujinx-headless-${{ steps.version_info.outputs.build_version }}-${{ matrix.platform.zip_os_name }}.zip ../publish
|
||||
popd
|
||||
shell: bash
|
||||
|
||||
- name: Build AppImage (Linux)
|
||||
if: matrix.platform.os == 'ubuntu-latest'
|
||||
run: |
|
||||
BUILD_VERSION="${{ steps.version_info.outputs.build_version }}"
|
||||
PLATFORM_NAME="${{ matrix.platform.name }}"
|
||||
|
||||
sudo apt install -y zsync desktop-file-utils appstream
|
||||
|
||||
mkdir -p tools
|
||||
export PATH="$PATH:$(readlink -f tools)"
|
||||
|
||||
# Setup appimagetool
|
||||
wget -q -O tools/appimagetool "https://github.com/AppImage/appimagetool/releases/download/continuous/appimagetool-x86_64.AppImage"
|
||||
chmod +x tools/appimagetool
|
||||
chmod +x distribution/linux/appimage/build-appimage.sh
|
||||
|
||||
# Explicitly set $ARCH for appimagetool ($ARCH_NAME is for the file name)
|
||||
if [ "$PLATFORM_NAME" = "linux-x64" ]; then
|
||||
ARCH_NAME=x64
|
||||
export ARCH=x86_64
|
||||
elif [ "$PLATFORM_NAME" = "linux-arm64" ]; then
|
||||
ARCH_NAME=arm64
|
||||
export ARCH=aarch64
|
||||
else
|
||||
echo "Unexpected PLATFORM_NAME "$PLATFORM_NAME""
|
||||
exit 1
|
||||
fi
|
||||
|
||||
export UFLAG="gh-releases-zsync|${{ github.repository_owner }}|${{ github.event.repository.name }}|latest|*-$ARCH_NAME.AppImage.zsync"
|
||||
BUILDDIR=publish OUTDIR=publish_appimage distribution/linux/appimage/build-appimage.sh
|
||||
|
||||
pushd publish_appimage
|
||||
mv Ryujinx.AppImage ../release_output/ryujinx-$BUILD_VERSION-$ARCH_NAME.AppImage
|
||||
mv Ryujinx.AppImage.zsync ../release_output/ryujinx-$BUILD_VERSION-$ARCH_NAME.AppImage.zsync
|
||||
popd
|
||||
shell: bash
|
||||
|
||||
- name: Packing Linux builds
|
||||
if: matrix.platform.os == 'ubuntu-latest'
|
||||
run: |
|
||||
pushd publish_ava
|
||||
rm publish/libarmeilleure-jitsupport.dylib
|
||||
chmod +x publish/Ryujinx.sh publish/Ryujinx
|
||||
tar -czvf ../release_output/ryujinx-${{ steps.version_info.outputs.build_version }}-${{ matrix.platform.zip_os_name }}.tar.gz publish
|
||||
pushd publish
|
||||
chmod +x Ryujinx.sh Ryujinx
|
||||
tar -czvf ../release_output/ryujinx-${{ steps.version_info.outputs.build_version }}-${{ matrix.platform.zip_os_name }}.tar.gz ../publish
|
||||
popd
|
||||
|
||||
pushd publish_sdl2_headless
|
||||
rm publish/libarmeilleure-jitsupport.dylib
|
||||
chmod +x publish/Ryujinx.sh publish/Ryujinx.Headless.SDL2
|
||||
tar -czvf ../release_output/sdl2-ryujinx-headless-${{ steps.version_info.outputs.build_version }}-${{ matrix.platform.zip_os_name }}.tar.gz publish
|
||||
chmod +x Ryujinx.sh Ryujinx.Headless.SDL2
|
||||
tar -czvf ../release_output/sdl2-ryujinx-headless-${{ steps.version_info.outputs.build_version }}-${{ matrix.platform.zip_os_name }}.tar.gz ../publish
|
||||
popd
|
||||
shell: bash
|
||||
|
||||
#- name: Build AppImage (Linux)
|
||||
# if: matrix.platform.os == 'ubuntu-latest'
|
||||
# run: |
|
||||
# BUILD_VERSION="${{ steps.version_info.outputs.build_version }}"
|
||||
# PLATFORM_NAME="${{ matrix.platform.name }}"
|
||||
|
||||
# sudo apt install -y zsync desktop-file-utils appstream
|
||||
|
||||
# mkdir -p tools
|
||||
# export PATH="$PATH:$(readlink -f tools)"
|
||||
|
||||
# Setup appimagetool
|
||||
# wget -q -O tools/appimagetool "https://github.com/AppImage/appimagetool/releases/download/continuous/appimagetool-x86_64.AppImage"
|
||||
# chmod +x tools/appimagetool
|
||||
# chmod +x distribution/linux/appimage/build-appimage.sh
|
||||
|
||||
# Explicitly set $ARCH for appimagetool ($ARCH_NAME is for the file name)
|
||||
# if [ "$PLATFORM_NAME" = "linux-x64" ]; then
|
||||
# ARCH_NAME=x64
|
||||
# export ARCH=x86_64
|
||||
# elif [ "$PLATFORM_NAME" = "linux-arm64" ]; then
|
||||
# ARCH_NAME=arm64
|
||||
# export ARCH=aarch64
|
||||
# else
|
||||
# echo "Unexpected PLATFORM_NAME "$PLATFORM_NAME""
|
||||
# exit 1
|
||||
# fi
|
||||
|
||||
# export UFLAG="gh-releases-zsync|${{ github.repository_owner }}|${{ github.event.repository.name }}|latest|*-$ARCH_NAME.AppImage.zsync"
|
||||
# BUILDDIR=publish_ava OUTDIR=publish_ava_appimage distribution/linux/appimage/build-appimage.sh
|
||||
|
||||
# Add to release output
|
||||
# pushd publish_ava_appimage
|
||||
# mv Ryujinx.AppImage ../release_output/ryujinx-$BUILD_VERSION-$ARCH_NAME.AppImage
|
||||
# mv Ryujinx.AppImage.zsync ../release_output/ryujinx-$BUILD_VERSION-$ARCH_NAME.AppImage.zsync
|
||||
# popd
|
||||
# shell: bash
|
||||
|
||||
- name: Pushing new release
|
||||
uses: ncipollo/release-action@v1
|
||||
with:
|
||||
name: ${{ steps.version_info.outputs.build_version }}
|
||||
artifacts: "release_output/*.tar.gz,release_output/*.zip"
|
||||
#artifacts: "release_output/*.tar.gz,release_output/*.zip/*AppImage*"
|
||||
artifacts: "release_output/*.tar.gz,release_output/*.zip/*AppImage*"
|
||||
tag: ${{ steps.version_info.outputs.build_version }}
|
||||
body: "**Full Changelog**: https://github.com/${{ github.repository }}/compare/${{ steps.version_info.outputs.prev_build_version }}...${{ steps.version_info.outputs.build_version }}"
|
||||
omitBodyDuringUpdate: true
|
||||
@@ -233,7 +229,7 @@ jobs:
|
||||
|
||||
- name: Publish macOS Ryujinx
|
||||
run: |
|
||||
./distribution/macos/create_macos_build_ava.sh . publish_tmp_ava publish_ava ./distribution/macos/entitlements.xml "${{ steps.version_info.outputs.build_version }}" "${{ steps.version_info.outputs.git_short_hash }}" Release
|
||||
./distribution/macos/create_macos_build_ava.sh . publish_tmp_ava publish ./distribution/macos/entitlements.xml "${{ steps.version_info.outputs.build_version }}" "${{ steps.version_info.outputs.git_short_hash }}" Release
|
||||
|
||||
- name: Publish macOS Ryujinx.Headless.SDL2
|
||||
run: |
|
||||
@@ -243,7 +239,7 @@ jobs:
|
||||
uses: ncipollo/release-action@v1
|
||||
with:
|
||||
name: ${{ steps.version_info.outputs.build_version }}
|
||||
artifacts: "publish_ava/*.tar.gz, publish_headless/*.tar.gz"
|
||||
artifacts: "publish/*.tar.gz, publish_headless/*.tar.gz"
|
||||
tag: ${{ steps.version_info.outputs.build_version }}
|
||||
body: "**Full Changelog**: https://github.com/${{ github.repository }}/compare/${{ steps.version_info.outputs.prev_build_version }}...${{ steps.version_info.outputs.build_version }}"
|
||||
omitBodyDuringUpdate: true
|
||||
|
@@ -22,7 +22,7 @@
|
||||
<PackageVersion Include="LibHac" Version="0.19.0" />
|
||||
<PackageVersion Include="Microsoft.CodeAnalysis.Analyzers" Version="3.3.4" />
|
||||
<PackageVersion Include="Microsoft.CodeAnalysis.CSharp" Version="4.9.2" />
|
||||
<PackageVersion Include="Microsoft.IdentityModel.JsonWebTokens" Version="8.0.1" />
|
||||
<PackageVersion Include="Microsoft.IdentityModel.JsonWebTokens" Version="8.1.2" />
|
||||
<PackageVersion Include="Microsoft.NET.Test.Sdk" Version="17.9.0" />
|
||||
<PackageVersion Include="Microsoft.IO.RecyclableMemoryStream" Version="3.0.1" />
|
||||
<PackageVersion Include="MsgPack.Cli" Version="1.0.1" />
|
||||
|
@@ -14,6 +14,15 @@
|
||||
<img src="https://img.shields.io/github/v/release/GreemDev/Ryujinx"
|
||||
alt="Latest Release">
|
||||
</a>
|
||||
<br>
|
||||
<a href="https://github.com/GreemDev/Ryujinx/actions/workflows/canary.yml">
|
||||
<img src="https://github.com/GreemDev/Ryujinx/actions/workflows/canary.yml/badge.svg"
|
||||
alt="">
|
||||
</a>
|
||||
<a href="https://github.com/GreemDev/Ryujinx-Canary/releases/latest">
|
||||
<img src="https://img.shields.io/github/v/release/GreemDev/Ryujinx-Canary?label=canary"
|
||||
alt="Latest Canary Release">
|
||||
</a>
|
||||
</h1>
|
||||
|
||||
<p align="center">
|
||||
|
@@ -46,5 +46,5 @@ then
|
||||
rcodesign sign --entitlements-xml-path "$ENTITLEMENTS_FILE_PATH" "$APP_BUNDLE_DIRECTORY"
|
||||
else
|
||||
echo "Usign codesign for ad-hoc signing"
|
||||
codesign --entitlements "$ENTITLEMENTS_FILE_PATH" -f --deep -s - "$APP_BUNDLE_DIRECTORY"
|
||||
fi
|
||||
codesign --entitlements "$ENTITLEMENTS_FILE_PATH" -f -s - "$APP_BUNDLE_DIRECTORY"
|
||||
fi
|
||||
|
@@ -99,7 +99,7 @@ then
|
||||
rcodesign sign --entitlements-xml-path "$ENTITLEMENTS_FILE_PATH" "$UNIVERSAL_APP_BUNDLE"
|
||||
else
|
||||
echo "Using codesign for ad-hoc signing"
|
||||
codesign --entitlements "$ENTITLEMENTS_FILE_PATH" -f --deep -s - "$UNIVERSAL_APP_BUNDLE"
|
||||
codesign --entitlements "$ENTITLEMENTS_FILE_PATH" -f -s - "$UNIVERSAL_APP_BUNDLE"
|
||||
fi
|
||||
|
||||
echo "Creating archive"
|
||||
@@ -111,4 +111,4 @@ rm "$RELEASE_TAR_FILE_NAME"
|
||||
|
||||
popd
|
||||
|
||||
echo "Done"
|
||||
echo "Done"
|
||||
|
@@ -95,7 +95,7 @@ else
|
||||
echo "Using codesign for ad-hoc signing"
|
||||
for FILE in "$UNIVERSAL_OUTPUT"/*; do
|
||||
if [[ $(file "$FILE") == *"Mach-O"* ]]; then
|
||||
codesign --entitlements "$ENTITLEMENTS_FILE_PATH" -f --deep -s - "$FILE"
|
||||
codesign --entitlements "$ENTITLEMENTS_FILE_PATH" -f -s - "$FILE"
|
||||
fi
|
||||
done
|
||||
fi
|
||||
@@ -108,4 +108,4 @@ gzip -9 < "$RELEASE_TAR_FILE_NAME" > "$RELEASE_TAR_FILE_NAME.gz"
|
||||
rm "$RELEASE_TAR_FILE_NAME"
|
||||
popd
|
||||
|
||||
echo "Done"
|
||||
echo "Done"
|
||||
|
@@ -28,9 +28,9 @@ namespace Ryujinx.Common
|
||||
|
||||
public static bool IsFlatHubBuild => IsValid && ReleaseChannelOwner.Equals(FlatHubChannel);
|
||||
|
||||
public static bool IsCanaryBuild => IsValid && ReleaseChannelOwner.Equals(CanaryChannel);
|
||||
public static bool IsCanaryBuild => IsValid && ReleaseChannelName.Equals(CanaryChannel);
|
||||
|
||||
public static bool IsReleaseBuild => IsValid && ReleaseChannelOwner.Equals(ReleaseChannel);
|
||||
public static bool IsReleaseBuild => IsValid && ReleaseChannelName.Equals(ReleaseChannel);
|
||||
|
||||
public static string Version => IsValid ? BuildVersion : Assembly.GetEntryAssembly()!.GetCustomAttribute<AssemblyInformationalVersionAttribute>()?.InformationalVersion;
|
||||
}
|
||||
|
@@ -1,4 +1,6 @@
|
||||
using Ryujinx.Common.Logging;
|
||||
using Ryujinx.HLE.HOS.Applets.Browser;
|
||||
using Ryujinx.HLE.HOS.Applets.Dummy;
|
||||
using Ryujinx.HLE.HOS.Applets.Error;
|
||||
using Ryujinx.HLE.HOS.Services.Am.AppletAE;
|
||||
using System;
|
||||
@@ -26,9 +28,13 @@ namespace Ryujinx.HLE.HOS.Applets
|
||||
return new BrowserApplet(system);
|
||||
case AppletId.LibAppletOff:
|
||||
return new BrowserApplet(system);
|
||||
case AppletId.MiiEdit:
|
||||
Logger.Warning?.Print(LogClass.Application, $"Please use the MiiEdit inside File/Open Applet");
|
||||
return new DummyApplet(system);
|
||||
}
|
||||
|
||||
throw new NotImplementedException($"{applet} applet is not implemented.");
|
||||
Logger.Warning?.Print(LogClass.Application, $"Applet {applet} not implemented!");
|
||||
return new DummyApplet(system);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
43
src/Ryujinx.HLE/HOS/Applets/Dummy/DummyApplet.cs
Normal file
43
src/Ryujinx.HLE/HOS/Applets/Dummy/DummyApplet.cs
Normal file
@@ -0,0 +1,43 @@
|
||||
using Ryujinx.Common.Logging;
|
||||
using Ryujinx.Common.Memory;
|
||||
using Ryujinx.HLE.HOS.Applets;
|
||||
using Ryujinx.HLE.HOS.Services.Am.AppletAE;
|
||||
using System;
|
||||
using System.IO;
|
||||
using System.Runtime.InteropServices;
|
||||
namespace Ryujinx.HLE.HOS.Applets.Dummy
|
||||
{
|
||||
internal class DummyApplet : IApplet
|
||||
{
|
||||
private readonly Horizon _system;
|
||||
private AppletSession _normalSession;
|
||||
public event EventHandler AppletStateChanged;
|
||||
public DummyApplet(Horizon system)
|
||||
{
|
||||
_system = system;
|
||||
}
|
||||
public ResultCode Start(AppletSession normalSession, AppletSession interactiveSession)
|
||||
{
|
||||
_normalSession = normalSession;
|
||||
_normalSession.Push(BuildResponse());
|
||||
AppletStateChanged?.Invoke(this, null);
|
||||
_system.ReturnFocus();
|
||||
return ResultCode.Success;
|
||||
}
|
||||
private static T ReadStruct<T>(byte[] data) where T : struct
|
||||
{
|
||||
return MemoryMarshal.Read<T>(data.AsSpan());
|
||||
}
|
||||
private static byte[] BuildResponse()
|
||||
{
|
||||
using MemoryStream stream = MemoryStreamManager.Shared.GetStream();
|
||||
using BinaryWriter writer = new(stream);
|
||||
writer.Write((ulong)ResultCode.Success);
|
||||
return stream.ToArray();
|
||||
}
|
||||
public ResultCode GetResult()
|
||||
{
|
||||
return ResultCode.Success;
|
||||
}
|
||||
}
|
||||
}
|
@@ -8,6 +8,7 @@ namespace Ryujinx.HLE.HOS.Services.Nfc.Nfp.NfpManager
|
||||
public uint FileVersion { get; set; }
|
||||
public byte[] TagUuid { get; set; }
|
||||
public string AmiiboId { get; set; }
|
||||
public string NickName { get; set; }
|
||||
public DateTime FirstWriteDate { get; set; }
|
||||
public DateTime LastWriteDate { get; set; }
|
||||
public ushort WriteCounter { get; set; }
|
||||
|
@@ -64,16 +64,17 @@ namespace Ryujinx.HLE.HOS.Services.Nfc.Nfp
|
||||
};
|
||||
}
|
||||
|
||||
public static RegisterInfo GetRegisterInfo(ITickSource tickSource, string amiiboId, string nickname)
|
||||
public static RegisterInfo GetRegisterInfo(ITickSource tickSource, string amiiboId, string userName)
|
||||
{
|
||||
VirtualAmiiboFile amiiboFile = LoadAmiiboFile(amiiboId);
|
||||
|
||||
string nickname = amiiboFile.NickName ?? "Ryujinx";
|
||||
UtilityImpl utilityImpl = new(tickSource);
|
||||
CharInfo charInfo = new();
|
||||
|
||||
charInfo.SetFromStoreData(StoreData.BuildDefault(utilityImpl, 0));
|
||||
|
||||
charInfo.Nickname = Nickname.FromString(nickname);
|
||||
// This is the player's name
|
||||
charInfo.Nickname = Nickname.FromString(userName);
|
||||
|
||||
RegisterInfo registerInfo = new()
|
||||
{
|
||||
@@ -85,7 +86,9 @@ namespace Ryujinx.HLE.HOS.Services.Nfc.Nfp
|
||||
Reserved1 = new Array64<byte>(),
|
||||
Reserved2 = new Array58<byte>(),
|
||||
};
|
||||
"Ryujinx"u8.CopyTo(registerInfo.Nickname.AsSpan());
|
||||
// This is the amiibo's name
|
||||
byte[] nicknameBytes = System.Text.Encoding.UTF8.GetBytes(nickname);
|
||||
nicknameBytes.CopyTo(registerInfo.Nickname.AsSpan());
|
||||
|
||||
return registerInfo;
|
||||
}
|
||||
|
@@ -1,4 +1,4 @@
|
||||
<Project Sdk="Microsoft.NET.Sdk">
|
||||
<Project Sdk="Microsoft.NET.Sdk">
|
||||
|
||||
<PropertyGroup>
|
||||
<TargetFramework>net8.0</TargetFramework>
|
||||
@@ -17,7 +17,7 @@
|
||||
</ItemGroup>
|
||||
|
||||
<Target Name="PostBuild" AfterTargets="PostBuildEvent" Condition="$([MSBuild]::IsOSPlatform('OSX'))">
|
||||
<Exec Command="codesign --entitlements '$(ProjectDir)..\..\distribution\macos\entitlements.xml' -f --deep -s $(SigningCertificate) '$(TargetDir)$(TargetName)'" />
|
||||
<Exec Command="codesign --entitlements '$(ProjectDir)..\..\distribution\macos\entitlements.xml' -f -s $(SigningCertificate) '$(TargetDir)$(TargetName)'" />
|
||||
</Target>
|
||||
|
||||
<ItemGroup>
|
||||
|
@@ -122,70 +122,144 @@ namespace Ryujinx.UI.Common
|
||||
|
||||
private static readonly string[] _discordGameAssetKeys =
|
||||
[
|
||||
"01002da013484000", // The Legend of Zelda: Skyward Sword HD
|
||||
"010055d009f78000", // Fire Emblem: Three Houses
|
||||
"0100a12011cc8000", // Fire Emblem: Shadow Dragon
|
||||
"0100a6301214e000", // Fire Emblem Engage
|
||||
"0100f15003e64000", // Fire Emblem Warriors
|
||||
"010071f0143ea000", // Fire Emblem Warriors: Three Hopes
|
||||
|
||||
"01007e3006dda000", // Kirby Star Allies
|
||||
"01004d300c5ae000", // Kirby and the Forgotten Land
|
||||
"01006b601380e000", // Kirby's Return to Dream Land Deluxe
|
||||
"01003fb00c5a8000", // Super Kirby Clash
|
||||
"0100227010460000", // Kirby Fighters 2
|
||||
"0100a8e016236000", // Kirby's Dream Buffet
|
||||
|
||||
"01007ef00011e000", // The Legend of Zelda: Breath of the Wild
|
||||
"01006bb00c6f0000", // The Legend of Zelda: Link's Awakening
|
||||
"01002da013484000", // The Legend of Zelda: Skyward Sword HD
|
||||
"0100f2c0115b6000", // The Legend of Zelda: Tears of the Kingdom
|
||||
"01008cf01baac000", // The Legend of Zelda: Echoes of Wisdom
|
||||
"01006bb00c6f0000", // The Legend of Zelda: Link's Awakening
|
||||
|
||||
"0100000000010000", // SUPER MARIO ODYSSEY
|
||||
"010015100b514000", // Super Mario Bros. Wonder
|
||||
"0100152000022000", // Mario Kart 8 Deluxe
|
||||
"01006fe013472000", // Mario Party Superstars
|
||||
"0100965017338000", // Super Mario Party Jamboree
|
||||
"010049900f546000", // Super Mario 3D All-Stars
|
||||
"010028600ebda000", // Super Mario 3D World + Bowser's Fury
|
||||
"0100ecd018ebe000", // Paper Mario: The Thousand-Year Door
|
||||
"010019401051c000", // Mario Strikers League
|
||||
"0100ea80032ea000", // Super Mario Bros. U Deluxe
|
||||
"0100bc0018138000", // Super Mario RPG
|
||||
"0100bde00862a000", // Mario Tennis Aces
|
||||
"01000b900d8b0000", // Cadence of Hyrule
|
||||
"0100ae00096ea000", // Hyrule Warriors: Definitive Edition
|
||||
"01002b00111a2000", // Hyrule Warriors: Age of Calamity
|
||||
|
||||
"010048701995e000", // Luigi's Mansion 2 HD
|
||||
"0100dca0064a6000", // Luigi's Mansion 3
|
||||
|
||||
"01008f6008c5e000", // Pokémon Violet
|
||||
"0100abf008968000", // Pokémon Sword
|
||||
"01008db008c2c000", // Pokémon Shield
|
||||
"0100000011d90000", // Pokémon Brilliant Diamond
|
||||
"01001f5010dfa000", // Pokémon Legends: Arceus
|
||||
"010093801237c000", // Metroid Dread
|
||||
"010012101468c000", // Metroid Prime Remastered
|
||||
|
||||
"0100000000010000", // SUPER MARIO ODYSSEY
|
||||
"0100ea80032ea000", // Super Mario Bros. U Deluxe
|
||||
"01009b90006dc000", // Super Mario Maker 2
|
||||
"010049900f546000", // Super Mario 3D All-Stars
|
||||
"010049900F546001", // ^ 64
|
||||
"010049900F546002", // ^ Sunshine
|
||||
"010049900F546003", // ^ Galaxy
|
||||
"010028600ebda000", // Super Mario 3D World + Bowser's Fury
|
||||
"010015100b514000", // Super Mario Bros. Wonder
|
||||
"0100152000022000", // Mario Kart 8 Deluxe
|
||||
"010036b0034e4000", // Super Mario Party
|
||||
"01006fe013472000", // Mario Party Superstars
|
||||
"0100965017338000", // Super Mario Party Jamboree
|
||||
"010067300059a000", // Mario + Rabbids: Kingdom Battle
|
||||
"0100317013770000", // Mario + Rabbids: Sparks of Hope
|
||||
"0100a3900c3e2000", // Paper Mario: The Origami King
|
||||
"0100ecd018ebe000", // Paper Mario: The Thousand-Year Door
|
||||
"0100bc0018138000", // Super Mario RPG
|
||||
"0100bde00862a000", // Mario Tennis Aces
|
||||
"0100c9c00e25c000", // Mario Golf: Super Rush
|
||||
"010019401051c000", // Mario Strikers: Battle League
|
||||
"010003000e146000", // Mario & Sonic at the Olympic Games Tokyo 2020
|
||||
"0100b99019412000", // Mario vs. Donkey Kong
|
||||
|
||||
"0100aa80194b0000", // Pikmin 1
|
||||
"0100d680194b2000", // Pikmin 2
|
||||
"0100f4c009322000", // Pikmin 3 Deluxe
|
||||
"0100b7c00933a000", // Pikmin 4
|
||||
|
||||
|
||||
"010003f003a34000", // Pokémon: Let's Go Pikachu!
|
||||
"0100187003a36000", // Pokémon: Let's Go Eevee!
|
||||
"0100abf008968000", // Pokémon Sword
|
||||
"01008db008c2c000", // Pokémon Shield
|
||||
"0100000011d90000", // Pokémon Brilliant Diamond
|
||||
"010018e011d92000", // Pokémon Shining Pearl
|
||||
"01001f5010dfa000", // Pokémon Legends: Arceus
|
||||
"0100a3d008c5c000", // Pokémon Scarlet
|
||||
"01008f6008c5e000", // Pokémon Violet
|
||||
"0100b3f000be2000", // Pokkén Tournament DX
|
||||
"0100f4300bf2c000", // New Pokémon Snap
|
||||
|
||||
"01003bc0000a0000", // Splatoon 2 (US)
|
||||
"0100f8f0000a2000", // Splatoon 2 (EU)
|
||||
"01003c700009c000", // Splatoon 2 (JP)
|
||||
"0100c2500fc20000", // Splatoon 3
|
||||
"0100ba0018500000", // Splatoon 3: Splatfest World Premiere
|
||||
|
||||
"010040600c5ce000", // Tetris 99
|
||||
"0100277011f1a000", // Super Mario Bros. 35
|
||||
"0100ad9012510000", // PAC-MAN 99
|
||||
"0100ccf019c8c000", // F-ZERO 99
|
||||
"0100d870045b6000", // NES - Nintendo Switch Online
|
||||
"01008d300c50c000", // SNES - Nintendo Switch Online
|
||||
"0100c9a00ece6000", // N64 - Nintendo Switch Online
|
||||
"0100e0601c632000", // N64 - Nintendo Switch Online 18+
|
||||
"0100c62011050000", // GB - Nintendo Switch Online
|
||||
"010012f017576000", // GBA - Nintendo Switch Online
|
||||
|
||||
"01000320000cc000", // 1-2 Switch
|
||||
"0100300012f2a000", // Advance Wars 1+2: Re-Boot Camp
|
||||
"01006f8002326000", // Animal Crossing: New Horizons
|
||||
"0100620012d6e000", // Big Brain Academy: Brain vs. Brain
|
||||
"010018300d006000", // BOXBOY! + BOXGIRL!
|
||||
"0100c1f0051b6000", // Donkey Kong Country: Tropical Freeze
|
||||
"0100ed000d390000", // Dr. Kawashima's Brain Training
|
||||
"010067b017588000", // Endless Ocean Luminous
|
||||
"0100d2f00d5c0000", // Nintendo Switch Sports
|
||||
"01006b5012b32000", // Part Time UFO
|
||||
"0100704000B3A000", // Snipperclips
|
||||
"01006a800016e000", // Super Smash Bros. Ultimate
|
||||
"0100a9400c9c2000", // Tokyo Mirage Sessions #FE Encore
|
||||
|
||||
"010076f0049a2000", // Bayonetta
|
||||
"01007960049a0000", // Bayonetta 2
|
||||
"01004a4010fea000", // Bayonetta 3
|
||||
"0100cf5010fec000", // Bayonetta Origins: Cereza and the Lost Demon
|
||||
|
||||
"0100dcd01525a000", // Persona 3 Portable
|
||||
"010062b01525c000", // Persona 4 Golden
|
||||
"010075a016a3a000", // Persona 4 Arena Ultimax
|
||||
"01005ca01580e000", // Persona 5 Royal
|
||||
"0100801011c3e000", // Persona 5 Strikers
|
||||
"010087701b092000", // Persona 5 Tactica
|
||||
|
||||
"01009aa000faa000", // Sonic Mania
|
||||
"01004ad014bf0000", // Sonic Frontiers
|
||||
"01005ea01c0fc000", // SONIC X SHADOW GENERATIONS
|
||||
"01005ea01c0fc001", // ^
|
||||
|
||||
"01004d300c5ae000", // Kirby and the Forgotten Land
|
||||
"01006b601380e000", // Kirby's Return to Dreamland Deluxe
|
||||
"01007e3006dda000", // Kirby Star Allies
|
||||
|
||||
"0100c2500fc20000", // Splatoon 3
|
||||
"0100ba0018500000", // Splatoon 3: Splatfest World Premiere
|
||||
"01000a10041ea000", // The Elder Scrolls V: Skyrim
|
||||
"01007820196a6000", // Red Dead Redemption
|
||||
"01008c8012920000", // Dying Light Platinum Edition
|
||||
"0100744001588000", // Cars 3: Driven to Win
|
||||
"0100c1f0051b6000", // Donkey Kong Country: Tropical Freeze
|
||||
"01002b00111a2000", // Hyrule Warriors: Age of Calamity
|
||||
"01006f8002326000", // Animal Crossing: New Horizons
|
||||
"0100853015e86000", // No Man's Sky
|
||||
"01008d100d43e000", // Saints Row IV
|
||||
"0100de600beee000", // Saints Row: The Third - The Full Package
|
||||
"0100d7a01b7a2000", // Star Wars: Bounty Hunter
|
||||
"0100dbf01000a000", // Burnout Paradise Remastered
|
||||
"0100e46006708000", // Terraria
|
||||
"010056e00853a000", // A Hat in Time
|
||||
"01006a800016e000", // Super Smash Bros. Ultimate
|
||||
"0100dbf01000a000", // Burnout Paradise Remastered
|
||||
"0100744001588000", // Cars 3: Driven to Win
|
||||
"0100b41013c82000", // Cruis'n Blast
|
||||
"01008c8012920000", // Dying Light Platinum Edition
|
||||
"01000a10041ea000", // The Elder Scrolls V: Skyrim
|
||||
"0100770008dd8000", // Monster Hunter Generations Ultimate
|
||||
"0100b04011742000", // Monster Hunter Rise
|
||||
"0100853015e86000", // No Man's Sky
|
||||
"01007bb017812000", // Portal
|
||||
"0100abd01785c000", // Portal 2
|
||||
"01008e200c5c2000", // Muse Dash
|
||||
"01007820196a6000", // Red Dead Redemption
|
||||
"01002f7013224000", // Rune Factory 5
|
||||
"01008d100d43e000", // Saints Row IV
|
||||
"0100de600beee000", // Saints Row: The Third - The Full Package
|
||||
"01001180021fa000", // Shovel Knight: Specter of Torment
|
||||
"010012101468c000", // Metroid Prime Remastered
|
||||
"0100c9a00ece6000", // Nintendo 64 - Nintendo Switch Online
|
||||
"0100d7a01b7a2000", // Star Wars: Bounty Hunter
|
||||
"0100800015926000", // Suika Game
|
||||
"0100e46006708000", // Terraria
|
||||
"010080b00ad66000", // Undertale
|
||||
];
|
||||
}
|
||||
}
|
||||
|
@@ -5,6 +5,8 @@ namespace Ryujinx.UI.Common.Models.Github
|
||||
public class GithubReleasesJsonResponse
|
||||
{
|
||||
public string Name { get; set; }
|
||||
|
||||
public string TagName { get; set; }
|
||||
public List<GithubReleaseAssetJsonResponse> Assets { get; set; }
|
||||
}
|
||||
}
|
||||
|
@@ -23,8 +23,10 @@ namespace Ryujinx.Ava
|
||||
{
|
||||
internal static string FormatTitle(LocaleKeys? windowTitleKey = null)
|
||||
=> windowTitleKey is null
|
||||
? $"Ryujinx {Program.Version}"
|
||||
: $"Ryujinx {Program.Version} - {LocaleManager.Instance[windowTitleKey.Value]}";
|
||||
? $"{FullAppName} {Program.Version}"
|
||||
: $"{FullAppName} {Program.Version} - {LocaleManager.Instance[windowTitleKey.Value]}";
|
||||
|
||||
public static readonly string FullAppName = ReleaseInformation.IsCanaryBuild ? "Ryujinx Canary" : "Ryujinx";
|
||||
|
||||
public static MainWindow MainWindow => Current!
|
||||
.ApplicationLifetime.Cast<IClassicDesktopStyleApplicationLifetime>()
|
||||
|
@@ -10,7 +10,10 @@
|
||||
"SettingsTabSystemUseHypervisor": "استخدم مراقب الأجهزة الافتراضية",
|
||||
"MenuBarFile": "_ملف",
|
||||
"MenuBarFileOpenFromFile": "_تحميل تطبيق من ملف",
|
||||
"MenuBarFileOpenFromFileError": "No applications found in selected file.",
|
||||
"MenuBarFileOpenUnpacked": "تحميل لُعْبَة غير محزومة",
|
||||
"MenuBarFileLoadDlcFromFolder": "Load DLC From Folder",
|
||||
"MenuBarFileLoadTitleUpdatesFromFolder": "Load Title Updates From Folder",
|
||||
"MenuBarFileOpenEmuFolder": "فتح مجلد Ryujinx",
|
||||
"MenuBarFileOpenLogsFolder": "فتح مجلد السجلات",
|
||||
"MenuBarFileExit": "_خروج",
|
||||
@@ -103,6 +106,8 @@
|
||||
"SettingsTabGeneralHideCursorOnIdle": "عند الخمول",
|
||||
"SettingsTabGeneralHideCursorAlways": "دائما",
|
||||
"SettingsTabGeneralGameDirectories": "مجلدات الألعاب",
|
||||
"SettingsTabGeneralAutoloadDirectories": "Autoload DLC/Updates Directories",
|
||||
"SettingsTabGeneralAutoloadNote": "DLC and Updates which refer to missing files will be unloaded automatically",
|
||||
"SettingsTabGeneralAdd": "إضافة",
|
||||
"SettingsTabGeneralRemove": "إزالة",
|
||||
"SettingsTabSystem": "النظام",
|
||||
@@ -411,6 +416,7 @@
|
||||
"GameListContextMenuToggleFavorite": "تعيين كمفضل",
|
||||
"GameListContextMenuToggleFavoriteToolTip": "تبديل الحالة المفضلة للعبة",
|
||||
"SettingsTabGeneralTheme": "السمة:",
|
||||
"SettingsTabGeneralThemeAuto": "Auto",
|
||||
"SettingsTabGeneralThemeDark": "داكن",
|
||||
"SettingsTabGeneralThemeLight": "فاتح",
|
||||
"ControllerSettingsConfigureGeneral": "ضبط",
|
||||
@@ -561,6 +567,9 @@
|
||||
"AddGameDirBoxTooltip": "أدخل مجلد اللعبة لإضافته إلى القائمة",
|
||||
"AddGameDirTooltip": "إضافة مجلد اللعبة إلى القائمة",
|
||||
"RemoveGameDirTooltip": "إزالة مجلد اللعبة المحدد",
|
||||
"AddAutoloadDirBoxTooltip": "Enter an autoload directory to add to the list",
|
||||
"AddAutoloadDirTooltip": "Add an autoload directory to the list",
|
||||
"RemoveAutoloadDirTooltip": "Remove selected autoload directory",
|
||||
"CustomThemeCheckTooltip": "استخدم سمة أفالونيا المخصصة لواجهة المستخدم الرسومية لتغيير مظهر قوائم المحاكي",
|
||||
"CustomThemePathTooltip": "مسار سمة واجهة المستخدم المخصصة",
|
||||
"CustomThemeBrowseTooltip": "تصفح للحصول على سمة واجهة المستخدم المخصصة",
|
||||
@@ -606,6 +615,8 @@
|
||||
"DebugLogTooltip": "طباعة رسائل سجل التصحيح في وحدة التحكم.\n\nاستخدم هذا فقط إذا طلب منك أحد الموظفين تحديدًا ذلك، لأنه سيجعل من الصعب قراءة السجلات وسيؤدي إلى تدهور أداء المحاكي.",
|
||||
"LoadApplicationFileTooltip": "افتح مستكشف الملفات لاختيار ملف متوافق مع سويتش لتحميله",
|
||||
"LoadApplicationFolderTooltip": "افتح مستكشف الملفات لاختيار تطبيق متوافق مع سويتش للتحميل",
|
||||
"LoadDlcFromFolderTooltip": "Open a file explorer to choose one or more folders to bulk load DLC from",
|
||||
"LoadTitleUpdatesFromFolderTooltip": "Open a file explorer to choose one or more folders to bulk load title updates from",
|
||||
"OpenRyujinxFolderTooltip": "فتح مجلد نظام ملفات ريوجينكس",
|
||||
"OpenRyujinxLogsTooltip": "يفتح المجلد الذي تتم كتابة السجلات إليه",
|
||||
"ExitTooltip": "الخروج من ريوجينكس",
|
||||
@@ -657,6 +668,8 @@
|
||||
"OpenSetupGuideMessage": "فتح دليل الإعداد",
|
||||
"NoUpdate": "لا يوجد تحديث",
|
||||
"TitleUpdateVersionLabel": "الإصدار: {0}",
|
||||
"TitleBundledUpdateVersionLabel": "Bundled: Version {0}",
|
||||
"TitleBundledDlcLabel": "Bundled:",
|
||||
"RyujinxInfo": "ريوجينكس - معلومات",
|
||||
"RyujinxConfirm": "ريوجينكس - تأكيد",
|
||||
"FileDialogAllTypes": "كل الأنواع",
|
||||
@@ -714,9 +727,17 @@
|
||||
"DlcWindowTitle": "إدارة المحتوى القابل للتنزيل لـ {0} ({1})",
|
||||
"ModWindowTitle": "إدارة التعديلات لـ {0} ({1})",
|
||||
"UpdateWindowTitle": "مدير تحديث العنوان",
|
||||
"UpdateWindowUpdateAddedMessage": "{0} new update(s) added",
|
||||
"UpdateWindowBundledContentNotice": "Bundled updates cannot be removed, only disabled.",
|
||||
"CheatWindowHeading": "الغش متوفر لـ {0} [{1}]",
|
||||
"BuildId": "معرف البناء:",
|
||||
"DlcWindowBundledContentNotice": "Bundled DLC cannot be removed, only disabled.",
|
||||
"DlcWindowHeading": "المحتويات القابلة للتنزيل {0}",
|
||||
"DlcWindowDlcAddedMessage": "{0} new downloadable content(s) added",
|
||||
"AutoloadDlcAddedMessage": "{0} new downloadable content(s) added",
|
||||
"AutoloadDlcRemovedMessage": "{0} missing downloadable content(s) removed",
|
||||
"AutoloadUpdateAddedMessage": "{0} new update(s) added",
|
||||
"AutoloadUpdateRemovedMessage": "{0} missing update(s) removed",
|
||||
"ModWindowHeading": "{0} تعديل",
|
||||
"UserProfilesEditProfile": "تعديل المحدد",
|
||||
"Cancel": "إلغاء",
|
||||
@@ -767,6 +788,7 @@
|
||||
"GraphicsScalingFilterBilinear": "Bilinear",
|
||||
"GraphicsScalingFilterNearest": "Nearest",
|
||||
"GraphicsScalingFilterFsr": "FSR",
|
||||
"GraphicsScalingFilterArea": "Area",
|
||||
"GraphicsScalingFilterLevelLabel": "المستوى",
|
||||
"GraphicsScalingFilterLevelTooltip": "اضبط مستوى وضوح FSR 1.0. الأعلى هو أكثر وضوحا.",
|
||||
"SmaaLow": "SMAA منخفض",
|
||||
|
@@ -10,7 +10,10 @@
|
||||
"SettingsTabSystemUseHypervisor": "Hypervisor verwenden",
|
||||
"MenuBarFile": "_Datei",
|
||||
"MenuBarFileOpenFromFile": "Datei _öffnen",
|
||||
"MenuBarFileOpenFromFileError": "No applications found in selected file.",
|
||||
"MenuBarFileOpenUnpacked": "_Entpacktes Spiel öffnen",
|
||||
"MenuBarFileLoadDlcFromFolder": "Load DLC From Folder",
|
||||
"MenuBarFileLoadTitleUpdatesFromFolder": "Load Title Updates From Folder",
|
||||
"MenuBarFileOpenEmuFolder": "Ryujinx-Ordner öffnen",
|
||||
"MenuBarFileOpenLogsFolder": "Logs-Ordner öffnen",
|
||||
"MenuBarFileExit": "_Beenden",
|
||||
@@ -103,6 +106,8 @@
|
||||
"SettingsTabGeneralHideCursorOnIdle": "Mauszeiger bei Inaktivität ausblenden",
|
||||
"SettingsTabGeneralHideCursorAlways": "Immer",
|
||||
"SettingsTabGeneralGameDirectories": "Spielverzeichnisse",
|
||||
"SettingsTabGeneralAutoloadDirectories": "Autoload DLC/Updates Directories",
|
||||
"SettingsTabGeneralAutoloadNote": "DLC and Updates which refer to missing files will be unloaded automatically",
|
||||
"SettingsTabGeneralAdd": "Hinzufügen",
|
||||
"SettingsTabGeneralRemove": "Entfernen",
|
||||
"SettingsTabSystem": "System",
|
||||
@@ -411,6 +416,7 @@
|
||||
"GameListContextMenuToggleFavorite": "Als Favoriten hinzufügen/entfernen",
|
||||
"GameListContextMenuToggleFavoriteToolTip": "Aktiviert den Favoriten-Status des Spiels",
|
||||
"SettingsTabGeneralTheme": "Design:",
|
||||
"SettingsTabGeneralThemeAuto": "Auto",
|
||||
"SettingsTabGeneralThemeDark": "Dunkel",
|
||||
"SettingsTabGeneralThemeLight": "Hell",
|
||||
"ControllerSettingsConfigureGeneral": "Konfigurieren",
|
||||
@@ -561,6 +567,9 @@
|
||||
"AddGameDirBoxTooltip": "Gibt das Spielverzeichnis an, das der Liste hinzuzufügt wird",
|
||||
"AddGameDirTooltip": "Fügt ein neues Spielverzeichnis hinzu",
|
||||
"RemoveGameDirTooltip": "Entfernt das ausgewähltes Spielverzeichnis",
|
||||
"AddAutoloadDirBoxTooltip": "Enter an autoload directory to add to the list",
|
||||
"AddAutoloadDirTooltip": "Add an autoload directory to the list",
|
||||
"RemoveAutoloadDirTooltip": "Remove selected autoload directory",
|
||||
"CustomThemeCheckTooltip": "Verwende ein eigenes Design für die Emulator-Benutzeroberfläche",
|
||||
"CustomThemePathTooltip": "Gibt den Pfad zum Design für die Emulator-Benutzeroberfläche an",
|
||||
"CustomThemeBrowseTooltip": "Ermöglicht die Suche nach einem benutzerdefinierten Design für die Emulator-Benutzeroberfläche",
|
||||
@@ -606,6 +615,8 @@
|
||||
"DebugLogTooltip": "Ausgabe von Debug-Logs in der Konsole.\n\nVerwende diese Option nur auf ausdrückliche Anweisung von Ryujinx Entwicklern, da sie das Lesen der Protokolle erschwert und die Leistung des Emulators verschlechtert.",
|
||||
"LoadApplicationFileTooltip": "Öffnet die Dateiauswahl um Datei zu laden, welche mit der Switch kompatibel ist",
|
||||
"LoadApplicationFolderTooltip": "Öffnet die Dateiauswahl um ein Spiel zu laden, welches mit der Switch kompatibel ist",
|
||||
"LoadDlcFromFolderTooltip": "Open a file explorer to choose one or more folders to bulk load DLC from",
|
||||
"LoadTitleUpdatesFromFolderTooltip": "Open a file explorer to choose one or more folders to bulk load title updates from",
|
||||
"OpenRyujinxFolderTooltip": "Öffnet den Ordner, der das Ryujinx Dateisystem enthält",
|
||||
"OpenRyujinxLogsTooltip": "Öffnet den Ordner, in welchem die Logs gespeichert werden",
|
||||
"ExitTooltip": "Beendet Ryujinx",
|
||||
@@ -657,6 +668,8 @@
|
||||
"OpenSetupGuideMessage": "Öffne den 'Setup Guide'",
|
||||
"NoUpdate": "Kein Update",
|
||||
"TitleUpdateVersionLabel": "Version {0} - {1}",
|
||||
"TitleBundledUpdateVersionLabel": "Bundled: Version {0}",
|
||||
"TitleBundledDlcLabel": "Bundled:",
|
||||
"RyujinxInfo": "Ryujinx - Info",
|
||||
"RyujinxConfirm": "Ryujinx - Bestätigung",
|
||||
"FileDialogAllTypes": "Alle Typen",
|
||||
@@ -714,9 +727,17 @@
|
||||
"DlcWindowTitle": "Spiel-DLC verwalten",
|
||||
"ModWindowTitle": "Manage Mods for {0} ({1})",
|
||||
"UpdateWindowTitle": "Spiel-Updates verwalten",
|
||||
"UpdateWindowUpdateAddedMessage": "{0} new update(s) added",
|
||||
"UpdateWindowBundledContentNotice": "Bundled updates cannot be removed, only disabled.",
|
||||
"CheatWindowHeading": "Cheats verfügbar für {0} [{1}]",
|
||||
"DlcWindowBundledContentNotice": "Bundled DLC cannot be removed, only disabled.",
|
||||
"BuildId": "BuildId:",
|
||||
"DlcWindowHeading": "DLC verfügbar für {0} [{1}]",
|
||||
"DlcWindowDlcAddedMessage": "{0} new downloadable content(s) added",
|
||||
"AutoloadDlcAddedMessage": "{0} new downloadable content(s) added",
|
||||
"AutoloadDlcRemovedMessage": "{0} missing downloadable content(s) removed",
|
||||
"AutoloadUpdateAddedMessage": "{0} new update(s) added",
|
||||
"AutoloadUpdateRemovedMessage": "{0} missing update(s) removed",
|
||||
"ModWindowHeading": "{0} Mod(s)",
|
||||
"UserProfilesEditProfile": "Profil bearbeiten",
|
||||
"Cancel": "Abbrechen",
|
||||
@@ -767,6 +788,7 @@
|
||||
"GraphicsScalingFilterBilinear": "Bilinear",
|
||||
"GraphicsScalingFilterNearest": "Nächstes",
|
||||
"GraphicsScalingFilterFsr": "FSR",
|
||||
"GraphicsScalingFilterArea": "Area",
|
||||
"GraphicsScalingFilterLevelLabel": "Stufe",
|
||||
"GraphicsScalingFilterLevelTooltip": "FSR 1.0 Schärfelevel festlegen. Höher ist schärfer.",
|
||||
"SmaaLow": "SMAA Niedrig",
|
||||
|
@@ -10,7 +10,10 @@
|
||||
"SettingsTabSystemUseHypervisor": "Χρήση Hypervisor",
|
||||
"MenuBarFile": "_Αρχείο",
|
||||
"MenuBarFileOpenFromFile": "_Φόρτωση Αρχείου Εφαρμογής",
|
||||
"MenuBarFileOpenFromFileError": "No applications found in selected file.",
|
||||
"MenuBarFileOpenUnpacked": "Φόρτωση Απακετάριστου _Παιχνιδιού",
|
||||
"MenuBarFileLoadDlcFromFolder": "Load DLC From Folder",
|
||||
"MenuBarFileLoadTitleUpdatesFromFolder": "Load Title Updates From Folder",
|
||||
"MenuBarFileOpenEmuFolder": "Άνοιγμα Φακέλου Ryujinx",
|
||||
"MenuBarFileOpenLogsFolder": "Άνοιγμα Φακέλου Καταγραφής",
|
||||
"MenuBarFileExit": "_Έξοδος",
|
||||
@@ -103,6 +106,8 @@
|
||||
"SettingsTabGeneralHideCursorOnIdle": "Απόκρυψη Δρομέα στην Αδράνεια",
|
||||
"SettingsTabGeneralHideCursorAlways": "Πάντα",
|
||||
"SettingsTabGeneralGameDirectories": "Τοποθεσίες παιχνιδιών",
|
||||
"SettingsTabGeneralAutoloadDirectories": "Autoload DLC/Updates Directories",
|
||||
"SettingsTabGeneralAutoloadNote": "DLC and Updates which refer to missing files will be unloaded automatically",
|
||||
"SettingsTabGeneralAdd": "Προσθήκη",
|
||||
"SettingsTabGeneralRemove": "Αφαίρεση",
|
||||
"SettingsTabSystem": "Σύστημα",
|
||||
@@ -411,6 +416,7 @@
|
||||
"GameListContextMenuToggleFavorite": "Εναλλαγή Αγαπημένου",
|
||||
"GameListContextMenuToggleFavoriteToolTip": "Εναλλαγή της Κατάστασης Αγαπημένο του Παιχνιδιού",
|
||||
"SettingsTabGeneralTheme": "Theme:",
|
||||
"SettingsTabGeneralThemeAuto": "Auto",
|
||||
"SettingsTabGeneralThemeDark": "Dark",
|
||||
"SettingsTabGeneralThemeLight": "Light",
|
||||
"ControllerSettingsConfigureGeneral": "Παραμέτρων",
|
||||
@@ -561,6 +567,9 @@
|
||||
"AddGameDirBoxTooltip": "Εισαγάγετε μία τοποθεσία παιχνιδιών για προσθήκη στη λίστα",
|
||||
"AddGameDirTooltip": "Προσθέστε μία τοποθεσία παιχνιδιών στη λίστα",
|
||||
"RemoveGameDirTooltip": "Αφαιρέστε την επιλεγμένη τοποθεσία παιχνιδιών",
|
||||
"AddAutoloadDirBoxTooltip": "Enter an autoload directory to add to the list",
|
||||
"AddAutoloadDirTooltip": "Add an autoload directory to the list",
|
||||
"RemoveAutoloadDirTooltip": "Remove selected autoload directory",
|
||||
"CustomThemeCheckTooltip": "Ενεργοποίηση ή απενεργοποίηση προσαρμοσμένων θεμάτων στο GUI",
|
||||
"CustomThemePathTooltip": "Διαδρομή προς το προσαρμοσμένο θέμα GUI",
|
||||
"CustomThemeBrowseTooltip": "Αναζητήστε ένα προσαρμοσμένο θέμα GUI",
|
||||
@@ -606,6 +615,8 @@
|
||||
"DebugLogTooltip": "Ενεργοποιεί την εκτύπωση μηνυμάτων αρχείου καταγραφής εντοπισμού σφαλμάτων",
|
||||
"LoadApplicationFileTooltip": "Ανοίξτε έναν επιλογέα αρχείων για να επιλέξετε ένα αρχείο συμβατό με το Switch για φόρτωση",
|
||||
"LoadApplicationFolderTooltip": "Ανοίξτε έναν επιλογέα αρχείων για να επιλέξετε μία μη συσκευασμένη εφαρμογή, συμβατή με το Switch για φόρτωση",
|
||||
"LoadDlcFromFolderTooltip": "Open a file explorer to choose one or more folders to bulk load DLC from",
|
||||
"LoadTitleUpdatesFromFolderTooltip": "Open a file explorer to choose one or more folders to bulk load title updates from",
|
||||
"OpenRyujinxFolderTooltip": "Ανοίξτε το φάκελο συστήματος αρχείων Ryujinx",
|
||||
"OpenRyujinxLogsTooltip": "Ανοίξτε το φάκελο στον οποίο διατηρούνται τα αρχεία καταγραφής",
|
||||
"ExitTooltip": "Έξοδος από το Ryujinx",
|
||||
@@ -657,6 +668,8 @@
|
||||
"OpenSetupGuideMessage": "Ανοίξτε τον Οδηγό Εγκατάστασης.",
|
||||
"NoUpdate": "Καμία Eνημέρωση",
|
||||
"TitleUpdateVersionLabel": "Version {0} - {1}",
|
||||
"TitleBundledUpdateVersionLabel": "Bundled: Version {0}",
|
||||
"TitleBundledDlcLabel": "Bundled:",
|
||||
"RyujinxInfo": "Ryujinx - Πληροφορίες",
|
||||
"RyujinxConfirm": "Ryujinx - Επιβεβαίωση",
|
||||
"FileDialogAllTypes": "Όλοι οι τύποι",
|
||||
@@ -714,9 +727,17 @@
|
||||
"DlcWindowTitle": "Downloadable Content Manager",
|
||||
"ModWindowTitle": "Manage Mods for {0} ({1})",
|
||||
"UpdateWindowTitle": "Διαχειριστής Ενημερώσεων Τίτλου",
|
||||
"UpdateWindowUpdateAddedMessage": "{0} new update(s) added",
|
||||
"UpdateWindowBundledContentNotice": "Bundled updates cannot be removed, only disabled.",
|
||||
"CheatWindowHeading": "Διαθέσιμα Cheats για {0} [{1}]",
|
||||
"BuildId": "BuildId:",
|
||||
"DlcWindowBundledContentNotice": "Bundled DLC cannot be removed, only disabled.",
|
||||
"DlcWindowHeading": "{0} Downloadable Content(s) available for {1} ({2})",
|
||||
"DlcWindowDlcAddedMessage": "{0} new downloadable content(s) added",
|
||||
"AutoloadDlcAddedMessage": "{0} new downloadable content(s) added",
|
||||
"AutoloadDlcRemovedMessage": "{0} missing downloadable content(s) removed",
|
||||
"AutoloadUpdateAddedMessage": "{0} new update(s) added",
|
||||
"AutoloadUpdateRemovedMessage": "{0} missing update(s) removed",
|
||||
"ModWindowHeading": "{0} Mod(s)",
|
||||
"UserProfilesEditProfile": "Επεξεργασία Επιλεγμένων",
|
||||
"Cancel": "Ακύρωση",
|
||||
@@ -767,6 +788,7 @@
|
||||
"GraphicsScalingFilterBilinear": "Bilinear",
|
||||
"GraphicsScalingFilterNearest": "Nearest",
|
||||
"GraphicsScalingFilterFsr": "FSR",
|
||||
"GraphicsScalingFilterArea": "Area",
|
||||
"GraphicsScalingFilterLevelLabel": "Επίπεδο",
|
||||
"GraphicsScalingFilterLevelTooltip": "Set FSR 1.0 sharpening level. Higher is sharper.",
|
||||
"SmaaLow": "Χαμηλό SMAA",
|
||||
|
@@ -451,7 +451,7 @@
|
||||
"DialogUpdaterCancelUpdateMessage": "Update canceled!",
|
||||
"DialogUpdaterAlreadyOnLatestVersionMessage": "You are already using the latest version of Ryujinx!",
|
||||
"DialogUpdaterFailedToGetVersionMessage": "An error occurred while trying to retrieve release information from GitHub. This may happen if a new release is currently being compiled by GitHub Actions. Please try again in a few minutes.",
|
||||
"DialogUpdaterConvertFailedGithubMessage": "Failed to convert the Ryujinx version received from GitHub."
|
||||
"DialogUpdaterConvertFailedGithubMessage": "Failed to convert the Ryujinx version received from GitHub.",
|
||||
"DialogUpdaterDownloadingMessage": "Downloading Update...",
|
||||
"DialogUpdaterExtractionMessage": "Extracting Update...",
|
||||
"DialogUpdaterRenamingMessage": "Renaming Update...",
|
||||
@@ -771,7 +771,7 @@
|
||||
"CheatWindowHeading": "Cheats Available for {0} [{1}]",
|
||||
"BuildId": "BuildId:",
|
||||
"DlcWindowBundledContentNotice": "Bundled DLC cannot be removed, only disabled.",
|
||||
"DlcWindowHeading": "{0} Downloadable Content(s)",
|
||||
"DlcWindowHeading": "{0} Downloadable Content(s) available for {1} ({2})",
|
||||
"DlcWindowDlcAddedMessage": "{0} new downloadable content(s) added",
|
||||
"AutoloadDlcAddedMessage": "{0} new downloadable content(s) added",
|
||||
"AutoloadDlcRemovedMessage": "{0} missing downloadable content(s) removed",
|
||||
|
@@ -10,7 +10,10 @@
|
||||
"SettingsTabSystemUseHypervisor": "Usar hipervisor",
|
||||
"MenuBarFile": "_Archivo",
|
||||
"MenuBarFileOpenFromFile": "_Cargar aplicación desde un archivo",
|
||||
"MenuBarFileOpenFromFileError": "No applications found in selected file.",
|
||||
"MenuBarFileOpenUnpacked": "Cargar juego _desempaquetado",
|
||||
"MenuBarFileLoadDlcFromFolder": "Load DLC From Folder",
|
||||
"MenuBarFileLoadTitleUpdatesFromFolder": "Load Title Updates From Folder",
|
||||
"MenuBarFileOpenEmuFolder": "Abrir carpeta de Ryujinx",
|
||||
"MenuBarFileOpenLogsFolder": "Abrir carpeta de registros",
|
||||
"MenuBarFileExit": "_Salir",
|
||||
@@ -103,6 +106,8 @@
|
||||
"SettingsTabGeneralHideCursorOnIdle": "Ocultar cursor cuando esté inactivo",
|
||||
"SettingsTabGeneralHideCursorAlways": "Siempre",
|
||||
"SettingsTabGeneralGameDirectories": "Carpetas de juegos",
|
||||
"SettingsTabGeneralAutoloadDirectories": "Autoload DLC/Updates Directories",
|
||||
"SettingsTabGeneralAutoloadNote": "DLC and Updates which refer to missing files will be unloaded automatically",
|
||||
"SettingsTabGeneralAdd": "Agregar",
|
||||
"SettingsTabGeneralRemove": "Quitar",
|
||||
"SettingsTabSystem": "Sistema",
|
||||
@@ -411,6 +416,7 @@
|
||||
"GameListContextMenuToggleFavorite": "Marcar favorito",
|
||||
"GameListContextMenuToggleFavoriteToolTip": "Marca o desmarca el juego como favorito",
|
||||
"SettingsTabGeneralTheme": "Tema:",
|
||||
"SettingsTabGeneralThemeAuto": "Auto",
|
||||
"SettingsTabGeneralThemeDark": "Oscuro",
|
||||
"SettingsTabGeneralThemeLight": "Claro",
|
||||
"ControllerSettingsConfigureGeneral": "Configurar",
|
||||
@@ -561,6 +567,9 @@
|
||||
"AddGameDirBoxTooltip": "Elige un directorio de juegos para mostrar en la ventana principal",
|
||||
"AddGameDirTooltip": "Agrega un directorio de juegos a la lista",
|
||||
"RemoveGameDirTooltip": "Quita el directorio seleccionado de la lista",
|
||||
"AddAutoloadDirBoxTooltip": "Enter an autoload directory to add to the list",
|
||||
"AddAutoloadDirTooltip": "Add an autoload directory to the list",
|
||||
"RemoveAutoloadDirTooltip": "Remove selected autoload directory",
|
||||
"CustomThemeCheckTooltip": "Activa o desactiva los temas personalizados para la interfaz",
|
||||
"CustomThemePathTooltip": "Carpeta que contiene los temas personalizados para la interfaz",
|
||||
"CustomThemeBrowseTooltip": "Busca un tema personalizado para la interfaz",
|
||||
@@ -606,6 +615,8 @@
|
||||
"DebugLogTooltip": "Escribe mensajes de debug en la consola\n\nActiva esto solo si un miembro del equipo te lo pide expresamente, pues hará que el registro sea difícil de leer y empeorará el rendimiento del emulador.",
|
||||
"LoadApplicationFileTooltip": "Abre el explorador de archivos para elegir un archivo compatible con Switch para cargar",
|
||||
"LoadApplicationFolderTooltip": "Abre el explorador de archivos para elegir un archivo desempaquetado y compatible con Switch para cargar",
|
||||
"LoadDlcFromFolderTooltip": "Open a file explorer to choose one or more folders to bulk load DLC from",
|
||||
"LoadTitleUpdatesFromFolderTooltip": "Open a file explorer to choose one or more folders to bulk load title updates from",
|
||||
"OpenRyujinxFolderTooltip": "Abre la carpeta de sistema de Ryujinx",
|
||||
"OpenRyujinxLogsTooltip": "Abre la carpeta en la que se guardan los registros",
|
||||
"ExitTooltip": "Cierra Ryujinx",
|
||||
@@ -657,6 +668,8 @@
|
||||
"OpenSetupGuideMessage": "Abrir la guía de instalación",
|
||||
"NoUpdate": "No actualizado",
|
||||
"TitleUpdateVersionLabel": "Versión {0} - {1}",
|
||||
"TitleBundledUpdateVersionLabel": "Bundled: Version {0}",
|
||||
"TitleBundledDlcLabel": "Bundled:",
|
||||
"RyujinxInfo": "Ryujinx - Info",
|
||||
"RyujinxConfirm": "Ryujinx - Confirmación",
|
||||
"FileDialogAllTypes": "Todos los tipos",
|
||||
@@ -714,9 +727,16 @@
|
||||
"DlcWindowTitle": "Administrar contenido descargable",
|
||||
"ModWindowTitle": "Manage Mods for {0} ({1})",
|
||||
"UpdateWindowTitle": "Administrar actualizaciones",
|
||||
"UpdateWindowUpdateAddedMessage": "{0} new update(s) added",
|
||||
"UpdateWindowBundledContentNotice": "Bundled updates cannot be removed, only disabled.",
|
||||
"CheatWindowHeading": "Cheats disponibles para {0} [{1}]",
|
||||
"BuildId": "Id de compilación:",
|
||||
"DlcWindowHeading": "Contenido descargable disponible para {0} [{1}]",
|
||||
"DlcWindowDlcAddedMessage": "{0} new downloadable content(s) added",
|
||||
"AutoloadDlcAddedMessage": "{0} new downloadable content(s) added",
|
||||
"AutoloadDlcRemovedMessage": "{0} missing downloadable content(s) removed",
|
||||
"AutoloadUpdateAddedMessage": "{0} new update(s) added",
|
||||
"AutoloadUpdateRemovedMessage": "{0} missing update(s) removed",
|
||||
"ModWindowHeading": "{0} Mod(s)",
|
||||
"UserProfilesEditProfile": "Editar selección",
|
||||
"Cancel": "Cancelar",
|
||||
@@ -767,6 +787,7 @@
|
||||
"GraphicsScalingFilterBilinear": "Bilinear\n",
|
||||
"GraphicsScalingFilterNearest": "Cercano",
|
||||
"GraphicsScalingFilterFsr": "FSR",
|
||||
"GraphicsScalingFilterArea": "Area",
|
||||
"GraphicsScalingFilterLevelLabel": "Nivel",
|
||||
"GraphicsScalingFilterLevelTooltip": "Ajuste el nivel de nitidez FSR 1.0. Mayor es más nítido.",
|
||||
"SmaaLow": "SMAA Bajo",
|
||||
|
@@ -100,7 +100,7 @@
|
||||
"SettingsTabGeneralCheckUpdatesOnLaunch": "Vérifier les mises à jour au démarrage",
|
||||
"SettingsTabGeneralShowConfirmExitDialog": "Afficher le message de \"Confirmation de sortie\"",
|
||||
"SettingsTabGeneralRememberWindowState": "Mémoriser la taille/position de la fenêtre",
|
||||
"SettingsTabGeneralShowTitleBar": "Show Title Bar (Requires restart)",
|
||||
"SettingsTabGeneralShowTitleBar": "Afficher Barre de Titre (Nécessite redémarrage)",
|
||||
"SettingsTabGeneralHideCursor": "Masquer le Curseur :",
|
||||
"SettingsTabGeneralHideCursorNever": "Jamais",
|
||||
"SettingsTabGeneralHideCursorOnIdle": "Masquer le curseur si inactif",
|
||||
@@ -151,7 +151,7 @@
|
||||
"SettingsTabSystemAudioBackendSDL2": "SDL2",
|
||||
"SettingsTabSystemHacks": "Hacks",
|
||||
"SettingsTabSystemHacksNote": "Cela peut causer des instabilités",
|
||||
"SettingsTabSystemDramSize": "Taille de la DRAM:",
|
||||
"SettingsTabSystemDramSize": "Taille de la DRAM :",
|
||||
"SettingsTabSystemDramSize4GiB": "4GiO",
|
||||
"SettingsTabSystemDramSize6GiB": "6GiO",
|
||||
"SettingsTabSystemDramSize8GiB": "8GiO",
|
||||
@@ -181,7 +181,7 @@
|
||||
"SettingsTabGraphicsAspectRatio32x9": "32:9",
|
||||
"SettingsTabGraphicsAspectRatioStretch": "Étirer pour remplir la fenêtre",
|
||||
"SettingsTabGraphicsDeveloperOptions": "Options développeur",
|
||||
"SettingsTabGraphicsShaderDumpPath": "Chemin du dossier de copie des shaders:",
|
||||
"SettingsTabGraphicsShaderDumpPath": "Chemin du dossier de copie des shaders :",
|
||||
"SettingsTabLogging": "Journaux",
|
||||
"SettingsTabLoggingLogging": "Journaux",
|
||||
"SettingsTabLoggingEnableLoggingToFile": "Activer la sauvegarde des journaux vers un fichier",
|
||||
@@ -387,7 +387,7 @@
|
||||
"UserProfilesSelectedUserProfile": "Profil utilisateur sélectionné :",
|
||||
"UserProfilesSaveProfileName": "Enregistrer le nom du profil",
|
||||
"UserProfilesChangeProfileImage": "Changer l'image du profil",
|
||||
"UserProfilesAvailableUserProfiles": "Profils utilisateurs disponibles:",
|
||||
"UserProfilesAvailableUserProfiles": "Profils utilisateurs disponibles :",
|
||||
"UserProfilesAddNewProfile": "Créer un profil",
|
||||
"UserProfilesDelete": "Supprimer",
|
||||
"UserProfilesClose": "Fermer",
|
||||
@@ -669,7 +669,7 @@
|
||||
"NoUpdate": "Aucune mise à jour",
|
||||
"TitleUpdateVersionLabel": "Version {0}",
|
||||
"TitleBundledUpdateVersionLabel": "Inclus avec le jeu: Version {0}",
|
||||
"TitleBundledDlcLabel": "Inclus avec le jeu:",
|
||||
"TitleBundledDlcLabel": "Inclus avec le jeu :",
|
||||
"RyujinxInfo": "Ryujinx - Info",
|
||||
"RyujinxConfirm": "Ryujinx - Confirmation",
|
||||
"FileDialogAllTypes": "Tous les types",
|
||||
|
@@ -10,7 +10,10 @@
|
||||
"SettingsTabSystemUseHypervisor": "השתמש ב Hypervisor",
|
||||
"MenuBarFile": "_קובץ",
|
||||
"MenuBarFileOpenFromFile": "_טען יישום מקובץ",
|
||||
"MenuBarFileOpenFromFileError": "No applications found in selected file.",
|
||||
"MenuBarFileOpenUnpacked": "טען משחק _שאינו ארוז",
|
||||
"MenuBarFileLoadDlcFromFolder": "Load DLC From Folder",
|
||||
"MenuBarFileLoadTitleUpdatesFromFolder": "Load Title Updates From Folder",
|
||||
"MenuBarFileOpenEmuFolder": "פתח את תיקיית ריוג'ינקס",
|
||||
"MenuBarFileOpenLogsFolder": "פתח את תיקיית קבצי הלוג",
|
||||
"MenuBarFileExit": "_יציאה",
|
||||
@@ -103,6 +106,8 @@
|
||||
"SettingsTabGeneralHideCursorOnIdle": "במצב סרק",
|
||||
"SettingsTabGeneralHideCursorAlways": "תמיד",
|
||||
"SettingsTabGeneralGameDirectories": "תקיות משחקים",
|
||||
"SettingsTabGeneralAutoloadDirectories": "Autoload DLC/Updates Directories",
|
||||
"SettingsTabGeneralAutoloadNote": "DLC and Updates which refer to missing files will be unloaded automatically",
|
||||
"SettingsTabGeneralAdd": "הוסף",
|
||||
"SettingsTabGeneralRemove": "הסר",
|
||||
"SettingsTabSystem": "מערכת",
|
||||
@@ -411,6 +416,7 @@
|
||||
"GameListContextMenuToggleFavorite": "למתג העדפה",
|
||||
"GameListContextMenuToggleFavoriteToolTip": "למתג סטטוס העדפה של משחק",
|
||||
"SettingsTabGeneralTheme": "ערכת נושא:",
|
||||
"SettingsTabGeneralThemeAuto": "Auto",
|
||||
"SettingsTabGeneralThemeDark": "כהה",
|
||||
"SettingsTabGeneralThemeLight": "בהיר",
|
||||
"ControllerSettingsConfigureGeneral": "הגדר",
|
||||
@@ -561,6 +567,9 @@
|
||||
"AddGameDirBoxTooltip": "הזן תקיית משחקים כדי להוסיף לרשימה",
|
||||
"AddGameDirTooltip": "הוסף תקיית משחקים לרשימה",
|
||||
"RemoveGameDirTooltip": "הסר את תקיית המשחקים שנבחרה",
|
||||
"AddAutoloadDirBoxTooltip": "Enter an autoload directory to add to the list",
|
||||
"AddAutoloadDirTooltip": "Add an autoload directory to the list",
|
||||
"RemoveAutoloadDirTooltip": "Remove selected autoload directory",
|
||||
"CustomThemeCheckTooltip": "השתמש בעיצוב מותאם אישית של אבלוניה עבור ה-ממשק הגראפי כדי לשנות את המראה של תפריטי האמולטור",
|
||||
"CustomThemePathTooltip": "נתיב לערכת נושא לממשק גראפי מותאם אישית",
|
||||
"CustomThemeBrowseTooltip": "חפש עיצוב ממשק גראפי מותאם אישית",
|
||||
@@ -606,6 +615,8 @@
|
||||
"DebugLogTooltip": "מדפיס הודעות יומן ניפוי באגים בשורת הפקודות.",
|
||||
"LoadApplicationFileTooltip": "פתח סייר קבצים כדי לבחור קובץ תואם סוויץ' לטעינה",
|
||||
"LoadApplicationFolderTooltip": "פתח סייר קבצים כדי לבחור יישום תואם סוויץ', לא ארוז לטעינה.",
|
||||
"LoadDlcFromFolderTooltip": "Open a file explorer to choose one or more folders to bulk load DLC from",
|
||||
"LoadTitleUpdatesFromFolderTooltip": "Open a file explorer to choose one or more folders to bulk load title updates from",
|
||||
"OpenRyujinxFolderTooltip": "פתח את תיקיית מערכת הקבצים ריוג'ינקס",
|
||||
"OpenRyujinxLogsTooltip": "פותח את התיקיה שאליה נכתבים רישומים",
|
||||
"ExitTooltip": "צא מריוג'ינקס",
|
||||
@@ -657,6 +668,8 @@
|
||||
"OpenSetupGuideMessage": "פתח מדריך התקנה",
|
||||
"NoUpdate": "אין עדכון",
|
||||
"TitleUpdateVersionLabel": "גרסה {0}",
|
||||
"TitleBundledUpdateVersionLabel": "Bundled: Version {0}",
|
||||
"TitleBundledDlcLabel": "Bundled:",
|
||||
"RyujinxInfo": "ריוג'ינקס - מידע",
|
||||
"RyujinxConfirm": "ריוג'ינקס - אישור",
|
||||
"FileDialogAllTypes": "כל הסוגים",
|
||||
@@ -714,9 +727,17 @@
|
||||
"DlcWindowTitle": "נהל הרחבות משחק עבור {0} ({1})",
|
||||
"ModWindowTitle": "Manage Mods for {0} ({1})",
|
||||
"UpdateWindowTitle": "נהל עדכוני משחקים",
|
||||
"UpdateWindowUpdateAddedMessage": "{0} new update(s) added",
|
||||
"UpdateWindowBundledContentNotice": "Bundled updates cannot be removed, only disabled.",
|
||||
"CheatWindowHeading": "צ'יטים זמינים עבור {0} [{1}]",
|
||||
"BuildId": "מזהה בניה:",
|
||||
"DlcWindowBundledContentNotice": "Bundled DLC cannot be removed, only disabled.",
|
||||
"DlcWindowHeading": "{0} הרחבות משחק",
|
||||
"DlcWindowDlcAddedMessage": "{0} new downloadable content(s) added",
|
||||
"AutoloadDlcAddedMessage": "{0} new downloadable content(s) added",
|
||||
"AutoloadDlcRemovedMessage": "{0} missing downloadable content(s) removed",
|
||||
"AutoloadUpdateAddedMessage": "{0} new update(s) added",
|
||||
"AutoloadUpdateRemovedMessage": "{0} missing update(s) removed",
|
||||
"ModWindowHeading": "{0} מוד(ים)",
|
||||
"UserProfilesEditProfile": "ערוך נבחר/ים",
|
||||
"Cancel": "בטל",
|
||||
@@ -767,6 +788,7 @@
|
||||
"GraphicsScalingFilterBilinear": "Bilinear",
|
||||
"GraphicsScalingFilterNearest": "Nearest",
|
||||
"GraphicsScalingFilterFsr": "FSR",
|
||||
"GraphicsScalingFilterArea": "Area",
|
||||
"GraphicsScalingFilterLevelLabel": "רמה",
|
||||
"GraphicsScalingFilterLevelTooltip": "Set FSR 1.0 sharpening level. Higher is sharper.",
|
||||
"SmaaLow": "SMAA נמוך",
|
||||
|
@@ -788,12 +788,12 @@
|
||||
"GraphicsScalingFilterBilinear": "Bilineare",
|
||||
"GraphicsScalingFilterNearest": "Nearest",
|
||||
"GraphicsScalingFilterFsr": "FSR",
|
||||
"GraphicsScalingFilterArea": "Area",
|
||||
"GraphicsScalingFilterLevelLabel": "Livello",
|
||||
"GraphicsScalingFilterLevelTooltip": "Imposta il livello di nitidezza di FSR 1.0. Valori più alti comportano una maggiore nitidezza.",
|
||||
"SmaaLow": "SMAA Basso",
|
||||
"SmaaMedium": "SMAA Medio",
|
||||
"SmaaHigh": "SMAA Alto",
|
||||
"GraphicsScalingFilterArea": "Area",
|
||||
"SmaaUltra": "SMAA Ultra",
|
||||
"UserEditorTitle": "Modificare L'Utente",
|
||||
"UserEditorTitleCreate": "Crea Un Utente",
|
||||
|
@@ -10,7 +10,10 @@
|
||||
"SettingsTabSystemUseHypervisor": "ハイパーバイザーを使用",
|
||||
"MenuBarFile": "ファイル(_F)",
|
||||
"MenuBarFileOpenFromFile": "ファイルからアプリケーションをロード(_L)",
|
||||
"MenuBarFileOpenFromFileError": "No applications found in selected file.",
|
||||
"MenuBarFileOpenUnpacked": "展開されたゲームをロード",
|
||||
"MenuBarFileLoadDlcFromFolder": "Load DLC From Folder",
|
||||
"MenuBarFileLoadTitleUpdatesFromFolder": "Load Title Updates From Folder",
|
||||
"MenuBarFileOpenEmuFolder": "Ryujinx フォルダを開く",
|
||||
"MenuBarFileOpenLogsFolder": "ログフォルダを開く",
|
||||
"MenuBarFileExit": "終了(_E)",
|
||||
@@ -103,6 +106,8 @@
|
||||
"SettingsTabGeneralHideCursorOnIdle": "アイドル時",
|
||||
"SettingsTabGeneralHideCursorAlways": "常時",
|
||||
"SettingsTabGeneralGameDirectories": "ゲームディレクトリ",
|
||||
"SettingsTabGeneralAutoloadDirectories": "Autoload DLC/Updates Directories",
|
||||
"SettingsTabGeneralAutoloadNote": "DLC and Updates which refer to missing files will be unloaded automatically",
|
||||
"SettingsTabGeneralAdd": "追加",
|
||||
"SettingsTabGeneralRemove": "削除",
|
||||
"SettingsTabSystem": "システム",
|
||||
@@ -411,6 +416,7 @@
|
||||
"GameListContextMenuToggleFavorite": "お気に入りを切り替え",
|
||||
"GameListContextMenuToggleFavoriteToolTip": "ゲームをお気に入りに含めるかどうかを切り替えます",
|
||||
"SettingsTabGeneralTheme": "テーマ:",
|
||||
"SettingsTabGeneralThemeAuto": "Auto",
|
||||
"SettingsTabGeneralThemeDark": "ダーク",
|
||||
"SettingsTabGeneralThemeLight": "ライト",
|
||||
"ControllerSettingsConfigureGeneral": "設定",
|
||||
@@ -561,6 +567,9 @@
|
||||
"AddGameDirBoxTooltip": "リストに追加するゲームディレクトリを入力します",
|
||||
"AddGameDirTooltip": "リストにゲームディレクトリを追加します",
|
||||
"RemoveGameDirTooltip": "選択したゲームディレクトリを削除します",
|
||||
"AddAutoloadDirBoxTooltip": "Enter an autoload directory to add to the list",
|
||||
"AddAutoloadDirTooltip": "Add an autoload directory to the list",
|
||||
"RemoveAutoloadDirTooltip": "Remove selected autoload directory",
|
||||
"CustomThemeCheckTooltip": "エミュレータのメニュー外観を変更するためカスタム Avalonia テーマを使用します",
|
||||
"CustomThemePathTooltip": "カスタム GUI テーマのパスです",
|
||||
"CustomThemeBrowseTooltip": "カスタム GUI テーマを参照します",
|
||||
@@ -606,6 +615,8 @@
|
||||
"DebugLogTooltip": "デバッグログメッセージをコンソールに出力します.\n\nログが読みづらくなり,エミュレータのパフォーマンスが低下するため,開発者から特別な指示がある場合のみ使用してください.",
|
||||
"LoadApplicationFileTooltip": "ロードする Switch 互換のファイルを選択するためファイルエクスプローラを開きます",
|
||||
"LoadApplicationFolderTooltip": "ロードする Switch 互換の展開済みアプリケーションを選択するためファイルエクスプローラを開きます",
|
||||
"LoadDlcFromFolderTooltip": "Open a file explorer to choose one or more folders to bulk load DLC from",
|
||||
"LoadTitleUpdatesFromFolderTooltip": "Open a file explorer to choose one or more folders to bulk load title updates from",
|
||||
"OpenRyujinxFolderTooltip": "Ryujinx ファイルシステムフォルダを開きます",
|
||||
"OpenRyujinxLogsTooltip": "ログが格納されるフォルダを開きます",
|
||||
"ExitTooltip": "Ryujinx を終了します",
|
||||
@@ -657,6 +668,8 @@
|
||||
"OpenSetupGuideMessage": "セットアップガイドを開く",
|
||||
"NoUpdate": "アップデートなし",
|
||||
"TitleUpdateVersionLabel": "バージョン {0} - {1}",
|
||||
"TitleBundledUpdateVersionLabel": "Bundled: Version {0}",
|
||||
"TitleBundledDlcLabel": "Bundled:",
|
||||
"RyujinxInfo": "Ryujinx - 情報",
|
||||
"RyujinxConfirm": "Ryujinx - 確認",
|
||||
"FileDialogAllTypes": "すべての種別",
|
||||
@@ -714,9 +727,16 @@
|
||||
"DlcWindowTitle": "DLC 管理",
|
||||
"ModWindowTitle": "Manage Mods for {0} ({1})",
|
||||
"UpdateWindowTitle": "アップデート管理",
|
||||
"UpdateWindowUpdateAddedMessage": "{0} new update(s) added",
|
||||
"UpdateWindowBundledContentNotice": "Bundled updates cannot be removed, only disabled.",
|
||||
"CheatWindowHeading": "利用可能なチート {0} [{1}]",
|
||||
"BuildId": "ビルドID:",
|
||||
"DlcWindowHeading": "利用可能な DLC {0} [{1}]",
|
||||
"DlcWindowDlcAddedMessage": "{0} new downloadable content(s) added",
|
||||
"AutoloadDlcAddedMessage": "{0} new downloadable content(s) added",
|
||||
"AutoloadDlcRemovedMessage": "{0} missing downloadable content(s) removed",
|
||||
"AutoloadUpdateAddedMessage": "{0} new update(s) added",
|
||||
"AutoloadUpdateRemovedMessage": "{0} missing update(s) removed",
|
||||
"ModWindowHeading": "{0} Mod(s)",
|
||||
"UserProfilesEditProfile": "編集",
|
||||
"Cancel": "キャンセル",
|
||||
@@ -767,6 +787,7 @@
|
||||
"GraphicsScalingFilterBilinear": "Bilinear",
|
||||
"GraphicsScalingFilterNearest": "Nearest",
|
||||
"GraphicsScalingFilterFsr": "FSR",
|
||||
"GraphicsScalingFilterArea": "Area",
|
||||
"GraphicsScalingFilterLevelLabel": "レベル",
|
||||
"GraphicsScalingFilterLevelTooltip": "FSR 1.0のシャープ化レベルを設定します. 高い値ほどシャープになります.",
|
||||
"SmaaLow": "SMAA Low",
|
||||
|
@@ -10,7 +10,10 @@
|
||||
"SettingsTabSystemUseHypervisor": "하이퍼바이저 사용하기",
|
||||
"MenuBarFile": "_파일",
|
||||
"MenuBarFileOpenFromFile": "_파일에서 응용 프로그램 불러오기",
|
||||
"MenuBarFileOpenFromFileError": "No applications found in selected file.",
|
||||
"MenuBarFileOpenUnpacked": "_압축을 푼 게임 불러오기",
|
||||
"MenuBarFileLoadDlcFromFolder": "Load DLC From Folder",
|
||||
"MenuBarFileLoadTitleUpdatesFromFolder": "Load Title Updates From Folder",
|
||||
"MenuBarFileOpenEmuFolder": "Ryujinx 폴더 열기",
|
||||
"MenuBarFileOpenLogsFolder": "로그 폴더 열기",
|
||||
"MenuBarFileExit": "_종료",
|
||||
@@ -103,6 +106,8 @@
|
||||
"SettingsTabGeneralHideCursorOnIdle": "유휴 상태",
|
||||
"SettingsTabGeneralHideCursorAlways": "언제나",
|
||||
"SettingsTabGeneralGameDirectories": "게임 디렉터리",
|
||||
"SettingsTabGeneralAutoloadDirectories": "Autoload DLC/Updates Directories",
|
||||
"SettingsTabGeneralAutoloadNote": "DLC and Updates which refer to missing files will be unloaded automatically",
|
||||
"SettingsTabGeneralAdd": "추가",
|
||||
"SettingsTabGeneralRemove": "제거",
|
||||
"SettingsTabSystem": "시스템",
|
||||
@@ -411,6 +416,7 @@
|
||||
"GameListContextMenuToggleFavorite": "즐겨찾기 전환",
|
||||
"GameListContextMenuToggleFavoriteToolTip": "게임 즐겨찾기 상태 전환",
|
||||
"SettingsTabGeneralTheme": "테마:",
|
||||
"SettingsTabGeneralThemeAuto": "Auto",
|
||||
"SettingsTabGeneralThemeDark": "어두운 테마",
|
||||
"SettingsTabGeneralThemeLight": "밝은 테마",
|
||||
"ControllerSettingsConfigureGeneral": "구성",
|
||||
@@ -561,6 +567,9 @@
|
||||
"AddGameDirBoxTooltip": "목록에 추가할 게임 디렉터리 입력",
|
||||
"AddGameDirTooltip": "목록에 게임 디렉터리 추가",
|
||||
"RemoveGameDirTooltip": "선택한 게임 디렉터리 제거",
|
||||
"AddAutoloadDirBoxTooltip": "Enter an autoload directory to add to the list",
|
||||
"AddAutoloadDirTooltip": "Add an autoload directory to the list",
|
||||
"RemoveAutoloadDirTooltip": "Remove selected autoload directory",
|
||||
"CustomThemeCheckTooltip": "GUI에 사용자 지정 Avalonia 테마를 사용하여 에뮬레이터 메뉴의 모양 변경",
|
||||
"CustomThemePathTooltip": "사용자 정의 GUI 테마 경로",
|
||||
"CustomThemeBrowseTooltip": "사용자 정의 GUI 테마 찾아보기",
|
||||
@@ -606,6 +615,8 @@
|
||||
"DebugLogTooltip": "콘솔에 디버그 로그 메시지를 인쇄합니다.\n\n로그를 읽기 어렵게 만들고 에뮬레이터 성능을 악화시키므로 직원이 구체적으로 지시한 경우에만 사용하세요.",
|
||||
"LoadApplicationFileTooltip": "파일 탐색기를 열어 불러올 스위치 호환 파일 선택",
|
||||
"LoadApplicationFolderTooltip": "파일 탐색기를 열어 불러올 스위치 호환 압축 해제 응용 프로그램 선택",
|
||||
"LoadDlcFromFolderTooltip": "Open a file explorer to choose one or more folders to bulk load DLC from",
|
||||
"LoadTitleUpdatesFromFolderTooltip": "Open a file explorer to choose one or more folders to bulk load title updates from",
|
||||
"OpenRyujinxFolderTooltip": "Ryujinx 파일 시스템 폴더 열기",
|
||||
"OpenRyujinxLogsTooltip": "로그가 기록된 폴더 열기",
|
||||
"ExitTooltip": "Ryujinx 종료",
|
||||
@@ -657,6 +668,8 @@
|
||||
"OpenSetupGuideMessage": "설정 가이드 열기",
|
||||
"NoUpdate": "업데이트 없음",
|
||||
"TitleUpdateVersionLabel": "버전 {0}",
|
||||
"TitleBundledUpdateVersionLabel": "Bundled: Version {0}",
|
||||
"TitleBundledDlcLabel": "Bundled:",
|
||||
"RyujinxInfo": "Ryujinx - 정보",
|
||||
"RyujinxConfirm": "Ryujinx - 확인",
|
||||
"FileDialogAllTypes": "모든 유형",
|
||||
@@ -714,9 +727,17 @@
|
||||
"DlcWindowTitle": "{0} ({1})의 다운로드 가능한 콘텐츠 관리",
|
||||
"ModWindowTitle": "{0} ({1})의 Mod 관리",
|
||||
"UpdateWindowTitle": "타이틀 업데이트 관리자",
|
||||
"UpdateWindowUpdateAddedMessage": "{0} new update(s) added",
|
||||
"UpdateWindowBundledContentNotice": "Bundled updates cannot be removed, only disabled.",
|
||||
"CheatWindowHeading": "{0} [{1}]에 사용할 수 있는 치트",
|
||||
"BuildId": "빌드ID :",
|
||||
"DlcWindowBundledContentNotice": "Bundled DLC cannot be removed, only disabled.",
|
||||
"DlcWindowHeading": "{0} 내려받기 가능한 콘텐츠",
|
||||
"DlcWindowDlcAddedMessage": "{0} new downloadable content(s) added",
|
||||
"AutoloadDlcAddedMessage": "{0} new downloadable content(s) added",
|
||||
"AutoloadDlcRemovedMessage": "{0} missing downloadable content(s) removed",
|
||||
"AutoloadUpdateAddedMessage": "{0} new update(s) added",
|
||||
"AutoloadUpdateRemovedMessage": "{0} missing update(s) removed",
|
||||
"ModWindowHeading": "{0} Mod(s)",
|
||||
"UserProfilesEditProfile": "선택된 항목 편집",
|
||||
"Cancel": "취소",
|
||||
@@ -767,6 +788,7 @@
|
||||
"GraphicsScalingFilterBilinear": "Bilinear",
|
||||
"GraphicsScalingFilterNearest": "Nearest",
|
||||
"GraphicsScalingFilterFsr": "FSR",
|
||||
"GraphicsScalingFilterArea": "Area",
|
||||
"GraphicsScalingFilterLevelLabel": "수준",
|
||||
"GraphicsScalingFilterLevelTooltip": "FSR 1.0의 샤프닝 레벨을 설정하세요. 높을수록 더 또렷해집니다.",
|
||||
"SmaaLow": "SMAA 낮음",
|
||||
|
@@ -10,7 +10,10 @@
|
||||
"SettingsTabSystemUseHypervisor": "Użyj Hipernadzorcy",
|
||||
"MenuBarFile": "_Plik",
|
||||
"MenuBarFileOpenFromFile": "_Załaduj aplikację z pliku",
|
||||
"MenuBarFileOpenFromFileError": "No applications found in selected file.",
|
||||
"MenuBarFileOpenUnpacked": "Załaduj _rozpakowaną grę",
|
||||
"MenuBarFileLoadDlcFromFolder": "Load DLC From Folder",
|
||||
"MenuBarFileLoadTitleUpdatesFromFolder": "Load Title Updates From Folder",
|
||||
"MenuBarFileOpenEmuFolder": "Otwórz folder Ryujinx",
|
||||
"MenuBarFileOpenLogsFolder": "Otwórz folder plików dziennika zdarzeń",
|
||||
"MenuBarFileExit": "_Wyjdź",
|
||||
@@ -103,6 +106,8 @@
|
||||
"SettingsTabGeneralHideCursorOnIdle": "Gdy bezczynny",
|
||||
"SettingsTabGeneralHideCursorAlways": "Zawsze",
|
||||
"SettingsTabGeneralGameDirectories": "Katalogi gier",
|
||||
"SettingsTabGeneralAutoloadDirectories": "Autoload DLC/Updates Directories",
|
||||
"SettingsTabGeneralAutoloadNote": "DLC and Updates which refer to missing files will be unloaded automatically",
|
||||
"SettingsTabGeneralAdd": "Dodaj",
|
||||
"SettingsTabGeneralRemove": "Usuń",
|
||||
"SettingsTabSystem": "System",
|
||||
@@ -411,6 +416,7 @@
|
||||
"GameListContextMenuToggleFavorite": "Przełącz na ulubione",
|
||||
"GameListContextMenuToggleFavoriteToolTip": "Przełącz status Ulubionej Gry",
|
||||
"SettingsTabGeneralTheme": "Motyw:",
|
||||
"SettingsTabGeneralThemeAuto": "Auto",
|
||||
"SettingsTabGeneralThemeDark": "Ciemny",
|
||||
"SettingsTabGeneralThemeLight": "Jasny",
|
||||
"ControllerSettingsConfigureGeneral": "Konfiguruj",
|
||||
@@ -561,6 +567,9 @@
|
||||
"AddGameDirBoxTooltip": "Wprowadź katalog gier aby dodać go do listy",
|
||||
"AddGameDirTooltip": "Dodaj katalog gier do listy",
|
||||
"RemoveGameDirTooltip": "Usuń wybrany katalog gier",
|
||||
"AddAutoloadDirBoxTooltip": "Enter an autoload directory to add to the list",
|
||||
"AddAutoloadDirTooltip": "Add an autoload directory to the list",
|
||||
"RemoveAutoloadDirTooltip": "Remove selected autoload directory",
|
||||
"CustomThemeCheckTooltip": "Użyj niestandardowego motywu Avalonia dla GUI, aby zmienić wygląd menu emulatora",
|
||||
"CustomThemePathTooltip": "Ścieżka do niestandardowego motywu GUI",
|
||||
"CustomThemeBrowseTooltip": "Wyszukaj niestandardowy motyw GUI",
|
||||
@@ -606,6 +615,8 @@
|
||||
"DebugLogTooltip": "Wyświetla komunikaty dziennika debugowania w konsoli.\n\nUżywaj tego tylko na wyraźne polecenie członka załogi, ponieważ utrudni to odczytanie dzienników i pogorszy wydajność emulatora.",
|
||||
"LoadApplicationFileTooltip": "Otwórz eksplorator plików, aby wybrać plik kompatybilny z Switch do wczytania",
|
||||
"LoadApplicationFolderTooltip": "Otwórz eksplorator plików, aby wybrać zgodną z Switch, rozpakowaną aplikację do załadowania",
|
||||
"LoadDlcFromFolderTooltip": "Open a file explorer to choose one or more folders to bulk load DLC from",
|
||||
"LoadTitleUpdatesFromFolderTooltip": "Open a file explorer to choose one or more folders to bulk load title updates from",
|
||||
"OpenRyujinxFolderTooltip": "Otwórz folder systemu plików Ryujinx",
|
||||
"OpenRyujinxLogsTooltip": "Otwiera folder, w którym zapisywane są logi",
|
||||
"ExitTooltip": "Wyjdź z Ryujinx",
|
||||
@@ -657,6 +668,8 @@
|
||||
"OpenSetupGuideMessage": "Otwórz Podręcznik Konfiguracji",
|
||||
"NoUpdate": "Brak Aktualizacji",
|
||||
"TitleUpdateVersionLabel": "Wersja {0} - {1}",
|
||||
"TitleBundledUpdateVersionLabel": "Bundled: Version {0}",
|
||||
"TitleBundledDlcLabel": "Bundled:",
|
||||
"RyujinxInfo": "Ryujinx - Info",
|
||||
"RyujinxConfirm": "Ryujinx - Potwierdzenie",
|
||||
"FileDialogAllTypes": "Wszystkie typy",
|
||||
@@ -714,9 +727,17 @@
|
||||
"DlcWindowTitle": "Menedżer Zawartości do Pobrania",
|
||||
"ModWindowTitle": "Zarządzaj modami dla {0} ({1})",
|
||||
"UpdateWindowTitle": "Menedżer Aktualizacji Tytułu",
|
||||
"UpdateWindowUpdateAddedMessage": "{0} new update(s) added",
|
||||
"UpdateWindowBundledContentNotice": "Bundled updates cannot be removed, only disabled.",
|
||||
"CheatWindowHeading": "Kody Dostępne dla {0} [{1}]",
|
||||
"BuildId": "Identyfikator wersji:",
|
||||
"DlcWindowBundledContentNotice": "Bundled DLC cannot be removed, only disabled.",
|
||||
"DlcWindowHeading": "{0} Zawartości do Pobrania dostępna dla {1} ({2})",
|
||||
"DlcWindowDlcAddedMessage": "{0} new downloadable content(s) added",
|
||||
"AutoloadDlcAddedMessage": "{0} new downloadable content(s) added",
|
||||
"AutoloadDlcRemovedMessage": "{0} missing downloadable content(s) removed",
|
||||
"AutoloadUpdateAddedMessage": "{0} new update(s) added",
|
||||
"AutoloadUpdateRemovedMessage": "{0} missing update(s) removed",
|
||||
"ModWindowHeading": "{0} Mod(y/ów)",
|
||||
"UserProfilesEditProfile": "Edytuj Zaznaczone",
|
||||
"Cancel": "Anuluj",
|
||||
@@ -767,6 +788,7 @@
|
||||
"GraphicsScalingFilterBilinear": "Dwuliniowe",
|
||||
"GraphicsScalingFilterNearest": "Najbliższe",
|
||||
"GraphicsScalingFilterFsr": "FSR",
|
||||
"GraphicsScalingFilterArea": "Area",
|
||||
"GraphicsScalingFilterLevelLabel": "Poziom",
|
||||
"GraphicsScalingFilterLevelTooltip": "Ustaw poziom ostrzeżenia FSR 1.0. Wyższy jest ostrzejszy.",
|
||||
"SmaaLow": "SMAA Niskie",
|
||||
|
@@ -10,7 +10,10 @@
|
||||
"SettingsTabSystemUseHypervisor": "Использовать Hypervisor",
|
||||
"MenuBarFile": "_Файл",
|
||||
"MenuBarFileOpenFromFile": "_Добавить приложение из файла",
|
||||
"MenuBarFileOpenFromFileError": "No applications found in selected file.",
|
||||
"MenuBarFileOpenUnpacked": "Добавить _распакованную игру",
|
||||
"MenuBarFileLoadDlcFromFolder": "Load DLC From Folder",
|
||||
"MenuBarFileLoadTitleUpdatesFromFolder": "Load Title Updates From Folder",
|
||||
"MenuBarFileOpenEmuFolder": "Открыть папку Ryujinx",
|
||||
"MenuBarFileOpenLogsFolder": "Открыть папку с логами",
|
||||
"MenuBarFileExit": "_Выход",
|
||||
@@ -103,6 +106,8 @@
|
||||
"SettingsTabGeneralHideCursorOnIdle": "В простое",
|
||||
"SettingsTabGeneralHideCursorAlways": "Всегда",
|
||||
"SettingsTabGeneralGameDirectories": "Папки с играми",
|
||||
"SettingsTabGeneralAutoloadDirectories": "Autoload DLC/Updates Directories",
|
||||
"SettingsTabGeneralAutoloadNote": "DLC and Updates which refer to missing files will be unloaded automatically",
|
||||
"SettingsTabGeneralAdd": "Добавить",
|
||||
"SettingsTabGeneralRemove": "Удалить",
|
||||
"SettingsTabSystem": "Система",
|
||||
@@ -411,6 +416,7 @@
|
||||
"GameListContextMenuToggleFavorite": "Добавить в избранное",
|
||||
"GameListContextMenuToggleFavoriteToolTip": "Добавляет игру в избранное и помечает звездочкой",
|
||||
"SettingsTabGeneralTheme": "Тема:",
|
||||
"SettingsTabGeneralThemeAuto": "Auto",
|
||||
"SettingsTabGeneralThemeDark": "Темная",
|
||||
"SettingsTabGeneralThemeLight": "Светлая",
|
||||
"ControllerSettingsConfigureGeneral": "Настройка",
|
||||
@@ -561,6 +567,9 @@
|
||||
"AddGameDirBoxTooltip": "Введите путь к папке с играми для добавления ее в список выше",
|
||||
"AddGameDirTooltip": "Добавить папку с играми в список",
|
||||
"RemoveGameDirTooltip": "Удалить выбранную папку игры",
|
||||
"AddAutoloadDirBoxTooltip": "Enter an autoload directory to add to the list",
|
||||
"AddAutoloadDirTooltip": "Add an autoload directory to the list",
|
||||
"RemoveAutoloadDirTooltip": "Remove selected autoload directory",
|
||||
"CustomThemeCheckTooltip": "Включить или отключить пользовательские темы",
|
||||
"CustomThemePathTooltip": "Путь к пользовательской теме для интерфейса",
|
||||
"CustomThemeBrowseTooltip": "Просмотр пользовательской темы интерфейса",
|
||||
@@ -606,6 +615,8 @@
|
||||
"DebugLogTooltip": "Выводит журнал сообщений отладки в консоли.\n\nИспользуйте только в случае просьбы разработчика, так как включение этой функции затруднит чтение журналов и ухудшит работу эмулятора.",
|
||||
"LoadApplicationFileTooltip": "Открывает файловый менеджер для выбора файла, совместимого с Nintendo Switch.",
|
||||
"LoadApplicationFolderTooltip": "Открывает файловый менеджер для выбора распакованного приложения, совместимого с Nintendo Switch.",
|
||||
"LoadDlcFromFolderTooltip": "Open a file explorer to choose one or more folders to bulk load DLC from",
|
||||
"LoadTitleUpdatesFromFolderTooltip": "Open a file explorer to choose one or more folders to bulk load title updates from",
|
||||
"OpenRyujinxFolderTooltip": "Открывает папку с файлами Ryujinx. ",
|
||||
"OpenRyujinxLogsTooltip": "Открывает папку в которую записываются логи",
|
||||
"ExitTooltip": "Выйти из Ryujinx",
|
||||
@@ -657,6 +668,8 @@
|
||||
"OpenSetupGuideMessage": "Открыть руководство по установке",
|
||||
"NoUpdate": "Без обновлений",
|
||||
"TitleUpdateVersionLabel": "Version {0} - {1}",
|
||||
"TitleBundledUpdateVersionLabel": "Bundled: Version {0}",
|
||||
"TitleBundledDlcLabel": "Bundled:",
|
||||
"RyujinxInfo": "Ryujinx - Информация",
|
||||
"RyujinxConfirm": "Ryujinx - Подтверждение",
|
||||
"FileDialogAllTypes": "Все типы",
|
||||
@@ -714,9 +727,17 @@
|
||||
"DlcWindowTitle": "Управление DLC для {0} ({1})",
|
||||
"ModWindowTitle": "Управление модами для {0} ({1})",
|
||||
"UpdateWindowTitle": "Менеджер обновлений игр",
|
||||
"UpdateWindowUpdateAddedMessage": "{0} new update(s) added",
|
||||
"UpdateWindowBundledContentNotice": "Bundled updates cannot be removed, only disabled.",
|
||||
"CheatWindowHeading": "Доступные читы для {0} [{1}]",
|
||||
"BuildId": "ID версии:",
|
||||
"DlcWindowBundledContentNotice": "Bundled DLC cannot be removed, only disabled.",
|
||||
"DlcWindowHeading": "{0} DLC",
|
||||
"DlcWindowDlcAddedMessage": "{0} new downloadable content(s) added",
|
||||
"AutoloadDlcAddedMessage": "{0} new downloadable content(s) added",
|
||||
"AutoloadDlcRemovedMessage": "{0} missing downloadable content(s) removed",
|
||||
"AutoloadUpdateAddedMessage": "{0} new update(s) added",
|
||||
"AutoloadUpdateRemovedMessage": "{0} missing update(s) removed",
|
||||
"ModWindowHeading": "Моды для {0} ",
|
||||
"UserProfilesEditProfile": "Изменить выбранные",
|
||||
"Cancel": "Отмена",
|
||||
@@ -767,6 +788,7 @@
|
||||
"GraphicsScalingFilterBilinear": "Билинейная",
|
||||
"GraphicsScalingFilterNearest": "Ступенчатая",
|
||||
"GraphicsScalingFilterFsr": "FSR",
|
||||
"GraphicsScalingFilterArea": "Area",
|
||||
"GraphicsScalingFilterLevelLabel": "Уровень",
|
||||
"GraphicsScalingFilterLevelTooltip": "Выбор режима работы FSR 1.0. Выше - четче.",
|
||||
"SmaaLow": "SMAA Низкое",
|
||||
|
@@ -107,6 +107,7 @@
|
||||
"SettingsTabGeneralHideCursorAlways": "ตลอดเวลา",
|
||||
"SettingsTabGeneralGameDirectories": "ไดเรกทอรี่ของเกม",
|
||||
"SettingsTabGeneralAutoloadDirectories": "โหลดไดเรกทอรี DLC/ไฟล์อัปเดต อัตโนมัติ",
|
||||
"SettingsTabGeneralAutoloadNote": "DLC and Updates which refer to missing files will be unloaded automatically",
|
||||
"SettingsTabGeneralAdd": "เพิ่ม",
|
||||
"SettingsTabGeneralRemove": "เอาออก",
|
||||
"SettingsTabSystem": "ระบบ",
|
||||
@@ -734,8 +735,9 @@
|
||||
"DlcWindowHeading": "{0} DLC ที่สามารถดาวน์โหลดได้",
|
||||
"DlcWindowDlcAddedMessage": "{0} DLC ใหม่ที่เพิ่มเข้ามา",
|
||||
"AutoloadDlcAddedMessage": "{0} ใหม่ที่เพิ่มเข้ามา",
|
||||
"AutoloadDlcRemovedMessage": "{0} missing downloadable content(s) removed",
|
||||
"AutoloadUpdateAddedMessage": "{0} อัพเดตใหม่ที่เพิ่มเข้ามา",
|
||||
"AutoloadDlcAndUpdateAddedMessage": "{0} DLC ใหม่ที่เพิ่มเข้ามาและ {1} อัพเดตใหม่ที่เพิ่มเข้ามา",
|
||||
"AutoloadUpdateRemovedMessage": "{0} missing update(s) removed",
|
||||
"ModWindowHeading": "{0} ม็อด",
|
||||
"UserProfilesEditProfile": "แก้ไขที่เลือกแล้ว",
|
||||
"Cancel": "ยกเลิก",
|
||||
|
@@ -10,7 +10,10 @@
|
||||
"SettingsTabSystemUseHypervisor": "Hypervisor Kullan",
|
||||
"MenuBarFile": "_Dosya",
|
||||
"MenuBarFileOpenFromFile": "_Dosyadan Uygulama Aç",
|
||||
"MenuBarFileOpenFromFileError": "No applications found in selected file.",
|
||||
"MenuBarFileOpenUnpacked": "_Sıkıştırılmamış Oyun Aç",
|
||||
"MenuBarFileLoadDlcFromFolder": "Load DLC From Folder",
|
||||
"MenuBarFileLoadTitleUpdatesFromFolder": "Load Title Updates From Folder",
|
||||
"MenuBarFileOpenEmuFolder": "Ryujinx Klasörünü aç",
|
||||
"MenuBarFileOpenLogsFolder": "Logs Klasörünü aç",
|
||||
"MenuBarFileExit": "_Çıkış",
|
||||
@@ -103,6 +106,8 @@
|
||||
"SettingsTabGeneralHideCursorOnIdle": "Hareketsiz Durumda",
|
||||
"SettingsTabGeneralHideCursorAlways": "Her Zaman",
|
||||
"SettingsTabGeneralGameDirectories": "Oyun Dizinleri",
|
||||
"SettingsTabGeneralAutoloadDirectories": "Autoload DLC/Updates Directories",
|
||||
"SettingsTabGeneralAutoloadNote": "DLC and Updates which refer to missing files will be unloaded automatically",
|
||||
"SettingsTabGeneralAdd": "Ekle",
|
||||
"SettingsTabGeneralRemove": "Kaldır",
|
||||
"SettingsTabSystem": "Sistem",
|
||||
@@ -411,6 +416,7 @@
|
||||
"GameListContextMenuToggleFavorite": "Favori Ayarla",
|
||||
"GameListContextMenuToggleFavoriteToolTip": "Oyunu Favorilere Ekle/Çıkar",
|
||||
"SettingsTabGeneralTheme": "Tema:",
|
||||
"SettingsTabGeneralThemeAuto": "Auto",
|
||||
"SettingsTabGeneralThemeDark": "Karanlık",
|
||||
"SettingsTabGeneralThemeLight": "Aydınlık",
|
||||
"ControllerSettingsConfigureGeneral": "Ayarla",
|
||||
@@ -561,6 +567,9 @@
|
||||
"AddGameDirBoxTooltip": "Listeye eklemek için oyun dizini seçin",
|
||||
"AddGameDirTooltip": "Listeye oyun dizini ekle",
|
||||
"RemoveGameDirTooltip": "Seçili oyun dizinini kaldır",
|
||||
"AddAutoloadDirBoxTooltip": "Enter an autoload directory to add to the list",
|
||||
"AddAutoloadDirTooltip": "Add an autoload directory to the list",
|
||||
"RemoveAutoloadDirTooltip": "Remove selected autoload directory",
|
||||
"CustomThemeCheckTooltip": "Emülatör pencerelerinin görünümünü değiştirmek için özel bir Avalonia teması kullan",
|
||||
"CustomThemePathTooltip": "Özel arayüz temasının yolu",
|
||||
"CustomThemeBrowseTooltip": "Özel arayüz teması için göz at",
|
||||
@@ -606,6 +615,8 @@
|
||||
"DebugLogTooltip": "Debug log mesajlarını konsola yazdırır.\n\nBu seçeneği yalnızca geliştirici üyemiz belirtirse aktifleştirin, çünkü bu seçenek log dosyasını okumayı zorlaştırır ve emülatörün performansını düşürür.",
|
||||
"LoadApplicationFileTooltip": "Switch ile uyumlu bir dosya yüklemek için dosya tarayıcısını açar",
|
||||
"LoadApplicationFolderTooltip": "Switch ile uyumlu ayrıştırılmamış bir uygulama yüklemek için dosya tarayıcısını açar",
|
||||
"LoadDlcFromFolderTooltip": "Open a file explorer to choose one or more folders to bulk load DLC from",
|
||||
"LoadTitleUpdatesFromFolderTooltip": "Open a file explorer to choose one or more folders to bulk load title updates from",
|
||||
"OpenRyujinxFolderTooltip": "Ryujinx dosya sistem klasörünü açar",
|
||||
"OpenRyujinxLogsTooltip": "Log dosyalarının bulunduğu klasörü açar",
|
||||
"ExitTooltip": "Ryujinx'ten çıkış yapmayı sağlar",
|
||||
@@ -657,6 +668,8 @@
|
||||
"OpenSetupGuideMessage": "Kurulum Kılavuzunu Aç",
|
||||
"NoUpdate": "Güncelleme Yok",
|
||||
"TitleUpdateVersionLabel": "Sürüm {0} - {1}",
|
||||
"TitleBundledUpdateVersionLabel": "Bundled: Version {0}",
|
||||
"TitleBundledDlcLabel": "Bundled:",
|
||||
"RyujinxInfo": "Ryujinx - Bilgi",
|
||||
"RyujinxConfirm": "Ryujinx - Doğrulama",
|
||||
"FileDialogAllTypes": "Tüm türler",
|
||||
@@ -714,9 +727,17 @@
|
||||
"DlcWindowTitle": "Oyun DLC'lerini Yönet",
|
||||
"ModWindowTitle": "Manage Mods for {0} ({1})",
|
||||
"UpdateWindowTitle": "Oyun Güncellemelerini Yönet",
|
||||
"UpdateWindowUpdateAddedMessage": "{0} new update(s) added",
|
||||
"UpdateWindowBundledContentNotice": "Bundled updates cannot be removed, only disabled.",
|
||||
"CheatWindowHeading": "{0} için Hile mevcut [{1}]",
|
||||
"BuildId": "BuildId:",
|
||||
"DlcWindowHeading": "{0} için DLC mevcut [{1}]",
|
||||
"DlcWindowBundledContentNotice": "Bundled DLC cannot be removed, only disabled.",
|
||||
"DlcWindowHeading": "{0} Downloadable Content(s) available for {1} ({2})",
|
||||
"DlcWindowDlcAddedMessage": "{0} new downloadable content(s) added",
|
||||
"AutoloadDlcAddedMessage": "{0} new downloadable content(s) added",
|
||||
"AutoloadDlcRemovedMessage": "{0} missing downloadable content(s) removed",
|
||||
"AutoloadUpdateAddedMessage": "{0} new update(s) added",
|
||||
"AutoloadUpdateRemovedMessage": "{0} missing update(s) removed",
|
||||
"ModWindowHeading": "{0} Mod(lar)",
|
||||
"UserProfilesEditProfile": "Seçiliyi Düzenle",
|
||||
"Cancel": "İptal",
|
||||
@@ -767,6 +788,7 @@
|
||||
"GraphicsScalingFilterBilinear": "Bilinear",
|
||||
"GraphicsScalingFilterNearest": "Nearest",
|
||||
"GraphicsScalingFilterFsr": "FSR",
|
||||
"GraphicsScalingFilterArea": "Area",
|
||||
"GraphicsScalingFilterLevelLabel": "Seviye",
|
||||
"GraphicsScalingFilterLevelTooltip": "Set FSR 1.0 sharpening level. Higher is sharper.",
|
||||
"SmaaLow": "Düşük SMAA",
|
||||
|
@@ -10,7 +10,10 @@
|
||||
"SettingsTabSystemUseHypervisor": "Використовувати гіпервізор",
|
||||
"MenuBarFile": "_Файл",
|
||||
"MenuBarFileOpenFromFile": "_Завантажити програму з файлу",
|
||||
"MenuBarFileOpenFromFileError": "No applications found in selected file.",
|
||||
"MenuBarFileOpenUnpacked": "Завантажити _розпаковану гру",
|
||||
"MenuBarFileLoadDlcFromFolder": "Load DLC From Folder",
|
||||
"MenuBarFileLoadTitleUpdatesFromFolder": "Load Title Updates From Folder",
|
||||
"MenuBarFileOpenEmuFolder": "Відкрити теку Ryujinx",
|
||||
"MenuBarFileOpenLogsFolder": "Відкрити теку журналів змін",
|
||||
"MenuBarFileExit": "_Вихід",
|
||||
@@ -103,6 +106,8 @@
|
||||
"SettingsTabGeneralHideCursorOnIdle": "Сховати у режимі очікування",
|
||||
"SettingsTabGeneralHideCursorAlways": "Завжди",
|
||||
"SettingsTabGeneralGameDirectories": "Тека ігор",
|
||||
"SettingsTabGeneralAutoloadDirectories": "Autoload DLC/Updates Directories",
|
||||
"SettingsTabGeneralAutoloadNote": "DLC and Updates which refer to missing files will be unloaded automatically",
|
||||
"SettingsTabGeneralAdd": "Додати",
|
||||
"SettingsTabGeneralRemove": "Видалити",
|
||||
"SettingsTabSystem": "Система",
|
||||
@@ -411,6 +416,7 @@
|
||||
"GameListContextMenuToggleFavorite": "Перемкнути вибране",
|
||||
"GameListContextMenuToggleFavoriteToolTip": "Перемкнути улюблений статус гри",
|
||||
"SettingsTabGeneralTheme": "Тема:",
|
||||
"SettingsTabGeneralThemeAuto": "Auto",
|
||||
"SettingsTabGeneralThemeDark": "Темна",
|
||||
"SettingsTabGeneralThemeLight": "Світла",
|
||||
"ControllerSettingsConfigureGeneral": "Налаштування",
|
||||
@@ -561,6 +567,9 @@
|
||||
"AddGameDirBoxTooltip": "Введіть каталог ігор, щоб додати до списку",
|
||||
"AddGameDirTooltip": "Додати каталог гри до списку",
|
||||
"RemoveGameDirTooltip": "Видалити вибраний каталог гри",
|
||||
"AddAutoloadDirBoxTooltip": "Enter an autoload directory to add to the list",
|
||||
"AddAutoloadDirTooltip": "Add an autoload directory to the list",
|
||||
"RemoveAutoloadDirTooltip": "Remove selected autoload directory",
|
||||
"CustomThemeCheckTooltip": "Використовуйте користувацьку тему Avalonia для графічного інтерфейсу, щоб змінити вигляд меню емулятора",
|
||||
"CustomThemePathTooltip": "Шлях до користувацької теми графічного інтерфейсу",
|
||||
"CustomThemeBrowseTooltip": "Огляд користувацької теми графічного інтерфейсу",
|
||||
@@ -606,6 +615,8 @@
|
||||
"DebugLogTooltip": "Друкує повідомлення журналу налагодження на консолі.\n\nВикористовуйте це лише за спеціальною вказівкою співробітника, оскільки це ускладнить читання журналів і погіршить роботу емулятора.",
|
||||
"LoadApplicationFileTooltip": "Відкриває файловий провідник, щоб вибрати для завантаження сумісний файл Switch",
|
||||
"LoadApplicationFolderTooltip": "Відкриває файловий провідник, щоб вибрати сумісну з комутатором розпаковану програму для завантаження",
|
||||
"LoadDlcFromFolderTooltip": "Open a file explorer to choose one or more folders to bulk load DLC from",
|
||||
"LoadTitleUpdatesFromFolderTooltip": "Open a file explorer to choose one or more folders to bulk load title updates from",
|
||||
"OpenRyujinxFolderTooltip": "Відкриває папку файлової системи Ryujinx",
|
||||
"OpenRyujinxLogsTooltip": "Відкриває папку, куди записуються журнали",
|
||||
"ExitTooltip": "Виходить з Ryujinx",
|
||||
@@ -657,6 +668,8 @@
|
||||
"OpenSetupGuideMessage": "Відкрити посібник із налаштування",
|
||||
"NoUpdate": "Немає оновлень",
|
||||
"TitleUpdateVersionLabel": "Версія {0} - {1}",
|
||||
"TitleBundledUpdateVersionLabel": "Bundled: Version {0}",
|
||||
"TitleBundledDlcLabel": "Bundled:",
|
||||
"RyujinxInfo": "Ryujin x - Інформація",
|
||||
"RyujinxConfirm": "Ryujinx - Підтвердження",
|
||||
"FileDialogAllTypes": "Всі типи",
|
||||
@@ -714,9 +727,17 @@
|
||||
"DlcWindowTitle": "Менеджер вмісту для завантаження",
|
||||
"ModWindowTitle": "Керувати модами для {0} ({1})",
|
||||
"UpdateWindowTitle": "Менеджер оновлення назв",
|
||||
"UpdateWindowUpdateAddedMessage": "{0} new update(s) added",
|
||||
"UpdateWindowBundledContentNotice": "Bundled updates cannot be removed, only disabled.",
|
||||
"CheatWindowHeading": "Коди доступні для {0} [{1}]",
|
||||
"BuildId": "ID збірки:",
|
||||
"DlcWindowBundledContentNotice": "Bundled DLC cannot be removed, only disabled.",
|
||||
"DlcWindowHeading": "Вміст для завантаження, доступний для {1} ({2}): {0}",
|
||||
"DlcWindowDlcAddedMessage": "{0} new downloadable content(s) added",
|
||||
"AutoloadDlcAddedMessage": "{0} new downloadable content(s) added",
|
||||
"AutoloadDlcRemovedMessage": "{0} missing downloadable content(s) removed",
|
||||
"AutoloadUpdateAddedMessage": "{0} new update(s) added",
|
||||
"AutoloadUpdateRemovedMessage": "{0} missing update(s) removed",
|
||||
"ModWindowHeading": "{0} мод(ів)",
|
||||
"UserProfilesEditProfile": "Редагувати вибране",
|
||||
"Cancel": "Скасувати",
|
||||
@@ -767,6 +788,7 @@
|
||||
"GraphicsScalingFilterBilinear": "Білінійний",
|
||||
"GraphicsScalingFilterNearest": "Найближчий",
|
||||
"GraphicsScalingFilterFsr": "FSR",
|
||||
"GraphicsScalingFilterArea": "Area",
|
||||
"GraphicsScalingFilterLevelLabel": "Рівень",
|
||||
"GraphicsScalingFilterLevelTooltip": "Встановити рівень різкості в FSR 1.0. Чим вище - тим різкіше.",
|
||||
"SmaaLow": "SMAA Низький",
|
||||
|
@@ -107,6 +107,7 @@
|
||||
"SettingsTabGeneralHideCursorAlways": "始终隐藏",
|
||||
"SettingsTabGeneralGameDirectories": "游戏目录",
|
||||
"SettingsTabGeneralAutoloadDirectories": "自动加载DLC/游戏更新目录",
|
||||
"SettingsTabGeneralAutoloadNote": "DLC and Updates which refer to missing files will be unloaded automatically",
|
||||
"SettingsTabGeneralAdd": "添加",
|
||||
"SettingsTabGeneralRemove": "删除",
|
||||
"SettingsTabSystem": "系统",
|
||||
@@ -734,8 +735,9 @@
|
||||
"DlcWindowHeading": "{0} 个 DLC",
|
||||
"DlcWindowDlcAddedMessage": "{0} 个DLC被添加",
|
||||
"AutoloadDlcAddedMessage": "{0} 个DLC被添加",
|
||||
"AutoloadDlcRemovedMessage": "{0} missing downloadable content(s) removed",
|
||||
"AutoloadUpdateAddedMessage": "{0} 个游戏更新被添加",
|
||||
"AutoloadDlcAndUpdateAddedMessage": "{0} 个DLC和{1} 个游戏更新被添加",
|
||||
"AutoloadUpdateRemovedMessage": "{0} missing update(s) removed",
|
||||
"ModWindowHeading": "{0} Mod(s)",
|
||||
"UserProfilesEditProfile": "编辑所选",
|
||||
"Cancel": "取消",
|
||||
|
@@ -10,7 +10,10 @@
|
||||
"SettingsTabSystemUseHypervisor": "使用 Hypervisor",
|
||||
"MenuBarFile": "檔案(_F)",
|
||||
"MenuBarFileOpenFromFile": "從檔案載入應用程式(_L)",
|
||||
"MenuBarFileOpenFromFileError": "未能從已選擇的檔案中找到應用程式。",
|
||||
"MenuBarFileOpenUnpacked": "載入未封裝的遊戲(_U)",
|
||||
"MenuBarFileLoadDlcFromFolder": "從資料夾中載入 DLC",
|
||||
"MenuBarFileLoadTitleUpdatesFromFolder": "從資料夾中載入遊戲更新",
|
||||
"MenuBarFileOpenEmuFolder": "開啟 Ryujinx 資料夾",
|
||||
"MenuBarFileOpenLogsFolder": "開啟日誌資料夾",
|
||||
"MenuBarFileExit": "結束(_E)",
|
||||
@@ -97,12 +100,14 @@
|
||||
"SettingsTabGeneralCheckUpdatesOnLaunch": "啟動時檢查更新",
|
||||
"SettingsTabGeneralShowConfirmExitDialog": "顯示「確認結束」對話方塊",
|
||||
"SettingsTabGeneralRememberWindowState": "記住視窗大小/位置",
|
||||
"SettingsTabGeneralShowTitleBar": "Show Title Bar (Requires restart)",
|
||||
"SettingsTabGeneralShowTitleBar": "顯示「標題列」 (需要重新開啟Ryujinx)",
|
||||
"SettingsTabGeneralHideCursor": "隱藏滑鼠游標:",
|
||||
"SettingsTabGeneralHideCursorNever": "從不",
|
||||
"SettingsTabGeneralHideCursorOnIdle": "閒置時",
|
||||
"SettingsTabGeneralHideCursorAlways": "總是",
|
||||
"SettingsTabGeneralGameDirectories": "遊戲資料夾",
|
||||
"SettingsTabGeneralAutoloadDirectories": "自動載入 DLC/遊戲更新資料夾",
|
||||
"SettingsTabGeneralAutoloadNote": "遺失的 DLC 及遊戲更新檔案將會在自動載入中移除",
|
||||
"SettingsTabGeneralAdd": "新增",
|
||||
"SettingsTabGeneralRemove": "刪除",
|
||||
"SettingsTabSystem": "系統",
|
||||
@@ -137,7 +142,7 @@
|
||||
"SettingsTabSystemSystemTime": "系統時鐘:",
|
||||
"SettingsTabSystemEnableVsync": "垂直同步",
|
||||
"SettingsTabSystemEnablePptc": "PPTC (剖析式持久轉譯快取, Profiled Persistent Translation Cache)",
|
||||
"SettingsTabSystemEnableLowPowerPptc": "Low-power PPTC",
|
||||
"SettingsTabSystemEnableLowPowerPptc": "低功耗 PPTC",
|
||||
"SettingsTabSystemEnableFsIntegrityChecks": "檔案系統完整性檢查",
|
||||
"SettingsTabSystemAudioBackend": "音效後端:",
|
||||
"SettingsTabSystemAudioBackendDummy": "虛設 (Dummy)",
|
||||
@@ -411,6 +416,7 @@
|
||||
"GameListContextMenuToggleFavorite": "加入/移除為我的最愛",
|
||||
"GameListContextMenuToggleFavoriteToolTip": "切換遊戲的我的最愛狀態",
|
||||
"SettingsTabGeneralTheme": "佈景主題:",
|
||||
"SettingsTabGeneralThemeAuto": "自動",
|
||||
"SettingsTabGeneralThemeDark": "深色",
|
||||
"SettingsTabGeneralThemeLight": "淺色",
|
||||
"ControllerSettingsConfigureGeneral": "配置",
|
||||
@@ -561,6 +567,9 @@
|
||||
"AddGameDirBoxTooltip": "輸入要新增到清單中的遊戲資料夾",
|
||||
"AddGameDirTooltip": "新增遊戲資料夾到清單中",
|
||||
"RemoveGameDirTooltip": "移除選取的遊戲資料夾",
|
||||
"AddAutoloadDirBoxTooltip": "輸入要新增到清單中的「自動載入 DLC/遊戲更新資料夾」",
|
||||
"AddAutoloadDirTooltip": "新增「自動載入 DLC/遊戲更新資料夾」到清單中",
|
||||
"RemoveAutoloadDirTooltip": "移除選取的「自動載入 DLC/遊戲更新資料夾」",
|
||||
"CustomThemeCheckTooltip": "為圖形使用者介面使用自訂 Avalonia 佈景主題,變更模擬器功能表的外觀",
|
||||
"CustomThemePathTooltip": "自訂 GUI 佈景主題的路徑",
|
||||
"CustomThemeBrowseTooltip": "瀏覽自訂 GUI 佈景主題",
|
||||
@@ -573,7 +582,7 @@
|
||||
"TimeTooltip": "變更系統時鐘",
|
||||
"VSyncToggleTooltip": "模擬遊戲機的垂直同步。對大多數遊戲來說,它本質上是一個幀率限制器;停用它可能會導致遊戲以更高的速度執行,或使載入畫面耗時更長或卡住。\n\n可以在遊戲中使用快速鍵進行切換 (預設為 F1)。如果您打算停用,我們建議您這樣做。\n\n如果不確定,請保持開啟狀態。",
|
||||
"PptcToggleTooltip": "儲存已轉譯的 JIT 函數,這樣每次載入遊戲時就無需再轉譯這些函數。\n\n減少遊戲首次啟動後的卡頓現象,並大大加快啟動時間。\n\n如果不確定,請保持開啟狀態。",
|
||||
"LowPowerPptcToggleTooltip": "Load the PPTC using a third of the amount of cores.",
|
||||
"LowPowerPptcToggleTooltip": "使用 CPU 核心數量的三分之一載入 PPTC。",
|
||||
"FsIntegrityToggleTooltip": "在啟動遊戲時檢查損壞的檔案,如果檢測到損壞的檔案,則在日誌中顯示雜湊值錯誤。\n\n對效能沒有影響,旨在幫助排除故障。\n\n如果不確定,請保持開啟狀態。",
|
||||
"AudioBackendTooltip": "變更用於繪製音訊的後端。\n\nSDL2 是首選,而 OpenAL 和 SoundIO 則作為備用。虛設 (Dummy) 將沒有聲音。\n\n如果不確定,請設定為 SDL2。",
|
||||
"MemoryManagerTooltip": "變更客體記憶體的映射和存取方式。這會極大地影響模擬 CPU 效能。\n\n如果不確定,請設定為主體略過檢查模式。",
|
||||
@@ -581,7 +590,7 @@
|
||||
"MemoryManagerHostTooltip": "直接映射主體位址空間中的記憶體。更快的 JIT 編譯和執行速度。",
|
||||
"MemoryManagerUnsafeTooltip": "直接映射記憶體,但在存取前不封鎖客體位址空間內的位址。速度更快,但相對不安全。訪客應用程式可以從 Ryujinx 中的任何地方存取記憶體,因此只能使用該模式執行您信任的程式。",
|
||||
"UseHypervisorTooltip": "使用 Hypervisor 取代 JIT。使用時可大幅提高效能,但在目前狀態下可能不穩定。",
|
||||
"DRamTooltip": "利用另一種 MemoryMode 配置來模仿 Switch 開發模式。\n\n這僅對高解析度紋理套件或 4K 解析度模組有用。不會提高效能。\n\n如果不確定,請保持關閉狀態。",
|
||||
"DRamTooltip": "利用另一種 MemoryMode 配置來模仿 Switch 開發模式。\n\n這僅對高解析度紋理套件或 4K 解析度模組有用。不會提高效能。\n\n如果不確定,請設定為 4GiB。",
|
||||
"IgnoreMissingServicesTooltip": "忽略未實現的 Horizon OS 服務。這可能有助於在啟動某些遊戲時避免崩潰。\n\n如果不確定,請保持關閉狀態。",
|
||||
"IgnoreAppletTooltip": "如果遊戲手把在遊戲過程中斷開連接,則外部對話方塊「控制器小程式」將不會出現。不會提示關閉對話方塊或設定新控制器。一旦先前斷開的控制器重新連接,遊戲將自動恢復。",
|
||||
"GraphicsBackendThreadingTooltip": "在第二個執行緒上執行圖形後端指令。\n\n在本身不支援多執行緒的 GPU 驅動程式上,可加快著色器編譯、減少卡頓並提高效能。在支援多執行緒的驅動程式上效能略有提升。\n\n如果不確定,請設定為自動。",
|
||||
@@ -606,6 +615,8 @@
|
||||
"DebugLogTooltip": "在控制台中輸出偵錯日誌訊息。\n\n只有在人員特別指示的情況下才能使用,因為這會導致日誌難以閱讀,並降低模擬器效能。",
|
||||
"LoadApplicationFileTooltip": "開啟檔案總管,選擇與 Switch 相容的檔案來載入",
|
||||
"LoadApplicationFolderTooltip": "開啟檔案總管,選擇與 Switch 相容且未封裝的應用程式來載入",
|
||||
"LoadDlcFromFolderTooltip": "開啟檔案總管,選擇一個或多個資料夾來大量載入 DLC",
|
||||
"LoadTitleUpdatesFromFolderTooltip": "開啟檔案總管,選擇一個或多個資料夾來大量載入遊戲更新",
|
||||
"OpenRyujinxFolderTooltip": "開啟 Ryujinx 檔案系統資料夾",
|
||||
"OpenRyujinxLogsTooltip": "開啟日誌被寫入的資料夾",
|
||||
"ExitTooltip": "結束 Ryujinx",
|
||||
@@ -657,6 +668,8 @@
|
||||
"OpenSetupGuideMessage": "開啟設定指南",
|
||||
"NoUpdate": "沒有更新",
|
||||
"TitleUpdateVersionLabel": "版本 {0}",
|
||||
"TitleBundledUpdateVersionLabel": "附帶: 版本 {0}",
|
||||
"TitleBundledDlcLabel": "附帶:",
|
||||
"RyujinxInfo": "Ryujinx - 資訊",
|
||||
"RyujinxConfirm": "Ryujinx - 確認",
|
||||
"FileDialogAllTypes": "全部類型",
|
||||
@@ -714,9 +727,17 @@
|
||||
"DlcWindowTitle": "管理 {0} 的可下載內容 ({1})",
|
||||
"ModWindowTitle": "管理 {0} 的模組 ({1})",
|
||||
"UpdateWindowTitle": "遊戲更新管理員",
|
||||
"UpdateWindowUpdateAddedMessage": "已加入 {0} 個遊戲更新",
|
||||
"UpdateWindowBundledContentNotice": "附帶的遊戲更新只能被停用而無法被刪除。",
|
||||
"CheatWindowHeading": "可用於 {0} [{1}] 的密技",
|
||||
"BuildId": "組建識別碼:",
|
||||
"DlcWindowBundledContentNotice": "附帶的 DLC 只能被停用而無法被刪除。",
|
||||
"DlcWindowHeading": "{0} 個可下載內容",
|
||||
"DlcWindowDlcAddedMessage": "已加入 {0} 個 DLC",
|
||||
"AutoloadDlcAddedMessage": "已加入 {0} 個 DLC",
|
||||
"AutoloadDlcRemovedMessage": "已刪除 {0} 個遺失的 DLC",
|
||||
"AutoloadUpdateAddedMessage": "已加入 {0} 個遊戲更新",
|
||||
"AutoloadUpdateRemovedMessage": "已刪除 {0} 個遺失的遊戲更新",
|
||||
"ModWindowHeading": "{0} 模組",
|
||||
"UserProfilesEditProfile": "編輯所選",
|
||||
"Cancel": "取消",
|
||||
@@ -767,6 +788,7 @@
|
||||
"GraphicsScalingFilterBilinear": "雙線性 (Bilinear)",
|
||||
"GraphicsScalingFilterNearest": "近鄰性 (Nearest)",
|
||||
"GraphicsScalingFilterFsr": "FSR",
|
||||
"GraphicsScalingFilterArea": "Area",
|
||||
"GraphicsScalingFilterLevelLabel": "日誌等級",
|
||||
"GraphicsScalingFilterLevelTooltip": "設定 FSR 1.0 銳化等級。越高越清晰。",
|
||||
"SmaaLow": "低階 SMAA",
|
||||
|
@@ -2,19 +2,38 @@
|
||||
using Avalonia.Markup.Xaml;
|
||||
using Avalonia.Markup.Xaml.MarkupExtensions;
|
||||
using Avalonia.Markup.Xaml.MarkupExtensions.CompiledBindings;
|
||||
using Gommon;
|
||||
using System;
|
||||
// ReSharper disable VirtualMemberNeverOverridden.Global
|
||||
// ReSharper disable MemberCanBeProtected.Global
|
||||
// ReSharper disable MemberCanBePrivate.Global
|
||||
|
||||
#nullable enable
|
||||
|
||||
namespace Ryujinx.Ava.Common.Markup
|
||||
{
|
||||
internal abstract class BasicMarkupExtension : MarkupExtension
|
||||
internal abstract class BasicMarkupExtension<T> : MarkupExtension
|
||||
{
|
||||
protected abstract ClrPropertyInfo PropertyInfo { get; }
|
||||
|
||||
public override object ProvideValue(IServiceProvider serviceProvider) =>
|
||||
new CompiledBindingExtension(
|
||||
new CompiledBindingPathBuilder()
|
||||
.Property(PropertyInfo, PropertyInfoAccessorFactory.CreateInpcPropertyAccessor)
|
||||
.Build()
|
||||
).ProvideValue(serviceProvider);
|
||||
public virtual string Name => "Item";
|
||||
public virtual Action<object, T?>? Setter => null;
|
||||
|
||||
protected abstract T? GetValue();
|
||||
|
||||
protected virtual void ConfigureBindingExtension(CompiledBindingExtension _) { }
|
||||
|
||||
private ClrPropertyInfo PropertyInfo =>
|
||||
new(Name,
|
||||
_ => GetValue(),
|
||||
Setter as Action<object, object?>,
|
||||
typeof(T));
|
||||
|
||||
public override object ProvideValue(IServiceProvider serviceProvider)
|
||||
=> new CompiledBindingExtension(
|
||||
new CompiledBindingPathBuilder()
|
||||
.Property(PropertyInfo, PropertyInfoAccessorFactory.CreateInpcPropertyAccessor)
|
||||
.Build()
|
||||
)
|
||||
.Apply(ConfigureBindingExtension)
|
||||
.ProvideValue(serviceProvider);
|
||||
}
|
||||
}
|
||||
|
@@ -1,51 +1,24 @@
|
||||
using Avalonia.Data.Core;
|
||||
using Avalonia.Markup.Xaml;
|
||||
using Avalonia.Markup.Xaml.MarkupExtensions;
|
||||
using Avalonia.Markup.Xaml.MarkupExtensions.CompiledBindings;
|
||||
using Projektanker.Icons.Avalonia;
|
||||
using Ryujinx.Ava.Common.Locale;
|
||||
using System;
|
||||
|
||||
namespace Ryujinx.Ava.Common.Markup
|
||||
{
|
||||
internal class IconExtension(string iconString) : BasicMarkupExtension
|
||||
internal class IconExtension(string iconString) : BasicMarkupExtension<Icon>
|
||||
{
|
||||
protected override ClrPropertyInfo PropertyInfo
|
||||
=> new(
|
||||
"Item",
|
||||
_ => new Icon { Value = iconString },
|
||||
null,
|
||||
typeof(Icon)
|
||||
);
|
||||
protected override Icon GetValue() => new() { Value = iconString };
|
||||
}
|
||||
|
||||
internal class SpinningIconExtension(string iconString) : BasicMarkupExtension
|
||||
internal class SpinningIconExtension(string iconString) : BasicMarkupExtension<Icon>
|
||||
{
|
||||
protected override ClrPropertyInfo PropertyInfo
|
||||
=> new(
|
||||
"Item",
|
||||
_ => new Icon { Value = iconString, Animation = IconAnimation.Spin },
|
||||
null,
|
||||
typeof(Icon)
|
||||
);
|
||||
protected override Icon GetValue() => new() { Value = iconString, Animation = IconAnimation.Spin };
|
||||
}
|
||||
|
||||
internal class LocaleExtension(LocaleKeys key) : MarkupExtension
|
||||
internal class LocaleExtension(LocaleKeys key) : BasicMarkupExtension<string>
|
||||
{
|
||||
private ClrPropertyInfo PropertyInfo
|
||||
=> new(
|
||||
"Item",
|
||||
_ => LocaleManager.Instance[key],
|
||||
null,
|
||||
typeof(string)
|
||||
);
|
||||
|
||||
public override object ProvideValue(IServiceProvider serviceProvider) =>
|
||||
new CompiledBindingExtension(
|
||||
new CompiledBindingPathBuilder()
|
||||
.Property(PropertyInfo, PropertyInfoAccessorFactory.CreateInpcPropertyAccessor)
|
||||
.Build()
|
||||
) { Source = LocaleManager.Instance }
|
||||
.ProvideValue(serviceProvider);
|
||||
protected override string GetValue() => LocaleManager.Instance[key];
|
||||
|
||||
protected override void ConfigureBindingExtension(CompiledBindingExtension bindingExtension)
|
||||
=> bindingExtension.Source = LocaleManager.Instance;
|
||||
}
|
||||
}
|
||||
|
@@ -23,21 +23,15 @@ namespace Ryujinx.Ava.Input
|
||||
public bool IsConnected => true;
|
||||
public GamepadFeaturesFlag Features => GamepadFeaturesFlag.None;
|
||||
|
||||
private class ButtonMappingEntry
|
||||
private class ButtonMappingEntry(GamepadButtonInputId to, Key from)
|
||||
{
|
||||
public readonly Key From;
|
||||
public readonly GamepadButtonInputId To;
|
||||
|
||||
public ButtonMappingEntry(GamepadButtonInputId to, Key from)
|
||||
{
|
||||
To = to;
|
||||
From = from;
|
||||
}
|
||||
public readonly GamepadButtonInputId To = to;
|
||||
public readonly Key From = from;
|
||||
}
|
||||
|
||||
public AvaloniaKeyboard(AvaloniaKeyboardDriver driver, string id, string name)
|
||||
{
|
||||
_buttonsUserMapping = new List<ButtonMappingEntry>();
|
||||
_buttonsUserMapping = [];
|
||||
|
||||
_driver = driver;
|
||||
Id = id;
|
||||
|
@@ -14,7 +14,7 @@
|
||||
</PropertyGroup>
|
||||
|
||||
<Target Name="PostBuild" AfterTargets="PostBuildEvent" Condition="$([MSBuild]::IsOSPlatform('OSX'))">
|
||||
<Exec Command="codesign --entitlements '$(ProjectDir)..\..\distribution\macos\entitlements.xml' -f --deep -s $(SigningCertificate) '$(TargetDir)$(TargetName)'" />
|
||||
<Exec Command="codesign --entitlements '$(ProjectDir)..\..\distribution\macos\entitlements.xml' -f -s $(SigningCertificate) '$(TargetDir)$(TargetName)'" />
|
||||
</Target>
|
||||
|
||||
<PropertyGroup Condition="'$(RuntimeIdentifier)' != ''">
|
||||
|
@@ -127,11 +127,11 @@ namespace Ryujinx.Ava.UI.Applet
|
||||
try
|
||||
{
|
||||
_parent.ViewModel.AppHost.NpadManager.BlockInputUpdates();
|
||||
var response = await SwkbdAppletDialog.ShowInputDialog(LocaleManager.Instance[LocaleKeys.SoftwareKeyboard], args);
|
||||
(UserResult result, string userInput) = await SwkbdAppletDialog.ShowInputDialog(LocaleManager.Instance[LocaleKeys.SoftwareKeyboard], args);
|
||||
|
||||
if (response.Result == UserResult.Ok)
|
||||
if (result == UserResult.Ok)
|
||||
{
|
||||
inputText = response.Input;
|
||||
inputText = userInput;
|
||||
okPressed = true;
|
||||
}
|
||||
}
|
||||
|
@@ -33,7 +33,7 @@ namespace Ryujinx.Ava.UI.Views.Input
|
||||
{
|
||||
base.OnPointerReleased(e);
|
||||
|
||||
if (_currentAssigner != null && _currentAssigner.ToggledButton != null && !_currentAssigner.ToggledButton.IsPointerOver)
|
||||
if (_currentAssigner is { ToggledButton.IsPointerOver: false })
|
||||
{
|
||||
_currentAssigner.Cancel();
|
||||
}
|
||||
@@ -41,143 +41,146 @@ namespace Ryujinx.Ava.UI.Views.Input
|
||||
|
||||
private void Button_IsCheckedChanged(object sender, RoutedEventArgs e)
|
||||
{
|
||||
if (sender is ToggleButton button)
|
||||
if (sender is not ToggleButton button)
|
||||
return;
|
||||
|
||||
if (button.IsChecked is true)
|
||||
{
|
||||
if ((bool)button.IsChecked)
|
||||
if (_currentAssigner != null && button == _currentAssigner.ToggledButton)
|
||||
{
|
||||
if (_currentAssigner != null && button == _currentAssigner.ToggledButton)
|
||||
{
|
||||
return;
|
||||
}
|
||||
|
||||
if (_currentAssigner == null)
|
||||
{
|
||||
_currentAssigner = new ButtonKeyAssigner(button);
|
||||
|
||||
Focus(NavigationMethod.Pointer);
|
||||
|
||||
PointerPressed += MouseClick;
|
||||
|
||||
if (DataContext is not KeyboardInputViewModel viewModel)
|
||||
return;
|
||||
}
|
||||
|
||||
if (_currentAssigner == null)
|
||||
IKeyboard keyboard =
|
||||
(IKeyboard)viewModel.ParentModel.AvaloniaKeyboardDriver.GetGamepad("0"); // Open Avalonia keyboard for cancel operations.
|
||||
IButtonAssigner assigner =
|
||||
new KeyboardKeyAssigner((IKeyboard)viewModel.ParentModel.SelectedGamepad);
|
||||
|
||||
_currentAssigner.ButtonAssigned += (_, e) =>
|
||||
{
|
||||
_currentAssigner = new ButtonKeyAssigner(button);
|
||||
|
||||
Focus(NavigationMethod.Pointer);
|
||||
|
||||
PointerPressed += MouseClick;
|
||||
|
||||
var viewModel = (DataContext as KeyboardInputViewModel);
|
||||
|
||||
IKeyboard keyboard = (IKeyboard)viewModel.ParentModel.AvaloniaKeyboardDriver.GetGamepad("0"); // Open Avalonia keyboard for cancel operations.
|
||||
IButtonAssigner assigner = CreateButtonAssigner();
|
||||
|
||||
_currentAssigner.ButtonAssigned += (sender, e) =>
|
||||
if (e.ButtonValue.HasValue)
|
||||
{
|
||||
if (e.ButtonValue.HasValue)
|
||||
var buttonValue = e.ButtonValue.Value;
|
||||
viewModel.ParentModel.IsModified = true;
|
||||
|
||||
switch (button.Name)
|
||||
{
|
||||
var buttonValue = e.ButtonValue.Value;
|
||||
viewModel.ParentModel.IsModified = true;
|
||||
|
||||
switch (button.Name)
|
||||
{
|
||||
case "ButtonZl":
|
||||
viewModel.Config.ButtonZl = buttonValue.AsHidType<Key>();
|
||||
break;
|
||||
case "ButtonL":
|
||||
viewModel.Config.ButtonL = buttonValue.AsHidType<Key>();
|
||||
break;
|
||||
case "ButtonMinus":
|
||||
viewModel.Config.ButtonMinus = buttonValue.AsHidType<Key>();
|
||||
break;
|
||||
case "LeftStickButton":
|
||||
viewModel.Config.LeftStickButton = buttonValue.AsHidType<Key>();
|
||||
break;
|
||||
case "LeftStickUp":
|
||||
viewModel.Config.LeftStickUp = buttonValue.AsHidType<Key>();
|
||||
break;
|
||||
case "LeftStickDown":
|
||||
viewModel.Config.LeftStickDown = buttonValue.AsHidType<Key>();
|
||||
break;
|
||||
case "LeftStickRight":
|
||||
viewModel.Config.LeftStickRight = buttonValue.AsHidType<Key>();
|
||||
break;
|
||||
case "LeftStickLeft":
|
||||
viewModel.Config.LeftStickLeft = buttonValue.AsHidType<Key>();
|
||||
break;
|
||||
case "DpadUp":
|
||||
viewModel.Config.DpadUp = buttonValue.AsHidType<Key>();
|
||||
break;
|
||||
case "DpadDown":
|
||||
viewModel.Config.DpadDown = buttonValue.AsHidType<Key>();
|
||||
break;
|
||||
case "DpadLeft":
|
||||
viewModel.Config.DpadLeft = buttonValue.AsHidType<Key>();
|
||||
break;
|
||||
case "DpadRight":
|
||||
viewModel.Config.DpadRight = buttonValue.AsHidType<Key>();
|
||||
break;
|
||||
case "LeftButtonSr":
|
||||
viewModel.Config.LeftButtonSr = buttonValue.AsHidType<Key>();
|
||||
break;
|
||||
case "LeftButtonSl":
|
||||
viewModel.Config.LeftButtonSl = buttonValue.AsHidType<Key>();
|
||||
break;
|
||||
case "RightButtonSr":
|
||||
viewModel.Config.RightButtonSr = buttonValue.AsHidType<Key>();
|
||||
break;
|
||||
case "RightButtonSl":
|
||||
viewModel.Config.RightButtonSl = buttonValue.AsHidType<Key>();
|
||||
break;
|
||||
case "ButtonZr":
|
||||
viewModel.Config.ButtonZr = buttonValue.AsHidType<Key>();
|
||||
break;
|
||||
case "ButtonR":
|
||||
viewModel.Config.ButtonR = buttonValue.AsHidType<Key>();
|
||||
break;
|
||||
case "ButtonPlus":
|
||||
viewModel.Config.ButtonPlus = buttonValue.AsHidType<Key>();
|
||||
break;
|
||||
case "ButtonA":
|
||||
viewModel.Config.ButtonA = buttonValue.AsHidType<Key>();
|
||||
break;
|
||||
case "ButtonB":
|
||||
viewModel.Config.ButtonB = buttonValue.AsHidType<Key>();
|
||||
break;
|
||||
case "ButtonX":
|
||||
viewModel.Config.ButtonX = buttonValue.AsHidType<Key>();
|
||||
break;
|
||||
case "ButtonY":
|
||||
viewModel.Config.ButtonY = buttonValue.AsHidType<Key>();
|
||||
break;
|
||||
case "RightStickButton":
|
||||
viewModel.Config.RightStickButton = buttonValue.AsHidType<Key>();
|
||||
break;
|
||||
case "RightStickUp":
|
||||
viewModel.Config.RightStickUp = buttonValue.AsHidType<Key>();
|
||||
break;
|
||||
case "RightStickDown":
|
||||
viewModel.Config.RightStickDown = buttonValue.AsHidType<Key>();
|
||||
break;
|
||||
case "RightStickRight":
|
||||
viewModel.Config.RightStickRight = buttonValue.AsHidType<Key>();
|
||||
break;
|
||||
case "RightStickLeft":
|
||||
viewModel.Config.RightStickLeft = buttonValue.AsHidType<Key>();
|
||||
break;
|
||||
}
|
||||
case "ButtonZl":
|
||||
viewModel.Config.ButtonZl = buttonValue.AsHidType<Key>();
|
||||
break;
|
||||
case "ButtonL":
|
||||
viewModel.Config.ButtonL = buttonValue.AsHidType<Key>();
|
||||
break;
|
||||
case "ButtonMinus":
|
||||
viewModel.Config.ButtonMinus = buttonValue.AsHidType<Key>();
|
||||
break;
|
||||
case "LeftStickButton":
|
||||
viewModel.Config.LeftStickButton = buttonValue.AsHidType<Key>();
|
||||
break;
|
||||
case "LeftStickUp":
|
||||
viewModel.Config.LeftStickUp = buttonValue.AsHidType<Key>();
|
||||
break;
|
||||
case "LeftStickDown":
|
||||
viewModel.Config.LeftStickDown = buttonValue.AsHidType<Key>();
|
||||
break;
|
||||
case "LeftStickRight":
|
||||
viewModel.Config.LeftStickRight = buttonValue.AsHidType<Key>();
|
||||
break;
|
||||
case "LeftStickLeft":
|
||||
viewModel.Config.LeftStickLeft = buttonValue.AsHidType<Key>();
|
||||
break;
|
||||
case "DpadUp":
|
||||
viewModel.Config.DpadUp = buttonValue.AsHidType<Key>();
|
||||
break;
|
||||
case "DpadDown":
|
||||
viewModel.Config.DpadDown = buttonValue.AsHidType<Key>();
|
||||
break;
|
||||
case "DpadLeft":
|
||||
viewModel.Config.DpadLeft = buttonValue.AsHidType<Key>();
|
||||
break;
|
||||
case "DpadRight":
|
||||
viewModel.Config.DpadRight = buttonValue.AsHidType<Key>();
|
||||
break;
|
||||
case "LeftButtonSr":
|
||||
viewModel.Config.LeftButtonSr = buttonValue.AsHidType<Key>();
|
||||
break;
|
||||
case "LeftButtonSl":
|
||||
viewModel.Config.LeftButtonSl = buttonValue.AsHidType<Key>();
|
||||
break;
|
||||
case "RightButtonSr":
|
||||
viewModel.Config.RightButtonSr = buttonValue.AsHidType<Key>();
|
||||
break;
|
||||
case "RightButtonSl":
|
||||
viewModel.Config.RightButtonSl = buttonValue.AsHidType<Key>();
|
||||
break;
|
||||
case "ButtonZr":
|
||||
viewModel.Config.ButtonZr = buttonValue.AsHidType<Key>();
|
||||
break;
|
||||
case "ButtonR":
|
||||
viewModel.Config.ButtonR = buttonValue.AsHidType<Key>();
|
||||
break;
|
||||
case "ButtonPlus":
|
||||
viewModel.Config.ButtonPlus = buttonValue.AsHidType<Key>();
|
||||
break;
|
||||
case "ButtonA":
|
||||
viewModel.Config.ButtonA = buttonValue.AsHidType<Key>();
|
||||
break;
|
||||
case "ButtonB":
|
||||
viewModel.Config.ButtonB = buttonValue.AsHidType<Key>();
|
||||
break;
|
||||
case "ButtonX":
|
||||
viewModel.Config.ButtonX = buttonValue.AsHidType<Key>();
|
||||
break;
|
||||
case "ButtonY":
|
||||
viewModel.Config.ButtonY = buttonValue.AsHidType<Key>();
|
||||
break;
|
||||
case "RightStickButton":
|
||||
viewModel.Config.RightStickButton = buttonValue.AsHidType<Key>();
|
||||
break;
|
||||
case "RightStickUp":
|
||||
viewModel.Config.RightStickUp = buttonValue.AsHidType<Key>();
|
||||
break;
|
||||
case "RightStickDown":
|
||||
viewModel.Config.RightStickDown = buttonValue.AsHidType<Key>();
|
||||
break;
|
||||
case "RightStickRight":
|
||||
viewModel.Config.RightStickRight = buttonValue.AsHidType<Key>();
|
||||
break;
|
||||
case "RightStickLeft":
|
||||
viewModel.Config.RightStickLeft = buttonValue.AsHidType<Key>();
|
||||
break;
|
||||
}
|
||||
};
|
||||
|
||||
_currentAssigner.GetInputAndAssign(assigner, keyboard);
|
||||
}
|
||||
else
|
||||
{
|
||||
if (_currentAssigner != null)
|
||||
{
|
||||
_currentAssigner.Cancel();
|
||||
_currentAssigner = null;
|
||||
button.IsChecked = false;
|
||||
}
|
||||
}
|
||||
};
|
||||
|
||||
_currentAssigner.GetInputAndAssign(assigner, keyboard);
|
||||
}
|
||||
else
|
||||
{
|
||||
_currentAssigner?.Cancel();
|
||||
_currentAssigner = null;
|
||||
if (_currentAssigner != null)
|
||||
{
|
||||
_currentAssigner.Cancel();
|
||||
_currentAssigner = null;
|
||||
button.IsChecked = false;
|
||||
}
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
_currentAssigner?.Cancel();
|
||||
_currentAssigner = null;
|
||||
}
|
||||
}
|
||||
|
||||
private void MouseClick(object sender, PointerPressedEventArgs e)
|
||||
@@ -189,15 +192,6 @@ namespace Ryujinx.Ava.UI.Views.Input
|
||||
PointerPressed -= MouseClick;
|
||||
}
|
||||
|
||||
private IButtonAssigner CreateButtonAssigner()
|
||||
{
|
||||
IButtonAssigner assigner;
|
||||
|
||||
assigner = new KeyboardKeyAssigner((IKeyboard)(DataContext as KeyboardInputViewModel).ParentModel.SelectedGamepad);
|
||||
|
||||
return assigner;
|
||||
}
|
||||
|
||||
protected override void OnDetachedFromVisualTree(VisualTreeAttachmentEventArgs e)
|
||||
{
|
||||
base.OnDetachedFromVisualTree(e);
|
||||
|
@@ -273,8 +273,8 @@
|
||||
</MenuItem>
|
||||
<MenuItem VerticalAlignment="Center" Header="{ext:Locale MenuBarView}">
|
||||
<MenuItem VerticalAlignment="Center" Header="{ext:Locale MenuBarViewWindow}">
|
||||
<MenuItem Header="{ext:Locale MenuBarViewWindow720}" Tag="720 1280" Click="ChangeWindowSize_Click" />
|
||||
<MenuItem Header="{ext:Locale MenuBarViewWindow1080}" Tag="1080 1920" Click="ChangeWindowSize_Click" />
|
||||
<MenuItem Header="{ext:Locale MenuBarViewWindow720}" Tag="1280 720" Click="ChangeWindowSize_Click" />
|
||||
<MenuItem Header="{ext:Locale MenuBarViewWindow1080}" Tag="1920 1080" Click="ChangeWindowSize_Click" />
|
||||
</MenuItem>
|
||||
</MenuItem>
|
||||
<MenuItem VerticalAlignment="Center" Header="{ext:Locale MenuBarHelp}">
|
||||
|
@@ -184,8 +184,10 @@ namespace Ryujinx.Ava.UI.Views.Main
|
||||
if (sender is not MenuItem { Tag: string resolution })
|
||||
return;
|
||||
|
||||
(int height, int width) = resolution.Split(' ')
|
||||
.Into(parts => (int.Parse(parts[0]), int.Parse(parts[1])));
|
||||
(int width, int height) = resolution.Split(' ', 2)
|
||||
.Into(parts =>
|
||||
(int.Parse(parts[0]), int.Parse(parts[1]))
|
||||
);
|
||||
|
||||
await Dispatcher.UIThread.InvokeAsync(() =>
|
||||
{
|
||||
@@ -200,7 +202,7 @@ namespace Ryujinx.Ava.UI.Views.Main
|
||||
public async void CheckForUpdates(object sender, RoutedEventArgs e)
|
||||
{
|
||||
if (Updater.CanUpdate(true))
|
||||
await Updater.BeginParse(Window, true);
|
||||
await Window.BeginUpdateAsync(true);
|
||||
}
|
||||
|
||||
public async void OpenXCITrimmerWindow(object sender, RoutedEventArgs e) => await XCITrimmerWindow.Show(ViewModel);
|
||||
|
@@ -33,7 +33,7 @@ namespace Ryujinx.Ava.UI.Views.Main
|
||||
LocaleManager.Instance.LocaleChanged += () => Dispatcher.UIThread.Post(() =>
|
||||
{
|
||||
if (Window.ViewModel.EnableNonGameRunningControls)
|
||||
Refresh_OnClick(null, null);
|
||||
Window.LoadApplications();
|
||||
});
|
||||
}
|
||||
}
|
||||
|
@@ -63,8 +63,7 @@ namespace Ryujinx.Ava.UI.Views.User
|
||||
|
||||
private async void Import_OnClick(object sender, RoutedEventArgs e)
|
||||
{
|
||||
var window = this.GetVisualRoot() as Window;
|
||||
var result = await window.StorageProvider.OpenFilePickerAsync(new FilePickerOpenOptions
|
||||
var result = await ((Window)this.GetVisualRoot()!).StorageProvider.OpenFilePickerAsync(new FilePickerOpenOptions
|
||||
{
|
||||
AllowMultiple = false,
|
||||
FileTypeFilter = new List<FilePickerFileType>
|
||||
|
@@ -28,6 +28,7 @@ using Ryujinx.UI.Common.Configuration;
|
||||
using Ryujinx.UI.Common.Helper;
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Reactive.Linq;
|
||||
using System.Runtime.Versioning;
|
||||
using System.Threading;
|
||||
@@ -349,12 +350,12 @@ namespace Ryujinx.Ava.UI.Windows
|
||||
await Dispatcher.UIThread.InvokeAsync(async () => await UserErrorDialog.ShowUserErrorDialog(UserError.NoKeys));
|
||||
}
|
||||
|
||||
if (ConfigurationState.Instance.CheckUpdatesOnStart && Updater.CanUpdate(false))
|
||||
if (ConfigurationState.Instance.CheckUpdatesOnStart && Updater.CanUpdate())
|
||||
{
|
||||
await Updater.BeginParse(this, false).ContinueWith(task =>
|
||||
{
|
||||
Logger.Error?.Print(LogClass.Application, $"Updater Error: {task.Exception}");
|
||||
}, TaskContinuationOptions.OnlyOnFaulted);
|
||||
await this.BeginUpdateAsync()
|
||||
.ContinueWith(
|
||||
task => Logger.Error?.Print(LogClass.Application, $"Updater Error: {task.Exception}"),
|
||||
TaskContinuationOptions.OnlyOnFaulted);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -392,30 +393,17 @@ namespace Ryujinx.Ava.UI.Windows
|
||||
|
||||
ViewModel.WindowState = ConfigurationState.Instance.UI.WindowStartup.WindowMaximized.Value ? WindowState.Maximized : WindowState.Normal;
|
||||
|
||||
if (CheckScreenBounds(savedPoint))
|
||||
if (Screens.All.Any(screen => screen.Bounds.Contains(savedPoint)))
|
||||
{
|
||||
Position = savedPoint;
|
||||
}
|
||||
else
|
||||
{
|
||||
Logger.Warning?.Print(LogClass.Application, "Failed to find valid start-up coordinates. Defaulting to primary monitor center.");
|
||||
WindowStartupLocation = WindowStartupLocation.CenterScreen;
|
||||
}
|
||||
}
|
||||
|
||||
private bool CheckScreenBounds(PixelPoint configPoint)
|
||||
{
|
||||
for (int i = 0; i < Screens.ScreenCount; i++)
|
||||
{
|
||||
if (Screens.All[i].Bounds.Contains(configPoint))
|
||||
{
|
||||
return true;
|
||||
}
|
||||
}
|
||||
|
||||
Logger.Warning?.Print(LogClass.Application, "Failed to find valid start-up coordinates. Defaulting to primary monitor center.");
|
||||
return false;
|
||||
}
|
||||
|
||||
private void SaveWindowSizePosition()
|
||||
{
|
||||
ConfigurationState.Instance.UI.WindowStartup.WindowMaximized.Value = WindowState == WindowState.Maximized;
|
||||
@@ -507,8 +495,7 @@ namespace Ryujinx.Ava.UI.Windows
|
||||
|
||||
private void VolumeStatus_CheckedChanged(object sender, RoutedEventArgs e)
|
||||
{
|
||||
var volumeSplitButton = sender as ToggleSplitButton;
|
||||
if (ViewModel.IsGameRunning)
|
||||
if (ViewModel.IsGameRunning && sender is ToggleSplitButton volumeSplitButton)
|
||||
{
|
||||
if (!volumeSplitButton.IsChecked)
|
||||
{
|
||||
|
@@ -32,6 +32,8 @@ namespace Ryujinx.Ava
|
||||
internal static class Updater
|
||||
{
|
||||
private const string GitHubApiUrl = "https://api.github.com";
|
||||
private const string LatestReleaseUrl = $"{GitHubApiUrl}/repos/{ReleaseInformation.ReleaseChannelOwner}/{ReleaseInformation.ReleaseChannelRepo}/releases/latest";
|
||||
|
||||
private static readonly GithubReleasesJsonSerializerContext _serializerContext = new(JsonHelper.GetDefaultSerializerOptions());
|
||||
|
||||
private static readonly string _homeDir = AppDomain.CurrentDomain.BaseDirectory;
|
||||
@@ -46,9 +48,9 @@ namespace Ryujinx.Ava
|
||||
private static bool _updateSuccessful;
|
||||
private static bool _running;
|
||||
|
||||
private static readonly string[] _windowsDependencyDirs = Array.Empty<string>();
|
||||
private static readonly string[] _windowsDependencyDirs = [];
|
||||
|
||||
public static async Task BeginParse(Window mainWindow, bool showVersionUpToDate)
|
||||
public static async Task BeginUpdateAsync(this Window mainWindow, bool showVersionUpToDate = false)
|
||||
{
|
||||
if (_running)
|
||||
{
|
||||
@@ -96,11 +98,10 @@ namespace Ryujinx.Ava
|
||||
try
|
||||
{
|
||||
using HttpClient jsonClient = ConstructHttpClient();
|
||||
|
||||
string buildInfoUrl = $"{GitHubApiUrl}/repos/{ReleaseInformation.ReleaseChannelOwner}/{ReleaseInformation.ReleaseChannelRepo}/releases/latest";
|
||||
string fetchedJson = await jsonClient.GetStringAsync(buildInfoUrl);
|
||||
|
||||
string fetchedJson = await jsonClient.GetStringAsync(LatestReleaseUrl);
|
||||
var fetched = JsonHelper.Deserialize(fetchedJson, _serializerContext.GithubReleasesJsonResponse);
|
||||
_buildVer = fetched.Name;
|
||||
_buildVer = fetched.TagName;
|
||||
|
||||
foreach (var asset in fetched.Assets)
|
||||
{
|
||||
@@ -159,7 +160,7 @@ namespace Ryujinx.Ava
|
||||
}
|
||||
catch
|
||||
{
|
||||
Logger.Error?.Print(LogClass.Application, "Failed to convert the received Ryujinx version from Github!");
|
||||
Logger.Error?.Print(LogClass.Application, $"Failed to convert the received {App.FullAppName} version from GitHub!");
|
||||
|
||||
await ContentDialogHelper.CreateWarningDialog(
|
||||
LocaleManager.Instance[LocaleKeys.DialogUpdaterConvertFailedGithubMessage],
|
||||
@@ -636,7 +637,7 @@ namespace Ryujinx.Ava
|
||||
taskDialog.Hide();
|
||||
}
|
||||
|
||||
public static bool CanUpdate(bool showWarnings)
|
||||
public static bool CanUpdate(bool showWarnings = false)
|
||||
{
|
||||
#if !DISABLE_UPDATER
|
||||
if (!NetworkInterface.GetIsNetworkAvailable())
|
||||
|
Reference in New Issue
Block a user