mirror of
https://git.eden-emu.dev/eden-emu/eden.git
synced 2026-08-16 21:33:01 +00:00
Compare commits
3 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
| 35297201dc | |||
| 5ccdeb33ff | |||
| b4f7f64c5f |
@@ -0,0 +1,47 @@
|
||||
#!/usr/bin/ruby
|
||||
# frozen_string_literal: true
|
||||
|
||||
license_header = <<~EOF
|
||||
// SPDX-FileCopyrightText: Copyright 2025 Eden Emulator Project
|
||||
// SPDX-License-Identifier: GPL-3.0-or-later
|
||||
EOF
|
||||
|
||||
print 'Getting branch changes...'
|
||||
branch_name = `git rev-parse --abbrev-ref HEAD`.chomp
|
||||
branch_commits = `git log #{branch_name} --not master --pretty=format:"%h"`.split("\n")
|
||||
branch_commit_range = "#{branch_commits[-1]}^..#{branch_commits[0]}"
|
||||
branch_changed_files = `git diff-tree --no-commit-id --name-only #{branch_commit_range} -r`.split("\n")
|
||||
puts 'done'
|
||||
|
||||
print 'Checking files...'
|
||||
issue_files = []
|
||||
branch_changed_files.each do |file_name|
|
||||
if file_name.end_with?('.cpp', '.h', '.kt', '.kts') and File.file?(file_name)
|
||||
file_content = File.read(file_name)
|
||||
if not file_content.start_with?(license_header)
|
||||
issue_files.push(file_name)
|
||||
end
|
||||
end
|
||||
end
|
||||
puts 'done'
|
||||
|
||||
if issue_files.empty?
|
||||
puts "\nAll changed files have correct headers"
|
||||
exit 0
|
||||
end
|
||||
|
||||
puts <<-EOF
|
||||
|
||||
The following #{issue_files.length} files have incorrect license headers:
|
||||
#{issue_files.join("\n")}
|
||||
|
||||
The following license header should be added to the start of all offending files:
|
||||
=== BEGIN ===
|
||||
#{license_header}
|
||||
=== END ===
|
||||
|
||||
If some of the code in this PR is not being contributed by the original author, the files which have been exclusively changed by that code can be ignored.
|
||||
If this happens, this PR requirement can be bypassed once all other files are addressed.
|
||||
EOF
|
||||
|
||||
exit 1
|
||||
+85
-188
@@ -1,150 +1,74 @@
|
||||
#!/bin/sh -e
|
||||
|
||||
# SPDX-FileCopyrightText: Copyright 2025 Eden Emulator Project
|
||||
# SPDX-License-Identifier: GPL-3.0-or-later
|
||||
HEADER="$(cat "$PWD/.ci/license/header.txt")"
|
||||
HEADER_HASH="$(cat "$PWD/.ci/license/header-hash.txt")"
|
||||
|
||||
# specify full path if dupes may exist
|
||||
EXCLUDE_FILES="CPM.cmake CPMUtil.cmake GetSCMRev.cmake sse2neon.h renderdoc_app.h tools/cpm tools/shellcheck.sh tools/update-cpm.sh externals/stb externals/glad externals/getopt externals/gamemode externals/FidelityFX-FSR externals/demangle externals/bc_decoder"
|
||||
echo "Getting branch changes"
|
||||
|
||||
# license header constants, please change when needed :))))
|
||||
YEAR=2025
|
||||
HOLDER="Eden Emulator Project"
|
||||
LICENSE="GPL-3.0-or-later"
|
||||
# BRANCH=`git rev-parse --abbrev-ref HEAD`
|
||||
# COMMITS=`git log ${BRANCH} --not master --pretty=format:"%h"`
|
||||
# RANGE="${COMMITS[${#COMMITS[@]}-1]}^..${COMMITS[0]}"
|
||||
# FILES=`git diff-tree --no-commit-id --name-only ${RANGE} -r`
|
||||
|
||||
usage() {
|
||||
cat << EOF
|
||||
Usage: $0 [uc]
|
||||
Compares the current HEAD to the master branch to check for license
|
||||
header discrepancies. Each file changed in a branch MUST have a
|
||||
license header, and this script attempts to enforce that.
|
||||
BASE=`git merge-base master HEAD`
|
||||
FILES=`git diff --name-only $BASE`
|
||||
|
||||
Options:
|
||||
-u, --update Fix license headers, if applicable;
|
||||
if the license header exists but has the incorrect
|
||||
year or is otherwise malformed, it will be fixed.
|
||||
#FILES=$(git diff --name-only master)
|
||||
|
||||
-c, --commit Commit changes to Git (requires --update)
|
||||
|
||||
Copyright $YEAR $HOLDER
|
||||
Licensed under $LICENSE
|
||||
|
||||
The following files/directories are marked as external
|
||||
and thus will not have license headers asserted:
|
||||
EOF
|
||||
|
||||
for file in $EXCLUDE_FILES; do
|
||||
echo "- $file"
|
||||
done
|
||||
|
||||
exit 0
|
||||
}
|
||||
|
||||
while true; do
|
||||
case "$1" in
|
||||
(-uc) UPDATE=true; COMMIT=true ;;
|
||||
(-u|--update) UPDATE=true ;;
|
||||
(-c|--commit) COMMIT=true ;;
|
||||
("$0") break ;;
|
||||
("") break ;;
|
||||
(*) usage ;;
|
||||
esac
|
||||
|
||||
shift
|
||||
done
|
||||
|
||||
# human-readable header string
|
||||
header() {
|
||||
header_line1 "$1"
|
||||
header_line2 "$1"
|
||||
}
|
||||
|
||||
header_line1() {
|
||||
echo "$1 SPDX-FileCopyrightText: Copyright $YEAR $HOLDER"
|
||||
}
|
||||
|
||||
header_line2() {
|
||||
echo "$1 SPDX-License-Identifier: $LICENSE"
|
||||
}
|
||||
echo "Done"
|
||||
|
||||
check_header() {
|
||||
begin="$1"
|
||||
file="$2"
|
||||
|
||||
# separate things out as spaces to make our lives 100000000x easier
|
||||
content="$(head -n5 < "$2" | tr '\n' ' ')"
|
||||
|
||||
line1="$(header_line1 "$begin")"
|
||||
line2="$(header_line2 "$begin")"
|
||||
|
||||
# perl and awk are actually awful, so to avoid this problem we avoid it by avoiding it
|
||||
if ! echo "$content" | grep -o "$line1 $line2" >/dev/null; then
|
||||
# SRC_FILES is Kotlin/C++
|
||||
# OTHER_FILES is sh, CMake
|
||||
case "$begin" in
|
||||
"//")
|
||||
SRC_FILES="$SRC_FILES $file"
|
||||
;;
|
||||
"#")
|
||||
OTHER_FILES="$OTHER_FILES $file"
|
||||
;;
|
||||
esac
|
||||
fi
|
||||
CONTENT="`head -n3 < $1`"
|
||||
case "$CONTENT" in
|
||||
"$HEADER"*) ;;
|
||||
*) BAD_FILES="$BAD_FILES $1" ;;
|
||||
esac
|
||||
}
|
||||
|
||||
BASE=$(git merge-base master HEAD)
|
||||
FILES=$(git diff --name-only "$BASE")
|
||||
check_cmake_header() {
|
||||
CONTENT="`head -n3 < $1`"
|
||||
|
||||
case "$CONTENT" in
|
||||
"$HEADER_HASH"*) ;;
|
||||
*)
|
||||
BAD_CMAKE="$BAD_CMAKE $1" ;;
|
||||
esac
|
||||
}
|
||||
for file in $FILES; do
|
||||
[ -f "$file" ] || continue
|
||||
|
||||
# skip files that are third party (crueter's CMake modules, sse2neon, etc)
|
||||
for pattern in $EXCLUDE_FILES; do
|
||||
case "$file" in
|
||||
*"$pattern"*)
|
||||
excluded=true
|
||||
break
|
||||
;;
|
||||
*)
|
||||
excluded=false
|
||||
;;
|
||||
esac
|
||||
done
|
||||
if [ `basename -- "$file"` = "CMakeLists.txt" ]; then
|
||||
check_cmake_header "$file"
|
||||
continue
|
||||
fi
|
||||
|
||||
[ "$excluded" = "true" ] && continue
|
||||
|
||||
case "$file" in
|
||||
*.cmake|*.sh|CMakeLists.txt)
|
||||
begin="#"
|
||||
;;
|
||||
*.kt*|*.cpp|*.h)
|
||||
begin="//"
|
||||
;;
|
||||
*)
|
||||
continue
|
||||
;;
|
||||
EXTENSION="${file##*.}"
|
||||
case "$EXTENSION" in
|
||||
kts|kt|cpp|h)
|
||||
check_header "$file"
|
||||
;;
|
||||
cmake)
|
||||
check_cmake_header "$file"
|
||||
;;
|
||||
esac
|
||||
|
||||
check_header "$begin" "$file"
|
||||
done
|
||||
|
||||
if [ -z "$SRC_FILES" ] && [ -z "$OTHER_FILES" ]; then
|
||||
echo "-- All good."
|
||||
if [ "$BAD_FILES" = "" ] && [ "$BAD_CMAKE" = "" ]; then
|
||||
echo
|
||||
echo "All good."
|
||||
|
||||
exit
|
||||
fi
|
||||
|
||||
echo
|
||||
if [ "$BAD_FILES" != "" ]; then
|
||||
echo "The following source files have incorrect license headers:"
|
||||
echo
|
||||
|
||||
if [ "$SRC_FILES" != "" ]; then
|
||||
echo "-- The following source files have incorrect license headers:"
|
||||
|
||||
HEADER=$(header "//")
|
||||
|
||||
for file in $SRC_FILES; do echo "-- * $file"; done
|
||||
for file in $BAD_FILES; do echo $file; done
|
||||
|
||||
cat << EOF
|
||||
|
||||
-- The following license header should be added to the start of these offending files:
|
||||
The following license header should be added to the start of all offending SOURCE files:
|
||||
|
||||
=== BEGIN ===
|
||||
$HEADER
|
||||
@@ -154,19 +78,18 @@ EOF
|
||||
|
||||
fi
|
||||
|
||||
if [ "$OTHER_FILES" != "" ]; then
|
||||
echo "-- The following CMake and shell scripts have incorrect license headers:"
|
||||
if [ "$BAD_CMAKE" != "" ]; then
|
||||
echo "The following CMake files have incorrect license headers:"
|
||||
echo
|
||||
|
||||
HEADER=$(header "#")
|
||||
|
||||
for file in $OTHER_FILES; do echo "-- * $file"; done
|
||||
for file in $BAD_CMAKE; do echo $file; done
|
||||
|
||||
cat << EOF
|
||||
|
||||
-- The following license header should be added to the start of these offending files:
|
||||
The following license header should be added to the start of all offending CMake files:
|
||||
|
||||
=== BEGIN ===
|
||||
$HEADER
|
||||
$HEADER_HASH
|
||||
=== END ===
|
||||
|
||||
EOF
|
||||
@@ -174,76 +97,50 @@ EOF
|
||||
fi
|
||||
|
||||
cat << EOF
|
||||
If some of the code in this PR is not being contributed by the original author,
|
||||
the files which have been exclusively changed by that code can be ignored.
|
||||
If this happens, this PR requirement can be bypassed once all other files are addressed.
|
||||
|
||||
If some of the code in this PR is not being contributed by the original author,
|
||||
the files which have been exclusively changed by that code can be ignored.
|
||||
If this happens, this PR requirement can be bypassed once all other files are addressed.
|
||||
EOF
|
||||
|
||||
if [ "$UPDATE" = "true" ]; then
|
||||
TMP_DIR=$(mktemp -d)
|
||||
echo "-- Fixing headers..."
|
||||
if [ "$FIX" = "true" ]; then
|
||||
echo
|
||||
echo "FIX set to true. Fixing headers."
|
||||
echo
|
||||
|
||||
for file in $SRC_FILES $OTHER_FILES; do
|
||||
case $(basename -- "$file") in
|
||||
*.cmake|CMakeLists.txt)
|
||||
begin="#"
|
||||
shell="false"
|
||||
;;
|
||||
*.sh)
|
||||
begin="#"
|
||||
shell=true
|
||||
;;
|
||||
*.kt*|*.cpp|*.h)
|
||||
begin="//"
|
||||
shell="false"
|
||||
;;
|
||||
esac
|
||||
for file in $BAD_FILES; do
|
||||
cat $file > $file.bak
|
||||
|
||||
# This is fun
|
||||
match="$begin SPDX-FileCopyrightText.*$HOLDER"
|
||||
cat .ci/license/header.txt > $file
|
||||
echo >> $file
|
||||
cat $file.bak >> $file
|
||||
|
||||
# basically if the copyright holder is already defined we can just replace the year
|
||||
if head -n5 < "$file" | grep -e "$match" >/dev/null; then
|
||||
replace=$(header_line1 "$begin")
|
||||
sed "s|$match|$replace|" "$file" > "$file".bak
|
||||
mv "$file".bak "$file"
|
||||
else
|
||||
header "$begin" > "$TMP_DIR"/header
|
||||
rm $file.bak
|
||||
|
||||
if [ "$shell" = "true" ]; then
|
||||
# grab shebang
|
||||
head -n1 "$file" > "$TMP_DIR/shebang"
|
||||
echo >> "$TMP_DIR/shebang"
|
||||
git add $file
|
||||
done
|
||||
|
||||
# remove shebang
|
||||
sed '1d' "$file" > "$file".bak
|
||||
mv "$file".bak "$file"
|
||||
for file in $BAD_CMAKE; do
|
||||
cat $file > $file.bak
|
||||
|
||||
# add to header
|
||||
cat "$TMP_DIR"/shebang "$TMP_DIR"/header > "$TMP_DIR"/new-header
|
||||
mv "$TMP_DIR"/new-header "$TMP_DIR"/header
|
||||
else
|
||||
echo >> "$TMP_DIR/header"
|
||||
fi
|
||||
cat .ci/license/header-hash.txt > $file
|
||||
echo >> $file
|
||||
cat $file.bak >> $file
|
||||
|
||||
cat "$TMP_DIR"/header "$file" > "$file".bak
|
||||
mv "$file".bak "$file"
|
||||
fi
|
||||
rm $file.bak
|
||||
|
||||
[ "$shell" = "true" ] && chmod a+x "$file"
|
||||
[ "$COMMIT" = "true" ] && git add "$file"
|
||||
done
|
||||
git add $file
|
||||
done
|
||||
echo "License headers fixed."
|
||||
|
||||
echo "-- Done"
|
||||
if [ "$COMMIT" = "true" ]; then
|
||||
echo
|
||||
echo "COMMIT set to true. Committing changes."
|
||||
echo
|
||||
|
||||
git commit -m "Fix license headers"
|
||||
|
||||
echo "Changes committed. You may now push."
|
||||
fi
|
||||
else
|
||||
exit 1
|
||||
fi
|
||||
|
||||
if [ "$COMMIT" = "true" ]; then
|
||||
echo "-- Committing changes"
|
||||
|
||||
git commit -m "Fix license headers"
|
||||
|
||||
echo "-- Changes committed. You may now push."
|
||||
fi
|
||||
|
||||
[ -d "$TMP_DIR" ] && rm -rf "$TMP_DIR"
|
||||
|
||||
@@ -0,0 +1,2 @@
|
||||
# SPDX-FileCopyrightText: Copyright 2025 Eden Emulator Project
|
||||
# SPDX-License-Identifier: GPL-3.0-or-later
|
||||
@@ -0,0 +1,2 @@
|
||||
// SPDX-FileCopyrightText: Copyright 2025 Eden Emulator Project
|
||||
// SPDX-License-Identifier: GPL-3.0-or-later
|
||||
+1
-2
@@ -67,9 +67,8 @@ else
|
||||
export EXTRA_CMAKE_FLAGS=("${EXTRA_CMAKE_FLAGS[@]}" -DYUZU_USE_PRECOMPILED_HEADERS=OFF)
|
||||
fi
|
||||
|
||||
|
||||
if [ "$DEVEL" != "true" ]; then
|
||||
export EXTRA_CMAKE_FLAGS=("${EXTRA_CMAKE_FLAGS[@]}" -DENABLE_UPDATE_CHECKER=ON)
|
||||
export EXTRA_CMAKE_FLAGS=("${EXTRA_CMAKE_FLAGS[@]}" -DENABLE_QT_UPDATE_CHECKER=ON)
|
||||
fi
|
||||
|
||||
if [ "$USE_WEBENGINE" = "true" ]; then
|
||||
|
||||
@@ -36,8 +36,8 @@ cmake .. -G Ninja \
|
||||
-DCMAKE_EXE_LINKER_FLAGS=" /LTCG" \
|
||||
-DDYNARMIC_ENABLE_LTO=ON \
|
||||
-DYUZU_USE_BUNDLED_QT=${BUNDLE_QT:-false} \
|
||||
-DUSE_CCACHE=${CCACHE:-false} \
|
||||
-DENABLE_UPDATE_CHECKER=${DEVEL:-true} \
|
||||
-DUSE_CCACHE=${CCACHE:-false} \
|
||||
-DENABLE_QT_UPDATE_CHECKER=${DEVEL:-true} \
|
||||
"${EXTRA_CMAKE_FLAGS[@]}" \
|
||||
"$@"
|
||||
|
||||
|
||||
Executable
+60
@@ -0,0 +1,60 @@
|
||||
# SPDX-FileCopyrightText: 2025 Eden Emulator Project
|
||||
# SPDX-License-Identifier: GPL-3.0-or-later
|
||||
|
||||
$ErrorActionPreference = "Stop"
|
||||
|
||||
# Check if running as administrator
|
||||
if (-not ([bool](net session 2>$null))) {
|
||||
Write-Host "This script must be run with administrator privileges!"
|
||||
Exit 1
|
||||
}
|
||||
|
||||
$VSVer = "17"
|
||||
$ExeFile = "vs_community.exe"
|
||||
$Uri = "https://aka.ms/vs/$VSVer/release/$ExeFile"
|
||||
$Destination = "./$ExeFile"
|
||||
|
||||
Write-Host "Downloading Visual Studio Build Tools from $Uri"
|
||||
$WebClient = New-Object System.Net.WebClient
|
||||
$WebClient.DownloadFile($Uri, $Destination)
|
||||
Write-Host "Finished downloading $ExeFile"
|
||||
|
||||
$Arguments = @(
|
||||
"--quiet", # Suppress installer UI
|
||||
"--wait", # Wait for installation to complete
|
||||
"--norestart", # Prevent automatic restart
|
||||
"--force", # Force installation even if components are already installed
|
||||
"--add Microsoft.VisualStudio.Workload.NativeDesktop", # Desktop development with C++
|
||||
"--add Microsoft.VisualStudio.Component.VC.Tools.x86.x64", # Core C++ compiler/tools for x86/x64
|
||||
"--add Microsoft.VisualStudio.Component.Windows11SDK.26100",# Windows 11 SDK (26100)
|
||||
"--add Microsoft.VisualStudio.Component.Windows10SDK.19041",# Windows 10 SDK (19041)
|
||||
"--add Microsoft.VisualStudio.Component.VC.Llvm.Clang", # LLVM Clang compiler
|
||||
"--add Microsoft.VisualStudio.Component.VC.Llvm.ClangToolset", # LLVM Clang integration toolset
|
||||
"--add Microsoft.VisualStudio.Component.Windows11SDK.22621",# Windows 11 SDK (22621)
|
||||
"--add Microsoft.VisualStudio.Component.VC.CMake.Project", # CMake project support
|
||||
"--add Microsoft.VisualStudio.ComponentGroup.VC.Tools.142.x86.x64", # VC++ 14.2 toolset
|
||||
"--add Microsoft.VisualStudio.ComponentGroup.NativeDesktop.Llvm.Clang" # LLVM Clang for native desktop
|
||||
)
|
||||
|
||||
Write-Host "Installing Visual Studio Build Tools"
|
||||
$InstallProcess = Start-Process -FilePath $Destination -NoNewWindow -PassThru -ArgumentList $Arguments
|
||||
|
||||
# Spinner while installing
|
||||
$Spinner = "|/-\"
|
||||
$i = 0
|
||||
while (-not $InstallProcess.HasExited) {
|
||||
Write-Host -NoNewline ("`rInstalling... " + $Spinner[$i % $Spinner.Length])
|
||||
Start-Sleep -Milliseconds 250
|
||||
$i++
|
||||
}
|
||||
|
||||
# Clear spinner line
|
||||
Write-Host "`rSetup completed! "
|
||||
|
||||
$ExitCode = $InstallProcess.ExitCode
|
||||
if ($ExitCode -ne 0) {
|
||||
Write-Host "Error installing Visual Studio Build Tools (Error: $ExitCode)"
|
||||
Exit $ExitCode
|
||||
}
|
||||
|
||||
Write-Host "Finished installing Visual Studio Build Tools"
|
||||
@@ -0,0 +1,152 @@
|
||||
# TODO: This document needs to be formatted,
|
||||
# some stuff needs cleaned up etc
|
||||
name: eden-build
|
||||
|
||||
#on:
|
||||
# push:
|
||||
# branches: [ "master" ]
|
||||
|
||||
# TODO: combine build.yml into trigger_release.yml
|
||||
jobs:
|
||||
source:
|
||||
if: ${{ !github.head_ref }}
|
||||
runs-on: source
|
||||
steps:
|
||||
- uses: actions/checkout@v4
|
||||
with:
|
||||
submodules: recursive
|
||||
|
||||
- name: Pack
|
||||
run: ./.ci/source.sh
|
||||
|
||||
- name: Upload
|
||||
uses: forgejo/upload-artifact@v4
|
||||
with:
|
||||
retention-days: 2
|
||||
name: source.zip
|
||||
path: artifacts/
|
||||
|
||||
windows:
|
||||
runs-on: windows
|
||||
strategy:
|
||||
matrix:
|
||||
target: ["msvc"] # TODO: Add msys2
|
||||
defaults:
|
||||
run:
|
||||
shell: ${{ (matrix.target == 'msys2' && 'msys2') || 'bash' }} {0}
|
||||
env:
|
||||
CCACHE_DIR: ${{ runner.workspace }}/.cache/.ccache
|
||||
CCACHE_COMPILERCHECK: content
|
||||
CCACHE_SLOPPINESS: time_macros
|
||||
OS: windows
|
||||
TARGET: ${{ matrix.target }}
|
||||
steps:
|
||||
- uses: actions/checkout@v4
|
||||
with:
|
||||
submodules: recursive
|
||||
fetch-depth: 0
|
||||
fetch-tags: true
|
||||
|
||||
- name: Set up vcpkg cache
|
||||
uses: actions/cache@v4
|
||||
with:
|
||||
path: |
|
||||
${{ github.workspace }}/build/vcpkg_installed
|
||||
${{ github.workspace }}/build/externals
|
||||
${{ github.workspace }}/.vcpkg
|
||||
key: ${{ runner.os }}-${{ matrix.target }}-vcpkg-${{ hashFiles('**/CMakeLists.txt', '**/vcpkg.json') }}-${{ github.run_id }}
|
||||
restore-keys: |
|
||||
${{ runner.os }}-${{ matrix.target }}-vcpkg-
|
||||
|
||||
- name: Set up MSVC
|
||||
uses: https://github.com/ilammy/msvc-dev-cmd@v1
|
||||
if: ${{ matrix.target == 'msvc' }}
|
||||
|
||||
- name: Cygwin with autoconf # NEEDED FOR LIBUSB
|
||||
shell: cmd
|
||||
run: ./.ci/windows/cygwin.bat
|
||||
|
||||
- name: Configure & Build
|
||||
shell: bash
|
||||
run: |
|
||||
./.ci/windows/qt-envvars.sh
|
||||
DEVEL=true WINDEPLOYQT="/c/Qt/6.9.0/msvc2022_64/bin/windeployqt6.exe" .ci/windows/build.sh -DCMAKE_PREFIX_PATH=C:/Qt/6.9.0/msvc2022_64/lib/cmake/Qt6
|
||||
|
||||
- name: Package artifacts
|
||||
shell: bash
|
||||
run: |
|
||||
./.ci/windows/qt-envvars.sh
|
||||
./.ci/windows/package.sh
|
||||
|
||||
- name: Upload Windows artifacts
|
||||
uses: forgejo/upload-artifact@v4
|
||||
with:
|
||||
retention-days: 2
|
||||
name: ${{ matrix.target }}.zip
|
||||
path: artifacts/*
|
||||
|
||||
linux:
|
||||
runs-on: linux
|
||||
env:
|
||||
CCACHE_DIR: /home/runner/.cache/ccache
|
||||
CCACHE_COMPILERCHECK: content
|
||||
CCACHE_SLOPPINESS: time_macros
|
||||
OS: linux
|
||||
TARGET: fresh
|
||||
steps:
|
||||
- uses: actions/checkout@v4
|
||||
with:
|
||||
submodules: recursive
|
||||
fetch-depth: 0
|
||||
fetch-tags: true
|
||||
|
||||
- name: Build
|
||||
run: TARGET=appimage DEVEL=true ./.ci/linux/build.sh
|
||||
|
||||
- name: Package AppImage
|
||||
run: DEVEL=true ./.ci/linux/package.sh &> /dev/null
|
||||
|
||||
- name: Upload Linux artifacts
|
||||
uses: forgejo/upload-artifact@v4
|
||||
with:
|
||||
retention-days: 3
|
||||
name: linux.zip
|
||||
path: ./*.AppImage
|
||||
|
||||
android:
|
||||
runs-on: android
|
||||
|
||||
env:
|
||||
OS: android
|
||||
TARGET: universal
|
||||
|
||||
steps:
|
||||
- uses: actions/checkout@v4
|
||||
with:
|
||||
submodules: recursive
|
||||
fetch-depth: 0
|
||||
fetch-tags: true
|
||||
|
||||
- name: Set tag name
|
||||
run: |
|
||||
if [[ "$GITHUB_REF_TYPE" == "tag" ]]; then
|
||||
echo "GIT_TAG_NAME=$GITHUB_REF_NAME" >> $GITHUB_ENV
|
||||
fi
|
||||
echo $GIT_TAG_NAME
|
||||
|
||||
- name: Build
|
||||
run: ANDROID_HOME=/home/runner/sdk ./.ci/android/build.sh
|
||||
env:
|
||||
ANDROID_KEYSTORE_B64: ${{ secrets.ANDROID_KEYSTORE_B64 }}
|
||||
ANDROID_KEY_ALIAS: ${{ secrets.ANDROID_KEY_ALIAS }}
|
||||
ANDROID_KEYSTORE_PASS: ${{ secrets.ANDROID_KEYSTORE_PASS }}
|
||||
|
||||
- name: Package Android artifacts
|
||||
run: ./.ci/android/package.sh
|
||||
|
||||
- name: Upload Android artifacts
|
||||
uses: forgejo/upload-artifact@v4
|
||||
with:
|
||||
retention-days: 2
|
||||
name: android.zip
|
||||
path: artifacts/*
|
||||
@@ -0,0 +1,203 @@
|
||||
name: Build Application and Make Release
|
||||
|
||||
#on:
|
||||
# push:
|
||||
# tags: [ "*" ]
|
||||
|
||||
permissions:
|
||||
contents: write
|
||||
|
||||
jobs:
|
||||
source:
|
||||
runs-on: source
|
||||
steps:
|
||||
- uses: actions/checkout@v4
|
||||
with:
|
||||
submodules: recursive
|
||||
- name: Pack
|
||||
run: ./.ci/source.sh
|
||||
- name: Upload
|
||||
uses: forgejo/upload-artifact@v4
|
||||
with:
|
||||
retention-days: 2
|
||||
name: source.zip
|
||||
path: artifacts/
|
||||
|
||||
windows:
|
||||
runs-on: windows
|
||||
strategy:
|
||||
matrix:
|
||||
target: ["msvc"] # TODO: Add msys2
|
||||
defaults:
|
||||
run:
|
||||
shell: ${{ (matrix.target == 'msys2' && 'msys2') || 'bash' }} {0}
|
||||
env:
|
||||
CCACHE_DIR: ${{ runner.workspace }}/.cache/.ccache
|
||||
CCACHE_COMPILERCHECK: content
|
||||
CCACHE_SLOPPINESS: time_macros
|
||||
OS: windows
|
||||
TARGET: ${{ matrix.target }}
|
||||
steps:
|
||||
- uses: actions/checkout@v4
|
||||
with:
|
||||
submodules: recursive
|
||||
fetch-depth: 0
|
||||
fetch-tags: true
|
||||
|
||||
- name: Set up vcpkg cache
|
||||
uses: actions/cache@v4
|
||||
with:
|
||||
path: |
|
||||
${{ github.workspace }}/build/vcpkg_installed
|
||||
${{ github.workspace }}/build/externals
|
||||
${{ github.workspace }}/.vcpkg
|
||||
key: ${{ runner.os }}-${{ matrix.target }}-vcpkg-${{ hashFiles('**/CMakeLists.txt', '**/vcpkg.json') }}-${{ github.run_id }}
|
||||
restore-keys: |
|
||||
${{ runner.os }}-${{ matrix.target }}-vcpkg-
|
||||
|
||||
- name: Set up MSVC
|
||||
uses: https://github.com/ilammy/msvc-dev-cmd@v1
|
||||
if: ${{ matrix.target == 'msvc' }}
|
||||
|
||||
- name: Cygwin with autoconf # NEEDED FOR LIBUSB
|
||||
shell: cmd
|
||||
run: ./.ci/windows/cygwin.bat
|
||||
|
||||
- name: Configure & Build
|
||||
shell: bash
|
||||
run: DEVEL=false ./.ci/windows/build.sh
|
||||
|
||||
- name: Package artifacts
|
||||
shell: bash
|
||||
run: |
|
||||
export PATH="${PATH}:/c/Qt/6.9.0/msvc2022_64/bin"
|
||||
./.ci/windows/package.sh
|
||||
|
||||
- name: Upload Windows artifacts
|
||||
uses: forgejo/upload-artifact@v4
|
||||
with:
|
||||
retention-days: 2
|
||||
name: ${{ matrix.target }}.zip
|
||||
path: artifacts/*
|
||||
|
||||
linux:
|
||||
runs-on: linux
|
||||
env:
|
||||
CCACHE_DIR: /home/runner/.cache/ccache
|
||||
CCACHE_COMPILERCHECK: content
|
||||
CCACHE_SLOPPINESS: time_macros
|
||||
OS: linux
|
||||
TARGET: fresh
|
||||
steps:
|
||||
- uses: actions/checkout@v4
|
||||
with:
|
||||
submodules: recursive
|
||||
fetch-depth: 0
|
||||
fetch-tags: true
|
||||
|
||||
- name: Build
|
||||
run: TARGET=appimage RELEASE=1 ./.ci/linux/build.sh v3 8
|
||||
|
||||
- name: Package AppImage
|
||||
run: ./.ci/linux/package.sh v3 &> /dev/null
|
||||
|
||||
- name: Upload Linux artifacts
|
||||
uses: forgejo/upload-artifact@v4
|
||||
with:
|
||||
retention-days: 2
|
||||
name: linux.zip
|
||||
path: ./*.AppImage*
|
||||
|
||||
android:
|
||||
runs-on: android
|
||||
|
||||
env:
|
||||
CCACHE_DIR: /home/runner/.cache/ccache
|
||||
CCACHE_COMPILERCHECK: content
|
||||
CCACHE_SLOPPINESS: time_macros
|
||||
OS: android
|
||||
TARGET: universal
|
||||
|
||||
steps:
|
||||
- uses: actions/checkout@v4
|
||||
with:
|
||||
submodules: recursive
|
||||
fetch-depth: 0
|
||||
fetch-tags: true
|
||||
|
||||
- name: Set tag name
|
||||
run: |
|
||||
if [[ "$GITHUB_REF_TYPE" == "tag" ]]; then
|
||||
echo "GIT_TAG_NAME=$GITHUB_REF_NAME" >> $GITHUB_ENV
|
||||
fi
|
||||
echo $GIT_TAG_NAME
|
||||
|
||||
- name: Build
|
||||
run: ANDROID_HOME=/home/runner/sdk ./.ci/android/build.sh
|
||||
env:
|
||||
ANDROID_KEYSTORE_B64: ${{ secrets.ANDROID_KEYSTORE_B64 }}
|
||||
ANDROID_KEY_ALIAS: ${{ secrets.ANDROID_KEY_ALIAS }}
|
||||
ANDROID_KEYSTORE_PASS: ${{ secrets.ANDROID_KEYSTORE_PASS }}
|
||||
|
||||
- name: Package Android artifacts
|
||||
run: ./.ci/android/package.sh
|
||||
|
||||
- name: Upload Android artifacts
|
||||
uses: forgejo/upload-artifact@v4
|
||||
with:
|
||||
retention-days: 2
|
||||
name: android.zip
|
||||
path: artifacts/*
|
||||
|
||||
create_release:
|
||||
needs: [linux, windows, android]
|
||||
runs-on: linux
|
||||
outputs:
|
||||
upload_url: ${{ steps.create_release.outputs.upload_url }}
|
||||
|
||||
steps:
|
||||
- name: Checkout
|
||||
uses: actions/checkout@v4
|
||||
with:
|
||||
fetch-depth: 0
|
||||
submodules: 'recursive'
|
||||
path: 'eden-source'
|
||||
|
||||
- name: Download artifacts
|
||||
uses: forgejo/download-artifact@v4
|
||||
with:
|
||||
path: artifacts
|
||||
|
||||
- name: Grab and store version
|
||||
run: |
|
||||
cd eden-source
|
||||
tag_name=$(git describe --tags --abbrev=0)
|
||||
echo "VERSION=$tag_name" >> $GITHUB_ENV
|
||||
echo $tag_name
|
||||
|
||||
- name: Package artifacts properly
|
||||
shell: bash
|
||||
run: |
|
||||
set -ex
|
||||
mv ${{ github.workspace }}/eden-source eden-${{ env.VERSION }}
|
||||
cd artifacts
|
||||
ls *.zip
|
||||
|
||||
mkdir -p dist
|
||||
|
||||
cp linux.zip/Eden-*.AppImage dist/Eden-Linux-${{ env.VERSION }}-amd64.AppImage
|
||||
cp linux.zip/Eden-*.AppImage.zsync dist/Eden-Linux-${{ env.VERSION }}-amd64.AppImage.zsync
|
||||
cp msvc.zip/eden-windows-msvc*.zip dist/Eden-Windows-MSVC-${{ env.VERSION }}-amd64.zip
|
||||
cp android.zip/eden-android*.apk dist/Eden-Android-${{ env.VERSION }}.apk
|
||||
cp android.zip/eden-android*.aab dist/Eden-Android-${{ env.VERSION }}.aab
|
||||
cp source.zip/eden-unified-source*.tar.xz dist/Eden-Source-${{ env.VERSION }}.tar.xz
|
||||
cp source.zip/eden-unified-source*.tar.xz.sha256sum dist/Eden-Source-${{ env.VERSION }}.tar.xz.sha256sum
|
||||
|
||||
- name: Create release
|
||||
id: create_release
|
||||
uses: actions/forgejo-release@v2.6.0
|
||||
with:
|
||||
direction: upload
|
||||
tag: ${{ env.VERSION }}
|
||||
title: Eden ${{ env.VERSION }}
|
||||
release-dir: artifacts/dist/
|
||||
@@ -1,49 +0,0 @@
|
||||
diff --git a/StandAlone/StandAlone.cpp b/StandAlone/StandAlone.cpp
|
||||
index be7f442..5fd0438 100644
|
||||
--- a/StandAlone/StandAlone.cpp
|
||||
+++ b/StandAlone/StandAlone.cpp
|
||||
@@ -1766,9 +1766,10 @@ int singleMain()
|
||||
glslang::FinalizeProcess();
|
||||
} else {
|
||||
ShInitialize();
|
||||
+#ifndef __HAIKU__
|
||||
ShInitialize(); // also test reference counting of users
|
||||
ShFinalize(); // also test reference counting of users
|
||||
-
|
||||
+#endif
|
||||
bool printShaderNames = workList.size() > 1;
|
||||
|
||||
if (Options & EOptionMultiThreaded) {
|
||||
@@ -1793,8 +1794,9 @@ int singleMain()
|
||||
PutsIfNonEmpty(WorkItems[w]->results.c_str());
|
||||
}
|
||||
}
|
||||
-
|
||||
+#ifndef __HAIKU__
|
||||
ShFinalize();
|
||||
+#endif
|
||||
}
|
||||
|
||||
if (CompileFailed.load())
|
||||
@@ -1809,8 +1811,10 @@ int C_DECL main(int argc, char* argv[])
|
||||
{
|
||||
ProcessArguments(WorkItems, argc, argv);
|
||||
|
||||
+#ifdef __HAIKU__
|
||||
+ return singleMain();
|
||||
+#else
|
||||
int ret = 0;
|
||||
-
|
||||
// Loop over the entire init/finalize cycle to watch memory changes
|
||||
const int iterations = 1;
|
||||
if (iterations > 1)
|
||||
@@ -1820,8 +1824,8 @@ int C_DECL main(int argc, char* argv[])
|
||||
if (iterations > 1)
|
||||
glslang::OS_DumpMemoryCounters();
|
||||
}
|
||||
-
|
||||
return ret;
|
||||
+#endif
|
||||
}
|
||||
|
||||
//
|
||||
@@ -1,52 +0,0 @@
|
||||
From e1a946ffb79022d38351a0623f819a5419965c3e Mon Sep 17 00:00:00 2001
|
||||
From: crueter <crueter@eden-emu.dev>
|
||||
Date: Fri, 24 Oct 2025 23:41:09 -0700
|
||||
Subject: [PATCH] [build] Fix MinGW missing GetAddrInfoExCancel definition
|
||||
|
||||
MinGW does not define GetAddrInfoExCancel in its wstcpi whatever header,
|
||||
so to get around this we can just load it with GetProcAddress et al.
|
||||
|
||||
Signed-off-by: crueter <crueter@eden-emu.dev>
|
||||
---
|
||||
httplib.h | 14 ++++++++++++--
|
||||
1 file changed, 12 insertions(+), 2 deletions(-)
|
||||
|
||||
diff --git a/httplib.h b/httplib.h
|
||||
index e15ba44..90a76dc 100644
|
||||
--- a/httplib.h
|
||||
+++ b/httplib.h
|
||||
@@ -203,11 +203,13 @@
|
||||
#error Sorry, Visual Studio versions prior to 2015 are not supported
|
||||
#endif
|
||||
|
||||
-#pragma comment(lib, "ws2_32.lib")
|
||||
-
|
||||
using ssize_t = __int64;
|
||||
#endif // _MSC_VER
|
||||
|
||||
+#if defined(_MSC_VER) || defined(__MINGW32__)
|
||||
+#pragma comment(lib, "ws2_32.lib")
|
||||
+#endif
|
||||
+
|
||||
#ifndef S_ISREG
|
||||
#define S_ISREG(m) (((m) & S_IFREG) == S_IFREG)
|
||||
#endif // S_ISREG
|
||||
@@ -3557,7 +3559,15 @@ inline int getaddrinfo_with_timeout(const char *node, const char *service,
|
||||
auto wait_result =
|
||||
::WaitForSingleObject(event, static_cast<DWORD>(timeout_sec * 1000));
|
||||
if (wait_result == WAIT_TIMEOUT) {
|
||||
+#ifdef __MINGW32__
|
||||
+ typedef INT (WSAAPI *PFN_GETADDRINFOEXCANCEL)(HANDLE *CancelHandle);
|
||||
+ auto wsdll = LoadLibraryW((wchar_t*) "ws2_32.lib");
|
||||
+ PFN_GETADDRINFOEXCANCEL GetAddrInfoExCancel = (PFN_GETADDRINFOEXCANCEL) GetProcAddress(wsdll, "GetAddrInfoExCancel");
|
||||
+
|
||||
+ if (cancel_handle) { GetAddrInfoExCancel(&cancel_handle); }
|
||||
+#else
|
||||
if (cancel_handle) { ::GetAddrInfoExCancel(&cancel_handle); }
|
||||
+#endif
|
||||
::CloseHandle(event);
|
||||
return EAI_AGAIN;
|
||||
}
|
||||
--
|
||||
2.51.0
|
||||
|
||||
@@ -1,129 +0,0 @@
|
||||
From d765ebed3598ddfd7167fc546474626ac5ef9498 Mon Sep 17 00:00:00 2001
|
||||
From: Anthony Roberts <anthony.roberts@linaro.org>
|
||||
Date: Fri, 2 Aug 2024 16:55:57 +0100
|
||||
Subject: [PATCH] Add support for clang-cl on Windows (#633)
|
||||
|
||||
This commit adds support for clang-cl (clang, pretending to be MSVC) to
|
||||
SSE2NEON on Windows ARM64 platforms. This change is part of some Blender
|
||||
work, as using clang-cl provides a ~20-40% speedup compared to MSVC.
|
||||
|
||||
Compiled with the following command line (via a VS2022 Native ARM64 Tools
|
||||
CMD window):
|
||||
msbuild sse2neon.vcxproj /p:Configuration=Release /p:CLToolExe=clang-cl.exe
|
||||
/p:CLToolPath="C:\Program Files\LLVM\bin\"
|
||||
|
||||
Known failures in test suite:
|
||||
Test mm_cvttpd_epi32
|
||||
Test rdtsc
|
||||
|
||||
Co-authored-by: Anthony Roberts <anthony.roberts@linaro.org>
|
||||
---
|
||||
sse2neon.h | 22 +++++++++++-----------
|
||||
1 file changed, 11 insertions(+), 11 deletions(-)
|
||||
|
||||
diff --git a/sse2neon.h b/sse2neon.h
|
||||
index 56254b5..76cf8e3 100644
|
||||
--- a/sse2neon.h
|
||||
+++ b/sse2neon.h
|
||||
@@ -180,7 +180,7 @@
|
||||
}
|
||||
|
||||
/* Compiler barrier */
|
||||
-#if defined(_MSC_VER)
|
||||
+#if defined(_MSC_VER) && !defined(__clang__)
|
||||
#define SSE2NEON_BARRIER() _ReadWriteBarrier()
|
||||
#else
|
||||
#define SSE2NEON_BARRIER() \
|
||||
@@ -856,7 +856,7 @@ FORCE_INLINE uint64x2_t _sse2neon_vmull_p64(uint64x1_t _a, uint64x1_t _b)
|
||||
{
|
||||
poly64_t a = vget_lane_p64(vreinterpret_p64_u64(_a), 0);
|
||||
poly64_t b = vget_lane_p64(vreinterpret_p64_u64(_b), 0);
|
||||
-#if defined(_MSC_VER)
|
||||
+#if defined(_MSC_VER) && !defined(__clang__)
|
||||
__n64 a1 = {a}, b1 = {b};
|
||||
return vreinterpretq_u64_p128(vmull_p64(a1, b1));
|
||||
#else
|
||||
@@ -1767,7 +1767,7 @@ FORCE_INLINE void _mm_free(void *addr)
|
||||
FORCE_INLINE uint64_t _sse2neon_get_fpcr(void)
|
||||
{
|
||||
uint64_t value;
|
||||
-#if defined(_MSC_VER)
|
||||
+#if defined(_MSC_VER) && !defined(__clang__)
|
||||
value = _ReadStatusReg(ARM64_FPCR);
|
||||
#else
|
||||
__asm__ __volatile__("mrs %0, FPCR" : "=r"(value)); /* read */
|
||||
@@ -1777,7 +1777,7 @@ FORCE_INLINE uint64_t _sse2neon_get_fpcr(void)
|
||||
|
||||
FORCE_INLINE void _sse2neon_set_fpcr(uint64_t value)
|
||||
{
|
||||
-#if defined(_MSC_VER)
|
||||
+#if defined(_MSC_VER) && !defined(__clang__)
|
||||
_WriteStatusReg(ARM64_FPCR, value);
|
||||
#else
|
||||
__asm__ __volatile__("msr FPCR, %0" ::"r"(value)); /* write */
|
||||
@@ -2246,7 +2246,7 @@ FORCE_INLINE __m128 _mm_or_ps(__m128 a, __m128 b)
|
||||
FORCE_INLINE void _mm_prefetch(char const *p, int i)
|
||||
{
|
||||
(void) i;
|
||||
-#if defined(_MSC_VER)
|
||||
+#if defined(_MSC_VER) && !defined(__clang__)
|
||||
switch (i) {
|
||||
case _MM_HINT_NTA:
|
||||
__prefetch2(p, 1);
|
||||
@@ -4817,7 +4817,7 @@ FORCE_INLINE __m128i _mm_packus_epi16(const __m128i a, const __m128i b)
|
||||
// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_pause
|
||||
FORCE_INLINE void _mm_pause(void)
|
||||
{
|
||||
-#if defined(_MSC_VER)
|
||||
+#if defined(_MSC_VER) && !defined(__clang__)
|
||||
__isb(_ARM64_BARRIER_SY);
|
||||
#else
|
||||
__asm__ __volatile__("isb\n");
|
||||
@@ -5713,7 +5713,7 @@ FORCE_INLINE __m128d _mm_undefined_pd(void)
|
||||
#pragma GCC diagnostic ignored "-Wuninitialized"
|
||||
#endif
|
||||
__m128d a;
|
||||
-#if defined(_MSC_VER)
|
||||
+#if defined(_MSC_VER) && !defined(__clang__)
|
||||
a = _mm_setzero_pd();
|
||||
#endif
|
||||
return a;
|
||||
@@ -8127,7 +8127,7 @@ FORCE_INLINE int _sse2neon_sido_negative(int res, int lb, int imm8, int bound)
|
||||
|
||||
FORCE_INLINE int _sse2neon_clz(unsigned int x)
|
||||
{
|
||||
-#ifdef _MSC_VER
|
||||
+#if defined(_MSC_VER) && !defined(__clang__)
|
||||
unsigned long cnt = 0;
|
||||
if (_BitScanReverse(&cnt, x))
|
||||
return 31 - cnt;
|
||||
@@ -8139,7 +8139,7 @@ FORCE_INLINE int _sse2neon_clz(unsigned int x)
|
||||
|
||||
FORCE_INLINE int _sse2neon_ctz(unsigned int x)
|
||||
{
|
||||
-#ifdef _MSC_VER
|
||||
+#if defined(_MSC_VER) && !defined(__clang__)
|
||||
unsigned long cnt = 0;
|
||||
if (_BitScanForward(&cnt, x))
|
||||
return cnt;
|
||||
@@ -9055,7 +9055,7 @@ FORCE_INLINE __m128i _mm_aeskeygenassist_si128(__m128i a, const int rcon)
|
||||
// AESE does ShiftRows and SubBytes on A
|
||||
uint8x16_t u8 = vaeseq_u8(vreinterpretq_u8_m128i(a), vdupq_n_u8(0));
|
||||
|
||||
-#ifndef _MSC_VER
|
||||
+#if !defined(_MSC_VER) || defined(__clang__)
|
||||
uint8x16_t dest = {
|
||||
// Undo ShiftRows step from AESE and extract X1 and X3
|
||||
u8[0x4], u8[0x1], u8[0xE], u8[0xB], // SubBytes(X1)
|
||||
@@ -9242,7 +9242,7 @@ FORCE_INLINE uint64_t _rdtsc(void)
|
||||
* bits wide and it is attributed with the flag 'cap_user_time_short'
|
||||
* is true.
|
||||
*/
|
||||
-#if defined(_MSC_VER)
|
||||
+#if defined(_MSC_VER) && !defined(__clang__)
|
||||
val = _ReadStatusReg(ARM64_SYSREG(3, 3, 14, 0, 2));
|
||||
#else
|
||||
__asm__ __volatile__("mrs %0, cntvct_el0" : "=r"(val));
|
||||
--
|
||||
2.48.1
|
||||
|
||||
+49
-52
@@ -13,8 +13,6 @@ elseif (${CMAKE_SYSTEM_NAME} STREQUAL "OpenBSD")
|
||||
set(PLATFORM_OPENBSD ON)
|
||||
elseif (${CMAKE_SYSTEM_NAME} STREQUAL "NetBSD")
|
||||
set(PLATFORM_NETBSD ON)
|
||||
elseif (${CMAKE_SYSTEM_NAME} STREQUAL "Haiku")
|
||||
set(PLATFORM_HAIKU ON)
|
||||
elseif (${CMAKE_SYSTEM_NAME} STREQUAL "Linux")
|
||||
set(PLATFORM_LINUX ON)
|
||||
endif()
|
||||
@@ -177,14 +175,13 @@ endif()
|
||||
# qt stuff
|
||||
option(ENABLE_QT "Enable the Qt frontend" ON)
|
||||
option(ENABLE_QT_TRANSLATION "Enable translations for the Qt frontend" OFF)
|
||||
option(ENABLE_UPDATE_CHECKER "Enable update checker (for Qt and Android)" OFF)
|
||||
option(ENABLE_QT_UPDATE_CHECKER "Enable update checker for the Qt frontend" OFF)
|
||||
cmake_dependent_option(YUZU_USE_BUNDLED_QT "Download bundled Qt binaries" "${MSVC}" "ENABLE_QT" OFF)
|
||||
option(YUZU_USE_QT_MULTIMEDIA "Use QtMultimedia for Camera" OFF)
|
||||
option(YUZU_USE_QT_WEB_ENGINE "Use QtWebEngine for web applet implementation" OFF)
|
||||
set(YUZU_QT_MIRROR "" CACHE STRING "What mirror to use for downloading the bundled Qt libraries")
|
||||
|
||||
# FreeBSD doesn't have a cubeb port yet, vendoring it isn't required (it's optional anyways)
|
||||
cmake_dependent_option(ENABLE_CUBEB "Enables the cubeb audio backend" ON "NOT PLATFORM_FREEBSD" OFF)
|
||||
option(ENABLE_CUBEB "Enables the cubeb audio backend" ON)
|
||||
|
||||
set(EXT_DEFAULT OFF)
|
||||
if (MSVC OR ANDROID)
|
||||
@@ -199,8 +196,7 @@ cmake_dependent_option(YUZU_USE_EXTERNAL_FFMPEG "Build FFmpeg from source" "${PL
|
||||
# sirit
|
||||
option(YUZU_USE_BUNDLED_SIRIT "Download bundled sirit" ${EXT_DEFAULT})
|
||||
|
||||
# Re-allow on FreeBSD once its on mainline ports
|
||||
cmake_dependent_option(ENABLE_LIBUSB "Enable the use of LibUSB" ON "WIN32 OR PLATFORM_LINUX OR APPLE" OFF)
|
||||
cmake_dependent_option(ENABLE_LIBUSB "Enable the use of LibUSB" ON "NOT ANDROID" OFF)
|
||||
|
||||
cmake_dependent_option(ENABLE_OPENGL "Enable OpenGL" ON "NOT WIN32 OR NOT ARCHITECTURE_arm64" OFF)
|
||||
mark_as_advanced(FORCE ENABLE_OPENGL)
|
||||
@@ -212,6 +208,11 @@ cmake_dependent_option(USE_DISCORD_PRESENCE "Enables Discord Rich Presence" OFF
|
||||
|
||||
option(YUZU_TESTS "Compile tests" "${BUILD_TESTING}")
|
||||
|
||||
option(YUZU_USE_PRECOMPILED_HEADERS "Use precompiled headers" OFF)
|
||||
if (YUZU_USE_PRECOMPILED_HEADERS)
|
||||
message(STATUS "Using Precompiled Headers.")
|
||||
set(CMAKE_PCH_INSTANTIATE_TEMPLATES ON)
|
||||
endif()
|
||||
option(YUZU_ENABLE_LTO "Enable link-time optimization" OFF)
|
||||
if(YUZU_ENABLE_LTO)
|
||||
include(CheckIPOSupported)
|
||||
@@ -230,6 +231,9 @@ if(USE_CCACHE)
|
||||
message(STATUS "Found ccache at: ${CCACHE_BINARY}")
|
||||
set(CMAKE_C_COMPILER_LAUNCHER ${CCACHE_BINARY})
|
||||
set(CMAKE_CXX_COMPILER_LAUNCHER ${CCACHE_BINARY})
|
||||
if (YUZU_USE_PRECOMPILED_HEADERS)
|
||||
message(FATAL_ERROR "Precompiled headers are incompatible with ccache. Re-run CMake with -DYUZU_USE_PRECOMPILED_HEADERS=OFF.")
|
||||
endif()
|
||||
else()
|
||||
message(WARNING "USE_CCACHE enabled, but no executable found at: ${CCACHE_PATH}")
|
||||
endif()
|
||||
@@ -427,9 +431,6 @@ include(CPMUtil)
|
||||
if (ENABLE_OPENSSL)
|
||||
if (YUZU_USE_BUNDLED_OPENSSL)
|
||||
AddJsonPackage(openssl)
|
||||
if (OpenSSL_ADDED)
|
||||
add_compile_definitions(YUZU_BUNDLED_OPENSSL)
|
||||
endif()
|
||||
endif()
|
||||
|
||||
find_package(OpenSSL 1.1.1 REQUIRED)
|
||||
@@ -531,7 +532,11 @@ else()
|
||||
find_package(zstd 1.5 REQUIRED MODULE)
|
||||
|
||||
# wow
|
||||
find_package(Boost 1.57.0 CONFIG REQUIRED OPTIONAL_COMPONENTS headers context system fiber)
|
||||
if (PLATFORM_LINUX)
|
||||
find_package(Boost 1.57.0 CONFIG REQUIRED headers context system fiber)
|
||||
else()
|
||||
find_package(Boost 1.57.0 CONFIG REQUIRED)
|
||||
endif()
|
||||
|
||||
if (CMAKE_SYSTEM_NAME STREQUAL "Linux" OR ANDROID)
|
||||
find_package(gamemode 1.7 MODULE)
|
||||
@@ -571,35 +576,6 @@ function(create_target_directory_groups target_name)
|
||||
endforeach()
|
||||
endfunction()
|
||||
|
||||
# Platform-specific library requirements
|
||||
# Put these BEFORE EXTERNALS or Boost WILL die
|
||||
# =============================================
|
||||
|
||||
if (APPLE)
|
||||
# Umbrella framework for everything GUI-related
|
||||
find_library(COCOA_LIBRARY Cocoa)
|
||||
set(PLATFORM_LIBRARIES ${COCOA_LIBRARY} ${IOKIT_LIBRARY} ${COREVIDEO_LIBRARY})
|
||||
find_library(ICONV_LIBRARY iconv REQUIRED)
|
||||
list(APPEND PLATFORM_LIBRARIES ${ICONV_LIBRARY})
|
||||
elseif (WIN32)
|
||||
# Target Windows 10
|
||||
add_compile_definitions(_WIN32_WINNT=0x0A00 WINVER=0x0A00)
|
||||
set(PLATFORM_LIBRARIES winmm ws2_32 iphlpapi)
|
||||
if (MINGW)
|
||||
# PSAPI is the Process Status API
|
||||
set(PLATFORM_LIBRARIES ${PLATFORM_LIBRARIES} psapi imm32 version)
|
||||
endif()
|
||||
elseif (PLATFORM_HAIKU)
|
||||
# Haiku is so special :)
|
||||
# Some fucking genius decided to name an entire module "network" in 2019
|
||||
# this caused great disaster amongst the Haiku community who had came first with
|
||||
# their "libnetwork.so"; since CMake doesn't do magic, we have to use an ABSOLUTE PATH
|
||||
# to the library itself, otherwise it will think we are linking to... our network thing
|
||||
set(PLATFORM_LIBRARIES bsd /boot/system/lib/libnetwork.so)
|
||||
elseif (CMAKE_SYSTEM_NAME MATCHES "^(Linux|kFreeBSD|GNU|SunOS)$")
|
||||
set(PLATFORM_LIBRARIES rt)
|
||||
endif()
|
||||
|
||||
add_subdirectory(externals)
|
||||
|
||||
# pass targets from externals
|
||||
@@ -611,9 +587,6 @@ find_package(VulkanUtilityLibraries)
|
||||
find_package(SimpleIni)
|
||||
find_package(SPIRV-Tools)
|
||||
find_package(sirit)
|
||||
if (ARCHITECTURE_arm64)
|
||||
find_package(sse2neon)
|
||||
endif()
|
||||
|
||||
if (ARCHITECTURE_x86 OR ARCHITECTURE_x86_64)
|
||||
find_package(xbyak)
|
||||
@@ -624,7 +597,7 @@ if (ENABLE_WEB_SERVICE OR ENABLE_QT_UPDATE_CHECKER)
|
||||
# find_package(httplib CONFIG)
|
||||
endif()
|
||||
|
||||
if (ENABLE_WEB_SERVICE OR ENABLE_UPDATE_CHECKER)
|
||||
if (ENABLE_WEB_SERVICE)
|
||||
find_package(cpp-jwt)
|
||||
endif()
|
||||
|
||||
@@ -711,17 +684,12 @@ function(set_yuzu_qt_components)
|
||||
if (ENABLE_QT_TRANSLATION)
|
||||
list(APPEND YUZU_QT_COMPONENTS2 LinguistTools)
|
||||
endif()
|
||||
if (USE_DISCORD_PRESENCE)
|
||||
list(APPEND YUZU_QT_COMPONENTS2 Network)
|
||||
endif()
|
||||
set(YUZU_QT_COMPONENTS ${YUZU_QT_COMPONENTS2} PARENT_SCOPE)
|
||||
endfunction(set_yuzu_qt_components)
|
||||
|
||||
if(ENABLE_QT)
|
||||
set_yuzu_qt_components()
|
||||
find_package(Qt6 REQUIRED COMPONENTS ${YUZU_QT_COMPONENTS})
|
||||
set(QT_MAJOR_VERSION 6)
|
||||
# Qt6 sets cxx_std_17 and we need to undo that
|
||||
set_target_properties(Qt6::Platform PROPERTIES INTERFACE_COMPILE_FEATURES "")
|
||||
endif()
|
||||
|
||||
if (UNIX AND NOT APPLE AND NOT ANDROID)
|
||||
find_package(PkgConfig REQUIRED)
|
||||
pkg_check_modules(LIBVA libva)
|
||||
@@ -737,6 +705,14 @@ if (NOT (YUZU_USE_BUNDLED_FFMPEG OR YUZU_USE_EXTERNAL_FFMPEG))
|
||||
set_property(GLOBAL APPEND PROPERTY CPM_PACKAGE_URLS "https://github.com/FFmpeg/FFmpeg")
|
||||
endif()
|
||||
|
||||
if(ENABLE_QT)
|
||||
set_yuzu_qt_components()
|
||||
find_package(Qt6 REQUIRED COMPONENTS ${YUZU_QT_COMPONENTS})
|
||||
set(QT_MAJOR_VERSION 6)
|
||||
# Qt6 sets cxx_std_17 and we need to undo that
|
||||
set_target_properties(Qt6::Platform PROPERTIES INTERFACE_COMPILE_FEATURES "")
|
||||
endif()
|
||||
|
||||
if (WIN32 AND YUZU_CRASH_DUMPS)
|
||||
set(BREAKPAD_VER "breakpad-c89f9dd")
|
||||
download_bundled_external("breakpad/" ${BREAKPAD_VER} "breakpad-win" BREAKPAD_PREFIX "c89f9dd")
|
||||
@@ -753,6 +729,27 @@ endif()
|
||||
set(THREADS_PREFER_PTHREAD_FLAG ON)
|
||||
find_package(Threads REQUIRED)
|
||||
|
||||
# Platform-specific library requirements
|
||||
# ======================================
|
||||
|
||||
if (APPLE)
|
||||
# Umbrella framework for everything GUI-related
|
||||
find_library(COCOA_LIBRARY Cocoa)
|
||||
set(PLATFORM_LIBRARIES ${COCOA_LIBRARY} ${IOKIT_LIBRARY} ${COREVIDEO_LIBRARY})
|
||||
find_library(ICONV_LIBRARY iconv REQUIRED)
|
||||
list(APPEND PLATFORM_LIBRARIES ${ICONV_LIBRARY})
|
||||
elseif (WIN32)
|
||||
# Target Windows 10
|
||||
add_compile_definitions(_WIN32_WINNT=0x0A00 WINVER=0x0A00)
|
||||
set(PLATFORM_LIBRARIES winmm ws2_32 iphlpapi)
|
||||
if (MINGW)
|
||||
# PSAPI is the Process Status API
|
||||
set(PLATFORM_LIBRARIES ${PLATFORM_LIBRARIES} psapi imm32 version)
|
||||
endif()
|
||||
elseif (CMAKE_SYSTEM_NAME MATCHES "^(Linux|kFreeBSD|GNU|SunOS)$")
|
||||
set(PLATFORM_LIBRARIES rt)
|
||||
endif()
|
||||
|
||||
# Setup a custom clang-format target (if clang-format can be found) that will run
|
||||
# against all the src files. This should be used before making a pull request.
|
||||
# =======================================================================
|
||||
|
||||
@@ -1,8 +1,3 @@
|
||||
# SPDX-FileCopyrightText: Copyright 2025 crueter
|
||||
# SPDX-License-Identifier: GPL-3.0-or-later
|
||||
|
||||
# This is a slightly modified version of CPM.cmake
|
||||
|
||||
# CPM.cmake - CMake's missing package manager
|
||||
# ===========================================
|
||||
# See https://github.com/cpm-cmake/CPM.cmake for usage and update instructions.
|
||||
|
||||
@@ -325,7 +325,7 @@ function(AddPackage)
|
||||
${pkg_git_url}/archive/refs/tags/${PKG_ARGS_TAG}.tar.gz)
|
||||
endif()
|
||||
elseif (DEFINED PKG_ARGS_SHA)
|
||||
set(pkg_url "${pkg_git_url}/archive/${PKG_ARGS_SHA}.tar.gz")
|
||||
set(pkg_url "${pkg_git_url}/archive/${PKG_ARGS_SHA}.zip")
|
||||
else()
|
||||
if (DEFINED PKG_ARGS_BRANCH)
|
||||
set(PKG_BRANCH ${PKG_ARGS_BRANCH})
|
||||
@@ -335,7 +335,7 @@ function(AddPackage)
|
||||
set(PKG_BRANCH master)
|
||||
endif()
|
||||
|
||||
set(pkg_url ${pkg_git_url}/archive/refs/heads/${PKG_BRANCH}.tar.gz)
|
||||
set(pkg_url ${pkg_git_url}/archive/refs/heads/${PKG_BRANCH}.zip)
|
||||
endif()
|
||||
else()
|
||||
cpm_utils_message(FATAL_ERROR ${PKG_ARGS_NAME} "No URL or repository defined")
|
||||
|
||||
@@ -0,0 +1,15 @@
|
||||
# SPDX-FileCopyrightText: 2022 yuzu Emulator Project
|
||||
# SPDX-License-Identifier: GPL-3.0-or-later
|
||||
|
||||
# buildcache wrapper
|
||||
OPTION(USE_CCACHE "Use buildcache for compilation" OFF)
|
||||
IF(USE_CCACHE)
|
||||
FIND_PROGRAM(CCACHE buildcache)
|
||||
IF (CCACHE)
|
||||
MESSAGE(STATUS "Using buildcache found in PATH")
|
||||
SET_PROPERTY(GLOBAL PROPERTY RULE_LAUNCH_COMPILE ${CCACHE})
|
||||
SET_PROPERTY(GLOBAL PROPERTY RULE_LAUNCH_LINK ${CCACHE})
|
||||
ELSE(CCACHE)
|
||||
MESSAGE(WARNING "USE_CCACHE enabled, but no buildcache executable found")
|
||||
ENDIF(CCACHE)
|
||||
ENDIF(USE_CCACHE)
|
||||
+4
-4
@@ -36,7 +36,7 @@
|
||||
"name": "lz4",
|
||||
"repo": "lz4/lz4",
|
||||
"sha": "ebb370ca83",
|
||||
"hash": "35c21a5d9cfb5bbf314a5321d02b36819491d2ee3cf8007030ca09d13ca4dae672247b7aeab553e973093604fc48221cb03dc92197c6efe8fc3746891363fdab",
|
||||
"hash": "43600e87b35256005c0f2498fa56a77de6783937ba4cfce38c099f27c03188d097863e8a50c5779ca0a7c63c29c4f7ed0ae526ec798c1fd2e3736861b62e0a37",
|
||||
"source_subdir": "build/cmake"
|
||||
},
|
||||
"nlohmann": {
|
||||
@@ -62,7 +62,7 @@
|
||||
"zstd": {
|
||||
"repo": "facebook/zstd",
|
||||
"sha": "b8d6101fba",
|
||||
"hash": "cc5ad4b119a9c2ea57f0b71eeff01113bb506e0d17000159c5409cb8236d22e38c52d5e9e97e7947a4bf1b2dfc44b6c503ab2d9aedbd59458435c6a2849cb029",
|
||||
"hash": "a6c8e5272214fd3e65e03ae4fc375f452bd2f646623886664ee23e239e35751cfc842db4d34a84a8039d89fc8f76556121f2a4ae350d017bdff5e22150f9c3de",
|
||||
"version": "1.5",
|
||||
"source_subdir": "build/cmake",
|
||||
"find_args": "MODULE",
|
||||
@@ -74,7 +74,7 @@
|
||||
"package": "Opus",
|
||||
"repo": "crueter/opus",
|
||||
"sha": "ab19c44fad",
|
||||
"hash": "d632e8f83c5d3245db404bcb637113f9860bf16331498ba2c8e77979d1febee6b52d8b1da448e7d54eeac373e912cd55e3e300fc6c242244923323280dc43fbe",
|
||||
"hash": "79d0d015b19e74ce6076197fc32b86fe91d724a0b5a79e86adfc4bdcb946ece384e252adbbf742b74d03040913b70bb0e9556eafa59ef20e42d2f3f4d6f2859a",
|
||||
"version": "1.3",
|
||||
"find_args": "MODULE",
|
||||
"options": [
|
||||
@@ -84,7 +84,7 @@
|
||||
"boost_headers": {
|
||||
"repo": "boostorg/headers",
|
||||
"sha": "95930ca8f5",
|
||||
"hash": "8a07d7a6f0065587d3005a83481a794704ae22e773b9f336fbd89ed230aaa7b4c86c03edcbae30bba8b3e20839c3131eaa2dceac037ef811533ef4eadc53b15b",
|
||||
"hash": "d1dece16f3b209109de02123c537bfe1adf07a62b16c166367e7e5d62e0f7c323bf804c89b3192dd6871bc58a9d879d25a1cc3f7b9da0e497cf266f165816e2a",
|
||||
"bundled": true
|
||||
},
|
||||
"llvm-mingw": {
|
||||
|
||||
-354
@@ -1,354 +0,0 @@
|
||||
[
|
||||
{
|
||||
"compatibility": 0,
|
||||
"directory": "the-legend-of-zelda-breath-of-the-wild",
|
||||
"releases": [
|
||||
{"id": "01007EF00011E000"}
|
||||
],
|
||||
"title": "The Legend of Zelda: Breath of the Wild"
|
||||
},
|
||||
{
|
||||
"compatibility": 1,
|
||||
"directory": "super-mario-odyssey",
|
||||
"releases": [
|
||||
{"id": "0100000000010000"}
|
||||
],
|
||||
"title": "Super Mario Odyssey"
|
||||
},
|
||||
{
|
||||
"compatibility": 0,
|
||||
"directory": "animal-crossing-new-horizons",
|
||||
"releases": [
|
||||
{"id": "01006F8002326000"}
|
||||
],
|
||||
"title": "Animal Crossing: New Horizons"
|
||||
},
|
||||
{
|
||||
"compatibility": 1,
|
||||
"directory": "pokemon-legends-z-a",
|
||||
"releases": [
|
||||
{"id": "0100F43008C44000"}
|
||||
],
|
||||
"title": "Pokémon Legends: Z-A"
|
||||
},
|
||||
{
|
||||
"compatibility": 1,
|
||||
"directory": "the-legend-of-zelda-tears-of-the-kingdom",
|
||||
"releases": [
|
||||
{"id": "0100F2C0115B6000"}
|
||||
],
|
||||
"title": "The Legend of Zelda: Tears of the Kingdom"
|
||||
},
|
||||
{
|
||||
"compatibility": 0,
|
||||
"directory": "super-mario-galaxy",
|
||||
"releases": [
|
||||
{"id": "010099C022B96000"}
|
||||
],
|
||||
"title": "Super Mario Galaxy"
|
||||
},
|
||||
{
|
||||
"compatibility": 3,
|
||||
"directory": "star-wars-republic-commando",
|
||||
"releases": [
|
||||
{"id": "0100FA10115F8000"}
|
||||
],
|
||||
"title": "Star Wars: Republic Commando"
|
||||
},
|
||||
{
|
||||
"compatibility": 0,
|
||||
"directory": "doki-doki-literature-club-plus",
|
||||
"releases": [
|
||||
{"id": "010086901543E000"}
|
||||
],
|
||||
"title": "Doki Doki Literature Club Plus"
|
||||
},
|
||||
{
|
||||
"compatibility": 1,
|
||||
"directory": "pokemon-scarlet",
|
||||
"releases": [
|
||||
{"id": "0100A3D008C5C000"}
|
||||
],
|
||||
"title": "Pokémon Scarlet"
|
||||
},
|
||||
{
|
||||
"compatibility": 1,
|
||||
"directory": "pokemon-violet",
|
||||
"releases": [
|
||||
{"id": "01008F6008C5E000"}
|
||||
],
|
||||
"title": "Pokémon Violet"
|
||||
},
|
||||
{
|
||||
"compatibility": 2,
|
||||
"directory": "pokemon-legends-arceus",
|
||||
"releases": [
|
||||
{"id": "01001E300D162000"}
|
||||
],
|
||||
"title": "Pokémon Legends: Arceus"
|
||||
},
|
||||
{
|
||||
"compatibility": 0,
|
||||
"directory": "splatoon-2",
|
||||
"releases": [
|
||||
{"id": "01003BC0000A0000"}
|
||||
],
|
||||
"title": "Splatoon 2"
|
||||
},
|
||||
{
|
||||
"compatibility": 1,
|
||||
"directory": "super-smash-bros-ultimate",
|
||||
"releases": [
|
||||
{"id": "01006A800016E000"}
|
||||
],
|
||||
"title": "Super Smash Bros. Ultimate"
|
||||
},
|
||||
{
|
||||
"compatibility": 0,
|
||||
"directory": "mario-kart-8-deluxe",
|
||||
"releases": [
|
||||
{"id": "0100152000022000"}
|
||||
],
|
||||
"title": "Mario Kart 8 Deluxe"
|
||||
},
|
||||
{
|
||||
"compatibility": 0,
|
||||
"directory": "splatoon-3",
|
||||
"releases": [
|
||||
{"id": "0100C2500FC20000"}
|
||||
],
|
||||
"title": "Splatoon 3"
|
||||
},
|
||||
{
|
||||
"compatibility": 0,
|
||||
"directory": "new-super-mario-bros-u-deluxe",
|
||||
"releases": [
|
||||
{"id": "0100EA80032EA000"}
|
||||
],
|
||||
"title": "New Super Mario Bros. U Deluxe"
|
||||
},
|
||||
{
|
||||
"compatibility": 0,
|
||||
"directory": "hyrule-warriors-age-of-calamity",
|
||||
"releases": [
|
||||
{"id": "01002B00111A2000"}
|
||||
],
|
||||
"title": "Hyrule Warriors: Age of Calamity"
|
||||
},
|
||||
{
|
||||
"compatibility": 2,
|
||||
"directory": "luigis-mansion-3",
|
||||
"releases": [
|
||||
{"id": "0100DCA0064A6000"}
|
||||
],
|
||||
"title": "Luigi's Mansion 3"
|
||||
},
|
||||
{
|
||||
"compatibility": 2,
|
||||
"directory": "pokemon-brilliant-diamond",
|
||||
"releases": [
|
||||
{"id": "0100000011D90000"}
|
||||
],
|
||||
"title": "Pokémon Brilliant Diamond"
|
||||
},
|
||||
{
|
||||
"compatibility": 2,
|
||||
"directory": "pokemon-shining-pearl",
|
||||
"releases": [
|
||||
{"id": "010018E011D92000"}
|
||||
],
|
||||
"title": "Pokémon Shining Pearl"
|
||||
},
|
||||
{
|
||||
"compatibility": 1,
|
||||
"directory": "super-mario-3d-world-bowsers-fury",
|
||||
"releases": [
|
||||
{"id": "010028600EBDA000"}
|
||||
],
|
||||
"title": "Super Mario 3D World + Bowser's Fury"
|
||||
},
|
||||
{
|
||||
"compatibility": 0,
|
||||
"directory": "the-legend-of-zelda-links-awakening",
|
||||
"releases": [
|
||||
{"id": "01006BB00C6F0000"}
|
||||
],
|
||||
"title": "The Legend of Zelda: Link's Awakening"
|
||||
},
|
||||
{
|
||||
"compatibility": 1,
|
||||
"directory": "fire-emblem-three-houses",
|
||||
"releases": [
|
||||
{"id": "010055D009F78000"}
|
||||
],
|
||||
"title": "Fire Emblem: Three Houses"
|
||||
},
|
||||
{
|
||||
"compatibility": 2,
|
||||
"directory": "metroid-dread",
|
||||
"releases": [
|
||||
{"id": "010093801237C000"}
|
||||
],
|
||||
"title": "Metroid Dread"
|
||||
},
|
||||
{
|
||||
"compatibility": 0,
|
||||
"directory": "paper-mario-the-origami-king",
|
||||
"releases": [
|
||||
{"id": "0100A3900C3E2000"}
|
||||
],
|
||||
"title": "Paper Mario: The Origami King"
|
||||
},
|
||||
{
|
||||
"compatibility": 1,
|
||||
"directory": "xenoblade-chronicles-definitive-edition",
|
||||
"releases": [
|
||||
{"id": "0100FF500E34A000"}
|
||||
],
|
||||
"title": "Xenoblade Chronicles: Definitive Edition"
|
||||
},
|
||||
{
|
||||
"compatibility": 2,
|
||||
"directory": "xenoblade-chronicles-3",
|
||||
"releases": [
|
||||
{"id": "010074F013262000"}
|
||||
],
|
||||
"title": "Xenoblade Chronicles 3"
|
||||
},
|
||||
{
|
||||
"compatibility": 1,
|
||||
"directory": "pikmin-3-deluxe",
|
||||
"releases": [
|
||||
{"id": "0100F8600D4B0000"}
|
||||
],
|
||||
"title": "Pikmin 3 Deluxe"
|
||||
},
|
||||
{
|
||||
"compatibility": 0,
|
||||
"directory": "donkey-kong-country-tropical-freeze",
|
||||
"releases": [
|
||||
{"id": "0100C1F0054B6000"}
|
||||
],
|
||||
"title": "Donkey Kong Country: Tropical Freeze"
|
||||
},
|
||||
{
|
||||
"compatibility": 1,
|
||||
"directory": "kirby-and-the-forgotten-land",
|
||||
"releases": [
|
||||
{"id": "01004D300C5AE000"}
|
||||
],
|
||||
"title": "Kirby and the Forgotten Land"
|
||||
},
|
||||
{
|
||||
"compatibility": 2,
|
||||
"directory": "mario-party-superstars",
|
||||
"releases": [
|
||||
{"id": "01006B400D8B2000"}
|
||||
],
|
||||
"title": "Mario Party Superstars"
|
||||
},
|
||||
{
|
||||
"compatibility": 0,
|
||||
"directory": "clubhouse-games-51-worldwide-classics",
|
||||
"releases": [
|
||||
{"id": "0100F8600D4B0000"}
|
||||
],
|
||||
"title": "Clubhouse Games: 51 Worldwide Classics"
|
||||
},
|
||||
{
|
||||
"compatibility": 1,
|
||||
"directory": "ring-fit-adventure",
|
||||
"releases": [
|
||||
{"id": "01006B300BAF8000"}
|
||||
],
|
||||
"title": "Ring Fit Adventure"
|
||||
},
|
||||
{
|
||||
"compatibility": 2,
|
||||
"directory": "arms",
|
||||
"releases": [
|
||||
{"id": "01009B500007C000"}
|
||||
],
|
||||
"title": "ARMS"
|
||||
},
|
||||
{
|
||||
"compatibility": 0,
|
||||
"directory": "super-mario-maker-2",
|
||||
"releases": [
|
||||
{"id": "01009B90006DC000"}
|
||||
],
|
||||
"title": "Super Mario Maker 2"
|
||||
},
|
||||
{
|
||||
"compatibility": 0,
|
||||
"directory": "pokemon-lets-go-pikachu",
|
||||
"releases": [
|
||||
{"id": "010003F003A34000"}
|
||||
],
|
||||
"title": "Pokémon: Let's Go, Pikachu!"
|
||||
},
|
||||
{
|
||||
"compatibility": 1,
|
||||
"directory": "pokemon-lets-go-eevee",
|
||||
"releases": [
|
||||
{"id": "0100187003A36000"}
|
||||
],
|
||||
"title": "Pokémon: Let's Go, Eevee!"
|
||||
},
|
||||
{
|
||||
"compatibility": 2,
|
||||
"directory": "pokemon-sword",
|
||||
"releases": [
|
||||
{"id": "0100ABF008968000"}
|
||||
],
|
||||
"title": "Pokémon Sword"
|
||||
},
|
||||
{
|
||||
"compatibility": 2,
|
||||
"directory": "pokemon-shield",
|
||||
"releases": [
|
||||
{"id": "01008DB008C2C000"}
|
||||
],
|
||||
"title": "Pokémon Shield"
|
||||
},
|
||||
{
|
||||
"compatibility": 1,
|
||||
"directory": "new-pokemon-snap",
|
||||
"releases": [
|
||||
{"id": "0100F4300C182000"}
|
||||
],
|
||||
"title": "New Pokémon Snap"
|
||||
},
|
||||
{
|
||||
"compatibility": 0,
|
||||
"directory": "mario-golf-super-rush",
|
||||
"releases": [
|
||||
{"id": "0100C9C00E25C000"}
|
||||
],
|
||||
"title": "Mario Golf: Super Rush"
|
||||
},
|
||||
{
|
||||
"compatibility": 1,
|
||||
"directory": "mario-tennis-aces",
|
||||
"releases": [
|
||||
{"id": "0100BDE00862A000"}
|
||||
],
|
||||
"title": "Mario Tennis Aces"
|
||||
},
|
||||
{
|
||||
"compatibility": 2,
|
||||
"directory": "wario-ware-get-it-together",
|
||||
"releases": [
|
||||
{"id": "0100563010F22000"}
|
||||
],
|
||||
"title": "WarioWare: Get It Together!"
|
||||
},
|
||||
{
|
||||
"compatibility": 0,
|
||||
"directory": "big-brain-academy-brain-vs-brain",
|
||||
"releases": [
|
||||
{"id": "0100190010F24000"}
|
||||
],
|
||||
"title": "Big Brain Academy: Brain vs. Brain"
|
||||
}
|
||||
]
|
||||
@@ -1,3 +1,8 @@
|
||||
<!--
|
||||
SPDX-FileCopyrightText: 2018 yuzu Emulator Project
|
||||
SPDX-License-Identifier: GPL-2.0-or-later
|
||||
-->
|
||||
|
||||
<RCC>
|
||||
<qresource prefix="compatibility_list">
|
||||
<file>compatibility_list.json</file>
|
||||
|
||||
Vendored
+622
-766
File diff suppressed because it is too large
Load Diff
Vendored
+451
-590
File diff suppressed because it is too large
Load Diff
Vendored
+452
-591
File diff suppressed because it is too large
Load Diff
Vendored
+490
-629
File diff suppressed because it is too large
Load Diff
Vendored
+451
-590
File diff suppressed because it is too large
Load Diff
Vendored
+451
-590
File diff suppressed because it is too large
Load Diff
Vendored
+499
-641
File diff suppressed because it is too large
Load Diff
Vendored
+451
-590
File diff suppressed because it is too large
Load Diff
Vendored
+451
-590
File diff suppressed because it is too large
Load Diff
Vendored
+451
-590
File diff suppressed because it is too large
Load Diff
Vendored
+455
-594
File diff suppressed because it is too large
Load Diff
Vendored
+489
-628
File diff suppressed because it is too large
Load Diff
Vendored
+451
-590
File diff suppressed because it is too large
Load Diff
Vendored
+451
-590
File diff suppressed because it is too large
Load Diff
Vendored
+483
-622
File diff suppressed because it is too large
Load Diff
Vendored
+495
-634
File diff suppressed because it is too large
Load Diff
Vendored
+451
-590
File diff suppressed because it is too large
Load Diff
Vendored
+502
-641
File diff suppressed because it is too large
Load Diff
Vendored
+451
-590
File diff suppressed because it is too large
Load Diff
Vendored
+451
-590
File diff suppressed because it is too large
Load Diff
Vendored
+461
-600
File diff suppressed because it is too large
Load Diff
Vendored
+491
-635
File diff suppressed because it is too large
Load Diff
Vendored
-6
@@ -2,12 +2,6 @@ QAbstractSpinBox {
|
||||
min-height: 19px;
|
||||
}
|
||||
|
||||
QComboBox {
|
||||
padding: 0px 4px 0px 4px;
|
||||
min-width: 60px;
|
||||
min-height: 19px;
|
||||
}
|
||||
|
||||
QPushButton#TogglableStatusBarButton {
|
||||
color: #959595;
|
||||
border: 1px solid transparent;
|
||||
|
||||
-6
@@ -6,12 +6,6 @@ QAbstractSpinBox {
|
||||
min-height: 19px;
|
||||
}
|
||||
|
||||
QComboBox {
|
||||
padding: 0px 4px 0px 4px;
|
||||
min-width: 60px;
|
||||
min-height: 19px;
|
||||
}
|
||||
|
||||
QPushButton#TogglableStatusBarButton {
|
||||
color: #959595;
|
||||
border: 1px solid transparent;
|
||||
|
||||
+1
-1
@@ -1,5 +1,5 @@
|
||||
# ui stuff
|
||||
/src/android @AleksandrPopovich @kleidis @Producdevity
|
||||
/src/android @AleksandrPopovich @nyxynx @Producdevity
|
||||
/src/yuzu @crueter
|
||||
/src/eden @crueter
|
||||
/src/frontend_common @crueter
|
||||
|
||||
@@ -0,0 +1,17 @@
|
||||
# CPMUtil
|
||||
|
||||
CPMUtil is a wrapper around CPM that aims to reduce boilerplate and add useful utility functions to make dependency management a piece of cake.
|
||||
|
||||
See more in [its repository](https://git.crueter.xyz/CMake/CPMUtil)
|
||||
|
||||
Eden-specific options:
|
||||
|
||||
- `YUZU_USE_CPM` is set by default on MSVC and Android. Other platforms should use this if certain "required" system dependencies (e.g. OpenSSL) are broken or missing
|
||||
* If this is `OFF`, required system dependencies will be searched via `find_package`, although most externals use CPM regardless.
|
||||
- Force system libraries via CMake arguments:
|
||||
* SDL2: `YUZU_USE_BUNDLED_SDL2` and `YUZU_USE_EXTERNAL_SDL2`
|
||||
* FFmpeg: `YUZU_USE_EXTERNAL_FFMPEG`
|
||||
|
||||
## Tooling
|
||||
|
||||
See the [tooling docs](../tools/cpm)
|
||||
@@ -1,17 +0,0 @@
|
||||
# AddPackage
|
||||
|
||||
- `VERSION` (required): The version to get (the tag will be `v${VERSION}`)
|
||||
- `NAME` (required): Name used within the artifacts
|
||||
- `REPO` (required): CI repository, e.g. `crueter-ci/OpenSSL`
|
||||
- `PACKAGE` (required): `find_package` package name
|
||||
- `EXTENSION`: Artifact extension (default `tar.zst`)
|
||||
- `MIN_VERSION`: Minimum version for `find_package`. Only used if platform does not support this package as a bundled artifact
|
||||
- `DISABLED_PLATFORMS`: List of platforms that lack artifacts for this package. Options:
|
||||
* `windows-amd64`
|
||||
* `windows-arm64`
|
||||
* `android`
|
||||
* `solaris-amd64`
|
||||
* `freebsd-amd64`
|
||||
* `linux-amd64`
|
||||
* `linux-aarch64`
|
||||
* `macos-universal`
|
||||
@@ -1,17 +0,0 @@
|
||||
# AddPackage
|
||||
|
||||
- `VERSION` (required): The version to get (the tag will be `v${VERSION}`)
|
||||
- `NAME` (required): Name used within the artifacts
|
||||
- `REPO` (required): CI repository, e.g. `crueter-ci/OpenSSL`
|
||||
- `PACKAGE` (required): `find_package` package name
|
||||
- `EXTENSION`: Artifact extension (default `tar.zst`)
|
||||
- `MIN_VERSION`: Minimum version for `find_package`. Only used if platform does not support this package as a bundled artifact
|
||||
- `DISABLED_PLATFORMS`: List of platforms that lack artifacts for this package. Options:
|
||||
* `windows-amd64`
|
||||
* `windows-arm64`
|
||||
* `android`
|
||||
* `solaris-amd64`
|
||||
* `freebsd-amd64`
|
||||
* `linux-amd64`
|
||||
* `linux-aarch64`
|
||||
* `macos-universal`
|
||||
@@ -1,104 +0,0 @@
|
||||
# AddJsonPackage
|
||||
|
||||
In each directory that utilizes `CPMUtil`, there must be a `cpmfile.json` that defines dependencies in a similar manner to the individual calls.
|
||||
|
||||
The cpmfile is an object of objects, with each sub-object being named according to the package's identifier, e.g. `openssl`, which can then be fetched with `AddJsonPackage(<identifier>)`. Options are designed to map closely to the argument names, and are always strings unless otherwise specified.
|
||||
<!-- TOC -->
|
||||
- [Options](#options)
|
||||
- [Examples](#examples)
|
||||
<!-- /TOC -->
|
||||
|
||||
## Options
|
||||
|
||||
- `package` -> `NAME` (`PACKAGE` for CI), defaults to the object key
|
||||
- `repo` -> `REPO`
|
||||
- `version` -> `VERSION`
|
||||
- `ci` (bool)
|
||||
|
||||
If `ci` is `false`:
|
||||
|
||||
- `hash` -> `HASH`
|
||||
- `hash_suffix` -> `HASH_SUFFIX`
|
||||
- `sha` -> `SHA`
|
||||
- `key` -> `KEY`
|
||||
- `tag` -> `TAG`
|
||||
* If the tag contains `%VERSION%`, that part will be replaced by the `git_version`, OR `version` if `git_version` is not specified
|
||||
- `url` -> `URL`
|
||||
- `artifact` -> `ARTIFACT`
|
||||
* If the artifact contains `%VERSION%`, that part will be replaced by the `git_version`, OR `version` if `git_version` is not specified
|
||||
* If the artifact contains `%TAG%`, that part will be replaced by the `tag` (with its replacement already done)
|
||||
- `git_version` -> `GIT_VERSION`
|
||||
- `git_host` -> `GIT_HOST`
|
||||
- `source_subdir` -> `SOURCE_SUBDIR`
|
||||
- `bundled` -> `BUNDLED_PACKAGE`
|
||||
- `find_args` -> `FIND_PACKAGE_ARGUMENTS`
|
||||
- `download_only` -> `DOWNLOAD_ONLY`
|
||||
- `patches` -> `PATCHES` (array)
|
||||
- `options` -> `OPTIONS` (array)
|
||||
- `skip_updates`: Tells `check-updates.sh` to not check for new updates on this package.
|
||||
|
||||
Other arguments aren't currently supported. If you wish to add them, see the `AddJsonPackage` function in `CMakeModules/CPMUtil.cmake`.
|
||||
|
||||
If `ci` is `true`:
|
||||
|
||||
- `name` -> `NAME`, defaults to the object key
|
||||
- `extension` -> `EXTENSION`, defaults to `tar.zst`
|
||||
- `min_version` -> `MIN_VERSION`
|
||||
- `extension` -> `EXTENSION`
|
||||
- `disabled_platforms` -> `DISABLED_PLATFORMS` (array)
|
||||
|
||||
## Examples
|
||||
|
||||
In order: OpenSSL CI, Boost (tag + artifact), Opus (options + find_args), discord-rpc (sha + options + patches).
|
||||
|
||||
```json
|
||||
{
|
||||
"openssl": {
|
||||
"ci": true,
|
||||
"package": "OpenSSL",
|
||||
"name": "openssl",
|
||||
"repo": "crueter-ci/OpenSSL",
|
||||
"version": "3.6.0",
|
||||
"min_version": "1.1.1",
|
||||
"disabled_platforms": [
|
||||
"macos-universal"
|
||||
]
|
||||
},
|
||||
"boost": {
|
||||
"package": "Boost",
|
||||
"repo": "boostorg/boost",
|
||||
"tag": "boost-%VERSION%",
|
||||
"artifact": "%TAG%-cmake.7z",
|
||||
"hash": "e5b049e5b61964480ca816395f63f95621e66cb9bcf616a8b10e441e0e69f129e22443acb11e77bc1e8170f8e4171b9b7719891efc43699782bfcd4b3a365f01",
|
||||
"git_version": "1.88.0",
|
||||
"version": "1.57"
|
||||
},
|
||||
"opus": {
|
||||
"package": "Opus",
|
||||
"repo": "xiph/opus",
|
||||
"sha": "5ded705cf4",
|
||||
"hash": "0dc89e58ddda1f3bc6a7037963994770c5806c10e66f5cc55c59286fc76d0544fe4eca7626772b888fd719f434bc8a92f792bdb350c807968b2ac14cfc04b203",
|
||||
"version": "1.3",
|
||||
"find_args": "MODULE",
|
||||
"options": [
|
||||
"OPUS_BUILD_TESTING OFF",
|
||||
"OPUS_BUILD_PROGRAMS OFF",
|
||||
"OPUS_INSTALL_PKG_CONFIG_MODULE OFF",
|
||||
"OPUS_INSTALL_CMAKE_CONFIG_MODULE OFF"
|
||||
]
|
||||
},
|
||||
"discord-rpc": {
|
||||
"repo": "discord/discord-rpc",
|
||||
"sha": "963aa9f3e5",
|
||||
"hash": "386e1344e9a666d730f2d335ee3aef1fd05b1039febefd51aa751b705009cc764411397f3ca08dffd46205c72f75b235c870c737b2091a4ed0c3b061f5919bde",
|
||||
"options": [
|
||||
"BUILD_EXAMPLES OFF"
|
||||
],
|
||||
"patches": [
|
||||
"0001-cmake-version.patch",
|
||||
"0002-no-clang-format.patch",
|
||||
"0003-fix-cpp17.patch"
|
||||
]
|
||||
}
|
||||
}
|
||||
```
|
||||
@@ -1,116 +0,0 @@
|
||||
# `AddPackage`
|
||||
|
||||
<!-- TOC -->
|
||||
- [Identification/Fetching](#identificationfetching)
|
||||
- [Hashing](#hashing)
|
||||
- [Other Options](#other-options)
|
||||
- [Extra Variables](#extra-variables)
|
||||
- [System/Bundled Packages](#systembundled-packages)
|
||||
- [Identification](#identification)
|
||||
<!-- /TOC -->
|
||||
|
||||
## Identification/Fetching
|
||||
|
||||
- `NAME` (required): The package name (must be the same as the `find_package` name if applicable)
|
||||
- `VERSION`: The minimum version of this package that can be used on the system
|
||||
- `GIT_VERSION`: The "version" found within git
|
||||
- `URL`: The URL to fetch.
|
||||
- `REPO`: The repo to use (`owner/repo`).
|
||||
- `GIT_HOST`: The Git host to use
|
||||
* Defaults to `github.com`. Do not include the protocol, as HTTPS is enforced.
|
||||
- `TAG`: The tag to fetch, if applicable.
|
||||
- `ARTIFACT`: The name of the artifact, if applicable.
|
||||
- `SHA`: Commit sha to fetch, if applicable.
|
||||
- `BRANCH`: Branch to fetch, if applicable.
|
||||
|
||||
The following configurations are supported, in descending order of precedence:
|
||||
|
||||
- `URL`: Bare URL download, useful for custom artifacts
|
||||
* If this is set, `GIT_URL` or `REPO` should be set to allow the dependency viewer to link to the project's Git repository.
|
||||
* If this is NOT set, `REPO` must be defined.
|
||||
- `REPO + TAG + ARTIFACT`: GitHub release artifact
|
||||
* The final download URL will be `https://github.com/${REPO}/releases/download/${TAG}/${ARTIFACT}`
|
||||
* Useful for prebuilt libraries and prefetched archives
|
||||
- `REPO + TAG`: GitHub tag archive
|
||||
* The final download URL will be `https://github.com/${REPO}/archive/refs/tags/${TAG}.tar.gz`
|
||||
* Useful for pinning to a specific tag, better for build identification
|
||||
- `REPO + SHA`: GitHub commit archive
|
||||
* The final download URL will be `https://github.com/${REPO}/archive/${SHA}.zip`
|
||||
* Useful for pinning to a specific commit
|
||||
- `REPO + BRANCH`: GitHub branch archive
|
||||
* The final download URL will be `https://github.com/${REPO}/archive/refs/heads/${BRANCH}.zip`
|
||||
* Generally not recommended unless the branch is frozen
|
||||
- `REPO`: GitHub master archive
|
||||
* The final download URL will be `https://github.com/${REPO}/archive/refs/heads/master.zip`
|
||||
* Generally not recommended unless the project is dead
|
||||
|
||||
## Hashing
|
||||
|
||||
Hashing is used for verifying downloads. It's highly recommended to use these.
|
||||
|
||||
- `HASH_ALGO` (default `SHA512`): Hash algorithm to use
|
||||
|
||||
Hashing strategies, descending order of precedence:
|
||||
|
||||
- `HASH`: Bare hash verification, useful for static downloads e.g. commit archives
|
||||
- `HASH_SUFFIX`: Download the hash as `${DOWNLOAD_URL}.${HASH_SUFFIX}`
|
||||
* The downloaded hash *must* match the hash algorithm and contain nothing but the hash; no filenames or extra content.
|
||||
- `HASH_URL`: Download the hash from a separate URL
|
||||
|
||||
## Other Options
|
||||
|
||||
- `KEY`: Custom cache key to use (stored as `.cache/cpm/${packagename_lower}/${key}`)
|
||||
* Default is based on, in descending order of precedence:
|
||||
- First 4 characters of the sha
|
||||
- `GIT_VERSION`
|
||||
- Tag
|
||||
- `VERSION`
|
||||
- Otherwise, CPM defaults will be used. This is not recommended as it doesn't produce reproducible caches
|
||||
- `DOWNLOAD_ONLY`: Whether or not to configure the downloaded package via CMake
|
||||
* Useful to turn `OFF` if the project doesn't use CMake
|
||||
- `SOURCE_SUBDIR`: Subdirectory of the project containing a CMakeLists.txt file
|
||||
- `FIND_PACKAGE_ARGUMENTS`: Arguments to pass to the `find_package` call
|
||||
- `BUNDLED_PACKAGE`: Set to `ON` to default to the bundled package
|
||||
- `FORCE_BUNDLED_PACKAGE`: Set to `ON` to force the usage of the bundled package, regardless of CPMUTIL_FORCE_SYSTEM or `<package>_FORCE_SYSTEM`
|
||||
- `OPTIONS`: Options to pass to the configuration of the package
|
||||
- `PATCHES`: Patches to apply to the package, stored in `.patch/${packagename_lower}/0001-patch-name.patch` and so on
|
||||
- Other arguments can be passed to CPM as well
|
||||
|
||||
## Extra Variables
|
||||
|
||||
For each added package, users may additionally force usage of the system/bundled package.
|
||||
|
||||
- `${package}_FORCE_SYSTEM`: Require the package to be installed on the system
|
||||
- `${package}_FORCE_BUNDLED`: Force the package to be fetched and use the bundled version
|
||||
|
||||
## System/Bundled Packages
|
||||
|
||||
Descending order of precedence:
|
||||
- If `${package}_FORCE_SYSTEM` is true, requires the package to be on the system
|
||||
- If `${package}_FORCE_BUNDLED` is true, forcefully uses the bundled package
|
||||
- If `CPMUTIL_FORCE_SYSTEM` is true, requires the package to be on the system
|
||||
- If `CPMUTIL_FORCE_BUNDLED` is true, forcefully uses the bundled package
|
||||
- If the `BUNDLED_PACKAGE` argument is true, forcefully uses the bundled package
|
||||
- Otherwise, CPM will search for the package first, and if not found, will use the bundled package
|
||||
|
||||
## Identification
|
||||
|
||||
All dependencies must be identifiable in some way for usage in the dependency viewer. Lists are provided in descending order of precedence.
|
||||
|
||||
URLs:
|
||||
|
||||
- `GIT_URL`
|
||||
- `REPO` as a Git repository
|
||||
* You may optionally specify `GIT_HOST` to use a custom host, e.g. `GIT_HOST git.crueter.xyz`. Note that the git host MUST be GitHub-like in its artifact/archive downloads, e.g. Forgejo
|
||||
* If `GIT_HOST` is unspecified, defaults to `github.com`
|
||||
- `URL`
|
||||
|
||||
Versions (bundled):
|
||||
|
||||
- `SHA`
|
||||
- `GIT_VERSION`
|
||||
- `VERSION`
|
||||
- `TAG`
|
||||
- "unknown"
|
||||
|
||||
If the package is a system package, AddPackage will attempt to determine the package version and append ` (system)` to the identifier. Otherwise, it will be marked as `unknown (system)`
|
||||
@@ -1,46 +0,0 @@
|
||||
# CPMUtil
|
||||
|
||||
CPMUtil is a wrapper around CPM that aims to reduce boilerplate and add useful utility functions to make dependency management a piece of cake.
|
||||
|
||||
Global Options:
|
||||
|
||||
- `CPMUTIL_FORCE_SYSTEM` (default `OFF`): Require all CPM dependencies to use system packages. NOT RECOMMENDED!
|
||||
* You may optionally override this (section)
|
||||
- `CPMUTIL_FORCE_BUNDLED` (default `ON` on MSVC and Android, `OFF` elsewhere): Require all CPM dependencies to use bundled packages.
|
||||
|
||||
You are highly encouraged to read AddPackage first, even if you plan to only interact with CPMUtil via `AddJsonPackage`.
|
||||
|
||||
<!-- TOC -->
|
||||
- [AddPackage](#addpackage)
|
||||
- [AddCIPackage](#addcipackage)
|
||||
- [AddJsonPackage](#addjsonpackage)
|
||||
- [Lists](#lists)
|
||||
<!-- /TOC -->
|
||||
|
||||
## AddPackage
|
||||
|
||||
The core of CPMUtil is the [`AddPackage`](./AddPackage.md) function. [`AddPackage`](./AddPackage.md) itself is fully CMake-based, and largely serves as an interface between CPM and the rest of CPMUtil.
|
||||
|
||||
## AddCIPackage
|
||||
|
||||
[`AddCIPackage`](./AddCIPackage.md) adds a package that follows [crueter's CI repository spec](https://github.com/crueter-ci).
|
||||
|
||||
## AddJsonPackage
|
||||
|
||||
[`AddJsonPackage`](./AddJsonPackage.md) is the recommended method of usage for CPMUtil.
|
||||
|
||||
## Lists
|
||||
|
||||
CPMUtil will create three lists of dependencies where `AddPackage` or similar was used. Each is in order of addition.
|
||||
|
||||
- `CPM_PACKAGE_NAMES`: The names of packages included by CPMUtil
|
||||
- `CPM_PACKAGE_URLS`: The URLs to project/repo pages of packages
|
||||
- `CPM_PACKAGE_SHAS`: Short version identifiers for each package
|
||||
* If the package was included as a system package, ` (system)` is appended thereafter
|
||||
* Packages whose versions can't be deduced will be left as `unknown`.
|
||||
|
||||
For an example of how this might be implemented in an application, see Eden's implementation:
|
||||
|
||||
- [`dep_hashes.h.in`](https://git.eden-emu.dev/eden-emu/eden/src/branch/master/src/dep_hashes.h.in)
|
||||
- [`GenerateDepHashes.cmake`](https://git.eden-emu.dev/eden-emu/eden/src/branch/master/CMakeModules/GenerateDepHashes.cmake)
|
||||
- [`deps_dialog.cpp`](https://git.eden-emu.dev/eden-emu/eden/src/branch/master/src/yuzu/deps_dialog.cpp)
|
||||
@@ -1,16 +1,5 @@
|
||||
# Caveats
|
||||
|
||||
<!-- TOC -->
|
||||
- [Arch Linux](#arch-linux)
|
||||
- [Gentoo Linux](#gentoo-linux)
|
||||
- [macOS](#macos)
|
||||
- [Solaris](#solaris)
|
||||
- [HaikuOS](#haikuos)
|
||||
- [OpenBSD](#openbsd)
|
||||
- [FreeBSD](#freebsd)
|
||||
- [NetBSD](#netbsd)
|
||||
<!-- /TOC -->
|
||||
|
||||
## Arch Linux
|
||||
|
||||
- httplib AUR package is broken. Set `httplib_FORCE_BUNDLED=ON` if you have it installed.
|
||||
@@ -52,20 +41,6 @@ export LIBGL_ALWAYS_SOFTWARE=1
|
||||
- If using OpenIndiana, due to a bug in SDL2's CMake configuration, audio driver defaults to SunOS `<sys/audioio.h>`, which does not exist on OpenIndiana. Using external or bundled SDL2 may solve this.
|
||||
- System OpenSSL generally does not work. Instead, use `-DYUZU_USE_BUNDLED_OPENSSL=ON` to use a bundled static OpenSSL, or build a system dependency from source.
|
||||
|
||||
## HaikuOS
|
||||
|
||||
It's recommended to do a `pkgman full-sync` before installing. See [HaikuOS: Installing applications](https://www.haiku-os.org/guides/daily-tasks/install-applications/). Sometimes the process may be interrupted by an error like "Interrupted syscall". Simply firing the command again fixes the issue. By default `g++` is included on the default installation.
|
||||
|
||||
GPU support is generally lacking/buggy, hence it's recommended to only install `pkgman install mesa_lavapipe`. Performance is acceptable for most homebrew applications and even some retail games.
|
||||
|
||||
For reasons unberknownst to any human being, `glslangValidator` will crash upon trying to be executed, the solution to this is to build `glslang` yourself. Apply the patch in `.patch/glslang/0001-haikuos-fix.patch`. The main issue is `ShFinalize()` is deallocating already destroyed memory; the "fix" in question is allowing the program to just leak memory and the OS will take care of the rest. See [this issue](https://web.archive.org/web/20251021183604/https://github.com/haikuports/haikuports/issues/13083).
|
||||
|
||||
For this reason this patch is NOT applied to default on all platforms (for obvious reasons) - instead this is a HaikuOS specific patch, apply with `git apply <absolute path to patch>` after cloning SPIRV-Tools then `make -C build` and add the resulting binary (in `build/StandAlone/glslang`) into PATH.
|
||||
|
||||
`cubeb_devel` will also not work, either disable cubeb or uninstall it.
|
||||
|
||||
Still will not run flawlessly until `mesa-24` is available. Modify CMakeCache.txt with the `.so` of libGL and libGLESv2 by doing the incredibly difficult task of copy pasting them (`cp /boot/system/lib/libGL.so .`)
|
||||
|
||||
## OpenBSD
|
||||
|
||||
After configuration, you may need to modify `externals/ffmpeg/CMakeFiles/ffmpeg-build/build.make` to use `-j$(nproc)` instead of just `-j`.
|
||||
@@ -82,23 +57,6 @@ The available OpenSSL port (3.0.17) is out-of-date, and using a bundled static l
|
||||
|
||||
## NetBSD
|
||||
|
||||
Install `pkgin` if not already `pkg_add pkgin`, see also the general [pkgsrc guide](https://www.netbsd.org/docs/pkgsrc/using.html). For NetBSD 10.1 provide `echo 'PKG_PATH="https://cdn.netbsd.org/pub/pkgsrc/packages/NetBSD/x86_64/10.0_2025Q3/All/"' >/etc/pkg_install.conf`. If `pkgin` is taking too much time consider adding the following to `/etc/rc.conf`:
|
||||
```sh
|
||||
ip6addrctl=YES
|
||||
ip6addrctl_policy=ipv4_prefer
|
||||
```
|
||||
|
||||
System provides a default `g++-10` which doesn't support the current C++ codebase; install `clang-19` with `pkgin install clang-19`. Then build with `cmake -DCMAKE_BUILD_TYPE=Release -DCMAKE_CXX_COMPILER=clang++ -DCMAKE_C_COMPILER=clang -B build`.
|
||||
|
||||
Make may error out when generating C++ headers of SPIRV shaders, hence it's recommended to use `gmake` over the default system one.
|
||||
|
||||
glslang is not available on NetBSD, to circumvent this simply build glslang by yourself:
|
||||
```sh
|
||||
pkgin python313
|
||||
git clone --depth=1 https://github.com/KhronosGroup/glslang.git
|
||||
cd glslang
|
||||
python3.13 ./update_glslang_sources.py
|
||||
cmake -B build -DCMAKE_BUILD_TYPE=Release
|
||||
cmake --build build -- -j`nproc`
|
||||
cmake --install build
|
||||
```
|
||||
|
||||
@@ -1,77 +0,0 @@
|
||||
# Coding guidelines
|
||||
|
||||
These are mostly "suggestions", if you feel like your code is readable, comprehensible to others; and most importantly doesn't result in unreadable spaghetti you're fine to go.
|
||||
|
||||
But for new developers you may find that following these guidelines will make everything x10 easier.
|
||||
|
||||
## Naming conventions
|
||||
|
||||
Simply put, types/classes are named as `PascalCase`, same for methods and functions like `AddElement`. Variables are named `like_this_snake_case` and constants are `IN_SCREAMING_CASE`.
|
||||
|
||||
Template typenames prefer short names like `T`, `I`, `U`, if a longer name is required either `Iterator` or `perform_action` are fine as well.
|
||||
|
||||
Macros must always be in `SCREAMING_CASE`. Do not use short letter macros as systems like Solaris will conflict with them; a good rule of thumb is >5 characters per macro - i.e `THIS_MACRO_IS_GOOD`, `AND_ALSO_THIS_ONE`.
|
||||
|
||||
Try not using hungarian notation, if you're able.
|
||||
|
||||
## Formatting
|
||||
|
||||
Do not put if/while/etc braces after lines:
|
||||
```c++
|
||||
// no dont do this
|
||||
if (thing)
|
||||
{
|
||||
some(); // ...
|
||||
}
|
||||
|
||||
// do this
|
||||
if (thing) {
|
||||
some(); // ...
|
||||
}
|
||||
|
||||
// or this
|
||||
if (thing)
|
||||
some(); // ...
|
||||
|
||||
// this is also ok
|
||||
if (thing) some();
|
||||
```
|
||||
|
||||
Brace rules are lax, if you can get the point across, do it:
|
||||
|
||||
```c++
|
||||
// this is fine
|
||||
do {
|
||||
if (thing) {
|
||||
return 0;
|
||||
}
|
||||
} while (other);
|
||||
|
||||
// this is also ok --- albeit a bit more dense
|
||||
do if (thing) return 0; while (other);
|
||||
|
||||
// ok as well
|
||||
do {
|
||||
if (thing) return 0;
|
||||
} while (other);
|
||||
```
|
||||
|
||||
There is no 80-column limit but preferably be mindful of other developer's readability (like don't just put everything onto one line).
|
||||
|
||||
```c++
|
||||
// someone is going to be mad due to this
|
||||
SDL_AudioSpec obtained;
|
||||
device_name.empty() ? device = SDL_OpenAudioDevice(nullptr, capture, &spec, &obtained, false) : device = SDL_OpenAudioDevice(device_name.c_str(), capture, &spec, &obtained, false);
|
||||
|
||||
// maybe consider this
|
||||
SDL_AudioSpec obtained;
|
||||
if (device_name.empty()) {
|
||||
device = SDL_OpenAudioDevice(nullptr, capture, &spec, &obtained, false);
|
||||
} else {
|
||||
device = SDL_OpenAudioDevice(device_name.c_str(), capture, &spec, &obtained, false);
|
||||
}
|
||||
|
||||
// or this is fine as well
|
||||
SDL_AudioSpec obtained;
|
||||
device = SDL_OpenAudioDevice(device_name.empty() ? nullptr : device_name.c_str(), capture, &spec, &obtained, false);
|
||||
```
|
||||
@@ -1,10 +0,0 @@
|
||||
# Cross Compile
|
||||
|
||||
## ARM64
|
||||
|
||||
A painless guide for cross compilation (or to test NCE) from a x86_64 system without polluting your main.
|
||||
|
||||
- Install QEMU: `sudo pkg install qemu`
|
||||
- Download Debian 13: `wget https://cdimage.debian.org/debian-cd/current/arm64/iso-cd/debian-13.0.0-arm64-netinst.iso`
|
||||
- Create a system disk: `qemu-img create -f qcow2 debian-13-arm64-ci.qcow2 30G`
|
||||
- Run the VM: `qemu-system-aarch64 -M virt -m 2G -cpu max -bios /usr/local/share/qemu/edk2-aarch64-code.fd -drive if=none,file=debian-13.0.0-arm64-netinst.iso,format=raw,id=cdrom -device scsi-cd,drive=cdrom -drive if=none,file=debian-13-arm64-ci.qcow2,id=hd0,format=qcow2 -device virtio-blk-device,drive=hd0 -device virtio-gpu-pci -device usb-ehci -device usb-kbd -device intel-hda -device hda-output -nic user,model=virtio-net-pci`
|
||||
@@ -1,68 +0,0 @@
|
||||
# Debug Guidelines
|
||||
|
||||
## Debugging (host code)
|
||||
|
||||
Ignoring SIGSEGV when debugging in host:
|
||||
|
||||
- **gdb**: `handle all nostop pass`.
|
||||
- **lldb**: `pro hand -p true -s false -n false SIGSEGV`.
|
||||
|
||||
## Debugging (guest code)
|
||||
|
||||
### gdb
|
||||
|
||||
Run `./build/bin/eden-cli -c <path to your config file (see logs where you run eden normally to see where it is)> -d -g <path to game>`
|
||||
|
||||
Then hook up an aarch64-gdb (use `yay aarch64-gdb` or `sudo pkg in arch64-gdb` to install)
|
||||
Then type `target remote localhost:1234` and type `c` (for continue) - and then if it crashes just do a `bt` (backtrace) and `layout asm`.
|
||||
|
||||
### gdb cheatsheet
|
||||
|
||||
- `mo <cmd>`: Monitor commands, `get info`, `get fastmem` and `get mappings` are available. Type `mo help` for more info.
|
||||
- `detach`: Detach from remote (i.e restarting the emulator).
|
||||
- `c`: Continue
|
||||
- `p <expr>`: Print variable, `p/x <expr>` for hexadecimal.
|
||||
- `r`: Run
|
||||
- `bt`: Print backtrace
|
||||
- `info threads`: Print all active threads
|
||||
- `thread <number>`: Switch to the given thread (see `info threads`)
|
||||
- `layout asm`: Display in assembly mode (TUI)
|
||||
- `si`: Step assembly instruction
|
||||
- `s` or `step`: Step over LINE OF CODE (not assembly)
|
||||
- `display <expr>`: Display variable each step.
|
||||
- `n`: Next (skips over call frame of a function)
|
||||
- `frame <number>`: Switches to the given frame (from `bt`)
|
||||
- `br <expr>`: Set breakpoint at `<expr>`.
|
||||
- `delete`: Deletes all breakpoints.
|
||||
- `catch throw`: Breakpoint at throw. Can also use `br __cxa_throw`
|
||||
- `br _mesa_error`: Break on mesa errors (set environment variable `MESA_DEBUG=1` beforehand), see [MESA_DEBUG](https://mesa-docs.readthedocs.io/en/latest/debugging.html).
|
||||
|
||||
Expressions can be `variable_names` or `1234` (numbers) or `*var` (dereference of a pointer) or `*(1 + var)` (computed expression).
|
||||
|
||||
For more information type `info gdb` and read [the man page](https://man7.org/linux/man-pages/man1/gdb.1.html).
|
||||
|
||||
## Simple checklist for debugging black screens using Renderdoc
|
||||
|
||||
Renderdoc is a free, cross platform, multi-graphics API debugger. It is an invaluable tool for diagnosing issues with graphics applications, and includes support for Vulkan. Get it [here](https://renderdoc.org).
|
||||
|
||||
Before using renderdoc to diagnose issues, it is always good to make sure there are no validation errors. Any errors means the behavior of the application is undefined. That said, renderdoc can help debug validation errors if you do have them.
|
||||
|
||||
When debugging a black screen, there are many ways the application could have setup Vulkan wrong.
|
||||
Here is a short checklist of items to look at to make sure are appropriate:
|
||||
* Draw call counts are correct (aka not zero, or if rendering many triangles, not 3)
|
||||
* Vertex buffers are bound
|
||||
* vertex attributes are correct - Make sure the size & offset of each attribute matches what should it should be
|
||||
* Any bound push constants and descriptors have the right data - including:
|
||||
* Matrices have correct values - double check the model, view, & projection matrices are uploaded correctly
|
||||
* Pipeline state is correct
|
||||
* viewport range is correct - x,y are 0,0; width & height are screen dimensions, minDepth is 0, maxDepth is 1, NDCDepthRange is 0,1
|
||||
* Fill mode matches expected - usually solid
|
||||
* Culling mode makes sense - commonly back or none
|
||||
* The winding direction is correct - typically CCW (counter clockwise)
|
||||
* Scissor region is correct - usually same as viewport's x,y,width, &height
|
||||
* Blend state is correct
|
||||
* Depth state is correct - typically enabled with Function set to Less than or Equal
|
||||
* Swapchain images are bound when rendering to the swapchain
|
||||
* Image being rendered to is the same as the one being presented when rendering to the swapchain
|
||||
|
||||
Alternatively, a [RenderDoc Extension](https://github.com/baldurk/renderdoc-contrib/tree/main/baldurk/whereismydraw) ([Archive](https://web.archive.org/web/20250000000000*/https://github.com/baldurk/renderdoc-contrib/tree/main/baldurk/whereismydraw)) exists which automates doing a lot of these manual steps.
|
||||
+29
-76
@@ -5,6 +5,7 @@ To build Eden, you MUST have a C++ compiler.
|
||||
- GCC 12 also requires Clang 14+
|
||||
* On Windows, this is either:
|
||||
- **[MSVC](https://visualstudio.microsoft.com/downloads/)** (you should select *Community* option),
|
||||
* *A convenience script to install the Visual Community Studio 2022 with necessary tools is provided in `.ci/windows/install-msvc.ps1`*
|
||||
- clang-cl - can be downloaded from the MSVC installer,
|
||||
- or **[MSYS2](https://www.msys2.org)**
|
||||
* On macOS, this is Apple Clang
|
||||
@@ -25,9 +26,6 @@ If you are on desktop and plan to use the Qt frontend, you *must* install Qt 6,
|
||||
* Linux and macOS users may choose to use the installer as well.
|
||||
* MSYS2 can also install Qt 6 via the package manager
|
||||
|
||||
If you are on Windows, a convenience script to install MSVC, MSYS2, Qt, all necessary packages for MSYS2, and set up a zsh environment with useful keybinds and aliases can be found [here](https://git.crueter.xyz/scripts/windev).
|
||||
- For help setting up Qt Creator, run `./install.sh -h qtcreator`
|
||||
|
||||
If you are on Windows and NOT building with MSYS2, you may go [back home](Build.md) and continue.
|
||||
|
||||
## Externals
|
||||
@@ -64,7 +62,7 @@ Certain other dependencies will be fetched by CPM regardless. System packages *c
|
||||
* [libusb](https://github.com/libusb/libusb)
|
||||
* [VulkanMemoryAllocator](https://github.com/GPUOpen-LibrariesAndSDKs/VulkanMemoryAllocator)
|
||||
* [sirit](https://github.com/eden-emulator/sirit)
|
||||
* [httplib](https://github.com/yhirose/cpp-httplib) - if `ENABLE_UPDATE_CHECKER` or `ENABLE_WEB_SERVICE` are on
|
||||
* [httplib](https://github.com/yhirose/cpp-httplib) - if `ENABLE_QT_UPDATE_CHECKER` or `ENABLE_WEB_SERVICE` are on
|
||||
- This package is known to be broken on the AUR.
|
||||
* [cpp-jwt](https://github.com/arun11299/cpp-jwt) 1.4+ - if `ENABLE_WEB_SERVICE` is on
|
||||
* [unordered-dense](https://github.com/martinus/unordered_dense)
|
||||
@@ -86,8 +84,6 @@ On riscv64:
|
||||
|
||||
These are commands to install all necessary dependencies on various Linux and BSD distributions, as well as macOS. Always review what you're running before you hit Enter!
|
||||
|
||||
Notes for writers: Include build tools as well, assume user has NOTHING installed (i.e a fresh install) but that they have updated beforehand so no `upgrade && update` or equivalent should be mentioned - except for rolling release systems like Arch.
|
||||
|
||||
Click on the arrows to expand.
|
||||
|
||||
<details>
|
||||
@@ -138,35 +134,6 @@ sudo dnf install qt6-qtbase-private-devel
|
||||
* Fedora 36+ users with GCC 12 need Clang and should configure CMake with: `cmake -DCMAKE_CXX_COMPILER=clang++ -DCMAKE_C_COMPILER=clang -B build`
|
||||
</details>
|
||||
|
||||
<details>
|
||||
<summary>Alpine Linux</summary>
|
||||
|
||||
First, enable the community repository; [see here](https://wiki.alpinelinux.org/wiki/Repositories#Enabling_the_community_repository).
|
||||
```sh
|
||||
# Enable the community repository
|
||||
setup-apkrepos -c
|
||||
# Install
|
||||
apk add g++ git cmake make mbedtls-dev mbedtls-static mesa-dev qt6-qtbase-dev qt6-qtbase-private-dev libquazip1-qt6 ffmpeg-dev libusb-dev libtool boost-dev sdl2-dev zstd-dev vulkan-utility-libraries spirv-tools-dev openssl-dev nlohmann-json lz4-dev opus-dev jq patch
|
||||
```
|
||||
|
||||
`mbedtls-static` has to be specified otherwise `libeverest.a` and `libp256m.a` will fail to be found.
|
||||
|
||||
</details>
|
||||
<summary>Void Linux</summary>
|
||||
|
||||
```sh
|
||||
xbps-install -Su git make cmake clang pkg-config patch mbedtls-devel SPIRV-Tools-devel SPIRV-Headers lz4 liblz4-devel boost-devel ffmpeg6-devel catch2 Vulkan-Utility-Libraries Vulkan-Headers glslang openssl-devel SDL2-devel quazip-qt6-devel qt6-base-devel qt6-qt5compat-devel fmt-devel json-c++ libenet-devel libusb-devel
|
||||
```
|
||||
|
||||
Yes, `nlohmann-json` is just named `json-c++`. Why?
|
||||
|
||||
</details>
|
||||
<details>
|
||||
<summary>NixOS</summary>
|
||||
|
||||
A convenience script is provided on the root of this project [shell.nix](../shell.nix). Run the usual `nix-shell`.
|
||||
|
||||
</details>
|
||||
<details>
|
||||
<summary>macOS</summary>
|
||||
|
||||
@@ -183,27 +150,40 @@ To run with MoltenVK, install additional dependencies:
|
||||
brew install molten-vk vulkan-loader
|
||||
```
|
||||
|
||||
[Caveats](./Caveats.md#macos).
|
||||
|
||||
</details>
|
||||
|
||||
<details>
|
||||
<summary>FreeBSD</summary>
|
||||
|
||||
As root run: `pkg install devel/cmake devel/sdl20 devel/boost-libs devel/catch2 devel/libfmt devel/nlohmann-json devel/ninja devel/nasm devel/autoconf devel/pkgconf devel/qt6-base devel/simpleini net/enet multimedia/ffnvcodec-headers multimedia/ffmpeg audio/opus archivers/liblz4 lang/gcc12 graphics/glslang graphics/vulkan-utility-libraries graphics/spirv-tools www/cpp-httplib devel/jwt-cpp devel/unordered-dense devel/zydis`
|
||||
|
||||
If using FreeBSD 12 or prior, use `devel/pkg-config` instead.
|
||||
|
||||
[Caveats](./Caveats.md#freebsd).
|
||||
|
||||
</details>
|
||||
|
||||
<details>
|
||||
<summary>NetBSD</summary>
|
||||
|
||||
Install `pkgin` if not already `pkg_add pkgin`, see also the general [pkgsrc guide](https://www.netbsd.org/docs/pkgsrc/using.html). For NetBSD 10.1 provide `cat 'PKG_PATH="https://cdn.netbsd.org/pub/pkgsrc/packages/NetBSD/x86_64/10.0_2025Q3/All/"' >/etc/pkg_install.conf`. If `pkgin` is taking too much time consider adding the following to `/etc/rc.conf`:
|
||||
```
|
||||
ip6addrctl=YES
|
||||
ip6addrctl_policy=ipv4_prefer
|
||||
```
|
||||
|
||||
For NetBSD +10.1: `pkgin install git cmake boost fmtlib SDL2 catch2 libjwt spirv-headers ffmpeg7 libva nlohmann-json jq libopus qt6 mbedtls3 cpp-httplib lz4 vulkan-headers nasm autoconf enet pkg-config libusb1`.
|
||||
|
||||
[Caveats](./Caveats.md#netbsd).
|
||||
glslang is not available on NetBSD, to circumvent this simply build glslang by yourself:
|
||||
```sh
|
||||
pkgin python313
|
||||
git clone https://github.com/KhronosGroup/glslang.git
|
||||
cd glslang
|
||||
python3.13 ./update_glslang_sources.py
|
||||
cmake -B build -DCMAKE_BUILD_TYPE=Release
|
||||
cmake --build build -- -j`nproc`
|
||||
cmake --install build
|
||||
```
|
||||
|
||||
</details>
|
||||
|
||||
<details>
|
||||
<summary>OpenBSD</summary>
|
||||
|
||||
@@ -212,9 +192,8 @@ pkg_add -u
|
||||
pkg_add cmake nasm git boost unzip--iconv autoconf-2.72p0 bash ffmpeg glslang gmake llvm-19.1.7p3 qt6 jq fmt nlohmann-json enet boost vulkan-utility-libraries vulkan-headers spirv-headers spirv-tools catch2 sdl2 libusb1-1.0.27
|
||||
```
|
||||
|
||||
[Caveats](./Caveats.md#openbsd).
|
||||
|
||||
</details>
|
||||
|
||||
<details>
|
||||
<summary>Solaris / OpenIndiana</summary>
|
||||
|
||||
@@ -226,49 +205,23 @@ Run the usual update + install of essential toolings: `sudo pkg update && sudo p
|
||||
- **clang**: Version 20 is broken, use `sudo pkg install developer/clang-19`.
|
||||
|
||||
Then install the libraries: `sudo pkg install qt6 boost glslang libzip library/lz4 libusb-1 nlohmann-json openssl opus sdl2 zlib compress/zstd unzip pkg-config nasm autoconf mesa library/libdrm header-drm developer/fmt`.
|
||||
|
||||
[Caveats](./Caveats.md#solaris).
|
||||
|
||||
</details>
|
||||
|
||||
<details>
|
||||
<summary>MSYS2</summary>
|
||||
|
||||
* Open the `MSYS2 MinGW 64-bit` shell (`mingw64.exe`)
|
||||
* Download and install all dependencies:
|
||||
```
|
||||
BASE="git make autoconf libtool automake-wrapper jq patch"
|
||||
MINGW="SDL2 cmake python-pip qt6-base toolchain ffmpeg boost catch fmt lz4 nlohmann-json openssl zlib zstd enet opus mbedtls vulkan-devel libusb vulkan-memory-allocator unordered_dense zydis clang ccache"
|
||||
|
||||
packages="$BASE"
|
||||
for pkg in $MINGW; do
|
||||
packages="$packages mingw-w64-x86_64-$pkg"
|
||||
done
|
||||
|
||||
pacman -Syu --needed --noconfirm $packages
|
||||
```
|
||||
* Notes:
|
||||
- Using `qt6-static` is possible but currently untested.
|
||||
- Other environments are entirely untested, but should theoretically work provided you install all the necessary packages.
|
||||
- Clang is installed as it generally works better here. You can compile with GCC just fine, however.
|
||||
- Add `qt-creator` to the `MINGW` variable to install Qt Creator. You can then create a Start Menu shortcut to the MinGW Qt Creator by running `powershell "\$s=(New-Object -COM WScript.Shell).CreateShortcut('C:\\ProgramData\\Microsoft\\Windows\\Start Menu\\Programs\\Qt Creator.lnk');\$s.TargetPath='C:\\msys64\\mingw64\\bin\\qtcreator.exe';\$s.Save()"` in Git Bash or MSYS2.
|
||||
* Add MinGW binaries to the PATH if they aren't already:
|
||||
* Download and install all dependencies using:
|
||||
* `pacman -Syu git make mingw-w64-x86_64-SDL2 mingw-w64-x86_64-cmake mingw-w64-x86_64-python-pip mingw-w64-x86_64-qt6 mingw-w64-x86_64-toolchain autoconf libtool automake-wrapper`
|
||||
* Add MinGW binaries to the PATH:
|
||||
* `echo 'PATH=/mingw64/bin:$PATH' >> ~/.bashrc`
|
||||
* or `echo 'PATH=/mingw64/bin:$PATH' >> ~/.zshrc`
|
||||
|
||||
* Add VulkanSDK to the PATH:
|
||||
* `echo 'PATH=$(readlink -e /c/VulkanSDK/*/Bin/):$PATH' >> ~/.bashrc`
|
||||
</details>
|
||||
|
||||
<details>
|
||||
<summary>HaikuOS</summary>
|
||||
|
||||
```sh
|
||||
pkgman install git cmake patch libfmt_devel nlohmann_json lz4_devel opus_devel boost1.89_devel vulkan_devel qt6_base_devel libsdl2_devel ffmpeg7_devel libx11_devel enet_devel catch2_devel quazip1_qt6_devel qt6_5compat_devel zydis_devel libusb1_devel libz_devel glslang mbedtls3
|
||||
```
|
||||
|
||||
[Caveats](./Caveats.md#haikuos).
|
||||
|
||||
</details>
|
||||
<summary>RedoxOS</summary>
|
||||
|
||||
TODO: Fix syscall crashes (heavy IO stalls and hangup due to net mutexes?)
|
||||
```sh
|
||||
sudo pkg update && sudo pkg install git cmake
|
||||
sudo pkg install ffmpeg6 sdl2 zlib llvm18
|
||||
|
||||
+47
-6
@@ -1,4 +1,4 @@
|
||||
# Development guidelines
|
||||
# Guidelines
|
||||
|
||||
## License Headers
|
||||
All commits must have proper license header accreditation.
|
||||
@@ -6,21 +6,19 @@ All commits must have proper license header accreditation.
|
||||
You can easily add all necessary license headers by running:
|
||||
```sh
|
||||
git fetch origin master:master
|
||||
.ci/license-header.sh -u -c
|
||||
FIX=true COMMIT=true .ci/license-header.sh
|
||||
git push
|
||||
```
|
||||
|
||||
Alternatively, you may omit `-c` and do an amend commit:
|
||||
Alternatively, you may omit `COMMIT=true` and do an amend commit:
|
||||
```sh
|
||||
git fetch origin master:master
|
||||
.ci/license-header.sh
|
||||
FIX=true .ci/license-header.sh
|
||||
git commit --amend -a --no-edit
|
||||
```
|
||||
|
||||
If the work is licensed/vendored from other people or projects, you may omit the license headers. Additionally, if you wish to retain authorship over a piece of code, you may attribute it to yourself; however, the code may be changed at any given point and brought under the attribution of Eden.
|
||||
|
||||
For more information on the license header script, run `.ci/license-header.sh -h`.
|
||||
|
||||
## Pull Requests
|
||||
Pull requests are only to be merged by core developers when properly tested and discussions conclude on Discord or other communication channels. Labels are recommended but not required. However, all PRs MUST be namespaced and optionally typed:
|
||||
```
|
||||
@@ -103,6 +101,49 @@ May not be used but worth mentioning nonethless:
|
||||
- OGG files: Use [OptiVorbis](https://github.com/OptiVorbis/OptiVorbis).
|
||||
- Video files: Use ffmpeg, preferably re-encode as AV1.
|
||||
|
||||
# Debugging
|
||||
|
||||
## Debugging (host code)
|
||||
|
||||
Ignoring SIGSEGV when debugging in host:
|
||||
|
||||
- **gdb**: `handle all nostop pass`.
|
||||
- **lldb**: `pro hand -p true -s false -n false SIGSEGV`.
|
||||
|
||||
## Debugging (guest code)
|
||||
|
||||
### gdb
|
||||
|
||||
Run `./build/bin/eden-cli -c <path to your config file (see logs where you run eden normally to see where it is)> -d -g <path to game>`
|
||||
|
||||
Then hook up an aarch64-gdb (use `yay aarch64-gdb` or `sudo pkg in arch64-gdb` to install)
|
||||
Then type `target remote localhost:1234` and type `c` (for continue) - and then if it crashes just do a `bt` (backtrace) and `layout asm`.
|
||||
|
||||
### gdb cheatsheet
|
||||
|
||||
- `mo <cmd>`: Monitor commands, `get info`, `get fastmem` and `get mappings` are available. Type `mo help` for more info.
|
||||
- `detach`: Detach from remote (i.e restarting the emulator).
|
||||
- `c`: Continue
|
||||
- `p <expr>`: Print variable, `p/x <expr>` for hexadecimal.
|
||||
- `r`: Run
|
||||
- `bt`: Print backtrace
|
||||
- `info threads`: Print all active threads
|
||||
- `thread <number>`: Switch to the given thread (see `info threads`)
|
||||
- `layout asm`: Display in assembly mode (TUI)
|
||||
- `si`: Step assembly instruction
|
||||
- `s` or `step`: Step over LINE OF CODE (not assembly)
|
||||
- `display <expr>`: Display variable each step.
|
||||
- `n`: Next (skips over call frame of a function)
|
||||
- `frame <number>`: Switches to the given frame (from `bt`)
|
||||
- `br <expr>`: Set breakpoint at `<expr>`.
|
||||
- `delete`: Deletes all breakpoints.
|
||||
- `catch throw`: Breakpoint at throw. Can also use `br __cxa_throw`
|
||||
- `br _mesa_error`: Break on mesa errors (set environment variable `MESA_DEBUG=1` beforehand), see [MESA_DEBUG](https://mesa-docs.readthedocs.io/en/latest/debugging.html).
|
||||
|
||||
Expressions can be `variable_names` or `1234` (numbers) or `*var` (dereference of a pointer) or `*(1 + var)` (computed expression).
|
||||
|
||||
For more information type `info gdb` and read [the man page](https://man7.org/linux/man-pages/man1/gdb.1.html).
|
||||
|
||||
# Bisecting older commits
|
||||
|
||||
Since going into the past can be tricky (especially due to the dependencies from the project being lost thru time). This should "restore" the URLs for the respective submodules.
|
||||
|
||||
+2
-1
@@ -22,6 +22,7 @@ Notes:
|
||||
- `YUZU_USE_BUNDLED_FFMPEG` (ON for non-UNIX) Download (Windows, Android) or build (UNIX) bundled FFmpeg
|
||||
- `ENABLE_CUBEB` (ON) Enables the cubeb audio backend
|
||||
- `YUZU_TESTS` (ON) Compile tests - requires Catch2
|
||||
- `YUZU_USE_PRECOMPILED_HEADERS` (ON for non-UNIX) Use precompiled headers
|
||||
- `YUZU_DOWNLOAD_ANDROID_VVL` (ON) Download validation layer binary for Android
|
||||
- `YUZU_ENABLE_LTO` (OFF) Enable link-time optimization
|
||||
* Not recommended on Windows
|
||||
@@ -37,7 +38,6 @@ Notes:
|
||||
- `YUZU_USE_BUNDLED_OPENSSL` (ON for MSVC) Download bundled OpenSSL build
|
||||
* Always on for Android
|
||||
* Unavailable on OpenBSD
|
||||
- `ENABLE_UPDATE_CHECKER` (OFF) Enable update checker for the Qt an Android frontends
|
||||
|
||||
The following options are desktop only:
|
||||
- `ENABLE_SDL2` (ON) Enable the SDL2 desktop, audio, and input frontend (HIGHLY RECOMMENDED!)
|
||||
@@ -51,6 +51,7 @@ The following options are desktop only:
|
||||
* Unavailable on Windows/ARM64 and Android
|
||||
- `ENABLE_QT` (ON) Enable the Qt frontend (recommended)
|
||||
- `ENABLE_QT_TRANSLATION` (OFF) Enable translations for the Qt frontend
|
||||
- `ENABLE_QT_UPDATE_CHECKER` (OFF) Enable update checker for the Qt frontend
|
||||
- `YUZU_USE_BUNDLED_QT` (ON for MSVC) Download bundled Qt binaries
|
||||
* Note that using **system Qt** requires you to include the Qt CMake directory in `CMAKE_PREFIX_PATH`, e.g:
|
||||
* `-DCMAKE_PREFIX_PATH=C:/Qt/6.9.0/msvc2022_64/lib/cmake/Qt6`
|
||||
|
||||
+2
-5
@@ -1,13 +1,10 @@
|
||||
# Eden Build Documentation
|
||||
|
||||
This contains documentation created by developers. This contains build instructions, guidelines, instructions/layouts for [cool stuff we made](./CPMUtil), and more.
|
||||
This contains documentation created by developers. This contains build instructions, guidelines, instructions/layouts for [cool stuff we made](CPM.md), and more.
|
||||
|
||||
- **[General Build Instructions](Build.md)**
|
||||
- **[Cross Compiling](CrossCompile.md)**
|
||||
- **[Development Guidelines](Development.md)**
|
||||
- **[Coding guidelines](Coding.md)**
|
||||
- **[Dependencies](Deps.md)**
|
||||
- **[Debug Guidelines](./Debug.md)**
|
||||
- **[CPM - CMake Package Manager](CPMUtil.md)**
|
||||
- **[Platform-Specific Caveats](Caveats.md)**
|
||||
- **[User Handbook](User.md)**
|
||||
- **[User Handbook](User.md)**
|
||||
@@ -8,5 +8,3 @@ This handbook is primarily aimed at the end-user - baking useful knowledge for e
|
||||
- **[Audio](user/Audio.md)**
|
||||
- **[Graphics](user/Graphics.md)**
|
||||
- **[Platforms and Architectures](user/Architectures.md)**
|
||||
- **[Testing](user/Testing.md)**
|
||||
- **[Data, savefiles and storage](user/Storage.md)**
|
||||
|
||||
Vendored
-2
@@ -35,8 +35,6 @@ Eden by default will be cloned into -
|
||||
6. To build the optimised build use `./gradlew assembleGenshinSpoofRelWithDebInfo`.
|
||||
7. You can pass extra variables to cmake via `-PYUZU_ANDROID_ARGS="-D..."`
|
||||
|
||||
Remember to have a Java SDK installed if not already, on Debian and similar this is done with `sudo apt install openjdk-17-jdk`.
|
||||
|
||||
### Script
|
||||
A convenience script for building is provided in `.ci/android/build.sh`. The built APK can be put into an `artifacts` directory via `.ci/android/package.sh`. On Windows, these must be done in the Git Bash or MinGW terminal.
|
||||
|
||||
|
||||
@@ -27,5 +27,5 @@ Boolean flags (set `true` to enable, `false` to disable):
|
||||
* AppImage packaging script: `.ci/linux/package.sh`
|
||||
|
||||
* Accepts same arch targets as build script
|
||||
* Use `DEVEL=true` to rename app to `Eden Nightly` and disable the update checker
|
||||
* Use `DEVEL=true` to rename app to `Eden Nightly`
|
||||
* This should generally not be used unless in a tailor-made packaging environment (e.g. Actions/CI)
|
||||
@@ -52,7 +52,6 @@ IA-64 (Itanium) support is completely unknown. Existing amd64 packages will not
|
||||
|
||||
The vast majority of Eden's testing is done on Windows, Linux, and Android. However, first-class support is also provided for:
|
||||
|
||||
- HaikuOS
|
||||
- FreeBSD
|
||||
- OpenBSD
|
||||
- NetBSD
|
||||
@@ -127,13 +126,6 @@ BSD and Solaris distributions tend to lag behind Linux in terms of Vulkan and ot
|
||||
|
||||
AMD GPU support on these platforms is limited or nonexistent.
|
||||
|
||||
## HaikuOS
|
||||
|
||||
HaikuOS supports (see below) Vulkan 1.3 and has Mesa 24.0. Because OpenGL ES is used instead of the desktop flavour of OpenGL the OpenGL backend is actually worse than the Vulkan one in terms of stability and system support. OpenGL is highly not recommended due to it being: out of tree builds of Mesa and generally unstable ones at that. Users are advised to use Vulkan whenever possible.
|
||||
|
||||
- Additionally system drivers for NVIDIA and Intel iGPUs exist and provide a native Vulkan ICD with the `Xcb` interface as opposed to the native `BView`
|
||||
- In order to obtain Vulkan 1.3 support with native `BView` support; Swiftshader can be compiled from source [see this thread](https://discuss.haiku-os.org/t/swiftshader-vulkan-software-renderer-on-haiku/11526/6).
|
||||
|
||||
## VMs
|
||||
|
||||
Eden "can" run in a VM, but only with the software renderer, *unless* you create a hardware-accelerated KVM with GPU passthrough. If you *really* want to do this and don't have a spare GPU lying around, RX 570 and 580 GPUs are extremely cheap on the black market and are powerful enough to run most commercial games at 60 FPS.
|
||||
|
||||
@@ -25,7 +25,6 @@ Eden will store configuration files in the following directories:
|
||||
- **Windows**: `%AppData%\Roaming`.
|
||||
- **Android**: Data is stored internally.
|
||||
- **Linux, macOS, FreeBSD, Solaris, OpenBSD**: `$XDG_DATA_HOME`, `$XDG_CACHE_HOME`, `$XDG_CONFIG_HOME`.
|
||||
- **HaikuOS**: `/boot/home/config/settings/eden`
|
||||
|
||||
If a `user` directory is present in the current working directory, that will override all global configuration directories and the emulator will use that instead.
|
||||
|
||||
|
||||
@@ -47,26 +47,6 @@ Various graphical filters exist - each of them aimed at a specific target/image
|
||||
|
||||
While stock shaders offer a basic subset of options for most users, programs such as [ReShade](https://github.com/crosire/reshade) offer a more flexible experience. In addition to that users can also seek out modifications (mods) for enhancing visual experience (60 FPS mods, HDR, etc).
|
||||
|
||||
**Installing ReShade (Windows)**
|
||||
1. [Download ReShade](https://reshade.me/#download) with add-on support.
|
||||
- [ReShade Setup 6.6.2 (Windows 64-bit) with add-on support](https://reshade.me/downloads/ReShade_Setup_6.6.2_Addon.exe)
|
||||
- SHA512 checksum: `1f09a73afa160480c13ffdd73cc04b1dc82943dddea58ad3bb9375f26b48c2787d0a85197e46b6fce32a4fd3472465520a3355ed3436241e17fba7ebaff7ffec`.
|
||||
2. Open ReShade and hit browse, then the folder where `eden.exe` is at, hit open, then hit next.
|
||||
3. Select Vulkan as the rendering API, hit next.
|
||||
4. In "Select effects to install" screen: hit next don't change anything.
|
||||
5. In "Select add on" screen: click the box for `Shader Toggler by Otis` ([GitHub](https://github.com/FransBouma/ShaderToggler)) and hit next.
|
||||
|
||||
**Using the Shader Toggler**
|
||||
1. Launch a game, you must see a ReShade pop up afterwards.
|
||||
2. Progress to a point with a flickering shader.
|
||||
3. Hit the Home key on keyboard (or change binds if you don't have one).
|
||||
4. Navigate to the add on tab at the top of the ReShade menu.
|
||||
5. At the bottom where Shader Toggler is at open the drop down and max out the slider that says "# of fames collected" then select change shaders while staring at the flickering shader.
|
||||
6. When the Shader Toggler finishes collecting frames in the top left hit Numpad 2 till it turns off the flickering lines.
|
||||
7. Hit Numpad 3 to add it the group of shaders to turn off and hit done and save all toggle groups.
|
||||
8. Hit the edit button and select "active at startup" for the shader to be turned off on every game launch.
|
||||
9. Caps lock to manually turn on and off the shader (default key you can change it with the previous edit button)
|
||||
|
||||
## Driver specifics
|
||||
|
||||
### Mesa environment variable hacks
|
||||
@@ -80,7 +60,3 @@ Unstable multithreaded optimisations are offered by the stock proprietary NVIDIA
|
||||
### swrast/LLVMpipe crashes under high load
|
||||
|
||||
The OpenGL backend would invoke behaviour that would result in swarst/LLVMpipe writing an invalid SSA IR (on old versions of Mesa), and then proceeding to crash. The solution is using a script found in [tools/llvmpipe-run.sh](../../tools/llvmpipe-run.sh).
|
||||
|
||||
### HaikuOS compatibility
|
||||
|
||||
HaikuOS bundles a Mesa library that doesn't support full core OpenGL 4.6 (required by the emulator). This leads to HaikuOS being one of the few computer platforms where Vulkan is the only available option for users. If OpenGL is desired, Mesa has to be built manually from source. For debugging purpouses `lavapipe` is recommended over the GPU driver; there is in-kernel support for NVIDIA cards through.
|
||||
|
||||
@@ -1,39 +0,0 @@
|
||||
# User Handbook - Data, savefiles and storage
|
||||
|
||||
## Cheats
|
||||
|
||||
Cheats can be placed in the two manners:
|
||||
|
||||
**Method 1**:
|
||||
- Right click on "Open mod directory"
|
||||
- Create a file called `cheat_mycheat.txt` (the file must start with `cheat_` to be recognized as one)
|
||||
- Write the cheat into said text file
|
||||
- Done
|
||||
|
||||
This method doesn't account for build IDs, so any cheats for previous builds will not be automatically filtered out.
|
||||
|
||||
**Method 2**:
|
||||
- Right click on "Open mod directory"
|
||||
- Create a folder called `My cheat`
|
||||
- Inside said folder create another one: `cheats`
|
||||
- Then inside said folder create a file with the build ID in hexadecimal, lowercase, for example `1234FBCDE0000000.txt`
|
||||
- Write the cheat into said text file
|
||||
- Done
|
||||
|
||||
To delete a cheat simply do the process backwards (delete the folder/file).
|
||||
|
||||
## Savefiles
|
||||
|
||||
The method to access save data is simple:
|
||||
- Right click on "Open save directory"
|
||||
|
||||
## Maintaining a library
|
||||
|
||||
### ZFS
|
||||
|
||||
One of the best ways to keep a gallery of archives is using a ZFS pool compressed with zstd.
|
||||
```sh
|
||||
sudo zfs create zroot/switch`
|
||||
sudo zfs set compression=zstd zroot/switch
|
||||
```
|
||||
A new ZFS dataset will then be available on `/zroot/switch`. From which then can be added as a normal game directory. Remember to ensure proper permissions with `chmod 755 /zroot/switch/*`.
|
||||
@@ -1,32 +0,0 @@
|
||||
# User Handbook - Testing
|
||||
|
||||
While this is mainly aimed for testers - normal users can benefit from these guidelines to make their life easier when trying to outline and/or report an issue.
|
||||
|
||||
## How to Test a PR Against the Based Master When Issues Arise
|
||||
|
||||
When you're testing a pull request (PR) and encounter unexpected behavior, it's important to determine whether the issue was introduced by the PR or if it already exists in the base code. To do this, compare the behavior against the based master branch.
|
||||
|
||||
Even before an issue occurs, it is best practice to keep the same settings and delete the shader cache. Using an already made shader cache can make the PR look like it is having a regression in some rare cases.
|
||||
|
||||
### What to Do When Something Seems Off
|
||||
If you notice something odd during testing:
|
||||
- Reproduce the issue using the based master branch.
|
||||
- Observe whether the same behavior occurs.
|
||||
|
||||
### Two Possible Outcomes
|
||||
- If the issue exists in the based master: This means the problem was already present before the PR. The PR most likely did not introduce the regression.
|
||||
- If the issue does not exist in the based master: This suggests the PR most likely introduced the regression and needs further investigation.
|
||||
|
||||
### Report your findings
|
||||
When you report your results:
|
||||
- Clearly state whether the behavior was observed in the based master.
|
||||
- Indicate whether the result is good (expected behavior) or bad (unexpected or broken behavior). Without mentioning if your post/report/log is good or bad it may confuse the Developer of the PR.
|
||||
- Example:
|
||||
```
|
||||
1. "Tested on based master — issue not present. Bad result for PR, likely regression introduced."
|
||||
2. "Tested on based master — issue already present. Good result for PR, not a regression."
|
||||
```
|
||||
|
||||
This approach helps maintain clarity and accountability in the testing process and ensures regressions are caught and addressed efficiently. If the behavior seems normal for a certain game/feature then it may not be always required to check against the based master.
|
||||
|
||||
If a master build for the PR' based master does not exist. It will be helpful to just test past and future builds nearby. That would help with gathering more information about the problem.
|
||||
@@ -1,8 +0,0 @@
|
||||
# User Handbook - Third party tools and extras
|
||||
|
||||
The Eden emulator by itself lacks some functionality - or otherwise requires external files (such as packaging) to operate correctly in a given OS. Addendum to that some repositories provide nightly or specialised builds of the emulator.
|
||||
|
||||
While most of the links mentioned in this guide are relatively "safe"; we urge users to use their due diligence and appropriatedly verify the integrity of all files downloaded and ensure they're not compromised.
|
||||
|
||||
- [Nightly Eden builds](https://github.com/pflyly/eden-nightly)
|
||||
- [NixOS Eden Flake](https://github.com/Grantimatter/eden-flake)
|
||||
Vendored
+2
-8
@@ -141,17 +141,12 @@ if (ENABLE_SDL2)
|
||||
endif()
|
||||
elseif (YUZU_USE_BUNDLED_SDL2)
|
||||
message(STATUS "Using bundled SDL2")
|
||||
if (PLATFORM_FREEBSD)
|
||||
set(BUILD_SHARED_LIBS ON)
|
||||
endif()
|
||||
AddJsonPackage(sdl2)
|
||||
endif()
|
||||
|
||||
find_package(SDL2 2.26.4 REQUIRED)
|
||||
endif()
|
||||
|
||||
set(BUILD_SHARED_LIBS OFF)
|
||||
|
||||
# SPIRV Headers
|
||||
AddJsonPackage(spirv-headers)
|
||||
|
||||
@@ -214,7 +209,7 @@ if (VulkanMemoryAllocator_ADDED)
|
||||
endif()
|
||||
|
||||
# httplib
|
||||
if (ENABLE_WEB_SERVICE OR ENABLE_UPDATE_CHECKER)
|
||||
if (ENABLE_WEB_SERVICE OR ENABLE_QT_UPDATE_CHECKER)
|
||||
AddJsonPackage(httplib)
|
||||
endif()
|
||||
|
||||
@@ -402,7 +397,6 @@ endif()
|
||||
|
||||
# sse2neon
|
||||
if (ARCHITECTURE_arm64 AND NOT TARGET sse2neon)
|
||||
AddJsonPackage(sse2neon)
|
||||
add_library(sse2neon INTERFACE)
|
||||
target_include_directories(sse2neon INTERFACE ${sse2neon_SOURCE_DIR})
|
||||
target_include_directories(sse2neon INTERFACE sse2neon)
|
||||
endif()
|
||||
|
||||
Vendored
+8
-20
@@ -30,16 +30,13 @@
|
||||
"tag": "v%VERSION%",
|
||||
"hash": "b364500f76e2ecb0fe21b032d831272e3f1dfeea71af74e325f8fc4ce9dcdb3c941b97a5b422bdeafb9facd058597b90f8bfc284fb9afe3c33fefa15dd5a010b",
|
||||
"git_version": "0.26.0",
|
||||
"find_args": "MODULE GLOBAL",
|
||||
"patches": [
|
||||
"0001-mingw.patch"
|
||||
]
|
||||
"find_args": "MODULE GLOBAL"
|
||||
},
|
||||
"cpp-jwt": {
|
||||
"version": "1.4",
|
||||
"repo": "crueter/cpp-jwt",
|
||||
"sha": "9eaea6328f",
|
||||
"hash": "35b0b2bfb143585c7b2bd6dc6ca7df5ae5c6e2681000b2ebca077b0ac4bc1e6b6afbe1ce8e47f6d2edad12fcc6404f677acc2ad205661d819b8821ce6f4823fd",
|
||||
"hash": "e237d92c59ebbf0dc8ac0bae3bc80340e1e9cf430e1c1c9638443001118e16de2b3e9036ac4b98105427667b0386d97831415170b68c432438dcad9ef8052de7",
|
||||
"find_args": "CONFIG",
|
||||
"options": [
|
||||
"CPP_JWT_USE_VENDORED_NLOHMANN_JSON OFF"
|
||||
@@ -73,7 +70,7 @@
|
||||
"libadrenotools": {
|
||||
"repo": "bylaws/libadrenotools",
|
||||
"sha": "8fae8ce254",
|
||||
"hash": "db4a74ce15559c75e01d1868a90701519b655d77f2a343bbee283a42f8332dc9046960fb022dc969f205e457348a3f99cb8be6e1cd91264d2ae1235294b9f9b2",
|
||||
"hash": "c74fa855f0edebbf25c9bce40b00966daa2447bfc5e15f0cf1a95f86cbf70fc6b02590707edbde16328a0a2a4fb9a1fc419d2dfc22a4a4150971be91892d4edb",
|
||||
"patches": [
|
||||
"0001-linkerns-cpm.patch"
|
||||
]
|
||||
@@ -128,7 +125,7 @@
|
||||
"package": "SPIRV-Tools",
|
||||
"repo": "crueter/SPIRV-Tools",
|
||||
"sha": "2fa2d44485",
|
||||
"hash": "3124bbddf7bd44f11445edeca6786b5bba9fb314f27dc087d0bbd9951b0936884ece2b9b40b75cfc8e31ab10ba55854e73aa63df835c40423b1c81dd47b1437d",
|
||||
"hash": "45b198be1d09974ccb2438e8bfa5683f23a0421b058297c28eacfd77e454ec2cf87e77850eddd202efff34b004d8d6b4d12e9615e59bd72be904c196f5eb2169",
|
||||
"git_version": "2025.4",
|
||||
"options": [
|
||||
"SPIRV_SKIP_EXECUTABLES ON"
|
||||
@@ -141,7 +138,7 @@
|
||||
"package": "SPIRV-Headers",
|
||||
"repo": "KhronosGroup/SPIRV-Headers",
|
||||
"sha": "01e0577914",
|
||||
"hash": "e2b90e95b6f492e640cd27c090d7072f0d03c8fc7382be67cbe176fc8f3fdd78b59f5f0b906198e09808fde645427f409cb9ab8fe4843de7f7dc5b510d454a0a",
|
||||
"hash": "d0f905311faf7d743de686fdf241dc4cb0a4f08e2184f5a3b3b2946e680db3cd89eeb72954eafe6fa457f93550e27d516575c8709cb134d8aecc0b43064636ce",
|
||||
"options": [
|
||||
"SPIRV_WERROR OFF"
|
||||
]
|
||||
@@ -149,7 +146,7 @@
|
||||
"cubeb": {
|
||||
"repo": "mozilla/cubeb",
|
||||
"sha": "fa02160712",
|
||||
"hash": "8a4bcb2f83ba590f52c66626e895304a73eb61928dbc57777e1822e55378e3568366f17f9da4b80036cc2ef4ea9723c32abf6e7d9bbe00fb03654f0991596ab0",
|
||||
"hash": "82d808356752e4064de48c8fecbe7856715ade1e76b53937116bf07129fc1cc5b3de5e4b408de3cd000187ba8dc32ca4109661cb7e0355a52e54bd81b9be1c61",
|
||||
"find_args": "CONFIG",
|
||||
"options": [
|
||||
"USE_SANITIZERS OFF",
|
||||
@@ -184,7 +181,7 @@
|
||||
"package": "DiscordRPC",
|
||||
"repo": "eden-emulator/discord-rpc",
|
||||
"sha": "1cf7772bb6",
|
||||
"hash": "9a6c35887dcacceb4ba1bf3141edb73b05b2abc719a8d81dad9cb9dd5b039ce203946787335d9d738af669c10cf2534638b645635a22096fc28dcae2475e0cbe",
|
||||
"hash": "e9b35e6f2c075823257bcd59f06fe7bb2ccce1976f44818d2e28810435ef79c712a3c4f20f40da41f691342a4058cf86b078eb7f9d9e4dae83c0547c21ec4f97",
|
||||
"find_args": "MODULE"
|
||||
},
|
||||
"simpleini": {
|
||||
@@ -209,18 +206,9 @@
|
||||
"package": "SDL2",
|
||||
"repo": "libsdl-org/SDL",
|
||||
"sha": "cc016b0046",
|
||||
"hash": "b8d9873446cdb922387471df9968e078714683046674ef0d0edddf8e25da65a539a3bae83d635496b970237f90b07b36a69f8d7855d450de59311d6d6e8c3dbc",
|
||||
"hash": "34d5ef58da6a4f9efa6689c82f67badcbd741f5a4f562a9c2c30828fa839830fb07681c5dc6a7851520e261c8405a416ac0a2c2513b51984fb3b4fa4dcb3e20b",
|
||||
"key": "steamdeck",
|
||||
"bundled": true,
|
||||
"skip_updates": "true"
|
||||
},
|
||||
"sse2neon": {
|
||||
"repo": "DLTcollab/sse2neon",
|
||||
"sha": "66267b52fd",
|
||||
"hash": "3aed8676e1b8c428acb076464663e3968a721457b08710a7c5f8df2fbdaa5601053c1606169a55e987e7a58dd17e3cc3b7fbf953aa891c5ac5f8ce2941862e4b",
|
||||
"download_only": "true",
|
||||
"patches": [
|
||||
"0001-Add-support-for-clang-cl-on-Windows-633.patch"
|
||||
]
|
||||
}
|
||||
}
|
||||
|
||||
Vendored
+1
-1
@@ -2,7 +2,7 @@
|
||||
"ffmpeg": {
|
||||
"repo": "FFmpeg/FFmpeg",
|
||||
"sha": "c2184b65d2",
|
||||
"hash": "007b1ccdd4d3ea3324835258d9a255103253bd66edb442b12d9c60dca85149cad52136a3b3120e5094115b6a3d9e80eeacbf9c07e5ffafc9ac459614d5fa3b22",
|
||||
"hash": "2a89d664119debbb3c006ab1c48d5d7f26e889f4a65ad2e25c8b0503308295123d5a9c5c78bf683aef5ff09acef8c3fc2837f22d3e8c611528b933bf03bcdd97",
|
||||
"bundled": true
|
||||
},
|
||||
"ffmpeg-ci": {
|
||||
|
||||
Vendored
+5
-3
@@ -39,12 +39,14 @@
|
||||
#include <stdint.h>
|
||||
#endif
|
||||
|
||||
// TODO: We should likely vendor this in the future and just make a patch that makes the code section be like this
|
||||
// this kind of macro stupidity is beyond me, but again upstream rejects patches so...
|
||||
#if defined(WIN32) || defined(__WIN32__) || defined(_WIN32) || defined(_MSC_VER)
|
||||
#define RENDERDOC_CC __cdecl
|
||||
#else
|
||||
#elif defined(__linux__) || defined(__FreeBSD__) || defined(__sun__)
|
||||
#define RENDERDOC_CC
|
||||
#elif defined(__APPLE__) || defined(__OpenBSD__) || defined(__NetBSD__)
|
||||
#define RENDERDOC_CC
|
||||
#else
|
||||
#error "Unknown platform"
|
||||
#endif
|
||||
|
||||
#ifdef __cplusplus
|
||||
|
||||
+9285
File diff suppressed because it is too large
Load Diff
@@ -1,19 +0,0 @@
|
||||
let
|
||||
nixpkgs = fetchTarball "https://github.com/NixOS/nixpkgs/tarball/nixos-24.05";
|
||||
pkgs = import nixpkgs { config = {}; overlays = []; };
|
||||
in
|
||||
pkgs.mkShellNoCC {
|
||||
packages = with pkgs; [
|
||||
# essential programs
|
||||
git cmake clang gnumake patch jq pkg-config
|
||||
# libraries
|
||||
openssl boost fmt nlohmann_json lz4 zlib zstd
|
||||
enet libopus vulkan-headers vulkan-utility-libraries
|
||||
spirv-tools spirv-headers simpleini vulkan-memory-allocator
|
||||
vulkan-loader unzip mbedtls zydis glslang python3 httplib
|
||||
cpp-jwt ffmpeg-headless libusb1 cubeb
|
||||
qt6.full # eden
|
||||
SDL2 # eden-cli
|
||||
discord-rpc gamemode # optional components
|
||||
];
|
||||
}
|
||||
@@ -62,6 +62,9 @@ if (MSVC AND NOT CXX_CLANG)
|
||||
/Zc:throwingNew
|
||||
/GT
|
||||
|
||||
# Modules
|
||||
/experimental:module- # Explicitly disable module support due to conflicts with precompiled headers.
|
||||
|
||||
# External headers diagnostics
|
||||
/external:anglebrackets # Treats all headers included by #include <header>, where the header file is enclosed in angle brackets (< >), as external headers
|
||||
/external:W0 # Sets the default warning level to 0 for external headers, effectively disabling warnings for them.
|
||||
|
||||
@@ -74,24 +74,22 @@ android {
|
||||
|
||||
externalNativeBuild {
|
||||
cmake {
|
||||
val extraCMakeArgs =
|
||||
(project.findProperty("YUZU_ANDROID_ARGS") as String?)?.split("\\s+".toRegex())
|
||||
?: emptyList()
|
||||
arguments.addAll(
|
||||
listOf(
|
||||
"-DENABLE_QT=0", // Don't use QT
|
||||
"-DENABLE_SDL2=0", // Don't use SDL
|
||||
"-DENABLE_WEB_SERVICE=1", // Enable web service
|
||||
"-DENABLE_OPENSSL=ON",
|
||||
"-DANDROID_ARM_NEON=true", // cryptopp requires Neon to work
|
||||
"-DYUZU_USE_CPM=ON",
|
||||
"-DCPMUTIL_FORCE_BUNDLED=ON",
|
||||
"-DYUZU_USE_BUNDLED_FFMPEG=ON",
|
||||
"-DCMAKE_EXPORT_COMPILE_COMMANDS=ON",
|
||||
"-DBUILD_TESTING=OFF",
|
||||
"-DYUZU_TESTS=OFF",
|
||||
"-DDYNARMIC_TESTS=OFF",
|
||||
*extraCMakeArgs.toTypedArray()
|
||||
val extraCMakeArgs = (project.findProperty("YUZU_ANDROID_ARGS") as String?)?.split("\\s+".toRegex()) ?: emptyList()
|
||||
|
||||
arguments.addAll(listOf(
|
||||
"-DENABLE_QT=0", // Don't use QT
|
||||
"-DENABLE_SDL2=0", // Don't use SDL
|
||||
"-DENABLE_WEB_SERVICE=1", // Enable web service
|
||||
"-DENABLE_OPENSSL=ON",
|
||||
"-DANDROID_ARM_NEON=true", // cryptopp requires Neon to work
|
||||
"-DYUZU_USE_CPM=ON",
|
||||
"-DCPMUTIL_FORCE_BUNDLED=ON",
|
||||
"-DYUZU_USE_BUNDLED_FFMPEG=ON",
|
||||
"-DCMAKE_EXPORT_COMPILE_COMMANDS=ON",
|
||||
"-DBUILD_TESTING=OFF",
|
||||
"-DYUZU_TESTS=OFF",
|
||||
"-DDYNARMIC_TESTS=OFF",
|
||||
*extraCMakeArgs.toTypedArray()
|
||||
))
|
||||
|
||||
abiFilters("arm64-v8a")
|
||||
@@ -229,7 +227,6 @@ android {
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
tasks.register<Delete>("ktlintReset", fun Delete.() {
|
||||
delete(File(layout.buildDirectory.toString() + File.separator + "intermediates/ktLint"))
|
||||
})
|
||||
|
||||
@@ -200,21 +200,6 @@ object NativeLibrary {
|
||||
|
||||
external fun logSettings()
|
||||
|
||||
/**
|
||||
* Checks for available updates.
|
||||
*/
|
||||
external fun checkForUpdate(): String?
|
||||
|
||||
/**
|
||||
* Return the URL to the release page
|
||||
*/
|
||||
external fun getUpdateUrl(version: String): String
|
||||
|
||||
/**
|
||||
* Returns whether the update checker is enabled through CMAKE options.
|
||||
*/
|
||||
external fun isUpdateCheckerEnabled(): Boolean
|
||||
|
||||
enum class CoreError {
|
||||
ErrorSystemFiles,
|
||||
ErrorSavestate,
|
||||
@@ -454,6 +439,13 @@ object NativeLibrary {
|
||||
*/
|
||||
external fun firmwareVersion(): String
|
||||
|
||||
/**
|
||||
* Verifies installed firmware.
|
||||
*
|
||||
* @return The result code.
|
||||
*/
|
||||
external fun verifyFirmware(): Int
|
||||
|
||||
/**
|
||||
* Check if a game requires firmware to be playable.
|
||||
*
|
||||
@@ -549,21 +541,6 @@ object NativeLibrary {
|
||||
*/
|
||||
external fun clearFilesystemProvider()
|
||||
|
||||
/**
|
||||
* Gets the current virtual amiibo state reported by the core.
|
||||
*
|
||||
* @return Native enum value for the current amiibo state.
|
||||
*/
|
||||
external fun getVirtualAmiiboState(): Int
|
||||
|
||||
/**
|
||||
* Loads amiibo data into the currently running emulation session.
|
||||
*
|
||||
* @param data Raw amiibo file contents.
|
||||
* @return Native enum value representing the load result.
|
||||
*/
|
||||
external fun loadAmiibo(data: ByteArray): Int
|
||||
|
||||
/**
|
||||
* Checks if all necessary keys are present for decryption
|
||||
*/
|
||||
|
||||
@@ -12,10 +12,6 @@ import android.app.NotificationManager
|
||||
import android.content.Context
|
||||
import org.yuzu.yuzu_emu.features.input.NativeInput
|
||||
import java.io.File
|
||||
import java.io.FileOutputStream
|
||||
import java.security.KeyStore
|
||||
import javax.net.ssl.TrustManagerFactory
|
||||
import javax.net.ssl.X509TrustManager
|
||||
import org.yuzu.yuzu_emu.utils.DirectoryInitialization
|
||||
import org.yuzu.yuzu_emu.utils.DocumentsTree
|
||||
import org.yuzu.yuzu_emu.utils.GpuDriverHelper
|
||||
|
||||
-2
@@ -35,8 +35,6 @@ enum class BooleanSetting(override val key: String) : AbstractBooleanSetting {
|
||||
PICTURE_IN_PICTURE("picture_in_picture"),
|
||||
USE_CUSTOM_RTC("custom_rtc_enabled"),
|
||||
BLACK_BACKGROUNDS("black_backgrounds"),
|
||||
|
||||
ENABLE_UPDATE_CHECKS("enable_update_checks"),
|
||||
JOYSTICK_REL_CENTER("joystick_rel_center"),
|
||||
DPAD_SLIDE("dpad_slide"),
|
||||
HAPTIC_FEEDBACK("haptic_feedback"),
|
||||
|
||||
@@ -24,7 +24,7 @@ object Settings {
|
||||
SECTION_INPUT_PLAYER_SIX,
|
||||
SECTION_INPUT_PLAYER_SEVEN,
|
||||
SECTION_INPUT_PLAYER_EIGHT,
|
||||
SECTION_APP_SETTINGS(R.string.app_settings),
|
||||
SECTION_THEME(R.string.preferences_theme),
|
||||
SECTION_DEBUG(R.string.preferences_debug),
|
||||
SECTION_EDEN_VEIL(R.string.eden_veil),
|
||||
SECTION_APPLETS(R.string.applets_menu);
|
||||
@@ -35,6 +35,8 @@ object Settings {
|
||||
|
||||
const val PREF_FIRST_APP_LAUNCH = "FirstApplicationLaunch"
|
||||
const val PREF_SHOULD_SHOW_DRIVER_WARNING = "ShouldShowDriverWarning"
|
||||
const val PREF_SHOULD_SHOW_PRE_ALPHA_WARNING = "ShouldShowPreAlphaWarning"
|
||||
const val PREF_SHOULD_SHOW_EDENS_VEIL_DIALOG = "ShouldShowEdensVeilDialog"
|
||||
const val PREF_MEMORY_WARNING_SHOWN = "MemoryWarningShown"
|
||||
const val SECTION_STATS_OVERLAY = "Stats Overlay"
|
||||
|
||||
|
||||
-6
@@ -750,12 +750,6 @@ abstract class SettingsItem(
|
||||
valuesId = R.array.rendererApiValues
|
||||
)
|
||||
)
|
||||
put(
|
||||
SwitchSetting(
|
||||
BooleanSetting.ENABLE_UPDATE_CHECKS,
|
||||
titleId = R.string.enable_update_checks,
|
||||
)
|
||||
)
|
||||
put(
|
||||
SwitchSetting(
|
||||
BooleanSetting.RENDERER_DEBUG,
|
||||
|
||||
+29
-9
@@ -82,6 +82,9 @@ class SettingsFragmentPresenter(
|
||||
}
|
||||
|
||||
fun onViewCreated() {
|
||||
if (menuTag == MenuTag.SECTION_EDEN_VEIL) {
|
||||
showEdenVeilWarningDialog()
|
||||
}
|
||||
loadSettingsList()
|
||||
}
|
||||
|
||||
@@ -105,7 +108,7 @@ class SettingsFragmentPresenter(
|
||||
MenuTag.SECTION_INPUT_PLAYER_SIX -> addInputPlayer(sl, 5)
|
||||
MenuTag.SECTION_INPUT_PLAYER_SEVEN -> addInputPlayer(sl, 6)
|
||||
MenuTag.SECTION_INPUT_PLAYER_EIGHT -> addInputPlayer(sl, 7)
|
||||
MenuTag.SECTION_APP_SETTINGS -> addThemeSettings(sl)
|
||||
MenuTag.SECTION_THEME -> addThemeSettings(sl)
|
||||
MenuTag.SECTION_DEBUG -> addDebugSettings(sl)
|
||||
MenuTag.SECTION_EDEN_VEIL -> addEdenVeilSettings(sl)
|
||||
MenuTag.SECTION_APPLETS -> addAppletSettings(sl)
|
||||
@@ -1030,14 +1033,6 @@ class SettingsFragmentPresenter(
|
||||
override fun reset() = IntSetting.THEME.setInt(defaultValue)
|
||||
}
|
||||
|
||||
if (NativeLibrary.isUpdateCheckerEnabled()) {
|
||||
add(HeaderSetting(R.string.app_settings))
|
||||
add(BooleanSetting.ENABLE_UPDATE_CHECKS.key)
|
||||
}
|
||||
|
||||
add(HeaderSetting(R.string.theme_and_color))
|
||||
|
||||
|
||||
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.S) {
|
||||
add(
|
||||
SingleChoiceSetting(
|
||||
@@ -1169,4 +1164,29 @@ class SettingsFragmentPresenter(
|
||||
add(BooleanSetting.DEBUG_FLUSH_BY_LINE.key)
|
||||
}
|
||||
}
|
||||
|
||||
fun showEdenVeilWarningDialog() {
|
||||
val shouldDisplayVeilWarning =
|
||||
PreferenceManager.getDefaultSharedPreferences(activity!!.applicationContext)
|
||||
.getBoolean(Settings.PREF_SHOULD_SHOW_EDENS_VEIL_DIALOG, true)
|
||||
|
||||
if (shouldDisplayVeilWarning) {
|
||||
activity?.let {
|
||||
MessageDialogFragment.newInstance(
|
||||
it,
|
||||
titleId = R.string.eden_veil_warning_title,
|
||||
descriptionId = R.string.eden_veil_warning_description,
|
||||
positiveButtonTitleId = R.string.dont_show_again,
|
||||
negativeButtonTitleId = R.string.close,
|
||||
showNegativeButton = true,
|
||||
positiveAction = {
|
||||
PreferenceManager.getDefaultSharedPreferences(activity!!.applicationContext)
|
||||
.edit() {
|
||||
putBoolean(Settings.PREF_SHOULD_SHOW_EDENS_VEIL_DIALOG, false)
|
||||
}
|
||||
}
|
||||
).show(it.supportFragmentManager, MessageDialogFragment.TAG)
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -35,8 +35,6 @@ import android.widget.FrameLayout
|
||||
import android.widget.TextView
|
||||
import android.widget.Toast
|
||||
import androidx.activity.OnBackPressedCallback
|
||||
import androidx.activity.result.contract.ActivityResultContracts
|
||||
import androidx.annotation.StringRes
|
||||
import androidx.appcompat.widget.PopupMenu
|
||||
import androidx.core.content.res.ResourcesCompat
|
||||
import androidx.core.graphics.Insets
|
||||
@@ -56,19 +54,12 @@ import androidx.window.layout.WindowLayoutInfo
|
||||
import com.google.android.material.color.MaterialColors
|
||||
import com.google.android.material.dialog.MaterialAlertDialogBuilder
|
||||
import com.google.android.material.textview.MaterialTextView
|
||||
import kotlinx.coroutines.CancellationException
|
||||
import kotlinx.coroutines.Dispatchers
|
||||
import kotlinx.coroutines.Job
|
||||
import kotlinx.coroutines.ensureActive
|
||||
import kotlinx.coroutines.launch
|
||||
import kotlinx.coroutines.withContext
|
||||
import org.yuzu.yuzu_emu.HomeNavigationDirections
|
||||
import org.yuzu.yuzu_emu.NativeLibrary
|
||||
import org.yuzu.yuzu_emu.R
|
||||
import org.yuzu.yuzu_emu.activities.EmulationActivity
|
||||
import org.yuzu.yuzu_emu.databinding.DialogOverlayAdjustBinding
|
||||
import org.yuzu.yuzu_emu.databinding.FragmentEmulationBinding
|
||||
import org.yuzu.yuzu_emu.features.input.NativeInput
|
||||
import org.yuzu.yuzu_emu.features.settings.model.BooleanSetting
|
||||
import org.yuzu.yuzu_emu.features.settings.model.IntSetting
|
||||
import org.yuzu.yuzu_emu.features.settings.model.Settings
|
||||
@@ -91,11 +82,12 @@ import org.yuzu.yuzu_emu.utils.ViewUtils
|
||||
import org.yuzu.yuzu_emu.utils.ViewUtils.setVisible
|
||||
import org.yuzu.yuzu_emu.utils.collect
|
||||
import org.yuzu.yuzu_emu.utils.CustomSettingsHandler
|
||||
import java.io.ByteArrayOutputStream
|
||||
import java.io.File
|
||||
import kotlin.coroutines.coroutineContext
|
||||
import kotlinx.coroutines.launch
|
||||
import kotlinx.coroutines.withContext
|
||||
import kotlinx.coroutines.Dispatchers
|
||||
import kotlin.coroutines.resume
|
||||
import kotlin.coroutines.suspendCoroutine
|
||||
import java.io.File
|
||||
|
||||
class EmulationFragment : Fragment(), SurfaceHolder.Callback {
|
||||
private lateinit var emulationState: EmulationState
|
||||
@@ -129,60 +121,6 @@ class EmulationFragment : Fragment(), SurfaceHolder.Callback {
|
||||
|
||||
private var perfStatsRunnable: Runnable? = null
|
||||
private var socRunnable: Runnable? = null
|
||||
private var isAmiiboPickerOpen = false
|
||||
private var amiiboLoadJob: Job? = null
|
||||
|
||||
private val loadAmiiboLauncher =
|
||||
registerForActivityResult(ActivityResultContracts.OpenDocument()) { uri ->
|
||||
isAmiiboPickerOpen = false
|
||||
val binding = _binding ?: return@registerForActivityResult
|
||||
binding.inGameMenu.requestFocus()
|
||||
|
||||
if (!isAdded || uri == null) {
|
||||
return@registerForActivityResult
|
||||
}
|
||||
|
||||
if (!NativeLibrary.isRunning()) {
|
||||
showAmiiboDialog(R.string.amiibo_wrong_state)
|
||||
return@registerForActivityResult
|
||||
}
|
||||
|
||||
amiiboLoadJob?.cancel()
|
||||
val owner = viewLifecycleOwner
|
||||
amiiboLoadJob = owner.lifecycleScope.launch {
|
||||
val bytes = readAmiiboFile(uri)
|
||||
|
||||
if (!isAdded) {
|
||||
return@launch
|
||||
}
|
||||
|
||||
if (bytes == null || bytes.isEmpty()) {
|
||||
showAmiiboDialog(
|
||||
if (bytes == null) R.string.amiibo_unknown_error else R.string.amiibo_not_valid
|
||||
)
|
||||
return@launch
|
||||
}
|
||||
|
||||
val result = withContext(Dispatchers.IO) {
|
||||
if (NativeLibrary.isRunning()) {
|
||||
NativeLibrary.loadAmiibo(bytes)
|
||||
} else {
|
||||
AmiiboLoadResult.WrongDeviceState.value
|
||||
}
|
||||
}
|
||||
|
||||
if (!isAdded) {
|
||||
return@launch
|
||||
}
|
||||
handleAmiiboLoadResult(result)
|
||||
}.also { job ->
|
||||
job.invokeOnCompletion {
|
||||
if (amiiboLoadJob == job) {
|
||||
amiiboLoadJob = null
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
override fun onAttach(context: Context) {
|
||||
super.onAttach(context)
|
||||
@@ -685,8 +623,6 @@ class EmulationFragment : Fragment(), SurfaceHolder.Callback {
|
||||
true
|
||||
}
|
||||
|
||||
R.id.menu_load_amiibo -> handleLoadAmiiboSelection()
|
||||
|
||||
R.id.menu_controls -> {
|
||||
val action = HomeNavigationDirections.actionGlobalSettingsActivity(
|
||||
null,
|
||||
@@ -957,96 +893,6 @@ class EmulationFragment : Fragment(), SurfaceHolder.Callback {
|
||||
}
|
||||
}
|
||||
|
||||
private fun handleLoadAmiiboSelection(): Boolean {
|
||||
val binding = _binding ?: return true
|
||||
|
||||
binding.inGameMenu.requestFocus()
|
||||
|
||||
if (!NativeLibrary.isRunning()) {
|
||||
showAmiiboDialog(R.string.amiibo_wrong_state)
|
||||
return true
|
||||
}
|
||||
|
||||
when (AmiiboState.fromValue(NativeLibrary.getVirtualAmiiboState())) {
|
||||
AmiiboState.TagNearby -> {
|
||||
amiiboLoadJob?.cancel()
|
||||
NativeInput.onRemoveNfcTag()
|
||||
showAmiiboDialog(R.string.amiibo_removed_message)
|
||||
}
|
||||
|
||||
AmiiboState.WaitingForAmiibo -> {
|
||||
if (isAmiiboPickerOpen) {
|
||||
return true
|
||||
}
|
||||
|
||||
isAmiiboPickerOpen = true
|
||||
binding.drawerLayout.close()
|
||||
loadAmiiboLauncher.launch(AMIIBO_MIME_TYPES)
|
||||
}
|
||||
|
||||
else -> showAmiiboDialog(R.string.amiibo_wrong_state)
|
||||
}
|
||||
|
||||
return true
|
||||
}
|
||||
|
||||
private fun handleAmiiboLoadResult(result: Int) {
|
||||
when (AmiiboLoadResult.fromValue(result)) {
|
||||
AmiiboLoadResult.Success -> {
|
||||
if (!isAdded) {
|
||||
return
|
||||
}
|
||||
Toast.makeText(
|
||||
requireContext(),
|
||||
getString(R.string.amiibo_load_success),
|
||||
Toast.LENGTH_SHORT
|
||||
).show()
|
||||
}
|
||||
|
||||
AmiiboLoadResult.UnableToLoad -> showAmiiboDialog(R.string.amiibo_in_use)
|
||||
AmiiboLoadResult.NotAnAmiibo -> showAmiiboDialog(R.string.amiibo_not_valid)
|
||||
AmiiboLoadResult.WrongDeviceState -> showAmiiboDialog(R.string.amiibo_wrong_state)
|
||||
AmiiboLoadResult.Unknown -> showAmiiboDialog(R.string.amiibo_unknown_error)
|
||||
}
|
||||
}
|
||||
|
||||
private fun showAmiiboDialog(@StringRes messageRes: Int) {
|
||||
if (!isAdded) {
|
||||
return
|
||||
}
|
||||
|
||||
MaterialAlertDialogBuilder(requireContext())
|
||||
.setTitle(R.string.amiibo_title)
|
||||
.setMessage(messageRes)
|
||||
.setPositiveButton(R.string.ok, null)
|
||||
.show()
|
||||
}
|
||||
|
||||
private suspend fun readAmiiboFile(uri: Uri): ByteArray? =
|
||||
withContext(Dispatchers.IO) {
|
||||
val resolver = context?.contentResolver ?: return@withContext null
|
||||
try {
|
||||
resolver.openInputStream(uri)?.use { stream ->
|
||||
val buffer = ByteArrayOutputStream()
|
||||
val chunk = ByteArray(DEFAULT_BUFFER_SIZE)
|
||||
while (true) {
|
||||
coroutineContext.ensureActive()
|
||||
val read = stream.read(chunk)
|
||||
if (read == -1) {
|
||||
break
|
||||
}
|
||||
buffer.write(chunk, 0, read)
|
||||
}
|
||||
buffer.toByteArray()
|
||||
}
|
||||
} catch (ce: CancellationException) {
|
||||
throw ce
|
||||
} catch (e: Exception) {
|
||||
Log.error("[EmulationFragment] Failed to read amiibo: ${e.message}")
|
||||
null
|
||||
}
|
||||
}
|
||||
|
||||
override fun onPause() {
|
||||
if (this::emulationState.isInitialized) {
|
||||
if (emulationState.isRunning && emulationActivity?.isInPictureInPictureMode != true) {
|
||||
@@ -1059,10 +905,7 @@ class EmulationFragment : Fragment(), SurfaceHolder.Callback {
|
||||
|
||||
override fun onDestroyView() {
|
||||
super.onDestroyView()
|
||||
amiiboLoadJob?.cancel()
|
||||
amiiboLoadJob = null
|
||||
_binding = null
|
||||
isAmiiboPickerOpen = false
|
||||
}
|
||||
|
||||
override fun onDetach() {
|
||||
@@ -1896,34 +1739,7 @@ class EmulationFragment : Fragment(), SurfaceHolder.Callback {
|
||||
}
|
||||
}
|
||||
|
||||
private enum class AmiiboState(val value: Int) {
|
||||
Disabled(0),
|
||||
Initialized(1),
|
||||
WaitingForAmiibo(2),
|
||||
TagNearby(3);
|
||||
|
||||
companion object {
|
||||
fun fromValue(value: Int): AmiiboState =
|
||||
values().firstOrNull { it.value == value } ?: Disabled
|
||||
}
|
||||
}
|
||||
|
||||
private enum class AmiiboLoadResult(val value: Int) {
|
||||
Success(0),
|
||||
UnableToLoad(1),
|
||||
NotAnAmiibo(2),
|
||||
WrongDeviceState(3),
|
||||
Unknown(4);
|
||||
|
||||
companion object {
|
||||
fun fromValue(value: Int): AmiiboLoadResult =
|
||||
values().firstOrNull { it.value == value } ?: Unknown
|
||||
}
|
||||
}
|
||||
|
||||
companion object {
|
||||
private val AMIIBO_MIME_TYPES =
|
||||
arrayOf("application/octet-stream", "application/x-binary", "*/*")
|
||||
private val perfStatsUpdateHandler = Handler(Looper.myLooper()!!)
|
||||
private val socUpdateHandler = Handler(Looper.myLooper()!!)
|
||||
}
|
||||
|
||||
@@ -22,7 +22,7 @@ import androidx.fragment.app.activityViewModels
|
||||
import androidx.lifecycle.lifecycleScope
|
||||
import androidx.navigation.findNavController
|
||||
import androidx.navigation.fragment.navArgs
|
||||
import androidx.recyclerview.widget.StaggeredGridLayoutManager
|
||||
import androidx.recyclerview.widget.GridLayoutManager
|
||||
import com.google.android.material.transition.MaterialSharedAxis
|
||||
import kotlinx.coroutines.Dispatchers
|
||||
import kotlinx.coroutines.launch
|
||||
@@ -457,14 +457,8 @@ class GamePropertiesFragment : Fragment() {
|
||||
}
|
||||
}
|
||||
binding.listProperties.apply {
|
||||
val spanCount = resources.getInteger(R.integer.grid_columns)
|
||||
val staggered = StaggeredGridLayoutManager(
|
||||
spanCount,
|
||||
StaggeredGridLayoutManager.VERTICAL
|
||||
).apply {
|
||||
gapStrategy = StaggeredGridLayoutManager.GAP_HANDLING_MOVE_ITEMS_BETWEEN_SPANS
|
||||
}
|
||||
layoutManager = staggered
|
||||
layoutManager =
|
||||
GridLayoutManager(requireContext(), resources.getInteger(R.integer.grid_columns))
|
||||
adapter = GamePropertiesAdapter(viewLifecycleOwner, properties)
|
||||
}
|
||||
}
|
||||
|
||||
@@ -86,20 +86,6 @@ class HomeSettingsFragment : Fragment() {
|
||||
}
|
||||
)
|
||||
)
|
||||
add(
|
||||
HomeSetting(
|
||||
R.string.app_settings,
|
||||
R.string.app_settings_description,
|
||||
R.drawable.ic_palette,
|
||||
{
|
||||
val action = HomeNavigationDirections.actionGlobalSettingsActivity(
|
||||
null,
|
||||
Settings.MenuTag.SECTION_APP_SETTINGS
|
||||
)
|
||||
binding.root.findNavController().navigate(action)
|
||||
}
|
||||
)
|
||||
)
|
||||
add(
|
||||
HomeSetting(
|
||||
R.string.preferences_controls,
|
||||
@@ -230,6 +216,20 @@ class HomeSettingsFragment : Fragment() {
|
||||
{ openFileManager() }
|
||||
)
|
||||
)
|
||||
add(
|
||||
HomeSetting(
|
||||
R.string.preferences_theme,
|
||||
R.string.theme_and_color_description,
|
||||
R.drawable.ic_palette,
|
||||
{
|
||||
val action = HomeNavigationDirections.actionGlobalSettingsActivity(
|
||||
null,
|
||||
Settings.MenuTag.SECTION_THEME
|
||||
)
|
||||
binding.root.findNavController().navigate(action)
|
||||
}
|
||||
)
|
||||
)
|
||||
add(
|
||||
HomeSetting(
|
||||
R.string.about,
|
||||
|
||||
@@ -383,6 +383,7 @@ class SetupFragment : Fragment() {
|
||||
.putBoolean(Settings.PREF_FIRST_APP_LAUNCH, false)
|
||||
.apply()
|
||||
mainActivity.finishSetup(binding.root.findNavController())
|
||||
mainActivity.showPreAlphaWarningDialog()
|
||||
}
|
||||
|
||||
fun pageForward() {
|
||||
|
||||
@@ -23,7 +23,6 @@ import androidx.navigation.NavController
|
||||
import androidx.navigation.fragment.NavHostFragment
|
||||
import androidx.preference.PreferenceManager
|
||||
import com.google.android.material.color.MaterialColors
|
||||
import com.google.android.material.dialog.MaterialAlertDialogBuilder
|
||||
import java.io.File
|
||||
import java.io.FilenameFilter
|
||||
import org.yuzu.yuzu_emu.NativeLibrary
|
||||
@@ -51,8 +50,6 @@ import java.util.zip.ZipInputStream
|
||||
import androidx.core.content.edit
|
||||
import org.yuzu.yuzu_emu.activities.EmulationActivity
|
||||
import kotlin.text.compareTo
|
||||
import androidx.core.net.toUri
|
||||
import org.yuzu.yuzu_emu.features.settings.model.BooleanSetting
|
||||
|
||||
class MainActivity : AppCompatActivity(), ThemeProvider {
|
||||
private lateinit var binding: ActivityMainBinding
|
||||
@@ -68,6 +65,43 @@ class MainActivity : AppCompatActivity(), ThemeProvider {
|
||||
private val CHECKED_DECRYPTION = "CheckedDecryption"
|
||||
private var checkedDecryption = false
|
||||
|
||||
private val CHECKED_FIRMWARE = "CheckedFirmware"
|
||||
private var checkedFirmware = false
|
||||
|
||||
private val requestBluetoothPermissionsLauncher =
|
||||
registerForActivityResult(
|
||||
androidx.activity.result.contract.ActivityResultContracts.RequestMultiplePermissions()
|
||||
) { permissions ->
|
||||
val granted = permissions.entries.all { it.value }
|
||||
if (granted) {
|
||||
// Permissions were granted.
|
||||
Toast.makeText(this, R.string.bluetooth_permissions_granted, Toast.LENGTH_SHORT)
|
||||
.show()
|
||||
} else {
|
||||
// Permissions were denied.
|
||||
Toast.makeText(this, R.string.bluetooth_permissions_denied, Toast.LENGTH_LONG)
|
||||
.show()
|
||||
}
|
||||
}
|
||||
|
||||
private fun checkAndRequestBluetoothPermissions() {
|
||||
// This check is only necessary for Android 12 (API level 31) and above.
|
||||
if (android.os.Build.VERSION.SDK_INT >= android.os.Build.VERSION_CODES.S) {
|
||||
val permissionsToRequest = arrayOf(
|
||||
android.Manifest.permission.BLUETOOTH_SCAN,
|
||||
android.Manifest.permission.BLUETOOTH_CONNECT
|
||||
)
|
||||
|
||||
val permissionsNotGranted = permissionsToRequest.filter {
|
||||
checkSelfPermission(it) != android.content.pm.PackageManager.PERMISSION_GRANTED
|
||||
}
|
||||
|
||||
if (permissionsNotGranted.isNotEmpty()) {
|
||||
requestBluetoothPermissionsLauncher.launch(permissionsNotGranted.toTypedArray())
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
override fun onCreate(savedInstanceState: Bundle?) {
|
||||
val splashScreen = installSplashScreen()
|
||||
splashScreen.setKeepOnScreenCondition { !DirectoryInitialization.areDirectoriesReady }
|
||||
@@ -94,8 +128,11 @@ class MainActivity : AppCompatActivity(), ThemeProvider {
|
||||
|
||||
setContentView(binding.root)
|
||||
|
||||
checkAndRequestBluetoothPermissions()
|
||||
|
||||
if (savedInstanceState != null) {
|
||||
checkedDecryption = savedInstanceState.getBoolean(CHECKED_DECRYPTION)
|
||||
checkedFirmware = savedInstanceState.getBoolean(CHECKED_FIRMWARE)
|
||||
}
|
||||
if (!checkedDecryption) {
|
||||
val firstTimeSetup = PreferenceManager.getDefaultSharedPreferences(applicationContext)
|
||||
@@ -155,47 +192,30 @@ class MainActivity : AppCompatActivity(), ThemeProvider {
|
||||
// Dismiss previous notifications (should not happen unless a crash occurred)
|
||||
EmulationActivity.stopForegroundService(this)
|
||||
|
||||
val firstTimeSetup = PreferenceManager.getDefaultSharedPreferences(applicationContext)
|
||||
.getBoolean(Settings.PREF_FIRST_APP_LAUNCH, true)
|
||||
|
||||
if (!firstTimeSetup && NativeLibrary.isUpdateCheckerEnabled() && BooleanSetting.ENABLE_UPDATE_CHECKS.getBoolean()) {
|
||||
checkForUpdates()
|
||||
}
|
||||
setInsets()
|
||||
}
|
||||
|
||||
private fun checkForUpdates() {
|
||||
Thread {
|
||||
val latestVersion = NativeLibrary.checkForUpdate()
|
||||
if (latestVersion != null) {
|
||||
runOnUiThread {
|
||||
showUpdateDialog(latestVersion)
|
||||
fun showPreAlphaWarningDialog() {
|
||||
val shouldDisplayAlphaWarning =
|
||||
PreferenceManager.getDefaultSharedPreferences(applicationContext)
|
||||
.getBoolean(Settings.PREF_SHOULD_SHOW_PRE_ALPHA_WARNING, true)
|
||||
if (shouldDisplayAlphaWarning) {
|
||||
MessageDialogFragment.newInstance(
|
||||
this,
|
||||
titleId = R.string.pre_alpha_warning_title,
|
||||
descriptionId = R.string.pre_alpha_warning_description,
|
||||
positiveButtonTitleId = R.string.dont_show_again,
|
||||
negativeButtonTitleId = R.string.close,
|
||||
showNegativeButton = true,
|
||||
positiveAction = {
|
||||
PreferenceManager.getDefaultSharedPreferences(applicationContext).edit() {
|
||||
putBoolean(Settings.PREF_SHOULD_SHOW_PRE_ALPHA_WARNING, false)
|
||||
}
|
||||
}
|
||||
}
|
||||
}.start()
|
||||
).show(supportFragmentManager, MessageDialogFragment.TAG)
|
||||
}
|
||||
}
|
||||
|
||||
private fun showUpdateDialog(version: String) {
|
||||
MaterialAlertDialogBuilder(this)
|
||||
.setTitle(R.string.update_available)
|
||||
.setMessage(getString(R.string.update_available_description, version))
|
||||
.setPositiveButton(android.R.string.ok) { _, _ ->
|
||||
val url = NativeLibrary.getUpdateUrl(version)
|
||||
val intent = Intent(Intent.ACTION_VIEW, url.toUri())
|
||||
startActivity(intent)
|
||||
}
|
||||
.setNeutralButton(R.string.cancel) { dialog, _ ->
|
||||
dialog.dismiss()
|
||||
}
|
||||
.setNegativeButton(R.string.dont_show_again) { dialog, _ ->
|
||||
BooleanSetting.ENABLE_UPDATE_CHECKS.setBoolean(false)
|
||||
NativeConfig.saveGlobalConfig()
|
||||
dialog.dismiss()
|
||||
}
|
||||
.show()
|
||||
}
|
||||
|
||||
|
||||
fun displayMultiplayerDialog() {
|
||||
val dialog = NetPlayDialog(this)
|
||||
dialog.show()
|
||||
@@ -213,6 +233,7 @@ class MainActivity : AppCompatActivity(), ThemeProvider {
|
||||
override fun onSaveInstanceState(outState: Bundle) {
|
||||
super.onSaveInstanceState(outState)
|
||||
outState.putBoolean(CHECKED_DECRYPTION, checkedDecryption)
|
||||
outState.putBoolean(CHECKED_FIRMWARE, checkedFirmware)
|
||||
}
|
||||
|
||||
fun finishSetup(navController: NavController) {
|
||||
|
||||
@@ -30,8 +30,4 @@ if (ENABLE_OPENSSL OR ENABLE_WEB_SERVICE)
|
||||
target_link_libraries(yuzu-android PRIVATE OpenSSL::SSL cpp-jwt::cpp-jwt)
|
||||
endif()
|
||||
|
||||
if (ENABLE_UPDATE_CHECKER)
|
||||
target_compile_definitions(yuzu-android PUBLIC ENABLE_UPDATE_CHECKER)
|
||||
endif()
|
||||
|
||||
set(CPACK_PACKAGE_EXECUTABLES ${CPACK_PACKAGE_EXECUTABLES} yuzu-android)
|
||||
|
||||
@@ -62,8 +62,6 @@ namespace AndroidSettings {
|
||||
Settings::Setting<s32> theme_mode{linkage, -1, "theme_mode", Settings::Category::Android};
|
||||
Settings::Setting<bool> black_backgrounds{linkage, false, "black_backgrounds",
|
||||
Settings::Category::Android};
|
||||
Settings::Setting<bool> enable_update_checks{linkage, true, "enable_update_checks",
|
||||
Settings::Category::Android};
|
||||
|
||||
// Input/performance overlay settings
|
||||
std::vector<OverlayControlData> overlay_control_data;
|
||||
|
||||
@@ -7,10 +7,8 @@
|
||||
|
||||
#include <codecvt>
|
||||
#include <locale>
|
||||
#include <span>
|
||||
#include <string>
|
||||
#include <string_view>
|
||||
#include <vector>
|
||||
#include <dlfcn.h>
|
||||
|
||||
#ifdef ARCHITECTURE_arm64
|
||||
@@ -63,13 +61,9 @@
|
||||
#include "core/loader/loader.h"
|
||||
#include "frontend_common/config.h"
|
||||
#include "frontend_common/firmware_manager.h"
|
||||
#ifdef ENABLE_UPDATE_CHECKER
|
||||
#include "frontend_common/update_checker.h"
|
||||
#endif
|
||||
#include "hid_core/frontend/emulated_controller.h"
|
||||
#include "hid_core/hid_core.h"
|
||||
#include "hid_core/hid_types.h"
|
||||
#include "input_common/drivers/virtual_amiibo.h"
|
||||
#include "jni/native.h"
|
||||
#include "video_core/renderer_base.h"
|
||||
#include "video_core/renderer_vulkan/renderer_vulkan.h"
|
||||
@@ -846,6 +840,10 @@ jstring Java_org_yuzu_yuzu_1emu_NativeLibrary_firmwareVersion(JNIEnv* env, jclas
|
||||
return Common::Android::ToJString(env, display_version);
|
||||
}
|
||||
|
||||
jint Java_org_yuzu_yuzu_1emu_NativeLibrary_verifyFirmware(JNIEnv* env, jclass clazz) {
|
||||
return static_cast<int>(FirmwareManager::VerifyFirmware(EmulationSession::GetInstance().System()));
|
||||
}
|
||||
|
||||
jboolean Java_org_yuzu_yuzu_1emu_NativeLibrary_gameRequiresFirmware(JNIEnv* env, jclass clazz, jstring jprogramId) {
|
||||
auto program_id = EmulationSession::GetProgramId(env, jprogramId);
|
||||
|
||||
@@ -1008,44 +1006,6 @@ jboolean Java_org_yuzu_yuzu_1emu_NativeLibrary_areKeysPresent(JNIEnv* env, jobje
|
||||
return ContentManager::AreKeysPresent();
|
||||
}
|
||||
|
||||
jint Java_org_yuzu_yuzu_1emu_NativeLibrary_getVirtualAmiiboState(JNIEnv* env, jobject jobj) {
|
||||
if (!EmulationSession::GetInstance().IsRunning()) {
|
||||
return static_cast<jint>(InputCommon::VirtualAmiibo::State::Disabled);
|
||||
}
|
||||
|
||||
auto* virtual_amiibo =
|
||||
EmulationSession::GetInstance().GetInputSubsystem().GetVirtualAmiibo();
|
||||
if (virtual_amiibo == nullptr) {
|
||||
return static_cast<jint>(InputCommon::VirtualAmiibo::State::Disabled);
|
||||
}
|
||||
|
||||
return static_cast<jint>(virtual_amiibo->GetCurrentState());
|
||||
}
|
||||
|
||||
jint Java_org_yuzu_yuzu_1emu_NativeLibrary_loadAmiibo(JNIEnv* env, jobject jobj,
|
||||
jbyteArray jdata) {
|
||||
if (!EmulationSession::GetInstance().IsRunning() || jdata == nullptr) {
|
||||
return static_cast<jint>(InputCommon::VirtualAmiibo::Info::WrongDeviceState);
|
||||
}
|
||||
|
||||
auto* virtual_amiibo =
|
||||
EmulationSession::GetInstance().GetInputSubsystem().GetVirtualAmiibo();
|
||||
if (virtual_amiibo == nullptr) {
|
||||
return static_cast<jint>(InputCommon::VirtualAmiibo::Info::Unknown);
|
||||
}
|
||||
|
||||
const jsize length = env->GetArrayLength(jdata);
|
||||
std::vector<u8> bytes(static_cast<std::size_t>(length));
|
||||
if (length > 0) {
|
||||
env->GetByteArrayRegion(jdata, 0, length,
|
||||
reinterpret_cast<jbyte*>(bytes.data()));
|
||||
}
|
||||
|
||||
const auto info =
|
||||
virtual_amiibo->LoadAmiibo(std::span<u8>(bytes.data(), bytes.size()));
|
||||
return static_cast<jint>(info);
|
||||
}
|
||||
|
||||
JNIEXPORT void JNICALL
|
||||
Java_org_yuzu_yuzu_1emu_NativeLibrary_initMultiplayer(
|
||||
JNIEnv* env, [[maybe_unused]] jobject obj) {
|
||||
@@ -1151,48 +1111,4 @@ JNIEXPORT void JNICALL Java_org_yuzu_yuzu_1emu_NativeLibrary_updatePowerState(
|
||||
g_is_charging.store(isCharging, std::memory_order_relaxed);
|
||||
g_has_battery.store(hasBattery, std::memory_order_relaxed);
|
||||
}
|
||||
|
||||
// return #ifdef ENABLE_UPDATE_CHECKER
|
||||
JNIEXPORT jboolean JNICALL Java_org_yuzu_yuzu_1emu_NativeLibrary_isUpdateCheckerEnabled(
|
||||
JNIEnv* env,
|
||||
jobject obj) {
|
||||
#ifdef ENABLE_UPDATE_CHECKER
|
||||
return JNI_TRUE;
|
||||
#else
|
||||
return JNI_FALSE;
|
||||
#endif
|
||||
}
|
||||
|
||||
#ifdef ENABLE_UPDATE_CHECKER
|
||||
|
||||
JNIEXPORT jstring JNICALL Java_org_yuzu_yuzu_1emu_NativeLibrary_checkForUpdate(
|
||||
JNIEnv* env,
|
||||
jobject obj) {
|
||||
const bool is_prerelease = ((strstr(Common::g_build_version, "pre-alpha") != nullptr) ||
|
||||
(strstr(Common::g_build_version, "alpha") != nullptr) ||
|
||||
(strstr(Common::g_build_version, "beta") != nullptr) ||
|
||||
(strstr(Common::g_build_version, "rc") != nullptr));
|
||||
const std::optional<std::string> latest_release_tag =
|
||||
UpdateChecker::GetLatestRelease(is_prerelease);
|
||||
|
||||
if (latest_release_tag && latest_release_tag.value() != Common::g_build_version) {
|
||||
return env->NewStringUTF(latest_release_tag.value().c_str());
|
||||
}
|
||||
return nullptr;
|
||||
}
|
||||
|
||||
JNIEXPORT jstring JNICALL Java_org_yuzu_yuzu_1emu_NativeLibrary_getUpdateUrl(
|
||||
JNIEnv* env,
|
||||
jobject obj,
|
||||
jstring version) {
|
||||
const char* version_str = env->GetStringUTFChars(version, nullptr);
|
||||
const std::string url = fmt::format("{}/{}/releases/tag/{}",
|
||||
std::string{Common::g_build_auto_update_website},
|
||||
std::string{Common::g_build_auto_update_repo},
|
||||
version_str);
|
||||
env->ReleaseStringUTFChars(version, version_str);
|
||||
return env->NewStringUTF(url.c_str());
|
||||
}
|
||||
#endif
|
||||
|
||||
} // extern "C"
|
||||
|
||||
@@ -33,11 +33,6 @@
|
||||
android:icon="@drawable/ic_two_users"
|
||||
android:title="@string/multiplayer" />
|
||||
|
||||
<item
|
||||
android:id="@+id/menu_load_amiibo"
|
||||
android:icon="@drawable/ic_nfc"
|
||||
android:title="@string/load_amiibo" />
|
||||
|
||||
|
||||
<item
|
||||
android:id="@+id/menu_overlay_controls"
|
||||
|
||||
@@ -12,6 +12,7 @@
|
||||
<!-- Spinbox strings -->
|
||||
<string name="increment">زيادة</string>
|
||||
<string name="decrement">تقليل</string>
|
||||
<string name="value">قيمة</string>
|
||||
<string name="value_too_low">يجب أن تكون القيمة على الأقل %1$d</string>
|
||||
<string name="value_too_high">يجب أن تكون القيمة على الأكثر %1$d</string>
|
||||
<string name="invalid_value">قيمة غير صالحة</string>
|
||||
@@ -28,7 +29,7 @@
|
||||
|
||||
<!-- Stats Overlay settings -->
|
||||
<string name="enhanced_fps_suffix">(مُحسَّن)</string>
|
||||
<string name="process_ram">Process RAM: %1$d MB</string>
|
||||
<string name="process_ram">ذاكرة RAM للعملية: %1$d م.ب</string>
|
||||
<string name="shaders_prefix">بناء</string>
|
||||
<string name="shaders_suffix">شادر(شادرات)</string>
|
||||
<string name="charging">(يشحن)</string>
|
||||
@@ -44,6 +45,8 @@
|
||||
<string name="show_fps_description">عرض معدل الإطارات الحالي</string>
|
||||
<string name="show_frametime">عرض وقت الإطار</string>
|
||||
<string name="show_frametime_description">عرض وقت الإطار الحالي</string>
|
||||
<string name="show_speed">عرض السرعة</string>
|
||||
<string name="show_speed_description">عرض نسبة سرعة المحاكاة</string>
|
||||
<string name="show_app_ram_usage">عرض استخدام ذاكرة التطبيق</string>
|
||||
<string name="show_app_ram_usage_description">عرض كمية ذاكرة الوصول العشوائي التي يستخدمها المحاكي</string>
|
||||
<string name="show_system_ram_usage">عرض استخدام ذاكرة النظام</string>
|
||||
@@ -84,6 +87,8 @@
|
||||
<!-- Eden\'s Veil -->
|
||||
<string name="eden_veil">حجاب عدن</string>
|
||||
<string name="eden_veil_description">إعدادات تجريبية لتحسين الأداء والقدرة. قد تسبب هذه الإعدادات شاشات سوداء أو مشاكل أخرى في اللعبة.</string>
|
||||
<string name="eden_veil_warning_title">الإعدادات التجريبية</string>
|
||||
<string name="eden_veil_warning_description">الإعدادات الموجودة في حجاب عدن تجريبية للغاية وقد تسبب مشاكل. إذا لم يتم تشغيل اللعبة، فقم بتعطيل أي إضافات.</string>
|
||||
|
||||
<string name="veil_extensions">امتدادات GPU</string>
|
||||
<string name="dyna_state">الحالة الديناميكية الموسعة</string>
|
||||
@@ -151,6 +156,8 @@
|
||||
<!-- Multiplayer -->
|
||||
<string name="multiplayer">متعدد اللاعبين</string>
|
||||
<string name="multiplayer_description">استضف غرفة لعبتك الخاصة أو انضم إلى غرفة موجودة للعب مع الآخرين</string>
|
||||
<string name="multiplayer_room_title">الغرفة: %1$s</string>
|
||||
<string name="multiplayer_console_id">معرّف وحدة التحكم: %1$s</string>
|
||||
<string name="multiplayer_create_room">إنشاء</string>
|
||||
<string name="multiplayer_join_room">الانضمام</string>
|
||||
<string name="multiplayer_public_room">تصفح الغرف العامة</string>
|
||||
@@ -159,6 +166,11 @@
|
||||
<string name="multiplayer_ip_port">المنفذ</string>
|
||||
<string name="multiplayer_create_room_success">تم إنشاء الغرفة بنجاح</string>
|
||||
<string name="multiplayer_join_room_success">تم الانضمام إلى الغرفة بنجاح</string>
|
||||
<string name="multiplayer_create_room_failed">فشل في إنشاء الغرفة</string>
|
||||
<string name="multiplayer_join_room_failed">فشل في الانضمام إلى الغرفة</string>
|
||||
<string name="multiplayer_name_invalid">الاسم قصير جدًا</string>
|
||||
<string name="multiplayer_address_invalid">عنوان غير صالح</string>
|
||||
<string name="multiplayer_port_invalid">منفذ غير صالح</string>
|
||||
<string name="multiplayer_exit_room">مغادرة الغرفة</string>
|
||||
<string name="multiplayer_network_error">خطأ في الشبكة</string>
|
||||
<string name="multiplayer_lost_connection">فقدان الاتصال</string>
|
||||
@@ -187,15 +199,21 @@
|
||||
<string name="multiplayer_member_banned">%1$s محظور</string>
|
||||
<string name="multiplayer_address_unbanned">تم إلغاء حظر العنوان</string>
|
||||
<string name="multiplayer_kick_member">طرد</string>
|
||||
<string name="multiplayer_chat_input_hint">إرسال رسائل…</string>
|
||||
<string name="multiplayer_password">كلمة المرور</string>
|
||||
<string name="multiplayer_joining">جارٍ الانضمام…</string>
|
||||
<string name="multiplayer_creating">جارٍ الإنشاء…</string>
|
||||
<string name="multiplayer_room_name">اسم الغرفة</string>
|
||||
<string name="multiplayer_room_name_invalid">يجب أن يكون اسم الغرفة بين 3 و20 حرفًا</string>
|
||||
<string name="multiplayer_max_players">الحد الأقصى للاعبين (16)</string>
|
||||
<string name="multiplayer_max_players_value">الحد الأقصى للاعبين: %d</string>
|
||||
<string name="multiplayer_chat">الدردشة</string>
|
||||
<string name="multiplayer_more_options">المزيد من الخيارات</string>
|
||||
<string name="multiplayer_ip_copied">تم نسخ عنوان IP إلى الحافظة</string>
|
||||
<string name="multiplayer_server_address">عنوان الخادم</string>
|
||||
<string name="chat">الدردشة</string>
|
||||
<string name="type_message">اكتب رسالة…</string>
|
||||
<string name="send">إرسال</string>
|
||||
<string name="send_message">إرسال رسالة</string>
|
||||
<string name="multiplayer_moderation">الإشراف</string>
|
||||
<string name="multiplayer_moderation_title">قائمة الحظر</string>
|
||||
@@ -215,8 +233,12 @@
|
||||
<string name="multiplayer_hide_empty_rooms">إخفاء الغرف الفارغة</string>
|
||||
<string name="multiplayer_tap_refresh_to_check_again">اضغط على تحديث للتحقق مرة أخرى</string>
|
||||
<string name="multiplayer_search_public_lobbies">البحث في الغرف…</string>
|
||||
<string name="emulation_multiplayer">متعدد اللاعبين</string>
|
||||
<string name="multiplayer_game_name">الألعاب المفضلة</string>
|
||||
<string name="multiplayer_preferred_game_name">اللعبة المفضلة</string>
|
||||
<string name="multiplayer_lobby_type">نوع الغرفة</string>
|
||||
<string name="multiplayer_no_game">لم يتم العثور على ألعاب</string>
|
||||
<string name="multiplayer_preferred_game_name_invalid">يجب اختيار لعبة مفضلة لاستضافة غرفة.</string>
|
||||
<string name="multiplayer_room_name_error">يجب أن يكون بين 3 و20 حرفًا</string>
|
||||
<string name="multiplayer_required">مطلوب</string>
|
||||
<string name="multiplayer_token_required">مطلوب رمز ويب، انتقل إلى الإعدادات المتقدمة -> النظام -> الشبكة</string>
|
||||
@@ -240,6 +262,7 @@
|
||||
<string name="keys_description">اختر ملف <b>prod.keys</b> من الزر ادناه</string>
|
||||
<string name="select_keys">إختيار المفاتيح</string>
|
||||
<string name="firmware">الفريموير</string>
|
||||
<string name="firmware_description">حدد ملف firmware.zip بالزر أدناه. يتطلب عدن حاليًا الإصدار 19.0.1 أو إصدارًا أقدم.</string>
|
||||
<string name="select_firmware">حدد الفريموير</string>
|
||||
<string name="games">الألعاب</string>
|
||||
<string name="games_description">حدد مجلد <b>العابك</b> من الزر ادناه.</string>
|
||||
@@ -249,7 +272,10 @@
|
||||
<string name="next">التالي</string>
|
||||
<string name="back">عودة</string>
|
||||
<string name="add_games">إضافة الألعاب</string>
|
||||
<string name="add_games_description">حدد مجلد الألعاب الخاص بك</string>
|
||||
<string name="step_complete">مكتمل</string>
|
||||
<string name="bluetooth_permissions_granted">تم منح أذونات البلوتوث.</string>
|
||||
<string name="bluetooth_permissions_denied">تم رفض أذونات البلوتوث. قد يكون دعم التحكم محدودًا.</string>
|
||||
|
||||
<!-- Home strings -->
|
||||
|
||||
@@ -260,11 +286,17 @@
|
||||
<string name="view_carousel">عرض دائري</string>
|
||||
<string name="game_image_desc"> لقطة شاشة لـ%1$s</string>
|
||||
<string name="folder">مجلد</string>
|
||||
<string name="pre_alpha_warning_title">برامج ما قبل ألفا</string>
|
||||
<string name="pre_alpha_warning_description">تحذير: هذا البرنامج هو في مرحلة ما قبل ألفا وقد يكون الأخطاء وتنفيذات الميزة غير المكتملة.</string>
|
||||
<string name="dont_show_again">عدم العرض مجددًا</string>
|
||||
<string name="pre_alpha_warning">برنامج ما قبل ألفا</string>
|
||||
<string name="add_directory_success">تمت إضافة مجلد اللعبة الجديد بنجاح</string>
|
||||
<string name="home_games">الألعاب</string>
|
||||
<string name="home_search">البحث</string>
|
||||
<string name="home_settings">الإعدادات</string>
|
||||
<string name="empty_gamelist">لم يتم العثور على ملفات أو لم يتم تحديد مجلد الألعاب حتى الآن.</string>
|
||||
<string name="search_and_filter_games">البحث وتصنيف الألعاب</string>
|
||||
<string name="select_games_folder">حدد مجلد الألعاب</string>
|
||||
<string name="manage_game_folders">إدارة مجلدات اللعبة</string>
|
||||
<string name="select_games_folder_description">يسمح لـ عدن بملء قائمة الألعاب</string>
|
||||
<string name="add_games_warning">تخطي تحديد مجلد الألعاب؟</string>
|
||||
@@ -272,6 +304,7 @@
|
||||
<string name="add_games_warning_help">https://yuzu-mirror.github.io/help/quickstart/#dumping-games</string>
|
||||
<string name="home_search_games">البحث عن الألعاب</string>
|
||||
<string name="search_settings">إعدادات البحث</string>
|
||||
<string name="games_dir_selected">تم تحديد مجلد الألعاب</string>
|
||||
<string name="install_prod_keys">تثبيت prod.keys</string>
|
||||
<string name="install_prod_keys_description">مطلوب لفك تشفير ألعاب البيع بالتجزئة</string>
|
||||
<string name="install_prod_keys_warning">تخطي إضافة المفاتيح؟</string>
|
||||
@@ -295,15 +328,22 @@
|
||||
<string name="warning_cancel">إلغاء</string>
|
||||
<string name="install_amiibo_keys">تثبيت مفاتيح أميبو</string>
|
||||
<string name="install_amiibo_keys_description">مطلوب لاستخدام أميبو في اللعبة</string>
|
||||
<string name="install_amiibo_keys_failure_extension_description">وحاول مرة أخر bin تحقق من أن ملف المفاتيح له امتداد</string>
|
||||
<string name="dumping_keys_quickstart_link">https://yuzu-mirror.github.io/help/quickstart/#dumping-decryption-keys</string>
|
||||
<string name="gpu_driver_fetcher">جلب برامج تشغيل GPU</string>
|
||||
<string name="gpu_driver_manager">GPU مدير برنامج تشغيل</string>
|
||||
<string name="install_gpu_driver">GPU تثبيت برنامج تشغيل</string>
|
||||
<string name="install_gpu_driver_description">تثبيت برامج تشغيل بديلة لأداء أو دقة أفضل</string>
|
||||
<string name="advanced_settings">إعدادات متقدمة</string>
|
||||
<string name="advanced_settings_game">إعدادات متقدمة: %1$s</string>
|
||||
<string name="settings_description">تكوين إعدادات المحاكي</string>
|
||||
<string name="search_recently_played">تم تشغيلها مؤخرًا</string>
|
||||
<string name="search_recently_added">أضيفت مؤخراً</string>
|
||||
<string name="search_retail">بيع بالتجزئة</string>
|
||||
<string name="search_homebrew">برمجيات يُنتجها هواة</string>
|
||||
<string name="open_user_folder">فتح مجلد عدن</string>
|
||||
<string name="open_user_folder_description">إدارة الملفات الداخلية لـ عدن</string>
|
||||
<string name="theme_and_color_description">تعديل مظهر التطبيق</string>
|
||||
<string name="no_file_manager">لم يتم العثور على مدير الملفات</string>
|
||||
<string name="notification_no_directory_link">لا يمكن فتح مجلد عدن</string>
|
||||
<string name="notification_no_directory_link_description">الرجاء تحديد موقع مجلد المستخدم باستخدام اللوحة الجانبية لمدير الملفات يدويًا</string>
|
||||
@@ -311,14 +351,18 @@
|
||||
<string name="manage_save_data_description">حفظ البيانات التي تم العثور عليها. يرجى اختيار أحد الخيارات التالية</string>
|
||||
<string name="import_save_warning">استيراد حفظ البيانات</string>
|
||||
<string name="import_save_warning_description">سيؤدي هذا إلى استبدال جميع بيانات الحفظ الموجودة بالملف المقدم. هل أنت متأكد أنك تريد الاستمرار؟</string>
|
||||
<string name="import_export_saves_description">استيراد أو تصدير ملفات الحفظ</string>
|
||||
<string name="save_files_importing">جارٍ استيراد ملفات الحفظ…</string>
|
||||
<string name="save_files_exporting">جارٍ تصدير ملفات الحفظ...</string>
|
||||
<string name="save_file_imported_success">تم الاستيراد بنجاح</string>
|
||||
<string name="save_file_invalid_zip_structure">بنية مجلد الحفظ غير صالحة</string>
|
||||
<string name="save_file_invalid_zip_structure_description">يجب أن يكون اسم المجلد الفرعي الأول هو عنوان اللعبة.</string>
|
||||
<string name="import_saves">استيراد</string>
|
||||
<string name="export_saves">تصدير</string>
|
||||
<string name="install_firmware">تثبيت فيرموير</string>
|
||||
<string name="install_firmware_description">يجب أن يكون فيرموير في أرشيف مضغوط وهو ضروري لتشغيل بعض الألعاب</string>
|
||||
<string name="firmware_installing">تثبيت فيرموير</string>
|
||||
<string name="firmware_installed_success">تم تثبيت فيرموير بنجاح</string>
|
||||
<string name="firmware_installed_failure">فشل تثبيت فيرموير</string>
|
||||
<string name="firmware_installed_failure_description">تأكد من أن ملفات الفريموير nca موجودة في جذر ملف zip وحاول مرة أخرى.</string>
|
||||
<string name="firmware_uninstalled_failure">فشل إلغاء تثبيت الفريموير</string>
|
||||
@@ -331,6 +375,7 @@
|
||||
<string name="install_game_content_failure">خطأ في تثبيت الملف(ات) على NAND</string>
|
||||
<string name="install_game_content_failure_description">يرجى التأكد من صحة المحتوى (المحتويات) وتثبيت ملف prod.keys.</string>
|
||||
<string name="install_game_content_failure_base">لا يُسمح بتثبيت الألعاب الأساسية لتجنب التعارضات المحتملة.</string>
|
||||
<string name="install_game_content_failure_file_extension">يتم دعم محتوى NSP و XCI فقط. يرجى التحقق من أن محتوى (محتويات) اللعبة صالحة.</string>
|
||||
<string name="install_game_content_failed_count">%1$d حدث خطأ (أخطاء) في التثبيت </string>
|
||||
<string name="install_game_content_success">تم تثبيت محتوى (محتويات) اللعبة بنجاح</string>
|
||||
<string name="install_game_content_success_install">%1$d تم التثبيت بنجاح</string>
|
||||
@@ -340,6 +385,8 @@
|
||||
<string name="custom_driver_not_supported_description">تحميل برنامج التشغيل المخصص غير مدعوم حاليًا لهذا الجهاز. يُرجى إعادة تفعيل هذا الخيار لاحقًا للتحقق من إضافة الدعم.</string>
|
||||
<string name="manage_yuzu_data">إدارة بيانات عدن</string>
|
||||
<string name="manage_yuzu_data_description">استيراد/تصدير فيرموير والمفاتيح وبيانات المستخدم والمزيد</string>
|
||||
<string name="share_save_file">مشاركة ملف الحفظ</string>
|
||||
<string name="export_save_failed">فشل تصدير الحفظ</string>
|
||||
<string name="game_folders">مجلدات اللعبة</string>
|
||||
<string name="deep_scan">فحص عميق</string>
|
||||
<string name="add_game_folder">إضافة مجلد اللعبة</string>
|
||||
@@ -374,9 +421,11 @@
|
||||
<string name="firmware_uninstalling">إلغاء تثبيت الفريموير</string>
|
||||
<string name="firmware_uninstalled_success">تم إزالة الفريموير بنجاح</string>
|
||||
|
||||
<string name="firmware_invalid">فريموير غير صالح</string>
|
||||
<string name="error_firmware_missing">الفريموير مطلوب لتشغيل بعض الألعاب واستخدام التطبيقات. يعمل عدن فقط مع الفريموير 19.0.1 أو الأقدم.</string>
|
||||
<string name="error_firmware_corrupted">الفريموير موجود ولكن لا يمكن قراءته. تحقق من مفاتيح التشفير وأعد نسخ الفريموير إذا لزم الأمر.</string>
|
||||
<string name="error_firmware_too_new">الفريموير جديد جداً أو لا يمكن قراءته. يعمل عدن فقط مع الفريموير 19.0.1 أو الأقدم.</string>
|
||||
<string name="firmware_missing_help">https://yuzu-mirror.github.io/help/quickstart/#dumping-system-firmware</string>
|
||||
|
||||
<string name="keys_failed">فشل تثبيت المفاتيح</string>
|
||||
<string name="keys_install_success">تم تثبيت المفاتيح بنجاح</string>
|
||||
@@ -394,10 +443,10 @@
|
||||
<string name="applets_error_description"><![CDATA[يرجى التأكد من أن ملف <a href=\"https://yuzu-mirror.github.io/help/quickstart/#dumping-prodkeys-and-titlekeys\">prod.keys</a> الخاص بك و <a href=\"https://yuzu-mirror.github.io/help/quickstart/#dumping-system-firmware\">الفريموير</a> مثبتة وحاول مرة أخرى.<br>بالإضافة إلى ذلك، تأكد من أن الفريموير الخاص بك هو من الإصدار 19.0.1 أو أقدم.]]></string>
|
||||
<string name="album_applet">الألبوم</string>
|
||||
<string name="album_applet_description">شاهد الصور المخزنة في مجلد لقطات شاشة المستخدم باستخدام عارض صور النظام</string>
|
||||
<string name="mii_edit_applet">تعديل Mii</string>
|
||||
<string name="mii_edit_applet_description">عرض وتحرير Miis باستخدام محرر النظام</string>
|
||||
<string name="mii_edit_applet">تحرير Mii</string>
|
||||
<string name="mii_edit_applet_description">باستخدام محرر النظام Miis عرض وتحرير</string>
|
||||
<string name="cabinet_applet">خزانة</string>
|
||||
<string name="cabinet_applet_description">تعديل وحذف البيانات المخزنة على أميبو</string>
|
||||
<string name="cabinet_applet_description">تحرير وحذف البيانات المخزنة على أميبو</string>
|
||||
<string name="cabinet_launcher">مشغل الخزانة</string>
|
||||
<string name="cabinet_nickname_and_owner">إعدادات الاسم المستعار والمالك</string>
|
||||
<string name="cabinet_game_data_eraser">ممحاة بيانات اللعبة</string>
|
||||
@@ -417,11 +466,12 @@
|
||||
<string name="user_data_description">استيراد/تصدير جميع بيانات التطبيق.\nعند استيراد بيانات المستخدم، سيتم حذف جميع بيانات المستخدم الموجودة!\nقد يُسبب استيراد البيانات من Citron بعض المشاكل. يُنصح باستيراد جميع البيانات المطلوبة يدويًا.</string>
|
||||
<string name="exporting_user_data">جارٍ تصدير بيانات المستخدم...</string>
|
||||
<string name="importing_user_data">جارٍ استيراد بيانات المستخدم...</string>
|
||||
<string name="import_user_data">استيراد بيانات المستخدم</string>
|
||||
<string name="invalid_yuzu_backup">نسخة احتياطية عدن غير صالحة</string>
|
||||
<string name="user_data_export_success">تم تصدير بيانات المستخدم بنجاح</string>
|
||||
<string name="user_data_import_success">تم استيراد بيانات المستخدم بنجاح</string>
|
||||
<string name="user_data_export_cancelled">تم إلغاء التصدير</string>
|
||||
<string name="user_data_import_failed_description">تأكد من أن مجلدات بيانات المستخدم موجودة في جذر مجلد zip وتحتوي على ملف تكوين في config/config.ini ثم حاول مرة أخرى.</string>
|
||||
<string name="user_data_import_failed_description">تأكد من أن مجلدات بيانات المستخدم موجودة في جذر مجلد zip وتحتوي على ملف تكوين في config/config.ini وحاول مرة أخرى.</string>
|
||||
<!-- General settings strings -->
|
||||
<string name="frame_limit_enable">الحد من السرعة</string>
|
||||
<string name="frame_limit_enable_description">يحد من سرعة المحاكاة بنسبة محددة من السرعة العادية</string>
|
||||
@@ -489,7 +539,7 @@
|
||||
|
||||
<!-- Debug settings strings -->
|
||||
<string name="cpu">وحدة المعالج المركزية</string>
|
||||
<string name="use_auto_stub">استخدم الملحق التلقائي</string>
|
||||
<string name="use_auto_stub">استخدام الستاب التلقائي</string>
|
||||
<string name="use_auto_stub_description">يقوم تلقائيًا بإضافة خدمات ووظائف ناقصة. قد يحسن التوافق ولكنه قد يتسبب في تعطل المشغل ومشاكل في الاستقرار.</string>
|
||||
|
||||
<string name="gpu">وحدة معالجة الرسومات</string>
|
||||
@@ -550,12 +600,14 @@
|
||||
<string name="qualified_button">%1$s%2$s%3$sزر %4$s</string>
|
||||
<string name="qualified_axis">Axis %1$s%2$s</string>
|
||||
<string name="unused">غير مستخدم</string>
|
||||
<string name="input_prompt">نقل أو الضغط على إدخال</string>
|
||||
<string name="unsupported_input">نوع الإدخال غير مدعوم</string>
|
||||
<string name="input_mapping_filter">مرشح تعيين الإدخال</string>
|
||||
<string name="input_mapping_filter_description">اختر جهازًا لتصفية مدخلات الخرائط</string>
|
||||
<string name="auto_map">تعيين ذراع التحكم تلقائيًا</string>
|
||||
<string name="auto_map">تعيين وحدة التحكم تلقائيًا</string>
|
||||
<string name="auto_map_description">حدد جهازًا لمحاولة رسم الخرائط التلقائية</string>
|
||||
<string name="attempted_auto_map">تم محاولة التعيين التلقائي باستخدام %1$s</string>
|
||||
<string name="controller_type">نوع ذراع التحكم</string>
|
||||
<string name="controller_type">نوع وحدة التحكم</string>
|
||||
<string name="pro_controller">Pro Controller</string>
|
||||
<string name="handheld">محمول</string>
|
||||
<string name="dual_joycons">Dual Joycons</string>
|
||||
@@ -593,6 +645,10 @@
|
||||
|
||||
<!-- Miscellaneous -->
|
||||
<string name="slider_default">افتراضي</string>
|
||||
<string name="ini_saved">الإعدادات المحفوظة</string>
|
||||
<string name="gameid_saved">الإعدادات المحفوظة لـ %1$s</string>
|
||||
<string name="error_saving">خطأ في حفظ %1$s.ini: %2$s</string>
|
||||
<string name="unimplemented_menu">قائمة غير منفذة</string>
|
||||
<string name="loading">جارٍ التحميل…</string>
|
||||
<string name="shutting_down">جارٍ إيقاف التشغيل...</string>
|
||||
<string name="reset_setting_confirmation">هل تريد إعادة تعيين هذا الإعداد مرة أخرى إلى قيمته الافتراضية؟</string>
|
||||
@@ -614,30 +670,42 @@
|
||||
<string name="install">تثبيت</string>
|
||||
<string name="fetch">جلب</string>
|
||||
<string name="delete">حذف</string>
|
||||
<string name="edit">تعديل</string>
|
||||
<string name="import_success">تم الاستيراد بنجاح</string>
|
||||
<string name="edit">حرر</string>
|
||||
<string name="export_success">تم التصدير بنجاح</string>
|
||||
<string name="start">بدء</string>
|
||||
<string name="clear">مسح</string>
|
||||
<string name="global">عالمي</string>
|
||||
<string name="custom">مخصص</string>
|
||||
<string name="notice">إشعار</string>
|
||||
<string name="import_complete">اكتمل الاستيراد</string>
|
||||
<string name="more_options">المزيد من الخيارات</string>
|
||||
<string name="use_global_setting">استخدام الإعداد العام</string>
|
||||
<string name="operation_completed_successfully">اكتملت العملية بنجاح</string>
|
||||
<string name="retry">إعادة المحاولة</string>
|
||||
<string name="confirm">تأكيد</string>
|
||||
<string name="load">تحميل</string>
|
||||
<string name="save">حفظ</string>
|
||||
|
||||
<!-- GPU driver installation -->
|
||||
<string name="select_gpu_driver">GPU حدد برنامج تشغيل</string>
|
||||
<string name="select_gpu_driver_title">هل ترغب في استبدال برنامج تشغيل الحالي؟</string>
|
||||
<string name="select_gpu_driver_install">تثبيت</string>
|
||||
<string name="select_gpu_driver_default">افتراضي</string>
|
||||
<string name="select_gpu_driver_use_default">يستخدم تعريف معالج الرسومات الافتراضي</string>
|
||||
<string name="select_gpu_driver_error">تم تحديد برنامج تشغيل غير صالح</string>
|
||||
<string name="driver_already_installed">برنامج التشغيل مثبت بالفعل</string>
|
||||
<string name="system_gpu_driver">تعريف معالج الرسومات الخاص بالنظام</string>
|
||||
<string name="installing_driver">جارٍ تثبيت التعريف...</string>
|
||||
|
||||
<!-- GPU driver fetcher -->
|
||||
<string name="fetch_error">خطأ أثناء الجلب</string>
|
||||
<string name="check_connection">تحقق من اتصالك وحاول مرة أخرى.</string>
|
||||
<string name="show_releases">عرض الإصدارات</string>
|
||||
<string name="view_full_release_notes">ملاحظات الإصدار</string>
|
||||
<string name="failed_to_fetch">فشل في الجلب</string>
|
||||
<string name="error_during_fetch">خطأ أثناء الجلب</string>
|
||||
<string name="toggle_release_notes">ملاحظات الإصدار</string>
|
||||
<string name="downloads">التحميلات</string>
|
||||
<string name="show_downloads">عرض التحميلات</string>
|
||||
<string name="hide_downloads">إخفاء التحميلات</string>
|
||||
<string name="failed_cache_dir">دليل الذاكرة المؤقتة غير متاح</string>
|
||||
@@ -656,15 +724,17 @@
|
||||
|
||||
<!-- Preferences Screen -->
|
||||
<string name="preferences_settings">إعدادات</string>
|
||||
<string name="preferences_general">عام</string>
|
||||
<string name="preferences_system">النظام</string>
|
||||
<string name="preferences_system_description">وضع الإرساء ،المنطقة ،اللغة</string>
|
||||
<string name="preferences_graphics">الرسومات</string>
|
||||
<string name="preferences_graphics_description">مستوى الدقة ،الدقة ،ذاكرة التخزين المؤقت للتظليل</string>
|
||||
<string name="preferences_audio">الصوت</string>
|
||||
<string name="preferences_audio_description">محرك الإخراج ، حجم الصوت</string>
|
||||
<string name="preferences_controls">عناصر التحكم</string>
|
||||
<string name="preferences_controls_description">مدخلات ذراع تحكم في الخريطة</string>
|
||||
<string name="preferences_controls">التحكم</string>
|
||||
<string name="preferences_controls_description">مدخلات وحدة تحكم الخريطة</string>
|
||||
<string name="preferences_player">اللاعب %d</string>
|
||||
<string name="preferences_theme">السمة واللون</string>
|
||||
<string name="preferences_debug">تصحيح الأخطاء</string>
|
||||
<string name="preferences_debug_description">CPU/GPU debugging, graphics API, fastmem</string>
|
||||
|
||||
@@ -672,7 +742,7 @@
|
||||
<string name="info">معلومات</string>
|
||||
<string name="info_description">معرف البرنامج، المطور، الإصدار</string>
|
||||
<string name="per_game_settings">إعدادات خاصة للعبة</string>
|
||||
<string name="per_game_settings_description">تعديل الإعدادات الخاصة بهذه اللعبة</string>
|
||||
<string name="per_game_settings_description">تحرير الإعدادات الخاصة بهذه اللعبة</string>
|
||||
<string name="launch_options">تشغيل الإعدادات</string>
|
||||
<string name="path">المسار</string>
|
||||
<string name="program_id">معرف العنوان</string>
|
||||
@@ -681,18 +751,6 @@
|
||||
<string name="copy_details">نسخ التفاصيل</string>
|
||||
<string name="add_ons">الإضافات</string>
|
||||
<string name="add_ons_description">التعديلات والتحديثات والمحتوى القابل للتنزيل</string>
|
||||
<string name="playtime">زمن اللعب:</string>
|
||||
<string name="reset_playtime">مسح زمن اللعب</string>
|
||||
<string name="reset_playtime_description">إعادة ضبط زمن اللعب الحالي للعبة إلى 0 ثانية</string>
|
||||
<string name="reset_playtime_warning_description">سيؤدي هذا إلى مسح بيانات زمن اللعب الحالية للعبة. هل أنت متأكد؟</string>
|
||||
<string name="playtime_reset_successfully">تمت إعادة ضبط زمن اللعب</string>
|
||||
<string name="edit_playtime">تعديل زمن التشغيل</string>
|
||||
<string name="hours">ساعات</string>
|
||||
<string name="minutes">دقائق</string>
|
||||
<string name="hours_must_be_between_0_and_9999">يجب أن تكون الساعات بين 0 و 9999</string>
|
||||
<string name="minutes_must_be_between_0_and_59">يجب أن تكون الدقائق بين 0 و 59</string>
|
||||
<string name="seconds_must_be_between_0_and_59">يجب أن تكون الثواني بين 0 و 59</string>
|
||||
<string name="playtime_updated_successfully">تم تحديث زمن اللعب بنجاح</string>
|
||||
<string name="clear_shader_cache">مسح ذاكرة التخزين المؤقت للتظليل</string>
|
||||
<string name="clear_shader_cache_description">يزيل جميع التظليلات التي تم إنشاؤها أثناء لعب هذه اللعبة</string>
|
||||
<string name="clear_shader_cache_warning_description">سوف تواجه المزيد من التأتأة مع تجديد ذاكرة التخزين المؤقت للتظليل</string>
|
||||
@@ -727,17 +785,13 @@
|
||||
<string name="verify_no_result">تعذر التحقق من السلامة</string>
|
||||
<string name="verify_no_result_description">لم يتم التحقق من صحة محتويات الملف</string>
|
||||
<string name="verification_failed_for">فشل التحقق من الملفات التالية:\n%1$s</string>
|
||||
<string name="share_game_settings">مشاركة الإعدادات</string>
|
||||
<string name="import_config">استيراد الإعدادات</string>
|
||||
<string name="export_config">تصدير الإعدادات</string>
|
||||
<string name="share_config_failed">فشل مشاركة ملف الإعدادات</string>
|
||||
|
||||
<!-- ROM loading errors -->
|
||||
<string name="loader_error_encrypted">الخاص بك ROM تم تشفير</string>
|
||||
<string name="loader_error_encrypted_roms_description"><![CDATA[يرجى اتباع الأدلة لإعادة نسخ <a href=\"https://yuzu-mirror.github.io/help/quickstart/#dumping-physical-titles-game-cards\">ألعاب البطاقات</a> أو <a href=\"https://yuzu-mirror.github.io/help/quickstart/#dumping-digital-titles-eshop\">العناوين الرقمية</a>.]]></string>
|
||||
<string name="loader_error_encrypted_keys_description"><![CDATA[تأكد من تثبيت <a href=\"https://yuzu-emu.org/help/quickstart/#dumping-prodkeys-and-titlekeys\">prod.keys</a>]]></string>
|
||||
<string name="loader_error_video_core">حدث خطأ أثناء تهيئة مركز الفيديو</string>
|
||||
<string name="loader_error_video_core_description">قد يكون بسبب تعريف GPU غير متوافق</string>
|
||||
<string name="loader_error_invalid_format">ROM غير قادر على تحميل</string>
|
||||
<string name="loader_error_file_not_found">غير موجود ROM ملف</string>
|
||||
|
||||
<string name="loader_requires_firmware">اللعبة تتطلب فريموير</string>
|
||||
@@ -750,7 +804,7 @@
|
||||
<string name="custom_settings_failed_message">فشل تطبيق الإعدادات المخصصة لـ %1$s: %2$s</string>
|
||||
<string name="launch_with_default_settings">التشغيل بالإعدادات الافتراضية</string>
|
||||
<string name="launch_cancelled">تم إلغاء التشغيل</string>
|
||||
<string name="custom_settings_failure_reasons">تعذر تطبيق الإعدادات المطلوبة. قد يكون ذلك بسبب فقدان برامج تشغيل GPU أو مشكلات في التكوين.</string>
|
||||
<string name="custom_settings_failure_reasons">غير قادر على تطبيق الإعدادات المطلوبة. قد يكون هذا بسبب отсут برامج تشغيل GPU أو مشاكل في التهيئة.</string>
|
||||
<string name="custom_settings_applied">تم تطبيق الإعدادات المخصصة</string>
|
||||
<string name="launching_game">جارٍ التشغيل %1$s...</string>
|
||||
<string name="failed_to_initialize_game">فشل تهيئة اللعبة</string>
|
||||
@@ -763,35 +817,47 @@
|
||||
<string name="config_write_failed">فشل كتابة ملف التهيئة</string>
|
||||
<string name="config_apply_failed">فشل تطبيق التهيئة</string>
|
||||
<string name="config_already_exists_title">التهيئة موجودة بالفعل</string>
|
||||
<string name="config_already_exists_message">الإعدادات المخصصة موجودة بالفعل لـ \'%1$s\' .\n\nهل ترغب في استبدال التكوين الحالي؟\n\nلا يمكن التراجع عن هذا الإجراء.</string>
|
||||
<string name="config_already_exists_message">الإعدادات المخصصة موجودة بالفعل لـ \'%1$s\' .\nهل ترغب في استبدال التكوين الحالي؟\nلا يمكن التراجع عن هذا الإجراء.</string>
|
||||
<string name="config_exists_prompt">جارٍ التحقق من التكوين الحالي...</string>
|
||||
<string name="overwrite_cancelled">تم إلغاء الاستبدال</string>
|
||||
<string name="checking_driver">جارٍ التحقق من برنامج التشغيل المخصص: %1$s</string>
|
||||
<string name="driver_unavailable">برنامج التشغيل المخصص غير متاح لهذا الجهاز</string>
|
||||
<string name="overwrite">استبدال</string>
|
||||
|
||||
<!-- Driver strings -->
|
||||
<string name="missing_gpu_driver_title">برنامج تشغيل وحدة معالجة الرسومات مفقود</string>
|
||||
<string name="missing_gpu_driver_message">برنامج التشغيل المخصص المحدد \"%s\" غير مثبت. هل تريد تنزيله وتثبيته الآن؟</string>
|
||||
<string name="downloading_driver">جارٍ تنزيل برنامج التشغيل...</string>
|
||||
<string name="driver_installed">تم تثبيت برنامج التشغيل بنجاح</string>
|
||||
<string name="driver_installation_failed_title">فشل تثبيت برنامج التشغيل</string>
|
||||
<string name="driver_installation_failed_message">فشل تثبيت برنامج تشغيل GPU: %s</string>
|
||||
<string name="driver_not_available_title">برنامج التشغيل غير متاح</string>
|
||||
<string name="driver_not_available_message">برنامج التشغيل المحدد غير متاح للتنزيل.</string>
|
||||
<string name="driver_not_found">برنامج التشغيل المطلوب غير مثبت: %s</string>
|
||||
<string name="invalid_driver_file">ملف برنامج تشغيل غير صالح: %s</string>
|
||||
<string name="network_unavailable">لا يوجد اتصال بالشبكة. يرجى التحقق من اتصال الإنترنت والمحاولة مرة أخرى.</string>
|
||||
<string name="driver_missing_title">مطلوب برنامج تشغيل وحدة معالجة الرسومات</string>
|
||||
<string name="driver_missing_message">يتطلب إعداد اللعبة برنامج تشغيل وحدة معالجة الرسومات \"\'%s\'\" وهو غير مُثبّت على جهازك.\n\nهل ترغب بتنزيله وتثبيته الآن؟</string>
|
||||
<string name="driver_missing_message">يتطلب إعداد اللعبة برنامج تشغيل وحدة معالجة الرسومات \"\'%s\'\" وهو غير مُثبّت على جهازك.\nهل ترغب بتنزيله وتثبيته الآن؟</string>
|
||||
<string name="driver_download_cancelled">تم إلغاء تنزيل برنامج التشغيل. لا يمكن تشغيل اللعبة بدون برنامج التشغيل المطلوب.</string>
|
||||
<string name="download">تنزيل</string>
|
||||
|
||||
<!-- Emulation Menu -->
|
||||
<string name="emulation_exit">خروج من المحاكاة</string>
|
||||
<string name="emulation_done">إنهاء</string>
|
||||
<string name="emulation_fps_counter">عداد إطار/ثانية</string>
|
||||
<string name="emulation_thermal_indicator">المؤشر الحراري</string>
|
||||
<string name="emulation_toggle_controls">عناصر التحكم</string>
|
||||
<string name="emulation_rel_stick_center">مركز العصا النسبي</string>
|
||||
<string name="emulation_dpad_slide">مزلاق الأسهم</string>
|
||||
<string name="emulation_haptics">الاهتزازات الديناميكية</string>
|
||||
<string name="emulation_show_overlay">عرض ذراع التحكم</string>
|
||||
<string name="emulation_hide_overlay">إخفاء ذراع التحكم</string>
|
||||
<string name="emulation_show_overlay">عرض وحدة التحكم</string>
|
||||
<string name="emulation_hide_overlay">إخفاء وحدة التحكم</string>
|
||||
<string name="emulation_toggle_all">تبديل الكل</string>
|
||||
<string name="emulation_control_adjust">ضبط التراكب</string>
|
||||
<string name="emulation_control_scale">الحجم</string>
|
||||
<string name="emulation_control_opacity">الشفافية</string>
|
||||
<string name="emulation_touch_overlay_reset">إعادة تعيين التراكب</string>
|
||||
<string name="emulation_touch_overlay_edit">تعديل التراكب</string>
|
||||
<string name="emulation_touch_overlay_edit">تحرير التراكب</string>
|
||||
<string name="emulation_pause">إيقاف المحاكاة مؤقتًا</string>
|
||||
<string name="emulation_unpause">إلغاء الإيقاف المؤقت للمحاكاة</string>
|
||||
<string name="emulation_input_overlay">خيارات التراكب</string>
|
||||
@@ -800,6 +866,7 @@
|
||||
<string name="unlock_drawer">فتح الدرج</string>
|
||||
<string name="reset">إعادة الضبط</string>
|
||||
|
||||
<string name="load_settings">جارٍ تحميل الإعدادات...</string>
|
||||
|
||||
<!-- Software keyboard -->
|
||||
<string name="software_keyboard">لوحة المفاتيح البرمجية</string>
|
||||
@@ -813,7 +880,8 @@
|
||||
<string name="save_load_error">خطأ في الحفظ/التحميل</string>
|
||||
<string name="fatal_error">خطا فادح</string>
|
||||
<string name="fatal_error_message">حدث خطأ فادح. تحقق من السجل للحصول على التفاصيل.\nقد يؤدي استمرار المحاكاة إلى حدوث أعطال.</string>
|
||||
<string name="device_memory_inadequate">ذاكرة الوصول العشوائي للجهاز: %1$s\nموصى به: %2$s</string>
|
||||
<string name="performance_warning">سيؤدي إيقاف تشغيل هذا الإعداد إلى انخفاض كبير في الأداء. يوصى بترك هذا الإعداد قيد التشغيل.</string>
|
||||
<string name="device_memory_inadequate">ذاكرة الوصول العشوائي للجهاز: \'%1$s\'\nموصى به: \'%2$s\' </string>
|
||||
<string name="memory_formatted">%1$s %2$s</string>
|
||||
<string name="no_game_present">لا توجد لعبة قابلة للتمهيد</string>
|
||||
|
||||
@@ -832,6 +900,7 @@
|
||||
<string name="memory_8gb">8 جيجابايت (غير آمن)</string>
|
||||
|
||||
<!--CPU clock speeds-->
|
||||
<string name="clock_base">أساسي (1000MHz)</string>
|
||||
<string name="clock_boost">تعزيز (1700MHz)</string>
|
||||
<string name="clock_fast">سريع (2000MHz)</string>
|
||||
|
||||
@@ -845,6 +914,7 @@
|
||||
<string name="temperature_fahrenheit">فهرنهايت</string>
|
||||
|
||||
<!-- Memory Sizes -->
|
||||
<string name="memory_byte">بايت</string>
|
||||
<string name="memory_byte_shorthand">بت</string>
|
||||
<string name="memory_kilobyte">كيلوبايت</string>
|
||||
<string name="memory_megabyte">ميجابايت</string>
|
||||
@@ -903,7 +973,7 @@
|
||||
<string name="resolution_four">4X (2880p/4320p) (بطيء)</string>
|
||||
|
||||
<!-- Renderer VSync -->
|
||||
<string name="renderer_vsync_immediate">Immediate (إيقاف)</string>
|
||||
<string name="renderer_vsync_immediate">Immediate (Off)</string>
|
||||
<string name="renderer_vsync_mailbox">Mailbox</string>
|
||||
<string name="renderer_vsync_fifo">FIFO (On)</string>
|
||||
<string name="renderer_vsync_fifo_relaxed">FIFO Relaxed</string>
|
||||
@@ -952,8 +1022,6 @@
|
||||
<string name="cpu_accuracy_accurate">دقيق</string>
|
||||
<string name="cpu_accuracy_unsafe">غير آمن</string>
|
||||
<string name="cpu_accuracy_paranoid">Paranoid</string>
|
||||
<string name="cpu_accuracy_debugging">تصحيح الأخطاء</string>
|
||||
|
||||
<!-- Gamepad Buttons -->
|
||||
<string name="gamepad_d_pad">الأسهم</string>
|
||||
<string name="gamepad_left_stick">العصا اليسرى</string>
|
||||
@@ -962,12 +1030,14 @@
|
||||
<string name="gamepad_screenshot">لقطة شاشة</string>
|
||||
|
||||
<!-- Disk shader cache -->
|
||||
<string name="preparing_shaders">إعداد الظلال</string>
|
||||
<string name="building_shaders">بناء التظليل</string>
|
||||
|
||||
<!-- App options -->
|
||||
<!-- Theme options -->
|
||||
<string name="change_app_theme">تغيير سمة التطبيق</string>
|
||||
<string name="theme_default">افتراضي</string>
|
||||
<string name="theme_material_you">Material You</string>
|
||||
|
||||
<!-- Theme Modes -->
|
||||
<string name="change_theme_mode">تغيير وضع السمة</string>
|
||||
<string name="theme_mode_follow_system">اتبع النظام</string>
|
||||
|
||||
@@ -22,6 +22,8 @@
|
||||
<string name="show_fps_description">نیشاندانی ژمارەی فرەییم لە چرکە</string>
|
||||
<string name="show_frametime">نیشاندانی کاتی فرەییم</string>
|
||||
<string name="show_frametime_description">نیشاندانی کاتی فرەییم</string>
|
||||
<string name="show_speed">نیشاندانی خێرایی</string>
|
||||
<string name="show_speed_description">نیشاندانی خێرایی ئیمولەیشن بە ڕێژە</string>
|
||||
<string name="show_app_ram_usage">نیشاندانی بەکارهێنانی RAMی ئەپ</string>
|
||||
<string name="show_app_ram_usage_description">نیشاندانی بڕی RAM کە ئێمولاتۆر بەکاردەهێنێت</string>
|
||||
<string name="show_system_ram_usage">نیشاندانی بەکارهێنانی RAMی سیستەم</string>
|
||||
@@ -62,6 +64,8 @@
|
||||
<!-- Eden\'s Veil -->
|
||||
<string name="eden_veil">حجاب عدن</string>
|
||||
<string name="eden_veil_description">ڕێکخستنە تاقیکارییەکان بۆ باشترکردنی کارایی و توانا. ئەم ڕێکخستنانە لەوانەیە ببێتە هۆی شاشە ڕەشەکان یان کێشەیتری یاری.</string>
|
||||
<string name="eden_veil_warning_title">ڕێکخستنە تاقیکارییەکان</string>
|
||||
<string name="eden_veil_warning_description">ڕێکخستنەکانی ناو پردی عەدن زۆر تاقیکارییە و ڕەنگە کێشە دروست بکات. ئەگەر یارییەکەت کارینەکات، هەموو زیادکراوەکان ناچالاک بکە.</string>
|
||||
|
||||
<string name="veil_extensions">پاشکۆکانی GPU</string>
|
||||
<string name="dyna_state">الحالة الديناميكية الممتدة</string>
|
||||
@@ -129,6 +133,8 @@
|
||||
<!-- Multiplayer -->
|
||||
<string name="multiplayer">یاری فرە یاریکەر</string>
|
||||
<string name="multiplayer_description">ژووری یاری خۆت دروست بکە یان بچۆ ناو ژوورێکی تر بۆ یاریکردن لەگەڵ خەڵک</string>
|
||||
<string name="multiplayer_room_title">ژوور: %1$s</string>
|
||||
<string name="multiplayer_console_id">ناسنامەی کۆنسۆڵ: %1$s</string>
|
||||
<string name="multiplayer_create_room">دروستکردن</string>
|
||||
<string name="multiplayer_join_room">بەشداریکردن</string>
|
||||
<string name="multiplayer_public_room">گەڕان بە ژوورە گشتییەکان</string>
|
||||
@@ -137,6 +143,11 @@
|
||||
<string name="multiplayer_ip_port">پۆرت</string>
|
||||
<string name="multiplayer_create_room_success">ژوور بە سەرکەوتوویی دروستکرا</string>
|
||||
<string name="multiplayer_join_room_success">بە سەرکەوتوویی چوویتە ناو ژوورەوە</string>
|
||||
<string name="multiplayer_create_room_failed">دروستکردنی ژوور سەرنەکەوت</string>
|
||||
<string name="multiplayer_join_room_failed">نەتوانی بچیتە ناو ژوورەوە</string>
|
||||
<string name="multiplayer_name_invalid">ناو زۆر کورتە</string>
|
||||
<string name="multiplayer_address_invalid">ناونیشانی نادروست</string>
|
||||
<string name="multiplayer_port_invalid">پۆرتی نادروست</string>
|
||||
<string name="multiplayer_exit_room">دەرچوون لە ژوور</string>
|
||||
<string name="multiplayer_network_error">هەڵەی تۆڕ</string>
|
||||
<string name="multiplayer_lost_connection">پەیوەندی لەدەستچوو</string>
|
||||
@@ -165,15 +176,21 @@
|
||||
<string name="multiplayer_member_banned">%1$s قەدەغەکرا</string>
|
||||
<string name="multiplayer_address_unbanned">ناونیشان لە قەدەغە دەرکرا</string>
|
||||
<string name="multiplayer_kick_member">دەرکردن</string>
|
||||
<string name="multiplayer_chat_input_hint">ناردنی نامە…</string>
|
||||
<string name="multiplayer_password">تێپەڕەوشە</string>
|
||||
<string name="multiplayer_joining">چوونە ناو ژوور…</string>
|
||||
<string name="multiplayer_creating">دروستکردنی ژوور…</string>
|
||||
<string name="multiplayer_room_name">ناوی ژوور</string>
|
||||
<string name="multiplayer_room_name_invalid">ناوی ژوور دەبێت لە نێوان 3 بۆ 20 پیت بێت</string>
|
||||
<string name="multiplayer_max_players">زۆرترین یاریکەر (16)</string>
|
||||
<string name="multiplayer_max_players_value">زۆرترین یاریکەر: %d</string>
|
||||
<string name="multiplayer_chat">گفتوگۆ</string>
|
||||
<string name="multiplayer_more_options">هەڵبژاردنی زیاتر</string>
|
||||
<string name="multiplayer_ip_copied">ناونیشانی IP کۆپی کراوە بۆ کلیپبۆرد</string>
|
||||
<string name="multiplayer_server_address">ناونیشانی سێرڤەر</string>
|
||||
<string name="chat">گفتوگۆ</string>
|
||||
<string name="type_message">نامە بنووسە…</string>
|
||||
<string name="send">ناردن</string>
|
||||
<string name="send_message">ناردنی پەیام</string>
|
||||
<string name="multiplayer_moderation">چاودێری</string>
|
||||
<string name="multiplayer_moderation_title">لیستی قەدەغەکراوەکان</string>
|
||||
@@ -193,8 +210,12 @@
|
||||
<string name="multiplayer_hide_empty_rooms">شاردنەوەی ژوورە بەتاڵەکان</string>
|
||||
<string name="multiplayer_tap_refresh_to_check_again">بیپەڕێنەوە بۆ پشکنینی دووبارە</string>
|
||||
<string name="multiplayer_search_public_lobbies">گەڕان بە ژوورەکان…</string>
|
||||
<string name="emulation_multiplayer">یاری فرە یاریکەر</string>
|
||||
<string name="multiplayer_game_name">یارییە پەسەندکراوەکان</string>
|
||||
<string name="multiplayer_preferred_game_name">یاریی پەسەندکراو</string>
|
||||
<string name="multiplayer_lobby_type">جۆری لۆبی</string>
|
||||
<string name="multiplayer_no_game">هیچ یارییەک نەدۆزرایەوە</string>
|
||||
<string name="multiplayer_preferred_game_name_invalid">پێویستە یارییەکی پەسەندکراو هەڵبژێریت بۆ میوانداریکردنی ژوور.</string>
|
||||
<string name="multiplayer_room_name_error">دەبێت لە نێوان 3 بۆ 20 پیت بێت</string>
|
||||
<string name="multiplayer_required">پێویستە</string>
|
||||
<string name="multiplayer_token_required">تۆکنی وێب پێویستە، بڕۆ بۆ ڕێکخستنە پێشکەوتووەکان -> سیستەم -> تۆڕ</string>
|
||||
@@ -226,6 +247,10 @@
|
||||
<string name="next">دواتر</string>
|
||||
<string name="back">گەڕانەوە</string>
|
||||
<string name="add_games">زیادکردنی یاری</string>
|
||||
<string name="add_games_description">فۆڵدەری یارییەکانت هەڵبژێرە</string>
|
||||
<string name="bluetooth_permissions_granted">مۆڵەتی بلوتۆس درا.</string>
|
||||
<string name="bluetooth_permissions_denied">مۆڵەتی بلوتۆس ڕەتکرایەوە. پشتیوانی کۆنتڕۆڵەر دەکرێت سنوردار بێت.</string>
|
||||
|
||||
<!-- Home strings -->
|
||||
|
||||
<string name="alphabetical">پێنووس</string>
|
||||
@@ -233,14 +258,21 @@
|
||||
<string name="view_grid">تۆڕ</string>
|
||||
<string name="view_carousel">کارۆسێل</string>
|
||||
<string name="folder">فۆڵدەر</string>
|
||||
<string name="pre_alpha_warning_title">نەرمەکاڵای پێش-ئەلفا</string>
|
||||
<string name="pre_alpha_warning_description">ئاگاداری: ئەم وەشانە بۆ بڵاوکردنەوە یان پیشاندانی گشتی نییە. ئەم نەرمەکاڵایە لە قۆناغی پێش-ئەلفادایە و لەوانەیە هەڵەی تێدا بێت.</string>
|
||||
<string name="dont_show_again">دووبارە نیشان مەدە</string>
|
||||
<string name="pre_alpha_warning">نەرمەکاڵای پێش-ئەلفا؛ بۆ بەکارهێنانی گشتی نییە</string>
|
||||
<string name="home_games">یاریەکان</string>
|
||||
<string name="home_search">گەڕان</string>
|
||||
<string name="home_settings">ڕێکخستنەکان</string>
|
||||
<string name="empty_gamelist">تا ئێستا هیچ فایلێک نەدۆزراوەتەوە یان هیچ ناونیشانێکی یاری هەڵنەبژێردراوە.</string>
|
||||
<string name="search_and_filter_games">گەڕان و فلتەرکردنی یارییەکان</string>
|
||||
<string name="select_games_folder">فۆڵدەری یارییەکان هەڵبژێرە</string>
|
||||
<string name="select_games_folder_description">ڕێگە بە یوزو دەدات بۆ پڕکردنەوەی لیستی یارییەکان</string>
|
||||
<string name="add_games_warning">هەڵبژاردنی فۆڵدەری یارییەکان تێپەڕدەکەیت؟</string>
|
||||
<string name="add_games_warning_description">یارییەکان لە لیستی یارییەکاندا پیشان نادرێن ئەگەر فۆڵدەرێک هەڵنەبژێردرێت.</string>
|
||||
<string name="home_search_games">گەڕان بەدوای یارییەکاندا</string>
|
||||
<string name="games_dir_selected">ناونیشانی یارییەکان هەڵبژێردرا</string>
|
||||
<string name="install_prod_keys">دابمەزرێنە prod.keys</string>
|
||||
<string name="install_prod_keys_description">پێویستە بۆ کۆدکردنەوەى یارییە تاکەکەسییەکان</string>
|
||||
<string name="install_prod_keys_warning">زیادکردنی کلیلەکان تێپەڕدەکەیت؟</string>
|
||||
@@ -262,25 +294,34 @@
|
||||
<string name="warning_cancel">ڕەتکردنەوە</string>
|
||||
<string name="install_amiibo_keys">دامەزراندنی کلیلی Amiibo</string>
|
||||
<string name="install_amiibo_keys_description">پێویستە بۆ بەکارهێنانی Amiibo لە یاریدا</string>
|
||||
<string name="install_amiibo_keys_failure_extension_description">دڵنیابە کە فایلی کلیلەکانت درێژکراوەی .bin ی هەیە و دووبارە هەوڵبدەرەوە.</string>
|
||||
<string name="gpu_driver_fetcher">هێنەری درایڤەری GPU</string>
|
||||
<string name="install_gpu_driver">دامەزراندنی وەگەڕخەری GPU</string>
|
||||
<string name="install_gpu_driver_description">دامەزراندنی وەگەڕخەری بەدیل بۆ ئەوەی بە ئەگەرێکی زۆرەوە کارایی باشتر یان وردبینی هەبێت</string>
|
||||
<string name="advanced_settings">ڕێکخستنە پێشکەوتووەکان</string>
|
||||
<string name="settings_description">سازدانی ڕێکخستنەکانی ئیمولەیتەر</string>
|
||||
<string name="search_recently_played">بەم دواییە یاری کردووە</string>
|
||||
<string name="search_recently_added">بەم دواییە زیادکرا</string>
|
||||
<string name="search_retail">بەتاک</string>
|
||||
<string name="search_homebrew">هۆم بریو</string>
|
||||
<string name="open_user_folder">کردنەوەی فۆڵدەری یوزو</string>
|
||||
<string name="open_user_folder_description">بەڕێوەبردنی فایلە ناوخۆییەکانی یوزو</string>
|
||||
<string name="theme_and_color_description">دەستکاری کردنی شێوازی ئەپەکە</string>
|
||||
<string name="no_file_manager">هیچ فایل بەڕێوەبەرێک نەدۆزرایەوە</string>
|
||||
<string name="notification_no_directory_link">نەتوانرا ناونیشانی یوزو بکرێتەوە</string>
|
||||
<string name="notification_no_directory_link_description">تکایە شوێنی فۆڵدەری بەکارهێنەر لەگەڵ پانێڵی لایەنی فایل بەڕێوەبارەکان بە دەست بدۆزەرەوە.</string>
|
||||
<string name="manage_save_data">بەڕێوەبردنی داتای پاشەکەوتکراو</string>
|
||||
<string name="manage_save_data_description">داتای پاشەکەوتکراو دۆزراوە. تکایە لە خوارەوە بژاردەیەک هەڵبژێرە.</string>
|
||||
<string name="import_export_saves_description">هاوردەکردن یان هەناردەکردنی فایلی پاشەکەوتکراو</string>
|
||||
<string name="save_file_imported_success">بە سەرکەوتوویی هاوردە کرا</string>
|
||||
<string name="save_file_invalid_zip_structure">پێکهاتەی شوێنی پاشەکەوتکراو نادروستە</string>
|
||||
<string name="save_file_invalid_zip_structure_description">ناوی یەکەمی فۆڵدەر دەبێت ناسنامەی ناونیشانی یارییەکە بێت.</string>
|
||||
<string name="import_saves">هاوردەکردن</string>
|
||||
<string name="export_saves">هەناردەکردن</string>
|
||||
<string name="install_firmware">دامەزراندنی پتەوواڵا</string>
|
||||
<string name="install_firmware_description">پتەوواڵا دەبێت لە ئەرشیفی زیپدا بێت و پێویستە بۆ بووتکردنی هەندێک یاری</string>
|
||||
<string name="firmware_installing">دامەزرانی پتەوواڵا</string>
|
||||
<string name="firmware_installed_success">پتەوواڵا بە سەرکەوتوویی دامەزرا</string>
|
||||
<string name="firmware_installed_failure">دامەزراندنی پتەوواڵا شکستی هێنا</string>
|
||||
<string name="share_log">هاوبەشی پێکردنی لۆگەکانی چاککردنەوە</string>
|
||||
<string name="share_log_description">فایلە لۆگەکەی یوزو هاوبەش بکە بۆ چاککردنی کێشەکان</string>
|
||||
@@ -291,6 +332,7 @@
|
||||
<string name="install_game_content_failure">هەڵە لە دامەزراندنی فایل(ەکان) بۆ NAND</string>
|
||||
<string name="install_game_content_failure_description">دڵنیابە لە دروستی ناوەڕۆک و بوونی فایلی prod.keys.</string>
|
||||
<string name="install_game_content_failure_base">دامەزراندنی یارییە سەرەکییەکان ڕێگە نییە.</string>
|
||||
<string name="install_game_content_failure_file_extension">تەنها NSP و XCI پشتگیری دەکرێن. دڵنیابە لە دروستی ناوەڕۆک.</string>
|
||||
<string name="install_game_content_failed_count">%1$d هەڵەی دامەزراندن</string>
|
||||
<string name="install_game_content_success">ناوەڕۆکی یاری بە سەرکەوتوویی دامەزرا</string>
|
||||
<string name="install_game_content_success_install">%1$d بە سەرکەوتوویی دامەزرا</string>
|
||||
@@ -298,6 +340,8 @@
|
||||
<string name="custom_driver_not_supported">وەگەڕخەری تایبەتمەند پشتگیری ناکرێت</string>
|
||||
<string name="manage_yuzu_data">بەڕێوەبردنی داتای eden</string>
|
||||
<string name="manage_yuzu_data_description">هاوردە/هەناردەکردنی پتەوواڵا، کلیل، داتای بەکارهێنەر و زیاتر!</string>
|
||||
<string name="share_save_file">هاوبەشی فایلی پاشەکەوتکراو</string>
|
||||
<string name="export_save_failed">هەناردەکردنی پاشەکەوتکراو شکستی هێنا</string>
|
||||
<string name="game_folders">فۆڵدەری یارییەکان</string>
|
||||
<string name="deep_scan">گەڕانی قووڵ</string>
|
||||
<string name="add_game_folder">زیادکردنی فۆڵدەری یاری</string>
|
||||
@@ -322,10 +366,10 @@
|
||||
<string name="firmware_uninstalling">جاري إزالة البرنامج الثابت</string>
|
||||
<string name="firmware_uninstalled_success">تم إزالة البرنامج الثابت بنجاح</string>
|
||||
|
||||
<string name="firmware_invalid">فریموێر نادروستە</string>
|
||||
<string name="error_firmware_missing">فریموێر پێویستە بۆ کارپێکردنی هەندێک یاری و بەکارهێنانی بەرنامەکان. ئێدین تەنها لەگەڵ فریموێری 19.0.1 یان کۆنتر کار دەکات.</string>
|
||||
<string name="error_firmware_corrupted">فریموێر هەیە بەڵام ناتوانرێت بخوێنرێتەوە. پشکنین بکە بۆ کلیلی شیکردنەوە و دووبارە فریموێرەکە دامپ بکە ئەگەر پێویست بوو.</string>
|
||||
<string name="error_firmware_too_new">فریموێر زۆر نوێ یان ناتوانرێت بخوێنرێتەوە. ئێدین تەنها لەگەڵ فریموێری 19.0.1 یان کۆنتر کار دەکات.</string>
|
||||
|
||||
<string name="keys_failed">سەرکەوتوو نەبوو لە ناساندنی کلیلی</string>
|
||||
<string name="keys_install_success">کلیلەکان بە سەرکەوتوویی ناسێندران</string>
|
||||
<string name="error_keys_copy_failed">یەک یان زیاتر کلیل سەرکەوتوو نەبوو لە ناساندن.</string>
|
||||
@@ -484,6 +528,9 @@
|
||||
<string name="profile">پڕۆفایل</string>
|
||||
<!-- Miscellaneous -->
|
||||
<string name="slider_default">بنەڕەت</string>
|
||||
<string name="ini_saved">ڕێکخستنە پاشەکەوتکراوەکان</string>
|
||||
<string name="gameid_saved">ڕێکخستنە پاشەکەوتکراوەکان بۆ %1$s</string>
|
||||
<string name="error_saving">هەڵە لە پاشەکەوتکردن %1$s.ini: %2$s</string>
|
||||
<string name="loading">بارکردن...</string>
|
||||
<string name="reset_setting_confirmation">ئایا دەتەوێت ئەم ڕێکخستنە بگەڕێنیتەوە بۆ بەهای بنەڕەتی خۆی؟</string>
|
||||
<string name="reset_to_default">دوبارە ڕێکخستنەوەی بۆ بنەڕەت</string>
|
||||
@@ -499,17 +546,27 @@
|
||||
<string name="install">دامەزراندن</string>
|
||||
<string name="fetch">هێنان</string>
|
||||
<string name="delete">سڕینەوە</string>
|
||||
<string name="clear">سڕینەوە</string>
|
||||
<string name="save">هەڵگرتن</string>
|
||||
|
||||
<!-- GPU driver installation -->
|
||||
<string name="select_gpu_driver">هەڵبژاردنی وەگەڕخەری GPU</string>
|
||||
<string name="select_gpu_driver_title">حەز دەکەیت وەگەڕخەری GPU ی ئێستات بگۆڕیت؟</string>
|
||||
<string name="select_gpu_driver_install">دامەزراندن</string>
|
||||
<string name="select_gpu_driver_default">بنەڕەت</string>
|
||||
<string name="select_gpu_driver_use_default">بەکارهێنانی وەگەڕخەری GPU ی بنەڕەت</string>
|
||||
<string name="system_gpu_driver">وەگەڕخەری GPU ی سیستەم</string>
|
||||
<string name="installing_driver">دامەزراندنی وەگەڕخەر...</string>
|
||||
|
||||
<!-- GPU driver fetcher -->
|
||||
<string name="fetch_error">هەڵە لە کاتی هێنان</string>
|
||||
<string name="check_connection">پەیوەندییەکەت پشکنە و دووبارە هەوڵبدە.</string>
|
||||
<string name="show_releases">پیشاندانی وەشانەکان</string>
|
||||
<string name="view_full_release_notes">تێبینییەکانی وەشان</string>
|
||||
<string name="failed_to_fetch">هێنان شکستی هێنا</string>
|
||||
<string name="error_during_fetch">هەڵە لە کاتی هێنان</string>
|
||||
<string name="toggle_release_notes">گۆڕینی تێبینییەکانی وەشان</string>
|
||||
<string name="downloads">داگرتنەکان</string>
|
||||
<string name="show_downloads">پیشاندانی داگرتنەکان</string>
|
||||
<string name="hide_downloads">شاردنەوەی داگرتنەکان</string>
|
||||
<string name="failed_cache_dir">دایری کاش بەردەست نییە</string>
|
||||
@@ -528,9 +585,11 @@
|
||||
|
||||
<!-- Preferences Screen -->
|
||||
<string name="preferences_settings">ڕێکخستنەکان</string>
|
||||
<string name="preferences_general">گشتی</string>
|
||||
<string name="preferences_system">سیستەم</string>
|
||||
<string name="preferences_graphics">گرافیک</string>
|
||||
<string name="preferences_audio">دەنگ</string>
|
||||
<string name="preferences_theme">ڕەنگ و ڕووکار</string>
|
||||
<string name="preferences_debug">چاککردنەوە</string>
|
||||
<string name="path">ڕێڕەو</string>
|
||||
<string name="version">وەشان</string>
|
||||
@@ -540,6 +599,7 @@
|
||||
<string name="loader_error_encrypted_keys_description"><![CDATA[تکایە دڵنیابەوە لەدامەزراوی <a href=\"https://yuzu-mirror.github.io/help/quickstart/#dumping-prodkeys-and-titlekeys\">prod.keys</a> فایلەکەت بۆ ئەوەی بتوانرێت یارییەکان کۆد بکرێنەوە.]]></string>
|
||||
<string name="loader_error_video_core">هەڵەیەک لە دەستپێکردنی ناوەکی ڤیدیۆکەدا ڕوویدا</string>
|
||||
<string name="loader_error_video_core_description">ئەمەش بەزۆری بەهۆی وەگەڕخەرێکی ناتەبای GPU ەوەیە. دامەزراندنی وەگەڕخەری GPU ی تایبەتمەندکراو لەوانەیە ئەم کێشەیە چارەسەر بکات.</string>
|
||||
<string name="loader_error_invalid_format">ناتوانرێت ڕۆم باربکرێت</string>
|
||||
<string name="loader_error_file_not_found">فایلی ڕۆم بوونی نییە</string>
|
||||
|
||||
<string name="loader_requires_firmware">یارییەکە فریموێر پێویستە</string>
|
||||
@@ -567,9 +627,19 @@
|
||||
<string name="config_already_exists_title">ڕێکخستن هەبووی تری هەیە</string>
|
||||
<string name="config_exists_prompt">پشکنین بۆ ڕێکخستنی ئێستا...</string>
|
||||
<string name="overwrite_cancelled">سڕینەوە هەڵوەشیندراوە</string>
|
||||
<string name="checking_driver">پشکنین بۆ ڕاهێنەری هەڵبژێردراو: %1$s</string>
|
||||
<string name="driver_unavailable">ڕاهێنەری هەڵبژێردراو بۆ ئەم ئامێرە بەردەست نییە</string>
|
||||
<string name="overwrite">سڕینەوە</string>
|
||||
|
||||
<!-- Driver strings -->
|
||||
<string name="missing_gpu_driver_title">ڕاهێنەری GPU ونبووە</string>
|
||||
<string name="missing_gpu_driver_message">ڕاهێنەری هەڵبژێردراوی دیاریکراو \"%s\" دامەزراو نییە. ئایا دەتەوێت ئێستا دایببزێنیت و دامەزرێنیت?</string>
|
||||
<string name="downloading_driver">داگرتنی ڕاهێنەر...</string>
|
||||
<string name="driver_installed">ڕاهێنەر بە سەرکەوتوویی دامەزرا</string>
|
||||
<string name="driver_installation_failed_title">دامەزرانی ڕاهێنەر سەرکەوتوو نەبوو</string>
|
||||
<string name="driver_installation_failed_message">سەرکەوتوو نەبوو لە دامەزراندنی ڕاهێنەری GPU: %s</string>
|
||||
<string name="driver_not_available_title">ڕاهێنەر بەردەست نییە</string>
|
||||
<string name="driver_not_available_message">ڕاهێنەری دیاریکراو بۆ داگرتن بەردەست نییە.</string>
|
||||
<string name="driver_not_found">ڕاهێنەری پێویست دامەزراو نییە: %s</string>
|
||||
<string name="invalid_driver_file">پەڕگەی ڕاهێنەری نادروست: %s</string>
|
||||
<string name="network_unavailable">هیچ پەیوەندییەکی تۆڕ بەردەست نییە. تکایە پەیوەندیی ئینتەرنێتەکەت بپشکنە و دووبارە هەوڵبدە.</string>
|
||||
@@ -580,6 +650,7 @@
|
||||
<!-- Emulation Menu -->
|
||||
<string name="emulation_exit">دەرچوون لە ئیمولەیشن</string>
|
||||
<string name="emulation_done">تەواو</string>
|
||||
<string name="emulation_fps_counter">FPS ژمێر</string>
|
||||
<string name="emulation_toggle_controls">گۆڕینی کۆنتڕۆڵ</string>
|
||||
<string name="emulation_rel_stick_center">ناوەندی گێڕ بەنزیکەیی</string>
|
||||
<string name="emulation_dpad_slide">خلیسکانی 4 دوگمەکە</string>
|
||||
@@ -596,6 +667,8 @@
|
||||
<string name="emulation_unpause">لادانی وەستاندنی ئیمولەیشن</string>
|
||||
<string name="emulation_input_overlay">هەڵبژاردەکانی داپۆشەر</string>
|
||||
<string name="touchscreen">رووکاری لەمسی</string>
|
||||
<string name="load_settings">بارکردنی ڕێکخستنەکان...</string>
|
||||
|
||||
<!-- Software keyboard -->
|
||||
<string name="software_keyboard">کیبۆردی نەرمەکاڵا</string>
|
||||
|
||||
@@ -621,6 +694,7 @@
|
||||
<string name="memory_8gb">8GB (نائاسایش)</string>
|
||||
|
||||
<!--CPU clock speeds-->
|
||||
<string name="clock_base">بنەڕەتی (1000MHz)</string>
|
||||
<string name="clock_boost">زۆرکردن (1700MHz)</string>
|
||||
<string name="clock_fast">خێرا (2000MHz)</string>
|
||||
|
||||
@@ -633,7 +707,6 @@
|
||||
<string name="temperature_celsius">سیلیزی</string>
|
||||
<string name="temperature_fahrenheit">فارینهایت</string>
|
||||
|
||||
<!-- Memory Sizes -->
|
||||
<string name="memory_byte_shorthand">B</string>
|
||||
<string name="memory_gigabyte">GB</string>
|
||||
<!-- Renderer APIs -->
|
||||
@@ -718,12 +791,14 @@
|
||||
<string name="gamepad_screenshot">وێنەگرتنی شاشە</string>
|
||||
|
||||
<!-- Disk shader cache -->
|
||||
<string name="preparing_shaders">ئامادەکردنی سێبەرەکان</string>
|
||||
<string name="building_shaders">دروستکردنی سێبەرەکان</string>
|
||||
|
||||
<!-- App options -->
|
||||
<!-- Theme options -->
|
||||
<string name="change_app_theme">گۆڕینی ڕووکاری ئەپەکە</string>
|
||||
<string name="theme_default">بنەڕەت</string>
|
||||
<string name="theme_material_you">کەرەستەی تۆ</string>
|
||||
|
||||
<!-- Theme Modes -->
|
||||
<string name="change_theme_mode">گۆڕینی دۆخی ڕووکار</string>
|
||||
<string name="theme_mode_follow_system">پەیڕەوی کردنی سیستەم</string>
|
||||
|
||||
@@ -22,6 +22,8 @@
|
||||
<string name="show_fps_description">Aktuální počet snímků za sekundu</string>
|
||||
<string name="show_frametime">Zobrazit čas snímku</string>
|
||||
<string name="show_frametime_description">Aktuální čas snímku</string>
|
||||
<string name="show_speed">Zobrazit rychlost</string>
|
||||
<string name="show_speed_description">Aktuální rychlost emulace v procentech</string>
|
||||
<string name="show_app_ram_usage">Zobrazit využití RAM aplikace</string>
|
||||
<string name="show_app_ram_usage_description">Zobrazit množství RAM, které emulátor používá</string>
|
||||
<string name="show_system_ram_usage">Zobrazit využití systémové RAM</string>
|
||||
@@ -62,6 +64,8 @@
|
||||
<!-- Eden\'s Veil -->
|
||||
<string name="eden_veil">Edenův závoj</string>
|
||||
<string name="eden_veil_description">Experimentální nastavení pro zlepšení výkonu a schopností. Tato nastavení mohou způsobit černé obrazovky nebo další herní problémy.</string>
|
||||
<string name="eden_veil_warning_title">Experimentální nastavení</string>
|
||||
<string name="eden_veil_warning_description">Nastavení obsažená v Edenově závoji jsou vysoce experimentální a mohou způsobit problémy. Pokud se vaše hra nespustí, deaktivujte všechna rozšíření.</string>
|
||||
|
||||
<string name="veil_extensions">Rozšíření GPU</string>
|
||||
<string name="dyna_state">Rozšířený dynamický stav</string>
|
||||
@@ -129,6 +133,8 @@
|
||||
<!-- Multiplayer -->
|
||||
<string name="multiplayer">Více hráčů</string>
|
||||
<string name="multiplayer_description">Vytvořte si vlastní herní místnost nebo se připojte k existující a hrajte s ostatními</string>
|
||||
<string name="multiplayer_room_title">Místnost: %1$s</string>
|
||||
<string name="multiplayer_console_id">ID konzole: %1$s</string>
|
||||
<string name="multiplayer_create_room">Vytvořit</string>
|
||||
<string name="multiplayer_join_room">Připojit se</string>
|
||||
<string name="multiplayer_public_room">Procházet veřejné místnosti</string>
|
||||
@@ -137,6 +143,11 @@
|
||||
<string name="multiplayer_ip_port">Port</string>
|
||||
<string name="multiplayer_create_room_success">Místnost úspěšně vytvořena</string>
|
||||
<string name="multiplayer_join_room_success">Úspěšně připojeno k místnosti</string>
|
||||
<string name="multiplayer_create_room_failed">Nepodařilo se vytvořit místnost</string>
|
||||
<string name="multiplayer_join_room_failed">Nepodařilo se připojit k místnosti</string>
|
||||
<string name="multiplayer_name_invalid">Jméno je příliš krátké</string>
|
||||
<string name="multiplayer_address_invalid">Neplatná adresa</string>
|
||||
<string name="multiplayer_port_invalid">Neplatný port</string>
|
||||
<string name="multiplayer_exit_room">Opustit místnost</string>
|
||||
<string name="multiplayer_network_error">Chyba sítě</string>
|
||||
<string name="multiplayer_lost_connection">Ztraceno připojení</string>
|
||||
@@ -165,15 +176,21 @@
|
||||
<string name="multiplayer_member_banned">%1$s zablokován</string>
|
||||
<string name="multiplayer_address_unbanned">Adresa odblokována</string>
|
||||
<string name="multiplayer_kick_member">Vyhodit</string>
|
||||
<string name="multiplayer_chat_input_hint">Poslat zprávu…</string>
|
||||
<string name="multiplayer_password">Heslo</string>
|
||||
<string name="multiplayer_joining">Připojování…</string>
|
||||
<string name="multiplayer_creating">Vytváření…</string>
|
||||
<string name="multiplayer_room_name">Název místnosti</string>
|
||||
<string name="multiplayer_room_name_invalid">Název místnosti musí mít 3 až 20 znaků</string>
|
||||
<string name="multiplayer_max_players">Maximální počet hráčů (16)</string>
|
||||
<string name="multiplayer_max_players_value">Maximální počet hráčů: %d</string>
|
||||
<string name="multiplayer_chat">Chat</string>
|
||||
<string name="multiplayer_more_options">Další možnosti</string>
|
||||
<string name="multiplayer_ip_copied">IP adresa zkopírována do schránky</string>
|
||||
<string name="multiplayer_server_address">Adresa serveru</string>
|
||||
<string name="chat">Chat</string>
|
||||
<string name="type_message">Napište zprávu…</string>
|
||||
<string name="send">Odeslat</string>
|
||||
<string name="send_message">Odeslat zprávu</string>
|
||||
<string name="multiplayer_moderation">Moderace</string>
|
||||
<string name="multiplayer_moderation_title">Seznam zablokovaných</string>
|
||||
@@ -193,8 +210,12 @@
|
||||
<string name="multiplayer_hide_empty_rooms">Skrýt prázdné místnosti</string>
|
||||
<string name="multiplayer_tap_refresh_to_check_again">Klepnutím obnovte znovu</string>
|
||||
<string name="multiplayer_search_public_lobbies">Hledat místnosti…</string>
|
||||
<string name="emulation_multiplayer">Více hráčů</string>
|
||||
<string name="multiplayer_game_name">Preferované hry</string>
|
||||
<string name="multiplayer_preferred_game_name">Preferovaná hra</string>
|
||||
<string name="multiplayer_lobby_type">Typ místnosti</string>
|
||||
<string name="multiplayer_no_game">Nenalezeny žádné hry</string>
|
||||
<string name="multiplayer_preferred_game_name_invalid">Pro hostování místnosti musíte vybrat preferovanou hru.</string>
|
||||
<string name="multiplayer_room_name_error">Musí mít 3 až 20 znaků</string>
|
||||
<string name="multiplayer_required">Povinné</string>
|
||||
<string name="multiplayer_token_required">Vyžadován webový token, přejděte do Pokročilá nastavení -> Systém -> Síť</string>
|
||||
@@ -223,6 +244,10 @@
|
||||
<string name="next">Další</string>
|
||||
<string name="back">Zpět</string>
|
||||
<string name="add_games">Přidat hry</string>
|
||||
<string name="add_games_description">Vyber svoji složku se hrami</string>
|
||||
<string name="bluetooth_permissions_granted">Bluetoothová oprávnění udělena.</string>
|
||||
<string name="bluetooth_permissions_denied">Bluetoothová oprávnění zamítnuta. Podpora ovladače může být omezena.</string>
|
||||
|
||||
<!-- Home strings -->
|
||||
|
||||
<string name="alphabetical">Abecedně</string>
|
||||
@@ -230,10 +255,16 @@
|
||||
<string name="view_grid">Mřížka</string>
|
||||
<string name="view_carousel">Kolotoč</string>
|
||||
<string name="folder">Složka</string>
|
||||
<string name="pre_alpha_warning_title">Předběžná verze</string>
|
||||
<string name="pre_alpha_warning_description">Varování: Tato verze není určena pro veřejnost. Může obsahovat chyby.</string>
|
||||
<string name="dont_show_again">Nezobrazovat znovu</string>
|
||||
<string name="pre_alpha_warning">PŘEDBĚŽNÁ VERZE</string>
|
||||
<string name="home_games">Hry</string>
|
||||
<string name="home_search">Hledat</string>
|
||||
<string name="home_settings">Nastavení</string>
|
||||
<string name="empty_gamelist">Nebyly nalezeny žádné soubory nebo ještě nebyl vybrán žádný adresář s hrami.</string>
|
||||
<string name="search_and_filter_games">Hledat a filtrovat hry</string>
|
||||
<string name="select_games_folder">Vybrat složku s hrami</string>
|
||||
<string name="manage_game_folders">Spravovat složky s hrami</string>
|
||||
<string name="install_prod_keys">Instalovat prod.keys</string>
|
||||
<string name="install_prod_keys_warning">Přeskočit přidávání klíčů?</string>
|
||||
@@ -255,20 +286,26 @@
|
||||
<string name="install_amiibo_keys_description">Povinné použití Amiibo ve hře</string>
|
||||
<string name="gpu_driver_fetcher">Stahovač ovladačů GPU</string>
|
||||
<string name="gpu_driver_manager">Správce ovladače GPU</string>
|
||||
<string name="install_gpu_driver">Instalovat GPU ovladač</string>
|
||||
<string name="advanced_settings">Pokročilé nastavení</string>
|
||||
<string name="settings_description">Konfigurovat nastavení emulátoru</string>
|
||||
<string name="search_recently_played">Nedávno hrané</string>
|
||||
<string name="search_recently_added">Nedávno přidané</string>
|
||||
<string name="search_homebrew">Homebrew</string>
|
||||
<string name="open_user_folder">Otevřít Eden složku</string>
|
||||
<string name="open_user_folder_description">Spravovat soubory Eden</string>
|
||||
<string name="no_file_manager">Nenalezen žádný správce souborů</string>
|
||||
<string name="notification_no_directory_link">Nepovedlo se otevřít Eden složku</string>
|
||||
<string name="manage_save_data">Spravovat data postupu ve hře</string>
|
||||
<string name="manage_save_data_description">Data postupu nalezeny. Prosím vyberte možnost.</string>
|
||||
<string name="import_export_saves_description">Importovat nebo exportovat data postupu</string>
|
||||
<string name="save_file_imported_success">Uspěšně importováno</string>
|
||||
<string name="save_file_invalid_zip_structure">Neplatná struktura dat postupu</string>
|
||||
<string name="import_saves">Importovat</string>
|
||||
<string name="export_saves">Exportovat</string>
|
||||
<string name="install_firmware">Nainstalovat firmware</string>
|
||||
<string name="firmware_installing">Instalování firmwaru</string>
|
||||
<string name="firmware_installed_success">Firmware byl úspěšně nainstalován</string>
|
||||
<string name="firmware_installed_failure">Instalace firmwaru selhala</string>
|
||||
<string name="install_game_content">Nainstalovat obsah hry</string>
|
||||
<string name="install_game_content_description">Nainstalovat aktualizace hry nebo DLC</string>
|
||||
@@ -301,10 +338,10 @@
|
||||
<string name="firmware_uninstalling">Odstraňování firmwaru</string>
|
||||
<string name="firmware_uninstalled_success">Firmware byl úspěšně odinstalován</string>
|
||||
|
||||
<string name="firmware_invalid">Neplatný firmware</string>
|
||||
<string name="error_firmware_missing">Firmware je vyžadován pro spuštění některých her a aplikací. Eden funguje pouze s firmwarem 19.0.1 nebo starším.</string>
|
||||
<string name="error_firmware_corrupted">Firmware byl nahlášen jako přítomný, ale nelze jej přečíst. Zkontrolujte šifrovací klíče a v případě potřeby firmware převezměte znovu.</string>
|
||||
<string name="error_firmware_too_new">Firmware je příliš nový nebo nelze přečíst. Eden funguje pouze s firmwarem 19.0.1 nebo starším.</string>
|
||||
|
||||
<string name="keys_failed">Selhání instalace klíčů</string>
|
||||
<string name="keys_install_success">Klíče úspěšně nainstalovány</string>
|
||||
<string name="error_keys_copy_failed">Jeden nebo více klíčů se nepodařilo zkopírovat.</string>
|
||||
@@ -341,6 +378,7 @@
|
||||
<string name="user_data">Uživatelská data</string>
|
||||
<string name="exporting_user_data">Exportování uživatelských dat...</string>
|
||||
<string name="importing_user_data">Importování uživatelských dat...</string>
|
||||
<string name="import_user_data">Importovat uživatelská data</string>
|
||||
<string name="invalid_yuzu_backup">Neplatná záloha Eden</string>
|
||||
<string name="user_data_export_success">Uživatelská data byla úspěšně exportována.</string>
|
||||
<string name="user_data_import_success">Uživatelská data byla úspěšně importována.</string>
|
||||
@@ -432,6 +470,8 @@
|
||||
|
||||
<!-- Miscellaneous -->
|
||||
<string name="slider_default">Výchozí</string>
|
||||
<string name="ini_saved">Nastavení uložena</string>
|
||||
<string name="gameid_saved">Uložena nastavení pro %1$s</string>
|
||||
<string name="loading">Načítání...</string>
|
||||
<string name="shutting_down">Vypínání...</string>
|
||||
<string name="reset_setting_confirmation">Chcete obnovit toto nastavení zpět na jeho výchozí hodnotu?</string>
|
||||
@@ -448,8 +488,12 @@
|
||||
<string name="delete">Smazat</string>
|
||||
<string name="export_success">Úspěšně exportováno</string>
|
||||
<string name="start">Start</string>
|
||||
<string name="clear">Vymazat</string>
|
||||
<string name="custom">Vlastní</string>
|
||||
<!-- GPU driver installation -->
|
||||
<string name="select_gpu_driver">Vybrat GPU ovladač</string>
|
||||
<string name="select_gpu_driver_title">Chcete nahradit váš aktuální ovladač GPU?</string>
|
||||
<string name="select_gpu_driver_install">Nainstalovat</string>
|
||||
<string name="select_gpu_driver_default">Výchozí</string>
|
||||
<string name="select_gpu_driver_error">Vybrán neplatný ovladač</string>
|
||||
<string name="driver_already_installed">Ovladač již nainstalován</string>
|
||||
@@ -457,9 +501,14 @@
|
||||
<string name="installing_driver">Instalování ovladače...</string>
|
||||
|
||||
<!-- GPU driver fetcher -->
|
||||
<string name="fetch_error">Chyba při stahování</string>
|
||||
<string name="check_connection">Zkontrolujte připojení a zkuste to znovu.</string>
|
||||
<string name="show_releases">Zobrazit verze</string>
|
||||
<string name="view_full_release_notes">Poznámky k verzi</string>
|
||||
<string name="failed_to_fetch">Nepodařilo se stáhnout</string>
|
||||
<string name="error_during_fetch">Chyba při stahování</string>
|
||||
<string name="toggle_release_notes">Přepnout poznámky k verzi</string>
|
||||
<string name="downloads">Stažené soubory</string>
|
||||
<string name="show_downloads">Zobrazit stažené soubory</string>
|
||||
<string name="hide_downloads">Skrýt stažené soubory</string>
|
||||
<string name="failed_cache_dir">Adresář mezipaměti není k dispozici</string>
|
||||
@@ -478,10 +527,12 @@
|
||||
|
||||
<!-- Preferences Screen -->
|
||||
<string name="preferences_settings">Nastavení</string>
|
||||
<string name="preferences_general">Obecné</string>
|
||||
<string name="preferences_system">Systém</string>
|
||||
<string name="preferences_graphics">Grafika</string>
|
||||
<string name="preferences_audio">Zvuk</string>
|
||||
<string name="preferences_audio_description">Výstupní engine, hlasitost</string>
|
||||
<string name="preferences_theme">Vzhled a barva</string>
|
||||
<string name="preferences_debug">Ladění</string>
|
||||
<!-- Game properties -->
|
||||
<string name="info">Info</string>
|
||||
@@ -534,6 +585,7 @@
|
||||
<string name="loader_error_encrypted_keys_description"><![CDATA[Nainstalujte <a href=\"https://yuzu-mirror.github.io/help/quickstart/#dumping-prodkeys-and-titlekeys\">prod.keys</a> pro dešifrování.]]></string>
|
||||
<string name="loader_error_video_core">Chyba inicializace</string>
|
||||
<string name="loader_error_video_core_description">Neplatný GPU ovladač</string>
|
||||
<string name="loader_error_invalid_format">Nelze načíst ROM</string>
|
||||
<string name="loader_error_file_not_found">ROM neexistuje</string>
|
||||
|
||||
<string name="loader_requires_firmware">Hra vyžaduje firmware</string>
|
||||
@@ -561,9 +613,19 @@
|
||||
<string name="config_already_exists_title">Konfigurace již existuje</string>
|
||||
<string name="config_exists_prompt">Kontrola existující konfigurace...</string>
|
||||
<string name="overwrite_cancelled">Přepsání zrušeno</string>
|
||||
<string name="checking_driver">Kontrola vlastního ovladače: %1$s</string>
|
||||
<string name="driver_unavailable">Vlastní ovladač není pro toto zařízení k dispozici</string>
|
||||
<string name="overwrite">Přepsat</string>
|
||||
|
||||
<!-- Driver strings -->
|
||||
<string name="missing_gpu_driver_title">Chybí ovladač GPU</string>
|
||||
<string name="missing_gpu_driver_message">Vybraný vlastní ovladač \"%s\" není nainstalován. Chcete jej nyní stáhnout и nainstalovat?</string>
|
||||
<string name="downloading_driver">Stahování ovladače...</string>
|
||||
<string name="driver_installed">Ovladač byl úspěšně nainstalován</string>
|
||||
<string name="driver_installation_failed_title">Instalace ovladače selhala</string>
|
||||
<string name="driver_installation_failed_message">Nepodařilo se nainstalovat ovladač GPU: %s</string>
|
||||
<string name="driver_not_available_title">Ovladač není k dispozici</string>
|
||||
<string name="driver_not_available_message">Vybraný ovladač není k dispozici ke stažení.</string>
|
||||
<string name="driver_not_found">Požadovaný ovladač není nainstalován: %s</string>
|
||||
<string name="invalid_driver_file">Neplatný soubor ovladače: %s</string>
|
||||
<string name="network_unavailable">Není dostupné síťové připojení. Zkontrolujte prosím připojení k internetu a zkuste to znovu.</string>
|
||||
@@ -574,6 +636,8 @@
|
||||
<!-- Emulation Menu -->
|
||||
<string name="emulation_exit">Ukončit emulaci</string>
|
||||
<string name="emulation_done">Hotovo</string>
|
||||
<string name="emulation_fps_counter">FPS čítač</string>
|
||||
<string name="emulation_thermal_indicator">Teplotní indikátor</string>
|
||||
<string name="emulation_toggle_controls">Přepnout ovládání</string>
|
||||
<string name="emulation_rel_stick_center">Relativní střed joysticku</string>
|
||||
<string name="emulation_dpad_slide">D-pad slide</string>
|
||||
@@ -592,6 +656,8 @@
|
||||
<string name="touchscreen">Dotyková obrazovka</string>
|
||||
<string name="lock_drawer">Zamknout zásuvku</string>
|
||||
<string name="unlock_drawer">Odemknout zásuvku</string>
|
||||
<string name="load_settings">Načítání nastavení...</string>
|
||||
|
||||
<!-- Software keyboard -->
|
||||
<string name="software_keyboard">Softwarová klávesnice</string>
|
||||
|
||||
@@ -611,6 +677,7 @@
|
||||
<string name="memory_8gb">8GB (Nebezpečné)</string>
|
||||
|
||||
<!--CPU clock speeds-->
|
||||
<string name="clock_base">Základní (1000MHz)</string>
|
||||
<string name="clock_boost">Boost (1700MHz)</string>
|
||||
<string name="clock_fast">Rychlé (2000MHz)</string>
|
||||
|
||||
@@ -683,13 +750,13 @@
|
||||
<string name="cpu_accuracy_accurate">Přesné</string>
|
||||
<string name="cpu_accuracy_unsafe">Nebezpečné</string>
|
||||
<string name="gamepad_home">Home</string>
|
||||
<!-- Disk shader cache -->
|
||||
<string name="building_shaders">Budování shaderů</string>
|
||||
|
||||
<!-- App options -->
|
||||
<!-- Theme options -->
|
||||
<string name="change_app_theme">Změnit vzhled aplikace</string>
|
||||
<string name="theme_default">Výchozí</string>
|
||||
<string name="theme_material_you">Material You</string>
|
||||
|
||||
<!-- Theme Modes -->
|
||||
<string name="change_theme_mode">Změnit styl vzhledu</string>
|
||||
<string name="theme_mode_follow_system">Podle systému</string>
|
||||
|
||||
@@ -9,6 +9,7 @@
|
||||
<string name="app_notification_running">Eden wird ausgeführt</string>
|
||||
<string name="seconds">Sekunden</string>
|
||||
|
||||
<string name="value">Wert</string>
|
||||
<string name="value_too_low">Wert muss mindestens %1$d betragen</string>
|
||||
<string name="value_too_high">Wert darf höchstens %1$d betragen</string>
|
||||
<string name="input_overlay_options">Eingabe-Overlay</string>
|
||||
@@ -30,6 +31,8 @@
|
||||
<string name="show_fps_description">Aktuelle Bilder pro Sekunde</string>
|
||||
<string name="show_frametime">Frametime anzeigen</string>
|
||||
<string name="show_frametime_description">Aktuelle Frametime</string>
|
||||
<string name="show_speed">Geschwindigkeit anzeigen</string>
|
||||
<string name="show_speed_description">Emulationsgeschwindigkeit in Prozent</string>
|
||||
<string name="show_app_ram_usage">App-RAM-Nutzung anzeigen</string>
|
||||
<string name="show_app_ram_usage_description">Zeigt den RAM-Verbrauch des Emulators an</string>
|
||||
<string name="show_system_ram_usage">System-RAM-Nutzung anzeigen</string>
|
||||
@@ -70,6 +73,8 @@
|
||||
<!-- Eden\'s Veil -->
|
||||
<string name="eden_veil">Edens Schleier</string>
|
||||
<string name="eden_veil_description">Experimentelle Einstellungen zur Verbesserung der Leistung und Funktionalität. Diese Einstellungen können schwarze Bildschirme oder andere Spielprobleme verursachen.</string>
|
||||
<string name="eden_veil_warning_title">Experimentelle Einstellungen</string>
|
||||
<string name="eden_veil_warning_description">Die in Edens Schleier enthaltenen Einstellungen sind hoch experimentell und können Probleme verursachen. Wenn Ihr Spiel nicht startet, deaktivieren Sie alle Erweiterungen.</string>
|
||||
|
||||
<string name="veil_extensions">GPU-Erweiterungen</string>
|
||||
<string name="dyna_state">Erweiterter dynamischer Status</string>
|
||||
@@ -137,6 +142,8 @@
|
||||
<!-- Multiplayer -->
|
||||
<string name="multiplayer">Mehrspieler</string>
|
||||
<string name="multiplayer_description">Erstelle deinen eigenen Spielraum oder trete einem bestehenden bei, um mit anderen zu spielen</string>
|
||||
<string name="multiplayer_room_title">Raum: %1$s</string>
|
||||
<string name="multiplayer_console_id">Konsole-ID: %1$s</string>
|
||||
<string name="multiplayer_create_room">Erstellen</string>
|
||||
<string name="multiplayer_join_room">Beitreten</string>
|
||||
<string name="multiplayer_public_room">Öffentliche Räume durchsuchen</string>
|
||||
@@ -145,6 +152,11 @@
|
||||
<string name="multiplayer_ip_port">Port</string>
|
||||
<string name="multiplayer_create_room_success">Raum erfolgreich erstellt</string>
|
||||
<string name="multiplayer_join_room_success">Erfolgreich beigetreten</string>
|
||||
<string name="multiplayer_create_room_failed">Raum konnte nicht erstellt werden</string>
|
||||
<string name="multiplayer_join_room_failed">Beitritt fehlgeschlagen</string>
|
||||
<string name="multiplayer_name_invalid">Name zu kurz</string>
|
||||
<string name="multiplayer_address_invalid">Ungültige Adresse</string>
|
||||
<string name="multiplayer_port_invalid">Ungültiger Port</string>
|
||||
<string name="multiplayer_exit_room">Raum verlassen</string>
|
||||
<string name="multiplayer_network_error">Netzwerkfehler</string>
|
||||
<string name="multiplayer_lost_connection">Verbindung verloren</string>
|
||||
@@ -173,15 +185,21 @@
|
||||
<string name="multiplayer_member_banned">%1$s wurde gebannt</string>
|
||||
<string name="multiplayer_address_unbanned">Adresse entbannt</string>
|
||||
<string name="multiplayer_kick_member">Entfernen</string>
|
||||
<string name="multiplayer_chat_input_hint">Nachricht senden…</string>
|
||||
<string name="multiplayer_password">Passwort</string>
|
||||
<string name="multiplayer_joining">Beitritt läuft…</string>
|
||||
<string name="multiplayer_creating">Erstellung läuft…</string>
|
||||
<string name="multiplayer_room_name">Raumname</string>
|
||||
<string name="multiplayer_room_name_invalid">Raumname muss 3-20 Zeichen lang sein</string>
|
||||
<string name="multiplayer_max_players">Max. Spieler (16)</string>
|
||||
<string name="multiplayer_max_players_value">Max. Spieler: %d</string>
|
||||
<string name="multiplayer_chat">Chat</string>
|
||||
<string name="multiplayer_more_options">Weitere Optionen</string>
|
||||
<string name="multiplayer_ip_copied">IP-Adresse kopiert</string>
|
||||
<string name="multiplayer_server_address">Serveradresse</string>
|
||||
<string name="chat">Chat</string>
|
||||
<string name="type_message">Nachricht eingeben…</string>
|
||||
<string name="send">Senden</string>
|
||||
<string name="send_message">Nachricht senden</string>
|
||||
<string name="multiplayer_moderation">Moderation</string>
|
||||
<string name="multiplayer_moderation_title">Bannliste</string>
|
||||
@@ -201,8 +219,12 @@
|
||||
<string name="multiplayer_hide_empty_rooms">Leere Räume ausblenden</string>
|
||||
<string name="multiplayer_tap_refresh_to_check_again">Zum Aktualisieren tippen</string>
|
||||
<string name="multiplayer_search_public_lobbies">Räume suchen…</string>
|
||||
<string name="emulation_multiplayer">Mehrspieler</string>
|
||||
<string name="multiplayer_game_name">Bevorzugte Spiele</string>
|
||||
<string name="multiplayer_preferred_game_name">Bevorzugtes Spiel</string>
|
||||
<string name="multiplayer_lobby_type">Lobby-Typ</string>
|
||||
<string name="multiplayer_no_game">Keine Spiele gefunden</string>
|
||||
<string name="multiplayer_preferred_game_name_invalid">Zum Hosten muss ein bevorzugtes Spiel ausgewählt werden.</string>
|
||||
<string name="multiplayer_room_name_error">Muss 3-20 Zeichen lang sein</string>
|
||||
<string name="multiplayer_required">Erforderlich</string>
|
||||
<string name="multiplayer_token_required">Web-Token erforderlich, gehen Sie zu Erweiterte Einstellungen -> System -> Netzwerk</string>
|
||||
@@ -226,6 +248,7 @@
|
||||
<string name="keys_description">Wähle deine <b>prod.keys</b> Datei mit dem Button unten aus.</string>
|
||||
<string name="select_keys">Schlüssel auswählen</string>
|
||||
<string name="firmware">Firmware</string>
|
||||
<string name="firmware_description">Wählen mit dem Button unten deine <b>firmware.zip</b>-Datei.\nEden benötigt derzeit Version <b>19.0.1</b> oder niedriger.</string>
|
||||
<string name="select_firmware">Firmware auswählen</string>
|
||||
<string name="games">Spiele</string>
|
||||
<string name="games_description">Wähle mit dem Knopf unten den <b>Spiele</b>-Ordner aus.</string>
|
||||
@@ -235,7 +258,10 @@
|
||||
<string name="next">Weiter</string>
|
||||
<string name="back">Zurück</string>
|
||||
<string name="add_games">Spiele hinzufügen</string>
|
||||
<string name="add_games_description">Spieleverzeichnis auswählen</string>
|
||||
<string name="step_complete">Fertig!</string>
|
||||
<string name="bluetooth_permissions_granted">Bluetooth-Berechtigungen erteilt.</string>
|
||||
<string name="bluetooth_permissions_denied">Bluetooth-Berechtigungen verweigert. Controller-Unterstützung kann eingeschränkt sein.</string>
|
||||
|
||||
<!-- Home strings -->
|
||||
|
||||
@@ -246,11 +272,17 @@
|
||||
<string name="view_carousel">Karussell</string>
|
||||
<string name="game_image_desc">Scrennshot für %1$s</string>
|
||||
<string name="folder">Ordner</string>
|
||||
<string name="pre_alpha_warning_title">Pre-Alpha Software</string>
|
||||
<string name="pre_alpha_warning_description">WARNUNG: Diese Version ist nicht für die Öffentlichkeit bestimmt.</string>
|
||||
<string name="dont_show_again">Nicht mehr anzeigen</string>
|
||||
<string name="pre_alpha_warning">PRE-ALPHA SOFTWARE; NICHT FÜR ÖFFENTLICHE NUTZUNG</string>
|
||||
<string name="add_directory_success">Neues Spieleverzeichnis erfolgreich hinzugefügt.</string>
|
||||
<string name="home_games">Spiele</string>
|
||||
<string name="home_search">Suche</string>
|
||||
<string name="home_settings">Einstellungen</string>
|
||||
<string name="empty_gamelist">Es wurden keine Dateien gefunden oder es wurde noch kein Spielverzeichnis ausgewählt.</string>
|
||||
<string name="search_and_filter_games">Spiele suchen und filtern</string>
|
||||
<string name="select_games_folder">Spieleverzeichnis auswählen</string>
|
||||
<string name="manage_game_folders">Spiele-Ordner verwalten</string>
|
||||
<string name="select_games_folder_description">Erlaubt Eden die Spieleliste zu füllen</string>
|
||||
<string name="add_games_warning">Auswahl des Spieleverzeichnisses überspringen?</string>
|
||||
@@ -258,6 +290,7 @@
|
||||
<string name="add_games_warning_help">https://yuzu-mirror.github.io/help/quickstart/#dumping-games</string>
|
||||
<string name="home_search_games">Spiele suchen</string>
|
||||
<string name="search_settings">Einstellungen suchen</string>
|
||||
<string name="games_dir_selected">Spieleverzeichnis ausgewählt</string>
|
||||
<string name="install_prod_keys">prod.keys installieren</string>
|
||||
<string name="install_prod_keys_description">Zum Entschlüsseln von Spielen benötigt</string>
|
||||
<string name="install_prod_keys_warning">Hinzufügen der Schlüssel überspringen?</string>
|
||||
@@ -281,15 +314,22 @@
|
||||
<string name="warning_cancel">Abbrechen</string>
|
||||
<string name="install_amiibo_keys">Amiibo-Schlüssel installieren</string>
|
||||
<string name="install_amiibo_keys_description">Benötigt um Amiibos im Spiel zu verwenden</string>
|
||||
<string name="install_amiibo_keys_failure_extension_description">Überprüfen Sie, ob Ihre Schlüsseldatei die Erweiterung \".bin\" hat, und versuchen Sie es erneut.</string>
|
||||
<string name="dumping_keys_quickstart_link">https://yuzu-mirror.github.io/help/quickstart/#dumping-decryption-keys</string>
|
||||
<string name="gpu_driver_fetcher">GPU-Treiber-Hersteller</string>
|
||||
<string name="gpu_driver_manager">GPU-Treiber Verwaltung</string>
|
||||
<string name="install_gpu_driver">GPU-Treiber installieren</string>
|
||||
<string name="install_gpu_driver_description">Alternative Treiber für eventuell bessere Leistung oder Genauigkeit installieren</string>
|
||||
<string name="advanced_settings">Erweiterte Einstellungen</string>
|
||||
<string name="advanced_settings_game">Erweiterte Einstellungen: %1$s</string>
|
||||
<string name="settings_description">Emulatoreinstellungen konfigurieren</string>
|
||||
<string name="search_recently_played">Kürzlich gespielt</string>
|
||||
<string name="search_recently_added">Kürzlich hinzugefügt</string>
|
||||
<string name="search_retail">Spiele</string>
|
||||
<string name="search_homebrew">Homebrew</string>
|
||||
<string name="open_user_folder">Eden-Ordner öffnen</string>
|
||||
<string name="open_user_folder_description">Eden\'s interne Dateien verwalten</string>
|
||||
<string name="theme_and_color_description">Das Aussehen der App ändern</string>
|
||||
<string name="no_file_manager">Kein Dateimanager gefunden</string>
|
||||
<string name="notification_no_directory_link">Eden-Verzeichnis konnte nicht geöffnet werden</string>
|
||||
<string name="notification_no_directory_link_description">Bitte suche den Benutzerordner manuell über die Seitenleiste des Dateimanagers.</string>
|
||||
@@ -298,14 +338,18 @@
|
||||
<string name="import_save_warning">Speicherdaten importieren</string>
|
||||
<string name="import_save_warning_description">Das überschreibt alle existierenden Speicherdaten für dieses Spiel mit der ausgewählten Datei.
|
||||
Wirklich fortfahren?</string>
|
||||
<string name="import_export_saves_description">Speicherdaten importieren oder exportieren</string>
|
||||
<string name="save_files_importing">Importiere Speicherdaten...</string>
|
||||
<string name="save_files_exporting">Exportiere Speicherdaten...</string>
|
||||
<string name="save_file_imported_success">Erfolgreich importiert</string>
|
||||
<string name="save_file_invalid_zip_structure">Ungültige Speicherverzeichnisstruktur</string>
|
||||
<string name="save_file_invalid_zip_structure_description">Der erste Unterordnername muss die Titel-ID des Spiels sein.</string>
|
||||
<string name="import_saves">Importieren</string>
|
||||
<string name="export_saves">Exportieren</string>
|
||||
<string name="install_firmware">Firmware installieren</string>
|
||||
<string name="install_firmware_description">Die Firmware muss in einem ZIP-Archiv vorliegen und wird zum Booten einiger Spiele benötigt</string>
|
||||
<string name="firmware_installing">Firmware wird installiert</string>
|
||||
<string name="firmware_installed_success">Die Firmware wurde erfolgreich installiert!</string>
|
||||
<string name="firmware_installed_failure">Bei der Firmware installation ist etwas fehlgeschlagen.</string>
|
||||
<string name="firmware_installed_failure_description">Stellen Sie sicher, dass sich die Firmware-NCA-Dateien im Stammverzeichnis der ZIP-Datei befinden, und versuchen Sie es erneut.</string>
|
||||
<string name="firmware_uninstalled_failure">Die Deinstallation der Firmware ist fehlgeschlagen</string>
|
||||
@@ -318,6 +362,7 @@ Wirklich fortfahren?</string>
|
||||
<string name="install_game_content_failure">Fehler beim Installieren der Datei(en) auf NAND</string>
|
||||
<string name="install_game_content_failure_description">Bitte stellen Sie sicher, dass der/die Inhalt(e) gültig sind und dass die Datei prod.keys installiert ist.</string>
|
||||
<string name="install_game_content_failure_base">Um mögliche Konflikte zu vermeiden, ist die Installation von Basisspielen nicht gestattet.</string>
|
||||
<string name="install_game_content_failure_file_extension">Es werden nur NSP- und XCI-Inhalte unterstützt. Bitte überprüfen Sie, ob die Spielinhalte gültig sind.</string>
|
||||
<string name="install_game_content_failed_count">%1$d Installationsfehler</string>
|
||||
<string name="install_game_content_success">Game content(s) installed successfully</string>
|
||||
<string name="install_game_content_success_install">%1$d erfolgreich installiert</string>
|
||||
@@ -327,6 +372,8 @@ Wirklich fortfahren?</string>
|
||||
<string name="custom_driver_not_supported_description">Das Laden von benutzerdefinierten Treibern wird für dieses Gerät momentan nicht unterstützt.\nSchau später einfach nochmal nach, ob die Unterstützung hinzugefügt wurde!</string>
|
||||
<string name="manage_yuzu_data">Eden-Daten Verwalten</string>
|
||||
<string name="manage_yuzu_data_description">Importieren/Exportieren Sie Firmware, Schlüssel, Benutzerdaten und mehr!</string>
|
||||
<string name="share_save_file">Speicherdaten teilen</string>
|
||||
<string name="export_save_failed">Exportieren der Sicherung fehlgeschlagen</string>
|
||||
<string name="game_folders">Spiele-Ordner</string>
|
||||
<string name="deep_scan">Tiefer Scan</string>
|
||||
<string name="add_game_folder">Spiele-Ordner hinzufügen</string>
|
||||
@@ -353,9 +400,11 @@ Wirklich fortfahren?</string>
|
||||
<string name="firmware_uninstalling">Firmware wird deinstalliert...</string>
|
||||
<string name="firmware_uninstalled_success">Firmware erfolgreich deinstalliert</string>
|
||||
|
||||
<string name="firmware_invalid">Ungültige Firmware</string>
|
||||
<string name="error_firmware_missing">Firmware wird benötigt, um bestimmte Spiele und Applikationen zu nutzen. Eden funktioniert nur mit Firmware 19.0.1 oder älter.</string>
|
||||
<string name="error_firmware_corrupted">Firmware wurde als vorhanden gemeldet, konnte aber nicht gelesen werden. Überprüfen Sie die Entschlüsselungsschlüssel und dumpen Sie die Firmware bei Bedarf neu.</string>
|
||||
<string name="error_firmware_too_new">Firmware ist zu neu oder konnte nicht gelesen werden. Eden funktioniert nur mit Firmware 19.0.1 oder älter.</string>
|
||||
<string name="firmware_missing_help">https://yuzu-mirror.github.io/help/quickstart/#dumping-system-firmware</string>
|
||||
|
||||
<string name="keys_failed">Schlüsselinstallation fehlgeschlagen</string>
|
||||
<string name="keys_install_success">Schlüssel erfolgreich installiert</string>
|
||||
@@ -395,6 +444,7 @@ Wirklich fortfahren?</string>
|
||||
<string name="user_data">Nutzerdaten</string>
|
||||
<string name="exporting_user_data">Benutzerdaten werden exportiert…</string>
|
||||
<string name="importing_user_data">Importiere Nutzerdaten...</string>
|
||||
<string name="import_user_data">Nutzerdaten importieren</string>
|
||||
<string name="invalid_yuzu_backup">Ungültiges Eden-Backup</string>
|
||||
<string name="user_data_export_success">Nutzerdaten erfolgreich exportiert</string>
|
||||
<string name="user_data_import_success">Nutzerdaten erfolgreich importiert</string>
|
||||
@@ -529,6 +579,8 @@ Wird der Handheld-Modus verwendet, verringert es die Auflösung und erhöht die
|
||||
<string name="qualified_button">%1$s%2$s%3$sKnopf %4$s</string>
|
||||
<string name="qualified_axis">Achse %1$s%2$s</string>
|
||||
<string name="unused">Unbenutzt</string>
|
||||
<string name="input_prompt">Bewegen oder drücken Sie eine Eingabe</string>
|
||||
<string name="unsupported_input">Nicht unterstützter Eingabetyp</string>
|
||||
<string name="input_mapping_filter">Eingabezuordnungsfilter</string>
|
||||
<string name="input_mapping_filter_description">Wählen Sie ein Gerät zum Filtern von Belegungs- eingaben aus</string>
|
||||
<string name="auto_map">Automatisches Zuordnen eines Controllers</string>
|
||||
@@ -572,6 +624,10 @@ Wird der Handheld-Modus verwendet, verringert es die Auflösung und erhöht die
|
||||
|
||||
<!-- Miscellaneous -->
|
||||
<string name="slider_default">Standard</string>
|
||||
<string name="ini_saved">Einstellungen gespeichert</string>
|
||||
<string name="gameid_saved">Einstellungen für %1$s gespeichert</string>
|
||||
<string name="error_saving">Fehler beim Speichern von %1$s.ini: %2$s</string>
|
||||
<string name="unimplemented_menu">Unimplementiertes Menü</string>
|
||||
<string name="loading">Lädt...</string>
|
||||
<string name="shutting_down">Beendet...</string>
|
||||
<string name="reset_setting_confirmation">Möchtest du diese Einstellung auf den Standardwert zurücksetzen?</string>
|
||||
@@ -596,26 +652,39 @@ Wird der Handheld-Modus verwendet, verringert es die Auflösung und erhöht die
|
||||
<string name="edit">Bearbeiten</string>
|
||||
<string name="export_success">Erfolgreich exportiert</string>
|
||||
<string name="start">Start</string>
|
||||
<string name="clear">Löschen</string>
|
||||
<string name="global">Global</string>
|
||||
<string name="custom">Benutzerdefiniert</string>
|
||||
<string name="notice">Notiz</string>
|
||||
<string name="import_complete">Import abgeschlossen</string>
|
||||
<string name="more_options">Mehr Einstellungen</string>
|
||||
<string name="use_global_setting">Globale Einstellung nutzen</string>
|
||||
<string name="operation_completed_successfully">Der Vorgang wurde erfolgreich abgeschlossen</string>
|
||||
<string name="retry">erneut versuchen</string>
|
||||
<string name="confirm">Bestätige</string>
|
||||
<string name="load">Lädt</string>
|
||||
<string name="save">Speichern</string>
|
||||
|
||||
<!-- GPU driver installation -->
|
||||
<string name="select_gpu_driver">GPU-Treiber auswählen</string>
|
||||
<string name="select_gpu_driver_title">Möchtest du deinen aktuellen GPU-Treiber ersetzen?</string>
|
||||
<string name="select_gpu_driver_install">Installieren</string>
|
||||
<string name="select_gpu_driver_default">Standard</string>
|
||||
<string name="select_gpu_driver_use_default">Standard GPU-Treiber wird verwendet</string>
|
||||
<string name="select_gpu_driver_error">Ungültiger Treiber ausgewählt</string>
|
||||
<string name="driver_already_installed">Treiber bereits installiert</string>
|
||||
<string name="system_gpu_driver">System GPU-Treiber</string>
|
||||
<string name="installing_driver">Treiber wird installiert...</string>
|
||||
|
||||
<!-- GPU driver fetcher -->
|
||||
<string name="fetch_error">Fehler beim Abrufen</string>
|
||||
<string name="check_connection">Überprüfen Sie Ihre Verbindung und versuchen Sie es erneut.</string>
|
||||
<string name="show_releases">Versionen anzeigen</string>
|
||||
<string name="view_full_release_notes">Versionshinweise</string>
|
||||
<string name="failed_to_fetch">Abruf fehlgeschlagen</string>
|
||||
<string name="error_during_fetch">Fehler beim Abrufen</string>
|
||||
<string name="toggle_release_notes">Versionshinweise umschalten</string>
|
||||
<string name="downloads">Downloads</string>
|
||||
<string name="show_downloads">Downloads anzeigen</string>
|
||||
<string name="hide_downloads">Downloads ausblenden</string>
|
||||
<string name="failed_cache_dir">Cache-Verzeichnis nicht verfügbar</string>
|
||||
@@ -634,6 +703,7 @@ Wird der Handheld-Modus verwendet, verringert es die Auflösung und erhöht die
|
||||
|
||||
<!-- Preferences Screen -->
|
||||
<string name="preferences_settings">Einstellungen</string>
|
||||
<string name="preferences_general">Allgemein</string>
|
||||
<string name="preferences_system">System</string>
|
||||
<string name="preferences_system_description">Gedockter Modus, Region, Sprache</string>
|
||||
<string name="preferences_graphics">Grafik</string>
|
||||
@@ -643,6 +713,7 @@ Wird der Handheld-Modus verwendet, verringert es die Auflösung und erhöht die
|
||||
<string name="preferences_controls">Steuerung</string>
|
||||
<string name="preferences_controls_description">Belege die Kontrollertasten</string>
|
||||
<string name="preferences_player">Spieler %d</string>
|
||||
<string name="preferences_theme">Theme und Farbe</string>
|
||||
<string name="preferences_debug">Debug</string>
|
||||
<string name="preferences_debug_description">CPU/GPU-Debugging, Grafik-API, Fastmem</string>
|
||||
|
||||
@@ -698,6 +769,7 @@ Wirklich fortfahren?</string>
|
||||
<string name="loader_error_encrypted_keys_description"><![CDATA[Bitte stelle sicher dass die <a href=\"https://yuzu-mirror.github.io/help/quickstart/#dumping-prodkeys-and-titlekeys\">prod.keys</a> Datei installiert ist, damit Spiele entschlüsselt werden können.]]></string>
|
||||
<string name="loader_error_video_core">Bei der Initialisierung des Videokerns ist ein Fehler aufgetreten</string>
|
||||
<string name="loader_error_video_core_description">Dies wird normalerweise durch einen inkompatiblen GPU-Treiber verursacht. Die Installation eines passenden GPU-Treibers kann dieses Problem beheben.</string>
|
||||
<string name="loader_error_invalid_format">ROM konnte nicht geladen werden</string>
|
||||
<string name="loader_error_file_not_found">ROM-Datei existiert nicht</string>
|
||||
|
||||
<string name="loader_requires_firmware">Spiel erfordert Firmware</string>
|
||||
@@ -725,9 +797,19 @@ Wirklich fortfahren?</string>
|
||||
<string name="config_already_exists_title">Konfiguration existiert bereits</string>
|
||||
<string name="config_exists_prompt">Überprüfe auf vorhandene Konfiguration...</string>
|
||||
<string name="overwrite_cancelled">Überschreiben abgebrochen</string>
|
||||
<string name="checking_driver">Üoverprüfe benutzerdefinierten Treiber: %1$s</string>
|
||||
<string name="driver_unavailable">Benutzerdefinierter Treiber für dieses Gerät nicht verfügbar</string>
|
||||
<string name="overwrite">Überschreiben</string>
|
||||
|
||||
<!-- Driver strings -->
|
||||
<string name="missing_gpu_driver_title">GPU-Treiber fehlt</string>
|
||||
<string name="missing_gpu_driver_message">Der ausgewählte benutzerdefinierte Treiber \"%s\" ist nicht installiert. Möchten Sie ihn jetzt herunterladen und installieren?</string>
|
||||
<string name="downloading_driver">Treiber wird heruntergeladen...</string>
|
||||
<string name="driver_installed">Treiber erfolgreich installiert</string>
|
||||
<string name="driver_installation_failed_title">Treiberinstallation fehlgeschlagen</string>
|
||||
<string name="driver_installation_failed_message">Fehler beim Installieren des GPU-Treibers: %s</string>
|
||||
<string name="driver_not_available_title">Treiber nicht verfügbar</string>
|
||||
<string name="driver_not_available_message">Der ausgewählte Treiber ist nicht zum Download verfügbar.</string>
|
||||
<string name="driver_not_found">Erforderlicher Treiber nicht installiert: %s</string>
|
||||
<string name="invalid_driver_file">Ungültige Treiberdatei: %s</string>
|
||||
<string name="network_unavailable">Keine Netzwerkverbindung verfügbar. Bitte überprüfen Sie Ihre Internetverbindung und versuchen Sie es erneut.</string>
|
||||
@@ -738,6 +820,8 @@ Wirklich fortfahren?</string>
|
||||
<!-- Emulation Menu -->
|
||||
<string name="emulation_exit">Emulation beenden</string>
|
||||
<string name="emulation_done">Fertig</string>
|
||||
<string name="emulation_fps_counter">FPS Zähler</string>
|
||||
<string name="emulation_thermal_indicator">Thermoanzeige</string>
|
||||
<string name="emulation_toggle_controls">Steuerung umschalten</string>
|
||||
<string name="emulation_rel_stick_center">Relativer Stick-Zentrum</string>
|
||||
<string name="emulation_dpad_slide">D-Pad-Scrollen</string>
|
||||
@@ -756,6 +840,8 @@ Wirklich fortfahren?</string>
|
||||
<string name="touchscreen">Touchscreen</string>
|
||||
<string name="lock_drawer">Menü sperren</string>
|
||||
<string name="unlock_drawer">Menü entsperren</string>
|
||||
<string name="load_settings">Lade Einstellungen...</string>
|
||||
|
||||
<!-- Software keyboard -->
|
||||
<string name="software_keyboard">Software-Tastatur</string>
|
||||
|
||||
@@ -784,6 +870,7 @@ Wirklich fortfahren?</string>
|
||||
<string name="memory_8gb">8 GB (Unsicher)</string>
|
||||
|
||||
<!--CPU clock speeds-->
|
||||
<string name="clock_base">Basis (1000MHz)</string>
|
||||
<string name="clock_boost">Boost (1700MHz)</string>
|
||||
<string name="clock_fast">Schnell (2000MHz)</string>
|
||||
|
||||
@@ -797,6 +884,7 @@ Wirklich fortfahren?</string>
|
||||
<string name="temperature_fahrenheit">Fahrenheit</string>
|
||||
|
||||
<!-- Memory Sizes -->
|
||||
<string name="memory_byte">Byte</string>
|
||||
<string name="memory_byte_shorthand">B</string>
|
||||
<string name="memory_kilobyte">KB</string>
|
||||
<string name="memory_megabyte">MB</string>
|
||||
@@ -899,12 +987,14 @@ Wirklich fortfahren?</string>
|
||||
<string name="gamepad_screenshot">Screenshot</string>
|
||||
|
||||
<!-- Disk shader cache -->
|
||||
<string name="preparing_shaders">Shader werden vorbereitet</string>
|
||||
<string name="building_shaders">Shader werden erstellt</string>
|
||||
|
||||
<!-- App options -->
|
||||
<!-- Theme options -->
|
||||
<string name="change_app_theme">Theme</string>
|
||||
<string name="theme_default">Standard</string>
|
||||
<string name="theme_material_you">Material You</string>
|
||||
|
||||
<!-- Theme Modes -->
|
||||
<string name="change_theme_mode">Design</string>
|
||||
<string name="theme_mode_follow_system">System folgen</string>
|
||||
|
||||
@@ -12,6 +12,7 @@
|
||||
<!-- Spinbox strings -->
|
||||
<string name="increment">Incremento</string>
|
||||
<string name="decrement">Decremento</string>
|
||||
<string name="value">Valor</string>
|
||||
<string name="value_too_low">El valor debe ser al menos%1$d</string>
|
||||
<string name="value_too_high">El valor debe ser como máximo%1$d</string>
|
||||
<string name="invalid_value">Valor inválido</string>
|
||||
@@ -44,6 +45,8 @@
|
||||
<string name="show_fps_description">Mostrar fotogramas por segundo</string>
|
||||
<string name="show_frametime">Mostrar tiempo de fotograma</string>
|
||||
<string name="show_frametime_description">Mostrar tiempo de fotograma actual</string>
|
||||
<string name="show_speed">Mostrar velocidad</string>
|
||||
<string name="show_speed_description">Mostrar porcentaje de velocidad de emulación actual</string>
|
||||
<string name="show_app_ram_usage">Mostrar el uso de la memoria de la aplicación</string>
|
||||
<string name="show_app_ram_usage_description">Muestra la cantidad de RAM que está usando el emulador</string>
|
||||
<string name="show_system_ram_usage">Mostrar el uso de la memoria del sistema</string>
|
||||
@@ -84,6 +87,8 @@
|
||||
<!-- Eden\'s Veil -->
|
||||
<string name="eden_veil">Velo de Eden</string>
|
||||
<string name="eden_veil_description">Configuraciones experimentales para mejorar el rendimiento y la capacidad. Estas configuraciones pueden causar pantallas negras u otros problemas en el juego.</string>
|
||||
<string name="eden_veil_warning_title">Configuraciones experimentales</string>
|
||||
<string name="eden_veil_warning_description">Los ajustes contenidos en el velo de Eden son altamente experimentales y pueden causar problemas. Si tu juego no arranca, desactiva cualquier extensión.</string>
|
||||
|
||||
<string name="veil_extensions">Extensiones de la GPU</string>
|
||||
<string name="dyna_state">Estado dinámico extendido</string>
|
||||
@@ -145,12 +150,14 @@
|
||||
|
||||
<!-- Optimize Spir-V output -->
|
||||
<string name="never">Nunca</string>
|
||||
<string name="on_load">En carga</string>
|
||||
<string name="on_load">Al cargar</string>
|
||||
<string name="always">Siempre</string>
|
||||
|
||||
<!-- Multiplayer -->
|
||||
<string name="multiplayer">Multijugador</string>
|
||||
<string name="multiplayer_description">Organiza tu propia sala de juegos o únete a una existente para jugar con la gente</string>
|
||||
<string name="multiplayer_room_title">Sala: %1$s</string>
|
||||
<string name="multiplayer_console_id">ID de la consola: %1$s</string>
|
||||
<string name="multiplayer_create_room">Crear</string>
|
||||
<string name="multiplayer_join_room">Unirse</string>
|
||||
<string name="multiplayer_public_room">Buscar salas públicas</string>
|
||||
@@ -159,6 +166,11 @@
|
||||
<string name="multiplayer_ip_port">Puerto</string>
|
||||
<string name="multiplayer_create_room_success">Sala creada con éxito</string>
|
||||
<string name="multiplayer_join_room_success">Te has unido a la sala</string>
|
||||
<string name="multiplayer_create_room_failed">Error al crear la sala</string>
|
||||
<string name="multiplayer_join_room_failed">Error al unirse a la sala</string>
|
||||
<string name="multiplayer_name_invalid">El nombre es demasiado corto</string>
|
||||
<string name="multiplayer_address_invalid">Dirección inválida</string>
|
||||
<string name="multiplayer_port_invalid">Puerto inválido</string>
|
||||
<string name="multiplayer_exit_room">Salir de la sala</string>
|
||||
<string name="multiplayer_network_error">Error de red</string>
|
||||
<string name="multiplayer_lost_connection">Conexión perdida</string>
|
||||
@@ -187,15 +199,21 @@
|
||||
<string name="multiplayer_member_banned">%1$s fue baneado</string>
|
||||
<string name="multiplayer_address_unbanned">Dirección desbaneada</string>
|
||||
<string name="multiplayer_kick_member">Expulsar</string>
|
||||
<string name="multiplayer_chat_input_hint">Envía mensajes...</string>
|
||||
<string name="multiplayer_password">Contraseña</string>
|
||||
<string name="multiplayer_joining">Uniéndose…</string>
|
||||
<string name="multiplayer_creating">Creando…</string>
|
||||
<string name="multiplayer_room_name">Nombre de la sala</string>
|
||||
<string name="multiplayer_room_name_invalid">El nombre de la sala debe tener entre 3 y 20 caracteres</string>
|
||||
<string name="multiplayer_max_players">Jugadores máx. (16)</string>
|
||||
<string name="multiplayer_max_players_value">Jugadores máx: %d</string>
|
||||
<string name="multiplayer_chat">Chat</string>
|
||||
<string name="multiplayer_more_options">Más opciones</string>
|
||||
<string name="multiplayer_ip_copied">Dirección IP copiada al portapapeles</string>
|
||||
<string name="multiplayer_server_address">Dirección del servidor</string>
|
||||
<string name="chat">Chat</string>
|
||||
<string name="type_message">Escribe un mensaje…</string>
|
||||
<string name="send">Enviar</string>
|
||||
<string name="send_message">Enviar mensaje</string>
|
||||
<string name="multiplayer_moderation">Moderación</string>
|
||||
<string name="multiplayer_moderation_title">Lista de baneados</string>
|
||||
@@ -215,8 +233,12 @@
|
||||
<string name="multiplayer_hide_empty_rooms">Ocultar salas vacías</string>
|
||||
<string name="multiplayer_tap_refresh_to_check_again">Toca actualizar para comprobarlo de nuevo</string>
|
||||
<string name="multiplayer_search_public_lobbies">Buscar salas…</string>
|
||||
<string name="emulation_multiplayer">Multijugador</string>
|
||||
<string name="multiplayer_game_name">Juegos preferidos</string>
|
||||
<string name="multiplayer_preferred_game_name">Juego preferido</string>
|
||||
<string name="multiplayer_lobby_type">Tipo de sala</string>
|
||||
<string name="multiplayer_no_game">No se encontraron juegos</string>
|
||||
<string name="multiplayer_preferred_game_name_invalid">Debes elegir un juego preferido para alojar una sala.</string>
|
||||
<string name="multiplayer_room_name_error">Debe tener entre 3 y 20 caracteres</string>
|
||||
<string name="multiplayer_required">Requerido</string>
|
||||
<string name="multiplayer_token_required">Token web requerido, ve a Configuración avanzada -> Sistema -> Red</string>
|
||||
@@ -240,6 +262,7 @@
|
||||
<string name="keys_description">Selecciona tu archivo <b>prod.keys</b> utilizando el botón de abajo.</string>
|
||||
<string name="select_keys">Seleccionar las claves</string>
|
||||
<string name="firmware">Firmware</string>
|
||||
<string name="firmware_description">Selecciona tu archivo <b>firmware.zip</b> con el botón abajo.\nEden actualmente requiere la versión <b>19.0.1</b> o inferior.</string>
|
||||
<string name="select_firmware">Seleccionar firmware</string>
|
||||
<string name="games">Juegos</string>
|
||||
<string name="games_description">Selecciona la carpeta <b>Juegos</b> utilizando el botón de abajo</string>
|
||||
@@ -249,7 +272,10 @@
|
||||
<string name="next">Siguiente</string>
|
||||
<string name="back">Atrás</string>
|
||||
<string name="add_games">Añadir Juegos</string>
|
||||
<string name="add_games_description">Selecciona tu carpeta de juegos</string>
|
||||
<string name="step_complete">¡Completado!</string>
|
||||
<string name="bluetooth_permissions_granted">Permisos de Bluetooth concedidos.</string>
|
||||
<string name="bluetooth_permissions_denied">Permisos de Bluetooth denegados. El soporte para controladores puede ser limitado.</string>
|
||||
|
||||
<!-- Home strings -->
|
||||
|
||||
@@ -260,11 +286,17 @@
|
||||
<string name="view_carousel">Carrusel</string>
|
||||
<string name="game_image_desc">Captura de pantalla para %1$s</string>
|
||||
<string name="folder">Carpeta</string>
|
||||
<string name="pre_alpha_warning_title">Software Pre-Alfa</string>
|
||||
<string name="pre_alpha_warning_description">ADVERTENCIA: Este software se encuentra en la etapa pre-alfa y puede tener errores e implementaciones de funciones incompletas.</string>
|
||||
<string name="dont_show_again">No mostrar de nuevo</string>
|
||||
<string name="pre_alpha_warning">SOFTWARE PRE-ALFA</string>
|
||||
<string name="add_directory_success">Nuevo directorio de juegos agregado exitosamente</string>
|
||||
<string name="home_games">Juegos</string>
|
||||
<string name="home_search">Buscar</string>
|
||||
<string name="home_settings">Ajustes</string>
|
||||
<string name="empty_gamelist">No se encontraron archivos o aún no se ha seleccionado ningún directorio de juego.</string>
|
||||
<string name="search_and_filter_games">Buscar y filtrar juegos</string>
|
||||
<string name="select_games_folder">Seleccionar carpeta de juegos</string>
|
||||
<string name="manage_game_folders">Gestionar carpetas de juegos</string>
|
||||
<string name="select_games_folder_description">Permite que Eden complete la lista de juegos.</string>
|
||||
<string name="add_games_warning">¿Omitir la selección de la carpeta de juegos?</string>
|
||||
@@ -272,6 +304,7 @@
|
||||
<string name="add_games_warning_help">https://yuzu-mirror.github.io/help/quickstart/#dumping-games</string>
|
||||
<string name="home_search_games">Buscar juegos</string>
|
||||
<string name="search_settings">Buscar ajustes</string>
|
||||
<string name="games_dir_selected">Directorio de juegos seleccionado</string>
|
||||
<string name="install_prod_keys">Instalar prod.keys</string>
|
||||
<string name="install_prod_keys_description">Requerido para descifrar juegos minoristas</string>
|
||||
<string name="install_prod_keys_warning">¿Omitir agregar claves?</string>
|
||||
@@ -295,15 +328,22 @@
|
||||
<string name="warning_cancel">Cancelar</string>
|
||||
<string name="install_amiibo_keys">Instalar claves de Amiibo</string>
|
||||
<string name="install_amiibo_keys_description">Necesario para usar Amiibos en el juego</string>
|
||||
<string name="install_amiibo_keys_failure_extension_description">Compruebe que el archivo de claves tenga una extensión .bin y pruebe otra vez.</string>
|
||||
<string name="dumping_keys_quickstart_link">https://yuzu-mirror.github.io/help/quickstart/#dumping-decryption-keys</string>
|
||||
<string name="gpu_driver_fetcher">Obtenedor de controladores GPU</string>
|
||||
<string name="gpu_driver_manager">Explorador de drivers de GPU</string>
|
||||
<string name="install_gpu_driver">Instalar driver de GPU</string>
|
||||
<string name="install_gpu_driver_description">Instale drivers alternativos para obtener un rendimiento o una precisión potencialmente mejores</string>
|
||||
<string name="advanced_settings">Opciones avanzadas</string>
|
||||
<string name="advanced_settings_game">Configuración avanzada: %1$s</string>
|
||||
<string name="settings_description">Configurar las opciones del emulador</string>
|
||||
<string name="search_recently_played">Jugado recientemente</string>
|
||||
<string name="search_recently_added">Añadido recientemente</string>
|
||||
<string name="search_retail">Juegos</string>
|
||||
<string name="search_homebrew">Homebrew</string>
|
||||
<string name="open_user_folder">Abrir la carpeta de Eden</string>
|
||||
<string name="open_user_folder_description">Administrar los archivos internos de Eden</string>
|
||||
<string name="theme_and_color_description">Modificar la apariencia de la aplicación</string>
|
||||
<string name="no_file_manager">Explorador de archivos no encontrado</string>
|
||||
<string name="notification_no_directory_link">No se pudo abrir la carpeta Eden</string>
|
||||
<string name="notification_no_directory_link_description">Por favor, busque la carpeta user con el panel lateral del explorador de archivos de forma manual.</string>
|
||||
@@ -311,14 +351,18 @@
|
||||
<string name="manage_save_data_description">Guardar los datos encontrados. Por favor, seleccione una opción de abajo.</string>
|
||||
<string name="import_save_warning">Importar datos de guardado</string>
|
||||
<string name="import_save_warning_description">Ésto sobreescribirá todos los datos de guardado existentes con el archivo proporcionado. ¿Está seguro de querer continuar?</string>
|
||||
<string name="import_export_saves_description">Importar o exportar archivos de guardado</string>
|
||||
<string name="save_files_importing">Importando archivos de guardado...</string>
|
||||
<string name="save_files_exporting">Exportando archivos de guardado...</string>
|
||||
<string name="save_file_imported_success">Importado correctamente</string>
|
||||
<string name="save_file_invalid_zip_structure">Estructura del directorio de guardado no válido</string>
|
||||
<string name="save_file_invalid_zip_structure_description">El nombre de la primera subcarpeta debe ser el Title ID del juego.</string>
|
||||
<string name="import_saves">Importar</string>
|
||||
<string name="export_saves">Exportar</string>
|
||||
<string name="install_firmware">Instalar firmware</string>
|
||||
<string name="install_firmware_description">El firmware debe estar en un archivo ZIP y es necesario para ejecutar algunos juegos</string>
|
||||
<string name="firmware_installing">Instalando firmware</string>
|
||||
<string name="firmware_installed_success">Firmware instalado con éxito</string>
|
||||
<string name="firmware_installed_failure">Error en la instalación de firmware</string>
|
||||
<string name="firmware_installed_failure_description">Asegúrese de que los archivos nca del firmware estén en la raíz del zip e inténtelo de nuevo.</string>
|
||||
<string name="firmware_uninstalled_failure">Error al desinstalar el firmware</string>
|
||||
@@ -331,6 +375,7 @@
|
||||
<string name="install_game_content_failure">Error instalando archivo(s) a la NAND</string>
|
||||
<string name="install_game_content_failure_description">Asegúrese de que el/los contenido(s) son válidos y que el archivo prod.keys esté instalado.</string>
|
||||
<string name="install_game_content_failure_base">La instalación de los juegos base no está permitida para así evitar posibles conflictos.</string>
|
||||
<string name="install_game_content_failure_file_extension">Sólo hay soporte para el contenido en NSP y XCI. Asegúrese de que el/los contenido(s) son válidos.</string>
|
||||
<string name="install_game_content_failed_count">%1$d error(es) de instalación</string>
|
||||
<string name="install_game_content_success">Contenido(s) de juego instalado/s con éxito</string>
|
||||
<string name="install_game_content_success_install">%1$d instalado con éxito</string>
|
||||
@@ -340,6 +385,8 @@
|
||||
<string name="custom_driver_not_supported_description">la carga de drivers personalizados no está disponible para este dispositivo..\n¡Comprueba esta opción en el futuro para ver si soporte se a anadido!</string>
|
||||
<string name="manage_yuzu_data">Administrar datos de Eden</string>
|
||||
<string name="manage_yuzu_data_description">Importa/exporta el firmware, las claves, los datos de usuario, ¡y más!</string>
|
||||
<string name="share_save_file">Compartir archivo de guardado</string>
|
||||
<string name="export_save_failed">Error al exportar el archivo de guardado</string>
|
||||
<string name="game_folders">Carpetas de juegos</string>
|
||||
<string name="deep_scan">Escaneo recursivo </string>
|
||||
<string name="add_game_folder">Añadir carpeta con juegos</string>
|
||||
@@ -368,9 +415,11 @@
|
||||
<string name="firmware_uninstalling">Desinstalando firmware...</string>
|
||||
<string name="firmware_uninstalled_success">Firmware desinstalado correctamente</string>
|
||||
|
||||
<string name="firmware_invalid">Firmware inválido</string>
|
||||
<string name="error_firmware_missing">Se requiere firmware para ejecutar ciertos juegos y aplicaciones. Eden solo funciona con firmware 19.0.1 o anterior.</string>
|
||||
<string name="error_firmware_corrupted">El firmware está presente pero no se pudo leer. Verifique las claves de descifrado y vuelva a volcar el firmware si es necesario.</string>
|
||||
<string name="error_firmware_too_new">El firmware es demasiado nuevo o no se pudo leer. Eden solo funciona con firmware 19.0.1 o anterior.</string>
|
||||
<string name="firmware_missing_help">https://yuzu-mirror.github.io/help/quickstart/#dumping-system-firmware</string>
|
||||
|
||||
<string name="keys_failed">Error al instalar claves</string>
|
||||
<string name="keys_install_success">Claves instaladas correctamente</string>
|
||||
@@ -411,6 +460,7 @@
|
||||
<string name="user_data_description">Importar/exportar todos los datos de la app.\n\nCuando se importa datos de usuario, todos los datos de usuario existentes serán eliminados!\n\nImportando datos de Citron puede causar problemas. Es recomendado manualmente importar todos los datos necesarios.</string>
|
||||
<string name="exporting_user_data">Exportando datos de usuario...</string>
|
||||
<string name="importing_user_data">Importando datos de usuario...</string>
|
||||
<string name="import_user_data">Importar datos de usuario</string>
|
||||
<string name="invalid_yuzu_backup">Backup de válido</string>
|
||||
<string name="user_data_export_success">Datos de usuario exportados con éxito</string>
|
||||
<string name="user_data_import_success">Datos de usuario importados con éxito</string>
|
||||
@@ -544,6 +594,8 @@
|
||||
<string name="qualified_button">%1$s%2$s%3$sBotón %4$s</string>
|
||||
<string name="qualified_axis">Eje %1$s%2$s</string>
|
||||
<string name="unused">Sin usar</string>
|
||||
<string name="input_prompt">Mueve o pulsa una entrada</string>
|
||||
<string name="unsupported_input">Tipo de entrada no compatible</string>
|
||||
<string name="input_mapping_filter">Filtro de mapeo de entrada</string>
|
||||
<string name="input_mapping_filter_description">Selecciona un dispositivo para filtrar las entradas de mapeo</string>
|
||||
<string name="auto_map">Mapear automáticamente un mando</string>
|
||||
@@ -587,6 +639,10 @@
|
||||
|
||||
<!-- Miscellaneous -->
|
||||
<string name="slider_default">Predeterminado</string>
|
||||
<string name="ini_saved">Configuración guardada</string>
|
||||
<string name="gameid_saved">Configuración guardada para %1$s</string>
|
||||
<string name="error_saving">Error guardando %1$s.ini: %2$s</string>
|
||||
<string name="unimplemented_menu">Menú sin implementar</string>
|
||||
<string name="loading">Cargando...</string>
|
||||
<string name="shutting_down">Saliendo...</string>
|
||||
<string name="reset_setting_confirmation">¿Desea restablecer esta configuración a su valor predeterminado?</string>
|
||||
@@ -609,29 +665,41 @@
|
||||
<string name="fetch">Obtener</string>
|
||||
<string name="delete">Borrar</string>
|
||||
<string name="edit">Editar</string>
|
||||
<string name="import_success">Importado exitosamente</string>
|
||||
<string name="export_success">Exportado correctamente</string>
|
||||
<string name="start">Comenzar</string>
|
||||
<string name="clear">Limpiar</string>
|
||||
<string name="global">Global</string>
|
||||
<string name="custom">Perzonalizado</string>
|
||||
<string name="notice">Aviso</string>
|
||||
<string name="import_complete">La importación se completó</string>
|
||||
<string name="more_options">Más opciones</string>
|
||||
<string name="use_global_setting">Usar configuración global</string>
|
||||
<string name="operation_completed_successfully">Operación completada con éxito</string>
|
||||
<string name="retry">Reintentar</string>
|
||||
<string name="confirm">Confirmar</string>
|
||||
<string name="load">Cargar</string>
|
||||
<string name="save">Guardar</string>
|
||||
|
||||
<!-- GPU driver installation -->
|
||||
<string name="select_gpu_driver">Seleccionar driver GPU</string>
|
||||
<string name="select_gpu_driver_title">¿Quiere reemplazar el driver de GPU actual?</string>
|
||||
<string name="select_gpu_driver_install">Instalar</string>
|
||||
<string name="select_gpu_driver_default">Predeterminado</string>
|
||||
<string name="select_gpu_driver_use_default">Usando el driver de GPU por defecto </string>
|
||||
<string name="select_gpu_driver_error">Driver no válido seleccionado</string>
|
||||
<string name="driver_already_installed">Driver ya instalado</string>
|
||||
<string name="system_gpu_driver">Driver GPU del sistema</string>
|
||||
<string name="installing_driver">Instalando driver...</string>
|
||||
|
||||
<!-- GPU driver fetcher -->
|
||||
<string name="fetch_error">Error al obtener</string>
|
||||
<string name="check_connection">Comprueba tu conexión e inténtalo de nuevo.</string>
|
||||
<string name="show_releases">Mostrar versiones</string>
|
||||
<string name="view_full_release_notes">Notas de la versión</string>
|
||||
<string name="failed_to_fetch">Error al obtener</string>
|
||||
<string name="error_during_fetch">Error durante la obtención</string>
|
||||
<string name="toggle_release_notes">Alternar notas de la versión</string>
|
||||
<string name="downloads">Descargas</string>
|
||||
<string name="show_downloads">Mostrar descargas</string>
|
||||
<string name="hide_downloads">Ocultar descargas</string>
|
||||
<string name="failed_cache_dir">Directorio de caché no disponible</string>
|
||||
@@ -650,6 +718,7 @@
|
||||
|
||||
<!-- Preferences Screen -->
|
||||
<string name="preferences_settings">Ajustes</string>
|
||||
<string name="preferences_general">General</string>
|
||||
<string name="preferences_system">Sistema</string>
|
||||
<string name="preferences_system_description">Modo en Dock, región, idioma</string>
|
||||
<string name="preferences_graphics">Gráficos</string>
|
||||
@@ -659,6 +728,7 @@
|
||||
<string name="preferences_controls">Controles</string>
|
||||
<string name="preferences_controls_description">Asignar entradas del mando</string>
|
||||
<string name="preferences_player">Jugador %d</string>
|
||||
<string name="preferences_theme">Tema y color</string>
|
||||
<string name="preferences_debug">Depuración</string>
|
||||
<string name="preferences_debug_description">CPU/GPU debug, API gráfica, fastMEM</string>
|
||||
|
||||
@@ -675,18 +745,6 @@
|
||||
<string name="copy_details">Copiar detalles</string>
|
||||
<string name="add_ons">Extras/Add-ons</string>
|
||||
<string name="add_ons_description">Activa/desactiva mods, actualizaciones y DLC</string>
|
||||
<string name="playtime">Tiempo de juego:</string>
|
||||
<string name="reset_playtime">Borrar tiempo de juego</string>
|
||||
<string name="reset_playtime_description">Restablecer el tiempo de juego actual a 0 segundos</string>
|
||||
<string name="reset_playtime_warning_description">Esto borrará los datos de tiempo de juego actual. ¿Estás seguro\?</string>
|
||||
<string name="playtime_reset_successfully">El tiempo de juego se ha restablecido</string>
|
||||
<string name="edit_playtime">Editar tiempo de juego</string>
|
||||
<string name="hours">Horas</string>
|
||||
<string name="minutes">Minutos</string>
|
||||
<string name="hours_must_be_between_0_and_9999">Las horas deben estar entre 0 y 9999</string>
|
||||
<string name="minutes_must_be_between_0_and_59">Los minutos deben estar entre 0 y 59</string>
|
||||
<string name="seconds_must_be_between_0_and_59">Los segundos deben estar entre 0 y 59</string>
|
||||
<string name="playtime_updated_successfully">Tiempo de juego actualizado exitosamente</string>
|
||||
<string name="clear_shader_cache">Limpiar la caché de shaders</string>
|
||||
<string name="clear_shader_cache_description">Elimina todos los shaders construidos mientras se jugaba al juego</string>
|
||||
<string name="clear_shader_cache_warning_description">Experimentarás más parones mientras que la caché de shaders se regenera</string>
|
||||
@@ -721,17 +779,13 @@
|
||||
<string name="verify_no_result">No se pudo ejecutar la verificación de integridad</string>
|
||||
<string name="verify_no_result_description">No se ha podido comprobar la validez de los contenidos del archivo</string>
|
||||
<string name="verification_failed_for">La verificación falló en los siguientes archivos:\n%1$s</string>
|
||||
<string name="share_game_settings">Compartir configuración</string>
|
||||
<string name="import_config">Importar configuración</string>
|
||||
<string name="export_config">Exportar configuración</string>
|
||||
<string name="share_config_failed">No se pudo compartir el archivo de configuración</string>
|
||||
|
||||
<!-- ROM loading errors -->
|
||||
<string name="loader_error_encrypted">Su ROM está encriptada</string>
|
||||
<string name="loader_error_encrypted_roms_description"><![CDATA[Siga las guías para volver a volcar sus <a href=\"https://yuzu-mirror.github.io/help/quickstart/#dumping-physical-titles-game-cards\">tarjetas de juego</a> o <a href=\"https://yuzu-mirror.github.io/help/quickstart/#dumping-digital-titles-eshop\">títulos digitales</a>.]]></string>
|
||||
<string name="loader_error_encrypted_keys_description"><![CDATA[Por favor, compruebe que su archivo <a href=\"https://yuzu-mirror.github.io/help/quickstart/#dumping-prodkeys-and-titlekeys\">prod.keys</a> está instalado, para que los juegos sean descifrados.]]></string>
|
||||
<string name="loader_error_video_core">Ocurrió un error al inicializar el núcleo de video, posiblemente debido a una incompatibilidad con el driver seleccionado</string>
|
||||
<string name="loader_error_video_core_description">Esto suele deberse a un driver de GPU incompatible. La instalación de un controlador de GPU personalizado puede resolver este problema.</string>
|
||||
<string name="loader_error_invalid_format">No se pudo cargar la ROM</string>
|
||||
<string name="loader_error_file_not_found">Archivo ROM no existe</string>
|
||||
|
||||
<string name="loader_requires_firmware">El juego requiere firmware</string>
|
||||
@@ -760,9 +814,19 @@
|
||||
<string name="config_already_exists_message">Configuración personalizada ya existe para %1$s.\n\n¿Quieres sobrescribir la configuración existente\?\n\nEsta acción no se puede deshacer.</string>
|
||||
<string name="config_exists_prompt">Comprobando la configuración existente...</string>
|
||||
<string name="overwrite_cancelled">Sobrescritura cancelada</string>
|
||||
<string name="checking_driver">Comprobando controlador personalizado: %1$s</string>
|
||||
<string name="driver_unavailable">Controlador personalizado no disponible para este dispositivo</string>
|
||||
<string name="overwrite">Sobrescribir</string>
|
||||
|
||||
<!-- Driver strings -->
|
||||
<string name="missing_gpu_driver_title">Falta controlador de GPU</string>
|
||||
<string name="missing_gpu_driver_message">El controlador personalizado seleccionado \"%s\" no está instalado. ¿Quieres descargarlo e instalarlo ahora?</string>
|
||||
<string name="downloading_driver">Descargando controlador...</string>
|
||||
<string name="driver_installed">Controlador instalado correctamente</string>
|
||||
<string name="driver_installation_failed_title">Error en la instalación del controlador</string>
|
||||
<string name="driver_installation_failed_message">Error al instalar el controlador de GPU: %s</string>
|
||||
<string name="driver_not_available_title">Controlador no disponible</string>
|
||||
<string name="driver_not_available_message">El controlador seleccionado no está disponible para descargar.</string>
|
||||
<string name="driver_not_found">Controlador requerido no instalado: %s</string>
|
||||
<string name="invalid_driver_file">Archivo de controlador no válido: %s</string>
|
||||
<string name="network_unavailable">No hay conexión de red disponible. Por favor, compruebe su conexión a Internet e inténtelo de nuevo.</string>
|
||||
@@ -774,6 +838,8 @@
|
||||
<!-- Emulation Menu -->
|
||||
<string name="emulation_exit">Salir de la emulación</string>
|
||||
<string name="emulation_done">Hecho</string>
|
||||
<string name="emulation_fps_counter">Contador de FPS</string>
|
||||
<string name="emulation_thermal_indicator">Indicador térmico</string>
|
||||
<string name="emulation_toggle_controls">Alternar controles</string>
|
||||
<string name="emulation_rel_stick_center">Centro relativo del stick</string>
|
||||
<string name="emulation_dpad_slide">Deslizamiento de la cruceta</string>
|
||||
@@ -794,6 +860,7 @@
|
||||
<string name="unlock_drawer">Desbloquear menú cajón</string>
|
||||
<string name="reset">Reiniciar</string>
|
||||
|
||||
<string name="load_settings">Cargando configuración...</string>
|
||||
|
||||
<!-- Software keyboard -->
|
||||
<string name="software_keyboard">Teclado de software</string>
|
||||
@@ -807,6 +874,7 @@
|
||||
<string name="save_load_error">Error de Guardado/Carga</string>
|
||||
<string name="fatal_error">Error fatal</string>
|
||||
<string name="fatal_error_message">Se ha producido un error fatal. Consulta el registro para obtener más información.\nContinuar con la emulación podría provocar fallos.</string>
|
||||
<string name="performance_warning">Desactivar esta configuración degradará significativamente el rendimiento. Se recomienda dejar esta configuración habilitada.</string>
|
||||
<string name="device_memory_inadequate">RAM de dispositivo: %1$s\nRecomendado: %2$s</string>
|
||||
<string name="memory_formatted">%1$s %2$s</string>
|
||||
<string name="no_game_present">¡No hay ningún juego ejecutable presente!</string>
|
||||
@@ -826,6 +894,7 @@
|
||||
<string name="memory_8gb">8GB (Inseguro)</string>
|
||||
|
||||
<!--CPU clock speeds-->
|
||||
<string name="clock_base">Base (1000MHz)</string>
|
||||
<string name="clock_boost">Boost (1700MHz)</string>
|
||||
<string name="clock_fast">Rápido (2000MHz)</string>
|
||||
|
||||
@@ -839,6 +908,7 @@
|
||||
<string name="temperature_fahrenheit">Fahrenheit</string>
|
||||
|
||||
<!-- Memory Sizes -->
|
||||
<string name="memory_byte">Byte</string>
|
||||
<string name="memory_byte_shorthand">B</string>
|
||||
<string name="memory_kilobyte">KB</string>
|
||||
<string name="memory_megabyte">MB</string>
|
||||
@@ -946,8 +1016,6 @@
|
||||
<string name="cpu_accuracy_accurate">Preciso</string>
|
||||
<string name="cpu_accuracy_unsafe">Impreciso</string>
|
||||
<string name="cpu_accuracy_paranoid">Paranoico</string>
|
||||
<string name="cpu_accuracy_debugging">Depuración</string>
|
||||
|
||||
<!-- Gamepad Buttons -->
|
||||
<string name="gamepad_d_pad">Cruceta</string>
|
||||
<string name="gamepad_left_stick">Palanca izquierda</string>
|
||||
@@ -956,12 +1024,14 @@
|
||||
<string name="gamepad_screenshot">Captura de pantalla</string>
|
||||
|
||||
<!-- Disk shader cache -->
|
||||
<string name="preparing_shaders">Preparando shaders</string>
|
||||
<string name="building_shaders">Construyendo shaders</string>
|
||||
|
||||
<!-- App options -->
|
||||
<!-- Theme options -->
|
||||
<string name="change_app_theme">Cambiar tema</string>
|
||||
<string name="theme_default">Predeterminado</string>
|
||||
<string name="theme_material_you">Material You</string>
|
||||
|
||||
<!-- Theme Modes -->
|
||||
<string name="change_theme_mode">Cambiar modo del tema</string>
|
||||
<string name="theme_mode_follow_system">Igual al sistema</string>
|
||||
|
||||
@@ -23,6 +23,8 @@
|
||||
<string name="show_fps_description">نمایش فریم در ثانیه</string>
|
||||
<string name="show_frametime">نمایش زمان فریم</string>
|
||||
<string name="show_frametime_description">نمایش زمان هر فریم</string>
|
||||
<string name="show_speed">نمایش سرعت</string>
|
||||
<string name="show_speed_description">نمایش درصد سرعت شبیهسازی</string>
|
||||
<string name="show_app_ram_usage">نمایش مصرف رم برنامه</string>
|
||||
<string name="show_app_ram_usage_description">نمایش میزان رم مورد استفاده شبیهساز</string>
|
||||
<string name="show_system_ram_usage">نمایش مصرف رم سیستم</string>
|
||||
@@ -66,6 +68,8 @@
|
||||
<string name="veil_misc">پردازنده و حافظه</string>
|
||||
<string name="eden_veil">پرده عدن</string>
|
||||
<string name="eden_veil_description">تنظیمات آزمایشی برای بهبود عملکرد و قابلیت. این تنظیمات ممکن است باعث نمایش صفحه سیاه یا سایر مشکلات بازی شود.</string>
|
||||
<string name="eden_veil_warning_title">تنظیمات آزمایشی</string>
|
||||
<string name="eden_veil_warning_description">تنظیمات موجود در پرده عدن بسیار آزمایشی هستند و ممکن است باعث مشکلاتی شوند. اگر بازی شما اجرا نمیشود، همه پسوندها را غیرفعال کنید.</string>
|
||||
<string name="frame_skipping">در حال توسعه: رد کردن فریمها</string>
|
||||
<string name="frame_skipping_description">با فعال کردن رد کردن فریمها، عملکرد را با کاهش تعداد فریمهای رندر شده بهبود دهید. این قابلیت در حال توسعه است و در نسخههای آینده فعال خواهد شد.</string>
|
||||
<string name="frame_interpolation">زمانبندی پیشرفته فریمها</string>
|
||||
@@ -129,6 +133,7 @@
|
||||
<string name="memory_6gb">6 گیگابایت (ناامن)</string>
|
||||
<string name="memory_8gb">8 گیگابایت (ناامن)</string>
|
||||
|
||||
<string name="clock_base">پایه (1000MHz)</string>
|
||||
<string name="clock_boost">تقویت (1700MHz)</string>
|
||||
<string name="clock_fast">سریع (2000MHz)</string>
|
||||
|
||||
@@ -176,6 +181,8 @@
|
||||
<!-- Multiplayer -->
|
||||
<string name="multiplayer">چندنفره</string>
|
||||
<string name="multiplayer_description">اتاق بازی خود را میزبانی کنید یا به یک اتاق موجود بپیوندید تا با دیگران بازی کنید</string>
|
||||
<string name="multiplayer_room_title">اتاق: %1$s</string>
|
||||
<string name="multiplayer_console_id">شناسه کنسول: %1$s</string>
|
||||
<string name="multiplayer_create_room">ایجاد</string>
|
||||
<string name="multiplayer_join_room">عضویت</string>
|
||||
<string name="multiplayer_public_room">مرور اتاقهای عمومی</string>
|
||||
@@ -184,6 +191,11 @@
|
||||
<string name="multiplayer_ip_port">پورت</string>
|
||||
<string name="multiplayer_create_room_success">اتاق با موفقیت ایجاد شد</string>
|
||||
<string name="multiplayer_join_room_success">با موفقیت به اتاق پیوستید</string>
|
||||
<string name="multiplayer_create_room_failed">ایجاد اتاق ناموفق بود</string>
|
||||
<string name="multiplayer_join_room_failed">پیوستن به اتاق ناموفق بود</string>
|
||||
<string name="multiplayer_name_invalid">نام خیلی کوتاه است</string>
|
||||
<string name="multiplayer_address_invalid">آدرس نامعتبر</string>
|
||||
<string name="multiplayer_port_invalid">پورت نامعتبر</string>
|
||||
<string name="multiplayer_exit_room">خروج از اتاق</string>
|
||||
<string name="multiplayer_network_error">خطای شبکه</string>
|
||||
<string name="multiplayer_lost_connection">اتصال قطع شد</string>
|
||||
@@ -212,15 +224,21 @@
|
||||
<string name="multiplayer_member_banned">%1$s مسدود شد</string>
|
||||
<string name="multiplayer_address_unbanned">آدرس آزاد شد</string>
|
||||
<string name="multiplayer_kick_member">اخراج</string>
|
||||
<string name="multiplayer_chat_input_hint">ارسال پیام...</string>
|
||||
<string name="multiplayer_password">رمز عبور</string>
|
||||
<string name="multiplayer_joining">در حال پیوستن...</string>
|
||||
<string name="multiplayer_creating">در حال ایجاد...</string>
|
||||
<string name="multiplayer_room_name">نام اتاق</string>
|
||||
<string name="multiplayer_room_name_invalid">نام اتاق باید بین 3 تا 20 کاراکتر باشد</string>
|
||||
<string name="multiplayer_max_players">حداکثر بازیکنان (16)</string>
|
||||
<string name="multiplayer_max_players_value">حداکثر بازیکنان: %d</string>
|
||||
<string name="multiplayer_chat">چت</string>
|
||||
<string name="multiplayer_more_options">گزینههای بیشتر</string>
|
||||
<string name="multiplayer_ip_copied">آدرس IP در حافظه موقت کپی شد</string>
|
||||
<string name="multiplayer_server_address">آدرس سرور</string>
|
||||
<string name="chat">چت</string>
|
||||
<string name="type_message">پیام را بنویسید...</string>
|
||||
<string name="send">ارسال</string>
|
||||
<string name="send_message">ارسال پیام</string>
|
||||
<string name="multiplayer_moderation">مدیریت</string>
|
||||
<string name="multiplayer_moderation_title">لیست مسدودها</string>
|
||||
@@ -240,8 +258,12 @@
|
||||
<string name="multiplayer_hide_empty_rooms">پنهان کردن اتاقهای خالی</string>
|
||||
<string name="multiplayer_tap_refresh_to_check_again">برای بررسی مجدد، تازهسازی را لمس کنید</string>
|
||||
<string name="multiplayer_search_public_lobbies">جستجوی لابیها...</string>
|
||||
<string name="emulation_multiplayer">چندنفره</string>
|
||||
<string name="multiplayer_game_name">بازیهای ترجیحی</string>
|
||||
<string name="multiplayer_preferred_game_name">بازی ترجیحی</string>
|
||||
<string name="multiplayer_lobby_type">نوع لابی</string>
|
||||
<string name="multiplayer_no_game">بازی یافت نشد</string>
|
||||
<string name="multiplayer_preferred_game_name_invalid">برای میزبانی اتاق باید یک بازی ترجیحی انتخاب کنید.</string>
|
||||
<string name="multiplayer_room_name_error">باید بین 3 تا 20 کاراکتر باشد</string>
|
||||
<string name="multiplayer_required">الزامی</string>
|
||||
<string name="multiplayer_token_required">توکن وب مورد نیاز است، به تنظیمات پیشرفته -> سیستم -> شبکه بروید</string>
|
||||
@@ -287,7 +309,10 @@
|
||||
<string name="next">بعدی</string>
|
||||
<string name="back">قبلی</string>
|
||||
<string name="add_games">افزودن بازیها</string>
|
||||
<string name="add_games_description">پوشه بازیهای خود را انتخاب کنید</string>
|
||||
<string name="step_complete">تکمیل شد!</string>
|
||||
<string name="bluetooth_permissions_granted">مجوزهای بلوتوث اعطا شد.</string>
|
||||
<string name="bluetooth_permissions_denied">مجوزهای بلوتوث رد شد. پشتیبانی کنترلر ممکن است محدود باشد.</string>
|
||||
|
||||
<!-- Home strings -->
|
||||
<string name="alphabetical">الفبایی</string>
|
||||
@@ -295,17 +320,24 @@
|
||||
<string name="view_grid">گرید</string>
|
||||
<string name="view_carousel">کاروسل</string>
|
||||
<string name="folder">پوشه</string>
|
||||
<string name="pre_alpha_warning_title">نرمافزار پیشآلفا</string>
|
||||
<string name="pre_alpha_warning_description">هشدار: این نسخه برای استفاده عمومی نیست. ممکن است دارای اشکالات باشد.</string>
|
||||
<string name="dont_show_again">عدم نمایش مجدد</string>
|
||||
<string name="pre_alpha_warning">نرمافزار پیشآلفا؛ برای استفاده عمومی نیست</string>
|
||||
<string name="add_directory_success">پوشه بازی با موفقیت اضافه شد</string>
|
||||
<string name="home_games">بازیها</string>
|
||||
<string name="home_search">جستجو</string>
|
||||
<string name="home_settings">تنظیمات</string>
|
||||
<string name="empty_gamelist">هیچ فایلی پیدا نشد یا هنوز پوشه بازیها انتخاب نشده است.</string>
|
||||
<string name="search_and_filter_games">جستجو و فیلتر کردن بازیها</string>
|
||||
<string name="select_games_folder">پوشه بازیها را انتخاب کنید</string>
|
||||
<string name="manage_game_folders">مدیریت پوشههای بازی</string>
|
||||
<string name="select_games_folder_description">به Eden اجازه می دهد تا لیست بازیها را پر کند</string>
|
||||
<string name="add_games_warning">از انتخاب پوشه بازی رد میشوید؟</string>
|
||||
<string name="add_games_warning_description">اگر پوشهای انتخاب نشده باشد، بازیها در لیست بازیها نمایش داده نمیشوند.</string>
|
||||
<string name="home_search_games">جستجو در بازیها</string>
|
||||
<string name="search_settings">جستجو در تنظیمات</string>
|
||||
<string name="games_dir_selected">پوشه بازیها انتخاب شد</string>
|
||||
<string name="install_prod_keys">نصب prod.keys</string>
|
||||
<string name="install_prod_keys_description">برای رمزگشایی بازیهای فروشگاهی مورد نیاز است</string>
|
||||
<string name="install_prod_keys_warning">افزودن کلیدها را رد میکنید؟</string>
|
||||
@@ -327,14 +359,20 @@
|
||||
<string name="warning_cancel">لغو</string>
|
||||
<string name="install_amiibo_keys">کلیدهای Amiibo را نصب کنید</string>
|
||||
<string name="install_amiibo_keys_description">برای استفاده از Amiibo در بازی لازم است</string>
|
||||
<string name="install_amiibo_keys_failure_extension_description">بررسی کنید که فایل کلیدهای شما دارای پسوند bin. باشد و دوباره امتحان کنید.</string>
|
||||
<string name="gpu_driver_manager">مدیریت درایور پردازنده گرافیکی</string>
|
||||
<string name="install_gpu_driver">نصب درایور پردازنده گرافیکی</string>
|
||||
<string name="install_gpu_driver_description">درایورهای جایگزین را برای عملکرد یا دقت بهتر نصب کنید</string>
|
||||
<string name="advanced_settings">تنظیمات پیشرفته</string>
|
||||
<string name="advanced_settings_game">تنظیمات پیشرفته: %1$s</string>
|
||||
<string name="settings_description">پیکربندی تنظیمات شبیهساز</string>
|
||||
<string name="search_recently_played">آخرین بازی شدهها</string>
|
||||
<string name="search_recently_added">به تازگی اضافه شدهها</string>
|
||||
<string name="search_retail">فروشگاهی</string>
|
||||
<string name="search_homebrew">ریزکامپیوتری</string>
|
||||
<string name="open_user_folder">باز کردن پوشه Eden</string>
|
||||
<string name="open_user_folder_description">مدیریت فایلهای داخلی Eden</string>
|
||||
<string name="theme_and_color_description">تغییر ظاهر برنامه</string>
|
||||
<string name="no_file_manager">هیچ برنامه مدیریت فایلی پیدا نشد</string>
|
||||
<string name="notification_no_directory_link">پوشه Eden باز نشد</string>
|
||||
<string name="notification_no_directory_link_description">لطفاً پوشه کاربری را با استفاده از پنل کناری برنامه مدیریت فایل به صورت دستی پیدا کنید.</string>
|
||||
@@ -342,14 +380,18 @@
|
||||
<string name="manage_save_data_description">ذخیره داده یافت شد. لطفاً یکی از گزینههای زیر را انتخاب کنید.</string>
|
||||
<string name="import_save_warning">وارد کردن ذخیره دادهها</string>
|
||||
<string name="import_save_warning_description">این کار تمام دادههای ذخیره موجود را با فایل ارائه شده بازنویسی می کند. آیا مطمئن هستید که میخواهید ادامه دهید؟</string>
|
||||
<string name="import_export_saves_description">فایلهای ذخیره داده را وارد یا صادر کنید</string>
|
||||
<string name="save_files_importing">در حال وارد کردن فایلهای ذخیره…</string>
|
||||
<string name="save_files_exporting">در حال صادر کردن فایلهای ذخیره…</string>
|
||||
<string name="save_file_imported_success">با موفقیت وارد شد</string>
|
||||
<string name="save_file_invalid_zip_structure">ساختار پوشه ذخیره نامعتبر است</string>
|
||||
<string name="save_file_invalid_zip_structure_description">اولین نام زیرپوشه باید شناسه عنوان بازی باشد.</string>
|
||||
<string name="import_saves">وارد کردن</string>
|
||||
<string name="export_saves">صادر کردن</string>
|
||||
<string name="install_firmware">نصب ثابتافزار</string>
|
||||
<string name="install_firmware_description">ثابتافزار باید در آرشیو ZIP باشد و برای اجرای برخی بازیها نیاز است</string>
|
||||
<string name="firmware_installing">در حال نصب ثابتافزار</string>
|
||||
<string name="firmware_installed_success">ثابتافزار با موفقیت نصب شد</string>
|
||||
<string name="firmware_installed_failure">نصب ثابتافزار ناموفق بود</string>
|
||||
<string name="firmware_installed_failure_description">مطمئن شوید که فایلهای nca ثابتافزار در ریشه فایل فشرده هستند و دوباره امتحان کنید.</string>
|
||||
<string name="share_log">اشتراک گزارش اشکال زدایی</string>
|
||||
@@ -361,6 +403,7 @@
|
||||
<string name="install_game_content_failure">خطا در نصب فایل(ها) در NAND</string>
|
||||
<string name="install_game_content_failure_description">لطفاً مطمئن شوید که محتوا(های) معتبر هستند و فایل prod.keys نصب شده است.</string>
|
||||
<string name="install_game_content_failure_base">نصب فایل اصلی بازیها برای جلوگیری از ناسازگاریهای احتمالی مجاز نیست.</string>
|
||||
<string name="install_game_content_failure_file_extension">فقط محتوای NSP و XCI پشتیبانی می شود. لطفاً مطمئن شوید که محتوا(های) بازی معتبر است.</string>
|
||||
<string name="install_game_content_failed_count">%1$dخطا(های) نصب</string>
|
||||
<string name="install_game_content_success">محتوا(های) بازی با موفقیت نصب شد</string>
|
||||
<string name="install_game_content_success_install">%1$dبا موفقیت نصب شد</string>
|
||||
@@ -369,6 +412,8 @@
|
||||
<string name="custom_driver_not_supported_description">بارگیری درایور سفارشی در حال حاضر برای این دستگاه پشتیبانی نمیشود.\nاین گزینه را دوباره در آینده بررسی کنید تا ببینید آیا پشتیبانی اضافه شده است یا خیر!</string>
|
||||
<string name="manage_yuzu_data">مدیریت دادههای Eden</string>
|
||||
<string name="manage_yuzu_data_description">وارد کردن/صادر کردن ثابتافزار، کلیدها، دادههای کاربر، و موارد دیگر!</string>
|
||||
<string name="share_save_file">اشتراک گذاری فایل ذخیره</string>
|
||||
<string name="export_save_failed">ذخیره صادر نشد</string>
|
||||
<string name="game_folders">پوشههای بازی</string>
|
||||
<string name="deep_scan">بررسی عمیق</string>
|
||||
<string name="add_game_folder">افزودن پوشه بازی</string>
|
||||
@@ -387,6 +432,7 @@
|
||||
<string name="verify_installed_content_description">تمام محتوای نصب شده را از نظر خرابی بررسی میکند</string>
|
||||
<string name="keys_missing">کلیدهای رمزگذاری وجود ندارند</string>
|
||||
<string name="keys_missing_description">ثابتافزار و بازیهای فروشگاهی قابل رمزگشایی نیستند</string>
|
||||
<string name="firmware_invalid">فیرمور نامعتبر</string>
|
||||
<string name="error_firmware_missing">برای اجرای برخی بازیها و برنامهها نیاز به فیرمور است. ادن فقط با فیرمور 19.0.1 یا قدیمیتر کار میکند.</string>
|
||||
<string name="error_firmware_corrupted">فیرمور موجود است اما قابل خواندن نیست. کلیدهای رمزگشایی را بررسی کنید و در صورت نیاز فیرمور را دوباره دامپ کنید.</string>
|
||||
<string name="error_firmware_too_new">فیرمور خیلی جدید است یا قابل خواندن نیست. ادن فقط با فیرمور 19.0.1 یا قدیمیتر کار میکند.</string>
|
||||
@@ -428,6 +474,7 @@
|
||||
<string name="user_data_description">همه دادههای برنامه را وارد/صادر کنید.\n\nهنگام وارد کردن دادههای کاربر، همه دادههای کاربر موجود حذف خواهند شد!</string>
|
||||
<string name="exporting_user_data">در حال صادر کردن دادههای کاربر...</string>
|
||||
<string name="importing_user_data">در حال وارد کردن دادههای کاربر...</string>
|
||||
<string name="import_user_data">وارد کردن داده کاربر</string>
|
||||
<string name="invalid_yuzu_backup">پشتیبان نامعتبر Eden</string>
|
||||
<string name="user_data_export_success">دادههای کاربر با موفقیت صادر شد</string>
|
||||
<string name="user_data_import_success">دادههای کاربر با موفقیت وارد شد</string>
|
||||
@@ -537,6 +584,8 @@
|
||||
<string name="not_set">تنظیم نشده</string>
|
||||
<string name="unknown">نامعلوم</string>
|
||||
<string name="unused">استفاده نشده</string>
|
||||
<string name="input_prompt">یک ورودی را حرکت یا فشار دهید</string>
|
||||
<string name="unsupported_input">نوع ورودی پشتیبانی نمیشود</string>
|
||||
<string name="input_mapping_filter">فیلتر نگاشت ورودی</string>
|
||||
<string name="input_mapping_filter_description">دستگاهی را برای فیلتر کردن ورودیهای نقشه برداری انتخاب کنید</string>
|
||||
<string name="auto_map">نقشه برداری خودکار یک کنترلر</string>
|
||||
@@ -552,6 +601,10 @@
|
||||
<string name="invert_axis">محور معکوس</string>
|
||||
<!-- Miscellaneous -->
|
||||
<string name="slider_default">پیشفرض</string>
|
||||
<string name="ini_saved">تنظیمات ذخیره شده</string>
|
||||
<string name="gameid_saved">تنظیمات ذخیره شده برای %1$s</string>
|
||||
<string name="error_saving">خطا برای ذخیره ini.%1$s : %2$s</string>
|
||||
<string name="unimplemented_menu">منوی ساخته نشده</string>
|
||||
<string name="loading">بارگذاری...</string>
|
||||
<string name="shutting_down">خاموش شدن…</string>
|
||||
<string name="reset_setting_confirmation">آیا میخواهید این تنظیم را به مقدار پیشفرض خود بازنشانی کنید؟</string>
|
||||
@@ -575,14 +628,21 @@
|
||||
<string name="edit">ویرایش</string>
|
||||
<string name="export_success">با موفقیت صادر شد</string>
|
||||
<string name="start">شروع</string>
|
||||
<string name="clear">پاکسازی</string>
|
||||
<string name="global">سراسری</string>
|
||||
<string name="custom">سفارشی</string>
|
||||
<string name="notice">اطلاع</string>
|
||||
<string name="import_complete">وارد کردن تکمیل شد</string>
|
||||
<string name="more_options">گزینههای بیشتر</string>
|
||||
<string name="use_global_setting">استفاده از تنظیمات سراسری</string>
|
||||
<string name="operation_completed_successfully">عملیات با موفقیت به پایان رسید</string>
|
||||
|
||||
<!-- GPU driver installation -->
|
||||
<string name="select_gpu_driver">انتخاب درایور پردازنده گرافیکی</string>
|
||||
<string name="select_gpu_driver_title">آیا می خواهید درایور فعلی پردازنده گرافیکی خود را جایگزین کنید؟</string>
|
||||
<string name="select_gpu_driver_install">نصب</string>
|
||||
<string name="select_gpu_driver_default">پیشفرض</string>
|
||||
<string name="select_gpu_driver_use_default">استفاده از درایور پیشفرض پردازنده گرافیکی</string>
|
||||
<string name="select_gpu_driver_error">درایور نامعتبر انتخاب شده است</string>
|
||||
<string name="driver_already_installed">درایور قبلاً نصب شده است</string>
|
||||
<string name="system_gpu_driver">درایور سیستم پردازنده گرافیکی</string>
|
||||
@@ -591,9 +651,14 @@
|
||||
<!-- GPU driver fetcher -->
|
||||
<string name="gpu_driver_fetcher">دریافتکننده درایور GPU</string>
|
||||
<string name="fetch">دریافت</string>
|
||||
<string name="fetch_error">خطا در دریافت</string>
|
||||
<string name="check_connection">اتصال خود را بررسی کرده و دوباره امتحان کنید.</string>
|
||||
<string name="show_releases">نمایش نسخهها</string>
|
||||
<string name="view_full_release_notes">یادداشتهای انتشار</string>
|
||||
<string name="failed_to_fetch">دریافت ناموفق</string>
|
||||
<string name="error_during_fetch">خطا در حین دریافت</string>
|
||||
<string name="toggle_release_notes">تغییر یادداشتهای انتشار</string>
|
||||
<string name="downloads">دانلودها</string>
|
||||
<string name="show_downloads">نمایش دانلودها</string>
|
||||
<string name="hide_downloads">مخفی کردن دانلودها</string>
|
||||
<string name="failed_cache_dir">پوشه کش در دسترس نیست</string>
|
||||
@@ -612,12 +677,14 @@
|
||||
|
||||
<!-- Preferences Screen -->
|
||||
<string name="preferences_settings">تنظیمات</string>
|
||||
<string name="preferences_general">عمومی</string>
|
||||
<string name="preferences_system">سیستم</string>
|
||||
<string name="preferences_system_description">حالت متصل شده، منطقه، زبان</string>
|
||||
<string name="preferences_graphics">گرافیک</string>
|
||||
<string name="preferences_graphics_description">سطح دقت، وضوح، حافظه پنهان سایهزن</string>
|
||||
<string name="preferences_audio">صدا</string>
|
||||
<string name="preferences_audio_description">موتور خروجی، میزان</string>
|
||||
<string name="preferences_theme">رنگ و تم</string>
|
||||
<string name="preferences_debug">اشکالزدایی</string>
|
||||
<string name="preferences_debug_description">اشکالزدایی پردازنده/گرافیک، API گرافیک، fastmem</string>
|
||||
|
||||
@@ -675,6 +742,7 @@
|
||||
<string name="loader_error_encrypted_keys_description"><![CDATA[لطفاً مطمئن شوید که فایل prod.keys شما نصب شده است تا بازیها رمزگشایی شوند.]]></string>
|
||||
<string name="loader_error_video_core">در راهاندازی اولیه هسته ویدیو خطایی رخ داد</string>
|
||||
<string name="loader_error_video_core_description">این مورد معمولاً توسط یک درایور گرافیکی ناسازگار ایجاد میشود. نصب درایور گرافیکی سفارشی ممکن است این مشکل را حل کند.</string>
|
||||
<string name="loader_error_invalid_format">رام بارگذاری نشد</string>
|
||||
<string name="loader_error_file_not_found">فایل رام وجود ندارد</string>
|
||||
<string name="loader_requires_firmware">بازی نیاز به فیرمور دارد</string>
|
||||
<string name="loader_requires_firmware_description"><![CDATA[بازی که میخواهید اجرا کنید برای بوت شدن یا عبور از منوی شروع نیاز به فیرمور دارد. لطفا <a href=\"https://yuzu-mirror.github.io/help/quickstart\"> فیرمور را دامپ و نصب کنید</a> یا برای ادامه کار \"تایید\" را فشار دهید.]]></string>
|
||||
@@ -702,9 +770,19 @@
|
||||
<string name="config_already_exists_message">تنظیمات سفارشی از قبل برای %1$s وجود دارد.\n\nآیا میخواهید پیکربندی موجود را بازنویسی کنید؟\n\nاین عمل قابل بازگشت نیست.</string>
|
||||
<string name="config_exists_prompt">در حال بررسی پیکربندی موجود...</string>
|
||||
<string name="overwrite_cancelled">بازنویسی لغو شد</string>
|
||||
<string name="checking_driver">در حال بررسی درایور سفارشی: %1$s</string>
|
||||
<string name="driver_unavailable">درایور سفارشی برای این دستگاه در دسترس نیست</string>
|
||||
<string name="overwrite">بازنویسی</string>
|
||||
|
||||
<!-- Driver strings -->
|
||||
<string name="missing_gpu_driver_title">درایور GPU یافت نشد</string>
|
||||
<string name="missing_gpu_driver_message">درایور سفارشی انتخاب شده \"%s\" نصب نشده است. آیا میخواهید هم اکنون آن را دانلود و نصب کنید؟</string>
|
||||
<string name="downloading_driver">در حال دانلود درایور...</string>
|
||||
<string name="driver_installed">درایور با موفقیت نصب شد</string>
|
||||
<string name="driver_installation_failed_title">نصب درایور ناموفق بود</string>
|
||||
<string name="driver_installation_failed_message">نصب درایور GPU ناموفق بود: %s</string>
|
||||
<string name="driver_not_available_title">درایور در دسترس نیست</string>
|
||||
<string name="driver_not_available_message">درایور انتخاب شده برای دانلود در دسترس نیست.</string>
|
||||
<string name="driver_not_found">درایور مورد نیاز نصب نشده است: %s</string>
|
||||
<string name="invalid_driver_file">فایل درایور نامعتبر: %s</string>
|
||||
<string name="network_unavailable">اتصال شبکه در دسترس نیست. لطفاً اتصال اینترنت خود را بررسی کرده و مجدداً تلاش کنید.</string>
|
||||
@@ -716,6 +794,8 @@
|
||||
<!-- Emulation Menu -->
|
||||
<string name="emulation_exit">خروج از شبیهسازی</string>
|
||||
<string name="emulation_done">انجام شد</string>
|
||||
<string name="emulation_fps_counter">شمارشگر فریم</string>
|
||||
<string name="emulation_thermal_indicator">نشانگر حرارتی</string>
|
||||
<string name="emulation_toggle_controls">تغییر کنترلها</string>
|
||||
<string name="emulation_rel_stick_center">مرکز نسبی استیک</string>
|
||||
<string name="emulation_dpad_slide">لغزش دکمههای جهتی</string>
|
||||
@@ -735,6 +815,7 @@
|
||||
<string name="lock_drawer">قفلکردن منوی کشویی</string>
|
||||
<string name="unlock_drawer">بازکردن قفل منو کشویی</string>
|
||||
|
||||
<string name="load_settings">بارگذاری تنظیمات...</string>
|
||||
|
||||
<!-- Software keyboard -->
|
||||
<string name="software_keyboard">صفحهکلید نرمافزار</string>
|
||||
@@ -748,6 +829,7 @@
|
||||
<string name="save_load_error">خطای ذخیره/بارگذاری</string>
|
||||
<string name="fatal_error">خطای مهلک</string>
|
||||
<string name="fatal_error_message">یک خطای مهلک رخ داد. برای جزئیات، گزارش را بررسی کنید.\nادامه شبیهسازی ممکن است منجر به خرابی و اشکالات شود.</string>
|
||||
<string name="performance_warning">خاموش کردن این تنظیم عملکرد شبیهسازی را به میزان قابل توجهی کاهش میدهد! برای بهترین تجربه، توصیه میشود این تنظیم را فعال بگذارید.</string>
|
||||
<string name="device_memory_inadequate">رم دستگاه: %1$s \nتوصیه شده: %2$s</string>
|
||||
<string name="memory_formatted">%1$s%2$s</string>
|
||||
<string name="no_game_present">هیچ بازی قابل اجرایی وجود ندارد!</string>
|
||||
@@ -762,6 +844,7 @@
|
||||
<string name="region_taiwan">تایوان</string>
|
||||
|
||||
<!-- Memory Sizes -->
|
||||
<string name="memory_byte">بایت</string>
|
||||
<string name="memory_byte_shorthand">بایت</string>
|
||||
<string name="memory_kilobyte">کیلوبایت</string>
|
||||
<string name="memory_megabyte">مگابایت</string>
|
||||
@@ -846,6 +929,7 @@
|
||||
<string name="gamepad_screenshot">نماگرفت</string>
|
||||
|
||||
<!-- Disk shader cache -->
|
||||
<string name="preparing_shaders">در حال آمادهسازی سایهزنها</string>
|
||||
<string name="building_shaders">در حال ساخت سایهزنها</string>
|
||||
|
||||
<!-- Theme options -->
|
||||
|
||||
@@ -12,6 +12,7 @@
|
||||
<!-- Spinbox strings -->
|
||||
<string name="increment">Incrément</string>
|
||||
<string name="decrement">Décrément</string>
|
||||
<string name="value">Valeur</string>
|
||||
<string name="value_too_low">La valeur doit être d\'au moins %1$d</string>
|
||||
<string name="value_too_high">La valeur ne doit pas dépasser %1$d</string>
|
||||
<string name="invalid_value">Valeur invalide</string>
|
||||
@@ -44,6 +45,8 @@
|
||||
<string name="show_fps_description">Afficher les FPS</string>
|
||||
<string name="show_frametime">Afficher frametime</string>
|
||||
<string name="show_frametime_description">Afficher le frametime</string>
|
||||
<string name="show_speed">Afficher vitesse</string>
|
||||
<string name="show_speed_description">Afficher la vitesse d`émulation</string>
|
||||
<string name="show_app_ram_usage">RAM app</string>
|
||||
<string name="show_app_ram_usage_description">Afficher la quantité de RAM utilisée par l\'émulateur</string>
|
||||
<string name="show_system_ram_usage">RAM système</string>
|
||||
@@ -84,6 +87,8 @@
|
||||
<!-- Eden\'s Veil -->
|
||||
<string name="eden_veil">Voile d\'Eden</string>
|
||||
<string name="eden_veil_description">Paramètres expérimentaux pour améliorer les performances et les capacités. Ces paramètres peuvent causer des écrans noirs ou d\'autres problèmes de jeu.</string>
|
||||
<string name="eden_veil_warning_title">Paramètres expérimentaux</string>
|
||||
<string name="eden_veil_warning_description">Les paramètres du Voile d\'Eden sont très expérimentaux et peuvent causer des problèmes. Si votre jeu ne démarre pas, désactivez toutes les extensions.</string>
|
||||
|
||||
<string name="veil_extensions">Extensions GPU</string>
|
||||
<string name="dyna_state">État dynamique étendu</string>
|
||||
@@ -151,6 +156,8 @@
|
||||
<!-- Multiplayer -->
|
||||
<string name="multiplayer">Multijoueur</string>
|
||||
<string name="multiplayer_description">Créez votre propre salon ou rejoignez-en un existant pour jouer avec d\'autres</string>
|
||||
<string name="multiplayer_room_title">Salon : %1$s</string>
|
||||
<string name="multiplayer_console_id">ID console : %1$s</string>
|
||||
<string name="multiplayer_create_room">Créer</string>
|
||||
<string name="multiplayer_join_room">Rejoindre</string>
|
||||
<string name="multiplayer_public_room">Parcourir les salons publics</string>
|
||||
@@ -159,6 +166,11 @@
|
||||
<string name="multiplayer_ip_port">Port</string>
|
||||
<string name="multiplayer_create_room_success">Salon créé avec succès</string>
|
||||
<string name="multiplayer_join_room_success">Salon rejoint avec succès</string>
|
||||
<string name="multiplayer_create_room_failed">Échec de la création du salon</string>
|
||||
<string name="multiplayer_join_room_failed">Échec de la connexion au salon</string>
|
||||
<string name="multiplayer_name_invalid">Nom trop court</string>
|
||||
<string name="multiplayer_address_invalid">Adresse invalide</string>
|
||||
<string name="multiplayer_port_invalid">Port invalide</string>
|
||||
<string name="multiplayer_exit_room">Quitter le salon</string>
|
||||
<string name="multiplayer_network_error">Erreur réseau</string>
|
||||
<string name="multiplayer_lost_connection">Connexion perdue</string>
|
||||
@@ -187,15 +199,21 @@
|
||||
<string name="multiplayer_member_banned">%1$s a été banni</string>
|
||||
<string name="multiplayer_address_unbanned">Adresse débannie</string>
|
||||
<string name="multiplayer_kick_member">Expulser</string>
|
||||
<string name="multiplayer_chat_input_hint">Envoyer un message…</string>
|
||||
<string name="multiplayer_password">Mot de passe</string>
|
||||
<string name="multiplayer_joining">Connexion…</string>
|
||||
<string name="multiplayer_creating">Création…</string>
|
||||
<string name="multiplayer_room_name">Nom du salon</string>
|
||||
<string name="multiplayer_room_name_invalid">Le nom doit contenir entre 3 et 20 caractères</string>
|
||||
<string name="multiplayer_max_players">Joueurs max (16)</string>
|
||||
<string name="multiplayer_max_players_value">Joueurs max : %d</string>
|
||||
<string name="multiplayer_chat">Chat</string>
|
||||
<string name="multiplayer_more_options">Plus d\'options</string>
|
||||
<string name="multiplayer_ip_copied">Adresse IP copiée</string>
|
||||
<string name="multiplayer_server_address">Adresse du serveur</string>
|
||||
<string name="chat">Chat</string>
|
||||
<string name="type_message">Écrire un message…</string>
|
||||
<string name="send">Envoyer</string>
|
||||
<string name="send_message">Envoyer un message</string>
|
||||
<string name="multiplayer_moderation">Modération</string>
|
||||
<string name="multiplayer_moderation_title">Liste des bannis</string>
|
||||
@@ -215,8 +233,12 @@
|
||||
<string name="multiplayer_hide_empty_rooms">Masquer les salons vides</string>
|
||||
<string name="multiplayer_tap_refresh_to_check_again">Toucher pour actualiser</string>
|
||||
<string name="multiplayer_search_public_lobbies">Rechercher des salons…</string>
|
||||
<string name="emulation_multiplayer">Multijoueur</string>
|
||||
<string name="multiplayer_game_name">Jeux préférés</string>
|
||||
<string name="multiplayer_preferred_game_name">Jeu préféré</string>
|
||||
<string name="multiplayer_lobby_type">Type de lobby</string>
|
||||
<string name="multiplayer_no_game">Aucun jeu trouvé</string>
|
||||
<string name="multiplayer_preferred_game_name_invalid">Vous devez choisir un jeu préféré pour héberger un salon.</string>
|
||||
<string name="multiplayer_room_name_error">Doit contenir entre 3 et 20 caractères</string>
|
||||
<string name="multiplayer_required">Requis</string>
|
||||
<string name="multiplayer_token_required">Token web requis, allez dans Paramètres avancés -> Système -> Réseau</string>
|
||||
@@ -240,6 +262,7 @@
|
||||
<string name="keys_description">Sélectionnez votre fichier <b>prod.keys</b> avec le bouton ci-dessous.</string>
|
||||
<string name="select_keys">Sélectionner les clés</string>
|
||||
<string name="firmware">Firmware</string>
|
||||
<string name="firmware_description">Sélectionnez votre <b>firmware.zip</b>avec le bouton ci-dessous.\nEden nécessite actuellement la version <b>19.0.1</b> ou antérieure.</string>
|
||||
<string name="select_firmware">Sélectionner le firmware</string>
|
||||
<string name="games">Jeux</string>
|
||||
<string name="games_description">Sélectionnez votre dossier <b>de Jeux</b> avec le bouton ci-dessous.</string>
|
||||
@@ -249,7 +272,10 @@
|
||||
<string name="next">Suivant</string>
|
||||
<string name="back">Retour</string>
|
||||
<string name="add_games">Ajouter des jeux</string>
|
||||
<string name="add_games_description">Sélectionner le dossier des jeux</string>
|
||||
<string name="step_complete">Terminé !</string>
|
||||
<string name="bluetooth_permissions_granted">Autorisations Bluetooth accordées.</string>
|
||||
<string name="bluetooth_permissions_denied">Autorisations Bluetooth refusées. Le support des contrôleurs peut être limité.</string>
|
||||
|
||||
<!-- Home strings -->
|
||||
|
||||
@@ -260,11 +286,17 @@
|
||||
<string name="view_carousel">Carrousel</string>
|
||||
<string name="game_image_desc">Captures d\'écran pour %1$s</string>
|
||||
<string name="folder">Dossier</string>
|
||||
<string name="pre_alpha_warning_title">Logiciel Pré-Alpha</string>
|
||||
<string name="pre_alpha_warning_description">AVERTISSEMENT : Cette version ne doit pas être partagée ou montrée au public. Ce logiciel est en phase pré-alpha et peut contenir des bugs et des fonctionnalités incomplètes.\nSi vous avez obtenu un accès non autorisé à cette version, il est fortement recommandé de la désinstaller immédiatement.</string>
|
||||
<string name="dont_show_again">Ne plus afficher</string>
|
||||
<string name="pre_alpha_warning">LOGICIEL PRÉ-ALPHA ; NON DESTINÉ AU PUBLIC</string>
|
||||
<string name="add_directory_success">Nouveau dossier de jeux ajouté</string>
|
||||
<string name="home_games">Jeux</string>
|
||||
<string name="home_search">Rechercher</string>
|
||||
<string name="home_settings">Paramètres</string>
|
||||
<string name="empty_gamelist">Aucun fichier n\'a été trouvé ou aucun répertoire de jeu n\'a encore été sélectionné.</string>
|
||||
<string name="search_and_filter_games">Rechercher et filtrer les jeux</string>
|
||||
<string name="select_games_folder">Sélectionner le dossier des jeux</string>
|
||||
<string name="manage_game_folders">Gérer les dossiers de jeux</string>
|
||||
<string name="select_games_folder_description">Permet à Eden de remplir la liste des jeux</string>
|
||||
<string name="add_games_warning">Ne pas sélectionner le dossier des jeux ?</string>
|
||||
@@ -272,6 +304,7 @@
|
||||
<string name="add_games_warning_help">https://yuzu-mirror.github.io/help/quickstart/#dumping-games</string>
|
||||
<string name="home_search_games">Rechercher des jeux</string>
|
||||
<string name="search_settings">Rechercher un paramètre</string>
|
||||
<string name="games_dir_selected">Répertoire de jeux sélectionné</string>
|
||||
<string name="install_prod_keys">Installer prod.keys</string>
|
||||
<string name="install_prod_keys_description">Nécessaire pour décrypter les jeux commerciaux.</string>
|
||||
<string name="install_prod_keys_warning">Sauter l\'ajout des clés ?</string>
|
||||
@@ -295,15 +328,22 @@
|
||||
<string name="warning_cancel">Annuler</string>
|
||||
<string name="install_amiibo_keys">Installer les clés Amiibo</string>
|
||||
<string name="install_amiibo_keys_description">Nécessaire pour utiliser les Amiibo en jeu</string>
|
||||
<string name="install_amiibo_keys_failure_extension_description">Vérifiez que votre fichier de clés a une extension .bin et réessayez.</string>
|
||||
<string name="dumping_keys_quickstart_link">https://yuzu-mirror.github.io/help/quickstart/#dumping-decryption-keys</string>
|
||||
<string name="gpu_driver_fetcher">Récupérateur de pilotes GPU</string>
|
||||
<string name="gpu_driver_manager">Gestionnaire de pilotes du GPU</string>
|
||||
<string name="install_gpu_driver">Installer le pilote du GPU</string>
|
||||
<string name="install_gpu_driver_description">Installer des pilotes alternatifs pour des performances ou une précision potentiellement meilleures</string>
|
||||
<string name="advanced_settings">Paramètres avancés</string>
|
||||
<string name="advanced_settings_game">Paramètres avancés : %1$s</string>
|
||||
<string name="settings_description">Configurer les paramètres de l\'émulateur</string>
|
||||
<string name="search_recently_played">Joué récemment</string>
|
||||
<string name="search_recently_added">Ajouté récemment</string>
|
||||
<string name="search_retail">Commercial</string>
|
||||
<string name="search_homebrew">Homebrew</string>
|
||||
<string name="open_user_folder">Ouvrir le dossier de Eden</string>
|
||||
<string name="open_user_folder_description">Gérer les fichiers internes de Eden</string>
|
||||
<string name="theme_and_color_description">Modifier l\'apparence de l\'application</string>
|
||||
<string name="no_file_manager">Aucun gestionnaire de fichiers trouvé</string>
|
||||
<string name="notification_no_directory_link">Impossible d\'ouvrir le répertoire de Eden</string>
|
||||
<string name="notification_no_directory_link_description">Veuillez localiser manuellement le dossier utilisateur avec le panneau latéral du gestionnaire de fichiers.</string>
|
||||
@@ -311,14 +351,18 @@
|
||||
<string name="manage_save_data_description">Données de sauvegarde trouvées. Veuillez sélectionner une option ci-dessous.</string>
|
||||
<string name="import_save_warning">Importer les données de sauvegarde</string>
|
||||
<string name="import_save_warning_description">Cela écrasera toutes les données de sauvegarde existantes avec le fichier fourni. Êtes-vous sûr de vouloir continuer ?</string>
|
||||
<string name="import_export_saves_description">Importer ou exporter des fichiers de sauvegarde</string>
|
||||
<string name="save_files_importing">Importation des fichiers de sauvegarde...</string>
|
||||
<string name="save_files_exporting">Exportation des fichiers de sauvegarde...</string>
|
||||
<string name="save_file_imported_success">Importé avec succès</string>
|
||||
<string name="save_file_invalid_zip_structure">Structure de répertoire de sauvegarde non valide</string>
|
||||
<string name="save_file_invalid_zip_structure_description">Le nom du premier sous-dossier doit être l\'identifiant du titre du jeu.</string>
|
||||
<string name="import_saves">Importer</string>
|
||||
<string name="export_saves">Exporter</string>
|
||||
<string name="install_firmware">Installer le firmware</string>
|
||||
<string name="install_firmware_description">Le firmware doit être dans une archive ZIP et est nécessaire pour démarrer certains jeux.</string>
|
||||
<string name="firmware_installing">Installation du firmware</string>
|
||||
<string name="firmware_installed_success">Firmware installé avec succès</string>
|
||||
<string name="firmware_installed_failure">L\'installation du firmware a échoué</string>
|
||||
<string name="firmware_installed_failure_description">Assurez-vous que les fichiers NCA du firmware se trouvent à la racine du fichier ZIP, puis réessayez.</string>
|
||||
<string name="firmware_uninstalled_failure">Désinstallation du firmware échoué</string>
|
||||
@@ -331,6 +375,7 @@
|
||||
<string name="install_game_content_failure">Erreur lors de l\'installation du fichier dans la NAND</string>
|
||||
<string name="install_game_content_failure_description">Veuillez vous assurer que le contenu est valide et que le fichier prod.keys est installé.</string>
|
||||
<string name="install_game_content_failure_base">L\'installation de jeux de base n\'est pas autorisée afin d\'éviter d\'éventuels conflits.</string>
|
||||
<string name="install_game_content_failure_file_extension">Seuls les contenus NSP et XCI sont pris en charge. Veuillez vérifier que le contenu du jeu est valide.</string>
|
||||
<string name="install_game_content_failed_count">%1$d erreur(s) d\'installation</string>
|
||||
<string name="install_game_content_success">Contenu du jeu installé avec succès</string>
|
||||
<string name="install_game_content_success_install">%1$d installé avec succès</string>
|
||||
@@ -340,6 +385,8 @@
|
||||
<string name="custom_driver_not_supported_description">Le chargement de pilotes personnalisés n\'est actuellement pas pris en charge pour cet appareil.\nVérifiez à nouveau cette option ultérieurement pour voir si la prise en charge a été ajoutée !</string>
|
||||
<string name="manage_yuzu_data">Gérer les données de Eden</string>
|
||||
<string name="manage_yuzu_data_description">Importer/exporter le firmware, les clés, les données utilisateur, et bien plus encore !</string>
|
||||
<string name="share_save_file">Partager le fichier de sauvegarde</string>
|
||||
<string name="export_save_failed">Échec de l\'exportation de la sauvegarde</string>
|
||||
<string name="game_folders">Dossiers de jeux</string>
|
||||
<string name="deep_scan">Analyse approfondie</string>
|
||||
<string name="add_game_folder">Ajouter un dossier de jeu</string>
|
||||
@@ -368,9 +415,11 @@
|
||||
<string name="firmware_uninstalling">Désinstallation du firmware...</string>
|
||||
<string name="firmware_uninstalled_success">Firmware désinstallé avec succès</string>
|
||||
|
||||
<string name="firmware_invalid">Firmware invalide</string>
|
||||
<string name="error_firmware_missing">Le firmware est requis pour exécuter certains jeux et applications. Eden ne fonctionne qu\'avec le firmware 19.0.1 ou antérieur.</string>
|
||||
<string name="error_firmware_corrupted">Firmware présent mais illisible. Vérifiez les clés de décryptage et redumpz le firmware si nécessaire.</string>
|
||||
<string name="error_firmware_too_new">Firmware trop récent ou illisible. Eden ne supporte que le firmware 19.0.1 ou antérieur.</string>
|
||||
<string name="firmware_missing_help">https://yuzu-mirror.github.io/help/quickstart/#dumping-system-firmware</string>
|
||||
|
||||
<string name="keys_failed">Échec de l\'installation des clés</string>
|
||||
<string name="keys_install_success">Clés installées avec succès</string>
|
||||
@@ -411,6 +460,7 @@
|
||||
<string name="user_data_description">Importer/exporter toutes les données de l\'application\nLors de l\'importation des données utilisateur, toutes les données déjà existantes seront supprimé !\nImporter les données depuis Citron peut poser des problèmes. Il est recommandé de faire l\'importation manuellement de toutes les données nécessaire.</string>
|
||||
<string name="exporting_user_data">Exportation des données utilisateur...</string>
|
||||
<string name="importing_user_data">Importation des données utilisateur...</string>
|
||||
<string name="import_user_data">Importer des données utilisateur</string>
|
||||
<string name="invalid_yuzu_backup">Backup Eden invalide</string>
|
||||
<string name="user_data_export_success">Les données utilisateur ont été exportés avec succès</string>
|
||||
<string name="user_data_import_success">Les données utilisateur ont été importées avec succès</string>
|
||||
@@ -544,6 +594,8 @@
|
||||
<string name="qualified_button">%1$s%2$s%3$sBouton %4$s</string>
|
||||
<string name="qualified_axis">Axe %1$s%2$s</string>
|
||||
<string name="unused">Inutilisé</string>
|
||||
<string name="input_prompt">Déplacez ou appuyez sur une entrée</string>
|
||||
<string name="unsupported_input">Type d\'entrée non pris en charge</string>
|
||||
<string name="input_mapping_filter">Filtre de mappage d\'entrée</string>
|
||||
<string name="input_mapping_filter_description">Sélectionnez un appareil pour filtrer les entrées de mappage</string>
|
||||
<string name="auto_map">Mapper automatiquement une manette</string>
|
||||
@@ -587,6 +639,10 @@
|
||||
|
||||
<!-- Miscellaneous -->
|
||||
<string name="slider_default">Par défaut</string>
|
||||
<string name="ini_saved">Paramètres enregistrés</string>
|
||||
<string name="gameid_saved">Paramètres enregistrés pour %1$s</string>
|
||||
<string name="error_saving">Erreur lors de l\'enregistrement de %1$s.ini: %2$s</string>
|
||||
<string name="unimplemented_menu">Menu non implémenté</string>
|
||||
<string name="loading">Chargement...</string>
|
||||
<string name="shutting_down">Extinction en cours...</string>
|
||||
<string name="reset_setting_confirmation">Voulez-vous réinitialiser ce paramètre à sa valeur par défaut ?</string>
|
||||
@@ -609,29 +665,41 @@
|
||||
<string name="fetch">Récupérer</string>
|
||||
<string name="delete">Supprimer</string>
|
||||
<string name="edit">Éditer</string>
|
||||
<string name="import_success">Importé avec succès</string>
|
||||
<string name="export_success">Exportation réussie</string>
|
||||
<string name="start">Start</string>
|
||||
<string name="clear">Effacer</string>
|
||||
<string name="global">Global</string>
|
||||
<string name="custom">Personnalisé</string>
|
||||
<string name="notice">Avis</string>
|
||||
<string name="import_complete">Importation terminée</string>
|
||||
<string name="more_options">Plus d\'options</string>
|
||||
<string name="use_global_setting">Utilisez les paramètres globaux</string>
|
||||
<string name="operation_completed_successfully">L\'opération s\'est déroulée avec succès</string>
|
||||
<string name="retry">Réessayer</string>
|
||||
<string name="confirm">Confirmer</string>
|
||||
<string name="load">Charger</string>
|
||||
<string name="save">Enregistrer</string>
|
||||
|
||||
<!-- GPU driver installation -->
|
||||
<string name="select_gpu_driver">Sélectionner le pilote du GPU</string>
|
||||
<string name="select_gpu_driver_title">Souhaitez vous remplacer votre pilote actuel ?</string>
|
||||
<string name="select_gpu_driver_install">Installer</string>
|
||||
<string name="select_gpu_driver_default">Par défaut</string>
|
||||
<string name="select_gpu_driver_use_default">Utilisation du pilote du GPU par défaut</string>
|
||||
<string name="select_gpu_driver_error">Pilote non valide sélectionné</string>
|
||||
<string name="driver_already_installed">Pilote déjà installé</string>
|
||||
<string name="system_gpu_driver">Pilote du GPU du système</string>
|
||||
<string name="installing_driver">Installation du pilote...</string>
|
||||
|
||||
<!-- GPU driver fetcher -->
|
||||
<string name="fetch_error">Erreur lors de la récupération</string>
|
||||
<string name="check_connection">Vérifiez votre connexion et réessayez.</string>
|
||||
<string name="show_releases">Afficher les versions</string>
|
||||
<string name="view_full_release_notes">Notes de version</string>
|
||||
<string name="failed_to_fetch">Échec de la récupération</string>
|
||||
<string name="error_during_fetch">Erreur lors de la récupération</string>
|
||||
<string name="toggle_release_notes">Basculer les notes de version</string>
|
||||
<string name="downloads">Téléchargements</string>
|
||||
<string name="show_downloads">Afficher les téléchargements</string>
|
||||
<string name="hide_downloads">Masquer les téléchargements</string>
|
||||
<string name="failed_cache_dir">Répertoire de cache indisponible</string>
|
||||
@@ -650,6 +718,7 @@
|
||||
|
||||
<!-- Preferences Screen -->
|
||||
<string name="preferences_settings">Paramètres</string>
|
||||
<string name="preferences_general">Général</string>
|
||||
<string name="preferences_system">Système</string>
|
||||
<string name="preferences_system_description">Mode TV, région, langue</string>
|
||||
<string name="preferences_graphics">Vidéo</string>
|
||||
@@ -659,6 +728,7 @@
|
||||
<string name="preferences_controls">Contrôles</string>
|
||||
<string name="preferences_controls_description">Mapper l\'entrée du contrôleur</string>
|
||||
<string name="preferences_player">Joueur %d</string>
|
||||
<string name="preferences_theme">Thème et couleur</string>
|
||||
<string name="preferences_debug">Débogage</string>
|
||||
<string name="preferences_debug_description">Débogage CPU/GPU, API graphique, fastmem</string>
|
||||
|
||||
@@ -675,18 +745,6 @@
|
||||
<string name="copy_details">Copier les détails</string>
|
||||
<string name="add_ons">Extensions</string>
|
||||
<string name="add_ons_description">Activer les mods, mises à jour et DLC</string>
|
||||
<string name="playtime">Temps de jeu :</string>
|
||||
<string name="reset_playtime">Réinitialiser le Temps de Jeu</string>
|
||||
<string name="reset_playtime_description">Réinitialiser le temps de jeu du jeu actuel à 0 seconde</string>
|
||||
<string name="reset_playtime_warning_description">Cela effacera les données de temps de jeu du jeu actuel. Êtes-vous sûr \?</string>
|
||||
<string name="playtime_reset_successfully">Le temps de jeu a été réinitialisé</string>
|
||||
<string name="edit_playtime">Modifier le Temps de Jeu</string>
|
||||
<string name="hours">Heures</string>
|
||||
<string name="minutes">Minutes</string>
|
||||
<string name="hours_must_be_between_0_and_9999">Les heures doivent être comprises entre 0 et 9999</string>
|
||||
<string name="minutes_must_be_between_0_and_59">Les minutes doivent être comprises entre 0 et 59</string>
|
||||
<string name="seconds_must_be_between_0_and_59">Les secondes doivent être comprises entre 0 et 59</string>
|
||||
<string name="playtime_updated_successfully">Temps de jeu mis à jour avec succès</string>
|
||||
<string name="clear_shader_cache">Effacer le cache des shaders</string>
|
||||
<string name="clear_shader_cache_description">Supprime tous les shaders générés en jouant à ce jeu</string>
|
||||
<string name="clear_shader_cache_warning_description">Vous risquez de rencontrer davantage de saccades pendant que le cache des shaders se régénère.</string>
|
||||
@@ -721,17 +779,13 @@
|
||||
<string name="verify_no_result">La vérification de l\'intégrité n\'a pas pu être effectuée</string>
|
||||
<string name="verify_no_result_description">La validité du contenu du fichier n\'a pas été vérifiée</string>
|
||||
<string name="verification_failed_for">La vérification a échoué pour les fichiers suivants : %1$s</string>
|
||||
<string name="share_game_settings">Partager la Configuration</string>
|
||||
<string name="import_config">Importer la Configuration</string>
|
||||
<string name="export_config">Exporter la Configuration</string>
|
||||
<string name="share_config_failed">Échec du partage du fichier de configuration</string>
|
||||
|
||||
<!-- ROM loading errors -->
|
||||
<string name="loader_error_encrypted">Votre ROM est cryptée</string>
|
||||
<string name="loader_error_encrypted_roms_description"><![CDATA[Suivez les guides pour redumper vos <a href=\"https://yuzu-mirror.github.io/help/quickstart/#dumping-physical-titles-game-cards\">cartes de jeu</a> ou <a href=\"https://yuzu-mirror.github.io/help/quickstart/#dumping-digital-titles-eshop\">titres numériques</a>.]]></string>
|
||||
<string name="loader_error_encrypted_keys_description"><![CDATA[Veuillez vous assurer que votre fichier <a href=\"https://yuzu-mirror.github.io/help/quickstart/#dumping-prodkeys-and-titlekeys\">prod.keys</a> est installé pour que les jeux puissent être déchiffrés.]]></string>
|
||||
<string name="loader_error_video_core">Une erreur s\'est produite lors de l\'initialisation du noyau vidéo</string>
|
||||
<string name="loader_error_video_core_description">Cela est généralement dû à un pilote GPU incompatible. L\'installation d\'un pilote GPU personnalisé peut résoudre ce problème.</string>
|
||||
<string name="loader_error_invalid_format">Impossible de charger la ROM</string>
|
||||
<string name="loader_error_file_not_found">Le fichier ROM n\'existe pas</string>
|
||||
|
||||
<string name="loader_requires_firmware">Jeu nécessite un firmware</string>
|
||||
@@ -760,9 +814,19 @@
|
||||
<string name="config_already_exists_message">Des paramètres personnalisés existent déjà pour %1$s.\nVoulez-vous écraser la configuration existante \?\nCette action ne peut pas être annulée.</string>
|
||||
<string name="config_exists_prompt">Vérification de la configuration existante...</string>
|
||||
<string name="overwrite_cancelled">Écrasement annulé</string>
|
||||
<string name="checking_driver">Vérification du pilote personnalisé : %1$s</string>
|
||||
<string name="driver_unavailable">Pilote personnalisé non disponible pour cet appareil</string>
|
||||
<string name="overwrite">Écraser</string>
|
||||
|
||||
<!-- Driver strings -->
|
||||
<string name="missing_gpu_driver_title">Pilote GPU manquant</string>
|
||||
<string name="missing_gpu_driver_message">Le pilote personnalisé sélectionné \"%s\" n\'est pas installé. Voulez-vous le télécharger et l\'installer maintenant ?</string>
|
||||
<string name="downloading_driver">Téléchargement du pilote...</string>
|
||||
<string name="driver_installed">Pilote installé avec succès</string>
|
||||
<string name="driver_installation_failed_title">Échec de l\'installation du pilote</string>
|
||||
<string name="driver_installation_failed_message">Échec de l\'installation du pilote GPU : %s</string>
|
||||
<string name="driver_not_available_title">Pilote non disponible</string>
|
||||
<string name="driver_not_available_message">Le pilote sélectionné n\'est pas disponible au téléchargement.</string>
|
||||
<string name="driver_not_found">Pilote requis non installé : %s</string>
|
||||
<string name="invalid_driver_file">Fichier de pilote invalide : %s</string>
|
||||
<string name="network_unavailable">Aucune connexion réseau disponible. Veuillez vérifier votre connexion Internet et réessayer.</string>
|
||||
@@ -774,6 +838,8 @@
|
||||
<!-- Emulation Menu -->
|
||||
<string name="emulation_exit">Quitter l\'émulation</string>
|
||||
<string name="emulation_done">Terminé</string>
|
||||
<string name="emulation_fps_counter">Compteur FPS</string>
|
||||
<string name="emulation_thermal_indicator">Indicateur thermique</string>
|
||||
<string name="emulation_toggle_controls">Activer/Désactiver les contrôles</string>
|
||||
<string name="emulation_rel_stick_center">Centre du stick relatif</string>
|
||||
<string name="emulation_dpad_slide">Glissement du D-pad</string>
|
||||
@@ -794,6 +860,7 @@
|
||||
<string name="unlock_drawer">Déverrouiller le tiroir</string>
|
||||
<string name="reset">Réinitialiser</string>
|
||||
|
||||
<string name="load_settings">Chargement des paramètres…</string>
|
||||
|
||||
<!-- Software keyboard -->
|
||||
<string name="software_keyboard">Clavier virtuel</string>
|
||||
@@ -807,6 +874,7 @@
|
||||
<string name="save_load_error">Erreur de sauvegarde/chargement</string>
|
||||
<string name="fatal_error">Erreur fatale</string>
|
||||
<string name="fatal_error_message">Une erreur fatale est survenue. Vérifiez les logs pour plus de détails.\nContinuer l\'exécution de l\'émulation pourrait entraîner des plantages.</string>
|
||||
<string name="performance_warning">Désactiver ce paramètre réduira considérablement les performances. Il est recommandé que vous laissiez ce paramètre activé.</string>
|
||||
<string name="device_memory_inadequate">Mémoire RAM de l\'appareil : %1$s\nRecommandé : %2$s</string>
|
||||
<string name="memory_formatted">%1$s %2$s</string>
|
||||
<string name="no_game_present">Aucun jeu démarreable présent !</string>
|
||||
@@ -826,6 +894,7 @@
|
||||
<string name="memory_8gb">8 Go (Dangereux)</string>
|
||||
|
||||
<!--CPU clock speeds-->
|
||||
<string name="clock_base">Base (1000MHz)</string>
|
||||
<string name="clock_boost">Boost (1700MHz)</string>
|
||||
<string name="clock_fast">Rapide (2000MHz)</string>
|
||||
|
||||
@@ -839,6 +908,7 @@
|
||||
<string name="temperature_fahrenheit">Fahrenheit</string>
|
||||
|
||||
<!-- Memory Sizes -->
|
||||
<string name="memory_byte">Octet</string>
|
||||
<string name="memory_byte_shorthand">B</string>
|
||||
<string name="memory_kilobyte">Ko</string>
|
||||
<string name="memory_megabyte">Mo</string>
|
||||
@@ -946,8 +1016,6 @@
|
||||
<string name="cpu_accuracy_accurate">Précis</string>
|
||||
<string name="cpu_accuracy_unsafe">Risqué</string>
|
||||
<string name="cpu_accuracy_paranoid">Paranoïaque</string>
|
||||
<string name="cpu_accuracy_debugging">Débogage</string>
|
||||
|
||||
<!-- Gamepad Buttons -->
|
||||
<string name="gamepad_d_pad">Pavé directionnel</string>
|
||||
<string name="gamepad_left_stick">Stick gauche</string>
|
||||
@@ -956,12 +1024,14 @@
|
||||
<string name="gamepad_screenshot">Capture d\'écran</string>
|
||||
|
||||
<!-- Disk shader cache -->
|
||||
<string name="preparing_shaders">Préparation des shaders</string>
|
||||
<string name="building_shaders">Compilation des shaders</string>
|
||||
|
||||
<!-- App options -->
|
||||
<!-- Theme options -->
|
||||
<string name="change_app_theme">Changer le thème de l\'application</string>
|
||||
<string name="theme_default">Par défaut</string>
|
||||
<string name="theme_material_you">Material You</string>
|
||||
|
||||
<!-- Theme Modes -->
|
||||
<string name="change_theme_mode">Changer le mode de thème</string>
|
||||
<string name="theme_mode_follow_system">Automatique</string>
|
||||
|
||||
@@ -22,6 +22,8 @@
|
||||
<string name="show_fps_description">מציג מספר פריימים לשנייה</string>
|
||||
<string name="show_frametime">הצג זמן פריים</string>
|
||||
<string name="show_frametime_description">מציג את זמן העיבוד לפריים</string>
|
||||
<string name="show_speed">הצג מהירות</string>
|
||||
<string name="show_speed_description">מציג את אחוז מהירות האמולציה</string>
|
||||
<string name="show_app_ram_usage">הצג שימוש זיכרון</string>
|
||||
<string name="show_app_ram_usage_description">הצג את כמות ה-RAM שהאמולטור משתמש בה</string>
|
||||
<string name="show_system_ram_usage">הצג שימוש זיכרון מערכת</string>
|
||||
@@ -62,6 +64,8 @@
|
||||
<!-- Eden\'s Veil -->
|
||||
<string name="eden_veil">עדן וייל</string>
|
||||
<string name="eden_veil_description">הגדרות ניסיוניות לשיפור ביצועים ויכולות. הגדרות אלו עלולות לגרום למסכים שחורים או לבעיות אחרות במשחק.</string>
|
||||
<string name="eden_veil_warning_title">הגדרות ניסיוניות</string>
|
||||
<string name="eden_veil_warning_description">הגדרות במסך העדן ניסיוניות מאוד ועלולות לגרום לבעיות. אם המשחק לא עולה, השבת את כל ההרחבות.</string>
|
||||
|
||||
<string name="veil_extensions">הרחבות GPU</string>
|
||||
<string name="dyna_state">מצב דינמי מורחב</string>
|
||||
@@ -129,6 +133,8 @@
|
||||
<!-- Multiplayer -->
|
||||
<string name="multiplayer">רב־משתתפים</string>
|
||||
<string name="multiplayer_description">ארח חדר משחק משלך או הצטרף לחדר קיים כדי לשחק עם אנשים</string>
|
||||
<string name="multiplayer_room_title">חדר: %1$s</string>
|
||||
<string name="multiplayer_console_id">מזהה קונסולה: %1$s</string>
|
||||
<string name="multiplayer_create_room">צור</string>
|
||||
<string name="multiplayer_join_room">הצטרף</string>
|
||||
<string name="multiplayer_public_room">עיין בחדרים ציבוריים</string>
|
||||
@@ -137,6 +143,11 @@
|
||||
<string name="multiplayer_ip_port">פורט</string>
|
||||
<string name="multiplayer_create_room_success">החדר נוצר בהצלחה</string>
|
||||
<string name="multiplayer_join_room_success">הצטרפת לחדר בהצלחה</string>
|
||||
<string name="multiplayer_create_room_failed">יצירת חדר נכשלה</string>
|
||||
<string name="multiplayer_join_room_failed">הצטרפות לחדר נכשלה</string>
|
||||
<string name="multiplayer_name_invalid">השם קצר מדי</string>
|
||||
<string name="multiplayer_address_invalid">כתובת לא תקינה</string>
|
||||
<string name="multiplayer_port_invalid">פורט לא תקין</string>
|
||||
<string name="multiplayer_exit_room">צא מהחדר</string>
|
||||
<string name="multiplayer_network_error">שגיאת רשת</string>
|
||||
<string name="multiplayer_lost_connection">החיבור אבד</string>
|
||||
@@ -165,15 +176,21 @@
|
||||
<string name="multiplayer_member_banned">%1$s נחסם</string>
|
||||
<string name="multiplayer_address_unbanned">כתובת שוחררה</string>
|
||||
<string name="multiplayer_kick_member">הסר</string>
|
||||
<string name="multiplayer_chat_input_hint">שלח הודעה...</string>
|
||||
<string name="multiplayer_password">סיסמה</string>
|
||||
<string name="multiplayer_joining">מצטרף...</string>
|
||||
<string name="multiplayer_creating">יוצר...</string>
|
||||
<string name="multiplayer_room_name">שם חדר</string>
|
||||
<string name="multiplayer_room_name_invalid">שם חדר חייב להיות בין 3-20 תווים</string>
|
||||
<string name="multiplayer_max_players">מקסימום שחקנים (16)</string>
|
||||
<string name="multiplayer_max_players_value">מקסימום שחקנים: %d</string>
|
||||
<string name="multiplayer_chat">צ\'אט</string>
|
||||
<string name="multiplayer_more_options">אפשרויות נוספות</string>
|
||||
<string name="multiplayer_ip_copied">כתובת IP הועתקה ללוח</string>
|
||||
<string name="multiplayer_server_address">כתובת השרת</string>
|
||||
<string name="chat">צ\'אט</string>
|
||||
<string name="type_message">הקלד הודעה…</string>
|
||||
<string name="send">שלח</string>
|
||||
<string name="send_message">שלח הודעה</string>
|
||||
<string name="multiplayer_moderation">ניהול</string>
|
||||
<string name="multiplayer_moderation_title">רשימת חסומים</string>
|
||||
@@ -193,8 +210,12 @@
|
||||
<string name="multiplayer_hide_empty_rooms">הסתר חדרים ריקים</string>
|
||||
<string name="multiplayer_tap_refresh_to_check_again">הקש לרענון לבדיקה מחדש</string>
|
||||
<string name="multiplayer_search_public_lobbies">חפש חדרים...</string>
|
||||
<string name="emulation_multiplayer">רב־משתתפים</string>
|
||||
<string name="multiplayer_game_name">משחקים מועדפים</string>
|
||||
<string name="multiplayer_preferred_game_name">משחק מועדף</string>
|
||||
<string name="multiplayer_lobby_type">סוג לובי</string>
|
||||
<string name="multiplayer_no_game">לא נמצאו משחקים</string>
|
||||
<string name="multiplayer_preferred_game_name_invalid">עליך לבחור משחק מועדף לאירוח חדר</string>
|
||||
<string name="multiplayer_room_name_error">חייב להיות בין 3-20 תווים</string>
|
||||
<string name="multiplayer_required">נדרש</string>
|
||||
<string name="multiplayer_token_required">נדרש אסימון אינטרנט, עבור להגדרות מתקדמות -> מערכת -> רשת</string>
|
||||
@@ -226,7 +247,10 @@
|
||||
<string name="next">הבא</string>
|
||||
<string name="back">אחורה</string>
|
||||
<string name="add_games">הוסף משחקים</string>
|
||||
<string name="add_games_description">בחר/י את תיקיית המשחקים שלך</string>
|
||||
<string name="step_complete">הושלם!</string>
|
||||
<string name="bluetooth_permissions_granted">הרשאות Bluetooth אושרו.</string>
|
||||
<string name="bluetooth_permissions_denied">הרשאות Bluetooth נדחו. תמיכה בבקרים עשויה להיות מוגבלת.</string>
|
||||
|
||||
<!-- Home strings -->
|
||||
|
||||
@@ -235,16 +259,23 @@
|
||||
<string name="view_grid">רשת</string>
|
||||
<string name="view_carousel">קרוסלה</string>
|
||||
<string name="folder">תיקייה</string>
|
||||
<string name="pre_alpha_warning_title">תוכנת טרום-אלפא</string>
|
||||
<string name="pre_alpha_warning_description">אזהרה: גרסה זו אינה מיועדת לשימוש ציבורי. התוכנה בשלבי פיתוח מוקדמים ועלולה להכיל באגים.</string>
|
||||
<string name="dont_show_again">אל תציג שוב</string>
|
||||
<string name="pre_alpha_warning">תוכנת טרום-אלפא - לא לשימוש ציבורי</string>
|
||||
<string name="home_games">משחקים</string>
|
||||
<string name="home_search">חפש</string>
|
||||
<string name="home_settings">הגדרות</string>
|
||||
<string name="empty_gamelist">לא נמצאו קבצים או לנבחרה ספריית קבצים בינתיים.</string>
|
||||
<string name="search_and_filter_games">חפש וסנן משחקים</string>
|
||||
<string name="select_games_folder">בחר תיקיית משחקים</string>
|
||||
<string name="manage_game_folders">נהל את תיקיית המשחקים</string>
|
||||
<string name="select_games_folder_description">אפשר ל Eden לאכלס את רשימת המשחקים</string>
|
||||
<string name="add_games_warning">לדלג על בחירת תיקיית המשחקים?</string>
|
||||
<string name="add_games_warning_description">משחקים לא יוצגו ברשימת המשחקים אם לנבחרה תיקיית משחקים.</string>
|
||||
<string name="home_search_games">חפש משחקים</string>
|
||||
<string name="search_settings">חפש בהגדרות</string>
|
||||
<string name="games_dir_selected">ספריית משחקים נבחרה</string>
|
||||
<string name="install_prod_keys">התקן prod.keys</string>
|
||||
<string name="install_prod_keys_description">הכרחי בכדי לפענח משחקים</string>
|
||||
<string name="install_prod_keys_warning">לדלג על הוספת מפתחות?</string>
|
||||
@@ -266,15 +297,21 @@
|
||||
<string name="warning_cancel">ביטול</string>
|
||||
<string name="install_amiibo_keys">התקן מפתחות Amiibo</string>
|
||||
<string name="install_amiibo_keys_description">נחוץ כדי להשתמש ב Amiibo במשחק</string>
|
||||
<string name="install_amiibo_keys_failure_extension_description">ודא/י שלקובץ המפתחות שלך יש סיומת של bin. ונסה/י שוב.</string>
|
||||
<string name="gpu_driver_fetcher">מאחזר מנהלי התקן GPU</string>
|
||||
<string name="gpu_driver_manager">מנהל הדרייברים של המעבד הגרפי</string>
|
||||
<string name="install_gpu_driver">התקן דרייבר למעבד הגרפי</string>
|
||||
<string name="install_gpu_driver_description">התקן דרייברים אחרים בשביל סיכוי לביצועים או דיוק גבוההים יותר</string>
|
||||
<string name="advanced_settings">הגדרות מתקדמות</string>
|
||||
<string name="advanced_settings_game">הגדרות מתקדמות: %1$s</string>
|
||||
<string name="settings_description">הדר את הגדרות האמולטור</string>
|
||||
<string name="search_recently_played">שוחק לאחרונה</string>
|
||||
<string name="search_recently_added">הוסף לאחרונה</string>
|
||||
<string name="search_retail">קמעונאי</string>
|
||||
<string name="search_homebrew">Homebrew</string>
|
||||
<string name="open_user_folder">פתח את תיקיית Eden </string>
|
||||
<string name="open_user_folder_description">נה ל את הקבצים הפנימיין של Eden</string>
|
||||
<string name="theme_and_color_description">ערוך את נראות האפליקציה</string>
|
||||
<string name="no_file_manager">לא נמצא מנהל קבצים</string>
|
||||
<string name="notification_no_directory_link">לא יכול לפתוח את ספריית Eden</string>
|
||||
<string name="notification_no_directory_link_description">בבקשה מקם את תיקיית המשתמש בפנל הצידי של מנהל הקבצים באופן ידני.</string>
|
||||
@@ -282,14 +319,18 @@
|
||||
<string name="manage_save_data_description">מידע שמור לא נמצא. בבקשה בחר/י אופציה מלמטה</string>
|
||||
<string name="import_save_warning">ייבוא נתוני שמירה</string>
|
||||
<string name="import_save_warning_description">פעולה זו תמחק את כל הנתונים הקיימים ותחליף אותם בקובץ שסופק.האם אתה בטוח שברצונך להמשיך?</string>
|
||||
<string name="import_export_saves_description">יבא או יצא קבצי שמירה</string>
|
||||
<string name="save_files_importing">מייבא קבצי שמירה...</string>
|
||||
<string name="save_files_exporting">מייצא קבצי שמירה...</string>
|
||||
<string name="save_file_imported_success">יובא בהצלחה</string>
|
||||
<string name="save_file_invalid_zip_structure">מבנה ספריית השמירות לא חוקי</string>
|
||||
<string name="save_file_invalid_zip_structure_description">התת תיקייה הראשונה חייב להיות ה title ID של המשחק</string>
|
||||
<string name="import_saves">ייבוא</string>
|
||||
<string name="export_saves">ייצוא</string>
|
||||
<string name="install_firmware">התקן firmware</string>
|
||||
<string name="install_firmware_description">ה frimware חייב להיות בקובץ zip והוא הכרחי להפעלת חלק מהמשחקים</string>
|
||||
<string name="firmware_installing">מתקין frimware</string>
|
||||
<string name="firmware_installed_success">ה frimware הותקן בהצלחה</string>
|
||||
<string name="firmware_installed_failure">התקנת ה frimware נכשלה</string>
|
||||
<string name="firmware_installed_failure_description">ודא שקבצי ה firmware nca נמצאים בשורש ה zip ונסה שוב.</string>
|
||||
<string name="share_log">שתף את יומני הרישום של מיפוי הבאגים</string>
|
||||
@@ -301,6 +342,7 @@
|
||||
<string name="install_game_content_failure">תקלה בהתקנת הקובץ (או קבצים) ל NAND</string>
|
||||
<string name="install_game_content_failure_description">בבקשה ודא שהתוכן (או תכנים) חוקיים ושקובץ ה prod.keys מותקן.</string>
|
||||
<string name="install_game_content_failure_base">התקנת משחק בסיס נדחת בכדי להימנע מקונפליקטים אפשריים.</string>
|
||||
<string name="install_game_content_failure_file_extension">רק קבצי NSP ו XCI נתמכים. בבקשה ודא שתוכן (או תכנים) המשחק חוקי.</string>
|
||||
<string name="install_game_content_failed_count">%1$dבעיה (בעיות) התקנה</string>
|
||||
<string name="install_game_content_success">תוכן (או תכני) המשחק הותקנו בהצלחה</string>
|
||||
<string name="install_game_content_success_install">%1$d הותקן בהצלחה</string>
|
||||
@@ -308,6 +350,8 @@
|
||||
<string name="custom_driver_not_supported">דרייברים מותאמים אישית לא נתמכים</string>
|
||||
<string name="manage_yuzu_data">נהל את המידע של Eden</string>
|
||||
<string name="manage_yuzu_data_description">יבא/יצא firmware, keys, מידע של משתמש ועוד!</string>
|
||||
<string name="share_save_file">שתף קובץ שמירה</string>
|
||||
<string name="export_save_failed">נכשל בייצוא שמירה</string>
|
||||
<string name="game_folders">תיקיית משחקים</string>
|
||||
<string name="deep_scan">סריקה עמוקה</string>
|
||||
<string name="add_game_folder">הוסף תיקיית משחקים</string>
|
||||
@@ -334,10 +378,10 @@
|
||||
<string name="firmware_uninstalling">מסיר קושחה...</string>
|
||||
<string name="firmware_uninstalled_success">הקושחה הוסרה בהצלחה</string>
|
||||
|
||||
<string name="firmware_invalid">קושחה לא תקינה</string>
|
||||
<string name="error_firmware_missing">נדרש קושחה להפעלת משחקים ויישומים מסוימים. עדן עובד רק עם קושחה 19.0.1 או ישנה יותר.</string>
|
||||
<string name="error_firmware_corrupted">קושחה קיימת אך לא ניתנת לקריאה. בדוק מפתחות פענוח ושמור קושחה מחדש אם needed.</string>
|
||||
<string name="error_firmware_too_new">קושחה חדשה מדי או לא ניתנת לקריאה. עדן תומך רק בקושחה 19.0.1 או ישנה יותר.</string>
|
||||
|
||||
<string name="keys_failed">התקנת מפתחות נכשלה</string>
|
||||
<string name="keys_install_success">מפתחות הותקנו בהצלחה</string>
|
||||
<string name="error_keys_copy_failed">אחד או יותר מהמפתחות לא הצליחו להעתקה.</string>
|
||||
@@ -376,6 +420,7 @@
|
||||
<string name="user_data">נתוני משתמש</string>
|
||||
<string name="exporting_user_data">מייצא נתוני משתמש...</string>
|
||||
<string name="importing_user_data">מייבא נתוני משתמש...</string>
|
||||
<string name="import_user_data">יבא נתוני משתמש</string>
|
||||
<string name="invalid_yuzu_backup">גיבוי Eden לא חוקי</string>
|
||||
<string name="user_data_export_success">נתוני משתמש יוצאו בהצלחה</string>
|
||||
<string name="user_data_import_success">נתוני משתמש יובאו בהצלחה</string>
|
||||
@@ -495,6 +540,10 @@
|
||||
<string name="use_global_input_configuration">השתמש בהגדרת קלט גלובלי</string>
|
||||
<!-- Miscellaneous -->
|
||||
<string name="slider_default">ברירת מחדל</string>
|
||||
<string name="ini_saved">הגדרות שמורות</string>
|
||||
<string name="gameid_saved">הגדרות שמורות עבור %1$s</string>
|
||||
<string name="error_saving">תקלה בשמירת %1$s.ini: %2$s</string>
|
||||
<string name="unimplemented_menu">תפריט שלא יושם</string>
|
||||
<string name="loading">טוען...</string>
|
||||
<string name="shutting_down">כיבוי...</string>
|
||||
<string name="reset_setting_confirmation">אתה מעוניין לאפס את ההגדרה הזו חזרה לברירת המחדל?</string>
|
||||
@@ -519,19 +568,29 @@
|
||||
<string name="edit">ערוך</string>
|
||||
<string name="export_success">יוצא בהצלחה</string>
|
||||
<string name="start">התחלה</string>
|
||||
<string name="clear">נקה</string>
|
||||
<string name="save">שמור</string>
|
||||
|
||||
<!-- GPU driver installation -->
|
||||
<string name="select_gpu_driver">בחר דרייבר למעבד הגרפי</string>
|
||||
<string name="select_gpu_driver_title">אתה מעוניין להחליף את הדרייבר של המעבד הגרפי שלך?</string>
|
||||
<string name="select_gpu_driver_install">התקן</string>
|
||||
<string name="select_gpu_driver_default">ברירת מחדל</string>
|
||||
<string name="select_gpu_driver_use_default">משתמש בדרייבר ברירת המחדל של המעבד הגרפי</string>
|
||||
<string name="select_gpu_driver_error">נבחר דרייבר לא חוקי</string>
|
||||
<string name="driver_already_installed">הדרייבר כבר מותקן</string>
|
||||
<string name="system_gpu_driver">דרייבר של המעבד הגרפי של המערכת</string>
|
||||
<string name="installing_driver">מתקין דרייבר...</string>
|
||||
|
||||
<!-- GPU driver fetcher -->
|
||||
<string name="fetch_error">שגיאה במהלך האחזור</string>
|
||||
<string name="check_connection">בדוק את החיבור שלך ונסה שוב.</string>
|
||||
<string name="show_releases">הצג גרסאות</string>
|
||||
<string name="view_full_release_notes">הערות גרסה</string>
|
||||
<string name="failed_to_fetch">אחזור נכשל</string>
|
||||
<string name="error_during_fetch">שגיאה במהלך האחזור</string>
|
||||
<string name="toggle_release_notes">החלף הערות גרסה</string>
|
||||
<string name="downloads">הורדות</string>
|
||||
<string name="show_downloads">הצג הורדות</string>
|
||||
<string name="hide_downloads">הסתר הורדות</string>
|
||||
<string name="failed_cache_dir">תיקיית מטמון לא זמינה</string>
|
||||
@@ -550,12 +609,14 @@
|
||||
|
||||
<!-- Preferences Screen -->
|
||||
<string name="preferences_settings">הגדרות</string>
|
||||
<string name="preferences_general">כללי</string>
|
||||
<string name="preferences_system">מערכת</string>
|
||||
<string name="preferences_system_description">מצב מעוגן, איזור, שפה</string>
|
||||
<string name="preferences_graphics">גרפיקה</string>
|
||||
<string name="preferences_graphics_description">רמת דיוק, רזולוציה, מטמון שיידרים</string>
|
||||
<string name="preferences_audio">שמע</string>
|
||||
<string name="preferences_audio_description">מנוע פלט, עוצמת שמע</string>
|
||||
<string name="preferences_theme">צבע ונושא</string>
|
||||
<string name="preferences_debug">דיבאג</string>
|
||||
<string name="preferences_debug_description">דיבאגינג עבור מעבד/מעבד גרפי, ממשק תוכנה עבור הגרפיקות, fastmem</string>
|
||||
|
||||
@@ -572,6 +633,7 @@
|
||||
<string name="loader_error_encrypted_keys_description"><![CDATA[אנא וודא שקובץ ה-<a href=\"https://yuzu-mirror.github.io/help/quickstart/#dumping-prodkeys-and-titlekeys\">prod.keys</a> מותקן כך שניתן יהיה לפענח משחקים.]]></string>
|
||||
<string name="loader_error_video_core">התרחשה בעיה באתחול של ליבת הווידאו</string>
|
||||
<string name="loader_error_video_core_description">זה בדרך כלל נגרם על ידי דרייבר לא מתאים עבור המעבד הגרפי. התקנת דרייבר אשר מתאים למעבד הגרפי יכול לפתור את הבעיה הזו.</string>
|
||||
<string name="loader_error_invalid_format">אין אפשרות לטעון את המשחק</string>
|
||||
<string name="loader_error_file_not_found">קובץ המשחק לא קיים</string>
|
||||
|
||||
<string name="loader_requires_firmware">המשחק דורש קושחה</string>
|
||||
@@ -599,9 +661,19 @@
|
||||
<string name="config_already_exists_title">תצורה כבר קיימת</string>
|
||||
<string name="config_exists_prompt">בודק אם קיימת תצורה...</string>
|
||||
<string name="overwrite_cancelled">דריסה בוטלה</string>
|
||||
<string name="checking_driver">בודק מנהל התקן מותאם אישית: %1$s</string>
|
||||
<string name="driver_unavailable">מנהל התקן מותאם אישית לא זמין למכשיר זה</string>
|
||||
<string name="overwrite">דרוס</string>
|
||||
|
||||
<!-- Driver strings -->
|
||||
<string name="missing_gpu_driver_title">מנהל התקן GPU חסר</string>
|
||||
<string name="missing_gpu_driver_message">מנהל ההתקן המותאם אישית הנבחר \"%s\" אינו מותקן. האם ברצונך להוריד ולהתקין אותו כעת?</string>
|
||||
<string name="downloading_driver">מוריד מנהל התקן...</string>
|
||||
<string name="driver_installed">מנהל ההתקן הותקן בהצלחה</string>
|
||||
<string name="driver_installation_failed_title">התקנת מנהל ההתקן נכשלה</string>
|
||||
<string name="driver_installation_failed_message">נכשלה התקנת מנהל ההתקן של GPU: %s</string>
|
||||
<string name="driver_not_available_title">מנהל התקן לא זמין</string>
|
||||
<string name="driver_not_available_message">מנהל ההתקן הנבחר אינו זמין להורדה.</string>
|
||||
<string name="driver_not_found">מנהל התקן נדרש לא מותקן: %s</string>
|
||||
<string name="invalid_driver_file">קובץ מנהל התקן לא חוקי: %s</string>
|
||||
<string name="network_unavailable">אין חיבור אינטרנט זמין. אנא בדוק את חיבור האינטרנט שלך ונסה שוב.</string>
|
||||
@@ -612,6 +684,7 @@
|
||||
<!-- Emulation Menu -->
|
||||
<string name="emulation_exit">צא מהאמולציה</string>
|
||||
<string name="emulation_done">סיום</string>
|
||||
<string name="emulation_fps_counter">סופר FPS</string>
|
||||
<string name="emulation_toggle_controls">החלפת בקרים</string>
|
||||
<string name="emulation_rel_stick_center">מרכז ג׳ויסטיק יחסי</string>
|
||||
<string name="emulation_dpad_slide">החלקת D-pad</string>
|
||||
@@ -628,6 +701,8 @@
|
||||
<string name="emulation_unpause">המשך אמולציה</string>
|
||||
<string name="emulation_input_overlay">אופציות עבור שכבת-על</string>
|
||||
<string name="touchscreen">מסך מגע</string>
|
||||
<string name="load_settings">טוען הגדרות...</string>
|
||||
|
||||
<!-- Software keyboard -->
|
||||
<string name="software_keyboard">מקלדת תוכנה</string>
|
||||
|
||||
@@ -656,6 +731,7 @@
|
||||
<string name="memory_8gb">8GB (לא בטוח)</string>
|
||||
|
||||
<!--CPU clock speeds-->
|
||||
<string name="clock_base">בסיס (1000MHz)</string>
|
||||
<string name="clock_boost">Boost (1700MHz)</string>
|
||||
<string name="clock_fast">מהיר (2000MHz)</string>
|
||||
|
||||
@@ -669,6 +745,7 @@
|
||||
<string name="temperature_fahrenheit">פרנהייט</string>
|
||||
|
||||
<!-- Memory Sizes -->
|
||||
<string name="memory_byte">בייט</string>
|
||||
<string name="memory_byte_shorthand">B</string>
|
||||
<string name="memory_kilobyte">KB</string>
|
||||
<string name="memory_megabyte">MB</string>
|
||||
@@ -765,12 +842,14 @@
|
||||
<string name="gamepad_screenshot">צילום מסך</string>
|
||||
|
||||
<!-- Disk shader cache -->
|
||||
<string name="preparing_shaders">מכין שיידרים</string>
|
||||
<string name="building_shaders">בונה שיידרים</string>
|
||||
|
||||
<!-- App options -->
|
||||
<!-- Theme options -->
|
||||
<string name="change_app_theme">שנה את נושא האפליקצייה</string>
|
||||
<string name="theme_default">ברירת מחדל</string>
|
||||
<string name="theme_material_you">חומר אתה/מאטיריאל יו</string>
|
||||
|
||||
<!-- Theme Modes -->
|
||||
<string name="change_theme_mode">שנה את מצב הנושא</string>
|
||||
<string name="theme_mode_follow_system">עקוב אחרי המערכת</string>
|
||||
|
||||
@@ -22,6 +22,8 @@
|
||||
<string name="show_fps_description">Aktuális képkockák másodpercenként</string>
|
||||
<string name="show_frametime">Képkockaidő mutatása</string>
|
||||
<string name="show_frametime_description">Aktuális képkockaidő</string>
|
||||
<string name="show_speed">Sebesség mutatása</string>
|
||||
<string name="show_speed_description">Emulációs sebesség százalékban</string>
|
||||
<string name="show_app_ram_usage">Alkalmazás RAM-használat</string>
|
||||
<string name="show_app_ram_usage_description">Az emulátor által használt RAM mennyiségének megjelenítése</string>
|
||||
<string name="show_system_ram_usage">Rendszer RAM-használat</string>
|
||||
@@ -62,6 +64,8 @@
|
||||
<!-- Eden\'s Veil -->
|
||||
<string name="eden_veil">Eden Fátyla</string>
|
||||
<string name="eden_veil_description">Kísérleti beállítások a teljesítmény és képesség javításához. Ezek a beállítások fekete képernyőket vagy más játékproblémákat okozhatnak.</string>
|
||||
<string name="eden_veil_warning_title">Kísérleti beállítások</string>
|
||||
<string name="eden_veil_warning_description">Az Eden Fátyla beállításai nagyon kísérleti jellegűek, és problémákat okozhatnak. Ha a játék nem indul el, kérjük, tiltsa le az összes kiterjesztést.</string>
|
||||
|
||||
<string name="veil_extensions">GPU kiterjesztések</string>
|
||||
<string name="dyna_state">Kiterjesztett Dinamikus Állapot</string>
|
||||
@@ -129,6 +133,8 @@
|
||||
<!-- Multiplayer -->
|
||||
<string name="multiplayer">Többjátékos</string>
|
||||
<string name="multiplayer_description">Hozz létre saját játéktermet vagy csatlakozz egy meglévőhöz</string>
|
||||
<string name="multiplayer_room_title">Szoba: %1$s</string>
|
||||
<string name="multiplayer_console_id">Konzol azonosító: %1$s</string>
|
||||
<string name="multiplayer_create_room">Létrehozás</string>
|
||||
<string name="multiplayer_join_room">Csatlakozás</string>
|
||||
<string name="multiplayer_public_room">Nyilvános szobák böngészése</string>
|
||||
@@ -137,6 +143,11 @@
|
||||
<string name="multiplayer_ip_port">Port</string>
|
||||
<string name="multiplayer_create_room_success">Szoba létrehozva</string>
|
||||
<string name="multiplayer_join_room_success">Sikeres csatlakozás</string>
|
||||
<string name="multiplayer_create_room_failed">Szoba létrehozása sikertelen</string>
|
||||
<string name="multiplayer_join_room_failed">Csatlakozás sikertelen</string>
|
||||
<string name="multiplayer_name_invalid">Túl rövid név</string>
|
||||
<string name="multiplayer_address_invalid">Érvénytelen cím</string>
|
||||
<string name="multiplayer_port_invalid">Érvénytelen port</string>
|
||||
<string name="multiplayer_exit_room">Kilépés a szobából</string>
|
||||
<string name="multiplayer_network_error">Hálózati hiba</string>
|
||||
<string name="multiplayer_lost_connection">Kapcsolat megszakadt</string>
|
||||
@@ -165,15 +176,21 @@
|
||||
<string name="multiplayer_member_banned">%1$s kitiltva</string>
|
||||
<string name="multiplayer_address_unbanned">Cím feloldva</string>
|
||||
<string name="multiplayer_kick_member">Kirúgás</string>
|
||||
<string name="multiplayer_chat_input_hint">Üzenet küldése...</string>
|
||||
<string name="multiplayer_password">Jelszó</string>
|
||||
<string name="multiplayer_joining">Csatlakozás...</string>
|
||||
<string name="multiplayer_creating">Létrehozás...</string>
|
||||
<string name="multiplayer_room_name">Szoba neve</string>
|
||||
<string name="multiplayer_room_name_invalid">A szobanév 3-20 karakter hosszú legyen</string>
|
||||
<string name="multiplayer_max_players">Max játékos (16)</string>
|
||||
<string name="multiplayer_max_players_value">Max játékos: %d</string>
|
||||
<string name="multiplayer_chat">Csevegés</string>
|
||||
<string name="multiplayer_more_options">További lehetőségek</string>
|
||||
<string name="multiplayer_ip_copied">IP-cím másolva</string>
|
||||
<string name="multiplayer_server_address">Szerver címe</string>
|
||||
<string name="chat">Csevegés</string>
|
||||
<string name="type_message">Üzenet írása...</string>
|
||||
<string name="send">Küldés</string>
|
||||
<string name="send_message">Üzenet küldése</string>
|
||||
<string name="multiplayer_moderation">Moderálás</string>
|
||||
<string name="multiplayer_moderation_title">Kitiltottak listája</string>
|
||||
@@ -193,8 +210,12 @@
|
||||
<string name="multiplayer_hide_empty_rooms">Üres szobák elrejtése</string>
|
||||
<string name="multiplayer_tap_refresh_to_check_again">Frissítés újraellenőrzéshez</string>
|
||||
<string name="multiplayer_search_public_lobbies">Szobák keresése...</string>
|
||||
<string name="emulation_multiplayer">Többjátékos</string>
|
||||
<string name="multiplayer_game_name">Kedvenc játékok</string>
|
||||
<string name="multiplayer_preferred_game_name">Kedvenc játék</string>
|
||||
<string name="multiplayer_lobby_type">Lobby típusa</string>
|
||||
<string name="multiplayer_no_game">Nincs játék</string>
|
||||
<string name="multiplayer_preferred_game_name_invalid">Válassz kedvenc játékot a szoba létrehozásához</string>
|
||||
<string name="multiplayer_room_name_error">3-20 karakter kell</string>
|
||||
<string name="multiplayer_required">Kötelező</string>
|
||||
<string name="multiplayer_token_required">Web token szükséges, lépj a Speciális beállítások -> Rendszer -> Hálózat menüpontba</string>
|
||||
@@ -226,7 +247,10 @@
|
||||
<string name="next">Következő</string>
|
||||
<string name="back">Vissza</string>
|
||||
<string name="add_games">Játékok hozzáadása</string>
|
||||
<string name="add_games_description">Játékaid mappa kiválasztása</string>
|
||||
<string name="step_complete">Kész!</string>
|
||||
<string name="bluetooth_permissions_granted">Bluetooth engedélyek megadva.</string>
|
||||
<string name="bluetooth_permissions_denied">Bluetooth engedélyek megtagadva. A kontroller támogatás korlátozott lehet.</string>
|
||||
|
||||
<!-- Home strings -->
|
||||
|
||||
@@ -235,15 +259,22 @@
|
||||
<string name="view_grid">Rács</string>
|
||||
<string name="view_carousel">Körhinta</string>
|
||||
<string name="folder">Mappa</string>
|
||||
<string name="pre_alpha_warning_title">Pre-Alpha szoftver</string>
|
||||
<string name="pre_alpha_warning_description">FIGYELMEZTETÉS: Ez a verzió nem nyilvános. A szoftver pre-alpha állapotban van, hibákat és hiányos funkciókat tartalmazhat.</string>
|
||||
<string name="dont_show_again">Ne mutassa újra</string>
|
||||
<string name="pre_alpha_warning">PRE-ALPHA SZOFTVER; NEM NYILVÁNOS HASZNÁLATRA</string>
|
||||
<string name="home_games">Játékok</string>
|
||||
<string name="home_search">Keresés</string>
|
||||
<string name="home_settings">Beállítások</string>
|
||||
<string name="empty_gamelist">Nem található fájl, vagy még nincs kiválasztva könyvtár.</string>
|
||||
<string name="search_and_filter_games">Játékok keresése és szűrése</string>
|
||||
<string name="select_games_folder">Játékmappa kiválasztása</string>
|
||||
<string name="manage_game_folders">Játékmappák kezelése</string>
|
||||
<string name="add_games_warning">Kihagyod a játékok mappa kiválasztását?</string>
|
||||
<string name="add_games_warning_description">A játékok nem jelennek meg a Játékok listában, ha egy mappa nincs kijelölve.</string>
|
||||
<string name="home_search_games">Játékok keresése</string>
|
||||
<string name="search_settings">Beállítások keresése</string>
|
||||
<string name="games_dir_selected">Játékok könyvtár kiválasztva</string>
|
||||
<string name="install_prod_keys">prod.keys telepítése</string>
|
||||
<string name="install_prod_keys_description">Kiskereskedelmi játékok dekódolásához szükséges</string>
|
||||
<string name="install_prod_keys_warning">Kihagyod a kulcsok hozzáadását?</string>
|
||||
@@ -265,15 +296,20 @@
|
||||
<string name="warning_cancel">Mégse</string>
|
||||
<string name="install_amiibo_keys">Amiibo kulcsok telepítése</string>
|
||||
<string name="install_amiibo_keys_description">Amiibo használata szükséges a játékhoz</string>
|
||||
<string name="install_amiibo_keys_failure_extension_description">Győződj meg róla, hogy a titkosító fájlod .bin kiterjesztéssel rendelkezik, majd próbáld újra.</string>
|
||||
<string name="gpu_driver_fetcher">GPU illesztőprogram letöltő</string>
|
||||
<string name="gpu_driver_manager">GPU illesztőprogram-kezelő</string>
|
||||
<string name="install_gpu_driver">GPU illesztőprogram telepítése</string>
|
||||
<string name="install_gpu_driver_description">Alternatív illesztőprogramok telepítése az esetlegesen elérhető teljesítmény és pontosság érdekében</string>
|
||||
<string name="advanced_settings">Haladó beállítások</string>
|
||||
<string name="advanced_settings_game">Haladó beállítások: %1$s</string>
|
||||
<string name="settings_description">Emulátorbeállítások konfigurálása</string>
|
||||
<string name="search_recently_played">Nemrég játszva</string>
|
||||
<string name="search_recently_added">Nemrég hozzáadva</string>
|
||||
<string name="search_retail">Kiskereskedelmi</string>
|
||||
<string name="open_user_folder">Eden mappa megnyitása</string>
|
||||
<string name="open_user_folder_description">Eden belső fájljainak kezelése</string>
|
||||
<string name="theme_and_color_description">Az alkalmazás megjelenésének módosítása</string>
|
||||
<string name="no_file_manager">Nem található fájlkezelő</string>
|
||||
<string name="notification_no_directory_link">Nem sikerült megnyitni a Eden könyvtárat</string>
|
||||
<string name="notification_no_directory_link_description">Kérjük, manuálisan keresd meg a felhasználói mappát a fájlkezelő oldalsó paneljével.</string>
|
||||
@@ -281,14 +317,18 @@
|
||||
<string name="manage_save_data_description">Mentés található. Kérjük, válassz egyet az alábbi opciók közül.</string>
|
||||
<string name="import_save_warning">Mentési fájlok importálása</string>
|
||||
<string name="import_save_warning_description">Ezzel felülírod a fájlban lévő mentett adatokat. Biztosan szeretnéd folytatni?</string>
|
||||
<string name="import_export_saves_description">Mentési fájlok importálás vagy exportálása</string>
|
||||
<string name="save_files_importing">Mentési fájlok importálása...</string>
|
||||
<string name="save_files_exporting">Mentési fájlok exportálása...</string>
|
||||
<string name="save_file_imported_success">Sikeresen importálva</string>
|
||||
<string name="save_file_invalid_zip_structure">Érvénytelen mentési könyvtárstruktúra</string>
|
||||
<string name="save_file_invalid_zip_structure_description">Az első almappa neve a játék azonosítója kell, hogy legyen.</string>
|
||||
<string name="import_saves">Importálás</string>
|
||||
<string name="export_saves">Exportálás</string>
|
||||
<string name="install_firmware">Firmware telepítés</string>
|
||||
<string name="install_firmware_description">A firmwarenek ZIP archívumban kell lennie, és szükséges a játékok indításához</string>
|
||||
<string name="firmware_installing">Firmware telepítése</string>
|
||||
<string name="firmware_installed_success">Firmware sikeresen telepítve</string>
|
||||
<string name="firmware_installed_failure">Firmware telepítése sikertelen</string>
|
||||
<string name="firmware_installed_failure_description">Győződj meg róla, hogy a firmware nca fájlok a zip gyökerénél vannak, és próbáld meg újra.</string>
|
||||
<string name="share_log">Hibakereső logok megosztása</string>
|
||||
@@ -300,6 +340,7 @@
|
||||
<string name="install_game_content_failure">Hiba történt a fájl(ok) NAND-ra telepítése közben</string>
|
||||
<string name="install_game_content_failure_description">Győződj meg róla, hogy a tartalom valós, és a prod.keys fájl telepítve van.</string>
|
||||
<string name="install_game_content_failure_base">Az alapjátékok telepítése nem engedélyezett az esetleges konfliktusok elkerülése érdekében.</string>
|
||||
<string name="install_game_content_failure_file_extension">Csak NSP és XCI tartalom támogatott. Győződj meg róla, hogy a játéktartalom érvényes.</string>
|
||||
<string name="install_game_content_failed_count">%1$d telepítési hiba</string>
|
||||
<string name="install_game_content_success">Játéktartalom sikeresen telepítve</string>
|
||||
<string name="install_game_content_success_install">%1$d sikeresen telepítve</string>
|
||||
@@ -307,6 +348,8 @@
|
||||
<string name="custom_driver_not_supported">Egyéni illesztőprogramok nem támogatottak</string>
|
||||
<string name="manage_yuzu_data">Eden adatok kezelése</string>
|
||||
<string name="manage_yuzu_data_description">Firmware, kulcsok, felhasználói adatok és egyebek importálása/exportálása</string>
|
||||
<string name="share_save_file">Mentési fájl megosztása</string>
|
||||
<string name="export_save_failed">A mentés exportálása sikertelen</string>
|
||||
<string name="game_folders">Játékmappák</string>
|
||||
<string name="deep_scan">Mély szkennelés</string>
|
||||
<string name="add_game_folder">Játékmappa hozzáadása</string>
|
||||
@@ -331,10 +374,10 @@
|
||||
<string name="firmware_uninstalling">Firmware eltávolítása...</string>
|
||||
<string name="firmware_uninstalled_success">A firmware sikeresen eltávolítva</string>
|
||||
|
||||
<string name="firmware_invalid">Érvénytelen firmware</string>
|
||||
<string name="error_firmware_missing">A firmware szükséges egyes játékok és alkalmazások futtatásához. Az Eden csak 19.0.1 vagy régebbi firmware-ekkel működik.</string>
|
||||
<string name="error_firmware_corrupted">A firmware jelen van, de nem olvasható. Ellenőrizze a visszafejtési kulcsokat és szükség esetén dumpolja újra a firmware-t.</string>
|
||||
<string name="error_firmware_too_new">A firmware túl új vagy nem olvasható. Az Eden csak a 19.0.1 vagy régebbi firmware-ekkel működik.</string>
|
||||
|
||||
<string name="keys_failed">A kulcsok telepítése sikertelen</string>
|
||||
<string name="keys_install_success">A kulcsok sikeresen telepítve</string>
|
||||
<string name="error_keys_copy_failed">Egy vagy több kulcs másolása sikertelen.</string>
|
||||
@@ -371,6 +414,7 @@
|
||||
<string name="user_data">Felhasználói adatok</string>
|
||||
<string name="exporting_user_data">Felhasználói adatok exportálása...</string>
|
||||
<string name="importing_user_data">Felhasználói adatok importálása...</string>
|
||||
<string name="import_user_data">Felhasználói adatok importálása</string>
|
||||
<string name="invalid_yuzu_backup">Érvénytelen Eden biztonsági másolat</string>
|
||||
<string name="user_data_export_success">Felhasználói adatok sikeresen exportálva</string>
|
||||
<string name="user_data_import_success">Felhasználói adatok sikeresen importálva</string>
|
||||
@@ -499,6 +543,8 @@
|
||||
<string name="qualified_button">%1$s%2$s%3$sGomb %4$s</string>
|
||||
<string name="qualified_axis">Tengely %1$s%2$s</string>
|
||||
<string name="unused">Nem használt</string>
|
||||
<string name="input_prompt">Nyomj vagy mozgass meg egy bemeneti eszközt.</string>
|
||||
<string name="unsupported_input">Nem támogatott bemenet típus</string>
|
||||
<string name="input_mapping_filter">Bemeneti hozzárendelési szűrő</string>
|
||||
<string name="input_mapping_filter_description">Válassz egy eszközt a hozzárendelési bemenetek szűréséhez</string>
|
||||
<string name="auto_map">Kontroller auto-hozzárendelés</string>
|
||||
@@ -542,6 +588,10 @@
|
||||
|
||||
<!-- Miscellaneous -->
|
||||
<string name="slider_default">Alapértelmezett</string>
|
||||
<string name="ini_saved">Beállítások elmentve</string>
|
||||
<string name="gameid_saved">Beállítások elmentve a következőhöz: %1$s</string>
|
||||
<string name="error_saving">Mentési hiba%1$s .ini: %2$s</string>
|
||||
<string name="unimplemented_menu">Nem implementált menü</string>
|
||||
<string name="loading">Betöltés...</string>
|
||||
<string name="shutting_down">Leállítás...</string>
|
||||
<string name="reset_setting_confirmation">Szeretnéd visszaállítani a beállítások az alapértelmezett értékekre?</string>
|
||||
@@ -566,26 +616,39 @@
|
||||
<string name="edit">Szerkesztés</string>
|
||||
<string name="export_success">Sikeresen exportálva</string>
|
||||
<string name="start">Start</string>
|
||||
<string name="clear">Törlés</string>
|
||||
<string name="global">Globális</string>
|
||||
<string name="custom">Egyéni</string>
|
||||
<string name="notice">Értesítés</string>
|
||||
<string name="import_complete">Importálás befejezve</string>
|
||||
<string name="more_options">További opciók</string>
|
||||
<string name="use_global_setting">Globális beállítás használata</string>
|
||||
<string name="operation_completed_successfully">A művelet sikeresen befejeződött</string>
|
||||
<string name="retry">Újra</string>
|
||||
<string name="confirm">Megerősítés</string>
|
||||
<string name="load">Betöltés</string>
|
||||
<string name="save">Mentés</string>
|
||||
|
||||
<!-- GPU driver installation -->
|
||||
<string name="select_gpu_driver">Válassz GPU illesztőprogramot</string>
|
||||
<string name="select_gpu_driver_title">Szeretnéd lecserélni a jelenlegi GPU illesztőprogramot?</string>
|
||||
<string name="select_gpu_driver_install">Telepítés</string>
|
||||
<string name="select_gpu_driver_default">Alapértelmezett</string>
|
||||
<string name="select_gpu_driver_use_default">Alapértelmezett GPU illesztőprogram használata</string>
|
||||
<string name="select_gpu_driver_error">Érvénytelen illesztőprogram kiválasztva</string>
|
||||
<string name="driver_already_installed">Az illesztőprogram már telepítve van</string>
|
||||
<string name="system_gpu_driver">Rendszer GPU illesztőprogram</string>
|
||||
<string name="installing_driver">Illesztőprogram telepítése...</string>
|
||||
|
||||
<!-- GPU driver fetcher -->
|
||||
<string name="fetch_error">Hiba a letöltés közben</string>
|
||||
<string name="check_connection">Ellenőrizd az internetkapcsolatod és próbáld újra.</string>
|
||||
<string name="show_releases">Verziók megjelenítése</string>
|
||||
<string name="view_full_release_notes">Kiadási megjegyzések</string>
|
||||
<string name="failed_to_fetch">Letöltés sikertelen</string>
|
||||
<string name="error_during_fetch">Hiba a letöltés közben</string>
|
||||
<string name="toggle_release_notes">Kiadási megjegyzések váltása</string>
|
||||
<string name="downloads">Letöltések</string>
|
||||
<string name="show_downloads">Letöltések megjelenítése</string>
|
||||
<string name="hide_downloads">Letöltések elrejtése</string>
|
||||
<string name="failed_cache_dir">Gyorsítótár könyvtár nem elérhető</string>
|
||||
@@ -604,6 +667,7 @@
|
||||
|
||||
<!-- Preferences Screen -->
|
||||
<string name="preferences_settings">Beállítások</string>
|
||||
<string name="preferences_general">Általános</string>
|
||||
<string name="preferences_system">Rendszer</string>
|
||||
<string name="preferences_system_description">Dokkolt mód, régió, nyelv</string>
|
||||
<string name="preferences_graphics">Grafika</string>
|
||||
@@ -612,6 +676,7 @@
|
||||
<string name="preferences_audio_description">Kimeneti motor, hangerő</string>
|
||||
<string name="preferences_controls">Irányítás</string>
|
||||
<string name="preferences_player">Játékos %d</string>
|
||||
<string name="preferences_theme">Téma és színek</string>
|
||||
<string name="preferences_debug">Hibakeresés</string>
|
||||
<string name="preferences_debug_description">CPU/GPU hibakeresés, grafikus API, fastmem</string>
|
||||
|
||||
@@ -666,6 +731,7 @@
|
||||
<string name="loader_error_encrypted_keys_description"><![CDATA[Győződj meg róla, hogy a <a href=\"https://yuzu-mirror.github.io/help/quickstart/#dumping-prodkeys-and-titlekeys\">prod.keys</a> fájl telepítve van, hogy a játékok visszafejthetők legyenek.]]></string>
|
||||
<string name="loader_error_video_core">Hiba lépett fel a videómag inicializása során</string>
|
||||
<string name="loader_error_video_core_description">Ezt általában egy nem kompatibilis GPU illesztő okozza. Egyéni GPU illesztőprogram telepítése megoldhatja a problémát.</string>
|
||||
<string name="loader_error_invalid_format">Nem sikerült betölteni a ROM-ot</string>
|
||||
<string name="loader_error_file_not_found">ROM fájl nem létezik</string>
|
||||
|
||||
<string name="loader_requires_firmware">A játék firmware-t igényel</string>
|
||||
@@ -693,9 +759,19 @@
|
||||
<string name="config_already_exists_title">A konfiguráció már létezik</string>
|
||||
<string name="config_exists_prompt">Létező konfiguráció keresése...</string>
|
||||
<string name="overwrite_cancelled">A felülírás megszakítva</string>
|
||||
<string name="checking_driver">Egyéni illesztőprogram ellenőrzése: %1$s</string>
|
||||
<string name="driver_unavailable">Egyéni illesztőprogram nem elérhető ehhez az eszközhöz</string>
|
||||
<string name="overwrite">Felülírás</string>
|
||||
|
||||
<!-- Driver strings -->
|
||||
<string name="missing_gpu_driver_title">GPU illesztőprogram hiányzik</string>
|
||||
<string name="missing_gpu_driver_message">A kiválasztott egyéni illesztőprogram \"%s\" nincs telepítve. Szeretné most letölteni és telepíteni?</string>
|
||||
<string name="downloading_driver">Illesztőprogram letöltése...</string>
|
||||
<string name="driver_installed">Az illesztőprogram sikeresen telepítve</string>
|
||||
<string name="driver_installation_failed_title">Az illesztőprogram telepítése sikertelen</string>
|
||||
<string name="driver_installation_failed_message">Nem sikerült telepíteni a GPU illesztőprogramot: %s</string>
|
||||
<string name="driver_not_available_title">Az illesztőprogram nem elérhető</string>
|
||||
<string name="driver_not_available_message">A kiválasztott illesztőprogram nem érhető el letöltésre.</string>
|
||||
<string name="driver_not_found">A szükséges illesztőprogram nincs telepítve: %s</string>
|
||||
<string name="invalid_driver_file">Érvénytelen illesztőprogramfájl: %s</string>
|
||||
<string name="network_unavailable">Nincs hálózati kapcsolat. Kérjük, ellenőrizze az internetkapcsolatát, és próbálja újra.</string>
|
||||
@@ -706,6 +782,8 @@
|
||||
<!-- Emulation Menu -->
|
||||
<string name="emulation_exit">Emuláció bezárása</string>
|
||||
<string name="emulation_done">Kész</string>
|
||||
<string name="emulation_fps_counter">FPS számláló</string>
|
||||
<string name="emulation_thermal_indicator">Hőmérséklet jelző</string>
|
||||
<string name="emulation_toggle_controls">Irányítás átkapcsolása</string>
|
||||
<string name="emulation_dpad_slide">D-pad csúsztatása</string>
|
||||
<string name="emulation_haptics">Érintés haptikája</string>
|
||||
@@ -723,6 +801,8 @@
|
||||
<string name="touchscreen">Érintőképernyő</string>
|
||||
<string name="lock_drawer">Fiók bezárása</string>
|
||||
<string name="unlock_drawer">Fiók kinyitása</string>
|
||||
<string name="load_settings">Beállítások betöltése...</string>
|
||||
|
||||
<!-- Software keyboard -->
|
||||
<string name="software_keyboard">Szoftver billenytűzet</string>
|
||||
|
||||
@@ -751,6 +831,7 @@
|
||||
<string name="memory_8gb">8GB (Nem biztonságos)</string>
|
||||
|
||||
<!--CPU clock speeds-->
|
||||
<string name="clock_base">Alap (1000MHz)</string>
|
||||
<string name="clock_boost">Boost (1700MHz)</string>
|
||||
<string name="clock_fast">Gyors (2000MHz)</string>
|
||||
|
||||
@@ -764,6 +845,7 @@
|
||||
<string name="temperature_fahrenheit">Fahrenheit</string>
|
||||
|
||||
<!-- Memory Sizes -->
|
||||
<string name="memory_byte">Bájt</string>
|
||||
<string name="memory_byte_shorthand">B</string>
|
||||
<string name="memory_kilobyte">KB</string>
|
||||
<string name="memory_megabyte">MB</string>
|
||||
@@ -863,9 +945,10 @@
|
||||
<string name="gamepad_screenshot">Képernyőmentés</string>
|
||||
|
||||
<!-- Disk shader cache -->
|
||||
<string name="preparing_shaders">Árnyékolók előkészítése</string>
|
||||
<string name="building_shaders">Árnyékolók létrehozása</string>
|
||||
|
||||
<!-- App options -->
|
||||
<!-- Theme options -->
|
||||
<string name="change_app_theme">Alkalmazás témájának módosítása</string>
|
||||
<string name="theme_default">Alapértelmezett</string>
|
||||
<!-- Theme Modes -->
|
||||
|
||||
@@ -12,6 +12,7 @@
|
||||
<!-- Spinbox strings -->
|
||||
<string name="increment">Tingkatkan</string>
|
||||
<string name="decrement">Kurangi</string>
|
||||
<string name="value">Nilai</string>
|
||||
<string name="value_too_low">Minimal nilai yang diperlukan yaitu %1$d</string>
|
||||
<string name="value_too_high">Maksimal nilai yang diperlukan yaitu %1$d</string>
|
||||
<string name="invalid_value">Nilai invalid</string>
|
||||
@@ -44,6 +45,8 @@
|
||||
<string name="show_fps_description">Tampilkan frame per detik saat ini</string>
|
||||
<string name="show_frametime">Tampilkan Frametime</string>
|
||||
<string name="show_frametime_description">Tampilkan frametime saat ini</string>
|
||||
<string name="show_speed">Tampilkan Kecepatan</string>
|
||||
<string name="show_speed_description">Tampilkan persentase kecepatan emulasi saat ini</string>
|
||||
<string name="show_app_ram_usage">Tampilkan Penggunaan RAM Aplikasi</string>
|
||||
<string name="show_app_ram_usage_description">Tampilkan jumlah RAM yang digunakan emulator</string>
|
||||
<string name="show_system_ram_usage">Tampilkan Penggunaan RAM Sistem</string>
|
||||
@@ -84,6 +87,8 @@
|
||||
<!-- Eden\'s Veil -->
|
||||
<string name="eden_veil">Eden\'s Veil</string>
|
||||
<string name="eden_veil_description">Pengaturan eksperimental untuk meningkatkan kinerja dan kemampuan. Pengaturan ini dapat menyebabkan layar hitam atau masalah game lainnya.</string>
|
||||
<string name="eden_veil_warning_title">Pengaturan Eksperimental</string>
|
||||
<string name="eden_veil_warning_description">Pengaturan di Eden\'s Veil sangat eksperimental dan dapat menyebabkan masalah. Jika game tidak mau berjalan, nonaktifkan semua ekstensi.</string>
|
||||
|
||||
<string name="veil_extensions">Ekstensi GPU</string>
|
||||
<string name="dyna_state">Status Dinamis Ekstensi</string>
|
||||
@@ -151,6 +156,8 @@
|
||||
<!-- Multiplayer -->
|
||||
<string name="multiplayer">Multiplayer</string>
|
||||
<string name="multiplayer_description">Host ruang permainan Anda sendiri atau bergabung dengan yang sudah ada untuk bermain dengan orang lain</string>
|
||||
<string name="multiplayer_room_title">Ruang: %1$s</string>
|
||||
<string name="multiplayer_console_id">ID Konsol: %1$s</string>
|
||||
<string name="multiplayer_create_room">Buat</string>
|
||||
<string name="multiplayer_join_room">Gabung</string>
|
||||
<string name="multiplayer_public_room">Jelajahi Ruang Publik</string>
|
||||
@@ -159,6 +166,11 @@
|
||||
<string name="multiplayer_ip_port">Port</string>
|
||||
<string name="multiplayer_create_room_success">Ruang berhasil dibuat</string>
|
||||
<string name="multiplayer_join_room_success">Berhasil bergabung ke ruang</string>
|
||||
<string name="multiplayer_create_room_failed">Gagal membuat ruang</string>
|
||||
<string name="multiplayer_join_room_failed">Gagal bergabung ke ruang</string>
|
||||
<string name="multiplayer_name_invalid">Nama terlalu pendek</string>
|
||||
<string name="multiplayer_address_invalid">Alamat tidak valid</string>
|
||||
<string name="multiplayer_port_invalid">Port tidak valid</string>
|
||||
<string name="multiplayer_exit_room">Keluar Ruang</string>
|
||||
<string name="multiplayer_network_error">Kesalahan jaringan</string>
|
||||
<string name="multiplayer_lost_connection">Koneksi terputus</string>
|
||||
@@ -187,15 +199,21 @@
|
||||
<string name="multiplayer_member_banned">%1$s diblokir</string>
|
||||
<string name="multiplayer_address_unbanned">Alamat dibuka blokir</string>
|
||||
<string name="multiplayer_kick_member">Keluarkan</string>
|
||||
<string name="multiplayer_chat_input_hint">Kirim pesan...</string>
|
||||
<string name="multiplayer_password">Password</string>
|
||||
<string name="multiplayer_joining">Sedang bergabung...</string>
|
||||
<string name="multiplayer_creating">Sedang membuat...</string>
|
||||
<string name="multiplayer_room_name">Nama Ruang</string>
|
||||
<string name="multiplayer_room_name_invalid">Nama ruang harus antara 3-20 karakter</string>
|
||||
<string name="multiplayer_max_players">Pemain Maks (16)</string>
|
||||
<string name="multiplayer_max_players_value">Pemain Maks: %d</string>
|
||||
<string name="multiplayer_chat">Obrolan</string>
|
||||
<string name="multiplayer_more_options">Opsi Lainnya</string>
|
||||
<string name="multiplayer_ip_copied">Alamat IP disalin ke clipboard</string>
|
||||
<string name="multiplayer_server_address">Alamat Server</string>
|
||||
<string name="chat">Obrolan</string>
|
||||
<string name="type_message">Ketik pesan...</string>
|
||||
<string name="send">Kirim</string>
|
||||
<string name="send_message">Kirim Pesan</string>
|
||||
<string name="multiplayer_moderation">Moderasi</string>
|
||||
<string name="multiplayer_moderation_title">Daftar Blokir</string>
|
||||
@@ -215,8 +233,12 @@
|
||||
<string name="multiplayer_hide_empty_rooms">Sembunyikan Ruang Kosong</string>
|
||||
<string name="multiplayer_tap_refresh_to_check_again">Ketuk segarkan untuk memeriksa lagi</string>
|
||||
<string name="multiplayer_search_public_lobbies">Cari Lobi...</string>
|
||||
<string name="emulation_multiplayer">Multiplayer</string>
|
||||
<string name="multiplayer_game_name">Game Pilihan</string>
|
||||
<string name="multiplayer_preferred_game_name">Game Pilihan</string>
|
||||
<string name="multiplayer_lobby_type">Jenis Lobi</string>
|
||||
<string name="multiplayer_no_game">Game Tidak Ditemukan</string>
|
||||
<string name="multiplayer_preferred_game_name_invalid">Anda harus memilih Game Pilihan untuk menjadi host ruang.</string>
|
||||
<string name="multiplayer_room_name_error">Harus antara 3-20 karakter</string>
|
||||
<string name="multiplayer_required">Diperlukan</string>
|
||||
<string name="multiplayer_token_required">Token Web diperlukan, buka Pengaturan Lanjutan -> Sistem -> Jaringan</string>
|
||||
@@ -240,6 +262,7 @@
|
||||
<string name="keys_description">Pilih file <b>prod.keys</b> Anda dengan tombol di bawah ini.</string>
|
||||
<string name="select_keys">Pilih Kunci</string>
|
||||
<string name="firmware">Firmware</string>
|
||||
<string name="firmware_description">Pilih berkas <b>firmware.zip</b> dengan tombol dibawah.\nSaat ini Eden memerlukan versi <b>19.0.1</b> atau dibawahnya.</string>
|
||||
<string name="select_firmware">Pilih Firmware</string>
|
||||
<string name="games">Permainan</string>
|
||||
<string name="games_description">Pilih folder <b>Games</b> Anda dengan tombol di bawah ini.</string>
|
||||
@@ -249,7 +272,10 @@
|
||||
<string name="next">Berikutnya</string>
|
||||
<string name="back">Kembali</string>
|
||||
<string name="add_games">Tambahkan permainan</string>
|
||||
<string name="add_games_description">Pilih folder game anda</string>
|
||||
<string name="step_complete">Selesai!</string>
|
||||
<string name="bluetooth_permissions_granted">Izin Bluetooth diberikan.</string>
|
||||
<string name="bluetooth_permissions_denied">Izin Bluetooth ditolak. Dukungan controller mungkin terbatas.</string>
|
||||
|
||||
<!-- Home strings -->
|
||||
|
||||
@@ -260,11 +286,17 @@
|
||||
<string name="view_carousel">Karousel</string>
|
||||
<string name="game_image_desc">Tangkap layar untuk %1$s</string>
|
||||
<string name="folder">Folder</string>
|
||||
<string name="pre_alpha_warning_title">Perangkat Lunak Pre-Alpha</string>
|
||||
<string name="pre_alpha_warning_description">PERINGATAN: Build ini tidak dimaksudkan untuk dibagikan atau ditunjukkan ke publik. Perangkat lunak ini dalam tahap pre-alpha dan mungkin memiliki bug dan fitur yang belum lengkap. \nJika Anda mendapatkan akses tidak sah ke build ini; sangat disarankan untuk mencopotnya segera</string>
|
||||
<string name="dont_show_again">Jangan Tampilkan Lagi</string>
|
||||
<string name="pre_alpha_warning">PERANGKAT LUNAK PRE-ALPHA; TIDAK UNTUK PENGGUNAAN PUBLIK</string>
|
||||
<string name="add_directory_success">Direktori permainan baru berhasil ditambahkan</string>
|
||||
<string name="home_games">Permainan</string>
|
||||
<string name="home_search">Cari</string>
|
||||
<string name="home_settings">Pengaturan</string>
|
||||
<string name="empty_gamelist">Tidak ada file yang ditemukan atau belum ada direktori game yang dipilih.</string>
|
||||
<string name="search_and_filter_games">Cari dan filter game</string>
|
||||
<string name="select_games_folder">Pilih folder permainan</string>
|
||||
<string name="manage_game_folders">Kelola folder game</string>
|
||||
<string name="select_games_folder_description">Izinkan Eden mengisi daftar game</string>
|
||||
<string name="add_games_warning">Lewati pemilihan folder game?</string>
|
||||
@@ -272,6 +304,7 @@
|
||||
<string name="add_games_warning_help">https://yuzu-mirror.github.io/help/quickstart/#dumping-games</string>
|
||||
<string name="home_search_games">Cari permainan</string>
|
||||
<string name="search_settings">Cari pengaturan</string>
|
||||
<string name="games_dir_selected">Direktori game sudah terpilih</string>
|
||||
<string name="install_prod_keys">Install prod.keys</string>
|
||||
<string name="install_prod_keys_description">Diperlukan untuk mendekripsi game retail</string>
|
||||
<string name="install_prod_keys_warning">Lewati penginstalan keys?</string>
|
||||
@@ -295,15 +328,22 @@
|
||||
<string name="warning_cancel">Batalkan</string>
|
||||
<string name="install_amiibo_keys">Install Amiibo keys</string>
|
||||
<string name="install_amiibo_keys_description">Diperlukan untuk menggunakan Amiibo di dalam game</string>
|
||||
<string name="install_amiibo_keys_failure_extension_description">Pastikan file keys anda memiliki format .bin dan coba lagi.</string>
|
||||
<string name="dumping_keys_quickstart_link">https://yuzu-mirror.github.io/help/quickstart/#dumping-decryption-keys</string>
|
||||
<string name="gpu_driver_fetcher">Pengambil Driver GPU</string>
|
||||
<string name="gpu_driver_manager">Manajer driver GPU</string>
|
||||
<string name="install_gpu_driver">Install driver GPU</string>
|
||||
<string name="install_gpu_driver_description">Instal driver lain untuk kinerja atau akurasi yang berpotensi lebih baik</string>
|
||||
<string name="advanced_settings">Pengaturan lanjutan</string>
|
||||
<string name="advanced_settings_game">Pengaturan lanjutan: %1$s</string>
|
||||
<string name="settings_description">Konfigurasikan pengaturan emulator</string>
|
||||
<string name="search_recently_played">Baru dimainkan</string>
|
||||
<string name="search_recently_added">baru ditambahkan</string>
|
||||
<string name="search_retail">Retail</string>
|
||||
<string name="search_homebrew">Homebrew</string>
|
||||
<string name="open_user_folder">Buka folder Eden</string>
|
||||
<string name="open_user_folder_description">Kelola file internal Eden\'s</string>
|
||||
<string name="theme_and_color_description">Ubah tampilan aplikasi</string>
|
||||
<string name="no_file_manager">Tidak menemukan file manager</string>
|
||||
<string name="notification_no_directory_link">Tidak bisa membuka direktori Eden</string>
|
||||
<string name="notification_no_directory_link_description">Silakan cari folder pengguna dengan panel samping manajer file secara manual.</string>
|
||||
@@ -311,14 +351,18 @@
|
||||
<string name="manage_save_data_description">Data simpanan ditemukan. Silakan pilih opsi di bawah.</string>
|
||||
<string name="import_save_warning">Impor data simpanan</string>
|
||||
<string name="import_save_warning_description">Melakukan ini berarti akan menimpa seluruh data simpanan yang sudah ada sebelumnya dengan file simpanan yang Anda berikan. Apakah Anda yakin?</string>
|
||||
<string name="import_export_saves_description">Impor atau Ekspor file simpanan</string>
|
||||
<string name="save_files_importing">Mengimpor file simpanan...</string>
|
||||
<string name="save_files_exporting">Mengekspor file simpanan...</string>
|
||||
<string name="save_file_imported_success">Berhasil mengimpor</string>
|
||||
<string name="save_file_invalid_zip_structure">Struktur direktori simpanan tidak valid.</string>
|
||||
<string name="save_file_invalid_zip_structure_description">Nama subfolder pertama harus merupakan title ID dari game.</string>
|
||||
<string name="import_saves">Impor</string>
|
||||
<string name="export_saves">Ekspor</string>
|
||||
<string name="install_firmware">Install firmware</string>
|
||||
<string name="install_firmware_description">Firmware harus merupakan sebuah file .ZIP dan diperlukan untuk menjalankan beberapa game.</string>
|
||||
<string name="firmware_installing">Menginstall firmware</string>
|
||||
<string name="firmware_installed_success">Firmware terpasang.</string>
|
||||
<string name="firmware_installed_failure">Gagal memasang Firmware.</string>
|
||||
<string name="firmware_installed_failure_description">Pastikan file nca firmware terdapat pada folder utama dari file .zip dan coba lagi.</string>
|
||||
<string name="firmware_uninstalled_failure">Instalasi Firmware gagal</string>
|
||||
@@ -331,6 +375,7 @@
|
||||
<string name="install_game_content_failure">Error menginstal file (- file) pada NAND</string>
|
||||
<string name="install_game_content_failure_description">Tolong pastikan seluruh konten(-konten) valid dan prod.key terinstall</string>
|
||||
<string name="install_game_content_failure_base">Instalasi dari base game tidak diperbolehkan agar terhindar dari konflik yang mungkin terjadi.</string>
|
||||
<string name="install_game_content_failure_file_extension">Hanya konten NSP dan XCi yang didukung. Harap periksa apakah konten (-konten) dari game sudah valid.</string>
|
||||
<string name="install_game_content_failed_count">%1$d instalasi error(-error)</string>
|
||||
<string name="install_game_content_success">Konten(-konten) game sudah berhasil terinstal.</string>
|
||||
<string name="install_game_content_success_install">%1$d telah berhasil terinstal</string>
|
||||
@@ -340,6 +385,8 @@
|
||||
<string name="custom_driver_not_supported_description">Pemuatan driver kustom tidak didukung oleh perangkat ini.\nPeriksa lagi opsi ini di masa mendatang untuk melihat apakah dukungan telah ditambahkan!</string>
|
||||
<string name="manage_yuzu_data">Kelola data Eden.</string>
|
||||
<string name="manage_yuzu_data_description">Impor/expor firmware, key, data pengguna, dan sebagainya!</string>
|
||||
<string name="share_save_file">Bagikan file simpanan.</string>
|
||||
<string name="export_save_failed">Gagal mengekspor simpanan.</string>
|
||||
<string name="game_folders">Folder Game</string>
|
||||
<string name="deep_scan">Pemindaian mendalam</string>
|
||||
<string name="add_game_folder">Pilih folder game</string>
|
||||
@@ -364,9 +411,11 @@
|
||||
<string name="firmware_uninstalling">Mencopot firmware...</string>
|
||||
<string name="firmware_uninstalled_success">Firmware berhasil dicopot</string>
|
||||
|
||||
<string name="firmware_invalid">Firmware tidak valid</string>
|
||||
<string name="error_firmware_missing">Firmware diperlukan untuk menjalankan game dan aplikasi tertentu. Eden hanya bekerja dengan firmware 19.0.1 atau lebih lama.</string>
|
||||
<string name="error_firmware_corrupted">Firmware dilaporkan ada tetapi tidak dapat dibaca. Periksa kunci dekripsi dan dump ulang firmware jika diperlukan.</string>
|
||||
<string name="error_firmware_too_new">Firmware terlalu baru atau tidak dapat dibaca. Eden hanya bekerja dengan firmware 19.0.1 atau lebih lama.</string>
|
||||
<string name="firmware_missing_help">https://yuzu-mirror.github.io/help/quickstart/#dumping-system-firmware</string>
|
||||
|
||||
<string name="keys_failed">Gagal menginstal kunci</string>
|
||||
<string name="keys_install_success">Kunci berhasil diinstal</string>
|
||||
@@ -407,6 +456,7 @@
|
||||
<string name="user_data_description">Impor/Ekspor semua data aplikasi\n\nketika mengimpor data user, semua data user yang tersedia akan dihapus!\n\nMengimpor data dari Citron dapat menyebabkan masalah. Direkomendasikan untuk melakukan impor manual semua data yang dibutuhkan.</string>
|
||||
<string name="exporting_user_data">Mengekspor data pengguna</string>
|
||||
<string name="importing_user_data">Mengimpor data pengguna</string>
|
||||
<string name="import_user_data">Impor data pengguna</string>
|
||||
<string name="invalid_yuzu_backup">cadangan Eden tidak valid</string>
|
||||
<string name="user_data_export_success">berhasil mengekspor data pengguna</string>
|
||||
<string name="user_data_import_success">Berhasil mengimpor data pengguna</string>
|
||||
@@ -540,6 +590,8 @@
|
||||
<string name="qualified_button">%1$s%2$s%3$sTombol%4$s</string>
|
||||
<string name="qualified_axis">Axis%1$s%2$s</string>
|
||||
<string name="unused">Tidak digunakan</string>
|
||||
<string name="input_prompt">Gerakkan atau tekan sebuah input</string>
|
||||
<string name="unsupported_input">Jenis input tidak didukung</string>
|
||||
<string name="input_mapping_filter">Filter pemetaan input</string>
|
||||
<string name="input_mapping_filter_description">Pilih perangkat yang digunakan untuk pemetaan input</string>
|
||||
<string name="auto_map">Atur kontroler secara otomatis</string>
|
||||
@@ -583,6 +635,10 @@
|
||||
|
||||
<!-- Miscellaneous -->
|
||||
<string name="slider_default">Bawaan</string>
|
||||
<string name="ini_saved">Pengaturan yang disimpan</string>
|
||||
<string name="gameid_saved">Pengaturan yang disimpan untuk%1$s</string>
|
||||
<string name="error_saving">Gagal menyimpan%1$s.ini:%2$s</string>
|
||||
<string name="unimplemented_menu">Menu yang belum diimplementasikan</string>
|
||||
<string name="loading">Memuat...</string>
|
||||
<string name="shutting_down">Menutup...</string>
|
||||
<string name="reset_setting_confirmation">Apakah Anda ingin mengatur ulang pengaturan ini kembali ke nilai defaultnya?</string>
|
||||
@@ -607,26 +663,39 @@
|
||||
<string name="edit">Ubah</string>
|
||||
<string name="export_success">Berhasil diekspor</string>
|
||||
<string name="start">Mulai</string>
|
||||
<string name="clear">Bersihkan</string>
|
||||
<string name="global">Utama</string>
|
||||
<string name="custom">Kustom</string>
|
||||
<string name="notice">Pemberitahuan</string>
|
||||
<string name="import_complete">Impor Selasai</string>
|
||||
<string name="more_options">Opsi Lain</string>
|
||||
<string name="use_global_setting">Gunakan Pengaturan Utama</string>
|
||||
<string name="operation_completed_successfully">Operasi selsesai dengan sukses</string>
|
||||
<string name="retry">Ulangi</string>
|
||||
<string name="confirm">Konfirmasi</string>
|
||||
<string name="load">Muat</string>
|
||||
<string name="save">Simpan</string>
|
||||
|
||||
<!-- GPU driver installation -->
|
||||
<string name="select_gpu_driver">Pilih driver GPU</string>
|
||||
<string name="select_gpu_driver_title">Apakah Anda ingin mengganti driver GPU saat ini?</string>
|
||||
<string name="select_gpu_driver_install">Instal</string>
|
||||
<string name="select_gpu_driver_default">Bawaan</string>
|
||||
<string name="select_gpu_driver_use_default">Gunakan driver GPU Bawaan</string>
|
||||
<string name="select_gpu_driver_error">Driver yang dipilih tidak valid</string>
|
||||
<string name="driver_already_installed">Driver sudah terpasang</string>
|
||||
<string name="system_gpu_driver">Driver GPU sistem</string>
|
||||
<string name="installing_driver">Memasang driver...</string>
|
||||
|
||||
<!-- GPU driver fetcher -->
|
||||
<string name="fetch_error">Kesalahan saat Mengambil</string>
|
||||
<string name="check_connection">Periksa koneksi Anda dan coba lagi.</string>
|
||||
<string name="show_releases">Tampilkan Rilis</string>
|
||||
<string name="view_full_release_notes">Catatan Rilis</string>
|
||||
<string name="failed_to_fetch">Gagal Mengambil</string>
|
||||
<string name="error_during_fetch">Kesalahan saat Mengambil</string>
|
||||
<string name="toggle_release_notes">Alihkan Catatan Rilis</string>
|
||||
<string name="downloads">Unduhan</string>
|
||||
<string name="show_downloads">Tampilkan Unduhan</string>
|
||||
<string name="hide_downloads">Sembunyikan Unduhan</string>
|
||||
<string name="failed_cache_dir">Direktori cache tidak tersedia</string>
|
||||
@@ -645,6 +714,7 @@
|
||||
|
||||
<!-- Preferences Screen -->
|
||||
<string name="preferences_settings">Pengaturan</string>
|
||||
<string name="preferences_general">Umum</string>
|
||||
<string name="preferences_system">Sistem</string>
|
||||
<string name="preferences_system_description">Mode Docked, wilayah, bahasa</string>
|
||||
<string name="preferences_graphics">Grafis</string>
|
||||
@@ -654,6 +724,7 @@
|
||||
<string name="preferences_controls">Kendali</string>
|
||||
<string name="preferences_controls_description">Petakan input kontroler</string>
|
||||
<string name="preferences_player">Player %d</string>
|
||||
<string name="preferences_theme">Tema dan warna</string>
|
||||
<string name="preferences_debug">Awakutu</string>
|
||||
<string name="preferences_debug_description">CPU/GPU debugging, graphics API, fastmem</string>
|
||||
|
||||
@@ -710,6 +781,7 @@
|
||||
<string name="loader_error_encrypted_keys_description"><![CDATA[Harap pastikan bahwa Anda <a href=\"https://yuzu-mirror.github.io/help/quickstart/#dumping-prodkeys-and-titlekeys\">prod.keys</a> diinstal sehingga game dapat didekripsi.]]></string>
|
||||
<string name="loader_error_video_core">Terjadi kesalahan ketika menginisialisasi inti video.</string>
|
||||
<string name="loader_error_video_core_description">Hal ini biasanya disebabkan oleh driver GPU yang tidak kompatibel. Menginstal driver GPU khusus dapat mengatasi masalah ini</string>
|
||||
<string name="loader_error_invalid_format">Tidak Dapat Memuat ROM</string>
|
||||
<string name="loader_error_file_not_found">Berkas Tidak Ditemukan</string>
|
||||
|
||||
<string name="loader_requires_firmware">Game memerlukan firmware</string>
|
||||
@@ -738,9 +810,19 @@
|
||||
<string name="config_already_exists_message">Settingan kustom telah tersedia untuk %1$s.\n\nApakah Anda ingin untuk menimpa konfigurasi yang tersedia\?\n\nTindakan ini permanen.</string>
|
||||
<string name="config_exists_prompt">Memeriksa konfigurasi yang ada...</string>
|
||||
<string name="overwrite_cancelled">Penimpaan dibatalkan</string>
|
||||
<string name="checking_driver">Memeriksa driver kustom: %1$s</string>
|
||||
<string name="driver_unavailable">Driver kustom tidak tersedia untuk perangkat ini</string>
|
||||
<string name="overwrite">Timpa</string>
|
||||
|
||||
<!-- Driver strings -->
|
||||
<string name="missing_gpu_driver_title">Driver GPU Hilang</string>
|
||||
<string name="missing_gpu_driver_message">Driver kustom yang dipilih \"%s\" tidak terinstal. Apakah Anda ingin mengunduh dan menginstalnya sekarang?</string>
|
||||
<string name="downloading_driver">Mengunduh driver...</string>
|
||||
<string name="driver_installed">Driver berhasil diinstal</string>
|
||||
<string name="driver_installation_failed_title">Instalasi Driver Gagal</string>
|
||||
<string name="driver_installation_failed_message">Gagal menginstal driver GPU: %s</string>
|
||||
<string name="driver_not_available_title">Driver Tidak Tersedia</string>
|
||||
<string name="driver_not_available_message">Driver yang dipilih tidak tersedia untuk diunduh.</string>
|
||||
<string name="driver_not_found">Driver yang diperlukan tidak terinstal: %s</string>
|
||||
<string name="invalid_driver_file">File driver tidak valid: %s</string>
|
||||
<string name="network_unavailable">Tidak ada koneksi jaringan yang tersedia. Silakan periksa koneksi internet Anda dan coba lagi.</string>
|
||||
@@ -752,6 +834,8 @@
|
||||
<!-- Emulation Menu -->
|
||||
<string name="emulation_exit">Keluar</string>
|
||||
<string name="emulation_done">Selesai</string>
|
||||
<string name="emulation_fps_counter">penghitung Fps </string>
|
||||
<string name="emulation_thermal_indicator">Indikator termal</string>
|
||||
<string name="emulation_toggle_controls">Beralih Kontrol</string>
|
||||
<string name="emulation_rel_stick_center">Pusat stick relatif</string>
|
||||
<string name="emulation_dpad_slide">Geser Dpad</string>
|
||||
@@ -772,6 +856,7 @@
|
||||
<string name="unlock_drawer">Buka Kunci Laci</string>
|
||||
<string name="reset">Reset</string>
|
||||
|
||||
<string name="load_settings">Pengaturan</string>
|
||||
|
||||
<!-- Software keyboard -->
|
||||
<string name="software_keyboard">Papan Ketik Perangkat Lunak</string>
|
||||
@@ -783,6 +868,7 @@
|
||||
<string name="system_archive_general">Arsip Umum</string>
|
||||
<string name="save_load_error">Kesalahan Memuat</string>
|
||||
<string name="fatal_error">Kesalahan Fatal</string>
|
||||
<string name="performance_warning">Menonaktifkan pengaturan ini akan mengurangi performa secara signifikan. Direkomendasikan untuk mengaktifkan pengaturan ini</string>
|
||||
<string name="device_memory_inadequate">Ram Perangkat: %1$s\nRekomendasi: %2$s</string>
|
||||
<string name="memory_formatted">%1$s%2$s</string>
|
||||
<string name="no_game_present">Tidak ada permainan yang dapat di-boot!</string>
|
||||
@@ -802,6 +888,7 @@
|
||||
<string name="memory_8gb">8GB (Tidak Aman)</string>
|
||||
|
||||
<!--CPU clock speeds-->
|
||||
<string name="clock_base">Dasar (1000MHz)</string>
|
||||
<string name="clock_boost">Boost (1700MHz)</string>
|
||||
<string name="clock_fast">Cepat (2000MHz)</string>
|
||||
|
||||
@@ -815,6 +902,7 @@
|
||||
<string name="temperature_fahrenheit">Fahrenheit</string>
|
||||
|
||||
<!-- Memory Sizes -->
|
||||
<string name="memory_byte">Byte</string>
|
||||
<string name="memory_byte_shorthand">B</string>
|
||||
<string name="memory_kilobyte">KB</string>
|
||||
<string name="memory_megabyte">MB</string>
|
||||
@@ -917,12 +1005,14 @@
|
||||
<string name="gamepad_screenshot">Screenshot</string>
|
||||
|
||||
<!-- Disk shader cache -->
|
||||
<string name="preparing_shaders">menyiapkan shader</string>
|
||||
<string name="building_shaders">membangun shader</string>
|
||||
|
||||
<!-- App options -->
|
||||
<!-- Theme options -->
|
||||
<string name="change_app_theme">Ubah Tema</string>
|
||||
<string name="theme_default">Bawaan</string>
|
||||
<string name="theme_material_you">Material Anda</string>
|
||||
|
||||
<!-- Theme Modes -->
|
||||
<string name="change_theme_mode">Mengubah Tema</string>
|
||||
<string name="theme_mode_follow_system">Mengikuti Sistem</string>
|
||||
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user