Merge branch 'master' into mmdurrant/texture-tests
This commit is contained in:
commit
fd40bd064e
631 changed files with 26187 additions and 7698 deletions
|
@ -14,6 +14,13 @@ tab_width = 4
|
|||
end_of_line = lf
|
||||
insert_final_newline = true
|
||||
|
||||
# JSON files
|
||||
[*.json]
|
||||
|
||||
# Indentation and spacing
|
||||
indent_size = 2
|
||||
tab_width = 2
|
||||
|
||||
# C# files
|
||||
[*.cs]
|
||||
|
||||
|
|
18
.github/csc.json
vendored
Normal file
18
.github/csc.json
vendored
Normal file
|
@ -0,0 +1,18 @@
|
|||
{
|
||||
"problemMatcher": [
|
||||
{
|
||||
"owner": "csc",
|
||||
"pattern": [
|
||||
{
|
||||
"regexp": "^((?:\\\\|/)(?:[^\\\\/:]+(?:\\\\|/))+[^\\\\/]+)\\((\\d+),(\\d+)\\):\\s+([a-zA-Z]+)\\s+([^:]+):\\s+([^[]+)\\s+\\[",
|
||||
"file": 1,
|
||||
"line": 2,
|
||||
"column": 3,
|
||||
"severity": 4,
|
||||
"code": 5,
|
||||
"message": 6
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
}
|
2
.github/reviewers.yml
vendored
2
.github/reviewers.yml
vendored
|
@ -29,4 +29,4 @@ infra:
|
|||
- TSRBerry
|
||||
|
||||
default:
|
||||
- marysaka
|
||||
- '@developers'
|
||||
|
|
79
.github/update_reviewers.py
vendored
79
.github/update_reviewers.py
vendored
|
@ -1,79 +0,0 @@
|
|||
from pathlib import Path
|
||||
from typing import List, Set
|
||||
from github import Github
|
||||
from github.Repository import Repository
|
||||
from github.GithubException import GithubException
|
||||
|
||||
import sys
|
||||
import yaml
|
||||
|
||||
|
||||
def add_reviewers(
|
||||
reviewers: Set[str], team_reviewers: Set[str], new_entries: List[str]
|
||||
):
|
||||
for reviewer in new_entries:
|
||||
if reviewer.startswith("@"):
|
||||
team_reviewers.add(reviewer[1:])
|
||||
else:
|
||||
reviewers.add(reviewer)
|
||||
|
||||
|
||||
def update_reviewers(config, repo: Repository, pr_id: int) -> int:
|
||||
pull_request = repo.get_pull(pr_id)
|
||||
|
||||
if not pull_request:
|
||||
sys.stderr.writable(f"Unknown PR #{pr_id}\n")
|
||||
return 1
|
||||
|
||||
pull_request_author = pull_request.user.login
|
||||
reviewers = set()
|
||||
team_reviewers = set()
|
||||
|
||||
for label in pull_request.labels:
|
||||
if label.name in config:
|
||||
add_reviewers(reviewers, team_reviewers, config[label.name])
|
||||
|
||||
if "default" in config:
|
||||
add_reviewers(reviewers, team_reviewers, config["default"])
|
||||
|
||||
if pull_request_author in reviewers:
|
||||
reviewers.remove(pull_request_author)
|
||||
|
||||
try:
|
||||
reviewers = list(reviewers)
|
||||
team_reviewers = list(team_reviewers)
|
||||
print(
|
||||
f"Attempting to assign reviewers ({reviewers}) and team_reviewers ({team_reviewers})"
|
||||
)
|
||||
pull_request.create_review_request(reviewers, team_reviewers)
|
||||
return 0
|
||||
except GithubException as e:
|
||||
sys.stderr.write(f"Cannot assign review request for PR #{pr_id}: {e}\n")
|
||||
return 1
|
||||
|
||||
|
||||
if __name__ == "__main__":
|
||||
if len(sys.argv) != 5:
|
||||
sys.stderr.write("usage: <token> <repo_path> <pr_id> <config_path>\n")
|
||||
sys.exit(1)
|
||||
|
||||
token = sys.argv[1]
|
||||
repo_path = sys.argv[2]
|
||||
pr_id = int(sys.argv[3])
|
||||
config_path = Path(sys.argv[4])
|
||||
|
||||
g = Github(token)
|
||||
repo = g.get_repo(repo_path)
|
||||
|
||||
if not repo:
|
||||
sys.stderr.write("Repository not found!\n")
|
||||
sys.exit(1)
|
||||
|
||||
if not config_path.exists():
|
||||
sys.stderr.write(f'Config "{config_path}" not found!\n')
|
||||
sys.exit(1)
|
||||
|
||||
with open(config_path, "r") as f:
|
||||
config = yaml.safe_load(f)
|
||||
|
||||
sys.exit(update_reviewers(config, repo, pr_id))
|
32
.github/workflows/build.yml
vendored
32
.github/workflows/build.yml
vendored
|
@ -3,10 +3,6 @@ name: Build job
|
|||
on:
|
||||
workflow_call:
|
||||
|
||||
concurrency:
|
||||
group: pr-builds-${{ github.event.number }}
|
||||
cancel-in-progress: true
|
||||
|
||||
env:
|
||||
POWERSHELL_TELEMETRY_OPTOUT: 1
|
||||
DOTNET_CLI_TELEMETRY_OPTOUT: 1
|
||||
|
@ -39,12 +35,15 @@ jobs:
|
|||
|
||||
fail-fast: false
|
||||
steps:
|
||||
- uses: actions/checkout@v3
|
||||
- uses: actions/checkout@v4
|
||||
|
||||
- uses: actions/setup-dotnet@v3
|
||||
with:
|
||||
global-json-file: global.json
|
||||
|
||||
- name: Overwrite csc problem matcher
|
||||
run: echo "::add-matcher::.github/csc.json"
|
||||
|
||||
- name: Get git short hash
|
||||
id: git_short_hash
|
||||
run: echo "result=$(git rev-parse --short "${{ github.sha }}")" >> $GITHUB_OUTPUT
|
||||
|
@ -54,7 +53,11 @@ jobs:
|
|||
run: dotnet build -c "${{ matrix.configuration }}" -p:Version="${{ env.RYUJINX_BASE_VERSION }}" -p:SourceRevisionId="${{ steps.git_short_hash.outputs.result }}" -p:ExtraDefineConstants=DISABLE_UPDATER
|
||||
|
||||
- name: Test
|
||||
run: dotnet test --no-build -c "${{ matrix.configuration }}"
|
||||
uses: TSRBerry/unstable-commands@v1
|
||||
with:
|
||||
commands: dotnet test --no-build -c "${{ matrix.configuration }}"
|
||||
timeout-minutes: 10
|
||||
retry-codes: 139
|
||||
|
||||
- name: Publish Ryujinx
|
||||
run: dotnet publish -c "${{ matrix.configuration }}" -r "${{ matrix.DOTNET_RUNTIME_IDENTIFIER }}" -o ./publish -p:Version="${{ env.RYUJINX_BASE_VERSION }}" -p:DebugType=embedded -p:SourceRevisionId="${{ steps.git_short_hash.outputs.result }}" -p:ExtraDefineConstants=DISABLE_UPDATER src/Ryujinx --self-contained true
|
||||
|
@ -105,7 +108,7 @@ jobs:
|
|||
configuration: [ Debug, Release ]
|
||||
|
||||
steps:
|
||||
- uses: actions/checkout@v3
|
||||
- uses: actions/checkout@v4
|
||||
|
||||
- uses: actions/setup-dotnet@v3
|
||||
with:
|
||||
|
@ -132,9 +135,13 @@ jobs:
|
|||
id: git_short_hash
|
||||
run: echo "result=$(git rev-parse --short "${{ github.sha }}")" >> $GITHUB_OUTPUT
|
||||
|
||||
- name: Publish macOS
|
||||
- name: Publish macOS Ryujinx.Ava
|
||||
run: |
|
||||
./distribution/macos/create_macos_build.sh . publish_tmp publish_ava ./distribution/macos/entitlements.xml "${{ env.RYUJINX_BASE_VERSION }}" "${{ steps.git_short_hash.outputs.result }}" "${{ matrix.configuration }}" "-p:ExtraDefineConstants=DISABLE_UPDATER"
|
||||
./distribution/macos/create_macos_build_ava.sh . publish_tmp_ava publish_ava ./distribution/macos/entitlements.xml "${{ env.RYUJINX_BASE_VERSION }}" "${{ steps.git_short_hash.outputs.result }}" "${{ matrix.configuration }}" "-p:ExtraDefineConstants=DISABLE_UPDATER"
|
||||
|
||||
- name: Publish macOS Ryujinx.Headless.SDL2
|
||||
run: |
|
||||
./distribution/macos/create_macos_build_headless.sh . publish_tmp_headless publish_headless ./distribution/macos/entitlements.xml "${{ env.RYUJINX_BASE_VERSION }}" "${{ steps.git_short_hash.outputs.result }}" "${{ matrix.configuration }}" "-p:ExtraDefineConstants=DISABLE_UPDATER"
|
||||
|
||||
- name: Upload Ryujinx.Ava artifact
|
||||
uses: actions/upload-artifact@v3
|
||||
|
@ -142,3 +149,10 @@ jobs:
|
|||
name: ava-ryujinx-${{ matrix.configuration }}-${{ env.RYUJINX_BASE_VERSION }}+${{ steps.git_short_hash.outputs.result }}-macos_universal
|
||||
path: "publish_ava/*.tar.gz"
|
||||
if: github.event_name == 'pull_request'
|
||||
|
||||
- name: Upload Ryujinx.Headless.SDL2 artifact
|
||||
uses: actions/upload-artifact@v3
|
||||
with:
|
||||
name: sdl2-ryujinx-headless-${{ matrix.configuration }}-${{ env.RYUJINX_BASE_VERSION }}+${{ steps.git_short_hash.outputs.result }}-macos_universal
|
||||
path: "publish_headless/*.tar.gz"
|
||||
if: github.event_name == 'pull_request'
|
33
.github/workflows/checks.yml
vendored
33
.github/workflows/checks.yml
vendored
|
@ -23,7 +23,7 @@ jobs:
|
|||
format:
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- uses: actions/checkout@v3
|
||||
- uses: actions/checkout@v4
|
||||
with:
|
||||
fetch-depth: 0
|
||||
|
||||
|
@ -31,6 +31,9 @@ jobs:
|
|||
with:
|
||||
global-json-file: global.json
|
||||
|
||||
- name: Overwrite csc problem matcher
|
||||
run: echo "::add-matcher::.github/csc.json"
|
||||
|
||||
- run: dotnet restore
|
||||
|
||||
- name: Print dotnet format version
|
||||
|
@ -40,23 +43,23 @@ jobs:
|
|||
run: |
|
||||
dotnet format whitespace --verify-no-changes --report ./whitespace-report.json -v d
|
||||
|
||||
# For some unknown reason this step sometimes fails with exit code 139 (segfault?),
|
||||
# so in that case we'll try again (3 tries max).
|
||||
- name: Run dotnet format style
|
||||
run: |
|
||||
dotnet format style --severity info --verify-no-changes --report ./style-report.json -v d
|
||||
uses: TSRBerry/unstable-commands@v1
|
||||
with:
|
||||
commands: dotnet format style --severity info --verify-no-changes --report ./style-report.json -v d
|
||||
timeout-minutes: 5
|
||||
retry-codes: 139
|
||||
|
||||
# For some reason this step sometimes fails with exit code 139 (segfault?),
|
||||
# so should that be the case we'll try again (3 tries max).
|
||||
# For some unknown reason this step sometimes fails with exit code 139 (segfault?),
|
||||
# so in that case we'll try again (3 tries max).
|
||||
- name: Run dotnet format analyzers
|
||||
run: |
|
||||
attempt=0
|
||||
exit_code=139
|
||||
until [ $attempt -ge 3 ] || [ $exit_code -ne 139 ]; do
|
||||
((attempt+=1))
|
||||
exit_code=0
|
||||
echo "Attempt: ${attempt}/3"
|
||||
dotnet format analyzers --severity info --verify-no-changes --report ./analyzers-report.json -v d || exit_code=$?
|
||||
done
|
||||
exit $exit_code
|
||||
uses: TSRBerry/unstable-commands@v1
|
||||
with:
|
||||
commands: dotnet format analyzers --severity info --verify-no-changes --report ./analyzers-report.json -v d
|
||||
timeout-minutes: 5
|
||||
retry-codes: 139
|
||||
|
||||
- name: Upload report
|
||||
if: failure()
|
||||
|
|
4
.github/workflows/flatpak.yml
vendored
4
.github/workflows/flatpak.yml
vendored
|
@ -24,7 +24,7 @@ jobs:
|
|||
RYUJINX_VERSION: "${{ inputs.ryujinx_version }}"
|
||||
|
||||
steps:
|
||||
- uses: actions/checkout@v3
|
||||
- uses: actions/checkout@v4
|
||||
with:
|
||||
path: Ryujinx
|
||||
|
||||
|
@ -38,7 +38,7 @@ jobs:
|
|||
run: |
|
||||
echo "git_hash=$(git rev-parse HEAD)" >> $GITHUB_OUTPUT
|
||||
|
||||
- uses: actions/checkout@v3
|
||||
- uses: actions/checkout@v4
|
||||
with:
|
||||
repository: flathub/org.ryujinx.Ryujinx
|
||||
token: ${{ secrets.RYUJINX_BOT_PAT }}
|
||||
|
|
21
.github/workflows/pr_triage.yml
vendored
21
.github/workflows/pr_triage.yml
vendored
|
@ -12,15 +12,25 @@ jobs:
|
|||
runs-on: ubuntu-latest
|
||||
|
||||
steps:
|
||||
# Grab sources to get update_reviewers.py and reviewers.yml
|
||||
# Grab sources to get latest labeler.yml
|
||||
- name: Fetch sources
|
||||
uses: actions/checkout@v3
|
||||
uses: actions/checkout@v4
|
||||
with:
|
||||
# Ensure we pin the source origin as pull_request_target run under forks.
|
||||
fetch-depth: 0
|
||||
repository: Ryujinx/Ryujinx
|
||||
ref: master
|
||||
|
||||
- name: Checkout Ryujinx-Mako
|
||||
uses: actions/checkout@v4
|
||||
with:
|
||||
repository: Ryujinx/Ryujinx-Mako
|
||||
ref: master
|
||||
path: '.ryujinx-mako'
|
||||
|
||||
- name: Setup Ryujinx-Mako
|
||||
uses: ./.ryujinx-mako/.github/actions/setup-mako
|
||||
|
||||
- name: Update labels based on changes
|
||||
uses: actions/labeler@v4
|
||||
with:
|
||||
|
@ -29,6 +39,9 @@ jobs:
|
|||
|
||||
- name: Assign reviewers
|
||||
run: |
|
||||
pip3 install PyGithub
|
||||
python3 .github/update_reviewers.py ${{ secrets.GITHUB_TOKEN }} ${{ github.repository }} ${{ github.event.pull_request.number }} .github/reviewers.yml
|
||||
poetry -n -C .ryujinx-mako run ryujinx-mako update-reviewers ${{ github.repository }} ${{ github.event.pull_request.number }} .github/reviewers.yml
|
||||
shell: bash
|
||||
env:
|
||||
MAKO_APP_ID: ${{ secrets.MAKO_APP_ID }}
|
||||
MAKO_PRIVATE_KEY: ${{ secrets.MAKO_PRIVATE_KEY }}
|
||||
MAKO_INSTALLATION_ID: ${{ secrets.MAKO_INSTALLATION_ID }}
|
||||
|
|
17
.github/workflows/release.yml
vendored
17
.github/workflows/release.yml
vendored
|
@ -62,12 +62,15 @@ jobs:
|
|||
DOTNET_RUNTIME_IDENTIFIER: win10-x64
|
||||
RELEASE_ZIP_OS_NAME: win_x64
|
||||
steps:
|
||||
- uses: actions/checkout@v3
|
||||
- uses: actions/checkout@v4
|
||||
|
||||
- uses: actions/setup-dotnet@v3
|
||||
with:
|
||||
global-json-file: global.json
|
||||
|
||||
- name: Overwrite csc problem matcher
|
||||
run: echo "::add-matcher::.github/csc.json"
|
||||
|
||||
- name: Get version info
|
||||
id: version_info
|
||||
run: |
|
||||
|
@ -147,7 +150,7 @@ jobs:
|
|||
runs-on: ubuntu-latest
|
||||
timeout-minutes: ${{ fromJSON(vars.JOB_TIMEOUT) }}
|
||||
steps:
|
||||
- uses: actions/checkout@v3
|
||||
- uses: actions/checkout@v4
|
||||
|
||||
- uses: actions/setup-dotnet@v3
|
||||
with:
|
||||
|
@ -185,15 +188,19 @@ jobs:
|
|||
sed -r --in-place 's/\%\%RYUJINX_TARGET_RELEASE_CHANNEL_REPO\%\%/${{ env.RYUJINX_TARGET_RELEASE_CHANNEL_REPO }}/g;' src/Ryujinx.Common/ReleaseInformation.cs
|
||||
shell: bash
|
||||
|
||||
- name: Publish macOS
|
||||
- name: Publish macOS Ryujinx.Ava
|
||||
run: |
|
||||
./distribution/macos/create_macos_build.sh . publish_tmp publish_ava ./distribution/macos/entitlements.xml "${{ steps.version_info.outputs.build_version }}" "${{ steps.version_info.outputs.git_short_hash }}" Release
|
||||
./distribution/macos/create_macos_build_ava.sh . publish_tmp_ava publish_ava ./distribution/macos/entitlements.xml "${{ steps.version_info.outputs.build_version }}" "${{ steps.version_info.outputs.git_short_hash }}" Release
|
||||
|
||||
- name: Publish macOS Ryujinx.Headless.SDL2
|
||||
run: |
|
||||
./distribution/macos/create_macos_build_headless.sh . publish_tmp_headless publish_headless ./distribution/macos/entitlements.xml "${{ steps.version_info.outputs.build_version }}" "${{ steps.version_info.outputs.git_short_hash }}" Release
|
||||
|
||||
- name: Pushing new release
|
||||
uses: ncipollo/release-action@v1
|
||||
with:
|
||||
name: ${{ steps.version_info.outputs.build_version }}
|
||||
artifacts: "publish_ava/*.tar.gz"
|
||||
artifacts: "publish_ava/*.tar.gz, publish_headless/*.tar.gz"
|
||||
tag: ${{ steps.version_info.outputs.build_version }}
|
||||
body: "For more information about this release please check out the official [Changelog](https://github.com/Ryujinx/Ryujinx/wiki/Changelog)."
|
||||
omitBodyDuringUpdate: true
|
||||
|
|
147
CONTRIBUTING.md
Normal file
147
CONTRIBUTING.md
Normal file
|
@ -0,0 +1,147 @@
|
|||
# Contribution to Ryujinx
|
||||
|
||||
You can contribute to Ryujinx with PRs, testing of PRs and issues. Contributing code and other implementations is greatly appreciated alongside simply filing issues for problems you encounter.
|
||||
Please read the entire document before continuing as it can potentially save everyone involved a significant amount of time.
|
||||
|
||||
# Quick Links
|
||||
|
||||
* [Code Style Documentation](docs/coding-guidelines/coding-style.md)
|
||||
* [Pull Request Guidelines](docs/workflow/pr-guide.md)
|
||||
|
||||
## Reporting Issues
|
||||
|
||||
We always welcome bug reports, feature proposals and overall feedback. Here are a few tips on how you can make reporting your issue as effective as possible.
|
||||
|
||||
### Identify Where to Report
|
||||
|
||||
The Ryujinx codebase is distributed across multiple repositories in the [Ryujinx organization](https://github.com/Ryujinx). Depending on the feedback you might want to file the issue on a different repo. Here are a few common repos:
|
||||
|
||||
* [Ryujinx/Ryujinx](https://github.com/Ryujinx/Ryujinx) Ryujinx core project files.
|
||||
* [Ryujinx/Ryujinx-Games-List](https://github.com/Ryujinx/Ryujinx-Games-List) Ryujinx game compatibility list.
|
||||
* [Ryujinx/Ryujinx-Website](https://github.com/Ryujinx/Ryujinx-Website) Ryujinx website source code.
|
||||
* [Ryujinx/Ryujinx-Ldn-Website](https://github.com/Ryujinx/Ryujinx-Ldn-Website) Ryujinx LDN website source code.
|
||||
|
||||
### Finding Existing Issues
|
||||
|
||||
Before filing a new issue, please search our [open issues](https://github.com/Ryujinx/Ryujinx/issues) to check if it already exists.
|
||||
|
||||
If you do find an existing issue, please include your own feedback in the discussion. Do consider upvoting (👍 reaction) the original post, as this helps us prioritize popular issues in our backlog.
|
||||
|
||||
### Writing a Good Feature Request
|
||||
|
||||
Please review any feature requests already opened to both check it has not already been suggested, and to familiarize yourself with the format. When ready to submit a proposal, please use the [Feature Request issue template](https://github.com/Ryujinx/Ryujinx/issues/new?assignees=&labels=&projects=&template=feature_request.yml&title=%5BFeature+Request%5D).
|
||||
|
||||
### Writing a Good Bug Report
|
||||
|
||||
Good bug reports make it easier for maintainers to verify and root cause the underlying problem. The better a bug report, the faster the problem will be resolved.
|
||||
Ideally, a bug report should contain the following information:
|
||||
|
||||
* A high-level description of the problem.
|
||||
* A _minimal reproduction_, i.e. the smallest time commitment/configuration required to reproduce the wrong behavior. This can be in the form of a small homebrew application, or by providing a save file and reproduction steps for a specific game.
|
||||
* A description of the _expected behavior_, contrasted with the _actual behavior_ observed.
|
||||
* Information on the environment: OS/distro, CPU, GPU (including driver), RAM etc.
|
||||
* A Ryujinx log file of the run instance where the issue occurred. Log files can be found in `[Executable Folder]/Logs` and are named chronologically.
|
||||
* Additional information, e.g. is it a regression from previous versions? Are there any known workarounds?
|
||||
|
||||
When ready to submit a bug report, please use the [Bug Report issue template](https://github.com/Ryujinx/Ryujinx/issues/new?assignees=&labels=bug&projects=&template=bug_report.yml&title=%5BBug%5D).
|
||||
|
||||
## Contributing Changes
|
||||
|
||||
Project maintainers will merge changes that both improve the project and meet our standards for code quality.
|
||||
|
||||
The [Pull Request Guide](docs/workflow/pr-guide.md) and [License](https://github.com/Ryujinx/Ryujinx/blob/master/LICENSE.txt) docs define additional guidance.
|
||||
|
||||
### DOs and DON'Ts
|
||||
|
||||
Please do:
|
||||
|
||||
* **DO** follow our [coding style](docs/coding-guidelines/coding-style.md) (C# code-specific).
|
||||
* **DO** give priority to the current style of the project or file you're changing even if it diverges from the general guidelines.
|
||||
* **DO** keep the discussions focused. When a new or related topic comes up
|
||||
it's often better to create new issue than to side track the discussion.
|
||||
* **DO** clearly state on an issue that you are going to take on implementing it.
|
||||
* **DO** blog and tweet (or whatever) about your contributions, frequently!
|
||||
|
||||
Please do not:
|
||||
|
||||
* **DON'T** make PRs for style changes.
|
||||
* **DON'T** surprise us with big pull requests. Instead, file an issue and talk with us on Discord to start
|
||||
a discussion so we can agree on a direction before you invest a large amount
|
||||
of time.
|
||||
* **DON'T** commit code that you didn't write. If you find code that you think is a good fit to add to Ryujinx, file an issue or talk to us on Discord to start a discussion before proceeding.
|
||||
* **DON'T** submit PRs that alter licensing related files or headers. If you believe there's a problem with them, file an issue and we'll be happy to discuss it.
|
||||
|
||||
### Suggested Workflow
|
||||
|
||||
We use and recommend the following workflow:
|
||||
|
||||
1. Create or find an issue for your work.
|
||||
- You can skip this step for trivial changes.
|
||||
- Get agreement from the team and the community that your proposed change is a good one if it is of significant size or changes core functionality.
|
||||
- Clearly state that you are going to take on implementing it, if that's the case. You can request that the issue be assigned to you. Note: The issue filer and the implementer don't have to be the same person.
|
||||
2. Create a personal fork of the repository on GitHub (if you don't already have one).
|
||||
3. In your fork, create a branch off of main (`git checkout -b mybranch`).
|
||||
- Branches are useful since they isolate your changes from incoming changes from upstream. They also enable you to create multiple PRs from the same fork.
|
||||
4. Make and commit your changes to your branch.
|
||||
- [Build Instructions](https://github.com/Ryujinx/Ryujinx#building) explains how to build and test.
|
||||
- Commit messages should be clear statements of action and intent.
|
||||
6. Build the repository with your changes.
|
||||
- Make sure that the builds are clean.
|
||||
- Make sure that `dotnet format` has been run and any corrections tested and committed.
|
||||
7. Create a pull request (PR) against the Ryujinx/Ryujinx repository's **main** branch.
|
||||
- State in the description what issue or improvement your change is addressing.
|
||||
- Check if all the Continuous Integration checks are passing. Refer to [Actions](https://github.com/Ryujinx/Ryujinx/actions) to check for outstanding errors.
|
||||
8. Wait for feedback or approval of your changes from the [core development team](https://github.com/orgs/Ryujinx/teams/developers)
|
||||
- Details about the pull request [review procedure](docs/workflow/ci/pr-guide.md).
|
||||
9. When the team members have signed off, and all checks are green, your PR will be merged.
|
||||
- The next official build will automatically include your change.
|
||||
- You can delete the branch you used for making the change.
|
||||
|
||||
### Good First Issues
|
||||
|
||||
The team marks the most straightforward issues as [good first issues](https://github.com/Ryujinx/Ryujinx/issues?q=is%3Aopen+is%3Aissue+label%3A%22good+first+issue%22). This set of issues is the place to start if you are interested in contributing but new to the codebase.
|
||||
|
||||
### Commit Messages
|
||||
|
||||
Please format commit messages as follows (based on [A Note About Git Commit Messages](http://tbaggery.com/2008/04/19/a-note-about-git-commit-messages.html)):
|
||||
|
||||
```
|
||||
Summarize change in 50 characters or less
|
||||
|
||||
Provide more detail after the first line. Leave one blank line below the
|
||||
summary and wrap all lines at 72 characters or less.
|
||||
|
||||
If the change fixes an issue, leave another blank line after the final
|
||||
paragraph and indicate which issue is fixed in the specific format
|
||||
below.
|
||||
|
||||
Fix #42
|
||||
```
|
||||
|
||||
Also do your best to factor commits appropriately, not too large with unrelated things in the same commit, and not too small with the same small change applied N times in N different commits.
|
||||
|
||||
### PR - CI Process
|
||||
|
||||
The [Ryujinx continuous integration](https://github.com/Ryujinx/Ryujinx/actions) (CI) system will automatically perform the required builds and run tests (including the ones you are expected to run) for PRs. Builds and test runs must be clean or have bugs properly filed against flaky/unexpected failures that are unrelated to your change.
|
||||
|
||||
If the CI build fails for any reason, the PR actions tab should be consulted for further information on the failure. There are a few usual suspects for such a failure:
|
||||
* `dotnet format` has not been run on the PR and has outstanding stylistic issues.
|
||||
* There is an error within the PR that fails a test or errors the compiler.
|
||||
* Random failure of the workflow can occasionally result in a CI failure. In this scenario a maintainer will manually restart the job.
|
||||
|
||||
### PR Feedback
|
||||
|
||||
Ryujinx team and community members will provide feedback on your change. Community feedback is highly valued. You may see the absence of team feedback if the community has already provided good review feedback.
|
||||
|
||||
Two Ryujinx team members must review and approve every PR prior to merge. They will often reply with "LGTM, see nit". That means that the PR will be merged once the feedback is resolved. "LGTM" == "looks good to me".
|
||||
|
||||
There are lots of thoughts and [approaches](https://github.com/antlr/antlr4-cpp/blob/master/CONTRIBUTING.md#emoji) for how to efficiently discuss changes. It is best to be clear and explicit with your feedback. Please be patient with people who might not understand the finer details about your approach to feedback.
|
||||
|
||||
#### Copying Changes from Other Projects
|
||||
|
||||
Ryujinx uses some implementations and frameworks from other projects. The following rules must be followed for PRs that include changes from another project:
|
||||
|
||||
- The license of the file is [permissive](https://en.wikipedia.org/wiki/Permissive_free_software_licence).
|
||||
- The license of the file is left in-tact.
|
||||
- The contribution is correctly attributed in the [3rd party notices](https://github.com/Ryujinx/Ryujinx/blob/master/distribution/legal/THIRDPARTY.md) file in the repository, as needed.
|
||||
|
|
@ -3,27 +3,28 @@
|
|||
<ManagePackageVersionsCentrally>true</ManagePackageVersionsCentrally>
|
||||
</PropertyGroup>
|
||||
<ItemGroup>
|
||||
<PackageVersion Include="Avalonia" Version="0.10.21" />
|
||||
<PackageVersion Include="Avalonia.Controls.DataGrid" Version="0.10.21" />
|
||||
<PackageVersion Include="Avalonia.Desktop" Version="0.10.21" />
|
||||
<PackageVersion Include="Avalonia.Diagnostics" Version="0.10.21" />
|
||||
<PackageVersion Include="Avalonia.Markup.Xaml.Loader" Version="0.10.21" />
|
||||
<PackageVersion Include="Avalonia.Svg" Version="0.10.18" />
|
||||
<PackageVersion Include="Avalonia.Svg.Skia" Version="0.10.18" />
|
||||
<PackageVersion Include="Avalonia" Version="11.0.5" />
|
||||
<PackageVersion Include="Avalonia.Controls.DataGrid" Version="11.0.5" />
|
||||
<PackageVersion Include="Avalonia.Desktop" Version="11.0.5" />
|
||||
<PackageVersion Include="Avalonia.Diagnostics" Version="11.0.5" />
|
||||
<PackageVersion Include="Avalonia.Markup.Xaml.Loader" Version="11.0.5" />
|
||||
<PackageVersion Include="Avalonia.Svg" Version="11.0.0.3" />
|
||||
<PackageVersion Include="Avalonia.Svg.Skia" Version="11.0.0.3" />
|
||||
<PackageVersion Include="CommandLineParser" Version="2.9.1" />
|
||||
<PackageVersion Include="Concentus" Version="1.1.7" />
|
||||
<PackageVersion Include="DiscordRichPresence" Version="1.1.3.18" />
|
||||
<PackageVersion Include="DiscordRichPresence" Version="1.2.1.24" />
|
||||
<PackageVersion Include="DynamicData" Version="7.14.2" />
|
||||
<PackageVersion Include="FluentAvaloniaUI" Version="1.4.5" />
|
||||
<PackageVersion Include="FluentAvaloniaUI" Version="2.0.4" />
|
||||
<PackageVersion Include="GtkSharp.Dependencies" Version="1.1.1" />
|
||||
<PackageVersion Include="GtkSharp.Dependencies.osx" Version="0.0.5" />
|
||||
<PackageVersion Include="jp2masa.Avalonia.Flexbox" Version="0.2.0" />
|
||||
<PackageVersion Include="LibHac" Version="0.18.0" />
|
||||
<PackageVersion Include="jp2masa.Avalonia.Flexbox" Version="0.3.0-beta.4" />
|
||||
<PackageVersion Include="LibHac" Version="0.19.0" />
|
||||
<PackageVersion Include="Microsoft.CodeAnalysis.Analyzers" Version="3.3.4" />
|
||||
<PackageVersion Include="Microsoft.CodeAnalysis.CSharp" Version="4.6.0" />
|
||||
<PackageVersion Include="Microsoft.NET.Test.Sdk" Version="17.6.3" />
|
||||
<PackageVersion Include="Microsoft.CodeAnalysis.CSharp" Version="4.7.0" />
|
||||
<PackageVersion Include="Microsoft.NET.Test.Sdk" Version="17.7.2" />
|
||||
<PackageVersion Include="Microsoft.IO.RecyclableMemoryStream" Version="2.3.2" />
|
||||
<PackageVersion Include="MsgPack.Cli" Version="1.0.1" />
|
||||
<PackageVersion Include="NetCoreServer" Version="7.0.0" />
|
||||
<PackageVersion Include="NUnit" Version="3.13.3" />
|
||||
<PackageVersion Include="NUnit3TestAdapter" Version="4.1.0" />
|
||||
<PackageVersion Include="OpenTK.Core" Version="4.7.7" />
|
||||
|
@ -35,6 +36,7 @@
|
|||
<PackageVersion Include="Ryujinx.Graphics.Vulkan.Dependencies.MoltenVK" Version="1.2.0" />
|
||||
<PackageVersion Include="Ryujinx.GtkSharp" Version="3.24.24.59-ryujinx" />
|
||||
<PackageVersion Include="Ryujinx.SDL2-CS" Version="2.28.1-build28" />
|
||||
<PackageVersion Include="securifybv.ShellLink" Version="0.1.0" />
|
||||
<PackageVersion Include="shaderc.net" Version="0.1.0" />
|
||||
<PackageVersion Include="SharpZipLib" Version="1.4.2" />
|
||||
<PackageVersion Include="Silk.NET.Vulkan" Version="2.16.0" />
|
||||
|
@ -44,10 +46,9 @@
|
|||
<PackageVersion Include="SixLabors.ImageSharp.Drawing" Version="1.0.0-beta11" />
|
||||
<PackageVersion Include="SPB" Version="0.0.4-build28" />
|
||||
<PackageVersion Include="System.Drawing.Common" Version="7.0.0" />
|
||||
<PackageVersion Include="System.IdentityModel.Tokens.Jwt" Version="6.31.0" />
|
||||
<PackageVersion Include="System.IdentityModel.Tokens.Jwt" Version="7.0.0" />
|
||||
<PackageVersion Include="System.IO.Hashing" Version="7.0.0" />
|
||||
<PackageVersion Include="System.Management" Version="7.0.2" />
|
||||
<PackageVersion Include="UnicornEngine.Unicorn" Version="2.0.2-rc1-fb78016" />
|
||||
<PackageVersion Include="XamlNameReferenceGenerator" Version="1.6.1" />
|
||||
</ItemGroup>
|
||||
</Project>
|
|
@ -141,3 +141,5 @@ See [LICENSE.txt](LICENSE.txt) and [THIRDPARTY.md](distribution/legal/THIRDPARTY
|
|||
|
||||
- [LibHac](https://github.com/Thealexbarney/LibHac) is used for our file-system.
|
||||
- [AmiiboAPI](https://www.amiiboapi.com) is used in our Amiibo emulation.
|
||||
- [ldn_mitm](https://github.com/spacemeowx2/ldn_mitm) is used for one of our available multiplayer modes.
|
||||
- [ShellLink](https://github.com/securifybv/ShellLink) is used for Windows shortcut generation.
|
||||
|
|
|
@ -682,3 +682,32 @@
|
|||
END OF TERMS AND CONDITIONS
|
||||
```
|
||||
</details>
|
||||
|
||||
# ShellLink (MIT)
|
||||
<details>
|
||||
<summary>See License</summary>
|
||||
|
||||
```
|
||||
MIT License
|
||||
|
||||
Copyright (c) 2017 Yorick Koster, Securify B.V.
|
||||
|
||||
Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||
of this software and associated documentation files (the "Software"), to deal
|
||||
in the Software without restriction, including without limitation the rights
|
||||
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
||||
copies of the Software, and to permit persons to whom the Software is
|
||||
furnished to do so, subject to the following conditions:
|
||||
|
||||
The above copyright notice and this permission notice shall be included in all
|
||||
copies or substantial portions of the Software.
|
||||
|
||||
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
||||
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
||||
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
||||
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
||||
SOFTWARE.
|
||||
```
|
||||
</details>
|
||||
|
|
|
@ -3,8 +3,8 @@ Version=1.0
|
|||
Name=Ryujinx
|
||||
Type=Application
|
||||
Icon=Ryujinx
|
||||
Exec=env DOTNET_EnableAlternateStackCheck=1 Ryujinx %f
|
||||
Comment=A Nintendo Switch Emulator
|
||||
Exec=Ryujinx.sh %f
|
||||
Comment=Plays Nintendo Switch applications
|
||||
GenericName=Nintendo Switch Emulator
|
||||
Terminal=false
|
||||
Categories=Game;Emulator;
|
||||
|
|
13
distribution/linux/shortcut-template.desktop
Normal file
13
distribution/linux/shortcut-template.desktop
Normal file
|
@ -0,0 +1,13 @@
|
|||
[Desktop Entry]
|
||||
Version=1.0
|
||||
Name={0}
|
||||
Type=Application
|
||||
Icon={1}
|
||||
Exec={2} %f
|
||||
Comment=Nintendo Switch application
|
||||
GenericName=Nintendo Switch Emulator
|
||||
Terminal=false
|
||||
Categories=Game;Emulator;
|
||||
Keywords=Switch;Nintendo;Emulator;
|
||||
StartupWMClass=Ryujinx
|
||||
PrefersNonDefaultGPU=true
|
|
@ -44,9 +44,114 @@
|
|||
<string>public.app-category.games</string>
|
||||
<key>LSMinimumSystemVersion</key>
|
||||
<string>11.0</string>
|
||||
<key>UTExportedTypeDeclarations</key>
|
||||
<array>
|
||||
<dict>
|
||||
<key>UTTypeDescription</key>
|
||||
<string>Extensible Application Markup Language</string>
|
||||
<key>UTTypeConformsTo</key>
|
||||
<array>
|
||||
<string>public.xml</string>
|
||||
</array>
|
||||
<key>UTTypeIdentifier</key>
|
||||
<string>com.ryujinx.xaml</string>
|
||||
<key>UTTypeTagSpecification</key>
|
||||
<dict>
|
||||
<key>public.filename-extension</key>
|
||||
<array>
|
||||
<string>xaml</string>
|
||||
</array>
|
||||
</dict>
|
||||
</dict>
|
||||
<dict>
|
||||
<key>UTTypeDescription</key>
|
||||
<string>Nintendo Submission Package</string>
|
||||
<key>UTTypeConformsTo</key>
|
||||
<array>
|
||||
<string>public.data</string>
|
||||
</array>
|
||||
<key>UTTypeIdentifier</key>
|
||||
<string>com.ryujinx.nsp</string>
|
||||
<key>UTTypeTagSpecification</key>
|
||||
<dict>
|
||||
<key>public.filename-extension</key>
|
||||
<array>
|
||||
<string>nsp</string>
|
||||
</array>
|
||||
</dict>
|
||||
</dict>
|
||||
<dict>
|
||||
<key>UTTypeDescription</key>
|
||||
<string>Nintendo Switch Cartridge</string>
|
||||
<key>UTTypeConformsTo</key>
|
||||
<array>
|
||||
<string>public.data</string>
|
||||
</array>
|
||||
<key>UTTypeIdentifier</key>
|
||||
<string>com.ryujinx.xci</string>
|
||||
<key>UTTypeTagSpecification</key>
|
||||
<dict>
|
||||
<key>public.filename-extension</key>
|
||||
<array>
|
||||
<string>xci</string>
|
||||
</array>
|
||||
</dict>
|
||||
</dict>
|
||||
<dict>
|
||||
<key>UTTypeDescription</key>
|
||||
<string>Nintendo Content Archive</string>
|
||||
<key>UTTypeConformsTo</key>
|
||||
<array>
|
||||
<string>public.data</string>
|
||||
</array>
|
||||
<key>UTTypeIdentifier</key>
|
||||
<string>com.ryujinx.nca</string>
|
||||
<key>UTTypeTagSpecification</key>
|
||||
<dict>
|
||||
<key>public.filename-extension</key>
|
||||
<array>
|
||||
<string>nca</string>
|
||||
</array>
|
||||
</dict>
|
||||
</dict>
|
||||
<dict>
|
||||
<key>UTTypeDescription</key>
|
||||
<string>Nintendo Relocatable Object</string>
|
||||
<key>UTTypeConformsTo</key>
|
||||
<array>
|
||||
<string>public.data</string>
|
||||
</array>
|
||||
<key>UTTypeIdentifier</key>
|
||||
<string>com.ryujinx.nro</string>
|
||||
<key>UTTypeTagSpecification</key>
|
||||
<dict>
|
||||
<key>public.filename-extension</key>
|
||||
<array>
|
||||
<string>nro</string>
|
||||
</array>
|
||||
</dict>
|
||||
</dict>
|
||||
<dict>
|
||||
<key>UTTypeDescription</key>
|
||||
<string>Nintendo Shared Object</string>
|
||||
<key>UTTypeConformsTo</key>
|
||||
<array>
|
||||
<string>public.data</string>
|
||||
</array>
|
||||
<key>UTTypeIdentifier</key>
|
||||
<string>com.ryujinx.nso</string>
|
||||
<key>UTTypeTagSpecification</key>
|
||||
<dict>
|
||||
<key>public.filename-extension</key>
|
||||
<array>
|
||||
<string>nso</string>
|
||||
</array>
|
||||
</dict>
|
||||
</dict>
|
||||
</array>
|
||||
<key>LSEnvironment</key>
|
||||
<dict>
|
||||
<key>COMPlus_DefaultStackSize</key>
|
||||
<key>DOTNET_DefaultStackSize</key>
|
||||
<string>200000</string>
|
||||
</dict>
|
||||
</dict>
|
||||
|
|
111
distribution/macos/create_macos_build_headless.sh
Executable file
111
distribution/macos/create_macos_build_headless.sh
Executable file
|
@ -0,0 +1,111 @@
|
|||
#!/bin/bash
|
||||
|
||||
set -e
|
||||
|
||||
if [ "$#" -lt 7 ]; then
|
||||
echo "usage <BASE_DIR> <TEMP_DIRECTORY> <OUTPUT_DIRECTORY> <ENTITLEMENTS_FILE_PATH> <VERSION> <SOURCE_REVISION_ID> <CONFIGURATION> <EXTRA_ARGS>"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
mkdir -p "$1"
|
||||
mkdir -p "$2"
|
||||
mkdir -p "$3"
|
||||
|
||||
BASE_DIR=$(readlink -f "$1")
|
||||
TEMP_DIRECTORY=$(readlink -f "$2")
|
||||
OUTPUT_DIRECTORY=$(readlink -f "$3")
|
||||
ENTITLEMENTS_FILE_PATH=$(readlink -f "$4")
|
||||
VERSION=$5
|
||||
SOURCE_REVISION_ID=$6
|
||||
CONFIGURATION=$7
|
||||
EXTRA_ARGS=$8
|
||||
|
||||
if [ "$VERSION" == "1.1.0" ];
|
||||
then
|
||||
RELEASE_TAR_FILE_NAME=sdl2-ryujinx-headless-$CONFIGURATION-$VERSION+$SOURCE_REVISION_ID-macos_universal.tar
|
||||
else
|
||||
RELEASE_TAR_FILE_NAME=sdl2-ryujinx-headless-$VERSION-macos_universal.tar
|
||||
fi
|
||||
|
||||
ARM64_OUTPUT="$TEMP_DIRECTORY/publish_arm64"
|
||||
X64_OUTPUT="$TEMP_DIRECTORY/publish_x64"
|
||||
UNIVERSAL_OUTPUT="$OUTPUT_DIRECTORY/publish"
|
||||
EXECUTABLE_SUB_PATH=Ryujinx.Headless.SDL2
|
||||
|
||||
rm -rf "$TEMP_DIRECTORY"
|
||||
mkdir -p "$TEMP_DIRECTORY"
|
||||
|
||||
DOTNET_COMMON_ARGS=(-p:DebugType=embedded -p:Version="$VERSION" -p:SourceRevisionId="$SOURCE_REVISION_ID" --self-contained true $EXTRA_ARGS)
|
||||
|
||||
dotnet restore
|
||||
dotnet build -c "$CONFIGURATION" src/Ryujinx.Headless.SDL2
|
||||
dotnet publish -c "$CONFIGURATION" -r osx-arm64 -o "$TEMP_DIRECTORY/publish_arm64" "${DOTNET_COMMON_ARGS[@]}" src/Ryujinx.Headless.SDL2
|
||||
dotnet publish -c "$CONFIGURATION" -r osx-x64 -o "$TEMP_DIRECTORY/publish_x64" "${DOTNET_COMMON_ARGS[@]}" src/Ryujinx.Headless.SDL2
|
||||
|
||||
# Get rid of the support library for ARMeilleure for x64 (that's only for arm64)
|
||||
rm -rf "$TEMP_DIRECTORY/publish_x64/libarmeilleure-jitsupport.dylib"
|
||||
|
||||
# Get rid of libsoundio from arm64 builds as we don't have a arm64 variant
|
||||
# TODO: remove this once done
|
||||
rm -rf "$TEMP_DIRECTORY/publish_arm64/libsoundio.dylib"
|
||||
|
||||
rm -rf "$OUTPUT_DIRECTORY"
|
||||
mkdir -p "$OUTPUT_DIRECTORY"
|
||||
|
||||
# Let's copy one of the two different outputs and remove the executable
|
||||
cp -R "$ARM64_OUTPUT/" "$UNIVERSAL_OUTPUT"
|
||||
rm "$UNIVERSAL_OUTPUT/$EXECUTABLE_SUB_PATH"
|
||||
|
||||
# Make it libraries universal
|
||||
python3 "$BASE_DIR/distribution/macos/construct_universal_dylib.py" "$ARM64_OUTPUT" "$X64_OUTPUT" "$UNIVERSAL_OUTPUT" "**/*.dylib"
|
||||
|
||||
if ! [ -x "$(command -v lipo)" ];
|
||||
then
|
||||
if ! [ -x "$(command -v llvm-lipo-14)" ];
|
||||
then
|
||||
LIPO=llvm-lipo
|
||||
else
|
||||
LIPO=llvm-lipo-14
|
||||
fi
|
||||
else
|
||||
LIPO=lipo
|
||||
fi
|
||||
|
||||
# Make the executable universal
|
||||
$LIPO "$ARM64_OUTPUT/$EXECUTABLE_SUB_PATH" "$X64_OUTPUT/$EXECUTABLE_SUB_PATH" -output "$UNIVERSAL_OUTPUT/$EXECUTABLE_SUB_PATH" -create
|
||||
|
||||
# Now sign it
|
||||
if ! [ -x "$(command -v codesign)" ];
|
||||
then
|
||||
if ! [ -x "$(command -v rcodesign)" ];
|
||||
then
|
||||
echo "Cannot find rcodesign on your system, please install rcodesign."
|
||||
exit 1
|
||||
fi
|
||||
|
||||
# NOTE: Currently require https://github.com/indygreg/apple-platform-rs/pull/44 to work on other OSes.
|
||||
# cargo install --git "https://github.com/marysaka/apple-platform-rs" --branch "fix/adhoc-app-bundle" apple-codesign --bin "rcodesign"
|
||||
echo "Using rcodesign for ad-hoc signing"
|
||||
for FILE in "$UNIVERSAL_OUTPUT"/*; do
|
||||
if [[ $(file "$FILE") == *"Mach-O"* ]]; then
|
||||
rcodesign sign --entitlements-xml-path "$ENTITLEMENTS_FILE_PATH" "$FILE"
|
||||
fi
|
||||
done
|
||||
else
|
||||
echo "Using codesign for ad-hoc signing"
|
||||
for FILE in "$UNIVERSAL_OUTPUT"/*; do
|
||||
if [[ $(file "$FILE") == *"Mach-O"* ]]; then
|
||||
codesign --entitlements "$ENTITLEMENTS_FILE_PATH" -f --deep -s - "$FILE"
|
||||
fi
|
||||
done
|
||||
fi
|
||||
|
||||
echo "Creating archive"
|
||||
pushd "$OUTPUT_DIRECTORY"
|
||||
tar --exclude "publish/Ryujinx.Headless.SDL2" -cvf "$RELEASE_TAR_FILE_NAME" publish 1> /dev/null
|
||||
python3 "$BASE_DIR/distribution/misc/add_tar_exec.py" "$RELEASE_TAR_FILE_NAME" "publish/Ryujinx.Headless.SDL2" "publish/Ryujinx.Headless.SDL2"
|
||||
gzip -9 < "$RELEASE_TAR_FILE_NAME" > "$RELEASE_TAR_FILE_NAME.gz"
|
||||
rm "$RELEASE_TAR_FILE_NAME"
|
||||
popd
|
||||
|
||||
echo "Done"
|
35
distribution/macos/shortcut-template.plist
Normal file
35
distribution/macos/shortcut-template.plist
Normal file
|
@ -0,0 +1,35 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
|
||||
<plist version="1.0">
|
||||
<dict>
|
||||
<key>CFBundleDevelopmentRegion</key>
|
||||
<string>English</string>
|
||||
<key>CFBundleExecutable</key>
|
||||
<string>{0}</string>
|
||||
<key>CFBundleGetInfoString</key>
|
||||
<string>{1}</string>
|
||||
<key>CFBundleIconFile</key>
|
||||
<string>{2}</string>
|
||||
<key>CFBundleInfoDictionaryVersion</key>
|
||||
<string>6.0</string>
|
||||
<key>CFBundleVersion</key>
|
||||
<string>1.0</string>
|
||||
<key>NSHighResolutionCapable</key>
|
||||
<true/>
|
||||
<key>CSResourcesFileMapped</key>
|
||||
<true/>
|
||||
<key>NSHumanReadableCopyright</key>
|
||||
<string>Copyright © 2018 - 2023 Ryujinx Team and Contributors.</string>
|
||||
<key>LSApplicationCategoryType</key>
|
||||
<string>public.app-category.games</string>
|
||||
<key>LSMinimumSystemVersion</key>
|
||||
<string>11.0</string>
|
||||
<key>UIPrerenderedIcon</key>
|
||||
<true/>
|
||||
<key>LSEnvironment</key>
|
||||
<dict>
|
||||
<key>DOTNET_DefaultStackSize</key>
|
||||
<string>200000</string>
|
||||
</dict>
|
||||
</dict>
|
||||
</plist>
|
40
docs/README.md
Normal file
40
docs/README.md
Normal file
|
@ -0,0 +1,40 @@
|
|||
# Documents Index
|
||||
|
||||
This repo includes several documents that explain both high-level and low-level concepts about Ryujinx and its functions. These are very useful for contributors, to get context that can be very difficult to acquire from just reading code.
|
||||
|
||||
Intro to Ryujinx
|
||||
==================
|
||||
|
||||
Ryujinx is an open-source Nintendo Switch emulator, created by gdkchan, written in C#.
|
||||
* The CPU emulator, ARMeilleure, emulates an ARMv8 CPU and currently has support for most 64-bit ARMv8 and some of the ARMv7 (and older) instructions.
|
||||
* The GPU emulator emulates the Switch's Maxwell GPU using either the OpenGL (version 4.5 minimum), Vulkan, or Metal (via MoltenVK) APIs through a custom build of OpenTK or Silk.NET respectively.
|
||||
* Audio output is entirely supported via C# wrappers for SDL2, with OpenAL & libsoundio as fallbacks.
|
||||
|
||||
Getting Started
|
||||
===============
|
||||
|
||||
- [Installing the .NET SDK](https://dotnet.microsoft.com/download)
|
||||
- [Official .NET Docs](https://docs.microsoft.com/dotnet/core/)
|
||||
|
||||
Contributing (Building, testing, benchmarking, profiling, etc.)
|
||||
===============
|
||||
|
||||
If you want to contribute a code change to this repo, start here.
|
||||
|
||||
- [Contributor Guide](../CONTRIBUTING.md)
|
||||
|
||||
Coding Guidelines
|
||||
=================
|
||||
|
||||
- [C# coding style](coding-guidelines/coding-style.md)
|
||||
- [Service Implementation Guidelines - WIP](https://gist.github.com/gdkchan/84ba88cd50efbe58d1babfaa7cd7c455)
|
||||
|
||||
Project Docs
|
||||
=================
|
||||
|
||||
To be added. Many project files will contain basic XML docs for key functions and classes in the meantime.
|
||||
|
||||
Other Information
|
||||
=================
|
||||
|
||||
- N/A
|
116
docs/coding-guidelines/coding-style.md
Normal file
116
docs/coding-guidelines/coding-style.md
Normal file
|
@ -0,0 +1,116 @@
|
|||
# C# Coding Style
|
||||
|
||||
The general rule we follow is "use Visual Studio defaults".
|
||||
Using an IDE that supports the `.editorconfig` standard will make this much simpler.
|
||||
|
||||
1. We use [Allman style](http://en.wikipedia.org/wiki/Indent_style#Allman_style) braces, where each brace begins on a new line. A single line statement block can go without braces but the block must be properly indented on its own line and must not be nested in other statement blocks that use braces (See rule 18 for more details). One exception is that a `using` statement is permitted to be nested within another `using` statement by starting on the following line at the same indentation level, even if the nested `using` contains a controlled block.
|
||||
2. We use four spaces of indentation (no tabs).
|
||||
3. We use `_camelCase` for internal and private fields and use `readonly` where possible. Prefix internal and private instance fields with `_`, static fields with `s_` and thread static fields with `t_`. When used on static fields, `readonly` should come after `static` (e.g. `static readonly` not `readonly static`). Public fields should be used sparingly and should use PascalCasing with no prefix when used.
|
||||
4. We avoid `this.` unless absolutely necessary.
|
||||
5. We always specify the visibility, even if it's the default (e.g.
|
||||
`private string _foo` not `string _foo`). Visibility should be the first modifier (e.g.
|
||||
`public abstract` not `abstract public`).
|
||||
6. Namespace imports should be specified at the top of the file, *outside* of `namespace` declarations.
|
||||
7. Avoid more than one empty line at any time. For example, do not have two
|
||||
blank lines between members of a type.
|
||||
8. Avoid spurious free spaces.
|
||||
For example avoid `if (someVar == 0)...`, where the dots mark the spurious free spaces.
|
||||
Consider enabling "View White Space (Ctrl+R, Ctrl+W)" or "Edit -> Advanced -> View White Space" if using Visual Studio to aid detection.
|
||||
9. If a file happens to differ in style from these guidelines (e.g. private members are named `m_member`
|
||||
rather than `_member`), the existing style in that file takes precedence.
|
||||
10. We only use `var` when the type is explicitly named on the right-hand side, typically due to either `new` or an explicit cast, e.g. `var stream = new FileStream(...)` not `var stream = OpenStandardInput()`.
|
||||
- Similarly, target-typed `new()` can only be used when the type is explicitly named on the left-hand side, in a variable definition statement or a field definition statement. e.g. `FileStream stream = new(...);`, but not `stream = new(...);` (where the type was specified on a previous line).
|
||||
11. We use language keywords instead of BCL types (e.g. `int, string, float` instead of `Int32, String, Single`, etc) for both type references as well as method calls (e.g. `int.Parse` instead of `Int32.Parse`). See issue [#13976](https://github.com/dotnet/runtime/issues/13976) for examples.
|
||||
12. We use PascalCasing to name all our constant local variables and fields. The only exception is for interop code where the constant value should exactly match the name and value of the code you are calling via interop.
|
||||
13. We use PascalCasing for all method names, including local functions.
|
||||
14. We use ```nameof(...)``` instead of ```"..."``` whenever possible and relevant.
|
||||
15. Fields should be specified at the top within type declarations.
|
||||
16. When including non-ASCII characters in the source code use Unicode escape sequences (\uXXXX) instead of literal characters. Literal non-ASCII characters occasionally get garbled by a tool or editor.
|
||||
17. When using labels (for goto), indent the label one less than the current indentation.
|
||||
18. When using a single-statement if, we follow these conventions:
|
||||
- Never use single-line form (for example: `if (source == null) throw new ArgumentNullException("source");`)
|
||||
- Using braces is always accepted, and required if any block of an `if`/`else if`/.../`else` compound statement uses braces or if a single statement body spans multiple lines.
|
||||
- Braces may be omitted only if the body of *every* block associated with an `if`/`else if`/.../`else` compound statement is placed on a single line.
|
||||
19. Make all internal and private types static or sealed unless derivation from them is required. As with any implementation detail, they can be changed if/when derivation is required in the future.
|
||||
20. XML docs should be used when writing interfaces or when a class/method is deemed sufficient in scope or complexity.
|
||||
21. So-called [Magic Numbers](https://en.wikipedia.org/wiki/Magic_number_(programming)) should be defined as named constants before use (for example `for (int i = 56; i < 68; i++)` could read `for (int i = _currentAge; i < _retireAge; i++)`).
|
||||
This may be ignored for trivial or syntactically common statements.
|
||||
|
||||
An [EditorConfig](https://editorconfig.org "EditorConfig homepage") file (`.editorconfig`) has been provided at the root of the runtime repository, enabling C# auto-formatting conforming to the above guidelines.
|
||||
|
||||
### Example File:
|
||||
|
||||
``ShaderCache.cs:``
|
||||
|
||||
```C#
|
||||
using Ryujinx.Common.Configuration;
|
||||
using Ryujinx.Common.Logging;
|
||||
using Ryujinx.Graphics.GAL;
|
||||
using Ryujinx.Graphics.Gpu.Engine.Threed;
|
||||
using Ryujinx.Graphics.Gpu.Engine.Types;
|
||||
using Ryujinx.Graphics.Gpu.Image;
|
||||
using Ryujinx.Graphics.Gpu.Memory;
|
||||
using Ryujinx.Graphics.Gpu.Shader.DiskCache;
|
||||
using Ryujinx.Graphics.Shader;
|
||||
using Ryujinx.Graphics.Shader.Translation;
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.IO;
|
||||
using System.Threading;
|
||||
|
||||
namespace Ryujinx.Graphics.Gpu.Shader
|
||||
{
|
||||
/// <summary>
|
||||
/// Memory cache of shader code.
|
||||
/// </summary>
|
||||
class ShaderCache : IDisposable
|
||||
{
|
||||
/// <summary>
|
||||
/// Default flags used on the shader translation process.
|
||||
/// </summary>
|
||||
public const TranslationFlags DefaultFlags = TranslationFlags.DebugMode;
|
||||
|
||||
private readonly struct TranslatedShader
|
||||
{
|
||||
public readonly CachedShaderStage Shader;
|
||||
public readonly ShaderProgram Program;
|
||||
|
||||
public TranslatedShader(CachedShaderStage shader, ShaderProgram program)
|
||||
{
|
||||
Shader = shader;
|
||||
Program = program;
|
||||
}
|
||||
}
|
||||
...
|
||||
|
||||
/// <summary>
|
||||
/// Processes the queue of shaders that must save their binaries to the disk cache.
|
||||
/// </summary>
|
||||
public void ProcessShaderCacheQueue()
|
||||
{
|
||||
// Check to see if the binaries for previously compiled shaders are ready, and save them out.
|
||||
|
||||
while (_programsToSaveQueue.TryPeek(out ProgramToSave programToSave))
|
||||
{
|
||||
ProgramLinkStatus result = programToSave.HostProgram.CheckProgramLink(false);
|
||||
|
||||
if (result != ProgramLinkStatus.Incomplete)
|
||||
{
|
||||
if (result == ProgramLinkStatus.Success)
|
||||
{
|
||||
_cacheWriter.AddShader(programToSave.CachedProgram, programToSave.BinaryCode ?? programToSave.HostProgram.GetBinary());
|
||||
}
|
||||
|
||||
_programsToSaveQueue.Dequeue();
|
||||
}
|
||||
else
|
||||
{
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
```
|
||||
|
||||
For other languages, our current best guidance is consistency. When editing files, keep new code and changes consistent with the style in the files. For new files, it should conform to the style for that component. If there is a completely new component, anything that is reasonably broadly accepted is fine.
|
56
docs/workflow/pr-guide.md
Normal file
56
docs/workflow/pr-guide.md
Normal file
|
@ -0,0 +1,56 @@
|
|||
# Pull Request Guide
|
||||
|
||||
## Contributing Rules
|
||||
|
||||
All contributions to Ryujinx/Ryujinx repository are made via pull requests (PRs) rather than through direct commits. The pull requests are reviewed and merged by the maintainers after a review and at least two approvals from the core development team.
|
||||
|
||||
To merge pull requests, you must have write permissions in the repository.
|
||||
|
||||
## Quick Code Review Rules
|
||||
|
||||
* Do not mix unrelated changes in one pull request. For example, a code style change should never be mixed with a bug fix.
|
||||
* All changes should follow the existing code style. You can read more about our code style at [docs/coding-guidelines](../coding-guidelines/coding-style.md).
|
||||
* Adding external dependencies is to be avoided unless not doing so would introduce _significant_ complexity. Any dependency addition should be justified and discussed before merge.
|
||||
* Use Draft pull requests for changes you are still working on but want early CI loop feedback. When you think your changes are ready for review, [change the status](https://help.github.com/en/github/collaborating-with-issues-and-pull-requests/changing-the-stage-of-a-pull-request) of your pull request.
|
||||
* Rebase your changes when required or directly requested. Changes should always be commited on top of the upstream branch, not the other way around.
|
||||
* If you are asked to make changes during the review process do them as a new commit.
|
||||
* Only resolve GitHub conversations with reviewers once they have been addressed with a commit, or via a mutual agreement.
|
||||
|
||||
## Pull Request Ownership
|
||||
|
||||
Every pull request will have automatically have labels and reviewers assigned. The label not only indicates the code segment which the change touches but also the area reviewers to be assigned.
|
||||
|
||||
If during the code review process a merge conflict occurs, the PR author is responsible for its resolution. Help will be provided if necessary although GitHub makes this easier by allowing simple conflict resolution using the [conflict-editor](https://help.github.com/en/github/collaborating-with-issues-and-pull-requests/resolving-a-merge-conflict-on-github).
|
||||
|
||||
## Pull Request Builds
|
||||
|
||||
When submitting a PR to the `Ryujinx/Ryujinx` repository, various builds will run validating many areas to ensure we keep developer productivity and product quality high. These various workflows can be tracked in the [Actions](https://github.com/Ryujinx/Ryujinx/actions) tab of the repository. If the job continues to completion, the build artifacts will be uploaded and posted as a comment in the PR discussion.
|
||||
|
||||
## Review Turnaround Times
|
||||
|
||||
Ryujinx is a project that is maintained by volunteers on a completely free-time basis. As such we cannot guarantee any particular timeframe for pull request review and approval. Weeks to months are common for larger (>500 line) PRs but there are some additional best practises to avoid review purgatory.
|
||||
|
||||
* Make the reviewers life easier wherever possible. Make use of descriptive commit names, code comments and XML docs where applicable.
|
||||
* If there is disagreement on feedback then always lean on the side of the development team and community over any personal opinion.
|
||||
* We're human. We miss things. We forget things. If there has been radio silence on your changes for a substantial period of time then do not hesitate to reach out directly either with something simple like "bump" on GitHub or a directly on Discord.
|
||||
|
||||
To re-iterate, make the review as easy for us as possible, respond promptly and be comfortable to interact directly with us for anything else.
|
||||
|
||||
## Merging Pull Requests
|
||||
|
||||
Anyone with write access can merge a pull request manually when the following conditions have been met:
|
||||
|
||||
* The PR has been approved by two reviewers and any other objections are addressed.
|
||||
* You can request follow up reviews from the original reviewers if they requested changes.
|
||||
* The PR successfully builds and passes all tests in the Continuous Integration (CI) system. In case of failures, refer to the [Actions](https://github.com/Ryujinx/Ryujinx/actions) tab of your PR.
|
||||
|
||||
Typically, PRs are merged as one commit (squash merges). It creates a simpler history than a Merge Commit. "Special circumstances" are rare, and typically mean that there are a series of cleanly separated changes that will be too hard to understand if squashed together, or for some reason we want to preserve the ability to dissect them.
|
||||
|
||||
## Blocking Pull Request Merging
|
||||
|
||||
If for whatever reason you would like to move your pull request back to an in-progress status to avoid merging it in the current form, you can turn the PR into a draft PR by selecting the option under the reviewers section. Alternatively, you can do that by adding [WIP] prefix to the pull request title.
|
||||
|
||||
## Old Pull Request Policy
|
||||
|
||||
From time to time we will review older PRs and check them for relevance. If we find the PR is inactive or no longer applies, we will close it. As the PR owner, you can simply reopen it if you feel your closed PR needs our attention.
|
||||
|
|
@ -1,6 +1,7 @@
|
|||
using System.Collections.Concurrent;
|
||||
using System.Collections.Generic;
|
||||
using System.Diagnostics;
|
||||
using System.Text;
|
||||
|
||||
namespace ARMeilleure.Diagnostics
|
||||
{
|
||||
|
@ -33,7 +34,6 @@ namespace ARMeilleure.Diagnostics
|
|||
|
||||
public static string Get(ulong address)
|
||||
{
|
||||
|
||||
if (_symbols.TryGetValue(address, out string result))
|
||||
{
|
||||
return result;
|
||||
|
@ -48,13 +48,15 @@ namespace ARMeilleure.Diagnostics
|
|||
ulong diff = address - symbol.Start;
|
||||
ulong rem = diff % symbol.ElementSize;
|
||||
|
||||
result = symbol.Name + "_" + diff / symbol.ElementSize;
|
||||
StringBuilder resultBuilder = new();
|
||||
resultBuilder.Append($"{symbol.Name}_{diff / symbol.ElementSize}");
|
||||
|
||||
if (rem != 0)
|
||||
{
|
||||
result += "+" + rem;
|
||||
resultBuilder.Append($"+{rem}");
|
||||
}
|
||||
|
||||
result = resultBuilder.ToString();
|
||||
_symbols.TryAdd(address, result);
|
||||
|
||||
return result;
|
||||
|
|
|
@ -32,7 +32,7 @@ namespace ARMeilleure.Instructions
|
|||
15L << 56 | 14L << 48 | 13L << 40 | 12L << 32 | 07L << 24 | 06L << 16 | 05L << 8 | 04L << 0, // S
|
||||
};
|
||||
|
||||
public static readonly long ZeroMask = 128L << 56 | 128L << 48 | 128L << 40 | 128L << 32 | 128L << 24 | 128L << 16 | 128L << 8 | 128L << 0;
|
||||
public const long ZeroMask = 128L << 56 | 128L << 48 | 128L << 40 | 128L << 32 | 128L << 24 | 128L << 16 | 128L << 8 | 128L << 0;
|
||||
|
||||
public static ulong X86GetGf2p8LogicalShiftLeft(int shift)
|
||||
{
|
||||
|
|
|
@ -189,7 +189,7 @@ namespace ARMeilleure.Translation
|
|||
{
|
||||
if (start.CompareTo(node.End) < 0)
|
||||
{
|
||||
if (overlaps.Length >= overlapCount)
|
||||
if (overlaps.Length <= overlapCount)
|
||||
{
|
||||
Array.Resize(ref overlaps, overlapCount + ArrayGrowthSize);
|
||||
}
|
||||
|
|
|
@ -29,7 +29,7 @@ namespace ARMeilleure.Translation.PTC
|
|||
private const string OuterHeaderMagicString = "PTCohd\0\0";
|
||||
private const string InnerHeaderMagicString = "PTCihd\0\0";
|
||||
|
||||
private const uint InternalVersion = 5502; //! To be incremented manually for each change to the ARMeilleure project.
|
||||
private const uint InternalVersion = 5518; //! To be incremented manually for each change to the ARMeilleure project.
|
||||
|
||||
private const string ActualDir = "0";
|
||||
private const string BackupDir = "1";
|
||||
|
|
|
@ -27,6 +27,26 @@ namespace ARMeilleure.Translation.PTC
|
|||
return dictionary;
|
||||
}
|
||||
|
||||
[MethodImpl(MethodImplOptions.AggressiveInlining)]
|
||||
public static Dictionary<TKey, TValue> DeserializeAndUpdateDictionary<TKey, TValue>(Stream stream, Func<Stream, TValue> valueFunc, Func<TKey, TValue, (TKey, TValue)> updateFunc) where TKey : struct
|
||||
{
|
||||
Dictionary<TKey, TValue> dictionary = new();
|
||||
|
||||
int count = DeserializeStructure<int>(stream);
|
||||
|
||||
for (int i = 0; i < count; i++)
|
||||
{
|
||||
TKey key = DeserializeStructure<TKey>(stream);
|
||||
TValue value = valueFunc(stream);
|
||||
|
||||
(key, value) = updateFunc(key, value);
|
||||
|
||||
dictionary.Add(key, value);
|
||||
}
|
||||
|
||||
return dictionary;
|
||||
}
|
||||
|
||||
[MethodImpl(MethodImplOptions.AggressiveInlining)]
|
||||
public static List<T> DeserializeList<T>(Stream stream) where T : struct
|
||||
{
|
||||
|
|
|
@ -9,10 +9,13 @@ using System.Collections.Generic;
|
|||
using System.Diagnostics;
|
||||
using System.IO;
|
||||
using System.IO.Compression;
|
||||
using System.Linq;
|
||||
using System.Runtime.CompilerServices;
|
||||
using System.Runtime.InteropServices;
|
||||
using System.Threading;
|
||||
using System.Timers;
|
||||
using static ARMeilleure.Translation.PTC.PtcFormatter;
|
||||
using Timer = System.Timers.Timer;
|
||||
|
||||
namespace ARMeilleure.Translation.PTC
|
||||
{
|
||||
|
@ -20,7 +23,11 @@ namespace ARMeilleure.Translation.PTC
|
|||
{
|
||||
private const string OuterHeaderMagicString = "Pohd\0\0\0\0";
|
||||
|
||||
private const uint InternalVersion = 1866; //! Not to be incremented manually for each change to the ARMeilleure project.
|
||||
private const uint InternalVersion = 5518; //! Not to be incremented manually for each change to the ARMeilleure project.
|
||||
|
||||
private static readonly uint[] _migrateInternalVersions = {
|
||||
1866,
|
||||
};
|
||||
|
||||
private const int SaveInterval = 30; // Seconds.
|
||||
|
||||
|
@ -28,7 +35,7 @@ namespace ARMeilleure.Translation.PTC
|
|||
|
||||
private readonly Ptc _ptc;
|
||||
|
||||
private readonly System.Timers.Timer _timer;
|
||||
private readonly Timer _timer;
|
||||
|
||||
private readonly ulong _outerHeaderMagic;
|
||||
|
||||
|
@ -51,7 +58,7 @@ namespace ARMeilleure.Translation.PTC
|
|||
{
|
||||
_ptc = ptc;
|
||||
|
||||
_timer = new System.Timers.Timer((double)SaveInterval * 1000d);
|
||||
_timer = new Timer(SaveInterval * 1000d);
|
||||
_timer.Elapsed += PreSave;
|
||||
|
||||
_outerHeaderMagic = BinaryPrimitives.ReadUInt64LittleEndian(EncodingCache.UTF8NoBOM.GetBytes(OuterHeaderMagicString).AsSpan());
|
||||
|
@ -168,7 +175,7 @@ namespace ARMeilleure.Translation.PTC
|
|||
return false;
|
||||
}
|
||||
|
||||
if (outerHeader.InfoFileVersion != InternalVersion)
|
||||
if (outerHeader.InfoFileVersion != InternalVersion && !_migrateInternalVersions.Contains(outerHeader.InfoFileVersion))
|
||||
{
|
||||
InvalidateCompressedStream(compressedStream);
|
||||
|
||||
|
@ -211,7 +218,19 @@ namespace ARMeilleure.Translation.PTC
|
|||
return false;
|
||||
}
|
||||
|
||||
switch (outerHeader.InfoFileVersion)
|
||||
{
|
||||
case InternalVersion:
|
||||
ProfiledFuncs = Deserialize(stream);
|
||||
break;
|
||||
case 1866:
|
||||
ProfiledFuncs = Deserialize(stream, (address, profile) => (address + 0x500000UL, profile));
|
||||
break;
|
||||
default:
|
||||
Logger.Error?.Print(LogClass.Ptc, $"No migration path for {nameof(outerHeader.InfoFileVersion)} '{outerHeader.InfoFileVersion}'. Discarding cache.");
|
||||
InvalidateCompressedStream(compressedStream);
|
||||
return false;
|
||||
}
|
||||
|
||||
Debug.Assert(stream.Position == stream.Length);
|
||||
|
||||
|
@ -225,9 +244,14 @@ namespace ARMeilleure.Translation.PTC
|
|||
return true;
|
||||
}
|
||||
|
||||
private static Dictionary<ulong, FuncProfile> Deserialize(Stream stream)
|
||||
private static Dictionary<ulong, FuncProfile> Deserialize(Stream stream, Func<ulong, FuncProfile, (ulong, FuncProfile)> migrateEntryFunc = null)
|
||||
{
|
||||
return DeserializeDictionary<ulong, FuncProfile>(stream, (stream) => DeserializeStructure<FuncProfile>(stream));
|
||||
if (migrateEntryFunc != null)
|
||||
{
|
||||
return DeserializeAndUpdateDictionary(stream, DeserializeStructure<FuncProfile>, migrateEntryFunc);
|
||||
}
|
||||
|
||||
return DeserializeDictionary<ulong, FuncProfile>(stream, DeserializeStructure<FuncProfile>);
|
||||
}
|
||||
|
||||
private static ReadOnlySpan<byte> GetReadOnlySpan(MemoryStream memoryStream)
|
||||
|
@ -240,7 +264,7 @@ namespace ARMeilleure.Translation.PTC
|
|||
compressedStream.SetLength(0L);
|
||||
}
|
||||
|
||||
private void PreSave(object source, System.Timers.ElapsedEventArgs e)
|
||||
private void PreSave(object source, ElapsedEventArgs e)
|
||||
{
|
||||
_waitEvent.Reset();
|
||||
|
||||
|
@ -277,7 +301,7 @@ namespace ARMeilleure.Translation.PTC
|
|||
{
|
||||
Debug.Assert(stream.Seek(0L, SeekOrigin.Begin) == 0L && stream.Length == 0L);
|
||||
|
||||
stream.Seek((long)Unsafe.SizeOf<Hash128>(), SeekOrigin.Begin);
|
||||
stream.Seek(Unsafe.SizeOf<Hash128>(), SeekOrigin.Begin);
|
||||
|
||||
lock (_lock)
|
||||
{
|
||||
|
@ -288,7 +312,7 @@ namespace ARMeilleure.Translation.PTC
|
|||
|
||||
Debug.Assert(stream.Position == stream.Length);
|
||||
|
||||
stream.Seek((long)Unsafe.SizeOf<Hash128>(), SeekOrigin.Begin);
|
||||
stream.Seek(Unsafe.SizeOf<Hash128>(), SeekOrigin.Begin);
|
||||
Hash128 hash = XXHash128.ComputeHash(GetReadOnlySpan(stream));
|
||||
|
||||
stream.Seek(0L, SeekOrigin.Begin);
|
||||
|
@ -332,7 +356,7 @@ namespace ARMeilleure.Translation.PTC
|
|||
|
||||
private static void Serialize(Stream stream, Dictionary<ulong, FuncProfile> profiledFuncs)
|
||||
{
|
||||
SerializeDictionary(stream, profiledFuncs, (stream, structure) => SerializeStructure(stream, structure));
|
||||
SerializeDictionary(stream, profiledFuncs, SerializeStructure);
|
||||
}
|
||||
|
||||
[StructLayout(LayoutKind.Sequential, Pack = 1/*, Size = 29*/)]
|
||||
|
|
|
@ -7,14 +7,14 @@ namespace ARMeilleure.Translation
|
|||
internal class TranslatorCache<T>
|
||||
{
|
||||
private readonly IntervalTree<ulong, T> _tree;
|
||||
private readonly ReaderWriterLock _treeLock;
|
||||
private readonly ReaderWriterLockSlim _treeLock;
|
||||
|
||||
public int Count => _tree.Count;
|
||||
|
||||
public TranslatorCache()
|
||||
{
|
||||
_tree = new IntervalTree<ulong, T>();
|
||||
_treeLock = new ReaderWriterLock();
|
||||
_treeLock = new ReaderWriterLockSlim();
|
||||
}
|
||||
|
||||
public bool TryAdd(ulong address, ulong size, T value)
|
||||
|
@ -24,70 +24,70 @@ namespace ARMeilleure.Translation
|
|||
|
||||
public bool AddOrUpdate(ulong address, ulong size, T value, Func<ulong, T, T> updateFactoryCallback)
|
||||
{
|
||||
_treeLock.AcquireWriterLock(Timeout.Infinite);
|
||||
_treeLock.EnterWriteLock();
|
||||
bool result = _tree.AddOrUpdate(address, address + size, value, updateFactoryCallback);
|
||||
_treeLock.ReleaseWriterLock();
|
||||
_treeLock.ExitWriteLock();
|
||||
|
||||
return result;
|
||||
}
|
||||
|
||||
public T GetOrAdd(ulong address, ulong size, T value)
|
||||
{
|
||||
_treeLock.AcquireWriterLock(Timeout.Infinite);
|
||||
_treeLock.EnterWriteLock();
|
||||
value = _tree.GetOrAdd(address, address + size, value);
|
||||
_treeLock.ReleaseWriterLock();
|
||||
_treeLock.ExitWriteLock();
|
||||
|
||||
return value;
|
||||
}
|
||||
|
||||
public bool Remove(ulong address)
|
||||
{
|
||||
_treeLock.AcquireWriterLock(Timeout.Infinite);
|
||||
_treeLock.EnterWriteLock();
|
||||
bool removed = _tree.Remove(address) != 0;
|
||||
_treeLock.ReleaseWriterLock();
|
||||
_treeLock.ExitWriteLock();
|
||||
|
||||
return removed;
|
||||
}
|
||||
|
||||
public void Clear()
|
||||
{
|
||||
_treeLock.AcquireWriterLock(Timeout.Infinite);
|
||||
_treeLock.EnterWriteLock();
|
||||
_tree.Clear();
|
||||
_treeLock.ReleaseWriterLock();
|
||||
_treeLock.ExitWriteLock();
|
||||
}
|
||||
|
||||
public bool ContainsKey(ulong address)
|
||||
{
|
||||
_treeLock.AcquireReaderLock(Timeout.Infinite);
|
||||
_treeLock.EnterReadLock();
|
||||
bool result = _tree.ContainsKey(address);
|
||||
_treeLock.ReleaseReaderLock();
|
||||
_treeLock.ExitReadLock();
|
||||
|
||||
return result;
|
||||
}
|
||||
|
||||
public bool TryGetValue(ulong address, out T value)
|
||||
{
|
||||
_treeLock.AcquireReaderLock(Timeout.Infinite);
|
||||
_treeLock.EnterReadLock();
|
||||
bool result = _tree.TryGet(address, out value);
|
||||
_treeLock.ReleaseReaderLock();
|
||||
_treeLock.ExitReadLock();
|
||||
|
||||
return result;
|
||||
}
|
||||
|
||||
public int GetOverlaps(ulong address, ulong size, ref ulong[] overlaps)
|
||||
{
|
||||
_treeLock.AcquireReaderLock(Timeout.Infinite);
|
||||
_treeLock.EnterReadLock();
|
||||
int count = _tree.Get(address, address + size, ref overlaps);
|
||||
_treeLock.ReleaseReaderLock();
|
||||
_treeLock.ExitReadLock();
|
||||
|
||||
return count;
|
||||
}
|
||||
|
||||
public List<T> AsList()
|
||||
{
|
||||
_treeLock.AcquireReaderLock(Timeout.Infinite);
|
||||
_treeLock.EnterReadLock();
|
||||
List<T> list = _tree.AsList();
|
||||
_treeLock.ReleaseReaderLock();
|
||||
_treeLock.ExitReadLock();
|
||||
|
||||
return list;
|
||||
}
|
||||
|
|
|
@ -31,9 +31,18 @@ namespace Ryujinx.Audio.Renderer.Dsp.Command
|
|||
|
||||
public bool IsEffectEnabled { get; }
|
||||
|
||||
public AuxiliaryBufferCommand(uint bufferOffset, byte inputBufferOffset, byte outputBufferOffset,
|
||||
ref AuxiliaryBufferAddresses sendBufferInfo, bool isEnabled, uint countMax,
|
||||
CpuAddress outputBuffer, CpuAddress inputBuffer, uint updateCount, uint writeOffset, int nodeId)
|
||||
public AuxiliaryBufferCommand(
|
||||
uint bufferOffset,
|
||||
byte inputBufferOffset,
|
||||
byte outputBufferOffset,
|
||||
ref AuxiliaryBufferAddresses sendBufferInfo,
|
||||
bool isEnabled,
|
||||
uint countMax,
|
||||
CpuAddress outputBuffer,
|
||||
CpuAddress inputBuffer,
|
||||
uint updateCount,
|
||||
uint writeOffset,
|
||||
int nodeId)
|
||||
{
|
||||
Enabled = true;
|
||||
NodeId = nodeId;
|
||||
|
|
|
@ -21,7 +21,14 @@ namespace Ryujinx.Audio.Renderer.Dsp.Command
|
|||
|
||||
private BiquadFilterParameter _parameter;
|
||||
|
||||
public BiquadFilterCommand(int baseIndex, ref BiquadFilterParameter filter, Memory<BiquadFilterState> biquadFilterStateMemory, int inputBufferOffset, int outputBufferOffset, bool needInitialization, int nodeId)
|
||||
public BiquadFilterCommand(
|
||||
int baseIndex,
|
||||
ref BiquadFilterParameter filter,
|
||||
Memory<BiquadFilterState> biquadFilterStateMemory,
|
||||
int inputBufferOffset,
|
||||
int outputBufferOffset,
|
||||
bool needInitialization,
|
||||
int nodeId)
|
||||
{
|
||||
_parameter = filter;
|
||||
BiquadFilterState = biquadFilterStateMemory;
|
||||
|
|
|
@ -77,7 +77,7 @@ namespace Ryujinx.Audio.Renderer.Dsp.Command
|
|||
[MethodImpl(MethodImplOptions.AggressiveInlining)]
|
||||
public unsafe void ClearBuffer(int index)
|
||||
{
|
||||
Unsafe.InitBlock((void*)GetBufferPointer(index), 0, SampleCount);
|
||||
Unsafe.InitBlock((void*)GetBufferPointer(index), 0, SampleCount * sizeof(float));
|
||||
}
|
||||
|
||||
[MethodImpl(MethodImplOptions.AggressiveInlining)]
|
||||
|
@ -89,7 +89,7 @@ namespace Ryujinx.Audio.Renderer.Dsp.Command
|
|||
[MethodImpl(MethodImplOptions.AggressiveInlining)]
|
||||
public unsafe void CopyBuffer(int outputBufferIndex, int inputBufferIndex)
|
||||
{
|
||||
Unsafe.CopyBlock((void*)GetBufferPointer(outputBufferIndex), (void*)GetBufferPointer(inputBufferIndex), SampleCount);
|
||||
Unsafe.CopyBlock((void*)GetBufferPointer(outputBufferIndex), (void*)GetBufferPointer(inputBufferIndex), SampleCount * sizeof(float));
|
||||
}
|
||||
|
||||
[MethodImpl(MethodImplOptions.AggressiveInlining)]
|
||||
|
|
|
@ -94,18 +94,18 @@ namespace Ryujinx.Audio.Renderer.Dsp.Command
|
|||
|
||||
float newMean = inputMovingAverage.Update(FloatingPointHelper.MeanSquare(channelInput), _parameter.InputGain);
|
||||
float y = FloatingPointHelper.Log10(newMean) * 10.0f;
|
||||
float z = 0.0f;
|
||||
float z = 1.0f;
|
||||
|
||||
bool unknown10OutOfRange = false;
|
||||
bool unknown10OutOfRange = y >= state.Unknown10;
|
||||
|
||||
if (newMean < 1.0e-10f)
|
||||
{
|
||||
z = 1.0f;
|
||||
y = -100.0f;
|
||||
|
||||
unknown10OutOfRange = state.Unknown10 < -100.0f;
|
||||
unknown10OutOfRange = state.Unknown10 <= -100.0f;
|
||||
}
|
||||
|
||||
if (y >= state.Unknown10 || unknown10OutOfRange)
|
||||
if (unknown10OutOfRange)
|
||||
{
|
||||
float tmpGain;
|
||||
|
||||
|
@ -118,7 +118,7 @@ namespace Ryujinx.Audio.Renderer.Dsp.Command
|
|||
tmpGain = (y - state.Unknown10) * ((y - state.Unknown10) * -state.CompressorGainReduction);
|
||||
}
|
||||
|
||||
z = FloatingPointHelper.DecibelToLinearExtended(tmpGain);
|
||||
z = FloatingPointHelper.DecibelToLinear(tmpGain);
|
||||
}
|
||||
|
||||
float unknown4New = z;
|
||||
|
|
|
@ -28,7 +28,14 @@ namespace Ryujinx.Audio.Renderer.Dsp.Command
|
|||
|
||||
private LimiterParameter _parameter;
|
||||
|
||||
public LimiterCommandVersion2(uint bufferOffset, LimiterParameter parameter, Memory<LimiterState> state, Memory<EffectResultState> resultState, bool isEnabled, ulong workBuffer, int nodeId)
|
||||
public LimiterCommandVersion2(
|
||||
uint bufferOffset,
|
||||
LimiterParameter parameter,
|
||||
Memory<LimiterState> state,
|
||||
Memory<EffectResultState> resultState,
|
||||
bool isEnabled,
|
||||
ulong workBuffer,
|
||||
int nodeId)
|
||||
{
|
||||
Enabled = true;
|
||||
NodeId = nodeId;
|
||||
|
|
|
@ -79,7 +79,8 @@ namespace Ryujinx.Audio.Renderer.Dsp.Command
|
|||
[MethodImpl(MethodImplOptions.AggressiveInlining)]
|
||||
private void ProcessReverbMono(ref ReverbState state, ReadOnlySpan<IntPtr> outputBuffers, ReadOnlySpan<IntPtr> inputBuffers, uint sampleCount)
|
||||
{
|
||||
ProcessReverbGeneric(ref state,
|
||||
ProcessReverbGeneric(
|
||||
ref state,
|
||||
outputBuffers,
|
||||
inputBuffers,
|
||||
sampleCount,
|
||||
|
@ -92,7 +93,8 @@ namespace Ryujinx.Audio.Renderer.Dsp.Command
|
|||
[MethodImpl(MethodImplOptions.AggressiveInlining)]
|
||||
private void ProcessReverbStereo(ref ReverbState state, ReadOnlySpan<IntPtr> outputBuffers, ReadOnlySpan<IntPtr> inputBuffers, uint sampleCount)
|
||||
{
|
||||
ProcessReverbGeneric(ref state,
|
||||
ProcessReverbGeneric(
|
||||
ref state,
|
||||
outputBuffers,
|
||||
inputBuffers,
|
||||
sampleCount,
|
||||
|
@ -105,7 +107,8 @@ namespace Ryujinx.Audio.Renderer.Dsp.Command
|
|||
[MethodImpl(MethodImplOptions.AggressiveInlining)]
|
||||
private void ProcessReverbQuadraphonic(ref ReverbState state, ReadOnlySpan<IntPtr> outputBuffers, ReadOnlySpan<IntPtr> inputBuffers, uint sampleCount)
|
||||
{
|
||||
ProcessReverbGeneric(ref state,
|
||||
ProcessReverbGeneric(
|
||||
ref state,
|
||||
outputBuffers,
|
||||
inputBuffers,
|
||||
sampleCount,
|
||||
|
@ -118,7 +121,8 @@ namespace Ryujinx.Audio.Renderer.Dsp.Command
|
|||
[MethodImpl(MethodImplOptions.AggressiveInlining)]
|
||||
private void ProcessReverbSurround(ref ReverbState state, ReadOnlySpan<IntPtr> outputBuffers, ReadOnlySpan<IntPtr> inputBuffers, uint sampleCount)
|
||||
{
|
||||
ProcessReverbGeneric(ref state,
|
||||
ProcessReverbGeneric(
|
||||
ref state,
|
||||
outputBuffers,
|
||||
inputBuffers,
|
||||
sampleCount,
|
||||
|
|
|
@ -52,7 +52,7 @@ namespace Ryujinx.Audio.Renderer.Dsp
|
|||
{
|
||||
// NOTE: Nintendo uses an approximation of log10, we don't.
|
||||
// As such, we support the same ranges as Nintendo to avoid unexpected behaviours.
|
||||
return MathF.Pow(10, MathF.Max(x, 1.0e-10f));
|
||||
return MathF.Log10(MathF.Max(x, 1.0e-10f));
|
||||
}
|
||||
|
||||
[MethodImpl(MethodImplOptions.AggressiveInlining)]
|
||||
|
@ -62,7 +62,8 @@ namespace Ryujinx.Audio.Renderer.Dsp
|
|||
|
||||
foreach (float input in inputs)
|
||||
{
|
||||
res += (input * input);
|
||||
float normInput = input * (1f / 32768f);
|
||||
res += normInput * normInput;
|
||||
}
|
||||
|
||||
res /= inputs.Length;
|
||||
|
@ -81,19 +82,6 @@ namespace Ryujinx.Audio.Renderer.Dsp
|
|||
return MathF.Pow(10.0f, db / 20.0f);
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Map decibel to linear in [0, 2] range.
|
||||
/// </summary>
|
||||
/// <param name="db">The decibel value to convert</param>
|
||||
/// <returns>Converted linear value in [0, 2] range</returns>
|
||||
[MethodImpl(MethodImplOptions.AggressiveInlining)]
|
||||
public static float DecibelToLinearExtended(float db)
|
||||
{
|
||||
float tmp = MathF.Log2(DecibelToLinear(db));
|
||||
|
||||
return MathF.Truncate(tmp) + MathF.Pow(2.0f, tmp - MathF.Truncate(tmp));
|
||||
}
|
||||
|
||||
[MethodImpl(MethodImplOptions.AggressiveInlining)]
|
||||
public static float DegreesToRadians(float degrees)
|
||||
{
|
||||
|
|
|
@ -20,6 +20,11 @@ namespace Ryujinx.Audio.Renderer.Dsp
|
|||
[MethodImpl(MethodImplOptions.AggressiveInlining)]
|
||||
public static int GetBufferSize<T>(int startSampleOffset, int endSampleOffset, int offset, int count) where T : unmanaged
|
||||
{
|
||||
if (endSampleOffset < startSampleOffset)
|
||||
{
|
||||
return 0;
|
||||
}
|
||||
|
||||
return GetCountToDecode(startSampleOffset, endSampleOffset, offset, count) * Unsafe.SizeOf<T>();
|
||||
}
|
||||
|
||||
|
|
|
@ -3,7 +3,7 @@ using Ryujinx.Audio.Renderer.Parameter.Effect;
|
|||
|
||||
namespace Ryujinx.Audio.Renderer.Dsp.State
|
||||
{
|
||||
public class CompressorState
|
||||
public struct CompressorState
|
||||
{
|
||||
public ExponentialMovingAverage InputMovingAverage;
|
||||
public float Unknown4;
|
||||
|
@ -45,7 +45,7 @@ namespace Ryujinx.Audio.Renderer.Dsp.State
|
|||
CompressorGainReduction = (1.0f - ratio) / Constants.ChannelCountMax;
|
||||
Unknown10 = threshold - 1.5f;
|
||||
Unknown14 = threshold + 1.5f;
|
||||
OutputGain = FloatingPointHelper.DecibelToLinearExtended(parameter.OutputGain + makeupGain);
|
||||
OutputGain = FloatingPointHelper.DecibelToLinear(parameter.OutputGain + makeupGain);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
@ -4,7 +4,7 @@ using System.Runtime.CompilerServices;
|
|||
|
||||
namespace Ryujinx.Audio.Renderer.Dsp.State
|
||||
{
|
||||
public class DelayState
|
||||
public struct DelayState
|
||||
{
|
||||
public DelayLine[] DelayLines { get; }
|
||||
public float[] LowPassZ { get; set; }
|
||||
|
@ -53,7 +53,7 @@ namespace Ryujinx.Audio.Renderer.Dsp.State
|
|||
LowPassBaseGain = 1.0f - LowPassFeedbackGain;
|
||||
}
|
||||
|
||||
public void UpdateLowPassFilter(ref float tempRawRef, uint channelCount)
|
||||
public readonly void UpdateLowPassFilter(ref float tempRawRef, uint channelCount)
|
||||
{
|
||||
for (int i = 0; i < channelCount; i++)
|
||||
{
|
||||
|
|
|
@ -4,7 +4,7 @@ using System;
|
|||
|
||||
namespace Ryujinx.Audio.Renderer.Dsp.State
|
||||
{
|
||||
public class LimiterState
|
||||
public struct LimiterState
|
||||
{
|
||||
public ExponentialMovingAverage[] DetectorAverage;
|
||||
public ExponentialMovingAverage[] CompressionGainAverage;
|
||||
|
|
|
@ -4,7 +4,7 @@ using System;
|
|||
|
||||
namespace Ryujinx.Audio.Renderer.Dsp.State
|
||||
{
|
||||
public class Reverb3dState
|
||||
public struct Reverb3dState
|
||||
{
|
||||
private readonly float[] _fdnDelayMinTimes = new float[4] { 5.0f, 6.0f, 13.0f, 14.0f };
|
||||
private readonly float[] _fdnDelayMaxTimes = new float[4] { 45.704f, 82.782f, 149.94f, 271.58f };
|
||||
|
|
|
@ -5,7 +5,7 @@ using System;
|
|||
|
||||
namespace Ryujinx.Audio.Renderer.Dsp.State
|
||||
{
|
||||
public class ReverbState
|
||||
public struct ReverbState
|
||||
{
|
||||
private static readonly float[] _fdnDelayTimes = new float[20]
|
||||
{
|
||||
|
|
|
@ -264,8 +264,8 @@ namespace Ryujinx.Audio.Renderer.Parameter
|
|||
{
|
||||
uint dataTypeSize = (uint)Unsafe.SizeOf<T>();
|
||||
|
||||
return StartSampleOffset * dataTypeSize <= Size &&
|
||||
EndSampleOffset * dataTypeSize <= Size;
|
||||
return (ulong)StartSampleOffset * dataTypeSize <= Size &&
|
||||
(ulong)EndSampleOffset * dataTypeSize <= Size;
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
|
|
|
@ -3,7 +3,15 @@
|
|||
xmlns="https://github.com/avaloniaui"
|
||||
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
|
||||
xmlns:sty="using:FluentAvalonia.Styling">
|
||||
<Application.Resources>
|
||||
<ResourceDictionary>
|
||||
<ResourceDictionary.MergedDictionaries>
|
||||
<MergeResourceInclude Source="/Assets/Styles/Themes.xaml"/>
|
||||
</ResourceDictionary.MergedDictionaries>
|
||||
</ResourceDictionary>
|
||||
</Application.Resources>
|
||||
<Application.Styles>
|
||||
<sty:FluentAvaloniaTheme PreferSystemTheme="False" />
|
||||
<StyleInclude Source="/Assets/Styles/Styles.xaml"/>
|
||||
</Application.Styles>
|
||||
</Application>
|
|
@ -3,7 +3,6 @@ using Avalonia.Controls.ApplicationLifetimes;
|
|||
using Avalonia.Markup.Xaml;
|
||||
using Avalonia.Styling;
|
||||
using Avalonia.Threading;
|
||||
using FluentAvalonia.Styling;
|
||||
using Ryujinx.Ava.Common.Locale;
|
||||
using Ryujinx.Ava.UI.Helpers;
|
||||
using Ryujinx.Ava.UI.Windows;
|
||||
|
@ -24,6 +23,11 @@ namespace Ryujinx.Ava
|
|||
Name = $"Ryujinx {Program.Version}";
|
||||
|
||||
AvaloniaXamlLoader.Load(this);
|
||||
|
||||
if (OperatingSystem.IsMacOS())
|
||||
{
|
||||
Process.Start("/usr/bin/defaults", "write org.ryujinx.Ryujinx ApplePressAndHoldEnabled -bool false");
|
||||
}
|
||||
}
|
||||
|
||||
public override void OnFrameworkInitializationCompleted()
|
||||
|
@ -89,8 +93,6 @@ namespace Ryujinx.Ava
|
|||
string themePath = ConfigurationState.Instance.Ui.CustomThemePath;
|
||||
bool enableCustomTheme = ConfigurationState.Instance.Ui.EnableCustomTheme;
|
||||
|
||||
const string BaseStyleUrl = "avares://Ryujinx.Ava/Assets/Styles/Base{0}.xaml";
|
||||
|
||||
if (string.IsNullOrWhiteSpace(baseStyle))
|
||||
{
|
||||
ConfigurationState.Instance.Ui.BaseStyle.Value = "Dark";
|
||||
|
@ -98,31 +100,12 @@ namespace Ryujinx.Ava
|
|||
baseStyle = ConfigurationState.Instance.Ui.BaseStyle;
|
||||
}
|
||||
|
||||
var theme = AvaloniaLocator.Current.GetService<FluentAvaloniaTheme>();
|
||||
|
||||
theme.RequestedTheme = baseStyle;
|
||||
|
||||
var currentStyles = this.Styles;
|
||||
|
||||
// Remove all styles except the base style.
|
||||
if (currentStyles.Count > 1)
|
||||
RequestedThemeVariant = baseStyle switch
|
||||
{
|
||||
currentStyles.RemoveRange(1, currentStyles.Count - 1);
|
||||
}
|
||||
|
||||
IStyle newStyles = null;
|
||||
|
||||
// Load requested style, and fallback to Dark theme if loading failed.
|
||||
try
|
||||
{
|
||||
newStyles = (Styles)AvaloniaXamlLoader.Load(new Uri(string.Format(BaseStyleUrl, baseStyle), UriKind.Absolute));
|
||||
}
|
||||
catch (XamlLoadException)
|
||||
{
|
||||
newStyles = (Styles)AvaloniaXamlLoader.Load(new Uri(string.Format(BaseStyleUrl, "Dark"), UriKind.Absolute));
|
||||
}
|
||||
|
||||
currentStyles.Add(newStyles);
|
||||
"Light" => ThemeVariant.Light,
|
||||
"Dark" => ThemeVariant.Dark,
|
||||
_ => ThemeVariant.Default,
|
||||
};
|
||||
|
||||
if (enableCustomTheme)
|
||||
{
|
||||
|
@ -133,7 +116,7 @@ namespace Ryujinx.Ava
|
|||
var themeContent = File.ReadAllText(themePath);
|
||||
var customStyle = AvaloniaRuntimeXamlLoader.Parse<IStyle>(themeContent);
|
||||
|
||||
currentStyles.Add(customStyle);
|
||||
Styles.Add(customStyle);
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
|
|
|
@ -20,6 +20,7 @@ using Ryujinx.Ava.UI.ViewModels;
|
|||
using Ryujinx.Ava.UI.Windows;
|
||||
using Ryujinx.Common;
|
||||
using Ryujinx.Common.Configuration;
|
||||
using Ryujinx.Common.Configuration.Multiplayer;
|
||||
using Ryujinx.Common.Logging;
|
||||
using Ryujinx.Common.SystemInterop;
|
||||
using Ryujinx.Graphics.GAL;
|
||||
|
@ -54,6 +55,7 @@ using static Ryujinx.Ava.UI.Helpers.Win32NativeInterop;
|
|||
using AntiAliasing = Ryujinx.Common.Configuration.AntiAliasing;
|
||||
using Image = SixLabors.ImageSharp.Image;
|
||||
using InputManager = Ryujinx.Input.HLE.InputManager;
|
||||
using IRenderer = Ryujinx.Graphics.GAL.IRenderer;
|
||||
using Key = Ryujinx.Input.Key;
|
||||
using MouseButton = Ryujinx.Input.MouseButton;
|
||||
using ScalingFilter = Ryujinx.Common.Configuration.ScalingFilter;
|
||||
|
@ -167,9 +169,9 @@ namespace Ryujinx.Ava
|
|||
|
||||
ConfigurationState.Instance.HideCursor.Event += HideCursorState_Changed;
|
||||
|
||||
_topLevel.PointerMoved += TopLevel_PointerEnterOrMoved;
|
||||
_topLevel.PointerEnter += TopLevel_PointerEnterOrMoved;
|
||||
_topLevel.PointerLeave += TopLevel_PointerLeave;
|
||||
_topLevel.PointerMoved += TopLevel_PointerEnteredOrMoved;
|
||||
_topLevel.PointerEntered += TopLevel_PointerEnteredOrMoved;
|
||||
_topLevel.PointerExited += TopLevel_PointerExited;
|
||||
|
||||
if (OperatingSystem.IsWindows())
|
||||
{
|
||||
|
@ -186,23 +188,24 @@ namespace Ryujinx.Ava
|
|||
ConfigurationState.Instance.Graphics.AntiAliasing.Event += UpdateAntiAliasing;
|
||||
ConfigurationState.Instance.Graphics.ScalingFilter.Event += UpdateScalingFilter;
|
||||
ConfigurationState.Instance.Graphics.ScalingFilterLevel.Event += UpdateScalingFilterLevel;
|
||||
ConfigurationState.Instance.Graphics.EnableColorSpacePassthrough.Event += UpdateColorSpacePassthrough;
|
||||
|
||||
ConfigurationState.Instance.System.EnableInternetAccess.Event += UpdateEnableInternetAccessState;
|
||||
ConfigurationState.Instance.Multiplayer.LanInterfaceId.Event += UpdateLanInterfaceIdState;
|
||||
ConfigurationState.Instance.Multiplayer.Mode.Event += UpdateMultiplayerModeState;
|
||||
|
||||
_gpuCancellationTokenSource = new CancellationTokenSource();
|
||||
_gpuDoneEvent = new ManualResetEvent(false);
|
||||
}
|
||||
|
||||
private void TopLevel_PointerEnterOrMoved(object sender, PointerEventArgs e)
|
||||
private void TopLevel_PointerEnteredOrMoved(object sender, PointerEventArgs e)
|
||||
{
|
||||
if (sender is MainWindow window)
|
||||
{
|
||||
_lastCursorMoveTime = Stopwatch.GetTimestamp();
|
||||
|
||||
if (RendererHost.EmbeddedWindow.TransformedBounds != null)
|
||||
{
|
||||
var point = e.GetCurrentPoint(window).Position;
|
||||
var bounds = RendererHost.EmbeddedWindow.TransformedBounds.Value.Clip;
|
||||
var bounds = RendererHost.EmbeddedWindow.Bounds;
|
||||
|
||||
_isCursorInRenderer = point.X >= bounds.X &&
|
||||
point.X <= bounds.Width + bounds.X &&
|
||||
|
@ -210,9 +213,8 @@ namespace Ryujinx.Ava
|
|||
point.Y <= bounds.Height + bounds.Y;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
private void TopLevel_PointerLeave(object sender, PointerEventArgs e)
|
||||
private void TopLevel_PointerExited(object sender, PointerEventArgs e)
|
||||
{
|
||||
_isCursorInRenderer = false;
|
||||
}
|
||||
|
@ -229,6 +231,11 @@ namespace Ryujinx.Ava
|
|||
_renderer.Window?.SetScalingFilterLevel(ConfigurationState.Instance.Graphics.ScalingFilterLevel.Value);
|
||||
}
|
||||
|
||||
private void UpdateColorSpacePassthrough(object sender, ReactiveEventArgs<bool> e)
|
||||
{
|
||||
_renderer.Window?.SetColorSpacePassthrough((bool)ConfigurationState.Instance.Graphics.EnableColorSpacePassthrough.Value);
|
||||
}
|
||||
|
||||
private void ShowCursor()
|
||||
{
|
||||
Dispatcher.UIThread.Post(() =>
|
||||
|
@ -259,7 +266,7 @@ namespace Ryujinx.Ava
|
|||
{
|
||||
if (_renderer != null)
|
||||
{
|
||||
double scale = _topLevel.PlatformImpl.RenderScaling;
|
||||
double scale = _topLevel.RenderScaling;
|
||||
|
||||
_renderer.Window?.SetSize((int)(size.Width * scale), (int)(size.Height * scale));
|
||||
}
|
||||
|
@ -353,7 +360,7 @@ namespace Ryujinx.Ava
|
|||
|
||||
_viewModel.SetUiProgressHandlers(Device);
|
||||
|
||||
RendererHost.SizeChanged += Window_SizeChanged;
|
||||
RendererHost.BoundsChanged += Window_BoundsChanged;
|
||||
|
||||
_isActive = true;
|
||||
|
||||
|
@ -402,11 +409,21 @@ namespace Ryujinx.Ava
|
|||
});
|
||||
}
|
||||
|
||||
private void UpdateEnableInternetAccessState(object sender, ReactiveEventArgs<bool> e)
|
||||
{
|
||||
Device.Configuration.EnableInternetAccess = e.NewValue;
|
||||
}
|
||||
|
||||
private void UpdateLanInterfaceIdState(object sender, ReactiveEventArgs<string> e)
|
||||
{
|
||||
Device.Configuration.MultiplayerLanInterfaceId = e.NewValue;
|
||||
}
|
||||
|
||||
private void UpdateMultiplayerModeState(object sender, ReactiveEventArgs<MultiplayerMode> e)
|
||||
{
|
||||
Device.Configuration.MultiplayerMode = e.NewValue;
|
||||
}
|
||||
|
||||
public void Stop()
|
||||
{
|
||||
_isActive = false;
|
||||
|
@ -461,10 +478,11 @@ namespace Ryujinx.Ava
|
|||
ConfigurationState.Instance.Graphics.ScalingFilter.Event -= UpdateScalingFilter;
|
||||
ConfigurationState.Instance.Graphics.ScalingFilterLevel.Event -= UpdateScalingFilterLevel;
|
||||
ConfigurationState.Instance.Graphics.AntiAliasing.Event -= UpdateAntiAliasing;
|
||||
ConfigurationState.Instance.Graphics.EnableColorSpacePassthrough.Event -= UpdateColorSpacePassthrough;
|
||||
|
||||
_topLevel.PointerMoved -= TopLevel_PointerEnterOrMoved;
|
||||
_topLevel.PointerEnter -= TopLevel_PointerEnterOrMoved;
|
||||
_topLevel.PointerLeave -= TopLevel_PointerLeave;
|
||||
_topLevel.PointerMoved -= TopLevel_PointerEnteredOrMoved;
|
||||
_topLevel.PointerEntered -= TopLevel_PointerEnteredOrMoved;
|
||||
_topLevel.PointerExited -= TopLevel_PointerExited;
|
||||
|
||||
_gpuCancellationTokenSource.Cancel();
|
||||
_gpuCancellationTokenSource.Dispose();
|
||||
|
@ -776,7 +794,8 @@ namespace Ryujinx.Ava
|
|||
ConfigurationState.Instance.Graphics.AspectRatio,
|
||||
ConfigurationState.Instance.System.AudioVolume,
|
||||
ConfigurationState.Instance.System.UseHypervisor,
|
||||
ConfigurationState.Instance.Multiplayer.LanInterfaceId.Value);
|
||||
ConfigurationState.Instance.Multiplayer.LanInterfaceId.Value,
|
||||
ConfigurationState.Instance.Multiplayer.Mode);
|
||||
|
||||
Device = new Switch(configuration);
|
||||
}
|
||||
|
@ -842,7 +861,7 @@ namespace Ryujinx.Ava
|
|||
return deviceDriver;
|
||||
}
|
||||
|
||||
private void Window_SizeChanged(object sender, Size e)
|
||||
private void Window_BoundsChanged(object sender, Size e)
|
||||
{
|
||||
Width = (int)e.Width;
|
||||
Height = (int)e.Height;
|
||||
|
@ -887,11 +906,12 @@ namespace Ryujinx.Ava
|
|||
_renderer?.Window?.SetAntiAliasing((Graphics.GAL.AntiAliasing)ConfigurationState.Instance.Graphics.AntiAliasing.Value);
|
||||
_renderer?.Window?.SetScalingFilter((Graphics.GAL.ScalingFilter)ConfigurationState.Instance.Graphics.ScalingFilter.Value);
|
||||
_renderer?.Window?.SetScalingFilterLevel(ConfigurationState.Instance.Graphics.ScalingFilterLevel.Value);
|
||||
_renderer?.Window?.SetColorSpacePassthrough(ConfigurationState.Instance.Graphics.EnableColorSpacePassthrough.Value);
|
||||
|
||||
Width = (int)RendererHost.Bounds.Width;
|
||||
Height = (int)RendererHost.Bounds.Height;
|
||||
|
||||
_renderer.Window.SetSize((int)(Width * _topLevel.PlatformImpl.RenderScaling), (int)(Height * _topLevel.PlatformImpl.RenderScaling));
|
||||
_renderer.Window.SetSize((int)(Width * _topLevel.RenderScaling), (int)(Height * _topLevel.RenderScaling));
|
||||
|
||||
_chrono.Start();
|
||||
|
||||
|
|
|
@ -1,12 +1,13 @@
|
|||
{
|
||||
"Language": "Deutsch",
|
||||
"MenuBarFileOpenApplet": "Applet öffnen",
|
||||
"MenuBarFileOpenAppletOpenMiiAppletToolTip": "Öffnet das Mii Editor Applet im Standalone Modus",
|
||||
"MenuBarFileOpenApplet": "Öffne Anwendung",
|
||||
"MenuBarFileOpenAppletOpenMiiAppletToolTip": "Öffnet das Mii-Editor-Applet im Standalone-Modus",
|
||||
"SettingsTabInputDirectMouseAccess": "Direkter Mauszugriff",
|
||||
"SettingsTabSystemMemoryManagerMode": "Speichermanagermodus:",
|
||||
"SettingsTabSystemMemoryManagerModeSoftware": "Software",
|
||||
"SettingsTabSystemMemoryManagerModeHost": "Host (schnell)",
|
||||
"SettingsTabSystemMemoryManagerModeHostUnchecked": "Host ungeprüft (am schnellsten, unsicher)",
|
||||
"SettingsTabSystemUseHypervisor": "Hypervisor verwenden",
|
||||
"MenuBarFile": "_Datei",
|
||||
"MenuBarFileOpenFromFile": "_Datei öffnen",
|
||||
"MenuBarFileOpenUnpacked": "_Entpacktes Spiel öffnen",
|
||||
|
@ -18,14 +19,17 @@
|
|||
"MenuBarOptionsStartGamesInFullscreen": "Spiele im Vollbildmodus starten",
|
||||
"MenuBarOptionsStopEmulation": "Emulation beenden",
|
||||
"MenuBarOptionsSettings": "_Einstellungen",
|
||||
"MenuBarOptionsManageUserProfiles": "_Profilverwaltung",
|
||||
"MenuBarOptionsManageUserProfiles": "_Benutzerprofile verwalten",
|
||||
"MenuBarActions": "_Aktionen",
|
||||
"MenuBarOptionsSimulateWakeUpMessage": "Aufwachnachricht",
|
||||
"MenuBarActionsScanAmiibo": "Scanne ein Amiibo",
|
||||
"MenuBarOptionsSimulateWakeUpMessage": "Aufwachnachricht simulieren",
|
||||
"MenuBarActionsScanAmiibo": "Amiibo scannen",
|
||||
"MenuBarTools": "_Werkzeuge",
|
||||
"MenuBarToolsInstallFirmware": "Firmware installieren",
|
||||
"MenuBarFileToolsInstallFirmwareFromFile": "Installiere Firmware von einer XCI oder einer ZIP Datei",
|
||||
"MenuBarFileToolsInstallFirmwareFromDirectory": "Installiere Firmware aus einem Verzeichnis",
|
||||
"MenuBarFileToolsInstallFirmwareFromFile": "Firmware von einer XCI- oder einer ZIP-Datei installieren",
|
||||
"MenuBarFileToolsInstallFirmwareFromDirectory": "Firmware aus einem Verzeichnis installieren",
|
||||
"MenuBarToolsManageFileTypes": "Dateitypen verwalten",
|
||||
"MenuBarToolsInstallFileTypes": "Dateitypen installieren",
|
||||
"MenuBarToolsUninstallFileTypes": "Dateitypen deinstallieren",
|
||||
"MenuBarHelp": "Hilfe",
|
||||
"MenuBarHelpCheckForUpdates": "Nach Updates suchen",
|
||||
"MenuBarHelpAbout": "Über Ryujinx",
|
||||
|
@ -45,8 +49,8 @@
|
|||
"GameListContextMenuOpenDeviceSaveDirectory": "Benutzer-Geräte-Verzeichnis öffnen",
|
||||
"GameListContextMenuOpenDeviceSaveDirectoryToolTip": "Öffnet das Verzeichnis, welches den Geräte-Spielstände beinhaltet",
|
||||
"GameListContextMenuOpenBcatSaveDirectory": "Benutzer-BCAT-Vezeichnis öffnen",
|
||||
"GameListContextMenuOpenBcatSaveDirectoryToolTip": "Öffnet das Verzeichnis, welches den BCAT Cache des Spiels beinhaltet",
|
||||
"GameListContextMenuManageTitleUpdates": "Verwalten von Spiel Updates",
|
||||
"GameListContextMenuOpenBcatSaveDirectoryToolTip": "Öffnet das Verzeichnis, welches den BCAT-Cache des Spiels beinhaltet",
|
||||
"GameListContextMenuManageTitleUpdates": "Verwalte Spiel-Updates",
|
||||
"GameListContextMenuManageTitleUpdatesToolTip": "Öffnet den Spiel-Update-Manager",
|
||||
"GameListContextMenuManageDlc": "Verwalten von DLC",
|
||||
"GameListContextMenuManageDlcToolTip": "Öffnet den DLC-Manager",
|
||||
|
@ -56,10 +60,10 @@
|
|||
"GameListContextMenuCacheManagementPurgePptc": "PPTC als ungültig markieren",
|
||||
"GameListContextMenuCacheManagementPurgePptcToolTip": "Markiert den PPTC als ungültig, sodass dieser beim nächsten Spielstart neu erstellt wird",
|
||||
"GameListContextMenuCacheManagementPurgeShaderCache": "Shader Cache löschen",
|
||||
"GameListContextMenuCacheManagementPurgeShaderCacheToolTip": "Löscht den Shader Cache der Anwendung",
|
||||
"GameListContextMenuCacheManagementOpenPptcDirectory": "PPTC Verzeichnis öffnen",
|
||||
"GameListContextMenuCacheManagementOpenPptcDirectoryToolTip": "Öffnet das Verzeichnis, das den PPTC Cache der Anwendung beinhaltet",
|
||||
"GameListContextMenuCacheManagementOpenShaderCacheDirectory": "Shader Cache Verzeichnis öffnen",
|
||||
"GameListContextMenuCacheManagementPurgeShaderCacheToolTip": "Löscht den Shader-Cache der Anwendung",
|
||||
"GameListContextMenuCacheManagementOpenPptcDirectory": "PPTC-Verzeichnis öffnen",
|
||||
"GameListContextMenuCacheManagementOpenPptcDirectoryToolTip": "Öffnet das Verzeichnis, das den PPTC-Cache der Anwendung beinhaltet",
|
||||
"GameListContextMenuCacheManagementOpenShaderCacheDirectory": "Shader-Cache-Verzeichnis öffnen",
|
||||
"GameListContextMenuCacheManagementOpenShaderCacheDirectoryToolTip": "Öffnet das Verzeichnis, das den Shader Cache der Anwendung beinhaltet",
|
||||
"GameListContextMenuExtractData": "Daten extrahieren",
|
||||
"GameListContextMenuExtractDataExeFS": "ExeFS",
|
||||
|
@ -70,13 +74,23 @@
|
|||
"GameListContextMenuExtractDataLogoToolTip": "Extrahiert das Logo aus der aktuellen Anwendungskonfiguration (einschließlich Updates)",
|
||||
"StatusBarGamesLoaded": "{0}/{1} Spiele geladen",
|
||||
"StatusBarSystemVersion": "Systemversion: {0}",
|
||||
"LinuxVmMaxMapCountDialogTitle": "Niedriges Limit für Speicherzuordnungen erkannt",
|
||||
"LinuxVmMaxMapCountDialogTextPrimary": "Möchtest Du den Wert von vm.max_map_count auf {0} erhöhen",
|
||||
"LinuxVmMaxMapCountDialogTextSecondary": "Einige Spiele könnten versuchen, mehr Speicherzuordnungen zu erstellen, als derzeit erlaubt. Ryujinx wird abstürzen, sobald dieses Limit überschritten wird.",
|
||||
"LinuxVmMaxMapCountDialogButtonUntilRestart": "Ja, bis zum nächsten Neustart",
|
||||
"LinuxVmMaxMapCountDialogButtonPersistent": "Ja, permanent",
|
||||
"LinuxVmMaxMapCountWarningTextPrimary": "Maximale Anzahl an Speicherzuordnungen ist niedriger als empfohlen.",
|
||||
"LinuxVmMaxMapCountWarningTextSecondary": "Der aktuelle Wert von vm.max_map_count ({0}) ist kleiner als {1}. Einige Spiele könnten versuchen, mehr Speicherzuordnungen zu erstellen, als derzeit erlaubt. Ryujinx wird abstürzen, sobald dieses Limit überschritten wird.\n\nDu kannst das Limit entweder manuell erhöhen oder pkexec installieren, damit Ryujinx Dir dabei hilft.",
|
||||
"Settings": "Einstellungen",
|
||||
"SettingsTabGeneral": "Allgemein",
|
||||
"SettingsTabGeneral": "Oberfläche",
|
||||
"SettingsTabGeneralGeneral": "Allgemein",
|
||||
"SettingsTabGeneralEnableDiscordRichPresence": "Aktiviere Discord Rich Presence",
|
||||
"SettingsTabGeneralEnableDiscordRichPresence": "Aktiviere die Statusanzeige für Discord",
|
||||
"SettingsTabGeneralCheckUpdatesOnLaunch": "Beim Start nach Updates suchen",
|
||||
"SettingsTabGeneralShowConfirmExitDialog": "Zeige den \"Beenden bestätigen\" Dialog",
|
||||
"SettingsTabGeneralShowConfirmExitDialog": "Zeige den \"Beenden bestätigen\"-Dialog",
|
||||
"SettingsTabGeneralHideCursor": "Mauszeiger ausblenden",
|
||||
"SettingsTabGeneralHideCursorNever": "Niemals",
|
||||
"SettingsTabGeneralHideCursorOnIdle": "Mauszeiger bei Inaktivität ausblenden",
|
||||
"SettingsTabGeneralHideCursorAlways": "Immer",
|
||||
"SettingsTabGeneralGameDirectories": "Spielverzeichnisse",
|
||||
"SettingsTabGeneralAdd": "Hinzufügen",
|
||||
"SettingsTabGeneralRemove": "Entfernen",
|
||||
|
@ -108,10 +122,10 @@
|
|||
"SettingsTabSystemSystemLanguageLatinAmericanSpanish": "Lateinamerikanisches Spanisch",
|
||||
"SettingsTabSystemSystemLanguageSimplifiedChinese": "Vereinfachtes Chinesisch",
|
||||
"SettingsTabSystemSystemLanguageTraditionalChinese": "Traditionelles Chinesisch",
|
||||
"SettingsTabSystemSystemTimeZone": "System Zeitzone:",
|
||||
"SettingsTabSystemSystemTime": "System Zeit:",
|
||||
"SettingsTabSystemSystemTimeZone": "System-Zeitzone:",
|
||||
"SettingsTabSystemSystemTime": "Systemzeit:",
|
||||
"SettingsTabSystemEnableVsync": "VSync",
|
||||
"SettingsTabSystemEnablePptc": "PPTC Cache (Profiled Persistent Translation Cache)",
|
||||
"SettingsTabSystemEnablePptc": "PPTC (Profiled Persistent Translation Cache)",
|
||||
"SettingsTabSystemEnableFsIntegrityChecks": "FS Integritätsprüfung",
|
||||
"SettingsTabSystemAudioBackend": "Audio-Backend:",
|
||||
"SettingsTabSystemAudioBackendDummy": "Ohne Funktion",
|
||||
|
@ -124,7 +138,7 @@
|
|||
"SettingsTabSystemIgnoreMissingServices": "Ignoriere fehlende Dienste",
|
||||
"SettingsTabGraphics": "Grafik",
|
||||
"SettingsTabGraphicsAPI": "Grafik-API",
|
||||
"SettingsTabGraphicsEnableShaderCache": "Shader Cache",
|
||||
"SettingsTabGraphicsEnableShaderCache": "Shader-Cache aktivieren",
|
||||
"SettingsTabGraphicsAnisotropicFiltering": "Anisotrope Filterung:",
|
||||
"SettingsTabGraphicsAnisotropicFilteringAuto": "Auto",
|
||||
"SettingsTabGraphicsAnisotropicFiltering2x": "2x",
|
||||
|
@ -143,12 +157,12 @@
|
|||
"SettingsTabGraphicsAspectRatio16x10": "16:10",
|
||||
"SettingsTabGraphicsAspectRatio21x9": "21:9",
|
||||
"SettingsTabGraphicsAspectRatio32x9": "32:9",
|
||||
"SettingsTabGraphicsAspectRatioStretch": "Dehnen, um sich an das Fenster anzupassen",
|
||||
"SettingsTabGraphicsAspectRatioStretch": "An Fenster anpassen",
|
||||
"SettingsTabGraphicsDeveloperOptions": "Optionen für Entwickler",
|
||||
"SettingsTabGraphicsShaderDumpPath": "Grafik-Shader Dump Pfad:",
|
||||
"SettingsTabGraphicsShaderDumpPath": "Grafik-Shader-Dump-Pfad:",
|
||||
"SettingsTabLogging": "Logs",
|
||||
"SettingsTabLoggingLogging": "Logs",
|
||||
"SettingsTabLoggingEnableLoggingToFile": "Aktiviere Erstellung von Log-Datei",
|
||||
"SettingsTabLoggingEnableLoggingToFile": "Protokollierung in Datei aktivieren",
|
||||
"SettingsTabLoggingEnableStubLogs": "Aktiviere Stub-Logs",
|
||||
"SettingsTabLoggingEnableInfoLogs": "Aktiviere Info-Logs",
|
||||
"SettingsTabLoggingEnableWarningLogs": "Aktiviere Warn-Logs",
|
||||
|
@ -157,15 +171,16 @@
|
|||
"SettingsTabLoggingEnableGuestLogs": "Aktiviere Gast-Logs",
|
||||
"SettingsTabLoggingEnableFsAccessLogs": "Aktiviere Fs Zugriff-Logs",
|
||||
"SettingsTabLoggingFsGlobalAccessLogMode": "Fs Globaler Zugriff-Log-Modus:",
|
||||
"SettingsTabLoggingDeveloperOptions": "Entwickleroptionen (WARNUNG: Beeinträchtigt die Leistung)",
|
||||
"SettingsTabLoggingGraphicsBackendLogLevel": "Graphics Backend Log Level:",
|
||||
"SettingsTabLoggingDeveloperOptions": "Entwickleroptionen",
|
||||
"SettingsTabLoggingDeveloperOptionsNote": "ACHTUNG: Wird die Leistung reduzieren",
|
||||
"SettingsTabLoggingGraphicsBackendLogLevel": "Protokollstufe des Grafik-Backends:",
|
||||
"SettingsTabLoggingGraphicsBackendLogLevelNone": "Keine",
|
||||
"SettingsTabLoggingGraphicsBackendLogLevelError": "Fehler",
|
||||
"SettingsTabLoggingGraphicsBackendLogLevelPerformance": "Verlangsamungen",
|
||||
"SettingsTabLoggingGraphicsBackendLogLevelAll": "Alle",
|
||||
"SettingsTabLoggingEnableDebugLogs": "Aktiviere Debug-Log",
|
||||
"SettingsTabInput": "Eingabe",
|
||||
"SettingsTabInputEnableDockedMode": "Docked Modus",
|
||||
"SettingsTabInputEnableDockedMode": "Angedockter Modus",
|
||||
"SettingsTabInputDirectKeyboardAccess": "Direkter Tastaturzugriff",
|
||||
"SettingsButtonSave": "Speichern",
|
||||
"SettingsButtonClose": "Schließen",
|
||||
|
@ -185,12 +200,12 @@
|
|||
"ControllerSettingsInputDevice": "Eingabegerät",
|
||||
"ControllerSettingsRefresh": "Aktualisieren",
|
||||
"ControllerSettingsDeviceDisabled": "Deaktiviert",
|
||||
"ControllerSettingsControllerType": "Controller Typ",
|
||||
"ControllerSettingsControllerType": "Controller-Typ",
|
||||
"ControllerSettingsControllerTypeHandheld": "Handheld",
|
||||
"ControllerSettingsControllerTypeProController": "Pro Controller",
|
||||
"ControllerSettingsControllerTypeJoyConPair": "Joy-Con Paar",
|
||||
"ControllerSettingsControllerTypeJoyConLeft": "Joy-Con Links",
|
||||
"ControllerSettingsControllerTypeJoyConRight": "Joy-Con Rechts",
|
||||
"ControllerSettingsControllerTypeJoyConPair": "Joy-Con-Paar",
|
||||
"ControllerSettingsControllerTypeJoyConLeft": "Linker Joy-Con",
|
||||
"ControllerSettingsControllerTypeJoyConRight": "Rechter Joy-Con",
|
||||
"ControllerSettingsProfile": "Profil",
|
||||
"ControllerSettingsProfileDefault": "Standard",
|
||||
"ControllerSettingsLoad": "Laden",
|
||||
|
@ -208,26 +223,17 @@
|
|||
"ControllerSettingsDPadDown": "Runter",
|
||||
"ControllerSettingsDPadLeft": "Links",
|
||||
"ControllerSettingsDPadRight": "Rechts",
|
||||
"ControllerSettingsStickButton": "Button",
|
||||
"ControllerSettingsStickUp": "Hoch",
|
||||
"ControllerSettingsStickDown": "Runter",
|
||||
"ControllerSettingsStickLeft": "Links",
|
||||
"ControllerSettingsStickRight": "Rechts",
|
||||
"ControllerSettingsStickStick": "Stick",
|
||||
"ControllerSettingsStickInvertXAxis": "X-Achse invertieren",
|
||||
"ControllerSettingsStickInvertYAxis": "Y-Achse invertieren",
|
||||
"ControllerSettingsStickDeadzone": "Deadzone:",
|
||||
"ControllerSettingsLStick": "Linker Analogstick",
|
||||
"ControllerSettingsLStickButton": "L3",
|
||||
"ControllerSettingsLStickUp": "Hoch",
|
||||
"ControllerSettingsLStickDown": "Runter",
|
||||
"ControllerSettingsLStickLeft": "Links",
|
||||
"ControllerSettingsLStickRight": "Rechts",
|
||||
"ControllerSettingsLStickStick": "Analogstick",
|
||||
"ControllerSettingsLStickInvertXAxis": "X-Achse invertieren",
|
||||
"ControllerSettingsLStickInvertYAxis": "Y-Achse invertieren",
|
||||
"ControllerSettingsLStickDeadzone": "Deadzone:",
|
||||
"ControllerSettingsRStick": "Rechter Analogstick",
|
||||
"ControllerSettingsRStickButton": "R3",
|
||||
"ControllerSettingsRStickUp": "Hoch",
|
||||
"ControllerSettingsRStickDown": "Runter",
|
||||
"ControllerSettingsRStickLeft": "Links",
|
||||
"ControllerSettingsRStickRight": "Rechts",
|
||||
"ControllerSettingsRStickStick": "Analogstick",
|
||||
"ControllerSettingsRStickInvertXAxis": "X-Achse invertieren",
|
||||
"ControllerSettingsRStickInvertYAxis": "Y-Achse invertieren",
|
||||
"ControllerSettingsRStickDeadzone": "Deadzone:",
|
||||
"ControllerSettingsTriggersLeft": "Linker Trigger",
|
||||
"ControllerSettingsTriggersRight": "Rechter Trigger",
|
||||
"ControllerSettingsTriggersButtonsLeft": "Linke Schultertaste",
|
||||
|
@ -247,12 +253,12 @@
|
|||
"ControllerSettingsTriggerThreshold": "Empfindlichkeit:",
|
||||
"ControllerSettingsMotion": "Bewegung",
|
||||
"ControllerSettingsMotionUseCemuhookCompatibleMotion": "CemuHook kompatible Bewegungssteuerung",
|
||||
"ControllerSettingsMotionControllerSlot": "Kontroller Slot:",
|
||||
"ControllerSettingsMotionMirrorInput": "Spiegele Eingabe",
|
||||
"ControllerSettingsMotionRightJoyConSlot": "Rechter Joy-Con Slot:",
|
||||
"ControllerSettingsMotionControllerSlot": "Controller-Slot:",
|
||||
"ControllerSettingsMotionMirrorInput": "Eingabe spiegeln",
|
||||
"ControllerSettingsMotionRightJoyConSlot": "Rechter Joy-Con-Slot:",
|
||||
"ControllerSettingsMotionServerHost": "Server Host:",
|
||||
"ControllerSettingsMotionGyroSensitivity": "Gyro Empfindlichkeit:",
|
||||
"ControllerSettingsMotionGyroDeadzone": "Gyro Deadzone:",
|
||||
"ControllerSettingsMotionGyroSensitivity": "Gyro-Empfindlichkeit:",
|
||||
"ControllerSettingsMotionGyroDeadzone": "Gyro-Deadzone:",
|
||||
"ControllerSettingsSave": "Speichern",
|
||||
"ControllerSettingsClose": "Schließen",
|
||||
"UserProfilesSelectedUserProfile": "Ausgewähltes Profil:",
|
||||
|
@ -262,26 +268,28 @@
|
|||
"UserProfilesAddNewProfile": "Neues Profil",
|
||||
"UserProfilesDelete": "Löschen",
|
||||
"UserProfilesClose": "Schließen",
|
||||
"ProfileNameSelectionWatermark": "Wähle einen Spitznamen",
|
||||
"ProfileImageSelectionTitle": "Auswahl des Profilbildes",
|
||||
"ProfileImageSelectionHeader": "Wähle ein Profilbild aus",
|
||||
"ProfileImageSelectionNote": "Es kann ein eigenes Profilbild importiert werden oder ein Avatar aus der System-Firmware",
|
||||
"ProfileImageSelectionImportImage": "Bilddatei importieren",
|
||||
"ProfileImageSelectionSelectAvatar": "Firmware Avatar auswählen",
|
||||
"InputDialogTitle": "Eingabe Dialog",
|
||||
"ProfileImageSelectionSelectAvatar": "Firmware-Avatar auswählen",
|
||||
"InputDialogTitle": "Eingabe-Dialog",
|
||||
"InputDialogOk": "OK",
|
||||
"InputDialogCancel": "Abbrechen",
|
||||
"InputDialogAddNewProfileTitle": "Wähle den Profilnamen",
|
||||
"InputDialogAddNewProfileHeader": "Bitte gebe einen Profilnamen ein",
|
||||
"InputDialogAddNewProfileSubtext": "(Maximale Länge: {0})",
|
||||
"AvatarChoose": "Bestätigen",
|
||||
"AvatarSetBackgroundColor": "Hintergrundfarbe einstellen",
|
||||
"AvatarSetBackgroundColor": "Hintergrundfarbe auswählen",
|
||||
"AvatarClose": "Schließen",
|
||||
"ControllerSettingsLoadProfileToolTip": "Lädt ein Profil",
|
||||
"ControllerSettingsAddProfileToolTip": "Fügt ein Profil hinzu",
|
||||
"ControllerSettingsRemoveProfileToolTip": "Entfernt ein Profil",
|
||||
"ControllerSettingsSaveProfileToolTip": "Speichert ein Profil",
|
||||
"MenuBarFileToolsTakeScreenshot": "Screenshot aufnehmen",
|
||||
"MenuBarFileToolsHideUi": "Hide UI",
|
||||
"MenuBarFileToolsHideUi": "Oberfläche ausblenden",
|
||||
"GameListContextMenuRunApplication": "Anwendung ausführen",
|
||||
"GameListContextMenuToggleFavorite": "Als Favoriten hinzufügen/entfernen",
|
||||
"GameListContextMenuToggleFavoriteToolTip": "Aktiviert den Favoriten-Status des Spiels",
|
||||
"SettingsTabGeneralTheme": "Design",
|
||||
|
@ -296,7 +304,7 @@
|
|||
"ControllerSettingsRumbleStrongMultiplier": "Starker Vibrations-Multiplikator",
|
||||
"ControllerSettingsRumbleWeakMultiplier": "Schwacher Vibrations-Multiplikator",
|
||||
"DialogMessageSaveNotAvailableMessage": "Es existieren keine Speicherdaten für {0} [{1:x16}]",
|
||||
"DialogMessageSaveNotAvailableCreateSaveMessage": "Soll Ryujinx Speicherdaten für dieses Spiel erstellen?",
|
||||
"DialogMessageSaveNotAvailableCreateSaveMessage": "Sollen Speicherdaten für dieses Spiel erstellt werden?",
|
||||
"DialogConfirmationTitle": "Ryujinx - Bestätigung",
|
||||
"DialogUpdaterTitle": "Ryujinx - Updater",
|
||||
"DialogErrorTitle": "Ryujinx - Fehler",
|
||||
|
@ -306,26 +314,26 @@
|
|||
"DialogExitMessage": "Ryujinx wirklich schließen?",
|
||||
"DialogExitSubMessage": "Alle nicht gespeicherten Daten gehen verloren!",
|
||||
"DialogMessageCreateSaveErrorMessage": "Es ist ein Fehler bei der Erstellung der angegebenen Speicherdaten aufgetreten: {0}",
|
||||
"DialogMessageFindSaveErrorMessage": "Es ist ein Fehler beim Auffinden der angegebenen Speicherdaten aufgetreten: {0}",
|
||||
"DialogMessageFindSaveErrorMessage": "Es ist ein Fehler beim Suchen der angegebenen Speicherdaten aufgetreten: {0}",
|
||||
"FolderDialogExtractTitle": "Wähle den Ordner, in welchen die Dateien entpackt werden sollen",
|
||||
"DialogNcaExtractionMessage": "Extrahiert {0} abschnitt von {1}...",
|
||||
"DialogNcaExtractionTitle": "Ryujinx - NCA-Abschnitt-Extraktor",
|
||||
"DialogNcaExtractionMainNcaNotFoundErrorMessage": "Extraktion fehlgeschlagen. Der Hauptheader der NCA war in der ausgewählten Datei nicht vorhanden.",
|
||||
"DialogNcaExtractionCheckLogErrorMessage": "Extraktion fehlgeschlagen. Überprüfe die Logs für weitere Informationen.",
|
||||
"DialogNcaExtractionSuccessMessage": "Extraktion erfolgreich abgeschlossen.",
|
||||
"DialogUpdaterConvertFailedMessage": "Die Konvertierung der aktuellen Ryujinx Version ist fehlgeschlagen.",
|
||||
"DialogUpdaterConvertFailedMessage": "Die Konvertierung der aktuellen Ryujinx-Version ist fehlgeschlagen.",
|
||||
"DialogUpdaterCancelUpdateMessage": "Download wird abgebrochen!",
|
||||
"DialogUpdaterAlreadyOnLatestVersionMessage": "Es wird bereits die aktuellste Version von Ryujinx benutzt",
|
||||
"DialogUpdaterFailedToGetVersionMessage": "An error has occurred when trying to get release information from GitHub Release. This can be caused if a new release is being compiled by GitHub Actions. Try again in a few minutes.",
|
||||
"DialogUpdaterConvertFailedGithubMessage": "Failed to convert the received Ryujinx version from Github Release.",
|
||||
"DialogUpdaterDownloadingMessage": "Update wird Heruntergeladen...",
|
||||
"DialogUpdaterFailedToGetVersionMessage": "Beim Versuch, Veröffentlichungs-Info von GitHub Release zu erhalten, ist ein Fehler aufgetreten. Dies kann aufgrund einer neuen Veröffentlichung, die gerade von GitHub Actions kompiliert wird, verursacht werden.",
|
||||
"DialogUpdaterConvertFailedGithubMessage": "Fehler beim Konvertieren der erhaltenen Ryujinx-Version von GitHub Release.",
|
||||
"DialogUpdaterDownloadingMessage": "Update wird heruntergeladen...",
|
||||
"DialogUpdaterExtractionMessage": "Update wird entpackt...",
|
||||
"DialogUpdaterRenamingMessage": "Update wird umbenannt...",
|
||||
"DialogUpdaterAddingFilesMessage": "Update wird hinzugefügt...",
|
||||
"DialogUpdaterCompleteMessage": "Update abgeschlossen!",
|
||||
"DialogUpdaterRestartMessage": "Ryujinx jetzt neu starten?",
|
||||
"DialogUpdaterArchNotSupportedMessage": "Eine nicht unterstützte Systemarchitektur wird benutzt!",
|
||||
"DialogUpdaterArchNotSupportedSubMessage": "Nur x64 Systeme werden unterstützt!",
|
||||
"DialogUpdaterArchNotSupportedSubMessage": "Nur 64-Bit-Systeme werden unterstützt!",
|
||||
"DialogUpdaterNoInternetMessage": "Es besteht keine Verbindung mit dem Internet!",
|
||||
"DialogUpdaterNoInternetSubMessage": "Bitte vergewissern, dass eine funktionierende Internetverbindung existiert!",
|
||||
"DialogUpdaterDirtyBuildMessage": "Inoffizielle Versionen von Ryujinx können nicht aktualisiert werden",
|
||||
|
@ -337,6 +345,10 @@
|
|||
"DialogFirmwareInstallEmbeddedSuccessMessage": "Es wurde keine installierte Firmware gefunden, aber Ryujinx konnte die Firmware {0} aus dem bereitgestellten Spiel installieren.\nRyujinx wird nun gestartet.",
|
||||
"DialogFirmwareNoFirmwareInstalledMessage": "Keine Firmware installiert",
|
||||
"DialogFirmwareInstalledMessage": "Firmware {0} wurde installiert",
|
||||
"DialogInstallFileTypesSuccessMessage": "Dateitypen erfolgreich installiert!",
|
||||
"DialogInstallFileTypesErrorMessage": "Dateitypen konnten nicht installiert werden.",
|
||||
"DialogUninstallFileTypesSuccessMessage": "Dateitypen erfolgreich deinstalliert!",
|
||||
"DialogUninstallFileTypesErrorMessage": "Deinstallation der Dateitypen fehlgeschlagen.",
|
||||
"DialogOpenSettingsWindowLabel": "Fenster-Einstellungen öffnen",
|
||||
"DialogControllerAppletTitle": "Controller-Applet",
|
||||
"DialogMessageDialogErrorExceptionMessage": "Fehler bei der Anzeige des Meldungs-Dialogs: {0}",
|
||||
|
@ -345,7 +357,7 @@
|
|||
"DialogUserErrorDialogMessage": "{0}: {1}",
|
||||
"DialogUserErrorDialogInfoMessage": "\nWeitere Informationen zur Behebung dieses Fehlers können in unserem Setup-Guide gefunden werden.",
|
||||
"DialogUserErrorDialogTitle": "Ryujinx Fehler ({0})",
|
||||
"DialogAmiiboApiTitle": "Amiibo API",
|
||||
"DialogAmiiboApiTitle": "Amiibo-API",
|
||||
"DialogAmiiboApiFailFetchMessage": "Beim Abrufen von Informationen aus der API ist ein Fehler aufgetreten.",
|
||||
"DialogAmiiboApiConnectErrorMessage": "Verbindung zum Amiibo API Server kann nicht hergestellt werden. Der Dienst ist möglicherweise nicht verfügbar oder es existiert keine Internetverbindung.",
|
||||
"DialogProfileInvalidProfileErrorMessage": "Das Profil {0} ist mit dem aktuellen Eingabekonfigurationssystem nicht kompatibel.",
|
||||
|
@ -368,6 +380,9 @@
|
|||
"DialogFirmwareInstallerFirmwareInstallSuccessMessage": "Systemversion {0} wurde erfolgreich installiert.",
|
||||
"DialogUserProfileDeletionWarningMessage": "Es können keine anderen Profile geöffnet werden, wenn das ausgewählte Profil gelöscht wird.",
|
||||
"DialogUserProfileDeletionConfirmMessage": "Möchtest du das ausgewählte Profil löschen?",
|
||||
"DialogUserProfileUnsavedChangesTitle": "Warnung - Nicht gespeicherte Änderungen",
|
||||
"DialogUserProfileUnsavedChangesMessage": "Sie haben Änderungen an diesem Nutzerprofil vorgenommen, die nicht gespeichert wurden.",
|
||||
"DialogUserProfileUnsavedChangesSubMessage": "Möchten Sie Ihre Änderungen wirklich verwerfen?",
|
||||
"DialogControllerSettingsModifiedConfirmMessage": "Die aktuellen Controller-Einstellungen wurden aktualisiert.",
|
||||
"DialogControllerSettingsModifiedConfirmSubMessage": "Controller-Einstellungen speichern?",
|
||||
"DialogLoadNcaErrorMessage": "{0}. Fehlerhafte Datei: {1}",
|
||||
|
@ -416,6 +431,7 @@
|
|||
"DlcManagerEnableAllButton": "Alle aktivieren",
|
||||
"DlcManagerDisableAllButton": "Alle deaktivieren",
|
||||
"MenuBarOptionsChangeLanguage": "Sprache ändern",
|
||||
"MenuBarShowFileTypes": "Dateitypen anzeigen",
|
||||
"CommonSort": "Sortieren",
|
||||
"CommonShowNames": "Spiel-Namen anzeigen",
|
||||
"CommonFavorite": "Favoriten",
|
||||
|
@ -445,6 +461,7 @@
|
|||
"MemoryManagerSoftwareTooltip": "Verwendung einer Software-Seitentabelle für die Adressumsetzung. Höchste Genauigkeit, aber langsamste Leistung.",
|
||||
"MemoryManagerHostTooltip": "Direkte Zuordnung von Speicher im Host-Adressraum. Viel schnellere JIT-Kompilierung und Ausführung.",
|
||||
"MemoryManagerUnsafeTooltip": "Direkte Zuordnung des Speichers, aber keine Maskierung der Adresse innerhalb des Gastadressraums vor dem Zugriff. Schneller, aber auf Kosten der Sicherheit. Die Gastanwendung kann von überall in Ryujinx auf den Speicher zugreifen, daher sollte in diesem Modus nur Programme ausgeführt werden denen vertraut wird.",
|
||||
"UseHypervisorTooltip": "Verwende Hypervisor anstelle von JIT. Verbessert die Leistung stark, falls vorhanden, kann jedoch in seinem aktuellen Zustand instabil sein.",
|
||||
"DRamTooltip": "Erhöht den Arbeitsspeicher des emulierten Systems von 4 GiB auf 6 GiB.\n\nDies ist nur für Texturenpakete mit höherer Auflösung oder Mods mit 4K-Auflösung nützlich. Diese Option verbessert NICHT die Leistung.\n\nIm Zweifelsfall AUS lassen.",
|
||||
"IgnoreMissingServicesTooltip": "Durch diese Option werden nicht implementierte Dienste der Switch-Firmware ignoriert. Dies kann dabei helfen, Abstürze beim Starten bestimmter Spiele zu umgehen.\n\nIm Zweifelsfall AUS lassen.",
|
||||
"GraphicsBackendThreadingTooltip": "Führt Grafik-Backend Befehle auf einem zweiten Thread aus.\n\nDies beschleunigt die Shader-Kompilierung, reduziert Stottern und verbessert die Leistung auf GPU-Treibern ohne eigene Multithreading-Unterstützung. Geringfügig bessere Leistung bei Treibern mit Multithreading.\n\nIm Zweifelsfall auf AUTO stellen.",
|
||||
|
@ -527,6 +544,9 @@
|
|||
"SwkbdMinCharacters": "Muss mindestens {0} Zeichen lang sein",
|
||||
"SwkbdMinRangeCharacters": "Muss {0}-{1} Zeichen lang sein",
|
||||
"SoftwareKeyboard": "Software-Tastatur",
|
||||
"SoftwareKeyboardModeNumbersOnly": "Nur Zahlen",
|
||||
"SoftwareKeyboardModeAlphabet": "Keine CJK-Zeichen",
|
||||
"SoftwareKeyboardModeASCII": "Nur ASCII-Text",
|
||||
"DialogControllerAppletMessagePlayerRange": "Die Anwendung benötigt {0} Spieler mit:\n\nTYPEN: {1}\n\nSPIELER: {2}\n\n{3}Bitte öffne die Einstellungen und rekonfiguriere die Controller Einstellungen oder drücke auf schließen.",
|
||||
"DialogControllerAppletMessage": "Die Anwendung benötigt genau {0} Speieler mit:\n\nTYPEN: {1}\n\nSPIELER: {2}\n\n{3}Bitte öffne die Einstellungen und rekonfiguriere die Controller Einstellungen oder drücke auf schließen.",
|
||||
"DialogControllerAppletDockModeSet": "Der 'Docked Modus' ist ausgewählt. Handheld ist ebenfalls ungültig.\n\n",
|
||||
|
@ -572,6 +592,7 @@
|
|||
"DlcWindowTitle": "Spiel-DLC verwalten",
|
||||
"UpdateWindowTitle": "Spiel-Updates verwalten",
|
||||
"CheatWindowHeading": "Cheats verfügbar für {0} [{1}]",
|
||||
"BuildId": "BuildId:",
|
||||
"DlcWindowHeading": "DLC verfügbar für {0} [{1}]",
|
||||
"UserProfilesEditProfile": "Profil bearbeiten",
|
||||
"Cancel": "Abbrechen",
|
||||
|
@ -598,7 +619,9 @@
|
|||
"SettingsTabHotkeysVolumeUpHotkey": "Lautstärke erhöhen:",
|
||||
"SettingsTabHotkeysVolumeDownHotkey": "Lautstärke verringern:",
|
||||
"SettingsEnableMacroHLE": "HLE Makros aktivieren",
|
||||
"SettingsEnableMacroHLETooltip": "High-level emulation of GPU Macro code.\n\nImproves performance, but may cause graphical glitches in some games.\n\nLeave ON if unsure.",
|
||||
"SettingsEnableMacroHLETooltip": "High-Level-Emulation von GPU-Makrocode.\n\nVerbessert die Leistung, kann aber in einigen Spielen zu Grafikfehlern führen.\n\nBei Unsicherheit AKTIVIEREN.",
|
||||
"SettingsEnableColorSpacePassthrough": "Farbraum Passthrough",
|
||||
"SettingsEnableColorSpacePassthroughTooltip": "Weist das Vulkan-Backend an, Farbinformationen ohne Angabe eines Farbraums weiterzuleiten. Für Benutzer mit Wide-Gamut-Displays kann dies zu lebendigeren Farben führen, allerdings auf Kosten der Farbkorrektheit.",
|
||||
"VolumeShort": "Vol",
|
||||
"UserProfilesManageSaves": "Speicherstände verwalten",
|
||||
"DeleteUserSave": "Möchtest du den Spielerstand für dieses Spiel löschen?",
|
||||
|
@ -610,5 +633,24 @@
|
|||
"Search": "Suche",
|
||||
"UserProfilesRecoverLostAccounts": "Konto wiederherstellen",
|
||||
"Recover": "Wiederherstellen",
|
||||
"UserProfilesRecoverHeading": "Speicherstände wurden für die folgenden Konten gefunden"
|
||||
"UserProfilesRecoverHeading": "Speicherstände wurden für die folgenden Konten gefunden",
|
||||
"UserProfilesRecoverEmptyList": "Keine Profile zum Wiederherstellen",
|
||||
"GraphicsAATooltip": "Wendet Anti-Aliasing auf das Spiel-Rendering an",
|
||||
"GraphicsAALabel": "Antialiasing:",
|
||||
"GraphicsScalingFilterLabel": "Skalierungsfilter:",
|
||||
"GraphicsScalingFilterTooltip": "Ermöglicht Framebuffer-Skalierung",
|
||||
"GraphicsScalingFilterLevelLabel": "Stufe",
|
||||
"GraphicsScalingFilterLevelTooltip": "Skalierungsfilter-Stufe festlegen",
|
||||
"SmaaLow": "SMAA Niedrig",
|
||||
"SmaaMedium": "SMAA Mittel",
|
||||
"SmaaHigh": "SMAA Hoch",
|
||||
"SmaaUltra": "SMAA Ultra",
|
||||
"UserEditorTitle": "Nutzer bearbeiten",
|
||||
"UserEditorTitleCreate": "Nutzer erstellen",
|
||||
"SettingsTabNetworkInterface": "Netzwerkschnittstelle:",
|
||||
"NetworkInterfaceTooltip": "Die Netzwerkschnittstelle, die für LAN-Funktionen verwendet wird",
|
||||
"NetworkInterfaceDefault": "Standard",
|
||||
"PackagingShaders": "Verpackt Shader",
|
||||
"AboutChangelogButton": "Changelog in GitHub öffnen",
|
||||
"AboutChangelogButtonTooltipMessage": "Klicke hier, um das Changelog für diese Version in Ihrem Standardbrowser zu öffnen."
|
||||
}
|
|
@ -7,6 +7,7 @@
|
|||
"SettingsTabSystemMemoryManagerModeSoftware": "Λογισμικό",
|
||||
"SettingsTabSystemMemoryManagerModeHost": "Υπολογιστής (γρήγορο)",
|
||||
"SettingsTabSystemMemoryManagerModeHostUnchecked": "Χωρίς Ελέγχους (γρηγορότερο, μη ασφαλές)",
|
||||
"SettingsTabSystemUseHypervisor": "Χρήση Hypervisor",
|
||||
"MenuBarFile": "_Αρχείο",
|
||||
"MenuBarFileOpenFromFile": "_Φόρτωση Αρχείου Εφαρμογής",
|
||||
"MenuBarFileOpenUnpacked": "Φόρτωση Απακετάριστου _Παιχνιδιού",
|
||||
|
@ -22,10 +23,13 @@
|
|||
"MenuBarActions": "_Δράσεις",
|
||||
"MenuBarOptionsSimulateWakeUpMessage": "Προσομοίωση Μηνύματος Αφύπνισης",
|
||||
"MenuBarActionsScanAmiibo": "Σάρωση Amiibo",
|
||||
"MenuBarTools": "Εργα_λεία",
|
||||
"MenuBarTools": "_Εργαλεία",
|
||||
"MenuBarToolsInstallFirmware": "Εγκατάσταση Firmware",
|
||||
"MenuBarFileToolsInstallFirmwareFromFile": "Εγκατάσταση Firmware από XCI ή ZIP",
|
||||
"MenuBarFileToolsInstallFirmwareFromDirectory": "Εγκατάσταση Firmware από τοποθεσία",
|
||||
"MenuBarToolsManageFileTypes": "Διαχείριση τύπων αρχείων",
|
||||
"MenuBarToolsInstallFileTypes": "Εγκαταστήσετε τύπους αρχείων.",
|
||||
"MenuBarToolsUninstallFileTypes": "Απεγκαταστήσετε τύπους αρχείων",
|
||||
"MenuBarHelp": "Βοήθεια",
|
||||
"MenuBarHelpCheckForUpdates": "Έλεγχος για Ενημερώσεις",
|
||||
"MenuBarHelpAbout": "Σχετικά με",
|
||||
|
@ -38,7 +42,7 @@
|
|||
"GameListHeaderTimePlayed": "Χρόνος",
|
||||
"GameListHeaderLastPlayed": "Παίχτηκε",
|
||||
"GameListHeaderFileExtension": "Κατάληξη",
|
||||
"GameListHeaderFileSize": "Μέγεθος",
|
||||
"GameListHeaderFileSize": "Μέγεθος Αρχείου",
|
||||
"GameListHeaderPath": "Τοποθεσία",
|
||||
"GameListContextMenuOpenUserSaveDirectory": "Άνοιγμα Τοποθεσίας Αποθήκευσης Χρήστη",
|
||||
"GameListContextMenuOpenUserSaveDirectoryToolTip": "Ανοίγει την τοποθεσία που περιέχει την Αποθήκευση Χρήστη της εφαρμογής",
|
||||
|
@ -70,13 +74,23 @@
|
|||
"GameListContextMenuExtractDataLogoToolTip": "Εξαγωγή της ενότητας Logo από την τρέχουσα διαμόρφωση της εφαρμογής (συμπεριλαμβανομένου ενημερώσεων)",
|
||||
"StatusBarGamesLoaded": "{0}/{1} Φορτωμένα Παιχνίδια",
|
||||
"StatusBarSystemVersion": "Έκδοση Συστήματος: {0}",
|
||||
"LinuxVmMaxMapCountDialogTitle": "Low limit for memory mappings detected",
|
||||
"LinuxVmMaxMapCountDialogTextPrimary": "Would you like to increase the value of vm.max_map_count to {0}",
|
||||
"LinuxVmMaxMapCountDialogTextSecondary": "Some games might try to create more memory mappings than currently allowed. Ryujinx will crash as soon as this limit gets exceeded.",
|
||||
"LinuxVmMaxMapCountDialogButtonUntilRestart": "Yes, until the next restart",
|
||||
"LinuxVmMaxMapCountDialogButtonPersistent": "Yes, permanently",
|
||||
"LinuxVmMaxMapCountWarningTextPrimary": "Max amount of memory mappings is lower than recommended.",
|
||||
"LinuxVmMaxMapCountWarningTextSecondary": "The current value of vm.max_map_count ({0}) is lower than {1}. Some games might try to create more memory mappings than currently allowed. Ryujinx will crash as soon as this limit gets exceeded.\n\nYou might want to either manually increase the limit or install pkexec, which allows Ryujinx to assist with that.",
|
||||
"Settings": "Ρυθμίσεις",
|
||||
"SettingsTabGeneral": "Εμφάνιση",
|
||||
"SettingsTabGeneralGeneral": "Γενικά",
|
||||
"SettingsTabGeneralEnableDiscordRichPresence": "Ενεργοποίηση Εμπλουτισμένης Παρουσίας Discord",
|
||||
"SettingsTabGeneralCheckUpdatesOnLaunch": "Έλεγχος για Ενημερώσεις στην Εκκίνηση",
|
||||
"SettingsTabGeneralShowConfirmExitDialog": "Εμφάνιση διαλόγου \"Επιβεβαίωση Εξόδου\".",
|
||||
"SettingsTabGeneralHideCursor": "Απόκρυψη Κέρσορα:",
|
||||
"SettingsTabGeneralHideCursorNever": "Ποτέ",
|
||||
"SettingsTabGeneralHideCursorOnIdle": "Απόκρυψη Δρομέα στην Αδράνεια",
|
||||
"SettingsTabGeneralHideCursorAlways": "Πάντα",
|
||||
"SettingsTabGeneralGameDirectories": "Τοποθεσίες παιχνιδιών",
|
||||
"SettingsTabGeneralAdd": "Προσθήκη",
|
||||
"SettingsTabGeneralRemove": "Αφαίρεση",
|
||||
|
@ -158,6 +172,7 @@
|
|||
"SettingsTabLoggingEnableFsAccessLogs": "Ενεργοποίηση Καταγραφής Πρόσβασης FS",
|
||||
"SettingsTabLoggingFsGlobalAccessLogMode": "Λειτουργία Καταγραφής Καθολικής Πρόσβασης FS:",
|
||||
"SettingsTabLoggingDeveloperOptions": "Επιλογές Προγραμματιστή (ΠΡΟΕΙΔΟΠΟΙΗΣΗ: Η απόδοση Θα μειωθεί)",
|
||||
"SettingsTabLoggingDeveloperOptionsNote": "ΠΡΟΕΙΔΟΠΟΙΗΣΗ: Θα μειώσει την απόδοση",
|
||||
"SettingsTabLoggingGraphicsBackendLogLevel": "Επίπεδο Καταγραφής Διεπαφής Γραφικών:",
|
||||
"SettingsTabLoggingGraphicsBackendLogLevelNone": "Κανένα",
|
||||
"SettingsTabLoggingGraphicsBackendLogLevelError": "Σφάλμα",
|
||||
|
@ -208,26 +223,17 @@
|
|||
"ControllerSettingsDPadDown": "Κάτω",
|
||||
"ControllerSettingsDPadLeft": "Αριστερά",
|
||||
"ControllerSettingsDPadRight": "Δεξιά",
|
||||
"ControllerSettingsStickButton": "Κουμπί",
|
||||
"ControllerSettingsStickUp": "Πάνω",
|
||||
"ControllerSettingsStickDown": "Κάτω",
|
||||
"ControllerSettingsStickLeft": "Αριστερά",
|
||||
"ControllerSettingsStickRight": "Δεξιά",
|
||||
"ControllerSettingsStickStick": "Stick",
|
||||
"ControllerSettingsStickInvertXAxis": "Invert Stick X",
|
||||
"ControllerSettingsStickInvertYAxis": "Invert Stick Y",
|
||||
"ControllerSettingsStickDeadzone": "Deadzone:",
|
||||
"ControllerSettingsLStick": "Αριστερός Μοχλός",
|
||||
"ControllerSettingsLStickButton": "Κουμπί",
|
||||
"ControllerSettingsLStickUp": "Πάνω",
|
||||
"ControllerSettingsLStickDown": "Κάτω",
|
||||
"ControllerSettingsLStickLeft": "Αριστερά",
|
||||
"ControllerSettingsLStickRight": "Δεξιά",
|
||||
"ControllerSettingsLStickStick": "Μοχλός",
|
||||
"ControllerSettingsLStickInvertXAxis": "Αντιστροφή Μοχλού X",
|
||||
"ControllerSettingsLStickInvertYAxis": "Αντιστροφή Μοχλού Y",
|
||||
"ControllerSettingsLStickDeadzone": "Νεκρή Ζώνη:",
|
||||
"ControllerSettingsRStick": "Δεξιός Μοχλός",
|
||||
"ControllerSettingsRStickButton": "Κουμπί",
|
||||
"ControllerSettingsRStickUp": "Πάνω",
|
||||
"ControllerSettingsRStickDown": "Κάτω",
|
||||
"ControllerSettingsRStickLeft": "Αριστερά",
|
||||
"ControllerSettingsRStickRight": "Δεξιά",
|
||||
"ControllerSettingsRStickStick": "Μοχλός",
|
||||
"ControllerSettingsRStickInvertXAxis": "Αντιστροφή Μοχλού X",
|
||||
"ControllerSettingsRStickInvertYAxis": "Αντιστροφή Μοχλού Y",
|
||||
"ControllerSettingsRStickDeadzone": "Νεκρή Ζώνη:",
|
||||
"ControllerSettingsTriggersLeft": "Αριστερή Σκανδάλη",
|
||||
"ControllerSettingsTriggersRight": "Δεξιά Σκανδάλη",
|
||||
"ControllerSettingsTriggersButtonsLeft": "Αριστερά Κουμπιά Σκανδάλης",
|
||||
|
@ -262,6 +268,7 @@
|
|||
"UserProfilesAddNewProfile": "Προσθήκη Νέου Προφίλ",
|
||||
"UserProfilesDelete": "Διαγράφω",
|
||||
"UserProfilesClose": "Κλείσιμο",
|
||||
"ProfileNameSelectionWatermark": "Επιλέξτε ψευδώνυμο",
|
||||
"ProfileImageSelectionTitle": "Επιλογή Εικόνας Προφίλ",
|
||||
"ProfileImageSelectionHeader": "Επιλέξτε μία Εικόνα Προφίλ",
|
||||
"ProfileImageSelectionNote": "Μπορείτε να εισαγάγετε μία προσαρμοσμένη εικόνα προφίλ ή να επιλέξετε ένα avatar από το Firmware",
|
||||
|
@ -282,6 +289,7 @@
|
|||
"ControllerSettingsSaveProfileToolTip": "Αποθήκευση Προφίλ",
|
||||
"MenuBarFileToolsTakeScreenshot": "Λήψη Στιγμιότυπου",
|
||||
"MenuBarFileToolsHideUi": "Απόκρυψη UI",
|
||||
"GameListContextMenuRunApplication": "Run Application",
|
||||
"GameListContextMenuToggleFavorite": "Εναλλαγή Αγαπημένου",
|
||||
"GameListContextMenuToggleFavoriteToolTip": "Εναλλαγή της Κατάστασης Αγαπημένο του Παιχνιδιού",
|
||||
"SettingsTabGeneralTheme": "Θέμα",
|
||||
|
@ -337,6 +345,10 @@
|
|||
"DialogFirmwareInstallEmbeddedSuccessMessage": "Δεν βρέθηκε εγκατεστημένο Firmware, αλλά το Ryujinx μπόρεσε να εγκαταστήσει το Firmware {0} από το παρεχόμενο παιχνίδι.\nΟ εξομοιωτής θα ξεκινήσει τώρα.",
|
||||
"DialogFirmwareNoFirmwareInstalledMessage": "Δεν έχει εγκατασταθεί Firmware",
|
||||
"DialogFirmwareInstalledMessage": "Το Firmware {0} εγκαταστάθηκε",
|
||||
"DialogInstallFileTypesSuccessMessage": "Επιτυχής εγκατάσταση τύπων αρχείων!",
|
||||
"DialogInstallFileTypesErrorMessage": "Απέτυχε η εγκατάσταση τύπων αρχείων.",
|
||||
"DialogUninstallFileTypesSuccessMessage": "Επιτυχής απεγκατάσταση τύπων αρχείων!",
|
||||
"DialogUninstallFileTypesErrorMessage": "Αποτυχία απεγκατάστασης τύπων αρχείων.",
|
||||
"DialogOpenSettingsWindowLabel": "Άνοιγμα Παραθύρου Ρυθμίσεων",
|
||||
"DialogControllerAppletTitle": "Applet Χειρισμού",
|
||||
"DialogMessageDialogErrorExceptionMessage": "Σφάλμα εμφάνισης του διαλόγου Μηνυμάτων: {0}",
|
||||
|
@ -345,7 +357,7 @@
|
|||
"DialogUserErrorDialogMessage": "{0}: {1}",
|
||||
"DialogUserErrorDialogInfoMessage": "\nΓια πληροφορίες σχετικά με τον τρόπο διόρθωσης του σφάλματος, ακολουθήστε τον Οδηγό Εγκατάστασης.",
|
||||
"DialogUserErrorDialogTitle": "Σφάλμα Ryujinx ({0})",
|
||||
"DialogAmiiboApiTitle": "Amiibo API",
|
||||
"DialogAmiiboApiTitle": "API για Amiibo.",
|
||||
"DialogAmiiboApiFailFetchMessage": "Παρουσιάστηκε σφάλμα κατά την ανάκτηση πληροφοριών από το API.",
|
||||
"DialogAmiiboApiConnectErrorMessage": "Δεν είναι δυνατή η σύνδεση με τον διακομιστή Amiibo API. Η υπηρεσία μπορεί να είναι εκτός λειτουργίας ή μπορεί να χρειαστεί να επαληθεύσετε ότι έχετε ενεργή σύνδεσή στο Διαδίκτυο.",
|
||||
"DialogProfileInvalidProfileErrorMessage": "Το προφίλ {0} δεν είναι συμβατό με το τρέχον σύστημα χειρισμού.",
|
||||
|
@ -368,6 +380,9 @@
|
|||
"DialogFirmwareInstallerFirmwareInstallSuccessMessage": "Η έκδοση συστήματος {0} εγκαταστάθηκε με επιτυχία.",
|
||||
"DialogUserProfileDeletionWarningMessage": "Δεν θα υπάρχουν άλλα προφίλ εάν διαγραφεί το επιλεγμένο",
|
||||
"DialogUserProfileDeletionConfirmMessage": "Θέλετε να διαγράψετε το επιλεγμένο προφίλ",
|
||||
"DialogUserProfileUnsavedChangesTitle": "Προσοχή - Μην Αποθηκευμένες Αλλαγές.",
|
||||
"DialogUserProfileUnsavedChangesMessage": "Έχετε κάνει αλλαγές σε αυτό το προφίλ χρήστη που δεν έχουν αποθηκευτεί.",
|
||||
"DialogUserProfileUnsavedChangesSubMessage": "Θέλετε να απορρίψετε τις αλλαγές σας;",
|
||||
"DialogControllerSettingsModifiedConfirmMessage": "Οι τρέχουσες ρυθμίσεις χειρισμού έχουν ενημερωθεί.",
|
||||
"DialogControllerSettingsModifiedConfirmSubMessage": "Θέλετε να αποθηκεύσετε;",
|
||||
"DialogLoadNcaErrorMessage": "{0}. Σφάλμα Αρχείου: {1}",
|
||||
|
@ -386,7 +401,7 @@
|
|||
"CommonAuto": "Αυτόματο",
|
||||
"CommonOff": "Ανενεργό",
|
||||
"CommonOn": "Ενεργό",
|
||||
"InputDialogYes": "Ναί",
|
||||
"InputDialogYes": "Ναι",
|
||||
"InputDialogNo": "Όχι",
|
||||
"DialogProfileInvalidProfileNameErrorMessage": "Το όνομα αρχείου περιέχει μη έγκυρους χαρακτήρες. Παρακαλώ προσπαθήστε ξανά.",
|
||||
"MenuBarOptionsPauseEmulation": "Παύση",
|
||||
|
@ -408,7 +423,7 @@
|
|||
"AmiiboScanButtonLabel": "Σαρώστε το",
|
||||
"AmiiboOptionsShowAllLabel": "Εμφάνιση όλων των Amiibo",
|
||||
"AmiiboOptionsUsRandomTagLabel": "Hack: Χρησιμοποιήστε τυχαίο αναγνωριστικό UUID",
|
||||
"DlcManagerTableHeadingEnabledLabel": "Ενεργοποιήθηκε",
|
||||
"DlcManagerTableHeadingEnabledLabel": "Ενεργοποιημένο",
|
||||
"DlcManagerTableHeadingTitleIdLabel": "Αναγνωριστικό τίτλου",
|
||||
"DlcManagerTableHeadingContainerPathLabel": "Τοποθεσία DLC",
|
||||
"DlcManagerTableHeadingFullPathLabel": "Πλήρης τοποθεσία",
|
||||
|
@ -416,6 +431,7 @@
|
|||
"DlcManagerEnableAllButton": "Ενεργοποίηση Όλων",
|
||||
"DlcManagerDisableAllButton": "Απενεργοποίηση Όλων",
|
||||
"MenuBarOptionsChangeLanguage": "Αλλαξε γλώσσα",
|
||||
"MenuBarShowFileTypes": "Εμφάνιση Τύπων Αρχείων",
|
||||
"CommonSort": "Κατάταξη",
|
||||
"CommonShowNames": "Εμφάνιση ονομάτων",
|
||||
"CommonFavorite": "Αγαπημένα",
|
||||
|
@ -445,6 +461,7 @@
|
|||
"MemoryManagerSoftwareTooltip": "Χρησιμοποιήστε έναν πίνακα σελίδων λογισμικού για τη μετάφραση διευθύνσεων. Υψηλότερη ακρίβεια αλλά πιο αργή απόδοση.",
|
||||
"MemoryManagerHostTooltip": "Απευθείας αντιστοίχιση της μνήμης στον χώρο διευθύνσεων υπολογιστή υποδοχής. Πολύ πιο γρήγορη μεταγλώττιση και εκτέλεση JIT.",
|
||||
"MemoryManagerUnsafeTooltip": "Απευθείας χαρτογράφηση της μνήμης, αλλά μην καλύπτετε τη διεύθυνση εντός του χώρου διευθύνσεων επισκέπτη πριν από την πρόσβαση. Πιο γρήγορα, αλλά με κόστος ασφάλειας. Η εφαρμογή μπορεί να έχει πρόσβαση στη μνήμη από οπουδήποτε στο Ryujinx, επομένως εκτελείτε μόνο προγράμματα που εμπιστεύεστε με αυτήν τη λειτουργία.",
|
||||
"UseHypervisorTooltip": "Χρησιμοποιήστε Hypervisor αντί για JIT. Βελτιώνει σημαντικά την απόδοση όταν διατίθεται, αλλά μπορεί να είναι ασταθής στην τρέχουσα κατάστασή του.",
|
||||
"DRamTooltip": "Επεκτείνει την ποσότητα της μνήμης στο εξομοιούμενο σύστημα από 4 GiB σε 6 GiB",
|
||||
"IgnoreMissingServicesTooltip": "Ενεργοποίηση ή απενεργοποίηση της αγνοώησης για υπηρεσίες που λείπουν",
|
||||
"GraphicsBackendThreadingTooltip": "Ενεργοποίηση Πολυνηματικής Επεξεργασίας Γραφικών",
|
||||
|
@ -499,116 +516,141 @@
|
|||
"DialogUpdaterFlatpakNotSupportedMessage": "Παρακαλούμε ενημερώστε το Ryujinx μέσω FlatHub.",
|
||||
"UpdaterDisabledWarningTitle": "Ο Διαχειριστής Ενημερώσεων Είναι Απενεργοποιημένος!",
|
||||
"GameListContextMenuOpenSdModsDirectory": "Άνοιγμα Της Τοποθεσίας Των Atmosphere Mods",
|
||||
"GameListContextMenuOpenSdModsDirectoryToolTip": "Opens the alternative SD card Atmosphere directory which contains Application's Mods. Useful for mods that are packaged for real hardware.",
|
||||
"ControllerSettingsRotate90": "Rotate 90° Clockwise",
|
||||
"IconSize": "Icon Size",
|
||||
"IconSizeTooltip": "Change the size of game icons",
|
||||
"MenuBarOptionsShowConsole": "Show Console",
|
||||
"ShaderCachePurgeError": "Error purging shader cache at {0}: {1}",
|
||||
"UserErrorNoKeys": "Keys not found",
|
||||
"UserErrorNoFirmware": "Firmware not found",
|
||||
"UserErrorFirmwareParsingFailed": "Firmware parsing error",
|
||||
"UserErrorApplicationNotFound": "Application not found",
|
||||
"UserErrorUnknown": "Unknown error",
|
||||
"UserErrorUndefined": "Undefined error",
|
||||
"UserErrorNoKeysDescription": "Ryujinx was unable to find your 'prod.keys' file",
|
||||
"UserErrorNoFirmwareDescription": "Ryujinx was unable to find any firmwares installed",
|
||||
"UserErrorFirmwareParsingFailedDescription": "Ryujinx was unable to parse the provided firmware. This is usually caused by outdated keys.",
|
||||
"UserErrorApplicationNotFoundDescription": "Ryujinx couldn't find a valid application at the given path.",
|
||||
"UserErrorUnknownDescription": "An unknown error occured!",
|
||||
"UserErrorUndefinedDescription": "An undefined error occured! This shouldn't happen, please contact a dev!",
|
||||
"OpenSetupGuideMessage": "Open the Setup Guide",
|
||||
"NoUpdate": "No Update",
|
||||
"GameListContextMenuOpenSdModsDirectoryToolTip": "Ανοίγει τον εναλλακτικό SD card Atmosphere κατάλογο που περιέχει Mods για το Application. Χρήσιμο για mods τα οποία συσκευάστηκαν για την πραγματική κονσόλα.",
|
||||
"ControllerSettingsRotate90": "Περιστροφή 90° Δεξιόστροφα",
|
||||
"IconSize": "Μέγεθος Εικονιδίου",
|
||||
"IconSizeTooltip": "Αλλάξτε μέγεθος εικονιδίων των παιχνιδιών",
|
||||
"MenuBarOptionsShowConsole": "Εμφάνιση Κονσόλας",
|
||||
"ShaderCachePurgeError": "Σφάλμα κατά την εκκαθάριση του shader cache στο {0}: {1}",
|
||||
"UserErrorNoKeys": "Τα κλειδιά δεν βρέθηκαν",
|
||||
"UserErrorNoFirmware": "Το firmware δε βρέθηκε",
|
||||
"UserErrorFirmwareParsingFailed": "Σφάλμα ανάλυσης firmware",
|
||||
"UserErrorApplicationNotFound": "Η εφαρμογή δε βρέθηκε",
|
||||
"UserErrorUnknown": "Άγνωστο σφάλμα",
|
||||
"UserErrorUndefined": "Αόριστο σφάλμα",
|
||||
"UserErrorNoKeysDescription": "Το Ryujinx δεν κατάφερε να εντοπίσει το αρχείο 'prod.keys'",
|
||||
"UserErrorNoFirmwareDescription": "Το Ryujinx δεν κατάφερε να εντοπίσει κανένα εγκατεστημένο firmware",
|
||||
"UserErrorFirmwareParsingFailedDescription": "Το Ryujinx δεν κατάφερε να αναλύσει το συγκεκριμένο firmware. Αυτό συνήθως οφείλετε σε ξεπερασμένα/παλιά κλειδιά.",
|
||||
"UserErrorApplicationNotFoundDescription": "Το Ryujinx δεν κατάφερε να εντοπίσει έγκυρη εφαρμογή στη συγκεκριμένη διαδρομή.",
|
||||
"UserErrorUnknownDescription": "Παρουσιάστηκε άγνωστο σφάλμα.",
|
||||
"UserErrorUndefinedDescription": "Παρουσιάστηκε ένα άγνωστο σφάλμα! Αυτό δεν πρέπει να συμβεί, παρακαλώ επικοινωνήστε με έναν προγραμματιστή!",
|
||||
"OpenSetupGuideMessage": "Ανοίξτε τον Οδηγό Εγκατάστασης.",
|
||||
"NoUpdate": "Καμία Eνημέρωση",
|
||||
"TitleUpdateVersionLabel": "Version {0} - {1}",
|
||||
"RyujinxInfo": "Ryujinx - Info",
|
||||
"RyujinxConfirm": "Ryujinx - Confirmation",
|
||||
"FileDialogAllTypes": "All types",
|
||||
"Never": "Never",
|
||||
"SwkbdMinCharacters": "Must be at least {0} characters long",
|
||||
"SwkbdMinRangeCharacters": "Must be {0}-{1} characters long",
|
||||
"SoftwareKeyboard": "Software Keyboard",
|
||||
"DialogControllerAppletMessagePlayerRange": "Application requests {0} player(s) with:\n\nTYPES: {1}\n\nPLAYERS: {2}\n\n{3}Please open Settings and reconfigure Input now or press Close.",
|
||||
"DialogControllerAppletMessage": "Application requests exactly {0} player(s) with:\n\nTYPES: {1}\n\nPLAYERS: {2}\n\n{3}Please open Settings and reconfigure Input now or press Close.",
|
||||
"DialogControllerAppletDockModeSet": "Docked mode set. Handheld is also invalid.\n\n",
|
||||
"UpdaterRenaming": "Renaming Old Files...",
|
||||
"UpdaterRenameFailed": "Updater was unable to rename file: {0}",
|
||||
"UpdaterAddingFiles": "Adding New Files...",
|
||||
"UpdaterExtracting": "Extracting Update...",
|
||||
"UpdaterDownloading": "Downloading Update...",
|
||||
"Game": "Game",
|
||||
"Docked": "Docked",
|
||||
"Handheld": "Handheld",
|
||||
"ConnectionError": "Connection Error.",
|
||||
"AboutPageDeveloperListMore": "{0} and more...",
|
||||
"ApiError": "API Error.",
|
||||
"LoadingHeading": "Loading {0}",
|
||||
"CompilingPPTC": "Compiling PTC",
|
||||
"CompilingShaders": "Compiling Shaders",
|
||||
"AllKeyboards": "All keyboards",
|
||||
"OpenFileDialogTitle": "Select a supported file to open",
|
||||
"OpenFolderDialogTitle": "Select a folder with an unpacked game",
|
||||
"AllSupportedFormats": "All Supported Formats",
|
||||
"RyujinxUpdater": "Ryujinx Updater",
|
||||
"SettingsTabHotkeys": "Keyboard Hotkeys",
|
||||
"SettingsTabHotkeysHotkeys": "Keyboard Hotkeys",
|
||||
"SettingsTabHotkeysToggleVsyncHotkey": "Toggle VSync:",
|
||||
"SettingsTabHotkeysScreenshotHotkey": "Screenshot:",
|
||||
"SettingsTabHotkeysShowUiHotkey": "Show UI:",
|
||||
"SettingsTabHotkeysPauseHotkey": "Pause:",
|
||||
"SettingsTabHotkeysToggleMuteHotkey": "Mute:",
|
||||
"ControllerMotionTitle": "Motion Control Settings",
|
||||
"ControllerRumbleTitle": "Rumble Settings",
|
||||
"SettingsSelectThemeFileDialogTitle": "Select Theme File",
|
||||
"SettingsXamlThemeFile": "Xaml Theme File",
|
||||
"AvatarWindowTitle": "Manage Accounts - Avatar",
|
||||
"RyujinxInfo": "Ryujinx - Πληροφορίες",
|
||||
"RyujinxConfirm": "Ryujinx - Επιβεβαίωση",
|
||||
"FileDialogAllTypes": "Όλοι οι τύποι",
|
||||
"Never": "Ποτέ",
|
||||
"SwkbdMinCharacters": "Πρέπει να έχει μήκος τουλάχιστον {0} χαρακτήρες",
|
||||
"SwkbdMinRangeCharacters": "Πρέπει να έχει μήκος {0}-{1} χαρακτήρες",
|
||||
"SoftwareKeyboard": "Εικονικό Πληκτρολόγιο",
|
||||
"SoftwareKeyboardModeNumbersOnly": "Must be numbers only",
|
||||
"SoftwareKeyboardModeAlphabet": "Must be non CJK-characters only",
|
||||
"SoftwareKeyboardModeASCII": "Must be ASCII text only",
|
||||
"DialogControllerAppletMessagePlayerRange": "Η εφαρμογή ζητά {0} παίκτη(ες) με:\n\nΤΥΠΟΥΣ: {1}\n\nΠΑΙΚΤΕΣ: {2}\n\n{3}Παρακαλώ ανοίξτε τις ρυθμίσεις και αλλάξτε τις ρυθμίσεις εισαγωγής τώρα ή πατήστε Κλείσιμο.",
|
||||
"DialogControllerAppletMessage": "Η εφαρμογή ζητά ακριβώς {0} παίκτη(ες) με:\n\nΤΥΠΟΥΣ: {1}\n\nΠΑΙΚΤΕΣ: {2}\n\n{3}Παρακαλώ ανοίξτε τις ρυθμίσεις και αλλάξτε τις Ρυθμίσεις εισαγωγής τώρα ή πατήστε Κλείσιμο.",
|
||||
"DialogControllerAppletDockModeSet": "Η κατάσταση Docked ενεργοποιήθηκε. Το συσκευή παλάμης είναι επίσης μην αποδεκτό.",
|
||||
"UpdaterRenaming": "Μετονομασία Παλαιών Αρχείων...",
|
||||
"UpdaterRenameFailed": "Δεν ήταν δυνατή η μετονομασία του αρχείου: {0}",
|
||||
"UpdaterAddingFiles": "Προσθήκη Νέων Αρχείων...",
|
||||
"UpdaterExtracting": "Εξαγωγή Ενημέρωσης...",
|
||||
"UpdaterDownloading": "Λήψη Ενημέρωσης...",
|
||||
"Game": "Παιχνίδι",
|
||||
"Docked": "Προσκολλημένο",
|
||||
"Handheld": "Χειροκίνητο",
|
||||
"ConnectionError": "Σφάλμα Σύνδεσης.",
|
||||
"AboutPageDeveloperListMore": "{0} και περισσότερα...",
|
||||
"ApiError": "Σφάλμα API.",
|
||||
"LoadingHeading": "Φόρτωση {0}",
|
||||
"CompilingPPTC": "Μεταγλώττιση του PTC",
|
||||
"CompilingShaders": "Σύνταξη των Shaders",
|
||||
"AllKeyboards": "Όλα τα πληκτρολόγια",
|
||||
"OpenFileDialogTitle": "Επιλέξτε ένα υποστηριζόμενο αρχείο για άνοιγμα",
|
||||
"OpenFolderDialogTitle": "Επιλέξτε ένα φάκελο με ένα αποσυμπιεσμένο παιχνίδι",
|
||||
"AllSupportedFormats": "Όλες Οι Υποστηριζόμενες Μορφές",
|
||||
"RyujinxUpdater": "Ryujinx Ενημερωτής",
|
||||
"SettingsTabHotkeys": "Συντομεύσεις Πληκτρολογίου",
|
||||
"SettingsTabHotkeysHotkeys": "Συντομεύσεις Πληκτρολογίου",
|
||||
"SettingsTabHotkeysToggleVsyncHotkey": "Εναλλαγή VSync:",
|
||||
"SettingsTabHotkeysScreenshotHotkey": "Στιγμιότυπο Οθόνης:",
|
||||
"SettingsTabHotkeysShowUiHotkey": "Εμφάνιση Διεπαφής Χρήστη:",
|
||||
"SettingsTabHotkeysPauseHotkey": "Παύση:",
|
||||
"SettingsTabHotkeysToggleMuteHotkey": "Σίγαση:",
|
||||
"ControllerMotionTitle": "Ρυθμίσεις Ελέγχου Κίνησης",
|
||||
"ControllerRumbleTitle": "Ρυθμίσεις Δόνησης",
|
||||
"SettingsSelectThemeFileDialogTitle": "Επιλογή Αρχείου Θέματος",
|
||||
"SettingsXamlThemeFile": "Αρχείο Θέματος Xaml",
|
||||
"AvatarWindowTitle": "Διαχείριση Λογαριασμών - Avatar",
|
||||
"Amiibo": "Amiibo",
|
||||
"Unknown": "Unknown",
|
||||
"Usage": "Usage",
|
||||
"Writable": "Writable",
|
||||
"SelectDlcDialogTitle": "Select DLC files",
|
||||
"SelectUpdateDialogTitle": "Select update files",
|
||||
"UserProfileWindowTitle": "User Profiles Manager",
|
||||
"CheatWindowTitle": "Cheats Manager",
|
||||
"Unknown": "Άγνωστο",
|
||||
"Usage": "Χρήση",
|
||||
"Writable": "Εγγράψιμο",
|
||||
"SelectDlcDialogTitle": "Επιλογή αρχείων DLC",
|
||||
"SelectUpdateDialogTitle": "Επιλογή αρχείων ενημέρωσης",
|
||||
"UserProfileWindowTitle": "Διαχειριστής Προφίλ Χρήστη",
|
||||
"CheatWindowTitle": "Διαχειριστής των Cheats",
|
||||
"DlcWindowTitle": "Downloadable Content Manager",
|
||||
"UpdateWindowTitle": "Title Update Manager",
|
||||
"CheatWindowHeading": "Cheats Available for {0} [{1}]",
|
||||
"UpdateWindowTitle": "Διαχειριστής Ενημερώσεων Τίτλου",
|
||||
"CheatWindowHeading": "Διαθέσιμα Cheats για {0} [{1}]",
|
||||
"BuildId": "BuildId:",
|
||||
"DlcWindowHeading": "{0} Downloadable Content(s) available for {1} ({2})",
|
||||
"UserProfilesEditProfile": "Edit Selected",
|
||||
"Cancel": "Cancel",
|
||||
"Save": "Save",
|
||||
"Discard": "Discard",
|
||||
"UserProfilesSetProfileImage": "Set Profile Image",
|
||||
"UserProfileEmptyNameError": "Name is required",
|
||||
"UserProfileNoImageError": "Profile image must be set",
|
||||
"UserProfilesEditProfile": "Επεξεργασία Επιλεγμένων",
|
||||
"Cancel": "Ακύρωση",
|
||||
"Save": "Αποθήκευση",
|
||||
"Discard": "Απόρριψη",
|
||||
"UserProfilesSetProfileImage": "Ορισμός Εικόνας Προφίλ",
|
||||
"UserProfileEmptyNameError": "Απαιτείται όνομα",
|
||||
"UserProfileNoImageError": "Η εικόνα προφίλ πρέπει να οριστεί",
|
||||
"GameUpdateWindowHeading": "{0} Update(s) available for {1} ({2})",
|
||||
"SettingsTabHotkeysResScaleUpHotkey": "Increase resolution:",
|
||||
"SettingsTabHotkeysResScaleDownHotkey": "Decrease resolution:",
|
||||
"UserProfilesName": "Name:",
|
||||
"SettingsTabHotkeysResScaleUpHotkey": "Αύξηση της ανάλυσης:",
|
||||
"SettingsTabHotkeysResScaleDownHotkey": "Μείωση της ανάλυσης:",
|
||||
"UserProfilesName": "Όνομα:",
|
||||
"UserProfilesUserId": "User Id:",
|
||||
"SettingsTabGraphicsBackend": "Graphics Backend",
|
||||
"SettingsTabGraphicsBackendTooltip": "Graphics Backend to use",
|
||||
"SettingsEnableTextureRecompression": "Enable Texture Recompression",
|
||||
"SettingsEnableTextureRecompressionTooltip": "Compresses certain textures in order to reduce VRAM usage.\n\nRecommended for use with GPUs that have less than 4GiB VRAM.\n\nLeave OFF if unsure.",
|
||||
"SettingsTabGraphicsPreferredGpu": "Preferred GPU",
|
||||
"SettingsTabGraphicsPreferredGpuTooltip": "Select the graphics card that will be used with the Vulkan graphics backend.\n\nDoes not affect the GPU that OpenGL will use.\n\nSet to the GPU flagged as \"dGPU\" if unsure. If there isn't one, leave untouched.",
|
||||
"SettingsAppRequiredRestartMessage": "Ryujinx Restart Required",
|
||||
"SettingsGpuBackendRestartMessage": "Graphics Backend or GPU settings have been modified. This will require a restart to be applied",
|
||||
"SettingsGpuBackendRestartSubMessage": "Do you want to restart now?",
|
||||
"RyujinxUpdaterMessage": "Do you want to update Ryujinx to the latest version?",
|
||||
"SettingsTabHotkeysVolumeUpHotkey": "Increase Volume:",
|
||||
"SettingsTabHotkeysVolumeDownHotkey": "Decrease Volume:",
|
||||
"SettingsEnableMacroHLE": "Enable Macro HLE",
|
||||
"SettingsEnableMacroHLETooltip": "High-level emulation of GPU Macro code.\n\nImproves performance, but may cause graphical glitches in some games.\n\nLeave ON if unsure.",
|
||||
"VolumeShort": "Vol",
|
||||
"UserProfilesManageSaves": "Manage Saves",
|
||||
"DeleteUserSave": "Do you want to delete user save for this game?",
|
||||
"IrreversibleActionNote": "This action is not reversible.",
|
||||
"SettingsTabGraphicsBackend": "Σύστημα Υποστήριξης Γραφικών",
|
||||
"SettingsTabGraphicsBackendTooltip": "Backend Γραφικών που θα χρησιμοποιηθεί",
|
||||
"SettingsEnableTextureRecompression": "Ενεργοποίηση Επανασυμπίεσης Των Texture",
|
||||
"SettingsEnableTextureRecompressionTooltip": "Συμπιέζει συγκεκριμένα texture για να μειωθεί η χρήση της VRAM.\nΣυνίσταται για χρήση σε κάρτες γραφικών με λιγότερο από 4 GiB VRAM.\nΑφήστε το Απενεργοποιημένο αν είστε αβέβαιοι.",
|
||||
"SettingsTabGraphicsPreferredGpu": "Προτιμώμενη GPU",
|
||||
"SettingsTabGraphicsPreferredGpuTooltip": "Επιλέξτε την κάρτα γραφικών η οποία θα χρησιμοποιηθεί από το Vulkan.\n\nΔεν επηρεάζει το OpenGL.\n\nΔιαλέξτε την GPU που διαθέτει την υπόδειξη \"dGPU\" αν δεν είστε βέβαιοι. Αν δεν υπάρχει κάποιαν, το πειράξετε",
|
||||
"SettingsAppRequiredRestartMessage": "Απαιτείται Επανεκκίνηση Του Ryujinx",
|
||||
"SettingsGpuBackendRestartMessage": "Οι ρυθμίσεις GPU έχουν αλλαχτεί. Θα χρειαστεί επανεκκίνηση του Ryujinx για να τεθούν σε ισχύ.",
|
||||
"SettingsGpuBackendRestartSubMessage": "Θέλετε να κάνετε επανεκκίνηση τώρα;",
|
||||
"RyujinxUpdaterMessage": "Θέλετε να ενημερώσετε το Ryujinx στην πιο πρόσφατη έκδοση:",
|
||||
"SettingsTabHotkeysVolumeUpHotkey": "Αύξηση Έντασης:",
|
||||
"SettingsTabHotkeysVolumeDownHotkey": "Μείωση Έντασης:",
|
||||
"SettingsEnableMacroHLE": "Ενεργοποίηση του Macro HLE",
|
||||
"SettingsEnableMacroHLETooltip": "Προσομοίωση του κώδικα GPU Macro .\n\nΒελτιώνει την απόδοση, αλλά μπορεί να προκαλέσει γραφικά προβλήματα σε μερικά παιχνίδια.\n\nΑφήστε ΕΝΕΡΓΟ αν δεν είστε σίγουροι.",
|
||||
"SettingsEnableColorSpacePassthrough": "Color Space Passthrough",
|
||||
"SettingsEnableColorSpacePassthroughTooltip": "Directs the Vulkan backend to pass through color information without specifying a color space. For users with wide gamut displays, this may result in more vibrant colors, at the cost of color correctness.",
|
||||
"VolumeShort": "Έντ.",
|
||||
"UserProfilesManageSaves": "Διαχείριση Των Save",
|
||||
"DeleteUserSave": "Επιθυμείτε να διαγράψετε το save χρήστη για το συγκεκριμένο παιχνίδι;",
|
||||
"IrreversibleActionNote": "Αυτή η ενέργεια είναι μη αναστρέψιμη.",
|
||||
"SaveManagerHeading": "Manage Saves for {0}",
|
||||
"SaveManagerTitle": "Save Manager",
|
||||
"Name": "Name",
|
||||
"Size": "Size",
|
||||
"Search": "Search",
|
||||
"UserProfilesRecoverLostAccounts": "Recover Lost Accounts",
|
||||
"Recover": "Recover",
|
||||
"UserProfilesRecoverHeading": "Saves were found for the following accounts"
|
||||
"SaveManagerTitle": "Διαχειριστής Save",
|
||||
"Name": "Όνομα",
|
||||
"Size": "Μέγεθος",
|
||||
"Search": "Αναζήτηση",
|
||||
"UserProfilesRecoverLostAccounts": "Ανάκτηση Χαμένων Λογαριασμών",
|
||||
"Recover": "Ανάκτηση",
|
||||
"UserProfilesRecoverHeading": "Βρέθηκαν save για τους ακόλουθους λογαριασμούς",
|
||||
"UserProfilesRecoverEmptyList": "Δεν υπάρχουν προφίλ για ανάκτηση",
|
||||
"GraphicsAATooltip": "Εφαρμόζει anti-aliasing στην απόδοση του παιχνιδιού",
|
||||
"GraphicsAALabel": "Anti-Aliasing",
|
||||
"GraphicsScalingFilterLabel": "Φίλτρο Κλιμάκωσης:",
|
||||
"GraphicsScalingFilterTooltip": "Ενεργοποιεί Κλίμακα Framebuffer",
|
||||
"GraphicsScalingFilterLevelLabel": "Επίπεδο",
|
||||
"GraphicsScalingFilterLevelTooltip": "Ορισμός Επιπέδου Φίλτρου Κλιμάκωσης",
|
||||
"SmaaLow": "Χαμηλό SMAA",
|
||||
"SmaaMedium": " Μεσαίο SMAA",
|
||||
"SmaaHigh": "Υψηλό SMAA",
|
||||
"SmaaUltra": "Oύλτρα SMAA",
|
||||
"UserEditorTitle": "Επεξεργασία Χρήστη",
|
||||
"UserEditorTitleCreate": "Δημιουργία Χρήστη",
|
||||
"SettingsTabNetworkInterface": "Διεπαφή Δικτύου",
|
||||
"NetworkInterfaceTooltip": "Η διεπαφή δικτύου που χρησιμοποιείται για τα χαρακτηριστικά LAN",
|
||||
"NetworkInterfaceDefault": "Προεπιλογή",
|
||||
"PackagingShaders": "Shaders Συσκευασίας",
|
||||
"AboutChangelogButton": "View Changelog on GitHub",
|
||||
"AboutChangelogButtonTooltipMessage": "Click to open the changelog for this version in your default browser."
|
||||
}
|
|
@ -72,6 +72,8 @@
|
|||
"GameListContextMenuExtractDataRomFSToolTip": "Extract the RomFS section from Application's current config (including updates)",
|
||||
"GameListContextMenuExtractDataLogo": "Logo",
|
||||
"GameListContextMenuExtractDataLogoToolTip": "Extract the Logo section from Application's current config (including updates)",
|
||||
"GameListContextMenuCreateShortcut": "Create Application Shortcut",
|
||||
"GameListContextMenuCreateShortcutToolTip": "Create a Desktop Shortcut that launches the selected Application",
|
||||
"StatusBarGamesLoaded": "{0}/{1} Games Loaded",
|
||||
"StatusBarSystemVersion": "System Version: {0}",
|
||||
"LinuxVmMaxMapCountDialogTitle": "Low limit for memory mappings detected",
|
||||
|
@ -544,7 +546,7 @@
|
|||
"SwkbdMinCharacters": "Must be at least {0} characters long",
|
||||
"SwkbdMinRangeCharacters": "Must be {0}-{1} characters long",
|
||||
"SoftwareKeyboard": "Software Keyboard",
|
||||
"SoftwareKeyboardModeNumbersOnly": "Must be numbers only",
|
||||
"SoftwareKeyboardModeNumeric": "Must be 0-9 or '.' only",
|
||||
"SoftwareKeyboardModeAlphabet": "Must be non CJK-characters only",
|
||||
"SoftwareKeyboardModeASCII": "Must be ASCII text only",
|
||||
"DialogControllerAppletMessagePlayerRange": "Application requests {0} player(s) with:\n\nTYPES: {1}\n\nPLAYERS: {2}\n\n{3}Please open Settings and reconfigure Input now or press Close.",
|
||||
|
@ -620,6 +622,8 @@
|
|||
"SettingsTabHotkeysVolumeDownHotkey": "Decrease Volume:",
|
||||
"SettingsEnableMacroHLE": "Enable Macro HLE",
|
||||
"SettingsEnableMacroHLETooltip": "High-level emulation of GPU Macro code.\n\nImproves performance, but may cause graphical glitches in some games.\n\nLeave ON if unsure.",
|
||||
"SettingsEnableColorSpacePassthrough": "Color Space Passthrough",
|
||||
"SettingsEnableColorSpacePassthroughTooltip": "Directs the Vulkan backend to pass through color information without specifying a color space. For users with wide gamut displays, this may result in more vibrant colors, at the cost of color correctness.",
|
||||
"VolumeShort": "Vol",
|
||||
"UserProfilesManageSaves": "Manage Saves",
|
||||
"DeleteUserSave": "Do you want to delete user save for this game?",
|
||||
|
@ -646,9 +650,12 @@
|
|||
"UserEditorTitle": "Edit User",
|
||||
"UserEditorTitleCreate": "Create User",
|
||||
"SettingsTabNetworkInterface": "Network Interface:",
|
||||
"NetworkInterfaceTooltip": "The network interface used for LAN features",
|
||||
"NetworkInterfaceTooltip": "The network interface used for LAN/LDN features",
|
||||
"NetworkInterfaceDefault": "Default",
|
||||
"PackagingShaders": "Packaging Shaders",
|
||||
"AboutChangelogButton": "View Changelog on GitHub",
|
||||
"AboutChangelogButtonTooltipMessage": "Click to open the changelog for this version in your default browser."
|
||||
"AboutChangelogButtonTooltipMessage": "Click to open the changelog for this version in your default browser.",
|
||||
"SettingsTabNetworkMultiplayer": "Multiplayer",
|
||||
"MultiplayerMode": "Mode:",
|
||||
"MultiplayerModeTooltip": "Change multiplayer mode"
|
||||
}
|
|
@ -7,6 +7,7 @@
|
|||
"SettingsTabSystemMemoryManagerModeSoftware": "Software",
|
||||
"SettingsTabSystemMemoryManagerModeHost": "Host (rápido)",
|
||||
"SettingsTabSystemMemoryManagerModeHostUnchecked": "Host sin verificación (más rápido, inseguro)",
|
||||
"SettingsTabSystemUseHypervisor": "Usar hipervisor",
|
||||
"MenuBarFile": "_Archivo",
|
||||
"MenuBarFileOpenFromFile": "_Cargar aplicación desde un archivo",
|
||||
"MenuBarFileOpenUnpacked": "Cargar juego _desempaquetado",
|
||||
|
@ -26,6 +27,9 @@
|
|||
"MenuBarToolsInstallFirmware": "Instalar firmware",
|
||||
"MenuBarFileToolsInstallFirmwareFromFile": "Instalar firmware desde un archivo XCI o ZIP",
|
||||
"MenuBarFileToolsInstallFirmwareFromDirectory": "Instalar firmware desde una carpeta",
|
||||
"MenuBarToolsManageFileTypes": "Administrar tipos de archivo",
|
||||
"MenuBarToolsInstallFileTypes": "Instalar tipos de archivo",
|
||||
"MenuBarToolsUninstallFileTypes": "Desinstalar tipos de archivo",
|
||||
"MenuBarHelp": "Ayuda",
|
||||
"MenuBarHelpCheckForUpdates": "Buscar actualizaciones",
|
||||
"MenuBarHelpAbout": "Acerca de",
|
||||
|
@ -70,13 +74,23 @@
|
|||
"GameListContextMenuExtractDataLogoToolTip": "Extraer la sección Logo de la configuración actual de la aplicación (incluyendo actualizaciones)",
|
||||
"StatusBarGamesLoaded": "{0}/{1} juegos cargados",
|
||||
"StatusBarSystemVersion": "Versión del sistema: {0}",
|
||||
"LinuxVmMaxMapCountDialogTitle": "Límite inferior para mapeos de memoria detectado",
|
||||
"LinuxVmMaxMapCountDialogTextPrimary": "¿Quieres aumentar el valor de vm.max_map_count a {0}?",
|
||||
"LinuxVmMaxMapCountDialogTextSecondary": "Algunos juegos podrían intentar crear más mapeos de memoria de los permitidos. Ryujinx se bloqueará tan pronto como se supere este límite.",
|
||||
"LinuxVmMaxMapCountDialogButtonUntilRestart": "Sí, hasta el próximo reinicio",
|
||||
"LinuxVmMaxMapCountDialogButtonPersistent": "Si, permanentemente",
|
||||
"LinuxVmMaxMapCountWarningTextPrimary": "La cantidad máxima de mapeos de memoria es menor de lo recomendado.",
|
||||
"LinuxVmMaxMapCountWarningTextSecondary": "El valor actual de vm.max_map_count ({0}) es menor que {1}. Algunos juegos podrían intentar crear más mapeos de memoria de los permitidos actualmente. Ryujinx se bloqueará tan pronto como se supere este límite.\n\nPuede que desee aumentar manualmente el límite o instalar pkexec, lo que permite a Ryujinx ayudar con eso.",
|
||||
"Settings": "Configuración",
|
||||
"SettingsTabGeneral": "Interfaz de usuario",
|
||||
"SettingsTabGeneralGeneral": "General",
|
||||
"SettingsTabGeneralEnableDiscordRichPresence": "Habilitar estado en Discord",
|
||||
"SettingsTabGeneralCheckUpdatesOnLaunch": "Buscar actualizaciones al iniciar",
|
||||
"SettingsTabGeneralShowConfirmExitDialog": "Mostrar diálogo de confirmación al cerrar",
|
||||
"SettingsTabGeneralHideCursor": "Esconder el cursor:",
|
||||
"SettingsTabGeneralHideCursorNever": "Nunca",
|
||||
"SettingsTabGeneralHideCursorOnIdle": "Ocultar cursor cuando esté inactivo",
|
||||
"SettingsTabGeneralHideCursorAlways": "Siempre",
|
||||
"SettingsTabGeneralGameDirectories": "Carpetas de juegos",
|
||||
"SettingsTabGeneralAdd": "Agregar",
|
||||
"SettingsTabGeneralRemove": "Quitar",
|
||||
|
@ -158,6 +172,7 @@
|
|||
"SettingsTabLoggingEnableFsAccessLogs": "Habilitar registros de Fs Access",
|
||||
"SettingsTabLoggingFsGlobalAccessLogMode": "Modo de registros Fs Global Access:",
|
||||
"SettingsTabLoggingDeveloperOptions": "Opciones de desarrollador (ADVERTENCIA: empeorarán el rendimiento)",
|
||||
"SettingsTabLoggingDeveloperOptionsNote": "ADVERTENCIA: Reducirá el rendimiento",
|
||||
"SettingsTabLoggingGraphicsBackendLogLevel": "Nivel de registro de backend gráficos:",
|
||||
"SettingsTabLoggingGraphicsBackendLogLevelNone": "Nada",
|
||||
"SettingsTabLoggingGraphicsBackendLogLevelError": "Errores",
|
||||
|
@ -208,26 +223,17 @@
|
|||
"ControllerSettingsDPadDown": "Abajo",
|
||||
"ControllerSettingsDPadLeft": "Izquierda",
|
||||
"ControllerSettingsDPadRight": "Derecha",
|
||||
"ControllerSettingsStickButton": "Botón",
|
||||
"ControllerSettingsStickUp": "Arriba",
|
||||
"ControllerSettingsStickDown": "Abajo",
|
||||
"ControllerSettingsStickLeft": "Izquierda",
|
||||
"ControllerSettingsStickRight": "Derecha",
|
||||
"ControllerSettingsStickStick": "Palanca",
|
||||
"ControllerSettingsStickInvertXAxis": "Invertir eje X",
|
||||
"ControllerSettingsStickInvertYAxis": "Invertir eje Y",
|
||||
"ControllerSettingsStickDeadzone": "Zona muerta:",
|
||||
"ControllerSettingsLStick": "Palanca izquierda",
|
||||
"ControllerSettingsLStickButton": "Botón (L3)",
|
||||
"ControllerSettingsLStickUp": "Arriba",
|
||||
"ControllerSettingsLStickDown": "Abajo",
|
||||
"ControllerSettingsLStickLeft": "Izquierda",
|
||||
"ControllerSettingsLStickRight": "Derecha",
|
||||
"ControllerSettingsLStickStick": "Palanca",
|
||||
"ControllerSettingsLStickInvertXAxis": "Invertir eje X",
|
||||
"ControllerSettingsLStickInvertYAxis": "Invertir eje Y",
|
||||
"ControllerSettingsLStickDeadzone": "Zona muerta:",
|
||||
"ControllerSettingsRStick": "Palanca derecha",
|
||||
"ControllerSettingsRStickButton": "Botón (R3)",
|
||||
"ControllerSettingsRStickUp": "Arriba",
|
||||
"ControllerSettingsRStickDown": "Abajo",
|
||||
"ControllerSettingsRStickLeft": "Izquierda",
|
||||
"ControllerSettingsRStickRight": "Derecha",
|
||||
"ControllerSettingsRStickStick": "Palanca",
|
||||
"ControllerSettingsRStickInvertXAxis": "Invertir eje X",
|
||||
"ControllerSettingsRStickInvertYAxis": "Invertir eje Y",
|
||||
"ControllerSettingsRStickDeadzone": "Zona muerta:",
|
||||
"ControllerSettingsTriggersLeft": "Gatillos izquierdos",
|
||||
"ControllerSettingsTriggersRight": "Gatillos derechos",
|
||||
"ControllerSettingsTriggersButtonsLeft": "Botones de gatillo izquierdos",
|
||||
|
@ -262,6 +268,7 @@
|
|||
"UserProfilesAddNewProfile": "Añadir nuevo perfil",
|
||||
"UserProfilesDelete": "Eliminar",
|
||||
"UserProfilesClose": "Cerrar",
|
||||
"ProfileNameSelectionWatermark": "Escoge un apodo",
|
||||
"ProfileImageSelectionTitle": "Selección de imagen de perfil",
|
||||
"ProfileImageSelectionHeader": "Elige una imagen de perfil",
|
||||
"ProfileImageSelectionNote": "Puedes importar una imagen de perfil personalizada, o seleccionar un avatar del firmware de sistema",
|
||||
|
@ -282,6 +289,7 @@
|
|||
"ControllerSettingsSaveProfileToolTip": "Guardar perfil",
|
||||
"MenuBarFileToolsTakeScreenshot": "Captura de pantalla",
|
||||
"MenuBarFileToolsHideUi": "Ocultar interfaz",
|
||||
"GameListContextMenuRunApplication": "Ejecutar aplicación",
|
||||
"GameListContextMenuToggleFavorite": "Marcar favorito",
|
||||
"GameListContextMenuToggleFavoriteToolTip": "Marca o desmarca el juego como favorito",
|
||||
"SettingsTabGeneralTheme": "Tema",
|
||||
|
@ -337,6 +345,10 @@
|
|||
"DialogFirmwareInstallEmbeddedSuccessMessage": "No se encontró firmware instalado pero Ryujinx pudo instalar el firmware {0} a partir de este juego.\nA continuación, se iniciará el emulador.",
|
||||
"DialogFirmwareNoFirmwareInstalledMessage": "No hay firmware instalado",
|
||||
"DialogFirmwareInstalledMessage": "Se instaló el firmware {0}",
|
||||
"DialogInstallFileTypesSuccessMessage": "¡Tipos de archivos instalados con éxito!",
|
||||
"DialogInstallFileTypesErrorMessage": "No se pudo desinstalar los tipos de archivo.",
|
||||
"DialogUninstallFileTypesSuccessMessage": "¡Tipos de archivos desinstalados con éxito!",
|
||||
"DialogUninstallFileTypesErrorMessage": "No se pudo desinstalar los tipos de archivo.",
|
||||
"DialogOpenSettingsWindowLabel": "Abrir ventana de opciones",
|
||||
"DialogControllerAppletTitle": "Applet de mandos",
|
||||
"DialogMessageDialogErrorExceptionMessage": "Error al mostrar cuadro de diálogo: {0}",
|
||||
|
@ -368,6 +380,9 @@
|
|||
"DialogFirmwareInstallerFirmwareInstallSuccessMessage": "Versión de sistema {0} instalada con éxito.",
|
||||
"DialogUserProfileDeletionWarningMessage": "Si eliminas el perfil seleccionado no quedará ningún otro perfil",
|
||||
"DialogUserProfileDeletionConfirmMessage": "¿Quieres eliminar el perfil seleccionado?",
|
||||
"DialogUserProfileUnsavedChangesTitle": "Advertencia - Cambios sin guardar",
|
||||
"DialogUserProfileUnsavedChangesMessage": "Ha realizado cambios en este perfil de usuario que no han sido guardados.",
|
||||
"DialogUserProfileUnsavedChangesSubMessage": "¿Quieres descartar los cambios realizados?",
|
||||
"DialogControllerSettingsModifiedConfirmMessage": "Se ha actualizado la configuración del mando actual.",
|
||||
"DialogControllerSettingsModifiedConfirmSubMessage": "¿Guardar cambios?",
|
||||
"DialogLoadNcaErrorMessage": "{0}. Archivo con error: {1}",
|
||||
|
@ -416,6 +431,7 @@
|
|||
"DlcManagerEnableAllButton": "Activar todas",
|
||||
"DlcManagerDisableAllButton": "Desactivar todos",
|
||||
"MenuBarOptionsChangeLanguage": "Cambiar idioma",
|
||||
"MenuBarShowFileTypes": "Mostrar tipos de archivo",
|
||||
"CommonSort": "Orden",
|
||||
"CommonShowNames": "Mostrar nombres",
|
||||
"CommonFavorite": "Favorito",
|
||||
|
@ -445,6 +461,7 @@
|
|||
"MemoryManagerSoftwareTooltip": "Usa una tabla de paginación de software para traducir direcciones. Ofrece la precisión más exacta pero el rendimiento más lento.",
|
||||
"MemoryManagerHostTooltip": "Mapea la memoria directamente en la dirección de espacio del host. Compilación y ejecución JIT mucho más rápida.",
|
||||
"MemoryManagerUnsafeTooltip": "Mapea la memoria directamente, pero no enmascara la dirección dentro del espacio de dirección del guest antes del acceso. El modo más rápido, pero a costa de seguridad. La aplicación guest puede acceder a la memoria desde cualquier parte en Ryujinx, así que ejecuta solo programas en los que confíes cuando uses este modo.",
|
||||
"UseHypervisorTooltip": "Usar Hypervisor en lugar de JIT. Mejora enormemente el rendimiento cuando está disponible, pero puede ser inestable en su estado actual.",
|
||||
"DRamTooltip": "Expande la memoria DRAM del sistema emulado de 4GiB a 6GiB.\n\nUtilizar solo con packs de texturas HD o mods de resolución 4K. NO mejora el rendimiento.\n\nDesactívalo si no sabes qué hacer.",
|
||||
"IgnoreMissingServicesTooltip": "Hack para ignorar servicios no implementados del Horizon OS. Esto puede ayudar a sobrepasar crasheos cuando inicies ciertos juegos.\n\nDesactívalo si no sabes qué hacer.",
|
||||
"GraphicsBackendThreadingTooltip": "Ejecuta los comandos del motor gráfico en un segundo hilo. Acelera la compilación de sombreadores, reduce los tirones, y mejora el rendimiento en controladores gráficos que no realicen su propio multihilado. Rendimiento máximo ligeramente superior en controladores gráficos que soporten multihilado.\n\nSelecciona \"Auto\" si no sabes qué hacer.",
|
||||
|
@ -527,6 +544,9 @@
|
|||
"SwkbdMinCharacters": "Debe tener al menos {0} caracteres",
|
||||
"SwkbdMinRangeCharacters": "Debe tener {0}-{1} caracteres",
|
||||
"SoftwareKeyboard": "Teclado de software",
|
||||
"SoftwareKeyboardModeNumbersOnly": "Solo deben ser números",
|
||||
"SoftwareKeyboardModeAlphabet": "Solo deben ser caracteres no CJK",
|
||||
"SoftwareKeyboardModeASCII": "Solo deben ser texto ASCII",
|
||||
"DialogControllerAppletMessagePlayerRange": "La aplicación require {0} jugador(es) con:\n\nTYPES: {1}\n\nPLAYERS: {2}\n\n{3}Por favor abre las opciones y reconfigura los dispositivos de entrada o presiona 'Cerrar'.",
|
||||
"DialogControllerAppletMessage": "La aplicación require exactamente {0} jugador(es) con:\n\nTYPES: {1}\n\nPLAYERS: {2}\n\n{3}Por favor abre las opciones y reconfigura los dispositivos de entrada o presiona 'Cerrar'.",
|
||||
"DialogControllerAppletDockModeSet": "Modo dock/TV activo. El control portátil también es inválido.\n\n",
|
||||
|
@ -572,6 +592,7 @@
|
|||
"DlcWindowTitle": "Administrar contenido descargable",
|
||||
"UpdateWindowTitle": "Administrar actualizaciones",
|
||||
"CheatWindowHeading": "Cheats disponibles para {0} [{1}]",
|
||||
"BuildId": "Id de compilación:",
|
||||
"DlcWindowHeading": "Contenido descargable disponible para {0} [{1}]",
|
||||
"UserProfilesEditProfile": "Editar selección",
|
||||
"Cancel": "Cancelar",
|
||||
|
@ -586,29 +607,50 @@
|
|||
"UserProfilesName": "Nombre:",
|
||||
"UserProfilesUserId": "Id de Usuario:",
|
||||
"SettingsTabGraphicsBackend": "Fondo de gráficos",
|
||||
"SettingsTabGraphicsBackendTooltip": "Graphics Backend to use",
|
||||
"SettingsEnableTextureRecompression": "Enable Texture Recompression",
|
||||
"SettingsEnableTextureRecompressionTooltip": "Compresses certain textures in order to reduce VRAM usage.\n\nRecommended for use with GPUs that have less than 4GiB VRAM.\n\nLeave OFF if unsure.",
|
||||
"SettingsTabGraphicsPreferredGpu": "Preferred GPU",
|
||||
"SettingsTabGraphicsPreferredGpuTooltip": "Select the graphics card that will be used with the Vulkan graphics backend.\n\nDoes not affect the GPU that OpenGL will use.\n\nSet to the GPU flagged as \"dGPU\" if unsure. If there isn't one, leave untouched.",
|
||||
"SettingsAppRequiredRestartMessage": "Ryujinx Restart Required",
|
||||
"SettingsGpuBackendRestartMessage": "Graphics Backend or GPU settings have been modified. This will require a restart to be applied",
|
||||
"SettingsGpuBackendRestartSubMessage": "Do you want to restart now?",
|
||||
"RyujinxUpdaterMessage": "Do you want to update Ryujinx to the latest version?",
|
||||
"SettingsTabHotkeysVolumeUpHotkey": "Increase Volume:",
|
||||
"SettingsTabHotkeysVolumeDownHotkey": "Decrease Volume:",
|
||||
"SettingsEnableMacroHLE": "Enable Macro HLE",
|
||||
"SettingsEnableMacroHLETooltip": "High-level emulation of GPU Macro code.\n\nImproves performance, but may cause graphical glitches in some games.\n\nLeave ON if unsure.",
|
||||
"VolumeShort": "Vol",
|
||||
"UserProfilesManageSaves": "Manage Saves",
|
||||
"DeleteUserSave": "Do you want to delete user save for this game?",
|
||||
"IrreversibleActionNote": "This action is not reversible.",
|
||||
"SettingsTabGraphicsBackendTooltip": "Back-end de los gráficos a utilizar",
|
||||
"SettingsEnableTextureRecompression": "Activar recompresión de texturas",
|
||||
"SettingsEnableTextureRecompressionTooltip": "Comprime ciertas texturas para reducir el uso de la VRAM.\n\nRecomendado para GPUs que tienen menos de 4 GB de VRAM.\n\nMantén esta opción desactivada si no estás seguro.",
|
||||
"SettingsTabGraphicsPreferredGpu": "GPU preferida",
|
||||
"SettingsTabGraphicsPreferredGpuTooltip": "Selecciona la tarjeta gráfica que se utilizará con los back-end de gráficos Vulkan.\n\nNo afecta la GPU que utilizará OpenGL.\n\nFije a la GPU marcada como \"dGUP\" ante dudas. Si no hay una, no haga modificaciones.",
|
||||
"SettingsAppRequiredRestartMessage": "Reinicio de Ryujinx requerido.",
|
||||
"SettingsGpuBackendRestartMessage": "La configuración de la GPU o del back-end de los gráficos fue modificada. Es necesario reiniciar para que se aplique.",
|
||||
"SettingsGpuBackendRestartSubMessage": "¿Quieres reiniciar ahora?",
|
||||
"RyujinxUpdaterMessage": "¿Quieres actualizar Ryujinx a la última versión?",
|
||||
"SettingsTabHotkeysVolumeUpHotkey": "Aumentar volumen:",
|
||||
"SettingsTabHotkeysVolumeDownHotkey": "Disminuir volumen:",
|
||||
"SettingsEnableMacroHLE": "Activar Macros HLE",
|
||||
"SettingsEnableMacroHLETooltip": "Emulación alto-nivel del código de Macros de GPU\n\nIncrementa el rendimiento, pero puede causar errores gráficos en algunos juegos.\n\nDeja esta opción activada si no estás seguro.",
|
||||
"SettingsEnableColorSpacePassthrough": "Paso de espacio de color",
|
||||
"SettingsEnableColorSpacePassthroughTooltip": "Dirige el backend de Vulkan a pasar a través de la información del color sin especificar un espacio de color. Para los usuarios con pantallas de gran gama, esto puede resultar en colores más vibrantes, a costa de la corrección del color.",
|
||||
"VolumeShort": "Volumen",
|
||||
"UserProfilesManageSaves": "Administrar mis partidas guardadas",
|
||||
"DeleteUserSave": "¿Quieres borrar los datos de usuario de este juego?",
|
||||
"IrreversibleActionNote": "Esta acción no es reversible.",
|
||||
"SaveManagerHeading": "Manage Saves for {0}",
|
||||
"SaveManagerTitle": "Save Manager",
|
||||
"Name": "Name",
|
||||
"Size": "Size",
|
||||
"Search": "Search",
|
||||
"UserProfilesRecoverLostAccounts": "Recover Lost Accounts",
|
||||
"Recover": "Recover",
|
||||
"UserProfilesRecoverHeading": "Saves were found for the following accounts"
|
||||
"SaveManagerTitle": "Administrador de datos de guardado.",
|
||||
"Name": "Nombre",
|
||||
"Size": "Tamaño",
|
||||
"Search": "Buscar",
|
||||
"UserProfilesRecoverLostAccounts": "Recuperar cuentas perdidas",
|
||||
"Recover": "Recuperar",
|
||||
"UserProfilesRecoverHeading": "Datos de guardado fueron encontrados para las siguientes cuentas",
|
||||
"UserProfilesRecoverEmptyList": "No hay perfiles a recuperar",
|
||||
"GraphicsAATooltip": "Aplica el suavizado de bordes al procesamiento del juego",
|
||||
"GraphicsAALabel": "Suavizado de bordes:",
|
||||
"GraphicsScalingFilterLabel": "Filtro de escalado:",
|
||||
"GraphicsScalingFilterTooltip": "Activa el escalado de búfer de fotogramas",
|
||||
"GraphicsScalingFilterLevelLabel": "Nivel",
|
||||
"GraphicsScalingFilterLevelTooltip": "Establecer nivel del filtro de escalado",
|
||||
"SmaaLow": "SMAA Bajo",
|
||||
"SmaaMedium": "SMAA Medio",
|
||||
"SmaaHigh": "SMAA Alto",
|
||||
"SmaaUltra": "SMAA Ultra",
|
||||
"UserEditorTitle": "Editar usuario",
|
||||
"UserEditorTitleCreate": "Crear Usuario",
|
||||
"SettingsTabNetworkInterface": "Interfaz de Red",
|
||||
"NetworkInterfaceTooltip": "Interfaz de red usada para las características LAN",
|
||||
"NetworkInterfaceDefault": "Predeterminado",
|
||||
"PackagingShaders": "Empaquetando sombreadores",
|
||||
"AboutChangelogButton": "Ver registro de cambios en GitHub",
|
||||
"AboutChangelogButtonTooltipMessage": "Haga clic para abrir el registro de cambios para esta versión en su navegador predeterminado."
|
||||
}
|
|
@ -1,43 +1,47 @@
|
|||
{
|
||||
"Language": "Français",
|
||||
"MenuBarFileOpenApplet": "Ouvrir Applet",
|
||||
"MenuBarFileOpenAppletOpenMiiAppletToolTip": "Ouvrir l'Applet Mii Editor en mode Standalone",
|
||||
"MenuBarFileOpenAppletOpenMiiAppletToolTip": "Ouvrir l'Éditeur Applet Mii en mode autonome",
|
||||
"SettingsTabInputDirectMouseAccess": "Accès direct à la souris",
|
||||
"SettingsTabSystemMemoryManagerMode": "Mode de gestion mémoire :",
|
||||
"SettingsTabSystemMemoryManagerMode": "Mode de gestion de la mémoire :",
|
||||
"SettingsTabSystemMemoryManagerModeSoftware": "Logiciel",
|
||||
"SettingsTabSystemMemoryManagerModeHost": "Hôte (rapide)",
|
||||
"SettingsTabSystemMemoryManagerModeHostUnchecked": "Hôte non vérifié (plus rapide, non sécurisé)",
|
||||
"SettingsTabSystemUseHypervisor": "Utiliser l'Hyperviseur",
|
||||
"MenuBarFile": "_Fichier",
|
||||
"MenuBarFileOpenFromFile": "_Charger un jeu depuis un fichier",
|
||||
"MenuBarFileOpenUnpacked": "Charger un jeu _extrait",
|
||||
"MenuBarFileOpenUnpacked": "Charger un jeu extrait",
|
||||
"MenuBarFileOpenEmuFolder": "Ouvrir le dossier Ryujinx",
|
||||
"MenuBarFileOpenLogsFolder": "Ouvrir le dossier des journaux",
|
||||
"MenuBarFileExit": "_Quitter",
|
||||
"MenuBarOptions": "Options",
|
||||
"MenuBarOptionsToggleFullscreen": "Basculer en plein écran",
|
||||
"MenuBarOptionsStartGamesInFullscreen": "Démarrer le jeu en plein écran",
|
||||
"MenuBarOptionsStartGamesInFullscreen": "Démarrer jeux en plein écran",
|
||||
"MenuBarOptionsStopEmulation": "Arrêter l'émulation",
|
||||
"MenuBarOptionsSettings": "_Paramètres",
|
||||
"MenuBarOptionsManageUserProfiles": "_Gêrer les profils d'utilisateurs",
|
||||
"MenuBarOptionsManageUserProfiles": "_Gérer les profils d'utilisateurs",
|
||||
"MenuBarActions": "_Actions",
|
||||
"MenuBarOptionsSimulateWakeUpMessage": "Simuler une sortie de veille",
|
||||
"MenuBarOptionsSimulateWakeUpMessage": "Simuler un message de réveil",
|
||||
"MenuBarActionsScanAmiibo": "Scanner un Amiibo",
|
||||
"MenuBarTools": "_Outils",
|
||||
"MenuBarToolsInstallFirmware": "Installer un firmware",
|
||||
"MenuBarFileToolsInstallFirmwareFromFile": "Installer un firmware depuis un fichier XCI ou ZIP",
|
||||
"MenuBarFileToolsInstallFirmwareFromDirectory": "Installer un firmware depuis un dossier",
|
||||
"MenuBarToolsManageFileTypes": "Gérer les types de fichiers",
|
||||
"MenuBarToolsInstallFileTypes": "Installer les types de fichiers",
|
||||
"MenuBarToolsUninstallFileTypes": "Désinstaller les types de fichiers",
|
||||
"MenuBarHelp": "Aide",
|
||||
"MenuBarHelpCheckForUpdates": "Vérifier les mises à jour",
|
||||
"MenuBarHelpAbout": "Á propos",
|
||||
"MenuSearch": "Rechercher...",
|
||||
"GameListHeaderFavorite": "Favoris",
|
||||
"GameListHeaderIcon": "Icône",
|
||||
"GameListHeaderApplication": "Application",
|
||||
"GameListHeaderApplication": "Nom",
|
||||
"GameListHeaderDeveloper": "Développeur",
|
||||
"GameListHeaderVersion": "Version",
|
||||
"GameListHeaderTimePlayed": "Temps de jeu",
|
||||
"GameListHeaderLastPlayed": "Dernière partie",
|
||||
"GameListHeaderFileExtension": "Extension du Fichier",
|
||||
"GameListHeaderLastPlayed": "jouer la dernière fois",
|
||||
"GameListHeaderFileExtension": "Fichier externe",
|
||||
"GameListHeaderFileSize": "Taille du Fichier",
|
||||
"GameListHeaderPath": "Chemin",
|
||||
"GameListContextMenuOpenUserSaveDirectory": "Ouvrir le dossier de sauvegarde utilisateur",
|
||||
|
@ -46,8 +50,8 @@
|
|||
"GameListContextMenuOpenDeviceSaveDirectoryToolTip": "Ouvre le dossier contenant la sauvegarde console du jeu",
|
||||
"GameListContextMenuOpenBcatSaveDirectory": "Ouvrir le dossier de sauvegarde BCAT",
|
||||
"GameListContextMenuOpenBcatSaveDirectoryToolTip": "Ouvre le dossier contenant la sauvegarde BCAT du jeu",
|
||||
"GameListContextMenuManageTitleUpdates": "Gérer les mises à jour",
|
||||
"GameListContextMenuManageTitleUpdatesToolTip": "Ouvre la fenêtre de gestion des mises à jour",
|
||||
"GameListContextMenuManageTitleUpdates": "Gérer la mise à jour des titres",
|
||||
"GameListContextMenuManageTitleUpdatesToolTip": "Ouvre la fenêtre de gestion de la mise à jour des titres",
|
||||
"GameListContextMenuManageDlc": "Gérer les DLC",
|
||||
"GameListContextMenuManageDlcToolTip": "Ouvre la fenêtre de gestion des DLC",
|
||||
"GameListContextMenuOpenModsDirectory": "Ouvrir le dossier des Mods",
|
||||
|
@ -70,13 +74,23 @@
|
|||
"GameListContextMenuExtractDataLogoToolTip": "Extrait la section Logo du jeu (mise à jour incluse)",
|
||||
"StatusBarGamesLoaded": "{0}/{1} Jeux chargés",
|
||||
"StatusBarSystemVersion": "Version du Firmware: {0}",
|
||||
"LinuxVmMaxMapCountDialogTitle": "Limite basse pour les mappages de mémoire détectés",
|
||||
"LinuxVmMaxMapCountDialogTextPrimary": "Voulez-vous augmenter la valeur de vm.max_map_count à {0}",
|
||||
"LinuxVmMaxMapCountDialogTextSecondary": "Certains jeux peuvent essayer de créer plus de mappages de mémoire que ce qui est actuellement autorisé. Ryujinx plantera dès que cette limite sera dépassée.",
|
||||
"LinuxVmMaxMapCountDialogButtonUntilRestart": "Oui, jusqu'au prochain redémarrage",
|
||||
"LinuxVmMaxMapCountDialogButtonPersistent": "Oui, en permanence",
|
||||
"LinuxVmMaxMapCountWarningTextPrimary": "La quantité maximale de mappings mémoire est inférieure à la valeur recommandée.",
|
||||
"LinuxVmMaxMapCountWarningTextSecondary": "La valeur actuelle de vm.max_map_count ({0}) est inférieure à {1}. Certains jeux peuvent essayer de créer plus de mappings mémoire que ceux actuellement autorisés. Ryujinx s'écrasera dès que cette limite sera dépassée.\n\nVous pouvez soit augmenter manuellement la limite, soit installer pkexec, ce qui permet à Ryujinx de l'aider.",
|
||||
"Settings": "Paramètres",
|
||||
"SettingsTabGeneral": "Général",
|
||||
"SettingsTabGeneral": "Interface Utilisateur",
|
||||
"SettingsTabGeneralGeneral": "Général",
|
||||
"SettingsTabGeneralEnableDiscordRichPresence": "Active Discord Rich Presence",
|
||||
"SettingsTabGeneralEnableDiscordRichPresence": "Activer Discord Rich Presence",
|
||||
"SettingsTabGeneralCheckUpdatesOnLaunch": "Vérifier les mises à jour au démarrage",
|
||||
"SettingsTabGeneralShowConfirmExitDialog": "Afficher le message de \"Confirmation de fermeture\"",
|
||||
"SettingsTabGeneralShowConfirmExitDialog": "Afficher le message de \"Confirmation de sortie\"",
|
||||
"SettingsTabGeneralHideCursor": "Masquer le Curseur :",
|
||||
"SettingsTabGeneralHideCursorNever": "Jamais",
|
||||
"SettingsTabGeneralHideCursorOnIdle": "Masquer le curseur si inactif",
|
||||
"SettingsTabGeneralHideCursorAlways": "Toujours",
|
||||
"SettingsTabGeneralGameDirectories": "Dossiers de Jeux",
|
||||
"SettingsTabGeneralAdd": "Ajouter",
|
||||
"SettingsTabGeneralRemove": "Supprimer",
|
||||
|
@ -92,7 +106,7 @@
|
|||
"SettingsTabSystemSystemRegionTaiwan": "Taïwan",
|
||||
"SettingsTabSystemSystemLanguage": "Langue du système:",
|
||||
"SettingsTabSystemSystemLanguageJapanese": "Japonais",
|
||||
"SettingsTabSystemSystemLanguageAmericanEnglish": "Américain",
|
||||
"SettingsTabSystemSystemLanguageAmericanEnglish": "Anglais Américain",
|
||||
"SettingsTabSystemSystemLanguageFrench": "Français",
|
||||
"SettingsTabSystemSystemLanguageGerman": "Allemand",
|
||||
"SettingsTabSystemSystemLanguageItalian": "Italien",
|
||||
|
@ -103,25 +117,25 @@
|
|||
"SettingsTabSystemSystemLanguagePortuguese": "Portugais",
|
||||
"SettingsTabSystemSystemLanguageRussian": "Russe",
|
||||
"SettingsTabSystemSystemLanguageTaiwanese": "Taïwanais",
|
||||
"SettingsTabSystemSystemLanguageBritishEnglish": "Anglais",
|
||||
"SettingsTabSystemSystemLanguageCanadianFrench": "Canadien",
|
||||
"SettingsTabSystemSystemLanguageBritishEnglish": "Anglais britannique ",
|
||||
"SettingsTabSystemSystemLanguageCanadianFrench": "Français Canadien",
|
||||
"SettingsTabSystemSystemLanguageLatinAmericanSpanish": "Espagnol latino-américain",
|
||||
"SettingsTabSystemSystemLanguageSimplifiedChinese": "Chinois simplifié",
|
||||
"SettingsTabSystemSystemLanguageTraditionalChinese": "Chinois traditionnel",
|
||||
"SettingsTabSystemSystemTimeZone": "Fuseau horaire du système:",
|
||||
"SettingsTabSystemSystemTimeZone": "Fuseau horaire du système :",
|
||||
"SettingsTabSystemSystemTime": "Heure du système:",
|
||||
"SettingsTabSystemEnableVsync": "Activer la VSync",
|
||||
"SettingsTabSystemEnableVsync": "Activer le VSync",
|
||||
"SettingsTabSystemEnablePptc": "Activer le PPTC (Profiled Persistent Translation Cache)",
|
||||
"SettingsTabSystemEnableFsIntegrityChecks": "Activer la vérification de l'intégrité du système de fichiers",
|
||||
"SettingsTabSystemAudioBackend": "Bibliothèque Audio :",
|
||||
"SettingsTabSystemAudioBackend": "Back-end audio",
|
||||
"SettingsTabSystemAudioBackendDummy": "Factice",
|
||||
"SettingsTabSystemAudioBackendOpenAL": "OpenAL",
|
||||
"SettingsTabSystemAudioBackendSoundIO": "SoundIO",
|
||||
"SettingsTabSystemAudioBackendSDL2": "SDL2",
|
||||
"SettingsTabSystemHacks": "Hacks",
|
||||
"SettingsTabSystemHacksNote": " (Cela peut causer des instabilités)",
|
||||
"SettingsTabSystemExpandDramSize": "Augmenter la taille de la DRAM à 6GiB",
|
||||
"SettingsTabSystemIgnoreMissingServices": "Ignorer les services manquant",
|
||||
"SettingsTabSystemExpandDramSize": "Utiliser disposition alternative de la mémoire (développeur)",
|
||||
"SettingsTabSystemIgnoreMissingServices": "Ignorer les services manquants",
|
||||
"SettingsTabGraphics": "Graphique",
|
||||
"SettingsTabGraphicsAPI": "API Graphique",
|
||||
"SettingsTabGraphicsEnableShaderCache": "Activer le cache des shaders",
|
||||
|
@ -132,12 +146,12 @@
|
|||
"SettingsTabGraphicsAnisotropicFiltering8x": "x8",
|
||||
"SettingsTabGraphicsAnisotropicFiltering16x": "x16",
|
||||
"SettingsTabGraphicsResolutionScale": "Échelle de résolution:",
|
||||
"SettingsTabGraphicsResolutionScaleCustom": "Customisée (Non recommandée)",
|
||||
"SettingsTabGraphicsResolutionScaleCustom": "Personnalisée (Non recommandée)",
|
||||
"SettingsTabGraphicsResolutionScaleNative": "Natif (720p/1080p)",
|
||||
"SettingsTabGraphicsResolutionScale2x": "x2 (1440p/2160p)",
|
||||
"SettingsTabGraphicsResolutionScale3x": "x3 (2160p/3240p)",
|
||||
"SettingsTabGraphicsResolutionScale4x": "x4 (2880p/4320p)",
|
||||
"SettingsTabGraphicsAspectRatio": "Format:",
|
||||
"SettingsTabGraphicsAspectRatio": "Format :",
|
||||
"SettingsTabGraphicsAspectRatio4x3": "4:3",
|
||||
"SettingsTabGraphicsAspectRatio16x9": "16:9",
|
||||
"SettingsTabGraphicsAspectRatio16x10": "16:10",
|
||||
|
@ -158,6 +172,7 @@
|
|||
"SettingsTabLoggingEnableFsAccessLogs": "Activer les journaux des accès au système de fichiers",
|
||||
"SettingsTabLoggingFsGlobalAccessLogMode": "Niveau des journaux des accès au système de fichiers:",
|
||||
"SettingsTabLoggingDeveloperOptions": "Options développeur (ATTENTION: Cela peut réduire les performances)",
|
||||
"SettingsTabLoggingDeveloperOptionsNote": "ATTENTION : Réduira les performances",
|
||||
"SettingsTabLoggingGraphicsBackendLogLevel": "Niveau du journal du backend graphique :",
|
||||
"SettingsTabLoggingGraphicsBackendLogLevelNone": "Aucun",
|
||||
"SettingsTabLoggingGraphicsBackendLogLevelError": "Erreur",
|
||||
|
@ -208,26 +223,17 @@
|
|||
"ControllerSettingsDPadDown": "Bas",
|
||||
"ControllerSettingsDPadLeft": "Gauche",
|
||||
"ControllerSettingsDPadRight": "Droite",
|
||||
"ControllerSettingsStickButton": "Bouton",
|
||||
"ControllerSettingsStickUp": "Haut",
|
||||
"ControllerSettingsStickDown": "Bas",
|
||||
"ControllerSettingsStickLeft": "Gauche",
|
||||
"ControllerSettingsStickRight": "Droite",
|
||||
"ControllerSettingsStickStick": "Stick",
|
||||
"ControllerSettingsStickInvertXAxis": "Inverser l'axe X",
|
||||
"ControllerSettingsStickInvertYAxis": "Inverser l'axe Y",
|
||||
"ControllerSettingsStickDeadzone": "Zone morte :",
|
||||
"ControllerSettingsLStick": "Joystick Gauche",
|
||||
"ControllerSettingsLStickButton": "Bouton",
|
||||
"ControllerSettingsLStickUp": "Haut",
|
||||
"ControllerSettingsLStickDown": "Bas",
|
||||
"ControllerSettingsLStickLeft": "Gauche",
|
||||
"ControllerSettingsLStickRight": "Droite",
|
||||
"ControllerSettingsLStickStick": "Joystick",
|
||||
"ControllerSettingsLStickInvertXAxis": "Inverser l'axe X",
|
||||
"ControllerSettingsLStickInvertYAxis": "Inverser l'axe Y",
|
||||
"ControllerSettingsLStickDeadzone": "Zone morte:",
|
||||
"ControllerSettingsRStick": "Joystick Droit",
|
||||
"ControllerSettingsRStickButton": "Bouton",
|
||||
"ControllerSettingsRStickUp": "Haut",
|
||||
"ControllerSettingsRStickDown": "Bas",
|
||||
"ControllerSettingsRStickLeft": "Gauche",
|
||||
"ControllerSettingsRStickRight": "Droite",
|
||||
"ControllerSettingsRStickStick": "Joystick",
|
||||
"ControllerSettingsRStickInvertXAxis": "Inverser l'axe X",
|
||||
"ControllerSettingsRStickInvertYAxis": "Inverser l'axe Y",
|
||||
"ControllerSettingsRStickDeadzone": "Zone morte:",
|
||||
"ControllerSettingsTriggersLeft": "Gachettes Gauche",
|
||||
"ControllerSettingsTriggersRight": "Gachettes Droite",
|
||||
"ControllerSettingsTriggersButtonsLeft": "Boutons Gachettes Gauche",
|
||||
|
@ -262,6 +268,7 @@
|
|||
"UserProfilesAddNewProfile": "Ajouter un nouveau profil",
|
||||
"UserProfilesDelete": "Supprimer",
|
||||
"UserProfilesClose": "Fermer",
|
||||
"ProfileNameSelectionWatermark": "Choisir un pseudo",
|
||||
"ProfileImageSelectionTitle": "Sélection de l'image du profil",
|
||||
"ProfileImageSelectionHeader": "Choisir l'image du profil",
|
||||
"ProfileImageSelectionNote": "Vous pouvez importer une image de profil personnalisée ou sélectionner un avatar à partir du firmware",
|
||||
|
@ -282,6 +289,7 @@
|
|||
"ControllerSettingsSaveProfileToolTip": "Enregistrer un profil",
|
||||
"MenuBarFileToolsTakeScreenshot": "Prendre une Capture d'Écran",
|
||||
"MenuBarFileToolsHideUi": "Masquer l'interface utilisateur",
|
||||
"GameListContextMenuRunApplication": "Démarrer l'application",
|
||||
"GameListContextMenuToggleFavorite": "Ajouter/Retirer des favoris",
|
||||
"GameListContextMenuToggleFavoriteToolTip": "Activer/désactiver le statut favori du jeu",
|
||||
"SettingsTabGeneralTheme": "Thème",
|
||||
|
@ -337,6 +345,10 @@
|
|||
"DialogFirmwareInstallEmbeddedSuccessMessage": "Aucun firmware installé n'a été trouvé mais Ryujinx a pu installer le firmware {0} à partir du jeu fourni.\\nL'émulateur va maintenant démarrer.",
|
||||
"DialogFirmwareNoFirmwareInstalledMessage": "Aucun Firmware installé",
|
||||
"DialogFirmwareInstalledMessage": "Le firmware {0} a été installé",
|
||||
"DialogInstallFileTypesSuccessMessage": "Types de fichiers installés avec succès!",
|
||||
"DialogInstallFileTypesErrorMessage": "Échec de l'installation des types de fichiers.",
|
||||
"DialogUninstallFileTypesSuccessMessage": "Types de fichiers désinstallés avec succès!",
|
||||
"DialogUninstallFileTypesErrorMessage": "Échec de la désinstallation des types de fichiers.",
|
||||
"DialogOpenSettingsWindowLabel": "Ouvrir la fenêtre de configuration",
|
||||
"DialogControllerAppletTitle": "Controller Applet",
|
||||
"DialogMessageDialogErrorExceptionMessage": "Erreur lors de l'affichage de la boîte de dialogue : {0}",
|
||||
|
@ -368,6 +380,9 @@
|
|||
"DialogFirmwareInstallerFirmwareInstallSuccessMessage": "Version du système {0} installée avec succès.",
|
||||
"DialogUserProfileDeletionWarningMessage": "Il n'y aurait aucun autre profil à ouvrir si le profil sélectionné est supprimé",
|
||||
"DialogUserProfileDeletionConfirmMessage": "Voulez-vous supprimer le profil sélectionné ?",
|
||||
"DialogUserProfileUnsavedChangesTitle": "Avertissement - Modifications non enregistrées",
|
||||
"DialogUserProfileUnsavedChangesMessage": "Vous avez effectué des modifications sur ce profil d'utilisateur qui n'ont pas été enregistrées.",
|
||||
"DialogUserProfileUnsavedChangesSubMessage": "Voulez-vous annuler les modifications ?",
|
||||
"DialogControllerSettingsModifiedConfirmMessage": "Les paramètres actuels du contrôleur ont été mis à jour.",
|
||||
"DialogControllerSettingsModifiedConfirmSubMessage": "Voulez-vous sauvegarder?",
|
||||
"DialogLoadNcaErrorMessage": "{0}. Fichier erroné : {1}",
|
||||
|
@ -416,6 +431,7 @@
|
|||
"DlcManagerEnableAllButton": "Activer Tout",
|
||||
"DlcManagerDisableAllButton": "Désactiver Tout",
|
||||
"MenuBarOptionsChangeLanguage": "Changer la Langue",
|
||||
"MenuBarShowFileTypes": "Afficher les types de fichiers",
|
||||
"CommonSort": "Trier",
|
||||
"CommonShowNames": "Afficher les noms",
|
||||
"CommonFavorite": "Favoris",
|
||||
|
@ -427,46 +443,47 @@
|
|||
"AddGameDirBoxTooltip": "Entrez un répertoire de jeux à ajouter à la liste",
|
||||
"AddGameDirTooltip": "Ajouter un répertoire de jeux à la liste",
|
||||
"RemoveGameDirTooltip": "Supprimer le dossier sélectionné",
|
||||
"CustomThemeCheckTooltip": "Use a custom Avalonia theme for the GUI to change the appearance of the emulator menus",
|
||||
"CustomThemeCheckTooltip": "Utilisez un thème personnalisé Avalonia pour modifier l'apparence des menus de l'émulateur",
|
||||
"CustomThemePathTooltip": "Chemin vers le thème personnalisé de l'interface utilisateur",
|
||||
"CustomThemeBrowseTooltip": "Parcourir vers un thème personnalisé pour l'interface utilisateur",
|
||||
"DockModeToggleTooltip": "Le mode station d'accueil permet à la console émulée de se comporter comme une Nintendo Switch en mode station d'accueil, ce qui améliore la fidélité graphique dans la plupart des jeux. Inversement, la désactivation de cette option rendra la console émulée comme une console Nintendo Switch portable, réduisant la qualité graphique.\n\nConfigurer les controles du joueur 1 si vous prévoyez d'utiliser le mode station d'accueil; configurez les commandes portable si vous prévoyez d'utiliser le mode portable.\n\nLaissez ACTIVER si vous n'êtes pas sûr.",
|
||||
"DirectKeyboardTooltip": "Direct keyboard access (HID) support. Provides games access to your keyboard as a text entry device.",
|
||||
"DirectMouseTooltip": "Direct mouse access (HID) support. Provides games access to your mouse as a pointing device.",
|
||||
"DirectKeyboardTooltip": "Prise en charge de l'accès direct au clavier (HID). Fournit aux jeux l'accès à votre clavier en tant que périphérique de saisie de texte.",
|
||||
"DirectMouseTooltip": "Prise en charge de l'accès à la souris (HID). Permet aux jeux d'accéder a votre souris en tant que périphérique de pointage.",
|
||||
"RegionTooltip": "Changer la région du système",
|
||||
"LanguageTooltip": "Changer la langue du système",
|
||||
"TimezoneTooltip": "Changer le fuseau horaire du système",
|
||||
"TimeTooltip": "Changer l'heure du système",
|
||||
"VSyncToggleTooltip": "Emulated console's Vertical Sync. Essentially a frame-limiter for the majority of games; disabling it may cause games to run at higher speed or make loading screens take longer or get stuck.\n\nCan be toggled in-game with a hotkey of your preference. We recommend doing this if you plan on disabling it.\n\nLeave ON if unsure.",
|
||||
"PptcToggleTooltip": "Saves translated JIT functions so that they do not need to be translated every time the game loads.\n\nReduces stuttering and significantly speeds up boot times after the first boot of a game.\n\nLeave ON if unsure.",
|
||||
"FsIntegrityToggleTooltip": "Checks for corrupt files when booting a game, and if corrupt files are detected, displays a hash error in the log.\n\nHas no impact on performance and is meant to help troubleshooting.\n\nLeave ON if unsure.",
|
||||
"AudioBackendTooltip": "Changes the backend used to render audio.\n\nSDL2 is the preferred one, while OpenAL and SoundIO are used as fallbacks. Dummy will have no sound.\n\nSet to SDL2 if unsure.",
|
||||
"MemoryManagerTooltip": "Change how guest memory is mapped and accessed. Greatly affects emulated CPU performance.\n\nSet to HOST UNCHECKED if unsure.",
|
||||
"MemoryManagerSoftwareTooltip": "Use a software page table for address translation. Highest accuracy but slowest performance.",
|
||||
"MemoryManagerHostTooltip": "Directly map memory in the host address space. Much faster JIT compilation and execution.",
|
||||
"MemoryManagerUnsafeTooltip": "Directly map memory, but do not mask the address within the guest address space before access. Faster, but at the cost of safety. The guest application can access memory from anywhere in Ryujinx, so only run programs you trust with this mode.",
|
||||
"DRamTooltip": "Utilizes an alternative MemoryMode layout to mimic a Switch development model.\n\nThis is only useful for higher-resolution texture packs or 4k resolution mods. Does NOT improve performance.\n\nLeave OFF if unsure.",
|
||||
"IgnoreMissingServicesTooltip": "Ignores unimplemented Horizon OS services. This may help in bypassing crashes when booting certain games.\n\nLeave OFF if unsure.",
|
||||
"GraphicsBackendThreadingTooltip": "Executes graphics backend commands on a second thread.\n\nSpeeds up shader compilation, reduces stuttering, and improves performance on GPU drivers without multithreading support of their own. Slightly better performance on drivers with multithreading.\n\nSet to AUTO if unsure.",
|
||||
"GalThreadingTooltip": "Executes graphics backend commands on a second thread.\n\nSpeeds up shader compilation, reduces stuttering, and improves performance on GPU drivers without multithreading support of their own. Slightly better performance on drivers with multithreading.\n\nSet to AUTO if unsure.",
|
||||
"ShaderCacheToggleTooltip": "Saves a disk shader cache which reduces stuttering in subsequent runs.\n\nLeave ON if unsure.",
|
||||
"ResolutionScaleTooltip": "Resolution Scale applied to applicable render targets",
|
||||
"ResolutionScaleEntryTooltip": "Floating point resolution scale, such as 1.5. Non-integral scales are more likely to cause issues or crash.",
|
||||
"AnisotropyTooltip": "Level of Anisotropic Filtering (set to Auto to use the value requested by the game)",
|
||||
"VSyncToggleTooltip": "Synchronisation verticale de l'émulateur. Généralement un limiteur d'FPS pour la majorité des jeux, le désactiver peut accélérer les jeux pour rendre les écrans de chargement plus court, mais augemente le risque de crash lors des chargements.\n\nPeut être activer ou desactiver en jeu avec un raccourci de votre choix. Nous vous recommandons de le laisser.\n\nLaissez activer, si vous n'êtes pas sûr.",
|
||||
"PptcToggleTooltip": "Sauvegarde les fonctions JIT afin qu'elles n'aient pas besoin d'être à chaque fois recompiler lorsque le jeu se charge.\n\nRéduit les lags et accélère considérablement le temps de chargement après le premier lancement d'un jeu.\n\nLaissez par défaut si vous n'êtes pas sûr.",
|
||||
"FsIntegrityToggleTooltip": "Vérifie si des fichiers sont corrompus lors du lancement d'un jeu, et si des fichiers corrompus sont détectés, affiche une erreur de hachage dans la console.\n\nN'a aucun impact sur les performances et est destiné à aider le dépannage.\n\nLaissez activer en cas d'incertitude.",
|
||||
"AudioBackendTooltip": "Modifie le backend utilisé pour donnée un rendu audio.\n\nSDL2 est préféré, tandis que OpenAL et SoundIO sont utilisés comme backend secondaire. Le backend Dummy (Factice) ne rends aucun son.\n\nLaissez sur SDL2 si vous n'êtes pas sûr.",
|
||||
"MemoryManagerTooltip": "Change la façon dont la mémoire émulée est mappée et utiliser. Cela affecte grandement les performances du processeur.\n\nRéglez sur Host Uncheked en cas d'incertitude.",
|
||||
"MemoryManagerSoftwareTooltip": "Utilisez une table logicielle pour la traduction d'adresses. La plus grande précision est fournie, mais les performances en seront impacter.",
|
||||
"MemoryManagerHostTooltip": "Mappez directement la mémoire dans l'espace d'adresses de l'hôte. Compilation et exécution JIT beaucoup plus rapides.",
|
||||
"MemoryManagerUnsafeTooltip": "Mapper directement la mémoire dans la carte, mais ne pas masquer l'adresse dans l'espace d'adressage du client avant l'accès. Plus rapide, mais la sécurité sera négliger. L'application peut accéder à la mémoire depuis n'importe où dans Ryujinx, donc exécutez uniquement les programmes en qui vous avez confiance avec ce mode.",
|
||||
"UseHypervisorTooltip": "Utiliser l'Hyperviseur au lieu du JIT. Améliore considérablement les performances lorsqu'il est disponible, mais peut être instable dans son état actuel.",
|
||||
"DRamTooltip": "Utilise une disposition alternative de la mémoire pour imiter le kit de développeur de la Switch.\n\nActiver cette option uniquement pour les packs de textures 4k ou les mods à résolution 4k.\nN'améliore pas les performances, cause des crashs dans certains jeux si activer.\n\nLaissez Désactiver en cas d'incertitude.",
|
||||
"IgnoreMissingServicesTooltip": "Ignore les services Horizon OS non-intégré. Cela peut aider à contourner les plantages lors du démarrage de certains jeux.\n\nActivez-le en cas d'incertitude.",
|
||||
"GraphicsBackendThreadingTooltip": "Exécute des commandes du backend graphiques sur un second thread.\n\nAccélère la compilation des shaders, réduit les crashs et les lags, améliore les performances sur les pilotes GPU sans support de multithreading. Légère augementation des performances sur les pilotes avec multithreading intégrer.\n\nRéglez sur Auto en cas d'incertitude.",
|
||||
"GalThreadingTooltip": "Exécute des commandes du backend graphiques sur un second thread.\n\nAccélère la compilation des shaders, réduit les crashs et les lags, améliore les performances sur les pilotes GPU sans support de multithreading. Légère augementation des performances sur les pilotes avec multithreading intégrer.\n\nRéglez sur Auto en cas d'incertitude.",
|
||||
"ShaderCacheToggleTooltip": "Enregistre un cache de shaders sur le disque dur, réduit le lag lors de multiples exécutions.\n\nLaissez Activer si vous n'êtes pas sûr.",
|
||||
"ResolutionScaleTooltip": "Échelle de résolution appliquer au rendu du jeu",
|
||||
"ResolutionScaleEntryTooltip": "Échelle de résolution à virgule flottante, telle que : 1.5. Les échelles non intégrales sont plus susceptibles de causer des problèmes ou des crashs.",
|
||||
"AnisotropyTooltip": "Niveau de Filtrage Anisotropique (mettre sur Auto pour utiliser la valeur demandée par le jeu)",
|
||||
"AspectRatioTooltip": "Ratio d'aspect appliqué à la fenêtre de rendu",
|
||||
"ShaderDumpPathTooltip": "Chemin de copie des Shaders Graphiques",
|
||||
"FileLogTooltip": "Sauver le journal de la console dans un fichier journal sur le disque. Cela n'affecte pas les performances.",
|
||||
"StubLogTooltip": "Prints stub log messages in the console. Does not affect performance.",
|
||||
"InfoLogTooltip": "Prints info log messages in the console. Does not affect performance.",
|
||||
"WarnLogTooltip": "Prints warning log messages in the console. Does not affect performance.",
|
||||
"ErrorLogTooltip": "Prints error log messages in the console. Does not affect performance.",
|
||||
"TraceLogTooltip": "Prints trace log messages in the console. Does not affect performance.",
|
||||
"GuestLogTooltip": "Prints guest log messages in the console. Does not affect performance.",
|
||||
"FileAccessLogTooltip": "Prints file access log messages in the console.",
|
||||
"FSAccessLogModeTooltip": "Enables FS access log output to the console. Possible modes are 0-3",
|
||||
"StubLogTooltip": "Affiche les messages de log dans la console. N'affecte pas les performances.",
|
||||
"InfoLogTooltip": "Affiche les messages de log d'informations dans la console. N'affecte pas les performances.",
|
||||
"WarnLogTooltip": "Affiche les messages d'avertissement dans la console. N'affecte pas les performances.",
|
||||
"ErrorLogTooltip": "Affiche les messages de log d'erreur dans la console. N'affecte pas les performances.",
|
||||
"TraceLogTooltip": "Affiche la trace des messages de log dans la console. N'affecte pas les performances.",
|
||||
"GuestLogTooltip": "Affiche les messages de log des invités dans la console. N'affecte pas les performances.",
|
||||
"FileAccessLogTooltip": "Affiche les messages de log d'accès aux fichiers dans la console.",
|
||||
"FSAccessLogModeTooltip": "Active la sortie du journal d'accès FS de la console. Les modes possibles sont 0-3",
|
||||
"DeveloperOptionTooltip": "Utiliser avec précaution",
|
||||
"OpenGlLogLevel": "Nécessite l'activation des niveaux de journalisation appropriés",
|
||||
"DebugLogTooltip": "Prints debug log messages in the console.\n\nOnly use this if specifically instructed by a staff member, as it will make logs difficult to read and worsen emulator performance.",
|
||||
"DebugLogTooltip": "Affiche les messages de débogage dans la console.\n\nN'utilisez ceci que si un membre du personnel le demande, car cela rendra les logs difficiles à lire et réduit les performances de l'émulateur.",
|
||||
"LoadApplicationFileTooltip": "Ouvrir un explorateur de fichiers pour choisir un fichier compatible Switch à charger",
|
||||
"LoadApplicationFolderTooltip": "Ouvrir un explorateur de fichiers pour choisir une application Switch compatible et décompressée à charger",
|
||||
"OpenRyujinxFolderTooltip": "Ouvrir le dossier du système de fichiers Ryujinx",
|
||||
|
@ -511,7 +528,7 @@
|
|||
"UserErrorApplicationNotFound": " Application introuvable",
|
||||
"UserErrorUnknown": "Erreur inconnue",
|
||||
"UserErrorUndefined": "Erreur non définie",
|
||||
"UserErrorNoKeysDescription": "Ryujinx n'a pas trouvé votre fichier 'prod.keys'",
|
||||
"UserErrorNoKeysDescription": "Ryujinx n'a pas pu trouver votre fichier 'prod.keys'",
|
||||
"UserErrorNoFirmwareDescription": "Ryujinx n'a pas trouvé de firmwares installés",
|
||||
"UserErrorFirmwareParsingFailedDescription": "Ryujinx n'a pas pu analyser le firmware fourni. Cela est généralement dû à des clés obsolètes.",
|
||||
"UserErrorApplicationNotFoundDescription": "Ryujinx n'a pas pu trouver une application valide dans le chemin indiqué.",
|
||||
|
@ -527,6 +544,9 @@
|
|||
"SwkbdMinCharacters": "Doit comporter au moins {0} caractères",
|
||||
"SwkbdMinRangeCharacters": "Doit contenir {0}-{1} caractères en longueur",
|
||||
"SoftwareKeyboard": "Clavier logiciel",
|
||||
"SoftwareKeyboardModeNumbersOnly": "Doit être uniquement des chiffres",
|
||||
"SoftwareKeyboardModeAlphabet": "Doit être uniquement des caractères non CJK",
|
||||
"SoftwareKeyboardModeASCII": "Doit être uniquement du texte ASCII",
|
||||
"DialogControllerAppletMessagePlayerRange": "L'application demande {0} joueur(s) avec :\n\nTYPES : {1}\n\nJOUEURS : {2}\n\n{3}Merci d'ouvrir les Paramètres et de reconfigurer les Périphériques maintenant ou appuyez sur Fermer.",
|
||||
"DialogControllerAppletMessage": "L'application demande exactement {0} joueur(s) avec :\n\nTYPES : {1}\n\nJOUEURS : {2}\n\n{3}Merci d'ouvrir les Paramètres et de reconfigurer les Périphériques maintenant ou appuyez sur Fermer.",
|
||||
"DialogControllerAppletDockModeSet": "Mode station d'accueil défini. Le portable est également invalide.\n\n",
|
||||
|
@ -572,6 +592,7 @@
|
|||
"DlcWindowTitle": "Gestionnaire de contenus téléchargeables",
|
||||
"UpdateWindowTitle": "Gestionnaire de mises à jour",
|
||||
"CheatWindowHeading": "Cheats disponibles pour {0} [{1}]",
|
||||
"BuildId": "BuildId:",
|
||||
"DlcWindowHeading": "{0} Contenu(s) téléchargeable(s) disponible pour {1} ({2})",
|
||||
"UserProfilesEditProfile": "Éditer la sélection",
|
||||
"Cancel": "Annuler",
|
||||
|
@ -599,6 +620,8 @@
|
|||
"SettingsTabHotkeysVolumeDownHotkey": "Diminuer le volume :",
|
||||
"SettingsEnableMacroHLE": "Activer les macros HLE",
|
||||
"SettingsEnableMacroHLETooltip": "Émulation de haut niveau du code de Macro GPU.\n\nAméliore les performances, mais peut causer des bugs graphiques dans certains jeux.\n\nLaissez ACTIVER si vous n'êtes pas sûr.",
|
||||
"SettingsEnableColorSpacePassthrough": "Traversée de l'espace colorimétrique",
|
||||
"SettingsEnableColorSpacePassthroughTooltip": "Dirige l'interface graphique Vulkan pour qu'il transmette les informations de couleur sans spécifier d'espace colorimétrique. Pour les utilisateurs possédant des écrans haut de gamme, cela peut entraîner des couleurs plus vives, au détriment de l'exactitude des couleurs.",
|
||||
"VolumeShort": "Vol",
|
||||
"UserProfilesManageSaves": "Gérer les sauvegardes",
|
||||
"DeleteUserSave": "Voulez-vous supprimer la sauvegarde de l'utilisateur pour ce jeu?",
|
||||
|
@ -610,5 +633,24 @@
|
|||
"Search": "Rechercher",
|
||||
"UserProfilesRecoverLostAccounts": "Récupérer les comptes perdus",
|
||||
"Recover": "Récupérer",
|
||||
"UserProfilesRecoverHeading": "Des sauvegardes ont été trouvées pour les comptes suivants"
|
||||
"UserProfilesRecoverHeading": "Des sauvegardes ont été trouvées pour les comptes suivants",
|
||||
"UserProfilesRecoverEmptyList": "Aucun profil à restaurer",
|
||||
"GraphicsAATooltip": "Applique l'anticrénelage au rendu du jeu",
|
||||
"GraphicsAALabel": "Anticrénelage :",
|
||||
"GraphicsScalingFilterLabel": "Filtre de mise à l'échelle :",
|
||||
"GraphicsScalingFilterTooltip": "Active la mise à l'échelle du tampon d'image",
|
||||
"GraphicsScalingFilterLevelLabel": "Niveau ",
|
||||
"GraphicsScalingFilterLevelTooltip": "Définir le niveau du filtre de mise à l'échelle",
|
||||
"SmaaLow": "SMAA Faible",
|
||||
"SmaaMedium": "SMAA moyen",
|
||||
"SmaaHigh": "SMAA Élevé",
|
||||
"SmaaUltra": "SMAA Ultra",
|
||||
"UserEditorTitle": "Modifier Utilisateur",
|
||||
"UserEditorTitleCreate": "Créer Utilisateur",
|
||||
"SettingsTabNetworkInterface": "Interface Réseau :",
|
||||
"NetworkInterfaceTooltip": "Interface réseau pour les fonctionnalités LAN",
|
||||
"NetworkInterfaceDefault": "Par défaut",
|
||||
"PackagingShaders": "Empaquetage des Shaders",
|
||||
"AboutChangelogButton": "Voir le Changelog sur GitHub",
|
||||
"AboutChangelogButtonTooltipMessage": "Cliquez pour ouvrir le changelog de cette version dans votre navigateur par défaut."
|
||||
}
|
656
src/Ryujinx.Ava/Assets/Locales/he_IL.json
Normal file
656
src/Ryujinx.Ava/Assets/Locales/he_IL.json
Normal file
|
@ -0,0 +1,656 @@
|
|||
{
|
||||
"Language": "אנגלית (ארה\"ב)",
|
||||
"MenuBarFileOpenApplet": "פתח יישומון",
|
||||
"MenuBarFileOpenAppletOpenMiiAppletToolTip": "פתח את יישומון עורך ה- Mii במצב עצמאי",
|
||||
"SettingsTabInputDirectMouseAccess": "גישה ישירה לעכבר",
|
||||
"SettingsTabSystemMemoryManagerMode": "מצב מנהל זיכרון:",
|
||||
"SettingsTabSystemMemoryManagerModeSoftware": "תוכנה",
|
||||
"SettingsTabSystemMemoryManagerModeHost": "מארח (מהיר)",
|
||||
"SettingsTabSystemMemoryManagerModeHostUnchecked": "מארח לא מבוקר (המהיר ביותר, לא בטוח)",
|
||||
"SettingsTabSystemUseHypervisor": "השתמש ב Hypervisor",
|
||||
"MenuBarFile": "_קובץ",
|
||||
"MenuBarFileOpenFromFile": "_טען יישום מקובץ",
|
||||
"MenuBarFileOpenUnpacked": "טען משחק _שאינו ארוז",
|
||||
"MenuBarFileOpenEmuFolder": "פתח את תיקיית ריוג'ינקס",
|
||||
"MenuBarFileOpenLogsFolder": "פתח את תיקיית קבצי הלוג",
|
||||
"MenuBarFileExit": "_יציאה",
|
||||
"MenuBarOptions": "הגדרות",
|
||||
"MenuBarOptionsToggleFullscreen": "שנה מצב- מסך מלא",
|
||||
"MenuBarOptionsStartGamesInFullscreen": "התחל משחקים במסך מלא",
|
||||
"MenuBarOptionsStopEmulation": "עצור אמולציה",
|
||||
"MenuBarOptionsSettings": "_הגדרות",
|
||||
"MenuBarOptionsManageUserProfiles": "_נהל פרופילי משתמש",
|
||||
"MenuBarActions": "_פעולות",
|
||||
"MenuBarOptionsSimulateWakeUpMessage": "דמה הודעת השכמה",
|
||||
"MenuBarActionsScanAmiibo": "סרוק אמיבו",
|
||||
"MenuBarTools": "_כלים",
|
||||
"MenuBarToolsInstallFirmware": "התקן קושחה",
|
||||
"MenuBarFileToolsInstallFirmwareFromFile": "התקן קושחה מקובץ- ZIP/XCI",
|
||||
"MenuBarFileToolsInstallFirmwareFromDirectory": "התקן קושחה מתוך תקייה",
|
||||
"MenuBarToolsManageFileTypes": "ניהול סוגי קבצים",
|
||||
"MenuBarToolsInstallFileTypes": "סוגי קבצי התקנה",
|
||||
"MenuBarToolsUninstallFileTypes": "סוגי קבצי הסרה",
|
||||
"MenuBarHelp": "עזרה",
|
||||
"MenuBarHelpCheckForUpdates": "חפש עדכונים",
|
||||
"MenuBarHelpAbout": "אודות",
|
||||
"MenuSearch": "חפש...",
|
||||
"GameListHeaderFavorite": "אהוב",
|
||||
"GameListHeaderIcon": "סמל",
|
||||
"GameListHeaderApplication": "שם",
|
||||
"GameListHeaderDeveloper": "מפתח",
|
||||
"GameListHeaderVersion": "גרסה",
|
||||
"GameListHeaderTimePlayed": "זמן משחק",
|
||||
"GameListHeaderLastPlayed": "שוחק לאחרונה",
|
||||
"GameListHeaderFileExtension": "סיומת קובץ",
|
||||
"GameListHeaderFileSize": "גודל הקובץ",
|
||||
"GameListHeaderPath": "נתיב",
|
||||
"GameListContextMenuOpenUserSaveDirectory": "פתח את תקיית השמור של המשתמש",
|
||||
"GameListContextMenuOpenUserSaveDirectoryToolTip": "פותח את תקיית השמור של המשתמש ביישום הנוכחי",
|
||||
"GameListContextMenuOpenDeviceSaveDirectory": "פתח את תקיית השמור של המכשיר",
|
||||
"GameListContextMenuOpenDeviceSaveDirectoryToolTip": "פותח את הספרייה המכילה את שמור המכשיר של היישום",
|
||||
"GameListContextMenuOpenBcatSaveDirectory": "פתח את תקיית השמור של ה-BCAT",
|
||||
"GameListContextMenuOpenBcatSaveDirectoryToolTip": "פותח את תקיית שמור ה-BCAT של היישום",
|
||||
"GameListContextMenuManageTitleUpdates": "מנהל עדכוני משחקים",
|
||||
"GameListContextMenuManageTitleUpdatesToolTip": "פותח את חלון מנהל עדכוני המשחקים",
|
||||
"GameListContextMenuManageDlc": "מנהל הרחבות",
|
||||
"GameListContextMenuManageDlcToolTip": "פותח את חלון מנהל הרחבות המשחקים",
|
||||
"GameListContextMenuOpenModsDirectory": "פתח את תקיית המודים",
|
||||
"GameListContextMenuOpenModsDirectoryToolTip": "פותח את התקייה המכילה את המודים של היישום",
|
||||
"GameListContextMenuCacheManagement": "ניהול מטמון",
|
||||
"GameListContextMenuCacheManagementPurgePptc": "הוסף PPTC לתור בנייה מחדש",
|
||||
"GameListContextMenuCacheManagementPurgePptcToolTip": "גרום ל-PPTC להבנות מחדש בפתיחה הבאה של המשחק",
|
||||
"GameListContextMenuCacheManagementPurgeShaderCache": "ניקוי מטמון הצללות",
|
||||
"GameListContextMenuCacheManagementPurgeShaderCacheToolTip": "מוחק את מטמון ההצללות של היישום",
|
||||
"GameListContextMenuCacheManagementOpenPptcDirectory": "פתח את תקיית PPTC",
|
||||
"GameListContextMenuCacheManagementOpenPptcDirectoryToolTip": "פותח את התקייה של מטמון ה-PPTC של האפליקציה",
|
||||
"GameListContextMenuCacheManagementOpenShaderCacheDirectory": "פתח את תקיית המטמון של ההצללות",
|
||||
"GameListContextMenuCacheManagementOpenShaderCacheDirectoryToolTip": "פותח את תקיית מטמון ההצללות של היישום",
|
||||
"GameListContextMenuExtractData": "חילוץ נתונים",
|
||||
"GameListContextMenuExtractDataExeFS": "ExeFS",
|
||||
"GameListContextMenuExtractDataExeFSToolTip": "חלץ את קטע ה-ExeFS מתצורת היישום הנוכחית (כולל עדכונים)",
|
||||
"GameListContextMenuExtractDataRomFS": "RomFS",
|
||||
"GameListContextMenuExtractDataRomFSToolTip": "חלץ את קטע ה-RomFS מתצורת היישום הנוכחית (כולל עדכונים)",
|
||||
"GameListContextMenuExtractDataLogo": "Logo",
|
||||
"GameListContextMenuExtractDataLogoToolTip": "חלץ את קטע ה-Logo מתצורת היישום הנוכחית (כולל עדכונים)",
|
||||
"StatusBarGamesLoaded": "{1}/{0} משחקים נטענו",
|
||||
"StatusBarSystemVersion": "גרסת מערכת: {0}",
|
||||
"LinuxVmMaxMapCountDialogTitle": "זוהתה מגבלה נמוכה עבור מיפויי זיכרון",
|
||||
"LinuxVmMaxMapCountDialogTextPrimary": "האם תרצה להגביר את הערך של vm.max_map_count ל{0}",
|
||||
"LinuxVmMaxMapCountDialogTextSecondary": "משחקים מסוימים עלולים לייצר עוד מיפויי זיכרון ממה שמתאפשר. Ryujinx יקרוס ברגע שהמגבלה תחרוג.",
|
||||
"LinuxVmMaxMapCountDialogButtonUntilRestart": "כן, עד האתחול הבא",
|
||||
"LinuxVmMaxMapCountDialogButtonPersistent": "כן, לצמיתות",
|
||||
"LinuxVmMaxMapCountWarningTextPrimary": "הכמות המירבית של מיפויי הזיכרון נמוכה מהמומלץ.",
|
||||
"LinuxVmMaxMapCountWarningTextSecondary": "הערך הנוכחי של vm.max_map_count {0} נמוך מ{1}. משחקים מסוימים עלולים לייצר עוד מיפוי זיכרון ממה שמתאפשר.Ryujinx יקרוס ברגע שהמגבלה תחרוג.\n\nיתכן ותרצה להעלות את המגבלה הנוכחית או להתקין את pkexec, אשר יאפשר לRyujinx לסייע בכך.",
|
||||
"Settings": "הגדרות",
|
||||
"SettingsTabGeneral": "ממשק משתמש",
|
||||
"SettingsTabGeneralGeneral": "כללי",
|
||||
"SettingsTabGeneralEnableDiscordRichPresence": "הפעלת תצוגה עשירה בדיסקורד",
|
||||
"SettingsTabGeneralCheckUpdatesOnLaunch": "בדוק אם קיימים עדכונים בהפעלה",
|
||||
"SettingsTabGeneralShowConfirmExitDialog": "הראה דיאלוג \"אשר יציאה\"",
|
||||
"SettingsTabGeneralHideCursor": "הסתר את הסמן",
|
||||
"SettingsTabGeneralHideCursorNever": "אף פעם",
|
||||
"SettingsTabGeneralHideCursorOnIdle": "במצב סרק",
|
||||
"SettingsTabGeneralHideCursorAlways": "תמיד",
|
||||
"SettingsTabGeneralGameDirectories": "תקיות משחקים",
|
||||
"SettingsTabGeneralAdd": "הוסף",
|
||||
"SettingsTabGeneralRemove": "הסר",
|
||||
"SettingsTabSystem": "מערכת",
|
||||
"SettingsTabSystemCore": "ליבה",
|
||||
"SettingsTabSystemSystemRegion": "אזור מערכת:",
|
||||
"SettingsTabSystemSystemRegionJapan": "יפן",
|
||||
"SettingsTabSystemSystemRegionUSA": "ארה\"ב",
|
||||
"SettingsTabSystemSystemRegionEurope": "אירופה",
|
||||
"SettingsTabSystemSystemRegionAustralia": "אוסטרליה",
|
||||
"SettingsTabSystemSystemRegionChina": "סין",
|
||||
"SettingsTabSystemSystemRegionKorea": "קוריאה",
|
||||
"SettingsTabSystemSystemRegionTaiwan": "טייוואן",
|
||||
"SettingsTabSystemSystemLanguage": "שפת המערכת:",
|
||||
"SettingsTabSystemSystemLanguageJapanese": "יפנית",
|
||||
"SettingsTabSystemSystemLanguageAmericanEnglish": "אנגלית אמריקאית",
|
||||
"SettingsTabSystemSystemLanguageFrench": "צרפתית",
|
||||
"SettingsTabSystemSystemLanguageGerman": "גרמנית",
|
||||
"SettingsTabSystemSystemLanguageItalian": "איטלקית",
|
||||
"SettingsTabSystemSystemLanguageSpanish": "ספרדית",
|
||||
"SettingsTabSystemSystemLanguageChinese": "סינית",
|
||||
"SettingsTabSystemSystemLanguageKorean": "קוריאנית",
|
||||
"SettingsTabSystemSystemLanguageDutch": "הולנדית",
|
||||
"SettingsTabSystemSystemLanguagePortuguese": "פורטוגזית",
|
||||
"SettingsTabSystemSystemLanguageRussian": "רוסית",
|
||||
"SettingsTabSystemSystemLanguageTaiwanese": "טייוואנית",
|
||||
"SettingsTabSystemSystemLanguageBritishEnglish": "אנגלית בריטית",
|
||||
"SettingsTabSystemSystemLanguageCanadianFrench": "צרפתית קנדית",
|
||||
"SettingsTabSystemSystemLanguageLatinAmericanSpanish": "ספרדית אמריקה הלטינית",
|
||||
"SettingsTabSystemSystemLanguageSimplifiedChinese": "סינית פשוטה",
|
||||
"SettingsTabSystemSystemLanguageTraditionalChinese": "סינית מסורתית",
|
||||
"SettingsTabSystemSystemTimeZone": "אזור זמן מערכת:",
|
||||
"SettingsTabSystemSystemTime": "זמן מערכת:",
|
||||
"SettingsTabSystemEnableVsync": "VSync",
|
||||
"SettingsTabSystemEnablePptc": "PPTC (Profiled Persistent Translation Cache)",
|
||||
"SettingsTabSystemEnableFsIntegrityChecks": "FS בדיקות תקינות",
|
||||
"SettingsTabSystemAudioBackend": "אחראי שמע:",
|
||||
"SettingsTabSystemAudioBackendDummy": "גולם",
|
||||
"SettingsTabSystemAudioBackendOpenAL": "OpenAL",
|
||||
"SettingsTabSystemAudioBackendSoundIO": "SoundIO",
|
||||
"SettingsTabSystemAudioBackendSDL2": "SDL2",
|
||||
"SettingsTabSystemHacks": "האצות",
|
||||
"SettingsTabSystemHacksNote": "עלול לגרום לאי יציבות",
|
||||
"SettingsTabSystemExpandDramSize": "השתמש בפריסת זיכרון חלופית (נועד למפתחים)",
|
||||
"SettingsTabSystemIgnoreMissingServices": "התעלם משירותים חסרים",
|
||||
"SettingsTabGraphics": "גרפיקה",
|
||||
"SettingsTabGraphicsAPI": "ממשק גראפי",
|
||||
"SettingsTabGraphicsEnableShaderCache": "הפעל מטמון הצללות",
|
||||
"SettingsTabGraphicsAnisotropicFiltering": "סינון אניסוטרופי:",
|
||||
"SettingsTabGraphicsAnisotropicFilteringAuto": "אוטומטי",
|
||||
"SettingsTabGraphicsAnisotropicFiltering2x": "2x",
|
||||
"SettingsTabGraphicsAnisotropicFiltering4x": "4x",
|
||||
"SettingsTabGraphicsAnisotropicFiltering8x": "8x",
|
||||
"SettingsTabGraphicsAnisotropicFiltering16x": "16x",
|
||||
"SettingsTabGraphicsResolutionScale": "קנה מידה של רזולוציה:",
|
||||
"SettingsTabGraphicsResolutionScaleCustom": "מותאם אישית (לא מומלץ)",
|
||||
"SettingsTabGraphicsResolutionScaleNative": "מקורי (720p/1080p)",
|
||||
"SettingsTabGraphicsResolutionScale2x": "2x (1440p/2160p)",
|
||||
"SettingsTabGraphicsResolutionScale3x": "3x (2160p/3240p)",
|
||||
"SettingsTabGraphicsResolutionScale4x": "4x (2880p/4320p)",
|
||||
"SettingsTabGraphicsAspectRatio": "יחס גובה-רוחב:",
|
||||
"SettingsTabGraphicsAspectRatio4x3": "4:3",
|
||||
"SettingsTabGraphicsAspectRatio16x9": "16:9",
|
||||
"SettingsTabGraphicsAspectRatio16x10": "16:10",
|
||||
"SettingsTabGraphicsAspectRatio21x9": "21:9",
|
||||
"SettingsTabGraphicsAspectRatio32x9": "32:9",
|
||||
"SettingsTabGraphicsAspectRatioStretch": "מתח לגודל חלון",
|
||||
"SettingsTabGraphicsDeveloperOptions": "אפשרויות מפתח",
|
||||
"SettingsTabGraphicsShaderDumpPath": "Graphics Shader Dump Path:",
|
||||
"SettingsTabLogging": "רישום",
|
||||
"SettingsTabLoggingLogging": "רישום",
|
||||
"SettingsTabLoggingEnableLoggingToFile": "אפשר רישום לקובץ",
|
||||
"SettingsTabLoggingEnableStubLogs": "אפשר רישום בדל",
|
||||
"SettingsTabLoggingEnableInfoLogs": "אפשר רישום מידע",
|
||||
"SettingsTabLoggingEnableWarningLogs": "אפשר רישום אזהרות",
|
||||
"SettingsTabLoggingEnableErrorLogs": "אפשר רישום שגיאות",
|
||||
"SettingsTabLoggingEnableTraceLogs": "הפעל רישום מעקבי",
|
||||
"SettingsTabLoggingEnableGuestLogs": "הפעל רישום מארח",
|
||||
"SettingsTabLoggingEnableFsAccessLogs": "אפשר רישום גישת קבצי מערכת",
|
||||
"SettingsTabLoggingFsGlobalAccessLogMode": "מצב רישום גלובלי של גישת קבצי מערכת",
|
||||
"SettingsTabLoggingDeveloperOptions": "אפשרויות מפתח",
|
||||
"SettingsTabLoggingDeveloperOptionsNote": "אזהרה: יפחית ביצועים",
|
||||
"SettingsTabLoggingGraphicsBackendLogLevel": "רישום גרפיקת קצה אחורי:",
|
||||
"SettingsTabLoggingGraphicsBackendLogLevelNone": "כלום",
|
||||
"SettingsTabLoggingGraphicsBackendLogLevelError": "שגיאה",
|
||||
"SettingsTabLoggingGraphicsBackendLogLevelPerformance": "האטות",
|
||||
"SettingsTabLoggingGraphicsBackendLogLevelAll": "הכל",
|
||||
"SettingsTabLoggingEnableDebugLogs": "אפשר רישום ניפוי באגים",
|
||||
"SettingsTabInput": "קלט",
|
||||
"SettingsTabInputEnableDockedMode": "מצב עגינה",
|
||||
"SettingsTabInputDirectKeyboardAccess": "גישה ישירה למקלדת",
|
||||
"SettingsButtonSave": "שמירה",
|
||||
"SettingsButtonClose": "סגירה",
|
||||
"SettingsButtonOk": "אישור",
|
||||
"SettingsButtonCancel": "ביטול",
|
||||
"SettingsButtonApply": "החל",
|
||||
"ControllerSettingsPlayer": "שחקן/ית",
|
||||
"ControllerSettingsPlayer1": "שחקן/ית 1",
|
||||
"ControllerSettingsPlayer2": "שחקן/ית 2",
|
||||
"ControllerSettingsPlayer3": "שחקן/ית 3",
|
||||
"ControllerSettingsPlayer4": "שחקן/ית 4",
|
||||
"ControllerSettingsPlayer5": "שחקן/ית 5",
|
||||
"ControllerSettingsPlayer6": "שחקן/ית 6",
|
||||
"ControllerSettingsPlayer7": "שחקן/ית 7",
|
||||
"ControllerSettingsPlayer8": "שחקן/ית 8",
|
||||
"ControllerSettingsHandheld": "נייד",
|
||||
"ControllerSettingsInputDevice": "מכשיר קלט",
|
||||
"ControllerSettingsRefresh": "רענון",
|
||||
"ControllerSettingsDeviceDisabled": "מושבת",
|
||||
"ControllerSettingsControllerType": "סוג שלט",
|
||||
"ControllerSettingsControllerTypeHandheld": "נייד",
|
||||
"ControllerSettingsControllerTypeProController": "שלט פרו ",
|
||||
"ControllerSettingsControllerTypeJoyConPair": "ג'ויקון הותאם",
|
||||
"ControllerSettingsControllerTypeJoyConLeft": "ג'ויקון שמאלי ",
|
||||
"ControllerSettingsControllerTypeJoyConRight": "ג'ויקון ימני",
|
||||
"ControllerSettingsProfile": "פרופיל",
|
||||
"ControllerSettingsProfileDefault": "ברירת המחדל",
|
||||
"ControllerSettingsLoad": "טעינה",
|
||||
"ControllerSettingsAdd": "הוספה",
|
||||
"ControllerSettingsRemove": "הסר",
|
||||
"ControllerSettingsButtons": "כפתורים",
|
||||
"ControllerSettingsButtonA": "A",
|
||||
"ControllerSettingsButtonB": "B",
|
||||
"ControllerSettingsButtonX": "X",
|
||||
"ControllerSettingsButtonY": "Y",
|
||||
"ControllerSettingsButtonPlus": "+",
|
||||
"ControllerSettingsButtonMinus": "-",
|
||||
"ControllerSettingsDPad": "כפתורי כיוונים",
|
||||
"ControllerSettingsDPadUp": "מעלה",
|
||||
"ControllerSettingsDPadDown": "מטה",
|
||||
"ControllerSettingsDPadLeft": "שמאלה",
|
||||
"ControllerSettingsDPadRight": "ימינה",
|
||||
"ControllerSettingsStickButton": "כפתור",
|
||||
"ControllerSettingsStickUp": "למעלה",
|
||||
"ControllerSettingsStickDown": "למטה",
|
||||
"ControllerSettingsStickLeft": "שמאלה",
|
||||
"ControllerSettingsStickRight": "ימינה",
|
||||
"ControllerSettingsStickStick": "סטיק",
|
||||
"ControllerSettingsStickInvertXAxis": "הפיכת הX של הסטיק",
|
||||
"ControllerSettingsStickInvertYAxis": "הפיכת הY של הסטיק",
|
||||
"ControllerSettingsStickDeadzone": "שטח מת:",
|
||||
"ControllerSettingsLStick": "מקל שמאלי",
|
||||
"ControllerSettingsRStick": "מקל ימני",
|
||||
"ControllerSettingsTriggersLeft": "הדק שמאלי",
|
||||
"ControllerSettingsTriggersRight": "הדק ימני",
|
||||
"ControllerSettingsTriggersButtonsLeft": "כפתור הדק שמאלי",
|
||||
"ControllerSettingsTriggersButtonsRight": "כפתור הדק ימני",
|
||||
"ControllerSettingsTriggers": "הדקים",
|
||||
"ControllerSettingsTriggerL": "L",
|
||||
"ControllerSettingsTriggerR": "R",
|
||||
"ControllerSettingsTriggerZL": "ZL",
|
||||
"ControllerSettingsTriggerZR": "ZR",
|
||||
"ControllerSettingsLeftSL": "SL",
|
||||
"ControllerSettingsLeftSR": "SR",
|
||||
"ControllerSettingsRightSL": "SL",
|
||||
"ControllerSettingsRightSR": "SR",
|
||||
"ControllerSettingsExtraButtonsLeft": "כפתורים משמאל",
|
||||
"ControllerSettingsExtraButtonsRight": "כפתורים מימין",
|
||||
"ControllerSettingsMisc": "שונות",
|
||||
"ControllerSettingsTriggerThreshold": "סף הדק:",
|
||||
"ControllerSettingsMotion": "תנועה",
|
||||
"ControllerSettingsMotionUseCemuhookCompatibleMotion": "השתמש בתנועת CemuHook תואמת ",
|
||||
"ControllerSettingsMotionControllerSlot": "מיקום שלט",
|
||||
"ControllerSettingsMotionMirrorInput": "קלט מראה",
|
||||
"ControllerSettingsMotionRightJoyConSlot": "מיקום ג'ויקון ימני",
|
||||
"ControllerSettingsMotionServerHost": "מארח השרת:",
|
||||
"ControllerSettingsMotionGyroSensitivity": "רגישות ג'ירוסקופ:",
|
||||
"ControllerSettingsMotionGyroDeadzone": "שטח מת של הג'ירוסקופ:",
|
||||
"ControllerSettingsSave": "שמירה",
|
||||
"ControllerSettingsClose": "סגירה",
|
||||
"UserProfilesSelectedUserProfile": "פרופיל המשתמש הנבחר:",
|
||||
"UserProfilesSaveProfileName": "שמור שם פרופיל",
|
||||
"UserProfilesChangeProfileImage": "שנה תמונת פרופיל",
|
||||
"UserProfilesAvailableUserProfiles": "פרופילי משתמש זמינים:",
|
||||
"UserProfilesAddNewProfile": "צור פרופיל",
|
||||
"UserProfilesDelete": "מחיקה",
|
||||
"UserProfilesClose": "סגור",
|
||||
"ProfileNameSelectionWatermark": "בחרו כינוי",
|
||||
"ProfileImageSelectionTitle": "בחירת תמונת פרופיל",
|
||||
"ProfileImageSelectionHeader": "בחרו תמונת פרופיל",
|
||||
"ProfileImageSelectionNote": "אתם יכולים לייבא תמונת פרופיל מותאמת אישית, או לבחור אווטאר מקושחת המערכת",
|
||||
"ProfileImageSelectionImportImage": "ייבוא קובץ תמונה",
|
||||
"ProfileImageSelectionSelectAvatar": "בחרו אוואטר קושחה",
|
||||
"InputDialogTitle": "דיאלוג קלט",
|
||||
"InputDialogOk": "בסדר",
|
||||
"InputDialogCancel": "ביטול",
|
||||
"InputDialogAddNewProfileTitle": "בחרו את שם הפרופיל",
|
||||
"InputDialogAddNewProfileHeader": "אנא הזינו שם לפרופיל",
|
||||
"InputDialogAddNewProfileSubtext": "(אורך מרבי: {0})",
|
||||
"AvatarChoose": "בחרו דמות",
|
||||
"AvatarSetBackgroundColor": "הגדר צבע רקע",
|
||||
"AvatarClose": "סגור",
|
||||
"ControllerSettingsLoadProfileToolTip": "טען פרופיל",
|
||||
"ControllerSettingsAddProfileToolTip": "הוסף פרופיל",
|
||||
"ControllerSettingsRemoveProfileToolTip": "הסר פרופיל",
|
||||
"ControllerSettingsSaveProfileToolTip": "שמור פרופיל",
|
||||
"MenuBarFileToolsTakeScreenshot": "צלם מסך",
|
||||
"MenuBarFileToolsHideUi": "הסתר ממשק משתמש ",
|
||||
"GameListContextMenuRunApplication": "הרץ יישום",
|
||||
"GameListContextMenuToggleFavorite": "למתג העדפה",
|
||||
"GameListContextMenuToggleFavoriteToolTip": "למתג סטטוס העדפה של משחק",
|
||||
"SettingsTabGeneralTheme": "ערכת נושא",
|
||||
"SettingsTabGeneralThemeCustomTheme": "נתיב ערכת נושא מותאמת אישית",
|
||||
"SettingsTabGeneralThemeBaseStyle": "סגנון בסיס",
|
||||
"SettingsTabGeneralThemeBaseStyleDark": "כהה",
|
||||
"SettingsTabGeneralThemeBaseStyleLight": "בהיר",
|
||||
"SettingsTabGeneralThemeEnableCustomTheme": "אפשר ערכת נושא מותאמת אישית",
|
||||
"ButtonBrowse": "עיין",
|
||||
"ControllerSettingsConfigureGeneral": "הגדר",
|
||||
"ControllerSettingsRumble": "רטט",
|
||||
"ControllerSettingsRumbleStrongMultiplier": "העצמת רטט חזק",
|
||||
"ControllerSettingsRumbleWeakMultiplier": "מכפיל רטט חלש",
|
||||
"DialogMessageSaveNotAvailableMessage": "אין שמור משחק עבור [{1:x16}] {0}",
|
||||
"DialogMessageSaveNotAvailableCreateSaveMessage": "האם תרצה ליצור שמור משחק עבור המשחק הזה?",
|
||||
"DialogConfirmationTitle": "ריוג'ינקס - אישור",
|
||||
"DialogUpdaterTitle": "ריוג'ינקס - מעדכן",
|
||||
"DialogErrorTitle": "ריוג'ינקס - שגיאה",
|
||||
"DialogWarningTitle": "ריוג'ינקס - אזהרה",
|
||||
"DialogExitTitle": "ריוג'ינקס - יציאה",
|
||||
"DialogErrorMessage": "ריוג'ינקס נתקל בשגיאה",
|
||||
"DialogExitMessage": "האם אתם בטוחים שאתם רוצים לסגור את ריוג'ינקס?",
|
||||
"DialogExitSubMessage": "כל הנתונים שלא נשמרו יאבדו!",
|
||||
"DialogMessageCreateSaveErrorMessage": "אירעה שגיאה ביצירת שמור המשחק שצויין: {0}",
|
||||
"DialogMessageFindSaveErrorMessage": "אירעה שגיאה במציאת שמור המשחק שצויין: {0}",
|
||||
"FolderDialogExtractTitle": "בחרו את התיקייה לחילוץ",
|
||||
"DialogNcaExtractionMessage": "מלחץ {0} ממקטע {1}...",
|
||||
"DialogNcaExtractionTitle": "ריוג'ינקס - מחלץ מקטע NCA",
|
||||
"DialogNcaExtractionMainNcaNotFoundErrorMessage": "כשל בחילוץ. ה-NCA הראשי לא היה קיים בקובץ שנבחר.",
|
||||
"DialogNcaExtractionCheckLogErrorMessage": "כשל בחילוץ. קרא את קובץ הרישום למידע נוסף.",
|
||||
"DialogNcaExtractionSuccessMessage": "החילוץ הושלם בהצלחה.",
|
||||
"DialogUpdaterConvertFailedMessage": "המרת הגרסה הנוכחית של ריוג'ינקס נכשלה.",
|
||||
"DialogUpdaterCancelUpdateMessage": "מבטל עדכון!",
|
||||
"DialogUpdaterAlreadyOnLatestVersionMessage": "אתם כבר משתמשים בגרסה המעודכנת ביותר של ריוג'ינקס!",
|
||||
"DialogUpdaterFailedToGetVersionMessage": "אירעה שגיאה בעת ניסיון לקבל עדכונים מ-גיטהב. זה יכול להיגרם אם הגרסה המעודכנת האחרונה נוצרה על ידי פעולות של גיטהב. נסה שוב בעוד מספר דקות.",
|
||||
"DialogUpdaterConvertFailedGithubMessage": "המרת גרסת ריוג'ינקס שהתקבלה מ-עדכון הגרסאות של גיטהב נכשלה.",
|
||||
"DialogUpdaterDownloadingMessage": "מוריד עדכון...",
|
||||
"DialogUpdaterExtractionMessage": "מחלץ עדכון...",
|
||||
"DialogUpdaterRenamingMessage": "משנה את שם העדכון...",
|
||||
"DialogUpdaterAddingFilesMessage": "מוסיף עדכון חדש...",
|
||||
"DialogUpdaterCompleteMessage": "העדכון הושלם!",
|
||||
"DialogUpdaterRestartMessage": "האם אתם רוצים להפעיל מחדש את ריוג'ינקס עכשיו?",
|
||||
"DialogUpdaterArchNotSupportedMessage": "אינך מריץ ארכיטקטורת מערכת נתמכת!",
|
||||
"DialogUpdaterArchNotSupportedSubMessage": "(רק מערכות x64 נתמכות!)",
|
||||
"DialogUpdaterNoInternetMessage": "אתם לא מחוברים לאינטרנט!",
|
||||
"DialogUpdaterNoInternetSubMessage": "אנא ודא שיש לך חיבור אינטרנט תקין!",
|
||||
"DialogUpdaterDirtyBuildMessage": "אתם לא יכולים לעדכן מבנה מלוכלך של ריוג'ינקס!",
|
||||
"DialogUpdaterDirtyBuildSubMessage": "אם אתם מחפשים גרסא נתמכת, אנא הורידו את ריוג'ינקס בכתובת https://ryujinx.org",
|
||||
"DialogRestartRequiredMessage": "אתחול נדרש",
|
||||
"DialogThemeRestartMessage": "ערכת הנושא נשמרה. יש צורך בהפעלה מחדש כדי להחיל את ערכת הנושא.",
|
||||
"DialogThemeRestartSubMessage": "האם ברצונך להפעיל מחדש?",
|
||||
"DialogFirmwareInstallEmbeddedMessage": "האם תרצו להתקין את הקושחה המוטמעת במשחק הזה? (קושחה {0})",
|
||||
"DialogFirmwareInstallEmbeddedSuccessMessage": "לא נמצאה קושחה מותקנת אבל ריוג'ינקס הצליח להתקין קושחה {0} מהמשחק שסופק. \\nהאמולטור יופעל כעת.",
|
||||
"DialogFirmwareNoFirmwareInstalledMessage": "לא מותקנת קושחה",
|
||||
"DialogFirmwareInstalledMessage": "הקושחה {0} הותקנה",
|
||||
"DialogInstallFileTypesSuccessMessage": "סוגי קבצים הותקנו בהצלחה!",
|
||||
"DialogInstallFileTypesErrorMessage": "נכשל בהתקנת סוגי קבצים.",
|
||||
"DialogUninstallFileTypesSuccessMessage": "סוגי קבצים הוסרו בהצלחה!",
|
||||
"DialogUninstallFileTypesErrorMessage": "נכשל בהסרת סוגי קבצים.",
|
||||
"DialogOpenSettingsWindowLabel": "פתח את חלון ההגדרות",
|
||||
"DialogControllerAppletTitle": "יישומון בקר",
|
||||
"DialogMessageDialogErrorExceptionMessage": "שגיאה בהצגת דיאלוג ההודעה: {0}",
|
||||
"DialogSoftwareKeyboardErrorExceptionMessage": "שגיאה בהצגת תוכנת המקלדת: {0}",
|
||||
"DialogErrorAppletErrorExceptionMessage": "שגיאה בהצגת דיאלוג ErrorApplet: {0}",
|
||||
"DialogUserErrorDialogMessage": "{0}: {1}",
|
||||
"DialogUserErrorDialogInfoMessage": "\nלמידע נוסף על איך לתקן שגיאה זו, עקוב אחר מדריך ההתקנה שלנו.",
|
||||
"DialogUserErrorDialogTitle": "שגיאת Ryujinx ({0})",
|
||||
"DialogAmiiboApiTitle": "ממשק תכנות אמיבו",
|
||||
"DialogAmiiboApiFailFetchMessage": "אירעה שגיאה בעת שליפת מידע מהממשק.",
|
||||
"DialogAmiiboApiConnectErrorMessage": "לא ניתן להתחבר לממשק שרת האמיבו. ייתכן שהשירות מושבת או שתצטרך לוודא שהחיבור לאינטרנט שלך מקוון.",
|
||||
"DialogProfileInvalidProfileErrorMessage": "הפרופיל {0} אינו תואם למערכת תצורת הקלט הנוכחית.",
|
||||
"DialogProfileDefaultProfileOverwriteErrorMessage": "לא ניתן להחליף את פרופיל ברירת המחדל",
|
||||
"DialogProfileDeleteProfileTitle": "מוחק פרופיל",
|
||||
"DialogProfileDeleteProfileMessage": "פעולה זו היא בלתי הפיכה, האם אתם בטוחים שברצונכם להמשיך?",
|
||||
"DialogWarning": "אזהרה",
|
||||
"DialogPPTCDeletionMessage": "אם תמשיכו אתם עומדים לגרום לבנייה מחדש של מטמון ה-PPTC עבור:\n\n{0}",
|
||||
"DialogPPTCDeletionErrorMessage": "שגיאה בטיהור מטמון PPTC ב-{0}: {1}",
|
||||
"DialogShaderDeletionMessage": "אם תמשיכו אתם עומדים למחוק את מטמון ההצללות עבור:\n\n{0}",
|
||||
"DialogShaderDeletionErrorMessage": "שגיאה בניקוי מטמון ההצללות ב-{0}: {1}",
|
||||
"DialogRyujinxErrorMessage": "ריוג'ינקס נתקלה בשגיאה",
|
||||
"DialogInvalidTitleIdErrorMessage": "שגיאת ממשק משתמש: למשחק שנבחר לא קיים מזהה משחק",
|
||||
"DialogFirmwareInstallerFirmwareNotFoundErrorMessage": "לא נמצאה קושחת מערכת תקפה ב-{0}.",
|
||||
"DialogFirmwareInstallerFirmwareInstallTitle": "התקן קושחה {0}",
|
||||
"DialogFirmwareInstallerFirmwareInstallMessage": "גירסת המערכת {0} תותקן.",
|
||||
"DialogFirmwareInstallerFirmwareInstallSubMessage": "\n\nזה יחליף את גרסת המערכת הנוכחית {0}.",
|
||||
"DialogFirmwareInstallerFirmwareInstallConfirmMessage": "\n\nהאם ברצונך להמשיך?",
|
||||
"DialogFirmwareInstallerFirmwareInstallWaitMessage": "מתקין קושחה...",
|
||||
"DialogFirmwareInstallerFirmwareInstallSuccessMessage": "גרסת המערכת {0} הותקנה בהצלחה.",
|
||||
"DialogUserProfileDeletionWarningMessage": "לא יהיו פרופילים אחרים שייפתחו אם הפרופיל שנבחר יימחק",
|
||||
"DialogUserProfileDeletionConfirmMessage": "האם ברצונך למחוק את הפרופיל שנבחר",
|
||||
"DialogUserProfileUnsavedChangesTitle": "אזהרה - שינויים לא שמורים",
|
||||
"DialogUserProfileUnsavedChangesMessage": "ביצעת שינויים בפרופיל משתמש זה שלא נשמרו.",
|
||||
"DialogUserProfileUnsavedChangesSubMessage": "האם ברצונך למחוק את השינויים האחרונים?",
|
||||
"DialogControllerSettingsModifiedConfirmMessage": "הגדרות השלט הנוכחי עודכנו.",
|
||||
"DialogControllerSettingsModifiedConfirmSubMessage": "האם ברצונך לשמור?",
|
||||
"DialogLoadNcaErrorMessage": "{0}. קובץ שגוי: {1}",
|
||||
"DialogDlcNoDlcErrorMessage": "הקובץ שצוין אינו מכיל DLC עבור המשחק שנבחר!",
|
||||
"DialogPerformanceCheckLoggingEnabledMessage": "הפעלת רישום מעקב, אשר נועד לשמש מפתחים בלבד.",
|
||||
"DialogPerformanceCheckLoggingEnabledConfirmMessage": "לביצועים מיטביים, מומלץ להשבית את רישום המעקב. האם ברצונך להשבית את רישום המעקב כעת?",
|
||||
"DialogPerformanceCheckShaderDumpEnabledMessage": "הפעלת השלכת הצללה, שנועדה לשמש מפתחים בלבד.",
|
||||
"DialogPerformanceCheckShaderDumpEnabledConfirmMessage": "לביצועים מיטביים, מומלץ להשבית את השלכת הצללה. האם ברצונך להשבית את השלכת הצללה עכשיו?",
|
||||
"DialogLoadAppGameAlreadyLoadedMessage": "ישנו משחק שכבר רץ כעת",
|
||||
"DialogLoadAppGameAlreadyLoadedSubMessage": "אנא הפסק את האמולציה או סגור את האמולטור לפני הפעלת משחק אחר.",
|
||||
"DialogUpdateAddUpdateErrorMessage": "הקובץ שצוין אינו מכיל עדכון עבור המשחק שנבחר!",
|
||||
"DialogSettingsBackendThreadingWarningTitle": "אזהרה - ריבוי תהליכי רקע",
|
||||
"DialogSettingsBackendThreadingWarningMessage": "יש להפעיל מחדש את ריוג'ינקס לאחר שינוי אפשרות זו כדי שהיא תחול במלואה. בהתאם לפלטפורמה שלך, ייתכן שיהיה עליך להשבית ידנית את ריבוי ההליכים של ההתקן שלך בעת השימוש ב-ריוג'ינקס.",
|
||||
"SettingsTabGraphicsFeaturesOptions": "אפשרויות",
|
||||
"SettingsTabGraphicsBackendMultithreading": "אחראי גרפיקה רב-תהליכי:",
|
||||
"CommonAuto": "אוטומטי",
|
||||
"CommonOff": "כבוי",
|
||||
"CommonOn": "דלוק",
|
||||
"InputDialogYes": "כן",
|
||||
"InputDialogNo": "לא",
|
||||
"DialogProfileInvalidProfileNameErrorMessage": "שם הקובץ מכיל תווים לא חוקיים. אנא נסה שוב.",
|
||||
"MenuBarOptionsPauseEmulation": "הפסק",
|
||||
"MenuBarOptionsResumeEmulation": "המשך",
|
||||
"AboutUrlTooltipMessage": "לחץ כדי לפתוח את אתר ריוג'ינקס בדפדפן ברירת המחדל שלך.",
|
||||
"AboutDisclaimerMessage": "ריוג'ינקס אינה מזוהת עם נינטנדו,\nאו שוטפייה בכל דרך שהיא.",
|
||||
"AboutAmiiboDisclaimerMessage": "ממשק אמיבו (www.amiiboapi.com) משומש בהדמיית האמיבו שלנו.",
|
||||
"AboutPatreonUrlTooltipMessage": "לחץ כדי לפתוח את דף הפטראון של ריוג'ינקס בדפדפן ברירת המחדל שלך.",
|
||||
"AboutGithubUrlTooltipMessage": "לחץ כדי לפתוח את דף הגיטהב של ריוג'ינקס בדפדפן ברירת המחדל שלך.",
|
||||
"AboutDiscordUrlTooltipMessage": "לחץ כדי לפתוח הזמנה לשרת הדיסקורד של ריוג'ינקס בדפדפן ברירת המחדל שלך.",
|
||||
"AboutTwitterUrlTooltipMessage": "לחץ כדי לפתוח את דף הטוויטר של Ryujinx בדפדפן ברירת המחדל שלך.",
|
||||
"AboutRyujinxAboutTitle": "אודות:",
|
||||
"AboutRyujinxAboutContent": "ריוג'ינקס הוא אמולטור עבור הנינטנדו סוויץ' (כל הזכויות שמורות).\nבבקשה תתמכו בנו בפטראון.\nקבל את כל החדשות האחרונות בטוויטר או בדיסקורד שלנו.\nמפתחים המעוניינים לתרום יכולים לקבל מידע נוסף ב-גיטהאב או ב-דיסקורד שלנו.",
|
||||
"AboutRyujinxMaintainersTitle": "מתוחזק על ידי:",
|
||||
"AboutRyujinxMaintainersContentTooltipMessage": "לחץ כדי לפתוח את דף התורמים בדפדפן ברירת המחדל שלך.",
|
||||
"AboutRyujinxSupprtersTitle": "תמוך באמצעות Patreon",
|
||||
"AmiiboSeriesLabel": "סדרת אמיבו",
|
||||
"AmiiboCharacterLabel": "דמות",
|
||||
"AmiiboScanButtonLabel": "סרוק את זה",
|
||||
"AmiiboOptionsShowAllLabel": "הצג את כל האמיבואים",
|
||||
"AmiiboOptionsUsRandomTagLabel": "האצה: השתמש בתג Uuid אקראי",
|
||||
"DlcManagerTableHeadingEnabledLabel": "מאופשר",
|
||||
"DlcManagerTableHeadingTitleIdLabel": "מזהה משחק",
|
||||
"DlcManagerTableHeadingContainerPathLabel": "נתיב מכיל",
|
||||
"DlcManagerTableHeadingFullPathLabel": "נתיב מלא",
|
||||
"DlcManagerRemoveAllButton": "מחק הכל",
|
||||
"DlcManagerEnableAllButton": "אפשר הכל",
|
||||
"DlcManagerDisableAllButton": "השבת הכל",
|
||||
"MenuBarOptionsChangeLanguage": "החלף שפה",
|
||||
"MenuBarShowFileTypes": "הצג מזהה סוג קובץ",
|
||||
"CommonSort": "מיין",
|
||||
"CommonShowNames": "הצג שמות",
|
||||
"CommonFavorite": "מועדף",
|
||||
"OrderAscending": "סדר עולה",
|
||||
"OrderDescending": "סדר יורד",
|
||||
"SettingsTabGraphicsFeatures": "תכונות ושיפורים",
|
||||
"ErrorWindowTitle": "חלון שגיאה",
|
||||
"ToggleDiscordTooltip": "בחרו להציג את ריוג'ינקס או לא בפעילות הדיסקורד שלכם \"משוחק כרגע\".",
|
||||
"AddGameDirBoxTooltip": "הזן תקיית משחקים כדי להוסיף לרשימה",
|
||||
"AddGameDirTooltip": "הוסף תקיית משחקים לרשימה",
|
||||
"RemoveGameDirTooltip": "הסר את תקיית המשחקים שנבחרה",
|
||||
"CustomThemeCheckTooltip": "השתמש בעיצוב מותאם אישית של אבלוניה עבור ה-ממשק הגראפי כדי לשנות את המראה של תפריטי האמולטור",
|
||||
"CustomThemePathTooltip": "נתיב לערכת נושא לממשק גראפי מותאם אישית",
|
||||
"CustomThemeBrowseTooltip": "חפש עיצוב ממשק גראפי מותאם אישית",
|
||||
"DockModeToggleTooltip": "מצב עגינה גורם למערכת המדומה להתנהג כ-נינטנדו סוויץ' בתחנת עגינתו. זה משפר את הנאמנות הגרפית ברוב המשחקים.\n לעומת זאת, השבתה של תכונה זו תגרום למערכת המדומה להתנהג כ- נינטנדו סוויץ' נייד, ולהפחית את איכות הגרפיקה.\n\nהגדירו את שלט שחקן 1 אם אתם מתכננים להשתמש במצב עגינה; הגדירו את פקדי כף היד אם אתם מתכננים להשתמש במצב נייד.\n\nמוטב להשאיר דלוק אם אתם לא בטוחים.",
|
||||
"DirectKeyboardTooltip": "תמיכה ישירה למקלדת (HID). מספק גישה בשביל משחקים למקלדת שלך כמכשיר להזנת טקסט.",
|
||||
"DirectMouseTooltip": "תמיכה ישירה לעכבר (HID). מספק גישה בשביל משחקים לעכבר שלך כהתקן הצבעה.",
|
||||
"RegionTooltip": "שנה אזור מערכת",
|
||||
"LanguageTooltip": "שנה שפת מערכת",
|
||||
"TimezoneTooltip": "שנה את אזור הזמן של המערכת",
|
||||
"TimeTooltip": "שנה זמן מערכת",
|
||||
"VSyncToggleTooltip": "מדמה סנכרון אנכי של קונסולה. כלומר חסם הפריימים לרוב המשחקים; השבתה שלו עלולה לגרום למשחקים לרוץ מהר יותר או לגרום למסכי טעינה לקחת יותר זמן או להתקע.\n\nניתן לשנות מצב של תפריט זה בזמן משחק עם המקש לבחירתך. אנו ממליצים לעשות זאת אם אתם מתכננים להשבית אותו.\n\nמוטב להשאיר דלוק אם לא בטוחים.",
|
||||
"PptcToggleTooltip": "שומר את פונקציות ה-JIT המתורגמות כך שלא יצטרכו לעבור תרגום שוב כאשר משחק עולה.\n\nמפחית תקיעות ומשפר מהירות עלייה של המערכת אחרי הפתיחה הראשונה של המשחק.\n\nמוטב להשאיר דלוק אם לא בטוחים.",
|
||||
"FsIntegrityToggleTooltip": "בודק לקבצים שגויים כאשר משחק עולה, ואם מתגלים כאלו, מציג את מזהה השגיאה שלהם לקובץ הלוג.\n\nאין לכך השפעה על הביצועים ונועד לעזור לבדיקה וניפוי שגיאות של האמולטור.\n\nמוטב להשאיר דלוק אם לא בטוחים.",
|
||||
"AudioBackendTooltip": "משנה את אחראי השמע.\n\nSDL2 הוא הנבחר, למראת שOpenAL וגם SoundIO משומשים כאפשרויות חלופיות. אפשרות הDummy לא תשמיע קול כלל.\n\nמוטב להשאיר על SDL2 אם לא בטוחים.",
|
||||
"MemoryManagerTooltip": "שנה איך שזיכרון מארח מיוחד ומונגד. משפיע מאוד על ביצועי המעבד המדומה.\n\nמוטב להשאיר על מארח לא מבוקר אם לא בטוחים.",
|
||||
"MemoryManagerSoftwareTooltip": "השתמש בתוכנת ה-page table בכדי להתייחס לתרגומים. דיוק מרבי לקונסולה אך המימוש הכי איטי.",
|
||||
"MemoryManagerHostTooltip": "ממפה זיכרון ישירות לכתובת המארח. מהיר בהרבה ביכולות קימפול ה-JIT והריצה.",
|
||||
"MemoryManagerUnsafeTooltip": "ממפה זיכרון ישירות, אך לא ממסך את הכתובת בתוך כתובת המארח לפני הגישה. מהיר, אך במחיר של הגנה. יישום המארח בעל גישה לזיכרון מכל מקום בריוג'ינקס, לכן הריצו איתו רק קבצים שאתם סומכים עליהם.",
|
||||
"UseHypervisorTooltip": "השתמש ב- Hypervisor במקום JIT. משפר מאוד ביצועים כשניתן, אבל יכול להיות לא יציב במצבו הנוכחי.",
|
||||
"DRamTooltip": "מנצל תצורת מצב-זיכרון חלופית לחכות את מכשיר הפיתוח של הסוויץ'.\n\nזה שימושי להחלפת חבילות מרקמים באיכותיים יותר או כאלו ברזולוציית 4k. לא משפר ביצועים.\n\nמוטב להשאיר כבוי אם לא בטוחים.",
|
||||
"IgnoreMissingServicesTooltip": "מתעלם מפעולות שלא קיבלו מימוש במערכת ההפעלה Horizon OS. זה עלול לעזור לעקוף קריסות של היישום במשחקים מסויימים.\n\nמוטב להשאיר כבוי אם לא בטוחים.",
|
||||
"GraphicsBackendThreadingTooltip": "מריץ פקודות גראפיקה בתהליך שני נפרד.\n\nמאיץ עיבוד הצללות, מפחית תקיעות ומשפר ביצועים של דרייבר כרטיסי מסך אשר לא תומכים בהרצה רב-תהליכית.\n\nמוטב להשאיר על אוטומטי אם לא בטוחים.",
|
||||
"GalThreadingTooltip": "מריץ פקודות גראפיקה בתהליך שני נפרד.\n\nמאיץ עיבוד הצללות, מפחית תקיעות ומשפר ביצועים של דרייבר כרטיסי מסך אשר לא תומכים בהרצה רב-תהליכית.\n\nמוטב להשאיר על אוטומטי אם לא בטוחים.",
|
||||
"ShaderCacheToggleTooltip": "שומר זכרון מטמון של הצללות, דבר שמפחית תקיעות בריצות מסוימות.\n\nמוטב להשאיר דלוק אם לא בטוחים.",
|
||||
"ResolutionScaleTooltip": "שיפור רזולוצייה המאופשרת לעיבוד מטרות.",
|
||||
"ResolutionScaleEntryTooltip": "שיפור רזולוציית נקודה צפה, כגון 1.5. הוא שיפור לא אינטגרלי הנוטה לגרום יותר בעיות או להקריס.",
|
||||
"AnisotropyTooltip": "רמת סינון אניסוטרופי (מוגדר לאוטומטי כדי להשתמש בערך המבוקש על ידי המשחק)",
|
||||
"AspectRatioTooltip": "יחס גובה-רוחב הוחל על חלון המעבד.",
|
||||
"ShaderDumpPathTooltip": "נתיב השלכת הצללות גראפיות",
|
||||
"FileLogTooltip": "שומר את רישומי שורת הפקודות לזיכרון, לא משפיע על ביצועי היישום.",
|
||||
"StubLogTooltip": "מדפיס רישומים כושלים לשורת הפקודות. לא משפיע על ביצועי היישום.",
|
||||
"InfoLogTooltip": "מדפיק רישומי מידע לשורת הפקודות. לא משפיע על ביצועי היישום.",
|
||||
"WarnLogTooltip": "מדפיק רישומי הערות לשורת הפקודות. לא משפיע על ביצועי היישום.",
|
||||
"ErrorLogTooltip": "מדפיס רישומי שגיאות לשורת הפקודות. לא משפיע על ביצועי היישום.",
|
||||
"TraceLogTooltip": "מדפיק רישומי זיכרון לשורת הפקודות. לא משפיע על ביצועי היישום.",
|
||||
"GuestLogTooltip": "מדפיס רישומי אורח לשורת הפקודות. לא משפיע על ביצועי היישום.",
|
||||
"FileAccessLogTooltip": "מדפיס גישות לקבצי רישום לשורת הפקודות.",
|
||||
"FSAccessLogModeTooltip": "מאפשר גישה לרישומי FS ליציאת שורת הפקודות. האפשרויות הינן 0-3.",
|
||||
"DeveloperOptionTooltip": "השתמש בזהירות",
|
||||
"OpenGlLogLevel": "דורש הפעלת רמות רישום מתאימות",
|
||||
"DebugLogTooltip": "מדפיס הודעות יומן ניפוי באגים בשורת הפקודות.",
|
||||
"LoadApplicationFileTooltip": "פתח סייר קבצים כדי לבחור קובץ תואם סוויץ' לטעינה",
|
||||
"LoadApplicationFolderTooltip": "פתח סייר קבצים כדי לבחור יישום תואם סוויץ', לא ארוז לטעינה.",
|
||||
"OpenRyujinxFolderTooltip": "פתח את תיקיית מערכת הקבצים ריוג'ינקס",
|
||||
"OpenRyujinxLogsTooltip": "פותח את התיקיה שאליה נכתבים רישומים",
|
||||
"ExitTooltip": "צא מריוג'ינקס",
|
||||
"OpenSettingsTooltip": "פתח את חלון ההגדרות",
|
||||
"OpenProfileManagerTooltip": "פתח את חלון מנהל פרופילי המשתמש",
|
||||
"StopEmulationTooltip": "הפסק את הדמייה של המשחק הנוכחי וחזור למסך בחירת המשחק",
|
||||
"CheckUpdatesTooltip": "בדוק אם קיימים עדכונים לריוג'ינקס",
|
||||
"OpenAboutTooltip": "פתח את חלון אודות היישום",
|
||||
"GridSize": "גודל רשת",
|
||||
"GridSizeTooltip": "שנה את גודל המוצרים על הרשת.",
|
||||
"SettingsTabSystemSystemLanguageBrazilianPortuguese": "פורטוגלית ברזילאית",
|
||||
"AboutRyujinxContributorsButtonHeader": "צפה בכל התורמים",
|
||||
"SettingsTabSystemAudioVolume": "עוצמת קול: ",
|
||||
"AudioVolumeTooltip": "שנה עוצמת קול",
|
||||
"SettingsTabSystemEnableInternetAccess": "אפשר גישה לאינטרנט בתור אורח/חיבור לאן",
|
||||
"EnableInternetAccessTooltip": "מאפשר ליישומים באמולצייה להתחבר לאינטרנט.\n\nמשחקים עם חיבור לאן יכולים להתחבר אחד לשני כשאופצייה זו מופעלת והמערכות מתחברות לאותה נקודת גישה. כמו כן זה כולל שורות פקודות אמיתיות גם.\n\nאופצייה זו לא מאפשרת חיבור לשרתי נינטנדו. כשהאופצייה דלוקה היא עלולה לגרום לקריסת היישום במשחקים מסויימים שמנסים להתחבר לאינטרנט.\n\nמוטב להשאיר כבוי אם לא בטוחים.",
|
||||
"GameListContextMenuManageCheatToolTip": "נהל צ'יטים",
|
||||
"GameListContextMenuManageCheat": "נהל צ'יטים",
|
||||
"ControllerSettingsStickRange": "טווח:",
|
||||
"DialogStopEmulationTitle": "ריוג'ינקס - עצור אמולציה",
|
||||
"DialogStopEmulationMessage": "האם אתם בטוחים שאתם רוצים לסגור את האמולצייה?",
|
||||
"SettingsTabCpu": "מעבד",
|
||||
"SettingsTabAudio": "שמע",
|
||||
"SettingsTabNetwork": "רשת",
|
||||
"SettingsTabNetworkConnection": "חיבור רשת",
|
||||
"SettingsTabCpuCache": "מטמון מעבד",
|
||||
"SettingsTabCpuMemory": "מצב מעבד",
|
||||
"DialogUpdaterFlatpakNotSupportedMessage": "בבקשה עדכן את ריוג'ינקס דרך פלאטהב.",
|
||||
"UpdaterDisabledWarningTitle": "מעדכן מושבת!",
|
||||
"GameListContextMenuOpenSdModsDirectory": "פתח את תקיית המודים של אטמוספרה",
|
||||
"GameListContextMenuOpenSdModsDirectoryToolTip": "פותח את תקיית כרטיס ה-SD החלופית של אטמוספרה המכילה את המודים של האפליקציה. שימושי עבור מודים ארוזים עבור חומרה אמיתית.",
|
||||
"ControllerSettingsRotate90": "סובב 90° עם בכיוון השעון",
|
||||
"IconSize": "גודל הסמל",
|
||||
"IconSizeTooltip": "שנה את גודל הסמלים של משחקים",
|
||||
"MenuBarOptionsShowConsole": "הצג שורת פקודות",
|
||||
"ShaderCachePurgeError": "שגיאה בניקוי מטמון ההצללות ב-{0}: {1}",
|
||||
"UserErrorNoKeys": "המפתחות לא נמצאו",
|
||||
"UserErrorNoFirmware": "קושחה לא נמצאה",
|
||||
"UserErrorFirmwareParsingFailed": "שגיאת ניתוח קושחה",
|
||||
"UserErrorApplicationNotFound": "יישום לא נמצא",
|
||||
"UserErrorUnknown": "שגיאה לא ידועה",
|
||||
"UserErrorUndefined": "שגיאה לא מוגדרת",
|
||||
"UserErrorNoKeysDescription": "ריוג'ינקס לא הצליח למצוא את קובץ ה-'prod.keys' שלך",
|
||||
"UserErrorNoFirmwareDescription": "ריוג'ינקס לא הצליחה למצוא קושחה מותקנת",
|
||||
"UserErrorFirmwareParsingFailedDescription": "ריוג'ינקס לא הצליחה לנתח את הקושחה שסופקה. זה נגרם בדרך כלל על ידי מפתחות לא עדכניים.",
|
||||
"UserErrorApplicationNotFoundDescription": "ריוג'ינקס לא מצאה יישום תקין בנתיב הנתון",
|
||||
"UserErrorUnknownDescription": "קרתה שגיאה לא ידועה!",
|
||||
"UserErrorUndefinedDescription": "קרתה שגיאה לא מוגדרת! זה לא אמור לקרות, אנא צרו קשר עם מפתח!",
|
||||
"OpenSetupGuideMessage": "פתח מדריך התקנה",
|
||||
"NoUpdate": "אין עדכון",
|
||||
"TitleUpdateVersionLabel": "גרסה {0}",
|
||||
"RyujinxInfo": "ריוג'ינקס - מידע",
|
||||
"RyujinxConfirm": "ריוג'ינקס - אישור",
|
||||
"FileDialogAllTypes": "כל הסוגים",
|
||||
"Never": "אף פעם",
|
||||
"SwkbdMinCharacters": "לפחות {0} תווים",
|
||||
"SwkbdMinRangeCharacters": "באורך {0}-{1} תווים",
|
||||
"SoftwareKeyboard": "מקלדת וירטואלית",
|
||||
"SoftwareKeyboardModeNumbersOnly": "מחויב להיות מספרי בלבד",
|
||||
"SoftwareKeyboardModeAlphabet": "מחויב להיות ללא אותיות CJK",
|
||||
"SoftwareKeyboardModeASCII": "מחויב להיות טקסט אסקיי",
|
||||
"DialogControllerAppletMessagePlayerRange": "האפליקציה מבקשת {0} שחקנים עם:\n\nסוגים: {1}\n\nשחקנים: {2}\n\n{3}אנא פתח את ההגדרות והגדר מחדש את הקלט כעת או סגור.",
|
||||
"DialogControllerAppletMessage": "האפליקציה מבקשת בדיוק {0} שחקנים עם:\n\nסוגים: {1}\n\nשחקנים: {2}\n\n{3}אנא פתח את ההגדרות והגדר מחדש את הקלט כעת או סגור.",
|
||||
"DialogControllerAppletDockModeSet": "במצב עגינה. בנוסף מצב נייד לא אפשרי.\n\n",
|
||||
"UpdaterRenaming": "משנה שמות של קבצים ישנים...",
|
||||
"UpdaterRenameFailed": "המעדכן לא הצליח לשנות את שם הקובץ: {0}",
|
||||
"UpdaterAddingFiles": "מוסיף קבצים חדשים...",
|
||||
"UpdaterExtracting": "מחלץ עדכון...",
|
||||
"UpdaterDownloading": "מוריד עדכון...",
|
||||
"Game": "משחק",
|
||||
"Docked": "בתחנת עגינה",
|
||||
"Handheld": "נייד",
|
||||
"ConnectionError": "שגיאת חיבור",
|
||||
"AboutPageDeveloperListMore": "{0} ועוד...",
|
||||
"ApiError": "שגיאת ממשק.",
|
||||
"LoadingHeading": "טוען {0}",
|
||||
"CompilingPPTC": "קימפול PTC",
|
||||
"CompilingShaders": "קימפול הצללות",
|
||||
"AllKeyboards": "כל המקלדות",
|
||||
"OpenFileDialogTitle": "בחר קובץ נתמך לפתיחה",
|
||||
"OpenFolderDialogTitle": "בחר תיקיה עם משחק לא ארוז",
|
||||
"AllSupportedFormats": "כל הפורמטים הנתמכים",
|
||||
"RyujinxUpdater": "מעדכן ריוג'ינקס",
|
||||
"SettingsTabHotkeys": "מקשי קיצור במקלדת",
|
||||
"SettingsTabHotkeysHotkeys": "מקשי קיצור במקלדת",
|
||||
"SettingsTabHotkeysToggleVsyncHotkey": "שנה סינכרון אנכי:",
|
||||
"SettingsTabHotkeysScreenshotHotkey": "צילום מסך:",
|
||||
"SettingsTabHotkeysShowUiHotkey": "הצג ממשק משתמש:",
|
||||
"SettingsTabHotkeysPauseHotkey": "הפסק:",
|
||||
"SettingsTabHotkeysToggleMuteHotkey": "השתק:",
|
||||
"ControllerMotionTitle": "הגדרות שליטת תנועות ג'ירוסקופ",
|
||||
"ControllerRumbleTitle": "הגדרות רטט",
|
||||
"SettingsSelectThemeFileDialogTitle": "בחרו קובץ ערכת נושא",
|
||||
"SettingsXamlThemeFile": "קובץ ערכת נושא Xaml",
|
||||
"AvatarWindowTitle": "ניהול חשבונות - אוואטר",
|
||||
"Amiibo": "אמיבו",
|
||||
"Unknown": "לא ידוע",
|
||||
"Usage": "שימוש",
|
||||
"Writable": "ניתן לכתיבה",
|
||||
"SelectDlcDialogTitle": "בחרו קבצי הרחבות משחק",
|
||||
"SelectUpdateDialogTitle": "בחרו קבצי עדכון",
|
||||
"UserProfileWindowTitle": "ניהול פרופילי משתמש",
|
||||
"CheatWindowTitle": "נהל צ'יטים למשחק",
|
||||
"DlcWindowTitle": "נהל הרחבות משחק עבור {0} ({1})",
|
||||
"UpdateWindowTitle": "נהל עדכוני משחקים",
|
||||
"CheatWindowHeading": "צ'יטים זמינים עבור {0} [{1}]",
|
||||
"BuildId": "מזהה בניה:",
|
||||
"DlcWindowHeading": "{0} הרחבות משחק",
|
||||
"UserProfilesEditProfile": "ערוך נבחר/ים",
|
||||
"Cancel": "בטל",
|
||||
"Save": "שמור",
|
||||
"Discard": "השלך",
|
||||
"UserProfilesSetProfileImage": "הגדר תמונת פרופיל",
|
||||
"UserProfileEmptyNameError": "נדרש שם",
|
||||
"UserProfileNoImageError": "נדרשת תמונת פרופיל",
|
||||
"GameUpdateWindowHeading": "נהל עדכונים עבור {0} ({1})",
|
||||
"SettingsTabHotkeysResScaleUpHotkey": "שפר רזולוציה:",
|
||||
"SettingsTabHotkeysResScaleDownHotkey": "הפחת רזולוציה:",
|
||||
"UserProfilesName": "שם:",
|
||||
"UserProfilesUserId": "מזהה משתמש:",
|
||||
"SettingsTabGraphicsBackend": "אחראי גראפיקה",
|
||||
"SettingsTabGraphicsBackendTooltip": "אחראי גראפיקה לשימוש",
|
||||
"SettingsEnableTextureRecompression": "אפשר דחיסה מחדש של המרקם",
|
||||
"SettingsEnableTextureRecompressionTooltip": " דוחס מרקמים מסויימים להפחתת השימוש בראם הוירטואלי.\n\nמומלץ לשימוש עם כרטיס גראפי בעל פחות מ-4GiB בראם הוירטואלי.\n\nמוטב להשאיר כבוי אם אינכם בטוחים.",
|
||||
"SettingsTabGraphicsPreferredGpu": "כרטיס גראפי מועדף",
|
||||
"SettingsTabGraphicsPreferredGpuTooltip": "בחר את הכרטיס הגראפי שישומש עם הגראפיקה של וולקאן.\n\nדבר זה לא משפיע על הכרטיס הגראפי שישומש עם OpenGL.\n\nמוטב לבחור את ה-GPU המסומן כ-\"dGPU\" אם אינכם בטוחים, אם זו לא אופצייה, אל תשנו דבר.",
|
||||
"SettingsAppRequiredRestartMessage": "ריוג'ינקס דורש אתחול מחדש",
|
||||
"SettingsGpuBackendRestartMessage": "הגדרות אחראי גרפיקה או כרטיס גראפי שונו. זה ידרוש הפעלה מחדש כדי להחיל שינויים",
|
||||
"SettingsGpuBackendRestartSubMessage": "האם ברצונך להפעיל מחדש כעט?",
|
||||
"RyujinxUpdaterMessage": "האם ברצונך לעדכן את ריוג'ינקס לגרסא האחרונה?",
|
||||
"SettingsTabHotkeysVolumeUpHotkey": "הגבר את עוצמת הקול:",
|
||||
"SettingsTabHotkeysVolumeDownHotkey": "הנמך את עוצמת הקול:",
|
||||
"SettingsEnableMacroHLE": "Enable Macro HLE",
|
||||
"SettingsEnableMacroHLETooltip": "אמולצייה ברמה גבוהה של כרטיס גראפי עם קוד מקרו.\n\nמשפר את ביצועי היישום אך עלול לגרום לגליצ'ים חזותיים במשחקים מסויימים.\n\nמוטב להשאיר דלוק אם אינך בטוח.",
|
||||
"SettingsEnableColorSpacePassthrough": "Color Space Passthrough",
|
||||
"SettingsEnableColorSpacePassthroughTooltip": "Directs the Vulkan backend to pass through color information without specifying a color space. For users with wide gamut displays, this may result in more vibrant colors, at the cost of color correctness.",
|
||||
"VolumeShort": "שמע",
|
||||
"UserProfilesManageSaves": "נהל שמורים",
|
||||
"DeleteUserSave": "האם ברצונך למחוק את תקיית השמור למשחק זה?",
|
||||
"IrreversibleActionNote": "הפעולה הזו בלתי הפיכה.",
|
||||
"SaveManagerHeading": "נהל שמורי משחק עבור {0} ({1})",
|
||||
"SaveManagerTitle": "מנהל שמירות",
|
||||
"Name": "שם",
|
||||
"Size": "גודל",
|
||||
"Search": "חפש",
|
||||
"UserProfilesRecoverLostAccounts": "שחזר חשבון שאבד",
|
||||
"Recover": "שחזר",
|
||||
"UserProfilesRecoverHeading": "שמורים נמצאו לחשבונות הבאים",
|
||||
"UserProfilesRecoverEmptyList": "אין פרופילים לשחזור",
|
||||
"GraphicsAATooltip": "מחיל החלקת-עקומות על עיבוד המשחק",
|
||||
"GraphicsAALabel": "החלקת-עקומות:",
|
||||
"GraphicsScalingFilterLabel": "מסנן מידת איכות:",
|
||||
"GraphicsScalingFilterTooltip": "אפשר מידת איכות מסוג איגור-תמונה",
|
||||
"GraphicsScalingFilterLevelLabel": "רמה",
|
||||
"GraphicsScalingFilterLevelTooltip": "קבע מידת איכות תמונה לפי רמת סינון",
|
||||
"SmaaLow": "SMAA נמוך",
|
||||
"SmaaMedium": "SMAA בינוני",
|
||||
"SmaaHigh": "SMAA גבוהה",
|
||||
"SmaaUltra": "SMAA אולטרה",
|
||||
"UserEditorTitle": "ערוך משתמש",
|
||||
"UserEditorTitleCreate": "צור משתמש",
|
||||
"SettingsTabNetworkInterface": "ממשק רשת",
|
||||
"NetworkInterfaceTooltip": "ממשק הרשת המשומש עבור יכולות לאן",
|
||||
"NetworkInterfaceDefault": "ברירת המחדל",
|
||||
"PackagingShaders": "אורז הצללות",
|
||||
"AboutChangelogButton": "צפה במידע אודות שינויים בגיטהב",
|
||||
"AboutChangelogButtonTooltipMessage": "לחץ כדי לפתוח את יומן השינויים עבור גרסה זו בדפדפן ברירת המחדל שלך."
|
||||
}
|
|
@ -2,16 +2,17 @@
|
|||
"Language": "Italiano",
|
||||
"MenuBarFileOpenApplet": "Apri Applet",
|
||||
"MenuBarFileOpenAppletOpenMiiAppletToolTip": "Apri l'applet Mii Editor in modalità Standalone",
|
||||
"SettingsTabInputDirectMouseAccess": "Accesso diretto al mouse",
|
||||
"SettingsTabInputDirectMouseAccess": "Accesso diretto mouse",
|
||||
"SettingsTabSystemMemoryManagerMode": "Modalità di gestione della memoria:",
|
||||
"SettingsTabSystemMemoryManagerModeSoftware": "Software",
|
||||
"SettingsTabSystemMemoryManagerModeHost": "Host (veloce)",
|
||||
"SettingsTabSystemMemoryManagerModeHostUnchecked": "Host Unchecked (più veloce, non sicura)",
|
||||
"SettingsTabSystemUseHypervisor": "Usa Hypervisor",
|
||||
"MenuBarFile": "_File",
|
||||
"MenuBarFileOpenFromFile": "_Carica applicazione da un file",
|
||||
"MenuBarFileOpenUnpacked": "Carica _gioco estratto",
|
||||
"MenuBarFileOpenEmuFolder": "Apri cartella di Ryujinx",
|
||||
"MenuBarFileOpenLogsFolder": "Apri cartella dei logs",
|
||||
"MenuBarFileOpenLogsFolder": "Apri cartella dei Log",
|
||||
"MenuBarFileExit": "_Esci",
|
||||
"MenuBarOptions": "Opzioni",
|
||||
"MenuBarOptionsToggleFullscreen": "Schermo intero",
|
||||
|
@ -26,11 +27,14 @@
|
|||
"MenuBarToolsInstallFirmware": "Installa firmware",
|
||||
"MenuBarFileToolsInstallFirmwareFromFile": "Installa un firmware da file XCI o ZIP",
|
||||
"MenuBarFileToolsInstallFirmwareFromDirectory": "Installa un firmare da una cartella",
|
||||
"MenuBarToolsManageFileTypes": "Gestisci i tipi di file",
|
||||
"MenuBarToolsInstallFileTypes": "Installa i tipi di file",
|
||||
"MenuBarToolsUninstallFileTypes": "Disinstalla i tipi di file",
|
||||
"MenuBarHelp": "Aiuto",
|
||||
"MenuBarHelpCheckForUpdates": "Controlla aggiornamenti",
|
||||
"MenuBarHelpAbout": "Informazioni",
|
||||
"MenuSearch": "Cerca...",
|
||||
"GameListHeaderFavorite": "Pref",
|
||||
"GameListHeaderFavorite": "Preferito",
|
||||
"GameListHeaderIcon": "Icona",
|
||||
"GameListHeaderApplication": "Nome",
|
||||
"GameListHeaderDeveloper": "Sviluppatore",
|
||||
|
@ -70,13 +74,23 @@
|
|||
"GameListContextMenuExtractDataLogoToolTip": "Estrae la sezione Logo dall'attuale configurazione dell'applicazione (includendo aggiornamenti)",
|
||||
"StatusBarGamesLoaded": "{0}/{1} Giochi caricati",
|
||||
"StatusBarSystemVersion": "Versione di sistema: {0}",
|
||||
"LinuxVmMaxMapCountDialogTitle": "Limite basso per le mappature di memoria rilevate",
|
||||
"LinuxVmMaxMapCountDialogTextPrimary": "Vuoi aumentare il valore di vm.max_map_count a {0}?",
|
||||
"LinuxVmMaxMapCountDialogTextSecondary": "Alcuni giochi potrebbero provare a creare più mappature di memoria di quanto sia attualmente consentito. Ryujinx si bloccherà non appena questo limite viene superato.",
|
||||
"LinuxVmMaxMapCountDialogButtonUntilRestart": "Sì, fino al prossimo riavvio",
|
||||
"LinuxVmMaxMapCountDialogButtonPersistent": "Sì, in modo permanente",
|
||||
"LinuxVmMaxMapCountWarningTextPrimary": "La quantità massima di mappature di memoria è inferiore a quella consigliata.",
|
||||
"LinuxVmMaxMapCountWarningTextSecondary": "Il valore corrente di vm.max_map_count ({0}) è inferiore a {1}. Alcuni giochi potrebbero provare a creare più mappature di memoria di quanto sia attualmente consentito. Ryujinx si bloccherà non appena questo limite viene superato.\n\nPotresti voler aumentare manualmente il limite o installare pkexec, il che permette a Ryujinx di assisterlo.",
|
||||
"Settings": "Impostazioni",
|
||||
"SettingsTabGeneral": "Interfaccia utente",
|
||||
"SettingsTabGeneralGeneral": "Generali",
|
||||
"SettingsTabGeneralEnableDiscordRichPresence": "Attiva Discord Rich Presence",
|
||||
"SettingsTabGeneralCheckUpdatesOnLaunch": "Controlla aggiornamenti all'avvio",
|
||||
"SettingsTabGeneralShowConfirmExitDialog": "Mostra dialogo \"Conferma Uscita\"",
|
||||
"SettingsTabGeneralHideCursor": "Nascondi il cursore:",
|
||||
"SettingsTabGeneralHideCursorNever": "Mai",
|
||||
"SettingsTabGeneralHideCursorOnIdle": "Nascondi cursore inattivo",
|
||||
"SettingsTabGeneralHideCursorAlways": "Sempre",
|
||||
"SettingsTabGeneralGameDirectories": "Cartelle dei giochi",
|
||||
"SettingsTabGeneralAdd": "Aggiungi",
|
||||
"SettingsTabGeneralRemove": "Rimuovi",
|
||||
|
@ -89,7 +103,7 @@
|
|||
"SettingsTabSystemSystemRegionAustralia": "Australia",
|
||||
"SettingsTabSystemSystemRegionChina": "Cina",
|
||||
"SettingsTabSystemSystemRegionKorea": "Corea",
|
||||
"SettingsTabSystemSystemRegionTaiwan": "Tailandia",
|
||||
"SettingsTabSystemSystemRegionTaiwan": "Taiwan",
|
||||
"SettingsTabSystemSystemLanguage": "Lingua del sistema:",
|
||||
"SettingsTabSystemSystemLanguageJapanese": "Giapponese",
|
||||
"SettingsTabSystemSystemLanguageAmericanEnglish": "Inglese americano",
|
||||
|
@ -158,6 +172,7 @@
|
|||
"SettingsTabLoggingEnableFsAccessLogs": "Attiva Fs Access Logs",
|
||||
"SettingsTabLoggingFsGlobalAccessLogMode": "Modalità log accesso globale Fs:",
|
||||
"SettingsTabLoggingDeveloperOptions": "Opzioni da sviluppatore (AVVISO: Ridurrà le prestazioni)",
|
||||
"SettingsTabLoggingDeveloperOptionsNote": "ATTENZIONE: ridurrà le prestazioni",
|
||||
"SettingsTabLoggingGraphicsBackendLogLevel": "Livello registro backend grafico:",
|
||||
"SettingsTabLoggingGraphicsBackendLogLevelNone": "Nessuno",
|
||||
"SettingsTabLoggingGraphicsBackendLogLevelError": "Errore",
|
||||
|
@ -208,26 +223,17 @@
|
|||
"ControllerSettingsDPadDown": "Giù",
|
||||
"ControllerSettingsDPadLeft": "Sinistra",
|
||||
"ControllerSettingsDPadRight": "Destra",
|
||||
"ControllerSettingsStickButton": "Pulsante",
|
||||
"ControllerSettingsStickUp": "Su",
|
||||
"ControllerSettingsStickDown": "Giù",
|
||||
"ControllerSettingsStickLeft": "Sinistra",
|
||||
"ControllerSettingsStickRight": "Destra",
|
||||
"ControllerSettingsStickStick": "Levetta",
|
||||
"ControllerSettingsStickInvertXAxis": "Inverti levetta X",
|
||||
"ControllerSettingsStickInvertYAxis": "Inverti levetta Y",
|
||||
"ControllerSettingsStickDeadzone": "Zona morta:",
|
||||
"ControllerSettingsLStick": "Stick sinistro",
|
||||
"ControllerSettingsLStickButton": "Pulsante",
|
||||
"ControllerSettingsLStickUp": "Su",
|
||||
"ControllerSettingsLStickDown": "Giù",
|
||||
"ControllerSettingsLStickLeft": "Sinistra",
|
||||
"ControllerSettingsLStickRight": "Destra",
|
||||
"ControllerSettingsLStickStick": "Levetta",
|
||||
"ControllerSettingsLStickInvertXAxis": "Inverti stick X",
|
||||
"ControllerSettingsLStickInvertYAxis": "Inverti stick Y",
|
||||
"ControllerSettingsLStickDeadzone": "Zona morta:",
|
||||
"ControllerSettingsRStick": "Stick destro",
|
||||
"ControllerSettingsRStickButton": "Pulsante",
|
||||
"ControllerSettingsRStickUp": "Su",
|
||||
"ControllerSettingsRStickDown": "Giù",
|
||||
"ControllerSettingsRStickLeft": "Sinistra",
|
||||
"ControllerSettingsRStickRight": "Destra",
|
||||
"ControllerSettingsRStickStick": "Levetta",
|
||||
"ControllerSettingsRStickInvertXAxis": "Inverti stick X",
|
||||
"ControllerSettingsRStickInvertYAxis": "Inverti stick Y",
|
||||
"ControllerSettingsRStickDeadzone": "Zona morta:",
|
||||
"ControllerSettingsTriggersLeft": "Grilletto sinistro",
|
||||
"ControllerSettingsTriggersRight": "Grilletto destro",
|
||||
"ControllerSettingsTriggersButtonsLeft": "Pulsante dorsale sinistro",
|
||||
|
@ -260,8 +266,9 @@
|
|||
"UserProfilesChangeProfileImage": "Cambia immagine profilo",
|
||||
"UserProfilesAvailableUserProfiles": "Profili utente disponibili:",
|
||||
"UserProfilesAddNewProfile": "Aggiungi nuovo profilo",
|
||||
"UserProfilesDeleteSelectedProfile": "Elimina il profilo selezionato",
|
||||
"UserProfilesDelete": "Elimina",
|
||||
"UserProfilesClose": "Chiudi",
|
||||
"ProfileNameSelectionWatermark": "Scegli un soprannome",
|
||||
"ProfileImageSelectionTitle": "Selezione dell'immagine profilo",
|
||||
"ProfileImageSelectionHeader": "Scegli un'immagine profilo",
|
||||
"ProfileImageSelectionNote": "Puoi importare un'immagine profilo personalizzata o selezionare un avatar dal firmware del sistema",
|
||||
|
@ -282,6 +289,7 @@
|
|||
"ControllerSettingsSaveProfileToolTip": "Salva profilo",
|
||||
"MenuBarFileToolsTakeScreenshot": "Fai uno screenshot",
|
||||
"MenuBarFileToolsHideUi": "Nascondi UI",
|
||||
"GameListContextMenuRunApplication": "Esegui applicazione",
|
||||
"GameListContextMenuToggleFavorite": "Preferito",
|
||||
"GameListContextMenuToggleFavoriteToolTip": "Segna il gioco come preferito",
|
||||
"SettingsTabGeneralTheme": "Tema",
|
||||
|
@ -337,6 +345,10 @@
|
|||
"DialogFirmwareInstallEmbeddedSuccessMessage": "Non è stato trovato alcun firmware installato, ma Ryujinx è riuscito ad installare il firmware {0} dal gioco fornito.\nL'emulatore si avvierà adesso.",
|
||||
"DialogFirmwareNoFirmwareInstalledMessage": "Nessun firmware installato",
|
||||
"DialogFirmwareInstalledMessage": "Il firmware {0} è stato installato",
|
||||
"DialogInstallFileTypesSuccessMessage": "Tipi di file installati con successo!",
|
||||
"DialogInstallFileTypesErrorMessage": "Impossibile installare i tipi di file.",
|
||||
"DialogUninstallFileTypesSuccessMessage": "Tipi di file disinstallati con successo!",
|
||||
"DialogUninstallFileTypesErrorMessage": "Disinstallazione dei tipi di file non riuscita.",
|
||||
"DialogOpenSettingsWindowLabel": "Apri finestra delle impostazioni",
|
||||
"DialogControllerAppletTitle": "Applet del controller",
|
||||
"DialogMessageDialogErrorExceptionMessage": "Errore nella visualizzazione del Message Dialog: {0}",
|
||||
|
@ -368,6 +380,9 @@
|
|||
"DialogFirmwareInstallerFirmwareInstallSuccessMessage": "La versione del sistema {0} è stata installata.",
|
||||
"DialogUserProfileDeletionWarningMessage": "Non ci sarebbero altri profili da aprire se il profilo selezionato viene cancellato",
|
||||
"DialogUserProfileDeletionConfirmMessage": "Vuoi eliminare il profilo selezionato?",
|
||||
"DialogUserProfileUnsavedChangesTitle": "Attenzione - Modifiche Non Salvate",
|
||||
"DialogUserProfileUnsavedChangesMessage": "Hai apportato modifiche a questo profilo utente che non sono state salvate.",
|
||||
"DialogUserProfileUnsavedChangesSubMessage": "Vuoi scartare le modifiche?",
|
||||
"DialogControllerSettingsModifiedConfirmMessage": "Le attuali impostazioni del controller sono state aggiornate.",
|
||||
"DialogControllerSettingsModifiedConfirmSubMessage": "Vuoi salvare?",
|
||||
"DialogLoadNcaErrorMessage": "{0}. File errato: {1}",
|
||||
|
@ -409,13 +424,14 @@
|
|||
"AmiiboOptionsShowAllLabel": "Mostra tutti gli amiibo",
|
||||
"AmiiboOptionsUsRandomTagLabel": "Hack: Usa un tag uuid casuale",
|
||||
"DlcManagerTableHeadingEnabledLabel": "Abilitato",
|
||||
"DlcManagerTableHeadingTitleIdLabel": "Titolo ID",
|
||||
"DlcManagerTableHeadingTitleIdLabel": "ID Titolo",
|
||||
"DlcManagerTableHeadingContainerPathLabel": "Percorso del contenitore",
|
||||
"DlcManagerTableHeadingFullPathLabel": "Percorso completo",
|
||||
"DlcManagerRemoveAllButton": "Rimuovi tutti",
|
||||
"DlcManagerEnableAllButton": "Abilita tutto",
|
||||
"DlcManagerDisableAllButton": "Disabilita tutto",
|
||||
"MenuBarOptionsChangeLanguage": "Cambia lingua",
|
||||
"MenuBarShowFileTypes": "Mostra tipi di file",
|
||||
"CommonSort": "Ordina",
|
||||
"CommonShowNames": "Mostra nomi",
|
||||
"CommonFavorite": "Preferito",
|
||||
|
@ -445,6 +461,7 @@
|
|||
"MemoryManagerSoftwareTooltip": "Usa una software page table per la traduzione degli indirizzi. Massima precisione ma prestazioni più lente.",
|
||||
"MemoryManagerHostTooltip": "Mappa direttamente la memoria nello spazio degli indirizzi dell'host. Compilazione ed esecuzione JIT molto più veloce.",
|
||||
"MemoryManagerUnsafeTooltip": "Mappa direttamente la memoria, ma non maschera l'indirizzo all'interno dello spazio degli indirizzi guest prima dell'accesso. Più veloce, ma a costo della sicurezza. L'applicazione guest può accedere alla memoria da qualsiasi punto di Ryujinx, quindi esegui solo programmi di cui ti fidi con questa modalità.",
|
||||
"UseHypervisorTooltip": "Usa Hypervisor invece di JIT. Migliora notevolmente le prestazioni quando disponibile, ma può essere instabile nel suo stato attuale.",
|
||||
"DRamTooltip": "Espande l'ammontare di memoria sul sistema emulato da 4GiB A 6GiB",
|
||||
"IgnoreMissingServicesTooltip": "Attiva o disattiva l'opzione di ignorare i servizi mancanti",
|
||||
"GraphicsBackendThreadingTooltip": "Attiva il Graphics Backend Multithreading",
|
||||
|
@ -527,6 +544,9 @@
|
|||
"SwkbdMinCharacters": "Non può avere meno di {0} caratteri",
|
||||
"SwkbdMinRangeCharacters": "Può avere da {0} a {1} caratteri",
|
||||
"SoftwareKeyboard": "Tastiera software",
|
||||
"SoftwareKeyboardModeNumbersOnly": "Deve essere solo numeri",
|
||||
"SoftwareKeyboardModeAlphabet": "Deve essere solo caratteri non CJK",
|
||||
"SoftwareKeyboardModeASCII": "Deve essere solo testo ASCII",
|
||||
"DialogControllerAppletMessagePlayerRange": "L'applicazione richiede {0} giocatori con:\n\nTIPI: {1}\n\nGIOCATORI: {2}\n\n{3}Apri le impostazioni e riconfigura l'input adesso o premi Chiudi.",
|
||||
"DialogControllerAppletMessage": "L'applicazione richiede esattamente {0} giocatori con:\n\nTIPI: {1}\n\nGIOCATORI: {2}\n\n{3}Apri le impostazioni e riconfigura l'input adesso o premi Chiudi.",
|
||||
"DialogControllerAppletDockModeSet": "Modalità TV attivata. Neanche portatile è valida.\n\n",
|
||||
|
@ -572,6 +592,7 @@
|
|||
"DlcWindowTitle": "Gestisci DLC dei giochi",
|
||||
"UpdateWindowTitle": "Gestisci aggiornamenti dei giochi",
|
||||
"CheatWindowHeading": "Cheat disponibiili per {0} [{1}]",
|
||||
"BuildId": "ID Build",
|
||||
"DlcWindowHeading": "DLC disponibili per {0} [{1}]",
|
||||
"UserProfilesEditProfile": "Modifica selezionati",
|
||||
"Cancel": "Annulla",
|
||||
|
@ -599,6 +620,8 @@
|
|||
"SettingsTabHotkeysVolumeDownHotkey": "Diminuire il volume:",
|
||||
"SettingsEnableMacroHLE": "Abilita Macro HLE",
|
||||
"SettingsEnableMacroHLETooltip": "Emulazione di alto livello del codice Macro GPU.\n\nMigliora le prestazioni, ma può causare anomalie grafiche in alcuni giochi.\n\nLasciare ON se non sei sicuro.",
|
||||
"SettingsEnableColorSpacePassthrough": "Spazio colore passante",
|
||||
"SettingsEnableColorSpacePassthroughTooltip": "Indica al backend Vulkan di passare le informazioni sul colore senza specificare uno spazio colore. Per gli utenti con schermi ad ampia gamma, questo può risultare in colori più vivaci, al costo della correttezza del colore.",
|
||||
"VolumeShort": "Vol",
|
||||
"UserProfilesManageSaves": "Gestisci i salvataggi",
|
||||
"DeleteUserSave": "Vuoi eliminare il salvataggio utente per questo gioco?",
|
||||
|
@ -610,5 +633,24 @@
|
|||
"Search": "Cerca",
|
||||
"UserProfilesRecoverLostAccounts": "Recupera il tuo account",
|
||||
"Recover": "Recupera",
|
||||
"UserProfilesRecoverHeading": "Sono stati trovati dei salvataggi per i seguenti account"
|
||||
"UserProfilesRecoverHeading": "Sono stati trovati dei salvataggi per i seguenti account",
|
||||
"UserProfilesRecoverEmptyList": "Nessun profilo da recuperare",
|
||||
"GraphicsAATooltip": "Applica anti-aliasing al rendering del gioco",
|
||||
"GraphicsAALabel": "Anti-Aliasing:",
|
||||
"GraphicsScalingFilterLabel": "Filtro di scala:",
|
||||
"GraphicsScalingFilterTooltip": "Abilita scalatura Framebuffer",
|
||||
"GraphicsScalingFilterLevelLabel": "Livello",
|
||||
"GraphicsScalingFilterLevelTooltip": "Imposta livello del filtro di scala",
|
||||
"SmaaLow": "SMAA Basso",
|
||||
"SmaaMedium": "SMAA Medio",
|
||||
"SmaaHigh": "SMAA Alto",
|
||||
"SmaaUltra": "SMAA Ultra",
|
||||
"UserEditorTitle": "Modificare L'Utente",
|
||||
"UserEditorTitleCreate": "Crea Un Utente",
|
||||
"SettingsTabNetworkInterface": "Interfaccia di rete:",
|
||||
"NetworkInterfaceTooltip": "L'interfaccia di rete utilizzata per le funzionalità LAN",
|
||||
"NetworkInterfaceDefault": "Predefinito",
|
||||
"PackagingShaders": "Comprimendo shader",
|
||||
"AboutChangelogButton": "Visualizza changelog su GitHub",
|
||||
"AboutChangelogButtonTooltipMessage": "Clicca per aprire il changelog per questa versione nel tuo browser predefinito."
|
||||
}
|
|
@ -1,5 +1,5 @@
|
|||
{
|
||||
"Language": "日本語",
|
||||
"Language": "英語 (アメリカ)",
|
||||
"MenuBarFileOpenApplet": "アプレットを開く",
|
||||
"MenuBarFileOpenAppletOpenMiiAppletToolTip": "スタンドアロンモードで Mii エディタアプレットを開きます",
|
||||
"SettingsTabInputDirectMouseAccess": "マウス直接アクセス",
|
||||
|
@ -7,6 +7,7 @@
|
|||
"SettingsTabSystemMemoryManagerModeSoftware": "ソフトウェア",
|
||||
"SettingsTabSystemMemoryManagerModeHost": "ホスト (高速)",
|
||||
"SettingsTabSystemMemoryManagerModeHostUnchecked": "ホスト, チェックなし (最高速, 安全でない)",
|
||||
"SettingsTabSystemUseHypervisor": "ハイパーバイザーを使用",
|
||||
"MenuBarFile": "ファイル(_F)",
|
||||
"MenuBarFileOpenFromFile": "ファイルからアプリケーションをロード(_L)",
|
||||
"MenuBarFileOpenUnpacked": "展開されたゲームをロード",
|
||||
|
@ -26,6 +27,9 @@
|
|||
"MenuBarToolsInstallFirmware": "ファームウェアをインストール",
|
||||
"MenuBarFileToolsInstallFirmwareFromFile": "XCI または ZIP からファームウェアをインストール",
|
||||
"MenuBarFileToolsInstallFirmwareFromDirectory": "ディレクトリからファームウェアをインストール",
|
||||
"MenuBarToolsManageFileTypes": "ファイル形式を管理",
|
||||
"MenuBarToolsInstallFileTypes": "ファイル形式をインストール",
|
||||
"MenuBarToolsUninstallFileTypes": "ファイル形式をアンインストール",
|
||||
"MenuBarHelp": "ヘルプ",
|
||||
"MenuBarHelpCheckForUpdates": "アップデートを確認",
|
||||
"MenuBarHelpAbout": "Ryujinx について",
|
||||
|
@ -55,12 +59,12 @@
|
|||
"GameListContextMenuCacheManagement": "キャッシュ管理",
|
||||
"GameListContextMenuCacheManagementPurgePptc": "PPTC を再構築",
|
||||
"GameListContextMenuCacheManagementPurgePptcToolTip": "次回のゲーム起動時に PPTC を再構築します",
|
||||
"GameListContextMenuCacheManagementPurgeShaderCache": "シェーダキャッシュを破棄",
|
||||
"GameListContextMenuCacheManagementPurgeShaderCacheToolTip": "アプリケーションのシェーダキャッシュを破棄します",
|
||||
"GameListContextMenuCacheManagementPurgeShaderCache": "シェーダーキャッシュを破棄",
|
||||
"GameListContextMenuCacheManagementPurgeShaderCacheToolTip": "アプリケーションのシェーダーキャッシュを破棄します",
|
||||
"GameListContextMenuCacheManagementOpenPptcDirectory": "PPTC ディレクトリを開く",
|
||||
"GameListContextMenuCacheManagementOpenPptcDirectoryToolTip": "アプリケーションの PPTC キャッシュを格納するディレクトリを開きます",
|
||||
"GameListContextMenuCacheManagementOpenShaderCacheDirectory": "シェーダキャッシュディレクトリを開く",
|
||||
"GameListContextMenuCacheManagementOpenShaderCacheDirectoryToolTip": "アプリケーションのシェーダキャッシュを格納するディレクトリを開きます",
|
||||
"GameListContextMenuCacheManagementOpenShaderCacheDirectory": "シェーダーキャッシュディレクトリを開く",
|
||||
"GameListContextMenuCacheManagementOpenShaderCacheDirectoryToolTip": "アプリケーションのシェーダーキャッシュを格納するディレクトリを開きます",
|
||||
"GameListContextMenuExtractData": "データを展開",
|
||||
"GameListContextMenuExtractDataExeFS": "ExeFS",
|
||||
"GameListContextMenuExtractDataExeFSToolTip": "現在のアプリケーション設定(アップデート含む)から ExeFS セクションを展開します",
|
||||
|
@ -70,13 +74,23 @@
|
|||
"GameListContextMenuExtractDataLogoToolTip": "現在のアプリケーション設定(アップデート含む)からロゴセクションを展開します",
|
||||
"StatusBarGamesLoaded": "{0}/{1} ゲーム",
|
||||
"StatusBarSystemVersion": "システムバージョン: {0}",
|
||||
"LinuxVmMaxMapCountDialogTitle": "メモリマッピング上限値が小さすぎます",
|
||||
"LinuxVmMaxMapCountDialogTextPrimary": "vm.max_map_count の値を {0}に増やしますか?",
|
||||
"LinuxVmMaxMapCountDialogTextSecondary": "ゲームによっては, 現在許可されているサイズより大きなメモリマッピングを作成しようとすることがあります. この制限を超えると, Ryjinx はすぐにクラッシュします.",
|
||||
"LinuxVmMaxMapCountDialogButtonUntilRestart": "はい, 次回再起動まで",
|
||||
"LinuxVmMaxMapCountDialogButtonPersistent": "はい, 恒久的に",
|
||||
"LinuxVmMaxMapCountWarningTextPrimary": "メモリマッピングの最大量が推奨値よりも小さいです.",
|
||||
"LinuxVmMaxMapCountWarningTextSecondary": "vm.max_map_count の現在値 {0} は {1} よりも小さいです. ゲームによっては現在許可されている値よりも大きなメモリマッピングを作成しようとする場合があります. 上限を越えた場合, Ryujinx はクラッシュします.",
|
||||
"Settings": "設定",
|
||||
"SettingsTabGeneral": "ユーザインタフェース",
|
||||
"SettingsTabGeneralGeneral": "一般",
|
||||
"SettingsTabGeneralEnableDiscordRichPresence": "Discord リッチプレゼンスを有効",
|
||||
"SettingsTabGeneralCheckUpdatesOnLaunch": "起動時にアップデートを確認",
|
||||
"SettingsTabGeneralShowConfirmExitDialog": "\"終了を確認\" ダイアログを表示",
|
||||
"SettingsTabGeneralHideCursorOnIdle": "アイドル時にカーソルを隠す",
|
||||
"SettingsTabGeneralEnableDiscordRichPresence": "Discord リッチプレゼンスを有効にする",
|
||||
"SettingsTabGeneralCheckUpdatesOnLaunch": "起動時にアップデートを確認する",
|
||||
"SettingsTabGeneralShowConfirmExitDialog": "\"終了を確認\" ダイアログを表示する",
|
||||
"SettingsTabGeneralHideCursor": "マウスカーソルを非表示",
|
||||
"SettingsTabGeneralHideCursorNever": "決して",
|
||||
"SettingsTabGeneralHideCursorOnIdle": "アイドル時",
|
||||
"SettingsTabGeneralHideCursorAlways": "常時",
|
||||
"SettingsTabGeneralGameDirectories": "ゲームディレクトリ",
|
||||
"SettingsTabGeneralAdd": "追加",
|
||||
"SettingsTabGeneralRemove": "削除",
|
||||
|
@ -120,11 +134,11 @@
|
|||
"SettingsTabSystemAudioBackendSDL2": "SDL2",
|
||||
"SettingsTabSystemHacks": "ハック",
|
||||
"SettingsTabSystemHacksNote": " (挙動が不安定になる可能性があります)",
|
||||
"SettingsTabSystemExpandDramSize": "DRAMサイズを6GiBに拡大",
|
||||
"SettingsTabSystemIgnoreMissingServices": "未実装サービスを無視",
|
||||
"SettingsTabSystemExpandDramSize": "DRAMサイズを6GiBに拡大する",
|
||||
"SettingsTabSystemIgnoreMissingServices": "未実装サービスを無視する",
|
||||
"SettingsTabGraphics": "グラフィックス",
|
||||
"SettingsTabGraphicsAPI": "グラフィックスAPI",
|
||||
"SettingsTabGraphicsEnableShaderCache": "シェーダキャッシュを有効",
|
||||
"SettingsTabGraphicsEnableShaderCache": "シェーダーキャッシュを有効にする",
|
||||
"SettingsTabGraphicsAnisotropicFiltering": "異方性フィルタリング:",
|
||||
"SettingsTabGraphicsAnisotropicFilteringAuto": "自動",
|
||||
"SettingsTabGraphicsAnisotropicFiltering2x": "2x",
|
||||
|
@ -145,25 +159,26 @@
|
|||
"SettingsTabGraphicsAspectRatio32x9": "32:9",
|
||||
"SettingsTabGraphicsAspectRatioStretch": "ウインドウサイズに合わせる",
|
||||
"SettingsTabGraphicsDeveloperOptions": "開発者向けオプション",
|
||||
"SettingsTabGraphicsShaderDumpPath": "グラフィックス シェーダダンプパス:",
|
||||
"SettingsTabGraphicsShaderDumpPath": "グラフィックス シェーダー ダンプパス:",
|
||||
"SettingsTabLogging": "ロギング",
|
||||
"SettingsTabLoggingLogging": "ロギング",
|
||||
"SettingsTabLoggingEnableLoggingToFile": "ファイルへのロギングを有効",
|
||||
"SettingsTabLoggingEnableStubLogs": "Stub ログを有効",
|
||||
"SettingsTabLoggingEnableInfoLogs": "Info ログを有効",
|
||||
"SettingsTabLoggingEnableWarningLogs": "Warning ログを有効",
|
||||
"SettingsTabLoggingEnableErrorLogs": "Error ログを有効",
|
||||
"SettingsTabLoggingEnableTraceLogs": "Trace ログを有効",
|
||||
"SettingsTabLoggingEnableGuestLogs": "Guest ログを有効",
|
||||
"SettingsTabLoggingEnableFsAccessLogs": "Fs アクセスログを有効",
|
||||
"SettingsTabLoggingEnableLoggingToFile": "ファイルへのロギングを有効にする",
|
||||
"SettingsTabLoggingEnableStubLogs": "Stub ログを有効にする",
|
||||
"SettingsTabLoggingEnableInfoLogs": "Info ログを有効にする",
|
||||
"SettingsTabLoggingEnableWarningLogs": "Warning ログを有効にする",
|
||||
"SettingsTabLoggingEnableErrorLogs": "Error ログを有効にする",
|
||||
"SettingsTabLoggingEnableTraceLogs": "Trace ログを有効にする",
|
||||
"SettingsTabLoggingEnableGuestLogs": "Guest ログを有効にする",
|
||||
"SettingsTabLoggingEnableFsAccessLogs": "Fs アクセスログを有効にする",
|
||||
"SettingsTabLoggingFsGlobalAccessLogMode": "Fs グローバルアクセスログモード:",
|
||||
"SettingsTabLoggingDeveloperOptions": "開発者オプション (警告: パフォーマンスが低下します)",
|
||||
"SettingsTabLoggingDeveloperOptions": "開発者オプション",
|
||||
"SettingsTabLoggingDeveloperOptionsNote": "警告: パフォーマンスを低下させます",
|
||||
"SettingsTabLoggingGraphicsBackendLogLevel": "グラフィックスバックエンド ログレベル:",
|
||||
"SettingsTabLoggingGraphicsBackendLogLevelNone": "なし",
|
||||
"SettingsTabLoggingGraphicsBackendLogLevelError": "エラー",
|
||||
"SettingsTabLoggingGraphicsBackendLogLevelPerformance": "パフォーマンス低下",
|
||||
"SettingsTabLoggingGraphicsBackendLogLevelAll": "すべて",
|
||||
"SettingsTabLoggingEnableDebugLogs": "デバッグログを有効",
|
||||
"SettingsTabLoggingEnableDebugLogs": "デバッグログを有効にする",
|
||||
"SettingsTabInput": "入力",
|
||||
"SettingsTabInputEnableDockedMode": "ドッキングモード",
|
||||
"SettingsTabInputDirectKeyboardAccess": "キーボード直接アクセス",
|
||||
|
@ -208,26 +223,17 @@
|
|||
"ControllerSettingsDPadDown": "下",
|
||||
"ControllerSettingsDPadLeft": "左",
|
||||
"ControllerSettingsDPadRight": "右",
|
||||
"ControllerSettingsStickButton": "ボタン",
|
||||
"ControllerSettingsStickUp": "上",
|
||||
"ControllerSettingsStickDown": "下",
|
||||
"ControllerSettingsStickLeft": "左",
|
||||
"ControllerSettingsStickRight": "右",
|
||||
"ControllerSettingsStickStick": "スティック",
|
||||
"ControllerSettingsStickInvertXAxis": "X軸を反転",
|
||||
"ControllerSettingsStickInvertYAxis": "Y軸を反転",
|
||||
"ControllerSettingsStickDeadzone": "遊び:",
|
||||
"ControllerSettingsLStick": "左スティック",
|
||||
"ControllerSettingsLStickButton": "ボタン",
|
||||
"ControllerSettingsLStickUp": "上",
|
||||
"ControllerSettingsLStickDown": "下",
|
||||
"ControllerSettingsLStickLeft": "左",
|
||||
"ControllerSettingsLStickRight": "右",
|
||||
"ControllerSettingsLStickStick": "スティック",
|
||||
"ControllerSettingsLStickInvertXAxis": "X軸を反転",
|
||||
"ControllerSettingsLStickInvertYAxis": "Y軸を反転",
|
||||
"ControllerSettingsLStickDeadzone": "遊び:",
|
||||
"ControllerSettingsRStick": "右スティック",
|
||||
"ControllerSettingsRStickButton": "ボタン",
|
||||
"ControllerSettingsRStickUp": "上",
|
||||
"ControllerSettingsRStickDown": "下",
|
||||
"ControllerSettingsRStickLeft": "左",
|
||||
"ControllerSettingsRStickRight": "右",
|
||||
"ControllerSettingsRStickStick": "スティック",
|
||||
"ControllerSettingsRStickInvertXAxis": "X軸を反転",
|
||||
"ControllerSettingsRStickInvertYAxis": "Y軸を反転",
|
||||
"ControllerSettingsRStickDeadzone": "遊び:",
|
||||
"ControllerSettingsTriggersLeft": "左トリガー",
|
||||
"ControllerSettingsTriggersRight": "右トリガー",
|
||||
"ControllerSettingsTriggersButtonsLeft": "左トリガーボタン",
|
||||
|
@ -262,6 +268,7 @@
|
|||
"UserProfilesAddNewProfile": "プロファイルを作成",
|
||||
"UserProfilesDelete": "削除",
|
||||
"UserProfilesClose": "閉じる",
|
||||
"ProfileNameSelectionWatermark": "ニックネームを選択",
|
||||
"ProfileImageSelectionTitle": "プロファイル画像選択",
|
||||
"ProfileImageSelectionHeader": "プロファイル画像を選択",
|
||||
"ProfileImageSelectionNote": "カスタム画像をインポート, またはファームウェア内のアバターを選択できます",
|
||||
|
@ -281,7 +288,8 @@
|
|||
"ControllerSettingsRemoveProfileToolTip": "プロファイルを削除",
|
||||
"ControllerSettingsSaveProfileToolTip": "プロファイルをセーブ",
|
||||
"MenuBarFileToolsTakeScreenshot": "スクリーンショットを撮影",
|
||||
"MenuBarFileToolsHideUi": "Hide UI",
|
||||
"MenuBarFileToolsHideUi": "UIを隠す",
|
||||
"GameListContextMenuRunApplication": "アプリケーションを実行",
|
||||
"GameListContextMenuToggleFavorite": "お気に入りを切り替え",
|
||||
"GameListContextMenuToggleFavoriteToolTip": "ゲームをお気に入りに含めるかどうかを切り替えます",
|
||||
"SettingsTabGeneralTheme": "テーマ",
|
||||
|
@ -289,7 +297,7 @@
|
|||
"SettingsTabGeneralThemeBaseStyle": "基本スタイル",
|
||||
"SettingsTabGeneralThemeBaseStyleDark": "ダーク",
|
||||
"SettingsTabGeneralThemeBaseStyleLight": "ライト",
|
||||
"SettingsTabGeneralThemeEnableCustomTheme": "カスタムテーマを有効",
|
||||
"SettingsTabGeneralThemeEnableCustomTheme": "カスタムテーマを有効にする",
|
||||
"ButtonBrowse": "参照",
|
||||
"ControllerSettingsConfigureGeneral": "設定",
|
||||
"ControllerSettingsRumble": "振動",
|
||||
|
@ -316,7 +324,7 @@
|
|||
"DialogUpdaterConvertFailedMessage": "現在の Ryujinx バージョンの変換に失敗しました.",
|
||||
"DialogUpdaterCancelUpdateMessage": "アップデータをキャンセル中!",
|
||||
"DialogUpdaterAlreadyOnLatestVersionMessage": "最新バージョンの Ryujinx を使用中です!",
|
||||
"DialogUpdaterFailedToGetVersionMessage": "An error has occurred when trying to get release information from GitHub Release. This can be caused if a new release is being compiled by GitHub Actions. Try again in a few minutes.",
|
||||
"DialogUpdaterFailedToGetVersionMessage": "Github からのリリース情報取得時にエラーが発生しました. Github Actions でリリースファイルを作成中かもしれません. 後ほどもう一度試してみてください.",
|
||||
"DialogUpdaterConvertFailedGithubMessage": "Github から取得した Ryujinx バージョンの変換に失敗しました.",
|
||||
"DialogUpdaterDownloadingMessage": "アップデートをダウンロード中...",
|
||||
"DialogUpdaterExtractionMessage": "アップデートを展開中...",
|
||||
|
@ -337,6 +345,10 @@
|
|||
"DialogFirmwareInstallEmbeddedSuccessMessage": "ファームウェアがインストールされていませんが, ゲームに含まれるファームウェア {0} をインストールできます.\\nエミュレータが開始します.",
|
||||
"DialogFirmwareNoFirmwareInstalledMessage": "ファームウェアがインストールされていません",
|
||||
"DialogFirmwareInstalledMessage": "ファームウェア {0} がインストールされました",
|
||||
"DialogInstallFileTypesSuccessMessage": "ファイル形式のインストールに成功しました!",
|
||||
"DialogInstallFileTypesErrorMessage": "ファイル形式のインストールに失敗しました.",
|
||||
"DialogUninstallFileTypesSuccessMessage": "ファイル形式のアンインストールに成功しました!",
|
||||
"DialogUninstallFileTypesErrorMessage": "ファイル形式のアンインストールに失敗しました.",
|
||||
"DialogOpenSettingsWindowLabel": "設定ウインドウを開く",
|
||||
"DialogControllerAppletTitle": "コントローラアプレット",
|
||||
"DialogMessageDialogErrorExceptionMessage": "メッセージダイアログ表示エラー: {0}",
|
||||
|
@ -355,8 +367,8 @@
|
|||
"DialogWarning": "警告",
|
||||
"DialogPPTCDeletionMessage": "次回起動時に PPTC を再構築します:\n\n{0}\n\n実行してよろしいですか?",
|
||||
"DialogPPTCDeletionErrorMessage": "PPTC キャッシュ破棄エラー {0}: {1}",
|
||||
"DialogShaderDeletionMessage": "シェーダキャッシュを破棄しようとしています:\n\n{0}\n\n実行してよろしいですか?",
|
||||
"DialogShaderDeletionErrorMessage": "シェーダキャッシュ破棄エラー {0}: {1}",
|
||||
"DialogShaderDeletionMessage": "シェーダーキャッシュを破棄しようとしています:\n\n{0}\n\n実行してよろしいですか?",
|
||||
"DialogShaderDeletionErrorMessage": "シェーダーキャッシュ破棄エラー {0}: {1}",
|
||||
"DialogRyujinxErrorMessage": "エラーが発生しました",
|
||||
"DialogInvalidTitleIdErrorMessage": "UI エラー: 選択されたゲームは有効なタイトル ID を保持していません",
|
||||
"DialogFirmwareInstallerFirmwareNotFoundErrorMessage": "{0} には有効なシステムファームウェアがありません.",
|
||||
|
@ -368,14 +380,17 @@
|
|||
"DialogFirmwareInstallerFirmwareInstallSuccessMessage": "システムバージョン {0} が正常にインストールされました.",
|
||||
"DialogUserProfileDeletionWarningMessage": "選択されたプロファイルを削除すると,プロファイルがひとつも存在しなくなります",
|
||||
"DialogUserProfileDeletionConfirmMessage": "選択されたプロファイルを削除しますか",
|
||||
"DialogUserProfileUnsavedChangesTitle": "警告 - 保存されていない変更",
|
||||
"DialogUserProfileUnsavedChangesMessage": "保存されていないユーザプロファイルを変更しました.",
|
||||
"DialogUserProfileUnsavedChangesSubMessage": "変更を破棄しますか?",
|
||||
"DialogControllerSettingsModifiedConfirmMessage": "現在のコントローラ設定が更新されました.",
|
||||
"DialogControllerSettingsModifiedConfirmSubMessage": "セーブしますか?",
|
||||
"DialogLoadNcaErrorMessage": "{0}. エラー発生ファイル: {1}",
|
||||
"DialogDlcNoDlcErrorMessage": "選択されたファイルはこのタイトル用の DLC ではありません!",
|
||||
"DialogPerformanceCheckLoggingEnabledMessage": "トレースロギングを有効にします. これは開発者のみに有用な機能です.",
|
||||
"DialogPerformanceCheckLoggingEnabledConfirmMessage": "パフォーマンス最適化のためには,トレースロギングを無効にすることを推奨します. トレースロギングを無効にしてよろしいですか?",
|
||||
"DialogPerformanceCheckShaderDumpEnabledMessage": "シェーダダンプを有効にします. これは開発者のみに有用な機能です.",
|
||||
"DialogPerformanceCheckShaderDumpEnabledConfirmMessage": "パフォーマンス最適化のためには, シェーダダンプを無効にすることを推奨します. シェーダダンプを無効にしてよろしいですか?",
|
||||
"DialogPerformanceCheckShaderDumpEnabledMessage": "シェーダーダンプを有効にします. これは開発者のみに有用な機能です.",
|
||||
"DialogPerformanceCheckShaderDumpEnabledConfirmMessage": "パフォーマンス最適化のためには, シェーダーダンプを無効にすることを推奨します. シェーダーダンプを無効にしてよろしいですか?",
|
||||
"DialogLoadAppGameAlreadyLoadedMessage": "ゲームはすでにロード済みです",
|
||||
"DialogLoadAppGameAlreadyLoadedSubMessage": "別のゲームを起動する前に, エミュレーションを停止またはエミュレータを閉じてください.",
|
||||
"DialogUpdateAddUpdateErrorMessage": "選択されたファイルはこのタイトル用のアップデートではありません!",
|
||||
|
@ -416,6 +431,7 @@
|
|||
"DlcManagerEnableAllButton": "すべて有効",
|
||||
"DlcManagerDisableAllButton": "すべて無効",
|
||||
"MenuBarOptionsChangeLanguage": "言語を変更",
|
||||
"MenuBarShowFileTypes": "ファイル形式を表示",
|
||||
"CommonSort": "並べ替え",
|
||||
"CommonShowNames": "名称を表示",
|
||||
"CommonFavorite": "お気に入り",
|
||||
|
@ -445,16 +461,17 @@
|
|||
"MemoryManagerSoftwareTooltip": "アドレス変換にソフトウェアページテーブルを使用します. 非常に正確ですがパフォーマンスが大きく低下します.",
|
||||
"MemoryManagerHostTooltip": "ホストのアドレス空間にメモリを直接マップします.JITのコンパイルと実行速度が大きく向上します.",
|
||||
"MemoryManagerUnsafeTooltip": "メモリを直接マップしますが, アクセス前にゲストのアドレス空間内のアドレスをマスクしません. より高速になりますが, 安全性が犠牲になります. ゲストアプリケーションは Ryujinx のどこからでもメモリにアクセスできるので,このモードでは信頼できるプログラムだけを実行するようにしてください.",
|
||||
"UseHypervisorTooltip": "JIT の代わりにハイパーバイザーを使用します. 利用可能な場合, パフォーマンスが大幅に向上しますが, 現在の状態では不安定になる可能性があります.",
|
||||
"DRamTooltip": "エミュレートされたシステムのメモリ容量を 4GiB から 6GiB に増加します.\n\n高解像度のテクスチャパックや 4K解像度の mod を使用する場合に有用です. パフォーマンスを改善するものではありません.\n\nよくわからない場合はオフのままにしてください.",
|
||||
"IgnoreMissingServicesTooltip": "未実装の Horizon OS サービスを無視します. 特定のゲームにおいて起動時のクラッシュを回避できる場合があります.\n\nよくわからない場合はオフのままにしてください.",
|
||||
"GraphicsBackendThreadingTooltip": "グラフィックスバックエンドのコマンドを別スレッドで実行します.\n\nシェーダのコンパイルを高速化し, 遅延を軽減し, マルチスレッド非対応の GPU ドライバにおいてパフォーマンスを改善します. マルチスレッド対応のドライバでも若干パフォーマンス改善が見られます.\n\nよくわからない場合は自動に設定してください.",
|
||||
"GalThreadingTooltip": "グラフィックスバックエンドのコマンドを別スレッドで実行します.\n\nシェーダのコンパイルを高速化し, 遅延を軽減し, マルチスレッド非対応の GPU ドライバにおいてパフォーマンスを改善します. マルチスレッド対応のドライバでも若干パフォーマンス改善が見られます.\n\nよくわからない場合は自動に設定してください.",
|
||||
"ShaderCacheToggleTooltip": "ディスクシェーダキャッシュをセーブし,次回以降の実行時遅延を軽減します.\n\nよくわからない場合はオンのままにしてください.",
|
||||
"ShaderCacheToggleTooltip": "ディスクシェーダーキャッシュをセーブし,次回以降の実行時遅延を軽減します.\n\nよくわからない場合はオンのままにしてください.",
|
||||
"ResolutionScaleTooltip": "レンダリングに適用される解像度の倍率です",
|
||||
"ResolutionScaleEntryTooltip": "1.5 のような整数でない倍率を指定すると,問題が発生したりクラッシュしたりする場合があります.",
|
||||
"AnisotropyTooltip": "異方性フィルタリングのレベルです (ゲームが要求する値を使用する場合は「自動」を設定してください)",
|
||||
"AspectRatioTooltip": "レンダリングに適用されるアスペクト比です.",
|
||||
"ShaderDumpPathTooltip": "グラフィックス シェーダダンプのパスです",
|
||||
"ShaderDumpPathTooltip": "グラフィックス シェーダー ダンプのパスです",
|
||||
"FileLogTooltip": "コンソール出力されるログをディスク上のログファイルにセーブします. パフォーマンスには影響を与えません.",
|
||||
"StubLogTooltip": "stub ログメッセージをコンソールに出力します. パフォーマンスには影響を与えません.",
|
||||
"InfoLogTooltip": "info ログメッセージをコンソールに出力します. パフォーマンスには影響を与えません.",
|
||||
|
@ -504,7 +521,7 @@
|
|||
"IconSize": "アイコンサイズ",
|
||||
"IconSizeTooltip": "ゲームアイコンのサイズを変更します",
|
||||
"MenuBarOptionsShowConsole": "コンソールを表示",
|
||||
"ShaderCachePurgeError": "シェーダキャッシュの破棄エラー {0}: {1}",
|
||||
"ShaderCachePurgeError": "シェーダーキャッシュの破棄エラー {0}: {1}",
|
||||
"UserErrorNoKeys": "Keys がありません",
|
||||
"UserErrorNoFirmware": "ファームウェアがありません",
|
||||
"UserErrorFirmwareParsingFailed": "ファームウェアのパーズエラー",
|
||||
|
@ -523,10 +540,13 @@
|
|||
"RyujinxInfo": "Ryujinx - 情報",
|
||||
"RyujinxConfirm": "Ryujinx - 確認",
|
||||
"FileDialogAllTypes": "すべての種別",
|
||||
"Never": "Never",
|
||||
"Never": "決して",
|
||||
"SwkbdMinCharacters": "最低 {0} 文字必要です",
|
||||
"SwkbdMinRangeCharacters": "{0}-{1} 文字にしてください",
|
||||
"SoftwareKeyboard": "ソフトウェアキーボード",
|
||||
"SoftwareKeyboardModeNumbersOnly": "数字のみ",
|
||||
"SoftwareKeyboardModeAlphabet": "CJK文字以外のみ",
|
||||
"SoftwareKeyboardModeASCII": "ASCII文字列のみ",
|
||||
"DialogControllerAppletMessagePlayerRange": "アプリケーションは {0} 名のプレイヤーを要求しています:\n\n種別: {1}\n\nプレイヤー: {2}\n\n{3}設定を開き各プレイヤーの入力設定を行ってから閉じるを押してください.",
|
||||
"DialogControllerAppletMessage": "アプリケーションは {0} 名のプレイヤーを要求しています:\n\n種別: {1}\n\nプレイヤー: {2}\n\n{3}設定を開き各プレイヤーの入力設定を行ってから閉じるを押してください.",
|
||||
"DialogControllerAppletDockModeSet": "ドッキングモードに設定されました. 携帯モードは無効になります.\n\n",
|
||||
|
@ -543,7 +563,7 @@
|
|||
"ApiError": "API エラー.",
|
||||
"LoadingHeading": "ロード中: {0}",
|
||||
"CompilingPPTC": "PTC をコンパイル中",
|
||||
"CompilingShaders": "シェーダをコンパイル中",
|
||||
"CompilingShaders": "シェーダーをコンパイル中",
|
||||
"AllKeyboards": "すべてのキーボード",
|
||||
"OpenFileDialogTitle": "開くファイルを選択",
|
||||
"OpenFolderDialogTitle": "展開されたゲームフォルダを選択",
|
||||
|
@ -572,6 +592,7 @@
|
|||
"DlcWindowTitle": "DLC 管理",
|
||||
"UpdateWindowTitle": "アップデート管理",
|
||||
"CheatWindowHeading": "利用可能なチート {0} [{1}]",
|
||||
"BuildId": "ビルドID:",
|
||||
"DlcWindowHeading": "利用可能な DLC {0} [{1}]",
|
||||
"UserProfilesEditProfile": "編集",
|
||||
"Cancel": "キャンセル",
|
||||
|
@ -587,7 +608,7 @@
|
|||
"UserProfilesUserId": "ユーザID:",
|
||||
"SettingsTabGraphicsBackend": "グラフィックスバックエンド",
|
||||
"SettingsTabGraphicsBackendTooltip": "使用するグラフィックスバックエンドです",
|
||||
"SettingsEnableTextureRecompression": "テクスチャの再圧縮を有効",
|
||||
"SettingsEnableTextureRecompression": "テクスチャの再圧縮を有効にする",
|
||||
"SettingsEnableTextureRecompressionTooltip": "VRAMの使用量を削減するためテクスチャを圧縮します.\n\nGPUのVRAMが4GiB未満の場合は使用を推奨します.\n\nよくわからない場合はオフのままにしてください.",
|
||||
"SettingsTabGraphicsPreferredGpu": "優先使用するGPU",
|
||||
"SettingsTabGraphicsPreferredGpuTooltip": "Vulkanグラフィックスバックエンドで使用されるグラフィックスカードを選択します.\n\nOpenGLが使用するGPUには影響しません.\n\n不明な場合は, \"dGPU\" としてフラグが立っているGPUに設定します. ない場合はそのままにします.",
|
||||
|
@ -597,8 +618,10 @@
|
|||
"RyujinxUpdaterMessage": "Ryujinx を最新版にアップデートしますか?",
|
||||
"SettingsTabHotkeysVolumeUpHotkey": "音量を上げる:",
|
||||
"SettingsTabHotkeysVolumeDownHotkey": "音量を下げる:",
|
||||
"SettingsEnableMacroHLE": "マクロの高レベルエミュレーション (HLE) を有効",
|
||||
"SettingsEnableMacroHLE": "マクロの高レベルエミュレーション (HLE) を有効にする",
|
||||
"SettingsEnableMacroHLETooltip": "GPU マクロコードの高レベルエミュレーションです.\n\nパフォーマンスを向上させますが, 一部のゲームでグラフィックに不具合が発生する可能性があります.\n\nよくわからない場合はオンのままにしてください.",
|
||||
"SettingsEnableColorSpacePassthrough": "色空間をパススルー",
|
||||
"SettingsEnableColorSpacePassthroughTooltip": "Vulkan バックエンドに対して, 色空間を指定せずに色情報を渡します. 高色域ディスプレイを使用する場合, 正確ではないですがより鮮やかな色になる可能性があります.",
|
||||
"VolumeShort": "音量",
|
||||
"UserProfilesManageSaves": "セーブデータの管理",
|
||||
"DeleteUserSave": "このゲームのユーザセーブデータを削除しますか?",
|
||||
|
@ -610,5 +633,24 @@
|
|||
"Search": "検索",
|
||||
"UserProfilesRecoverLostAccounts": "アカウントの復旧",
|
||||
"Recover": "復旧",
|
||||
"UserProfilesRecoverHeading": "以下のアカウントのセーブデータが見つかりました"
|
||||
"UserProfilesRecoverHeading": "以下のアカウントのセーブデータが見つかりました",
|
||||
"UserProfilesRecoverEmptyList": "復元するプロファイルはありません",
|
||||
"GraphicsAATooltip": "ゲームのレンダリングにアンチエイリアスを適用します",
|
||||
"GraphicsAALabel": "アンチエイリアス:",
|
||||
"GraphicsScalingFilterLabel": "スケーリングフィルタ:",
|
||||
"GraphicsScalingFilterTooltip": "フレームバッファスケーリングを有効にします",
|
||||
"GraphicsScalingFilterLevelLabel": "レベル",
|
||||
"GraphicsScalingFilterLevelTooltip": "スケーリングフィルタのレベルを設定",
|
||||
"SmaaLow": "SMAA Low",
|
||||
"SmaaMedium": "SMAA Medium",
|
||||
"SmaaHigh": "SMAA High",
|
||||
"SmaaUltra": "SMAA Ultra",
|
||||
"UserEditorTitle": "ユーザを編集",
|
||||
"UserEditorTitleCreate": "ユーザを作成",
|
||||
"SettingsTabNetworkInterface": "ネットワークインタフェース:",
|
||||
"NetworkInterfaceTooltip": "LAN機能に使用されるネットワークインタフェース",
|
||||
"NetworkInterfaceDefault": "デフォルト",
|
||||
"PackagingShaders": "シェーダーを構築中",
|
||||
"AboutChangelogButton": "GitHub で更新履歴を表示",
|
||||
"AboutChangelogButtonTooltipMessage": "クリックして, このバージョンの更新履歴をデフォルトのブラウザで開きます."
|
||||
}
|
|
@ -6,7 +6,8 @@
|
|||
"SettingsTabSystemMemoryManagerMode": "메모리 관리자 모드:",
|
||||
"SettingsTabSystemMemoryManagerModeSoftware": "소프트웨어",
|
||||
"SettingsTabSystemMemoryManagerModeHost": "호스트 (빠름)",
|
||||
"SettingsTabSystemMemoryManagerModeHostUnchecked": "호스트가 확인되지 않음 (가장 빠르나 안전하지 않음)",
|
||||
"SettingsTabSystemMemoryManagerModeHostUnchecked": "호스트 확인 안함 (가장 빠르나 안전하지 않음)",
|
||||
"SettingsTabSystemUseHypervisor": "하이퍼바이저 사용하기",
|
||||
"MenuBarFile": "_파일",
|
||||
"MenuBarFileOpenFromFile": "_파일에서 응용 프로그램 불러오기",
|
||||
"MenuBarFileOpenUnpacked": "_압축을 푼 게임 불러오기",
|
||||
|
@ -18,15 +19,18 @@
|
|||
"MenuBarOptionsStartGamesInFullscreen": "전체 화면 모드에서 게임 시작",
|
||||
"MenuBarOptionsStopEmulation": "에뮬레이션 중지",
|
||||
"MenuBarOptionsSettings": "_설정",
|
||||
"MenuBarOptionsManageUserProfiles": "_사용자 프로파일 관리\n",
|
||||
"MenuBarOptionsManageUserProfiles": "_사용자 프로파일 관리",
|
||||
"MenuBarActions": "_동작",
|
||||
"MenuBarOptionsSimulateWakeUpMessage": "모닝콜 메세지 시뮬레이션\n",
|
||||
"MenuBarOptionsSimulateWakeUpMessage": "깨우기 메시지 시뮬레이션",
|
||||
"MenuBarActionsScanAmiibo": "Amiibo 스캔",
|
||||
"MenuBarTools": "_도구",
|
||||
"MenuBarToolsInstallFirmware": "펌웨어 설치",
|
||||
"MenuBarFileToolsInstallFirmwareFromFile": "XCI 또는 ZIP에서 펌웨어 설치",
|
||||
"MenuBarFileToolsInstallFirmwareFromDirectory": "디렉토리에서 펌웨어 설치",
|
||||
"MenuBarHelp": "도움",
|
||||
"MenuBarFileToolsInstallFirmwareFromDirectory": "디렉터리에서 펌웨어 설치",
|
||||
"MenuBarToolsManageFileTypes": "파일 형식 관리",
|
||||
"MenuBarToolsInstallFileTypes": "파일 형식 설치",
|
||||
"MenuBarToolsUninstallFileTypes": "파일 형식 설치 제거",
|
||||
"MenuBarHelp": "도움말",
|
||||
"MenuBarHelpCheckForUpdates": "업데이트 확인",
|
||||
"MenuBarHelpAbout": "정보",
|
||||
"MenuSearch": "검색...",
|
||||
|
@ -40,44 +44,54 @@
|
|||
"GameListHeaderFileExtension": "파일 확장자",
|
||||
"GameListHeaderFileSize": "파일 크기",
|
||||
"GameListHeaderPath": "경로",
|
||||
"GameListContextMenuOpenUserSaveDirectory": "사용자 저장 디렉토리 열기\n",
|
||||
"GameListContextMenuOpenUserSaveDirectoryToolTip": "응용 프로그램의 사용자 저장이 포함된 디렉토리 열기\n",
|
||||
"GameListContextMenuOpenDeviceSaveDirectory": "사용자 장치 디렉토리 열기",
|
||||
"GameListContextMenuOpenDeviceSaveDirectoryToolTip": "응용 프로그램의 장치 저장이 포함된 디렉토리 열기\n",
|
||||
"GameListContextMenuOpenBcatSaveDirectory": "사용자의 BCAT 디렉토리 열기\n",
|
||||
"GameListContextMenuOpenBcatSaveDirectoryToolTip": "응용 프로그램의 BCAT 저장이 포함된 디렉토리 열기\n",
|
||||
"GameListContextMenuManageTitleUpdates": "타이틀 업데이트 관리\n",
|
||||
"GameListContextMenuOpenUserSaveDirectory": "사용자 저장 디렉터리 열기",
|
||||
"GameListContextMenuOpenUserSaveDirectoryToolTip": "응용프로그램의 사용자 저장이 포함된 디렉터리 열기",
|
||||
"GameListContextMenuOpenDeviceSaveDirectory": "사용자 장치 디렉터리 열기",
|
||||
"GameListContextMenuOpenDeviceSaveDirectoryToolTip": "응용프로그램의 장치 저장이 포함된 디렉터리 열기",
|
||||
"GameListContextMenuOpenBcatSaveDirectory": "BCAT 저장 디렉터리 열기",
|
||||
"GameListContextMenuOpenBcatSaveDirectoryToolTip": "응용프로그램의 BCAT 저장이 포함된 디렉터리 열기",
|
||||
"GameListContextMenuManageTitleUpdates": "타이틀 업데이트 관리",
|
||||
"GameListContextMenuManageTitleUpdatesToolTip": "타이틀 업데이트 관리 창 열기",
|
||||
"GameListContextMenuManageDlc": "DLC 관리",
|
||||
"GameListContextMenuManageDlcToolTip": "DLC 관리 창 열기",
|
||||
"GameListContextMenuOpenModsDirectory": "Mod 디렉토리 열기",
|
||||
"GameListContextMenuOpenModsDirectoryToolTip": "응용 프로그램의 Mod들이 포함된 디렉터리 열기",
|
||||
"GameListContextMenuOpenModsDirectory": "Mod 디렉터리 열기",
|
||||
"GameListContextMenuOpenModsDirectoryToolTip": "응용프로그램의 Mod가 포함된 디렉터리 열기",
|
||||
"GameListContextMenuCacheManagement": "캐시 관리",
|
||||
"GameListContextMenuCacheManagementPurgePptc": "대기열 PPTC 재구성",
|
||||
"GameListContextMenuCacheManagementPurgePptcToolTip": "다음 게임 시작 시 부팅 시 PPTC가 다시 빌드되도록 트리거\n",
|
||||
"GameListContextMenuCacheManagementPurgePptcToolTip": "다음 게임 시작에서 부팅 시 PPTC가 다시 빌드하도록 트리거",
|
||||
"GameListContextMenuCacheManagementPurgeShaderCache": "셰이더 캐시 제거",
|
||||
"GameListContextMenuCacheManagementPurgeShaderCacheToolTip": "응용프로그램 셰이더 캐시 삭제\n",
|
||||
"GameListContextMenuCacheManagementOpenPptcDirectory": "PPTC 디렉토리 열기",
|
||||
"GameListContextMenuCacheManagementOpenPptcDirectoryToolTip": "응용 프로그램 PPTC 캐시가 포함된 디렉터리 열기\n",
|
||||
"GameListContextMenuCacheManagementOpenShaderCacheDirectory": "셰이더 캐시 디렉토리 열기",
|
||||
"GameListContextMenuCacheManagementOpenShaderCacheDirectoryToolTip": "응용 프로그램 셰이더 캐시가 포함된 디렉터리 열기\n",
|
||||
"GameListContextMenuCacheManagementOpenPptcDirectory": "PPTC 디렉터리 열기",
|
||||
"GameListContextMenuCacheManagementOpenPptcDirectoryToolTip": "응용프로그램 PPTC 캐시가 포함된 디렉터리 열기",
|
||||
"GameListContextMenuCacheManagementOpenShaderCacheDirectory": "셰이더 캐시 디렉터리 열기",
|
||||
"GameListContextMenuCacheManagementOpenShaderCacheDirectoryToolTip": "응용프로그램 셰이더 캐시가 포함된 디렉터리 열기",
|
||||
"GameListContextMenuExtractData": "데이터 추출",
|
||||
"GameListContextMenuExtractDataExeFS": "ExeFS",
|
||||
"GameListContextMenuExtractDataExeFSToolTip": "애플리케이션의 현재 구성에서 ExeFS 추출 (업데이트 포함)",
|
||||
"GameListContextMenuExtractDataExeFSToolTip": "응용프로그램의 현재 구성에서 ExeFS 추출 (업데이트 포함)",
|
||||
"GameListContextMenuExtractDataRomFS": "RomFS",
|
||||
"GameListContextMenuExtractDataRomFSToolTip": "응용 프로그램의 현재 구성에서 RomFS 추출 (업데이트 포함)\n",
|
||||
"GameListContextMenuExtractDataRomFSToolTip": "응용 프로그램의 현재 구성에서 RomFS 추출 (업데이트 포함)",
|
||||
"GameListContextMenuExtractDataLogo": "로고",
|
||||
"GameListContextMenuExtractDataLogoToolTip": "응용 프로그램의 현재 구성에서 로고 섹션 추출 (업데이트 포함)\n",
|
||||
"StatusBarGamesLoaded": "불러온 {0}/{1} 개의 게임",
|
||||
"GameListContextMenuExtractDataLogoToolTip": "응용프로그램의 현재 구성에서 로고 섹션 추출 (업데이트 포함)",
|
||||
"StatusBarGamesLoaded": "{0}/{1}개의 게임 불러옴",
|
||||
"StatusBarSystemVersion": "시스템 버전 : {0}",
|
||||
"LinuxVmMaxMapCountDialogTitle": "감지된 메모리 매핑의 하한선",
|
||||
"LinuxVmMaxMapCountDialogTextPrimary": "vm.max_map_count의 값을 {0}으로 늘리시겠습니까?",
|
||||
"LinuxVmMaxMapCountDialogTextSecondary": "일부 게임은 현재 허용된 것보다 더 많은 메모리 매핑을 생성하려고 시도할 수 있습니다. 이 제한을 초과하는 즉시 Ryujinx에 문제가 발생합니다.",
|
||||
"LinuxVmMaxMapCountDialogButtonUntilRestart": "예, 다음에 다시 시작할 때까지",
|
||||
"LinuxVmMaxMapCountDialogButtonPersistent": "예, 영구적으로",
|
||||
"LinuxVmMaxMapCountWarningTextPrimary": "메모리 매핑의 최대 용량이 권장 용량보다 적습니다.",
|
||||
"LinuxVmMaxMapCountWarningTextSecondary": "vm.max_map_count({0})의 현재 값이 {1}보다 낮습니다. 일부 게임은 현재 허용된 것보다 더 많은 메모리 매핑을 생성하려고 시도할 수 있습니다. 이 제한을 초과하는 즉시 Ryujinx에 문제가 발생합니다.\n\n수동으로 제한을 늘리거나 Ryujinx의 도움을 받을 수 있는 pkexec을 설치하는 것이 좋습니다.",
|
||||
"Settings": "설정",
|
||||
"SettingsTabGeneral": "사용자 인터페이스",
|
||||
"SettingsTabGeneralGeneral": "일반",
|
||||
"SettingsTabGeneralEnableDiscordRichPresence": "디스코드 활동 상태 활성화\n",
|
||||
"SettingsTabGeneralCheckUpdatesOnLaunch": "실행 시 업데이트 확인\n",
|
||||
"SettingsTabGeneralEnableDiscordRichPresence": "디스코드 활동 상태 활성화",
|
||||
"SettingsTabGeneralCheckUpdatesOnLaunch": "시작 시, 업데이트 확인",
|
||||
"SettingsTabGeneralShowConfirmExitDialog": "\"종료 확인\" 대화 상자 표시",
|
||||
"SettingsTabGeneralHideCursorOnIdle": "유휴 상태에서 커서 숨기기",
|
||||
"SettingsTabGeneralGameDirectories": "게임 디렉토리",
|
||||
"SettingsTabGeneralHideCursor": "마우스 커서 숨기기",
|
||||
"SettingsTabGeneralHideCursorNever": "절대 안 함",
|
||||
"SettingsTabGeneralHideCursorOnIdle": "유휴 상태",
|
||||
"SettingsTabGeneralHideCursorAlways": "언제나",
|
||||
"SettingsTabGeneralGameDirectories": "게임 디렉터리",
|
||||
"SettingsTabGeneralAdd": "추가",
|
||||
"SettingsTabGeneralRemove": "제거",
|
||||
"SettingsTabSystem": "시스템",
|
||||
|
@ -111,16 +125,16 @@
|
|||
"SettingsTabSystemSystemTimeZone": "시스템 시간대:",
|
||||
"SettingsTabSystemSystemTime": "시스템 시간:",
|
||||
"SettingsTabSystemEnableVsync": "수직 동기화",
|
||||
"SettingsTabSystemEnablePptc": "PPTC (프로파일된 영구 번역 캐시) 활성화",
|
||||
"SettingsTabSystemEnableFsIntegrityChecks": "FS 무결성 검사",
|
||||
"SettingsTabSystemAudioBackend": "오디오 백엔드:",
|
||||
"SettingsTabSystemEnablePptc": "PPTC(프로파일된 영구 번역 캐시)",
|
||||
"SettingsTabSystemEnableFsIntegrityChecks": "파일 시스템 무결성 검사",
|
||||
"SettingsTabSystemAudioBackend": "음향 후단부 :",
|
||||
"SettingsTabSystemAudioBackendDummy": "더미",
|
||||
"SettingsTabSystemAudioBackendOpenAL": "OpenAL",
|
||||
"SettingsTabSystemAudioBackendSoundIO": "사운드IO",
|
||||
"SettingsTabSystemAudioBackendSDL2": "SDL2",
|
||||
"SettingsTabSystemHacks": "해킹",
|
||||
"SettingsTabSystemHacksNote": " (불안정을 일으킬 수 있음)",
|
||||
"SettingsTabSystemExpandDramSize": "대체 메모리 레이아웃 사용 (개발자)\n",
|
||||
"SettingsTabSystemHacksNote": "불안정성을 유발할 수 있음",
|
||||
"SettingsTabSystemExpandDramSize": "대체 메모리 레이아웃 사용(개발자)",
|
||||
"SettingsTabSystemIgnoreMissingServices": "누락된 서비스 무시",
|
||||
"SettingsTabGraphics": "그래픽",
|
||||
"SettingsTabGraphicsAPI": "그래픽 API",
|
||||
|
@ -131,13 +145,13 @@
|
|||
"SettingsTabGraphicsAnisotropicFiltering4x": "4배",
|
||||
"SettingsTabGraphicsAnisotropicFiltering8x": "8배",
|
||||
"SettingsTabGraphicsAnisotropicFiltering16x": "16배",
|
||||
"SettingsTabGraphicsResolutionScale": "해상도 스케일:",
|
||||
"SettingsTabGraphicsResolutionScaleCustom": "사용자 지정 (권장하지 않음)",
|
||||
"SettingsTabGraphicsResolutionScaleNative": "기본 (720p/1080p)",
|
||||
"SettingsTabGraphicsResolutionScale": "해상도 배율 :",
|
||||
"SettingsTabGraphicsResolutionScaleCustom": "사용자 정의(권장하지 않음)",
|
||||
"SettingsTabGraphicsResolutionScaleNative": "원본(720p/1080p)",
|
||||
"SettingsTabGraphicsResolutionScale2x": "2배(1440p/2160p)",
|
||||
"SettingsTabGraphicsResolutionScale3x": "3배(2160p/3240p)",
|
||||
"SettingsTabGraphicsResolutionScale4x": "4배(2880p/4320p)",
|
||||
"SettingsTabGraphicsAspectRatio": "화면비:",
|
||||
"SettingsTabGraphicsAspectRatio": "종횡비 :",
|
||||
"SettingsTabGraphicsAspectRatio4x3": "4:3",
|
||||
"SettingsTabGraphicsAspectRatio16x9": "16:9",
|
||||
"SettingsTabGraphicsAspectRatio16x10": "16:10",
|
||||
|
@ -145,10 +159,10 @@
|
|||
"SettingsTabGraphicsAspectRatio32x9": "32:9",
|
||||
"SettingsTabGraphicsAspectRatioStretch": "창에 맞게 늘리기",
|
||||
"SettingsTabGraphicsDeveloperOptions": "개발자 옵션",
|
||||
"SettingsTabGraphicsShaderDumpPath": "그래픽 쉐이더 덤프 경로:",
|
||||
"SettingsTabLogging": "로깅",
|
||||
"SettingsTabLoggingLogging": "로깅",
|
||||
"SettingsTabLoggingEnableLoggingToFile": "파일에 로깅 활성화",
|
||||
"SettingsTabGraphicsShaderDumpPath": "그래픽 셰이더 덤프 경로 :",
|
||||
"SettingsTabLogging": "로그 기록",
|
||||
"SettingsTabLoggingLogging": "로그 기록",
|
||||
"SettingsTabLoggingEnableLoggingToFile": "파일에 로그 기록 활성화",
|
||||
"SettingsTabLoggingEnableStubLogs": "스텁 로그 활성화",
|
||||
"SettingsTabLoggingEnableInfoLogs": "정보 로그 활성화",
|
||||
"SettingsTabLoggingEnableWarningLogs": "경고 로그 활성화",
|
||||
|
@ -156,12 +170,13 @@
|
|||
"SettingsTabLoggingEnableTraceLogs": "추적 로그 활성화",
|
||||
"SettingsTabLoggingEnableGuestLogs": "게스트 로그 활성화",
|
||||
"SettingsTabLoggingEnableFsAccessLogs": "Fs 접속 로그 활성화",
|
||||
"SettingsTabLoggingFsGlobalAccessLogMode": "Fs 글로벌 접속 로그 모드:",
|
||||
"SettingsTabLoggingDeveloperOptions": "개발자 옵션 (경고 : 성능이 저하됨)",
|
||||
"SettingsTabLoggingGraphicsBackendLogLevel": "그래픽 백엔드 로그 수준:",
|
||||
"SettingsTabLoggingFsGlobalAccessLogMode": "Fs 전역 접속 로그 모드 :",
|
||||
"SettingsTabLoggingDeveloperOptions": "개발자 옵션",
|
||||
"SettingsTabLoggingDeveloperOptionsNote": "경고: 성능이 저하됨",
|
||||
"SettingsTabLoggingGraphicsBackendLogLevel": "그래픽 후단부 로그 수준 :",
|
||||
"SettingsTabLoggingGraphicsBackendLogLevelNone": "없음",
|
||||
"SettingsTabLoggingGraphicsBackendLogLevelError": "오류",
|
||||
"SettingsTabLoggingGraphicsBackendLogLevelPerformance": "감속",
|
||||
"SettingsTabLoggingGraphicsBackendLogLevelPerformance": "느려짐",
|
||||
"SettingsTabLoggingGraphicsBackendLogLevelAll": "모두",
|
||||
"SettingsTabLoggingEnableDebugLogs": "디버그 로그 활성화",
|
||||
"SettingsTabInput": "입력",
|
||||
|
@ -181,111 +196,104 @@
|
|||
"ControllerSettingsPlayer6": "플레이어 6",
|
||||
"ControllerSettingsPlayer7": "플레이어 7",
|
||||
"ControllerSettingsPlayer8": "플레이어 8",
|
||||
"ControllerSettingsHandheld": "휴대용",
|
||||
"ControllerSettingsHandheld": "휴대 모드",
|
||||
"ControllerSettingsInputDevice": "입력 장치",
|
||||
"ControllerSettingsRefresh": "새로 고침",
|
||||
"ControllerSettingsDeviceDisabled": "비활성화됨",
|
||||
"ControllerSettingsControllerType": "컨트롤러 유형",
|
||||
"ControllerSettingsControllerTypeHandheld": "휴대용",
|
||||
"ControllerSettingsControllerTypeHandheld": "휴대 모드",
|
||||
"ControllerSettingsControllerTypeProController": "프로 컨트롤러",
|
||||
"ControllerSettingsControllerTypeJoyConPair": "조이콘 페어링",
|
||||
"ControllerSettingsControllerTypeJoyConLeft": "왼쪽 조이콘",
|
||||
"ControllerSettingsControllerTypeJoyConRight": "오른쪽 조이콘",
|
||||
"ControllerSettingsProfile": "프로파일",
|
||||
"ControllerSettingsControllerTypeJoyConLeft": "좌측 조이콘",
|
||||
"ControllerSettingsControllerTypeJoyConRight": "우측 조이콘",
|
||||
"ControllerSettingsProfile": "프로필",
|
||||
"ControllerSettingsProfileDefault": "기본",
|
||||
"ControllerSettingsLoad": "불러오기",
|
||||
"ControllerSettingsAdd": "추가",
|
||||
"ControllerSettingsRemove": "제거",
|
||||
"ControllerSettingsButtons": "버튼",
|
||||
"ControllerSettingsButtonA": "A 버튼",
|
||||
"ControllerSettingsButtonB": "B 버튼",
|
||||
"ControllerSettingsButtonX": "X 버튼",
|
||||
"ControllerSettingsButtonY": "Y 버튼",
|
||||
"ControllerSettingsButtonPlus": "+ 버튼",
|
||||
"ControllerSettingsButtonMinus": "- 버튼",
|
||||
"ControllerSettingsButtonA": "A",
|
||||
"ControllerSettingsButtonB": "B",
|
||||
"ControllerSettingsButtonX": "X",
|
||||
"ControllerSettingsButtonY": "Y",
|
||||
"ControllerSettingsButtonPlus": "+",
|
||||
"ControllerSettingsButtonMinus": "-",
|
||||
"ControllerSettingsDPad": "방향 패드",
|
||||
"ControllerSettingsDPadUp": "위쪽",
|
||||
"ControllerSettingsDPadDown": "아래쪽",
|
||||
"ControllerSettingsDPadLeft": "왼쪽",
|
||||
"ControllerSettingsDPadRight": "오른쪽",
|
||||
"ControllerSettingsLStick": "왼쪽 스틱",
|
||||
"ControllerSettingsLStickButton": "버튼",
|
||||
"ControllerSettingsLStickUp": "위쪽",
|
||||
"ControllerSettingsLStickDown": "아래쪽",
|
||||
"ControllerSettingsLStickLeft": "왼쪽",
|
||||
"ControllerSettingsLStickRight": "오른쪽",
|
||||
"ControllerSettingsLStickStick": "스틱",
|
||||
"ControllerSettingsLStickInvertXAxis": "스틱 X 축 반전",
|
||||
"ControllerSettingsLStickInvertYAxis": "스틱 Y 축 반전",
|
||||
"ControllerSettingsLStickDeadzone": "데드존:",
|
||||
"ControllerSettingsRStick": "오른쪽 스틱",
|
||||
"ControllerSettingsRStickButton": "버튼",
|
||||
"ControllerSettingsRStickUp": "위쪽",
|
||||
"ControllerSettingsRStickDown": "아래쪽",
|
||||
"ControllerSettingsRStickLeft": "왼쪽",
|
||||
"ControllerSettingsRStickRight": "오른쪽",
|
||||
"ControllerSettingsRStickStick": "스틱",
|
||||
"ControllerSettingsRStickInvertXAxis": "스틱 X 축 반전",
|
||||
"ControllerSettingsRStickInvertYAxis": "스틱 Y 축 반전",
|
||||
"ControllerSettingsRStickDeadzone": "데드존:",
|
||||
"ControllerSettingsTriggersLeft": "왼쪽 트리거",
|
||||
"ControllerSettingsTriggersRight": "오른쪽 트리거",
|
||||
"ControllerSettingsTriggersButtonsLeft": "왼쪽 트리거 버튼",
|
||||
"ControllerSettingsTriggersButtonsRight": "오른쪽 트리거 버튼",
|
||||
"ControllerSettingsDPadUp": "↑",
|
||||
"ControllerSettingsDPadDown": "↓",
|
||||
"ControllerSettingsDPadLeft": "←",
|
||||
"ControllerSettingsDPadRight": "→",
|
||||
"ControllerSettingsStickButton": "버튼",
|
||||
"ControllerSettingsStickUp": "↑",
|
||||
"ControllerSettingsStickDown": "↓",
|
||||
"ControllerSettingsStickLeft": "←",
|
||||
"ControllerSettingsStickRight": "→",
|
||||
"ControllerSettingsStickStick": "스틱",
|
||||
"ControllerSettingsStickInvertXAxis": "스틱 X 축 반전",
|
||||
"ControllerSettingsStickInvertYAxis": "스틱 Y 축 반전",
|
||||
"ControllerSettingsStickDeadzone": "사각지대 :",
|
||||
"ControllerSettingsLStick": "좌측 스틱",
|
||||
"ControllerSettingsRStick": "우측 스틱",
|
||||
"ControllerSettingsTriggersLeft": "좌측 트리거",
|
||||
"ControllerSettingsTriggersRight": "우측 트리거",
|
||||
"ControllerSettingsTriggersButtonsLeft": "좌측 트리거 버튼",
|
||||
"ControllerSettingsTriggersButtonsRight": "우측 트리거 버튼",
|
||||
"ControllerSettingsTriggers": "트리거 버튼",
|
||||
"ControllerSettingsTriggerL": "L 버튼",
|
||||
"ControllerSettingsTriggerR": "R 버튼",
|
||||
"ControllerSettingsTriggerZL": "ZL 버튼",
|
||||
"ControllerSettingsTriggerZR": "ZR 버튼",
|
||||
"ControllerSettingsLeftSL": "SL 버튼",
|
||||
"ControllerSettingsLeftSR": "SR 버튼",
|
||||
"ControllerSettingsRightSL": "SL 버튼",
|
||||
"ControllerSettingsRightSR": "SR 버튼",
|
||||
"ControllerSettingsExtraButtonsLeft": "왼쪽 버튼",
|
||||
"ControllerSettingsExtraButtonsRight": "오른쪽 버튼",
|
||||
"ControllerSettingsTriggerL": "L",
|
||||
"ControllerSettingsTriggerR": "R",
|
||||
"ControllerSettingsTriggerZL": "ZL",
|
||||
"ControllerSettingsTriggerZR": "ZR",
|
||||
"ControllerSettingsLeftSL": "SL",
|
||||
"ControllerSettingsLeftSR": "SR",
|
||||
"ControllerSettingsRightSL": "SL",
|
||||
"ControllerSettingsRightSR": "SR",
|
||||
"ControllerSettingsExtraButtonsLeft": "좌측 버튼",
|
||||
"ControllerSettingsExtraButtonsRight": "우측 버튼",
|
||||
"ControllerSettingsMisc": "기타",
|
||||
"ControllerSettingsTriggerThreshold": "트리거 임계값 :",
|
||||
"ControllerSettingsMotion": "동작",
|
||||
"ControllerSettingsMotionUseCemuhookCompatibleMotion": "CemuHook 호환 모션 사용",
|
||||
"ControllerSettingsMotionControllerSlot": "컨트롤러 슬롯 :",
|
||||
"ControllerSettingsMotionMirrorInput": "미러 입력",
|
||||
"ControllerSettingsMotionRightJoyConSlot": "오른쪽 조이콘 슬롯 :",
|
||||
"ControllerSettingsMotionRightJoyConSlot": "우측 조이콘 슬롯 :",
|
||||
"ControllerSettingsMotionServerHost": "서버 호스트 :",
|
||||
"ControllerSettingsMotionGyroSensitivity": "자이로 감도 :",
|
||||
"ControllerSettingsMotionGyroDeadzone": "자이로 데드존:",
|
||||
"ControllerSettingsMotionGyroDeadzone": "자이로 사각지대 :",
|
||||
"ControllerSettingsSave": "저장",
|
||||
"ControllerSettingsClose": "닫기",
|
||||
"UserProfilesSelectedUserProfile": "선택한 사용자 프로파일:",
|
||||
"UserProfilesSaveProfileName": "프로파일 이름 저장",
|
||||
"UserProfilesChangeProfileImage": "프로파일 이미지 변경",
|
||||
"UserProfilesAvailableUserProfiles": "사용 가능한 사용자 프로파일:",
|
||||
"UserProfilesAddNewProfile": "프로파일 생성",
|
||||
"UserProfilesDeleteSelectedProfile": "선택한 프로파일 삭제",
|
||||
"UserProfilesSelectedUserProfile": "선택한 사용자 프로필 :",
|
||||
"UserProfilesSaveProfileName": "프로필 이름 저장",
|
||||
"UserProfilesChangeProfileImage": "프로필 이미지 변경",
|
||||
"UserProfilesAvailableUserProfiles": "사용 가능한 사용자 프로필 :",
|
||||
"UserProfilesAddNewProfile": "프로필 생성",
|
||||
"UserProfilesDelete": "삭제",
|
||||
"UserProfilesClose": "닫기",
|
||||
"ProfileImageSelectionTitle": "프로파일 이미지 선택",
|
||||
"ProfileImageSelectionHeader": "프로파일 이미지 선택",
|
||||
"ProfileImageSelectionNote": "사용자 지정 프로파일 이미지를 가져오거나 시스템 펌웨어에서 아바타를 선택할 수 있음\n",
|
||||
"ProfileNameSelectionWatermark": "닉네임을 입력하세요",
|
||||
"ProfileImageSelectionTitle": "프로필 이미지 선택",
|
||||
"ProfileImageSelectionHeader": "프로필 이미지 선택",
|
||||
"ProfileImageSelectionNote": "사용자 지정 프로필 이미지를 가져오거나 시스템 펌웨어에서 아바타 선택 가능",
|
||||
"ProfileImageSelectionImportImage": "이미지 파일 가져오기",
|
||||
"ProfileImageSelectionSelectAvatar": "펌웨어 아바타 선택",
|
||||
"InputDialogTitle": "입력 대화상자",
|
||||
"InputDialogOk": "확인",
|
||||
"InputDialogCancel": "취소",
|
||||
"InputDialogAddNewProfileTitle": "프로파일 이름 선택",
|
||||
"InputDialogAddNewProfileHeader": "프로파일 이름 입력",
|
||||
"InputDialogAddNewProfileSubtext": "(최대 길이: {0})\n",
|
||||
"InputDialogAddNewProfileTitle": "프로필 이름 선택",
|
||||
"InputDialogAddNewProfileHeader": "프로필 이름 입력",
|
||||
"InputDialogAddNewProfileSubtext": "(최대 길이 : {0})",
|
||||
"AvatarChoose": "선택",
|
||||
"AvatarSetBackgroundColor": "배경색 설정",
|
||||
"AvatarClose": "닫기",
|
||||
"ControllerSettingsLoadProfileToolTip": "프로파일 불러오기",
|
||||
"ControllerSettingsAddProfileToolTip": "프로파일 추가",
|
||||
"ControllerSettingsRemoveProfileToolTip": "프로파일 제거",
|
||||
"ControllerSettingsSaveProfileToolTip": "프로파일 저장",
|
||||
"ControllerSettingsLoadProfileToolTip": "프로필 불러오기",
|
||||
"ControllerSettingsAddProfileToolTip": "프로필 추가",
|
||||
"ControllerSettingsRemoveProfileToolTip": "프로필 제거",
|
||||
"ControllerSettingsSaveProfileToolTip": "프로필 저장",
|
||||
"MenuBarFileToolsTakeScreenshot": "스크린 샷 찍기",
|
||||
"MenuBarFileToolsHideUi": "Hide UI",
|
||||
"MenuBarFileToolsHideUi": "UI 숨기기",
|
||||
"GameListContextMenuRunApplication": "응용프로그램 실행",
|
||||
"GameListContextMenuToggleFavorite": "즐겨찾기 전환",
|
||||
"GameListContextMenuToggleFavoriteToolTip": "게임 즐겨찾기 상태 전환\n",
|
||||
"GameListContextMenuToggleFavoriteToolTip": "게임 즐겨찾기 상태 전환",
|
||||
"SettingsTabGeneralTheme": "테마",
|
||||
"SettingsTabGeneralThemeCustomTheme": "사용자 정의 테마 경로",
|
||||
"SettingsTabGeneralThemeCustomTheme": "커스텀 테마 경로",
|
||||
"SettingsTabGeneralThemeBaseStyle": "기본 스타일",
|
||||
"SettingsTabGeneralThemeBaseStyleDark": "어두움",
|
||||
"SettingsTabGeneralThemeBaseStyleLight": "밝음",
|
||||
|
@ -295,8 +303,8 @@
|
|||
"ControllerSettingsRumble": "진동",
|
||||
"ControllerSettingsRumbleStrongMultiplier": "강력한 진동 증폭기",
|
||||
"ControllerSettingsRumbleWeakMultiplier": "약한 진동 증폭기",
|
||||
"DialogMessageSaveNotAvailableMessage": "{0} [{1:x16}]에 대한 저장 데이터가 없음\n",
|
||||
"DialogMessageSaveNotAvailableCreateSaveMessage": "이 게임에 대한 저장 데이터를 생성하겠습니까?\n",
|
||||
"DialogMessageSaveNotAvailableMessage": "{0} [{1:x16}]에 대한 저장 데이터가 없음",
|
||||
"DialogMessageSaveNotAvailableCreateSaveMessage": "이 게임에 대한 저장 데이터를 생성하겠습니까?",
|
||||
"DialogConfirmationTitle": "Ryujinx - 확인",
|
||||
"DialogUpdaterTitle": "Ryujinx - 업데이터",
|
||||
"DialogErrorTitle": "Ryujinx - 오류",
|
||||
|
@ -305,41 +313,45 @@
|
|||
"DialogErrorMessage": "Ryujinx 오류 발생",
|
||||
"DialogExitMessage": "Ryujinx를 종료하겠습니까?",
|
||||
"DialogExitSubMessage": "저장하지 않은 모든 데이터는 손실됩니다!",
|
||||
"DialogMessageCreateSaveErrorMessage": "지정된 저장 데이터를 작성하는 중에 오류 발생: {0}\n",
|
||||
"DialogMessageFindSaveErrorMessage": "지정된 저장 데이터를 찾는 중에 오류 발생: {0}\n",
|
||||
"DialogMessageCreateSaveErrorMessage": "지정된 저장 데이터를 작성하는 중에 오류 발생: {0}",
|
||||
"DialogMessageFindSaveErrorMessage": "지정된 저장 데이터를 찾는 중에 오류 발생: {0}",
|
||||
"FolderDialogExtractTitle": "추출할 폴더 선택",
|
||||
"DialogNcaExtractionMessage": "{1}에서 {0} 섹션을 추출하는 중...\n",
|
||||
"DialogNcaExtractionMessage": "{1}에서 {0} 섹션을 추출하는 중...",
|
||||
"DialogNcaExtractionTitle": "Ryujinx - NCA 섹션 추출기",
|
||||
"DialogNcaExtractionMainNcaNotFoundErrorMessage": "추출 실패하였습니다. 선택한 파일에 기본 NCA가 없습니다.\n",
|
||||
"DialogNcaExtractionCheckLogErrorMessage": "추출 실패하였습니다. 자세한 내용은 로그 파일을 읽으세요.\n",
|
||||
"DialogNcaExtractionMainNcaNotFoundErrorMessage": "추출 실패하였습니다. 선택한 파일에 기본 NCA가 없습니다.",
|
||||
"DialogNcaExtractionCheckLogErrorMessage": "추출 실패하였습니다. 자세한 내용은 로그 파일을 읽으세요.",
|
||||
"DialogNcaExtractionSuccessMessage": "추출이 성공적으로 완료되었습니다.",
|
||||
"DialogUpdaterConvertFailedMessage": "현재 Ryujinx 버전을 변환하지 못했습니다.",
|
||||
"DialogUpdaterCancelUpdateMessage": "업데이트 취소 중 입니다!",
|
||||
"DialogUpdaterAlreadyOnLatestVersionMessage": "이미 최신 버전의 Ryujinx를 사용하고 있습니다!",
|
||||
"DialogUpdaterFailedToGetVersionMessage": "GitHub 릴리스에서 릴리스 정보를 가져오는 중에 오류가 발생했습니다. 이는 GitHub Actions에서 새 릴리스를 컴파일하는 경우 발생할 수 있습니다. 몇 분 후에 다시 시도하세요.",
|
||||
"DialogUpdaterConvertFailedGithubMessage": "Github 개정에서 받은 Ryujinx 버전을 변환하지 못했습니다.\n",
|
||||
"DialogUpdaterDownloadingMessage": "업데이트 다운로드 중...\n",
|
||||
"DialogUpdaterExtractionMessage": "업데이트 추출 중...\n",
|
||||
"DialogUpdaterRenamingMessage": "업데이트 이름 바꾸는 중...\n",
|
||||
"DialogUpdaterAddingFilesMessage": "새 업데이트 추가 중...\n",
|
||||
"DialogUpdaterCompleteMessage": "업데이트 완료하였습니다!\n",
|
||||
"DialogUpdaterConvertFailedGithubMessage": "Github 개정에서 받은 Ryujinx 버전을 변환하지 못했습니다.",
|
||||
"DialogUpdaterDownloadingMessage": "업데이트 다운로드 중...",
|
||||
"DialogUpdaterExtractionMessage": "업데이트 추출 중...",
|
||||
"DialogUpdaterRenamingMessage": "업데이트 이름 바꾸는 중...",
|
||||
"DialogUpdaterAddingFilesMessage": "새 업데이트 추가 중...",
|
||||
"DialogUpdaterCompleteMessage": "업데이트를 완료했습니다!",
|
||||
"DialogUpdaterRestartMessage": "지금 Ryujinx를 다시 시작하겠습니까?",
|
||||
"DialogUpdaterArchNotSupportedMessage": "지원되는 시스템 아키텍처를 실행하고 있지 않습니다!",
|
||||
"DialogUpdaterArchNotSupportedSubMessage": "(x64 시스템만 지원됩니다!)\n",
|
||||
"DialogUpdaterArchNotSupportedSubMessage": "(64비트 시스템만 지원됩니다!)",
|
||||
"DialogUpdaterNoInternetMessage": "인터넷에 연결되어 있지 않습니다!",
|
||||
"DialogUpdaterNoInternetSubMessage": "인터넷 연결이 작동하는지 확인하세요!",
|
||||
"DialogUpdaterDirtyBuildMessage": "Ryujinx의 나쁜 빌드는 업데이트할 수 없습니다!\n",
|
||||
"DialogUpdaterDirtyBuildSubMessage": "지원되는 버전을 찾고 있다면 https://ryujinx.org/에서 Ryujinx를 다운로드하세요.",
|
||||
"DialogRestartRequiredMessage": "재시작 필요",
|
||||
"DialogThemeRestartMessage": "테마가 저장되었습니다. 테마를 적용하려면 다시 시작해야 합니다.",
|
||||
"DialogThemeRestartSubMessage": "다시 시작하겠습니까?\n",
|
||||
"DialogThemeRestartSubMessage": "다시 시작하겠습니까?",
|
||||
"DialogFirmwareInstallEmbeddedMessage": "이 게임에 내장된 펌웨어를 설치하겠습니까? (펌웨어 {0})",
|
||||
"DialogFirmwareInstallEmbeddedSuccessMessage": "설치된 펌웨어가 없지만 Ryujinx가 제공된 게임에서 펌웨어 {0}을(를) 설치할 수 있었습니다.\\n이제 에뮬레이터가 시작됩니다.",
|
||||
"DialogFirmwareNoFirmwareInstalledMessage": "설치된 펌웨어 없음",
|
||||
"DialogFirmwareInstalledMessage": "펌웨어 {0}이(가) 설치됨",
|
||||
"DialogInstallFileTypesSuccessMessage": "파일 형식을 성공적으로 설치했습니다!",
|
||||
"DialogInstallFileTypesErrorMessage": "파일 형식을 설치하지 못했습니다.",
|
||||
"DialogUninstallFileTypesSuccessMessage": "파일 형식을 성공적으로 제거했습니다!",
|
||||
"DialogUninstallFileTypesErrorMessage": "파일 형식을 제거하지 못했습니다.",
|
||||
"DialogOpenSettingsWindowLabel": "설정 창 열기",
|
||||
"DialogControllerAppletTitle": "컨트롤러 애플릿",
|
||||
"DialogMessageDialogErrorExceptionMessage": "메시지 대화상자를 표시하는 동안 오류 발생: {0}\n",
|
||||
"DialogMessageDialogErrorExceptionMessage": "메시지 대화상자를 표시하는 동안 오류 발생 : {0}",
|
||||
"DialogSoftwareKeyboardErrorExceptionMessage": "소프트웨어 키보드를 표시하는 동안 오류 발생 : {0}",
|
||||
"DialogErrorAppletErrorExceptionMessage": "오류에플릿 대화상자를 표시하는 동안 오류 발생 : {0}",
|
||||
"DialogUserErrorDialogMessage": "{0}: {1}",
|
||||
|
@ -347,15 +359,15 @@
|
|||
"DialogUserErrorDialogTitle": "Ryuijnx 오류 ({0})",
|
||||
"DialogAmiiboApiTitle": "Amiibo API",
|
||||
"DialogAmiiboApiFailFetchMessage": "API에서 정보를 가져오는 동안 오류가 발생했습니다.",
|
||||
"DialogAmiiboApiConnectErrorMessage": "Amiibo API 서버에 연결할 수 없습니다. 서비스가 다운되었거나 인터넷 연결이 오프라인인지 확인해야 할 수 있습니다.",
|
||||
"DialogProfileInvalidProfileErrorMessage": "{0} 프로파일은 현재 입력 구성 시스템과 호환되지 않습니다.",
|
||||
"DialogProfileDefaultProfileOverwriteErrorMessage": "기본 프로파일을 덮어쓸 수 없음",
|
||||
"DialogProfileDeleteProfileTitle": "프로파일 삭제",
|
||||
"DialogAmiiboApiConnectErrorMessage": "Amiibo API 서버에 연결할 수 없습니다. 서비스가 다운되었거나 인터넷 연결이 온라인 상태인지 확인해야 할 수 있습니다.",
|
||||
"DialogProfileInvalidProfileErrorMessage": "{0} 프로필은 현재 입력 구성 시스템과 호환되지 않습니다.",
|
||||
"DialogProfileDefaultProfileOverwriteErrorMessage": "기본 프로필을 덮어쓸 수 없음",
|
||||
"DialogProfileDeleteProfileTitle": "프로필 삭제",
|
||||
"DialogProfileDeleteProfileMessage": "이 작업은 되돌릴 수 없습니다. 계속하겠습니까?",
|
||||
"DialogWarning": "경고",
|
||||
"DialogPPTCDeletionMessage": "다음에 부팅할 때 PPTC 재구축을 대기시키려고 합니다:\n\n{0}\n\n계속하겠습니까?",
|
||||
"DialogPPTCDeletionMessage": "다음 부팅 시, PPTC 재구축을 대기열에 추가 :\n\n{0}\n\n계속하겠습니까?",
|
||||
"DialogPPTCDeletionErrorMessage": "{0}에서 PPTC 캐시 삭제 오류 : {1}",
|
||||
"DialogShaderDeletionMessage": "다음에 대한 셰이더 캐시를 삭제하려고 합니다:\n\n{0}\n\n계속하겠습니까?",
|
||||
"DialogShaderDeletionMessage": "다음에 대한 셰이더 캐시 삭제 :\n\n{0}\n\n계속하겠습니까?",
|
||||
"DialogShaderDeletionErrorMessage": "{0}에서 셰이더 캐시 제거 오류 : {1}",
|
||||
"DialogRyujinxErrorMessage": "Ryujinx에 오류 발생",
|
||||
"DialogInvalidTitleIdErrorMessage": "UI 오류 : 선택한 게임에 유효한 타이틀 ID가 없음",
|
||||
|
@ -368,38 +380,41 @@
|
|||
"DialogFirmwareInstallerFirmwareInstallSuccessMessage": "시스템 버전 {0}이(가) 성공적으로 설치되었습니다.",
|
||||
"DialogUserProfileDeletionWarningMessage": "선택한 프로파일이 삭제되면 사용 가능한 다른 프로파일이 없음",
|
||||
"DialogUserProfileDeletionConfirmMessage": "선택한 프로파일을 삭제하겠습니까?",
|
||||
"DialogUserProfileUnsavedChangesTitle": "경고 - 변경사항 저장되지 않음",
|
||||
"DialogUserProfileUnsavedChangesMessage": "저장되지 않은 사용자 프로파일을 수정했습니다.",
|
||||
"DialogUserProfileUnsavedChangesSubMessage": "변경사항을 저장하지 않으시겠습니까?",
|
||||
"DialogControllerSettingsModifiedConfirmMessage": "현재 컨트롤러 설정이 업데이트되었습니다.",
|
||||
"DialogControllerSettingsModifiedConfirmSubMessage": "저장하겠습니까?",
|
||||
"DialogLoadNcaErrorMessage": "{0}입니다. 오류 발생 파일: {1}",
|
||||
"DialogLoadNcaErrorMessage": "{0}. 오류 발생 파일 : {1}",
|
||||
"DialogDlcNoDlcErrorMessage": "지정된 파일에 선택한 타이틀에 대한 DLC가 포함되어 있지 않습니다!",
|
||||
"DialogPerformanceCheckLoggingEnabledMessage": "개발자만 사용하도록 설계된 추적 로깅이 활성화되어 있습니다.",
|
||||
"DialogPerformanceCheckLoggingEnabledConfirmMessage": "최적의 성능을 위해 추적 로깅을 비활성화하는 것이 좋습니다. 지금 추적 로깅을 비활성화하겠습니까?",
|
||||
"DialogPerformanceCheckLoggingEnabledMessage": "개발자만 사용하도록 설계된 추적 로그 기록이 활성화되어 있습니다.",
|
||||
"DialogPerformanceCheckLoggingEnabledConfirmMessage": "최적의 성능을 위해 추적 로그 생성을 비활성화하는 것이 좋습니다. 지금 추적 로그 기록을 비활성화하겠습니까?",
|
||||
"DialogPerformanceCheckShaderDumpEnabledMessage": "개발자만 사용하도록 설계된 셰이더 덤프를 활성화했습니다.",
|
||||
"DialogPerformanceCheckShaderDumpEnabledConfirmMessage": "최적의 성능을 위해 세이더 덤핑을 비활성화하는 것이 좋습니다. 지금 세이더 덤핑을 비활성화하겠습니까?",
|
||||
"DialogLoadAppGameAlreadyLoadedMessage": "게임을 이미 불러 왔습니다.",
|
||||
"DialogLoadAppGameAlreadyLoadedMessage": "이미 게임 불러옴",
|
||||
"DialogLoadAppGameAlreadyLoadedSubMessage": "다른 게임을 시작하기 전에 에뮬레이션을 중지하거나 에뮬레이터를 닫으세요.",
|
||||
"DialogUpdateAddUpdateErrorMessage": "지정된 파일에 선택한 제목에 대한 업데이트가 포함되어 있지 않습니다!",
|
||||
"DialogSettingsBackendThreadingWarningTitle": "경고 - 백엔드 스레딩",
|
||||
"DialogSettingsBackendThreadingWarningMessage": "변경 사항을 완전히 적용하려면 이 옵션을 변경한 후 Ryujinx를 다시 시작해야 합니다. 플랫폼에 따라 Ryujinx를 사용할 때 드라이버 자체의 멀티스레딩을 수동으로 비활성화해야 할 수도 있습니다.",
|
||||
"DialogSettingsBackendThreadingWarningTitle": "경고 - 후단부 스레딩",
|
||||
"DialogSettingsBackendThreadingWarningMessage": "변경 사항을 완전히 적용하려면 이 옵션을 변경한 후, Ryujinx를 다시 시작해야 합니다. 플랫폼에 따라 Ryujinx를 사용할 때 드라이버 자체의 멀티스레딩을 수동으로 비활성화해야 할 수도 있습니다.",
|
||||
"SettingsTabGraphicsFeaturesOptions": "기능",
|
||||
"SettingsTabGraphicsBackendMultithreading": "그래픽 백엔드 멀티스레딩:",
|
||||
"SettingsTabGraphicsBackendMultithreading": "그래픽 후단부 멀티스레딩 :",
|
||||
"CommonAuto": "자동",
|
||||
"CommonOff": "끔",
|
||||
"CommonOn": "켬",
|
||||
"InputDialogYes": "네",
|
||||
"InputDialogYes": "예",
|
||||
"InputDialogNo": "아니오",
|
||||
"DialogProfileInvalidProfileNameErrorMessage": "파일 이름에 잘못된 문자가 포함되어 있습니다. 다시 시도하세요.",
|
||||
"MenuBarOptionsPauseEmulation": "일시 정지",
|
||||
"MenuBarOptionsResumeEmulation": "다시 시작",
|
||||
"AboutUrlTooltipMessage": "기본 브라우저에서 Ryujinx 웹사이트를 열려면 클릭하세요.",
|
||||
"AboutDisclaimerMessage": "Ryujinx는 닌텐도™,\n또는 그 파트너와 제휴하지 않습니다.",
|
||||
"AboutDisclaimerMessage": "Ryujinx는 닌텐도™,\n또는 그 파트너와 제휴한 바가 없습니다.",
|
||||
"AboutAmiiboDisclaimerMessage": "AmiiboAPI (www.amiiboapi.com)는\nAmiibo 에뮬레이션에 사용됩니다.",
|
||||
"AboutPatreonUrlTooltipMessage": "기본 브라우저에서 Ryujinx Patreon 페이지를 열려면 클릭하세요.",
|
||||
"AboutGithubUrlTooltipMessage": "기본 브라우저에서 Ryujinx GitHub 페이지를 열려면 클릭하세요.",
|
||||
"AboutDiscordUrlTooltipMessage": "기본 브라우저에서 Ryujinx 디스코드 서버에 대한 초대를 열려면 클릭하세요.",
|
||||
"AboutTwitterUrlTooltipMessage": "기본 브라우저에서 Ryujinx 트위터 페이지를 열려면 클릭하세요.",
|
||||
"AboutRyujinxAboutTitle": "정보 :",
|
||||
"AboutRyujinxAboutContent": "Ryujinx는 닌텐도 스위치™용 에뮬레이터입니다.\nPatreon에서 지원해 주세요.\n모든 최신 뉴스는 트위터 또는 디스코드에서 확인하세요.\n기여에 관심이 있는 개발자는 GitHub 또는 디스코드에서 자세한 내용을 확인할 수 있습니다",
|
||||
"AboutRyujinxAboutContent": "Ryujinx는 닌텐도 스위치™용 에뮬레이터입니다.\nPatreon에서 지원해 주세요.\n트위터나 디스코드에서 최신 소식을 받아보세요.\n기여에 참여하고자 하는 개발자는 GitHub 또는 디스코드에서 자세한 내용을 확인할 수 있습니다.",
|
||||
"AboutRyujinxMaintainersTitle": "유지 관리 :",
|
||||
"AboutRyujinxMaintainersContentTooltipMessage": "기본 브라우저에서 기여자 페이지를 열려면 클릭하세요.",
|
||||
"AboutRyujinxSupprtersTitle": "Patreon에서 후원:",
|
||||
|
@ -416,6 +431,7 @@
|
|||
"DlcManagerEnableAllButton": "모두 활성화",
|
||||
"DlcManagerDisableAllButton": "모두 비활성화",
|
||||
"MenuBarOptionsChangeLanguage": "언어 변경",
|
||||
"MenuBarShowFileTypes": "파일 유형 표시",
|
||||
"CommonSort": "정렬",
|
||||
"CommonShowNames": "이름 표시",
|
||||
"CommonFavorite": "즐겨찾기",
|
||||
|
@ -424,13 +440,13 @@
|
|||
"SettingsTabGraphicsFeatures": "기능ㆍ개선 사항",
|
||||
"ErrorWindowTitle": "오류 창",
|
||||
"ToggleDiscordTooltip": "\"현재 재생 중인\" 디스코드 활동에 Ryujinx를 표시할지 여부 선택",
|
||||
"AddGameDirBoxTooltip": "목록에 추가할 게임 디렉토리 입력",
|
||||
"AddGameDirTooltip": "목록에 게임 디렉토리 추가",
|
||||
"RemoveGameDirTooltip": "선택한 게임 디렉토리 제거",
|
||||
"AddGameDirBoxTooltip": "목록에 추가할 게임 디렉터리 입력",
|
||||
"AddGameDirTooltip": "목록에 게임 디렉터리 추가",
|
||||
"RemoveGameDirTooltip": "선택한 게임 디렉터리 제거",
|
||||
"CustomThemeCheckTooltip": "GUI에 사용자 지정 Avalonia 테마를 사용하여 에뮬레이터 메뉴의 모양 변경",
|
||||
"CustomThemePathTooltip": "사용자 정의 GUI 테마 경로",
|
||||
"CustomThemeBrowseTooltip": "사용자 정의 GUI 테마 찾아보기",
|
||||
"DockModeToggleTooltip": "도킹 모드에서는 에뮬레이트된 시스템이 도킹된 닌텐도 스위치처럼 작동합니다. 이것은 대부분의 게임에서 그래픽 충실도를 향상시킵니다. 반대로 이 기능을 비활성화하면 에뮬레이트된 시스템이 휴대용 닌텐도 스위치처럼 작동하여 그래픽 품질이 저하됩니다.\n\n도킹 모드를 사용하려는 경우 플레이어 1 컨트롤을 구성하세요. 휴대용 모드를 사용하려는 경우 휴대용 컨트롤을 구성합니다.\n\n확실하지 않으면 켜 두세요.",
|
||||
"DockModeToggleTooltip": "독 모드에서는 에뮬레이트된 시스템이 도킹된 닌텐도 스위치처럼 작동합니다. 이것은 대부분의 게임에서 그래픽 품질을 향상시킵니다. 반대로 이 기능을 비활성화하면 에뮬레이트된 시스템이 휴대용 닌텐도 스위치처럼 작동하여 그래픽 품질이 저하됩니다.\n\n독 모드를 사용하려는 경우 플레이어 1의 컨트롤을 구성하세요. 휴대 모드를 사용하려는 경우 휴대용 컨트롤을 구성하세요.\n\n확실하지 않으면 켜 두세요.",
|
||||
"DirectKeyboardTooltip": "직접 키보드 접속 (HID) 지원합니다. 텍스트 입력 장치로 키보드에 대한 게임 접속을 제공합니다.",
|
||||
"DirectMouseTooltip": "직접 마우스 접속 (HID) 지원합니다. 포인팅 장치로 마우스에 대한 게임 접속을 제공합니다.",
|
||||
"RegionTooltip": "시스템 지역 변경",
|
||||
|
@ -441,10 +457,11 @@
|
|||
"PptcToggleTooltip": "게임이 불러올 때마다 번역할 필요가 없도록 번역된 JIT 기능을 저장합니다.\n\n게임을 처음 부팅한 후 끊김 현상을 줄이고 부팅 시간을 크게 단축합니다.\n\n확실하지 않으면 켜 두세요.",
|
||||
"FsIntegrityToggleTooltip": "게임을 부팅할 때 손상된 파일을 확인하고 손상된 파일이 감지되면 로그에 해시 오류를 표시합니다.\n\n성능에 영향을 미치지 않으며 문제 해결에 도움이 됩니다.\n\n확실하지 않으면 켜 두세요.",
|
||||
"AudioBackendTooltip": "오디오를 렌더링하는 데 사용되는 백엔드를 변경합니다.\n\nSDL2가 선호되는 반면 OpenAL 및 사운드IO는 폴백으로 사용됩니다. 더미는 소리가 나지 않습니다.\n\n확실하지 않으면 SDL2로 설정하세요.",
|
||||
"MemoryManagerTooltip": "게스트 메모리가 매핑되고 접속되는 방식을 변경합니다. 에뮬레이트된 CPU 성능에 크게 영향을 미칩니다.\n\n확실하지 않은 경우 호스트 확인 안함으로 설정하십시오.",
|
||||
"MemoryManagerTooltip": "게스트 메모리가 매핑되고 접속되는 방식을 변경합니다. 에뮬레이트된 CPU 성능에 크게 영향을 미칩니다.\n\n확실하지 않은 경우 호스트 확인 안함으로 설정하세요.",
|
||||
"MemoryManagerSoftwareTooltip": "주소 변환을 위해 소프트웨어 페이지 테이블을 사용하세요. 정확도는 가장 높지만 성능은 가장 느립니다.",
|
||||
"MemoryManagerHostTooltip": "호스트 주소 공간의 메모리를 직접 매핑합니다. 훨씬 빠른 JIT 컴파일 및 실행합니다.",
|
||||
"MemoryManagerUnsafeTooltip": "메모리를 직접 매핑하지만 접속하기 전에 게스트 주소 공간 내의 주소를 마스킹하지 마십시오. 더 빠르지만 안전을 희생해야 합니다. 게스트 응용 프로그램은 Ryujinx의 어디에서나 메모리에 접속할 수 있으므로 이 모드에서는 신뢰할 수 있는 프로그램만 실행하세요.",
|
||||
"UseHypervisorTooltip": "JIT 대신 하이퍼바이저를 사용합니다. 하이퍼바이저를 사용할 수 있을 때 성능을 향상시키지만, 현재 상태에서는 불안정할 수 있습니다.",
|
||||
"DRamTooltip": "대체 메모리모드 레이아웃을 활용하여 스위치 개발 모델을 모방합니다.\n\n고해상도 텍스처 팩 또는 4k 해상도 모드에만 유용합니다. 성능을 향상시키지 않습니다.\n\n확실하지 않으면 꺼 두세요.",
|
||||
"IgnoreMissingServicesTooltip": "구현되지 않은 호라이즌 OS 서비스를 무시합니다. 이것은 특정 게임을 부팅할 때 충돌을 우회하는 데 도움이 될 수 있습니다.\n\n확실하지 않으면 꺼 두세요.",
|
||||
"GraphicsBackendThreadingTooltip": "두 번째 스레드에서 그래픽 백엔드 명령을 실행합니다.\n\n세이더 컴파일 속도를 높이고 끊김 현상을 줄이며 자체 멀티스레딩 지원 없이 GPU 드라이버의 성능을 향상시킵니다. 멀티스레딩이 있는 드라이버에서 성능이 약간 향상되었습니다.\n\n잘 모르겠으면 자동으로 설정하세요.",
|
||||
|
@ -452,7 +469,7 @@
|
|||
"ShaderCacheToggleTooltip": "후속 실행에서 끊김 현상을 줄이는 디스크 세이더 캐시를 저장합니다.\n\n확실하지 않으면 켜 두세요.",
|
||||
"ResolutionScaleTooltip": "적용 가능한 렌더 타겟에 적용된 해상도 스케일",
|
||||
"ResolutionScaleEntryTooltip": "1.5와 같은 부동 소수점 분해능 스케일입니다. 비통합 척도는 문제나 충돌을 일으킬 가능성이 더 큽니다.",
|
||||
"AnisotropyTooltip": "이방성 필터링 수준 (게임에서 요청한 값을 사용하려면 자동으로 설정)",
|
||||
"AnisotropyTooltip": "비등방성 필터링 수준 (게임에서 요청한 값을 사용하려면 자동으로 설정)",
|
||||
"AspectRatioTooltip": "렌더러 창에 적용된 화면비입니다.",
|
||||
"ShaderDumpPathTooltip": "그래픽 셰이더 덤프 경로",
|
||||
"FileLogTooltip": "디스크의 로그 파일에 콘솔 로깅을 저장합니다. 성능에 영향을 미치지 않습니다.",
|
||||
|
@ -468,7 +485,7 @@
|
|||
"OpenGlLogLevel": "적절한 로그 수준을 활성화해야 함",
|
||||
"DebugLogTooltip": "콘솔에 디버그 로그 메시지를 인쇄합니다.\n\n로그를 읽기 어렵게 만들고 에뮬레이터 성능을 악화시키므로 직원이 구체적으로 지시한 경우에만 사용하세요.",
|
||||
"LoadApplicationFileTooltip": "파일 탐색기를 열어 불러올 스위치 호환 파일 선택",
|
||||
"LoadApplicationFolderTooltip": "파일 탐색기를 열어 불러올 스위치 호환 압축 해제 애플리케이션 선택",
|
||||
"LoadApplicationFolderTooltip": "파일 탐색기를 열어 불러올 스위치 호환 압축 해제 응용 프로그램 선택",
|
||||
"OpenRyujinxFolderTooltip": "Ryujinx 파일 시스템 폴더 열기",
|
||||
"OpenRyujinxLogsTooltip": "로그가 기록된 폴더 열기",
|
||||
"ExitTooltip": "Ryujinx 종료",
|
||||
|
@ -478,13 +495,13 @@
|
|||
"CheckUpdatesTooltip": "Ryujinx 업데이트 확인",
|
||||
"OpenAboutTooltip": "정보 창 열기",
|
||||
"GridSize": "격자 크기",
|
||||
"GridSizeTooltip": "격자 항목의 크기 변경\n",
|
||||
"GridSizeTooltip": "격자 항목의 크기 변경",
|
||||
"SettingsTabSystemSystemLanguageBrazilianPortuguese": "포르투갈어(브라질)",
|
||||
"AboutRyujinxContributorsButtonHeader": "모든 기여자 보기",
|
||||
"SettingsTabSystemAudioVolume": "볼륨 : ",
|
||||
"AudioVolumeTooltip": "오디오 볼륨 변경",
|
||||
"SettingsTabSystemAudioVolume": "음량 : ",
|
||||
"AudioVolumeTooltip": "음향 음량 변경",
|
||||
"SettingsTabSystemEnableInternetAccess": "게스트 인터넷 접속/LAN 모드",
|
||||
"EnableInternetAccessTooltip": "에뮬레이션된 애플리케이션이 인터넷에 연결되도록 허용합니다.\n\nLAN 모드가 있는 게임은 이 모드가 활성화되고 시스템이 동일한 접속 포인트에 연결된 경우 서로 연결할 수 있습니다. 여기에는 실제 콘솔도 포함됩니다.\n\n닌텐도 서버에 연결할 수 없습니다. 인터넷에 연결을 시도하는 특정 게임에서 충돌이 발생할 수 있습니다.\n\n확실하지 않으면 꺼두세요.",
|
||||
"EnableInternetAccessTooltip": "에뮬레이션된 응용프로그램이 인터넷에 연결되도록 허용합니다.\n\nLAN 모드가 있는 게임은 이 모드가 활성화되고 시스템이 동일한 접속 포인트에 연결된 경우 서로 연결할 수 있습니다. 여기에는 실제 콘솔도 포함됩니다.\n\n닌텐도 서버에 연결할 수 없습니다. 인터넷에 연결을 시도하는 특정 게임에서 충돌이 발생할 수 있습니다.\n\n확실하지 않으면 꺼두세요.",
|
||||
"GameListContextMenuManageCheatToolTip": "치트 관리",
|
||||
"GameListContextMenuManageCheat": "치트 관리",
|
||||
"ControllerSettingsStickRange": "범위 :",
|
||||
|
@ -495,11 +512,11 @@
|
|||
"SettingsTabNetwork": "네트워크",
|
||||
"SettingsTabNetworkConnection": "네트워크 연결",
|
||||
"SettingsTabCpuCache": "CPU 캐시",
|
||||
"SettingsTabCpuMemory": "CPU 메모리",
|
||||
"SettingsTabCpuMemory": "CPU 모드",
|
||||
"DialogUpdaterFlatpakNotSupportedMessage": "FlatHub를 통해 Ryujinx를 업데이트하세요.",
|
||||
"UpdaterDisabledWarningTitle": "업데이터 비활성화입니다!",
|
||||
"GameListContextMenuOpenSdModsDirectory": "엣모스피어 Mod 디렉토리 열기",
|
||||
"GameListContextMenuOpenSdModsDirectoryToolTip": "응용 프로그램의 모드가 포함된 대체 SD 카드 Atmosphere 디렉토리를 엽니다. 실제 하드웨어용으로 패키징된 모드에 유용합니다.\n",
|
||||
"GameListContextMenuOpenSdModsDirectory": "분위기 모드 디렉터리 열기",
|
||||
"GameListContextMenuOpenSdModsDirectoryToolTip": "응용프로그램의 모드가 포함된 대체 SD 카드 분위기 디렉터리를 엽니다. 실제 하드웨어용으로 패키징된 모드에 유용합니다.",
|
||||
"ControllerSettingsRotate90": "시계 방향으로 90° 회전",
|
||||
"IconSize": "아이콘 크기",
|
||||
"IconSizeTooltip": "게임 아이콘 크기 변경",
|
||||
|
@ -513,13 +530,13 @@
|
|||
"UserErrorUndefined": "정의되지 않은 오류",
|
||||
"UserErrorNoKeysDescription": "Ryujinx가 'prod.keys' 파일을 찾을 수 없음",
|
||||
"UserErrorNoFirmwareDescription": "Ryujinx가 설치된 펌웨어를 찾을 수 없음",
|
||||
"UserErrorFirmwareParsingFailedDescription": "Ryujinx가 제공된 펌웨어를 구문 분석할 수 없습니다. 일반적으로 오래된 키가 원인입니다.\n",
|
||||
"UserErrorApplicationNotFoundDescription": "Ryujinx가 지정된 경로에서 유효한 응용 프로그램을 찾을 수 없습니다.\n",
|
||||
"UserErrorUnknownDescription": "알 수 없는 오류가 발생했습니다!\n",
|
||||
"UserErrorUndefinedDescription": "정의되지 않은 오류가 발생했습니다! 이런 일이 발생하면 안 되므로, 개발자에게 문의하세요!\n",
|
||||
"UserErrorFirmwareParsingFailedDescription": "Ryujinx가 제공된 펌웨어를 구문 분석할 수 없습니다. 일반적으로 오래된 키가 원인입니다.",
|
||||
"UserErrorApplicationNotFoundDescription": "Ryujinx가 지정된 경로에서 유효한 응용 프로그램을 찾을 수 없습니다.",
|
||||
"UserErrorUnknownDescription": "알 수 없는 오류가 발생했습니다!",
|
||||
"UserErrorUndefinedDescription": "정의되지 않은 오류가 발생했습니다! 이런 일이 발생하면 안 되므로, 개발자에게 문의하세요!",
|
||||
"OpenSetupGuideMessage": "설정 가이드 열기",
|
||||
"NoUpdate": "업데이트 없음",
|
||||
"TitleUpdateVersionLabel": "버전 {0} - {1}",
|
||||
"TitleUpdateVersionLabel": "버전 {0}",
|
||||
"RyujinxInfo": "Ryujinx - 정보",
|
||||
"RyujinxConfirm": "Ryujinx - 확인",
|
||||
"FileDialogAllTypes": "모든 유형",
|
||||
|
@ -527,11 +544,14 @@
|
|||
"SwkbdMinCharacters": "{0}자 이상이어야 함",
|
||||
"SwkbdMinRangeCharacters": "{0}-{1}자여야 함",
|
||||
"SoftwareKeyboard": "소프트웨어 키보드",
|
||||
"DialogControllerAppletMessagePlayerRange": "응용 프로그램은 다음을 사용하여 {0} 플레이어를 요청합니다:\n\n유형: {1}\n\n플레이어: {2}\n\n{3} 지금 설정을 열고 입력을 재구성하거나 닫기를 누르세요.\n",
|
||||
"DialogControllerAppletMessage": "애플리케이션은 다음을 사용하여 정확히 {0}명의 플레이어를 요청합니다:\n\n유형: {1}\n\n플레이어: {2}\n\n{3} 지금 설정을 열고 입력을 재구성하거나 닫기를 누르세요.\n",
|
||||
"DialogControllerAppletDockModeSet": "도킹 모드가 설정되었습니다. 휴대용도 유효하지 않습니다.\n\n\n",
|
||||
"SoftwareKeyboardModeNumbersOnly": "숫자만 가능",
|
||||
"SoftwareKeyboardModeAlphabet": "한중일 문자가 아닌 문자만 가능",
|
||||
"SoftwareKeyboardModeASCII": "ASCII 텍스트만 가능",
|
||||
"DialogControllerAppletMessagePlayerRange": "응용 프로그램은 다음을 사용하는 {0} 명의 플레이어를 요청합니다:\n\n유형: {1}\n\n플레이어: {2}\n\n{3} 지금 설정을 열고 입력을 재구성하거나 닫기를 누르세요.\n",
|
||||
"DialogControllerAppletMessage": "응용 프로그램은 다음을 사용하는 정확히 {0}명의 플레이어를 요청합니다:\n\n유형: {1}\n\n플레이어: {2}\n\n{3} 지금 설정을 열고 입력을 재구성하거나 닫기를 누르세요.\n",
|
||||
"DialogControllerAppletDockModeSet": "독 모드가 설정되었습니다. 휴대 모드도 유효하지 않습니다.",
|
||||
"UpdaterRenaming": "이전 파일 이름 바꾸는 중...",
|
||||
"UpdaterRenameFailed": "업데이터가 파일 이름을 바꿀 수 없습니다: {0}",
|
||||
"UpdaterRenameFailed": "업데이터가 파일 이름을 바꿀 수 없음: {0}",
|
||||
"UpdaterAddingFiles": "새로운 파일을 추가하는 중...",
|
||||
"UpdaterExtracting": "업데이트를 추출하는 중...",
|
||||
"UpdaterDownloading": "업데이트 다운로드 중...",
|
||||
|
@ -543,7 +563,7 @@
|
|||
"ApiError": "API 오류입니다.",
|
||||
"LoadingHeading": "{0} 로딩 중",
|
||||
"CompilingPPTC": "PTC 컴파일 중",
|
||||
"CompilingShaders": "세이더 컴파일",
|
||||
"CompilingShaders": "셰이더 컴파일 중",
|
||||
"AllKeyboards": "모든 키보드",
|
||||
"OpenFileDialogTitle": "지원되는 파일을 선택",
|
||||
"OpenFolderDialogTitle": "압축을 푼 게임이 있는 폴더 선택",
|
||||
|
@ -554,7 +574,7 @@
|
|||
"SettingsTabHotkeysToggleVsyncHotkey": "수직 동기화 전환 :",
|
||||
"SettingsTabHotkeysScreenshotHotkey": "스크린샷 :",
|
||||
"SettingsTabHotkeysShowUiHotkey": "UI 표시 :",
|
||||
"SettingsTabHotkeysPauseHotkey": "일시정지:",
|
||||
"SettingsTabHotkeysPauseHotkey": "일시 중지 :",
|
||||
"SettingsTabHotkeysToggleMuteHotkey": "음 소거 :",
|
||||
"ControllerMotionTitle": "동작 제어 설정",
|
||||
"ControllerRumbleTitle": "진동 설정",
|
||||
|
@ -569,46 +589,68 @@
|
|||
"SelectUpdateDialogTitle": "업데이트 파일 선택",
|
||||
"UserProfileWindowTitle": "사용자 프로파일 관리자",
|
||||
"CheatWindowTitle": "치트 관리자",
|
||||
"DlcWindowTitle": "다운로드 가능한 콘텐츠 관리자",
|
||||
"DlcWindowTitle": "{0} ({1})의 다운로드 가능한 콘텐츠 관리",
|
||||
"UpdateWindowTitle": "타이틀 업데이트 관리자",
|
||||
"CheatWindowHeading": "{0} [{1}]에 사용할 수 있는 치트",
|
||||
"DlcWindowHeading": "{1} ({2})에 사용할 수 있는 {0} 다운로드 가능한 콘텐츠",
|
||||
"UserProfilesEditProfile": "선택 항목 편집",
|
||||
"BuildId": "빌드ID :",
|
||||
"DlcWindowHeading": "{0} 내려받기 가능한 콘텐츠",
|
||||
"UserProfilesEditProfile": "선택된 항목 편집",
|
||||
"Cancel": "취소",
|
||||
"Save": "저장",
|
||||
"Discard": "삭제",
|
||||
"UserProfilesSetProfileImage": "프로파일 이미지 설정",
|
||||
"UserProfileEmptyNameError": "이름 필요",
|
||||
"UserProfileNoImageError": "프로파일 이미지를 설정해야 함",
|
||||
"GameUpdateWindowHeading": "{1} ({2})에 대한 {0} 업데이트 사용 가능",
|
||||
"GameUpdateWindowHeading": "{0} ({1})에 대한 업데이트 관리",
|
||||
"SettingsTabHotkeysResScaleUpHotkey": "해상도 증가 :",
|
||||
"SettingsTabHotkeysResScaleDownHotkey": "해상도 감소 :",
|
||||
"UserProfilesName": "이름 :",
|
||||
"UserProfilesUserId": "사용자 Id:",
|
||||
"SettingsTabGraphicsBackend": "그래픽 백엔드",
|
||||
"SettingsTabGraphicsBackendTooltip": "사용할 그래픽 백엔드",
|
||||
"UserProfilesUserId": "사용자 ID :",
|
||||
"SettingsTabGraphicsBackend": "그래픽 후단부",
|
||||
"SettingsTabGraphicsBackendTooltip": "사용할 그래픽 후단부",
|
||||
"SettingsEnableTextureRecompression": "텍스처 재압축 활성화",
|
||||
"SettingsEnableTextureRecompressionTooltip": "VRAM 사용량을 줄이기 위해 특정 텍스처를 압축합니다.\n\n4GiB VRAM 미만의 GPU와 함께 사용하는 것이 좋습니다.\n\n확실하지 않으면 꺼 두세요.",
|
||||
"SettingsTabGraphicsPreferredGpu": "선호하는 GPU",
|
||||
"SettingsTabGraphicsPreferredGpuTooltip": "Vulkan 그래픽 백엔드와 함께 사용할 그래픽 카드를 선택하세요.\n\nOpenGL이 사용할 GPU에는 영향을 미치지 않습니다.\n\n확실하지 않은 경우 \"dGPU\" 플래그가 지정된 GPU로 설정하세요. 없는 경우, 그대로 두세요.\n",
|
||||
"SettingsAppRequiredRestartMessage": "Ryujinx 재시작 필요",
|
||||
"SettingsGpuBackendRestartMessage": "그래픽 백엔드 또는 GPU 설정이 수정되었습니다. 적용하려면 다시 시작해야 함\n",
|
||||
"SettingsTabGraphicsPreferredGpuTooltip": "Vulkan 그래픽 후단부와 함께 사용할 그래픽 카드를 선택하세요.\n\nOpenGL이 사용할 GPU에는 영향을 미치지 않습니다.\n\n확실하지 않은 경우 \"dGPU\" 플래그가 지정된 GPU로 설정하세요. 없는 경우, 그대로 두세요.",
|
||||
"SettingsAppRequiredRestartMessage": "Ryujinx 다시 시작 필요",
|
||||
"SettingsGpuBackendRestartMessage": "그래픽 후단부 또는 GPU 설정이 수정되었습니다. 적용하려면 다시 시작해야 합니다.",
|
||||
"SettingsGpuBackendRestartSubMessage": "지금 다시 시작하겠습니까?",
|
||||
"RyujinxUpdaterMessage": "Ryujinx를 최신 버전으로 업데이트하겠습니까?",
|
||||
"SettingsTabHotkeysVolumeUpHotkey": "볼륨 증가:",
|
||||
"SettingsTabHotkeysVolumeDownHotkey": "볼륨 감소:",
|
||||
"SettingsTabHotkeysVolumeUpHotkey": "음량 증가 :",
|
||||
"SettingsTabHotkeysVolumeDownHotkey": "음량 감소 :",
|
||||
"SettingsEnableMacroHLE": "매크로 HLE 활성화",
|
||||
"SettingsEnableMacroHLETooltip": "GPU 매크로 코드의 높은 수준 에뮬레이션입니다.\n\n성능이 향상되지만 일부 게임에서 그래픽 결함이 발생할 수 있습니다.\n\n확실하지 않으면 켜 두세요.",
|
||||
"VolumeShort": "볼륨",
|
||||
"SettingsEnableColorSpacePassthrough": "색 공간 통과",
|
||||
"SettingsEnableColorSpacePassthroughTooltip": "색 공간을 지정하지 않고 색상 정보를 전달하도록 Vulkan 후단에 지시합니다. 와이드 가멋 디스플레이를 사용하는 사용자의 경우 색 정확도가 저하되지만 더 생생한 색상을 얻을 수 있습니다.",
|
||||
"VolumeShort": "음량",
|
||||
"UserProfilesManageSaves": "저장 관리",
|
||||
"DeleteUserSave": "이 게임에 대한 사용자 저장을 삭제하겠습니까?",
|
||||
"IrreversibleActionNote": "이 작업은 되돌릴 수 없습니다.",
|
||||
"SaveManagerHeading": "{0}의 저장 관리",
|
||||
"SaveManagerHeading": "{0} ({1})의 저장 관리",
|
||||
"SaveManagerTitle": "저장 관리자",
|
||||
"Name": "이름",
|
||||
"Size": "크기",
|
||||
"Search": "검색",
|
||||
"UserProfilesRecoverLostAccounts": "잃어버린 계정 복구",
|
||||
"Recover": "복구",
|
||||
"UserProfilesRecoverHeading": "다음 계정에 대한 저장 발견"
|
||||
"UserProfilesRecoverHeading": "다음 계정에 대한 저장 발견",
|
||||
"UserProfilesRecoverEmptyList": "복구할 프로파일이 없습니다",
|
||||
"GraphicsAATooltip": "게임 렌더링에 안티 앨리어싱을 적용",
|
||||
"GraphicsAALabel": "안티 앨리어싱:",
|
||||
"GraphicsScalingFilterLabel": "스케일링 필터:",
|
||||
"GraphicsScalingFilterTooltip": "프레임버퍼 스케일링 활성화",
|
||||
"GraphicsScalingFilterLevelLabel": "수준",
|
||||
"GraphicsScalingFilterLevelTooltip": "스케일링 필터 수준 설정",
|
||||
"SmaaLow": "SMAA 낮음",
|
||||
"SmaaMedium": "SMAA 중간",
|
||||
"SmaaHigh": "SMAA 높음",
|
||||
"SmaaUltra": "SMAA 울트라",
|
||||
"UserEditorTitle": "사용자 수정",
|
||||
"UserEditorTitleCreate": "사용자 생성",
|
||||
"SettingsTabNetworkInterface": "네트워크 인터페이스:",
|
||||
"NetworkInterfaceTooltip": "LAN 기능에 사용되는 네트워크 인터페이스",
|
||||
"NetworkInterfaceDefault": "기본",
|
||||
"PackagingShaders": "셰이더 패키징 중",
|
||||
"AboutChangelogButton": "GitHub에서 변경 로그 보기",
|
||||
"AboutChangelogButtonTooltipMessage": "기본 브라우저에서 이 버전의 변경 로그를 열려면 클릭합니다."
|
||||
}
|
|
@ -1,12 +1,13 @@
|
|||
{
|
||||
"Language": "Polski",
|
||||
"Language": "Angielski (USA)",
|
||||
"MenuBarFileOpenApplet": "Otwórz Aplet",
|
||||
"MenuBarFileOpenAppletOpenMiiAppletToolTip": "Otwórz aplet Mii Editor w trybie Indywidualnym",
|
||||
"SettingsTabInputDirectMouseAccess": "Bezpośredni Dostęp do Myszy",
|
||||
"SettingsTabSystemMemoryManagerMode": "Tryb Menedżera Pamięci:",
|
||||
"SettingsTabSystemMemoryManagerModeSoftware": "Oprogramowania",
|
||||
"SettingsTabSystemMemoryManagerModeSoftware": "Oprogramowanie",
|
||||
"SettingsTabSystemMemoryManagerModeHost": "Host (szybko)",
|
||||
"SettingsTabSystemMemoryManagerModeHostUnchecked": "Host Niesprawdzony (najszybciej, niebezpiecznie)",
|
||||
"SettingsTabSystemUseHypervisor": "Użyj Hiperwizora",
|
||||
"MenuBarFile": "_Plik",
|
||||
"MenuBarFileOpenFromFile": "_Załaduj Aplikację z Pliku",
|
||||
"MenuBarFileOpenUnpacked": "Załaduj _Rozpakowaną Grę",
|
||||
|
@ -26,6 +27,9 @@
|
|||
"MenuBarToolsInstallFirmware": "Zainstaluj Firmware",
|
||||
"MenuBarFileToolsInstallFirmwareFromFile": "Zainstaluj Firmware z XCI lub ZIP",
|
||||
"MenuBarFileToolsInstallFirmwareFromDirectory": "Zainstaluj Firmware z Katalogu",
|
||||
"MenuBarToolsManageFileTypes": "Zarządzaj rodzajem plików",
|
||||
"MenuBarToolsInstallFileTypes": "Instalacja typów plików",
|
||||
"MenuBarToolsUninstallFileTypes": "Odinstaluj rodzaje plików",
|
||||
"MenuBarHelp": "Pomoc",
|
||||
"MenuBarHelpCheckForUpdates": "Sprawdź Aktualizacje",
|
||||
"MenuBarHelpAbout": "O Aplikacji",
|
||||
|
@ -70,13 +74,23 @@
|
|||
"GameListContextMenuExtractDataLogoToolTip": "Wyodrębnij sekcję Logo z bieżącej konfiguracji aplikacji (w tym aktualizacje)",
|
||||
"StatusBarGamesLoaded": "{0}/{1} Załadowane Gry",
|
||||
"StatusBarSystemVersion": "Wersja Systemu: {0}",
|
||||
"LinuxVmMaxMapCountDialogTitle": "Wykryto niski limit dla mapowania pamięci",
|
||||
"LinuxVmMaxMapCountDialogTextPrimary": "Czy chciałbyś zwiększyć wartość vm.max_map_count do {0}",
|
||||
"LinuxVmMaxMapCountDialogTextSecondary": "Niektóre gry mogą próbować stworzyć więcej mapowań pamięci niż obecnie, jest to dozwolone. Ryujinx napotka crash, gdy dojdzie do takiej sytuacji.",
|
||||
"LinuxVmMaxMapCountDialogButtonUntilRestart": "Tak, do następnego ponownego uruchomienia",
|
||||
"LinuxVmMaxMapCountDialogButtonPersistent": "Tak, permanentnie ",
|
||||
"LinuxVmMaxMapCountWarningTextPrimary": "Maksymalna ilość mapowania pamięci jest mniejsza niż zalecana.",
|
||||
"LinuxVmMaxMapCountWarningTextSecondary": "Obecna wartość vm.max_map_count ({0}) jest mniejsza niż {1}. Niektóre gry mogą próbować stworzyć więcej mapowań pamięci niż obecnie jest to dozwolone. Ryujinx napotka crash, gdy dojdzie do takiej sytuacji.\n\nMożesz chcieć ręcznie zwiększyć limit lub zainstalować pkexec, co pozwala Ryujinx na pomoc w tym zakresie.",
|
||||
"Settings": "Ustawienia",
|
||||
"SettingsTabGeneral": "Interfejs Użytkownika",
|
||||
"SettingsTabGeneralGeneral": "Ogólne",
|
||||
"SettingsTabGeneralEnableDiscordRichPresence": "Włącz Bogatą Obecność Discord",
|
||||
"SettingsTabGeneralCheckUpdatesOnLaunch": "Sprawdź Aktualizacje przy Uruchomieniu",
|
||||
"SettingsTabGeneralShowConfirmExitDialog": "Pokaż Okno Dialogowe \"Potwierdzenia Wyjścia\"",
|
||||
"SettingsTabGeneralHideCursor": "Ukryj kursor:",
|
||||
"SettingsTabGeneralHideCursorNever": "Nigdy",
|
||||
"SettingsTabGeneralHideCursorOnIdle": "Ukryj Kursor Podczas Bezczynności",
|
||||
"SettingsTabGeneralHideCursorAlways": "Zawsze",
|
||||
"SettingsTabGeneralGameDirectories": "Katalogi Gier",
|
||||
"SettingsTabGeneralAdd": "Dodaj",
|
||||
"SettingsTabGeneralRemove": "Usuń",
|
||||
|
@ -110,7 +124,7 @@
|
|||
"SettingsTabSystemSystemLanguageTraditionalChinese": "Chiński Tradycyjny",
|
||||
"SettingsTabSystemSystemTimeZone": "Strefa Czasowa Systemu:",
|
||||
"SettingsTabSystemSystemTime": "Czas Systemu:",
|
||||
"SettingsTabSystemEnableVsync": "VSync",
|
||||
"SettingsTabSystemEnableVsync": "Włącz synchronizację pionową",
|
||||
"SettingsTabSystemEnablePptc": "PPTC (Profilowany Cache Trwałych Tłumaczeń)",
|
||||
"SettingsTabSystemEnableFsIntegrityChecks": "Kontrole Integralności Systemu Plików",
|
||||
"SettingsTabSystemAudioBackend": "Backend Dżwięku:",
|
||||
|
@ -126,7 +140,7 @@
|
|||
"SettingsTabGraphicsAPI": "Graficzne API",
|
||||
"SettingsTabGraphicsEnableShaderCache": "Włącz Cache Shaderów",
|
||||
"SettingsTabGraphicsAnisotropicFiltering": "Filtrowanie Anizotropowe:",
|
||||
"SettingsTabGraphicsAnisotropicFilteringAuto": "Auto",
|
||||
"SettingsTabGraphicsAnisotropicFilteringAuto": "Automatyczny",
|
||||
"SettingsTabGraphicsAnisotropicFiltering2x": "2x",
|
||||
"SettingsTabGraphicsAnisotropicFiltering4x": "4x",
|
||||
"SettingsTabGraphicsAnisotropicFiltering8x": "8x",
|
||||
|
@ -158,6 +172,7 @@
|
|||
"SettingsTabLoggingEnableFsAccessLogs": "Włącz Logi Dostępu do Systemu Plików",
|
||||
"SettingsTabLoggingFsGlobalAccessLogMode": "Tryb Globalnych Logów Systemu Plików:",
|
||||
"SettingsTabLoggingDeveloperOptions": "Opcje programistyczne (OSTRZEŻENIE: Zmniejszą wydajność)",
|
||||
"SettingsTabLoggingDeveloperOptionsNote": "UWAGA: Zredukuje wydajność",
|
||||
"SettingsTabLoggingGraphicsBackendLogLevel": "Ilość Logów Backendu Graficznego:",
|
||||
"SettingsTabLoggingGraphicsBackendLogLevelNone": "Żadne",
|
||||
"SettingsTabLoggingGraphicsBackendLogLevelError": "Błędy",
|
||||
|
@ -187,7 +202,7 @@
|
|||
"ControllerSettingsDeviceDisabled": "Wyłączone",
|
||||
"ControllerSettingsControllerType": "Typ Kontrolera",
|
||||
"ControllerSettingsControllerTypeHandheld": "Przenośny",
|
||||
"ControllerSettingsControllerTypeProController": "Pro Controller",
|
||||
"ControllerSettingsControllerTypeProController": "Pro Kontroler",
|
||||
"ControllerSettingsControllerTypeJoyConPair": "Para JoyCon-ów",
|
||||
"ControllerSettingsControllerTypeJoyConLeft": "Lewy JoyCon",
|
||||
"ControllerSettingsControllerTypeJoyConRight": "Prawy JoyCon",
|
||||
|
@ -208,26 +223,17 @@
|
|||
"ControllerSettingsDPadDown": "Dół",
|
||||
"ControllerSettingsDPadLeft": "Lewo",
|
||||
"ControllerSettingsDPadRight": "Prawo",
|
||||
"ControllerSettingsStickButton": "Przycisk",
|
||||
"ControllerSettingsStickUp": "Góra ",
|
||||
"ControllerSettingsStickDown": "Dół ",
|
||||
"ControllerSettingsStickLeft": "Lewo",
|
||||
"ControllerSettingsStickRight": "Prawo",
|
||||
"ControllerSettingsStickStick": "Gałka",
|
||||
"ControllerSettingsStickInvertXAxis": "Odwróć gałkę X",
|
||||
"ControllerSettingsStickInvertYAxis": "Odwróć gałkę Y",
|
||||
"ControllerSettingsStickDeadzone": "Martwa strefa:",
|
||||
"ControllerSettingsLStick": "Lewa Gałka",
|
||||
"ControllerSettingsLStickButton": "Przycisk",
|
||||
"ControllerSettingsLStickUp": "Góra",
|
||||
"ControllerSettingsLStickDown": "Dół",
|
||||
"ControllerSettingsLStickLeft": "Lewo",
|
||||
"ControllerSettingsLStickRight": "Prawo",
|
||||
"ControllerSettingsLStickStick": "Gałka",
|
||||
"ControllerSettingsLStickInvertXAxis": "Odwróć X Gałki",
|
||||
"ControllerSettingsLStickInvertYAxis": "Odwróć Y Gałki",
|
||||
"ControllerSettingsLStickDeadzone": "Martwa Strefa:",
|
||||
"ControllerSettingsRStick": "Prawa Gałka",
|
||||
"ControllerSettingsRStickButton": "Przycisk",
|
||||
"ControllerSettingsRStickUp": "Góra",
|
||||
"ControllerSettingsRStickDown": "Dół",
|
||||
"ControllerSettingsRStickLeft": "Lewo",
|
||||
"ControllerSettingsRStickRight": "Prawo",
|
||||
"ControllerSettingsRStickStick": "Gałka",
|
||||
"ControllerSettingsRStickInvertXAxis": "Odwróć X Gałki",
|
||||
"ControllerSettingsRStickInvertYAxis": "Odwróć Y Gałki",
|
||||
"ControllerSettingsRStickDeadzone": "Martwa Strefa:",
|
||||
"ControllerSettingsTriggersLeft": "Lewe Triggery",
|
||||
"ControllerSettingsTriggersRight": "Prawe Triggery",
|
||||
"ControllerSettingsTriggersButtonsLeft": "Lewe Przyciski Triggerów",
|
||||
|
@ -262,6 +268,7 @@
|
|||
"UserProfilesAddNewProfile": "Utwórz Profil",
|
||||
"UserProfilesDelete": "Usuwać",
|
||||
"UserProfilesClose": "Zamknij",
|
||||
"ProfileNameSelectionWatermark": "Wybierz pseudonim",
|
||||
"ProfileImageSelectionTitle": "Wybór Obrazu Profilu",
|
||||
"ProfileImageSelectionHeader": "Wybierz zdjęcie profilowe",
|
||||
"ProfileImageSelectionNote": "Możesz zaimportować niestandardowy obraz profilu lub wybrać awatar z firmware'u systemowego",
|
||||
|
@ -282,6 +289,7 @@
|
|||
"ControllerSettingsSaveProfileToolTip": "Zapisz Profil",
|
||||
"MenuBarFileToolsTakeScreenshot": "Zrób Zrzut Ekranu",
|
||||
"MenuBarFileToolsHideUi": "Ukryj UI",
|
||||
"GameListContextMenuRunApplication": "Uruchom aplikację ",
|
||||
"GameListContextMenuToggleFavorite": "Przełącz Ulubione",
|
||||
"GameListContextMenuToggleFavoriteToolTip": "Przełącz status Ulubionej Gry",
|
||||
"SettingsTabGeneralTheme": "Motyw",
|
||||
|
@ -337,6 +345,10 @@
|
|||
"DialogFirmwareInstallEmbeddedSuccessMessage": "Nie znaleziono zainstalowanego firmware'u, ale Ryujinx był w stanie zainstalować firmware {0} z dostarczonej gry.\n\nEmulator uruchomi się teraz.",
|
||||
"DialogFirmwareNoFirmwareInstalledMessage": "Brak Zainstalowanego Firmware'u",
|
||||
"DialogFirmwareInstalledMessage": "Firmware {0} został zainstalowany",
|
||||
"DialogInstallFileTypesSuccessMessage": "Pomyślnie zainstalowano typy plików!",
|
||||
"DialogInstallFileTypesErrorMessage": "Nie udało się zainstalować typów plików.",
|
||||
"DialogUninstallFileTypesSuccessMessage": "Pomyślnie odinstalowano typy plików!",
|
||||
"DialogUninstallFileTypesErrorMessage": "Nie udało się odinstalować typów plików.",
|
||||
"DialogOpenSettingsWindowLabel": "Otwórz Okno Ustawień",
|
||||
"DialogControllerAppletTitle": "Aplet Kontrolera",
|
||||
"DialogMessageDialogErrorExceptionMessage": "Błąd wyświetlania okna Dialogowego Wiadomości: {0}",
|
||||
|
@ -368,6 +380,9 @@
|
|||
"DialogFirmwareInstallerFirmwareInstallSuccessMessage": "Wersja systemu {0} została pomyślnie zainstalowana.",
|
||||
"DialogUserProfileDeletionWarningMessage": "Nie będzie innych profili do otwarcia, jeśli wybrany profil zostanie usunięty",
|
||||
"DialogUserProfileDeletionConfirmMessage": "Czy chcesz usunąć wybrany profil",
|
||||
"DialogUserProfileUnsavedChangesTitle": "Uwaga - Niezapisane zmiany",
|
||||
"DialogUserProfileUnsavedChangesMessage": "Wprowadziłeś zmiany dla tego profilu użytkownika, które nie zostały zapisane.",
|
||||
"DialogUserProfileUnsavedChangesSubMessage": "Czy chcesz odrzucić zmiany?",
|
||||
"DialogControllerSettingsModifiedConfirmMessage": "Aktualne ustawienia kontrolera zostały zaktualizowane.",
|
||||
"DialogControllerSettingsModifiedConfirmSubMessage": "Czy chcesz zapisać?",
|
||||
"DialogLoadNcaErrorMessage": "{0}. Błędny Plik: {1}",
|
||||
|
@ -416,6 +431,7 @@
|
|||
"DlcManagerEnableAllButton": "Włącz Wszystkie",
|
||||
"DlcManagerDisableAllButton": "Wyłącz Wszystkie",
|
||||
"MenuBarOptionsChangeLanguage": "Zmień Język",
|
||||
"MenuBarShowFileTypes": "Pokaż typy plików",
|
||||
"CommonSort": "Sortuj",
|
||||
"CommonShowNames": "Pokaż Nazwy",
|
||||
"CommonFavorite": "Ulubione",
|
||||
|
@ -445,6 +461,7 @@
|
|||
"MemoryManagerSoftwareTooltip": "Użyj tabeli stron oprogramowania do translacji adresów. Najwyższa celność, ale najwolniejsza wydajność.",
|
||||
"MemoryManagerHostTooltip": "Bezpośrednio mapuj pamięć w przestrzeni adresowej hosta. Znacznie szybsza kompilacja i wykonanie JIT.",
|
||||
"MemoryManagerUnsafeTooltip": "Bezpośrednio mapuj pamięć, ale nie maskuj adresu w przestrzeni adresowej gościa przed uzyskaniem dostępu. Szybciej, ale kosztem bezpieczeństwa. Aplikacja gościa może uzyskać dostęp do pamięci z dowolnego miejsca w Ryujinx, więc w tym trybie uruchamiaj tylko programy, którym ufasz.",
|
||||
"UseHypervisorTooltip": "Użyj Hiperwizora zamiast JIT. Znacznie poprawia wydajność, gdy jest dostępny, ale może być niestabilny w swoim obecnym stanie ",
|
||||
"DRamTooltip": "Wykorzystuje alternatywny układ MemoryMode, aby naśladować model rozwojowy Switcha.\n\nJest to przydatne tylko w przypadku pakietów tekstur o wyższej rozdzielczości lub modów w rozdzielczości 4k. NIE poprawia wydajności.\n\nW razie wątpliwości pozostaw WYŁĄCZONE.",
|
||||
"IgnoreMissingServicesTooltip": "Ignoruje niezaimplementowane usługi Horizon OS. Może to pomóc w ominięciu awarii podczas uruchamiania niektórych gier.\n\nW razie wątpliwości pozostaw WYŁĄCZONE.",
|
||||
"GraphicsBackendThreadingTooltip": "Wykonuje polecenia backend'u graficznego w drugim wątku.\n\nPrzyspiesza kompilację shaderów, zmniejsza zacinanie się i poprawia wydajność sterowników GPU bez własnej obsługi wielowątkowości. Nieco lepsza wydajność w sterownikach z wielowątkowością.\n\nUstaw na AUTO, jeśli nie masz pewności.",
|
||||
|
@ -527,6 +544,9 @@
|
|||
"SwkbdMinCharacters": "Musi mieć co najmniej {0} znaków",
|
||||
"SwkbdMinRangeCharacters": "Musi mieć długość od {0}-{1} znaków",
|
||||
"SoftwareKeyboard": "Klawiatura Oprogramowania",
|
||||
"SoftwareKeyboardModeNumbersOnly": "Mogą być tylko liczby ",
|
||||
"SoftwareKeyboardModeAlphabet": "Nie może zawierać znaków CJK",
|
||||
"SoftwareKeyboardModeASCII": "Musi zawierać tylko tekst ASCII",
|
||||
"DialogControllerAppletMessagePlayerRange": "Aplikacja żąda {0} graczy z:\n\nTYPY: {1}\n\nGRACZE: {2}\n\n{3}Otwórz Ustawienia i ponownie skonfiguruj Sterowanie lub naciśnij Zamknij.",
|
||||
"DialogControllerAppletMessage": "Aplikacja żąda dokładnie {0} graczy z:\n\nTYPY: {1}\n\nGRACZE: {2}\n\n{3}Otwórz teraz Ustawienia i ponownie skonfiguruj Sterowanie lub naciśnij Zamknij.",
|
||||
"DialogControllerAppletDockModeSet": "Ustawiono tryb Zadokowane. Przenośny też jest nieprawidłowy.\n\n",
|
||||
|
@ -572,6 +592,7 @@
|
|||
"DlcWindowTitle": "Menedżer Zawartości do Pobrania",
|
||||
"UpdateWindowTitle": "Menedżer Aktualizacji Tytułu",
|
||||
"CheatWindowHeading": "Kody Dostępne dla {0} [{1}]",
|
||||
"BuildId": "Identyfikator wersji:",
|
||||
"DlcWindowHeading": "{0} Zawartości do Pobrania dostępna dla {1} ({2})",
|
||||
"UserProfilesEditProfile": "Edytuj Zaznaczone",
|
||||
"Cancel": "Anuluj",
|
||||
|
@ -599,6 +620,8 @@
|
|||
"SettingsTabHotkeysVolumeDownHotkey": "Zmniejsz Głośność:",
|
||||
"SettingsEnableMacroHLE": "Włącz Macro HLE",
|
||||
"SettingsEnableMacroHLETooltip": "Wysokopoziomowa emulacja kodu GPU Macro.\n\nPoprawia wydajność, ale może powodować błędy graficzne w niektórych grach.\n\nW razie wątpliwości pozostaw WŁĄCZONE.",
|
||||
"SettingsEnableColorSpacePassthrough": "Color Space Passthrough",
|
||||
"SettingsEnableColorSpacePassthroughTooltip": "Directs the Vulkan backend to pass through color information without specifying a color space. For users with wide gamut displays, this may result in more vibrant colors, at the cost of color correctness.",
|
||||
"VolumeShort": "Głoś",
|
||||
"UserProfilesManageSaves": "Zarządzaj Zapisami",
|
||||
"DeleteUserSave": "Czy chcesz usunąć zapis użytkownika dla tej gry?",
|
||||
|
@ -610,5 +633,24 @@
|
|||
"Search": "Wyszukaj",
|
||||
"UserProfilesRecoverLostAccounts": "Odzyskaj Utracone Konta",
|
||||
"Recover": "Odzyskaj",
|
||||
"UserProfilesRecoverHeading": "Znaleziono zapisy dla następujących kont"
|
||||
"UserProfilesRecoverHeading": "Znaleziono zapisy dla następujących kont",
|
||||
"UserProfilesRecoverEmptyList": "Brak profili do odzyskania",
|
||||
"GraphicsAATooltip": "Stosuje antyaliasing do renderowania gry",
|
||||
"GraphicsAALabel": "Antyaliasing:",
|
||||
"GraphicsScalingFilterLabel": "Filtr skalowania:",
|
||||
"GraphicsScalingFilterTooltip": "Włącza skalowanie bufora ramki",
|
||||
"GraphicsScalingFilterLevelLabel": "Poziom",
|
||||
"GraphicsScalingFilterLevelTooltip": "Ustaw poziom filtra skalowania",
|
||||
"SmaaLow": "SMAA Niskie",
|
||||
"SmaaMedium": "SMAA Średnie",
|
||||
"SmaaHigh": "SMAA Wysokie",
|
||||
"SmaaUltra": "SMAA Ultra",
|
||||
"UserEditorTitle": "Edytuj użytkownika",
|
||||
"UserEditorTitleCreate": "Utwórz użytkownika",
|
||||
"SettingsTabNetworkInterface": "Interfejs sieci:",
|
||||
"NetworkInterfaceTooltip": "Interfejs sieciowy używany do funkcji LAN",
|
||||
"NetworkInterfaceDefault": "Domyślny",
|
||||
"PackagingShaders": "Pakuje Shadery ",
|
||||
"AboutChangelogButton": "Zobacz listę zmian na GitHubie",
|
||||
"AboutChangelogButtonTooltipMessage": "Kliknij, aby otworzyć listę zmian dla tej wersji w domyślnej przeglądarce."
|
||||
}
|
|
@ -7,6 +7,7 @@
|
|||
"SettingsTabSystemMemoryManagerModeSoftware": "Software",
|
||||
"SettingsTabSystemMemoryManagerModeHost": "Hóspede (rápido)",
|
||||
"SettingsTabSystemMemoryManagerModeHostUnchecked": "Hóspede sem verificação (mais rápido, inseguro)",
|
||||
"SettingsTabSystemUseHypervisor": "Usar Hipervisor",
|
||||
"MenuBarFile": "_Arquivo",
|
||||
"MenuBarFileOpenFromFile": "_Abrir ROM do jogo...",
|
||||
"MenuBarFileOpenUnpacked": "Abrir jogo _extraído...",
|
||||
|
@ -26,6 +27,9 @@
|
|||
"MenuBarToolsInstallFirmware": "_Instalar firmware",
|
||||
"MenuBarFileToolsInstallFirmwareFromFile": "Instalar firmware a partir de um arquivo ZIP/XCI",
|
||||
"MenuBarFileToolsInstallFirmwareFromDirectory": "Instalar firmware a partir de um diretório",
|
||||
"MenuBarToolsManageFileTypes": "Gerenciar tipos de arquivo",
|
||||
"MenuBarToolsInstallFileTypes": "Instalar tipos de arquivo",
|
||||
"MenuBarToolsUninstallFileTypes": "Desinstalar tipos de arquivos",
|
||||
"MenuBarHelp": "A_juda",
|
||||
"MenuBarHelpCheckForUpdates": "_Verificar se há atualizações",
|
||||
"MenuBarHelpAbout": "_Sobre",
|
||||
|
@ -70,13 +74,23 @@
|
|||
"GameListContextMenuExtractDataLogoToolTip": "Extrai a seção Logo do jogo (incluindo atualizações)",
|
||||
"StatusBarGamesLoaded": "{0}/{1} jogos carregados",
|
||||
"StatusBarSystemVersion": "Versão do firmware: {0}",
|
||||
"LinuxVmMaxMapCountDialogTitle": "Low limit for memory mappings detected",
|
||||
"LinuxVmMaxMapCountDialogTextPrimary": "Would you like to increase the value of vm.max_map_count to {0}",
|
||||
"LinuxVmMaxMapCountDialogTextSecondary": "Some games might try to create more memory mappings than currently allowed. Ryujinx will crash as soon as this limit gets exceeded.",
|
||||
"LinuxVmMaxMapCountDialogButtonUntilRestart": "Yes, until the next restart",
|
||||
"LinuxVmMaxMapCountDialogButtonPersistent": "Yes, permanently",
|
||||
"LinuxVmMaxMapCountWarningTextPrimary": "Max amount of memory mappings is lower than recommended.",
|
||||
"LinuxVmMaxMapCountWarningTextSecondary": "The current value of vm.max_map_count ({0}) is lower than {1}. Some games might try to create more memory mappings than currently allowed. Ryujinx will crash as soon as this limit gets exceeded.\n\nYou might want to either manually increase the limit or install pkexec, which allows Ryujinx to assist with that.",
|
||||
"Settings": "Configurações",
|
||||
"SettingsTabGeneral": "Geral",
|
||||
"SettingsTabGeneralGeneral": "Geral",
|
||||
"SettingsTabGeneralEnableDiscordRichPresence": "Habilitar Rich Presence do Discord",
|
||||
"SettingsTabGeneralCheckUpdatesOnLaunch": "Verificar se há atualizações ao iniciar",
|
||||
"SettingsTabGeneralShowConfirmExitDialog": "Exibir diálogo de confirmação ao sair",
|
||||
"SettingsTabGeneralHideCursor": "Esconder o cursor do mouse:",
|
||||
"SettingsTabGeneralHideCursorNever": "Nunca",
|
||||
"SettingsTabGeneralHideCursorOnIdle": "Esconder o cursor quando ocioso",
|
||||
"SettingsTabGeneralHideCursorAlways": "Sempre",
|
||||
"SettingsTabGeneralGameDirectories": "Diretórios de jogo",
|
||||
"SettingsTabGeneralAdd": "Adicionar",
|
||||
"SettingsTabGeneralRemove": "Remover",
|
||||
|
@ -158,6 +172,7 @@
|
|||
"SettingsTabLoggingEnableFsAccessLogs": "Habilitar logs de acesso ao sistema de arquivos",
|
||||
"SettingsTabLoggingFsGlobalAccessLogMode": "Modo global de logs do sistema de arquivos:",
|
||||
"SettingsTabLoggingDeveloperOptions": "Opções do desenvolvedor (AVISO: Vai reduzir a performance)",
|
||||
"SettingsTabLoggingDeveloperOptionsNote": "AVISO: Reduzirá o desempenho",
|
||||
"SettingsTabLoggingGraphicsBackendLogLevel": "Nível de log do backend gráfico:",
|
||||
"SettingsTabLoggingGraphicsBackendLogLevelNone": "Nenhum",
|
||||
"SettingsTabLoggingGraphicsBackendLogLevelError": "Erro",
|
||||
|
@ -208,26 +223,17 @@
|
|||
"ControllerSettingsDPadDown": "Baixo",
|
||||
"ControllerSettingsDPadLeft": "Esquerda",
|
||||
"ControllerSettingsDPadRight": "Direita",
|
||||
"ControllerSettingsStickButton": "Button",
|
||||
"ControllerSettingsStickUp": "Up",
|
||||
"ControllerSettingsStickDown": "Down",
|
||||
"ControllerSettingsStickLeft": "Left",
|
||||
"ControllerSettingsStickRight": "Right",
|
||||
"ControllerSettingsStickStick": "Stick",
|
||||
"ControllerSettingsStickInvertXAxis": "Invert Stick X",
|
||||
"ControllerSettingsStickInvertYAxis": "Invert Stick Y",
|
||||
"ControllerSettingsStickDeadzone": "Deadzone:",
|
||||
"ControllerSettingsLStick": "Analógico esquerdo",
|
||||
"ControllerSettingsLStickButton": "Botão",
|
||||
"ControllerSettingsLStickUp": "Cima",
|
||||
"ControllerSettingsLStickDown": "Baixo",
|
||||
"ControllerSettingsLStickLeft": "Esquerda",
|
||||
"ControllerSettingsLStickRight": "Direita",
|
||||
"ControllerSettingsLStickStick": "Analógico",
|
||||
"ControllerSettingsLStickInvertXAxis": "Inverter eixo X",
|
||||
"ControllerSettingsLStickInvertYAxis": "Inverter eixo Y",
|
||||
"ControllerSettingsLStickDeadzone": "Zona morta:",
|
||||
"ControllerSettingsRStick": "Analógico direito",
|
||||
"ControllerSettingsRStickButton": "Botão",
|
||||
"ControllerSettingsRStickUp": "Cima",
|
||||
"ControllerSettingsRStickDown": "Baixo",
|
||||
"ControllerSettingsRStickLeft": "Esquerda",
|
||||
"ControllerSettingsRStickRight": "Direita",
|
||||
"ControllerSettingsRStickStick": "Analógico",
|
||||
"ControllerSettingsRStickInvertXAxis": "Inverter eixo X",
|
||||
"ControllerSettingsRStickInvertYAxis": "Inverter eixo Y",
|
||||
"ControllerSettingsRStickDeadzone": "Zona morta:",
|
||||
"ControllerSettingsTriggersLeft": "Gatilhos esquerda",
|
||||
"ControllerSettingsTriggersRight": "Gatilhos direita",
|
||||
"ControllerSettingsTriggersButtonsLeft": "Botões de gatilho esquerda",
|
||||
|
@ -262,6 +268,7 @@
|
|||
"UserProfilesAddNewProfile": "Adicionar novo perfil",
|
||||
"UserProfilesDelete": "Apagar",
|
||||
"UserProfilesClose": "Fechar",
|
||||
"ProfileNameSelectionWatermark": "Escolha um apelido",
|
||||
"ProfileImageSelectionTitle": "Seleção da imagem de perfil",
|
||||
"ProfileImageSelectionHeader": "Escolha uma imagem de perfil",
|
||||
"ProfileImageSelectionNote": "Você pode importar uma imagem customizada, ou selecionar um avatar do firmware",
|
||||
|
@ -281,7 +288,8 @@
|
|||
"ControllerSettingsRemoveProfileToolTip": "Remover perfil",
|
||||
"ControllerSettingsSaveProfileToolTip": "Salvar perfil",
|
||||
"MenuBarFileToolsTakeScreenshot": "Salvar captura de tela",
|
||||
"MenuBarFileToolsHideUi": "Hide UI",
|
||||
"MenuBarFileToolsHideUi": "Esconder Interface",
|
||||
"GameListContextMenuRunApplication": "Run Application",
|
||||
"GameListContextMenuToggleFavorite": "Alternar favorito",
|
||||
"GameListContextMenuToggleFavoriteToolTip": "Marca ou desmarca jogo como favorito",
|
||||
"SettingsTabGeneralTheme": "Tema",
|
||||
|
@ -337,6 +345,10 @@
|
|||
"DialogFirmwareInstallEmbeddedSuccessMessage": "Nenhum firmware instalado foi encontrado, mas Ryujinx conseguiu instalar o firmware {0} do jogo fornecido.\nO emulador será reiniciado.",
|
||||
"DialogFirmwareNoFirmwareInstalledMessage": "Firmware não foi instalado",
|
||||
"DialogFirmwareInstalledMessage": "Firmware {0} foi instalado",
|
||||
"DialogInstallFileTypesSuccessMessage": "Tipos de arquivo instalados com sucesso!",
|
||||
"DialogInstallFileTypesErrorMessage": "Falha ao instalar tipos de arquivo.",
|
||||
"DialogUninstallFileTypesSuccessMessage": "Tipos de arquivo desinstalados com sucesso!",
|
||||
"DialogUninstallFileTypesErrorMessage": "Falha ao desinstalar tipos de arquivo.",
|
||||
"DialogOpenSettingsWindowLabel": "Abrir janela de configurações",
|
||||
"DialogControllerAppletTitle": "Applet de controle",
|
||||
"DialogMessageDialogErrorExceptionMessage": "Erro ao exibir diálogo de mensagem: {0}",
|
||||
|
@ -368,6 +380,9 @@
|
|||
"DialogFirmwareInstallerFirmwareInstallSuccessMessage": "Versão do sistema {0} instalada com sucesso.",
|
||||
"DialogUserProfileDeletionWarningMessage": "Não haveria nenhum perfil selecionado se o perfil atual fosse deletado",
|
||||
"DialogUserProfileDeletionConfirmMessage": "Deseja deletar o perfil selecionado",
|
||||
"DialogUserProfileUnsavedChangesTitle": "Alerta - Alterações não salvas",
|
||||
"DialogUserProfileUnsavedChangesMessage": "Você fez alterações para este perfil de usuário que não foram salvas.",
|
||||
"DialogUserProfileUnsavedChangesSubMessage": "Deseja descartar as alterações?",
|
||||
"DialogControllerSettingsModifiedConfirmMessage": "As configurações de controle atuais foram atualizadas.",
|
||||
"DialogControllerSettingsModifiedConfirmSubMessage": "Deseja salvar?",
|
||||
"DialogLoadNcaErrorMessage": "{0}. Arquivo com erro: {1}",
|
||||
|
@ -416,6 +431,7 @@
|
|||
"DlcManagerEnableAllButton": "Habilitar todos",
|
||||
"DlcManagerDisableAllButton": "Desabilitar todos",
|
||||
"MenuBarOptionsChangeLanguage": "Mudar idioma",
|
||||
"MenuBarShowFileTypes": "Mostrar tipos de arquivo",
|
||||
"CommonSort": "Ordenar",
|
||||
"CommonShowNames": "Exibir nomes",
|
||||
"CommonFavorite": "Favorito",
|
||||
|
@ -445,6 +461,7 @@
|
|||
"MemoryManagerSoftwareTooltip": "Usar uma tabela de página via software para tradução de endereços. Maior precisão, porém performance mais baixa.",
|
||||
"MemoryManagerHostTooltip": "Mapeia memória no espaço de endereço hóspede diretamente. Compilação e execução do JIT muito mais rápida.",
|
||||
"MemoryManagerUnsafeTooltip": "Mapeia memória diretamente, mas sem limitar o acesso ao espaço de endereçamento do sistema convidado. Mais rápido, porém menos seguro. O aplicativo convidado pode acessar memória de qualquer parte do Ryujinx, então apenas rode programas em que você confia nesse modo.",
|
||||
"UseHypervisorTooltip": "Usa o Hypervisor em vez de JIT (recompilador dinâmico). Melhora significativamente o desempenho quando disponível, mas pode ser instável no seu estado atual.",
|
||||
"DRamTooltip": "Expande a memória do sistema emulado de 4GiB para 6GiB",
|
||||
"IgnoreMissingServicesTooltip": "Habilita ou desabilita a opção de ignorar serviços não implementados",
|
||||
"GraphicsBackendThreadingTooltip": "Habilita multithreading do backend gráfico",
|
||||
|
@ -527,6 +544,9 @@
|
|||
"SwkbdMinCharacters": "Deve ter pelo menos {0} caracteres",
|
||||
"SwkbdMinRangeCharacters": "Deve ter entre {0}-{1} caracteres",
|
||||
"SoftwareKeyboard": "Teclado por Software",
|
||||
"SoftwareKeyboardModeNumbersOnly": "Must be numbers only",
|
||||
"SoftwareKeyboardModeAlphabet": "Must be non CJK-characters only",
|
||||
"SoftwareKeyboardModeASCII": "Must be ASCII text only",
|
||||
"DialogControllerAppletMessagePlayerRange": "O aplicativo requer {0} jogador(es) com:\n\nTIPOS: {1}\n\nJOGADORES: {2}\n\n{3}Por favor, abra as configurações e reconfigure os controles agora ou clique em Fechar.",
|
||||
"DialogControllerAppletMessage": "O aplicativo requer exatamente {0} jogador(es) com:\n\nTIPOS: {1}\n\nJOGADORES: {2}\n\n{3}Por favor, abra as configurações e reconfigure os controles agora ou clique em Fechar.",
|
||||
"DialogControllerAppletDockModeSet": "Modo TV ativado. Portátil também não é válido.\n\n",
|
||||
|
@ -572,6 +592,7 @@
|
|||
"DlcWindowTitle": "Gerenciador de DLC",
|
||||
"UpdateWindowTitle": "Gerenciador de atualizações",
|
||||
"CheatWindowHeading": "Cheats disponíveis para {0} [{1}]",
|
||||
"BuildId": "BuildId:",
|
||||
"DlcWindowHeading": "{0} DLCs disponíveis para {1} ({2})",
|
||||
"UserProfilesEditProfile": "Editar selecionado",
|
||||
"Cancel": "Cancelar",
|
||||
|
@ -599,6 +620,8 @@
|
|||
"SettingsTabHotkeysVolumeDownHotkey": "Diminuir volume:",
|
||||
"SettingsEnableMacroHLE": "Habilitar emulação de alto nível para Macros",
|
||||
"SettingsEnableMacroHLETooltip": "Habilita emulação de alto nível de códigos Macro da GPU.\n\nMelhora a performance, mas pode causar problemas gráficos em alguns jogos.\n\nEm caso de dúvida, deixe ATIVADO.",
|
||||
"SettingsEnableColorSpacePassthrough": "Color Space Passthrough",
|
||||
"SettingsEnableColorSpacePassthroughTooltip": "Directs the Vulkan backend to pass through color information without specifying a color space. For users with wide gamut displays, this may result in more vibrant colors, at the cost of color correctness.",
|
||||
"VolumeShort": "Vol",
|
||||
"UserProfilesManageSaves": "Gerenciar jogos salvos",
|
||||
"DeleteUserSave": "Deseja apagar o jogo salvo do usuário para este jogo?",
|
||||
|
@ -610,5 +633,24 @@
|
|||
"Search": "Buscar",
|
||||
"UserProfilesRecoverLostAccounts": "Recuperar contas perdidas",
|
||||
"Recover": "Recuperar",
|
||||
"UserProfilesRecoverHeading": "Jogos salvos foram encontrados para as seguintes contas"
|
||||
"UserProfilesRecoverHeading": "Jogos salvos foram encontrados para as seguintes contas",
|
||||
"UserProfilesRecoverEmptyList": "Nenhum perfil para recuperar",
|
||||
"GraphicsAATooltip": "Aplica anti-serrilhamento à renderização do jogo",
|
||||
"GraphicsAALabel": "Anti-serrilhado:",
|
||||
"GraphicsScalingFilterLabel": "Filtro de escala:",
|
||||
"GraphicsScalingFilterTooltip": "Habilita escala do Framebuffer",
|
||||
"GraphicsScalingFilterLevelLabel": "Nível",
|
||||
"GraphicsScalingFilterLevelTooltip": "Define o nível do filtro de escala",
|
||||
"SmaaLow": "SMAA Baixo",
|
||||
"SmaaMedium": "SMAA Médio",
|
||||
"SmaaHigh": "SMAA Alto",
|
||||
"SmaaUltra": "SMAA Ultra",
|
||||
"UserEditorTitle": "Editar usuário",
|
||||
"UserEditorTitleCreate": "Criar usuário",
|
||||
"SettingsTabNetworkInterface": "Interface de rede:",
|
||||
"NetworkInterfaceTooltip": "A interface de rede usada para recursos LAN (rede local)",
|
||||
"NetworkInterfaceDefault": "Padrão",
|
||||
"PackagingShaders": "Packaging Shaders",
|
||||
"AboutChangelogButton": "View Changelog on GitHub",
|
||||
"AboutChangelogButtonTooltipMessage": "Click to open the changelog for this version in your default browser."
|
||||
}
|
|
@ -1,12 +1,13 @@
|
|||
{
|
||||
"Language": "Русский",
|
||||
"MenuBarFileOpenApplet": "Открыть апплет",
|
||||
"MenuBarFileOpenAppletOpenMiiAppletToolTip": "Открыть апплет Mii Editor в автономном режиме.",
|
||||
"SettingsTabInputDirectMouseAccess": "Прямой доступ с помощью мыши",
|
||||
"MenuBarFileOpenAppletOpenMiiAppletToolTip": "Открыть апплет Mii Editor в автономном режиме",
|
||||
"SettingsTabInputDirectMouseAccess": "Прямой доступ к мыши",
|
||||
"SettingsTabSystemMemoryManagerMode": "Режим диспетчера памяти:",
|
||||
"SettingsTabSystemMemoryManagerModeSoftware": "Программное обеспечение",
|
||||
"SettingsTabSystemMemoryManagerModeHost": "Хост (быстро)",
|
||||
"SettingsTabSystemMemoryManagerModeHostUnchecked": "Хост не установлен (самый быстрый, небезопасный)",
|
||||
"SettingsTabSystemUseHypervisor": "Использовать Гипервизор",
|
||||
"MenuBarFile": "_Файл",
|
||||
"MenuBarFileOpenFromFile": "_Загрузить приложение из файла",
|
||||
"MenuBarFileOpenUnpacked": "Загрузить _Распакованную игру",
|
||||
|
@ -25,10 +26,13 @@
|
|||
"MenuBarTools": "_Инструменты",
|
||||
"MenuBarToolsInstallFirmware": "Установить прошивку",
|
||||
"MenuBarFileToolsInstallFirmwareFromFile": "Установить прошивку из XCI или ZIP",
|
||||
"MenuBarFileToolsInstallFirmwareFromDirectory": "Установить прошивку из каталога",
|
||||
"MenuBarFileToolsInstallFirmwareFromDirectory": "Установить прошивку из папки",
|
||||
"MenuBarToolsManageFileTypes": "Управление типами файлов",
|
||||
"MenuBarToolsInstallFileTypes": "Установить типы файлов",
|
||||
"MenuBarToolsUninstallFileTypes": "Удалить типы файлов",
|
||||
"MenuBarHelp": "Помощь",
|
||||
"MenuBarHelpCheckForUpdates": "Проверить обновление",
|
||||
"MenuBarHelpAbout": "О",
|
||||
"MenuBarHelpCheckForUpdates": "Проверка обновления",
|
||||
"MenuBarHelpAbout": "О программе",
|
||||
"MenuSearch": "Поиск...",
|
||||
"GameListHeaderFavorite": "Избранные",
|
||||
"GameListHeaderIcon": "Значок",
|
||||
|
@ -40,44 +44,54 @@
|
|||
"GameListHeaderFileExtension": "Расширение файла",
|
||||
"GameListHeaderFileSize": "Размер файла",
|
||||
"GameListHeaderPath": "Путь",
|
||||
"GameListContextMenuOpenUserSaveDirectory": "Открыть каталог сохранений пользователя",
|
||||
"GameListContextMenuOpenUserSaveDirectoryToolTip": "Открывает каталог, содержащий пользовательское сохранение приложения",
|
||||
"GameListContextMenuOpenDeviceSaveDirectory": "Открыть каталог пользовательских устройств",
|
||||
"GameListContextMenuOpenDeviceSaveDirectoryToolTip": "Открывает каталог, содержащий сохранение устройства приложения",
|
||||
"GameListContextMenuOpenBcatSaveDirectory": "Открыть каталог пользователей BCAT",
|
||||
"GameListContextMenuOpenBcatSaveDirectoryToolTip": "Открывает каталог, содержащий BCAT сохранения приложения.",
|
||||
"GameListContextMenuManageTitleUpdates": "Управление обновлениями заголовков",
|
||||
"GameListContextMenuOpenUserSaveDirectory": "Открыть папку сохранений пользователя",
|
||||
"GameListContextMenuOpenUserSaveDirectoryToolTip": "Открывает папку, содержащую пользовательские сохранения",
|
||||
"GameListContextMenuOpenDeviceSaveDirectory": "Открыть папку сохраненных устройств",
|
||||
"GameListContextMenuOpenDeviceSaveDirectoryToolTip": "Открывает папку, содержащую сохраненные устройства",
|
||||
"GameListContextMenuOpenBcatSaveDirectory": "Открыть папку сохраненных BCAT",
|
||||
"GameListContextMenuOpenBcatSaveDirectoryToolTip": "Открывает папку, содержащую сохраненные BCAT.",
|
||||
"GameListContextMenuManageTitleUpdates": "Управление обновлениями названий",
|
||||
"GameListContextMenuManageTitleUpdatesToolTip": "Открывает окно управления обновлением заголовков",
|
||||
"GameListContextMenuManageDlc": "Управление DLC",
|
||||
"GameListContextMenuManageDlcToolTip": "Открывает окно управления DLC",
|
||||
"GameListContextMenuOpenModsDirectory": "Открыть каталог модификаций",
|
||||
"GameListContextMenuOpenModsDirectoryToolTip": "Открывает каталог, содержащий модификации приложения",
|
||||
"GameListContextMenuOpenModsDirectory": "Открыть папку с модами",
|
||||
"GameListContextMenuOpenModsDirectoryToolTip": "Открывает папку, содержащую моды приложений и игр",
|
||||
"GameListContextMenuCacheManagement": "Управление кэшем",
|
||||
"GameListContextMenuCacheManagementPurgePptc": "Очистить кэш PPTC",
|
||||
"GameListContextMenuCacheManagementPurgePptcToolTip": "Удаляет кэш PPTC приложения",
|
||||
"GameListContextMenuCacheManagementPurgePptc": "Перестройка очереди PPTC",
|
||||
"GameListContextMenuCacheManagementPurgePptcToolTip": "Запускает перестройку PPTC во время запуска следующей игры.",
|
||||
"GameListContextMenuCacheManagementPurgeShaderCache": "Очистить кэш шейдеров",
|
||||
"GameListContextMenuCacheManagementPurgeShaderCacheToolTip": "Удаляет кеш шейдеров приложения",
|
||||
"GameListContextMenuCacheManagementOpenPptcDirectory": "Открыть PPTC каталог",
|
||||
"GameListContextMenuCacheManagementOpenPptcDirectoryToolTip": "Открывает каталог, содержащий PPTC кэш приложения",
|
||||
"GameListContextMenuCacheManagementOpenShaderCacheDirectory": "Открыть каталог кэша шейдеров",
|
||||
"GameListContextMenuCacheManagementOpenShaderCacheDirectoryToolTip": "Открывает каталог, содержащий кэш шейдеров приложения",
|
||||
"GameListContextMenuCacheManagementOpenPptcDirectory": "Открыть папку PPTC",
|
||||
"GameListContextMenuCacheManagementOpenPptcDirectoryToolTip": "Открывает папку, содержащую PPTC кэш приложений и игр",
|
||||
"GameListContextMenuCacheManagementOpenShaderCacheDirectory": "Открыть папку кэша шейдеров",
|
||||
"GameListContextMenuCacheManagementOpenShaderCacheDirectoryToolTip": "Открывает папку, содержащую кэш шейдеров приложений и игр",
|
||||
"GameListContextMenuExtractData": "Извлечь данные",
|
||||
"GameListContextMenuExtractDataExeFS": "ExeFS",
|
||||
"GameListContextMenuExtractDataExeFSToolTip": "Извлеrftn раздел ExeFS из текущей конфигурации приложения (включая обновления)",
|
||||
"GameListContextMenuExtractDataExeFSToolTip": "Извлечение раздела ExeFS из текущих настроек приложения (включая обновления)",
|
||||
"GameListContextMenuExtractDataRomFS": "RomFS",
|
||||
"GameListContextMenuExtractDataRomFSToolTip": "Извлекает раздел RomFS из текущей конфигурации приложения (включая обновления)",
|
||||
"GameListContextMenuExtractDataLogo": "Logo",
|
||||
"GameListContextMenuExtractDataLogoToolTip": "Извлекает раздел логотипа из текущей конфигурации приложения (включая обновления)",
|
||||
"GameListContextMenuExtractDataRomFSToolTip": "Извлечение раздела RomFS из текущих настроек приложения (включая обновления)",
|
||||
"GameListContextMenuExtractDataLogo": "Логотип",
|
||||
"GameListContextMenuExtractDataLogoToolTip": "Извлечение раздела с логотипом из текущих настроек приложения (включая обновления)",
|
||||
"StatusBarGamesLoaded": "{0}/{1} Игр загружено",
|
||||
"StatusBarSystemVersion": "Версия системы: {0}",
|
||||
"LinuxVmMaxMapCountDialogTitle": "Обнаружен низкий лимит разметки памяти",
|
||||
"LinuxVmMaxMapCountDialogTextPrimary": "Вы хотите увеличить значение vm.max_map_count до {0}",
|
||||
"LinuxVmMaxMapCountDialogTextSecondary": "Некоторые игры могут создавать большую разметку памяти, чем разрешено на данный момент по умолчанию. Ryujinx вылетит при превышении этого лимита.",
|
||||
"LinuxVmMaxMapCountDialogButtonUntilRestart": "Да, до следующего перезапуска",
|
||||
"LinuxVmMaxMapCountDialogButtonPersistent": "Да, постоянно",
|
||||
"LinuxVmMaxMapCountWarningTextPrimary": "Максимальная разметка памяти меньше, чем рекомендуется.",
|
||||
"LinuxVmMaxMapCountWarningTextSecondary": "Текущее значение vm.max_map_count ({0}) меньше, чем {1}. Некоторые игры могут попытаться создать большую разметку памяти, чем разрешено в данный момент. Ryujinx вылетит как только этот лимит будет превышен.\n\nВозможно, вы захотите вручную увеличить лимит или установить pkexec, что позволит Ryujinx помочь справиться с превышением лимита.",
|
||||
"Settings": "Параметры",
|
||||
"SettingsTabGeneral": "Пользовательский интерфейс",
|
||||
"SettingsTabGeneralGeneral": "Общее",
|
||||
"SettingsTabGeneralEnableDiscordRichPresence": "Включить расширенное присутствие Discord",
|
||||
"SettingsTabGeneralEnableDiscordRichPresence": "Включить Discord Rich Presence",
|
||||
"SettingsTabGeneralCheckUpdatesOnLaunch": "Проверять наличие обновлений при запуске",
|
||||
"SettingsTabGeneralShowConfirmExitDialog": "Показать диалоговое окно \"Подтвердить выход\"",
|
||||
"SettingsTabGeneralHideCursor": "Скрыть курсор",
|
||||
"SettingsTabGeneralHideCursorNever": "Никогда",
|
||||
"SettingsTabGeneralHideCursorOnIdle": "Скрыть курсор в режиме ожидания",
|
||||
"SettingsTabGeneralGameDirectories": "Каталоги игр",
|
||||
"SettingsTabGeneralHideCursorAlways": "Всегда",
|
||||
"SettingsTabGeneralGameDirectories": "Папки с играми",
|
||||
"SettingsTabGeneralAdd": "Добавить",
|
||||
"SettingsTabGeneralRemove": "Удалить",
|
||||
"SettingsTabSystem": "Система",
|
||||
|
@ -149,21 +163,22 @@
|
|||
"SettingsTabLogging": "Журналирование",
|
||||
"SettingsTabLoggingLogging": "Журналирование",
|
||||
"SettingsTabLoggingEnableLoggingToFile": "Включить запись в файл",
|
||||
"SettingsTabLoggingEnableStubLogs": "Включить журналы-заглушки",
|
||||
"SettingsTabLoggingEnableInfoLogs": "Включить информационные журналы",
|
||||
"SettingsTabLoggingEnableWarningLogs": "Включить журналы предупреждений",
|
||||
"SettingsTabLoggingEnableErrorLogs": "Включить журналы ошибок",
|
||||
"SettingsTabLoggingEnableStubLogs": "Включить журнал-заглушку",
|
||||
"SettingsTabLoggingEnableInfoLogs": "Включить информационный журнал",
|
||||
"SettingsTabLoggingEnableWarningLogs": "Включить журнал предупреждений",
|
||||
"SettingsTabLoggingEnableErrorLogs": "Включить журнал ошибок",
|
||||
"SettingsTabLoggingEnableTraceLogs": "Включить журнал трассировки",
|
||||
"SettingsTabLoggingEnableGuestLogs": "Включить гостевые журналы",
|
||||
"SettingsTabLoggingEnableFsAccessLogs": "Включить журналы доступа Fs",
|
||||
"SettingsTabLoggingFsGlobalAccessLogMode": "Режим журнала глобального доступа Fs:",
|
||||
"SettingsTabLoggingDeveloperOptions": "Параметры разработчика (ВНИМАНИЕ: снизит производительность)",
|
||||
"SettingsTabLoggingGraphicsBackendLogLevel": "Graphics Backend Log Level:",
|
||||
"SettingsTabLoggingEnableFsAccessLogs": "Включить журналы доступа файловой системы",
|
||||
"SettingsTabLoggingFsGlobalAccessLogMode": "Режим журнала глобального доступа файловой системы:",
|
||||
"SettingsTabLoggingDeveloperOptions": "Параметры разработчика",
|
||||
"SettingsTabLoggingDeveloperOptionsNote": "ВНИМАНИЕ: Снижает производительность",
|
||||
"SettingsTabLoggingGraphicsBackendLogLevel": "Уровень журнала бэкенда графики:",
|
||||
"SettingsTabLoggingGraphicsBackendLogLevelNone": "Ничего",
|
||||
"SettingsTabLoggingGraphicsBackendLogLevelError": "Ошибка",
|
||||
"SettingsTabLoggingGraphicsBackendLogLevelPerformance": "Замедления",
|
||||
"SettingsTabLoggingGraphicsBackendLogLevelAll": "Всё",
|
||||
"SettingsTabLoggingEnableDebugLogs": "Включить журналы отладки",
|
||||
"SettingsTabLoggingEnableDebugLogs": "Включить журнал отладки",
|
||||
"SettingsTabInput": "Управление",
|
||||
"SettingsTabInputEnableDockedMode": "Включить режим закрепления",
|
||||
"SettingsTabInputDirectKeyboardAccess": "Прямой доступ с клавиатуры",
|
||||
|
@ -187,7 +202,7 @@
|
|||
"ControllerSettingsDeviceDisabled": "Отключить",
|
||||
"ControllerSettingsControllerType": "Тип контроллера",
|
||||
"ControllerSettingsControllerTypeHandheld": "Портативный",
|
||||
"ControllerSettingsControllerTypeProController": "Pro Controller",
|
||||
"ControllerSettingsControllerTypeProController": "Pro Контроллер",
|
||||
"ControllerSettingsControllerTypeJoyConPair": "JoyCon Пара",
|
||||
"ControllerSettingsControllerTypeJoyConLeft": "JoyCon Левый",
|
||||
"ControllerSettingsControllerTypeJoyConRight": "JoyCon Правый",
|
||||
|
@ -204,30 +219,21 @@
|
|||
"ControllerSettingsButtonPlus": "+",
|
||||
"ControllerSettingsButtonMinus": "-",
|
||||
"ControllerSettingsDPad": "Направляющая панель",
|
||||
"ControllerSettingsDPadUp": "Верх",
|
||||
"ControllerSettingsDPadDown": "Низ",
|
||||
"ControllerSettingsDPadLeft": "Лево",
|
||||
"ControllerSettingsDPadRight": "Право",
|
||||
"ControllerSettingsDPadUp": "Вверх",
|
||||
"ControllerSettingsDPadDown": "Вниз",
|
||||
"ControllerSettingsDPadLeft": "Влево",
|
||||
"ControllerSettingsDPadRight": "Вправо",
|
||||
"ControllerSettingsStickButton": "Кнопка",
|
||||
"ControllerSettingsStickUp": "Вверх",
|
||||
"ControllerSettingsStickDown": "Вниз",
|
||||
"ControllerSettingsStickLeft": "Влево",
|
||||
"ControllerSettingsStickRight": "Вправо",
|
||||
"ControllerSettingsStickStick": "Стик",
|
||||
"ControllerSettingsStickInvertXAxis": "Инвертировать X ось",
|
||||
"ControllerSettingsStickInvertYAxis": "Инвертировать Y ось",
|
||||
"ControllerSettingsStickDeadzone": "Мёртвая зона:",
|
||||
"ControllerSettingsLStick": "Левый стик",
|
||||
"ControllerSettingsLStickButton": "Кнопки",
|
||||
"ControllerSettingsLStickUp": "Верх",
|
||||
"ControllerSettingsLStickDown": "Низ",
|
||||
"ControllerSettingsLStickLeft": "Лево",
|
||||
"ControllerSettingsLStickRight": "Право",
|
||||
"ControllerSettingsLStickStick": "Стик",
|
||||
"ControllerSettingsLStickInvertXAxis": "Перевернуть стик X",
|
||||
"ControllerSettingsLStickInvertYAxis": "Перевернуть стик Y",
|
||||
"ControllerSettingsLStickDeadzone": "Мёртвая зона:",
|
||||
"ControllerSettingsRStick": "Правый стик",
|
||||
"ControllerSettingsRStickButton": "Кнопки",
|
||||
"ControllerSettingsRStickUp": "Верх",
|
||||
"ControllerSettingsRStickDown": "Низ",
|
||||
"ControllerSettingsRStickLeft": "Лево",
|
||||
"ControllerSettingsRStickRight": "Право",
|
||||
"ControllerSettingsRStickStick": "Стик",
|
||||
"ControllerSettingsRStickInvertXAxis": "Перевернуть стик X",
|
||||
"ControllerSettingsRStickInvertYAxis": "Перевернуть стик Y",
|
||||
"ControllerSettingsRStickDeadzone": "Мёртвая зона:",
|
||||
"ControllerSettingsTriggersLeft": "Триггеры слева",
|
||||
"ControllerSettingsTriggersRight": "Триггеры справа",
|
||||
"ControllerSettingsTriggersButtonsLeft": "Триггерные кнопки слева",
|
||||
|
@ -241,7 +247,7 @@
|
|||
"ControllerSettingsLeftSR": "SR",
|
||||
"ControllerSettingsRightSL": "SL",
|
||||
"ControllerSettingsRightSR": "SR",
|
||||
"ControllerSettingsExtraButtonsLeft": "Левый кнопки",
|
||||
"ControllerSettingsExtraButtonsLeft": "Левые кнопки",
|
||||
"ControllerSettingsExtraButtonsRight": "Правые кнопки",
|
||||
"ControllerSettingsMisc": "Разное",
|
||||
"ControllerSettingsTriggerThreshold": "Порог срабатывания:",
|
||||
|
@ -262,18 +268,19 @@
|
|||
"UserProfilesAddNewProfile": "Добавить новый профиль",
|
||||
"UserProfilesDelete": "Удалить",
|
||||
"UserProfilesClose": "Закрыть",
|
||||
"ProfileNameSelectionWatermark": "Выберите псевдоним",
|
||||
"ProfileImageSelectionTitle": "Выбор изображения профиля",
|
||||
"ProfileImageSelectionHeader": "Выберите изображение профиля",
|
||||
"ProfileImageSelectionNote": "Вы можете импортировать собственное изображение профиля или выбрать аватар из системной прошивки.",
|
||||
"ProfileImageSelectionImportImage": "Импорт файла изображени",
|
||||
"ProfileImageSelectionImportImage": "Импорт файла изображения",
|
||||
"ProfileImageSelectionSelectAvatar": "Выберите аватар прошивки",
|
||||
"InputDialogTitle": "Диалоговое окно ввода",
|
||||
"InputDialogOk": "Да",
|
||||
"InputDialogCancel": "Закрыть",
|
||||
"InputDialogOk": "ОК",
|
||||
"InputDialogCancel": "Отмена",
|
||||
"InputDialogAddNewProfileTitle": "Выберите имя профиля",
|
||||
"InputDialogAddNewProfileHeader": "Пожалуйста, введите имя профиля",
|
||||
"InputDialogAddNewProfileSubtext": "(Максимальная длина: {0})",
|
||||
"AvatarChoose": "Выбор",
|
||||
"AvatarChoose": "Выбор аватара",
|
||||
"AvatarSetBackgroundColor": "Установить цвет фона",
|
||||
"AvatarClose": "Закрыть",
|
||||
"ControllerSettingsLoadProfileToolTip": "Загрузить профиль",
|
||||
|
@ -282,6 +289,7 @@
|
|||
"ControllerSettingsSaveProfileToolTip": "Сохранить профиль",
|
||||
"MenuBarFileToolsTakeScreenshot": "Сделать снимок экрана",
|
||||
"MenuBarFileToolsHideUi": "Скрыть UI",
|
||||
"GameListContextMenuRunApplication": "Запуск приложения",
|
||||
"GameListContextMenuToggleFavorite": "Переключить Избранное",
|
||||
"GameListContextMenuToggleFavoriteToolTip": "Переключить любимый статус игры",
|
||||
"SettingsTabGeneralTheme": "Тема",
|
||||
|
@ -296,7 +304,7 @@
|
|||
"ControllerSettingsRumbleStrongMultiplier": "Множитель сильной вибрации",
|
||||
"ControllerSettingsRumbleWeakMultiplier": "Множитель слабой вибрации",
|
||||
"DialogMessageSaveNotAvailableMessage": "Нет сохраненных данных для {0} [{1:x16}]",
|
||||
"DialogMessageSaveNotAvailableCreateSaveMessage": "Хотите создать данные сохранения для этой игры?",
|
||||
"DialogMessageSaveNotAvailableCreateSaveMessage": "Создать сохранение для этой игры?",
|
||||
"DialogConfirmationTitle": "Ryujinx - Подтверждение",
|
||||
"DialogUpdaterTitle": "Ryujinx - Обновление",
|
||||
"DialogErrorTitle": "Ryujinx - Ошибка",
|
||||
|
@ -316,7 +324,7 @@
|
|||
"DialogUpdaterConvertFailedMessage": "Не удалось преобразовать текущую версию Ryujinx.",
|
||||
"DialogUpdaterCancelUpdateMessage": "Отмена обновления!",
|
||||
"DialogUpdaterAlreadyOnLatestVersionMessage": "Вы уже используете самую последнюю версию Ryujinx!",
|
||||
"DialogUpdaterFailedToGetVersionMessage": "Произошла ошибка при попытке получить информацию о выпуске от GitHub Release. Это может быть вызвано, если GitHub Actions компилирует новый релиз. Попробуйте ещё раз через несколько минут.",
|
||||
"DialogUpdaterFailedToGetVersionMessage": "Произошла ошибка при попытке получить информацию о выпуске от GitHub Release. Это может быть вызвано тем, что в данный момент в GitHub Actions компилируется новый релиз. Повторите попытку позже.",
|
||||
"DialogUpdaterConvertFailedGithubMessage": "Не удалось преобразовать полученную версию Ryujinx из Github Release.",
|
||||
"DialogUpdaterDownloadingMessage": "Загрузка обновления...",
|
||||
"DialogUpdaterExtractionMessage": "Извлечение обновления...",
|
||||
|
@ -325,18 +333,22 @@
|
|||
"DialogUpdaterCompleteMessage": "Обновление завершено!",
|
||||
"DialogUpdaterRestartMessage": "Вы хотите перезапустить Ryujinx сейчас?",
|
||||
"DialogUpdaterArchNotSupportedMessage": "Вы используете не поддерживаемую системную архитектуру!",
|
||||
"DialogUpdaterArchNotSupportedSubMessage": "(Поддерживаются только системы x64!)",
|
||||
"DialogUpdaterNoInternetMessage": "Вы не подключены к Интернету!",
|
||||
"DialogUpdaterNoInternetSubMessage": "Убедитесь, что у вас есть работающее подключение к Интернету!",
|
||||
"DialogUpdaterDirtyBuildMessage": "Вы не можете обновить Dirty Build Ryujinx!",
|
||||
"DialogUpdaterDirtyBuildSubMessage": "Загрузите Ryujinx по адресу https://ryujinx.org/ , если вам нужна поддерживаемая версия.",
|
||||
"DialogUpdaterArchNotSupportedSubMessage": "(Поддерживаются только x64 системы)",
|
||||
"DialogUpdaterNoInternetMessage": "Вы не подключены к интернету!",
|
||||
"DialogUpdaterNoInternetSubMessage": "Убедитесь, что у вас есть работающее подключение к интернету!",
|
||||
"DialogUpdaterDirtyBuildMessage": "Вы не можете обновить Dirty Build!",
|
||||
"DialogUpdaterDirtyBuildSubMessage": "Загрузите Ryujinx по адресу https://ryujinx.org/ если вам нужна поддерживаемая версия.",
|
||||
"DialogRestartRequiredMessage": "Требуется перезагрузка",
|
||||
"DialogThemeRestartMessage": "Тема сохранена. Для применения темы требуется перезагрузка.",
|
||||
"DialogThemeRestartMessage": "Тема сохранена. Для применения темы требуется перезапуск.",
|
||||
"DialogThemeRestartSubMessage": "Вы хотите перезапустить?",
|
||||
"DialogFirmwareInstallEmbeddedMessage": "Хотите установить прошивку, встроенную в эту игру? (Прошивка {0})",
|
||||
"DialogFirmwareInstallEmbeddedSuccessMessage": "Установленная прошивка не найдена, но Ryujinx удалось установить прошивку {0} из предоставленной игры.\nЭмулятор запустится.",
|
||||
"DialogFirmwareInstallEmbeddedSuccessMessage": "Установленная прошивка не найдена, но Ryujinx удалось установить прошивку {0} из предоставленной игры.\nТеперь эмулятор запустится.",
|
||||
"DialogFirmwareNoFirmwareInstalledMessage": "Прошивка не установлена",
|
||||
"DialogFirmwareInstalledMessage": "Прошивка {0} была установлена",
|
||||
"DialogInstallFileTypesSuccessMessage": "Успешно установлены типы файлов!",
|
||||
"DialogInstallFileTypesErrorMessage": "Не удалось установить типы файлов.",
|
||||
"DialogUninstallFileTypesSuccessMessage": "Успешно удалены типы файлов!",
|
||||
"DialogUninstallFileTypesErrorMessage": "Не удалось удалить типы файлов.",
|
||||
"DialogOpenSettingsWindowLabel": "Открыть окно настроек",
|
||||
"DialogControllerAppletTitle": "Апплет контроллера",
|
||||
"DialogMessageDialogErrorExceptionMessage": "Ошибка отображения диалогового окна сообщений: {0}",
|
||||
|
@ -368,6 +380,9 @@
|
|||
"DialogFirmwareInstallerFirmwareInstallSuccessMessage": "Версия системы {0} успешно установлена.",
|
||||
"DialogUserProfileDeletionWarningMessage": "Если выбранный профиль будет удален, другие профили не будут открываться.",
|
||||
"DialogUserProfileDeletionConfirmMessage": "Вы хотите удалить выбранный профиль",
|
||||
"DialogUserProfileUnsavedChangesTitle": "Внимание - Несохраненные изменения",
|
||||
"DialogUserProfileUnsavedChangesMessage": "Вы внесли изменения в этот профиль пользователя которые не были сохранены.",
|
||||
"DialogUserProfileUnsavedChangesSubMessage": "Вы хотите отменить изменения?",
|
||||
"DialogControllerSettingsModifiedConfirmMessage": "Текущие настройки контроллера обновлены.",
|
||||
"DialogControllerSettingsModifiedConfirmSubMessage": "Вы хотите сохранить?",
|
||||
"DialogLoadNcaErrorMessage": "{0}. Файл с ошибкой: {1}",
|
||||
|
@ -416,6 +431,7 @@
|
|||
"DlcManagerEnableAllButton": "Включить все",
|
||||
"DlcManagerDisableAllButton": "Отключить все",
|
||||
"MenuBarOptionsChangeLanguage": "Изменить язык",
|
||||
"MenuBarShowFileTypes": "Показать типы файлов",
|
||||
"CommonSort": "Сортировать",
|
||||
"CommonShowNames": "Показать названия",
|
||||
"CommonFavorite": "Избранные",
|
||||
|
@ -423,68 +439,69 @@
|
|||
"OrderDescending": "По убыванию",
|
||||
"SettingsTabGraphicsFeatures": "Функции",
|
||||
"ErrorWindowTitle": "Окно ошибки",
|
||||
"ToggleDiscordTooltip": "Включает или отключает Discord Rich Presenc",
|
||||
"AddGameDirBoxTooltip": "Введите каталог игры, чтобы добавить его в список",
|
||||
"ToggleDiscordTooltip": "Включает или отключает отображение в Discord статуса \"Сейчас играет\"",
|
||||
"AddGameDirBoxTooltip": "Введите папку игры для добавления в список",
|
||||
"AddGameDirTooltip": "AДобавить папку с игрой в список",
|
||||
"RemoveGameDirTooltip": "Удалить выбранный каталог игры",
|
||||
"RemoveGameDirTooltip": "Удалить выбранную папку игры",
|
||||
"CustomThemeCheckTooltip": "Включить или отключить пользовательские темы в графическом интерфейсе",
|
||||
"CustomThemePathTooltip": "Путь к пользовательской теме графического интерфейса",
|
||||
"CustomThemeBrowseTooltip": "Обзор пользовательской темы графического интерфейса",
|
||||
"DockModeToggleTooltip": "Включить или отключить режим закрепления",
|
||||
"CustomThemePathTooltip": "Путь к пользовательской теме интерфейса",
|
||||
"CustomThemeBrowseTooltip": "Просмотр пользовательской темы интерфейса",
|
||||
"DockModeToggleTooltip": "\"Стационарный\" режим запускает эмулятор, как если бы Nintendo Switch находилась в доке, что улучшает графику и разрешение в большинстве игр. И наоборот, при отключении этого режима эмулятор будет запускать игры в \"Портативном\" режиме, снижая качество графики.\n\nНастройте управление для Игрока 1 если планируете использовать в \"Стационарном\" режиме; настройте портативное управление если планируете использовать эмулятор в \"Портативном\" режиме.\n\nОставьте включенным если не уверены.",
|
||||
"DirectKeyboardTooltip": "Включить или отключить «поддержку прямого доступа к клавиатуре (HID)» (предоставляет играм доступ к клавиатуре как к устройству ввода текста)",
|
||||
"DirectMouseTooltip": "Включить или отключить «поддержку прямого доступа к мыши (HID)» (предоставляет играм доступ к вашей мыши как указывающему устройству)",
|
||||
"RegionTooltip": "Изменяет регион системы",
|
||||
"LanguageTooltip": "Изменяет язык системы",
|
||||
"TimezoneTooltip": "Изменяет часовой пояс системы",
|
||||
"TimeTooltip": "Изменяет системное время",
|
||||
"VSyncToggleTooltip": "Включает или отключает Вертикальную Синхронизацию",
|
||||
"PptcToggleTooltip": "Включает или отключает PPTC",
|
||||
"FsIntegrityToggleTooltip": "Включает проверку целостности файлов содержимого игры.",
|
||||
"AudioBackendTooltip": "Изменяет аудио-бэкэнд",
|
||||
"MemoryManagerTooltip": "Изменяет способ отображения и доступа к гостевой памяти. Сильно влияет на производительность эмулируемого процессора.",
|
||||
"MemoryManagerSoftwareTooltip": "Использует таблицу страниц программного обеспечения для преобразования адресов. Самая высокая точность, но самая медленная производительность.",
|
||||
"MemoryManagerHostTooltip": "Непосредственное отображение памяти в адресном пространстве хоста. Значительно более быстрая JIT-компиляция и выполнение.",
|
||||
"MemoryManagerUnsafeTooltip": "Напрямую сопоставляет память, но не маскируйте адрес в гостевом адресном пространстве перед доступом. Быстрее, но ценой безопасности. Гостевое приложение может получить доступ к памяти из любой точки Ryujinx, поэтому в этом режиме запускайте только те программы, которым вы доверяете.",
|
||||
"DRamTooltip": "Увеличивает объем памяти в эмулируемой системе с 4 ГБ до 6 ГБ.",
|
||||
"IgnoreMissingServicesTooltip": "Включает или отключает параметр игнорирования отсутствующих служб",
|
||||
"GraphicsBackendThreadingTooltip": "Включает многопоточность графического бэкенда",
|
||||
"GalThreadingTooltip": "Выполняет команды графического бэкэнда во втором потоке. Обеспечивает многопоточность компиляции шейдеров во время выполнения, уменьшает заикание и повышает производительность драйверов без собственной поддержки многопоточности. Немного различается пиковая производительность на драйверах с многопоточностью. Ryujinx может потребоваться перезапустить, чтобы правильно отключить встроенную многопоточность драйвера, или вам может потребоваться сделать это вручную, чтобы получить максимальную производительность.",
|
||||
"ShaderCacheToggleTooltip": "Включает или отключает кэш шейдеров",
|
||||
"ResolutionScaleTooltip": "Масштаб разрешения, применяемый к применимым целям рендеринга",
|
||||
"ResolutionScaleEntryTooltip": "Шкала разрешения с плавающей запятой, например 1,5. Неинтегральные весы с большей вероятностью вызовут проблемы или сбои.",
|
||||
"AnisotropyTooltip": "Уровень анизотропной фильтрации (установите значение «Авто», чтобы использовать значение, запрошенное игрой)",
|
||||
"AspectRatioTooltip": "Соотношение сторон, применяемое к окну рендерера.",
|
||||
"RegionTooltip": "Изменение региона системы",
|
||||
"LanguageTooltip": "Изменение языка системы",
|
||||
"TimezoneTooltip": "Изменение часового пояса системы",
|
||||
"TimeTooltip": "Изменение системного времени",
|
||||
"VSyncToggleTooltip": "Эмуляция вертикальной синхронизации консоли, которая ограничивает количество кадров в секунду в большинстве игр; отключение может привести к тому, что игры будут запущены с более высокой частотой кадров, но загрузка игры может занять больше времени, либо игра не запустится вообще.\n\nМожно включать и выключать эту настройку непосредственно в игре с помощью горячих клавиш. Если планируете отключить вериткальную синхронизацию, мы рекомендуем настроить горячие клавиши.\n\nРекомендуется оставить включенным.",
|
||||
"PptcToggleTooltip": "Сохранение преобразованных JIT-функций таким образом, чтобы их не нужно преобразовывать по новой каждый раз при загрузке игры.\n\nУменьшает статтеры и значительно ускоряет последующую загрузку игр.\n\nРекомендуется оставить включенным.",
|
||||
"FsIntegrityToggleTooltip": "Проверяет поврежденные файлы при загрузке игры и если поврежденные файлы обнаружены, отображает ошибку о поврежденном хэше в журнале.\n\nНе влияет на производительность и необходим для содействия в устранении неполадок.\n\nРекомендуется оставить включенным.",
|
||||
"AudioBackendTooltip": "Изменяет используемый аудио-бэкенд для рендера звука.\n\nSDL2 является предпочтительным, в то время как OpenAL и SoundIO используются в качестве резервных. При выборе \"Заглушки\" звук будет отсутствовать.\n\nРекомендуется использование SDL2.",
|
||||
"MemoryManagerTooltip": "Изменение разметки и доступа к гостевой памяти. Значительно влияет на производительность процессора.\n\nРекомендуется оставить \"Хост не установлен\"",
|
||||
"MemoryManagerSoftwareTooltip": "Использует таблицу страниц для преобразования адресов. Самая высокая точность, но самая низкая производительность.",
|
||||
"MemoryManagerHostTooltip": "Прямая разметка памяти в адресном пространстве хоста. Значительно более быстрая JIT-компиляция и запуск.",
|
||||
"MemoryManagerUnsafeTooltip": "Производит прямую разметку памяти, но не маскирует адрес в гостевом адресном пространстве перед получением доступа. Быстрее, но менее безопасно. Гостевое приложение может получить доступ к памяти из любой точки Ryujinx, поэтому в этом режиме рекомендуется запускать только те программы, которым вы доверяете.",
|
||||
"UseHypervisorTooltip": "Использует Гипервизор вместо JIT. Значительно увеличивает производительность, но может быть работать нестабильно.",
|
||||
"DRamTooltip": "Использует альтернативный макет MemoryMode для имитации использования Nintendo Switch для разработчика.\n\nПолезно только для пакетов текстур с высоким разрешением или модов добавляющих разрешение 4К. Не улучшает производительность.\n\nРекомендуется оставить выключенным.",
|
||||
"IgnoreMissingServicesTooltip": "Игнорирует нереализованные сервисы Horizon OS. Это поможет избежать вылеты при загрузке определенных игр.\n\nРекомендуется оставить выключенным.",
|
||||
"GraphicsBackendThreadingTooltip": "Выполняет команды графического бэкенда на втором потоке.\n\nУскоряет компиляцию шейдеров, уменьшает статтеры и повышает производительность на драйверах GPU без поддержки многопоточности. Производительность на драйверах с многопоточностью немного выше.\n\nРекомендуется оставить в Авто.",
|
||||
"GalThreadingTooltip": "Выполняет команды графического бэкенда на во втором потоке.\n\nУскоряет компиляцию шейдеров, уменьшает статтеры и повышает производительность на драйверах GPU без поддержки многопоточности. Производительность на драйверах с многопоточностью немного выше.\n\nРекомендуется оставить в Авто.",
|
||||
"ShaderCacheToggleTooltip": "Сохраняет кэш шейдеров на диске, который уменьшает статтеры при последующих запусках.\n\nРекомендуется оставить включенным.",
|
||||
"ResolutionScaleTooltip": "Масштабирование разрешения",
|
||||
"ResolutionScaleEntryTooltip": "Масштабирование разрешения с плавающей запятой, например 1,5. Неинтегральное масштабирование с большой вероятностью вызовет сбои в работе.",
|
||||
"AnisotropyTooltip": "Уровень анизотропной фильтрации (установите значение «Авто», чтобы использовать значение в игре по умолчанию)",
|
||||
"AspectRatioTooltip": "Соотношение сторон, применяемое к окну.",
|
||||
"ShaderDumpPathTooltip": "Путь дампа графических шейдеров",
|
||||
"FileLogTooltip": "Включает или отключает ведение журнала в файл на диске",
|
||||
"StubLogTooltip": "Включает печать сообщений журнала-заглушки",
|
||||
"InfoLogTooltip": "Включает печать сообщений информационного журнала",
|
||||
"WarnLogTooltip": "Включает печать сообщений журнала предупреждений",
|
||||
"ErrorLogTooltip": "Включает печать сообщений журнала ошибок",
|
||||
"FileLogTooltip": "Включает или отключает ведение журнала в файл на диске. Не влияет на производительность.",
|
||||
"StubLogTooltip": "Включает ведение журнала-заглушки. Не влияет на производительность.",
|
||||
"InfoLogTooltip": "Включает печать сообщений информационного журнала. Не влияет на производительность.",
|
||||
"WarnLogTooltip": "Включает печать сообщений журнала предупреждений. Не влияет на производительность.",
|
||||
"ErrorLogTooltip": "Включает печать сообщений журнала ошибок. Не влияет на производительность.",
|
||||
"TraceLogTooltip": "Выводит сообщения журнала трассировки в консоли. Не влияет на производительность.",
|
||||
"GuestLogTooltip": "Включает печать сообщений гостевого журнала",
|
||||
"GuestLogTooltip": "Включает печать сообщений гостевого журнала. Не влияет на производительность.",
|
||||
"FileAccessLogTooltip": "Включает печать сообщений журнала доступа к файлам",
|
||||
"FSAccessLogModeTooltip": "Включает вывод журнала доступа к FS на консоль. Возможные режимы 0-3",
|
||||
"FSAccessLogModeTooltip": "Включает вывод журнала доступа к файловой системе. Возможные режимы: 0-3",
|
||||
"DeveloperOptionTooltip": "Используйте с осторожностью",
|
||||
"OpenGlLogLevel": "Требует включения соответствующих уровней ведения журнала",
|
||||
"DebugLogTooltip": "Включает печать сообщений журнала отладки",
|
||||
"LoadApplicationFileTooltip": "Загружает средство выбора файлов, чтобы выбрать файл, совместимый с Switch, для загрузки",
|
||||
"LoadApplicationFolderTooltip": "Загружает средство выбора файлов, чтобы выбрать распакованное приложение, совместимое с Switch, для загрузки",
|
||||
"DebugLogTooltip": "Выводит журнал сообщений отладки в консоли.\n\nИспользуйте только в случае просьбы разработчика, так как включение этой функции затруднит чтение журналов и ухудшит работу эмулятора.",
|
||||
"LoadApplicationFileTooltip": "Открыть файловый менеджер для выбора файла, совместимого с Nintendo Switch.",
|
||||
"LoadApplicationFolderTooltip": "Открыть файловый менеджер для выбора распакованного приложения, совместимого с Nintendo Switch.",
|
||||
"OpenRyujinxFolderTooltip": "Открывает папку файловой системы Ryujinx. ",
|
||||
"OpenRyujinxLogsTooltip": "Открывает папку, в которую записываются журналы",
|
||||
"ExitTooltip": "Выходит из Ryujinx",
|
||||
"OpenSettingsTooltip": "Открывает окно настроек",
|
||||
"OpenProfileManagerTooltip": "Открывает окно диспетчера профилей пользователей",
|
||||
"StopEmulationTooltip": "Останавливает эмуляцию текущей игры и вовращение к выбору игры",
|
||||
"CheckUpdatesTooltip": "Проверяет наличие обновлений Ryujinx",
|
||||
"OpenAboutTooltip": "Открывает окно «О программе»",
|
||||
"ExitTooltip": "Выйти из Ryujinx",
|
||||
"OpenSettingsTooltip": "Открыть окно настроек",
|
||||
"OpenProfileManagerTooltip": "Открыть диспетчер профилей",
|
||||
"StopEmulationTooltip": "Остановка эмуляции текущей игры и возврат к списку игр",
|
||||
"CheckUpdatesTooltip": "Проверка наличия обновления Ryujinx",
|
||||
"OpenAboutTooltip": "Открыть окно «О программе»",
|
||||
"GridSize": "Размер сетки",
|
||||
"GridSizeTooltip": "Изменение размера элементов сетки",
|
||||
"SettingsTabSystemSystemLanguageBrazilianPortuguese": "Португальский язык (Бразилия)",
|
||||
"AboutRyujinxContributorsButtonHeader": "Посмотреть всех участников",
|
||||
"SettingsTabSystemAudioVolume": "Громкость: ",
|
||||
"AudioVolumeTooltip": "Изменяет громкость звука",
|
||||
"SettingsTabSystemEnableInternetAccess": "Включить гостевой доступ в Интернет",
|
||||
"EnableInternetAccessTooltip": "Включает гостевой доступ в Интернет. Если этот параметр включен, приложение будет вести себя так, как если бы эмулированная консоль Switch была подключена к Интернету. Обратите внимание, что в некоторых случаях приложения могут по-прежнему получать доступ к Интернету, даже если эта опция отключена.",
|
||||
"SettingsTabSystemEnableInternetAccess": "Включить гостевой доступ в Интернет/сетевой режим",
|
||||
"EnableInternetAccessTooltip": "Позволяет эмулированному приложению подключаться к Интернету.\n\nПри включении этой функции игры с возможностью сетевой игры могут подключаться друг к другу, если все эмуляторы (или реальные консоли) подключены к одной и той же точке доступа.\n\nНЕ разрешает подключение к серверам Nintendo. Может вызвать сбой в некоторых играх, которые пытаются подключиться к Интернету.\n\nРекомендутеся оставить выключенным.",
|
||||
"GameListContextMenuManageCheatToolTip": "Управление читами",
|
||||
"GameListContextMenuManageCheat": "Управление читами",
|
||||
"ControllerSettingsStickRange": "Диапазон:",
|
||||
|
@ -497,118 +514,143 @@
|
|||
"SettingsTabCpuCache": "Кэш ЦП",
|
||||
"SettingsTabCpuMemory": "Память ЦП",
|
||||
"DialogUpdaterFlatpakNotSupportedMessage": "Пожалуйста, обновите Ryujinx через FlatHub.",
|
||||
"UpdaterDisabledWarningTitle": "Updater Disabled!",
|
||||
"GameListContextMenuOpenSdModsDirectory": "Open Atmosphere Mods Directory",
|
||||
"GameListContextMenuOpenSdModsDirectoryToolTip": "Opens the alternative SD card Atmosphere directory which contains Application's Mods. Useful for mods that are packaged for real hardware.",
|
||||
"ControllerSettingsRotate90": "Rotate 90° Clockwise",
|
||||
"IconSize": "Icon Size",
|
||||
"IconSizeTooltip": "Change the size of game icons",
|
||||
"MenuBarOptionsShowConsole": "Открыть консоль",
|
||||
"ShaderCachePurgeError": "Error purging shader cache at {0}: {1}",
|
||||
"UserErrorNoKeys": "Keys not found",
|
||||
"UpdaterDisabledWarningTitle": "Обновление выключено!",
|
||||
"GameListContextMenuOpenSdModsDirectory": "Открыть папку с модами Atmosphere",
|
||||
"GameListContextMenuOpenSdModsDirectoryToolTip": "Открывает альтернативную папку SD-карты Atmosphere, которая содержит моды для приложений и игр. Полезно для модов, сделанных для реальной консоли.",
|
||||
"ControllerSettingsRotate90": "Повернуть на 90° по часовой стрелке",
|
||||
"IconSize": "Размер иконки",
|
||||
"IconSizeTooltip": "Изменить размер игровых иконок",
|
||||
"MenuBarOptionsShowConsole": "Показать консоль",
|
||||
"ShaderCachePurgeError": "Ошибка очистки кэша шейдеров в {0}: {1}",
|
||||
"UserErrorNoKeys": "Ключи не найдены",
|
||||
"UserErrorNoFirmware": "Прошивка не найдена",
|
||||
"UserErrorFirmwareParsingFailed": "Firmware parsing error",
|
||||
"UserErrorFirmwareParsingFailed": "Ошибка извлечения прошивки",
|
||||
"UserErrorApplicationNotFound": "Приложение не найдено",
|
||||
"UserErrorUnknown": "Неизвестная ошибка",
|
||||
"UserErrorUndefined": "Неопределенная ошибка",
|
||||
"UserErrorNoKeysDescription": "Ryujinx was unable to find your 'prod.keys' file",
|
||||
"UserErrorNoFirmwareDescription": "Ryujinx was unable to find any firmwares installed",
|
||||
"UserErrorFirmwareParsingFailedDescription": "Ryujinx was unable to parse the provided firmware. This is usually caused by outdated keys.",
|
||||
"UserErrorApplicationNotFoundDescription": "Ryujinx couldn't find a valid application at the given path.",
|
||||
"UserErrorNoKeysDescription": "Ryujinx не удалось найти ваш 'prod.keys' файл",
|
||||
"UserErrorNoFirmwareDescription": "Ryujinx не удалось найти ни одной установленной прошивки",
|
||||
"UserErrorFirmwareParsingFailedDescription": "Ryujinx не удалось распаковать выбранную прошивку. Обычно это вызвано устаревшими ключами.",
|
||||
"UserErrorApplicationNotFoundDescription": "Ryujinx не удалось найти действительное приложение по указанному пути.",
|
||||
"UserErrorUnknownDescription": "Произошла неизвестная ошибка!",
|
||||
"UserErrorUndefinedDescription": "Произошла неизвестная ошибка! Такого не должно происходить. Пожалуйста, свяжитесь с разработчиками!",
|
||||
"OpenSetupGuideMessage": "Open the Setup Guide",
|
||||
"NoUpdate": "No Update",
|
||||
"OpenSetupGuideMessage": "Открыть руководство по установке",
|
||||
"NoUpdate": "Нет обновлений",
|
||||
"TitleUpdateVersionLabel": "Version {0} - {1}",
|
||||
"RyujinxInfo": "Ryujinx - Info",
|
||||
"RyujinxConfirm": "Ryujinx - Confirmation",
|
||||
"RyujinxInfo": "Ryujinx - Информация",
|
||||
"RyujinxConfirm": "Ryujinx - Подтверждение",
|
||||
"FileDialogAllTypes": "Все типы",
|
||||
"Never": "Никогда",
|
||||
"SwkbdMinCharacters": "Must be at least {0} characters long",
|
||||
"SwkbdMinRangeCharacters": "Must be {0}-{1} characters long",
|
||||
"SoftwareKeyboard": "Software Keyboard",
|
||||
"DialogControllerAppletMessagePlayerRange": "Application requests {0} player(s) with:\n\nTYPES: {1}\n\nPLAYERS: {2}\n\n{3}Please open Settings and reconfigure Input now or press Close.",
|
||||
"DialogControllerAppletMessage": "Application requests exactly {0} player(s) with:\n\nTYPES: {1}\n\nPLAYERS: {2}\n\n{3}Please open Settings and reconfigure Input now or press Close.",
|
||||
"DialogControllerAppletDockModeSet": "Docked mode set. Handheld is also invalid.\n\n",
|
||||
"SwkbdMinCharacters": "Должно быть не менее {0} символов.",
|
||||
"SwkbdMinRangeCharacters": "Должно быть {0}-{1} символов",
|
||||
"SoftwareKeyboard": "Программная клавиатура",
|
||||
"SoftwareKeyboardModeNumbersOnly": "Должны быть только цифры",
|
||||
"SoftwareKeyboardModeAlphabet": "Не должно быть CJK-символов",
|
||||
"SoftwareKeyboardModeASCII": "Текст должен быть только в ASCII кодировке",
|
||||
"DialogControllerAppletMessagePlayerRange": "Приложение запрашивает {0} игроков с:\n\nТИПЫ: {1}\n\nИГРОКИ: {2}\n\n{3}Пожалуйста, откройте \"Настройки\" и перенастройте сейчас или нажмите \"Закрыть\".",
|
||||
"DialogControllerAppletMessage": "Приложение запрашивает ровно {0} игроков с:\n\nТИПЫ: {1}\n\nИГРОКИ: {2}\n\n{3}Пожалуйста, откройте \"Настройки\" и перенастройте Ввод или нажмите \"Закрыть\".",
|
||||
"DialogControllerAppletDockModeSet": "Установлен стационарный режим. Портативный режим недоступен.",
|
||||
"UpdaterRenaming": "Переименование старых файлов...",
|
||||
"UpdaterRenameFailed": "Updater was unable to rename file: {0}",
|
||||
"UpdaterRenameFailed": "Программе обновления не удалось переименовать файл: {0}",
|
||||
"UpdaterAddingFiles": "Добавление новых файлов...",
|
||||
"UpdaterExtracting": "Извлечение обновления...",
|
||||
"UpdaterDownloading": "Загрузка обновления...",
|
||||
"Game": "Игра",
|
||||
"Docked": "Docked",
|
||||
"Handheld": "Handheld",
|
||||
"ConnectionError": "Connection Error.",
|
||||
"AboutPageDeveloperListMore": "{0} and more...",
|
||||
"Docked": "Стационарный режим",
|
||||
"Handheld": "Портативный режим",
|
||||
"ConnectionError": "Ошибка соединения!",
|
||||
"AboutPageDeveloperListMore": "{0} и больше...",
|
||||
"ApiError": "Ошибка API.",
|
||||
"LoadingHeading": "Loading {0}",
|
||||
"CompilingPPTC": "Compiling PTC",
|
||||
"CompilingShaders": "Компилируем шейдеры",
|
||||
"LoadingHeading": "Загрузка {0}",
|
||||
"CompilingPPTC": "Компиляция PTC",
|
||||
"CompilingShaders": "Компиляция шейдеров",
|
||||
"AllKeyboards": "Все клавиатуры",
|
||||
"OpenFileDialogTitle": "Select a supported file to open",
|
||||
"OpenFolderDialogTitle": "Select a folder with an unpacked game",
|
||||
"OpenFileDialogTitle": "Выберите совместимый файл для открытия",
|
||||
"OpenFolderDialogTitle": "Выберите папку с распакованной игрой",
|
||||
"AllSupportedFormats": "Все поддерживаемые форматы",
|
||||
"RyujinxUpdater": "Ryujinx Updater",
|
||||
"SettingsTabHotkeys": "Keyboard Hotkeys",
|
||||
"SettingsTabHotkeysHotkeys": "Keyboard Hotkeys",
|
||||
"SettingsTabHotkeysToggleVsyncHotkey": "Toggle VSync:",
|
||||
"RyujinxUpdater": "Ryujinx - Обновление",
|
||||
"SettingsTabHotkeys": "Горячие клавиши",
|
||||
"SettingsTabHotkeysHotkeys": "Горячие клавиши",
|
||||
"SettingsTabHotkeysToggleVsyncHotkey": "Переключить VSync:",
|
||||
"SettingsTabHotkeysScreenshotHotkey": "Скриншот:",
|
||||
"SettingsTabHotkeysShowUiHotkey": "Показать UI:",
|
||||
"SettingsTabHotkeysPauseHotkey": "Pause:",
|
||||
"SettingsTabHotkeysToggleMuteHotkey": "Mute:",
|
||||
"ControllerMotionTitle": "Motion Control Settings",
|
||||
"ControllerRumbleTitle": "Rumble Settings",
|
||||
"SettingsSelectThemeFileDialogTitle": "Select Theme File",
|
||||
"SettingsXamlThemeFile": "Xaml Theme File",
|
||||
"AvatarWindowTitle": "Manage Accounts - Avatar",
|
||||
"SettingsTabHotkeysPauseHotkey": "Пауза:",
|
||||
"SettingsTabHotkeysToggleMuteHotkey": "Приглушить:",
|
||||
"ControllerMotionTitle": "Настройки управления движением",
|
||||
"ControllerRumbleTitle": "Настройки вибрации",
|
||||
"SettingsSelectThemeFileDialogTitle": "Выбрать файл темы",
|
||||
"SettingsXamlThemeFile": "Файл темы Xaml",
|
||||
"AvatarWindowTitle": "Управление аккаунтами - Аватар",
|
||||
"Amiibo": "Amiibo",
|
||||
"Unknown": "Unknown",
|
||||
"Usage": "Usage",
|
||||
"Writable": "Writable",
|
||||
"Unknown": "Неизвестно",
|
||||
"Usage": "Применение",
|
||||
"Writable": "Доступно для записи",
|
||||
"SelectDlcDialogTitle": "Выберите файлы DLC",
|
||||
"SelectUpdateDialogTitle": "Выберите файлы обновления",
|
||||
"UserProfileWindowTitle": "User Profiles Manager",
|
||||
"CheatWindowTitle": "Cheats Manager",
|
||||
"DlcWindowTitle": "Downloadable Content Manager",
|
||||
"UpdateWindowTitle": "Title Update Manager",
|
||||
"CheatWindowHeading": "Cheats Available for {0} [{1}]",
|
||||
"DlcWindowHeading": "{0} Downloadable Content(s) available for {1} ({2})",
|
||||
"UserProfilesEditProfile": "Edit Selected",
|
||||
"Cancel": "Cancel",
|
||||
"UserProfileWindowTitle": "Менеджер профилей пользователей",
|
||||
"CheatWindowTitle": "Менеджер читов",
|
||||
"DlcWindowTitle": "Управление загружаемым контентом для {0} ({1})",
|
||||
"UpdateWindowTitle": "Менеджер обновления названий",
|
||||
"CheatWindowHeading": "Читы доступны для {0} [{1}]",
|
||||
"BuildId": "ID версии:",
|
||||
"DlcWindowHeading": "{0} Загружаемый контент",
|
||||
"UserProfilesEditProfile": "Изменить выбранные",
|
||||
"Cancel": "Отмена",
|
||||
"Save": "Сохранить",
|
||||
"Discard": "Discard",
|
||||
"UserProfilesSetProfileImage": "Set Profile Image",
|
||||
"UserProfileEmptyNameError": "Name is required",
|
||||
"UserProfileNoImageError": "Profile image must be set",
|
||||
"GameUpdateWindowHeading": "{0} Update(s) available for {1} ({2})",
|
||||
"Discard": "Отменить",
|
||||
"UserProfilesSetProfileImage": "Установить изображение профиля",
|
||||
"UserProfileEmptyNameError": "Имя обязательно",
|
||||
"UserProfileNoImageError": "Изображение профиля должно быть установлено",
|
||||
"GameUpdateWindowHeading": "Обновление доступно для {0} ({1})",
|
||||
"SettingsTabHotkeysResScaleUpHotkey": "Увеличить разрешение:",
|
||||
"SettingsTabHotkeysResScaleDownHotkey": "Уменьшить разрешение:",
|
||||
"UserProfilesName": "Name:",
|
||||
"UserProfilesUserId": "User Id:",
|
||||
"SettingsTabGraphicsBackend": "Graphics Backend",
|
||||
"SettingsTabGraphicsBackendTooltip": "Graphics Backend to use",
|
||||
"UserProfilesName": "Имя:",
|
||||
"UserProfilesUserId": "ID пользователя:",
|
||||
"SettingsTabGraphicsBackend": "Бэкенд графики",
|
||||
"SettingsTabGraphicsBackendTooltip": "Использовать графический бэкенд",
|
||||
"SettingsEnableTextureRecompression": "Включить пережатие текстур",
|
||||
"SettingsEnableTextureRecompressionTooltip": "Сжимает некоторые текстуры для уменьшения использования видеопамяти.\n\nРекомендуется для ГП с 4 ГиБ видеопамяти и менее.\n\nЕсли не уверены, оставьте ВЫКЛ.",
|
||||
"SettingsTabGraphicsPreferredGpu": "Preferred GPU",
|
||||
"SettingsTabGraphicsPreferredGpuTooltip": "Select the graphics card that will be used with the Vulkan graphics backend.\n\nDoes not affect the GPU that OpenGL will use.\n\nSet to the GPU flagged as \"dGPU\" if unsure. If there isn't one, leave untouched.",
|
||||
"SettingsAppRequiredRestartMessage": "Ryujinx Restart Required",
|
||||
"SettingsGpuBackendRestartMessage": "Graphics Backend or GPU settings have been modified. This will require a restart to be applied",
|
||||
"SettingsGpuBackendRestartSubMessage": "Do you want to restart now?",
|
||||
"SettingsEnableTextureRecompressionTooltip": "Сжимает некоторые текстуры для уменьшения использования видеопамяти.\n\nРекомендуется для GPU с 4 гб видеопамяти и менее.\n\nРекомендуется оставить выключенным.",
|
||||
"SettingsTabGraphicsPreferredGpu": "Предпочтительный GPU",
|
||||
"SettingsTabGraphicsPreferredGpuTooltip": "Выберите видеокарту, которая будет использоваться с графическим бэкендом Vulkan.\n\nНе влияет на GPU, который будет использовать OpenGL.\n\nУстановите графический процессор, помеченный как \"dGPU\", если вы не уверены. Если его нет, оставьте нетронутым.",
|
||||
"SettingsAppRequiredRestartMessage": "Требуется перезапуск Ryujinx",
|
||||
"SettingsGpuBackendRestartMessage": "Графический бэкенд или настройки графического процессора были изменены. Требуется перезапуск для вступления в силу изменений.",
|
||||
"SettingsGpuBackendRestartSubMessage": "Перезапустить сейчас?",
|
||||
"RyujinxUpdaterMessage": "Вы хотите обновить Ryujinx до последней версии?",
|
||||
"SettingsTabHotkeysVolumeUpHotkey": "Увеличить громкость:",
|
||||
"SettingsTabHotkeysVolumeDownHotkey": "Уменьшить громкость:",
|
||||
"SettingsEnableMacroHLE": "Enable Macro HLE",
|
||||
"SettingsEnableMacroHLETooltip": "High-level emulation of GPU Macro code.\n\nImproves performance, but may cause graphical glitches in some games.\n\nLeave ON if unsure.",
|
||||
"VolumeShort": "Vol",
|
||||
"UserProfilesManageSaves": "Manage Saves",
|
||||
"DeleteUserSave": "Do you want to delete user save for this game?",
|
||||
"SettingsEnableMacroHLE": "Включить Macro HLE",
|
||||
"SettingsEnableMacroHLETooltip": "Высокоуровневая эмуляции макроса GPU.\n\nПовышает производительность, но может вызывать графические сбои в некоторых играх.\n\nРекомендуется оставить включенным.",
|
||||
"SettingsEnableColorSpacePassthrough": "Пропуск цветового пространства",
|
||||
"SettingsEnableColorSpacePassthroughTooltip": "Направляет бэкэнд Vulkan на передачу информации о цвете без указания цветового пространства. Для пользователей с экранами с расширенной гаммой данная настройка приводит к получению более ярких цветов за счет снижения корректности цветопередачи.",
|
||||
"VolumeShort": "Громкость",
|
||||
"UserProfilesManageSaves": "Управление сохранениями",
|
||||
"DeleteUserSave": "Вы хотите удалить сохранение пользователя для этой игры?",
|
||||
"IrreversibleActionNote": "Данное действие является необратимым.",
|
||||
"SaveManagerHeading": "Manage Saves for {0}",
|
||||
"SaveManagerTitle": "Save Manager",
|
||||
"SaveManagerHeading": "Редактирование сохранений для {0} ({1})",
|
||||
"SaveManagerTitle": "Менеджер сохранений",
|
||||
"Name": "Название",
|
||||
"Size": "Размер",
|
||||
"Search": "Search",
|
||||
"UserProfilesRecoverLostAccounts": "Recover Lost Accounts",
|
||||
"Recover": "Recover",
|
||||
"UserProfilesRecoverHeading": "Saves were found for the following accounts"
|
||||
"Search": "Поиск",
|
||||
"UserProfilesRecoverLostAccounts": "Восстановить утерянные аккаунты",
|
||||
"Recover": "Восстановление",
|
||||
"UserProfilesRecoverHeading": "Были найдены сохранения для следующих аккаунтов",
|
||||
"UserProfilesRecoverEmptyList": "Нет профилей для восстановления",
|
||||
"GraphicsAATooltip": "Применяет сглаживание к рейдеру игры.",
|
||||
"GraphicsAALabel": "Сглаживание:",
|
||||
"GraphicsScalingFilterLabel": "Масштабирующий фильтр:",
|
||||
"GraphicsScalingFilterTooltip": "Включает масштабирование кадрового буфера",
|
||||
"GraphicsScalingFilterLevelLabel": "Уровень",
|
||||
"GraphicsScalingFilterLevelTooltip": "Установить уровень фильтра масштабирования",
|
||||
"SmaaLow": "SMAA Низкое",
|
||||
"SmaaMedium": "SMAA Среднее",
|
||||
"SmaaHigh": "SMAA Высокое",
|
||||
"SmaaUltra": "SMAA Ультра",
|
||||
"UserEditorTitle": "Редактирование пользователя",
|
||||
"UserEditorTitleCreate": "Создание пользователя",
|
||||
"SettingsTabNetworkInterface": "Сетевой Интерфейс",
|
||||
"NetworkInterfaceTooltip": "Сетевой интерфейс, используемый для функций LAN",
|
||||
"NetworkInterfaceDefault": "По умолчанию",
|
||||
"PackagingShaders": "Упаковка шейдеров",
|
||||
"AboutChangelogButton": "Список изменений на GitHub",
|
||||
"AboutChangelogButtonTooltipMessage": "Нажмите, чтобы открыть список изменений для этой версии в браузере."
|
||||
}
|
|
@ -7,6 +7,7 @@
|
|||
"SettingsTabSystemMemoryManagerModeSoftware": "Yazılım",
|
||||
"SettingsTabSystemMemoryManagerModeHost": "Host (hızlı)",
|
||||
"SettingsTabSystemMemoryManagerModeHostUnchecked": "Host Unchecked (en hızlısı, tehlikeli)",
|
||||
"SettingsTabSystemUseHypervisor": "Hypervisor Kullan",
|
||||
"MenuBarFile": "_Dosya",
|
||||
"MenuBarFileOpenFromFile": "_Dosyadan Uygulama Aç",
|
||||
"MenuBarFileOpenUnpacked": "_Sıkıştırılmamış Oyun Aç",
|
||||
|
@ -26,6 +27,9 @@
|
|||
"MenuBarToolsInstallFirmware": "Yazılım Yükle",
|
||||
"MenuBarFileToolsInstallFirmwareFromFile": "XCI veya ZIP'ten Yazılım Yükle",
|
||||
"MenuBarFileToolsInstallFirmwareFromDirectory": "Bir Dizin Üzerinden Yazılım Yükle",
|
||||
"MenuBarToolsManageFileTypes": "Dosya uzantılarını yönet",
|
||||
"MenuBarToolsInstallFileTypes": "Dosya uzantılarını yükle",
|
||||
"MenuBarToolsUninstallFileTypes": "Dosya uzantılarını kaldır",
|
||||
"MenuBarHelp": "Yardım",
|
||||
"MenuBarHelpCheckForUpdates": "Güncellemeleri Denetle",
|
||||
"MenuBarHelpAbout": "Hakkında",
|
||||
|
@ -66,17 +70,27 @@
|
|||
"GameListContextMenuExtractDataExeFSToolTip": "Uygulamanın geçerli yapılandırmasından ExeFS kısmını ayıkla (Güncellemeler dahil)",
|
||||
"GameListContextMenuExtractDataRomFS": "RomFS",
|
||||
"GameListContextMenuExtractDataRomFSToolTip": "Uygulamanın geçerli yapılandırmasından RomFS kısmını ayıkla (Güncellemeler dahil)",
|
||||
"GameListContextMenuExtractDataLogo": "Logo",
|
||||
"GameListContextMenuExtractDataLogo": "Simge",
|
||||
"GameListContextMenuExtractDataLogoToolTip": "Uygulamanın geçerli yapılandırmasından Logo kısmını ayıkla (Güncellemeler dahil)",
|
||||
"StatusBarGamesLoaded": "{0}/{1} Oyun Yüklendi",
|
||||
"StatusBarSystemVersion": "Sistem Sürümü: {0}",
|
||||
"LinuxVmMaxMapCountDialogTitle": "Bellek Haritaları İçin Düşük Limit Tespit Edildi ",
|
||||
"LinuxVmMaxMapCountDialogTextPrimary": "vm.max_map_count değerini {0} sayısına yükseltmek ister misiniz",
|
||||
"LinuxVmMaxMapCountDialogTextSecondary": "Bazı oyunlar şu an izin verilen bellek haritası limitinden daha fazlasını yaratmaya çalışabilir. Ryujinx bu limitin geçildiği takdirde kendini kapatıcaktır.",
|
||||
"LinuxVmMaxMapCountDialogButtonUntilRestart": "Evet, bir sonraki yeniden başlatmaya kadar",
|
||||
"LinuxVmMaxMapCountDialogButtonPersistent": "Evet, kalıcı olarak",
|
||||
"LinuxVmMaxMapCountWarningTextPrimary": "İzin verilen maksimum bellek haritası değeri tavsiye edildiğinden daha düşük. ",
|
||||
"LinuxVmMaxMapCountWarningTextSecondary": "Şu anki vm.max_map_count değeri {0}, bu {1} değerinden daha az. Bazı oyunlar şu an izin verilen bellek haritası limitinden daha fazlasını yaratmaya çalışabilir. Ryujinx bu limitin geçildiği takdirde kendini kapatıcaktır.\n\nManuel olarak bu limiti arttırmayı deneyebilir ya da pkexec'i yükleyebilirsiniz, bu da Ryujinx'in yardımcı olmasına izin verir.",
|
||||
"Settings": "Ayarlar",
|
||||
"SettingsTabGeneral": "Kullancı Arayüzü",
|
||||
"SettingsTabGeneralGeneral": "Genel",
|
||||
"SettingsTabGeneralEnableDiscordRichPresence": "Discord Zengin İçerik'i Etkinleştir",
|
||||
"SettingsTabGeneralCheckUpdatesOnLaunch": "Her Açılışta Güncellemeleri Denetle",
|
||||
"SettingsTabGeneralShowConfirmExitDialog": "\"Çıkışı Onayla\" Diyaloğunu Göster",
|
||||
"SettingsTabGeneralHideCursorOnIdle": "Hareketsizlik durumunda imleci gizle",
|
||||
"SettingsTabGeneralHideCursor": "İşaretçiyi Gizle:",
|
||||
"SettingsTabGeneralHideCursorNever": "Hiçbir Zaman",
|
||||
"SettingsTabGeneralHideCursorOnIdle": "Hareketsiz Durumda",
|
||||
"SettingsTabGeneralHideCursorAlways": "Her Zaman",
|
||||
"SettingsTabGeneralGameDirectories": "Oyun Dizinleri",
|
||||
"SettingsTabGeneralAdd": "Ekle",
|
||||
"SettingsTabGeneralRemove": "Kaldır",
|
||||
|
@ -110,7 +124,7 @@
|
|||
"SettingsTabSystemSystemLanguageTraditionalChinese": "Geleneksel Çince",
|
||||
"SettingsTabSystemSystemTimeZone": "Sistem Saat Dilimi:",
|
||||
"SettingsTabSystemSystemTime": "Sistem Saati:",
|
||||
"SettingsTabSystemEnableVsync": "VSync",
|
||||
"SettingsTabSystemEnableVsync": "Dikey Eşitleme",
|
||||
"SettingsTabSystemEnablePptc": "PPTC (Profilli Sürekli Çeviri Önbelleği)",
|
||||
"SettingsTabSystemEnableFsIntegrityChecks": "FS Bütünlük Kontrolleri",
|
||||
"SettingsTabSystemAudioBackend": "Ses Motoru:",
|
||||
|
@ -158,6 +172,7 @@
|
|||
"SettingsTabLoggingEnableFsAccessLogs": "Fs Erişim Loglarını Etkinleştir",
|
||||
"SettingsTabLoggingFsGlobalAccessLogMode": "Fs Evrensel Erişim Log Modu:",
|
||||
"SettingsTabLoggingDeveloperOptions": "Geliştirici Seçenekleri (UYARI: Performansı düşürecektir)",
|
||||
"SettingsTabLoggingDeveloperOptionsNote": "UYARI: Oyun performansı azalacak",
|
||||
"SettingsTabLoggingGraphicsBackendLogLevel": "Grafik Arka Uç Günlük Düzeyi",
|
||||
"SettingsTabLoggingGraphicsBackendLogLevelNone": "Hiçbiri",
|
||||
"SettingsTabLoggingGraphicsBackendLogLevelError": "Hata",
|
||||
|
@ -208,26 +223,17 @@
|
|||
"ControllerSettingsDPadDown": "Aşağı",
|
||||
"ControllerSettingsDPadLeft": "Sol",
|
||||
"ControllerSettingsDPadRight": "Sağ",
|
||||
"ControllerSettingsStickButton": "Tuş",
|
||||
"ControllerSettingsStickUp": "Yukarı",
|
||||
"ControllerSettingsStickDown": "Aşağı",
|
||||
"ControllerSettingsStickLeft": "Sol",
|
||||
"ControllerSettingsStickRight": "Sağ",
|
||||
"ControllerSettingsStickStick": "Analog",
|
||||
"ControllerSettingsStickInvertXAxis": "X Eksenini Tersine Çevir",
|
||||
"ControllerSettingsStickInvertYAxis": "Y Eksenini Tersine Çevir",
|
||||
"ControllerSettingsStickDeadzone": "Ölü Bölge",
|
||||
"ControllerSettingsLStick": "Sol Analog",
|
||||
"ControllerSettingsLStickButton": "Tuş",
|
||||
"ControllerSettingsLStickUp": "Yukarı",
|
||||
"ControllerSettingsLStickDown": "Aşağı",
|
||||
"ControllerSettingsLStickLeft": "Sol",
|
||||
"ControllerSettingsLStickRight": "Sağ",
|
||||
"ControllerSettingsLStickStick": "Analog",
|
||||
"ControllerSettingsLStickInvertXAxis": "X Eksenini Tersine Çevir",
|
||||
"ControllerSettingsLStickInvertYAxis": "Y Eksenini Tersine Çevir",
|
||||
"ControllerSettingsLStickDeadzone": "Ölü Bölge:",
|
||||
"ControllerSettingsRStick": "Sağ Analog",
|
||||
"ControllerSettingsRStickButton": "Tuş",
|
||||
"ControllerSettingsRStickUp": "Yukarı",
|
||||
"ControllerSettingsRStickDown": "Aşağı",
|
||||
"ControllerSettingsRStickLeft": "Sol",
|
||||
"ControllerSettingsRStickRight": "Sağ",
|
||||
"ControllerSettingsRStickStick": "Analog",
|
||||
"ControllerSettingsRStickInvertXAxis": "X Eksenini Tersine Çevir",
|
||||
"ControllerSettingsRStickInvertYAxis": "Y Eksenini Tersine Çevir",
|
||||
"ControllerSettingsRStickDeadzone": "Ölü Bölge:",
|
||||
"ControllerSettingsTriggersLeft": "Tetikler Sol",
|
||||
"ControllerSettingsTriggersRight": "Tetikler Sağ",
|
||||
"ControllerSettingsTriggersButtonsLeft": "Tetik Tuşları Sol",
|
||||
|
@ -262,6 +268,7 @@
|
|||
"UserProfilesAddNewProfile": "Yeni Profil Ekle",
|
||||
"UserProfilesDelete": "Sil",
|
||||
"UserProfilesClose": "Kapat",
|
||||
"ProfileNameSelectionWatermark": "Kullanıcı Adı Seç",
|
||||
"ProfileImageSelectionTitle": "Profil Resmi Seçimi",
|
||||
"ProfileImageSelectionHeader": "Profil Resmi Seç",
|
||||
"ProfileImageSelectionNote": "Özel bir profil resmi içeri aktarabilir veya sistem avatarlarından birini seçebilirsiniz",
|
||||
|
@ -282,6 +289,7 @@
|
|||
"ControllerSettingsSaveProfileToolTip": "Profili Kaydet",
|
||||
"MenuBarFileToolsTakeScreenshot": "Ekran Görüntüsü Al",
|
||||
"MenuBarFileToolsHideUi": "Arayüzü Gizle",
|
||||
"GameListContextMenuRunApplication": "Uygulamayı Çalıştır",
|
||||
"GameListContextMenuToggleFavorite": "Favori Ayarla",
|
||||
"GameListContextMenuToggleFavoriteToolTip": "Oyunu Favorilere Ekle/Çıkar",
|
||||
"SettingsTabGeneralTheme": "Tema",
|
||||
|
@ -337,6 +345,10 @@
|
|||
"DialogFirmwareInstallEmbeddedSuccessMessage": "Yüklü firmware bulunamadı ancak Ryujinx sağlanan oyundan {0} firmware sürümünü yükledi.\nEmülatör şimdi başlatılacak.",
|
||||
"DialogFirmwareNoFirmwareInstalledMessage": "Yazılım Yüklü Değil",
|
||||
"DialogFirmwareInstalledMessage": "Yazılım {0} yüklendi",
|
||||
"DialogInstallFileTypesSuccessMessage": "Dosya uzantıları başarıyla yüklendi!",
|
||||
"DialogInstallFileTypesErrorMessage": "Dosya uzantıları yükleme işlemi başarısız oldu.",
|
||||
"DialogUninstallFileTypesSuccessMessage": "Dosya uzantıları başarıyla kaldırıldı!",
|
||||
"DialogUninstallFileTypesErrorMessage": "Dosya uzantıları kaldırma işlemi başarısız oldu.",
|
||||
"DialogOpenSettingsWindowLabel": "Seçenekler Penceresini Aç",
|
||||
"DialogControllerAppletTitle": "Kontrolcü Applet'i",
|
||||
"DialogMessageDialogErrorExceptionMessage": "Mesaj diyaloğu gösterilirken hata: {0}",
|
||||
|
@ -368,6 +380,9 @@
|
|||
"DialogFirmwareInstallerFirmwareInstallSuccessMessage": "Sistem sürümü {0} başarıyla yüklendi.",
|
||||
"DialogUserProfileDeletionWarningMessage": "Seçilen profil silinirse kullanılabilen başka profil kalmayacak",
|
||||
"DialogUserProfileDeletionConfirmMessage": "Seçilen profili silmek istiyor musunuz",
|
||||
"DialogUserProfileUnsavedChangesTitle": "Uyarı - Kaydedilmemiş Değişiklikler",
|
||||
"DialogUserProfileUnsavedChangesMessage": "Kullanıcı profilinizde kaydedilmemiş değişiklikler var.",
|
||||
"DialogUserProfileUnsavedChangesSubMessage": "Yaptığınız değişiklikleri iptal etmek istediğinize emin misiniz?",
|
||||
"DialogControllerSettingsModifiedConfirmMessage": "Güncel kontrolcü seçenekleri güncellendi.",
|
||||
"DialogControllerSettingsModifiedConfirmSubMessage": "Kaydetmek istiyor musunuz?",
|
||||
"DialogLoadNcaErrorMessage": "{0}. Hatalı Dosya: {1}",
|
||||
|
@ -416,6 +431,7 @@
|
|||
"DlcManagerEnableAllButton": "Tümünü Aktif Et",
|
||||
"DlcManagerDisableAllButton": "Tümünü Devre Dışı Bırak",
|
||||
"MenuBarOptionsChangeLanguage": "Dili Değiştir",
|
||||
"MenuBarShowFileTypes": "Dosya Uzantılarını Göster",
|
||||
"CommonSort": "Sırala",
|
||||
"CommonShowNames": "İsimleri Göster",
|
||||
"CommonFavorite": "Favori",
|
||||
|
@ -445,6 +461,7 @@
|
|||
"MemoryManagerSoftwareTooltip": "Adres çevirisi için bir işlemci sayfası kullanır. En yüksek doğruluğu ve en yavaş performansı sunar.",
|
||||
"MemoryManagerHostTooltip": "Hafızayı doğrudan host adres aralığında tahsis eder. Çok daha hızlı JIT derleme ve işletimi sunar.",
|
||||
"MemoryManagerUnsafeTooltip": "Hafızayı doğrudan tahsis eder, ancak host aralığına erişimden önce adresi maskelemez. Daha iyi performansa karşılık emniyetten ödün verir. Misafir uygulama Ryujinx içerisinden istediği hafızaya erişebilir, bu sebeple bu seçenek ile sadece güvendiğiniz uygulamaları çalıştırın.",
|
||||
"UseHypervisorTooltip": "JIT yerine Hypervisor kullan. Uygun durumlarda performansı büyük oranda arttırır. Ancak şu anki halinde stabil durumda çalışmayabilir.",
|
||||
"DRamTooltip": "Emüle edilen sistem hafızasını 4GiB'dan 6GiB'a yükseltir.\n\nBu seçenek yalnızca yüksek çözünürlük doku paketleri veya 4k çözünürlük modları için kullanılır. Performansı artırMAZ!\n\nEmin değilseniz devre dışı bırakın.",
|
||||
"IgnoreMissingServicesTooltip": "Henüz programlanmamış Horizon işletim sistemi servislerini görmezden gelir. Bu seçenek belirli oyunların açılırken çökmesinin önüne geçmeye yardımcı olabilir.\n\nEmin değilseniz devre dışı bırakın.",
|
||||
"GraphicsBackendThreadingTooltip": "Grafik arka uç komutlarını ikinci bir iş parçacığında işletir.\n\nKendi multithreading desteği olmayan sürücülerde shader derlemeyi hızlandırıp performansı artırır. Multithreading desteği olan sürücülerde çok az daha iyi performans sağlar.\n\nEmin değilseniz Otomatik seçeneğine ayarlayın.",
|
||||
|
@ -527,6 +544,9 @@
|
|||
"SwkbdMinCharacters": "En az {0} karakter uzunluğunda olmalı",
|
||||
"SwkbdMinRangeCharacters": "{0}-{1} karakter uzunluğunda olmalı",
|
||||
"SoftwareKeyboard": "Yazılım Klavyesi",
|
||||
"SoftwareKeyboardModeNumbersOnly": "Sadece Numara Olabilir",
|
||||
"SoftwareKeyboardModeAlphabet": "Sadece CJK-characters olmayan karakterler olabilir",
|
||||
"SoftwareKeyboardModeASCII": "Sadece ASCII karakterler olabilir",
|
||||
"DialogControllerAppletMessagePlayerRange": "Uygulama belirtilen türde {0} oyuncu istiyor:\n\nTÜRLER: {1}\n\nOYUNCULAR: {2}\n\n{3}Lütfen şimdi seçeneklerden giriş aygıtlarını ayarlayın veya Kapat'a basın.",
|
||||
"DialogControllerAppletMessage": "Uygulama belirtilen türde tam olarak {0} oyuncu istiyor:\n\nTÜRLER: {1}\n\nOYUNCULAR: {2}\n\n{3}Lütfen şimdi seçeneklerden giriş aygıtlarını ayarlayın veya Kapat'a basın.",
|
||||
"DialogControllerAppletDockModeSet": "Docked mode etkin. Handheld geçersiz.\n\n",
|
||||
|
@ -572,6 +592,7 @@
|
|||
"DlcWindowTitle": "Oyun DLC'lerini Yönet",
|
||||
"UpdateWindowTitle": "Oyun Güncellemelerini Yönet",
|
||||
"CheatWindowHeading": "{0} için Hile mevcut [{1}]",
|
||||
"BuildId": "BuildId:",
|
||||
"DlcWindowHeading": "{0} için DLC mevcut [{1}]",
|
||||
"UserProfilesEditProfile": "Seçiliyi Düzenle",
|
||||
"Cancel": "İptal",
|
||||
|
@ -599,6 +620,8 @@
|
|||
"SettingsTabHotkeysVolumeDownHotkey": "Sesi Azalt:",
|
||||
"SettingsEnableMacroHLE": "Macro HLE'yi Aktifleştir",
|
||||
"SettingsEnableMacroHLETooltip": "GPU Macro kodunun yüksek seviye emülasyonu.\n\nPerformansı arttırır, ama bazı oyunlarda grafik hatalarına yol açabilir.\n\nEmin değilseniz AÇIK bırakın.",
|
||||
"SettingsEnableColorSpacePassthrough": "Renk Alanı Geçişi",
|
||||
"SettingsEnableColorSpacePassthroughTooltip": "Vulkan Backend'ini renk alanı belirtmeden renk bilgisinden geçmeye yönlendirir. Geniş gam ekranlı kullanıcılar için bu, renk doğruluğu pahasına daha canlı renklerle sonuçlanabilir.",
|
||||
"VolumeShort": "Ses",
|
||||
"UserProfilesManageSaves": "Kayıtları Yönet",
|
||||
"DeleteUserSave": "Bu oyun için kullanıcı kaydını silmek istiyor musunuz?",
|
||||
|
@ -610,5 +633,24 @@
|
|||
"Search": "Ara",
|
||||
"UserProfilesRecoverLostAccounts": "Kayıp Hesapları Kurtar",
|
||||
"Recover": "Kurtar",
|
||||
"UserProfilesRecoverHeading": "Aşağıdaki hesaplar için kayıtlar bulundu"
|
||||
"UserProfilesRecoverHeading": "Aşağıdaki hesaplar için kayıtlar bulundu",
|
||||
"UserProfilesRecoverEmptyList": "Kurtarılacak profil bulunamadı",
|
||||
"GraphicsAATooltip": "Oyuna Kenar Yumuşatma Ekler",
|
||||
"GraphicsAALabel": "Kenar Yumuşatma:",
|
||||
"GraphicsScalingFilterLabel": "Ölçekleme Filtresi:",
|
||||
"GraphicsScalingFilterTooltip": "Çerçeve Arabellek Filtresini Açar",
|
||||
"GraphicsScalingFilterLevelLabel": "Seviye",
|
||||
"GraphicsScalingFilterLevelTooltip": "Ölçekleme Filtre Seviyesini Belirle",
|
||||
"SmaaLow": "Düşük SMAA",
|
||||
"SmaaMedium": "Orta SMAA",
|
||||
"SmaaHigh": "Yüksek SMAA",
|
||||
"SmaaUltra": "En Yüksek SMAA",
|
||||
"UserEditorTitle": "Kullanıcıyı Düzenle",
|
||||
"UserEditorTitleCreate": "Kullanıcı Oluştur",
|
||||
"SettingsTabNetworkInterface": "Ağ Bağlantısı:",
|
||||
"NetworkInterfaceTooltip": "LAN özellikleri için kullanılan ağ bağlantısı",
|
||||
"NetworkInterfaceDefault": "Varsayılan",
|
||||
"PackagingShaders": "Gölgeler Paketleniyor",
|
||||
"AboutChangelogButton": "GitHub'da Değişiklikleri Görüntüle",
|
||||
"AboutChangelogButtonTooltipMessage": "Kullandığınız versiyon için olan değişiklikleri varsayılan tarayıcınızda görmek için tıklayın"
|
||||
}
|
|
@ -7,6 +7,7 @@
|
|||
"SettingsTabSystemMemoryManagerModeSoftware": "Програмне забезпечення",
|
||||
"SettingsTabSystemMemoryManagerModeHost": "Хост (швидко)",
|
||||
"SettingsTabSystemMemoryManagerModeHostUnchecked": "Неперевірений хост (найшвидший, небезпечний)",
|
||||
"SettingsTabSystemUseHypervisor": "Use Hypervisor",
|
||||
"MenuBarFile": "_Файл",
|
||||
"MenuBarFileOpenFromFile": "_Завантажити програму з файлу",
|
||||
"MenuBarFileOpenUnpacked": "Завантажити _розпаковану гру",
|
||||
|
@ -26,6 +27,9 @@
|
|||
"MenuBarToolsInstallFirmware": "Встановити прошивку",
|
||||
"MenuBarFileToolsInstallFirmwareFromFile": "Встановити прошивку з XCI або ZIP",
|
||||
"MenuBarFileToolsInstallFirmwareFromDirectory": "Встановити прошивку з теки",
|
||||
"MenuBarToolsManageFileTypes": "Manage file types",
|
||||
"MenuBarToolsInstallFileTypes": "Install file types",
|
||||
"MenuBarToolsUninstallFileTypes": "Uninstall file types",
|
||||
"MenuBarHelp": "Довідка",
|
||||
"MenuBarHelpCheckForUpdates": "Перевірити оновлення",
|
||||
"MenuBarHelpAbout": "Про програму",
|
||||
|
@ -70,13 +74,23 @@
|
|||
"GameListContextMenuExtractDataLogoToolTip": "Видобуває розділ логотипу з поточної конфігурації програми (включаючи оновлення)",
|
||||
"StatusBarGamesLoaded": "{0}/{1} Ігор завантажено",
|
||||
"StatusBarSystemVersion": "Версія системи: {0}",
|
||||
"LinuxVmMaxMapCountDialogTitle": "Low limit for memory mappings detected",
|
||||
"LinuxVmMaxMapCountDialogTextPrimary": "Would you like to increase the value of vm.max_map_count to {0}",
|
||||
"LinuxVmMaxMapCountDialogTextSecondary": "Some games might try to create more memory mappings than currently allowed. Ryujinx will crash as soon as this limit gets exceeded.",
|
||||
"LinuxVmMaxMapCountDialogButtonUntilRestart": "Yes, until the next restart",
|
||||
"LinuxVmMaxMapCountDialogButtonPersistent": "Yes, permanently",
|
||||
"LinuxVmMaxMapCountWarningTextPrimary": "Max amount of memory mappings is lower than recommended.",
|
||||
"LinuxVmMaxMapCountWarningTextSecondary": "The current value of vm.max_map_count ({0}) is lower than {1}. Some games might try to create more memory mappings than currently allowed. Ryujinx will crash as soon as this limit gets exceeded.\n\nYou might want to either manually increase the limit or install pkexec, which allows Ryujinx to assist with that.",
|
||||
"Settings": "Налаштування",
|
||||
"SettingsTabGeneral": "Інтерфейс користувача",
|
||||
"SettingsTabGeneralGeneral": "Загальні",
|
||||
"SettingsTabGeneralEnableDiscordRichPresence": "Увімкнути розширену присутність Discord",
|
||||
"SettingsTabGeneralCheckUpdatesOnLaunch": "Перевіряти наявність оновлень під час запуску",
|
||||
"SettingsTabGeneralShowConfirmExitDialog": "Показати діалогове вікно «Підтвердити вихід».",
|
||||
"SettingsTabGeneralHideCursor": "Hide Cursor:",
|
||||
"SettingsTabGeneralHideCursorNever": "Never",
|
||||
"SettingsTabGeneralHideCursorOnIdle": "Приховати курсор у режимі очікування",
|
||||
"SettingsTabGeneralHideCursorAlways": "Always",
|
||||
"SettingsTabGeneralGameDirectories": "Каталоги ігор",
|
||||
"SettingsTabGeneralAdd": "Додати",
|
||||
"SettingsTabGeneralRemove": "Видалити",
|
||||
|
@ -158,6 +172,7 @@
|
|||
"SettingsTabLoggingEnableFsAccessLogs": "Увімкнути журнали доступу Fs",
|
||||
"SettingsTabLoggingFsGlobalAccessLogMode": "Режим журналу глобального доступу Fs:",
|
||||
"SettingsTabLoggingDeveloperOptions": "Параметри розробника (УВАГА: знизиться продуктивність)",
|
||||
"SettingsTabLoggingDeveloperOptionsNote": "WARNING: Will reduce performance",
|
||||
"SettingsTabLoggingGraphicsBackendLogLevel": "Рівень журналу графічного сервера:",
|
||||
"SettingsTabLoggingGraphicsBackendLogLevelNone": "Ні",
|
||||
"SettingsTabLoggingGraphicsBackendLogLevelError": "Помилка",
|
||||
|
@ -208,26 +223,17 @@
|
|||
"ControllerSettingsDPadDown": "Вниз",
|
||||
"ControllerSettingsDPadLeft": "Вліво",
|
||||
"ControllerSettingsDPadRight": "Вправо",
|
||||
"ControllerSettingsStickButton": "Button",
|
||||
"ControllerSettingsStickUp": "Up",
|
||||
"ControllerSettingsStickDown": "Down",
|
||||
"ControllerSettingsStickLeft": "Left",
|
||||
"ControllerSettingsStickRight": "Right",
|
||||
"ControllerSettingsStickStick": "Stick",
|
||||
"ControllerSettingsStickInvertXAxis": "Invert Stick X",
|
||||
"ControllerSettingsStickInvertYAxis": "Invert Stick Y",
|
||||
"ControllerSettingsStickDeadzone": "Deadzone:",
|
||||
"ControllerSettingsLStick": "Лівий джойстик",
|
||||
"ControllerSettingsLStickButton": "Кнопка",
|
||||
"ControllerSettingsLStickUp": "Вгору",
|
||||
"ControllerSettingsLStickDown": "Вниз",
|
||||
"ControllerSettingsLStickLeft": "Вліво",
|
||||
"ControllerSettingsLStickRight": "Вправо",
|
||||
"ControllerSettingsLStickStick": "Джойстик",
|
||||
"ControllerSettingsLStickInvertXAxis": "Інвертувати джойстик по X",
|
||||
"ControllerSettingsLStickInvertYAxis": "Інвертувати джойстик по Y",
|
||||
"ControllerSettingsLStickDeadzone": "Мертва зона:",
|
||||
"ControllerSettingsRStick": "Правий джойстик",
|
||||
"ControllerSettingsRStickButton": "Кнопка",
|
||||
"ControllerSettingsRStickUp": "Вгору",
|
||||
"ControllerSettingsRStickDown": "Вниз",
|
||||
"ControllerSettingsRStickLeft": "Вліво",
|
||||
"ControllerSettingsRStickRight": "Вправо",
|
||||
"ControllerSettingsRStickStick": "Джойстик",
|
||||
"ControllerSettingsRStickInvertXAxis": "Інвертувати джойстик по X",
|
||||
"ControllerSettingsRStickInvertYAxis": "Інвертувати джойстик по Y",
|
||||
"ControllerSettingsRStickDeadzone": "Мертва зона:",
|
||||
"ControllerSettingsTriggersLeft": "Тригери ліворуч",
|
||||
"ControllerSettingsTriggersRight": "Тригери праворуч",
|
||||
"ControllerSettingsTriggersButtonsLeft": "Кнопки тригерів ліворуч",
|
||||
|
@ -260,8 +266,9 @@
|
|||
"UserProfilesChangeProfileImage": "Змінити зображення профілю",
|
||||
"UserProfilesAvailableUserProfiles": "Доступні профілі користувачів:",
|
||||
"UserProfilesAddNewProfile": "Створити профіль",
|
||||
"UserProfilesDeleteSelectedProfile": "Видалити вибране",
|
||||
"UserProfilesDelete": "Delete",
|
||||
"UserProfilesClose": "Закрити",
|
||||
"ProfileNameSelectionWatermark": "Choose a nickname",
|
||||
"ProfileImageSelectionTitle": "Вибір зображення профілю",
|
||||
"ProfileImageSelectionHeader": "Виберіть зображення профілю",
|
||||
"ProfileImageSelectionNote": "Ви можете імпортувати власне зображення профілю або вибрати аватар із мікропрограми системи",
|
||||
|
@ -282,6 +289,7 @@
|
|||
"ControllerSettingsSaveProfileToolTip": "Зберегти профіль",
|
||||
"MenuBarFileToolsTakeScreenshot": "Зробити знімок екрана",
|
||||
"MenuBarFileToolsHideUi": "Сховати інтерфейс",
|
||||
"GameListContextMenuRunApplication": "Run Application",
|
||||
"GameListContextMenuToggleFavorite": "Перемкнути вибране",
|
||||
"GameListContextMenuToggleFavoriteToolTip": "Перемкнути улюблений статус гри",
|
||||
"SettingsTabGeneralTheme": "Тема",
|
||||
|
@ -337,6 +345,10 @@
|
|||
"DialogFirmwareInstallEmbeddedSuccessMessage": "Встановлену прошивку не знайдено, але Ryujinx вдалося встановити прошивку {0} з наданої гри.\\nТепер запуститься емулятор.",
|
||||
"DialogFirmwareNoFirmwareInstalledMessage": "Прошивка не встановлена",
|
||||
"DialogFirmwareInstalledMessage": "Встановлено прошивку {0}",
|
||||
"DialogInstallFileTypesSuccessMessage": "Successfully installed file types!",
|
||||
"DialogInstallFileTypesErrorMessage": "Failed to install file types.",
|
||||
"DialogUninstallFileTypesSuccessMessage": "Successfully uninstalled file types!",
|
||||
"DialogUninstallFileTypesErrorMessage": "Failed to uninstall file types.",
|
||||
"DialogOpenSettingsWindowLabel": "Відкрити вікно налаштувань",
|
||||
"DialogControllerAppletTitle": "Аплет контролера",
|
||||
"DialogMessageDialogErrorExceptionMessage": "Помилка показу діалогового вікна повідомлення: {0}",
|
||||
|
@ -368,6 +380,9 @@
|
|||
"DialogFirmwareInstallerFirmwareInstallSuccessMessage": "Версію системи {0} успішно встановлено.",
|
||||
"DialogUserProfileDeletionWarningMessage": "Якщо вибраний профіль буде видалено, інші профілі не відкриватимуться",
|
||||
"DialogUserProfileDeletionConfirmMessage": "Ви хочете видалити вибраний профіль",
|
||||
"DialogUserProfileUnsavedChangesTitle": "Warning - Unsaved Changes",
|
||||
"DialogUserProfileUnsavedChangesMessage": "You have made changes to this user profile that have not been saved.",
|
||||
"DialogUserProfileUnsavedChangesSubMessage": "Do you want to discard your changes?",
|
||||
"DialogControllerSettingsModifiedConfirmMessage": "Поточні налаштування контролера оновлено.",
|
||||
"DialogControllerSettingsModifiedConfirmSubMessage": "Ви хочете зберегти?",
|
||||
"DialogLoadNcaErrorMessage": "{0}. Файл з помилкою: {1}",
|
||||
|
@ -416,6 +431,7 @@
|
|||
"DlcManagerEnableAllButton": "Увімкнути всі",
|
||||
"DlcManagerDisableAllButton": "Вимкнути всі",
|
||||
"MenuBarOptionsChangeLanguage": "Змінити мову",
|
||||
"MenuBarShowFileTypes": "Show File Types",
|
||||
"CommonSort": "Сортувати",
|
||||
"CommonShowNames": "Показати назви",
|
||||
"CommonFavorite": "Вибрані",
|
||||
|
@ -445,6 +461,7 @@
|
|||
"MemoryManagerSoftwareTooltip": "Використовує програмну таблицю сторінок для перекладу адрес. Найвища точність, але найповільніша продуктивність.",
|
||||
"MemoryManagerHostTooltip": "Пряме відображення пам'яті в адресному просторі хосту. Набагато швидша компіляція та виконання JIT.",
|
||||
"MemoryManagerUnsafeTooltip": "Пряме відображення пам’яті, але не маскує адресу в гостьовому адресному просторі перед доступом. Швидше, але ціною безпеки. Гостьова програма може отримати доступ до пам’яті з будь-якого місця в Ryujinx, тому запускайте в цьому режимі лише програми, яким ви довіряєте.",
|
||||
"UseHypervisorTooltip": "Use Hypervisor instead of JIT. Greatly improves performance when available, but can be unstable in its current state.",
|
||||
"DRamTooltip": "Використовує альтернативний макет MemoryMode для імітації моделі розробки Switch.\n\nЦе корисно лише для пакетів текстур з вищою роздільною здатністю або модифікацій із роздільною здатністю 4K. НЕ покращує продуктивність.\n\nЗалиште вимкненим, якщо не впевнені.",
|
||||
"IgnoreMissingServicesTooltip": "Ігнорує нереалізовані служби Horizon OS. Це може допомогти в обході збоїв під час завантаження певних ігор.\n\nЗалиште вимкненим, якщо не впевнені.",
|
||||
"GraphicsBackendThreadingTooltip": "Виконує команди графічного сервера в другому потоці.\n\nПрискорює компіляцію шейдерів, зменшує затримки та покращує продуктивність драйверів GPU без власної підтримки багатопоточності. Трохи краща продуктивність на драйверах з багатопотоковістю.\nВстановіть значення «Авто», якщо не впевнені",
|
||||
|
@ -527,6 +544,9 @@
|
|||
"SwkbdMinCharacters": "Мінімальна кількість символів: {0}",
|
||||
"SwkbdMinRangeCharacters": "Має бути {0}-{1} символів",
|
||||
"SoftwareKeyboard": "Програмна клавіатура",
|
||||
"SoftwareKeyboardModeNumbersOnly": "Must be numbers only",
|
||||
"SoftwareKeyboardModeAlphabet": "Must be non CJK-characters only",
|
||||
"SoftwareKeyboardModeASCII": "Must be ASCII text only",
|
||||
"DialogControllerAppletMessagePlayerRange": "Програма запитує {0} гравця(ів) з:\n\nТИПИ: {1}\n\nГРАВЦІ: {2}\n\n{3}Будь ласка, відкрийте «Налаштування» та повторно налаштуйте «Введення» або натисніть «Закрити».",
|
||||
"DialogControllerAppletMessage": "Програма запитує рівно стільки гравців: {0} з:\n\nТИПАМИ: {1}\n\nГРАВЦІВ: {2}\n\n{3}Будь ласка, відкрийте «Налаштування» та повторно налаштуйте «Введення» або натисніть «Закрити».",
|
||||
"DialogControllerAppletDockModeSet": "Встановлено режим док-станції. Ручний також недійсний.\n",
|
||||
|
@ -572,6 +592,7 @@
|
|||
"DlcWindowTitle": "Менеджер вмісту для завантаження",
|
||||
"UpdateWindowTitle": "Менеджер оновлення назв",
|
||||
"CheatWindowHeading": "Коди доступні для {0} [{1}]",
|
||||
"BuildId": "BuildId:",
|
||||
"DlcWindowHeading": "Вміст для завантаження, доступний для {1} ({2}): {0}",
|
||||
"UserProfilesEditProfile": "Редагувати вибране",
|
||||
"Cancel": "Скасувати",
|
||||
|
@ -599,6 +620,8 @@
|
|||
"SettingsTabHotkeysVolumeDownHotkey": "Зменшити гучність:",
|
||||
"SettingsEnableMacroHLE": "Увімкнути макрос HLE",
|
||||
"SettingsEnableMacroHLETooltip": "Високорівнева емуляція коду макросу GPU.\n\nПокращує продуктивність, але може викликати графічні збої в деяких іграх.\n\nЗалиште увімкненим, якщо не впевнені.",
|
||||
"SettingsEnableColorSpacePassthrough": "Color Space Passthrough",
|
||||
"SettingsEnableColorSpacePassthroughTooltip": "Directs the Vulkan backend to pass through color information without specifying a color space. For users with wide gamut displays, this may result in more vibrant colors, at the cost of color correctness.",
|
||||
"VolumeShort": "Гуч",
|
||||
"UserProfilesManageSaves": "Керувати збереженнями",
|
||||
"DeleteUserSave": "Ви хочете видалити збереження користувача для цієї гри?",
|
||||
|
@ -610,5 +633,24 @@
|
|||
"Search": "Пошук",
|
||||
"UserProfilesRecoverLostAccounts": "Відновлення втрачених облікових записів",
|
||||
"Recover": "Відновити",
|
||||
"UserProfilesRecoverHeading": "Знайдено збереження для наступних облікових записів"
|
||||
"UserProfilesRecoverHeading": "Знайдено збереження для наступних облікових записів",
|
||||
"UserProfilesRecoverEmptyList": "No profiles to recover",
|
||||
"GraphicsAATooltip": "Applies anti-aliasing to the game render",
|
||||
"GraphicsAALabel": "Anti-Aliasing:",
|
||||
"GraphicsScalingFilterLabel": "Scaling Filter:",
|
||||
"GraphicsScalingFilterTooltip": "Enables Framebuffer Scaling",
|
||||
"GraphicsScalingFilterLevelLabel": "Level",
|
||||
"GraphicsScalingFilterLevelTooltip": "Set Scaling Filter Level",
|
||||
"SmaaLow": "SMAA Low",
|
||||
"SmaaMedium": "SMAA Medium",
|
||||
"SmaaHigh": "SMAA High",
|
||||
"SmaaUltra": "SMAA Ultra",
|
||||
"UserEditorTitle": "Edit User",
|
||||
"UserEditorTitleCreate": "Create User",
|
||||
"SettingsTabNetworkInterface": "Network Interface:",
|
||||
"NetworkInterfaceTooltip": "The network interface used for LAN features",
|
||||
"NetworkInterfaceDefault": "Default",
|
||||
"PackagingShaders": "Packaging Shaders",
|
||||
"AboutChangelogButton": "View Changelog on GitHub",
|
||||
"AboutChangelogButtonTooltipMessage": "Click to open the changelog for this version in your default browser."
|
||||
}
|
|
@ -7,6 +7,7 @@
|
|||
"SettingsTabSystemMemoryManagerModeSoftware": "软件",
|
||||
"SettingsTabSystemMemoryManagerModeHost": "本机 (快速)",
|
||||
"SettingsTabSystemMemoryManagerModeHostUnchecked": "跳过检查的本机 (最快)",
|
||||
"SettingsTabSystemUseHypervisor": "使用 Hypervisor 虚拟化",
|
||||
"MenuBarFile": "文件",
|
||||
"MenuBarFileOpenFromFile": "加载文件",
|
||||
"MenuBarFileOpenUnpacked": "加载解包后的游戏",
|
||||
|
@ -26,10 +27,13 @@
|
|||
"MenuBarToolsInstallFirmware": "安装固件",
|
||||
"MenuBarFileToolsInstallFirmwareFromFile": "从 XCI 或 ZIP 安装固件",
|
||||
"MenuBarFileToolsInstallFirmwareFromDirectory": "从文件夹安装固件",
|
||||
"MenuBarToolsManageFileTypes": "管理文件扩展名",
|
||||
"MenuBarToolsInstallFileTypes": "关联文件扩展名",
|
||||
"MenuBarToolsUninstallFileTypes": "取消关联扩展名",
|
||||
"MenuBarHelp": "帮助",
|
||||
"MenuBarHelpCheckForUpdates": "检查更新",
|
||||
"MenuBarHelpAbout": "关于",
|
||||
"MenuSearch": "搜索……",
|
||||
"MenuSearch": "搜索…",
|
||||
"GameListHeaderFavorite": "收藏",
|
||||
"GameListHeaderIcon": "图标",
|
||||
"GameListHeaderApplication": "名称",
|
||||
|
@ -40,9 +44,9 @@
|
|||
"GameListHeaderFileExtension": "扩展名",
|
||||
"GameListHeaderFileSize": "大小",
|
||||
"GameListHeaderPath": "路径",
|
||||
"GameListContextMenuOpenUserSaveDirectory": "打开应用存档目录",
|
||||
"GameListContextMenuOpenUserSaveDirectory": "打开用户存档目录",
|
||||
"GameListContextMenuOpenUserSaveDirectoryToolTip": "打开储存游戏存档的目录",
|
||||
"GameListContextMenuOpenDeviceSaveDirectory": "打开应用系统目录",
|
||||
"GameListContextMenuOpenDeviceSaveDirectory": "打开系统目录",
|
||||
"GameListContextMenuOpenDeviceSaveDirectoryToolTip": "打开包含游戏系统设置的目录",
|
||||
"GameListContextMenuOpenBcatSaveDirectory": "打开 BCAT 目录",
|
||||
"GameListContextMenuOpenBcatSaveDirectoryToolTip": "打开包含游戏 BCAT 数据的目录",
|
||||
|
@ -60,7 +64,7 @@
|
|||
"GameListContextMenuCacheManagementOpenPptcDirectory": "打开 PPTC 目录",
|
||||
"GameListContextMenuCacheManagementOpenPptcDirectoryToolTip": "打开包含游戏 PPTC 缓存的目录",
|
||||
"GameListContextMenuCacheManagementOpenShaderCacheDirectory": "打开着色器缓存目录",
|
||||
"GameListContextMenuCacheManagementOpenShaderCacheDirectoryToolTip": "打开包含应用程序着色器缓存的目录",
|
||||
"GameListContextMenuCacheManagementOpenShaderCacheDirectoryToolTip": "打开包含游戏着色器缓存的目录",
|
||||
"GameListContextMenuExtractData": "提取数据",
|
||||
"GameListContextMenuExtractDataExeFS": "ExeFS",
|
||||
"GameListContextMenuExtractDataExeFSToolTip": "从游戏的当前状态中提取 ExeFS 分区 (包括更新)",
|
||||
|
@ -70,13 +74,23 @@
|
|||
"GameListContextMenuExtractDataLogoToolTip": "从游戏的当前状态中提取图标 (包括更新)",
|
||||
"StatusBarGamesLoaded": "{0}/{1} 游戏加载完成",
|
||||
"StatusBarSystemVersion": "系统版本:{0}",
|
||||
"LinuxVmMaxMapCountDialogTitle": "检测到内存映射的限制过低",
|
||||
"LinuxVmMaxMapCountDialogTextPrimary": "你想要将 vm.max_map_count 的值增加到 {0} 吗",
|
||||
"LinuxVmMaxMapCountDialogTextSecondary": "有些游戏可能会试图创建超过当前允许的内存映射数量。当超过此限制时,Ryujinx会立即崩溃。",
|
||||
"LinuxVmMaxMapCountDialogButtonUntilRestart": "确定,关闭后重置",
|
||||
"LinuxVmMaxMapCountDialogButtonPersistent": "确定,永久保存",
|
||||
"LinuxVmMaxMapCountWarningTextPrimary": "内存映射的最大数量低于推荐值。",
|
||||
"LinuxVmMaxMapCountWarningTextSecondary": "vm.max_map_count ({0}) 的当前值小于 {1}。 有些游戏可能会试图创建超过当前允许的内存映射量。当大于此限制时,Ryujinx 会立即崩溃。\n\n你可以手动增加内存映射限制或者安装 pkexec,它可以辅助Ryujinx解决该问题。",
|
||||
"Settings": "设置",
|
||||
"SettingsTabGeneral": "用户界面",
|
||||
"SettingsTabGeneralGeneral": "常规",
|
||||
"SettingsTabGeneralEnableDiscordRichPresence": "启用 Discord 在线状态展示",
|
||||
"SettingsTabGeneralCheckUpdatesOnLaunch": "自动检查更新",
|
||||
"SettingsTabGeneralShowConfirmExitDialog": "显示 \"确认退出\" 对话框",
|
||||
"SettingsTabGeneralHideCursorOnIdle": "自动隐藏鼠标",
|
||||
"SettingsTabGeneralHideCursor": "隐藏鼠标指针:",
|
||||
"SettingsTabGeneralHideCursorNever": "从不",
|
||||
"SettingsTabGeneralHideCursorOnIdle": "自动隐藏",
|
||||
"SettingsTabGeneralHideCursorAlways": "始终",
|
||||
"SettingsTabGeneralGameDirectories": "游戏目录",
|
||||
"SettingsTabGeneralAdd": "添加",
|
||||
"SettingsTabGeneralRemove": "删除",
|
||||
|
@ -97,12 +111,12 @@
|
|||
"SettingsTabSystemSystemLanguageGerman": "德语",
|
||||
"SettingsTabSystemSystemLanguageItalian": "意大利语",
|
||||
"SettingsTabSystemSystemLanguageSpanish": "西班牙语",
|
||||
"SettingsTabSystemSystemLanguageChinese": "中文(简体)——无效",
|
||||
"SettingsTabSystemSystemLanguageChinese": "简体中文",
|
||||
"SettingsTabSystemSystemLanguageKorean": "韩语",
|
||||
"SettingsTabSystemSystemLanguageDutch": "荷兰语",
|
||||
"SettingsTabSystemSystemLanguagePortuguese": "葡萄牙语",
|
||||
"SettingsTabSystemSystemLanguageRussian": "俄语",
|
||||
"SettingsTabSystemSystemLanguageTaiwanese": "中文(繁体)——无效",
|
||||
"SettingsTabSystemSystemLanguageTaiwanese": "繁体中文(台湾)",
|
||||
"SettingsTabSystemSystemLanguageBritishEnglish": "英式英语",
|
||||
"SettingsTabSystemSystemLanguageCanadianFrench": "加拿大法语",
|
||||
"SettingsTabSystemSystemLanguageLatinAmericanSpanish": "拉美西班牙语",
|
||||
|
@ -116,10 +130,10 @@
|
|||
"SettingsTabSystemAudioBackend": "音频后端:",
|
||||
"SettingsTabSystemAudioBackendDummy": "无",
|
||||
"SettingsTabSystemAudioBackendOpenAL": "OpenAL",
|
||||
"SettingsTabSystemAudioBackendSoundIO": "SoundIO",
|
||||
"SettingsTabSystemAudioBackendSoundIO": "音频输入/输出",
|
||||
"SettingsTabSystemAudioBackendSDL2": "SDL2",
|
||||
"SettingsTabSystemHacks": "修正",
|
||||
"SettingsTabSystemHacksNote": " (会引起模拟器不稳定)",
|
||||
"SettingsTabSystemHacksNote": "(会引起模拟器不稳定)",
|
||||
"SettingsTabSystemExpandDramSize": "使用开发机的内存布局",
|
||||
"SettingsTabSystemIgnoreMissingServices": "忽略缺失的服务",
|
||||
"SettingsTabGraphics": "图形",
|
||||
|
@ -131,33 +145,34 @@
|
|||
"SettingsTabGraphicsAnisotropicFiltering4x": "4x",
|
||||
"SettingsTabGraphicsAnisotropicFiltering8x": "8x",
|
||||
"SettingsTabGraphicsAnisotropicFiltering16x": "16x",
|
||||
"SettingsTabGraphicsResolutionScale": "分辨率缩放:",
|
||||
"SettingsTabGraphicsResolutionScaleCustom": "自定义 (不推荐)",
|
||||
"SettingsTabGraphicsResolutionScale": "分辨率缩放:",
|
||||
"SettingsTabGraphicsResolutionScaleCustom": "自定义(不推荐)",
|
||||
"SettingsTabGraphicsResolutionScaleNative": "原生 (720p/1080p)",
|
||||
"SettingsTabGraphicsResolutionScale2x": "2x (1440p/2160p)",
|
||||
"SettingsTabGraphicsResolutionScale3x": "3x (2160p/3240p)",
|
||||
"SettingsTabGraphicsResolutionScale4x": "4x (2880p/4320p)",
|
||||
"SettingsTabGraphicsAspectRatio": "宽高比:",
|
||||
"SettingsTabGraphicsAspectRatio": "宽高比:",
|
||||
"SettingsTabGraphicsAspectRatio4x3": "4:3",
|
||||
"SettingsTabGraphicsAspectRatio16x9": "16:9",
|
||||
"SettingsTabGraphicsAspectRatio16x10": "16:10",
|
||||
"SettingsTabGraphicsAspectRatio21x9": "21:9",
|
||||
"SettingsTabGraphicsAspectRatio32x9": "32:9",
|
||||
"SettingsTabGraphicsAspectRatioStretch": "拉伸至屏幕",
|
||||
"SettingsTabGraphicsAspectRatioStretch": "拉伸以适应窗口",
|
||||
"SettingsTabGraphicsDeveloperOptions": "开发者选项",
|
||||
"SettingsTabGraphicsShaderDumpPath": "图形着色器转储路径:",
|
||||
"SettingsTabGraphicsShaderDumpPath": "图形着色器转储路径:",
|
||||
"SettingsTabLogging": "日志",
|
||||
"SettingsTabLoggingLogging": "日志",
|
||||
"SettingsTabLoggingEnableLoggingToFile": "保存日志为文件",
|
||||
"SettingsTabLoggingEnableStubLogs": "记录Stub",
|
||||
"SettingsTabLoggingEnableInfoLogs": "记录Info",
|
||||
"SettingsTabLoggingEnableWarningLogs": "记录Warning",
|
||||
"SettingsTabLoggingEnableErrorLogs": "记录Error",
|
||||
"SettingsTabLoggingEnableTraceLogs": "记录Trace",
|
||||
"SettingsTabLoggingEnableGuestLogs": "记录Guest",
|
||||
"SettingsTabLoggingEnableFsAccessLogs": "记录文件访问",
|
||||
"SettingsTabLoggingFsGlobalAccessLogMode": "记录全局文件访问模式:",
|
||||
"SettingsTabLoggingDeveloperOptions": "开发者选项 (警告: 会降低性能)",
|
||||
"SettingsTabLoggingEnableStubLogs": "启用 Stub 日志",
|
||||
"SettingsTabLoggingEnableInfoLogs": "启用信息日志",
|
||||
"SettingsTabLoggingEnableWarningLogs": "启用警告日志",
|
||||
"SettingsTabLoggingEnableErrorLogs": "启用错误日志",
|
||||
"SettingsTabLoggingEnableTraceLogs": "启用跟踪日志",
|
||||
"SettingsTabLoggingEnableGuestLogs": "启用来宾日志",
|
||||
"SettingsTabLoggingEnableFsAccessLogs": "启用访问日志",
|
||||
"SettingsTabLoggingFsGlobalAccessLogMode": "全局访问日志模式:",
|
||||
"SettingsTabLoggingDeveloperOptions": "开发者选项",
|
||||
"SettingsTabLoggingDeveloperOptionsNote": "警告:会降低性能",
|
||||
"SettingsTabLoggingGraphicsBackendLogLevel": "图形后端日志级别:",
|
||||
"SettingsTabLoggingGraphicsBackendLogLevelNone": "无",
|
||||
"SettingsTabLoggingGraphicsBackendLogLevelError": "错误",
|
||||
|
@ -169,7 +184,7 @@
|
|||
"SettingsTabInputDirectKeyboardAccess": "直通键盘控制",
|
||||
"SettingsButtonSave": "保存",
|
||||
"SettingsButtonClose": "取消",
|
||||
"SettingsButtonOk": "保存",
|
||||
"SettingsButtonOk": "确定",
|
||||
"SettingsButtonCancel": "取消",
|
||||
"SettingsButtonApply": "应用",
|
||||
"ControllerSettingsPlayer": "玩家",
|
||||
|
@ -188,7 +203,7 @@
|
|||
"ControllerSettingsControllerType": "手柄类型",
|
||||
"ControllerSettingsControllerTypeHandheld": "掌机",
|
||||
"ControllerSettingsControllerTypeProController": "Pro 手柄",
|
||||
"ControllerSettingsControllerTypeJoyConPair": "JoyCon",
|
||||
"ControllerSettingsControllerTypeJoyConPair": "JoyCon 组合",
|
||||
"ControllerSettingsControllerTypeJoyConLeft": "左 JoyCon",
|
||||
"ControllerSettingsControllerTypeJoyConRight": "右 JoyCon",
|
||||
"ControllerSettingsProfile": "预设",
|
||||
|
@ -196,7 +211,7 @@
|
|||
"ControllerSettingsLoad": "加载",
|
||||
"ControllerSettingsAdd": "新建",
|
||||
"ControllerSettingsRemove": "删除",
|
||||
"ControllerSettingsButtons": "按钮",
|
||||
"ControllerSettingsButtons": "按键",
|
||||
"ControllerSettingsButtonA": "A",
|
||||
"ControllerSettingsButtonB": "B",
|
||||
"ControllerSettingsButtonX": "X",
|
||||
|
@ -208,26 +223,17 @@
|
|||
"ControllerSettingsDPadDown": "下",
|
||||
"ControllerSettingsDPadLeft": "左",
|
||||
"ControllerSettingsDPadRight": "右",
|
||||
"ControllerSettingsStickButton": "按下摇杆",
|
||||
"ControllerSettingsStickUp": "上",
|
||||
"ControllerSettingsStickDown": "下",
|
||||
"ControllerSettingsStickLeft": "左",
|
||||
"ControllerSettingsStickRight": "右",
|
||||
"ControllerSettingsStickStick": "摇杆",
|
||||
"ControllerSettingsStickInvertXAxis": "反转 X 轴方向",
|
||||
"ControllerSettingsStickInvertYAxis": "反转 Y 轴方向",
|
||||
"ControllerSettingsStickDeadzone": "死区:",
|
||||
"ControllerSettingsLStick": "左摇杆",
|
||||
"ControllerSettingsLStickButton": "按下摇杆",
|
||||
"ControllerSettingsLStickUp": "上",
|
||||
"ControllerSettingsLStickDown": "下",
|
||||
"ControllerSettingsLStickLeft": "左",
|
||||
"ControllerSettingsLStickRight": "右",
|
||||
"ControllerSettingsLStickStick": "摇杆",
|
||||
"ControllerSettingsLStickInvertXAxis": "反转 X 方向",
|
||||
"ControllerSettingsLStickInvertYAxis": "反转 Y 方向",
|
||||
"ControllerSettingsLStickDeadzone": "死区:",
|
||||
"ControllerSettingsRStick": "右摇杆",
|
||||
"ControllerSettingsRStickButton": "按下摇杆",
|
||||
"ControllerSettingsRStickUp": "上",
|
||||
"ControllerSettingsRStickDown": "下",
|
||||
"ControllerSettingsRStickLeft": "左",
|
||||
"ControllerSettingsRStickRight": "右",
|
||||
"ControllerSettingsRStickStick": "摇杆",
|
||||
"ControllerSettingsRStickInvertXAxis": "反转 X 方向",
|
||||
"ControllerSettingsRStickInvertYAxis": "反转 Y 方向",
|
||||
"ControllerSettingsRStickDeadzone": "死区:",
|
||||
"ControllerSettingsTriggersLeft": "左扳机",
|
||||
"ControllerSettingsTriggersRight": "右扳机",
|
||||
"ControllerSettingsTriggersButtonsLeft": "左扳机键",
|
||||
|
@ -244,25 +250,26 @@
|
|||
"ControllerSettingsExtraButtonsLeft": "左背键",
|
||||
"ControllerSettingsExtraButtonsRight": "右背键",
|
||||
"ControllerSettingsMisc": "其他",
|
||||
"ControllerSettingsTriggerThreshold": "扳机阈值:",
|
||||
"ControllerSettingsTriggerThreshold": "扳机阈值:",
|
||||
"ControllerSettingsMotion": "体感",
|
||||
"ControllerSettingsMotionUseCemuhookCompatibleMotion": "使用 CemuHook 体感协议",
|
||||
"ControllerSettingsMotionControllerSlot": "手柄:",
|
||||
"ControllerSettingsMotionControllerSlot": "手柄:",
|
||||
"ControllerSettingsMotionMirrorInput": "镜像操作",
|
||||
"ControllerSettingsMotionRightJoyConSlot": "右JoyCon:",
|
||||
"ControllerSettingsMotionServerHost": "服务器 Host:",
|
||||
"ControllerSettingsMotionGyroSensitivity": "陀螺仪敏感度:",
|
||||
"ControllerSettingsMotionGyroDeadzone": "陀螺仪死区:",
|
||||
"ControllerSettingsMotionRightJoyConSlot": "右JoyCon:",
|
||||
"ControllerSettingsMotionServerHost": "服务器Host:",
|
||||
"ControllerSettingsMotionGyroSensitivity": "陀螺仪敏感度:",
|
||||
"ControllerSettingsMotionGyroDeadzone": "陀螺仪死区:",
|
||||
"ControllerSettingsSave": "保存",
|
||||
"ControllerSettingsClose": "关闭",
|
||||
"UserProfilesSelectedUserProfile": "选择的用户账户:",
|
||||
"UserProfilesSelectedUserProfile": "选择的用户账户:",
|
||||
"UserProfilesSaveProfileName": "保存名称",
|
||||
"UserProfilesChangeProfileImage": "更换头像",
|
||||
"UserProfilesAvailableUserProfiles": "现有账户:",
|
||||
"UserProfilesAvailableUserProfiles": "现有账户:",
|
||||
"UserProfilesAddNewProfile": "新建账户",
|
||||
"UserProfilesDeleteSelectedProfile": "删除选中账户",
|
||||
"UserProfilesDelete": "删除",
|
||||
"UserProfilesClose": "关闭",
|
||||
"ProfileImageSelectionTitle": "头像选择",
|
||||
"ProfileNameSelectionWatermark": "选择昵称",
|
||||
"ProfileImageSelectionTitle": "选择头像",
|
||||
"ProfileImageSelectionHeader": "选择合适的头像图片",
|
||||
"ProfileImageSelectionNote": "您可以导入自定义头像,或从系统中选择头像",
|
||||
"ProfileImageSelectionImportImage": "导入图像文件",
|
||||
|
@ -272,8 +279,8 @@
|
|||
"InputDialogCancel": "取消",
|
||||
"InputDialogAddNewProfileTitle": "选择用户名称",
|
||||
"InputDialogAddNewProfileHeader": "请输入账户名称",
|
||||
"InputDialogAddNewProfileSubtext": "(最大长度: {0})",
|
||||
"AvatarChoose": "选择",
|
||||
"InputDialogAddNewProfileSubtext": "(最大长度:{0})",
|
||||
"AvatarChoose": "选择头像",
|
||||
"AvatarSetBackgroundColor": "设置背景色",
|
||||
"AvatarClose": "关闭",
|
||||
"ControllerSettingsLoadProfileToolTip": "加载预设",
|
||||
|
@ -281,7 +288,8 @@
|
|||
"ControllerSettingsRemoveProfileToolTip": "删除预设",
|
||||
"ControllerSettingsSaveProfileToolTip": "保存预设",
|
||||
"MenuBarFileToolsTakeScreenshot": "保存截图",
|
||||
"MenuBarFileToolsHideUi": "Hide UI",
|
||||
"MenuBarFileToolsHideUi": "隐藏界面",
|
||||
"GameListContextMenuRunApplication": "运行应用",
|
||||
"GameListContextMenuToggleFavorite": "收藏",
|
||||
"GameListContextMenuToggleFavoriteToolTip": "标记喜爱的游戏",
|
||||
"SettingsTabGeneralTheme": "主题",
|
||||
|
@ -304,9 +312,9 @@
|
|||
"DialogExitTitle": "Ryujinx - 关闭",
|
||||
"DialogErrorMessage": "Ryujinx 发生错误",
|
||||
"DialogExitMessage": "是否关闭 Ryujinx?",
|
||||
"DialogExitSubMessage": "未保存的进度会丢失",
|
||||
"DialogMessageCreateSaveErrorMessage": "创建特定的存档时出错: {0}",
|
||||
"DialogMessageFindSaveErrorMessage": "查找特定的存档时出错: {0}",
|
||||
"DialogExitSubMessage": "未保存的进度将会丢失!",
|
||||
"DialogMessageCreateSaveErrorMessage": "创建特定的存档时出错:{0}",
|
||||
"DialogMessageFindSaveErrorMessage": "查找特定的存档时出错:{0}",
|
||||
"FolderDialogExtractTitle": "选择要解压到的文件夹",
|
||||
"DialogNcaExtractionMessage": "提取 {1} 的 {0} 分区...",
|
||||
"DialogNcaExtractionTitle": "Ryujinx - NCA分区提取",
|
||||
|
@ -316,13 +324,13 @@
|
|||
"DialogUpdaterConvertFailedMessage": "无法转换当前 Ryujinx 版本。",
|
||||
"DialogUpdaterCancelUpdateMessage": "更新取消!",
|
||||
"DialogUpdaterAlreadyOnLatestVersionMessage": "您使用的 Ryujinx 是最新版本。",
|
||||
"DialogUpdaterFailedToGetVersionMessage": "尝试从 Github 获取版本信息时无效。\n可能由于 GitHub Actions 正在编译新版本。请过几分钟重试。",
|
||||
"DialogUpdaterFailedToGetVersionMessage": "尝试从 Github 获取版本信息时无效。\n可能由于 GitHub Actions 正在编译新版本。请过一会再试。",
|
||||
"DialogUpdaterConvertFailedGithubMessage": "无法转换从 Github 接收到的 Ryujinx 版本。",
|
||||
"DialogUpdaterDownloadingMessage": "下载新版本中...",
|
||||
"DialogUpdaterExtractionMessage": "正在提取更新...",
|
||||
"DialogUpdaterRenamingMessage": "正在删除旧文件...",
|
||||
"DialogUpdaterAddingFilesMessage": "安装更新中...",
|
||||
"DialogUpdaterCompleteMessage": "更新成功!",
|
||||
"DialogUpdaterCompleteMessage": "更新成功!",
|
||||
"DialogUpdaterRestartMessage": "立即重启 Ryujinx 完成更新?",
|
||||
"DialogUpdaterArchNotSupportedMessage": "您运行的系统架构不受支持!",
|
||||
"DialogUpdaterArchNotSupportedSubMessage": "(仅支持 x64 系统)",
|
||||
|
@ -337,11 +345,15 @@
|
|||
"DialogFirmwareInstallEmbeddedSuccessMessage": "未找到已安装的固件,但 Ryujinx 可以从现有的游戏安装固件{0}.\n模拟器现在可以运行。",
|
||||
"DialogFirmwareNoFirmwareInstalledMessage": "未安装固件",
|
||||
"DialogFirmwareInstalledMessage": "已安装固件 {0}",
|
||||
"DialogInstallFileTypesSuccessMessage": "关联文件类型成功!",
|
||||
"DialogInstallFileTypesErrorMessage": "关联文件类型失败。",
|
||||
"DialogUninstallFileTypesSuccessMessage": "成功解除文件类型关联!",
|
||||
"DialogUninstallFileTypesErrorMessage": "解除文件类型关联失败。",
|
||||
"DialogOpenSettingsWindowLabel": "打开设置窗口",
|
||||
"DialogControllerAppletTitle": "控制器小窗口",
|
||||
"DialogMessageDialogErrorExceptionMessage": "显示消息对话框时出错: {0}",
|
||||
"DialogSoftwareKeyboardErrorExceptionMessage": "显示软件键盘时出错: {0}",
|
||||
"DialogErrorAppletErrorExceptionMessage": "显示错误对话框时出错: {0}",
|
||||
"DialogMessageDialogErrorExceptionMessage": "显示消息对话框时出错:{0}",
|
||||
"DialogSoftwareKeyboardErrorExceptionMessage": "显示软件键盘时出错:{0}",
|
||||
"DialogErrorAppletErrorExceptionMessage": "显示错误对话框时出错:{0}",
|
||||
"DialogUserErrorDialogMessage": "{0}: {1}",
|
||||
"DialogUserErrorDialogInfoMessage": "\n有关修复此错误的更多信息,可以遵循我们的设置指南。",
|
||||
"DialogUserErrorDialogTitle": "Ryujinx 错误 ({0})",
|
||||
|
@ -353,12 +365,12 @@
|
|||
"DialogProfileDeleteProfileTitle": "删除预设",
|
||||
"DialogProfileDeleteProfileMessage": "删除后不可恢复,确认删除吗?",
|
||||
"DialogWarning": "警告",
|
||||
"DialogPPTCDeletionMessage": "您即将删除:\n\n{0}的 PPTC 缓存\n\n确定吗?",
|
||||
"DialogPPTCDeletionErrorMessage": "清除位于{0}的 PPTC 缓存时出错: {1}",
|
||||
"DialogShaderDeletionMessage": "您即将删除:\n\n{0}的着色器缓存\n\n确定吗?",
|
||||
"DialogShaderDeletionErrorMessage": "清除位于{0}的着色器缓存时出错: {1}",
|
||||
"DialogPPTCDeletionMessage": "您即将删除:\n\n{0} 的 PPTC 缓存\n\n确定吗?",
|
||||
"DialogPPTCDeletionErrorMessage": "清除位于 {0} 的 PPTC 缓存时出错:{1}",
|
||||
"DialogShaderDeletionMessage": "您即将删除:\n\n{0} 的着色器缓存\n\n确定吗?",
|
||||
"DialogShaderDeletionErrorMessage": "清除位于 {0} 的着色器缓存时出错:{1}",
|
||||
"DialogRyujinxErrorMessage": "Ryujinx 遇到错误",
|
||||
"DialogInvalidTitleIdErrorMessage": "UI 错误:所选游戏没有有效的标题ID",
|
||||
"DialogInvalidTitleIdErrorMessage": "UI错误:所选游戏没有有效的标题ID",
|
||||
"DialogFirmwareInstallerFirmwareNotFoundErrorMessage": "路径 {0} 找不到有效的系统固件。",
|
||||
"DialogFirmwareInstallerFirmwareInstallTitle": "固件 {0}",
|
||||
"DialogFirmwareInstallerFirmwareInstallMessage": "即将安装系统版本 {0} 。",
|
||||
|
@ -368,9 +380,12 @@
|
|||
"DialogFirmwareInstallerFirmwareInstallSuccessMessage": "成功安装系统版本 {0} 。",
|
||||
"DialogUserProfileDeletionWarningMessage": "删除后将没有可选择的用户账户",
|
||||
"DialogUserProfileDeletionConfirmMessage": "是否删除选择的账户",
|
||||
"DialogUserProfileUnsavedChangesTitle": "警告 - 未保存的更改",
|
||||
"DialogUserProfileUnsavedChangesMessage": "您为该用户做出的部分改动尚未保存。",
|
||||
"DialogUserProfileUnsavedChangesSubMessage": "是否舍弃这些改动?",
|
||||
"DialogControllerSettingsModifiedConfirmMessage": "目前的输入预设已更新",
|
||||
"DialogControllerSettingsModifiedConfirmSubMessage": "要保存吗?",
|
||||
"DialogLoadNcaErrorMessage": "{0}. 错误的文件: {1}",
|
||||
"DialogLoadNcaErrorMessage": "{0}. 错误的文件:{1}",
|
||||
"DialogDlcNoDlcErrorMessage": "选择的文件不包含所选游戏的 DLC!",
|
||||
"DialogPerformanceCheckLoggingEnabledMessage": "您启用了跟踪日志,仅供开发人员使用。",
|
||||
"DialogPerformanceCheckLoggingEnabledConfirmMessage": "为了获得最佳性能,建议禁用跟踪日志记录。您是否要立即禁用?",
|
||||
|
@ -382,7 +397,7 @@
|
|||
"DialogSettingsBackendThreadingWarningTitle": "警告 - 后端多线程",
|
||||
"DialogSettingsBackendThreadingWarningMessage": "改变此选项后必须重启 Ryujinx 才能生效。\n\n取决于您的硬件,可能需要手动禁用驱动面板中的线程优化。",
|
||||
"SettingsTabGraphicsFeaturesOptions": "功能",
|
||||
"SettingsTabGraphicsBackendMultithreading": "后端多线程:",
|
||||
"SettingsTabGraphicsBackendMultithreading": "多线程图形后端:",
|
||||
"CommonAuto": "自动(推荐)",
|
||||
"CommonOff": "关闭",
|
||||
"CommonOn": "打开",
|
||||
|
@ -391,18 +406,18 @@
|
|||
"DialogProfileInvalidProfileNameErrorMessage": "文件名包含无效字符,请重试。",
|
||||
"MenuBarOptionsPauseEmulation": "暂停",
|
||||
"MenuBarOptionsResumeEmulation": "继续",
|
||||
"AboutUrlTooltipMessage": "在浏览器中打开 Ryujinx 的官网。",
|
||||
"AboutUrlTooltipMessage": "在浏览器中打开 Ryujinx 官网。",
|
||||
"AboutDisclaimerMessage": "Ryujinx 以任何方式与 Nintendo™ 及其任何商业伙伴都没有关联",
|
||||
"AboutAmiiboDisclaimerMessage": "我们的 Amiibo 模拟使用了\nAmiiboAPI (www.amiiboapi.com) ",
|
||||
"AboutPatreonUrlTooltipMessage": "在浏览器中打开 Ryujinx 的 Patreon 赞助页。",
|
||||
"AboutGithubUrlTooltipMessage": "在浏览器中打开 Ryujinx 的 GitHub 代码库。",
|
||||
"AboutDiscordUrlTooltipMessage": "在浏览器中打开 Ryujinx 的 Discord 邀请链接。",
|
||||
"AboutTwitterUrlTooltipMessage": "在浏览器中打开 Ryujinx 的 Twitter 主页。",
|
||||
"AboutRyujinxAboutTitle": "关于:",
|
||||
"AboutRyujinxAboutContent": "Ryujinx是一款Nintendo Switch™模拟器。\n您可以在 Patreon 上赞助 Ryujinx。\n关注 Twitter 或 Discord 可以获取模拟器最新动态。\n如果您对开发感兴趣,欢迎来 GitHub 和 Discord 加入我们!",
|
||||
"AboutRyujinxMaintainersTitle": "由以下作者维护:",
|
||||
"AboutRyujinxMaintainersContentTooltipMessage": "在浏览器中打开贡献者的网页",
|
||||
"AboutRyujinxSupprtersTitle": "感谢 Patreon 的赞助者:",
|
||||
"AboutRyujinxAboutTitle": "关于:",
|
||||
"AboutRyujinxAboutContent": "Ryujinx 是一款 Nintendo Switch™ 模拟器。\n您可以在 Patreon 上赞助 Ryujinx。\n关注 Twitter 或 Discord 可以获取模拟器最新动态。\n如果您对开发感兴趣,欢迎来 GitHub 或 Discord 加入我们!",
|
||||
"AboutRyujinxMaintainersTitle": "由以下作者维护:",
|
||||
"AboutRyujinxMaintainersContentTooltipMessage": "在浏览器中打开贡献者页面",
|
||||
"AboutRyujinxSupprtersTitle": "感谢 Patreon 的赞助者:",
|
||||
"AmiiboSeriesLabel": "Amiibo 系列",
|
||||
"AmiiboCharacterLabel": "角色",
|
||||
"AmiiboScanButtonLabel": "扫描",
|
||||
|
@ -413,9 +428,10 @@
|
|||
"DlcManagerTableHeadingContainerPathLabel": "文件夹路径",
|
||||
"DlcManagerTableHeadingFullPathLabel": "完整路径",
|
||||
"DlcManagerRemoveAllButton": "全部删除",
|
||||
"DlcManagerEnableAllButton": "全部选择",
|
||||
"DlcManagerEnableAllButton": "全部启用",
|
||||
"DlcManagerDisableAllButton": "全部禁用",
|
||||
"MenuBarOptionsChangeLanguage": "更改语言",
|
||||
"MenuBarShowFileTypes": "主页显示的文件类型",
|
||||
"CommonSort": "排序",
|
||||
"CommonShowNames": "显示名称",
|
||||
"CommonFavorite": "收藏",
|
||||
|
@ -430,41 +446,42 @@
|
|||
"CustomThemeCheckTooltip": "使用自定义UI主题来更改模拟器的外观样式",
|
||||
"CustomThemePathTooltip": "自定义主题的目录",
|
||||
"CustomThemeBrowseTooltip": "查找自定义主题",
|
||||
"DockModeToggleTooltip": "启用 Switch 的主机模式。\n绝大多数游戏画质会提高,略微增加性能消耗。\n在掌机和主机模式切换的过程中,您可能需要重新设置手柄类型",
|
||||
"DockModeToggleTooltip": "启用 Switch 的主机模式。\n绝大多数游戏画质会提高,略微增加性能消耗。\n在掌机和主机模式切换的过程中,您可能需要重新设置手柄类型。",
|
||||
"DirectKeyboardTooltip": "开启 \"直连键盘访问(HID)支持\"\n(部分游戏可以使用您的键盘输入文字)",
|
||||
"DirectMouseTooltip": "开启 \"直连鼠标访问(HID)支持\"\n(部分游戏可以使用您的鼠标导航)",
|
||||
"RegionTooltip": "更改系统区域",
|
||||
"LanguageTooltip": "更改系统语言",
|
||||
"TimezoneTooltip": "更改系统时区",
|
||||
"TimeTooltip": "更改系统时钟",
|
||||
"VSyncToggleTooltip": "关闭后,小部分游戏可以超过60FPS帧率,以获得高帧率体验。\n但是可能出现软锁或读盘时间增加。\n如不确定或没有需求,请保持选项开启",
|
||||
"PptcToggleTooltip": "缓存编译完成的游戏CPU指令。减少启动时间和卡顿,提高游戏响应速度",
|
||||
"FsIntegrityToggleTooltip": "检查游戏文件内容的完整性。\n遇到损坏的文件则记录到日志文件,有助于排查错误。\n对性能没有影响。",
|
||||
"AudioBackendTooltip": "默认推荐SDL,但每种音频后端对各类游戏兼容性不同,遇到音频问题可以尝试切换后端",
|
||||
"MemoryManagerTooltip": "改变 Switch 内存映射到电脑内存的方式,会影响CPU性能消耗",
|
||||
"MemoryManagerSoftwareTooltip": "使用软件内存页管理,最精确但是速度最慢",
|
||||
"MemoryManagerHostTooltip": "直接映射内存页到电脑内存,JIT效率高",
|
||||
"MemoryManagerUnsafeTooltip": "直接映射内存页,但不检查内存溢出,JIT效率最高。\nRyujinx可以访问任何位置的内存,因而相对不安全。\n此模式下只应运行您信任的游戏或软件(即官方游戏)",
|
||||
"VSyncToggleTooltip": "关闭后,小部分游戏可以超过60FPS帧率,以获得高帧率体验。\n但是可能出现软锁或读盘时间增加。\n如不确定,就请保持开启状态。",
|
||||
"PptcToggleTooltip": "缓存编译完成的游戏CPU指令。减少启动时间和卡顿,提高游戏响应速度。\n如不确定,就请保持开启状态。",
|
||||
"FsIntegrityToggleTooltip": "检查游戏文件内容的完整性。\n遇到损坏的文件则记录到日志文件,有助于排查错误。\n对性能没有影响。\n如不确定,就请保持开启状态。",
|
||||
"AudioBackendTooltip": "默认推荐SDL2,但每种音频后端对各类游戏兼容性不同,遇到音频问题可以尝试切换后端。",
|
||||
"MemoryManagerTooltip": "改变 Switch 内存映射到电脑内存的方式,会影响CPU性能消耗。",
|
||||
"MemoryManagerSoftwareTooltip": "使用软件内存页管理,最精确但是速度最慢。",
|
||||
"MemoryManagerHostTooltip": "直接映射内存页到电脑内存,使得即时编译效率更高。",
|
||||
"MemoryManagerUnsafeTooltip": "直接映射内存页,但不检查内存溢出,使得即时编译效率更高。\nRyujinx 可以访问任何位置的内存,因而相对不安全。\n此模式下只应运行您信任的游戏或软件(即官方游戏)。",
|
||||
"UseHypervisorTooltip": "使用 Hypervisor 虚拟机代替即时编译。在可用的情况下能大幅提高性能。但目前可能不稳定。",
|
||||
"DRamTooltip": "使用Switch开发机的内存布局。\n不会提高任何性能,某些高清纹理包或 4k 分辨率 MOD 可能需要此选项。\n如果不确定,请始终关闭该选项。",
|
||||
"IgnoreMissingServicesTooltip": "开启后,游戏会忽略未实现的系统服务,从而继续运行。\n少部分新发布的游戏由于使用新的未知系统服务,可能需要此选项来避免闪退。\n模拟器更新完善系统服务之后,则无需开启选项。\n如您的游戏已经正常运行,请保持此选项关闭",
|
||||
"GraphicsBackendThreadingTooltip": "启用后端多线程",
|
||||
"GalThreadingTooltip": "使用模拟器内置的多线程优化,减少着色器编译的卡顿,并提高驱动程序的性能(尤其是缺失多线程的AMD)。\nNVIDIA显卡需要重启模拟器才能禁用驱动本身的线程优化,您也可以手动在控制面板将其禁用",
|
||||
"ShaderCacheToggleTooltip": "开启后,模拟器会保存编译完成的着色器到磁盘,减少游戏渲染新特效和场景时的卡顿",
|
||||
"IgnoreMissingServicesTooltip": "开启后,游戏会忽略未实现的系统服务,从而继续运行。\n少部分新发布的游戏由于使用新的未知系统服务,可能需要此选项来避免闪退。\n模拟器更新完善系统服务之后,则无需开启选项。\n如您的游戏已经正常运行,请保持此选项关闭。",
|
||||
"GraphicsBackendThreadingTooltip": "在第二个线程上执行图形后端命令。\n\n加速着色器编译,减少卡顿,提高 GPU 的性能。\n\n如果不确定,请设置为自动。",
|
||||
"GalThreadingTooltip": "在第二个线程上执行图形后端命令。\n\n加速着色器编译,减少卡顿,提高 GPU 的性能。\n\n如果不确定,请设置为自动。",
|
||||
"ShaderCacheToggleTooltip": "开启后,模拟器会保存编译完成的着色器到磁盘,减少游戏渲染新特效和场景时的卡顿。",
|
||||
"ResolutionScaleTooltip": "缩放渲染的分辨率",
|
||||
"ResolutionScaleEntryTooltip": "尽可能使用例如1.5的浮点倍数。非整数的倍率易引起 BUG",
|
||||
"ResolutionScaleEntryTooltip": "尽可能使用例如1.5的浮点倍数。非整数的倍率易引起 BUG。",
|
||||
"AnisotropyTooltip": "各向异性过滤等级。提高倾斜视角纹理的清晰度\n('自动'使用游戏默认的等级)",
|
||||
"AspectRatioTooltip": "渲染窗口的宽高比",
|
||||
"AspectRatioTooltip": "渲染窗口的宽高比。",
|
||||
"ShaderDumpPathTooltip": "转储图形着色器的路径",
|
||||
"FileLogTooltip": "是否保存日志文件到硬盘",
|
||||
"StubLogTooltip": "记录Stub消息",
|
||||
"InfoLogTooltip": "记录Info消息",
|
||||
"WarnLogTooltip": "记录Warning消息",
|
||||
"ErrorLogTooltip": "记录Error消息",
|
||||
"TraceLogTooltip": "记录Trace消息",
|
||||
"GuestLogTooltip": "记录Guest消息",
|
||||
"FileAccessLogTooltip": "记录文件访问消息",
|
||||
"FSAccessLogModeTooltip": "记录FS访问消息,输出到控制台。可选的模式是0-3",
|
||||
"DeveloperOptionTooltip": "使用请谨慎",
|
||||
"FileLogTooltip": "保存日志文件到硬盘。不会影响性能。",
|
||||
"StubLogTooltip": "在控制台中打印 stub 日志消息。不影响性能。",
|
||||
"InfoLogTooltip": "在控制台中打印信息日志消息。不影响性能。",
|
||||
"WarnLogTooltip": "在控制台中打印警告日志消息。不影响性能。",
|
||||
"ErrorLogTooltip": "打印控制台中的错误日志消息。不影响性能。",
|
||||
"TraceLogTooltip": "在控制台中打印跟踪日志消息。不影响性能。",
|
||||
"GuestLogTooltip": "在控制台中打印访客日志消息。不影响性能。",
|
||||
"FileAccessLogTooltip": "在控制台中打印文件访问日志信息。",
|
||||
"FSAccessLogModeTooltip": "启用访问日志输出到控制台。可能的模式为 0-3",
|
||||
"DeveloperOptionTooltip": "谨慎使用",
|
||||
"OpenGlLogLevel": "需要打开适当的日志等级",
|
||||
"DebugLogTooltip": "记录Debug消息",
|
||||
"LoadApplicationFileTooltip": "选择 Switch 支持的游戏格式并加载",
|
||||
|
@ -476,18 +493,18 @@
|
|||
"OpenProfileManagerTooltip": "打开用户账户管理界面",
|
||||
"StopEmulationTooltip": "停止运行当前游戏并回到主界面",
|
||||
"CheckUpdatesTooltip": "检查 Ryujinx 新版本",
|
||||
"OpenAboutTooltip": "打开'关于'窗口",
|
||||
"OpenAboutTooltip": "打开“关于”窗口",
|
||||
"GridSize": "网格尺寸",
|
||||
"GridSizeTooltip": "调整网格模式的大小",
|
||||
"SettingsTabSystemSystemLanguageBrazilianPortuguese": "巴西葡萄牙语",
|
||||
"AboutRyujinxContributorsButtonHeader": "查看所有参与者",
|
||||
"SettingsTabSystemAudioVolume": "音量: ",
|
||||
"SettingsTabSystemAudioVolume": "音量:",
|
||||
"AudioVolumeTooltip": "调节音量",
|
||||
"SettingsTabSystemEnableInternetAccess": "允许网络访问/局域网模式",
|
||||
"EnableInternetAccessTooltip": "允许模拟的游戏进程访问互联网。\n当多个模拟器/真实Switch连接到同一个局域网时,带有 LAN 模式的游戏可以相互通信。\n即使开启选项也无法访问 Nintendo 服务器。此外可能导致某些尝试联网的游戏崩溃。\n如果您不确定,请关闭该选项。",
|
||||
"EnableInternetAccessTooltip": "允许模拟的游戏进程访问互联网。\n当多个模拟器/真实的 Switch 连接到同一个局域网时,带有 LAN 模式的游戏可以相互通信。\n即使开启选项也无法访问 Nintendo 服务器。此外可能导致某些尝试联网的游戏崩溃。\n如果您不确定,请关闭该选项。",
|
||||
"GameListContextMenuManageCheatToolTip": "管理金手指",
|
||||
"GameListContextMenuManageCheat": "管理金手指",
|
||||
"ControllerSettingsStickRange": "范围",
|
||||
"ControllerSettingsStickRange": "范围:",
|
||||
"DialogStopEmulationTitle": "Ryujinx - 停止模拟",
|
||||
"DialogStopEmulationMessage": "是否确定停止模拟?",
|
||||
"SettingsTabCpu": "CPU",
|
||||
|
@ -497,14 +514,14 @@
|
|||
"SettingsTabCpuCache": "CPU 缓存",
|
||||
"SettingsTabCpuMemory": "CPU 内存",
|
||||
"DialogUpdaterFlatpakNotSupportedMessage": "请通过 FlatHub 更新 Ryujinx。",
|
||||
"UpdaterDisabledWarningTitle": "更新已禁用!",
|
||||
"UpdaterDisabledWarningTitle": "更新已禁用!",
|
||||
"GameListContextMenuOpenSdModsDirectory": "打开 Atmosphere MOD 目录",
|
||||
"GameListContextMenuOpenSdModsDirectoryToolTip": "打开适用于 Atmosphere 自制系统的 MOD 目录",
|
||||
"ControllerSettingsRotate90": "顺时针旋转 90°",
|
||||
"IconSize": "图标尺寸",
|
||||
"IconSizeTooltip": "更改游戏图标大小",
|
||||
"MenuBarOptionsShowConsole": "显示控制台",
|
||||
"ShaderCachePurgeError": "清除着色器缓存时出错: {0}: {1}",
|
||||
"ShaderCachePurgeError": "清除着色器缓存时出错:{0}: {1}",
|
||||
"UserErrorNoKeys": "找不到密钥",
|
||||
"UserErrorNoFirmware": "找不到固件",
|
||||
"UserErrorFirmwareParsingFailed": "固件解析错误",
|
||||
|
@ -513,28 +530,28 @@
|
|||
"UserErrorUndefined": "未定义错误",
|
||||
"UserErrorNoKeysDescription": "Ryujinx 找不到 'prod.keys' 文件",
|
||||
"UserErrorNoFirmwareDescription": "Ryujinx 找不到任何已安装的固件",
|
||||
"UserErrorFirmwareParsingFailedDescription": "Ryujinx 无法解密选择的固件。这通常是由于过旧的密钥。",
|
||||
"UserErrorFirmwareParsingFailedDescription": "Ryujinx 无法解密选择的固件。这通常是由于使用了过旧的密钥。",
|
||||
"UserErrorApplicationNotFoundDescription": "Ryujinx 在选中路径找不到有效的应用程序。",
|
||||
"UserErrorUnknownDescription": "发生未知错误!",
|
||||
"UserErrorUndefinedDescription": "发生了未定义错误!此类错误不应出现,请联系开发人员!",
|
||||
"OpenSetupGuideMessage": "打开设置教程",
|
||||
"NoUpdate": "无更新",
|
||||
"TitleUpdateVersionLabel": "版本 {0} - {1}",
|
||||
"TitleUpdateVersionLabel": "版本 {0}",
|
||||
"RyujinxInfo": "Ryujinx - 信息",
|
||||
"RyujinxConfirm": "Ryujinx - 确认",
|
||||
"FileDialogAllTypes": "全部类型",
|
||||
"Never": "从未",
|
||||
"Never": "从不",
|
||||
"SwkbdMinCharacters": "至少应为 {0} 个字长",
|
||||
"SwkbdMinRangeCharacters": "必须为 {0}-{1} 个字长",
|
||||
"SoftwareKeyboard": "软件键盘",
|
||||
"SoftwareKeyboardModeNumbersOnly": "只接受数字",
|
||||
"SoftwareKeyboardModeAlphabet": "只接受英文字母",
|
||||
"SoftwareKeyboardModeAlphabet": "只接受非中日韩文字",
|
||||
"SoftwareKeyboardModeASCII": "只接受 ASCII 符号",
|
||||
"DialogControllerAppletMessagePlayerRange": "游戏需要 {0} 个玩家并满足以下要求:\n\n手柄类型:{1}\n\n玩家类型:{2}\n\n{3} 请打开设置窗口,重新配置手柄输入;或者关闭返回。",
|
||||
"DialogControllerAppletMessage": "游戏需要刚好 {0} 个玩家并满足以下要求:\n\n手柄类型:{1}\n\n玩家类型:{2}\n\n{3} 请打开设置窗口,重新配置手柄输入;或者关闭返回。",
|
||||
"DialogControllerAppletDockModeSet": "目前处于主机模式,无法使用掌机操作方式",
|
||||
"UpdaterRenaming": "正在删除旧文件...",
|
||||
"UpdaterRenameFailed": "更新过程中无法重命名文件: {0}",
|
||||
"UpdaterRenameFailed": "更新过程中无法重命名文件:{0}",
|
||||
"UpdaterAddingFiles": "安装更新中...",
|
||||
"UpdaterExtracting": "正在提取更新...",
|
||||
"UpdaterDownloading": "下载新版本中...",
|
||||
|
@ -548,17 +565,17 @@
|
|||
"CompilingPPTC": "编译PPTC缓存中",
|
||||
"CompilingShaders": "编译着色器中",
|
||||
"AllKeyboards": "所有键盘",
|
||||
"OpenFileDialogTitle": "选择支持的文件格式",
|
||||
"OpenFileDialogTitle": "选择一个支持的文件以打开",
|
||||
"OpenFolderDialogTitle": "选择一个包含解包游戏的文件夹",
|
||||
"AllSupportedFormats": "所有支持的格式",
|
||||
"RyujinxUpdater": "Ryujinx 更新程序",
|
||||
"SettingsTabHotkeys": "快捷键",
|
||||
"SettingsTabHotkeysHotkeys": "键盘快捷键",
|
||||
"SettingsTabHotkeysToggleVsyncHotkey": "切换垂直同步",
|
||||
"SettingsTabHotkeysScreenshotHotkey": "截屏",
|
||||
"SettingsTabHotkeysShowUiHotkey": "隐藏UI",
|
||||
"SettingsTabHotkeysPauseHotkey": "暂停",
|
||||
"SettingsTabHotkeysToggleMuteHotkey": "静音",
|
||||
"SettingsTabHotkeysToggleVsyncHotkey": "切换垂直同步:",
|
||||
"SettingsTabHotkeysScreenshotHotkey": "截屏:",
|
||||
"SettingsTabHotkeysShowUiHotkey": "隐藏 界面:",
|
||||
"SettingsTabHotkeysPauseHotkey": "暂停:",
|
||||
"SettingsTabHotkeysToggleMuteHotkey": "静音:",
|
||||
"ControllerMotionTitle": "体感操作设置",
|
||||
"ControllerRumbleTitle": "震动设置",
|
||||
"SettingsSelectThemeFileDialogTitle": "选择主题文件",
|
||||
|
@ -572,9 +589,10 @@
|
|||
"SelectUpdateDialogTitle": "选择更新文件",
|
||||
"UserProfileWindowTitle": "管理用户账户",
|
||||
"CheatWindowTitle": "金手指管理器",
|
||||
"DlcWindowTitle": "管理游戏 DLC",
|
||||
"DlcWindowTitle": "管理 {0} ({1}) 的 DLC",
|
||||
"UpdateWindowTitle": "游戏更新管理器",
|
||||
"CheatWindowHeading": "适用于 {0} [{1}] 的金手指",
|
||||
"BuildId": "游戏版本ID:",
|
||||
"DlcWindowHeading": "{0} 个适用于 {1} ({2}) 的 DLC",
|
||||
"UserProfilesEditProfile": "编辑选中账户",
|
||||
"Cancel": "取消",
|
||||
|
@ -583,35 +601,56 @@
|
|||
"UserProfilesSetProfileImage": "选择头像",
|
||||
"UserProfileEmptyNameError": "必须输入名称",
|
||||
"UserProfileNoImageError": "请选择您的头像",
|
||||
"GameUpdateWindowHeading": "{0} 个适用于 {1} ({2}) 的更新",
|
||||
"SettingsTabHotkeysResScaleUpHotkey": "提高分辨率:",
|
||||
"SettingsTabHotkeysResScaleDownHotkey": "降低分辨率:",
|
||||
"UserProfilesName": "名称:",
|
||||
"UserProfilesUserId": "用户 ID:",
|
||||
"GameUpdateWindowHeading": "管理 {0} ({1}) 的更新",
|
||||
"SettingsTabHotkeysResScaleUpHotkey": "提高分辨率:",
|
||||
"SettingsTabHotkeysResScaleDownHotkey": "降低分辨率:",
|
||||
"UserProfilesName": "名称:",
|
||||
"UserProfilesUserId": "用户ID:",
|
||||
"SettingsTabGraphicsBackend": "图形后端",
|
||||
"SettingsTabGraphicsBackendTooltip": "显卡使用的图形后端",
|
||||
"SettingsEnableTextureRecompression": "启用纹理重压缩",
|
||||
"SettingsEnableTextureRecompressionTooltip": "压缩某些纹理以减少显存的使用。\n适合显存小于 4GiB 的 GPU开启。\n如果您不确定,请保持此项为关闭。",
|
||||
"SettingsEnableTextureRecompressionTooltip": "压缩某些纹理以减少显存的使用。\n适合显存小于 4GiB 的 GPU 开启。\n如果您不确定,请保持此项关闭。",
|
||||
"SettingsTabGraphicsPreferredGpu": "首选 GPU",
|
||||
"SettingsTabGraphicsPreferredGpuTooltip": "选择Vulkan API使用的显卡。\n此选项不会影响OpenGL API。\n如果您不确定,建议选择\"dGPU(独立显卡)\"。如果没有独立显卡,则无需改动此选项",
|
||||
"SettingsTabGraphicsPreferredGpuTooltip": "选择 Vulkan API 使用的显卡。\n此选项不会影响 OpenGL API。\n如果您不确定,建议选择\"dGPU(独立显卡)\"。如果没有独立显卡,则无需改动此选项。",
|
||||
"SettingsAppRequiredRestartMessage": "Ryujinx 需要重启",
|
||||
"SettingsGpuBackendRestartMessage": "您修改了图形 API 或显卡设置。需要重新启动才能生效",
|
||||
"SettingsGpuBackendRestartSubMessage": "是否重启模拟器?",
|
||||
"RyujinxUpdaterMessage": "是否更新 Ryujinx 到最新的版本?",
|
||||
"SettingsTabHotkeysVolumeUpHotkey": "音量加",
|
||||
"SettingsTabHotkeysVolumeDownHotkey": "音量减",
|
||||
"SettingsTabHotkeysVolumeUpHotkey": "音量加:",
|
||||
"SettingsTabHotkeysVolumeDownHotkey": "音量减:",
|
||||
"SettingsEnableMacroHLE": "启用 HLE 宏",
|
||||
"SettingsEnableMacroHLETooltip": "GPU 宏代码的高级模拟。\n提高性能表现,但可能在某些游戏中引起图形错误。\n如果您不确定,请保持此项为开启。",
|
||||
"SettingsEnableMacroHLETooltip": "GPU 宏代码的高级模拟。\n提高性能表现,但可能在某些游戏中引起图形错误。\n如果您不确定,请保持此项开启。",
|
||||
"SettingsEnableColorSpacePassthrough": "颜色空间穿透",
|
||||
"SettingsEnableColorSpacePassthroughTooltip": "指示 Vulkan 后端在不指定颜色空间的情况下传递颜色信息。对于具有宽色域显示器的用户来说,这可能会以颜色正确性为代价,产生更鲜艳的颜色。",
|
||||
"VolumeShort": "音量",
|
||||
"UserProfilesManageSaves": "管理存档",
|
||||
"DeleteUserSave": "确定删除这个游戏的存档吗?",
|
||||
"IrreversibleActionNote": "删除后不可恢复。",
|
||||
"SaveManagerHeading": "管理 {0} 的存档",
|
||||
"SaveManagerHeading": "管理 {0} ({1}) 的存档",
|
||||
"SaveManagerTitle": "存档管理器",
|
||||
"Name": "名称",
|
||||
"Size": "大小",
|
||||
"Search": "搜索",
|
||||
"UserProfilesRecoverLostAccounts": "恢复丢失的账户",
|
||||
"Recover": "恢复",
|
||||
"UserProfilesRecoverHeading": "找到了这些用户的存档数据"
|
||||
"UserProfilesRecoverHeading": "找到了这些用户的存档数据",
|
||||
"UserProfilesRecoverEmptyList": "没有可以恢复的配置文件",
|
||||
"GraphicsAATooltip": "将抗锯齿使用到游戏渲染中",
|
||||
"GraphicsAALabel": "抗锯齿:",
|
||||
"GraphicsScalingFilterLabel": "缩放过滤:",
|
||||
"GraphicsScalingFilterTooltip": "对帧缓冲区进行缩放",
|
||||
"GraphicsScalingFilterLevelLabel": "等级",
|
||||
"GraphicsScalingFilterLevelTooltip": "设置缩放过滤级别",
|
||||
"SmaaLow": "SMAA 低质量",
|
||||
"SmaaMedium": "SMAA 中质量",
|
||||
"SmaaHigh": "SMAA 高质量",
|
||||
"SmaaUltra": "SMAA 极致质量",
|
||||
"UserEditorTitle": "编辑用户",
|
||||
"UserEditorTitleCreate": "创建用户",
|
||||
"SettingsTabNetworkInterface": "网络接口:",
|
||||
"NetworkInterfaceTooltip": "用于局域网功能的网络接口",
|
||||
"NetworkInterfaceDefault": "默认",
|
||||
"PackagingShaders": "整合着色器中",
|
||||
"AboutChangelogButton": "在Github上查看更新日志",
|
||||
"AboutChangelogButtonTooltipMessage": "点击这里在您的默认浏览器中打开此版本的更新日志。"
|
||||
}
|
|
@ -1,15 +1,16 @@
|
|||
{
|
||||
"Language": "繁體中文",
|
||||
"MenuBarFileOpenApplet": "打開小程式",
|
||||
"MenuBarFileOpenAppletOpenMiiAppletToolTip": "打開獨立的 Mii 小程式",
|
||||
"SettingsTabInputDirectMouseAccess": "直通滑鼠操作",
|
||||
"SettingsTabSystemMemoryManagerMode": "記憶體管理模式:",
|
||||
"Language": "英文 (美國)",
|
||||
"MenuBarFileOpenApplet": "開啟 Applet 應用程序",
|
||||
"MenuBarFileOpenAppletOpenMiiAppletToolTip": "開啟獨立的Mii修改器應用程序",
|
||||
"SettingsTabInputDirectMouseAccess": "滑鼠直接操作",
|
||||
"SettingsTabSystemMemoryManagerMode": "記憶體管理模式:",
|
||||
"SettingsTabSystemMemoryManagerModeSoftware": "軟體",
|
||||
"SettingsTabSystemMemoryManagerModeHost": "Host (快速)",
|
||||
"SettingsTabSystemMemoryManagerModeHostUnchecked": "Host 略過檢查 (最快,但較不安全)",
|
||||
"SettingsTabSystemMemoryManagerModeHost": "主機模式 (快速)",
|
||||
"SettingsTabSystemMemoryManagerModeHostUnchecked": "主機略過檢查模式 (最快, 但不安全)",
|
||||
"SettingsTabSystemUseHypervisor": "使用 Hypervisor",
|
||||
"MenuBarFile": "_檔案",
|
||||
"MenuBarFileOpenFromFile": "_載入檔案",
|
||||
"MenuBarFileOpenUnpacked": "載入_解包後的遊戲",
|
||||
"MenuBarFileOpenUnpacked": "載入_已解開封裝的遊戲",
|
||||
"MenuBarFileOpenEmuFolder": "開啟 Ryujinx 資料夾",
|
||||
"MenuBarFileOpenLogsFolder": "開啟日誌資料夾",
|
||||
"MenuBarFileExit": "_退出",
|
||||
|
@ -18,7 +19,7 @@
|
|||
"MenuBarOptionsStartGamesInFullscreen": "使用全螢幕模式啟動遊戲",
|
||||
"MenuBarOptionsStopEmulation": "停止模擬",
|
||||
"MenuBarOptionsSettings": "_設定",
|
||||
"MenuBarOptionsManageUserProfiles": "_管理使用者帳號",
|
||||
"MenuBarOptionsManageUserProfiles": "_管理使用者帳戶",
|
||||
"MenuBarActions": "_動作",
|
||||
"MenuBarOptionsSimulateWakeUpMessage": "模擬喚醒訊息",
|
||||
"MenuBarActionsScanAmiibo": "掃描 Amiibo",
|
||||
|
@ -26,6 +27,9 @@
|
|||
"MenuBarToolsInstallFirmware": "安裝韌體",
|
||||
"MenuBarFileToolsInstallFirmwareFromFile": "從 XCI 或 ZIP 安裝韌體",
|
||||
"MenuBarFileToolsInstallFirmwareFromDirectory": "從資料夾安裝韌體",
|
||||
"MenuBarToolsManageFileTypes": "管理檔案類型",
|
||||
"MenuBarToolsInstallFileTypes": "註冊檔案類型",
|
||||
"MenuBarToolsUninstallFileTypes": "取消註冊檔案類型",
|
||||
"MenuBarHelp": "幫助",
|
||||
"MenuBarHelpCheckForUpdates": "檢查更新",
|
||||
"MenuBarHelpAbout": "關於",
|
||||
|
@ -33,34 +37,34 @@
|
|||
"GameListHeaderFavorite": "收藏",
|
||||
"GameListHeaderIcon": "圖示",
|
||||
"GameListHeaderApplication": "名稱",
|
||||
"GameListHeaderDeveloper": "開發商",
|
||||
"GameListHeaderDeveloper": "開發人員",
|
||||
"GameListHeaderVersion": "版本",
|
||||
"GameListHeaderTimePlayed": "遊玩時間",
|
||||
"GameListHeaderLastPlayed": "上次遊玩",
|
||||
"GameListHeaderTimePlayed": "遊玩時數",
|
||||
"GameListHeaderLastPlayed": "最近遊玩",
|
||||
"GameListHeaderFileExtension": "副檔名",
|
||||
"GameListHeaderFileSize": "大小",
|
||||
"GameListHeaderFileSize": "檔案大小",
|
||||
"GameListHeaderPath": "路徑",
|
||||
"GameListContextMenuOpenUserSaveDirectory": "開啟使用者存檔資料夾",
|
||||
"GameListContextMenuOpenUserSaveDirectoryToolTip": "開啟儲存遊戲存檔的資料夾",
|
||||
"GameListContextMenuOpenUserSaveDirectoryToolTip": "開啟此遊戲的存檔資料夾",
|
||||
"GameListContextMenuOpenDeviceSaveDirectory": "開啟系統資料夾",
|
||||
"GameListContextMenuOpenDeviceSaveDirectoryToolTip": "開啟包含遊戲系統設定的資料夾",
|
||||
"GameListContextMenuOpenDeviceSaveDirectoryToolTip": "開啟此遊戲的系統設定資料夾",
|
||||
"GameListContextMenuOpenBcatSaveDirectory": "開啟 BCAT 資料夾",
|
||||
"GameListContextMenuOpenBcatSaveDirectoryToolTip": "開啟包含遊戲 BCAT 資料的資料夾",
|
||||
"GameListContextMenuOpenBcatSaveDirectoryToolTip": "開啟此遊戲的 BCAT 資料夾\n",
|
||||
"GameListContextMenuManageTitleUpdates": "管理遊戲更新",
|
||||
"GameListContextMenuManageTitleUpdatesToolTip": "開啟更新管理視窗",
|
||||
"GameListContextMenuManageTitleUpdatesToolTip": "開啟遊戲更新管理視窗",
|
||||
"GameListContextMenuManageDlc": "管理 DLC",
|
||||
"GameListContextMenuManageDlcToolTip": "開啟 DLC 管理視窗",
|
||||
"GameListContextMenuOpenModsDirectory": "開啟模組資料夾",
|
||||
"GameListContextMenuOpenModsDirectoryToolTip": "開啟存放遊戲模組的資料夾",
|
||||
"GameListContextMenuOpenModsDirectoryToolTip": "開啟此遊戲的模組資料夾",
|
||||
"GameListContextMenuCacheManagement": "快取管理",
|
||||
"GameListContextMenuCacheManagementPurgePptc": "清除 PPTC 快取",
|
||||
"GameListContextMenuCacheManagementPurgePptcToolTip": "刪除遊戲的 PPTC 快取",
|
||||
"GameListContextMenuCacheManagementPurgeShaderCache": "清除渲染器快取",
|
||||
"GameListContextMenuCacheManagementPurgeShaderCacheToolTip": "刪除遊戲的渲染器快取",
|
||||
"GameListContextMenuCacheManagementPurgeShaderCache": "清除著色器快取",
|
||||
"GameListContextMenuCacheManagementPurgeShaderCacheToolTip": "刪除遊戲的著色器快取",
|
||||
"GameListContextMenuCacheManagementOpenPptcDirectory": "開啟 PPTC 資料夾",
|
||||
"GameListContextMenuCacheManagementOpenPptcDirectoryToolTip": "開啟包含遊戲 PPTC 快取的資料夾",
|
||||
"GameListContextMenuCacheManagementOpenShaderCacheDirectory": "開啟渲染器快取資料夾",
|
||||
"GameListContextMenuCacheManagementOpenShaderCacheDirectoryToolTip": "開啟包含應用程式渲染器快取的資料夾",
|
||||
"GameListContextMenuCacheManagementOpenPptcDirectoryToolTip": "開啟此遊戲的 PPTC 快取資料夾",
|
||||
"GameListContextMenuCacheManagementOpenShaderCacheDirectory": "開啟著色器快取資料夾",
|
||||
"GameListContextMenuCacheManagementOpenShaderCacheDirectoryToolTip": "開啟此遊戲的著色器快取資料夾",
|
||||
"GameListContextMenuExtractData": "提取資料",
|
||||
"GameListContextMenuExtractDataExeFS": "ExeFS",
|
||||
"GameListContextMenuExtractDataExeFSToolTip": "從遊戲的目前狀態中提取 ExeFS 分區(包含更新)",
|
||||
|
@ -69,14 +73,24 @@
|
|||
"GameListContextMenuExtractDataLogo": "圖示",
|
||||
"GameListContextMenuExtractDataLogoToolTip": "從遊戲的目前狀態中提取圖示(包含更新)",
|
||||
"StatusBarGamesLoaded": "{0}/{1} 遊戲載入完成",
|
||||
"StatusBarSystemVersion": "系統版本: {0}",
|
||||
"StatusBarSystemVersion": "系統版本: {0}",
|
||||
"LinuxVmMaxMapCountDialogTitle": "檢測到映射的記憶體上限過低",
|
||||
"LinuxVmMaxMapCountDialogTextPrimary": "你願意增加 vm.max_map_count to {0} 的數值嗎?",
|
||||
"LinuxVmMaxMapCountDialogTextSecondary": "遊戲佔用的記憶體超出了映射的上限. Ryujinx的處理程序即將面臨崩潰.",
|
||||
"LinuxVmMaxMapCountDialogButtonUntilRestart": "碓定 (直至下一次重新啟動)",
|
||||
"LinuxVmMaxMapCountDialogButtonPersistent": "碓定 (永遠設定)",
|
||||
"LinuxVmMaxMapCountWarningTextPrimary": "映射記憶體的最大值少於目前建議的下限.",
|
||||
"LinuxVmMaxMapCountWarningTextSecondary": "目前 vm.max_map_count ({0}) 的數值少於 {1}. 遊戲佔用的記憶體超出了映射的上限. Ryujinx的處理程序即將面臨崩潰.\n\n你可能需要手動增加上限或安裝 pkexec, 這些都能協助Ryujinx完成此操作.",
|
||||
"Settings": "設定",
|
||||
"SettingsTabGeneral": "使用者介面",
|
||||
"SettingsTabGeneralGeneral": "一般",
|
||||
"SettingsTabGeneralEnableDiscordRichPresence": "啟用 Discord 動態狀態展示",
|
||||
"SettingsTabGeneralCheckUpdatesOnLaunch": "自動檢查更新",
|
||||
"SettingsTabGeneralShowConfirmExitDialog": "顯示「確認離開」對話框",
|
||||
"SettingsTabGeneralHideCursor": "隱藏滑鼠遊標:",
|
||||
"SettingsTabGeneralHideCursorNever": "永不",
|
||||
"SettingsTabGeneralHideCursorOnIdle": "自動隱藏滑鼠",
|
||||
"SettingsTabGeneralHideCursorAlways": "總是",
|
||||
"SettingsTabGeneralGameDirectories": "遊戲資料夾",
|
||||
"SettingsTabGeneralAdd": "新增",
|
||||
"SettingsTabGeneralRemove": "刪除",
|
||||
|
@ -91,85 +105,86 @@
|
|||
"SettingsTabSystemSystemRegionKorea": "韓國",
|
||||
"SettingsTabSystemSystemRegionTaiwan": "台灣",
|
||||
"SettingsTabSystemSystemLanguage": "系統語言:",
|
||||
"SettingsTabSystemSystemLanguageJapanese": "日語",
|
||||
"SettingsTabSystemSystemLanguageAmericanEnglish": "美式英語",
|
||||
"SettingsTabSystemSystemLanguageFrench": "法語",
|
||||
"SettingsTabSystemSystemLanguageGerman": "德語",
|
||||
"SettingsTabSystemSystemLanguageItalian": "義大利語",
|
||||
"SettingsTabSystemSystemLanguageSpanish": "西班牙語",
|
||||
"SettingsTabSystemSystemLanguageJapanese": "日文",
|
||||
"SettingsTabSystemSystemLanguageAmericanEnglish": "英文 (美國)",
|
||||
"SettingsTabSystemSystemLanguageFrench": "法文",
|
||||
"SettingsTabSystemSystemLanguageGerman": "德文",
|
||||
"SettingsTabSystemSystemLanguageItalian": "義大利文",
|
||||
"SettingsTabSystemSystemLanguageSpanish": "西班牙文",
|
||||
"SettingsTabSystemSystemLanguageChinese": "中文 (中國)",
|
||||
"SettingsTabSystemSystemLanguageKorean": "韓語",
|
||||
"SettingsTabSystemSystemLanguageDutch": "荷蘭語",
|
||||
"SettingsTabSystemSystemLanguagePortuguese": "葡萄牙語",
|
||||
"SettingsTabSystemSystemLanguageRussian": "俄語",
|
||||
"SettingsTabSystemSystemLanguageKorean": "韓文",
|
||||
"SettingsTabSystemSystemLanguageDutch": "荷蘭文",
|
||||
"SettingsTabSystemSystemLanguagePortuguese": "葡萄牙文",
|
||||
"SettingsTabSystemSystemLanguageRussian": "俄文",
|
||||
"SettingsTabSystemSystemLanguageTaiwanese": "中文 (台灣)",
|
||||
"SettingsTabSystemSystemLanguageBritishEnglish": "英式英語",
|
||||
"SettingsTabSystemSystemLanguageBritishEnglish": "英文 (英國)",
|
||||
"SettingsTabSystemSystemLanguageCanadianFrench": "加拿大法語",
|
||||
"SettingsTabSystemSystemLanguageLatinAmericanSpanish": "拉美西班牙語",
|
||||
"SettingsTabSystemSystemLanguageSimplifiedChinese": "簡體中文 (推薦)",
|
||||
"SettingsTabSystemSystemLanguageTraditionalChinese": "繁體中文 (推薦)",
|
||||
"SettingsTabSystemSystemTimeZone": "系統時區:",
|
||||
"SettingsTabSystemSystemTime": "系統時鐘:",
|
||||
"SettingsTabSystemEnableVsync": "開啟 VSync",
|
||||
"SettingsTabSystemEnablePptc": "開啟 PPTC 快取",
|
||||
"SettingsTabSystemSystemLanguageLatinAmericanSpanish": "拉丁美洲西班牙文",
|
||||
"SettingsTabSystemSystemLanguageSimplifiedChinese": "簡體中文",
|
||||
"SettingsTabSystemSystemLanguageTraditionalChinese": "繁體中文",
|
||||
"SettingsTabSystemSystemTimeZone": "系統時區:",
|
||||
"SettingsTabSystemSystemTime": "系統時鐘:",
|
||||
"SettingsTabSystemEnableVsync": "垂直同步",
|
||||
"SettingsTabSystemEnablePptc": "啟用 PPTC 快取",
|
||||
"SettingsTabSystemEnableFsIntegrityChecks": "開啟檔案系統完整性檢查",
|
||||
"SettingsTabSystemAudioBackend": "音訊後端:",
|
||||
"SettingsTabSystemAudioBackendDummy": "無",
|
||||
"SettingsTabSystemAudioBackend": "音效處理後台架構:",
|
||||
"SettingsTabSystemAudioBackendDummy": "模擬",
|
||||
"SettingsTabSystemAudioBackendOpenAL": "OpenAL",
|
||||
"SettingsTabSystemAudioBackendSoundIO": "SoundIO",
|
||||
"SettingsTabSystemAudioBackendSDL2": "SDL2",
|
||||
"SettingsTabSystemHacks": "修正",
|
||||
"SettingsTabSystemHacksNote": " (會引起模擬器不穩定)",
|
||||
"SettingsTabSystemExpandDramSize": "使用替代記憶體布局 (開發人員)",
|
||||
"SettingsTabSystemExpandDramSize": "使用額外的記憶體佈局 (開發人員)",
|
||||
"SettingsTabSystemIgnoreMissingServices": "忽略缺少的服務",
|
||||
"SettingsTabGraphics": "圖形",
|
||||
"SettingsTabGraphicsAPI": "圖形 API",
|
||||
"SettingsTabGraphicsEnableShaderCache": "啟用渲染器快取",
|
||||
"SettingsTabGraphicsAnisotropicFiltering": "各向異性過濾:",
|
||||
"SettingsTabGraphics": "圖像",
|
||||
"SettingsTabGraphicsAPI": "圖像處理應用程式介面",
|
||||
"SettingsTabGraphicsEnableShaderCache": "啟用著色器快取",
|
||||
"SettingsTabGraphicsAnisotropicFiltering": "各向異性過濾:",
|
||||
"SettingsTabGraphicsAnisotropicFilteringAuto": "自動",
|
||||
"SettingsTabGraphicsAnisotropicFiltering2x": "2 倍",
|
||||
"SettingsTabGraphicsAnisotropicFiltering4x": "4 倍",
|
||||
"SettingsTabGraphicsAnisotropicFiltering8x": "8 倍",
|
||||
"SettingsTabGraphicsAnisotropicFiltering16x": "16倍",
|
||||
"SettingsTabGraphicsResolutionScale": "解析度縮放:",
|
||||
"SettingsTabGraphicsResolutionScaleCustom": "自訂 (不推薦)",
|
||||
"SettingsTabGraphicsResolutionScale": "解析度比例:",
|
||||
"SettingsTabGraphicsResolutionScaleCustom": "自訂 (不建議使用)",
|
||||
"SettingsTabGraphicsResolutionScaleNative": "原生 (720p/1080p)",
|
||||
"SettingsTabGraphicsResolutionScale2x": "2 倍 (1440p/2160p)",
|
||||
"SettingsTabGraphicsResolutionScale3x": "3 倍 (2160p/3240p)",
|
||||
"SettingsTabGraphicsResolutionScale4x": "4 倍 (2880p/4320p)",
|
||||
"SettingsTabGraphicsAspectRatio": "寬高比:",
|
||||
"SettingsTabGraphicsAspectRatio4x3": "4:3",
|
||||
"SettingsTabGraphicsAspectRatio16x9": "16:9",
|
||||
"SettingsTabGraphicsAspectRatio16x10": "16:10",
|
||||
"SettingsTabGraphicsAspectRatio21x9": "21:9",
|
||||
"SettingsTabGraphicsAspectRatio32x9": "32:9",
|
||||
"SettingsTabGraphicsAspectRatioStretch": "拉伸至螢幕大小",
|
||||
"SettingsTabGraphicsAspectRatio": "螢幕長寬比例:",
|
||||
"SettingsTabGraphicsAspectRatio4x3": "4:3",
|
||||
"SettingsTabGraphicsAspectRatio16x9": "16:9",
|
||||
"SettingsTabGraphicsAspectRatio16x10": "16:10",
|
||||
"SettingsTabGraphicsAspectRatio21x9": "21:9",
|
||||
"SettingsTabGraphicsAspectRatio32x9": "32:9",
|
||||
"SettingsTabGraphicsAspectRatioStretch": "伸展至螢幕大小",
|
||||
"SettingsTabGraphicsDeveloperOptions": "開發者選項",
|
||||
"SettingsTabGraphicsShaderDumpPath": "圖形渲染器轉儲路徑:",
|
||||
"SettingsTabGraphicsShaderDumpPath": "圖形著色器轉存路徑:",
|
||||
"SettingsTabLogging": "日誌",
|
||||
"SettingsTabLoggingLogging": "日誌",
|
||||
"SettingsTabLoggingEnableLoggingToFile": "儲存日誌為檔案",
|
||||
"SettingsTabLoggingEnableStubLogs": "記錄 Stub",
|
||||
"SettingsTabLoggingEnableInfoLogs": "記錄資訊",
|
||||
"SettingsTabLoggingEnableWarningLogs": "記錄警告",
|
||||
"SettingsTabLoggingEnableErrorLogs": "記錄錯誤",
|
||||
"SettingsTabLoggingEnableTraceLogs": "記錄 Trace",
|
||||
"SettingsTabLoggingEnableGuestLogs": "記錄 Guest",
|
||||
"SettingsTabLoggingEnableFsAccessLogs": "記錄檔案存取",
|
||||
"SettingsTabLoggingFsGlobalAccessLogMode": "記錄全域檔案存取模式:",
|
||||
"SettingsTabLoggingDeveloperOptions": "開發者選項 (警告: 會降低效能)",
|
||||
"SettingsTabLoggingGraphicsBackendLogLevel": "圖形顯示後端日誌等級:",
|
||||
"SettingsTabLoggingEnableLoggingToFile": "儲存記錄日誌為檔案",
|
||||
"SettingsTabLoggingEnableStubLogs": "啟用 Stub 記錄",
|
||||
"SettingsTabLoggingEnableInfoLogs": "啟用資訊記錄",
|
||||
"SettingsTabLoggingEnableWarningLogs": "啟用警告記錄",
|
||||
"SettingsTabLoggingEnableErrorLogs": "啟用錯誤記錄",
|
||||
"SettingsTabLoggingEnableTraceLogs": "啟用追蹤記錄",
|
||||
"SettingsTabLoggingEnableGuestLogs": "啟用賓客記錄",
|
||||
"SettingsTabLoggingEnableFsAccessLogs": "啟用檔案存取記錄",
|
||||
"SettingsTabLoggingFsGlobalAccessLogMode": "記錄全域檔案存取模式:",
|
||||
"SettingsTabLoggingDeveloperOptions": "開發者選項",
|
||||
"SettingsTabLoggingDeveloperOptionsNote": "警告:此操作會降低效能",
|
||||
"SettingsTabLoggingGraphicsBackendLogLevel": "圖像處理後台記錄等級:",
|
||||
"SettingsTabLoggingGraphicsBackendLogLevelNone": "無",
|
||||
"SettingsTabLoggingGraphicsBackendLogLevelError": "錯誤",
|
||||
"SettingsTabLoggingGraphicsBackendLogLevelPerformance": "減速",
|
||||
"SettingsTabLoggingGraphicsBackendLogLevelAll": "全部",
|
||||
"SettingsTabLoggingEnableDebugLogs": "啟用除錯日誌",
|
||||
"SettingsTabLoggingEnableDebugLogs": "啟用除錯記錄",
|
||||
"SettingsTabInput": "輸入",
|
||||
"SettingsTabInputEnableDockedMode": "Docked 模式",
|
||||
"SettingsTabInputDirectKeyboardAccess": "直通鍵盤控制",
|
||||
"SettingsTabInputDirectKeyboardAccess": "鍵盤直接操作",
|
||||
"SettingsButtonSave": "儲存",
|
||||
"SettingsButtonClose": "關閉",
|
||||
"SettingsButtonOk": "嘛好",
|
||||
"SettingsButtonOk": "確定",
|
||||
"SettingsButtonCancel": "取消",
|
||||
"SettingsButtonApply": "套用",
|
||||
"ControllerSettingsPlayer": "玩家",
|
||||
|
@ -182,21 +197,21 @@
|
|||
"ControllerSettingsPlayer7": "玩家 7",
|
||||
"ControllerSettingsPlayer8": "玩家 8",
|
||||
"ControllerSettingsHandheld": "掌機模式",
|
||||
"ControllerSettingsInputDevice": "輸入設備",
|
||||
"ControllerSettingsInputDevice": "輸入裝置",
|
||||
"ControllerSettingsRefresh": "更新",
|
||||
"ControllerSettingsDeviceDisabled": "關閉",
|
||||
"ControllerSettingsControllerType": "手把類型",
|
||||
"ControllerSettingsControllerType": "控制器類型",
|
||||
"ControllerSettingsControllerTypeHandheld": "掌機",
|
||||
"ControllerSettingsControllerTypeProController": "Pro 手把",
|
||||
"ControllerSettingsControllerTypeProController": "Nintendo Switch Pro控制器",
|
||||
"ControllerSettingsControllerTypeJoyConPair": "JoyCon",
|
||||
"ControllerSettingsControllerTypeJoyConLeft": "左 JoyCon",
|
||||
"ControllerSettingsControllerTypeJoyConRight": "右 JoyCon",
|
||||
"ControllerSettingsProfile": "預設",
|
||||
"ControllerSettingsProfile": "配置檔案",
|
||||
"ControllerSettingsProfileDefault": "預設",
|
||||
"ControllerSettingsLoad": "載入",
|
||||
"ControllerSettingsAdd": "建立",
|
||||
"ControllerSettingsRemove": "刪除",
|
||||
"ControllerSettingsButtons": "按鈕",
|
||||
"ControllerSettingsButtons": "按鍵",
|
||||
"ControllerSettingsButtonA": "A",
|
||||
"ControllerSettingsButtonB": "B",
|
||||
"ControllerSettingsButtonX": "X",
|
||||
|
@ -208,26 +223,17 @@
|
|||
"ControllerSettingsDPadDown": "下",
|
||||
"ControllerSettingsDPadLeft": "左",
|
||||
"ControllerSettingsDPadRight": "右",
|
||||
"ControllerSettingsStickButton": "按鍵",
|
||||
"ControllerSettingsStickUp": "上",
|
||||
"ControllerSettingsStickDown": "下",
|
||||
"ControllerSettingsStickLeft": "左",
|
||||
"ControllerSettingsStickRight": "右",
|
||||
"ControllerSettingsStickStick": "搖桿",
|
||||
"ControllerSettingsStickInvertXAxis": "搖桿左右反向",
|
||||
"ControllerSettingsStickInvertYAxis": "搖桿上下反向",
|
||||
"ControllerSettingsStickDeadzone": "盲區:",
|
||||
"ControllerSettingsLStick": "左搖桿",
|
||||
"ControllerSettingsLStickButton": "按下",
|
||||
"ControllerSettingsLStickUp": "上",
|
||||
"ControllerSettingsLStickDown": "下",
|
||||
"ControllerSettingsLStickLeft": "左",
|
||||
"ControllerSettingsLStickRight": "右",
|
||||
"ControllerSettingsLStickStick": "桿",
|
||||
"ControllerSettingsLStickInvertXAxis": "反轉 X 方向",
|
||||
"ControllerSettingsLStickInvertYAxis": "反轉 Y 方向",
|
||||
"ControllerSettingsLStickDeadzone": "死區:",
|
||||
"ControllerSettingsRStick": "右搖桿",
|
||||
"ControllerSettingsRStickButton": "按下",
|
||||
"ControllerSettingsRStickUp": "上",
|
||||
"ControllerSettingsRStickDown": "下",
|
||||
"ControllerSettingsRStickLeft": "左",
|
||||
"ControllerSettingsRStickRight": "右",
|
||||
"ControllerSettingsRStickStick": "桿",
|
||||
"ControllerSettingsRStickInvertXAxis": "反轉 X 方向",
|
||||
"ControllerSettingsRStickInvertYAxis": "反轉 Y 方向",
|
||||
"ControllerSettingsRStickDeadzone": "死區:",
|
||||
"ControllerSettingsTriggersLeft": "左 Triggers",
|
||||
"ControllerSettingsTriggersRight": "右 Triggers",
|
||||
"ControllerSettingsTriggersButtonsLeft": "左 Triggers 鍵",
|
||||
|
@ -244,69 +250,71 @@
|
|||
"ControllerSettingsExtraButtonsLeft": "左按鍵",
|
||||
"ControllerSettingsExtraButtonsRight": "右按鍵",
|
||||
"ControllerSettingsMisc": "其他",
|
||||
"ControllerSettingsTriggerThreshold": "Triggers 閾值:",
|
||||
"ControllerSettingsMotion": "體感",
|
||||
"ControllerSettingsMotionUseCemuhookCompatibleMotion": "使用 CemuHook 體感協議",
|
||||
"ControllerSettingsMotionControllerSlot": "手把:",
|
||||
"ControllerSettingsMotionMirrorInput": "鏡像操作",
|
||||
"ControllerSettingsMotionRightJoyConSlot": "右 JoyCon:",
|
||||
"ControllerSettingsMotionServerHost": "伺服器 Host:",
|
||||
"ControllerSettingsMotionGyroSensitivity": "陀螺儀敏感度:",
|
||||
"ControllerSettingsMotionGyroDeadzone": "陀螺儀死區:",
|
||||
"ControllerSettingsTriggerThreshold": "Triggers 閾值:",
|
||||
"ControllerSettingsMotion": "傳感器",
|
||||
"ControllerSettingsMotionUseCemuhookCompatibleMotion": "使用 CemuHook 相容性傳感協定",
|
||||
"ControllerSettingsMotionControllerSlot": "控制器插槽:",
|
||||
"ControllerSettingsMotionMirrorInput": "鏡像輸入",
|
||||
"ControllerSettingsMotionRightJoyConSlot": "右 JoyCon:",
|
||||
"ControllerSettingsMotionServerHost": "伺服器IP地址:",
|
||||
"ControllerSettingsMotionGyroSensitivity": "陀螺儀敏感度:",
|
||||
"ControllerSettingsMotionGyroDeadzone": "陀螺儀盲區:",
|
||||
"ControllerSettingsSave": "儲存",
|
||||
"ControllerSettingsClose": "關閉",
|
||||
"UserProfilesSelectedUserProfile": "選擇使用者帳號:",
|
||||
"UserProfilesSaveProfileName": "儲存帳號名稱",
|
||||
"UserProfilesChangeProfileImage": "更換頭貼",
|
||||
"UserProfilesAvailableUserProfiles": "現有的帳號:",
|
||||
"UserProfilesAddNewProfile": "建立帳號",
|
||||
"UserProfilesSelectedUserProfile": "選擇使用者帳戶:",
|
||||
"UserProfilesSaveProfileName": "儲存帳戶名稱",
|
||||
"UserProfilesChangeProfileImage": "更換帳戶頭像",
|
||||
"UserProfilesAvailableUserProfiles": "現有的使用者帳戶:",
|
||||
"UserProfilesAddNewProfile": "建立帳戶",
|
||||
"UserProfilesDelete": "刪除",
|
||||
"UserProfilesClose": "關閉",
|
||||
"ProfileImageSelectionTitle": "頭貼選擇",
|
||||
"ProfileImageSelectionHeader": "選擇合適的頭貼圖片",
|
||||
"ProfileImageSelectionNote": "您可以導入自訂頭貼,或從系統中選擇頭貼",
|
||||
"ProfileNameSelectionWatermark": "選擇一個暱稱",
|
||||
"ProfileImageSelectionTitle": "帳戶頭像選擇",
|
||||
"ProfileImageSelectionHeader": "選擇帳戶頭像",
|
||||
"ProfileImageSelectionNote": "你可以導入自訂頭像,或從系統中選擇頭像",
|
||||
"ProfileImageSelectionImportImage": "導入圖片檔案",
|
||||
"ProfileImageSelectionSelectAvatar": "選擇系統頭貼",
|
||||
"ProfileImageSelectionSelectAvatar": "選擇系統頭像",
|
||||
"InputDialogTitle": "輸入對話框",
|
||||
"InputDialogOk": "完成",
|
||||
"InputDialogCancel": "取消",
|
||||
"InputDialogAddNewProfileTitle": "選擇使用者名稱",
|
||||
"InputDialogAddNewProfileHeader": "請輸入帳號名稱",
|
||||
"InputDialogAddNewProfileSubtext": "(最大長度: {0})",
|
||||
"InputDialogAddNewProfileTitle": "選擇帳戶名稱",
|
||||
"InputDialogAddNewProfileHeader": "請輸入帳戶名稱",
|
||||
"InputDialogAddNewProfileSubtext": "(最大長度:{0})",
|
||||
"AvatarChoose": "選擇",
|
||||
"AvatarSetBackgroundColor": "設定背景顏色",
|
||||
"AvatarClose": "關閉",
|
||||
"ControllerSettingsLoadProfileToolTip": "載入預設",
|
||||
"ControllerSettingsAddProfileToolTip": "新增預設",
|
||||
"ControllerSettingsRemoveProfileToolTip": "刪除預設",
|
||||
"ControllerSettingsSaveProfileToolTip": "儲存預設",
|
||||
"ControllerSettingsLoadProfileToolTip": "載入配置檔案",
|
||||
"ControllerSettingsAddProfileToolTip": "新增配置檔案",
|
||||
"ControllerSettingsRemoveProfileToolTip": "刪除配置檔案",
|
||||
"ControllerSettingsSaveProfileToolTip": "儲存配置檔案",
|
||||
"MenuBarFileToolsTakeScreenshot": "儲存截圖",
|
||||
"MenuBarFileToolsHideUi": "Hide UI",
|
||||
"MenuBarFileToolsHideUi": "隱藏使用者介面",
|
||||
"GameListContextMenuRunApplication": "執行程式",
|
||||
"GameListContextMenuToggleFavorite": "標記為收藏",
|
||||
"GameListContextMenuToggleFavoriteToolTip": "啟用或取消收藏標記",
|
||||
"SettingsTabGeneralTheme": "主題",
|
||||
"SettingsTabGeneralThemeCustomTheme": "自定主題路徑",
|
||||
"SettingsTabGeneralThemeBaseStyle": "主題樣式",
|
||||
"SettingsTabGeneralTheme": "佈景主題",
|
||||
"SettingsTabGeneralThemeCustomTheme": "自訂佈景主題路徑",
|
||||
"SettingsTabGeneralThemeBaseStyle": "基本佈景主題式樣",
|
||||
"SettingsTabGeneralThemeBaseStyleDark": "深色模式",
|
||||
"SettingsTabGeneralThemeBaseStyleLight": "淺色模式",
|
||||
"SettingsTabGeneralThemeEnableCustomTheme": "使用自訂主題介面",
|
||||
"SettingsTabGeneralThemeEnableCustomTheme": "使用自訂佈景主題",
|
||||
"ButtonBrowse": "瀏覽",
|
||||
"ControllerSettingsConfigureGeneral": "配置",
|
||||
"ControllerSettingsRumble": "震動",
|
||||
"ControllerSettingsRumbleStrongMultiplier": "強震動調節",
|
||||
"ControllerSettingsRumbleWeakMultiplier": "弱震動調節",
|
||||
"DialogMessageSaveNotAvailableMessage": "沒有{0} [{1:x16}]的遊戲存檔",
|
||||
"DialogMessageSaveNotAvailableCreateSaveMessage": "是否建立該遊戲的存檔資料夾?",
|
||||
"DialogMessageSaveNotAvailableCreateSaveMessage": "是否建立該遊戲的存檔資料夾?",
|
||||
"DialogConfirmationTitle": "Ryujinx - 設定",
|
||||
"DialogUpdaterTitle": "Ryujinx - 更新",
|
||||
"DialogErrorTitle": "Ryujinx - 錯誤",
|
||||
"DialogWarningTitle": "Ryujinx - 警告",
|
||||
"DialogExitTitle": "Ryujinx - 關閉",
|
||||
"DialogErrorMessage": "Ryujinx 遇到了錯誤",
|
||||
"DialogExitMessage": "是否關閉 Ryujinx?",
|
||||
"DialogExitSubMessage": "所有未儲存的進度會遺失!",
|
||||
"DialogMessageCreateSaveErrorMessage": "建立特定的存檔時出錯: {0}",
|
||||
"DialogMessageFindSaveErrorMessage": "查找特定的存檔時出錯: {0}",
|
||||
"DialogExitMessage": "你確定要關閉 Ryujinx 嗎?",
|
||||
"DialogExitSubMessage": "所有未儲存的資料將會遺失!",
|
||||
"DialogMessageCreateSaveErrorMessage": "建立特定的存檔時出現錯誤: {0}",
|
||||
"DialogMessageFindSaveErrorMessage": "查找特定的存檔時出現錯誤: {0}",
|
||||
"FolderDialogExtractTitle": "選擇要解壓到的資料夾",
|
||||
"DialogNcaExtractionMessage": "提取{1}的{0}分區...",
|
||||
"DialogNcaExtractionTitle": "Ryujinx - NCA分區提取",
|
||||
|
@ -315,74 +323,81 @@
|
|||
"DialogNcaExtractionSuccessMessage": "提取成功。",
|
||||
"DialogUpdaterConvertFailedMessage": "無法轉換目前 Ryujinx 版本。",
|
||||
"DialogUpdaterCancelUpdateMessage": "更新取消!",
|
||||
"DialogUpdaterAlreadyOnLatestVersionMessage": "您使用的 Ryujinx 是最新版本。",
|
||||
"DialogUpdaterFailedToGetVersionMessage": "嘗試從 Github 取得版本訊息時無效。可能是因為 GitHub Actions 正在編譯新版本。請過幾分鐘重試。",
|
||||
"DialogUpdaterAlreadyOnLatestVersionMessage": "你使用的 Ryujinx 是最新版本。",
|
||||
"DialogUpdaterFailedToGetVersionMessage": "嘗試從 Github 取得版本訊息時失敗。可能是因為 GitHub Actions 正在編譯新版本。請於數分數後重試。",
|
||||
"DialogUpdaterConvertFailedGithubMessage": "無法轉換從 Github 接收到的 Ryujinx 版本。",
|
||||
"DialogUpdaterDownloadingMessage": "下載新版本中...",
|
||||
"DialogUpdaterDownloadingMessage": "下載最新版本中...",
|
||||
"DialogUpdaterExtractionMessage": "正在提取更新...",
|
||||
"DialogUpdaterRenamingMessage": "正在刪除舊檔案...",
|
||||
"DialogUpdaterAddingFilesMessage": "安裝更新中...",
|
||||
"DialogUpdaterCompleteMessage": "更新成功!",
|
||||
"DialogUpdaterRestartMessage": "立即重啟 Ryujinx 完成更新?",
|
||||
"DialogUpdaterArchNotSupportedMessage": "您執行的系統架構不受支援!",
|
||||
"DialogUpdaterRestartMessage": "你確定要立即重新啟動 Ryujinx 嗎?",
|
||||
"DialogUpdaterArchNotSupportedMessage": "你執行的系統架構不被支援!",
|
||||
"DialogUpdaterArchNotSupportedSubMessage": "(僅支援 x64 系統)",
|
||||
"DialogUpdaterNoInternetMessage": "沒有連接到網路",
|
||||
"DialogUpdaterNoInternetSubMessage": "請確保網路連接正常。",
|
||||
"DialogUpdaterNoInternetMessage": "你沒有連接到網際網絡!",
|
||||
"DialogUpdaterNoInternetSubMessage": "請確保網際網絡連接正常!",
|
||||
"DialogUpdaterDirtyBuildMessage": "不能更新非官方版本的 Ryujinx!",
|
||||
"DialogUpdaterDirtyBuildSubMessage": "如果希望使用受支援的版本,請您在 https://ryujinx.org/ 下載。",
|
||||
"DialogRestartRequiredMessage": "需要重啟模擬器",
|
||||
"DialogThemeRestartMessage": "主題設定已儲存。需要重新啟動才能生效。",
|
||||
"DialogThemeRestartSubMessage": "您是否要重啟?",
|
||||
"DialogUpdaterDirtyBuildSubMessage": "如果你希望使用被受支援的Ryujinx版本,請你在官方網址 https://ryujinx.org/ 下載.",
|
||||
"DialogRestartRequiredMessage": "模擬器必須重新啟動",
|
||||
"DialogThemeRestartMessage": "佈景主題設定已儲存。需要重新啟動才能生效。",
|
||||
"DialogThemeRestartSubMessage": "你確定要現在重新啟動嗎?",
|
||||
"DialogFirmwareInstallEmbeddedMessage": "要安裝遊戲內建的韌體嗎?(韌體 {0})",
|
||||
"DialogFirmwareInstallEmbeddedSuccessMessage": "未找到已安裝的韌體,但 Ryujinx 可以從現有的遊戲安裝韌體{0}.\\n模擬器現在可以執行。",
|
||||
"DialogFirmwareNoFirmwareInstalledMessage": "未安裝韌體",
|
||||
"DialogFirmwareInstalledMessage": "已安裝韌體{0}",
|
||||
"DialogOpenSettingsWindowLabel": "打開設定視窗",
|
||||
"DialogInstallFileTypesSuccessMessage": "成功註冊檔案類型!",
|
||||
"DialogInstallFileTypesErrorMessage": "註冊檔案類型失敗。",
|
||||
"DialogUninstallFileTypesSuccessMessage": "成功取消註冊檔案類型!",
|
||||
"DialogUninstallFileTypesErrorMessage": "取消註冊檔案類型失敗。",
|
||||
"DialogOpenSettingsWindowLabel": "開啟設定視窗",
|
||||
"DialogControllerAppletTitle": "控制器小視窗",
|
||||
"DialogMessageDialogErrorExceptionMessage": "顯示訊息對話框時出錯: {0}",
|
||||
"DialogSoftwareKeyboardErrorExceptionMessage": "顯示軟體鍵盤時出錯: {0}",
|
||||
"DialogErrorAppletErrorExceptionMessage": "顯示錯誤對話框時出錯: {0}",
|
||||
"DialogMessageDialogErrorExceptionMessage": "顯示訊息對話框時出現錯誤: {0}",
|
||||
"DialogSoftwareKeyboardErrorExceptionMessage": "顯示軟體鍵盤時出現錯誤: {0}",
|
||||
"DialogErrorAppletErrorExceptionMessage": "顯示錯誤對話框時出現錯誤: {0}",
|
||||
"DialogUserErrorDialogMessage": "{0}: {1}",
|
||||
"DialogUserErrorDialogInfoMessage": "\n有關修復此錯誤的更多訊息,可以遵循我們的設定指南。",
|
||||
"DialogUserErrorDialogTitle": "Ryujinx 錯誤 ({0})",
|
||||
"DialogAmiiboApiTitle": "Amiibo API",
|
||||
"DialogAmiiboApiTitle": "Amiibo 應用程式介面",
|
||||
"DialogAmiiboApiFailFetchMessage": "從 API 取得訊息時出錯。",
|
||||
"DialogAmiiboApiConnectErrorMessage": "無法連接到 Amiibo API 伺服器。伺服器可能已關閉,或者您沒有網路連接。",
|
||||
"DialogProfileInvalidProfileErrorMessage": "預設{0} 與目前輸入配置系統不相容。",
|
||||
"DialogAmiiboApiConnectErrorMessage": "無法連接到 Amiibo API 伺服器。伺服器可能已關閉,或你沒有連接到網際網路。",
|
||||
"DialogProfileInvalidProfileErrorMessage": "配置檔案 {0} 與目前輸入系統不相容。",
|
||||
"DialogProfileDefaultProfileOverwriteErrorMessage": "無法覆蓋預設的配置檔案",
|
||||
"DialogProfileDeleteProfileTitle": "刪除配置檔",
|
||||
"DialogProfileDeleteProfileMessage": "刪除後不可恢復,確定嗎?",
|
||||
"DialogProfileDeleteProfileTitle": "刪除帳戶",
|
||||
"DialogProfileDeleteProfileMessage": "此操作不可撤銷, 您確定要繼續嗎?",
|
||||
"DialogWarning": "警告",
|
||||
"DialogPPTCDeletionMessage": "您即將刪除:\n\n{0}的 PPTC 快取\n\n確定嗎?",
|
||||
"DialogPPTCDeletionMessage": "下一次重啟時將會重新建立以下遊戲的 PPTC 快取\n\n{0}\n\n你確定要繼續嗎?",
|
||||
"DialogPPTCDeletionErrorMessage": "清除位於{0}的 PPTC 快取時出錯: {1}",
|
||||
"DialogShaderDeletionMessage": "您即將刪除:\n\n{0}的渲染器快取\n\n確定嗎?",
|
||||
"DialogShaderDeletionErrorMessage": "清除位於{0}的渲染器快取時出錯: {1}",
|
||||
"DialogShaderDeletionMessage": "即將刪除以下遊戲的著色器快取:\n\n{0}\n\n你確定要繼續嗎?",
|
||||
"DialogShaderDeletionErrorMessage": "清除{0}的著色器快取時出現錯誤: {1}",
|
||||
"DialogRyujinxErrorMessage": "Ryujinx 遇到錯誤",
|
||||
"DialogInvalidTitleIdErrorMessage": "UI 錯誤:所選遊戲沒有有效的標題ID",
|
||||
"DialogFirmwareInstallerFirmwareNotFoundErrorMessage": "路徑{0}找不到有效的系統韌體。",
|
||||
"DialogFirmwareInstallerFirmwareInstallTitle": "安裝韌體{0}",
|
||||
"DialogFirmwareInstallerFirmwareInstallMessage": "將安裝{0}版本的系統。",
|
||||
"DialogFirmwareInstallerFirmwareInstallSubMessage": "\n\n這將替換目前系統版本{0}。",
|
||||
"DialogFirmwareInstallerFirmwareInstallConfirmMessage": "\n\n確認進行?",
|
||||
"DialogFirmwareInstallerFirmwareInstallConfirmMessage": "你確定要繼續嗎?",
|
||||
"DialogFirmwareInstallerFirmwareInstallWaitMessage": "安裝韌體中...",
|
||||
"DialogFirmwareInstallerFirmwareInstallSuccessMessage": "成功安裝系統版本{0}。",
|
||||
"DialogUserProfileDeletionWarningMessage": "刪除後將沒有可選擇的使用者帳號",
|
||||
"DialogUserProfileDeletionConfirmMessage": "是否刪除選擇的帳號",
|
||||
"DialogControllerSettingsModifiedConfirmMessage": "目前的輸入預設已更新",
|
||||
"DialogControllerSettingsModifiedConfirmSubMessage": "要儲存嗎?",
|
||||
"DialogUserProfileDeletionWarningMessage": "刪除後將沒有可選擇的使用者帳戶",
|
||||
"DialogUserProfileDeletionConfirmMessage": "你確定要刪除選擇中的帳戶嗎?",
|
||||
"DialogUserProfileUnsavedChangesTitle": "警告 - 有未儲存的更改",
|
||||
"DialogUserProfileUnsavedChangesMessage": "你對此帳戶所做的更改尚未儲存.",
|
||||
"DialogUserProfileUnsavedChangesSubMessage": "你確定要捨棄更改嗎?",
|
||||
"DialogControllerSettingsModifiedConfirmMessage": "目前的輸入配置檔案已更新",
|
||||
"DialogControllerSettingsModifiedConfirmSubMessage": "你確定要儲存嗎?",
|
||||
"DialogLoadNcaErrorMessage": "{0}. 錯誤的檔案: {1}",
|
||||
"DialogDlcNoDlcErrorMessage": "選擇的檔案不包含所選遊戲的 DLC!",
|
||||
"DialogPerformanceCheckLoggingEnabledMessage": "您啟用了跟蹤日誌,僅供開發人員使用。",
|
||||
"DialogPerformanceCheckLoggingEnabledConfirmMessage": "為了獲得最佳效能,建議停用跟蹤日誌記錄。您是否要立即停用?",
|
||||
"DialogPerformanceCheckShaderDumpEnabledMessage": "您啟用了渲染器轉儲,僅供開發人員使用。",
|
||||
"DialogPerformanceCheckShaderDumpEnabledConfirmMessage": "為了獲得最佳效能,建議停用渲染器轉儲。您是否要立即停用?",
|
||||
"DialogLoadAppGameAlreadyLoadedMessage": "目前已載入有遊戲",
|
||||
"DialogPerformanceCheckLoggingEnabledMessage": "你啟用了跟蹤記錄,它的設計僅限開發人員使用。",
|
||||
"DialogPerformanceCheckLoggingEnabledConfirmMessage": "為了獲得最佳效能,建議停用追蹤記錄。你是否要立即停用?",
|
||||
"DialogPerformanceCheckShaderDumpEnabledMessage": "你啟用了著色器轉存,它的設計僅限開發人員使用。",
|
||||
"DialogPerformanceCheckShaderDumpEnabledConfirmMessage": "為了獲得最佳效能,建議停用著色器轉存。你是否要立即停用?",
|
||||
"DialogLoadAppGameAlreadyLoadedMessage": "目前已載入此遊戲",
|
||||
"DialogLoadAppGameAlreadyLoadedSubMessage": "請停止模擬或關閉程式,再啟動另一個遊戲。",
|
||||
"DialogUpdateAddUpdateErrorMessage": "選擇的檔案不包含所選遊戲的更新!",
|
||||
"DialogSettingsBackendThreadingWarningTitle": "警告 - 後端多執行緒",
|
||||
"DialogSettingsBackendThreadingWarningMessage": "改變此選項後必須重啟 Ryujinx 才能生效。根據您的硬體,您開啟該選項時,可能需要手動停用驅動程式本身的GL多執行緒。",
|
||||
"DialogSettingsBackendThreadingWarningTitle": "警告 - 後台多工執行中",
|
||||
"DialogSettingsBackendThreadingWarningMessage": "更改此選項後必須重啟 Ryujinx 才能生效。根據你的硬體,您開啟該選項時,可能需要手動停用驅動程式本身的GPU多執行緒。",
|
||||
"SettingsTabGraphicsFeaturesOptions": "功能",
|
||||
"SettingsTabGraphicsBackendMultithreading": "後端多執行緒:",
|
||||
"SettingsTabGraphicsBackendMultithreading": "圖像處理後台多線程支援:",
|
||||
"CommonAuto": "自動(推薦)",
|
||||
"CommonOff": "關閉",
|
||||
"CommonOn": "打開",
|
||||
|
@ -391,89 +406,91 @@
|
|||
"DialogProfileInvalidProfileNameErrorMessage": "檔案名包含無效字元,請重試。",
|
||||
"MenuBarOptionsPauseEmulation": "暫停",
|
||||
"MenuBarOptionsResumeEmulation": "繼續",
|
||||
"AboutUrlTooltipMessage": "在瀏覽器中打開 Ryujinx 的官網。",
|
||||
"AboutDisclaimerMessage": "Ryujinx 以任何方式與 Nintendo™ 及其合作伙伴都沒有任何關聯。",
|
||||
"AboutUrlTooltipMessage": "在瀏覽器中打開 Ryujinx 的官方網站。",
|
||||
"AboutDisclaimerMessage": "Ryujinx 與 Nintendo™ 並沒有任何關聯, 包括其合作伙伴, 及任何形式上。",
|
||||
"AboutAmiiboDisclaimerMessage": "我們的 Amiibo 模擬使用了\nAmiiboAPI (www.amiiboapi.com) ",
|
||||
"AboutPatreonUrlTooltipMessage": "在瀏覽器中打開 Ryujinx 的 Patreon 贊助頁。",
|
||||
"AboutPatreonUrlTooltipMessage": "在瀏覽器中打開 Ryujinx 的 Patreon 贊助網頁。",
|
||||
"AboutGithubUrlTooltipMessage": "在瀏覽器中打開 Ryujinx 的 GitHub 儲存庫。",
|
||||
"AboutDiscordUrlTooltipMessage": "在瀏覽器中打開 Ryujinx 的 Discord 伺服器邀請連結。",
|
||||
"AboutTwitterUrlTooltipMessage": "在瀏覽器中打開 Ryujinx 的 Twitter 首頁。",
|
||||
"AboutRyujinxAboutTitle": "關於:",
|
||||
"AboutRyujinxAboutContent": "Ryujinx 是一款 Nintendo Switch™ 模擬器。\n您可以在 Patreon 上贊助 Ryujinx。\n關注 Twitter 或 Discord 可以取得模擬器最新動態。\n如果您對開發本軟體感興趣,歡迎來 GitHub 和 Discord 加入我們!",
|
||||
"AboutRyujinxMaintainersTitle": "由以下作者維護:",
|
||||
"AboutRyujinxAboutTitle": "關於:",
|
||||
"AboutRyujinxAboutContent": "Ryujinx 是 Nintendo Switch™ 的一款模擬器。\n懇請您在 Patreon 上贊助我們。\n關注 Twitter 或 Discord 可以取得我們的最新動態。\n如果您對開發本軟體感興趣,歡迎來 GitHub 和 Discord 加入我們!",
|
||||
"AboutRyujinxMaintainersTitle": "開發及維護名單:",
|
||||
"AboutRyujinxMaintainersContentTooltipMessage": "在瀏覽器中打開貢獻者的網頁",
|
||||
"AboutRyujinxSupprtersTitle": "感謝 Patreon 的贊助者:",
|
||||
"AboutRyujinxSupprtersTitle": "Patreon 的贊助人:",
|
||||
"AmiiboSeriesLabel": "Amiibo 系列",
|
||||
"AmiiboCharacterLabel": "角色",
|
||||
"AmiiboScanButtonLabel": "掃描",
|
||||
"AmiiboOptionsShowAllLabel": "顯示所有 Amiibo",
|
||||
"AmiiboOptionsUsRandomTagLabel": "修正: 使用隨機標記的 Uuid",
|
||||
"DlcManagerTableHeadingEnabledLabel": "啟用",
|
||||
"AmiiboOptionsUsRandomTagLabel": "侵略:使用隨機標記的 Uuid 編碼",
|
||||
"DlcManagerTableHeadingEnabledLabel": "已啟用",
|
||||
"DlcManagerTableHeadingTitleIdLabel": "遊戲ID",
|
||||
"DlcManagerTableHeadingContainerPathLabel": "資料夾路徑",
|
||||
"DlcManagerTableHeadingFullPathLabel": "完整路徑",
|
||||
"DlcManagerRemoveAllButton": "全部刪除",
|
||||
"DlcManagerEnableAllButton": "啟用全部",
|
||||
"DlcManagerDisableAllButton": "停用全部",
|
||||
"MenuBarOptionsChangeLanguage": "變更語言",
|
||||
"MenuBarOptionsChangeLanguage": "更改語言",
|
||||
"MenuBarShowFileTypes": "顯示檔案類型",
|
||||
"CommonSort": "排序",
|
||||
"CommonShowNames": "顯示名稱",
|
||||
"CommonFavorite": "收藏",
|
||||
"OrderAscending": "從小到大",
|
||||
"OrderDescending": "從大到小",
|
||||
"SettingsTabGraphicsFeatures": "額外功能",
|
||||
"SettingsTabGraphicsFeatures": "功能及優化",
|
||||
"ErrorWindowTitle": "錯誤視窗",
|
||||
"ToggleDiscordTooltip": "啟用或關閉 Discord 動態狀態展示",
|
||||
"AddGameDirBoxTooltip": "輸入要添加的遊戲資料夾",
|
||||
"AddGameDirTooltip": "添加遊戲資料夾到列表中",
|
||||
"RemoveGameDirTooltip": "移除選中的資料夾",
|
||||
"CustomThemeCheckTooltip": "啟用或關閉自訂主題",
|
||||
"CustomThemePathTooltip": "自訂主題的資料夾",
|
||||
"CustomThemeBrowseTooltip": "查找自訂主題",
|
||||
"RemoveGameDirTooltip": "移除選擇中的遊戲資料夾",
|
||||
"CustomThemeCheckTooltip": "啟用或關閉自訂佈景主題",
|
||||
"CustomThemePathTooltip": "自訂佈景主題的資料夾",
|
||||
"CustomThemeBrowseTooltip": "查找自訂佈景主題",
|
||||
"DockModeToggleTooltip": "是否開啟 Switch 的 Docked 模式",
|
||||
"DirectKeyboardTooltip": "是否開啟\"直連鍵盤存取(HID) 支援\"\n(部分遊戲可以使用您的鍵盤輸入文字)",
|
||||
"DirectMouseTooltip": "是否開啟\"直連滑鼠存取(HID) 支援\"\n(部分遊戲可以使用您的滑鼠導航)",
|
||||
"RegionTooltip": "變更系統區域",
|
||||
"LanguageTooltip": "變更系統語言",
|
||||
"TimezoneTooltip": "變更系統時區",
|
||||
"TimeTooltip": "變更系統時鐘",
|
||||
"VSyncToggleTooltip": "關閉後,部分使用動態更新率的遊戲可以超過 60Hz 更新率",
|
||||
"DirectKeyboardTooltip": "支援鍵盤直接存取 (HID協定) . 可供給遊戲使用你的鍵盤作為輸入文字裝置.",
|
||||
"DirectMouseTooltip": "支援滑鼠直接存取 (HID協定) . 可供給遊戲使用你的滑鼠作為瞄準裝置.",
|
||||
"RegionTooltip": "更改系統區域",
|
||||
"LanguageTooltip": "更改系統語言",
|
||||
"TimezoneTooltip": "更改系統時區",
|
||||
"TimeTooltip": "更改系統時鐘",
|
||||
"VSyncToggleTooltip": "模擬遊戲主機垂直同步更新頻率. 重要地反映著遊戲本身的速度; 關閉它可能會令後使用動態更新率的遊戲速度過高, 或會引致載入錯誤等等.\n\n可在遊戲中利用自訂快速鍵開關此功能. 我們也建議使用快速鍵, 如果你計劃關上它.\n\n如果不確定請設定為\"開啟\".",
|
||||
"PptcToggleTooltip": "開啟以後減少遊戲啟動時間和卡頓",
|
||||
"FsIntegrityToggleTooltip": "是否檢查遊戲檔案內容的完整性",
|
||||
"AudioBackendTooltip": "預設推薦 SDL,但每種音訊後端對各類遊戲相容性不同,遇到音訊問題可以切換後端",
|
||||
"MemoryManagerTooltip": "改變 Switch 記憶體映射到電腦記憶體的方式,會影響CPU效能消耗",
|
||||
"MemoryManagerSoftwareTooltip": "使用軟體記憶體頁管理,最精確但是速度最慢",
|
||||
"MemoryManagerHostTooltip": "直接映射記憶體頁到電腦記憶體, JIT 效率高",
|
||||
"MemoryManagerUnsafeTooltip": "直接映射記憶體頁,但是不檢查記憶體溢出,JIT效率最高。\nRyujinx 可以存取任何位置的記憶體,因而相對不安全。此模式下只應執行您信任的遊戲或軟體(即官方遊戲)",
|
||||
"DRamTooltip": "擴充模擬的 Switch 記憶體為 6GiB,某些高畫質材質模組或 4K 模組需要此選項\n這並不會提升性能\n\n如果不確定請關閉本功能",
|
||||
"IgnoreMissingServicesTooltip": "忽略某些未實作的系統服務,少部分遊戲需要此選項才能啟動",
|
||||
"GraphicsBackendThreadingTooltip": "啟用後端多執行緒",
|
||||
"GalThreadingTooltip": "使用模擬器自帶的多執行緒調度,減少渲染器編譯的卡頓,並提高驅動程式的效能(尤其是缺失多執行緒的AMD)。\nNVIDIA使用者需要重啟模擬器才能停用驅動本身的多執行緒,否則您需手動執行停用獲得最佳效能",
|
||||
"ShaderCacheToggleTooltip": "開啟後快取渲染器到硬碟,減少遊戲卡頓",
|
||||
"ResolutionScaleTooltip": "縮放渲染的解析度",
|
||||
"AudioBackendTooltip": "更改音效處理後台架構.\n\n推薦使用SDL2架構, 而OpenAL及SoundIO架構用作後備. Dummy是沒有音效的.\n\n如果不確定請設定為\"SDL2\".",
|
||||
"MemoryManagerTooltip": "更改模擬器記憶體至電腦記憶體的映射和存取方式,極其影響CPU效能.\n\n如果不確定, 請設定為\"主機略過檢查模式\".",
|
||||
"MemoryManagerSoftwareTooltip": "使用軟體虛擬分頁表換算, 最精確但是速度最慢.",
|
||||
"MemoryManagerHostTooltip": "直接地映射模擬記憶體到電腦記憶體. 對 JIT 編譯和執行效率有顯著提升. ",
|
||||
"MemoryManagerUnsafeTooltip": "直接地映射模擬記憶體到電腦記憶體, 但是不檢查記憶體溢出. 由於 Ryujinx 的子程式可以存取任何位置的記憶體, 因而相對不安全. 故在此模式下只應執行你信任的遊戲或軟體.",
|
||||
"UseHypervisorTooltip": "使用 Hypervisor 代替 JIT。在本功能可用時就可以大幅增大效能,但目前狀態還不穩定。",
|
||||
"DRamTooltip": "利用可選擇性的記憶體模式來模擬Switch發展中型號.\n\n此選項只會對高畫質材質包或4K模組有用. 而這並不會提升效能. \n\n如果不確定請關閉本功能.",
|
||||
"IgnoreMissingServicesTooltip": "忽略某些未被實施的系統服務. 此功能有助於繞過當啟動遊戲時帶來的故障.\n\n如果不確定請關閉本功能。",
|
||||
"GraphicsBackendThreadingTooltip": "執行雙線程後台繪圖指令, 能夠減少著色器編譯斷續, 並提高GPU驅動效能, 即將它不支持多線程處理. 而對於多線程處理也有少量提升.\n\n如果你不確定請設定為\"自動\"",
|
||||
"GalThreadingTooltip": "執行雙線程後台繪圖指令.\n\n能夠加速著色器編譯及減少斷續, 並提高GPU驅動效能, 即將它不支持多線程處理. 而對於多線程處理也有少量提升.\n\n如果你不確定請設定為\"自動\"",
|
||||
"ShaderCacheToggleTooltip": "儲存著色器快取到硬碟,減少存取斷續。\n\n如果不確定請設定為\"開啟\"。",
|
||||
"ResolutionScaleTooltip": "解析度繪圖倍率",
|
||||
"ResolutionScaleEntryTooltip": "盡量使用如1.5的浮點倍數。非整數的倍率易引起錯誤",
|
||||
"AnisotropyTooltip": "各向異性過濾等級。提高傾斜視角材質的清晰度\n(選擇「自動」將使用遊戲預設指定的等級)",
|
||||
"AspectRatioTooltip": "模擬器渲染視窗的寬高比",
|
||||
"ShaderDumpPathTooltip": "轉儲圖形渲染器的路徑",
|
||||
"AspectRatioTooltip": "模擬器視窗解析度的長寬比",
|
||||
"ShaderDumpPathTooltip": "圖形著色器轉存路徑",
|
||||
"FileLogTooltip": "是否儲存日誌檔案到硬碟",
|
||||
"StubLogTooltip": "記錄 Stub 訊息",
|
||||
"InfoLogTooltip": "記錄資訊訊息",
|
||||
"WarnLogTooltip": "記錄警告訊息",
|
||||
"ErrorLogTooltip": "記錄錯誤訊息",
|
||||
"TraceLogTooltip": "記錄 Trace 訊息",
|
||||
"GuestLogTooltip": "記錄 Guest 訊息",
|
||||
"FileAccessLogTooltip": "記錄檔案存取訊息",
|
||||
"FSAccessLogModeTooltip": "記錄 FS 存取訊息,輸出到控制台。可選的模式是 0-3",
|
||||
"StubLogTooltip": "在控制台顯示及記錄 Stub 訊息",
|
||||
"InfoLogTooltip": "在控制台顯示及記錄資訊訊息",
|
||||
"WarnLogTooltip": "在控制台顯示及記錄警告訊息\n",
|
||||
"ErrorLogTooltip": "在控制台顯示及記錄錯誤訊息",
|
||||
"TraceLogTooltip": "在控制台顯示及記錄追蹤訊息",
|
||||
"GuestLogTooltip": "在控制台顯示及記錄賓客訊息",
|
||||
"FileAccessLogTooltip": "在控制台顯示及記錄檔案存取訊息",
|
||||
"FSAccessLogModeTooltip": "在控制台顯示及記錄FS 存取訊息. 可選的模式是 0-3",
|
||||
"DeveloperOptionTooltip": "使用請謹慎",
|
||||
"OpenGlLogLevel": "需要打開適當的日誌等級",
|
||||
"DebugLogTooltip": "記錄Debug訊息",
|
||||
"DebugLogTooltip": "在控制台顯示及記錄除錯訊息.\n\n僅限於受訓的成員使用, 因為它很難理解而且令模擬的效能非常地差.\n",
|
||||
"LoadApplicationFileTooltip": "選擇 Switch 支援的遊戲格式並載入",
|
||||
"LoadApplicationFolderTooltip": "選擇解包後的 Switch 遊戲並載入",
|
||||
"OpenRyujinxFolderTooltip": "打開 Ryujinx 系統資料夾",
|
||||
"OpenRyujinxLogsTooltip": "打開日誌存放的資料夾",
|
||||
"OpenRyujinxFolderTooltip": "開啟 Ryujinx 系統資料夾",
|
||||
"OpenRyujinxLogsTooltip": "開啟存放日誌的資料夾",
|
||||
"ExitTooltip": "關閉 Ryujinx",
|
||||
"OpenSettingsTooltip": "打開設定視窗",
|
||||
"OpenProfileManagerTooltip": "打開使用者帳號管理器",
|
||||
"OpenSettingsTooltip": "開啟設定視窗",
|
||||
"OpenProfileManagerTooltip": "開啟使用者帳戶管理視窗",
|
||||
"StopEmulationTooltip": "停止執行目前遊戲並回到選擇界面",
|
||||
"CheckUpdatesTooltip": "檢查 Ryujinx 新版本",
|
||||
"OpenAboutTooltip": "開啟關於視窗",
|
||||
|
@ -481,30 +498,30 @@
|
|||
"GridSizeTooltip": "調整網格模式的大小",
|
||||
"SettingsTabSystemSystemLanguageBrazilianPortuguese": "巴西葡萄牙語",
|
||||
"AboutRyujinxContributorsButtonHeader": "查看所有參與者",
|
||||
"SettingsTabSystemAudioVolume": "音量: ",
|
||||
"SettingsTabSystemAudioVolume": "音量:",
|
||||
"AudioVolumeTooltip": "調節音量",
|
||||
"SettingsTabSystemEnableInternetAccess": "啟用網路連接",
|
||||
"EnableInternetAccessTooltip": "開啟網路存取。此選項打開後,效果類似於 Switch 連接到網路的狀態。注意即使此選項關閉,應用程式偶爾也有可能連接到網路",
|
||||
"GameListContextMenuManageCheatToolTip": "管理金手指",
|
||||
"GameListContextMenuManageCheat": "管理金手指",
|
||||
"ControllerSettingsStickRange": "範圍",
|
||||
"ControllerSettingsStickRange": "範圍:",
|
||||
"DialogStopEmulationTitle": "Ryujinx - 停止模擬",
|
||||
"DialogStopEmulationMessage": "是否確定停止模擬?",
|
||||
"SettingsTabCpu": "CPU",
|
||||
"DialogStopEmulationMessage": "你確定要停止模擬嗎?",
|
||||
"SettingsTabCpu": "處理器",
|
||||
"SettingsTabAudio": "音訊",
|
||||
"SettingsTabNetwork": "網路",
|
||||
"SettingsTabNetworkConnection": "網路連接",
|
||||
"SettingsTabCpuCache": "CPU 快取",
|
||||
"SettingsTabCpuMemory": "CPU 記憶體",
|
||||
"SettingsTabCpuMemory": "CPU 模式",
|
||||
"DialogUpdaterFlatpakNotSupportedMessage": "請透過 Flathub 更新 Ryujinx。",
|
||||
"UpdaterDisabledWarningTitle": "更新已停用!",
|
||||
"GameListContextMenuOpenSdModsDirectory": "打開 Atmosphere 模組資料夾",
|
||||
"GameListContextMenuOpenSdModsDirectoryToolTip": "打開包含應用程式模組的額外 Atmosphere SD卡資料夾",
|
||||
"GameListContextMenuOpenSdModsDirectory": "開啟 Atmosphere 模組資料夾",
|
||||
"GameListContextMenuOpenSdModsDirectoryToolTip": "開啟此遊戲額外的SD記憶卡Atmosphere模組資料夾. 有用於包裝在真實主機上的模組.\n",
|
||||
"ControllerSettingsRotate90": "順時針旋轉 90°",
|
||||
"IconSize": "圖示尺寸",
|
||||
"IconSizeTooltip": "變更遊戲圖示大小",
|
||||
"IconSizeTooltip": "更改遊戲圖示大小",
|
||||
"MenuBarOptionsShowConsole": "顯示控制台",
|
||||
"ShaderCachePurgeError": "清除渲染器快取時出錯: {0}: {1}",
|
||||
"ShaderCachePurgeError": "清除 {0} 著色器快取時出現錯誤: {1}",
|
||||
"UserErrorNoKeys": "找不到金鑰",
|
||||
"UserErrorNoFirmware": "找不到韌體",
|
||||
"UserErrorFirmwareParsingFailed": "韌體解析錯誤",
|
||||
|
@ -517,7 +534,7 @@
|
|||
"UserErrorApplicationNotFoundDescription": "Ryujinx 在選中路徑找不到有效的應用程式。",
|
||||
"UserErrorUnknownDescription": "發生未知錯誤!",
|
||||
"UserErrorUndefinedDescription": "發生了未定義錯誤!此類錯誤不應出現,請聯絡開發人員!",
|
||||
"OpenSetupGuideMessage": "打開設定教學",
|
||||
"OpenSetupGuideMessage": "開啟設定教學",
|
||||
"NoUpdate": "沒有新版本",
|
||||
"TitleUpdateVersionLabel": "版本 {0} - {1}",
|
||||
"RyujinxInfo": "Ryujinx - 訊息",
|
||||
|
@ -528,13 +545,13 @@
|
|||
"SwkbdMinRangeCharacters": "必須為 {0}-{1} 個字長",
|
||||
"SoftwareKeyboard": "軟體鍵盤",
|
||||
"SoftwareKeyboardModeNumbersOnly": "只接受數字",
|
||||
"SoftwareKeyboardModeAlphabet": "只接受英文字母",
|
||||
"SoftwareKeyboardModeAlphabet": "不支援中日韓統一表意文字字元",
|
||||
"SoftwareKeyboardModeASCII": "只接受 ASCII 符號",
|
||||
"DialogControllerAppletMessagePlayerRange": "本遊戲需要 {0} 個玩家持有:\n\n類型:{1}\n\n玩家:{2}\n\n{3}請打開設定畫面,配置手把,或者關閉本視窗。",
|
||||
"DialogControllerAppletMessage": "本遊戲需要剛好 {0} 個玩家持有:\n\n類型:{1}\n\n玩家:{2}\n\n{3}請打開設定畫面,配置手把,或者關閉本視窗。",
|
||||
"DialogControllerAppletMessagePlayerRange": "本遊戲需要 {0} 個玩家持有:\n\n類型:{1}\n\n玩家:{2}\n\n{3}請打開設定畫面並配置控制器,或者關閉本視窗。",
|
||||
"DialogControllerAppletMessage": "本遊戲需要剛好 {0} 個玩家持有:\n\n類型:{1}\n\n玩家:{2}\n\n{3}請打開設定畫面並配置控制器,或者關閉本視窗。",
|
||||
"DialogControllerAppletDockModeSet": "現在處於主機模式,無法使用掌機操作方式\n\n",
|
||||
"UpdaterRenaming": "正在重新命名舊檔案...",
|
||||
"UpdaterRenameFailed": "更新過程中無法重新命名檔案: {0}",
|
||||
"UpdaterRenameFailed": "更新過程中無法重新命名檔案: {0}",
|
||||
"UpdaterAddingFiles": "安裝更新中...",
|
||||
"UpdaterExtracting": "正在提取更新...",
|
||||
"UpdaterDownloading": "下載新版本中...",
|
||||
|
@ -546,19 +563,19 @@
|
|||
"ApiError": "API 錯誤",
|
||||
"LoadingHeading": "正在啟動 {0}",
|
||||
"CompilingPPTC": "編譯 PPTC 快取中",
|
||||
"CompilingShaders": "編譯渲染器中",
|
||||
"CompilingShaders": "編譯著色器中",
|
||||
"AllKeyboards": "所有鍵盤",
|
||||
"OpenFileDialogTitle": "選擇支援的檔案格式",
|
||||
"OpenFolderDialogTitle": "選擇一個包含已解包遊戲的資料夾",
|
||||
"OpenFolderDialogTitle": "選擇一個包含已解開封裝遊戲的資料夾\n",
|
||||
"AllSupportedFormats": "全部支援的格式",
|
||||
"RyujinxUpdater": "Ryujinx 更新程式",
|
||||
"SettingsTabHotkeys": "快捷鍵",
|
||||
"SettingsTabHotkeysHotkeys": "鍵盤快捷鍵",
|
||||
"SettingsTabHotkeysToggleVsyncHotkey": "切換垂直同步",
|
||||
"SettingsTabHotkeysScreenshotHotkey": "截圖",
|
||||
"SettingsTabHotkeysShowUiHotkey": "隱藏使用者介面",
|
||||
"SettingsTabHotkeysPauseHotkey": "暫停",
|
||||
"SettingsTabHotkeysToggleMuteHotkey": "靜音",
|
||||
"SettingsTabHotkeysToggleVsyncHotkey": "切換垂直同步:",
|
||||
"SettingsTabHotkeysScreenshotHotkey": "截圖:",
|
||||
"SettingsTabHotkeysShowUiHotkey": "隱藏使用者介面:",
|
||||
"SettingsTabHotkeysPauseHotkey": "暫停:",
|
||||
"SettingsTabHotkeysToggleMuteHotkey": "靜音:",
|
||||
"ControllerMotionTitle": "體感操作設定",
|
||||
"ControllerRumbleTitle": "震動設定",
|
||||
"SettingsSelectThemeFileDialogTitle": "選擇主題檔案",
|
||||
|
@ -570,48 +587,70 @@
|
|||
"Writable": "可寫入",
|
||||
"SelectDlcDialogTitle": "選擇 DLC 檔案",
|
||||
"SelectUpdateDialogTitle": "選擇更新檔",
|
||||
"UserProfileWindowTitle": "管理使用者設定檔",
|
||||
"UserProfileWindowTitle": "管理使用者帳戶",
|
||||
"CheatWindowTitle": "管理遊戲金手指",
|
||||
"DlcWindowTitle": "管理遊戲 DLC",
|
||||
"UpdateWindowTitle": "管理遊戲更新",
|
||||
"CheatWindowHeading": "金手指可用於 {0} [{1}]",
|
||||
"BuildId": "版本編號:",
|
||||
"DlcWindowHeading": "DLC 可用於 {0} [{1}]",
|
||||
"UserProfilesEditProfile": "編輯所選",
|
||||
"Cancel": "取消",
|
||||
"Save": "儲存",
|
||||
"Discard": "放棄變更",
|
||||
"UserProfilesSetProfileImage": "設定帳號頭貼",
|
||||
"Discard": "放棄更改",
|
||||
"UserProfilesSetProfileImage": "設定帳戶頭像",
|
||||
"UserProfileEmptyNameError": "使用者名稱為必填",
|
||||
"UserProfileNoImageError": "必須設定帳號頭貼",
|
||||
"UserProfileNoImageError": "必須設定帳戶頭像",
|
||||
"GameUpdateWindowHeading": "更新可用於 {0} [{1}]",
|
||||
"SettingsTabHotkeysResScaleUpHotkey": "提高解析度:",
|
||||
"SettingsTabHotkeysResScaleDownHotkey": "降低解析度:",
|
||||
"UserProfilesName": "使用者名稱:",
|
||||
"UserProfilesUserId": "使用者 ID:",
|
||||
"SettingsTabGraphicsBackend": "圖形顯示後端",
|
||||
"SettingsTabGraphicsBackendTooltip": "要用來處理圖形相關內容的後端",
|
||||
"SettingsTabGraphicsBackend": "圖像處理後台架構",
|
||||
"SettingsTabGraphicsBackendTooltip": "用來圖像處理的後台架構",
|
||||
"SettingsEnableTextureRecompression": "開啟材質重新壓縮",
|
||||
"SettingsEnableTextureRecompressionTooltip": "壓縮某些材質以減少 VRAM 使用。\n\n推薦用於小於 4GiB VRAM 的 GPU。\n\n如果不確定請關閉本功能。",
|
||||
"SettingsTabGraphicsPreferredGpu": "首選 GPU",
|
||||
"SettingsTabGraphicsPreferredGpuTooltip": "選擇與 Vulkan 圖形顯示後端一起使用的 GPU。\n\n不影響 OpenGL 圖形後端所使用的 GPU。\n\n如果不確定,請設定為標記為「dGPU」的 GPU。如果沒有,請保持原設定。",
|
||||
"SettingsTabGraphicsPreferredGpu": "優先選取的 GPU",
|
||||
"SettingsTabGraphicsPreferredGpuTooltip": "選擇支持運行Vulkan圖像處理架構的GPU.\n\n此設定不會影響GPU運行OpenGL.\n\n如果不確定, 請設定標籤為\"dGPU\"的GPU. 如果沒有, 請保留原始設定.",
|
||||
"SettingsAppRequiredRestartMessage": "必須重啟 Ryujinx",
|
||||
"SettingsGpuBackendRestartMessage": "圖形顯示後端或 GPU 相關設定已被修改。需要重新啟動才能套用。",
|
||||
"SettingsGpuBackendRestartSubMessage": "您想要現在重新啟動本程式嗎?",
|
||||
"RyujinxUpdaterMessage": "您想要將 Ryujinx 更新到最新版本嗎?",
|
||||
"SettingsGpuBackendRestartMessage": "圖像處理後台架構或GPU相關設定已被修改。需要重新啟動才能套用。",
|
||||
"SettingsGpuBackendRestartSubMessage": "你確定要現在重新啟動嗎?",
|
||||
"RyujinxUpdaterMessage": "你確定要將 Ryujinx 更新到最新版本嗎?",
|
||||
"SettingsTabHotkeysVolumeUpHotkey": "增加音量:",
|
||||
"SettingsTabHotkeysVolumeDownHotkey": "降低音量:",
|
||||
"SettingsEnableMacroHLE": "啟用 Macro HLE",
|
||||
"SettingsEnableMacroHLETooltip": "GPU Macro 代碼的進階模擬。\n\n可以提升性能,但可能會導致某些遊戲出現圖形顯示故障。\n\n如果不確定請關閉本功能。",
|
||||
"SettingsEnableMacroHLETooltip": "GPU 微代碼的高階模擬。\n\n可以提升效能,但可能會導致某些遊戲出現圖形顯示故障。\n\n如果不確定請設定為\"開啟\"。",
|
||||
"SettingsEnableColorSpacePassthrough": "色彩空間直通",
|
||||
"SettingsEnableColorSpacePassthroughTooltip": "指揮Vulkan後端直通色彩資訊而不需指定色彩空間,對於廣色域顯示的使用者,這會造成較多抖色,犧牲色彩正確性。",
|
||||
"VolumeShort": "音量",
|
||||
"UserProfilesManageSaves": "管理遊戲存檔",
|
||||
"DeleteUserSave": "您想要刪除本遊戲的存檔嗎?",
|
||||
"DeleteUserSave": "你確定要刪除此遊戲的存檔嗎?",
|
||||
"IrreversibleActionNote": "本動作將無法挽回。",
|
||||
"SaveManagerHeading": "管理 {0} 的遊戲存檔",
|
||||
"SaveManagerTitle": "遊戲存檔管理器",
|
||||
"Name": "名稱",
|
||||
"Size": "大小",
|
||||
"Search": "搜尋",
|
||||
"UserProfilesRecoverLostAccounts": "恢復遺失的帳號",
|
||||
"UserProfilesRecoverLostAccounts": "恢復遺失的帳戶",
|
||||
"Recover": "恢復",
|
||||
"UserProfilesRecoverHeading": "在以下帳號找到了一些遊戲存檔"
|
||||
"UserProfilesRecoverHeading": "在以下帳戶找到了一些遊戲存檔",
|
||||
"UserProfilesRecoverEmptyList": "沒有可恢復的使用者帳戶",
|
||||
"GraphicsAATooltip": "在遊戲繪圖上套用抗鋸齒",
|
||||
"GraphicsAALabel": "抗鋸齒:",
|
||||
"GraphicsScalingFilterLabel": "縮放過濾器:",
|
||||
"GraphicsScalingFilterTooltip": "啟用畫幀緩衝區縮放",
|
||||
"GraphicsScalingFilterLevelLabel": "記錄檔等級",
|
||||
"GraphicsScalingFilterLevelTooltip": "設定縮放過濾器的強度",
|
||||
"SmaaLow": "低階 SMAA",
|
||||
"SmaaMedium": "中階 SMAA",
|
||||
"SmaaHigh": "高階 SMAA",
|
||||
"SmaaUltra": "超高階 SMAA",
|
||||
"UserEditorTitle": "編輯使用者",
|
||||
"UserEditorTitleCreate": "建立使用者",
|
||||
"SettingsTabNetworkInterface": "網路介面:",
|
||||
"NetworkInterfaceTooltip": "用於具有 LAN 功能的網路介面",
|
||||
"NetworkInterfaceDefault": "預設",
|
||||
"PackagingShaders": "著色器封裝",
|
||||
"AboutChangelogButton": "在 GitHub 查看更新日誌",
|
||||
"AboutChangelogButtonTooltipMessage": "在瀏覽器中打開此Ryujinx版本的更新日誌。"
|
||||
}
|
|
@ -1,65 +0,0 @@
|
|||
<Styles xmlns="https://github.com/avaloniaui" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml">
|
||||
<StyleInclude Source="avares://Ryujinx.Ava/Assets/Styles/Styles.xaml" />
|
||||
<Design.PreviewWith>
|
||||
<Border Height="2000" Padding="20">
|
||||
<StackPanel Spacing="5">
|
||||
<TextBlock Text="Code Font Family" />
|
||||
<Grid RowDefinitions="*,Auto">
|
||||
<Menu Grid.Row="1" Width="100">
|
||||
<MenuItem Header="File">
|
||||
<MenuItem Header="Test 1" />
|
||||
<MenuItem Header="Test 2" />
|
||||
<MenuItem Header="Test 3">
|
||||
<MenuItem.Icon>
|
||||
<CheckBox Margin="0" IsChecked="{Binding Checkbox, Mode=TwoWay}" />
|
||||
</MenuItem.Icon>
|
||||
</MenuItem>
|
||||
</MenuItem>
|
||||
</Menu>
|
||||
<StackPanel Orientation="Horizontal">
|
||||
<Button
|
||||
Name="btnAdd"
|
||||
HorizontalAlignment="Right"
|
||||
Content="Add" />
|
||||
<Button
|
||||
Name="btnRem"
|
||||
HorizontalAlignment="Right"
|
||||
Content="Add" />
|
||||
<TextBox
|
||||
Width="100"
|
||||
VerticalAlignment="Center"
|
||||
Text="Rrrrr"
|
||||
UseFloatingWatermark="True"
|
||||
Watermark="Hello" />
|
||||
<CheckBox>Test Check</CheckBox>
|
||||
</StackPanel>
|
||||
</Grid>
|
||||
</StackPanel>
|
||||
</Border>
|
||||
</Design.PreviewWith>
|
||||
<Styles.Resources>
|
||||
<SolidColorBrush x:Key="DataGridSelectionBackgroundBrush" Color="{DynamicResource DataGridSelectionColor}" />
|
||||
<SolidColorBrush x:Key="ThemeAccentColorBrush" Color="{DynamicResource SystemAccentColor}" />
|
||||
<SolidColorBrush x:Key="ThemeAccentBrush4" Color="{DynamicResource ThemeAccentColor4}" />
|
||||
<Color x:Key="ControlFillColorSecondary">#008AA8</Color>
|
||||
<SolidColorBrush x:Key="ControlFillColorSecondaryBrush" Color="{StaticResource ControlFillColorSecondary}" />
|
||||
<StaticResource x:Key="ButtonBackgroundPointerOver" ResourceKey="ControlFillColorSecondaryBrush" />
|
||||
<Color x:Key="SystemAccentColor">#FF00C3E3</Color>
|
||||
<Color x:Key="SystemAccentColorDark1">#FF99b000</Color>
|
||||
<Color x:Key="SystemAccentColorDark2">#FF006d7d</Color>
|
||||
<Color x:Key="SystemAccentColorDark3">#FF00525E</Color>
|
||||
<Color x:Key="SystemAccentColorLight1">#FF00dbff</Color>
|
||||
<Color x:Key="SystemAccentColorLight2">#FF19dfff</Color>
|
||||
<Color x:Key="SystemAccentColorLight3">#FF33e3ff</Color>
|
||||
<Color x:Key="DataGridSelectionColor">#FF00FABB</Color>
|
||||
<Color x:Key="ThemeContentBackgroundColor">#FF2D2D2D</Color>
|
||||
<Color x:Key="ThemeControlBorderColor">#FF505050</Color>
|
||||
<Color x:Key="TextOnAccentFillColorPrimary">#FFFFFFFF</Color>
|
||||
<Color x:Key="SystemChromeWhiteColor">#FFFFFFFF</Color>
|
||||
<Color x:Key="ThemeForegroundColor">#FFFFFFFF</Color>
|
||||
<Color x:Key="MenuFlyoutPresenterBorderColor">#3D3D3D</Color>
|
||||
<Color x:Key="AppListBackgroundColor">#0FFFFFFF</Color>
|
||||
<Color x:Key="AppListHoverBackgroundColor">#1EFFFFFF</Color>
|
||||
<Color x:Key="SecondaryTextColor">#A0FFFFFF</Color>
|
||||
</Styles.Resources>
|
||||
</Styles>
|
|
@ -1,57 +0,0 @@
|
|||
<Styles xmlns="https://github.com/avaloniaui" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml">
|
||||
<StyleInclude Source="avares://Ryujinx.Ava/Assets/Styles/Styles.xaml" />
|
||||
<Design.PreviewWith>
|
||||
<Border Height="2000" Padding="20">
|
||||
<StackPanel Spacing="5">
|
||||
<TextBlock Text="Code Font Family" />
|
||||
<Grid RowDefinitions="*,Auto">
|
||||
<Menu Grid.Row="1" Width="100">
|
||||
<MenuItem Header="File">
|
||||
<MenuItem Header="Test 1" />
|
||||
<MenuItem Header="Test 2" />
|
||||
<MenuItem Header="Test 3">
|
||||
<MenuItem.Icon>
|
||||
<CheckBox Margin="0" IsChecked="{Binding Checkbox, Mode=TwoWay}" />
|
||||
</MenuItem.Icon>
|
||||
</MenuItem>
|
||||
</MenuItem>
|
||||
</Menu>
|
||||
<StackPanel Orientation="Horizontal">
|
||||
<Button
|
||||
Name="btnAdd"
|
||||
HorizontalAlignment="Right"
|
||||
Content="Add" />
|
||||
<Button
|
||||
Name="btnRem"
|
||||
HorizontalAlignment="Right"
|
||||
Content="Add" />
|
||||
<TextBox
|
||||
Width="100"
|
||||
VerticalAlignment="Center"
|
||||
Text="Rrrrr"
|
||||
UseFloatingWatermark="True"
|
||||
Watermark="Hello" />
|
||||
<CheckBox>Test Check</CheckBox>
|
||||
</StackPanel>
|
||||
</Grid>
|
||||
</StackPanel>
|
||||
</Border>
|
||||
</Design.PreviewWith>
|
||||
<Styles.Resources>
|
||||
<SolidColorBrush x:Key="DataGridSelectionBackgroundBrush" Color="{DynamicResource DataGridSelectionColor}" />
|
||||
<SolidColorBrush x:Key="ThemeAccentColorBrush" Color="{DynamicResource SystemAccentColor}" />
|
||||
<SolidColorBrush x:Key="ThemeAccentBrush4" Color="{DynamicResource ThemeAccentColor4}" />
|
||||
<Color x:Key="SystemAccentColor">#FF00C3E3</Color>
|
||||
<Color x:Key="ThemeAccentColor4">#FFe8e8e8</Color>
|
||||
<Color x:Key="DataGridSelectionColor">#FF00FABB</Color>
|
||||
<Color x:Key="ThemeContentBackgroundColor">#FFF0F0F0</Color>
|
||||
<Color x:Key="ThemeControlBorderColor">#FFd6d6d6</Color>
|
||||
<Color x:Key="TextOnAccentFillColorPrimary">#FFFFFFFF</Color>
|
||||
<Color x:Key="SystemChromeWhiteColor">#FFFFFFFF</Color>
|
||||
<Color x:Key="ThemeForegroundColor">#FF000000</Color>
|
||||
<Color x:Key="MenuFlyoutPresenterBorderColor">#C1C1C1</Color>
|
||||
<Color x:Key="AppListBackgroundColor">#b3ffffff</Color>
|
||||
<Color x:Key="AppListHoverBackgroundColor">#80cccccc</Color>
|
||||
<Color x:Key="SecondaryTextColor">#A0000000</Color>
|
||||
</Styles.Resources>
|
||||
</Styles>
|
|
@ -3,17 +3,20 @@
|
|||
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
|
||||
xmlns:ui="clr-namespace:FluentAvalonia.UI.Controls;assembly=FluentAvalonia">
|
||||
<Design.PreviewWith>
|
||||
<Border Height="2000" Padding="20">
|
||||
<Border Height="2000"
|
||||
Padding="20">
|
||||
<StackPanel Spacing="5">
|
||||
<TextBlock Text="Code Font Family" />
|
||||
<Grid RowDefinitions="*,Auto">
|
||||
<Menu Grid.Row="1" Width="100">
|
||||
<Menu Grid.Row="1"
|
||||
Width="100">
|
||||
<MenuItem Header="File">
|
||||
<MenuItem Header="Test 1" />
|
||||
<MenuItem Header="Test 2" />
|
||||
<MenuItem Header="Test 3">
|
||||
<MenuItem.Icon>
|
||||
<CheckBox Margin="0" IsChecked="{Binding Checkbox, Mode=TwoWay}" />
|
||||
<CheckBox Margin="0"
|
||||
IsChecked="{ReflectionBinding Checkbox, Mode=TwoWay}" />
|
||||
</MenuItem.Icon>
|
||||
</MenuItem>
|
||||
</MenuItem>
|
||||
|
@ -42,57 +45,80 @@
|
|||
</Border>
|
||||
</Design.PreviewWith>
|
||||
<Style Selector="Border.small">
|
||||
<Setter Property="Width" Value="100" />
|
||||
<Setter Property="Width"
|
||||
Value="100" />
|
||||
</Style>
|
||||
<Style Selector="Border.normal">
|
||||
<Setter Property="Width" Value="130" />
|
||||
<Setter Property="Width"
|
||||
Value="130" />
|
||||
</Style>
|
||||
<Style Selector="Border.large">
|
||||
<Setter Property="Width" Value="160" />
|
||||
<Setter Property="Width"
|
||||
Value="160" />
|
||||
</Style>
|
||||
<Style Selector="Border.huge">
|
||||
<Setter Property="Width" Value="200" />
|
||||
<Setter Property="Width"
|
||||
Value="200" />
|
||||
</Style>
|
||||
<Style Selector="Border.settings">
|
||||
<Setter Property="Background" Value="{DynamicResource ThemeDarkColor}" />
|
||||
<Setter Property="BorderBrush" Value="{DynamicResource MenuFlyoutPresenterBorderColor}" />
|
||||
<Setter Property="BorderThickness" Value="1" />
|
||||
<Setter Property="CornerRadius" Value="5" />
|
||||
<Setter Property="Background"
|
||||
Value="{DynamicResource ThemeDarkColor}" />
|
||||
<Setter Property="BorderBrush"
|
||||
Value="{DynamicResource MenuFlyoutPresenterBorderColor}" />
|
||||
<Setter Property="BorderThickness"
|
||||
Value="1" />
|
||||
<Setter Property="CornerRadius"
|
||||
Value="5" />
|
||||
</Style>
|
||||
<Style Selector="Image.small">
|
||||
<Setter Property="Width" Value="50" />
|
||||
<Setter Property="Width"
|
||||
Value="50" />
|
||||
</Style>
|
||||
<Style Selector="Image.normal">
|
||||
<Setter Property="Width" Value="80" />
|
||||
<Setter Property="Width"
|
||||
Value="80" />
|
||||
</Style>
|
||||
<Style Selector="Image.large">
|
||||
<Setter Property="Width" Value="100" />
|
||||
<Setter Property="Width"
|
||||
Value="100" />
|
||||
</Style>
|
||||
<Style Selector="Image.huge">
|
||||
<Setter Property="Width" Value="120" />
|
||||
<Setter Property="Width"
|
||||
Value="120" />
|
||||
</Style>
|
||||
<Style Selector="#TitleBarHost > Image">
|
||||
<Setter Property="Margin" Value="10" />
|
||||
<Setter Property="Margin"
|
||||
Value="10" />
|
||||
</Style>
|
||||
<Style Selector="#TitleBarHost > Label">
|
||||
<Setter Property="Margin" Value="5" />
|
||||
<Setter Property="FontSize" Value="14" />
|
||||
<Setter Property="Margin"
|
||||
Value="5" />
|
||||
<Setter Property="FontSize"
|
||||
Value="14" />
|
||||
</Style>
|
||||
<Style Selector="Button.SystemCaption">
|
||||
<Setter Property="MinWidth" Value="10" />
|
||||
<Setter Property="MinWidth"
|
||||
Value="10" />
|
||||
</Style>
|
||||
<Style Selector="DataGridColumnHeader">
|
||||
<Setter Property="Foreground" Value="{DynamicResource ThemeForegroundBrush}" />
|
||||
<Setter Property="HorizontalContentAlignment" Value="Center" />
|
||||
<Setter Property="BorderThickness" Value="1" />
|
||||
<Setter Property="VerticalContentAlignment" Value="Center" />
|
||||
<Setter Property="Background" Value="{DynamicResource ThemeControlBorderColor}" />
|
||||
<Setter Property="SeparatorBrush" Value="{DynamicResource ThemeControlBorderColor}" />
|
||||
<Setter Property="Padding" Value="5" />
|
||||
<Setter Property="Background" Value="{DynamicResource ThemeContentBackgroundColor}" />
|
||||
<Setter Property="Foreground"
|
||||
Value="{DynamicResource ThemeForegroundBrush}" />
|
||||
<Setter Property="HorizontalContentAlignment"
|
||||
Value="Center" />
|
||||
<Setter Property="BorderThickness"
|
||||
Value="1" />
|
||||
<Setter Property="VerticalContentAlignment"
|
||||
Value="Center" />
|
||||
<Setter Property="SeparatorBrush"
|
||||
Value="{DynamicResource ThemeControlBorderColor}" />
|
||||
<Setter Property="Padding"
|
||||
Value="5" />
|
||||
<Setter Property="Background"
|
||||
Value="{DynamicResource ThemeContentBackgroundColor}" />
|
||||
<Setter Property="Template">
|
||||
<ControlTemplate>
|
||||
<Grid Background="{TemplateBinding Background}" ColumnDefinitions="*,Auto">
|
||||
<Grid Background="{TemplateBinding Background}"
|
||||
ColumnDefinitions="*,Auto">
|
||||
<Grid
|
||||
Margin="{TemplateBinding Padding}"
|
||||
HorizontalAlignment="{TemplateBinding HorizontalContentAlignment}"
|
||||
|
@ -122,193 +148,240 @@
|
|||
</Setter>
|
||||
</Style>
|
||||
<Style Selector="DataGrid">
|
||||
<Setter Property="RowBackground" Value="{DynamicResource ThemeAccentBrush4}" />
|
||||
<Setter Property="AlternatingRowBackground" Value="#00FFFFFF" />
|
||||
<Setter Property="Background" Value="{DynamicResource ThemeBackgroundBrush}" />
|
||||
<Setter Property="BorderBrush" Value="{DynamicResource ThemeBorderLowColor}" />
|
||||
<Setter Property="BorderThickness" Value="{DynamicResource ThemeBorderThickness}" />
|
||||
<Setter Property="RowBackground"
|
||||
Value="{DynamicResource ThemeAccentBrush4}" />
|
||||
<Setter Property="Background"
|
||||
Value="{DynamicResource ThemeBackgroundBrush}" />
|
||||
<Setter Property="BorderBrush"
|
||||
Value="{DynamicResource ThemeBorderLowColor}" />
|
||||
<Setter Property="BorderThickness"
|
||||
Value="{DynamicResource ThemeBorderThickness}" />
|
||||
</Style>
|
||||
<Style Selector="DataGridRow:selected:focus /template/ Rectangle#BackgroundRectangle">
|
||||
<Setter Property="Fill" Value="{DynamicResource SystemAccentColor}" />
|
||||
<Setter Property="Opacity" Value="{DynamicResource DataGridRowSelectedBackgroundOpacity}" />
|
||||
<Setter Property="Fill"
|
||||
Value="{DynamicResource SystemAccentColor}" />
|
||||
<Setter Property="Opacity"
|
||||
Value="{DynamicResource DataGridRowSelectedBackgroundOpacity}" />
|
||||
</Style>
|
||||
<Style Selector="DataGridRow:pointerover /template/ Rectangle#BackgroundRectangle">
|
||||
<Setter Property="Fill" Value="{DynamicResource SystemListLowColor}" />
|
||||
<Setter Property="Fill"
|
||||
Value="{DynamicResource SystemListLowColor}" />
|
||||
</Style>
|
||||
<Style Selector="DataGridRow:selected /template/ Rectangle#BackgroundRectangle">
|
||||
<Setter Property="Fill" Value="{DynamicResource SystemAccentColor}" />
|
||||
<Setter Property="Opacity" Value="{DynamicResource DataGridRowSelectedUnfocusedBackgroundOpacity}" />
|
||||
<Setter Property="Fill"
|
||||
Value="{DynamicResource SystemAccentColor}" />
|
||||
<Setter Property="Opacity"
|
||||
Value="{DynamicResource DataGridRowSelectedUnfocusedBackgroundOpacity}" />
|
||||
</Style>
|
||||
<Style Selector="DataGridRow:selected:pointerover /template/ Rectangle#BackgroundRectangle">
|
||||
<Setter Property="Fill" Value="{DynamicResource SystemAccentColor}" />
|
||||
<Setter Property="Opacity" Value="{DynamicResource DataGridRowSelectedHoveredUnfocusedBackgroundOpacity}" />
|
||||
<Setter Property="Fill"
|
||||
Value="{DynamicResource SystemAccentColor}" />
|
||||
<Setter Property="Opacity"
|
||||
Value="{DynamicResource DataGridRowSelectedHoveredUnfocusedBackgroundOpacity}" />
|
||||
</Style>
|
||||
<Style Selector="DataGridRow:selected:pointerover:focus /template/ Rectangle#BackgroundRectangle">
|
||||
<Setter Property="Fill" Value="{DynamicResource SystemAccentColor}" />
|
||||
<Setter Property="Opacity" Value="{DynamicResource DataGridRowSelectedHoveredBackgroundOpacity}" />
|
||||
<Setter Property="Fill"
|
||||
Value="{DynamicResource SystemAccentColor}" />
|
||||
<Setter Property="Opacity"
|
||||
Value="{DynamicResource DataGridRowSelectedHoveredBackgroundOpacity}" />
|
||||
</Style>
|
||||
<Style Selector="DataGridCell">
|
||||
<Setter Property="HorizontalAlignment" Value="Center" />
|
||||
<Setter Property="HorizontalContentAlignment" Value="Center" />
|
||||
<Setter Property="HorizontalAlignment"
|
||||
Value="Center" />
|
||||
<Setter Property="HorizontalContentAlignment"
|
||||
Value="Center" />
|
||||
</Style>
|
||||
<Style Selector="DataGridCell.Left">
|
||||
<Setter Property="HorizontalAlignment" Value="Left" />
|
||||
<Setter Property="HorizontalAlignment"
|
||||
Value="Left" />
|
||||
</Style>
|
||||
<Style Selector="CheckBox">
|
||||
<Setter Property="BorderThickness" Value="1" />
|
||||
<Setter Property="BorderThickness"
|
||||
Value="1" />
|
||||
</Style>
|
||||
|
||||
<Style Selector="MenuItem">
|
||||
<Setter Property="Height" Value="{DynamicResource MenuItemHeight}" />
|
||||
<Setter Property="Padding" Value="{DynamicResource MenuItemPadding}" />
|
||||
<Setter Property="FontSize" Value="12" />
|
||||
<Setter Property="Height"
|
||||
Value="{DynamicResource MenuItemHeight}" />
|
||||
<Setter Property="Padding"
|
||||
Value="{DynamicResource MenuItemPadding}" />
|
||||
<Setter Property="FontSize"
|
||||
Value="12" />
|
||||
</Style>
|
||||
<Style Selector="MenuItem:selected /template/ Border#root">
|
||||
<Setter Property="Background" Value="{DynamicResource ThemeControlBorderColor}" />
|
||||
<Setter Property="BorderBrush" Value="{DynamicResource ThemeControlBorderColor}" />
|
||||
<Setter Property="Background"
|
||||
Value="{DynamicResource ThemeControlBorderColor}" />
|
||||
<Setter Property="BorderBrush"
|
||||
Value="{DynamicResource ThemeControlBorderColor}" />
|
||||
</Style>
|
||||
<Style Selector="TabItem > ScrollViewer">
|
||||
<Setter Property="Background" Value="{DynamicResource ThemeBackgroundColor}" />
|
||||
<Setter Property="Margin" Value="0,-5,0,0" />
|
||||
<Setter Property="Background"
|
||||
Value="{DynamicResource ThemeBackgroundColor}" />
|
||||
<Setter Property="Margin"
|
||||
Value="0,-5,0,0" />
|
||||
</Style>
|
||||
<Style Selector="TabItem > ScrollViewer > Border">
|
||||
<Setter Property="BorderThickness" Value="0,1,0,0" />
|
||||
<Setter Property="Background" Value="{DynamicResource ThemeBackgroundColor}" />
|
||||
<Setter Property="BorderBrush" Value="{DynamicResource HighlightBrush}" />
|
||||
<Setter Property="BorderThickness"
|
||||
Value="0,1,0,0" />
|
||||
<Setter Property="Background"
|
||||
Value="{DynamicResource ThemeBackgroundColor}" />
|
||||
<Setter Property="BorderBrush"
|
||||
Value="{DynamicResource HighlightBrush}" />
|
||||
</Style>
|
||||
<Style Selector="Button">
|
||||
<Setter Property="MinWidth" Value="80" />
|
||||
<Setter Property="MinWidth"
|
||||
Value="80" />
|
||||
</Style>
|
||||
<Style Selector="ProgressBar /template/ Border#ProgressBarTrack">
|
||||
<Setter Property="IsVisible" Value="False" />
|
||||
<Setter Property="IsVisible"
|
||||
Value="False" />
|
||||
</Style>
|
||||
<Style Selector="ToggleButton">
|
||||
<Setter Property="Padding" Value="0,-5,0,0" />
|
||||
<Setter Property="Padding"
|
||||
Value="0,-5,0,0" />
|
||||
</Style>
|
||||
<Style Selector="TabItem">
|
||||
<Setter Property="FontSize" Value="14" />
|
||||
<Setter Property="BorderThickness" Value="0,0,1,0" />
|
||||
<Setter Property="BorderBrush" Value="{DynamicResource ThemeButtonForegroundColor}" />
|
||||
<Setter Property="Background" Value="{DynamicResource HighlightColor}" />
|
||||
<Setter Property="FontSize"
|
||||
Value="14" />
|
||||
<Setter Property="BorderThickness"
|
||||
Value="0,0,1,0" />
|
||||
<Setter Property="BorderBrush"
|
||||
Value="{DynamicResource ThemeButtonForegroundColor}" />
|
||||
<Setter Property="Background"
|
||||
Value="{DynamicResource SystemAccentColorLight2}" />
|
||||
</Style>
|
||||
<Style Selector="TabItem:pointerover">
|
||||
<Setter Property="Foreground" Value="{DynamicResource ThemeButtonForegroundColor}" />
|
||||
<Setter Property="Foreground"
|
||||
Value="{DynamicResource ThemeButtonForegroundColor}" />
|
||||
</Style>
|
||||
<Style Selector="TabItem:selected">
|
||||
<Setter Property="Background" Value="{DynamicResource HighlightColor}" />
|
||||
<Setter Property="Foreground" Value="{DynamicResource ThemeBackgroundColor}" />
|
||||
<Setter Property="Background"
|
||||
Value="{DynamicResource SystemAccentColorLight2}" />
|
||||
<Setter Property="Foreground"
|
||||
Value="{DynamicResource ThemeBackgroundColor}" />
|
||||
</Style>
|
||||
<Style Selector="TextBlock">
|
||||
<Setter Property="Margin" Value="{DynamicResource TextMargin}" />
|
||||
<Setter Property="FontSize" Value="{DynamicResource FontSize}" />
|
||||
<Setter Property="VerticalAlignment" Value="Center" />
|
||||
<Setter Property="TextWrapping" Value="WrapWithOverflow" />
|
||||
<Setter Property="Margin"
|
||||
Value="{DynamicResource TextMargin}" />
|
||||
<Setter Property="FontSize"
|
||||
Value="{DynamicResource FontSize}" />
|
||||
<Setter Property="VerticalAlignment"
|
||||
Value="Center" />
|
||||
<Setter Property="TextWrapping"
|
||||
Value="WrapWithOverflow" />
|
||||
</Style>
|
||||
<Style Selector="TextBlock.h1">
|
||||
<Setter Property="Margin" Value="{DynamicResource TextMargin}" />
|
||||
<Setter Property="VerticalAlignment" Value="Center" />
|
||||
<Setter Property="FontWeight" Value="Bold" />
|
||||
<Setter Property="FontSize" Value="16" />
|
||||
<Setter Property="TextWrapping" Value="WrapWithOverflow" />
|
||||
<Setter Property="Margin"
|
||||
Value="{DynamicResource TextMargin}" />
|
||||
<Setter Property="VerticalAlignment"
|
||||
Value="Center" />
|
||||
<Setter Property="FontWeight"
|
||||
Value="Bold" />
|
||||
<Setter Property="FontSize"
|
||||
Value="16" />
|
||||
<Setter Property="TextWrapping"
|
||||
Value="WrapWithOverflow" />
|
||||
</Style>
|
||||
<Style Selector="Separator">
|
||||
<Setter Property="Background" Value="{DynamicResource ThemeControlBorderColor}" />
|
||||
<Setter Property="Foreground" Value="{DynamicResource ThemeControlBorderColor}" />
|
||||
<Setter Property="MinHeight" Value="1" />
|
||||
<Setter Property="Background"
|
||||
Value="{DynamicResource ThemeControlBorderColor}" />
|
||||
<Setter Property="Foreground"
|
||||
Value="{DynamicResource ThemeControlBorderColor}" />
|
||||
<Setter Property="MinHeight"
|
||||
Value="1" />
|
||||
</Style>
|
||||
<Style Selector=":is(Button).DateTimeFlyoutButtonStyle">
|
||||
<Setter Property="Background" Value="{DynamicResource HighlightColor}" />
|
||||
<Setter Property="Foreground" Value="{DynamicResource ThemeBackgroundColor}" />
|
||||
<Setter Property="Background"
|
||||
Value="{DynamicResource SystemAccentColorLight2}" />
|
||||
<Setter Property="Foreground"
|
||||
Value="{DynamicResource ThemeBackgroundColor}" />
|
||||
</Style>
|
||||
<Style Selector="DatePickerPresenter">
|
||||
<Setter Property="BorderThickness" Value="1" />
|
||||
<Setter Property="BorderBrush" Value="{DynamicResource ThemeButtonForegroundColor}" />
|
||||
<Setter Property="BorderThickness"
|
||||
Value="1" />
|
||||
<Setter Property="BorderBrush"
|
||||
Value="{DynamicResource ThemeButtonForegroundColor}" />
|
||||
</Style>
|
||||
<Style Selector="DataGridCell">
|
||||
<Setter Property="FontSize" Value="14" />
|
||||
<Setter Property="FontSize"
|
||||
Value="14" />
|
||||
</Style>
|
||||
<Style Selector="CheckBox TextBlock">
|
||||
<Setter Property="Margin" Value="0,5,0,0" />
|
||||
<Setter Property="Margin"
|
||||
Value="0,5,0,0" />
|
||||
</Style>
|
||||
<Style Selector="ContextMenu">
|
||||
<Setter Property="BorderBrush" Value="{DynamicResource MenuFlyoutPresenterBorderBrush}" />
|
||||
<Setter Property="BorderThickness" Value="{DynamicResource MenuFlyoutPresenterBorderThemeThickness}" />
|
||||
<Setter Property="BorderBrush"
|
||||
Value="{DynamicResource MenuFlyoutPresenterBorderBrush}" />
|
||||
<Setter Property="BorderThickness"
|
||||
Value="{DynamicResource MenuFlyoutPresenterBorderThemeThickness}" />
|
||||
</Style>
|
||||
<Style Selector="TextBox">
|
||||
<Setter Property="VerticalContentAlignment" Value="Center" />
|
||||
<Setter Property="VerticalContentAlignment"
|
||||
Value="Center" />
|
||||
</Style>
|
||||
<Style Selector="TextBox.NumberBoxTextBoxStyle">
|
||||
<Setter Property="Foreground" Value="{DynamicResource ThemeForegroundColor}" />
|
||||
<Setter Property="Foreground"
|
||||
Value="{DynamicResource ThemeForegroundColor}" />
|
||||
</Style>
|
||||
<Style Selector="ListBox ListBoxItem">
|
||||
<Setter Property="Padding" Value="0" />
|
||||
<Setter Property="Margin" Value="0" />
|
||||
<Setter Property="CornerRadius" Value="5" />
|
||||
<Setter Property="Background" Value="{DynamicResource AppListBackgroundColor}" />
|
||||
<Setter Property="BorderThickness" Value="2"/>
|
||||
<Style.Animations>
|
||||
<Animation Duration="0:0:0.7">
|
||||
<KeyFrame Cue="0%">
|
||||
<Setter Property="MaxHeight" Value="0" />
|
||||
<Setter Property="Opacity" Value="0.0" />
|
||||
</KeyFrame>
|
||||
<KeyFrame Cue="50%">
|
||||
<Setter Property="MaxHeight" Value="1000" />
|
||||
<Setter Property="Opacity" Value="0.3" />
|
||||
</KeyFrame>
|
||||
<KeyFrame Cue="100%">
|
||||
<Setter Property="MaxHeight" Value="1000" />
|
||||
<Setter Property="Opacity" Value="1.0" />
|
||||
</KeyFrame>
|
||||
</Animation>
|
||||
</Style.Animations>
|
||||
<Setter Property="Padding"
|
||||
Value="0" />
|
||||
<Setter Property="Margin"
|
||||
Value="0" />
|
||||
<Setter Property="CornerRadius"
|
||||
Value="5" />
|
||||
<Setter Property="Background"
|
||||
Value="{DynamicResource AppListBackgroundColor}" />
|
||||
<Setter Property="BorderThickness"
|
||||
Value="2"/>
|
||||
</Style>
|
||||
<Style Selector="ListBox ListBoxItem:selected /template/ ContentPresenter">
|
||||
<Setter Property="Background" Value="{DynamicResource AppListBackgroundColor}" />
|
||||
<Setter Property="Background"
|
||||
Value="{DynamicResource AppListBackgroundColor}" />
|
||||
</Style>
|
||||
<Style Selector="ListBox">
|
||||
<Setter Property="Background"
|
||||
Value="{DynamicResource ThemeContentBackgroundColor}" />
|
||||
</Style>
|
||||
<Style Selector="FlyoutPresenter, ContextMenu, MenuFlyoutPresenter">
|
||||
<Setter Property="BorderBrush"
|
||||
Value="{DynamicResource MenuFlyoutPresenterBorderColor}" />
|
||||
</Style>
|
||||
<Style Selector="ListBox ListBoxItem:pointerover /template/ ContentPresenter">
|
||||
<Setter Property="Background" Value="{DynamicResource AppListHoverBackgroundColor}" />
|
||||
<Setter Property="Background"
|
||||
Value="{DynamicResource AppListHoverBackgroundColor}" />
|
||||
</Style>
|
||||
<Styles.Resources>
|
||||
<SolidColorBrush x:Key="ThemeAccentColorBrush" Color="{DynamicResource SystemAccentColor}" />
|
||||
<StaticResource x:Key="ListViewItemBackgroundSelected" ResourceKey="ThemeAccentColorBrush" />
|
||||
<StaticResource x:Key="ListViewItemBackgroundPressed" ResourceKey="SystemAccentColorDark1" />
|
||||
<StaticResource x:Key="ListViewItemBackgroundPointerOver" ResourceKey="SystemAccentColorDark2" />
|
||||
<StaticResource x:Key="ListViewItemBackgroundSelectedPressed" ResourceKey="ThemeAccentColorBrush" />
|
||||
<StaticResource x:Key="ListViewItemBackgroundSelectedPointerOver" ResourceKey="SystemAccentColorDark2" />
|
||||
<SolidColorBrush x:Key="ThemeAccentColorBrush"
|
||||
Color="{DynamicResource SystemAccentColor}" />
|
||||
<StaticResource x:Key="ListViewItemBackgroundSelected"
|
||||
ResourceKey="ThemeAccentColorBrush" />
|
||||
<StaticResource x:Key="ListViewItemBackgroundPressed"
|
||||
ResourceKey="SystemAccentColorDark1" />
|
||||
<StaticResource x:Key="ListViewItemBackgroundPointerOver"
|
||||
ResourceKey="SystemAccentColorDark2" />
|
||||
<StaticResource x:Key="ListViewItemBackgroundSelectedPressed"
|
||||
ResourceKey="ThemeAccentColorBrush" />
|
||||
<StaticResource x:Key="ListViewItemBackgroundSelectedPointerOver"
|
||||
ResourceKey="SystemAccentColorDark2" />
|
||||
<SolidColorBrush
|
||||
x:Key="DataGridGridLinesBrush"
|
||||
Opacity="0.4"
|
||||
Color="{DynamicResource SystemBaseMediumLowColor}" />
|
||||
<SolidColorBrush x:Key="DataGridSelectionBackgroundBrush" Color="{DynamicResource DataGridSelectionColor}" />
|
||||
<SolidColorBrush x:Key="MenuFlyoutPresenterBorderBrush" Color="{DynamicResource MenuFlyoutPresenterBorderColor}" />
|
||||
<SolidColorBrush x:Key="FlyoutBorderThemeBrush" Color="{DynamicResource MenuFlyoutPresenterBorderColor}" />
|
||||
<SolidColorBrush x:Key="ListBoxBackground" Color="{DynamicResource ThemeContentBackgroundColor}" />
|
||||
<SolidColorBrush x:Key="ThemeForegroundBrush" Color="{DynamicResource ThemeForegroundColor}" />
|
||||
<SolidColorBrush x:Key="ThemeAccentBrush4" Color="{DynamicResource ThemeAccentColor4}" />
|
||||
<SolidColorBrush x:Key="SplitButtonBackgroundChecked" Color="#00E81123" />
|
||||
<SolidColorBrush x:Key="SplitButtonBackgroundCheckedPointerOver" Color="#00E81123" />
|
||||
<SolidColorBrush x:Key="SplitButtonBackgroundCheckedPressed" Color="#00E81123" />
|
||||
<SolidColorBrush x:Key="SplitButtonBackgroundCheckedDisabled" Color="#00E81123" />
|
||||
<SolidColorBrush x:Key="DataGridSelectionBackgroundBrush"
|
||||
Color="{DynamicResource DataGridSelectionColor}" />
|
||||
<SolidColorBrush x:Key="SplitButtonBackgroundChecked"
|
||||
Color="#00E81123" />
|
||||
<SolidColorBrush x:Key="SplitButtonBackgroundCheckedPointerOver"
|
||||
Color="#00E81123" />
|
||||
<SolidColorBrush x:Key="SplitButtonBackgroundCheckedPressed"
|
||||
Color="#00E81123" />
|
||||
<SolidColorBrush x:Key="SplitButtonBackgroundCheckedDisabled"
|
||||
Color="#00E81123" />
|
||||
<Thickness x:Key="PageMargin">40 0 40 0</Thickness>
|
||||
<Thickness x:Key="Margin">0 5 0 5</Thickness>
|
||||
<Thickness x:Key="MenuItemPadding">5 0 5 0</Thickness>
|
||||
<Color x:Key="MenuFlyoutPresenterBorderColor">#00000000</Color>
|
||||
<Color x:Key="SystemAccentColor">#FF00C3E3</Color>
|
||||
<Color x:Key="SystemAccentColorDark1">#FF00C3E3</Color>
|
||||
<Color x:Key="SystemAccentColorDark2">#FF00C3E3</Color>
|
||||
<Color x:Key="SystemAccentColorDark3">#FF00C3E3</Color>
|
||||
<Color x:Key="SystemAccentColorLight1">#FF00C3E3</Color>
|
||||
<Color x:Key="SystemAccentColorLight2">#FF00C3E3</Color>
|
||||
<Color x:Key="SystemAccentColorLight3">#FF00C3E3</Color>
|
||||
<Color x:Key="DataGridSelectionColor">#FF00FABB</Color>
|
||||
<Color x:Key="ThemeContentBackgroundColor">#FF2D2D2D</Color>
|
||||
<Color x:Key="ThemeControlBorderColor">#FF505050</Color>
|
||||
<Color x:Key="VsyncEnabled">#FF2EEAC9</Color>
|
||||
<Color x:Key="VsyncDisabled">#FFFF4554</Color>
|
||||
<Color x:Key="AppListBackgroundColor">#0FFFFFFF</Color>
|
||||
<Color x:Key="AppListHoverBackgroundColor">#1EFFFFFF</Color>
|
||||
<Color x:Key="SecondaryTextColor">#A0FFFFFF</Color>
|
||||
<x:Double x:Key="ScrollBarThickness">15</x:Double>
|
||||
<x:Double x:Key="FontSizeSmall">8</x:Double>
|
||||
<x:Double x:Key="FontSizeNormal">10</x:Double>
|
||||
|
|
85
src/Ryujinx.Ava/Assets/Styles/Themes.xaml
Normal file
85
src/Ryujinx.Ava/Assets/Styles/Themes.xaml
Normal file
|
@ -0,0 +1,85 @@
|
|||
<ResourceDictionary xmlns="https://github.com/avaloniaui"
|
||||
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml">
|
||||
<ResourceDictionary.ThemeDictionaries>
|
||||
<ResourceDictionary x:Key="Default">
|
||||
<SolidColorBrush x:Key="DataGridSelectionBackgroundBrush"
|
||||
Color="{DynamicResource DataGridSelectionColor}" />
|
||||
<SolidColorBrush x:Key="ThemeAccentColorBrush"
|
||||
Color="{DynamicResource SystemAccentColor}" />
|
||||
<SolidColorBrush x:Key="ThemeAccentBrush4"
|
||||
Color="{DynamicResource ThemeAccentColor4}" />
|
||||
<Color x:Key="SystemAccentColor">#FF00C3E3</Color>
|
||||
<Color x:Key="SystemAccentColorDark1">#FF00C3E3</Color>
|
||||
<Color x:Key="SystemAccentColorDark2">#FF00C3E3</Color>
|
||||
<Color x:Key="SystemAccentColorDark3">#FF00C3E3</Color>
|
||||
<Color x:Key="SystemAccentColorLight1">#FF00C3E3</Color>
|
||||
<Color x:Key="SystemAccentColorLight2">#FF00C3E3</Color>
|
||||
<Color x:Key="SystemAccentColorLight3">#FF00C3E3</Color>
|
||||
<Color x:Key="ThemeAccentColor4">#FFe8e8e8</Color>
|
||||
<Color x:Key="DataGridSelectionColor">#FF00FABB</Color>
|
||||
<Color x:Key="ThemeContentBackgroundColor">#FFF0F0F0</Color>
|
||||
<Color x:Key="ThemeControlBorderColor">#FFd6d6d6</Color>
|
||||
<Color x:Key="TextOnAccentFillColorPrimary">#FFFFFFFF</Color>
|
||||
<Color x:Key="SystemChromeWhiteColor">#FFFFFFFF</Color>
|
||||
<Color x:Key="ThemeForegroundColor">#FF000000</Color>
|
||||
<Color x:Key="MenuFlyoutPresenterBorderColor">#C1C1C1</Color>
|
||||
<Color x:Key="AppListBackgroundColor">#b3ffffff</Color>
|
||||
<Color x:Key="AppListHoverBackgroundColor">#80cccccc</Color>
|
||||
<Color x:Key="SecondaryTextColor">#A0000000</Color>
|
||||
<Color x:Key="VsyncEnabled">#FF2EEAC9</Color>
|
||||
<Color x:Key="VsyncDisabled">#FFFF4554</Color>
|
||||
</ResourceDictionary>
|
||||
<ResourceDictionary x:Key="Light">
|
||||
<SolidColorBrush x:Key="DataGridSelectionBackgroundBrush"
|
||||
Color="{DynamicResource DataGridSelectionColor}" />
|
||||
<SolidColorBrush x:Key="ThemeAccentColorBrush"
|
||||
Color="{DynamicResource SystemAccentColor}" />
|
||||
<SolidColorBrush x:Key="ThemeAccentBrush4"
|
||||
Color="{DynamicResource ThemeAccentColor4}" />
|
||||
<Color x:Key="SystemAccentColor">#FF00C3E3</Color>
|
||||
<Color x:Key="SystemAccentColorDark1">#FF00C3E3</Color>
|
||||
<Color x:Key="SystemAccentColorDark2">#FF00C3E3</Color>
|
||||
<Color x:Key="SystemAccentColorDark3">#FF00C3E3</Color>
|
||||
<Color x:Key="SystemAccentColorLight1">#FF00C3E3</Color>
|
||||
<Color x:Key="SystemAccentColorLight2">#FF00C3E3</Color>
|
||||
<Color x:Key="SystemAccentColorLight3">#FF00C3E3</Color>
|
||||
<Color x:Key="ThemeAccentColor4">#FFe8e8e8</Color>
|
||||
<Color x:Key="DataGridSelectionColor">#FF00FABB</Color>
|
||||
<Color x:Key="ThemeContentBackgroundColor">#FFF0F0F0</Color>
|
||||
<Color x:Key="ThemeControlBorderColor">#FFd6d6d6</Color>
|
||||
<Color x:Key="TextOnAccentFillColorPrimary">#FFFFFFFF</Color>
|
||||
<Color x:Key="SystemChromeWhiteColor">#FFFFFFFF</Color>
|
||||
<Color x:Key="ThemeForegroundColor">#FF000000</Color>
|
||||
<Color x:Key="MenuFlyoutPresenterBorderColor">#C1C1C1</Color>
|
||||
<Color x:Key="AppListBackgroundColor">#b3ffffff</Color>
|
||||
<Color x:Key="AppListHoverBackgroundColor">#80cccccc</Color>
|
||||
<Color x:Key="SecondaryTextColor">#A0000000</Color>
|
||||
</ResourceDictionary>
|
||||
<ResourceDictionary x:Key="Dark">
|
||||
<SolidColorBrush x:Key="DataGridSelectionBackgroundBrush"
|
||||
Color="{DynamicResource DataGridSelectionColor}" />
|
||||
<SolidColorBrush x:Key="ThemeAccentColorBrush"
|
||||
Color="{DynamicResource SystemAccentColor}" />
|
||||
<SolidColorBrush x:Key="ThemeAccentBrush4"
|
||||
Color="{DynamicResource ThemeAccentColor4}" />
|
||||
<Color x:Key="ControlFillColorSecondary">#008AA8</Color>
|
||||
<Color x:Key="SystemAccentColor">#FF00C3E3</Color>
|
||||
<Color x:Key="SystemAccentColorDark1">#FF99b000</Color>
|
||||
<Color x:Key="SystemAccentColorDark2">#FF006d7d</Color>
|
||||
<Color x:Key="SystemAccentColorDark3">#FF00525E</Color>
|
||||
<Color x:Key="SystemAccentColorLight1">#FF00dbff</Color>
|
||||
<Color x:Key="SystemAccentColorLight2">#FF19dfff</Color>
|
||||
<Color x:Key="SystemAccentColorLight3">#FF33e3ff</Color>
|
||||
<Color x:Key="DataGridSelectionColor">#FF00FABB</Color>
|
||||
<Color x:Key="ThemeContentBackgroundColor">#FF2D2D2D</Color>
|
||||
<Color x:Key="ThemeControlBorderColor">#FF505050</Color>
|
||||
<Color x:Key="TextOnAccentFillColorPrimary">#FFFFFFFF</Color>
|
||||
<Color x:Key="SystemChromeWhiteColor">#FFFFFFFF</Color>
|
||||
<Color x:Key="ThemeForegroundColor">#FFFFFFFF</Color>
|
||||
<Color x:Key="MenuFlyoutPresenterBorderColor">#3D3D3D</Color>
|
||||
<Color x:Key="AppListBackgroundColor">#0FFFFFFF</Color>
|
||||
<Color x:Key="AppListHoverBackgroundColor">#1EFFFFFF</Color>
|
||||
<Color x:Key="SecondaryTextColor">#A0FFFFFF</Color>
|
||||
</ResourceDictionary>
|
||||
</ResourceDictionary.ThemeDictionaries>
|
||||
</ResourceDictionary>
|
|
@ -1,5 +1,5 @@
|
|||
using Avalonia.Controls;
|
||||
using Avalonia.Controls.Notifications;
|
||||
using Avalonia.Platform.Storage;
|
||||
using Avalonia.Threading;
|
||||
using LibHac;
|
||||
using LibHac.Account;
|
||||
|
@ -15,7 +15,6 @@ using LibHac.Tools.FsSystem.NcaUtils;
|
|||
using Ryujinx.Ava.Common.Locale;
|
||||
using Ryujinx.Ava.UI.Controls;
|
||||
using Ryujinx.Ava.UI.Helpers;
|
||||
using Ryujinx.Ava.UI.Windows;
|
||||
using Ryujinx.Common.Logging;
|
||||
using Ryujinx.HLE.FileSystem;
|
||||
using Ryujinx.HLE.HOS.Services.Account.Acc;
|
||||
|
@ -36,11 +35,9 @@ namespace Ryujinx.Ava.Common
|
|||
private static HorizonClient _horizonClient;
|
||||
private static AccountManager _accountManager;
|
||||
private static VirtualFileSystem _virtualFileSystem;
|
||||
private static StyleableWindow _owner;
|
||||
|
||||
public static void Initialize(VirtualFileSystem virtualFileSystem, AccountManager accountManager, HorizonClient horizonClient, StyleableWindow owner)
|
||||
public static void Initialize(VirtualFileSystem virtualFileSystem, AccountManager accountManager, HorizonClient horizonClient)
|
||||
{
|
||||
_owner = owner;
|
||||
_virtualFileSystem = virtualFileSystem;
|
||||
_horizonClient = horizonClient;
|
||||
_accountManager = accountManager;
|
||||
|
@ -143,14 +140,20 @@ namespace Ryujinx.Ava.Common
|
|||
}
|
||||
}
|
||||
|
||||
public static async Task ExtractSection(NcaSectionType ncaSectionType, string titleFilePath, string titleName, int programIndex = 0)
|
||||
public static async Task ExtractSection(IStorageProvider storageProvider, NcaSectionType ncaSectionType, string titleFilePath, string titleName, int programIndex = 0)
|
||||
{
|
||||
OpenFolderDialog folderDialog = new()
|
||||
var result = await storageProvider.OpenFolderPickerAsync(new FolderPickerOpenOptions
|
||||
{
|
||||
Title = LocaleManager.Instance[LocaleKeys.FolderDialogExtractTitle],
|
||||
};
|
||||
AllowMultiple = false,
|
||||
});
|
||||
|
||||
string destination = await folderDialog.ShowAsync(_owner);
|
||||
if (result.Count == 0)
|
||||
{
|
||||
return;
|
||||
}
|
||||
|
||||
var destination = result[0].Path.LocalPath;
|
||||
var cancellationToken = new CancellationTokenSource();
|
||||
|
||||
UpdateWaitWindow waitingDialog = new(
|
||||
|
@ -158,8 +161,6 @@ namespace Ryujinx.Ava.Common
|
|||
LocaleManager.Instance.UpdateAndGetDynamicValue(LocaleKeys.DialogNcaExtractionMessage, ncaSectionType, Path.GetFileName(titleFilePath)),
|
||||
cancellationToken);
|
||||
|
||||
if (!string.IsNullOrWhiteSpace(destination))
|
||||
{
|
||||
Thread extractorThread = new(() =>
|
||||
{
|
||||
Dispatcher.UIThread.Post(waitingDialog.Show);
|
||||
|
@ -172,7 +173,7 @@ namespace Ryujinx.Ava.Common
|
|||
string extension = Path.GetExtension(titleFilePath).ToLower();
|
||||
if (extension == ".nsp" || extension == ".pfs0" || extension == ".xci")
|
||||
{
|
||||
PartitionFileSystem pfs;
|
||||
IFileSystem pfs;
|
||||
|
||||
if (extension == ".xci")
|
||||
{
|
||||
|
@ -180,7 +181,9 @@ namespace Ryujinx.Ava.Common
|
|||
}
|
||||
else
|
||||
{
|
||||
pfs = new PartitionFileSystem(file.AsStorage());
|
||||
var pfsTemp = new PartitionFileSystem();
|
||||
pfsTemp.Initialize(file.AsStorage()).ThrowIfFailure();
|
||||
pfs = pfsTemp;
|
||||
}
|
||||
|
||||
foreach (DirectoryEntryEx fileEntry in pfs.EnumerateEntries("/", "*.nca"))
|
||||
|
@ -300,7 +303,6 @@ namespace Ryujinx.Ava.Common
|
|||
};
|
||||
extractorThread.Start();
|
||||
}
|
||||
}
|
||||
|
||||
public static (Result? result, bool canceled) CopyDirectory(FileSystemClient fs, string sourcePath, string destPath, CancellationToken token)
|
||||
{
|
||||
|
|
|
@ -1,6 +1,7 @@
|
|||
using Avalonia.Data;
|
||||
using Avalonia.Data.Core;
|
||||
using Avalonia.Markup.Xaml;
|
||||
using Avalonia.Markup.Xaml.MarkupExtensions;
|
||||
using Avalonia.Markup.Xaml.MarkupExtensions.CompiledBindings;
|
||||
using System;
|
||||
|
||||
namespace Ryujinx.Ava.Common.Locale
|
||||
|
@ -18,11 +19,20 @@ namespace Ryujinx.Ava.Common.Locale
|
|||
{
|
||||
LocaleKeys keyToUse = Key;
|
||||
|
||||
ReflectionBindingExtension binding = new($"[{keyToUse}]")
|
||||
var builder = new CompiledBindingPathBuilder();
|
||||
|
||||
builder.SetRawSource(LocaleManager.Instance)
|
||||
.Property(new ClrPropertyInfo("Item",
|
||||
obj => (LocaleManager.Instance[keyToUse]),
|
||||
null,
|
||||
typeof(string)), (weakRef, iPropInfo) =>
|
||||
{
|
||||
Mode = BindingMode.OneWay,
|
||||
Source = LocaleManager.Instance,
|
||||
};
|
||||
return PropertyInfoAccessorFactory.CreateInpcPropertyAccessor(weakRef, iPropInfo);
|
||||
});
|
||||
|
||||
var path = builder.Build();
|
||||
|
||||
var binding = new CompiledBindingExtension(path);
|
||||
|
||||
return binding.ProvideValue(serviceProvider);
|
||||
}
|
||||
|
|
|
@ -1,6 +1,5 @@
|
|||
using Avalonia.Controls;
|
||||
using Avalonia.Input;
|
||||
using Avalonia.Interactivity;
|
||||
using Ryujinx.Ava.Common.Locale;
|
||||
using Ryujinx.Input;
|
||||
using System;
|
||||
|
@ -31,7 +30,6 @@ namespace Ryujinx.Ava.Input
|
|||
_control.KeyDown += OnKeyPress;
|
||||
_control.KeyUp += OnKeyRelease;
|
||||
_control.TextInput += Control_TextInput;
|
||||
_control.AddHandler(InputElement.TextInputEvent, Control_LastChanceTextInput, RoutingStrategies.Bubble);
|
||||
}
|
||||
|
||||
private void Control_TextInput(object sender, TextInputEventArgs e)
|
||||
|
@ -39,12 +37,6 @@ namespace Ryujinx.Ava.Input
|
|||
TextInput?.Invoke(this, e.Text);
|
||||
}
|
||||
|
||||
private void Control_LastChanceTextInput(object sender, TextInputEventArgs e)
|
||||
{
|
||||
// Swallow event
|
||||
e.Handled = true;
|
||||
}
|
||||
|
||||
public event Action<string> OnGamepadConnected
|
||||
{
|
||||
add { }
|
||||
|
|
|
@ -37,7 +37,7 @@ namespace Ryujinx.Modules
|
|||
private static readonly string _homeDir = AppDomain.CurrentDomain.BaseDirectory;
|
||||
private static readonly string _updateDir = Path.Combine(Path.GetTempPath(), "Ryujinx", "update");
|
||||
private static readonly string _updatePublishDir = Path.Combine(_updateDir, "publish");
|
||||
private static readonly int _connectionCount = 4;
|
||||
private const int ConnectionCount = 4;
|
||||
|
||||
private static string _buildVer;
|
||||
private static string _platformExt;
|
||||
|
@ -82,12 +82,9 @@ namespace Ryujinx.Modules
|
|||
{
|
||||
Logger.Error?.Print(LogClass.Application, "Failed to convert the current Ryujinx version!");
|
||||
|
||||
Dispatcher.UIThread.Post(async () =>
|
||||
{
|
||||
await ContentDialogHelper.CreateWarningDialog(
|
||||
LocaleManager.Instance[LocaleKeys.DialogUpdaterConvertFailedMessage],
|
||||
LocaleManager.Instance[LocaleKeys.DialogUpdaterCancelUpdateMessage]);
|
||||
});
|
||||
|
||||
_running = false;
|
||||
|
||||
|
@ -114,10 +111,9 @@ namespace Ryujinx.Modules
|
|||
{
|
||||
if (showVersionUpToDate)
|
||||
{
|
||||
Dispatcher.UIThread.Post(async () =>
|
||||
{
|
||||
await ContentDialogHelper.CreateUpdaterInfoDialog(LocaleManager.Instance[LocaleKeys.DialogUpdaterAlreadyOnLatestVersionMessage], "");
|
||||
});
|
||||
await ContentDialogHelper.CreateUpdaterInfoDialog(
|
||||
LocaleManager.Instance[LocaleKeys.DialogUpdaterAlreadyOnLatestVersionMessage],
|
||||
"");
|
||||
}
|
||||
|
||||
_running = false;
|
||||
|
@ -134,10 +130,9 @@ namespace Ryujinx.Modules
|
|||
{
|
||||
if (showVersionUpToDate)
|
||||
{
|
||||
Dispatcher.UIThread.Post(async () =>
|
||||
{
|
||||
await ContentDialogHelper.CreateUpdaterInfoDialog(LocaleManager.Instance[LocaleKeys.DialogUpdaterAlreadyOnLatestVersionMessage], "");
|
||||
});
|
||||
await ContentDialogHelper.CreateUpdaterInfoDialog(
|
||||
LocaleManager.Instance[LocaleKeys.DialogUpdaterAlreadyOnLatestVersionMessage],
|
||||
"");
|
||||
}
|
||||
|
||||
_running = false;
|
||||
|
@ -149,10 +144,8 @@ namespace Ryujinx.Modules
|
|||
{
|
||||
Logger.Error?.Print(LogClass.Application, exception.Message);
|
||||
|
||||
Dispatcher.UIThread.Post(async () =>
|
||||
{
|
||||
await ContentDialogHelper.CreateErrorDialog(LocaleManager.Instance[LocaleKeys.DialogUpdaterFailedToGetVersionMessage]);
|
||||
});
|
||||
await ContentDialogHelper.CreateErrorDialog(
|
||||
LocaleManager.Instance[LocaleKeys.DialogUpdaterFailedToGetVersionMessage]);
|
||||
|
||||
_running = false;
|
||||
|
||||
|
@ -167,12 +160,9 @@ namespace Ryujinx.Modules
|
|||
{
|
||||
Logger.Error?.Print(LogClass.Application, "Failed to convert the received Ryujinx version from Github!");
|
||||
|
||||
Dispatcher.UIThread.Post(async () =>
|
||||
{
|
||||
await ContentDialogHelper.CreateWarningDialog(
|
||||
LocaleManager.Instance[LocaleKeys.DialogUpdaterConvertFailedGithubMessage],
|
||||
LocaleManager.Instance[LocaleKeys.DialogUpdaterCancelUpdateMessage]);
|
||||
});
|
||||
|
||||
_running = false;
|
||||
|
||||
|
@ -183,10 +173,9 @@ namespace Ryujinx.Modules
|
|||
{
|
||||
if (showVersionUpToDate)
|
||||
{
|
||||
Dispatcher.UIThread.Post(async () =>
|
||||
{
|
||||
await ContentDialogHelper.CreateUpdaterInfoDialog(LocaleManager.Instance[LocaleKeys.DialogUpdaterAlreadyOnLatestVersionMessage], "");
|
||||
});
|
||||
await ContentDialogHelper.CreateUpdaterInfoDialog(
|
||||
LocaleManager.Instance[LocaleKeys.DialogUpdaterAlreadyOnLatestVersionMessage],
|
||||
"");
|
||||
}
|
||||
|
||||
_running = false;
|
||||
|
@ -212,7 +201,7 @@ namespace Ryujinx.Modules
|
|||
_buildSize = -1;
|
||||
}
|
||||
|
||||
Dispatcher.UIThread.Post(async () =>
|
||||
await Dispatcher.UIThread.InvokeAsync(async () =>
|
||||
{
|
||||
// Show a message asking the user if they want to update
|
||||
var shouldUpdate = await ContentDialogHelper.CreateChoiceDialog(
|
||||
|
@ -222,7 +211,7 @@ namespace Ryujinx.Modules
|
|||
|
||||
if (shouldUpdate)
|
||||
{
|
||||
UpdateRyujinx(mainWindow, _buildUrl);
|
||||
await UpdateRyujinx(mainWindow, _buildUrl);
|
||||
}
|
||||
else
|
||||
{
|
||||
|
@ -241,7 +230,7 @@ namespace Ryujinx.Modules
|
|||
return result;
|
||||
}
|
||||
|
||||
private static async void UpdateRyujinx(Window parent, string downloadUrl)
|
||||
private static async Task UpdateRyujinx(Window parent, string downloadUrl)
|
||||
{
|
||||
_updateSuccessful = false;
|
||||
|
||||
|
@ -344,22 +333,22 @@ namespace Ryujinx.Modules
|
|||
private static void DoUpdateWithMultipleThreads(TaskDialog taskDialog, string downloadUrl, string updateFile)
|
||||
{
|
||||
// Multi-Threaded Updater
|
||||
long chunkSize = _buildSize / _connectionCount;
|
||||
long remainderChunk = _buildSize % _connectionCount;
|
||||
long chunkSize = _buildSize / ConnectionCount;
|
||||
long remainderChunk = _buildSize % ConnectionCount;
|
||||
|
||||
int completedRequests = 0;
|
||||
int totalProgressPercentage = 0;
|
||||
int[] progressPercentage = new int[_connectionCount];
|
||||
int[] progressPercentage = new int[ConnectionCount];
|
||||
|
||||
List<byte[]> list = new(_connectionCount);
|
||||
List<WebClient> webClients = new(_connectionCount);
|
||||
List<byte[]> list = new(ConnectionCount);
|
||||
List<WebClient> webClients = new(ConnectionCount);
|
||||
|
||||
for (int i = 0; i < _connectionCount; i++)
|
||||
for (int i = 0; i < ConnectionCount; i++)
|
||||
{
|
||||
list.Add(Array.Empty<byte>());
|
||||
}
|
||||
|
||||
for (int i = 0; i < _connectionCount; i++)
|
||||
for (int i = 0; i < ConnectionCount; i++)
|
||||
{
|
||||
#pragma warning disable SYSLIB0014
|
||||
// TODO: WebClient is obsolete and need to be replaced with a more complex logic using HttpClient.
|
||||
|
@ -368,7 +357,7 @@ namespace Ryujinx.Modules
|
|||
|
||||
webClients.Add(client);
|
||||
|
||||
if (i == _connectionCount - 1)
|
||||
if (i == ConnectionCount - 1)
|
||||
{
|
||||
client.Headers.Add("Range", $"bytes={chunkSize * i}-{(chunkSize * (i + 1) - 1) + remainderChunk}");
|
||||
}
|
||||
|
@ -385,7 +374,7 @@ namespace Ryujinx.Modules
|
|||
Interlocked.Exchange(ref progressPercentage[index], args.ProgressPercentage);
|
||||
Interlocked.Add(ref totalProgressPercentage, args.ProgressPercentage);
|
||||
|
||||
taskDialog.SetProgressBarState(totalProgressPercentage / _connectionCount, TaskDialogProgressState.Normal);
|
||||
taskDialog.SetProgressBarState(totalProgressPercentage / ConnectionCount, TaskDialogProgressState.Normal);
|
||||
};
|
||||
|
||||
client.DownloadDataCompleted += (_, args) =>
|
||||
|
@ -404,10 +393,10 @@ namespace Ryujinx.Modules
|
|||
list[index] = args.Result;
|
||||
Interlocked.Increment(ref completedRequests);
|
||||
|
||||
if (Equals(completedRequests, _connectionCount))
|
||||
if (Equals(completedRequests, ConnectionCount))
|
||||
{
|
||||
byte[] mergedFileBytes = new byte[_buildSize];
|
||||
for (int connectionIndex = 0, destinationOffset = 0; connectionIndex < _connectionCount; connectionIndex++)
|
||||
for (int connectionIndex = 0, destinationOffset = 0; connectionIndex < ConnectionCount; connectionIndex++)
|
||||
{
|
||||
Array.Copy(list[connectionIndex], 0, mergedFileBytes, destinationOffset, list[connectionIndex].Length);
|
||||
destinationOffset += list[connectionIndex].Length;
|
||||
|
@ -579,14 +568,12 @@ namespace Ryujinx.Modules
|
|||
}
|
||||
}
|
||||
|
||||
private static async void InstallUpdate(TaskDialog taskDialog, string updateFile)
|
||||
private static void InstallUpdate(TaskDialog taskDialog, string updateFile)
|
||||
{
|
||||
// Extract Update
|
||||
taskDialog.SubHeader = LocaleManager.Instance[LocaleKeys.UpdaterExtracting];
|
||||
taskDialog.SetProgressBarState(0, TaskDialogProgressState.Normal);
|
||||
|
||||
await Task.Run(() =>
|
||||
{
|
||||
if (OperatingSystem.IsLinux() || OperatingSystem.IsMacOS())
|
||||
{
|
||||
ExtractTarGzipFile(taskDialog, updateFile, _updateDir);
|
||||
|
@ -599,7 +586,6 @@ namespace Ryujinx.Modules
|
|||
{
|
||||
throw new NotSupportedException();
|
||||
}
|
||||
});
|
||||
|
||||
// Delete downloaded zip
|
||||
File.Delete(updateFile);
|
||||
|
@ -613,8 +599,6 @@ namespace Ryujinx.Modules
|
|||
if (!OperatingSystem.IsMacOS())
|
||||
{
|
||||
// Replace old files
|
||||
await Task.Run(() =>
|
||||
{
|
||||
double count = 0;
|
||||
foreach (string file in allFiles)
|
||||
{
|
||||
|
@ -623,7 +607,7 @@ namespace Ryujinx.Modules
|
|||
{
|
||||
File.Move(file, file + ".ryuold");
|
||||
|
||||
Dispatcher.UIThread.Post(() =>
|
||||
Dispatcher.UIThread.InvokeAsync(() =>
|
||||
{
|
||||
taskDialog.SetProgressBarState(GetPercentage(count, allFiles.Count), TaskDialogProgressState.Normal);
|
||||
});
|
||||
|
@ -634,14 +618,13 @@ namespace Ryujinx.Modules
|
|||
}
|
||||
}
|
||||
|
||||
Dispatcher.UIThread.Post(() =>
|
||||
Dispatcher.UIThread.InvokeAsync(() =>
|
||||
{
|
||||
taskDialog.SubHeader = LocaleManager.Instance[LocaleKeys.UpdaterAddingFiles];
|
||||
taskDialog.SetProgressBarState(0, TaskDialogProgressState.Normal);
|
||||
});
|
||||
|
||||
MoveAllFilesOver(_updatePublishDir, _homeDir, taskDialog);
|
||||
});
|
||||
|
||||
Directory.Delete(_updateDir, true);
|
||||
}
|
||||
|
@ -658,12 +641,11 @@ namespace Ryujinx.Modules
|
|||
{
|
||||
if (showWarnings)
|
||||
{
|
||||
Dispatcher.UIThread.Post(async () =>
|
||||
{
|
||||
await ContentDialogHelper.CreateWarningDialog(
|
||||
Dispatcher.UIThread.InvokeAsync(() =>
|
||||
ContentDialogHelper.CreateWarningDialog(
|
||||
LocaleManager.Instance[LocaleKeys.DialogUpdaterArchNotSupportedMessage],
|
||||
LocaleManager.Instance[LocaleKeys.DialogUpdaterArchNotSupportedSubMessage]);
|
||||
});
|
||||
LocaleManager.Instance[LocaleKeys.DialogUpdaterArchNotSupportedSubMessage])
|
||||
);
|
||||
}
|
||||
|
||||
return false;
|
||||
|
@ -673,12 +655,11 @@ namespace Ryujinx.Modules
|
|||
{
|
||||
if (showWarnings)
|
||||
{
|
||||
Dispatcher.UIThread.Post(async () =>
|
||||
{
|
||||
await ContentDialogHelper.CreateWarningDialog(
|
||||
Dispatcher.UIThread.InvokeAsync(() =>
|
||||
ContentDialogHelper.CreateWarningDialog(
|
||||
LocaleManager.Instance[LocaleKeys.DialogUpdaterNoInternetMessage],
|
||||
LocaleManager.Instance[LocaleKeys.DialogUpdaterNoInternetSubMessage]);
|
||||
});
|
||||
LocaleManager.Instance[LocaleKeys.DialogUpdaterNoInternetSubMessage])
|
||||
);
|
||||
}
|
||||
|
||||
return false;
|
||||
|
@ -688,12 +669,11 @@ namespace Ryujinx.Modules
|
|||
{
|
||||
if (showWarnings)
|
||||
{
|
||||
Dispatcher.UIThread.Post(async () =>
|
||||
{
|
||||
await ContentDialogHelper.CreateWarningDialog(
|
||||
Dispatcher.UIThread.InvokeAsync(() =>
|
||||
ContentDialogHelper.CreateWarningDialog(
|
||||
LocaleManager.Instance[LocaleKeys.DialogUpdaterDirtyBuildMessage],
|
||||
LocaleManager.Instance[LocaleKeys.DialogUpdaterDirtyBuildSubMessage]);
|
||||
});
|
||||
LocaleManager.Instance[LocaleKeys.DialogUpdaterDirtyBuildSubMessage])
|
||||
);
|
||||
}
|
||||
|
||||
return false;
|
||||
|
@ -705,21 +685,19 @@ namespace Ryujinx.Modules
|
|||
{
|
||||
if (ReleaseInformation.IsFlatHubBuild())
|
||||
{
|
||||
Dispatcher.UIThread.Post(async () =>
|
||||
{
|
||||
await ContentDialogHelper.CreateWarningDialog(
|
||||
Dispatcher.UIThread.InvokeAsync(() =>
|
||||
ContentDialogHelper.CreateWarningDialog(
|
||||
LocaleManager.Instance[LocaleKeys.UpdaterDisabledWarningTitle],
|
||||
LocaleManager.Instance[LocaleKeys.DialogUpdaterFlatpakNotSupportedMessage]);
|
||||
});
|
||||
LocaleManager.Instance[LocaleKeys.DialogUpdaterFlatpakNotSupportedMessage])
|
||||
);
|
||||
}
|
||||
else
|
||||
{
|
||||
Dispatcher.UIThread.Post(async () =>
|
||||
{
|
||||
await ContentDialogHelper.CreateWarningDialog(
|
||||
Dispatcher.UIThread.InvokeAsync(() =>
|
||||
ContentDialogHelper.CreateWarningDialog(
|
||||
LocaleManager.Instance[LocaleKeys.UpdaterDisabledWarningTitle],
|
||||
LocaleManager.Instance[LocaleKeys.DialogUpdaterDirtyBuildSubMessage]);
|
||||
});
|
||||
LocaleManager.Instance[LocaleKeys.DialogUpdaterDirtyBuildSubMessage])
|
||||
);
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
@ -59,15 +59,12 @@ namespace Ryujinx.Ava
|
|||
{
|
||||
EnableMultiTouch = true,
|
||||
EnableIme = true,
|
||||
UseEGL = false,
|
||||
UseGpu = true,
|
||||
RenderingMode = new[] { X11RenderingMode.Glx, X11RenderingMode.Software },
|
||||
})
|
||||
.With(new Win32PlatformOptions
|
||||
{
|
||||
EnableMultitouch = true,
|
||||
UseWgl = false,
|
||||
AllowEglInitialization = false,
|
||||
CompositionBackdropCornerRadius = 8.0f,
|
||||
WinUICompositionBackdropCornerRadius = 8.0f,
|
||||
RenderingMode = new[] { Win32RenderingMode.AngleEgl, Win32RenderingMode.Software },
|
||||
})
|
||||
.UseSkia();
|
||||
}
|
||||
|
@ -103,8 +100,6 @@ namespace Ryujinx.Ava
|
|||
|
||||
ReloadConfig();
|
||||
|
||||
ForceDpiAware.Windows();
|
||||
|
||||
WindowScaleFactor = ForceDpiAware.GetWindowScaleFactor();
|
||||
|
||||
// Logging system information.
|
||||
|
|
|
@ -10,6 +10,8 @@
|
|||
<RootNamespace>Ryujinx.Ava</RootNamespace>
|
||||
<ApplicationIcon>Ryujinx.ico</ApplicationIcon>
|
||||
<TieredPGO>true</TieredPGO>
|
||||
<AvaloniaUseCompiledBindingsByDefault>true</AvaloniaUseCompiledBindingsByDefault>
|
||||
<ApplicationManifest>app.manifest</ApplicationManifest>
|
||||
</PropertyGroup>
|
||||
|
||||
<Target Name="PostBuild" AfterTargets="PostBuildEvent" Condition="$([MSBuild]::IsOSPlatform('OSX'))">
|
||||
|
@ -26,7 +28,7 @@
|
|||
<ItemGroup>
|
||||
<PackageReference Include="Avalonia" />
|
||||
<PackageReference Include="Avalonia.Desktop" />
|
||||
<PackageReference Include="Avalonia.Diagnostics" />
|
||||
<PackageReference Include="Avalonia.Diagnostics" Condition="'$(Configuration)'=='Debug'" />
|
||||
<PackageReference Include="Avalonia.Controls.DataGrid" />
|
||||
<PackageReference Include="Avalonia.Markup.Xaml.Loader" />
|
||||
<PackageReference Include="Avalonia.Svg" />
|
||||
|
@ -34,7 +36,6 @@
|
|||
<PackageReference Include="jp2masa.Avalonia.Flexbox" />
|
||||
<PackageReference Include="DynamicData" />
|
||||
<PackageReference Include="FluentAvaloniaUI" />
|
||||
<PackageReference Include="XamlNameReferenceGenerator" />
|
||||
|
||||
<PackageReference Include="OpenTK.Core" />
|
||||
<PackageReference Include="Ryujinx.Audio.OpenAL.Dependencies" Condition="'$(RuntimeIdentifier)' != 'linux-x64' AND '$(RuntimeIdentifier)' != 'osx-x64' AND '$(RuntimeIdentifier)' != 'osx-arm64'" />
|
||||
|
@ -97,10 +98,7 @@
|
|||
<SubType>Designer</SubType>
|
||||
</AvaloniaResource>
|
||||
<AvaloniaResource Include="Assets\Fonts\SegoeFluentIcons.ttf" />
|
||||
<AvaloniaResource Include="Assets\Styles\BaseLight.xaml">
|
||||
<Generator>MSBuild:Compile</Generator>
|
||||
</AvaloniaResource>
|
||||
<AvaloniaResource Include="Assets\Styles\BaseDark.xaml">
|
||||
<AvaloniaResource Include="Assets\Styles\Themes.xaml">
|
||||
<Generator>MSBuild:Compile</Generator>
|
||||
</AvaloniaResource>
|
||||
<AvaloniaResource Include="Assets\Styles\Styles.xaml" />
|
||||
|
@ -123,8 +121,7 @@
|
|||
<None Remove="Assets\Locales\zh_CN.json" />
|
||||
<None Remove="Assets\Locales\zh_TW.json" />
|
||||
<None Remove="Assets\Styles\Styles.xaml" />
|
||||
<None Remove="Assets\Styles\BaseDark.xaml" />
|
||||
<None Remove="Assets\Styles\BaseLight.xaml" />
|
||||
<None Remove="Assets\Styles\Themes.xaml" />
|
||||
</ItemGroup>
|
||||
|
||||
<ItemGroup>
|
||||
|
|
|
@ -106,7 +106,7 @@ namespace Ryujinx.Ava.UI.Applet
|
|||
bool error = false;
|
||||
string inputText = args.InitialText ?? "";
|
||||
|
||||
Dispatcher.UIThread.Post(async () =>
|
||||
Dispatcher.UIThread.InvokeAsync(async () =>
|
||||
{
|
||||
try
|
||||
{
|
||||
|
@ -149,7 +149,7 @@ namespace Ryujinx.Ava.UI.Applet
|
|||
|
||||
bool showDetails = false;
|
||||
|
||||
Dispatcher.UIThread.Post(async () =>
|
||||
Dispatcher.UIThread.InvokeAsync(async () =>
|
||||
{
|
||||
try
|
||||
{
|
||||
|
|
|
@ -6,9 +6,11 @@
|
|||
xmlns:locale="clr-namespace:Ryujinx.Ava.Common.Locale"
|
||||
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
|
||||
Title="{locale:Locale ErrorWindowTitle}"
|
||||
xmlns:views="using:Ryujinx.Ava.UI.Applet"
|
||||
Width="450"
|
||||
Height="340"
|
||||
CanResize="False"
|
||||
x:DataType="views:ErrorAppletWindow"
|
||||
SizeToContent="Height"
|
||||
mc:Ignorable="d"
|
||||
Focusable="True">
|
||||
|
|
|
@ -4,9 +4,6 @@ using Avalonia.Threading;
|
|||
using Ryujinx.Ava.Common.Locale;
|
||||
using Ryujinx.Ava.UI.Windows;
|
||||
using System.Threading.Tasks;
|
||||
#if DEBUG
|
||||
using Avalonia;
|
||||
#endif
|
||||
|
||||
namespace Ryujinx.Ava.UI.Applet
|
||||
{
|
||||
|
@ -21,9 +18,7 @@ namespace Ryujinx.Ava.UI.Applet
|
|||
Message = message;
|
||||
DataContext = this;
|
||||
InitializeComponent();
|
||||
#if DEBUG
|
||||
this.AttachDevTools();
|
||||
#endif
|
||||
|
||||
int responseId = 0;
|
||||
|
||||
if (buttons != null)
|
||||
|
@ -44,9 +39,6 @@ namespace Ryujinx.Ava.UI.Applet
|
|||
{
|
||||
DataContext = this;
|
||||
InitializeComponent();
|
||||
#if DEBUG
|
||||
this.AttachDevTools();
|
||||
#endif
|
||||
}
|
||||
|
||||
public string Message { get; set; }
|
||||
|
|
|
@ -4,7 +4,9 @@
|
|||
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
|
||||
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
|
||||
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
|
||||
xmlns:views="using:Ryujinx.Ava.UI.Controls"
|
||||
Width="400"
|
||||
x:DataType="views:SwkbdAppletDialog"
|
||||
mc:Ignorable="d"
|
||||
Focusable="True">
|
||||
<Grid
|
||||
|
|
|
@ -136,10 +136,10 @@ namespace Ryujinx.Ava.UI.Controls
|
|||
string localeText;
|
||||
switch (mode)
|
||||
{
|
||||
case KeyboardMode.NumbersOnly:
|
||||
localeText = LocaleManager.Instance.UpdateAndGetDynamicValue(LocaleKeys.SoftwareKeyboardModeNumbersOnly);
|
||||
case KeyboardMode.Numeric:
|
||||
localeText = LocaleManager.Instance.UpdateAndGetDynamicValue(LocaleKeys.SoftwareKeyboardModeNumeric);
|
||||
validationInfoText = string.IsNullOrEmpty(validationInfoText) ? localeText : string.Join("\n", validationInfoText, localeText);
|
||||
_checkInput = text => text.All(char.IsDigit);
|
||||
_checkInput = text => text.All(NumericCharacterValidation.IsNumeric);
|
||||
break;
|
||||
case KeyboardMode.Alphabet:
|
||||
localeText = LocaleManager.Instance.UpdateAndGetDynamicValue(LocaleKeys.SoftwareKeyboardModeAlphabet);
|
||||
|
|
|
@ -2,7 +2,9 @@
|
|||
x:Class="Ryujinx.Ava.UI.Controls.ApplicationContextMenu"
|
||||
xmlns="https://github.com/avaloniaui"
|
||||
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
|
||||
xmlns:locale="clr-namespace:Ryujinx.Ava.Common.Locale">
|
||||
xmlns:locale="clr-namespace:Ryujinx.Ava.Common.Locale"
|
||||
xmlns:viewModels="clr-namespace:Ryujinx.Ava.UI.ViewModels"
|
||||
x:DataType="viewModels:MainWindowViewModel">
|
||||
<MenuItem
|
||||
Click="RunApplication_Click"
|
||||
Header="{locale:Locale GameListContextMenuRunApplication}" />
|
||||
|
@ -80,4 +82,9 @@
|
|||
Header="{locale:Locale GameListContextMenuExtractDataLogo}"
|
||||
ToolTip.Tip="{locale:Locale GameListContextMenuExtractDataLogoToolTip}" />
|
||||
</MenuItem>
|
||||
<MenuItem
|
||||
Click="CreateApplicationShortcut_Click"
|
||||
Header="{locale:Locale GameListContextMenuCreateShortcut}"
|
||||
IsEnabled="{Binding CreateShortcutEnabled}"
|
||||
ToolTip.Tip="{locale:Locale GameListContextMenuCreateShortcutToolTip}" />
|
||||
</MenuFlyout>
|
|
@ -54,7 +54,7 @@ namespace Ryujinx.Ava.UI.Controls
|
|||
{
|
||||
if (sender is MenuItem { DataContext: MainWindowViewModel viewModel })
|
||||
{
|
||||
OpenSaveDirectory(viewModel, SaveDataType.Account, userId: new UserId((ulong)viewModel.AccountManager.LastOpenedUser.UserId.High, (ulong)viewModel.AccountManager.LastOpenedUser.UserId.Low));
|
||||
OpenSaveDirectory(viewModel, SaveDataType.Account, new UserId((ulong)viewModel.AccountManager.LastOpenedUser.UserId.High, (ulong)viewModel.AccountManager.LastOpenedUser.UserId.Low));
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -62,14 +62,14 @@ namespace Ryujinx.Ava.UI.Controls
|
|||
{
|
||||
var viewModel = (sender as MenuItem)?.DataContext as MainWindowViewModel;
|
||||
|
||||
OpenSaveDirectory(viewModel, SaveDataType.Device, userId: default);
|
||||
OpenSaveDirectory(viewModel, SaveDataType.Device, default);
|
||||
}
|
||||
|
||||
public void OpenBcatSaveDirectory_Click(object sender, RoutedEventArgs args)
|
||||
{
|
||||
var viewModel = (sender as MenuItem)?.DataContext as MainWindowViewModel;
|
||||
|
||||
OpenSaveDirectory(viewModel, SaveDataType.Bcat, userId: default);
|
||||
OpenSaveDirectory(viewModel, SaveDataType.Bcat, default);
|
||||
}
|
||||
|
||||
private static void OpenSaveDirectory(MainWindowViewModel viewModel, SaveDataType saveDataType, UserId userId)
|
||||
|
@ -158,7 +158,8 @@ namespace Ryujinx.Ava.UI.Controls
|
|||
|
||||
if (viewModel?.SelectedApplication != null)
|
||||
{
|
||||
UserResult result = await ContentDialogHelper.CreateConfirmationDialog(LocaleManager.Instance[LocaleKeys.DialogWarning],
|
||||
UserResult result = await ContentDialogHelper.CreateConfirmationDialog(
|
||||
LocaleManager.Instance[LocaleKeys.DialogWarning],
|
||||
LocaleManager.Instance.UpdateAndGetDynamicValue(LocaleKeys.DialogPPTCDeletionMessage, viewModel.SelectedApplication.TitleName),
|
||||
LocaleManager.Instance[LocaleKeys.InputDialogYes],
|
||||
LocaleManager.Instance[LocaleKeys.InputDialogNo],
|
||||
|
@ -205,7 +206,8 @@ namespace Ryujinx.Ava.UI.Controls
|
|||
|
||||
if (viewModel?.SelectedApplication != null)
|
||||
{
|
||||
UserResult result = await ContentDialogHelper.CreateConfirmationDialog(LocaleManager.Instance[LocaleKeys.DialogWarning],
|
||||
UserResult result = await ContentDialogHelper.CreateConfirmationDialog(
|
||||
LocaleManager.Instance[LocaleKeys.DialogWarning],
|
||||
LocaleManager.Instance.UpdateAndGetDynamicValue(LocaleKeys.DialogShaderDeletionMessage, viewModel.SelectedApplication.TitleName),
|
||||
LocaleManager.Instance[LocaleKeys.InputDialogYes],
|
||||
LocaleManager.Instance[LocaleKeys.InputDialogNo],
|
||||
|
@ -299,7 +301,11 @@ namespace Ryujinx.Ava.UI.Controls
|
|||
|
||||
if (viewModel?.SelectedApplication != null)
|
||||
{
|
||||
await ApplicationHelper.ExtractSection(NcaSectionType.Code, viewModel.SelectedApplication.Path, viewModel.SelectedApplication.TitleName);
|
||||
await ApplicationHelper.ExtractSection(
|
||||
viewModel.StorageProvider,
|
||||
NcaSectionType.Code,
|
||||
viewModel.SelectedApplication.Path,
|
||||
viewModel.SelectedApplication.TitleName);
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -309,7 +315,11 @@ namespace Ryujinx.Ava.UI.Controls
|
|||
|
||||
if (viewModel?.SelectedApplication != null)
|
||||
{
|
||||
await ApplicationHelper.ExtractSection(NcaSectionType.Data, viewModel.SelectedApplication.Path, viewModel.SelectedApplication.TitleName);
|
||||
await ApplicationHelper.ExtractSection(
|
||||
viewModel.StorageProvider,
|
||||
NcaSectionType.Data,
|
||||
viewModel.SelectedApplication.Path,
|
||||
viewModel.SelectedApplication.TitleName);
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -319,17 +329,32 @@ namespace Ryujinx.Ava.UI.Controls
|
|||
|
||||
if (viewModel?.SelectedApplication != null)
|
||||
{
|
||||
await ApplicationHelper.ExtractSection(NcaSectionType.Logo, viewModel.SelectedApplication.Path, viewModel.SelectedApplication.TitleName);
|
||||
await ApplicationHelper.ExtractSection(
|
||||
viewModel.StorageProvider,
|
||||
NcaSectionType.Logo,
|
||||
viewModel.SelectedApplication.Path,
|
||||
viewModel.SelectedApplication.TitleName);
|
||||
}
|
||||
}
|
||||
|
||||
public void RunApplication_Click(object sender, RoutedEventArgs args)
|
||||
public void CreateApplicationShortcut_Click(object sender, RoutedEventArgs args)
|
||||
{
|
||||
var viewModel = (sender as MenuItem)?.DataContext as MainWindowViewModel;
|
||||
|
||||
if (viewModel?.SelectedApplication != null)
|
||||
{
|
||||
viewModel.LoadApplication(viewModel.SelectedApplication.Path);
|
||||
ApplicationData selectedApplication = viewModel.SelectedApplication;
|
||||
ShortcutHelper.CreateAppShortcut(selectedApplication.Path, selectedApplication.TitleName, selectedApplication.TitleId, selectedApplication.Icon);
|
||||
}
|
||||
}
|
||||
|
||||
public async void RunApplication_Click(object sender, RoutedEventArgs args)
|
||||
{
|
||||
var viewModel = (sender as MenuItem)?.DataContext as MainWindowViewModel;
|
||||
|
||||
if (viewModel?.SelectedApplication != null)
|
||||
{
|
||||
await viewModel.LoadApplication(viewModel.SelectedApplication.Path);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
@ -11,7 +11,9 @@
|
|||
d:DesignHeight="450"
|
||||
d:DesignWidth="800"
|
||||
Focusable="True"
|
||||
mc:Ignorable="d">
|
||||
mc:Ignorable="d"
|
||||
xmlns:viewModels="clr-namespace:Ryujinx.Ava.UI.ViewModels"
|
||||
x:DataType="viewModels:MainWindowViewModel">
|
||||
<UserControl.Resources>
|
||||
<helpers:BitmapArrayValueConverter x:Key="ByteImage" />
|
||||
<controls:ApplicationContextMenu x:Key="ApplicationContextMenu" />
|
||||
|
@ -27,7 +29,7 @@
|
|||
VerticalAlignment="Stretch"
|
||||
ContextFlyout="{StaticResource ApplicationContextMenu}"
|
||||
DoubleTapped="GameList_DoubleTapped"
|
||||
Items="{Binding AppsObservableList}"
|
||||
ItemsSource="{Binding AppsObservableList}"
|
||||
SelectionChanged="GameList_SelectionChanged">
|
||||
<ListBox.ItemsPanel>
|
||||
<ItemsPanelTemplate>
|
||||
|
@ -43,8 +45,8 @@
|
|||
<Setter Property="Margin" Value="5" />
|
||||
<Setter Property="CornerRadius" Value="4" />
|
||||
</Style>
|
||||
<Style Selector="ListBoxItem:selected /template/ Border#SelectionIndicator">
|
||||
<Setter Property="MinHeight" Value="{Binding $parent[UserControl].DataContext.GridItemSelectorSize}" />
|
||||
<Style Selector="ListBoxItem:selected /template/ Rectangle#SelectionIndicator">
|
||||
<Setter Property="MinHeight" Value="{Binding $parent[UserControl].((viewModels:MainWindowViewModel)DataContext).GridItemSelectorSize}" />
|
||||
</Style>
|
||||
</ListBox.Styles>
|
||||
<ListBox.ItemTemplate>
|
||||
|
@ -54,10 +56,10 @@
|
|||
Margin="10"
|
||||
HorizontalAlignment="Stretch"
|
||||
VerticalAlignment="Stretch"
|
||||
Classes.huge="{Binding $parent[UserControl].DataContext.IsGridHuge}"
|
||||
Classes.large="{Binding $parent[UserControl].DataContext.IsGridLarge}"
|
||||
Classes.normal="{Binding $parent[UserControl].DataContext.IsGridMedium}"
|
||||
Classes.small="{Binding $parent[UserControl].DataContext.IsGridSmall}"
|
||||
Classes.huge="{Binding $parent[UserControl].((viewModels:MainWindowViewModel)DataContext).IsGridHuge}"
|
||||
Classes.large="{Binding $parent[UserControl].((viewModels:MainWindowViewModel)DataContext).IsGridLarge}"
|
||||
Classes.normal="{Binding $parent[UserControl].((viewModels:MainWindowViewModel)DataContext).IsGridMedium}"
|
||||
Classes.small="{Binding $parent[UserControl].((viewModels:MainWindowViewModel)DataContext).IsGridSmall}"
|
||||
ClipToBounds="True"
|
||||
CornerRadius="4">
|
||||
<Grid>
|
||||
|
@ -76,9 +78,9 @@
|
|||
Margin="0,10,0,0"
|
||||
HorizontalAlignment="Stretch"
|
||||
VerticalAlignment="Stretch"
|
||||
IsVisible="{Binding $parent[UserControl].DataContext.ShowNames}">
|
||||
IsVisible="{Binding $parent[UserControl].((viewModels:MainWindowViewModel)DataContext).ShowNames}">
|
||||
<TextBlock
|
||||
HorizontalAlignment="Stretch"
|
||||
HorizontalAlignment="Center"
|
||||
VerticalAlignment="Center"
|
||||
Text="{Binding TitleName}"
|
||||
TextAlignment="Center"
|
||||
|
|
|
@ -1,7 +1,6 @@
|
|||
using Avalonia.Controls;
|
||||
using Avalonia.Input;
|
||||
using Avalonia.Interactivity;
|
||||
using Avalonia.Markup.Xaml;
|
||||
using Ryujinx.Ava.UI.Helpers;
|
||||
using Ryujinx.Ava.UI.ViewModels;
|
||||
using Ryujinx.Ui.App.Common;
|
||||
|
@ -25,12 +24,7 @@ namespace Ryujinx.Ava.UI.Controls
|
|||
InitializeComponent();
|
||||
}
|
||||
|
||||
private void InitializeComponent()
|
||||
{
|
||||
AvaloniaXamlLoader.Load(this);
|
||||
}
|
||||
|
||||
public void GameList_DoubleTapped(object sender, RoutedEventArgs args)
|
||||
public void GameList_DoubleTapped(object sender, TappedEventArgs args)
|
||||
{
|
||||
if (sender is ListBox listBox)
|
||||
{
|
||||
|
|
|
@ -10,7 +10,9 @@
|
|||
d:DesignHeight="450"
|
||||
d:DesignWidth="800"
|
||||
Focusable="True"
|
||||
mc:Ignorable="d">
|
||||
mc:Ignorable="d"
|
||||
xmlns:viewModels="clr-namespace:Ryujinx.Ava.UI.ViewModels"
|
||||
x:DataType="viewModels:MainWindowViewModel">
|
||||
<UserControl.Resources>
|
||||
<helpers:BitmapArrayValueConverter x:Key="ByteImage" />
|
||||
<controls:ApplicationContextMenu x:Key="ApplicationContextMenu" />
|
||||
|
@ -27,7 +29,7 @@
|
|||
VerticalAlignment="Stretch"
|
||||
ContextFlyout="{StaticResource ApplicationContextMenu}"
|
||||
DoubleTapped="GameList_DoubleTapped"
|
||||
Items="{Binding AppsObservableList}"
|
||||
ItemsSource="{Binding AppsObservableList}"
|
||||
SelectionChanged="GameList_SelectionChanged">
|
||||
<ListBox.ItemsPanel>
|
||||
<ItemsPanelTemplate>
|
||||
|
@ -39,8 +41,8 @@
|
|||
</ItemsPanelTemplate>
|
||||
</ListBox.ItemsPanel>
|
||||
<ListBox.Styles>
|
||||
<Style Selector="ListBoxItem:selected /template/ Border#SelectionIndicator">
|
||||
<Setter Property="MinHeight" Value="{Binding $parent[UserControl].DataContext.ListItemSelectorSize}" />
|
||||
<Style Selector="ListBoxItem:selected /template/ Rectangle#SelectionIndicator">
|
||||
<Setter Property="MinHeight" Value="{Binding $parent[UserControl].((viewModels:MainWindowViewModel)DataContext).ListItemSelectorSize}" />
|
||||
</Style>
|
||||
</ListBox.Styles>
|
||||
<ListBox.ItemTemplate>
|
||||
|
@ -65,10 +67,10 @@
|
|||
Grid.RowSpan="3"
|
||||
Grid.Column="0"
|
||||
Margin="0"
|
||||
Classes.huge="{Binding $parent[UserControl].DataContext.IsGridHuge}"
|
||||
Classes.large="{Binding $parent[UserControl].DataContext.IsGridLarge}"
|
||||
Classes.normal="{Binding $parent[UserControl].DataContext.IsGridMedium}"
|
||||
Classes.small="{Binding $parent[UserControl].DataContext.IsGridSmall}"
|
||||
Classes.huge="{Binding $parent[UserControl].((viewModels:MainWindowViewModel)DataContext).IsGridHuge}"
|
||||
Classes.large="{Binding $parent[UserControl].((viewModels:MainWindowViewModel)DataContext).IsGridLarge}"
|
||||
Classes.normal="{Binding $parent[UserControl].((viewModels:MainWindowViewModel)DataContext).IsGridMedium}"
|
||||
Classes.small="{Binding $parent[UserControl].((viewModels:MainWindowViewModel)DataContext).IsGridSmall}"
|
||||
Source="{Binding Icon, Converter={StaticResource ByteImage}}" />
|
||||
<Border
|
||||
Grid.Column="2"
|
||||
|
|
|
@ -1,7 +1,6 @@
|
|||
using Avalonia.Controls;
|
||||
using Avalonia.Input;
|
||||
using Avalonia.Interactivity;
|
||||
using Avalonia.Markup.Xaml;
|
||||
using Ryujinx.Ava.UI.Helpers;
|
||||
using Ryujinx.Ava.UI.ViewModels;
|
||||
using Ryujinx.Ui.App.Common;
|
||||
|
@ -25,12 +24,7 @@ namespace Ryujinx.Ava.UI.Controls
|
|||
InitializeComponent();
|
||||
}
|
||||
|
||||
private void InitializeComponent()
|
||||
{
|
||||
AvaloniaXamlLoader.Load(this);
|
||||
}
|
||||
|
||||
public void GameList_DoubleTapped(object sender, RoutedEventArgs args)
|
||||
public void GameList_DoubleTapped(object sender, TappedEventArgs args)
|
||||
{
|
||||
if (sender is ListBox listBox)
|
||||
{
|
||||
|
|
31
src/Ryujinx.Ava/UI/Controls/SliderScroll.axaml.cs
Normal file
31
src/Ryujinx.Ava/UI/Controls/SliderScroll.axaml.cs
Normal file
|
@ -0,0 +1,31 @@
|
|||
using Avalonia.Controls;
|
||||
using Avalonia.Input;
|
||||
using System;
|
||||
|
||||
namespace Ryujinx.Ava.UI.Controls
|
||||
{
|
||||
public class SliderScroll : Slider
|
||||
{
|
||||
protected override Type StyleKeyOverride => typeof(Slider);
|
||||
|
||||
protected override void OnPointerWheelChanged(PointerWheelEventArgs e)
|
||||
{
|
||||
var newValue = Value + e.Delta.Y * TickFrequency;
|
||||
|
||||
if (newValue < Minimum)
|
||||
{
|
||||
Value = Minimum;
|
||||
}
|
||||
else if (newValue > Maximum)
|
||||
{
|
||||
Value = Maximum;
|
||||
}
|
||||
else
|
||||
{
|
||||
Value = newValue;
|
||||
}
|
||||
|
||||
e.Handled = true;
|
||||
}
|
||||
}
|
||||
}
|
|
@ -1,6 +1,4 @@
|
|||
using Avalonia.Data;
|
||||
using Avalonia.Markup.Xaml;
|
||||
using Avalonia.Markup.Xaml.MarkupExtensions;
|
||||
using FluentAvalonia.UI.Controls;
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
|
@ -38,13 +36,7 @@ namespace Ryujinx.Ava.UI.Helpers
|
|||
|
||||
public override object ProvideValue(IServiceProvider serviceProvider)
|
||||
{
|
||||
ReflectionBindingExtension binding = new($"[{_key}]")
|
||||
{
|
||||
Mode = BindingMode.OneWay,
|
||||
Source = this,
|
||||
};
|
||||
|
||||
return binding.ProvideValue(serviceProvider);
|
||||
return this[_key];
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
@ -1,52 +0,0 @@
|
|||
using Avalonia;
|
||||
using Avalonia.Controls;
|
||||
using Avalonia.Input;
|
||||
using System;
|
||||
using System.Windows.Input;
|
||||
|
||||
namespace Ryujinx.Ava.UI.Helpers
|
||||
{
|
||||
public class HotKeyControl : ContentControl, ICommandSource
|
||||
{
|
||||
public static readonly StyledProperty<object> CommandParameterProperty =
|
||||
AvaloniaProperty.Register<HotKeyControl, object>(nameof(CommandParameter));
|
||||
|
||||
public static readonly DirectProperty<HotKeyControl, ICommand> CommandProperty =
|
||||
AvaloniaProperty.RegisterDirect<HotKeyControl, ICommand>(nameof(Command),
|
||||
control => control.Command, (control, command) => control.Command = command, enableDataValidation: true);
|
||||
|
||||
public static readonly StyledProperty<KeyGesture> HotKeyProperty = HotKeyManager.HotKeyProperty.AddOwner<Button>();
|
||||
|
||||
private ICommand _command;
|
||||
private bool _commandCanExecute;
|
||||
|
||||
public ICommand Command
|
||||
{
|
||||
get { return _command; }
|
||||
set { SetAndRaise(CommandProperty, ref _command, value); }
|
||||
}
|
||||
|
||||
public KeyGesture HotKey
|
||||
{
|
||||
get { return GetValue(HotKeyProperty); }
|
||||
set { SetValue(HotKeyProperty, value); }
|
||||
}
|
||||
|
||||
public object CommandParameter
|
||||
{
|
||||
get { return GetValue(CommandParameterProperty); }
|
||||
set { SetValue(CommandParameterProperty, value); }
|
||||
}
|
||||
|
||||
public void CanExecuteChanged(object sender, EventArgs e)
|
||||
{
|
||||
var canExecute = Command == null || Command.CanExecute(CommandParameter);
|
||||
|
||||
if (canExecute != _commandCanExecute)
|
||||
{
|
||||
_commandCanExecute = canExecute;
|
||||
UpdateIsEffectivelyEnabled();
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
|
@ -42,21 +42,6 @@ namespace Ryujinx.Ava.UI.Helpers
|
|||
GetLog(level)?.PrintMsg(RyuLogClass.Ui, Format(level, area, messageTemplate, source, null));
|
||||
}
|
||||
|
||||
public void Log<T0>(AvaLogLevel level, string area, object source, string messageTemplate, T0 propertyValue0)
|
||||
{
|
||||
GetLog(level)?.PrintMsg(RyuLogClass.Ui, Format(level, area, messageTemplate, source, new object[] { propertyValue0 }));
|
||||
}
|
||||
|
||||
public void Log<T0, T1>(AvaLogLevel level, string area, object source, string messageTemplate, T0 propertyValue0, T1 propertyValue1)
|
||||
{
|
||||
GetLog(level)?.PrintMsg(RyuLogClass.Ui, Format(level, area, messageTemplate, source, new object[] { propertyValue0, propertyValue1 }));
|
||||
}
|
||||
|
||||
public void Log<T0, T1, T2>(AvaLogLevel level, string area, object source, string messageTemplate, T0 propertyValue0, T1 propertyValue1, T2 propertyValue2)
|
||||
{
|
||||
GetLog(level)?.PrintMsg(RyuLogClass.Ui, Format(level, area, messageTemplate, source, new object[] { propertyValue0, propertyValue1, propertyValue2 }));
|
||||
}
|
||||
|
||||
public void Log(AvaLogLevel level, string area, object source, string messageTemplate, params object[] propertyValues)
|
||||
{
|
||||
GetLog(level)?.PrintMsg(RyuLogClass.Ui, Format(level, area, messageTemplate, source, propertyValues));
|
||||
|
|
|
@ -31,7 +31,6 @@ namespace Ryujinx.Ava.UI.Helpers
|
|||
OnTextInput(new TextInputEventArgs
|
||||
{
|
||||
Text = text,
|
||||
Device = KeyboardDevice.Instance,
|
||||
Source = this,
|
||||
RoutedEvent = TextInputEvent,
|
||||
});
|
||||
|
|
28
src/Ryujinx.Ava/UI/Helpers/TimeZoneConverter.cs
Normal file
28
src/Ryujinx.Ava/UI/Helpers/TimeZoneConverter.cs
Normal file
|
@ -0,0 +1,28 @@
|
|||
using Avalonia.Data.Converters;
|
||||
using System;
|
||||
using System.Globalization;
|
||||
using TimeZone = Ryujinx.Ava.UI.Models.TimeZone;
|
||||
|
||||
namespace Ryujinx.Ava.UI.Helpers
|
||||
{
|
||||
internal class TimeZoneConverter : IValueConverter
|
||||
{
|
||||
public static TimeZoneConverter Instance = new();
|
||||
|
||||
public object Convert(object value, Type targetType, object parameter, CultureInfo culture)
|
||||
{
|
||||
if (value == null)
|
||||
{
|
||||
return null;
|
||||
}
|
||||
|
||||
var timeZone = (TimeZone)value;
|
||||
return string.Format("{0} {1} {2}", timeZone.UtcDifference, timeZone.Location, timeZone.Abbreviation);
|
||||
}
|
||||
|
||||
public object ConvertBack(object value, Type targetType, object parameter, CultureInfo culture)
|
||||
{
|
||||
throw new NotImplementedException();
|
||||
}
|
||||
}
|
||||
}
|
|
@ -1,4 +1,3 @@
|
|||
using Avalonia;
|
||||
using Avalonia.Media;
|
||||
using Ryujinx.Ava.UI.Controls;
|
||||
using Ryujinx.Ava.UI.ViewModels;
|
||||
|
@ -88,7 +87,8 @@ namespace Ryujinx.Ava.UI.Models
|
|||
|
||||
private void UpdateBackground()
|
||||
{
|
||||
Application.Current.Styles.TryGetResource("ControlFillColorSecondary", out object color);
|
||||
var currentApplication = Avalonia.Application.Current;
|
||||
currentApplication.Styles.TryGetResource("ControlFillColorSecondary", currentApplication.ActualThemeVariant, out object color);
|
||||
|
||||
if (color is not null)
|
||||
{
|
||||
|
|
|
@ -34,7 +34,7 @@ namespace Ryujinx.Ava.UI.Renderer
|
|||
private UpdateBoundsCallbackDelegate _updateBoundsCallback;
|
||||
|
||||
public event EventHandler<IntPtr> WindowCreated;
|
||||
public event EventHandler<Size> SizeChanged;
|
||||
public event EventHandler<Size> BoundsChanged;
|
||||
|
||||
public EmbeddedWindow()
|
||||
{
|
||||
|
@ -67,7 +67,7 @@ namespace Ryujinx.Ava.UI.Renderer
|
|||
|
||||
private void StateChanged(Rect rect)
|
||||
{
|
||||
SizeChanged?.Invoke(this, rect.Size);
|
||||
BoundsChanged?.Invoke(this, rect.Size);
|
||||
_updateBoundsCallback?.Invoke(rect);
|
||||
}
|
||||
|
||||
|
@ -149,9 +149,10 @@ namespace Ryujinx.Ava.UI.Renderer
|
|||
msg == WindowsMessages.Rbuttonup ||
|
||||
msg == WindowsMessages.Mousemove)
|
||||
{
|
||||
Point rootVisualPosition = this.TranslatePoint(new Point((long)lParam & 0xFFFF, (long)lParam >> 16 & 0xFFFF), VisualRoot).Value;
|
||||
Point rootVisualPosition = this.TranslatePoint(new Point((long)lParam & 0xFFFF, (long)lParam >> 16 & 0xFFFF), this).Value;
|
||||
Pointer pointer = new(0, PointerType.Mouse, true);
|
||||
|
||||
#pragma warning disable CS0618 // Type or member is obsolete (As of Avalonia 11, the constructors for PointerPressedEventArgs & PointerEventArgs are marked as obsolete)
|
||||
switch (msg)
|
||||
{
|
||||
case WindowsMessages.Lbuttondown:
|
||||
|
@ -164,7 +165,7 @@ namespace Ryujinx.Ava.UI.Renderer
|
|||
var evnt = new PointerPressedEventArgs(
|
||||
this,
|
||||
pointer,
|
||||
VisualRoot,
|
||||
this,
|
||||
rootVisualPosition,
|
||||
(ulong)Environment.TickCount64,
|
||||
properties,
|
||||
|
@ -184,7 +185,7 @@ namespace Ryujinx.Ava.UI.Renderer
|
|||
var evnt = new PointerReleasedEventArgs(
|
||||
this,
|
||||
pointer,
|
||||
VisualRoot,
|
||||
this,
|
||||
rootVisualPosition,
|
||||
(ulong)Environment.TickCount64,
|
||||
properties,
|
||||
|
@ -201,7 +202,7 @@ namespace Ryujinx.Ava.UI.Renderer
|
|||
PointerMovedEvent,
|
||||
this,
|
||||
pointer,
|
||||
VisualRoot,
|
||||
this,
|
||||
rootVisualPosition,
|
||||
(ulong)Environment.TickCount64,
|
||||
new PointerPointProperties(RawInputModifiers.None, PointerUpdateKind.Other),
|
||||
|
@ -212,6 +213,7 @@ namespace Ryujinx.Ava.UI.Renderer
|
|||
break;
|
||||
}
|
||||
}
|
||||
#pragma warning restore CS0618
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
@ -11,7 +11,7 @@ namespace Ryujinx.Ava.UI.Renderer
|
|||
public readonly EmbeddedWindow EmbeddedWindow;
|
||||
|
||||
public event EventHandler<EventArgs> WindowCreated;
|
||||
public event Action<object, Size> SizeChanged;
|
||||
public event Action<object, Size> BoundsChanged;
|
||||
|
||||
public RendererHost()
|
||||
{
|
||||
|
@ -32,7 +32,7 @@ namespace Ryujinx.Ava.UI.Renderer
|
|||
private void Initialize()
|
||||
{
|
||||
EmbeddedWindow.WindowCreated += CurrentWindow_WindowCreated;
|
||||
EmbeddedWindow.SizeChanged += CurrentWindow_SizeChanged;
|
||||
EmbeddedWindow.BoundsChanged += CurrentWindow_BoundsChanged;
|
||||
|
||||
Content = EmbeddedWindow;
|
||||
}
|
||||
|
@ -42,7 +42,7 @@ namespace Ryujinx.Ava.UI.Renderer
|
|||
if (EmbeddedWindow != null)
|
||||
{
|
||||
EmbeddedWindow.WindowCreated -= CurrentWindow_WindowCreated;
|
||||
EmbeddedWindow.SizeChanged -= CurrentWindow_SizeChanged;
|
||||
EmbeddedWindow.BoundsChanged -= CurrentWindow_BoundsChanged;
|
||||
}
|
||||
|
||||
GC.SuppressFinalize(this);
|
||||
|
@ -55,9 +55,9 @@ namespace Ryujinx.Ava.UI.Renderer
|
|||
Dispose();
|
||||
}
|
||||
|
||||
private void CurrentWindow_SizeChanged(object sender, Size e)
|
||||
private void CurrentWindow_BoundsChanged(object sender, Size e)
|
||||
{
|
||||
SizeChanged?.Invoke(sender, e);
|
||||
BoundsChanged?.Invoke(sender, e);
|
||||
}
|
||||
|
||||
private void CurrentWindow_WindowCreated(object sender, IntPtr e)
|
||||
|
|
|
@ -1,4 +1,3 @@
|
|||
using Avalonia;
|
||||
using Avalonia.Media.Imaging;
|
||||
using Avalonia.Platform;
|
||||
using Avalonia.Threading;
|
||||
|
@ -88,21 +87,19 @@ namespace Ryujinx.Ava.UI.ViewModels
|
|||
{
|
||||
Version = Program.Version;
|
||||
|
||||
var assets = AvaloniaLocator.Current.GetService<IAssetLoader>();
|
||||
|
||||
if (ConfigurationState.Instance.Ui.BaseStyle.Value == "Light")
|
||||
{
|
||||
GithubLogo = new Bitmap(assets.Open(new Uri("resm:Ryujinx.Ui.Common.Resources.Logo_GitHub_Light.png?assembly=Ryujinx.Ui.Common")));
|
||||
DiscordLogo = new Bitmap(assets.Open(new Uri("resm:Ryujinx.Ui.Common.Resources.Logo_Discord_Light.png?assembly=Ryujinx.Ui.Common")));
|
||||
PatreonLogo = new Bitmap(assets.Open(new Uri("resm:Ryujinx.Ui.Common.Resources.Logo_Patreon_Light.png?assembly=Ryujinx.Ui.Common")));
|
||||
TwitterLogo = new Bitmap(assets.Open(new Uri("resm:Ryujinx.Ui.Common.Resources.Logo_Twitter_Light.png?assembly=Ryujinx.Ui.Common")));
|
||||
GithubLogo = new Bitmap(AssetLoader.Open(new Uri("resm:Ryujinx.Ui.Common.Resources.Logo_GitHub_Light.png?assembly=Ryujinx.Ui.Common")));
|
||||
DiscordLogo = new Bitmap(AssetLoader.Open(new Uri("resm:Ryujinx.Ui.Common.Resources.Logo_Discord_Light.png?assembly=Ryujinx.Ui.Common")));
|
||||
PatreonLogo = new Bitmap(AssetLoader.Open(new Uri("resm:Ryujinx.Ui.Common.Resources.Logo_Patreon_Light.png?assembly=Ryujinx.Ui.Common")));
|
||||
TwitterLogo = new Bitmap(AssetLoader.Open(new Uri("resm:Ryujinx.Ui.Common.Resources.Logo_Twitter_Light.png?assembly=Ryujinx.Ui.Common")));
|
||||
}
|
||||
else
|
||||
{
|
||||
GithubLogo = new Bitmap(assets.Open(new Uri("resm:Ryujinx.Ui.Common.Resources.Logo_GitHub_Dark.png?assembly=Ryujinx.Ui.Common")));
|
||||
DiscordLogo = new Bitmap(assets.Open(new Uri("resm:Ryujinx.Ui.Common.Resources.Logo_Discord_Dark.png?assembly=Ryujinx.Ui.Common")));
|
||||
PatreonLogo = new Bitmap(assets.Open(new Uri("resm:Ryujinx.Ui.Common.Resources.Logo_Patreon_Dark.png?assembly=Ryujinx.Ui.Common")));
|
||||
TwitterLogo = new Bitmap(assets.Open(new Uri("resm:Ryujinx.Ui.Common.Resources.Logo_Twitter_Dark.png?assembly=Ryujinx.Ui.Common")));
|
||||
GithubLogo = new Bitmap(AssetLoader.Open(new Uri("resm:Ryujinx.Ui.Common.Resources.Logo_GitHub_Dark.png?assembly=Ryujinx.Ui.Common")));
|
||||
DiscordLogo = new Bitmap(AssetLoader.Open(new Uri("resm:Ryujinx.Ui.Common.Resources.Logo_Discord_Dark.png?assembly=Ryujinx.Ui.Common")));
|
||||
PatreonLogo = new Bitmap(AssetLoader.Open(new Uri("resm:Ryujinx.Ui.Common.Resources.Logo_Patreon_Dark.png?assembly=Ryujinx.Ui.Common")));
|
||||
TwitterLogo = new Bitmap(AssetLoader.Open(new Uri("resm:Ryujinx.Ui.Common.Resources.Logo_Twitter_Dark.png?assembly=Ryujinx.Ui.Common")));
|
||||
}
|
||||
|
||||
Dispatcher.UIThread.InvokeAsync(DownloadPatronsJson);
|
||||
|
|
|
@ -327,7 +327,7 @@ namespace Ryujinx.Ava.UI.ViewModels
|
|||
|
||||
string imageUrl = _amiiboList.Find(amiibo => amiibo.Equals(selected)).Image;
|
||||
|
||||
string usageString = "";
|
||||
StringBuilder usageStringBuilder = new();
|
||||
|
||||
for (int i = 0; i < _amiiboList.Count; i++)
|
||||
{
|
||||
|
@ -341,20 +341,19 @@ namespace Ryujinx.Ava.UI.ViewModels
|
|||
{
|
||||
foreach (AmiiboApiUsage usageItem in item.AmiiboUsage)
|
||||
{
|
||||
usageString += Environment.NewLine +
|
||||
$"- {usageItem.Usage.Replace("/", Environment.NewLine + "-")}";
|
||||
usageStringBuilder.Append($"{Environment.NewLine}- {usageItem.Usage.Replace("/", Environment.NewLine + "-")}");
|
||||
|
||||
writable = usageItem.Write;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
if (usageString.Length == 0)
|
||||
if (usageStringBuilder.Length == 0)
|
||||
{
|
||||
usageString = LocaleManager.Instance[LocaleKeys.Unknown] + ".";
|
||||
usageStringBuilder.Append($"{LocaleManager.Instance[LocaleKeys.Unknown]}.");
|
||||
}
|
||||
|
||||
Usage = $"{LocaleManager.Instance[LocaleKeys.Usage]} {(writable ? $" ({LocaleManager.Instance[LocaleKeys.Writable]})" : "")} : {usageString}";
|
||||
Usage = $"{LocaleManager.Instance[LocaleKeys.Usage]} {(writable ? $" ({LocaleManager.Instance[LocaleKeys.Writable]})" : "")} : {usageStringBuilder}";
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
using Avalonia.Collections;
|
||||
using Avalonia.Controls;
|
||||
using Avalonia.Controls.ApplicationLifetimes;
|
||||
using Avalonia.Platform.Storage;
|
||||
using Avalonia.Threading;
|
||||
using DynamicData;
|
||||
using LibHac.Common;
|
||||
|
@ -90,12 +90,19 @@ namespace Ryujinx.Ava.UI.ViewModels
|
|||
get => string.Format(LocaleManager.Instance[LocaleKeys.DlcWindowHeading], DownloadableContents.Count);
|
||||
}
|
||||
|
||||
public IStorageProvider StorageProvider;
|
||||
|
||||
public DownloadableContentManagerViewModel(VirtualFileSystem virtualFileSystem, ulong titleId)
|
||||
{
|
||||
_virtualFileSystem = virtualFileSystem;
|
||||
|
||||
_titleId = titleId;
|
||||
|
||||
if (Application.Current.ApplicationLifetime is IClassicDesktopStyleApplicationLifetime desktop)
|
||||
{
|
||||
StorageProvider = desktop.MainWindow.StorageProvider;
|
||||
}
|
||||
|
||||
_downloadableContentJsonPath = Path.Combine(AppDataManager.GamesDirPath, titleId.ToString("x16"), "dlc.json");
|
||||
|
||||
try
|
||||
|
@ -119,7 +126,8 @@ namespace Ryujinx.Ava.UI.ViewModels
|
|||
{
|
||||
using FileStream containerFile = File.OpenRead(downloadableContentContainer.ContainerPath);
|
||||
|
||||
PartitionFileSystem partitionFileSystem = new(containerFile.AsStorage());
|
||||
PartitionFileSystem partitionFileSystem = new();
|
||||
partitionFileSystem.Initialize(containerFile.AsStorage()).ThrowIfFailure();
|
||||
|
||||
_virtualFileSystem.ImportTickets(partitionFileSystem);
|
||||
|
||||
|
@ -195,29 +203,24 @@ namespace Ryujinx.Ava.UI.ViewModels
|
|||
|
||||
public async void Add()
|
||||
{
|
||||
OpenFileDialog dialog = new()
|
||||
var result = await StorageProvider.OpenFilePickerAsync(new FilePickerOpenOptions
|
||||
{
|
||||
Title = LocaleManager.Instance[LocaleKeys.SelectDlcDialogTitle],
|
||||
AllowMultiple = true,
|
||||
};
|
||||
|
||||
dialog.Filters.Add(new FileDialogFilter
|
||||
FileTypeFilter = new List<FilePickerFileType>
|
||||
{
|
||||
Name = "NSP",
|
||||
Extensions = { "nsp" },
|
||||
new("NSP")
|
||||
{
|
||||
Patterns = new[] { "*.nsp" },
|
||||
AppleUniformTypeIdentifiers = new[] { "com.ryujinx.nsp" },
|
||||
MimeTypes = new[] { "application/x-nx-nsp" },
|
||||
},
|
||||
},
|
||||
});
|
||||
|
||||
if (Application.Current.ApplicationLifetime is IClassicDesktopStyleApplicationLifetime desktop)
|
||||
foreach (var file in result)
|
||||
{
|
||||
string[] files = await dialog.ShowAsync(desktop.MainWindow);
|
||||
|
||||
if (files != null)
|
||||
{
|
||||
foreach (string file in files)
|
||||
{
|
||||
await AddDownloadableContent(file);
|
||||
}
|
||||
}
|
||||
await AddDownloadableContent(file.Path.LocalPath);
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -230,7 +233,8 @@ namespace Ryujinx.Ava.UI.ViewModels
|
|||
|
||||
using FileStream containerFile = File.OpenRead(path);
|
||||
|
||||
PartitionFileSystem partitionFileSystem = new(containerFile.AsStorage());
|
||||
PartitionFileSystem partitionFileSystem = new();
|
||||
partitionFileSystem.Initialize(containerFile.AsStorage()).ThrowIfFailure();
|
||||
bool containsDownloadableContent = false;
|
||||
|
||||
_virtualFileSystem.ImportTickets(partitionFileSystem);
|
||||
|
|
|
@ -3,6 +3,7 @@ using Avalonia.Controls;
|
|||
using Avalonia.Controls.ApplicationLifetimes;
|
||||
using Avalonia.Input;
|
||||
using Avalonia.Media;
|
||||
using Avalonia.Platform.Storage;
|
||||
using Avalonia.Threading;
|
||||
using DynamicData;
|
||||
using DynamicData.Binding;
|
||||
|
@ -25,6 +26,7 @@ using Ryujinx.HLE.FileSystem;
|
|||
using Ryujinx.HLE.HOS;
|
||||
using Ryujinx.HLE.HOS.Services.Account.Acc;
|
||||
using Ryujinx.HLE.Ui;
|
||||
using Ryujinx.Input.HLE;
|
||||
using Ryujinx.Modules;
|
||||
using Ryujinx.Ui.App.Common;
|
||||
using Ryujinx.Ui.Common;
|
||||
|
@ -38,7 +40,6 @@ using System.IO;
|
|||
using System.Threading;
|
||||
using System.Threading.Tasks;
|
||||
using Image = SixLabors.ImageSharp.Image;
|
||||
using InputManager = Ryujinx.Input.HLE.InputManager;
|
||||
using Key = Ryujinx.Input.Key;
|
||||
using MissingKeyException = LibHac.Common.Keys.MissingKeyException;
|
||||
using ShaderCacheLoadingState = Ryujinx.Graphics.Gpu.Shader.ShaderCacheState;
|
||||
|
@ -105,8 +106,6 @@ namespace Ryujinx.Ava.UI.ViewModels
|
|||
public ApplicationData ListSelectedApplication;
|
||||
public ApplicationData GridSelectedApplication;
|
||||
|
||||
public event Action ReloadGameList;
|
||||
|
||||
private string TitleName { get; set; }
|
||||
internal AppHost AppHost { get; set; }
|
||||
|
||||
|
@ -131,6 +130,7 @@ namespace Ryujinx.Ava.UI.ViewModels
|
|||
|
||||
public void Initialize(
|
||||
ContentManager contentManager,
|
||||
IStorageProvider storageProvider,
|
||||
ApplicationLibrary applicationLibrary,
|
||||
VirtualFileSystem virtualFileSystem,
|
||||
AccountManager accountManager,
|
||||
|
@ -144,6 +144,7 @@ namespace Ryujinx.Ava.UI.ViewModels
|
|||
TopLevel topLevel)
|
||||
{
|
||||
ContentManager = contentManager;
|
||||
StorageProvider = storageProvider;
|
||||
ApplicationLibrary = applicationLibrary;
|
||||
VirtualFileSystem = virtualFileSystem;
|
||||
AccountManager = accountManager;
|
||||
|
@ -355,6 +356,8 @@ namespace Ryujinx.Ava.UI.ViewModels
|
|||
|
||||
public bool OpenBcatSaveDirectoryEnabled => !SelectedApplication.ControlHolder.ByteSpan.IsZeros() && SelectedApplication.ControlHolder.Value.BcatDeliveryCacheStorageSize > 0;
|
||||
|
||||
public bool CreateShortcutEnabled => !ReleaseInformation.IsFlatHubBuild();
|
||||
|
||||
public string LoadHeading
|
||||
{
|
||||
get => _loadHeading;
|
||||
|
@ -891,6 +894,7 @@ namespace Ryujinx.Ava.UI.ViewModels
|
|||
}
|
||||
|
||||
public ContentManager ContentManager { get; private set; }
|
||||
public IStorageProvider StorageProvider { get; private set; }
|
||||
public ApplicationLibrary ApplicationLibrary { get; private set; }
|
||||
public VirtualFileSystem VirtualFileSystem { get; private set; }
|
||||
public AccountManager AccountManager { get; private set; }
|
||||
|
@ -1066,9 +1070,7 @@ namespace Ryujinx.Ava.UI.ViewModels
|
|||
{
|
||||
Logger.Error?.Print(LogClass.Application, ex.ToString());
|
||||
|
||||
static async void Action() => await UserErrorDialog.ShowUserErrorDialog(UserError.NoKeys);
|
||||
|
||||
Dispatcher.UIThread.Post(Action);
|
||||
await UserErrorDialog.ShowUserErrorDialog(UserError.NoKeys);
|
||||
}
|
||||
}
|
||||
catch (Exception ex)
|
||||
|
@ -1161,16 +1163,13 @@ namespace Ryujinx.Ava.UI.ViewModels
|
|||
AppHost?.DisposeContext();
|
||||
}
|
||||
|
||||
private void HandleRelaunch()
|
||||
private async Task HandleRelaunch()
|
||||
{
|
||||
if (UserChannelPersistence.PreviousIndex != -1 && UserChannelPersistence.ShouldRestart)
|
||||
{
|
||||
UserChannelPersistence.ShouldRestart = false;
|
||||
|
||||
Dispatcher.UIThread.Post(() =>
|
||||
{
|
||||
LoadApplication(_currentEmulatedGamePath);
|
||||
});
|
||||
await LoadApplication(_currentEmulatedGamePath);
|
||||
}
|
||||
else
|
||||
{
|
||||
|
@ -1188,7 +1187,9 @@ namespace Ryujinx.Ava.UI.ViewModels
|
|||
{
|
||||
Application.Current.Styles.TryGetResource(args.VSyncEnabled
|
||||
? "VsyncEnabled"
|
||||
: "VsyncDisabled", out object color);
|
||||
: "VsyncDisabled",
|
||||
Application.Current.ActualThemeVariant,
|
||||
out object color);
|
||||
|
||||
if (color is not null)
|
||||
{
|
||||
|
@ -1259,6 +1260,16 @@ namespace Ryujinx.Ava.UI.ViewModels
|
|||
ShowMenuAndStatusBar = false;
|
||||
}
|
||||
|
||||
public void ToggleStartGamesInFullscreen()
|
||||
{
|
||||
StartGamesInFullscreen = !StartGamesInFullscreen;
|
||||
}
|
||||
|
||||
public void ToggleShowConsole()
|
||||
{
|
||||
ShowConsole = !ShowConsole;
|
||||
}
|
||||
|
||||
public void SetListMode()
|
||||
{
|
||||
Glyph = Glyph.List;
|
||||
|
@ -1269,45 +1280,64 @@ namespace Ryujinx.Ava.UI.ViewModels
|
|||
Glyph = Glyph.Grid;
|
||||
}
|
||||
|
||||
public async void InstallFirmwareFromFile()
|
||||
public void SetAspectRatio(AspectRatio aspectRatio)
|
||||
{
|
||||
if (Application.Current.ApplicationLifetime is IClassicDesktopStyleApplicationLifetime desktop)
|
||||
{
|
||||
OpenFileDialog dialog = new() { AllowMultiple = false };
|
||||
dialog.Filters.Add(new FileDialogFilter { Name = LocaleManager.Instance[LocaleKeys.FileDialogAllTypes], Extensions = { "xci", "zip" } });
|
||||
dialog.Filters.Add(new FileDialogFilter { Name = "XCI", Extensions = { "xci" } });
|
||||
dialog.Filters.Add(new FileDialogFilter { Name = "ZIP", Extensions = { "zip" } });
|
||||
|
||||
string[] file = await dialog.ShowAsync(desktop.MainWindow);
|
||||
|
||||
if (file != null && file.Length > 0)
|
||||
{
|
||||
await HandleFirmwareInstallation(file[0]);
|
||||
ConfigurationState.Instance.Graphics.AspectRatio.Value = aspectRatio;
|
||||
}
|
||||
|
||||
public async Task InstallFirmwareFromFile()
|
||||
{
|
||||
var result = await StorageProvider.OpenFilePickerAsync(new FilePickerOpenOptions
|
||||
{
|
||||
AllowMultiple = false,
|
||||
FileTypeFilter = new List<FilePickerFileType>
|
||||
{
|
||||
new(LocaleManager.Instance[LocaleKeys.FileDialogAllTypes])
|
||||
{
|
||||
Patterns = new[] { "*.xci", "*.zip" },
|
||||
AppleUniformTypeIdentifiers = new[] { "com.ryujinx.xci", "public.zip-archive" },
|
||||
MimeTypes = new[] { "application/x-nx-xci", "application/zip" },
|
||||
},
|
||||
new("XCI")
|
||||
{
|
||||
Patterns = new[] { "*.xci" },
|
||||
AppleUniformTypeIdentifiers = new[] { "com.ryujinx.xci" },
|
||||
MimeTypes = new[] { "application/x-nx-xci" },
|
||||
},
|
||||
new("ZIP")
|
||||
{
|
||||
Patterns = new[] { "*.zip" },
|
||||
AppleUniformTypeIdentifiers = new[] { "public.zip-archive" },
|
||||
MimeTypes = new[] { "application/zip" },
|
||||
},
|
||||
},
|
||||
});
|
||||
|
||||
if (result.Count > 0)
|
||||
{
|
||||
await HandleFirmwareInstallation(result[0].Path.LocalPath);
|
||||
}
|
||||
}
|
||||
|
||||
public async void InstallFirmwareFromFolder()
|
||||
public async Task InstallFirmwareFromFolder()
|
||||
{
|
||||
if (Application.Current.ApplicationLifetime is IClassicDesktopStyleApplicationLifetime desktop)
|
||||
var result = await StorageProvider.OpenFolderPickerAsync(new FolderPickerOpenOptions
|
||||
{
|
||||
OpenFolderDialog dialog = new();
|
||||
AllowMultiple = false,
|
||||
});
|
||||
|
||||
string folder = await dialog.ShowAsync(desktop.MainWindow);
|
||||
|
||||
if (!string.IsNullOrEmpty(folder))
|
||||
if (result.Count > 0)
|
||||
{
|
||||
await HandleFirmwareInstallation(folder);
|
||||
}
|
||||
await HandleFirmwareInstallation(result[0].Path.LocalPath);
|
||||
}
|
||||
}
|
||||
|
||||
public static void OpenRyujinxFolder()
|
||||
public void OpenRyujinxFolder()
|
||||
{
|
||||
OpenHelper.OpenFolder(AppDataManager.BaseDirPath);
|
||||
}
|
||||
|
||||
public static void OpenLogsFolder()
|
||||
public void OpenLogsFolder()
|
||||
{
|
||||
string logPath = Path.Combine(ReleaseInformation.GetBaseApplicationDirectory(), "Logs");
|
||||
|
||||
|
@ -1324,7 +1354,7 @@ namespace Ryujinx.Ava.UI.ViewModels
|
|||
}
|
||||
}
|
||||
|
||||
public async void ExitCurrentState()
|
||||
public async Task ExitCurrentState()
|
||||
{
|
||||
if (WindowState == WindowState.FullScreen)
|
||||
{
|
||||
|
@ -1349,26 +1379,7 @@ namespace Ryujinx.Ava.UI.ViewModels
|
|||
}
|
||||
}
|
||||
|
||||
public void ToggleFileType(string fileType)
|
||||
{
|
||||
_ = fileType switch
|
||||
{
|
||||
#pragma warning disable IDE0055 // Disable formatting
|
||||
"NSP" => ConfigurationState.Instance.Ui.ShownFileTypes.NSP.Value = !ConfigurationState.Instance.Ui.ShownFileTypes.NSP,
|
||||
"PFS0" => ConfigurationState.Instance.Ui.ShownFileTypes.PFS0.Value = !ConfigurationState.Instance.Ui.ShownFileTypes.PFS0,
|
||||
"XCI" => ConfigurationState.Instance.Ui.ShownFileTypes.XCI.Value = !ConfigurationState.Instance.Ui.ShownFileTypes.XCI,
|
||||
"NCA" => ConfigurationState.Instance.Ui.ShownFileTypes.NCA.Value = !ConfigurationState.Instance.Ui.ShownFileTypes.NCA,
|
||||
"NRO" => ConfigurationState.Instance.Ui.ShownFileTypes.NRO.Value = !ConfigurationState.Instance.Ui.ShownFileTypes.NRO,
|
||||
"NSO" => ConfigurationState.Instance.Ui.ShownFileTypes.NSO.Value = !ConfigurationState.Instance.Ui.ShownFileTypes.NSO,
|
||||
_ => throw new ArgumentOutOfRangeException(fileType),
|
||||
#pragma warning restore IDE0055
|
||||
};
|
||||
|
||||
ConfigurationState.Instance.ToFileFormat().SaveConfig(Program.ConfigurationPath);
|
||||
LoadApplications();
|
||||
}
|
||||
|
||||
public async void ManageProfiles()
|
||||
public async Task ManageProfiles()
|
||||
{
|
||||
await NavigationDialogHost.Show(AccountManager, ContentManager, VirtualFileSystem, LibHacHorizonManager.RyujinxClient);
|
||||
}
|
||||
|
@ -1378,82 +1389,88 @@ namespace Ryujinx.Ava.UI.ViewModels
|
|||
AppHost.Device.System.SimulateWakeUpMessage();
|
||||
}
|
||||
|
||||
public async void LoadApplications()
|
||||
public async Task OpenFile()
|
||||
{
|
||||
await Dispatcher.UIThread.InvokeAsync(() =>
|
||||
{
|
||||
Applications.Clear();
|
||||
|
||||
StatusBarVisible = true;
|
||||
StatusBarProgressMaximum = 0;
|
||||
StatusBarProgressValue = 0;
|
||||
|
||||
LocaleManager.Instance.UpdateAndGetDynamicValue(LocaleKeys.StatusBarGamesLoaded, 0, 0);
|
||||
});
|
||||
|
||||
ReloadGameList?.Invoke();
|
||||
}
|
||||
|
||||
public async void OpenFile()
|
||||
{
|
||||
if (Application.Current.ApplicationLifetime is IClassicDesktopStyleApplicationLifetime desktop)
|
||||
{
|
||||
OpenFileDialog dialog = new()
|
||||
var result = await StorageProvider.OpenFilePickerAsync(new FilePickerOpenOptions
|
||||
{
|
||||
Title = LocaleManager.Instance[LocaleKeys.OpenFileDialogTitle],
|
||||
};
|
||||
|
||||
dialog.Filters.Add(new FileDialogFilter
|
||||
AllowMultiple = false,
|
||||
FileTypeFilter = new List<FilePickerFileType>
|
||||
{
|
||||
Name = LocaleManager.Instance[LocaleKeys.AllSupportedFormats],
|
||||
Extensions =
|
||||
new(LocaleManager.Instance[LocaleKeys.AllSupportedFormats])
|
||||
{
|
||||
"nsp",
|
||||
"pfs0",
|
||||
"xci",
|
||||
"nca",
|
||||
"nro",
|
||||
"nso",
|
||||
Patterns = new[] { "*.nsp", "*.xci", "*.nca", "*.nro", "*.nso" },
|
||||
AppleUniformTypeIdentifiers = new[]
|
||||
{
|
||||
"com.ryujinx.nsp",
|
||||
"com.ryujinx.xci",
|
||||
"com.ryujinx.nca",
|
||||
"com.ryujinx.nro",
|
||||
"com.ryujinx.nso",
|
||||
},
|
||||
MimeTypes = new[]
|
||||
{
|
||||
"application/x-nx-nsp",
|
||||
"application/x-nx-xci",
|
||||
"application/x-nx-nca",
|
||||
"application/x-nx-nro",
|
||||
"application/x-nx-nso",
|
||||
},
|
||||
},
|
||||
new("NSP")
|
||||
{
|
||||
Patterns = new[] { "*.nsp" },
|
||||
AppleUniformTypeIdentifiers = new[] { "com.ryujinx.nsp" },
|
||||
MimeTypes = new[] { "application/x-nx-nsp" },
|
||||
},
|
||||
new("XCI")
|
||||
{
|
||||
Patterns = new[] { "*.xci" },
|
||||
AppleUniformTypeIdentifiers = new[] { "com.ryujinx.xci" },
|
||||
MimeTypes = new[] { "application/x-nx-xci" },
|
||||
},
|
||||
new("NCA")
|
||||
{
|
||||
Patterns = new[] { "*.nca" },
|
||||
AppleUniformTypeIdentifiers = new[] { "com.ryujinx.nca" },
|
||||
MimeTypes = new[] { "application/x-nx-nca" },
|
||||
},
|
||||
new("NRO")
|
||||
{
|
||||
Patterns = new[] { "*.nro" },
|
||||
AppleUniformTypeIdentifiers = new[] { "com.ryujinx.nro" },
|
||||
MimeTypes = new[] { "application/x-nx-nro" },
|
||||
},
|
||||
new("NSO")
|
||||
{
|
||||
Patterns = new[] { "*.nso" },
|
||||
AppleUniformTypeIdentifiers = new[] { "com.ryujinx.nso" },
|
||||
MimeTypes = new[] { "application/x-nx-nso" },
|
||||
},
|
||||
},
|
||||
});
|
||||
|
||||
#pragma warning disable IDE0055 // Disable formatting
|
||||
dialog.Filters.Add(new FileDialogFilter { Name = "NSP", Extensions = { "nsp" } });
|
||||
dialog.Filters.Add(new FileDialogFilter { Name = "PFS0", Extensions = { "pfs0" } });
|
||||
dialog.Filters.Add(new FileDialogFilter { Name = "XCI", Extensions = { "xci" } });
|
||||
dialog.Filters.Add(new FileDialogFilter { Name = "NCA", Extensions = { "nca" } });
|
||||
dialog.Filters.Add(new FileDialogFilter { Name = "NRO", Extensions = { "nro" } });
|
||||
dialog.Filters.Add(new FileDialogFilter { Name = "NSO", Extensions = { "nso" } });
|
||||
#pragma warning restore IDE0055
|
||||
|
||||
string[] files = await dialog.ShowAsync(desktop.MainWindow);
|
||||
|
||||
if (files != null && files.Length > 0)
|
||||
if (result.Count > 0)
|
||||
{
|
||||
LoadApplication(files[0]);
|
||||
}
|
||||
await LoadApplication(result[0].Path.LocalPath);
|
||||
}
|
||||
}
|
||||
|
||||
public async void OpenFolder()
|
||||
public async Task OpenFolder()
|
||||
{
|
||||
if (Application.Current.ApplicationLifetime is IClassicDesktopStyleApplicationLifetime desktop)
|
||||
{
|
||||
OpenFolderDialog dialog = new()
|
||||
var result = await StorageProvider.OpenFolderPickerAsync(new FolderPickerOpenOptions
|
||||
{
|
||||
Title = LocaleManager.Instance[LocaleKeys.OpenFolderDialogTitle],
|
||||
};
|
||||
AllowMultiple = false,
|
||||
});
|
||||
|
||||
string folder = await dialog.ShowAsync(desktop.MainWindow);
|
||||
|
||||
if (!string.IsNullOrWhiteSpace(folder) && Directory.Exists(folder))
|
||||
if (result.Count > 0)
|
||||
{
|
||||
LoadApplication(folder);
|
||||
}
|
||||
await LoadApplication(result[0].Path.LocalPath);
|
||||
}
|
||||
}
|
||||
|
||||
public async void LoadApplication(string path, bool startFullscreen = false, string titleName = "")
|
||||
public async Task LoadApplication(string path, bool startFullscreen = false, string titleName = "")
|
||||
{
|
||||
if (AppHost != null)
|
||||
{
|
||||
|
@ -1473,7 +1490,7 @@ namespace Ryujinx.Ava.UI.ViewModels
|
|||
|
||||
Logger.RestartTime();
|
||||
|
||||
SelectedIcon ??= ApplicationLibrary.GetApplicationIcon(path);
|
||||
SelectedIcon ??= ApplicationLibrary.GetApplicationIcon(path, ConfigurationState.Instance.System.Language);
|
||||
|
||||
PrepareLoadScreen();
|
||||
|
||||
|
@ -1490,8 +1507,6 @@ namespace Ryujinx.Ava.UI.ViewModels
|
|||
this,
|
||||
TopLevel);
|
||||
|
||||
async void Action()
|
||||
{
|
||||
if (!await AppHost.LoadGuestApplication())
|
||||
{
|
||||
AppHost.DisposeContext();
|
||||
|
@ -1518,9 +1533,6 @@ namespace Ryujinx.Ava.UI.ViewModels
|
|||
gameThread.Start();
|
||||
}
|
||||
|
||||
Dispatcher.UIThread.Post(Action);
|
||||
}
|
||||
|
||||
public void SwitchToRenderer(bool startFullscreen)
|
||||
{
|
||||
Dispatcher.UIThread.Post(() =>
|
||||
|
@ -1581,7 +1593,7 @@ namespace Ryujinx.Ava.UI.ViewModels
|
|||
|
||||
IsGameRunning = false;
|
||||
|
||||
Dispatcher.UIThread.InvokeAsync(() =>
|
||||
Dispatcher.UIThread.InvokeAsync(async () =>
|
||||
{
|
||||
ShowMenuAndStatusBar = true;
|
||||
ShowContent = true;
|
||||
|
@ -1594,7 +1606,7 @@ namespace Ryujinx.Ava.UI.ViewModels
|
|||
|
||||
AppHost = null;
|
||||
|
||||
HandleRelaunch();
|
||||
await HandleRelaunch();
|
||||
});
|
||||
|
||||
RendererHostControl.WindowCreated -= RendererHost_Created;
|
||||
|
@ -1686,7 +1698,6 @@ namespace Ryujinx.Ava.UI.ViewModels
|
|||
}
|
||||
}
|
||||
}
|
||||
|
||||
#endregion
|
||||
}
|
||||
}
|
||||
|
|
|
@ -1,7 +1,6 @@
|
|||
using Avalonia.Collections;
|
||||
using Avalonia.Controls;
|
||||
using Avalonia.Threading;
|
||||
using DynamicData;
|
||||
using LibHac.Tools.FsSystem;
|
||||
using Ryujinx.Audio.Backends.OpenAL;
|
||||
using Ryujinx.Audio.Backends.SDL2;
|
||||
|
@ -11,6 +10,7 @@ using Ryujinx.Ava.UI.Helpers;
|
|||
using Ryujinx.Ava.UI.Windows;
|
||||
using Ryujinx.Common.Configuration;
|
||||
using Ryujinx.Common.Configuration.Hid;
|
||||
using Ryujinx.Common.Configuration.Multiplayer;
|
||||
using Ryujinx.Common.GraphicsDriver;
|
||||
using Ryujinx.Common.Logging;
|
||||
using Ryujinx.Graphics.Vulkan;
|
||||
|
@ -24,6 +24,7 @@ using System.Collections.ObjectModel;
|
|||
using System.Linq;
|
||||
using System.Net.NetworkInformation;
|
||||
using System.Runtime.InteropServices;
|
||||
using System.Threading.Tasks;
|
||||
using TimeZone = Ryujinx.Ava.UI.Models.TimeZone;
|
||||
|
||||
namespace Ryujinx.Ava.UI.ViewModels
|
||||
|
@ -44,7 +45,7 @@ namespace Ryujinx.Ava.UI.ViewModels
|
|||
private float _volume;
|
||||
private bool _isVulkanAvailable = true;
|
||||
private bool _directoryChanged;
|
||||
private List<string> _gpuIds = new();
|
||||
private readonly List<string> _gpuIds = new();
|
||||
private KeyboardHotkeys _keyboardHotkeys;
|
||||
private int _graphicsBackendIndex;
|
||||
private string _customThemePath;
|
||||
|
@ -54,6 +55,7 @@ namespace Ryujinx.Ava.UI.ViewModels
|
|||
public event Action CloseWindow;
|
||||
public event Action SaveSettingsEvent;
|
||||
private int _networkInterfaceIndex;
|
||||
private int _multiplayerModeIndex;
|
||||
|
||||
public int ResolutionScale
|
||||
{
|
||||
|
@ -76,14 +78,13 @@ namespace Ryujinx.Ava.UI.ViewModels
|
|||
|
||||
if (_graphicsBackendMultithreadingIndex != (int)ConfigurationState.Instance.Graphics.BackendThreading.Value)
|
||||
{
|
||||
Dispatcher.UIThread.Post(async () =>
|
||||
{
|
||||
await ContentDialogHelper.CreateInfoDialog(LocaleManager.Instance[LocaleKeys.DialogSettingsBackendThreadingWarningMessage],
|
||||
Dispatcher.UIThread.InvokeAsync(() =>
|
||||
ContentDialogHelper.CreateInfoDialog(LocaleManager.Instance[LocaleKeys.DialogSettingsBackendThreadingWarningMessage],
|
||||
"",
|
||||
"",
|
||||
LocaleManager.Instance[LocaleKeys.InputDialogOk],
|
||||
LocaleManager.Instance[LocaleKeys.DialogSettingsBackendThreadingWarningTitle]);
|
||||
});
|
||||
LocaleManager.Instance[LocaleKeys.DialogSettingsBackendThreadingWarningTitle])
|
||||
);
|
||||
}
|
||||
|
||||
OnPropertyChanged();
|
||||
|
@ -145,6 +146,8 @@ namespace Ryujinx.Ava.UI.ViewModels
|
|||
public bool EnableShaderCache { get; set; }
|
||||
public bool EnableTextureRecompression { get; set; }
|
||||
public bool EnableMacroHLE { get; set; }
|
||||
public bool EnableColorSpacePassthrough { get; set; }
|
||||
public bool ColorSpacePassthroughAvailable => IsMacOS;
|
||||
public bool EnableFileLog { get; set; }
|
||||
public bool EnableStub { get; set; }
|
||||
public bool EnableInfo { get; set; }
|
||||
|
@ -250,6 +253,11 @@ namespace Ryujinx.Ava.UI.ViewModels
|
|||
get => new(_networkInterfaces.Keys);
|
||||
}
|
||||
|
||||
public AvaloniaList<string> MultiplayerModes
|
||||
{
|
||||
get => new(Enum.GetNames<MultiplayerMode>());
|
||||
}
|
||||
|
||||
public KeyboardHotkeys KeyboardHotkeys
|
||||
{
|
||||
get => _keyboardHotkeys;
|
||||
|
@ -271,13 +279,23 @@ namespace Ryujinx.Ava.UI.ViewModels
|
|||
}
|
||||
}
|
||||
|
||||
public int MultiplayerModeIndex
|
||||
{
|
||||
get => _multiplayerModeIndex;
|
||||
set
|
||||
{
|
||||
_multiplayerModeIndex = value;
|
||||
ConfigurationState.Instance.Multiplayer.Mode.Value = (MultiplayerMode)_multiplayerModeIndex;
|
||||
}
|
||||
}
|
||||
|
||||
public SettingsViewModel(VirtualFileSystem virtualFileSystem, ContentManager contentManager) : this()
|
||||
{
|
||||
_virtualFileSystem = virtualFileSystem;
|
||||
_contentManager = contentManager;
|
||||
if (Program.PreviewerDetached)
|
||||
{
|
||||
LoadTimeZones();
|
||||
Task.Run(LoadTimeZones);
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -289,27 +307,34 @@ namespace Ryujinx.Ava.UI.ViewModels
|
|||
_validTzRegions = new List<string>();
|
||||
_networkInterfaces = new Dictionary<string, string>();
|
||||
|
||||
CheckSoundBackends();
|
||||
PopulateNetworkInterfaces();
|
||||
Task.Run(CheckSoundBackends);
|
||||
Task.Run(PopulateNetworkInterfaces);
|
||||
|
||||
if (Program.PreviewerDetached)
|
||||
{
|
||||
LoadAvailableGpus();
|
||||
Task.Run(LoadAvailableGpus);
|
||||
LoadCurrentConfiguration();
|
||||
}
|
||||
}
|
||||
|
||||
public void CheckSoundBackends()
|
||||
public async Task CheckSoundBackends()
|
||||
{
|
||||
IsOpenAlEnabled = OpenALHardwareDeviceDriver.IsSupported;
|
||||
IsSoundIoEnabled = SoundIoHardwareDeviceDriver.IsSupported;
|
||||
IsSDL2Enabled = SDL2HardwareDeviceDriver.IsSupported;
|
||||
|
||||
await Dispatcher.UIThread.InvokeAsync(() =>
|
||||
{
|
||||
OnPropertyChanged(nameof(IsOpenAlEnabled));
|
||||
OnPropertyChanged(nameof(IsSoundIoEnabled));
|
||||
OnPropertyChanged(nameof(IsSDL2Enabled));
|
||||
});
|
||||
}
|
||||
|
||||
private void LoadAvailableGpus()
|
||||
private async Task LoadAvailableGpus()
|
||||
{
|
||||
_gpuIds = new List<string>();
|
||||
List<string> names = new();
|
||||
AvailableGpus.Clear();
|
||||
|
||||
var devices = VulkanRenderer.GetPhysicalDevices();
|
||||
|
||||
if (devices.Length == 0)
|
||||
|
@ -320,17 +345,24 @@ namespace Ryujinx.Ava.UI.ViewModels
|
|||
else
|
||||
{
|
||||
foreach (var device in devices)
|
||||
{
|
||||
await Dispatcher.UIThread.InvokeAsync(() =>
|
||||
{
|
||||
_gpuIds.Add(device.Id);
|
||||
names.Add($"{device.Name} {(device.IsDiscrete ? "(dGPU)" : "")}");
|
||||
|
||||
AvailableGpus.Add(new ComboBoxItem { Content = $"{device.Name} {(device.IsDiscrete ? "(dGPU)" : "")}" });
|
||||
});
|
||||
}
|
||||
}
|
||||
|
||||
AvailableGpus.Clear();
|
||||
AvailableGpus.AddRange(names.Select(x => new ComboBoxItem { Content = x }));
|
||||
// GPU configuration needs to be loaded during the async method or it will always return 0.
|
||||
PreferredGpuIndex = _gpuIds.Contains(ConfigurationState.Instance.Graphics.PreferredGpu) ?
|
||||
_gpuIds.IndexOf(ConfigurationState.Instance.Graphics.PreferredGpu) : 0;
|
||||
|
||||
Dispatcher.UIThread.Post(() => OnPropertyChanged(nameof(PreferredGpuIndex)));
|
||||
}
|
||||
|
||||
public void LoadTimeZones()
|
||||
public async Task LoadTimeZones()
|
||||
{
|
||||
_timeZoneContentManager = new TimeZoneContentManager();
|
||||
|
||||
|
@ -343,21 +375,34 @@ namespace Ryujinx.Ava.UI.ViewModels
|
|||
|
||||
string abbr2 = abbr.StartsWith('+') || abbr.StartsWith('-') ? string.Empty : abbr;
|
||||
|
||||
await Dispatcher.UIThread.InvokeAsync(() =>
|
||||
{
|
||||
TimeZones.Add(new TimeZone($"UTC{hours:+0#;-0#;+00}:{minutes:D2}", location, abbr2));
|
||||
|
||||
_validTzRegions.Add(location);
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
private void PopulateNetworkInterfaces()
|
||||
Dispatcher.UIThread.Post(() => OnPropertyChanged(nameof(TimeZone)));
|
||||
}
|
||||
|
||||
private async Task PopulateNetworkInterfaces()
|
||||
{
|
||||
_networkInterfaces.Clear();
|
||||
_networkInterfaces.Add(LocaleManager.Instance[LocaleKeys.NetworkInterfaceDefault], "0");
|
||||
|
||||
foreach (NetworkInterface networkInterface in NetworkInterface.GetAllNetworkInterfaces())
|
||||
{
|
||||
await Dispatcher.UIThread.InvokeAsync(() =>
|
||||
{
|
||||
_networkInterfaces.Add(networkInterface.Name, networkInterface.Id);
|
||||
});
|
||||
}
|
||||
|
||||
// Network interface index needs to be loaded during the async method or it will always return 0.
|
||||
NetworkInterfaceIndex = _networkInterfaces.Values.ToList().IndexOf(ConfigurationState.Instance.Multiplayer.LanInterfaceId.Value);
|
||||
|
||||
Dispatcher.UIThread.Post(() => OnPropertyChanged(nameof(NetworkInterfaceIndex)));
|
||||
}
|
||||
|
||||
public void ValidateAndSetTimeZone(string location)
|
||||
|
@ -415,10 +460,11 @@ namespace Ryujinx.Ava.UI.ViewModels
|
|||
|
||||
// Graphics
|
||||
GraphicsBackendIndex = (int)config.Graphics.GraphicsBackend.Value;
|
||||
PreferredGpuIndex = _gpuIds.Contains(config.Graphics.PreferredGpu) ? _gpuIds.IndexOf(config.Graphics.PreferredGpu) : 0;
|
||||
// Physical devices are queried asynchronously hence the prefered index config value is loaded in LoadAvailableGpus().
|
||||
EnableShaderCache = config.Graphics.EnableShaderCache;
|
||||
EnableTextureRecompression = config.Graphics.EnableTextureRecompression;
|
||||
EnableMacroHLE = config.Graphics.EnableMacroHLE;
|
||||
EnableColorSpacePassthrough = config.Graphics.EnableColorSpacePassthrough;
|
||||
ResolutionScale = config.Graphics.ResScale == -1 ? 4 : config.Graphics.ResScale - 1;
|
||||
CustomResolutionScale = config.Graphics.ResScaleCustom;
|
||||
MaxAnisotropy = config.Graphics.MaxAnisotropy == -1 ? 0 : (int)(MathF.Log2(config.Graphics.MaxAnisotropy));
|
||||
|
@ -435,6 +481,7 @@ namespace Ryujinx.Ava.UI.ViewModels
|
|||
|
||||
// Network
|
||||
EnableInternetAccess = config.System.EnableInternetAccess;
|
||||
// LAN interface index is loaded asynchronously in PopulateNetworkInterfaces()
|
||||
|
||||
// Logging
|
||||
EnableFileLog = config.Logger.EnableFileLog;
|
||||
|
@ -449,7 +496,7 @@ namespace Ryujinx.Ava.UI.ViewModels
|
|||
FsGlobalAccessLogMode = config.System.FsGlobalAccessLogMode;
|
||||
OpenglDebugLevel = (int)config.Logger.GraphicsDebugLevel.Value;
|
||||
|
||||
NetworkInterfaceIndex = _networkInterfaces.Values.ToList().IndexOf(config.Multiplayer.LanInterfaceId.Value);
|
||||
MultiplayerModeIndex = (int)config.Multiplayer.Mode.Value;
|
||||
}
|
||||
|
||||
public void SaveSettings()
|
||||
|
@ -506,6 +553,7 @@ namespace Ryujinx.Ava.UI.ViewModels
|
|||
config.Graphics.EnableShaderCache.Value = EnableShaderCache;
|
||||
config.Graphics.EnableTextureRecompression.Value = EnableTextureRecompression;
|
||||
config.Graphics.EnableMacroHLE.Value = EnableMacroHLE;
|
||||
config.Graphics.EnableColorSpacePassthrough.Value = EnableColorSpacePassthrough;
|
||||
config.Graphics.ResScale.Value = ResolutionScale == 4 ? -1 : ResolutionScale + 1;
|
||||
config.Graphics.ResScaleCustom.Value = CustomResolutionScale;
|
||||
config.Graphics.MaxAnisotropy.Value = MaxAnisotropy == 0 ? -1 : MathF.Pow(2, MaxAnisotropy);
|
||||
|
@ -550,6 +598,7 @@ namespace Ryujinx.Ava.UI.ViewModels
|
|||
config.Logger.GraphicsDebugLevel.Value = (GraphicsDebugLevel)OpenglDebugLevel;
|
||||
|
||||
config.Multiplayer.LanInterfaceId.Value = _networkInterfaces[NetworkInterfaceList[NetworkInterfaceIndex]];
|
||||
config.Multiplayer.Mode.Value = (MultiplayerMode)MultiplayerModeIndex;
|
||||
|
||||
config.ToFileFormat().SaveConfig(Program.ConfigurationPath);
|
||||
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
using Avalonia;
|
||||
using Avalonia.Collections;
|
||||
using Avalonia.Controls;
|
||||
using Avalonia.Controls.ApplicationLifetimes;
|
||||
using Avalonia.Platform.Storage;
|
||||
using Avalonia.Threading;
|
||||
using LibHac.Common;
|
||||
using LibHac.Fs;
|
||||
|
@ -22,6 +22,7 @@ using System;
|
|||
using System.Collections.Generic;
|
||||
using System.IO;
|
||||
using System.Linq;
|
||||
using System.Threading.Tasks;
|
||||
using Path = System.IO.Path;
|
||||
using SpanHelpers = LibHac.Common.SpanHelpers;
|
||||
|
||||
|
@ -70,12 +71,19 @@ namespace Ryujinx.Ava.UI.ViewModels
|
|||
}
|
||||
}
|
||||
|
||||
public IStorageProvider StorageProvider;
|
||||
|
||||
public TitleUpdateViewModel(VirtualFileSystem virtualFileSystem, ulong titleId)
|
||||
{
|
||||
VirtualFileSystem = virtualFileSystem;
|
||||
|
||||
TitleId = titleId;
|
||||
|
||||
if (Application.Current.ApplicationLifetime is IClassicDesktopStyleApplicationLifetime desktop)
|
||||
{
|
||||
StorageProvider = desktop.MainWindow.StorageProvider;
|
||||
}
|
||||
|
||||
TitleUpdateJsonPath = Path.Combine(AppDataManager.GamesDirPath, titleId.ToString("x16"), "updates.json");
|
||||
|
||||
try
|
||||
|
@ -162,7 +170,9 @@ namespace Ryujinx.Ava.UI.ViewModels
|
|||
|
||||
try
|
||||
{
|
||||
(Nca patchNca, Nca controlNca) = ApplicationLibrary.GetGameUpdateDataFromPartition(VirtualFileSystem, new PartitionFileSystem(file.AsStorage()), TitleId.ToString("x16"), 0);
|
||||
var pfs = new PartitionFileSystem();
|
||||
pfs.Initialize(file.AsStorage()).ThrowIfFailure();
|
||||
(Nca patchNca, Nca controlNca) = ApplicationLibrary.GetGameUpdateDataFromPartition(VirtualFileSystem, pfs, TitleId.ToString("x16"), 0);
|
||||
|
||||
if (controlNca != null && patchNca != null)
|
||||
{
|
||||
|
@ -177,18 +187,12 @@ namespace Ryujinx.Ava.UI.ViewModels
|
|||
}
|
||||
else
|
||||
{
|
||||
Dispatcher.UIThread.Post(async () =>
|
||||
{
|
||||
await ContentDialogHelper.CreateErrorDialog(LocaleManager.Instance[LocaleKeys.DialogUpdateAddUpdateErrorMessage]);
|
||||
});
|
||||
Dispatcher.UIThread.InvokeAsync(() => ContentDialogHelper.CreateErrorDialog(LocaleManager.Instance[LocaleKeys.DialogUpdateAddUpdateErrorMessage]));
|
||||
}
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
Dispatcher.UIThread.Post(async () =>
|
||||
{
|
||||
await ContentDialogHelper.CreateErrorDialog(LocaleManager.Instance.UpdateAndGetDynamicValue(LocaleKeys.DialogLoadNcaErrorMessage, ex.Message, path));
|
||||
});
|
||||
Dispatcher.UIThread.InvokeAsync(() => ContentDialogHelper.CreateErrorDialog(LocaleManager.Instance.UpdateAndGetDynamicValue(LocaleKeys.DialogLoadNcaErrorMessage, ex.Message, path)));
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -200,31 +204,25 @@ namespace Ryujinx.Ava.UI.ViewModels
|
|||
SortUpdates();
|
||||
}
|
||||
|
||||
public async void Add()
|
||||
public async Task Add()
|
||||
{
|
||||
OpenFileDialog dialog = new()
|
||||
var result = await StorageProvider.OpenFilePickerAsync(new FilePickerOpenOptions
|
||||
{
|
||||
Title = LocaleManager.Instance[LocaleKeys.SelectUpdateDialogTitle],
|
||||
AllowMultiple = true,
|
||||
};
|
||||
|
||||
dialog.Filters.Add(new FileDialogFilter
|
||||
FileTypeFilter = new List<FilePickerFileType>
|
||||
{
|
||||
Name = "NSP",
|
||||
Extensions = { "nsp" },
|
||||
new(LocaleManager.Instance[LocaleKeys.AllSupportedFormats])
|
||||
{
|
||||
Patterns = new[] { "*.nsp" },
|
||||
AppleUniformTypeIdentifiers = new[] { "com.ryujinx.nsp" },
|
||||
MimeTypes = new[] { "application/x-nx-nsp" },
|
||||
},
|
||||
},
|
||||
});
|
||||
|
||||
if (Application.Current.ApplicationLifetime is IClassicDesktopStyleApplicationLifetime desktop)
|
||||
foreach (var file in result)
|
||||
{
|
||||
string[] files = await dialog.ShowAsync(desktop.MainWindow);
|
||||
|
||||
if (files != null)
|
||||
{
|
||||
foreach (string file in files)
|
||||
{
|
||||
AddUpdate(file);
|
||||
}
|
||||
}
|
||||
AddUpdate(file.Path.LocalPath);
|
||||
}
|
||||
|
||||
SortUpdates();
|
||||
|
|
|
@ -5,6 +5,7 @@
|
|||
xmlns:locale="clr-namespace:Ryujinx.Ava.Common.Locale"
|
||||
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
|
||||
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
|
||||
xmlns:controls="clr-namespace:Ryujinx.Ava.UI.Controls"
|
||||
xmlns:models="clr-namespace:Ryujinx.Ava.UI.Models"
|
||||
xmlns:viewModels="clr-namespace:Ryujinx.Ava.UI.ViewModels"
|
||||
xmlns:helpers="clr-namespace:Ryujinx.Ava.UI.Helpers"
|
||||
|
@ -14,7 +15,6 @@
|
|||
d:DesignWidth="800"
|
||||
x:Class="Ryujinx.Ava.UI.Views.Input.ControllerInputView"
|
||||
x:DataType="viewModels:ControllerInputViewModel"
|
||||
x:CompileBindings="True"
|
||||
mc:Ignorable="d"
|
||||
Focusable="True">
|
||||
<Design.DataContext>
|
||||
|
@ -66,7 +66,7 @@
|
|||
HorizontalAlignment="Stretch"
|
||||
VerticalAlignment="Center"
|
||||
SelectionChanged="PlayerIndexBox_OnSelectionChanged"
|
||||
Items="{Binding PlayerIndexes}"
|
||||
ItemsSource="{Binding PlayerIndexes}"
|
||||
SelectedIndex="{Binding PlayerId}">
|
||||
<ComboBox.ItemTemplate>
|
||||
<DataTemplate>
|
||||
|
@ -94,15 +94,15 @@
|
|||
HorizontalAlignment="Left"
|
||||
VerticalAlignment="Center"
|
||||
Text="{locale:Locale ControllerSettingsProfile}" />
|
||||
<ui:ComboBox
|
||||
<ui:FAComboBox
|
||||
Grid.Column="1"
|
||||
IsEditable="True"
|
||||
Name="ProfileBox"
|
||||
HorizontalAlignment="Stretch"
|
||||
VerticalAlignment="Center"
|
||||
SelectedIndex="0"
|
||||
Items="{Binding ProfilesList}"
|
||||
Text="{Binding ProfileName}" />
|
||||
ItemsSource="{Binding ProfilesList}"
|
||||
Text="{Binding ProfileName, Mode=TwoWay}" />
|
||||
<Button
|
||||
Grid.Column="2"
|
||||
MinWidth="0"
|
||||
|
@ -170,7 +170,7 @@
|
|||
Name="DeviceBox"
|
||||
HorizontalAlignment="Stretch"
|
||||
VerticalAlignment="Center"
|
||||
Items="{Binding DeviceList}"
|
||||
ItemsSource="{Binding DeviceList}"
|
||||
SelectedIndex="{Binding Device}" />
|
||||
<Button
|
||||
Grid.Column="2"
|
||||
|
@ -203,8 +203,8 @@
|
|||
<ComboBox
|
||||
Grid.Column="1"
|
||||
HorizontalAlignment="Stretch"
|
||||
Items="{ReflectionBinding Controllers}"
|
||||
SelectedIndex="{ReflectionBinding Controller}">
|
||||
ItemsSource="{Binding Controllers}"
|
||||
SelectedIndex="{Binding Controller}">
|
||||
<ComboBox.ItemTemplate>
|
||||
<DataTemplate DataType="models:ControllerModel">
|
||||
<TextBlock Text="{Binding Name}" />
|
||||
|
@ -461,11 +461,12 @@
|
|||
HorizontalAlignment="Center"
|
||||
VerticalAlignment="Center"
|
||||
Orientation="Horizontal">
|
||||
<Slider
|
||||
<controls:SliderScroll
|
||||
Width="130"
|
||||
Maximum="1"
|
||||
TickFrequency="0.01"
|
||||
IsSnapToTickEnabled="True"
|
||||
SmallChange="0.01"
|
||||
Minimum="0"
|
||||
Value="{ReflectionBinding Configuration.DeadzoneLeft, Mode=TwoWay}" />
|
||||
<TextBlock
|
||||
|
@ -480,11 +481,12 @@
|
|||
HorizontalAlignment="Center"
|
||||
VerticalAlignment="Center"
|
||||
Orientation="Horizontal">
|
||||
<Slider
|
||||
<controls:SliderScroll
|
||||
Width="130"
|
||||
Maximum="2"
|
||||
TickFrequency="0.01"
|
||||
IsSnapToTickEnabled="True"
|
||||
SmallChange="0.01"
|
||||
Minimum="0"
|
||||
Value="{ReflectionBinding Configuration.RangeLeft, Mode=TwoWay}" />
|
||||
<TextBlock
|
||||
|
@ -603,11 +605,12 @@
|
|||
<StackPanel
|
||||
HorizontalAlignment="Center"
|
||||
Orientation="Horizontal">
|
||||
<Slider
|
||||
<controls:SliderScroll
|
||||
Width="130"
|
||||
Maximum="1"
|
||||
TickFrequency="0.01"
|
||||
IsSnapToTickEnabled="True"
|
||||
SmallChange="0.01"
|
||||
Minimum="0"
|
||||
Value="{ReflectionBinding Configuration.TriggerThreshold, Mode=TwoWay}" />
|
||||
<TextBlock
|
||||
|
@ -723,7 +726,7 @@
|
|||
<Button
|
||||
Margin="10"
|
||||
Grid.Column="1"
|
||||
Command="{ReflectionBinding ShowMotionConfig}">
|
||||
Command="{Binding ShowMotionConfig}">
|
||||
<TextBlock Text="{locale:Locale ControllerSettingsConfigureGeneral}" />
|
||||
</Button>
|
||||
</Grid>
|
||||
|
@ -750,7 +753,7 @@
|
|||
<Button
|
||||
Margin="10"
|
||||
Grid.Column="1"
|
||||
Command="{ReflectionBinding ShowRumbleConfig}">
|
||||
Command="{Binding ShowRumbleConfig}">
|
||||
<TextBlock Text="{locale:Locale ControllerSettingsConfigureGeneral}" />
|
||||
</Button>
|
||||
</Grid>
|
||||
|
@ -1081,11 +1084,12 @@
|
|||
HorizontalAlignment="Center"
|
||||
VerticalAlignment="Center"
|
||||
Orientation="Horizontal">
|
||||
<Slider
|
||||
<controls:SliderScroll
|
||||
Width="130"
|
||||
Maximum="1"
|
||||
TickFrequency="0.01"
|
||||
IsSnapToTickEnabled="True"
|
||||
SmallChange="0.01"
|
||||
Padding="0"
|
||||
VerticalAlignment="Center"
|
||||
Minimum="0"
|
||||
|
@ -1102,11 +1106,12 @@
|
|||
HorizontalAlignment="Center"
|
||||
VerticalAlignment="Center"
|
||||
Orientation="Horizontal">
|
||||
<Slider
|
||||
<controls:SliderScroll
|
||||
Width="130"
|
||||
Maximum="2"
|
||||
TickFrequency="0.01"
|
||||
IsSnapToTickEnabled="True"
|
||||
SmallChange="0.01"
|
||||
Minimum="0"
|
||||
Value="{ReflectionBinding Configuration.RangeRight, Mode=TwoWay}" />
|
||||
<TextBlock
|
||||
|
|
|
@ -31,8 +31,7 @@ namespace Ryujinx.Ava.UI.Views.Input
|
|||
{
|
||||
if (visual is ToggleButton button && visual is not CheckBox)
|
||||
{
|
||||
button.Checked += Button_Checked;
|
||||
button.Unchecked += Button_Unchecked;
|
||||
button.IsCheckedChanged += Button_IsCheckedChanged;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -47,9 +46,11 @@ namespace Ryujinx.Ava.UI.Views.Input
|
|||
}
|
||||
}
|
||||
|
||||
private void Button_Checked(object sender, RoutedEventArgs e)
|
||||
private void Button_IsCheckedChanged(object sender, RoutedEventArgs e)
|
||||
{
|
||||
if (sender is ToggleButton button)
|
||||
{
|
||||
if ((bool)button.IsChecked)
|
||||
{
|
||||
if (_currentAssigner != null && button == _currentAssigner.ToggledButton)
|
||||
{
|
||||
|
@ -58,11 +59,11 @@ namespace Ryujinx.Ava.UI.Views.Input
|
|||
|
||||
bool isStick = button.Tag != null && button.Tag.ToString() == "stick";
|
||||
|
||||
if (_currentAssigner == null && (bool)button.IsChecked)
|
||||
if (_currentAssigner == null)
|
||||
{
|
||||
_currentAssigner = new ButtonKeyAssigner(button);
|
||||
|
||||
FocusManager.Instance.Focus(this, NavigationMethod.Pointer);
|
||||
this.Focus(NavigationMethod.Pointer);
|
||||
|
||||
PointerPressed += MouseClick;
|
||||
|
||||
|
@ -91,6 +92,12 @@ namespace Ryujinx.Ava.UI.Views.Input
|
|||
}
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
_currentAssigner?.Cancel();
|
||||
_currentAssigner = null;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
public void SaveCurrentProfile()
|
||||
|
@ -120,12 +127,6 @@ namespace Ryujinx.Ava.UI.Views.Input
|
|||
return assigner;
|
||||
}
|
||||
|
||||
private void Button_Unchecked(object sender, RoutedEventArgs e)
|
||||
{
|
||||
_currentAssigner?.Cancel();
|
||||
_currentAssigner = null;
|
||||
}
|
||||
|
||||
private void MouseClick(object sender, PointerPressedEventArgs e)
|
||||
{
|
||||
bool shouldUnbind = false;
|
||||
|
|
Some files were not shown because too many files have changed in this diff Show more
Loading…
Reference in a new issue