mirror of
https://github.com/modrinth/code.git
synced 2026-08-28 18:45:15 +00:00
Compare commits
65
Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
e4cbec6b2c | ||
|
|
5ef999bf8a | ||
|
|
b0394de164 | ||
|
|
9181c155e0 | ||
|
|
2e8aaa31be | ||
|
|
bca5303ae3 | ||
|
|
75335647ee | ||
|
|
a71a361e0f | ||
|
|
6ed044a54b | ||
|
|
3fa6905006 | ||
|
|
d344cbcb7a | ||
|
|
204f4da33f | ||
|
|
c57e88ecd4 | ||
|
|
feb3c3ee31 | ||
|
|
09f2af61dc | ||
|
|
61b52ecd2c | ||
|
|
9625740906 | ||
|
|
f234b7a0ac | ||
|
|
8aa22b9bed | ||
|
|
b8d97268cb | ||
|
|
c671ca52f6 | ||
|
|
a89711841d | ||
|
|
0038ea8b15 | ||
|
|
c0e6f094d9 | ||
|
|
1c574a1f2d | ||
|
|
bca8b1a02b | ||
|
|
5148e8ec35 | ||
|
|
cc53d9a6f8 | ||
|
|
474c6560fc | ||
|
|
f42a3bfde3 | ||
|
|
540b3269df | ||
|
|
36857a167b | ||
|
|
3487523f74 | ||
|
|
bb2193b6f5 | ||
|
|
6cfe999cb3 | ||
|
|
893ab49fdf | ||
|
|
fe0c97190a | ||
|
|
99377f8436 | ||
|
|
4c3abc62a8 | ||
|
|
af7336fffb | ||
|
|
cfea3aba34 | ||
|
|
6715a9c679 | ||
|
|
c3249ee51d | ||
|
|
2e43f6a42b | ||
|
|
779edf0333 | ||
|
|
ae13d37edc | ||
|
|
1e49d7da7a | ||
|
|
8b753a52ad | ||
|
|
a53c9c3771 | ||
|
|
919b235621 | ||
|
|
18b0b2848d | ||
|
|
65a3ac4b34 | ||
|
|
295db3fb7a | ||
|
|
7abe6f8c73 | ||
|
|
c5ce5bc9b3 | ||
|
|
572b8027ff | ||
|
|
0a53211389 | ||
|
|
22b2b7746e | ||
|
|
39b3e20d0a | ||
|
|
3892b62451 | ||
|
|
5ffffec2e5 | ||
|
|
a0724cc5fb | ||
|
|
a0320f425e | ||
|
|
06262e7bb1 | ||
|
|
9ccaab5fad |
@@ -34,13 +34,13 @@ runs:
|
||||
using: 'composite'
|
||||
steps:
|
||||
- name: Checkout code
|
||||
uses: actions/checkout@v4
|
||||
uses: actions/checkout@11d5960a326750d5838078e36cf38b85af677262 # v4.4.0
|
||||
with:
|
||||
fetch-depth: 0
|
||||
|
||||
- name: Extract PR Number and Commit ID
|
||||
id: extract-pr-info
|
||||
uses: actions/github-script@v7
|
||||
uses: actions/github-script@f28e40c7f34bde8b3046d885e986cb6290c5673b # v7.1.0
|
||||
with:
|
||||
script: |
|
||||
const githubRef = process.env.GITHUB_REF;
|
||||
@@ -90,20 +90,26 @@ runs:
|
||||
- name: Print PR Branch
|
||||
if: env.CAN_SKIP_CHECKS != 'false'
|
||||
shell: bash
|
||||
env:
|
||||
PR_BRANCH: ${{ steps.get-pr-branch.outputs.prBranch }}
|
||||
run: |
|
||||
echo "PR Branch: ${{ steps.get-pr-branch.outputs.prBranch }}"
|
||||
echo "PR Branch: $PR_BRANCH"
|
||||
|
||||
- name: Check if PR branch contains the Merge Queue target commit ID
|
||||
if: env.CAN_SKIP_CHECKS != 'false'
|
||||
shell: bash
|
||||
env:
|
||||
PR_BRANCH: ${{ steps.get-pr-branch.outputs.prBranch }}
|
||||
COMMIT_ID: ${{ steps.extract-pr-info.outputs.commitId }}
|
||||
TARGET_BRANCH: ${{ steps.extract-pr-info.outputs.targetBranchName }}
|
||||
run: |
|
||||
# Get the branch name from previous steps
|
||||
branch_name="origin/${{ steps.get-pr-branch.outputs.prBranch }}"
|
||||
commit_id="${{ steps.extract-pr-info.outputs.commitId }}"
|
||||
branch_name="origin/$PR_BRANCH"
|
||||
commit_id="$COMMIT_ID"
|
||||
|
||||
# Check if the branch history contains the commit
|
||||
if git branch -r --contains "$commit_id" | grep -q "$branch_name"; then
|
||||
echo "Branch '$branch_name' contains commit '$commit_id'. It is up to date with ${{ steps.extract-pr-info.outputs.targetBranchName }}."
|
||||
if git branch -r --contains "$commit_id" | grep -qF "$branch_name"; then
|
||||
echo "Branch '$branch_name' contains commit '$commit_id'. It is up to date with $TARGET_BRANCH."
|
||||
else
|
||||
echo "Branch '$branch_name' does not contain commit '$commit_id'. It is outdated. Setting CAN_SKIP_CHECKS to false."
|
||||
echo "CAN_SKIP_CHECKS=false" >> "$GITHUB_ENV"
|
||||
@@ -112,8 +118,10 @@ runs:
|
||||
- name: Compare PR Branch with Current Branch
|
||||
if: env.CAN_SKIP_CHECKS != 'false'
|
||||
shell: bash
|
||||
env:
|
||||
PR_BRANCH: ${{ steps.get-pr-branch.outputs.prBranch }}
|
||||
run: |
|
||||
if git diff --quiet "origin/${{ steps.get-pr-branch.outputs.prBranch }}"; then
|
||||
if git diff --quiet "origin/$PR_BRANCH"; then
|
||||
echo "No differences found. PR branch is identical with this merge queue branch."
|
||||
else
|
||||
echo "Differences detected. PR branch has been updated after PR was added to merge queue. Setting CAN_SKIP_CHECKS to false."
|
||||
@@ -122,9 +130,11 @@ runs:
|
||||
|
||||
- name: Compute/publish skip result
|
||||
id: passed-checks
|
||||
uses: actions/github-script@v7
|
||||
uses: actions/github-script@f28e40c7f34bde8b3046d885e986cb6290c5673b # v7.1.0
|
||||
env:
|
||||
SECRET: ${{ inputs.secret }}
|
||||
PR_BRANCH: ${{ steps.get-pr-branch.outputs.prBranch }}
|
||||
TARGET_BRANCH: ${{ steps.extract-pr-info.outputs.targetBranchName }}
|
||||
with:
|
||||
github-token: ${{ inputs.secret != '' && inputs.secret || github.token }}
|
||||
script: |
|
||||
@@ -144,7 +154,7 @@ runs:
|
||||
const { data: branchProtection } = await github.rest.repos.getBranchProtection({
|
||||
owner: context.repo.owner,
|
||||
repo: context.repo.repo,
|
||||
branch: "${{ steps.extract-pr-info.outputs.targetBranchName }}",
|
||||
branch: process.env.TARGET_BRANCH,
|
||||
});
|
||||
const requiredCheckNames = branchProtection.required_status_checks.contexts;
|
||||
console.log(`requiredCheckNames = ${requiredCheckNames}`);
|
||||
@@ -152,7 +162,7 @@ runs:
|
||||
const { data: checks } = await github.rest.checks.listForRef({
|
||||
owner: context.repo.owner,
|
||||
repo: context.repo.repo,
|
||||
ref: "refs/heads/${{ steps.get-pr-branch.outputs.prBranch }}",
|
||||
ref: `refs/heads/${process.env.PR_BRANCH}`,
|
||||
});
|
||||
|
||||
console.log(`checks.check_runs = ${checks.check_runs.map(check => `${check.status},${check.conclusion},${check.name};`)}`);
|
||||
|
||||
@@ -0,0 +1,24 @@
|
||||
name: Deploy Command
|
||||
run-name: Deploy PR #${{ github.event.client_payload.github.payload.issue.number }}
|
||||
|
||||
on:
|
||||
repository_dispatch:
|
||||
types: [deploy-command]
|
||||
|
||||
permissions:
|
||||
contents: read
|
||||
actions: read
|
||||
|
||||
jobs:
|
||||
deploy:
|
||||
if: ${{ github.event.client_payload.pull_request.head.repo.full_name == github.repository }}
|
||||
uses: SparkUniverse/workflows/.github/workflows/deploy-command.yaml@main
|
||||
secrets:
|
||||
ARGOCD_DEPLOY_KEY: ${{ secrets.ARGOCD_DEPLOY_KEY }}
|
||||
CMD_DISPATCH_GH_TOKEN: ${{ secrets.SLASH_CMD_GH_TOKEN }}
|
||||
with:
|
||||
application-set: labrinth
|
||||
build-workflow: labrinth-build.yml
|
||||
branch: ${{ github.event.client_payload.pull_request.head.ref }}
|
||||
issue-number: ${{ github.event.client_payload.github.payload.issue.number }}
|
||||
head-sha: ${{ github.event.client_payload.pull_request.head.sha }}
|
||||
@@ -1,19 +1,26 @@
|
||||
name: docker-build
|
||||
name: Labrinth Build
|
||||
|
||||
on:
|
||||
push:
|
||||
branches:
|
||||
- 'main'
|
||||
- 'prod'
|
||||
paths:
|
||||
- .github/workflows/labrinth-docker.yml
|
||||
- .github/workflows/labrinth-build.yml
|
||||
- 'apps/labrinth/**'
|
||||
- 'packages/**'
|
||||
- '!packages/api-client/**'
|
||||
- '!packages/app-lib/**'
|
||||
- Cargo.toml
|
||||
- Cargo.lock
|
||||
pull_request:
|
||||
types: [opened, synchronize]
|
||||
paths:
|
||||
- .github/workflows/labrinth-docker.yml
|
||||
- .github/workflows/labrinth-build.yml
|
||||
- 'apps/labrinth/**'
|
||||
- 'packages/**'
|
||||
- '!packages/api-client/**'
|
||||
- '!packages/app-lib/**'
|
||||
- Cargo.toml
|
||||
- Cargo.lock
|
||||
merge_group:
|
||||
@@ -69,7 +76,8 @@ jobs:
|
||||
echo "skip=false" >> $GITHUB_OUTPUT
|
||||
fi
|
||||
|
||||
docker:
|
||||
build:
|
||||
name: Build Labrinth
|
||||
runs-on: ${{ needs.skip-if-clean.outputs.internal == 'true' && 'namespace-profile-modrinth-labrinth' || 'ubuntu-latest' }}
|
||||
needs: [skip-if-clean]
|
||||
if: ${{ needs.skip-if-clean.outputs.skip != 'true' }}
|
||||
@@ -120,42 +128,30 @@ jobs:
|
||||
cp -r apps/labrinth/migrations apps/labrinth/docker-stage/migrations
|
||||
cp -r apps/labrinth/assets apps/labrinth/docker-stage/assets
|
||||
|
||||
- name: Set up Docker Buildx
|
||||
uses: docker/setup-buildx-action@bb05f3f5519dd87d3ba754cc423b652a5edd6d2c # v4.2.0
|
||||
|
||||
- name: Generate Docker image metadata
|
||||
id: docker-meta
|
||||
uses: docker/metadata-action@dc802804100637a589fabce1cb79ff13a1411302 # v6.2.0
|
||||
env:
|
||||
# GitHub Packages requires annotations metadata in at least the index descriptor to show them
|
||||
# up properly in its UI it seems, but it's not clear about it, because the docs refer to the
|
||||
# image manifest only. See:
|
||||
# https://docs.github.com/en/packages/working-with-a-github-packages-registry/working-with-the-container-registry#adding-a-description-to-multi-arch-images
|
||||
DOCKER_METADATA_ANNOTATIONS_LEVELS: manifest,index
|
||||
- name: Upload Docker context
|
||||
if: needs.skip-if-clean.outputs.internal == 'true'
|
||||
uses: namespace-actions/upload-artifact@f6ccaacc655aec41b93af180d1d7eef21af862d2 # v1.0.3
|
||||
with:
|
||||
images: ghcr.io/modrinth/labrinth
|
||||
labels: |
|
||||
org.opencontainers.image.title=labrinth
|
||||
org.opencontainers.image.description=Modrinth API
|
||||
org.opencontainers.image.licenses=AGPL-3.0-only
|
||||
annotations: |
|
||||
org.opencontainers.image.title=labrinth
|
||||
org.opencontainers.image.description=Modrinth API
|
||||
org.opencontainers.image.licenses=AGPL-3.0-only
|
||||
name: labrinth-docker-context
|
||||
retention-days: 1
|
||||
path: apps/labrinth/docker-stage
|
||||
|
||||
- name: Login to GitHub Packages
|
||||
uses: docker/login-action@abd2ef45e78c5afb21d64d4ca52ee8550d9572c7 # v4.5.1
|
||||
with:
|
||||
registry: ghcr.io
|
||||
username: ${{ github.actor }}
|
||||
password: ${{ secrets.GITHUB_TOKEN }}
|
||||
docker-build:
|
||||
needs: [skip-if-clean, build]
|
||||
if: ${{ needs.skip-if-clean.outputs.internal == 'true' }}
|
||||
uses: SparkUniverse/workflows/.github/workflows/docker-build.yaml@main
|
||||
with:
|
||||
image-name: labrinth
|
||||
dockerfile-path: apps/labrinth/Dockerfile
|
||||
artifacts-name: labrinth-docker-context
|
||||
|
||||
- name: Build and push
|
||||
uses: docker/build-push-action@53b7df96c91f9c12dcc8a07bcb9ccacbed38856a # v7.3.0
|
||||
with:
|
||||
context: ./apps/labrinth/docker-stage
|
||||
file: ./apps/labrinth/Dockerfile
|
||||
push: true
|
||||
tags: ${{ steps.docker-meta.outputs.tags }}
|
||||
labels: ${{ steps.docker-meta.outputs.labels }}
|
||||
annotations: ${{ steps.docker-meta.outputs.annotations }}
|
||||
deploy:
|
||||
needs: [skip-if-clean, docker-build]
|
||||
if: ${{ needs.skip-if-clean.outputs.internal == 'true' && (github.ref == 'refs/heads/main' || github.ref == 'refs/heads/prod') }}
|
||||
uses: SparkUniverse/workflows/.github/workflows/argo-update.yaml@main
|
||||
secrets:
|
||||
ARGOCD_DEPLOY_KEY: ${{ secrets.ARGOCD_DEPLOY_KEY }}
|
||||
with:
|
||||
application-set: labrinth
|
||||
branch: ${{ github.ref == 'refs/heads/prod' && 'main' || 'develop' }}
|
||||
environment-name: ${{ github.ref == 'refs/heads/prod' && 'production' || 'staging' }}
|
||||
@@ -0,0 +1,20 @@
|
||||
name: Slash Command Dispatch
|
||||
|
||||
on:
|
||||
issue_comment:
|
||||
types: [created]
|
||||
|
||||
permissions: {}
|
||||
|
||||
jobs:
|
||||
dispatch-command:
|
||||
if: ${{ github.event.sender.type == 'User' && contains(fromJSON('["OWNER", "MEMBER"]'), github.event.comment.author_association) }}
|
||||
runs-on: namespace-profile-tiny-arm64
|
||||
steps:
|
||||
- name: Slash Command Dispatch
|
||||
uses: peter-evans/slash-command-dispatch@9bdcd7914ec1b75590b790b844aa3b8eee7c683a # v5.0.2
|
||||
with:
|
||||
token: ${{ secrets.SLASH_CMD_GH_TOKEN }}
|
||||
issue-type: pull-request
|
||||
commands: |
|
||||
deploy
|
||||
@@ -92,7 +92,6 @@ jobs:
|
||||
run: corepack enable
|
||||
|
||||
- name: Set up caches
|
||||
if: contains(matrix.artifact-target-name, 'linux') || contains(matrix.artifact-target-name, 'darwin')
|
||||
uses: namespacelabs/nscloud-cache-action@c5f8dab7560444c4bf8dbc64f1b203431873c547 # v1.6.1
|
||||
with:
|
||||
cache: |
|
||||
@@ -100,7 +99,6 @@ jobs:
|
||||
pnpm
|
||||
|
||||
- name: Configure sccache
|
||||
if: contains(matrix.artifact-target-name, 'linux') || contains(matrix.artifact-target-name, 'darwin')
|
||||
run: nsc cache sccache setup --cache_name default >> "$GITHUB_ENV"
|
||||
|
||||
- name: Generate tauri-dev.conf.json
|
||||
|
||||
@@ -0,0 +1,23 @@
|
||||
merge_queue:
|
||||
mode: parallel
|
||||
scopes:
|
||||
source:
|
||||
files:
|
||||
frontend:
|
||||
include:
|
||||
- apps/frontend/**/*
|
||||
- packages/ui/**/*
|
||||
- packages/utils/**/*
|
||||
- packages/assets/**/*
|
||||
- "**/wrangler.jsonc"
|
||||
- "**/pnpm-*.yaml"
|
||||
backend:
|
||||
include:
|
||||
- apps/labrinth/**
|
||||
- Cargo.toml
|
||||
app:
|
||||
include:
|
||||
- apps/app/**
|
||||
- apps/app-frontend/**
|
||||
- packages/app-lib/**
|
||||
- packages/app-macros/**
|
||||
Generated
+13
-87
@@ -2331,15 +2331,6 @@ version = "0.4.0"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "6245d59a3e82a7fc217c5828a6692dbc6dfb63a0c8c90495621f7b9d79704a0e"
|
||||
|
||||
[[package]]
|
||||
name = "convert_case"
|
||||
version = "0.8.0"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "baaaa0ecca5b51987b9423ccdc971514dd8b0bb7b4060b983d3664dad3f1f89f"
|
||||
dependencies = [
|
||||
"unicode-segmentation",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "convert_case"
|
||||
version = "0.10.0"
|
||||
@@ -5217,15 +5208,6 @@ version = "1.70.1"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "7943c866cc5cd64cbc25b2e01621d07fa8eb2a1a23160ee81ce38704e97b8ecf"
|
||||
|
||||
[[package]]
|
||||
name = "iso8601"
|
||||
version = "0.6.3"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "e1082f0c48f143442a1ac6122f67e360ceee130b967af4d50996e5154a45df46"
|
||||
dependencies = [
|
||||
"nom 8.0.0",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "itertools"
|
||||
version = "0.12.1"
|
||||
@@ -5385,19 +5367,6 @@ dependencies = [
|
||||
"serde_json",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "jsonwebtoken"
|
||||
version = "9.3.1"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "5a87cc7a48537badeae96744432de36f4be2b4a34a05a5ef32e9dd8a1c169dde"
|
||||
dependencies = [
|
||||
"base64 0.22.1",
|
||||
"js-sys",
|
||||
"ring",
|
||||
"serde",
|
||||
"serde_json",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "keyboard-types"
|
||||
version = "0.7.0"
|
||||
@@ -5491,7 +5460,6 @@ dependencies = [
|
||||
"json-patch 4.1.0",
|
||||
"labrinth",
|
||||
"lettre",
|
||||
"meilisearch-sdk",
|
||||
"modrinth-content-management",
|
||||
"modrinth-util",
|
||||
"muralpay",
|
||||
@@ -5515,6 +5483,7 @@ dependencies = [
|
||||
"scalar_api_reference",
|
||||
"sentry",
|
||||
"serde",
|
||||
"serde-binhum",
|
||||
"serde_json",
|
||||
"serde_with",
|
||||
"sha1 0.10.6",
|
||||
@@ -5954,49 +5923,6 @@ version = "0.8.0"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "ae960838283323069879657ca3de837e9f7bbb4c7bf6ea7f1b290d5e9476d2e0"
|
||||
|
||||
[[package]]
|
||||
name = "meilisearch-index-setting-macro"
|
||||
version = "0.30.0"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "e36e5cad3754ed329feb201c24f26c0694442bef50a90dbcff0ba6d12b5ca133"
|
||||
dependencies = [
|
||||
"convert_case 0.8.0",
|
||||
"proc-macro2",
|
||||
"quote",
|
||||
"structmeta",
|
||||
"syn 2.0.106",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "meilisearch-sdk"
|
||||
version = "0.30.0"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "f620c9ed9b790cf292b66c8dab16f0e4aafb377583ec0e589da7c3ee81ff2038"
|
||||
dependencies = [
|
||||
"async-trait",
|
||||
"bytes",
|
||||
"either",
|
||||
"futures-channel",
|
||||
"futures-core",
|
||||
"futures-io",
|
||||
"futures-util",
|
||||
"iso8601",
|
||||
"jsonwebtoken",
|
||||
"log",
|
||||
"meilisearch-index-setting-macro",
|
||||
"pin-project-lite",
|
||||
"reqwest 0.12.24",
|
||||
"serde",
|
||||
"serde_json",
|
||||
"thiserror 2.0.17",
|
||||
"time",
|
||||
"tokio",
|
||||
"uuid 1.23.3",
|
||||
"wasm-bindgen-futures",
|
||||
"web-sys",
|
||||
"yaup",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "memchr"
|
||||
version = "2.7.6"
|
||||
@@ -9379,6 +9305,16 @@ dependencies = [
|
||||
"serde_derive",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "serde-binhum"
|
||||
version = "0.1.0"
|
||||
dependencies = [
|
||||
"darling 0.23.0",
|
||||
"proc-macro2",
|
||||
"quote",
|
||||
"syn 2.0.106",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "serde-untagged"
|
||||
version = "0.1.9"
|
||||
@@ -13443,12 +13379,13 @@ dependencies = [
|
||||
"chrono",
|
||||
"dashmap",
|
||||
"deadpool-redis",
|
||||
"eyre",
|
||||
"futures",
|
||||
"lz4_flex",
|
||||
"postcard",
|
||||
"prometheus",
|
||||
"redis",
|
||||
"serde",
|
||||
"serde_json",
|
||||
"thiserror 2.0.17",
|
||||
"tokio",
|
||||
"tracing",
|
||||
@@ -13487,17 +13424,6 @@ dependencies = [
|
||||
"xml-rs",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "yaup"
|
||||
version = "0.3.1"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "b0144f1a16a199846cb21024da74edd930b43443463292f536b7110b4855b5c6"
|
||||
dependencies = [
|
||||
"form_urlencoded",
|
||||
"serde",
|
||||
"thiserror 1.0.69",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "yoke"
|
||||
version = "0.8.0"
|
||||
|
||||
+2
-1
@@ -15,6 +15,7 @@ members = [
|
||||
"packages/modrinth-util",
|
||||
"packages/neverbounce",
|
||||
"packages/path-util",
|
||||
"packages/serde-binhum",
|
||||
"packages/xredis",
|
||||
]
|
||||
|
||||
@@ -130,7 +131,6 @@ lz4_flex = { version = "0.11.5", default-features = false, features = [
|
||||
"std",
|
||||
] }
|
||||
maxminddb = "0.26.0"
|
||||
meilisearch-sdk = { version = "0.30.0", default-features = false }
|
||||
modrinth-content-management = { path = "packages/modrinth-content-management" }
|
||||
modrinth-log = { path = "packages/modrinth-log" }
|
||||
modrinth-util = { path = "packages/modrinth-util" }
|
||||
@@ -183,6 +183,7 @@ sentry = { version = "0.45.0", default-features = false, features = [
|
||||
"rustls",
|
||||
] }
|
||||
serde = "1.0.228"
|
||||
serde-binhum = { path = "packages/serde-binhum" }
|
||||
serde_bytes = "0.11.19"
|
||||
serde_cbor = "0.11.2"
|
||||
serde_ini = "0.2.0"
|
||||
|
||||
@@ -9,7 +9,7 @@
|
||||
|
||||
## Modrinth Monorepo
|
||||
|
||||
Welcome to the Modrinth Monorepo, the primary codebase for the Modrinth web interface and app. It contains  lines of code and has  contributors!
|
||||
Welcome to the Modrinth Monorepo, the primary codebase for the Modrinth web interface and app. It contains  lines of code and has  contributors!
|
||||
|
||||
If you're not a developer and you've stumbled upon this repository, you can access the web interface on the [Modrinth website](https://modrinth.com) and download the latest release of the app [here](https://modrinth.com/app).
|
||||
|
||||
|
||||
@@ -29,24 +29,25 @@ import {
|
||||
import {
|
||||
Admonition,
|
||||
Avatar,
|
||||
ButtonStyled,
|
||||
ButtonLink,
|
||||
commonMessages,
|
||||
ContentInstallModal,
|
||||
ContentUpdaterModal,
|
||||
CreationFlowModal,
|
||||
defineMessages,
|
||||
I18nDebugPanel,
|
||||
IconButton,
|
||||
IntlFormatted,
|
||||
LoadingBar,
|
||||
NewsArticleCard,
|
||||
NotificationPanel,
|
||||
OverflowMenu,
|
||||
PopupNotificationPanel,
|
||||
provideModalBehavior,
|
||||
provideModrinthClient,
|
||||
provideNotificationManager,
|
||||
providePageContext,
|
||||
providePopupNotificationManager,
|
||||
TeleportOverflowMenu,
|
||||
TextLogo,
|
||||
useDebugLogger,
|
||||
useFormatBytes,
|
||||
@@ -120,6 +121,7 @@ import {
|
||||
} from '@/helpers/utils.js'
|
||||
import { start_join_server, start_join_singleplayer_world } from '@/helpers/worlds.ts'
|
||||
import i18n from '@/i18n.config'
|
||||
import { instanceKeys } from '@/pages/instance/query-options'
|
||||
import {
|
||||
appUpdateState,
|
||||
downloadAvailableAppUpdate,
|
||||
@@ -242,7 +244,7 @@ const { data: authenticatedModrinthUser } = useQuery({
|
||||
retry: false,
|
||||
})
|
||||
useQuery({
|
||||
queryKey: computed(() => ['shared-instance-eligibility', credentials.value?.user?.id]),
|
||||
queryKey: computed(() => instanceKeys.sharedEligibility(credentials.value?.user?.id)),
|
||||
queryFn: can_current_user_use_shared_instances,
|
||||
enabled: () => !!credentials.value?.session && !!credentials.value?.user?.id,
|
||||
retry: false,
|
||||
@@ -1545,8 +1547,10 @@ provideAppUpdateDownloadProgress(appUpdateDownload)
|
||||
<NavButton
|
||||
v-tooltip.right="formatMessage(commonMessages.discoverContentLabel)"
|
||||
to="/browse/modpack"
|
||||
:is-primary="() => route.path.startsWith('/browse') && !route.query.i"
|
||||
:is-subpage="(route) => route.path.startsWith('/project') && !route.query.i"
|
||||
:is-primary="() => route.path.startsWith('/browse') && !route.query.i && !route.query.sid"
|
||||
:is-subpage="
|
||||
(route) => route.path.startsWith('/project') && !route.query.i && !route.query.sid
|
||||
"
|
||||
>
|
||||
<CompassIcon />
|
||||
</NavButton>
|
||||
@@ -1570,7 +1574,11 @@ provideAppUpdateDownloadProgress(appUpdateDownload)
|
||||
v-tooltip.right="formatMessage(messages.modrinthHosting)"
|
||||
to="/hosting/manage"
|
||||
:is-primary="(r) => r.path === '/hosting/manage' || r.path === '/hosting/manage/'"
|
||||
:is-subpage="(r) => r.path.startsWith('/hosting/manage/') && r.path !== '/hosting/manage/'"
|
||||
:is-subpage="
|
||||
(r) =>
|
||||
(r.path.startsWith('/hosting/manage/') && r.path !== '/hosting/manage/') ||
|
||||
((r.path.startsWith('/browse') || r.path.startsWith('/project')) && r.query.sid)
|
||||
"
|
||||
>
|
||||
<ServerStackIcon />
|
||||
</NavButton>
|
||||
@@ -1591,22 +1599,29 @@ provideAppUpdateDownloadProgress(appUpdateDownload)
|
||||
>
|
||||
<SettingsIcon />
|
||||
</NavButton>
|
||||
<OverflowMenu
|
||||
<TeleportOverflowMenu
|
||||
v-if="credentials?.user"
|
||||
v-tooltip.right="formatMessage(messages.modrinthAccount)"
|
||||
class="w-12 h-12 text-primary rounded-full flex items-center justify-center text-2xl transition-all bg-transparent hover:bg-button-bg hover:text-contrast border-0 cursor-pointer"
|
||||
type="quiet"
|
||||
size="xl"
|
||||
label="More options"
|
||||
:options="[
|
||||
{
|
||||
id: 'view-profile',
|
||||
label: formatMessage(messages.signedInAs, {
|
||||
username: credentials.user.username,
|
||||
}),
|
||||
action: () => router.push(`/user/${encodeURIComponent(credentials.user.username)}`),
|
||||
},
|
||||
{
|
||||
id: 'sign-out',
|
||||
label: formatMessage(commonMessages.signOutButton),
|
||||
tone: 'red',
|
||||
action: () => logOut(),
|
||||
color: 'danger',
|
||||
},
|
||||
]"
|
||||
placement="right-end"
|
||||
:distance="4"
|
||||
>
|
||||
<Avatar :src="credentials?.user?.avatar_url" alt="" size="32px" circle />
|
||||
<template #view-profile>
|
||||
@@ -1629,7 +1644,7 @@ provideAppUpdateDownloadProgress(appUpdateDownload)
|
||||
<LogOutIcon />
|
||||
{{ formatMessage(commonMessages.signOutButton) }}
|
||||
</template>
|
||||
</OverflowMenu>
|
||||
</TeleportOverflowMenu>
|
||||
<NavButton
|
||||
v-else
|
||||
v-tooltip.right="formatMessage(messages.signInToModrinthAccount)"
|
||||
@@ -1642,49 +1657,44 @@ provideAppUpdateDownloadProgress(appUpdateDownload)
|
||||
<div data-tauri-drag-region class="flex min-w-0 flex-1 items-center overflow-hidden p-2">
|
||||
<TextLogo class="h-7 w-auto shrink-0 text-contrast pointer-events-none" />
|
||||
<div data-tauri-drag-region class="ml-2 flex shrink-0 items-center gap-2">
|
||||
<ButtonStyled type="outlined" circular>
|
||||
<button
|
||||
class="!h-7 !min-w-7 !w-7 !border !border-surface-4 !p-0 !opacity-100"
|
||||
:disabled="!canNavigateBack"
|
||||
aria-label="Go back"
|
||||
@click="router.back()"
|
||||
>
|
||||
<ChevronLeftIcon
|
||||
class="!size-4 !text-primary"
|
||||
:class="{ 'opacity-20': !canNavigateBack }"
|
||||
/>
|
||||
</button>
|
||||
</ButtonStyled>
|
||||
<ButtonStyled type="outlined" circular>
|
||||
<button
|
||||
class="!h-7 !min-w-7 !w-7 !border !border-surface-4 !p-0 !opacity-100"
|
||||
:disabled="!canNavigateForward"
|
||||
aria-label="Go forward"
|
||||
@click="router.forward()"
|
||||
>
|
||||
<ChevronRightIcon
|
||||
class="!size-4 !text-primary"
|
||||
:class="{ 'opacity-20': !canNavigateForward }"
|
||||
/>
|
||||
</button>
|
||||
</ButtonStyled>
|
||||
<IconButton
|
||||
type="outlined"
|
||||
label="Go back"
|
||||
class="!h-7 !min-w-7 !w-7 !border !border-surface-4 !p-0 !opacity-100"
|
||||
:disabled="!canNavigateBack"
|
||||
@click="router.back()"
|
||||
>
|
||||
<ChevronLeftIcon
|
||||
class="!size-4 !text-primary"
|
||||
:class="{ 'opacity-20': !canNavigateBack }"
|
||||
/>
|
||||
</IconButton>
|
||||
<IconButton
|
||||
type="outlined"
|
||||
label="Go forward"
|
||||
class="!h-7 !min-w-7 !w-7 !border !border-surface-4 !p-0 !opacity-100"
|
||||
:disabled="!canNavigateForward"
|
||||
@click="router.forward()"
|
||||
>
|
||||
<ChevronRightIcon
|
||||
class="!size-4 !text-primary"
|
||||
:class="{ 'opacity-20': !canNavigateForward }"
|
||||
/>
|
||||
</IconButton>
|
||||
</div>
|
||||
<Breadcrumbs />
|
||||
</div>
|
||||
<section data-tauri-drag-region class="flex shrink-0 ml-auto items-center">
|
||||
<ButtonStyled
|
||||
<IconButton
|
||||
v-if="!forceSidebar && themeStore.toggleSidebar"
|
||||
:type="sidebarToggled ? 'standard' : 'transparent'"
|
||||
circular
|
||||
:type="sidebarToggled ? 'base' : 'quiet'"
|
||||
label="Next image"
|
||||
class="mr-3 transition-transform"
|
||||
:class="{ 'rotate-180': !sidebarToggled }"
|
||||
@click="sidebarToggled = !sidebarToggled"
|
||||
>
|
||||
<button
|
||||
class="mr-3 transition-transform"
|
||||
:class="{ 'rotate-180': !sidebarToggled }"
|
||||
@click="sidebarToggled = !sidebarToggled"
|
||||
>
|
||||
<RightArrowIcon />
|
||||
</button>
|
||||
</ButtonStyled>
|
||||
<RightArrowIcon />
|
||||
</IconButton>
|
||||
<div class="flex mr-3">
|
||||
<Suspense>
|
||||
<AppActionBar />
|
||||
@@ -1793,12 +1803,17 @@ provideAppUpdateDownloadProgress(appUpdateDownload)
|
||||
:key="`news-${index}`"
|
||||
:article="item"
|
||||
/>
|
||||
<ButtonStyled color="brand" size="large">
|
||||
<a href="https://modrinth.com/news" target="_blank" class="my-4">
|
||||
<NewspaperIcon />
|
||||
{{ formatMessage(messages.viewAllNews) }}
|
||||
</a>
|
||||
</ButtonStyled>
|
||||
<ButtonLink
|
||||
type="colored"
|
||||
color="brand"
|
||||
size="xl"
|
||||
href="https://modrinth.com/news"
|
||||
target="_blank"
|
||||
class="my-4"
|
||||
>
|
||||
<NewspaperIcon />
|
||||
{{ formatMessage(messages.viewAllNews) }}
|
||||
</ButtonLink>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
@@ -4,13 +4,11 @@
|
||||
class="flex flex-col gap-3 bg-button-bg border border-solid border-surface-5 rounded-xl p-3 mt-2"
|
||||
>
|
||||
<span>{{ formatMessage(messages.notSignedIn) }}</span>
|
||||
<ButtonStyled color="brand">
|
||||
<button color="primary" :disabled="loginDisabled" @click="login()">
|
||||
<LogInIcon v-if="!loginDisabled" />
|
||||
<SpinnerIcon v-else class="animate-spin" />
|
||||
{{ formatMessage(messages.signInToMinecraft) }}
|
||||
</button>
|
||||
</ButtonStyled>
|
||||
<Button type="colored" color="brand" :disabled="loginDisabled" @click="login()">
|
||||
<LogInIcon v-if="!loginDisabled" />
|
||||
<SpinnerIcon v-else class="animate-spin" />
|
||||
{{ formatMessage(messages.signInToMinecraft) }}
|
||||
</Button>
|
||||
</div>
|
||||
<Accordion
|
||||
v-else
|
||||
@@ -60,24 +58,28 @@
|
||||
{{ account.profile.name }}
|
||||
</p>
|
||||
</button>
|
||||
<ButtonStyled circular color="red" color-fill="none" hover-color-fill="background">
|
||||
<button
|
||||
v-tooltip="formatMessage(messages.removeAccount)"
|
||||
class="mr-2"
|
||||
@click="logout(account.profile.id)"
|
||||
>
|
||||
<TrashIcon />
|
||||
</button>
|
||||
</ButtonStyled>
|
||||
<IconButton
|
||||
v-tooltip="formatMessage(messages.removeAccount)"
|
||||
type="quiet"
|
||||
color="red"
|
||||
:label="formatMessage(messages.removeAccount)"
|
||||
class="mr-2 !bg-button-bg !text-primary ![box-shadow:var(--shadow-button)] hover:!bg-red focus-visible:!bg-red hover:!text-[var(--color-accent-contrast)] focus-visible:!text-[var(--color-accent-contrast)]"
|
||||
@click="logout(account.profile.id)"
|
||||
>
|
||||
<TrashIcon />
|
||||
</IconButton>
|
||||
</div>
|
||||
</template>
|
||||
<div class="flex flex-col gap-2 px-2 pt-2">
|
||||
<ButtonStyled v-if="accounts.length > 0" class="w-full">
|
||||
<button :disabled="loginDisabled" @click="login()">
|
||||
<PlusIcon />
|
||||
{{ formatMessage(messages.addAccount) }}
|
||||
</button>
|
||||
</ButtonStyled>
|
||||
<Button
|
||||
v-if="accounts.length > 0"
|
||||
class="w-full !bg-button-bg !text-primary ![box-shadow:var(--shadow-button)]"
|
||||
:disabled="loginDisabled"
|
||||
@click="login()"
|
||||
>
|
||||
<PlusIcon />
|
||||
{{ formatMessage(messages.addAccount) }}
|
||||
</Button>
|
||||
</div>
|
||||
</div>
|
||||
</Accordion>
|
||||
@@ -95,8 +97,9 @@ import {
|
||||
import {
|
||||
Accordion,
|
||||
Avatar,
|
||||
ButtonStyled,
|
||||
Button,
|
||||
defineMessages,
|
||||
IconButton,
|
||||
injectNotificationManager,
|
||||
useVIntl,
|
||||
} from '@modrinth/ui'
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
<script setup lang="ts">
|
||||
import { DropdownIcon, FolderOpenIcon, PlusIcon } from '@modrinth/assets'
|
||||
import { ButtonStyled, injectNotificationManager, OverflowMenu } from '@modrinth/ui'
|
||||
import { Button, injectNotificationManager, TeleportOverflowMenu } from '@modrinth/ui'
|
||||
import { open } from '@tauri-apps/plugin-dialog'
|
||||
import { useRouter } from 'vue-router'
|
||||
|
||||
@@ -36,27 +36,26 @@ const handleSearchContent = async () => {
|
||||
|
||||
<template>
|
||||
<div class="joined-buttons">
|
||||
<ButtonStyled>
|
||||
<button @click="handleSearchContent">
|
||||
<PlusIcon />
|
||||
Install content
|
||||
</button>
|
||||
</ButtonStyled>
|
||||
<ButtonStyled>
|
||||
<OverflowMenu
|
||||
:options="[
|
||||
{
|
||||
id: 'from_file',
|
||||
action: handleAddContentFromFile,
|
||||
},
|
||||
]"
|
||||
>
|
||||
<DropdownIcon />
|
||||
<template #from_file>
|
||||
<FolderOpenIcon />
|
||||
<span class="no-wrap"> Add from file </span>
|
||||
</template>
|
||||
</OverflowMenu>
|
||||
</ButtonStyled>
|
||||
<Button @click="handleSearchContent">
|
||||
<PlusIcon />
|
||||
Install content
|
||||
</Button>
|
||||
<TeleportOverflowMenu
|
||||
label="More options"
|
||||
:options="[
|
||||
{
|
||||
id: 'from_file',
|
||||
label: 'Add from file',
|
||||
action: handleAddContentFromFile,
|
||||
},
|
||||
]"
|
||||
class="!w-auto !px-2.5 !rounded-xl"
|
||||
>
|
||||
<DropdownIcon />
|
||||
<template #from_file>
|
||||
<FolderOpenIcon />
|
||||
<span class="no-wrap"> Add from file </span>
|
||||
</template>
|
||||
</TeleportOverflowMenu>
|
||||
</div>
|
||||
</template>
|
||||
|
||||
@@ -1,15 +1,15 @@
|
||||
<template>
|
||||
<div class="flex gap-2 items-center">
|
||||
<ButtonStyled
|
||||
<IconButton
|
||||
v-if="hasActiveLoadingBars && !hasVisibleActiveDownloadToasts"
|
||||
v-tooltip="formatMessage(messages.viewActiveDownloads)"
|
||||
type="quiet"
|
||||
color="brand"
|
||||
type="transparent"
|
||||
circular
|
||||
:label="formatMessage(messages.viewActiveDownloads)"
|
||||
@click="openDownloadToast()"
|
||||
>
|
||||
<button v-tooltip="formatMessage(messages.viewActiveDownloads)" @click="openDownloadToast()">
|
||||
<DownloadIcon />
|
||||
</button>
|
||||
</ButtonStyled>
|
||||
<DownloadIcon />
|
||||
</IconButton>
|
||||
<div v-if="offline" class="flex items-center gap-1">
|
||||
<UnplugIcon class="text-secondary" />
|
||||
<span class="text-sm text-contrast"> {{ formatMessage(messages.offline) }} </span>
|
||||
@@ -36,17 +36,23 @@
|
||||
@show="showInstances = true"
|
||||
@hide="showInstances = false"
|
||||
>
|
||||
<ButtonStyled type="transparent" circular size="small">
|
||||
<button
|
||||
v-tooltip="
|
||||
showInstances
|
||||
? formatMessage(messages.hideMoreRunningInstances)
|
||||
: formatMessage(messages.showMoreRunningInstances)
|
||||
"
|
||||
>
|
||||
<DropdownIcon :class="{ 'rotate-180': !!showInstances }" />
|
||||
</button>
|
||||
</ButtonStyled>
|
||||
<IconButton
|
||||
v-tooltip="
|
||||
showInstances
|
||||
? formatMessage(messages.hideMoreRunningInstances)
|
||||
: formatMessage(messages.showMoreRunningInstances)
|
||||
"
|
||||
class="!size-6"
|
||||
type="quiet"
|
||||
size="xs"
|
||||
:label="
|
||||
showInstances
|
||||
? formatMessage(messages.hideMoreRunningInstances)
|
||||
: formatMessage(messages.showMoreRunningInstances)
|
||||
"
|
||||
>
|
||||
<DropdownIcon :class="{ 'rotate-180': !!showInstances }" />
|
||||
</IconButton>
|
||||
<template #popper>
|
||||
<div class="flex w-[20rem] max-h-[24rem] flex-col gap-2 overflow-auto">
|
||||
<div
|
||||
@@ -125,8 +131,8 @@ import {
|
||||
TerminalSquareIcon,
|
||||
UnplugIcon,
|
||||
} from '@modrinth/assets'
|
||||
import { IconButton } from '@modrinth/ui'
|
||||
import {
|
||||
ButtonStyled,
|
||||
defineMessages,
|
||||
injectNotificationManager,
|
||||
injectPopupNotificationManager,
|
||||
@@ -345,7 +351,7 @@ function buildDownloadItems(): PopupNotificationProgressItem[] {
|
||||
iconUrl: currentLoadingBarIconUrls.value[getLoadingBarKey(bar)] ?? null,
|
||||
progress: getLoadingProgress(bar),
|
||||
waiting: !bar.total || bar.total <= 0,
|
||||
progressType: 'percentage',
|
||||
progressType: bar.bar_type?.type === 'pack_import' ? 'bytes' : 'percentage',
|
||||
progressCurrent: bar.current,
|
||||
progressTotal: bar.total,
|
||||
})),
|
||||
|
||||
@@ -9,7 +9,13 @@ import {
|
||||
WrenchIcon,
|
||||
XIcon,
|
||||
} from '@modrinth/assets'
|
||||
import { ButtonStyled, Collapsible, injectNotificationManager } from '@modrinth/ui'
|
||||
import {
|
||||
Button,
|
||||
ButtonLink,
|
||||
Collapsible,
|
||||
IconButton,
|
||||
injectNotificationManager,
|
||||
} from '@modrinth/ui'
|
||||
import { computed, ref } from 'vue'
|
||||
|
||||
import { ChatIcon } from '@/assets/icons'
|
||||
@@ -273,12 +279,10 @@ async function copyToClipboard(text) {
|
||||
</template>
|
||||
</div>
|
||||
<div class="flex items-center gap-2">
|
||||
<ButtonStyled>
|
||||
<a :href="supportLink" @click="errorModal.hide()"><ChatIcon /> Get support</a>
|
||||
</ButtonStyled>
|
||||
<ButtonStyled v-if="closable">
|
||||
<button @click="errorModal.hide()"><XIcon /> Close</button>
|
||||
</ButtonStyled>
|
||||
<ButtonLink :href="supportLink" @click="errorModal.hide()"
|
||||
><ChatIcon /> Get support</ButtonLink
|
||||
>
|
||||
<Button v-if="closable" @click="errorModal.hide()"><XIcon /> Close</Button>
|
||||
</div>
|
||||
<template v-if="hasDebugInfo">
|
||||
<div class="flex flex-col gap-2">
|
||||
@@ -307,16 +311,15 @@ async function copyToClipboard(text) {
|
||||
>
|
||||
{{ debugInfo }}
|
||||
</div>
|
||||
<ButtonStyled circular>
|
||||
<button
|
||||
v-tooltip="'Copy debug info'"
|
||||
:disabled="copied"
|
||||
@click="copyToClipboard(debugInfo)"
|
||||
>
|
||||
<template v-if="copied"> <CheckIcon class="text-green" /> </template>
|
||||
<template v-else> <CopyIcon /> </template>
|
||||
</button>
|
||||
</ButtonStyled>
|
||||
<IconButton
|
||||
v-tooltip="'Copy debug info'"
|
||||
:label="'Copy debug info'"
|
||||
:disabled="copied"
|
||||
@click="copyToClipboard(debugInfo)"
|
||||
>
|
||||
<template v-if="copied"> <CheckIcon class="text-green" /> </template>
|
||||
<template v-else> <CopyIcon /> </template>
|
||||
</IconButton>
|
||||
</div>
|
||||
</Collapsible>
|
||||
</div>
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
<script setup>
|
||||
import { XIcon } from '@modrinth/assets'
|
||||
import {
|
||||
ButtonStyled,
|
||||
Button,
|
||||
commonMessages,
|
||||
defineMessages,
|
||||
FileTreeSelect,
|
||||
@@ -11,15 +11,10 @@ import {
|
||||
useVIntl,
|
||||
} from '@modrinth/ui'
|
||||
import { save } from '@tauri-apps/plugin-dialog'
|
||||
import { readDir, stat } from '@tauri-apps/plugin-fs'
|
||||
import { ref } from 'vue'
|
||||
import { ref, shallowRef } from 'vue'
|
||||
|
||||
import { PackageIcon } from '@/assets/icons'
|
||||
import {
|
||||
export_instance_mrpack,
|
||||
get_full_path,
|
||||
get_pack_export_candidates,
|
||||
} from '@/helpers/instance'
|
||||
import { export_instance_mrpack, get_pack_export_candidates } from '@/helpers/instance'
|
||||
|
||||
const { handleError } = injectNotificationManager()
|
||||
const { formatMessage } = useVIntl()
|
||||
@@ -65,30 +60,24 @@ const exportModal = ref(null)
|
||||
const nameInput = ref(props.instance.name)
|
||||
const exportDescription = ref('')
|
||||
const versionInput = ref('1.0.0')
|
||||
const files = ref([])
|
||||
const selectedFilePaths = ref([])
|
||||
const files = shallowRef([])
|
||||
const includedFilePaths = ref([])
|
||||
const excludedFilePaths = ref([])
|
||||
const fileTreeKey = ref(0)
|
||||
const filesLoadId = ref(0)
|
||||
const instanceRoot = ref('')
|
||||
const loadedDirectories = ref(new Set())
|
||||
const directoryEntries = new Map()
|
||||
const currentDirectory = ref('')
|
||||
|
||||
async function initFiles() {
|
||||
const loadId = ++filesLoadId.value
|
||||
const [filePaths, root] = await Promise.all([
|
||||
get_pack_export_candidates(props.instance.id),
|
||||
get_full_path(props.instance.id),
|
||||
])
|
||||
if (loadId !== filesLoadId.value) return
|
||||
|
||||
instanceRoot.value = root
|
||||
const exportCandidates = await Promise.all(
|
||||
filePaths.map((path) => buildExportCandidateItem(root, path)),
|
||||
)
|
||||
const exportCandidates = await get_pack_export_candidates(props.instance.id)
|
||||
if (loadId !== filesLoadId.value) return
|
||||
|
||||
files.value = exportCandidates
|
||||
selectedFilePaths.value = files.value
|
||||
.filter((file) => !file.disabled && isDefaultSelectedExportCandidate(file.path))
|
||||
directoryEntries.set('', exportCandidates)
|
||||
currentDirectory.value = ''
|
||||
includedFilePaths.value = files.value
|
||||
.filter((file) => !file.disabled && file.defaultSelected)
|
||||
.map((file) => file.path)
|
||||
}
|
||||
|
||||
@@ -107,7 +96,8 @@ const exportPack = async () => {
|
||||
export_instance_mrpack(
|
||||
props.instance.id,
|
||||
outputPath,
|
||||
selectedFilePaths.value,
|
||||
includedFilePaths.value,
|
||||
excludedFilePaths.value,
|
||||
versionInput.value,
|
||||
exportDescription.value,
|
||||
nameInput.value,
|
||||
@@ -121,115 +111,45 @@ function resetExportState() {
|
||||
exportDescription.value = ''
|
||||
versionInput.value = '1.0.0'
|
||||
files.value = []
|
||||
selectedFilePaths.value = []
|
||||
includedFilePaths.value = []
|
||||
excludedFilePaths.value = []
|
||||
fileTreeKey.value += 1
|
||||
instanceRoot.value = ''
|
||||
loadedDirectories.value = new Set()
|
||||
directoryEntries.clear()
|
||||
currentDirectory.value = ''
|
||||
}
|
||||
|
||||
async function loadExportDirectory(path) {
|
||||
if (!path || !instanceRoot.value || loadedDirectories.value.has(path)) return
|
||||
const normalizedPath = normalizeExportPath(path)
|
||||
currentDirectory.value = normalizedPath
|
||||
|
||||
const cachedEntries = directoryEntries.get(normalizedPath)
|
||||
if (cachedEntries) {
|
||||
files.value = cachedEntries
|
||||
return
|
||||
}
|
||||
|
||||
const loadId = filesLoadId.value
|
||||
loadedDirectories.value.add(path)
|
||||
files.value = []
|
||||
|
||||
try {
|
||||
const entries = await readDir(`${instanceRoot.value}/${path}`)
|
||||
const childItems = await Promise.all(
|
||||
entries.map((entry) => buildExportDirectoryChildItem(instanceRoot.value, path, entry)),
|
||||
const childItems = await get_pack_export_candidates(
|
||||
props.instance.id,
|
||||
normalizedPath || undefined,
|
||||
)
|
||||
if (loadId !== filesLoadId.value) return
|
||||
|
||||
appendExportItems(childItems)
|
||||
} catch {
|
||||
loadedDirectories.value.delete(path)
|
||||
}
|
||||
}
|
||||
|
||||
async function buildExportCandidateItem(instanceRoot, path) {
|
||||
try {
|
||||
const entries = await readDir(`${instanceRoot}/${path}`)
|
||||
const metadata = await getExportCandidateMetadata(instanceRoot, path)
|
||||
return {
|
||||
path,
|
||||
type: 'directory',
|
||||
disabled: isExportCandidateDisabled(path),
|
||||
modified: metadata.modified,
|
||||
count: entries.length,
|
||||
directoryEntries.set(normalizedPath, childItems)
|
||||
if (currentDirectory.value === normalizedPath) {
|
||||
files.value = childItems
|
||||
}
|
||||
} catch {
|
||||
return buildExportFileItem(instanceRoot, path)
|
||||
}
|
||||
}
|
||||
|
||||
async function buildExportDirectoryChildItem(instanceRoot, parentPath, entry) {
|
||||
const path = `${parentPath}/${entry.name}`
|
||||
if (entry.isDirectory) {
|
||||
const metadata = await getExportCandidateMetadata(instanceRoot, path)
|
||||
return {
|
||||
path,
|
||||
type: 'directory',
|
||||
disabled: isExportCandidateDisabled(path),
|
||||
modified: metadata.modified,
|
||||
}
|
||||
}
|
||||
|
||||
return buildExportFileItem(instanceRoot, path)
|
||||
}
|
||||
|
||||
async function buildExportFileItem(instanceRoot, path) {
|
||||
const metadata = await getExportCandidateMetadata(instanceRoot, path)
|
||||
return {
|
||||
path,
|
||||
type: 'file',
|
||||
disabled: isExportCandidateDisabled(path),
|
||||
size: metadata.size,
|
||||
modified: metadata.modified,
|
||||
}
|
||||
}
|
||||
|
||||
function appendExportItems(items) {
|
||||
const nextFiles = new Map(files.value.map((file) => [normalizeExportPath(file.path), file]))
|
||||
for (const item of items) {
|
||||
nextFiles.set(normalizeExportPath(item.path), item)
|
||||
}
|
||||
files.value = [...nextFiles.values()]
|
||||
}
|
||||
|
||||
async function getExportCandidateMetadata(instanceRoot, path) {
|
||||
try {
|
||||
const metadata = await stat(`${instanceRoot}/${path}`)
|
||||
return {
|
||||
size: metadata.size,
|
||||
modified: metadata.mtime ? Math.floor(metadata.mtime.getTime() / 1000) : undefined,
|
||||
}
|
||||
} catch {
|
||||
return {}
|
||||
if (currentDirectory.value === normalizedPath) files.value = []
|
||||
}
|
||||
}
|
||||
|
||||
function normalizeExportPath(path) {
|
||||
return path.replaceAll('\\', '/').split('/').filter(Boolean).join('/')
|
||||
}
|
||||
|
||||
function isDefaultSelectedExportCandidate(path) {
|
||||
return (
|
||||
path.startsWith('mods') ||
|
||||
path.startsWith('datapacks') ||
|
||||
path.startsWith('resourcepacks') ||
|
||||
path.startsWith('shaderpacks') ||
|
||||
path.startsWith('config')
|
||||
)
|
||||
}
|
||||
|
||||
function isExportCandidateDisabled(path) {
|
||||
return (
|
||||
path === 'profile.json' ||
|
||||
path.startsWith('modrinth_logs') ||
|
||||
path.startsWith('.fabric') ||
|
||||
path.startsWith('__MACOSX')
|
||||
)
|
||||
}
|
||||
</script>
|
||||
|
||||
<template>
|
||||
@@ -278,26 +198,24 @@ function isExportCandidateDisabled(path) {
|
||||
</div>
|
||||
<FileTreeSelect
|
||||
:key="fileTreeKey"
|
||||
v-model="selectedFilePaths"
|
||||
v-model="includedFilePaths"
|
||||
v-model:excluded-paths="excludedFilePaths"
|
||||
class="min-w-0"
|
||||
:items="files"
|
||||
lazy
|
||||
@navigate="loadExportDirectory"
|
||||
/>
|
||||
</div>
|
||||
<template #actions>
|
||||
<div class="flex items-center justify-end gap-2">
|
||||
<ButtonStyled type="outlined">
|
||||
<button @click="exportModal.hide">
|
||||
<XIcon />
|
||||
{{ formatMessage(commonMessages.cancelButton) }}
|
||||
</button>
|
||||
</ButtonStyled>
|
||||
<ButtonStyled color="brand">
|
||||
<button @click="exportPack">
|
||||
<PackageIcon />
|
||||
{{ formatMessage(messages.exportButton) }}
|
||||
</button>
|
||||
</ButtonStyled>
|
||||
<Button type="outlined" @click="exportModal.hide">
|
||||
<XIcon />
|
||||
{{ formatMessage(commonMessages.cancelButton) }}
|
||||
</Button>
|
||||
<Button type="colored" color="brand" @click="exportPack">
|
||||
<PackageIcon />
|
||||
{{ formatMessage(messages.exportButton) }}
|
||||
</Button>
|
||||
</div>
|
||||
</template>
|
||||
</NewModal>
|
||||
|
||||
@@ -7,7 +7,7 @@ import {
|
||||
StopCircleIcon,
|
||||
TimerIcon,
|
||||
} from '@modrinth/assets'
|
||||
import { Avatar, ButtonStyled, injectNotificationManager, useRelativeTime } from '@modrinth/ui'
|
||||
import { Avatar, IconButton, injectNotificationManager, useRelativeTime } from '@modrinth/ui'
|
||||
import { convertFileSrc } from '@tauri-apps/api/core'
|
||||
import dayjs from 'dayjs'
|
||||
import { computed, onMounted, onUnmounted, ref } from 'vue'
|
||||
@@ -168,30 +168,37 @@ onUnmounted(() => unlisten())
|
||||
<span class="line-clamp-2">{{ instance.name }}</span>
|
||||
</div>
|
||||
<div class="flex items-center">
|
||||
<ButtonStyled v-if="playing" color="red" circular @mousehover="checkProcess">
|
||||
<button v-tooltip="'Stop'" @click="(e) => stop(e, 'InstanceCard')">
|
||||
<StopCircleIcon />
|
||||
</button>
|
||||
</ButtonStyled>
|
||||
<ButtonStyled v-else-if="modLoading" color="standard" circular>
|
||||
<button v-tooltip="'Instance is loading...'" disabled>
|
||||
<SpinnerIcon class="animate-spin" />
|
||||
</button>
|
||||
</ButtonStyled>
|
||||
<ButtonStyled
|
||||
v-else-if="!instance.quarantined"
|
||||
:color="first ? 'brand' : 'standard'"
|
||||
circular
|
||||
<IconButton
|
||||
v-if="playing"
|
||||
v-tooltip="'Stop'"
|
||||
type="colored"
|
||||
color="red"
|
||||
:label="'Stop'"
|
||||
@mouseenter="checkProcess"
|
||||
@click="(e) => stop(e, 'InstanceCard')"
|
||||
>
|
||||
<button
|
||||
v-tooltip="'Play'"
|
||||
@click="(e) => play(e, 'InstanceCard')"
|
||||
@mousehover="checkProcess"
|
||||
>
|
||||
<!-- Translate for optical centering -->
|
||||
<PlayIcon class="translate-x-[1px]" />
|
||||
</button>
|
||||
</ButtonStyled>
|
||||
<StopCircleIcon />
|
||||
</IconButton>
|
||||
<IconButton
|
||||
v-else-if="modLoading"
|
||||
v-tooltip="'Instance is loading...'"
|
||||
:label="'Instance is loading...'"
|
||||
disabled
|
||||
>
|
||||
<SpinnerIcon class="animate-spin" />
|
||||
</IconButton>
|
||||
<IconButton
|
||||
v-else-if="!instance.quarantined"
|
||||
v-tooltip="'Play'"
|
||||
:type="first ? 'colored' : 'base'"
|
||||
:color="first ? 'brand' : undefined"
|
||||
label="Play"
|
||||
@click="(e) => play(e, 'InstanceCard')"
|
||||
@mouseenter="checkProcess"
|
||||
>
|
||||
<!-- Translate for optical centering -->
|
||||
<PlayIcon class="translate-x-[1px]" />
|
||||
</IconButton>
|
||||
</div>
|
||||
<div class="flex items-center col-span-3 gap-1 text-secondary font-semibold">
|
||||
<TimerIcon />
|
||||
@@ -219,47 +226,51 @@ onUnmounted(() => unlisten())
|
||||
:class="`transition-all ${modLoading || installing ? `brightness-[0.25] scale-[0.85]` : `group-hover:brightness-75`}`"
|
||||
/>
|
||||
<div class="absolute inset-0 flex items-center justify-center">
|
||||
<ButtonStyled v-if="playing" size="large" color="red" circular>
|
||||
<button
|
||||
v-tooltip="'Stop'"
|
||||
:class="{ 'scale-100 opacity-100': playing }"
|
||||
class="transition-all scale-75 origin-bottom opacity-0 card-shadow"
|
||||
@click="(e) => stop(e, 'InstanceCard')"
|
||||
@mousehover="checkProcess"
|
||||
>
|
||||
<StopCircleIcon />
|
||||
</button>
|
||||
</ButtonStyled>
|
||||
<IconButton
|
||||
v-if="playing"
|
||||
v-tooltip="'Stop'"
|
||||
type="colored"
|
||||
color="red"
|
||||
size="xl"
|
||||
:label="'Stop'"
|
||||
:class="{ 'scale-100 opacity-100': playing }"
|
||||
class="transition-all scale-75 origin-bottom opacity-0 card-shadow"
|
||||
@click="(e) => stop(e, 'InstanceCard')"
|
||||
@mouseenter="checkProcess"
|
||||
>
|
||||
<StopCircleIcon />
|
||||
</IconButton>
|
||||
<SpinnerIcon
|
||||
v-else-if="modLoading || installing"
|
||||
v-tooltip="modLoading ? 'Instance is loading...' : 'Installing...'"
|
||||
class="animate-spin w-8 h-8"
|
||||
tabindex="-1"
|
||||
/>
|
||||
<ButtonStyled
|
||||
<IconButton
|
||||
v-else-if="!installed && !instance.quarantined"
|
||||
size="large"
|
||||
v-tooltip="'Repair'"
|
||||
type="colored"
|
||||
color="brand"
|
||||
circular
|
||||
size="xl"
|
||||
:label="'Repair'"
|
||||
class="transition-all scale-75 group-hover:scale-100 group-focus-within:scale-100 origin-bottom opacity-0 group-hover:opacity-100 group-focus-within:opacity-100 card-shadow"
|
||||
@click="(e) => repair(e)"
|
||||
>
|
||||
<button
|
||||
v-tooltip="'Repair'"
|
||||
class="transition-all scale-75 group-hover:scale-100 group-focus-within:scale-100 origin-bottom opacity-0 group-hover:opacity-100 group-focus-within:opacity-100 card-shadow"
|
||||
@click="(e) => repair(e)"
|
||||
>
|
||||
<DownloadIcon />
|
||||
</button>
|
||||
</ButtonStyled>
|
||||
<ButtonStyled v-else-if="!instance.quarantined" size="large" color="brand" circular>
|
||||
<button
|
||||
v-tooltip="'Play'"
|
||||
class="transition-all scale-75 group-hover:scale-100 group-focus-within:scale-100 origin-bottom opacity-0 group-hover:opacity-100 group-focus-within:opacity-100 card-shadow"
|
||||
@click="(e) => play(e, 'InstanceCard')"
|
||||
@mousehover="checkProcess"
|
||||
>
|
||||
<PlayIcon class="translate-x-[2px]" />
|
||||
</button>
|
||||
</ButtonStyled>
|
||||
<DownloadIcon />
|
||||
</IconButton>
|
||||
<IconButton
|
||||
v-else-if="!instance.quarantined"
|
||||
v-tooltip="'Play'"
|
||||
type="colored"
|
||||
color="brand"
|
||||
size="xl"
|
||||
:label="'Play'"
|
||||
class="transition-all scale-75 group-hover:scale-100 group-focus-within:scale-100 origin-bottom opacity-0 group-hover:opacity-100 group-focus-within:opacity-100 card-shadow"
|
||||
@click="(e) => play(e, 'InstanceCard')"
|
||||
@mouseenter="checkProcess"
|
||||
>
|
||||
<PlayIcon class="translate-x-[2px]" />
|
||||
</IconButton>
|
||||
</div>
|
||||
</div>
|
||||
<div class="flex flex-col gap-1">
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
<script setup lang="ts">
|
||||
import { GameIcon, LeftArrowIcon } from '@modrinth/assets'
|
||||
import { Avatar, ButtonStyled, FormattedTag } from '@modrinth/ui'
|
||||
import { Avatar, ButtonLink, FormattedTag } from '@modrinth/ui'
|
||||
import { convertFileSrc } from '@tauri-apps/api/core'
|
||||
import { computed } from 'vue'
|
||||
|
||||
@@ -48,9 +48,7 @@ const instanceLink = computed(() => {
|
||||
</span>
|
||||
</span>
|
||||
</router-link>
|
||||
<ButtonStyled>
|
||||
<router-link :to="instanceLink"> <LeftArrowIcon /> Back to instance </router-link>
|
||||
</ButtonStyled>
|
||||
<ButtonLink :to="instanceLink"> <LeftArrowIcon /> Back to instance </ButtonLink>
|
||||
</div>
|
||||
</template>
|
||||
|
||||
|
||||
@@ -14,18 +14,14 @@
|
||||
</template>
|
||||
<template #cell-actions="{ row }">
|
||||
<div class="flex items-center justify-end">
|
||||
<ButtonStyled v-if="currentSelected.path === row.path">
|
||||
<button class="!shadow-none" disabled>
|
||||
<CheckIcon aria-hidden="true" />
|
||||
{{ formatMessage(messages.selected) }}
|
||||
</button>
|
||||
</ButtonStyled>
|
||||
<ButtonStyled v-else>
|
||||
<button class="!shadow-none" @click="setJavaInstall(row)">
|
||||
<PlusIcon aria-hidden="true" />
|
||||
{{ formatMessage(messages.select) }}
|
||||
</button>
|
||||
</ButtonStyled>
|
||||
<Button v-if="currentSelected.path === row.path" disabled>
|
||||
<CheckIcon aria-hidden="true" />
|
||||
{{ formatMessage(messages.selected) }}
|
||||
</Button>
|
||||
<Button v-else @click="setJavaInstall(row)">
|
||||
<PlusIcon aria-hidden="true" />
|
||||
{{ formatMessage(messages.select) }}
|
||||
</Button>
|
||||
</div>
|
||||
</template>
|
||||
<template #empty-state>
|
||||
@@ -35,28 +31,21 @@
|
||||
</template>
|
||||
</Table>
|
||||
<div class="flex justify-end">
|
||||
<ButtonStyled type="outlined">
|
||||
<button
|
||||
class="!shadow-none !border-surface-4 !border"
|
||||
@click="$refs.detectJavaModal.hide()"
|
||||
>
|
||||
<XIcon aria-hidden="true" />
|
||||
{{ formatMessage(messages.cancel) }}
|
||||
</button>
|
||||
</ButtonStyled>
|
||||
<Button
|
||||
type="outlined"
|
||||
class="!border-surface-4 !border"
|
||||
@click="$refs.detectJavaModal.hide()"
|
||||
>
|
||||
<XIcon aria-hidden="true" />
|
||||
{{ formatMessage(messages.cancel) }}
|
||||
</Button>
|
||||
</div>
|
||||
</div>
|
||||
</ModalWrapper>
|
||||
</template>
|
||||
<script setup>
|
||||
import { CheckIcon, PlusIcon, XIcon } from '@modrinth/assets'
|
||||
import {
|
||||
ButtonStyled,
|
||||
defineMessages,
|
||||
injectNotificationManager,
|
||||
Table,
|
||||
useVIntl,
|
||||
} from '@modrinth/ui'
|
||||
import { Button, defineMessages, injectNotificationManager, Table, useVIntl } from '@modrinth/ui'
|
||||
import { computed, ref } from 'vue'
|
||||
|
||||
import ModalWrapper from '@/components/ui/modal/ModalWrapper.vue'
|
||||
|
||||
@@ -17,64 +17,73 @@
|
||||
}
|
||||
"
|
||||
/>
|
||||
<ButtonStyled
|
||||
<Button
|
||||
type="quiet"
|
||||
:color="
|
||||
!hoveringTest && !testingJava
|
||||
? testingJavaSuccess === true
|
||||
? 'green'
|
||||
: 'red'
|
||||
: 'standard'
|
||||
: undefined
|
||||
"
|
||||
color-fill="text"
|
||||
:aria-label="formatMessage(messages.testJavaInstallation)"
|
||||
class="!text-[var(--legacy-button-color,var(--color-base))] [&>svg]:!text-[var(--legacy-button-color,var(--color-primary))]"
|
||||
:disabled="testingJava || props.disabled"
|
||||
:style="{
|
||||
'--legacy-button-color':
|
||||
(!hoveringTest && !testingJava
|
||||
? testingJavaSuccess === true
|
||||
? 'green'
|
||||
: 'red'
|
||||
: 'standard') &&
|
||||
(!hoveringTest && !testingJava
|
||||
? testingJavaSuccess === true
|
||||
? 'green'
|
||||
: 'red'
|
||||
: 'standard') !== 'standard'
|
||||
? `var(--color-${
|
||||
!hoveringTest && !testingJava
|
||||
? testingJavaSuccess === true
|
||||
? 'green'
|
||||
: 'red'
|
||||
: 'standard'
|
||||
})`
|
||||
: undefined,
|
||||
}"
|
||||
@click="runTest(props.modelValue?.path)"
|
||||
@mouseenter="!props.disabled && (hoveringTest = true)"
|
||||
@mouseleave="hoveringTest = false"
|
||||
>
|
||||
<button
|
||||
:aria-label="formatMessage(messages.testJavaInstallation)"
|
||||
class="!shadow-none"
|
||||
:disabled="testingJava || props.disabled"
|
||||
@click="runTest(props.modelValue?.path)"
|
||||
@mouseenter="!props.disabled && (hoveringTest = true)"
|
||||
@mouseleave="hoveringTest = false"
|
||||
>
|
||||
<SpinnerIcon v-if="testingJava" class="animate-spin h-4 w-4" />
|
||||
<CheckCircleIcon
|
||||
v-else-if="testingJavaSuccess === true && !hoveringTest"
|
||||
class="h-4 w-4"
|
||||
/>
|
||||
<XCircleIcon v-else-if="testingJavaSuccess !== true && !hoveringTest" class="h-4 w-4" />
|
||||
<RefreshCwIcon v-else-if="!props.disabled" class="h-4 w-4" />
|
||||
</button>
|
||||
</ButtonStyled>
|
||||
<SpinnerIcon v-if="testingJava" class="animate-spin h-4 w-4" />
|
||||
<CheckCircleIcon v-else-if="testingJavaSuccess === true && !hoveringTest" class="h-4 w-4" />
|
||||
<XCircleIcon v-else-if="testingJavaSuccess !== true && !hoveringTest" class="h-4 w-4" />
|
||||
<RefreshCwIcon v-else-if="!props.disabled" class="h-4 w-4" />
|
||||
</Button>
|
||||
</div>
|
||||
<span class="installation-buttons">
|
||||
<ButtonStyled v-if="props.version">
|
||||
<button
|
||||
v-tooltip="
|
||||
testingJavaSuccess === true ? formatMessage(messages.alreadyInstalled) : undefined
|
||||
"
|
||||
class="!shadow-none"
|
||||
:disabled="props.disabled || installingJava || testingJavaSuccess === true"
|
||||
@click="reinstallJava"
|
||||
>
|
||||
<DownloadIcon />
|
||||
{{
|
||||
installingJava
|
||||
? formatMessage(messages.installing)
|
||||
: formatMessage(messages.installRecommended)
|
||||
}}
|
||||
</button>
|
||||
</ButtonStyled>
|
||||
<ButtonStyled>
|
||||
<button class="!shadow-none" :disabled="props.disabled" @click="autoDetect">
|
||||
<SearchIcon />
|
||||
{{ formatMessage(messages.detect) }}
|
||||
</button>
|
||||
</ButtonStyled>
|
||||
<ButtonStyled>
|
||||
<button class="!shadow-none" :disabled="props.disabled" @click="handleJavaFileInput()">
|
||||
<FolderSearchIcon />
|
||||
{{ formatMessage(messages.browse) }}
|
||||
</button>
|
||||
</ButtonStyled>
|
||||
<Button
|
||||
v-if="props.version"
|
||||
v-tooltip="
|
||||
testingJavaSuccess === true ? formatMessage(messages.alreadyInstalled) : undefined
|
||||
"
|
||||
:disabled="props.disabled || installingJava || testingJavaSuccess === true"
|
||||
@click="reinstallJava"
|
||||
>
|
||||
<DownloadIcon />
|
||||
{{
|
||||
installingJava
|
||||
? formatMessage(messages.installing)
|
||||
: formatMessage(messages.installRecommended)
|
||||
}}
|
||||
</Button>
|
||||
<Button :disabled="props.disabled" @click="autoDetect">
|
||||
<SearchIcon />
|
||||
{{ formatMessage(messages.detect) }}
|
||||
</Button>
|
||||
<Button :disabled="props.disabled" @click="handleJavaFileInput()">
|
||||
<FolderSearchIcon />
|
||||
{{ formatMessage(messages.browse) }}
|
||||
</Button>
|
||||
</span>
|
||||
</div>
|
||||
</template>
|
||||
@@ -90,7 +99,7 @@ import {
|
||||
XCircleIcon,
|
||||
} from '@modrinth/assets'
|
||||
import {
|
||||
ButtonStyled,
|
||||
Button,
|
||||
defineMessages,
|
||||
injectNotificationManager,
|
||||
StyledInput,
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
<script setup>
|
||||
import { CheckIcon } from '@modrinth/assets'
|
||||
import { Badge, ButtonStyled } from '@modrinth/ui'
|
||||
import { Badge, IconButton } from '@modrinth/ui'
|
||||
import { computed, ref } from 'vue'
|
||||
|
||||
import { SwapIcon } from '@/assets/icons/index.js'
|
||||
@@ -74,18 +74,16 @@ const onHide = () => {
|
||||
@click="$router.push(`/project/${version.project_id}/version/${version.id}`)"
|
||||
>
|
||||
<div class="table-cell table-text">
|
||||
<ButtonStyled
|
||||
circular
|
||||
:color="version.id === installedVersion ? 'standard' : 'brand'"
|
||||
<IconButton
|
||||
:type="version.id === installedVersion ? 'base' : 'colored'"
|
||||
:color="version.id === installedVersion ? undefined : 'brand'"
|
||||
label="Switch version"
|
||||
:disabled="inProgress || installing || version.id === installedVersion"
|
||||
@click.stop="() => switchVersion(version.id)"
|
||||
>
|
||||
<button
|
||||
:disabled="inProgress || installing || version.id === installedVersion"
|
||||
@click.stop="() => switchVersion(version.id)"
|
||||
>
|
||||
<SwapIcon v-if="version.id !== installedVersion" />
|
||||
<CheckIcon v-else />
|
||||
</button>
|
||||
</ButtonStyled>
|
||||
<SwapIcon v-if="version.id !== installedVersion" />
|
||||
<CheckIcon v-else />
|
||||
</IconButton>
|
||||
</div>
|
||||
<div class="name-cell table-cell table-text">
|
||||
<div class="version-link">
|
||||
|
||||
@@ -9,6 +9,7 @@ import { computed, onMounted, onUnmounted, ref } from 'vue'
|
||||
import NavButton from '@/components/ui/NavButton.vue'
|
||||
import { instance_listener } from '@/helpers/events.js'
|
||||
import { list } from '@/helpers/instance'
|
||||
import { instanceKeys } from '@/pages/instance/query-options'
|
||||
|
||||
const ITEM_SIZE = 52
|
||||
const APPROX_USED_VERTICAL_SPACE = 513 // doesn't need to be exact lol just close enough so there's a little gap and no overflow
|
||||
@@ -123,7 +124,7 @@ const getInstances = async () => {
|
||||
const instances = await list().catch(handleError)
|
||||
|
||||
for (const instance of instances) {
|
||||
queryClient.setQueryData(['instances', 'summary', instance.id], instance)
|
||||
queryClient.setQueryData(instanceKeys.detail(instance.id), instance)
|
||||
}
|
||||
|
||||
allInstances.value = instances.sort((a, b) => {
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
<script setup lang="ts">
|
||||
import { NotepadTextIcon, XIcon } from '@modrinth/assets'
|
||||
import { ButtonStyled, defineMessages, injectNotificationManager, useVIntl } from '@modrinth/ui'
|
||||
import { Button, defineMessages, injectNotificationManager, useVIntl } from '@modrinth/ui'
|
||||
import { type } from '@tauri-apps/plugin-os'
|
||||
import { $fetch } from 'ofetch'
|
||||
import { onMounted, ref } from 'vue'
|
||||
@@ -193,18 +193,14 @@ onMounted(async () => {
|
||||
{{ formatMessage(messages.surveyFooter) }}
|
||||
</p>
|
||||
<div class="flex gap-2">
|
||||
<ButtonStyled color="brand">
|
||||
<button @click="openSurvey">
|
||||
<NotepadTextIcon />
|
||||
{{ formatMessage(messages.takeSurvey) }}
|
||||
</button>
|
||||
</ButtonStyled>
|
||||
<ButtonStyled>
|
||||
<button @click="dismissSurvey">
|
||||
<XIcon />
|
||||
{{ formatMessage(messages.surveyNoThanks) }}
|
||||
</button>
|
||||
</ButtonStyled>
|
||||
<Button type="colored" color="brand" @click="openSurvey">
|
||||
<NotepadTextIcon />
|
||||
{{ formatMessage(messages.takeSurvey) }}
|
||||
</Button>
|
||||
<Button @click="dismissSurvey">
|
||||
<XIcon />
|
||||
{{ formatMessage(messages.surveyNoThanks) }}
|
||||
</Button>
|
||||
</div>
|
||||
</div>
|
||||
</transition>
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
<script setup>
|
||||
import { ButtonStyled, injectNotificationManager, ProjectCard } from '@modrinth/ui'
|
||||
import { Button, injectNotificationManager, ProjectCard } from '@modrinth/ui'
|
||||
import { ref } from 'vue'
|
||||
|
||||
import ModalWrapper from '@/components/ui/modal/ModalWrapper.vue'
|
||||
@@ -69,9 +69,7 @@ async function install() {
|
||||
</p>
|
||||
</div>
|
||||
<div class="button-group">
|
||||
<ButtonStyled color="brand">
|
||||
<button @click="install">Install</button>
|
||||
</ButtonStyled>
|
||||
<Button type="colored" color="brand" @click="install">Install</Button>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
@@ -4,34 +4,38 @@
|
||||
class="flex items-center gap-2 mr-1.5"
|
||||
data-tauri-drag-region-exclude
|
||||
>
|
||||
<ButtonStyled type="transparent" circular>
|
||||
<button class="relative expanded-button" @click="() => getCurrentWindow().minimize()">
|
||||
<MinimizeIcon />
|
||||
</button>
|
||||
</ButtonStyled>
|
||||
<ButtonStyled type="transparent" circular>
|
||||
<button class="relative expanded-button" @click="() => getCurrentWindow().toggleMaximize()">
|
||||
<RestoreIcon v-if="isMaximized" />
|
||||
<MaximizeIcon v-else />
|
||||
</button>
|
||||
</ButtonStyled>
|
||||
<ButtonStyled
|
||||
type="transparent"
|
||||
color="red"
|
||||
color-fill="none"
|
||||
hover-color-fill="background"
|
||||
circular
|
||||
<IconButton
|
||||
type="quiet"
|
||||
label="Minimize window"
|
||||
class="relative expanded-button"
|
||||
@click="() => getCurrentWindow().minimize()"
|
||||
>
|
||||
<button class="relative expanded-button close-button" @click="handleClose">
|
||||
<XIcon />
|
||||
</button>
|
||||
</ButtonStyled>
|
||||
<MinimizeIcon />
|
||||
</IconButton>
|
||||
<IconButton
|
||||
type="quiet"
|
||||
label="Toggle maximize window"
|
||||
class="relative expanded-button"
|
||||
@click="() => getCurrentWindow().toggleMaximize()"
|
||||
>
|
||||
<RestoreIcon v-if="isMaximized" />
|
||||
<MaximizeIcon v-else />
|
||||
</IconButton>
|
||||
<IconButton
|
||||
type="quiet"
|
||||
color="red"
|
||||
label="Close window"
|
||||
class="relative expanded-button close-button hover:!bg-red focus-visible:!bg-red"
|
||||
@click="handleClose"
|
||||
>
|
||||
<XIcon />
|
||||
</IconButton>
|
||||
</section>
|
||||
</template>
|
||||
|
||||
<script setup>
|
||||
import { MaximizeIcon, MinimizeIcon, RestoreIcon, XIcon } from '@modrinth/assets'
|
||||
import { ButtonStyled } from '@modrinth/ui'
|
||||
import { IconButton } from '@modrinth/ui'
|
||||
import { getCurrentWindow } from '@tauri-apps/api/window'
|
||||
import { saveWindowState, StateFlags } from '@tauri-apps/plugin-window-state'
|
||||
import { computed, onMounted, onUnmounted, ref } from 'vue'
|
||||
|
||||
@@ -1,31 +1,30 @@
|
||||
<template>
|
||||
<ButtonStyled color="brand" type="outlined" hover-color-fill="background">
|
||||
<button
|
||||
v-if="showUpdatePill"
|
||||
type="button"
|
||||
class="!h-[34px] text-sm !transition-[opacity,transform,background-color,color,filter] !duration-200 ease-out"
|
||||
:class="{
|
||||
'opacity-0 scale-[0.96]': finishedDownloading && !animateReadyPill,
|
||||
'opacity-100 scale-100': finishedDownloading && animateReadyPill,
|
||||
}"
|
||||
:disabled="isUpdateDownloading"
|
||||
:aria-busy="isUpdateDownloading"
|
||||
@click="handleUpdateClick"
|
||||
>
|
||||
<RefreshCwIcon v-if="finishedDownloading" :class="{ 'animate-spin': restarting }" />
|
||||
<DownloadIcon v-else />
|
||||
<span v-if="isUpdateDownloading">
|
||||
{{ formatMessage(messages.downloadingUpdate) }}
|
||||
<span class="inline-block w-[3ch] text-right tabular-nums">{{ downloadPercent }}%</span>
|
||||
</span>
|
||||
<span v-else>{{ updateLabel }}</span>
|
||||
</button>
|
||||
</ButtonStyled>
|
||||
<Button
|
||||
v-if="showUpdatePill"
|
||||
type="outlined"
|
||||
native-type="button"
|
||||
class="!h-[34px] text-sm !transition-[opacity,transform,background-color,color,filter] !duration-200 ease-out !text-brand [&>svg]:!text-brand !shadow-[inset_0_0_0_1px_var(--color-brand)] hover:!bg-brand focus-visible:!bg-brand hover:!text-[var(--color-accent-contrast)] focus-visible:!text-[var(--color-accent-contrast)]"
|
||||
:class="{
|
||||
'opacity-0 scale-[0.96]': finishedDownloading && !animateReadyPill,
|
||||
'opacity-100 scale-100': finishedDownloading && animateReadyPill,
|
||||
}"
|
||||
:disabled="isUpdateDownloading"
|
||||
:aria-busy="isUpdateDownloading"
|
||||
@click="handleUpdateClick"
|
||||
>
|
||||
<RefreshCwIcon v-if="finishedDownloading" :class="{ 'animate-spin': restarting }" />
|
||||
<DownloadIcon v-else />
|
||||
<span v-if="isUpdateDownloading">
|
||||
{{ formatMessage(messages.downloadingUpdate) }}
|
||||
<span class="inline-block w-[3ch] text-right tabular-nums">{{ downloadPercent }}%</span>
|
||||
</span>
|
||||
<span v-else>{{ updateLabel }}</span>
|
||||
</Button>
|
||||
</template>
|
||||
|
||||
<script setup lang="ts">
|
||||
import { DownloadIcon, RefreshCwIcon } from '@modrinth/assets'
|
||||
import { ButtonStyled, defineMessages, useVIntl } from '@modrinth/ui'
|
||||
import { Button, defineMessages, useVIntl } from '@modrinth/ui'
|
||||
import { computed, nextTick, onBeforeUnmount, ref, watch } from 'vue'
|
||||
|
||||
import {
|
||||
|
||||
@@ -2,8 +2,9 @@
|
||||
import { MailIcon, SearchIcon, SendIcon, UserIcon, UserPlusIcon, XIcon } from '@modrinth/assets'
|
||||
import {
|
||||
Avatar,
|
||||
ButtonStyled,
|
||||
Button,
|
||||
defineMessages,
|
||||
IconButton,
|
||||
injectNotificationManager,
|
||||
IntlFormatted,
|
||||
StyledInput,
|
||||
@@ -17,17 +18,40 @@ import ModalWrapper from '@/components/ui/modal/ModalWrapper.vue'
|
||||
import { useFriends } from '@/composables/use-friends'
|
||||
import type { FriendWithUserData } from '@/helpers/friends.ts'
|
||||
import type { ModrinthCredentials } from '@/helpers/mr_auth'
|
||||
import { get as getSettings, set as setSettings } from '@/helpers/settings.ts'
|
||||
import { useTheming } from '@/store/state'
|
||||
|
||||
const { formatMessage } = useVIntl()
|
||||
|
||||
const { handleError } = injectNotificationManager()
|
||||
const formatRelativeTime = useRelativeTime()
|
||||
const themeStore = useTheming()
|
||||
|
||||
const props = defineProps<{
|
||||
credentials: ModrinthCredentials | null
|
||||
signIn: () => void
|
||||
}>()
|
||||
|
||||
type FriendsSectionCollapsedFlag =
|
||||
| 'friends_active_collapsed'
|
||||
| 'friends_online_collapsed'
|
||||
| 'friends_offline_collapsed'
|
||||
| 'friends_pending_collapsed'
|
||||
|
||||
function isFriendsSectionCollapsed(flag: FriendsSectionCollapsedFlag) {
|
||||
return themeStore.getFeatureFlag(flag)
|
||||
}
|
||||
|
||||
function setFriendsSectionCollapsed(flag: FriendsSectionCollapsedFlag, collapsed: boolean) {
|
||||
themeStore.featureFlags[flag] = collapsed
|
||||
getSettings()
|
||||
.then((settings) => {
|
||||
settings.feature_flags[flag] = collapsed
|
||||
return setSettings(settings)
|
||||
})
|
||||
.catch(handleError)
|
||||
}
|
||||
|
||||
const userCredentials = computed(() => props.credentials)
|
||||
const {
|
||||
friends: userFriends,
|
||||
@@ -197,26 +221,20 @@ const messages = defineMessages({
|
||||
</div>
|
||||
<div class="flex gap-2">
|
||||
<template v-if="friend.id === userCredentials?.user_id">
|
||||
<ButtonStyled color="brand">
|
||||
<button @click="addFriend(friend)">
|
||||
<UserPlusIcon />
|
||||
Accept
|
||||
</button>
|
||||
</ButtonStyled>
|
||||
<ButtonStyled>
|
||||
<button @click="removeFriend(friend)">
|
||||
<XIcon />
|
||||
Ignore
|
||||
</button>
|
||||
</ButtonStyled>
|
||||
<Button type="colored" color="brand" @click="addFriend(friend)">
|
||||
<UserPlusIcon />
|
||||
Accept
|
||||
</Button>
|
||||
<Button @click="removeFriend(friend)">
|
||||
<XIcon />
|
||||
Ignore
|
||||
</Button>
|
||||
</template>
|
||||
<template v-else>
|
||||
<ButtonStyled>
|
||||
<button @click="removeFriend(friend)">
|
||||
<XIcon />
|
||||
Cancel
|
||||
</button>
|
||||
</ButtonStyled>
|
||||
<Button @click="removeFriend(friend)">
|
||||
<XIcon />
|
||||
Cancel
|
||||
</Button>
|
||||
</template>
|
||||
</div>
|
||||
</div>
|
||||
@@ -240,26 +258,28 @@ const messages = defineMessages({
|
||||
wrapper-class="flex-1"
|
||||
@keyup.enter="addFriendFromModal"
|
||||
/>
|
||||
<ButtonStyled color="brand">
|
||||
<button :disabled="username.length === 0" @click="addFriendFromModal">
|
||||
<SendIcon />
|
||||
{{ formatMessage(messages.sendFriendRequest) }}
|
||||
</button>
|
||||
</ButtonStyled>
|
||||
<Button
|
||||
type="colored"
|
||||
color="brand"
|
||||
:disabled="username.length === 0"
|
||||
@click="addFriendFromModal"
|
||||
>
|
||||
<SendIcon />
|
||||
{{ formatMessage(messages.sendFriendRequest) }}
|
||||
</Button>
|
||||
</div>
|
||||
</div>
|
||||
</ModalWrapper>
|
||||
<div v-if="userCredentials && !loading" class="flex gap-1 items-center mb-3 -ml-1">
|
||||
<template v-if="sortedFriends.length > 0">
|
||||
<ButtonStyled circular type="transparent">
|
||||
<button
|
||||
v-tooltip="formatMessage(messages.addFriend)"
|
||||
:aria-label="formatMessage(messages.addFriend)"
|
||||
@click="addFriendModal.show"
|
||||
>
|
||||
<UserPlusIcon />
|
||||
</button>
|
||||
</ButtonStyled>
|
||||
<IconButton
|
||||
v-tooltip="formatMessage(messages.addFriend)"
|
||||
type="quiet"
|
||||
:label="formatMessage(messages.addFriend)"
|
||||
@click="addFriendModal.show"
|
||||
>
|
||||
<UserPlusIcon />
|
||||
</IconButton>
|
||||
<StyledInput
|
||||
v-model="search"
|
||||
:icon="SearchIcon"
|
||||
@@ -274,23 +294,23 @@ const messages = defineMessages({
|
||||
<h3 v-else class="w-full text-base text-primary font-medium m-0">
|
||||
{{ formatMessage(messages.friends) }}
|
||||
</h3>
|
||||
<ButtonStyled v-if="incomingRequests.length > 0" circular type="transparent">
|
||||
<button
|
||||
v-tooltip="formatMessage(messages.viewFriendRequests, { count: incomingRequests.length })"
|
||||
class="relative"
|
||||
:aria-label="formatMessage(messages.viewFriendRequests, { count: incomingRequests.length })"
|
||||
@click="friendInvitesModal.show"
|
||||
<IconButton
|
||||
v-if="incomingRequests.length > 0"
|
||||
v-tooltip="formatMessage(messages.viewFriendRequests, { count: incomingRequests.length })"
|
||||
type="quiet"
|
||||
:label="formatMessage(messages.viewFriendRequests, { count: incomingRequests.length })"
|
||||
class="relative"
|
||||
@click="friendInvitesModal.show"
|
||||
>
|
||||
<MailIcon />
|
||||
<span
|
||||
v-if="incomingRequests.length > 0"
|
||||
aria-hidden="true"
|
||||
class="absolute bg-brand text-brand-inverted text-[8px] top-0.5 px-1 right-0.5 min-w-3 h-3 rounded-full flex items-center justify-center font-bold"
|
||||
>
|
||||
<MailIcon />
|
||||
<span
|
||||
v-if="incomingRequests.length > 0"
|
||||
aria-hidden="true"
|
||||
class="absolute bg-brand text-brand-inverted text-[8px] top-0.5 px-1 right-0.5 min-w-3 h-3 rounded-full flex items-center justify-center font-bold"
|
||||
>
|
||||
{{ incomingRequests.length }}
|
||||
</span>
|
||||
</button>
|
||||
</ButtonStyled>
|
||||
{{ incomingRequests.length }}
|
||||
</span>
|
||||
</IconButton>
|
||||
</div>
|
||||
<div class="flex flex-col gap-3">
|
||||
<h3 v-if="loading" class="text-base text-primary font-medium m-0">
|
||||
@@ -331,33 +351,42 @@ const messages = defineMessages({
|
||||
<FriendsSection
|
||||
v-if="activeFriends.length > 0"
|
||||
:is-searching="!!search"
|
||||
open-by-default
|
||||
:open-by-default="!isFriendsSectionCollapsed('friends_active_collapsed')"
|
||||
:friends="activeFriends"
|
||||
:heading="formatMessage(messages.active)"
|
||||
:remove-friend="removeFriend"
|
||||
@on-open="setFriendsSectionCollapsed('friends_active_collapsed', false)"
|
||||
@on-close="setFriendsSectionCollapsed('friends_active_collapsed', true)"
|
||||
/>
|
||||
<FriendsSection
|
||||
v-if="onlineFriends.length > 0"
|
||||
:is-searching="!!search"
|
||||
open-by-default
|
||||
:open-by-default="!isFriendsSectionCollapsed('friends_online_collapsed')"
|
||||
:friends="onlineFriends"
|
||||
:heading="formatMessage(messages.online)"
|
||||
:remove-friend="removeFriend"
|
||||
@on-open="setFriendsSectionCollapsed('friends_online_collapsed', false)"
|
||||
@on-close="setFriendsSectionCollapsed('friends_online_collapsed', true)"
|
||||
/>
|
||||
<FriendsSection
|
||||
v-if="offlineFriends.length > 0"
|
||||
:is-searching="!!search"
|
||||
:open-by-default="activeFriends.length + onlineFriends.length < 3"
|
||||
:open-by-default="!isFriendsSectionCollapsed('friends_offline_collapsed')"
|
||||
:friends="offlineFriends"
|
||||
:heading="formatMessage(messages.offline)"
|
||||
:remove-friend="removeFriend"
|
||||
@on-open="setFriendsSectionCollapsed('friends_offline_collapsed', false)"
|
||||
@on-close="setFriendsSectionCollapsed('friends_offline_collapsed', true)"
|
||||
/>
|
||||
<FriendsSection
|
||||
v-if="pendingFriends.length > 0"
|
||||
:is-searching="!!search"
|
||||
:open-by-default="!isFriendsSectionCollapsed('friends_pending_collapsed')"
|
||||
:friends="pendingFriends"
|
||||
:heading="formatMessage(messages.pending)"
|
||||
:remove-friend="removeFriend"
|
||||
@on-open="setFriendsSectionCollapsed('friends_pending_collapsed', false)"
|
||||
@on-close="setFriendsSectionCollapsed('friends_pending_collapsed', true)"
|
||||
/>
|
||||
<p v-if="filteredFriends.length === 0 && search" class="text-sm text-secondary my-1 mx-4">
|
||||
{{ formatMessage(messages.noFriendsMatch, { query: search }) }}
|
||||
|
||||
@@ -3,9 +3,9 @@ import { MoreVerticalIcon, TrashIcon, UserIcon, XIcon } from '@modrinth/assets'
|
||||
import {
|
||||
Accordion,
|
||||
Avatar,
|
||||
ButtonStyled,
|
||||
defineMessages,
|
||||
OverflowMenu,
|
||||
IconButton,
|
||||
TeleportOverflowMenu,
|
||||
useVIntl,
|
||||
} from '@modrinth/ui'
|
||||
import { useTemplateRef } from 'vue'
|
||||
@@ -31,6 +31,11 @@ const props = withDefaults(
|
||||
},
|
||||
)
|
||||
|
||||
const emit = defineEmits<{
|
||||
onOpen: []
|
||||
onClose: []
|
||||
}>()
|
||||
|
||||
function createContextMenuOptions(friend: FriendWithUserData) {
|
||||
if (friend.accepted) {
|
||||
return [
|
||||
@@ -112,6 +117,8 @@ const messages = defineMessages({
|
||||
? ''
|
||||
: ' cursor-pointer hover:brightness-[--hover-brightness] active:scale-[0.98] transition-all')
|
||||
"
|
||||
@on-open="emit('onOpen')"
|
||||
@on-close="emit('onClose')"
|
||||
>
|
||||
<template #title>
|
||||
<h3 class="text-base text-primary font-medium m-0">
|
||||
@@ -159,29 +166,35 @@ const messages = defineMessages({
|
||||
<span v-else-if="friend.status" class="m-0 text-xs">{{ friend.status }}</span>
|
||||
</div>
|
||||
</RouterLink>
|
||||
<ButtonStyled v-if="friend.accepted" circular type="transparent">
|
||||
<OverflowMenu
|
||||
class="opacity-0 group-hover:opacity-100 transition-opacity"
|
||||
:options="[
|
||||
{
|
||||
id: 'remove-friend',
|
||||
action: () => removeFriend(friend),
|
||||
color: 'red',
|
||||
},
|
||||
]"
|
||||
>
|
||||
<MoreVerticalIcon />
|
||||
<template #remove-friend>
|
||||
<TrashIcon />
|
||||
{{ formatMessage(messages.removeFriend) }}
|
||||
</template>
|
||||
</OverflowMenu>
|
||||
</ButtonStyled>
|
||||
<ButtonStyled v-else type="transparent" circular>
|
||||
<button v-tooltip="formatMessage(messages.cancelRequest)" @click="removeFriend(friend)">
|
||||
<XIcon />
|
||||
</button>
|
||||
</ButtonStyled>
|
||||
<TeleportOverflowMenu
|
||||
v-if="friend.accepted"
|
||||
type="quiet"
|
||||
label="More options"
|
||||
class="opacity-0 group-hover:opacity-100 transition-opacity"
|
||||
:options="[
|
||||
{
|
||||
id: 'remove-friend',
|
||||
label: formatMessage(messages.removeFriend),
|
||||
action: () => removeFriend(friend),
|
||||
tone: 'red',
|
||||
},
|
||||
]"
|
||||
>
|
||||
<MoreVerticalIcon />
|
||||
<template #remove-friend>
|
||||
<TrashIcon />
|
||||
{{ formatMessage(messages.removeFriend) }}
|
||||
</template>
|
||||
</TeleportOverflowMenu>
|
||||
<IconButton
|
||||
v-else
|
||||
v-tooltip="formatMessage(messages.cancelRequest)"
|
||||
type="quiet"
|
||||
:label="formatMessage(messages.cancelRequest)"
|
||||
@click="removeFriend(friend)"
|
||||
>
|
||||
<XIcon />
|
||||
</IconButton>
|
||||
</div>
|
||||
</div>
|
||||
</template>
|
||||
|
||||
@@ -1,12 +1,6 @@
|
||||
<script setup>
|
||||
import { CheckIcon, PlusIcon, SearchIcon } from '@modrinth/assets'
|
||||
import {
|
||||
Admonition,
|
||||
Avatar,
|
||||
ButtonStyled,
|
||||
injectNotificationManager,
|
||||
StyledInput,
|
||||
} from '@modrinth/ui'
|
||||
import { Admonition, Avatar, Button, injectNotificationManager, StyledInput } from '@modrinth/ui'
|
||||
import { useQueryClient } from '@tanstack/vue-query'
|
||||
import { convertFileSrc } from '@tauri-apps/api/core'
|
||||
import { computed, ref } from 'vue'
|
||||
@@ -15,6 +9,7 @@ import ModalWrapper from '@/components/ui/modal/ModalWrapper.vue'
|
||||
import { trackEvent } from '@/helpers/analytics'
|
||||
import { list } from '@/helpers/instance'
|
||||
import { add_server_to_instance, get_instance_worlds } from '@/helpers/worlds.ts'
|
||||
import { instanceKeys } from '@/pages/instance/query-options'
|
||||
|
||||
const { handleError } = injectNotificationManager()
|
||||
const queryClient = useQueryClient()
|
||||
@@ -67,7 +62,7 @@ async function addServer(instance) {
|
||||
try {
|
||||
await add_server_to_instance(instance.id, serverName.value, serverAddress.value, 'prompt')
|
||||
instance.added = true
|
||||
await queryClient.invalidateQueries({ queryKey: ['worlds', instance.id] })
|
||||
await queryClient.invalidateQueries({ queryKey: instanceKeys.worlds(instance.id) })
|
||||
|
||||
trackEvent('AddServerToInstance', {
|
||||
server_name: serverName.value,
|
||||
@@ -109,19 +104,15 @@ async function addServer(instance) {
|
||||
/>
|
||||
{{ instance.name }}
|
||||
</router-link>
|
||||
<ButtonStyled>
|
||||
<button :disabled="instance.added || instance.adding" @click="addServer(instance)">
|
||||
<PlusIcon v-if="!instance.added && !instance.adding" />
|
||||
<CheckIcon v-else-if="instance.added" />
|
||||
{{ instance.adding ? 'Adding...' : instance.added ? 'Added' : 'Add' }}
|
||||
</button>
|
||||
</ButtonStyled>
|
||||
<Button :disabled="instance.added || instance.adding" @click="addServer(instance)">
|
||||
<PlusIcon v-if="!instance.added && !instance.adding" />
|
||||
<CheckIcon v-else-if="instance.added" />
|
||||
{{ instance.adding ? 'Adding...' : instance.added ? 'Added' : 'Add' }}
|
||||
</Button>
|
||||
</div>
|
||||
</div>
|
||||
<div class="input-group push-right">
|
||||
<ButtonStyled>
|
||||
<button @click="modal.hide()">Cancel</button>
|
||||
</ButtonStyled>
|
||||
<Button @click="modal.hide()">Cancel</Button>
|
||||
</div>
|
||||
</div>
|
||||
</ModalWrapper>
|
||||
|
||||
+22
-21
@@ -7,7 +7,7 @@ import {
|
||||
MessagesSquareIcon,
|
||||
WrenchIcon,
|
||||
} from '@modrinth/assets'
|
||||
import { Admonition, ButtonStyled, Collapsible, NewModal } from '@modrinth/ui'
|
||||
import { Admonition, Button, ButtonLink, Collapsible, IconButton, NewModal } from '@modrinth/ui'
|
||||
import { computed, ref } from 'vue'
|
||||
|
||||
import { hide_ads_window, show_ads_window } from '@/helpers/ads.js'
|
||||
@@ -137,16 +137,18 @@ async function copyToClipboard(text: string) {
|
||||
|
||||
<!-- Action buttons -->
|
||||
<div class="flex items-center gap-2">
|
||||
<ButtonStyled>
|
||||
<a href="https://support.modrinth.com" class="!w-full" @click="modal?.hide()">
|
||||
<MessagesSquareIcon /> Contact support
|
||||
</a>
|
||||
</ButtonStyled>
|
||||
<ButtonStyled color="brand">
|
||||
<button :disabled="loadingSignIn" class="!w-full" @click="signInAgain">
|
||||
<LogInIcon /> Sign in again
|
||||
</button>
|
||||
</ButtonStyled>
|
||||
<ButtonLink href="https://support.modrinth.com" class="!w-full" @click="modal?.hide()">
|
||||
<MessagesSquareIcon /> Contact support
|
||||
</ButtonLink>
|
||||
<Button
|
||||
type="colored"
|
||||
color="brand"
|
||||
:disabled="loadingSignIn"
|
||||
class="!w-full"
|
||||
@click="signInAgain"
|
||||
>
|
||||
<LogInIcon /> Sign in again
|
||||
</Button>
|
||||
</div>
|
||||
|
||||
<div class="flex flex-col gap-2">
|
||||
@@ -176,16 +178,15 @@ async function copyToClipboard(text: string) {
|
||||
>
|
||||
{{ debugInfo }}
|
||||
</div>
|
||||
<ButtonStyled circular>
|
||||
<button
|
||||
v-tooltip="'Copy debug info'"
|
||||
:disabled="copied"
|
||||
@click="copyToClipboard(debugInfo)"
|
||||
>
|
||||
<template v-if="copied"> <CheckIcon class="text-green" /> </template>
|
||||
<template v-else> <CopyIcon /> </template>
|
||||
</button>
|
||||
</ButtonStyled>
|
||||
<IconButton
|
||||
v-tooltip="'Copy debug info'"
|
||||
:label="'Copy debug info'"
|
||||
:disabled="copied"
|
||||
@click="copyToClipboard(debugInfo)"
|
||||
>
|
||||
<template v-if="copied"> <CheckIcon class="text-green" /> </template>
|
||||
<template v-else> <CopyIcon /> </template>
|
||||
</IconButton>
|
||||
</div>
|
||||
</Collapsible>
|
||||
</div>
|
||||
|
||||
+28
-33
@@ -21,38 +21,33 @@
|
||||
|
||||
<div class="flex flex-col gap-6 px-6 pb-6">
|
||||
<div class="flex justify-end gap-2">
|
||||
<ButtonStyled>
|
||||
<a class="w-full !shadow-none" href="https://support.modrinth.com" @click="modal?.hide()">
|
||||
<MessagesSquareIcon />
|
||||
{{ formatMessage(messages.getSupport) }}
|
||||
</a>
|
||||
</ButtonStyled>
|
||||
<ButtonStyled color="brand">
|
||||
<button class="w-full !shadow-none" :disabled="loadingSignIn" @click="signIn">
|
||||
<SpinnerIcon v-if="loadingSignIn" class="animate-spin" />
|
||||
<svg
|
||||
v-else
|
||||
width="20"
|
||||
height="20"
|
||||
viewBox="0 0 20 20"
|
||||
fill="none"
|
||||
xmlns="http://www.w3.org/2000/svg"
|
||||
>
|
||||
<rect width="9.25" height="9.25" fill="black" fill-opacity="0.9" />
|
||||
<rect x="10.75" width="9.25" height="9.25" fill="black" fill-opacity="0.9" />
|
||||
<rect y="10.75" width="9.25" height="9.25" fill="black" fill-opacity="0.9" />
|
||||
<rect
|
||||
x="10.75"
|
||||
y="10.75"
|
||||
width="9.25"
|
||||
height="9.25"
|
||||
fill="black"
|
||||
fill-opacity="0.9"
|
||||
/>
|
||||
</svg>
|
||||
{{ formatMessage(messages.signIn) }}
|
||||
</button>
|
||||
</ButtonStyled>
|
||||
<ButtonLink class="w-full" href="https://support.modrinth.com" @click="modal?.hide()">
|
||||
<MessagesSquareIcon />
|
||||
{{ formatMessage(messages.getSupport) }}
|
||||
</ButtonLink>
|
||||
<Button
|
||||
type="colored"
|
||||
color="brand"
|
||||
class="w-full"
|
||||
:disabled="loadingSignIn"
|
||||
@click="signIn"
|
||||
>
|
||||
<SpinnerIcon v-if="loadingSignIn" class="animate-spin" />
|
||||
<svg
|
||||
v-else
|
||||
width="20"
|
||||
height="20"
|
||||
viewBox="0 0 20 20"
|
||||
fill="none"
|
||||
xmlns="http://www.w3.org/2000/svg"
|
||||
>
|
||||
<rect width="9.25" height="9.25" fill="black" fill-opacity="0.9" />
|
||||
<rect x="10.75" width="9.25" height="9.25" fill="black" fill-opacity="0.9" />
|
||||
<rect y="10.75" width="9.25" height="9.25" fill="black" fill-opacity="0.9" />
|
||||
<rect x="10.75" y="10.75" width="9.25" height="9.25" fill="black" fill-opacity="0.9" />
|
||||
</svg>
|
||||
{{ formatMessage(messages.signIn) }}
|
||||
</Button>
|
||||
</div>
|
||||
<p class="m-0 text-center text-sm text-secondary">
|
||||
{{ formatMessage(messages.dontHaveAccount) }}
|
||||
@@ -69,7 +64,7 @@
|
||||
|
||||
<script setup lang="ts">
|
||||
import { MessagesSquareIcon, SpinnerIcon } from '@modrinth/assets'
|
||||
import { ButtonStyled, defineMessages, NewModal, useVIntl } from '@modrinth/ui'
|
||||
import { Button, ButtonLink, defineMessages, NewModal, useVIntl } from '@modrinth/ui'
|
||||
import { inject, type Ref, ref } from 'vue'
|
||||
|
||||
import steveImage from '@/assets/steve-look-up-left.webp'
|
||||
|
||||
@@ -6,18 +6,14 @@
|
||||
|
||||
<template #actions>
|
||||
<div class="flex gap-2 justify-end">
|
||||
<ButtonStyled type="outlined">
|
||||
<button @click="modal?.hide()">
|
||||
<XIcon />
|
||||
{{ formatMessage(commonMessages.cancelButton) }}
|
||||
</button>
|
||||
</ButtonStyled>
|
||||
<ButtonStyled color="red">
|
||||
<button @click="confirm">
|
||||
<TrashIcon />
|
||||
{{ formatMessage(messages.deleteButton) }}
|
||||
</button>
|
||||
</ButtonStyled>
|
||||
<Button type="outlined" @click="modal?.hide()">
|
||||
<XIcon />
|
||||
{{ formatMessage(commonMessages.cancelButton) }}
|
||||
</Button>
|
||||
<Button type="colored" color="red" @click="confirm">
|
||||
<TrashIcon />
|
||||
{{ formatMessage(messages.deleteButton) }}
|
||||
</Button>
|
||||
</div>
|
||||
</template>
|
||||
</NewModal>
|
||||
@@ -27,7 +23,7 @@
|
||||
import { TrashIcon, XIcon } from '@modrinth/assets'
|
||||
import {
|
||||
Admonition,
|
||||
ButtonStyled,
|
||||
Button,
|
||||
commonMessages,
|
||||
defineMessages,
|
||||
NewModal,
|
||||
|
||||
@@ -18,12 +18,10 @@
|
||||
{{ formatMessage(messages.sharedInstance) }}
|
||||
</span>
|
||||
|
||||
<ButtonStyled type="transparent">
|
||||
<button @click="openViewContents">
|
||||
<EyeIcon />
|
||||
{{ formatMessage(messages.viewContents) }}
|
||||
</button>
|
||||
</ButtonStyled>
|
||||
<Button type="quiet" @click="openViewContents">
|
||||
<EyeIcon />
|
||||
{{ formatMessage(messages.viewContents) }}
|
||||
</Button>
|
||||
</div>
|
||||
|
||||
<div class="flex items-center gap-3 rounded-2xl bg-surface-2 p-3">
|
||||
@@ -113,40 +111,30 @@
|
||||
</p>
|
||||
|
||||
<div class="flex w-full items-center justify-between gap-2">
|
||||
<ButtonStyled type="transparent" color="red">
|
||||
<button @click="handleReport">
|
||||
<ReportIcon />
|
||||
{{ formatMessage(commonMessages.reportButton) }}
|
||||
</button>
|
||||
</ButtonStyled>
|
||||
<Button type="quiet" color="red" @click="handleReport">
|
||||
<ReportIcon />
|
||||
{{ formatMessage(commonMessages.reportButton) }}
|
||||
</Button>
|
||||
|
||||
<div class="flex items-center gap-2">
|
||||
<template v-if="hasExternalFiles">
|
||||
<ButtonStyled type="transparent" color="orange">
|
||||
<button @click="handleAccept">
|
||||
{{ formatMessage(messages.installAnyway) }}
|
||||
</button>
|
||||
</ButtonStyled>
|
||||
<ButtonStyled color="brand">
|
||||
<button @click="handleDecline">
|
||||
<BanIcon />
|
||||
{{ formatMessage(messages.dontInstall) }}
|
||||
</button>
|
||||
</ButtonStyled>
|
||||
<Button type="quiet" color="orange" @click="handleAccept">
|
||||
{{ formatMessage(messages.installAnyway) }}
|
||||
</Button>
|
||||
<Button type="colored" color="brand" @click="handleDecline">
|
||||
<BanIcon />
|
||||
{{ formatMessage(messages.dontInstall) }}
|
||||
</Button>
|
||||
</template>
|
||||
<template v-else>
|
||||
<ButtonStyled>
|
||||
<button @click="handleDecline">
|
||||
<XIcon />
|
||||
{{ formatMessage(commonMessages.cancelButton) }}
|
||||
</button>
|
||||
</ButtonStyled>
|
||||
<ButtonStyled color="brand">
|
||||
<button @click="handleAccept">
|
||||
<DownloadIcon />
|
||||
{{ formatMessage(messages.installButton) }}
|
||||
</button>
|
||||
</ButtonStyled>
|
||||
<Button @click="handleDecline">
|
||||
<XIcon />
|
||||
{{ formatMessage(commonMessages.cancelButton) }}
|
||||
</Button>
|
||||
<Button type="colored" color="brand" @click="handleAccept">
|
||||
<DownloadIcon />
|
||||
{{ formatMessage(messages.installButton) }}
|
||||
</Button>
|
||||
</template>
|
||||
</div>
|
||||
</div>
|
||||
@@ -163,10 +151,10 @@
|
||||
<script setup lang="ts">
|
||||
import type { Labrinth } from '@modrinth/api-client'
|
||||
import { BanIcon, DownloadIcon, EyeIcon, ReportIcon, XIcon } from '@modrinth/assets'
|
||||
import { Button } from '@modrinth/ui'
|
||||
import {
|
||||
Admonition,
|
||||
Avatar,
|
||||
ButtonStyled,
|
||||
commonMessages,
|
||||
type ContentItem,
|
||||
defineMessages,
|
||||
|
||||
@@ -10,24 +10,18 @@
|
||||
|
||||
<template #actions>
|
||||
<div class="flex gap-2 justify-end">
|
||||
<ButtonStyled type="outlined">
|
||||
<button @click="handleCancel">
|
||||
<XIcon />
|
||||
{{ formatMessage(commonMessages.cancelButton) }}
|
||||
</button>
|
||||
</ButtonStyled>
|
||||
<ButtonStyled>
|
||||
<button @click="handleGoToInstance">
|
||||
{{ formatMessage(messages.instance) }}
|
||||
<RightArrowIcon />
|
||||
</button>
|
||||
</ButtonStyled>
|
||||
<ButtonStyled color="orange">
|
||||
<button @click="handleCreateAnyway">
|
||||
<PlusIcon />
|
||||
{{ formatMessage(messages.create) }}
|
||||
</button>
|
||||
</ButtonStyled>
|
||||
<Button type="outlined" @click="handleCancel">
|
||||
<XIcon />
|
||||
{{ formatMessage(commonMessages.cancelButton) }}
|
||||
</Button>
|
||||
<Button @click="handleGoToInstance">
|
||||
{{ formatMessage(messages.instance) }}
|
||||
<RightArrowIcon />
|
||||
</Button>
|
||||
<Button type="colored" color="orange" @click="handleCreateAnyway">
|
||||
<PlusIcon />
|
||||
{{ formatMessage(messages.create) }}
|
||||
</Button>
|
||||
</div>
|
||||
</template>
|
||||
</NewModal>
|
||||
@@ -36,7 +30,7 @@
|
||||
<script setup lang="ts">
|
||||
import { PlusIcon, RightArrowIcon, XIcon } from '@modrinth/assets'
|
||||
import {
|
||||
ButtonStyled,
|
||||
Button,
|
||||
commonMessages,
|
||||
defineMessages,
|
||||
IntlFormatted,
|
||||
|
||||
@@ -19,18 +19,20 @@
|
||||
|
||||
<div class="flex flex-col gap-6">
|
||||
<div class="grid grid-cols-1 gap-2 sm:grid-cols-2">
|
||||
<ButtonStyled>
|
||||
<button class="w-full !shadow-none" type="button" @click="authenticate('sign-up')">
|
||||
<UserPlusIcon aria-hidden="true" />
|
||||
{{ formatMessage(messages.createAccountButton) }}
|
||||
</button>
|
||||
</ButtonStyled>
|
||||
<ButtonStyled color="brand">
|
||||
<button class="w-full" type="button" @click="authenticate('sign-in')">
|
||||
<LogInIcon aria-hidden="true" />
|
||||
{{ formatMessage(messages.signInButton) }}
|
||||
</button>
|
||||
</ButtonStyled>
|
||||
<Button class="w-full" native-type="button" @click="authenticate('sign-up')">
|
||||
<UserPlusIcon aria-hidden="true" />
|
||||
{{ formatMessage(messages.createAccountButton) }}
|
||||
</Button>
|
||||
<Button
|
||||
type="colored"
|
||||
color="brand"
|
||||
class="w-full"
|
||||
native-type="button"
|
||||
@click="authenticate('sign-in')"
|
||||
>
|
||||
<LogInIcon aria-hidden="true" />
|
||||
{{ formatMessage(messages.signInButton) }}
|
||||
</Button>
|
||||
</div>
|
||||
|
||||
<p class="m-0 text-center text-base font-medium leading-6 text-primary">
|
||||
@@ -69,23 +71,19 @@
|
||||
|
||||
<div class="flex flex-col gap-6">
|
||||
<div class="grid grid-cols-1 gap-2 sm:grid-cols-2">
|
||||
<ButtonStyled type="outlined">
|
||||
<button class="w-full" type="button" @click="modal?.hide()">
|
||||
<XIcon aria-hidden="true" />
|
||||
{{ formatMessage(messages.cancelButton) }}
|
||||
</button>
|
||||
</ButtonStyled>
|
||||
<ButtonStyled>
|
||||
<button
|
||||
class="w-full !shadow-none"
|
||||
type="button"
|
||||
:disabled="reopeningBrowser"
|
||||
@click="reopenBrowser"
|
||||
>
|
||||
<RefreshCwIcon aria-hidden="true" />
|
||||
{{ formatMessage(messages.openBrowserAgainButton) }}
|
||||
</button>
|
||||
</ButtonStyled>
|
||||
<Button type="outlined" class="w-full" native-type="button" @click="modal?.hide()">
|
||||
<XIcon aria-hidden="true" />
|
||||
{{ formatMessage(commonMessages.cancelButton) }}
|
||||
</Button>
|
||||
<Button
|
||||
class="w-full"
|
||||
native-type="button"
|
||||
:disabled="reopeningBrowser"
|
||||
@click="reopenBrowser"
|
||||
>
|
||||
<RefreshCwIcon aria-hidden="true" />
|
||||
{{ formatMessage(messages.openBrowserAgainButton) }}
|
||||
</Button>
|
||||
</div>
|
||||
|
||||
<p class="m-0 text-center text-base font-medium leading-6 text-primary">
|
||||
@@ -108,7 +106,14 @@
|
||||
|
||||
<script setup lang="ts">
|
||||
import { LogInIcon, RefreshCwIcon, SpinnerIcon, UserPlusIcon, XIcon } from '@modrinth/assets'
|
||||
import { ButtonStyled, defineMessages, IntlFormatted, NewModal, useVIntl } from '@modrinth/ui'
|
||||
import {
|
||||
Button,
|
||||
commonMessages,
|
||||
defineMessages,
|
||||
IntlFormatted,
|
||||
NewModal,
|
||||
useVIntl,
|
||||
} from '@modrinth/ui'
|
||||
import { openUrl } from '@tauri-apps/plugin-opener'
|
||||
import { ref } from 'vue'
|
||||
|
||||
@@ -247,10 +252,6 @@ const messages = defineMessages({
|
||||
id: 'modal.modrinth-account-required.waiting-for-browser',
|
||||
defaultMessage: 'Waiting for browser confirmation...',
|
||||
},
|
||||
cancelButton: {
|
||||
id: 'modal.modrinth-account-required.cancel-button',
|
||||
defaultMessage: 'Cancel',
|
||||
},
|
||||
openBrowserAgainButton: {
|
||||
id: 'modal.modrinth-account-required.open-browser-again-button',
|
||||
defaultMessage: 'Open browser again',
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
<script setup lang="ts">
|
||||
import { Settings2Icon } from '@modrinth/assets'
|
||||
import {
|
||||
ButtonStyled,
|
||||
Button,
|
||||
defineMessages,
|
||||
injectNotificationManager,
|
||||
injectPageContext,
|
||||
@@ -78,12 +78,10 @@ watch(
|
||||
{{ formatMessage(messages.adsConsentTitle) }}
|
||||
</h2>
|
||||
<div class="mt-2 flex flex-col gap-2.5 items-start">
|
||||
<ButtonStyled>
|
||||
<button class="!shadow-none" @click="manageAdsPreferences">
|
||||
<Settings2Icon aria-hidden="true" />
|
||||
{{ formatMessage(messages.adsConsentManage) }}
|
||||
</button>
|
||||
</ButtonStyled>
|
||||
<Button @click="manageAdsPreferences">
|
||||
<Settings2Icon aria-hidden="true" />
|
||||
{{ formatMessage(messages.adsConsentManage) }}
|
||||
</Button>
|
||||
<div>
|
||||
{{ formatMessage(messages.adsConsentIntro) }}
|
||||
</div>
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
<script setup lang="ts">
|
||||
import { ButtonStyled, Toggle } from '@modrinth/ui'
|
||||
import { Button, Toggle } from '@modrinth/ui'
|
||||
import { ref, watch } from 'vue'
|
||||
|
||||
import { get as getSettings, set as setSettings } from '@/helpers/settings.ts'
|
||||
@@ -33,14 +33,13 @@ watch(
|
||||
</h2>
|
||||
</div>
|
||||
<div class="flex items-center gap-2">
|
||||
<ButtonStyled type="transparent">
|
||||
<button
|
||||
:disabled="themeStore.getFeatureFlag(option) === DEFAULT_FEATURE_FLAGS[option]"
|
||||
@click="setFeatureFlag(option, DEFAULT_FEATURE_FLAGS[option])"
|
||||
>
|
||||
Reset to default
|
||||
</button>
|
||||
</ButtonStyled>
|
||||
<Button
|
||||
type="quiet"
|
||||
:disabled="themeStore.getFeatureFlag(option) === DEFAULT_FEATURE_FLAGS[option]"
|
||||
@click="setFeatureFlag(option, DEFAULT_FEATURE_FLAGS[option])"
|
||||
>
|
||||
Reset to default
|
||||
</Button>
|
||||
<Toggle
|
||||
id="advanced-rendering"
|
||||
:model-value="themeStore.getFeatureFlag(option)"
|
||||
|
||||
@@ -116,6 +116,35 @@ const messages = defineMessages({
|
||||
id: 'app.settings.default-instance-options.post-exit-hook.description',
|
||||
defaultMessage: 'Runs after the game closes.',
|
||||
},
|
||||
hookVariablesDescription: {
|
||||
id: 'instance.settings.tabs.hooks.variables.description',
|
||||
defaultMessage:
|
||||
'Hooks run in the working directory of the instance, with the following variables:',
|
||||
},
|
||||
instanceNameDescription: {
|
||||
id: 'instance.settings.tabs.hooks.variables.inst-name.description',
|
||||
defaultMessage: '$INST_NAME: The name of the instance',
|
||||
},
|
||||
instanceIdDescription: {
|
||||
id: 'instance.settings.tabs.hooks.variables.inst-id.description',
|
||||
defaultMessage: "$INST_ID: The name of the instance's folder",
|
||||
},
|
||||
instanceDirDescription: {
|
||||
id: 'instance.settings.tabs.hooks.variables.inst-dir.description',
|
||||
defaultMessage: "$INST_DIR: The absolute path to the instance's folder",
|
||||
},
|
||||
instanceMcDirDescription: {
|
||||
id: 'instance.settings.tabs.hooks.variables.inst-mc-dir.description',
|
||||
defaultMessage: '$INST_MC_DIR: An alias for $INST_DIR',
|
||||
},
|
||||
instanceJavaDescription: {
|
||||
id: 'instance.settings.tabs.hooks.variables.inst-java.description',
|
||||
defaultMessage: '$INST_JAVA: The absolute path to the java binary',
|
||||
},
|
||||
instanceJavaArgsDescription: {
|
||||
id: 'instance.settings.tabs.hooks.variables.inst-java-args.description',
|
||||
defaultMessage: '$INST_JAVA_ARGS: The JVM Arguments provided to the game',
|
||||
},
|
||||
})
|
||||
|
||||
const fetchSettings = await get()
|
||||
@@ -328,6 +357,18 @@ watch(
|
||||
{{ formatMessage(messages.postExitHookDescription) }}
|
||||
</p>
|
||||
</div>
|
||||
|
||||
<div class="m-0 leading-tight">
|
||||
{{ formatMessage(messages.hookVariablesDescription) }}
|
||||
<ul>
|
||||
<li>{{ formatMessage(messages.instanceNameDescription) }}</li>
|
||||
<li>{{ formatMessage(messages.instanceIdDescription) }}</li>
|
||||
<li>{{ formatMessage(messages.instanceDirDescription) }}</li>
|
||||
<li>{{ formatMessage(messages.instanceMcDirDescription) }}</li>
|
||||
<li>{{ formatMessage(messages.instanceJavaDescription) }}</li>
|
||||
<li>{{ formatMessage(messages.instanceJavaArgsDescription) }}</li>
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</template>
|
||||
|
||||
+14
-15
@@ -1,8 +1,9 @@
|
||||
<script setup>
|
||||
import { BoxIcon, FolderOpenIcon, FolderSearchIcon, TrashIcon } from '@modrinth/assets'
|
||||
import {
|
||||
ButtonStyled,
|
||||
Button,
|
||||
defineMessages,
|
||||
IconButton,
|
||||
injectNotificationManager,
|
||||
Slider,
|
||||
StyledInput,
|
||||
@@ -183,16 +184,14 @@ async function findLauncherDir() {
|
||||
wrapper-class="w-full"
|
||||
>
|
||||
<template #right>
|
||||
<ButtonStyled circular>
|
||||
<button
|
||||
v-tooltip="formatMessage(messages.browseAppDirectory)"
|
||||
:aria-label="formatMessage(messages.browseAppDirectory)"
|
||||
class="ml-1.5"
|
||||
@click="findLauncherDir"
|
||||
>
|
||||
<FolderSearchIcon aria-hidden="true" />
|
||||
</button>
|
||||
</ButtonStyled>
|
||||
<IconButton
|
||||
v-tooltip="formatMessage(messages.browseAppDirectory)"
|
||||
:label="formatMessage(messages.browseAppDirectory)"
|
||||
class="ml-1.5"
|
||||
@click="findLauncherDir"
|
||||
>
|
||||
<FolderSearchIcon aria-hidden="true" />
|
||||
</IconButton>
|
||||
</template>
|
||||
</StyledInput>
|
||||
<p class="m-0 leading-tight text-secondary">
|
||||
@@ -235,10 +234,10 @@ async function findLauncherDir() {
|
||||
<h2 class="m-0 text-lg font-semibold text-contrast">
|
||||
{{ formatMessage(messages.appCacheTitle) }}
|
||||
</h2>
|
||||
<button id="purge-cache" class="btn min-w-max" @click="handlePurgeCacheClick">
|
||||
<Button id="purge-cache" class="w-fit" @click="handlePurgeCacheClick">
|
||||
<TrashIcon aria-hidden="true" />
|
||||
{{ formatMessage(messages.purgeCache) }}
|
||||
</button>
|
||||
</Button>
|
||||
<p class="m-0 leading-tight text-secondary">
|
||||
{{ formatMessage(messages.appCacheDescription) }}
|
||||
</p>
|
||||
@@ -280,10 +279,10 @@ async function findLauncherDir() {
|
||||
<h2 class="mt-0 m-0 text-lg font-semibold text-contrast">
|
||||
{{ formatMessage(messages.appDatabaseBackupsTitle) }}
|
||||
</h2>
|
||||
<button id="open-db-backups-folder" class="btn min-w-max" @click="openDbBackupsFolder">
|
||||
<Button id="open-db-backups-folder" class="w-fit" @click="openDbBackupsFolder">
|
||||
<FolderOpenIcon aria-hidden="true" />
|
||||
{{ formatMessage(messages.openBackupsFolder) }}
|
||||
</button>
|
||||
</Button>
|
||||
<p class="m-0 leading-tight text-secondary">
|
||||
{{ formatMessage(messages.appDatabaseBackupsDescription) }}
|
||||
</p>
|
||||
|
||||
+13
-19
@@ -10,24 +10,18 @@
|
||||
|
||||
<template #actions>
|
||||
<div class="flex justify-end gap-2">
|
||||
<ButtonStyled type="outlined">
|
||||
<button @click="handleCancel">
|
||||
<XIcon />
|
||||
{{ formatMessage(commonMessages.cancelButton) }}
|
||||
</button>
|
||||
</ButtonStyled>
|
||||
<ButtonStyled>
|
||||
<button @click="handleGoToInstance">
|
||||
{{ formatMessage(messages.instance) }}
|
||||
<RightArrowIcon />
|
||||
</button>
|
||||
</ButtonStyled>
|
||||
<ButtonStyled color="orange">
|
||||
<button @click="handleInstallAnyway">
|
||||
<DownloadIcon />
|
||||
{{ formatMessage(messages.installAnyway) }}
|
||||
</button>
|
||||
</ButtonStyled>
|
||||
<Button type="outlined" @click="handleCancel">
|
||||
<XIcon />
|
||||
{{ formatMessage(commonMessages.cancelButton) }}
|
||||
</Button>
|
||||
<Button @click="handleGoToInstance">
|
||||
{{ formatMessage(messages.instance) }}
|
||||
<RightArrowIcon />
|
||||
</Button>
|
||||
<Button type="colored" color="orange" @click="handleInstallAnyway">
|
||||
<DownloadIcon />
|
||||
{{ formatMessage(messages.installAnyway) }}
|
||||
</Button>
|
||||
</div>
|
||||
</template>
|
||||
</NewModal>
|
||||
@@ -36,7 +30,7 @@
|
||||
<script setup lang="ts">
|
||||
import { DownloadIcon, RightArrowIcon, XIcon } from '@modrinth/assets'
|
||||
import {
|
||||
ButtonStyled,
|
||||
Button,
|
||||
commonMessages,
|
||||
defineMessages,
|
||||
IntlFormatted,
|
||||
|
||||
+40
-4
@@ -26,12 +26,14 @@
|
||||
</span>
|
||||
</template>
|
||||
<div class="flex min-w-0 flex-col gap-3 pt-4">
|
||||
<div class="max-h-[292px] overflow-y-auto rounded-[20px]">
|
||||
<div ref="configFileTreeContainer" class="max-h-[292px] overflow-y-auto rounded-[20px]">
|
||||
<FileTreeSelect
|
||||
v-model="selectedConfigPaths"
|
||||
v-model="includedConfigPaths"
|
||||
v-model:excluded-paths="excludedConfigPaths"
|
||||
:items="configFileItems"
|
||||
:show-size="false"
|
||||
:show-modified="false"
|
||||
@navigate="scrollConfigFileTreeToTop"
|
||||
/>
|
||||
</div>
|
||||
</div>
|
||||
@@ -75,13 +77,23 @@ const emit = defineEmits<{
|
||||
const { formatMessage } = useVIntl()
|
||||
const { notifySharedInstanceError, notifySharedInstanceUnavailable } = useSharedInstanceErrors()
|
||||
const publishReviewModal = ref<InstanceType<typeof ContentDiffModal>>()
|
||||
const configFileTreeContainer = ref<HTMLElement>()
|
||||
const publishDiffs = ref<ContentDiffItem[]>([])
|
||||
const configFilePaths = ref<string[]>([])
|
||||
const selectedConfigPaths = ref<string[]>([])
|
||||
const includedConfigPaths = ref<string[]>([])
|
||||
const excludedConfigPaths = ref<string[]>([])
|
||||
const state = ref<SharedInstancePublishState>('idle')
|
||||
const configFileItems = computed<FileTreeSelectItem[]>(() =>
|
||||
configFilePaths.value.map((path) => ({ path, type: 'file' })),
|
||||
)
|
||||
const selectedConfigPaths = computed(() => {
|
||||
const includedPaths = new Set(includedConfigPaths.value)
|
||||
const excludedPaths = new Set(excludedConfigPaths.value)
|
||||
|
||||
return configFilePaths.value.filter((path) =>
|
||||
isConfigPathSelected(path, includedPaths, excludedPaths),
|
||||
)
|
||||
})
|
||||
|
||||
async function show(e?: MouseEvent) {
|
||||
if (state.value !== 'idle') return
|
||||
@@ -106,7 +118,8 @@ async function show(e?: MouseEvent) {
|
||||
disabled: diff.disabled,
|
||||
}))
|
||||
configFilePaths.value = preview.configFiles
|
||||
selectedConfigPaths.value = []
|
||||
includedConfigPaths.value = []
|
||||
excludedConfigPaths.value = []
|
||||
if (!publishReviewModal.value) return
|
||||
|
||||
publishReviewModal.value.show(e)
|
||||
@@ -132,6 +145,29 @@ async function publishChanges() {
|
||||
}
|
||||
}
|
||||
|
||||
function isConfigPathSelected(
|
||||
path: string,
|
||||
includedPaths: Set<string>,
|
||||
excludedPaths: Set<string>,
|
||||
) {
|
||||
let selected = false
|
||||
let prefix = ''
|
||||
|
||||
for (const segment of path.split('/').filter(Boolean)) {
|
||||
prefix = prefix ? `${prefix}/${segment}` : segment
|
||||
if (includedPaths.has(prefix)) selected = true
|
||||
if (excludedPaths.has(prefix)) selected = false
|
||||
}
|
||||
|
||||
return selected
|
||||
}
|
||||
|
||||
function scrollConfigFileTreeToTop() {
|
||||
if (configFileTreeContainer.value) {
|
||||
configFileTreeContainer.value.scrollTop = 0
|
||||
}
|
||||
}
|
||||
|
||||
function finishReview() {
|
||||
if (state.value === 'reviewing') {
|
||||
setState('idle')
|
||||
|
||||
+24
-38
@@ -193,53 +193,39 @@
|
||||
{{ formatMessage(messages.reviewedFiles) }}
|
||||
</p>
|
||||
<div v-if="!reportMode" class="flex w-full items-center justify-between gap-2">
|
||||
<ButtonStyled color="red" type="transparent">
|
||||
<button @click="reportMode = true">
|
||||
<ReportIcon />{{ formatMessage(commonMessages.reportButton) }}
|
||||
</button>
|
||||
</ButtonStyled>
|
||||
<Button type="quiet" color="red" @click="reportMode = true">
|
||||
<ReportIcon />{{ formatMessage(commonMessages.reportButton) }}
|
||||
</Button>
|
||||
<div class="flex items-center gap-2">
|
||||
<template v-if="hasExternalFiles">
|
||||
<ButtonStyled type="transparent" color="orange">
|
||||
<button @click="accept">
|
||||
{{ formatMessage(messages.installAnyway) }}
|
||||
</button>
|
||||
</ButtonStyled>
|
||||
<ButtonStyled color="brand">
|
||||
<button @click="handleCancel">
|
||||
<BanIcon />{{ formatMessage(messages.dontInstall) }}
|
||||
</button>
|
||||
</ButtonStyled>
|
||||
<Button type="quiet" color="orange" @click="accept">
|
||||
{{ formatMessage(messages.installAnyway) }}
|
||||
</Button>
|
||||
<Button type="colored" color="brand" @click="handleCancel">
|
||||
<BanIcon />{{ formatMessage(messages.dontInstall) }}
|
||||
</Button>
|
||||
</template>
|
||||
<template v-else>
|
||||
<ButtonStyled type="outlined">
|
||||
<button class="!border" @click="handleCancel">
|
||||
<XIcon />{{ formatMessage(commonMessages.cancelButton) }}
|
||||
</button>
|
||||
</ButtonStyled>
|
||||
<ButtonStyled color="brand">
|
||||
<button @click="accept">
|
||||
<DownloadIcon />{{ formatMessage(messages.installButton) }}
|
||||
</button>
|
||||
</ButtonStyled>
|
||||
<Button type="outlined" class="!border" @click="handleCancel">
|
||||
<XIcon />{{ formatMessage(commonMessages.cancelButton) }}
|
||||
</Button>
|
||||
<Button type="colored" color="brand" @click="accept">
|
||||
<DownloadIcon />{{ formatMessage(messages.installButton) }}
|
||||
</Button>
|
||||
</template>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<template v-if="reportMode" #actions>
|
||||
<div class="flex justify-end gap-2">
|
||||
<ButtonStyled type="outlined">
|
||||
<button class="!border" :disabled="submitLoading" @click="handleCancel">
|
||||
<XIcon />{{ formatMessage(commonMessages.cancelButton) }}
|
||||
</button>
|
||||
</ButtonStyled>
|
||||
<ButtonStyled color="brand">
|
||||
<button :disabled="!canSubmitReport" @click="submitReport">
|
||||
<SpinnerIcon v-if="submitLoading" class="animate-spin" />
|
||||
<SendIcon v-else />
|
||||
{{ formatMessage(commonMessages.reportButton) }}
|
||||
</button>
|
||||
</ButtonStyled>
|
||||
<Button type="outlined" class="!border" :disabled="submitLoading" @click="handleCancel">
|
||||
<XIcon />{{ formatMessage(commonMessages.cancelButton) }}
|
||||
</Button>
|
||||
<Button type="colored" color="brand" :disabled="!canSubmitReport" @click="submitReport">
|
||||
<SpinnerIcon v-if="submitLoading" class="animate-spin" />
|
||||
<SendIcon v-else />
|
||||
{{ formatMessage(commonMessages.reportButton) }}
|
||||
</Button>
|
||||
</div>
|
||||
</template>
|
||||
</NewModal>
|
||||
@@ -254,12 +240,12 @@
|
||||
<script setup lang="ts">
|
||||
import type { Labrinth } from '@modrinth/api-client'
|
||||
import { BanIcon, DownloadIcon, ReportIcon, SendIcon, SpinnerIcon, XIcon } from '@modrinth/assets'
|
||||
import { Button } from '@modrinth/ui'
|
||||
import {
|
||||
Admonition,
|
||||
AutoLink,
|
||||
Avatar,
|
||||
blockedUsersQueryKey,
|
||||
ButtonStyled,
|
||||
Checkbox,
|
||||
Combobox,
|
||||
type ComboboxOption,
|
||||
|
||||
+5
-7
@@ -4,12 +4,10 @@
|
||||
<span class="font-semibold text-contrast">{{
|
||||
heading ?? formatMessage(messages.sharedInstance)
|
||||
}}</span>
|
||||
<ButtonStyled type="transparent">
|
||||
<button @click="emit('viewContents')">
|
||||
<EyeIcon />
|
||||
{{ formatMessage(messages.viewContents) }}
|
||||
</button>
|
||||
</ButtonStyled>
|
||||
<Button type="quiet" @click="emit('viewContents')">
|
||||
<EyeIcon />
|
||||
{{ formatMessage(messages.viewContents) }}
|
||||
</Button>
|
||||
</div>
|
||||
<div class="flex items-center gap-3 rounded-2xl bg-surface-2 p-3">
|
||||
<Avatar
|
||||
@@ -34,7 +32,7 @@
|
||||
|
||||
<script setup lang="ts">
|
||||
import { EyeIcon } from '@modrinth/assets'
|
||||
import { Avatar, ButtonStyled, defineMessages, formatLoader, useVIntl } from '@modrinth/ui'
|
||||
import { Avatar, Button, defineMessages, formatLoader, useVIntl } from '@modrinth/ui'
|
||||
import { computed, toRefs } from 'vue'
|
||||
|
||||
import type { SharedInstanceInstallPreview } from '@/helpers/install'
|
||||
|
||||
@@ -22,11 +22,9 @@
|
||||
<div class="flex flex-col gap-4 w-full min-h-[20rem]">
|
||||
<section v-if="mode === 'edit' && canEditTextureAndModel">
|
||||
<h2 class="text-base font-semibold mb-2">{{ formatMessage(messages.textureSection) }}</h2>
|
||||
<ButtonStyled>
|
||||
<button class="!shadow-none" @click="openTextureFileBrowser">
|
||||
<UploadIcon /> {{ formatMessage(messages.replaceTextureButton) }}
|
||||
</button>
|
||||
</ButtonStyled>
|
||||
<Button @click="openTextureFileBrowser">
|
||||
<UploadIcon /> {{ formatMessage(messages.replaceTextureButton) }}
|
||||
</Button>
|
||||
<input
|
||||
ref="textureFileInput"
|
||||
type="file"
|
||||
@@ -112,19 +110,21 @@
|
||||
|
||||
<template #actions>
|
||||
<div class="flex gap-2 justify-end">
|
||||
<ButtonStyled type="outlined">
|
||||
<button :disabled="isSaving" @click="hide">
|
||||
<XIcon />{{ formatMessage(commonMessages.cancelButton) }}
|
||||
</button>
|
||||
</ButtonStyled>
|
||||
<ButtonStyled color="brand">
|
||||
<button v-tooltip="saveTooltip" :disabled="disableSave || isSaving" @click="save">
|
||||
<SpinnerIcon v-if="isSaving" class="animate-spin" />
|
||||
<CheckIcon v-else-if="mode === 'new'" />
|
||||
<SaveIcon v-else />
|
||||
{{ formatMessage(mode === 'new' ? messages.addSkinButton : messages.saveSkinButton) }}
|
||||
</button>
|
||||
</ButtonStyled>
|
||||
<Button type="outlined" :disabled="isSaving" @click="hide">
|
||||
<XIcon />{{ formatMessage(commonMessages.cancelButton) }}
|
||||
</Button>
|
||||
<Button
|
||||
v-tooltip="saveTooltip"
|
||||
type="colored"
|
||||
color="brand"
|
||||
:disabled="disableSave || isSaving"
|
||||
@click="save"
|
||||
>
|
||||
<SpinnerIcon v-if="isSaving" class="animate-spin" />
|
||||
<CheckIcon v-else-if="mode === 'new'" />
|
||||
<SaveIcon v-else />
|
||||
{{ formatMessage(mode === 'new' ? messages.addSkinButton : messages.saveSkinButton) }}
|
||||
</Button>
|
||||
</div>
|
||||
</template>
|
||||
</NewModal>
|
||||
@@ -133,7 +133,7 @@
|
||||
<script setup lang="ts">
|
||||
import { CheckIcon, SaveIcon, SpinnerIcon, UploadIcon, XIcon } from '@modrinth/assets'
|
||||
import {
|
||||
ButtonStyled,
|
||||
Button,
|
||||
CapeButton,
|
||||
CapeLikeTextButton,
|
||||
commonMessages,
|
||||
|
||||
@@ -2,9 +2,10 @@
|
||||
import { DropdownIcon, EditIcon, PlusIcon, TrashIcon, UnknownIcon } from '@modrinth/assets'
|
||||
import {
|
||||
Accordion,
|
||||
ButtonStyled,
|
||||
Button,
|
||||
commonMessages,
|
||||
defineMessages,
|
||||
IconButton,
|
||||
SkinButton,
|
||||
SkinLikeTextButton,
|
||||
useScrollViewport,
|
||||
@@ -463,25 +464,26 @@ defineExpose({ getAddSkinButtonElement })
|
||||
@select="emit('select', skin)"
|
||||
>
|
||||
<template v-if="!readOnly" #overlay-buttons>
|
||||
<ButtonStyled color="brand">
|
||||
<button
|
||||
:aria-label="formatMessage(messages.editSkinButton)"
|
||||
class="pointer-events-auto"
|
||||
@click.stop="(event: MouseEvent) => emit('edit', skin, event)"
|
||||
>
|
||||
<EditIcon /> {{ formatMessage(commonMessages.editButton) }}
|
||||
</button>
|
||||
</ButtonStyled>
|
||||
<ButtonStyled v-show="!skin.is_equipped" circular color="red">
|
||||
<button
|
||||
v-tooltip="formatMessage(messages.deleteSkinButton)"
|
||||
:aria-label="formatMessage(messages.deleteSkinButton)"
|
||||
class="!rounded-[100%] pointer-events-auto"
|
||||
@click.stop="emit('delete', skin)"
|
||||
>
|
||||
<TrashIcon />
|
||||
</button>
|
||||
</ButtonStyled>
|
||||
<Button
|
||||
type="colored"
|
||||
color="brand"
|
||||
:aria-label="formatMessage(messages.editSkinButton)"
|
||||
class="pointer-events-auto"
|
||||
@click.stop="(event: MouseEvent) => emit('edit', skin, event)"
|
||||
>
|
||||
<EditIcon /> {{ formatMessage(commonMessages.editButton) }}
|
||||
</Button>
|
||||
<IconButton
|
||||
v-show="!skin.is_equipped"
|
||||
v-tooltip="formatMessage(messages.deleteSkinButton)"
|
||||
type="colored"
|
||||
color="red"
|
||||
:label="formatMessage(messages.deleteSkinButton)"
|
||||
class="!rounded-[100%] pointer-events-auto"
|
||||
@click.stop="emit('delete', skin)"
|
||||
>
|
||||
<TrashIcon />
|
||||
</IconButton>
|
||||
</template>
|
||||
</SkinButton>
|
||||
</div>
|
||||
@@ -503,25 +505,26 @@ defineExpose({ getAddSkinButtonElement })
|
||||
@select="emit('select', skin)"
|
||||
>
|
||||
<template v-if="!readOnly" #overlay-buttons>
|
||||
<ButtonStyled color="brand">
|
||||
<button
|
||||
:aria-label="formatMessage(messages.editSkinButton)"
|
||||
class="pointer-events-auto"
|
||||
@click.stop="(event: MouseEvent) => emit('edit', skin, event)"
|
||||
>
|
||||
<EditIcon /> {{ formatMessage(commonMessages.editButton) }}
|
||||
</button>
|
||||
</ButtonStyled>
|
||||
<ButtonStyled v-show="!skin.is_equipped" circular color="red">
|
||||
<button
|
||||
v-tooltip="formatMessage(messages.deleteSkinButton)"
|
||||
:aria-label="formatMessage(messages.deleteSkinButton)"
|
||||
class="!rounded-[100%] pointer-events-auto"
|
||||
@click.stop="emit('delete', skin)"
|
||||
>
|
||||
<TrashIcon />
|
||||
</button>
|
||||
</ButtonStyled>
|
||||
<Button
|
||||
type="colored"
|
||||
color="brand"
|
||||
:aria-label="formatMessage(messages.editSkinButton)"
|
||||
class="pointer-events-auto"
|
||||
@click.stop="(event: MouseEvent) => emit('edit', skin, event)"
|
||||
>
|
||||
<EditIcon /> {{ formatMessage(commonMessages.editButton) }}
|
||||
</Button>
|
||||
<IconButton
|
||||
v-show="!skin.is_equipped"
|
||||
v-tooltip="formatMessage(messages.deleteSkinButton)"
|
||||
type="colored"
|
||||
color="red"
|
||||
:label="formatMessage(messages.deleteSkinButton)"
|
||||
class="!rounded-[100%] pointer-events-auto"
|
||||
@click.stop="emit('delete', skin)"
|
||||
>
|
||||
<TrashIcon />
|
||||
</IconButton>
|
||||
</template>
|
||||
</SkinButton>
|
||||
</div>
|
||||
@@ -545,15 +548,15 @@ defineExpose({ getAddSkinButtonElement })
|
||||
@select="emit('select', skin)"
|
||||
>
|
||||
<template #overlay-buttons>
|
||||
<ButtonStyled color="brand">
|
||||
<button
|
||||
:aria-label="formatMessage(messages.editSkinButton)"
|
||||
class="pointer-events-auto"
|
||||
@click.stop="(event: MouseEvent) => emit('edit', skin, event)"
|
||||
>
|
||||
<EditIcon /> {{ formatMessage(commonMessages.editButton) }}
|
||||
</button>
|
||||
</ButtonStyled>
|
||||
<Button
|
||||
type="colored"
|
||||
color="brand"
|
||||
:aria-label="formatMessage(messages.editSkinButton)"
|
||||
class="pointer-events-auto"
|
||||
@click.stop="(event: MouseEvent) => emit('edit', skin, event)"
|
||||
>
|
||||
<EditIcon /> {{ formatMessage(commonMessages.editButton) }}
|
||||
</Button>
|
||||
</template>
|
||||
</SkinButton>
|
||||
</div>
|
||||
|
||||
@@ -9,11 +9,11 @@ import {
|
||||
} from '@modrinth/assets'
|
||||
import {
|
||||
Avatar,
|
||||
ButtonStyled,
|
||||
Button,
|
||||
commonMessages,
|
||||
injectNotificationManager,
|
||||
OverflowMenu,
|
||||
SmartClickable,
|
||||
TeleportOverflowMenu,
|
||||
useFormatDateTime,
|
||||
useRelativeTime,
|
||||
useVIntl,
|
||||
@@ -185,54 +185,53 @@ onUnmounted(() => {
|
||||
</div>
|
||||
</div>
|
||||
<div class="flex gap-1 justify-end smart-clickable:allow-pointer-events">
|
||||
<ButtonStyled v-if="playing && !loading" color="red">
|
||||
<button @click="stop">
|
||||
<StopCircleIcon aria-hidden="true" />
|
||||
{{ formatMessage(commonMessages.stopButton) }}
|
||||
</button>
|
||||
</ButtonStyled>
|
||||
<ButtonStyled v-else>
|
||||
<button
|
||||
v-tooltip="
|
||||
instance.quarantined
|
||||
? 'This instance has been locked'
|
||||
: playing
|
||||
? 'Instance is already open'
|
||||
: null
|
||||
"
|
||||
:disabled="instance.quarantined || playing || loading"
|
||||
@click="play"
|
||||
>
|
||||
<SpinnerIcon v-if="loading" class="animate-spin" />
|
||||
<PlayIcon v-else aria-hidden="true" />
|
||||
{{ formatMessage(commonMessages.playButton) }}
|
||||
</button>
|
||||
</ButtonStyled>
|
||||
<ButtonStyled circular type="transparent">
|
||||
<OverflowMenu
|
||||
:options="[
|
||||
{
|
||||
id: 'open-instance',
|
||||
shown: !!instance.id,
|
||||
action: () => router.push(encodeURI(`/instance/${instance.id}`)),
|
||||
},
|
||||
{
|
||||
id: 'open-folder',
|
||||
action: () => showInstanceInFolder(instance.id),
|
||||
},
|
||||
]"
|
||||
>
|
||||
<MoreVerticalIcon aria-hidden="true" />
|
||||
<template #open-instance>
|
||||
<EyeIcon aria-hidden="true" />
|
||||
View instance
|
||||
</template>
|
||||
<template #open-folder>
|
||||
<FolderOpenIcon aria-hidden="true" />
|
||||
{{ formatMessage(commonMessages.openFolderButton) }}
|
||||
</template>
|
||||
</OverflowMenu>
|
||||
</ButtonStyled>
|
||||
<Button v-if="playing && !loading" type="colored" color="red" @click="stop">
|
||||
<StopCircleIcon aria-hidden="true" />
|
||||
{{ formatMessage(commonMessages.stopButton) }}
|
||||
</Button>
|
||||
<Button
|
||||
v-else
|
||||
v-tooltip="
|
||||
instance.quarantined
|
||||
? 'This instance has been locked'
|
||||
: playing
|
||||
? 'Instance is already open'
|
||||
: null
|
||||
"
|
||||
:disabled="instance.quarantined || playing || loading"
|
||||
@click="play"
|
||||
>
|
||||
<SpinnerIcon v-if="loading" class="animate-spin" />
|
||||
<PlayIcon v-else aria-hidden="true" />
|
||||
{{ formatMessage(commonMessages.playButton) }}
|
||||
</Button>
|
||||
<TeleportOverflowMenu
|
||||
type="quiet"
|
||||
label="More options"
|
||||
:options="[
|
||||
{
|
||||
id: 'open-instance',
|
||||
label: 'View instance',
|
||||
shown: !!instance.id,
|
||||
action: () => router.push(encodeURI(`/instance/${instance.id}`)),
|
||||
},
|
||||
{
|
||||
id: 'open-folder',
|
||||
label: formatMessage(commonMessages.openFolderButton),
|
||||
action: () => showInstanceInFolder(instance.id),
|
||||
},
|
||||
]"
|
||||
>
|
||||
<MoreVerticalIcon aria-hidden="true" />
|
||||
<template #open-instance>
|
||||
<EyeIcon aria-hidden="true" />
|
||||
View instance
|
||||
</template>
|
||||
<template #open-folder>
|
||||
<FolderOpenIcon aria-hidden="true" />
|
||||
{{ formatMessage(commonMessages.openFolderButton) }}
|
||||
</template>
|
||||
</TeleportOverflowMenu>
|
||||
</div>
|
||||
</div>
|
||||
</SmartClickable>
|
||||
|
||||
@@ -21,13 +21,13 @@ import {
|
||||
import type { MessageDescriptor } from '@modrinth/ui'
|
||||
import {
|
||||
Avatar,
|
||||
ButtonStyled,
|
||||
Button,
|
||||
commonMessages,
|
||||
defineMessages,
|
||||
injectNotificationManager,
|
||||
OverflowMenu,
|
||||
SmartClickable,
|
||||
TagItem,
|
||||
TeleportOverflowMenu,
|
||||
useFormatDateTime,
|
||||
useFormatNumber,
|
||||
useRelativeTime,
|
||||
@@ -412,177 +412,184 @@ const messages = defineMessages({
|
||||
</template>
|
||||
</div>
|
||||
<div class="flex gap-1 justify-end smart-clickable:allow-pointer-events">
|
||||
<ButtonStyled
|
||||
<Button
|
||||
v-if="(playingWorld || (locked && playingInstance)) && !startingInstance"
|
||||
type="colored"
|
||||
color="red"
|
||||
@click="emit('stop')"
|
||||
>
|
||||
<button @click="emit('stop')">
|
||||
<StopCircleIcon aria-hidden="true" />
|
||||
{{ formatMessage(commonMessages.stopButton) }}
|
||||
</button>
|
||||
</ButtonStyled>
|
||||
<ButtonStyled v-else>
|
||||
<button
|
||||
v-tooltip="
|
||||
quarantined
|
||||
? 'This instance has been locked'
|
||||
: world.type === 'server'
|
||||
? !supportsServerQuickPlay
|
||||
? formatMessage(messages.noServerQuickPlay)
|
||||
: playingOtherWorld
|
||||
? formatMessage(messages.gameAlreadyOpen)
|
||||
: !serverStatus
|
||||
? formatMessage(messages.noContact)
|
||||
: serverIncompatible
|
||||
? formatMessage(messages.incompatibleServer)
|
||||
: null
|
||||
: !supportsWorldQuickPlay
|
||||
? formatMessage(messages.noSingleplayerQuickPlay)
|
||||
: playingOtherWorld || locked
|
||||
? formatMessage(messages.gameAlreadyOpen)
|
||||
: null
|
||||
"
|
||||
:disabled="
|
||||
quarantined ||
|
||||
playingOtherWorld ||
|
||||
startingInstance ||
|
||||
(world.type == 'server' && !supportsServerQuickPlay) ||
|
||||
(world.type == 'singleplayer' && !supportsWorldQuickPlay)
|
||||
"
|
||||
@click="emit('play')"
|
||||
>
|
||||
<SpinnerIcon v-if="startingInstance && playingWorld" class="animate-spin" />
|
||||
<PlayIcon v-else aria-hidden="true" />
|
||||
{{ formatMessage(commonMessages.playButton) }}
|
||||
</button>
|
||||
</ButtonStyled>
|
||||
<ButtonStyled circular type="transparent">
|
||||
<OverflowMenu
|
||||
:options="[
|
||||
{
|
||||
id: 'play-instance',
|
||||
shown: !!instanceId,
|
||||
disabled: playingInstance || quarantined,
|
||||
action: () => emit('play-instance'),
|
||||
<StopCircleIcon aria-hidden="true" />
|
||||
{{ formatMessage(commonMessages.stopButton) }}
|
||||
</Button>
|
||||
<Button
|
||||
v-else
|
||||
v-tooltip="
|
||||
quarantined
|
||||
? 'This instance has been locked'
|
||||
: world.type === 'server'
|
||||
? !supportsServerQuickPlay
|
||||
? formatMessage(messages.noServerQuickPlay)
|
||||
: playingOtherWorld
|
||||
? formatMessage(messages.gameAlreadyOpen)
|
||||
: !serverStatus
|
||||
? formatMessage(messages.noContact)
|
||||
: serverIncompatible
|
||||
? formatMessage(messages.incompatibleServer)
|
||||
: null
|
||||
: !supportsWorldQuickPlay
|
||||
? formatMessage(messages.noSingleplayerQuickPlay)
|
||||
: playingOtherWorld || locked
|
||||
? formatMessage(messages.gameAlreadyOpen)
|
||||
: null
|
||||
"
|
||||
:disabled="
|
||||
quarantined ||
|
||||
playingOtherWorld ||
|
||||
startingInstance ||
|
||||
(world.type == 'server' && !supportsServerQuickPlay) ||
|
||||
(world.type == 'singleplayer' && !supportsWorldQuickPlay)
|
||||
"
|
||||
@click="emit('play')"
|
||||
>
|
||||
<SpinnerIcon v-if="startingInstance && playingWorld" class="animate-spin" />
|
||||
<PlayIcon v-else aria-hidden="true" />
|
||||
{{ formatMessage(commonMessages.playButton) }}
|
||||
</Button>
|
||||
<TeleportOverflowMenu
|
||||
type="quiet"
|
||||
label="More options"
|
||||
:options="[
|
||||
{
|
||||
id: 'play-instance',
|
||||
label: formatMessage(messages.playInstance),
|
||||
shown: !!instanceId,
|
||||
disabled: playingInstance || quarantined,
|
||||
action: () => emit('play-instance'),
|
||||
},
|
||||
{
|
||||
id: 'open-instance',
|
||||
label: formatMessage(messages.viewInstance),
|
||||
shown: !!instanceId,
|
||||
action: () => router.push(`/instance/${encodeURIComponent(instanceId)}`),
|
||||
},
|
||||
{
|
||||
id: 'refresh',
|
||||
label: formatMessage(commonMessages.refreshButton),
|
||||
shown: world.type === 'server',
|
||||
action: () => emit('refresh'),
|
||||
},
|
||||
{
|
||||
id: 'copy-address',
|
||||
label: formatMessage(messages.copyAddress),
|
||||
shown: world.type === 'server',
|
||||
action: () => copyToClipboard((world as ServerWorld).address),
|
||||
},
|
||||
{
|
||||
id: 'edit',
|
||||
label: formatMessage(commonMessages.editButton),
|
||||
action: () => emit('edit'),
|
||||
shown: !instanceId,
|
||||
disabled: locked || managed,
|
||||
tooltip: locked
|
||||
? formatMessage(messages.worldInUse)
|
||||
: managed
|
||||
? formatMessage(messages.linkedServer)
|
||||
: undefined,
|
||||
},
|
||||
{
|
||||
id: 'open-folder',
|
||||
label: formatMessage(commonMessages.openFolderButton),
|
||||
shown: world.type === 'singleplayer',
|
||||
action: () => (world.type === 'singleplayer' ? emit('open-folder', world) : {}),
|
||||
},
|
||||
{
|
||||
type: 'divider',
|
||||
shown: !!instanceId,
|
||||
},
|
||||
{
|
||||
id: 'dont-show-on-home',
|
||||
label: formatMessage(messages.dontShowOnHome),
|
||||
shown: !!instanceId,
|
||||
action: () => {
|
||||
set_world_display_status(
|
||||
instanceId,
|
||||
world.type,
|
||||
getWorldIdentifier(world),
|
||||
'hidden',
|
||||
).then(() => {
|
||||
emit('update')
|
||||
})
|
||||
},
|
||||
{
|
||||
id: 'open-instance',
|
||||
shown: !!instanceId,
|
||||
action: () => router.push(`/instance/${encodeURIComponent(instanceId)}`),
|
||||
},
|
||||
{
|
||||
id: 'refresh',
|
||||
shown: world.type === 'server',
|
||||
action: () => emit('refresh'),
|
||||
},
|
||||
{
|
||||
id: 'copy-address',
|
||||
shown: world.type === 'server',
|
||||
action: () => copyToClipboard((world as ServerWorld).address),
|
||||
},
|
||||
{
|
||||
id: 'edit',
|
||||
action: () => emit('edit'),
|
||||
shown: !instanceId,
|
||||
disabled: locked || managed,
|
||||
tooltip: locked
|
||||
? formatMessage(messages.worldInUse)
|
||||
: managed
|
||||
? formatMessage(messages.linkedServer)
|
||||
: undefined,
|
||||
},
|
||||
{
|
||||
id: 'open-folder',
|
||||
shown: world.type === 'singleplayer',
|
||||
action: () => (world.type === 'singleplayer' ? emit('open-folder', world) : {}),
|
||||
},
|
||||
{
|
||||
divider: true,
|
||||
shown: !!instanceId,
|
||||
},
|
||||
{
|
||||
id: 'dont-show-on-home',
|
||||
shown: !!instanceId,
|
||||
action: () => {
|
||||
set_world_display_status(
|
||||
instanceId,
|
||||
world.type,
|
||||
getWorldIdentifier(world),
|
||||
'hidden',
|
||||
).then(() => {
|
||||
emit('update')
|
||||
})
|
||||
},
|
||||
},
|
||||
{
|
||||
id: 'create-shortcut',
|
||||
shown: !!shortcutInstanceId && !quarantined,
|
||||
action: () => createShortcut(),
|
||||
},
|
||||
{
|
||||
divider: true,
|
||||
shown: !instanceId,
|
||||
},
|
||||
{
|
||||
id: 'delete',
|
||||
color: 'red',
|
||||
hoverFilled: true,
|
||||
action: () => emit('delete'),
|
||||
shown: !instanceId,
|
||||
disabled: locked || managed,
|
||||
tooltip: locked
|
||||
? formatMessage(messages.worldInUse)
|
||||
: managed
|
||||
? formatMessage(messages.linkedServer)
|
||||
: undefined,
|
||||
},
|
||||
]"
|
||||
>
|
||||
<MoreVerticalIcon aria-hidden="true" />
|
||||
<template #play-instance>
|
||||
<PlayIcon aria-hidden="true" />
|
||||
{{ formatMessage(messages.playInstance) }}
|
||||
</template>
|
||||
<template #open-instance>
|
||||
<EyeIcon aria-hidden="true" />
|
||||
{{ formatMessage(messages.viewInstance) }}
|
||||
</template>
|
||||
<template #edit>
|
||||
<EditIcon aria-hidden="true" />
|
||||
{{ formatMessage(commonMessages.editButton) }}
|
||||
</template>
|
||||
<template #open-folder>
|
||||
<FolderOpenIcon aria-hidden="true" />
|
||||
{{ formatMessage(commonMessages.openFolderButton) }}
|
||||
</template>
|
||||
<template #copy-address>
|
||||
<ClipboardCopyIcon aria-hidden="true" />
|
||||
{{ formatMessage(messages.copyAddress) }}
|
||||
</template>
|
||||
<template #refresh>
|
||||
<UpdatedIcon aria-hidden="true" />
|
||||
{{ formatMessage(commonMessages.refreshButton) }}
|
||||
</template>
|
||||
<template #create-shortcut>
|
||||
<ExternalIcon aria-hidden="true" />
|
||||
{{ formatMessage(messages.createShortcut) }}
|
||||
</template>
|
||||
<template #dont-show-on-home>
|
||||
<XIcon aria-hidden="true" />
|
||||
{{ formatMessage(messages.dontShowOnHome) }}
|
||||
</template>
|
||||
<template #delete>
|
||||
<TrashIcon aria-hidden="true" />
|
||||
{{
|
||||
formatMessage(
|
||||
world.type === 'server'
|
||||
? commonMessages.removeButton
|
||||
: commonMessages.deleteLabel,
|
||||
)
|
||||
}}
|
||||
</template>
|
||||
</OverflowMenu>
|
||||
</ButtonStyled>
|
||||
},
|
||||
{
|
||||
id: 'create-shortcut',
|
||||
label: formatMessage(messages.createShortcut),
|
||||
shown: !!shortcutInstanceId && !quarantined,
|
||||
action: () => createShortcut(),
|
||||
},
|
||||
{
|
||||
type: 'divider',
|
||||
shown: !instanceId,
|
||||
},
|
||||
{
|
||||
id: 'delete',
|
||||
label: formatMessage(
|
||||
world.type === 'server' ? commonMessages.removeButton : commonMessages.deleteLabel,
|
||||
),
|
||||
tone: 'red',
|
||||
action: () => emit('delete'),
|
||||
shown: !instanceId,
|
||||
disabled: locked || managed,
|
||||
tooltip: locked
|
||||
? formatMessage(messages.worldInUse)
|
||||
: managed
|
||||
? formatMessage(messages.linkedServer)
|
||||
: undefined,
|
||||
},
|
||||
]"
|
||||
>
|
||||
<MoreVerticalIcon aria-hidden="true" />
|
||||
<template #play-instance>
|
||||
<PlayIcon aria-hidden="true" />
|
||||
{{ formatMessage(messages.playInstance) }}
|
||||
</template>
|
||||
<template #open-instance>
|
||||
<EyeIcon aria-hidden="true" />
|
||||
{{ formatMessage(messages.viewInstance) }}
|
||||
</template>
|
||||
<template #edit>
|
||||
<EditIcon aria-hidden="true" />
|
||||
{{ formatMessage(commonMessages.editButton) }}
|
||||
</template>
|
||||
<template #open-folder>
|
||||
<FolderOpenIcon aria-hidden="true" />
|
||||
{{ formatMessage(commonMessages.openFolderButton) }}
|
||||
</template>
|
||||
<template #copy-address>
|
||||
<ClipboardCopyIcon aria-hidden="true" />
|
||||
{{ formatMessage(messages.copyAddress) }}
|
||||
</template>
|
||||
<template #refresh>
|
||||
<UpdatedIcon aria-hidden="true" />
|
||||
{{ formatMessage(commonMessages.refreshButton) }}
|
||||
</template>
|
||||
<template #create-shortcut>
|
||||
<ExternalIcon aria-hidden="true" />
|
||||
{{ formatMessage(messages.createShortcut) }}
|
||||
</template>
|
||||
<template #dont-show-on-home>
|
||||
<XIcon aria-hidden="true" />
|
||||
{{ formatMessage(messages.dontShowOnHome) }}
|
||||
</template>
|
||||
<template #delete>
|
||||
<TrashIcon aria-hidden="true" />
|
||||
{{
|
||||
formatMessage(
|
||||
world.type === 'server' ? commonMessages.removeButton : commonMessages.deleteLabel,
|
||||
)
|
||||
}}
|
||||
</template>
|
||||
</TeleportOverflowMenu>
|
||||
</div>
|
||||
</div>
|
||||
</SmartClickable>
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
<script setup lang="ts">
|
||||
import { PlayIcon, PlusIcon, XIcon } from '@modrinth/assets'
|
||||
import {
|
||||
ButtonStyled,
|
||||
Button,
|
||||
commonMessages,
|
||||
defineMessages,
|
||||
injectNotificationManager,
|
||||
@@ -96,24 +96,18 @@ defineExpose({ show, hide })
|
||||
/>
|
||||
<template #actions>
|
||||
<div class="flex gap-2 justify-end">
|
||||
<ButtonStyled type="outlined">
|
||||
<button @click="hide()">
|
||||
<XIcon />
|
||||
{{ formatMessage(commonMessages.cancelButton) }}
|
||||
</button>
|
||||
</ButtonStyled>
|
||||
<ButtonStyled>
|
||||
<button :disabled="!address" @click="addServer(false)">
|
||||
<PlusIcon />
|
||||
{{ formatMessage(messages.addServer) }}
|
||||
</button>
|
||||
</ButtonStyled>
|
||||
<ButtonStyled color="brand">
|
||||
<button :disabled="!address" @click="addServer(true)">
|
||||
<PlayIcon />
|
||||
{{ formatMessage(messages.addAndPlay) }}
|
||||
</button>
|
||||
</ButtonStyled>
|
||||
<Button type="outlined" @click="hide()">
|
||||
<XIcon />
|
||||
{{ formatMessage(commonMessages.cancelButton) }}
|
||||
</Button>
|
||||
<Button :disabled="!address" @click="addServer(false)">
|
||||
<PlusIcon />
|
||||
{{ formatMessage(messages.addServer) }}
|
||||
</Button>
|
||||
<Button type="colored" color="brand" :disabled="!address" @click="addServer(true)">
|
||||
<PlayIcon />
|
||||
{{ formatMessage(messages.addAndPlay) }}
|
||||
</Button>
|
||||
</div>
|
||||
</template>
|
||||
</NewModal>
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
import { TrashIcon, XIcon } from '@modrinth/assets'
|
||||
import {
|
||||
Admonition,
|
||||
ButtonStyled,
|
||||
Button,
|
||||
commonMessages,
|
||||
defineMessages,
|
||||
NewModal,
|
||||
@@ -106,18 +106,19 @@ defineExpose({ show, hide })
|
||||
|
||||
<template #actions>
|
||||
<div class="flex gap-2 justify-end">
|
||||
<ButtonStyled type="outlined">
|
||||
<button @click="hide">
|
||||
<XIcon />
|
||||
{{ formatMessage(commonMessages.cancelButton) }}
|
||||
</button>
|
||||
</ButtonStyled>
|
||||
<ButtonStyled color="red">
|
||||
<button :disabled="!isServer && !isSingleplayer" @click="confirm">
|
||||
<TrashIcon />
|
||||
{{ formatMessage(actionMessage) }}
|
||||
</button>
|
||||
</ButtonStyled>
|
||||
<Button type="outlined" @click="hide">
|
||||
<XIcon />
|
||||
{{ formatMessage(commonMessages.cancelButton) }}
|
||||
</Button>
|
||||
<Button
|
||||
type="colored"
|
||||
color="red"
|
||||
:disabled="!isServer && !isSingleplayer"
|
||||
@click="confirm"
|
||||
>
|
||||
<TrashIcon />
|
||||
{{ formatMessage(actionMessage) }}
|
||||
</Button>
|
||||
</div>
|
||||
</template>
|
||||
</NewModal>
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
<script setup lang="ts">
|
||||
import { SaveIcon, XIcon } from '@modrinth/assets'
|
||||
import {
|
||||
ButtonStyled,
|
||||
Button,
|
||||
commonMessages,
|
||||
defineMessage,
|
||||
injectNotificationManager,
|
||||
@@ -105,18 +105,14 @@ const titleMessage = defineMessage({
|
||||
<HideFromHomeOption v-model="hideFromHome" class="mt-3" />
|
||||
<template #actions>
|
||||
<div class="flex gap-2 justify-end">
|
||||
<ButtonStyled type="outlined">
|
||||
<button @click="hide()">
|
||||
<XIcon />
|
||||
{{ formatMessage(commonMessages.cancelButton) }}
|
||||
</button>
|
||||
</ButtonStyled>
|
||||
<ButtonStyled color="brand">
|
||||
<button :disabled="!address" @click="saveServer">
|
||||
<SaveIcon />
|
||||
{{ formatMessage(commonMessages.saveChangesButton) }}
|
||||
</button>
|
||||
</ButtonStyled>
|
||||
<Button type="outlined" @click="hide()">
|
||||
<XIcon />
|
||||
{{ formatMessage(commonMessages.cancelButton) }}
|
||||
</Button>
|
||||
<Button type="colored" color="brand" :disabled="!address" @click="saveServer">
|
||||
<SaveIcon />
|
||||
{{ formatMessage(commonMessages.saveChangesButton) }}
|
||||
</Button>
|
||||
</div>
|
||||
</template>
|
||||
</NewModal>
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
import { ChevronRightIcon, SaveIcon, UndoIcon, XIcon } from '@modrinth/assets'
|
||||
import {
|
||||
Avatar,
|
||||
ButtonStyled,
|
||||
Button,
|
||||
commonMessages,
|
||||
defineMessages,
|
||||
injectNotificationManager,
|
||||
@@ -113,24 +113,18 @@ const messages = defineMessages({
|
||||
<HideFromHomeOption v-model="hideFromHome" class="mt-3" />
|
||||
</div>
|
||||
<div class="flex gap-2 mt-4">
|
||||
<ButtonStyled color="brand">
|
||||
<button @click="saveWorld">
|
||||
<SaveIcon />
|
||||
{{ formatMessage(commonMessages.saveChangesButton) }}
|
||||
</button>
|
||||
</ButtonStyled>
|
||||
<ButtonStyled>
|
||||
<button :disabled="removeIcon || !icon" @click="removeIcon = true">
|
||||
<UndoIcon />
|
||||
{{ formatMessage(messages.resetIcon) }}
|
||||
</button>
|
||||
</ButtonStyled>
|
||||
<ButtonStyled>
|
||||
<button @click="hide()">
|
||||
<XIcon />
|
||||
{{ formatMessage(commonMessages.cancelButton) }}
|
||||
</button>
|
||||
</ButtonStyled>
|
||||
<Button type="colored" color="brand" @click="saveWorld">
|
||||
<SaveIcon />
|
||||
{{ formatMessage(commonMessages.saveChangesButton) }}
|
||||
</Button>
|
||||
<Button :disabled="removeIcon || !icon" @click="removeIcon = true">
|
||||
<UndoIcon />
|
||||
{{ formatMessage(messages.resetIcon) }}
|
||||
</Button>
|
||||
<Button @click="hide()">
|
||||
<XIcon />
|
||||
{{ formatMessage(commonMessages.cancelButton) }}
|
||||
</Button>
|
||||
</div>
|
||||
</ModalWrapper>
|
||||
</template>
|
||||
|
||||
@@ -17,6 +17,7 @@ import { kill, list as listInstances } from '@/helpers/instance'
|
||||
import { get_by_instance_id } from '@/helpers/process'
|
||||
import type { GameInstance } from '@/helpers/types'
|
||||
import { add_server_to_instance, getServerAddress } from '@/helpers/worlds'
|
||||
import { instanceKeys } from '@/pages/instance/query-options'
|
||||
|
||||
interface BrowseServerInstance {
|
||||
id: string
|
||||
@@ -38,7 +39,7 @@ interface ContextMenuOptionClick {
|
||||
}
|
||||
|
||||
export interface UseAppServerBrowseOptions {
|
||||
instance: Ref<BrowseServerInstance | null>
|
||||
instance: Readonly<Ref<BrowseServerInstance | null>>
|
||||
isFromWorlds: ComputedRef<boolean>
|
||||
allInstalledIds: ComputedRef<Set<string>>
|
||||
newlyInstalled: Ref<string[]>
|
||||
@@ -131,7 +132,7 @@ export function useAppServerBrowse(options: UseAppServerBrowseOptions) {
|
||||
project.minecraft_java_server?.content?.kind,
|
||||
)
|
||||
options.newlyInstalled.value.push(project.project_id)
|
||||
await queryClient.invalidateQueries({ queryKey: ['worlds', instanceId] })
|
||||
await queryClient.invalidateQueries({ queryKey: instanceKeys.worlds(instanceId) })
|
||||
} catch (error) {
|
||||
options.handleError(error)
|
||||
}
|
||||
|
||||
@@ -51,7 +51,8 @@ export async function loadInstanceContentData(
|
||||
}
|
||||
|
||||
function handleLoadError(error: unknown, onError?: (error: Error) => unknown) {
|
||||
onError?.(error as Error)
|
||||
if (!onError) throw error
|
||||
onError(error as Error)
|
||||
return null
|
||||
}
|
||||
|
||||
|
||||
@@ -282,12 +282,13 @@ export async function update_repair_modrinth(instanceId: string): Promise<Instal
|
||||
}
|
||||
|
||||
// Export an instance to .mrpack
|
||||
// included_overrides is an array of paths to override folders to include (ie: 'mods', 'resource_packs')
|
||||
// included_overrides and excluded_overrides are inherited path rules for files in the export.
|
||||
// Version id is optional (ie: 1.1.5)
|
||||
export async function export_instance_mrpack(
|
||||
instanceId: string,
|
||||
exportLocation: string,
|
||||
includedOverrides: string[],
|
||||
excludedOverrides: string[],
|
||||
versionId?: string,
|
||||
description?: string,
|
||||
name?: string,
|
||||
@@ -296,22 +297,33 @@ export async function export_instance_mrpack(
|
||||
instanceId,
|
||||
exportLocation,
|
||||
includedOverrides,
|
||||
excludedOverrides,
|
||||
versionId,
|
||||
description,
|
||||
name,
|
||||
})
|
||||
}
|
||||
|
||||
// Given a folder path, populate an array of all the subfolders
|
||||
// Intended to be used for finding potential override folders
|
||||
// profile
|
||||
// -- mods
|
||||
// -- resourcepacks
|
||||
// -- file1
|
||||
// => [mods, resourcepacks]
|
||||
// allows selection for 'included_overrides' in export_instance_mrpack
|
||||
export async function get_pack_export_candidates(instanceId: string): Promise<string[]> {
|
||||
return await invoke('plugin:instance|instance_get_pack_export_candidates', { instanceId })
|
||||
export type PackExportCandidate = {
|
||||
path: string
|
||||
type: 'directory' | 'file'
|
||||
size?: number
|
||||
modified?: number
|
||||
count?: number
|
||||
disabled: boolean
|
||||
defaultSelected: boolean
|
||||
}
|
||||
|
||||
// Given a folder path, populate an array of exportable direct children.
|
||||
// Allows selection for 'included_overrides' in export_instance_mrpack.
|
||||
export async function get_pack_export_candidates(
|
||||
instanceId: string,
|
||||
parent?: string,
|
||||
): Promise<PackExportCandidate[]> {
|
||||
return await invoke('plugin:instance|instance_get_pack_export_candidates', {
|
||||
instanceId,
|
||||
parent: parent ?? null,
|
||||
})
|
||||
}
|
||||
|
||||
// Run Minecraft using an instance
|
||||
|
||||
@@ -435,11 +435,12 @@ export async function refreshServerData(
|
||||
}
|
||||
}
|
||||
|
||||
export function refreshServers(
|
||||
export async function refreshServers(
|
||||
worlds: World[],
|
||||
serverData: Record<string, ServerData>,
|
||||
protocolVersion: ProtocolVersion | null,
|
||||
) {
|
||||
ping = true,
|
||||
): Promise<void> {
|
||||
const servers = worlds.filter(isServerWorld)
|
||||
servers.forEach((server) => {
|
||||
if (!serverData[server.address]) {
|
||||
@@ -451,9 +452,14 @@ export function refreshServers(
|
||||
}
|
||||
})
|
||||
|
||||
// noinspection ES6MissingAwait - handled by refreshServerData
|
||||
Object.keys(serverData).forEach((address) =>
|
||||
refreshServerData(serverData[address], protocolVersion, address),
|
||||
if (!ping) {
|
||||
return
|
||||
}
|
||||
|
||||
await Promise.all(
|
||||
Object.keys(serverData).map((address) =>
|
||||
refreshServerData(serverData[address], protocolVersion, address),
|
||||
),
|
||||
)
|
||||
}
|
||||
|
||||
|
||||
@@ -134,21 +134,12 @@
|
||||
"app.ads-consent.reject": {
|
||||
"message": "رفض الكل"
|
||||
},
|
||||
"app.appearance-settings.advanced-rendering.description": {
|
||||
"message": "يتيح العرض المتقدم لتأثيرات مثل التشويش الذي قد تسبب مشكلات في الأداء دون استخدام العرض المسرع بالأجهزة."
|
||||
},
|
||||
"app.appearance-settings.advanced-rendering.title": {
|
||||
"message": "العرض المتقدم"
|
||||
},
|
||||
"app.appearance-settings.color-theme.description": {
|
||||
"message": "اختر لون سمتك المفضل من أجل تطبيق Modrinth App."
|
||||
},
|
||||
"app.appearance-settings.color-theme.title": {
|
||||
"message": "لون السمة"
|
||||
},
|
||||
"app.appearance-settings.default-landing-page.description": {
|
||||
"message": "غير الصفحة التي يفتح عليها المشغل."
|
||||
},
|
||||
"app.appearance-settings.default-landing-page.home": {
|
||||
"message": "صفحة الرئيسية"
|
||||
},
|
||||
@@ -158,50 +149,23 @@
|
||||
"app.appearance-settings.default-landing-page.title": {
|
||||
"message": "الصفحة الرئيسة الافتراضية"
|
||||
},
|
||||
"app.appearance-settings.hide-nametag.description": {
|
||||
"message": "ألغ تفعيل عرض الاسم فوق لاعبك في صفحة المظاهر."
|
||||
},
|
||||
"app.appearance-settings.hide-nametag.title": {
|
||||
"message": "إخفاء عرض الاسم"
|
||||
},
|
||||
"app.appearance-settings.jump-back-into-worlds.description": {
|
||||
"message": "يتضمن العوالم الحديثة في قسم \"العودة إلى اللعب\" على الصفحة الرئيسية."
|
||||
},
|
||||
"app.appearance-settings.jump-back-into-worlds.title": {
|
||||
"message": "العودة إلى العوالم"
|
||||
},
|
||||
"app.appearance-settings.minimize-launcher.description": {
|
||||
"message": "قم بتصغير نافذة المشغل عند بدء تشغيل عملية Minecraft."
|
||||
},
|
||||
"app.appearance-settings.minimize-launcher.title": {
|
||||
"message": "تصغير نافذة المشغل"
|
||||
},
|
||||
"app.appearance-settings.native-decorations.description": {
|
||||
"message": "استخدام إطار نافذة النظام (يتطلب إعادة تشغيل التطبيق)."
|
||||
},
|
||||
"app.appearance-settings.native-decorations.title": {
|
||||
"message": "الزخارف التقليدية"
|
||||
},
|
||||
"app.appearance-settings.show-play-time.description": {
|
||||
"message": "يعرض مقدار الوقت الذي قضيته في لعب إحدى المهام."
|
||||
},
|
||||
"app.appearance-settings.show-play-time.title": {
|
||||
"message": "إظهار مدة التشغيل"
|
||||
},
|
||||
"app.appearance-settings.skip-non-essential-warnings.description": {
|
||||
"message": "يتخطى تلقائيًا عمليات التأكيد ذات المخاطر المنخفضة، مثل تثبيت حزم التعديلات المكررة، وحذف المحتوى العادي، والتحديثات الجماعية، وإلغاء ربط حزم التعديلات، ومطالبات الإصلاح. وسيستمر عرض التحذيرات الخطيرة."
|
||||
},
|
||||
"app.appearance-settings.skip-non-essential-warnings.title": {
|
||||
"message": "تخطي التحذيرات غير الضرورية"
|
||||
},
|
||||
"app.appearance-settings.toggle-sidebar.description": {
|
||||
"message": "يتيح إمكانية إظهار الشريط الجانبي أو إخفائه."
|
||||
"message": "قم بإخفاء الشريط الجانبي الأيمن افتراضيًا وأضف زرًا لإظهاره أو إخفائه."
|
||||
},
|
||||
"app.appearance-settings.toggle-sidebar.title": {
|
||||
"message": "تبديل الشريط الجانبي"
|
||||
},
|
||||
"app.appearance-settings.unknown-pack-warning.description": {
|
||||
"message": "إذا حاولت تثبيت ملف Modrinth Pack (.mrpack) غير مستضاف على Modrinth، فسنتأكد من أنك على دراية بالمخاطر قبل تثبيته."
|
||||
"message": "قم بإخفاء الشريط الجانبي الأيمن"
|
||||
},
|
||||
"app.appearance-settings.unknown-pack-warning.title": {
|
||||
"message": "أخبرني قبل تثبيت حزم التعديلات غير المعروفة"
|
||||
@@ -488,9 +452,6 @@
|
||||
"app.settings.tabs.appearance": {
|
||||
"message": "المظهر"
|
||||
},
|
||||
"app.settings.tabs.default-instance-options": {
|
||||
"message": "خيارات النسخة الافتراضية"
|
||||
},
|
||||
"app.settings.tabs.java-installations": {
|
||||
"message": "تثبيتات جافا"
|
||||
},
|
||||
|
||||
@@ -65,21 +65,12 @@
|
||||
"app.action-bar.view-logs": {
|
||||
"message": "Zobrazit logy"
|
||||
},
|
||||
"app.appearance-settings.advanced-rendering.description": {
|
||||
"message": "Povolí pokročilé vykreslování, například efekty rozmazání, které mohou bez hardwarového zrychlení způsobovat problémy s výkonem."
|
||||
},
|
||||
"app.appearance-settings.advanced-rendering.title": {
|
||||
"message": "Pokročilé vykreslování"
|
||||
},
|
||||
"app.appearance-settings.color-theme.description": {
|
||||
"message": "Vyberte si váš preferovaný motiv pro aplikaci Modrinth."
|
||||
},
|
||||
"app.appearance-settings.color-theme.title": {
|
||||
"message": "Barevný motiv"
|
||||
},
|
||||
"app.appearance-settings.default-landing-page.description": {
|
||||
"message": "Změňte stránku, která se otevře po spuštění launcheru."
|
||||
},
|
||||
"app.appearance-settings.default-landing-page.home": {
|
||||
"message": "Domů"
|
||||
},
|
||||
@@ -89,51 +80,18 @@
|
||||
"app.appearance-settings.default-landing-page.title": {
|
||||
"message": "Výchozí stránka po spuštění"
|
||||
},
|
||||
"app.appearance-settings.hide-nametag.description": {
|
||||
"message": "Zakáže zobrazení jmenovky nad vaší postavou na stránce skinů."
|
||||
},
|
||||
"app.appearance-settings.hide-nametag.title": {
|
||||
"message": "Skrýt jmenovku"
|
||||
},
|
||||
"app.appearance-settings.jump-back-into-worlds.description": {
|
||||
"message": "Zahrne nedávné světy do sekce „Vrátit se do hry“ na domovské stránce."
|
||||
},
|
||||
"app.appearance-settings.jump-back-into-worlds.title": {
|
||||
"message": "Rychlý návrat do světů"
|
||||
},
|
||||
"app.appearance-settings.minimize-launcher.description": {
|
||||
"message": "Minimalizovat launcher při spuštění Minecraftu."
|
||||
},
|
||||
"app.appearance-settings.minimize-launcher.title": {
|
||||
"message": "Minimalizovat launcher"
|
||||
},
|
||||
"app.appearance-settings.native-decorations.description": {
|
||||
"message": "Použít systémový rámeček okna (vyžaduje restart aplikace)."
|
||||
},
|
||||
"app.appearance-settings.native-decorations.title": {
|
||||
"message": "Systémové dekorace"
|
||||
},
|
||||
"app.appearance-settings.show-play-time.description": {
|
||||
"message": "Zobrazuje, kolik času jsi strávil hraním instance."
|
||||
},
|
||||
"app.appearance-settings.show-play-time.title": {
|
||||
"message": "Zobrazit odehraný čas"
|
||||
},
|
||||
"app.appearance-settings.skip-non-essential-warnings.description": {
|
||||
"message": "Automaticky přeskočí nízko riziková potrvzení jako duplicitní instalace modpacků, běžné mazání obsahu, hromadné aktualizace, odpojování modpacků a výzvy k opravě. Nebezpečná upozornění se budou nadále zobrazovat."
|
||||
},
|
||||
"app.appearance-settings.skip-non-essential-warnings.title": {
|
||||
"message": "Přeskočit nedůležitá upozornění"
|
||||
},
|
||||
"app.appearance-settings.toggle-sidebar.description": {
|
||||
"message": "Umožňí přepínat zobrazení postranního panelu."
|
||||
},
|
||||
"app.appearance-settings.toggle-sidebar.title": {
|
||||
"message": "Přepnout postranní panel"
|
||||
},
|
||||
"app.appearance-settings.unknown-pack-warning.description": {
|
||||
"message": "Pokud se pokusíte nainstalovat soubor Modrinth Pack (.mrpack), který není hostován na Modrinth, zajistíme, abyste si před instalací uvědomili související rizika."
|
||||
},
|
||||
"app.appearance-settings.unknown-pack-warning.title": {
|
||||
"message": "Upozorni mě před instalací neznámých modpacků"
|
||||
},
|
||||
@@ -401,9 +359,6 @@
|
||||
"app.settings.tabs.appearance": {
|
||||
"message": "Vzhled"
|
||||
},
|
||||
"app.settings.tabs.default-instance-options": {
|
||||
"message": "Výchozí možnosti instance"
|
||||
},
|
||||
"app.settings.tabs.java-installations": {
|
||||
"message": "Instalace Javy"
|
||||
},
|
||||
|
||||
@@ -89,6 +89,9 @@
|
||||
"app.action-bar.install.updating-shared-content": {
|
||||
"message": "Opdatere delt indhold"
|
||||
},
|
||||
"app.action-bar.installs": {
|
||||
"message": "Installeringer"
|
||||
},
|
||||
"app.action-bar.make-primary-instance": {
|
||||
"message": "Gør til primære instance"
|
||||
},
|
||||
@@ -131,21 +134,15 @@
|
||||
"app.ads-consent.reject": {
|
||||
"message": "Afvis alle"
|
||||
},
|
||||
"app.appearance-settings.advanced-rendering.description": {
|
||||
"message": "Aktiverer avanceret gengivelse som sløringseffekter, der kan forårsage ydelsesproblemer uden hardwareaccelereret gengivelse."
|
||||
"app.ads-consent.title": {
|
||||
"message": "Dit privatliv og hvordan reklamer hjælper Modrinth"
|
||||
},
|
||||
"app.appearance-settings.advanced-rendering.title": {
|
||||
"message": "Avanceret rendering"
|
||||
},
|
||||
"app.appearance-settings.color-theme.description": {
|
||||
"message": "Vælg dit foretrukne farvetema til Modrinth App."
|
||||
},
|
||||
"app.appearance-settings.color-theme.title": {
|
||||
"message": "Farvetema"
|
||||
},
|
||||
"app.appearance-settings.default-landing-page.description": {
|
||||
"message": "Skift hvilken side launcheren åbner i."
|
||||
},
|
||||
"app.appearance-settings.default-landing-page.home": {
|
||||
"message": "Hjem"
|
||||
},
|
||||
@@ -155,38 +152,23 @@
|
||||
"app.appearance-settings.default-landing-page.title": {
|
||||
"message": "Standard startside"
|
||||
},
|
||||
"app.appearance-settings.hide-nametag.description": {
|
||||
"message": "Slår nametagget over din spiller på skins siden fra."
|
||||
},
|
||||
"app.appearance-settings.hide-nametag.title": {
|
||||
"message": "Gem nametag"
|
||||
},
|
||||
"app.appearance-settings.jump-back-into-worlds.description": {
|
||||
"message": "Inkluderer de sidste verdener i afsnittet \"Hop tilbage\" på startsiden."
|
||||
},
|
||||
"app.appearance-settings.jump-back-into-worlds.title": {
|
||||
"message": "Hop tilbage ind i verdener"
|
||||
},
|
||||
"app.appearance-settings.minimize-launcher.description": {
|
||||
"message": "Minimer launcheren når Minecraft starter."
|
||||
},
|
||||
"app.appearance-settings.minimize-launcher.title": {
|
||||
"message": "Minimer launcher"
|
||||
},
|
||||
"app.appearance-settings.show-play-time.description": {
|
||||
"message": "Vis hvor meget tid du har brugt på at spille en instance."
|
||||
"message": "Minimer app"
|
||||
},
|
||||
"app.appearance-settings.show-play-time.title": {
|
||||
"message": "Vis tid spillet"
|
||||
},
|
||||
"app.appearance-settings.toggle-sidebar.description": {
|
||||
"message": "Aktivere muligheden for at slå sidepanelet til og fra."
|
||||
"app.appearance-settings.skip-non-essential-warnings.title": {
|
||||
"message": "Spring ikke nødvendige advarseler over"
|
||||
},
|
||||
"app.appearance-settings.toggle-sidebar.title": {
|
||||
"message": "Slå sidepanel til og fra"
|
||||
},
|
||||
"app.appearance-settings.unknown-pack-warning.description": {
|
||||
"message": "Hvis du prøver at installere en Modrinth Pack fil (.mrpack) som ikke er hosted på Modrinth, så skal vi nok sikre os du forstår riskoen før du installere den."
|
||||
"message": "Gem højre sidebar"
|
||||
},
|
||||
"app.appearance-settings.unknown-pack-warning.title": {
|
||||
"message": "Advar mig før jeg installere en ukendt modpacks"
|
||||
@@ -266,9 +248,42 @@
|
||||
"app.install.phase.preparing_java.downloading": {
|
||||
"message": "Downloader Java {version}"
|
||||
},
|
||||
"app.install.phase.preparing_java.fetching-metadata": {
|
||||
"message": "Henter Java {version}"
|
||||
},
|
||||
"app.install.phase.preparing_java.resolving": {
|
||||
"message": "Forbereder Java {version}"
|
||||
},
|
||||
"app.instance.admonitions.shared-instance.added-label": {
|
||||
"message": "Tilføjet"
|
||||
},
|
||||
"app.instance.admonitions.shared-instance.publish-button": {
|
||||
"message": "Skub opdatering"
|
||||
},
|
||||
"app.instance.admonitions.shared-instance.publishing-button": {
|
||||
"message": "Skubber..."
|
||||
},
|
||||
"app.instance.admonitions.shared-instance.removed-label": {
|
||||
"message": "Fjernet"
|
||||
},
|
||||
"app.instance.admonitions.shared-instance.review-admonition-header": {
|
||||
"message": "Skub opdatering"
|
||||
},
|
||||
"app.instance.admonitions.shared-instance.review-header": {
|
||||
"message": "Gennemså ændringer"
|
||||
},
|
||||
"app.instance.admonitions.shared-instance.review-update-button": {
|
||||
"message": "Gennemgå opdatering"
|
||||
},
|
||||
"app.instance.admonitions.shared-instance.reviewing-button": {
|
||||
"message": "Gennemgår..."
|
||||
},
|
||||
"app.instance.admonitions.shared-instance.update-available-body": {
|
||||
"message": "En opdatering er krævet for at spille {name}. Venligst opdater til den seneste version for at køre spillet."
|
||||
},
|
||||
"app.instance.admonitions.shared-instance.update-available-header": {
|
||||
"message": "En opdatering er tilgængelig"
|
||||
},
|
||||
"app.instance.confirm-delete.admonition-body": {
|
||||
"message": "Al' data for din instance vil blive permanent slettet, dette inkludere dine verdener, konfigurationer, og alt installeret indhold."
|
||||
},
|
||||
@@ -299,6 +314,9 @@
|
||||
"app.instance.mods.content-type-project": {
|
||||
"message": "projekt"
|
||||
},
|
||||
"app.instance.mods.locked-content": {
|
||||
"message": "Indhold i låste instances kan ikke blive ændret."
|
||||
},
|
||||
"app.instance.mods.project-was-added": {
|
||||
"message": "\"{name}\" blev tilføjet"
|
||||
},
|
||||
@@ -314,6 +332,18 @@
|
||||
"app.instance.mods.successfully-uploaded": {
|
||||
"message": "Uploadet"
|
||||
},
|
||||
"app.instance.share.empty.description": {
|
||||
"message": "Du kan ændre denne instance med dine venner!"
|
||||
},
|
||||
"app.instance.share.empty.heading": {
|
||||
"message": "Ingen venner inviteret"
|
||||
},
|
||||
"app.instance.share.empty.invite-friends-button": {
|
||||
"message": "Inviter venner"
|
||||
},
|
||||
"app.instance.share.invite-modal.heading": {
|
||||
"message": "Del {name}"
|
||||
},
|
||||
"app.instance.share.locked.empty-description-suffix": {
|
||||
"message": "for at tilgå denne side."
|
||||
},
|
||||
@@ -461,9 +491,6 @@
|
||||
"app.settings.tabs.appearance": {
|
||||
"message": "Udseende"
|
||||
},
|
||||
"app.settings.tabs.default-instance-options": {
|
||||
"message": "Standardindstillinger for instans"
|
||||
},
|
||||
"app.settings.tabs.java-installations": {
|
||||
"message": "Javainstallationer"
|
||||
},
|
||||
@@ -1085,9 +1112,6 @@
|
||||
"minecraft-required.sign-in": {
|
||||
"message": "Log ind på Microsoft"
|
||||
},
|
||||
"modal.modrinth-account-required.cancel-button": {
|
||||
"message": "Annuller"
|
||||
},
|
||||
"modal.modrinth-account-required.continue-in-browser-heading": {
|
||||
"message": "Fortsæt i din browser"
|
||||
},
|
||||
|
||||
@@ -15,7 +15,7 @@
|
||||
"message": "Kopiert"
|
||||
},
|
||||
"app.action-bar.install.copy-details": {
|
||||
"message": "Kopier Details"
|
||||
"message": "Details kopieren"
|
||||
},
|
||||
"app.action-bar.install.dismiss": {
|
||||
"message": "Ignorieren"
|
||||
@@ -27,16 +27,16 @@
|
||||
"message": "Wiederholen"
|
||||
},
|
||||
"app.action-bar.install.summary.app-closing": {
|
||||
"message": "Abbroche will app gschlosse worde isch"
|
||||
"message": "Aufgrund von Schließung der App abgebrochen"
|
||||
},
|
||||
"app.action-bar.install.summary.bad-modpack-file": {
|
||||
"message": "Modpack kud nöd glese werde"
|
||||
"message": "Modpack konnte nicht gelesen werden"
|
||||
},
|
||||
"app.action-bar.install.summary.canceled": {
|
||||
"message": "Abbroche"
|
||||
"message": "Abgebrochen"
|
||||
},
|
||||
"app.action-bar.install.summary.cleanup-incomplete": {
|
||||
"message": "Ufrume kunnti nöt beendet werde"
|
||||
"message": "Bereinigung konnte nicht abgeschlossen werden"
|
||||
},
|
||||
"app.action-bar.install.summary.content-download-failed": {
|
||||
"message": "Dateien konnten nicht heruntergeladen werden"
|
||||
@@ -144,19 +144,19 @@
|
||||
"message": "Deine Privatsphäre und wie Werbung Modrinth unterstützt"
|
||||
},
|
||||
"app.appearance-settings.advanced-rendering.description": {
|
||||
"message": "Aktiviert erweiterte Rendering-Funktionen wie Unschärfeeffekte, welche ohne hardwarebeschleunigtes Rendering zu Leistungsproblemen führen können."
|
||||
"message": "Visuelle Effekte wie Hintergrundunschärfe aktivieren. Ohne Hardwarebeschleunigung kann dies die Leistung beeinträchtigen."
|
||||
},
|
||||
"app.appearance-settings.advanced-rendering.title": {
|
||||
"message": "Erweitertes Rendering"
|
||||
},
|
||||
"app.appearance-settings.color-theme.description": {
|
||||
"message": "Wähle dein bevorzugtes Farbschema für die Modrinth App."
|
||||
"message": "Wähle das Farbschema der Modrinth App aus."
|
||||
},
|
||||
"app.appearance-settings.color-theme.title": {
|
||||
"message": "Farbschema"
|
||||
},
|
||||
"app.appearance-settings.default-landing-page.description": {
|
||||
"message": "Ändere die Seite, die beim Öffnen des Launchers angezeigt wird."
|
||||
"message": "Wähle die Seite, die beim Öffnen der Modrinth App erscheint."
|
||||
},
|
||||
"app.appearance-settings.default-landing-page.home": {
|
||||
"message": "Start"
|
||||
@@ -168,49 +168,49 @@
|
||||
"message": "Standard-Startseite"
|
||||
},
|
||||
"app.appearance-settings.hide-nametag.description": {
|
||||
"message": "Deaktiviert das Namensschild über deinem Spieler auf der Skin-Seite."
|
||||
"message": "Verbirgt deinen Benutzernamen über der Spielervorschau auf der Skin-Auswahlseite."
|
||||
},
|
||||
"app.appearance-settings.hide-nametag.title": {
|
||||
"message": "Namensschild ausblenden"
|
||||
},
|
||||
"app.appearance-settings.jump-back-into-worlds.description": {
|
||||
"message": "Enthält zuletzt gespielte Welten im Abschnitt „Direkt weiterspielen“ auf der Startseite."
|
||||
"message": "Zeigt deine zuletzt gespielten Welten in der Sektion „Direkt in Welten weiterspielen“ auf der Startseite an."
|
||||
},
|
||||
"app.appearance-settings.jump-back-into-worlds.title": {
|
||||
"message": "Springe zurück in Welten"
|
||||
},
|
||||
"app.appearance-settings.minimize-launcher.description": {
|
||||
"message": "Den Launcher minimieren, wenn ein Minecraft-Prozess gestartet wird."
|
||||
"message": "Minimiere die Modrinth App, wenn Minecraft startet."
|
||||
},
|
||||
"app.appearance-settings.minimize-launcher.title": {
|
||||
"message": "Launcher minimieren"
|
||||
"message": "App minimieren"
|
||||
},
|
||||
"app.appearance-settings.native-decorations.description": {
|
||||
"message": "Systemfensterrahmen verwenden (Neustart der App erforderlich)."
|
||||
"message": "Nutzt die Titelleiste und Fenstersteuerung deines Betriebssystems. Erfordert einen App-Neustart."
|
||||
},
|
||||
"app.appearance-settings.native-decorations.title": {
|
||||
"message": "Native Dekorationen"
|
||||
"message": "System-Fensterrahmen"
|
||||
},
|
||||
"app.appearance-settings.show-play-time.description": {
|
||||
"message": "Zeigt an, wie viel Zeit du mit dem Spielen einer Instanz verbracht hast."
|
||||
"message": "Zeigt, wie lange du jede einzelne Instanz gespielt hast."
|
||||
},
|
||||
"app.appearance-settings.show-play-time.title": {
|
||||
"message": "Spielzeit anzeigen"
|
||||
},
|
||||
"app.appearance-settings.skip-non-essential-warnings.description": {
|
||||
"message": "Bestätigungen mit geringem Risiko, wie z. B. die Installation doppelter Modpacks, das Löschen normaler Inhalte, Massenaktualisierungen, das Aufheben von Verknüpfungen zu Modpacks und Reparaturaufrufe, werden automatisch übersprungen. Gefährliche Warnungen werden weiterhin angezeigt."
|
||||
"message": "Bestätigungen für risikoarme Aktionen überspringen (z. B. doppelte Installationen, normales Löschen, Massen-Updates, Entkoppeln und Reparieren). Warnungen für gefährliche Aktionen werden weiterhin angezeigt."
|
||||
},
|
||||
"app.appearance-settings.skip-non-essential-warnings.title": {
|
||||
"message": "Unwichtige Warnungen überspringen"
|
||||
},
|
||||
"app.appearance-settings.toggle-sidebar.description": {
|
||||
"message": "Ermöglicht das Umschalten der Seitenleiste."
|
||||
"message": "Blendet die rechte Seitenleiste standardmäßig aus und fügt einen Button zum Ein- oder Ausblenden hinzu."
|
||||
},
|
||||
"app.appearance-settings.toggle-sidebar.title": {
|
||||
"message": "Seitenleiste umschalten"
|
||||
"message": "Rechte Seitenleiste ausblenden"
|
||||
},
|
||||
"app.appearance-settings.unknown-pack-warning.description": {
|
||||
"message": "Falls du versuchst, eine Modrinth-Pack-Datei (.mrpack) zu installieren, die nicht auf Modrinth gehostet wird, werden wir sicherstellen, dass du die Risiken vor der Installation verstehst."
|
||||
"message": "Sicherheitswarnung vor der Installation eines Modrinth-Packs (.mrpack) anzeigen, das nicht auf Modrinth gehostet wird."
|
||||
},
|
||||
"app.appearance-settings.unknown-pack-warning.title": {
|
||||
"message": "Warne mich, bevor unbekannte Modpacks installiert werden"
|
||||
@@ -221,6 +221,15 @@
|
||||
"app.auth-servers.unreachable.header": {
|
||||
"message": "Authentifizierungsserver sind nicht erreichbar"
|
||||
},
|
||||
"app.behavior-settings.confirmations.title": {
|
||||
"message": "Bestätigungen"
|
||||
},
|
||||
"app.behavior-settings.content.title": {
|
||||
"message": "Startseite & Inhalte"
|
||||
},
|
||||
"app.behavior-settings.startup-and-navigation.title": {
|
||||
"message": "Start & Navigation"
|
||||
},
|
||||
"app.browse.add-servers-to-instance": {
|
||||
"message": "Server zu Instanz hinzufügen"
|
||||
},
|
||||
@@ -242,12 +251,18 @@
|
||||
"app.browse.back-to-instance": {
|
||||
"message": "Zu Instanz zurückgehen"
|
||||
},
|
||||
"app.browse.discover-project-type": {
|
||||
"message": "{projectType} entdecken"
|
||||
},
|
||||
"app.browse.discover-servers": {
|
||||
"message": "Server entdecken"
|
||||
},
|
||||
"app.browse.hide-added-servers": {
|
||||
"message": "Bereits hinzugefügte Server ausblenden"
|
||||
},
|
||||
"app.browse.hide-installed-modpacks": {
|
||||
"message": "Bereits installiert ausblenden"
|
||||
},
|
||||
"app.browse.project-type.modpacks": {
|
||||
"message": "Modpacks"
|
||||
},
|
||||
@@ -362,9 +377,18 @@
|
||||
"app.instance.admonitions.shared-instance.review-header": {
|
||||
"message": "Änderungen überprüfen"
|
||||
},
|
||||
"app.instance.admonitions.shared-instance.review-update-button": {
|
||||
"message": "Update überprüfen"
|
||||
},
|
||||
"app.instance.admonitions.shared-instance.reviewing-button": {
|
||||
"message": "Wird überprüft..."
|
||||
},
|
||||
"app.instance.admonitions.shared-instance.update-available-body": {
|
||||
"message": "Ein Update ist erforderlich, um {name} zu spielen. Bitte aktualisiere auf die neueste Version, um das Spiel zu starten."
|
||||
},
|
||||
"app.instance.admonitions.shared-instance.update-available-header": {
|
||||
"message": "Ein Update ist verfügbar"
|
||||
},
|
||||
"app.instance.confirm-delete.admonition-body": {
|
||||
"message": "Alle Daten deiner Instanz werden permanent gelöscht, inlusive deiner Welten, Konfigurationen und allen installierten Inhalten."
|
||||
},
|
||||
@@ -431,6 +455,9 @@
|
||||
"app.instance.share.invite-modal.heading": {
|
||||
"message": "{name} teilen"
|
||||
},
|
||||
"app.instance.share.invite-modal.user-limit-reached": {
|
||||
"message": "Diese Instanz hat das Nutzerlimit von {limit} erreicht."
|
||||
},
|
||||
"app.instance.share.locked.empty-description-prefix": {
|
||||
"message": "Du musst dich als"
|
||||
},
|
||||
@@ -449,6 +476,12 @@
|
||||
"app.instance.share.locked.wrong-account-heading": {
|
||||
"message": "Falsches Konto"
|
||||
},
|
||||
"app.instance.share.members.empty": {
|
||||
"message": "Es sind noch keine Benutzer beigetreten"
|
||||
},
|
||||
"app.instance.share.members.no-filter-results": {
|
||||
"message": "Keine Benutzer passen zu deinen Filtern."
|
||||
},
|
||||
"app.instance.share.remove-user-modal.effect-access": {
|
||||
"message": "Diese Person wird für diese geteilte Instanz keine Updates mehr erhalten"
|
||||
},
|
||||
@@ -479,6 +512,12 @@
|
||||
"app.instance.share.sign-in.button": {
|
||||
"message": "Anmelden"
|
||||
},
|
||||
"app.instance.share.unable-to-connect.description": {
|
||||
"message": "Der Dienst für geteilte Instanzen ist derzeit nicht erreichbar; bitte versuche es später erneut"
|
||||
},
|
||||
"app.instance.share.unable-to-connect.heading": {
|
||||
"message": "Verbindung nicht möglich"
|
||||
},
|
||||
"app.instance.share.unlink.body": {
|
||||
"message": "Du musst die Verknüpfung zu diesem Modpack trennen, um deine Instanz zu teilen"
|
||||
},
|
||||
@@ -566,12 +605,60 @@
|
||||
"app.instance.worlds.search-worlds-placeholder": {
|
||||
"message": "Durchsuche {count} Welten..."
|
||||
},
|
||||
"app.java-detection.cancel": {
|
||||
"message": "Abbrechen"
|
||||
},
|
||||
"app.java-detection.columns.actions": {
|
||||
"message": "Aktionen"
|
||||
},
|
||||
"app.java-detection.columns.path": {
|
||||
"message": "Pfad"
|
||||
},
|
||||
"app.java-detection.columns.version": {
|
||||
"message": "Version"
|
||||
},
|
||||
"app.java-detection.no-installations-found": {
|
||||
"message": "Keine Java Installationen gefunden."
|
||||
},
|
||||
"app.java-detection.select": {
|
||||
"message": "Auswählen"
|
||||
},
|
||||
"app.java-detection.selected": {
|
||||
"message": "Ausgewählt"
|
||||
},
|
||||
"app.java-detection.title": {
|
||||
"message": "Java-Installation auswählen"
|
||||
},
|
||||
"app.java-selector.already-installed": {
|
||||
"message": "Bereits installiert"
|
||||
},
|
||||
"app.java-selector.browse": {
|
||||
"message": "Durchsuchen"
|
||||
},
|
||||
"app.java-selector.detect": {
|
||||
"message": "Erkennen"
|
||||
},
|
||||
"app.java-selector.install-recommended": {
|
||||
"message": "Empfohlenes installieren"
|
||||
},
|
||||
"app.java-selector.installing": {
|
||||
"message": "Installiere..."
|
||||
},
|
||||
"app.java-selector.path.placeholder": {
|
||||
"message": "/path/to/java"
|
||||
},
|
||||
"app.java-selector.test-installation": {
|
||||
"message": "Java-Installation testen"
|
||||
},
|
||||
"app.modal.install-to-play.additional-context": {
|
||||
"message": "Zusätzlicher Kontext"
|
||||
},
|
||||
"app.modal.install-to-play.additional-context-placeholder": {
|
||||
"message": "Füge gegebenenfalls relevante Links und Bilder hinzu"
|
||||
},
|
||||
"app.modal.install-to-play.block-user": {
|
||||
"message": "Benutzer blockieren"
|
||||
},
|
||||
"app.modal.install-to-play.content-you-are-reporting": {
|
||||
"message": "Die Instanz, die du meldest"
|
||||
},
|
||||
@@ -593,6 +680,9 @@
|
||||
"app.modal.install-to-play.invite-warning": {
|
||||
"message": "Diese Einladung wurde von einem anderen Modrinth-Nutzer erstellt, nicht von Modrinth. Nimm nur Einladungen von Personen an, denen du vertraust."
|
||||
},
|
||||
"app.modal.install-to-play.invite-warning-with-creator": {
|
||||
"message": "Diese Einladung wurde von <creator>{username}</creator> erstellt, nicht von Modrinth. Akzeptierte nur Einladungen von Leuten, denen du vertraust."
|
||||
},
|
||||
"app.modal.install-to-play.mod-count": {
|
||||
"message": "{count, plural, one {# Mod} other {# Mods}}"
|
||||
},
|
||||
@@ -650,6 +740,9 @@
|
||||
"app.modal.install-to-play.unrecognized-files": {
|
||||
"message": "Nicht erkannte Dateien"
|
||||
},
|
||||
"app.modal.install-to-play.user-blocked": {
|
||||
"message": "Benutzer blockiert"
|
||||
},
|
||||
"app.modal.install-to-play.view-contents": {
|
||||
"message": "Inhalte ansehen"
|
||||
},
|
||||
@@ -677,6 +770,36 @@
|
||||
"app.modal.update-to-play.update-required-description": {
|
||||
"message": "Zum Spielen von {name} ist eine Aktualisierung erforderlich. Bitte aktualisiere auf die neueste Version, um das Spiel zu starten."
|
||||
},
|
||||
"app.nav.create-new-instance": {
|
||||
"message": "Neue Instanz erstellen"
|
||||
},
|
||||
"app.nav.home": {
|
||||
"message": "Startseite"
|
||||
},
|
||||
"app.nav.library": {
|
||||
"message": "Bibliothek"
|
||||
},
|
||||
"app.nav.modrinth-account": {
|
||||
"message": "Modrinth-Konto"
|
||||
},
|
||||
"app.nav.modrinth-hosting": {
|
||||
"message": "Modrinth Hosting"
|
||||
},
|
||||
"app.nav.sign-in-to-modrinth-account": {
|
||||
"message": "Bei einem Modrinth-Konto anmelden"
|
||||
},
|
||||
"app.nav.signed-in-as": {
|
||||
"message": "Angemeldet als <user>{username}</user>"
|
||||
},
|
||||
"app.nav.upgrade-to-modrinth-plus": {
|
||||
"message": "Auf Modrinth+ upgraden"
|
||||
},
|
||||
"app.news.title": {
|
||||
"message": "Neuigkeiten"
|
||||
},
|
||||
"app.news.view-all": {
|
||||
"message": "Alle Neuigkeiten anzeigen"
|
||||
},
|
||||
"app.project.install-button.already-installed": {
|
||||
"message": "Dieses Projekt ist bereits installiert"
|
||||
},
|
||||
@@ -686,6 +809,9 @@
|
||||
"app.project.install-context.back-to-browse": {
|
||||
"message": "Zurück zu Entdecken"
|
||||
},
|
||||
"app.project.install-context.back-to-instance": {
|
||||
"message": "Zurück zur Instanz"
|
||||
},
|
||||
"app.project.version.all-versions": {
|
||||
"message": "Alle Versionen"
|
||||
},
|
||||
@@ -698,20 +824,188 @@
|
||||
"app.project.versions.already-installed": {
|
||||
"message": "Bereits installiert"
|
||||
},
|
||||
"app.quick-instance-switcher.drag-show-tooltip": {
|
||||
"message": "Ziehen, um letzte Instanzen anzuzeigen"
|
||||
},
|
||||
"app.quick-instance-switcher.drag-tooltip": {
|
||||
"message": "Ziehen zur Größenänderung"
|
||||
},
|
||||
"app.restarting": {
|
||||
"message": "Wird neu gestartet..."
|
||||
},
|
||||
"app.settings.app-version": {
|
||||
"message": "Modrinth App {version}"
|
||||
},
|
||||
"app.settings.default-instance-options.environment-variables.description": {
|
||||
"message": "Umgebungsvariablen, die beim Starten einer Instanz gesetzt werden."
|
||||
},
|
||||
"app.settings.default-instance-options.environment-variables.placeholder": {
|
||||
"message": "Umgebungsvariablen eingeben..."
|
||||
},
|
||||
"app.settings.default-instance-options.environment-variables.title": {
|
||||
"message": "Umgebungsvariablen"
|
||||
},
|
||||
"app.settings.default-instance-options.fullscreen.description": {
|
||||
"message": "Startet Instanzen im Vollbildmodus durch Aktualisieren ihrer options.txt-Datei."
|
||||
},
|
||||
"app.settings.default-instance-options.fullscreen.title": {
|
||||
"message": "Vollbildschirm"
|
||||
},
|
||||
"app.settings.default-instance-options.height.description": {
|
||||
"message": "Die Höhe des Spielfensters beim Starten"
|
||||
},
|
||||
"app.settings.default-instance-options.height.placeholder": {
|
||||
"message": "Höhe eingeben..."
|
||||
},
|
||||
"app.settings.default-instance-options.height.title": {
|
||||
"message": "Höhe"
|
||||
},
|
||||
"app.settings.default-instance-options.java-arguments.description": {
|
||||
"message": "Argumente, die beim Starten einer Instanz an Java übergeben werden."
|
||||
},
|
||||
"app.settings.default-instance-options.java-arguments.placeholder": {
|
||||
"message": "Java-Argumente eingeben..."
|
||||
},
|
||||
"app.settings.default-instance-options.java-arguments.title": {
|
||||
"message": "Java-Argumente"
|
||||
},
|
||||
"app.settings.default-instance-options.memory-allocation.description": {
|
||||
"message": "Maximal verfügbarer Arbeitsspeicher zu jeder Instanz."
|
||||
},
|
||||
"app.settings.default-instance-options.memory-allocation.title": {
|
||||
"message": "Arbeitsspeicherzuweisung"
|
||||
},
|
||||
"app.settings.default-instance-options.post-exit-hook.description": {
|
||||
"message": "Wird nach dem Beenden des Spiels ausgeführt."
|
||||
},
|
||||
"app.settings.default-instance-options.post-exit-hook.placeholder": {
|
||||
"message": "Nach Spielbeendigung auszuführender Befehl eingeben..."
|
||||
},
|
||||
"app.settings.default-instance-options.post-exit-hook.title": {
|
||||
"message": "Aktion nach Programmende"
|
||||
},
|
||||
"app.settings.default-instance-options.pre-launch-hook.description": {
|
||||
"message": "Läuft bevor die Instanz startet."
|
||||
},
|
||||
"app.settings.default-instance-options.pre-launch-hook.placeholder": {
|
||||
"message": "Vor Spielstart auszuführenden Befehl eingeben..."
|
||||
},
|
||||
"app.settings.default-instance-options.pre-launch-hook.title": {
|
||||
"message": "Startaktion"
|
||||
},
|
||||
"app.settings.default-instance-options.width.description": {
|
||||
"message": "Die Breite des Spielfensters beim Start."
|
||||
},
|
||||
"app.settings.default-instance-options.width.placeholder": {
|
||||
"message": "Breite eingeben..."
|
||||
},
|
||||
"app.settings.default-instance-options.width.title": {
|
||||
"message": "Breite"
|
||||
},
|
||||
"app.settings.default-instance-options.wrapper-hook.description": {
|
||||
"message": "Wrapper-Befehl für den Minecraft-Startprozess."
|
||||
},
|
||||
"app.settings.default-instance-options.wrapper-hook.placeholder": {
|
||||
"message": "Wrapperbefehl eingeben..."
|
||||
},
|
||||
"app.settings.default-instance-options.wrapper-hook.title": {
|
||||
"message": "Wrapper-Hook"
|
||||
},
|
||||
"app.settings.developer-mode-button.label": {
|
||||
"message": "Entwicklermodus umschalten"
|
||||
},
|
||||
"app.settings.developer-mode-enabled": {
|
||||
"message": "Entwicklermodus aktiviert."
|
||||
},
|
||||
"app.settings.downloading": {
|
||||
"message": "Lade v{version} herunter"
|
||||
},
|
||||
"app.settings.java-installations.location.title": {
|
||||
"message": "Java {version, number} Installation"
|
||||
},
|
||||
"app.settings.operating-system.macos": {
|
||||
"message": "macOS"
|
||||
},
|
||||
"app.settings.privacy.ads-consent.intro": {
|
||||
"message": "Werbung ermöglicht Modrinth und finanziert die Auszahlungen an die Ersteller. Unsere Partner speichern möglicherweise Cookies in der App oder greifen auf diese zu, um Werbung zu personalisieren und die Leistung zu messen. Du kannst dies unten deaktivieren oder deine Einstellungen verwalten."
|
||||
},
|
||||
"app.settings.privacy.discord-rich-presence.description": {
|
||||
"message": "Zeige Modrinth App als deine aktuelle Aktivität auf Discord. Dies betrifft nicht Rich Presence die von Mods zu Instanzen hinzugefügt wird. Benötigt einen Neustart der App."
|
||||
},
|
||||
"app.settings.privacy.discord-rich-presence.title": {
|
||||
"message": "Discord Rich Presence"
|
||||
},
|
||||
"app.settings.privacy.telemetry.description": {
|
||||
"message": "Modrinth sammelt anonymisierte Analyse- und Nutzungsdaten, um unsere Nutzererfahrung zu verbessern und deine Erfahrung anzupassen. Wenn du diese Option deaktivierst, entscheidest du dich dagegen und deine Daten werden nicht mehr gesammelt."
|
||||
},
|
||||
"app.settings.privacy.telemetry.title": {
|
||||
"message": "Telemetrie"
|
||||
},
|
||||
"app.settings.resource-management.always-show-copy-details.description": {
|
||||
"message": "Zeigt die Aktion \"Details kopieren\" an, während eine Installation in der Warteschlange steht oder ausgeführt wird. Bei fehlgeschlagenen oder abgebrochenen Installationen ist sie immer verfügbar."
|
||||
},
|
||||
"app.settings.resource-management.always-show-copy-details.title": {
|
||||
"message": "Immer Kopierdetails anzeigen"
|
||||
},
|
||||
"app.settings.resource-management.app-cache.confirm.description": {
|
||||
"message": "Die App könnte langsamer laden, bis der Cache neu aufgebaut wurde."
|
||||
},
|
||||
"app.settings.resource-management.app-cache.confirm.title": {
|
||||
"message": "App-Cache leeren?"
|
||||
},
|
||||
"app.settings.resource-management.app-cache.description": {
|
||||
"message": "Gespeicherte Cache-Daten löschen und sie neu von Modrinth herunterladen. Die App könnte langsamer laden, bis der Cache neu aufgebaut wurde."
|
||||
},
|
||||
"app.settings.resource-management.app-cache.purge": {
|
||||
"message": "Cache leeren"
|
||||
},
|
||||
"app.settings.resource-management.app-cache.title": {
|
||||
"message": "App-Cache"
|
||||
},
|
||||
"app.settings.resource-management.app-database-backups.description": {
|
||||
"message": "Backups von wichtigen App-Daten werden hier gespeichert, falls du sie später wiederherstellen musst."
|
||||
},
|
||||
"app.settings.resource-management.app-database-backups.open-folder": {
|
||||
"message": "Backups Ordner öffnen"
|
||||
},
|
||||
"app.settings.resource-management.app-database-backups.title": {
|
||||
"message": "App-Daten Backups"
|
||||
},
|
||||
"app.settings.resource-management.app-directory.browse": {
|
||||
"message": "Nach einem App-Verzeichnis suchen"
|
||||
},
|
||||
"app.settings.resource-management.app-directory.description": {
|
||||
"message": "Wo Modrinth App Instanzen und andere Dateien speichert. Änderungen werden nach dem Neustarten der App angewendet."
|
||||
},
|
||||
"app.settings.resource-management.app-directory.select": {
|
||||
"message": "Neues App-Verzeichnis auswählen"
|
||||
},
|
||||
"app.settings.resource-management.app-directory.title": {
|
||||
"message": "App Installation"
|
||||
},
|
||||
"app.settings.resource-management.maximum-concurrent-downloads.description": {
|
||||
"message": "Anzahl der Dateien, die die App auf einmal herunterladen kann. Senke dies, wenn downloads auf deiner Verbindung unzuverlässig sind. Benötigt einen App-Neustart."
|
||||
},
|
||||
"app.settings.resource-management.maximum-concurrent-downloads.title": {
|
||||
"message": "Maximale gleichzeitige Downloads"
|
||||
},
|
||||
"app.settings.resource-management.maximum-concurrent-writes.description": {
|
||||
"message": "Wie viele Dateien die App auf einmal auf die Festplatte schreiben kann. Senke dies, wenn du oft I/O Fehler bekommst. Benötigt einen App-Neustart."
|
||||
},
|
||||
"app.settings.resource-management.maximum-concurrent-writes.title": {
|
||||
"message": "Maximale gleichzeitige Schreibvorgänge"
|
||||
},
|
||||
"app.settings.sidebar.label.instances": {
|
||||
"message": "Instanzen"
|
||||
},
|
||||
"app.settings.tabs.appearance": {
|
||||
"message": "Erscheinungsbild"
|
||||
},
|
||||
"app.settings.tabs.behavior": {
|
||||
"message": "Verhalten"
|
||||
},
|
||||
"app.settings.tabs.default-instance-options": {
|
||||
"message": "Standard Instanz-Einstellungen"
|
||||
"message": "Standard Spieleinstellungen"
|
||||
},
|
||||
"app.settings.tabs.java-installations": {
|
||||
"message": "Java Installationen"
|
||||
@@ -725,6 +1019,9 @@
|
||||
"app.settings.tabs.resource-management": {
|
||||
"message": "Ressourcenmanagement"
|
||||
},
|
||||
"app.sidebar.playing-as": {
|
||||
"message": "Wird gespielt als"
|
||||
},
|
||||
"app.skins.add-button": {
|
||||
"message": "Skin hinzufügen"
|
||||
},
|
||||
@@ -884,6 +1181,21 @@
|
||||
"app.skins.toggle-ears-features-on": {
|
||||
"message": "Aktivieren"
|
||||
},
|
||||
"app.survey.body": {
|
||||
"message": "Könntest du ein paar Fragen über deine Erfahrung mit Modrinth App beantworten?"
|
||||
},
|
||||
"app.survey.footer": {
|
||||
"message": "Das Feedback geht direkt an das Modrinth-Team und wird helfen, zukünftige Updates zu gestalten!"
|
||||
},
|
||||
"app.survey.no-thanks": {
|
||||
"message": "Nein, danke"
|
||||
},
|
||||
"app.survey.take-survey": {
|
||||
"message": "Beantworten"
|
||||
},
|
||||
"app.survey.title": {
|
||||
"message": "Hey, Modrinth Nutzer!"
|
||||
},
|
||||
"app.update-popup.body.download-complete": {
|
||||
"message": "Modrinth App v{version} wurde heruntergeladen. Lade die App neu um jetzt zu aktualisieren, oder automatisch nach dem schliessen der Modrinth App."
|
||||
},
|
||||
@@ -1160,6 +1472,45 @@
|
||||
"instance.server-modal.resource-pack": {
|
||||
"message": "Ressourcenpaket"
|
||||
},
|
||||
"instance.settings.sharing.active-invites.actions": {
|
||||
"message": "Aktionen"
|
||||
},
|
||||
"instance.settings.sharing.active-invites.code": {
|
||||
"message": "Einladungslink"
|
||||
},
|
||||
"instance.settings.sharing.active-invites.description": {
|
||||
"message": "Jeder, der einen dieser Einladungslinks hat, kann beitreten, solange der Link aktiv ist."
|
||||
},
|
||||
"instance.settings.sharing.active-invites.empty": {
|
||||
"message": "Es gibt keine aktiven Einladungen."
|
||||
},
|
||||
"instance.settings.sharing.active-invites.expires": {
|
||||
"message": "Läuft ab"
|
||||
},
|
||||
"instance.settings.sharing.active-invites.revoke": {
|
||||
"message": "Einladung zurückziehen"
|
||||
},
|
||||
"instance.settings.sharing.active-invites.revoke-with-code": {
|
||||
"message": "Einladung {code} zurückziehen"
|
||||
},
|
||||
"instance.settings.sharing.active-invites.title": {
|
||||
"message": "Aktive Einladungen"
|
||||
},
|
||||
"instance.settings.sharing.active-invites.uses": {
|
||||
"message": "Nutzungen"
|
||||
},
|
||||
"instance.settings.sharing.revoke-invite.admonition-body": {
|
||||
"message": "Der Einladungslink <monospace>{code}</monospace> wird sofort aufhören zu funktionieren. Nutzer, die bereits beigetreten sind, bleibt der Zugang gewährt."
|
||||
},
|
||||
"instance.settings.sharing.revoke-invite.admonition-header": {
|
||||
"message": "Diese Aktion kann nicht rückgängig gemacht werden"
|
||||
},
|
||||
"instance.settings.sharing.revoke-invite.confirm": {
|
||||
"message": "Einladung zurückziehen"
|
||||
},
|
||||
"instance.settings.sharing.revoke-invite.header": {
|
||||
"message": "Einladung zurückziehen"
|
||||
},
|
||||
"instance.settings.tabs.general": {
|
||||
"message": "Allgemein"
|
||||
},
|
||||
@@ -1361,6 +1712,12 @@
|
||||
"instance.shared-instance.error.title": {
|
||||
"message": "Etwas ist schiefgelaufen"
|
||||
},
|
||||
"instance.shared-instance.network-error.text": {
|
||||
"message": "Verbindung zur Shared-Instances-API nicht möglich"
|
||||
},
|
||||
"instance.shared-instance.network-error.title": {
|
||||
"message": "Netzwerkfehler"
|
||||
},
|
||||
"instance.shared-instance.owner-tooltip": {
|
||||
"message": "Der Inhalt dieser Instanz wird mit anderen Benutzern geteilt."
|
||||
},
|
||||
@@ -1496,9 +1853,6 @@
|
||||
"modal.modrinth-account-required.browser-description": {
|
||||
"message": "Ein neuer Tab zum Anmelden wurde geöffnet. Schließe die Anmeldung dort ab und kehren anschließend zur App zurück."
|
||||
},
|
||||
"modal.modrinth-account-required.cancel-button": {
|
||||
"message": "Abbrechen"
|
||||
},
|
||||
"modal.modrinth-account-required.continue-in-browser-heading": {
|
||||
"message": "Im Browser fortfahren"
|
||||
},
|
||||
@@ -1552,5 +1906,11 @@
|
||||
},
|
||||
"search.filter.locked.server-loader.title": {
|
||||
"message": "Loader wird vom Server bereitgestellt"
|
||||
},
|
||||
"settings.sidebar.label.account": {
|
||||
"message": "Konto"
|
||||
},
|
||||
"settings.sidebar.label.display": {
|
||||
"message": "Anzeige"
|
||||
}
|
||||
}
|
||||
|
||||
@@ -144,19 +144,19 @@
|
||||
"message": "Deine Privatsphäre und wie Werbung Modrinth unterstützt"
|
||||
},
|
||||
"app.appearance-settings.advanced-rendering.description": {
|
||||
"message": "Aktiviert erweiterte Rendering-Funktionen wie Unschärfe-Effekte, welche ohne Hardware-beschleunigtes Rendering zu Leistungsproblemen führen können."
|
||||
"message": "Visuelle Effekte wie Hintergrundunschärfe aktivieren. Ohne Hardwarebeschleunigung kann dies die Leistung beeinträchtigen."
|
||||
},
|
||||
"app.appearance-settings.advanced-rendering.title": {
|
||||
"message": "Erweitertes Rendering"
|
||||
},
|
||||
"app.appearance-settings.color-theme.description": {
|
||||
"message": "Wähle dein bevorzugtes Farbschema für die Modrinth App."
|
||||
"message": "Wähle das Farbschema der Modrinth App aus."
|
||||
},
|
||||
"app.appearance-settings.color-theme.title": {
|
||||
"message": "Farbschema"
|
||||
},
|
||||
"app.appearance-settings.default-landing-page.description": {
|
||||
"message": "Ändere die Seite, die beim Öffnen des Launchers angezeigt wird."
|
||||
"message": "Wähle die Seite, die beim Öffnen der Modrinth App erscheint."
|
||||
},
|
||||
"app.appearance-settings.default-landing-page.home": {
|
||||
"message": "Start"
|
||||
@@ -168,49 +168,49 @@
|
||||
"message": "Standard-Startseite"
|
||||
},
|
||||
"app.appearance-settings.hide-nametag.description": {
|
||||
"message": "Deaktiviert das Namensschild über deinem Spieler auf der Skin-Seite."
|
||||
"message": "Verbirgt deinen Benutzernamen über der Spielervorschau auf der Skin-Auswahlseite."
|
||||
},
|
||||
"app.appearance-settings.hide-nametag.title": {
|
||||
"message": "Namensschild ausblenden"
|
||||
},
|
||||
"app.appearance-settings.jump-back-into-worlds.description": {
|
||||
"message": "Enthält zuletzt gespielte Welten im Abschnitt „Direkt weiterspielen“ auf der Startseite."
|
||||
"message": "Zeigt deine zuletzt gespielten Welten in der Sektion „Direkt in Welten weiterspielen“ auf der Startseite an."
|
||||
},
|
||||
"app.appearance-settings.jump-back-into-worlds.title": {
|
||||
"message": "Direkt in Welten weiterspielen"
|
||||
},
|
||||
"app.appearance-settings.minimize-launcher.description": {
|
||||
"message": "Den Launcher minimieren, wenn ein Minecraft-Prozess gestartet wird."
|
||||
"message": "Minimiere die Modrinth App, wenn Minecraft startet."
|
||||
},
|
||||
"app.appearance-settings.minimize-launcher.title": {
|
||||
"message": "Launcher minimieren"
|
||||
"message": "App minimieren"
|
||||
},
|
||||
"app.appearance-settings.native-decorations.description": {
|
||||
"message": "Fensterrahmen des Systems verwenden (Neustart der App erforderlich)."
|
||||
"message": "Nutzt die Titelleiste und Fenstersteuerung deines Betriebssystems. Erfordert einen App-Neustart."
|
||||
},
|
||||
"app.appearance-settings.native-decorations.title": {
|
||||
"message": "Native Dekorationen"
|
||||
"message": "System-Fensterrahmen"
|
||||
},
|
||||
"app.appearance-settings.show-play-time.description": {
|
||||
"message": "Zeigt an, wie viel Zeit du damit verbracht hast, eine Instanz zu spielen."
|
||||
"message": "Zeigt, wie lange du jede einzelne Instanz gespielt hast."
|
||||
},
|
||||
"app.appearance-settings.show-play-time.title": {
|
||||
"message": "Spielzeit anzeigen"
|
||||
},
|
||||
"app.appearance-settings.skip-non-essential-warnings.description": {
|
||||
"message": "Bestätigungen mit geringem Risiko, wie z. B. die Installation doppelter Modpacks, das Löschen normaler Inhalte, Massenaktualisierungen, das Aufheben von Verknüpfungen zu Modpacks und Reparaturaufrufe, werden automatisch übersprungen. Gefährliche Warnungen werden weiterhin angezeigt."
|
||||
"message": "Bestätigungen für risikoarme Aktionen überspringen (z. B. doppelte Installationen, normales Löschen, Massen-Updates, Entkoppeln und Reparieren). Warnungen für gefährliche Aktionen werden weiterhin angezeigt."
|
||||
},
|
||||
"app.appearance-settings.skip-non-essential-warnings.title": {
|
||||
"message": "Unwichtige Warnungen überspringen"
|
||||
},
|
||||
"app.appearance-settings.toggle-sidebar.description": {
|
||||
"message": "Ermöglicht das Umschalten der Seitenleiste."
|
||||
"message": "Blendet die rechte Seitenleiste standardmäßig aus und fügt einen Button zum Ein- oder Ausblenden hinzu."
|
||||
},
|
||||
"app.appearance-settings.toggle-sidebar.title": {
|
||||
"message": "Seitenleiste umschalten"
|
||||
"message": "Rechte Seitenleiste ausblenden"
|
||||
},
|
||||
"app.appearance-settings.unknown-pack-warning.description": {
|
||||
"message": "Falls du versuchst, eine Modrinth-Pack-Datei (.mrpack) zu installieren, die nicht auf Modrinth gehostet wird, werden die Risiken vor der Installation bekannt gegeben."
|
||||
"message": "Sicherheitswarnung vor der Installation eines Modrinth-Packs (.mrpack) anzeigen, das nicht auf Modrinth gehostet wird."
|
||||
},
|
||||
"app.appearance-settings.unknown-pack-warning.title": {
|
||||
"message": "Warne mich, bevor unbekannte Modpacks installiert werden"
|
||||
@@ -221,6 +221,15 @@
|
||||
"app.auth-servers.unreachable.header": {
|
||||
"message": "Authentifizierungsserver sind nicht erreichbar"
|
||||
},
|
||||
"app.behavior-settings.confirmations.title": {
|
||||
"message": "Bestätigungen"
|
||||
},
|
||||
"app.behavior-settings.content.title": {
|
||||
"message": "Startseite & Inhalte"
|
||||
},
|
||||
"app.behavior-settings.startup-and-navigation.title": {
|
||||
"message": "Start & Navigation"
|
||||
},
|
||||
"app.browse.add-servers-to-instance": {
|
||||
"message": "Server zur Instanz hinzufügen"
|
||||
},
|
||||
@@ -242,12 +251,18 @@
|
||||
"app.browse.back-to-instance": {
|
||||
"message": "Zurück zur Instanz"
|
||||
},
|
||||
"app.browse.discover-project-type": {
|
||||
"message": "{projectType} entdecken"
|
||||
},
|
||||
"app.browse.discover-servers": {
|
||||
"message": "Server entdecken"
|
||||
},
|
||||
"app.browse.hide-added-servers": {
|
||||
"message": "Bereits hinzugefügte Server ausblenden"
|
||||
},
|
||||
"app.browse.hide-installed-modpacks": {
|
||||
"message": "Bereits installiert ausblenden"
|
||||
},
|
||||
"app.browse.project-type.modpacks": {
|
||||
"message": "Modpacks"
|
||||
},
|
||||
@@ -362,9 +377,18 @@
|
||||
"app.instance.admonitions.shared-instance.review-header": {
|
||||
"message": "Änderungen überprüfen"
|
||||
},
|
||||
"app.instance.admonitions.shared-instance.review-update-button": {
|
||||
"message": "Update überprüfen"
|
||||
},
|
||||
"app.instance.admonitions.shared-instance.reviewing-button": {
|
||||
"message": "Wird überprüft..."
|
||||
},
|
||||
"app.instance.admonitions.shared-instance.update-available-body": {
|
||||
"message": "Ein Update ist erforderlich, um {name} zu spielen. Bitte aktualisiere auf die neueste Version, um das Spiel zu starten."
|
||||
},
|
||||
"app.instance.admonitions.shared-instance.update-available-header": {
|
||||
"message": "Ein Update ist verfügbar"
|
||||
},
|
||||
"app.instance.confirm-delete.admonition-body": {
|
||||
"message": "Alle Daten deiner Instanz werden permanent gelöscht, einschließlich deiner Welten, Konfigurationen und allen installierten Inhalten."
|
||||
},
|
||||
@@ -431,6 +455,9 @@
|
||||
"app.instance.share.invite-modal.heading": {
|
||||
"message": "{name} teilen"
|
||||
},
|
||||
"app.instance.share.invite-modal.user-limit-reached": {
|
||||
"message": "Diese Instanz hat das Nutzerlimit von {limit} erreicht."
|
||||
},
|
||||
"app.instance.share.locked.empty-description-prefix": {
|
||||
"message": "Du musst dich als"
|
||||
},
|
||||
@@ -449,6 +476,12 @@
|
||||
"app.instance.share.locked.wrong-account-heading": {
|
||||
"message": "Falsches Konto"
|
||||
},
|
||||
"app.instance.share.members.empty": {
|
||||
"message": "Es sind noch keine Benutzer beigetreten"
|
||||
},
|
||||
"app.instance.share.members.no-filter-results": {
|
||||
"message": "Keine Benutzer passen zu deinen Filtern."
|
||||
},
|
||||
"app.instance.share.remove-user-modal.effect-access": {
|
||||
"message": "Diese Person wird für diese geteilte Instanz keine Updates mehr erhalten"
|
||||
},
|
||||
@@ -479,6 +512,12 @@
|
||||
"app.instance.share.sign-in.button": {
|
||||
"message": "Anmelden"
|
||||
},
|
||||
"app.instance.share.unable-to-connect.description": {
|
||||
"message": "Der Dienst für geteilte Instanzen ist derzeit nicht erreichbar; bitte versuche es später erneut"
|
||||
},
|
||||
"app.instance.share.unable-to-connect.heading": {
|
||||
"message": "Verbindung nicht möglich"
|
||||
},
|
||||
"app.instance.share.unlink.body": {
|
||||
"message": "Du musst die Verknüpfung zu diesem Modpack trennen, um deine Instanz zu teilen"
|
||||
},
|
||||
@@ -566,12 +605,60 @@
|
||||
"app.instance.worlds.search-worlds-placeholder": {
|
||||
"message": "Durchsuche {count} Welten..."
|
||||
},
|
||||
"app.java-detection.cancel": {
|
||||
"message": "Abbrechen"
|
||||
},
|
||||
"app.java-detection.columns.actions": {
|
||||
"message": "Aktionen"
|
||||
},
|
||||
"app.java-detection.columns.path": {
|
||||
"message": "Pfad"
|
||||
},
|
||||
"app.java-detection.columns.version": {
|
||||
"message": "Version"
|
||||
},
|
||||
"app.java-detection.no-installations-found": {
|
||||
"message": "Keine Java Installationen gefunden."
|
||||
},
|
||||
"app.java-detection.select": {
|
||||
"message": "Auswählen"
|
||||
},
|
||||
"app.java-detection.selected": {
|
||||
"message": "Ausgewählt"
|
||||
},
|
||||
"app.java-detection.title": {
|
||||
"message": "Java-Installation auswählen"
|
||||
},
|
||||
"app.java-selector.already-installed": {
|
||||
"message": "Bereits installiert"
|
||||
},
|
||||
"app.java-selector.browse": {
|
||||
"message": "Durchsuchen"
|
||||
},
|
||||
"app.java-selector.detect": {
|
||||
"message": "Erkennen"
|
||||
},
|
||||
"app.java-selector.install-recommended": {
|
||||
"message": "Empfohlenes installieren"
|
||||
},
|
||||
"app.java-selector.installing": {
|
||||
"message": "Installiere..."
|
||||
},
|
||||
"app.java-selector.path.placeholder": {
|
||||
"message": "/path/to/java"
|
||||
},
|
||||
"app.java-selector.test-installation": {
|
||||
"message": "Java-Installation testen"
|
||||
},
|
||||
"app.modal.install-to-play.additional-context": {
|
||||
"message": "Zusätzlicher Kontext"
|
||||
},
|
||||
"app.modal.install-to-play.additional-context-placeholder": {
|
||||
"message": "Füge gegebenenfalls relevante Links und Bilder hinzu"
|
||||
},
|
||||
"app.modal.install-to-play.block-user": {
|
||||
"message": "Benutzer blockieren"
|
||||
},
|
||||
"app.modal.install-to-play.content-you-are-reporting": {
|
||||
"message": "Die Instanz, die du meldest"
|
||||
},
|
||||
@@ -593,6 +680,9 @@
|
||||
"app.modal.install-to-play.invite-warning": {
|
||||
"message": "Diese Einladung wurde von einem anderen Modrinth-Nutzer erstellt, nicht von Modrinth. Nimm nur Einladungen von Personen an, denen du vertraust."
|
||||
},
|
||||
"app.modal.install-to-play.invite-warning-with-creator": {
|
||||
"message": "Diese Einladung wurde von <creator>{username}</creator> erstellt, nicht von Modrinth. Akzeptierte nur Einladungen von Leuten, denen du vertraust."
|
||||
},
|
||||
"app.modal.install-to-play.mod-count": {
|
||||
"message": "{count, plural, one {# Mod} other {# Mods}}"
|
||||
},
|
||||
@@ -650,6 +740,9 @@
|
||||
"app.modal.install-to-play.unrecognized-files": {
|
||||
"message": "Nicht erkannte Dateien"
|
||||
},
|
||||
"app.modal.install-to-play.user-blocked": {
|
||||
"message": "Benutzer blockiert"
|
||||
},
|
||||
"app.modal.install-to-play.view-contents": {
|
||||
"message": "Inhalte ansehen"
|
||||
},
|
||||
@@ -677,6 +770,36 @@
|
||||
"app.modal.update-to-play.update-required-description": {
|
||||
"message": "Zum Spielen von {name} ist eine Aktualisierung erforderlich. Bitte aktualisiere auf die neueste Version, um das Spiel zu starten."
|
||||
},
|
||||
"app.nav.create-new-instance": {
|
||||
"message": "Neue Instanz erstellen"
|
||||
},
|
||||
"app.nav.home": {
|
||||
"message": "Startseite"
|
||||
},
|
||||
"app.nav.library": {
|
||||
"message": "Bibliothek"
|
||||
},
|
||||
"app.nav.modrinth-account": {
|
||||
"message": "Modrinth-Konto"
|
||||
},
|
||||
"app.nav.modrinth-hosting": {
|
||||
"message": "Modrinth Hosting"
|
||||
},
|
||||
"app.nav.sign-in-to-modrinth-account": {
|
||||
"message": "Bei einem Modrinth-Konto anmelden"
|
||||
},
|
||||
"app.nav.signed-in-as": {
|
||||
"message": "Angemeldet als <user>{username}</user>"
|
||||
},
|
||||
"app.nav.upgrade-to-modrinth-plus": {
|
||||
"message": "Auf Modrinth+ upgraden"
|
||||
},
|
||||
"app.news.title": {
|
||||
"message": "Neuigkeiten"
|
||||
},
|
||||
"app.news.view-all": {
|
||||
"message": "Alle Neuigkeiten anzeigen"
|
||||
},
|
||||
"app.project.install-button.already-installed": {
|
||||
"message": "Dieses Projekt ist bereits installiert"
|
||||
},
|
||||
@@ -686,6 +809,9 @@
|
||||
"app.project.install-context.back-to-browse": {
|
||||
"message": "Zurück zum Entdecken"
|
||||
},
|
||||
"app.project.install-context.back-to-instance": {
|
||||
"message": "Zurück zur Instanz"
|
||||
},
|
||||
"app.project.version.all-versions": {
|
||||
"message": "Alle Versionen"
|
||||
},
|
||||
@@ -698,20 +824,188 @@
|
||||
"app.project.versions.already-installed": {
|
||||
"message": "Bereits installiert"
|
||||
},
|
||||
"app.quick-instance-switcher.drag-show-tooltip": {
|
||||
"message": "Ziehen, um letzte Instanzen anzuzeigen"
|
||||
},
|
||||
"app.quick-instance-switcher.drag-tooltip": {
|
||||
"message": "Ziehen zur Größenänderung"
|
||||
},
|
||||
"app.restarting": {
|
||||
"message": "Wird neu gestartet..."
|
||||
},
|
||||
"app.settings.app-version": {
|
||||
"message": "Modrinth App {version}"
|
||||
},
|
||||
"app.settings.default-instance-options.environment-variables.description": {
|
||||
"message": "Umgebungsvariablen, die beim Starten einer Instanz gesetzt werden."
|
||||
},
|
||||
"app.settings.default-instance-options.environment-variables.placeholder": {
|
||||
"message": "Umgebungsvariablen eingeben..."
|
||||
},
|
||||
"app.settings.default-instance-options.environment-variables.title": {
|
||||
"message": "Umgebungsvariablen"
|
||||
},
|
||||
"app.settings.default-instance-options.fullscreen.description": {
|
||||
"message": "Startet Instanzen im Vollbildmodus durch Aktualisieren ihrer options.txt-Datei."
|
||||
},
|
||||
"app.settings.default-instance-options.fullscreen.title": {
|
||||
"message": "Vollbildschirm"
|
||||
},
|
||||
"app.settings.default-instance-options.height.description": {
|
||||
"message": "Die Höhe des Spielfensters beim Starten"
|
||||
},
|
||||
"app.settings.default-instance-options.height.placeholder": {
|
||||
"message": "Höhe eingeben..."
|
||||
},
|
||||
"app.settings.default-instance-options.height.title": {
|
||||
"message": "Höhe"
|
||||
},
|
||||
"app.settings.default-instance-options.java-arguments.description": {
|
||||
"message": "Argumente, die beim Starten einer Instanz an Java übergeben werden."
|
||||
},
|
||||
"app.settings.default-instance-options.java-arguments.placeholder": {
|
||||
"message": "Java-Argumente eingeben..."
|
||||
},
|
||||
"app.settings.default-instance-options.java-arguments.title": {
|
||||
"message": "Java-Argumente"
|
||||
},
|
||||
"app.settings.default-instance-options.memory-allocation.description": {
|
||||
"message": "Maximal verfügbarer Arbeitsspeicher zu jeder Instanz."
|
||||
},
|
||||
"app.settings.default-instance-options.memory-allocation.title": {
|
||||
"message": "Arbeitsspeicherzuweisung"
|
||||
},
|
||||
"app.settings.default-instance-options.post-exit-hook.description": {
|
||||
"message": "Wird nach dem Beenden des Spiels ausgeführt."
|
||||
},
|
||||
"app.settings.default-instance-options.post-exit-hook.placeholder": {
|
||||
"message": "Nach Spielbeendigung auszuführender Befehl eingeben..."
|
||||
},
|
||||
"app.settings.default-instance-options.post-exit-hook.title": {
|
||||
"message": "Aktion nach Programmende"
|
||||
},
|
||||
"app.settings.default-instance-options.pre-launch-hook.description": {
|
||||
"message": "Läuft bevor die Instanz startet."
|
||||
},
|
||||
"app.settings.default-instance-options.pre-launch-hook.placeholder": {
|
||||
"message": "Vor Spielstart auszuführenden Befehl eingeben..."
|
||||
},
|
||||
"app.settings.default-instance-options.pre-launch-hook.title": {
|
||||
"message": "Startaktion"
|
||||
},
|
||||
"app.settings.default-instance-options.width.description": {
|
||||
"message": "Die Breite des Spielfensters beim Start."
|
||||
},
|
||||
"app.settings.default-instance-options.width.placeholder": {
|
||||
"message": "Breite eingeben..."
|
||||
},
|
||||
"app.settings.default-instance-options.width.title": {
|
||||
"message": "Breite"
|
||||
},
|
||||
"app.settings.default-instance-options.wrapper-hook.description": {
|
||||
"message": "Wrapper-Befehl für den Minecraft-Startprozess."
|
||||
},
|
||||
"app.settings.default-instance-options.wrapper-hook.placeholder": {
|
||||
"message": "Wrapperbefehl eingeben..."
|
||||
},
|
||||
"app.settings.default-instance-options.wrapper-hook.title": {
|
||||
"message": "Wrapper-Hook"
|
||||
},
|
||||
"app.settings.developer-mode-button.label": {
|
||||
"message": "Entwicklermodus umschalten"
|
||||
},
|
||||
"app.settings.developer-mode-enabled": {
|
||||
"message": "Entwicklermodus aktiviert."
|
||||
},
|
||||
"app.settings.downloading": {
|
||||
"message": "Lade v{version} herunter"
|
||||
},
|
||||
"app.settings.java-installations.location.title": {
|
||||
"message": "Java {version, number} Installation"
|
||||
},
|
||||
"app.settings.operating-system.macos": {
|
||||
"message": "macOS"
|
||||
},
|
||||
"app.settings.privacy.ads-consent.intro": {
|
||||
"message": "Werbung ermöglicht Modrinth und finanziert die Auszahlungen an die Ersteller. Unsere Partner speichern möglicherweise Cookies in der App oder greifen auf diese zu, um Werbung zu personalisieren und die Leistung zu messen. Du kannst dies unten deaktivieren oder deine Einstellungen verwalten."
|
||||
},
|
||||
"app.settings.privacy.discord-rich-presence.description": {
|
||||
"message": "Zeige Modrinth App als deine aktuelle Aktivität auf Discord. Dies betrifft nicht Rich Presence die von Mods zu Instanzen hinzugefügt wird. Benötigt einen Neustart der App."
|
||||
},
|
||||
"app.settings.privacy.discord-rich-presence.title": {
|
||||
"message": "Discord Rich Presence"
|
||||
},
|
||||
"app.settings.privacy.telemetry.description": {
|
||||
"message": "Modrinth sammelt anonymisierte Analyse- und Nutzungsdaten, um unsere Nutzererfahrung zu verbessern und deine Erfahrung anzupassen. Wenn du diese Option deaktivierst, entscheidest du dich dagegen und deine Daten werden nicht mehr gesammelt."
|
||||
},
|
||||
"app.settings.privacy.telemetry.title": {
|
||||
"message": "Telemetrie"
|
||||
},
|
||||
"app.settings.resource-management.always-show-copy-details.description": {
|
||||
"message": "Zeigt die Aktion \"Details kopieren\" an, während eine Installation in der Warteschlange steht oder ausgeführt wird. Bei fehlgeschlagenen oder abgebrochenen Installationen ist sie immer verfügbar."
|
||||
},
|
||||
"app.settings.resource-management.always-show-copy-details.title": {
|
||||
"message": "Immer Kopierdetails anzeigen"
|
||||
},
|
||||
"app.settings.resource-management.app-cache.confirm.description": {
|
||||
"message": "Die App könnte langsamer laden, bis der Cache neu aufgebaut wurde."
|
||||
},
|
||||
"app.settings.resource-management.app-cache.confirm.title": {
|
||||
"message": "App-Cache leeren?"
|
||||
},
|
||||
"app.settings.resource-management.app-cache.description": {
|
||||
"message": "Gespeicherte Cache-Daten löschen und sie neu von Modrinth herunterladen. Die App könnte langsamer laden, bis der Cache neu aufgebaut wurde."
|
||||
},
|
||||
"app.settings.resource-management.app-cache.purge": {
|
||||
"message": "Cache leeren"
|
||||
},
|
||||
"app.settings.resource-management.app-cache.title": {
|
||||
"message": "App-Cache"
|
||||
},
|
||||
"app.settings.resource-management.app-database-backups.description": {
|
||||
"message": "Backups von wichtigen App-Daten werden hier gespeichert, falls du sie später wiederherstellen musst."
|
||||
},
|
||||
"app.settings.resource-management.app-database-backups.open-folder": {
|
||||
"message": "Backups Ordner öffnen"
|
||||
},
|
||||
"app.settings.resource-management.app-database-backups.title": {
|
||||
"message": "App-Daten Backups"
|
||||
},
|
||||
"app.settings.resource-management.app-directory.browse": {
|
||||
"message": "Nach einem App-Verzeichnis suchen"
|
||||
},
|
||||
"app.settings.resource-management.app-directory.description": {
|
||||
"message": "Wo Modrinth App Instanzen und andere Dateien speichert. Änderungen werden nach dem Neustarten der App angewendet."
|
||||
},
|
||||
"app.settings.resource-management.app-directory.select": {
|
||||
"message": "Neues App-Verzeichnis auswählen"
|
||||
},
|
||||
"app.settings.resource-management.app-directory.title": {
|
||||
"message": "App Installation"
|
||||
},
|
||||
"app.settings.resource-management.maximum-concurrent-downloads.description": {
|
||||
"message": "Anzahl der Dateien, die die App auf einmal herunterladen kann. Senke dies, wenn downloads auf deiner Verbindung unzuverlässig sind. Benötigt einen App-Neustart."
|
||||
},
|
||||
"app.settings.resource-management.maximum-concurrent-downloads.title": {
|
||||
"message": "Maximale gleichzeitige Downloads"
|
||||
},
|
||||
"app.settings.resource-management.maximum-concurrent-writes.description": {
|
||||
"message": "Wie viele Dateien die App auf einmal auf die Festplatte schreiben kann. Senke dies, wenn du oft I/O Fehler bekommst. Benötigt einen App-Neustart."
|
||||
},
|
||||
"app.settings.resource-management.maximum-concurrent-writes.title": {
|
||||
"message": "Maximale gleichzeitige Schreibvorgänge"
|
||||
},
|
||||
"app.settings.sidebar.label.instances": {
|
||||
"message": "Instanzen"
|
||||
},
|
||||
"app.settings.tabs.appearance": {
|
||||
"message": "Erscheinungsbild"
|
||||
},
|
||||
"app.settings.tabs.behavior": {
|
||||
"message": "Verhalten"
|
||||
},
|
||||
"app.settings.tabs.default-instance-options": {
|
||||
"message": "Standard Instanz-Einstellungen"
|
||||
"message": "Standard Spieleinstellungen"
|
||||
},
|
||||
"app.settings.tabs.java-installations": {
|
||||
"message": "Java-Installationen"
|
||||
@@ -725,6 +1019,9 @@
|
||||
"app.settings.tabs.resource-management": {
|
||||
"message": "Ressourcenmanagement"
|
||||
},
|
||||
"app.sidebar.playing-as": {
|
||||
"message": "Wird gespielt als"
|
||||
},
|
||||
"app.skins.add-button": {
|
||||
"message": "Skin hinzufügen"
|
||||
},
|
||||
@@ -884,6 +1181,21 @@
|
||||
"app.skins.toggle-ears-features-on": {
|
||||
"message": "Aktivieren"
|
||||
},
|
||||
"app.survey.body": {
|
||||
"message": "Könntest du ein paar Fragen über deine Erfahrung mit Modrinth App beantworten?"
|
||||
},
|
||||
"app.survey.footer": {
|
||||
"message": "Das Feedback geht direkt an das Modrinth-Team und wird helfen, zukünftige Updates zu gestalten!"
|
||||
},
|
||||
"app.survey.no-thanks": {
|
||||
"message": "Nein, danke"
|
||||
},
|
||||
"app.survey.take-survey": {
|
||||
"message": "Beantworten"
|
||||
},
|
||||
"app.survey.title": {
|
||||
"message": "Hey, Modrinth Nutzer!"
|
||||
},
|
||||
"app.update-popup.body.download-complete": {
|
||||
"message": "Modrinth App v{version} wurde heruntergeladen. Jetzt neu laden, um sofort zu aktualisieren, oder beim Schließen der Modrinth-App automatisch aktualisieren."
|
||||
},
|
||||
@@ -1160,6 +1472,45 @@
|
||||
"instance.server-modal.resource-pack": {
|
||||
"message": "Ressourcenpaket"
|
||||
},
|
||||
"instance.settings.sharing.active-invites.actions": {
|
||||
"message": "Aktionen"
|
||||
},
|
||||
"instance.settings.sharing.active-invites.code": {
|
||||
"message": "Einladungslink"
|
||||
},
|
||||
"instance.settings.sharing.active-invites.description": {
|
||||
"message": "Jeder, der einen dieser Einladungslinks hat, kann beitreten, solange der Link aktiv ist."
|
||||
},
|
||||
"instance.settings.sharing.active-invites.empty": {
|
||||
"message": "Es gibt keine aktiven Einladungen."
|
||||
},
|
||||
"instance.settings.sharing.active-invites.expires": {
|
||||
"message": "Läuft ab"
|
||||
},
|
||||
"instance.settings.sharing.active-invites.revoke": {
|
||||
"message": "Einladung zurückziehen"
|
||||
},
|
||||
"instance.settings.sharing.active-invites.revoke-with-code": {
|
||||
"message": "Einladung {code} zurückziehen"
|
||||
},
|
||||
"instance.settings.sharing.active-invites.title": {
|
||||
"message": "Aktive Einladungen"
|
||||
},
|
||||
"instance.settings.sharing.active-invites.uses": {
|
||||
"message": "Nutzungen"
|
||||
},
|
||||
"instance.settings.sharing.revoke-invite.admonition-body": {
|
||||
"message": "Der Einladungslink <monospace>{code}</monospace> wird sofort aufhören zu funktionieren. Nutzer, die bereits beigetreten sind, bleibt der Zugang gewährt."
|
||||
},
|
||||
"instance.settings.sharing.revoke-invite.admonition-header": {
|
||||
"message": "Diese Aktion kann nicht rückgängig gemacht werden"
|
||||
},
|
||||
"instance.settings.sharing.revoke-invite.confirm": {
|
||||
"message": "Einladung zurückziehen"
|
||||
},
|
||||
"instance.settings.sharing.revoke-invite.header": {
|
||||
"message": "Einladung zurückziehen"
|
||||
},
|
||||
"instance.settings.tabs.general": {
|
||||
"message": "Allgemein"
|
||||
},
|
||||
@@ -1361,6 +1712,12 @@
|
||||
"instance.shared-instance.error.title": {
|
||||
"message": "Etwas ist schiefgelaufen"
|
||||
},
|
||||
"instance.shared-instance.network-error.text": {
|
||||
"message": "Verbindung zur Shared-Instances-API nicht möglich"
|
||||
},
|
||||
"instance.shared-instance.network-error.title": {
|
||||
"message": "Netzwerkfehler"
|
||||
},
|
||||
"instance.shared-instance.owner-tooltip": {
|
||||
"message": "Der Inhalt dieser Instanz wird mit anderen Benutzern geteilt."
|
||||
},
|
||||
@@ -1496,9 +1853,6 @@
|
||||
"modal.modrinth-account-required.browser-description": {
|
||||
"message": "Ein neuer Tab zum Anmelden wurde geöffnet. Schließe die Anmeldung dort ab und kehren anschließend zur App zurück."
|
||||
},
|
||||
"modal.modrinth-account-required.cancel-button": {
|
||||
"message": "Abbrechen"
|
||||
},
|
||||
"modal.modrinth-account-required.continue-in-browser-heading": {
|
||||
"message": "Im Browser fortfahren"
|
||||
},
|
||||
@@ -1552,5 +1906,11 @@
|
||||
},
|
||||
"search.filter.locked.server-loader.title": {
|
||||
"message": "Loader vom Server vorgegeben"
|
||||
},
|
||||
"settings.sidebar.label.account": {
|
||||
"message": "Konto"
|
||||
},
|
||||
"settings.sidebar.label.display": {
|
||||
"message": "Anzeige"
|
||||
}
|
||||
}
|
||||
|
||||
@@ -260,6 +260,9 @@
|
||||
"app.browse.hide-added-servers": {
|
||||
"message": "Hide servers already added"
|
||||
},
|
||||
"app.browse.hide-installed-modpacks": {
|
||||
"message": "Hide already installed"
|
||||
},
|
||||
"app.browse.project-type.modpacks": {
|
||||
"message": "Modpacks"
|
||||
},
|
||||
@@ -587,6 +590,9 @@
|
||||
"app.instance.worlds.no-worlds-heading": {
|
||||
"message": "No servers or worlds added"
|
||||
},
|
||||
"app.instance.worlds.refreshing": {
|
||||
"message": "Refreshing..."
|
||||
},
|
||||
"app.instance.worlds.remove-server-modal.remove-button": {
|
||||
"message": "Remove server"
|
||||
},
|
||||
@@ -1223,6 +1229,9 @@
|
||||
"app.update.complete-toast.title": {
|
||||
"message": "Version {version} was successfully installed!"
|
||||
},
|
||||
"app.user.project.install-to-instance": {
|
||||
"message": "Install to instance"
|
||||
},
|
||||
"app.world.server-modal.placeholder-address": {
|
||||
"message": "example.modrinth.gg"
|
||||
},
|
||||
@@ -1616,6 +1625,27 @@
|
||||
"instance.settings.tabs.hooks.title": {
|
||||
"message": "Game launch hooks"
|
||||
},
|
||||
"instance.settings.tabs.hooks.variables.description": {
|
||||
"message": "Hooks run in the working directory of the instance, with the following variables:"
|
||||
},
|
||||
"instance.settings.tabs.hooks.variables.inst-dir.description": {
|
||||
"message": "$INST_DIR: The absolute path to the instance's folder"
|
||||
},
|
||||
"instance.settings.tabs.hooks.variables.inst-id.description": {
|
||||
"message": "$INST_ID: The name of the instance's folder"
|
||||
},
|
||||
"instance.settings.tabs.hooks.variables.inst-java-args.description": {
|
||||
"message": "$INST_JAVA_ARGS: The JVM Arguments provided to the game"
|
||||
},
|
||||
"instance.settings.tabs.hooks.variables.inst-java.description": {
|
||||
"message": "$INST_JAVA: The absolute path to the java binary"
|
||||
},
|
||||
"instance.settings.tabs.hooks.variables.inst-mc-dir.description": {
|
||||
"message": "$INST_MC_DIR: An alias for $INST_DIR"
|
||||
},
|
||||
"instance.settings.tabs.hooks.variables.inst-name.description": {
|
||||
"message": "$INST_NAME: The name of the instance"
|
||||
},
|
||||
"instance.settings.tabs.hooks.wrapper": {
|
||||
"message": "Wrapper"
|
||||
},
|
||||
@@ -1850,9 +1880,6 @@
|
||||
"modal.modrinth-account-required.browser-description": {
|
||||
"message": "A new tab opened to sign in. Complete the sign in there, then return to the app."
|
||||
},
|
||||
"modal.modrinth-account-required.cancel-button": {
|
||||
"message": "Cancel"
|
||||
},
|
||||
"modal.modrinth-account-required.continue-in-browser-heading": {
|
||||
"message": "Continue in your browser"
|
||||
},
|
||||
|
||||
@@ -89,6 +89,9 @@
|
||||
"app.action-bar.install.unknown-instance": {
|
||||
"message": "Instancia desconocida"
|
||||
},
|
||||
"app.action-bar.install.updating-shared-content": {
|
||||
"message": "Actualizando el contenido compartido"
|
||||
},
|
||||
"app.action-bar.installs": {
|
||||
"message": "Instalaciones"
|
||||
},
|
||||
@@ -125,20 +128,35 @@
|
||||
"app.action-bar.view-logs": {
|
||||
"message": "Ver registros"
|
||||
},
|
||||
"app.ads-consent.accept": {
|
||||
"message": "Aceptar todas"
|
||||
},
|
||||
"app.ads-consent.body": {
|
||||
"message": "Los anuncios hacen posible a Modrinth y financian los pagos a los creadores. Nuestros socios pueden guardar o acceder a cookies en la aplicación para personalizar anuncios y medir su rendimiento."
|
||||
},
|
||||
"app.ads-consent.manage": {
|
||||
"message": "Gestionar preferencias"
|
||||
},
|
||||
"app.ads-consent.reject": {
|
||||
"message": "Rechazar todas"
|
||||
},
|
||||
"app.ads-consent.title": {
|
||||
"message": "Tu privacidad y como los anuncios apoyan a Modrinth"
|
||||
},
|
||||
"app.appearance-settings.advanced-rendering.description": {
|
||||
"message": "Activa el renderizado avanzado, como los efectos de desenfoque, que pueden afectar el rendimiento sin aceleración por hardware."
|
||||
"message": "Activar efectos visuales como los efectos de desenfoque. Esto puede reducir el rendimiento si no tienes aceleración de hardware."
|
||||
},
|
||||
"app.appearance-settings.advanced-rendering.title": {
|
||||
"message": "Renderizado avanzado"
|
||||
},
|
||||
"app.appearance-settings.color-theme.description": {
|
||||
"message": "Selecciona el tema de color que prefieras para la Modrinth App."
|
||||
"message": "Escoge el esquema de colores usado por la aplicación de Modrinth."
|
||||
},
|
||||
"app.appearance-settings.color-theme.title": {
|
||||
"message": "Color de la interfaz"
|
||||
},
|
||||
"app.appearance-settings.default-landing-page.description": {
|
||||
"message": "Cambia la página en la que se abre el launcher."
|
||||
"message": "Escoge la página mostrada al abrir la aplicación de Modrinth."
|
||||
},
|
||||
"app.appearance-settings.default-landing-page.home": {
|
||||
"message": "Inicio"
|
||||
@@ -150,49 +168,49 @@
|
||||
"message": "Página de inicio predeterminada"
|
||||
},
|
||||
"app.appearance-settings.hide-nametag.description": {
|
||||
"message": "Desactiva la etiqueta de nombre arriba de tu personaje en la página de skins."
|
||||
"message": "Esconde tu nombre de usuario encima de tu personaje en la página del selector de Skin."
|
||||
},
|
||||
"app.appearance-settings.hide-nametag.title": {
|
||||
"message": "Ocultar etiqueta de nombre"
|
||||
},
|
||||
"app.appearance-settings.jump-back-into-worlds.description": {
|
||||
"message": "Incluye los mundos recientes en la sección \"Volver a jugar\" de la página de inicio."
|
||||
"message": "Muestra los mundos recientes en la sección \"Volver a jugar\" en la página principal."
|
||||
},
|
||||
"app.appearance-settings.jump-back-into-worlds.title": {
|
||||
"message": "Volver a jugar mundos"
|
||||
},
|
||||
"app.appearance-settings.minimize-launcher.description": {
|
||||
"message": "Minimiza el launcher al iniciar un proceso de Minecraft."
|
||||
"message": "Minimiza la app de Modrinth al iniciar Minecraft."
|
||||
},
|
||||
"app.appearance-settings.minimize-launcher.title": {
|
||||
"message": "Minimizar launcher"
|
||||
"message": "Minimizar app"
|
||||
},
|
||||
"app.appearance-settings.native-decorations.description": {
|
||||
"message": "Usar el borde de ventana del sistema (requiere reiniciar la aplicación)."
|
||||
"message": "Usa el borde de ventana de tu sistema. Requiere reiniciar la aplicación."
|
||||
},
|
||||
"app.appearance-settings.native-decorations.title": {
|
||||
"message": "Decoraciones nativas"
|
||||
},
|
||||
"app.appearance-settings.show-play-time.description": {
|
||||
"message": "Muestra cuánto tiempo has estado jugando en una instancia."
|
||||
"message": "Muestra cuanto tiempo has jugado en cada instancia."
|
||||
},
|
||||
"app.appearance-settings.show-play-time.title": {
|
||||
"message": "Mostrar tiempo de juego"
|
||||
},
|
||||
"app.appearance-settings.skip-non-essential-warnings.description": {
|
||||
"message": "Omite automáticamente las confirmaciones de bajo riesgo, como las instalaciones duplicadas de paquetes de mods, la eliminación de contenido normal, las actualizaciones masivas, la desvinculación de paquetes de mods y las solicitudes de reparación. Las advertencias peligrosas seguirán mostrándose."
|
||||
"message": "Omite las confirmaciones para acciones de bajo riesgo como las instalaciones duplicadas de paquetes de mods, la eliminación de contenido normal, las actualizaciones masivas, la desvinculación de paquetes de mods y las solicitudes de reparación. Las advertencias de acciones peligrosas siempre se mostrarán."
|
||||
},
|
||||
"app.appearance-settings.skip-non-essential-warnings.title": {
|
||||
"message": "Omitir advertencias que no sean esenciales"
|
||||
},
|
||||
"app.appearance-settings.toggle-sidebar.description": {
|
||||
"message": "Permite mostrar u ocultar la barra lateral."
|
||||
"message": "Añade un botón para mostrar y esconder la barra lateral."
|
||||
},
|
||||
"app.appearance-settings.toggle-sidebar.title": {
|
||||
"message": "Mostrar u ocultar la barra lateral"
|
||||
},
|
||||
"app.appearance-settings.unknown-pack-warning.description": {
|
||||
"message": "Si intentas instalar un paquete de Modrinth (.mrpack) que no está alojado en Modrinth, te explicaremos los riesgos antes de instalarlo."
|
||||
"message": "Muestra una advertencia antes de instalar un Modrinth Pack (.mrpack) que no provenga de los servidores de Modrinth."
|
||||
},
|
||||
"app.appearance-settings.unknown-pack-warning.title": {
|
||||
"message": "Advertir antes de instalar modpacks desconocidos"
|
||||
@@ -203,6 +221,15 @@
|
||||
"app.auth-servers.unreachable.header": {
|
||||
"message": "No se puede acceder a los servidores de autenticación"
|
||||
},
|
||||
"app.behavior-settings.confirmations.title": {
|
||||
"message": "Confirmaciones"
|
||||
},
|
||||
"app.behavior-settings.content.title": {
|
||||
"message": "Página principal y contenido"
|
||||
},
|
||||
"app.behavior-settings.startup-and-navigation.title": {
|
||||
"message": "Inicio y navegación"
|
||||
},
|
||||
"app.browse.add-servers-to-instance": {
|
||||
"message": "Añadiendo servidor a instancia"
|
||||
},
|
||||
@@ -224,12 +251,18 @@
|
||||
"app.browse.back-to-instance": {
|
||||
"message": "Volver a instancia"
|
||||
},
|
||||
"app.browse.discover-project-type": {
|
||||
"message": "Descubrir {projectType}"
|
||||
},
|
||||
"app.browse.discover-servers": {
|
||||
"message": "Descubrir servidores"
|
||||
},
|
||||
"app.browse.hide-added-servers": {
|
||||
"message": "Ocultar los servidores ya agregados"
|
||||
},
|
||||
"app.browse.hide-installed-modpacks": {
|
||||
"message": "Esconder los ya instalados"
|
||||
},
|
||||
"app.browse.project-type.modpacks": {
|
||||
"message": "Modpacks"
|
||||
},
|
||||
@@ -317,6 +350,45 @@
|
||||
"app.install.phase.running_loader_processors": {
|
||||
"message": "Ejecutando los procesadores del cargador"
|
||||
},
|
||||
"app.instance.admonitions.shared-instance.added-label": {
|
||||
"message": "Añadido"
|
||||
},
|
||||
"app.instance.admonitions.shared-instance.changes-body": {
|
||||
"message": "Tu instancia local tiene cambios nuevos que todavía no se han compartido."
|
||||
},
|
||||
"app.instance.admonitions.shared-instance.changes-header": {
|
||||
"message": "Tus cambios todavía no se han compartido"
|
||||
},
|
||||
"app.instance.admonitions.shared-instance.publish-button": {
|
||||
"message": "Enviar actualización"
|
||||
},
|
||||
"app.instance.admonitions.shared-instance.publishing-button": {
|
||||
"message": "Enviando..."
|
||||
},
|
||||
"app.instance.admonitions.shared-instance.removed-label": {
|
||||
"message": "Eliminado"
|
||||
},
|
||||
"app.instance.admonitions.shared-instance.review-admonition-header": {
|
||||
"message": "Enviar actualización"
|
||||
},
|
||||
"app.instance.admonitions.shared-instance.review-description": {
|
||||
"message": "Revisar los cambios de contenido que se compartirán con los usuarios de esta instancia."
|
||||
},
|
||||
"app.instance.admonitions.shared-instance.review-header": {
|
||||
"message": "Revisar cambios"
|
||||
},
|
||||
"app.instance.admonitions.shared-instance.review-update-button": {
|
||||
"message": "Actualizar"
|
||||
},
|
||||
"app.instance.admonitions.shared-instance.reviewing-button": {
|
||||
"message": "Actualizando..."
|
||||
},
|
||||
"app.instance.admonitions.shared-instance.update-available-body": {
|
||||
"message": "Se requiere una actualización para jugar a {name}. por favor actualiza a la versión más reciente para abrir el juego."
|
||||
},
|
||||
"app.instance.admonitions.shared-instance.update-available-header": {
|
||||
"message": "Hay una actualización disponible"
|
||||
},
|
||||
"app.instance.confirm-delete.admonition-body": {
|
||||
"message": "Todos los datos de tu instancia se eliminarán permanentemente, incluidos tus mundos, configuraciones y todo el contenido instalado."
|
||||
},
|
||||
@@ -353,6 +425,9 @@
|
||||
"app.instance.mods.content-type-project": {
|
||||
"message": "proyecto"
|
||||
},
|
||||
"app.instance.mods.locked-content": {
|
||||
"message": "El contenido en instancias bloqueadas no se puede cambiar."
|
||||
},
|
||||
"app.instance.mods.project-was-added": {
|
||||
"message": "Se añadió \"{name}\""
|
||||
},
|
||||
@@ -368,6 +443,117 @@
|
||||
"app.instance.mods.successfully-uploaded": {
|
||||
"message": "Cargado correctamente"
|
||||
},
|
||||
"app.instance.share.empty.description": {
|
||||
"message": "¡Comparte esta instancia con tus amigos!"
|
||||
},
|
||||
"app.instance.share.empty.heading": {
|
||||
"message": "No hay amigos invitados"
|
||||
},
|
||||
"app.instance.share.empty.invite-friends-button": {
|
||||
"message": "Invitar amigos"
|
||||
},
|
||||
"app.instance.share.invite-modal.heading": {
|
||||
"message": "Compartir {name}"
|
||||
},
|
||||
"app.instance.share.invite-modal.user-limit-reached": {
|
||||
"message": "Esta instancia ha llegado al límite de {limit} usuarios."
|
||||
},
|
||||
"app.instance.share.locked.empty-description-prefix": {
|
||||
"message": "Necesitas iniciar sesión como"
|
||||
},
|
||||
"app.instance.share.locked.empty-description-suffix": {
|
||||
"message": "para acceder a esta página."
|
||||
},
|
||||
"app.instance.share.locked.linked-account-fallback": {
|
||||
"message": "la cuenta vinculada"
|
||||
},
|
||||
"app.instance.share.locked.signed-out-heading": {
|
||||
"message": "No estás registrado"
|
||||
},
|
||||
"app.instance.share.locked.switch-account-button": {
|
||||
"message": "Cambiar de cuenta"
|
||||
},
|
||||
"app.instance.share.locked.wrong-account-heading": {
|
||||
"message": "Cuenta equivocada"
|
||||
},
|
||||
"app.instance.share.members.empty": {
|
||||
"message": "Nadie se ha unido todavía"
|
||||
},
|
||||
"app.instance.share.members.no-filter-results": {
|
||||
"message": "Ningún usuario coincide con tus filtros."
|
||||
},
|
||||
"app.instance.share.remove-user-modal.effect-access": {
|
||||
"message": "Ya no recibirán actualizaciones para esta instancia compartida"
|
||||
},
|
||||
"app.instance.share.remove-user-modal.effect-installed-copy": {
|
||||
"message": "Cualquier copia que tengan instalada se quedará en su dispositivo"
|
||||
},
|
||||
"app.instance.share.remove-user-modal.effect-invite-again": {
|
||||
"message": "Los puedes volver a invitar más adelante"
|
||||
},
|
||||
"app.instance.share.remove-user-modal.effect-last-user": {
|
||||
"message": "Este es el último usuario, se desactivará el compartir para esta instancia"
|
||||
},
|
||||
"app.instance.share.remove-user-modal.effects-label": {
|
||||
"message": "¿Qué pasará?"
|
||||
},
|
||||
"app.instance.share.remove-user-modal.header": {
|
||||
"message": "Revocar acceso"
|
||||
},
|
||||
"app.instance.share.remove-user-modal.remove-button": {
|
||||
"message": "Revocar acceso"
|
||||
},
|
||||
"app.instance.share.remove-user-modal.user-avatar-alt": {
|
||||
"message": "Avatar de {username}"
|
||||
},
|
||||
"app.instance.share.remove-user-modal.warning-body": {
|
||||
"message": "Si revocas el acceso de {username} a esta instancia, tendrás que invitarlos otra vez para que sigan recibiendo actualizaciones."
|
||||
},
|
||||
"app.instance.share.sign-in.button": {
|
||||
"message": "Iniciar sesión"
|
||||
},
|
||||
"app.instance.share.unable-to-connect.description": {
|
||||
"message": "El servicio de instancias compartidas no está disponible, inténtalo otra vez más tarde"
|
||||
},
|
||||
"app.instance.share.unable-to-connect.heading": {
|
||||
"message": "No se puede conectar"
|
||||
},
|
||||
"app.instance.share.unlink.body": {
|
||||
"message": "Debes desvincular este modpack para compartir tu instancia"
|
||||
},
|
||||
"app.instance.share.unlink.header": {
|
||||
"message": "Compartir requiere desvincular"
|
||||
},
|
||||
"app.instance.shared-instance-already-installed.body": {
|
||||
"message": "Esta instancia compartida ya está instalada como <bold>{instanceName}</bold>. ¿Estás seguro que quieres instalar otra copia?"
|
||||
},
|
||||
"app.instance.shared-instance-already-installed.header": {
|
||||
"message": "Instancia compartida ya instalada"
|
||||
},
|
||||
"app.instance.shared-instance-already-installed.install-anyway": {
|
||||
"message": "Instalar de todas formas"
|
||||
},
|
||||
"app.instance.shared-instance-already-installed.instance": {
|
||||
"message": "Instancia"
|
||||
},
|
||||
"app.instance.shared-instance-wrong-account.fallback-username": {
|
||||
"message": "la cuenta vinculada"
|
||||
},
|
||||
"app.instance.shared-instance-wrong-account.owner-admonition-body-v2": {
|
||||
"message": "para gestionar esta instancia compartida. No podrás enviar actualizaciones a los usuarios."
|
||||
},
|
||||
"app.instance.shared-instance-wrong-account.sign-in-as-label": {
|
||||
"message": "Inicia sesión con"
|
||||
},
|
||||
"app.instance.shared-instance-wrong-account.signed-out-header": {
|
||||
"message": "Debes iniciar sesión en Modrinth"
|
||||
},
|
||||
"app.instance.shared-instance-wrong-account.user-admonition-body-v2": {
|
||||
"message": "para recibir actualizaciones de esta instancia compartida."
|
||||
},
|
||||
"app.instance.shared-instance-wrong-account.warning-header": {
|
||||
"message": "Estás usando la cuenta equivocada"
|
||||
},
|
||||
"app.instance.worlds.add-server": {
|
||||
"message": "Añadir servidor"
|
||||
},
|
||||
@@ -411,7 +597,7 @@
|
||||
"message": "Eliminar servidor"
|
||||
},
|
||||
"app.instance.worlds.remove-server-modal.warning-body": {
|
||||
"message": "Este servidor se eliminará de tu lista de servidores y de la lista de servidores del juego. Puedes volver a agregarlo más adelante si conoces la dirección."
|
||||
"message": "Este servidor se eliminará de tu lista de servidores y de la lista de servidores del juego. Puedes volver a añadirlo más adelante si conoces la dirección."
|
||||
},
|
||||
"app.instance.worlds.remove-server-modal.warning-header": {
|
||||
"message": "Se está eliminando {name}"
|
||||
@@ -419,6 +605,69 @@
|
||||
"app.instance.worlds.search-worlds-placeholder": {
|
||||
"message": "Buscar en {count} mundos..."
|
||||
},
|
||||
"app.java-detection.cancel": {
|
||||
"message": "Cancelar"
|
||||
},
|
||||
"app.java-detection.columns.actions": {
|
||||
"message": "Acciones"
|
||||
},
|
||||
"app.java-detection.columns.path": {
|
||||
"message": "Directorio"
|
||||
},
|
||||
"app.java-detection.columns.version": {
|
||||
"message": "Versión"
|
||||
},
|
||||
"app.java-detection.no-installations-found": {
|
||||
"message": "No se encontraron instalaciones de Java."
|
||||
},
|
||||
"app.java-detection.select": {
|
||||
"message": "Seleccionar"
|
||||
},
|
||||
"app.java-detection.selected": {
|
||||
"message": "Seleccionado"
|
||||
},
|
||||
"app.java-detection.title": {
|
||||
"message": "Seleccionar instalación de Java"
|
||||
},
|
||||
"app.java-selector.already-installed": {
|
||||
"message": "Ya está instalado"
|
||||
},
|
||||
"app.java-selector.browse": {
|
||||
"message": "Buscar"
|
||||
},
|
||||
"app.java-selector.detect": {
|
||||
"message": "Detectar"
|
||||
},
|
||||
"app.java-selector.install-recommended": {
|
||||
"message": "Instalar recomendado"
|
||||
},
|
||||
"app.java-selector.installing": {
|
||||
"message": "Instalando..."
|
||||
},
|
||||
"app.java-selector.path.placeholder": {
|
||||
"message": "/ruta/a/java"
|
||||
},
|
||||
"app.java-selector.test-installation": {
|
||||
"message": "Probar instalación de Java"
|
||||
},
|
||||
"app.modal.install-to-play.additional-context": {
|
||||
"message": "Contexto adicional"
|
||||
},
|
||||
"app.modal.install-to-play.additional-context-placeholder": {
|
||||
"message": "En lo posible, incluye links e imágenes (si son relevantes)"
|
||||
},
|
||||
"app.modal.install-to-play.block-user": {
|
||||
"message": "Bloquear usuario"
|
||||
},
|
||||
"app.modal.install-to-play.content-you-are-reporting": {
|
||||
"message": "Instancia que estás reportando"
|
||||
},
|
||||
"app.modal.install-to-play.delete-instance": {
|
||||
"message": "Borrar instancia"
|
||||
},
|
||||
"app.modal.install-to-play.external-files-dont-install": {
|
||||
"message": "No instalar"
|
||||
},
|
||||
"app.modal.install-to-play.header": {
|
||||
"message": "Instalar para jugar"
|
||||
},
|
||||
@@ -431,15 +680,54 @@
|
||||
"app.modal.install-to-play.invite-warning": {
|
||||
"message": "Esta invitación la creó otro usuario de Modrinth, no Modrinth. Solo acepta invitaciones de personas en las que confíes."
|
||||
},
|
||||
"app.modal.install-to-play.invite-warning-with-creator": {
|
||||
"message": "Esta invitación fue creada por <creator>{username}</creator>, no por Modrinth. Nunca aceptes invitaciones de gente que no conozcas."
|
||||
},
|
||||
"app.modal.install-to-play.mod-count": {
|
||||
"message": "{count, plural, one {# mod} other {# mods}}"
|
||||
},
|
||||
"app.modal.install-to-play.report-description": {
|
||||
"message": "Usa este formulario para reportar instancias que violen nuestras <rules-link>Reglas</rules-link> o <terms-link>Terminos de Uso</terms-link>."
|
||||
},
|
||||
"app.modal.install-to-play.report-image-invalid-type": {
|
||||
"message": "El archivo no tiene una extensión de imagen aceptada"
|
||||
},
|
||||
"app.modal.install-to-play.report-image-too-large": {
|
||||
"message": "El archivo excede el límite de 1 MiB"
|
||||
},
|
||||
"app.modal.install-to-play.report-legal-claims": {
|
||||
"message": "Para avisos de DMCA u otros reclamos legales, consulte nuestra <copyright-link>Política de Derechos de Autor</copyright-link>."
|
||||
},
|
||||
"app.modal.install-to-play.report-reason": {
|
||||
"message": "¿Qué regla rompe esta instancia?"
|
||||
},
|
||||
"app.modal.install-to-play.report-reason.inappropriate": {
|
||||
"message": "Inapropiado"
|
||||
},
|
||||
"app.modal.install-to-play.report-reason.malicious": {
|
||||
"message": "Malicioso"
|
||||
},
|
||||
"app.modal.install-to-play.report-reason.spam": {
|
||||
"message": "Spam"
|
||||
},
|
||||
"app.modal.install-to-play.report-shared-instance-header": {
|
||||
"message": "Reportar instancia compartida"
|
||||
},
|
||||
"app.modal.install-to-play.report-submitted": {
|
||||
"message": "Reporte enviado"
|
||||
},
|
||||
"app.modal.install-to-play.report-support-and-bugs": {
|
||||
"message": "Para solicitudes de ayuda, contacte a nuestro <support-link>equipo de soporte</support-link>. Para reportar un bug, abra una <github-link>incidencia (issue) en GitHub</github-link>."
|
||||
},
|
||||
"app.modal.install-to-play.reviewed-files": {
|
||||
"message": "Un archivo solo se revisa si se publica en Modrinth, sin importar su formato (incluido el .mrpack)."
|
||||
},
|
||||
"app.modal.install-to-play.shared-instance": {
|
||||
"message": "Instancia compartida"
|
||||
},
|
||||
"app.modal.install-to-play.shared-instance-content": {
|
||||
"message": "Contenido de la instancia compartida"
|
||||
},
|
||||
"app.modal.install-to-play.unknown-files-description": {
|
||||
"message": "Este modpack para servidor contiene archivos que no están publicados en Modrinth. Recomendamos encarecidamente instalar únicamente archivos de fuentes de confianza."
|
||||
},
|
||||
@@ -458,6 +746,9 @@
|
||||
"app.modal.update-to-play.removed": {
|
||||
"message": "Eliminado"
|
||||
},
|
||||
"app.nav.signed-in-as": {
|
||||
"message": "Sesión iniciada como <user>{username}</user>"
|
||||
},
|
||||
"app.project.install-button.already-installed": {
|
||||
"message": "Este proyecto ya está instalado"
|
||||
},
|
||||
@@ -485,11 +776,23 @@
|
||||
"app.settings.downloading": {
|
||||
"message": "Descargando v{version}"
|
||||
},
|
||||
"app.settings.privacy.discord-rich-presence.title": {
|
||||
"message": "Discord Rich Presence"
|
||||
},
|
||||
"app.settings.privacy.telemetry.title": {
|
||||
"message": "Telemetría"
|
||||
},
|
||||
"app.settings.resource-management.app-directory.title": {
|
||||
"message": "Directorio de la aplicación"
|
||||
},
|
||||
"app.settings.sidebar.label.instances": {
|
||||
"message": "Instancias"
|
||||
},
|
||||
"app.settings.tabs.appearance": {
|
||||
"message": "Apariencia"
|
||||
},
|
||||
"app.settings.tabs.default-instance-options": {
|
||||
"message": "Opciones predeterminadas de la instancia"
|
||||
"app.settings.tabs.behavior": {
|
||||
"message": "Comportamiento"
|
||||
},
|
||||
"app.settings.tabs.java-installations": {
|
||||
"message": "Instalaciones de Java"
|
||||
@@ -503,6 +806,9 @@
|
||||
"app.settings.tabs.resource-management": {
|
||||
"message": "Gestión de recursos"
|
||||
},
|
||||
"app.sidebar.playing-as": {
|
||||
"message": "Jugando como"
|
||||
},
|
||||
"app.skins.add-button": {
|
||||
"message": "Añadir skin"
|
||||
},
|
||||
@@ -527,6 +833,9 @@
|
||||
"app.skins.dropped-file-error.title": {
|
||||
"message": "Error al procesar el archivo"
|
||||
},
|
||||
"app.skins.ears-feature-notice": {
|
||||
"message": "Esta skin usa características de el mod {ears}"
|
||||
},
|
||||
"app.skins.edit-button": {
|
||||
"message": "Editar skin"
|
||||
},
|
||||
@@ -653,6 +962,21 @@
|
||||
"app.skins.title": {
|
||||
"message": "Selector de skin"
|
||||
},
|
||||
"app.skins.toggle-ears-features-off": {
|
||||
"message": "Desactivar"
|
||||
},
|
||||
"app.skins.toggle-ears-features-on": {
|
||||
"message": "Activar"
|
||||
},
|
||||
"app.survey.footer": {
|
||||
"message": "¡Tus comentarios llegarán directamente al equipo de Modrinth, y los ayudará a hacer mejores actualizaciones!"
|
||||
},
|
||||
"app.survey.no-thanks": {
|
||||
"message": "No gracias"
|
||||
},
|
||||
"app.survey.title": {
|
||||
"message": "¡Hola, usuario de Modrinth!"
|
||||
},
|
||||
"app.update-popup.body.download-complete": {
|
||||
"message": "La descarga de la Modrinth App v{version} ha finalizado. Actualiza ahora o automáticamente al cerrar la Modrinth App."
|
||||
},
|
||||
@@ -701,6 +1025,18 @@
|
||||
"app.world.world-item.players-online": {
|
||||
"message": "{count} en línea"
|
||||
},
|
||||
"content.shared-instance.delete-button": {
|
||||
"message": "Borrar de todas formas"
|
||||
},
|
||||
"content.shared-instance.delete-many-button": {
|
||||
"message": "Borrar {count, number} proyectos de todas formas"
|
||||
},
|
||||
"content.shared-instance.disable-button": {
|
||||
"message": "Desactivar de todas formas"
|
||||
},
|
||||
"content.shared-instance.disable-many-button": {
|
||||
"message": "Desactivar {count, number} proyectos de todas formas"
|
||||
},
|
||||
"friends.action.add-friend": {
|
||||
"message": "Añadir un amigo"
|
||||
},
|
||||
@@ -764,6 +1100,15 @@
|
||||
"friends.sign-in-to-add-friends": {
|
||||
"message": "<link>¡Inicia sesión en una cuenta de Modrinth</link> para añadir amigos y ver qué están jugando!"
|
||||
},
|
||||
"instance.action.settings": {
|
||||
"message": "Ajustes de la instancia"
|
||||
},
|
||||
"instance.action.starting": {
|
||||
"message": "Iniciando..."
|
||||
},
|
||||
"instance.action.stopping": {
|
||||
"message": "Deteniendo..."
|
||||
},
|
||||
"instance.add-server.add-and-play": {
|
||||
"message": "Añadir y jugar"
|
||||
},
|
||||
@@ -806,6 +1151,15 @@
|
||||
"instance.files.save-as": {
|
||||
"message": "Guardar como..."
|
||||
},
|
||||
"instance.locked.delete-button": {
|
||||
"message": "Borrar instancia"
|
||||
},
|
||||
"instance.locked.play-tooltip": {
|
||||
"message": "Esta instancia ha sido bloqueada"
|
||||
},
|
||||
"instance.playtime.never-played": {
|
||||
"message": "No se ha jugado"
|
||||
},
|
||||
"instance.server-modal.address": {
|
||||
"message": "Dirección IP"
|
||||
},
|
||||
@@ -818,6 +1172,36 @@
|
||||
"instance.server-modal.resource-pack": {
|
||||
"message": "Paquete de recursos"
|
||||
},
|
||||
"instance.settings.sharing.active-invites.actions": {
|
||||
"message": "Acciones"
|
||||
},
|
||||
"instance.settings.sharing.active-invites.code": {
|
||||
"message": "Link de invitación"
|
||||
},
|
||||
"instance.settings.sharing.active-invites.expires": {
|
||||
"message": "Expira"
|
||||
},
|
||||
"instance.settings.sharing.active-invites.revoke": {
|
||||
"message": "Revocar invitación"
|
||||
},
|
||||
"instance.settings.sharing.active-invites.revoke-with-code": {
|
||||
"message": "Revocar invitación {code}"
|
||||
},
|
||||
"instance.settings.sharing.active-invites.title": {
|
||||
"message": "Invitaciones activas"
|
||||
},
|
||||
"instance.settings.sharing.active-invites.uses": {
|
||||
"message": "Usos"
|
||||
},
|
||||
"instance.settings.sharing.revoke-invite.admonition-header": {
|
||||
"message": "Esta acción no se puede deshacer"
|
||||
},
|
||||
"instance.settings.sharing.revoke-invite.confirm": {
|
||||
"message": "Revocar invitación"
|
||||
},
|
||||
"instance.settings.sharing.revoke-invite.header": {
|
||||
"message": "Revocar invitación"
|
||||
},
|
||||
"instance.settings.tabs.general": {
|
||||
"message": "General"
|
||||
},
|
||||
@@ -876,10 +1260,10 @@
|
||||
"message": "Canal de actualizaciones"
|
||||
},
|
||||
"instance.settings.tabs.general.update-channel.alpha": {
|
||||
"message": "Alpha"
|
||||
"message": "Alfa"
|
||||
},
|
||||
"instance.settings.tabs.general.update-channel.alpha.description": {
|
||||
"message": "Las versiones estables, beta y alpha se mostrarán como actualizaciones disponibles. "
|
||||
"message": "Las versiones estables, beta y alpha se mostrarán como actualizaciones disponibles."
|
||||
},
|
||||
"instance.settings.tabs.general.update-channel.beta": {
|
||||
"message": "Beta"
|
||||
@@ -1010,6 +1394,15 @@
|
||||
"instance.settings.tabs.window.width.enter": {
|
||||
"message": "Ingresa el ancho..."
|
||||
},
|
||||
"instance.shared-instance.network-error.title": {
|
||||
"message": "Error de conexión"
|
||||
},
|
||||
"instance.shared-instance.publish-review.added-label": {
|
||||
"message": "Se añadió"
|
||||
},
|
||||
"instance.shared-instance.publish-review.removed-label": {
|
||||
"message": "Se removió"
|
||||
},
|
||||
"instance.worlds.a_minecraft_server": {
|
||||
"message": "Un servidor de Minecraft"
|
||||
},
|
||||
@@ -1073,6 +1466,36 @@
|
||||
"minecraft-account.sign-in": {
|
||||
"message": "Inicia sesión en Minecraft"
|
||||
},
|
||||
"minecraft-required.dont-have-account": {
|
||||
"message": "¿No tienes una cuenta?"
|
||||
},
|
||||
"minecraft-required.get-minecraft": {
|
||||
"message": "Compra Minecraft"
|
||||
},
|
||||
"minecraft-required.get-support": {
|
||||
"message": "Conseguir soporte"
|
||||
},
|
||||
"minecraft-required.header": {
|
||||
"message": "Minecraft requerido"
|
||||
},
|
||||
"minecraft-required.sign-in": {
|
||||
"message": "Iniciar sesión con Microsoft"
|
||||
},
|
||||
"modal.modrinth-account-required.header": {
|
||||
"message": "Cuenta requerida"
|
||||
},
|
||||
"modal.modrinth-account-required.sign-in-button": {
|
||||
"message": "Iniciar sesión en Modrinth"
|
||||
},
|
||||
"modal.modrinth-account-required.sign-in-heading": {
|
||||
"message": "Iniciar sesión con una cuenta de Modrinth"
|
||||
},
|
||||
"modal.modrinth-account-required.signing-in-header": {
|
||||
"message": "Iniciando sesión"
|
||||
},
|
||||
"modal.modrinth-account-required.support-prompt": {
|
||||
"message": "¿Tienes problemas con al iniciar sesión? <support>Consigue ayuda</support>"
|
||||
},
|
||||
"search.filter.locked.instance": {
|
||||
"message": "Proporcionado por la instancia"
|
||||
},
|
||||
@@ -1096,5 +1519,11 @@
|
||||
},
|
||||
"search.filter.locked.server-loader.title": {
|
||||
"message": "El loader es proporcionado por el servidor"
|
||||
},
|
||||
"settings.sidebar.label.account": {
|
||||
"message": "Cuenta"
|
||||
},
|
||||
"settings.sidebar.label.display": {
|
||||
"message": "Visualización"
|
||||
}
|
||||
}
|
||||
|
||||
@@ -11,6 +11,12 @@
|
||||
"app.action-bar.hide-more-running-instances": {
|
||||
"message": "Ocultar más instancias en ejecución"
|
||||
},
|
||||
"app.action-bar.install.copied-details": {
|
||||
"message": "Copiado"
|
||||
},
|
||||
"app.action-bar.install.copy-details": {
|
||||
"message": "Copiar detalles"
|
||||
},
|
||||
"app.action-bar.install.dismiss": {
|
||||
"message": "Descartar"
|
||||
},
|
||||
@@ -20,6 +26,21 @@
|
||||
"app.action-bar.install.retry": {
|
||||
"message": "Reintentar"
|
||||
},
|
||||
"app.action-bar.install.summary.app-closing": {
|
||||
"message": "Cancelado por cierre de la aplicación"
|
||||
},
|
||||
"app.action-bar.install.summary.bad-modpack-file": {
|
||||
"message": "No se pudo leer el modpack"
|
||||
},
|
||||
"app.action-bar.install.summary.could-not-save-files": {
|
||||
"message": "No se pudieron guardar los archivos"
|
||||
},
|
||||
"app.action-bar.install.summary.download-failed": {
|
||||
"message": "La descarga no pudo terminar"
|
||||
},
|
||||
"app.action-bar.install.summary.instance-not-found": {
|
||||
"message": "La instancia no se pudo encontrar"
|
||||
},
|
||||
"app.action-bar.install.unknown-instance": {
|
||||
"message": "Instancia desconocida"
|
||||
},
|
||||
@@ -59,21 +80,12 @@
|
||||
"app.action-bar.view-logs": {
|
||||
"message": "Ver registros"
|
||||
},
|
||||
"app.appearance-settings.advanced-rendering.description": {
|
||||
"message": "Habilita el renderizado avanzado, como los efectos de desenfoque, que pueden causar problemas de rendimiento sin renderizado acelerado por hardware."
|
||||
},
|
||||
"app.appearance-settings.advanced-rendering.title": {
|
||||
"message": "Renderizado avanzado"
|
||||
},
|
||||
"app.appearance-settings.color-theme.description": {
|
||||
"message": "Selecciona tu tema de color preferido para la Modrinth App."
|
||||
},
|
||||
"app.appearance-settings.color-theme.title": {
|
||||
"message": "Tema de color"
|
||||
},
|
||||
"app.appearance-settings.default-landing-page.description": {
|
||||
"message": "Cambia la página en la que el launcher inicia."
|
||||
},
|
||||
"app.appearance-settings.default-landing-page.home": {
|
||||
"message": "Inicio"
|
||||
},
|
||||
@@ -83,51 +95,18 @@
|
||||
"app.appearance-settings.default-landing-page.title": {
|
||||
"message": "Página de inicio predeterminada"
|
||||
},
|
||||
"app.appearance-settings.hide-nametag.description": {
|
||||
"message": "Desactiva la etiqueta arriba de tu personaje en la página de skins."
|
||||
},
|
||||
"app.appearance-settings.hide-nametag.title": {
|
||||
"message": "Ocultar etiqueta de nombre"
|
||||
},
|
||||
"app.appearance-settings.jump-back-into-worlds.description": {
|
||||
"message": "Incluye los mundos recientes en la sección \"Volver a jugar\" de la página de inicio."
|
||||
},
|
||||
"app.appearance-settings.jump-back-into-worlds.title": {
|
||||
"message": "Volver a jugar en tus mundos"
|
||||
},
|
||||
"app.appearance-settings.minimize-launcher.description": {
|
||||
"message": "Minimiza el lanzador cuando se inicia un proceso de Minecraft."
|
||||
},
|
||||
"app.appearance-settings.minimize-launcher.title": {
|
||||
"message": "Minimizar lanzador"
|
||||
},
|
||||
"app.appearance-settings.native-decorations.description": {
|
||||
"message": "Usa el marco de ventana del sistema (requiere reiniciar la aplicación)."
|
||||
},
|
||||
"app.appearance-settings.native-decorations.title": {
|
||||
"message": "Decoraciones nativas"
|
||||
},
|
||||
"app.appearance-settings.show-play-time.description": {
|
||||
"message": "Muestra cuánto tiempo has estado jugando en una instancia."
|
||||
},
|
||||
"app.appearance-settings.show-play-time.title": {
|
||||
"message": "Mostrar tiempo de juego"
|
||||
},
|
||||
"app.appearance-settings.skip-non-essential-warnings.description": {
|
||||
"message": "Automáticamente omite confirmaciones de bajo riesgo como modpacks duplicados, eliminación de contenido normal, actualizaciones masivas, desvinculando modpacks, y mensajes de reparación. Advertencias importantes seguirán siendo mostradas."
|
||||
},
|
||||
"app.appearance-settings.skip-non-essential-warnings.title": {
|
||||
"message": "Omitir advertencias no esenciales"
|
||||
},
|
||||
"app.appearance-settings.toggle-sidebar.description": {
|
||||
"message": "Activa la posibilidad de alternar la barra lateral."
|
||||
},
|
||||
"app.appearance-settings.toggle-sidebar.title": {
|
||||
"message": "Alternar barra lateral"
|
||||
},
|
||||
"app.appearance-settings.unknown-pack-warning.description": {
|
||||
"message": "Si intentas instalar un archivo de paquete de Modrinth (.mrpack) que no esté alojado en Modrinth, debes comprender los riesgos que esto conlleva antes de instalarlo."
|
||||
},
|
||||
"app.appearance-settings.unknown-pack-warning.title": {
|
||||
"message": "Adviérteme antes de instalarme modpacks desconocidos"
|
||||
},
|
||||
@@ -183,7 +162,7 @@
|
||||
"message": "Exportar modpack"
|
||||
},
|
||||
"app.export-modal.modpack-name-label": {
|
||||
"message": "Nombre del modpack"
|
||||
"message": "Nombre del Conjunto de modificadores"
|
||||
},
|
||||
"app.export-modal.modpack-name-placeholder": {
|
||||
"message": "Nombre del modpack"
|
||||
@@ -296,9 +275,6 @@
|
||||
"app.settings.tabs.appearance": {
|
||||
"message": "Apariencia"
|
||||
},
|
||||
"app.settings.tabs.default-instance-options": {
|
||||
"message": "Opciones predeterminadas de la instancia"
|
||||
},
|
||||
"app.settings.tabs.java-installations": {
|
||||
"message": "Instalaciones de Java"
|
||||
},
|
||||
|
||||
@@ -71,21 +71,12 @@
|
||||
"app.action-bar.view-logs": {
|
||||
"message": "Katso lokeja"
|
||||
},
|
||||
"app.appearance-settings.advanced-rendering.description": {
|
||||
"message": "Mahdollistaa edistyneen renderöinnin, kuten sumennus efektit, jotka voivat aiheuttaa suorituskykyongelmia ilman laitteistokiihdytettyä renderöintiä."
|
||||
},
|
||||
"app.appearance-settings.advanced-rendering.title": {
|
||||
"message": "Edistynyt renderointi"
|
||||
},
|
||||
"app.appearance-settings.color-theme.description": {
|
||||
"message": "Valitse haluamasi väriteema Modrinth Appille."
|
||||
},
|
||||
"app.appearance-settings.color-theme.title": {
|
||||
"message": "Väriteema"
|
||||
},
|
||||
"app.appearance-settings.default-landing-page.description": {
|
||||
"message": "Muuta sivua mille laukaisin avautuu."
|
||||
},
|
||||
"app.appearance-settings.default-landing-page.home": {
|
||||
"message": "Koti"
|
||||
},
|
||||
@@ -95,51 +86,18 @@
|
||||
"app.appearance-settings.default-landing-page.title": {
|
||||
"message": "Oletus laskeutumissivu"
|
||||
},
|
||||
"app.appearance-settings.hide-nametag.description": {
|
||||
"message": "Kytkee pois päältä nimikyltin pelaajasi päällä skinit sivulla."
|
||||
},
|
||||
"app.appearance-settings.hide-nametag.title": {
|
||||
"message": "Piilota nimikyltti"
|
||||
},
|
||||
"app.appearance-settings.jump-back-into-worlds.description": {
|
||||
"message": "Sisällyttää viimeaikaiset maailmat \"Hyppää takaisin sisään\" osiossa Koti sivulla."
|
||||
},
|
||||
"app.appearance-settings.jump-back-into-worlds.title": {
|
||||
"message": "Hyppää takaisin sisään maailmoihin"
|
||||
},
|
||||
"app.appearance-settings.minimize-launcher.description": {
|
||||
"message": "Pienennä laukaisin kun Minecraft prosessi käynnistyy."
|
||||
},
|
||||
"app.appearance-settings.minimize-launcher.title": {
|
||||
"message": "Piilota käynnistysohjelma"
|
||||
},
|
||||
"app.appearance-settings.native-decorations.description": {
|
||||
"message": "Käytä järjestelmän ikkuna kehystä (Vaatii sovelluksen uudelleen käynnistämisen)."
|
||||
},
|
||||
"app.appearance-settings.native-decorations.title": {
|
||||
"message": "Natiivit koristukset"
|
||||
},
|
||||
"app.appearance-settings.show-play-time.description": {
|
||||
"message": "Näyttää, kuinka paljon aikaa olet käyttänyt instanssin pelaamiseen."
|
||||
},
|
||||
"app.appearance-settings.show-play-time.title": {
|
||||
"message": "Näyttää peliaika"
|
||||
},
|
||||
"app.appearance-settings.skip-non-essential-warnings.description": {
|
||||
"message": "Ohittaa automaattisesti vähäriskiset vahvistukset, kuten modpackien kaksoisasennukset, tavallisen sisällön poistamisen, massapäivitykset, modpackien linkityksen poistamisen ja korjauskehotteet. Vaaralliset varoitukset näytetään silti."
|
||||
},
|
||||
"app.appearance-settings.skip-non-essential-warnings.title": {
|
||||
"message": "Ohita ei olennaiset varoitukset"
|
||||
},
|
||||
"app.appearance-settings.toggle-sidebar.description": {
|
||||
"message": "Laittaa päälle mahdollisuuden kytkeä sivupalkkia."
|
||||
},
|
||||
"app.appearance-settings.toggle-sidebar.title": {
|
||||
"message": "Kytke sivupalkki"
|
||||
},
|
||||
"app.appearance-settings.unknown-pack-warning.description": {
|
||||
"message": "Jos yrität asentaa Modrinth-pakettitiedoston (.mrpack), jota ei ole isännöity Modrinthissä, varmistamme, että ymmärrät riskit ennen asennusta."
|
||||
},
|
||||
"app.appearance-settings.unknown-pack-warning.title": {
|
||||
"message": "Varoita minua ennen tuntemattomien modipakettien asentamista"
|
||||
},
|
||||
@@ -401,9 +359,6 @@
|
||||
"app.settings.tabs.appearance": {
|
||||
"message": "Ulkonäkö"
|
||||
},
|
||||
"app.settings.tabs.default-instance-options": {
|
||||
"message": "Oletusinstanssin asetukset"
|
||||
},
|
||||
"app.settings.tabs.java-installations": {
|
||||
"message": "Java asennukset"
|
||||
},
|
||||
|
||||
@@ -47,21 +47,12 @@
|
||||
"app.action-bar.view-logs": {
|
||||
"message": "Tignan ang logs"
|
||||
},
|
||||
"app.appearance-settings.advanced-rendering.description": {
|
||||
"message": "Pagpapagana ng masalimuot na pagrerender katulad ng paglalabo na maaaring magdudulot ng mga isyu sa performance kapag walang hardware-acceleration."
|
||||
},
|
||||
"app.appearance-settings.advanced-rendering.title": {
|
||||
"message": "Masalimuot na pagrerender"
|
||||
},
|
||||
"app.appearance-settings.color-theme.description": {
|
||||
"message": "Piliin ang iyong mas gustong kulay para sa Modrinth app."
|
||||
},
|
||||
"app.appearance-settings.color-theme.title": {
|
||||
"message": "Tema ng kulay"
|
||||
},
|
||||
"app.appearance-settings.default-landing-page.description": {
|
||||
"message": "Pagpapalit ng pahina na bubuksan ng launcher."
|
||||
},
|
||||
"app.appearance-settings.default-landing-page.home": {
|
||||
"message": "Tahanan"
|
||||
},
|
||||
@@ -71,42 +62,12 @@
|
||||
"app.appearance-settings.default-landing-page.title": {
|
||||
"message": "Panimulang pahina ng paglapag"
|
||||
},
|
||||
"app.appearance-settings.hide-nametag.description": {
|
||||
"message": "Pagtatago ng nametag na nasa itaas ng iyong manlalaro sa loob ng pahina ng mga skin."
|
||||
},
|
||||
"app.appearance-settings.hide-nametag.title": {
|
||||
"message": "Itago ang nametag"
|
||||
},
|
||||
"app.appearance-settings.jump-back-into-worlds.description": {
|
||||
"message": "Pagsasali ng mga kamakailang mundo sa seksiyong \"Jump back in\" sa pahina ng Tahanan."
|
||||
},
|
||||
"app.appearance-settings.jump-back-into-worlds.title": {
|
||||
"message": "Bumalik sa mga mundo"
|
||||
},
|
||||
"app.appearance-settings.minimize-launcher.description": {
|
||||
"message": "Liitan ang launcher kung nag-start ang isang proseso ng Minecraft."
|
||||
},
|
||||
"app.appearance-settings.minimize-launcher.title": {
|
||||
"message": "Liitin ang launcher"
|
||||
},
|
||||
"app.appearance-settings.native-decorations.description": {
|
||||
"message": "Gamitin ang system window frame (kailangan i-restart ang app)."
|
||||
},
|
||||
"app.appearance-settings.native-decorations.title": {
|
||||
"message": "Native decorations"
|
||||
},
|
||||
"app.appearance-settings.show-play-time.description": {
|
||||
"message": "Magpapakita ang katagal ng iyong paglalaro sa isang instansiya."
|
||||
},
|
||||
"app.appearance-settings.toggle-sidebar.description": {
|
||||
"message": "Pagpapagana na mata-toggle ang sidebar."
|
||||
},
|
||||
"app.appearance-settings.toggle-sidebar.title": {
|
||||
"message": "I-toggle ang sidebar"
|
||||
},
|
||||
"app.appearance-settings.unknown-pack-warning.description": {
|
||||
"message": "Kung susubukan mong mag-install ng Modrinth Pack file (.mrpack) na hindi naka-host sa Modrinth, titiyakin namin na nakaaalam ka sa mga panganib bago ito ma-install."
|
||||
},
|
||||
"app.appearance-settings.unknown-pack-warning.title": {
|
||||
"message": "Pakipaalala bago ko ma-install ang mga di-kilalang modpack"
|
||||
},
|
||||
@@ -269,9 +230,6 @@
|
||||
"app.settings.tabs.appearance": {
|
||||
"message": "Itsura"
|
||||
},
|
||||
"app.settings.tabs.default-instance-options": {
|
||||
"message": "Mga pagpipilian sa default na instansiya"
|
||||
},
|
||||
"app.settings.tabs.java-installations": {
|
||||
"message": "Mga instalasyon ng Java"
|
||||
},
|
||||
|
||||
@@ -144,19 +144,19 @@
|
||||
"message": "Votre vie privée et comment les publicités soutiennent Modrinth"
|
||||
},
|
||||
"app.appearance-settings.advanced-rendering.description": {
|
||||
"message": "Permet un rendu avancé tel que des effets de flou qui peuvent causer des problèmes de performance sans rendu accéléré par le matériel."
|
||||
"message": "Activer les effets visuels tel que le flou d'arrière-plan. Ceci peut réduire les performances sans accélération matérielle."
|
||||
},
|
||||
"app.appearance-settings.advanced-rendering.title": {
|
||||
"message": "Rendu avancé"
|
||||
},
|
||||
"app.appearance-settings.color-theme.description": {
|
||||
"message": "Sélectionnez votre couleur préférée pour le thème de Modrinth App."
|
||||
"message": "Choisir la couleur de thème utilisée par Modrinth App."
|
||||
},
|
||||
"app.appearance-settings.color-theme.title": {
|
||||
"message": "Couleur du thème"
|
||||
},
|
||||
"app.appearance-settings.default-landing-page.description": {
|
||||
"message": "Modifier la page sur laquelle le launcher s'ouvre."
|
||||
"message": "Choisir la page affichée quand Modrinth App s'ouvre."
|
||||
},
|
||||
"app.appearance-settings.default-landing-page.home": {
|
||||
"message": "Accueil"
|
||||
@@ -168,49 +168,49 @@
|
||||
"message": "Page d'ouverture"
|
||||
},
|
||||
"app.appearance-settings.hide-nametag.description": {
|
||||
"message": "Désactive le nom au-dessus du joueur sur la page skins."
|
||||
"message": "Cache votre nom d'utilisateur au-dessus de la prévisualisation du joueur sur la page de sélection de Skins."
|
||||
},
|
||||
"app.appearance-settings.hide-nametag.title": {
|
||||
"message": "Cacher le pseudo"
|
||||
},
|
||||
"app.appearance-settings.jump-back-into-worlds.description": {
|
||||
"message": "Inclut les mondes récents dans la section « Partie rapide » sur la page d'accueil."
|
||||
"message": "Affiche les mondes récemment joués dans la section \"Sautez à nouveau dans\" de la page principale."
|
||||
},
|
||||
"app.appearance-settings.jump-back-into-worlds.title": {
|
||||
"message": "Mondes sur partie rapide"
|
||||
},
|
||||
"app.appearance-settings.minimize-launcher.description": {
|
||||
"message": "Minimiser le launcher quand a processus Minecraft démarre."
|
||||
"message": "Minimiser Modrinth App quand Minecraft se lance."
|
||||
},
|
||||
"app.appearance-settings.minimize-launcher.title": {
|
||||
"message": "Minimiser le lanceur"
|
||||
"message": "Minimiser l'application"
|
||||
},
|
||||
"app.appearance-settings.native-decorations.description": {
|
||||
"message": "Utiliser le cadre fenêtre du système (redémarrage de l'application requis)."
|
||||
"message": "Utilise la barre de titre et les contrôles de fenêtre de votre système d'exploitation. Nécessite le redémarrage de l'application."
|
||||
},
|
||||
"app.appearance-settings.native-decorations.title": {
|
||||
"message": "Décorations natives"
|
||||
"message": "Cadre de fenêtre système"
|
||||
},
|
||||
"app.appearance-settings.show-play-time.description": {
|
||||
"message": "Affiche combien de temps vous avez passé sur une instance."
|
||||
"message": "Montre combien de temps vous avez joué à chaque instance."
|
||||
},
|
||||
"app.appearance-settings.show-play-time.title": {
|
||||
"message": "Afficher le temps de jeu"
|
||||
},
|
||||
"app.appearance-settings.skip-non-essential-warnings.description": {
|
||||
"message": "Ignore automatiquement les confirmations à faible risque, comme l'installation de modpacks en double, la suppression de contenu standard, les mises à jour groupées, la dissociation des modpacks et les demandes de réparation. Les avertissements concernant les actions dangereuses continueront d'être affichés."
|
||||
"message": "Passe les confirmations pour des actions moins risquées comme dupliquer des installations, suppression de contenu normal, grosses mises à jour, rupture de liens et réparations. Les avertissements pour les actions dangereuses seront toujours affichés."
|
||||
},
|
||||
"app.appearance-settings.skip-non-essential-warnings.title": {
|
||||
"message": "Cacher les alertes non essentielles"
|
||||
},
|
||||
"app.appearance-settings.toggle-sidebar.description": {
|
||||
"message": "Permet d'ouvrir ou de fermer la barre latérale."
|
||||
"message": "Cache la barre à droite par défaut et ajouter un bouton pour la montrer ou cacher."
|
||||
},
|
||||
"app.appearance-settings.toggle-sidebar.title": {
|
||||
"message": "Tiroir latéral"
|
||||
"message": "Cache la barre latérale droite"
|
||||
},
|
||||
"app.appearance-settings.unknown-pack-warning.description": {
|
||||
"message": "Si vous essayez d'installer un fichier Modrinth Pack (.mrpack) qui n'est pas hébergé sur Modrinth, nous nous assurerons que vous comprenez les risques avant de l'installer."
|
||||
"message": "Montre un avertissement de sécurité avant d'installer un Modrinth Pack (.mrpack) qui n'est pas sur Modrinth."
|
||||
},
|
||||
"app.appearance-settings.unknown-pack-warning.title": {
|
||||
"message": "M'avertir avant d'installer des modpacks inconnus"
|
||||
@@ -221,6 +221,15 @@
|
||||
"app.auth-servers.unreachable.header": {
|
||||
"message": "Impossible de contacter les serveurs d'authentification"
|
||||
},
|
||||
"app.behavior-settings.confirmations.title": {
|
||||
"message": "Confirmations"
|
||||
},
|
||||
"app.behavior-settings.content.title": {
|
||||
"message": "Accueil et contenu"
|
||||
},
|
||||
"app.behavior-settings.startup-and-navigation.title": {
|
||||
"message": "Démarrage et navigation"
|
||||
},
|
||||
"app.browse.add-servers-to-instance": {
|
||||
"message": "Ajouter le serveur à l'instance"
|
||||
},
|
||||
@@ -242,12 +251,18 @@
|
||||
"app.browse.back-to-instance": {
|
||||
"message": "Retour à l'instance"
|
||||
},
|
||||
"app.browse.discover-project-type": {
|
||||
"message": "Découvrir des {projectType}"
|
||||
},
|
||||
"app.browse.discover-servers": {
|
||||
"message": "Découvrir des serveurs"
|
||||
},
|
||||
"app.browse.hide-added-servers": {
|
||||
"message": "Masquer les serveurs déjà installés"
|
||||
},
|
||||
"app.browse.hide-installed-modpacks": {
|
||||
"message": "Cacher ce qui est déjà installé"
|
||||
},
|
||||
"app.browse.project-type.modpacks": {
|
||||
"message": "Modpacks"
|
||||
},
|
||||
@@ -362,9 +377,18 @@
|
||||
"app.instance.admonitions.shared-instance.review-header": {
|
||||
"message": "Examiner les modifications"
|
||||
},
|
||||
"app.instance.admonitions.shared-instance.review-update-button": {
|
||||
"message": "Télécharger la mise à jour"
|
||||
},
|
||||
"app.instance.admonitions.shared-instance.reviewing-button": {
|
||||
"message": "Examination..."
|
||||
},
|
||||
"app.instance.admonitions.shared-instance.update-available-body": {
|
||||
"message": "Une mise à jour est nécessaire pour jouer à {name}. Veuillez mettre à jour vers la dernière version pour lancer le jeu."
|
||||
},
|
||||
"app.instance.admonitions.shared-instance.update-available-header": {
|
||||
"message": "Une mise à jour est disponible"
|
||||
},
|
||||
"app.instance.confirm-delete.admonition-body": {
|
||||
"message": "Toutes les données pour votre instance seront supprimées à jamais, y compris vos mondes, vos configurations, et le contenu installé."
|
||||
},
|
||||
@@ -431,6 +455,9 @@
|
||||
"app.instance.share.invite-modal.heading": {
|
||||
"message": "Partager {name}"
|
||||
},
|
||||
"app.instance.share.invite-modal.user-limit-reached": {
|
||||
"message": "Cette instance a atteint la limite de {limit} utilisateurs."
|
||||
},
|
||||
"app.instance.share.locked.empty-description-prefix": {
|
||||
"message": "Vous devez vous connecter en tant que"
|
||||
},
|
||||
@@ -449,6 +476,12 @@
|
||||
"app.instance.share.locked.wrong-account-heading": {
|
||||
"message": "Mauvais compte"
|
||||
},
|
||||
"app.instance.share.members.empty": {
|
||||
"message": "Aucun utilisateur n'a encore rejoint"
|
||||
},
|
||||
"app.instance.share.members.no-filter-results": {
|
||||
"message": "Aucun utilisateur ne correspond à vos filtres."
|
||||
},
|
||||
"app.instance.share.remove-user-modal.effect-access": {
|
||||
"message": "Ils vont désormais cesser de recevoir des mises à jour pour cette instance partagée"
|
||||
},
|
||||
@@ -479,6 +512,9 @@
|
||||
"app.instance.share.sign-in.button": {
|
||||
"message": "Se connecter"
|
||||
},
|
||||
"app.instance.share.unable-to-connect.heading": {
|
||||
"message": "Impossible de se connecter"
|
||||
},
|
||||
"app.instance.share.unlink.body": {
|
||||
"message": "Vous devez délier ce modpack pour partager votre instance"
|
||||
},
|
||||
@@ -566,12 +602,60 @@
|
||||
"app.instance.worlds.search-worlds-placeholder": {
|
||||
"message": "Rechercher {count} mondes..."
|
||||
},
|
||||
"app.java-detection.cancel": {
|
||||
"message": "Annuler"
|
||||
},
|
||||
"app.java-detection.columns.actions": {
|
||||
"message": "Actions"
|
||||
},
|
||||
"app.java-detection.columns.path": {
|
||||
"message": "Chemin"
|
||||
},
|
||||
"app.java-detection.columns.version": {
|
||||
"message": "Version"
|
||||
},
|
||||
"app.java-detection.no-installations-found": {
|
||||
"message": "Aucune installation Java trouvée."
|
||||
},
|
||||
"app.java-detection.select": {
|
||||
"message": "Sélectionner"
|
||||
},
|
||||
"app.java-detection.selected": {
|
||||
"message": "Sélectionné"
|
||||
},
|
||||
"app.java-detection.title": {
|
||||
"message": "Sélectionner l'installation Java"
|
||||
},
|
||||
"app.java-selector.already-installed": {
|
||||
"message": "Déjà installé"
|
||||
},
|
||||
"app.java-selector.browse": {
|
||||
"message": "Naviguer"
|
||||
},
|
||||
"app.java-selector.detect": {
|
||||
"message": "Détecter"
|
||||
},
|
||||
"app.java-selector.install-recommended": {
|
||||
"message": "Télécharger les fichiers recommandés"
|
||||
},
|
||||
"app.java-selector.installing": {
|
||||
"message": "Installation..."
|
||||
},
|
||||
"app.java-selector.path.placeholder": {
|
||||
"message": "/chemin/vers/java"
|
||||
},
|
||||
"app.java-selector.test-installation": {
|
||||
"message": "Tester l'installation Java"
|
||||
},
|
||||
"app.modal.install-to-play.additional-context": {
|
||||
"message": "Contexte additionnel"
|
||||
},
|
||||
"app.modal.install-to-play.additional-context-placeholder": {
|
||||
"message": "Si possible, incluez des liens et des images pertinentes"
|
||||
},
|
||||
"app.modal.install-to-play.block-user": {
|
||||
"message": "Bloquer l'utilisateur"
|
||||
},
|
||||
"app.modal.install-to-play.content-you-are-reporting": {
|
||||
"message": "L'instance que vous signalez"
|
||||
},
|
||||
@@ -593,6 +677,9 @@
|
||||
"app.modal.install-to-play.invite-warning": {
|
||||
"message": "Cette invitation a été crée par un autre utilisateur Modrinth, pas par Modrinth. N'acceptez seulement les invitations de personnes en qui vous avez confiance."
|
||||
},
|
||||
"app.modal.install-to-play.invite-warning-with-creator": {
|
||||
"message": "Cette invitation a été crée par <creator>{username}</creator>, pas par Modrinth. N'acceptez seulement les invitations de personnes en qui vous avez confiance."
|
||||
},
|
||||
"app.modal.install-to-play.mod-count": {
|
||||
"message": "{count, plural, one {# mod} other {# mods}}"
|
||||
},
|
||||
@@ -650,6 +737,9 @@
|
||||
"app.modal.install-to-play.unrecognized-files": {
|
||||
"message": "Fichiers non reconnus"
|
||||
},
|
||||
"app.modal.install-to-play.user-blocked": {
|
||||
"message": "Utilisateur bloqué"
|
||||
},
|
||||
"app.modal.install-to-play.view-contents": {
|
||||
"message": "Voir le contenu"
|
||||
},
|
||||
@@ -677,6 +767,36 @@
|
||||
"app.modal.update-to-play.update-required-description": {
|
||||
"message": "Une mise à jour est requise pour jouer à {name}. Veuillez mettre à jour vers la dernière version pour lancer le jeu."
|
||||
},
|
||||
"app.nav.create-new-instance": {
|
||||
"message": "Créer une nouvelle instance"
|
||||
},
|
||||
"app.nav.home": {
|
||||
"message": "Accueil"
|
||||
},
|
||||
"app.nav.library": {
|
||||
"message": "Bibliothèque"
|
||||
},
|
||||
"app.nav.modrinth-account": {
|
||||
"message": "Compte Modrinth"
|
||||
},
|
||||
"app.nav.modrinth-hosting": {
|
||||
"message": "Modrinth Hosting"
|
||||
},
|
||||
"app.nav.sign-in-to-modrinth-account": {
|
||||
"message": "Se connecter à un compte Modrinth"
|
||||
},
|
||||
"app.nav.signed-in-as": {
|
||||
"message": "Connecté en tant que <user>{username}</user>"
|
||||
},
|
||||
"app.nav.upgrade-to-modrinth-plus": {
|
||||
"message": "Passer à Modrinth+"
|
||||
},
|
||||
"app.news.title": {
|
||||
"message": "Nouveautés"
|
||||
},
|
||||
"app.news.view-all": {
|
||||
"message": "Voir toutes les nouveautés"
|
||||
},
|
||||
"app.project.install-button.already-installed": {
|
||||
"message": "Ce projet a déjà été installé"
|
||||
},
|
||||
@@ -686,6 +806,9 @@
|
||||
"app.project.install-context.back-to-browse": {
|
||||
"message": "Retour vers la page découvrir"
|
||||
},
|
||||
"app.project.install-context.back-to-instance": {
|
||||
"message": "Retour à l'instance"
|
||||
},
|
||||
"app.project.version.all-versions": {
|
||||
"message": "Toutes les versions"
|
||||
},
|
||||
@@ -698,20 +821,113 @@
|
||||
"app.project.versions.already-installed": {
|
||||
"message": "Déjà installé"
|
||||
},
|
||||
"app.quick-instance-switcher.drag-show-tooltip": {
|
||||
"message": "Faites glisser pour montrer les instances récentes"
|
||||
},
|
||||
"app.quick-instance-switcher.drag-tooltip": {
|
||||
"message": "Faire glisser pour redimensionner"
|
||||
},
|
||||
"app.restarting": {
|
||||
"message": "Redémarrage..."
|
||||
},
|
||||
"app.settings.app-version": {
|
||||
"message": "Modrinth App {version}"
|
||||
},
|
||||
"app.settings.default-instance-options.environment-variables.placeholder": {
|
||||
"message": "Entrer les variables d'environnement..."
|
||||
},
|
||||
"app.settings.default-instance-options.environment-variables.title": {
|
||||
"message": "Variables d'environnement"
|
||||
},
|
||||
"app.settings.default-instance-options.fullscreen.description": {
|
||||
"message": "Démarre les instances en plein écran en modifiant leur fichier options.txt."
|
||||
},
|
||||
"app.settings.default-instance-options.fullscreen.title": {
|
||||
"message": "Plein écran"
|
||||
},
|
||||
"app.settings.default-instance-options.height.description": {
|
||||
"message": "La hauteur de la fenêtre de jeu lors du lancement."
|
||||
},
|
||||
"app.settings.default-instance-options.height.placeholder": {
|
||||
"message": "Entrer la hauteur"
|
||||
},
|
||||
"app.settings.default-instance-options.height.title": {
|
||||
"message": "Hauteur"
|
||||
},
|
||||
"app.settings.default-instance-options.java-arguments.placeholder": {
|
||||
"message": "Entrer les arguments Java..."
|
||||
},
|
||||
"app.settings.default-instance-options.java-arguments.title": {
|
||||
"message": "Arguments Java"
|
||||
},
|
||||
"app.settings.default-instance-options.memory-allocation.description": {
|
||||
"message": "Mémoire maximale disponible pour chaque instance."
|
||||
},
|
||||
"app.settings.default-instance-options.memory-allocation.title": {
|
||||
"message": "Allocation de la mémoire"
|
||||
},
|
||||
"app.settings.default-instance-options.post-exit-hook.description": {
|
||||
"message": "S'exécute après que le jeu se ferme."
|
||||
},
|
||||
"app.settings.default-instance-options.width.description": {
|
||||
"message": "La largeur de la fenêtre de jeu lors du lancement."
|
||||
},
|
||||
"app.settings.default-instance-options.width.placeholder": {
|
||||
"message": "Entrer la largeur..."
|
||||
},
|
||||
"app.settings.default-instance-options.width.title": {
|
||||
"message": "Largeur"
|
||||
},
|
||||
"app.settings.developer-mode-button.label": {
|
||||
"message": "Basculer le mode développeur"
|
||||
},
|
||||
"app.settings.developer-mode-enabled": {
|
||||
"message": "Mode développeur activé."
|
||||
},
|
||||
"app.settings.downloading": {
|
||||
"message": "Téléchargement de la version {version}"
|
||||
},
|
||||
"app.settings.java-installations.location.title": {
|
||||
"message": "Emplacement de Java {version, number}"
|
||||
},
|
||||
"app.settings.operating-system.macos": {
|
||||
"message": "macOS"
|
||||
},
|
||||
"app.settings.privacy.ads-consent.intro": {
|
||||
"message": "Les publicités rendent Modrinth possible et financent les rémunérations des créateurs. Nos partenaires peuvent stocker des cookies ou y accéder au sein de l'application afin de personnaliser les publicités et de mesurer les performances. Vous pouvez refuser ou gérer vos préférences ci-dessous."
|
||||
},
|
||||
"app.settings.privacy.telemetry.title": {
|
||||
"message": "Télémétrie"
|
||||
},
|
||||
"app.settings.resource-management.always-show-copy-details.title": {
|
||||
"message": "Toujours afficher les détails de copie"
|
||||
},
|
||||
"app.settings.resource-management.app-cache.purge": {
|
||||
"message": "Purger le cache"
|
||||
},
|
||||
"app.settings.resource-management.app-cache.title": {
|
||||
"message": "Cache de l'application"
|
||||
},
|
||||
"app.settings.resource-management.app-database-backups.open-folder": {
|
||||
"message": "Ouvrir le dossier de sauvegardes"
|
||||
},
|
||||
"app.settings.resource-management.app-directory.select": {
|
||||
"message": "Sélectionner un nouveau répertoire pour l'application"
|
||||
},
|
||||
"app.settings.resource-management.app-directory.title": {
|
||||
"message": "Répertoire de l'application"
|
||||
},
|
||||
"app.settings.sidebar.label.instances": {
|
||||
"message": "Instance"
|
||||
},
|
||||
"app.settings.tabs.appearance": {
|
||||
"message": "Apparence"
|
||||
},
|
||||
"app.settings.tabs.behavior": {
|
||||
"message": "Comportement"
|
||||
},
|
||||
"app.settings.tabs.default-instance-options": {
|
||||
"message": "Options d’instance par défaut"
|
||||
"message": "Options de jeu par défaut"
|
||||
},
|
||||
"app.settings.tabs.java-installations": {
|
||||
"message": "Installations de Java"
|
||||
@@ -725,6 +941,9 @@
|
||||
"app.settings.tabs.resource-management": {
|
||||
"message": "Gestion des ressources"
|
||||
},
|
||||
"app.sidebar.playing-as": {
|
||||
"message": "Joue en tant que"
|
||||
},
|
||||
"app.skins.add-button": {
|
||||
"message": "Ajouter un skin"
|
||||
},
|
||||
@@ -884,6 +1103,12 @@
|
||||
"app.skins.toggle-ears-features-on": {
|
||||
"message": "Activer"
|
||||
},
|
||||
"app.survey.no-thanks": {
|
||||
"message": "Non merci"
|
||||
},
|
||||
"app.survey.take-survey": {
|
||||
"message": "Participer au sondage"
|
||||
},
|
||||
"app.update-popup.body.download-complete": {
|
||||
"message": "Modrinth App v{version} a finie d'être téléchargée. Rechargez pour mettre à jour maintenant, ou automatiquement quand vous fermez Modrinth App."
|
||||
},
|
||||
@@ -1059,7 +1284,7 @@
|
||||
"message": "Dissocier l'instance partagée"
|
||||
},
|
||||
"installation-settings.unpublish-shared-instance.modal.admonition-body": {
|
||||
"message": "Cela supprime l'instance partagée des serveurs de Modrinth. Les personnes l'utilisant dans l'application Modrinth vont cesser de recevoir des mises à jour, mais votre instance locale et son contenu resteront sur cet appareil."
|
||||
"message": "Cela supprime l'instance partagée des serveurs de Modrinth. Les personnes l'utilisant dans Modrinth App vont cesser de recevoir des mises à jour, mais votre instance locale et son contenu resteront sur cet appareil."
|
||||
},
|
||||
"installation-settings.unpublish-shared-instance.modal.admonition-header": {
|
||||
"message": "Dépublication de l'instance partagée"
|
||||
@@ -1157,6 +1382,39 @@
|
||||
"instance.server-modal.resource-pack": {
|
||||
"message": "Pack de ressources"
|
||||
},
|
||||
"instance.settings.sharing.active-invites.actions": {
|
||||
"message": "Actions"
|
||||
},
|
||||
"instance.settings.sharing.active-invites.code": {
|
||||
"message": "Lien d'invitation"
|
||||
},
|
||||
"instance.settings.sharing.active-invites.empty": {
|
||||
"message": "Il n'y a aucune invitation active."
|
||||
},
|
||||
"instance.settings.sharing.active-invites.expires": {
|
||||
"message": "Expire"
|
||||
},
|
||||
"instance.settings.sharing.active-invites.revoke": {
|
||||
"message": "Révoquer l'invitation"
|
||||
},
|
||||
"instance.settings.sharing.active-invites.revoke-with-code": {
|
||||
"message": "Révoquer l'invitation {code}"
|
||||
},
|
||||
"instance.settings.sharing.active-invites.title": {
|
||||
"message": "Invitations actives"
|
||||
},
|
||||
"instance.settings.sharing.active-invites.uses": {
|
||||
"message": "Utilisations"
|
||||
},
|
||||
"instance.settings.sharing.revoke-invite.admonition-header": {
|
||||
"message": "Cette action ne peut pas être annulée"
|
||||
},
|
||||
"instance.settings.sharing.revoke-invite.confirm": {
|
||||
"message": "Révoquer l'invitation"
|
||||
},
|
||||
"instance.settings.sharing.revoke-invite.header": {
|
||||
"message": "Révoquer l'invitation"
|
||||
},
|
||||
"instance.settings.tabs.general": {
|
||||
"message": "Général"
|
||||
},
|
||||
@@ -1358,6 +1616,9 @@
|
||||
"instance.shared-instance.error.title": {
|
||||
"message": "Quelque chose s'est mal passé"
|
||||
},
|
||||
"instance.shared-instance.network-error.title": {
|
||||
"message": "Erreur de réseau"
|
||||
},
|
||||
"instance.shared-instance.owner-tooltip": {
|
||||
"message": "Le contenu de cette instance est partagé à d'autres utilisateurs."
|
||||
},
|
||||
@@ -1493,9 +1754,6 @@
|
||||
"modal.modrinth-account-required.browser-description": {
|
||||
"message": "A nouvel onglet a été ouvert pour vous connecter. Finissez la connexion, puis retournez dans l'application."
|
||||
},
|
||||
"modal.modrinth-account-required.cancel-button": {
|
||||
"message": "Annuler"
|
||||
},
|
||||
"modal.modrinth-account-required.continue-in-browser-heading": {
|
||||
"message": "Continuer dans votre navigateur"
|
||||
},
|
||||
@@ -1549,5 +1807,11 @@
|
||||
},
|
||||
"search.filter.locked.server-loader.title": {
|
||||
"message": "Le loader est procuré par le serveur"
|
||||
},
|
||||
"settings.sidebar.label.account": {
|
||||
"message": "Compte"
|
||||
},
|
||||
"settings.sidebar.label.display": {
|
||||
"message": "Affichage"
|
||||
}
|
||||
}
|
||||
|
||||
@@ -20,9 +20,6 @@
|
||||
"app.action-bar.stop-instance": {
|
||||
"message": ""
|
||||
},
|
||||
"app.appearance-settings.advanced-rendering.description": {
|
||||
"message": "מאפשר עיבוד מתקדם כגון אפקטים טשטוש העלולים לגרום לבעיות ביצועים ללא עיבוד מואץ לחומרה."
|
||||
},
|
||||
"app.appearance-settings.jump-back-into-worlds.title": {
|
||||
"message": "חזרה לעולמות"
|
||||
},
|
||||
@@ -161,9 +158,6 @@
|
||||
"app.settings.tabs.appearance": {
|
||||
"message": "מראה"
|
||||
},
|
||||
"app.settings.tabs.default-instance-options": {
|
||||
"message": "אפשרויות ברירת מחדל של התקנה"
|
||||
},
|
||||
"app.settings.tabs.java-installations": {
|
||||
"message": "התקנות ג'אווה"
|
||||
},
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
@@ -44,21 +44,12 @@
|
||||
"app.action-bar.view-logs": {
|
||||
"message": "Lihat catatan"
|
||||
},
|
||||
"app.appearance-settings.advanced-rendering.description": {
|
||||
"message": "Menghidupkan renderasi tingkat lanjut seperti efek buram yang dapat menyebabkan masalah kinerja tanpa renderasi yang dipercepat perangkat keras."
|
||||
},
|
||||
"app.appearance-settings.advanced-rendering.title": {
|
||||
"message": "Renderasi tingkat lanjut"
|
||||
},
|
||||
"app.appearance-settings.color-theme.description": {
|
||||
"message": "Pilih tema warna pilihan Anda untuk Modrinth App."
|
||||
},
|
||||
"app.appearance-settings.color-theme.title": {
|
||||
"message": "Tema warna"
|
||||
},
|
||||
"app.appearance-settings.default-landing-page.description": {
|
||||
"message": "Ubah halaman utama yang dibuka oleh peluncur."
|
||||
},
|
||||
"app.appearance-settings.default-landing-page.home": {
|
||||
"message": "Beranda"
|
||||
},
|
||||
@@ -68,45 +59,15 @@
|
||||
"app.appearance-settings.default-landing-page.title": {
|
||||
"message": "Halaman arahan bawaan"
|
||||
},
|
||||
"app.appearance-settings.hide-nametag.description": {
|
||||
"message": "Mematikan label nama di atas wujud pemain Anda pada halaman rupa."
|
||||
},
|
||||
"app.appearance-settings.hide-nametag.title": {
|
||||
"message": "Sembunyikan label nama"
|
||||
},
|
||||
"app.appearance-settings.jump-back-into-worlds.description": {
|
||||
"message": "Menyertakan dunia terkini dalam bagian \"Masuk kembali\" pada Beranda."
|
||||
},
|
||||
"app.appearance-settings.jump-back-into-worlds.title": {
|
||||
"message": "Masuk kembali ke dunia"
|
||||
},
|
||||
"app.appearance-settings.minimize-launcher.description": {
|
||||
"message": "Kecilkan pluncur ketika proses Minecraft berjalan."
|
||||
},
|
||||
"app.appearance-settings.minimize-launcher.title": {
|
||||
"message": "Kecilkan peluncur"
|
||||
},
|
||||
"app.appearance-settings.native-decorations.description": {
|
||||
"message": "Gunakan bingkai jendela sistem (wajib menjalankan ulang aplikasi)."
|
||||
},
|
||||
"app.appearance-settings.native-decorations.title": {
|
||||
"message": "Hiasan asli"
|
||||
},
|
||||
"app.appearance-settings.show-play-time.description": {
|
||||
"message": "Menampilkan seberapa lama Anda memainkan sebuah instans."
|
||||
},
|
||||
"app.appearance-settings.show-play-time.title": {
|
||||
"message": "Tampilkan waktu bermain"
|
||||
},
|
||||
"app.appearance-settings.toggle-sidebar.description": {
|
||||
"message": "Menghidupkan kemampuan untuk menghidupkan dan mematikan bilah sisi."
|
||||
},
|
||||
"app.appearance-settings.toggle-sidebar.title": {
|
||||
"message": "Hidup/matikan bilah sisi"
|
||||
},
|
||||
"app.appearance-settings.unknown-pack-warning.description": {
|
||||
"message": "Bila Anda mencoba memasangkan berkas Modrinth Pack (.mrpack) yang tidak dihoskan pada Modrinth, kami akan memastikan Anda untuk memahami risikonya sebelum memasangkannya."
|
||||
},
|
||||
"app.appearance-settings.unknown-pack-warning.title": {
|
||||
"message": "Peringatkan saya sebelum memasang paket mod tidak dikenal"
|
||||
},
|
||||
@@ -272,9 +233,6 @@
|
||||
"app.settings.tabs.appearance": {
|
||||
"message": "Tampilan"
|
||||
},
|
||||
"app.settings.tabs.default-instance-options": {
|
||||
"message": "Pilihan instans bawaan"
|
||||
},
|
||||
"app.settings.tabs.java-installations": {
|
||||
"message": "Pemasangan Java"
|
||||
},
|
||||
|
||||
@@ -15,7 +15,7 @@
|
||||
"message": "Copiati"
|
||||
},
|
||||
"app.action-bar.install.copy-details": {
|
||||
"message": "Copia dettagli"
|
||||
"message": "Copia info"
|
||||
},
|
||||
"app.action-bar.install.dismiss": {
|
||||
"message": "Ignora"
|
||||
@@ -144,19 +144,19 @@
|
||||
"message": "La tua privacy e come le pubblicità supportano Modrinth"
|
||||
},
|
||||
"app.appearance-settings.advanced-rendering.description": {
|
||||
"message": "Abilita alcuni effetti come la sfocatura, ma può causare problemi di prestazioni senza accelerazione hardware."
|
||||
"message": "Abilita effetti come lo sfondo sfocato. Questo potrebbe ridurre le prestazioni senza accelerazione hardware."
|
||||
},
|
||||
"app.appearance-settings.advanced-rendering.title": {
|
||||
"message": "Rendering avanzato"
|
||||
},
|
||||
"app.appearance-settings.color-theme.description": {
|
||||
"message": "Scegli il tema che Modrinth App userà su questo dispositivo."
|
||||
"message": "Scegli il tema usato da Modrinth App."
|
||||
},
|
||||
"app.appearance-settings.color-theme.title": {
|
||||
"message": "Tema"
|
||||
},
|
||||
"app.appearance-settings.default-landing-page.description": {
|
||||
"message": "Imposta la pagina che si aprirà all'avvio del launcher."
|
||||
"message": "Scegli la pagina che Modrinth App mostrerà all'avvio."
|
||||
},
|
||||
"app.appearance-settings.default-landing-page.home": {
|
||||
"message": "Home"
|
||||
@@ -168,10 +168,10 @@
|
||||
"message": "Pagina di avvio"
|
||||
},
|
||||
"app.appearance-settings.hide-nametag.description": {
|
||||
"message": "Rimuove il nametag sopra la testa del giocatore nella pagina delle skin."
|
||||
"message": "Nasconde il tuo nome dalle anteprime della pagina delle Skin."
|
||||
},
|
||||
"app.appearance-settings.hide-nametag.title": {
|
||||
"message": "Nascondi il nome"
|
||||
"message": "Nascondi nome"
|
||||
},
|
||||
"app.appearance-settings.jump-back-into-worlds.description": {
|
||||
"message": "Elenca i mondi recenti nella sezione \"Avvio rapido\" della pagina Home."
|
||||
@@ -180,37 +180,37 @@
|
||||
"message": "Avvio rapido nei mondi"
|
||||
},
|
||||
"app.appearance-settings.minimize-launcher.description": {
|
||||
"message": "Riduci il launcher a icona quando si avvia Minecraft."
|
||||
"message": "Minimizza l'app all'avvio di Minecraft."
|
||||
},
|
||||
"app.appearance-settings.minimize-launcher.title": {
|
||||
"message": "Riduci a icona"
|
||||
"message": "Minimizza app"
|
||||
},
|
||||
"app.appearance-settings.native-decorations.description": {
|
||||
"message": "Usa la cornice di sistema (riavvio necessario)."
|
||||
"message": "Usa la barra e i controlli delle finestre di sistema. Richiede un riavvio."
|
||||
},
|
||||
"app.appearance-settings.native-decorations.title": {
|
||||
"message": "Decorazioni native"
|
||||
"message": "Usa cornice di sistema"
|
||||
},
|
||||
"app.appearance-settings.show-play-time.description": {
|
||||
"message": "Mostra quanto tempo hai speso giocando a un'istanza."
|
||||
"message": "Mostra quanto tempo hai giocato a un'istanza."
|
||||
},
|
||||
"app.appearance-settings.show-play-time.title": {
|
||||
"message": "Mostra le ore di gioco"
|
||||
"message": "Mostra ore di gioco"
|
||||
},
|
||||
"app.appearance-settings.skip-non-essential-warnings.description": {
|
||||
"message": "Salta automaticamente le conferme a basso rischio, come l'installazione di pacchetti di mod duplicati, la normale eliminazione di contenuti, gli aggiornamenti simultanei, lo scollegare i pacchetti di mod e le richieste di riparazione. Le avvertenze verranno comunque mostrate."
|
||||
"message": "Salta le conferme a basso rischio come l'installazione duplicata, l'eliminazione di contenuti, gli aggiornamenti simultanei, lo scollegare e il riparare. Gli avvisi per operazioni pericolose verranno comunque mostrati."
|
||||
},
|
||||
"app.appearance-settings.skip-non-essential-warnings.title": {
|
||||
"message": "Salta le conferme meno importanti"
|
||||
"message": "Salta conferme meno importanti"
|
||||
},
|
||||
"app.appearance-settings.toggle-sidebar.description": {
|
||||
"message": "Mostra o nascondi la barra laterale."
|
||||
"message": "Nascondi la barra laterale destra e aggiungi un pulsante per mostrarla."
|
||||
},
|
||||
"app.appearance-settings.toggle-sidebar.title": {
|
||||
"message": "Abilita la barra laterale"
|
||||
"message": "Nascondi barra laterale destra"
|
||||
},
|
||||
"app.appearance-settings.unknown-pack-warning.description": {
|
||||
"message": "Mostrerà un avviso prima di installare un file Modrinth Pack (.mrpack) non proveniente da Modrinth, a causa dei possibili rischi."
|
||||
"message": "Mostra un avviso di sicurezza prima di installare un Modrinth Pack (.mrpack) non disponibile su Modrinth."
|
||||
},
|
||||
"app.appearance-settings.unknown-pack-warning.title": {
|
||||
"message": "Avvisami quando installo pacchetti sconosciuti"
|
||||
@@ -221,6 +221,15 @@
|
||||
"app.auth-servers.unreachable.header": {
|
||||
"message": "Impossibile raggiungere i server di autenticazione"
|
||||
},
|
||||
"app.behavior-settings.confirmations.title": {
|
||||
"message": "Conferme"
|
||||
},
|
||||
"app.behavior-settings.content.title": {
|
||||
"message": "Home e contenuti"
|
||||
},
|
||||
"app.behavior-settings.startup-and-navigation.title": {
|
||||
"message": "Avvio e navigazione"
|
||||
},
|
||||
"app.browse.add-servers-to-instance": {
|
||||
"message": "Aggiungendo il server all'istanza"
|
||||
},
|
||||
@@ -242,12 +251,18 @@
|
||||
"app.browse.back-to-instance": {
|
||||
"message": "Torna all'istanza"
|
||||
},
|
||||
"app.browse.discover-project-type": {
|
||||
"message": "Scopri {projectType}"
|
||||
},
|
||||
"app.browse.discover-servers": {
|
||||
"message": "Sfoglia i server"
|
||||
},
|
||||
"app.browse.hide-added-servers": {
|
||||
"message": "Nascondi server già aggiunti"
|
||||
},
|
||||
"app.browse.hide-installed-modpacks": {
|
||||
"message": "Nascondi già installati"
|
||||
},
|
||||
"app.browse.project-type.modpacks": {
|
||||
"message": "Pacchetti di mod"
|
||||
},
|
||||
@@ -362,9 +377,18 @@
|
||||
"app.instance.admonitions.shared-instance.review-header": {
|
||||
"message": "Revisiona modifiche"
|
||||
},
|
||||
"app.instance.admonitions.shared-instance.review-update-button": {
|
||||
"message": "Revisiona aggiornamento"
|
||||
},
|
||||
"app.instance.admonitions.shared-instance.reviewing-button": {
|
||||
"message": "Revisione..."
|
||||
},
|
||||
"app.instance.admonitions.shared-instance.update-available-body": {
|
||||
"message": "{name} richiede degli aggiornamenti. Installa l'ultima versione per poter giocare."
|
||||
},
|
||||
"app.instance.admonitions.shared-instance.update-available-header": {
|
||||
"message": "Aggiornamento disponibile"
|
||||
},
|
||||
"app.instance.confirm-delete.admonition-body": {
|
||||
"message": "Tutti i dati della tua istanza verranno eliminati permanentemente, inclusi i tuoi mondi, configurazioni e tutti i contenuti installati."
|
||||
},
|
||||
@@ -428,6 +452,9 @@
|
||||
"app.instance.share.invite-modal.heading": {
|
||||
"message": "Condividi {name}"
|
||||
},
|
||||
"app.instance.share.invite-modal.user-limit-reached": {
|
||||
"message": "Questa istanza ha raggiunto il limite di {limit} utenti."
|
||||
},
|
||||
"app.instance.share.locked.empty-description-prefix": {
|
||||
"message": "Devi effettuare l'accesso come"
|
||||
},
|
||||
@@ -446,6 +473,12 @@
|
||||
"app.instance.share.locked.wrong-account-heading": {
|
||||
"message": "Account sbagliato"
|
||||
},
|
||||
"app.instance.share.members.empty": {
|
||||
"message": "Nessun utente è entrato"
|
||||
},
|
||||
"app.instance.share.members.no-filter-results": {
|
||||
"message": "Nessun utente corrisponde ai filtri."
|
||||
},
|
||||
"app.instance.share.remove-user-modal.effect-access": {
|
||||
"message": "Non riceveranno più gli aggiornamenti di questa istanza condivisa"
|
||||
},
|
||||
@@ -476,6 +509,12 @@
|
||||
"app.instance.share.sign-in.button": {
|
||||
"message": "Accedi"
|
||||
},
|
||||
"app.instance.share.unable-to-connect.description": {
|
||||
"message": "Il servizio delle istanze condivise non è disponibile al momento, riprova più tardi"
|
||||
},
|
||||
"app.instance.share.unable-to-connect.heading": {
|
||||
"message": "Impossibile connettersi"
|
||||
},
|
||||
"app.instance.share.unlink.body": {
|
||||
"message": "Devi scollegare questo pacchetto per condividere l'istanza"
|
||||
},
|
||||
@@ -548,6 +587,9 @@
|
||||
"app.instance.worlds.no-worlds-heading": {
|
||||
"message": "Nessun server o mondo aggiunto"
|
||||
},
|
||||
"app.instance.worlds.refreshing": {
|
||||
"message": "Ricaricamento..."
|
||||
},
|
||||
"app.instance.worlds.remove-server-modal.remove-button": {
|
||||
"message": "Rimuovi server"
|
||||
},
|
||||
@@ -563,14 +605,62 @@
|
||||
"app.instance.worlds.search-worlds-placeholder": {
|
||||
"message": "Cerca tra {count} mondi..."
|
||||
},
|
||||
"app.java-detection.cancel": {
|
||||
"message": "Annulla"
|
||||
},
|
||||
"app.java-detection.columns.actions": {
|
||||
"message": "Azioni"
|
||||
},
|
||||
"app.java-detection.columns.path": {
|
||||
"message": "Percorso"
|
||||
},
|
||||
"app.java-detection.columns.version": {
|
||||
"message": "Versione"
|
||||
},
|
||||
"app.java-detection.no-installations-found": {
|
||||
"message": "Nessuna installazione di Java trovata."
|
||||
},
|
||||
"app.java-detection.select": {
|
||||
"message": "Seleziona"
|
||||
},
|
||||
"app.java-detection.selected": {
|
||||
"message": "Selezionata"
|
||||
},
|
||||
"app.java-detection.title": {
|
||||
"message": "Seleziona l'installazione di Java"
|
||||
},
|
||||
"app.java-selector.already-installed": {
|
||||
"message": "Già installata"
|
||||
},
|
||||
"app.java-selector.browse": {
|
||||
"message": "Esplora"
|
||||
},
|
||||
"app.java-selector.detect": {
|
||||
"message": "Rileva"
|
||||
},
|
||||
"app.java-selector.install-recommended": {
|
||||
"message": "Installa consigliata"
|
||||
},
|
||||
"app.java-selector.installing": {
|
||||
"message": "Installazione..."
|
||||
},
|
||||
"app.java-selector.path.placeholder": {
|
||||
"message": "/percorso/di/java"
|
||||
},
|
||||
"app.java-selector.test-installation": {
|
||||
"message": "Prova l'installazione di Java"
|
||||
},
|
||||
"app.modal.install-to-play.additional-context": {
|
||||
"message": "Contesto aggiuntivo"
|
||||
},
|
||||
"app.modal.install-to-play.additional-context-placeholder": {
|
||||
"message": "Se possibile, includi link e immagini pertinenti"
|
||||
},
|
||||
"app.modal.install-to-play.block-user": {
|
||||
"message": "Blocca"
|
||||
},
|
||||
"app.modal.install-to-play.content-you-are-reporting": {
|
||||
"message": "L'istanza che stai segnalando"
|
||||
"message": "Istanza da segnalare"
|
||||
},
|
||||
"app.modal.install-to-play.delete-instance": {
|
||||
"message": "Elimina istanza"
|
||||
@@ -590,6 +680,9 @@
|
||||
"app.modal.install-to-play.invite-warning": {
|
||||
"message": "Questo invito è stato creato da un utente e non da Modrinth. Accetta solo gli inviti da persone fidate."
|
||||
},
|
||||
"app.modal.install-to-play.invite-warning-with-creator": {
|
||||
"message": "Questo invito è stato creato da <creator>{username}</creator>, non da Modrinth. Accetta solo gli inviti da persone fidate."
|
||||
},
|
||||
"app.modal.install-to-play.mod-count": {
|
||||
"message": "{count} mod"
|
||||
},
|
||||
@@ -647,6 +740,9 @@
|
||||
"app.modal.install-to-play.unrecognized-files": {
|
||||
"message": "File non riconosciuti"
|
||||
},
|
||||
"app.modal.install-to-play.user-blocked": {
|
||||
"message": "Bloccato"
|
||||
},
|
||||
"app.modal.install-to-play.view-contents": {
|
||||
"message": "Mostra contenuti"
|
||||
},
|
||||
@@ -674,6 +770,36 @@
|
||||
"app.modal.update-to-play.update-required-description": {
|
||||
"message": "{name} richiede degli aggiornamenti. Installa l'ultima versione per poter giocare."
|
||||
},
|
||||
"app.nav.create-new-instance": {
|
||||
"message": "Crea nuova istanza"
|
||||
},
|
||||
"app.nav.home": {
|
||||
"message": "Home"
|
||||
},
|
||||
"app.nav.library": {
|
||||
"message": "Libreria"
|
||||
},
|
||||
"app.nav.modrinth-account": {
|
||||
"message": "Account Modrinth"
|
||||
},
|
||||
"app.nav.modrinth-hosting": {
|
||||
"message": "Modrinth Hosting"
|
||||
},
|
||||
"app.nav.sign-in-to-modrinth-account": {
|
||||
"message": "Accedi a un account Modrinth"
|
||||
},
|
||||
"app.nav.signed-in-as": {
|
||||
"message": "Accesso effettuato come <user>{username}</user>"
|
||||
},
|
||||
"app.nav.upgrade-to-modrinth-plus": {
|
||||
"message": "Abbonati a Modrinth+"
|
||||
},
|
||||
"app.news.title": {
|
||||
"message": "Notizie"
|
||||
},
|
||||
"app.news.view-all": {
|
||||
"message": "Leggi tutte le notizie"
|
||||
},
|
||||
"app.project.install-button.already-installed": {
|
||||
"message": "Questo progetto è già stato installato"
|
||||
},
|
||||
@@ -683,6 +809,9 @@
|
||||
"app.project.install-context.back-to-browse": {
|
||||
"message": "Torna a Esplora"
|
||||
},
|
||||
"app.project.install-context.back-to-instance": {
|
||||
"message": "Torna all'istanza"
|
||||
},
|
||||
"app.project.version.all-versions": {
|
||||
"message": "Tutte le versioni"
|
||||
},
|
||||
@@ -695,20 +824,188 @@
|
||||
"app.project.versions.already-installed": {
|
||||
"message": "Già installata"
|
||||
},
|
||||
"app.quick-instance-switcher.drag-show-tooltip": {
|
||||
"message": "Trascina per mostrare le istanze recenti"
|
||||
},
|
||||
"app.quick-instance-switcher.drag-tooltip": {
|
||||
"message": "Trascina per ridimensionare"
|
||||
},
|
||||
"app.restarting": {
|
||||
"message": "Riavvio..."
|
||||
},
|
||||
"app.settings.app-version": {
|
||||
"message": "Modrinth App {version}"
|
||||
},
|
||||
"app.settings.default-instance-options.environment-variables.description": {
|
||||
"message": "Variabili d'ambiente impostati all'avvio di un'istanza."
|
||||
},
|
||||
"app.settings.default-instance-options.environment-variables.placeholder": {
|
||||
"message": "Inserisci le variabili d'ambiente..."
|
||||
},
|
||||
"app.settings.default-instance-options.environment-variables.title": {
|
||||
"message": "Variabili d'ambiente"
|
||||
},
|
||||
"app.settings.default-instance-options.fullscreen.description": {
|
||||
"message": "Avvia le istanze in schermo intero modificando il loro options.txt."
|
||||
},
|
||||
"app.settings.default-instance-options.fullscreen.title": {
|
||||
"message": "Schermo intero"
|
||||
},
|
||||
"app.settings.default-instance-options.height.description": {
|
||||
"message": "L'altezza della finestra del gioco all'avvio."
|
||||
},
|
||||
"app.settings.default-instance-options.height.placeholder": {
|
||||
"message": "Inserisci l'altezza..."
|
||||
},
|
||||
"app.settings.default-instance-options.height.title": {
|
||||
"message": "Altezza"
|
||||
},
|
||||
"app.settings.default-instance-options.java-arguments.description": {
|
||||
"message": "Argomenti passati a Java all'avvio di un'istanza."
|
||||
},
|
||||
"app.settings.default-instance-options.java-arguments.placeholder": {
|
||||
"message": "Inserisci gli argomenti Java..."
|
||||
},
|
||||
"app.settings.default-instance-options.java-arguments.title": {
|
||||
"message": "Argomenti Java"
|
||||
},
|
||||
"app.settings.default-instance-options.memory-allocation.description": {
|
||||
"message": "Memoria massima disponibile a ogni istanza."
|
||||
},
|
||||
"app.settings.default-instance-options.memory-allocation.title": {
|
||||
"message": "Allocazione memoria"
|
||||
},
|
||||
"app.settings.default-instance-options.post-exit-hook.description": {
|
||||
"message": "Si esegue dopo la chiusura del gioco."
|
||||
},
|
||||
"app.settings.default-instance-options.post-exit-hook.placeholder": {
|
||||
"message": "Inserisci il comando post-uscita..."
|
||||
},
|
||||
"app.settings.default-instance-options.post-exit-hook.title": {
|
||||
"message": "Hook post-uscita"
|
||||
},
|
||||
"app.settings.default-instance-options.pre-launch-hook.description": {
|
||||
"message": "Si esegue prima dell'avvio dell'istanza."
|
||||
},
|
||||
"app.settings.default-instance-options.pre-launch-hook.placeholder": {
|
||||
"message": "Inserisci il comando pre-avvio..."
|
||||
},
|
||||
"app.settings.default-instance-options.pre-launch-hook.title": {
|
||||
"message": "Hook pre-avvio"
|
||||
},
|
||||
"app.settings.default-instance-options.width.description": {
|
||||
"message": "La larghezza della finestra del gioco all'avvio."
|
||||
},
|
||||
"app.settings.default-instance-options.width.placeholder": {
|
||||
"message": "Inserisci la larghezza..."
|
||||
},
|
||||
"app.settings.default-instance-options.width.title": {
|
||||
"message": "Larghezza"
|
||||
},
|
||||
"app.settings.default-instance-options.wrapper-hook.description": {
|
||||
"message": "Comando utilizzato per avvolgere il processo di avvio di Minecraft."
|
||||
},
|
||||
"app.settings.default-instance-options.wrapper-hook.placeholder": {
|
||||
"message": "Inserisci il comando del wrapper..."
|
||||
},
|
||||
"app.settings.default-instance-options.wrapper-hook.title": {
|
||||
"message": "Hook wrapper"
|
||||
},
|
||||
"app.settings.developer-mode-button.label": {
|
||||
"message": "Abilita o disabilita la modalità sviluppatore"
|
||||
},
|
||||
"app.settings.developer-mode-enabled": {
|
||||
"message": "Modalità sviluppatore attiva."
|
||||
},
|
||||
"app.settings.downloading": {
|
||||
"message": "Scaricando v{version}"
|
||||
"message": "Scaricando la v{version}"
|
||||
},
|
||||
"app.settings.java-installations.location.title": {
|
||||
"message": "Percorso di Java {version, number}"
|
||||
},
|
||||
"app.settings.operating-system.macos": {
|
||||
"message": "macOS"
|
||||
},
|
||||
"app.settings.privacy.ads-consent.intro": {
|
||||
"message": "Le pubblicità aiutano Modrinth a crescere e a finanziare i creatori. I nostri partner potrebbero memorizzare o accedere ai cookie nell'app per personalizzare e misurarne le prestazioni. Di seguito puoi scegliere di disdire o di gestire le opzioni."
|
||||
},
|
||||
"app.settings.privacy.discord-rich-presence.description": {
|
||||
"message": "Mostra Modrinth App come attività su Discord. Ciò non blocca le mod che mostrano la loro Rich Presence. Richiede un riavvio."
|
||||
},
|
||||
"app.settings.privacy.discord-rich-presence.title": {
|
||||
"message": "Rich Presence su Discord"
|
||||
},
|
||||
"app.settings.privacy.telemetry.description": {
|
||||
"message": "Modrinth raccoglie analitiche e dati anonimi per migliorare l'esperienza utente e personalizzarne la tua. Disabilitando questa opzione, i tuoi dati non verranno più raccolti."
|
||||
},
|
||||
"app.settings.privacy.telemetry.title": {
|
||||
"message": "Telemetria"
|
||||
},
|
||||
"app.settings.resource-management.always-show-copy-details.description": {
|
||||
"message": "Mostra il pulsante Copia info mentre un'installazione è in coda o in esecuzione. Verrà sempre mostrato dopo un errore o un'interruzione."
|
||||
},
|
||||
"app.settings.resource-management.always-show-copy-details.title": {
|
||||
"message": "Mostra sempre il pulsante Copia info"
|
||||
},
|
||||
"app.settings.resource-management.app-cache.confirm.description": {
|
||||
"message": "L'app potrebbe caricarsi più lentamente finché la cache non sarà ripristinata."
|
||||
},
|
||||
"app.settings.resource-management.app-cache.confirm.title": {
|
||||
"message": "Eliminare la cache?"
|
||||
},
|
||||
"app.settings.resource-management.app-cache.description": {
|
||||
"message": "Elimina la cache e riscarica tutto da Modrinth. L'app potrebbe caricarsi più lentamente finché la cache non sarà ripristinata."
|
||||
},
|
||||
"app.settings.resource-management.app-cache.purge": {
|
||||
"message": "Elimina cache"
|
||||
},
|
||||
"app.settings.resource-management.app-cache.title": {
|
||||
"message": "Cache dell'app"
|
||||
},
|
||||
"app.settings.resource-management.app-database-backups.description": {
|
||||
"message": "Qui vengono salvati i backup dei dati importanti dell'app, nel caso in cui fosse necessario recuperarli."
|
||||
},
|
||||
"app.settings.resource-management.app-database-backups.open-folder": {
|
||||
"message": "Apri la cartella dei backup"
|
||||
},
|
||||
"app.settings.resource-management.app-database-backups.title": {
|
||||
"message": "Backup del database dell'app"
|
||||
},
|
||||
"app.settings.resource-management.app-directory.browse": {
|
||||
"message": "Esplora una cartella per l'app"
|
||||
},
|
||||
"app.settings.resource-management.app-directory.description": {
|
||||
"message": "Dove Modrinth App memorizza le istanze e altri file. Le modifiche avranno effetto dopo un riavvio."
|
||||
},
|
||||
"app.settings.resource-management.app-directory.select": {
|
||||
"message": "Seleziona la nuova cartella dell'app"
|
||||
},
|
||||
"app.settings.resource-management.app-directory.title": {
|
||||
"message": "Cartella dell'app"
|
||||
},
|
||||
"app.settings.resource-management.maximum-concurrent-downloads.description": {
|
||||
"message": "Il numero di file che l'app può scaricare contemporaneamente. Decrementa se i download risultano instabili sulla tua connessione. Richiede un riavvio."
|
||||
},
|
||||
"app.settings.resource-management.maximum-concurrent-downloads.title": {
|
||||
"message": "Massimo di download simultanei"
|
||||
},
|
||||
"app.settings.resource-management.maximum-concurrent-writes.description": {
|
||||
"message": "Il numero di file che l'app può salvare sul disco contemporaneamente. Decrementa se riscontri problemi d'archiviazione frequenti. Richiede un riavvio."
|
||||
},
|
||||
"app.settings.resource-management.maximum-concurrent-writes.title": {
|
||||
"message": "Massimo di scritture simultanee"
|
||||
},
|
||||
"app.settings.sidebar.label.instances": {
|
||||
"message": "Istanze"
|
||||
},
|
||||
"app.settings.tabs.appearance": {
|
||||
"message": "Aspetto"
|
||||
},
|
||||
"app.settings.tabs.behavior": {
|
||||
"message": "Comportamento"
|
||||
},
|
||||
"app.settings.tabs.default-instance-options": {
|
||||
"message": "Opzioni d'istanza predefinite"
|
||||
"message": "Opzioni di gioco predefinite"
|
||||
},
|
||||
"app.settings.tabs.java-installations": {
|
||||
"message": "Installazioni Java"
|
||||
@@ -722,6 +1019,9 @@
|
||||
"app.settings.tabs.resource-management": {
|
||||
"message": "Gestione delle risorse"
|
||||
},
|
||||
"app.sidebar.playing-as": {
|
||||
"message": "Accesso effettuato come"
|
||||
},
|
||||
"app.skins.add-button": {
|
||||
"message": "Nuova skin"
|
||||
},
|
||||
@@ -881,6 +1181,21 @@
|
||||
"app.skins.toggle-ears-features-on": {
|
||||
"message": "Attiva"
|
||||
},
|
||||
"app.survey.body": {
|
||||
"message": "Ti dispiacerebbe rispondere ad alcune domande sulla tua esperienza con Modrinth App?"
|
||||
},
|
||||
"app.survey.footer": {
|
||||
"message": "Le tue risposte andranno direttamente al team di Modrinth e aiuteranno a guidare gli aggiornamenti futuri!"
|
||||
},
|
||||
"app.survey.no-thanks": {
|
||||
"message": "No, grazie"
|
||||
},
|
||||
"app.survey.take-survey": {
|
||||
"message": "Vai al sondaggio"
|
||||
},
|
||||
"app.survey.title": {
|
||||
"message": "Ciao, utente di Modrinth!"
|
||||
},
|
||||
"app.update-popup.body.download-complete": {
|
||||
"message": "Modrinth App v{version} è stata scaricata. Riavvia per aggiornare ora, o avverrà in automatico alla chiusura dell'app."
|
||||
},
|
||||
@@ -1157,6 +1472,45 @@
|
||||
"instance.server-modal.resource-pack": {
|
||||
"message": "Pacchetto di risorse"
|
||||
},
|
||||
"instance.settings.sharing.active-invites.actions": {
|
||||
"message": "Azioni"
|
||||
},
|
||||
"instance.settings.sharing.active-invites.code": {
|
||||
"message": "Link d'invito"
|
||||
},
|
||||
"instance.settings.sharing.active-invites.description": {
|
||||
"message": "Chiunque abbia uno di questi inviti potrà entrare finché siano attivi."
|
||||
},
|
||||
"instance.settings.sharing.active-invites.empty": {
|
||||
"message": "Non ci sono inviti attivi."
|
||||
},
|
||||
"instance.settings.sharing.active-invites.expires": {
|
||||
"message": "Scadenza"
|
||||
},
|
||||
"instance.settings.sharing.active-invites.revoke": {
|
||||
"message": "Revoca invito"
|
||||
},
|
||||
"instance.settings.sharing.active-invites.revoke-with-code": {
|
||||
"message": "Revoca invito {code}"
|
||||
},
|
||||
"instance.settings.sharing.active-invites.title": {
|
||||
"message": "Inviti attivi"
|
||||
},
|
||||
"instance.settings.sharing.active-invites.uses": {
|
||||
"message": "Usi"
|
||||
},
|
||||
"instance.settings.sharing.revoke-invite.admonition-body": {
|
||||
"message": "L'invito <monospace>{code}</monospace> smetterà di funzionare immediatamente. Le persone già entrate manterranno l'accesso."
|
||||
},
|
||||
"instance.settings.sharing.revoke-invite.admonition-header": {
|
||||
"message": "Questa azione non può essere annullata"
|
||||
},
|
||||
"instance.settings.sharing.revoke-invite.confirm": {
|
||||
"message": "Revoca invito"
|
||||
},
|
||||
"instance.settings.sharing.revoke-invite.header": {
|
||||
"message": "Revoca invito"
|
||||
},
|
||||
"instance.settings.tabs.general": {
|
||||
"message": "Generale"
|
||||
},
|
||||
@@ -1358,6 +1712,12 @@
|
||||
"instance.shared-instance.error.title": {
|
||||
"message": "Qualcosa è andato storto"
|
||||
},
|
||||
"instance.shared-instance.network-error.text": {
|
||||
"message": "Impossibile connettersi all'API delle istanze condivise"
|
||||
},
|
||||
"instance.shared-instance.network-error.title": {
|
||||
"message": "Errore di connessione"
|
||||
},
|
||||
"instance.shared-instance.owner-tooltip": {
|
||||
"message": "I contenuti dell'istanza stanno venendo condivisi agli utenti."
|
||||
},
|
||||
@@ -1493,9 +1853,6 @@
|
||||
"modal.modrinth-account-required.browser-description": {
|
||||
"message": "Si è aperta una nuova scheda per effettuare l'accesso. Poi torna all'app."
|
||||
},
|
||||
"modal.modrinth-account-required.cancel-button": {
|
||||
"message": "Annulla"
|
||||
},
|
||||
"modal.modrinth-account-required.continue-in-browser-heading": {
|
||||
"message": "Continua nel browser"
|
||||
},
|
||||
@@ -1549,5 +1906,11 @@
|
||||
},
|
||||
"search.filter.locked.server-loader.title": {
|
||||
"message": "Il loader è determinato dal server"
|
||||
},
|
||||
"settings.sidebar.label.account": {
|
||||
"message": "Account"
|
||||
},
|
||||
"settings.sidebar.label.display": {
|
||||
"message": "Visualizzazione"
|
||||
}
|
||||
}
|
||||
|
||||
@@ -89,6 +89,9 @@
|
||||
"app.action-bar.install.unknown-instance": {
|
||||
"message": "不明なインスタンス"
|
||||
},
|
||||
"app.action-bar.install.updating-shared-content": {
|
||||
"message": "シェアされたコンテンツをアップデートしました"
|
||||
},
|
||||
"app.action-bar.installs": {
|
||||
"message": "インストール数"
|
||||
},
|
||||
@@ -141,19 +144,19 @@
|
||||
"message": "プライバシーと広告がModrinthを支える仕組み"
|
||||
},
|
||||
"app.appearance-settings.advanced-rendering.description": {
|
||||
"message": "ぼかし効果などの高度なレンダリングを有効にします。グラフィックアクセラレーションが使用できない場合は、パフォーマンスが低下する可能性があります。"
|
||||
"message": "背景のぼかしなどの視覚効果を有効にします。ハードウェアアクセラレーションが無効の場合、パフォーマンスが低下する可能性があります。"
|
||||
},
|
||||
"app.appearance-settings.advanced-rendering.title": {
|
||||
"message": "高度なレンダリング"
|
||||
},
|
||||
"app.appearance-settings.color-theme.description": {
|
||||
"message": "Modrinth Appでのお好みのテーマを選択してください。"
|
||||
"message": "Modrinth Appのテーマを選びましょう。"
|
||||
},
|
||||
"app.appearance-settings.color-theme.title": {
|
||||
"message": "テーマ"
|
||||
},
|
||||
"app.appearance-settings.default-landing-page.description": {
|
||||
"message": "ランチャー起動時に表示するページを変更します。"
|
||||
"message": "Modrinth Appを開いたときに表示するページを選択します。"
|
||||
},
|
||||
"app.appearance-settings.default-landing-page.home": {
|
||||
"message": "ホーム"
|
||||
@@ -165,49 +168,49 @@
|
||||
"message": "デフォルトの起動ページ"
|
||||
},
|
||||
"app.appearance-settings.hide-nametag.description": {
|
||||
"message": "スキンページでプレイヤー上部のネームタグを非表示にします。"
|
||||
"message": "スキン選択画面のプレイヤープレビュー上にあるユーザー名を非表示にします。"
|
||||
},
|
||||
"app.appearance-settings.hide-nametag.title": {
|
||||
"message": "ネームタグを非表示にする"
|
||||
},
|
||||
"app.appearance-settings.jump-back-into-worlds.description": {
|
||||
"message": "ホームページの「ジャンプバック」セクションには、最近追加されたワールドが含まれています。"
|
||||
"message": "ホーム画面の「Jump back in」セクションに、最近プレイしたワールドを表示します。"
|
||||
},
|
||||
"app.appearance-settings.jump-back-into-worlds.title": {
|
||||
"message": "最近のワールドを表示"
|
||||
},
|
||||
"app.appearance-settings.minimize-launcher.description": {
|
||||
"message": "Minecraftが起動した時、ランチャーを最小化します。"
|
||||
"message": "Minecraftを起動したときにランチャーを最小化します。"
|
||||
},
|
||||
"app.appearance-settings.minimize-launcher.title": {
|
||||
"message": "ランチャーを最小化"
|
||||
},
|
||||
"app.appearance-settings.native-decorations.description": {
|
||||
"message": "OsのウィンドウUIを使用します(アプリの再起動が必要です)。"
|
||||
"message": "OS標準のタイトルバーとウィンドウ操作ボタンを使用します。反映にはアプリの再起動が必要です。"
|
||||
},
|
||||
"app.appearance-settings.native-decorations.title": {
|
||||
"message": "OSのウィンドウUIを使用"
|
||||
"message": "システムウィンドウフレーム"
|
||||
},
|
||||
"app.appearance-settings.show-play-time.description": {
|
||||
"message": "インスタンスのプレイ時間を表示します。"
|
||||
"message": "各インスタンスのプレイ時間を表示します。"
|
||||
},
|
||||
"app.appearance-settings.show-play-time.title": {
|
||||
"message": "プレイ時間を表示"
|
||||
},
|
||||
"app.appearance-settings.skip-non-essential-warnings.description": {
|
||||
"message": "Modパックの重複インストール、通常のコンテンツ削除、一括更新、Modパックのリンク解除、修復の促しなど、リスクの低い確認画面は自動的にスキップされます。危険な警告は引き続き表示されます。"
|
||||
"message": "重複インストール、通常コンテンツの削除、一括アップデート、連携解除、修復といった低リスクな操作の確認ダイアログをスキップします。危険な操作に関する警告は常に表示されます。"
|
||||
},
|
||||
"app.appearance-settings.skip-non-essential-warnings.title": {
|
||||
"message": "重要でない警告をスキップ"
|
||||
},
|
||||
"app.appearance-settings.toggle-sidebar.description": {
|
||||
"message": "サイドバーの表示/非表示を切り替える機能を有効にします。"
|
||||
"message": "右サイドバーをデフォルトで非表示にし、表示/非表示を切り替えるボタンを追加します。"
|
||||
},
|
||||
"app.appearance-settings.toggle-sidebar.title": {
|
||||
"message": "サイドバーの表示切替を有効化"
|
||||
"message": "右のサイドバーを隠す"
|
||||
},
|
||||
"app.appearance-settings.unknown-pack-warning.description": {
|
||||
"message": "Modrinthで配布されていないModrinth Pack(.mrpack)をインストールする場合、事前にリスクについて警告します。"
|
||||
"message": "Modrinth以外でホストされているModrinthパック(.mrpack)をインストールする前に、安全警告を表示します。"
|
||||
},
|
||||
"app.appearance-settings.unknown-pack-warning.title": {
|
||||
"message": "不明なModパックのインストール前に警告する"
|
||||
@@ -218,6 +221,15 @@
|
||||
"app.auth-servers.unreachable.header": {
|
||||
"message": "認証サーバーにアクセスできません"
|
||||
},
|
||||
"app.behavior-settings.confirmations.title": {
|
||||
"message": "操作の確認"
|
||||
},
|
||||
"app.behavior-settings.content.title": {
|
||||
"message": "ホームとコンテンツ"
|
||||
},
|
||||
"app.behavior-settings.startup-and-navigation.title": {
|
||||
"message": "起動とナビゲーション"
|
||||
},
|
||||
"app.browse.add-servers-to-instance": {
|
||||
"message": "インスタンスにサーバーを追加中"
|
||||
},
|
||||
@@ -239,12 +251,18 @@
|
||||
"app.browse.back-to-instance": {
|
||||
"message": "インスタンスに戻る"
|
||||
},
|
||||
"app.browse.discover-project-type": {
|
||||
"message": "{projectType}を検索"
|
||||
},
|
||||
"app.browse.discover-servers": {
|
||||
"message": "サーバーを探す"
|
||||
},
|
||||
"app.browse.hide-added-servers": {
|
||||
"message": "既に追加済みのサーバーを非表示にする"
|
||||
},
|
||||
"app.browse.hide-installed-modpacks": {
|
||||
"message": "インストール済みを非表示"
|
||||
},
|
||||
"app.browse.project-type.modpacks": {
|
||||
"message": "Modパック"
|
||||
},
|
||||
@@ -335,6 +353,9 @@
|
||||
"app.instance.admonitions.shared-instance.added-label": {
|
||||
"message": "追加済"
|
||||
},
|
||||
"app.instance.admonitions.shared-instance.changes-body": {
|
||||
"message": "ローカルインスタンスのバージョンが、共有しているユーザー側のバージョンより進んでいます。"
|
||||
},
|
||||
"app.instance.admonitions.shared-instance.changes-header": {
|
||||
"message": "変更はまだ共有されていません"
|
||||
},
|
||||
@@ -344,12 +365,30 @@
|
||||
"app.instance.admonitions.shared-instance.publishing-button": {
|
||||
"message": "公開しています…"
|
||||
},
|
||||
"app.instance.admonitions.shared-instance.removed-label": {
|
||||
"message": "削除されました"
|
||||
},
|
||||
"app.instance.admonitions.shared-instance.review-admonition-header": {
|
||||
"message": "アップデートを公開する"
|
||||
},
|
||||
"app.instance.admonitions.shared-instance.review-description": {
|
||||
"message": "このインスタンスを利用しているすべてのユーザーに共有されるコンテンツの変更内容を確認してください。"
|
||||
},
|
||||
"app.instance.admonitions.shared-instance.review-header": {
|
||||
"message": "変更点を確認"
|
||||
},
|
||||
"app.instance.admonitions.shared-instance.review-update-button": {
|
||||
"message": "アップデート内容を確認"
|
||||
},
|
||||
"app.instance.admonitions.shared-instance.reviewing-button": {
|
||||
"message": "審査中…"
|
||||
},
|
||||
"app.instance.admonitions.shared-instance.update-available-body": {
|
||||
"message": "{name}をプレイするにはアップデートが必要です。ゲームを起動するには最新バージョンにアップデートしてください。"
|
||||
},
|
||||
"app.instance.admonitions.shared-instance.update-available-header": {
|
||||
"message": "アップデートが利用可能です"
|
||||
},
|
||||
"app.instance.confirm-delete.admonition-body": {
|
||||
"message": "インスタンス内のすべてのデータは、ワールド、設定、インストール済みのコンテンツを含め、完全に削除されます。"
|
||||
},
|
||||
@@ -416,6 +455,9 @@
|
||||
"app.instance.share.invite-modal.heading": {
|
||||
"message": "{name} をシェアする"
|
||||
},
|
||||
"app.instance.share.invite-modal.user-limit-reached": {
|
||||
"message": "このインスタンスは上限の{limit}人に達しました。"
|
||||
},
|
||||
"app.instance.share.locked.empty-description-prefix": {
|
||||
"message": "このページにアクセスするには"
|
||||
},
|
||||
@@ -434,9 +476,18 @@
|
||||
"app.instance.share.locked.wrong-account-heading": {
|
||||
"message": "アカウントが違います"
|
||||
},
|
||||
"app.instance.share.members.empty": {
|
||||
"message": "まだ誰も参加していません"
|
||||
},
|
||||
"app.instance.share.members.no-filter-results": {
|
||||
"message": "フィルターに一致するユーザーが見つかりません。"
|
||||
},
|
||||
"app.instance.share.remove-user-modal.effect-access": {
|
||||
"message": "このインスタンスのアップデートは受信できなくなります"
|
||||
},
|
||||
"app.instance.share.remove-user-modal.effect-installed-copy": {
|
||||
"message": "すでにインストール済みのコピーは、そのままデバイスに残ります"
|
||||
},
|
||||
"app.instance.share.remove-user-modal.effect-invite-again": {
|
||||
"message": "後でもう一度招待することもできます"
|
||||
},
|
||||
@@ -461,6 +512,12 @@
|
||||
"app.instance.share.sign-in.button": {
|
||||
"message": "サインイン"
|
||||
},
|
||||
"app.instance.share.unable-to-connect.description": {
|
||||
"message": "インスタンスの共有は現在ご利用いただけません。しばらくしてからもう一度お試しください"
|
||||
},
|
||||
"app.instance.share.unable-to-connect.heading": {
|
||||
"message": "接続できません"
|
||||
},
|
||||
"app.instance.share.unlink.body": {
|
||||
"message": "この起動構成を共有するには、このmodpackのリンクを解除する必要があります"
|
||||
},
|
||||
@@ -482,9 +539,18 @@
|
||||
"app.instance.shared-instance-wrong-account.fallback-username": {
|
||||
"message": "リンクされたアカウント"
|
||||
},
|
||||
"app.instance.shared-instance-wrong-account.owner-admonition-body-v2": {
|
||||
"message": "インスタンスを管理することができます。サインインするまでアップデートを配信することはできません。"
|
||||
},
|
||||
"app.instance.shared-instance-wrong-account.sign-in-as-label": {
|
||||
"message": "このアカウントでサインインすることで"
|
||||
},
|
||||
"app.instance.shared-instance-wrong-account.signed-out-header": {
|
||||
"message": "Modrinthへのサインインが必要です"
|
||||
},
|
||||
"app.instance.shared-instance-wrong-account.user-admonition-body-v2": {
|
||||
"message": "インスタンスのアップデートを受け取ることができます。"
|
||||
},
|
||||
"app.instance.shared-instance-wrong-account.warning-header": {
|
||||
"message": "Modrinthのアカウントが間違っています"
|
||||
},
|
||||
@@ -539,12 +605,60 @@
|
||||
"app.instance.worlds.search-worlds-placeholder": {
|
||||
"message": "{count} 個のワールドを検索…"
|
||||
},
|
||||
"app.java-detection.cancel": {
|
||||
"message": "キャンセル"
|
||||
},
|
||||
"app.java-detection.columns.actions": {
|
||||
"message": "アクション"
|
||||
},
|
||||
"app.java-detection.columns.path": {
|
||||
"message": "Javaの場所"
|
||||
},
|
||||
"app.java-detection.columns.version": {
|
||||
"message": "バージョン"
|
||||
},
|
||||
"app.java-detection.no-installations-found": {
|
||||
"message": "インストールされたJavaが見つかりません。"
|
||||
},
|
||||
"app.java-detection.select": {
|
||||
"message": "選択"
|
||||
},
|
||||
"app.java-detection.selected": {
|
||||
"message": "選択済み"
|
||||
},
|
||||
"app.java-detection.title": {
|
||||
"message": "使用するJavaを選んでください"
|
||||
},
|
||||
"app.java-selector.already-installed": {
|
||||
"message": "インストール済み"
|
||||
},
|
||||
"app.java-selector.browse": {
|
||||
"message": "探す"
|
||||
},
|
||||
"app.java-selector.detect": {
|
||||
"message": "検出"
|
||||
},
|
||||
"app.java-selector.install-recommended": {
|
||||
"message": "推奨をインストール"
|
||||
},
|
||||
"app.java-selector.installing": {
|
||||
"message": "インストール中…"
|
||||
},
|
||||
"app.java-selector.path.placeholder": {
|
||||
"message": "/path/to/java"
|
||||
},
|
||||
"app.java-selector.test-installation": {
|
||||
"message": "Javaのインストールをテスト"
|
||||
},
|
||||
"app.modal.install-to-play.additional-context": {
|
||||
"message": "追加のコンテンツ"
|
||||
},
|
||||
"app.modal.install-to-play.additional-context-placeholder": {
|
||||
"message": "可能であれば、リンクや画像も含めてください"
|
||||
},
|
||||
"app.modal.install-to-play.block-user": {
|
||||
"message": "ユーザーをブロック"
|
||||
},
|
||||
"app.modal.install-to-play.content-you-are-reporting": {
|
||||
"message": "起動構成を報告する"
|
||||
},
|
||||
@@ -566,6 +680,9 @@
|
||||
"app.modal.install-to-play.invite-warning": {
|
||||
"message": "この招待は他のModrinthユーザーによって作成されたものであり、Modrinth公式のものではありません。信頼できる人からの招待のみ承諾してください。"
|
||||
},
|
||||
"app.modal.install-to-play.invite-warning-with-creator": {
|
||||
"message": "この招待はModrinthではなく<creator>{username}</creator>によって作成されました。信頼できる人物からの招待のみ受諾してください。"
|
||||
},
|
||||
"app.modal.install-to-play.mod-count": {
|
||||
"message": "{count, plural, other {#個のMod}}"
|
||||
},
|
||||
@@ -578,6 +695,9 @@
|
||||
"app.modal.install-to-play.report-image-too-large": {
|
||||
"message": "ファイルのサイズが 1 MiBの制限を超えています"
|
||||
},
|
||||
"app.modal.install-to-play.report-legal-claims": {
|
||||
"message": "DMCA通知やその他の法的請求については、弊社の<copyright-link>著作権ポリシー</copyright-link>をご覧ください。"
|
||||
},
|
||||
"app.modal.install-to-play.report-reason": {
|
||||
"message": "この起動構成はどの規則に違反していますか?"
|
||||
},
|
||||
@@ -620,6 +740,9 @@
|
||||
"app.modal.install-to-play.unrecognized-files": {
|
||||
"message": "認識されないファイル"
|
||||
},
|
||||
"app.modal.install-to-play.user-blocked": {
|
||||
"message": "ユーザーをブロックしました"
|
||||
},
|
||||
"app.modal.install-to-play.view-contents": {
|
||||
"message": "コンテンツを見る"
|
||||
},
|
||||
@@ -647,6 +770,36 @@
|
||||
"app.modal.update-to-play.update-required-description": {
|
||||
"message": "{name}をプレイするにはアップデートが必要です。ゲームを起動するには最新バージョンにアップデートしてください。"
|
||||
},
|
||||
"app.nav.create-new-instance": {
|
||||
"message": "新しいインスタンスを作成"
|
||||
},
|
||||
"app.nav.home": {
|
||||
"message": "ホーム"
|
||||
},
|
||||
"app.nav.library": {
|
||||
"message": "ライブラリ"
|
||||
},
|
||||
"app.nav.modrinth-account": {
|
||||
"message": "Modrinthアカウント"
|
||||
},
|
||||
"app.nav.modrinth-hosting": {
|
||||
"message": "Modrinth Hosting"
|
||||
},
|
||||
"app.nav.sign-in-to-modrinth-account": {
|
||||
"message": "Modrinthアカウントにサインイン"
|
||||
},
|
||||
"app.nav.signed-in-as": {
|
||||
"message": "<user>{username}</user>としてサインイン中"
|
||||
},
|
||||
"app.nav.upgrade-to-modrinth-plus": {
|
||||
"message": "Modrinth+にアップグレード"
|
||||
},
|
||||
"app.news.title": {
|
||||
"message": "ニュース"
|
||||
},
|
||||
"app.news.view-all": {
|
||||
"message": "全てのニュースを見る"
|
||||
},
|
||||
"app.project.install-button.already-installed": {
|
||||
"message": "このプロジェクトは既にインストールされています"
|
||||
},
|
||||
@@ -656,6 +809,9 @@
|
||||
"app.project.install-context.back-to-browse": {
|
||||
"message": "ディスカバーに戻る"
|
||||
},
|
||||
"app.project.install-context.back-to-instance": {
|
||||
"message": "インスタンスに戻る"
|
||||
},
|
||||
"app.project.version.all-versions": {
|
||||
"message": "すべてのバージョン"
|
||||
},
|
||||
@@ -668,20 +824,188 @@
|
||||
"app.project.versions.already-installed": {
|
||||
"message": "既にインストールされています"
|
||||
},
|
||||
"app.quick-instance-switcher.drag-show-tooltip": {
|
||||
"message": "ドラッグして最近のインスタンスを表示"
|
||||
},
|
||||
"app.quick-instance-switcher.drag-tooltip": {
|
||||
"message": "ドラッグしてサイズ変更"
|
||||
},
|
||||
"app.restarting": {
|
||||
"message": "再起動中..."
|
||||
},
|
||||
"app.settings.app-version": {
|
||||
"message": "Modrinth App {version}"
|
||||
},
|
||||
"app.settings.default-instance-options.environment-variables.description": {
|
||||
"message": "インスタンス起動時に設定される環境変数"
|
||||
},
|
||||
"app.settings.default-instance-options.environment-variables.placeholder": {
|
||||
"message": "環境変数を入力..."
|
||||
},
|
||||
"app.settings.default-instance-options.environment-variables.title": {
|
||||
"message": "環境変数"
|
||||
},
|
||||
"app.settings.default-instance-options.fullscreen.description": {
|
||||
"message": "options.txt ファイルを更新し、インスタンスをフルスクリーンで起動します。"
|
||||
},
|
||||
"app.settings.default-instance-options.fullscreen.title": {
|
||||
"message": "全画面"
|
||||
},
|
||||
"app.settings.default-instance-options.height.description": {
|
||||
"message": "起動時のゲームウィンドウの高さ"
|
||||
},
|
||||
"app.settings.default-instance-options.height.placeholder": {
|
||||
"message": "高さを入力..."
|
||||
},
|
||||
"app.settings.default-instance-options.height.title": {
|
||||
"message": "高さ"
|
||||
},
|
||||
"app.settings.default-instance-options.java-arguments.description": {
|
||||
"message": "インスタンス起動時にJavaへ渡される引数"
|
||||
},
|
||||
"app.settings.default-instance-options.java-arguments.placeholder": {
|
||||
"message": "Java引数を入力..."
|
||||
},
|
||||
"app.settings.default-instance-options.java-arguments.title": {
|
||||
"message": "Java引数"
|
||||
},
|
||||
"app.settings.default-instance-options.memory-allocation.description": {
|
||||
"message": "各インスタンスに割り当てる最大メモリ容量"
|
||||
},
|
||||
"app.settings.default-instance-options.memory-allocation.title": {
|
||||
"message": "メモリ割り当て"
|
||||
},
|
||||
"app.settings.default-instance-options.post-exit-hook.description": {
|
||||
"message": "ゲーム終了後に実行"
|
||||
},
|
||||
"app.settings.default-instance-options.post-exit-hook.placeholder": {
|
||||
"message": "終了後コマンドを入力..."
|
||||
},
|
||||
"app.settings.default-instance-options.post-exit-hook.title": {
|
||||
"message": "終了後フック"
|
||||
},
|
||||
"app.settings.default-instance-options.pre-launch-hook.description": {
|
||||
"message": "インスタンス起動前に実行"
|
||||
},
|
||||
"app.settings.default-instance-options.pre-launch-hook.placeholder": {
|
||||
"message": "起動前コマンドを入力..."
|
||||
},
|
||||
"app.settings.default-instance-options.pre-launch-hook.title": {
|
||||
"message": "起動前フック"
|
||||
},
|
||||
"app.settings.default-instance-options.width.description": {
|
||||
"message": "起動時のゲームウィンドウの幅"
|
||||
},
|
||||
"app.settings.default-instance-options.width.placeholder": {
|
||||
"message": "幅を入力..."
|
||||
},
|
||||
"app.settings.default-instance-options.width.title": {
|
||||
"message": "幅"
|
||||
},
|
||||
"app.settings.default-instance-options.wrapper-hook.description": {
|
||||
"message": "Minecraftの起動プロセスをラップするためのコマンド"
|
||||
},
|
||||
"app.settings.default-instance-options.wrapper-hook.placeholder": {
|
||||
"message": "ラッパーコマンドを入力..."
|
||||
},
|
||||
"app.settings.default-instance-options.wrapper-hook.title": {
|
||||
"message": "ラッパーフック"
|
||||
},
|
||||
"app.settings.developer-mode-button.label": {
|
||||
"message": "開発者モードの切り替え"
|
||||
},
|
||||
"app.settings.developer-mode-enabled": {
|
||||
"message": "開発者モードがオンになっています。"
|
||||
},
|
||||
"app.settings.downloading": {
|
||||
"message": "v{version}をダウンロード中"
|
||||
},
|
||||
"app.settings.java-installations.location.title": {
|
||||
"message": "Java {version, number} の場所"
|
||||
},
|
||||
"app.settings.operating-system.macos": {
|
||||
"message": "MacOS"
|
||||
},
|
||||
"app.settings.privacy.ads-consent.intro": {
|
||||
"message": "Modrinthは広告収益によって運営され、クリエイターへの報酬も広告収益から支払われています。当社のパートナーは、広告のパーソナライズや効果測定のために、アプリ内でCookieを保存・利用する場合があります。この機能は下のボタンから個別に拒否や許可または変更することができます。"
|
||||
},
|
||||
"app.settings.privacy.discord-rich-presence.description": {
|
||||
"message": "Discordの現在のプレイ中に Modrinth App を表示します。これはModによってインスタンスに追加されるRich Presenceには影響しません。適用にはアプリの再起動が必要です。"
|
||||
},
|
||||
"app.settings.privacy.discord-rich-presence.title": {
|
||||
"message": "Discord Rich Presence"
|
||||
},
|
||||
"app.settings.privacy.telemetry.description": {
|
||||
"message": "Modrinthはユーザー体験の向上および最適化のために、匿名化されたアナリティクスと利用データを収集しています。このオプションをオフにすることで無効化(オプトアウト)され、以降データの収集は行われません。"
|
||||
},
|
||||
"app.settings.privacy.telemetry.title": {
|
||||
"message": "テレメトリ"
|
||||
},
|
||||
"app.settings.resource-management.always-show-copy-details.description": {
|
||||
"message": "インストールの保留中または実行中に「詳細をコピー」アクションを表示します。失敗または中断されたインストールでは常に利用可能です。"
|
||||
},
|
||||
"app.settings.resource-management.always-show-copy-details.title": {
|
||||
"message": "「詳細をコピー」を常に表示"
|
||||
},
|
||||
"app.settings.resource-management.app-cache.confirm.description": {
|
||||
"message": "キャッシュが再構築されるまで、アプリの読み込みが遅くなる場合があります。"
|
||||
},
|
||||
"app.settings.resource-management.app-cache.confirm.title": {
|
||||
"message": "アプリのキャッシュを破棄しますか?"
|
||||
},
|
||||
"app.settings.resource-management.app-cache.description": {
|
||||
"message": "キャッシュデータを消去し、Modrinthから再ダウンロードします。キャッシュが再構築されるまで、アプリの読み込みが遅くなる場合があります。"
|
||||
},
|
||||
"app.settings.resource-management.app-cache.purge": {
|
||||
"message": "キャッシュを破棄"
|
||||
},
|
||||
"app.settings.resource-management.app-cache.title": {
|
||||
"message": "アプリのキャッシュ"
|
||||
},
|
||||
"app.settings.resource-management.app-database-backups.description": {
|
||||
"message": "万が一の復旧に備え、重要なアプリデータのバックアップがここに保存されます。"
|
||||
},
|
||||
"app.settings.resource-management.app-database-backups.open-folder": {
|
||||
"message": "バックアップフォルダーを開く"
|
||||
},
|
||||
"app.settings.resource-management.app-database-backups.title": {
|
||||
"message": "アプリデータベースのバックアップ"
|
||||
},
|
||||
"app.settings.resource-management.app-directory.browse": {
|
||||
"message": "アプリのディレクトリを参照..."
|
||||
},
|
||||
"app.settings.resource-management.app-directory.description": {
|
||||
"message": "Modrinth Appがインスタンスやその他のファイルを保存する場所です。変更はアプリの再起動後に反映されます。"
|
||||
},
|
||||
"app.settings.resource-management.app-directory.select": {
|
||||
"message": "新しいアプリディレクトリを選択"
|
||||
},
|
||||
"app.settings.resource-management.app-directory.title": {
|
||||
"message": "アプリのディレクトリ"
|
||||
},
|
||||
"app.settings.resource-management.maximum-concurrent-downloads.description": {
|
||||
"message": "アプリが同時にダウンロードできるファイル数です。回線が不安定な場合は数値を下げてください。適用にはアプリの再起動が必要です。"
|
||||
},
|
||||
"app.settings.resource-management.maximum-concurrent-downloads.title": {
|
||||
"message": "最大同時ダウンロード数"
|
||||
},
|
||||
"app.settings.resource-management.maximum-concurrent-writes.description": {
|
||||
"message": "アプリが同時にディスクへ書き込めるファイル数です。I/Oエラーが頻発する場合は数値を下げてください。適用にはアプリの再起動が必要です。"
|
||||
},
|
||||
"app.settings.resource-management.maximum-concurrent-writes.title": {
|
||||
"message": "最大同時書き込み数"
|
||||
},
|
||||
"app.settings.sidebar.label.instances": {
|
||||
"message": "インスタンス"
|
||||
},
|
||||
"app.settings.tabs.appearance": {
|
||||
"message": "表示設定"
|
||||
},
|
||||
"app.settings.tabs.behavior": {
|
||||
"message": "動作"
|
||||
},
|
||||
"app.settings.tabs.default-instance-options": {
|
||||
"message": "インスタンスの基本設定"
|
||||
"message": "デフォルトのゲーム設定"
|
||||
},
|
||||
"app.settings.tabs.java-installations": {
|
||||
"message": "Javaのインストール設定"
|
||||
@@ -695,6 +1019,9 @@
|
||||
"app.settings.tabs.resource-management": {
|
||||
"message": "リソース管理"
|
||||
},
|
||||
"app.sidebar.playing-as": {
|
||||
"message": "プレイ中のアカウント"
|
||||
},
|
||||
"app.skins.add-button": {
|
||||
"message": "スキンを追加"
|
||||
},
|
||||
@@ -854,6 +1181,21 @@
|
||||
"app.skins.toggle-ears-features-on": {
|
||||
"message": "オンに切り替え"
|
||||
},
|
||||
"app.survey.body": {
|
||||
"message": "Modrinth App の使用感についての簡単なアンケートにご協力いただけますか?"
|
||||
},
|
||||
"app.survey.footer": {
|
||||
"message": "このフィードバックはModrinthチームに直接届けられ、今後のアップデートの改善に役立てられます!"
|
||||
},
|
||||
"app.survey.no-thanks": {
|
||||
"message": "結構です"
|
||||
},
|
||||
"app.survey.take-survey": {
|
||||
"message": "アンケートに回答"
|
||||
},
|
||||
"app.survey.title": {
|
||||
"message": "Modrinthユーザーのみなさん、こんにちは!"
|
||||
},
|
||||
"app.update-popup.body.download-complete": {
|
||||
"message": "Modrinth App v{version} のダウンロードが完了しました。今すぐ更新するには再読み込みするか、Modrinth Appを閉じる際に自動更新されます。"
|
||||
},
|
||||
@@ -929,6 +1271,9 @@
|
||||
"content.shared-instance.disable-single-body": {
|
||||
"message": "無効化はローカルコピーにのみ影響します。今後共有された起動構成がアップデートされた際に、再び有効化されたり、元の状態に戻ったり、変更されたりする場合があります。"
|
||||
},
|
||||
"content.shared-instance.unlink-body": {
|
||||
"message": "リンク解除はローカルのコピーにのみ適用されます。将来的に共有インスタンスが更新されると、復元や変更が再度行われる可能性があります。"
|
||||
},
|
||||
"content.shared-instance.warning-header": {
|
||||
"message": "これは共有された起動構成の一部です"
|
||||
},
|
||||
@@ -1004,12 +1349,39 @@
|
||||
"installation-settings.shared-instance.unlink-button": {
|
||||
"message": "起動構成の共有を解除"
|
||||
},
|
||||
"installation-settings.shared-instance.unlink-description": {
|
||||
"message": "このローカルインスタンスを今後の共有アップデートから切断します。"
|
||||
},
|
||||
"installation-settings.shared-instance.unlinking-button": {
|
||||
"message": "共有を解除中…"
|
||||
},
|
||||
"installation-settings.shared-instance.unpublish-button": {
|
||||
"message": "共有された軌道構成を非公開にする"
|
||||
},
|
||||
"installation-settings.shared-instance.unpublish-description": {
|
||||
"message": "この共有インスタンスをModrinthから削除し、使用者へのアップデート送信を停止します。ローカルのインスタンスには影響しません。"
|
||||
},
|
||||
"installation-settings.shared-instance.unpublishing-button": {
|
||||
"message": "非公開に設定中..."
|
||||
},
|
||||
"installation-settings.unlink-shared-instance.modal.admonition-body": {
|
||||
"message": "これはローカルのインスタンスにのみ影響します。インストール済みのコンテンツはこのデバイスに残り、共有インスタンスやそれを使用している他のユーザーには影響しません。"
|
||||
},
|
||||
"installation-settings.unlink-shared-instance.modal.admonition-header": {
|
||||
"message": "共有インスタンスのリンク解除"
|
||||
},
|
||||
"installation-settings.unlink-shared-instance.modal.header": {
|
||||
"message": "共有インスタンスのリンクを解除"
|
||||
},
|
||||
"installation-settings.unpublish-shared-instance.modal.admonition-body": {
|
||||
"message": "Modrinthのサーバーからこの共有インスタンスを削除します。Modrinthアプリでこれを使用しているユーザーへのアップデート配信は停止しますが、ローカルのインスタンスとそのコンテンツはこのデバイスに残ります。"
|
||||
},
|
||||
"installation-settings.unpublish-shared-instance.modal.admonition-header": {
|
||||
"message": "共有インスタンスの非公開化"
|
||||
},
|
||||
"installation-settings.unpublish-shared-instance.modal.header": {
|
||||
"message": "共有インスタンスを非公開にする"
|
||||
},
|
||||
"instance.action.create-shortcut": {
|
||||
"message": "ショートカット作成"
|
||||
},
|
||||
@@ -1079,6 +1451,12 @@
|
||||
"instance.files.save-as": {
|
||||
"message": "名前をつけて保存…"
|
||||
},
|
||||
"instance.locked.delete-button": {
|
||||
"message": "インスタンスを削除"
|
||||
},
|
||||
"instance.locked.play-tooltip": {
|
||||
"message": "このインスタンスはロックされています"
|
||||
},
|
||||
"instance.playtime.never-played": {
|
||||
"message": "未プレイ"
|
||||
},
|
||||
@@ -1094,6 +1472,45 @@
|
||||
"instance.server-modal.resource-pack": {
|
||||
"message": "リソースパック"
|
||||
},
|
||||
"instance.settings.sharing.active-invites.actions": {
|
||||
"message": "アクション"
|
||||
},
|
||||
"instance.settings.sharing.active-invites.code": {
|
||||
"message": "招待リンク"
|
||||
},
|
||||
"instance.settings.sharing.active-invites.description": {
|
||||
"message": "アクティブな招待リンクをお持ちの方なら誰でも参加できます。"
|
||||
},
|
||||
"instance.settings.sharing.active-invites.empty": {
|
||||
"message": "有効な招待はありません。"
|
||||
},
|
||||
"instance.settings.sharing.active-invites.expires": {
|
||||
"message": "有効期限"
|
||||
},
|
||||
"instance.settings.sharing.active-invites.revoke": {
|
||||
"message": "招待を取り消す"
|
||||
},
|
||||
"instance.settings.sharing.active-invites.revoke-with-code": {
|
||||
"message": "招待コード {code} を取り消す"
|
||||
},
|
||||
"instance.settings.sharing.active-invites.title": {
|
||||
"message": "有効な招待"
|
||||
},
|
||||
"instance.settings.sharing.active-invites.uses": {
|
||||
"message": "ユーザー"
|
||||
},
|
||||
"instance.settings.sharing.revoke-invite.admonition-body": {
|
||||
"message": "招待リンク <monospace>{code}</monospace> は即座に無効化されます。すでに参加しているユーザーのアクセス権はそのまま保持されます。"
|
||||
},
|
||||
"instance.settings.sharing.revoke-invite.admonition-header": {
|
||||
"message": "この操作は取り消せません"
|
||||
},
|
||||
"instance.settings.sharing.revoke-invite.confirm": {
|
||||
"message": "招待を取り消す"
|
||||
},
|
||||
"instance.settings.sharing.revoke-invite.header": {
|
||||
"message": "招待を取り消す"
|
||||
},
|
||||
"instance.settings.tabs.general": {
|
||||
"message": "一般"
|
||||
},
|
||||
@@ -1217,6 +1634,9 @@
|
||||
"instance.settings.tabs.installation.loader-version": {
|
||||
"message": "{loader}のバージョン"
|
||||
},
|
||||
"instance.settings.tabs.installation.locked": {
|
||||
"message": "このインスタンスがロックされている間は、インストール設定を利用できません。"
|
||||
},
|
||||
"instance.settings.tabs.java": {
|
||||
"message": "Javaとメモリ"
|
||||
},
|
||||
@@ -1256,6 +1676,9 @@
|
||||
"instance.settings.tabs.java.java-path-placeholder": {
|
||||
"message": "/path/to/java"
|
||||
},
|
||||
"instance.settings.tabs.sharing": {
|
||||
"message": "共有設定"
|
||||
},
|
||||
"instance.settings.tabs.window": {
|
||||
"message": "ウィンドウ"
|
||||
},
|
||||
@@ -1286,9 +1709,63 @@
|
||||
"instance.settings.tabs.window.width.enter": {
|
||||
"message": "幅を入力…"
|
||||
},
|
||||
"instance.shared-instance.error.title": {
|
||||
"message": "問題が発生しました"
|
||||
},
|
||||
"instance.shared-instance.network-error.text": {
|
||||
"message": "共有インスタンス API に接続できません"
|
||||
},
|
||||
"instance.shared-instance.network-error.title": {
|
||||
"message": "ネットワークエラー"
|
||||
},
|
||||
"instance.shared-instance.owner-tooltip": {
|
||||
"message": "このインスタンスの内容は他のユーザーに共有されています。"
|
||||
},
|
||||
"instance.shared-instance.publish-review.added-label": {
|
||||
"message": "追加しました"
|
||||
},
|
||||
"instance.shared-instance.publish-review.admonition-header": {
|
||||
"message": "アップデートを配信する"
|
||||
},
|
||||
"instance.shared-instance.publish-review.config-title-v2": {
|
||||
"message": "設定ファイルを選択"
|
||||
},
|
||||
"instance.shared-instance.publish-review.description": {
|
||||
"message": "変更内容を確認し、この更新に含める設定ファイルを選択してください。"
|
||||
},
|
||||
"instance.shared-instance.publish-review.header": {
|
||||
"message": "変更内容を確認"
|
||||
},
|
||||
"instance.shared-instance.publish-review.publish-button": {
|
||||
"message": "アップデートをプッシュ"
|
||||
},
|
||||
"instance.shared-instance.publish-review.removed-label": {
|
||||
"message": "削除しました"
|
||||
},
|
||||
"instance.shared-instance.tooltip": {
|
||||
"message": "このインスタンスの内容は他のユーザーによって管理されています。"
|
||||
},
|
||||
"instance.shared-instance.unavailable.access-revoked-text": {
|
||||
"message": "共有インスタンスへのアクセス権が取り消されました。このインスタンスは引き続き利用可能ですが、リンクは解除され、今後のアップデートは受信されなくなります。"
|
||||
},
|
||||
"instance.shared-instance.unavailable.deleted-text": {
|
||||
"message": "プライマリインスタンスが削除されました。このインスタンスは引き続き利用可能ですが、リンクは解除され、今後のアップデートは受信されなくなります。"
|
||||
},
|
||||
"instance.shared-instance.unavailable.locked-text": {
|
||||
"message": "この共有インスタンスはコンテンツモデレーションチームによってロックされました。プライマリインスタンスからのアップデートの受信は停止し、プレイすることもできません。"
|
||||
},
|
||||
"instance.shared-instance.unavailable.locked-title": {
|
||||
"message": "インスタンスがロックされています"
|
||||
},
|
||||
"instance.shared-instance.unavailable.manager-fallback": {
|
||||
"message": "インスタンスマネージャー"
|
||||
},
|
||||
"instance.shared-instance.unavailable.text": {
|
||||
"message": "ローカルインスタンスは引き続き利用可能ですが、リンクは解除されており、今後のアップデートは受信されません。"
|
||||
},
|
||||
"instance.shared-instance.unavailable.title": {
|
||||
"message": "共有インスタンスは利用できなくなりました"
|
||||
},
|
||||
"instance.worlds.a_minecraft_server": {
|
||||
"message": "Minecraftサーバー"
|
||||
},
|
||||
@@ -1376,9 +1853,6 @@
|
||||
"modal.modrinth-account-required.browser-description": {
|
||||
"message": "サインイン用のタブが開きました。そちらでサインインを完了してから、アプリに戻ってください。"
|
||||
},
|
||||
"modal.modrinth-account-required.cancel-button": {
|
||||
"message": "キャンセル"
|
||||
},
|
||||
"modal.modrinth-account-required.continue-in-browser-heading": {
|
||||
"message": "ブラウザで続行"
|
||||
},
|
||||
@@ -1432,5 +1906,11 @@
|
||||
},
|
||||
"search.filter.locked.server-loader.title": {
|
||||
"message": "ローダーはサーバーによる条件です"
|
||||
},
|
||||
"settings.sidebar.label.account": {
|
||||
"message": "アカウント"
|
||||
},
|
||||
"settings.sidebar.label.display": {
|
||||
"message": "ディスプレイ"
|
||||
}
|
||||
}
|
||||
|
||||
@@ -114,7 +114,7 @@
|
||||
"message": "실행 중인 인스턴스 보이기"
|
||||
},
|
||||
"app.action-bar.stop-instance": {
|
||||
"message": "인스턴스 멈추기"
|
||||
"message": "인스턴스 중지"
|
||||
},
|
||||
"app.action-bar.update": {
|
||||
"message": "업데이트"
|
||||
@@ -132,7 +132,7 @@
|
||||
"message": "모두 수락"
|
||||
},
|
||||
"app.ads-consent.body": {
|
||||
"message": "광고는 Modrinth가 운영될 수 있도록 하며, 크리에이터에게 지급되는 보상을 지원합니다. 우리의 파트너는 앱에서 광고를 개인화하고 성과를 측정하기 위해 쿠키를 저장하거나 접근할 수 있습니다."
|
||||
"message": "광고는 Modrinth가 운영될 수 있도록 하며, 크리에이터에게 지급되는 보상을 지원합니다. 우리의 파트너는 앱에서 광고를 개인 맞춤으로 제공하고 성과를 측정하기 위해 쿠키를 저장하거나 접근할 수 있습니다."
|
||||
},
|
||||
"app.ads-consent.manage": {
|
||||
"message": "환경 설정 관리"
|
||||
@@ -144,19 +144,19 @@
|
||||
"message": "개인정보와 광고가 Modrinth를 지원하는 방식"
|
||||
},
|
||||
"app.appearance-settings.advanced-rendering.description": {
|
||||
"message": "블러 효과와 같은 고급 렌더링 기능을 활성화합니다. 하드웨어 가속 없이는 성능 저하가 발생할 수 있습니다."
|
||||
"message": "배경 흐림 효과와 같은 시각 효과를 활성화합니다. 하드웨어 가속이 지원되지 않는 경우 성능이 저하될 수 있습니다."
|
||||
},
|
||||
"app.appearance-settings.advanced-rendering.title": {
|
||||
"message": "고급 렌더링"
|
||||
},
|
||||
"app.appearance-settings.color-theme.description": {
|
||||
"message": "Modrinth App에서 선호하는 색상 테마를 선택합니다."
|
||||
"message": "Modrinth 앱에서 사용할 색상 테마를 선택하세요."
|
||||
},
|
||||
"app.appearance-settings.color-theme.title": {
|
||||
"message": "색상 테마"
|
||||
},
|
||||
"app.appearance-settings.default-landing-page.description": {
|
||||
"message": "런처의 기본 시작 화면을 변경합니다."
|
||||
"message": "Modrinth 앱이 실행될 때 표시될 페이지를 선택하세요."
|
||||
},
|
||||
"app.appearance-settings.default-landing-page.home": {
|
||||
"message": "홈"
|
||||
@@ -168,49 +168,49 @@
|
||||
"message": "기본 시작 화면"
|
||||
},
|
||||
"app.appearance-settings.hide-nametag.description": {
|
||||
"message": "스킨 화면에서 플레이어 위에 있는 이름표를 비활성화합니다."
|
||||
"message": "스킨 페이지의 플레이어 미리보기 위에 있는 사용자 이름을 숨깁니다."
|
||||
},
|
||||
"app.appearance-settings.hide-nametag.title": {
|
||||
"message": "이름표 숨기기"
|
||||
},
|
||||
"app.appearance-settings.jump-back-into-worlds.description": {
|
||||
"message": "홈 화면의 \"바로 입장\" 부분에 최근 플레이한 월드를 표시합니다."
|
||||
"message": "홈페이지의 \"다시 시작하기\" 구역에 최근 플레이한 월드를 표시합니다."
|
||||
},
|
||||
"app.appearance-settings.jump-back-into-worlds.title": {
|
||||
"message": "세계로 바로 입장"
|
||||
},
|
||||
"app.appearance-settings.minimize-launcher.description": {
|
||||
"message": "마인크래프트 실행 시 런처를 최소화합니다."
|
||||
"message": "마인크래프트가 시작되면 Modrinth 앱을 최소화 합니다."
|
||||
},
|
||||
"app.appearance-settings.minimize-launcher.title": {
|
||||
"message": "런처 최소화"
|
||||
"message": "앱 최소화"
|
||||
},
|
||||
"app.appearance-settings.native-decorations.description": {
|
||||
"message": "시스템 창 테두리 (앱 재시작 필요)."
|
||||
"message": "운영 체제의 제목 표시줄 및 창 제어 기능을 사용합니다. 앱 재시작이 필요합니다."
|
||||
},
|
||||
"app.appearance-settings.native-decorations.title": {
|
||||
"message": "네이티브 제목 표시줄"
|
||||
"message": "시스템 창 프레임"
|
||||
},
|
||||
"app.appearance-settings.show-play-time.description": {
|
||||
"message": "인스턴스의 플레이 시간을 표시합니다."
|
||||
"message": "각 인스턴스를 얼마나 플레이했는지 표시합니다."
|
||||
},
|
||||
"app.appearance-settings.show-play-time.title": {
|
||||
"message": "플레이 시간 표시"
|
||||
},
|
||||
"app.appearance-settings.skip-non-essential-warnings.description": {
|
||||
"message": "중복되는 모드팩 설치와 일반적인 콘텐츠 삭제, 동시 업데이트, 모드팩 링크 제거, 프롬프트 복구처럼 리스크가 적은 행위에 대한 확인 절차를 자동으로 넘깁니다. 위험한 경고는 여전히 표시됩니다."
|
||||
"message": "중복 설치, 일반 콘텐츠 삭제, 일괄 업데이트, 연동 해제, 복구 등 위험도가 낮은 작업의 확인 절차를 건너뜁니다. 위험한 작업에 대한 경고는 항상 표시됩니다."
|
||||
},
|
||||
"app.appearance-settings.skip-non-essential-warnings.title": {
|
||||
"message": "중요하지 않은 경고 넘기기"
|
||||
},
|
||||
"app.appearance-settings.toggle-sidebar.description": {
|
||||
"message": "사이드바를 접거나 펼칠 수 있는 기능을 활성화합니다."
|
||||
"message": "기본 상태에서 오른쪽 사이드바를 숨기고, 이를 표시하거나 숨기는 버튼을 추가합니다."
|
||||
},
|
||||
"app.appearance-settings.toggle-sidebar.title": {
|
||||
"message": "사이드바 토글"
|
||||
"message": "오른쪽 사이드바 숨기기"
|
||||
},
|
||||
"app.appearance-settings.unknown-pack-warning.description": {
|
||||
"message": "Modrinth 외부에서 가져온 모드팩 파일(.mrpack)을 설치할 때, 사용자가 위험성을 인지할 수 있도록 경고를 표시합니다."
|
||||
"message": "Modrinth에 호스팅되지 않은 Modrinth Pack(.mrpack)을 설치하기 전에 안전 경고를 표시합니다."
|
||||
},
|
||||
"app.appearance-settings.unknown-pack-warning.title": {
|
||||
"message": "출처를 알 수 없는 모드팩 설치 전 경고"
|
||||
@@ -221,6 +221,15 @@
|
||||
"app.auth-servers.unreachable.header": {
|
||||
"message": "인증 서버에 연결할 수 없습니다"
|
||||
},
|
||||
"app.behavior-settings.confirmations.title": {
|
||||
"message": "확인 알림"
|
||||
},
|
||||
"app.behavior-settings.content.title": {
|
||||
"message": "홈 및 콘텐츠"
|
||||
},
|
||||
"app.behavior-settings.startup-and-navigation.title": {
|
||||
"message": "시작 및 탐색"
|
||||
},
|
||||
"app.browse.add-servers-to-instance": {
|
||||
"message": "인스턴스에 서버 추가"
|
||||
},
|
||||
@@ -242,12 +251,18 @@
|
||||
"app.browse.back-to-instance": {
|
||||
"message": "인스턴스로 돌아가기"
|
||||
},
|
||||
"app.browse.discover-project-type": {
|
||||
"message": "{projectType} 둘러보기"
|
||||
},
|
||||
"app.browse.discover-servers": {
|
||||
"message": "서버 탐색하기"
|
||||
},
|
||||
"app.browse.hide-added-servers": {
|
||||
"message": "이미 추가한 서버 숨기기"
|
||||
},
|
||||
"app.browse.hide-installed-modpacks": {
|
||||
"message": "이미 설치된 항목 숨기기"
|
||||
},
|
||||
"app.browse.project-type.modpacks": {
|
||||
"message": "모드팩"
|
||||
},
|
||||
@@ -362,9 +377,18 @@
|
||||
"app.instance.admonitions.shared-instance.review-header": {
|
||||
"message": "Review changes"
|
||||
},
|
||||
"app.instance.admonitions.shared-instance.review-update-button": {
|
||||
"message": "업데이트 검토"
|
||||
},
|
||||
"app.instance.admonitions.shared-instance.reviewing-button": {
|
||||
"message": "검토중..."
|
||||
},
|
||||
"app.instance.admonitions.shared-instance.update-available-body": {
|
||||
"message": "{name} 플레이를 위해 업데이트가 필요합니다. 게임을 실행하려면 최신 버전 업데이트를 진행하세요."
|
||||
},
|
||||
"app.instance.admonitions.shared-instance.update-available-header": {
|
||||
"message": "업데이트가 있습니다"
|
||||
},
|
||||
"app.instance.confirm-delete.admonition-body": {
|
||||
"message": "인스턴스의 모든 데이터가 삭제됩니다. 세계 폴더, 설정 폴더 등 설치된 모든 컨텐츠가 포함됩니다."
|
||||
},
|
||||
@@ -431,6 +455,9 @@
|
||||
"app.instance.share.invite-modal.heading": {
|
||||
"message": "{name} 공유"
|
||||
},
|
||||
"app.instance.share.invite-modal.user-limit-reached": {
|
||||
"message": "이 인스턴스는 {limit}명 사용자 제한에 도달했습니다."
|
||||
},
|
||||
"app.instance.share.locked.empty-description-prefix": {
|
||||
"message": "이 페이지에 접근하려면"
|
||||
},
|
||||
@@ -449,6 +476,12 @@
|
||||
"app.instance.share.locked.wrong-account-heading": {
|
||||
"message": "잘못된 계정"
|
||||
},
|
||||
"app.instance.share.members.empty": {
|
||||
"message": "아직 참여한 사용자가 없습니다"
|
||||
},
|
||||
"app.instance.share.members.no-filter-results": {
|
||||
"message": "필터에 일치하는 사용자가 없습니다."
|
||||
},
|
||||
"app.instance.share.remove-user-modal.effect-access": {
|
||||
"message": "이들은 더 이상 해당 공유 인스턴스의 업데이트를 받지 않습니다"
|
||||
},
|
||||
@@ -479,6 +512,12 @@
|
||||
"app.instance.share.sign-in.button": {
|
||||
"message": "로그인"
|
||||
},
|
||||
"app.instance.share.unable-to-connect.description": {
|
||||
"message": "현재 공유 인스턴스 서비스를 이용할 수 없습니다. 잠시 후 다시 시도해 주세요"
|
||||
},
|
||||
"app.instance.share.unable-to-connect.heading": {
|
||||
"message": "연결할 수 없습니다"
|
||||
},
|
||||
"app.instance.share.unlink.body": {
|
||||
"message": "인스턴스를 공유하려면 이 모드팩 연동을 해제해야 합니다"
|
||||
},
|
||||
@@ -566,12 +605,60 @@
|
||||
"app.instance.worlds.search-worlds-placeholder": {
|
||||
"message": "{count}개의 세계 검색..."
|
||||
},
|
||||
"app.java-detection.cancel": {
|
||||
"message": "취소"
|
||||
},
|
||||
"app.java-detection.columns.actions": {
|
||||
"message": "작업"
|
||||
},
|
||||
"app.java-detection.columns.path": {
|
||||
"message": "경로"
|
||||
},
|
||||
"app.java-detection.columns.version": {
|
||||
"message": "버전"
|
||||
},
|
||||
"app.java-detection.no-installations-found": {
|
||||
"message": "설치된 자바를 찾을수 없습니다."
|
||||
},
|
||||
"app.java-detection.select": {
|
||||
"message": "선택"
|
||||
},
|
||||
"app.java-detection.selected": {
|
||||
"message": "선택됨"
|
||||
},
|
||||
"app.java-detection.title": {
|
||||
"message": "Java 설치 위치 선택"
|
||||
},
|
||||
"app.java-selector.already-installed": {
|
||||
"message": "이미 설치됨"
|
||||
},
|
||||
"app.java-selector.browse": {
|
||||
"message": "찾아보기"
|
||||
},
|
||||
"app.java-selector.detect": {
|
||||
"message": "감지"
|
||||
},
|
||||
"app.java-selector.install-recommended": {
|
||||
"message": "권장 버전 설치"
|
||||
},
|
||||
"app.java-selector.installing": {
|
||||
"message": "설치 중..."
|
||||
},
|
||||
"app.java-selector.path.placeholder": {
|
||||
"message": "/path/to/java"
|
||||
},
|
||||
"app.java-selector.test-installation": {
|
||||
"message": "Java 설치 테스트"
|
||||
},
|
||||
"app.modal.install-to-play.additional-context": {
|
||||
"message": "추가 정보"
|
||||
},
|
||||
"app.modal.install-to-play.additional-context-placeholder": {
|
||||
"message": "관련이 있는 경우 가능하면 링크 및 이미지를 포함하세요"
|
||||
},
|
||||
"app.modal.install-to-play.block-user": {
|
||||
"message": "사용자 차단"
|
||||
},
|
||||
"app.modal.install-to-play.content-you-are-reporting": {
|
||||
"message": "신고 대상 인스턴스"
|
||||
},
|
||||
@@ -593,18 +680,57 @@
|
||||
"app.modal.install-to-play.invite-warning": {
|
||||
"message": "이 초대장은 다른 Modrinth 사용자가 생성했으며, Modrinth에서 생성하지 않았습니다. 신뢰할 수 있는 초대장만 수락하십시오."
|
||||
},
|
||||
"app.modal.install-to-play.invite-warning-with-creator": {
|
||||
"message": "이 초대장은 Modrinth가 아닌 <creator>{username}</creator> 님이 생성했습니다. 신뢰할 수 있는 사람의 초대만 수락하세요."
|
||||
},
|
||||
"app.modal.install-to-play.mod-count": {
|
||||
"message": "{count, plural, one {모드 #개} other {모드 #개}}"
|
||||
},
|
||||
"app.modal.install-to-play.report-description": {
|
||||
"message": "본 서식을 사용하여 당사의 <rules-link>규칙</rules-link> 또는 <terms-link>이용약관</terms-link> 위반 가능성이 있는 인스턴스를 신고하세요."
|
||||
},
|
||||
"app.modal.install-to-play.report-image-invalid-type": {
|
||||
"message": "허용되지 않는 이미지 형식의 파일입니다"
|
||||
},
|
||||
"app.modal.install-to-play.report-image-too-large": {
|
||||
"message": "파일이 1 MiB 용량 제한을 초과합니다"
|
||||
},
|
||||
"app.modal.install-to-play.report-legal-claims": {
|
||||
"message": "DMCA 통지 또는 기타 법적 청구 관련 내용은 <copyright-link>저작권 정책</copyright-link>을 참조하세요."
|
||||
},
|
||||
"app.modal.install-to-play.report-reason": {
|
||||
"message": "이 인스턴스가 위반한 규칙은 무엇인가요?"
|
||||
},
|
||||
"app.modal.install-to-play.report-reason.inappropriate": {
|
||||
"message": "부적절함"
|
||||
},
|
||||
"app.modal.install-to-play.report-reason.malicious": {
|
||||
"message": "악성/유해함"
|
||||
},
|
||||
"app.modal.install-to-play.report-reason.spam": {
|
||||
"message": "스팸"
|
||||
},
|
||||
"app.modal.install-to-play.report-shared-instance-header": {
|
||||
"message": "공유 인스턴스 신고"
|
||||
},
|
||||
"app.modal.install-to-play.report-submitted": {
|
||||
"message": "신고 제출됨"
|
||||
},
|
||||
"app.modal.install-to-play.report-support-and-bugs": {
|
||||
"message": "지원 요청은 <support-link>지원 팀</support-link> 문의를 이용해 주세요. 버그 제보는 <github-link>GitHub 이슈</github-link>를 등록하세요."
|
||||
},
|
||||
"app.modal.install-to-play.reviewed-files": {
|
||||
"message": "모든 파일은 형식(.mrpack 포함)에 무관하게 Modrinth에 게시되어야만 검수를 거칩니다."
|
||||
},
|
||||
"app.modal.install-to-play.shared-instance": {
|
||||
"message": "인스턴스 공유됨"
|
||||
},
|
||||
"app.modal.install-to-play.shared-instance-content": {
|
||||
"message": "공유 인스턴스 콘텐츠"
|
||||
},
|
||||
"app.modal.install-to-play.shared-instance-unknown-files-description": {
|
||||
"message": "이 공유 인스턴스에는 Modrinth에 게시되지 않은 파일이 포함되어 있습니다. 신뢰할 수 있는 출처의 파일만 설치하는 것을 강력히 권장합니다."
|
||||
},
|
||||
"app.modal.install-to-play.unknown-files-description": {
|
||||
"message": "이 서버의 모드팩은 Modrinth에 게시되지 않은 파일을 포함하고 있습니다. 신뢰할 수 있는 출처의 파일만 설치하는 것을 강력히 권장합니다."
|
||||
},
|
||||
@@ -614,6 +740,9 @@
|
||||
"app.modal.install-to-play.unrecognized-files": {
|
||||
"message": "확인되지 않은 파일"
|
||||
},
|
||||
"app.modal.install-to-play.user-blocked": {
|
||||
"message": "사용자 차단됨"
|
||||
},
|
||||
"app.modal.install-to-play.view-contents": {
|
||||
"message": "구성 요소 보기"
|
||||
},
|
||||
@@ -623,6 +752,54 @@
|
||||
"app.modal.update-to-play.removed": {
|
||||
"message": "제거됨"
|
||||
},
|
||||
"app.modal.update-to-play.server-modpack-unknown-files-description": {
|
||||
"message": "이 서버 모드팩 업데이트에는 Modrinth에 게시되지 않은 파일이 포함되어 있습니다. 신뢰할 수 있는 출처의 파일만 설치하는 것을 강력히 권장합니다."
|
||||
},
|
||||
"app.modal.update-to-play.shared-instance-added-label": {
|
||||
"message": "추가됨"
|
||||
},
|
||||
"app.modal.update-to-play.shared-instance-removed-label": {
|
||||
"message": "제거됨"
|
||||
},
|
||||
"app.modal.update-to-play.shared-instance-unknown-files-description": {
|
||||
"message": "이 공유 인스턴스 업데이트에는 Modrinth에 게시되지 않은 파일이 포함되어 있습니다. 신뢰할 수 있는 출처의 파일만 설치하는 것을 강력히 권장합니다."
|
||||
},
|
||||
"app.modal.update-to-play.update-required": {
|
||||
"message": "업데이트 필요"
|
||||
},
|
||||
"app.modal.update-to-play.update-required-description": {
|
||||
"message": "{name} 플레이를 진행하려면 업데이트가 필요합니다. 게임을 실행하려면 최신 버전 업데이트를 진행하세요."
|
||||
},
|
||||
"app.nav.create-new-instance": {
|
||||
"message": "새 인스턴스 만들기"
|
||||
},
|
||||
"app.nav.home": {
|
||||
"message": "홈"
|
||||
},
|
||||
"app.nav.library": {
|
||||
"message": "라이브러리"
|
||||
},
|
||||
"app.nav.modrinth-account": {
|
||||
"message": "Modrinth 계정"
|
||||
},
|
||||
"app.nav.modrinth-hosting": {
|
||||
"message": "Modrinth 호스팅"
|
||||
},
|
||||
"app.nav.sign-in-to-modrinth-account": {
|
||||
"message": "Modrinth 계정으로 로그인"
|
||||
},
|
||||
"app.nav.signed-in-as": {
|
||||
"message": "<user>{username}</user> 으로 로그인됨"
|
||||
},
|
||||
"app.nav.upgrade-to-modrinth-plus": {
|
||||
"message": "Modrinth+ 로 업그레이드"
|
||||
},
|
||||
"app.news.title": {
|
||||
"message": "뉴스"
|
||||
},
|
||||
"app.news.view-all": {
|
||||
"message": "모든 뉴스 보기"
|
||||
},
|
||||
"app.project.install-button.already-installed": {
|
||||
"message": "이미 설치되어 있음"
|
||||
},
|
||||
@@ -632,6 +809,9 @@
|
||||
"app.project.install-context.back-to-browse": {
|
||||
"message": "탐색으로 돌아가기"
|
||||
},
|
||||
"app.project.install-context.back-to-instance": {
|
||||
"message": "인스턴스 복귀"
|
||||
},
|
||||
"app.project.version.all-versions": {
|
||||
"message": "모든 버전"
|
||||
},
|
||||
@@ -644,20 +824,188 @@
|
||||
"app.project.versions.already-installed": {
|
||||
"message": "이미 설치됨"
|
||||
},
|
||||
"app.quick-instance-switcher.drag-show-tooltip": {
|
||||
"message": "드래그하여 최근 인스턴스 표시"
|
||||
},
|
||||
"app.quick-instance-switcher.drag-tooltip": {
|
||||
"message": "드래그하여 크기 조절"
|
||||
},
|
||||
"app.restarting": {
|
||||
"message": "재시작 중..."
|
||||
},
|
||||
"app.settings.app-version": {
|
||||
"message": "Modrinth 앱 {version}"
|
||||
},
|
||||
"app.settings.default-instance-options.environment-variables.description": {
|
||||
"message": "인스턴스를 실행할 때 설정되는 환경 변수입니다."
|
||||
},
|
||||
"app.settings.default-instance-options.environment-variables.placeholder": {
|
||||
"message": "환경 변수 입력..."
|
||||
},
|
||||
"app.settings.default-instance-options.environment-variables.title": {
|
||||
"message": "환경 변수"
|
||||
},
|
||||
"app.settings.default-instance-options.fullscreen.description": {
|
||||
"message": "options.txt 파일을 수정하여 인스턴스 실행 시 전체 화면을 사용합니다."
|
||||
},
|
||||
"app.settings.default-instance-options.fullscreen.title": {
|
||||
"message": "전체 화면"
|
||||
},
|
||||
"app.settings.default-instance-options.height.description": {
|
||||
"message": "실행 시 게임 창 높이입니다."
|
||||
},
|
||||
"app.settings.default-instance-options.height.placeholder": {
|
||||
"message": "높이 입력..."
|
||||
},
|
||||
"app.settings.default-instance-options.height.title": {
|
||||
"message": "높이"
|
||||
},
|
||||
"app.settings.default-instance-options.java-arguments.description": {
|
||||
"message": "인스턴스를 실행할 때 Java에 전달되는 인수입니다."
|
||||
},
|
||||
"app.settings.default-instance-options.java-arguments.placeholder": {
|
||||
"message": "Java 인수 입력..."
|
||||
},
|
||||
"app.settings.default-instance-options.java-arguments.title": {
|
||||
"message": "Java 인수"
|
||||
},
|
||||
"app.settings.default-instance-options.memory-allocation.description": {
|
||||
"message": "각 인스턴스가 사용할 수 있는 최대 메모리입니다."
|
||||
},
|
||||
"app.settings.default-instance-options.memory-allocation.title": {
|
||||
"message": "메모리 할당"
|
||||
},
|
||||
"app.settings.default-instance-options.post-exit-hook.description": {
|
||||
"message": "게임이 종료된 후 실행됩니다."
|
||||
},
|
||||
"app.settings.default-instance-options.post-exit-hook.placeholder": {
|
||||
"message": "종료 후 명령어 입력..."
|
||||
},
|
||||
"app.settings.default-instance-options.post-exit-hook.title": {
|
||||
"message": "종료 후 스크립트"
|
||||
},
|
||||
"app.settings.default-instance-options.pre-launch-hook.description": {
|
||||
"message": "인스턴스 시작 전 실행됩니다."
|
||||
},
|
||||
"app.settings.default-instance-options.pre-launch-hook.placeholder": {
|
||||
"message": "실행 전 명령어 입력..."
|
||||
},
|
||||
"app.settings.default-instance-options.pre-launch-hook.title": {
|
||||
"message": "실행 전 스크립트"
|
||||
},
|
||||
"app.settings.default-instance-options.width.description": {
|
||||
"message": "실행 시 게임 창 너비입니다."
|
||||
},
|
||||
"app.settings.default-instance-options.width.placeholder": {
|
||||
"message": "너비 입력..."
|
||||
},
|
||||
"app.settings.default-instance-options.width.title": {
|
||||
"message": "너비"
|
||||
},
|
||||
"app.settings.default-instance-options.wrapper-hook.description": {
|
||||
"message": "Minecraft 실행 프로세스를 감싸는 데 사용하는 명령어입니다."
|
||||
},
|
||||
"app.settings.default-instance-options.wrapper-hook.placeholder": {
|
||||
"message": "Wrapper 명령어 입력..."
|
||||
},
|
||||
"app.settings.default-instance-options.wrapper-hook.title": {
|
||||
"message": "Wrapper 스크립트"
|
||||
},
|
||||
"app.settings.developer-mode-button.label": {
|
||||
"message": "개발자 모드 전환"
|
||||
},
|
||||
"app.settings.developer-mode-enabled": {
|
||||
"message": "개발자 모드가 활성화되었습니다."
|
||||
},
|
||||
"app.settings.downloading": {
|
||||
"message": "v{version} 다운로드 중"
|
||||
},
|
||||
"app.settings.java-installations.location.title": {
|
||||
"message": "Java {version, number} 위치"
|
||||
},
|
||||
"app.settings.operating-system.macos": {
|
||||
"message": "macOS"
|
||||
},
|
||||
"app.settings.privacy.ads-consent.intro": {
|
||||
"message": "광고는 Modrinth가 운영될 수 있도록 하며, 크리에이터에게 지급되는 보상을 지원합니다. 우리의 파트너는 앱에서 광고를 개인화하고 성과를 측정하기 위해 쿠키를 저장하거나 접근할 수 있습니다. 아래에서 거부하거나 환경 설정을 관리할 수 있습니다."
|
||||
"message": "광고는 Modrinth가 운영될 수 있도록 하며, 크리에이터에게 지급되는 보상을 지원합니다. 우리의 파트너는 앱에서 광고를 개인 맞춤으로 제공하고 성과를 측정하기 위해 쿠키를 저장하거나 접근할 수 있습니다. 아래에서 거부하거나 환경 설정을 관리할 수 있습니다."
|
||||
},
|
||||
"app.settings.privacy.discord-rich-presence.description": {
|
||||
"message": "Discord의 현재 활동 상태에 Modrinth App을 표시합니다. 모드가 인스턴스에 추가한 Rich Presence에는 영향을 미치지 않습니다. 앱 재시작이 필요합니다."
|
||||
},
|
||||
"app.settings.privacy.discord-rich-presence.title": {
|
||||
"message": "Discord 활동 상태"
|
||||
},
|
||||
"app.settings.privacy.telemetry.description": {
|
||||
"message": "Modrinth는 사용자 경험 향상 및 맞춤 설정을 위해 익명화된 분석 데이터와 사용 데이터를 수집합니다. 이 옵션을 비활성화하면 데이터 수집을 거부하게 되며, 더 이상 데이터가 수집되지 않습니다."
|
||||
},
|
||||
"app.settings.privacy.telemetry.title": {
|
||||
"message": "원격 분석"
|
||||
},
|
||||
"app.settings.resource-management.always-show-copy-details.description": {
|
||||
"message": "설치가 대기 중이거나 진행 중일 때 '상세 정보 복사' 버튼을 표시합니다. 실패했거나 중단된 설치 건에서는 항상 사용할 수 있습니다."
|
||||
},
|
||||
"app.settings.resource-management.always-show-copy-details.title": {
|
||||
"message": "항상 상세 정보 복사 표시"
|
||||
},
|
||||
"app.settings.resource-management.app-cache.confirm.description": {
|
||||
"message": "캐시가 재구축될 때까지 앱 로딩이 느려질 수 있습니다."
|
||||
},
|
||||
"app.settings.resource-management.app-cache.confirm.title": {
|
||||
"message": "앱 캐시를 비우시겠습니까?"
|
||||
},
|
||||
"app.settings.resource-management.app-cache.description": {
|
||||
"message": "캐시 데이터를 삭제하고 Modrinth에서 다시 다운로드합니다. 캐시가 재구축될 때까지 앱 로딩이 느려질 수 있습니다."
|
||||
},
|
||||
"app.settings.resource-management.app-cache.purge": {
|
||||
"message": "캐시 비우기"
|
||||
},
|
||||
"app.settings.resource-management.app-cache.title": {
|
||||
"message": "앱 캐시"
|
||||
},
|
||||
"app.settings.resource-management.app-database-backups.description": {
|
||||
"message": "나중에 복구가 필요한 경우를 대비해 중요한 앱 데이터 백업을 이곳에 저장합니다."
|
||||
},
|
||||
"app.settings.resource-management.app-database-backups.open-folder": {
|
||||
"message": "백업 폴더 열기"
|
||||
},
|
||||
"app.settings.resource-management.app-database-backups.title": {
|
||||
"message": "앱 데이터베이스 백업"
|
||||
},
|
||||
"app.settings.resource-management.app-directory.browse": {
|
||||
"message": "앱 디렉터리 찾아보기"
|
||||
},
|
||||
"app.settings.resource-management.app-directory.description": {
|
||||
"message": "Modrinth App이 인스턴스 및 기타 파일을 저장하는 위치입니다. 변경 사항은 앱을 재시작한 후 적용됩니다."
|
||||
},
|
||||
"app.settings.resource-management.app-directory.select": {
|
||||
"message": "새 앱 디렉터리 선택"
|
||||
},
|
||||
"app.settings.resource-management.app-directory.title": {
|
||||
"message": "앱 경로"
|
||||
},
|
||||
"app.settings.resource-management.maximum-concurrent-downloads.description": {
|
||||
"message": "앱이 한 번에 다운로드할 수 있는 파일 수입니다. 네트워크 연결이 불안정하면 이 수치를 낮추세요. 앱 재시작이 필요합니다."
|
||||
},
|
||||
"app.settings.resource-management.maximum-concurrent-downloads.title": {
|
||||
"message": "최대 동시 다운로드 수"
|
||||
},
|
||||
"app.settings.resource-management.maximum-concurrent-writes.description": {
|
||||
"message": "앱이 디스크에 한 번에 쓸 수 있는 파일 수입니다. I/O 오류가 자주 발생하면 이 수치를 낮추세요. 앱 재시작이 필요합니다."
|
||||
},
|
||||
"app.settings.resource-management.maximum-concurrent-writes.title": {
|
||||
"message": "최대 동시 쓰기 수"
|
||||
},
|
||||
"app.settings.sidebar.label.instances": {
|
||||
"message": "인스턴스"
|
||||
},
|
||||
"app.settings.tabs.appearance": {
|
||||
"message": "모양"
|
||||
},
|
||||
"app.settings.tabs.behavior": {
|
||||
"message": "동작"
|
||||
},
|
||||
"app.settings.tabs.default-instance-options": {
|
||||
"message": "기본 인스턴스 옵션"
|
||||
"message": "기본 게임 옵션"
|
||||
},
|
||||
"app.settings.tabs.java-installations": {
|
||||
"message": "Java 설치"
|
||||
@@ -671,6 +1019,9 @@
|
||||
"app.settings.tabs.resource-management": {
|
||||
"message": "리소스 관리"
|
||||
},
|
||||
"app.sidebar.playing-as": {
|
||||
"message": "플레이 중인 계정은"
|
||||
},
|
||||
"app.skins.add-button": {
|
||||
"message": "스킨 추가"
|
||||
},
|
||||
@@ -830,6 +1181,21 @@
|
||||
"app.skins.toggle-ears-features-on": {
|
||||
"message": "켜기"
|
||||
},
|
||||
"app.survey.body": {
|
||||
"message": "Modrinth 앱 이용 경험에 대한 몇 가지 질문에 답변해 주시겠습니까?"
|
||||
},
|
||||
"app.survey.footer": {
|
||||
"message": "이 피드백은 Modrinth 팀에 직접 전달되어 향후 업데이트에 반영됩니다!"
|
||||
},
|
||||
"app.survey.no-thanks": {
|
||||
"message": "괜찮습니다"
|
||||
},
|
||||
"app.survey.take-survey": {
|
||||
"message": "설문 참여하기"
|
||||
},
|
||||
"app.survey.title": {
|
||||
"message": "안녕하세요, Modrinth 사용자님!"
|
||||
},
|
||||
"app.update-popup.body.download-complete": {
|
||||
"message": "Modrinth App v{version} 다운로드가 완료되었습니다. 새로고침하거나 Modrinth App을 종료하면 자동으로 업데이트됩니다."
|
||||
},
|
||||
@@ -878,6 +1244,39 @@
|
||||
"app.world.world-item.players-online": {
|
||||
"message": "{count}명 온라인"
|
||||
},
|
||||
"content.shared-instance.change-version-body": {
|
||||
"message": "버전을 변경해도 로컬 사본만 변경됩니다. 향후 공유 인스턴스를 업데이트할 때 다시 복구되거나 변경될 수 있습니다."
|
||||
},
|
||||
"content.shared-instance.delete-bulk-body": {
|
||||
"message": "선택한 프로젝트 중 일부는 공유 인스턴스의 일부입니다. 삭제해도 로컬 사본만 변경되며, 향후 공유 인스턴스를 업데이트할 때 다시 복구되거나 변경될 수 있습니다."
|
||||
},
|
||||
"content.shared-instance.delete-button": {
|
||||
"message": "그래도 삭제"
|
||||
},
|
||||
"content.shared-instance.delete-many-button": {
|
||||
"message": "그래도 project {count, number}개 삭제"
|
||||
},
|
||||
"content.shared-instance.delete-single-body": {
|
||||
"message": "삭제해도 로컬 사본만 변경됩니다. 향후 공유 인스턴스를 업데이트할 때 다시 복구되거나 변경될 수 있습니다."
|
||||
},
|
||||
"content.shared-instance.disable-bulk-body": {
|
||||
"message": "선택한 프로젝트 중 일부는 공유 인스턴스의 일부입니다. 비활성화해도 로컬 사본만 변경되며, 향후 공유 인스턴스를 업데이트할 때 다시 활성화, 복구 또는 변경될 수 있습니다."
|
||||
},
|
||||
"content.shared-instance.disable-button": {
|
||||
"message": "그래도 비활성화"
|
||||
},
|
||||
"content.shared-instance.disable-many-button": {
|
||||
"message": "그래도 프로젝트 {count, number}개 비활성화"
|
||||
},
|
||||
"content.shared-instance.disable-single-body": {
|
||||
"message": "비활성화해도 로컬 사본만 변경됩니다. 향후 공유 인스턴스를 업데이트할 때 다시 활성화, 복구 또는 변경될 수 있습니다."
|
||||
},
|
||||
"content.shared-instance.unlink-body": {
|
||||
"message": "연동 해제 시 로컬 사본만 변경됩니다. 향후 공유 인스턴스 업데이트에서 다시 복구되거나 변경될 수 있습니다."
|
||||
},
|
||||
"content.shared-instance.warning-header": {
|
||||
"message": "공유 인스턴스의 일부입니다"
|
||||
},
|
||||
"friends.action.add-friend": {
|
||||
"message": "친구 추가"
|
||||
},
|
||||
@@ -941,6 +1340,48 @@
|
||||
"friends.sign-in-to-add-friends": {
|
||||
"message": "<link>Modrinth 계정으로 로그인</link>하여 친구를 추가하고 무엇을 플레이 중인지 확인하세요!"
|
||||
},
|
||||
"installation-settings.shared-instance.linked-title": {
|
||||
"message": "연동된 공유 인스턴스"
|
||||
},
|
||||
"installation-settings.shared-instance.title": {
|
||||
"message": "인스턴스 게시 취소"
|
||||
},
|
||||
"installation-settings.shared-instance.unlink-button": {
|
||||
"message": "공유 인스턴스 연동 해제"
|
||||
},
|
||||
"installation-settings.shared-instance.unlink-description": {
|
||||
"message": "이 로컬 인스턴스의 향후 공유 업데이트 연동을 해제합니다."
|
||||
},
|
||||
"installation-settings.shared-instance.unlinking-button": {
|
||||
"message": "연동 해제 중..."
|
||||
},
|
||||
"installation-settings.shared-instance.unpublish-button": {
|
||||
"message": "공유 인스턴스 게시 취소"
|
||||
},
|
||||
"installation-settings.shared-instance.unpublish-description": {
|
||||
"message": "Modrinth에서 이 공유 인스턴스를 삭제하고 이용자에게 업데이트 전송을 중단합니다. 본인의 로컬 인스턴스는 영향을 받지 않습니다."
|
||||
},
|
||||
"installation-settings.shared-instance.unpublishing-button": {
|
||||
"message": "게시 취소 중..."
|
||||
},
|
||||
"installation-settings.unlink-shared-instance.modal.admonition-body": {
|
||||
"message": "이 작업은 본인의 로컬 인스턴스에만 영향을 미칩니다. 설치된 콘텐츠는 이 기기에 유지되며, 공유 인스턴스 및 이를 이용하는 다른 사용자에게는 영향을 미치지 않습니다."
|
||||
},
|
||||
"installation-settings.unlink-shared-instance.modal.admonition-header": {
|
||||
"message": "공유 인스턴스 연동 해제"
|
||||
},
|
||||
"installation-settings.unlink-shared-instance.modal.header": {
|
||||
"message": "공유 인스턴스 연동 해제"
|
||||
},
|
||||
"installation-settings.unpublish-shared-instance.modal.admonition-body": {
|
||||
"message": "이 작업은 Modrinth 서버에서 공유 인스턴스를 삭제합니다. Modrinth 앱에서 이를 이용 중인 사용자는 더 이상 업데이트를 받지 않지만, 본인의 로컬 인스턴스 및 콘텐츠는 이 기기에 유지됩니다."
|
||||
},
|
||||
"installation-settings.unpublish-shared-instance.modal.admonition-header": {
|
||||
"message": "공유 인스턴스 게시 취소 중"
|
||||
},
|
||||
"installation-settings.unpublish-shared-instance.modal.header": {
|
||||
"message": "공유 인스턴스 게시 취소"
|
||||
},
|
||||
"instance.action.create-shortcut": {
|
||||
"message": "바로가기 만들기"
|
||||
},
|
||||
@@ -1010,6 +1451,12 @@
|
||||
"instance.files.save-as": {
|
||||
"message": "다른 이름으로 저장..."
|
||||
},
|
||||
"instance.locked.delete-button": {
|
||||
"message": "인스턴스 삭제"
|
||||
},
|
||||
"instance.locked.play-tooltip": {
|
||||
"message": "이 인스턴스는 잠겼습니다"
|
||||
},
|
||||
"instance.playtime.never-played": {
|
||||
"message": "아직 플레이 하지 않음"
|
||||
},
|
||||
@@ -1025,6 +1472,45 @@
|
||||
"instance.server-modal.resource-pack": {
|
||||
"message": "리소스 팩"
|
||||
},
|
||||
"instance.settings.sharing.active-invites.actions": {
|
||||
"message": "작업"
|
||||
},
|
||||
"instance.settings.sharing.active-invites.code": {
|
||||
"message": "초대 링크"
|
||||
},
|
||||
"instance.settings.sharing.active-invites.description": {
|
||||
"message": "초대 링크가 유효한 동안 링크를 보유한 사람은 누구나 참여할 수 있습니다."
|
||||
},
|
||||
"instance.settings.sharing.active-invites.empty": {
|
||||
"message": "활성화된 초대가 없습니다."
|
||||
},
|
||||
"instance.settings.sharing.active-invites.expires": {
|
||||
"message": "만료일"
|
||||
},
|
||||
"instance.settings.sharing.active-invites.revoke": {
|
||||
"message": "초대 철회"
|
||||
},
|
||||
"instance.settings.sharing.active-invites.revoke-with-code": {
|
||||
"message": "초대 {code} 철회"
|
||||
},
|
||||
"instance.settings.sharing.active-invites.title": {
|
||||
"message": "활성화된 초대"
|
||||
},
|
||||
"instance.settings.sharing.active-invites.uses": {
|
||||
"message": "사용 횟수"
|
||||
},
|
||||
"instance.settings.sharing.revoke-invite.admonition-body": {
|
||||
"message": "초대 링크 <monospace>{code}</monospace> 사용이 즉시 중단됩니다. 이미 참여한 사용자는 계속 접근 권한을 유지합니다."
|
||||
},
|
||||
"instance.settings.sharing.revoke-invite.admonition-header": {
|
||||
"message": "이 작업은 되돌릴 수 없습니다"
|
||||
},
|
||||
"instance.settings.sharing.revoke-invite.confirm": {
|
||||
"message": "초대 철회"
|
||||
},
|
||||
"instance.settings.sharing.revoke-invite.header": {
|
||||
"message": "초대 철회"
|
||||
},
|
||||
"instance.settings.tabs.general": {
|
||||
"message": "일반"
|
||||
},
|
||||
@@ -1148,6 +1634,9 @@
|
||||
"instance.settings.tabs.installation.loader-version": {
|
||||
"message": "{loader} 버전"
|
||||
},
|
||||
"instance.settings.tabs.installation.locked": {
|
||||
"message": "이 인스턴스가 잠긴 상태에서는 설치 설정을 사용할 수 없습니다."
|
||||
},
|
||||
"instance.settings.tabs.java": {
|
||||
"message": "Java 및 메모리"
|
||||
},
|
||||
@@ -1187,6 +1676,9 @@
|
||||
"instance.settings.tabs.java.java-path-placeholder": {
|
||||
"message": "/path/to/java"
|
||||
},
|
||||
"instance.settings.tabs.sharing": {
|
||||
"message": "공유"
|
||||
},
|
||||
"instance.settings.tabs.window": {
|
||||
"message": "창"
|
||||
},
|
||||
@@ -1217,8 +1709,23 @@
|
||||
"instance.settings.tabs.window.width.enter": {
|
||||
"message": "너비 입력..."
|
||||
},
|
||||
"instance.shared-instance.error.title": {
|
||||
"message": "문제가 발생했습니다"
|
||||
},
|
||||
"instance.shared-instance.network-error.text": {
|
||||
"message": "공유 인스턴스 API에 연결할 수 없습니다"
|
||||
},
|
||||
"instance.shared-instance.network-error.title": {
|
||||
"message": "네트워크 오류"
|
||||
},
|
||||
"instance.shared-instance.owner-tooltip": {
|
||||
"message": "이 인스턴스의 콘텐츠가 다른 사용자에게 공유되는 중입니다."
|
||||
},
|
||||
"instance.shared-instance.publish-review.added-label": {
|
||||
"message": "추가됨"
|
||||
},
|
||||
"instance.shared-instance.publish-review.admonition-header": {
|
||||
"message": "플레이어에게 업데이트 게시"
|
||||
"message": "플레이어에게 업데이트 업로드"
|
||||
},
|
||||
"instance.shared-instance.publish-review.config-title-v2": {
|
||||
"message": "설정 파일 선택"
|
||||
@@ -1230,10 +1737,10 @@
|
||||
"message": "변경 사항 검토"
|
||||
},
|
||||
"instance.shared-instance.publish-review.publish-button": {
|
||||
"message": "업데이트 푸시"
|
||||
"message": "업데이트 업로드"
|
||||
},
|
||||
"instance.shared-instance.publish-review.removed-label": {
|
||||
"message": "제거됨"
|
||||
"message": "삭제됨"
|
||||
},
|
||||
"instance.shared-instance.tooltip": {
|
||||
"message": "이 인스턴스의 콘텐츠는 다른 사용자가 관리하고 있습니다."
|
||||
@@ -1247,6 +1754,18 @@
|
||||
"instance.shared-instance.unavailable.locked-text": {
|
||||
"message": "이 공유 인스턴스는 콘텐츠 조정 팀에 의해 잠겼습니다. 기본 인스턴스 업데이트를 받지 않으며 플레이할 수 없습니다."
|
||||
},
|
||||
"instance.shared-instance.unavailable.locked-title": {
|
||||
"message": "인스턴스 잠김"
|
||||
},
|
||||
"instance.shared-instance.unavailable.manager-fallback": {
|
||||
"message": "인스턴스 관리자"
|
||||
},
|
||||
"instance.shared-instance.unavailable.text": {
|
||||
"message": "로컬 인스턴스는 계속 사용할 수 있지만, 더 이상 연동되지 않으며 업데이트를 받지 않습니다."
|
||||
},
|
||||
"instance.shared-instance.unavailable.title": {
|
||||
"message": "공유 인스턴스를 더 이상 사용할 수 없음"
|
||||
},
|
||||
"instance.worlds.a_minecraft_server": {
|
||||
"message": "Minecraft 서버"
|
||||
},
|
||||
@@ -1331,6 +1850,39 @@
|
||||
"minecraft-required.sign-in": {
|
||||
"message": "Microsoft 계정 로그인"
|
||||
},
|
||||
"modal.modrinth-account-required.browser-description": {
|
||||
"message": "로그인을 위한 새 탭이 열렸습니다. 해당 탭에서 로그인을 완료한 후 앱 돌아오세요."
|
||||
},
|
||||
"modal.modrinth-account-required.continue-in-browser-heading": {
|
||||
"message": "브라우저에서 계속 진행"
|
||||
},
|
||||
"modal.modrinth-account-required.create-account-button": {
|
||||
"message": "계정 생성"
|
||||
},
|
||||
"modal.modrinth-account-required.description": {
|
||||
"message": "이 기능을 사용하려면 Modrinth 계정에 로그인해야 합니다."
|
||||
},
|
||||
"modal.modrinth-account-required.header": {
|
||||
"message": "계정 필요"
|
||||
},
|
||||
"modal.modrinth-account-required.open-browser-again-button": {
|
||||
"message": "브라우저 다시 열기"
|
||||
},
|
||||
"modal.modrinth-account-required.sign-in-button": {
|
||||
"message": "Modrinth 로그인"
|
||||
},
|
||||
"modal.modrinth-account-required.sign-in-heading": {
|
||||
"message": "Modrinth 계정 로그인"
|
||||
},
|
||||
"modal.modrinth-account-required.signing-in-header": {
|
||||
"message": "로그인 중"
|
||||
},
|
||||
"modal.modrinth-account-required.support-prompt": {
|
||||
"message": "로그인에 문제가 있나요? <support>지원 받기</support>"
|
||||
},
|
||||
"modal.modrinth-account-required.waiting-for-browser": {
|
||||
"message": "브라우저 확인 대기 중..."
|
||||
},
|
||||
"search.filter.locked.instance": {
|
||||
"message": "인스턴스에서 관리"
|
||||
},
|
||||
@@ -1354,5 +1906,11 @@
|
||||
},
|
||||
"search.filter.locked.server-loader.title": {
|
||||
"message": "로더가 서버에 의해 제공됩니다"
|
||||
},
|
||||
"settings.sidebar.label.account": {
|
||||
"message": "계정"
|
||||
},
|
||||
"settings.sidebar.label.display": {
|
||||
"message": "디스플레이"
|
||||
}
|
||||
}
|
||||
|
||||
@@ -8,6 +8,9 @@
|
||||
"app.action-bar.hide-more-running-instances": {
|
||||
"message": "Sembunyikan lebih banyak pemasangan yang berjalan"
|
||||
},
|
||||
"app.action-bar.install.copied-details": {
|
||||
"message": "Disalin"
|
||||
},
|
||||
"app.action-bar.install.dismiss": {
|
||||
"message": "Ketepikan"
|
||||
},
|
||||
@@ -44,21 +47,12 @@
|
||||
"app.action-bar.view-logs": {
|
||||
"message": "Lihat log"
|
||||
},
|
||||
"app.appearance-settings.advanced-rendering.description": {
|
||||
"message": "Mendayakan pemaparan lanjutan seperti kesan kabur yang boleh menyebabkan masalah prestasi tanpa pemaparan dipercepatkan perkakasan."
|
||||
},
|
||||
"app.appearance-settings.advanced-rendering.title": {
|
||||
"message": "Pemaparan lanjutan"
|
||||
},
|
||||
"app.appearance-settings.color-theme.description": {
|
||||
"message": "Pilih tema warna pilihan anda untuk Modrinth App."
|
||||
},
|
||||
"app.appearance-settings.color-theme.title": {
|
||||
"message": "Tema warna"
|
||||
},
|
||||
"app.appearance-settings.default-landing-page.description": {
|
||||
"message": "Tukar laman utama yang dibuka oleh pelancar."
|
||||
},
|
||||
"app.appearance-settings.default-landing-page.home": {
|
||||
"message": "Laman utama"
|
||||
},
|
||||
@@ -68,42 +62,12 @@
|
||||
"app.appearance-settings.default-landing-page.title": {
|
||||
"message": "Laman pendaratan lalai"
|
||||
},
|
||||
"app.appearance-settings.hide-nametag.description": {
|
||||
"message": "Menyahdayakan tanda nama di atas pemain anda pada halaman kekulit."
|
||||
},
|
||||
"app.appearance-settings.hide-nametag.title": {
|
||||
"message": "Sembunyikan tanda nama"
|
||||
},
|
||||
"app.appearance-settings.jump-back-into-worlds.description": {
|
||||
"message": "Sertakan dunia terkini dalam bahagian \"Lompat kembali\" pada Laman Utama."
|
||||
},
|
||||
"app.appearance-settings.jump-back-into-worlds.title": {
|
||||
"message": "Lompat kembali ke dalam dunia"
|
||||
},
|
||||
"app.appearance-settings.minimize-launcher.description": {
|
||||
"message": "Meminimumkan pelancar apabila proses Minecraft bermula."
|
||||
},
|
||||
"app.appearance-settings.minimize-launcher.title": {
|
||||
"message": "Minimumkan pelancar"
|
||||
},
|
||||
"app.appearance-settings.native-decorations.description": {
|
||||
"message": "Gunakan bingkai tetingkap sistem (aplikasi perlu dimulakan semula)."
|
||||
},
|
||||
"app.appearance-settings.native-decorations.title": {
|
||||
"message": "Hiasan asli"
|
||||
},
|
||||
"app.appearance-settings.skip-non-essential-warnings.description": {
|
||||
"message": "Melangkau pengesahan berisiko rendah secara automatik seperti pemasangan pek mod pendua, pemadaman kandungan biasa, kemas kini pukal, menyahpautkan pek mod dan gesaan pembaikan. Amaran berbahaya masih akan ditunjukkan."
|
||||
},
|
||||
"app.appearance-settings.toggle-sidebar.description": {
|
||||
"message": "Membolehkan keupayaan untuk menogol bar sisi."
|
||||
},
|
||||
"app.appearance-settings.toggle-sidebar.title": {
|
||||
"message": "Togol bar sisi"
|
||||
},
|
||||
"app.appearance-settings.unknown-pack-warning.description": {
|
||||
"message": "Jika anda cuba memasang fail Modrinth Pack (.mrpack) yang tidak dihoskan pada Modrinth, kami akan memastikan anda memahami risikonya sebelum memasangnya."
|
||||
},
|
||||
"app.appearance-settings.unknown-pack-warning.title": {
|
||||
"message": "Beri saya amaran sebelum memasang pek mod yang tidak diketahui"
|
||||
},
|
||||
@@ -185,6 +149,9 @@
|
||||
"app.install.phase.reading_pack_manifest": {
|
||||
"message": "Sedang membaca manifest pek"
|
||||
},
|
||||
"app.instance.admonitions.shared-instance.added-label": {
|
||||
"message": "Ditambah"
|
||||
},
|
||||
"app.instance.confirm-delete.admonition-body": {
|
||||
"message": "Semua data untuk pemasangan anda akan dipadamkan secara kekal, termasuk dunia, konfigurasi dan semua kandungan yang dipasang."
|
||||
},
|
||||
@@ -254,6 +221,15 @@
|
||||
"app.instance.worlds.search-worlds-placeholder": {
|
||||
"message": "Cari {count} dunia..."
|
||||
},
|
||||
"app.java-detection.cancel": {
|
||||
"message": "Batal"
|
||||
},
|
||||
"app.java-detection.columns.path": {
|
||||
"message": "Laluan"
|
||||
},
|
||||
"app.java-detection.select": {
|
||||
"message": "Pilih"
|
||||
},
|
||||
"app.modal.install-to-play.header": {
|
||||
"message": "Pasang untuk mainkan"
|
||||
},
|
||||
@@ -263,6 +239,9 @@
|
||||
"app.modal.install-to-play.mod-count": {
|
||||
"message": "{count, plural, other {# mod}}"
|
||||
},
|
||||
"app.modal.install-to-play.report-reason.spam": {
|
||||
"message": "Spam"
|
||||
},
|
||||
"app.modal.install-to-play.shared-instance": {
|
||||
"message": "Pemasangan yang dikongsi"
|
||||
},
|
||||
@@ -272,24 +251,36 @@
|
||||
"app.modal.update-to-play.header": {
|
||||
"message": "Kemas kini untuk mainkan"
|
||||
},
|
||||
"app.modal.update-to-play.shared-instance-added-label": {
|
||||
"message": "Ditambah"
|
||||
},
|
||||
"app.nav.home": {
|
||||
"message": "Laman utama"
|
||||
},
|
||||
"app.news.title": {
|
||||
"message": "Berita"
|
||||
},
|
||||
"app.project.install-button.already-installed": {
|
||||
"message": "Projek ini sudah dipasang"
|
||||
},
|
||||
"app.project.install-context.back-to-browse": {
|
||||
"message": "Kembali menemukan"
|
||||
},
|
||||
"app.settings.default-instance-options.width.title": {
|
||||
"message": "Lebar"
|
||||
},
|
||||
"app.settings.developer-mode-enabled": {
|
||||
"message": "Mod pembangun didayakan."
|
||||
},
|
||||
"app.settings.downloading": {
|
||||
"message": "Sedang memuat turun v{version}"
|
||||
},
|
||||
"app.settings.operating-system.macos": {
|
||||
"message": "macOS"
|
||||
},
|
||||
"app.settings.tabs.appearance": {
|
||||
"message": "Tampilan"
|
||||
},
|
||||
"app.settings.tabs.default-instance-options": {
|
||||
"message": "Tetapan lalai pemasangan"
|
||||
},
|
||||
"app.settings.tabs.java-installations": {
|
||||
"message": "Pemasangan Java"
|
||||
},
|
||||
@@ -746,6 +737,9 @@
|
||||
"instance.settings.tabs.window.width.enter": {
|
||||
"message": "Masukkan lebar..."
|
||||
},
|
||||
"instance.shared-instance.publish-review.added-label": {
|
||||
"message": "Ditambah"
|
||||
},
|
||||
"instance.worlds.a_minecraft_server": {
|
||||
"message": "Pelayan Minecraft"
|
||||
},
|
||||
|
||||
@@ -144,19 +144,19 @@
|
||||
"message": "Je privacy en hoe advertenties Modrinth ondersteunen"
|
||||
},
|
||||
"app.appearance-settings.advanced-rendering.description": {
|
||||
"message": "Activeert geavanceerde weergaves zoals blur effecten die mogelijke prestatieproblemen opleveren zonder hardware-versnelde weergeving."
|
||||
"message": "Schakel visuele effecten zoals achtergrondvervaging in. Zonder hardwareversnelling kan dit ten koste gaan van de prestaties."
|
||||
},
|
||||
"app.appearance-settings.advanced-rendering.title": {
|
||||
"message": "Geavanceerde weergave"
|
||||
},
|
||||
"app.appearance-settings.color-theme.description": {
|
||||
"message": "Selecteer je voorkeur kleurenthema voor de Modrinth App."
|
||||
"message": "Kies het kleurenthema dat door de Modrinth-app wordt gebruikt."
|
||||
},
|
||||
"app.appearance-settings.color-theme.title": {
|
||||
"message": "Kleurenthema"
|
||||
},
|
||||
"app.appearance-settings.default-landing-page.description": {
|
||||
"message": "Wijzig de pagina waarop de launcher opent."
|
||||
"message": "Kies de pagina die wordt weergegeven wanneer de Modrinth-app wordt geopend."
|
||||
},
|
||||
"app.appearance-settings.default-landing-page.home": {
|
||||
"message": "Start"
|
||||
@@ -168,49 +168,49 @@
|
||||
"message": "Standaard openingspagina"
|
||||
},
|
||||
"app.appearance-settings.hide-nametag.description": {
|
||||
"message": "Schakelt het nametag boven jouw speler op de skins pagina uit."
|
||||
"message": "Verberg je gebruikersnaam boven het voorbeeld van de speler op de Skinkiezer-pagina."
|
||||
},
|
||||
"app.appearance-settings.hide-nametag.title": {
|
||||
"message": "Verberg nametag"
|
||||
},
|
||||
"app.appearance-settings.jump-back-into-worlds.description": {
|
||||
"message": "Inclusief recente werelden in het gedeelte \"Ga terug\" op de startpagina."
|
||||
"message": "Toon recent gespeelde werelden in het Ga terug-gedeelte op de startpagina."
|
||||
},
|
||||
"app.appearance-settings.jump-back-into-worlds.title": {
|
||||
"message": "Ga terug in werelden"
|
||||
},
|
||||
"app.appearance-settings.minimize-launcher.description": {
|
||||
"message": "Minimaliseer de launcher als een Minecraft proces wordt gestart."
|
||||
"message": "Minimaliseer de Modrinth-app zodra Minecraft opstart."
|
||||
},
|
||||
"app.appearance-settings.minimize-launcher.title": {
|
||||
"message": "Minimaliseer launcher"
|
||||
"message": "App minimaliseren"
|
||||
},
|
||||
"app.appearance-settings.native-decorations.description": {
|
||||
"message": "Gebruik systeem venster frame (app opnieuw starten vereist)."
|
||||
"message": "Gebruik de titelbalk en vensterbedieningselementen van je besturingssysteem. Hiervoor moet de app opnieuw worden opgestart."
|
||||
},
|
||||
"app.appearance-settings.native-decorations.title": {
|
||||
"message": "Oorspronkelijke versieringen"
|
||||
"message": "Systeemvensterframe"
|
||||
},
|
||||
"app.appearance-settings.show-play-time.description": {
|
||||
"message": "Toont hoeveel tijd je aan een instantie hebt besteed."
|
||||
"message": "Laat zien hoe lang je elke instantie hebt gespeeld."
|
||||
},
|
||||
"app.appearance-settings.show-play-time.title": {
|
||||
"message": "Speeltijd laten zien"
|
||||
},
|
||||
"app.appearance-settings.skip-non-essential-warnings.description": {
|
||||
"message": "Bevestigingen met een laag risico, zoals het installeren van dubbele modpacks, het verwijderen van normale inhoud, bulkupdates, het ontkoppelen van modpacks en reparatieverzoeken, worden automatisch overgeslagen. Waarschuwingen voor gevaarlijke dingen worden nog steeds weergegeven."
|
||||
"message": "Sla bevestigingen over voor acties met een laag risico, zoals het installeren van dubbele exemplaren, het verwijderen van normale inhoud, bulkupdates, het opheffen van koppelingen en herstelbewerkingen. Waarschuwingen voor gevaarlijke handelingen worden altijd weergegeven."
|
||||
},
|
||||
"app.appearance-settings.skip-non-essential-warnings.title": {
|
||||
"message": "Niet-essentiële waarschuwingen overslaan"
|
||||
},
|
||||
"app.appearance-settings.toggle-sidebar.description": {
|
||||
"message": "Schakelt de mogelijkheid om de zijbalk in- of uit te schakelen in."
|
||||
"message": "Verberg de rechterzijbalk standaard en voeg een knop toe om deze weer te geven of te verbergen."
|
||||
},
|
||||
"app.appearance-settings.toggle-sidebar.title": {
|
||||
"message": "Schakel zijbalk"
|
||||
"message": "Rechterzijbalk verbergen"
|
||||
},
|
||||
"app.appearance-settings.unknown-pack-warning.description": {
|
||||
"message": "Als je probeert een Modrinth Pack-bestand (.mrpack) te installeren dat niet op Modrinth zelf wordt gehost, zorgen we ervoor dat je de risico's begrijpt voordat je het installeert."
|
||||
"message": "Geef een veiligheidswaarschuwing weer voordat een Modrinth-pakket (.mrpack) wordt geïnstalleerd dat niet op Modrinth wordt gehost."
|
||||
},
|
||||
"app.appearance-settings.unknown-pack-warning.title": {
|
||||
"message": "Waarschuw mij voordat ik onbekende modpacks installeer"
|
||||
@@ -221,6 +221,15 @@
|
||||
"app.auth-servers.unreachable.header": {
|
||||
"message": "Authenticatieservers kunnen niet worden bereikt"
|
||||
},
|
||||
"app.behavior-settings.confirmations.title": {
|
||||
"message": "Bevestigingen"
|
||||
},
|
||||
"app.behavior-settings.content.title": {
|
||||
"message": "Startpagina en inhoud"
|
||||
},
|
||||
"app.behavior-settings.startup-and-navigation.title": {
|
||||
"message": "Opstarten en navigeren"
|
||||
},
|
||||
"app.browse.add-servers-to-instance": {
|
||||
"message": "Server toevoegen aan instantie"
|
||||
},
|
||||
@@ -242,12 +251,18 @@
|
||||
"app.browse.back-to-instance": {
|
||||
"message": "Terug naar instantie"
|
||||
},
|
||||
"app.browse.discover-project-type": {
|
||||
"message": "Ontdek {projectType}"
|
||||
},
|
||||
"app.browse.discover-servers": {
|
||||
"message": "Ontdek servers"
|
||||
},
|
||||
"app.browse.hide-added-servers": {
|
||||
"message": "Al toegevoegde servers verbergen"
|
||||
},
|
||||
"app.browse.hide-installed-modpacks": {
|
||||
"message": "Verberg al geïnstalleerd"
|
||||
},
|
||||
"app.browse.project-type.modpacks": {
|
||||
"message": "Modpacks"
|
||||
},
|
||||
@@ -362,9 +377,18 @@
|
||||
"app.instance.admonitions.shared-instance.review-header": {
|
||||
"message": "Wijzigingen bekijken"
|
||||
},
|
||||
"app.instance.admonitions.shared-instance.review-update-button": {
|
||||
"message": "Update bekijken"
|
||||
},
|
||||
"app.instance.admonitions.shared-instance.reviewing-button": {
|
||||
"message": "Controleren..."
|
||||
},
|
||||
"app.instance.admonitions.shared-instance.update-available-body": {
|
||||
"message": "Er is een update nodig om {name} te kunnen spelen. Werk het spel bij naar de nieuwste versie om het te kunnen starten."
|
||||
},
|
||||
"app.instance.admonitions.shared-instance.update-available-header": {
|
||||
"message": "Update is beschikbaar"
|
||||
},
|
||||
"app.instance.confirm-delete.admonition-body": {
|
||||
"message": "Alle gegevens van je instantie worden definitief verwijderd, inclusief je werelden, configuraties en alle geïnstalleerde inhoud."
|
||||
},
|
||||
@@ -431,6 +455,9 @@
|
||||
"app.instance.share.invite-modal.heading": {
|
||||
"message": "{name} delen"
|
||||
},
|
||||
"app.instance.share.invite-modal.user-limit-reached": {
|
||||
"message": "Deze instantie heeft de limiet van {limit} gebruikers bereikt."
|
||||
},
|
||||
"app.instance.share.locked.empty-description-prefix": {
|
||||
"message": "Je moet je aanmelden als"
|
||||
},
|
||||
@@ -449,6 +476,12 @@
|
||||
"app.instance.share.locked.wrong-account-heading": {
|
||||
"message": "Verkeerd account"
|
||||
},
|
||||
"app.instance.share.members.empty": {
|
||||
"message": "Nog geen gebruikers zijn lid geworden"
|
||||
},
|
||||
"app.instance.share.members.no-filter-results": {
|
||||
"message": "Geen gebruikers voldoen aan je filters."
|
||||
},
|
||||
"app.instance.share.remove-user-modal.effect-access": {
|
||||
"message": "Ze zullen geen updates meer ontvangen voor deze gedeelde instantie"
|
||||
},
|
||||
@@ -479,6 +512,12 @@
|
||||
"app.instance.share.sign-in.button": {
|
||||
"message": "Aanmelden"
|
||||
},
|
||||
"app.instance.share.unable-to-connect.description": {
|
||||
"message": "De dienst voor gedeelde instanties is momenteel niet beschikbaar, probeer het later nog eens"
|
||||
},
|
||||
"app.instance.share.unable-to-connect.heading": {
|
||||
"message": "Kan geen verbinding maken"
|
||||
},
|
||||
"app.instance.share.unlink.body": {
|
||||
"message": "Je moet dit modpack ontkoppelen om je instantie te kunnen delen"
|
||||
},
|
||||
@@ -566,12 +605,60 @@
|
||||
"app.instance.worlds.search-worlds-placeholder": {
|
||||
"message": "Zoek werelden"
|
||||
},
|
||||
"app.java-detection.cancel": {
|
||||
"message": "Annuleren"
|
||||
},
|
||||
"app.java-detection.columns.actions": {
|
||||
"message": "Acties"
|
||||
},
|
||||
"app.java-detection.columns.path": {
|
||||
"message": "Pad"
|
||||
},
|
||||
"app.java-detection.columns.version": {
|
||||
"message": "Versie"
|
||||
},
|
||||
"app.java-detection.no-installations-found": {
|
||||
"message": "Geen Java-installaties gevonden."
|
||||
},
|
||||
"app.java-detection.select": {
|
||||
"message": "Selecteren"
|
||||
},
|
||||
"app.java-detection.selected": {
|
||||
"message": "Geselecteerd"
|
||||
},
|
||||
"app.java-detection.title": {
|
||||
"message": "Selecteer Java-installatie"
|
||||
},
|
||||
"app.java-selector.already-installed": {
|
||||
"message": "Al geïnstalleerd"
|
||||
},
|
||||
"app.java-selector.browse": {
|
||||
"message": "Bladeren"
|
||||
},
|
||||
"app.java-selector.detect": {
|
||||
"message": "Detecteren"
|
||||
},
|
||||
"app.java-selector.install-recommended": {
|
||||
"message": "Aanbevolen instantie"
|
||||
},
|
||||
"app.java-selector.installing": {
|
||||
"message": "Installeren..."
|
||||
},
|
||||
"app.java-selector.path.placeholder": {
|
||||
"message": "/pad/naar/java"
|
||||
},
|
||||
"app.java-selector.test-installation": {
|
||||
"message": "Java-installatie testen"
|
||||
},
|
||||
"app.modal.install-to-play.additional-context": {
|
||||
"message": "Aanvullende context"
|
||||
},
|
||||
"app.modal.install-to-play.additional-context-placeholder": {
|
||||
"message": "Voeg links en afbeeldingen toe als dat mogelijk en relevant is"
|
||||
},
|
||||
"app.modal.install-to-play.block-user": {
|
||||
"message": "Gebruiker blokkeren"
|
||||
},
|
||||
"app.modal.install-to-play.content-you-are-reporting": {
|
||||
"message": "Instantie die je meldt"
|
||||
},
|
||||
@@ -593,6 +680,9 @@
|
||||
"app.modal.install-to-play.invite-warning": {
|
||||
"message": "Deze uitnodiging is aangemaakt door een andere Modrinth-gebruiker, niet door Modrinth zelf. Accepteer alleen uitnodigingen van mensen die je vertrouwt."
|
||||
},
|
||||
"app.modal.install-to-play.invite-warning-with-creator": {
|
||||
"message": "Deze uitnodiging is aangemaakt door <creator>{username}</creator>, niet door Modrinth. Accepteer alleen uitnodigingen van mensen die je vertrouwt."
|
||||
},
|
||||
"app.modal.install-to-play.mod-count": {
|
||||
"message": "{count, plural,one {# mod}other {# mods}}"
|
||||
},
|
||||
@@ -650,6 +740,9 @@
|
||||
"app.modal.install-to-play.unrecognized-files": {
|
||||
"message": "Onbekende bestanden"
|
||||
},
|
||||
"app.modal.install-to-play.user-blocked": {
|
||||
"message": "Gebruiker geblokkeerd"
|
||||
},
|
||||
"app.modal.install-to-play.view-contents": {
|
||||
"message": "Inhoud bekijken"
|
||||
},
|
||||
@@ -677,6 +770,36 @@
|
||||
"app.modal.update-to-play.update-required-description": {
|
||||
"message": "Er is een update nodig om {name} te spelen. Werk het spel bij naar de nieuwste versie om het te kunnen starten."
|
||||
},
|
||||
"app.nav.create-new-instance": {
|
||||
"message": "Nieuwe instantie aanmaken"
|
||||
},
|
||||
"app.nav.home": {
|
||||
"message": "Start"
|
||||
},
|
||||
"app.nav.library": {
|
||||
"message": "Bibliotheek"
|
||||
},
|
||||
"app.nav.modrinth-account": {
|
||||
"message": "Modrinth-account"
|
||||
},
|
||||
"app.nav.modrinth-hosting": {
|
||||
"message": "Modrinth Hosting"
|
||||
},
|
||||
"app.nav.sign-in-to-modrinth-account": {
|
||||
"message": "Meld je aan bij een Modrinth-account"
|
||||
},
|
||||
"app.nav.signed-in-as": {
|
||||
"message": "Aangemeld als <user>{username}</user>"
|
||||
},
|
||||
"app.nav.upgrade-to-modrinth-plus": {
|
||||
"message": "Upgrade naar Modrinth+"
|
||||
},
|
||||
"app.news.title": {
|
||||
"message": "Nieuws"
|
||||
},
|
||||
"app.news.view-all": {
|
||||
"message": "Al het nieuws bekijken"
|
||||
},
|
||||
"app.project.install-button.already-installed": {
|
||||
"message": "Dit project is al geïnstalleerd"
|
||||
},
|
||||
@@ -686,6 +809,9 @@
|
||||
"app.project.install-context.back-to-browse": {
|
||||
"message": "Terug naar Ontdekken"
|
||||
},
|
||||
"app.project.install-context.back-to-instance": {
|
||||
"message": "Terug naar de instantie"
|
||||
},
|
||||
"app.project.version.all-versions": {
|
||||
"message": "Alle versies"
|
||||
},
|
||||
@@ -698,20 +824,119 @@
|
||||
"app.project.versions.already-installed": {
|
||||
"message": "Al geïnstalleerd"
|
||||
},
|
||||
"app.quick-instance-switcher.drag-show-tooltip": {
|
||||
"message": "Sleep om recente instanties weer te geven"
|
||||
},
|
||||
"app.quick-instance-switcher.drag-tooltip": {
|
||||
"message": "Sleep om formaat aan te passen"
|
||||
},
|
||||
"app.restarting": {
|
||||
"message": "Opnieuw opstarten..."
|
||||
},
|
||||
"app.settings.app-version": {
|
||||
"message": "Modrinth-app {version}"
|
||||
},
|
||||
"app.settings.default-instance-options.environment-variables.description": {
|
||||
"message": "Omgevingsvariabelen die bij het opstarten van een instantie worden ingesteld."
|
||||
},
|
||||
"app.settings.default-instance-options.environment-variables.placeholder": {
|
||||
"message": "Omgevingsvariabelen invoeren..."
|
||||
},
|
||||
"app.settings.default-instance-options.environment-variables.title": {
|
||||
"message": "Omgevingsvariabelen"
|
||||
},
|
||||
"app.settings.default-instance-options.fullscreen.description": {
|
||||
"message": "Start instanties in volledig scherm door het bestand options.txt aan te passen."
|
||||
},
|
||||
"app.settings.default-instance-options.fullscreen.title": {
|
||||
"message": "Volledig scherm"
|
||||
},
|
||||
"app.settings.default-instance-options.height.description": {
|
||||
"message": "De hoogte van het spelvenster bij het opstarten."
|
||||
},
|
||||
"app.settings.default-instance-options.height.placeholder": {
|
||||
"message": "Hoogte invoeren..."
|
||||
},
|
||||
"app.settings.default-instance-options.height.title": {
|
||||
"message": "Hoogte"
|
||||
},
|
||||
"app.settings.default-instance-options.java-arguments.description": {
|
||||
"message": "Argumenten die bij het starten van een instantie aan Java worden doorgegeven."
|
||||
},
|
||||
"app.settings.default-instance-options.java-arguments.placeholder": {
|
||||
"message": "Voer Java-argumenten in..."
|
||||
},
|
||||
"app.settings.default-instance-options.java-arguments.title": {
|
||||
"message": "Java-argumenten"
|
||||
},
|
||||
"app.settings.default-instance-options.memory-allocation.description": {
|
||||
"message": "Maximaal beschikbaar geheugen voor elke instantie."
|
||||
},
|
||||
"app.settings.default-instance-options.memory-allocation.title": {
|
||||
"message": "Geheugentoewijzing"
|
||||
},
|
||||
"app.settings.default-instance-options.post-exit-hook.description": {
|
||||
"message": "Wordt uitgevoerd nadat het spel is afgesloten."
|
||||
},
|
||||
"app.settings.default-instance-options.post-exit-hook.placeholder": {
|
||||
"message": "Voer commando voor na het afsluiten in..."
|
||||
},
|
||||
"app.settings.default-instance-options.post-exit-hook.title": {
|
||||
"message": "Hook voor na het afsluiten"
|
||||
},
|
||||
"app.settings.default-instance-options.pre-launch-hook.description": {
|
||||
"message": "Wordt uitgevoerd voordat de instantie wordt gestart."
|
||||
},
|
||||
"app.settings.default-instance-options.pre-launch-hook.placeholder": {
|
||||
"message": "Voer commando voor het opstarten in..."
|
||||
},
|
||||
"app.settings.default-instance-options.pre-launch-hook.title": {
|
||||
"message": "Hook voor het opstarten"
|
||||
},
|
||||
"app.settings.default-instance-options.width.description": {
|
||||
"message": "De breedte van het spelvenster bij het opstarten."
|
||||
},
|
||||
"app.settings.default-instance-options.width.placeholder": {
|
||||
"message": "Voer breedte in..."
|
||||
},
|
||||
"app.settings.default-instance-options.width.title": {
|
||||
"message": "Breedte"
|
||||
},
|
||||
"app.settings.default-instance-options.wrapper-hook.description": {
|
||||
"message": "Commando gebruikt om het Minecraft proces te om wikkelen."
|
||||
},
|
||||
"app.settings.default-instance-options.wrapper-hook.placeholder": {
|
||||
"message": "Type een omwikkelcommando in..."
|
||||
},
|
||||
"app.settings.default-instance-options.wrapper-hook.title": {
|
||||
"message": "Omwikkel haak"
|
||||
},
|
||||
"app.settings.developer-mode-button.label": {
|
||||
"message": "Schakel ontwikkelaars modus"
|
||||
},
|
||||
"app.settings.developer-mode-enabled": {
|
||||
"message": "Ontwikkelaarsmodus ingeschakeld."
|
||||
},
|
||||
"app.settings.downloading": {
|
||||
"message": "v{version} wordt gedownload"
|
||||
},
|
||||
"app.settings.java-installations.location.title": {
|
||||
"message": "Java {version, number} locatie"
|
||||
},
|
||||
"app.settings.operating-system.macos": {
|
||||
"message": "macOS"
|
||||
},
|
||||
"app.settings.privacy.ads-consent.intro": {
|
||||
"message": "Advertenties maken Modrinth mogelijk en financieren de uitbetalingen aan makers. Onze partners kunnen cookies in de app opslaan of gebruiken om advertenties te personaliseren en de prestaties te meten. Je kunt je hieronder afmelden of je voorkeuren beheren."
|
||||
},
|
||||
"app.settings.privacy.discord-rich-presence.description": {
|
||||
"message": "Laat Modrinth als jouw activiteit op Discord. Dit verandert niet activiteiten toegevoegd door mods."
|
||||
},
|
||||
"app.settings.tabs.appearance": {
|
||||
"message": "Uiterlijk"
|
||||
},
|
||||
"app.settings.tabs.default-instance-options": {
|
||||
"message": "Standaardopties voor instantie"
|
||||
"message": "Standaard spelopties"
|
||||
},
|
||||
"app.settings.tabs.java-installations": {
|
||||
"message": "Java installaties"
|
||||
@@ -725,6 +950,9 @@
|
||||
"app.settings.tabs.resource-management": {
|
||||
"message": "Bronnenbeheer"
|
||||
},
|
||||
"app.sidebar.playing-as": {
|
||||
"message": "Spelen als"
|
||||
},
|
||||
"app.skins.add-button": {
|
||||
"message": "Skin toevoegen"
|
||||
},
|
||||
@@ -884,6 +1112,21 @@
|
||||
"app.skins.toggle-ears-features-on": {
|
||||
"message": "Inschakelen"
|
||||
},
|
||||
"app.survey.body": {
|
||||
"message": "Zou je een paar vragen willen beantwoorden over je ervaringen met de Modrinth-app?"
|
||||
},
|
||||
"app.survey.footer": {
|
||||
"message": "Deze feedback wordt rechtstreeks doorgestuurd naar het Modrinth-team en zal als leidraad dienen voor toekomstige updates!"
|
||||
},
|
||||
"app.survey.no-thanks": {
|
||||
"message": "Nee, bedankt"
|
||||
},
|
||||
"app.survey.take-survey": {
|
||||
"message": "Aan enquête meedoen"
|
||||
},
|
||||
"app.survey.title": {
|
||||
"message": "Hoi, Modrinth-gebruiker!"
|
||||
},
|
||||
"app.update-popup.body.download-complete": {
|
||||
"message": "Modrinth App v{version} is klaar met downloaden. Herlaad om nu te updaten, of automatisch wanneer je de Modrinth App afsluit."
|
||||
},
|
||||
@@ -1160,6 +1403,30 @@
|
||||
"instance.server-modal.resource-pack": {
|
||||
"message": "Bronpakket"
|
||||
},
|
||||
"instance.settings.sharing.active-invites.actions": {
|
||||
"message": "Acties"
|
||||
},
|
||||
"instance.settings.sharing.active-invites.code": {
|
||||
"message": "Uitnodigingslink"
|
||||
},
|
||||
"instance.settings.sharing.active-invites.description": {
|
||||
"message": "Iedereen die zo'n uitnodigingslink heeft, kan meedoen zolang deze actief is."
|
||||
},
|
||||
"instance.settings.sharing.active-invites.empty": {
|
||||
"message": "Er zijn geen actieve uitnodigingen."
|
||||
},
|
||||
"instance.settings.sharing.active-invites.expires": {
|
||||
"message": "Vervalt"
|
||||
},
|
||||
"instance.settings.sharing.active-invites.revoke": {
|
||||
"message": "Uitnodiging intrekken"
|
||||
},
|
||||
"instance.settings.sharing.active-invites.revoke-with-code": {
|
||||
"message": "Uitnodiging {code} intrekken"
|
||||
},
|
||||
"instance.settings.sharing.active-invites.title": {
|
||||
"message": "Actieve uitnodigingen"
|
||||
},
|
||||
"instance.settings.tabs.general": {
|
||||
"message": "Algemeen"
|
||||
},
|
||||
@@ -1496,9 +1763,6 @@
|
||||
"modal.modrinth-account-required.browser-description": {
|
||||
"message": "Er is een nieuw tabblad geopend om je aan te melden. Log daar in en ga vervolgens terug naar de app."
|
||||
},
|
||||
"modal.modrinth-account-required.cancel-button": {
|
||||
"message": "Annuleren"
|
||||
},
|
||||
"modal.modrinth-account-required.continue-in-browser-heading": {
|
||||
"message": "Doorgaan in je browser"
|
||||
},
|
||||
|
||||
@@ -56,21 +56,12 @@
|
||||
"app.action-bar.view-logs": {
|
||||
"message": "Vis logger"
|
||||
},
|
||||
"app.appearance-settings.advanced-rendering.description": {
|
||||
"message": "Skrur på avansert rendering, som for eksempel uskarphetseffekter, som kan forårsake ytelsesproblemer om man ikke har maskinvareaksellerert rendering."
|
||||
},
|
||||
"app.appearance-settings.advanced-rendering.title": {
|
||||
"message": "Avansert rendering"
|
||||
},
|
||||
"app.appearance-settings.color-theme.description": {
|
||||
"message": "Velg ditt foretrukne fargetema for Modrinth App."
|
||||
},
|
||||
"app.appearance-settings.color-theme.title": {
|
||||
"message": "Fargetema"
|
||||
},
|
||||
"app.appearance-settings.default-landing-page.description": {
|
||||
"message": "Endre sida som vises når launcheren åpnes."
|
||||
},
|
||||
"app.appearance-settings.default-landing-page.home": {
|
||||
"message": "Hjem"
|
||||
},
|
||||
@@ -80,36 +71,15 @@
|
||||
"app.appearance-settings.default-landing-page.title": {
|
||||
"message": "Åpningsside"
|
||||
},
|
||||
"app.appearance-settings.hide-nametag.description": {
|
||||
"message": "Skjuler navnelappen over din spiller på utseende siden."
|
||||
},
|
||||
"app.appearance-settings.hide-nametag.title": {
|
||||
"message": "Gjøm navnelapp"
|
||||
},
|
||||
"app.appearance-settings.minimize-launcher.title": {
|
||||
"message": "Minimer launcheren"
|
||||
},
|
||||
"app.appearance-settings.show-play-time.description": {
|
||||
"message": "Viser hvor lenge du har spilt et tilfelle."
|
||||
},
|
||||
"app.appearance-settings.show-play-time.title": {
|
||||
"message": "Vis spilletid"
|
||||
},
|
||||
"app.appearance-settings.skip-non-essential-warnings.description": {
|
||||
"message": "Hopper automatisk over lav-rissiko fastslåelser som modpakkeinstalasjonsduplikat, vanlig innholdsletting, bolkoppdateringer, avkoble modpakker, og reparasjonsprompter. Farlige advarsler vil fortsatt vises."
|
||||
},
|
||||
"app.appearance-settings.skip-non-essential-warnings.title": {
|
||||
"message": "Hopp over mindre viktige advarsler"
|
||||
},
|
||||
"app.appearance-settings.toggle-sidebar.description": {
|
||||
"message": "Aktiverer evnen til å skru sidefeltet av/på."
|
||||
},
|
||||
"app.appearance-settings.toggle-sidebar.title": {
|
||||
"message": "Sidefeltsveksling"
|
||||
},
|
||||
"app.appearance-settings.unknown-pack-warning.description": {
|
||||
"message": "Hvis du prøver å laste ned en Modrinth Pakke fil (.mrpack) som er ukjent for Modrinth så kommer vi til å forsikre oss om at du forstår risikoene før du installerer den."
|
||||
},
|
||||
"app.appearance-settings.unknown-pack-warning.title": {
|
||||
"message": "Advar meg før jeg installerer ukjente modpakker"
|
||||
},
|
||||
@@ -233,9 +203,6 @@
|
||||
"app.settings.tabs.appearance": {
|
||||
"message": "Utseende"
|
||||
},
|
||||
"app.settings.tabs.default-instance-options": {
|
||||
"message": "Vanlige tilfelleinstillinger"
|
||||
},
|
||||
"app.settings.tabs.java-installations": {
|
||||
"message": "Java installasjoner"
|
||||
},
|
||||
|
||||
@@ -144,19 +144,19 @@
|
||||
"message": "Twoja prywatność i jak reklamy wspierają Modrinth"
|
||||
},
|
||||
"app.appearance-settings.advanced-rendering.description": {
|
||||
"message": "Włącza zaawansowane renderowanie, takie jak efekty rozmycia, które może powodować problemy z wydajnością bez sprzętowej akceleracji renderowania."
|
||||
"message": "Włącz efekty wizualne, takie jak rozmycie tła. Może to negatywnie wpłynąć na wydajność, jeżeli akceleracja sprzętowa jest wyłączona."
|
||||
},
|
||||
"app.appearance-settings.advanced-rendering.title": {
|
||||
"message": "Zaawansowane renderowanie"
|
||||
},
|
||||
"app.appearance-settings.color-theme.description": {
|
||||
"message": "Wybierz preferowany motyw kolorystyczny dla Modrinth App."
|
||||
"message": "Wybierz motyw użyty przez Modrinth App."
|
||||
},
|
||||
"app.appearance-settings.color-theme.title": {
|
||||
"message": "Motyw"
|
||||
},
|
||||
"app.appearance-settings.default-landing-page.description": {
|
||||
"message": "Ustaw stronę, która pojawia się po włączeniu launchera."
|
||||
"message": "Wybierz stronę, która pojawi się po uruchomieniu Modrinth App."
|
||||
},
|
||||
"app.appearance-settings.default-landing-page.home": {
|
||||
"message": "Strona główna"
|
||||
@@ -168,49 +168,43 @@
|
||||
"message": "Domyślna strona główna"
|
||||
},
|
||||
"app.appearance-settings.hide-nametag.description": {
|
||||
"message": "Wyłącza nazwę użytkownika nad modelem gracza na stronie skórek."
|
||||
"message": "Ukryj nazwę użytkownika pokazaną nad podglądem wyglądu gracza na stronie wyboru skórki."
|
||||
},
|
||||
"app.appearance-settings.hide-nametag.title": {
|
||||
"message": "Ukryj nazwę"
|
||||
},
|
||||
"app.appearance-settings.jump-back-into-worlds.description": {
|
||||
"message": "Pokazuje ostatnie światy w sekcji \"Wskocz z powrotem do światów\" na stronie głównej."
|
||||
"message": "Pokaż ostatnie światy w sekcji \"Wskocz z powrotem do światów\" na stronie głównej."
|
||||
},
|
||||
"app.appearance-settings.jump-back-into-worlds.title": {
|
||||
"message": "Wskocz z powrotem do światów"
|
||||
},
|
||||
"app.appearance-settings.minimize-launcher.description": {
|
||||
"message": "Minimalizuj launcher po włączeniu procesu Minecraft."
|
||||
"message": "Minimalizuje Modrinth App po uruchomieniu Minecraft."
|
||||
},
|
||||
"app.appearance-settings.minimize-launcher.title": {
|
||||
"message": "Minimalizuj launcher"
|
||||
"message": "Minimalizuj aplikację"
|
||||
},
|
||||
"app.appearance-settings.native-decorations.description": {
|
||||
"message": "Używaj systemowej ramki okna (wymaga ponownego uruchomienia)."
|
||||
"message": "Używaj pasek tytułu i kontrolki okna systemu operacyjnego. Wymaga ponownego uruchomienia aplikacji."
|
||||
},
|
||||
"app.appearance-settings.native-decorations.title": {
|
||||
"message": "Systemowe dekoracje"
|
||||
},
|
||||
"app.appearance-settings.show-play-time.description": {
|
||||
"message": "Pokazuje czas gry spędzony w danej instancji."
|
||||
"message": "Systemowa ramka okna"
|
||||
},
|
||||
"app.appearance-settings.show-play-time.title": {
|
||||
"message": "Pokaż czas gry"
|
||||
},
|
||||
"app.appearance-settings.skip-non-essential-warnings.description": {
|
||||
"message": "Automatycznie pomija mało znaczące potwierdzenia takie jak duplikaty instalacji paczek modów, usuwanie zwykłej zawartości, masowe aktualizacje, odłączanie paczek modów i naprawianie. Ostrzeżenia o potencjalnie niebezpiecznych akcjach będą nadal pokazywane."
|
||||
"message": "Pomija potwierdzenia dla akcji z niskim ryzykiem, takich jak: duplikowanie instalacji, normalne usuwanie zawartości, aktualizacje zbiorcze, odłączanie udostępnionych instancji oraz naprawy. Ostrzeżenia dla niebezpiecznych akcji wciąż będą pokazywane."
|
||||
},
|
||||
"app.appearance-settings.skip-non-essential-warnings.title": {
|
||||
"message": "Pomiń mało znaczące ostrzeżenia"
|
||||
},
|
||||
"app.appearance-settings.toggle-sidebar.description": {
|
||||
"message": "Umożliwia przełączenie paska bocznego."
|
||||
"message": "Domyślnie ukrywa prawy pasek boczny i dodaje guzik pozwalający go pokazywać lub ukrywać."
|
||||
},
|
||||
"app.appearance-settings.toggle-sidebar.title": {
|
||||
"message": "Przełącz pasek boczny"
|
||||
},
|
||||
"app.appearance-settings.unknown-pack-warning.description": {
|
||||
"message": "Jeżeli spróbujesz zainstalować plik Modrinth Pack (.mrpack) którego nie można znaleźć na Modrinth, poinformujemy cię o możliwym ryzyku, zanim go zainstalujesz."
|
||||
"message": "Ukryj prawy pasek boczny"
|
||||
},
|
||||
"app.appearance-settings.unknown-pack-warning.title": {
|
||||
"message": "Ostrzegaj mnie przed instalowaniem nieznanych paczek modów"
|
||||
@@ -221,6 +215,15 @@
|
||||
"app.auth-servers.unreachable.header": {
|
||||
"message": "Nie udało się połączyć się z serwerami uwierzytelniania"
|
||||
},
|
||||
"app.behavior-settings.confirmations.title": {
|
||||
"message": "Potwierdzenia"
|
||||
},
|
||||
"app.behavior-settings.content.title": {
|
||||
"message": "Strona główna i zawartość"
|
||||
},
|
||||
"app.behavior-settings.startup-and-navigation.title": {
|
||||
"message": "Uruchamianie i nawigacja"
|
||||
},
|
||||
"app.browse.add-servers-to-instance": {
|
||||
"message": "Dodawanie serwera do instancji"
|
||||
},
|
||||
@@ -242,12 +245,18 @@
|
||||
"app.browse.back-to-instance": {
|
||||
"message": "Powrót do instancji"
|
||||
},
|
||||
"app.browse.discover-project-type": {
|
||||
"message": "Odkrywaj {projectType}"
|
||||
},
|
||||
"app.browse.discover-servers": {
|
||||
"message": "Odkryj serwery"
|
||||
},
|
||||
"app.browse.hide-added-servers": {
|
||||
"message": "Ukryj już dodane serwery"
|
||||
},
|
||||
"app.browse.hide-installed-modpacks": {
|
||||
"message": "Ukryj już zainstalowane"
|
||||
},
|
||||
"app.browse.project-type.modpacks": {
|
||||
"message": "Paczki modów"
|
||||
},
|
||||
@@ -338,6 +347,9 @@
|
||||
"app.instance.admonitions.shared-instance.added-label": {
|
||||
"message": "Dodano"
|
||||
},
|
||||
"app.instance.admonitions.shared-instance.changes-body": {
|
||||
"message": "Twoja lokalna przesłana instalacja wyprzedza te, które zostały przesłane użytkownikom."
|
||||
},
|
||||
"app.instance.admonitions.shared-instance.changes-header": {
|
||||
"message": "Twoje zmiany nie zostały jeszcze udostępnione"
|
||||
},
|
||||
@@ -353,12 +365,21 @@
|
||||
"app.instance.admonitions.shared-instance.review-admonition-header": {
|
||||
"message": "Opublikuj aktualizację"
|
||||
},
|
||||
"app.instance.admonitions.shared-instance.review-description": {
|
||||
"message": "Zobacz zmienione treści, które zostaną przesłane wszystkim użytkownikom tej instalacji."
|
||||
},
|
||||
"app.instance.admonitions.shared-instance.review-header": {
|
||||
"message": "Sprawdź zmiany"
|
||||
},
|
||||
"app.instance.admonitions.shared-instance.review-update-button": {
|
||||
"message": "Sprawdź aktualizację"
|
||||
},
|
||||
"app.instance.admonitions.shared-instance.reviewing-button": {
|
||||
"message": "Trwa przegląd..."
|
||||
},
|
||||
"app.instance.admonitions.shared-instance.update-available-header": {
|
||||
"message": "Dostępna aktualizacja"
|
||||
},
|
||||
"app.instance.confirm-delete.admonition-body": {
|
||||
"message": "Wszystkie dane z Twojej instancji zostaną trwale usunięte, w tym Twoje światy, pliki konfiguracji i jakakolwiek dodana zawartość."
|
||||
},
|
||||
@@ -395,6 +416,9 @@
|
||||
"app.instance.mods.content-type-project": {
|
||||
"message": "projekt"
|
||||
},
|
||||
"app.instance.mods.locked-content": {
|
||||
"message": "Treści w zablokowanej instalacji nie można zmienić."
|
||||
},
|
||||
"app.instance.mods.project-was-added": {
|
||||
"message": "Dodano \"{name}\""
|
||||
},
|
||||
@@ -407,6 +431,9 @@
|
||||
"app.instance.mods.successfully-uploaded": {
|
||||
"message": "Przesyłanie zakończone sukcesem"
|
||||
},
|
||||
"app.instance.share.empty.description": {
|
||||
"message": "Możesz udostępnić tę instalację znajomym!"
|
||||
},
|
||||
"app.instance.share.empty.heading": {
|
||||
"message": "Nie zaproszono żadnych znajomych"
|
||||
},
|
||||
@@ -452,6 +479,12 @@
|
||||
"app.instance.share.sign-in.button": {
|
||||
"message": "Zaloguj się"
|
||||
},
|
||||
"app.instance.shared-instance-already-installed.body": {
|
||||
"message": "Ta przesłana instalacja jest zainstalowana jako <bold>{instanceName} </bold>. Czy na pewno chcesz zainstalować jej kopię?"
|
||||
},
|
||||
"app.instance.shared-instance-already-installed.header": {
|
||||
"message": "Przesłana instalacja jest już zainstalowana"
|
||||
},
|
||||
"app.instance.shared-instance-already-installed.install-anyway": {
|
||||
"message": "Instaluj mimo to"
|
||||
},
|
||||
@@ -461,6 +494,9 @@
|
||||
"app.instance.shared-instance-wrong-account.fallback-username": {
|
||||
"message": "połączone konto"
|
||||
},
|
||||
"app.instance.shared-instance-wrong-account.owner-admonition-body-v2": {
|
||||
"message": "aby zarządzać przesłaną instalacją, gdy to zrobisz, twoja wersja instalacji wyprzedzi instalacje zainstalowaną przez innych użytkowników."
|
||||
},
|
||||
"app.instance.shared-instance-wrong-account.sign-in-as-label": {
|
||||
"message": "Zaloguj się jako"
|
||||
},
|
||||
@@ -470,6 +506,9 @@
|
||||
"app.instance.shared-instance-wrong-account.user-admonition-body-v2": {
|
||||
"message": ", by otrzymywać aktualizacje dla tej udostępnionej instancji."
|
||||
},
|
||||
"app.instance.shared-instance-wrong-account.warning-header": {
|
||||
"message": "Korzystasz z niewłaściwego konta Modrith"
|
||||
},
|
||||
"app.instance.worlds.add-server": {
|
||||
"message": "Dodaj serwer"
|
||||
},
|
||||
@@ -483,7 +522,7 @@
|
||||
"message": "Usuń świat"
|
||||
},
|
||||
"app.instance.worlds.delete-world-modal.warning-body": {
|
||||
"message": "Ten świat zostanie trwale usunięty z tej instancji. Tej akcji nie będzie można cofnąć."
|
||||
"message": "Ten świat zostanie trwale usunięty z tej instancji. Tej akcji nie można cofnąć."
|
||||
},
|
||||
"app.instance.worlds.delete-world-modal.warning-header": {
|
||||
"message": "Usuwanie {name}"
|
||||
@@ -501,7 +540,7 @@
|
||||
"message": "Vanilla"
|
||||
},
|
||||
"app.instance.worlds.no-worlds-description": {
|
||||
"message": "Dodaj serwer lub szukaj, aby rozpocząć"
|
||||
"message": "Dodaj serwer lub go wyszukaj, aby rozpocząć"
|
||||
},
|
||||
"app.instance.worlds.no-worlds-heading": {
|
||||
"message": "Nie dodano żadnych światów ani serwerów"
|
||||
@@ -521,9 +560,57 @@
|
||||
"app.instance.worlds.search-worlds-placeholder": {
|
||||
"message": "Szukaj wśród {count} światów..."
|
||||
},
|
||||
"app.java-detection.cancel": {
|
||||
"message": "Anuluj"
|
||||
},
|
||||
"app.java-detection.columns.actions": {
|
||||
"message": "Akcje"
|
||||
},
|
||||
"app.java-detection.columns.path": {
|
||||
"message": "Ścieżka"
|
||||
},
|
||||
"app.java-detection.columns.version": {
|
||||
"message": "Wersja"
|
||||
},
|
||||
"app.java-detection.no-installations-found": {
|
||||
"message": "Nie znaleziono żadnych instalacji Java."
|
||||
},
|
||||
"app.java-detection.select": {
|
||||
"message": "Wybierz"
|
||||
},
|
||||
"app.java-detection.selected": {
|
||||
"message": "Wybrano"
|
||||
},
|
||||
"app.java-detection.title": {
|
||||
"message": "Wybierz instalację Java"
|
||||
},
|
||||
"app.java-selector.already-installed": {
|
||||
"message": "Już zainstalowano"
|
||||
},
|
||||
"app.java-selector.browse": {
|
||||
"message": "Przeglądaj"
|
||||
},
|
||||
"app.java-selector.detect": {
|
||||
"message": "Wykryj"
|
||||
},
|
||||
"app.java-selector.install-recommended": {
|
||||
"message": "Zainstaluj zalecane"
|
||||
},
|
||||
"app.java-selector.installing": {
|
||||
"message": "Instalowanie..."
|
||||
},
|
||||
"app.java-selector.path.placeholder": {
|
||||
"message": "/path/to/java"
|
||||
},
|
||||
"app.modal.install-to-play.additional-context": {
|
||||
"message": "Dodatkowy kontekst"
|
||||
},
|
||||
"app.modal.install-to-play.additional-context-placeholder": {
|
||||
"message": "Jeżeli to będzie możliwe, dodaj linki i obrazki"
|
||||
},
|
||||
"app.modal.install-to-play.block-user": {
|
||||
"message": "Zablokuj użytkownika"
|
||||
},
|
||||
"app.modal.install-to-play.content-you-are-reporting": {
|
||||
"message": "Instancja, którą zgłaszasz"
|
||||
},
|
||||
@@ -548,6 +635,9 @@
|
||||
"app.modal.install-to-play.mod-count": {
|
||||
"message": "{count, plural, one {# mod} few {# mody} other {# modów}}"
|
||||
},
|
||||
"app.modal.install-to-play.report-description": {
|
||||
"message": "Użyj tego formularza zgłoszeniowego, aby zgłosić przypadki, które naruszają nasze <rules-link>Zasady</rules-link> albo <terms-link>Warunki Korzystania</terms-link>."
|
||||
},
|
||||
"app.modal.install-to-play.report-image-invalid-type": {
|
||||
"message": "Plik nie jest dozwolonym formatem zdjęcia"
|
||||
},
|
||||
@@ -555,28 +645,37 @@
|
||||
"message": "Plik przekracza limit rozmiaru (1MiB)"
|
||||
},
|
||||
"app.modal.install-to-play.report-legal-claims": {
|
||||
"message": "W przypadku powiadomień DMCA lub innych roszczeń prawnych zapoznaj się z naszą <copyright-link>Polityką dotyczącą praw autorskich</copyright-link>."
|
||||
"message": "W przypadku powiadomień DMCA lub innych roszczeń prawnych zapoznaj się z naszą <copyright-link>Polityką Praw Autorskich</copyright-link>."
|
||||
},
|
||||
"app.modal.install-to-play.report-reason": {
|
||||
"message": "Którą zasadę narusza ta instancja?"
|
||||
},
|
||||
"app.modal.install-to-play.report-reason.inappropriate": {
|
||||
"message": "Treści nieodpowiednie"
|
||||
},
|
||||
"app.modal.install-to-play.report-reason.malicious": {
|
||||
"message": "Złośliwe"
|
||||
"message": "Zawiera Złośliwy kod"
|
||||
},
|
||||
"app.modal.install-to-play.report-reason.spam": {
|
||||
"message": "Spam"
|
||||
},
|
||||
"app.modal.install-to-play.report-shared-instance-header": {
|
||||
"message": "Zgłoś udostępnioną instancję"
|
||||
"message": "Zgłoś przesłaną Instalacje"
|
||||
},
|
||||
"app.modal.install-to-play.report-submitted": {
|
||||
"message": "Zgłoszenie przesłane"
|
||||
},
|
||||
"app.modal.install-to-play.report-support-and-bugs": {
|
||||
"message": "W przypadku pytań technicznych prosimy o kontakt z <support-link>Zespołem Obsługi Klienta</support-link>. Aby, zgłosić błąd wejdź na <github-link>GitHub issue</github-link>."
|
||||
},
|
||||
"app.modal.install-to-play.reviewed-files": {
|
||||
"message": "Plik jest sprawdzony tylko, jeżeli został opublikowany na Modrinth, niezależnie od jego formatu (w tym pliki .mrpack)."
|
||||
},
|
||||
"app.modal.install-to-play.shared-instance": {
|
||||
"message": "Wspólna instancja"
|
||||
"message": "Przesłana Instalacja"
|
||||
},
|
||||
"app.modal.install-to-play.shared-instance-content": {
|
||||
"message": "Treści w przesłanej ci instalacji"
|
||||
},
|
||||
"app.modal.install-to-play.unknown-files-description": {
|
||||
"message": "Ta serwerowa paczka modów zawiera pliki, które nie zostały opublikowane na Modrinth. Zalecamy instalowanie plików tylko ze źródeł, którym ufasz."
|
||||
@@ -587,6 +686,9 @@
|
||||
"app.modal.install-to-play.unrecognized-files": {
|
||||
"message": "Nieznane plki"
|
||||
},
|
||||
"app.modal.install-to-play.user-blocked": {
|
||||
"message": "Zablokowano użytkownika"
|
||||
},
|
||||
"app.modal.install-to-play.view-contents": {
|
||||
"message": "Pokaż zawartość"
|
||||
},
|
||||
@@ -603,7 +705,7 @@
|
||||
"message": "Usunięto"
|
||||
},
|
||||
"app.modal.update-to-play.shared-instance-unknown-files-description": {
|
||||
"message": "Ta aktualizacja udostępnionej instancji zawiera pliki, które nie zostały opublikowane na Modrinth. Zalecamy instalowanie plików tylko z źródeł, którym ufasz."
|
||||
"message": "Ta aktualizacja przesłanej instancji zawiera pliki, które nie zostały opublikowane na Modrinth. Zalecamy instalowanie tych plików z źródła, któremu ufasz."
|
||||
},
|
||||
"app.modal.update-to-play.update-required": {
|
||||
"message": "Wymagana jest aktualizacja"
|
||||
@@ -611,6 +713,36 @@
|
||||
"app.modal.update-to-play.update-required-description": {
|
||||
"message": "Aktualizacja jest wymagana, by grać w {name}. Zaktualizuj do najnowszej wersji, aby uruchomić grę."
|
||||
},
|
||||
"app.nav.create-new-instance": {
|
||||
"message": "Utwórz instancję"
|
||||
},
|
||||
"app.nav.home": {
|
||||
"message": "Strona główna"
|
||||
},
|
||||
"app.nav.library": {
|
||||
"message": "Biblioteka"
|
||||
},
|
||||
"app.nav.modrinth-account": {
|
||||
"message": "Konto Modrinth"
|
||||
},
|
||||
"app.nav.modrinth-hosting": {
|
||||
"message": "Modrinth Hosting"
|
||||
},
|
||||
"app.nav.sign-in-to-modrinth-account": {
|
||||
"message": "Zaloguj się na konto Modrinth"
|
||||
},
|
||||
"app.nav.signed-in-as": {
|
||||
"message": "Zalogowano jako <user>{username}</user>"
|
||||
},
|
||||
"app.nav.upgrade-to-modrinth-plus": {
|
||||
"message": "Ulepsz do Modrinth+"
|
||||
},
|
||||
"app.news.title": {
|
||||
"message": "Aktualności"
|
||||
},
|
||||
"app.news.view-all": {
|
||||
"message": "Zobacz wszystkie aktualności"
|
||||
},
|
||||
"app.project.install-button.already-installed": {
|
||||
"message": "Ten projekt jest już zainstalowany"
|
||||
},
|
||||
@@ -620,6 +752,9 @@
|
||||
"app.project.install-context.back-to-browse": {
|
||||
"message": "Powróć do odkrywania"
|
||||
},
|
||||
"app.project.install-context.back-to-instance": {
|
||||
"message": "Powrót do instancji"
|
||||
},
|
||||
"app.project.version.all-versions": {
|
||||
"message": "Wszystkie wersje"
|
||||
},
|
||||
@@ -632,20 +767,104 @@
|
||||
"app.project.versions.already-installed": {
|
||||
"message": "Już zainstalowano"
|
||||
},
|
||||
"app.restarting": {
|
||||
"message": "Uruchamianie ponowne..."
|
||||
},
|
||||
"app.settings.app-version": {
|
||||
"message": "Modrinth App {version}"
|
||||
},
|
||||
"app.settings.default-instance-options.environment-variables.title": {
|
||||
"message": "Zmienne środowiskowe"
|
||||
},
|
||||
"app.settings.default-instance-options.fullscreen.title": {
|
||||
"message": "Pełny ekran"
|
||||
},
|
||||
"app.settings.default-instance-options.height.description": {
|
||||
"message": "Wysokość okna gry po uruchomieniu."
|
||||
},
|
||||
"app.settings.default-instance-options.height.placeholder": {
|
||||
"message": "Wprowadź wysokość..."
|
||||
},
|
||||
"app.settings.default-instance-options.height.title": {
|
||||
"message": "Wysokość"
|
||||
},
|
||||
"app.settings.default-instance-options.java-arguments.placeholder": {
|
||||
"message": "Wprowadź argumenty Java..."
|
||||
},
|
||||
"app.settings.default-instance-options.java-arguments.title": {
|
||||
"message": "Argumenty Java"
|
||||
},
|
||||
"app.settings.default-instance-options.memory-allocation.description": {
|
||||
"message": "Maksymalna ilość pamięci dostępna dla każdej instancji."
|
||||
},
|
||||
"app.settings.default-instance-options.memory-allocation.title": {
|
||||
"message": "Przypisanie pamięci"
|
||||
},
|
||||
"app.settings.default-instance-options.post-exit-hook.description": {
|
||||
"message": "Aktywowane po zamknięciu gry."
|
||||
},
|
||||
"app.settings.default-instance-options.post-exit-hook.placeholder": {
|
||||
"message": "Wprowadź komendę po zamknięciu..."
|
||||
},
|
||||
"app.settings.default-instance-options.post-exit-hook.title": {
|
||||
"message": "Komenda po zamknięciu"
|
||||
},
|
||||
"app.settings.default-instance-options.pre-launch-hook.description": {
|
||||
"message": "Aktywowane przed uruchomieniem instancji."
|
||||
},
|
||||
"app.settings.default-instance-options.pre-launch-hook.placeholder": {
|
||||
"message": "Wpisz komendę przed uruchomieniem..."
|
||||
},
|
||||
"app.settings.default-instance-options.pre-launch-hook.title": {
|
||||
"message": "Komenda przed uruchomieniem"
|
||||
},
|
||||
"app.settings.default-instance-options.width.description": {
|
||||
"message": "Szerokość okna gry po uruchomieniu."
|
||||
},
|
||||
"app.settings.default-instance-options.width.placeholder": {
|
||||
"message": "Wprowadź szerokość..."
|
||||
},
|
||||
"app.settings.default-instance-options.width.title": {
|
||||
"message": "Szerokość"
|
||||
},
|
||||
"app.settings.developer-mode-enabled": {
|
||||
"message": "Tryb dewelopera włączony."
|
||||
},
|
||||
"app.settings.downloading": {
|
||||
"message": "Pobieranie v{version}"
|
||||
},
|
||||
"app.settings.java-installations.location.title": {
|
||||
"message": "Ścieżka do Java {version, number}"
|
||||
},
|
||||
"app.settings.operating-system.macos": {
|
||||
"message": "macOS"
|
||||
},
|
||||
"app.settings.privacy.ads-consent.intro": {
|
||||
"message": "Reklamy pozwalają Modrinth oraz fundują wypłaty twórców. Nasi partnerzy mogą zachować lub uzyskać dostęp ciasteczek w aplikacji, żeby spersonalizować reklamy i zmierzyć wydajność. Możesz optować lub zarządzać preferencjami poniżej."
|
||||
"message": "Reklamy pozwalają na dalsze działanie Modrinth i finansują dochody dla twórców. Nasi partnerzy mogą gromadzić albo uzyskiwać dostęp do plików cookies w celu personalizacji reklam i mierzenia skuteczności."
|
||||
},
|
||||
"app.settings.privacy.discord-rich-presence.description": {
|
||||
"message": "Pokazuj Modrinth App jako aktywność na Discord. Nie wpływa to na Rich Presence dodane do instancji przez mody. Wymaga ponownego uruchomienia aplikacji."
|
||||
},
|
||||
"app.settings.privacy.discord-rich-presence.title": {
|
||||
"message": "Discord Rich Presence"
|
||||
},
|
||||
"app.settings.privacy.telemetry.title": {
|
||||
"message": "Telemetria"
|
||||
},
|
||||
"app.settings.resource-management.maximum-concurrent-downloads.description": {
|
||||
"message": "Ilość plików, które aplikacja może pobierać na raz. Zmniejsz tę wartość, jeśli pobieranie jest niestabilne. Wymaga ponownego uruchomienia aplikacji."
|
||||
},
|
||||
"app.settings.resource-management.maximum-concurrent-writes.description": {
|
||||
"message": "Ilość plików, które aplikacja może zapisywać na dysku na raz. Zmniejsz tę wartość, jeśli często występują błędy wejścia/wyjścia. Wymaga ponownego uruchomienia aplikacji."
|
||||
},
|
||||
"app.settings.sidebar.label.instances": {
|
||||
"message": "Instancje"
|
||||
},
|
||||
"app.settings.tabs.appearance": {
|
||||
"message": "Wygląd"
|
||||
},
|
||||
"app.settings.tabs.default-instance-options": {
|
||||
"message": "Domyślne opcje instancji"
|
||||
"message": "Domyślne opcje gry"
|
||||
},
|
||||
"app.settings.tabs.java-installations": {
|
||||
"message": "Instalacje Java"
|
||||
@@ -659,6 +878,9 @@
|
||||
"app.settings.tabs.resource-management": {
|
||||
"message": "Zarządzanie zasobami"
|
||||
},
|
||||
"app.sidebar.playing-as": {
|
||||
"message": "Graj jako"
|
||||
},
|
||||
"app.skins.add-button": {
|
||||
"message": "Dodaj skórkę"
|
||||
},
|
||||
@@ -681,10 +903,10 @@
|
||||
"message": "Nie udało się odczytać upuszczonego pliku."
|
||||
},
|
||||
"app.skins.dropped-file-error.title": {
|
||||
"message": "Błąd podczas przetwarzania pliku"
|
||||
"message": "Błąd przetwarzania pliku"
|
||||
},
|
||||
"app.skins.ears-feature-notice": {
|
||||
"message": "Ta skórka używa funkcjonalności modyfikacji {ears}"
|
||||
"message": "Ta skórka używa modyfikacji {ears}"
|
||||
},
|
||||
"app.skins.edit-button": {
|
||||
"message": "Edytuj skórkę"
|
||||
@@ -699,10 +921,10 @@
|
||||
"message": "Styl ramion"
|
||||
},
|
||||
"app.skins.modal.arm-style-slim": {
|
||||
"message": "Smukły"
|
||||
"message": "Smukłe"
|
||||
},
|
||||
"app.skins.modal.arm-style-wide": {
|
||||
"message": "Szeroki"
|
||||
"message": "Szerokie"
|
||||
},
|
||||
"app.skins.modal.cape-fallback-name": {
|
||||
"message": "Peleryna"
|
||||
@@ -818,6 +1040,15 @@
|
||||
"app.skins.toggle-ears-features-on": {
|
||||
"message": "Włącz"
|
||||
},
|
||||
"app.survey.no-thanks": {
|
||||
"message": "Nie, dziękuję"
|
||||
},
|
||||
"app.survey.take-survey": {
|
||||
"message": "Weź udział w ankiecie"
|
||||
},
|
||||
"app.survey.title": {
|
||||
"message": "Cześć, użytkowniku Modrinth!"
|
||||
},
|
||||
"app.update-popup.body.download-complete": {
|
||||
"message": "Wersja Modrinth App v{version} została pobrana. Załaduj ponownie, żeby zaktualizować teraz, albo automatycznie, gdy zamkniesz Modrinth App."
|
||||
},
|
||||
@@ -947,6 +1178,18 @@
|
||||
"installation-settings.shared-instance.linked-title": {
|
||||
"message": "Powiązana udostępniona instancja"
|
||||
},
|
||||
"installation-settings.shared-instance.unlink-button": {
|
||||
"message": "Odłącz udostępnioną instancję"
|
||||
},
|
||||
"installation-settings.shared-instance.unlink-description": {
|
||||
"message": "Odłącz lokalną instancję od aktualizacji z udostępnionej instancji."
|
||||
},
|
||||
"installation-settings.shared-instance.unlinking-button": {
|
||||
"message": "Odłączanie..."
|
||||
},
|
||||
"installation-settings.unpublish-shared-instance.modal.admonition-body": {
|
||||
"message": "Spowoduje to usunięcie przesyłanej instalacji z serwerów Modrith. Użytkownicy korzystający z niej na Modrinth App przestaną otrzymywać aktualizacje, ale twoja lokalna instalacja zostanie na tym urządzeniu."
|
||||
},
|
||||
"instance.action.create-shortcut": {
|
||||
"message": "Utwórz skrót"
|
||||
},
|
||||
@@ -1031,6 +1274,21 @@
|
||||
"instance.server-modal.resource-pack": {
|
||||
"message": "Paczka zasobów"
|
||||
},
|
||||
"instance.settings.sharing.active-invites.actions": {
|
||||
"message": "Akcje"
|
||||
},
|
||||
"instance.settings.sharing.active-invites.expires": {
|
||||
"message": "Wygasa"
|
||||
},
|
||||
"instance.settings.sharing.active-invites.title": {
|
||||
"message": "Aktywne zaproszenia"
|
||||
},
|
||||
"instance.settings.sharing.active-invites.uses": {
|
||||
"message": "Użyć"
|
||||
},
|
||||
"instance.settings.sharing.revoke-invite.admonition-header": {
|
||||
"message": "Tej akcji nie można cofnąć"
|
||||
},
|
||||
"instance.settings.tabs.general": {
|
||||
"message": "Ogólne"
|
||||
},
|
||||
@@ -1361,9 +1619,6 @@
|
||||
"minecraft-required.sign-in": {
|
||||
"message": "Zaloguj się do Microsoft"
|
||||
},
|
||||
"modal.modrinth-account-required.cancel-button": {
|
||||
"message": "Anuluj"
|
||||
},
|
||||
"modal.modrinth-account-required.continue-in-browser-heading": {
|
||||
"message": "Kontynuuj w przeglądarce"
|
||||
},
|
||||
@@ -1382,6 +1637,15 @@
|
||||
"modal.modrinth-account-required.sign-in-heading": {
|
||||
"message": "Zaloguj się na konto Modrinth"
|
||||
},
|
||||
"modal.modrinth-account-required.signing-in-header": {
|
||||
"message": "Trwa logowanie"
|
||||
},
|
||||
"modal.modrinth-account-required.support-prompt": {
|
||||
"message": "Masz problem z logowaniem? Skorzystaj z <support>Obsługi klienta</support>"
|
||||
},
|
||||
"modal.modrinth-account-required.waiting-for-browser": {
|
||||
"message": "Oczekiwanie na twoje potwierdzenie..."
|
||||
},
|
||||
"search.filter.locked.instance": {
|
||||
"message": "Podane przez instancję"
|
||||
},
|
||||
@@ -1405,5 +1669,11 @@
|
||||
},
|
||||
"search.filter.locked.server-loader.title": {
|
||||
"message": "Loader jest dostarczony przez serwer"
|
||||
},
|
||||
"settings.sidebar.label.account": {
|
||||
"message": "Konto"
|
||||
},
|
||||
"settings.sidebar.label.display": {
|
||||
"message": "Wyświetlanie"
|
||||
}
|
||||
}
|
||||
|
||||
@@ -48,7 +48,7 @@
|
||||
"message": "Não foi possível salvar os arquivos"
|
||||
},
|
||||
"app.action-bar.install.summary.download-failed": {
|
||||
"message": "A transferência não foi finalizada"
|
||||
"message": "O download não foi concluído"
|
||||
},
|
||||
"app.action-bar.install.summary.instance-not-found": {
|
||||
"message": "Instância não encontrada"
|
||||
@@ -102,7 +102,7 @@
|
||||
"message": "Nenhuma instância em execução"
|
||||
},
|
||||
"app.action-bar.offline": {
|
||||
"message": "Inativo"
|
||||
"message": "Offline"
|
||||
},
|
||||
"app.action-bar.primary-instance": {
|
||||
"message": "Instância principal"
|
||||
@@ -144,19 +144,19 @@
|
||||
"message": "Sua privacidade e como anúncios apoiam o Modrinth"
|
||||
},
|
||||
"app.appearance-settings.advanced-rendering.description": {
|
||||
"message": "Ativa a renderização avançada, como desfoque que talvez afete o desempenho sem renderização acelerada do hardware."
|
||||
"message": "Ativa os efeitos visuais como o desfoque de fundo. Isso talvez reduza o desempenho sem o aceleramento de hardware."
|
||||
},
|
||||
"app.appearance-settings.advanced-rendering.title": {
|
||||
"message": "Renderização avançada"
|
||||
},
|
||||
"app.appearance-settings.color-theme.description": {
|
||||
"message": "Escolha seu tema de cores preferido para o Modrinth App."
|
||||
"message": "Escolha o tema usado pelo Modrinth App."
|
||||
},
|
||||
"app.appearance-settings.color-theme.title": {
|
||||
"message": "Tema de cores"
|
||||
"message": "Tema"
|
||||
},
|
||||
"app.appearance-settings.default-landing-page.description": {
|
||||
"message": "Altera a página que o launcher é aberto."
|
||||
"message": "Escolha a página exibida ao abrir o Modrinth App."
|
||||
},
|
||||
"app.appearance-settings.default-landing-page.home": {
|
||||
"message": "Início"
|
||||
@@ -168,59 +168,68 @@
|
||||
"message": "Página inicial padrão"
|
||||
},
|
||||
"app.appearance-settings.hide-nametag.description": {
|
||||
"message": "Desativa o nametag acima do seu jogador na página de Skins."
|
||||
"message": "Oculta sua nametag acima do jogador na página de seleção de skin."
|
||||
},
|
||||
"app.appearance-settings.hide-nametag.title": {
|
||||
"message": "Ocultar nametag"
|
||||
},
|
||||
"app.appearance-settings.jump-back-into-worlds.description": {
|
||||
"message": "Inclui mundos recentes na seção \"Retomar\" na página inicial."
|
||||
"message": "Exibe os mundos jogados recentemente na seção \"Volte aos mundos\" na página inicial."
|
||||
},
|
||||
"app.appearance-settings.jump-back-into-worlds.title": {
|
||||
"message": "Retomar aos mundos"
|
||||
"message": "Volte aos mundos"
|
||||
},
|
||||
"app.appearance-settings.minimize-launcher.description": {
|
||||
"message": "Minimize o launcher assim que algum processo do Minecraft iniciar."
|
||||
"message": "Minimiza o Modrinth App ao iniciar o Minecraft."
|
||||
},
|
||||
"app.appearance-settings.minimize-launcher.title": {
|
||||
"message": "Minimizar launcher"
|
||||
"message": "Minimizar aplicativo"
|
||||
},
|
||||
"app.appearance-settings.native-decorations.description": {
|
||||
"message": "Usar molduras de janela do sistema (exige reinicialização do aplicativo)."
|
||||
"message": "Usa a barra de título e os controles de janela do seu sistema operacional. Exige a reinicialização do aplicativo."
|
||||
},
|
||||
"app.appearance-settings.native-decorations.title": {
|
||||
"message": "Decorações nativas"
|
||||
"message": "Moldura de janela do sistema"
|
||||
},
|
||||
"app.appearance-settings.show-play-time.description": {
|
||||
"message": "Exibe a quantidade de tempo jogado de uma instância."
|
||||
"message": "Exibe o tempo de jogo de cada instância."
|
||||
},
|
||||
"app.appearance-settings.show-play-time.title": {
|
||||
"message": "Exibir tempo jogado"
|
||||
"message": "Exibir tempo de jogo"
|
||||
},
|
||||
"app.appearance-settings.skip-non-essential-warnings.description": {
|
||||
"message": "Pula automaticamente as confirmações desnecessárias como duplica de instalação de pacotes de mods, exclusão de conteúdo normal, atualizações em massa, desvinculo de pacotes de mods e diálogos de reparo. Os avisos de perigo ainda serão exibidos."
|
||||
"message": "Ignora as confirmações para ações de baixo risco como instalações duplicadas, exclusão de conteúdo normal, atualizações em massa, desvinculação e reparos. Os avisos para ações perigosas sempre são mostrados."
|
||||
},
|
||||
"app.appearance-settings.skip-non-essential-warnings.title": {
|
||||
"message": "Ignorar avisos desnecessários"
|
||||
},
|
||||
"app.appearance-settings.toggle-sidebar.description": {
|
||||
"message": "Permite alternar a barra lateral."
|
||||
"message": "Oculta a barra lateral direita por padrão e adiciona um botão para mostrar ou ocultar."
|
||||
},
|
||||
"app.appearance-settings.toggle-sidebar.title": {
|
||||
"message": "Alternar barra lateral"
|
||||
"message": "Ocultar barra lateral direita"
|
||||
},
|
||||
"app.appearance-settings.unknown-pack-warning.description": {
|
||||
"message": "Se você tentar instalar um arquivo Modrinth Pack (.mrpack) não hospedado no Modrinth, garantiremos que você entenda os riscos antes de instalar."
|
||||
"message": "Exibe um aviso de segurança ao instalar um Modrinth Pack (.mrpack) que não seja hospedado no Modrinth."
|
||||
},
|
||||
"app.appearance-settings.unknown-pack-warning.title": {
|
||||
"message": "Avise-me antes de instalar pacotes de mods desconhecidos"
|
||||
},
|
||||
"app.auth-servers.unreachable.body": {
|
||||
"message": "Os servidores de autenticação do Minecraft podem estar indisponíveis no momento. Verifique sua conexão com a rede e tente novamente mais tarde."
|
||||
"message": "Os servidores de autenticação do Minecraft talvez estejam indisponíveis no momento. Verifique sua conexão com a internet e tente novamente mais tarde."
|
||||
},
|
||||
"app.auth-servers.unreachable.header": {
|
||||
"message": "Não foi possível acessar os servidores de autenticação"
|
||||
},
|
||||
"app.behavior-settings.confirmations.title": {
|
||||
"message": "Confirmações"
|
||||
},
|
||||
"app.behavior-settings.content.title": {
|
||||
"message": "Início e conteúdo"
|
||||
},
|
||||
"app.behavior-settings.startup-and-navigation.title": {
|
||||
"message": "Inicialização e navegação"
|
||||
},
|
||||
"app.browse.add-servers-to-instance": {
|
||||
"message": "Adicionando servidor à instância"
|
||||
},
|
||||
@@ -242,12 +251,18 @@
|
||||
"app.browse.back-to-instance": {
|
||||
"message": "Voltar à instância"
|
||||
},
|
||||
"app.browse.discover-project-type": {
|
||||
"message": "Descobrir {projectType}"
|
||||
},
|
||||
"app.browse.discover-servers": {
|
||||
"message": "Descobrir servidores"
|
||||
},
|
||||
"app.browse.hide-added-servers": {
|
||||
"message": "Ocultar servidores já adicionados"
|
||||
},
|
||||
"app.browse.hide-installed-modpacks": {
|
||||
"message": "Ocultar já instalado"
|
||||
},
|
||||
"app.browse.project-type.modpacks": {
|
||||
"message": "Pacotes de mods"
|
||||
},
|
||||
@@ -345,7 +360,7 @@
|
||||
"message": "Suas alterações ainda não foram compartilhadas"
|
||||
},
|
||||
"app.instance.admonitions.shared-instance.publish-button": {
|
||||
"message": "Atualização de publicação"
|
||||
"message": "Publicar atualização"
|
||||
},
|
||||
"app.instance.admonitions.shared-instance.publishing-button": {
|
||||
"message": "Publicando..."
|
||||
@@ -354,7 +369,7 @@
|
||||
"message": "Removido"
|
||||
},
|
||||
"app.instance.admonitions.shared-instance.review-admonition-header": {
|
||||
"message": "Atualização de publicação"
|
||||
"message": "Publicar atualização"
|
||||
},
|
||||
"app.instance.admonitions.shared-instance.review-description": {
|
||||
"message": "Revise as alterações de conteúdo que serão compartilhadas com todos os usuários desta instância."
|
||||
@@ -362,9 +377,18 @@
|
||||
"app.instance.admonitions.shared-instance.review-header": {
|
||||
"message": "Revisar alterações"
|
||||
},
|
||||
"app.instance.admonitions.shared-instance.review-update-button": {
|
||||
"message": "Revisar atualização"
|
||||
},
|
||||
"app.instance.admonitions.shared-instance.reviewing-button": {
|
||||
"message": "Revisando..."
|
||||
},
|
||||
"app.instance.admonitions.shared-instance.update-available-body": {
|
||||
"message": "Uma atualização é necessária para jogar {name}. Atualize para a versão mais recente para iniciar o jogo."
|
||||
},
|
||||
"app.instance.admonitions.shared-instance.update-available-header": {
|
||||
"message": "Uma atualização está disponível"
|
||||
},
|
||||
"app.instance.confirm-delete.admonition-body": {
|
||||
"message": "Todos os dados para sua instância serão excluídos permanentemente, incluindo seus mundos, configs e todo o conteúdo instalado."
|
||||
},
|
||||
@@ -431,6 +455,9 @@
|
||||
"app.instance.share.invite-modal.heading": {
|
||||
"message": "Compartilhar {name}"
|
||||
},
|
||||
"app.instance.share.invite-modal.user-limit-reached": {
|
||||
"message": "Esta instância já alcançou limite de usuários de {limit}."
|
||||
},
|
||||
"app.instance.share.locked.empty-description-prefix": {
|
||||
"message": "Você precisa iniciar sessão como"
|
||||
},
|
||||
@@ -449,6 +476,12 @@
|
||||
"app.instance.share.locked.wrong-account-heading": {
|
||||
"message": "Conta errada"
|
||||
},
|
||||
"app.instance.share.members.empty": {
|
||||
"message": "Nenhum usuário entrou ainda"
|
||||
},
|
||||
"app.instance.share.members.no-filter-results": {
|
||||
"message": "Nenhum usuário corresponde seus filtros."
|
||||
},
|
||||
"app.instance.share.remove-user-modal.effect-access": {
|
||||
"message": "Eles não receberão mais atualizações para esta instância compartilhada"
|
||||
},
|
||||
@@ -479,6 +512,12 @@
|
||||
"app.instance.share.sign-in.button": {
|
||||
"message": "Iniciar sessão"
|
||||
},
|
||||
"app.instance.share.unable-to-connect.description": {
|
||||
"message": "O serviço de instâncias compartilhadas não está acessível no momento, tente novamente mais tarde"
|
||||
},
|
||||
"app.instance.share.unable-to-connect.heading": {
|
||||
"message": "Não foi possível conectar"
|
||||
},
|
||||
"app.instance.share.unlink.body": {
|
||||
"message": "Você precisa desvincular este pacote de mods para compartilhar sua instância"
|
||||
},
|
||||
@@ -537,7 +576,7 @@
|
||||
"message": "Modificado"
|
||||
},
|
||||
"app.instance.worlds.filter-offline": {
|
||||
"message": "Inativo"
|
||||
"message": "Offline"
|
||||
},
|
||||
"app.instance.worlds.filter-online": {
|
||||
"message": "Ativo"
|
||||
@@ -551,6 +590,9 @@
|
||||
"app.instance.worlds.no-worlds-heading": {
|
||||
"message": "Nenhum servidor ou mundo adicionado"
|
||||
},
|
||||
"app.instance.worlds.refreshing": {
|
||||
"message": "Recarregando..."
|
||||
},
|
||||
"app.instance.worlds.remove-server-modal.remove-button": {
|
||||
"message": "Remover servidor"
|
||||
},
|
||||
@@ -566,12 +608,60 @@
|
||||
"app.instance.worlds.search-worlds-placeholder": {
|
||||
"message": "Buscar {count} mundos..."
|
||||
},
|
||||
"app.java-detection.cancel": {
|
||||
"message": "Cancelar"
|
||||
},
|
||||
"app.java-detection.columns.actions": {
|
||||
"message": "Ações"
|
||||
},
|
||||
"app.java-detection.columns.path": {
|
||||
"message": "Caminho"
|
||||
},
|
||||
"app.java-detection.columns.version": {
|
||||
"message": "Versão"
|
||||
},
|
||||
"app.java-detection.no-installations-found": {
|
||||
"message": "Nenhuma instalação Java encontrada."
|
||||
},
|
||||
"app.java-detection.select": {
|
||||
"message": "Selecionar"
|
||||
},
|
||||
"app.java-detection.selected": {
|
||||
"message": "Selecionado"
|
||||
},
|
||||
"app.java-detection.title": {
|
||||
"message": "Selecionar instalação Java"
|
||||
},
|
||||
"app.java-selector.already-installed": {
|
||||
"message": "Já instalado"
|
||||
},
|
||||
"app.java-selector.browse": {
|
||||
"message": "Navegar"
|
||||
},
|
||||
"app.java-selector.detect": {
|
||||
"message": "Detectar"
|
||||
},
|
||||
"app.java-selector.install-recommended": {
|
||||
"message": "Instalação recomendada"
|
||||
},
|
||||
"app.java-selector.installing": {
|
||||
"message": "Instalando..."
|
||||
},
|
||||
"app.java-selector.path.placeholder": {
|
||||
"message": "/caminho/ao/java"
|
||||
},
|
||||
"app.java-selector.test-installation": {
|
||||
"message": "Instalação de teste Java"
|
||||
},
|
||||
"app.modal.install-to-play.additional-context": {
|
||||
"message": "Contexto adicional"
|
||||
},
|
||||
"app.modal.install-to-play.additional-context-placeholder": {
|
||||
"message": "Incluir links e imagens se possível e relevante"
|
||||
},
|
||||
"app.modal.install-to-play.block-user": {
|
||||
"message": "Bloquear usuário"
|
||||
},
|
||||
"app.modal.install-to-play.content-you-are-reporting": {
|
||||
"message": "Instância que está denunciando"
|
||||
},
|
||||
@@ -593,6 +683,9 @@
|
||||
"app.modal.install-to-play.invite-warning": {
|
||||
"message": "Este convite foi criado por outro usuário do Modrinth, não pelo próprio Modrinth. Só aceite convites de pessoas que você confia."
|
||||
},
|
||||
"app.modal.install-to-play.invite-warning-with-creator": {
|
||||
"message": "Este convite foi criado por <creator>{username}</creator>, não pelo Modrinth. Aceite apenas convites de pessoas que você confia."
|
||||
},
|
||||
"app.modal.install-to-play.mod-count": {
|
||||
"message": "{count, plural, =0 {Nenhum mod} one {# mod} other {# mods}}"
|
||||
},
|
||||
@@ -650,6 +743,9 @@
|
||||
"app.modal.install-to-play.unrecognized-files": {
|
||||
"message": "Arquivos não reconhecidos"
|
||||
},
|
||||
"app.modal.install-to-play.user-blocked": {
|
||||
"message": "Usuário bloqueado"
|
||||
},
|
||||
"app.modal.install-to-play.view-contents": {
|
||||
"message": "Ver conteúdo"
|
||||
},
|
||||
@@ -677,6 +773,36 @@
|
||||
"app.modal.update-to-play.update-required-description": {
|
||||
"message": "Uma atualização é necessária para jogar {name}. Atualize para a versão mais recente para iniciar o jogo."
|
||||
},
|
||||
"app.nav.create-new-instance": {
|
||||
"message": "Criar instância nova"
|
||||
},
|
||||
"app.nav.home": {
|
||||
"message": "Início"
|
||||
},
|
||||
"app.nav.library": {
|
||||
"message": "Biblioteca"
|
||||
},
|
||||
"app.nav.modrinth-account": {
|
||||
"message": "Conta Modrinth"
|
||||
},
|
||||
"app.nav.modrinth-hosting": {
|
||||
"message": "Modrinth Hosting"
|
||||
},
|
||||
"app.nav.sign-in-to-modrinth-account": {
|
||||
"message": "Iniciar sessão em uma conta Modrinth"
|
||||
},
|
||||
"app.nav.signed-in-as": {
|
||||
"message": "Conectado como <user>{username}</user>"
|
||||
},
|
||||
"app.nav.upgrade-to-modrinth-plus": {
|
||||
"message": "Assinar o Modrinth+"
|
||||
},
|
||||
"app.news.title": {
|
||||
"message": "Notícias"
|
||||
},
|
||||
"app.news.view-all": {
|
||||
"message": "Ver todas as notícias"
|
||||
},
|
||||
"app.project.install-button.already-installed": {
|
||||
"message": "Este projeto já foi instalado"
|
||||
},
|
||||
@@ -686,6 +812,9 @@
|
||||
"app.project.install-context.back-to-browse": {
|
||||
"message": "Voltar a descobrir"
|
||||
},
|
||||
"app.project.install-context.back-to-instance": {
|
||||
"message": "Voltar à instância"
|
||||
},
|
||||
"app.project.version.all-versions": {
|
||||
"message": "Todas as versões"
|
||||
},
|
||||
@@ -698,23 +827,191 @@
|
||||
"app.project.versions.already-installed": {
|
||||
"message": "Já instalado"
|
||||
},
|
||||
"app.quick-instance-switcher.drag-show-tooltip": {
|
||||
"message": "Arraste para exibir instâncias recentes"
|
||||
},
|
||||
"app.quick-instance-switcher.drag-tooltip": {
|
||||
"message": "Arraste para redimensionar"
|
||||
},
|
||||
"app.restarting": {
|
||||
"message": "Reiniciando..."
|
||||
},
|
||||
"app.settings.app-version": {
|
||||
"message": "Modrinth App {version}"
|
||||
},
|
||||
"app.settings.default-instance-options.environment-variables.description": {
|
||||
"message": "As variáveis do ambiente definidas ao iniciar uma instância."
|
||||
},
|
||||
"app.settings.default-instance-options.environment-variables.placeholder": {
|
||||
"message": "Insira as variáveis do ambiente..."
|
||||
},
|
||||
"app.settings.default-instance-options.environment-variables.title": {
|
||||
"message": "Variáveis de ambiente"
|
||||
},
|
||||
"app.settings.default-instance-options.fullscreen.description": {
|
||||
"message": "Inicia as instâncias em tela cheia ao atualizar o arquivo options.txt."
|
||||
},
|
||||
"app.settings.default-instance-options.fullscreen.title": {
|
||||
"message": "Tela cheia"
|
||||
},
|
||||
"app.settings.default-instance-options.height.description": {
|
||||
"message": "A altura da janela ao iniciar o jogo."
|
||||
},
|
||||
"app.settings.default-instance-options.height.placeholder": {
|
||||
"message": "Insira a altura..."
|
||||
},
|
||||
"app.settings.default-instance-options.height.title": {
|
||||
"message": "Altura"
|
||||
},
|
||||
"app.settings.default-instance-options.java-arguments.description": {
|
||||
"message": "Os argumentos passados para o Java ao iniciar uma instância."
|
||||
},
|
||||
"app.settings.default-instance-options.java-arguments.placeholder": {
|
||||
"message": "Insira os argumentos Java..."
|
||||
},
|
||||
"app.settings.default-instance-options.java-arguments.title": {
|
||||
"message": "Argumentos Java"
|
||||
},
|
||||
"app.settings.default-instance-options.memory-allocation.description": {
|
||||
"message": "O máximo de memória disponível para cada instância."
|
||||
},
|
||||
"app.settings.default-instance-options.memory-allocation.title": {
|
||||
"message": "Alocação de memória"
|
||||
},
|
||||
"app.settings.default-instance-options.post-exit-hook.description": {
|
||||
"message": "Executa após o jogo fechar."
|
||||
},
|
||||
"app.settings.default-instance-options.post-exit-hook.placeholder": {
|
||||
"message": "Insira o comando ao sair..."
|
||||
},
|
||||
"app.settings.default-instance-options.post-exit-hook.title": {
|
||||
"message": "Hook ao sair"
|
||||
},
|
||||
"app.settings.default-instance-options.pre-launch-hook.description": {
|
||||
"message": "Executa antes da instância iniciar."
|
||||
},
|
||||
"app.settings.default-instance-options.pre-launch-hook.placeholder": {
|
||||
"message": "Insira o comando ao iniciar..."
|
||||
},
|
||||
"app.settings.default-instance-options.pre-launch-hook.title": {
|
||||
"message": "Hook ao iniciar"
|
||||
},
|
||||
"app.settings.default-instance-options.width.description": {
|
||||
"message": "A largura da janela ao iniciar o jogo."
|
||||
},
|
||||
"app.settings.default-instance-options.width.placeholder": {
|
||||
"message": "Insira a largura..."
|
||||
},
|
||||
"app.settings.default-instance-options.width.title": {
|
||||
"message": "Largura"
|
||||
},
|
||||
"app.settings.default-instance-options.wrapper-hook.description": {
|
||||
"message": "O comando usado para auxiliar o processo de inicialização do Minecraft."
|
||||
},
|
||||
"app.settings.default-instance-options.wrapper-hook.placeholder": {
|
||||
"message": "Insira um comando auxiliar..."
|
||||
},
|
||||
"app.settings.default-instance-options.wrapper-hook.title": {
|
||||
"message": "Hook auxiliar"
|
||||
},
|
||||
"app.settings.developer-mode-button.label": {
|
||||
"message": "Alternar modo desenvolvedor"
|
||||
},
|
||||
"app.settings.developer-mode-enabled": {
|
||||
"message": "Modo desenvolvedor ativado."
|
||||
},
|
||||
"app.settings.downloading": {
|
||||
"message": "Baixando v{version}"
|
||||
},
|
||||
"app.settings.java-installations.location.title": {
|
||||
"message": "Localização Java {version, number}"
|
||||
},
|
||||
"app.settings.operating-system.macos": {
|
||||
"message": "macOS"
|
||||
},
|
||||
"app.settings.privacy.ads-consent.intro": {
|
||||
"message": "Anúncios tornam o Modrinth possível e financiam os pagamentos dos criadores. Nossos parceiros talvez armazenem ou acessem os cookies no aplicativo para personalizar anúncios e medir o desempenho. Você pode recusar ou gerenciar suas preferências abaixo."
|
||||
},
|
||||
"app.settings.privacy.discord-rich-presence.description": {
|
||||
"message": "Exibe o Modrinth App como sua atividade atual no Discord. Isso não afeta a Presença Rica adicionada às instâncias por mods. Exige a reinicialização do aplicativo."
|
||||
},
|
||||
"app.settings.privacy.discord-rich-presence.title": {
|
||||
"message": "Presença Rica do Discord"
|
||||
},
|
||||
"app.settings.privacy.telemetry.description": {
|
||||
"message": "O Modrinth coleta analíticas anonimizadas e uso de dados para aprimorar nossa experiência de usuário e personalizar sua experiência. Ao desativar esta opção, você negará e seus dados não serão mais coletados."
|
||||
},
|
||||
"app.settings.privacy.telemetry.title": {
|
||||
"message": "Telemetria"
|
||||
},
|
||||
"app.settings.resource-management.always-show-copy-details.description": {
|
||||
"message": "Exibe a ação de copiar detalhes caso uma instalação esteja na fila ou em execução. Essa opção está sempre disponível para instalações interrompidas ou falhas."
|
||||
},
|
||||
"app.settings.resource-management.always-show-copy-details.title": {
|
||||
"message": "Sempre exibir copiar detalhes"
|
||||
},
|
||||
"app.settings.resource-management.app-cache.confirm.description": {
|
||||
"message": "O aplicativo talvez carregue mais lentamente até o cache ser refeito."
|
||||
},
|
||||
"app.settings.resource-management.app-cache.confirm.title": {
|
||||
"message": "Purgar cache do aplicativo?"
|
||||
},
|
||||
"app.settings.resource-management.app-cache.description": {
|
||||
"message": "Limpe o dado cache e baixe-o novamente do Modrinth. O aplicativo talvez carregue mais lentamente até o cache ser refeito."
|
||||
},
|
||||
"app.settings.resource-management.app-cache.purge": {
|
||||
"message": "Purgar cache"
|
||||
},
|
||||
"app.settings.resource-management.app-cache.title": {
|
||||
"message": "Cache do aplicativo"
|
||||
},
|
||||
"app.settings.resource-management.app-database-backups.description": {
|
||||
"message": "Os backups dos dados de aplicativos importantes são armazenados aqui caso você precise recuperá-los depois."
|
||||
},
|
||||
"app.settings.resource-management.app-database-backups.open-folder": {
|
||||
"message": "Abrir pasta de backups"
|
||||
},
|
||||
"app.settings.resource-management.app-database-backups.title": {
|
||||
"message": "Backups do banco de dados do aplicativo"
|
||||
},
|
||||
"app.settings.resource-management.app-directory.browse": {
|
||||
"message": "Buscar por um diretório de aplicativo"
|
||||
},
|
||||
"app.settings.resource-management.app-directory.description": {
|
||||
"message": "Onde o Modrinth App armazena as instâncias e outros arquivos. As mudanças serão aplicadas após reiniciar o aplicativo."
|
||||
},
|
||||
"app.settings.resource-management.app-directory.select": {
|
||||
"message": "Selecione um novo diretório de aplicativo"
|
||||
},
|
||||
"app.settings.resource-management.app-directory.title": {
|
||||
"message": "Diretório de aplicativo"
|
||||
},
|
||||
"app.settings.resource-management.maximum-concurrent-downloads.description": {
|
||||
"message": "O número de arquivos que o aplicativo pode baixar de uma só vez. Reduza se os downloads causam instabilidade em sua conexão. Exige a reinicialização do aplicativo."
|
||||
},
|
||||
"app.settings.resource-management.maximum-concurrent-downloads.title": {
|
||||
"message": "Máximo de downloads simultâneos"
|
||||
},
|
||||
"app.settings.resource-management.maximum-concurrent-writes.description": {
|
||||
"message": "O número de arquivos que o aplicativo pode escrever no disco de uma só vez. Reduza caso você se depara com erros I/O frequentemente. Exige a reinicialização do aplicativo."
|
||||
},
|
||||
"app.settings.resource-management.maximum-concurrent-writes.title": {
|
||||
"message": "Máximo de escritas simultâneas"
|
||||
},
|
||||
"app.settings.sidebar.label.instances": {
|
||||
"message": "Instâncias"
|
||||
},
|
||||
"app.settings.tabs.appearance": {
|
||||
"message": "Aparência"
|
||||
},
|
||||
"app.settings.tabs.behavior": {
|
||||
"message": "Comportamento"
|
||||
},
|
||||
"app.settings.tabs.default-instance-options": {
|
||||
"message": "Opções da instância"
|
||||
"message": "Configurações padrão do jogo"
|
||||
},
|
||||
"app.settings.tabs.java-installations": {
|
||||
"message": "Instalações do Java"
|
||||
"message": "Instalações Java"
|
||||
},
|
||||
"app.settings.tabs.language": {
|
||||
"message": "Idioma"
|
||||
@@ -725,6 +1022,9 @@
|
||||
"app.settings.tabs.resource-management": {
|
||||
"message": "Gerenciamento de recursos"
|
||||
},
|
||||
"app.sidebar.playing-as": {
|
||||
"message": "Jogando como"
|
||||
},
|
||||
"app.skins.add-button": {
|
||||
"message": "Adicionar skin"
|
||||
},
|
||||
@@ -884,6 +1184,21 @@
|
||||
"app.skins.toggle-ears-features-on": {
|
||||
"message": "Ativar"
|
||||
},
|
||||
"app.survey.body": {
|
||||
"message": "Você se importaria de responder algumas perguntas sobre sua experiência com o Modrinth App?"
|
||||
},
|
||||
"app.survey.footer": {
|
||||
"message": "Este comentário vai diretamente para a equipe Modrinth e ajudará a guiar futuras atualizações!"
|
||||
},
|
||||
"app.survey.no-thanks": {
|
||||
"message": "Não, obrigado"
|
||||
},
|
||||
"app.survey.take-survey": {
|
||||
"message": "Responder"
|
||||
},
|
||||
"app.survey.title": {
|
||||
"message": "Ei, usuário do Modrinth!"
|
||||
},
|
||||
"app.update-popup.body.download-complete": {
|
||||
"message": "O Modrinth App v{version} já foi instalado. Recarregue para atualizar agora ou ela será feita automaticamente ao fechar o Modrinth App."
|
||||
},
|
||||
@@ -927,10 +1242,10 @@
|
||||
"message": "Ainda não jogado"
|
||||
},
|
||||
"app.world.world-item.offline": {
|
||||
"message": "Inativo"
|
||||
"message": "Offline"
|
||||
},
|
||||
"app.world.world-item.players-online": {
|
||||
"message": "{count} ativo(s)"
|
||||
"message": "{count} online"
|
||||
},
|
||||
"content.shared-instance.change-version-body": {
|
||||
"message": "Alterar a versão modifica apenas a sua cópia local. Atualizações futuras da instância compartilhada podem restaurá-la ou alterá-la novamente."
|
||||
@@ -1160,6 +1475,45 @@
|
||||
"instance.server-modal.resource-pack": {
|
||||
"message": "Pacote de recursos"
|
||||
},
|
||||
"instance.settings.sharing.active-invites.actions": {
|
||||
"message": "Ações"
|
||||
},
|
||||
"instance.settings.sharing.active-invites.code": {
|
||||
"message": "Link de convite"
|
||||
},
|
||||
"instance.settings.sharing.active-invites.description": {
|
||||
"message": "Qualquer um com algum desses links de convite pode entrar enquanto permanecem ativos."
|
||||
},
|
||||
"instance.settings.sharing.active-invites.empty": {
|
||||
"message": "Não há nenhum convite ativo."
|
||||
},
|
||||
"instance.settings.sharing.active-invites.expires": {
|
||||
"message": "Expira"
|
||||
},
|
||||
"instance.settings.sharing.active-invites.revoke": {
|
||||
"message": "Revogar convite"
|
||||
},
|
||||
"instance.settings.sharing.active-invites.revoke-with-code": {
|
||||
"message": "Revogar convite {code}"
|
||||
},
|
||||
"instance.settings.sharing.active-invites.title": {
|
||||
"message": "Convites ativos"
|
||||
},
|
||||
"instance.settings.sharing.active-invites.uses": {
|
||||
"message": "Usos"
|
||||
},
|
||||
"instance.settings.sharing.revoke-invite.admonition-body": {
|
||||
"message": "Este link de convite <monospace>{code}</monospace> deixará de funcionar imediatamente. As pessoas que já entraram ainda permanecerão com acesso."
|
||||
},
|
||||
"instance.settings.sharing.revoke-invite.admonition-header": {
|
||||
"message": "Esta ação não pode ser desfeita"
|
||||
},
|
||||
"instance.settings.sharing.revoke-invite.confirm": {
|
||||
"message": "Revogar convite"
|
||||
},
|
||||
"instance.settings.sharing.revoke-invite.header": {
|
||||
"message": "Revogar convite"
|
||||
},
|
||||
"instance.settings.tabs.general": {
|
||||
"message": "Geral"
|
||||
},
|
||||
@@ -1361,6 +1715,12 @@
|
||||
"instance.shared-instance.error.title": {
|
||||
"message": "Algo deu errado"
|
||||
},
|
||||
"instance.shared-instance.network-error.text": {
|
||||
"message": "Não foi possível conectar a API da instância compartilhada"
|
||||
},
|
||||
"instance.shared-instance.network-error.title": {
|
||||
"message": "Erro de conexão"
|
||||
},
|
||||
"instance.shared-instance.owner-tooltip": {
|
||||
"message": "O conteúdo desta instância está sendo compartilhado com outros usuários."
|
||||
},
|
||||
@@ -1428,7 +1788,7 @@
|
||||
"message": "A instância já está aberta"
|
||||
},
|
||||
"instance.worlds.hardcore": {
|
||||
"message": "Modo Intenso"
|
||||
"message": "Modo intenso"
|
||||
},
|
||||
"instance.worlds.incompatible_server": {
|
||||
"message": "Servidor incompatível"
|
||||
@@ -1496,9 +1856,6 @@
|
||||
"modal.modrinth-account-required.browser-description": {
|
||||
"message": "Uma nova aba foi aberta para iniciar sessão. Conclua lá, então volte ao aplicativo."
|
||||
},
|
||||
"modal.modrinth-account-required.cancel-button": {
|
||||
"message": "Cancelar"
|
||||
},
|
||||
"modal.modrinth-account-required.continue-in-browser-heading": {
|
||||
"message": "Continuar em seu navegador"
|
||||
},
|
||||
@@ -1552,5 +1909,11 @@
|
||||
},
|
||||
"search.filter.locked.server-loader.title": {
|
||||
"message": "O loader é fornecido pelo servidor"
|
||||
},
|
||||
"settings.sidebar.label.account": {
|
||||
"message": "Conta"
|
||||
},
|
||||
"settings.sidebar.label.display": {
|
||||
"message": "Visualização"
|
||||
}
|
||||
}
|
||||
|
||||
@@ -140,21 +140,12 @@
|
||||
"app.ads-consent.title": {
|
||||
"message": "A sua privacidade e como os anúncios são financiados pela Modrinth"
|
||||
},
|
||||
"app.appearance-settings.advanced-rendering.description": {
|
||||
"message": "Ativa a renderização avançada, como efeitos de desfoque, que podem causar problemas de desempenho sem o uso de renderização acelerada por hardware."
|
||||
},
|
||||
"app.appearance-settings.advanced-rendering.title": {
|
||||
"message": "Renderização avançada"
|
||||
},
|
||||
"app.appearance-settings.color-theme.description": {
|
||||
"message": "Seleciona a tua cor preferida para a Modrinth App."
|
||||
},
|
||||
"app.appearance-settings.color-theme.title": {
|
||||
"message": "Cor de tema"
|
||||
},
|
||||
"app.appearance-settings.default-landing-page.description": {
|
||||
"message": "Mudar a página em que o launcher abre."
|
||||
},
|
||||
"app.appearance-settings.default-landing-page.home": {
|
||||
"message": "Casa"
|
||||
},
|
||||
@@ -164,51 +155,18 @@
|
||||
"app.appearance-settings.default-landing-page.title": {
|
||||
"message": "Página de carregamento principal"
|
||||
},
|
||||
"app.appearance-settings.hide-nametag.description": {
|
||||
"message": "Desativa o nametag acima do seu player na página de skins."
|
||||
},
|
||||
"app.appearance-settings.hide-nametag.title": {
|
||||
"message": "Ocultar nametag"
|
||||
},
|
||||
"app.appearance-settings.jump-back-into-worlds.description": {
|
||||
"message": "Inclui mundos recentes na secção \"Voltar à ação\" na página inicial."
|
||||
},
|
||||
"app.appearance-settings.jump-back-into-worlds.title": {
|
||||
"message": "Volte aos mundos"
|
||||
},
|
||||
"app.appearance-settings.minimize-launcher.description": {
|
||||
"message": "Minimiza o inicializador quando um processo Minecraft é iniciado."
|
||||
},
|
||||
"app.appearance-settings.minimize-launcher.title": {
|
||||
"message": "Minimizar launcher"
|
||||
},
|
||||
"app.appearance-settings.native-decorations.description": {
|
||||
"message": "Utilizar a moldura da janela do sistema (é necessário reiniciar a aplicação)."
|
||||
},
|
||||
"app.appearance-settings.native-decorations.title": {
|
||||
"message": "Decorações nativas"
|
||||
},
|
||||
"app.appearance-settings.show-play-time.description": {
|
||||
"message": "Apresenta quanto tempo passou a jogar uma instância."
|
||||
},
|
||||
"app.appearance-settings.show-play-time.title": {
|
||||
"message": "Mostrar tempo de jogo"
|
||||
},
|
||||
"app.appearance-settings.skip-non-essential-warnings.description": {
|
||||
"message": "Ignora automaticamente confirmações de baixo risco, como instalações duplicadas de pacotes de mods, eliminação normal de conteúdo, atualizações em massa, desvinculação de pacotes de mods e pedidos de reparação. Os avisos de perigo ainda serão exibidos."
|
||||
},
|
||||
"app.appearance-settings.skip-non-essential-warnings.title": {
|
||||
"message": "Ignorar avisos não essenciais"
|
||||
},
|
||||
"app.appearance-settings.toggle-sidebar.description": {
|
||||
"message": "Permite ativar/desativar a barra lateral."
|
||||
},
|
||||
"app.appearance-settings.toggle-sidebar.title": {
|
||||
"message": "Ativar/desativar Barra lateral"
|
||||
},
|
||||
"app.appearance-settings.unknown-pack-warning.description": {
|
||||
"message": "Se tentar instalar um ficheiro Modrinth Pack (.mrpack) que não esteja alojado no Modrinth, iremos garantir que compreende os riscos antes de o instalar."
|
||||
},
|
||||
"app.appearance-settings.unknown-pack-warning.title": {
|
||||
"message": "Avise-me antes de instalar pacotes de mods desconhecidos."
|
||||
},
|
||||
@@ -503,9 +461,6 @@
|
||||
"app.settings.tabs.appearance": {
|
||||
"message": "Aparência"
|
||||
},
|
||||
"app.settings.tabs.default-instance-options": {
|
||||
"message": "Opções padrão de instância"
|
||||
},
|
||||
"app.settings.tabs.java-installations": {
|
||||
"message": "Instalações Java"
|
||||
},
|
||||
|
||||
@@ -32,9 +32,6 @@
|
||||
"app.settings.tabs.appearance": {
|
||||
"message": "Aspect"
|
||||
},
|
||||
"app.settings.tabs.default-instance-options": {
|
||||
"message": "Opțiuni implicite instanță"
|
||||
},
|
||||
"app.settings.tabs.java-installations": {
|
||||
"message": "Instalări Java"
|
||||
},
|
||||
|
||||
@@ -15,7 +15,7 @@
|
||||
"message": "Скопировано"
|
||||
},
|
||||
"app.action-bar.install.copy-details": {
|
||||
"message": "Копировать"
|
||||
"message": "Получить отчёт"
|
||||
},
|
||||
"app.action-bar.install.dismiss": {
|
||||
"message": "Закрыть"
|
||||
@@ -132,19 +132,19 @@
|
||||
"message": "Принять всё"
|
||||
},
|
||||
"app.ads-consent.body": {
|
||||
"message": "Реклама обеспечивает работу Modrinth и финансирует выплаты авторам. Наши партнёры могут хранить или получать доступ к файлам cookie в приложении для персонализации рекламы и измерения производительности."
|
||||
"message": "Реклама обеспечивает работу Modrinth и выплаты авторам. Для персонализации и анализа рекламы наши партнёры могут использовать куки."
|
||||
},
|
||||
"app.ads-consent.manage": {
|
||||
"message": "Настроить предпочтения"
|
||||
"message": "Настроить"
|
||||
},
|
||||
"app.ads-consent.reject": {
|
||||
"message": "Отклонить всё"
|
||||
},
|
||||
"app.ads-consent.title": {
|
||||
"message": "Конфиденциальность и как реклама помогает Modrinth"
|
||||
"message": "Конфиденциальность и реклама на Modrinth"
|
||||
},
|
||||
"app.appearance-settings.advanced-rendering.description": {
|
||||
"message": "Включает продвинутые эффекты вроде размытия, но может снизить производительность на устройствах без аппаратного ускорения."
|
||||
"message": "Использовать эффекты вроде размытия фона. Без аппаратного ускорения возможна потеря производительности."
|
||||
},
|
||||
"app.appearance-settings.advanced-rendering.title": {
|
||||
"message": "Расширенные эффекты"
|
||||
@@ -156,7 +156,7 @@
|
||||
"message": "Тема"
|
||||
},
|
||||
"app.appearance-settings.default-landing-page.description": {
|
||||
"message": "Страница, которая открывается при запуске лаунчера."
|
||||
"message": "Выберите страницу для показа при запуске Modrinth App."
|
||||
},
|
||||
"app.appearance-settings.default-landing-page.home": {
|
||||
"message": "Главная"
|
||||
@@ -168,49 +168,49 @@
|
||||
"message": "Стартовая страница"
|
||||
},
|
||||
"app.appearance-settings.hide-nametag.description": {
|
||||
"message": "Скрывать имя над игроком на странице скинов."
|
||||
"message": "Скрывать имя над игроком на странице выбора скина."
|
||||
},
|
||||
"app.appearance-settings.hide-nametag.title": {
|
||||
"message": "Без имени над скином"
|
||||
},
|
||||
"app.appearance-settings.jump-back-into-worlds.description": {
|
||||
"message": "Показывать недавние миры в разделе «Jump back in» на главной."
|
||||
"message": "Показывать миры в разделе «Jump back in» на главной."
|
||||
},
|
||||
"app.appearance-settings.jump-back-into-worlds.title": {
|
||||
"message": "Миры на главной"
|
||||
},
|
||||
"app.appearance-settings.minimize-launcher.description": {
|
||||
"message": "Сворачивать окно лаунчера при запуске Minecraft."
|
||||
"message": "Сворачивать окно Modrinth App при запуске Minecraft."
|
||||
},
|
||||
"app.appearance-settings.minimize-launcher.title": {
|
||||
"message": "Сворачивание лаунчера"
|
||||
"message": "Сворачивание приложения"
|
||||
},
|
||||
"app.appearance-settings.native-decorations.description": {
|
||||
"message": "Использовать системную рамку окна (требуется перезапуск)."
|
||||
"message": "Использовать системное оформление заголовка и кнопок окна. Требуется перезапуск."
|
||||
},
|
||||
"app.appearance-settings.native-decorations.title": {
|
||||
"message": "Системное оформление"
|
||||
"message": "Системная рамка окна"
|
||||
},
|
||||
"app.appearance-settings.show-play-time.description": {
|
||||
"message": "Показывать время, проведённое в сборке."
|
||||
"message": "Показывать проведённое время в сборке."
|
||||
},
|
||||
"app.appearance-settings.show-play-time.title": {
|
||||
"message": "Время игры"
|
||||
},
|
||||
"app.appearance-settings.skip-non-essential-warnings.description": {
|
||||
"message": "Скрывать малозначимые подтверждения: установку копий сборок, обычное удаление контента, массовые обновления, отвязку и исправление сборок. Критические предупреждения останутся."
|
||||
"message": "Скрывать малозначимые подтверждения: установку копий, обычное удаление контента, массовые обновления, отвязку и исправление. Критические предупреждения останутся."
|
||||
},
|
||||
"app.appearance-settings.skip-non-essential-warnings.title": {
|
||||
"message": "Только опасные предупреждения"
|
||||
},
|
||||
"app.appearance-settings.toggle-sidebar.description": {
|
||||
"message": "Показывать кнопку скрытия боковой панели."
|
||||
"message": "Скрывать панель справа при запуске и переключать кнопкой."
|
||||
},
|
||||
"app.appearance-settings.toggle-sidebar.title": {
|
||||
"message": "Переключатель боковой панели"
|
||||
"message": "Скрытие панели справа"
|
||||
},
|
||||
"app.appearance-settings.unknown-pack-warning.description": {
|
||||
"message": "Предупреждать о рисках перед установкой файлов .mrpack, не размещённых на Modrinth."
|
||||
"message": "Предупреждать о рисках перед установкой файлов .mrpack, не размещённых на Modrinth."
|
||||
},
|
||||
"app.appearance-settings.unknown-pack-warning.title": {
|
||||
"message": "Предупреждение о сторонних сборках"
|
||||
@@ -221,6 +221,15 @@
|
||||
"app.auth-servers.unreachable.header": {
|
||||
"message": "Нет связи с серверами аутентификации"
|
||||
},
|
||||
"app.behavior-settings.confirmations.title": {
|
||||
"message": "Подтверждения"
|
||||
},
|
||||
"app.behavior-settings.content.title": {
|
||||
"message": "Главная и контент"
|
||||
},
|
||||
"app.behavior-settings.startup-and-navigation.title": {
|
||||
"message": "Запуск и навигация"
|
||||
},
|
||||
"app.browse.add-servers-to-instance": {
|
||||
"message": "Добавление серверов в сборку"
|
||||
},
|
||||
@@ -242,12 +251,18 @@
|
||||
"app.browse.back-to-instance": {
|
||||
"message": "Вернуться к сборке"
|
||||
},
|
||||
"app.browse.discover-project-type": {
|
||||
"message": "Поиск проектов"
|
||||
},
|
||||
"app.browse.discover-servers": {
|
||||
"message": "Поиск серверов"
|
||||
},
|
||||
"app.browse.hide-added-servers": {
|
||||
"message": "Скрывать добавленные"
|
||||
},
|
||||
"app.browse.hide-installed-modpacks": {
|
||||
"message": "Скрывать установленные"
|
||||
},
|
||||
"app.browse.project-type.modpacks": {
|
||||
"message": "Сборки"
|
||||
},
|
||||
@@ -356,12 +371,24 @@
|
||||
"app.instance.admonitions.shared-instance.review-admonition-header": {
|
||||
"message": "Отправка изменений"
|
||||
},
|
||||
"app.instance.admonitions.shared-instance.review-description": {
|
||||
"message": "Ознакомьтесь с изменениями содержимого, которые будут доступны всем пользователям этого экземпляра."
|
||||
},
|
||||
"app.instance.admonitions.shared-instance.review-header": {
|
||||
"message": "Проверьте изменения"
|
||||
},
|
||||
"app.instance.admonitions.shared-instance.review-update-button": {
|
||||
"message": "Обзор обновления"
|
||||
},
|
||||
"app.instance.admonitions.shared-instance.reviewing-button": {
|
||||
"message": "Проверка..."
|
||||
},
|
||||
"app.instance.admonitions.shared-instance.update-available-body": {
|
||||
"message": "Необходимо обновление для игры в {name}. Обновитесь до последней версии и запустите игру."
|
||||
},
|
||||
"app.instance.admonitions.shared-instance.update-available-header": {
|
||||
"message": "Доступно обновление"
|
||||
},
|
||||
"app.instance.confirm-delete.admonition-body": {
|
||||
"message": "Все данные сборки будут удалены навсегда, в том числе миры, настройки и весь установленный контент."
|
||||
},
|
||||
@@ -399,7 +426,7 @@
|
||||
"message": "проект"
|
||||
},
|
||||
"app.instance.mods.locked-content": {
|
||||
"message": "Содержимое заблокированных экземпляров нельзя изменить."
|
||||
"message": "Содержимое заблокированных сборок нельзя изменить."
|
||||
},
|
||||
"app.instance.mods.project-was-added": {
|
||||
"message": "«{name}» добавлен"
|
||||
@@ -443,6 +470,24 @@
|
||||
"app.instance.share.locked.wrong-account-heading": {
|
||||
"message": "Неверный аккаунт"
|
||||
},
|
||||
"app.instance.share.members.empty": {
|
||||
"message": "Ни один пользователь ещё не присоединился"
|
||||
},
|
||||
"app.instance.share.members.no-filter-results": {
|
||||
"message": "По заданным фильтрам пользователи не найдены."
|
||||
},
|
||||
"app.instance.share.remove-user-modal.effect-access": {
|
||||
"message": "Они больше не будут получать обновления для этого общего экземпляра"
|
||||
},
|
||||
"app.instance.share.remove-user-modal.effect-installed-copy": {
|
||||
"message": "Любая уже установленная копия останется на их устройстве"
|
||||
},
|
||||
"app.instance.share.remove-user-modal.effect-invite-again": {
|
||||
"message": "Вы можете пригласить их снова позже"
|
||||
},
|
||||
"app.instance.share.remove-user-modal.effect-last-user": {
|
||||
"message": "Это последний пользователь, в этом случае функция общего доступа будет отключена"
|
||||
},
|
||||
"app.instance.share.remove-user-modal.effects-label": {
|
||||
"message": "Что произойдёт?"
|
||||
},
|
||||
@@ -455,9 +500,27 @@
|
||||
"app.instance.share.remove-user-modal.user-avatar-alt": {
|
||||
"message": "Аватар {username}"
|
||||
},
|
||||
"app.instance.share.remove-user-modal.warning-body": {
|
||||
"message": "Если вы отзовете доступ пользователя {username} к этому общему экземпляру, вам потребуется снова пригласить его, прежде чем он сможет получать обновления."
|
||||
},
|
||||
"app.instance.share.sign-in.button": {
|
||||
"message": "Войти"
|
||||
},
|
||||
"app.instance.share.unable-to-connect.description": {
|
||||
"message": "Сервис сборок недоступен, попробуйте позже"
|
||||
},
|
||||
"app.instance.share.unable-to-connect.heading": {
|
||||
"message": "Не удалось подключиться"
|
||||
},
|
||||
"app.instance.share.unlink.body": {
|
||||
"message": "Для предоставления доступа к вашему экземпляру игры необходимо отменить привязку этого модпака"
|
||||
},
|
||||
"app.instance.share.unlink.header": {
|
||||
"message": "Для обмена необходимо отменить связь"
|
||||
},
|
||||
"app.instance.shared-instance-already-installed.body": {
|
||||
"message": "Этот общий экземпляр уже установлен как <bold>{instanceName}</bold>. Вы уверены, что хотите установить еще одну копию?"
|
||||
},
|
||||
"app.instance.shared-instance-already-installed.header": {
|
||||
"message": "Сборка уже установлена"
|
||||
},
|
||||
@@ -467,6 +530,12 @@
|
||||
"app.instance.shared-instance-already-installed.instance": {
|
||||
"message": "Сборка"
|
||||
},
|
||||
"app.instance.shared-instance-wrong-account.fallback-username": {
|
||||
"message": "привязанный аккаунт"
|
||||
},
|
||||
"app.instance.shared-instance-wrong-account.owner-admonition-body-v2": {
|
||||
"message": "для управления этим общим экземпляром. Вы не сможете отправлять обновления пользователям."
|
||||
},
|
||||
"app.instance.shared-instance-wrong-account.sign-in-as-label": {
|
||||
"message": "Войти как"
|
||||
},
|
||||
@@ -476,6 +545,9 @@
|
||||
"app.instance.shared-instance-wrong-account.user-admonition-body-v2": {
|
||||
"message": "для получения обновлений сборки."
|
||||
},
|
||||
"app.instance.shared-instance-wrong-account.warning-header": {
|
||||
"message": "Вы используете неправильную учетную запись Modrinth"
|
||||
},
|
||||
"app.instance.worlds.add-server": {
|
||||
"message": "Добавить сервер"
|
||||
},
|
||||
@@ -512,6 +584,9 @@
|
||||
"app.instance.worlds.no-worlds-heading": {
|
||||
"message": "Нет серверов и миров"
|
||||
},
|
||||
"app.instance.worlds.refreshing": {
|
||||
"message": "Перезагрузка..."
|
||||
},
|
||||
"app.instance.worlds.remove-server-modal.remove-button": {
|
||||
"message": "Удалить сервер"
|
||||
},
|
||||
@@ -524,12 +599,63 @@
|
||||
"app.instance.worlds.remove-server-modal.warning-header": {
|
||||
"message": "Удаление {name}"
|
||||
},
|
||||
"app.java-detection.cancel": {
|
||||
"message": "Отмена"
|
||||
},
|
||||
"app.java-detection.columns.actions": {
|
||||
"message": "Действия"
|
||||
},
|
||||
"app.java-detection.columns.path": {
|
||||
"message": "Путь"
|
||||
},
|
||||
"app.java-detection.columns.version": {
|
||||
"message": "Версия"
|
||||
},
|
||||
"app.java-detection.no-installations-found": {
|
||||
"message": "Установки Java не найдены."
|
||||
},
|
||||
"app.java-detection.select": {
|
||||
"message": "Выбрать"
|
||||
},
|
||||
"app.java-detection.selected": {
|
||||
"message": "Выбрано"
|
||||
},
|
||||
"app.java-detection.title": {
|
||||
"message": "Выбор расположения Java"
|
||||
},
|
||||
"app.java-selector.already-installed": {
|
||||
"message": "Уже установлена"
|
||||
},
|
||||
"app.java-selector.browse": {
|
||||
"message": "Обзор"
|
||||
},
|
||||
"app.java-selector.detect": {
|
||||
"message": "Обнаружить"
|
||||
},
|
||||
"app.java-selector.install-recommended": {
|
||||
"message": "Установить рекомендуемую"
|
||||
},
|
||||
"app.java-selector.installing": {
|
||||
"message": "Установка..."
|
||||
},
|
||||
"app.java-selector.path.placeholder": {
|
||||
"message": "/путь/к/java"
|
||||
},
|
||||
"app.java-selector.test-installation": {
|
||||
"message": "Проверить установку Java"
|
||||
},
|
||||
"app.modal.install-to-play.additional-context": {
|
||||
"message": "Дополнительный контекст"
|
||||
},
|
||||
"app.modal.install-to-play.additional-context-placeholder": {
|
||||
"message": "При желании прикрепите ссылки и изображения"
|
||||
},
|
||||
"app.modal.install-to-play.block-user": {
|
||||
"message": "Заблокировать"
|
||||
},
|
||||
"app.modal.install-to-play.content-you-are-reporting": {
|
||||
"message": "Экземпляр, о котором вы сообщаете"
|
||||
},
|
||||
"app.modal.install-to-play.delete-instance": {
|
||||
"message": "Удалить сборку"
|
||||
},
|
||||
@@ -548,15 +674,24 @@
|
||||
"app.modal.install-to-play.invite-warning": {
|
||||
"message": "Это приглашение создано другим пользователем Modrinth. Принимайте приглашения только от тех, кому доверяете."
|
||||
},
|
||||
"app.modal.install-to-play.invite-warning-with-creator": {
|
||||
"message": "Это приглашение создано <creator>{username}</creator>. Принимайте приглашения только от тех, кому доверяете."
|
||||
},
|
||||
"app.modal.install-to-play.mod-count": {
|
||||
"message": "{count, plural, one {# мод} few {# мода} other {# модов}}"
|
||||
},
|
||||
"app.modal.install-to-play.report-description": {
|
||||
"message": "Используйте эту форму, чтобы отправить жалобу на сборки, которые могут нарушать наши <rules-link>Правила</rules-link> или <terms-link>Условия использования</terms-link>."
|
||||
},
|
||||
"app.modal.install-to-play.report-image-invalid-type": {
|
||||
"message": "Тип изображения не принимается"
|
||||
},
|
||||
"app.modal.install-to-play.report-image-too-large": {
|
||||
"message": "Размер файла превышает лимит в 1 МиБ"
|
||||
},
|
||||
"app.modal.install-to-play.report-legal-claims": {
|
||||
"message": "По вопросам, касающимся уведомлений DMCA или других юридических претензий, ознакомьтесь с нашей <copyright-link>Политикой в отношении авторских прав</copyright-link>."
|
||||
},
|
||||
"app.modal.install-to-play.report-reason": {
|
||||
"message": "Какое правило нарушает данная сборка?"
|
||||
},
|
||||
@@ -569,9 +704,15 @@
|
||||
"app.modal.install-to-play.report-reason.spam": {
|
||||
"message": "Спам"
|
||||
},
|
||||
"app.modal.install-to-play.report-shared-instance-header": {
|
||||
"message": "Сообщить об общем экземпляре"
|
||||
},
|
||||
"app.modal.install-to-play.report-submitted": {
|
||||
"message": "Жалоба отправлена"
|
||||
},
|
||||
"app.modal.install-to-play.report-support-and-bugs": {
|
||||
"message": "Для запросов в поддержку обращайтесь в нашу <support-link>службу поддержки</support-link>. Для сообщений об ошибках открывайте запросы в <github-link>GitHub </github-link>."
|
||||
},
|
||||
"app.modal.install-to-play.reviewed-files": {
|
||||
"message": "Файл проверяется только если он опубликован на Modrinth, независимо от его формата (включая .mrpack)."
|
||||
},
|
||||
@@ -593,6 +734,9 @@
|
||||
"app.modal.install-to-play.unrecognized-files": {
|
||||
"message": "Нераспознанные файлы"
|
||||
},
|
||||
"app.modal.install-to-play.user-blocked": {
|
||||
"message": "Пользователь заблокирован"
|
||||
},
|
||||
"app.modal.install-to-play.view-contents": {
|
||||
"message": "Посмотреть содержимое"
|
||||
},
|
||||
@@ -611,12 +755,45 @@
|
||||
"app.modal.update-to-play.shared-instance-removed-label": {
|
||||
"message": "Удалён"
|
||||
},
|
||||
"app.modal.update-to-play.shared-instance-unknown-files-description": {
|
||||
"message": "Это обновление для общего экземпляра содержит файлы, которые не опубликованные на Modrinth. Мы настоятельно рекомендуем устанавливать файлы только из источников, которым вы доверяете."
|
||||
},
|
||||
"app.modal.update-to-play.update-required": {
|
||||
"message": "Требуется обновление"
|
||||
},
|
||||
"app.modal.update-to-play.update-required-description": {
|
||||
"message": "Обновите {name} до последней версии, чтобы запустить игру."
|
||||
},
|
||||
"app.nav.create-new-instance": {
|
||||
"message": "Создать новую сборку"
|
||||
},
|
||||
"app.nav.home": {
|
||||
"message": "Главная"
|
||||
},
|
||||
"app.nav.library": {
|
||||
"message": "Библиотека"
|
||||
},
|
||||
"app.nav.modrinth-account": {
|
||||
"message": "Аккаунт Modrinth"
|
||||
},
|
||||
"app.nav.modrinth-hosting": {
|
||||
"message": "Modrinth Hosting"
|
||||
},
|
||||
"app.nav.sign-in-to-modrinth-account": {
|
||||
"message": "Войти в аккаунт Modrinth"
|
||||
},
|
||||
"app.nav.signed-in-as": {
|
||||
"message": "Текущий аккаунт: <user>{username}</user>"
|
||||
},
|
||||
"app.nav.upgrade-to-modrinth-plus": {
|
||||
"message": "Перейти на Modrinth+"
|
||||
},
|
||||
"app.news.title": {
|
||||
"message": "Новости"
|
||||
},
|
||||
"app.news.view-all": {
|
||||
"message": "Посмотреть все новости"
|
||||
},
|
||||
"app.project.install-button.already-installed": {
|
||||
"message": "Этот проект уже установлен"
|
||||
},
|
||||
@@ -626,6 +803,9 @@
|
||||
"app.project.install-context.back-to-browse": {
|
||||
"message": "Вернуться к поиску"
|
||||
},
|
||||
"app.project.install-context.back-to-instance": {
|
||||
"message": "Вернуться к сборке"
|
||||
},
|
||||
"app.project.version.all-versions": {
|
||||
"message": "Все версии"
|
||||
},
|
||||
@@ -638,23 +818,191 @@
|
||||
"app.project.versions.already-installed": {
|
||||
"message": "Уже установлено"
|
||||
},
|
||||
"app.quick-instance-switcher.drag-show-tooltip": {
|
||||
"message": "Потяните для показа недавних сборок"
|
||||
},
|
||||
"app.quick-instance-switcher.drag-tooltip": {
|
||||
"message": "Потяните для изменения размера"
|
||||
},
|
||||
"app.restarting": {
|
||||
"message": "Перезапуск..."
|
||||
},
|
||||
"app.settings.app-version": {
|
||||
"message": "Modrinth App {version}"
|
||||
},
|
||||
"app.settings.default-instance-options.environment-variables.description": {
|
||||
"message": "Переменные среды при запуске игры."
|
||||
},
|
||||
"app.settings.default-instance-options.environment-variables.placeholder": {
|
||||
"message": "Введите переменные среды..."
|
||||
},
|
||||
"app.settings.default-instance-options.environment-variables.title": {
|
||||
"message": "Переменные среды"
|
||||
},
|
||||
"app.settings.default-instance-options.fullscreen.description": {
|
||||
"message": "Запускать игру в полноэкранном режиме через options.txt."
|
||||
},
|
||||
"app.settings.default-instance-options.fullscreen.title": {
|
||||
"message": "Полноэкранный режим"
|
||||
},
|
||||
"app.settings.default-instance-options.height.description": {
|
||||
"message": "Высота окна игры при запуске."
|
||||
},
|
||||
"app.settings.default-instance-options.height.placeholder": {
|
||||
"message": "Введите высоту..."
|
||||
},
|
||||
"app.settings.default-instance-options.height.title": {
|
||||
"message": "Высота"
|
||||
},
|
||||
"app.settings.default-instance-options.java-arguments.description": {
|
||||
"message": "Аргументы, передаваемые Java при запуске игры."
|
||||
},
|
||||
"app.settings.default-instance-options.java-arguments.placeholder": {
|
||||
"message": "Введите аргументы Java..."
|
||||
},
|
||||
"app.settings.default-instance-options.java-arguments.title": {
|
||||
"message": "Аргументы Java"
|
||||
},
|
||||
"app.settings.default-instance-options.memory-allocation.description": {
|
||||
"message": "Максимальный объём памяти, выделяемый игре."
|
||||
},
|
||||
"app.settings.default-instance-options.memory-allocation.title": {
|
||||
"message": "Выделенная память"
|
||||
},
|
||||
"app.settings.default-instance-options.post-exit-hook.description": {
|
||||
"message": "Выполняется после выхода из игры."
|
||||
},
|
||||
"app.settings.default-instance-options.post-exit-hook.placeholder": {
|
||||
"message": "Введите команду после выхода..."
|
||||
},
|
||||
"app.settings.default-instance-options.post-exit-hook.title": {
|
||||
"message": "Команда после выхода"
|
||||
},
|
||||
"app.settings.default-instance-options.pre-launch-hook.description": {
|
||||
"message": "Выполняется перед запуском игры."
|
||||
},
|
||||
"app.settings.default-instance-options.pre-launch-hook.placeholder": {
|
||||
"message": "Введите команду перед запуском..."
|
||||
},
|
||||
"app.settings.default-instance-options.pre-launch-hook.title": {
|
||||
"message": "Команда перед запуском"
|
||||
},
|
||||
"app.settings.default-instance-options.width.description": {
|
||||
"message": "Ширина окна игры при запуске."
|
||||
},
|
||||
"app.settings.default-instance-options.width.placeholder": {
|
||||
"message": "Введите ширину..."
|
||||
},
|
||||
"app.settings.default-instance-options.width.title": {
|
||||
"message": "Ширина"
|
||||
},
|
||||
"app.settings.default-instance-options.wrapper-hook.description": {
|
||||
"message": "Команда, оборачивающая процесс запуска Minecraft."
|
||||
},
|
||||
"app.settings.default-instance-options.wrapper-hook.placeholder": {
|
||||
"message": "Введите команду-обёртку..."
|
||||
},
|
||||
"app.settings.default-instance-options.wrapper-hook.title": {
|
||||
"message": "Команда-обёртка"
|
||||
},
|
||||
"app.settings.developer-mode-button.label": {
|
||||
"message": "Переключить режим разработчика"
|
||||
},
|
||||
"app.settings.developer-mode-enabled": {
|
||||
"message": "Режим разработчика включён."
|
||||
},
|
||||
"app.settings.downloading": {
|
||||
"message": "Скачивание версии {version}"
|
||||
},
|
||||
"app.settings.java-installations.location.title": {
|
||||
"message": "Расположение Java {version}"
|
||||
},
|
||||
"app.settings.operating-system.macos": {
|
||||
"message": "macOS"
|
||||
},
|
||||
"app.settings.privacy.ads-consent.intro": {
|
||||
"message": "Реклама обеспечивает работу Modrinth и финансирует выплаты авторам. Наши партнёры могут хранить или получать доступ к файлам cookie в приложении для персонализации рекламы и измерения производительности. Вы можете отказаться или настроить предпочтения ниже."
|
||||
"message": "Реклама обеспечивает работу Modrinth и выплаты авторам. Для персонализации и анализа рекламы наши партнёры могут использовать куки. Отказаться и настроить куки можно ниже."
|
||||
},
|
||||
"app.settings.privacy.discord-rich-presence.description": {
|
||||
"message": "Показывать Modrinth App в текущей активности Discord. Не влияет на Rich Presence модов. Требуется перезапуск."
|
||||
},
|
||||
"app.settings.privacy.discord-rich-presence.title": {
|
||||
"message": "Discord Rich Presence"
|
||||
},
|
||||
"app.settings.privacy.telemetry.description": {
|
||||
"message": "Modrinth собирает анонимные данные об использовании для персонализации и улучшения сервиса. Отключите этот параметр, чтобы отказаться от сбора данных."
|
||||
},
|
||||
"app.settings.privacy.telemetry.title": {
|
||||
"message": "Телеметрия"
|
||||
},
|
||||
"app.settings.resource-management.always-show-copy-details.description": {
|
||||
"message": "Показывать кнопку «Получить отчёт» во время установки. Для прерванных установок кнопка видна всегда."
|
||||
},
|
||||
"app.settings.resource-management.always-show-copy-details.title": {
|
||||
"message": "Всегда показывать «Получить отчёт»"
|
||||
},
|
||||
"app.settings.resource-management.app-cache.confirm.description": {
|
||||
"message": "Приложение может замедлиться, пока кеш не восстановится."
|
||||
},
|
||||
"app.settings.resource-management.app-cache.confirm.title": {
|
||||
"message": "Очистить кеш приложения?"
|
||||
},
|
||||
"app.settings.resource-management.app-cache.description": {
|
||||
"message": "Удаляет кешированные данные и повторно скачивает их с Modrinth. Приложение может замедлиться, пока кеш не восстановится."
|
||||
},
|
||||
"app.settings.resource-management.app-cache.purge": {
|
||||
"message": "Очистить кеш"
|
||||
},
|
||||
"app.settings.resource-management.app-cache.title": {
|
||||
"message": "Кеш приложения"
|
||||
},
|
||||
"app.settings.resource-management.app-database-backups.description": {
|
||||
"message": "Здесь хранятся резервные копии важных данных приложения на случай их утери."
|
||||
},
|
||||
"app.settings.resource-management.app-database-backups.open-folder": {
|
||||
"message": "Открыть папку резервных копий"
|
||||
},
|
||||
"app.settings.resource-management.app-database-backups.title": {
|
||||
"message": "Резервные копии базы данных"
|
||||
},
|
||||
"app.settings.resource-management.app-directory.browse": {
|
||||
"message": "Выбрать каталог приложения"
|
||||
},
|
||||
"app.settings.resource-management.app-directory.description": {
|
||||
"message": "Здесь Modrinth App хранит сборки и другие файлы. Изменения вступят в силу после перезапуска."
|
||||
},
|
||||
"app.settings.resource-management.app-directory.select": {
|
||||
"message": "Выбор нового каталога приложения"
|
||||
},
|
||||
"app.settings.resource-management.app-directory.title": {
|
||||
"message": "Каталог приложения"
|
||||
},
|
||||
"app.settings.resource-management.maximum-concurrent-downloads.description": {
|
||||
"message": "Количество одновременно скачиваемых файлов. Уменьшите, если скачивание работает нестабильно. Требуется перезапуск."
|
||||
},
|
||||
"app.settings.resource-management.maximum-concurrent-downloads.title": {
|
||||
"message": "Лимит одновременных скачиваний"
|
||||
},
|
||||
"app.settings.resource-management.maximum-concurrent-writes.description": {
|
||||
"message": "Количество одновременно записываемых на диск файлов. Уменьшите, если возникают ошибки ввода-вывода. Требуется перезапуск."
|
||||
},
|
||||
"app.settings.resource-management.maximum-concurrent-writes.title": {
|
||||
"message": "Лимит одновременных записей"
|
||||
},
|
||||
"app.settings.sidebar.label.instances": {
|
||||
"message": "Сборки"
|
||||
},
|
||||
"app.settings.tabs.appearance": {
|
||||
"message": "Внешний вид"
|
||||
},
|
||||
"app.settings.tabs.behavior": {
|
||||
"message": "Поведение"
|
||||
},
|
||||
"app.settings.tabs.default-instance-options": {
|
||||
"message": "Предустановки"
|
||||
"message": "Предустановки игры"
|
||||
},
|
||||
"app.settings.tabs.java-installations": {
|
||||
"message": "Установки Java"
|
||||
"message": "Расположение Java"
|
||||
},
|
||||
"app.settings.tabs.language": {
|
||||
"message": "Язык"
|
||||
@@ -665,6 +1013,9 @@
|
||||
"app.settings.tabs.resource-management": {
|
||||
"message": "Управление ресурсами"
|
||||
},
|
||||
"app.sidebar.playing-as": {
|
||||
"message": "Текущий аккаунт"
|
||||
},
|
||||
"app.skins.add-button": {
|
||||
"message": "Добавить скин"
|
||||
},
|
||||
@@ -824,6 +1175,21 @@
|
||||
"app.skins.toggle-ears-features-on": {
|
||||
"message": "Включить"
|
||||
},
|
||||
"app.survey.body": {
|
||||
"message": "Не хотите ответить на несколько вопросов о вашем опыте с Modrinth App?"
|
||||
},
|
||||
"app.survey.footer": {
|
||||
"message": "Этот отзыв будет доставлен напрямую команде Modrinth и поможет разрабатывать будущие обновления!"
|
||||
},
|
||||
"app.survey.no-thanks": {
|
||||
"message": "Нет, спасибо"
|
||||
},
|
||||
"app.survey.take-survey": {
|
||||
"message": "Пройти опрос"
|
||||
},
|
||||
"app.survey.title": {
|
||||
"message": "Привет, пользователь Modrinth!"
|
||||
},
|
||||
"app.update-popup.body.download-complete": {
|
||||
"message": "Скачивание версии Modrinth App {version} завершено. Перезапустите приложение, чтобы обновить его, или оно обновится автоматически после закрытия."
|
||||
},
|
||||
@@ -872,18 +1238,36 @@
|
||||
"app.world.world-item.players-online": {
|
||||
"message": "{count} в игре"
|
||||
},
|
||||
"content.shared-instance.change-version-body": {
|
||||
"message": "Изменение версии затрагивает только локальную копию. В будущих обновлениях общего экземпляра она может быть восстановлена или изменена снова."
|
||||
},
|
||||
"content.shared-instance.delete-bulk-body": {
|
||||
"message": "Некоторые выбранные проекты являются частью общего экземпляра. Удаление этих проектов затрагивает только вашу локальную копию, и будущие обновления общего экземпляра могут восстановить или изменить их снова."
|
||||
},
|
||||
"content.shared-instance.delete-button": {
|
||||
"message": "Всё равно удалить"
|
||||
},
|
||||
"content.shared-instance.delete-many-button": {
|
||||
"message": "Всё равно удалить {count, plural, one {# проект} few {# проекта} other {# проектов}}"
|
||||
},
|
||||
"content.shared-instance.delete-single-body": {
|
||||
"message": "Удаление затрагивает только локальную копию. В будущих обновлениях общего экземпляра он может быть восстановлен или изменен снова."
|
||||
},
|
||||
"content.shared-instance.disable-bulk-body": {
|
||||
"message": "Некоторые выбранные проекты являются частью общего экземпляра. Отключение этих проектов затрагивает только вашу локальную копию, и будущие обновления общего экземпляра могут снова включить, восстановить или изменить их."
|
||||
},
|
||||
"content.shared-instance.disable-button": {
|
||||
"message": "Всё равно отключить"
|
||||
},
|
||||
"content.shared-instance.disable-many-button": {
|
||||
"message": "Всё равно отключить {count, plural, one {# проект} few {# проекта} other {# проектов}}"
|
||||
},
|
||||
"content.shared-instance.disable-single-body": {
|
||||
"message": "Отключение этой функции затрагивает только локальную копию. В будущих обновлениях общего экземпляра она может быть повторно включена, восстановлена или изменена."
|
||||
},
|
||||
"content.shared-instance.unlink-body": {
|
||||
"message": "Удаление привязки затрагивает только локальную копию. В будущих обновлениях общего экземпляра она может быть восстановлена или изменена снова."
|
||||
},
|
||||
"content.shared-instance.warning-header": {
|
||||
"message": "Это часть сборки"
|
||||
},
|
||||
@@ -921,7 +1305,7 @@
|
||||
"message": "Отправлен запрос дружбы"
|
||||
},
|
||||
"friends.friend.view-profile": {
|
||||
"message": "Открыть профиль"
|
||||
"message": "Посмотреть профиль"
|
||||
},
|
||||
"friends.heading": {
|
||||
"message": "Друзья"
|
||||
@@ -953,18 +1337,45 @@
|
||||
"installation-settings.shared-instance.linked-title": {
|
||||
"message": "Связанная сборка"
|
||||
},
|
||||
"installation-settings.shared-instance.title": {
|
||||
"message": "Отменить публикацию экземпляра"
|
||||
},
|
||||
"installation-settings.shared-instance.unlink-button": {
|
||||
"message": "Отвязать сборку"
|
||||
},
|
||||
"installation-settings.shared-instance.unlink-description": {
|
||||
"message": "Отключите этот локальный экземпляр от будущих общих обновлений."
|
||||
},
|
||||
"installation-settings.shared-instance.unlinking-button": {
|
||||
"message": "Отвязка..."
|
||||
},
|
||||
"installation-settings.shared-instance.unpublish-button": {
|
||||
"message": "Отменить публикацию общего экземпляра"
|
||||
},
|
||||
"installation-settings.shared-instance.unpublish-description": {
|
||||
"message": "Удалите этот общий экземпляр из Modrinth и прекратите отправлять обновления всем, кто его использует. Ваш локальный экземпляр останется без изменений."
|
||||
},
|
||||
"installation-settings.shared-instance.unpublishing-button": {
|
||||
"message": "Снятие с публикации..."
|
||||
},
|
||||
"installation-settings.unlink-shared-instance.modal.admonition-body": {
|
||||
"message": "Это повлияет только на ваш локальный экземпляр. Установленный контент останется на этом устройстве, и это никак не отразится на общем экземпляре и других пользователях."
|
||||
},
|
||||
"installation-settings.unlink-shared-instance.modal.admonition-header": {
|
||||
"message": "Отвязка сборки"
|
||||
},
|
||||
"installation-settings.unlink-shared-instance.modal.header": {
|
||||
"message": "Отвязка сборки"
|
||||
},
|
||||
"installation-settings.unpublish-shared-instance.modal.admonition-body": {
|
||||
"message": "Это удалит общий экземпляр с серверов Modrinth. Пользователи, использующие его в приложении Modrinth, перестанут получать обновления, но ваш локальный экземпляр и его содержимое останутся на этом устройстве."
|
||||
},
|
||||
"installation-settings.unpublish-shared-instance.modal.admonition-header": {
|
||||
"message": "Отмена публикации общего экземпляра"
|
||||
},
|
||||
"installation-settings.unpublish-shared-instance.modal.header": {
|
||||
"message": "Отменить публикацию общего экземпляра"
|
||||
},
|
||||
"instance.action.create-shortcut": {
|
||||
"message": "Создать ярлык"
|
||||
},
|
||||
@@ -1034,6 +1445,9 @@
|
||||
"instance.locked.delete-button": {
|
||||
"message": "Удалить сборку"
|
||||
},
|
||||
"instance.locked.play-tooltip": {
|
||||
"message": "Сборка заблокирована"
|
||||
},
|
||||
"instance.playtime.never-played": {
|
||||
"message": "Не запускалась"
|
||||
},
|
||||
@@ -1049,6 +1463,45 @@
|
||||
"instance.server-modal.resource-pack": {
|
||||
"message": "Набор ресурсов"
|
||||
},
|
||||
"instance.settings.sharing.active-invites.actions": {
|
||||
"message": "Действия"
|
||||
},
|
||||
"instance.settings.sharing.active-invites.code": {
|
||||
"message": "Ссылка"
|
||||
},
|
||||
"instance.settings.sharing.active-invites.description": {
|
||||
"message": "Любой, у кого есть одна из этих ссылок, может присоединиться, пока она активна."
|
||||
},
|
||||
"instance.settings.sharing.active-invites.empty": {
|
||||
"message": "Нет действующих приглашений."
|
||||
},
|
||||
"instance.settings.sharing.active-invites.expires": {
|
||||
"message": "Истекает"
|
||||
},
|
||||
"instance.settings.sharing.active-invites.revoke": {
|
||||
"message": "Отозвать приглашение"
|
||||
},
|
||||
"instance.settings.sharing.active-invites.revoke-with-code": {
|
||||
"message": "Отозвать приглашение {code}"
|
||||
},
|
||||
"instance.settings.sharing.active-invites.title": {
|
||||
"message": "Действующие приглашения"
|
||||
},
|
||||
"instance.settings.sharing.active-invites.uses": {
|
||||
"message": "Использований"
|
||||
},
|
||||
"instance.settings.sharing.revoke-invite.admonition-body": {
|
||||
"message": "Ссылка <monospace>{code}</monospace> сразу перестанет работать. Уже присоединившиеся пользователи сохранят доступ."
|
||||
},
|
||||
"instance.settings.sharing.revoke-invite.admonition-header": {
|
||||
"message": "Это действие необратимо"
|
||||
},
|
||||
"instance.settings.sharing.revoke-invite.confirm": {
|
||||
"message": "Отозвать приглашение"
|
||||
},
|
||||
"instance.settings.sharing.revoke-invite.header": {
|
||||
"message": "Отзыв приглашения"
|
||||
},
|
||||
"instance.settings.tabs.general": {
|
||||
"message": "Основные"
|
||||
},
|
||||
@@ -1149,7 +1602,7 @@
|
||||
"message": "Перед запуском"
|
||||
},
|
||||
"instance.settings.tabs.hooks.pre-launch.description": {
|
||||
"message": "Выполняется перед запуском сборки."
|
||||
"message": "Выполняется перед запуском игры."
|
||||
},
|
||||
"instance.settings.tabs.hooks.pre-launch.enter": {
|
||||
"message": "Введите команду перед запуском..."
|
||||
@@ -1172,6 +1625,9 @@
|
||||
"instance.settings.tabs.installation.loader-version": {
|
||||
"message": "Версия {loader}"
|
||||
},
|
||||
"instance.settings.tabs.installation.locked": {
|
||||
"message": "Параметры установки недоступны, пока сборка заблокирована."
|
||||
},
|
||||
"instance.settings.tabs.java": {
|
||||
"message": "Java и память"
|
||||
},
|
||||
@@ -1247,6 +1703,15 @@
|
||||
"instance.shared-instance.error.title": {
|
||||
"message": "Произошла ошибка"
|
||||
},
|
||||
"instance.shared-instance.network-error.text": {
|
||||
"message": "Не удалось подключиться к API сборок"
|
||||
},
|
||||
"instance.shared-instance.network-error.title": {
|
||||
"message": "Ошибка сети"
|
||||
},
|
||||
"instance.shared-instance.owner-tooltip": {
|
||||
"message": "Контент сборки доступен другим пользователям."
|
||||
},
|
||||
"instance.shared-instance.publish-review.added-label": {
|
||||
"message": "Добавлен"
|
||||
},
|
||||
@@ -1256,6 +1721,9 @@
|
||||
"instance.shared-instance.publish-review.config-title-v2": {
|
||||
"message": "Выберите файлы настройки"
|
||||
},
|
||||
"instance.shared-instance.publish-review.description": {
|
||||
"message": "Ознакомьтесь с изменениями в содержимом и выберите файлы конфигурации, которые следует включить в это обновление."
|
||||
},
|
||||
"instance.shared-instance.publish-review.header": {
|
||||
"message": "Проверьте изменения"
|
||||
},
|
||||
@@ -1265,9 +1733,30 @@
|
||||
"instance.shared-instance.publish-review.removed-label": {
|
||||
"message": "Удалён"
|
||||
},
|
||||
"instance.shared-instance.tooltip": {
|
||||
"message": "Содержимое данного экземпляра управляется другим пользователем."
|
||||
},
|
||||
"instance.shared-instance.unavailable.access-revoked-text": {
|
||||
"message": "Доступ к сборке отозван. Сборка всё ещё доступна, но она не будет связана и не будет обновляться."
|
||||
},
|
||||
"instance.shared-instance.unavailable.deleted-text": {
|
||||
"message": "Основной экземпляр был удален. Этот экземпляр по-прежнему доступен, но он больше не связан с предыдущим и не будет получать обновления."
|
||||
},
|
||||
"instance.shared-instance.unavailable.locked-text": {
|
||||
"message": "Этот общий экземпляр был заблокирован командой модерации контента. Он больше не будет получать обновления от основного экземпляра и недоступен для игры."
|
||||
},
|
||||
"instance.shared-instance.unavailable.locked-title": {
|
||||
"message": "Сборка заблокирована"
|
||||
},
|
||||
"instance.shared-instance.unavailable.manager-fallback": {
|
||||
"message": "менеджер сборки"
|
||||
},
|
||||
"instance.shared-instance.unavailable.text": {
|
||||
"message": "Ваш локальный экземпляр по-прежнему доступен, но он больше не связан с системой и не будет получать обновления."
|
||||
},
|
||||
"instance.shared-instance.unavailable.title": {
|
||||
"message": "Сборка больше недоступна"
|
||||
},
|
||||
"instance.worlds.a_minecraft_server": {
|
||||
"message": "Сервер Minecraft"
|
||||
},
|
||||
@@ -1355,9 +1844,6 @@
|
||||
"modal.modrinth-account-required.browser-description": {
|
||||
"message": "Открылась вкладка для входа. Завершение вход и вернитесь в приложение."
|
||||
},
|
||||
"modal.modrinth-account-required.cancel-button": {
|
||||
"message": "Отмена"
|
||||
},
|
||||
"modal.modrinth-account-required.continue-in-browser-heading": {
|
||||
"message": "Продолжите в браузере"
|
||||
},
|
||||
@@ -1411,5 +1897,11 @@
|
||||
},
|
||||
"search.filter.locked.server-loader.title": {
|
||||
"message": "Загрузчик управляется сервером"
|
||||
},
|
||||
"settings.sidebar.label.account": {
|
||||
"message": "Аккаунт"
|
||||
},
|
||||
"settings.sidebar.label.display": {
|
||||
"message": "Отображение"
|
||||
}
|
||||
}
|
||||
|
||||
@@ -89,6 +89,9 @@
|
||||
"app.action-bar.install.unknown-instance": {
|
||||
"message": "Nepoznata instanca"
|
||||
},
|
||||
"app.action-bar.install.updating-shared-content": {
|
||||
"message": "Ažuriranje deljenog sadržaja"
|
||||
},
|
||||
"app.action-bar.installs": {
|
||||
"message": "Instalacije"
|
||||
},
|
||||
@@ -125,20 +128,35 @@
|
||||
"app.action-bar.view-logs": {
|
||||
"message": "Pregledaj dnevnike"
|
||||
},
|
||||
"app.ads-consent.accept": {
|
||||
"message": "Prihvati sve"
|
||||
},
|
||||
"app.ads-consent.body": {
|
||||
"message": "Reklame omogućavaju da Modrinth radi i finansiraju isplate kreatorima. Naši partneri mogu da čuvaju i koriste kolačiće u aplikaciji da bi personalizovali reklame i merili performanse."
|
||||
},
|
||||
"app.ads-consent.manage": {
|
||||
"message": "Upravljaj podešavanjima"
|
||||
},
|
||||
"app.ads-consent.reject": {
|
||||
"message": "Odbij sve"
|
||||
},
|
||||
"app.ads-consent.title": {
|
||||
"message": "Tvoja bezbednost i kako reklame pomažu Modrinth-u"
|
||||
},
|
||||
"app.appearance-settings.advanced-rendering.description": {
|
||||
"message": "Omogućava napredno renderovanje kao što su efekti zamućenja koji mogu izazvati probleme sa performansama bez hardverski ubrzanog renderovanja."
|
||||
"message": "Uključi vizuelne efekte kao što je blur pozadine. Ovo može da pogorša performanse bez hardverskog ubrzanja."
|
||||
},
|
||||
"app.appearance-settings.advanced-rendering.title": {
|
||||
"message": "Napredno renderovanje"
|
||||
},
|
||||
"app.appearance-settings.color-theme.description": {
|
||||
"message": "Izaberi svoju preferiranu temu boja za Modrinth aplikaciju."
|
||||
"message": "Izaberi boju teme koju koristi Modrinth App."
|
||||
},
|
||||
"app.appearance-settings.color-theme.title": {
|
||||
"message": "Tema boje"
|
||||
},
|
||||
"app.appearance-settings.default-landing-page.description": {
|
||||
"message": "Promeni stranicu na kojoj se otvara pokretač."
|
||||
"message": "Izaberi stranicu prikazanu kada se Modrinth App pokrene."
|
||||
},
|
||||
"app.appearance-settings.default-landing-page.home": {
|
||||
"message": "Početna stranica"
|
||||
@@ -150,49 +168,46 @@
|
||||
"message": "Podrazumevana odredišna stranica"
|
||||
},
|
||||
"app.appearance-settings.hide-nametag.description": {
|
||||
"message": "Onemogućava oznaku sa imenom iznad tvog igrača na stranici sa skinovima."
|
||||
"message": "Sakrij svoje korisničko ime iznad pregleda igrača na stranici Skin birača."
|
||||
},
|
||||
"app.appearance-settings.hide-nametag.title": {
|
||||
"message": "Sakrij ime"
|
||||
},
|
||||
"app.appearance-settings.jump-back-into-worlds.description": {
|
||||
"message": "Uključuje nedavne svetove u odeljku „Povratak“ na početnoj stranici."
|
||||
"message": "Prikaži skorije igrane svetove na odeljku \"Vrati se u\" na početnoj stranici."
|
||||
},
|
||||
"app.appearance-settings.jump-back-into-worlds.title": {
|
||||
"message": "Vrati se u svetove"
|
||||
},
|
||||
"app.appearance-settings.minimize-launcher.description": {
|
||||
"message": "Minimiziraj pokretač kada se pokrene Minecraft proces."
|
||||
"message": "Smanji Modrinth App kada se Minecraft pokrene."
|
||||
},
|
||||
"app.appearance-settings.minimize-launcher.title": {
|
||||
"message": "Minimiziraj pokretač"
|
||||
"message": "Smanji aplikaciju"
|
||||
},
|
||||
"app.appearance-settings.native-decorations.description": {
|
||||
"message": "Koristi okvir sistemskog prozora (potrebno je ponovno pokretanje aplikacije)."
|
||||
"message": "Koristi naslovnu traku i kontrole prozora tvog operativnog sistema. Restart aplikacije obavezan."
|
||||
},
|
||||
"app.appearance-settings.native-decorations.title": {
|
||||
"message": "Zavičajni ukrasi"
|
||||
"message": "Sistemski okvir prozora"
|
||||
},
|
||||
"app.appearance-settings.show-play-time.description": {
|
||||
"message": "Pokazuje koliko vremena si proveo igrajući instancu."
|
||||
"message": "Prikaži koliko dugo ste igrali svaku instancu."
|
||||
},
|
||||
"app.appearance-settings.show-play-time.title": {
|
||||
"message": "Pokazivaj vreme igranja"
|
||||
},
|
||||
"app.appearance-settings.skip-non-essential-warnings.description": {
|
||||
"message": "Automatski preskače potvrde niskog rizika kao duplirane instalacije modpakova, normalno brisanje sadržaja, grupna ažuriranja, prekidanje veze sa modpakovima i upiti za popravku. Opasna upozorenja će se i dalje prikazivati."
|
||||
"message": "Preskoči potvrde za radnje niskog rizika kao što je dupliranje instalacije, brisanje normalnog sadržaja, grupna ažuriranja, prekid veze i popravke. Upozorenja za opasne radnje se uvek prikazuju."
|
||||
},
|
||||
"app.appearance-settings.skip-non-essential-warnings.title": {
|
||||
"message": "Preskači nebitna upozorenja"
|
||||
},
|
||||
"app.appearance-settings.toggle-sidebar.description": {
|
||||
"message": "Omogućava mogućnost prebacivanja bočne trake."
|
||||
"message": "Sakrij desnu bočnu traku podrazumevano i dodaj dugme da se prikaže i sakrije."
|
||||
},
|
||||
"app.appearance-settings.toggle-sidebar.title": {
|
||||
"message": "Prebaci bočnu traku"
|
||||
},
|
||||
"app.appearance-settings.unknown-pack-warning.description": {
|
||||
"message": "Ako pokušaš da instaliraš datoteku Modrinth Pack datoteke (.mrpack) koja nije hostovana na Modrinthu, uverićemo se da razumeš rizike pre nego što je instaliraš."
|
||||
"message": "Sakrij desnu bočnu traku"
|
||||
},
|
||||
"app.appearance-settings.unknown-pack-warning.title": {
|
||||
"message": "Upozoti me prije instalacije nepoznatih modpackova"
|
||||
@@ -488,9 +503,6 @@
|
||||
"app.settings.tabs.appearance": {
|
||||
"message": "Izgled"
|
||||
},
|
||||
"app.settings.tabs.default-instance-options": {
|
||||
"message": "Podrazumevane opcije instance"
|
||||
},
|
||||
"app.settings.tabs.java-installations": {
|
||||
"message": "Java instalacije"
|
||||
},
|
||||
|
||||
@@ -35,6 +35,9 @@
|
||||
"app.action-bar.install.summary.canceled": {
|
||||
"message": "Avbruten"
|
||||
},
|
||||
"app.action-bar.install.summary.cleanup-incomplete": {
|
||||
"message": "Rensningen avslutades inte"
|
||||
},
|
||||
"app.action-bar.install.summary.content-download-failed": {
|
||||
"message": "Kunde inte ladda ner filer"
|
||||
},
|
||||
@@ -53,6 +56,12 @@
|
||||
"app.action-bar.install.summary.invalid-file-path": {
|
||||
"message": "Sökväg är ogiltig"
|
||||
},
|
||||
"app.action-bar.install.summary.invalid-modpack": {
|
||||
"message": "Ogiltigt modpaketsdata"
|
||||
},
|
||||
"app.action-bar.install.summary.invalid-modpack-files": {
|
||||
"message": "Modpaketets filer har ogiltig metadata"
|
||||
},
|
||||
"app.action-bar.install.summary.local-data-error": {
|
||||
"message": "Kunde inte uppdatera lokal data"
|
||||
},
|
||||
@@ -125,20 +134,17 @@
|
||||
"app.ads-consent.title": {
|
||||
"message": "Din integritet och hur reklam stödjer Modrinth"
|
||||
},
|
||||
"app.appearance-settings.advanced-rendering.description": {
|
||||
"message": "Aktiverar avancerad rendering som till exempel oskärpa vilket kan leda till prestandaproblem utan hårdvaruaccelererad rendering."
|
||||
},
|
||||
"app.appearance-settings.advanced-rendering.title": {
|
||||
"message": "Avancerad rendering"
|
||||
},
|
||||
"app.appearance-settings.color-theme.description": {
|
||||
"message": "Välj färgtema för Modrinth-appen."
|
||||
"message": "Välj färgtemat som används av Modrinth App."
|
||||
},
|
||||
"app.appearance-settings.color-theme.title": {
|
||||
"message": "Färgtema"
|
||||
},
|
||||
"app.appearance-settings.default-landing-page.description": {
|
||||
"message": "Ändrar sidan som launchern öppnas på."
|
||||
"message": "Välj sidan som visas när Modrinth App öppnas."
|
||||
},
|
||||
"app.appearance-settings.default-landing-page.home": {
|
||||
"message": "Hem"
|
||||
@@ -149,50 +155,35 @@
|
||||
"app.appearance-settings.default-landing-page.title": {
|
||||
"message": "Standardlandingssida"
|
||||
},
|
||||
"app.appearance-settings.hide-nametag.description": {
|
||||
"message": "Inaktiverar namnskylten ovanför din spelare på utseende-sidan."
|
||||
},
|
||||
"app.appearance-settings.hide-nametag.title": {
|
||||
"message": "Dölj namnskylt"
|
||||
},
|
||||
"app.appearance-settings.jump-back-into-worlds.description": {
|
||||
"message": "Inkluderar de senaste världarna i \"Hoppa tillbaka i världar\" på hemsidan."
|
||||
},
|
||||
"app.appearance-settings.jump-back-into-worlds.title": {
|
||||
"message": "Hoppa tillbaka i världar"
|
||||
},
|
||||
"app.appearance-settings.minimize-launcher.description": {
|
||||
"message": "Minimerar launchern när Minecraft startas."
|
||||
"message": "Minimera Modrinth App när Minecraft startar."
|
||||
},
|
||||
"app.appearance-settings.minimize-launcher.title": {
|
||||
"message": "Minimera programstartare"
|
||||
},
|
||||
"app.appearance-settings.native-decorations.description": {
|
||||
"message": "Använd systemets fönsterram (omstart av app krävs)."
|
||||
},
|
||||
"app.appearance-settings.native-decorations.title": {
|
||||
"message": "Inbyggda fönsterdekorationer"
|
||||
"message": "Minimera app"
|
||||
},
|
||||
"app.appearance-settings.show-play-time.description": {
|
||||
"message": "Visar hur mycket tid du spelat på en instans."
|
||||
"message": "Visa hur länge du spelat varje instans."
|
||||
},
|
||||
"app.appearance-settings.show-play-time.title": {
|
||||
"message": "Visa speltid"
|
||||
},
|
||||
"app.appearance-settings.skip-non-essential-warnings.description": {
|
||||
"message": "Hoppar över bekräftelser med låg risk, såsom installation av dubbla modpaket, radering av vanligt innehåll, massuppdateringar, avlänkning av modpaket och reparationsmeddelanden. Varningar om farliga händelser visas fortfarande."
|
||||
},
|
||||
"app.appearance-settings.skip-non-essential-warnings.title": {
|
||||
"message": "Hoppa över icke nödvändiga varningar"
|
||||
},
|
||||
"app.appearance-settings.toggle-sidebar.description": {
|
||||
"message": "Låter dig växla sidofältet."
|
||||
"message": "Dölj det högra sidofältet och lägg till en knapp för att visa eller dölja det."
|
||||
},
|
||||
"app.appearance-settings.toggle-sidebar.title": {
|
||||
"message": "Växla sidofält"
|
||||
"message": "Dölj högra sidofält"
|
||||
},
|
||||
"app.appearance-settings.unknown-pack-warning.description": {
|
||||
"message": "Om du försöker installera en Modrinth Pack fil (.mrpack) som inte kommer från Modrinth ser vi till att du känner till riskerna innan du installerar den."
|
||||
"message": "Visa en säkerhetsvarning innan du installerar ett Modrinth Pack (.mrpack) som inte finns på Modrinth."
|
||||
},
|
||||
"app.appearance-settings.unknown-pack-warning.title": {
|
||||
"message": "Varna mig innan jag installerar okända modpaket"
|
||||
@@ -203,6 +194,15 @@
|
||||
"app.auth-servers.unreachable.header": {
|
||||
"message": "Kan ej nå autentiseringsservrarna"
|
||||
},
|
||||
"app.behavior-settings.confirmations.title": {
|
||||
"message": "Bekräftningar"
|
||||
},
|
||||
"app.behavior-settings.content.title": {
|
||||
"message": "Hem och innehåll"
|
||||
},
|
||||
"app.behavior-settings.startup-and-navigation.title": {
|
||||
"message": "Uppstart och navigering"
|
||||
},
|
||||
"app.browse.add-servers-to-instance": {
|
||||
"message": "Lägger till server till instans"
|
||||
},
|
||||
@@ -224,12 +224,18 @@
|
||||
"app.browse.back-to-instance": {
|
||||
"message": "Tillbaka till instans"
|
||||
},
|
||||
"app.browse.discover-project-type": {
|
||||
"message": "Utforska {projectType}"
|
||||
},
|
||||
"app.browse.discover-servers": {
|
||||
"message": "Upptäck servrar"
|
||||
},
|
||||
"app.browse.hide-added-servers": {
|
||||
"message": "Göm redan tillagda servrar"
|
||||
},
|
||||
"app.browse.hide-installed-modpacks": {
|
||||
"message": "Dölj redan installerade"
|
||||
},
|
||||
"app.browse.project-type.modpacks": {
|
||||
"message": "Modpaket"
|
||||
},
|
||||
@@ -320,9 +326,42 @@
|
||||
"app.instance.admonitions.shared-instance.added-label": {
|
||||
"message": "Tillagd"
|
||||
},
|
||||
"app.instance.admonitions.shared-instance.changes-body": {
|
||||
"message": "Din lokala instans ligger före de användare du har delat med."
|
||||
},
|
||||
"app.instance.admonitions.shared-instance.changes-header": {
|
||||
"message": "Dina ändringar har inte delats än"
|
||||
},
|
||||
"app.instance.admonitions.shared-instance.publish-button": {
|
||||
"message": "Ge ut en uppdatering"
|
||||
},
|
||||
"app.instance.admonitions.shared-instance.publishing-button": {
|
||||
"message": "Ger ut..."
|
||||
},
|
||||
"app.instance.admonitions.shared-instance.removed-label": {
|
||||
"message": "Borttagen"
|
||||
},
|
||||
"app.instance.admonitions.shared-instance.review-admonition-header": {
|
||||
"message": "Ge ut en uppdatering"
|
||||
},
|
||||
"app.instance.admonitions.shared-instance.review-description": {
|
||||
"message": "Granska innehållsändringarna som kommer delas med alla som använder den här instansen."
|
||||
},
|
||||
"app.instance.admonitions.shared-instance.review-header": {
|
||||
"message": "Granskar ändringar"
|
||||
},
|
||||
"app.instance.admonitions.shared-instance.review-update-button": {
|
||||
"message": "Granska uppdatering"
|
||||
},
|
||||
"app.instance.admonitions.shared-instance.reviewing-button": {
|
||||
"message": "Granskar..."
|
||||
},
|
||||
"app.instance.admonitions.shared-instance.update-available-body": {
|
||||
"message": "En uppdatering krävs för att spela {name}. Vänligen uppdatera till den senaste verisoner för att köra spelet."
|
||||
},
|
||||
"app.instance.admonitions.shared-instance.update-available-header": {
|
||||
"message": "En uppdatering finns tillgänglig"
|
||||
},
|
||||
"app.instance.confirm-delete.admonition-body": {
|
||||
"message": "All data från din instans kommer permanent raderas, däribland dina världar, konfigurationer samt allt installerat innehåll."
|
||||
},
|
||||
@@ -359,6 +398,9 @@
|
||||
"app.instance.mods.content-type-project": {
|
||||
"message": "projekt"
|
||||
},
|
||||
"app.instance.mods.locked-content": {
|
||||
"message": "Innehåll i låsta instanser kan inte ändras."
|
||||
},
|
||||
"app.instance.mods.project-was-added": {
|
||||
"message": "\"{name}\" lades till"
|
||||
},
|
||||
@@ -386,6 +428,9 @@
|
||||
"app.instance.share.invite-modal.heading": {
|
||||
"message": "Dela {name}"
|
||||
},
|
||||
"app.instance.share.invite-modal.user-limit-reached": {
|
||||
"message": "Instansen har nått gränsen på {limit} användare."
|
||||
},
|
||||
"app.instance.share.locked.empty-description-prefix": {
|
||||
"message": "Du behöver logga in som"
|
||||
},
|
||||
@@ -404,6 +449,12 @@
|
||||
"app.instance.share.locked.wrong-account-heading": {
|
||||
"message": "Fel konto"
|
||||
},
|
||||
"app.instance.share.members.empty": {
|
||||
"message": "Inga användare har gått med än"
|
||||
},
|
||||
"app.instance.share.members.no-filter-results": {
|
||||
"message": "Ingen användare matchade dina filter."
|
||||
},
|
||||
"app.instance.share.remove-user-modal.effect-access": {
|
||||
"message": "De kommer inte längre få uppdateringar för denna delade instansen"
|
||||
},
|
||||
@@ -413,6 +464,9 @@
|
||||
"app.instance.share.remove-user-modal.effect-invite-again": {
|
||||
"message": "Du kan bjuda in dem igen senare"
|
||||
},
|
||||
"app.instance.share.remove-user-modal.effect-last-user": {
|
||||
"message": "Detta är den sista användaren, delning kommer avaktiveras för den här instansen"
|
||||
},
|
||||
"app.instance.share.remove-user-modal.effects-label": {
|
||||
"message": "Vad händer?"
|
||||
},
|
||||
@@ -431,6 +485,12 @@
|
||||
"app.instance.share.sign-in.button": {
|
||||
"message": "Logga in"
|
||||
},
|
||||
"app.instance.share.unable-to-connect.description": {
|
||||
"message": "Delade instanser-tjänsten är inte tillgänglig för tillfället, vänligen försök igen senare"
|
||||
},
|
||||
"app.instance.share.unable-to-connect.heading": {
|
||||
"message": "Kunde inte ansluta"
|
||||
},
|
||||
"app.instance.share.unlink.body": {
|
||||
"message": "Du måste avlänka detta modpaket för att dela din instans"
|
||||
},
|
||||
@@ -452,9 +512,18 @@
|
||||
"app.instance.shared-instance-wrong-account.fallback-username": {
|
||||
"message": "det länkade kontot"
|
||||
},
|
||||
"app.instance.shared-instance-wrong-account.owner-admonition-body-v2": {
|
||||
"message": "för att hantera denna delade instans. Du kommer inte ge ut uppdateringar till användare."
|
||||
},
|
||||
"app.instance.shared-instance-wrong-account.sign-in-as-label": {
|
||||
"message": "Logga in som"
|
||||
},
|
||||
"app.instance.shared-instance-wrong-account.signed-out-header": {
|
||||
"message": "Du behöver logga in på Modrinth"
|
||||
},
|
||||
"app.instance.shared-instance-wrong-account.user-admonition-body-v2": {
|
||||
"message": "för att få uppdateringar till den här delade instansen."
|
||||
},
|
||||
"app.instance.shared-instance-wrong-account.warning-header": {
|
||||
"message": "Du använder fel Modrinth-konto"
|
||||
},
|
||||
@@ -509,12 +578,60 @@
|
||||
"app.instance.worlds.search-worlds-placeholder": {
|
||||
"message": "Sök {count} världar..."
|
||||
},
|
||||
"app.java-detection.cancel": {
|
||||
"message": "Avbryt"
|
||||
},
|
||||
"app.java-detection.columns.actions": {
|
||||
"message": "Åtgärder"
|
||||
},
|
||||
"app.java-detection.columns.path": {
|
||||
"message": "Sökväg"
|
||||
},
|
||||
"app.java-detection.columns.version": {
|
||||
"message": "Version"
|
||||
},
|
||||
"app.java-detection.no-installations-found": {
|
||||
"message": "Inga Java-installationer hittades."
|
||||
},
|
||||
"app.java-detection.select": {
|
||||
"message": "Välj"
|
||||
},
|
||||
"app.java-detection.selected": {
|
||||
"message": "Vald"
|
||||
},
|
||||
"app.java-detection.title": {
|
||||
"message": "Välj java-installation"
|
||||
},
|
||||
"app.java-selector.already-installed": {
|
||||
"message": "Redan installerad"
|
||||
},
|
||||
"app.java-selector.browse": {
|
||||
"message": "Bläddra"
|
||||
},
|
||||
"app.java-selector.detect": {
|
||||
"message": "Hitta"
|
||||
},
|
||||
"app.java-selector.install-recommended": {
|
||||
"message": "Installation rekommenderas"
|
||||
},
|
||||
"app.java-selector.installing": {
|
||||
"message": "Installerar..."
|
||||
},
|
||||
"app.java-selector.path.placeholder": {
|
||||
"message": "/sökväg/till/java"
|
||||
},
|
||||
"app.java-selector.test-installation": {
|
||||
"message": "Testa Java-installationen"
|
||||
},
|
||||
"app.modal.install-to-play.additional-context": {
|
||||
"message": "Ytterligare sammanhang"
|
||||
},
|
||||
"app.modal.install-to-play.additional-context-placeholder": {
|
||||
"message": "Inkludera länkar och bilder om möjligt och relevant"
|
||||
},
|
||||
"app.modal.install-to-play.block-user": {
|
||||
"message": "Blockera användare"
|
||||
},
|
||||
"app.modal.install-to-play.content-you-are-reporting": {
|
||||
"message": "Instans du anmäler"
|
||||
},
|
||||
@@ -536,21 +653,69 @@
|
||||
"app.modal.install-to-play.invite-warning": {
|
||||
"message": "Denna inbjudan skapades av en annan Modrinth-användare, inte Modrinth. Acceptera endast inbjudningar från personer du litar på."
|
||||
},
|
||||
"app.modal.install-to-play.invite-warning-with-creator": {
|
||||
"message": "Denna inbjudan skapades av <creator>{username}</creator>, inte Modrinth. Acceptera endast inbjudningar från personer du litar på."
|
||||
},
|
||||
"app.modal.install-to-play.mod-count": {
|
||||
"message": "{count, plural, one {# mod} other {# moddar}}"
|
||||
},
|
||||
"app.modal.install-to-play.report-description": {
|
||||
"message": "Använd denna formulär för att anmäla instanser som kan bryta mot våra <rules-link>Regler</rules-link> eller <terms-link>Användarvillkor</terms-link>."
|
||||
},
|
||||
"app.modal.install-to-play.report-image-invalid-type": {
|
||||
"message": "Filen är inte en godkänd bildtyp"
|
||||
},
|
||||
"app.modal.install-to-play.report-image-too-large": {
|
||||
"message": "Fil överskrider storleksgränsen på 1 MiB"
|
||||
},
|
||||
"app.modal.install-to-play.report-legal-claims": {
|
||||
"message": "För DMCA-meddelanden eller andra juridiska anspråk, se våran <copyright-link>Copyright Policy</copyright-link>."
|
||||
},
|
||||
"app.modal.install-to-play.report-reason": {
|
||||
"message": "Vilken regel bryter instansen mot?"
|
||||
},
|
||||
"app.modal.install-to-play.report-reason.inappropriate": {
|
||||
"message": "Olämplig"
|
||||
},
|
||||
"app.modal.install-to-play.report-reason.malicious": {
|
||||
"message": "Skadlig"
|
||||
},
|
||||
"app.modal.install-to-play.report-reason.spam": {
|
||||
"message": "Spam"
|
||||
},
|
||||
"app.modal.install-to-play.report-shared-instance-header": {
|
||||
"message": "Rapportera delad instans"
|
||||
},
|
||||
"app.modal.install-to-play.report-submitted": {
|
||||
"message": "Rapport skickad"
|
||||
},
|
||||
"app.modal.install-to-play.report-support-and-bugs": {
|
||||
"message": "För supportärenden, kontakta vårt <support-link>supportteam</support-link>. För buggrapporter, öppna ett <github-link>GitHub issue</github-link>."
|
||||
},
|
||||
"app.modal.install-to-play.reviewed-files": {
|
||||
"message": "En fil granskas bara om den publiceras på Modrinth, oavsett dess filformat (inklusive .mrpack)."
|
||||
},
|
||||
"app.modal.install-to-play.shared-instance": {
|
||||
"message": "Delad instans"
|
||||
},
|
||||
"app.modal.install-to-play.shared-instance-content": {
|
||||
"message": "Delat instansinnehåll"
|
||||
},
|
||||
"app.modal.install-to-play.shared-instance-unknown-files-description": {
|
||||
"message": "Denna delad instans innehåller filer som inte är publicerade på Modrinth. Vi rekommenderar stark att du endast installerar filer från källor du litar på."
|
||||
},
|
||||
"app.modal.install-to-play.unknown-files-description": {
|
||||
"message": "Detta server-modpaket innehåller filer som inte är utgivna på Modrinth. Vi rekommenderar att endast installera filer från källor du litar på."
|
||||
},
|
||||
"app.modal.install-to-play.unknown-files-warning": {
|
||||
"message": "Okända filvarningar"
|
||||
},
|
||||
"app.modal.install-to-play.unrecognized-files": {
|
||||
"message": "Okända filer"
|
||||
},
|
||||
"app.modal.install-to-play.user-blocked": {
|
||||
"message": "Användare blockerad"
|
||||
},
|
||||
"app.modal.install-to-play.view-contents": {
|
||||
"message": "Visa innehåll"
|
||||
},
|
||||
@@ -566,6 +731,39 @@
|
||||
"app.modal.update-to-play.shared-instance-removed-label": {
|
||||
"message": "Tog bort"
|
||||
},
|
||||
"app.modal.update-to-play.update-required": {
|
||||
"message": "Uppdatering krävs"
|
||||
},
|
||||
"app.modal.update-to-play.update-required-description": {
|
||||
"message": "En uppdatering krävs för att spela {name}. Vänligen uppdatera till den senaste verisoner för att köra spelet."
|
||||
},
|
||||
"app.nav.create-new-instance": {
|
||||
"message": "Skapa ny instans"
|
||||
},
|
||||
"app.nav.home": {
|
||||
"message": "Hem"
|
||||
},
|
||||
"app.nav.library": {
|
||||
"message": "Bibliotek"
|
||||
},
|
||||
"app.nav.modrinth-account": {
|
||||
"message": "Modrinth-konto"
|
||||
},
|
||||
"app.nav.sign-in-to-modrinth-account": {
|
||||
"message": "Logga in till ett Modrinth-konto"
|
||||
},
|
||||
"app.nav.signed-in-as": {
|
||||
"message": "Inloggad som <user>{username}</user>"
|
||||
},
|
||||
"app.nav.upgrade-to-modrinth-plus": {
|
||||
"message": "Upgradera till Modrinth+"
|
||||
},
|
||||
"app.news.title": {
|
||||
"message": "Nyheter"
|
||||
},
|
||||
"app.news.view-all": {
|
||||
"message": "Se alla nyheter"
|
||||
},
|
||||
"app.project.install-button.already-installed": {
|
||||
"message": "Detta projekt är redan installerat"
|
||||
},
|
||||
@@ -575,6 +773,9 @@
|
||||
"app.project.install-context.back-to-browse": {
|
||||
"message": "Tillbaka till upptäck"
|
||||
},
|
||||
"app.project.install-context.back-to-instance": {
|
||||
"message": "Tillbaka till instans"
|
||||
},
|
||||
"app.project.version.all-versions": {
|
||||
"message": "Alla versioner"
|
||||
},
|
||||
@@ -587,20 +788,98 @@
|
||||
"app.project.versions.already-installed": {
|
||||
"message": "Redan installerat"
|
||||
},
|
||||
"app.restarting": {
|
||||
"message": "Startar om..."
|
||||
},
|
||||
"app.settings.app-version": {
|
||||
"message": "Modrinth App {version}"
|
||||
},
|
||||
"app.settings.default-instance-options.environment-variables.placeholder": {
|
||||
"message": "Ange miljövariabler..."
|
||||
},
|
||||
"app.settings.default-instance-options.environment-variables.title": {
|
||||
"message": "Miljövariabler"
|
||||
},
|
||||
"app.settings.default-instance-options.fullscreen.description": {
|
||||
"message": "Starta instanser i helskärm genom att uppdatera deras option.txt-fil."
|
||||
},
|
||||
"app.settings.default-instance-options.fullscreen.title": {
|
||||
"message": "Helskärm"
|
||||
},
|
||||
"app.settings.default-instance-options.height.description": {
|
||||
"message": "Höjden på spelfönstret vid uppstart."
|
||||
},
|
||||
"app.settings.default-instance-options.height.placeholder": {
|
||||
"message": "Ange höjd..."
|
||||
},
|
||||
"app.settings.default-instance-options.height.title": {
|
||||
"message": "Höjd"
|
||||
},
|
||||
"app.settings.default-instance-options.java-arguments.placeholder": {
|
||||
"message": "Ange Java-argument..."
|
||||
},
|
||||
"app.settings.default-instance-options.java-arguments.title": {
|
||||
"message": "Java-argument"
|
||||
},
|
||||
"app.settings.default-instance-options.post-exit-hook.description": {
|
||||
"message": "Körs efter att spelet stängs."
|
||||
},
|
||||
"app.settings.default-instance-options.pre-launch-hook.description": {
|
||||
"message": "Körs innan instansen startar."
|
||||
},
|
||||
"app.settings.default-instance-options.pre-launch-hook.placeholder": {
|
||||
"message": "Ange för-starts kommando..."
|
||||
},
|
||||
"app.settings.default-instance-options.width.placeholder": {
|
||||
"message": "Ange bredd..."
|
||||
},
|
||||
"app.settings.default-instance-options.width.title": {
|
||||
"message": "Bredd"
|
||||
},
|
||||
"app.settings.developer-mode-button.label": {
|
||||
"message": "Växla utvecklarläge"
|
||||
},
|
||||
"app.settings.developer-mode-enabled": {
|
||||
"message": "Utvecklarläge aktiverat."
|
||||
},
|
||||
"app.settings.downloading": {
|
||||
"message": "Ladda ner v{version}"
|
||||
},
|
||||
"app.settings.operating-system.macos": {
|
||||
"message": "macOS"
|
||||
},
|
||||
"app.settings.privacy.ads-consent.intro": {
|
||||
"message": "Reklam gör Modrinth möjligt och finansierar utbetalningar till skapare. Våra partners kan lagra eller komma åt cookies i appen för att Personalisera reklam och mäta statistik."
|
||||
},
|
||||
"app.settings.privacy.telemetry.description": {
|
||||
"message": "Modrinth samlar in anonymiserad statistik och användningsdata för att förbättra vår användarupplevelse och anpassa din upplevelse. Genom att inaktivera det här alternativet avanmäler du dig och din data kommer inte längre samlas in."
|
||||
},
|
||||
"app.settings.privacy.telemetry.title": {
|
||||
"message": "Telemetri"
|
||||
},
|
||||
"app.settings.resource-management.app-cache.confirm.description": {
|
||||
"message": "Appen kan laddas in långsammare tills cachen är återuppbyggd."
|
||||
},
|
||||
"app.settings.resource-management.app-cache.confirm.title": {
|
||||
"message": "Rensa app-cachen?"
|
||||
},
|
||||
"app.settings.resource-management.app-cache.description": {
|
||||
"message": "Töm cachad data och ladda ner den igen från Modrinth. Appen kan laddas in långsammare tills cachen är återuppbyggd."
|
||||
},
|
||||
"app.settings.resource-management.app-cache.purge": {
|
||||
"message": "Rensa cache"
|
||||
},
|
||||
"app.settings.resource-management.app-cache.title": {
|
||||
"message": "App-cache"
|
||||
},
|
||||
"app.settings.sidebar.label.instances": {
|
||||
"message": "Instanser"
|
||||
},
|
||||
"app.settings.tabs.appearance": {
|
||||
"message": "Utseende"
|
||||
},
|
||||
"app.settings.tabs.default-instance-options": {
|
||||
"message": "Standardinställningar för instanser"
|
||||
"app.settings.tabs.behavior": {
|
||||
"message": "Beteende"
|
||||
},
|
||||
"app.settings.tabs.java-installations": {
|
||||
"message": "Java-installationer"
|
||||
@@ -614,6 +893,9 @@
|
||||
"app.settings.tabs.resource-management": {
|
||||
"message": "Resurshantering"
|
||||
},
|
||||
"app.sidebar.playing-as": {
|
||||
"message": "Spelar som"
|
||||
},
|
||||
"app.skins.add-button": {
|
||||
"message": "Lägg till utseende"
|
||||
},
|
||||
@@ -638,6 +920,9 @@
|
||||
"app.skins.dropped-file-error.title": {
|
||||
"message": "Fel med behandlingen av filen"
|
||||
},
|
||||
"app.skins.ears-feature-notice": {
|
||||
"message": "Detta utseende använder funktioner från {ears}-modden"
|
||||
},
|
||||
"app.skins.edit-button": {
|
||||
"message": "Ändra utseende"
|
||||
},
|
||||
@@ -764,6 +1049,21 @@
|
||||
"app.skins.title": {
|
||||
"message": "Utseende väljare"
|
||||
},
|
||||
"app.skins.toggle-ears-features-off": {
|
||||
"message": "Växla av"
|
||||
},
|
||||
"app.skins.toggle-ears-features-on": {
|
||||
"message": "Växla på"
|
||||
},
|
||||
"app.survey.footer": {
|
||||
"message": "Den här återkopplingen kommer gå direkt till Modrinth-teamet och hjälper till att vägleda framtida uppdateringar!"
|
||||
},
|
||||
"app.survey.no-thanks": {
|
||||
"message": "Nej tack"
|
||||
},
|
||||
"app.survey.title": {
|
||||
"message": "Hej där Modrinth-användare!"
|
||||
},
|
||||
"app.update-popup.body.download-complete": {
|
||||
"message": "Modrinth App v{version} har laddats ner. Ladda om för att uppdatera nu, eller automatiskt när du stänger Modrinth App."
|
||||
},
|
||||
@@ -812,6 +1112,30 @@
|
||||
"app.world.world-item.players-online": {
|
||||
"message": "{count} online"
|
||||
},
|
||||
"content.shared-instance.change-version-body": {
|
||||
"message": "Att ändra versionen ändrar endast din lokala kopia. Framtida uppdateringar till den delade instansen kan återställa eller ändra den igen."
|
||||
},
|
||||
"content.shared-instance.delete-bulk-body": {
|
||||
"message": "Vissa valda projekt är en del av den delade instansen. Att radera dem ändrar endast din lokala kopia och framtida uppdateringar till den delade instansen kan återställa eller ändra dem igen."
|
||||
},
|
||||
"content.shared-instance.delete-button": {
|
||||
"message": "Radera ändå"
|
||||
},
|
||||
"content.shared-instance.delete-many-button": {
|
||||
"message": "Radera {count, number} projekt ändå"
|
||||
},
|
||||
"content.shared-instance.delete-single-body": {
|
||||
"message": "Att radera den ändrar endast din lokala kopia. Framtida uppdateringar till den delade instansen kan återställa eller ändra den igen."
|
||||
},
|
||||
"content.shared-instance.disable-button": {
|
||||
"message": "Inaktivera ändå"
|
||||
},
|
||||
"content.shared-instance.disable-many-button": {
|
||||
"message": "Inaktivera {count, number} projekt ändå"
|
||||
},
|
||||
"content.shared-instance.warning-header": {
|
||||
"message": "Det här är en del av den delade instansen"
|
||||
},
|
||||
"friends.action.add-friend": {
|
||||
"message": "Lägg till en vän"
|
||||
},
|
||||
@@ -875,12 +1199,33 @@
|
||||
"friends.sign-in-to-add-friends": {
|
||||
"message": "<link>Logga in på ett Modrinth-konto</link> för att lägga till vänner och se vad de spelar!"
|
||||
},
|
||||
"installation-settings.shared-instance.title": {
|
||||
"message": "Avpublicera instans"
|
||||
},
|
||||
"installation-settings.shared-instance.unlink-button": {
|
||||
"message": "Avlänka delad instans"
|
||||
},
|
||||
"installation-settings.shared-instance.unlinking-button": {
|
||||
"message": "Avlänkar..."
|
||||
},
|
||||
"installation-settings.shared-instance.unpublish-button": {
|
||||
"message": "Avpublicera delad instans"
|
||||
},
|
||||
"installation-settings.shared-instance.unpublish-description": {
|
||||
"message": "Ta bort den delade instansen från Modrinth och sluta skicka uppdateringar till alla som använder den. Din lokala instans kommer inte att påverkas."
|
||||
},
|
||||
"installation-settings.shared-instance.unpublishing-button": {
|
||||
"message": "Avpublicerar..."
|
||||
},
|
||||
"installation-settings.unpublish-shared-instance.modal.admonition-body": {
|
||||
"message": "Detta raderar den delade instansen från Modrinths servrar. De som använder den i Modrinth App kommer sluta få uppdateringar, men din lokala instans och dess innehåll är kvar på den här enheten."
|
||||
},
|
||||
"installation-settings.unpublish-shared-instance.modal.admonition-header": {
|
||||
"message": "Avpublicerar delad instans"
|
||||
},
|
||||
"installation-settings.unpublish-shared-instance.modal.header": {
|
||||
"message": "Avpublicera delad instans"
|
||||
},
|
||||
"instance.action.create-shortcut": {
|
||||
"message": "Skapa genväg"
|
||||
},
|
||||
@@ -953,6 +1298,9 @@
|
||||
"instance.locked.delete-button": {
|
||||
"message": "Radera instans"
|
||||
},
|
||||
"instance.locked.play-tooltip": {
|
||||
"message": "Denna instans har låsts"
|
||||
},
|
||||
"instance.playtime.never-played": {
|
||||
"message": "Aldrig spelad"
|
||||
},
|
||||
@@ -968,6 +1316,30 @@
|
||||
"instance.server-modal.resource-pack": {
|
||||
"message": "Resurs pack"
|
||||
},
|
||||
"instance.settings.sharing.active-invites.code": {
|
||||
"message": "Inbjudningslänk"
|
||||
},
|
||||
"instance.settings.sharing.active-invites.expires": {
|
||||
"message": "Går ut"
|
||||
},
|
||||
"instance.settings.sharing.active-invites.revoke": {
|
||||
"message": "Återkalla inbjudan"
|
||||
},
|
||||
"instance.settings.sharing.active-invites.revoke-with-code": {
|
||||
"message": "Återkalla inbjudan {code}"
|
||||
},
|
||||
"instance.settings.sharing.active-invites.title": {
|
||||
"message": "Aktiva inbjudningar"
|
||||
},
|
||||
"instance.settings.sharing.active-invites.uses": {
|
||||
"message": "Användningar"
|
||||
},
|
||||
"instance.settings.sharing.revoke-invite.confirm": {
|
||||
"message": "Återkalla inbjudan"
|
||||
},
|
||||
"instance.settings.sharing.revoke-invite.header": {
|
||||
"message": "Återkalla inbjudan"
|
||||
},
|
||||
"instance.settings.tabs.general": {
|
||||
"message": "Allmänt"
|
||||
},
|
||||
@@ -1166,6 +1538,9 @@
|
||||
"instance.shared-instance.error.title": {
|
||||
"message": "Något gick fel"
|
||||
},
|
||||
"instance.shared-instance.network-error.title": {
|
||||
"message": "Nätverksfel"
|
||||
},
|
||||
"instance.shared-instance.publish-review.added-label": {
|
||||
"message": "Lade till"
|
||||
},
|
||||
@@ -1178,6 +1553,9 @@
|
||||
"instance.shared-instance.publish-review.removed-label": {
|
||||
"message": "Tog bort"
|
||||
},
|
||||
"instance.shared-instance.unavailable.locked-title": {
|
||||
"message": "Instans låst"
|
||||
},
|
||||
"instance.worlds.a_minecraft_server": {
|
||||
"message": "En Minecraft Server"
|
||||
},
|
||||
@@ -1262,9 +1640,6 @@
|
||||
"minecraft-required.sign-in": {
|
||||
"message": "Logga in på Microsoft"
|
||||
},
|
||||
"modal.modrinth-account-required.cancel-button": {
|
||||
"message": "Avbryt"
|
||||
},
|
||||
"modal.modrinth-account-required.continue-in-browser-heading": {
|
||||
"message": "Fortsätt i din webbläsare"
|
||||
},
|
||||
@@ -1277,9 +1652,18 @@
|
||||
"modal.modrinth-account-required.open-browser-again-button": {
|
||||
"message": "Öppna webbläsare igen"
|
||||
},
|
||||
"modal.modrinth-account-required.sign-in-button": {
|
||||
"message": "Logga in på Modrinth"
|
||||
},
|
||||
"modal.modrinth-account-required.sign-in-heading": {
|
||||
"message": "Logga in till ett Modrinth-konto"
|
||||
},
|
||||
"modal.modrinth-account-required.signing-in-header": {
|
||||
"message": "Loggar in"
|
||||
},
|
||||
"modal.modrinth-account-required.support-prompt": {
|
||||
"message": "Har du problem med att logga in? <support>Få hjälp</support>"
|
||||
},
|
||||
"search.filter.locked.instance": {
|
||||
"message": "Tillhandahållet av instansen"
|
||||
},
|
||||
@@ -1303,5 +1687,11 @@
|
||||
},
|
||||
"search.filter.locked.server-loader.title": {
|
||||
"message": "Loader tillhandahålls av servern"
|
||||
},
|
||||
"settings.sidebar.label.account": {
|
||||
"message": "Konto"
|
||||
},
|
||||
"settings.sidebar.label.display": {
|
||||
"message": "Visning"
|
||||
}
|
||||
}
|
||||
|
||||
@@ -59,21 +59,12 @@
|
||||
"app.action-bar.view-logs": {
|
||||
"message": "ดู Log"
|
||||
},
|
||||
"app.appearance-settings.advanced-rendering.description": {
|
||||
"message": "เปิดการใช้งานการเรนเดอร์ขั้นสูง เช่น เอฟเฟคการเบลอ อาจทำให้เกมเกิดปัญหาด้านประสิทธิภาพได้หากไม่มีอุปกรณ์ฮาร์ดแวร์ที่สามารถรองรับการเรนเดอร์ได้"
|
||||
},
|
||||
"app.appearance-settings.advanced-rendering.title": {
|
||||
"message": "การเรนเดอร์ขั้นสูง"
|
||||
},
|
||||
"app.appearance-settings.color-theme.description": {
|
||||
"message": "เลือกธีมสีที่คุณต้องการสำหรับ Modrinth App"
|
||||
},
|
||||
"app.appearance-settings.color-theme.title": {
|
||||
"message": "ธีมสี"
|
||||
},
|
||||
"app.appearance-settings.default-landing-page.description": {
|
||||
"message": "เปลี่ยนหน้าไปหน้าต่างที่ลันเชอร์เปิดขึ้นมา"
|
||||
},
|
||||
"app.appearance-settings.default-landing-page.home": {
|
||||
"message": "หน้าหลัก"
|
||||
},
|
||||
@@ -83,45 +74,15 @@
|
||||
"app.appearance-settings.default-landing-page.title": {
|
||||
"message": "หน้าเริ่มต้น"
|
||||
},
|
||||
"app.appearance-settings.hide-nametag.description": {
|
||||
"message": "ซ่อนป้ายชื่อบนศีรษะของผู้เล่นในหน้าแสดงสกิน"
|
||||
},
|
||||
"app.appearance-settings.hide-nametag.title": {
|
||||
"message": "ซ่อนป้ายชื่อ"
|
||||
},
|
||||
"app.appearance-settings.jump-back-into-worlds.description": {
|
||||
"message": "แสดงโลกที่เล่นล่าสุดในส่วน \"เล่นต่อ\" บนหน้าหลัก"
|
||||
},
|
||||
"app.appearance-settings.jump-back-into-worlds.title": {
|
||||
"message": "เล่นต่อ"
|
||||
},
|
||||
"app.appearance-settings.minimize-launcher.description": {
|
||||
"message": "ย่อลันเชอร์เมื่อกระบวนการการรัน Minecraft เริ่มต้นแล้ว"
|
||||
},
|
||||
"app.appearance-settings.minimize-launcher.title": {
|
||||
"message": "ย่อลันเชอร์"
|
||||
},
|
||||
"app.appearance-settings.native-decorations.description": {
|
||||
"message": "ใช้กรอบหน้าต่างระบบ (ต้องรีสตาร์ทแอป)"
|
||||
},
|
||||
"app.appearance-settings.native-decorations.title": {
|
||||
"message": "ของตกแต่งดั้งเดิม"
|
||||
},
|
||||
"app.appearance-settings.show-play-time.description": {
|
||||
"message": "แสดงเวลาที่คุณใช้เล่นในแต่ละอินสแตนซ์"
|
||||
},
|
||||
"app.appearance-settings.show-play-time.title": {
|
||||
"message": "แสดงระยะเวลาที่เล่น"
|
||||
},
|
||||
"app.appearance-settings.toggle-sidebar.description": {
|
||||
"message": "เปิดใช้งานตัวเลือกในการเลือกย่อหรือขยายแถบด้านข้าง"
|
||||
},
|
||||
"app.appearance-settings.toggle-sidebar.title": {
|
||||
"message": "ย่อแถบด้านข้าง"
|
||||
},
|
||||
"app.appearance-settings.unknown-pack-warning.description": {
|
||||
"message": "หากคุณกำลังติดตั้งไฟล์แพ็กของ Modrinth (.mrpack) ที่ไม่ได้โฮสต์โดยตรงบน Modrinth เราจะแจ้งให้คุณตรวจสอบให้มั่นใจก่อนที่จะติดตั้งไฟล์แพ็กดังกล่าว"
|
||||
},
|
||||
"app.appearance-settings.unknown-pack-warning.title": {
|
||||
"message": "เตือนฉันก่อนติดตั้งแพ็กม็อดที่ไม่รู้จัก"
|
||||
},
|
||||
@@ -287,9 +248,6 @@
|
||||
"app.settings.tabs.appearance": {
|
||||
"message": "หน้าตา"
|
||||
},
|
||||
"app.settings.tabs.default-instance-options": {
|
||||
"message": "ตั้งค่าโปรแกรมเริ่มต้น"
|
||||
},
|
||||
"app.settings.tabs.java-installations": {
|
||||
"message": "การจัดการ Java ที่ติดตั้ง"
|
||||
},
|
||||
|
||||
@@ -144,19 +144,19 @@
|
||||
"message": "Sizin mahremiyetiniz ve reklamlar Modrinth'i nasıl destekler"
|
||||
},
|
||||
"app.appearance-settings.advanced-rendering.description": {
|
||||
"message": "Donanım hızlandırmalı işleme kapalıyken, performans sorunlarına yol açabilecek bulanıklık efektleri gibi gelişmiş işlemeleri aktif eder."
|
||||
"message": "Arka plan bulanıklığı gibi görsel efektleri etkinleştirin. Bu, donanım ivmelendirme yokken performansı etkileyebilir."
|
||||
},
|
||||
"app.appearance-settings.advanced-rendering.title": {
|
||||
"message": "Gelişmiş işleme"
|
||||
},
|
||||
"app.appearance-settings.color-theme.description": {
|
||||
"message": "Modrinth App için tercih ettiğiniz temayı seçin."
|
||||
"message": "Modrinth App tarafından kullanılacak renk şemasını seçin."
|
||||
},
|
||||
"app.appearance-settings.color-theme.title": {
|
||||
"message": "Tema Rengi"
|
||||
"message": "Renk teması"
|
||||
},
|
||||
"app.appearance-settings.default-landing-page.description": {
|
||||
"message": "Launcher açıldığında varsayılan olarak açılacak sayfayı seçin."
|
||||
"message": "Modrinth App açıldığında gözüken sayfayı seçin."
|
||||
},
|
||||
"app.appearance-settings.default-landing-page.home": {
|
||||
"message": "Ana Sayfa"
|
||||
@@ -168,49 +168,40 @@
|
||||
"message": "Varsayılan karşılama sayfası"
|
||||
},
|
||||
"app.appearance-settings.hide-nametag.description": {
|
||||
"message": "Kostümler sayfasındaki karakterinizin üzerindeki isim etiketini devre dışı bırakır."
|
||||
"message": "Dış görünüm seçici sayfasında oyuncu önizlemesinin üzerindeki kullanıcı adınızı gizleyin."
|
||||
},
|
||||
"app.appearance-settings.hide-nametag.title": {
|
||||
"message": "İsim etiketini gizle"
|
||||
},
|
||||
"app.appearance-settings.jump-back-into-worlds.description": {
|
||||
"message": "Ana sayfadaki 'Hızlıca Geri Dön' bölümünde son oynanan dünyaları gösterir."
|
||||
},
|
||||
"app.appearance-settings.jump-back-into-worlds.title": {
|
||||
"message": "Dünyalara hızlıca geri dön"
|
||||
},
|
||||
"app.appearance-settings.minimize-launcher.description": {
|
||||
"message": "Minecraft başlatıldığında launcher'i simge durumuna at."
|
||||
"message": "Minecraft başladığında Modrinth uygulamasını küçült."
|
||||
},
|
||||
"app.appearance-settings.minimize-launcher.title": {
|
||||
"message": "Launcher'i simge durumuna at"
|
||||
"message": "Uygulamayı küçült"
|
||||
},
|
||||
"app.appearance-settings.native-decorations.description": {
|
||||
"message": "Sistem pencere kenarlıklarını kullan (Yeniden başlatma gerekli)."
|
||||
"message": "İşletim sisteminizin başlık çubuğu ve pencere kontrollerini kullanın. Uygulamanın yeniden başlatılmasını gerektirir."
|
||||
},
|
||||
"app.appearance-settings.native-decorations.title": {
|
||||
"message": "Yerel pencere öğeleri"
|
||||
},
|
||||
"app.appearance-settings.show-play-time.description": {
|
||||
"message": "Bir oyun oturumunda ne kadar zaman geçirdiğinizi gösterir."
|
||||
"message": "Sistem pencere çerçevesi"
|
||||
},
|
||||
"app.appearance-settings.show-play-time.title": {
|
||||
"message": "Oynama Süresini Göster"
|
||||
},
|
||||
"app.appearance-settings.skip-non-essential-warnings.description": {
|
||||
"message": "Mükerrer mod paketi kurulumları, normal içerik silme, toplu güncellemeler, mod paketi bağlantısını kesme ve onarım uyarıları gibi düşük riskli onayları otomatik olarak atlar. Tehlikeli uyarılar gösterilmeye devam edecektir."
|
||||
"message": "Oynama süresini göster"
|
||||
},
|
||||
"app.appearance-settings.skip-non-essential-warnings.title": {
|
||||
"message": "Gerekli olmayan uyarıları atla"
|
||||
},
|
||||
"app.appearance-settings.toggle-sidebar.description": {
|
||||
"message": "Kenar çubuğunu ayarlama özelliğini aktifleştirir."
|
||||
"message": "Sağ kenar çubuğunu varsayılan olarak gizleyin ve onu göstermek ya da gizlemek için bir düğme ekleyin."
|
||||
},
|
||||
"app.appearance-settings.toggle-sidebar.title": {
|
||||
"message": "Kenar çubuğunu ayarla"
|
||||
"message": "Sağ kenar çubuğunu gizle"
|
||||
},
|
||||
"app.appearance-settings.unknown-pack-warning.description": {
|
||||
"message": "Modrinth üzerinde barındırılmayan bir Modrinth Paket dosyasını (.mrpack) yüklemeye çalışırsanız, yükleme öncesinde riskleri anladığınızdan emin oluruz."
|
||||
"message": "Modrinth'te yayınlanmayan bir Modrinth Pack (.mrpack) kurulmadan önce bir güvenlik uyarısı göster."
|
||||
},
|
||||
"app.appearance-settings.unknown-pack-warning.title": {
|
||||
"message": "Bilinmeyen mod paketlerini indirmeden önce beni uyar"
|
||||
@@ -221,6 +212,9 @@
|
||||
"app.auth-servers.unreachable.header": {
|
||||
"message": "Doğrulama sunucularına erişilemedi"
|
||||
},
|
||||
"app.behavior-settings.confirmations.title": {
|
||||
"message": "Onaylamalar"
|
||||
},
|
||||
"app.browse.add-servers-to-instance": {
|
||||
"message": "Sunucuyu kuruluma ekle"
|
||||
},
|
||||
@@ -242,6 +236,9 @@
|
||||
"app.browse.back-to-instance": {
|
||||
"message": "Kuruluma dön"
|
||||
},
|
||||
"app.browse.discover-project-type": {
|
||||
"message": "Keşfet {projectType}"
|
||||
},
|
||||
"app.browse.discover-servers": {
|
||||
"message": "Sunucuları keşfet"
|
||||
},
|
||||
@@ -339,13 +336,13 @@
|
||||
"message": "Eklendi"
|
||||
},
|
||||
"app.instance.admonitions.shared-instance.changes-body": {
|
||||
"message": "Yerel instance, paylaştığın kullanıcıların kurulumundan daha güncel."
|
||||
"message": "Yerel kurulumunuz paylaştığınız kullanıcılardan daha ileride."
|
||||
},
|
||||
"app.instance.admonitions.shared-instance.changes-header": {
|
||||
"message": "Değişiklikler henüz paylaşılmadı"
|
||||
},
|
||||
"app.instance.admonitions.shared-instance.publish-button": {
|
||||
"message": "Güncellemeyi Yayınla"
|
||||
"message": "Güncellemeyi gönder"
|
||||
},
|
||||
"app.instance.admonitions.shared-instance.publishing-button": {
|
||||
"message": "Yayınlıyor..."
|
||||
@@ -362,9 +359,18 @@
|
||||
"app.instance.admonitions.shared-instance.review-header": {
|
||||
"message": "Değişimleri inceleniyor"
|
||||
},
|
||||
"app.instance.admonitions.shared-instance.review-update-button": {
|
||||
"message": "Güncellemeyi gözden geçir"
|
||||
},
|
||||
"app.instance.admonitions.shared-instance.reviewing-button": {
|
||||
"message": "İnceleniyor..."
|
||||
},
|
||||
"app.instance.admonitions.shared-instance.update-available-body": {
|
||||
"message": "{name}'i oynamak için bir güncelleme gerekli. Oyunu açabilmek için lütfen son sürüme güncelleyin."
|
||||
},
|
||||
"app.instance.admonitions.shared-instance.update-available-header": {
|
||||
"message": "Bir güncelleme mevcut"
|
||||
},
|
||||
"app.instance.confirm-delete.admonition-body": {
|
||||
"message": "Dünyalarınız, yapılandırmalarınız ve yüklü tüm içerikler ve tüm veriler kalıcı olarak silinecek."
|
||||
},
|
||||
@@ -423,7 +429,7 @@
|
||||
"message": "Bu instance'ı arkadaşlarınla paylaşabilirsin!"
|
||||
},
|
||||
"app.instance.share.empty.heading": {
|
||||
"message": "Hiçbir arkadaş davet edilmedi"
|
||||
"message": "Henüz davet edilen arkadaş yok"
|
||||
},
|
||||
"app.instance.share.empty.invite-friends-button": {
|
||||
"message": "Arkadaşlarını davet et"
|
||||
@@ -431,6 +437,9 @@
|
||||
"app.instance.share.invite-modal.heading": {
|
||||
"message": "Paylaş {name}"
|
||||
},
|
||||
"app.instance.share.invite-modal.user-limit-reached": {
|
||||
"message": "Bu örnek {limit} kullanıcı sınırına ulaştı."
|
||||
},
|
||||
"app.instance.share.locked.empty-description-prefix": {
|
||||
"message": "Giriş yapmanız gerekiyor"
|
||||
},
|
||||
@@ -449,21 +458,54 @@
|
||||
"app.instance.share.locked.wrong-account-heading": {
|
||||
"message": "Hatalı hesap"
|
||||
},
|
||||
"app.instance.share.members.empty": {
|
||||
"message": "Henüz katılan kullanıcı yok"
|
||||
},
|
||||
"app.instance.share.members.no-filter-results": {
|
||||
"message": "Filtrelerinizle eşleşen kullanıcı yok."
|
||||
},
|
||||
"app.instance.share.remove-user-modal.effect-access": {
|
||||
"message": "Artık bu paylaşılan kurulum için güncelleme almayacaklar"
|
||||
},
|
||||
"app.instance.share.remove-user-modal.effect-installed-copy": {
|
||||
"message": "Daha önce yükledikleri kopyalar cihazlarında kalmaya devam edecek"
|
||||
},
|
||||
"app.instance.share.remove-user-modal.effect-invite-again": {
|
||||
"message": "Onları sonradan tekrar davet edebilirsiniz"
|
||||
},
|
||||
"app.instance.share.remove-user-modal.effects-label": {
|
||||
"message": "Ne olur?"
|
||||
},
|
||||
"app.instance.share.remove-user-modal.header": {
|
||||
"message": "Erişimi geri çek"
|
||||
},
|
||||
"app.instance.share.remove-user-modal.remove-button": {
|
||||
"message": "Erişimi geri çek"
|
||||
},
|
||||
"app.instance.share.remove-user-modal.user-avatar-alt": {
|
||||
"message": "{username} nın avatarı"
|
||||
},
|
||||
"app.instance.share.sign-in.button": {
|
||||
"message": "Giriş yap"
|
||||
},
|
||||
"app.instance.share.unable-to-connect.heading": {
|
||||
"message": "Bağlanılamıyor"
|
||||
},
|
||||
"app.instance.shared-instance-already-installed.install-anyway": {
|
||||
"message": "Yine de kur"
|
||||
},
|
||||
"app.instance.shared-instance-already-installed.instance": {
|
||||
"message": "Kurulum"
|
||||
},
|
||||
"app.instance.shared-instance-wrong-account.fallback-username": {
|
||||
"message": "bağlı hesap"
|
||||
},
|
||||
"app.instance.shared-instance-wrong-account.signed-out-header": {
|
||||
"message": "Modrinth'e giriş yapmanız gerek"
|
||||
},
|
||||
"app.instance.shared-instance-wrong-account.warning-header": {
|
||||
"message": "Yanlış Modrinth hesabını kullanıyorsunuz"
|
||||
},
|
||||
"app.instance.worlds.add-server": {
|
||||
"message": "Sunucu Ekle"
|
||||
},
|
||||
@@ -515,6 +557,66 @@
|
||||
"app.instance.worlds.search-worlds-placeholder": {
|
||||
"message": "{count} dünya ara..."
|
||||
},
|
||||
"app.java-detection.cancel": {
|
||||
"message": "İptal"
|
||||
},
|
||||
"app.java-detection.columns.actions": {
|
||||
"message": "Eylemler"
|
||||
},
|
||||
"app.java-detection.columns.path": {
|
||||
"message": "Yol"
|
||||
},
|
||||
"app.java-detection.columns.version": {
|
||||
"message": "Sürüm"
|
||||
},
|
||||
"app.java-detection.no-installations-found": {
|
||||
"message": "Java kurulumu bulunamadı."
|
||||
},
|
||||
"app.java-detection.select": {
|
||||
"message": "Seç"
|
||||
},
|
||||
"app.java-detection.selected": {
|
||||
"message": "Seçildi"
|
||||
},
|
||||
"app.java-detection.title": {
|
||||
"message": "Java kurulumunu seç"
|
||||
},
|
||||
"app.java-selector.already-installed": {
|
||||
"message": "Zaten kuruldu"
|
||||
},
|
||||
"app.java-selector.browse": {
|
||||
"message": "Göz at"
|
||||
},
|
||||
"app.java-selector.detect": {
|
||||
"message": "Tespit et"
|
||||
},
|
||||
"app.java-selector.install-recommended": {
|
||||
"message": "Önerileni kur"
|
||||
},
|
||||
"app.java-selector.installing": {
|
||||
"message": "Kuruluyor..."
|
||||
},
|
||||
"app.java-selector.path.placeholder": {
|
||||
"message": "/java/kurulum/yolu"
|
||||
},
|
||||
"app.java-selector.test-installation": {
|
||||
"message": "Java kurulumunu dene"
|
||||
},
|
||||
"app.modal.install-to-play.additional-context": {
|
||||
"message": "Ek bağlam"
|
||||
},
|
||||
"app.modal.install-to-play.block-user": {
|
||||
"message": "Kullanıcıyı engelle"
|
||||
},
|
||||
"app.modal.install-to-play.content-you-are-reporting": {
|
||||
"message": "Raporladığınız kurulum"
|
||||
},
|
||||
"app.modal.install-to-play.delete-instance": {
|
||||
"message": "Kurulumu sil"
|
||||
},
|
||||
"app.modal.install-to-play.external-files-dont-install": {
|
||||
"message": "Kurma"
|
||||
},
|
||||
"app.modal.install-to-play.header": {
|
||||
"message": "Oynamak için yükleyin"
|
||||
},
|
||||
@@ -530,12 +632,33 @@
|
||||
"app.modal.install-to-play.mod-count": {
|
||||
"message": "{count, plural, one {#mod} other {#mods}}"
|
||||
},
|
||||
"app.modal.install-to-play.report-image-invalid-type": {
|
||||
"message": "Dosya kabul edilen bir resim türü değil"
|
||||
},
|
||||
"app.modal.install-to-play.report-image-too-large": {
|
||||
"message": "Dosya 1 MiB boyut sınırını aşıyor"
|
||||
},
|
||||
"app.modal.install-to-play.report-reason.inappropriate": {
|
||||
"message": "Uygunsuz"
|
||||
},
|
||||
"app.modal.install-to-play.report-reason.malicious": {
|
||||
"message": "Kötü niyetli"
|
||||
},
|
||||
"app.modal.install-to-play.report-reason.spam": {
|
||||
"message": "Spam"
|
||||
},
|
||||
"app.modal.install-to-play.report-submitted": {
|
||||
"message": "Rapor sunuldu"
|
||||
},
|
||||
"app.modal.install-to-play.reviewed-files": {
|
||||
"message": "Dosya formatı ne olursa olsun (.mrpack dahil), bir dosya yalnızca Modrinth'e yüklendiğinde denetlenir."
|
||||
},
|
||||
"app.modal.install-to-play.shared-instance": {
|
||||
"message": "Paylaşılan Kurulum"
|
||||
},
|
||||
"app.modal.install-to-play.shared-instance-content": {
|
||||
"message": "Paylaşılan kurulum içeriği"
|
||||
},
|
||||
"app.modal.install-to-play.unknown-files-description": {
|
||||
"message": "Bu sunucunun mod paketi Modrinth'te yayınlanmamış doysaları mevcut. Yalnızca güvendiğiniz kaynaklardan dosya indirmenizi önemle tavsiye ederiz."
|
||||
},
|
||||
@@ -545,6 +668,9 @@
|
||||
"app.modal.install-to-play.unrecognized-files": {
|
||||
"message": "Tanımlanamayan dosyalar"
|
||||
},
|
||||
"app.modal.install-to-play.user-blocked": {
|
||||
"message": "Kullanıcı engellendi"
|
||||
},
|
||||
"app.modal.install-to-play.view-contents": {
|
||||
"message": "İçeriği görüntüle"
|
||||
},
|
||||
@@ -554,6 +680,42 @@
|
||||
"app.modal.update-to-play.removed": {
|
||||
"message": "Silindi"
|
||||
},
|
||||
"app.modal.update-to-play.shared-instance-added-label": {
|
||||
"message": "Eklendi"
|
||||
},
|
||||
"app.modal.update-to-play.shared-instance-removed-label": {
|
||||
"message": "Kaldırıldı"
|
||||
},
|
||||
"app.modal.update-to-play.update-required": {
|
||||
"message": "Güncelleme gerekiyor"
|
||||
},
|
||||
"app.nav.home": {
|
||||
"message": "Ana Sayfa"
|
||||
},
|
||||
"app.nav.library": {
|
||||
"message": "Kütüphane"
|
||||
},
|
||||
"app.nav.modrinth-account": {
|
||||
"message": "Modrinth hesabı"
|
||||
},
|
||||
"app.nav.modrinth-hosting": {
|
||||
"message": "Modrinth Hosting"
|
||||
},
|
||||
"app.nav.sign-in-to-modrinth-account": {
|
||||
"message": "Bir Modrinth hesabıyla oturum açın"
|
||||
},
|
||||
"app.nav.signed-in-as": {
|
||||
"message": "<user>{username}</user> olarak oturum açıldı"
|
||||
},
|
||||
"app.nav.upgrade-to-modrinth-plus": {
|
||||
"message": "Modrinth+'a yükselt"
|
||||
},
|
||||
"app.news.title": {
|
||||
"message": "Haberler"
|
||||
},
|
||||
"app.news.view-all": {
|
||||
"message": "Tüm haberleri göster"
|
||||
},
|
||||
"app.project.install-button.already-installed": {
|
||||
"message": "Bu proje zaten kurulu"
|
||||
},
|
||||
@@ -575,20 +737,50 @@
|
||||
"app.project.versions.already-installed": {
|
||||
"message": "Zaten yüklenmiş"
|
||||
},
|
||||
"app.quick-instance-switcher.drag-tooltip": {
|
||||
"message": "Yeniden boyutlandırmak için kaydırın"
|
||||
},
|
||||
"app.restarting": {
|
||||
"message": "Yeniden Başlatılıyor..."
|
||||
},
|
||||
"app.settings.app-version": {
|
||||
"message": "Modrinth Uygulaması {version}"
|
||||
},
|
||||
"app.settings.default-instance-options.height.title": {
|
||||
"message": "Yükseklik"
|
||||
},
|
||||
"app.settings.default-instance-options.java-arguments.placeholder": {
|
||||
"message": "Java Argümanları girin..."
|
||||
},
|
||||
"app.settings.default-instance-options.java-arguments.title": {
|
||||
"message": "Java Argümanları"
|
||||
},
|
||||
"app.settings.default-instance-options.width.placeholder": {
|
||||
"message": "Genişlik gir..."
|
||||
},
|
||||
"app.settings.default-instance-options.width.title": {
|
||||
"message": "Genişlik"
|
||||
},
|
||||
"app.settings.developer-mode-enabled": {
|
||||
"message": "Geliştirici modu açıldı."
|
||||
},
|
||||
"app.settings.downloading": {
|
||||
"message": "v{version} indiriliyor"
|
||||
},
|
||||
"app.settings.operating-system.macos": {
|
||||
"message": "macOS"
|
||||
},
|
||||
"app.settings.privacy.ads-consent.intro": {
|
||||
"message": "Reklamlar, Modrinth'i mümkün kılıyor ve içerik üreticilerine yapılan ödemeleri finanse ediyor. Partnerlerimiz, reklamları kişiselleştirmek ve performansı ölçmek amacıyla uygulama içinde çerez depolayabilir veya bunlara erişebilir. Aşağıdan tercihinizi yönetebilir veya vazgeçebilirsiniz."
|
||||
},
|
||||
"app.settings.privacy.telemetry.title": {
|
||||
"message": "Telemetri"
|
||||
},
|
||||
"app.settings.tabs.appearance": {
|
||||
"message": "Görünüm"
|
||||
},
|
||||
"app.settings.tabs.default-instance-options": {
|
||||
"message": "Varsayılan profil seçenekleri"
|
||||
"app.settings.tabs.behavior": {
|
||||
"message": "Davranış"
|
||||
},
|
||||
"app.settings.tabs.java-installations": {
|
||||
"message": "Java kurulumları"
|
||||
@@ -603,7 +795,7 @@
|
||||
"message": "Kaynak yönetimi"
|
||||
},
|
||||
"app.skins.add-button": {
|
||||
"message": "Skin ekle"
|
||||
"message": "Dış görünüm ekle"
|
||||
},
|
||||
"app.skins.add-button.drag-and-drop": {
|
||||
"message": "Sürükle ve bırak"
|
||||
@@ -612,13 +804,13 @@
|
||||
"message": "Uygula"
|
||||
},
|
||||
"app.skins.delete-button": {
|
||||
"message": "Skin'i sil"
|
||||
"message": "Dış görünümü sil"
|
||||
},
|
||||
"app.skins.delete-modal.description": {
|
||||
"message": "Bu seçilmiş skin'i kalıcı olarak silecektir. Bu işlem geri alınamaz."
|
||||
"message": "Bu işlem seçili dış görünümü kalıcı olarak silecektir. Bu işlem geri alınamaz."
|
||||
},
|
||||
"app.skins.delete-modal.title": {
|
||||
"message": "Bu skin'i silmek istediğinize gerçekten emin misiniz?"
|
||||
"message": "Bu dış görünümü silmek istediğinden emin misiniz?"
|
||||
},
|
||||
"app.skins.dropped-file-error.text": {
|
||||
"message": "Bıraktığınız dosya okunamadı."
|
||||
@@ -627,16 +819,16 @@
|
||||
"message": "Dosya işlenirken hata oluştu"
|
||||
},
|
||||
"app.skins.ears-feature-notice": {
|
||||
"message": "Bu skin {ears} modundan özellikler içeriyor"
|
||||
"message": "Bu dış görünüm {ears} modunun özelliklerini kullanıyor"
|
||||
},
|
||||
"app.skins.edit-button": {
|
||||
"message": "Skin'i düzenle"
|
||||
"message": "Dış görünümü düzenle"
|
||||
},
|
||||
"app.skins.modal.add-skin-button": {
|
||||
"message": "Skin ekle"
|
||||
"message": "Dış görünüm ekle"
|
||||
},
|
||||
"app.skins.modal.add-title": {
|
||||
"message": "Skin ekleme"
|
||||
"message": "Dış görünüm ekleniyor"
|
||||
},
|
||||
"app.skins.modal.arm-style-section": {
|
||||
"message": "Kol stili"
|
||||
@@ -654,10 +846,10 @@
|
||||
"message": "Pelerin"
|
||||
},
|
||||
"app.skins.modal.edit-title": {
|
||||
"message": "Skin düzenleme"
|
||||
"message": "Dış görünüm düzenleniyor"
|
||||
},
|
||||
"app.skins.modal.make-edit-first-tooltip": {
|
||||
"message": "Önce skin'e bir düzenleme yapın!"
|
||||
"message": "Önce dış görünümde bir düzenleme yapın!"
|
||||
},
|
||||
"app.skins.modal.no-cape-tooltip": {
|
||||
"message": "Pelerin yok"
|
||||
@@ -669,7 +861,7 @@
|
||||
"message": "Dokuyu değiştir"
|
||||
},
|
||||
"app.skins.modal.save-skin-button": {
|
||||
"message": "Skin'i kaydet"
|
||||
"message": "Dış görünümü kaydet"
|
||||
},
|
||||
"app.skins.modal.saving-tooltip": {
|
||||
"message": "Kaydediliyor..."
|
||||
@@ -678,25 +870,25 @@
|
||||
"message": "Doku"
|
||||
},
|
||||
"app.skins.modal.upload-skin-first-tooltip": {
|
||||
"message": "İlk başta skin yükleyin!"
|
||||
"message": "Önce bir dış görünüm yükleyin!"
|
||||
},
|
||||
"app.skins.preview.edit-button": {
|
||||
"message": "Skin'i düzenle"
|
||||
"message": "Dış görünümü düzenle"
|
||||
},
|
||||
"app.skins.previewing-badge": {
|
||||
"message": "Önizleme"
|
||||
},
|
||||
"app.skins.rate-limit.text": {
|
||||
"message": "Skin'inizi çok hızlı değiştiriyorsunuz. Mojang'ın sunucuları geçici olarak diğer istekleri engelledi. Lütfen tekrar denemeden önce biraz bekleyin."
|
||||
"message": "Dış görünümünüzü çok sık değiştiriyorsunuz. Mojang sunucuları geçici olarak daha fazla isteği engelledi. Lütfen tekrar denemeden önce biraz bekleyin."
|
||||
},
|
||||
"app.skins.rate-limit.title": {
|
||||
"message": "Yavaşla!"
|
||||
},
|
||||
"app.skins.reorder-error.text": {
|
||||
"message": "Skinini kaydedemedik."
|
||||
"message": "Dış görünüm sıralamanız kaydedilemedi."
|
||||
},
|
||||
"app.skins.reorder-error.title": {
|
||||
"message": "Skinler sıralanamadı"
|
||||
"message": "Dış görünümler sıralanamadı"
|
||||
},
|
||||
"app.skins.section.builders-and-biomes": {
|
||||
"message": "İnşaatçılar & Biyomlar"
|
||||
@@ -747,13 +939,13 @@
|
||||
"message": "Modrinth appdeki skin yönetim özelliklerini kullanmak için lütfen Minecraft hesabınıza giriş yapın."
|
||||
},
|
||||
"app.skins.sign-in.rinthbot-alt": {
|
||||
"message": "Heyecanlı Modrinth Bot'u"
|
||||
"message": "Heyecanlı Modrinth Botu"
|
||||
},
|
||||
"app.skins.sign-in.title": {
|
||||
"message": "Lütfen giriş yapın"
|
||||
},
|
||||
"app.skins.title": {
|
||||
"message": "Skin seçici"
|
||||
"message": "Dış görünüm seçici"
|
||||
},
|
||||
"app.skins.toggle-ears-features-off": {
|
||||
"message": "Kapat"
|
||||
@@ -761,6 +953,9 @@
|
||||
"app.skins.toggle-ears-features-on": {
|
||||
"message": "Aç"
|
||||
},
|
||||
"app.survey.no-thanks": {
|
||||
"message": "Hayır teşekkürler"
|
||||
},
|
||||
"app.update-popup.body.download-complete": {
|
||||
"message": "Modrinth App v{version} indirildi. Güncellemek için yeniden başlatın veya Modrinth App’i kapattığınızda otomatik olarak güncellenecektir."
|
||||
},
|
||||
@@ -956,6 +1151,12 @@
|
||||
"instance.server-modal.resource-pack": {
|
||||
"message": "Kaynak paketi"
|
||||
},
|
||||
"instance.settings.sharing.active-invites.actions": {
|
||||
"message": "Eylemler"
|
||||
},
|
||||
"instance.settings.sharing.active-invites.code": {
|
||||
"message": "Davet bağlantısı"
|
||||
},
|
||||
"instance.settings.tabs.general": {
|
||||
"message": "Genel"
|
||||
},
|
||||
@@ -978,7 +1179,7 @@
|
||||
"message": "Kurulurken çoğaltılamaz."
|
||||
},
|
||||
"instance.settings.tabs.general.duplicate-instance": {
|
||||
"message": "Profili çoğalt"
|
||||
"message": "Kurulumu çoğalt"
|
||||
},
|
||||
"instance.settings.tabs.general.duplicate-instance.description": {
|
||||
"message": "Bu profilin dünyalarını, yapılandırmalarını, modlarını vb. içeren bir kopyasını oluşturur."
|
||||
@@ -1148,6 +1349,30 @@
|
||||
"instance.settings.tabs.window.width.enter": {
|
||||
"message": "Genişlik gir..."
|
||||
},
|
||||
"instance.shared-instance.network-error.title": {
|
||||
"message": "Bağlantı hatası"
|
||||
},
|
||||
"instance.shared-instance.owner-tooltip": {
|
||||
"message": "Bu kurulumun içeriği diğer kullanıcılarla paylaşılıyor."
|
||||
},
|
||||
"instance.shared-instance.publish-review.added-label": {
|
||||
"message": "Eklendi"
|
||||
},
|
||||
"instance.shared-instance.publish-review.admonition-header": {
|
||||
"message": "Oyunculara güncellemeyi gönder"
|
||||
},
|
||||
"instance.shared-instance.publish-review.config-title-v2": {
|
||||
"message": "Yapılandırma dosyalarını seç"
|
||||
},
|
||||
"instance.shared-instance.publish-review.description": {
|
||||
"message": "İçerik değişikliklerini gözden geçirin ve bu güncellemeye dahil edilecek yapılandırma dosyalarını seçin."
|
||||
},
|
||||
"instance.shared-instance.publish-review.removed-label": {
|
||||
"message": "Kaldırıldı"
|
||||
},
|
||||
"instance.shared-instance.tooltip": {
|
||||
"message": "Bu kurulumun içeriği başka biri tarafından yönetiliyor."
|
||||
},
|
||||
"instance.worlds.a_minecraft_server": {
|
||||
"message": "Minecraft Sunucusu"
|
||||
},
|
||||
@@ -1232,6 +1457,18 @@
|
||||
"minecraft-required.sign-in": {
|
||||
"message": "Microsoft'a giriş yap"
|
||||
},
|
||||
"modal.modrinth-account-required.continue-in-browser-heading": {
|
||||
"message": "Tarayıcında devam et"
|
||||
},
|
||||
"modal.modrinth-account-required.create-account-button": {
|
||||
"message": "Bir hesap oluştur"
|
||||
},
|
||||
"modal.modrinth-account-required.open-browser-again-button": {
|
||||
"message": "Tarayıcıyı yeniden aç"
|
||||
},
|
||||
"modal.modrinth-account-required.signing-in-header": {
|
||||
"message": "Giriş yapılıyor"
|
||||
},
|
||||
"search.filter.locked.instance": {
|
||||
"message": "Kurulum tarafından sağlanan"
|
||||
},
|
||||
@@ -1242,7 +1479,7 @@
|
||||
"message": "Yükleyici veren kurulumlar"
|
||||
},
|
||||
"search.filter.locked.instance.sync": {
|
||||
"message": "Kurulumla senkronize et"
|
||||
"message": "Kurulum ile eşitle"
|
||||
},
|
||||
"search.filter.locked.server": {
|
||||
"message": "Sunucu tarafından sağlanmıştır"
|
||||
@@ -1255,5 +1492,11 @@
|
||||
},
|
||||
"search.filter.locked.server-loader.title": {
|
||||
"message": "Yükleyici sunucu tarafından sağlanıyor"
|
||||
},
|
||||
"settings.sidebar.label.account": {
|
||||
"message": "Hesap"
|
||||
},
|
||||
"settings.sidebar.label.display": {
|
||||
"message": "Göster"
|
||||
}
|
||||
}
|
||||
|
||||
@@ -89,6 +89,9 @@
|
||||
"app.action-bar.install.unknown-instance": {
|
||||
"message": "Невідомий профіль"
|
||||
},
|
||||
"app.action-bar.install.updating-shared-content": {
|
||||
"message": "Оновлюємо спільний вміст"
|
||||
},
|
||||
"app.action-bar.installs": {
|
||||
"message": "Установки"
|
||||
},
|
||||
@@ -141,19 +144,19 @@
|
||||
"message": "Ваша приватність та як реклама підтримує Modrinth"
|
||||
},
|
||||
"app.appearance-settings.advanced-rendering.description": {
|
||||
"message": "Умикає розширене промальовування, як-от ефекти розмиття. Вони можуть спричиняти проблеми з продуктивністю без апаратного прискорення."
|
||||
"message": "Умикає візуальні ефекти, як-от розмиття фону. Це може знизити продуктивність без апаратного прискорення."
|
||||
},
|
||||
"app.appearance-settings.advanced-rendering.title": {
|
||||
"message": "Розширене промальовування"
|
||||
},
|
||||
"app.appearance-settings.color-theme.description": {
|
||||
"message": "Оберіть бажану колірну тему для Modrinth App."
|
||||
"message": "Оберіть тему для Modrinth App."
|
||||
},
|
||||
"app.appearance-settings.color-theme.title": {
|
||||
"message": "Колірна тема"
|
||||
},
|
||||
"app.appearance-settings.default-landing-page.description": {
|
||||
"message": "Змініть сторінку, на якій відкривається запускач."
|
||||
"message": "Оберіть сторінку, яка показуватиметься при відкритті Modrinth App."
|
||||
},
|
||||
"app.appearance-settings.default-landing-page.home": {
|
||||
"message": "Головна"
|
||||
@@ -165,49 +168,49 @@
|
||||
"message": "Усталена цільова сторінка"
|
||||
},
|
||||
"app.appearance-settings.hide-nametag.description": {
|
||||
"message": "Вимикає ім'я над вашим гравцем на сторінці скінів."
|
||||
"message": "Приховати ваш нікнейм над попереднім переглядом гравця на сторінці вибору skin."
|
||||
},
|
||||
"app.appearance-settings.hide-nametag.title": {
|
||||
"message": "Приховати ім'я"
|
||||
},
|
||||
"app.appearance-settings.jump-back-into-worlds.description": {
|
||||
"message": "Уключає нещодавні світи в розділі «Повернутися» на головній сторінці."
|
||||
"message": "Показувати нещодавно зіграні світи в розділі «Повернутися до гри» на головній сторінці."
|
||||
},
|
||||
"app.appearance-settings.jump-back-into-worlds.title": {
|
||||
"message": "Повернутися до світів"
|
||||
},
|
||||
"app.appearance-settings.minimize-launcher.description": {
|
||||
"message": "Згортає запускач під час запуску процесу Minecraft."
|
||||
"message": "Згортати Modrinth App під час запуску Minecraft."
|
||||
},
|
||||
"app.appearance-settings.minimize-launcher.title": {
|
||||
"message": "Згортати запускач"
|
||||
"message": "Згортати застосунок"
|
||||
},
|
||||
"app.appearance-settings.native-decorations.description": {
|
||||
"message": "Використовує рамку системного вікна (необхідно перезапустити застосунок)."
|
||||
"message": "Використовувати заголовок вікна та елементи керування вашої операційної системи. Потребує перезапуску застосунку."
|
||||
},
|
||||
"app.appearance-settings.native-decorations.title": {
|
||||
"message": "Системне оформлення"
|
||||
"message": "Системна рамка вікна"
|
||||
},
|
||||
"app.appearance-settings.show-play-time.description": {
|
||||
"message": "Показує, скільки часу ви провели в цьому профілі."
|
||||
"message": "Показувати награний час для кожної збірки."
|
||||
},
|
||||
"app.appearance-settings.show-play-time.title": {
|
||||
"message": "Показати час гри"
|
||||
},
|
||||
"app.appearance-settings.skip-non-essential-warnings.description": {
|
||||
"message": "Автоматично пропускає низькоризикові підтвердження: установки дубльованих збірок, звичайні видалення вмісту, масові оновлення та запити на відновлення. Попередження з вищим рівнем ризику залишаться."
|
||||
"message": "Пропускати підтвердження для дій із низьким ризиком, як-от дублювання інсталяцій, звичайне видалення вмісту, масові оновлення, відв'язування та відновлення. Попередження про небезпечні показуються завжди."
|
||||
},
|
||||
"app.appearance-settings.skip-non-essential-warnings.title": {
|
||||
"message": "Пропустити несуттєві попередження"
|
||||
},
|
||||
"app.appearance-settings.toggle-sidebar.description": {
|
||||
"message": "Умикає можливість перемикання бокової панелі."
|
||||
"message": "Приховувати праву бічну панель за замовчуванням і додати кнопку для її показання або приховування."
|
||||
},
|
||||
"app.appearance-settings.toggle-sidebar.title": {
|
||||
"message": "Перемикання бокової панелі"
|
||||
"message": "Приховати праву бічну панель"
|
||||
},
|
||||
"app.appearance-settings.unknown-pack-warning.description": {
|
||||
"message": "Якщо ви спробуєте встановити файл пакета Modrinth (.mrpack), який не розміщено на Modrinth, ми переконаємося, що ви розумієте ризики, перш ніж установлювати його."
|
||||
"message": "Показувати попередження про безпеку перед встановленням Modrinth Pack (.mrpack), який не розміщено на Modrinth."
|
||||
},
|
||||
"app.appearance-settings.unknown-pack-warning.title": {
|
||||
"message": "Попереджати мене перед установленням невідомих збірок"
|
||||
@@ -218,6 +221,15 @@
|
||||
"app.auth-servers.unreachable.header": {
|
||||
"message": "Не вдається зв’язатися із серверами автентифікації"
|
||||
},
|
||||
"app.behavior-settings.confirmations.title": {
|
||||
"message": "Підтвердження"
|
||||
},
|
||||
"app.behavior-settings.content.title": {
|
||||
"message": "Головна та контент"
|
||||
},
|
||||
"app.behavior-settings.startup-and-navigation.title": {
|
||||
"message": "Запуск і навігація"
|
||||
},
|
||||
"app.browse.add-servers-to-instance": {
|
||||
"message": "Додавання сервера до профілю"
|
||||
},
|
||||
@@ -239,12 +251,18 @@
|
||||
"app.browse.back-to-instance": {
|
||||
"message": "Назад до профілю"
|
||||
},
|
||||
"app.browse.discover-project-type": {
|
||||
"message": "Огляд {projectType}"
|
||||
},
|
||||
"app.browse.discover-servers": {
|
||||
"message": "Дослідити сервери"
|
||||
},
|
||||
"app.browse.hide-added-servers": {
|
||||
"message": "Приховати вже додані сервери"
|
||||
},
|
||||
"app.browse.hide-installed-modpacks": {
|
||||
"message": "Приховати вже встановлені"
|
||||
},
|
||||
"app.browse.project-type.modpacks": {
|
||||
"message": "Збірки"
|
||||
},
|
||||
@@ -347,6 +365,30 @@
|
||||
"app.instance.admonitions.shared-instance.publishing-button": {
|
||||
"message": "Публікуємо…"
|
||||
},
|
||||
"app.instance.admonitions.shared-instance.removed-label": {
|
||||
"message": "Видалено"
|
||||
},
|
||||
"app.instance.admonitions.shared-instance.review-admonition-header": {
|
||||
"message": "Публікація оновлення"
|
||||
},
|
||||
"app.instance.admonitions.shared-instance.review-description": {
|
||||
"message": "Переглянути зміни вмісту, які застосуються для всіх, хто використовує цей профіль."
|
||||
},
|
||||
"app.instance.admonitions.shared-instance.review-header": {
|
||||
"message": "Огляд змін"
|
||||
},
|
||||
"app.instance.admonitions.shared-instance.review-update-button": {
|
||||
"message": "Переглянути оновлення"
|
||||
},
|
||||
"app.instance.admonitions.shared-instance.reviewing-button": {
|
||||
"message": "Оглядаємо…"
|
||||
},
|
||||
"app.instance.admonitions.shared-instance.update-available-body": {
|
||||
"message": "Для гри в {name} потрібне оновлення. Будь ласка, оновіть до найновішої версії, щоб запустити гру."
|
||||
},
|
||||
"app.instance.admonitions.shared-instance.update-available-header": {
|
||||
"message": "Доступне оновлення"
|
||||
},
|
||||
"app.instance.confirm-delete.admonition-body": {
|
||||
"message": "Усі дані вашого профілю будуть видалені назавжди, включно з вашими світами, налаштуваннями та всім установленим умістом."
|
||||
},
|
||||
@@ -413,15 +455,33 @@
|
||||
"app.instance.share.invite-modal.heading": {
|
||||
"message": "Поділитися {name}"
|
||||
},
|
||||
"app.instance.share.invite-modal.user-limit-reached": {
|
||||
"message": "Ця збірка досягла ліміту в {limit} користувачів."
|
||||
},
|
||||
"app.instance.share.locked.empty-description-prefix": {
|
||||
"message": "Ви повинні ввійти як"
|
||||
},
|
||||
"app.instance.share.locked.empty-description-suffix": {
|
||||
"message": "для отримання доступу до цієї сторінки."
|
||||
},
|
||||
"app.instance.share.locked.linked-account-fallback": {
|
||||
"message": "прив'язаний обліковий запис"
|
||||
},
|
||||
"app.instance.share.locked.signed-out-heading": {
|
||||
"message": "Вхід не виконано"
|
||||
},
|
||||
"app.instance.share.locked.switch-account-button": {
|
||||
"message": "Змінити обліковий запис"
|
||||
},
|
||||
"app.instance.share.locked.wrong-account-heading": {
|
||||
"message": "Неправильний обліковий запис"
|
||||
},
|
||||
"app.instance.share.members.empty": {
|
||||
"message": "Жоден користувач ще не приєднався"
|
||||
},
|
||||
"app.instance.share.members.no-filter-results": {
|
||||
"message": "Жоден користувач не відповідає вашим фільтрам."
|
||||
},
|
||||
"app.instance.share.remove-user-modal.effect-access": {
|
||||
"message": "Він більше не зможе отримувати оновлення для цього спільного профілю"
|
||||
},
|
||||
@@ -452,9 +512,18 @@
|
||||
"app.instance.share.sign-in.button": {
|
||||
"message": "Увійти"
|
||||
},
|
||||
"app.instance.share.unable-to-connect.description": {
|
||||
"message": "Сервіс спільних збірок наразі недоступний, будь ласка, спробуйте пізніше"
|
||||
},
|
||||
"app.instance.share.unable-to-connect.heading": {
|
||||
"message": "Не вдалося під'єднатися"
|
||||
},
|
||||
"app.instance.share.unlink.body": {
|
||||
"message": "Ви повинні від'єднати цю збірку, аби поділитися своїм профілем"
|
||||
},
|
||||
"app.instance.share.unlink.header": {
|
||||
"message": "Спільний доступ вимагає відв'язування"
|
||||
},
|
||||
"app.instance.shared-instance-already-installed.body": {
|
||||
"message": "Цей спільний профіль уже встановлено як <bold>{instanceName}</bold>. Дійсно встановити ще одну копію?"
|
||||
},
|
||||
@@ -464,12 +533,24 @@
|
||||
"app.instance.shared-instance-already-installed.install-anyway": {
|
||||
"message": "Усе одно встановити"
|
||||
},
|
||||
"app.instance.shared-instance-already-installed.instance": {
|
||||
"message": "Збірка"
|
||||
},
|
||||
"app.instance.shared-instance-wrong-account.fallback-username": {
|
||||
"message": "пов'язаний обліковий запис"
|
||||
},
|
||||
"app.instance.shared-instance-wrong-account.owner-admonition-body-v2": {
|
||||
"message": "для керування цією спільною збіркою. Ви не зможете надсилати оновлення користувачам."
|
||||
},
|
||||
"app.instance.shared-instance-wrong-account.sign-in-as-label": {
|
||||
"message": "Увійти як"
|
||||
},
|
||||
"app.instance.shared-instance-wrong-account.signed-out-header": {
|
||||
"message": "Ви повинні ввійти в Modrinth"
|
||||
},
|
||||
"app.instance.shared-instance-wrong-account.user-admonition-body-v2": {
|
||||
"message": "щоб отримувати оновлення для цієї спільної збірки."
|
||||
},
|
||||
"app.instance.shared-instance-wrong-account.warning-header": {
|
||||
"message": "Ви використовуєте не той обліковий запис Modrinth"
|
||||
},
|
||||
@@ -524,12 +605,60 @@
|
||||
"app.instance.worlds.search-worlds-placeholder": {
|
||||
"message": "Пошук {count} світів…"
|
||||
},
|
||||
"app.java-detection.cancel": {
|
||||
"message": "Скасувати"
|
||||
},
|
||||
"app.java-detection.columns.actions": {
|
||||
"message": "Дії"
|
||||
},
|
||||
"app.java-detection.columns.path": {
|
||||
"message": "Шлях"
|
||||
},
|
||||
"app.java-detection.columns.version": {
|
||||
"message": "Версія"
|
||||
},
|
||||
"app.java-detection.no-installations-found": {
|
||||
"message": "Не знайдено встановленої Java."
|
||||
},
|
||||
"app.java-detection.select": {
|
||||
"message": "Обрати"
|
||||
},
|
||||
"app.java-detection.selected": {
|
||||
"message": "Обрано"
|
||||
},
|
||||
"app.java-detection.title": {
|
||||
"message": "Виберіть версію Java"
|
||||
},
|
||||
"app.java-selector.already-installed": {
|
||||
"message": "Уже встановлено"
|
||||
},
|
||||
"app.java-selector.browse": {
|
||||
"message": "Огляд"
|
||||
},
|
||||
"app.java-selector.detect": {
|
||||
"message": "Виявити"
|
||||
},
|
||||
"app.java-selector.install-recommended": {
|
||||
"message": "Установити рекомендоване"
|
||||
},
|
||||
"app.java-selector.installing": {
|
||||
"message": "Установлюємо…"
|
||||
},
|
||||
"app.java-selector.path.placeholder": {
|
||||
"message": "/шлях/до/java"
|
||||
},
|
||||
"app.java-selector.test-installation": {
|
||||
"message": "Протестувати інсталяцію Java"
|
||||
},
|
||||
"app.modal.install-to-play.additional-context": {
|
||||
"message": "Додатковий контекст"
|
||||
},
|
||||
"app.modal.install-to-play.additional-context-placeholder": {
|
||||
"message": "Надайте посилання та зображення, які стосуються скарги"
|
||||
},
|
||||
"app.modal.install-to-play.block-user": {
|
||||
"message": "Заблокувати користувача"
|
||||
},
|
||||
"app.modal.install-to-play.content-you-are-reporting": {
|
||||
"message": "Профіль, на який скаржитеся"
|
||||
},
|
||||
@@ -551,15 +680,24 @@
|
||||
"app.modal.install-to-play.invite-warning": {
|
||||
"message": "Це запрошення створив інший користувач Modrinth, не сам Modrinth. Приймайте запрошення лише від тих людей, яким довіряєте."
|
||||
},
|
||||
"app.modal.install-to-play.invite-warning-with-creator": {
|
||||
"message": "Це запрошення створив користувач <creator>{username}</creator>, не Modrinth. Приймайте запрошення лише від людей, яким довіряєте."
|
||||
},
|
||||
"app.modal.install-to-play.mod-count": {
|
||||
"message": "{count, plural, one {# мод} few {# мода} other {# модів}}"
|
||||
},
|
||||
"app.modal.install-to-play.report-description": {
|
||||
"message": "Використайте цю форму, аби поскаржитися на профілі, які можуть порушувати наші <rules-link>правила</rules-link> чи <terms-link>умови використання</terms-link>."
|
||||
},
|
||||
"app.modal.install-to-play.report-image-invalid-type": {
|
||||
"message": "Тип файлу зображення не підтримується"
|
||||
},
|
||||
"app.modal.install-to-play.report-image-too-large": {
|
||||
"message": "Файл перевищує обмеження розміру в 1 МіБ"
|
||||
},
|
||||
"app.modal.install-to-play.report-legal-claims": {
|
||||
"message": "Для повідомлень щодо DMCA або інших юридичних претензій ознайомтеся з <copyright-link>Copyright Policy</copyright-link>."
|
||||
},
|
||||
"app.modal.install-to-play.report-reason": {
|
||||
"message": "Яке правило порушує цей профіль?"
|
||||
},
|
||||
@@ -602,6 +740,9 @@
|
||||
"app.modal.install-to-play.unrecognized-files": {
|
||||
"message": "Нерозпізнані файли"
|
||||
},
|
||||
"app.modal.install-to-play.user-blocked": {
|
||||
"message": "Користувача заблоковано"
|
||||
},
|
||||
"app.modal.install-to-play.view-contents": {
|
||||
"message": "Дивитися вміст"
|
||||
},
|
||||
@@ -626,6 +767,39 @@
|
||||
"app.modal.update-to-play.update-required": {
|
||||
"message": "Необхідне оновлення"
|
||||
},
|
||||
"app.modal.update-to-play.update-required-description": {
|
||||
"message": "Для гри в {name} потрібне оновлення. Будь ласка, оновіть до найновішої версії, щоб запустити гру."
|
||||
},
|
||||
"app.nav.create-new-instance": {
|
||||
"message": "Створити новий профіль"
|
||||
},
|
||||
"app.nav.home": {
|
||||
"message": "Головна"
|
||||
},
|
||||
"app.nav.library": {
|
||||
"message": "Бібліотека"
|
||||
},
|
||||
"app.nav.modrinth-account": {
|
||||
"message": "Обліковий запис Modrinth"
|
||||
},
|
||||
"app.nav.modrinth-hosting": {
|
||||
"message": "Хостинг Modrinth"
|
||||
},
|
||||
"app.nav.sign-in-to-modrinth-account": {
|
||||
"message": "Увійти в обліковий запис Modrinth"
|
||||
},
|
||||
"app.nav.signed-in-as": {
|
||||
"message": "Вхід виконано як <user>{username}</user>"
|
||||
},
|
||||
"app.nav.upgrade-to-modrinth-plus": {
|
||||
"message": "Оновити до Modrinth+"
|
||||
},
|
||||
"app.news.title": {
|
||||
"message": "Новини"
|
||||
},
|
||||
"app.news.view-all": {
|
||||
"message": "Переглянути всі новини"
|
||||
},
|
||||
"app.project.install-button.already-installed": {
|
||||
"message": "Проєкт уже встановлено"
|
||||
},
|
||||
@@ -635,6 +809,9 @@
|
||||
"app.project.install-context.back-to-browse": {
|
||||
"message": "Повернутися до дослідження"
|
||||
},
|
||||
"app.project.install-context.back-to-instance": {
|
||||
"message": "Повернутися до збірки"
|
||||
},
|
||||
"app.project.version.all-versions": {
|
||||
"message": "Усі версії"
|
||||
},
|
||||
@@ -647,20 +824,188 @@
|
||||
"app.project.versions.already-installed": {
|
||||
"message": "Уже встановлено"
|
||||
},
|
||||
"app.quick-instance-switcher.drag-show-tooltip": {
|
||||
"message": "Перетягніть, щоб показати нещодавні збірки"
|
||||
},
|
||||
"app.quick-instance-switcher.drag-tooltip": {
|
||||
"message": "Перетягніть, щоб змінити розмір"
|
||||
},
|
||||
"app.restarting": {
|
||||
"message": "Перезапуск..."
|
||||
},
|
||||
"app.settings.app-version": {
|
||||
"message": "Modrinth App {version}"
|
||||
},
|
||||
"app.settings.default-instance-options.environment-variables.description": {
|
||||
"message": "Змінні середовища встановлюються, коли профіль запускається."
|
||||
},
|
||||
"app.settings.default-instance-options.environment-variables.placeholder": {
|
||||
"message": "Уведіть змінні середовища…"
|
||||
},
|
||||
"app.settings.default-instance-options.environment-variables.title": {
|
||||
"message": "Змінні середовища"
|
||||
},
|
||||
"app.settings.default-instance-options.fullscreen.description": {
|
||||
"message": "Запускати збірки в повноекранному режимі шляхом оновлення їхнього файлу options.txt."
|
||||
},
|
||||
"app.settings.default-instance-options.fullscreen.title": {
|
||||
"message": "Повний екран"
|
||||
},
|
||||
"app.settings.default-instance-options.height.description": {
|
||||
"message": "Висота ігрового вікна під час запуску."
|
||||
},
|
||||
"app.settings.default-instance-options.height.placeholder": {
|
||||
"message": "Уведіть висоту…"
|
||||
},
|
||||
"app.settings.default-instance-options.height.title": {
|
||||
"message": "Висота"
|
||||
},
|
||||
"app.settings.default-instance-options.java-arguments.description": {
|
||||
"message": "Аргументи передаються Java, коли запускається профіль."
|
||||
},
|
||||
"app.settings.default-instance-options.java-arguments.placeholder": {
|
||||
"message": "Уведіть аргументи Java…"
|
||||
},
|
||||
"app.settings.default-instance-options.java-arguments.title": {
|
||||
"message": "Аргументи Java"
|
||||
},
|
||||
"app.settings.default-instance-options.memory-allocation.description": {
|
||||
"message": "Максимальна кількість памʼяті для кожного профілю."
|
||||
},
|
||||
"app.settings.default-instance-options.memory-allocation.title": {
|
||||
"message": "Виділення памʼяті"
|
||||
},
|
||||
"app.settings.default-instance-options.post-exit-hook.description": {
|
||||
"message": "Запускається після закриття гри."
|
||||
},
|
||||
"app.settings.default-instance-options.post-exit-hook.placeholder": {
|
||||
"message": "Введіть команду після виходу..."
|
||||
},
|
||||
"app.settings.default-instance-options.post-exit-hook.title": {
|
||||
"message": "Команда після виходу"
|
||||
},
|
||||
"app.settings.default-instance-options.pre-launch-hook.description": {
|
||||
"message": "Запускається перед відкриттям профілю."
|
||||
},
|
||||
"app.settings.default-instance-options.pre-launch-hook.placeholder": {
|
||||
"message": "Введіть команду перед запуском..."
|
||||
},
|
||||
"app.settings.default-instance-options.pre-launch-hook.title": {
|
||||
"message": "Команда перед запуском"
|
||||
},
|
||||
"app.settings.default-instance-options.width.description": {
|
||||
"message": "Ширина ігрового вікна під час запуску."
|
||||
},
|
||||
"app.settings.default-instance-options.width.placeholder": {
|
||||
"message": "Уведіть ширину…"
|
||||
},
|
||||
"app.settings.default-instance-options.width.title": {
|
||||
"message": "Ширина"
|
||||
},
|
||||
"app.settings.default-instance-options.wrapper-hook.description": {
|
||||
"message": "Команда, що використовується для обгортки процесу запуску Minecraft."
|
||||
},
|
||||
"app.settings.default-instance-options.wrapper-hook.placeholder": {
|
||||
"message": "Введіть команду обгортки..."
|
||||
},
|
||||
"app.settings.default-instance-options.wrapper-hook.title": {
|
||||
"message": "Команда обгортки"
|
||||
},
|
||||
"app.settings.developer-mode-button.label": {
|
||||
"message": "Перемикнути режим розробника"
|
||||
},
|
||||
"app.settings.developer-mode-enabled": {
|
||||
"message": "Увімкнено режим розробника."
|
||||
},
|
||||
"app.settings.downloading": {
|
||||
"message": "Завантаження v{version}"
|
||||
},
|
||||
"app.settings.java-installations.location.title": {
|
||||
"message": "Розташування Java {version, number}"
|
||||
},
|
||||
"app.settings.operating-system.macos": {
|
||||
"message": "macOS"
|
||||
},
|
||||
"app.settings.privacy.ads-consent.intro": {
|
||||
"message": "Реклама підтримує існування Modrinth та фінансує виплати творцям. Наші партнери можуть зберігати та отримувати доступ до cookie в застосунку, аби персоналізувати рекламу та збирати метрики. Ви можете відмовитися від них або керувати налаштуваннями нижче."
|
||||
},
|
||||
"app.settings.privacy.discord-rich-presence.description": {
|
||||
"message": "Показувати Modrinth App як вашу поточну активність у Discord. Це не впливає на Rich Presence, доданий до збірок модами. Потребує перезапуску застосунку."
|
||||
},
|
||||
"app.settings.privacy.discord-rich-presence.title": {
|
||||
"message": "Discord Rich Presence"
|
||||
},
|
||||
"app.settings.privacy.telemetry.description": {
|
||||
"message": "Modrinth збирає анонімізовану аналітику та дані про використання для покращення зручності та адаптації сервісу. Вимкнувши цю опцію, ви відмовляєтеся від збору, і ваші дані більше не збиратимуться."
|
||||
},
|
||||
"app.settings.privacy.telemetry.title": {
|
||||
"message": "Телеметрія"
|
||||
},
|
||||
"app.settings.resource-management.always-show-copy-details.description": {
|
||||
"message": "Показувати кнопку «Копіювати деталі», коли встановлення перебуває в черзі або виконується. Вона завжди доступна для невдалих або перерваних встановлень."
|
||||
},
|
||||
"app.settings.resource-management.always-show-copy-details.title": {
|
||||
"message": "Завжди показувати деталі копіювання"
|
||||
},
|
||||
"app.settings.resource-management.app-cache.confirm.description": {
|
||||
"message": "Застосунок може завантажуватися повільніше, поки кеш не відновиться."
|
||||
},
|
||||
"app.settings.resource-management.app-cache.confirm.title": {
|
||||
"message": "Очистити кеш?"
|
||||
},
|
||||
"app.settings.resource-management.app-cache.description": {
|
||||
"message": "Очистити кешовані дані та завантажити їх знову з Modrinth. Застосунок може завантажуватися повільніше, поки кеш відновиться."
|
||||
},
|
||||
"app.settings.resource-management.app-cache.purge": {
|
||||
"message": "Очистити кеш"
|
||||
},
|
||||
"app.settings.resource-management.app-cache.title": {
|
||||
"message": "Кеш застосунку"
|
||||
},
|
||||
"app.settings.resource-management.app-database-backups.description": {
|
||||
"message": "Резервні копії важливих даних застосунку зберігаються тут на випадок, якщо вам знадобиться відновити їх пізніше."
|
||||
},
|
||||
"app.settings.resource-management.app-database-backups.open-folder": {
|
||||
"message": "Відкрити теку резервних копій"
|
||||
},
|
||||
"app.settings.resource-management.app-database-backups.title": {
|
||||
"message": "Резервні копії бази даних застосунку"
|
||||
},
|
||||
"app.settings.resource-management.app-directory.browse": {
|
||||
"message": "Оглянути каталог застосунку"
|
||||
},
|
||||
"app.settings.resource-management.app-directory.description": {
|
||||
"message": "Де Modrinth App зберігає збірки та інші файли. Зміни набудуть чинності після перезапуску застосунку."
|
||||
},
|
||||
"app.settings.resource-management.app-directory.select": {
|
||||
"message": "Вибрати новий каталог застосунку"
|
||||
},
|
||||
"app.settings.resource-management.app-directory.title": {
|
||||
"message": "Каталог застосунку"
|
||||
},
|
||||
"app.settings.resource-management.maximum-concurrent-downloads.description": {
|
||||
"message": "Кількість файлів, які застосунок може завантажувати одночасно. Зменште це значення, якщо завантаження нестабільне на вашому з'єднанні. Потребує перезапуску застосунку."
|
||||
},
|
||||
"app.settings.resource-management.maximum-concurrent-downloads.title": {
|
||||
"message": "Максимум одночасних завантажень"
|
||||
},
|
||||
"app.settings.resource-management.maximum-concurrent-writes.description": {
|
||||
"message": "Кількість файлів, які застосунок може записувати на диск одночасно. Зменште це значення, якщо ви часто стикаєтеся з помилками вводу-виводу I/O. Потребує перезапуску застосунку."
|
||||
},
|
||||
"app.settings.resource-management.maximum-concurrent-writes.title": {
|
||||
"message": "Максимум одночасних записів"
|
||||
},
|
||||
"app.settings.sidebar.label.instances": {
|
||||
"message": "Збірки"
|
||||
},
|
||||
"app.settings.tabs.appearance": {
|
||||
"message": "Вигляд"
|
||||
},
|
||||
"app.settings.tabs.behavior": {
|
||||
"message": "Поведінка"
|
||||
},
|
||||
"app.settings.tabs.default-instance-options": {
|
||||
"message": "Усталені налашт. профілю"
|
||||
"message": "Стандартні параметри гри"
|
||||
},
|
||||
"app.settings.tabs.java-installations": {
|
||||
"message": "Інсталяції Java"
|
||||
@@ -674,6 +1019,9 @@
|
||||
"app.settings.tabs.resource-management": {
|
||||
"message": "Керування ресурсами"
|
||||
},
|
||||
"app.sidebar.playing-as": {
|
||||
"message": "Грає як"
|
||||
},
|
||||
"app.skins.add-button": {
|
||||
"message": "Додати скін"
|
||||
},
|
||||
@@ -833,6 +1181,21 @@
|
||||
"app.skins.toggle-ears-features-on": {
|
||||
"message": "Увімкнути"
|
||||
},
|
||||
"app.survey.body": {
|
||||
"message": "Не бажаєте відповісти на кілька запитань про ваш досвід користування Modrinth App?"
|
||||
},
|
||||
"app.survey.footer": {
|
||||
"message": "Цей відгук надійде безпосередньо команді Modrinth і допоможе у створенні майбутніх оновлень!"
|
||||
},
|
||||
"app.survey.no-thanks": {
|
||||
"message": "Ні, дякую"
|
||||
},
|
||||
"app.survey.take-survey": {
|
||||
"message": "Пройти опитування"
|
||||
},
|
||||
"app.survey.title": {
|
||||
"message": "Привіт, користувачу Modrinth!"
|
||||
},
|
||||
"app.update-popup.body.download-complete": {
|
||||
"message": "Modrinth App v{version} завантажено. Перезапустіть, щоб оновити зараз, або це відбудеться автоматично після закриття застосунку."
|
||||
},
|
||||
@@ -881,18 +1244,39 @@
|
||||
"app.world.world-item.players-online": {
|
||||
"message": "{count} у мережі"
|
||||
},
|
||||
"content.shared-instance.change-version-body": {
|
||||
"message": "Зміна версії впливає лише на вашу локальну копію. Майбутні оновлення спільної збірки можуть відновити або знову змінити її."
|
||||
},
|
||||
"content.shared-instance.delete-bulk-body": {
|
||||
"message": "Деякі вибрані проєкти є частиною спільної збірки. Видалення вплине лише на вашу локальну копію, а майбутні оновлення спільної збірки можуть відновити або знову змінити їх."
|
||||
},
|
||||
"content.shared-instance.delete-button": {
|
||||
"message": "Усе одно видалити"
|
||||
},
|
||||
"content.shared-instance.delete-many-button": {
|
||||
"message": "Усе одно видалити {count, plural, one {# проєкт} few {# проєкти} many {# проєктів} other {# проєкту}}"
|
||||
},
|
||||
"content.shared-instance.delete-single-body": {
|
||||
"message": "Видалення вплине лише на вашу локальну копію. Майбутні оновлення спільної збірки можуть відновити або знову змінити її."
|
||||
},
|
||||
"content.shared-instance.disable-bulk-body": {
|
||||
"message": "Деякі вибрані проєкти є частиною спільної збірки. Вимкнення вплине лише на вашу локальну копію, а майбутні оновлення спільної збірки можуть знову ввімкнути, відновити або змінити їх."
|
||||
},
|
||||
"content.shared-instance.disable-button": {
|
||||
"message": "Усе одно вимкнути"
|
||||
},
|
||||
"content.shared-instance.disable-many-button": {
|
||||
"message": "Усе одно вимкнути {count, plural, one {# проєкт} few {# проєкти} many {# проєктів} other {# проєкту}}"
|
||||
},
|
||||
"content.shared-instance.disable-single-body": {
|
||||
"message": "Вимкнення вплине лише на вашу локальну копію. Майбутні оновлення спільної збірки можуть знову ввімкнути, відновити або змінити її."
|
||||
},
|
||||
"content.shared-instance.unlink-body": {
|
||||
"message": "Відв'язування вплине лише на вашу локальну копію. Майбутні оновлення спільної збірки можуть відновити або знову змінити її."
|
||||
},
|
||||
"content.shared-instance.warning-header": {
|
||||
"message": "Це частина спільної збірки"
|
||||
},
|
||||
"friends.action.add-friend": {
|
||||
"message": "Додати друга"
|
||||
},
|
||||
@@ -956,6 +1340,48 @@
|
||||
"friends.sign-in-to-add-friends": {
|
||||
"message": "<link>Увійдіть в обліковий запис Modrinth</link>, щоб додати друзів і бачити, у що вони грають!"
|
||||
},
|
||||
"installation-settings.shared-instance.linked-title": {
|
||||
"message": "Пов'язана спільна збірка"
|
||||
},
|
||||
"installation-settings.shared-instance.title": {
|
||||
"message": "Скасувати публікацію збірки"
|
||||
},
|
||||
"installation-settings.shared-instance.unlink-button": {
|
||||
"message": "Відв'язати спільну збірку"
|
||||
},
|
||||
"installation-settings.shared-instance.unlink-description": {
|
||||
"message": "Від'єднати цю локальну збірку від майбутніх спільних оновлень."
|
||||
},
|
||||
"installation-settings.shared-instance.unlinking-button": {
|
||||
"message": "Відв'язування..."
|
||||
},
|
||||
"installation-settings.shared-instance.unpublish-button": {
|
||||
"message": "Скасувати публікацію спільної збірки"
|
||||
},
|
||||
"installation-settings.shared-instance.unpublish-description": {
|
||||
"message": "Видалити цю спільну збірку з Modrinth і припинити надсилати оновлення всім, хто нею користується. Це не вплине на вашу локальну збірку."
|
||||
},
|
||||
"installation-settings.shared-instance.unpublishing-button": {
|
||||
"message": "Скасування публікації..."
|
||||
},
|
||||
"installation-settings.unlink-shared-instance.modal.admonition-body": {
|
||||
"message": "Це вплине лише на вашу локальну збірку. Встановлений вміст залишиться на цьому пристрої, а спільна збірка та інші користувачі не зазнають змін."
|
||||
},
|
||||
"installation-settings.unlink-shared-instance.modal.admonition-header": {
|
||||
"message": "Відв'язування спільної збірки"
|
||||
},
|
||||
"installation-settings.unlink-shared-instance.modal.header": {
|
||||
"message": "Відв'язати спільну збірку"
|
||||
},
|
||||
"installation-settings.unpublish-shared-instance.modal.admonition-body": {
|
||||
"message": "Це видалить спільну збірку з серверів Modrinth. Користувачі Modrinth App припинять отримувати оновлення, але ваша локальна збірка та її вміст залишаться на цьому пристрої."
|
||||
},
|
||||
"installation-settings.unpublish-shared-instance.modal.admonition-header": {
|
||||
"message": "Скасування публікації спільної збірки"
|
||||
},
|
||||
"installation-settings.unpublish-shared-instance.modal.header": {
|
||||
"message": "Скасувати публікацію спільної збірки"
|
||||
},
|
||||
"instance.action.create-shortcut": {
|
||||
"message": "Створити ярлик"
|
||||
},
|
||||
@@ -1025,6 +1451,12 @@
|
||||
"instance.files.save-as": {
|
||||
"message": "Зберегти як..."
|
||||
},
|
||||
"instance.locked.delete-button": {
|
||||
"message": "Видалити збірку"
|
||||
},
|
||||
"instance.locked.play-tooltip": {
|
||||
"message": "Цю збірку заблоковано"
|
||||
},
|
||||
"instance.playtime.never-played": {
|
||||
"message": "Не запускався"
|
||||
},
|
||||
@@ -1040,6 +1472,45 @@
|
||||
"instance.server-modal.resource-pack": {
|
||||
"message": "Пакет ресурсів"
|
||||
},
|
||||
"instance.settings.sharing.active-invites.actions": {
|
||||
"message": "Дії"
|
||||
},
|
||||
"instance.settings.sharing.active-invites.code": {
|
||||
"message": "Посилання для запрошення"
|
||||
},
|
||||
"instance.settings.sharing.active-invites.description": {
|
||||
"message": "Будь-хто з цим посиланням-запрошенням може приєднатися, поки воно залишається активним."
|
||||
},
|
||||
"instance.settings.sharing.active-invites.empty": {
|
||||
"message": "Немає активних запрошень."
|
||||
},
|
||||
"instance.settings.sharing.active-invites.expires": {
|
||||
"message": "Чинний до"
|
||||
},
|
||||
"instance.settings.sharing.active-invites.revoke": {
|
||||
"message": "Відкликати запрошення"
|
||||
},
|
||||
"instance.settings.sharing.active-invites.revoke-with-code": {
|
||||
"message": "Відкликати запрошення {code}"
|
||||
},
|
||||
"instance.settings.sharing.active-invites.title": {
|
||||
"message": "Активні запрошення"
|
||||
},
|
||||
"instance.settings.sharing.active-invites.uses": {
|
||||
"message": "Кількість використань"
|
||||
},
|
||||
"instance.settings.sharing.revoke-invite.admonition-body": {
|
||||
"message": "Посилання для запрошення <monospace>{code}</monospace> негайно припинить діяти. Люди, які вже приєдналися, збережуть доступ."
|
||||
},
|
||||
"instance.settings.sharing.revoke-invite.admonition-header": {
|
||||
"message": "Цю дію неможливо скасувати"
|
||||
},
|
||||
"instance.settings.sharing.revoke-invite.confirm": {
|
||||
"message": "Відкликати запрошення"
|
||||
},
|
||||
"instance.settings.sharing.revoke-invite.header": {
|
||||
"message": "Відкликати запрошення"
|
||||
},
|
||||
"instance.settings.tabs.general": {
|
||||
"message": "Загальні"
|
||||
},
|
||||
@@ -1163,6 +1634,9 @@
|
||||
"instance.settings.tabs.installation.loader-version": {
|
||||
"message": "Версія {loader}"
|
||||
},
|
||||
"instance.settings.tabs.installation.locked": {
|
||||
"message": "Налаштування інсталяції недоступні, поки ця збірка заблокована."
|
||||
},
|
||||
"instance.settings.tabs.java": {
|
||||
"message": "Java та пам’ять"
|
||||
},
|
||||
@@ -1202,6 +1676,9 @@
|
||||
"instance.settings.tabs.java.java-path-placeholder": {
|
||||
"message": "/шлях/до/java"
|
||||
},
|
||||
"instance.settings.tabs.sharing": {
|
||||
"message": "Спільний доступ"
|
||||
},
|
||||
"instance.settings.tabs.window": {
|
||||
"message": "Вікно"
|
||||
},
|
||||
@@ -1235,6 +1712,15 @@
|
||||
"instance.shared-instance.error.title": {
|
||||
"message": "Щось пішло не так"
|
||||
},
|
||||
"instance.shared-instance.network-error.text": {
|
||||
"message": "Не вдалося під'єднатися до API спільних збірок"
|
||||
},
|
||||
"instance.shared-instance.network-error.title": {
|
||||
"message": "Помилка мережі"
|
||||
},
|
||||
"instance.shared-instance.owner-tooltip": {
|
||||
"message": "Вміст цієї збірки надається іншим користувачам."
|
||||
},
|
||||
"instance.shared-instance.publish-review.added-label": {
|
||||
"message": "Додано"
|
||||
},
|
||||
@@ -1265,9 +1751,15 @@
|
||||
"instance.shared-instance.unavailable.deleted-text": {
|
||||
"message": "Основний профіль видалено. Цей профіль досі доступний, але вже не прив'язаний та не отримуватиме оновлення."
|
||||
},
|
||||
"instance.shared-instance.unavailable.locked-text": {
|
||||
"message": "Цю спільну збірку було заблоковано командою модерації контенту. Вона більше не отримуватиме оновлень від основної збірки та не може бути запущена."
|
||||
},
|
||||
"instance.shared-instance.unavailable.locked-title": {
|
||||
"message": "Профіль заблоковано"
|
||||
},
|
||||
"instance.shared-instance.unavailable.manager-fallback": {
|
||||
"message": "менеджер збірки"
|
||||
},
|
||||
"instance.shared-instance.unavailable.text": {
|
||||
"message": "Ваш локальний профіль досі доступний, але вже не прив'язаний та не отримуватиме оновлення."
|
||||
},
|
||||
@@ -1361,8 +1853,8 @@
|
||||
"modal.modrinth-account-required.browser-description": {
|
||||
"message": "Відкрилася нова вкладка, де ви зможете ввійти. Увійдіть, тоді поверніться до застосунку."
|
||||
},
|
||||
"modal.modrinth-account-required.cancel-button": {
|
||||
"message": "Скасувати"
|
||||
"modal.modrinth-account-required.continue-in-browser-heading": {
|
||||
"message": "Продовжити у браузері"
|
||||
},
|
||||
"modal.modrinth-account-required.create-account-button": {
|
||||
"message": "Створити обліковий запис"
|
||||
@@ -1414,5 +1906,11 @@
|
||||
},
|
||||
"search.filter.locked.server-loader.title": {
|
||||
"message": "Завантажувач наданий сервером"
|
||||
},
|
||||
"settings.sidebar.label.account": {
|
||||
"message": "Обліковий запис"
|
||||
},
|
||||
"settings.sidebar.label.display": {
|
||||
"message": "Дисплей"
|
||||
}
|
||||
}
|
||||
|
||||
@@ -134,21 +134,12 @@
|
||||
"app.ads-consent.title": {
|
||||
"message": "Quyền riêng tư của bạn và cách quảng cáo hỗ trợ Modrinth"
|
||||
},
|
||||
"app.appearance-settings.advanced-rendering.description": {
|
||||
"message": "Kích hoạt các tính năng dựng hình nâng cao như hiệu ứng làm mờ, có thể gây giảm hiệu năng nếu không có chế độ tăng tốc phần cứng."
|
||||
},
|
||||
"app.appearance-settings.advanced-rendering.title": {
|
||||
"message": "Dựng hình nâng cao"
|
||||
},
|
||||
"app.appearance-settings.color-theme.description": {
|
||||
"message": "Chọn màu nền ưu thích của bạn cho Modrinth App."
|
||||
},
|
||||
"app.appearance-settings.color-theme.title": {
|
||||
"message": "Màu chủ đề"
|
||||
},
|
||||
"app.appearance-settings.default-landing-page.description": {
|
||||
"message": "Thay đổi trang hiển thị khi khởi chạy launcher."
|
||||
},
|
||||
"app.appearance-settings.default-landing-page.home": {
|
||||
"message": "Trang chủ"
|
||||
},
|
||||
@@ -158,51 +149,18 @@
|
||||
"app.appearance-settings.default-landing-page.title": {
|
||||
"message": "Trang mặc định"
|
||||
},
|
||||
"app.appearance-settings.hide-nametag.description": {
|
||||
"message": "Tắt hiển thị thẻ tên phía trên người chơi ở trang skin."
|
||||
},
|
||||
"app.appearance-settings.hide-nametag.title": {
|
||||
"message": "Ẩn thẻ tên"
|
||||
},
|
||||
"app.appearance-settings.jump-back-into-worlds.description": {
|
||||
"message": "Hiển thị các thế giới gần đây trong mục \"Tiếp tục chơi\" ở Trang chủ."
|
||||
},
|
||||
"app.appearance-settings.jump-back-into-worlds.title": {
|
||||
"message": "Tiếp tục chơi"
|
||||
},
|
||||
"app.appearance-settings.minimize-launcher.description": {
|
||||
"message": "Thu nhỏ launcher khi game Minecraft bắt đầu chạy."
|
||||
},
|
||||
"app.appearance-settings.minimize-launcher.title": {
|
||||
"message": "Thu nhỏ launcher"
|
||||
},
|
||||
"app.appearance-settings.native-decorations.description": {
|
||||
"message": "Sử dụng khung cửa sổ hệ thống (yêu cầu khởi động lại ứng dụng)."
|
||||
},
|
||||
"app.appearance-settings.native-decorations.title": {
|
||||
"message": "Giao diện cửa sổ hệ thống"
|
||||
},
|
||||
"app.appearance-settings.show-play-time.description": {
|
||||
"message": "Hiển thị thời gian bạn đã dành để chơi bằng một cấu hình."
|
||||
},
|
||||
"app.appearance-settings.show-play-time.title": {
|
||||
"message": "Hiện thời gian chơi"
|
||||
},
|
||||
"app.appearance-settings.skip-non-essential-warnings.description": {
|
||||
"message": "Tự động bỏ qua các bước xác nhận rủi ro thấp như cài đặt gói mod trùng lặp, xóa nội dung thông thường, cập nhật hàng loạt, hủy liên kết gói mod và lời nhắc sửa chữa. Các cảnh báo nguy hiểm vẫn sẽ được hiển thị."
|
||||
},
|
||||
"app.appearance-settings.skip-non-essential-warnings.title": {
|
||||
"message": "Bỏ qua các cảnh báo không quan trọng"
|
||||
},
|
||||
"app.appearance-settings.toggle-sidebar.description": {
|
||||
"message": "Bật tính năng ẩn hiển thị thanh menu bên."
|
||||
},
|
||||
"app.appearance-settings.toggle-sidebar.title": {
|
||||
"message": "Ẩn/hiện thanh bên"
|
||||
},
|
||||
"app.appearance-settings.unknown-pack-warning.description": {
|
||||
"message": "Nếu bạn cố gắng cài đặt tệp Modrinth Pack (.mrpack) không được lưu trữ trên máy chủ Modrinth, chúng tôi sẽ đảm bảo bạn hiểu rõ các rủi ro trước khi cài đặt."
|
||||
},
|
||||
"app.appearance-settings.unknown-pack-warning.title": {
|
||||
"message": "Cảnh báo tôi trước khi cài đặt các modpacks không rõ nguồn gốc"
|
||||
},
|
||||
@@ -446,9 +404,6 @@
|
||||
"app.settings.tabs.appearance": {
|
||||
"message": "Giao diện"
|
||||
},
|
||||
"app.settings.tabs.default-instance-options": {
|
||||
"message": "Tuỳ chọn hồ sơ khởi chạy mặc định"
|
||||
},
|
||||
"app.settings.tabs.java-installations": {
|
||||
"message": "Các bản cài Java"
|
||||
},
|
||||
|
||||
@@ -42,7 +42,7 @@
|
||||
"message": "无法下载文件"
|
||||
},
|
||||
"app.action-bar.install.summary.corrupt-download": {
|
||||
"message": "下载的文件是损坏的"
|
||||
"message": "下载的文件已损坏"
|
||||
},
|
||||
"app.action-bar.install.summary.could-not-save-files": {
|
||||
"message": "无法保存文件"
|
||||
@@ -69,16 +69,16 @@
|
||||
"message": "加载器配置失败"
|
||||
},
|
||||
"app.action-bar.install.summary.local-data-error": {
|
||||
"message": "无法更新本地的数据"
|
||||
"message": "无法更新本地数据"
|
||||
},
|
||||
"app.action-bar.install.summary.minecraft-setup-failed": {
|
||||
"message": "Minecraft 配置失败"
|
||||
},
|
||||
"app.action-bar.install.summary.modrinth-unreachable": {
|
||||
"message": "无法连接Modrinth"
|
||||
"message": "无法连接 Modrinth"
|
||||
},
|
||||
"app.action-bar.install.summary.no-write-permission": {
|
||||
"message": "没有写入的权限"
|
||||
"message": "没有写入权限"
|
||||
},
|
||||
"app.action-bar.install.summary.pack-download-failed": {
|
||||
"message": "无法下载整合包"
|
||||
@@ -108,7 +108,7 @@
|
||||
"message": "主实例"
|
||||
},
|
||||
"app.action-bar.reload-to-update": {
|
||||
"message": "重新加载以更新"
|
||||
"message": "重启以完成更新"
|
||||
},
|
||||
"app.action-bar.show-more-running-instances": {
|
||||
"message": "显示更多运行中的实例"
|
||||
@@ -156,7 +156,7 @@
|
||||
"message": "色彩主题"
|
||||
},
|
||||
"app.appearance-settings.default-landing-page.description": {
|
||||
"message": "更改启动器打开的页面。"
|
||||
"message": "选择 Modrinth App 启动时显示的页面。"
|
||||
},
|
||||
"app.appearance-settings.default-landing-page.home": {
|
||||
"message": "首页"
|
||||
@@ -168,7 +168,7 @@
|
||||
"message": "默认起始页"
|
||||
},
|
||||
"app.appearance-settings.hide-nametag.description": {
|
||||
"message": "在皮肤页面中禁用你玩家头顶上的名牌。"
|
||||
"message": "在皮肤选择器页面的玩家预览上隐藏用户名。"
|
||||
},
|
||||
"app.appearance-settings.hide-nametag.title": {
|
||||
"message": "隐藏名牌"
|
||||
@@ -180,16 +180,16 @@
|
||||
"message": "快速回到世界"
|
||||
},
|
||||
"app.appearance-settings.minimize-launcher.description": {
|
||||
"message": "当 Minecraft 进程启动时,将启动器最小化。"
|
||||
"message": "当 Minecraft 进程启动时,将 Modrinth App 最小化。"
|
||||
},
|
||||
"app.appearance-settings.minimize-launcher.title": {
|
||||
"message": "最小化启动器"
|
||||
},
|
||||
"app.appearance-settings.native-decorations.description": {
|
||||
"message": "使用系统窗口边框(需要重启应用)。"
|
||||
"message": "使用操作系统的标题栏和窗口控件。需要重启应用。"
|
||||
},
|
||||
"app.appearance-settings.native-decorations.title": {
|
||||
"message": "原生窗口"
|
||||
"message": "系统窗口框架"
|
||||
},
|
||||
"app.appearance-settings.show-play-time.description": {
|
||||
"message": "显示你在每个实例中游玩的时间。"
|
||||
@@ -204,13 +204,13 @@
|
||||
"message": "跳过非必要的警告"
|
||||
},
|
||||
"app.appearance-settings.toggle-sidebar.description": {
|
||||
"message": "启用切换侧边栏的功能。"
|
||||
"message": "默认隐藏右侧边栏,并添加一个按钮来显示或隐藏它。"
|
||||
},
|
||||
"app.appearance-settings.toggle-sidebar.title": {
|
||||
"message": "切换侧边栏"
|
||||
"message": "隐藏右侧边栏"
|
||||
},
|
||||
"app.appearance-settings.unknown-pack-warning.description": {
|
||||
"message": "如果你尝试安装一个未托管在 Modrinth 上的 Modrinth 整合包文件(.mrpack),我们会确保你在安装之前了解相关风险。"
|
||||
"message": "在安装非 Modrinth 托管的 Modrinth 整合包文件 (.mrpack) 前显示安全警告。"
|
||||
},
|
||||
"app.appearance-settings.unknown-pack-warning.title": {
|
||||
"message": "安装未知整合包前提醒我"
|
||||
@@ -221,8 +221,17 @@
|
||||
"app.auth-servers.unreachable.header": {
|
||||
"message": "无法连接到身份验证服务器"
|
||||
},
|
||||
"app.behavior-settings.confirmations.title": {
|
||||
"message": "安全确认"
|
||||
},
|
||||
"app.behavior-settings.content.title": {
|
||||
"message": "主页及内容"
|
||||
},
|
||||
"app.behavior-settings.startup-and-navigation.title": {
|
||||
"message": "启动与导航"
|
||||
},
|
||||
"app.browse.add-servers-to-instance": {
|
||||
"message": "添加实例到服务器"
|
||||
"message": "添加服务器到实例"
|
||||
},
|
||||
"app.browse.add-to-an-instance": {
|
||||
"message": "添加到实例"
|
||||
@@ -242,12 +251,18 @@
|
||||
"app.browse.back-to-instance": {
|
||||
"message": "返回实例"
|
||||
},
|
||||
"app.browse.discover-project-type": {
|
||||
"message": "探索{projectType}"
|
||||
},
|
||||
"app.browse.discover-servers": {
|
||||
"message": "发现服务器"
|
||||
},
|
||||
"app.browse.hide-added-servers": {
|
||||
"message": "隐藏已添加的服务器"
|
||||
},
|
||||
"app.browse.hide-installed-modpacks": {
|
||||
"message": "隐藏已安装内容"
|
||||
},
|
||||
"app.browse.project-type.modpacks": {
|
||||
"message": "整合包"
|
||||
},
|
||||
@@ -294,7 +309,7 @@
|
||||
"message": "正在解压覆盖项"
|
||||
},
|
||||
"app.install.phase.finalizing": {
|
||||
"message": "完成"
|
||||
"message": "即将完成"
|
||||
},
|
||||
"app.install.phase.preparing_instance": {
|
||||
"message": "已加入安装队列"
|
||||
@@ -315,7 +330,7 @@
|
||||
"message": "正在准备 Java {version}"
|
||||
},
|
||||
"app.install.phase.preparing_java.validating": {
|
||||
"message": "正在校验 Java {version}"
|
||||
"message": "正在验证 Java {version}"
|
||||
},
|
||||
"app.install.phase.reading_pack_manifest": {
|
||||
"message": "正在读取整合包清单"
|
||||
@@ -330,10 +345,10 @@
|
||||
"message": "正在解析内容"
|
||||
},
|
||||
"app.install.phase.rolling_back": {
|
||||
"message": "回滚中"
|
||||
"message": "正在回滚"
|
||||
},
|
||||
"app.install.phase.running_loader_processors": {
|
||||
"message": "正在运行加载处理器"
|
||||
"message": "正在运行加载器处理程序"
|
||||
},
|
||||
"app.instance.admonitions.shared-instance.added-label": {
|
||||
"message": "新增内容"
|
||||
@@ -348,7 +363,7 @@
|
||||
"message": "推送更新"
|
||||
},
|
||||
"app.instance.admonitions.shared-instance.publishing-button": {
|
||||
"message": "推送中……"
|
||||
"message": "正在推送…"
|
||||
},
|
||||
"app.instance.admonitions.shared-instance.removed-label": {
|
||||
"message": "移除内容"
|
||||
@@ -360,10 +375,19 @@
|
||||
"message": "预览即将同步给所有使用该实例用户的变更内容。"
|
||||
},
|
||||
"app.instance.admonitions.shared-instance.review-header": {
|
||||
"message": "审核变更"
|
||||
"message": "查看变更"
|
||||
},
|
||||
"app.instance.admonitions.shared-instance.review-update-button": {
|
||||
"message": "查看更新"
|
||||
},
|
||||
"app.instance.admonitions.shared-instance.reviewing-button": {
|
||||
"message": "正在审核……"
|
||||
"message": "正在审查…"
|
||||
},
|
||||
"app.instance.admonitions.shared-instance.update-available-body": {
|
||||
"message": "{name}需要更新。请更新到最新版本以启动游戏。"
|
||||
},
|
||||
"app.instance.admonitions.shared-instance.update-available-header": {
|
||||
"message": "有更新可用"
|
||||
},
|
||||
"app.instance.confirm-delete.admonition-body": {
|
||||
"message": "你实例的所有数据将被永久删除,包括你的世界、配置和所有已安装的内容。"
|
||||
@@ -384,7 +408,7 @@
|
||||
"message": "创建"
|
||||
},
|
||||
"app.instance.modpack-already-installed.header": {
|
||||
"message": "整合包已安装"
|
||||
"message": "该整合包已安装"
|
||||
},
|
||||
"app.instance.modpack-already-installed.instance": {
|
||||
"message": "实例"
|
||||
@@ -431,6 +455,9 @@
|
||||
"app.instance.share.invite-modal.heading": {
|
||||
"message": "分享 {name}"
|
||||
},
|
||||
"app.instance.share.invite-modal.user-limit-reached": {
|
||||
"message": "该实例已达{limit}人数上限。"
|
||||
},
|
||||
"app.instance.share.locked.empty-description-prefix": {
|
||||
"message": "你需要登录账号"
|
||||
},
|
||||
@@ -449,6 +476,12 @@
|
||||
"app.instance.share.locked.wrong-account-heading": {
|
||||
"message": "账号错误"
|
||||
},
|
||||
"app.instance.share.members.empty": {
|
||||
"message": "暂无用户加入"
|
||||
},
|
||||
"app.instance.share.members.no-filter-results": {
|
||||
"message": "没有符合您筛选条件的用户。"
|
||||
},
|
||||
"app.instance.share.remove-user-modal.effect-access": {
|
||||
"message": "对方将不再收到该共享实例的后续更新"
|
||||
},
|
||||
@@ -479,6 +512,12 @@
|
||||
"app.instance.share.sign-in.button": {
|
||||
"message": "登录"
|
||||
},
|
||||
"app.instance.share.unable-to-connect.description": {
|
||||
"message": "共享实例服务暂时无法访问,请稍后再试"
|
||||
},
|
||||
"app.instance.share.unable-to-connect.heading": {
|
||||
"message": "连接失败"
|
||||
},
|
||||
"app.instance.share.unlink.body": {
|
||||
"message": "你必须先取消关联此整合包才能分享你的实例"
|
||||
},
|
||||
@@ -498,13 +537,13 @@
|
||||
"message": "实例"
|
||||
},
|
||||
"app.instance.shared-instance-wrong-account.fallback-username": {
|
||||
"message": "已关联的账号"
|
||||
"message": "已关联的账户"
|
||||
},
|
||||
"app.instance.shared-instance-wrong-account.owner-admonition-body-v2": {
|
||||
"message": "才能管理此共享实例。否则你将无法向其他用户推送更新。"
|
||||
},
|
||||
"app.instance.shared-instance-wrong-account.sign-in-as-label": {
|
||||
"message": "登录账号"
|
||||
"message": "登录账户"
|
||||
},
|
||||
"app.instance.shared-instance-wrong-account.signed-out-header": {
|
||||
"message": "你需要登录 Modrinth"
|
||||
@@ -513,7 +552,7 @@
|
||||
"message": "才能接收此共享实例的更新。"
|
||||
},
|
||||
"app.instance.shared-instance-wrong-account.warning-header": {
|
||||
"message": "你当前使用的 Modrinth 账号不正确"
|
||||
"message": "你当前使用的 Modrinth 账户不正确"
|
||||
},
|
||||
"app.instance.worlds.add-server": {
|
||||
"message": "添加服务器"
|
||||
@@ -534,7 +573,7 @@
|
||||
"message": "正在删除 {name}"
|
||||
},
|
||||
"app.instance.worlds.filter-modded": {
|
||||
"message": "适配模组"
|
||||
"message": "可安装 Mod"
|
||||
},
|
||||
"app.instance.worlds.filter-offline": {
|
||||
"message": "离线"
|
||||
@@ -551,6 +590,9 @@
|
||||
"app.instance.worlds.no-worlds-heading": {
|
||||
"message": "未添加服务器或世界"
|
||||
},
|
||||
"app.instance.worlds.refreshing": {
|
||||
"message": "正在刷新……"
|
||||
},
|
||||
"app.instance.worlds.remove-server-modal.remove-button": {
|
||||
"message": "删除服务器"
|
||||
},
|
||||
@@ -564,7 +606,52 @@
|
||||
"message": "正在删除 {name}"
|
||||
},
|
||||
"app.instance.worlds.search-worlds-placeholder": {
|
||||
"message": "搜索 {count} 个世界……"
|
||||
"message": "搜索 {count} 个世界…"
|
||||
},
|
||||
"app.java-detection.cancel": {
|
||||
"message": "取消"
|
||||
},
|
||||
"app.java-detection.columns.actions": {
|
||||
"message": "操作"
|
||||
},
|
||||
"app.java-detection.columns.path": {
|
||||
"message": "路径"
|
||||
},
|
||||
"app.java-detection.columns.version": {
|
||||
"message": "版本"
|
||||
},
|
||||
"app.java-detection.no-installations-found": {
|
||||
"message": "未找到Java配置"
|
||||
},
|
||||
"app.java-detection.select": {
|
||||
"message": "选择"
|
||||
},
|
||||
"app.java-detection.selected": {
|
||||
"message": "已选择"
|
||||
},
|
||||
"app.java-detection.title": {
|
||||
"message": "选择Java配置"
|
||||
},
|
||||
"app.java-selector.already-installed": {
|
||||
"message": "已安装"
|
||||
},
|
||||
"app.java-selector.browse": {
|
||||
"message": "浏览"
|
||||
},
|
||||
"app.java-selector.detect": {
|
||||
"message": "检测"
|
||||
},
|
||||
"app.java-selector.install-recommended": {
|
||||
"message": "安装推荐版本"
|
||||
},
|
||||
"app.java-selector.installing": {
|
||||
"message": "正在安装…"
|
||||
},
|
||||
"app.java-selector.path.placeholder": {
|
||||
"message": "Java安装路径"
|
||||
},
|
||||
"app.java-selector.test-installation": {
|
||||
"message": "测试"
|
||||
},
|
||||
"app.modal.install-to-play.additional-context": {
|
||||
"message": "补充说明"
|
||||
@@ -572,6 +659,9 @@
|
||||
"app.modal.install-to-play.additional-context-placeholder": {
|
||||
"message": "如有必要,请尽量附上相关链接与图片"
|
||||
},
|
||||
"app.modal.install-to-play.block-user": {
|
||||
"message": "屏蔽该用户"
|
||||
},
|
||||
"app.modal.install-to-play.content-you-are-reporting": {
|
||||
"message": "所举报的实例"
|
||||
},
|
||||
@@ -593,6 +683,9 @@
|
||||
"app.modal.install-to-play.invite-warning": {
|
||||
"message": "这个邀请是由另一位 Modrinth 用户创建的,而不是 Modrinth 官方。只接受你信任的人的邀请。"
|
||||
},
|
||||
"app.modal.install-to-play.invite-warning-with-creator": {
|
||||
"message": "此邀请由 <creator>{username}</creator> 创建,而非 Modrinth。只接受您信任的人发出的邀请。"
|
||||
},
|
||||
"app.modal.install-to-play.mod-count": {
|
||||
"message": "{count} 个模组"
|
||||
},
|
||||
@@ -650,6 +743,9 @@
|
||||
"app.modal.install-to-play.unrecognized-files": {
|
||||
"message": "未识别文件"
|
||||
},
|
||||
"app.modal.install-to-play.user-blocked": {
|
||||
"message": "用户已屏蔽"
|
||||
},
|
||||
"app.modal.install-to-play.view-contents": {
|
||||
"message": "查看内容"
|
||||
},
|
||||
@@ -677,6 +773,36 @@
|
||||
"app.modal.update-to-play.update-required-description": {
|
||||
"message": "为了玩{name}你需要更新。"
|
||||
},
|
||||
"app.nav.create-new-instance": {
|
||||
"message": "创建实例"
|
||||
},
|
||||
"app.nav.home": {
|
||||
"message": "首页"
|
||||
},
|
||||
"app.nav.library": {
|
||||
"message": "库"
|
||||
},
|
||||
"app.nav.modrinth-account": {
|
||||
"message": "Modrinth账户"
|
||||
},
|
||||
"app.nav.modrinth-hosting": {
|
||||
"message": "Modrinth Hosting"
|
||||
},
|
||||
"app.nav.sign-in-to-modrinth-account": {
|
||||
"message": "登录Modrinth账户"
|
||||
},
|
||||
"app.nav.signed-in-as": {
|
||||
"message": "以<user>{username}</user>身份登录"
|
||||
},
|
||||
"app.nav.upgrade-to-modrinth-plus": {
|
||||
"message": "升级至Modrinth+"
|
||||
},
|
||||
"app.news.title": {
|
||||
"message": "新闻"
|
||||
},
|
||||
"app.news.view-all": {
|
||||
"message": "查看所有新闻"
|
||||
},
|
||||
"app.project.install-button.already-installed": {
|
||||
"message": "此项目已安装"
|
||||
},
|
||||
@@ -686,6 +812,9 @@
|
||||
"app.project.install-context.back-to-browse": {
|
||||
"message": "返回发现页"
|
||||
},
|
||||
"app.project.install-context.back-to-instance": {
|
||||
"message": "返回实例"
|
||||
},
|
||||
"app.project.version.all-versions": {
|
||||
"message": "所有版本"
|
||||
},
|
||||
@@ -698,20 +827,188 @@
|
||||
"app.project.versions.already-installed": {
|
||||
"message": "已安装"
|
||||
},
|
||||
"app.quick-instance-switcher.drag-show-tooltip": {
|
||||
"message": "拖动以显示最近的实例"
|
||||
},
|
||||
"app.quick-instance-switcher.drag-tooltip": {
|
||||
"message": "拖拽以调整大小"
|
||||
},
|
||||
"app.restarting": {
|
||||
"message": "正在重启…"
|
||||
},
|
||||
"app.settings.app-version": {
|
||||
"message": "Modrinth App {version}"
|
||||
},
|
||||
"app.settings.default-instance-options.environment-variables.description": {
|
||||
"message": "启动实例时设置的环境变量。"
|
||||
},
|
||||
"app.settings.default-instance-options.environment-variables.placeholder": {
|
||||
"message": "输入环境变量…"
|
||||
},
|
||||
"app.settings.default-instance-options.environment-variables.title": {
|
||||
"message": "环境变量"
|
||||
},
|
||||
"app.settings.default-instance-options.fullscreen.description": {
|
||||
"message": "通过更新实例的options.txt文件以全屏方式启动实例。"
|
||||
},
|
||||
"app.settings.default-instance-options.fullscreen.title": {
|
||||
"message": "全屏"
|
||||
},
|
||||
"app.settings.default-instance-options.height.description": {
|
||||
"message": "游戏窗口启动时的高度。"
|
||||
},
|
||||
"app.settings.default-instance-options.height.placeholder": {
|
||||
"message": "输入高度…"
|
||||
},
|
||||
"app.settings.default-instance-options.height.title": {
|
||||
"message": "高度"
|
||||
},
|
||||
"app.settings.default-instance-options.java-arguments.description": {
|
||||
"message": "启动实例时传递给 Java 的参数。"
|
||||
},
|
||||
"app.settings.default-instance-options.java-arguments.placeholder": {
|
||||
"message": "输入Java参数…"
|
||||
},
|
||||
"app.settings.default-instance-options.java-arguments.title": {
|
||||
"message": "Java参数"
|
||||
},
|
||||
"app.settings.default-instance-options.memory-allocation.description": {
|
||||
"message": "每个实例的最大可用内存。"
|
||||
},
|
||||
"app.settings.default-instance-options.memory-allocation.title": {
|
||||
"message": "内存分配"
|
||||
},
|
||||
"app.settings.default-instance-options.post-exit-hook.description": {
|
||||
"message": "在游戏关闭后运行。"
|
||||
},
|
||||
"app.settings.default-instance-options.post-exit-hook.placeholder": {
|
||||
"message": "输入退出后命令..."
|
||||
},
|
||||
"app.settings.default-instance-options.post-exit-hook.title": {
|
||||
"message": "退出后执行命令"
|
||||
},
|
||||
"app.settings.default-instance-options.pre-launch-hook.description": {
|
||||
"message": "在实例启动前运行。"
|
||||
},
|
||||
"app.settings.default-instance-options.pre-launch-hook.placeholder": {
|
||||
"message": "输入启动前命令……"
|
||||
},
|
||||
"app.settings.default-instance-options.pre-launch-hook.title": {
|
||||
"message": "启动前执行命令"
|
||||
},
|
||||
"app.settings.default-instance-options.width.description": {
|
||||
"message": "游戏窗口启动时的宽度。"
|
||||
},
|
||||
"app.settings.default-instance-options.width.placeholder": {
|
||||
"message": "输入宽度…"
|
||||
},
|
||||
"app.settings.default-instance-options.width.title": {
|
||||
"message": "宽度"
|
||||
},
|
||||
"app.settings.default-instance-options.wrapper-hook.description": {
|
||||
"message": "用来包装 Minecraft 启动过程的命令。"
|
||||
},
|
||||
"app.settings.default-instance-options.wrapper-hook.placeholder": {
|
||||
"message": "输入包装器命令……"
|
||||
},
|
||||
"app.settings.default-instance-options.wrapper-hook.title": {
|
||||
"message": "包装器命令"
|
||||
},
|
||||
"app.settings.developer-mode-button.label": {
|
||||
"message": "切换开发者模式"
|
||||
},
|
||||
"app.settings.developer-mode-enabled": {
|
||||
"message": "开发者模式已启用。"
|
||||
},
|
||||
"app.settings.downloading": {
|
||||
"message": "正在下载 v{version}"
|
||||
},
|
||||
"app.settings.java-installations.location.title": {
|
||||
"message": "Java {version, number} 位置"
|
||||
},
|
||||
"app.settings.operating-system.macos": {
|
||||
"message": "macOS"
|
||||
},
|
||||
"app.settings.privacy.ads-consent.intro": {
|
||||
"message": "广告使 Modrinth 得以运营,并为创作者报酬提供资金支持。我们的合作伙伴可能会在应用中存储或访问 Cookie,以便实现广告个性化和效果衡量。您可以在下方选择退出或管理您的偏好设置。"
|
||||
},
|
||||
"app.settings.privacy.discord-rich-presence.description": {
|
||||
"message": "在 Discord 上将 Modrinth App 显示为您当前的活动。这不会影响模组为游戏实例添加的 Rich Presence。需要重启应用生效。"
|
||||
},
|
||||
"app.settings.privacy.discord-rich-presence.title": {
|
||||
"message": "Discord Rich Presence"
|
||||
},
|
||||
"app.settings.privacy.telemetry.description": {
|
||||
"message": "Modrinth 收集匿名分析和使用数据,以提升用户体验并为您提供个性化服务。若禁用此选项,即表示您选择退出,您的数据将不再被收集。"
|
||||
},
|
||||
"app.settings.privacy.telemetry.title": {
|
||||
"message": "遥测"
|
||||
},
|
||||
"app.settings.resource-management.always-show-copy-details.description": {
|
||||
"message": "在安装排队或运行时显示“复制详细信息”选项。对于失败或中断的安装,该选项始终可用。"
|
||||
},
|
||||
"app.settings.resource-management.always-show-copy-details.title": {
|
||||
"message": "始终显示复制详情"
|
||||
},
|
||||
"app.settings.resource-management.app-cache.confirm.description": {
|
||||
"message": "在缓存重建之前,应用加载可能会更慢。"
|
||||
},
|
||||
"app.settings.resource-management.app-cache.confirm.title": {
|
||||
"message": "清除App缓存?"
|
||||
},
|
||||
"app.settings.resource-management.app-cache.description": {
|
||||
"message": "清除缓存数据,然后从Modrinth重新下载。在缓存重建之前,应用加载可能会更慢。"
|
||||
},
|
||||
"app.settings.resource-management.app-cache.purge": {
|
||||
"message": "清除缓存"
|
||||
},
|
||||
"app.settings.resource-management.app-cache.title": {
|
||||
"message": "App缓存"
|
||||
},
|
||||
"app.settings.resource-management.app-database-backups.description": {
|
||||
"message": "这里存储了重要的应用数据的备份,以备日后需要恢复。"
|
||||
},
|
||||
"app.settings.resource-management.app-database-backups.open-folder": {
|
||||
"message": "打开备份文件夹"
|
||||
},
|
||||
"app.settings.resource-management.app-database-backups.title": {
|
||||
"message": "应用数据库备份"
|
||||
},
|
||||
"app.settings.resource-management.app-directory.browse": {
|
||||
"message": "浏览应用目录"
|
||||
},
|
||||
"app.settings.resource-management.app-directory.description": {
|
||||
"message": "Modrinth App存储实例和其他文件的位置。更改会在重启程序后生效。"
|
||||
},
|
||||
"app.settings.resource-management.app-directory.select": {
|
||||
"message": "选择新的应用目录"
|
||||
},
|
||||
"app.settings.resource-management.app-directory.title": {
|
||||
"message": "应用目录"
|
||||
},
|
||||
"app.settings.resource-management.maximum-concurrent-downloads.description": {
|
||||
"message": "应用可同时下载的文件数量。如果您的连接下载不稳定,请降低该值。需要重新启动应用程序。"
|
||||
},
|
||||
"app.settings.resource-management.maximum-concurrent-downloads.title": {
|
||||
"message": "最大并发下载量"
|
||||
},
|
||||
"app.settings.resource-management.maximum-concurrent-writes.description": {
|
||||
"message": "应用可同时写入磁盘的文件数。如果经常出现 I/O 错误,请降低该值。需要重启应用程序。"
|
||||
},
|
||||
"app.settings.resource-management.maximum-concurrent-writes.title": {
|
||||
"message": "最大并发写入数"
|
||||
},
|
||||
"app.settings.sidebar.label.instances": {
|
||||
"message": "实例"
|
||||
},
|
||||
"app.settings.tabs.appearance": {
|
||||
"message": "外观"
|
||||
},
|
||||
"app.settings.tabs.behavior": {
|
||||
"message": "行为"
|
||||
},
|
||||
"app.settings.tabs.default-instance-options": {
|
||||
"message": "默认实例选项"
|
||||
"message": "默认游戏选项"
|
||||
},
|
||||
"app.settings.tabs.java-installations": {
|
||||
"message": "Java 管理"
|
||||
@@ -725,6 +1022,9 @@
|
||||
"app.settings.tabs.resource-management": {
|
||||
"message": "资源管理"
|
||||
},
|
||||
"app.sidebar.playing-as": {
|
||||
"message": "游玩账户"
|
||||
},
|
||||
"app.skins.add-button": {
|
||||
"message": "添加皮肤"
|
||||
},
|
||||
@@ -884,6 +1184,21 @@
|
||||
"app.skins.toggle-ears-features-on": {
|
||||
"message": "切换至开"
|
||||
},
|
||||
"app.survey.body": {
|
||||
"message": "您是否介意回答一些关于使用 Modrinth App 的问题?"
|
||||
},
|
||||
"app.survey.footer": {
|
||||
"message": "此反馈将直接发送给Modrinth团队,为今后的更新提供指导!"
|
||||
},
|
||||
"app.survey.no-thanks": {
|
||||
"message": "不,谢谢"
|
||||
},
|
||||
"app.survey.take-survey": {
|
||||
"message": "参与调研"
|
||||
},
|
||||
"app.survey.title": {
|
||||
"message": "嗨,Modrinth用户!"
|
||||
},
|
||||
"app.update-popup.body.download-complete": {
|
||||
"message": "Modrinth App v{version} 更新已下载完成!立即重启更新,或退出时自动安装。"
|
||||
},
|
||||
@@ -1160,6 +1475,45 @@
|
||||
"instance.server-modal.resource-pack": {
|
||||
"message": "资源包"
|
||||
},
|
||||
"instance.settings.sharing.active-invites.actions": {
|
||||
"message": "操作"
|
||||
},
|
||||
"instance.settings.sharing.active-invites.code": {
|
||||
"message": "邀请链接"
|
||||
},
|
||||
"instance.settings.sharing.active-invites.description": {
|
||||
"message": "只要邀请链接有效,任何拥有该链接的人均可加入。"
|
||||
},
|
||||
"instance.settings.sharing.active-invites.empty": {
|
||||
"message": "暂无有效邀请。"
|
||||
},
|
||||
"instance.settings.sharing.active-invites.expires": {
|
||||
"message": "有效期"
|
||||
},
|
||||
"instance.settings.sharing.active-invites.revoke": {
|
||||
"message": "撤销邀请码"
|
||||
},
|
||||
"instance.settings.sharing.active-invites.revoke-with-code": {
|
||||
"message": "撤销邀请码 {code}"
|
||||
},
|
||||
"instance.settings.sharing.active-invites.title": {
|
||||
"message": "有效邀请"
|
||||
},
|
||||
"instance.settings.sharing.active-invites.uses": {
|
||||
"message": "使用次数"
|
||||
},
|
||||
"instance.settings.sharing.revoke-invite.admonition-body": {
|
||||
"message": "邀请链接 <monospace>{code}</monospace> 将立即失效。已加入的成员将保留访问权限。"
|
||||
},
|
||||
"instance.settings.sharing.revoke-invite.admonition-header": {
|
||||
"message": "这一操作无法撤销"
|
||||
},
|
||||
"instance.settings.sharing.revoke-invite.confirm": {
|
||||
"message": "撤销邀请"
|
||||
},
|
||||
"instance.settings.sharing.revoke-invite.header": {
|
||||
"message": "撤销邀请"
|
||||
},
|
||||
"instance.settings.tabs.general": {
|
||||
"message": "通用"
|
||||
},
|
||||
@@ -1239,13 +1593,13 @@
|
||||
"message": "选择更新渠道"
|
||||
},
|
||||
"instance.settings.tabs.hooks": {
|
||||
"message": "启动 Hooks"
|
||||
"message": "启动钩子"
|
||||
},
|
||||
"instance.settings.tabs.hooks.custom-hooks": {
|
||||
"message": "自定义启动 Hooks"
|
||||
"message": "自定义启动钩子"
|
||||
},
|
||||
"instance.settings.tabs.hooks.description": {
|
||||
"message": "Hooks允许高级用户在启动游戏前后运行特定的系统命令。"
|
||||
"message": "钩子供高级用户使用,可设置游戏启动前后运行的特定系统命令。"
|
||||
},
|
||||
"instance.settings.tabs.hooks.post-exit": {
|
||||
"message": "退出后执行"
|
||||
@@ -1275,7 +1629,7 @@
|
||||
"message": "用于启动 Minecraft 的包装器命令。"
|
||||
},
|
||||
"instance.settings.tabs.hooks.wrapper.enter": {
|
||||
"message": "输入封装命令……"
|
||||
"message": "输入包装器命令……"
|
||||
},
|
||||
"instance.settings.tabs.installation": {
|
||||
"message": "安装"
|
||||
@@ -1311,7 +1665,7 @@
|
||||
"message": "环境变量"
|
||||
},
|
||||
"instance.settings.tabs.java.hooks": {
|
||||
"message": "Hooks"
|
||||
"message": "钩子"
|
||||
},
|
||||
"instance.settings.tabs.java.java-arguments": {
|
||||
"message": "Java 参数"
|
||||
@@ -1361,6 +1715,12 @@
|
||||
"instance.shared-instance.error.title": {
|
||||
"message": "出错了"
|
||||
},
|
||||
"instance.shared-instance.network-error.text": {
|
||||
"message": "无法连接到共享实例API"
|
||||
},
|
||||
"instance.shared-instance.network-error.title": {
|
||||
"message": "网络错误"
|
||||
},
|
||||
"instance.shared-instance.owner-tooltip": {
|
||||
"message": "此实例的内容正在共享给其他用户。"
|
||||
},
|
||||
@@ -1496,9 +1856,6 @@
|
||||
"modal.modrinth-account-required.browser-description": {
|
||||
"message": "一个新的标签页已打开,你需要在那里完成登录,然后回到Modrinth app。"
|
||||
},
|
||||
"modal.modrinth-account-required.cancel-button": {
|
||||
"message": "取消"
|
||||
},
|
||||
"modal.modrinth-account-required.continue-in-browser-heading": {
|
||||
"message": "请在你的浏览器中继续"
|
||||
},
|
||||
@@ -1552,5 +1909,11 @@
|
||||
},
|
||||
"search.filter.locked.server-loader.title": {
|
||||
"message": "加载器由服务器提供"
|
||||
},
|
||||
"settings.sidebar.label.account": {
|
||||
"message": "账户"
|
||||
},
|
||||
"settings.sidebar.label.display": {
|
||||
"message": "显示"
|
||||
}
|
||||
}
|
||||
|
||||
@@ -144,19 +144,19 @@
|
||||
"message": "關於你的隱私,以及廣告如何幫助 Modrinth"
|
||||
},
|
||||
"app.appearance-settings.advanced-rendering.description": {
|
||||
"message": "啟用進階繪製(如模糊效果),若無硬體加速可能會導致效能問題。"
|
||||
"message": "啟用視覺效果(如背景模糊),若無硬體加速可能會降低效能。"
|
||||
},
|
||||
"app.appearance-settings.advanced-rendering.title": {
|
||||
"message": "進階繪製"
|
||||
},
|
||||
"app.appearance-settings.color-theme.description": {
|
||||
"message": "請選擇你偏好的 Modrinth App 色彩主題。"
|
||||
"message": "選擇 Modrinth App 使用的色彩主題。"
|
||||
},
|
||||
"app.appearance-settings.color-theme.title": {
|
||||
"message": "色彩主題"
|
||||
},
|
||||
"app.appearance-settings.default-landing-page.description": {
|
||||
"message": "變更啟動器開啟時的頁面。"
|
||||
"message": "選擇 Modrinth App 開啟時顯示的頁面。"
|
||||
},
|
||||
"app.appearance-settings.default-landing-page.home": {
|
||||
"message": "首頁"
|
||||
@@ -168,49 +168,49 @@
|
||||
"message": "預設起始頁面"
|
||||
},
|
||||
"app.appearance-settings.hide-nametag.description": {
|
||||
"message": "在外觀頁面中隱藏玩家上方的名牌。"
|
||||
"message": "在外觀選擇工具頁面中隱藏玩家預覽上方的使用者名稱。"
|
||||
},
|
||||
"app.appearance-settings.hide-nametag.title": {
|
||||
"message": "隱藏名牌"
|
||||
},
|
||||
"app.appearance-settings.jump-back-into-worlds.description": {
|
||||
"message": "在首頁的「繼續遊玩」區塊中顯示最近進入的世界。"
|
||||
"message": "在首頁的「繼續遊玩」區塊中顯示最近遊玩的世界。"
|
||||
},
|
||||
"app.appearance-settings.jump-back-into-worlds.title": {
|
||||
"message": "繼續遊玩世界"
|
||||
},
|
||||
"app.appearance-settings.minimize-launcher.description": {
|
||||
"message": "當 Minecraft 處理程序啟動時最小化啟動器。"
|
||||
"message": "當 Minecraft 啟動時將 Modrinth App 最小化。"
|
||||
},
|
||||
"app.appearance-settings.minimize-launcher.title": {
|
||||
"message": "最小化啟動器"
|
||||
"message": "最小化應用程式"
|
||||
},
|
||||
"app.appearance-settings.native-decorations.description": {
|
||||
"message": "使用系統內建的視窗外框(需要重新啟動應用程式)。"
|
||||
"message": "使用作業系統的標題列和視窗控制項。需要重新啟動應用程式。"
|
||||
},
|
||||
"app.appearance-settings.native-decorations.title": {
|
||||
"message": "原生視窗"
|
||||
"message": "系統視窗外框"
|
||||
},
|
||||
"app.appearance-settings.show-play-time.description": {
|
||||
"message": "顯示你在該實例的遊玩時數。"
|
||||
"message": "顯示你在各個實例的遊玩時數。"
|
||||
},
|
||||
"app.appearance-settings.show-play-time.title": {
|
||||
"message": "顯示遊玩時數"
|
||||
},
|
||||
"app.appearance-settings.skip-non-essential-warnings.description": {
|
||||
"message": "自動跳過低風險操作的確認提示,例如重複安裝模組包、常規內容刪除、批次更新、取消連結模組包以及修復提示。高風險警告仍會顯示。"
|
||||
"message": "跳過低風險動作的確認提示,例如重複安裝、常規內容刪除、批次更新、取消連結以及修復。高風險動作的警告仍會顯示。"
|
||||
},
|
||||
"app.appearance-settings.skip-non-essential-warnings.title": {
|
||||
"message": "跳過非必要的警告"
|
||||
},
|
||||
"app.appearance-settings.toggle-sidebar.description": {
|
||||
"message": "啟用切換側邊欄的功能。"
|
||||
"message": "預設隱藏右側邊欄,並新增顯示或隱藏按鈕。"
|
||||
},
|
||||
"app.appearance-settings.toggle-sidebar.title": {
|
||||
"message": "切換側邊欄"
|
||||
"message": "隱藏右側邊欄"
|
||||
},
|
||||
"app.appearance-settings.unknown-pack-warning.description": {
|
||||
"message": "如果你嘗試安裝非 Modrinth 代管的 Modrinth 封裝檔案 (.mrpack),我們會在安裝前確保你已了解相關風險。"
|
||||
"message": "在安裝非託管於 Modrinth 的 Modrinth Pack(.mrpack)之前,顯示安全警告。"
|
||||
},
|
||||
"app.appearance-settings.unknown-pack-warning.title": {
|
||||
"message": "在安裝未知模組包前發出警告"
|
||||
@@ -221,6 +221,15 @@
|
||||
"app.auth-servers.unreachable.header": {
|
||||
"message": "無法連線到驗證伺服器"
|
||||
},
|
||||
"app.behavior-settings.confirmations.title": {
|
||||
"message": "確認提示"
|
||||
},
|
||||
"app.behavior-settings.content.title": {
|
||||
"message": "首頁與內容"
|
||||
},
|
||||
"app.behavior-settings.startup-and-navigation.title": {
|
||||
"message": "啟動與瀏覽"
|
||||
},
|
||||
"app.browse.add-servers-to-instance": {
|
||||
"message": "將伺服器新增至實例"
|
||||
},
|
||||
@@ -242,12 +251,18 @@
|
||||
"app.browse.back-to-instance": {
|
||||
"message": "回到實例"
|
||||
},
|
||||
"app.browse.discover-project-type": {
|
||||
"message": "探索{projectType}"
|
||||
},
|
||||
"app.browse.discover-servers": {
|
||||
"message": "探索伺服器"
|
||||
},
|
||||
"app.browse.hide-added-servers": {
|
||||
"message": "隱藏已新增的伺服器"
|
||||
},
|
||||
"app.browse.hide-installed-modpacks": {
|
||||
"message": "隱藏已安裝的內容"
|
||||
},
|
||||
"app.browse.project-type.modpacks": {
|
||||
"message": "模組包"
|
||||
},
|
||||
@@ -360,10 +375,19 @@
|
||||
"message": "審查即將與這個實例的所有使用者共用的內容變更。"
|
||||
},
|
||||
"app.instance.admonitions.shared-instance.review-header": {
|
||||
"message": "審查變更"
|
||||
"message": "檢視變更"
|
||||
},
|
||||
"app.instance.admonitions.shared-instance.review-update-button": {
|
||||
"message": "檢視更新"
|
||||
},
|
||||
"app.instance.admonitions.shared-instance.reviewing-button": {
|
||||
"message": "正在審查..."
|
||||
"message": "正在檢視..."
|
||||
},
|
||||
"app.instance.admonitions.shared-instance.update-available-body": {
|
||||
"message": "需要更新才能遊玩「{name}」。請更新至最新版本以啟動遊戲。"
|
||||
},
|
||||
"app.instance.admonitions.shared-instance.update-available-header": {
|
||||
"message": "有可用的更新"
|
||||
},
|
||||
"app.instance.confirm-delete.admonition-body": {
|
||||
"message": "你實例中的所有資料將被永久刪除,包含你的世界、設定檔以及所有已安裝的內容。"
|
||||
@@ -431,6 +455,9 @@
|
||||
"app.instance.share.invite-modal.heading": {
|
||||
"message": "共用「{name}」"
|
||||
},
|
||||
"app.instance.share.invite-modal.user-limit-reached": {
|
||||
"message": "這個實例已達到 {limit} 位使用者的上限。"
|
||||
},
|
||||
"app.instance.share.locked.empty-description-prefix": {
|
||||
"message": "你需要以"
|
||||
},
|
||||
@@ -449,6 +476,12 @@
|
||||
"app.instance.share.locked.wrong-account-heading": {
|
||||
"message": "帳號錯誤"
|
||||
},
|
||||
"app.instance.share.members.empty": {
|
||||
"message": "還沒有使用者加入"
|
||||
},
|
||||
"app.instance.share.members.no-filter-results": {
|
||||
"message": "沒有找到使用者。"
|
||||
},
|
||||
"app.instance.share.remove-user-modal.effect-access": {
|
||||
"message": "他不會再收到這個共用實例的更新"
|
||||
},
|
||||
@@ -479,6 +512,12 @@
|
||||
"app.instance.share.sign-in.button": {
|
||||
"message": "登入"
|
||||
},
|
||||
"app.instance.share.unable-to-connect.description": {
|
||||
"message": "目前無法存取共用實例服務,請稍後再試"
|
||||
},
|
||||
"app.instance.share.unable-to-connect.heading": {
|
||||
"message": "無法連線"
|
||||
},
|
||||
"app.instance.share.unlink.body": {
|
||||
"message": "你必須先與模組包取消連結才能共用實例"
|
||||
},
|
||||
@@ -486,7 +525,7 @@
|
||||
"message": "共用前需要取消連結"
|
||||
},
|
||||
"app.instance.shared-instance-already-installed.body": {
|
||||
"message": "這個共用實例已經在本機安裝,名稱為「<bold>{instanceName}</bold>」。你確定要再安裝一個副本嗎?"
|
||||
"message": "這個共用實例已經在本機安裝,名稱為「<bold>{instanceName}</bold>」。確定要再安裝一個副本嗎?"
|
||||
},
|
||||
"app.instance.shared-instance-already-installed.header": {
|
||||
"message": "共用實例已經安裝"
|
||||
@@ -551,6 +590,9 @@
|
||||
"app.instance.worlds.no-worlds-heading": {
|
||||
"message": "未新增任何伺服器或世界"
|
||||
},
|
||||
"app.instance.worlds.refreshing": {
|
||||
"message": "正在重新整理..."
|
||||
},
|
||||
"app.instance.worlds.remove-server-modal.remove-button": {
|
||||
"message": "移除伺服器"
|
||||
},
|
||||
@@ -566,12 +608,60 @@
|
||||
"app.instance.worlds.search-worlds-placeholder": {
|
||||
"message": "搜尋 {count} 個世界..."
|
||||
},
|
||||
"app.java-detection.cancel": {
|
||||
"message": "取消"
|
||||
},
|
||||
"app.java-detection.columns.actions": {
|
||||
"message": "動作"
|
||||
},
|
||||
"app.java-detection.columns.path": {
|
||||
"message": "路徑"
|
||||
},
|
||||
"app.java-detection.columns.version": {
|
||||
"message": "版本"
|
||||
},
|
||||
"app.java-detection.no-installations-found": {
|
||||
"message": "找不到 Java 安裝。"
|
||||
},
|
||||
"app.java-detection.select": {
|
||||
"message": "選擇"
|
||||
},
|
||||
"app.java-detection.selected": {
|
||||
"message": "已選擇"
|
||||
},
|
||||
"app.java-detection.title": {
|
||||
"message": "選擇 Java 安裝"
|
||||
},
|
||||
"app.java-selector.already-installed": {
|
||||
"message": "已安裝"
|
||||
},
|
||||
"app.java-selector.browse": {
|
||||
"message": "瀏覽"
|
||||
},
|
||||
"app.java-selector.detect": {
|
||||
"message": "偵測"
|
||||
},
|
||||
"app.java-selector.install-recommended": {
|
||||
"message": "建議安裝"
|
||||
},
|
||||
"app.java-selector.installing": {
|
||||
"message": "正在安裝..."
|
||||
},
|
||||
"app.java-selector.path.placeholder": {
|
||||
"message": "/path/to/java"
|
||||
},
|
||||
"app.java-selector.test-installation": {
|
||||
"message": "測試 Java 安裝"
|
||||
},
|
||||
"app.modal.install-to-play.additional-context": {
|
||||
"message": "補充說明"
|
||||
},
|
||||
"app.modal.install-to-play.additional-context-placeholder": {
|
||||
"message": "若可行且相關,請一併附上連結與圖片"
|
||||
},
|
||||
"app.modal.install-to-play.block-user": {
|
||||
"message": "封鎖使用者"
|
||||
},
|
||||
"app.modal.install-to-play.content-you-are-reporting": {
|
||||
"message": "你要檢舉的實例"
|
||||
},
|
||||
@@ -593,6 +683,9 @@
|
||||
"app.modal.install-to-play.invite-warning": {
|
||||
"message": "這份邀請是由另一位 Modrinth 使用者建立,並非由 Modrinth 官方建立。請僅接受來自你信任的人的邀請。"
|
||||
},
|
||||
"app.modal.install-to-play.invite-warning-with-creator": {
|
||||
"message": "這份邀請是由 <creator>{username}</creator> 建立,並非由 Modrinth 官方建立。請僅接受來自你信任的人的邀請。"
|
||||
},
|
||||
"app.modal.install-to-play.mod-count": {
|
||||
"message": "{count, plural, other {# 個模組}}"
|
||||
},
|
||||
@@ -650,8 +743,11 @@
|
||||
"app.modal.install-to-play.unrecognized-files": {
|
||||
"message": "無法辨識的檔案"
|
||||
},
|
||||
"app.modal.install-to-play.user-blocked": {
|
||||
"message": "使用者已封鎖"
|
||||
},
|
||||
"app.modal.install-to-play.view-contents": {
|
||||
"message": "檢視內容"
|
||||
"message": "查看內容"
|
||||
},
|
||||
"app.modal.update-to-play.header": {
|
||||
"message": "更新以遊玩"
|
||||
@@ -677,6 +773,36 @@
|
||||
"app.modal.update-to-play.update-required-description": {
|
||||
"message": "需要更新才能遊玩「{name}」。請更新至最新版本以啟動遊戲。"
|
||||
},
|
||||
"app.nav.create-new-instance": {
|
||||
"message": "建立新實例"
|
||||
},
|
||||
"app.nav.home": {
|
||||
"message": "首頁"
|
||||
},
|
||||
"app.nav.library": {
|
||||
"message": "遊戲庫"
|
||||
},
|
||||
"app.nav.modrinth-account": {
|
||||
"message": "Modrinth 帳號"
|
||||
},
|
||||
"app.nav.modrinth-hosting": {
|
||||
"message": "Modrinth Hosting"
|
||||
},
|
||||
"app.nav.sign-in-to-modrinth-account": {
|
||||
"message": "登入 Modrinth 帳號"
|
||||
},
|
||||
"app.nav.signed-in-as": {
|
||||
"message": "以 <user>{username}</user> 登入"
|
||||
},
|
||||
"app.nav.upgrade-to-modrinth-plus": {
|
||||
"message": "升級至 Modrinth+"
|
||||
},
|
||||
"app.news.title": {
|
||||
"message": "新聞"
|
||||
},
|
||||
"app.news.view-all": {
|
||||
"message": "查看所有新聞"
|
||||
},
|
||||
"app.project.install-button.already-installed": {
|
||||
"message": "這個專案已安裝"
|
||||
},
|
||||
@@ -686,6 +812,9 @@
|
||||
"app.project.install-context.back-to-browse": {
|
||||
"message": "返回瀏覽"
|
||||
},
|
||||
"app.project.install-context.back-to-instance": {
|
||||
"message": "回到實例"
|
||||
},
|
||||
"app.project.version.all-versions": {
|
||||
"message": "所有版本"
|
||||
},
|
||||
@@ -698,20 +827,188 @@
|
||||
"app.project.versions.already-installed": {
|
||||
"message": "已安裝"
|
||||
},
|
||||
"app.quick-instance-switcher.drag-show-tooltip": {
|
||||
"message": "拖曳顯示最近遊玩的實例"
|
||||
},
|
||||
"app.quick-instance-switcher.drag-tooltip": {
|
||||
"message": "拖曳調整大小"
|
||||
},
|
||||
"app.restarting": {
|
||||
"message": "正在重新啟動..."
|
||||
},
|
||||
"app.settings.app-version": {
|
||||
"message": "Modrinth App {version}"
|
||||
},
|
||||
"app.settings.default-instance-options.environment-variables.description": {
|
||||
"message": "啟動實例時設定的環境變數。"
|
||||
},
|
||||
"app.settings.default-instance-options.environment-variables.placeholder": {
|
||||
"message": "輸入環境變數..."
|
||||
},
|
||||
"app.settings.default-instance-options.environment-variables.title": {
|
||||
"message": "環境變數"
|
||||
},
|
||||
"app.settings.default-instance-options.fullscreen.description": {
|
||||
"message": "實例啟動時進入全螢幕模式(透過更新 options.txt 檔案)。"
|
||||
},
|
||||
"app.settings.default-instance-options.fullscreen.title": {
|
||||
"message": "全螢幕"
|
||||
},
|
||||
"app.settings.default-instance-options.height.description": {
|
||||
"message": "遊戲啟動時的視窗高度。"
|
||||
},
|
||||
"app.settings.default-instance-options.height.placeholder": {
|
||||
"message": "輸入高度..."
|
||||
},
|
||||
"app.settings.default-instance-options.height.title": {
|
||||
"message": "高度"
|
||||
},
|
||||
"app.settings.default-instance-options.java-arguments.description": {
|
||||
"message": "啟動實例時傳遞給 Java 的參數。"
|
||||
},
|
||||
"app.settings.default-instance-options.java-arguments.placeholder": {
|
||||
"message": "輸入 Java 參數..."
|
||||
},
|
||||
"app.settings.default-instance-options.java-arguments.title": {
|
||||
"message": "Java 參數"
|
||||
},
|
||||
"app.settings.default-instance-options.memory-allocation.description": {
|
||||
"message": "各個實例可使用的記憶體上限。"
|
||||
},
|
||||
"app.settings.default-instance-options.memory-allocation.title": {
|
||||
"message": "記憶體配置"
|
||||
},
|
||||
"app.settings.default-instance-options.post-exit-hook.description": {
|
||||
"message": "遊戲關閉後執行。"
|
||||
},
|
||||
"app.settings.default-instance-options.post-exit-hook.placeholder": {
|
||||
"message": "輸入結束後指令..."
|
||||
},
|
||||
"app.settings.default-instance-options.post-exit-hook.title": {
|
||||
"message": "結束後掛勾"
|
||||
},
|
||||
"app.settings.default-instance-options.pre-launch-hook.description": {
|
||||
"message": "實例啟動前執行。"
|
||||
},
|
||||
"app.settings.default-instance-options.pre-launch-hook.placeholder": {
|
||||
"message": "輸入啟動前指令..."
|
||||
},
|
||||
"app.settings.default-instance-options.pre-launch-hook.title": {
|
||||
"message": "啟動前掛勾"
|
||||
},
|
||||
"app.settings.default-instance-options.width.description": {
|
||||
"message": "遊戲啟動時的視窗寬度。"
|
||||
},
|
||||
"app.settings.default-instance-options.width.placeholder": {
|
||||
"message": "輸入寬度..."
|
||||
},
|
||||
"app.settings.default-instance-options.width.title": {
|
||||
"message": "寬度"
|
||||
},
|
||||
"app.settings.default-instance-options.wrapper-hook.description": {
|
||||
"message": "用於包裝 Minecraft 啟動處理程序的指令。"
|
||||
},
|
||||
"app.settings.default-instance-options.wrapper-hook.placeholder": {
|
||||
"message": "輸入包裝指令..."
|
||||
},
|
||||
"app.settings.default-instance-options.wrapper-hook.title": {
|
||||
"message": "包裝掛勾"
|
||||
},
|
||||
"app.settings.developer-mode-button.label": {
|
||||
"message": "切換開發人員模式"
|
||||
},
|
||||
"app.settings.developer-mode-enabled": {
|
||||
"message": "開發人員模式已啟用。"
|
||||
},
|
||||
"app.settings.downloading": {
|
||||
"message": "正在下載 v{version}"
|
||||
},
|
||||
"app.settings.java-installations.location.title": {
|
||||
"message": "Java {version, number} 安裝位置"
|
||||
},
|
||||
"app.settings.operating-system.macos": {
|
||||
"message": "macOS"
|
||||
},
|
||||
"app.settings.privacy.ads-consent.intro": {
|
||||
"message": "廣告使 Modrinth 得以營運,並為創作者提供收益。我們的合作夥伴可能會在應用程式中儲存或存取 Cookie,以實現個人化廣告並衡量廣告成效。你可以在下方選擇退出或管理偏好設定。"
|
||||
},
|
||||
"app.settings.privacy.discord-rich-presence.description": {
|
||||
"message": "在 Discord 上將 Modrinth App 顯示為目前活動。這不會影響模組為實例新增的豐富狀態。需要重新啟動應用程式。"
|
||||
},
|
||||
"app.settings.privacy.discord-rich-presence.title": {
|
||||
"message": "Discord 豐富狀態"
|
||||
},
|
||||
"app.settings.privacy.telemetry.description": {
|
||||
"message": "Modrinth 會收集匿名化的分析與使用資料,以提升使用者體驗並提供客製化服務。若停用此選項,即表示你選擇退出,你的資料將不再被收集。"
|
||||
},
|
||||
"app.settings.privacy.telemetry.title": {
|
||||
"message": "遙測"
|
||||
},
|
||||
"app.settings.resource-management.always-show-copy-details.description": {
|
||||
"message": "當安裝已排入佇列或正在執行時,顯示「複製詳細資訊」按鈕。這項設定僅適用於前述安裝情形,安裝失敗或中斷時一律顯示該按鈕。"
|
||||
},
|
||||
"app.settings.resource-management.always-show-copy-details.title": {
|
||||
"message": "一律顯示複製詳細資訊"
|
||||
},
|
||||
"app.settings.resource-management.app-cache.confirm.description": {
|
||||
"message": "在快取完成重建前,應用程式的載入速度可能會比較慢。"
|
||||
},
|
||||
"app.settings.resource-management.app-cache.confirm.title": {
|
||||
"message": "要清除應用程式快取嗎?"
|
||||
},
|
||||
"app.settings.resource-management.app-cache.description": {
|
||||
"message": "清除快取資料,並從 Modrinth 重新下載。在快取完成重建前,應用程式的載入速度可能會比較慢。"
|
||||
},
|
||||
"app.settings.resource-management.app-cache.purge": {
|
||||
"message": "清除快取"
|
||||
},
|
||||
"app.settings.resource-management.app-cache.title": {
|
||||
"message": "應用程式快取"
|
||||
},
|
||||
"app.settings.resource-management.app-database-backups.description": {
|
||||
"message": "重要應用程式資料的備份會儲存於此,以備日後需要還原時使用。"
|
||||
},
|
||||
"app.settings.resource-management.app-database-backups.open-folder": {
|
||||
"message": "開啟備份資料夾"
|
||||
},
|
||||
"app.settings.resource-management.app-database-backups.title": {
|
||||
"message": "應用程式資料庫備份"
|
||||
},
|
||||
"app.settings.resource-management.app-directory.browse": {
|
||||
"message": "瀏覽應用程式資料夾"
|
||||
},
|
||||
"app.settings.resource-management.app-directory.description": {
|
||||
"message": "Modrinth App 儲存實例及其他檔案的位置。變更將於重新啟動應用程式後生效。"
|
||||
},
|
||||
"app.settings.resource-management.app-directory.select": {
|
||||
"message": "選擇新的應用程式資料夾"
|
||||
},
|
||||
"app.settings.resource-management.app-directory.title": {
|
||||
"message": "應用程式資料夾"
|
||||
},
|
||||
"app.settings.resource-management.maximum-concurrent-downloads.description": {
|
||||
"message": "應用程式一次可下載的檔案數量。若你的網路連線導致下載不穩定,請降低此數值。需要重新啟動應用程式。"
|
||||
},
|
||||
"app.settings.resource-management.maximum-concurrent-downloads.title": {
|
||||
"message": "並行下載上限"
|
||||
},
|
||||
"app.settings.resource-management.maximum-concurrent-writes.description": {
|
||||
"message": "應用程式一次可寫入硬碟的檔案數量。若你經常遇到 I/O 錯誤,請降低此數值。需要重新啟動應用程式。"
|
||||
},
|
||||
"app.settings.resource-management.maximum-concurrent-writes.title": {
|
||||
"message": "並行寫入上限"
|
||||
},
|
||||
"app.settings.sidebar.label.instances": {
|
||||
"message": "實例"
|
||||
},
|
||||
"app.settings.tabs.appearance": {
|
||||
"message": "外觀"
|
||||
},
|
||||
"app.settings.tabs.behavior": {
|
||||
"message": "行為"
|
||||
},
|
||||
"app.settings.tabs.default-instance-options": {
|
||||
"message": "預設實例選項"
|
||||
"message": "預設遊戲選項"
|
||||
},
|
||||
"app.settings.tabs.java-installations": {
|
||||
"message": "Java 安裝"
|
||||
@@ -725,6 +1022,9 @@
|
||||
"app.settings.tabs.resource-management": {
|
||||
"message": "資源管理"
|
||||
},
|
||||
"app.sidebar.playing-as": {
|
||||
"message": "目前遊玩帳號"
|
||||
},
|
||||
"app.skins.add-button": {
|
||||
"message": "新增外觀"
|
||||
},
|
||||
@@ -738,10 +1038,10 @@
|
||||
"message": "刪除外觀"
|
||||
},
|
||||
"app.skins.delete-modal.description": {
|
||||
"message": "這會永久刪除所選的外觀,這個動作無法復原。"
|
||||
"message": "這會永久刪除所選的外觀,這項動作無法復原。"
|
||||
},
|
||||
"app.skins.delete-modal.title": {
|
||||
"message": "你確定要刪除這個外觀嗎?"
|
||||
"message": "確定要刪除這個外觀嗎?"
|
||||
},
|
||||
"app.skins.dropped-file-error.text": {
|
||||
"message": "無法讀取拖曳的檔案。"
|
||||
@@ -884,6 +1184,21 @@
|
||||
"app.skins.toggle-ears-features-on": {
|
||||
"message": "開啟"
|
||||
},
|
||||
"app.survey.body": {
|
||||
"message": "你方便回答幾個關於 Modrinth App 使用體驗的問題嗎?"
|
||||
},
|
||||
"app.survey.footer": {
|
||||
"message": "你的回覆將直接傳送給 Modrinth 團隊,作為未來更新方向的指引!"
|
||||
},
|
||||
"app.survey.no-thanks": {
|
||||
"message": "不用了,謝謝"
|
||||
},
|
||||
"app.survey.take-survey": {
|
||||
"message": "填寫問卷調查"
|
||||
},
|
||||
"app.survey.title": {
|
||||
"message": "你好啊,Modrinth 使用者!"
|
||||
},
|
||||
"app.update-popup.body.download-complete": {
|
||||
"message": "Modrinth App v{version} 已完成下載!立即重新載入以更新,或在關閉 Modrinth App 時自動更新。"
|
||||
},
|
||||
@@ -1160,6 +1475,45 @@
|
||||
"instance.server-modal.resource-pack": {
|
||||
"message": "資源包"
|
||||
},
|
||||
"instance.settings.sharing.active-invites.actions": {
|
||||
"message": "動作"
|
||||
},
|
||||
"instance.settings.sharing.active-invites.code": {
|
||||
"message": "邀請連結"
|
||||
},
|
||||
"instance.settings.sharing.active-invites.description": {
|
||||
"message": "任何使用者都可透過下列任何一個有效邀請連結加入。"
|
||||
},
|
||||
"instance.settings.sharing.active-invites.empty": {
|
||||
"message": "目前沒有有效的邀請。"
|
||||
},
|
||||
"instance.settings.sharing.active-invites.expires": {
|
||||
"message": "有效期限"
|
||||
},
|
||||
"instance.settings.sharing.active-invites.revoke": {
|
||||
"message": "撤銷邀請"
|
||||
},
|
||||
"instance.settings.sharing.active-invites.revoke-with-code": {
|
||||
"message": "撤銷邀請 {code}"
|
||||
},
|
||||
"instance.settings.sharing.active-invites.title": {
|
||||
"message": "有效邀請"
|
||||
},
|
||||
"instance.settings.sharing.active-invites.uses": {
|
||||
"message": "使用次數"
|
||||
},
|
||||
"instance.settings.sharing.revoke-invite.admonition-body": {
|
||||
"message": "邀請連結 <monospace>{code}</monospace> 將立即失效。已加入的使用者不受影響。"
|
||||
},
|
||||
"instance.settings.sharing.revoke-invite.admonition-header": {
|
||||
"message": "這項動作無法復原"
|
||||
},
|
||||
"instance.settings.sharing.revoke-invite.confirm": {
|
||||
"message": "撤銷邀請"
|
||||
},
|
||||
"instance.settings.sharing.revoke-invite.header": {
|
||||
"message": "撤銷邀請"
|
||||
},
|
||||
"instance.settings.tabs.general": {
|
||||
"message": "一般"
|
||||
},
|
||||
@@ -1361,6 +1715,12 @@
|
||||
"instance.shared-instance.error.title": {
|
||||
"message": "出了點狀況"
|
||||
},
|
||||
"instance.shared-instance.network-error.text": {
|
||||
"message": "無法連線到共用實例 API"
|
||||
},
|
||||
"instance.shared-instance.network-error.title": {
|
||||
"message": "網路錯誤"
|
||||
},
|
||||
"instance.shared-instance.owner-tooltip": {
|
||||
"message": "這個實例的內容正在與其他使用者共用。"
|
||||
},
|
||||
@@ -1377,7 +1737,7 @@
|
||||
"message": "審查內容變更,並選擇要包含在本次更新的設定檔。"
|
||||
},
|
||||
"instance.shared-instance.publish-review.header": {
|
||||
"message": "審查變更"
|
||||
"message": "檢視變更"
|
||||
},
|
||||
"instance.shared-instance.publish-review.publish-button": {
|
||||
"message": "推送更新"
|
||||
@@ -1449,7 +1809,7 @@
|
||||
"message": "遊玩實例"
|
||||
},
|
||||
"instance.worlds.view_instance": {
|
||||
"message": "檢視實例"
|
||||
"message": "查看實例"
|
||||
},
|
||||
"instance.worlds.world_in_use": {
|
||||
"message": "世界正在使用中"
|
||||
@@ -1496,9 +1856,6 @@
|
||||
"modal.modrinth-account-required.browser-description": {
|
||||
"message": "一個新分頁已開啟供你登入。請在該分頁完成登入,然後返回應用程式。"
|
||||
},
|
||||
"modal.modrinth-account-required.cancel-button": {
|
||||
"message": "取消"
|
||||
},
|
||||
"modal.modrinth-account-required.continue-in-browser-heading": {
|
||||
"message": "在瀏覽器中繼續"
|
||||
},
|
||||
@@ -1552,5 +1909,11 @@
|
||||
},
|
||||
"search.filter.locked.server-loader.title": {
|
||||
"message": "載入器由伺服器提供"
|
||||
},
|
||||
"settings.sidebar.label.account": {
|
||||
"message": "帳號"
|
||||
},
|
||||
"settings.sidebar.label.display": {
|
||||
"message": "顯示"
|
||||
}
|
||||
}
|
||||
|
||||
@@ -25,13 +25,14 @@ import {
|
||||
preferencesDiffer,
|
||||
provideBrowseManager,
|
||||
requestInstall,
|
||||
resolveInstallPlan,
|
||||
stripServerRuntimeInstallFilters,
|
||||
stripServerRuntimeInstallOverrides,
|
||||
useBrowseSearch,
|
||||
useDebugLogger,
|
||||
useVIntl,
|
||||
} from '@modrinth/ui'
|
||||
import { useQueryClient } from '@tanstack/vue-query'
|
||||
import { useQuery, useQueryClient } from '@tanstack/vue-query'
|
||||
import { convertFileSrc } from '@tauri-apps/api/core'
|
||||
import type { Ref } from 'vue'
|
||||
import { computed, onMounted, onUnmounted, ref, shallowRef, watch } from 'vue'
|
||||
@@ -40,26 +41,22 @@ import { useRoute, useRouter } from 'vue-router'
|
||||
|
||||
import ContextMenu from '@/components/ui/ContextMenu.vue'
|
||||
import { useAppServerBrowse } from '@/composables/browse/use-app-server-browse'
|
||||
import {
|
||||
get_project,
|
||||
get_project_v3,
|
||||
get_search_results_v3,
|
||||
get_version_many,
|
||||
} from '@/helpers/cache.js'
|
||||
import { get_project, get_search_results_v3, get_version_many } from '@/helpers/cache.js'
|
||||
import { instance_listener } from '@/helpers/events.js'
|
||||
import {
|
||||
get as getInstance,
|
||||
get_installed_project_ids as getInstalledProjectIds,
|
||||
list as listInstances,
|
||||
} from '@/helpers/instance'
|
||||
import { get_loader_versions as getLoaderManifest } from '@/helpers/metadata'
|
||||
import { get as getSettings, set as setSettings } from '@/helpers/settings.ts'
|
||||
import { get_categories, get_game_versions, get_loaders } from '@/helpers/tags'
|
||||
import { get_instance_worlds } from '@/helpers/worlds'
|
||||
import {
|
||||
type BreadcrumbDefinition,
|
||||
useBreadcrumb,
|
||||
useRootBreadcrumb,
|
||||
} from '@/providers/breadcrumbs'
|
||||
instanceDetailQueryOptions,
|
||||
instanceKeys,
|
||||
instanceLinkedProjectQueryOptions,
|
||||
} from '@/pages/instance/query-options'
|
||||
import { type BreadcrumbDefinition, injectBreadcrumbManager } from '@/providers/breadcrumbs'
|
||||
import { injectContentInstall } from '@/providers/content-install'
|
||||
import { injectServerInstall } from '@/providers/server-install'
|
||||
import {
|
||||
@@ -152,70 +149,70 @@ const {
|
||||
markServerProjectInstalled,
|
||||
} = serverInstallContent
|
||||
|
||||
type Instance = {
|
||||
game_version: string
|
||||
loader: string
|
||||
path: string
|
||||
install_stage: string
|
||||
icon_path?: string
|
||||
name: string
|
||||
link?: {
|
||||
type: string
|
||||
project_id: string
|
||||
version_id: string
|
||||
}
|
||||
}
|
||||
|
||||
const initialInstanceId = String(route.query.i ?? '')
|
||||
const instance: Ref<Instance | null> = ref(
|
||||
queryClient.getQueryData<Instance>(['instances', 'summary', initialInstanceId]) ?? null,
|
||||
const initialInstanceId = computed(() => String(route.query.i ?? ''))
|
||||
const instanceQuery = useQuery(
|
||||
computed(() => ({
|
||||
...instanceDetailQueryOptions(initialInstanceId.value),
|
||||
enabled: !!initialInstanceId.value,
|
||||
})),
|
||||
)
|
||||
const instance = computed(() => instanceQuery.data.value ?? null)
|
||||
const linkedInstanceProjectId = computed(() => instance.value?.link?.project_id ?? '')
|
||||
const linkedInstanceProjectQuery = useQuery(
|
||||
computed(() => ({
|
||||
...instanceLinkedProjectQueryOptions(linkedInstanceProjectId.value),
|
||||
enabled: !!linkedInstanceProjectId.value,
|
||||
})),
|
||||
)
|
||||
const installedProjectIds: Ref<string[] | null> = ref(null)
|
||||
const instanceHideInstalled = ref(false)
|
||||
const instanceHideInstalled = ref(route.query.ai === 'true')
|
||||
const newlyInstalled = ref<string[]>([])
|
||||
const hiddenInstanceProjectIds = ref<Set<string>>(new Set())
|
||||
const hiddenInstanceProjectIdsInitialized = ref(false)
|
||||
const isServerInstance = ref(false)
|
||||
const isServerInstance = computed(
|
||||
() => linkedInstanceProjectQuery.data.value?.minecraft_server != null,
|
||||
)
|
||||
|
||||
const instanceBreadcrumb = route.query.i
|
||||
? useBreadcrumb({
|
||||
slot: 'instance',
|
||||
id: () => `instance:${String(displayedBrowseRoute.value.query.i ?? '')}`,
|
||||
label: () => instance.value?.name ?? formatMessage(commonMessages.loadingLabel),
|
||||
visual: () => ({
|
||||
type: 'image',
|
||||
src: instance.value?.icon_path ? convertFileSrc(instance.value.icon_path) : undefined,
|
||||
alt: instance.value?.name,
|
||||
tintBy: String(displayedBrowseRoute.value.query.i ?? ''),
|
||||
}),
|
||||
to: () => {
|
||||
const instancePath = `/instance/${encodeURIComponent(
|
||||
String(displayedBrowseRoute.value.query.i ?? ''),
|
||||
)}`
|
||||
return displayedBrowseRoute.value.query.from === 'worlds'
|
||||
? `${instancePath}/worlds`
|
||||
: instancePath
|
||||
},
|
||||
})
|
||||
: undefined
|
||||
const breadcrumbManager = injectBreadcrumbManager()
|
||||
const instanceBreadcrumbDefinition = {
|
||||
slot: 'instance',
|
||||
id: () => `instance:${String(displayedBrowseRoute.value.query.i ?? '')}`,
|
||||
label: () => instance.value?.name ?? formatMessage(commonMessages.loadingLabel),
|
||||
visual: () => ({
|
||||
type: 'image' as const,
|
||||
src: instance.value?.icon_path ? convertFileSrc(instance.value.icon_path) : undefined,
|
||||
alt: instance.value?.name,
|
||||
tintBy: String(displayedBrowseRoute.value.query.i ?? ''),
|
||||
}),
|
||||
to: () => {
|
||||
const instancePath = `/instance/${encodeURIComponent(
|
||||
String(displayedBrowseRoute.value.query.i ?? ''),
|
||||
)}`
|
||||
return displayedBrowseRoute.value.query.from === 'worlds'
|
||||
? `${instancePath}/worlds`
|
||||
: instancePath
|
||||
},
|
||||
} satisfies BreadcrumbDefinition
|
||||
const serversBreadcrumbDefinition = {
|
||||
slot: 'root',
|
||||
id: 'servers',
|
||||
label: () => formatMessage(commonMessages.serversLabel),
|
||||
to: '/hosting/manage/',
|
||||
visual: { type: 'icon', component: ServerStackIcon },
|
||||
} satisfies BreadcrumbDefinition
|
||||
const serverBreadcrumbTo = ref(serverBackUrl.value)
|
||||
watch(serverBackUrl, (value) => {
|
||||
if (route.path.startsWith('/browse/')) {
|
||||
serverBreadcrumbTo.value = value
|
||||
}
|
||||
})
|
||||
const serverBreadcrumb =
|
||||
!instanceBreadcrumb && serverIdQuery.value
|
||||
? useBreadcrumb({
|
||||
slot: 'server',
|
||||
id: () => `server:${String(displayedBrowseRoute.value.query.sid ?? '')}`,
|
||||
label: () =>
|
||||
serverContextServerData.value?.name ?? formatMessage(commonMessages.loadingLabel),
|
||||
visual: { type: 'icon', component: ServerStackIcon },
|
||||
to: serverBreadcrumbTo,
|
||||
})
|
||||
: undefined
|
||||
const breadcrumbParent = instanceBreadcrumb ?? serverBreadcrumb
|
||||
const serverBreadcrumbDefinition = {
|
||||
slot: 'server',
|
||||
id: () => `server:${String(displayedBrowseRoute.value.query.sid ?? '')}`,
|
||||
label: () => serverContextServerData.value?.name ?? formatMessage(commonMessages.loadingLabel),
|
||||
visual: { type: 'icon', component: ServerStackIcon },
|
||||
to: serverBreadcrumbTo,
|
||||
} satisfies BreadcrumbDefinition
|
||||
const breadcrumbDefinition = {
|
||||
slot: 'browse',
|
||||
id: () =>
|
||||
@@ -228,9 +225,27 @@ const breadcrumbDefinition = {
|
||||
to: () => displayedBrowseRoute.value.fullPath,
|
||||
visual: { type: 'icon', component: CompassIcon },
|
||||
} satisfies BreadcrumbDefinition
|
||||
const browseBreadcrumb = breadcrumbParent
|
||||
? useBreadcrumb(breadcrumbDefinition, { parent: breadcrumbParent })
|
||||
: useRootBreadcrumb(breadcrumbDefinition)
|
||||
|
||||
function syncBreadcrumbs() {
|
||||
if (displayedBrowseRoute.value.query.i) {
|
||||
const instanceBreadcrumb = breadcrumbManager.reset(instanceBreadcrumbDefinition)
|
||||
breadcrumbManager.push(breadcrumbDefinition, { parent: instanceBreadcrumb })
|
||||
return
|
||||
}
|
||||
|
||||
if (displayedBrowseRoute.value.query.sid) {
|
||||
const serversBreadcrumb = breadcrumbManager.reset(serversBreadcrumbDefinition)
|
||||
const serverBreadcrumb = breadcrumbManager.push(serverBreadcrumbDefinition, {
|
||||
parent: serversBreadcrumb,
|
||||
})
|
||||
breadcrumbManager.push(breadcrumbDefinition, { parent: serverBreadcrumb })
|
||||
return
|
||||
}
|
||||
|
||||
breadcrumbManager.reset(breadcrumbDefinition)
|
||||
}
|
||||
|
||||
watch(displayedBrowseRoute, syncBreadcrumbs, { immediate: true, flush: 'sync' })
|
||||
|
||||
debugLog('fetching tags (categories, loaders, gameVersions)')
|
||||
const [categories, loaders, availableGameVersions] = await Promise.all([
|
||||
@@ -288,10 +303,33 @@ watchServerContextChanges()
|
||||
await initInstanceContext()
|
||||
|
||||
async function refreshInstalledProjectIds() {
|
||||
if (!route.query.i) return
|
||||
if (!route.query.i) {
|
||||
const instances = await queryClient
|
||||
.fetchQuery({
|
||||
queryKey: [...instanceKeys.all, 'installed-project-ids'],
|
||||
queryFn: listInstances,
|
||||
staleTime: 0,
|
||||
})
|
||||
.catch(handleError)
|
||||
if (!instances) return
|
||||
|
||||
const ids = instances
|
||||
.map((gameInstance) => gameInstance.link?.project_id)
|
||||
.filter((id): id is string => !!id)
|
||||
debugLog('installedInstanceProjectIds loaded', { count: ids.length })
|
||||
installedProjectIds.value = ids
|
||||
return
|
||||
}
|
||||
|
||||
if (route.query.from === 'worlds') {
|
||||
const worlds = await get_instance_worlds(route.query.i as string).catch(handleError)
|
||||
const targetInstanceId = route.query.i as string
|
||||
const worlds = await queryClient
|
||||
.fetchQuery({
|
||||
queryKey: instanceKeys.installedProjectIds(targetInstanceId, 'worlds'),
|
||||
queryFn: () => get_instance_worlds(targetInstanceId),
|
||||
staleTime: 0,
|
||||
})
|
||||
.catch(handleError)
|
||||
if (!worlds) return
|
||||
|
||||
const serverProjectIds = worlds
|
||||
@@ -302,7 +340,14 @@ async function refreshInstalledProjectIds() {
|
||||
return
|
||||
}
|
||||
|
||||
const ids = await getInstalledProjectIds(route.query.i as string).catch(handleError)
|
||||
const targetInstanceId = route.query.i as string
|
||||
const ids = await queryClient
|
||||
.fetchQuery({
|
||||
queryKey: instanceKeys.installedProjectIds(targetInstanceId, 'content'),
|
||||
queryFn: () => getInstalledProjectIds(targetInstanceId),
|
||||
staleTime: 0,
|
||||
})
|
||||
.catch(handleError)
|
||||
if (!ids) return
|
||||
|
||||
debugLog('installedProjectIds loaded', { count: ids.length })
|
||||
@@ -317,37 +362,40 @@ async function initInstanceContext() {
|
||||
queryWid: route.query.wid,
|
||||
queryFrom: route.query.from,
|
||||
})
|
||||
await initServerContext()
|
||||
await Promise.all([
|
||||
initServerContext(),
|
||||
refreshInstalledProjectIds(),
|
||||
route.query.i ? instanceQuery.suspense().catch(handleError) : Promise.resolve(),
|
||||
])
|
||||
|
||||
if (route.query.i) {
|
||||
instance.value = (await getInstance(route.query.i as string).catch(handleError)) ?? null
|
||||
debugLog('instance loaded', {
|
||||
name: instance.value?.name,
|
||||
loader: instance.value?.loader,
|
||||
gameVersion: instance.value?.game_version,
|
||||
})
|
||||
|
||||
await refreshInstalledProjectIds()
|
||||
|
||||
if (instance.value?.link?.project_id) {
|
||||
debugLog('checking linked project for server status', instance.value.link.project_id)
|
||||
const projectV3 = await get_project_v3(
|
||||
instance.value.link.project_id,
|
||||
'must_revalidate',
|
||||
).catch(handleError)
|
||||
if (projectV3?.minecraft_server != null) {
|
||||
debugLog('instance is a server instance')
|
||||
isServerInstance.value = true
|
||||
}
|
||||
await linkedInstanceProjectQuery.suspense().catch(handleError)
|
||||
}
|
||||
}
|
||||
|
||||
if (route.query.ai && !(route.params.projectType === 'modpack')) {
|
||||
debugLog('setting instanceHideInstalled from query', route.query.ai)
|
||||
instanceHideInstalled.value = route.query.ai === 'true'
|
||||
}
|
||||
}
|
||||
|
||||
function setBrowseHideInstalledFlag(flag: 'hide_installed_modpacks', value: boolean) {
|
||||
themeStore.featureFlags[flag] = value
|
||||
getSettings()
|
||||
.then((settings) => {
|
||||
settings.feature_flags[flag] = value
|
||||
return setSettings(settings)
|
||||
})
|
||||
.catch(handleError)
|
||||
}
|
||||
|
||||
const hideInstalledModpacks = computed({
|
||||
get: () => themeStore.getFeatureFlag('hide_installed_modpacks'),
|
||||
set: (value: boolean) => setBrowseHideInstalledFlag('hide_installed_modpacks', value),
|
||||
})
|
||||
|
||||
const instanceFilters = computed(() => {
|
||||
const filters = []
|
||||
|
||||
@@ -367,11 +415,15 @@ const instanceFilters = computed(() => {
|
||||
if (isServerInstance.value) {
|
||||
filters.push({ type: 'environment', option: 'client' })
|
||||
}
|
||||
}
|
||||
|
||||
if (instanceHideInstalled.value && hiddenInstanceProjectIds.value.size > 0) {
|
||||
for (const id of hiddenInstanceProjectIds.value) {
|
||||
filters.push({ type: 'project_id', option: `project_id:${id}`, negative: true })
|
||||
}
|
||||
if (
|
||||
(instance.value || projectType.value === 'modpack') &&
|
||||
(projectType.value === 'modpack' ? hideInstalledModpacks.value : instanceHideInstalled.value) &&
|
||||
hiddenInstanceProjectIds.value.size > 0
|
||||
) {
|
||||
for (const id of hiddenInstanceProjectIds.value) {
|
||||
filters.push({ type: 'project_id', option: `project_id:${id}`, negative: true })
|
||||
}
|
||||
}
|
||||
|
||||
@@ -430,6 +482,12 @@ const serverContextFilters = computed(() => {
|
||||
{ type: 'environment', option: 'client' },
|
||||
{ type: 'environment', option: 'server' },
|
||||
)
|
||||
|
||||
if (hideInstalledModpacks.value && hiddenInstanceProjectIds.value.size > 0) {
|
||||
for (const id of hiddenInstanceProjectIds.value) {
|
||||
filters.push({ type: 'project_id', option: `project_id:${id}`, negative: true })
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
if (serverHideInstalled.value && hiddenServerContentProjectIds.value.size > 0) {
|
||||
@@ -500,6 +558,10 @@ const messages = defineMessages({
|
||||
id: 'app.browse.hide-added-servers',
|
||||
defaultMessage: 'Hide servers already added',
|
||||
},
|
||||
hideInstalledModpacks: {
|
||||
id: 'app.browse.hide-installed-modpacks',
|
||||
defaultMessage: 'Hide already installed',
|
||||
},
|
||||
installingToServer: {
|
||||
id: 'app.browse.server.installing',
|
||||
defaultMessage: 'Installing',
|
||||
@@ -542,10 +604,7 @@ const messages = defineMessages({
|
||||
const projectType = ref<ProjectType>(route.params.projectType as ProjectType)
|
||||
|
||||
function resetInstanceContext() {
|
||||
if (!instance.value) return
|
||||
|
||||
debugLog('instance context removed, resetting')
|
||||
instance.value = null
|
||||
installedProjectIds.value = null
|
||||
instanceHideInstalled.value = false
|
||||
newlyInstalled.value = []
|
||||
@@ -553,6 +612,7 @@ function resetInstanceContext() {
|
||||
hiddenInstanceProjectIdsInitialized.value = false
|
||||
isServerInstance.value = false
|
||||
browseBreadcrumb.reset()
|
||||
void refreshInstalledProjectIds()
|
||||
}
|
||||
|
||||
watch(
|
||||
@@ -575,9 +635,18 @@ watch(
|
||||
|
||||
watch(
|
||||
() => route.query.i,
|
||||
(instanceId) => {
|
||||
if (!instanceId && route.path.startsWith('/browse')) {
|
||||
async (nextInstanceId, previousInstanceId) => {
|
||||
if (!route.path.startsWith('/browse') || nextInstanceId === previousInstanceId) return
|
||||
if (!nextInstanceId) {
|
||||
resetInstanceContext()
|
||||
return
|
||||
}
|
||||
|
||||
installedProjectIds.value = null
|
||||
hiddenInstanceProjectIdsInitialized.value = false
|
||||
await Promise.all([instanceQuery.suspense().catch(handleError), refreshInstalledProjectIds()])
|
||||
if (instance.value?.link?.project_id) {
|
||||
await linkedInstanceProjectQuery.suspense().catch(handleError)
|
||||
}
|
||||
},
|
||||
)
|
||||
@@ -763,6 +832,27 @@ async function chooseInstanceInstallVersion(
|
||||
return { versionId: selectedVersion.id }
|
||||
}
|
||||
|
||||
async function chooseFilterMatchingInstallVersion(
|
||||
project: Labrinth.Search.v3.ResultSearchProject,
|
||||
projectTypeValue: string,
|
||||
) {
|
||||
const plan = await resolveInstallPlan({
|
||||
project: {
|
||||
project_id: project.project_id,
|
||||
title: project.title,
|
||||
icon_url: project.icon_url,
|
||||
},
|
||||
contentType: projectTypeValue as BrowseInstallContentType,
|
||||
selectedFilters: searchState.currentFilters.value,
|
||||
providedFilters: combinedProvidedFilters.value,
|
||||
overriddenProvidedFilterTypes: searchState.overriddenProvidedFilterTypes.value,
|
||||
targetPreferences: {},
|
||||
getProjectVersions: getInstallProjectVersions,
|
||||
})
|
||||
|
||||
return { versionId: plan.versionId }
|
||||
}
|
||||
|
||||
function getCardActions(
|
||||
result: Labrinth.Search.v3.ResultSearchProject,
|
||||
currentProjectType: string,
|
||||
@@ -781,6 +871,7 @@ function getCardActions(
|
||||
serverContentProjectIds.value.has(projectResult.project_id || '') ||
|
||||
serverContextServerData.value?.upstream?.project_id === projectResult.project_id
|
||||
const isInstalling = installingProjectIds.value.has(projectResult.project_id)
|
||||
const showAsInstalled = isInstalled && currentProjectType !== 'modpack'
|
||||
|
||||
if (
|
||||
isServerContext.value &&
|
||||
@@ -790,7 +881,7 @@ function getCardActions(
|
||||
const isInstallingSelection = isInstallingQueuedServerInstalls.value
|
||||
const validatingInstall =
|
||||
isInstalling && currentProjectType !== 'modpack' && !isInstallingSelection
|
||||
const installLabel = isInstalled
|
||||
const installLabel = showAsInstalled
|
||||
? commonMessages.installedLabel
|
||||
: isQueued
|
||||
? isInstalling || isInstallingSelection
|
||||
@@ -810,11 +901,11 @@ function getCardActions(
|
||||
icon:
|
||||
isInstalling || isInstallingSelection
|
||||
? SpinnerIcon
|
||||
: isQueued || isInstalled
|
||||
: isQueued || showAsInstalled
|
||||
? CheckIcon
|
||||
: PlusIcon,
|
||||
iconClass: isInstalling || isInstallingSelection ? 'animate-spin' : undefined,
|
||||
disabled: isInstalled || isInstalling || isInstallingSelection,
|
||||
disabled: showAsInstalled || isInstalling || isInstallingSelection,
|
||||
color: isQueued && !isInstalling && !isInstallingSelection ? 'green' : 'brand',
|
||||
type: 'outlined',
|
||||
onClick: async () => {
|
||||
@@ -875,15 +966,15 @@ function getCardActions(
|
||||
label: formatMessage(
|
||||
isInstalling
|
||||
? messages.installingToServer
|
||||
: isInstalled
|
||||
: showAsInstalled
|
||||
? commonMessages.installedLabel
|
||||
: shouldUseInstallIcon
|
||||
? commonMessages.installButton
|
||||
: messages.addToAnInstance,
|
||||
),
|
||||
icon: isInstalling ? SpinnerIcon : isInstalled ? CheckIcon : PlusIcon,
|
||||
icon: isInstalling ? SpinnerIcon : showAsInstalled ? CheckIcon : PlusIcon,
|
||||
iconClass: isInstalling ? 'animate-spin' : undefined,
|
||||
disabled: isInstalled || isInstalling,
|
||||
disabled: showAsInstalled || isInstalling,
|
||||
color: 'brand',
|
||||
type: 'outlined',
|
||||
onClick: async () => {
|
||||
@@ -891,7 +982,9 @@ function getCardActions(
|
||||
try {
|
||||
const selectedInstall = instance.value
|
||||
? await chooseInstanceInstallVersion(projectResult, currentProjectType)
|
||||
: { versionId: null as string | null }
|
||||
: isModpack
|
||||
? await chooseFilterMatchingInstallVersion(projectResult, currentProjectType)
|
||||
: { versionId: null as string | null }
|
||||
if (selectedInstall === null) {
|
||||
setProjectInstalling(projectResult.project_id, false)
|
||||
return
|
||||
@@ -994,10 +1087,11 @@ async function search(requestParams: string) {
|
||||
...hit,
|
||||
}
|
||||
|
||||
if (instance.value || isServerContext.value) {
|
||||
const installedIds = instance.value
|
||||
? new Set([...newlyInstalled.value, ...(installedProjectIds.value ?? [])])
|
||||
: serverContentProjectIds.value
|
||||
if (instance.value || isServerContext.value || projectType.value === 'modpack') {
|
||||
const installedIds =
|
||||
isServerContext.value && projectType.value !== 'modpack'
|
||||
? serverContentProjectIds.value
|
||||
: new Set([...newlyInstalled.value, ...(installedProjectIds.value ?? [])])
|
||||
mapped.installed = installedIds.has(hit.project_id)
|
||||
}
|
||||
|
||||
@@ -1057,9 +1151,9 @@ watch(
|
||||
() => projectType.value,
|
||||
],
|
||||
() => {
|
||||
if (isServerContext.value) {
|
||||
if (isServerContext.value && projectType.value !== 'modpack') {
|
||||
syncHiddenServerContentProjectIds()
|
||||
} else if (instance.value) {
|
||||
} else if (instance.value || projectType.value === 'modpack') {
|
||||
syncHiddenInstanceProjectIds()
|
||||
}
|
||||
},
|
||||
@@ -1091,6 +1185,18 @@ let unlistenInstances: UnlistenFn | null = null
|
||||
|
||||
onMounted(() => {
|
||||
instance_listener(async (event: { event: string; instance_id: string }) => {
|
||||
if (event.event === 'added' || event.event === 'created' || event.event === 'removed') {
|
||||
if (!route.query.i) {
|
||||
await refreshInstalledProjectIds()
|
||||
if (projectType.value === 'modpack') {
|
||||
if (event.event === 'removed') {
|
||||
syncHiddenInstanceProjectIds()
|
||||
}
|
||||
await searchState.refreshSearch()
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
if (instance.value && event.instance_id === instance.value.id && event.event === 'synced') {
|
||||
await refreshInstalledProjectIds()
|
||||
await searchState.refreshSearch()
|
||||
@@ -1156,8 +1262,17 @@ provideBrowseManager({
|
||||
installContext,
|
||||
providedFilters: combinedProvidedFilters,
|
||||
hideInstalled: computed({
|
||||
get: () => (isServerContext.value ? serverHideInstalled.value : instanceHideInstalled.value),
|
||||
get: () => {
|
||||
if (projectType.value === 'modpack') return hideInstalledModpacks.value
|
||||
if (isServerContext.value) return serverHideInstalled.value
|
||||
return instanceHideInstalled.value
|
||||
},
|
||||
set: (val: boolean) => {
|
||||
if (projectType.value === 'modpack') {
|
||||
hideInstalledModpacks.value = val
|
||||
if (val) syncHiddenInstanceProjectIds()
|
||||
return
|
||||
}
|
||||
if (isServerContext.value) {
|
||||
serverHideInstalled.value = val
|
||||
if (val) syncHiddenServerContentProjectIds()
|
||||
@@ -1168,11 +1283,18 @@ provideBrowseManager({
|
||||
},
|
||||
}),
|
||||
showHideInstalled: computed(
|
||||
() => (isServerContext.value && projectType.value !== 'modpack') || !!instance.value,
|
||||
() =>
|
||||
projectType.value === 'modpack' ||
|
||||
(isServerContext.value && projectType.value !== 'modpack') ||
|
||||
!!instance.value,
|
||||
),
|
||||
hideInstalledLabel: computed(() =>
|
||||
formatMessage(
|
||||
isFromWorlds.value ? messages.hideAddedServers : commonMessages.hideInstalledContentLabel,
|
||||
isFromWorlds.value
|
||||
? messages.hideAddedServers
|
||||
: projectType.value === 'modpack'
|
||||
? messages.hideInstalledModpacks
|
||||
: commonMessages.hideInstalledContentLabel,
|
||||
),
|
||||
),
|
||||
hideSelected: hideSelectedServerInstalls,
|
||||
|
||||
@@ -10,7 +10,7 @@ import {
|
||||
SpinnerIcon,
|
||||
} from '@modrinth/assets'
|
||||
import {
|
||||
ButtonStyled,
|
||||
Button,
|
||||
commonMessages,
|
||||
ConfirmModal,
|
||||
defineMessages,
|
||||
@@ -1038,6 +1038,7 @@ async function checkUserChanges() {
|
||||
try {
|
||||
const defaultId = await get_default_user()
|
||||
if (defaultId !== currentUserId.value) {
|
||||
await accountsCard.value?.refreshValues()
|
||||
await loadCurrentUser()
|
||||
await loadCapes()
|
||||
await loadSkins()
|
||||
@@ -1111,13 +1112,15 @@ await loadSkins()
|
||||
class="skin-preview-actions flex w-full items-center justify-center gap-1.5"
|
||||
:class="selectedSkinHasEarsFeatures ? 'flex-nowrap' : 'flex-wrap'"
|
||||
>
|
||||
<button
|
||||
<Button
|
||||
v-tooltip="
|
||||
selectedSkinHasEarsFeatures
|
||||
? formatMessage(commonMessages.resetButton)
|
||||
: undefined
|
||||
"
|
||||
class="skin-preview-action-button flex h-10 min-w-0 cursor-pointer items-center justify-center gap-2 rounded-[14px] border-0 bg-surface-4 px-4 py-2.5 text-base font-semibold leading-5 text-contrast shadow-md transition-[filter,transform] duration-200 enabled:hover:brightness-[--hover-brightness] enabled:focus-visible:brightness-[--hover-brightness] enabled:active:scale-95 disabled:cursor-not-allowed disabled:opacity-50 [&>svg]:size-5 [&>svg]:shrink-0"
|
||||
type="base"
|
||||
size="lg"
|
||||
class="skin-preview-action-button"
|
||||
:disabled="isApplyingSkin || isSkinManagementReadOnly"
|
||||
:aria-label="formatMessage(commonMessages.resetButton)"
|
||||
@click="resetSelectedSkin"
|
||||
@@ -1126,12 +1129,15 @@ await loadSkins()
|
||||
<span class="skin-preview-action-label">
|
||||
{{ formatMessage(commonMessages.resetButton) }}
|
||||
</span>
|
||||
</button>
|
||||
<button
|
||||
</Button>
|
||||
<Button
|
||||
v-tooltip="
|
||||
selectedSkinHasEarsFeatures ? formatMessage(messages.applyButton) : undefined
|
||||
"
|
||||
class="skin-preview-action-button flex h-10 min-w-0 cursor-pointer items-center justify-center gap-2 rounded-[14px] border-0 bg-brand px-4 py-2.5 text-base font-semibold leading-5 text-[rgba(0,0,0,0.9)] shadow-md transition-[filter,transform] duration-200 enabled:hover:brightness-[--hover-brightness] enabled:focus-visible:brightness-[--hover-brightness] enabled:active:scale-95 disabled:cursor-not-allowed disabled:opacity-50 [&>svg]:size-5 [&>svg]:shrink-0"
|
||||
type="colored"
|
||||
color="brand"
|
||||
size="lg"
|
||||
class="skin-preview-action-button"
|
||||
:disabled="isApplyingSkin || isSkinManagementReadOnly"
|
||||
:aria-label="formatMessage(messages.applyButton)"
|
||||
@click="applySelectedSkin"
|
||||
@@ -1141,17 +1147,18 @@ await loadSkins()
|
||||
<span class="skin-preview-action-label">
|
||||
{{ formatMessage(messages.applyButton) }}
|
||||
</span>
|
||||
</button>
|
||||
</Button>
|
||||
</div>
|
||||
<button
|
||||
<Button
|
||||
v-else
|
||||
class="flex h-10 min-w-0 cursor-pointer items-center justify-center gap-2 rounded-[14px] border-0 bg-surface-4 px-4 py-2.5 text-base font-semibold leading-5 shadow-md transition-[filter,transform] duration-200 enabled:hover:brightness-[--hover-brightness] enabled:focus-visible:brightness-[--hover-brightness] enabled:active:scale-95 disabled:cursor-not-allowed disabled:opacity-50 [&>svg]:size-5 [&>svg]:shrink-0"
|
||||
type="base"
|
||||
size="lg"
|
||||
:disabled="!selectedSkin || isSkinManagementReadOnly"
|
||||
@click="(e: MouseEvent) => selectedSkin && editSkinModal?.show(e, selectedSkin)"
|
||||
>
|
||||
<EditIcon />
|
||||
{{ formatMessage(messages.editSkinButton) }}
|
||||
</button>
|
||||
</Button>
|
||||
|
||||
<div
|
||||
v-if="selectedSkinHasEarsFeatures"
|
||||
@@ -1180,28 +1187,28 @@ await loadSkins()
|
||||
>Ears</router-link
|
||||
>
|
||||
</div>
|
||||
<ButtonStyled type="outlined">
|
||||
<button
|
||||
class="ears-feature-toggle-button !h-10 !rounded-[14px] !px-4 shadow-md"
|
||||
:aria-pressed="earsFeaturesEnabled"
|
||||
:aria-label="
|
||||
formatMessage(
|
||||
earsFeaturesEnabled
|
||||
? messages.toggleEarsFeaturesOff
|
||||
: messages.toggleEarsFeaturesOn,
|
||||
)
|
||||
"
|
||||
@click="earsFeaturesEnabled = !earsFeaturesEnabled"
|
||||
>
|
||||
{{
|
||||
formatMessage(
|
||||
earsFeaturesEnabled
|
||||
? messages.toggleEarsFeaturesOff
|
||||
: messages.toggleEarsFeaturesOn,
|
||||
)
|
||||
}}
|
||||
</button>
|
||||
</ButtonStyled>
|
||||
<Button
|
||||
type="outlined"
|
||||
size="lg"
|
||||
class="ears-feature-toggle-button shadow-md"
|
||||
:aria-pressed="earsFeaturesEnabled"
|
||||
:aria-label="
|
||||
formatMessage(
|
||||
earsFeaturesEnabled
|
||||
? messages.toggleEarsFeaturesOff
|
||||
: messages.toggleEarsFeaturesOn,
|
||||
)
|
||||
"
|
||||
@click="earsFeaturesEnabled = !earsFeaturesEnabled"
|
||||
>
|
||||
{{
|
||||
formatMessage(
|
||||
earsFeaturesEnabled
|
||||
? messages.toggleEarsFeaturesOff
|
||||
: messages.toggleEarsFeaturesOn,
|
||||
)
|
||||
}}
|
||||
</Button>
|
||||
<Toggle
|
||||
v-model="earsFeaturesEnabled"
|
||||
v-tooltip="
|
||||
@@ -1278,13 +1285,17 @@ await loadSkins()
|
||||
<p class="text-lg m-0">
|
||||
{{ formatMessage(messages.signInDescription) }}
|
||||
</p>
|
||||
<ButtonStyled v-show="accountsCard" color="brand" :disabled="accountsCard.loginDisabled">
|
||||
<button :disabled="accountsCard.loginDisabled" @click="login">
|
||||
<LogInIcon v-if="!accountsCard.loginDisabled" />
|
||||
<SpinnerIcon v-else class="animate-spin" />
|
||||
{{ formatMessage(messages.signInButton) }}
|
||||
</button>
|
||||
</ButtonStyled>
|
||||
<Button
|
||||
v-show="accountsCard"
|
||||
type="colored"
|
||||
color="brand"
|
||||
:disabled="accountsCard.loginDisabled"
|
||||
@click="login"
|
||||
>
|
||||
<LogInIcon v-if="!accountsCard.loginDisabled" />
|
||||
<SpinnerIcon v-else class="animate-spin" />
|
||||
{{ formatMessage(messages.signInButton) }}
|
||||
</Button>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
<template>
|
||||
<div class="w-full px-2 pt-2">
|
||||
<div class="w-full p-2">
|
||||
<UserProfilePageLayout
|
||||
:user-id="userId"
|
||||
:project-type="projectType"
|
||||
@@ -8,19 +8,52 @@
|
||||
project-link-mode="app"
|
||||
:edit-profile-link="openProfileSettings"
|
||||
external-navigation
|
||||
/>
|
||||
>
|
||||
<template #project-actions="{ project }">
|
||||
<Button
|
||||
type="outlined"
|
||||
class="!text-brand [&>svg]:!text-brand !shadow-[inset_0_0_0_1px_var(--color-brand)]"
|
||||
:disabled="isProjectInstalling(project.id)"
|
||||
@click.stop="installProject(project)"
|
||||
>
|
||||
<SpinnerIcon v-if="isProjectInstalling(project.id)" class="animate-spin" />
|
||||
<DownloadIcon v-else-if="project.project_type === 'modpack'" />
|
||||
<PlusIcon v-else />
|
||||
{{
|
||||
formatMessage(
|
||||
isProjectInstalling(project.id)
|
||||
? commonMessages.installingLabel
|
||||
: project.project_type === 'modpack'
|
||||
? commonMessages.installButton
|
||||
: messages.installToInstance,
|
||||
)
|
||||
}}
|
||||
</Button>
|
||||
</template>
|
||||
</UserProfilePageLayout>
|
||||
</div>
|
||||
</template>
|
||||
|
||||
<script setup lang="ts">
|
||||
import type { Labrinth } from '@modrinth/api-client'
|
||||
import { provideUserProfile, UserProfilePageLayout } from '@modrinth/ui'
|
||||
import { DownloadIcon, PlusIcon, SpinnerIcon } from '@modrinth/assets'
|
||||
import {
|
||||
Button,
|
||||
commonMessages,
|
||||
defineMessages,
|
||||
injectNotificationManager,
|
||||
provideUserProfile,
|
||||
UserProfilePageLayout,
|
||||
useVIntl,
|
||||
} from '@modrinth/ui'
|
||||
import { useQuery, useQueryClient } from '@tanstack/vue-query'
|
||||
import { computed, inject, ref, watch } from 'vue'
|
||||
import { onBeforeRouteUpdate, useRoute } from 'vue-router'
|
||||
import { onBeforeRouteUpdate, useRoute, useRouter } from 'vue-router'
|
||||
|
||||
import {
|
||||
block_user,
|
||||
change_user_avatar,
|
||||
delete_user_avatar,
|
||||
get_blocked_users,
|
||||
get_user_collections,
|
||||
get_user_organizations,
|
||||
@@ -31,16 +64,67 @@ import {
|
||||
} from '@/helpers/users'
|
||||
import { appSettingsModalOpenProfileKey } from '@/providers/app-settings-modal'
|
||||
import { useBreadcrumb } from '@/providers/breadcrumbs'
|
||||
import { injectContentInstall } from '@/providers/content-install'
|
||||
|
||||
const route = useRoute()
|
||||
const router = useRouter()
|
||||
const openProfileSettings = inject(appSettingsModalOpenProfileKey, () => {})
|
||||
const queryClient = useQueryClient()
|
||||
const { formatMessage } = useVIntl()
|
||||
const { handleError } = injectNotificationManager()
|
||||
const { install: installVersion } = injectContentInstall()
|
||||
const installingProjectIds = ref(new Set<string>())
|
||||
|
||||
const messages = defineMessages({
|
||||
installToInstance: {
|
||||
id: 'app.user.project.install-to-instance',
|
||||
defaultMessage: 'Install to instance',
|
||||
},
|
||||
})
|
||||
|
||||
function isProjectInstalling(projectId: string): boolean {
|
||||
return installingProjectIds.value.has(projectId)
|
||||
}
|
||||
|
||||
function setProjectInstalling(projectId: string, installing: boolean): void {
|
||||
const next = new Set(installingProjectIds.value)
|
||||
if (installing) {
|
||||
next.add(projectId)
|
||||
} else {
|
||||
next.delete(projectId)
|
||||
}
|
||||
installingProjectIds.value = next
|
||||
}
|
||||
|
||||
async function installProject(project: Labrinth.Projects.v2.Project): Promise<void> {
|
||||
if (isProjectInstalling(project.id)) return
|
||||
|
||||
setProjectInstalling(project.id, true)
|
||||
try {
|
||||
await installVersion(
|
||||
project.id,
|
||||
null,
|
||||
null,
|
||||
'UserPage',
|
||||
() => setProjectInstalling(project.id, false),
|
||||
(instanceId) => router.push(`/instance/${encodeURIComponent(instanceId)}`),
|
||||
)
|
||||
} catch (error) {
|
||||
setProjectInstalling(project.id, false)
|
||||
handleError(error)
|
||||
}
|
||||
}
|
||||
|
||||
const userProfile = provideUserProfile({
|
||||
getUser: get_user_profile,
|
||||
getProjects: get_user_projects,
|
||||
getOrganizations: get_user_organizations,
|
||||
getCollections: get_user_collections,
|
||||
patchUser: patch_user,
|
||||
changeAvatar: async (userId, file, extension) => {
|
||||
await change_user_avatar(userId, new Uint8Array(await file.arrayBuffer()), extension)
|
||||
},
|
||||
deleteAvatar: delete_user_avatar,
|
||||
getBlockedUsers: get_blocked_users,
|
||||
blockUser: block_user,
|
||||
unblockUser: unblock_user,
|
||||
|
||||
@@ -1,13 +0,0 @@
|
||||
<template>{{ instance.name }} overview</template>
|
||||
<script setup lang="ts">
|
||||
import type ContextMenu from '@/components/ui/ContextMenu.vue'
|
||||
import type { GameInstance } from '@/helpers/types'
|
||||
|
||||
defineProps<{
|
||||
instance: GameInstance
|
||||
options: InstanceType<typeof ContextMenu>
|
||||
offline: boolean
|
||||
playing: boolean
|
||||
installed: boolean
|
||||
}>()
|
||||
</script>
|
||||
+5
-5
@@ -36,11 +36,11 @@ import { computed, ref, watch } from 'vue'
|
||||
import type { SharedInstanceUnavailableReason } from '@/helpers/install'
|
||||
import type { GameInstance } from '@/helpers/types'
|
||||
|
||||
import InstanceAdmonitionsSharedInstanceStale from './instance-admonitions-shared-instance-stale.vue'
|
||||
import InstanceAdmonitionsSharedInstanceUnavailable from './instance-admonitions-shared-instance-unavailable.vue'
|
||||
import InstanceAdmonitionsSharedInstanceUpdateAvailable from './instance-admonitions-shared-instance-update-available.vue'
|
||||
import InstanceAdmonitionsSharedInstanceWrongAccount from './instance-admonitions-shared-instance-wrong-account.vue'
|
||||
import type { InstanceAdmonitionItem, SharedInstanceRole } from './types'
|
||||
import InstanceAdmonitionsSharedInstanceStale from './shared-instance-stale.vue'
|
||||
import InstanceAdmonitionsSharedInstanceUnavailable from './shared-instance-unavailable.vue'
|
||||
import InstanceAdmonitionsSharedInstanceUpdateAvailable from './shared-instance-update-available.vue'
|
||||
import InstanceAdmonitionsSharedInstanceWrongAccount from './shared-instance-wrong-account.vue'
|
||||
import type { InstanceAdmonitionItem, SharedInstanceRole } from './types.ts'
|
||||
|
||||
defineOptions({
|
||||
inheritAttrs: false,
|
||||
+23
-19
@@ -6,23 +6,27 @@
|
||||
>
|
||||
{{ formatMessage(messages.sharedInstanceChangesBody) }}
|
||||
<template #actions>
|
||||
<ButtonStyled color="blue">
|
||||
<button class="!h-10" :disabled="isPublishButtonDisabled" @click="reviewChanges">
|
||||
<SpinnerIcon
|
||||
v-if="isReviewingPublish || isPublishing"
|
||||
class="animate-spin"
|
||||
aria-hidden="true"
|
||||
/>
|
||||
<UploadIcon v-else aria-hidden="true" />
|
||||
{{
|
||||
isPublishing
|
||||
? formatMessage(messages.sharedInstancePublishingButton)
|
||||
: isReviewingPublish
|
||||
? formatMessage(messages.sharedInstanceReviewingButton)
|
||||
: formatMessage(messages.sharedInstancePublishButton)
|
||||
}}
|
||||
</button>
|
||||
</ButtonStyled>
|
||||
<Button
|
||||
type="colored"
|
||||
color="blue"
|
||||
size="lg"
|
||||
:disabled="isPublishButtonDisabled"
|
||||
@click="reviewChanges"
|
||||
>
|
||||
<SpinnerIcon
|
||||
v-if="isReviewingPublish || isPublishing"
|
||||
class="animate-spin"
|
||||
aria-hidden="true"
|
||||
/>
|
||||
<UploadIcon v-else aria-hidden="true" />
|
||||
{{
|
||||
isPublishing
|
||||
? formatMessage(messages.sharedInstancePublishingButton)
|
||||
: isReviewingPublish
|
||||
? formatMessage(messages.sharedInstanceReviewingButton)
|
||||
: formatMessage(messages.sharedInstancePublishButton)
|
||||
}}
|
||||
</Button>
|
||||
</template>
|
||||
</Admonition>
|
||||
|
||||
@@ -36,13 +40,13 @@
|
||||
|
||||
<script setup lang="ts">
|
||||
import { SpinnerIcon, UploadIcon } from '@modrinth/assets'
|
||||
import { Admonition, ButtonStyled, useVIntl } from '@modrinth/ui'
|
||||
import { Admonition, Button, useVIntl } from '@modrinth/ui'
|
||||
import { computed, ref } from 'vue'
|
||||
|
||||
import SharedInstancePublishModal from '@/components/ui/shared-instances/SharedInstancePublishModal.vue'
|
||||
import type { GameInstance } from '@/helpers/types'
|
||||
|
||||
import { instanceAdmonitionsMessages as messages } from './instance-admonitions-messages'
|
||||
import { instanceAdmonitionsMessages as messages } from './messages'
|
||||
|
||||
defineProps<{
|
||||
instance: GameInstance
|
||||
+5
-7
@@ -8,19 +8,17 @@
|
||||
>
|
||||
{{ formatSharedInstanceUnavailable(reason ?? null, manager) }}
|
||||
<template v-if="reason === 'quarantined'" #actions>
|
||||
<ButtonStyled color="orange">
|
||||
<button class="!h-10" @click="emit('delete')">
|
||||
<TrashIcon aria-hidden="true" />
|
||||
{{ formatMessage(messages.deleteInstance) }}
|
||||
</button>
|
||||
</ButtonStyled>
|
||||
<Button type="colored" color="orange" size="lg" @click="emit('delete')">
|
||||
<TrashIcon aria-hidden="true" />
|
||||
{{ formatMessage(messages.deleteInstance) }}
|
||||
</Button>
|
||||
</template>
|
||||
</Admonition>
|
||||
</template>
|
||||
|
||||
<script setup lang="ts">
|
||||
import { TrashIcon } from '@modrinth/assets'
|
||||
import { Admonition, ButtonStyled, defineMessages, useVIntl } from '@modrinth/ui'
|
||||
import { Admonition, Button, defineMessages, useVIntl } from '@modrinth/ui'
|
||||
|
||||
import type { SharedInstanceUnavailableReason } from '@/helpers/install'
|
||||
import {
|
||||
+6
-8
@@ -6,21 +6,19 @@
|
||||
>
|
||||
{{ formatMessage(messages.sharedInstanceUpdateAvailableBody, { name: instanceName }) }}
|
||||
<template #actions>
|
||||
<ButtonStyled color="blue">
|
||||
<button class="!h-10" @click="emit('review', $event)">
|
||||
<DownloadIcon aria-hidden="true" />
|
||||
{{ formatMessage(messages.sharedInstanceReviewUpdateButton) }}
|
||||
</button>
|
||||
</ButtonStyled>
|
||||
<Button type="colored" color="blue" size="lg" @click="emit('review', $event)">
|
||||
<DownloadIcon aria-hidden="true" />
|
||||
{{ formatMessage(messages.sharedInstanceReviewUpdateButton) }}
|
||||
</Button>
|
||||
</template>
|
||||
</Admonition>
|
||||
</template>
|
||||
|
||||
<script setup lang="ts">
|
||||
import { DownloadIcon } from '@modrinth/assets'
|
||||
import { Admonition, ButtonStyled, useVIntl } from '@modrinth/ui'
|
||||
import { Admonition, Button, useVIntl } from '@modrinth/ui'
|
||||
|
||||
import { instanceAdmonitionsMessages as messages } from './instance-admonitions-messages'
|
||||
import { instanceAdmonitionsMessages as messages } from './messages'
|
||||
|
||||
defineProps<{
|
||||
instanceName: string
|
||||
+1
-1
@@ -29,7 +29,7 @@ import { computed } from 'vue'
|
||||
|
||||
import { get_user } from '@/helpers/cache'
|
||||
|
||||
import { instanceAdmonitionsMessages as messages } from './instance-admonitions-messages'
|
||||
import { instanceAdmonitionsMessages as messages } from './messages'
|
||||
import type { SharedInstanceRole } from './types'
|
||||
|
||||
const props = defineProps<{
|
||||
+100
-77
@@ -55,8 +55,8 @@
|
||||
</PageHeaderMetadataItem>
|
||||
<PageHeaderMetadataItem
|
||||
v-if="sharedInstanceManager?.type !== 'user'"
|
||||
:icon="ServerLoaderIcon"
|
||||
:icon-props="{ loader: loaderDisplayName }"
|
||||
:icon="TagIcon"
|
||||
:icon-props="{ tag: loaderDisplayName, enforceType: 'loader' }"
|
||||
tooltip="Mod loader"
|
||||
>
|
||||
{{ loaderLabel }}
|
||||
@@ -85,66 +85,98 @@
|
||||
|
||||
<template #actions>
|
||||
<PageHeaderActions>
|
||||
<ButtonStyled v-if="isInstalling" color="brand" size="large">
|
||||
<button type="button" disabled>
|
||||
{{ formatMessage(commonMessages.installingLabel) }}
|
||||
</button>
|
||||
</ButtonStyled>
|
||||
<ButtonStyled v-else-if="playing" color="red" size="large">
|
||||
<button type="button" :disabled="stopping" @click="emit('stop')">
|
||||
<StopCircleIcon />
|
||||
{{
|
||||
stopping ? formatMessage(messages.stopping) : formatMessage(commonMessages.stopButton)
|
||||
}}
|
||||
</button>
|
||||
</ButtonStyled>
|
||||
<ButtonStyled v-else-if="instance.quarantined" color="brand" size="large">
|
||||
<button v-tooltip="formatMessage(messages.lockedPlayTooltip)" type="button" disabled>
|
||||
<PlayIcon />
|
||||
{{ formatMessage(commonMessages.playButton) }}
|
||||
</button>
|
||||
</ButtonStyled>
|
||||
<ButtonStyled v-else-if="instance.install_stage !== 'installed'" color="brand" size="large">
|
||||
<button type="button" @click="emit('repair')">
|
||||
<DownloadIcon />
|
||||
{{ formatMessage(messages.repair) }}
|
||||
</button>
|
||||
</ButtonStyled>
|
||||
<JoinedButtons
|
||||
v-else-if="!loading && isServerInstance"
|
||||
:actions="serverPlayActions"
|
||||
<Button
|
||||
v-if="isInstalling"
|
||||
type="colored"
|
||||
color="brand"
|
||||
size="large"
|
||||
/>
|
||||
<ButtonStyled v-else-if="!loading" color="brand" size="large">
|
||||
<button type="button" @click="emit('play')">
|
||||
<PlayIcon />
|
||||
{{ formatMessage(commonMessages.playButton) }}
|
||||
</button>
|
||||
</ButtonStyled>
|
||||
<ButtonStyled v-else color="brand" size="large">
|
||||
<button type="button" disabled>{{ formatMessage(messages.starting) }}</button>
|
||||
</ButtonStyled>
|
||||
size="xl"
|
||||
native-type="button"
|
||||
disabled
|
||||
>
|
||||
{{ formatMessage(commonMessages.installingLabel) }}
|
||||
</Button>
|
||||
<Button
|
||||
v-else-if="playing"
|
||||
type="colored"
|
||||
color="red"
|
||||
size="xl"
|
||||
native-type="button"
|
||||
:disabled="stopping"
|
||||
@click="emit('stop')"
|
||||
>
|
||||
<StopCircleIcon />
|
||||
{{
|
||||
stopping ? formatMessage(messages.stopping) : formatMessage(commonMessages.stopButton)
|
||||
}}
|
||||
</Button>
|
||||
<Button
|
||||
v-else-if="instance.quarantined"
|
||||
v-tooltip="formatMessage(messages.lockedPlayTooltip)"
|
||||
type="colored"
|
||||
color="brand"
|
||||
size="xl"
|
||||
native-type="button"
|
||||
disabled
|
||||
>
|
||||
<PlayIcon />
|
||||
{{ formatMessage(commonMessages.playButton) }}
|
||||
</Button>
|
||||
<Button
|
||||
v-else-if="instance.install_stage !== 'installed'"
|
||||
type="colored"
|
||||
color="brand"
|
||||
size="xl"
|
||||
native-type="button"
|
||||
@click="emit('repair')"
|
||||
>
|
||||
<DownloadIcon />
|
||||
{{ formatMessage(messages.repair) }}
|
||||
</Button>
|
||||
<SplitButton
|
||||
v-else-if="!loading && isServerInstance"
|
||||
type="colored"
|
||||
color="brand"
|
||||
size="xl"
|
||||
:options="serverPlayOptions"
|
||||
:menu-label="formatMessage(messages.launchInstance)"
|
||||
@click="emit('playServer')"
|
||||
>
|
||||
<PlayIcon />
|
||||
{{ formatMessage(commonMessages.playButton) }}
|
||||
</SplitButton>
|
||||
<Button
|
||||
v-else-if="!loading"
|
||||
type="colored"
|
||||
color="brand"
|
||||
size="xl"
|
||||
native-type="button"
|
||||
@click="emit('play')"
|
||||
>
|
||||
<PlayIcon />
|
||||
{{ formatMessage(commonMessages.playButton) }}
|
||||
</Button>
|
||||
<Button v-else type="colored" color="brand" size="xl" native-type="button" disabled>{{
|
||||
formatMessage(messages.starting)
|
||||
}}</Button>
|
||||
|
||||
<ButtonStyled circular size="large">
|
||||
<button
|
||||
v-tooltip="formatMessage(messages.instanceSettings)"
|
||||
type="button"
|
||||
:aria-label="formatMessage(messages.instanceSettings)"
|
||||
@click="emit('settings')"
|
||||
>
|
||||
<SettingsIcon />
|
||||
</button>
|
||||
</ButtonStyled>
|
||||
<ButtonStyled circular size="large" type="transparent">
|
||||
<TeleportOverflowMenu
|
||||
:options="moreActions"
|
||||
:tooltip="formatMessage(messages.moreActions)"
|
||||
:aria-label="formatMessage(messages.moreActions)"
|
||||
>
|
||||
<MoreVerticalIcon />
|
||||
</TeleportOverflowMenu>
|
||||
</ButtonStyled>
|
||||
<IconButton
|
||||
v-tooltip="formatMessage(messages.instanceSettings)"
|
||||
size="xl"
|
||||
:label="formatMessage(messages.instanceSettings)"
|
||||
native-type="button"
|
||||
@click="emit('settings')"
|
||||
>
|
||||
<SettingsIcon />
|
||||
</IconButton>
|
||||
<TeleportOverflowMenu
|
||||
type="quiet"
|
||||
size="xl"
|
||||
:label="formatMessage(messages.moreActions)"
|
||||
:tooltip="formatMessage(messages.moreActions)"
|
||||
:options="moreActions"
|
||||
>
|
||||
<MoreVerticalIcon />
|
||||
</TeleportOverflowMenu>
|
||||
</PageHeaderActions>
|
||||
</template>
|
||||
</PageHeader>
|
||||
@@ -167,23 +199,20 @@ import {
|
||||
TimerIcon,
|
||||
UnknownIcon,
|
||||
} from '@modrinth/assets'
|
||||
import { Button, IconButton, SplitButton, TeleportOverflowMenu } from '@modrinth/ui'
|
||||
import {
|
||||
Avatar,
|
||||
ButtonStyled,
|
||||
commonMessages,
|
||||
defineMessages,
|
||||
formatLoaderLabel,
|
||||
type JoinedButtonAction,
|
||||
JoinedButtons,
|
||||
LoaderIcon as ServerLoaderIcon,
|
||||
type OverflowMenuOption,
|
||||
PageHeader,
|
||||
PageHeaderActions,
|
||||
PageHeaderBadgeItem,
|
||||
PageHeaderMetadata,
|
||||
PageHeaderMetadataItem,
|
||||
type ServerLoader,
|
||||
TeleportOverflowMenu,
|
||||
type TeleportOverflowMenuItem,
|
||||
TagIcon,
|
||||
useVIntl,
|
||||
} from '@modrinth/ui'
|
||||
import { computed } from 'vue'
|
||||
@@ -350,13 +379,7 @@ const playtimeLabel = computed(() => {
|
||||
const seconds = Math.floor(props.timePlayed)
|
||||
return `${seconds} second${seconds > 1 ? 's' : ''}`
|
||||
})
|
||||
const serverPlayActions = computed<JoinedButtonAction[]>(() => [
|
||||
{
|
||||
id: 'join_server',
|
||||
label: formatMessage(commonMessages.playButton),
|
||||
icon: PlayIcon,
|
||||
action: () => emit('playServer'),
|
||||
},
|
||||
const serverPlayOptions = computed<OverflowMenuOption[]>(() => [
|
||||
{
|
||||
id: 'launch_instance',
|
||||
label: formatMessage(messages.launchInstance),
|
||||
@@ -364,8 +387,8 @@ const serverPlayActions = computed<JoinedButtonAction[]>(() => [
|
||||
action: () => emit('play'),
|
||||
},
|
||||
])
|
||||
const moreActions = computed<TeleportOverflowMenuItem[]>(() => {
|
||||
const actions: TeleportOverflowMenuItem[] = [
|
||||
const moreActions = computed<OverflowMenuOption[]>(() => {
|
||||
const actions: OverflowMenuOption[] = [
|
||||
{
|
||||
id: 'open-folder',
|
||||
label: formatMessage(messages.openFolder),
|
||||
@@ -393,12 +416,12 @@ const moreActions = computed<TeleportOverflowMenuItem[]>(() => {
|
||||
|
||||
if (props.instance.shared_instance?.role === 'member') {
|
||||
actions.push(
|
||||
{ divider: true },
|
||||
{ type: 'divider' },
|
||||
{
|
||||
id: 'report-shared-instance',
|
||||
label: formatMessage(commonMessages.reportButton),
|
||||
icon: ReportIcon,
|
||||
color: 'red',
|
||||
tone: 'red',
|
||||
action: (event) => emit('report', event),
|
||||
},
|
||||
)
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user