diff --git a/.dockerignore b/.dockerignore
index a3096e7d40..e182865ae0 100644
--- a/.dockerignore
+++ b/.dockerignore
@@ -22,6 +22,7 @@ open-api/typescript-sdk/node_modules/
server/coverage/
server/node_modules/
server/upload/
+server/src/queries
server/dist/
server/www/
diff --git a/.github/FUNDING.yml b/.github/FUNDING.yml
new file mode 100644
index 0000000000..c7519a4684
--- /dev/null
+++ b/.github/FUNDING.yml
@@ -0,0 +1 @@
+custom: ['https://buy.immich.app']
diff --git a/.github/ISSUE_TEMPLATE/bug_report.yaml b/.github/ISSUE_TEMPLATE/bug_report.yaml
index 12ffc89ea2..346c6e60f2 100644
--- a/.github/ISSUE_TEMPLATE/bug_report.yaml
+++ b/.github/ISSUE_TEMPLATE/bug_report.yaml
@@ -83,7 +83,6 @@ body:
2.
3.
...
- render: bash
validations:
required: true
diff --git a/.github/ISSUE_TEMPLATE/config.yml b/.github/ISSUE_TEMPLATE/config.yml
index ae0368861a..0b0cfbafd9 100644
--- a/.github/ISSUE_TEMPLATE/config.yml
+++ b/.github/ISSUE_TEMPLATE/config.yml
@@ -1,11 +1,14 @@
blank_issues_enabled: false
contact_links:
- - name: I have a question or need support
+ - name: ✋ I have a question or need support
url: https://discord.immich.app
about: We use GitHub for tracking bugs, please check out our Discord channel for freaky fast support.
- - name: Feature Request
+ - name: 📷 My photo or video has a date, time, or timezone problem
+ url: https://github.com/immich-app/immich/discussions/12650
+ about: Upload a sample file to this discussion and we will take a look
+ - name: 🌟 Feature request
url: https://github.com/immich-app/immich/discussions/new?category=feature-request
about: Please use our GitHub Discussion for making feature requests.
- - name: I'm unsure where to go
+ - name: 🫣 I'm unsure where to go
url: https://discord.immich.app
about: If you are unsure where to go, then joining our Discord is recommended; Just ask!
diff --git a/.github/dependabot.yml b/.github/dependabot.yml
deleted file mode 100644
index 2c7d170839..0000000000
--- a/.github/dependabot.yml
+++ /dev/null
@@ -1,7 +0,0 @@
-version: 2
-updates:
- # Maintain dependencies for GitHub Actions
- - package-ecosystem: "github-actions"
- directory: "/"
- schedule:
- interval: "daily"
diff --git a/.github/labeler.yml b/.github/labeler.yml
index a0eec41346..c0c52f1d7e 100644
--- a/.github/labeler.yml
+++ b/.github/labeler.yml
@@ -33,3 +33,6 @@ documentation:
- changed-files:
- any-glob-to-any-file:
- machine-learning/app/**
+
+changelog:translation:
+ - head-branch: ['^chore/translations$']
diff --git a/.github/release.yml b/.github/release.yml
index 03483f9197..c549ead475 100644
--- a/.github/release.yml
+++ b/.github/release.yml
@@ -1,41 +1,33 @@
changelog:
categories:
- - title: ⚠️ Breaking Changes
+ - title: 🚨 Breaking Changes
labels:
- - breaking-change
+ - changelog:breaking-change
- - title: 🗄️ Server
+ - title: 🫥 Deprecated Changes
labels:
- - 🗄️server
+ - changelog:deprecated
- - title: 📱 Mobile
+ - title: 🔒 Security
labels:
- - 📱mobile
+ - changelog:security
- - title: 🖥️ Web
+ - title: 🚀 Features
labels:
- - 🖥️web
+ - changelog:feature
- - title: 🧠 Machine Learning
+ - title: 🌟 Enhancements
labels:
- - 🧠machine-learning
+ - changelog:enhancement
- - title: ⚡ CLI
+ - title: 🐛 Bug fixes
labels:
- - cli
+ - changelog:bugfix
- - title: 📓 Documentation
+ - title: 📚 Documentation
labels:
- - documentation
+ - changelog:documentation
- - title: 🔨 Maintenance
+ - title: 🌐 Translations
labels:
- - deployment
- - dependencies
- - renovate
- - maintenance
- - tech-debt
-
- - title: Other changes
- labels:
- - "*"
+ - changelog:translation
diff --git a/.github/workflows/build-mobile.yml b/.github/workflows/build-mobile.yml
index 948f67e3d4..c12b6e607a 100644
--- a/.github/workflows/build-mobile.yml
+++ b/.github/workflows/build-mobile.yml
@@ -16,10 +16,28 @@ concurrency:
cancel-in-progress: true
jobs:
+ pre-job:
+ runs-on: ubuntu-latest
+ outputs:
+ should_run: ${{ steps.found_paths.outputs.mobile == 'true' || steps.should_force.outputs.should_force == 'true' }}
+ steps:
+ - name: Checkout code
+ uses: actions/checkout@v4
+ - id: found_paths
+ uses: dorny/paths-filter@v3
+ with:
+ filters: |
+ mobile:
+ - 'mobile/**'
+ - name: Check if we should force jobs to run
+ id: should_force
+ run: echo "should_force=${{ github.event_name == 'workflow_call' || github.event_name == 'workflow_dispatch' }}" >> "$GITHUB_OUTPUT"
+
build-sign-android:
name: Build and sign Android
+ needs: pre-job
# Skip when PR from a fork
- if: ${{ !github.event.pull_request.head.repo.fork && github.actor != 'dependabot[bot]' }}
+ if: ${{ !github.event.pull_request.head.repo.fork && github.actor != 'dependabot[bot]' && needs.pre-job.outputs.should_run == 'true' }}
runs-on: macos-14
steps:
diff --git a/.github/workflows/cli.yml b/.github/workflows/cli.yml
index 691bfdcce8..7052fa6ef9 100644
--- a/.github/workflows/cli.yml
+++ b/.github/workflows/cli.yml
@@ -22,7 +22,7 @@ permissions:
jobs:
publish:
- name: Publish
+ name: CLI Publish
runs-on: ubuntu-latest
defaults:
run:
@@ -59,7 +59,7 @@ jobs:
uses: docker/setup-qemu-action@v3.2.0
- name: Set up Docker Buildx
- uses: docker/setup-buildx-action@v3.6.1
+ uses: docker/setup-buildx-action@v3.7.1
- name: Login to GitHub Container Registry
uses: docker/login-action@v3
@@ -88,7 +88,7 @@ jobs:
type=raw,value=latest,enable=${{ github.event_name == 'release' }}
- name: Build and push image
- uses: docker/build-push-action@v6.5.0
+ uses: docker/build-push-action@v6.9.0
with:
file: cli/Dockerfile
platforms: linux/amd64,linux/arm64
diff --git a/.github/workflows/docker-cleanup.yml b/.github/workflows/docker-cleanup.yml
index bd0ec91d14..29b518e0a5 100644
--- a/.github/workflows/docker-cleanup.yml
+++ b/.github/workflows/docker-cleanup.yml
@@ -22,7 +22,7 @@ concurrency:
jobs:
cleanup-images:
name: Cleanup Stale Images Tags for ${{ matrix.primary-name }}
- runs-on: ubuntu-22.04
+ runs-on: ubuntu-24.04
strategy:
fail-fast: false
matrix:
@@ -35,7 +35,7 @@ jobs:
steps:
- name: Clean temporary images
if: "${{ env.TOKEN != '' }}"
- uses: stumpylog/image-cleaner-action/ephemeral@v0.8.0
+ uses: stumpylog/image-cleaner-action/ephemeral@v0.9.0
with:
token: "${{ env.TOKEN }}"
owner: "immich-app"
@@ -48,7 +48,7 @@ jobs:
cleanup-untagged-images:
name: Cleanup Untagged Images Tags for ${{ matrix.primary-name }}
- runs-on: ubuntu-22.04
+ runs-on: ubuntu-24.04
needs:
- cleanup-images
strategy:
@@ -64,7 +64,7 @@ jobs:
steps:
- name: Clean untagged images
if: "${{ env.TOKEN != '' }}"
- uses: stumpylog/image-cleaner-action/untagged@v0.8.0
+ uses: stumpylog/image-cleaner-action/untagged@v0.9.0
with:
token: "${{ env.TOKEN }}"
owner: "immich-app"
diff --git a/.github/workflows/docker.yml b/.github/workflows/docker.yml
index 0cf2668ec5..034fbe0008 100644
--- a/.github/workflows/docker.yml
+++ b/.github/workflows/docker.yml
@@ -17,47 +17,106 @@ permissions:
packages: write
jobs:
- build_and_push:
- name: Build and Push
+ pre-job:
runs-on: ubuntu-latest
+ outputs:
+ should_run_server: ${{ steps.found_paths.outputs.server == 'true' || steps.should_force.outputs.should_force == 'true' }}
+ should_run_ml: ${{ steps.found_paths.outputs.machine-learning == 'true' || steps.should_force.outputs.should_force == 'true' }}
+ steps:
+ - name: Checkout code
+ uses: actions/checkout@v4
+ - id: found_paths
+ uses: dorny/paths-filter@v3
+ with:
+ filters: |
+ server:
+ - 'server/**'
+ - 'openapi/**'
+ - 'web/**'
+ - 'i18n/**'
+ machine-learning:
+ - 'machine-learning/**'
+
+ - name: Check if we should force jobs to run
+ id: should_force
+ run: echo "should_force=${{ github.event_name == 'workflow_dispatch' || github.event_name == 'release' }}" >> "$GITHUB_OUTPUT"
+
+ retag_ml:
+ name: Re-Tag ML
+ needs: pre-job
+ if: ${{ needs.pre-job.outputs.should_run_ml == 'false' && !github.event.pull_request.head.repo.fork }}
+ runs-on: ubuntu-latest
+ strategy:
+ matrix:
+ suffix: ["", "-cuda", "-openvino", "-armnn"]
+ steps:
+ - name: Login to GitHub Container Registry
+ uses: docker/login-action@v3
+ with:
+ registry: ghcr.io
+ username: ${{ github.repository_owner }}
+ password: ${{ secrets.GITHUB_TOKEN }}
+ - name: Re-tag image
+ run: |
+ REGISTRY_NAME="ghcr.io"
+ REPOSITORY=${{ github.repository_owner }}/immich-machine-learning
+ TAG_OLD=main${{ matrix.suffix }}
+ TAG_NEW=${{ github.event.number == 0 && github.ref_name || format('pr-{0}', github.event.number) }}${{ matrix.suffix }}
+ docker buildx imagetools create -t $REGISTRY_NAME/$REPOSITORY:$TAG_NEW $REGISTRY_NAME/$REPOSITORY:$TAG_OLD
+
+ retag_server:
+ name: Re-Tag Server
+ needs: pre-job
+ if: ${{ needs.pre-job.outputs.should_run_server == 'false' && !github.event.pull_request.head.repo.fork }}
+ runs-on: ubuntu-latest
+ strategy:
+ matrix:
+ suffix: [""]
+ steps:
+ - name: Login to GitHub Container Registry
+ uses: docker/login-action@v3
+ with:
+ registry: ghcr.io
+ username: ${{ github.repository_owner }}
+ password: ${{ secrets.GITHUB_TOKEN }}
+ - name: Re-tag image
+ run: |
+ REGISTRY_NAME="ghcr.io"
+ REPOSITORY=${{ github.repository_owner }}/immich-server
+ TAG_OLD=main${{ matrix.suffix }}
+ TAG_NEW=${{ github.event.number == 0 && github.ref_name || format('pr-{0}', github.event.number) }}${{ matrix.suffix }}
+ docker buildx imagetools create -t $REGISTRY_NAME/$REPOSITORY:$TAG_NEW $REGISTRY_NAME/$REPOSITORY:$TAG_OLD
+
+
+ build_and_push_ml:
+ name: Build and Push ML
+ needs: pre-job
+ if: ${{ needs.pre-job.outputs.should_run_ml == 'true' }}
+ runs-on: ubuntu-latest
+ env:
+ image: immich-machine-learning
+ context: machine-learning
+ file: machine-learning/Dockerfile
strategy:
# Prevent a failure in one image from stopping the other builds
fail-fast: false
matrix:
include:
- - image: immich-machine-learning
- context: machine-learning
- file: machine-learning/Dockerfile
- platforms: linux/amd64,linux/arm64
+ - platforms: linux/amd64,linux/arm64
device: cpu
- - image: immich-machine-learning
- context: machine-learning
- file: machine-learning/Dockerfile
- platforms: linux/amd64
+ - platforms: linux/amd64
device: cuda
suffix: -cuda
- - image: immich-machine-learning
- context: machine-learning
- file: machine-learning/Dockerfile
- platforms: linux/amd64
+ - platforms: linux/amd64
device: openvino
suffix: -openvino
- - image: immich-machine-learning
- context: machine-learning
- file: machine-learning/Dockerfile
- platforms: linux/arm64
+ - platforms: linux/arm64
device: armnn
suffix: -armnn
- - image: immich-server
- context: .
- file: server/Dockerfile
- platforms: linux/amd64,linux/arm64
- device: cpu
-
steps:
- name: Checkout
uses: actions/checkout@v4
@@ -66,7 +125,7 @@ jobs:
uses: docker/setup-qemu-action@v3.2.0
- name: Set up Docker Buildx
- uses: docker/setup-buildx-action@v3.6.1
+ uses: docker/setup-buildx-action@v3.7.1
- name: Login to Docker Hub
# Only push to Docker Hub when making a release
@@ -93,8 +152,8 @@ jobs:
# Disable latest tag
latest=false
images: |
- name=ghcr.io/${{ github.repository_owner }}/${{matrix.image}}
- name=altran1502/${{matrix.image}},enable=${{ github.event_name == 'release' }}
+ name=ghcr.io/${{ github.repository_owner }}/${{env.image}}
+ name=altran1502/${{env.image}},enable=${{ github.event_name == 'release' }}
tags: |
# Tag with branch name
type=ref,event=branch,suffix=${{ matrix.suffix }}
@@ -111,18 +170,18 @@ jobs:
# Essentially just ignore the cache output (PR can't write to registry cache)
echo "cache-to=type=local,dest=/tmp/discard,ignore-error=true" >> $GITHUB_OUTPUT
else
- echo "cache-to=type=registry,mode=max,ref=ghcr.io/${{ github.repository_owner }}/immich-build-cache:${{ matrix.image }}" >> $GITHUB_OUTPUT
+ echo "cache-to=type=registry,mode=max,ref=ghcr.io/${{ github.repository_owner }}/immich-build-cache:${{ env.image }}" >> $GITHUB_OUTPUT
fi
- name: Build and push image
- uses: docker/build-push-action@v6.5.0
+ uses: docker/build-push-action@v6.9.0
with:
- context: ${{ matrix.context }}
- file: ${{ matrix.file }}
+ context: ${{ env.context }}
+ file: ${{ env.file }}
platforms: ${{ matrix.platforms }}
# Skip pushing when PR from a fork
push: ${{ !github.event.pull_request.head.repo.fork }}
- cache-from: type=registry,ref=ghcr.io/${{ github.repository_owner }}/immich-build-cache:${{matrix.image}}
+ cache-from: type=registry,ref=ghcr.io/${{ github.repository_owner }}/immich-build-cache:${{env.image}}
cache-to: ${{ steps.cache-target.outputs.cache-to }}
tags: ${{ steps.metadata.outputs.tags }}
labels: ${{ steps.metadata.outputs.labels }}
@@ -132,3 +191,120 @@ jobs:
BUILD_IMAGE=${{ github.event_name == 'release' && github.ref_name || steps.metadata.outputs.tags }}
BUILD_SOURCE_REF=${{ github.ref_name }}
BUILD_SOURCE_COMMIT=${{ github.sha }}
+
+
+ build_and_push_server:
+ name: Build and Push Server
+ runs-on: ubuntu-latest
+ needs: pre-job
+ if: ${{ needs.pre-job.outputs.should_run_server == 'true' }}
+ env:
+ image: immich-server
+ context: .
+ file: server/Dockerfile
+ strategy:
+ fail-fast: false
+ matrix:
+ include:
+ - platforms: linux/amd64,linux/arm64
+ device: cpu
+ steps:
+ - name: Checkout
+ uses: actions/checkout@v4
+
+ - name: Set up QEMU
+ uses: docker/setup-qemu-action@v3.2.0
+
+ - name: Set up Docker Buildx
+ uses: docker/setup-buildx-action@v3.7.1
+
+ - name: Login to Docker Hub
+ # Only push to Docker Hub when making a release
+ if: ${{ github.event_name == 'release' }}
+ uses: docker/login-action@v3
+ with:
+ username: ${{ secrets.DOCKERHUB_USERNAME }}
+ password: ${{ secrets.DOCKERHUB_TOKEN }}
+
+ - name: Login to GitHub Container Registry
+ uses: docker/login-action@v3
+ # Skip when PR from a fork
+ if: ${{ !github.event.pull_request.head.repo.fork }}
+ with:
+ registry: ghcr.io
+ username: ${{ github.repository_owner }}
+ password: ${{ secrets.GITHUB_TOKEN }}
+
+ - name: Generate docker image tags
+ id: metadata
+ uses: docker/metadata-action@v5
+ with:
+ flavor: |
+ # Disable latest tag
+ latest=false
+ images: |
+ name=ghcr.io/${{ github.repository_owner }}/${{env.image}}
+ name=altran1502/${{env.image}},enable=${{ github.event_name == 'release' }}
+ tags: |
+ # Tag with branch name
+ type=ref,event=branch,suffix=${{ matrix.suffix }}
+ # Tag with pr-number
+ type=ref,event=pr,suffix=${{ matrix.suffix }}
+ # Tag with git tag on release
+ type=ref,event=tag,suffix=${{ matrix.suffix }}
+ type=raw,value=release,enable=${{ github.event_name == 'release' }},suffix=${{ matrix.suffix }}
+
+ - name: Determine build cache output
+ id: cache-target
+ run: |
+ if [[ "${{ github.event_name }}" == "pull_request" ]]; then
+ # Essentially just ignore the cache output (PR can't write to registry cache)
+ echo "cache-to=type=local,dest=/tmp/discard,ignore-error=true" >> $GITHUB_OUTPUT
+ else
+ echo "cache-to=type=registry,mode=max,ref=ghcr.io/${{ github.repository_owner }}/immich-build-cache:${{ env.image }}" >> $GITHUB_OUTPUT
+ fi
+
+ - name: Build and push image
+ uses: docker/build-push-action@v6.9.0
+ with:
+ context: ${{ env.context }}
+ file: ${{ env.file }}
+ platforms: ${{ matrix.platforms }}
+ # Skip pushing when PR from a fork
+ push: ${{ !github.event.pull_request.head.repo.fork }}
+ cache-from: type=registry,ref=ghcr.io/${{ github.repository_owner }}/immich-build-cache:${{env.image}}
+ cache-to: ${{ steps.cache-target.outputs.cache-to }}
+ tags: ${{ steps.metadata.outputs.tags }}
+ labels: ${{ steps.metadata.outputs.labels }}
+ build-args: |
+ DEVICE=${{ matrix.device }}
+ BUILD_ID=${{ github.run_id }}
+ BUILD_IMAGE=${{ github.event_name == 'release' && github.ref_name || steps.metadata.outputs.tags }}
+ BUILD_SOURCE_REF=${{ github.ref_name }}
+ BUILD_SOURCE_COMMIT=${{ github.sha }}
+
+ success-check-server:
+ name: Docker Build & Push Server Success
+ needs: [build_and_push_server, retag_server]
+ runs-on: ubuntu-latest
+ if: always()
+ steps:
+ - name: Any jobs failed?
+ if: ${{ contains(needs.*.result, 'failure') }}
+ run: exit 1
+ - name: All jobs passed or skipped
+ if: ${{ !(contains(needs.*.result, 'failure')) }}
+ run: echo "All jobs passed or skipped" && echo "${{ toJSON(needs.*.result) }}"
+
+ success-check-ml:
+ name: Docker Build & Push ML Success
+ needs: [build_and_push_ml, retag_ml]
+ runs-on: ubuntu-latest
+ if: always()
+ steps:
+ - name: Any jobs failed?
+ if: ${{ contains(needs.*.result, 'failure') }}
+ run: exit 1
+ - name: All jobs passed or skipped
+ if: ${{ !(contains(needs.*.result, 'failure')) }}
+ run: echo "All jobs passed or skipped" && echo "${{ toJSON(needs.*.result) }}"
diff --git a/.github/workflows/docs-build.yml b/.github/workflows/docs-build.yml
index 32e9dc399a..efb84d510e 100644
--- a/.github/workflows/docs-build.yml
+++ b/.github/workflows/docs-build.yml
@@ -2,12 +2,8 @@ name: Docs build
on:
push:
branches: [main]
- paths:
- - "docs/**"
pull_request:
branches: [main]
- paths:
- - "docs/**"
release:
types: [published]
@@ -16,7 +12,27 @@ concurrency:
cancel-in-progress: true
jobs:
+ pre-job:
+ runs-on: ubuntu-latest
+ outputs:
+ should_run: ${{ steps.found_paths.outputs.docs == 'true' || steps.should_force.outputs.should_force == 'true' }}
+ steps:
+ - name: Checkout code
+ uses: actions/checkout@v4
+ - id: found_paths
+ uses: dorny/paths-filter@v3
+ with:
+ filters: |
+ docs:
+ - 'docs/**'
+ - name: Check if we should force jobs to run
+ id: should_force
+ run: echo "should_force=${{ github.event_name == 'release' || github.ref_name == 'main' }}" >> "$GITHUB_OUTPUT"
+
build:
+ name: Docs Build
+ needs: pre-job
+ if: ${{ needs.pre-job.outputs.should_run == 'true' }}
runs-on: ubuntu-latest
defaults:
run:
diff --git a/.github/workflows/docs-deploy.yml b/.github/workflows/docs-deploy.yml
index 62f213eb2a..ab197fa459 100644
--- a/.github/workflows/docs-deploy.yml
+++ b/.github/workflows/docs-deploy.yml
@@ -7,13 +7,32 @@ on:
jobs:
checks:
+ name: Docs Deploy Checks
runs-on: ubuntu-latest
outputs:
parameters: ${{ steps.parameters.outputs.result }}
+ artifact: ${{ steps.get-artifact.outputs.result }}
steps:
- - if: ${{ github.event.workflow_run.conclusion == 'failure' }}
- run: echo 'The triggering workflow failed' && exit 1
-
+ - if: ${{ github.event.workflow_run.conclusion != 'success' }}
+ run: echo 'The triggering workflow did not succeed' && exit 1
+ - name: Get artifact
+ id: get-artifact
+ uses: actions/github-script@v7
+ with:
+ script: |
+ let allArtifacts = await github.rest.actions.listWorkflowRunArtifacts({
+ owner: context.repo.owner,
+ repo: context.repo.repo,
+ run_id: context.payload.workflow_run.id,
+ });
+ let matchArtifact = allArtifacts.data.artifacts.filter((artifact) => {
+ return artifact.name == "docs-build-output"
+ })[0];
+ if (!matchArtifact) {
+ console.log("No artifact found with the name docs-build-output, build job was skipped")
+ return { found: false };
+ }
+ return { found: true, id: matchArtifact.id };
- name: Determine deploy parameters
id: parameters
uses: actions/github-script@v7
@@ -73,9 +92,10 @@ jobs:
return parameters;
deploy:
+ name: Docs Deploy
runs-on: ubuntu-latest
needs: checks
- if: ${{ fromJson(needs.checks.outputs.parameters).shouldDeploy }}
+ if: ${{ fromJson(needs.checks.outputs.artifact).found && fromJson(needs.checks.outputs.parameters).shouldDeploy }}
steps:
- name: Checkout code
uses: actions/checkout@v4
@@ -98,18 +118,11 @@ jobs:
uses: actions/github-script@v7
with:
script: |
- let allArtifacts = await github.rest.actions.listWorkflowRunArtifacts({
- owner: context.repo.owner,
- repo: context.repo.repo,
- run_id: context.payload.workflow_run.id,
- });
- let matchArtifact = allArtifacts.data.artifacts.filter((artifact) => {
- return artifact.name == "docs-build-output"
- })[0];
+ let artifact = ${{ needs.checks.outputs.artifact }};
let download = await github.rest.actions.downloadArtifact({
owner: context.repo.owner,
repo: context.repo.repo,
- artifact_id: matchArtifact.id,
+ artifact_id: artifact.id,
archive_format: 'zip',
});
let fs = require('fs');
diff --git a/.github/workflows/docs-destroy.yml b/.github/workflows/docs-destroy.yml
index 861a6319fe..f9e69b135a 100644
--- a/.github/workflows/docs-destroy.yml
+++ b/.github/workflows/docs-destroy.yml
@@ -5,6 +5,7 @@ on:
jobs:
deploy:
+ name: Docs Destroy
runs-on: ubuntu-latest
steps:
- name: Checkout code
@@ -22,7 +23,7 @@ jobs:
tg_version: "0.58.12"
tofu_version: "1.7.1"
tg_dir: "deployment/modules/cloudflare/docs"
- tg_command: "destroy"
+ tg_command: "destroy -refresh=false"
- name: Comment
uses: actions-cool/maintain-one-comment@v3
diff --git a/.github/workflows/fix-format.yml b/.github/workflows/fix-format.yml
new file mode 100644
index 0000000000..0c630c9e4b
--- /dev/null
+++ b/.github/workflows/fix-format.yml
@@ -0,0 +1,52 @@
+name: Fix formatting
+
+on:
+ pull_request:
+ types: [labeled]
+
+jobs:
+ fix-formatting:
+ runs-on: ubuntu-latest
+ if: ${{ github.event.label.name == 'fix:formatting' }}
+ permissions:
+ pull-requests: write
+ steps:
+ - name: Generate a token
+ id: generate-token
+ uses: actions/create-github-app-token@v1
+ with:
+ app-id: ${{ secrets.PUSH_O_MATIC_APP_ID }}
+ private-key: ${{ secrets.PUSH_O_MATIC_APP_KEY }}
+
+ - name: 'Checkout'
+ uses: actions/checkout@v4
+ with:
+ ref: ${{ github.event.pull_request.head.ref }}
+ token: ${{ steps.generate-token.outputs.token }}
+
+ - name: Setup Node
+ uses: actions/setup-node@v4
+ with:
+ node-version-file: './server/.nvmrc'
+
+ - name: Fix formatting
+ run: make install-all && make format-all
+
+ - name: Commit and push
+ uses: EndBug/add-and-commit@v9
+ with:
+ default_author: github_actions
+ message: 'chore: fix formatting'
+
+ - name: Remove label
+ uses: actions/github-script@v7
+ if: always()
+ with:
+ script: |
+ github.rest.issues.removeLabel({
+ issue_number: context.payload.pull_request.number,
+ owner: context.repo.owner,
+ repo: context.repo.repo,
+ name: 'fix:formatting'
+ })
+
diff --git a/.github/workflows/pr-label-validation.yml b/.github/workflows/pr-label-validation.yml
new file mode 100644
index 0000000000..754d409613
--- /dev/null
+++ b/.github/workflows/pr-label-validation.yml
@@ -0,0 +1,21 @@
+name: PR Label Validation
+
+on:
+ pull_request_target:
+ types: [opened, labeled, unlabeled, synchronize]
+
+jobs:
+ validate-release-label:
+ runs-on: ubuntu-latest
+ permissions:
+ issues: write
+ pull-requests: write
+ steps:
+ - name: Require PR to have a changelog label
+ uses: mheap/github-action-required-labels@v5
+ with:
+ mode: exactly
+ count: 1
+ use_regex: true
+ labels: "changelog:.*"
+ add_comment: true
diff --git a/.github/workflows/prepare-release.yml b/.github/workflows/prepare-release.yml
index 9d50f6f8f9..fc03b24d08 100644
--- a/.github/workflows/prepare-release.yml
+++ b/.github/workflows/prepare-release.yml
@@ -29,10 +29,17 @@ jobs:
ref: ${{ steps.push-tag.outputs.commit_long_sha }}
steps:
+ - name: Generate a token
+ id: generate-token
+ uses: actions/create-github-app-token@v1
+ with:
+ app-id: ${{ secrets.PUSH_O_MATIC_APP_ID }}
+ private-key: ${{ secrets.PUSH_O_MATIC_APP_KEY }}
+
- name: Checkout
uses: actions/checkout@v4
with:
- token: ${{ secrets.ORG_RELEASE_TOKEN }}
+ token: ${{ steps.generate-token.outputs.token }}
- name: Install Poetry
run: pipx install poetry
@@ -44,10 +51,8 @@ jobs:
id: push-tag
uses: EndBug/add-and-commit@v9
with:
- author_name: Alex The Bot
- author_email: alex.tran1502@gmail.com
- default_author: user_info
- message: 'Version ${{ env.IMMICH_VERSION }}'
+ default_author: github_actions
+ message: 'chore: version ${{ env.IMMICH_VERSION }}'
tag: ${{ env.IMMICH_VERSION }}
push: true
diff --git a/.github/workflows/static_analysis.yml b/.github/workflows/static_analysis.yml
index 27392a12bd..196f8faf59 100644
--- a/.github/workflows/static_analysis.yml
+++ b/.github/workflows/static_analysis.yml
@@ -10,8 +10,27 @@ concurrency:
cancel-in-progress: true
jobs:
+ pre-job:
+ runs-on: ubuntu-latest
+ outputs:
+ should_run: ${{ steps.found_paths.outputs.mobile == 'true' || steps.should_force.outputs.should_force == 'true' }}
+ steps:
+ - name: Checkout code
+ uses: actions/checkout@v4
+ - id: found_paths
+ uses: dorny/paths-filter@v3
+ with:
+ filters: |
+ mobile:
+ - 'mobile/**'
+ - name: Check if we should force jobs to run
+ id: should_force
+ run: echo "should_force=${{ github.event_name == 'release' }}" >> "$GITHUB_OUTPUT"
+
mobile-dart-analyze:
name: Run Dart Code Analysis
+ needs: pre-job
+ if: ${{ needs.pre-job.outputs.should_run == 'true' }}
runs-on: ubuntu-latest
@@ -37,6 +56,10 @@ jobs:
run: dart format lib/ --set-exit-if-changed
working-directory: ./mobile
+ - name: Run dart custom_lint
+ run: dart run custom_lint
+ working-directory: ./mobile
+
# Enable after riverpod generator migration is completed
# - name: Run dart custom lint
# run: dart run custom_lint
diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml
index 34a9d984a0..52e0ba7b07 100644
--- a/.github/workflows/test.yml
+++ b/.github/workflows/test.yml
@@ -10,8 +10,48 @@ concurrency:
cancel-in-progress: true
jobs:
+ pre-job:
+ runs-on: ubuntu-latest
+ outputs:
+ should_run_web: ${{ steps.found_paths.outputs.web == 'true' || steps.should_force.outputs.should_force == 'true' }}
+ should_run_server: ${{ steps.found_paths.outputs.server == 'true' || steps.should_force.outputs.should_force == 'true' }}
+ should_run_cli: ${{ steps.found_paths.outputs.cli == 'true' || steps.should_force.outputs.should_force == 'true' }}
+ should_run_e2e: ${{ steps.found_paths.outputs.e2e == 'true' || steps.should_force.outputs.should_force == 'true' }}
+ should_run_mobile: ${{ steps.found_paths.outputs.mobile == 'true' || steps.should_force.outputs.should_force == 'true' }}
+ should_run_ml: ${{ steps.found_paths.outputs.machine-learning == 'true' || steps.should_force.outputs.should_force == 'true' }}
+ should_run_e2e_web: ${{ steps.found_paths.outputs.e2e == 'true' || steps.found_paths.outputs.web == 'true' || steps.should_force.outputs.should_force == 'true' }}
+ should_run_e2e_server_cli: ${{ steps.found_paths.outputs.e2e == 'true' || steps.found_paths.outputs.server == 'true' || steps.found_paths.outputs.cli == 'true' || steps.should_force.outputs.should_force == 'true' }}
+ steps:
+ - name: Checkout code
+ uses: actions/checkout@v4
+ - id: found_paths
+ uses: dorny/paths-filter@v3
+ with:
+ filters: |
+ web:
+ - 'web/**'
+ - 'i18n/**'
+ - 'open-api/typescript-sdk/**'
+ server:
+ - 'server/**'
+ cli:
+ - 'cli/**'
+ - 'open-api/typescript-sdk/**'
+ e2e:
+ - 'e2e/**'
+ mobile:
+ - 'mobile/**'
+ machine-learning:
+ - 'machine-learning/**'
+
+ - name: Check if we should force jobs to run
+ id: should_force
+ run: echo "should_force=${{ github.event_name == 'workflow_dispatch' }}" >> "$GITHUB_OUTPUT"
+
server-unit-tests:
- name: Server
+ name: Test & Lint Server
+ needs: pre-job
+ if: ${{ needs.pre-job.outputs.should_run_server == 'true' }}
runs-on: ubuntu-latest
defaults:
run:
@@ -41,12 +81,14 @@ jobs:
run: npm run check
if: ${{ !cancelled() }}
- - name: Run unit tests & coverage
+ - name: Run small tests & coverage
run: npm run test:cov
if: ${{ !cancelled() }}
cli-unit-tests:
- name: CLI
+ name: Unit Test CLI
+ needs: pre-job
+ if: ${{ needs.pre-job.outputs.should_run_cli == 'true' }}
runs-on: ubuntu-latest
defaults:
run:
@@ -85,7 +127,9 @@ jobs:
if: ${{ !cancelled() }}
cli-unit-tests-win:
- name: CLI (Windows)
+ name: Unit Test CLI (Windows)
+ needs: pre-job
+ if: ${{ needs.pre-job.outputs.should_run_cli == 'true' }}
runs-on: windows-latest
defaults:
run:
@@ -117,7 +161,9 @@ jobs:
if: ${{ !cancelled() }}
web-unit-tests:
- name: Web
+ name: Test & Lint Web
+ needs: pre-job
+ if: ${{ needs.pre-job.outputs.should_run_web == 'true' }}
runs-on: ubuntu-latest
defaults:
run:
@@ -159,13 +205,74 @@ jobs:
run: npm run test:cov
if: ${{ !cancelled() }}
- e2e-tests:
- name: End-to-End Tests
+ e2e-tests-lint:
+ name: End-to-End Lint
+ needs: pre-job
+ if: ${{ needs.pre-job.outputs.should_run_e2e == 'true' }}
runs-on: ubuntu-latest
defaults:
run:
working-directory: ./e2e
+ steps:
+ - name: Checkout code
+ uses: actions/checkout@v4
+
+ - name: Setup Node
+ uses: actions/setup-node@v4
+ with:
+ node-version-file: './e2e/.nvmrc'
+
+ - name: Run setup typescript-sdk
+ run: npm ci && npm run build
+ working-directory: ./open-api/typescript-sdk
+ if: ${{ !cancelled() }}
+
+ - name: Install dependencies
+ run: npm ci
+ if: ${{ !cancelled() }}
+
+ - name: Run linter
+ run: npm run lint
+ if: ${{ !cancelled() }}
+
+ - name: Run formatter
+ run: npm run format
+ if: ${{ !cancelled() }}
+
+ - name: Run tsc
+ run: npm run check
+ if: ${{ !cancelled() }}
+
+ medium-tests-server:
+ name: Medium Tests (Server)
+ needs: pre-job
+ if: ${{ needs.pre-job.outputs.should_run_server == 'true' }}
+ runs-on: mich
+
+ steps:
+ - name: Checkout code
+ uses: actions/checkout@v4
+ with:
+ submodules: 'recursive'
+
+ - name: Production build
+ if: ${{ !cancelled() }}
+ run: docker compose -f e2e/docker-compose.yml build
+
+ - name: Run medium tests
+ if: ${{ !cancelled() }}
+ run: make test-medium
+
+ e2e-tests-server-cli:
+ name: End-to-End Tests (Server & CLI)
+ needs: pre-job
+ if: ${{ needs.pre-job.outputs.should_run_e2e_server_cli == 'true' }}
+ runs-on: mich
+ defaults:
+ run:
+ working-directory: ./e2e
+
steps:
- name: Checkout code
uses: actions/checkout@v4
@@ -191,16 +298,41 @@ jobs:
run: npm ci
if: ${{ !cancelled() }}
- - name: Run linter
- run: npm run lint
+ - name: Docker build
+ run: docker compose build
if: ${{ !cancelled() }}
- - name: Run formatter
- run: npm run format
+ - name: Run e2e tests (api & cli)
+ run: npm run test
if: ${{ !cancelled() }}
- - name: Run tsc
- run: npm run check
+ e2e-tests-web:
+ name: End-to-End Tests (Web)
+ needs: pre-job
+ if: ${{ needs.pre-job.outputs.should_run_e2e_web == 'true' }}
+ runs-on: mich
+ defaults:
+ run:
+ working-directory: ./e2e
+
+ steps:
+ - name: Checkout code
+ uses: actions/checkout@v4
+ with:
+ submodules: 'recursive'
+
+ - name: Setup Node
+ uses: actions/setup-node@v4
+ with:
+ node-version-file: './e2e/.nvmrc'
+
+ - name: Run setup typescript-sdk
+ run: npm ci && npm run build
+ working-directory: ./open-api/typescript-sdk
+ if: ${{ !cancelled() }}
+
+ - name: Install dependencies
+ run: npm ci
if: ${{ !cancelled() }}
- name: Install Playwright Browsers
@@ -211,16 +343,14 @@ jobs:
run: docker compose build
if: ${{ !cancelled() }}
- - name: Run e2e tests (api & cli)
- run: npm run test
- if: ${{ !cancelled() }}
-
- name: Run e2e tests (web)
run: npx playwright test
if: ${{ !cancelled() }}
mobile-unit-tests:
- name: Mobile
+ name: Unit Test Mobile
+ needs: pre-job
+ if: ${{ needs.pre-job.outputs.should_run_mobile == 'true' }}
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
@@ -234,7 +364,9 @@ jobs:
run: flutter test -j 1
ml-unit-tests:
- name: Machine Learning
+ name: Unit Test ML
+ needs: pre-job
+ if: ${{ needs.pre-job.outputs.should_run_ml == 'true' }}
runs-on: ubuntu-latest
defaults:
run:
diff --git a/.gitignore b/.gitignore
index 537e048be2..e0544ad8d5 100644
--- a/.gitignore
+++ b/.gitignore
@@ -21,3 +21,5 @@ mobile/openapi/.openapi-generator/FILES
open-api/typescript-sdk/build
mobile/android/fastlane/report.xml
mobile/ios/fastlane/report.xml
+
+vite.config.js.timestamp-*
diff --git a/.gitmodules b/.gitmodules
index 8c4cc4e205..d417dc5ba8 100644
--- a/.gitmodules
+++ b/.gitmodules
@@ -1,6 +1,6 @@
[submodule "mobile/.isar"]
path = mobile/.isar
url = https://github.com/isar/isar
-[submodule "server/test/assets"]
+[submodule "e2e/test-assets"]
path = e2e/test-assets
url = https://github.com/immich-app/test-assets
diff --git a/.vscode/launch.json b/.vscode/launch.json
index 7a88b7f3e1..ed3da9f667 100644
--- a/.vscode/launch.json
+++ b/.vscode/launch.json
@@ -5,8 +5,8 @@
"type": "node",
"request": "attach",
"restart": true,
- "port": 9230,
- "name": "Immich Server",
+ "port": 9231,
+ "name": "Immich API Server",
"remoteRoot": "/usr/src/app",
"localRoot": "${workspaceFolder}/server"
},
@@ -14,8 +14,8 @@
"type": "node",
"request": "attach",
"restart": true,
- "port": 9231,
- "name": "Immich Microservices",
+ "port": 9230,
+ "name": "Immich Workers",
"remoteRoot": "/usr/src/app",
"localRoot": "${workspaceFolder}/server"
}
diff --git a/Makefile b/Makefile
index 349a5c5e92..2096cf86df 100644
--- a/Makefile
+++ b/Makefile
@@ -66,6 +66,18 @@ test-e2e:
docker compose -f ./e2e/docker-compose.yml build
npm --prefix e2e run test
npm --prefix e2e run test:web
+test-medium:
+ docker run \
+ --rm \
+ -v ./server/src:/usr/src/app/src \
+ -v ./server/test:/usr/src/app/test \
+ -v ./server/vitest.config.medium.mjs:/usr/src/app/vitest.config.medium.mjs \
+ -v ./server/tsconfig.json:/usr/src/app/tsconfig.json \
+ -e NODE_ENV=development \
+ immich-server:latest \
+ -c "npm ci && npm run test:medium -- --run"
+test-medium-dev:
+ docker exec -it immich_server /bin/sh -c "npm run test:medium"
build-all: $(foreach M,$(MODULES),build-$M) ;
install-all: $(foreach M,$(MODULES),install-$M) ;
diff --git a/README.md b/README.md
index 8585457707..0c7b1252ab 100644
--- a/README.md
+++ b/README.md
@@ -17,23 +17,24 @@
+
- -Català -Español -Français -Italiano -日本語 -한국어 -Deutsch -Nederlands -Türkçe -中文 -Русский -Português Brasileiro -Svenska -العربية - + Català + Español + Français + Italiano + 日本語 + 한국어 + Deutsch + Nederlands + Türkçe + 中文 + Русский + Português Brasileiro + Svenska + العربية + Tiếng Việt + ภาษาไทย
## Disclaimer @@ -92,7 +93,7 @@ For the mobile app, you can use `https://demo.immich.app/api` for the `Server En | LivePhoto/MotionPhoto backup and playback | Yes | Yes | | Support 360 degree image display | No | Yes | | User-defined storage structure | Yes | Yes | -| Public Sharing | No | Yes | +| Public Sharing | Yes | Yes | | Archive and Favorites | Yes | Yes | | Global Map | Yes | Yes | | Partner Sharing | Yes | Yes | @@ -101,6 +102,8 @@ For the mobile app, you can use `https://demo.immich.app/api` for the `Server En | Offline support | Yes | No | | Read-only gallery | Yes | Yes | | Stacked Photos | Yes | Yes | +| Tags | No | Yes | +| Folder View | No | Yes | ## Translations diff --git a/cli/.eslintignore b/cli/.eslintignore deleted file mode 100644 index 9b1c8b133c..0000000000 --- a/cli/.eslintignore +++ /dev/null @@ -1 +0,0 @@ -/dist diff --git a/cli/.eslintrc.cjs b/cli/.eslintrc.cjs deleted file mode 100644 index fe8044df81..0000000000 --- a/cli/.eslintrc.cjs +++ /dev/null @@ -1,28 +0,0 @@ -module.exports = { - parser: '@typescript-eslint/parser', - parserOptions: { - project: 'tsconfig.json', - sourceType: 'module', - tsconfigRootDir: __dirname, - }, - plugins: ['@typescript-eslint/eslint-plugin'], - extends: ['plugin:@typescript-eslint/recommended', 'plugin:prettier/recommended', 'plugin:unicorn/recommended'], - root: true, - env: { - node: true, - }, - ignorePatterns: ['.eslintrc.js'], - rules: { - '@typescript-eslint/interface-name-prefix': 'off', - '@typescript-eslint/explicit-function-return-type': 'off', - '@typescript-eslint/explicit-module-boundary-types': 'off', - '@typescript-eslint/no-explicit-any': 'off', - '@typescript-eslint/no-floating-promises': 'error', - 'unicorn/prefer-module': 'off', - 'unicorn/prevent-abbreviations': 'off', - 'unicorn/no-process-exit': 'off', - 'unicorn/import-style': 'off', - curly: 2, - 'prettier/prettier': 0, - }, -}; diff --git a/cli/.nvmrc b/cli/.nvmrc index 8ce7030825..7af24b7ddb 100644 --- a/cli/.nvmrc +++ b/cli/.nvmrc @@ -1 +1 @@ -20.16.0 +22.11.0 diff --git a/cli/Dockerfile b/cli/Dockerfile index e9c8ab630c..b112382cbb 100644 --- a/cli/Dockerfile +++ b/cli/Dockerfile @@ -1,4 +1,4 @@ -FROM node:20.16.0-alpine3.20@sha256:eb8101caae9ac02229bd64c024919fe3d4504ff7f329da79ca60a04db08cef52 as core +FROM node:22.10.0-alpine3.20@sha256:fc95a044b87e95507c60c1f8c829e5d98ddf46401034932499db370c494ef0ff AS core WORKDIR /usr/src/open-api/typescript-sdk COPY open-api/typescript-sdk/package*.json open-api/typescript-sdk/tsconfig*.json ./ diff --git a/cli/README.md b/cli/README.md index a570a55239..8fa2ace483 100644 --- a/cli/README.md +++ b/cli/README.md @@ -4,8 +4,18 @@ Please see the [Immich CLI documentation](https://immich.app/docs/features/comma # For developers +Before building the CLI, you must build the immich server and the open-api client. To build the server run the following in the server folder: + + $ npm install + $ npm run build + +Then, to build the open-api client run the following in the open-api folder: + + $ ./bin/generate-open-api.sh + To run the Immich CLI from source, run the following in the cli folder: + $ npm install $ npm run build $ ts-node . @@ -17,3 +27,4 @@ You can also build and install the CLI using $ npm run build $ npm install -g . +**** diff --git a/cli/eslint.config.mjs b/cli/eslint.config.mjs new file mode 100644 index 0000000000..9115a1feb7 --- /dev/null +++ b/cli/eslint.config.mjs @@ -0,0 +1,61 @@ +import { FlatCompat } from '@eslint/eslintrc'; +import js from '@eslint/js'; +import typescriptEslint from '@typescript-eslint/eslint-plugin'; +import tsParser from '@typescript-eslint/parser'; +import globals from 'globals'; +import path from 'node:path'; +import { fileURLToPath } from 'node:url'; + +const __filename = fileURLToPath(import.meta.url); +const __dirname = path.dirname(__filename); +const compat = new FlatCompat({ + baseDirectory: __dirname, + recommendedConfig: js.configs.recommended, + allConfig: js.configs.all, +}); + +export default [ + { + ignores: ['eslint.config.mjs', 'dist'], + }, + ...compat.extends( + 'plugin:@typescript-eslint/recommended', + 'plugin:prettier/recommended', + 'plugin:unicorn/recommended', + ), + { + plugins: { + '@typescript-eslint': typescriptEslint, + }, + + languageOptions: { + globals: { + ...globals.node, + }, + + parser: tsParser, + ecmaVersion: 5, + sourceType: 'module', + + parserOptions: { + project: 'tsconfig.json', + tsconfigRootDir: __dirname, + }, + }, + + rules: { + '@typescript-eslint/interface-name-prefix': 'off', + '@typescript-eslint/explicit-function-return-type': 'off', + '@typescript-eslint/explicit-module-boundary-types': 'off', + '@typescript-eslint/no-explicit-any': 'off', + '@typescript-eslint/no-floating-promises': 'error', + 'unicorn/prefer-module': 'off', + 'unicorn/prevent-abbreviations': 'off', + 'unicorn/no-process-exit': 'off', + 'unicorn/import-style': 'off', + curly: 2, + 'prettier/prettier': 0, + 'object-shorthand': ['error', 'always'], + }, + }, +]; diff --git a/cli/package-lock.json b/cli/package-lock.json index 16a1e67a70..7f691935da 100644 --- a/cli/package-lock.json +++ b/cli/package-lock.json @@ -1,12 +1,12 @@ { "name": "@immich/cli", - "version": "2.2.13", + "version": "2.2.28", "lockfileVersion": 3, "requires": true, "packages": { "": { "name": "@immich/cli", - "version": "2.2.13", + "version": "2.2.28", "license": "GNU Affero General Public License version 3", "dependencies": { "fast-glob": "^3.3.2", @@ -17,30 +17,33 @@ "immich": "dist/index.js" }, "devDependencies": { + "@eslint/eslintrc": "^3.1.0", + "@eslint/js": "^9.8.0", "@immich/sdk": "file:../open-api/typescript-sdk", "@types/byte-size": "^8.1.0", "@types/cli-progress": "^3.11.0", "@types/lodash-es": "^4.17.12", "@types/mock-fs": "^4.13.1", - "@types/node": "^20.14.12", - "@typescript-eslint/eslint-plugin": "^7.0.0", - "@typescript-eslint/parser": "^7.0.0", + "@types/node": "^22.8.1", + "@typescript-eslint/eslint-plugin": "^8.0.0", + "@typescript-eslint/parser": "^8.0.0", "@vitest/coverage-v8": "^2.0.5", "byte-size": "^9.0.0", "cli-progress": "^3.12.0", "commander": "^12.0.0", - "eslint": "^8.56.0", + "eslint": "^9.0.0", "eslint-config-prettier": "^9.1.0", "eslint-plugin-prettier": "^5.1.3", "eslint-plugin-unicorn": "^55.0.0", + "globals": "^15.9.0", "mock-fs": "^5.2.0", "prettier": "^3.2.5", "prettier-plugin-organize-imports": "^4.0.0", "typescript": "^5.3.3", "vite": "^5.0.12", - "vite-tsconfig-paths": "^4.3.2", + "vite-tsconfig-paths": "^5.0.0", "vitest": "^2.0.5", - "vitest-fetch-mock": "^0.3.0", + "vitest-fetch-mock": "^0.4.0", "yaml": "^2.3.1" }, "engines": { @@ -49,14 +52,14 @@ }, "../open-api/typescript-sdk": { "name": "@immich/sdk", - "version": "1.111.0", + "version": "1.119.1", "dev": true, "license": "GNU Affero General Public License version 3", "dependencies": { "@oazapfts/runtime": "^1.0.2" }, "devDependencies": { - "@types/node": "^20.14.12", + "@types/node": "^22.8.1", "typescript": "^5.3.3" } }, @@ -714,24 +717,75 @@ } }, "node_modules/@eslint-community/regexpp": { - "version": "4.10.0", - "resolved": "https://registry.npmjs.org/@eslint-community/regexpp/-/regexpp-4.10.0.tgz", - "integrity": "sha512-Cu96Sd2By9mCNTx2iyKOmq10v22jUVQv0lQnlGNy16oE9589yE+QADPbrMGCkA51cKZSg3Pu/aTJVTGfL/qjUA==", + "version": "4.11.0", + "resolved": "https://registry.npmjs.org/@eslint-community/regexpp/-/regexpp-4.11.0.tgz", + "integrity": "sha512-G/M/tIiMrTAxEWRfLfQJMmGNX28IxBg4PBz8XqQhqUHLFI6TL2htpIB1iQCj144V5ee/JaKyT9/WZ0MGZWfA7A==", "dev": true, + "license": "MIT", "engines": { "node": "^12.0.0 || ^14.0.0 || >=16.0.0" } }, - "node_modules/@eslint/eslintrc": { - "version": "2.1.4", - "resolved": "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-2.1.4.tgz", - "integrity": "sha512-269Z39MS6wVJtsoUl10L60WdkhJVdPG24Q4eZTH3nnF6lpvSShEK3wQjDX9JRWAUPvPh7COouPpU9IrqaZFvtQ==", + "node_modules/@eslint/config-array": { + "version": "0.18.0", + "resolved": "https://registry.npmjs.org/@eslint/config-array/-/config-array-0.18.0.tgz", + "integrity": "sha512-fTxvnS1sRMu3+JjXwJG0j/i4RT9u4qJ+lqS/yCGap4lH4zZGzQ7tu+xZqQmcMZq5OBZDL4QRxQzRjkWcGt8IVw==", "dev": true, + "license": "Apache-2.0", + "dependencies": { + "@eslint/object-schema": "^2.1.4", + "debug": "^4.3.1", + "minimatch": "^3.1.2" + }, + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + } + }, + "node_modules/@eslint/config-array/node_modules/brace-expansion": { + "version": "1.1.11", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", + "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", + "dev": true, + "license": "MIT", + "dependencies": { + "balanced-match": "^1.0.0", + "concat-map": "0.0.1" + } + }, + "node_modules/@eslint/config-array/node_modules/minimatch": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", + "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", + "dev": true, + "license": "ISC", + "dependencies": { + "brace-expansion": "^1.1.7" + }, + "engines": { + "node": "*" + } + }, + "node_modules/@eslint/core": { + "version": "0.7.0", + "resolved": "https://registry.npmjs.org/@eslint/core/-/core-0.7.0.tgz", + "integrity": "sha512-xp5Jirz5DyPYlPiKat8jaq0EmYvDXKKpzTbxXMpT9eqlRJkRKIz9AGMdlvYjih+im+QlhWrpvVjl8IPC/lHlUw==", + "dev": true, + "license": "Apache-2.0", + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + } + }, + "node_modules/@eslint/eslintrc": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-3.1.0.tgz", + "integrity": "sha512-4Bfj15dVJdoy3RfZmmo86RK1Fwzn6SstsvK9JS+BaVKqC6QQQQyXekNaC+g+LKNgkQ+2VhGAzm6hO40AhMR3zQ==", + "dev": true, + "license": "MIT", "dependencies": { "ajv": "^6.12.4", "debug": "^4.3.2", - "espree": "^9.6.0", - "globals": "^13.19.0", + "espree": "^10.0.1", + "globals": "^14.0.0", "ignore": "^5.2.0", "import-fresh": "^3.2.1", "js-yaml": "^4.1.0", @@ -739,7 +793,7 @@ "strip-json-comments": "^3.1.1" }, "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" }, "funding": { "url": "https://opencollective.com/eslint" @@ -755,6 +809,19 @@ "concat-map": "0.0.1" } }, + "node_modules/@eslint/eslintrc/node_modules/globals": { + "version": "14.0.0", + "resolved": "https://registry.npmjs.org/globals/-/globals-14.0.0.tgz", + "integrity": "sha512-oahGvuMGQlPw/ivIYBjVSrWAfWLBeku5tpPE2fOPLi+WHffIWbuh2tCjhyQhTBPMf5E9jDEH4FOmTYgYwbKwtQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, "node_modules/@eslint/eslintrc/node_modules/minimatch": { "version": "3.1.2", "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", @@ -768,48 +835,60 @@ } }, "node_modules/@eslint/js": { - "version": "8.57.0", - "resolved": "https://registry.npmjs.org/@eslint/js/-/js-8.57.0.tgz", - "integrity": "sha512-Ys+3g2TaW7gADOJzPt83SJtCDhMjndcDMFVQ/Tj9iA1BfJzFKD9mAUXT3OenpuPHbI6P/myECxRJrofUsDx/5g==", + "version": "9.13.0", + "resolved": "https://registry.npmjs.org/@eslint/js/-/js-9.13.0.tgz", + "integrity": "sha512-IFLyoY4d72Z5y/6o/BazFBezupzI/taV8sGumxTAVw3lXG9A6md1Dc34T9s1FoD/an9pJH8RHbAxsaEbBed9lA==", "dev": true, + "license": "MIT", "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" } }, - "node_modules/@humanwhocodes/config-array": { - "version": "0.11.14", - "resolved": "https://registry.npmjs.org/@humanwhocodes/config-array/-/config-array-0.11.14.tgz", - "integrity": "sha512-3T8LkOmg45BV5FICb15QQMsyUSWrQ8AygVfC7ZG32zOalnqrilm018ZVCw0eapXux8FtA33q8PSRSstjee3jSg==", + "node_modules/@eslint/object-schema": { + "version": "2.1.4", + "resolved": "https://registry.npmjs.org/@eslint/object-schema/-/object-schema-2.1.4.tgz", + "integrity": "sha512-BsWiH1yFGjXXS2yvrf5LyuoSIIbPrGUWob917o+BTKuZ7qJdxX8aJLRxs1fS9n6r7vESrq1OUqb68dANcFXuQQ==", "dev": true, + "license": "Apache-2.0", + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + } + }, + "node_modules/@eslint/plugin-kit": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/@eslint/plugin-kit/-/plugin-kit-0.2.0.tgz", + "integrity": "sha512-vH9PiIMMwvhCx31Af3HiGzsVNULDbyVkHXwlemn/B0TFj/00ho3y55efXrUZTfQipxoHC5u4xq6zblww1zm1Ig==", + "dev": true, + "license": "Apache-2.0", "dependencies": { - "@humanwhocodes/object-schema": "^2.0.2", - "debug": "^4.3.1", - "minimatch": "^3.0.5" + "levn": "^0.4.1" }, "engines": { - "node": ">=10.10.0" + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" } }, - "node_modules/@humanwhocodes/config-array/node_modules/brace-expansion": { - "version": "1.1.11", - "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", - "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", + "node_modules/@humanfs/core": { + "version": "0.19.0", + "resolved": "https://registry.npmjs.org/@humanfs/core/-/core-0.19.0.tgz", + "integrity": "sha512-2cbWIHbZVEweE853g8jymffCA+NCMiuqeECeBBLm8dg2oFdjuGJhgN4UAbI+6v0CKbbhvtXA4qV8YR5Ji86nmw==", "dev": true, - "dependencies": { - "balanced-match": "^1.0.0", - "concat-map": "0.0.1" + "license": "Apache-2.0", + "engines": { + "node": ">=18.18.0" } }, - "node_modules/@humanwhocodes/config-array/node_modules/minimatch": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", - "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", + "node_modules/@humanfs/node": { + "version": "0.16.5", + "resolved": "https://registry.npmjs.org/@humanfs/node/-/node-0.16.5.tgz", + "integrity": "sha512-KSPA4umqSG4LHYRodq31VDwKAvaTF4xmVlzM8Aeh4PlU1JQ3IG0wiA8C25d3RQ9nJyM3mBHyI53K06VVL/oFFg==", "dev": true, + "license": "Apache-2.0", "dependencies": { - "brace-expansion": "^1.1.7" + "@humanfs/core": "^0.19.0", + "@humanwhocodes/retry": "^0.3.0" }, "engines": { - "node": "*" + "node": ">=18.18.0" } }, "node_modules/@humanwhocodes/module-importer": { @@ -825,11 +904,19 @@ "url": "https://github.com/sponsors/nzakas" } }, - "node_modules/@humanwhocodes/object-schema": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/@humanwhocodes/object-schema/-/object-schema-2.0.2.tgz", - "integrity": "sha512-6EwiSjwWYP7pTckG6I5eyFANjPhmPjUX9JRLUSfNPC7FX7zK9gyZAfUEaECL6ALTpGX5AjnBq3C9XmVWPitNpw==", - "dev": true + "node_modules/@humanwhocodes/retry": { + "version": "0.3.1", + "resolved": "https://registry.npmjs.org/@humanwhocodes/retry/-/retry-0.3.1.tgz", + "integrity": "sha512-JBxkERygn7Bv/GbN5Rv8Ul6LVknS+5Bp6RgDC/O8gEBU/yeH5Ui5C/OlWrTb6qct7LjjfT6Re2NxB0ln0yYybA==", + "dev": true, + "license": "Apache-2.0", + "engines": { + "node": ">=18.18" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/nzakas" + } }, "node_modules/@immich/sdk": { "resolved": "../open-api/typescript-sdk", @@ -1014,169 +1101,224 @@ } }, "node_modules/@rollup/rollup-android-arm-eabi": { - "version": "4.13.0", - "resolved": "https://registry.npmjs.org/@rollup/rollup-android-arm-eabi/-/rollup-android-arm-eabi-4.13.0.tgz", - "integrity": "sha512-5ZYPOuaAqEH/W3gYsRkxQATBW3Ii1MfaT4EQstTnLKViLi2gLSQmlmtTpGucNP3sXEpOiI5tdGhjdE111ekyEg==", + "version": "4.21.1", + "resolved": "https://registry.npmjs.org/@rollup/rollup-android-arm-eabi/-/rollup-android-arm-eabi-4.21.1.tgz", + "integrity": "sha512-2thheikVEuU7ZxFXubPDOtspKn1x0yqaYQwvALVtEcvFhMifPADBrgRPyHV0TF3b+9BgvgjgagVyvA/UqPZHmg==", "cpu": [ "arm" ], "dev": true, + "license": "MIT", "optional": true, "os": [ "android" ] }, "node_modules/@rollup/rollup-android-arm64": { - "version": "4.13.0", - "resolved": "https://registry.npmjs.org/@rollup/rollup-android-arm64/-/rollup-android-arm64-4.13.0.tgz", - "integrity": "sha512-BSbaCmn8ZadK3UAQdlauSvtaJjhlDEjS5hEVVIN3A4bbl3X+otyf/kOJV08bYiRxfejP3DXFzO2jz3G20107+Q==", + "version": "4.21.1", + "resolved": "https://registry.npmjs.org/@rollup/rollup-android-arm64/-/rollup-android-arm64-4.21.1.tgz", + "integrity": "sha512-t1lLYn4V9WgnIFHXy1d2Di/7gyzBWS8G5pQSXdZqfrdCGTwi1VasRMSS81DTYb+avDs/Zz4A6dzERki5oRYz1g==", "cpu": [ "arm64" ], "dev": true, + "license": "MIT", "optional": true, "os": [ "android" ] }, "node_modules/@rollup/rollup-darwin-arm64": { - "version": "4.13.0", - "resolved": "https://registry.npmjs.org/@rollup/rollup-darwin-arm64/-/rollup-darwin-arm64-4.13.0.tgz", - "integrity": "sha512-Ovf2evVaP6sW5Ut0GHyUSOqA6tVKfrTHddtmxGQc1CTQa1Cw3/KMCDEEICZBbyppcwnhMwcDce9ZRxdWRpVd6g==", + "version": "4.21.1", + "resolved": "https://registry.npmjs.org/@rollup/rollup-darwin-arm64/-/rollup-darwin-arm64-4.21.1.tgz", + "integrity": "sha512-AH/wNWSEEHvs6t4iJ3RANxW5ZCK3fUnmf0gyMxWCesY1AlUj8jY7GC+rQE4wd3gwmZ9XDOpL0kcFnCjtN7FXlA==", "cpu": [ "arm64" ], "dev": true, + "license": "MIT", "optional": true, "os": [ "darwin" ] }, "node_modules/@rollup/rollup-darwin-x64": { - "version": "4.13.0", - "resolved": "https://registry.npmjs.org/@rollup/rollup-darwin-x64/-/rollup-darwin-x64-4.13.0.tgz", - "integrity": "sha512-U+Jcxm89UTK592vZ2J9st9ajRv/hrwHdnvyuJpa5A2ngGSVHypigidkQJP+YiGL6JODiUeMzkqQzbCG3At81Gg==", + "version": "4.21.1", + "resolved": "https://registry.npmjs.org/@rollup/rollup-darwin-x64/-/rollup-darwin-x64-4.21.1.tgz", + "integrity": "sha512-dO0BIz/+5ZdkLZrVgQrDdW7m2RkrLwYTh2YMFG9IpBtlC1x1NPNSXkfczhZieOlOLEqgXOFH3wYHB7PmBtf+Bg==", "cpu": [ "x64" ], "dev": true, + "license": "MIT", "optional": true, "os": [ "darwin" ] }, "node_modules/@rollup/rollup-linux-arm-gnueabihf": { - "version": "4.13.0", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm-gnueabihf/-/rollup-linux-arm-gnueabihf-4.13.0.tgz", - "integrity": "sha512-8wZidaUJUTIR5T4vRS22VkSMOVooG0F4N+JSwQXWSRiC6yfEsFMLTYRFHvby5mFFuExHa/yAp9juSphQQJAijQ==", + "version": "4.21.1", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm-gnueabihf/-/rollup-linux-arm-gnueabihf-4.21.1.tgz", + "integrity": "sha512-sWWgdQ1fq+XKrlda8PsMCfut8caFwZBmhYeoehJ05FdI0YZXk6ZyUjWLrIgbR/VgiGycrFKMMgp7eJ69HOF2pQ==", "cpu": [ "arm" ], "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-arm-musleabihf": { + "version": "4.21.1", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm-musleabihf/-/rollup-linux-arm-musleabihf-4.21.1.tgz", + "integrity": "sha512-9OIiSuj5EsYQlmwhmFRA0LRO0dRRjdCVZA3hnmZe1rEwRk11Jy3ECGGq3a7RrVEZ0/pCsYWx8jG3IvcrJ6RCew==", + "cpu": [ + "arm" + ], + "dev": true, + "license": "MIT", "optional": true, "os": [ "linux" ] }, "node_modules/@rollup/rollup-linux-arm64-gnu": { - "version": "4.13.0", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm64-gnu/-/rollup-linux-arm64-gnu-4.13.0.tgz", - "integrity": "sha512-Iu0Kno1vrD7zHQDxOmvweqLkAzjxEVqNhUIXBsZ8hu8Oak7/5VTPrxOEZXYC1nmrBVJp0ZcL2E7lSuuOVaE3+w==", + "version": "4.21.1", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm64-gnu/-/rollup-linux-arm64-gnu-4.21.1.tgz", + "integrity": "sha512-0kuAkRK4MeIUbzQYu63NrJmfoUVicajoRAL1bpwdYIYRcs57iyIV9NLcuyDyDXE2GiZCL4uhKSYAnyWpjZkWow==", "cpu": [ "arm64" ], "dev": true, + "license": "MIT", "optional": true, "os": [ "linux" ] }, "node_modules/@rollup/rollup-linux-arm64-musl": { - "version": "4.13.0", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm64-musl/-/rollup-linux-arm64-musl-4.13.0.tgz", - "integrity": "sha512-C31QrW47llgVyrRjIwiOwsHFcaIwmkKi3PCroQY5aVq4H0A5v/vVVAtFsI1nfBngtoRpeREvZOkIhmRwUKkAdw==", + "version": "4.21.1", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm64-musl/-/rollup-linux-arm64-musl-4.21.1.tgz", + "integrity": "sha512-/6dYC9fZtfEY0vozpc5bx1RP4VrtEOhNQGb0HwvYNwXD1BBbwQ5cKIbUVVU7G2d5WRE90NfB922elN8ASXAJEA==", "cpu": [ "arm64" ], "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-powerpc64le-gnu": { + "version": "4.21.1", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-powerpc64le-gnu/-/rollup-linux-powerpc64le-gnu-4.21.1.tgz", + "integrity": "sha512-ltUWy+sHeAh3YZ91NUsV4Xg3uBXAlscQe8ZOXRCVAKLsivGuJsrkawYPUEyCV3DYa9urgJugMLn8Z3Z/6CeyRQ==", + "cpu": [ + "ppc64" + ], + "dev": true, + "license": "MIT", "optional": true, "os": [ "linux" ] }, "node_modules/@rollup/rollup-linux-riscv64-gnu": { - "version": "4.13.0", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-riscv64-gnu/-/rollup-linux-riscv64-gnu-4.13.0.tgz", - "integrity": "sha512-Oq90dtMHvthFOPMl7pt7KmxzX7E71AfyIhh+cPhLY9oko97Zf2C9tt/XJD4RgxhaGeAraAXDtqxvKE1y/j35lA==", + "version": "4.21.1", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-riscv64-gnu/-/rollup-linux-riscv64-gnu-4.21.1.tgz", + "integrity": "sha512-BggMndzI7Tlv4/abrgLwa/dxNEMn2gC61DCLrTzw8LkpSKel4o+O+gtjbnkevZ18SKkeN3ihRGPuBxjaetWzWg==", "cpu": [ "riscv64" ], "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-s390x-gnu": { + "version": "4.21.1", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-s390x-gnu/-/rollup-linux-s390x-gnu-4.21.1.tgz", + "integrity": "sha512-z/9rtlGd/OMv+gb1mNSjElasMf9yXusAxnRDrBaYB+eS1shFm6/4/xDH1SAISO5729fFKUkJ88TkGPRUh8WSAA==", + "cpu": [ + "s390x" + ], + "dev": true, + "license": "MIT", "optional": true, "os": [ "linux" ] }, "node_modules/@rollup/rollup-linux-x64-gnu": { - "version": "4.13.0", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-x64-gnu/-/rollup-linux-x64-gnu-4.13.0.tgz", - "integrity": "sha512-yUD/8wMffnTKuiIsl6xU+4IA8UNhQ/f1sAnQebmE/lyQ8abjsVyDkyRkWop0kdMhKMprpNIhPmYlCxgHrPoXoA==", + "version": "4.21.1", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-x64-gnu/-/rollup-linux-x64-gnu-4.21.1.tgz", + "integrity": "sha512-kXQVcWqDcDKw0S2E0TmhlTLlUgAmMVqPrJZR+KpH/1ZaZhLSl23GZpQVmawBQGVhyP5WXIsIQ/zqbDBBYmxm5w==", "cpu": [ "x64" ], "dev": true, + "license": "MIT", "optional": true, "os": [ "linux" ] }, "node_modules/@rollup/rollup-linux-x64-musl": { - "version": "4.13.0", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-x64-musl/-/rollup-linux-x64-musl-4.13.0.tgz", - "integrity": "sha512-9RyNqoFNdF0vu/qqX63fKotBh43fJQeYC98hCaf89DYQpv+xu0D8QFSOS0biA7cGuqJFOc1bJ+m2rhhsKcw1hw==", + "version": "4.21.1", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-x64-musl/-/rollup-linux-x64-musl-4.21.1.tgz", + "integrity": "sha512-CbFv/WMQsSdl+bpX6rVbzR4kAjSSBuDgCqb1l4J68UYsQNalz5wOqLGYj4ZI0thGpyX5kc+LLZ9CL+kpqDovZA==", "cpu": [ "x64" ], "dev": true, + "license": "MIT", "optional": true, "os": [ "linux" ] }, "node_modules/@rollup/rollup-win32-arm64-msvc": { - "version": "4.13.0", - "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-arm64-msvc/-/rollup-win32-arm64-msvc-4.13.0.tgz", - "integrity": "sha512-46ue8ymtm/5PUU6pCvjlic0z82qWkxv54GTJZgHrQUuZnVH+tvvSP0LsozIDsCBFO4VjJ13N68wqrKSeScUKdA==", + "version": "4.21.1", + "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-arm64-msvc/-/rollup-win32-arm64-msvc-4.21.1.tgz", + "integrity": "sha512-3Q3brDgA86gHXWHklrwdREKIrIbxC0ZgU8lwpj0eEKGBQH+31uPqr0P2v11pn0tSIxHvcdOWxa4j+YvLNx1i6g==", "cpu": [ "arm64" ], "dev": true, + "license": "MIT", "optional": true, "os": [ "win32" ] }, "node_modules/@rollup/rollup-win32-ia32-msvc": { - "version": "4.13.0", - "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-ia32-msvc/-/rollup-win32-ia32-msvc-4.13.0.tgz", - "integrity": "sha512-P5/MqLdLSlqxbeuJ3YDeX37srC8mCflSyTrUsgbU1c/U9j6l2g2GiIdYaGD9QjdMQPMSgYm7hgg0551wHyIluw==", + "version": "4.21.1", + "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-ia32-msvc/-/rollup-win32-ia32-msvc-4.21.1.tgz", + "integrity": "sha512-tNg+jJcKR3Uwe4L0/wY3Ro0H+u3nrb04+tcq1GSYzBEmKLeOQF2emk1whxlzNqb6MMrQ2JOcQEpuuiPLyRcSIw==", "cpu": [ "ia32" ], "dev": true, + "license": "MIT", "optional": true, "os": [ "win32" ] }, "node_modules/@rollup/rollup-win32-x64-msvc": { - "version": "4.13.0", - "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-x64-msvc/-/rollup-win32-x64-msvc-4.13.0.tgz", - "integrity": "sha512-UKXUQNbO3DOhzLRwHSpa0HnhhCgNODvfoPWv2FCXme8N/ANFfhIPMGuOT+QuKd16+B5yxZ0HdpNlqPvTMS1qfw==", + "version": "4.21.1", + "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-x64-msvc/-/rollup-win32-x64-msvc-4.21.1.tgz", + "integrity": "sha512-xGiIH95H1zU7naUyTKEyOA/I0aexNMUdO9qRv0bLKN3qu25bBdrxZHqA3PTJ24YNN/GdMzG4xkDcd/GvjuhfLg==", "cpu": [ "x64" ], "dev": true, + "license": "MIT", "optional": true, "os": [ "win32" @@ -1204,6 +1346,13 @@ "integrity": "sha512-/kYRxGDLWzHOB7q+wtSUQlFrtcdUccpfy+X+9iMBpHK8QLLhx2wIPYuS5DYtR9Wa/YlZAbIovy7qVdB1Aq6Lyw==", "dev": true }, + "node_modules/@types/json-schema": { + "version": "7.0.15", + "resolved": "https://registry.npmjs.org/@types/json-schema/-/json-schema-7.0.15.tgz", + "integrity": "sha512-5+fP8P8MFNC+AyZCDxrB2pkZFPGzqQWUzpSeuuVLvm8VMcorNYavBqoFcxK8bQz4Qsbn4oUEEem4wDLfcysGHA==", + "dev": true, + "license": "MIT" + }, "node_modules/@types/lodash": { "version": "4.17.0", "resolved": "https://registry.npmjs.org/@types/lodash/-/lodash-4.17.0.tgz", @@ -1229,13 +1378,13 @@ } }, "node_modules/@types/node": { - "version": "20.14.12", - "resolved": "https://registry.npmjs.org/@types/node/-/node-20.14.12.tgz", - "integrity": "sha512-r7wNXakLeSsGT0H1AU863vS2wa5wBOK4bWMjZz2wj+8nBx+m5PeIn0k8AloSLpRuiwdRQZwarZqHE4FNArPuJQ==", + "version": "22.8.5", + "resolved": "https://registry.npmjs.org/@types/node/-/node-22.8.5.tgz", + "integrity": "sha512-5iYk6AMPtsMbkZqCO1UGF9W5L38twq11S2pYWkybGHH2ogPUvXWNlQqJBzuEZWKj/WRH+QTeiv6ySWqJtvIEgA==", "dev": true, "license": "MIT", "dependencies": { - "undici-types": "~5.26.4" + "undici-types": "~6.19.8" } }, "node_modules/@types/normalize-package-data": { @@ -1245,32 +1394,32 @@ "dev": true }, "node_modules/@typescript-eslint/eslint-plugin": { - "version": "7.17.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-7.17.0.tgz", - "integrity": "sha512-pyiDhEuLM3PuANxH7uNYan1AaFs5XE0zw1hq69JBvGvE7gSuEoQl1ydtEe/XQeoC3GQxLXyOVa5kNOATgM638A==", + "version": "8.11.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-8.11.0.tgz", + "integrity": "sha512-KhGn2LjW1PJT2A/GfDpiyOfS4a8xHQv2myUagTM5+zsormOmBlYsnQ6pobJ8XxJmh6hnHwa2Mbe3fPrDJoDhbA==", "dev": true, "license": "MIT", "dependencies": { "@eslint-community/regexpp": "^4.10.0", - "@typescript-eslint/scope-manager": "7.17.0", - "@typescript-eslint/type-utils": "7.17.0", - "@typescript-eslint/utils": "7.17.0", - "@typescript-eslint/visitor-keys": "7.17.0", + "@typescript-eslint/scope-manager": "8.11.0", + "@typescript-eslint/type-utils": "8.11.0", + "@typescript-eslint/utils": "8.11.0", + "@typescript-eslint/visitor-keys": "8.11.0", "graphemer": "^1.4.0", "ignore": "^5.3.1", "natural-compare": "^1.4.0", "ts-api-utils": "^1.3.0" }, "engines": { - "node": "^18.18.0 || >=20.0.0" + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" }, "funding": { "type": "opencollective", "url": "https://opencollective.com/typescript-eslint" }, "peerDependencies": { - "@typescript-eslint/parser": "^7.0.0", - "eslint": "^8.56.0" + "@typescript-eslint/parser": "^8.0.0 || ^8.0.0-alpha.0", + "eslint": "^8.57.0 || ^9.0.0" }, "peerDependenciesMeta": { "typescript": { @@ -1279,27 +1428,27 @@ } }, "node_modules/@typescript-eslint/parser": { - "version": "7.17.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-7.17.0.tgz", - "integrity": "sha512-puiYfGeg5Ydop8eusb/Hy1k7QmOU6X3nvsqCgzrB2K4qMavK//21+PzNE8qeECgNOIoertJPUC1SpegHDI515A==", + "version": "8.11.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-8.11.0.tgz", + "integrity": "sha512-lmt73NeHdy1Q/2ul295Qy3uninSqi6wQI18XwSpm8w0ZbQXUpjCAWP1Vlv/obudoBiIjJVjlztjQ+d/Md98Yxg==", "dev": true, "license": "BSD-2-Clause", "dependencies": { - "@typescript-eslint/scope-manager": "7.17.0", - "@typescript-eslint/types": "7.17.0", - "@typescript-eslint/typescript-estree": "7.17.0", - "@typescript-eslint/visitor-keys": "7.17.0", + "@typescript-eslint/scope-manager": "8.11.0", + "@typescript-eslint/types": "8.11.0", + "@typescript-eslint/typescript-estree": "8.11.0", + "@typescript-eslint/visitor-keys": "8.11.0", "debug": "^4.3.4" }, "engines": { - "node": "^18.18.0 || >=20.0.0" + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" }, "funding": { "type": "opencollective", "url": "https://opencollective.com/typescript-eslint" }, "peerDependencies": { - "eslint": "^8.56.0" + "eslint": "^8.57.0 || ^9.0.0" }, "peerDependenciesMeta": { "typescript": { @@ -1308,17 +1457,17 @@ } }, "node_modules/@typescript-eslint/scope-manager": { - "version": "7.17.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-7.17.0.tgz", - "integrity": "sha512-0P2jTTqyxWp9HiKLu/Vemr2Rg1Xb5B7uHItdVZ6iAenXmPo4SZ86yOPCJwMqpCyaMiEHTNqizHfsbmCFT1x9SA==", + "version": "8.11.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-8.11.0.tgz", + "integrity": "sha512-Uholz7tWhXmA4r6epo+vaeV7yjdKy5QFCERMjs1kMVsLRKIrSdM6o21W2He9ftp5PP6aWOVpD5zvrvuHZC0bMQ==", "dev": true, "license": "MIT", "dependencies": { - "@typescript-eslint/types": "7.17.0", - "@typescript-eslint/visitor-keys": "7.17.0" + "@typescript-eslint/types": "8.11.0", + "@typescript-eslint/visitor-keys": "8.11.0" }, "engines": { - "node": "^18.18.0 || >=20.0.0" + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" }, "funding": { "type": "opencollective", @@ -1326,27 +1475,24 @@ } }, "node_modules/@typescript-eslint/type-utils": { - "version": "7.17.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/type-utils/-/type-utils-7.17.0.tgz", - "integrity": "sha512-XD3aaBt+orgkM/7Cei0XNEm1vwUxQ958AOLALzPlbPqb8C1G8PZK85tND7Jpe69Wualri81PLU+Zc48GVKIMMA==", + "version": "8.11.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/type-utils/-/type-utils-8.11.0.tgz", + "integrity": "sha512-ItiMfJS6pQU0NIKAaybBKkuVzo6IdnAhPFZA/2Mba/uBjuPQPet/8+zh5GtLHwmuFRShZx+8lhIs7/QeDHflOg==", "dev": true, "license": "MIT", "dependencies": { - "@typescript-eslint/typescript-estree": "7.17.0", - "@typescript-eslint/utils": "7.17.0", + "@typescript-eslint/typescript-estree": "8.11.0", + "@typescript-eslint/utils": "8.11.0", "debug": "^4.3.4", "ts-api-utils": "^1.3.0" }, "engines": { - "node": "^18.18.0 || >=20.0.0" + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" }, "funding": { "type": "opencollective", "url": "https://opencollective.com/typescript-eslint" }, - "peerDependencies": { - "eslint": "^8.56.0" - }, "peerDependenciesMeta": { "typescript": { "optional": true @@ -1354,13 +1500,13 @@ } }, "node_modules/@typescript-eslint/types": { - "version": "7.17.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-7.17.0.tgz", - "integrity": "sha512-a29Ir0EbyKTKHnZWbNsrc/gqfIBqYPwj3F2M+jWE/9bqfEHg0AMtXzkbUkOG6QgEScxh2+Pz9OXe11jHDnHR7A==", + "version": "8.11.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-8.11.0.tgz", + "integrity": "sha512-tn6sNMHf6EBAYMvmPUaKaVeYvhUsrE6x+bXQTxjQRp360h1giATU0WvgeEys1spbvb5R+VpNOZ+XJmjD8wOUHw==", "dev": true, "license": "MIT", "engines": { - "node": "^18.18.0 || >=20.0.0" + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" }, "funding": { "type": "opencollective", @@ -1368,23 +1514,23 @@ } }, "node_modules/@typescript-eslint/typescript-estree": { - "version": "7.17.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-7.17.0.tgz", - "integrity": "sha512-72I3TGq93t2GoSBWI093wmKo0n6/b7O4j9o8U+f65TVD0FS6bI2180X5eGEr8MA8PhKMvYe9myZJquUT2JkCZw==", + "version": "8.11.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-8.11.0.tgz", + "integrity": "sha512-yHC3s1z1RCHoCz5t06gf7jH24rr3vns08XXhfEqzYpd6Hll3z/3g23JRi0jM8A47UFKNc3u/y5KIMx8Ynbjohg==", "dev": true, "license": "BSD-2-Clause", "dependencies": { - "@typescript-eslint/types": "7.17.0", - "@typescript-eslint/visitor-keys": "7.17.0", + "@typescript-eslint/types": "8.11.0", + "@typescript-eslint/visitor-keys": "8.11.0", "debug": "^4.3.4", - "globby": "^11.1.0", + "fast-glob": "^3.3.2", "is-glob": "^4.0.3", "minimatch": "^9.0.4", "semver": "^7.6.0", "ts-api-utils": "^1.3.0" }, "engines": { - "node": "^18.18.0 || >=20.0.0" + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" }, "funding": { "type": "opencollective", @@ -1397,66 +1543,61 @@ } }, "node_modules/@typescript-eslint/utils": { - "version": "7.17.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-7.17.0.tgz", - "integrity": "sha512-r+JFlm5NdB+JXc7aWWZ3fKSm1gn0pkswEwIYsrGPdsT2GjsRATAKXiNtp3vgAAO1xZhX8alIOEQnNMl3kbTgJw==", + "version": "8.11.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-8.11.0.tgz", + "integrity": "sha512-CYiX6WZcbXNJV7UNB4PLDIBtSdRmRI/nb0FMyqHPTQD1rMjA0foPLaPUV39C/MxkTd/QKSeX+Gb34PPsDVC35g==", "dev": true, "license": "MIT", "dependencies": { "@eslint-community/eslint-utils": "^4.4.0", - "@typescript-eslint/scope-manager": "7.17.0", - "@typescript-eslint/types": "7.17.0", - "@typescript-eslint/typescript-estree": "7.17.0" + "@typescript-eslint/scope-manager": "8.11.0", + "@typescript-eslint/types": "8.11.0", + "@typescript-eslint/typescript-estree": "8.11.0" }, "engines": { - "node": "^18.18.0 || >=20.0.0" + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" }, "funding": { "type": "opencollective", "url": "https://opencollective.com/typescript-eslint" }, "peerDependencies": { - "eslint": "^8.56.0" + "eslint": "^8.57.0 || ^9.0.0" } }, "node_modules/@typescript-eslint/visitor-keys": { - "version": "7.17.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-7.17.0.tgz", - "integrity": "sha512-RVGC9UhPOCsfCdI9pU++K4nD7to+jTcMIbXTSOcrLqUEW6gF2pU1UUbYJKc9cvcRSK1UDeMJ7pdMxf4bhMpV/A==", + "version": "8.11.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-8.11.0.tgz", + "integrity": "sha512-EaewX6lxSjRJnc+99+dqzTeoDZUfyrA52d2/HRrkI830kgovWsmIiTfmr0NZorzqic7ga+1bS60lRBUgR3n/Bw==", "dev": true, "license": "MIT", "dependencies": { - "@typescript-eslint/types": "7.17.0", + "@typescript-eslint/types": "8.11.0", "eslint-visitor-keys": "^3.4.3" }, "engines": { - "node": "^18.18.0 || >=20.0.0" + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" }, "funding": { "type": "opencollective", "url": "https://opencollective.com/typescript-eslint" } }, - "node_modules/@ungap/structured-clone": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/@ungap/structured-clone/-/structured-clone-1.2.0.tgz", - "integrity": "sha512-zuVdFrMJiuCDQUMCzQaD6KL28MjnqqN8XnAqiEq9PNm/hCPTSGfrXCOfwj1ow4LFb/tNymJPwsNbVePc1xFqrQ==", - "dev": true - }, "node_modules/@vitest/coverage-v8": { - "version": "2.0.5", - "resolved": "https://registry.npmjs.org/@vitest/coverage-v8/-/coverage-v8-2.0.5.tgz", - "integrity": "sha512-qeFcySCg5FLO2bHHSa0tAZAOnAUbp4L6/A5JDuj9+bt53JREl8hpLjLHEWF0e/gWc8INVpJaqA7+Ene2rclpZg==", + "version": "2.1.3", + "resolved": "https://registry.npmjs.org/@vitest/coverage-v8/-/coverage-v8-2.1.3.tgz", + "integrity": "sha512-2OJ3c7UPoFSmBZwqD2VEkUw6A/tzPF0LmW0ZZhhB8PFxuc+9IBG/FaSM+RLEenc7ljzFvGN+G0nGQoZnh7sy2A==", "dev": true, + "license": "MIT", "dependencies": { "@ampproject/remapping": "^2.3.0", "@bcoe/v8-coverage": "^0.2.3", - "debug": "^4.3.5", + "debug": "^4.3.6", "istanbul-lib-coverage": "^3.2.2", "istanbul-lib-report": "^3.0.1", "istanbul-lib-source-maps": "^5.0.6", "istanbul-reports": "^3.1.7", - "magic-string": "^0.30.10", + "magic-string": "^0.30.11", "magicast": "^0.3.4", "std-env": "^3.7.0", "test-exclude": "^7.0.1", @@ -1466,17 +1607,24 @@ "url": "https://opencollective.com/vitest" }, "peerDependencies": { - "vitest": "2.0.5" + "@vitest/browser": "2.1.3", + "vitest": "2.1.3" + }, + "peerDependenciesMeta": { + "@vitest/browser": { + "optional": true + } } }, "node_modules/@vitest/expect": { - "version": "2.0.5", - "resolved": "https://registry.npmjs.org/@vitest/expect/-/expect-2.0.5.tgz", - "integrity": "sha512-yHZtwuP7JZivj65Gxoi8upUN2OzHTi3zVfjwdpu2WrvCZPLwsJ2Ey5ILIPccoW23dd/zQBlJ4/dhi7DWNyXCpA==", + "version": "2.1.3", + "resolved": "https://registry.npmjs.org/@vitest/expect/-/expect-2.1.3.tgz", + "integrity": "sha512-SNBoPubeCJhZ48agjXruCI57DvxcsivVDdWz+SSsmjTT4QN/DfHk3zB/xKsJqMs26bLZ/pNRLnCf0j679i0uWQ==", "dev": true, + "license": "MIT", "dependencies": { - "@vitest/spy": "2.0.5", - "@vitest/utils": "2.0.5", + "@vitest/spy": "2.1.3", + "@vitest/utils": "2.1.3", "chai": "^5.1.1", "tinyrainbow": "^1.2.0" }, @@ -1484,11 +1632,40 @@ "url": "https://opencollective.com/vitest" } }, - "node_modules/@vitest/pretty-format": { - "version": "2.0.5", - "resolved": "https://registry.npmjs.org/@vitest/pretty-format/-/pretty-format-2.0.5.tgz", - "integrity": "sha512-h8k+1oWHfwTkyTkb9egzwNMfJAEx4veaPSnMeKbVSjp4euqGSbQlm5+6VHwTr7u4FJslVVsUG5nopCaAYdOmSQ==", + "node_modules/@vitest/mocker": { + "version": "2.1.3", + "resolved": "https://registry.npmjs.org/@vitest/mocker/-/mocker-2.1.3.tgz", + "integrity": "sha512-eSpdY/eJDuOvuTA3ASzCjdithHa+GIF1L4PqtEELl6Qa3XafdMLBpBlZCIUCX2J+Q6sNmjmxtosAG62fK4BlqQ==", "dev": true, + "license": "MIT", + "dependencies": { + "@vitest/spy": "2.1.3", + "estree-walker": "^3.0.3", + "magic-string": "^0.30.11" + }, + "funding": { + "url": "https://opencollective.com/vitest" + }, + "peerDependencies": { + "@vitest/spy": "2.1.3", + "msw": "^2.3.5", + "vite": "^5.0.0" + }, + "peerDependenciesMeta": { + "msw": { + "optional": true + }, + "vite": { + "optional": true + } + } + }, + "node_modules/@vitest/pretty-format": { + "version": "2.1.3", + "resolved": "https://registry.npmjs.org/@vitest/pretty-format/-/pretty-format-2.1.3.tgz", + "integrity": "sha512-XH1XdtoLZCpqV59KRbPrIhFCOO0hErxrQCMcvnQete3Vibb9UeIOX02uFPfVn3Z9ZXsq78etlfyhnkmIZSzIwQ==", + "dev": true, + "license": "MIT", "dependencies": { "tinyrainbow": "^1.2.0" }, @@ -1497,12 +1674,13 @@ } }, "node_modules/@vitest/runner": { - "version": "2.0.5", - "resolved": "https://registry.npmjs.org/@vitest/runner/-/runner-2.0.5.tgz", - "integrity": "sha512-TfRfZa6Bkk9ky4tW0z20WKXFEwwvWhRY+84CnSEtq4+3ZvDlJyY32oNTJtM7AW9ihW90tX/1Q78cb6FjoAs+ig==", + "version": "2.1.3", + "resolved": "https://registry.npmjs.org/@vitest/runner/-/runner-2.1.3.tgz", + "integrity": "sha512-JGzpWqmFJ4fq5ZKHtVO3Xuy1iF2rHGV4d/pdzgkYHm1+gOzNZtqjvyiaDGJytRyMU54qkxpNzCx+PErzJ1/JqQ==", "dev": true, + "license": "MIT", "dependencies": { - "@vitest/utils": "2.0.5", + "@vitest/utils": "2.1.3", "pathe": "^1.1.2" }, "funding": { @@ -1510,13 +1688,14 @@ } }, "node_modules/@vitest/snapshot": { - "version": "2.0.5", - "resolved": "https://registry.npmjs.org/@vitest/snapshot/-/snapshot-2.0.5.tgz", - "integrity": "sha512-SgCPUeDFLaM0mIUHfaArq8fD2WbaXG/zVXjRupthYfYGzc8ztbFbu6dUNOblBG7XLMR1kEhS/DNnfCZ2IhdDew==", + "version": "2.1.3", + "resolved": "https://registry.npmjs.org/@vitest/snapshot/-/snapshot-2.1.3.tgz", + "integrity": "sha512-qWC2mWc7VAXmjAkEKxrScWHWFyCQx/cmiZtuGqMi+WwqQJ2iURsVY4ZfAK6dVo6K2smKRU6l3BPwqEBvhnpQGg==", "dev": true, + "license": "MIT", "dependencies": { - "@vitest/pretty-format": "2.0.5", - "magic-string": "^0.30.10", + "@vitest/pretty-format": "2.1.3", + "magic-string": "^0.30.11", "pathe": "^1.1.2" }, "funding": { @@ -1524,10 +1703,11 @@ } }, "node_modules/@vitest/spy": { - "version": "2.0.5", - "resolved": "https://registry.npmjs.org/@vitest/spy/-/spy-2.0.5.tgz", - "integrity": "sha512-c/jdthAhvJdpfVuaexSrnawxZz6pywlTPe84LUB2m/4t3rl2fTo9NFGBG4oWgaD+FTgDDV8hJ/nibT7IfH3JfA==", + "version": "2.1.3", + "resolved": "https://registry.npmjs.org/@vitest/spy/-/spy-2.1.3.tgz", + "integrity": "sha512-Nb2UzbcUswzeSP7JksMDaqsI43Sj5+Kry6ry6jQJT4b5gAK+NS9NED6mDb8FlMRCX8m5guaHCDZmqYMMWRy5nQ==", "dev": true, + "license": "MIT", "dependencies": { "tinyspy": "^3.0.0" }, @@ -1536,13 +1716,13 @@ } }, "node_modules/@vitest/utils": { - "version": "2.0.5", - "resolved": "https://registry.npmjs.org/@vitest/utils/-/utils-2.0.5.tgz", - "integrity": "sha512-d8HKbqIcya+GR67mkZbrzhS5kKhtp8dQLcmRZLGTscGVg7yImT82cIrhtn2L8+VujWcy6KZweApgNmPsTAO/UQ==", + "version": "2.1.3", + "resolved": "https://registry.npmjs.org/@vitest/utils/-/utils-2.1.3.tgz", + "integrity": "sha512-xpiVfDSg1RrYT0tX6czgerkpcKFmFOF/gCr30+Mve5V2kewCy4Prn1/NDMSRwaSmT7PRaOF83wu+bEtsY1wrvA==", "dev": true, + "license": "MIT", "dependencies": { - "@vitest/pretty-format": "2.0.5", - "estree-walker": "^3.0.3", + "@vitest/pretty-format": "2.1.3", "loupe": "^3.1.1", "tinyrainbow": "^1.2.0" }, @@ -1551,9 +1731,9 @@ } }, "node_modules/acorn": { - "version": "8.12.0", - "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.12.0.tgz", - "integrity": "sha512-RTvkC4w+KNXrM39/lWCUaG0IbRkWdCv7W/IOW9oU6SawyxulvkQy5HQPVTKxEjczcUvapcrw3cFx/60VN/NRNw==", + "version": "8.12.1", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.12.1.tgz", + "integrity": "sha512-tcpGyI9zbizT9JbV6oYE477V6mTlXvvi0T0G3SNIYE2apm/G5huBa1+K89VGeovbg+jycCrfhl3ADxErOuO6Jg==", "dev": true, "license": "MIT", "bin": { @@ -1568,6 +1748,7 @@ "resolved": "https://registry.npmjs.org/acorn-jsx/-/acorn-jsx-5.3.2.tgz", "integrity": "sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==", "dev": true, + "license": "MIT", "peerDependencies": { "acorn": "^6.0.0 || ^7.0.0 || ^8.0.0" } @@ -1618,21 +1799,12 @@ "integrity": "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==", "dev": true }, - "node_modules/array-union": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/array-union/-/array-union-2.1.0.tgz", - "integrity": "sha512-HGyxoOTYUyCM6stUe6EJgnd4EoewAI7zMdfqO+kGjnlZmBDz/cR5pf8r/cR4Wq60sL/p0IkcjUEEPwS3GFrIyw==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=8" - } - }, "node_modules/assertion-error": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/assertion-error/-/assertion-error-2.0.1.tgz", "integrity": "sha512-Izi8RQcffqCeNVgFigKli1ssklIbpHnCYc6AknXGYoB6grJqyeby7jv12JUQgmTAnIDnbck1uxksT4dzN3PWBA==", "dev": true, + "license": "MIT", "engines": { "node": ">=12" } @@ -1723,6 +1895,7 @@ "resolved": "https://registry.npmjs.org/cac/-/cac-6.7.14.tgz", "integrity": "sha512-b6Ilus+c3RrdDk+JhLKUAQfzzgLEPy6wcXqS7f/xe1EETvsDP6GORG7SFuOs6cID5YkqchW/LXZbX5bc8j7ZcQ==", "dev": true, + "license": "MIT", "engines": { "node": ">=8" } @@ -1761,6 +1934,7 @@ "resolved": "https://registry.npmjs.org/chai/-/chai-5.1.1.tgz", "integrity": "sha512-pT1ZgP8rPNqUgieVaEY+ryQr6Q4HXNg8Ei9UnLUrjN4IA7dvQC5JB+/kxVcPNDHyBcc/26CXPkbNzq3qwrOEKA==", "dev": true, + "license": "MIT", "dependencies": { "assertion-error": "^2.0.1", "check-error": "^2.1.1", @@ -1793,6 +1967,7 @@ "resolved": "https://registry.npmjs.org/check-error/-/check-error-2.1.1.tgz", "integrity": "sha512-OAlb+T7V4Op9OwdkjmguYRqncdlx5JiofwOAUkmTF+jNdHwzTaTs4sRAGpzLF3oOz5xAyDGrPgeIDFQmDOTiJw==", "dev": true, + "license": "MIT", "engines": { "node": ">= 16" } @@ -1892,15 +2067,6 @@ "url": "https://opencollective.com/core-js" } }, - "node_modules/cross-fetch": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/cross-fetch/-/cross-fetch-4.0.0.tgz", - "integrity": "sha512-e4a5N8lVvuLgAWgnCrLr2PP0YyDOTHa9H/Rj54dirp61qXnNq46m82bRhNqIA5VccJtWBvPTFRV3TtvHUKPB1g==", - "dev": true, - "dependencies": { - "node-fetch": "^2.6.12" - } - }, "node_modules/cross-spawn": { "version": "7.0.3", "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.3.tgz", @@ -1937,6 +2103,7 @@ "resolved": "https://registry.npmjs.org/deep-eql/-/deep-eql-5.0.2.tgz", "integrity": "sha512-h5k/5U50IJJFpzfL6nO9jaaumfjO/f2NjK/oYB2Djzm4p9L+3T9qWpZqZ2hAbLPuuYq9wrU08WQyBTL5GbPk5Q==", "dev": true, + "license": "MIT", "engines": { "node": ">=6" } @@ -1947,31 +2114,6 @@ "integrity": "sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ==", "dev": true }, - "node_modules/dir-glob": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/dir-glob/-/dir-glob-3.0.1.tgz", - "integrity": "sha512-WkrWp9GR4KXfKGYzOLmTuGVi1UWFfws377n9cc55/tb6DuqyF6pcQ5AbiHEshaDpY9v6oaSr2XCDidGmMwdzIA==", - "dev": true, - "license": "MIT", - "dependencies": { - "path-type": "^4.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/doctrine": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-3.0.0.tgz", - "integrity": "sha512-yS+Q5i3hBf7GBkd4KG8a7eBNNWNGLTaEwwYWUijIYM7zrlYDM0BFXHjjPWlWZ1Rg7UaddZeIDmi9jF3HmqiQ2w==", - "dev": true, - "dependencies": { - "esutils": "^2.0.2" - }, - "engines": { - "node": ">=6.0.0" - } - }, "node_modules/eastasianwidth": { "version": "0.2.0", "resolved": "https://registry.npmjs.org/eastasianwidth/-/eastasianwidth-0.2.0.tgz", @@ -2060,58 +2202,64 @@ } }, "node_modules/eslint": { - "version": "8.57.0", - "resolved": "https://registry.npmjs.org/eslint/-/eslint-8.57.0.tgz", - "integrity": "sha512-dZ6+mexnaTIbSBZWgou51U6OmzIhYM2VcNdtiTtI7qPNZm35Akpr0f6vtw3w1Kmn5PYo+tZVfh13WrhpS6oLqQ==", + "version": "9.13.0", + "resolved": "https://registry.npmjs.org/eslint/-/eslint-9.13.0.tgz", + "integrity": "sha512-EYZK6SX6zjFHST/HRytOdA/zE72Cq/bfw45LSyuwrdvcclb/gqV8RRQxywOBEWO2+WDpva6UZa4CcDeJKzUCFA==", "dev": true, + "license": "MIT", "dependencies": { "@eslint-community/eslint-utils": "^4.2.0", - "@eslint-community/regexpp": "^4.6.1", - "@eslint/eslintrc": "^2.1.4", - "@eslint/js": "8.57.0", - "@humanwhocodes/config-array": "^0.11.14", + "@eslint-community/regexpp": "^4.11.0", + "@eslint/config-array": "^0.18.0", + "@eslint/core": "^0.7.0", + "@eslint/eslintrc": "^3.1.0", + "@eslint/js": "9.13.0", + "@eslint/plugin-kit": "^0.2.0", + "@humanfs/node": "^0.16.5", "@humanwhocodes/module-importer": "^1.0.1", - "@nodelib/fs.walk": "^1.2.8", - "@ungap/structured-clone": "^1.2.0", + "@humanwhocodes/retry": "^0.3.1", + "@types/estree": "^1.0.6", + "@types/json-schema": "^7.0.15", "ajv": "^6.12.4", "chalk": "^4.0.0", "cross-spawn": "^7.0.2", "debug": "^4.3.2", - "doctrine": "^3.0.0", "escape-string-regexp": "^4.0.0", - "eslint-scope": "^7.2.2", - "eslint-visitor-keys": "^3.4.3", - "espree": "^9.6.1", - "esquery": "^1.4.2", + "eslint-scope": "^8.1.0", + "eslint-visitor-keys": "^4.1.0", + "espree": "^10.2.0", + "esquery": "^1.5.0", "esutils": "^2.0.2", "fast-deep-equal": "^3.1.3", - "file-entry-cache": "^6.0.1", + "file-entry-cache": "^8.0.0", "find-up": "^5.0.0", "glob-parent": "^6.0.2", - "globals": "^13.19.0", - "graphemer": "^1.4.0", "ignore": "^5.2.0", "imurmurhash": "^0.1.4", "is-glob": "^4.0.0", - "is-path-inside": "^3.0.3", - "js-yaml": "^4.1.0", "json-stable-stringify-without-jsonify": "^1.0.1", - "levn": "^0.4.1", "lodash.merge": "^4.6.2", "minimatch": "^3.1.2", "natural-compare": "^1.4.0", "optionator": "^0.9.3", - "strip-ansi": "^6.0.1", "text-table": "^0.2.0" }, "bin": { "eslint": "bin/eslint.js" }, "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" }, "funding": { - "url": "https://opencollective.com/eslint" + "url": "https://eslint.org/donate" + }, + "peerDependencies": { + "jiti": "*" + }, + "peerDependenciesMeta": { + "jiti": { + "optional": true + } } }, "node_modules/eslint-config-prettier": { @@ -2191,30 +2339,18 @@ "eslint": ">=8.56.0" } }, - "node_modules/eslint-plugin-unicorn/node_modules/globals": { - "version": "15.8.0", - "resolved": "https://registry.npmjs.org/globals/-/globals-15.8.0.tgz", - "integrity": "sha512-VZAJ4cewHTExBWDHR6yptdIBlx9YSSZuwojj9Nt5mBRXQzrKakDsVKQ1J63sklLvzAJm0X5+RpO4i3Y2hcOnFw==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=18" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, "node_modules/eslint-scope": { - "version": "7.2.2", - "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-7.2.2.tgz", - "integrity": "sha512-dOt21O7lTMhDM+X9mB4GX+DZrZtCUJPL/wlcTqxyrx5IvO0IYtILdtrQGQp+8n5S0gwSVmOf9NQrjMOgfQZlIg==", + "version": "8.1.0", + "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-8.1.0.tgz", + "integrity": "sha512-14dSvlhaVhKKsa9Fx1l8A17s7ah7Ef7wCakJ10LYk6+GYmP9yDti2oq2SEwcyndt6knfcZyhyxwY3i9yL78EQw==", "dev": true, + "license": "BSD-2-Clause", "dependencies": { "esrecurse": "^4.3.0", "estraverse": "^5.2.0" }, "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" }, "funding": { "url": "https://opencollective.com/eslint" @@ -2232,21 +2368,43 @@ "url": "https://opencollective.com/eslint" } }, + "node_modules/eslint/node_modules/@types/estree": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/@types/estree/-/estree-1.0.6.tgz", + "integrity": "sha512-AYnb1nQyY49te+VRAVgmzfcgjYS91mY5P0TKUDCLEM+gNnA+3T6rWITXRLYCpahpqSQbN5cE+gHpnPyXjHWxcw==", + "dev": true, + "license": "MIT" + }, "node_modules/eslint/node_modules/brace-expansion": { "version": "1.1.11", "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", "dev": true, + "license": "MIT", "dependencies": { "balanced-match": "^1.0.0", "concat-map": "0.0.1" } }, + "node_modules/eslint/node_modules/eslint-visitor-keys": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-4.2.0.tgz", + "integrity": "sha512-UyLnSehNt62FFhSwjZlHmeokpRK59rcz29j+F1/aDgbkbRTk7wIc9XzdoasMUbRNKDM0qQt/+BJ4BrpFeABemw==", + "dev": true, + "license": "Apache-2.0", + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + }, + "funding": { + "url": "https://opencollective.com/eslint" + } + }, "node_modules/eslint/node_modules/minimatch": { "version": "3.1.2", "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", "dev": true, + "license": "ISC", "dependencies": { "brace-expansion": "^1.1.7" }, @@ -2255,17 +2413,31 @@ } }, "node_modules/espree": { - "version": "9.6.1", - "resolved": "https://registry.npmjs.org/espree/-/espree-9.6.1.tgz", - "integrity": "sha512-oruZaFkjorTpF32kDSI5/75ViwGeZginGGy2NoOSg3Q9bnwlnmDm4HLnkl0RE3n+njDXR037aY1+x58Z/zFdwQ==", + "version": "10.2.0", + "resolved": "https://registry.npmjs.org/espree/-/espree-10.2.0.tgz", + "integrity": "sha512-upbkBJbckcCNBDBDXEbuhjbP68n+scUd3k/U2EkyM9nw+I/jPiL4cLF/Al06CF96wRltFda16sxDFrxsI1v0/g==", "dev": true, + "license": "BSD-2-Clause", "dependencies": { - "acorn": "^8.9.0", + "acorn": "^8.12.0", "acorn-jsx": "^5.3.2", - "eslint-visitor-keys": "^3.4.1" + "eslint-visitor-keys": "^4.1.0" }, "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + }, + "funding": { + "url": "https://opencollective.com/eslint" + } + }, + "node_modules/espree/node_modules/eslint-visitor-keys": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-4.1.0.tgz", + "integrity": "sha512-Q7lok0mqMUSf5a/AdAZkA5a/gHcO6snwQClVNNvFKCAVlxXucdU8pKydU5ZVZjBx5xr37vGbFFWtLQYreLzrZg==", + "dev": true, + "license": "Apache-2.0", + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" }, "funding": { "url": "https://opencollective.com/eslint" @@ -2288,6 +2460,7 @@ "resolved": "https://registry.npmjs.org/esrecurse/-/esrecurse-4.3.0.tgz", "integrity": "sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag==", "dev": true, + "license": "BSD-2-Clause", "dependencies": { "estraverse": "^5.2.0" }, @@ -2309,6 +2482,7 @@ "resolved": "https://registry.npmjs.org/estree-walker/-/estree-walker-3.0.3.tgz", "integrity": "sha512-7RUKfXgSMMkzt6ZuXmqapOurLGPPfgj6l9uRZ7lRGolvk0y2yocc35LdcxKC5PQZdn2DMqioAQ2NoWcrTKmm6g==", "dev": true, + "license": "MIT", "dependencies": { "@types/estree": "^1.0.0" } @@ -2322,29 +2496,6 @@ "node": ">=0.10.0" } }, - "node_modules/execa": { - "version": "8.0.1", - "resolved": "https://registry.npmjs.org/execa/-/execa-8.0.1.tgz", - "integrity": "sha512-VyhnebXciFV2DESc+p6B+y0LjSm0krU4OgJN44qFAhBY0TJ+1V61tYD2+wHusZ6F9n5K+vl8k0sTy7PEfV4qpg==", - "dev": true, - "dependencies": { - "cross-spawn": "^7.0.3", - "get-stream": "^8.0.1", - "human-signals": "^5.0.0", - "is-stream": "^3.0.0", - "merge-stream": "^2.0.0", - "npm-run-path": "^5.1.0", - "onetime": "^6.0.0", - "signal-exit": "^4.1.0", - "strip-final-newline": "^3.0.0" - }, - "engines": { - "node": ">=16.17" - }, - "funding": { - "url": "https://github.com/sindresorhus/execa?sponsor=1" - } - }, "node_modules/fast-deep-equal": { "version": "3.1.3", "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz", @@ -2361,6 +2512,7 @@ "version": "3.3.2", "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-3.3.2.tgz", "integrity": "sha512-oX2ruAFQwf/Orj8m737Y5adxDQO0LAB7/S5MnxCdTNDd4p6BsyIVsv9JQsATbTSq8KHRpLwIHbVlUNatxd+1Ow==", + "license": "MIT", "dependencies": { "@nodelib/fs.stat": "^2.0.2", "@nodelib/fs.walk": "^1.2.3", @@ -2404,15 +2556,16 @@ } }, "node_modules/file-entry-cache": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/file-entry-cache/-/file-entry-cache-6.0.1.tgz", - "integrity": "sha512-7Gps/XWymbLk2QLYK4NzpMOrYjMhdIxXuIvy2QBsLE6ljuodKvdkWs/cpyJJ3CVIVpH0Oi1Hvg1ovbMzLdFBBg==", + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/file-entry-cache/-/file-entry-cache-8.0.0.tgz", + "integrity": "sha512-XXTUwCvisa5oacNGRP9SfNtYBNAMi+RPwBFmblZEF7N7swHYQS6/Zfk7SRwx4D5j3CH211YNRco1DEMNVfZCnQ==", "dev": true, + "license": "MIT", "dependencies": { - "flat-cache": "^3.0.4" + "flat-cache": "^4.0.0" }, "engines": { - "node": "^10.12.0 || >=12.0.0" + "node": ">=16.0.0" } }, "node_modules/fill-range": { @@ -2443,24 +2596,25 @@ } }, "node_modules/flat-cache": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/flat-cache/-/flat-cache-3.2.0.tgz", - "integrity": "sha512-CYcENa+FtcUKLmhhqyctpclsq7QF38pKjZHsGNiSQF5r4FtoKDWabFDl3hzaEQMvT1LHEysw5twgLvpYYb4vbw==", + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/flat-cache/-/flat-cache-4.0.1.tgz", + "integrity": "sha512-f7ccFPK3SXFHpx15UIGyRJ/FJQctuKZ0zVuN3frBo4HnK3cay9VEW0R6yPYFHC0AgqhukPzKjq22t5DmAyqGyw==", "dev": true, + "license": "MIT", "dependencies": { "flatted": "^3.2.9", - "keyv": "^4.5.3", - "rimraf": "^3.0.2" + "keyv": "^4.5.4" }, "engines": { - "node": "^10.12.0 || >=12.0.0" + "node": ">=16" } }, "node_modules/flatted": { "version": "3.3.1", "resolved": "https://registry.npmjs.org/flatted/-/flatted-3.3.1.tgz", "integrity": "sha512-X8cqMLLie7KsNUDSdzeN8FYK9rEt4Dt67OsG/DNGnYTSDBG4uFAJFBnUeiV+zCVAvwFy56IjM9sH51jVaEhNxw==", - "dev": true + "dev": true, + "license": "ISC" }, "node_modules/foreground-child": { "version": "3.2.1", @@ -2478,12 +2632,6 @@ "url": "https://github.com/sponsors/isaacs" } }, - "node_modules/fs.realpath": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", - "integrity": "sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==", - "dev": true - }, "node_modules/fsevents": { "version": "2.3.3", "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.3.tgz", @@ -2507,27 +2655,6 @@ "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/get-func-name": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/get-func-name/-/get-func-name-2.0.2.tgz", - "integrity": "sha512-8vXOvuE167CtIc3OyItco7N/dpRtBbYOsPsXCz7X/PMnlGjYjSGuZJgM1Y7mmew7BKf9BqvLX2tnOVy1BBUsxQ==", - "dev": true, - "engines": { - "node": "*" - } - }, - "node_modules/get-stream": { - "version": "8.0.1", - "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-8.0.1.tgz", - "integrity": "sha512-VaUJspBffn/LMCJVoMvSAdmscJyS1auj5Zulnn5UoYcY531UWmdwhRWkcGKnGU93m5HSXP9LP2usOryrBtQowA==", - "dev": true, - "engines": { - "node": ">=16" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, "node_modules/glob": { "version": "10.4.5", "resolved": "https://registry.npmjs.org/glob/-/glob-10.4.5.tgz", @@ -2561,36 +2688,13 @@ } }, "node_modules/globals": { - "version": "13.24.0", - "resolved": "https://registry.npmjs.org/globals/-/globals-13.24.0.tgz", - "integrity": "sha512-AhO5QUcj8llrbG09iWhPU2B204J1xnPeL8kQmVorSsy+Sjj1sk8gIyh6cUocGmH4L0UuhAJy+hJMRA4mgA4mFQ==", - "dev": true, - "dependencies": { - "type-fest": "^0.20.2" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/globby": { - "version": "11.1.0", - "resolved": "https://registry.npmjs.org/globby/-/globby-11.1.0.tgz", - "integrity": "sha512-jhIXaOzy1sb8IyocaruWSn1TjmnBVs8Ayhcy83rmxNJ8q2uWKCAj3CnJY+KpGSXCueAPc0i05kVvVKtP1t9S3g==", + "version": "15.11.0", + "resolved": "https://registry.npmjs.org/globals/-/globals-15.11.0.tgz", + "integrity": "sha512-yeyNSjdbyVaWurlwCpcA6XNBrHTMIeDdj0/hnvX/OLJ9ekOXYbLsLinH/MucQyGvNnXhidTdNhTtJaffL2sMfw==", "dev": true, "license": "MIT", - "dependencies": { - "array-union": "^2.1.0", - "dir-glob": "^3.0.1", - "fast-glob": "^3.2.9", - "ignore": "^5.2.0", - "merge2": "^1.4.1", - "slash": "^3.0.0" - }, "engines": { - "node": ">=10" + "node": ">=18" }, "funding": { "url": "https://github.com/sponsors/sindresorhus" @@ -2641,15 +2745,6 @@ "integrity": "sha512-H2iMtd0I4Mt5eYiapRdIDjp+XzelXQ0tFE4JS7YFwFevXXMmOp9myNrUvCg0D6ws8iqkRPBfKHgbwig1SmlLfg==", "dev": true }, - "node_modules/human-signals": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/human-signals/-/human-signals-5.0.0.tgz", - "integrity": "sha512-AXcZb6vzzrFAUE61HnN4mpLqd/cSIwNQjtNWR0euPm6y0iqx3G4gOXaIDdtdDwZmhwe82LA6+zinmW4UBWVePQ==", - "dev": true, - "engines": { - "node": ">=16.17.0" - } - }, "node_modules/ignore": { "version": "5.3.1", "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.3.1.tgz", @@ -2693,22 +2788,6 @@ "node": ">=8" } }, - "node_modules/inflight": { - "version": "1.0.6", - "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", - "integrity": "sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==", - "dev": true, - "dependencies": { - "once": "^1.3.0", - "wrappy": "1" - } - }, - "node_modules/inherits": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz", - "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==", - "dev": true - }, "node_modules/is-arrayish": { "version": "0.2.1", "resolved": "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.2.1.tgz", @@ -2778,27 +2857,6 @@ "node": ">=0.12.0" } }, - "node_modules/is-path-inside": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/is-path-inside/-/is-path-inside-3.0.3.tgz", - "integrity": "sha512-Fd4gABb+ycGAmKou8eMftCupSir5lRxqf4aD/vd0cD2qc4HL07OjCeuHMr8Ro4CoMaeCKDB0/ECBOVWjTwUvPQ==", - "dev": true, - "engines": { - "node": ">=8" - } - }, - "node_modules/is-stream": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-3.0.0.tgz", - "integrity": "sha512-LnQR4bZ9IADDRSkvpqMGvt/tEJWclzklNgSw48V5EAaAeDd6qGvN8ei6k5p0tvxSR171VmGyHuTiAOfxAbr8kA==", - "dev": true, - "engines": { - "node": "^12.20.0 || ^14.13.1 || >=16.0.0" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, "node_modules/isexe": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", @@ -2904,7 +2962,8 @@ "version": "3.0.1", "resolved": "https://registry.npmjs.org/json-buffer/-/json-buffer-3.0.1.tgz", "integrity": "sha512-4bV5BfR2mqfQTJm+V5tPPdf+ZpuhiIvTuAB5g8kcrXOZpTT/QwwVRWBywX1ozr6lEuPdbHxwaJlm9G6mI2sfSQ==", - "dev": true + "dev": true, + "license": "MIT" }, "node_modules/json-parse-even-better-errors": { "version": "2.3.1", @@ -2929,6 +2988,7 @@ "resolved": "https://registry.npmjs.org/keyv/-/keyv-4.5.4.tgz", "integrity": "sha512-oxVHkHR/EJf2CNXnWxRLW6mg7JyCCUcG0DtEGmL2ctUo1PNTin1PUil+r/+4r5MpVgC/fn1kjsx7mjSujKqIpw==", "dev": true, + "license": "MIT", "dependencies": { "json-buffer": "3.0.1" } @@ -2979,13 +3039,11 @@ "dev": true }, "node_modules/loupe": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/loupe/-/loupe-3.1.1.tgz", - "integrity": "sha512-edNu/8D5MKVfGVFRhFf8aAxiTM6Wumfz5XsaatSxlD3w4R1d/WEKUTydCdPGbl9K7QG/Ca3GnDV2sIKIpXRQcw==", + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/loupe/-/loupe-3.1.2.tgz", + "integrity": "sha512-23I4pFZHmAemUnz8WZXbYRSKYj801VDaNv9ETuMh7IrMc7VuVVSo+Z9iLE3ni30+U48iDWfi30d3twAXBYmnCg==", "dev": true, - "dependencies": { - "get-func-name": "^2.0.1" - } + "license": "MIT" }, "node_modules/lru-cache": { "version": "10.4.3", @@ -3028,12 +3086,6 @@ "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/merge-stream": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/merge-stream/-/merge-stream-2.0.0.tgz", - "integrity": "sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w==", - "dev": true - }, "node_modules/merge2": { "version": "1.4.1", "resolved": "https://registry.npmjs.org/merge2/-/merge2-1.4.1.tgz", @@ -3054,18 +3106,6 @@ "node": ">=8.6" } }, - "node_modules/mimic-fn": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-4.0.0.tgz", - "integrity": "sha512-vqiC06CuhBTUdZH+RYl8sFrL096vA45Ok5ISO6sE/Mr1jRbGH4Csnhi8f3wKVl7x8mO4Au7Ir9D3Oyv1VYMFJw==", - "dev": true, - "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, "node_modules/min-indent": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/min-indent/-/min-indent-1.0.1.tgz", @@ -3101,10 +3141,11 @@ } }, "node_modules/mock-fs": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/mock-fs/-/mock-fs-5.2.0.tgz", - "integrity": "sha512-2dF2R6YMSZbpip1V1WHKGLNjr/k48uQClqMVb5H3MOvwc9qhYis3/IWbj02qIg/Y8MDXKFF4c5v0rxx2o6xTZw==", + "version": "5.4.0", + "resolved": "https://registry.npmjs.org/mock-fs/-/mock-fs-5.4.0.tgz", + "integrity": "sha512-3ROPnEMgBOkusBMYQUW2rnT3wZwsgfOKzJDLvx/TZ7FL1WmWvwSwn3j4aDR5fLDGtgcc1WF0Z1y0di7c9L4FKw==", "dev": true, + "license": "MIT", "engines": { "node": ">=12.0.0" } @@ -3139,26 +3180,6 @@ "integrity": "sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw==", "dev": true }, - "node_modules/node-fetch": { - "version": "2.7.0", - "resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-2.7.0.tgz", - "integrity": "sha512-c4FRfUm/dbcWZ7U+1Wq0AwCyFL+3nt2bEw05wfxSz+DWpWsitgmSgYmy2dQdWyKC1694ELPqMs/YzUSNozLt8A==", - "dev": true, - "dependencies": { - "whatwg-url": "^5.0.0" - }, - "engines": { - "node": "4.x || >=6.0.0" - }, - "peerDependencies": { - "encoding": "^0.1.0" - }, - "peerDependenciesMeta": { - "encoding": { - "optional": true - } - } - }, "node_modules/node-releases": { "version": "2.0.14", "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.14.tgz", @@ -3186,57 +3207,6 @@ "semver": "bin/semver" } }, - "node_modules/npm-run-path": { - "version": "5.3.0", - "resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-5.3.0.tgz", - "integrity": "sha512-ppwTtiJZq0O/ai0z7yfudtBpWIoxM8yE6nHi1X47eFR2EWORqfbu6CnPlNsjeN683eT0qG6H/Pyf9fCcvjnnnQ==", - "dev": true, - "dependencies": { - "path-key": "^4.0.0" - }, - "engines": { - "node": "^12.20.0 || ^14.13.1 || >=16.0.0" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/npm-run-path/node_modules/path-key": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/path-key/-/path-key-4.0.0.tgz", - "integrity": "sha512-haREypq7xkM7ErfgIyA0z+Bj4AGKlMSdlQE2jvJo6huWD1EdkKYV+G/T4nq0YEF2vgTT8kqMFKo1uHn950r4SQ==", - "dev": true, - "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/once": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", - "integrity": "sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==", - "dev": true, - "dependencies": { - "wrappy": "1" - } - }, - "node_modules/onetime": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/onetime/-/onetime-6.0.0.tgz", - "integrity": "sha512-1FlR+gjXK7X+AsAHso35MnyN5KqGwJRi/31ft6x0M194ht7S+rWAvd7PHss9xSKMzE0asv1pyIHaJYq+BbacAQ==", - "dev": true, - "dependencies": { - "mimic-fn": "^4.0.0" - }, - "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, "node_modules/optionator": { "version": "0.9.3", "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.9.3.tgz", @@ -3338,15 +3308,6 @@ "node": ">=8" } }, - "node_modules/path-is-absolute": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz", - "integrity": "sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg==", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, "node_modules/path-key": { "version": "3.1.1", "resolved": "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz", @@ -3378,35 +3339,27 @@ "url": "https://github.com/sponsors/isaacs" } }, - "node_modules/path-type": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/path-type/-/path-type-4.0.0.tgz", - "integrity": "sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=8" - } - }, "node_modules/pathe": { "version": "1.1.2", "resolved": "https://registry.npmjs.org/pathe/-/pathe-1.1.2.tgz", "integrity": "sha512-whLdWMYL2TwI08hn8/ZqAbrVemu0LNaNNJZX73O6qaIdCTfXutsLhMkjdENX0qhsQ9uIimo4/aQOmXkoon2nDQ==", - "dev": true + "dev": true, + "license": "MIT" }, "node_modules/pathval": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/pathval/-/pathval-2.0.0.tgz", "integrity": "sha512-vE7JKRyES09KiunauX7nd2Q9/L7lhok4smP9RZTDeD4MVs72Dp2qNFVz39Nz5a0FVEW0BJR6C0DYrq6unoziZA==", "dev": true, + "license": "MIT", "engines": { "node": ">= 14.16" } }, "node_modules/picocolors": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.0.1.tgz", - "integrity": "sha512-anP1Z8qwhkbmu7MFP5iTt+wQKXgwzf7zTyGlcdzabySa9vd0Xt392U0rVmz9poOaBj0uHJKyyo9/upk0HrEQew==", + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.1.0.tgz", + "integrity": "sha512-TQ92mBOW0l3LeMeyLV6mzy/kWr8lkd/hp3mTg7wYK7zJhuBStmGMBG0BdeDZS/dZx1IukaX6Bk11zcln25o1Aw==", "dev": true, "license": "ISC" }, @@ -3431,9 +3384,9 @@ } }, "node_modules/postcss": { - "version": "8.4.39", - "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.4.39.tgz", - "integrity": "sha512-0vzE+lAiG7hZl1/9I8yzKLx3aR9Xbof3fBHKunvMfOCYAtMhrsnccJY2iTURb9EZd5+pLuiNV9/c/GZJOHsgIw==", + "version": "8.4.47", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.4.47.tgz", + "integrity": "sha512-56rxCq7G/XfB4EkXq9Egn5GCqugWvDFjafDOThIdMBsI15iqPqR5r15TfSr1YPYeEI19YeaXMCbY6u88Y76GLQ==", "dev": true, "funding": [ { @@ -3452,8 +3405,8 @@ "license": "MIT", "dependencies": { "nanoid": "^3.3.7", - "picocolors": "^1.0.1", - "source-map-js": "^1.2.0" + "picocolors": "^1.1.0", + "source-map-js": "^1.2.1" }, "engines": { "node": "^10 || ^12 || >=14" @@ -3497,21 +3450,17 @@ } }, "node_modules/prettier-plugin-organize-imports": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/prettier-plugin-organize-imports/-/prettier-plugin-organize-imports-4.0.0.tgz", - "integrity": "sha512-vnKSdgv9aOlqKeEFGhf9SCBsTyzDSyScy1k7E0R1Uo4L0cTcOV7c1XQaT7jfXIOc/p08WLBfN2QUQA9zDSZMxA==", + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/prettier-plugin-organize-imports/-/prettier-plugin-organize-imports-4.1.0.tgz", + "integrity": "sha512-5aWRdCgv645xaa58X8lOxzZoiHAldAPChljr/MT0crXVOWTZ+Svl4hIWlz+niYSlO6ikE5UXkN1JrRvIP2ut0A==", "dev": true, "license": "MIT", "peerDependencies": { - "@vue/language-plugin-pug": "^2.0.24", "prettier": ">=2.0", "typescript": ">=2.9", - "vue-tsc": "^2.0.24" + "vue-tsc": "^2.1.0" }, "peerDependenciesMeta": { - "@vue/language-plugin-pug": { - "optional": true - }, "vue-tsc": { "optional": true } @@ -3712,68 +3661,12 @@ "node": ">=0.10.0" } }, - "node_modules/rimraf": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz", - "integrity": "sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==", - "dev": true, - "dependencies": { - "glob": "^7.1.3" - }, - "bin": { - "rimraf": "bin.js" - }, - "funding": { - "url": "https://github.com/sponsors/isaacs" - } - }, - "node_modules/rimraf/node_modules/brace-expansion": { - "version": "1.1.11", - "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", - "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", - "dev": true, - "dependencies": { - "balanced-match": "^1.0.0", - "concat-map": "0.0.1" - } - }, - "node_modules/rimraf/node_modules/glob": { - "version": "7.2.3", - "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz", - "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==", - "dev": true, - "dependencies": { - "fs.realpath": "^1.0.0", - "inflight": "^1.0.4", - "inherits": "2", - "minimatch": "^3.1.1", - "once": "^1.3.0", - "path-is-absolute": "^1.0.0" - }, - "engines": { - "node": "*" - }, - "funding": { - "url": "https://github.com/sponsors/isaacs" - } - }, - "node_modules/rimraf/node_modules/minimatch": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", - "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", - "dev": true, - "dependencies": { - "brace-expansion": "^1.1.7" - }, - "engines": { - "node": "*" - } - }, "node_modules/rollup": { - "version": "4.13.0", - "resolved": "https://registry.npmjs.org/rollup/-/rollup-4.13.0.tgz", - "integrity": "sha512-3YegKemjoQnYKmsBlOHfMLVPPA5xLkQ8MHLLSw/fBrFaVkEayL51DilPpNNLq1exr98F2B1TzrV0FUlN3gWRPg==", + "version": "4.21.1", + "resolved": "https://registry.npmjs.org/rollup/-/rollup-4.21.1.tgz", + "integrity": "sha512-ZnYyKvscThhgd3M5+Qt3pmhO4jIRR5RGzaSovB6Q7rGNrK5cUncrtLmcTTJVSdcKXyZjW8X8MB0JMSuH9bcAJg==", "dev": true, + "license": "MIT", "dependencies": { "@types/estree": "1.0.5" }, @@ -3785,19 +3678,22 @@ "npm": ">=8.0.0" }, "optionalDependencies": { - "@rollup/rollup-android-arm-eabi": "4.13.0", - "@rollup/rollup-android-arm64": "4.13.0", - "@rollup/rollup-darwin-arm64": "4.13.0", - "@rollup/rollup-darwin-x64": "4.13.0", - "@rollup/rollup-linux-arm-gnueabihf": "4.13.0", - "@rollup/rollup-linux-arm64-gnu": "4.13.0", - "@rollup/rollup-linux-arm64-musl": "4.13.0", - "@rollup/rollup-linux-riscv64-gnu": "4.13.0", - "@rollup/rollup-linux-x64-gnu": "4.13.0", - "@rollup/rollup-linux-x64-musl": "4.13.0", - "@rollup/rollup-win32-arm64-msvc": "4.13.0", - "@rollup/rollup-win32-ia32-msvc": "4.13.0", - "@rollup/rollup-win32-x64-msvc": "4.13.0", + "@rollup/rollup-android-arm-eabi": "4.21.1", + "@rollup/rollup-android-arm64": "4.21.1", + "@rollup/rollup-darwin-arm64": "4.21.1", + "@rollup/rollup-darwin-x64": "4.21.1", + "@rollup/rollup-linux-arm-gnueabihf": "4.21.1", + "@rollup/rollup-linux-arm-musleabihf": "4.21.1", + "@rollup/rollup-linux-arm64-gnu": "4.21.1", + "@rollup/rollup-linux-arm64-musl": "4.21.1", + "@rollup/rollup-linux-powerpc64le-gnu": "4.21.1", + "@rollup/rollup-linux-riscv64-gnu": "4.21.1", + "@rollup/rollup-linux-s390x-gnu": "4.21.1", + "@rollup/rollup-linux-x64-gnu": "4.21.1", + "@rollup/rollup-linux-x64-musl": "4.21.1", + "@rollup/rollup-win32-arm64-msvc": "4.21.1", + "@rollup/rollup-win32-ia32-msvc": "4.21.1", + "@rollup/rollup-win32-x64-msvc": "4.21.1", "fsevents": "~2.3.2" } }, @@ -3874,21 +3770,12 @@ "url": "https://github.com/sponsors/isaacs" } }, - "node_modules/slash": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz", - "integrity": "sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=8" - } - }, "node_modules/source-map-js": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/source-map-js/-/source-map-js-1.2.0.tgz", - "integrity": "sha512-itJW8lvSA0TXEphiRoawsCksnlf8SyvmFzIhltqAHluXd88pkCd+cXJVHTDwdCr0IzwptSm035IHQktUu1QUMg==", + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/source-map-js/-/source-map-js-1.2.1.tgz", + "integrity": "sha512-UXWMKhLOwVKb728IUtQPXxfYU+usdybtUrK/8uGE8CQMvrhOpwvzDBwj0QhSL7MQc7vIsISBG8VQ8+IDQxpfQA==", "dev": true, + "license": "BSD-3-Clause", "engines": { "node": ">=0.10.0" } @@ -3991,18 +3878,6 @@ "node": ">=8" } }, - "node_modules/strip-final-newline": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/strip-final-newline/-/strip-final-newline-3.0.0.tgz", - "integrity": "sha512-dOESqjYr96iWYylGObzd39EuNTa5VJxyvVAEm5Jnh7KGo75V43Hk1odPQkNDyXNmUR6k+gEiDVXnjB8HJ3crXw==", - "dev": true, - "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, "node_modules/strip-indent": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/strip-indent/-/strip-indent-3.0.0.tgz", @@ -4089,10 +3964,18 @@ "dev": true }, "node_modules/tinybench": { - "version": "2.8.0", - "resolved": "https://registry.npmjs.org/tinybench/-/tinybench-2.8.0.tgz", - "integrity": "sha512-1/eK7zUnIklz4JUUlL+658n58XO2hHLQfSk1Zf2LKieUjxidN16eKFEoDEfjHc3ohofSSqK3X5yO6VGb6iW8Lw==", - "dev": true + "version": "2.9.0", + "resolved": "https://registry.npmjs.org/tinybench/-/tinybench-2.9.0.tgz", + "integrity": "sha512-0+DUvqWMValLmha6lr4kD8iAMK1HzV0/aKnCtWb9v9641TnP/MFb7Pc2bxoxQjTXAErryXVgUOfv2YqNllqGeg==", + "dev": true, + "license": "MIT" + }, + "node_modules/tinyexec": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/tinyexec/-/tinyexec-0.3.0.tgz", + "integrity": "sha512-tVGE0mVJPGb0chKhqmsoosjsS+qUnJVGJpZgsHYQcGoPlG3B51R3PouqTgEGH2Dc9jjFyOqOpix6ZHNMXp1FZg==", + "dev": true, + "license": "MIT" }, "node_modules/tinypool": { "version": "1.0.0", @@ -4113,10 +3996,11 @@ } }, "node_modules/tinyspy": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/tinyspy/-/tinyspy-3.0.0.tgz", - "integrity": "sha512-q5nmENpTHgiPVd1cJDDc9cVoYN5x4vCvwT3FMilvKPKneCBZAxn2YWQjDF0UMcE9k0Cay1gBiDfTMU0g+mPMQA==", + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/tinyspy/-/tinyspy-3.0.2.tgz", + "integrity": "sha512-n1cw8k1k0x4pgA2+9XrOkFydTerNcJ1zWCO5Nn9scWHTD+5tp8dghT2x1uduQePZTZgd3Tupf+x9BxJjeJi77Q==", "dev": true, + "license": "MIT", "engines": { "node": ">=14.0.0" } @@ -4141,12 +4025,6 @@ "node": ">=8.0" } }, - "node_modules/tr46": { - "version": "0.0.3", - "resolved": "https://registry.npmjs.org/tr46/-/tr46-0.0.3.tgz", - "integrity": "sha512-N3WMsuqV66lT30CrXNbEjx4GEwlow3v6rr4mCcv6prnfwhS01rkgyFdjPNBYd9br7LpXV1+Emh01fHnq2Gdgrw==", - "dev": true - }, "node_modules/ts-api-utils": { "version": "1.3.0", "resolved": "https://registry.npmjs.org/ts-api-utils/-/ts-api-utils-1.3.0.tgz", @@ -4197,22 +4075,10 @@ "node": ">= 0.8.0" } }, - "node_modules/type-fest": { - "version": "0.20.2", - "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.20.2.tgz", - "integrity": "sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ==", - "dev": true, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, "node_modules/typescript": { - "version": "5.5.4", - "resolved": "https://registry.npmjs.org/typescript/-/typescript-5.5.4.tgz", - "integrity": "sha512-Mtq29sKDAEYP7aljRgtPOpTvOfbwRWlS6dPRzwjdE+C0R4brX/GUyhHSecbHMFLNBLcJIPt9nl9yG5TZ1weH+Q==", + "version": "5.6.3", + "resolved": "https://registry.npmjs.org/typescript/-/typescript-5.6.3.tgz", + "integrity": "sha512-hjcS1mhfuyi4WW8IWtjP7brDrG2cuDZukyrYrSauoXGNgx0S7zceP07adYkJycEr56BOUTNPzbInooiN3fn1qw==", "dev": true, "license": "Apache-2.0", "bin": { @@ -4224,10 +4090,11 @@ } }, "node_modules/undici-types": { - "version": "5.26.5", - "resolved": "https://registry.npmjs.org/undici-types/-/undici-types-5.26.5.tgz", - "integrity": "sha512-JlCMO+ehdEIKqlFxk6IfVoAUVmgz7cU7zD/h9XZ0qzeosSHmUJVOzSQvvYSYWXkFXC+IfLKSIffhv0sVZup6pA==", - "dev": true + "version": "6.19.8", + "resolved": "https://registry.npmjs.org/undici-types/-/undici-types-6.19.8.tgz", + "integrity": "sha512-ve2KP6f/JnbPBFyobGHuerC9g1FYGn/F8n1LWTwNxCEzd6IfqTwUQcNXgEtmmQ6DlRrC1hrSrBnCZPokRrDHjw==", + "dev": true, + "license": "MIT" }, "node_modules/update-browserslist-db": { "version": "1.0.13", @@ -4279,15 +4146,15 @@ } }, "node_modules/vite": { - "version": "5.3.5", - "resolved": "https://registry.npmjs.org/vite/-/vite-5.3.5.tgz", - "integrity": "sha512-MdjglKR6AQXQb9JGiS7Rc2wC6uMjcm7Go/NHNO63EwiJXfuk9PgqiP/n5IDJCziMkfw9n4Ubp7lttNwz+8ZVKA==", + "version": "5.4.10", + "resolved": "https://registry.npmjs.org/vite/-/vite-5.4.10.tgz", + "integrity": "sha512-1hvaPshuPUtxeQ0hsVH3Mud0ZanOLwVTneA1EgbAM5LhaZEqyPWGRQ7BtaMvUrTDeEaC8pxtj6a6jku3x4z6SQ==", "dev": true, "license": "MIT", "dependencies": { "esbuild": "^0.21.3", - "postcss": "^8.4.39", - "rollup": "^4.13.0" + "postcss": "^8.4.43", + "rollup": "^4.20.0" }, "bin": { "vite": "bin/vite.js" @@ -4306,6 +4173,7 @@ "less": "*", "lightningcss": "^1.21.0", "sass": "*", + "sass-embedded": "*", "stylus": "*", "sugarss": "*", "terser": "^5.4.0" @@ -4323,6 +4191,9 @@ "sass": { "optional": true }, + "sass-embedded": { + "optional": true + }, "stylus": { "optional": true }, @@ -4335,15 +4206,15 @@ } }, "node_modules/vite-node": { - "version": "2.0.5", - "resolved": "https://registry.npmjs.org/vite-node/-/vite-node-2.0.5.tgz", - "integrity": "sha512-LdsW4pxj0Ot69FAoXZ1yTnA9bjGohr2yNBU7QKRxpz8ITSkhuDl6h3zS/tvgz4qrNjeRnvrWeXQ8ZF7Um4W00Q==", + "version": "2.1.3", + "resolved": "https://registry.npmjs.org/vite-node/-/vite-node-2.1.3.tgz", + "integrity": "sha512-I1JadzO+xYX887S39Do+paRePCKoiDrWRRjp9kkG5he0t7RXNvPAJPCQSJqbGN4uCrFFeS3Kj3sLqY8NMYBEdA==", "dev": true, + "license": "MIT", "dependencies": { "cac": "^6.7.14", - "debug": "^4.3.5", + "debug": "^4.3.6", "pathe": "^1.1.2", - "tinyrainbow": "^1.2.0", "vite": "^5.0.0" }, "bin": { @@ -4357,10 +4228,11 @@ } }, "node_modules/vite-tsconfig-paths": { - "version": "4.3.2", - "resolved": "https://registry.npmjs.org/vite-tsconfig-paths/-/vite-tsconfig-paths-4.3.2.tgz", - "integrity": "sha512-0Vd/a6po6Q+86rPlntHye7F31zA2URZMbH8M3saAZ/xR9QoGN/L21bxEGfXdWmFdNkqPpRdxFT7nmNe12e9/uA==", + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/vite-tsconfig-paths/-/vite-tsconfig-paths-5.0.1.tgz", + "integrity": "sha512-yqwv+LstU7NwPeNqajZzLEBVpUFU6Dugtb2P84FXuvaoYA+/70l9MHE+GYfYAycVyPSDYZ7mjOFuYBRqlEpTig==", "dev": true, + "license": "MIT", "dependencies": { "debug": "^4.1.1", "globrex": "^0.1.2", @@ -4376,29 +4248,30 @@ } }, "node_modules/vitest": { - "version": "2.0.5", - "resolved": "https://registry.npmjs.org/vitest/-/vitest-2.0.5.tgz", - "integrity": "sha512-8GUxONfauuIdeSl5f9GTgVEpg5BTOlplET4WEDaeY2QBiN8wSm68vxN/tb5z405OwppfoCavnwXafiaYBC/xOA==", + "version": "2.1.3", + "resolved": "https://registry.npmjs.org/vitest/-/vitest-2.1.3.tgz", + "integrity": "sha512-Zrxbg/WiIvUP2uEzelDNTXmEMJXuzJ1kCpbDvaKByFA9MNeO95V+7r/3ti0qzJzrxdyuUw5VduN7k+D3VmVOSA==", "dev": true, + "license": "MIT", "dependencies": { - "@ampproject/remapping": "^2.3.0", - "@vitest/expect": "2.0.5", - "@vitest/pretty-format": "^2.0.5", - "@vitest/runner": "2.0.5", - "@vitest/snapshot": "2.0.5", - "@vitest/spy": "2.0.5", - "@vitest/utils": "2.0.5", + "@vitest/expect": "2.1.3", + "@vitest/mocker": "2.1.3", + "@vitest/pretty-format": "^2.1.3", + "@vitest/runner": "2.1.3", + "@vitest/snapshot": "2.1.3", + "@vitest/spy": "2.1.3", + "@vitest/utils": "2.1.3", "chai": "^5.1.1", - "debug": "^4.3.5", - "execa": "^8.0.1", - "magic-string": "^0.30.10", + "debug": "^4.3.6", + "magic-string": "^0.30.11", "pathe": "^1.1.2", "std-env": "^3.7.0", - "tinybench": "^2.8.0", + "tinybench": "^2.9.0", + "tinyexec": "^0.3.0", "tinypool": "^1.0.0", "tinyrainbow": "^1.2.0", "vite": "^5.0.0", - "vite-node": "2.0.5", + "vite-node": "2.1.3", "why-is-node-running": "^2.3.0" }, "bin": { @@ -4413,8 +4286,8 @@ "peerDependencies": { "@edge-runtime/vm": "*", "@types/node": "^18.0.0 || >=20.0.0", - "@vitest/browser": "2.0.5", - "@vitest/ui": "2.0.5", + "@vitest/browser": "2.1.3", + "@vitest/ui": "2.1.3", "happy-dom": "*", "jsdom": "*" }, @@ -4440,36 +4313,18 @@ } }, "node_modules/vitest-fetch-mock": { - "version": "0.3.0", - "resolved": "https://registry.npmjs.org/vitest-fetch-mock/-/vitest-fetch-mock-0.3.0.tgz", - "integrity": "sha512-g6upWcL8/32fXL43/5f4VHcocuwQIi9Fj5othcK9gPO8XqSEGtnIZdenr2IaipDr61ReRFt+vaOEgo8jiUUX5w==", + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/vitest-fetch-mock/-/vitest-fetch-mock-0.4.1.tgz", + "integrity": "sha512-Y6VEV2AgJps1t9NUdhID/vUwarAuhOkPHShfoEruIlQr5+O31hgJ4YmZpU8kVWD3KQjEyZqPeMibWehd7rMq+A==", "dev": true, - "dependencies": { - "cross-fetch": "^4.0.0" - }, + "license": "MIT", "engines": { - "node": ">=14.14.0" + "node": ">=18.0.0" }, "peerDependencies": { "vitest": ">=2.0.0" } }, - "node_modules/webidl-conversions": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-3.0.1.tgz", - "integrity": "sha512-2JAn3z8AR6rjK8Sm8orRC0h/bcl/DqL7tRPdGZ4I1CjdF+EaMLmYxBHyXuKL849eucPFhvBoxMsflfOb8kxaeQ==", - "dev": true - }, - "node_modules/whatwg-url": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-5.0.0.tgz", - "integrity": "sha512-saE57nupxk6v3HY35+jzBwYa0rKSy0XR8JSxZPwgLr7ys0IBzhGviA1/TUGJLmSVqs8pb9AnvICXEuOHLprYTw==", - "dev": true, - "dependencies": { - "tr46": "~0.0.3", - "webidl-conversions": "^3.0.0" - } - }, "node_modules/which": { "version": "2.0.2", "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz", @@ -4598,16 +4453,10 @@ "url": "https://github.com/chalk/strip-ansi?sponsor=1" } }, - "node_modules/wrappy": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", - "integrity": "sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==", - "dev": true - }, "node_modules/yaml": { - "version": "2.5.0", - "resolved": "https://registry.npmjs.org/yaml/-/yaml-2.5.0.tgz", - "integrity": "sha512-2wWLbGbYDiSqqIKoPjar3MPgB94ErzCtrNE1FdqGuaO0pi2JGjmE8aW8TDZwzU7vuxcGRdL/4gPQwQ7hD5AMSw==", + "version": "2.6.0", + "resolved": "https://registry.npmjs.org/yaml/-/yaml-2.6.0.tgz", + "integrity": "sha512-a6ae//JvKDEra2kdi1qzCyrJW/WZCgFi8ydDV+eXExl95t+5R+ijnqHJbz9tmMh8FUjx3iv2fCQ4dclAQlO2UQ==", "dev": true, "license": "ISC", "bin": { diff --git a/cli/package.json b/cli/package.json index 8efbd0652b..7e1eaa8d1c 100644 --- a/cli/package.json +++ b/cli/package.json @@ -1,6 +1,6 @@ { "name": "@immich/cli", - "version": "2.2.13", + "version": "2.2.28", "description": "Command Line Interface (CLI) for Immich", "type": "module", "exports": "./dist/index.js", @@ -13,30 +13,33 @@ "cli" ], "devDependencies": { + "@eslint/eslintrc": "^3.1.0", + "@eslint/js": "^9.8.0", "@immich/sdk": "file:../open-api/typescript-sdk", "@types/byte-size": "^8.1.0", "@types/cli-progress": "^3.11.0", "@types/lodash-es": "^4.17.12", "@types/mock-fs": "^4.13.1", - "@types/node": "^20.14.12", - "@typescript-eslint/eslint-plugin": "^7.0.0", - "@typescript-eslint/parser": "^7.0.0", + "@types/node": "^22.8.1", + "@typescript-eslint/eslint-plugin": "^8.0.0", + "@typescript-eslint/parser": "^8.0.0", "@vitest/coverage-v8": "^2.0.5", "byte-size": "^9.0.0", "cli-progress": "^3.12.0", "commander": "^12.0.0", - "eslint": "^8.56.0", + "eslint": "^9.0.0", "eslint-config-prettier": "^9.1.0", "eslint-plugin-prettier": "^5.1.3", "eslint-plugin-unicorn": "^55.0.0", + "globals": "^15.9.0", "mock-fs": "^5.2.0", "prettier": "^3.2.5", "prettier-plugin-organize-imports": "^4.0.0", "typescript": "^5.3.3", "vite": "^5.0.12", - "vite-tsconfig-paths": "^4.3.2", + "vite-tsconfig-paths": "^5.0.0", "vitest": "^2.0.5", - "vitest-fetch-mock": "^0.3.0", + "vitest-fetch-mock": "^0.4.0", "yaml": "^2.3.1" }, "scripts": { @@ -64,6 +67,6 @@ "lodash-es": "^4.17.21" }, "volta": { - "node": "20.16.0" + "node": "22.11.0" } } diff --git a/cli/src/utils.spec.ts b/cli/src/utils.spec.ts index 0094b329b8..3e7e55fcb6 100644 --- a/cli/src/utils.spec.ts +++ b/cli/src/utils.spec.ts @@ -115,17 +115,7 @@ const tests: Test[] = [ '/albums/image3.jpg': true, }, }, - { - test: 'should support globbing paths', - options: { - pathsToCrawl: ['/photos*'], - }, - files: { - '/photos1/image1.jpg': true, - '/photos2/image2.jpg': true, - '/images/image3.jpg': false, - }, - }, + { test: 'should crawl a single path without trailing slash', options: { diff --git a/cli/src/utils.ts b/cli/src/utils.ts index 67948e0bd2..7bbbb5615b 100644 --- a/cli/src/utils.ts +++ b/cli/src/utils.ts @@ -141,25 +141,21 @@ export const crawl = async (options: CrawlOptions): Promise- Self-hosted photo and - video management solution +
+ Self-hosted{' '} + + photo and + video management{' '} + + solution +
+ ++ Easily back up, organize, and manage your photos on your own server. Immich helps you + browse, search and organize your photos and videos with ease, without + sacrificing your privacy.
Download mobile app
++ Download Immich app and start backing up your photos and videos securely to your own server +
+This project is available under GNU AGPL v3 license.
Privacy should not be a luxury
Last updated: July 31st 2024
++ Welcome to Immich. We are committed to respecting your privacy. This Privacy Policy sets out how we collect, + use, and share information when you use our Immich app. +
++ This Privacy Policy applies to the Immich app ("we", "our", or "us") and covers our collection, use, and + disclosure of your information. This Policy does not cover any third-party websites, services, or + applications that can be accessed through our app, or third-party services you may access through Immich. +
++ Locally Stored Data: Immich stores all your photos, albums, settings, and locally on your + device. We do not have access to this data, nor do we transmit or store it on any of our servers. +
++ Purchase Information: When you make a purchase within the{' '} + https://buy.immich.app, we collect the following information for tax + calculation purposes: +
++ Tax Calculation: The country of origin and postal code (for users from Canada or the United + States) are collected solely for determining the applicable tax rates on your purchase. +
++ We may update our Privacy Policy from time to time. If we make any changes, we will notify you by revising + the "Last updated" date at the top of this policy. It's encouraged that users frequently check this page for + any changes to stay informed about how we are helping to protect the personal information we collect. +
++ If you have any questions about this Privacy Policy, please contact us at{' '} + immich@futo.org +
+This project is available under GNU AGPL v3 license.
+Privacy should not be a luxury
+{label}
هو تسمية التخزين الخاصة بالمستخدم",
"system_settings": "إعدادات النظام",
+ "tag_cleanup_job": "تنظيف العلامة",
"theme_custom_css_settings": "CSS مخصص",
"theme_custom_css_settings_description": "أوراق الأنماط المتتالية تسمح بتخصيص تصميم Immich.",
"theme_settings": "إعدادات السمة",
@@ -278,7 +299,7 @@
"transcoding_preferred_hardware_device": "الجهاز المفضل",
"transcoding_preferred_hardware_device_description": "ينطبق فقط على VAAPI وQSV. يضبط عقدة dri المستخدمة لتحويل ترميز الأجهزة.",
"transcoding_preset_preset": "الضبط المُسبق (-preset)",
- "transcoding_preset_preset_description": "سرعة الضغط. تؤدي الإعدادات المسبقة الأبطأ إلى إنتاج ملفات أصغر حجمًا، وزيادة الجودة عند استهداف معدل بت معين. يتجاهل VP9 السرعات الأعلى من \"الأسرع\".",
+ "transcoding_preset_preset_description": "سرعة الضغط. تؤدي الإعدادات المسبقة الأبطأ إلى إنتاج ملفات أصغر حجمًا، وزيادة الجودة عند استهداف معدل بت معين. يتجاهل VP9 السرعات الأعلى من 'الأسرع'.",
"transcoding_reference_frames": "الإطارات المرجعية",
"transcoding_reference_frames_description": "عدد الإطارات التي يجب الرجوع إليها عند ضغط إطار معين. تعمل القيم الأعلى على تحسين كفاءة الضغط، ولكنها تبطئ عملية التشفير. 0 يضبط هذه القيمة تلقائيًا.",
"transcoding_required_description": "فقط مقاطع الفيديو ذات التنسيق غير المقبول",
@@ -307,6 +328,7 @@
"trash_settings_description": "إدارة إعدادات سلة المهملات",
"untracked_files": "الملفات التي لم يتم تعقبها",
"untracked_files_description": "لا يتم تعقب هذه الملفات بواسطة التطبيق. يمكن أن تكون نتيجة لعمليات نقل فاشلة، أو عمليات تحميل متقطعة، أو يتم تركها في الخلف بسبب خطأ ما",
+ "user_cleanup_job": "تنظيف المستخدم",
"user_delete_delay": "سيتم جدولة حساب {user} ومحتوياته للحذف النهائي في غضون {delay, plural, one {# يوم} other {# أيام}}.",
"user_delete_delay_settings": "فترة التأخير قبل الحذف",
"user_delete_delay_settings_description": "عدد الأيام بعد الإزالة لحذف حساب المستخدم ومحتوياته بشكل دائم. تقوم وظيفة حذف المستخدم بالتشغيل في منتصف الليل للتحقق من المستخدمين الجاهزين للحذف. سيتم تقييم التغييرات على هذا الإعداد في التنفيذ القادم.",
@@ -320,7 +342,8 @@
"user_settings": "إعدادات المستخدم",
"user_settings_description": "إدارة إعدادات المستخدم",
"user_successfully_removed": "تمت إزالة المستخدم {email} بنجاح.",
- "version_check_enabled_description": "تفعيل إرسال طلبات دورية إلى GitHub للتحقق من الإصدارات الجديدة",
+ "version_check_enabled_description": "تفعيل التحقق من الإصدارات الجديدة",
+ "version_check_implications": "تعتمد ميزة التحقق من الإصدار على التواصل الدوري مع github.com",
"version_check_settings": "التحقق من الإصدار",
"version_check_settings_description": "تفعيل/تعطيل الإشعار لإصدار جديد",
"video_conversion_job": "تحويل أشرطة الفيديو",
@@ -336,7 +359,8 @@
"album_added": "تمت إضافة الألبوم",
"album_added_notification_setting_description": "تلقي إشعارًا بالبريد الإلكتروني عند إضافتك إلى ألبوم مشترك",
"album_cover_updated": "تم تحديث غلاف الألبوم",
- "album_delete_confirmation": "هل أنت متأكد أنك تريد حذف الألبوم {album}؟\nإذا تمت مشاركة هذا الألبوم، فلن يتمكن المستخدمون الآخرون من الوصول إليه بعد الآن.",
+ "album_delete_confirmation": "هل أنت متأكد أنك تريد حذف الألبوم {album}؟",
+ "album_delete_confirmation_description": "إذا تمت مشاركة هذا الألبوم، فلن يتمكن المستخدمون الآخرون من الوصول إليه بعد الآن.",
"album_info_updated": "تم تحديث معلومات الألبوم",
"album_leave": "هل تريد مغادرة الألبوم؟",
"album_leave_confirmation": "هل أنت متأكد أنك تريد مغادرة {album}؟",
@@ -360,6 +384,7 @@
"allow_edits": "إسمح بالتعديل",
"allow_public_user_to_download": "السماح لأي مستخدم عام بالتنزيل",
"allow_public_user_to_upload": "السماح للمستخدم العام بالرفع",
+ "anti_clockwise": "عكس اتجاه عقارب الساعة",
"api_key": "مفتاح واجهة برمجة التطبيقات",
"api_key_description": "سيتم عرض هذه القيمة مرة واحدة فقط. يرجى التأكد من نسخها قبل إغلاق النافذة.",
"api_key_empty": "يجب ألا يكون اسم مفتاح API فارغًا",
@@ -380,9 +405,10 @@
"asset_filename_is_offline": "الأصل {filename} غير متصل",
"asset_has_unassigned_faces": "يحتوي الأصل على وجوه غير مخصصة",
"asset_hashing": "التجزئة...",
- "asset_offline": "المحتوى دون اتصال",
- "asset_offline_description": "هذا الأصل غير متصل. لا يستطيع Immic الوصول إلى موقع الملف الخاص به. يرجى التأكد من توفر الأصل ثم إعادة فحص المكتبة.",
+ "asset_offline": "المحتوى غير اتصال",
+ "asset_offline_description": "لم يعد هذا الأصل الخارجي موجودًا على القرص. يرجى الاتصال بمسؤول Immich للحصول على المساعدة.",
"asset_skipped": "تم تخطيه",
+ "asset_skipped_in_trash": "في سلة المهملات",
"asset_uploaded": "تم الرفع",
"asset_uploading": "جارٍ الرفع...",
"assets": "المحتويات",
@@ -393,7 +419,7 @@
"assets_moved_to_trash_count": "تم نقل {count, plural, one {# محتوى} other {# محتويات}} إلى سلة المهملات",
"assets_permanently_deleted_count": "تم حذف {count, plural, one {# هذا المحتوى} other {# هذه المحتويات}} بشكل دائم",
"assets_removed_count": "تمت إزالة {count, plural, one {# محتوى} other {# محتويات}}",
- "assets_restore_confirmation": "هل أنت متأكد أنك تريد استعادة كافة المحتويات المحذوفة؟ لا يمكنك التراجع عن هذا الإجراء!",
+ "assets_restore_confirmation": "هل أنت متأكد من أنك تريد استعادة جميع الأصول المحذوفة؟ لا يمكنك التراجع عن هذا الإجراء! لاحظ أنه لا يمكن استعادة أي أصول غير متصلة بهذه الطريقة.",
"assets_restored_count": "تمت استعادة {count, plural, one {# محتوى} other {# محتويات}}",
"assets_trashed_count": "تم إرسال {count, plural, one {# محتوى} other {# محتويات}} إلى سلة المهملات",
"assets_were_part_of_album_count": "{count, plural, one {هذا المحتوى} other {هذه المحتويات}} في الألبوم بالفعل",
@@ -404,6 +430,7 @@
"birthdate_saved": "تم حفظ تاريخ الميلاد بنجاح",
"birthdate_set_description": "يتم استخدام تاريخ الميلاد لحساب عمر هذا الشخص وقت التقاط الصورة.",
"blurred_background": "خلفية مشوشة",
+ "bugs_and_feature_requests": "الأخطاء وطلبات الميزات",
"build": "يبني",
"build_image": "بناء الصورة",
"bulk_delete_duplicates_confirmation": "هل أنت متأكد من أنك تريد حذف {count, plural, one {# محتوى مكرر} other {# محتويات مكررة}} بالجملة؟ سيحتفظ هذا بأكبر محتوى من كل مجموعة ويحذف جميع النسخ المكررة الأخرى بشكل دائم. لا يمكنك التراجع عن هذا الإجراء!",
@@ -440,9 +467,11 @@
"clear_all_recent_searches": "مسح جميع عمليات البحث الأخيرة",
"clear_message": "إخلاء الرسالة",
"clear_value": "إخلاء القيمة",
+ "clockwise": "باتجاه عقارب الساعة",
"close": "إغلاق",
"collapse": "طي",
"collapse_all": "طيّ الكل",
+ "color": "اللون",
"color_theme": "نمط الألوان",
"comment_deleted": "تم حذف التعليق",
"comment_options": "خيارات التعليق",
@@ -476,6 +505,8 @@
"create_new_person": "إنشاء شخص جديد",
"create_new_person_hint": "تعيين المحتويات المحددة لشخص جديد",
"create_new_user": "إنشاء مستخدم جديد",
+ "create_tag": "إنشاء علامة",
+ "create_tag_description": "أنشئ علامة جديدة. بالنسبة للعلامات المتداخلة، يرجى إدخال المسار الكامل للعلامة بما في ذلك الخطوط المائلة للأمام.",
"create_user": "إنشاء مستخدم",
"created": "تم الإنشاء",
"current_device": "الجهاز الحالي",
@@ -499,13 +530,17 @@
"delete_library": "حذف المكتبة",
"delete_link": "حذف الرابط",
"delete_shared_link": "حذف الرابط المشترك",
+ "delete_tag": "حذف العلامة",
+ "delete_tag_confirmation_prompt": "هل أنت متأكد أنك تريد حذف العلامة {tagName}؟",
"delete_user": "حذف المستخدم",
"deleted_shared_link": "تم حذف الرابط المشارك",
+ "deletes_missing_assets": "حذف الأصول المفقودة من القرص",
"description": "وصف",
"details": "تفاصيل",
"direction": "الإتجاه",
"disabled": "معطل",
"disallow_edits": "منع التعديلات",
+ "discord": "Discord",
"discover": "اكتشف",
"dismiss_all_errors": "تجاهل كافة الأخطاء",
"dismiss_error": "تجاهل الخطأ",
@@ -514,8 +549,11 @@
"display_original_photos": "عرض الصور الأصلية",
"display_original_photos_setting_description": "فضل عرض الصورة الأصلية عند عرض المحتويات بدلاً من الصور المصغرة عندما يكون المحتوى الأصلي متوافقًا مع الويب. قد يؤدي ذلك إلى بطءٍ في سرعات عرض الصور.",
"do_not_show_again": "لا تُظهر هذه الرسالة مرة آخرى",
+ "documentation": "الوثائق",
"done": "تم",
"download": "تنزيل",
+ "download_include_embedded_motion_videos": "مقاطع الفيديو المدمجة",
+ "download_include_embedded_motion_videos_description": "تضمين مقاطع الفيديو المضمنة في الصور المتحركة كملف منفصل",
"download_settings": "التنزيلات",
"download_settings_description": "إدارة الإعدادات المتعلقة بتنزيل المحتويات",
"downloading": "جارٍ التنزيل",
@@ -545,10 +583,15 @@
"edit_location": "تعديل الموقع",
"edit_name": "تعديل الاسم",
"edit_people": "تعديل الأشخاص",
+ "edit_tag": "تعديل العلامة",
"edit_title": "تعديل العنوان",
"edit_user": "تعديل المستخدم",
"edited": "تم التعديل",
- "editor": "",
+ "editor": "محرر",
+ "editor_close_without_save_prompt": "لن يتم حفظ التغييرات",
+ "editor_close_without_save_title": "إغلاق المحرر؟",
+ "editor_crop_tool_h2_aspect_ratios": "نسب العرض إلى الارتفاع",
+ "editor_crop_tool_h2_rotation": "التدوير",
"email": "البريد الإلكتروني",
"empty": "",
"empty_album": "",
@@ -588,6 +631,7 @@
"failed_to_load_asset": "فشل تحميل المحتوى",
"failed_to_load_assets": "فشل تحميل المحتويات",
"failed_to_load_people": "فشل تحميل الأشخاص",
+ "failed_to_remove_product_key": "تعذر إزالة مفتاح المنتج",
"failed_to_stack_assets": "فشل في تكديس المحتويات",
"failed_to_unstack_assets": "فشل في فصل المحتويات",
"import_path_already_exists": "مسار الاستيراد هذا موجود مسبقًا.",
@@ -637,6 +681,7 @@
"unable_to_get_comments_number": "غير قادر على الحصول على عدد التعليقات",
"unable_to_get_shared_link": "فشل الحصول على الرابط المشترك",
"unable_to_hide_person": "غير قادر على إخفاء الشخص",
+ "unable_to_link_motion_video": "غير قادر على ربط فيديو الحركة",
"unable_to_link_oauth_account": "غير قادر على ربط حساب OAuth",
"unable_to_load_album": "غير قادر على تحميل الألبوم",
"unable_to_load_asset_activity": "غير قادر على تحميل نشاط المحتويات",
@@ -653,8 +698,8 @@
"unable_to_remove_api_key": "تعذر إزالة مفتاح API",
"unable_to_remove_assets_from_shared_link": "غير قادر على إزالة المحتويات من الرابط المشترك",
"unable_to_remove_comment": "",
+ "unable_to_remove_deleted_assets": "غير قادر على إزالة الملفات غير المتصلة",
"unable_to_remove_library": "غير قادر على إزالة المكتبة",
- "unable_to_remove_offline_files": "غير قادر على إزالة الملفات غير المتصلة",
"unable_to_remove_partner": "غير قادر على إزالة الشريك",
"unable_to_remove_reaction": "غير قادر على إزالة رد الفعل",
"unable_to_remove_user": "",
@@ -677,6 +722,7 @@
"unable_to_submit_job": "غير قادر على تقديم الوظيفة",
"unable_to_trash_asset": "غير قادر على نقل المحتويات إلى سلة المهملات",
"unable_to_unlink_account": "غير قادر على إلغاء ربط الحساب",
+ "unable_to_unlink_motion_video": "غير قادر على إلغاء ربط فيديو الحركة",
"unable_to_update_album_cover": "غير قادر على تحديث غلاف الألبوم",
"unable_to_update_album_info": "غير قادر على تحديث معلومات الألبوم",
"unable_to_update_library": "غير قادر على تحديث المكتبة",
@@ -697,6 +743,7 @@
"expired": "منتهي الصلاحية",
"expires_date": "تنتهي الصلاحية في {date}",
"explore": "استكشاف",
+ "explorer": "المستكشف",
"export": "تصدير",
"export_as_json": "تصدير كـ JSON",
"extension": "الإمتداد",
@@ -710,6 +757,8 @@
"feature": "",
"feature_photo_updated": "تم تحديث الصورة المميزة",
"featurecollection": "",
+ "features": "الميزات",
+ "features_setting_description": "إدارة ميزات التطبيق",
"file_name": "إسم الملف",
"file_name_or_extension": "اسم الملف أو امتداده",
"filename": "اسم الملف",
@@ -718,6 +767,8 @@
"filter_people": "تصفية الاشخاص",
"find_them_fast": "يمكنك العثور عليها بسرعة بالاسم من خلال البحث",
"fix_incorrect_match": "إصلاح المطابقة غير الصحيحة",
+ "folders": "المجلدات",
+ "folders_feature_description": "تصفح عرض المجلد للصور ومقاطع الفيديو الموجودة على نظام الملفات",
"force_re-scan_library_files": "فرض إعادة فحص جميع ملفات المكتبة",
"forward": "إلى الأمام",
"general": "عام",
@@ -741,7 +792,16 @@
"host": "المضيف",
"hour": "ساعة",
"image": "صورة",
- "image_alt_text_date": "في {date}",
+ "image_alt_text_date": "{isVideo, select, true {Video} other {Image}} تم التقاطها في {date}",
+ "image_alt_text_date_1_person": "{isVideo, select, true {Video} other {Image}} تم التقاطها مع {person1} في {date}",
+ "image_alt_text_date_2_people": "{isVideo, select, true {Video} other {Image}} تم التقاطها مع {person1} و{person2} في {date}",
+ "image_alt_text_date_3_people": "{isVideo, select, true {Video} other {Image}} تم التقاطها مع {person1} و{person2} و{person3} في {date}",
+ "image_alt_text_date_4_or_more_people": "{isVideo, select, true {Video} other {Image}} تم التقاطها مع {person1} و{person2} و{additionalCount, number} آخرين في {date}",
+ "image_alt_text_date_place": "{isVideo, select, true {Video} other {Image}} تم التقاطها في {city}، {country} في {date}",
+ "image_alt_text_date_place_1_person": "{isVideo, select, true {Video} other {Image}} تم التقاطها في {city}، {country} مع {person1} في {date}",
+ "image_alt_text_date_place_2_people": "{isVideo, select, true {Video} other {Image}} تم التقاطها في {city}، {country} مع {person1} و{person2} في {date}",
+ "image_alt_text_date_place_3_people": "{isVideo, select, true {Video} other {Image}} تم التقاطها في {city}، {country} مع {person1}، {person2}، و{person3} في {date}",
+ "image_alt_text_date_place_4_or_more_people": "{isVideo, select, true {Video} other {Image}} تم التقاطها في {city}, {country} with {person1}, {person2}, مع {additionalCount, number} آخرين في {date}",
"image_alt_text_people": "{count, plural, =1 {مع {person1}} =2 {مع {person1} و {person2}} =3 {مع {person1} و {person2} و {person3}} other {مع {person1} و {person2} و {others, number} آخرين}}",
"image_alt_text_place": "في {city}, {country}",
"image_taken": "{isVideo, select, true {تم التقاط الفيديو} other {تم التقاط الصورة}}",
@@ -808,6 +868,7 @@
"license_trial_info_4": "يُرجى التفكير في شراء رخصة لدعم التطوير المستمر للخدمة",
"light": "المضيئ",
"like_deleted": "تم حذف الإعجاب",
+ "link_motion_video": "رابط فيديو الحركة",
"link_options": "خيارات الرابط",
"link_to_oauth": "الربط مع OAuth",
"linked_oauth_account": "حساب مرتبط بـ OAuth",
@@ -847,7 +908,7 @@
"menu": "القائمة",
"merge": "الدمج",
"merge_people": "دمج الأشخاص",
- "merge_people_limit": "يمكنك دمج ما يصل إلى 5 وجوه فقط في المرة الواحدة",
+ "merge_people_limit": "يمكنك دمج حتى 5 وجوه فقط في المرة الواحدة",
"merge_people_prompt": "هل تريد دمج هؤلاء الناس؟ هذا الإجراء لا رجعة فيه.",
"merge_people_successfully": "تم دمج الأشخاص بنجاح",
"merged_people_count": "دمج {count, plural, one {شخص واحد} other {# أشخاص}}",
@@ -862,6 +923,7 @@
"name": "الاسم",
"name_or_nickname": "الاسم أو اللقب",
"never": "أبداً",
+ "new_album": "البوم جديد",
"new_api_key": "مفتاح API جديد",
"new_password": "كلمة المرور الجديدة",
"new_person": "شخص جديد",
@@ -894,18 +956,21 @@
"notifications": "إشعارات",
"notifications_setting_description": "إدارة الإشعارات",
"oauth": "OAuth",
+ "official_immich_resources": "الموارد الرسمية لشركة Immich",
"offline": "غير متصل",
"offline_paths": "مسارات غير متصلة",
"offline_paths_description": "قد تكون هذه النتائج بسبب الحذف اليدوي للملفات التي لا تشكل جزءًا من مكتبة خارجية.",
"ok": "نعم",
"oldest_first": "الأقدم أولا",
"onboarding": "الإعداد الأولي",
+ "onboarding_privacy_description": "تعتمد الميزات التالية (اختياري) على خدمات خارجية، ويمكن تعطيلها في أي وقت في إعدادات الإدارة.",
"onboarding_theme_description": "اختر نسق الألوان للنسخة الخاصة بك. يمكنك تغيير ذلك لاحقًا في إعداداتك.",
"onboarding_welcome_description": "لنقم بإعداد نسختك باستخدام بعض الإعدادات الشائعة.",
"onboarding_welcome_user": "مرحبا، {user}",
"online": "متصل",
"only_favorites": "المفضلة فقط",
"only_refreshes_modified_files": "تحديث الملفات المعدلة فقط",
+ "open_in_map_view": "فتح في عرض الخريطة",
"open_in_openstreetmap": "فتح في OpenStreetMap",
"open_the_search_filters": "افتح مرشحات البحث",
"options": "خيارات",
@@ -940,6 +1005,7 @@
"pending": "قيد الانتظار",
"people": "الأشخاص",
"people_edits_count": "تم تعديل {count, plural, one {# شخص } other {# أشخاص }}",
+ "people_feature_description": "تصفح الصور ومقاطع الفيديو المجمعة حسب الأشخاص",
"people_sidebar_description": "عرض رابط للأشخاص في الشريط الجانبي",
"perform_library_tasks": "",
"permanent_deletion_warning": "تحذير الحذف الدائم",
@@ -971,11 +1037,48 @@
"previous_memory": "الذكرى السابقة",
"previous_or_next_photo": "الصورة السابقة أو التالية",
"primary": "أساسي",
+ "privacy": "الخصوصية",
"profile_image_of_user": "صورة الملف الشخصي لـ {user}",
"profile_picture_set": "مجموعة الصور الشخصية.",
"public_album": "الألبوم العام",
"public_share": "مشاركة عامة",
+ "purchase_account_info": "داعم",
+ "purchase_activated_subtitle": "شكرًا لك على دعمك لـ Immich والبرمجيات مفتوحة المصدر",
+ "purchase_activated_time": "تم التفعيل في {date, date}",
+ "purchase_activated_title": "لقد تم تفعيل مفتاحك بنجاح",
+ "purchase_button_activate": "تنشيط",
+ "purchase_button_buy": "شراء",
+ "purchase_button_buy_immich": "شراء Immich",
+ "purchase_button_never_show_again": "لا تظهر مرة أخرى أبدا",
+ "purchase_button_reminder": "ذكّرني بعد 30 يومًا",
+ "purchase_button_remove_key": "إزالة المفتاح",
+ "purchase_button_select": "تحديد",
+ "purchase_failed_activation": "فشل التنشيط! يرجى التحقق من بريدك الإلكتروني للحصول على مفتاح المنتج الصحيح!",
+ "purchase_individual_description_1": "للفرد",
+ "purchase_individual_description_2": "حالة الداعم",
+ "purchase_individual_title": "فردي",
+ "purchase_input_suggestion": "هل لديك مفتاح المنتج؟ أدخل المفتاح أدناه",
+ "purchase_license_subtitle": "قم بشراء Immich لدعم التطوير المستمر للخدمة",
+ "purchase_lifetime_description": "الشراء لمدى الحياة",
+ "purchase_option_title": "خيارات الشراء",
+ "purchase_panel_info_1": "يتطلب بناء Immich الكثير من الوقت والجهد، ولدينا مهندسون يعملون بدوام كامل لجعله أفضل ما يمكن. مهمتنا هي أن تصبح البرمجيات مفتوحة المصدر وممارسات العمل الأخلاقية مصدر دخل مستدام للمطورين وإنشاء نظام بيئي يحترم الخصوصية مع بدائل حقيقية للخدمات السحابية الاستغلالية.",
+ "purchase_panel_info_2": "نظرًا لأننا ملتزمون بعدم إضافة نظام حظر الاشتراك غير المدفوع، فإن هذا الشراء لن يمنحك أي ميزات إضافية في Immich. نحن نعتمد على المستخدمين مثلك لدعم التطوير المستمر لـ Immich.",
+ "purchase_panel_title": "ادعم المشروع",
+ "purchase_per_server": "لكل خادم",
+ "purchase_per_user": "لكل مستخدم",
+ "purchase_remove_product_key": "إزالة مفتاح المنتج",
+ "purchase_remove_product_key_prompt": "هل أنت متأكد أنك تريد إزالة مفتاح المنتج؟",
+ "purchase_remove_server_product_key": "إزالة مفتاح منتج الخادم",
+ "purchase_remove_server_product_key_prompt": "هل أنت متأكد أنك تريد إزالة مفتاح منتج الخادم؟",
+ "purchase_server_description_1": "للخادم بأكمله",
+ "purchase_server_description_2": "حالة الداعم",
+ "purchase_server_title": "الخادم",
+ "purchase_settings_server_activated": "يتم إدارة مفتاح منتج الخادم من قبل مدير النظام",
"range": "",
+ "rating": "تقييم نجمي",
+ "rating_clear": "مسح التقييم",
+ "rating_count": "{count, plural, one {# نجمة} other {# نجوم}}",
+ "rating_description": "اعرض تقييم EXIF في لوحة المعلومات",
"raw": "",
"reaction_options": "خيارات رد الفعل",
"read_changelog": "قراءة سجل التغيير",
@@ -987,11 +1090,13 @@
"recent_searches": "عمليات البحث الأخيرة",
"refresh": "تحديث",
"refresh_encoded_videos": "تحديث مقاطع الفيديو المشفرة",
+ "refresh_faces": "تحديث الوجوه",
"refresh_metadata": "تحديث البيانات الوصفية",
"refresh_thumbnails": "تحديث الصور المصغرة",
"refreshed": "تم التحديث",
- "refreshes_every_file": "تحديث جميع الملفات",
+ "refreshes_every_file": "إعادة قراءة كافة الملفات الموجودة والجديدة",
"refreshing_encoded_video": "جارٍ تحديث الفيديو المرمز",
+ "refreshing_faces": "جاري تحديث الوجوه",
"refreshing_metadata": "جارٍ تحديث البيانات الوصفية",
"regenerating_thumbnails": "جارٍ تجديد الصور المصغرة",
"remove": "إزالة",
@@ -999,15 +1104,16 @@
"remove_assets_shared_link_confirmation": "هل أنت متأكد أنك تريد إزالة {count, plural, one {# المحتوى} other {# المحتويات}} من رابط المشاركة هذا؟",
"remove_assets_title": "هل تريد إزالة المحتويات؟",
"remove_custom_date_range": "إزالة النطاق الزمني المخصص",
+ "remove_deleted_assets": "إزالة الملفات الغير متصلة",
"remove_from_album": "إزالة من الألبوم",
"remove_from_favorites": "إزالة من المفضلة",
"remove_from_shared_link": "إزالة من الرابط المشترك",
- "remove_offline_files": "إزالة الملفات الغير متصلة",
"remove_user": "إزالة المستخدم",
"removed_api_key": "تم إزالة مفتاح API: {name}",
"removed_from_archive": "تمت إزالتها من الأرشيف",
"removed_from_favorites": "تمت الإزالة من المفضلة",
"removed_from_favorites_count": "{count, plural, other {أُزيلت #}} من التفضيلات",
+ "removed_tagged_assets": "تمت إزالة العلامة من {count, plural, one {# الأصل} other {# الأصول}}",
"rename": "إعادة تسمية",
"repair": "إصلاح",
"repair_no_results_message": "ستظهر هنا الملفات المفقودة وأيضاً التي لم يتم تعقبها",
@@ -1020,6 +1126,7 @@
"reset_people_visibility": "إعادة ضبط ظهور الأشخاص",
"reset_settings_to_default": "",
"reset_to_default": "إعادة التعيين إلى الافتراضي",
+ "resolve_duplicates": "معالجة النسخ المكررة",
"resolved_all_duplicates": "تم حل جميع التكرارات",
"restore": "الاستعاده من سلة المهملات",
"restore_all": "استعادة الكل",
@@ -1038,6 +1145,7 @@
"say_something": "قل شيئًا",
"scan_all_libraries": "فحص كل المكتبات",
"scan_all_library_files": "إعادة فحص كافة ملفات المكتبة",
+ "scan_library": "مسح",
"scan_new_library_files": "فحص ملفات المكتبة الجديدة",
"scan_settings": "إعدادات الفحص",
"scanning_for_album": "جارٍ الفحص عن ألبوم...",
@@ -1053,9 +1161,12 @@
"search_for_existing_person": "البحث عن شخص موجود",
"search_no_people": "لا يوجد أشخاص",
"search_no_people_named": "لا يوجد أشخاص بالاسم \"{name}\"",
+ "search_options": "خيارات البحث",
"search_people": "البحث عن الأشخاص",
"search_places": "البحث عن الأماكن",
+ "search_settings": "إعدادات البحث",
"search_state": "البحث حسب الولاية...",
+ "search_tags": "البحث عن العلامات...",
"search_timezone": "البحث حسب المنطقة الزمنية...",
"search_type": "نوع البحث",
"search_your_photos": "ابحث عن صورك",
@@ -1064,13 +1175,14 @@
"see_all_people": "عرض جميع الأشخاص",
"select_album_cover": "حدد غلاف الألبوم",
"select_all": "تحديد الكل",
- "select_avatar_color": "حدد اللون الرمزي",
- "select_face": "حدد الوجه",
+ "select_all_duplicates": "تحديد جميع النسخ المكررة",
+ "select_avatar_color": "حدد لون الصورة الشخصية",
+ "select_face": "اختيار وجه",
"select_featured_photo": "حدد الصورة المميزة",
"select_from_computer": "اختر من الجهاز",
"select_keep_all": "حدد الاحتفاظ بالكل",
"select_library_owner": "اختر مالِك المكتبة",
- "select_new_face": "حدد الوجه الجديد",
+ "select_new_face": "اختيار وجه جديد",
"select_photos": "حدد الصور",
"select_trash_all": "حدّد حذف الكلِ",
"selected": "المُحدّد",
@@ -1096,6 +1208,7 @@
"shared_by_user": "تمت المشاركة بواسطة {user}",
"shared_by_you": "تمت مشاركته من قِبلك",
"shared_from_partner": "صور من {partner}",
+ "shared_link_options": "خيارات الرابط المشترك",
"shared_links": "روابط مشتركة",
"shared_photos_and_videos_count": "{assetCount, plural, other {# الصور ومقاطع الفيديو المُشارَكة.}}",
"shared_with_partner": "تمت المشاركة مع {partner}",
@@ -1104,6 +1217,7 @@
"sharing_sidebar_description": "اعرض رابطًا للمشاركة في الشريط الجانبي",
"shift_to_permanent_delete": "اضغط على ⇧ لحذف المحتوى نهائيًا",
"show_album_options": "إظهار خيارات الألبوم",
+ "show_albums": "إظهار الألبومات",
"show_all_people": "إظهار جميع الأشخاص",
"show_and_hide_people": "إظهار وإخفاء الأشخاص",
"show_file_location": "إظهار موقع الملف",
@@ -1118,11 +1232,18 @@
"show_person_options": "إظهار خيارات الشخص",
"show_progress_bar": "إظهار شريط التقدم",
"show_search_options": "إظهار خيارات البحث",
+ "show_slideshow_transition": "إظهار انتقال عرض الشرائح",
+ "show_supporter_badge": "شارة المؤيد",
+ "show_supporter_badge_description": "إظهار شارة المؤيد",
"shuffle": "خلط",
+ "sidebar": "الشريط الجانبي",
+ "sidebar_display_description": "عرض رابط للعرض في الشريط الجانبي",
"sign_out": "خروج",
"sign_up": "تسجيل",
"size": "الحجم",
"skip_to_content": "تخطي إلى المحتوى",
+ "skip_to_folders": "تخطي إلى المجلدات",
+ "skip_to_tags": "تخطي إلى العلامات",
"slideshow": "عرض الشرائح",
"slideshow_settings": "إعدادات عرض الشرائح",
"sort_albums_by": "رتب الألبومات حسب...",
@@ -1134,6 +1255,8 @@
"sort_title": "العنوان",
"source": "المصدر",
"stack": "تجميع",
+ "stack_duplicates": "تجميع النسخ المكررة",
+ "stack_select_one_photo": "حدد صورة رئيسية واحدة للمجموعة",
"stack_selected_photos": "كدس الصور المحددة",
"stacked_assets_count": "تم تكديس {count, plural, one {# المحتوى} other {# المحتويات}}",
"stacktrace": "تتّبُع التكديس",
@@ -1151,27 +1274,40 @@
"submit": "إرسال",
"suggestions": "اقتراحات",
"sunrise_on_the_beach": "شروق الشمس على الشاطئ",
+ "support": "الدعم",
+ "support_and_feedback": "الدعم والتعليقات",
+ "support_third_party_description": "تم حزم تثبيت immich الخاص بك بواسطة جهة خارجية. قد تكون المشكلات التي تواجهها ناجمة عن هذه الحزمة، لذا يرجى طرح المشكلات معهم في المقام الأول باستخدام الروابط أدناه.",
"swap_merge_direction": "تبديل اتجاه الدمج",
"sync": "مزامنة",
+ "tag": "العلامة",
+ "tag_assets": "أصول العلامة",
+ "tag_created": "تم إنشاء العلامة: {tag}",
+ "tag_feature_description": "تصفح الصور ومقاطع الفيديو المجمعة حسب مواضيع العلامات المنطقية",
+ "tag_not_found_question": "لا يمكن العثور على علامة؟ قم بإنشاء علامة جديدة.",
+ "tag_updated": "تم تحديث العلامة: {tag}",
+ "tagged_assets": "تم وضع علامة {count, plural, one {# asset} other {# assets}}",
+ "tags": "العلامات",
"template": "النموذج",
"theme": "مظهر",
"theme_selection": "اختيار السمة",
"theme_selection_description": "قم بتعيين السمة تلقائيًا على اللون الفاتح أو الداكن بناءً على تفضيلات نظام المتصفح الخاص بك",
"they_will_be_merged_together": "سيتم دمجهم معًا",
+ "third_party_resources": "موارد الطرف الثالث",
"time_based_memories": "ذكريات استنادًا للوقت",
"timezone": "المنطقة الزمنية",
"to_archive": "أرشفة",
"to_change_password": "تغيير كلمة المرور",
"to_favorite": "تفضيل",
"to_login": "تسجيل الدخول",
+ "to_parent": "انتقل إلى الوالد",
"to_trash": "حذف",
"toggle_settings": "الإعدادات",
- "toggle_theme": "تبديل السمة",
+ "toggle_theme": "تبديل المظهر الداكن",
"toggle_visibility": "تبديل الرؤية",
"total_usage": "الاستخدام الإجمالي",
"trash": "المهملات",
"trash_all": "نقل الكل إلى سلة المهملات",
- "trash_count": "{count} في المهملات",
+ "trash_count": "سلة المحملات {count, number}",
"trash_delete_asset": "حذف/نقل المحتوى إلى سلة المهملات",
"trash_no_results_message": "ستظهر هنا الصور ومقاطع الفيديو المحذوفة.",
"trashed_items_will_be_permanently_deleted_after": "سيتم حذفُ العناصر المحذوفة نِهائيًا بعد {days, plural, one {# يوم} other {# أيام }}.",
@@ -1185,12 +1321,15 @@
"unknown_album": "",
"unknown_year": "سنة غير معروفة",
"unlimited": "غير محدود",
+ "unlink_motion_video": "إلغاء ربط فيديو الحركة",
"unlink_oauth": "إلغاء ربط OAuth",
"unlinked_oauth_account": "تم إلغاء ربط حساب OAuth",
"unnamed_album": "ألبوم بلا إسم",
+ "unnamed_album_delete_confirmation": "هل أنت متأكد أنك تريد حذف هذا الألبوم؟",
"unnamed_share": "مشاركة بلا إسم",
"unsaved_change": "تغيير غير محفوظ",
"unselect_all": "إلغاء تحديد الكل",
+ "unselect_all_duplicates": "إلغاء تحديد كافة النسخ المكررة",
"unstack": "فك الكومه",
"unstacked_assets_count": "تم إخراج {count, plural, one {# الأصل} other {# الأصول}} من التكديس",
"untracked_files": "الملفات التي لم يتم تعقبها",
@@ -1200,7 +1339,7 @@
"upload": "رفع",
"upload_concurrency": "الرفع المتزامن",
"upload_errors": "إكتمل الرفع مع {count, plural, one {# خطأ} other {# أخطاء}}, قم بتحديث الصفحة لرؤية المحتويات الجديدة التي تم رفعها.",
- "upload_progress": "متبقية {remaining} - معالجة {processed}/{total}",
+ "upload_progress": "متبقية {remaining, number} - معالجة {processed, number}/{total, number}",
"upload_skipped_duplicates": "تم تخطي {count, plural, one {# محتوى مكرر} other {# محتويات مكررة }}",
"upload_status_duplicates": "التكرارات",
"upload_status_errors": "الأخطاء",
@@ -1214,6 +1353,8 @@
"user_license_settings": "رخصة",
"user_license_settings_description": "ادر رخصتك",
"user_liked": "قام {user} بالإعجاب {type, select, photo {بهذه الصورة} video {بهذا الفيديو} asset {بهذا المحتوى} other {بها}}",
+ "user_purchase_settings": "الشراء",
+ "user_purchase_settings_description": "إدارة عملية الشراء الخاصة بك",
"user_role_set": "قم بتعيين {user} كـ {role}",
"user_usage_detail": "تفاصيل استخدام المستخدم",
"username": "اسم المستخدم",
@@ -1224,6 +1365,8 @@
"version": "الإصدار",
"version_announcement_closing": "صديقك، أليكس",
"version_announcement_message": "مرحباً يا صديقي، هنالك نسخة جديدة من التطبيق. خذ وقتك لزيارة ملاحظات الإصدار والتأكد من أن ملف docker-compose.yml
وإعداد .env
مُحدّثين لتجنب أي إعدادات خاطئة، خاصةً إذا كنت تستخدم WatchTower أو أي آلية تقوم بتحديث التطبيق تلقائياً.",
+ "version_history": "تاريخ الإصدار",
+ "version_history_item": "تم تثبيت {version} في {date}",
"video": "فيديو",
"video_hover_setting": "تشغيل الصورة المصغرة للفيديو عند التمرير",
"video_hover_setting_description": "تشغيل الصورة المصغرة للفيديو عند تحريك الماوس فوق العنصر. حتى عند التعطيل، يمكن بدء التشغيل عن طريق التمرير فوق رمز التشغيل.",
@@ -1233,6 +1376,7 @@
"view_album": "عرض الألبوم",
"view_all": "عرض الكل",
"view_all_users": "عرض كافة المستخدمين",
+ "view_in_timeline": "عرض في الجدول الزمني",
"view_links": "عرض الروابط",
"view_next_asset": "عرض المحتوى التالي",
"view_previous_asset": "عرض المحتوى السابق",
diff --git a/i18n/az.json b/i18n/az.json
new file mode 100644
index 0000000000..39ce318fa8
--- /dev/null
+++ b/i18n/az.json
@@ -0,0 +1,86 @@
+{
+ "about": "Haqqında",
+ "account": "Hesab",
+ "account_settings": "Hesab parametrləri",
+ "acknowledge": "Təsdiq et",
+ "active": "Aktiv",
+ "activity": "Fəaliyyət",
+ "add": "Əlavə et",
+ "add_a_description": "Təsviri əlavə et",
+ "add_a_location": "Məkan əlavə et",
+ "add_a_name": "Ad əlavə et",
+ "add_a_title": "Başlıq əlavə et",
+ "add_location": "Məkanı əlavə et",
+ "add_more_users": "Daha çox istifadəçi əlavə et",
+ "add_partner": "Partnyor əlavə et",
+ "add_photos": "Şəkilləri əlavə et",
+ "add_to": "... əlavə et",
+ "add_to_album": "Albom əlavə et",
+ "add_to_shared_album": "Paylaşılan alboma əlavə et",
+ "added_to_archive": "Arxivə əlavə edildi",
+ "added_to_favorites": "Sevimlilələrə əlavə edildi",
+ "added_to_favorites_count": "{count, number} şəkil sevimlilələrə əlavə edildi",
+ "admin": {
+ "authentication_settings": "Səlahiyyətləndirmə parametrləri",
+ "authentication_settings_description": "Şifrə, OAuth və digər səlahiyyətləndirmə parametrləri",
+ "authentication_settings_disable_all": "Bütün giriş etmə metodlarını söndürmək istədiyinizdən əminsinizmi? Giriş etmə funksiyası tamamilə söndürüləcəkdir.",
+ "authentication_settings_reenable": "Yenidən aktiv etmək üçün Server Əmri -ni istifadə edin.",
+ "background_task_job": "Arxa plan tapşırıqları",
+ "check_all": "Hamısını yoxla",
+ "confirm_delete_library": "{library} kitabxanasını silmək istədiyinizdən əminmisiniz?",
+ "confirm_email_below": "Təsdiqləmək üçün aşağıya {email} yazın",
+ "confirm_user_password_reset": "{user} adlı istifadəçinin şifrəsini sıfırlamaq istədiyinizdən əminmisiniz?",
+ "disable_login": "Giriş etməni söndür",
+ "duplicate_detection_job_description": "Bənzər şəkilləri tapmaq üçün maşın öyrənməsini işə salın. Bu prosses Smart Search funksiyasına əsaslanır",
+ "external_library_created_at": "Xarici kitabxana ({date} (tarixində yaradıldı)",
+ "external_library_management": "Xarici kitabxana idarəetməsi",
+ "face_detection": "Üz tanıma",
+ "force_delete_user_warning": "XƏBƏRDARLIQ: Bu əməliyyat istifadəçi və bütün məlumatları siləcəkdir. Bu prossesi və silinən faylları geri qaytarmaq olmaz.",
+ "forcing_refresh_library_files": "Bütün kitabxana fayllarını məcburi yeniləmə",
+ "image_format_description": "WebP, JPEG faylına görə daha kiçik həcmə sahibdir, lakin onu kodlaşdırmaq daha çox vaxt alır.",
+ "image_preview_title": "Önizləmə parametrləri",
+ "image_quality": "Keyfiyyət",
+ "image_resolution": "Çözümlülük",
+ "image_resolution_description": "Yüksək çözümlülükdə daha çox detallar vardır, lakin onları kodlaşdırmaq da daha çox vaxt alır, daha böyük həcmə sahib olurlar və tətbiqin işləmə sürətini yavaşladır.",
+ "image_settings": "Şəklin parametrləri",
+ "image_settings_description": "Hazırlanan şəkillərin keyfiyyətini və çözümlülüyünü idarə et",
+ "image_thumbnail_title": "Önizləmə parametrləri",
+ "job_concurrency": "{job}paralellik",
+ "job_created": "Tapşırıq yaradıldı",
+ "job_not_concurrency_safe": "Bu tapşırıq parallel fəaliyyət üçün uyğun deyil",
+ "job_settings": "Tapşırıq parametrləri",
+ "job_settings_description": "Parallel şəkildə fəaliyyət göstərən tapşırıqları idarə et",
+ "job_status": "Tapşırıq statusu",
+ "jobs_delayed": "{jobCount, plural, other {# gecikməli}}",
+ "jobs_failed": "{jobCount, plural, other {# uğursuz}}",
+ "library_created": "{library} kitabxanası yaradıldı",
+ "library_cron_expression": "Kron zamanlaması",
+ "library_cron_expression_description": "Kron zamanlama formatından istifadə edərək skan intervalının təyin edin. Daha çox məlumat üçün Crontab Guru",
+ "library_cron_expression_presets": "Kron zamanlamasının ilkin parametrləri",
+ "library_deleted": "Kitabxana silindi",
+ "library_import_path_description": "İdxal olunacaq qovluöu seçin. Bu qovluq, alt qovluqlar daxil olmaqla şəkil və videolar üçün skan ediləcəkdir.",
+ "library_scanning": "Periodik skan",
+ "library_scanning_description": "Periodik kitabxana skanını confiqurasiya et",
+ "library_scanning_enable_description": "Periodik kitabxana skanını aktivləşdir",
+ "library_settings": "Xarici kitabxana",
+ "library_settings_description": "Xarici kitabxana parametrlərini idarə et",
+ "library_tasks_description": "Kitabxana tapşırıqlarını yerinə yetir",
+ "library_watching_enable_description": "Fayl dəyişiklikləri üçün xarici kitabxanalara baxış keçirin",
+ "library_watching_settings": "Kitabxana nəzarəti (EKSPERİMENTAL)",
+ "library_watching_settings_description": "Dəyişdirilən faylları avtomatik olaraq yoxla",
+ "logging_enable_description": "Jurnalı aktivləşdir",
+ "logging_level_description": "Aktiv edildikdə hansı jurnal səviyyəsi istifadə olunur.",
+ "logging_settings": "",
+ "machine_learning_clip_model": "CLIP modeli",
+ "machine_learning_clip_model_description": "Buradaqeyd olunan CLIP modelinin adı. Modeli dəyişdirdikdən sonra bütün şəkillər üçün 'Ağıllı Axtarış' funksiyasını yenidən işə salmalısınız.",
+ "machine_learning_duplicate_detection": "Dublikat Aşkarlama",
+ "machine_learning_duplicate_detection_enabled": "Dublikat aşkarlamanı aktiv etmək",
+ "machine_learning_duplicate_detection_enabled_description": "Əgər deaktiv edilibsə, birə-bir eyni fayllar yenədə silinəcək.",
+ "machine_learning_duplicate_detection_setting_description": "Bir-birinin dublikatı olan faylları tapmaq üçün CLIP-dən istifadə edin",
+ "machine_learning_enabled": "Maşın öyrənməsini aktiv edin",
+ "machine_learning_enabled_description": "Əgər deaktiv edilərsə, aşağıdakı parametrlərdən asılı olmayaq, bütün Maşın Öyrənmə funksiyaları deaktiv ediləcək.",
+ "machine_learning_facial_recognition": "Üz Tanıma",
+ "machine_learning_facial_recognition_description": "Şəkillərdəki üzləri aşkarla, tanı və qruplaşdır",
+ "machine_learning_facial_recognition_model": "Üz tanıma modeli"
+ }
+}
diff --git a/web/src/lib/i18n/be.json b/i18n/be.json
similarity index 100%
rename from web/src/lib/i18n/be.json
rename to i18n/be.json
diff --git a/web/src/lib/i18n/bg.json b/i18n/bg.json
similarity index 67%
rename from web/src/lib/i18n/bg.json
rename to i18n/bg.json
index 1581d7b952..fde9434e30 100644
--- a/web/src/lib/i18n/bg.json
+++ b/i18n/bg.json
@@ -12,22 +12,23 @@
"add_a_description": "Добави описание",
"add_a_location": "Добави местоположение",
"add_a_name": "Добави име",
- "add_a_title": "Добави заглавие",
+ "add_a_title": "Добавете заглавие",
"add_exclusion_pattern": "Добави модел за изключване",
"add_import_path": "Добави път за импортиране",
- "add_location": "Добави местоположение",
- "add_more_users": "Добави още потребители",
- "add_partner": "Добави партньор",
+ "add_location": "Добавете местоположение",
+ "add_more_users": "Добавете още потребители",
+ "add_partner": "Добавете партньор",
"add_path": "Добави път",
- "add_photos": "Добави снимки",
+ "add_photos": "Добавете снимки",
"add_to": "Добави към...",
"add_to_album": "Добави към албум",
"add_to_shared_album": "Добави към споделен албум",
- "added_to_archive": "Добавено в архива",
- "added_to_favorites": "Добавено към любими",
- "added_to_favorites_count": "Добавени {count} към любими",
+ "added_to_archive": "Добавено към архива",
+ "added_to_favorites": "Добавени към любимите ви",
+ "added_to_favorites_count": "Добавени {count, number} към любими",
"admin": {
"add_exclusion_pattern_description": "Добави модели за изключване. Поддържа се \"globbing\" с помощта на *, ** и ?. За да игнорирате всички файлове в директория с име \"Raw\", използвайте \"**/Raw/**\". За да игнорирате всички файлове, завършващи на \".tif\", използвайте \"**/*.tif\". За да игнорирате абсолютен път, използвайте \"/path/to/ignore/**\".",
+ "asset_offline_description": "Този външен библиотечен елемент не може да бъде открит на диска и е преместен в кошчето за боклук. Ако файлът е преместен в библиотеката, проверете вашата история за нов съответстващ елемент. За да възстановите елемента, моля проверете дали файловият път отдолу може да бъде достъпен от Immich и сканирайте библиотеката.",
"authentication_settings": "Настройки за удостоверяване",
"authentication_settings_description": "Управление на парола, OAuth и други настройки за удостоверяване",
"authentication_settings_disable_all": "Сигурни ли сте, че искате да деактивирате всички методи за вписване? Вписването ще бъде напълно деактивирано.",
@@ -41,6 +42,7 @@
"confirm_email_below": "За потвърждение, моля въведете \"{email}\" отдолу",
"confirm_reprocess_all_faces": "Сигурни ли сте, че искате да се обработят лицата отново? Това ще изчисти всички именувани хора.",
"confirm_user_password_reset": "Сигурни ли сте, че искате да нулирате паролата на {user}?",
+ "create_job": "Създайте задача",
"disable_login": "Изключете вписването",
"duplicate_detection_job_description": "Стартиране машинно обучение на ресурси, за откриване на подобни изображения. Разчита на Интелигентно Търсене",
"exclusion_pattern_description": "Модели за изключване позволяват да игнорирате файлове и папки, когато сканирате вашата библиотека. Това е потребно, ако имате папки, които съдържат файлове, които не искате да импортирате. Примерно - RAW файлове.",
@@ -68,6 +70,7 @@
"image_thumbnail_resolution": "Резолюция на миниатюрните изображения",
"image_thumbnail_resolution_description": "Използва се при разглеждане на групи от снимки (основна времева линия, изглед на албум и др.). По-високите резолюции могат да запазят повече детайли, но отнемат повече време за кодиране, имат по-големи размери на файловете и могат да намалят отзивчивостта на приложението.",
"job_concurrency": "Паралелност на {job}",
+ "job_created": "Задачата е създадена",
"job_not_concurrency_safe": "Тази задача не е безопасна за паралелно изпълнение.",
"job_settings": "Настройки за задачите",
"job_settings_description": "Управление на паралелността на задачите",
@@ -127,16 +130,21 @@
"map_enable_description": "Активиране на картата",
"map_gps_settings": "Настройки на картата и GPS",
"map_gps_settings_description": "Управление на настройките на картата и GPS (обратно геокодиране)",
+ "map_implications": "Функцията за карта разчита на външна услуга (tiles.immich.cloud)",
"map_light_style": "Светъл стил",
"map_manage_reverse_geocoding_settings": "Управление на настройките за обратно геокодиране",
"map_reverse_geocoding": "Обратно геокодиране",
"map_reverse_geocoding_enable_description": "Включване на обратно геокодиране",
"map_reverse_geocoding_settings": "Настройки на опбратно геокодиране",
- "map_settings": "Настройки на картата",
+ "map_settings": "Карта",
"map_settings_description": "Управление на настройките на картата",
"map_style_description": "URL адрес към файл \"style.json\" за задаване на стил на картата",
"metadata_extraction_job": "Извличане на метаданни",
- "metadata_extraction_job_description": "Извличане на метаданни от всеки ресурс, като GPS и резолюция",
+ "metadata_extraction_job_description": "Извличане на метаданни от всеки от ресурсите, като GPS локация, лица и резолюция на файловете",
+ "metadata_faces_import_setting": "Включи импорт на лице",
+ "metadata_faces_import_setting_description": "Импортирай лица от EXIF данни и помощни файлове",
+ "metadata_settings": "Опции за метаданни",
+ "metadata_settings_description": "Управление на настройките за метаданни",
"migration_job": "Миграция",
"migration_job_description": "Мигриране на миниатюрите за ресурси и лица към най-новата структура на папките",
"no_paths_added": "Няма добавени пътища",
@@ -145,7 +153,7 @@
"note_cannot_be_changed_later": "ВНИМАНИЕ: Това не може да бъде променено по-късно!",
"note_unlimited_quota": "Бележка: Въведете 0 за да нямате лимит на квотата",
"notification_email_from_address": "От адрес",
- "notification_email_from_address_description": "Електронна поща на изпращача, например: \"Immich Photo Server {label}
е етикетът за съхранение на потребителя",
"system_settings": "Системни настройки",
"theme_custom_css_settings": "Персонализиран CSS",
- "theme_custom_css_settings_description": "",
+ "theme_custom_css_settings_description": "Каскадните стилови таблици позволяват персонализиране на дизайна на Immich.",
"theme_settings": "Настройки на темата",
"theme_settings_description": "Управление на персонализирането на уеб интерфейса на Immich",
"these_files_matched_by_checksum": "Тези файлове се сравняват по контролните им суми (checksums)",
"thumbnail_generation_job": "Генериране на миниатюри",
- "thumbnail_generation_job_description": "",
- "transcoding_acceleration_api": "",
- "transcoding_acceleration_api_description": "",
+ "thumbnail_generation_job_description": "Генерирайте големи, малки и замъглени миниатюри за всеки актив, както и миниатюри за всеки човек",
+ "transcoding_acceleration_api": "API за ускоряване",
+ "transcoding_acceleration_api_description": "API интерфейсът, който ще взаимодейства с вашето устройство, за да ускори транскодирането. Тази настройка е „възможно най-доброто“: тя ще се върне към софтуерно транскодиране при повреда. VP9 може и да не работи в зависимост от вашия хардуер.",
"transcoding_acceleration_nvenc": "NVENC (необходим NVIDIA GPU)",
"transcoding_acceleration_qsv": "Quick Sync (необходим 7th поколение Intel CPU или по-ново)",
"transcoding_acceleration_rkmpp": "RKMPP (само на Rockchip SOCs)",
"transcoding_acceleration_vaapi": "VAAPI",
"transcoding_accepted_audio_codecs": "Допустими аудио кодеци",
- "transcoding_accepted_audio_codecs_description": "",
+ "transcoding_accepted_audio_codecs_description": "Изберете кои аудио кодеци не са нужни за разкодиране. Използва се само за определени правила за разкодиране.",
+ "transcoding_accepted_containers": "Приети контейнери",
+ "transcoding_accepted_containers_description": "Изберете кои формати на контейнери не е нужно да бъдат преобразувани в MP4 формат. Използва се само за определени правила за разкодиране.",
"transcoding_accepted_video_codecs": "Приети видео кодеци",
- "transcoding_accepted_video_codecs_description": "",
+ "transcoding_accepted_video_codecs_description": "Изберете кои видео кодеци не трябват за разкодиране. Използва се само за определени правила за разкодиране.",
"transcoding_advanced_options_description": "Опции, които повечето потребители не трябва да променят",
"transcoding_audio_codec": "Аудио кодек",
"transcoding_audio_codec_description": "Opus е опцията с най-високо качество, но има по-ниска съвместимост със стари устройства или софтуер.",
"transcoding_bitrate_description": "Видеоклипове с по-висок от максималния битрейт или не в приет формат",
- "transcoding_codecs_learn_more": "",
+ "transcoding_codecs_learn_more": "За да научите повече за използваната терминология, вижте документацията на FFmpeg за docker-compose.yml
и .env
е актуална, за да се предотвратят неправилни конфигурации, особено ако използвате WatchTower или друг механизъм, който управлява автоматичното актуализиране на вашето приложение.",
"video": "Видеоклип",
"video_hover_setting": "Възпроизвеждане на видеоклип при посочване с мишката",
- "video_hover_setting_description": "",
+ "video_hover_setting_description": "Възпроизвеждане на видеоклипа, когато мишката се движи над елемента. Дори когато е деактивирано, възпроизвеждането може да бъде стартирано чрез задържане на курсора на мишката върху иконата за възпроизвеждане.",
"videos": "Видеоклипове",
- "videos_count": "",
+ "videos_count": "{count, plural, one {# Видео} other {# Видеа}}",
"view": "Преглед",
"view_album": "Разгледай албума",
"view_all": "Преглед на всички",
"view_all_users": "Преглед на всички потребители",
+ "view_in_timeline": "Покажи във времева линия",
"view_links": "Преглед на връзките",
"view_next_asset": "Преглед на следващия файл",
"view_previous_asset": "Преглед на предишния файл",
+ "view_stack": "Покажи в стек",
"viewer": "",
+ "visibility_changed": "Видимостта е променена за {count, plural, one {# person} other {# people}}",
"waiting": "в изчакване",
"warning": "Внимание",
"week": "Седмица",
diff --git a/web/src/lib/i18n/bi.json b/i18n/bi.json
similarity index 99%
rename from web/src/lib/i18n/bi.json
rename to i18n/bi.json
index 7d70cb8434..aa5e3401c0 100644
--- a/web/src/lib/i18n/bi.json
+++ b/i18n/bi.json
@@ -172,7 +172,7 @@
"paths_validated_successfully": "",
"quota_size_gib": "",
"refreshing_all_libraries": "",
- "removing_offline_files": "",
+ "removing_deleted_files": "",
"repair_all": "",
"repair_matched_items": "",
"repaired_items": "",
@@ -485,8 +485,8 @@
"unable_to_refresh_user": "",
"unable_to_remove_album_users": "",
"unable_to_remove_api_key": "",
+ "unable_to_remove_deleted_assets": "",
"unable_to_remove_library": "",
- "unable_to_remove_offline_files": "",
"unable_to_remove_partner": "",
"unable_to_remove_reaction": "",
"unable_to_repair_items": "",
@@ -718,10 +718,10 @@
"refreshed": "",
"refreshes_every_file": "",
"remove": "",
+ "remove_deleted_assets": "",
"remove_from_album": "",
"remove_from_favorites": "",
"remove_from_shared_link": "",
- "remove_offline_files": "",
"removed_api_key": "",
"rename": "",
"repair": "",
diff --git a/web/src/lib/i18n/ca.json b/i18n/ca.json
similarity index 86%
rename from web/src/lib/i18n/ca.json
rename to i18n/ca.json
index c9f06223e5..86d85becf7 100644
--- a/web/src/lib/i18n/ca.json
+++ b/i18n/ca.json
@@ -7,10 +7,10 @@
"actions": "Accions",
"active": "Actiu",
"activity": "Activitat",
- "activity_changed": "L'activitat està {enabled, select, true {enabled} other {disabled}}",
- "add": "Agregar",
- "add_a_description": "Afegir una descripció",
- "add_a_location": "Afegir una ubicació",
+ "activity_changed": "L'activitat està {enabled, select, true {activada} other {desactivada}}",
+ "add": "Afegir",
+ "add_a_description": "Afegiu una descripció",
+ "add_a_location": "Afegiu una ubicació",
"add_a_name": "Afegir un nom",
"add_a_title": "Afegir un títol",
"add_exclusion_pattern": "Afegir un patró d'exclusió",
@@ -28,6 +28,7 @@
"added_to_favorites_count": "{count, number} afegits als preferits",
"admin": {
"add_exclusion_pattern_description": "Afegeix patrons d'eclusió. És permès de l'ús de *, **, i ? (globbing). Per a ignorar els fitxers de qualsevol directori anomenat \"Raw\" introduïu \"**/Raw/**\". Per a ignorar els fitxers acabats en \".tif\" introduïu \"**/*.tif\". Per a ignorar un camí absolut, utilitzeu \"/camí/a/ignorar/**\".",
+ "asset_offline_description": "Aquest recurs de la biblioteca externa ja no es troba al disc i s'ha mogut a la paperera. Si el fitxer s'ha mogut dins de la biblioteca, comproveu la vostra línia de temps per trobar el nou recurs corresponent. Per restaurar aquest recurs, assegureu-vos que Immich pugui accedir a la ruta del fitxer següent i escanegeu la biblioteca.",
"authentication_settings": "Configuració de l'autenticació",
"authentication_settings_description": "Gestiona la contrasenya, OAuth i altres configuracions de l'autenticació",
"authentication_settings_disable_all": "Estàs segur que vols desactivar tots els mètodes d'inici de sessió? L'inici de sessió quedarà completament desactivat.",
@@ -41,6 +42,7 @@
"confirm_email_below": "Per a confirmar, escriviu \"{email}\" a sota",
"confirm_reprocess_all_faces": "Esteu segur que voleu reprocessar totes les cares? Això també esborrarà la gent que heu anomenat.",
"confirm_user_password_reset": "Esteu segur que voleu reinicialitzar la contrasenya de l'usuari {user}?",
+ "create_job": "Crear tasca",
"crontab_guru": "Crontab Guru",
"disable_login": "Deshabiliteu l'inici de sessió",
"disabled": "Deshabilitat",
@@ -49,27 +51,37 @@
"external_library_created_at": "Llibreria externa (creada el {date})",
"external_library_management": "Gestió de llibreries externes",
"face_detection": "Detecció de cares",
- "face_detection_description": "Detecta les cares fent servir aprenentatge automàtic. Per a videos només és té en compte la miniatura. \"Tot\" reprocessa tots els elements. \"Pendent\" encua els elements que encar no han estat processats. Les cares detectades s'encuaran per al Reconeixement Facial després de completar la Detecció Facial, tot agrupant-les entre noves persones o les ja existents.",
- "facial_recognition_job_description": "Agrupa les cares detectades per persona. Aquest pas s'executa després de completar la detecció de cares. \"Tot\" reagrupa totes les cares. \"Pendent\" encua les cares que no tenen cap persona assignada.",
+ "face_detection_description": "Detecta les cares fent servir aprenentatge automàtic. Per a videos només és té en compte la miniatura. \"Actualitzar\" reprocessa tots els elements. \"Resetejar\" esborra tota la informació de cares actuals. \"Pendent\" afegeix a la cua els elements que encara no han estat processats. Les cares detectades s'afegiran a la cua per al Reconeixement Facial després de completar la Detecció Facial, tot agrupant-les entre noves persones o les ja existents.",
+ "facial_recognition_job_description": "Agrupa les cares detectades per persona. Aquest pas s'executa després de completar la detecció de cares. \"Resetejar\" reagrupa totes les cares. \"Pendent\" afegeix a la cua les cares que no tenen cap persona assignada.",
"failed_job_command": "La comanda {command} ha fallat per la tasca: {job}",
"force_delete_user_warning": "COMPTE: Aquesta acció eliminara immediatament l'usuari i els seus elements. Aquesta acció és irreversible i els fitxers no es poden recuperar.",
"forcing_refresh_library_files": "Força l'actualització de tots els fitxers de les biblioteques",
+ "image_format": "Format",
"image_format_description": "WebP genera fitxers més petits que JPEG, però codifica més lentament.",
"image_prefer_embedded_preview": "Prefereix vista prèvia incrustada",
"image_prefer_embedded_preview_setting_description": "Empra vista prèvia incrustada en les fotografies RAW com a entrada per al processament d'imatge, quan sigui possible. Aquesta acció pot produir colors més acurats en algunes imatges, però la qualitat de la vista prèvia depèn de la càmera i la imatge pot tenir més artefactes de compressió.",
"image_prefer_wide_gamut": "Prefereix àmplia gamma",
"image_prefer_wide_gamut_setting_description": "Uitlitza Display P3 per a les miniatures. Això preserva més bé la vitalitat de les imatges amb espais de color àmplis, però les imatges es poden veure diferent en aparells antics amb una versió antiga del navegador. Les imatges sRGB romandran com a sRGB per a evitar canvis de color.",
+ "image_preview_description": "Imatge de mida mitjana amb metadades eliminades, que s'utilitza quan es visualitza un sol recurs i per a l'aprenentatge automàtic",
"image_preview_format": "Format de previsualització",
+ "image_preview_quality_description": "Vista prèvia de la qualitat de l'1 al 100. Més alt és millor, però produeix fitxers més grans i pot reduir la capacitat de resposta de l'aplicació. Establir un valor baix pot afectar la qualitat de l'aprenentatge automàtic.",
"image_preview_resolution": "Resolució de previsualització",
"image_preview_resolution_description": "S'empra al visualitzar una única fotografia i per a l'Aprenentatge Automàtic. L'alta resolució por preservar més detalls però es triga més a codificar, té fitxers més pesats i pot reduir la resposta de l'aplicació.",
+ "image_preview_title": "Paràmetres de previsualització",
"image_quality": "Qualitat",
"image_quality_description": "Qualitat d'imatge de 1 a 100. Un valor més alt millora la qualitat però genera fitxers més pesats.",
+ "image_resolution": "Resolució",
+ "image_resolution_description": "Les resolucions més altes poden conservar més detalls però triguen més a codificar-se, tenen mides de fitxer més grans i poden reduir la capacitat de resposta de l'aplicació.",
"image_settings": "Configuració d'imatges",
"image_settings_description": "Gestiona la qualitat i resolució de les imatges generades",
+ "image_thumbnail_description": "Miniatura petita amb metadades eliminades, que s'utilitza quan es visualitzen grups de fotos com la línia de temps principal",
"image_thumbnail_format": "Format de la miniatura",
+ "image_thumbnail_quality_description": "Qualitat de miniatura d'1 a 100. Més alt és millor, però produeix fitxers més grans i pot reduir la capacitat de resposta de l'aplicació.",
"image_thumbnail_resolution": "Resolució de la miniatura",
"image_thumbnail_resolution_description": "S'empra per a veure grups de fotos (cronologia, vista d'àlbum, etc.). L'alta resolució pot preservar més detalls però triguen més en codificar-se, tenen fitxers més pesats i poden reduir la reactivitat de l'aplicació.",
+ "image_thumbnail_title": "Configuració de miniatures",
"job_concurrency": "{job} concurrència",
+ "job_created": "Tasca creada",
"job_not_concurrency_safe": "Aquesta tasca no és segura per a la conconcurrència.",
"job_settings": "Configuració de les tasques",
"job_settings_description": "Gestiona la concurrència de tasques",
@@ -129,16 +141,21 @@
"map_enable_description": "Habilita característiques del mapa",
"map_gps_settings": "Configuració de mapa i GPS",
"map_gps_settings_description": "Gestiona la configuració de mapa i GPS (Geocodificació inversa)",
+ "map_implications": "La funció mapa depèn del servei extern de tesel·les (tiles.immich.cloud)",
"map_light_style": "Tema clar",
"map_manage_reverse_geocoding_settings": "Gestiona els paràmetres de geocodificació inversa",
"map_reverse_geocoding": "Geocodificació inversa",
"map_reverse_geocoding_enable_description": "Habilita la geocodificació inversa",
"map_reverse_geocoding_settings": "Configuració de Geocodificació Inversa",
- "map_settings": "Configuració del mapa i GPS",
+ "map_settings": "Mapa",
"map_settings_description": "Gestiona la configuració del mapa",
"map_style_description": "URL a un tema del mapa style.json",
"metadata_extraction_job": "Extreure metadades",
- "metadata_extraction_job_description": "Extreu l'informació de metadades de cada element, com per exemple el GPS i la resolució",
+ "metadata_extraction_job_description": "Extreu la informació de metadades de cada element, com per exemple el GPS i la resolució",
+ "metadata_faces_import_setting": "Activar la importació de cares",
+ "metadata_faces_import_setting_description": "Importar cares des de les metadades EXIF de les imatges i arxius auxiliars",
+ "metadata_settings": "Configuració de les metadades",
+ "metadata_settings_description": "Administrar la configuració de les metadades",
"migration_job": "Migració",
"migration_job_description": "Migra les miniatures d'elements i cares cap a la nova estructura de carpetes",
"no_paths_added": "Cap camí afegit",
@@ -147,7 +164,7 @@
"note_cannot_be_changed_later": "NOTA: Això és irreversible!",
"note_unlimited_quota": "Nota: Intruduïu 0 per a quota il·limitada",
"notification_email_from_address": "Des de l'adreça",
- "notification_email_from_address_description": "Adreça de correu electrònic del remitent, per exemple: \"Immich Photo Server {label}
és l'etiqueta d'emmagatzematge de l'usuari",
"system_settings": "Configuració del sistema",
+ "tag_cleanup_job": "Neteja d'etiqueta",
"theme_custom_css_settings": "CSS personalitzat",
"theme_custom_css_settings_description": "Els Fulls d'Estil en Cascada permeten personalitzar el disseny d'Immich.",
"theme_settings": "Configuració del tema",
@@ -266,7 +287,7 @@
"transcoding_hardware_acceleration": "Acceleració de maquinari",
"transcoding_hardware_acceleration_description": "Experimental. Molt més ràpid, però tindrà una qualitat més baixa amb la mateixa taxa de bits",
"transcoding_hardware_decoding": "Descodificació de maquinari",
- "transcoding_hardware_decoding_setting_description": "S'aplica només a NVENC, QSV i RKMPP. Permet l'acceleració d'extrem a extrem en lloc d'accelerar només la codificació. És possible que no funcioni en tots els vídeos.",
+ "transcoding_hardware_decoding_setting_description": "Habilita l'acceleració d'extrem a extrem en lloc d'accelerar només la codificació. És possible que no funcioni en tots els vídeos.",
"transcoding_hevc_codec": "Còdec HEVC",
"transcoding_max_b_frames": "Nombre màxim de B-frames",
"transcoding_max_b_frames_description": "Els valors més alts milloren l'eficiència de la compressió, però alenteixen la codificació. És possible que no sigui compatible amb l'acceleració de maquinari en dispositius antics. 0 desactiva els B-frames, mentre que -1 estableix aquest valor automàticament.",
@@ -278,7 +299,7 @@
"transcoding_preferred_hardware_device": "Dispositiu de maquinari preferit",
"transcoding_preferred_hardware_device_description": "S'aplica només a VAAPI i QSV. Estableix el node dri utilitzat per a la transcodificació de maquinari.",
"transcoding_preset_preset": "Preestablert (-preset)",
- "transcoding_preset_preset_description": "Velocitat de compressió. Els valors predefinits més lents produeixen fitxers més petits i augmenten la qualitat quan s'orienta a una taxa de bits determinada. VP9 ignora les velocitats superiors a \"més ràpides\".",
+ "transcoding_preset_preset_description": "Velocitat de compressió. Els valors predefinits més lents produeixen fitxers més petits i augmenten la qualitat quan s'orienta a una taxa de bits determinada. VP9 ignora les velocitats superiors a 'més ràpides'.",
"transcoding_reference_frames": "Fotogrames de referència",
"transcoding_reference_frames_description": "El nombre de fotogrames a fer referència en comprimir un fotograma determinat. Els valors més alts milloren l'eficiència de la compressió, però alenteixen la codificació. 0 estableix aquest valor automàticament.",
"transcoding_required_description": "Només vídeos que no tenen un format acceptat",
@@ -307,7 +328,8 @@
"trash_settings_description": "Gestiona la configuració de la paperera",
"untracked_files": "Fitxers sense seguiment",
"untracked_files_description": "L'aplicació no fa un seguiment d'aquests fitxers. Poden ser el resultat de moviments fallits, càrregues interrompudes o deixades enrere a causa d'un error",
- "user_delete_delay": "El compte i els recursos de {user} es programaran per a la supressió permanent en {delay, plural, one {# day} other {# days}}.",
+ "user_cleanup_job": "Neteja d'usuari",
+ "user_delete_delay": "El compte i els recursos de {user} es programaran per a la supressió permanent en {delay, plural, one {# dia} other {# dies}}.",
"user_delete_delay_settings": "Retard de la supressió",
"user_delete_delay_settings_description": "Nombre de dies després de la supressió per eliminar permanentment el compte i els elements d'un usuari. El treball de supressió d'usuaris s'executa a mitjanit per comprovar si hi ha usuaris preparats per eliminar. Els canvis en aquesta configuració s'avaluaran en la propera execució.",
"user_delete_immediately": "El compte i els recursos de {user} es posaran a la cua per suprimir-los permanentment immediatament.",
@@ -320,7 +342,8 @@
"user_settings": "Configuració d'usuaris",
"user_settings_description": "Gestiona la configuració dels usuaris",
"user_successfully_removed": "L'usuari {email} s'ha eliminat correctament.",
- "version_check_enabled_description": "Activa sol·licituds periòdiques a GitHub per comprovar si hi ha versions noves",
+ "version_check_enabled_description": "Activa la comprovació de la versió",
+ "version_check_implications": "La funció de comprovació de versions depèn de comunicacions periòdiques amb github.com",
"version_check_settings": "Comprovació de versió",
"version_check_settings_description": "Activa/desactiva la notificació de nova versió",
"video_conversion_job": "Transcodificació de vídeos",
@@ -336,7 +359,8 @@
"album_added": "Àlbum afegit",
"album_added_notification_setting_description": "Rep una notificació per correu quan siguis afegit a un àlbum compartit",
"album_cover_updated": "Portada de l'àlbum actualitzada",
- "album_delete_confirmation": "N'esteu segur que voleu suprimir l'àlbum {album}?\nSi aquest àlbum és compartit, altres usuaris no hi podran accedir més.",
+ "album_delete_confirmation": "Esteu segur que voleu suprimir l'àlbum {album}?",
+ "album_delete_confirmation_description": "Si aquest àlbum es comparteix, els altres usuaris ja no podran accedir-hi.",
"album_info_updated": "Informació de l'àlbum actualitzada",
"album_leave": "Sortir de l'àlbum?",
"album_leave_confirmation": "N'esteu segur que voleu sortir de {album}?",
@@ -351,7 +375,7 @@
"album_user_removed": "{user} eliminat",
"album_with_link_access": "Permet que qualsevol persona que tingui l'enllaç vegi fotos i persones d'aquest àlbum.",
"albums": "Àlbums",
- "albums_count": "{count, plural, one {{count, number} àlbum} other {{count, number} àlbums}}",
+ "albums_count": "{count, plural, one {{count, number} Àlbum} other {{count, number} Àlbums}}",
"all": "Tots",
"all_albums": "Tots els àlbum",
"all_people": "Tota la gent",
@@ -360,6 +384,7 @@
"allow_edits": "Permet editar",
"allow_public_user_to_download": "Permet que l'usuari públic pugui descarregar",
"allow_public_user_to_upload": "Permet que l'usuari públic pugui carregar",
+ "anti_clockwise": "En sentit antihorari",
"api_key": "Clau API",
"api_key_description": "Aquest valor només es mostrarà una vegada. Assegureu-vos de copiar-lo abans de tancar la finestra.",
"api_key_empty": "El nom de la clau de l'API no pot estar buit",
@@ -381,21 +406,22 @@
"asset_has_unassigned_faces": "L'element té cares no assignades",
"asset_hashing": "Hashing...",
"asset_offline": "Element fora de línia",
- "asset_offline_description": "Aquest element està fora de línia. L'Immich no pot accedir a la seva ubicació. Si us plau, assegureu-vos que l'actiu està disponible i després torneu la llibreria.",
+ "asset_offline_description": "Aquest recurs extern ja no es troba al disc. Poseu-vos en contacte amb el vostre administrador d'Immich per obtenir ajuda.",
"asset_skipped": "Saltat",
+ "asset_skipped_in_trash": "A la paperera",
"asset_uploaded": "Carregat",
"asset_uploading": "S'està carregant...",
"assets": "Elements",
"assets_added_count": "{count, plural, one {Afegit un element} other {Afegits # elements}}",
"assets_added_to_album_count": "{count, plural, one {Afegit un element} other {Afegits # elements}} a l'àlbum",
- "assets_added_to_name_count": "S'ha afegit {count, plural, one {# asset} other {# assets}} a {hasName, select, true {{name}} other {new album}}",
- "assets_count": "{count, plural, one {Un element} other {# elements}}",
- "assets_moved_to_trash_count": "{count, plural, one {Un element mogut} other {# elements moguts}} a la paperera",
- "assets_permanently_deleted_count": "{count, plural, one {Un element esborrat} other {# elements esborrats}} permanentment",
- "assets_removed_count": "{count, plural, one {Un element eliminat} other {# elements eliminats}}",
- "assets_restore_confirmation": "Esteu segurs que voleu restaurar tots els teus actius? Aquesta acció no es pot desfer!",
- "assets_restored_count": "{count, plural, one {Un element restaurat} other {# elements restaurats}}",
- "assets_trashed_count": "{count, plural, one {Un element enviat} other {# elements enviats}} a la paperera",
+ "assets_added_to_name_count": "{count, plural, one {S'ha afegit # recurs} other {S'han afegit # recursos}} a {hasName, select, true {{name}} other {new album}}",
+ "assets_count": "{count, plural, one {# recurs} other {# recursos}}",
+ "assets_moved_to_trash_count": "{count, plural, one {# recurs mogut} other {# recursos moguts}} a la paperera",
+ "assets_permanently_deleted_count": "{count, plural, one {# recurs esborrat} other {# recursos esborrats}} permanentment",
+ "assets_removed_count": "{count, plural, one {# element eliminat} other {# elements eliminats}}",
+ "assets_restore_confirmation": "Esteu segurs que voleu restaurar tots els teus actius? Aquesta acció no es pot desfer! Tingueu en compte que els recursos fora de línia no es poden restaurar d'aquesta manera.",
+ "assets_restored_count": "{count, plural, one {# element restaurat} other {# elements restaurats}}",
+ "assets_trashed_count": "{count, plural, one {# element enviat} other {# elements enviats}} a la paperera",
"assets_were_part_of_album_count": "{count, plural, one {L'element ja és} other {Els elements ja són}} part de l'àlbum",
"authorized_devices": "Dispositius autoritzats",
"back": "Enrere",
@@ -404,11 +430,12 @@
"birthdate_saved": "Data de naixement guardada amb èxit",
"birthdate_set_description": "La data de naixement s'utilitza per calcular l'edat d'aquesta persona en el moment d'una foto.",
"blurred_background": "Fons difuminat",
+ "bugs_and_feature_requests": "Errors i sol·licituds de funcions",
"build": "Construeix",
"build_image": "Construeix la imatge",
- "bulk_delete_duplicates_confirmation": "Esteu segur que voleu suprimir de manera massiva {count, plural, one {# duplicate asset} other {# duplicate asset}}? Això mantindrà el recurs més gran de cada grup i esborrarà permanentment tots els altres duplicats. No podeu desfer aquesta acció!",
- "bulk_keep_duplicates_confirmation": "Esteu segur que voleu mantenir {count, plural, one {# duplicate asset} other {# duplicate asset}}? Això resoldrà tots els grups duplicats sense eliminar res.",
- "bulk_trash_duplicates_confirmation": "Esteu segur que voleu enviar a les escombraries {count, plural, one {# duplicate asset} other {# duplicate asset}}? Això mantindrà el recurs més gran de cada grup i eliminarà la resta de duplicats.",
+ "bulk_delete_duplicates_confirmation": "Esteu segur que voleu suprimir de manera massiva {count, plural, one {# recurs duplicat} other {# recursos duplicats}}? Això mantindrà el recurs més gran de cada grup i esborrarà permanentment tots els altres duplicats. No podeu desfer aquesta acció!",
+ "bulk_keep_duplicates_confirmation": "Esteu segur que voleu mantenir {count, plural, one {# recurs duplicat} other {# recursos duplicats}}? Això resoldrà tots els grups duplicats sense eliminar res.",
+ "bulk_trash_duplicates_confirmation": "Esteu segur que voleu enviar a les escombraries {count, plural, one {# recurs duplicat} other {# recursos duplicats}}? Això mantindrà el recurs més gran de cada grup i eliminarà la resta de duplicats.",
"buy": "Comprar Immich",
"camera": "Càmera",
"camera_brand": "Marca de la càmera",
@@ -440,8 +467,11 @@
"clear_all_recent_searches": "Esborra totes les cerques recents",
"clear_message": "Neteja el missatge",
"clear_value": "Neteja el valor",
+ "clockwise": "En sentit horari",
"close": "Tanca",
+ "collapse": "Tanca",
"collapse_all": "Redueix-ho tot",
+ "color": "Color",
"color_theme": "Tema de color",
"comment_deleted": "Comentari esborrat",
"comment_options": "Opcions de comentari",
@@ -464,8 +494,8 @@
"copy_password": "Còpia la contrasenya",
"copy_to_clipboard": "Copiar al porta-retalls",
"country": "País",
- "cover": "",
- "covers": "",
+ "cover": "Portada",
+ "covers": "Portades",
"create": "Crea",
"create_album": "Crear un àlbum",
"create_library": "Crea una llibreria",
@@ -475,6 +505,8 @@
"create_new_person": "Crea una nova persona",
"create_new_person_hint": "Assigna els elements seleccionats a una persona nova",
"create_new_user": "Crea un usuari nou",
+ "create_tag": "Crear etiqueta",
+ "create_tag_description": "Crear una nova etiqueta. Per les etiquetes aniuades, escriu la ruta comperta de l'etiqueta, incloses les barres diagonals.",
"create_user": "Crea un usuari",
"created": "Creat",
"current_device": "Dispositiu actual",
@@ -495,16 +527,20 @@
"delete_api_key_prompt": "Esteu segurs que voleu eliminar aquesta clau API?",
"delete_duplicates_confirmation": "Esteu segurs que voleu eliminar aquests duplicats permanentment?",
"delete_key": "Suprimeix la clau",
- "delete_library": "Suprimeix la llibreria",
+ "delete_library": "Suprimeix la Llibreria",
"delete_link": "Esborra l'enllaç",
"delete_shared_link": "Odstranit sdílený odkaz",
+ "delete_tag": "Eliminar etiqueta",
+ "delete_tag_confirmation_prompt": "Estàs segur que vols eliminar l'etiqueta {tagName}?",
"delete_user": "Suprimeix l'usuari",
"deleted_shared_link": "Suprimeix l'enllaç compartit",
+ "deletes_missing_assets": "Elimina els actius que falten del disc",
"description": "Descripció",
"details": "Detalls",
"direction": "Direcció",
"disabled": "Desactivat",
"disallow_edits": "No permetre les edicions",
+ "discord": "Discord",
"discover": "Descobreix",
"dismiss_all_errors": "Descarta tots els errors",
"dismiss_error": "Descarta l'error",
@@ -513,9 +549,12 @@
"display_original_photos": "Mostra les fotografies originals",
"display_original_photos_setting_description": "Preferiu mostrar la foto original quan visualitzeu un recurs en lloc de miniatures quan el recurs original és compatible amb el web. Això pot provocar una velocitat de visualització de fotos més lenta.",
"do_not_show_again": "No tornis a mostrar aquest missatge",
+ "documentation": "Documentació",
"done": "Fet",
- "download": "Baixar",
- "download_settings": "Baixar",
+ "download": "Descarregar",
+ "download_include_embedded_motion_videos": "Vídeos incrustats",
+ "download_include_embedded_motion_videos_description": "Incloure vídeos incrustats en fotografies en moviment com un arxiu separat",
+ "download_settings": "Descarregar",
"download_settings_description": "Gestioneu la configuració relacionada amb la descàrrega de recursos",
"downloading": "Baixant",
"downloading_asset_filename": "Descarregant l'element {filename}",
@@ -544,10 +583,15 @@
"edit_location": "Edita ubicació",
"edit_name": "Edita el nom",
"edit_people": "Edita la gent",
+ "edit_tag": "Editar etiqueta",
"edit_title": "Edita títol",
"edit_user": "Edita l'usuari",
"edited": "Editat",
"editor": "Editor",
+ "editor_close_without_save_prompt": "No es desaran els canvis",
+ "editor_close_without_save_title": "Tancar l'editor?",
+ "editor_crop_tool_h2_aspect_ratios": "Relació d'aspecte",
+ "editor_crop_tool_h2_rotation": "Rotació",
"email": "Correu electrònic",
"empty": "",
"empty_album": "",
@@ -592,10 +636,10 @@
"failed_to_unstack_assets": "No s'han pogut desapilar els elements",
"import_path_already_exists": "Aquest camí d'importació ja existeix.",
"incorrect_email_or_password": "Correu electrònic o contrasenya incorrectes",
- "paths_validation_failed": "{paths, plural, one {# path} other {# paths}} no ha pogut validar",
+ "paths_validation_failed": "{paths, plural, one {# ruta} other {# rutes}} no ha pogut validar",
"profile_picture_transparent_pixels": "Les fotos de perfil no poden tenir píxels transparents. Per favor, feu zoom in, mogueu la imatge o ambdues.",
"quota_higher_than_disk_size": "Heu establert una quota més gran que la mida de disc",
- "repair_unable_to_check_items": "No es pot comprovar {count, select, one {item} other {items}}",
+ "repair_unable_to_check_items": "No es pot comprovar {count, select, one {l'element} other {els elements}}",
"unable_to_add_album_users": "No es poden afegir usuaris a l'àlbum",
"unable_to_add_assets_to_shared_link": "No s'han pogut afegir els elements a l'enllaç compartit",
"unable_to_add_comment": "No es pot afegir el comentari",
@@ -604,13 +648,13 @@
"unable_to_add_partners": "No es poden afegir companys",
"unable_to_add_remove_archive": "No s'ha pogut {archived, select, true {eliminar l'element de} other {afegir l'element a}} l'arxiu",
"unable_to_add_remove_favorites": "No s'ha pogut {favorite, select, true {afegir l'element als} other {eliminar l'element dels}} preferits",
- "unable_to_archive_unarchive": "No es pot {archived, select, true {archive} other {unarchive}}",
+ "unable_to_archive_unarchive": "No es pot {archived, select, true {arxivar} other {desarxivar}}",
"unable_to_change_album_user_role": "No es pot canviar el rol d'usuari de l'àlbum",
"unable_to_change_date": "No es pot canviar la data",
"unable_to_change_favorite": "No es pot canviar el favorit per a aquest recurs",
"unable_to_change_location": "No es pot canviar la ubicació",
"unable_to_change_password": "No es pot canviar la contrasenya",
- "unable_to_change_visibility": "No es pot canviar la visibilitat de {count, plural, one {# person} other {# people}}",
+ "unable_to_change_visibility": "No es pot canviar la visibilitat de {count, plural, one {# persona} other {# persones}}",
"unable_to_check_item": "",
"unable_to_check_items": "",
"unable_to_complete_oauth_login": "No es pot completar l'inici de sessió OAuth",
@@ -637,6 +681,7 @@
"unable_to_get_comments_number": "No es pot obtenir el nombre de comentaris",
"unable_to_get_shared_link": "No s'ha pogut obtenir l'enllaç compartit",
"unable_to_hide_person": "No es pot amagar la persona",
+ "unable_to_link_motion_video": "No es pot enllaçar el vídeo en moviment",
"unable_to_link_oauth_account": "No es pot enllaçar el compte OAuth",
"unable_to_load_album": "No es pot carregar l'àlbum",
"unable_to_load_asset_activity": "No es pot carregar l'activitat dels recursos",
@@ -646,15 +691,15 @@
"unable_to_log_out_device": "No es pot tancar la sessió del dispositiu",
"unable_to_login_with_oauth": "No es pot iniciar sessió amb OAuth",
"unable_to_play_video": "No es pot reproduir el vídeo",
- "unable_to_reassign_assets_existing_person": "No es poden reassignar recursos a {name, select, null {an existing person} other {{name}}}",
+ "unable_to_reassign_assets_existing_person": "No es poden reassignar recursos a {name, select, null {una persona existent} other {{name}}}",
"unable_to_reassign_assets_new_person": "No es poden reassignar recursos a una persona nova",
"unable_to_refresh_user": "No es pot actualitzar l'usuari",
"unable_to_remove_album_users": "No es poden eliminar usuaris de l'àlbum",
"unable_to_remove_api_key": "No es pot eliminar la clau de l'API",
"unable_to_remove_assets_from_shared_link": "No es poden eliminar recursos de l'enllaç compartit",
"unable_to_remove_comment": "",
+ "unable_to_remove_deleted_assets": "No es poden eliminar els fitxers fora de línia",
"unable_to_remove_library": "No es pot eliminar la biblioteca",
- "unable_to_remove_offline_files": "No es poden eliminar els fitxers fora de línia",
"unable_to_remove_partner": "No es pot eliminar company/a",
"unable_to_remove_reaction": "No es pot eliminar la reacció",
"unable_to_remove_user": "",
@@ -677,6 +722,7 @@
"unable_to_submit_job": "No es pot enviar la tasca",
"unable_to_trash_asset": "No es pot eliminar el recurs a la paperera",
"unable_to_unlink_account": "No es pot desenllaçar el compte",
+ "unable_to_unlink_motion_video": "No es pot desvincular el vídeo en moviment",
"unable_to_update_album_cover": "No es pot actualitzar la portada de l'àlbum",
"unable_to_update_album_info": "No es pot actualitzar la informació de l'àlbum",
"unable_to_update_library": "No es pot actualitzar la biblioteca",
@@ -690,12 +736,14 @@
"every_night_at_midnight": "",
"every_night_at_twoam": "",
"every_six_hours": "",
+ "exif": "Exif",
"exit_slideshow": "Surt de la presentació de diapositives",
"expand_all": "Ampliar-ho tot",
"expire_after": "Caduca després de",
"expired": "Caducat",
"expires_date": "Caduca el {date}",
"explore": "Explorar",
+ "explorer": "Explorador",
"export": "Exporta",
"export_as_json": "Exportar com a JSON",
"extension": "Extensió",
@@ -709,14 +757,18 @@
"feature": "",
"feature_photo_updated": "Foto destacada actualitzada",
"featurecollection": "",
+ "features": "Característiques",
+ "features_setting_description": "Administrar les funcions de l'aplicació",
"file_name": "Nom de l'arxiu",
"file_name_or_extension": "Nom de l'arxiu o extensió",
- "filename": "Nom de l'arxiu",
+ "filename": "Nom del fitxer",
"files": "",
"filetype": "Tipus d'arxiu",
"filter_people": "Filtra persones",
"find_them_fast": "Trobeu-los ràpidament pel nom amb la cerca",
"fix_incorrect_match": "Corregiu la coincidència incorrecta",
+ "folders": "Carpetes",
+ "folders_feature_description": "Explorar la vista de carpetes per les fotos i vídeos del sistema d'arxius",
"force_re-scan_library_files": "Força a tornar a escanejar tots els fitxers de la biblioteca",
"forward": "Endavant",
"general": "General",
@@ -751,11 +803,11 @@
"image_alt_text_date_place_3_people": "{isVideo, select, true {Video} other {Image}} pres/a a {city}, {country} amb {person1}, {person2}, i {person3} el {date}",
"image_alt_text_date_place_4_or_more_people": "{isVideo, select, true {Video} other {Image}} pres/a a {city}, {country} amb {person1}, {person2}, i {additionalCount, number} altres el {date}",
"img": "",
- "immich_logo": "",
+ "immich_logo": "Logotip d'Immich",
"immich_web_interface": "Interfície web Immich",
"import_from_json": "Importar des de JSON",
"import_path": "Ruta d'importació",
- "in_albums": "A {count, plural, one {# album} other {# albums}}",
+ "in_albums": "A {count, plural, one {# àlbum} other {# àlbums}}",
"in_archive": "En arxiu",
"include_archived": "Incloure arxivats",
"include_shared_albums": "Inclou àlbums compartits",
@@ -774,6 +826,7 @@
"job_settings_description": "",
"jobs": "Tasques",
"keep": "Mantenir",
+ "keep_all": "Mantenir-ho tot",
"keyboard_shortcuts": "Dreceres de teclat",
"language": "Idioma",
"language_setting_description": "Seleccioneu el vostre idioma",
@@ -800,6 +853,7 @@
"license_trial_info_3": "{accountAge, plural, one {# dia} other {# dies}}",
"light": "Llum",
"like_deleted": "M'agrada suprimit",
+ "link_motion_video": "Enllaçar vídeo en moviment",
"link_options": "Opcions d'enllaç",
"link_to_oauth": "Enllaç a OAuth",
"linked_oauth_account": "Compte OAuth enllaçat",
@@ -818,8 +872,9 @@
"look": "Aspecte",
"loop_videos": "Vídeos en bucle",
"loop_videos_description": "Habilita la reproducció en bucle del vídeo en els detalls.",
+ "main_branch_warning": "Esteu usant una versió de desenvolupaent. Recomanem fer servir una versió publicada!",
"make": "Fabricant",
- "manage_shared_links": "Spravovat sdílené odkazy",
+ "manage_shared_links": "Administrar enllaços compartits",
"manage_sharing_with_partners": "Gestiona la compartició amb els companys",
"manage_the_app_settings": "Gestioneu la configuració de l'aplicació",
"manage_your_account": "Gestiona el teu compte",
@@ -842,7 +897,7 @@
"merge_people_limit": "Només pots combinar fins a 5 cares alhora",
"merge_people_prompt": "Vols combinar aquestes persones? Aquesta acció és irreversible.",
"merge_people_successfully": "Persones combinades amb èxit",
- "merged_people_count": "Combinades {count, plural, one {# person} other {# people}}",
+ "merged_people_count": "Combinades {count, plural, one {# persona} other {# persones}}",
"minimize": "Minimitza",
"minute": "Minut",
"missing": "Restants",
@@ -887,17 +942,21 @@
"notifications": "Notificacions",
"notifications_setting_description": "Gestiona les notificacions",
"oauth": "OAuth",
+ "official_immich_resources": "Recursos oficials d'Immich",
"offline": "Fora de línia",
"offline_paths": "Rutes fora de línia",
"offline_paths_description": "Aquests resultats poden ser deguts a la supressió manual de fitxers que no formen part d'una biblioteca externa.",
"ok": "D'acord",
"oldest_first": "El més vell primer",
+ "onboarding": "Incorporació",
+ "onboarding_privacy_description": "Les següents funcions (opcionals) depenen de serveis externs i poden desactivarse en qualsevol moment de dels ajustos.",
"onboarding_theme_description": "Trieu un tema de color per a la vostra instància. Podeu canviar-ho més endavant a la vostra configuració.",
"onboarding_welcome_description": "Configurem la vostra instància amb alguns paràmetres habituals.",
"onboarding_welcome_user": "Benvingut, {user}",
"online": "En línia",
"only_favorites": "Només preferits",
"only_refreshes_modified_files": "Només actualitza els fitxers modificats",
+ "open_in_map_view": "Obrir a la vista del mapa",
"open_in_openstreetmap": "Obre a OpenStreetMap",
"open_the_search_filters": "Obriu els filtres de cerca",
"options": "Opcions",
@@ -931,7 +990,8 @@
"paused": "En pausa",
"pending": "Pendent",
"people": "Persones",
- "people_edits_count": "{count, plural, one {Una persona editada} other {# persones editades}}",
+ "people_edits_count": "{count, plural, one {# persona editada} other {# persones editades}}",
+ "people_feature_description": "Explorar fotos i vídeos agrupades per persona",
"people_sidebar_description": "Mostrar un enllaç a Persones a la barra lateral",
"perform_library_tasks": "",
"permanent_deletion_warning": "Avís d'eliminació permanent",
@@ -940,13 +1000,13 @@
"permanently_delete_assets_count": "Eliminar permanentment {count, plural, one {l'element} other {els elements}}",
"permanently_delete_assets_prompt": "Esteu segur que voleu suprimir permanentment {count, plural, one {aquest recurs?} other {aquests # recursos?}} Això també {count, plural, one {el} other {els}} suprimirà del seu àlbum.",
"permanently_deleted_asset": "Element eliminat permanentment",
- "permanently_deleted_assets_count": "{count, plural, one {S'ha eliminat un element} other {S'han eliminat # elements}} permanentment",
+ "permanently_deleted_assets_count": "{count, plural, one {S'ha eliminat # element} other {S'han eliminat # elements}} permanentment",
"person": "Persona",
"person_hidden": "{name}{hidden, select, true { (ocultat)} other {}}",
"photo_shared_all_users": "Sembla que has compartit les teves fotos amb tots els usuaris o no tens cap usuari amb qui compartir-les.",
"photos": "Fotos",
"photos_and_videos": "Fotos i vídeos",
- "photos_count": "{count, plural, one {{count, number} foto} other {{count, number} fotos}}",
+ "photos_count": "{count, plural, one {{count, number} Foto} other {{count, number} Fotos}}",
"photos_from_previous_years": "Fotos d'anys anteriors",
"pick_a_location": "Triar una ubicació",
"place": "Lloc",
@@ -963,10 +1023,12 @@
"previous_memory": "Memòria anterior",
"previous_or_next_photo": "Foto anterior o següent",
"primary": "Primària",
+ "privacy": "Privacitat",
"profile_image_of_user": "Imatge de perfil de {user}",
"profile_picture_set": "Imatge de perfil configurada.",
"public_album": "Àlbum públic",
"public_share": "Compartit públicament",
+ "purchase_account_info": "Contribuent",
"purchase_activated_subtitle": "Gràcies per donar suport a Immich i al programari de codi obert",
"purchase_activated_time": "Activat el {date, date}",
"purchase_activated_title": "La teva clau s'ha activat correctament",
@@ -979,6 +1041,8 @@
"purchase_button_select": "Seleccioneu",
"purchase_failed_activation": "No s'ha pogut activar! Si us plau, comproveu el vostre correu electrònic per trobar la clau de producte correcta!",
"purchase_individual_description_1": "Per a un particular",
+ "purchase_individual_description_2": "Estat de la contribució",
+ "purchase_individual_title": "Individual",
"purchase_input_suggestion": "Tens una clau de producte? Introduïu la clau a continuació",
"purchase_license_subtitle": "Compra Immich per donar suport al desenvolupament continuat del servei",
"purchase_lifetime_description": "Compra de per vida",
@@ -993,25 +1057,32 @@
"purchase_remove_server_product_key": "Elimina la clau de producte del servidor",
"purchase_remove_server_product_key_prompt": "Esteu segur que voleu eliminar la clau de producte del servidor?",
"purchase_server_description_1": "Per a tot el servidor",
+ "purchase_server_description_2": "Estat del contribuent",
"purchase_server_title": "Servidor",
"purchase_settings_server_activated": "La clau de producte del servidor la gestiona l'administrador",
"range": "",
+ "rating": "Valoració",
+ "rating_clear": "Esborrar valoració",
+ "rating_count": "{count, plural, one {# estrella} other {# estrelles}}",
+ "rating_description": "Mostrar la valoració EXIF al panell d'informació",
"raw": "",
"reaction_options": "Opcions de reacció",
"read_changelog": "Llegeix el registre de canvis",
"reassign": "Reassignar",
- "reassigned_assets_to_existing_person": "S'ha reassignat {count, plural, one {# recurs} other {# recursos}} a {name, select, null {una persona existent} other {{name}}}",
- "reassigned_assets_to_new_person": "S'ha reassignat {count, plural, one {# recurs} other {# recursos}} a una persona nova",
+ "reassigned_assets_to_existing_person": "{count, plural, one {S'ha reassignat # recurs} other {S'han reassignat # recursos}} a {name, select, null {una persona existent} other {{name}}}",
+ "reassigned_assets_to_new_person": "{count, plural, one {S'ha reassignat # recurs} other {S'han reassignat # recursos}} a una persona nova",
"reassing_hint": "Assignar els elements seleccionats a una persona existent",
"recent": "Recent",
"recent_searches": "Cerques recents",
"refresh": "Actualitzar",
"refresh_encoded_videos": "Actualitza vídeos codificats",
+ "refresh_faces": "Actualitzar cares",
"refresh_metadata": "Actualitzar les metadades",
"refresh_thumbnails": "Actualitzar la miniatura",
"refreshed": "Actualitzat",
- "refreshes_every_file": "Actualitza tots els fitxers",
+ "refreshes_every_file": "Torna a llegir tots els fitxers existents i nous",
"refreshing_encoded_video": "S'està actualitzant el vídeo codificat",
+ "refreshing_faces": "Refrescant cares",
"refreshing_metadata": "Actualitzant les metadades",
"regenerating_thumbnails": "Regenerant les miniatures",
"remove": "Eliminar",
@@ -1019,16 +1090,17 @@
"remove_assets_shared_link_confirmation": "Esteu segur que voleu eliminar {count, plural, one {# recurs} other {# recursos}} d'aquest enllaç compartit?",
"remove_assets_title": "Eliminar els elements?",
"remove_custom_date_range": "Elimina l'interval de dates personalitzat",
+ "remove_deleted_assets": "Suprimeix fitxers fora de línia",
"remove_from_album": "Treu de l'àlbum",
"remove_from_favorites": "Eliminar dels preferits",
"remove_from_shared_link": "Eliminar de l'enllaç compartit",
- "remove_offline_files": "Suprimeix fitxers fora de línia",
"remove_user": "Eliminar l'usuari",
"removed_api_key": "Eliminada la clau d'API: {name}",
"removed_from_archive": "Eliminat de l'arxiu",
"removed_from_favorites": "Eliminat dels preferits",
- "removed_from_favorites_count": "{count, plural, other {Removed #}} dels preferits",
- "rename": "Canvia el nom",
+ "removed_from_favorites_count": "{count, plural, other {# eliminats}} dels preferits",
+ "removed_tagged_assets": "Etiqueta eliminada de {count, plural, one {# actiu} other {# actius}}",
+ "rename": "Canviar nom",
"repair": "Reparació",
"repair_no_results_message": "Els fitxers sense seguiment i que falten es mostraran aquí",
"replace_with_upload": "Substituir amb una pujada",
@@ -1050,6 +1122,7 @@
"retry_upload": "Torna a provar de pujar",
"review_duplicates": "Revisar duplicats",
"role": "Rol",
+ "role_editor": "Editor",
"role_viewer": "Visor",
"save": "Desa",
"saved_api_key": "Clau d'API guardada",
@@ -1058,6 +1131,7 @@
"say_something": "Digues quelcom",
"scan_all_libraries": "Escanejar totes les llibreries",
"scan_all_library_files": "Re-escanejar tots els fitxers de la llibreria",
+ "scan_library": "Escaneja",
"scan_new_library_files": "Escanejar nous fitxers de la llibreria",
"scan_settings": "Configuració d'escaneig",
"scanning_for_album": "S'està buscant l'àlbum...",
@@ -1065,6 +1139,7 @@
"search_albums": "Buscar àlbums",
"search_by_context": "Buscar per context",
"search_by_filename": "Cerca per nom de fitxer o extensió",
+ "search_by_filename_example": "per exemple IMG_1234.JPG o PNG",
"search_camera_make": "Buscar per fabricant de càmara...",
"search_camera_model": "Buscar per model de càmera...",
"search_city": "Buscar per ciutat...",
@@ -1072,9 +1147,12 @@
"search_for_existing_person": "Busca una persona existent",
"search_no_people": "Cap persona",
"search_no_people_named": "Cap persona anomenada \"{name}\"",
+ "search_options": "Opcions de cerca",
"search_people": "Buscar persones",
"search_places": "Buscar llocs",
+ "search_settings": "Configuració de cerca",
"search_state": "Buscar per regió...",
+ "search_tags": "Cercant etiquetes...",
"search_timezone": "Buscar per fus horari...",
"search_type": "Buscar per tipus",
"search_your_photos": "Cerca les teves fotos",
@@ -1116,6 +1194,7 @@
"shared_by_user": "Compartit per {user}",
"shared_by_you": "Compartit per tu",
"shared_from_partner": "Fotos de {partner}",
+ "shared_link_options": "Opcions d'enllaços compartits",
"shared_links": "Enllaços compartits",
"shared_photos_and_videos_count": "{assetCount, plural, other {# fotos i vídeos compartits.}}",
"shared_with_partner": "Compartit amb {partner}",
@@ -1124,6 +1203,7 @@
"sharing_sidebar_description": "Mostra un enllaç a Compartit a la barra lateral",
"shift_to_permanent_delete": "premeu ⇧ per suprimir el recurs permanentment",
"show_album_options": "Mostra les opcions d'àlbum",
+ "show_albums": "Mostrar àlbums",
"show_all_people": "Veure totes les persones",
"show_and_hide_people": "Mostra i amaga persones",
"show_file_location": "Mostra l'ubicació del fitxer",
@@ -1138,11 +1218,18 @@
"show_person_options": "Mostra opcions de la persona",
"show_progress_bar": "Mostra barra de progrés",
"show_search_options": "Mostra opcions de cerca",
+ "show_slideshow_transition": "Mostra la transició de la presentació de diapositives",
+ "show_supporter_badge": "Insígnia de contribuent",
+ "show_supporter_badge_description": "Mostra una insígnia de contributor",
"shuffle": "Mescla",
+ "sidebar": "Barra lateral",
+ "sidebar_display_description": "Mostra un enllaç a la vista a la barra lateral",
"sign_out": "Tanca sessió",
"sign_up": "Registrar-se",
"size": "Mida",
"skip_to_content": "Salta al contingut",
+ "skip_to_folders": "Anar a carpetes",
+ "skip_to_tags": "Anar a etiquetes",
"slideshow": "Diapositives",
"slideshow_settings": "Configuració de diapositives",
"sort_albums_by": "Ordena àlbums per...",
@@ -1152,7 +1239,10 @@
"sort_oldest": "Foto més antiga",
"sort_recent": "Foto més recent",
"sort_title": "Títol",
+ "source": "Font",
"stack": "Apila",
+ "stack_duplicates": "Aplicar duplicats",
+ "stack_select_one_photo": "Selecciona una imatge principal per la pila",
"stack_selected_photos": "Apila les fotos seleccionades",
"stacked_assets_count": "Apilats {count, plural, one {# element} other {# elements}}",
"stacktrace": "Traça de pila",
@@ -1170,22 +1260,35 @@
"submit": "Envia",
"suggestions": "Suggeriments",
"sunrise_on_the_beach": "Albada a la platja",
+ "support": "Suport",
+ "support_and_feedback": "Suport i comentaris",
+ "support_third_party_description": "La vostra instal·lació immich la va empaquetar un tercer. Els problemes que experimenteu poden ser causats per aquest paquet així que, si us plau, plantegeu els poblemes amb ells en primer lloc mitjançant els enllaços següents.",
"swap_merge_direction": "Canvia la direcció d'unió",
"sync": "Sincronitza",
+ "tag": "Etiqueta",
+ "tag_assets": "Etiquetar actius",
+ "tag_created": "Etiqueta creada: {tag}",
+ "tag_feature_description": "Exploreu fotos i vídeos agrupats per temes d'etiquetes lògiques",
+ "tag_not_found_question": "No trobeu una etiqueta? Crear una nova etiqueta",
+ "tag_updated": "Etiqueta actualizada: {tag}",
+ "tagged_assets": "{count, plural, one {#Etiquetat} other {#Etiquetats}} {count, plural, one {# actiu} other {# actius}}",
+ "tags": "Etiquetes",
"template": "Plantilla",
"theme": "Tema",
"theme_selection": "Selecció de tema",
"theme_selection_description": "Activa automàticament el tema fosc o clar en funció de les preferències del sistema del navegador",
"they_will_be_merged_together": "Es combinaran",
+ "third_party_resources": "Recursos de tercers",
"time_based_memories": "Records basats en el temps",
"timezone": "Fus horari",
"to_archive": "Arxivar",
"to_change_password": "Canviar la contrasenya",
"to_favorite": "Prefereix",
"to_login": "Iniciar sessió",
+ "to_parent": "Anar als pares",
"to_trash": "Paperera",
"toggle_settings": "Canvia configuració",
- "toggle_theme": "Canvia tema",
+ "toggle_theme": "Alternar tema",
"toggle_visibility": "Canvia visibilitat",
"total_usage": "Ús total",
"trash": "Paperera",
@@ -1204,9 +1307,11 @@
"unknown_album": "Àlbum desconegut",
"unknown_year": "Any desconegut",
"unlimited": "Il·limitat",
+ "unlink_motion_video": "Desvincular vídeo en moviment",
"unlink_oauth": "Desvincula OAuth",
"unlinked_oauth_account": "Compte Oauth desvinculat",
"unnamed_album": "Àlbum sense nom",
+ "unnamed_album_delete_confirmation": "Segur que voleu esborrar aquest àlbum?",
"unnamed_share": "Compartit sense nom",
"unsaved_change": "Canvi no desat",
"unselect_all": "Deselecciona-ho tot",
@@ -1219,7 +1324,7 @@
"updated_password": "Contrasenya actualitzada",
"upload": "Pujar",
"upload_concurrency": "Concurrència de pujades",
- "upload_errors": "Càrrega completada amb {count, plural, one {un error} other {# errors}}, actualitzeu la pàgina per veure els nous elements carregats.",
+ "upload_errors": "Càrrega completada amb {count, plural, one {# error} other {# errors}}, actualitzeu la pàgina per veure els nous elements carregats.",
"upload_progress": "Restant {remaining, number} - Processat {processed, number}/{total, number}",
"upload_skipped_duplicates": "{count, plural, one {S'ha omès # recurs duplicat} other {S'han omès # recursos duplicats}}",
"upload_status_duplicates": "Duplicats",
@@ -1245,6 +1350,8 @@
"version": "Versió",
"version_announcement_closing": "El teu amic Alex",
"version_announcement_message": "Hola amic, hi ha una nova versió de l'aplicació, si us plau, preneu-vos el temps per visitar les release notes i assegureu-vos que el vostre docker-compose.yml
i .env
estàn actualitzats per evitar qualsevol configuració incorrecta, especialment si utilitzeu WatchTower o qualsevol mecanisme que gestioni l'actualització automàtica de la vostra aplicació.",
+ "version_history": "Historial de versions",
+ "version_history_item": "Instal·lat {version} el {date}",
"video": "Vídeo",
"video_hover_setting": "Reprodueix la miniatura en passar el ratolí",
"video_hover_setting_description": "Reprodueix la miniatura quan el ratolí plana sobre l'element. Fins i tot quan estigui deshabilitat, la reproducció s'iniciarà planant sobre el botó de reproducció.",
@@ -1254,6 +1361,7 @@
"view_album": "Veure l'àlbum",
"view_all": "Veure tot",
"view_all_users": "Mostra tot els usuaris",
+ "view_in_timeline": "Mostrar a la línia de temps",
"view_links": "Mostra enllaços",
"view_next_asset": "Mostra el següent element",
"view_previous_asset": "Mostra l'element anterior",
@@ -1266,7 +1374,7 @@
"welcome": "Benvingut",
"welcome_to_immich": "Benvingut a immich",
"year": "Any",
- "years_ago": "Fa {years, plural, one {un any} other {# anys}}",
+ "years_ago": "Fa {years, plural, one {# any} other {# anys}}",
"yes": "Sí",
"you_dont_have_any_shared_links": "No tens cap enllaç compartit",
"zoom_image": "Ampliar Imatge"
diff --git a/web/src/lib/i18n/cs.json b/i18n/cs.json
similarity index 90%
rename from web/src/lib/i18n/cs.json
rename to i18n/cs.json
index 58cf97f80e..12ba83b8e7 100644
--- a/web/src/lib/i18n/cs.json
+++ b/i18n/cs.json
@@ -28,6 +28,7 @@
"added_to_favorites_count": "Přidáno {count, number} do oblíbených",
"admin": {
"add_exclusion_pattern_description": "Přidání vzorů vyloučení. Podporováno je globování pomocí *, ** a ?. Chcete-li ignorovat všechny soubory v jakémkoli adresáři s názvem \"Raw\", použijte \"**/Raw/**\". Chcete-li ignorovat všechny soubory končící na \".tif\", použijte \"**/*.tif\". Chcete-li ignorovat absolutní cestu, použijte příkaz \"/path/to/ignore/**\".",
+ "asset_offline_description": "Tato položka externí knihovny se již na disku nenachází a byla přesunuta do koše. Pokud byl soubor přesunut v rámci knihovny, zkontrolujte časovou osu a vyhledejte nové odpovídající položku. Chcete-li tuto položku obnovit, ujistěte se, že je cesta k níže uvedenému souboru přístupná pomocí aplikace Immich a prohledejte knihovnu.",
"authentication_settings": "Přihlašování",
"authentication_settings_description": "Správa hesel, OAuth a dalších nastavení ověření",
"authentication_settings_disable_all": "Opravdu chcete zakázat všechny metody přihlášení? Přihlašování bude úplně zakázáno.",
@@ -41,6 +42,7 @@
"confirm_email_below": "Pro potvrzení zadejte níže \"{email}\"",
"confirm_reprocess_all_faces": "Opravdu chcete znovu zpracovat všechny obličeje? Tím se vymažou i pojmenované osoby.",
"confirm_user_password_reset": "Opravdu chcete obnovit heslo uživatele {user}?",
+ "create_job": "Vytvořit úlohu",
"crontab_guru": "Crontab Guru",
"disable_login": "Zakázat přihlášení",
"disabled": "Zakázáno",
@@ -49,27 +51,37 @@
"external_library_created_at": "Externí knihovna (vytvořena {date})",
"external_library_management": "Správa externích knihoven",
"face_detection": "Detekce obličejů",
- "face_detection_description": "Detekce obličejů v obrázcích pomocí strojového učení. U videí se bere v úvahu pouze miniatura. \"Vše\" znovu zpracovává všechny položky. \"Chybějící\" zařadí do fronty položky, které ještě nebyly zpracovány. Zjištěné obličeje budou po dokončení funkce Rozpoznávání obličejů zařazeny do fronty a seskupeny do stávajících nebo nových osob.",
- "facial_recognition_job_description": "Seskupí nalezené obličeje do osob. Tento krok se spustí po dokončení detekce obličejů. \"Vše\" znovu seskupí všechny obličeje. \"Chybějící\" zpracuje obličeje, které nemají přiřazenou osobu.",
+ "face_detection_description": "Detekce obličejů v obrázcích pomocí strojového učení. U videí se bere v úvahu pouze miniatura. „Obnovit“ znovu zpracuje všechny položky. „Resetovat“ navíc vymaže všechna aktuální data obličejů. „Chybějící“ zařadí do fronty položky, které ještě nebyly zpracovány. Zjištěné obličeje budou po dokončení funkce Rozpoznávání obličejů zařazeny do fronty a seskupeny do stávajících nebo nových osob.",
+ "facial_recognition_job_description": "Seskupí nalezené obličeje do osob. Tento krok se spustí po dokončení detekce obličejů. „Resetovat“ znovu seskupí všechny obličeje. „Chybějící“ zpracuje obličeje, které nemají přiřazenou osobu.",
"failed_job_command": "Příkaz {command} se nezdařil pro úlohu: {job}",
"force_delete_user_warning": "UPOZORNĚNÍ: Tímto okamžitě odstraníte uživatele a všechny jeho položky. Tento krok nelze vrátit zpět a soubory nelze obnovit.",
"forcing_refresh_library_files": "Vynucení obnovy všech souborů knihovny",
+ "image_format": "Formát",
"image_format_description": "WebP vytváří menší soubory než JPEG, ale je pomalejší při kódování.",
"image_prefer_embedded_preview": "Preferovat vložený náhled",
"image_prefer_embedded_preview_setting_description": "Použít vložené náhledy z RAW fotografií jako vstup pro zpracování snímků, pokud jsou k dispozici. U některých snímků tak lze dosáhnout přesnějších barev, ale kvalita náhledu závisí na fotoaparátu a snímek může obsahovat více kompresních artefaktů.",
"image_prefer_wide_gamut": "Preferovat široký gamut",
"image_prefer_wide_gamut_setting_description": "Použít Display P3 pro miniatury. To lépe zachovává živost obrázků s širokým barevným prostorem, ale obrázky se mohou na starých zařízeních se starou verzí prohlížeče zobrazovat jinak. sRGB obrázky jsou ponechány jako sRGB, aby se zabránilo posunům barev.",
+ "image_preview_description": "Středně velký obrázek se zbavenými metadaty, který se používá při prohlížení jedné položky a pro strojové učení",
"image_preview_format": "Formát náhledů",
+ "image_preview_quality_description": "Kvalita náhledu od 1 do 100. Vyšší je lepší, ale vytváří větší soubory a může snížit responzivitu aplikace. Nastavení nízké hodnoty může ovlivnit kvalitu strojového učení.",
"image_preview_resolution": "Rozlišení náhledů",
"image_preview_resolution_description": "Používá se při prohlížení jedné fotografie a pro strojové učení. Vyšší rozlišení mohou zachovat více detailů, ale jejich kódování trvá déle, mají větší velikost souboru a mohou snížit odezvu aplikace.",
+ "image_preview_title": "Náhledy",
"image_quality": "Kvalita",
"image_quality_description": "Kvalita obrazu od 1 do 100. Vyšší kvalita je lepší, ale vytváří větší soubory, tato volba ovlivňuje náhled a miniatury obrázků.",
+ "image_resolution": "Rozlišení",
+ "image_resolution_description": "Vyšší rozlišení mohou zachovat více detailů, ale jejich kódování trvá déle, mají větší velikost souboru a mohou snížit odezvu aplikace.",
"image_settings": "Obrázky",
"image_settings_description": "Správa kvality a rozlišení generovaných obrázků",
+ "image_thumbnail_description": "Malá miniatura s odstraněnými metadaty, který se používá při prohlížení skupin fotografií, jako je hlavní časová osa",
"image_thumbnail_format": "Formát miniatur",
+ "image_thumbnail_quality_description": "Kvalita miniatur od 1 do 100. Vyšší je lepší, ale vytváří větší soubory a může snížit odezvu aplikace.",
"image_thumbnail_resolution": "Rozlišení miniatur",
"image_thumbnail_resolution_description": "Používá se při prohlížení skupin fotografií (hlavní časová osa, zobrazení alba atd.). Vyšší rozlišení může zachovat více detailů, ale trvá déle, než se zakóduje, má větší velikost souboru a může snížit odezvu aplikace.",
- "job_concurrency": "Souběžnost {job}",
+ "image_thumbnail_title": "Miniatury",
+ "job_concurrency": "Souběžnost úlohy {job}",
+ "job_created": "Úloha vytvořena",
"job_not_concurrency_safe": "Tato úloha není bezpečená pro souběh.",
"job_settings": "Úlohy",
"job_settings_description": "Správa souběžnosti úloh",
@@ -98,7 +110,7 @@
"machine_learning_clip_model_description": "Název CLIP modelu je uvedený zde. Pamatujte, že při změně modelu je nutné znovu spustit úlohu 'Chytré vyhledávání' pro všechny obrázky.",
"machine_learning_duplicate_detection": "Kontrola duplicit",
"machine_learning_duplicate_detection_enabled": "Povolit kontrolu duplicit",
- "machine_learning_duplicate_detection_enabled_description": "Pokud je tato funkce vypnuta, budou identické položky stále duplikovány.",
+ "machine_learning_duplicate_detection_enabled_description": "Pokud je tato funkce vypnuta, budou identické položky stále deduplikovány.",
"machine_learning_duplicate_detection_setting_description": "Použít CLIP embeddings k nalezení pravděpodobných duplicit",
"machine_learning_enabled": "Povolit strojové učení",
"machine_learning_enabled_description": "Pokud je vypnuto, budou všechny funkce strojového učení vypnuty bez ohledu na níže uvedená nastavení.",
@@ -129,6 +141,7 @@
"map_enable_description": "Povolit funkce mapy",
"map_gps_settings": "Mapa a GPS",
"map_gps_settings_description": "Správa nastavení mapy a GPS (Reverzní geokódování)",
+ "map_implications": "Funkce mapy závisí na externí dlaždicové službě (tiles.immich.cloud)",
"map_light_style": "Světlý motiv",
"map_manage_reverse_geocoding_settings": "Správa nastavení Reverzního geokódování",
"map_reverse_geocoding": "Reverzní geokódování",
@@ -138,7 +151,11 @@
"map_settings_description": "Správa nastavení mapy",
"map_style_description": "URL na style.json motivu",
"metadata_extraction_job": "Extrakce metadat",
- "metadata_extraction_job_description": "Získání informací o metadatech z každého snímku, jako je GPS a rozlišení",
+ "metadata_extraction_job_description": "Získání informací o metadatech z každého snímku, jako je GPS, obličeje a rozlišení",
+ "metadata_faces_import_setting": "Povolit import obličeje",
+ "metadata_faces_import_setting_description": "Import obličejů z EXIF dat obrázků a sidecar souborů",
+ "metadata_settings": "Metadata",
+ "metadata_settings_description": "Správa nastavení metadat",
"migration_job": "Migrace",
"migration_job_description": "Migrace miniatur snímků a obličejů do nejnovější struktury složek",
"no_paths_added": "Nebyly přidány žádné cesty",
@@ -147,7 +164,7 @@
"note_cannot_be_changed_later": "UPOZORNĚNÍ: Toto nelze později změnit!",
"note_unlimited_quota": "Upozornění: Pro neomezenou kvótu zadejte 0",
"notification_email_from_address": "Adresa Od",
- "notification_email_from_address_description": "E-mailová adresa odesílatele, např.: \"Immich Photo Server {label}
je štítek úložiště uživatele",
"system_settings": "Systémová nastavení",
+ "tag_cleanup_job": "Promazání značek",
"theme_custom_css_settings": "Vlastní CSS",
"theme_custom_css_settings_description": "Kaskádové styly umožňují přizpůsobit design aplikace Immich.",
"theme_settings": "Motivy",
"theme_settings_description": "Správa přizpůsobení webového rozhraní Immich",
"these_files_matched_by_checksum": "Tyto soubory jsou porovnávány podle jejich kontrolních součtů",
"thumbnail_generation_job": "Generování miniatur",
- "thumbnail_generation_job_description": "Generování velkých, malých a rozmazaných náhledů pro každý obrázek a náhledů pro každou osobu",
+ "thumbnail_generation_job_description": "Generování velkých, malých a rozmazaných miniatur pro každý obrázek a miniatur pro každou osobu",
"transcode_policy_description": "Zásady, kdy má být video překódováno. Videa HDR budou překódována vždy (kromě případů, kdy je překódování zakázáno).",
"transcoding_acceleration_api": "API pro akceleraci",
"transcoding_acceleration_api_description": "Rozhraní, které bude komunikovat se zařízením a urychlovat překódování. Toto nastavení je 'best effort': při selhání se vrátí k softwarovému překódování. VP9 může, ale nemusí fungovat v závislosti na vašem hardwaru.",
@@ -266,7 +287,7 @@
"transcoding_hardware_acceleration": "Hardwarová akcelerace",
"transcoding_hardware_acceleration_description": "Experimentální; mnohem rychlejší, ale při stejném datovém toku bude mít nižší kvalitu",
"transcoding_hardware_decoding": "Hardwarové dekódování",
- "transcoding_hardware_decoding_setting_description": "Platí pouze pro NVENC, QSV a RKMPP. Povoluje kompletní akceleraci namísto akcelerace pouze kódování. Nemusí fungovat u všech videí.",
+ "transcoding_hardware_decoding_setting_description": "Povoluje kompletní akceleraci namísto akcelerace pouze kódování. Nemusí fungovat u všech videí.",
"transcoding_hevc_codec": "Kodek HEVC",
"transcoding_max_b_frames": "Maximální počet B-snímků",
"transcoding_max_b_frames_description": "Vyšší hodnoty zvyšují účinnost komprese, ale zpomalují kódování. Nemusí být kompatibilní s hardwarovou akcelerací na starších zařízeních. Hodnota 0 zakáže B-snímky, zatímco -1 tuto hodnotu nastaví automaticky.",
@@ -278,7 +299,7 @@
"transcoding_preferred_hardware_device": "Preferované hardwarové zařízení",
"transcoding_preferred_hardware_device_description": "Platí pouze pro VAAPI a QSV. Nastaví dri uzel použitý pro hardwarové překódování.",
"transcoding_preset_preset": "Preset (-preset)",
- "transcoding_preset_preset_description": "Rychlost komprese. Pomalejší předvolby vytvářejí menší soubory a zvyšují kvalitu při dosažení určitého datového toku. VP9 ignoruje rychlosti vyšší než `faster`.",
+ "transcoding_preset_preset_description": "Rychlost komprese. Pomalejší předvolby vytvářejí menší soubory a zvyšují kvalitu při dosažení určitého datového toku. VP9 ignoruje rychlosti vyšší než 'faster'.",
"transcoding_reference_frames": "Referenční snímky",
"transcoding_reference_frames_description": "Počet referenčních snímků při kompresi daného snímku. Vyšší hodnoty zvyšují účinnost komprese, ale zpomalují kódování. Hodnota 0 toto nastavuje automaticky.",
"transcoding_required_description": "Pouze videa, která nejsou v akceptovaném formátu",
@@ -307,6 +328,7 @@
"trash_settings_description": "Správa nastavení koše",
"untracked_files": "Neznámé soubory",
"untracked_files_description": "Tyto soubory nejsou aplikaci známy. Mohou být výsledkem neúspěšných přesunů, přerušeného nahrávání nebo mohou zůstat pozadu kvůli chybě",
+ "user_cleanup_job": "Promazání uživatelů",
"user_delete_delay": "Účet a položky uživatele {user} budou trvale smazány za {delay, plural, one {# den} few {# dny} other {# dní}}.",
"user_delete_delay_settings": "Odložení odstranění",
"user_delete_delay_settings_description": "Počet dní po odstranění, po kterých bude odstraněn účet a položky uživatele. Úloha odstraňování uživatelů se spouští o půlnoci a kontroluje uživatele, kteří jsou připraveni k odstranění. Změny tohoto nastavení se vyhodnotí při dalším spuštění.",
@@ -320,7 +342,8 @@
"user_settings": "Uživatelé",
"user_settings_description": "Správa nastavení uživatelů",
"user_successfully_removed": "Uživatel {email} byl úspěšně odstraněn.",
- "version_check_enabled_description": "Povolení pravidelných požadavků na GitHub pro kontrolu nových verzí",
+ "version_check_enabled_description": "Povolit kontrolu verzí",
+ "version_check_implications": "Kontrola verze je založena na pravidelné komunikaci s github.com",
"version_check_settings": "Kontrola verze",
"version_check_settings_description": "Povolení/zakázání oznámení o nové verzi",
"video_conversion_job": "Překódování videí",
@@ -336,7 +359,8 @@
"album_added": "Přidáno album",
"album_added_notification_setting_description": "Dostávat e-mailové oznámení, když jste přidáni do sdíleného alba",
"album_cover_updated": "Obal alba aktualizován",
- "album_delete_confirmation": "Opravdu chcete album {album} odstranit?\nPokud je toto album sdílené, ostatní uživatelé k němu již nebudou mít přístup.",
+ "album_delete_confirmation": "Opravdu chcete album {album} odstranit?",
+ "album_delete_confirmation_description": "Pokud je toto album sdíleno, ostatní uživatelé k němu již nebudou mít přístup.",
"album_info_updated": "Informace o albu aktualizovány",
"album_leave": "Opustit album?",
"album_leave_confirmation": "Opravdu chcete opustit {album}?",
@@ -358,8 +382,9 @@
"all_videos": "Všechna videa",
"allow_dark_mode": "Povolit tmavý režim",
"allow_edits": "Povolit úpravy",
- "allow_public_user_to_download": "Povolit veřejnosti stahování",
+ "allow_public_user_to_download": "Povolit veřejnosti stahovat",
"allow_public_user_to_upload": "Povolit veřejnosti nahrávat",
+ "anti_clockwise": "Proti směru hodinových ručiček",
"api_key": "API klíč",
"api_key_description": "Tato hodnota se zobrazí pouze jednou. Před zavřením okna ji nezapomeňte zkopírovat.",
"api_key_empty": "Název klíče API by neměl být prázdný",
@@ -381,8 +406,9 @@
"asset_has_unassigned_faces": "Položka má nepřiřazené obličeje",
"asset_hashing": "Hashování...",
"asset_offline": "Offline položka",
- "asset_offline_description": "Tato položka je offline. Immich nemá přístup k jejímu umístění. Zkontrolujte, zda je položka dostupná, a poté knihovnu znovu prohledejte.",
+ "asset_offline_description": "Toto externí položka se již na disku nenachází. Obraťte se na Immich správce a požádejte o pomoc.",
"asset_skipped": "Přeskočeno",
+ "asset_skipped_in_trash": "V koši",
"asset_uploaded": "Nahráno",
"asset_uploading": "Nahrávání...",
"assets": "Položky",
@@ -394,7 +420,7 @@
"assets_moved_to_trash_count": "Do koše {count, plural, one {přesunuta # položka} few {přesunuty # položky} other {přesunuto # položek}}",
"assets_permanently_deleted_count": "Trvale {count, plural, one {smazána # položka} few {smazány # položky} other {smazáno # položek}}",
"assets_removed_count": "{count, plural, one {Odstraněna # položka} few {Odstraněny # položky} other {Odstraněno # položek}}",
- "assets_restore_confirmation": "Opravdu chcete obnovit všechny vyhozené položky? Tuto akci nelze vrátit zpět!",
+ "assets_restore_confirmation": "Opravdu chcete obnovit všechny vyhozené položky? Tuto akci nelze vrátit zpět! Upozorňujeme, že tímto způsobem nelze obnovit žádné offline položky.",
"assets_restored_count": "{count, plural, one {Obnovena # položka} few {Obnoveny # položky} other {Obnoveno # položek}}",
"assets_trashed_count": "{count, plural, one {Vyhozena # položka} few {Vyhozeny # položky} other {Vyhozeno # položek}}",
"assets_were_part_of_album_count": "{count, plural, one {Položka byla} other {Položky byly}} součástí alba",
@@ -405,6 +431,7 @@
"birthdate_saved": "Datum narození úspěšně uloženo",
"birthdate_set_description": "Datum narození se používá k výpočtu věku osoby v době pořízení fotografie.",
"blurred_background": "Rozmazané pozadí",
+ "bugs_and_feature_requests": "Chyby a návrhy na funkce",
"build": "Sestavení",
"build_image": "Sestavení obrazu",
"bulk_delete_duplicates_confirmation": "Opravdu chcete hromadně odstranit {count, plural, one {# duplicitní položku} few {# duplicitní položky} other {# duplicitních položek}}? Tím se zachová největší položka z každé skupiny a všechny ostatní duplicity se trvale odstraní. Tuto akci nelze vrátit zpět!",
@@ -441,9 +468,11 @@
"clear_all_recent_searches": "Vymazat všechna nedávná vyhledávání",
"clear_message": "Vyčistit zprávu",
"clear_value": "Vyčistit hodnotu",
+ "clockwise": "Po směru hodinových ručiček",
"close": "Zavřít",
"collapse": "Sbalit",
"collapse_all": "Sbalit vše",
+ "color": "Barva",
"color_theme": "Barevný motiv",
"comment_deleted": "Komentář odstraněn",
"comment_options": "Možnosti komentáře",
@@ -477,6 +506,8 @@
"create_new_person": "Vytvořit novou osobu",
"create_new_person_hint": "Přiřadit vybrané položky nové osobě",
"create_new_user": "Vytvořit nového uživatele",
+ "create_tag": "Vytvořit značku",
+ "create_tag_description": "Vytvoření nové značky. U vnořených značek zadejte celou cestu ke značce včetně dopředných lomítek.",
"create_user": "Vytvořit uživatele",
"created": "Vytvořeno",
"current_device": "Současné zařízení",
@@ -500,13 +531,17 @@
"delete_library": "Smazat knihovnu",
"delete_link": "Smazat odkaz",
"delete_shared_link": "Smazat sdílený odkaz",
+ "delete_tag": "Smazat značku",
+ "delete_tag_confirmation_prompt": "Opravdu chcete odstranit značku {tagName}?",
"delete_user": "Odstranit uživatele",
"deleted_shared_link": "Smazat sdílený odkaz",
+ "deletes_missing_assets": "Odstraní položky chybějící na disku",
"description": "Popis",
"details": "Podrobnosti",
"direction": "Směr",
"disabled": "Zakázáno",
"disallow_edits": "Zakázat úpravy",
+ "discord": "Discord",
"discover": "Objevit",
"dismiss_all_errors": "Zrušit všechny chyby",
"dismiss_error": "Zrušit chybu",
@@ -515,8 +550,11 @@
"display_original_photos": "Zobrazit originální fotky",
"display_original_photos_setting_description": "Preferovat zobrazení původních fotek při prohlížení položek namísto miniatur, pokud je originální položka kompatibilní s webem. To může mít za následek nižší rychlost zobrazení fotek.",
"do_not_show_again": "Tuto zprávu již nezobrazovat",
+ "documentation": "Dokumentace",
"done": "Hotovo",
"download": "Stáhnout",
+ "download_include_embedded_motion_videos": "Vložená videa",
+ "download_include_embedded_motion_videos_description": "Zahrnout videa vložená do pohyblivých fotografií jako samostatný soubor",
"download_settings": "Stahování",
"download_settings_description": "Správa nastavení souvisejících se stahováním",
"downloading": "Stahování",
@@ -546,10 +584,15 @@
"edit_location": "Upravit polohu",
"edit_name": "Upravit jméno",
"edit_people": "Upravit lidi",
+ "edit_tag": "Upravit značku",
"edit_title": "Upravit název",
"edit_user": "Upravit uživatele",
"edited": "Upraveno",
"editor": "Editor",
+ "editor_close_without_save_prompt": "Změny nebudou uloženy",
+ "editor_close_without_save_title": "Zavřít editor?",
+ "editor_crop_tool_h2_aspect_ratios": "Poměr stran",
+ "editor_crop_tool_h2_rotation": "Otočení",
"email": "E-mail",
"empty": "Prázdné",
"empty_album": "Prázdné album",
@@ -590,7 +633,7 @@
"failed_to_load_assets": "Nepodařilo se načíst položky",
"failed_to_load_people": "Chyba načítání osob",
"failed_to_remove_product_key": "Nepodařilo se odebrat klíč produktu",
- "failed_to_stack_assets": "Nepodařilo se poskládat položky",
+ "failed_to_stack_assets": "Nepodařilo se seskupit položky",
"failed_to_unstack_assets": "Nepodařilo se rozložit položky",
"import_path_already_exists": "Tato cesta importu již existuje.",
"incorrect_email_or_password": "Nesprávný e-mail nebo heslo",
@@ -639,6 +682,7 @@
"unable_to_get_comments_number": "Nelze načíst počet komentářů",
"unable_to_get_shared_link": "Nepodařilo se získat sdílený odkaz",
"unable_to_hide_person": "Nelze skrýt osobu",
+ "unable_to_link_motion_video": "Nelze připojit pohyblivé video",
"unable_to_link_oauth_account": "Nelze propojit OAuth účet",
"unable_to_load_album": "Nelze načíst album",
"unable_to_load_asset_activity": "Nelze načíst aktivitu položky",
@@ -655,8 +699,8 @@
"unable_to_remove_api_key": "Nelze odstranit API klíč",
"unable_to_remove_assets_from_shared_link": "Nelze odstranit položky ze sdíleného odkazu",
"unable_to_remove_comment": "Nelze odstranit komentář",
+ "unable_to_remove_deleted_assets": "Nelze odstranit offline soubory",
"unable_to_remove_library": "Nelze odstranit knihovnu",
- "unable_to_remove_offline_files": "Nelze odstranit offline soubory",
"unable_to_remove_partner": "Nelze odebrat partnera",
"unable_to_remove_reaction": "Nelze odstranit reakci",
"unable_to_remove_user": "Nelze odebrat uživatele",
@@ -679,6 +723,7 @@
"unable_to_submit_job": "Nelze odeslat úlohu",
"unable_to_trash_asset": "Nelze vyhodit položku do koše",
"unable_to_unlink_account": "Nelze zrušit propojení účtu",
+ "unable_to_unlink_motion_video": "Nelze odpojit pohyblivé video",
"unable_to_update_album_cover": "Nelze aktualizovat obal alba",
"unable_to_update_album_info": "Nelze aktualizovat informace o albu",
"unable_to_update_library": "Nelze aktualizovat knihovnu",
@@ -699,6 +744,7 @@
"expired": "Vypršela platnost",
"expires_date": "Platnost končí {date}",
"explore": "Prozkoumat",
+ "explorer": "Průzkumník",
"export": "Export",
"export_as_json": "Exportovat jako JSON",
"extension": "Přípona",
@@ -712,6 +758,8 @@
"feature": "Funkce",
"feature_photo_updated": "Hlavní fotka aktualizována",
"featurecollection": "Kolekce Funkcí",
+ "features": "Funkce",
+ "features_setting_description": "Správa funkcí aplikace",
"file_name": "Název souboru",
"file_name_or_extension": "Název nebo přípona souboru",
"filename": "Filename",
@@ -720,6 +768,8 @@
"filter_people": "Filtrovat lidi",
"find_them_fast": "Najděte je rychle vyhledáním jejich jména",
"fix_incorrect_match": "Opravit nesprávnou shodu",
+ "folders": "Složky",
+ "folders_feature_description": "Procházení zobrazení složek s fotografiemi a videi v souborovém systému",
"force_re-scan_library_files": "Vynucené prohledání všech souborů knihovny",
"forward": "Dopředu",
"general": "Obecné",
@@ -819,6 +869,7 @@
"license_trial_info_4": "Zvažte prosím zakoupení licence na podporu dalšího rozvoje služby",
"light": "Světlý",
"like_deleted": "Lajk smazán",
+ "link_motion_video": "Připojit pohyblivé video",
"link_options": "Možnosti odkazu",
"link_to_oauth": "Propojit s OAuth",
"linked_oauth_account": "Propojený OAuth účet",
@@ -837,6 +888,7 @@
"look": "Zobrazení",
"loop_videos": "Videa ve smyčce",
"loop_videos_description": "Povolit automatickou smyčku videa v prohlížeči.",
+ "main_branch_warning": "Používáte vývojovou verzi; důrazně doporučujeme používat verzi z vydání!",
"make": "Výrobce",
"manage_shared_links": "Spravovat sdílené odkazy",
"manage_sharing_with_partners": "Správa sdílení s partnery",
@@ -906,12 +958,14 @@
"notifications": "Oznámení",
"notifications_setting_description": "Správa oznámení",
"oauth": "OAuth",
+ "official_immich_resources": "Oficiální zdroje Immich",
"offline": "Offline",
"offline_paths": "Offline cesty",
"offline_paths_description": "Tyto výsledky mohou být způsobeny ručním odstraněním souborů, které nejsou součástí externí knihovny.",
"ok": "Ok",
"oldest_first": "Nejstarší první",
"onboarding": "Zahájení",
+ "onboarding_privacy_description": "Následující (volitelné) funkce jsou závislé na externích službách a lze je kdykoli zakázat v nastavení správy.",
"onboarding_storage_template_description": "Pokud je tato funkce povolena, automaticky uspořádá soubory na základě uživatelem definované šablony. Vzhledem k problémům se stabilitou byla tato funkce ve výchozím nastavení vypnuta. Další informace naleznete v [dokumentaci].",
"onboarding_theme_description": "Zvolte si barevné téma pro svou instanci. Můžete to později změnit v nastavení.",
"onboarding_welcome_description": "Nastavíme vaši instanci pomocí několika běžných nastavení.",
@@ -919,6 +973,7 @@
"online": "Online",
"only_favorites": "Pouze oblíbené",
"only_refreshes_modified_files": "Obnovuje pouze změněné soubory",
+ "open_in_map_view": "Otevřít v zobrazení mapy",
"open_in_openstreetmap": "Otevřít v OpenStreetMap",
"open_the_search_filters": "Otevřít vyhledávací filtry",
"options": "Možnosti",
@@ -953,6 +1008,7 @@
"pending": "Čekající",
"people": "Lidé",
"people_edits_count": "Upraveno {count, plural, one {# osoba} few {# osoby} other {# lidí}}",
+ "people_feature_description": "Procházení fotografií a videí seskupených podle osob",
"people_sidebar_description": "Zobrazit sekci Lidé v postranním panelu",
"perform_library_tasks": "",
"permanent_deletion_warning": "Upozornění na trvalé smazání",
@@ -985,6 +1041,7 @@
"previous_memory": "Předchozí vzpomínka",
"previous_or_next_photo": "Předchozí nebo další fotka",
"primary": "Primární",
+ "privacy": "Soukromí",
"profile_image_of_user": "Profilový obrázek uživatele {user}",
"profile_picture_set": "Profilový obrázek nastaven.",
"public_album": "Veřejné album",
@@ -1022,6 +1079,10 @@
"purchase_server_title": "Server",
"purchase_settings_server_activated": "Produktový klíč serveru spravuje správce",
"range": "Rozsah",
+ "rating": "Hodnocení hvězdičkami",
+ "rating_clear": "Vyčistit hodnocení",
+ "rating_count": "{count, plural, one {# hvězdička} few {# hvězdičky} other {# hvězdček}}",
+ "rating_description": "Zobrazit EXIF hodnocení v informačním panelu",
"raw": "Raw",
"reaction_options": "Možnosti reakce",
"read_changelog": "Přečtěte si seznam změn",
@@ -1033,27 +1094,30 @@
"recent_searches": "Nedávná vyhledávání",
"refresh": "Obnovit",
"refresh_encoded_videos": "Obnovit kódovaná videa",
+ "refresh_faces": "Obnovit obličeje",
"refresh_metadata": "Obnovit metadata",
- "refresh_thumbnails": "Obnovit náhledy",
+ "refresh_thumbnails": "Obnovit miniatury",
"refreshed": "Obnoveno",
- "refreshes_every_file": "Obnoví každý soubor",
+ "refreshes_every_file": "Znovu načte všechny stávající a nové soubory",
"refreshing_encoded_video": "Obnovování kódovaného videa",
+ "refreshing_faces": "Obnovování obličejů",
"refreshing_metadata": "Obnovování metadat",
- "regenerating_thumbnails": "Regenerace náhledů",
+ "regenerating_thumbnails": "Regenerace miniatur",
"remove": "Odstranit",
"remove_assets_album_confirmation": "Opravdu chcete z alba odstranit {count, plural, one {# položku} few {# položky} other {# položek}}?",
"remove_assets_shared_link_confirmation": "Opravdu chcete ze sdíleného odkazu odstranit {count, plural, one {# položku} few {# položky} other {# položek}}?",
"remove_assets_title": "Odstranit položky?",
"remove_custom_date_range": "Odstranit vlastní rozsah datumů",
+ "remove_deleted_assets": "Odstranit offline soubory",
"remove_from_album": "Odstranit z alba",
"remove_from_favorites": "Odstranit z oblíbených",
"remove_from_shared_link": "Odstranit ze sdíleného odkazu",
- "remove_offline_files": "Odstranit offline soubory",
"remove_user": "Odebrat uživatele",
"removed_api_key": "Odstraněn API klíč: {name}",
"removed_from_archive": "Odstraněno z archivu",
"removed_from_favorites": "Odstraněno z oblíbených",
"removed_from_favorites_count": "{count, plural, one {Odstraněn #} few {Odstraněny #} other {Odstraněno #}} z oblíbených",
+ "removed_tagged_assets": "Odstraněná značka z {count, plural, one {# položky} other {# položek}}",
"rename": "Přejmenovat",
"repair": "Opravy",
"repair_no_results_message": "Zde se zobrazí neznámé a chybějící soubory",
@@ -1085,6 +1149,7 @@
"say_something": "Řekněte něco",
"scan_all_libraries": "Prohledat všechny knihovny",
"scan_all_library_files": "Prohledání všech souborů knihovny",
+ "scan_library": "Prohledat",
"scan_new_library_files": "Hledat nové soubory v knihovně",
"scan_settings": "Nastavení prohledávání",
"scanning_for_album": "Prohledávání alba...",
@@ -1100,9 +1165,12 @@
"search_for_existing_person": "Vyhledat existující osobu",
"search_no_people": "Žádní lidé",
"search_no_people_named": "Žádní lidé se jménem \"{name}\"",
+ "search_options": "Možnosti vyhledávání",
"search_people": "Vyhledat lidi",
"search_places": "Vyhledat místa",
+ "search_settings": "Hledat nastavení",
"search_state": "Vyhledat stát...",
+ "search_tags": "Vyhledávat značky...",
"search_timezone": "Vyhledat časové pásmo...",
"search_type": "Typ vyhledávání",
"search_your_photos": "Vyhledávejte svoje fotky",
@@ -1126,8 +1194,8 @@
"send_message": "Odeslat zprávu",
"send_welcome_email": "Poslat uvítací e-mail",
"server": "Server",
- "server_offline": "Server Offline",
- "server_online": "Server Online",
+ "server_offline": "Server offline",
+ "server_online": "Server online",
"server_stats": "Statistiky serveru",
"server_version": "Verze serveru",
"set": "Nastavit",
@@ -1140,10 +1208,11 @@
"settings_saved": "Nastavení uloženo",
"share": "Sdílet",
"shared": "Sdílené",
- "shared_by": "Sdílel",
- "shared_by_user": "Sdíleno uživatelem {user}",
+ "shared_by": "Sdílel(a)",
+ "shared_by_user": "Sdílel(a) {user}",
"shared_by_you": "Sdíleli jste",
"shared_from_partner": "Fotky od {partner}",
+ "shared_link_options": "Možnosti sdíleného odkazu",
"shared_links": "Sdílené odkazy",
"shared_photos_and_videos_count": "{assetCount, plural, one {# sdílená fotografie a video.} few {# sdílené fotografie a videa.} other {# sdílených fotografií a videí.}}",
"shared_with_partner": "Sdíleno s {partner}",
@@ -1152,6 +1221,7 @@
"sharing_sidebar_description": "Zobrazit sekci Sdílení v postranním panelu",
"shift_to_permanent_delete": "stiskněte ⇧ pro trvalé odstranění položky",
"show_album_options": "Zobrazit možnosti alba",
+ "show_albums": "Zobrazit alba",
"show_all_people": "Zobrazit všechny lidi",
"show_and_hide_people": "Zobrazit a skrýt osoby",
"show_file_location": "Zobrazit umístění souboru",
@@ -1166,13 +1236,18 @@
"show_person_options": "Zobrazit možnosti osoby",
"show_progress_bar": "Zobrazit ukazatel průběhu",
"show_search_options": "Zobrazit možnosti vyhledávání",
+ "show_slideshow_transition": "Zobrazit přechod prezentace",
"show_supporter_badge": "Odznak podporovatele",
"show_supporter_badge_description": "Zobrazit odznak podporovatele",
"shuffle": "Náhodný výběr",
+ "sidebar": "Postranní panel",
+ "sidebar_display_description": "Zobrazení odkazu na zobrazení v postranním panelu",
"sign_out": "Odhlásit se",
"sign_up": "Zaregistrovat se",
"size": "Velikost",
"skip_to_content": "Přejít na obsah",
+ "skip_to_folders": "Přeskočit na složky",
+ "skip_to_tags": "Přeskočit na značky",
"slideshow": "Prezentace",
"slideshow_settings": "Nastavení prezentace",
"sort_albums_by": "Seřadit alba podle...",
@@ -1183,8 +1258,10 @@
"sort_recent": "Nejnovější fotka",
"sort_title": "Název",
"source": "Zdroj",
- "stack": "Zásobník",
- "stack_selected_photos": "Zásobník vybraných fotografií",
+ "stack": "Seskupit",
+ "stack_duplicates": "Seskupit duplicity",
+ "stack_select_one_photo": "Vyberte jednu hlavní fotografii pro seskupení",
+ "stack_selected_photos": "Seskupení vybraných fotografií",
"stacked_assets_count": "{count, plural, one {Seskupena # položka} few {Seskupeny # položky} other {Seskupeno # položek}}",
"stacktrace": "Výpis zásobníku",
"start": "Start",
@@ -1201,22 +1278,36 @@
"submit": "Odeslat",
"suggestions": "Návrhy",
"sunrise_on_the_beach": "Východ slunce na pláži",
+ "support": "Podpora",
+ "support_and_feedback": "Podpora a zpětná vazba",
+ "support_third_party_description": "Vaše Immich instalace byla připravena třetí stranou. Problémy, které se u vás vyskytly, mohou být způsobeny tímto balíčkem, proto se na ně obraťte v první řadě pomocí níže uvedených odkazů.",
"swap_merge_direction": "Obrátit směr sloučení",
"sync": "Synchronizovat",
+ "tag": "Značka",
+ "tag_assets": "Přiřadit značku",
+ "tag_created": "Vytvořena značka: {tag}",
+ "tag_feature_description": "Procházení fotografií a videí seskupených podle témat logických značek",
+ "tag_not_found_question": "Nemůžete najít značku? Vytvořte novou.",
+ "tag_updated": "Aktualizována značka: {tag}",
+ "tagged_assets": "Přiřazena značka {count, plural, one {# položce} other {# položkám}}",
+ "tags": "Značky",
"template": "Šablona",
"theme": "Motiv",
"theme_selection": "Výběr motivu",
"theme_selection_description": "Automatické nastavení světlého nebo tmavého motivu podle systémových preferencí prohlížeče",
"they_will_be_merged_together": "Budou sloučeny dohromady",
+ "third_party_resources": "Zdroje třetích stran",
"time_based_memories": "Časové vzpomínky",
"timezone": "Časové pásmo",
"to_archive": "Archivovat",
"to_change_password": "Změnit heslo",
"to_favorite": "Oblíbit",
"to_login": "Přihlásit",
+ "to_parent": "Přejít k rodiči",
+ "to_root": "Přejít ke kořenu",
"to_trash": "Vyhodit",
"toggle_settings": "Přepnout nastavení",
- "toggle_theme": "Přepnout motiv",
+ "toggle_theme": "Přepnout tmavý motiv",
"toggle_visibility": "Přepnout viditelnost",
"total_usage": "Celkové využití",
"trash": "Koš",
@@ -1235,14 +1326,16 @@
"unknown_album": "Neznámé album",
"unknown_year": "Neznámý rok",
"unlimited": "Neomezeně",
+ "unlink_motion_video": "Odpojit pohyblivé video",
"unlink_oauth": "Zrušit OAuth propojení",
"unlinked_oauth_account": "OAuth účet odpojen",
"unnamed_album": "Nepojmenované album",
+ "unnamed_album_delete_confirmation": "Opravdu chcete toto album smazat?",
"unnamed_share": "Nejmenované sdílení",
"unsaved_change": "Neuložená změna",
"unselect_all": "Zrušit výběr všech",
"unselect_all_duplicates": "Zrušit výběr všech duplicit",
- "unstack": "Zrušit zásobník",
+ "unstack": "Zrušit seskupení",
"unstacked_assets_count": "{count, plural, one {Rozložena # položka} few {Rozloženy # položky} other {Rozloženo # položek}}",
"untracked_files": "Nesledované soubory",
"untracked_files_decription": "Tyto soubory nejsou aplikaci známy. Mohou být výsledkem neúspěšných přesunů, přerušeného nahrávání nebo mohou zůstat pozadu kvůli chybě",
@@ -1258,7 +1351,7 @@
"upload_status_uploaded": "Nahráno",
"upload_success": "Nahrání proběhlo úspěšně, obnovením stránky se zobrazí nově nahrané položky.",
"url": "URL",
- "usage": "Použití",
+ "usage": "Využití",
"use_custom_date_range": "Použít vlastní rozsah dat",
"user": "Uživatel",
"user_id": "ID uživatele",
@@ -1277,6 +1370,8 @@
"version": "Verze",
"version_announcement_closing": "Váš přítel Alex",
"version_announcement_message": "Ahoj příteli, je tu nová verze aplikace, věnuj prosím čas přečtení poznámek k vydání a zajisti si, aby docker-compose.yml
a nastavení .env
bylo aktuální, a aby nedošlo k chybné konfiguraci, zejména pokud používáš WatchTower nebo jiný mechanismus, který se stará o automatickou aktualizaci aplikace.",
+ "version_history": "Historie verzí",
+ "version_history_item": "Nainstalováno {version} dne {date}",
"video": "Video",
"video_hover_setting": "Přehrávat miniaturu videa po najetí myší",
"video_hover_setting_description": "Přehrát miniaturu videa při najetí myší na položku. I když je přehrávání vypnuto, lze jej spustit najetím na ikonu přehrávání.",
@@ -1286,10 +1381,11 @@
"view_album": "Zobrazit album",
"view_all": "Zobrazit vše",
"view_all_users": "Zobrazit všechny uživatele",
+ "view_in_timeline": "Zobrazit na časové ose",
"view_links": "Zobrazit odkazy",
"view_next_asset": "Zobrazit další položku",
"view_previous_asset": "Zobrazit předchozí položku",
- "view_stack": "Zobrazit zásobník",
+ "view_stack": "Zobrazit seskupení",
"viewer": "Prohlížeč",
"visibility_changed": "Viditelnost změněna u {count, plural, one {# osoby} few {# osob} other {# lidí}}",
"waiting": "Čekající",
diff --git a/i18n/cv.json b/i18n/cv.json
new file mode 100644
index 0000000000..8f0581053e
--- /dev/null
+++ b/i18n/cv.json
@@ -0,0 +1,49 @@
+{
+ "about": "Ҫинчен",
+ "account": "Шута ҫырни",
+ "account_settings": "Шута ҫырни ӗнерленӳ",
+ "acknowledge": "Çирӗплет",
+ "action": "Ӗçлени",
+ "actions": "Ӗҫсем",
+ "active": "Хастар",
+ "activity": "Хастарлӑх",
+ "activity_changed": "Хастарлӑха {enabled, select, true {кӗртнӗ} other {сӳнтернӗ}}",
+ "add": "Хуш",
+ "add_a_description": "Ҫырса кӑтартни хуш",
+ "add_a_location": "Вырӑн хуш",
+ "add_a_name": "Ятне хуш",
+ "add_a_title": "Ят хуш",
+ "add_exclusion_pattern": "Кӑларса пӑрахмалли йӗрке хуш",
+ "add_import_path": "Импорт ҫулне хуш",
+ "add_location": "Вырӑн хуш",
+ "add_more_users": "Усӑҫсем ытларах хуш",
+ "add_partner": "Мӑшӑр хуш",
+ "add_path": "Ҫулне хуш",
+ "add_photos": "Сӑнӳкерчӗксем хуш",
+ "add_to": "Мӗн те пулин хуш...",
+ "add_to_album": "Альбома хуш",
+ "add_to_shared_album": "Пӗрлехи альбома хуш",
+ "added_to_archive": "Архива хушнӑ",
+ "added_to_favorites": "Суйласа илнине хушнӑ",
+ "added_to_favorites_count": "Суйласа илнине {count, number} хушнӑ",
+ "admin": {
+ "asset_offline_description": "Библиотекӑн ҫак тулаш файлне дискра урӑх тупайман, карҫинккана куҫарнӑ. Енчен те файла вулавӑш ӑшне куҫарнӑ пулсан, тивӗҫлӗ ҫӗнӗ ресурс тупас тесен хӑвӑрӑн вӑхӑтлӑх шкалӑна тӗрӗслӗр. Ҫак файла ҫӗнӗрен чӗртес тесен файл патне каймалли ҫула Immich валли аяларах ҫитернине курса ӗненӗр, библиотекӑна сканерланине пурнӑҫлӑр.",
+ "authentication_settings_disable_all": "Эсир кӗмелли пур меслетсене те чарса лартасшӑн тесе шутлатӑр-и? Кӗмелли шӑтӑка пӗтӗмпех уҫаҫҫӗ.",
+ "background_task_job": "Курăнман ӗҫсем",
+ "check_all": "Пурне те тӗрӗслӗр",
+ "cleared_jobs": "Ӗҫсене тасатнӑ:{job}",
+ "confirm_email_below": "Ҫирӗплетес тесен, аяларах «{email}» кӗртӗр",
+ "confirm_reprocess_all_faces": "Пӗтӗм сӑнӗсене тепӗр хут палӑртас килет тесе шанатӑр-и? Ҫавӑн пекех ятсене пур ҫынран та хуратӗҫ.",
+ "create_job": "Ӗҫе ту",
+ "disable_login": "Кӗме чарӑр",
+ "duplicate_detection_job_description": "Пӗр пек ӳкерчӗксене тупма машинӑллӑ вӗренӗве ӗҫлеттерӗр. Ӑслӑ шыравпа усӑ кураҫҫӗ",
+ "face_detection": "Пит-куҫа тупасси",
+ "force_delete_user_warning": "ПУЛТАРУЛӐХ: Ку усӑ куракана тата мӗнпур ресурса ҫийӗнчех кӑларса пӑрахасси патне илсе ҫитерӗ. Кӑна пӑрахӑҫлама май ҫук, файлсене те юсаса пӗтереймеҫҫӗ.",
+ "image_format": "Тулашлăх",
+ "image_preview_description": "Вӑтам пысӑкӑш ӳкерчӗк, уйрӑм метаданнӑйсем, пӗр объекта пӑхнӑ чухне тата машинӑллӑ вӗренӳре усӑ кураҫҫӗ",
+ "image_preview_quality_description": "1-100 таран малтанхи пахалӑх. Ҫӳллӗреххи лайӑхрах, анчах та пысӑкрах файлсем туса кӑларать тата приложенисен хуравлӑхне чакарма пултарать. Пӗчӗк хак лартни машинӑллӑ вӗренӳ пахалӑхне витӗм кӳме пултарать.",
+ "image_preview_title": "Малтанлӑха пӑхмалли ӗнерлевсем",
+ "image_quality": "Пахалӑх",
+ "image_resolution": "Виҫе"
+ }
+}
diff --git a/web/src/lib/i18n/da.json b/i18n/da.json
similarity index 82%
rename from web/src/lib/i18n/da.json
rename to i18n/da.json
index e7fb7bbf68..9a4101b023 100644
--- a/web/src/lib/i18n/da.json
+++ b/i18n/da.json
@@ -5,9 +5,9 @@
"acknowledge": "Anerkend",
"action": "Handling",
"actions": "Handlinger",
- "active": "Aktiv",
+ "active": "Aktive",
"activity": "Aktivitet",
- "activity_changed": "Aktivitet er {enabled, select, true {enabled} other {disabled}}",
+ "activity_changed": "Aktivitet er {enabled, select, true {aktiveret} other {deaktiveret}}",
"add": "Tilføj",
"add_a_description": "Tilføj en beskrivelse",
"add_a_location": "Tilføj en placering",
@@ -25,31 +25,31 @@
"add_to_shared_album": "Tilføj til delt album",
"added_to_archive": "Tilføjet til arkiv",
"added_to_favorites": "Tilføjet til favoritter",
- "added_to_favorites_count": "Tilføjet {count} til favoritter",
+ "added_to_favorites_count": "Tilføjet {count, number} til favoritter",
"admin": {
"add_exclusion_pattern_description": "Tilføj udelukkelsesmønstre. Globbing ved hjælp af *, ** og ? understøttes. For at ignorere alle filer i enhver mappe med navnet \"Raw\", brug \"**/Raw/**\". For at ignorere alle filer, der slutter på \".tif\", brug \"**/*.tif\". For at ignorere en absolut sti, brug \"/sti/til/ignoreret/**\".",
"authentication_settings": "Godkendelsesindstillinger",
"authentication_settings_description": "Administrer adgangskode, OAuth og andre godkendelsesindstillinger",
- "authentication_settings_disable_all": "Er du sikker på at du vil deaktivere alle login muligheder? Login vil blive helt deaktiveret.",
+ "authentication_settings_disable_all": "Er du sikker på at du vil deaktivere alle loginmuligheder? Login vil blive helt deaktiveret.",
"authentication_settings_reenable": "Brug en server-kommando for at genaktivere.",
"background_task_job": "Baggrundsopgaver",
"check_all": "Tjek Alle",
"cleared_jobs": "Ryddet jobs til: {job}",
"config_set_by_file": "konfigurationen er i øjeblikket indstillet af en konfigurations fil",
"confirm_delete_library": "Er du sikker på, at du vil slette {library} bibliotek?",
- "confirm_delete_library_assets": "Er du sikker på, at du vil slette dette bibliotek? Dette vil slette alle {count} indeholdte aktiver fra Immich og kan ikke gøres om. Filerne forbliver på disken.",
+ "confirm_delete_library_assets": "Er du sikker på, at du vil slette dette bibliotek? Dette vil slette {count, plural, one {# indeholdt mediefil} other {alle # indeholdte mediefiler}} fra Immich og kan ikke gøres om. Filerne forbliver på disken.",
"confirm_email_below": "For at bekræfte, skriv \"{email}\" herunder",
"confirm_reprocess_all_faces": "Er du sikker på, at du vil genbehandle alle ansigter? Dette vil også rydde navngivne personer.",
"confirm_user_password_reset": "Er du sikker på, at du vil nulstille {user}s adgangskode?",
"crontab_guru": "Crontab Guru",
"disable_login": "Deaktiver login",
"disabled": "",
- "duplicate_detection_job_description": "Kør maskinlæring på aktiver for at opdage lignende billeder. Er afhængig af Smart Søgning",
+ "duplicate_detection_job_description": "Kør maskinlæring på mediefiler for at opdage lignende billeder. Er afhængig af Smart Søgning",
"exclusion_pattern_description": "Ekskluderingsmønstre lader dig ignorere filer og mapper, når du scanner dit bibliotek. Dette er nyttigt, hvis du har mapper, der indeholder filer, du ikke vil importere, såsom RAW-filer.",
"external_library_created_at": "Eksternt bibliotek (oprettet {date})",
"external_library_management": "Ekstern biblioteksstyring",
"face_detection": "Ansigtsopdagelse",
- "face_detection_description": "Genkend ansigterne i aktiver via maskinlæring. For videoer er det kun miniaturebilledet som tages hensyn til. \"Alle\" (gen-)behandler alle aktiver. \"Mangler\" sætter aktiver i kø, som ikke er blevet behandlet endnu. Opdagede ansigter vil blive sat i kø til Ansigtsgenkendelse efter Ansigtsopdagelse er færdig, hvilket grupperer dem til eksisterende eller nye personer.",
+ "face_detection_description": "Genkend ansigterne i mediefiler via maskinlæring. For videoer er det kun miniaturebilledet som tages hensyn til. \"Alle\" (gen-)behandler alle mediefiler. \"Mangler\" sætter mediefiler i kø, som ikke er blevet behandlet endnu. Opdagede ansigter vil blive sat i kø til Ansigtsgenkendelse efter Ansigtsopdagelse er færdig, hvilket grupperer dem til eksisterende eller nye personer.",
"facial_recognition_job_description": "Grupper opdagede ansigter i personer. Dette trin kører efter Ansigtsopdagelse er færdig. \"Alle\" (gen-)klumper alle ansigter sammen. \"Mangler\" sætter ansigter i kø, som ikke har en person tildelt.",
"failed_job_command": "Kommando {command} mislykkedes for job: {job}",
"force_delete_user_warning": "ADVARSEL: Dette vil øjeblikkeligt fjerne brugeren og alle Billeder/Videoer. Dette kan ikke fortrydes, og filerne kan ikke gendannes.",
@@ -74,8 +74,8 @@
"job_settings": "Jobindstillinger",
"job_settings_description": "Administrér samtidige opgaver",
"job_status": "Opgave Status",
- "jobs_delayed": "{jobCount} forsinket",
- "jobs_failed": "{jobCount} fejlede",
+ "jobs_delayed": "{jobCount, plural, one {# forsinket} other {# forsinkede}}",
+ "jobs_failed": "{jobCount, plural, one {# fejlet} other {# fejlede}}",
"library_created": "Skabte bibliotek: {library}",
"library_cron_expression": "Cron-udtryk",
"library_cron_expression_description": "Sæt skannings interval ved at bruge cron formatet. For mere information se dokumentation her Crontab Guru",
@@ -95,9 +95,10 @@
"logging_level_description": "Når slået til, hvilket logniveau, der skal bruges.",
"logging_settings": "Logning",
"machine_learning_clip_model": "CLIP-model",
+ "machine_learning_clip_model_description": "Navnet på CLIP-modellen på listen her. Bemærk at du skal genkøre \"Smart Søgning\"-jobbet for alle billeder, hvis du skifter model.",
"machine_learning_duplicate_detection": "Dubletdetektion",
"machine_learning_duplicate_detection_enabled": "Aktiver duplikatdetektion",
- "machine_learning_duplicate_detection_enabled_description": "Når slået fra, vil nøjagtigt identiske aktiver blive de-duplikeret.",
+ "machine_learning_duplicate_detection_enabled_description": "Når slået fra, vil nøjagtigt identiske mediefiler blive de-duplikerede.",
"machine_learning_duplicate_detection_setting_description": "Brug CLIP-indlejringer til at finde sandsynlige duplikater",
"machine_learning_enabled": "Aktivér maskinlæring",
"machine_learning_enabled_description": "Hvis deaktiveret, vil alle ML-funktioner blive deaktiveret uanset nedenstående indstillinger.",
@@ -125,25 +126,33 @@
"manage_concurrency": "Administrer antallet af samtidige opgaver",
"manage_log_settings": "Administrer logindstillinger",
"map_dark_style": "Mørk tema",
- "map_enable_description": "Aktiver kort funktioner",
+ "map_enable_description": "Aktivér kortfunktioner",
+ "map_gps_settings": "Kort- og GPS-indstillinger",
+ "map_gps_settings_description": "Håndter indstillinger for Kort og GPS (Omvendt Geokodning)",
+ "map_implications": "Kortfunktionen afhænger af en ekstern tile-service (tiles.immich.cloud)",
"map_light_style": "Lyst tema",
+ "map_manage_reverse_geocoding_settings": "Håndtér indstillinger for Omvendt Geokoding",
"map_reverse_geocoding": "Omvendt geokodning",
"map_reverse_geocoding_enable_description": "Aktiver omvendt geokodning",
"map_reverse_geocoding_settings": "Omvendt geokodningsindstillinger",
- "map_settings": "Kort og GPS-indstillinger",
+ "map_settings": "Kort",
"map_settings_description": "Administrer kortindstillinger",
"map_style_description": "URL til en style.json for et korttema",
"metadata_extraction_job": "Udtræk metadata",
"metadata_extraction_job_description": "Udtræk metadataoplysninger fra hvert Billede/Video, såsom GPS og opløsning",
+ "metadata_faces_import_setting": "Aktivér for at importere ansigter",
+ "metadata_faces_import_setting_description": "Importerer ansigter fra billed EXIF-data og forbandt filer",
+ "metadata_settings": "Metadatainstillinger",
+ "metadata_settings_description": "Håndtér metadataindstillinger",
"migration_job": "Migrering",
"migration_job_description": "Migrér miniaturebilleder for aktiver og ansigter til den seneste mappestruktur",
"no_paths_added": "Ingen stier tilføjet",
"no_pattern_added": "Intet mønster tilføjet",
- "note_apply_storage_label_previous_assets": "Bemærk: For at anvende Lagringsmærkatet på tidligere uploadede aktiver, kør",
+ "note_apply_storage_label_previous_assets": "Bemærk: For at anvende Lagringsmærkatet på tidligere uploadede mediefiler, kør",
"note_cannot_be_changed_later": "BEMÆRK: Dette kan ikke ændres senere!",
"note_unlimited_quota": "Bemærk: Indsæt 0 for uendelig kvote",
"notification_email_from_address": "Fra adressse",
- "notification_email_from_address_description": "Afsenderemailadresse, for eksempel: \"Immich Billedserver {label}
er brugerens Lagringsmærkat",
"system_settings": "Systemindstillinger",
"theme_custom_css_settings": "Brugerdefineret CSS",
"theme_custom_css_settings_description": "Cascading Style Sheets tillader at give Immich et brugerdefineret look.",
@@ -221,22 +244,25 @@
"theme_settings_description": "Administrér brugertilpasningen af Immich's webinterface",
"these_files_matched_by_checksum": "Disse filer er blevet matchet med deres checksummer",
"thumbnail_generation_job": "Generér miniaturebilleder",
- "thumbnail_generation_job_description": "Generér store, små og slørede miniaturebilleder for hvert aktiv, såvel som miniaturebilleder for hver person",
+ "thumbnail_generation_job_description": "Generér store, små og slørede miniaturebilleder for hver mediefil, såvel som miniaturebilleder for hver person",
"transcode_policy_description": "",
"transcoding_acceleration_api": "Accelerations-API",
"transcoding_acceleration_api_description": "API'en som interagerer med din enhed for at accelerere transkodning. Denne er indstilling er \"i bedste fald\": Den vil falde tilbage til software-transkodning ved svigt. VP9 virker måske, måske ikke, afhængigt af dit hardware.",
"transcoding_acceleration_nvenc": "NVENC (kræver NVIDIA GPU)",
- "transcoding_acceleration_qsv": "Hurtigsynkronisering (kræver 7. generation Intel CPU eller senere)",
+ "transcoding_acceleration_qsv": "Quick Sync (kræver 7. generation Intel CPU eller senere)",
"transcoding_acceleration_rkmpp": "RKMPP (kun på Rockchip SOC'er)",
"transcoding_acceleration_vaapi": "VAAPI",
"transcoding_accepted_audio_codecs": "Accepterede lyd-codecs",
"transcoding_accepted_audio_codecs_description": "Vælg hvilke lyd-codecs der ikke behøver at blive transkodet. Bruges kun ved bestemte transkodningspolitikker.",
+ "transcoding_accepted_containers": "Accepterede containere",
+ "transcoding_accepted_containers_description": "Vælg hvilke containerformater der ikke skal remuxes til MP4. Bruges kun for visse transkodningspolitiker.",
"transcoding_accepted_video_codecs": "Accepterede video-codecs",
"transcoding_accepted_video_codecs_description": "Vælg hvilke video-codec der ikke behøver at bliver transkodet. Bruges kun ved bestemte transkodningspolitikker.",
"transcoding_advanced_options_description": "Indstillinger de fleste brugere ikke behøver at ændre på",
"transcoding_audio_codec": "Lyd-codec",
"transcoding_audio_codec_description": "Opus er den indstillingen med højest kvalitet, men har mindre kompatibilitet med gamle enheder og software.",
"transcoding_bitrate_description": "Videoer med højere end maksimumbitrate eller ikke i et godkendt format",
+ "transcoding_codecs_learn_more": "For at lære mere om den terminologi der bruges her, henvises til FFmpeg dokumentationen for {label}
is das Speicher-Label des Benutzers",
- "system_settings": "System-Einstellungen",
+ "storage_template_user_label": "{label}
is die Speicherpfadbezeichnung des Benutzers",
+ "system_settings": "Systemeinstellungen",
+ "tag_cleanup_job": "Tags aufräumen",
"theme_custom_css_settings": "Benutzerdefiniertes CSS",
"theme_custom_css_settings_description": "Mit Cascading Style Sheets (CSS) kann das Design von Immich angepasst werden.",
"theme_settings": "Theme-Einstellungen",
"theme_settings_description": "Anpassung der Immich-Web-Oberfläche",
"these_files_matched_by_checksum": "Diese Dateien wurden anhand ihrer Prüfsummen abgeglichen",
- "thumbnail_generation_job": "Vorschaubilder generieren",
- "thumbnail_generation_job_description": "Diese Aufgabe erzeugt große, kleine und unscharfe Miniaturbilder für jede einzelne Datei, sowie Miniaturbilder für jede Person",
+ "thumbnail_generation_job": "Miniaturansichten generieren",
+ "thumbnail_generation_job_description": "Diese Aufgabe erzeugt große, kleine und unscharfe Miniaturansichten für jede einzelne Datei, sowie Miniaturansichten für jede Person",
"transcode_policy_description": "Richtlinien, wann ein Video transkodiert werden soll. HDR-Videos werden immer transkodiert (außer wenn die Transkodierung deaktiviert ist).",
"transcoding_acceleration_api": "Beschleunigungs-API",
"transcoding_acceleration_api_description": "Die Schnittstelle welche mit dem Gerät interagiert, um die Transkodierung zu beschleunigen. Bei dieser Einstellung handelt es sich um die \"bestmögliche Lösung\": Bei einem Fehler wird auf die Software-Transkodierung zurückgegriffen. Abhängig von der verwendeten Hardware kann VP9 funktionieren oder auch nicht.",
@@ -266,7 +287,7 @@
"transcoding_hardware_acceleration": "Hardware-Beschleunigung",
"transcoding_hardware_acceleration_description": "Experimentell; viel schneller, aber bei gleicher Bitrate mit geringerer Qualität",
"transcoding_hardware_decoding": "Hardware-Dekodierung",
- "transcoding_hardware_decoding_setting_description": "Nur gültig für NVENC, QSV und RKMPP. Ermöglicht eine Ende-zu-Ende-Beschleunigung, anstatt nur die Codierung zu beschleunigen. Dies funktioniert möglicherweise nicht bei allen Videos.",
+ "transcoding_hardware_decoding_setting_description": "Ermöglicht eine Ende-zu-Ende-Beschleunigung, anstatt nur die Codierung zu beschleunigen. Dies funktioniert möglicherweise nicht bei allen Videos.",
"transcoding_hevc_codec": "HEVC-Codec",
"transcoding_max_b_frames": "Maximale B-Frames",
"transcoding_max_b_frames_description": "Höhere Werte verbessern die Komprimierungseffizienz, verlangsamen aber die Kodierung. Ist möglicherweise nicht mit der Hardware-Beschleunigung älterer Geräte kompatibel. 0 deaktiviert die B-Frames, während -1 diesen Wert automatisch setzt.",
@@ -277,22 +298,22 @@
"transcoding_optimal_description": "Videos mit einer höheren Auflösung als der Zielauflösung oder in einem nicht akzeptierten Format",
"transcoding_preferred_hardware_device": "Bevorzugtes Hardwaregerät",
"transcoding_preferred_hardware_device_description": "Gilt nur für VAAPI und QSV. Legt den für die Hardware-Transkodierung verwendeten dri-Node fest.",
- "transcoding_preset_preset": "Voreinstellung (-voreinstellung)",
+ "transcoding_preset_preset": "Voreinstellung (-preset)",
"transcoding_preset_preset_description": "Komprimierungsgeschwindigkeit. Eine langsamere Voreinstellungen erzeugt kleinere Dateien und erhöht die Qualität, wenn man eine gewisse Bitrate anstrebt. VP9 ignoriert Geschwindigkeiten über „Schneller“.",
"transcoding_reference_frames": "Referenz-Frames",
"transcoding_reference_frames_description": "Die Anzahl der Bilder, auf die bei der Komprimierung eines bestimmten Bildes Bezug genommen wird. Höhere Werte verbessern die Komprimierungseffizienz, verlangsamen aber die Kodierung. 0 setzt diesen Wert automatisch.",
"transcoding_required_description": "Nur Videos in einem nicht akzeptierten Format",
"transcoding_settings": "Video-Transkodierungseinstellungen",
- "transcoding_settings_description": "Verwalten der Auflösungs- und Kodierungsinformationen von Videodateien",
+ "transcoding_settings_description": "Auflösungs- und Kodierungsinformationen von Videodateien verwalten",
"transcoding_target_resolution": "Ziel-Auflösung",
"transcoding_target_resolution_description": "Höhere Auflösungen können mehr Details erhalten, benötigen aber mehr Zeit für die Codierung, haben größere Dateigrößen und können die Reaktionszeit der Anwendung beeinträchtigen.",
"transcoding_temporal_aq": "Temporäre AQ",
"transcoding_temporal_aq_description": "Gilt nur für NVENC. Verbessert die Qualität von Szenen mit hohem Detailreichtum und geringen Bewegungen. Dies ist möglicherweise nicht mit älteren Geräten kompatibel.",
"transcoding_threads": "Threads",
"transcoding_threads_description": "Höhere Werte führen zu einer schnelleren Codierung, lassen dem Server aber weniger Spielraum für die Verarbeitung anderer Aufgaben, solange dies aktiv ist. Dieser Wert sollte nicht höher sein als die Anzahl der CPU-Kerne. Nutzt die maximale Auslastung, wenn der Wert auf 0 gesetzt ist.",
- "transcoding_tone_mapping": "Farbton-mapping",
+ "transcoding_tone_mapping": "Farbton-Mapping",
"transcoding_tone_mapping_description": "Versucht, das Aussehen von HDR-Videos bei der Konvertierung in SDR beizubehalten. Jeder Algorithmus geht unterschiedliche Kompromisse bei Farbe, Details und Helligkeit ein. Hable bewahrt Details, Mobius bewahrt die Farbe und Reinhard bewahrt die Helligkeit.",
- "transcoding_tone_mapping_npl": "Farbton-mapping NPL",
+ "transcoding_tone_mapping_npl": "Farbton-Mapping NPL",
"transcoding_tone_mapping_npl_description": "Die Farben werden so angepasst, dass sie für einen Bildschirm mit entsprechender Helligkeit normal aussehen. Entgegen der Annahme, dass niedrigere Werte die Helligkeit des Videos erhöhen und umgekehrt, wird die Helligkeit des Bildschirms ausgeglichen. Mit 0 wird dieser Wert automatisch eingestellt.",
"transcoding_transcode_policy": "Transcodierungsrichtlinie",
"transcoding_transcode_policy_description": "Richtlinie, wann ein Video transkodiert werden soll. HDR-Videos werden immer transkodiert (außer wenn die Transkodierung deaktiviert ist).",
@@ -306,7 +327,8 @@
"trash_settings": "Papierkorb-Einstellungen",
"trash_settings_description": "Papierkorb-Einstellungen verwalten",
"untracked_files": "Unverfolgte Dateien",
- "untracked_files_description": "Diese Dateien werden nicht von der Application getrackt. Sie können das Ergebnis fehlgeschlagener Verschiebungen, unterbrochener Uploads oder aufgrund eines Fehlers sein",
+ "untracked_files_description": "Diese Dateien werden nicht von der Anwendung getrackt. Sie können das Ergebnis fehlgeschlagener Verschiebungen, unterbrochener Uploads oder aufgrund eines Fehlers sein",
+ "user_cleanup_job": "Benutzer aufräumen",
"user_delete_delay": "Das Konto und die Dateien von {user} werden in {delay, plural, one {einem Tag} other {# Tagen}} für eine permanente Löschung geplant.",
"user_delete_delay_settings": "Verzögerung für das Löschen von Benutzern",
"user_delete_delay_settings_description": "Gibt die Anzahl der Tage bis zur endgültigen Löschung eines Kontos und seiner Dateien an. Der Benutzerlöschauftrag wird täglich um Mitternacht ausgeführt, um zu überprüfen, ob Nutzer zur Löschung bereit sind. Änderungen an dieser Einstellung werden erst bei der nächsten Ausführung berücksichtigt.",
@@ -320,7 +342,8 @@
"user_settings": "Benutzer-Einstellungen",
"user_settings_description": "Benutzer-Einstellungen verwalten",
"user_successfully_removed": "Benutzer {email} wurde erfolgreich entfernt.",
- "version_check_enabled_description": "Regelmäßige Abfragen gegen GitHub aktivieren, um nach neueren Versionen zu prüfen",
+ "version_check_enabled_description": "Versionsprüfung aktivieren",
+ "version_check_implications": "Die Funktion zur Versionsprüfung basiert auf regelmäßiger Kommunikation mit GitHub.com",
"version_check_settings": "Versionsprüfung",
"version_check_settings_description": "Aktivieren/Deaktivieren der Benachrichtigung über neue Versionen",
"video_conversion_job": "Videos transkodieren",
@@ -336,12 +359,13 @@
"album_added": "Album hinzugefügt",
"album_added_notification_setting_description": "Erhalte eine E-Mail-Benachrichtigung, wenn du zu einem freigegebenen Album hinzugefügt wurdest",
"album_cover_updated": "Album-Cover aktualisiert",
- "album_delete_confirmation": "Bist du sicher, dass du das Album {album} löschen willst?\nWenn dieses Album geteilt wurde, können andere Benutzer nicht mehr darauf zugreifen.",
+ "album_delete_confirmation": "Bist du sicher, dass du das Album {album} löschen willst?",
+ "album_delete_confirmation_description": "Falls dieses Album geteilt wurde, können andere Benutzer nicht mehr darauf zugreifen.",
"album_info_updated": "Album-Infos aktualisiert",
"album_leave": "Album verlassen?",
"album_leave_confirmation": "Bist du sicher, dass du das Album {album} verlassen willst?",
- "album_name": "Album Name",
- "album_options": "Album Optionen",
+ "album_name": "Albumname",
+ "album_options": "Albumoptionen",
"album_remove_user": "Nutzer entfernen?",
"album_remove_user_confirmation": "Bist du sicher, dass du {user} entfernen willst?",
"album_share_no_users": "Es sieht so aus, als hättest du dieses Album mit allen Benutzern geteilt oder du hast keine Benutzer, mit denen du teilen kannst.",
@@ -349,7 +373,7 @@
"album_updated_setting_description": "Erhalte eine E-Mail-Benachrichtigung, wenn ein freigegebenes Album neue Dateien enthält",
"album_user_left": "{album} verlassen",
"album_user_removed": "{user} entfernt",
- "album_with_link_access": "Lass jeden mit dem Link Fotos und Personen in diesem Album sehen.",
+ "album_with_link_access": "Lass jeden mit dem Link die Fotos und Personen in diesem Album sehen.",
"albums": "Alben",
"albums_count": "{count, plural, one {{count, number} Album} other {{count, number} Alben}}",
"all": "Alle",
@@ -360,6 +384,7 @@
"allow_edits": "Bearbeiten erlauben",
"allow_public_user_to_download": "Erlaube öffentlichen Benutzern, herunterzuladen",
"allow_public_user_to_upload": "Erlaube öffentlichen Benutzern, hochzuladen",
+ "anti_clockwise": "Gegen den Uhrzeigersinn",
"api_key": "API-Schlüssel",
"api_key_description": "Dieser Wert wird nur einmal angezeigt. Bitte kopiere ihn, bevor du das Fenster schließt.",
"api_key_empty": "Dein API-Schlüssel-Name darf nicht leer sein",
@@ -371,7 +396,7 @@
"archive_size": "Archivgröße",
"archive_size_description": "Archivgröße für Downloads konfigurieren (in GiB)",
"archived": "Archiviert",
- "archived_count": "{count, plural, other {# Archiviert}}",
+ "archived_count": "{count, plural, other {# archiviert}}",
"are_these_the_same_person": "Ist das dieselbe Person?",
"are_you_sure_to_do_this": "Bist du sicher, dass du das tun willst?",
"asset_added_to_album": "Zum Album hinzugefügt",
@@ -381,35 +406,37 @@
"asset_has_unassigned_faces": "Datei hat nicht zugewiesene Gesichter",
"asset_hashing": "Berechnung des Hashwerts...",
"asset_offline": "Datei offline",
- "asset_offline_description": "Diese Datei ist nicht erreichbar. Immich kann nicht auf ihren Speicherort zugreifen. Bitte stelle sicher, dass die Datei verfügbar ist und scanne die Bibliothek erneut.",
+ "asset_offline_description": "Diese externe Datei ist nicht mehr auf dem Datenträger vorhanden. Bitte wende dich an deinen Immich-Administrator, um Hilfe zu erhalten.",
"asset_skipped": "Übersprungen",
+ "asset_skipped_in_trash": "Im Papierkorb",
"asset_uploaded": "Hochgeladen",
"asset_uploading": "Hochladen...",
"assets": "Dateien",
"assets_added_count": "{count, plural, one {# Datei} other {# Dateien}} hinzugefügt",
"assets_added_to_album_count": "{count, plural, one {# Datei} other {# Dateien}} zum Album hinzugefügt",
- "assets_added_to_name_count": "{count, plural, one {# Element} other {# Elemente}} zu {hasName, select, true {{name}} other {neuen Album}} hinzugefügt",
+ "assets_added_to_name_count": "{count, plural, one {# Element} other {# Elemente}} zu {hasName, select, true {{name}} other {neuem Album}} hinzugefügt",
"assets_count": "{count, plural, one {# Datei} other {# Dateien}}",
"assets_moved_to_trash": "{count, plural, one {# Datei} other {# Dateien}} in den Papierkorb verschoben",
"assets_moved_to_trash_count": "{count, plural, one {# Datei} other {# Dateien}} in den Papierkorb verschoben",
"assets_permanently_deleted_count": "{count, plural, one {# Datei} other {# Dateien}} dauerhaft gelöscht",
"assets_removed_count": "{count, plural, one {# Datei} other {# Dateien}} entfernt",
- "assets_restore_confirmation": "Bist du sicher, dass du alle Dateien aus dem Papierkorb wiederherstellen willst? Diese Aktion kann nicht rückgängig gemacht werden!",
+ "assets_restore_confirmation": "Bist du sicher, dass du alle Dateien aus dem Papierkorb wiederherstellen willst? Diese Aktion kann nicht rückgängig gemacht werden! Beachte, dass Offline-Dateien auf diese Weise nicht wiederhergestellt werden können.",
"assets_restored_count": "{count, plural, one {# Datei} other {# Dateien}} wiederhergestellt",
"assets_trashed_count": "{count, plural, one {# Datei} other {# Dateien}} in den Papierkorb verschoben",
"assets_were_part_of_album_count": "{count, plural, one {# Datei ist} other {# Dateien sind}} bereits im Album vorhanden",
"authorized_devices": "Verwendete Geräte",
"back": "Zurück",
"back_close_deselect": "Zurück, Schließen oder Abwählen",
- "backward": "Zurück",
+ "backward": "Rückwärts",
"birthdate_saved": "Geburtsdatum erfolgreich gespeichert",
"birthdate_set_description": "Das Geburtsdatum wird verwendet, um das Alter dieser Person zum Zeitpunkt eines Fotos zu berechnen.",
"blurred_background": "Unscharfer Hintergrund",
+ "bugs_and_feature_requests": "Fehler & Verbesserungsvorschläge",
"build": "Build",
"build_image": "Build Abbild",
- "bulk_delete_duplicates_confirmation": "Bist du sicher, dass du {count, plural, one {# duplizierte Datei} other {# duplizierte Dateien}} gemeinsam löschen möchtest? Dabei wird die größte Datei jeder Gruppe behalten und alle anderen Duplikate dauerhaft gelöscht. Diese Aktion kann nicht rückgängig gemacht werden!",
+ "bulk_delete_duplicates_confirmation": "Bist du sicher, dass du {count, plural, one {# duplizierte Datei} other {# duplizierte Dateien gemeinsam}} löschen möchtest? Dabei wird die größte Datei jeder Gruppe behalten und alle anderen Duplikate dauerhaft gelöscht. Diese Aktion kann nicht rückgängig gemacht werden!",
"bulk_keep_duplicates_confirmation": "Bist du sicher, dass du {count, plural, one {# duplizierte Datei} other {# duplizierte Dateien}} behalten möchtest? Dies wird alle Duplikat-Gruppen auflösen ohne etwas zu löschen.",
- "bulk_trash_duplicates_confirmation": "Bist du sicher, dass du {count, plural, one {# duplizierte Datei} other {# duplizierte Dateien}} gemeinsam in den Papierkorb verschieben möchtest? Dies wird die größte Datei jeder Gruppe behalten und alle anderen Duplikate in den Papierkorb verschieben.",
+ "bulk_trash_duplicates_confirmation": "Bist du sicher, dass du {count, plural, one {# duplizierte Datei} other {# duplizierte Dateien gemeinsam}} in den Papierkorb verschieben möchtest? Dies wird die größte Datei jeder Gruppe behalten und alle anderen Duplikate in den Papierkorb verschieben.",
"buy": "Immich erwerben",
"camera": "Kamera",
"camera_brand": "Kamera-Marke",
@@ -428,7 +455,7 @@
"change_location": "Ort ändern",
"change_name": "Name ändern",
"change_name_successfully": "Name wurde erfolgreich geändert",
- "change_password": "Passwort Ändern",
+ "change_password": "Passwort ändern",
"change_password_description": "Dies ist entweder das erste Mal, dass du dich im System anmeldest, oder es wurde eine Anfrage zur Änderung deines Passworts gestellt. Bitte gib unten dein neues Passwort ein.",
"change_your_password": "Ändere dein Passwort",
"changed_visibility_successfully": "Die Sichtbarkeit wurde erfolgreich geändert",
@@ -441,23 +468,25 @@
"clear_all_recent_searches": "Alle letzten Suchvorgänge löschen",
"clear_message": "Nachrichten leeren",
"clear_value": "Wert leeren",
+ "clockwise": "Im Uhrzeigersinn",
"close": "Schließen",
"collapse": "Zusammenklappen",
- "collapse_all": "Alles aufklappen",
+ "collapse_all": "Alle zusammenklappen",
+ "color": "Farbe",
"color_theme": "Farb-Theme",
"comment_deleted": "Kommentar gelöscht",
- "comment_options": "Kommentar-Optionen",
+ "comment_options": "Kommentaroptionen",
"comments_and_likes": "Kommentare & Likes",
"comments_are_disabled": "Kommentare sind deaktiviert",
"confirm": "Bestätigen",
"confirm_admin_password": "Administrator Passwort bestätigen",
"confirm_delete_shared_link": "Bist du sicher, dass du diesen geteilten Link löschen willst?",
"confirm_password": "Passwort bestätigen",
- "contain": "Enthält",
+ "contain": "Vollständig",
"context": "Kontext",
"continue": "Fortsetzen",
"copied_image_to_clipboard": "Das Bild wurde in die Zwischenablage kopiert.",
- "copied_to_clipboard": "In Zwischenablage kopiert!",
+ "copied_to_clipboard": "In die Zwischenablage kopiert!",
"copy_error": "Kopier-Fehler",
"copy_file_path": "Dateipfad kopieren",
"copy_image": "Bild kopieren",
@@ -477,6 +506,8 @@
"create_new_person": "Neue Person anlegen",
"create_new_person_hint": "Ausgewählte Dateien einer neuen Person zuweisen",
"create_new_user": "Neuen Nutzer erstellen",
+ "create_tag": "Tag erstellen",
+ "create_tag_description": "Erstelle einen neuen Tag. Für verschachtelte Tags, gib den gesamten Pfad inklusive Schrägstrich an.",
"create_user": "Nutzer erstellen",
"created": "Erstellt",
"current_device": "Aktuelles Gerät",
@@ -500,26 +531,33 @@
"delete_library": "Bibliothek löschen",
"delete_link": "Link löschen",
"delete_shared_link": "geteilten Link löschen",
+ "delete_tag": "Tag löschen",
+ "delete_tag_confirmation_prompt": "Bist du sicher, dass der Tag {tagName} gelöscht werden soll?",
"delete_user": "Nutzer löschen",
"deleted_shared_link": "Geteilten Link gelöscht",
+ "deletes_missing_assets": "Löscht Dateien, die auf der Festplatte fehlen",
"description": "Beschreibung",
"details": "Details",
"direction": "Richtung",
"disabled": "Deaktiviert",
"disallow_edits": "Bearbeitungen verbieten",
+ "discord": "Discord",
"discover": "Entdecken",
"dismiss_all_errors": "Alle Fehler ignorieren",
"dismiss_error": "Fehler ignorieren",
"display_options": "Anzeigeoptionen",
"display_order": "Anzeigereihenfolge",
"display_original_photos": "Originale Fotos anzeigen",
- "display_original_photos_setting_description": "Bei der Anzeige eines Bildes wird bevorzugt das Originalfoto statt der Miniaturansicht angezeigt, sofern das Original webkompatibel ist. Dies kann zu einer langsameren Ladezeit der Fotos führen.",
+ "display_original_photos_setting_description": "Bei der Anzeige eines Bildes wird bevorzugt das Originalfoto statt der Miniaturansicht angezeigt, sofern das Original webkompatibel ist. Dies kann zu einer längeren Ladezeit der Fotos führen.",
"do_not_show_again": "Diese Nachricht nicht erneut anzeigen",
- "done": "Erledigt",
- "download": "Download",
+ "documentation": "Dokumentation",
+ "done": "Fertig",
+ "download": "Herunterladen",
+ "download_include_embedded_motion_videos": "Eingebettete Videos",
+ "download_include_embedded_motion_videos_description": "Videos, die in Bewegungsfotos eingebettet sind, als separate Datei einfügen",
"download_settings": "Download",
- "download_settings_description": "Verwaltung der Einstellungen für den Dateidownload",
- "downloading": "Downloaden",
+ "download_settings_description": "Einstellungen für das Herunterladen von Dateien verwalten",
+ "downloading": "Herunterladen",
"downloading_asset_filename": "Datei {filename} wird heruntergeladen",
"drop_files_to_upload": "Lade Dateien hoch, indem du sie hierhin ziehst",
"duplicates": "Duplikate",
@@ -546,10 +584,15 @@
"edit_location": "Standort bearbeiten",
"edit_name": "Name bearbeiten",
"edit_people": "Personen bearbeiten",
+ "edit_tag": "Tag bearbeiten",
"edit_title": "Titel bearbeiten",
"edit_user": "Nutzer bearbeiten",
"edited": "Bearbeitet",
"editor": "Bearbeiter",
+ "editor_close_without_save_prompt": "Die Änderungen werden nicht gespeichert",
+ "editor_close_without_save_title": "Editor schließen?",
+ "editor_crop_tool_h2_aspect_ratios": "Seitenverhältnisse",
+ "editor_crop_tool_h2_rotation": "Drehung",
"email": "E-Mail",
"empty": "Leer",
"empty_album": "Leeres Album",
@@ -596,7 +639,7 @@
"incorrect_email_or_password": "Ungültige E-Mail oder Passwort",
"paths_validation_failed": "{paths, plural, one {# Pfad konnte} other {# Pfade konnten}} nicht validiert werden",
"profile_picture_transparent_pixels": "Profilbilder dürfen keine transparenten Pixel haben. Bitte zoome heran und/oder verschiebe das Bild.",
- "quota_higher_than_disk_size": "Dein festgelegtes Kontingent ist grösser als der verfügbare Speicher",
+ "quota_higher_than_disk_size": "Dein festgelegtes Kontingent ist größer als der verfügbare Speicher",
"repair_unable_to_check_items": "{count, select, one {Eintrag konnte} other {Einträge konnten}} nicht überprüft werden",
"unable_to_add_album_users": "Benutzer konnten nicht zum Album hinzugefügt werden",
"unable_to_add_assets_to_shared_link": "Datei konnte nicht zum geteilten Link hinzugefügt werden",
@@ -618,7 +661,7 @@
"unable_to_complete_oauth_login": "OAuth-Anmeldung konnte nicht abgeschlossen werden",
"unable_to_connect": "Verbindung konnte nicht hergestellt werden",
"unable_to_connect_to_server": "Verbindung zum Server konnte nicht hergestellt werden",
- "unable_to_copy_to_clipboard": "Konnte nicht in die Zwischenablage kopieren, stelle sicher, dass du per https auf die Seite zugreiffst",
+ "unable_to_copy_to_clipboard": "Konnte nicht in die Zwischenablage kopieren, stelle sicher, dass du per https auf die Seite zugreifst",
"unable_to_create_admin_account": "Administratorkonto konnte nicht erstellt werden",
"unable_to_create_api_key": "Es konnte kein API-Schlüssel erstellt werden",
"unable_to_create_library": "Bibliothek konnte nicht erstellt werden",
@@ -639,6 +682,7 @@
"unable_to_get_comments_number": "Anzahl der Kommentare konnte nicht abgerufen werden",
"unable_to_get_shared_link": "Fehler beim Abrufen des Freigabelinks",
"unable_to_hide_person": "Person kann nicht versteckt werden",
+ "unable_to_link_motion_video": "Bewegungsvideo kann nicht verknüpft werden",
"unable_to_link_oauth_account": "OAuth-Konto kann nicht verknüpft werden",
"unable_to_load_album": "Album kann nicht geladen werden",
"unable_to_load_asset_activity": "Foto-Aktivität konnte nicht geladen werden",
@@ -655,8 +699,8 @@
"unable_to_remove_api_key": "API-Schlüssel konnte nicht entfernt werden",
"unable_to_remove_assets_from_shared_link": "Dateien konnten nicht von geteiltem Link entfernt werden",
"unable_to_remove_comment": "Kommentar kann nicht entfernt werden",
+ "unable_to_remove_deleted_assets": "Offline-Dateien konnten nicht entfernt werden",
"unable_to_remove_library": "Bibliothek kann nicht entfernt werden",
- "unable_to_remove_offline_files": "Offline-Dateien konnten nicht entfernt werden",
"unable_to_remove_partner": "Partner kann nicht entfernt werden",
"unable_to_remove_reaction": "Reaktion kann nicht entfernt werden",
"unable_to_remove_user": "Benutzer kann nicht entfernt werden",
@@ -676,9 +720,10 @@
"unable_to_scan_library": "Bibliothek konnte nicht gescannt werden",
"unable_to_set_feature_photo": "Hauptfoto konnte nicht festgelegt werden",
"unable_to_set_profile_picture": "Profilbild konnte nicht gesetzt werden",
- "unable_to_submit_job": "Auftrag konnte nicht übermittelt werden",
+ "unable_to_submit_job": "Aufgabe konnte nicht eingereicht werden",
"unable_to_trash_asset": "Objekte konnten nicht gelöscht werden",
"unable_to_unlink_account": "Die Verknüpfung des Kontos kann nicht aufgehoben werden",
+ "unable_to_unlink_motion_video": "Verknüpfung zum Bewegungsvideo kann nicht aufgehoben werden",
"unable_to_update_album_cover": "Album-Cover konnte nicht aktualisiert werden",
"unable_to_update_album_info": "Album-Info konnte nicht aktualisiert werden",
"unable_to_update_library": "Die Bibliothek konnte nicht aktualisiert werden",
@@ -694,11 +739,12 @@
"every_six_hours": "Alle 6 Stunden",
"exif": "EXIF",
"exit_slideshow": "Diashow beenden",
- "expand_all": "Alle erweitern",
+ "expand_all": "Alle aufklappen",
"expire_after": "Verfällt nach",
"expired": "Verfallen",
"expires_date": "Läuft am {date} ab",
"explore": "Erkunden",
+ "explorer": "Datei-Explorer",
"export": "Exportieren",
"export_as_json": "Als JSON exportieren",
"extension": "Erweiterung",
@@ -712,6 +758,8 @@
"feature": "Funktion",
"feature_photo_updated": "Profilbild aktualisiert",
"featurecollection": "Funktionssammlung",
+ "features": "Funktionen",
+ "features_setting_description": "Funktionen der App verwalten",
"file_name": "Dateiname",
"file_name_or_extension": "Dateiname oder -erweiterung",
"filename": "Dateiname",
@@ -720,10 +768,12 @@
"filter_people": "Personen filtern",
"find_them_fast": "Finde sie schneller mit der Suche nach Namen",
"fix_incorrect_match": "Fehlerhafte Übereinstimmung beheben",
+ "folders": "Ordner",
+ "folders_feature_description": "Durchsuchen der Ordneransicht für Fotos und Videos im Dateisystem",
"force_re-scan_library_files": "Erzwingen des erneuten Scannens aller Bibliotheksdateien",
- "forward": "Weiterleiten",
+ "forward": "Vorwärts",
"general": "Allgemein",
- "get_help": "Erhalte Hilfe",
+ "get_help": "Hilfe erhalten",
"getting_started": "Erste Schritte",
"go_back": "Zurück",
"go_to_search": "Zur Suche gehen",
@@ -758,7 +808,7 @@
"image_taken": "{isVideo, select, true {Video aufgenommen} other {Bild aufgenommen}}",
"img": "Img",
"immich_logo": "Immich-Logo",
- "immich_web_interface": "Immich Webschnittstelle",
+ "immich_web_interface": "Immich-Web-Oberfläche",
"import_from_json": "Aus JSON importieren",
"import_path": "Importpfad",
"in_albums": "In {count, plural, one {# Album} other {# Alben}}",
@@ -769,10 +819,10 @@
"individual_share": "Individuelle Freigabe",
"info": "Info",
"interval": {
- "day_at_onepm": "Täglich 13.00 Uhr",
+ "day_at_onepm": "Täglich um 13:00 Uhr",
"hours": "{hours, plural, one {Jede Stunde} other {Alle {hours, number} Stunden}}",
"night_at_midnight": "Täglich um Mitternacht",
- "night_at_twoam": "Täglich Nachts um 2.00 Uhr"
+ "night_at_twoam": "Täglich nachts um 2:00 Uhr"
},
"invite_people": "Personen einladen",
"invite_to_album": "Zum Album einladen",
@@ -819,6 +869,7 @@
"license_trial_info_4": "Bitte erwäge den Kauf einer Lizenz, um die kontinuierliche Weiterentwicklung des Dienstes zu unterstützen",
"light": "Hell",
"like_deleted": "Like gelöscht",
+ "link_motion_video": "Bewegungsvideo verknüpfen",
"link_options": "Link-Optionen",
"link_to_oauth": "Link zu OAuth",
"linked_oauth_account": "Verknüpftes OAuth-Konto",
@@ -837,17 +888,18 @@
"look": "Erscheinungsbild",
"loop_videos": "Loop-Videos",
"loop_videos_description": "Aktiviere diese Option, um eine automatische Videoschleife in der Detailansicht zu erstellen.",
+ "main_branch_warning": "Du benutzt eine Entwicklungsversion. Wir empfehlen dringend, eine Release-Version zu verwenden!",
"make": "Marke",
"manage_shared_links": "Freigegebene Links verwalten",
"manage_sharing_with_partners": "Gemeinsame Nutzung mit Partnern verwalten",
- "manage_the_app_settings": "Verwalten der App-Einstellungen",
+ "manage_the_app_settings": "App-Einstellungen verwalten",
"manage_your_account": "Dein Konto verwalten",
"manage_your_api_keys": "Deine API-Schlüssel verwalten",
- "manage_your_devices": "Verwalte Deine eingeloggten Geräte",
+ "manage_your_devices": "Deine eingeloggten Geräte verwalten",
"manage_your_oauth_connection": "Deine OAuth-Verbindung verwalten",
"map": "Karte",
- "map_marker_for_images": "Kartemarkierung für Bilder, die in {city}, {country} aufgenommen wurden",
- "map_marker_with_image": "Kartenmarker mit Bild",
+ "map_marker_for_images": "Kartenmarkierung für Bilder, die in {city}, {country} aufgenommen wurden",
+ "map_marker_with_image": "Kartenmarkierung mit Bild",
"map_settings": "Karteneinstellungen",
"matches": "Treffer",
"media_type": "Medientyp",
@@ -888,9 +940,9 @@
"no_albums_yet": "Es sieht so aus, als hättest du noch keine Alben.",
"no_archived_assets_message": "Archiviere Fotos und Videos, um sie aus deiner Fotoansicht zu entfernen",
"no_assets_message": "KLICKE, UM DEIN ERSTES FOTO HOCHZULADEN",
- "no_duplicates_found": "Keine Duplikate wurden gefunden.",
- "no_exif_info_available": "Keine Exif-Informationen vorhanden",
- "no_explore_results_message": "Lade weitere Fotos hoch, um deine Sammlung zu vergrößern.",
+ "no_duplicates_found": "Es wurden keine Duplikate gefunden.",
+ "no_exif_info_available": "Keine EXIF-Informationen vorhanden",
+ "no_explore_results_message": "Lade weitere Fotos hoch, um deine Sammlung zu erkunden.",
"no_favorites_message": "Füge Favoriten hinzu, um deine besten Bilder und Videos schnell zu finden",
"no_libraries_message": "Eine externe Bibliothek erstellen, um deine Fotos und Videos anzusehen",
"no_name": "Kein Name",
@@ -899,25 +951,28 @@
"no_results_description": "Versuche es mit einem Synonym oder einem allgemeineren Stichwort",
"no_shared_albums_message": "Erstelle ein Album, um Fotos und Videos mit Personen in deinem Netzwerk zu teilen",
"not_in_any_album": "In keinem Album",
- "note_apply_storage_label_to_previously_uploaded assets": "Hinweis: Um ein Storage-Label zu verwenden, starte den",
+ "note_apply_storage_label_to_previously_uploaded assets": "Hinweis: Um eine Speicherpfadbezeichnung anzuwenden, starte den",
"note_unlimited_quota": "Hinweis: Verwende 0 für ein unlimitiertes Kontingent",
"notes": "Notizen",
"notification_toggle_setting_description": "E-Mail-Benachrichtigungen aktivieren",
"notifications": "Benachrichtigungen",
"notifications_setting_description": "Benachrichtigungen verwalten",
"oauth": "OAuth",
+ "official_immich_resources": "Offizielle Immich Quellen",
"offline": "Offline",
"offline_paths": "Offline-Pfade",
"offline_paths_description": "Diese Ergebnisse können auf das manuelle Löschen von Dateien zurückzuführen sein, die nicht Teil einer externen Bibliothek sind.",
"ok": "Ok",
"oldest_first": "Älteste zuerst",
"onboarding": "Einstieg",
+ "onboarding_privacy_description": "Die folgenden (optionalen) Funktionen hängen von externen Diensten ab und können jederzeit in den Administrationseinstellungen deaktiviert werden.",
"onboarding_theme_description": "Wähle ein Farbschema für deine Instanz aus. Du kannst dies später in deinen Einstellungen ändern.",
"onboarding_welcome_description": "Lass uns deine Instanz mit einigen allgemeinen Einstellungen konfigurieren.",
"onboarding_welcome_user": "Willkommen, {user}",
"online": "Online",
"only_favorites": "Nur Favoriten",
"only_refreshes_modified_files": "Nur geänderte Dateien aktualisieren",
+ "open_in_map_view": "In Kartenansicht öffnen",
"open_in_openstreetmap": "In OpenStreetMap öffnen",
"open_the_search_filters": "Die Suchfilter öffnen",
"options": "Optionen",
@@ -925,7 +980,7 @@
"organize_your_library": "Organisiere deine Bibliothek",
"original": "Original",
"other": "Sonstiges",
- "other_devices": "Sonstige Geräte",
+ "other_devices": "Andere Geräte",
"other_variables": "Sonstige Variablen",
"owned": "Eigenes",
"owner": "Besitzer",
@@ -952,13 +1007,14 @@
"pending": "Ausstehend",
"people": "Personen",
"people_edits_count": "{count, plural, one {# Person} other {# Personen}} bearbeitet",
+ "people_feature_description": "Fotos und Videos nach Personen gruppiert durchsuchen",
"people_sidebar_description": "Eine Verknüpfung zu Personen in der Seitenleiste anzeigen",
"perform_library_tasks": "",
"permanent_deletion_warning": "Warnung vor endgültiger Löschung",
"permanent_deletion_warning_setting_description": "Anzeige einer Warnung beim permanenten Löschen von Objekten",
"permanently_delete": "Dauerhaft löschen",
"permanently_delete_assets_count": "{count, plural, one {Datei} other {Dateien}} dauerhaft gelöscht",
- "permanently_delete_assets_prompt": "Bist du sicher, dass {count, plural, one {diese Datei} other {diese # Dateien}} dauerhaft gelöscht werden soll? Dadurch werden diese auch aus deinen Alben entfernt.",
+ "permanently_delete_assets_prompt": "Bist du sicher, dass {count, plural, one {diese Datei} other {diese # Dateien}} dauerhaft gelöscht werden soll? Dadurch {count, plural, one {wird} other {werden}} diese auch aus deinen Alben entfernt.",
"permanently_deleted_asset": "Dauerhaft gelöschtes Objekt",
"permanently_deleted_assets": "{count, plural, one {# Objekt} other {# Objekte}} dauerhaft gelöscht",
"permanently_deleted_assets_count": "{count, plural, one {# Datei} other {# Dateien}} dauerhaft gelöscht",
@@ -969,13 +1025,13 @@
"photos_and_videos": "Fotos & Videos",
"photos_count": "{count, plural, one {{count, number} Foto} other {{count, number} Fotos}}",
"photos_from_previous_years": "Fotos von vorherigen Jahren",
- "pick_a_location": "Wählen einen Ort",
+ "pick_a_location": "Wähle einen Ort",
"place": "Ort",
"places": "Orte",
"play": "Abspielen",
"play_memories": "Erinnerungen abspielen",
"play_motion_photo": "Bewegte Bilder abspielen",
- "play_or_pause_video": "Video Abspielen oder Pausieren",
+ "play_or_pause_video": "Video abspielen oder pausieren",
"point": "Hinweis",
"port": "Port",
"preset": "Voreinstellung",
@@ -984,10 +1040,11 @@
"previous_memory": "Vorherige Erinnerung",
"previous_or_next_photo": "Vorheriges oder nächstes Foto",
"primary": "Primär",
+ "privacy": "Privatsphäre",
"profile_image_of_user": "Profilbild von {user}",
"profile_picture_set": "Profilbild gesetzt.",
"public_album": "Öffentliches Album",
- "public_share": "Öffentliche Teilung",
+ "public_share": "Öffentliche Freigabe",
"purchase_account_info": "Unterstützer",
"purchase_activated_subtitle": "Danke für die Unterstützung von Immich und Open-Source Software",
"purchase_activated_time": "Aktiviert am {date, date}",
@@ -1001,58 +1058,65 @@
"purchase_button_select": "Auswählen",
"purchase_failed_activation": "Aktivieren fehlgeschlagen! Überprüfe bitte den Produktschlüssel in der E-Mail!",
"purchase_individual_description_1": "Für eine Einzelperson",
- "purchase_individual_description_2": "Unterstützer Status",
+ "purchase_individual_description_2": "Unterstützerstatus",
"purchase_individual_title": "Einzelperson",
"purchase_input_suggestion": "Besitzen Sie bereits einen Produktschlüssel? Bitte geben Sie diesen unten ein",
- "purchase_license_subtitle": "Kaufe Immich um eine fortlaufende Entwicklung zu unterstützen",
+ "purchase_license_subtitle": "Kaufe Immich, um die fortlaufende Entwicklung zu unterstützen",
"purchase_lifetime_description": "Lebenslange Gültigkeit",
- "purchase_option_title": "KAUF OPTIONEN",
- "purchase_panel_info_1": "Das Entwickeln von Immich ist aufwendig und nimmt viel Zeit in Anspruch, deshalb haben wir ein Team von Vollzeit-Entwickler*innen, welche ihr Bestes geben. Unser Ziel ist es, mit Open-Source Software und ethischen Unternehmenspraktiken eine nachhaltige Einkommensquelle für unsere Entwickler und ein privatsphäre-respektierendes Ökosystem für unsere Nutzenden zu schaffen. Wir wollen eine kompetitive Alternative zu ausbeuterischen Cloud-Diensten erschaffen.",
- "purchase_panel_info_2": "Weil wir davon überzeugt sind keine Paywalls zu haben, wird dieser Kauf keine zusätzlichen Funktionen in Immich freischalten. Wir verlassen uns auf Nutzende wie dich, um Entwicklung von Immich zu unterstützen.",
+ "purchase_option_title": "KAUFOPTIONEN",
+ "purchase_panel_info_1": "Die Entwicklung von Immich erfordert viel Zeit und Mühe, und wir haben Vollzeit-Entwickler, die daran arbeiten es möglichst perfekt zu machen. Unser Ziel ist es, dass Open-Source-Software und moralische Geschäftsmethoden zu einer nachhaltigen Einkommensquelle für Entwickler werden und ein datenschutzfreundliches Ökosystem mit echten Alternativen zu ausbeuterischen Cloud-Diensten geschaffen wird.",
+ "purchase_panel_info_2": "Weil wir davon überzeugt sind keine Paywalls zu haben, wird dieser Kauf keine zusätzlichen Funktionen in Immich freischalten. Wir verlassen uns auf Nutzende wie dich, um die Entwicklung von Immich zu unterstützen.",
"purchase_panel_title": "Das Projekt unterstützen",
"purchase_per_server": "Pro Server",
"purchase_per_user": "Pro Benutzer",
"purchase_remove_product_key": "Produktschlüssel entfernen",
"purchase_remove_product_key_prompt": "Sicher, dass der Produktschlüssel entfernt werden soll?",
- "purchase_remove_server_product_key": "Server Produktschlüssel entfernen",
- "purchase_remove_server_product_key_prompt": "Sicher, dass der Server Produktschlüssel entfernt werden soll?",
+ "purchase_remove_server_product_key": "Server-Produktschlüssel entfernen",
+ "purchase_remove_server_product_key_prompt": "Sicher, dass der Server-Produktschlüssel entfernt werden soll?",
"purchase_server_description_1": "Für den gesamten Server",
- "purchase_server_description_2": "Unterstützer Status",
+ "purchase_server_description_2": "Unterstützerstatus",
"purchase_server_title": "Server",
- "purchase_settings_server_activated": "Der Server Produktschlüssel wird durch den Administrator verwaltet",
+ "purchase_settings_server_activated": "Der Server-Produktschlüssel wird durch den Administrator verwaltet",
"range": "Reichweite",
+ "rating": "Bewertung",
+ "rating_clear": "Bewertung löschen",
+ "rating_count": "{count, plural, one {# Stern} other {# Sterne}}",
+ "rating_description": "Stellt die EXIF-Bewertung im Informationsbereich dar",
"raw": "RAW",
"reaction_options": "Reaktionsmöglichkeiten",
"read_changelog": "Changelog lesen",
"reassign": "Neu zuweisen",
- "reassigned_assets_to_existing_person": "{count, plural, one {# Datei} other {# Dateien}} wurden {name, select, null {einer vorhandenen Person} other {{name}}} zugewiesen",
- "reassigned_assets_to_new_person": "{count, plural, one {# Datei} other {# Dateien}} wurden einer neuen Person zugewiesen",
+ "reassigned_assets_to_existing_person": "{count, plural, one {# Datei wurde} other {# Dateien wurden}} {name, select, null {einer vorhandenen Person} other {{name}}} zugewiesen",
+ "reassigned_assets_to_new_person": "{count, plural, one {# Datei wurde} other {# Dateien wurden}} einer neuen Person zugewiesen",
"reassing_hint": "Markierte Dateien einer vorhandenen Person zuweisen",
"recent": "Neuste",
"recent_searches": "Letzte Suchen",
"refresh": "Aktualisieren",
- "refresh_encoded_videos": "Codierte Videos aktualisieren",
+ "refresh_encoded_videos": "Kodierte Videos aktualisieren",
+ "refresh_faces": "Gesichter aktualisieren",
"refresh_metadata": "Metadaten aktualisieren",
- "refresh_thumbnails": "Vorschaubilder aktualisieren",
+ "refresh_thumbnails": "Miniaturansichten aktualisieren",
"refreshed": "Aktualisiert",
- "refreshes_every_file": "Jede Datei aktualisieren",
- "refreshing_encoded_video": "Codierte Videos werden aktualisiert",
+ "refreshes_every_file": "Alle bestehenden und neuen Dateien erneut einlesen",
+ "refreshing_encoded_video": "Kodierte Videos werden aktualisiert",
+ "refreshing_faces": "Gesichter werden aktualisiert",
"refreshing_metadata": "Metadaten werden aktualisiert",
- "regenerating_thumbnails": "Vorschaubilder werden neu erstellt",
+ "regenerating_thumbnails": "Miniaturansichten werden neu erstellt",
"remove": "Entfernen",
"remove_assets_album_confirmation": "Bist du sicher, dass du {count, plural, one {# Datei} other {# Dateien}} aus dem Album entfernen willst?",
"remove_assets_shared_link_confirmation": "Bist du sicher, dass du {count, plural, one {# Datei} other {# Dateien}} von diesem geteilten Link entfernen willst?",
"remove_assets_title": "Dateien entfernen?",
"remove_custom_date_range": "Benutzerdefinierten Datumsbereich entfernen",
+ "remove_deleted_assets": "Offline-Dateien entfernen",
"remove_from_album": "Aus Album entfernen",
"remove_from_favorites": "Aus Favoriten entfernen",
- "remove_from_shared_link": "Aus geteilten Link entfernen",
- "remove_offline_files": "Offline-Dateien entfernen",
+ "remove_from_shared_link": "Aus geteiltem Link entfernen",
"remove_user": "Nutzer entfernen",
"removed_api_key": "API-Schlüssel {name} wurde entfernt",
"removed_from_archive": "Aus dem Archiv entfernt",
- "removed_from_favorites": "Von Favoriten entfernt",
- "removed_from_favorites_count": "{count, plural, other {#}} von Favoriten entfernt",
+ "removed_from_favorites": "Aus den Favoriten entfernt",
+ "removed_from_favorites_count": "{count, plural, other {#}} aus den Favoriten entfernt",
+ "removed_tagged_assets": "Tag von {count, plural, one {# Datei} other {# Dateien}} entfernt",
"rename": "Umbenennen",
"repair": "Reparatur",
"repair_no_results_message": "Nicht auffindbare und fehlende Dateien werden hier angezeigt",
@@ -1084,6 +1148,7 @@
"say_something": "Etwas sagen",
"scan_all_libraries": "Alle Bibliotheken scannen",
"scan_all_library_files": "Alle Bibliotheksdateien erneut scannen",
+ "scan_library": "Scannen",
"scan_new_library_files": "Neue Bibliotheksdateien scannen",
"scan_settings": "Scan-Einstellungen",
"scanning_for_album": "Nach Alben scannen...",
@@ -1099,9 +1164,12 @@
"search_for_existing_person": "Suche nach vorhandener Person",
"search_no_people": "Keine Personen",
"search_no_people_named": "Keine Person mit dem Namen \"{name}\"",
+ "search_options": "Suchoptionen",
"search_people": "Suche nach Personen",
"search_places": "Suche nach Orten",
+ "search_settings": "Suche nach Einstellungen",
"search_state": "Suche nach Bundesland / Provinz...",
+ "search_tags": "Sache nach Tags...",
"search_timezone": "Suche nach Zeitzone...",
"search_type": "Suche nach Typ",
"search_your_photos": "Durchsuche deine Fotos",
@@ -1119,18 +1187,18 @@
"select_library_owner": "Bibliotheksbesitzer auswählen",
"select_new_face": "Neues Gesicht auswählen",
"select_photos": "Fotos auswählen",
- "select_trash_all": "Alle Löschen",
+ "select_trash_all": "Alle löschen",
"selected": "Ausgewählt",
"selected_count": "{count, plural, other {# ausgewählt}}",
"send_message": "Nachricht senden",
"send_welcome_email": "Begrüssungsmail senden",
"server": "Server",
- "server_offline": "Server Offline",
- "server_online": "Server Online",
+ "server_offline": "Server offline",
+ "server_online": "Server online",
"server_stats": "Server-Statistiken",
"server_version": "Server-Version",
"set": "Speichern",
- "set_as_album_cover": "Als Albumcover gesetzt",
+ "set_as_album_cover": "Als Albumcover festlegen",
"set_as_profile_picture": "Als Profilbild festlegen",
"set_date_of_birth": "Geburtsdatum festlegen",
"set_profile_picture": "Profilbild einstellen",
@@ -1141,8 +1209,9 @@
"shared": "Geteilt",
"shared_by": "Geteilt von",
"shared_by_user": "Von {user} geteilt",
- "shared_by_you": "Geteilt von dir",
+ "shared_by_you": "Von dir geteilt",
"shared_from_partner": "Fotos von {partner}",
+ "shared_link_options": "Optionen für geteilten Link",
"shared_links": "Geteilte Links",
"shared_photos_and_videos_count": "{assetCount, plural, one {# geteiltes Foto oder Video.} other {# geteilte Fotos & Videos.}}",
"shared_with_partner": "Geteilt mit {partner}",
@@ -1151,13 +1220,14 @@
"sharing_sidebar_description": "Eine Verknüpfung zu Geteiltem in der Seitenleiste anzeigen",
"shift_to_permanent_delete": "Drücke ⇧, um die Datei endgültig zu löschen",
"show_album_options": "Album-Optionen anzeigen",
+ "show_albums": "Alben anzeigen",
"show_all_people": "Alle Personen anzeigen",
"show_and_hide_people": "Personen ein- & ausblenden",
"show_file_location": "Dateispeicherort anzeigen",
"show_gallery": "Galerie anzeigen",
"show_hidden_people": "Ausgeblendete Personen anzeigen",
"show_in_timeline": "In Zeitleiste anzeigen",
- "show_in_timeline_setting_description": "Fotos und Videos dieses Benutzers in deiner Timeline anzeigen",
+ "show_in_timeline_setting_description": "Fotos und Videos dieses Benutzers in deiner Zeitleiste anzeigen",
"show_keyboard_shortcuts": "Tastaturkürzel anzeigen",
"show_metadata": "Metadaten anzeigen",
"show_or_hide_info": "Informationen ein- oder ausblenden",
@@ -1165,15 +1235,20 @@
"show_person_options": "Personen-Optionen anzeigen",
"show_progress_bar": "Fortschrittsbalken anzeigen",
"show_search_options": "Suchoptionen anzeigen",
- "show_supporter_badge": "Unterstützer Abzeichen",
- "show_supporter_badge_description": "Zeige Unterstützer Abzeichen",
+ "show_slideshow_transition": "Slideshow-Übergang anzeigen",
+ "show_supporter_badge": "Unterstützerabzeichen",
+ "show_supporter_badge_description": "Zeige Unterstützerabzeichen",
"shuffle": "Durchmischen",
+ "sidebar": "Seitenleiste",
+ "sidebar_display_description": "Zeige einen Link zu der Ansicht in der Seitenleiste an",
"sign_out": "Abmelden",
"sign_up": "Registrieren",
"size": "Größe",
"skip_to_content": "Zum Inhalt springen",
+ "skip_to_folders": "Springe zu Ordnern",
+ "skip_to_tags": "Springe zu Tags",
"slideshow": "Diashow",
- "slideshow_settings": "Diashow Einstellungen",
+ "slideshow_settings": "Diashow-Einstellungen",
"sort_albums_by": "Alben sortieren nach...",
"sort_created": "Erstellungsdatum",
"sort_items": "Anzahl der Einträge",
@@ -1181,8 +1256,10 @@
"sort_oldest": "Ältestes Foto",
"sort_recent": "Neustes Foto",
"sort_title": "Titel",
- "source": "Quelle",
+ "source": "Quellcode",
"stack": "Stapel",
+ "stack_duplicates": "Duplikate stapeln",
+ "stack_select_one_photo": "Hauptfoto für den Stapel auswählen",
"stack_selected_photos": "Ausgewählte Fotos stapeln",
"stacked_assets_count": "{count, plural, one {# Datei} other {# Dateien}} gestapelt",
"stacktrace": "Stacktrace",
@@ -1194,50 +1271,66 @@
"stop_photo_sharing": "Deine Fotos nicht mehr teilen?",
"stop_photo_sharing_description": "{partner} wird keinen Zugriff mehr auf deine Fotos haben.",
"stop_sharing_photos_with_user": "Aufhören Fotos mit diesem Benutzer zu teilen",
- "storage": "Speicher",
+ "storage": "Speicherplatz",
"storage_label": "Speicherpfad",
"storage_usage": "{used} von {available} verwendet",
"submit": "Bestätigen",
"suggestions": "Vorschläge",
"sunrise_on_the_beach": "Sonnenaufgang am Strand",
+ "support": "Unterstützung",
+ "support_and_feedback": "Unterstützung & Feedback",
+ "support_third_party_description": "Deine Immich-Installation wurde von einem Drittanbieter zusammengestellt. Probleme, die bei dir auftreten, können durch dieses Paket verursacht werden. Bitte wende dich daher in erster Linie an diesen Anbieter, indem du die unten stehenden Links verwendest.",
"swap_merge_direction": "Vertauschen der Zusammenführungsrichtung",
"sync": "Synchronisieren",
+ "tag": "Tag",
+ "tag_assets": "Dateien taggen",
+ "tag_created": "Tag erstellt: {tag}",
+ "tag_feature_description": "Durchsuchen von Fotos und Videos, gruppiert nach logischen Tag-Themen",
+ "tag_not_found_question": "Kein Tag zu finden? Erstelle einen neuen Tag.",
+ "tag_updated": "Tag aktualisiert: {tag}",
+ "tagged_assets": "{count, plural, one {# Datei} other {# Dateien}} getagged",
+ "tags": "Tags",
"template": "Vorlage",
"theme": "Theme",
"theme_selection": "Themenauswahl",
"theme_selection_description": "Automatische Einstellung des Themes auf Hell oder Dunkel, je nach Systemeinstellung des Browsers",
"they_will_be_merged_together": "Sie werden zusammengeführt",
+ "third_party_resources": "Drittanbieter-Quellen",
"time_based_memories": "Zeitbasierte Erinnerungen",
"timezone": "Zeitzone",
"to_archive": "Archivieren",
"to_change_password": "Passwort ändern",
"to_favorite": "Zu Favoriten hinzufügen",
"to_login": "Anmelden",
- "to_trash": "Zum Papierkorb verschieben",
+ "to_parent": "Gehe zum Übergeordneten",
+ "to_root": "Zur Wurzel",
+ "to_trash": "In den Papierkorb verschieben",
"toggle_settings": "Einstellungen umschalten",
- "toggle_theme": "Theme umschalten",
+ "toggle_theme": "Dunkles Theme umschalten",
"toggle_visibility": "Sichtbarkeit umschalten",
"total_usage": "Gesamtnutzung",
"trash": "Papierkorb",
- "trash_all": "Alles im Papierkorb",
+ "trash_all": "Alle löschen",
"trash_count": "Papierkorb {count, number}",
"trash_delete_asset": "Datei löschen/in den Papierkorb verschieben",
"trash_no_results_message": "Gelöschte Fotos und Videos werden hier angezeigt.",
"trashed_items_will_be_permanently_deleted_after": "Gelöschte Objekte werden nach {days, plural, one {# Tag} other {# Tagen}} endgültig gelöscht.",
"type": "Typ",
- "unarchive": "Unarchivieren",
+ "unarchive": "Entarchivieren",
"unarchived": "Unarchiviert",
- "unarchived_count": "{count, plural, other {# Entarchiviert}}",
+ "unarchived_count": "{count, plural, other {# entarchiviert}}",
"unfavorite": "Entfavorisieren",
"unhide_person": "Person einblenden",
"unknown": "Unbekannt",
"unknown_album": "Unbekanntes Album",
"unknown_year": "Unbekanntes Jahr",
"unlimited": "Unlimitiert",
+ "unlink_motion_video": "Verknüpfung zum Bewegungsvideo aufheben",
"unlink_oauth": "OAuth entfernen",
"unlinked_oauth_account": "Nicht verknüpftes OAuth-Konto",
"unnamed_album": "Unbenanntes Album",
- "unnamed_share": "Unbenannte Teilung",
+ "unnamed_album_delete_confirmation": "Bist du sicher, dass du dieses Album löschen willst?",
+ "unnamed_share": "Unbenannte Freigabe",
"unsaved_change": "Ungespeicherte Änderung",
"unselect_all": "Alles abwählen",
"unselect_all_duplicates": "Alle Duplikate abwählen",
@@ -1249,7 +1342,7 @@
"updated_password": "Passwort aktualisiert",
"upload": "Hochladen",
"upload_concurrency": "Parallelität beim Hochladen",
- "upload_errors": "Hochladen abgeschlossen mit {count, plural, one {# Fehler} other {# Fehlern}}, aktualisiere die Seite, um neu hochgeladene Dateien zu sehen.",
+ "upload_errors": "Hochladen mit {count, plural, one {# Fehler} other {# Fehlern}} abgeschlossen, aktualisiere die Seite, um neu hochgeladene Dateien zu sehen.",
"upload_progress": "{remaining, number} verbleibend - {processed, number}/{total, number} verarbeitet",
"upload_skipped_duplicates": "{count, plural, one {# doppelte Datei} other {# doppelte Dateien}} ausgelassen",
"upload_status_duplicates": "Duplikate",
@@ -1276,6 +1369,8 @@
"version": "Version",
"version_announcement_closing": "Dein Freund, Alex",
"version_announcement_message": "Hallo Freund, es gibt eine neue Version dieser Anwendung. Bitte nimm dir Zeit, die Versionshinweise zu lesen und stelle sicher, dass deine docker-compose.yml
- und .env
-Konfiguration auf dem neuesten Stand ist, um Fehlkonfigurationen zu vermeiden, insbesondere wenn du WatchTower oder ein anderes Verfahren verwendest, das deine Anwendung automatisch aktualisiert.",
+ "version_history": "Versionshistorie",
+ "version_history_item": "{version} am {date} installiert",
"video": "Video",
"video_hover_setting": "Videovorschau beim Hovern abspielen",
"video_hover_setting_description": "Video-Miniaturansicht wiedergeben, wenn der Mauszeiger über dem Element verweilt. Auch wenn diese Funktion deaktiviert ist, kann die Wiedergabe gestartet werden, indem der Mauszeiger auf das Wiedergabesymbol bewegt wird.",
@@ -1285,13 +1380,14 @@
"view_album": "Album anzeigen",
"view_all": "Alles anzeigen",
"view_all_users": "Alle Nutzer anzeigen",
+ "view_in_timeline": "In Zeitleiste anzeigen",
"view_links": "Links anzeigen",
"view_next_asset": "Nächste Datei anzeigen",
"view_previous_asset": "Vorherige Datei anzeigen",
"view_stack": "Stapel anzeigen",
"viewer": "Zuschauer",
"visibility_changed": "Sichtbarkeit für {count, plural, one {# Person} other {# Personen}} geändert",
- "waiting": "Warte",
+ "waiting": "Wartend",
"warning": "Warnung",
"week": "Woche",
"welcome": "Willkommen",
diff --git a/i18n/el.json b/i18n/el.json
new file mode 100644
index 0000000000..b29e95b9c4
--- /dev/null
+++ b/i18n/el.json
@@ -0,0 +1,653 @@
+{
+ "about": "Σχετικά",
+ "account": "Λογαριασμός",
+ "account_settings": "Ρυθμίσεις Λογαριασμού",
+ "acknowledge": "Έλαβα γνώση",
+ "action": "Ενέργεια",
+ "actions": "Ενέργειες",
+ "active": "Ενεργά",
+ "activity": "Δραστηριότητα",
+ "activity_changed": "Η δραστηριότητα είναι {enabled, select, true {ενεργοποιημένη} other {απενεργοποιημένη}}",
+ "add": "Προσθήκη",
+ "add_a_description": "Προσθήκη περιγραφής",
+ "add_a_location": "Προσθήκη μιας τοποθεσίας",
+ "add_a_name": "Προσθήκη ονόματος",
+ "add_a_title": "Προσθήκη τίτλου",
+ "add_exclusion_pattern": "Προσθήκη προτύπου αποκλεισμού",
+ "add_import_path": "Προσθήκη διαδρομής εισαγωγής",
+ "add_location": "Προσθήκη τοποθεσίας",
+ "add_more_users": "Προσθήκη επιπλέον χρηστών",
+ "add_partner": "Προσθήκη συνεργάτη",
+ "add_path": "Προσθήκη διαδρομής",
+ "add_photos": "Προσθήκη φωτογραφιών",
+ "add_to": "Προσθήκη σε...",
+ "add_to_album": "Προσθήκη σε άλμπουμ",
+ "add_to_shared_album": "Προσθήκη σε κοινόχρηστο άλμπουμ",
+ "added_to_archive": "Αρχειοθέτηση",
+ "added_to_favorites": "Προστέθηκε στα αγαπημένα",
+ "added_to_favorites_count": "Προστέθηκαν {count, number} στα αγαπημένα",
+ "admin": {
+ "add_exclusion_pattern_description": "Προσθέστε πρότυπα αποκλεισμού. Υποστηρίζεται η επιλογή πολλών με *, **, και ?. Για να αγνοηθούν όλα τα αρχεία σε έναν φάκελο με το όνομα \"Raw\", χρησιμοποιήστε \"**/Raw/**\". Για να αγνοηθούν όλα τα αρχεία με κατάληξη \".tif\", χρησιμοποιήστε \"**/*.tif\". Για να αγνοηθεί μία απόλυτη διαδρομή, χρησιμοποιήστε \"/path/to/ignore/**\".",
+ "asset_offline_description": "Αυτό το στοιχείο εξωτερικής βιβλιοθήκης δε βρίσκεται πλέον στο δίσκο και έχει μεταφερθεί στα σκουπίδια. Εάν το αρχείο έχει μετακινηθεί εντός της βιβλιοθήκης, ελέγξτε το χρονοδιάγραμμα σας για το νέο αντίστοιχο στοιχείο. Για να επαναφέρετε αυτό το στοιχείο, βεβαιωθείτε ότι το παρακάτω μονοπάτι αρχείου είναι προσβάσιμο από το Immich και ότι μπορεί να σαρώσει τη βιβλιοθήκη.",
+ "authentication_settings": "Ρυθμίσεις ελέγχου ταυτότητας",
+ "authentication_settings_description": "Διαχείριση κωδικού πρόσβασης, OAuth και άλλες ρυθμίσεις ελέγχου ταυτότητας",
+ "authentication_settings_disable_all": "Είστε βέβαιοι ότι θέλετε να απενεργοποιήσετε όλες τις μεθόδους σύνδεσης; Η σύνδεση θα απενεργοποιηθεί πλήρως.",
+ "authentication_settings_reenable": "Για να επαναενεργοποιηθεί, χρησιμοποιήστε μία Server Command.",
+ "background_task_job": "Εργασίες Παρασκηνίου",
+ "check_all": "Έλεγχος Όλων",
+ "cleared_jobs": "Εκκαθάριση εργασιών για: {job}",
+ "config_set_by_file": "Η διαμόρφωση γίνεται προς το παρόν από ένα αρχείο config",
+ "confirm_delete_library": "Είστε βέβαιοι ότι θέλετε να διαγράψετε τη βιβλιοθήκη {library};",
+ "confirm_delete_library_assets": "Είστε σίγουροι ότι θέλετε να διαγράψετε αυτή τη βιβλιοθήκη; Αυτό θα διαγράψει τα {count, plural, one {# contained asset} other {all # contained assets}} από το Immich και δεν μπορεί να αναιρεθεί. Τα αρχεία θα παραμείνουν στον δίσκο.",
+ "confirm_email_below": "Για επιβεβαίωση, πληκτρολογήστε \"{email}\" παρακάτω",
+ "confirm_reprocess_all_faces": "Είστε βέβαιοι ότι θέλετε να επεξεργαστείτε ξανά όλα τα πρόσωπα; Αυτό θα διαγράψει επίσης άτομα με όνομα.",
+ "confirm_user_password_reset": "Είστε βέβαιοι ότι θέλετε να επαναφέρετε τον κωδικό πρόσβασης του χρήστη {user};",
+ "create_job": "Δημιουργία εργασίας",
+ "disable_login": "Απενεργοποίηση σύνδεσης κατά την είσοδο",
+ "duplicate_detection_job_description": "Εκτελέστε τη εκμάθηση μηχανής σε στοιχεία για να εντοπίσετε παρόμοιες εικόνες. Βασίζεται στην Έξυπνη Αναζήτηση",
+ "exclusion_pattern_description": "Τα πρότυπα αποκλεισμού σας επιτρέπουν να αγνοείται αρχεία κκαι φακέλους όσο σαρώνεται η βιβλιοθήκη. Αυτό είναι χρήσιμο εάν εχετε φακέλους που περιέχουν αρχεία που δεν θέλετε να εισαγάγετε, όπως αρχεία RAW.",
+ "external_library_created_at": "Εξωτερική βιβλιοθήκη (δημιουργήθηκε {date})",
+ "external_library_management": "Διαχείριση Εξωτερικών Βιβλιοθηκών",
+ "face_detection": "Αναγνώριση προσώπου",
+ "face_detection_description": "Εντοπίστε τα πρόσωπα σε στοιχεία χρησιμοποιώντας μηχανική εκμάθηση. Για βίντεο, λαμβάνεται υπόψη μόνο η μικρογραφία. Η επιλογή \"Ανανέωση\" επεξεργάζεται εκ νέου όλα τα στοιχεία και η επιλογή \"Επαναφορά\", επιπλέον επαναφέρει ολα τα δεδομένα προσώπου. Η επιλογή \"Όσα Λείπουν\" προσθέτει στην ουρά στοιχεία που δεν έχουν υποστεί ακόμη επεξεργασία. Τα πρόσωπα που έχουν εντοπιστεί θα μπουν στην ουρά για την Αναγνώριση Προσώπου μετά την ολοκλήρωση της Ανίχνευσης Προσώπου, ομαδοποιώντας τα σε υπάρχοντα ή νέα άτομα.",
+ "facial_recognition_job_description": "Ομαδοποιήστε εντοπισμένα πρόσωπα σε άτομα. Αυτό το βήμα εκτελείται αφού ολοκληρωθεί η Ανίχνευση προσώπου. Η επιλογή \"Επαναφορά\" ομαδοποιεί εκ νέου όλα τα πρόσωπα. Η επιλογή \"Όσα Λείπουν\" ομαδοποιεί πρόσωπα που δεν έχουν αντιστοιχηθεί σε κάποιο άτομο.",
+ "failed_job_command": "Η Εντολή {command} απέτυχε για την εργασία: {job}",
+ "force_delete_user_warning": "ΠΡΟΕΙΔΟΠΟΙΗΣΗ: Αυτό θα αφαιρέσει άμεσα το χρήστη και όλα τα στοιχεία. Αυτό δεν μπορεί να αναιρεθεί και τα αρχεία δεν μπορούν να ανακτηθούν.",
+ "forcing_refresh_library_files": "Επιβολή ανανέωσης όλων των αρχείων της βιβλιοθήκης",
+ "image_format": "Μορφή",
+ "image_format_description": "Η μορφή WebP παράγει μικρότερα αρχεία από τη μορφή JPEG, αλλά είναι πιο αργή στην κωδικοποίηση.",
+ "image_prefer_embedded_preview": "Προτίμηση ενσωματωμένης προεπισκόπησης",
+ "image_prefer_embedded_preview_setting_description": "Χρησιμοποιήστε ενσωματωμένες προεπισκοπίσεις για εικόνες RAW ως εισαγωγή στην επεξεργασία εικόνας όταν είναι διαθέσιμο. Αυτό μπορεί να δημιουργήσει πιο ακριβή χρωματα για κάποιες εικόνες, αλλά η ποιότητα των προεπισκοπίσεων εξαρτάται από την κάμερα και ενδέχεται να υπάρχουν περισσότερα μπιμπίκια λόγω συμπίεσης.",
+ "image_prefer_wide_gamut": "Προτίμηση ευρείας γκάμας",
+ "image_prefer_wide_gamut_setting_description": "Χρησιμοποιήστε Display P3 για τις μικρογραφίες. Αυτό διατηρεί την ζωντάνια των χρωμάτων σε εικόνες μεγάλου χρωματικού εύρους, αλλά ενδέχεται να εμφανίζονται αλλιώς σε παλαιότερες συσκευές με παλαιότερες εκδόσεις περιηγητών. Οι εικόνες sRGB μένουν ως έχουν για να αποφευχθούν χρωματικές αλλαγές.",
+ "image_preview_description": "Μεσαίου μεγέθους εικόνες, χωρίς μεταδεδομένα, οι οποίες χρησιμοποιύνται όταν γίνεται θέαση ενός αντικειμένου και για μηχανική μάθηση",
+ "image_preview_format": "Μορφή προεπισκόπησης",
+ "image_preview_quality_description": "Ποιότητα προεπισκόπησης, απο 1-100. Μεγαλύτερες τιμές είναι καλύτερες, αλλά παράγουν μεγαλύτερα αρχεία που μπορεί να μειώσουν την ταχύτητα της εφαρμογής. Χαμηλές τιμές μπορεί να επηρεάσουν τη ποιότητα του machine learning.",
+ "image_preview_resolution": "Ανάλυση προεπισκόπησης",
+ "image_preview_resolution_description": "Χρησιμοποιείται κατά την προβολή μιας φωτογραφίας και για μηχανική εκμάθηση. Οι υψηλότερες αναλύσεις μπορούν να διατηρήσουν περισσότερες λεπτομέρειες, αλλά χρειάζονται περισσότερο χρόνο για την κωδικοποίηση, έχουν μεγαλύτερα μεγέθη αρχείων και μπορούν να μειώσουν την απόκριση της εφαρμογής.",
+ "image_preview_title": "Ρυθμίσεις προεπισκόπισης",
+ "image_quality": "Ποιότητα",
+ "image_quality_description": "Ποιότητα εικόνας από 1-100. Μεγαλύτερη τιμή σημαίνει καλύτερη ποιότητα, αλλά παράγει μεγαλύτερα αρχεία. Αυτή η επιλογή επηρεάζει τις εικόνες προεπισκόπησης και μικρογραφιών.",
+ "image_resolution": "Ανάλυση",
+ "image_resolution_description": "Υψηλότερες αναλύσεις μπορούν να διατηρήσουν περισσότερες λεπτομέρειες, αλλά χρειάζονται περισσότερο χρόνο για την κωδικοποίηση, έχουν μεγαλύτερα μεγέθη αρχείων και μπορούν να μειώσουν την απόκριση της εφαρμογής.",
+ "image_settings": "Ρυθμίσεις Εικόνας",
+ "image_settings_description": "Διαχείριση της ποιότητας και της ανάλυσης των εικόνων που δημιουργούνται",
+ "image_thumbnail_description": "Μικρό εικονίδιο χωρίς μεταδεδομένα, χρησιμοποιείται όταν γίνεται θέαση ομάδας φωτογραφιών, όπως η κύρια χρονογραμμή",
+ "image_thumbnail_format": "Μορφή μικρογραφίας",
+ "image_thumbnail_quality_description": "Ποιότητα μικρογραφίας, απο 1-100. Μεγαλύτερες τιμές είναι καλύτερες, αλλά παράγουν μεγαλύτερα αρχεία που μπορεί να μειώσουν την ταχύτητα της εφαρμογής.",
+ "image_thumbnail_resolution": "Ανάλυση μικρογραφίας",
+ "image_thumbnail_resolution_description": "Χρησιμοποιείται κατά την προβολή ομάδων φωτογραφιών (κύριο χρονολόγιο, προβολή άλμπουμ κλπ.). Υψηλότερες αναλύσεις μπορούν να διατηρήσουν περισσότερες λεπτομέρειες, αλλά χρειάζονται περισσότερο χρόνο για την κωδικοποίηση, έχουν μεγαλύτερα μεγέθη αρχείων και μπορούν να μειώσουν την απόκριση της εφαρμογής.",
+ "image_thumbnail_title": "Ρυθμίσεις μικρογραφίας",
+ "job_concurrency": "{job} συγχρονισμός",
+ "job_created": "Εργασία δημιουργήθηκε",
+ "job_not_concurrency_safe": "Αυτή η εργασία δεν είναι ασφαλής για ταυτόχρονη εκτέλεση.",
+ "job_settings": "Ρυθμίσεις Εργασιών",
+ "job_settings_description": "Διαχείριση ταυτόχρονων εργασιών",
+ "job_status": "Κατάσταση Εργασιών",
+ "jobs_delayed": "{jobCount, plural, one {# καθυστέρησε} other {# καθυστέρησαν}}",
+ "jobs_failed": "{jobCount, plural, one {# απέτυχε} other {# απέτυχαν}}",
+ "library_created": "Δημιουργήθηκε η βιβλιοθήκη: {library}",
+ "library_cron_expression": "Εκφράσεις Cron",
+ "library_cron_expression_description": "Ορισμός των διαστημάτων μεταξύ των σαρώσεων με χρήση cron μορφής. Για περισσότερες πληροφορίες παρακαλώ επισκεφθείτε το π.χ. Crontab Guru",
+ "library_cron_expression_presets": "Προκαθορισμένες εκφράσεις Cron",
+ "library_deleted": "Η βιβλιοθήκη διαγράφηκε",
+ "library_import_path_description": "Καθορίστε έναν φάκελο για εισαγωγή. Αυτός ο φάκελος, συμπεριλαμβανομένων των υποφακέλων του, θα σαρωθεί για εικόνες και βίντεο.",
+ "library_scanning": "Περιοδική Σάρωση",
+ "library_scanning_description": "Διαμόρφωση περιοδικής σάρωσης βιβλιοθήκης",
+ "library_scanning_enable_description": "Ενεργοποίηση περιοδικής σάρωσης βιβλιοθήκης",
+ "library_settings": "Εξωτερική Βιβλιοθήκη",
+ "library_settings_description": "Διαχείριση ρυθμίσεων εξωτερικής βιβλιοθήκης",
+ "library_tasks_description": "Εκτέλεση εργασιών βιβλιοθήκης",
+ "library_watching_enable_description": "Παρακολούθηση εξωτερικών βιβλιοθηκών για τροποποιήσεις αρχείων",
+ "library_watching_settings": "Παρακολούθηση βιβλιοθήκης (ΠΕΙΡΑΜΑΤΙΚΟ)",
+ "library_watching_settings_description": "Αυτόματη παρακολούθηση για τροποποιημένα αρχεία",
+ "logging_enable_description": "Ενεργοποίηση καταγραφής",
+ "logging_level_description": "Όταν είναι ενεργοποιημένο, τι επίπεδο καταγραφής να εφαρμοστεί.",
+ "logging_settings": "Καταγραφή",
+ "machine_learning_clip_model": "Μοντέλο CLIP",
+ "machine_learning_clip_model_description": "The name of a CLIP model listed here. Note that you must re-run the 'Smart Search' job for all images upon changing a model.",
+ "machine_learning_duplicate_detection": "Εντοπισμός Διπλότυπων",
+ "machine_learning_duplicate_detection_enabled": "Ενεργοποίηση εντοπισμού διπλότυπων",
+ "machine_learning_duplicate_detection_enabled_description": "Εάν απενεργοποιηθεί, θα υπάρξει και πάλι εκκαθάριση των ταυτόσημων στοιχείων.",
+ "machine_learning_duplicate_detection_setting_description": "Use CLIP embeddings to find likely duplicates",
+ "machine_learning_enabled": "Ενεργοποίηση μηχανικής εκμάθησης",
+ "machine_learning_enabled_description": "Εάν απενεργοποιηθεί, όλες οι λειτουργίες μηχανικής εκμάθησης θα απενεργοποιηθούν, ανεξάρτητα από τις παρακάτω ρυθμίσεις.",
+ "machine_learning_facial_recognition": "Αναγνώριση προσώπου",
+ "machine_learning_facial_recognition_description": "Εντοπισμός, αναγνώριση και ομαδοποίηση προσώπων σε εικόνες",
+ "machine_learning_facial_recognition_model": "Μοντέλο αναγνώρισης προσώπου",
+ "machine_learning_facial_recognition_model_description": "Τα μοντέλα παρατίθενται με φθίνουσα σειρά μεγέθους. Τα μεγαλύτερα μοντέλα είναι πιο αργά και χρησιμοποιούν περισσότερη μνήμη, αλλά παράγουν καλύτερα αποτελέσματα. Σημειώστε ότι πρέπει να εκτελέσετε ξανά την εργασία Ανίχνευση προσώπου για όλες τις εικόνες κατά την αλλαγή ενός μοντέλου.",
+ "machine_learning_facial_recognition_setting": "Ενεργοποίηση αναγνώρισης προσώπου",
+ "machine_learning_facial_recognition_setting_description": "Αν απενεργοποιηθεί, οι εικόνες δεν θα κωδικοποιούνται για αναγνώριση προσώπου και δεν θα συμπληρώνουν την ενότητα Άτομα στη σελίδα Εξερεύνηση.",
+ "machine_learning_max_detection_distance": "Μέγιστη απόσταση ανίχνευσης",
+ "machine_learning_max_detection_distance_description": "Η μέγιστη απόσταση μεταξύ δύο εικόνων για να θεωρηθούν διπλότυπες, που κυμαίνεται από 0,001-0,1. Οι υψηλότερες τιμές θα εντοπίσουν περισσότερες διπλότυπες, αλλά μπορεί να οδηγήσουν σε ψευδώς θετικά αποτελέσματα.",
+ "machine_learning_max_recognition_distance": "Μέγιστη απόσταση αναγνώρισης",
+ "machine_learning_max_recognition_distance_description": "Η μέγιστη απόσταση μεταξύ δύο προσώπων για να θεωρείται το ίδιο άτομο, που κυμαίνεται από 0-2. Η μείωση αυτή μπορεί να αποτρέψει την επισήμανση δύο ατόμων ως το ίδιο άτομο, ενώ η αύξηση της μπορεί να αποτρέψει την επισήμανση του ίδιου ατόμου ως δύο διαφορετικών ατόμων. Λάβετε υπόψη ότι είναι πιο εύκολο να συγχωνεύσετε δύο άτομα παρά να χωρίσετε ένα άτομο στα δύο, οπότε προτιμήστε ένα χαμηλότερο όριο, όταν αυτό είναι δυνατό.",
+ "machine_learning_min_detection_score": "Ελάχιστο σκορ ανίχνευσης",
+ "machine_learning_min_detection_score_description": "Ελάχιστο σκορ εμπιστοσύνης για ανίχνευση προσώπου από 0-1. Οι χαμηλότερες τιμές θα εντοπίσουν περισσότερα πρόσωπα, αλλά μπορεί να οδηγήσουν σε ψευδώς θετικά αποτελέσματα.",
+ "machine_learning_min_recognized_faces": "Ελάχιστα αναγνωρισμένα πρόσωπα",
+ "machine_learning_min_recognized_faces_description": "Ο ελάχιστος αριθμός αναγνωρισμένων προσώπων για ένα άτομο που θα δημιουργηθεί. Η αύξηση αυτή καθιστά την Αναγνώριση Προσώπου πιο ακριβή με το κόστος να αυξηθεί η πιθανότητα να μην εκχωρηθεί ένα πρόσωπο σε ένα άτομο.",
+ "machine_learning_settings": "Ρυθμίσεις Μηχανικής Εκμάθησης",
+ "machine_learning_settings_description": "Διαχειριστείτε τις λειτουργίες και τις ρυθμίσεις μηχανικής εκμάθησης",
+ "machine_learning_smart_search": "Έξυπνη Αναζήτηση",
+ "machine_learning_smart_search_description": "Αναζητήστε εικόνες σημασιολογικά χρησιμοποιώντας ενσωματώσεις CLIP",
+ "machine_learning_smart_search_enabled": "Ενεργοποίηση έξυπνης αναζήτησης",
+ "machine_learning_smart_search_enabled_description": "Αν απενεργοποιηθεί, οι εικόνες δεν θα κωδικοποιούνται για έξυπνη αναζήτηση.",
+ "machine_learning_url_description": "URL του διακομιστή μηχανικής εκμάθησης",
+ "manage_concurrency": "Διαχείριση ταυτόχρονη εκτέλεσης",
+ "manage_log_settings": "Διαχείριση ρυθμίσεων αρχείου καταγραφής",
+ "map_dark_style": "Σκούρο Θέμα",
+ "map_enable_description": "Ενεργοποίηση λειτουργιών χάρτη",
+ "map_gps_settings": "Ρυθμίσεις Χάρτη & GPS",
+ "map_gps_settings_description": "Διαχείριση Ρυθμίσεων Χάρτη & GPS (Αντίστροφη γεωκωδικοποίηση)",
+ "map_implications": "Η λειτουργία χάρτη βασίζεται σε εξωτερικές υπηρεσίες για τα πλακίδια (tiles.immich.cloud)",
+ "map_light_style": "Φωτεινό Θέμα",
+ "map_manage_reverse_geocoding_settings": "Διαχείριση ρυθμίσεων Αντίστροφης Γεωκωδικοποίησης",
+ "map_reverse_geocoding": "Αντίστροφη Γεωκωδικοποίηση",
+ "map_reverse_geocoding_enable_description": "Ενεργοποίηση Αντίστροφης Γεωκωδικοποίησης",
+ "map_reverse_geocoding_settings": "Ρυθμίσεις Αντίστροφης Γεωκωδικοποίησης",
+ "map_settings": "Χάρτης",
+ "map_settings_description": "Διαχείριση ρυθμίσεων χάρτη",
+ "map_style_description": "URL προς αρχείο θέματος του χάρτη style.json",
+ "metadata_extraction_job": "Εξαγωγή μεταδεδομένων",
+ "metadata_extraction_job_description": "Εξαγωγή μεταδεδομένων από κάθε αρχείο, όπως τοποθεσία, πρόσωπα και ανάλυση",
+ "metadata_faces_import_setting": "Ενεργοποίηση εισαγωγής προσώπων",
+ "metadata_faces_import_setting_description": "Εισαγωγή προσώπων από EXIF εικόνων και παρόμοια αρχεία ( sidecar files)",
+ "metadata_settings": "Ρυθμίσεις μεταδεδομένων",
+ "metadata_settings_description": "Διαχείρηση ρυθμίσεων μεταδεδομένων",
+ "migration_job": "Μεταφορά δεδομένων (Migration)",
+ "migration_job_description": "Μεταφορά των εικονιδίων για αρχεία και πρόσωπα στην πιο πρόσφατη δομή αρχείων",
+ "no_paths_added": "Δεν προστέθηκαν διαδρομές",
+ "no_pattern_added": "Δεν προστέθηκε μοτίβο",
+ "note_apply_storage_label_previous_assets": "Σημείωση: Για να εφαρμοστεί η Ετικέτα Αποθήκευσης σε στοιχεία που είχαν αναρτηθεί παλαιότερα, εκτέλεσε το",
+ "note_cannot_be_changed_later": "ΣΗΜΕΊΩΣΗ: Αυτό δεν μπορεί να τροποποιηθεί αργότερα!",
+ "note_unlimited_quota": "Σημείωση: Εισαγάγετε 0 για απεριόριστο όριο",
+ "notification_email_from_address": "Διεύθυνση αποστολέα",
+ "notification_email_from_address_description": "Διεύθυνση αποστολέα, πχ: \"Immich Photo Server docker-compose.yml
, και .env
είναι ενημερωμένα για την αποτροπή τυχόν εσφαλμένων διαμορφώσεων, ειδικά εάν χρησιμοποιείτε το WatchTower ή οποιονδήποτε μηχανισμό που χειρίζεται την αυτόματη ενημέρωση της εφαρμογής σας.",
+ "version_history_item": "Εγκαταστάθηκε {version} στις {date}",
+ "video": "Βίντεο",
+ "video_hover_setting": "Προεπισκόπηση βίντεο με το δείκτη του ποντικιού",
+ "video_hover_setting_description": "Προεπισκόπηση βίντεο όταν το ποντίκι βρίσκεται πάνω από το στοιχείο. Ακόμη και όταν είναι απενεργοποιημένη, η αναπαραγωγή μπορεί να ξεκινήσει τοποθετώντας το δείκτη του ποντικιού πάνω από το εικονίδιο αναπαραγωγής.",
+ "videos": "Βίντεο",
+ "videos_count": "{count, plural, one {# Βίντεο} other {# Βίντεο}}",
+ "view": "Προβολή",
+ "view_album": "Προβολή Άλμπουμ",
+ "view_all": "Προβολή Όλων",
+ "view_all_users": "Προβολή όλων των χρηστών",
+ "view_in_timeline": "Προβολή στο χρονοδιάγραμμα",
+ "view_links": "Προβολή συνδέσμων",
+ "view_next_asset": "Προβολή επόμενου στοιχείου",
+ "view_previous_asset": "Προβολή προηγούμενου στοιχείου",
+ "visibility_changed": "Η ορατότητα άλλαξε για {count, plural, one {# άτομο} other {# άτομα}}",
+ "waiting": "Σε αναμονή",
+ "warning": "Προειδοποίηση",
+ "week": "Εβδομάδα",
+ "welcome": "Καλωσορίσατε",
+ "welcome_to_immich": "Καλωσορίσατε στο immich",
+ "year": "Έτος",
+ "years_ago": "πριν από {years, plural, one {# χρόνο} other {# χρόνια}}",
+ "yes": "Ναι",
+ "you_dont_have_any_shared_links": "Δεν έχετε κοινόχρηστους συνδέσμους",
+ "zoom_image": "Ζουμ Εικόνας"
+}
diff --git a/web/src/lib/i18n/en.json b/i18n/en.json
similarity index 89%
rename from web/src/lib/i18n/en.json
rename to i18n/en.json
index 6e0887cee9..d607e088b3 100644
--- a/web/src/lib/i18n/en.json
+++ b/i18n/en.json
@@ -28,11 +28,17 @@
"added_to_favorites_count": "Added {count, number} to favorites",
"admin": {
"add_exclusion_pattern_description": "Add exclusion patterns. Globbing using *, **, and ? is supported. To ignore all files in any directory named \"Raw\", use \"**/Raw/**\". To ignore all files ending in \".tif\", use \"**/*.tif\". To ignore an absolute path, use \"/path/to/ignore/**\".",
+ "asset_offline_description": "This external library asset is no longer found on disk and has been moved to trash. If the file was moved within the library, check your timeline for the new corresponding asset. To restore this asset, please ensure that the file path below can be accessed by Immich and scan the library.",
"authentication_settings": "Authentication Settings",
"authentication_settings_description": "Manage password, OAuth, and other authentication settings",
"authentication_settings_disable_all": "Are you sure you want to disable all login methods? Login will be completely disabled.",
"authentication_settings_reenable": "To re-enable, use a Server Command.",
"background_task_job": "Background Tasks",
+ "backup_database": "Backup Database",
+ "backup_database_enable_description": "Enable database backups",
+ "backup_keep_last_amount": "Amount of previous backups to keep",
+ "backup_settings": "Backup Settings",
+ "backup_settings_description": "Manage database backup settings",
"check_all": "Check All",
"cleared_jobs": "Cleared jobs for: {job}",
"config_set_by_file": "Config is currently set by a config file",
@@ -41,33 +47,40 @@
"confirm_email_below": "To confirm, type \"{email}\" below",
"confirm_reprocess_all_faces": "Are you sure you want to reprocess all faces? This will also clear named people.",
"confirm_user_password_reset": "Are you sure you want to reset {user}'s password?",
+ "create_job": "Create job",
+ "cron_expression": "Cron expression",
+ "cron_expression_description": "Set the scanning interval using the cron format. For more information please refer to e.g. Crontab Guru",
+ "cron_expression_presets": "Cron expression presets",
"disable_login": "Disable login",
"duplicate_detection_job_description": "Run machine learning on assets to detect similar images. Relies on Smart Search",
"exclusion_pattern_description": "Exclusion patterns lets you ignore files and folders when scanning your library. This is useful if you have folders that contain files you don't want to import, such as RAW files.",
"external_library_created_at": "External library (created on {date})",
"external_library_management": "External Library Management",
"face_detection": "Face detection",
- "face_detection_description": "Detect the faces in assets using machine learning. For videos, only the thumbnail is considered. \"All\" (re-)processes all assets. \"Missing\" queues assets that haven't been processed yet. Detected faces will be queued for Facial Recognition after Face Detection is complete, grouping them into existing or new people.",
- "facial_recognition_job_description": "Group detected faces into people. This step runs after Face Detection is complete. \"All\" (re-)clusters all faces. \"Missing\" queues faces that don't have a person assigned.",
+ "face_detection_description": "Detect the faces in assets using machine learning. For videos, only the thumbnail is considered. \"Refresh\" (re-)processes all assets. \"Reset\" additionally clears all current face data. \"Missing\" queues assets that haven't been processed yet. Detected faces will be queued for Facial Recognition after Face Detection is complete, grouping them into existing or new people.",
+ "facial_recognition_job_description": "Group detected faces into people. This step runs after Face Detection is complete. \"Reset\" (re-)clusters all faces. \"Missing\" queues faces that don't have a person assigned.",
"failed_job_command": "Command {command} failed for job: {job}",
"force_delete_user_warning": "WARNING: This will immediately remove the user and all assets. This cannot be undone and the files cannot be recovered.",
"forcing_refresh_library_files": "Forcing refresh of all library files",
+ "image_format": "Format",
"image_format_description": "WebP produces smaller files than JPEG, but is slower to encode.",
"image_prefer_embedded_preview": "Prefer embedded preview",
"image_prefer_embedded_preview_setting_description": "Use embedded previews in RAW photos as the input to image processing when available. This can produce more accurate colors for some images, but the quality of the preview is camera-dependent and the image may have more compression artifacts.",
"image_prefer_wide_gamut": "Prefer wide gamut",
"image_prefer_wide_gamut_setting_description": "Use Display P3 for thumbnails. This better preserves the vibrance of images with wide colorspaces, but images may appear differently on old devices with an old browser version. sRGB images are kept as sRGB to avoid color shifts.",
- "image_preview_format": "Preview format",
- "image_preview_resolution": "Preview resolution",
- "image_preview_resolution_description": "Used when viewing a single photo and for machine learning. Higher resolutions can preserve more detail but take longer to encode, have larger file sizes, and can reduce app responsiveness.",
+ "image_preview_description": "Medium-size image with stripped metadata, used when viewing a single asset and for machine learning",
+ "image_preview_quality_description": "Preview quality from 1-100. Higher is better, but produces larger files and can reduce app responsiveness. Setting a low value may affect machine learning quality.",
+ "image_preview_title": "Preview Settings",
"image_quality": "Quality",
- "image_quality_description": "Image quality from 1-100. Higher is better for quality but produces larger files, this option affects the Preview and Thumbnail images.",
+ "image_resolution": "Resolution",
+ "image_resolution_description": "Higher resolutions can preserve more detail but take longer to encode, have larger file sizes and can reduce app responsiveness.",
"image_settings": "Image Settings",
"image_settings_description": "Manage the quality and resolution of generated images",
- "image_thumbnail_format": "Thumbnail format",
- "image_thumbnail_resolution": "Thumbnail resolution",
- "image_thumbnail_resolution_description": "Used when viewing groups of photos (main timeline, album view, etc.). Higher resolutions can preserve more detail but take longer to encode, have larger file sizes, and can reduce app responsiveness.",
+ "image_thumbnail_description": "Small thumbnail with stripped metadata, used when viewing groups of photos like the main timeline",
+ "image_thumbnail_quality_description": "Thumbnail quality from 1-100. Higher is better, but produces larger files and can reduce app responsiveness.",
+ "image_thumbnail_title": "Thumbnail Settings",
"job_concurrency": "{job} concurrency",
+ "job_created": "Job created",
"job_not_concurrency_safe": "This job is not concurrency-safe.",
"job_settings": "Job Settings",
"job_settings_description": "Manage job concurrency",
@@ -75,9 +88,6 @@
"jobs_delayed": "{jobCount, plural, other {# delayed}}",
"jobs_failed": "{jobCount, plural, other {# failed}}",
"library_created": "Created library: {library}",
- "library_cron_expression": "Cron expression",
- "library_cron_expression_description": "Set the scanning interval using the cron format. For more information please refer to e.g. Crontab Guru",
- "library_cron_expression_presets": "Cron expression presets",
"library_deleted": "Library deleted",
"library_import_path_description": "Specify a folder to import. This folder, including subfolders, will be scanned for images and videos.",
"library_scanning": "Periodic Scanning",
@@ -127,16 +137,21 @@
"map_enable_description": "Enable map features",
"map_gps_settings": "Map & GPS Settings",
"map_gps_settings_description": "Manage Map & GPS (Reverse Geocoding) Settings",
+ "map_implications": "The map feature relies on an external tile service (tiles.immich.cloud)",
"map_light_style": "Light style",
"map_manage_reverse_geocoding_settings": "Manage Reverse Geocoding settings",
"map_reverse_geocoding": "Reverse Geocoding",
"map_reverse_geocoding_enable_description": "Enable reverse geocoding",
"map_reverse_geocoding_settings": "Reverse Geocoding Settings",
- "map_settings": "Map Settings",
+ "map_settings": "Map",
"map_settings_description": "Manage map settings",
"map_style_description": "URL to a style.json map theme",
"metadata_extraction_job": "Extract metadata",
- "metadata_extraction_job_description": "Extract metadata information from each asset, such as GPS and resolution",
+ "metadata_extraction_job_description": "Extract metadata information from each asset, such as GPS, faces and resolution",
+ "metadata_faces_import_setting": "Enable face import",
+ "metadata_faces_import_setting_description": "Import faces from image EXIF data and sidecar files",
+ "metadata_settings": "Metadata Settings",
+ "metadata_settings_description": "Manage metadata settings",
"migration_job": "Migration",
"migration_job_description": "Migrate thumbnails for assets and faces to the latest folder structure",
"no_paths_added": "No paths added",
@@ -145,7 +160,7 @@
"note_cannot_be_changed_later": "NOTE: This cannot be changed later!",
"note_unlimited_quota": "Note: Enter 0 for unlimited quota",
"notification_email_from_address": "From address",
- "notification_email_from_address_description": "Sender email address, for example: \"Immich Photo Server {label}
is the user's Storage Label",
"system_settings": "System Settings",
+ "tag_cleanup_job": "Tag cleanup",
"theme_custom_css_settings": "Custom CSS",
"theme_custom_css_settings_description": "Cascading Style Sheets allow the design of Immich to be customized.",
"theme_settings": "Theme Settings",
@@ -263,7 +279,7 @@
"transcoding_hardware_acceleration": "Hardware Acceleration",
"transcoding_hardware_acceleration_description": "Experimental; much faster, but will have lower quality at the same bitrate",
"transcoding_hardware_decoding": "Hardware decoding",
- "transcoding_hardware_decoding_setting_description": "Applies only to NVENC, QSV and RKMPP. Enables end-to-end acceleration instead of only accelerating encoding. May not work on all videos.",
+ "transcoding_hardware_decoding_setting_description": "Enables end-to-end acceleration instead of only accelerating encoding. May not work on all videos.",
"transcoding_hevc_codec": "HEVC codec",
"transcoding_max_b_frames": "Maximum B-frames",
"transcoding_max_b_frames_description": "Higher values improve compression efficiency, but slow down encoding. May not be compatible with hardware acceleration on older devices. 0 disables B-frames, while -1 sets this value automatically.",
@@ -275,7 +291,7 @@
"transcoding_preferred_hardware_device": "Preferred hardware device",
"transcoding_preferred_hardware_device_description": "Applies only to VAAPI and QSV. Sets the dri node used for hardware transcoding.",
"transcoding_preset_preset": "Preset (-preset)",
- "transcoding_preset_preset_description": "Compression speed. Slower presets produce smaller files, and increase quality when targeting a certain bitrate. VP9 ignores speeds above `faster`.",
+ "transcoding_preset_preset_description": "Compression speed. Slower presets produce smaller files, and increase quality when targeting a certain bitrate. VP9 ignores speeds above 'faster'.",
"transcoding_reference_frames": "Reference frames",
"transcoding_reference_frames_description": "The number of frames to reference when compressing a given frame. Higher values improve compression efficiency, but slow down encoding. 0 sets this value automatically.",
"transcoding_required_description": "Only videos not in an accepted format",
@@ -304,6 +320,7 @@
"trash_settings_description": "Manage trash settings",
"untracked_files": "Untracked Files",
"untracked_files_description": "These files are not tracked by the application. They can be the results of failed moves, interrupted uploads, or left behind due to a bug",
+ "user_cleanup_job": "User cleanup",
"user_delete_delay": "{user}'s account and assets will be scheduled for permanent deletion in {delay, plural, one {# day} other {# days}}.",
"user_delete_delay_settings": "Delete delay",
"user_delete_delay_settings_description": "Number of days after removal to permanently delete a user's account and assets. The user deletion job runs at midnight to check for users that are ready for deletion. Changes to this setting will be evaluated at the next execution.",
@@ -317,7 +334,8 @@
"user_settings": "User Settings",
"user_settings_description": "Manage user settings",
"user_successfully_removed": "User {email} has been successfully removed.",
- "version_check_enabled_description": "Enable periodic requests to GitHub to check for new releases",
+ "version_check_enabled_description": "Enable version check",
+ "version_check_implications": "The version check feature relies on periodic communication with github.com",
"version_check_settings": "Version Check",
"version_check_settings_description": "Enable/disable the new version notification",
"video_conversion_job": "Transcode videos",
@@ -333,7 +351,8 @@
"album_added": "Album added",
"album_added_notification_setting_description": "Receive an email notification when you are added to a shared album",
"album_cover_updated": "Album cover updated",
- "album_delete_confirmation": "Are you sure you want to delete the album {album}?\nIf this album is shared, other users will not be able to access it anymore.",
+ "album_delete_confirmation": "Are you sure you want to delete the album {album}?",
+ "album_delete_confirmation_description": "If this album is shared, other users will not be able to access it anymore.",
"album_info_updated": "Album info updated",
"album_leave": "Leave album?",
"album_leave_confirmation": "Are you sure you want to leave {album}?",
@@ -357,6 +376,7 @@
"allow_edits": "Allow edits",
"allow_public_user_to_download": "Allow public user to download",
"allow_public_user_to_upload": "Allow public user to upload",
+ "anti_clockwise": "Anti-clockwise",
"api_key": "API Key",
"api_key_description": "This value will only be shown once. Please be sure to copy it before closing the window.",
"api_key_empty": "Your API Key name shouldn't be empty",
@@ -365,7 +385,7 @@
"appears_in": "Appears in",
"archive": "Archive",
"archive_or_unarchive_photo": "Archive or unarchive photo",
- "archive_size": "Archive Size",
+ "archive_size": "Archive size",
"archive_size_description": "Configure the archive size for downloads (in GiB)",
"archived_count": "{count, plural, other {Archived #}}",
"are_these_the_same_person": "Are these the same person?",
@@ -376,9 +396,10 @@
"asset_filename_is_offline": "Asset {filename} is offline",
"asset_has_unassigned_faces": "Asset has unassigned faces",
"asset_hashing": "Hashing...",
- "asset_offline": "Asset offline",
- "asset_offline_description": "This asset is offline. Immich can not access its file location. Please ensure the asset is available and then rescan the library.",
+ "asset_offline": "Asset Offline",
+ "asset_offline_description": "This external asset is no longer found on disk. Please contact your Immich administrator for help.",
"asset_skipped": "Skipped",
+ "asset_skipped_in_trash": "In trash",
"asset_uploaded": "Uploaded",
"asset_uploading": "Uploading...",
"assets": "Assets",
@@ -389,7 +410,7 @@
"assets_moved_to_trash_count": "Moved {count, plural, one {# asset} other {# assets}} to trash",
"assets_permanently_deleted_count": "Permanently deleted {count, plural, one {# asset} other {# assets}}",
"assets_removed_count": "Removed {count, plural, one {# asset} other {# assets}}",
- "assets_restore_confirmation": "Are you sure you want to restore all your trashed assets? You cannot undo this action!",
+ "assets_restore_confirmation": "Are you sure you want to restore all your trashed assets? You cannot undo this action! Note that any offline assets cannot be restored this way.",
"assets_restored_count": "Restored {count, plural, one {# asset} other {# assets}}",
"assets_trashed_count": "Trashed {count, plural, one {# asset} other {# assets}}",
"assets_were_part_of_album_count": "{count, plural, one {Asset was} other {Assets were}} already part of the album",
@@ -400,6 +421,7 @@
"birthdate_saved": "Date of birth saved successfully",
"birthdate_set_description": "Date of birth is used to calculate the age of this person at the time of a photo.",
"blurred_background": "Blurred background",
+ "bugs_and_feature_requests": "Bugs & Feature Requests",
"build": "Build",
"build_image": "Build Image",
"bulk_delete_duplicates_confirmation": "Are you sure you want to bulk delete {count, plural, one {# duplicate asset} other {# duplicate assets}}? This will keep the largest asset of each group and permanently delete all other duplicates. You cannot undo this action!",
@@ -432,9 +454,11 @@
"clear_all_recent_searches": "Clear all recent searches",
"clear_message": "Clear message",
"clear_value": "Clear value",
+ "clockwise": "Сlockwise",
"close": "Close",
"collapse": "Collapse",
"collapse_all": "Collapse all",
+ "color": "Color",
"color_theme": "Color theme",
"comment_deleted": "Comment deleted",
"comment_options": "Comment options",
@@ -468,6 +492,8 @@
"create_new_person": "Create new person",
"create_new_person_hint": "Assign selected assets to a new person",
"create_new_user": "Create new user",
+ "create_tag": "Create tag",
+ "create_tag_description": "Create a new tag. For nested tags, please enter the full path of the tag including forward slashes.",
"create_user": "Create user",
"created": "Created",
"current_device": "Current device",
@@ -488,16 +514,20 @@
"delete_api_key_prompt": "Are you sure you want to delete this API key?",
"delete_duplicates_confirmation": "Are you sure you want to permanently delete these duplicates?",
"delete_key": "Delete key",
- "delete_library": "Delete library",
+ "delete_library": "Delete Library",
"delete_link": "Delete link",
"delete_shared_link": "Delete shared link",
+ "delete_tag": "Delete tag",
+ "delete_tag_confirmation_prompt": "Are you sure you want to delete {tagName} tag?",
"delete_user": "Delete user",
"deleted_shared_link": "Deleted shared link",
+ "deletes_missing_assets": "Deletes assets missing from disk",
"description": "Description",
"details": "Details",
"direction": "Direction",
"disabled": "Disabled",
"disallow_edits": "Disallow edits",
+ "discord": "Discord",
"discover": "Discover",
"dismiss_all_errors": "Dismiss all errors",
"dismiss_error": "Dismiss error",
@@ -506,8 +536,11 @@
"display_original_photos": "Display original photos",
"display_original_photos_setting_description": "Prefer to display the original photo when viewing an asset rather than thumbnails when the original asset is web-compatible. This may result in slower photo display speeds.",
"do_not_show_again": "Do not show this message again",
+ "documentation": "Documentation",
"done": "Done",
"download": "Download",
+ "download_include_embedded_motion_videos": "Embedded videos",
+ "download_include_embedded_motion_videos_description": "Include videos embedded in motion photos as a separate file",
"download_settings": "Download",
"download_settings_description": "Manage settings related to asset download",
"downloading": "Downloading",
@@ -530,9 +563,15 @@
"edit_location": "Edit location",
"edit_name": "Edit name",
"edit_people": "Edit people",
+ "edit_tag": "Edit tag",
"edit_title": "Edit Title",
"edit_user": "Edit user",
"edited": "Edited",
+ "editor": "Editor",
+ "editor_close_without_save_prompt": "The changes will not be saved",
+ "editor_close_without_save_title": "Close editor?",
+ "editor_crop_tool_h2_aspect_ratios": "Aspect ratios",
+ "editor_crop_tool_h2_rotation": "Rotation",
"email": "Email",
"empty_trash": "Empty trash",
"empty_trash_confirmation": "Are you sure you want to empty the trash? This will remove all the assets in trash permanently from Immich.\nYou cannot undo this action!",
@@ -618,6 +657,7 @@
"unable_to_get_comments_number": "Unable to get number of comments",
"unable_to_get_shared_link": "Failed to get shared link",
"unable_to_hide_person": "Unable to hide person",
+ "unable_to_link_motion_video": "Unable to link motion video",
"unable_to_link_oauth_account": "Unable to link OAuth account",
"unable_to_load_album": "Unable to load album",
"unable_to_load_asset_activity": "Unable to load asset activity",
@@ -633,8 +673,8 @@
"unable_to_remove_album_users": "Unable to remove users from album",
"unable_to_remove_api_key": "Unable to remove API Key",
"unable_to_remove_assets_from_shared_link": "Unable to remove assets from shared link",
+ "unable_to_remove_deleted_assets": "Unable to remove offline files",
"unable_to_remove_library": "Unable to remove library",
- "unable_to_remove_offline_files": "Unable to remove offline files",
"unable_to_remove_partner": "Unable to remove partner",
"unable_to_remove_reaction": "Unable to remove reaction",
"unable_to_repair_items": "Unable to repair items",
@@ -656,6 +696,7 @@
"unable_to_submit_job": "Unable to submit job",
"unable_to_trash_asset": "Unable to trash asset",
"unable_to_unlink_account": "Unable to unlink account",
+ "unable_to_unlink_motion_video": "Unable to unlink motion video",
"unable_to_update_album_cover": "Unable to update album cover",
"unable_to_update_album_info": "Unable to update album info",
"unable_to_update_library": "Unable to update library",
@@ -672,6 +713,7 @@
"expired": "Expired",
"expires_date": "Expires {date}",
"explore": "Explore",
+ "explorer": "Explorer",
"export": "Export",
"export_as_json": "Export as JSON",
"extension": "Extension",
@@ -682,6 +724,8 @@
"favorite_or_unfavorite_photo": "Favorite or unfavorite photo",
"favorites": "Favorites",
"feature_photo_updated": "Feature photo updated",
+ "features": "Features",
+ "features_setting_description": "Manage the app features",
"file_name": "File name",
"file_name_or_extension": "File name or extension",
"filename": "Filename",
@@ -689,14 +733,14 @@
"filter_people": "Filter people",
"find_them_fast": "Find them fast by name with search",
"fix_incorrect_match": "Fix incorrect match",
- "force_re-scan_library_files": "Force Re-scan All Library Files",
+ "folders": "Folders",
+ "folders_feature_description": "Browsing the folder view for the photos and videos on the file system",
"forward": "Forward",
"general": "General",
"get_help": "Get Help",
"getting_started": "Getting Started",
"go_back": "Go back",
"go_to_search": "Go to search",
- "go_to_share_page": "Go to share page",
"group_albums_by": "Group albums by...",
"group_no": "No grouping",
"group_owner": "Group by owner",
@@ -758,6 +802,7 @@
"library_options": "Library options",
"light": "Light",
"like_deleted": "Like deleted",
+ "link_motion_video": "Link motion video",
"link_options": "Link options",
"link_to_oauth": "Link to OAuth",
"linked_oauth_account": "Linked OAuth account",
@@ -776,6 +821,7 @@
"look": "Look",
"loop_videos": "Loop videos",
"loop_videos_description": "Enable to automatically loop a video in the detail viewer.",
+ "main_branch_warning": "You’re using a development version; we strongly recommend using a release version!",
"make": "Make",
"manage_shared_links": "Manage shared links",
"manage_sharing_with_partners": "Manage sharing with partners",
@@ -845,18 +891,20 @@
"notifications": "Notifications",
"notifications_setting_description": "Manage notifications",
"oauth": "OAuth",
+ "official_immich_resources": "Official Immich Resources",
"offline": "Offline",
"offline_paths": "Offline paths",
"offline_paths_description": "These results may be due to manual deletion of files that are not part of an external library.",
"ok": "Ok",
"oldest_first": "Oldest first",
"onboarding": "Onboarding",
+ "onboarding_privacy_description": "The following (optional) features rely on external services, and can be disabled at any time in the administration settings.",
"onboarding_theme_description": "Choose a color theme for your instance. You can change this later in your settings.",
"onboarding_welcome_description": "Let's get your instance set up with some common settings.",
"onboarding_welcome_user": "Welcome, {user}",
"online": "Online",
"only_favorites": "Only favorites",
- "only_refreshes_modified_files": "Only refreshes modified files",
+ "open_in_map_view": "Open in map view",
"open_in_openstreetmap": "Open in OpenStreetMap",
"open_the_search_filters": "Open the search filters",
"options": "Options",
@@ -891,6 +939,7 @@
"pending": "Pending",
"people": "People",
"people_edits_count": "Edited {count, plural, one {# person} other {# people}}",
+ "people_feature_description": "Browsing photos and videos grouped by people",
"people_sidebar_description": "Display a link to People in the sidebar",
"permanent_deletion_warning": "Permanent deletion warning",
"permanent_deletion_warning_setting_description": "Show a warning when permanently deleting assets",
@@ -920,6 +969,7 @@
"previous_memory": "Previous memory",
"previous_or_next_photo": "Previous or next photo",
"primary": "Primary",
+ "privacy": "Privacy",
"profile_image_of_user": "Profile image of {user}",
"profile_picture_set": "Profile picture set.",
"public_album": "Public album",
@@ -956,6 +1006,10 @@
"purchase_server_description_2": "Supporter status",
"purchase_server_title": "Server",
"purchase_settings_server_activated": "The server product key is managed by the admin",
+ "rating": "Star rating",
+ "rating_clear": "Clear rating",
+ "rating_count": "{count, plural, one {# star} other {# stars}}",
+ "rating_description": "Display the EXIF rating in the info panel",
"reaction_options": "Reaction options",
"read_changelog": "Read Changelog",
"reassign": "Reassign",
@@ -966,11 +1020,13 @@
"recent_searches": "Recent searches",
"refresh": "Refresh",
"refresh_encoded_videos": "Refresh encoded videos",
+ "refresh_faces": "Refresh faces",
"refresh_metadata": "Refresh metadata",
"refresh_thumbnails": "Refresh thumbnails",
"refreshed": "Refreshed",
- "refreshes_every_file": "Refreshes every file",
+ "refreshes_every_file": "Re-reads all existing and new files",
"refreshing_encoded_video": "Refreshing encoded video",
+ "refreshing_faces": "Refreshing faces",
"refreshing_metadata": "Refreshing metadata",
"regenerating_thumbnails": "Regenerating thumbnails",
"remove": "Remove",
@@ -978,15 +1034,16 @@
"remove_assets_shared_link_confirmation": "Are you sure you want to remove {count, plural, one {# asset} other {# assets}} from this shared link?",
"remove_assets_title": "Remove assets?",
"remove_custom_date_range": "Remove custom date range",
+ "remove_deleted_assets": "Remove Deleted Assets",
"remove_from_album": "Remove from album",
"remove_from_favorites": "Remove from favorites",
"remove_from_shared_link": "Remove from shared link",
- "remove_offline_files": "Remove Offline Files",
"remove_user": "Remove user",
"removed_api_key": "Removed API Key: {name}",
"removed_from_archive": "Removed from archive",
"removed_from_favorites": "Removed from favorites",
"removed_from_favorites_count": "{count, plural, other {Removed #}} from favorites",
+ "removed_tagged_assets": "Removed tag from {count, plural, one {# asset} other {# assets}}",
"rename": "Rename",
"repair": "Repair",
"repair_no_results_message": "Untracked and missing files will show up here",
@@ -1016,8 +1073,7 @@
"saved_settings": "Saved settings",
"say_something": "Say something",
"scan_all_libraries": "Scan All Libraries",
- "scan_all_library_files": "Re-scan All Library Files",
- "scan_new_library_files": "Scan New Library Files",
+ "scan_library": "Scan",
"scan_settings": "Scan Settings",
"scanning_for_album": "Scanning for album...",
"search": "Search",
@@ -1032,9 +1088,12 @@
"search_for_existing_person": "Search for existing person",
"search_no_people": "No people",
"search_no_people_named": "No people named \"{name}\"",
+ "search_options": "Search options",
"search_people": "Search people",
"search_places": "Search places",
+ "search_settings": "Search settings",
"search_state": "Search state...",
+ "search_tags": "Search tags...",
"search_timezone": "Search timezone...",
"search_type": "Search type",
"search_your_photos": "Search your photos",
@@ -1075,6 +1134,7 @@
"shared_by_user": "Shared by {user}",
"shared_by_you": "Shared by you",
"shared_from_partner": "Photos from {partner}",
+ "shared_link_options": "Shared link options",
"shared_links": "Shared links",
"shared_photos_and_videos_count": "{assetCount, plural, other {# shared photos & videos.}}",
"shared_with_partner": "Shared with {partner}",
@@ -1083,6 +1143,7 @@
"sharing_sidebar_description": "Display a link to Sharing in the sidebar",
"shift_to_permanent_delete": "press ⇧ to permanently delete asset",
"show_album_options": "Show album options",
+ "show_albums": "Show albums",
"show_all_people": "Show all people",
"show_and_hide_people": "Show & hide people",
"show_file_location": "Show file location",
@@ -1097,13 +1158,18 @@
"show_person_options": "Show person options",
"show_progress_bar": "Show Progress Bar",
"show_search_options": "Show search options",
+ "show_slideshow_transition": "Show slideshow transition",
"show_supporter_badge": "Supporter badge",
"show_supporter_badge_description": "Show a supporter badge",
"shuffle": "Shuffle",
+ "sidebar": "Sidebar",
+ "sidebar_display_description": "Display a link to the view in the sidebar",
"sign_out": "Sign Out",
"sign_up": "Sign up",
"size": "Size",
"skip_to_content": "Skip to content",
+ "skip_to_folders": "Skip to folders",
+ "skip_to_tags": "Skip to tags",
"slideshow": "Slideshow",
"slideshow_settings": "Slideshow settings",
"sort_albums_by": "Sort albums by...",
@@ -1115,6 +1181,8 @@
"sort_title": "Title",
"source": "Source",
"stack": "Stack",
+ "stack_duplicates": "Stack duplicates",
+ "stack_select_one_photo": "Select one main photo for the stack",
"stack_selected_photos": "Stack selected photos",
"stacked_assets_count": "Stacked {count, plural, one {# asset} other {# assets}}",
"stacktrace": "Stacktrace",
@@ -1132,22 +1200,35 @@
"submit": "Submit",
"suggestions": "Suggestions",
"sunrise_on_the_beach": "Sunrise on the beach",
+ "support": "Support",
+ "support_and_feedback": "Support & Feedback",
+ "support_third_party_description": "Your Immich installation was packaged by a third-party. Issues you experience may be caused by that package, so please raise issues with them in the first instance using the links below.",
"swap_merge_direction": "Swap merge direction",
"sync": "Sync",
+ "tag": "Tag",
+ "tag_assets": "Tag assets",
+ "tag_created": "Created tag: {tag}",
+ "tag_feature_description": "Browsing photos and videos grouped by logical tag topics",
+ "tag_not_found_question": "Cannot find a tag? Create a new tag.",
+ "tag_updated": "Updated tag: {tag}",
+ "tagged_assets": "Tagged {count, plural, one {# asset} other {# assets}}",
+ "tags": "Tags",
"template": "Template",
"theme": "Theme",
"theme_selection": "Theme selection",
"theme_selection_description": "Automatically set the theme to light or dark based on your browser's system preference",
"they_will_be_merged_together": "They will be merged together",
+ "third_party_resources": "Third-Party Resources",
"time_based_memories": "Time-based memories",
"timezone": "Timezone",
"to_archive": "Archive",
"to_change_password": "Change password",
"to_favorite": "Favorite",
"to_login": "Login",
+ "to_parent": "Go to parent",
"to_trash": "Trash",
"toggle_settings": "Toggle settings",
- "toggle_theme": "Toggle theme",
+ "toggle_theme": "Toggle dark theme",
"total_usage": "Total usage",
"trash": "Trash",
"trash_all": "Trash All",
@@ -1163,9 +1244,11 @@
"unknown": "Unknown",
"unknown_year": "Unknown Year",
"unlimited": "Unlimited",
+ "unlink_motion_video": "Unlink motion video",
"unlink_oauth": "Unlink OAuth",
"unlinked_oauth_account": "Unlinked OAuth account",
"unnamed_album": "Unnamed Album",
+ "unnamed_album_delete_confirmation": "Are you sure you want to delete this album?",
"unnamed_share": "Unnamed Share",
"unsaved_change": "Unsaved change",
"unselect_all": "Unselect all",
@@ -1203,6 +1286,8 @@
"version": "Version",
"version_announcement_closing": "Your friend, Alex",
"version_announcement_message": "Hi friend, there is a new version of the application please take your time to visit the release notes and ensure your docker-compose.yml
, and .env
setup is up-to-date to prevent any misconfigurations, especially if you use WatchTower or any mechanism that handles updating your application automatically.",
+ "version_history": "Version History",
+ "version_history_item": "Installed {version} on {date}",
"video": "Video",
"video_hover_setting": "Play video thumbnail on hover",
"video_hover_setting_description": "Play video thumbnail when mouse is hovering over item. Even when disabled, playback can be started by hovering over the play icon.",
@@ -1212,6 +1297,7 @@
"view_album": "View Album",
"view_all": "View All",
"view_all_users": "View all users",
+ "view_in_timeline": "View in timeline",
"view_links": "View links",
"view_next_asset": "View next asset",
"view_previous_asset": "View previous asset",
@@ -1221,7 +1307,7 @@
"warning": "Warning",
"week": "Week",
"welcome": "Welcome",
- "welcome_to_immich": "Welcome to immich",
+ "welcome_to_immich": "Welcome to Immich",
"year": "Year",
"years_ago": "{years, plural, one {# year} other {# years}} ago",
"yes": "Yes",
diff --git a/web/src/lib/i18n/es.json b/i18n/es.json
similarity index 82%
rename from web/src/lib/i18n/es.json
rename to i18n/es.json
index c7abc16758..c58888a570 100644
--- a/web/src/lib/i18n/es.json
+++ b/i18n/es.json
@@ -2,80 +2,92 @@
"about": "Acerca de",
"account": "Cuenta",
"account_settings": "Ajustes de la cuenta",
- "acknowledge": "Acuerdo",
+ "acknowledge": "De acuerdo",
"action": "Acción",
"actions": "Acciones",
"active": "Activo",
"activity": "Actividad",
- "activity_changed": "Actividad es {enabled, select, true {enabled} other {disabled}}",
- "add": "Añadir",
- "add_a_description": "Añadir una descripción",
- "add_a_location": "Añadir una ubicación",
- "add_a_name": "Añadir un nombre",
- "add_a_title": "Añadir un título",
- "add_exclusion_pattern": "Añadir patrón de exclusión",
- "add_import_path": "Añadir ruta de importación",
- "add_location": "Añadir ubicación",
- "add_more_users": "Añadir más usuarios",
- "add_partner": "Añadir invitado",
- "add_path": "Añadir ruta",
- "add_photos": "Añadir fotos",
- "add_to": "Añadir a...",
- "add_to_album": "Añadir a un álbum",
- "add_to_shared_album": "Añadir a un álbum compartido",
- "added_to_archive": "Archivar",
- "added_to_favorites": "Añadido a favoritos",
- "added_to_favorites_count": "Añadido {count, number} a favoritos",
+ "activity_changed": "La actividad está {enabled, select, true {activada} other {desactivada}}",
+ "add": "Agregar",
+ "add_a_description": "Agregar descripción",
+ "add_a_location": "Agregar ubicación",
+ "add_a_name": "Agregar nombre",
+ "add_a_title": "Agregar título",
+ "add_exclusion_pattern": "Agregar patrón de exclusión",
+ "add_import_path": "Agregar ruta de importación",
+ "add_location": "Agregar ubicación",
+ "add_more_users": "Agregar más usuarios",
+ "add_partner": "Agregar invitado",
+ "add_path": "Agregar ruta",
+ "add_photos": "Agregar fotos",
+ "add_to": "Agregar a...",
+ "add_to_album": "Agregar a un álbum",
+ "add_to_shared_album": "Agregar a un álbum compartido",
+ "added_to_archive": "Archivado",
+ "added_to_favorites": "Agregado a favoritos",
+ "added_to_favorites_count": "Agregado {count, number} a favoritos",
"admin": {
- "add_exclusion_pattern_description": "Añade patrones de exclusión. Puedes utilizar los caracteres *, ** y ? (globbing). Para ignorar los archivos en cualquier ruta llamada \"Raw\", utiliza \"**/Raw/**\". Para ignorar todos los archivos que terminan en \".tif\", utiliza \"**/*.tif\". Para ignorar una ruta desde la raíz, utiliza \"/carpeta/a/ignorar/**\".",
- "authentication_settings": "Configuración de Autenticación",
- "authentication_settings_description": "Gestionar clave, Oauth y otros configuraciones de autenticación",
- "authentication_settings_disable_all": "¿Estás seguro de que deseas desactivar todos los métodos de inicio de sesión? Se desactivará el inicio de sesión.",
- "authentication_settings_reenable": "Para volver a habilitar, utilice un Comando del servidor .",
+ "add_exclusion_pattern_description": "Agrega patrones de exclusión. Puedes utilizar los caracteres *, ** y ? (globbing). Para ignorar todos los archivos en cualquier directorio llamado \"Raw\", utiliza \"**/Raw/**\". Para ignorar todos los archivos que terminan en \".tif\", utiliza \"**/*.tif\". Para ignorar una ruta absoluta, utiliza \"/carpeta/a/ignorar/**\".",
+ "asset_offline_description": "Este recurso externo de la biblioteca ya no se encuentra en el disco y se ha movido a la papelera. Si el archivo se movió dentro de la biblioteca, comprueba la línea de tiempo para el nuevo recurso correspondiente. Para restaurar este recurso, asegúrate de que Immich puede acceder a la siguiente ruta de archivo y escanear la biblioteca.",
+ "authentication_settings": "Parámetros de autenticación",
+ "authentication_settings_description": "Gestionar contraseñas, OAuth y otros parámetros de autenticación",
+ "authentication_settings_disable_all": "¿Está seguro de que deseas desactivar todos los métodos de inicio de sesión? El inicio de sesión se desactivará por completo.",
+ "authentication_settings_reenable": "Para volver a activarlo, utiliza un Comando del servidor .",
"background_task_job": "Tareas en segundo plano",
- "check_all": "Comprobar Todo",
- "cleared_jobs": "Trabajos realizados para: {job}",
- "config_set_by_file": "La configuración está fijada actualmente en base a un archivo",
+ "check_all": "Verificar todo",
+ "cleared_jobs": "Trabajos borrados para: {job}",
+ "config_set_by_file": "La configuración está definida por un archivo de configuración",
"confirm_delete_library": "¿Estás seguro de que quieres eliminar la biblioteca {library}?",
"confirm_delete_library_assets": "¿Estás seguro de que quieras eliminar esta biblioteca? Esto eliminará los {count, plural, one {# contained asset} other {all # contained assets}} elementos en Immich y no puede deshacerse. Los archivos permanecerán en tu almacenamiento.",
- "confirm_email_below": "Para confirmar, escribe \"{email}\" debajo",
- "confirm_reprocess_all_faces": "¿Estás seguro de que quieres volver a procesar todas las caras? Esto también eliminará las personas a las que le hayas asignado nombre.",
- "confirm_user_password_reset": "¿Estás seguro de que quieres resetear la contraseña de {user}?",
+ "confirm_email_below": "Para confirmar, escribe \"{email}\" a continuación",
+ "confirm_reprocess_all_faces": "¿Estás seguro de que deseas reprocesar todas las caras? Esto borrará a todas las personas que nombraste.",
+ "confirm_user_password_reset": "¿Estás seguro de que quieres restablecer la contraseña de {user}?",
+ "create_job": "Crear trabajo",
"crontab_guru": "Crontab Guru",
"disable_login": "Deshabilitar inicio de sesión",
"disabled": "Deshabilitado",
- "duplicate_detection_job_description": "Lanza el aprendizaje automático para detectar imágenes similares. Necesita que esté activa la Búsqueda Inteligente",
- "exclusion_pattern_description": "Los patrones de exclusión te permiten ignorar archivos y carpetas al escanear tu biblioteca. Esto es útil hay carpetas que contienen archivos que no quieres importar (por ejemplo los ficheros RAW).",
- "external_library_created_at": "Biblioteca externa (creado el {date})",
- "external_library_management": "Gestión de Biblioteca Externa",
- "face_detection": "Detección de caras",
- "face_detection_description": "Detecta las caras usando aprendizaje automático. Para los vídeos sólo se tiene en cuenta la imagen de previsualización. \"Todo\" implica volver a procesar todos los elementos. \"Missing\" pone en la cola los elementos que aún no han sido procesados. Las caras detectadas serán añadidas a la cola para ser procesadas posteriormente mediante Reconocimiento Facial y agrupadas en las personas que ya existan o en nuevas personas detectadas.",
- "facial_recognition_job_description": "Agrupa las caras detectadas en las personas. Este paso se lanza tras las Detección de Caras. \"All\" reagrupa todas las caras. \"Pendiente\" añade a la colas aquellas caras que no fueron asignadas a ninguna persona.",
+ "duplicate_detection_job_description": "Ejecuta aprendizaje automático sobre los activos para detectar imágenes similares. Se basa en la búsqueda inteligente",
+ "exclusion_pattern_description": "Los patrones de exclusión te permiten ignorar archivos y carpetas al escanear tu biblioteca. Esto es útil si tienes carpetas que contienen archivos que no deseas importar, como archivos RAW.",
+ "external_library_created_at": "Biblioteca externa (creada el {date})",
+ "external_library_management": "Gestión de bibliotecas externas",
+ "face_detection": "Detección de rostros",
+ "face_detection_description": "Detectar las caras en los activos mediante aprendizaje automático. En el caso de los vídeos, solo se tiene en cuenta la miniatura. \"Actualizar\" (re)procesar todos los activos. \"Restablecer\" borra además todos los datos de caras actuales. \"Falta\" pone en cola los activos que aún no se han procesado. Los rostros detectados se pondrán en cola para el reconocimiento facial una vez finalizada la detección facial, agrupándolos en personas existentes o nuevas.",
+ "facial_recognition_job_description": "Agrupa los rostros detectados en personas. Este paso se ejecuta una vez finalizada la detección de caras. \"Restablecer\" (re)agrupa todas las caras. \"Falta\" pone en cola los rostros que no tienen asignada una persona.",
"failed_job_command": "El comando {command} ha fallado para la tarea: {job}",
"force_delete_user_warning": "CUIDADO: Esta acción eliminará inmediatamente el usuario y los elementos. Esta accion no se puede deshacer y los archivos no pueden ser recuperados.",
- "forcing_refresh_library_files": "Forzar actualización de todos los archivos en las bibliotecas",
+ "forcing_refresh_library_files": "Forzar la recarga de todos los archivos de la biblioteca",
+ "image_format": "Formato",
"image_format_description": "WebP genera archivos más pequeños que JPEG, pero es más lento al codificar.",
"image_prefer_embedded_preview": "Preferir vista previa incrustada",
"image_prefer_embedded_preview_setting_description": "Usar vistas previas incrustadas en fotos RAW como entrada para el procesamiento de imágenes cuando estén disponibles. Esto puede producir colores más precisos en algunas imágenes, pero la calidad de la vista previa depende de la cámara y la imagen puede tener más artefactos de compresión.",
"image_prefer_wide_gamut": "Preferir gama amplia",
"image_prefer_wide_gamut_setting_description": "Usar \"Display P3\" para las miniaturas. Esto preserva mejor la vivacidad de las imágenes con espacios de color amplios, pero las imágenes pueden aparecer de manera diferente en dispositivos antiguos con una versión antigua del navegador. Las imágenes sRGB se mantienen como sRGB para evitar cambios de color.",
+ "image_preview_description": "Imagen de tamaño mediano con metadatos eliminados, utilizada al visualizar un solo activo y para aprendizaje automático",
"image_preview_format": "Formato de previsualización",
+ "image_preview_quality_description": "Calidad de vista previa de 1 a 100. Cuanto más alta sea la calidad, mejor, pero genera archivos más grandes y puede reducir la capacidad de respuesta de la aplicación. Establecer un valor bajo puede afectar la calidad del aprendizaje automático.",
"image_preview_resolution": "Resolución de previsualización",
"image_preview_resolution_description": "Se utiliza al ver una sola foto y para el aprendizaje automático. Las resoluciones más altas pueden preservar más detalles, pero tardan más en codificarse, tienen tamaños de archivo más grandes y pueden reducir la capacidad de respuesta de la aplicación.",
+ "image_preview_title": "Ajustes de la vista previa",
"image_quality": "Calidad",
"image_quality_description": "Calidad de imagen de 1 a 100. Un valor más alto mejora la calidad pero genera archivos más grandes.",
+ "image_resolution": "Resolución",
+ "image_resolution_description": "Las resoluciones más altas pueden conservar más detalles, pero requieren más tiempo para codificar, tienen tamaños de archivo más grandes y pueden afectar la capacidad de respuesta de la aplicación.",
"image_settings": "Ajustes de imagen",
"image_settings_description": "Administrar la calidad y resolución de las imágenes generadas",
+ "image_thumbnail_description": "Miniatura pequeña con metadatos eliminados, que se utiliza al visualizar grupos de fotos como la línea de tiempo principal",
"image_thumbnail_format": "Formato de las miniaturas",
+ "image_thumbnail_quality_description": "Calidad de miniatura de 1 a 100. Cuanto más alta, mejor, pero genera archivos más grandes y puede reducir la capacidad de respuesta de la aplicación.",
"image_thumbnail_resolution": "Resolución de las miniaturas",
"image_thumbnail_resolution_description": "Se utiliza para ver grupos de fotos (cronología, vista de álbum, etc.). Las resoluciones más altas pueden conservar más detalles, pero tardan más en codificarse, tienen archivos de mayor tamaño y pueden reducir la reactividad de la aplicación.",
+ "image_thumbnail_title": "Ajustes de las miniaturas",
"job_concurrency": "{job}: Procesos simultáneos",
+ "job_created": "Trabajo creado",
"job_not_concurrency_safe": "Esta tarea no es segura para la simultaneidad.",
"job_settings": "Configuración tareas",
"job_settings_description": "Administrar tareas simultáneas",
- "job_status": "Estado de la Tarea",
- "jobs_delayed": "{jobCount, plural, other {# delayed}}",
- "jobs_failed": "{jobCount, plural, other {# failed}}",
+ "job_status": "Estado de la tarea",
+ "jobs_delayed": "{jobCount, plural, one {# retrasado} other {# retrasados}}",
+ "jobs_failed": "{jobCount, plural, one {# fallido} other {# fallidos}}",
"library_created": "La biblioteca ha sido creada: {library}",
"library_cron_expression": "Expresión cron",
"library_cron_expression_description": "Establece el intervalo de escaneo utilizando el formato cron. Para más información puede consultar, por ejemplo, Crontab Guru",
@@ -85,7 +97,7 @@
"library_scanning": "Escaneado periódico",
"library_scanning_description": "Configura el escaneo periódico de la biblioteca",
"library_scanning_enable_description": "Activar el escaneo periódico de la biblioteca",
- "library_settings": "Biblioteca Externa",
+ "library_settings": "Biblioteca externa",
"library_settings_description": "Administrar configuración biblioteca externa",
"library_tasks_description": "Realizar tareas de biblioteca",
"library_watching_enable_description": "Ver las bibliotecas externas para detectar cambios en los archivos",
@@ -129,16 +141,21 @@
"map_enable_description": "Habilitar características del mapa",
"map_gps_settings": "Configuración de mapas y GPS",
"map_gps_settings_description": "Administrar la configuración de mapas y GPS (geocodificación inversa)",
+ "map_implications": "La función de mapa depende de un servicio externo de mosaicos (tiles.immich.cloud)",
"map_light_style": "Estilo claro",
"map_manage_reverse_geocoding_settings": "Gestionar los ajustes de la geocodificación inversa",
"map_reverse_geocoding": "Geocodificación inversa",
"map_reverse_geocoding_enable_description": "Activar geocodificación inversa",
"map_reverse_geocoding_settings": "Ajustes Geocodificación Inversa",
- "map_settings": "Configuración del mapa",
+ "map_settings": "Mapa",
"map_settings_description": "Administrar la configuración del mapa",
"map_style_description": "Dirección URL a un tema de mapa (style.json)",
"metadata_extraction_job": "Extracción de metadatos",
- "metadata_extraction_job_description": "Extrae información de metadatos de cada elemento, como GPS y resolución",
+ "metadata_extraction_job_description": "Extraer información de metadatos de cada activo, como GPS, caras y resolución",
+ "metadata_faces_import_setting": "Activar importación de caras",
+ "metadata_faces_import_setting_description": "Importar caras desde los metadatos EXIF y auxiliares de una imagen",
+ "metadata_settings": "Configuración de metadatos",
+ "metadata_settings_description": "Administrar la configuración de metadatos",
"migration_job": "Migración",
"migration_job_description": "Migrar miniaturas de archivos y caras a la estructura de carpetas más reciente",
"no_paths_added": "No se han añadido carpetas",
@@ -147,7 +164,7 @@
"note_cannot_be_changed_later": "NOTA: No se puede cambiar posteriormente!",
"note_unlimited_quota": "Nota: usa 0 para espacio sin límites",
"notification_email_from_address": "Desde",
- "notification_email_from_address_description": "Dirección de correo electrónico del remitente, por ejemplo: \"Immich Photo Server {label}
es la etiqueta de almacenamiento del usuario",
"system_settings": "Ajustes del Sistema",
+ "tag_cleanup_job": "Limpieza de etiquetas",
"theme_custom_css_settings": "CSS Personalizado",
"theme_custom_css_settings_description": "Las Hojas de Estilo (CSS) permiten personalizar el diseño de Immich.",
"theme_settings": "Ajustes Tema",
@@ -257,7 +278,7 @@
"transcoding_audio_codec": "Codec de audio",
"transcoding_audio_codec_description": "Opus es la opción de mayor calidad, pero tiene menor compatibilidad con dispositivos o software antiguos.",
"transcoding_bitrate_description": "Vídeos con una tasa de bits superior a la máxima o que no están en un formato aceptado",
- "transcoding_codecs_learn_more": "Para obtener más información sobre la terminología utilizada aquí, consulte la documentación de FFmpeg para docker-compose.yml
, y la configuración .env
esté actualizada para evitar cualquier configuración incorrecta, especialmente si usas WatchTower o cualquier mecanismo que maneje la actualización automática de tu aplicación.",
+ "version_announcement_message": "Hola Amigo: Hay una nueva versión de la aplicación, por favor, tómate tu tiempo para visitar las notas de la versión y asegúrate de que tu docker-compose.yml
y la configuración .env
estén actualizadas para evitar cualquier configuración incorrecta, especialmente si usas WatchTower o cualquier mecanismo que maneje la actualización automática de tu aplicación.",
+ "version_history": "Historial de versiones",
+ "version_history_item": "Instalada la {version} el {date}",
"video": "Vídeo",
"video_hover_setting": "Iniciar vídeo al pasar por encima",
"video_hover_setting_description": "Reproducir el vídeo cuando el ratón está encima de un vídeo. Aunque esté desactivado, se iniciará cuando el cursor del ratón esté sobre el icono de \"reproducir\".",
@@ -1285,19 +1380,20 @@
"view_album": "Ver Álbum",
"view_all": "Ver todas",
"view_all_users": "Mostrar todos los usuarios",
+ "view_in_timeline": "Mostrar en la línea de tiempo",
"view_links": "Mostrar enlaces",
"view_next_asset": "Mostrar siguiente elemento",
"view_previous_asset": "Mostrar elemento anterior",
"view_stack": "Ver Pila",
"viewer": "Visualizador",
- "visibility_changed": "Visibilidad cambiada para {count, plural, one {# person} other {# people}}",
+ "visibility_changed": "Visibilidad cambiada para {count, plural, one {# persona} other {# personas}}",
"waiting": "Esperando",
"warning": "Advertencia",
"week": "Semana",
"welcome": "Bienvenido",
- "welcome_to_immich": "Bienvenido a immich",
+ "welcome_to_immich": "Bienvenido a Immich",
"year": "Año",
- "years_ago": "Hace {years, plural, one {# year} other {# years}}",
+ "years_ago": "Hace {years, plural, one {# año} other {# años}}",
"yes": "Sí",
"you_dont_have_any_shared_links": "No tienes ningún enlace compartido",
"zoom_image": "Acercar Imagen"
diff --git a/i18n/et.json b/i18n/et.json
new file mode 100644
index 0000000000..d46714abe9
--- /dev/null
+++ b/i18n/et.json
@@ -0,0 +1,1304 @@
+{
+ "about": "Teave",
+ "account": "Konto",
+ "account_settings": "Konto seaded",
+ "acknowledge": "Sain aru",
+ "action": "Tegevus",
+ "actions": "Tegevused",
+ "active": "Aktiivne",
+ "activity": "Aktiivsus",
+ "activity_changed": "Aktiivsus on {enabled, select, true {lubatud} other {keelatud}}",
+ "add": "Lisa",
+ "add_a_description": "Lisa kirjeldus",
+ "add_a_location": "Lisa asukoht",
+ "add_a_name": "Lisa nimi",
+ "add_a_title": "Lisa pealkiri",
+ "add_exclusion_pattern": "Lisa välistamismuster",
+ "add_import_path": "Lisa imporditee",
+ "add_location": "Lisa asukoht",
+ "add_more_users": "Lisa rohkem kasutajaid",
+ "add_partner": "Lisa partner",
+ "add_path": "Lisa tee",
+ "add_photos": "Lisa fotosid",
+ "add_to": "Lisa kohta...",
+ "add_to_album": "Lisa albumisse",
+ "add_to_shared_album": "Lisa jagatud albumisse",
+ "added_to_archive": "Lisatud arhiivi",
+ "added_to_favorites": "Lisatud lemmikutesse",
+ "added_to_favorites_count": "{count, number} pilti lisatud lemmikutesse",
+ "admin": {
+ "add_exclusion_pattern_description": "Lisa välistamismustreid. Toetatud on metamärgid *, ** ja ?. Kõikide kataloogis nimega \"Raw\" olevate failide ignoreerimiseks kasuta \"**/Raw/**\". Kõikide .tif failide ignoreerimiseks kasuta \"**/*.tif\". Absouutse tee ignoreerimiseks kasuta \"/path/to/ignore/**\".",
+ "asset_offline_description": "Seda välise kogu üksust ei leitud kettalt ning see liigutati prügikasti. Kui faili asukoht kogu siseselt muutus, leiad vastava uue üksuse oma ajajoonelt. Üksuse taastamiseks veendu, et allpool toodud failitee on Immich'ile kättesaadav ning skaneeri kogu uuesti.",
+ "authentication_settings": "Autentimise seaded",
+ "authentication_settings_description": "Halda parooli, OAuth ja muid autentimise seadeid",
+ "authentication_settings_disable_all": "Kas oled kindel, et soovid kõik sisselogimismeetodid välja lülitada? Sisselogimine lülitatakse täielikult välja.",
+ "authentication_settings_reenable": "Et taas lubada, kasuta serveri käsku.",
+ "background_task_job": "Tausttegumid",
+ "check_all": "Märgi kõik",
+ "cleared_jobs": "Tööted eemaldatud: {job}",
+ "config_set_by_file": "Konfiguratsioon on määratud konfifaili abil",
+ "confirm_delete_library": "Kas oled kindel, et soovid kustutada {library} kogu?",
+ "confirm_delete_library_assets": "Kas oled kindel, et soovid selle kogu kustutada? Sellega kustutatakse {count, plural, one {# sisalduv üksus} other {kõik # sisalduvat üksust}} Immich'ist ning seda ei saa tagasi võtta. Failid jäävad kettale alles.",
+ "confirm_email_below": "Kinnitamiseks sisesta allpool \"{email}\"",
+ "confirm_reprocess_all_faces": "Kas oled kindel, et soovid kõik näod uuesti töödelda? See eemaldab kõik nimega isikud.",
+ "confirm_user_password_reset": "Kas oled kindel, et soovid kasutaja {user} parooli lähtestada?",
+ "create_job": "Lisa tööde",
+ "disable_login": "Keela sisselogimine",
+ "duplicate_detection_job_description": "Rakenda üksustele masinõpet, et leida sarnaseid pilte. Kasutab nutiotsingut",
+ "exclusion_pattern_description": "Välistamismustrid võimaldavad ignoreerida faile ja kaustu kogu skaneerimisel. See on kasulik, kui sul on kaustu, mis sisaldavad faile, mida sa ei soovi importida, nagu RAW failid.",
+ "external_library_created_at": "Väline kogu (lisatud {date})",
+ "external_library_management": "Väliste kogude haldus",
+ "face_detection": "Näoavastus",
+ "face_detection_description": "Avasta üksustest nägusid masinõppe abil. Videote puhul kasutatakse ainult pisipilti. \"Värskenda\" töötleb kõik üksused uuesti. \"Lähtesta\" kustutab lisaks kõik seni leitud näed. \"Puuduvad\" võtab ette üksused, mida pole veel töödeldud. Avastatud näod suunatakse näotuvastusse, et grupeerida nad olemasolevateks või uuteks isikuteks.",
+ "facial_recognition_job_description": "Grupeeri avastatud näod inimesteks. See samm käivitub siis, kui näoavastus on lõppenud. \"Lähtesta\" grupeerib kõik näod uuesti. \"Puuduvad\" võtab ette näod, mida pole isikuga seostatud.",
+ "failed_job_command": "Käsk {command} ebaõnnestus töötes: {job}",
+ "force_delete_user_warning": "HOIATUS: See kustutab koheselt kasutaja ja kõik üksused. Seda ei saa tagasi võtta ja faile ei saa taastada.",
+ "forcing_refresh_library_files": "Kogu kõigi failide sundvärskendamine",
+ "image_format": "Formaat",
+ "image_format_description": "WebP failid on väiksemad kui JPEG, aga kodeerimine on aeglasem.",
+ "image_prefer_embedded_preview": "Eelista manustatud eelvaadet",
+ "image_prefer_embedded_preview_setting_description": "Kasuta pilditöötluse sisendina võimalusel RAW fotodesse manustatud eelvaateid. See võib mõnede piltide puhul anda tulemuseks täpsemad värvid, aga eelvaate kvaliteet sõltub konkreetsest kaamerast ning pildis võib olla rohkem tihendusmüra.",
+ "image_prefer_wide_gamut": "Eelista laia värvigammat",
+ "image_prefer_wide_gamut_setting_description": "Kasuta pisipiltide jaoks Display P3. See säilitab paremini laia värviruumiga piltide erksuse, aga vanematel seadmetel ja vanemate brauseritega võivad pildid teistsugused välja näha. sRGB pildid säilitatakse värvinihete vältimiseks.",
+ "image_preview_description": "Keskmise suurusega pilt ilma metaandmeteta, kasutusel üksiku üksuse vaatamise ja masinõppe jaoks",
+ "image_preview_format": "Eelvaate formaat",
+ "image_preview_quality_description": "Eelvaate kvaliteet vahemikus 1-100. Kõrgem väärtus on parem, aga tekitab suuremaid faile ning võib mõjutada rakenduse töökiirust. Madala väärtuse seadmine võib mõjutada masinõppe kvaliteeti.",
+ "image_preview_resolution": "Eelvaate resolutsioon",
+ "image_preview_resolution_description": "Kasutusel üksiku foto vaatamisel ja masinõppe jaoks. Kõrgem resolutsioon säilitab rohkem detaile, aga kodeerimine võtab rohkem aega, tekitab suurema faili ning võib mõjutada rakenduse töökiirust.",
+ "image_preview_title": "Eelvaate seaded",
+ "image_quality": "Kvaliteet",
+ "image_quality_description": "Pildikvaliteet vahemikus 1-100. Kõrgem väärtus tähendab paremat kvaliteeti ja suuremaid faile. See valik mõjutab eelvaateid ja pisipilte.",
+ "image_resolution": "Resolutsioon",
+ "image_resolution_description": "Kõrgemad resolutsioonid säilitavad rohkem detaile, aga kodeerimine võtab kauem aega, tekitab suuremaid faile ning võib mõjutada rakenduse töökiirust.",
+ "image_settings": "Pildi seaded",
+ "image_settings_description": "Halda genereeritud piltide kvaliteeti ja resolutsiooni",
+ "image_thumbnail_description": "Väike pisipilt ilma metaandmeteta, kasutusel fotode grupikaupa vaatamisel, näiteks ajajoonel",
+ "image_thumbnail_format": "Pisipildi formaat",
+ "image_thumbnail_quality_description": "Pisipildi kvaliteet vahemikus 1-100. Kõrgem väärtus on parem, aga tekitab suuremaid faile ning võib mõjutada rakenduse töökiirust.",
+ "image_thumbnail_resolution": "Pisipildi resolutsioon",
+ "image_thumbnail_resolution_description": "Kasutusel fotode mitmekaupa vaatamisel (ajajoon, albumi vaade, jne). Kõrgem resolutsioon säilitab rohkem detaile, aga kodeerimine võtab rohkem aega, tekitab suurema faili ning võib mõjutada rakenduse töökiirust.",
+ "image_thumbnail_title": "Pisipildi seaded",
+ "job_concurrency": "{job} samaaegsus",
+ "job_created": "Tööde lisatud",
+ "job_not_concurrency_safe": "Seda töödet pole ohutu samaaegselt käivitada.",
+ "job_settings": "Tööte seaded",
+ "job_settings_description": "Halda töödete samaaegsust",
+ "job_status": "Tööte seisund",
+ "jobs_delayed": "{jobCount, plural, other {# edasi lükatud}}",
+ "jobs_failed": "{jobCount, plural, other {# ebaõnnestus}}",
+ "library_created": "Lisatud kogu: {library}",
+ "library_cron_expression": "Cron avaldis",
+ "library_cron_expression_description": "Sea skaneerimise intervall cron formaadis. Rohkema info jaoks vaata nt. Crontab Guru",
+ "library_cron_expression_presets": "Eelseadistatud cron avaldised",
+ "library_deleted": "Kogu kustutatud",
+ "library_import_path_description": "Määra kaust, mida importida. Sellest kaustast ning alamkaustadest otsitakse pilte ja videosid.",
+ "library_scanning": "Perioodiline skaneerimine",
+ "library_scanning_description": "Seadista kogu perioodiline skaneerimine",
+ "library_scanning_enable_description": "Luba kogu perioodiline skaneerimine",
+ "library_settings": "Väline kogu",
+ "library_settings_description": "Halda välise kogu seadeid",
+ "library_tasks_description": "Soorita kogu toiminguid",
+ "library_watching_enable_description": "Jälgi välises kogus failide muudatusi",
+ "library_watching_settings": "Kogu jälgimine (EKSPERIMENTAALNE)",
+ "library_watching_settings_description": "Jälgi automaatselt muutunud faile",
+ "logging_enable_description": "Luba logimine",
+ "logging_level_description": "Kui lubatud, millist logimistaset kasutada.",
+ "logging_settings": "Logimine",
+ "machine_learning_clip_model": "CLIP mudel",
+ "machine_learning_clip_model_description": "CLIP mudeli nimi, mis on loetletud siin. Pane tähele, et mudeli muutmisel pead kõigi piltide peal nutiotsingu tööte uuesti käivitama.",
+ "machine_learning_duplicate_detection": "Duplikaatide leidmine",
+ "machine_learning_duplicate_detection_enabled": "Luba duplikaatide leidmine",
+ "machine_learning_duplicate_detection_enabled_description": "Kui keelatud, dedubleeritakse siiski täpselt identsed üksused.",
+ "machine_learning_duplicate_detection_setting_description": "Kasuta CLIP-manuseid, et leida tõenäoliseid duplikaate",
+ "machine_learning_enabled": "Luba masinõpe",
+ "machine_learning_enabled_description": "Kui keelatud, lülitatakse kõik masinõppe funktsioonid välja, sõltumata allolevatest seadetest.",
+ "machine_learning_facial_recognition": "Näotuvastus",
+ "machine_learning_facial_recognition_description": "Avasta, tuvasta ja grupeeri piltidel näod",
+ "machine_learning_facial_recognition_model": "Näotuvastuse mudel",
+ "machine_learning_facial_recognition_model_description": "Mudelid on järjestatud suuruse järgi kahanevalt. Suuremad mudelid on aeglasemad ja kasutavad rohkem mälu, kuid annavad parema tulemuse. Mudeli muutmisel tuleb näoavastuse tööde kõigi piltide peal uuesti käivitada.",
+ "machine_learning_facial_recognition_setting": "Luba näotuvastus",
+ "machine_learning_facial_recognition_setting_description": "Kui keelatud, siis ei kodeerita pilte näotuvastuse jaoks ning isikute sektsioon Avasta lehel jääb tühjaks.",
+ "machine_learning_max_detection_distance": "Maksimaalne avastuskaugus",
+ "machine_learning_max_detection_distance_description": "Maksimaalne kaugus kahe pildi vahel, mille puhul loetakse nad duplikaatideks, vahemikus 0.001-0.1. Kõrgemad väärtused leiavad rohkem duplikaate, aga võib esineda valepositiivseid.",
+ "machine_learning_max_recognition_distance": "Maksimaalne tuvastuskaugus",
+ "machine_learning_max_recognition_distance_description": "Maksimaalne kaugus kahe näo vahel, mida tuleks lugeda samaks isikuks, vahemikus 0-2. Selle vähendamine aitab vältida erinevate inimeste samaks isikuks märkimist ja tõstmine aitab vältida sama inimese kaheks erinevaks isikuks märkimist. Pane tähele, et kaht isikut ühendada on lihtsam kui üht isikut kaheks eraldada, seega võimalusel kasuta madalamat lävendit.",
+ "machine_learning_min_detection_score": "Minimaalne avastusskoor",
+ "machine_learning_min_detection_score_description": "Minimaalne usaldusskoor näo avastamiseks, vahemikus 0-1. Madalamad väärtused leiavad rohkem nägusid, kuid võib esineda valepositiivseid.",
+ "machine_learning_min_recognized_faces": "Minimaalne tuvastatud nägude arv",
+ "machine_learning_min_recognized_faces_description": "Minimaalne tuvastatud nägude arv, mida saab isikuks grupeerida. Selle suurendamine teeb näotuvastuse täpsemaks, kuid suureneb tõenäosus, et nägu ei seostata ühegi isikuga.",
+ "machine_learning_settings": "Masinõppe seaded",
+ "machine_learning_settings_description": "Halda masinõppe funktsioone ja seadeid",
+ "machine_learning_smart_search": "Nutiotsing",
+ "machine_learning_smart_search_description": "Otsi pilte semantiliselt CLIP-manuste abil",
+ "machine_learning_smart_search_enabled": "Luba nutiotsing",
+ "machine_learning_smart_search_enabled_description": "Kui keelatud, siis ei kodeerita pilte nutiotsingu jaoks.",
+ "machine_learning_url_description": "Masinõppe serveri URL",
+ "manage_concurrency": "Halda samaaegsust",
+ "manage_log_settings": "Halda logi seadeid",
+ "map_dark_style": "Tume stiil",
+ "map_enable_description": "Luba kaardi funktsioonid",
+ "map_gps_settings": "Kaardi ja GPS-i seaded",
+ "map_gps_settings_description": "Halda kaardi ja GPS-i (pöördgeokodeerimise) seadeid",
+ "map_implications": "Kaardifunktsioon kasutab välist kaarditeenust (tiles.immich.cloud)",
+ "map_light_style": "Hele stiil",
+ "map_manage_reverse_geocoding_settings": "Halda pöördgeokodeerimise seadeid",
+ "map_reverse_geocoding": "Pöördgeokodeerimine",
+ "map_reverse_geocoding_enable_description": "Luba pöördgeokodeerimine",
+ "map_reverse_geocoding_settings": "Pöördgeokodeerimise seaded",
+ "map_settings": "Kaart",
+ "map_settings_description": "Halda kaardi seadeid",
+ "map_style_description": "Kaarditeema style.json URL",
+ "metadata_extraction_job": "Metaandmete eraldamine",
+ "metadata_extraction_job_description": "Eralda igast üksusest metaandmed, nagu GPS-koordinaadid, näod ja resolutsioon",
+ "metadata_faces_import_setting": "Luba nägude import",
+ "metadata_faces_import_setting_description": "Impordi näod piltide EXIF andmetest ja välistest failidest",
+ "metadata_settings": "Metaandmete seaded",
+ "metadata_settings_description": "Halda metaandmete seadeid",
+ "migration_job": "Migratsioon",
+ "migration_job_description": "Migreeri üksuste ja nägude pisipildid uusimale kaustastruktuurile",
+ "no_paths_added": "Ühtegi teed pole",
+ "no_pattern_added": "Mustreid ei ole",
+ "note_apply_storage_label_previous_assets": "Märkus: Et rakendada talletussilt varem üleslaaditud üksustele, käivita",
+ "note_cannot_be_changed_later": "MÄRKUS: Seda ei saa hiljem muuta!",
+ "note_unlimited_quota": "Märkus: Piiramatu kvoodi jaoks sisesta 0",
+ "notification_email_from_address": "Saatja aadress",
+ "notification_email_from_address_description": "Saatja e-posti aadress, näiteks: \"Immich Photo Server {label}
on kasutaja talletussilt",
+ "system_settings": "Süsteemi seaded",
+ "tag_cleanup_job": "Siltide korrastamine",
+ "theme_custom_css_settings": "Kohandatud CSS",
+ "theme_custom_css_settings_description": "Cascading Style Sheets lubab Immich'i kujunduse kohandamist.",
+ "theme_settings": "Teema seaded",
+ "theme_settings_description": "Halda Immich'i veebiliidese kohandamist",
+ "these_files_matched_by_checksum": "Need failid ühtivad kontrollsumma alusel",
+ "thumbnail_generation_job": "Pisipiltide genereerimine",
+ "thumbnail_generation_job_description": "Genereeri iga üksuse kohta suur, väike ja udustatud pisipilt ning iga isiku kohta pisipilt",
+ "transcoding_acceleration_api": "Kiirenduse API",
+ "transcoding_acceleration_api_description": "API, mis suhtleb su seadmega transkodeerimise kiirendamiseks. See seadistus on 'anname parima': ebaõnnestumisel kasutatakse tarkvaralist transkodeerimist. VP9 ei pruugi töötada, sõltuvalt riistvarast.",
+ "transcoding_acceleration_nvenc": "NVENC (vajab NVIDIA GPU-d)",
+ "transcoding_acceleration_qsv": "Quick Sync (vajab Inteli 7. põlvkonna või uuemat CPU-d)",
+ "transcoding_acceleration_rkmpp": "RKMPP (ainult Rockchip SOC-d)",
+ "transcoding_acceleration_vaapi": "VAAPI",
+ "transcoding_accepted_audio_codecs": "Lubatud audiokoodekid",
+ "transcoding_accepted_audio_codecs_description": "Vali, millised audiokoodekid ei vaja transkodeerimist. Kasutusel ainult teatud transkodeerimisreeglite puhul.",
+ "transcoding_accepted_containers": "Lubatud konteinerid",
+ "transcoding_accepted_containers_description": "Vali, millised konteineriformaadid ei vaja MP4-ks teisendamist. Kasutusel ainult teatud transkodeerimisreeglite puhul.",
+ "transcoding_accepted_video_codecs": "Lubatud videokoodekid",
+ "transcoding_accepted_video_codecs_description": "Vali, millised videokoodekid ei vaja transkodeerimist. Kasutusel ainult teatud transkodeerimisreeglite puhul.",
+ "transcoding_advanced_options_description": "Valikud, mida enamik kasutajaid ei pea muutma",
+ "transcoding_audio_codec": "Audiokoodek",
+ "transcoding_audio_codec_description": "Opus on kõrgeima kvaliteediga valik, aga on vähem ühilduv vanade seadmete või tarkvaraga.",
+ "transcoding_bitrate_description": "Kõrgema kui lubatud bitisagedusega või mittelubatud formaadis videod",
+ "transcoding_codecs_learn_more": "Siin kasutatud terminoloogia kohta rohkem teada saamiseks loe FFmpeg-i dokumentatsiooni docker-compose.yml
ja .env
failid on ajakohased, et vältida konfiguratsiooniprobleeme, eriti kui kasutad WatchTower'it või muud mehhanismi, mis rakendust automaatselt uuendab.",
+ "version_history": "Versiooniajalugu",
+ "version_history_item": "Versioon {version} paigaldatud {date}",
+ "video": "Video",
+ "video_hover_setting": "Esita hõljutamisel video eelvaade",
+ "video_hover_setting_description": "Esita video eelvaade, kui hiirt selle kohal hõljutada. Isegi kui keelatud, saab taasesituse alustada taasesitusnupu kohal hõljutades.",
+ "videos": "Videod",
+ "videos_count": "{count, plural, one {# video} other {# videot}}",
+ "view": "Vaade",
+ "view_album": "Vaata albumit",
+ "view_all": "Vaata kõiki",
+ "view_all_users": "Vaata kõiki kasutajaid",
+ "view_in_timeline": "Vaata ajajoonel",
+ "view_links": "Vaata linke",
+ "view_next_asset": "Vaata järgmist üksust",
+ "view_previous_asset": "Vaata eelmist üksust",
+ "view_stack": "Vaata virna",
+ "visibility_changed": "{count, plural, one {# isiku} other {# isiku}} nähtavus muudetud",
+ "waiting": "Ootel",
+ "warning": "Hoiatus",
+ "week": "Nädal",
+ "welcome": "Tere tulemast",
+ "welcome_to_immich": "Tere tulemast Immich'isse",
+ "year": "Aasta",
+ "years_ago": "{years, plural, one {# aasta} other {# aastat}} tagasi",
+ "yes": "Jah",
+ "you_dont_have_any_shared_links": "Sul pole ühtegi jagatud linki",
+ "zoom_image": "Suumi pilti"
+}
diff --git a/web/src/lib/i18n/fa.json b/i18n/fa.json
similarity index 68%
rename from web/src/lib/i18n/fa.json
rename to i18n/fa.json
index f410cfb14e..7c0fba9f35 100644
--- a/web/src/lib/i18n/fa.json
+++ b/i18n/fa.json
@@ -144,7 +144,7 @@
"note_cannot_be_changed_later": "توجه: این را نمی توان بعداً تغییر داد!",
"note_unlimited_quota": "توجه: برای سهمیه نامحدود، عدد 0 را وارد کنید",
"notification_email_from_address": "آدرس فرستنده",
- "notification_email_from_address_description": "آدرس ایمیل فرستنده، به عنوان مثال:\"Immich سرور عکس {label}
برچسب ذخیرهسازی کاربر است",
+ "system_settings": "تنظیمات سیستم",
+ "theme_custom_css_settings": "CSS سفارشی",
+ "theme_custom_css_settings_description": "برگههای سبک آبشاری (CSS) امکان سفارشیسازی طراحی Immich را فراهم میکنند.",
+ "theme_settings": "تنظیمات پوسته",
+ "theme_settings_description": "مدیریت سفارشیسازی رابط کاربری وب Immich",
+ "these_files_matched_by_checksum": "این فایلها با استفاده از چکسامهایشان مطابقت دارند",
+ "thumbnail_generation_job": "ایجاد تصاویر بندانگشتی",
+ "thumbnail_generation_job_description": "ایجاد تصاویر بندانگشتی بزرگ، کوچک و تار برای هر دارایی، همچنین تصاویر بندانگشتی برای هر فرد",
+ "transcoding_acceleration_api": "API شتابدهنده",
+ "transcoding_acceleration_api_description": "API که با دستگاه شما تعامل خواهد داشت تا فرایند تبدیل (ترنسکودینگ) را تسریع کند. این تنظیم بهصورت «بهترین تلاش» عمل میکند: در صورت شکست، به تبدیل نرمافزاری بازمیگردد. عملکرد VP9 بسته به سختافزار شما ممکن است کار کند یا نکند.",
+ "transcoding_acceleration_nvenc": "NVENC ( کارت گرافیک NVIDIA لازم است )",
+ "transcoding_acceleration_qsv": "همگام سازی سریع (نیاز به پردازنده اینتل نسل هفتم یا بالاتر)",
+ "transcoding_acceleration_rkmpp": "RKMPP (فقط بر روی Rockchip SOCs)",
+ "transcoding_acceleration_vaapi": "VAAPI",
+ "transcoding_accepted_audio_codecs": "کدکهای صوتی پذیرفته شده",
+ "transcoding_accepted_audio_codecs_description": "انتخاب کدکهای صوتی که نیازی به تبدیل (ترنسکود) ندارند. فقط برای برخی سیاستهای رمزگشایی استفاده میشود.",
+ "transcoding_accepted_containers": "کانتینرهای پذیرفته شده",
+ "transcoding_accepted_containers_description": "انتخاب قالبهای محتوایی که نیازی به تغییر به MP4 ندارند. فقط برای برخی سیاستهای رمزگشایی استفاده میشود.",
+ "transcoding_accepted_video_codecs": "کدکهای ویدیویی پذیرفته شده",
+ "transcoding_accepted_video_codecs_description": "انتخاب کدکهای ویدیویی که نیازی به تبدیل (ترنسکود) ندارند. فقط برای برخی سیاستهای رمزگشایی استفاده میشود.",
+ "transcoding_advanced_options_description": "گزینههایی که بیشتر کاربران نیازی به تغییر آنها ندارند",
+ "transcoding_audio_codec": "کدک صوتی",
+ "transcoding_audio_codec_description": "OPUS بهترین گزینه از نظر کیفیت است، اما با دستگاهها یا نرمافزارهای قدیمیتر سازگاری کمتری دارد.",
+ "transcoding_bitrate_description": "ویدیوهایی که بالاتر از حداکثر بیتریت هستند یا در فرمت پذیرفته شده نیستند",
+ "transcoding_codecs_learn_more": "برای آشنایی بیشتر با اصطلاحات استفاده شده در اینجا، به مستندات FFmpeg برای کدکهای {label}
on käyttäjän Tallennustilan Tunniste",
"system_settings": "Järjestelmäasetukset",
+ "tag_cleanup_job": "Merkintäpuhdistus",
"theme_custom_css_settings": "Mukautettu CSS",
- "theme_custom_css_settings_description": "Kustomoi Immichin ulkoasua Cascading Style Sheets:llä.",
+ "theme_custom_css_settings_description": "Mukauta Immichin ulkoasua CSS:llä.",
"theme_settings": "Teeman asetukset",
"theme_settings_description": "Kustomoi Immichin web-käyttöliittymää",
"these_files_matched_by_checksum": "Näillä tiedostoilla on yhteinen tarkistussumma",
@@ -243,21 +270,24 @@
"transcoding_acceleration_vaapi": "VAAPI",
"transcoding_accepted_audio_codecs": "Sallitut äänikoodekit",
"transcoding_accepted_audio_codecs_description": "Valitse mitä äänikoodekkeja ei tarvitse muuntaa. Käytetään vain tiettyjen koodauskäytäntöjen kanssa.",
+ "transcoding_accepted_containers": "Hyväksytyt kontit",
+ "transcoding_accepted_containers_description": "Valitse, mitä formaatteja ei tarvitse kääntää MP4- muotoon. Käytössä vain tietyille muunnos säännöille.",
"transcoding_accepted_video_codecs": "Sallitut videokoodekit",
"transcoding_accepted_video_codecs_description": "Valitse mitä videokoodekkeja ei tarvitse muuntaa. Käytetään vain tiettyjen koodauskäytäntöjen kanssa.",
"transcoding_advanced_options_description": "Asetukset, joita useimpien käyttäjien ei tulisi muuttaa",
"transcoding_audio_codec": "Äänikoodekki",
"transcoding_audio_codec_description": "Opus on paras laadultaan, mutta ei välttämättä ole yhteensopiva vanhempien laitteiden tai sovellusten kanssa.",
"transcoding_bitrate_description": "Videot, jotka ylittävät enimmäisbittinopeuden tai eivät ole hyväksytyssä muodossa",
+ "transcoding_codecs_learn_more": "Oppiaksesi lisää käytetystä terminologiasta, tutustu FFmpeg-dokumentaatioon: docker-compose.yml
ja .env
määritykset ovat ajan tasalla. Näin varmistat järjestelmän toimivuuden, varsinkin jos käytät WatchToweria tai muuta automaattista päivitysjärjestelmää.",
+ "version_history": "Versiohistoria",
+ "version_history_item": "Asennettu {version} päivänä {date}",
"video": "Video",
"video_hover_setting": "Toista esikatselun video kun kursori viedään sen päälle",
"video_hover_setting_description": "Toista videon esikatselukuva kun kursori on kuvan päällä. Vaikka toiminto on pois käytöstä, toiston voi aloittaa viemällä kursori toistokuvakkeen päälle.",
@@ -1100,6 +1351,7 @@
"view_album": "Näytä albumi",
"view_all": "Näytä kaikki",
"view_all_users": "Näytä kaikki käyttäjät",
+ "view_in_timeline": "Näytä aikajanalla",
"view_links": "Näytä linkit",
"view_next_asset": "Näytä seuraava",
"view_previous_asset": "Näytä edellinen",
diff --git a/web/src/lib/i18n/fr.json b/i18n/fr.json
similarity index 87%
rename from web/src/lib/i18n/fr.json
rename to i18n/fr.json
index 5cae4b6ecf..781f801bb9 100644
--- a/web/src/lib/i18n/fr.json
+++ b/i18n/fr.json
@@ -14,7 +14,7 @@
"add_a_name": "Ajouter un nom",
"add_a_title": "Ajouter un titre",
"add_exclusion_pattern": "Ajouter un schéma d'exclusion",
- "add_import_path": "Ajouter un chemin d'import",
+ "add_import_path": "Ajouter un chemin à importer",
"add_location": "Ajouter un lieu",
"add_more_users": "Ajouter plus d'utilisateurs",
"add_partner": "Ajouter un partenaire",
@@ -28,6 +28,7 @@
"added_to_favorites_count": "{count, number} ajouté(s) aux favoris",
"admin": {
"add_exclusion_pattern_description": "Ajouter des schémas d'exclusion. Les caractères génériques *, ** et ? sont pris en charge. Pour ignorer tous les fichiers dans un répertoire nommé « Raw », utilisez « **/Raw/** ». Pour ignorer tous les fichiers se terminant par « .tif », utilisez « **/*.tif ». Pour ignorer un chemin absolu, utilisez « /chemin/à/ignorer/** ».",
+ "asset_offline_description": "Ce média de la bibliothèque externe n'est plus présent sur le disque et a été déplacé vers la corbeille. Si le fichier a été déplacé dans la bibliothèque, vérifiez votre chronologie pour le nouveau média correspondant. Pour restaurer ce média, veuillez vous assurer que le chemin du fichier ci-dessous peut être accédé par Immich et lancez l'analyse de la bibliothèque.",
"authentication_settings": "Paramètres d'authentification",
"authentication_settings_description": "Gérer le mot de passe, la délégation d'authentification OAuth et d'autres paramètres d'authentification",
"authentication_settings_disable_all": "Êtes-vous sûr de vouloir désactiver toutes les méthodes de connexion ? La connexion sera complètement désactivée.",
@@ -41,6 +42,7 @@
"confirm_email_below": "Pour confirmer, tapez « {email} » ci-dessous",
"confirm_reprocess_all_faces": "Êtes-vous sûr de vouloir retraiter tous les visages ? Cela effacera également les personnes déjà identifiées.",
"confirm_user_password_reset": "Êtes-vous sûr de vouloir réinitialiser le mot de passe de {user} ?",
+ "create_job": "Créer une tâche",
"crontab_guru": "Générateur de règles Cron",
"disable_login": "Désactiver la connexion",
"disabled": "Désactivé",
@@ -49,27 +51,37 @@
"external_library_created_at": "Bibliothèque externe (créée le {date})",
"external_library_management": "Gestion de la bibliothèque externe",
"face_detection": "Détection des visages",
- "face_detection_description": "Détection des visages dans les médias à l'aide de l'apprentissage automatique. Pour les vidéos, seule la miniature est prise en compte. « Tout » (re)traite tous les médias. « Manquant » met en file d'attente les médias qui n'ont pas encore été traités. Les visages détectés seront mis en file d'attente pour la reconnaissance faciale une fois la détection des visages terminée, les regroupant en personnes existantes ou nouvelles.",
- "facial_recognition_job_description": "Regrouper les visages détectés en personnes. Cette étape est exécutée une fois la détection des visages terminée. « Tout » (re)regroupe tous les visages. « Manquant » met en file d'attente les visages auxquels aucune personne n'a été attribuée.",
+ "face_detection_description": "Détection des visages dans les médias à l'aide de l'apprentissage automatique. Pour les vidéos, seule la miniature est prise en compte. « Rafraichir» (re)traite tous les médias. « Réinitialise» met en file d'attente les médias qui n'ont pas encore été traités. Les visages détectés seront mis en file d'attente pour la reconnaissance faciale une fois la détection des visages terminée, les regroupant en personnes existantes ou nouvelles.",
+ "facial_recognition_job_description": "Regrouper les visages détectés en personnes. Cette étape est exécutée une fois la détection des visages terminée. « Rafraichir» (re)regroupe tous les visages. « Manquant» met en file d'attente les visages auxquels aucune personne n'a été attribuée.",
"failed_job_command": "La commande {command} a échoué pour la tâche : {job}",
"force_delete_user_warning": "ATTENTION : Cette opération entraîne la suppression immédiate de l'utilisateur et de tous ses médias. Cette opération ne peut être annulée et les fichiers ne peuvent être récupérés.",
"forcing_refresh_library_files": "Forcer le rafraîchissement de tous les fichiers de la bibliothèque",
+ "image_format": "Format",
"image_format_description": "WebP produit des fichiers plus petits que JPEG, mais son encodage est plus lent.",
"image_prefer_embedded_preview": "Préférer l'aperçu intégré",
"image_prefer_embedded_preview_setting_description": "Utiliser les miniatures intégrées dans les photos au format RAW comme entrées pour le traitement d'image quand elles sont disponibles. Cela peut donner des couleurs plus justes pour certaines images, mais la qualité des miniatures est dépendant de l'appareil photo et l'image peut avoir des artéfacts de compression.",
"image_prefer_wide_gamut": "Préférer une gamme de couleurs étendue",
- "image_prefer_wide_gamut_setting_description": "Utiliser Display P3 pour les miniatures. Cela préserve mieux la vibrance des images avec des espaces colorimétriques étendus, mais les images peuvent apparaître différemment sur les anciens appareils avec une ancienne version du navigateur. Conserver les images sRGB en sRGB pour éviter les décalages de couleur.",
+ "image_prefer_wide_gamut_setting_description": "Utiliser Display P3 pour les miniatures. Cela préserve mieux la vivacité des images avec des espaces colorimétriques étendus, mais les images peuvent apparaître différemment sur les anciens appareils avec une ancienne version du navigateur. Conserver les images sRGB en sRGB pour éviter les décalages de couleur.",
+ "image_preview_description": "Image de taille moyenne avec métadonnées retirées, utilisée lors de la visualisation d'un seul média et pour l'apprentissage automatique",
"image_preview_format": "Format des aperçus",
+ "image_preview_quality_description": "Qualité de l'aperçu : de 1 à 100. Une valeur plus élevée produit de meilleurs résultats, mais elle produit des fichiers plus volumineux et peut réduire la réactivité de l'application. Une valeur trop basse peut affecter la qualité de l'apprentissage automatique.",
"image_preview_resolution": "Résolution des aperçus",
"image_preview_resolution_description": "Utilisé lors de l'affichage d'une seule photo et pour l'apprentissage automatique. Des résolutions plus élevées peuvent préserver plus de détails mais prennent plus de temps à encoder, ont des tailles de fichiers plus importantes et peuvent réduire la réactivité de l'application.",
+ "image_preview_title": "Paramètres de prévisualisation",
"image_quality": "Qualité",
"image_quality_description": "Qualité d'image de 1 à 100. Une valeur plus élevée offre une meilleure qualité mais produit des fichiers plus volumineux. Cette option affecte les images d'aperçu et de miniature.",
+ "image_resolution": "Résolution",
+ "image_resolution_description": "Les résolutions plus élevées permettent de préserver davantage de détails, mais l'encodage est plus long, les fichiers sont plus volumineux et la réactivité de l'application peut s'en trouver réduite.",
"image_settings": "Paramètres d'image",
- "image_settings_description": "Gérer la qualité et la résolution des images générées",
+ "image_settings_description": "Gestion de la qualité et résolution des images générées",
+ "image_thumbnail_description": "Petite vignette avec métadonnées retirées, utilisée lors de la visualisation de groupes de photos comme sur la vue chronologique principale",
"image_thumbnail_format": "Format des miniatures",
+ "image_thumbnail_quality_description": "Qualité des vignettes : de 1 à 100. Une valeur élevée produit de meilleurs résultats, mais elle produit des fichiers plus volumineux et peut réduire la réactivité de l'application.",
"image_thumbnail_resolution": "Résolution des miniatures",
- "image_thumbnail_resolution_description": "Utilisée lors du visionnage de groupes de photos (vue principale, albums, etc.). Une résolution plus élevée préserve davantage de détails, mais est plus longue à encoder, produit des fichiers plus lourds, et peut réduire la réactivité de l'application.",
+ "image_thumbnail_resolution_description": "Utilisée lors du visionnage de groupes de photos (vue chronologique principale, albums, etc.). Une résolution plus élevée préserve davantage de détails, mais est plus longue à encoder, produit des fichiers plus lourds, et peut réduire la réactivité de l'application.",
+ "image_thumbnail_title": "Paramètres des vignettes",
"job_concurrency": "{job} : nombre de tâches simultanées",
+ "job_created": "Tâche créée",
"job_not_concurrency_safe": "Cette tâche ne peut pas être exécutée en multitâche de façon sûre.",
"job_settings": "Paramètres des tâches",
"job_settings_description": "Gestion des tâches simultanées",
@@ -79,14 +91,14 @@
"library_created": "Bibliothèque créée : {library}",
"library_cron_expression": "Expression Cron",
"library_cron_expression_description": "Réglez l'intervalle d'analyse en utilisant le format cron. Pour plus d'informations, veuillez consulter par exemple Crontab Guru",
- "library_cron_expression_presets": "Expressions Cron enregistrées",
+ "library_cron_expression_presets": "Préréglages d'expressions Cron",
"library_deleted": "Bibliothèque supprimée",
"library_import_path_description": "Spécifier un dossier à importer. Ce dossier, y compris les sous-dossiers, sera analysé à la recherche d'images et de vidéos.",
"library_scanning": "Analyse périodique",
"library_scanning_description": "Configurer l'analyse périodique de la bibliothèque",
"library_scanning_enable_description": "Activer l'analyse périodique de la bibliothèque",
"library_settings": "Bibliothèque externe",
- "library_settings_description": "Gérer les paramètres de bibliothèque externe",
+ "library_settings_description": "Gestion des paramètres des bibliothèques externes",
"library_tasks_description": "Exécution d'actions sur la bibliothèque",
"library_watching_enable_description": "Surveiller les modifications de fichiers dans les bibliothèques externes",
"library_watching_settings": "Surveillance de bibliothèque (EXPÉRIMENTAL)",
@@ -129,25 +141,30 @@
"map_enable_description": "Activer la carte",
"map_gps_settings": "Paramètres de la carte et GPS",
"map_gps_settings_description": "Gérer les paramètres de la Carte & GPS",
+ "map_implications": "La carte repose sur un service de tuiles externe (tiles.immich.cloud)",
"map_light_style": "Thème clair",
"map_manage_reverse_geocoding_settings": "Gérer les paramètres de géocodage inversé",
"map_reverse_geocoding": "Géocodage inversé",
"map_reverse_geocoding_enable_description": "Activer le géocodage inversé",
"map_reverse_geocoding_settings": "Paramètres de géocodage inversé",
- "map_settings": "Paramètres de la carte",
+ "map_settings": "Carte",
"map_settings_description": "Gérer les paramètres de la carte",
"map_style_description": "URL vers un thème de carte au format style.json",
"metadata_extraction_job": "Extraction des métadonnées",
- "metadata_extraction_job_description": "Extraction des informations des métadonnées de chaque média, telles que la position GPS et la résolution",
+ "metadata_extraction_job_description": "Extraction des informations des métadonnées de chaque média, telles que la position GPS, les visages et la résolution",
+ "metadata_faces_import_setting": "Active l'importation des visages",
+ "metadata_faces_import_setting_description": "Importation de visages à partir des données EXIF des images et de fichiers sidecar",
+ "metadata_settings": "Paramètres des métadonnées",
+ "metadata_settings_description": "Gestion des paramètres de métadonnées",
"migration_job": "Migration",
"migration_job_description": "Migration des miniatures pour les médias et les visages vers la dernière structure de dossiers",
"no_paths_added": "Aucun chemin n'a été ajouté",
"no_pattern_added": "Aucun schéma d'exclusion n'a été ajouté",
- "note_apply_storage_label_previous_assets": "Remarque : pour appliquer l'étiquette de stockage à des médias précédemment téléversés, exécutez la commande",
+ "note_apply_storage_label_previous_assets": "Remarque : pour appliquer l'étiquette de stockage à des médias précédemment envoyés, exécutez la commande",
"note_cannot_be_changed_later": "REMARQUE : Il n'est pas possible de modifier ce paramètre ultérieurement !",
"note_unlimited_quota": "Note : saisir 0 pour un quota illimité",
"notification_email_from_address": "Depuis l'adresse",
- "notification_email_from_address_description": "Adresse courriel de l'expéditeur, par exemple : « Serveur de photos Immich {label}
est l'étiquette de stockage de l'utilisateur",
"system_settings": "Paramètres du système",
+ "tag_cleanup_job": "Nettoyage des étiquettes",
"theme_custom_css_settings": "CSS personnalisé",
"theme_custom_css_settings_description": "Les feuilles de style en cascade (CSS) permettent de personnaliser l'apparence d'Immich.",
"theme_settings": "Paramètres du thème",
@@ -266,7 +287,7 @@
"transcoding_hardware_acceleration": "Accélération matérielle",
"transcoding_hardware_acceleration_description": "Expérimental ; beaucoup plus rapide, mais aura une qualité inférieure pour un même débit binaire",
"transcoding_hardware_decoding": "Décodage matériel",
- "transcoding_hardware_decoding_setting_description": "S'applique uniquement à NVENC, QSV et RKMPP. Active l'accélération de bout en bout au lieu d'accélérer uniquement l'encodage. Peut ne pas fonctionner sur toutes les vidéos.",
+ "transcoding_hardware_decoding_setting_description": "Active l'accélération de bout en bout au lieu d'accélérer uniquement l'encodage. Peut ne pas fonctionner sur toutes les vidéos.",
"transcoding_hevc_codec": "Codec HEVC",
"transcoding_max_b_frames": "Nombre maximum de trames B",
"transcoding_max_b_frames_description": "Des valeurs plus élevées améliorent l'efficacité de la compression, mais ralentissent l'encodage. Elles peuvent ne pas être compatibles avec l'accélération matérielle sur les anciens appareils. Une valeur de 0 désactive les trames B, tandis qu'une valeur de -1 définit automatiquement ce paramètre.",
@@ -278,7 +299,7 @@
"transcoding_preferred_hardware_device": "Matériel préféré",
"transcoding_preferred_hardware_device_description": "S'applique uniquement à VAAPI et QSV. Définit le nœud DRI utilisé pour le transcodage matériel.",
"transcoding_preset_preset": "Présélection (-preset)",
- "transcoding_preset_preset_description": "Vitesse de compression. Les préréglages les plus lents produisent des fichiers plus petits, et augmentent la qualité lorsque l'on vise un certain débit. Le codec vidéo VP9 ignore les vitesses supérieures à « rapide (faster) ».",
+ "transcoding_preset_preset_description": "Vitesse de compression. Les préréglages les plus lents produisent des fichiers plus petits, et augmentent la qualité lorsqu'un certain débit est défini. Le codec vidéo VP9 ignore les vitesses supérieures à « rapide (faster) ».",
"transcoding_reference_frames": "Trames de référence",
"transcoding_reference_frames_description": "Le nombre d'images à prendre en référence lors de la compression d'une image donnée. Des valeurs élevées améliorent l'efficacité de la compression, mais ralentissent l'encodage. 0 fixe cette valeur automatiquement.",
"transcoding_required_description": "Seulement les vidéos dans un format non accepté",
@@ -306,7 +327,8 @@
"trash_settings": "Corbeille",
"trash_settings_description": "Gérer les paramètres de la corbeille",
"untracked_files": "Fichiers non suivis",
- "untracked_files_description": "Ces fichiers ne sont pas suivis par l'application. Ils peuvent être le résultat d'erreurs de déplacement, téléchargements interrompus, ou abandons en raison d'un bug",
+ "untracked_files_description": "Ces fichiers ne sont pas suivis par l'application. Ils peuvent être le résultat d'erreurs de déplacement, d'envois interrompus, ou d'abandons en raison d'un bug",
+ "user_cleanup_job": "Nettoyage des utilisateurs",
"user_delete_delay": "La suppression définitive du compte et des médias de {user} sera programmée dans {delay, plural, one {# jour} other {# jours}}.",
"user_delete_delay_settings": "Délai de suppression",
"user_delete_delay_settings_description": "Nombre de jours après la validation pour supprimer définitivement le compte et les médias d'un utilisateur. La suppression des utilisateurs se lance à minuit. Les modifications apportées à ce paramètre seront pris en compte lors de la prochaine exécution.",
@@ -314,13 +336,14 @@
"user_delete_immediately_checkbox": "Mise en file d'attente d'un utilisateur et de médias en vue d'une suppression immédiate",
"user_management": "Gestion des utilisateurs",
"user_password_has_been_reset": "Le mot de passe de l'utilisateur a été réinitialisé :",
- "user_password_reset_description": "Veuillez saisir un mot de passe temporaire à l'utilisateur et informez-le qu'il devra le changer à sa première connexion.",
+ "user_password_reset_description": "Veuillez fournir le mot de passe temporaire à l'utilisateur et informez-le qu'il devra le changer à sa première connexion.",
"user_restore_description": "Le compte de {user} sera restauré.",
"user_restore_scheduled_removal": "Restaurer l'utilisateur - suppression programmée le {date, date, long}",
"user_settings": "Paramètres utilisateur",
"user_settings_description": "Gérer les paramètres utilisateur",
"user_successfully_removed": "L'utilisateur {email} a bien été supprimé.",
- "version_check_enabled_description": "Activer la vérification périodique de nouvelle version sur GitHub",
+ "version_check_enabled_description": "Activer la vérification périodique de nouvelle version",
+ "version_check_implications": "Le contrôle de version repose sur une communication périodique avec github.com",
"version_check_settings": "Vérification de la version",
"version_check_settings_description": "Gérer la vérification de nouvelle version d'Immich",
"video_conversion_job": "Transcodage des vidéos",
@@ -336,7 +359,8 @@
"album_added": "Album ajouté",
"album_added_notification_setting_description": "Recevoir une notification par courriel lorsque vous êtes ajouté(e) à un album partagé",
"album_cover_updated": "Couverture de l'album mise à jour",
- "album_delete_confirmation": "Êtes-vous sûr de vouloir supprimer l'album {album} ?\nSi cet album est partagé, les autres utilisateurs ne pourront plus y accéder.",
+ "album_delete_confirmation": "Êtes-vous sûr de vouloir supprimer l'album {album} ?",
+ "album_delete_confirmation_description": "Si cet album est partagé, les autres utilisateurs ne pourront plus y accéder.",
"album_info_updated": "Détails de l'album mis à jour",
"album_leave": "Quitter l'album ?",
"album_leave_confirmation": "Êtes-vous sûr de vouloir quitter l'album {album} ?",
@@ -359,7 +383,8 @@
"allow_dark_mode": "Autoriser le mode sombre",
"allow_edits": "Autoriser les modifications",
"allow_public_user_to_download": "Permettre aux utilisateurs non connectés de télécharger",
- "allow_public_user_to_upload": "Permettre aux utilisateurs non connectés de téléverser",
+ "allow_public_user_to_upload": "Permettre l'envoi aux utilisateurs non connectés",
+ "anti_clockwise": "Sens anti-horaire",
"api_key": "Clé API",
"api_key_description": "Cette valeur ne sera affichée qu'une seule fois. Assurez-vous de la copier avant de fermer la fenêtre.",
"api_key_empty": "Le nom de votre clé API ne doit pas être vide",
@@ -381,10 +406,11 @@
"asset_has_unassigned_faces": "Le média a des visages non assignés",
"asset_hashing": "Hachage...",
"asset_offline": "Média hors ligne",
- "asset_offline_description": "Ce média est hors ligne. Immich ne peut pas accéder à son emplacement physique. Veuillez vous assurez que le média est disponible, puis relancez l'analyse de la bibliothèque.",
+ "asset_offline_description": "Ce média externe n'est plus accessible sur le disque. Veuillez contacter votre administrateur Immich pour obtenir de l'aide.",
"asset_skipped": "Sauté",
- "asset_uploaded": "Téléversé",
- "asset_uploading": "Chargement...",
+ "asset_skipped_in_trash": "À la corbeille",
+ "asset_uploaded": "Envoyé",
+ "asset_uploading": "Envoi...",
"assets": "Médias",
"assets_added_count": "{count, plural, one {# média ajouté} other {# médias ajoutés}}",
"assets_added_to_album_count": "{count, plural, one {# média ajouté} other {# médias ajoutés}} à l'album",
@@ -394,7 +420,7 @@
"assets_moved_to_trash_count": "{count, plural, one {# média déplacé} other {# médias déplacés}} dans la corbeille",
"assets_permanently_deleted_count": "{count, plural, one {# média supprimé} other {# médias supprimés}} définitivement",
"assets_removed_count": "{count, plural, one {# média supprimé} other {# médias supprimés}}",
- "assets_restore_confirmation": "Êtes-vous sûr de vouloir restaurer tous vos médias de la corbeille ? Vous ne pouvez pas annuler cette action !",
+ "assets_restore_confirmation": "Êtes-vous sûr de vouloir restaurer tous vos médias de la corbeille ? Vous ne pouvez pas annuler cette action ! Notez que les médias hors ligne ne peuvent être restaurés de cette façon.",
"assets_restored_count": "{count, plural, one {# média restauré} other {# médias restaurés}}",
"assets_trashed_count": "{count, plural, one {# média} other {# médias}} mis à la corbeille",
"assets_were_part_of_album_count": "{count, plural, one {Un média est} other {Des médias sont}} déjà dans l'album",
@@ -405,6 +431,7 @@
"birthdate_saved": "Date de naissance sauvée avec succès",
"birthdate_set_description": "La date de naissance est utilisée pour calculer l'âge de cette personne au moment où la photo a été prise.",
"blurred_background": "Arrière-plan flouté",
+ "bugs_and_feature_requests": "Bugs & demandes d'évolutions",
"build": "Version",
"build_image": "Image de la version",
"bulk_delete_duplicates_confirmation": "Êtes-vous sûr de vouloir supprimer {count, plural, one {# doublon} other {# doublons}} ? Cette opération conservera le plus grand média de chaque groupe et supprimera définitivement tous les autres doublons. Vous ne pouvez pas annuler cette action !",
@@ -441,13 +468,15 @@
"clear_all_recent_searches": "Supprimer les recherches récentes",
"clear_message": "Effacer le message",
"clear_value": "Effacer la valeur",
+ "clockwise": "Sens horaire",
"close": "Fermer",
"collapse": "Réduire",
"collapse_all": "Tout réduire",
- "color_theme": "Thème coloré",
+ "color": "Couleur",
+ "color_theme": "Thème de couleur",
"comment_deleted": "Commentaire supprimé",
"comment_options": "Options des commentaires",
- "comments_and_likes": "Commentaires et réactions « j'aime »",
+ "comments_and_likes": "Commentaires et \"j'aime\"",
"comments_are_disabled": "Les commentaires sont désactivés",
"confirm": "Confirmer",
"confirm_admin_password": "Confirmer le mot de passe Admin",
@@ -477,6 +506,8 @@
"create_new_person": "Créer une nouvelle personne",
"create_new_person_hint": "Attribuer les médias sélectionnés à une nouvelle personne",
"create_new_user": "Créer un nouvel utilisateur",
+ "create_tag": "Créer une étiquette",
+ "create_tag_description": "Créer une nouvelle étiquette. Pour les étiquettes imbriquées, veuillez entrer le chemin complet de l'étiquette, y compris les caractères \"/\".",
"create_user": "Créer un utilisateur",
"created": "Créé",
"current_device": "Appareil actuel",
@@ -500,13 +531,17 @@
"delete_library": "Supprimer la bibliothèque",
"delete_link": "Supprimer le lien",
"delete_shared_link": "Supprimer le lien partagé",
+ "delete_tag": "Supprimer l'étiquette",
+ "delete_tag_confirmation_prompt": "Êtes-vous sûr de vouloir supprimer l'étiquette {tagName} ?",
"delete_user": "Supprimer l'utilisateur",
"deleted_shared_link": "Lien partagé supprimé",
+ "deletes_missing_assets": "Supprimer les médias manquants du disque",
"description": "Description",
"details": "Détails",
"direction": "Direction",
"disabled": "Désactivé",
"disallow_edits": "Ne pas autoriser les modifications",
+ "discord": "Discord",
"discover": "Découvrir",
"dismiss_all_errors": "Ignorer toutes les erreurs",
"dismiss_error": "Ignorer l'erreur",
@@ -515,13 +550,16 @@
"display_original_photos": "Afficher les photos originales",
"display_original_photos_setting_description": "Préférer afficher la photo originale lors de la visualisation d'un média plutôt que sa miniature lorsque cela est possible. Cela peut entraîner des vitesses d'affichage plus lentes.",
"do_not_show_again": "Ne plus afficher ce message",
+ "documentation": "Documentation",
"done": "Terminé",
"download": "Télécharger",
+ "download_include_embedded_motion_videos": "Vidéos embarquées",
+ "download_include_embedded_motion_videos_description": "Inclure des vidéos intégrées dans les photos de mouvement comme un fichier séparé",
"download_settings": "Télécharger",
"download_settings_description": "Gérer les paramètres de téléchargement des médias",
"downloading": "Téléchargement",
"downloading_asset_filename": "Téléchargement du média {filename}",
- "drop_files_to_upload": "Déposer des fichiers n'importe où pour téléverser",
+ "drop_files_to_upload": "Déposez les fichiers n'importe où pour envoyer",
"duplicates": "Doublons",
"duplicates_description": "Examiner chaque groupe et indiquer s'il y a des doublons",
"duration": "Durée",
@@ -546,10 +584,15 @@
"edit_location": "Modifier la localisation",
"edit_name": "Modifier le nom",
"edit_people": "Modifier les personnes",
+ "edit_tag": "Modifier l'étiquette",
"edit_title": "Modifier le title",
"edit_user": "Modifier l'utilisateur",
"edited": "Modifié",
"editor": "Editeur",
+ "editor_close_without_save_prompt": "Les changements ne seront pas enregistrés",
+ "editor_close_without_save_title": "Fermer l'éditeur ?",
+ "editor_crop_tool_h2_aspect_ratios": "Rapports hauteur/largeur",
+ "editor_crop_tool_h2_rotation": "Rotation",
"email": "Courriel",
"empty": "",
"empty_album": "Album vide",
@@ -592,7 +635,7 @@
"failed_to_remove_product_key": "Échec de suppression de la clé du produit",
"failed_to_stack_assets": "Impossible d'empiler les médias",
"failed_to_unstack_assets": "Impossible de dépiler les médias",
- "import_path_already_exists": "Ce chemin d'import existe déjà.",
+ "import_path_already_exists": "Ce chemin d'importation existe déjà.",
"incorrect_email_or_password": "Courriel ou mot de passe incorrect",
"paths_validation_failed": "Validation échouée pour {paths, plural, one {# un chemin} other {# plusieurs chemins}}",
"profile_picture_transparent_pixels": "Les images de profil ne peuvent pas avoir de pixels transparents. Veuillez agrandir et/ou déplacer l'image.",
@@ -602,7 +645,7 @@
"unable_to_add_assets_to_shared_link": "Impossible d'ajouter des médias au lien partagé",
"unable_to_add_comment": "Impossible d'ajouter un commentaire",
"unable_to_add_exclusion_pattern": "Impossible d'ajouter un schéma d'exclusion",
- "unable_to_add_import_path": "Impossible d'ajouter un chemin d'import",
+ "unable_to_add_import_path": "Impossible d'ajouter le chemin d'importation",
"unable_to_add_partners": "Impossible d'ajouter des partenaires",
"unable_to_add_remove_archive": "Impossible {archived, select, true {de supprimer des médias de} other {d'ajouter des médias à}} l'archive",
"unable_to_add_remove_favorites": "Impossible {favorite, select, true {d'ajouter des médias aux} other {de supprimer des médias des}} favoris",
@@ -627,18 +670,19 @@
"unable_to_delete_asset": "Suppression du média impossible",
"unable_to_delete_assets": "Erreur lors de la suppression des médias",
"unable_to_delete_exclusion_pattern": "Suppression du modèle d'exclusion impossible",
- "unable_to_delete_import_path": "Suppression du chemin d'import impossible",
+ "unable_to_delete_import_path": "Suppression du chemin d'importation impossible",
"unable_to_delete_shared_link": "Suppression du lien de partage impossible",
"unable_to_delete_user": "Suppression de l'utilisateur impossible",
"unable_to_download_files": "Impossible de télécharger les fichiers",
"unable_to_edit_exclusion_pattern": "Modification du modèle d'exclusion impossible",
- "unable_to_edit_import_path": "Modification du chemin d'import impossible",
+ "unable_to_edit_import_path": "Modification du chemin d'importation impossible",
"unable_to_empty_trash": "Impossible de vider la corbeille",
"unable_to_enter_fullscreen": "Mode plein écran indisponible",
"unable_to_exit_fullscreen": "Sortie du mode plein écran impossible",
"unable_to_get_comments_number": "Impossible d'obtenir le nombre de commentaires",
"unable_to_get_shared_link": "Échec de la récupération du lien partagé",
"unable_to_hide_person": "Impossible de cacher la personne",
+ "unable_to_link_motion_video": "Impossible de lier la photo animée",
"unable_to_link_oauth_account": "Impossible de lier le compte OAuth",
"unable_to_load_album": "Impossible de charger l'album",
"unable_to_load_asset_activity": "Impossible de charger l'activité du média",
@@ -655,8 +699,8 @@
"unable_to_remove_api_key": "Impossible de supprimer la clé API",
"unable_to_remove_assets_from_shared_link": "Impossible de supprimer des médias du lien partagé",
"unable_to_remove_comment": "",
+ "unable_to_remove_deleted_assets": "Impossible de supprimer les fichiers hors ligne",
"unable_to_remove_library": "Impossible de supprimer la bibliothèque",
- "unable_to_remove_offline_files": "Impossible de supprimer les fichiers hors ligne",
"unable_to_remove_partner": "Impossible de supprimer le partenaire",
"unable_to_remove_reaction": "Impossible de supprimer la réaction",
"unable_to_remove_user": "",
@@ -679,14 +723,15 @@
"unable_to_submit_job": "Impossible d'exécuter la tâche",
"unable_to_trash_asset": "Impossible de mettre le média à la corbeille",
"unable_to_unlink_account": "Impossible de détacher le compte",
+ "unable_to_unlink_motion_video": "Impossible de détacher la photo animée",
"unable_to_update_album_cover": "Impossible de mettre à jour la couverture de l'album",
"unable_to_update_album_info": "Impossible de mettre à jour les informations de l'album",
"unable_to_update_library": "Impossible de mettre à jour la bibliothèque",
"unable_to_update_location": "Impossible de mettre à jour la localisation",
"unable_to_update_settings": "Impossible de mettre à jour les paramètres",
- "unable_to_update_timeline_display_status": "Impossible de mettre à jour le statut d'affichage de la timeline",
+ "unable_to_update_timeline_display_status": "Impossible de mettre à jour le statut d'affichage de la vue chronologique",
"unable_to_update_user": "Impossible de mettre à jour l'utilisateur",
- "unable_to_upload_file": "Impossible de téléverser le fichier"
+ "unable_to_upload_file": "Impossible d'envoyer le fichier"
},
"every_day_at_onepm": "",
"every_night_at_midnight": "",
@@ -699,11 +744,12 @@
"expired": "Expiré",
"expires_date": "Expire le {date}",
"explore": "Explorer",
+ "explorer": "Explorateur",
"export": "Exporter",
"export_as_json": "Exporter en JSON",
"extension": "Extension",
"external": "Externe",
- "external_libraries": "Bibliothèques externes",
+ "external_libraries": "Bibliothèques ext.",
"face_unassigned": "Non attribué",
"failed_to_get_people": "Impossible d'obtenir les personnes",
"favorite": "Favori",
@@ -712,6 +758,8 @@
"feature": "",
"feature_photo_updated": "Photo de la personne mise à jour",
"featurecollection": "",
+ "features": "Fonctionnalités",
+ "features_setting_description": "Gérer les fonctionnalités de l'application",
"file_name": "Nom du fichier",
"file_name_or_extension": "Nom du fichier ou extension",
"filename": "Nom du fichier",
@@ -720,6 +768,8 @@
"filter_people": "Filtrer les personnes",
"find_them_fast": "Pour les retrouver rapidement par leur nom",
"fix_incorrect_match": "Corriger une association incorrecte",
+ "folders": "Dossiers",
+ "folders_feature_description": "Parcourir l'affichage par dossiers pour les photos et les vidéos sur le système de fichiers",
"force_re-scan_library_files": "Forcer la réactualisation de tous les fichiers de la bibliothèque",
"forward": "Avant",
"general": "Général",
@@ -761,7 +811,7 @@
"immich_web_interface": "Interface Web Immich",
"import_from_json": "Importer depuis un fichier JSON",
"import_path": "Chemin d'importation",
- "in_albums": "Dans {count, plural, one {# un album} other {# des albums}}",
+ "in_albums": "Dans {count, plural, one {# album} other {# albums}}",
"in_archive": "Dans les archives",
"include_archived": "Inclure les archives",
"include_shared_albums": "Inclure les albums partagés",
@@ -819,6 +869,7 @@
"license_trial_info_4": "Pensez à acheter une licence pour soutenir le développement du service",
"light": "Clair",
"like_deleted": "Réaction « j'aime » supprimée",
+ "link_motion_video": "Lier la photo animée",
"link_options": "Options de lien",
"link_to_oauth": "Lien au service OAuth",
"linked_oauth_account": "Compte OAuth rattaché",
@@ -837,6 +888,7 @@
"look": "Regarder",
"loop_videos": "Vidéos en boucle",
"loop_videos_description": "Activer pour voir la vidéo en boucle dans le lecteur détaillé.",
+ "main_branch_warning": "Vous utilisez une version de développement. Nous vous recommandons fortement d'utiliser une version stable !",
"make": "Marque",
"manage_shared_links": "Gérer les liens partagés",
"manage_sharing_with_partners": "Gérer le partage avec les partenaires",
@@ -887,10 +939,10 @@
"no_albums_with_name_yet": "Il semble que vous n'ayez pas encore d'albums avec ce nom.",
"no_albums_yet": "Il semble que vous n'ayez pas encore d'album.",
"no_archived_assets_message": "Archiver des photos et vidéos pour les masquer dans votre bibliothèque",
- "no_assets_message": "CLIQUER ICI POUR IMPORTER VOTRE PREMIÈRE PHOTO",
+ "no_assets_message": "CLIQUER ICI POUR ENVOYER VOTRE PREMIÈRE PHOTO",
"no_duplicates_found": "Aucun doublon n'a été trouvé.",
"no_exif_info_available": "Aucune information exif disponible",
- "no_explore_results_message": "Importer plus de photos pour explorer votre collection.",
+ "no_explore_results_message": "Envoyez plus de photos pour explorer votre collection.",
"no_favorites_message": "Ajouter des photos et vidéos à vos favoris pour les retrouver plus rapidement",
"no_libraries_message": "Créer une bibliothèque externe pour voir vos photos et vidéos dans un autre espace de stockage",
"no_name": "Pas de nom",
@@ -899,25 +951,28 @@
"no_results_description": "Essayez un synonyme ou un mot-clé plus général",
"no_shared_albums_message": "Créer un album pour partager vos photos et vidéos avec les personnes de votre réseau",
"not_in_any_album": "Dans aucun album",
- "note_apply_storage_label_to_previously_uploaded assets": "Note : Pour appliquer l'étiquette de stockage aux médias déjà importés, lancer la",
+ "note_apply_storage_label_to_previously_uploaded assets": "Note : Pour appliquer l'étiquette de stockage aux médias déjà envoyés, lancer la",
"note_unlimited_quota": "Note : Saisir 0 pour définir un quota illimité",
"notes": "Notes",
"notification_toggle_setting_description": "Activer les notifications par courriel",
"notifications": "Notifications",
"notifications_setting_description": "Gérer les notifications",
"oauth": "OAuth",
+ "official_immich_resources": "Ressources Immich officielles",
"offline": "Hors ligne",
"offline_paths": "Chemins hors ligne",
"offline_paths_description": "Ces résultats peuvent être causés par la suppression manuelle de fichiers qui n'étaient pas dans une bibliothèque externe.",
"ok": "Ok",
"oldest_first": "Anciens en premier",
"onboarding": "Accueil",
+ "onboarding_privacy_description": "Les fonctions suivantes (optionnelles) dépendent de services externes et peuvent être désactivées à tout moment dans les paramètres d'administration.",
"onboarding_theme_description": "Choisissez un thème de couleur pour votre instance. Vous pouvez le changer plus tard dans vos paramètres.",
"onboarding_welcome_description": "Mettons votre instance en place avec quelques paramètres communs.",
"onboarding_welcome_user": "Bienvenue {user}",
"online": "En ligne",
"only_favorites": "Uniquement les favoris",
"only_refreshes_modified_files": "Actualise les fichiers modifiés uniquement",
+ "open_in_map_view": "Montrer sur la carte",
"open_in_openstreetmap": "Ouvrir dans OpenStreetMap",
"open_the_search_filters": "Ouvrir les filtres de recherche",
"options": "Options",
@@ -952,6 +1007,7 @@
"pending": "En attente",
"people": "Personnes",
"people_edits_count": "{count, plural, one {# personne éditée} other {# personnes éditées}}",
+ "people_feature_description": "Parcourir les photos et vidéos groupées par personnes",
"people_sidebar_description": "Afficher le menu Personnes dans la barre latérale",
"perform_library_tasks": "",
"permanent_deletion_warning": "Avertissement avant suppression définitive",
@@ -984,6 +1040,7 @@
"previous_memory": "Souvenir précédent",
"previous_or_next_photo": "Photo précédente ou suivante",
"primary": "Primaire",
+ "privacy": "Vie privée",
"profile_image_of_user": "Image de profil de {user}",
"profile_picture_set": "Photo de profil définie.",
"public_album": "Album public",
@@ -1021,6 +1078,10 @@
"purchase_server_title": "Serveur",
"purchase_settings_server_activated": "La clé du produit pour le Serveur est gérée par l'administrateur",
"range": "",
+ "rating": "Étoile d'évaluation",
+ "rating_clear": "Effacer l'évaluation",
+ "rating_count": "{count, plural, one {# étoile} other {# étoiles}}",
+ "rating_description": "Afficher l'évaluation EXIF dans le panneau d'information",
"raw": "",
"reaction_options": "Options de réaction",
"read_changelog": "Lire les changements",
@@ -1032,11 +1093,13 @@
"recent_searches": "Recherches récentes",
"refresh": "Actualiser",
"refresh_encoded_videos": "Actualiser les vidéos encodées",
+ "refresh_faces": "Mettre à jour les visages",
"refresh_metadata": "Actualiser les métadonnées",
"refresh_thumbnails": "Actualiser les vignettes",
"refreshed": "Actualisé",
- "refreshes_every_file": "Actualise tous les fichiers",
+ "refreshes_every_file": "Actualise tous les fichiers (existants et nouveaux)",
"refreshing_encoded_video": "Actualisation de la vidéo encodée",
+ "refreshing_faces": "Actualiser les visages",
"refreshing_metadata": "Actualisation des métadonnées",
"regenerating_thumbnails": "Régénération des vignettes",
"remove": "Supprimer",
@@ -1044,15 +1107,16 @@
"remove_assets_shared_link_confirmation": "Êtes-vous sûr de vouloir supprimer {count, plural, one {# média} other {# médias}} de ce lien partagé ?",
"remove_assets_title": "Supprimer les médias ?",
"remove_custom_date_range": "Supprimer la plage de date personnalisée",
+ "remove_deleted_assets": "Supprimer les fichiers hors ligne",
"remove_from_album": "Supprimer de l'album",
"remove_from_favorites": "Supprimer des favoris",
"remove_from_shared_link": "Supprimer des liens partagés",
- "remove_offline_files": "Supprimer les fichiers hors ligne",
"remove_user": "Supprimer l'utilisateur",
"removed_api_key": "Clé API supprimée : {name}",
"removed_from_archive": "Supprimé de l'archive",
"removed_from_favorites": "Supprimé des favoris",
"removed_from_favorites_count": "{count, plural, one {# supprimé} other {# supprimés}} des favoris",
+ "removed_tagged_assets": "Tag supprimé de {count, plural, one {# média} other {# médias}}",
"rename": "Renommer",
"repair": "Réparer",
"repair_no_results_message": "Les fichiers non importés ou absents s'afficheront ici",
@@ -1084,6 +1148,7 @@
"say_something": "Réagir",
"scan_all_libraries": "Analyser toutes les bibliothèques",
"scan_all_library_files": "Analyser tous les fichiers",
+ "scan_library": "Analyser",
"scan_new_library_files": "Analyser les nouveaux fichiers",
"scan_settings": "Paramètres d'analyse",
"scanning_for_album": "Recherche d'albums en cours...",
@@ -1099,9 +1164,12 @@
"search_for_existing_person": "Rechercher une personne existante",
"search_no_people": "Aucune personne",
"search_no_people_named": "Aucune personne nommée « {name} »",
+ "search_options": "Rechercher une option",
"search_people": "Rechercher une personne",
"search_places": "Rechercher un lieu",
+ "search_settings": "Paramètres de recherche",
"search_state": "Rechercher par état/région...",
+ "search_tags": "Recherche d'étiquettes...",
"search_timezone": "Rechercher par fuseau horaire...",
"search_type": "Rechercher par type",
"search_your_photos": "Rechercher vos photos",
@@ -1143,6 +1211,7 @@
"shared_by_user": "Partagé par {user}",
"shared_by_you": "Partagé par vous",
"shared_from_partner": "Photos de {partner}",
+ "shared_link_options": "Options de lien partagé",
"shared_links": "Liens partagés",
"shared_photos_and_videos_count": "{assetCount, plural, other {# photos et vidéos partagées.}}",
"shared_with_partner": "Partagé avec {partner}",
@@ -1151,13 +1220,14 @@
"sharing_sidebar_description": "Afficher un lien vers Partage dans la barre latérale",
"shift_to_permanent_delete": "appuyez sur ⇧ pour supprimer définitivement le média",
"show_album_options": "Afficher les options de l'album",
+ "show_albums": "Montrer les albums",
"show_all_people": "Montrer toutes les personnes",
"show_and_hide_people": "Afficher / Masquer les personnes",
"show_file_location": "Afficher l'emplacement du fichier",
"show_gallery": "Afficher la gallerie",
"show_hidden_people": "Afficher les personnes masquées",
- "show_in_timeline": "Afficher dans la chronologie",
- "show_in_timeline_setting_description": "Afficher les photos et vidéos de cet utilisateur dans votre timeline",
+ "show_in_timeline": "Afficher dans la vue chronologique",
+ "show_in_timeline_setting_description": "Afficher les photos et vidéos de cet utilisateur dans votre vue chronologique",
"show_keyboard_shortcuts": "Afficher les raccourcis clavier",
"show_metadata": "Afficher les métadonnées",
"show_or_hide_info": "Afficher ou masquer les informations",
@@ -1165,13 +1235,18 @@
"show_person_options": "Afficher les options de personnes",
"show_progress_bar": "Afficher la barre de progression",
"show_search_options": "Afficher les options de recherche",
+ "show_slideshow_transition": "Afficher la transition du diaporama",
"show_supporter_badge": "Badge de contributeur",
"show_supporter_badge_description": "Afficher le badge de contributeur",
"shuffle": "Mélanger",
+ "sidebar": "Barre latérale",
+ "sidebar_display_description": "Afficher un lien vers la vue dans la barre latérale",
"sign_out": "Déconnexion",
"sign_up": "S'enregistrer",
"size": "Taille",
"skip_to_content": "Passer",
+ "skip_to_folders": "Passer vers les dossiers",
+ "skip_to_tags": "Passer vers les étiquettes",
"slideshow": "Diaporama",
"slideshow_settings": "Paramètres du diaporama",
"sort_albums_by": "Trier les albums par...",
@@ -1183,6 +1258,8 @@
"sort_title": "Titre",
"source": "Source",
"stack": "Empiler",
+ "stack_duplicates": "Empiler les doublons",
+ "stack_select_one_photo": "Sélectionnez une photo principale pour la pile",
"stack_selected_photos": "Empiler les photos sélectionnées",
"stacked_assets_count": "{count, plural, one {# média empilé} other {# médias empilés}}",
"stacktrace": "Trace de la pile",
@@ -1200,22 +1277,36 @@
"submit": "Soumettre",
"suggestions": "Suggestions",
"sunrise_on_the_beach": "Aurore sur la plage",
- "swap_merge_direction": "Changer la direction de fusion",
+ "support": "Support",
+ "support_and_feedback": "Support & Retours",
+ "support_third_party_description": "Votre installation d'Immich est packagée via une application tierce. Si vous rencontrez des anomalies, elles peuvent venir de ce packaging tiers, merci de créer les anomalies avec ces tiers en premier lieu en utilisant les liens ci-dessous.",
+ "swap_merge_direction": "Inverser la direction de fusion",
"sync": "Synchroniser",
+ "tag": "Tag",
+ "tag_assets": "Taguer les médias",
+ "tag_created": "Étiquette créée : {tag}",
+ "tag_feature_description": "Parcourir les photos et vidéos groupées par thèmes logiques",
+ "tag_not_found_question": "Vous ne trouvez pas une étiquette ? Créer une nouvelle étiquette.",
+ "tag_updated": "Étiquette mise à jour : {tag}",
+ "tagged_assets": "Tag ajouté à {count, plural, one {# média} other {# médias}}",
+ "tags": "Étiquettes",
"template": "Modèle",
"theme": "Thème",
"theme_selection": "Sélection du thème",
"theme_selection_description": "Ajuster automatiquement le thème clair ou sombre via les préférences système",
"they_will_be_merged_together": "Elles seront fusionnées ensemble",
+ "third_party_resources": "Ressources tierces",
"time_based_memories": "Souvenirs basés sur la date",
"timezone": "Fuseau horaire",
"to_archive": "Archiver",
"to_change_password": "Modifier le mot de passe",
"to_favorite": "Ajouter aux favoris",
"to_login": "Se connecter",
+ "to_parent": "Aller au dossier parent",
+ "to_root": "Vers la racine",
"to_trash": "Corbeille",
"toggle_settings": "Inverser les paramètres",
- "toggle_theme": "Changer le thème",
+ "toggle_theme": "Inverser le thème sombre",
"toggle_visibility": "Modifier la visibilité",
"total_usage": "Utilisation globale",
"trash": "Corbeille",
@@ -1234,9 +1325,11 @@
"unknown_album": "",
"unknown_year": "Année inconnue",
"unlimited": "Illimité",
+ "unlink_motion_video": "Détacher la photo animée",
"unlink_oauth": "Déconnecter OAuth",
"unlinked_oauth_account": "Compte OAuth non connecté",
"unnamed_album": "Album sans nom",
+ "unnamed_album_delete_confirmation": "Êtes-vous sûr de vouloir supprimer cet album ?",
"unnamed_share": "Partage sans nom",
"unsaved_change": "Modification non enregistrée",
"unselect_all": "Annuler la sélection",
@@ -1244,18 +1337,18 @@
"unstack": "Désempiler",
"unstacked_assets_count": "{count, plural, one {# média dépilé} other {# médias dépilés}}",
"untracked_files": "Fichiers non suivis",
- "untracked_files_decription": "Ces fichiers ne sont pas suivis par l'application. Ils peuvent être le résultat de déplacements échoués, de téléchargements interrompus ou laissés pour compte à cause d'un bug",
+ "untracked_files_decription": "Ces fichiers ne sont pas suivis par l'application. Ils peuvent être le résultat de déplacements échoués, d'envois interrompus ou laissés pour compte à cause d'un bug",
"up_next": "Suite",
"updated_password": "Mot de passe mis à jour",
- "upload": "Téléverser",
- "upload_concurrency": "Envoi simultané",
- "upload_errors": "Le téléversement s'est achevé avec {count, plural, one {# erreur} other {# erreurs}}. Rafraîchir la page pour voir les nouveaux médias téléversés.",
+ "upload": "Envoyer",
+ "upload_concurrency": "Envois simultanés",
+ "upload_errors": "L'envoi s'est achevé avec {count, plural, one {# erreur} other {# erreurs}}. Rafraîchir la page pour voir les nouveaux médias envoyés.",
"upload_progress": "{remaining, number} restant(s) - {processed, number} traité(s)/{total, number}",
"upload_skipped_duplicates": "{count, plural, one {# doublon ignoré} other {# doublons ignorés}}",
"upload_status_duplicates": "Doublons",
"upload_status_errors": "Erreurs",
- "upload_status_uploaded": "Téléversé",
- "upload_success": "Téléversement réussi. Rafraîchir la page pour voir les nouveaux médias téléversés.",
+ "upload_status_uploaded": "Envoyé",
+ "upload_success": "Envoi réussi. Rafraîchir la page pour voir les nouveaux médias envoyés.",
"url": "URL",
"usage": "Utilisation",
"use_custom_date_range": "Utilisez une plage de date personnalisée à la place",
@@ -1276,6 +1369,8 @@
"version": "Version",
"version_announcement_closing": "Ton ami, Alex",
"version_announcement_message": "Bonjour, il y a une nouvelle version de l'application. Prenez le temps de consulter les notes de version et assurez-vous que vos fichiers docker-compose.yml
et .env
sont à jour pour éviter toute erreur de configuration, surtout si vous utilisez WatchTower ou tout autre mécanisme qui gère la mise à jour de votre application automatiquement.",
+ "version_history": "Historique de version",
+ "version_history_item": "Version {version} installée le {date}",
"video": "Vidéo",
"video_hover_setting": "Lire la miniature des vidéos au survol",
"video_hover_setting_description": "Jouer la prévisualisation vidéo au survol. Si désactivé, la lecture peut quand même être démarrée en survolant le bouton Play.",
@@ -1285,6 +1380,7 @@
"view_album": "Afficher l'album",
"view_all": "Voir tout",
"view_all_users": "Voir tous les utilisateurs",
+ "view_in_timeline": "Voir dans la vue chronologique",
"view_links": "Voir les liens",
"view_next_asset": "Voir le média suivant",
"view_previous_asset": "Voir le média précédent",
diff --git a/web/src/lib/i18n/he.json b/i18n/he.json
similarity index 89%
rename from web/src/lib/i18n/he.json
rename to i18n/he.json
index bcd35d4dda..7cb896f1f0 100644
--- a/web/src/lib/i18n/he.json
+++ b/i18n/he.json
@@ -25,12 +25,13 @@
"add_to_shared_album": "הוסף לאלבום משותף",
"added_to_archive": "נוסף לארכיון",
"added_to_favorites": "נוסף למועדפים",
- "added_to_favorites_count": "{count} נוספו למועדפים",
+ "added_to_favorites_count": "{count, number} נוספו למועדפים",
"admin": {
"add_exclusion_pattern_description": "הוסף דפוסי החרגה. נתמכת התאמת דפוסים באמצעות *, ** ו-?. כדי להתעלם מכל הקבצים בתיקיה כלשהי בשם \"Raw\", השתמש ב \"**/Raw/**\". כדי להתעלם מכל הקבצים המסתיימים ב \"tif.\", השתמש ב \"tif.*/**\". כדי להתעלם מנתיב מוחלט, השתמש ב \"**/נתיב/להתעלמות\".",
- "authentication_settings": "הגדרות אימות",
- "authentication_settings_description": "נהל סיסמה, OAuth, והגדרות אימות אחרות",
- "authentication_settings_disable_all": "האם את/ה בטוח/ה שברצונך להשבית את כל שיטות ההתחברות? כניסה למערכת תהיה מושבתת לחלוטין.",
+ "asset_offline_description": "נכס ספרייה חיצונית זה לא נמצא יותר בדיסק והועבר לאשפה. אם הקובץ הועבר מתוך הספרייה, בדוק את ציר הזמן שלך עבור הנכס המקביל החדש. כדי לשחזר נכס זה, נא לוודא ש-Immich יכול לגשת אל נתיב הקובץ למטה וסרוק מחדש את הספרייה.",
+ "authentication_settings": "הגדרות התחברות",
+ "authentication_settings_description": "נהל סיסמה, OAuth, והגדרות התחברות אחרות",
+ "authentication_settings_disable_all": "האם ברצונך להשבית את כל שיטות ההתחברות? כניסה למערכת תהיה מושבתת לחלוטין.",
"authentication_settings_reenable": "כדי לאפשר מחדש, השתמש בפקודת שרת.",
"background_task_job": "משימות רקע",
"check_all": "סמן הכל",
@@ -41,6 +42,7 @@
"confirm_email_below": "כדי לאשר, יש להקליד \"{email}\" למטה",
"confirm_reprocess_all_faces": "האם את/ה בטוח/ה שברצונך לעבד מחדש את כל הפנים? זה גם ינקה אנשים בעלי שם.",
"confirm_user_password_reset": "האם את/ה בטוח/ה שברצונך לאפס את הסיסמה של המשתמש {user}?",
+ "create_job": "צור עבודה",
"crontab_guru": "Crontab Guru",
"disable_login": "השבת כניסה",
"disabled": "מושבת",
@@ -49,27 +51,37 @@
"external_library_created_at": "ספרייה חיצונית (נוצרה ב-{date})",
"external_library_management": "ניהול ספרייה חיצונית",
"face_detection": "איתור פנים",
- "face_detection_description": "אתר את הפנים בנכסים באמצעות למידת מכונה. עבור סרטונים, רק התמונה הממוזערת נלקחת בחשבון. \"הכל\" מעבד (מחדש) את כל הנכסים. \"חסרים\" מוסיף לתור נכסים שלא עובדו עדיין. לאחר שאיתור הפנים הושלם, פנים שאותרו יעמדו בתור לזיהוי פנים המשייך אותן לאנשים קיימים או חדשים.",
- "facial_recognition_job_description": "קבץ פנים שאותרו לתוך אנשים. שלב זה מורץ לאחר השלמת איתור פנים. \"הכל\" מקבץ (מחדש) את כל הפרצופים. \"חסרים\" מוסיף לתור פנים שלא הוקצה להם אדם.",
+ "face_detection_description": "אתר את הפנים בנכסים באמצעות למידת מכונה. עבור סרטונים, רק התמונה הממוזערת נלקחת בחשבון. \"רענון\" מעבד (מחדש) את כל הנכסים. \"איפוס\" מנקה בנוסף את כל נתוני הפנים הנוכחיים. \"חסרים\" מוסיף לתור נכסים שלא עובדו עדיין. לאחר שאיתור הפנים הושלם, פנים שאותרו יעמדו בתור לזיהוי פנים המשייך אותן לאנשים קיימים או חדשים.",
+ "facial_recognition_job_description": "קבץ פנים שאותרו לתוך אנשים. שלב זה מורץ לאחר השלמת איתור פנים. \"איפוס\" מקבץ (מחדש) את כל הפרצופים. \"חסרים\" מוסיף לתור פנים שלא הוקצה להם אדם.",
"failed_job_command": "הפקודה {command} נכשלה עבור המשימה: {job}",
"force_delete_user_warning": "אזהרה: פעולה זו תסיר מיד את המשתמש ואת כל הנכסים. לא ניתן לבטל פעולה זו והקבצים לא ניתנים לשחזור.",
"forcing_refresh_library_files": "כפיית רענון של כל קבצי הספרייה",
+ "image_format": "פורמט",
"image_format_description": "WebP מפיק קבצים קטנים יותר מ JPEG, אך הוא איטי יותר לקידוד.",
"image_prefer_embedded_preview": "העדף תצוגה מקדימה מוטמעת",
"image_prefer_embedded_preview_setting_description": "השתמש בתצוגות מקדימות מוטמעות בתמונות RAW כקלט לעיבוד תמונה כאשר זמינות. זה יכול להפיק צבעים מדויקים יותר עבור תמונות מסוימות, אבל האיכות של התצוגה המקדימה היא תלוית מצלמה ולתמונה עשויים להיות יותר פגמי דחיסה.",
"image_prefer_wide_gamut": "העדף סולם צבעים רחב",
"image_prefer_wide_gamut_setting_description": "השתמש ב-Display P3 לתמונות ממוזערות. זה משמר טוב יותר את החיוניות של תמונות עם מרחבי צבע רחבים, אבל תמונות עשויות להופיע אחרת במכשירים ישנים עם גרסת דפדפן ישנה. תמונות sRGB נשמרות כ-sRGB כדי למנוע שינויי צבע.",
+ "image_preview_description": "תמונה בגודל בינוני עם מטא-נתונים שהוסרו, משמשת בעת צפייה בנכס בודד ועבור למידת מכונה",
"image_preview_format": "פורמט תצוגה מקדימה",
+ "image_preview_quality_description": "איכות תצוגה מקדימה בין 1-100. גבוה יותר הוא טוב יותר, אבל מייצר קבצים גדולים יותר ויכול להפחית את תגובתיות היישום. הגדרת ערך נמוך עשויה להשפיע על איכות תוצאות של למידת מכונה.",
"image_preview_resolution": "רזולוציית תצוגה מקדימה",
"image_preview_resolution_description": "משמש בעת צפייה בתמונה בודדת ועבור למידת מכונה. רזולוציות גבוהות יותר יכולות לשמר פירוט רב יותר אך לוקחות יותר זמן לקידוד, יש להן גדלי קבצים גדולים יותר, ויכולות להפחית את תגובתיות היישום.",
+ "image_preview_title": "הגדרות תצוגה מקדימה",
"image_quality": "איכות",
"image_quality_description": "איכות תמונה מ-1 עד 100. ערך גבוה יותר עדיף לאיכות אך מייצר קבצים גדולים יותר, אפשרות זו משפיעה על התצוגה המקדימה ותמונות ממוזערות.",
+ "image_resolution": "רזולוציה",
+ "image_resolution_description": "רזולוציות גבוהות יותר יכולות לשמר פרטים רבים יותר אך לוקחות זמן רב יותר לקידוד, יש להן גדלי קבצים גדולים יותר ויכולות להפחית את תגובתיות היישום.",
"image_settings": "הגדרות תמונה",
"image_settings_description": "נהל את האיכות והרזולוציה של תמונות שנוצרו",
+ "image_thumbnail_description": "תמונה ממוזערת קטנה עם מטא-נתונים שהוסרו, משמשת בעת צפייה בקבוצות של תמונות כמו ציר הזמן הראשי",
"image_thumbnail_format": "פורמט תמונה ממוזערת",
+ "image_thumbnail_quality_description": "איכות תמונה ממוזערת בין 1-100. גבוה יותר הוא טוב יותר, אבל מייצר קבצים גדולים יותר ויכול להפחית את תגובתיות היישום.",
"image_thumbnail_resolution": "רזולוציית תמונה ממוזערת",
"image_thumbnail_resolution_description": "משמש בעת צפייה בקבוצות של תמונות (ציר זמן ראשי, תצוגת אלבום וכו'). רזולוציות גבוהות יותר יכולות לשמר פירוט רב יותר אך לוקחות יותר זמן לקידוד, יש להן גדלי קבצים גדולים יותר, ויכולות להפחית את תגובתיות היישום.",
+ "image_thumbnail_title": "הגדרות תמונה ממוזערת",
"job_concurrency": "בו-זמניות של {job}",
+ "job_created": "עבודה נוצרה",
"job_not_concurrency_safe": "משימה זו אינה בטוחה במקביל.",
"job_settings": "הגדרות משימה",
"job_settings_description": "ניהול בו-זמניות של משימה",
@@ -129,16 +141,21 @@
"map_enable_description": "אפשר תכונות מפה",
"map_gps_settings": "הגדרות מפה & GPS",
"map_gps_settings_description": "נהל הגדרות מפה & GPS (קידוד גאוגרפי הפוך)",
+ "map_implications": "תכונת המפה מסתמכת על שירות אריח חיצוני (tiles.immich.cloud)",
"map_light_style": "עיצוב בהיר",
"map_manage_reverse_geocoding_settings": "נהל הגדרות קידוד גאוגרפי הפוך",
"map_reverse_geocoding": "קידוד גיאוגרפי הפוך",
"map_reverse_geocoding_enable_description": "אפשר קידוד גיאוגרפי הפוך",
"map_reverse_geocoding_settings": "הגדרות קידוד גיאוגרפי הפוך",
- "map_settings": "הגדרות מפה",
+ "map_settings": "מפה",
"map_settings_description": "נהל הגדרות מפה",
"map_style_description": "כתובת אתר לערכת נושא של מפה style.json",
"metadata_extraction_job": "חלץ מטא-נתונים",
- "metadata_extraction_job_description": "חלץ מידע מטא-נתונים מכל נכס, כגון GPS ורזולוציה",
+ "metadata_extraction_job_description": "חלץ מידע מטא-נתונים מכל נכס, כגון GPS, פנים ורזולוציה",
+ "metadata_faces_import_setting": "אפשר יבוא פנים",
+ "metadata_faces_import_setting_description": "יבא פנים מנתוני EXIF של תמונה ומקבצים נלווים",
+ "metadata_settings": "הגדרות מטא-נתונים",
+ "metadata_settings_description": "נהל הגדרות מטא-נתונים",
"migration_job": "העברה",
"migration_job_description": "העבר תמונות ממוזערות של נכסים ופנים למבנה התיקיות העדכני ביותר",
"no_paths_added": "לא נוספו נתיבים",
@@ -147,7 +164,7 @@
"note_cannot_be_changed_later": "הערה: אי אפשר לשנות זאת מאוחר יותר!",
"note_unlimited_quota": "הערה: הזן 0 עבור מכסת אחסון בלתי מוגבלת",
"notification_email_from_address": "מכתובת",
- "notification_email_from_address_description": "כתובת דוא\"ל של השולח, לדוגמה: \"Immich שרת תמונות {label}
היא תווית האחסון של המשתמש",
"system_settings": "הגדרות מערכת",
+ "tag_cleanup_job": "ניקוי תגים",
"theme_custom_css_settings": "CSS בהתאמה אישית",
"theme_custom_css_settings_description": "גיליונות סגנון מדורגים (CSS) מאפשרים התאמה אישית של העיצוב של Immich.",
"theme_settings": "הגדרות ערכת נושא",
@@ -250,6 +271,7 @@
"transcoding_accepted_audio_codecs": "קודקים מקובלים של שמע",
"transcoding_accepted_audio_codecs_description": "בחר אילו קודקים של שמע אינם צריכים לעבור המרת קידוד. משמש רק עבור פוליסות המרת קידוד מסוימות.",
"transcoding_accepted_containers": "מכולות מקובלות",
+ "transcoding_accepted_containers_description": "בחר אילו פורמטי מכולה אין צורך לשנות ל-MP4. משמש רק עבור מדיניות קידוד מסוימות.",
"transcoding_accepted_video_codecs": "קודקים מקובלים של סרטונים",
"transcoding_accepted_video_codecs_description": "בחר אילו קודקים של סרטונים אינם צריכים לעבור המרת קידוד. משמש רק עבור פוליסות המרת קידוד מסוימות.",
"transcoding_advanced_options_description": "אפשרויות שרוב המשתמשים לא צריכים לשנות",
@@ -260,12 +282,12 @@
"transcoding_constant_quality_mode": "מצב איכות קבועה",
"transcoding_constant_quality_mode_description": "ICQ טוב יותר מ-CQP, אך חלק מהתקני האצת החומרה אינם תומכים במצב זה. הגדרת אפשרות זו תעדיף את המצב שצוין בעת שימוש בקידוד מבוסס איכות. בהתעלמות מצד NVENC מכיוון שהוא אינו תומך ב-ICQ.",
"transcoding_constant_rate_factor": "גורם קצב קבוע (-crf)",
- "transcoding_constant_rate_factor_description": "רמת איכות וידאו. ערכים אופייניים הם הערך 23 עבור H.264, הערך 28 עבור HEVC, הערך 31 עבור VP9, והערך 35 עבור AV1. נמוך יותר טוב יותר, אבל מייצר קבצים גדולים יותר.",
+ "transcoding_constant_rate_factor_description": "רמת איכות וידאו. ערכים אופייניים הם הערך 23 עבור H.264, הערך 28 עבור HEVC, הערך 31 עבור VP9, והערך 35 עבור AV1. נמוך יותר הוא טוב יותר, אבל מייצר קבצים גדולים יותר.",
"transcoding_disabled_description": "אין להמיר את הקידוד של שום סרטון, עלול לגרום לכך שהניגון לא יפעל במכשירים מסוימים",
"transcoding_hardware_acceleration": "האצת חומרה",
"transcoding_hardware_acceleration_description": "ניסיוני; המרה הרבה יותר מהירה, אבל תהיה באיכות נמוכה יותר באותו קצב סיביות",
"transcoding_hardware_decoding": "פענוח חומרה",
- "transcoding_hardware_decoding_setting_description": "חל רק על NVENC, QSV ו-RKMPP. מאפשר האצה מקצה לקצה במקום רק להאיץ קידוד. ייתכן שלא יפעל על כל הסרטונים.",
+ "transcoding_hardware_decoding_setting_description": "מאפשר האצה מקצה לקצה במקום רק האצת קידוד. ייתכן שלא יפעל על כל הסרטונים.",
"transcoding_hevc_codec": "קידוד HEVC",
"transcoding_max_b_frames": "B-פריימים מרביים",
"transcoding_max_b_frames_description": "ערכים גבוהים יותר משפרים את יעילות הדחיסה, אך מאטים את הקידוד. ייתכן שלא יהיה תואם עם האצת חומרה במכשירים ישנים יותר. 0 משבית את B-פריימים, בעוד ש1- מגדיר את הערך זה באופן אוטומטי.",
@@ -285,7 +307,7 @@
"transcoding_settings_description": "נהל את הרזולוציה ומידע הקידוד של קבצי הסרטונים",
"transcoding_target_resolution": "רזולוציה יעד",
"transcoding_target_resolution_description": "רזולוציות גבוהות יותר יכולות לשמר פרטים רבים יותר אך לוקחות זמן רב יותר לקידוד, יש להן גדלי קבצים גדולים יותר, ויכולות להפחית את תגובתיות היישום.",
- "transcoding_temporal_aq": "AQ זמני",
+ "transcoding_temporal_aq": "Temporal AQ",
"transcoding_temporal_aq_description": "חל רק על NVENC. מגביר את האיכות של סצנות עם רמת פירוט גבוהה בהילוך איטי. ייתכן שלא יהיה תואם למכשירים ישנים יותר.",
"transcoding_threads": "תהליכונים",
"transcoding_threads_description": "ערכים גבוהים יותר מובילים לקידוד מהיר יותר, אך משאירים פחות מקום לשרת לעבד משימות אחרות בעודו פעיל. ערך זה לא אמור להיות יותר ממספר ליבות המעבד. ממקסם את הניצול אם מוגדר ל-0.",
@@ -306,6 +328,7 @@
"trash_settings_description": "נהל את הגדרות האשפה",
"untracked_files": "קבצים ללא מעקב",
"untracked_files_description": "קבצים אלה אינם נמצאים במעקב של היישום. הם יכולים להיות תוצאות של העברות כושלות, העלאות שנקטעו, או שנותרו מאחור בגלל שיבוש בתוכנה",
+ "user_cleanup_job": "ניקוי משתמשים",
"user_delete_delay": "החשבון והנכסים של {user} יתוזמנו למחיקה לצמיתות בעוד {delay, plural, one {יום #} other {# ימים}}.",
"user_delete_delay_settings": "עיכוב מחיקה",
"user_delete_delay_settings_description": "מספר הימים לאחר ההסרה עד מחיקה לצמיתות של החשבון והנכסים של המשתמש. משימת מחיקת המשתמש פועלת בחצות כדי לבדוק אם יש משתמשים שמוכנים למחיקה. שינויים בהגדרה זו יוערכו בביצוע הבא.",
@@ -319,7 +342,8 @@
"user_settings": "הגדרות משתמש",
"user_settings_description": "נהל הגדרות משתמש",
"user_successfully_removed": "המשתמש {email} הוסר בהצלחה.",
- "version_check_enabled_description": "אפשר בקשות רשת תקופתיות ל-GitHub כדי לבדוק אם יש מהדורות חדשות",
+ "version_check_enabled_description": "אפשר בדיקת גרסה",
+ "version_check_implications": "תכונת בדיקת הגרסה מסתמכת על תקשורת תקופתית עם github.com",
"version_check_settings": "בדיקת גרסה",
"version_check_settings_description": "הפעל/השבת את ההתראה על גרסה חדשה",
"video_conversion_job": "המרת קידוד סרטונים",
@@ -335,7 +359,8 @@
"album_added": "אלבום נוסף",
"album_added_notification_setting_description": "קבלת הודעת דוא\"ל כאשר מוסיפים אותך לאלבום משותף",
"album_cover_updated": "עטיפת האלבום עודכנה",
- "album_delete_confirmation": "את/ה בטוח/ה שברצונך למחוק את האלבום {album}?\nאם האלבום הזה משותף, משתמשים אחרים לא יוכלו לגשת אליו יותר.",
+ "album_delete_confirmation": "את/ה בטוח/ה שברצונך למחוק את האלבום {album}?",
+ "album_delete_confirmation_description": "אם האלבום הזה משותף, משתמשים אחרים לא יוכלו לגשת אליו יותר.",
"album_info_updated": "מידע האלבום עודכן",
"album_leave": "לעזוב אלבום?",
"album_leave_confirmation": "האם את/ה בטוח/ה שברצונך לעזוב את {album}?",
@@ -359,6 +384,7 @@
"allow_edits": "אפשר עריכות",
"allow_public_user_to_download": "אפשר למשתמש ציבורי להוריד",
"allow_public_user_to_upload": "אפשר למשתמש ציבורי להעלות",
+ "anti_clockwise": "נגד כיוון השעון",
"api_key": "מפתח API",
"api_key_description": "הערך הזה יוצג רק פעם אחת. נא לוודא שהעתקת אותו לפני סגירת החלון.",
"api_key_empty": "מפתח ה-API שלך לא אמור להיות ריק",
@@ -380,8 +406,9 @@
"asset_has_unassigned_faces": "לנכס יש פנים שלא הוקצו",
"asset_hashing": "מגבב...",
"asset_offline": "נכס לא מקוון",
- "asset_offline_description": "הנכס הזה אינו מקוון. Immich לא יכול לגשת למיקום הקובץ שלו. נא לוודא שהנכס זמין ואז סרוק מחדש את הספרייה.",
+ "asset_offline_description": "הנכס החיצוני הזה כבר לא נמצא בדיסק. אנא צור קשר עם מנהל Immich שלך לקבלת עזרה.",
"asset_skipped": "דילג",
+ "asset_skipped_in_trash": "באשפה",
"asset_uploaded": "הועלה",
"asset_uploading": "מעלה...",
"assets": "נכסים",
@@ -393,7 +420,7 @@
"assets_moved_to_trash_count": "{count, plural, one {נכס # הועבר} other {# נכסים הועברו}} לאשפה",
"assets_permanently_deleted_count": "{count, plural, one {נכס # נמחק} other {# נכסים נמחקו}} לצמיתות",
"assets_removed_count": "{count, plural, one {נכס # הוסר} other {# נכסים הוסרו}}",
- "assets_restore_confirmation": "האם את/ה בטוח/ה שברצונך לשחזר את כל הנכסים שבאשפה? את/ה לא יכול/ה לבטל את הפעולה הזו!",
+ "assets_restore_confirmation": "האם את/ה בטוח/ה שברצונך לשחזר את כל הנכסים שבאשפה? את/ה לא יכול/ה לבטל את הפעולה הזו! שים לב שלא ניתן לשחזר נכסים לא מקוונים בדרך זו.",
"assets_restored_count": "{count, plural, one {נכס # שוחזר} other {# נכסים שוחזרו}}",
"assets_trashed_count": "{count, plural, one {נכס # הושלך} other {# נכסים הושלכו}} לאשפה",
"assets_were_part_of_album_count": "{count, plural, one {נכס היה} other {נכסים היו}} כבר חלק מהאלבום",
@@ -404,6 +431,7 @@
"birthdate_saved": "תאריך לידה נשמר בהצלחה",
"birthdate_set_description": "תאריך לידה משמש לחישוב הגיל של האדם הזה בזמן תצלום.",
"blurred_background": "רקע מטושטש",
+ "bugs_and_feature_requests": "באגים & בקשות לתכונות",
"build": "Build",
"build_image": "Build Image",
"bulk_delete_duplicates_confirmation": "האם את/ה בטוח/ה שברצונך למחוק בכמות גדולה {count, plural, one {נכס # כפול} other {# נכסים כפולים}}? זה ישמור על הנכס הכי גדול של כל קבוצה וימחק לצמיתות את כל שאר הכפילויות. את/ה לא יכול/ה לבטל את הפעולה הזו!",
@@ -440,9 +468,11 @@
"clear_all_recent_searches": "נקה את כל החיפושים האחרונים",
"clear_message": "נקה הודעה",
"clear_value": "נקה ערך",
+ "clockwise": "עם כיוון השעון",
"close": "סגור",
"collapse": "כווץ",
"collapse_all": "כווץ הכל",
+ "color": "צבע",
"color_theme": "צבע ערכת נושא",
"comment_deleted": "תגובה נמחקה",
"comment_options": "אפשרויות תגובה",
@@ -476,6 +506,8 @@
"create_new_person": "צור אדם חדש",
"create_new_person_hint": "הקצה את הנכסים שנבחרו לאדם חדש",
"create_new_user": "צור משתמש חדש",
+ "create_tag": "צור תג",
+ "create_tag_description": "צור תג חדש. עבור תגים מקוננים, נא להזין את הנתיב המלא של התג כולל קווים נטויים.",
"create_user": "צור משתמש",
"created": "נוצר",
"current_device": "מכשיר נוכחי",
@@ -499,13 +531,17 @@
"delete_library": "מחק ספרייה",
"delete_link": "מחק קישור",
"delete_shared_link": "מחק קישור משותף",
+ "delete_tag": "מחק תג",
+ "delete_tag_confirmation_prompt": "האם את/ה בטוח/ה שברצונך למחוק תג {tagName}?",
"delete_user": "מחק משתמש",
"deleted_shared_link": "קישור משותף נמחק",
+ "deletes_missing_assets": "מוחק נכסים שחסרים בדיסק",
"description": "תיאור",
"details": "פרטים",
"direction": "כיוון",
"disabled": "מושבת",
"disallow_edits": "אל תאפשר עריכות",
+ "discord": "דיסקורד",
"discover": "גלה",
"dismiss_all_errors": "התעלם מכל השגיאות",
"dismiss_error": "התעלם מהשגיאה",
@@ -514,8 +550,11 @@
"display_original_photos": "הצג תמונות מקוריות",
"display_original_photos_setting_description": "העדף להציג את התמונה המקורית בעת צפיית נכס במקום תמונות ממוזערות כאשר הנכס המקורי תומך בתצוגה בדפדפן. זה עלול לגרום לתמונות להיות מוצגות באיטיות.",
"do_not_show_again": "אל תציג את ההודעה הזאת שוב",
+ "documentation": "תיעוד",
"done": "סיום",
"download": "הורדה",
+ "download_include_embedded_motion_videos": "סרטונים מוטמעים",
+ "download_include_embedded_motion_videos_description": "כלול סרטונים מוטעמים בתמונות עם תנועה כקובץ נפרד",
"download_settings": "הורדה",
"download_settings_description": "נהל הגדרות הקשורות להורדת נכסים",
"downloading": "מוריד",
@@ -545,10 +584,15 @@
"edit_location": "ערוך מיקום",
"edit_name": "ערוך שם",
"edit_people": "ערוך אנשים",
+ "edit_tag": "ערוך תג",
"edit_title": "ערוך כותרת",
"edit_user": "ערוך משתמש",
"edited": "נערך",
"editor": "עורך",
+ "editor_close_without_save_prompt": "השינויים לא יישמרו",
+ "editor_close_without_save_title": "לסגור את העורך?",
+ "editor_crop_tool_h2_aspect_ratios": "יחסי רוחב גובה",
+ "editor_crop_tool_h2_rotation": "סיבוב",
"email": "דוא\"ל",
"empty": "",
"empty_album": "אלבום ריק",
@@ -638,6 +682,7 @@
"unable_to_get_comments_number": "לא ניתן להשיג את מספר התגובות",
"unable_to_get_shared_link": "קבלת קישור משותף נכשלה",
"unable_to_hide_person": "לא ניתן להסתיר אדם",
+ "unable_to_link_motion_video": "לא ניתן לקשר סרטון תנועה",
"unable_to_link_oauth_account": "לא ניתן לקשר חשבון OAuth",
"unable_to_load_album": "לא ניתן לטעון אלבום",
"unable_to_load_asset_activity": "לא ניתן לטעון את פעילות הנכס",
@@ -654,8 +699,8 @@
"unable_to_remove_api_key": "לא ניתן להסיר מפתח API",
"unable_to_remove_assets_from_shared_link": "לא ניתן להסיר נכסים מקישור משותף",
"unable_to_remove_comment": "",
+ "unable_to_remove_deleted_assets": "לא ניתן להסיר קבצים לא מקוונים",
"unable_to_remove_library": "לא ניתן להסיר ספרייה",
- "unable_to_remove_offline_files": "לא ניתן להסיר קבצים לא מקוונים",
"unable_to_remove_partner": "לא ניתן להסיר שותף",
"unable_to_remove_reaction": "לא ניתן להסיר תגובה",
"unable_to_remove_user": "",
@@ -678,6 +723,7 @@
"unable_to_submit_job": "לא ניתן לשלוח משימה",
"unable_to_trash_asset": "לא ניתן להעביר נכס לאשפה",
"unable_to_unlink_account": "לא ניתן לבטל קישור חשבון",
+ "unable_to_unlink_motion_video": "לא ניתן לבטל קישור סרטון תנועה",
"unable_to_update_album_cover": "לא ניתן לעדכן עטיפת אלבום",
"unable_to_update_album_info": "לא ניתן לעדכן פרטי אלבום",
"unable_to_update_library": "לא ניתן לעדכן ספרייה",
@@ -698,6 +744,7 @@
"expired": "פג",
"expires_date": "יפוג {date}",
"explore": "חקור",
+ "explorer": "סייר",
"export": "ייצוא",
"export_as_json": "ייצוא כ-JSON",
"extension": "סיומת",
@@ -706,11 +753,13 @@
"face_unassigned": "לא מוקצה",
"failed_to_get_people": "נכשל באחזור אנשים",
"favorite": "מועדף",
- "favorite_or_unfavorite_photo": "תמונה מועדפת או לא מועדפת",
+ "favorite_or_unfavorite_photo": "הוסף או הסר תמונה מהמועדפים",
"favorites": "מועדפים",
"feature": "",
"feature_photo_updated": "תמונה מייצגת עודכנה",
"featurecollection": "",
+ "features": "תכונות",
+ "features_setting_description": "נהל את תכונות היישום",
"file_name": "שם הקובץ",
"file_name_or_extension": "שם קובץ או סיומת",
"filename": "שם קובץ",
@@ -719,6 +768,8 @@
"filter_people": "סנן אנשים",
"find_them_fast": "מצא אותם מהר לפי שם עם חיפוש",
"fix_incorrect_match": "תקן התאמה שגויה",
+ "folders": "תיקיות",
+ "folders_feature_description": "עיון בתצוגת התיקייה עבור התמונות והסרטונים שבמערכת הקבצים",
"force_re-scan_library_files": "כפה סריקה מחדש של כל קבצי הספרייה",
"forward": "קדימה",
"general": "כללי",
@@ -818,6 +869,7 @@
"license_trial_info_4": "אנא שקול לרכוש רישיון כדי לתמוך בפיתוח המתמשך של השירות",
"light": "בהיר",
"like_deleted": "לייק נמחק",
+ "link_motion_video": "קשר סרטון תנועה",
"link_options": "אפשרויות קישור",
"link_to_oauth": "קישור ל-OAuth",
"linked_oauth_account": "חשבון OAuth מקושר",
@@ -836,6 +888,7 @@
"look": "מראה",
"loop_videos": "הפעלה חוזרת של סרטונים",
"loop_videos_description": "אפשר הפעלה חוזרת אוטומטית של סרטון במציג הפרטים.",
+ "main_branch_warning": "את/ה משתמש/ת בגרסת פיתוח; אנחנו ממליצים בחום להשתמש בגרסה יציבה!",
"make": "תוצרת",
"manage_shared_links": "נהל קישורים משותפים",
"manage_sharing_with_partners": "נהל שיתוף עם שותפים",
@@ -872,6 +925,7 @@
"name": "שם",
"name_or_nickname": "שם או כינוי",
"never": "אף פעם",
+ "new_album": "אלבום חדש",
"new_api_key": "מפתח API חדש",
"new_password": "סיסמה חדשה",
"new_person": "אדם חדש",
@@ -904,18 +958,21 @@
"notifications": "התראות",
"notifications_setting_description": "נהל התראות",
"oauth": "OAuth",
+ "official_immich_resources": "משאבי Immich רשמיים",
"offline": "לא מקוון",
"offline_paths": "נתיבים לא מקוונים",
"offline_paths_description": "תוצאות אלו עשויות להיות עקב מחיקה ידנית של קבצים שאינם חלק מספרייה חיצונית.",
"ok": "בסדר",
"oldest_first": "הישן ביותר ראשון",
"onboarding": "היכרות",
+ "onboarding_privacy_description": "התכונות (האופציונליות) הבאות מסתמכות על שירותים חיצוניים, וניתנות לביטול בכל עת בהגדרות הניהול.",
"onboarding_theme_description": "בחר/י את צבע ערכת הנושא עבור ההתקנה שלך. את/ה יכול/ה לשנות את זה מאוחר יותר בהגדרות שלך.",
"onboarding_welcome_description": "בואו נכין את ההתקנה שלכם עם כמה הגדרות נפוצות.",
"onboarding_welcome_user": "ברוכ/ה הבא/ה, {user}",
"online": "מקוון",
"only_favorites": "רק מועדפים",
"only_refreshes_modified_files": "מרענן רק קבצים שהשתנו",
+ "open_in_map_view": "פתח בתצוגת מפה",
"open_in_openstreetmap": "פתח ב-OpenStreetMap",
"open_the_search_filters": "פתח את מסנני החיפוש",
"options": "אפשרויות",
@@ -950,6 +1007,7 @@
"pending": "ממתין",
"people": "אנשים",
"people_edits_count": "{count, plural, one {אדם # נערך} other {# אנשים נערכו}}",
+ "people_feature_description": "עיון בתמונות וסרטונים שקובצו על ידי אנשים",
"people_sidebar_description": "הצג קישור אל אנשים בסרגל הצד",
"perform_library_tasks": "",
"permanent_deletion_warning": "אזהרת מחיקה לצמיתות",
@@ -982,6 +1040,7 @@
"previous_memory": "זיכרון קודם",
"previous_or_next_photo": "התמונה הקודמת או הבאה",
"primary": "ראשי",
+ "privacy": "פרטיות",
"profile_image_of_user": "תמונת פרופיל של {user}",
"profile_picture_set": "תמונת פרופיל נבחרה.",
"public_album": "אלבום ציבורי",
@@ -992,7 +1051,7 @@
"purchase_activated_title": "המפתח שלך הופעל בהצלחה",
"purchase_button_activate": "הפעל",
"purchase_button_buy": "קנה",
- "purchase_button_buy_immich": "קנה Immich",
+ "purchase_button_buy_immich": "קנה את Immich",
"purchase_button_never_show_again": "לעולם אל תראה שוב",
"purchase_button_reminder": "הזכר לי בעוד 30 יום",
"purchase_button_remove_key": "הסר מפתח",
@@ -1005,7 +1064,7 @@
"purchase_license_subtitle": "קנה את Immich כדי לתמוך בפיתוח המתמשך של השירות",
"purchase_lifetime_description": "רכישה לכל החיים",
"purchase_option_title": "אפשרויות רכישה",
- "purchase_panel_info_1": "בניית Immich לוקחת הרבה זמן ומאמץ, ויש לנו מהנדסים במשרה מלאה שעובדים על זה כדי לעשות את זה הכי טוב שאנחנו יכולים. המשימה שלנו היא שתוכנות קוד-פתוח ושיטות עסקיות אתיות יהיו מקור הכנסה בר-קיימא למפתחים וליצור מערכת אקולוגית שמכבדת פרטיות עם חלופות אמיתיות לשירותי ענן נצלנים.",
+ "purchase_panel_info_1": "בניית Immich לוקחת הרבה זמן ומאמץ, ויש לנו מהנדסים במשרה מלאה שעובדים על זה כדי לעשות את זה הכי טוב שאנחנו יכולים. המשימה שלנו היא שתוכנות קוד-פתוח ושיטות עסקיות אתיות יהיו מקור הכנסה בר-קיימא למפתחים וליצור אקוסיסטם המכבדת פרטיות עם חלופות אמיתיות לשירותי ענן נצלנים.",
"purchase_panel_info_2": "מכיוון שאנחנו מחויבים לא להוסיף חומות תשלום, הרכישה הזאת לא תקנה לך תכונות נוספות כלשהן ב-Immich. אנחנו סומכים על משתמשים כמוך שיתמכו בפיתוח המתמשך של Immich.",
"purchase_panel_title": "תמוך בפרויקט",
"purchase_per_server": "עבור שרת",
@@ -1019,6 +1078,10 @@
"purchase_server_title": "שרת",
"purchase_settings_server_activated": "מפתח המוצר של השרת מנוהל על ידי מנהל המערכת",
"range": "",
+ "rating": "דירוג כוכב",
+ "rating_clear": "נקה דירוג",
+ "rating_count": "{count, plural, one {כוכב #} other {# כוכבים}}",
+ "rating_description": "הצג את דירוג ה-EXIF בלוח המידע",
"raw": "",
"reaction_options": "אפשרויות הגבה",
"read_changelog": "קרא את יומן השינויים",
@@ -1030,11 +1093,13 @@
"recent_searches": "חיפושים אחרונים",
"refresh": "רענן",
"refresh_encoded_videos": "רענן סרטונים מקודדים",
+ "refresh_faces": "רענן פנים",
"refresh_metadata": "רענן מטא-נתונים",
"refresh_thumbnails": "רענן תמונות ממוזערות",
"refreshed": "רוענן",
- "refreshes_every_file": "מרענן כל קובץ",
+ "refreshes_every_file": "קורא מחדש את כל הקבצים הקיימים והחדשים",
"refreshing_encoded_video": "מרענן סרטון מקודד",
+ "refreshing_faces": "מרענן פרצופים",
"refreshing_metadata": "מרענן מטא-נתונים",
"regenerating_thumbnails": "מחדש תמונות ממוזערות",
"remove": "הסר",
@@ -1042,15 +1107,16 @@
"remove_assets_shared_link_confirmation": "האם את/ה בטוח/ה שברצונך להסיר {count, plural, one {נכס #} other {# נכסים}} מהקישור המשותף הזה?",
"remove_assets_title": "הסר נכסים?",
"remove_custom_date_range": "הסר טווח תאריכים מותאם",
+ "remove_deleted_assets": "הסר קבצים לא מקוונים",
"remove_from_album": "הסר מאלבום",
"remove_from_favorites": "הסר מהמועדפים",
"remove_from_shared_link": "הסר מקישור משותף",
- "remove_offline_files": "הסר קבצים לא מקוונים",
"remove_user": "הסר משתמש",
"removed_api_key": "מפתח API הוסר: {name}",
"removed_from_archive": "הוסר מארכיון",
"removed_from_favorites": "הוסר ממועדפים",
"removed_from_favorites_count": "{count, plural, other {הוסרו #}} מהמועדפים",
+ "removed_tagged_assets": "תג הוסר מ{count, plural, one {נכס #} other {# נכסים}}",
"rename": "שנה שם",
"repair": "תיקון",
"repair_no_results_message": "קבצים חסרי מעקב וחסרים יופיעו כאן",
@@ -1082,6 +1148,7 @@
"say_something": "תגיד/י משהו",
"scan_all_libraries": "סרוק את כל הספריות",
"scan_all_library_files": "סרוק מחדש את כל קבצי הספרייה",
+ "scan_library": "סרוק",
"scan_new_library_files": "סרוק קבצי ספרייה חדשים",
"scan_settings": "הגדרות סריקה",
"scanning_for_album": "סורק אחר אלבום...",
@@ -1089,7 +1156,7 @@
"search_albums": "חפש אלבומים",
"search_by_context": "חפש לפי הקשר",
"search_by_filename": "חיפוש לפי שם קובץ או סיומת",
- "search_by_filename_example": "לדוגמא IMG_1234.JPG/PNG",
+ "search_by_filename_example": "לדוגמא IMG_1234.JPG או PNG",
"search_camera_make": "חפש תוצרת מצלמה...",
"search_camera_model": "חפש דגם מצלמה...",
"search_city": "חפש עיר...",
@@ -1097,9 +1164,12 @@
"search_for_existing_person": "חפש אדם קיים",
"search_no_people": "אין אנשים",
"search_no_people_named": "אין אנשים בשם \"{name}\"",
+ "search_options": "אפשרויות חיפוש",
"search_people": "חפש אנשים",
"search_places": "חפש מקומות",
+ "search_settings": "הגדרות חיפוש",
"search_state": "חפש מדינה...",
+ "search_tags": "חיפוש תגים...",
"search_timezone": "חפש אזור זמן...",
"search_type": "סוג חיפוש",
"search_your_photos": "חפש בתמונות שלך",
@@ -1141,6 +1211,7 @@
"shared_by_user": "משותף על ידי {user}",
"shared_by_you": "משותף על ידך",
"shared_from_partner": "תמונות מאת {partner}",
+ "shared_link_options": "אפשרויות קישור משותף",
"shared_links": "קישורים משותפים",
"shared_photos_and_videos_count": "{assetCount, plural, other {# תמונות וסרטונים משותפים.}}",
"shared_with_partner": "משותף עם {partner}",
@@ -1149,6 +1220,7 @@
"sharing_sidebar_description": "הצג קישור אל שיתוף בסרגל הצד",
"shift_to_permanent_delete": "לחץ ⇧ כדי למחוק לצמיתות נכס",
"show_album_options": "הצג אפשרויות אלבום",
+ "show_albums": "הצג אלבומים",
"show_all_people": "הצג את כל האנשים",
"show_and_hide_people": "הצג & הסתר אנשים",
"show_file_location": "הצג את מיקום הקובץ",
@@ -1163,13 +1235,18 @@
"show_person_options": "הצג אפשרויות אדם",
"show_progress_bar": "הצג סרגל התקדמות",
"show_search_options": "הצג אפשרויות חיפוש",
+ "show_slideshow_transition": "הצג מעבר מצגת",
"show_supporter_badge": "תג תומך",
"show_supporter_badge_description": "הצג תג תומך",
"shuffle": "ערבוב",
+ "sidebar": "סרגל צד",
+ "sidebar_display_description": "הצג קישור לתצוגה בסרגל הצד",
"sign_out": "יציאה מהמערכת",
"sign_up": "הרשמה",
"size": "גודל",
"skip_to_content": "דלג לתוכן",
+ "skip_to_folders": "דלג לתיקיות",
+ "skip_to_tags": "דלג לתגים",
"slideshow": "מצגת שקופיות",
"slideshow_settings": "הגדרות מצגת שקופיות",
"sort_albums_by": "מיין אלבומים לפי...",
@@ -1181,6 +1258,8 @@
"sort_title": "כותרת",
"source": "מקור",
"stack": "ערימה",
+ "stack_duplicates": "צור ערימת כפילויות",
+ "stack_select_one_photo": "בחר תמונה ראשית אחת עבור הערימה",
"stack_selected_photos": "צור ערימת תמונות נבחרות",
"stacked_assets_count": "{count, plural, one {נכס # נערם} other {# נכסים נערמו}}",
"stacktrace": "Stacktrace",
@@ -1197,28 +1276,42 @@
"storage_usage": "{used} בשימוש מתוך {available}",
"submit": "שלח",
"suggestions": "הצעות",
- "sunrise_on_the_beach": "שקיעה על החוף (מומלץ לחפש באנגלית לתוצאות טובות יותר)",
+ "sunrise_on_the_beach": "Sunrise on the beach (מומלץ לחפש באנגלית לתוצאות טובות יותר)",
+ "support": "תמיכה",
+ "support_and_feedback": "תמיכה & משוב",
+ "support_third_party_description": "התקנת ה-Immich שלך נארזה על ידי צד שלישי. בעיות שאתה חווה עשויות להיגרם על ידי חבילה זו, אז בבקשה תעלה בעיות איתם ראשית כל באמצעות הקישורים למטה.",
"swap_merge_direction": "החלף כיוון מיזוג",
"sync": "סנכרן",
+ "tag": "תג",
+ "tag_assets": "תיוג נכסים",
+ "tag_created": "נוצר תג: {tag}",
+ "tag_feature_description": "עיון בתמונות וסרטונים שקובצו על ידי נושאי תג לוגיים",
+ "tag_not_found_question": "לא מצליח למצוא תג? צור תג חדש",
+ "tag_updated": "תג מעודכן: {tag}",
+ "tagged_assets": "תויגו {count, plural, one {נכס #} other {# נכסים}}",
+ "tags": "תגים",
"template": "תבנית",
"theme": "ערכת נושא",
"theme_selection": "בחירת ערכת נושא",
"theme_selection_description": "הגדר אוטומטית את ערכת הנושא לבהיר או כהה בהתבסס על העדפת המערכת של הדפדפן שלך",
"they_will_be_merged_together": "הם יתמזגו יחד",
+ "third_party_resources": "משאבי צד שלישי",
"time_based_memories": "זכרונות מבוססי זמן",
"timezone": "אזור זמן",
"to_archive": "העבר לארכיון",
"to_change_password": "שנה סיסמה",
"to_favorite": "מועדף",
"to_login": "כניסה",
+ "to_parent": "לך להורה",
+ "to_root": "לשורש",
"to_trash": "אשפה",
"toggle_settings": "החלף מצב הגדרות",
- "toggle_theme": "החלף מצב ערכת נושא",
+ "toggle_theme": "החלף ערכת נושא כהה",
"toggle_visibility": "החלף נראות",
"total_usage": "שימוש כולל",
"trash": "אשפה",
"trash_all": "העבר הכל לאשפה",
- "trash_count": "{count} לאשפה",
+ "trash_count": "העבר לאשפה {count, number}",
"trash_delete_asset": "העבר לאשפה/מחק נכס",
"trash_no_results_message": "תמונות וסרטונים שהועברו לאשפה יופיעו כאן.",
"trashed_items_will_be_permanently_deleted_after": "פריטים באשפה ימחקו לצמיתות לאחר {days, plural, one {יום #} other {# ימים}}.",
@@ -1232,9 +1325,11 @@
"unknown_album": "אלבום לא ידוע",
"unknown_year": "שנה לא ידועה",
"unlimited": "בלתי מוגבל",
+ "unlink_motion_video": "בטל קישור סרטון תנועה",
"unlink_oauth": "בטל קישור OAuth",
"unlinked_oauth_account": "בוטל קישור חשבון OAuth",
"unnamed_album": "אלבום ללא שם",
+ "unnamed_album_delete_confirmation": "את/ה בטוח/ה שברצונך למחוק את האלבום הזה?",
"unnamed_share": "שיתוף ללא שם",
"unsaved_change": "שינוי לא נשמר",
"unselect_all": "בטל בחירה בהכל",
@@ -1274,6 +1369,8 @@
"version": "גרסה",
"version_announcement_closing": "החבר שלך, אלכס",
"version_announcement_message": "הי חבר/ה, יש מהדורה חדשה של היישום, אנא קח/י את הזמן שלך לבקר ב הערות פרסום ולוודא שמבנה ה-docker-compose.yml
, וה-.env
שלך עדכני כדי למנוע תצורות שגויות, במיוחד אם את/ה משתמש/ת ב-WatchTower או בכל מנגנון שמטפל בעדכון היישום שלך באופן אוטומטי.",
+ "version_history": "היסטוריית גרסאות",
+ "version_history_item": "{version} הותקנה ב-{date}",
"video": "סרטון",
"video_hover_setting": "הפעל תצוגת סרטון מקדימה בעת ריחוף",
"video_hover_setting_description": "הפעל תצוגת סרטון מקדימה כאשר העכבר מרחף מעל פריט. אפילו כשהגדרה זו מושבתת, ניתן להתחיל את הניגון על ידי ריחוף מעל סמל ההפעלה.",
@@ -1283,6 +1380,7 @@
"view_album": "הצג אלבום",
"view_all": "הצג הכל",
"view_all_users": "הצג את כל המשתמשים",
+ "view_in_timeline": "ראה בציר הזמן",
"view_links": "הצג קישורים",
"view_next_asset": "הצג את הנכס הבא",
"view_previous_asset": "הצג את הנכס הקודם",
@@ -1298,5 +1396,5 @@
"years_ago": "לפני {years, plural, one {שנה #} other {# שנים}}",
"yes": "כן",
"you_dont_have_any_shared_links": "אין לך קישורים משותפים",
- "zoom_image": "התקרב לתמונה"
+ "zoom_image": "זום לתמונה"
}
diff --git a/i18n/hi.json b/i18n/hi.json
new file mode 100644
index 0000000000..58b99dbc3c
--- /dev/null
+++ b/i18n/hi.json
@@ -0,0 +1,1168 @@
+{
+ "about": "बारे में",
+ "account": "अभिलेख",
+ "account_settings": "अभिलेख व्यवस्था",
+ "acknowledge": "स्वीकार करें",
+ "action": "कार्रवाई",
+ "actions": "कार्यवाहियां",
+ "active": "सक्रिय",
+ "activity": "गतिविधि",
+ "activity_changed": "गतिविधि {enabled, select, true {enabled} other {disabled}}",
+ "add": "जोड़ें",
+ "add_a_description": "एक विवरण जोड़ें",
+ "add_a_location": "एक स्थान जोड़ें",
+ "add_a_name": "नाम जोड़ें",
+ "add_a_title": "एक शीर्षक जोड़ें",
+ "add_exclusion_pattern": "निषेध उदाहरण जोड़ें",
+ "add_import_path": "आयात पथ जोड़ें",
+ "add_location": "स्थान जोड़ें",
+ "add_more_users": "अधिक उपयोगकर्ता जोड़ें",
+ "add_partner": "जोड़ीदार जोड़ें",
+ "add_path": "पथ जोड़ें",
+ "add_photos": "फ़ोटो जोड़ें",
+ "add_to": "इसमें जोड़ें..।",
+ "add_to_album": "एल्बम में जोड़ें",
+ "add_to_shared_album": "साझा एल्बम में जोड़ें",
+ "added_to_archive": "संग्रहीत कर दिया गया है",
+ "added_to_favorites": "पसंदीदा में जोड़ा गया",
+ "added_to_favorites_count": "पसंदीदा में {count, number} जोड़ा गया",
+ "admin": {
+ "add_exclusion_pattern_description": "बहिष्करण पैटर्न जोड़ें. *, **, और ? का उपयोग करके ग्लोबिंग करना समर्थित है। \"Raw\" नामक किसी भी निर्देशिका की सभी फ़ाइलों को अनदेखा करने के लिए, \"**/Raw/**\" का उपयोग करें। \".tif\" से समाप्त होने वाली सभी फ़ाइलों को अनदेखा करने के लिए, \"**/*.tif\" का उपयोग करें। किसी पूर्ण पथ को अनदेखा करने के लिए, \"/path/to/ignore/**\" का उपयोग करें।",
+ "authentication_settings": "प्रमाणीकरण सेटिंग्स",
+ "authentication_settings_description": "पासवर्ड, OAuth और अन्य प्रमाणीकरण सेटिंग्स प्रबंधित करें",
+ "authentication_settings_disable_all": "क्या आप वाकई सभी लॉगिन विधियों को अक्षम करना चाहते हैं? लॉगिन पूरी तरह से अक्षम कर दिया जाएगा।",
+ "authentication_settings_reenable": "पुनः सक्षम करने के लिए, Server Command का प्रयोग करे।",
+ "background_task_job": "पृष्ठभूमि कार्य",
+ "check_all": "सभी चेक करें",
+ "cleared_jobs": "{job}: के लिए कार्य साफ़ कर दिए गए",
+ "config_set_by_file": "Config वर्तमान में एक config फ़ाइल द्वारा सेट किया गया है",
+ "confirm_delete_library": "क्या आप वाकई {library} लाइब्रेरी को हटाना चाहते हैं?",
+ "confirm_delete_library_assets": "क्या आप वाकई इस लाइब्रेरी को हटाना चाहते हैं? यह इम्मीच से {count, plural, one {# contained asset} other {all # contained assets}} हटा दिया जाएगा और इसे पूर्ववत नहीं किया जा सकेगा। फ़ाइलें डिस्क पर रहेंगी।",
+ "confirm_email_below": "पुष्टि करने के लिए नीचे \"{email}\" टाइप करें",
+ "confirm_reprocess_all_faces": "क्या आप वाकई सभी चेहरों को दोबारा संसाधित करना चाहते हैं? इससे नामित लोग भी साफ हो जायेंगे।",
+ "confirm_user_password_reset": "क्या आप वाकई {user} का पासवर्ड रीसेट करना चाहते हैं?",
+ "crontab_guru": "",
+ "disable_login": "लॉगिन अक्षम करें",
+ "disabled": "",
+ "duplicate_detection_job_description": "समान छवियों का पता लगाने के लिए संपत्तियों पर मशीन लर्निंग चलाएं। यह कार्यक्षमता स्मार्ट खोज पर निर्भर करती है",
+ "exclusion_pattern_description": "Exclusion पैटर्न आपको अपनी लाइब्रेरी को स्कैन करते समय फ़ाइलों और फ़ोल्डरों को अनदेखा करने देता है। यह उपयोगी है यदि आपके पास ऐसे फ़ोल्डर हैं जिनमें ऐसी फ़ाइलें हैं जिन्हें आप आयात नहीं करना चाहते हैं, जैसे RAW फ़ाइलें।",
+ "external_library_created_at": "बाहरी लाइब्रेरी ({date} को बनाई गई)",
+ "external_library_management": "बाहरी लाइब्रेरी प्रबंधन",
+ "face_detection": "चेहरे का पहचान",
+ "face_detection_description": "मशीन लर्निंग का उपयोग करके संपत्तियों में चेहरों का पता लगाएं। वीडियो के लिए, केवल थंबनेल पर विचार किया जाता है। \"सभी\" परिसंपत्तियों को (पुनः) संसाधित करता है। \"लापता\" उन परिसंपत्तियों को कतारबद्ध करता है जिन्हें अभी तक संसाधित नहीं किया गया है। फेस डिटेक्शन पूरा होने के बाद पहचाने गए चेहरों को चेहरे की पहचान के लिए कतारबद्ध किया जाएगा, उन्हें मौजूदा या नए लोगों में समूहित किया जाएगा।",
+ "facial_recognition_job_description": "समूह ने लोगों में चेहरों का पता लगाया। यह चरण फेस डिटेक्शन पूरा होने के बाद चलता है। \"सभी\" चेहरों को (पुनः) समूहित करता है। \"लापता\" कतार में वे चेहरे हैं जिनके लिए कोई व्यक्ति नियुक्त नहीं है।",
+ "failed_job_command": "कार्य {job} के लिए आदेश {command} विफल",
+ "force_delete_user_warning": "चेतावनी: इससे उपयोगकर्ता और सारा डेटा तुरंत हट जाएगा। इसे पूर्ववत नहीं किया जा सकता और फ़ाइलें पुनर्प्राप्त नहीं की जा सकतीं।",
+ "forcing_refresh_library_files": "सभी लाइब्रेरी फ़ाइलों को जबरन सामयिक करें",
+ "image_format_description": "वेबपी, जेपीईजी की तुलना में छोटी फ़ाइलें बनाता है, लेकिन एनकोड करने में धीमा है।",
+ "image_prefer_embedded_preview": "एम्बेडेड पूर्वावलोकन को प्राथमिकता दें",
+ "image_prefer_embedded_preview_setting_description": "जब उपलब्ध हो तो RAW फ़ोटो में एम्बेडेड पूर्वावलोकन का उपयोग इमेज प्रोसेसिंग के इनपुट के रूप में करें। यह कुछ छवियों के लिए अधिक सटीक रंग उत्पन्न कर सकता है, लेकिन पूर्वावलोकन की गुणवत्ता कैमरे पर निर्भर करती है और छवि में अधिक संपीड़न कलाकृतियाँ हो सकती हैं।",
+ "image_prefer_wide_gamut": "विस्तृत सरगम को प्राथमिकता दें",
+ "image_prefer_wide_gamut_setting_description": "थंबनेल के लिए डिस्प्ले P3 का उपयोग करें। यह विस्तृत कलरस्पेस वाली छवियों की जीवंतता को बेहतर ढंग से संरक्षित करता है, लेकिन पुराने ब्राउज़र संस्करण वाले पुराने डिवाइस पर छवियां अलग-अलग दिखाई दे सकती हैं। रंग परिवर्तन से बचने के लिए sRGB छवियों को sRGB के रूप में रखा जाता है।",
+ "image_preview_format": "पूर्वावलोकन प्रारूप",
+ "image_preview_resolution": "पूर्वावलोकन रिज़ॉल्यूशन",
+ "image_preview_resolution_description": "एकल फ़ोटो देखते समय और मशीन लर्निंग के लिए उपयोग किया जाता है। उच्च रिज़ॉल्यूशन अधिक विवरण को संरक्षित कर सकता है लेकिन एन्कोड करने में अधिक समय लेता है, फ़ाइल आकार बड़ा होता है, और ऐप की प्रतिक्रियाशीलता कम हो सकती है।",
+ "image_quality": "गुणवत्ता",
+ "image_quality_description": "छवि गुणवत्ता 1-100 तक। उच्च गुणवत्ता बेहतर है लेकिन बड़ी फ़ाइलें बनाती है, यह विकल्प पूर्वावलोकन और थंबनेल छवियों को प्रभावित करता है।",
+ "image_settings": "छवि सेटिंग्स",
+ "image_settings_description": "उत्पन्न छवियों की गुणवत्ता और रिज़ॉल्यूशन प्रबंधित करें",
+ "image_thumbnail_format": "थंबनेल प्रारूप",
+ "image_thumbnail_resolution": "थंबनेल रिज़ॉल्यूशन",
+ "image_thumbnail_resolution_description": "फ़ोटो के समूह (मुख्य टाइमलाइन, एल्बम दृश्य, आदि) देखते समय उपयोग किया जाता है। उच्च रिज़ॉल्यूशन अधिक विवरण को संरक्षित कर सकता है लेकिन एन्कोड करने में अधिक समय लेता है, फ़ाइल आकार बड़ा होता है, और ऐप की प्रतिक्रियाशीलता कम हो सकती है।",
+ "job_concurrency": "{job} समरूपता",
+ "job_not_concurrency_safe": "यह कार्य (जॉब) समवर्ती-सुरक्षित नहीं है।",
+ "job_settings": "कार्य (जॉब) सेटिंग्स",
+ "job_settings_description": "कार्य (जॉब) समवर्तीता प्रबंधित करें",
+ "job_status": "कार्य (जॉब) स्थिति",
+ "jobs_delayed": "{jobCount, plural, other {# विलंबित}}",
+ "jobs_failed": "{jobCount, plural, other {# असफल}}",
+ "library_created": "निर्मित संग्रह: {library}",
+ "library_cron_expression": "क्रॉन व्यंजक",
+ "library_cron_expression_description": "क्रॉन प्रारूप का उपयोग करके स्कैनिंग अंतराल सेट करें। अधिक जानकारी के लिए कृपया उदाहरण के लिए Crontab Guru देखें",
+ "library_cron_expression_presets": "क्रॉन व्यंजक प्रीसेट",
+ "library_deleted": "संग्रह हटा दिया गया",
+ "library_import_path_description": "आयात करने के लिए एक फ़ोल्डर निर्दिष्ट करें। सबफ़ोल्डर्स सहित इस फ़ोल्डर को छवियों और वीडियो के लिए स्कैन किया जाएगा।",
+ "library_scanning": "सामयिक स्कैनिंग",
+ "library_scanning_description": "सामयिक लाइब्रेरी स्कैनिंग कॉन्फ़िगर करें",
+ "library_scanning_enable_description": "सामयिक लाइब्रेरी स्कैनिंग सक्षम करें",
+ "library_settings": "बाहरी संग्रह",
+ "library_settings_description": "बाहरी संग्रह सेटिंग प्रबंधित करें",
+ "library_tasks_description": "संग्रह कार्य निष्पादित करें",
+ "library_watching_enable_description": "एक्सटर्नल लाइब्रेरीज में बदलावों के लिए निगरानी रखें",
+ "library_watching_settings": "पुस्तकालय निगरानी (प्रायोगिक)",
+ "library_watching_settings_description": "परिवर्तित फ़ाइलों पर स्वचालित रूप से नज़र रखें",
+ "logging_enable_description": "लॉगिंग करने देना",
+ "logging_level_description": "सक्षम होने पर, किस लॉग स्तर का उपयोग करना है।",
+ "logging_settings": "लॉगिंग",
+ "machine_learning_clip_model": "क्लिप मॉडल",
+ "machine_learning_clip_model_description": "CLIP मॉडल का नाम यहां सूचीबद्ध है। ध्यान दें कि मॉडल बदलने पर आपको सभी छवियों के लिए 'स्मार्ट सर्च' जोब फिर से चलाना होगा।",
+ "machine_learning_duplicate_detection": "डुप्लिकेट का पता लगाना",
+ "machine_learning_duplicate_detection_enabled": "डुप्लिकेट पहचान सक्षम करें",
+ "machine_learning_duplicate_detection_enabled_description": "यदि अक्षम किया गया है, तो बिल्कुल समान चित्र अभी भी डी-डुप्लिकेट किया जाएगा।",
+ "machine_learning_duplicate_detection_setting_description": "संभावित डुप्लिकेट खोजने के लिए CLIP एम्बेडिंग का उपयोग करें",
+ "machine_learning_enabled": "मशीन लर्निंग सक्षम करें",
+ "machine_learning_enabled_description": "यदि अक्षम किया गया है, तो नीचे दी गई सेटिंग्स पर ध्यान दिए बिना सभी एमएल सुविधाएं अक्षम कर दी जाएंगी।",
+ "machine_learning_facial_recognition": "चेहरे की पहचान",
+ "machine_learning_facial_recognition_description": "छवियों में चेहरे का पता लगाना, पहचानना और समूह बनाना",
+ "machine_learning_facial_recognition_model": "चेहरे की पहचान मॉडल",
+ "machine_learning_facial_recognition_model_description": "मॉडल आकार के अवरोही क्रम में सूचीबद्ध हैं। बड़े मॉडल धीमी हैं और अधिक स्मृति का उपयोग करते हैं, लेकिन बेहतर परिणाम देते हैं। ध्यान दें कि आपको एक मॉडल बदलने पर सभी छवियों के लिए फेस डिटेक्शन जॉब को फिर से शुरू करना होगा।।",
+ "machine_learning_facial_recognition_setting": "चेहरे की पहचान सक्षम करें",
+ "machine_learning_facial_recognition_setting_description": "यदि अक्षम किया गया है, तो छवियों को चेहरे की पहचान के लिए एन्कोड नहीं किया जाएगा और एक्सप्लोर पेज में लोग अनुभाग को पॉप्युलेट नहीं किया जाएगा।",
+ "machine_learning_max_detection_distance": "अधिकतम पता लगाने की दूरी",
+ "machine_learning_max_detection_distance_description": "दो छवियों को डुप्लिकेट मानने के लिए उनके बीच की अधिकतम दूरी 0.001-0.1 के बीच है।",
+ "machine_learning_max_recognition_distance": "अधिकतम पहचान दूरी",
+ "machine_learning_max_recognition_distance_description": "एक ही व्यक्ति माने जाने वाले दो चेहरों के बीच अधिकतम दूरी 0-2 के बीच है।",
+ "machine_learning_min_detection_score": "न्यूनतम पहचान स्कोर",
+ "machine_learning_min_detection_score_description": "किसी चेहरे का पता लगाने के लिए न्यूनतम आत्मविश्वास स्कोर 0-1 होना चाहिए।",
+ "machine_learning_min_recognized_faces": "निम्नतम पहचाने चेहरे",
+ "machine_learning_min_recognized_faces_description": "किसी व्यक्ति के लिए पहचाने जाने वाले चेहरों की न्यूनतम संख्या।",
+ "machine_learning_settings": "मशीन लर्निंग सेटिंग्स",
+ "machine_learning_settings_description": "मशीन लर्निंग सुविधाओं और सेटिंग्स को प्रबंधित करें",
+ "machine_learning_smart_search": "स्मार्ट खोज",
+ "machine_learning_smart_search_description": "CLIP एम्बेडिंग का उपयोग करके शब्दार्थ रूप से छवियां खोजें",
+ "machine_learning_smart_search_enabled": "स्मार्ट खोज सक्षम करें",
+ "machine_learning_smart_search_enabled_description": "यदि अक्षम किया गया है, तो स्मार्ट खोज के लिए छवियों को एन्कोड नहीं किया जाएगा।",
+ "machine_learning_url_description": "मशीन लर्निंग सर्वर का यूआरएल",
+ "manage_concurrency": "समवर्तीता प्रबंधित करें",
+ "manage_log_settings": "लॉग सेटिंग प्रबंधित करें",
+ "map_dark_style": "डार्क शैली",
+ "map_enable_description": "मानचित्र सुविधाएँ सक्षम करें",
+ "map_gps_settings": "मानचित्र एवं जीपीएस सेटिंग्स",
+ "map_gps_settings_description": "मानचित्र और जीपीएस (रिवर्स जियोकोडिंग) सेटिंग्स प्रबंधित करें",
+ "map_light_style": "हल्की शैली",
+ "map_manage_reverse_geocoding_settings": "प्रबंधित करना रिवर्स जियोकोडिंग समायोजन",
+ "map_reverse_geocoding": "रिवर्स जियोकोडिंग",
+ "map_reverse_geocoding_enable_description": "रिवर्स जियोकोडिंग सक्षम करें",
+ "map_reverse_geocoding_settings": "जियोकोडिंग सेटिंग्स को उल्टा करें",
+ "map_settings": "मानचित्र सेटिंग",
+ "map_settings_description": "मानचित्र सेटिंग प्रबंधित करें",
+ "map_style_description": "style.json मैप थीम का URL",
+ "metadata_extraction_job": "मेटाडेटा निकालें",
+ "metadata_extraction_job_description": "प्रत्येक परिसंपत्ति से जीपीएस और रिज़ॉल्यूशन जैसी मेटाडेटा जानकारी निकालें",
+ "migration_job": "प्रवास",
+ "migration_job_description": "संपत्तियों और चेहरों के थंबनेल को नवीनतम फ़ोल्डर संरचना में माइग्रेट करें",
+ "no_paths_added": "कोई पथ नहीं जोड़ा गया",
+ "no_pattern_added": "कोई पैटर्न नहीं जोड़ा गया",
+ "note_apply_storage_label_previous_assets": "नोट: पहले अपलोड की गई संपत्तियों पर स्टोरेज लेबल लागू करने के लिए, चलाएँ",
+ "note_cannot_be_changed_later": "नोट: इसे बाद में बदला नहीं जा सकता!",
+ "note_unlimited_quota": "नोट: असीमित कोटा के लिए 0 दर्ज करें",
+ "notification_email_from_address": "इस पते से",
+ "notification_email_from_address_description": "प्रेषक का ईमेल पता, उदाहरण के लिए: \"इमिच फोटो सर्वर docker-compose.yml
, और .env
किसी भी गलत कॉन्फ़िगरेशन को रोकने के लिए सेटअप अद्यतित है, खासकर यदि आप वॉचटावर या किसी भी तंत्र का उपयोग करते हैं जो आपके एप्लिकेशन को स्वचालित रूप से अपडेट करने का प्रबंधन करता है।",
+ "video": "वीडियो",
+ "video_hover_setting": "होवर पर वीडियो थंबनेल चलाएं",
+ "video_hover_setting_description": "जब माउस आइटम पर घूम रहा हो तो वीडियो थंबनेल चलाएं।",
+ "videos": "वीडियो",
+ "view": "देखना",
+ "view_album": "एल्बम देखें",
+ "view_all": "सभी को देखें",
+ "view_all_users": "सभी उपयोगकर्ताओं को देखें",
+ "view_links": "लिंक देखें",
+ "view_next_asset": "अगली संपत्ति देखें",
+ "view_previous_asset": "पिछली संपत्ति देखें",
+ "view_stack": "ढेर देखें",
+ "viewer": "",
+ "waiting": "इंतज़ार में",
+ "warning": "चेतावनी",
+ "week": "सप्ताह",
+ "welcome": "स्वागत",
+ "welcome_to_immich": "इमिच में आपका स्वागत है",
+ "year": "वर्ष",
+ "yes": "हाँ",
+ "you_dont_have_any_shared_links": "आपके पास कोई साझा लिंक नहीं है",
+ "zoom_image": "छवि ज़ूम करें"
+}
diff --git a/i18n/hr.json b/i18n/hr.json
new file mode 100644
index 0000000000..0b1c6c64ba
--- /dev/null
+++ b/i18n/hr.json
@@ -0,0 +1,1251 @@
+{
+ "about": "O",
+ "account": "Račun",
+ "account_settings": "Postavke računa",
+ "acknowledge": "Potvrdi",
+ "action": "Akcija",
+ "actions": "Akcije",
+ "active": "Aktivno",
+ "activity": "Aktivnost",
+ "activity_changed": "Aktivnost je {enabled, select, true {omogućena} other {onemogućena}}",
+ "add": "Dodaj",
+ "add_a_description": "Dodaj opis",
+ "add_a_location": "Dodaj lokaciju",
+ "add_a_name": "Dodaj ime",
+ "add_a_title": "Dodaj naslov",
+ "add_exclusion_pattern": "Dodaj uzorak izuzimanja",
+ "add_import_path": "Dodaj import folder",
+ "add_location": "Dodaj lokaciju",
+ "add_more_users": "Dodaj još korisnika",
+ "add_partner": "Dodaj partnera",
+ "add_path": "Dodaj putanju",
+ "add_photos": "Dodaj slike",
+ "add_to": "Dodaj u...",
+ "add_to_album": "Dodaj u album",
+ "add_to_shared_album": "Dodaj u dijeljeni album",
+ "added_to_archive": "Dodano u arhivu",
+ "added_to_favorites": "Dodano u omiljeno",
+ "added_to_favorites_count": "Dodano {count, number} u omiljeno",
+ "admin": {
+ "add_exclusion_pattern_description": "Dodajte uzorke izuzimanja. Globiranje pomoću *, ** i ? je podržano. Za ignoriranje svih datoteka u bilo kojem direktoriju pod nazivom \"Raw\", koristite \"**/Raw/**\". Da biste zanemarili sve datoteke koje završavaju na \".tif\", koristite \"**/*.tif\". Da biste zanemarili apsolutni put, koristite \"/path/to/ignore/**\".",
+ "asset_offline_description": "Ovo sredstvo vanjske knjižnice više nije pronađeno na disku i premješteno je u smeće. Ako je datoteka premještena unutar biblioteke, provjerite svoju vremensku traku za novo odgovarajuće sredstvo. Da biste vratili ovo sredstvo, provjerite može li Immich pristupiti donjoj stazi datoteke i skenirajte biblioteku.",
+ "authentication_settings": "Postavke autentikacije",
+ "authentication_settings_description": "Uredi lozinku, OAuth, i druge postavke autentikacije",
+ "authentication_settings_disable_all": "Jeste li sigurni da želite onemogućenit sve načine prijave? Prijava će biti potpuno onemogućena.",
+ "authentication_settings_reenable": "Za ponovno uključivanje upotrijebite naredbu poslužitelja.",
+ "background_task_job": "Pozadinski zadaci",
+ "check_all": "Provjeri sve",
+ "cleared_jobs": "Izbrisani poslovi za: {job}",
+ "config_set_by_file": "Konfiguracija je trenutno postavljena konfiguracijskom datotekom",
+ "confirm_delete_library": "Jeste li sigurni da želite izbrisati biblioteku {library}?",
+ "confirm_delete_library_assets": "Jeste li sigurni da želite izbrisati ovu biblioteku? Time će se izbrisati sva {count} sadržana sredstva iz Immicha i ne može se poništiti. Datoteke će ostati na disku.",
+ "confirm_email_below": "Za potvrdu upišite \"{email}\" ispod",
+ "confirm_reprocess_all_faces": "Jeste li sigurni da želite ponovno obraditi sva lica? Ovo će također obrisati imenovane osobe.",
+ "confirm_user_password_reset": "Jeste li sigurni da želite poništiti lozinku korisnika {user}?",
+ "create_job": "Izradi zadatak",
+ "crontab_guru": "Crontab Guru",
+ "disable_login": "Onemogući prijavu",
+ "duplicate_detection_job_description": "Pokrenite strojno učenje na materijalima kako biste otkrili slične slike. Oslanja se na Pametno Pretraživanje",
+ "exclusion_pattern_description": "Uzorci izuzimanja omogućuju vam da zanemarite datoteke i mape prilikom skeniranja svoje biblioteke. Ovo je korisno ako imate mape koje sadrže datoteke koje ne želite uvesti, kao što su RAW datoteke.",
+ "external_library_created_at": "Vanjska biblioteka (stvorena: {date})",
+ "external_library_management": "Upravljanje vanjskom knjižnicom",
+ "face_detection": "Detekcija lica",
+ "face_detection_description": "Prepoznajte lica u sredstvima pomoću strojnog učenja. Za videozapise u obzir se uzima samo minijaturni prikaz. \"Sve\" (ponovno) obrađuje svu imovinu. \"Nedostaje\" stavlja u red čekanja sredstva koja još nisu obrađena. Otkrivena lica bit će stavljena u red čekanja za prepoznavanje lica nakon dovršetka prepoznavanja lica, grupirajući ih u postojeće ili nove osobe.",
+ "facial_recognition_job_description": "Grupirajte otkrivena lica u osobe. Ovaj se korak pokreće nakon dovršetka prepoznavanja lica. \"Sve\" (ponovno) grupira sva lica. \"Nedostajuća\" lica u redovima kojima nije dodijeljena osoba.",
+ "failed_job_command": "Naredba {command} nije uspjela za posao: {job}",
+ "force_delete_user_warning": "UPOZORENJE: Ovo će odmah ukloniti korisnika i sve pripadajuće podatke. Ovo se ne može poništiti i datoteke se ne mogu vratiti.",
+ "forcing_refresh_library_files": "Prisilno osvježavanje svih datoteka knjižnice",
+ "image_format": "Format",
+ "image_format_description": "WebP proizvodi manje datoteke od JPEG-a, ali se sporije kodira.",
+ "image_prefer_embedded_preview": "Preferiraj ugrađeni pregled",
+ "image_prefer_embedded_preview_setting_description": "Koristite ugrađene preglede u RAW fotografije kao ulaz za obradu slike kada su dostupni. To može proizvesti preciznije boje za neke slike, ali kvaliteta pregleda ovisi o kameri i slika može imati više artefakata kompresije.",
+ "image_prefer_wide_gamut": "Preferirajte široku gamu",
+ "image_prefer_wide_gamut_setting_description": "Koristite Display P3 za sličice. Ovo bolje čuva živost slika sa širokim prostorima boja, ali slike mogu izgledati drugačije na starim uređajima sa starom verzijom preglednika. sRGB slike čuvaju se kao sRGB kako bi se izbjegle promjene boja.",
+ "image_preview_description": "Slika srednje veličine s ogoljenim metapodacima, koristi se prilikom pregledavanja jednog sredstva i za strojno učenje",
+ "image_preview_format": "Format pregleda",
+ "image_preview_quality_description": "Kvaliteta pregleda od 1-100. Više je bolje, ali proizvodi veće datoteke i može smanjiti odziv aplikacije. Postavljanje niske vrijednosti može utjecati na kvalitetu strojnog učenja.",
+ "image_preview_resolution": "Razlučivost pregleda",
+ "image_preview_resolution_description": "Koristi se pri gledanju jedne fotografije i za strojno učenje. Veće razlučivosti mogu sačuvati više detalja, ali trebaju dulje za kodiranje, imaju veće veličine datoteka i mogu smanjiti odaziv aplikacije.",
+ "image_quality": "Kvaliteta",
+ "image_quality_description": "Kvaliteta slike od 1-100. Više je bolji za kvalitetu, ali daje veće datoteke, ova opcija utječe na Pretpregled i sličice.",
+ "image_settings": "Postavke slike",
+ "image_settings_description": "Upravljajte kvalitetom i rezolucijom generiranih slika",
+ "image_thumbnail_format": "Format sličica",
+ "image_thumbnail_resolution": "Razlučivost sličica",
+ "image_thumbnail_resolution_description": "Koristi se prilikom pregledavanja grupa fotografija (glavna vremenska traka, prikaz albuma itd.). Veće razlučivosti mogu sačuvati više detalja, ali trebaju dulje za kodiranje, imaju veće veličine datoteka i mogu smanjiti odaziv aplikacije.",
+ "job_concurrency": "{job} istovremenost",
+ "job_created": "Zadatak je kreiran",
+ "job_not_concurrency_safe": "Ovaj posao nije siguran za istovremenost.",
+ "job_settings": "Postavke posla",
+ "job_settings_description": "Upravljajte istovremenošću poslova",
+ "job_status": "Status posla",
+ "jobs_delayed": "{jobCount, plural, other {# delayed}}",
+ "jobs_failed": "{jobCount, plural, other {# failed}}",
+ "library_created": "Stvorena biblioteka: {library}",
+ "library_cron_expression": "Cron izraz",
+ "library_cron_expression_description": "Postavite interval skeniranja koristeći cron format. Za više informacija pogledajte npr. Crontab Guru",
+ "library_cron_expression_presets": "Unaprijed postavljene cron izraze",
+ "library_deleted": "Biblioteka izbrisana",
+ "library_import_path_description": "Navedite mapu za uvoz. Ova će se mapa, uključujući podmape, skenirati u potrazi za slikama i videozapisima.",
+ "library_scanning": "Periodično Skeniranje",
+ "library_scanning_description": "Konfigurirajte periodično skeniranje biblioteke",
+ "library_scanning_enable_description": "Omogući periodično skeniranje biblioteke",
+ "library_settings": "Externa biblioteka",
+ "library_settings_description": "Upravljajte postavkama vanjske biblioteke",
+ "library_tasks_description": "Obavljati bibliotekne zadatke",
+ "library_watching_enable_description": "Pratite vanjske biblioteke za promjena datoteke",
+ "library_watching_settings": "Gledanje biblioteke (EKSPERIMENTALNO)",
+ "library_watching_settings_description": "Automatsko praćenje promijenjenih datoteke",
+ "logging_enable_description": "Omogući zapisivanje",
+ "logging_level_description": "Kada je omogućeno, koju razinu zapisivanja koristiti.",
+ "logging_settings": "Zapisivanje",
+ "machine_learning_clip_model": "CLIP model",
+ "machine_learning_clip_model_description": "Naziv CLIP modela navedenog ovdje. Imajte na umu da morate ponovno pokrenuti posao 'Pametno Pretraživanje' za sve slike nakon promjene modela.",
+ "machine_learning_duplicate_detection": "Detekcija Duplikata",
+ "machine_learning_duplicate_detection_enabled": "Omogući detekciju duplikata",
+ "machine_learning_duplicate_detection_enabled_description": "Ako je onemogućeno, potpuno identična sredstva i dalje će biti deduplicirana.",
+ "machine_learning_duplicate_detection_setting_description": "Upotrijebite CLIP ugradnje da biste pronašli vjerojatne duplikate",
+ "machine_learning_enabled": "Uključi strojsko učenje",
+ "machine_learning_enabled_description": "Ukoliko je ovo isključeno, sve funkcije strojnoga učenja biti će isključene bez obzira na postavke ispod.",
+ "machine_learning_facial_recognition": "Detekcija lica",
+ "machine_learning_facial_recognition_description": "Detektiraj, prepoznaj i grupiraj lica u fotografijama",
+ "machine_learning_facial_recognition_model": "Model prepoznavanja lica",
+ "machine_learning_facial_recognition_model_description": "Modeli su navedeni silaznim redoslijedom veličine. Veći modeli su sporiji i koriste više memorije, ali daju bolje rezultate. Imajte na umu da morate ponovno pokrenuti posao detekcije lica za sve slike nakon promjene modela.",
+ "machine_learning_facial_recognition_setting": "Omogući prepoznavanje lica",
+ "machine_learning_facial_recognition_setting_description": "Ako je onemogućeno, slike neće biti kodirane za prepoznavanje lica i neće popuniti odjeljak Ljudi na stranici Istraživanje.",
+ "machine_learning_max_detection_distance": "Maksimalna udaljenost za detektiranje",
+ "machine_learning_max_detection_distance_description": "Maksimalna udaljenost između dvije slike da bi se smatrale duplikatima, u rasponu od 0,001-0,1. Više vrijednosti otkrit će više duplikata, ali mogu rezultirati netočnim rezultatima.",
+ "machine_learning_max_recognition_distance": "Maksimalna udaljenost za detekciju",
+ "machine_learning_max_recognition_distance_description": "Maksimalna udaljenost između dva lica koja se smatraju istom osobom, u rasponu od 0-2. Snižavanje može spriječiti označavanje dvije osobe kao iste osobe, dok podizanje može spriječiti označavanje iste osobe kao dvije različite osobe. Imajte na umu da je lakše spojiti dvije osobe nego jednu osobu podijeliti na dvije, stoga koristite niži prag kada je to moguće.",
+ "machine_learning_min_detection_score": "Minimalni rezultat otkrivanja",
+ "machine_learning_min_detection_score_description": "Minimalni rezultat pouzdanosti za detektirano lice od 0-1. Niže vrijednosti otkrit će više lica, ali mogu dovesti do lažno pozitivnih rezultata.",
+ "machine_learning_min_recognized_faces": "Minimum prepoznatih lica",
+ "machine_learning_min_recognized_faces_description": "Najmanji broj prepoznatih lica za osobu koja se stvara. Povećanje toga čini prepoznavanje lica preciznijim po cijenu povećanja šanse da lice nije dodijeljeno osobi.",
+ "machine_learning_settings": "Postavke strojnog učenja",
+ "machine_learning_settings_description": "Upravljajte značajkama i postavkama strojnog učenja",
+ "machine_learning_smart_search": "Pametna pretraga",
+ "machine_learning_smart_search_description": "Pretražujte slike semantički koristeći CLIP ugradnje",
+ "machine_learning_smart_search_enabled": "Omogući pametno pretraživanje",
+ "machine_learning_smart_search_enabled_description": "Ako je onemogućeno, slike neće biti kodirane za pametno pretraživanje.",
+ "machine_learning_url_description": "URL poslužitelja strojnog učenja",
+ "manage_concurrency": "Upravljanje Istovremenošću",
+ "manage_log_settings": "Upravljanje postavkama zapisivanje",
+ "map_dark_style": "Tamni stil",
+ "map_enable_description": "Omogući značajke karte",
+ "map_gps_settings": "Postavke Karte i GPS-a",
+ "map_gps_settings_description": "Upravljajte Postavkama Karte i GPS-a (Obrnuto Geokodiranje)",
+ "map_implications": "Značajka karte se oslanja na vanjsku uslugu pločica (tiles.immich.cloud)",
+ "map_light_style": "Svijetli stil",
+ "map_manage_reverse_geocoding_settings": "Upravljajte postavkama Obrnutog Geokodiranja",
+ "map_reverse_geocoding": "Obrnuto Geokodiranje",
+ "map_reverse_geocoding_enable_description": "Omogući obrnuto geokodiranje",
+ "map_reverse_geocoding_settings": "Postavke Obrnuto Geokodiranje",
+ "map_settings": "Karta",
+ "map_settings_description": "Upravljanje postavkama karte",
+ "map_style_description": "URL na style.json temu karte",
+ "metadata_extraction_job": "Izdvoj metapodatke",
+ "metadata_extraction_job_description": "Izdvojite podatke o metapodacima iz svakog sredstva, kao što su GPS, lica i rezolucija",
+ "metadata_faces_import_setting": "Omogući uvoz lica",
+ "metadata_faces_import_setting_description": "Uvezite lica iz EXIF podataka slike i sidecar datoteka",
+ "metadata_settings": "Postavke Metapodataka",
+ "metadata_settings_description": "Upravljanje postavkama metapodataka",
+ "migration_job": "Migracija",
+ "migration_job_description": "Premjestite minijature za sredstva i lica u najnoviju strukturu mapa",
+ "no_paths_added": "Nema dodanih putanja",
+ "no_pattern_added": "Nije dodan uzorak",
+ "note_apply_storage_label_previous_assets": "Napomena: da biste primijenili Oznaku Pohrane na prethodno prenesena sredstva, pokrenite",
+ "note_cannot_be_changed_later": "NAPOMENA: Ovo se ne može promijeniti kasnije!",
+ "note_unlimited_quota": "Napomena: Unesite 0 za neograničenu kvotu",
+ "notification_email_from_address": "Od adrese",
+ "notification_email_from_address_description": "E-mail adresa pošiljatelja, na primjer: \"Immich Photo Server {label}
je korisnička oznaka za pohranu",
+ "system_settings": "Postavke Sustava",
+ "tag_cleanup_job": "Čišćenje oznaka",
+ "theme_custom_css_settings": "Prilagođeni CSS",
+ "theme_custom_css_settings_description": "Kaskadni listovi stilova (CSS) omogućuju prilagođavanje dizajna Immicha.",
+ "theme_settings": "Postavke tema",
+ "theme_settings_description": "Upravljajte prilagodbom Immich web sučelja",
+ "these_files_matched_by_checksum": "Ove datoteke se podudaraju prema njihovim kontrolnim zbrojevima",
+ "thumbnail_generation_job": "Generirajte sličice",
+ "thumbnail_generation_job_description": "Generirajte velike, male i zamućene sličice za svaki materijal, kao i sličice za svaku osobu",
+ "transcoding_acceleration_api": "API ubrzanja",
+ "transcoding_acceleration_api_description": "API koji će komunicirati s vašim uređajem radi ubrzanja transkodiranja. Ova postavka je 'najveći trud': vratit će se na softversko transkodiranje u slučaju kvara. VP9 može ili ne mora raditi ovisno o vašem hardveru.",
+ "transcoding_acceleration_nvenc": "NVENC (zahtjeva NVIDIA GPU)",
+ "transcoding_acceleration_qsv": "Quick Sync (zahtjeva Intel CPU sedme ili veće generacije)",
+ "transcoding_acceleration_rkmpp": "RKMPP (samo na Rockchip SOCima)",
+ "transcoding_acceleration_vaapi": "VAAPI",
+ "transcoding_accepted_audio_codecs": "Prihvačeni audio kodeci",
+ "transcoding_accepted_audio_codecs_description": "Odaberite koji audio kodeci ne trebaju biti transkodirani. Samo korišteno za neka pravila za transkodiranje.",
+ "transcoding_accepted_containers": "Prihvaćeni kontenjeri",
+ "transcoding_accepted_containers_description": "Odaberite koji formati spremnika ne moraju biti remulksirani u MP4. Koristi se samo za određena pravila transkodiranja.",
+ "transcoding_accepted_video_codecs": "Prihvaćeni video kodeci",
+ "transcoding_accepted_video_codecs_description": "Odaberite koje video kodeke nije potrebno transkodirati. Koristi se samo za određena pravila transkodiranja.",
+ "transcoding_advanced_options_description": "Postavke većina korisnika ne treba mjenjati",
+ "transcoding_audio_codec": "Audio kodek",
+ "transcoding_audio_codec_description": "Opus je opcija s najvećom kvalitetom, no ima manju podršku s starim uređajima i softverima.",
+ "transcoding_bitrate_description": "Videozapisi veći od maksimalne brzine prijenosa ili nisu u prihvatljivom formatu",
+ "transcoding_codecs_learn_more": "Da biste saznali više o terminologiji koja se ovdje koristi, pogledajte FFmpeg dokumentaciju za {label}
",
+ "system_settings": "Rendszerbeállítások",
+ "tag_cleanup_job": "Címkék kipucolása",
+ "theme_custom_css_settings": "Egyedi CSS",
+ "theme_custom_css_settings_description": "CSS Stíluslapokkal az Immich stílusa megváltoztatható.",
+ "theme_settings": "Téma Beállítások",
+ "theme_settings_description": "Az Immich webes felület testreszabásának kezelése",
+ "these_files_matched_by_checksum": "Ezek a fájlok egyeznek az ellenőrző összegük alapján",
+ "thumbnail_generation_job": "Bélyegképek Generálása",
+ "thumbnail_generation_job_description": "Nagy, kicsi és elmosódott bélyegképek létrehozása minden elemhez, valamint bélyegképek generálása minden személyhez",
+ "transcode_policy_description": "",
+ "transcoding_acceleration_api": "Gyorsító API",
+ "transcoding_acceleration_api_description": "Az átkódolás felgyorsításához használt eszközödhöz tartozó API. Ez a beállítás „legtöbb, amit megtehetünk” alapon működik: probléma esetén visszaáll szoftveres átkódolásra. A VP9 a hardvertől függően vagy működik, vagy nem.",
+ "transcoding_acceleration_nvenc": "NVENC (NVIDIA GPU-t igényel)",
+ "transcoding_acceleration_qsv": "Gyors Szinkronizálás (7. generációs vagy újabb Intel CPU-t igényel)",
+ "transcoding_acceleration_rkmpp": "RKMPP (csak Rockchip SOC-on)",
+ "transcoding_acceleration_vaapi": "VAAPI",
+ "transcoding_accepted_audio_codecs": "Elfogadott audio kodekek",
+ "transcoding_accepted_audio_codecs_description": "Válaszd ki, hogy melyik audio kodekeket nem kell átkódolni. Csak bizonyos átkódolási szabályzatokhoz használt.",
+ "transcoding_accepted_containers": "Elfogadott tárolók",
+ "transcoding_accepted_containers_description": "Válaszd ki, hogy melyik tároló formátumokat nem szükséges átkódolni MP4 formátumba. Csak bizonyos átkódolási szabályzatokhoz használt.",
+ "transcoding_accepted_video_codecs": "Elfogadott videó kodekek",
+ "transcoding_accepted_video_codecs_description": "Válaszd ki, hogy mely videó kodekeket nem kell átkódolni. Csak bizonyos átkódolási szabályzatokhoz használt.",
+ "transcoding_advanced_options_description": "Ezeket az opciókat a legtöbb felhasználónak nem kell módosítania",
+ "transcoding_audio_codec": "Audio kodek",
+ "transcoding_audio_codec_description": "Az Opus a legjobb minőségű opció (jobb hangminőség ugyanakkora tárhelyen), de kevésbé kompatibilis a régi eszközökkel vagy szoftverekkel.",
+ "transcoding_bitrate_description": "A maximum bitrátát meghaladó vagy nem megfelelő formátumú videókat",
+ "transcoding_codecs_learn_more": "Hogy többet tudj meg az itt felhasznált kifejezésekről, nézd meg az FFmpeg dokumentációt a docker-compose.yml
és az .env
beállításaid naprakészek, hogy elkerüld a hibás konfigurációkat, különösen, ha a WatchTower-t vagy bármilyen automatikus frissítési megoldást használsz.",
+ "version_history": "Verziótörténet",
+ "version_history_item": "{version} telepítve: {date}",
+ "video": "Videó",
+ "video_hover_setting": "Kisméretű videó elindítása, ha az egér az elem felé megy",
+ "video_hover_setting_description": "Ha az egér az elem felé megy, akkor induljon el a kisméretű videó lejátszása. Még ha ez az opció ki is van kapcsolva, a lejátszás akkor is elindítható a lejátszás gombbal.",
+ "videos": "Videók",
+ "videos_count": "{count, plural, one {# Videó} other {# Videó}}",
+ "view": "Nézet",
+ "view_album": "Album Megtekintése",
+ "view_all": "Összes Megtekintése",
+ "view_all_users": "Minden Felhasználó Megtekintése",
+ "view_in_timeline": "Megtekintés az idővonalon",
+ "view_links": "Linkek megtekintése",
+ "view_next_asset": "Következő elem megtekintése",
+ "view_previous_asset": "Előző elem megtekintése",
+ "view_stack": "Csoport Megtekintése",
+ "viewer": "",
+ "visibility_changed": "{count, plural, other {# személy}} láthatósága megváltozott",
+ "waiting": "Várakozás",
+ "warning": "Figyelmeztetés",
+ "week": "Hét",
+ "welcome": "Üdvözlünk",
+ "welcome_to_immich": "Üdvözlünk az Immich-ben",
+ "year": "Év",
+ "years_ago": "{years, plural, one {# évvel} other {# évvel}} ezelőtt",
+ "yes": "Igen",
+ "you_dont_have_any_shared_links": "Nincsenek megosztott linkjeid",
+ "zoom_image": "Kép Nagyítása"
+}
diff --git a/web/src/lib/i18n/hy.json b/i18n/hy.json
similarity index 99%
rename from web/src/lib/i18n/hy.json
rename to i18n/hy.json
index f5273c4ac9..57651d0063 100644
--- a/web/src/lib/i18n/hy.json
+++ b/i18n/hy.json
@@ -172,7 +172,7 @@
"paths_validated_successfully": "",
"quota_size_gib": "",
"refreshing_all_libraries": "",
- "removing_offline_files": "",
+ "removing_deleted_files": "",
"repair_all": "",
"repair_matched_items": "",
"repaired_items": "",
@@ -486,8 +486,8 @@
"unable_to_refresh_user": "",
"unable_to_remove_album_users": "",
"unable_to_remove_api_key": "",
+ "unable_to_remove_deleted_assets": "",
"unable_to_remove_library": "",
- "unable_to_remove_offline_files": "",
"unable_to_remove_partner": "",
"unable_to_remove_reaction": "",
"unable_to_repair_items": "",
@@ -720,10 +720,10 @@
"refreshed": "",
"refreshes_every_file": "",
"remove": "",
+ "remove_deleted_assets": "",
"remove_from_album": "",
"remove_from_favorites": "",
"remove_from_shared_link": "",
- "remove_offline_files": "",
"removed_api_key": "",
"rename": "",
"repair": "",
diff --git a/web/src/lib/i18n/id.json b/i18n/id.json
similarity index 85%
rename from web/src/lib/i18n/id.json
rename to i18n/id.json
index ac29e27ec3..6b9a352dc8 100644
--- a/web/src/lib/i18n/id.json
+++ b/i18n/id.json
@@ -25,9 +25,10 @@
"add_to_shared_album": "Tambahkan ke album terbagi",
"added_to_archive": "Ditambahkan ke arsip",
"added_to_favorites": "Ditambahkan ke favorit",
- "added_to_favorites_count": "Ditambahkan {count} ke favorit",
+ "added_to_favorites_count": "Ditambahkan {count, number} ke favorit",
"admin": {
"add_exclusion_pattern_description": "Tambahkan pola pengecualian. Glob menggunakan *, **, dan ? didukung. Untuk mengabaikan semua berkas dalam direktori apa pun bernama \"Raw\", gunakan \"**/Raw/**\". Untuk mengabaikan semua berkas berakhiran dengan \".tif\", gunakan \"**/*.tif\". Untuk mengabaikan jalur absolut, gunakan \"/jalur/untuk/diabaikan/**\".",
+ "asset_offline_description": "Aset pustaka eksternal ini tidak ada di diska dan telah dipindahkan ke tempat sampah. Jika berkasnya dipindah dalam pustaka, periksa lini masa Anda untuk aset baru yang cocok. Untuk memulihkan aset ini, pastikan jalur berkas di bawah dapat diakses oleh Immich dan pindai pustaka.",
"authentication_settings": "Pengaturan Autentikasi",
"authentication_settings_description": "Kelola kata sandi, OAuth, dan pengaturan autentikasi lainnya",
"authentication_settings_disable_all": "Anda yakin untuk menonaktifkan semua cara login? Login akan dinonaktikan secara menyeluruh.",
@@ -41,33 +42,44 @@
"confirm_email_below": "Untuk mengonfirmasi, ketik \"{email}\" di bawah",
"confirm_reprocess_all_faces": "Apakah Anda yakin ingin memproses semua wajah? Ini juga akan menghapus nama orang.",
"confirm_user_password_reset": "Apakah Anda yakin ingin mengatur ulang kata sandi {user}?",
+ "create_job": "Buat tugas",
"disable_login": "Nonaktifkan log masuk",
"duplicate_detection_job_description": "Jalankan pembelajaran mesin pada aset untuk mendeteksi gambar yang serupa. Bergantung pada Pencarian Pintar",
"exclusion_pattern_description": "Pola pengecualian memungkinkan Anda mengabaikan berkas dan folder ketika memindai pustaka Anda. Ini berguna jika Anda memiliki folder yang berisi berkas yang tidak ingin diimpor, seperti berkas RAW.",
"external_library_created_at": "Pustaka eksternal (dibuat pada {date})",
"external_library_management": "Pengelolaan Pustaka Eksternal",
"face_detection": "Deteksi wajah",
- "face_detection_description": "Deteksikan wajah dalam aset menggunakan pembelajaran mesin. Untuk video, hanya gambar kecilnya yang disertakan. \"Semua\" memproses (ulang) semua aset. \"Hilang\" mengantrekan aset yang belum diproses. Wajah yang dideteksi akan diantrekan untuk Pengenalan Wajah setelah Pendeteksian Wajah selesai, mengelompokkan mereka dalam orang yang sudah ada atau yang baru.",
- "facial_recognition_job_description": "Kelompokkan wajah yang telah dideteksi menjadi orang. Langkah ini berjalan setelah Deteksi Wajah selesai. \"Semua\" mengelompokkan (ulang) semua wajah. \"Hilang\" mengantrekan wajah yang belum ditetapkan dengan seseorang.",
+ "face_detection_description": "Deteksikan wajah dalam aset menggunakan pembelajaran mesin. Untuk video, hanya gambar kecilnya yang disertakan. \"Segarkan\" memproses (ulang) semua aset. \"Segarkan\" juga menghapus data wajah terkini. \"Hilang\" mengantrekan aset yang belum diproses. Wajah yang dideteksi akan diantrekan untuk Pengenalan Wajah setelah Pendeteksian Wajah selesai, mengelompokkan mereka dalam orang yang sudah ada atau yang baru.",
+ "facial_recognition_job_description": "Kelompokkan wajah yang telah dideteksi menjadi orang. Langkah ini berjalan setelah Deteksi Wajah selesai. \"Segarkan\" mengelompokkan (ulang) semua wajah. \"Hilang\" mengantrekan wajah yang belum ditetapkan dengan seseorang.",
"failed_job_command": "Perintah {command} gagal untuk tugas: {job}",
"force_delete_user_warning": "PERINGATAN: Ini akan segera menghapus pengguna dan semua asetnya. Ini tidak dapat diurungkan dan semua berkasnya tidak dapat dipulihkan.",
"forcing_refresh_library_files": "Memaksakan penyegaran semua berkas pustaka",
+ "image_format": "Format",
"image_format_description": "WebP menghasilkan ukuran berkas yang lebih kecil daripada JPEG, tetapi lebih lambat untuk dienkode.",
"image_prefer_embedded_preview": "Utamakan pratinjau tersemat",
"image_prefer_embedded_preview_setting_description": "Gunakan pratinjau tersemat dalam foto RAW sebagai masukan dalam pemrosesan gambar ketika tersedia. Ini dapat menghasilkan warna yang lebih akurat untuk beberapa gambar, tetapi kualitas pratinjau bergantung pada kamera dan gambarnya dapat memiliki lebih banyak artefak kompresi.",
"image_prefer_wide_gamut": "Utamakan gamut luas",
"image_prefer_wide_gamut_setting_description": "Gunakan Display P3 untuk gambar kecil. Ini menjaga kecerahan gambar dengan ruang warna yang luas, tetapi gambar dapat terlihat beda pada perangkat lawas dengan versi peramban yang lawas. Gambar sRGB tetap dalam sRGB untuk menghindari perubahan warna.",
+ "image_preview_description": "Gambar berukuran sedang tanpa metadata, digunakan ketika melihat aset satuan dan untuk pembelajaran mesin",
"image_preview_format": "Format pratinjau",
+ "image_preview_quality_description": "Kualitas pratinjau dari 1-100. Lebih tinggi lebih baik, tetapi menghasilkan berkas lebih besar dan respons aplikasi. Menetapkan nilai rendah dapat memengaruhi kualitas pembelajaran mesin.",
"image_preview_resolution": "Resolusi pratinjau",
"image_preview_resolution_description": "Digunakan ketika menampilkan satu foto untuk pembelajaran mesin. Resolusi yang lebih tinggi dapat menjaga lebih banyak detail tetapi dapat membutuhkan waktu lama untuk mengode, memiliki ukuran berkas yang lebih besar, dan dapat mengurangi respons aplikasi.",
+ "image_preview_title": "Pengaturan Pratinjau",
"image_quality": "Kualitas",
"image_quality_description": "Kualitas gambar dari 1 sampai 100. Lebih tinggi baik untuk kualitas tetapi menghasilkan berkas lebih besar, opsi ini memengaruhi gambar Pratinjau dan Gambar Kecil.",
+ "image_resolution": "Resolusi",
+ "image_resolution_description": "Resolusi lebih tinggi dapat menjaga lebih banyak detail tetapi dapat memerlukan waktu lebih lama untuk dienkode, memiliki ukuran berkas yang lebih besar, dan dapat mengurangi respons aplikasi.",
"image_settings": "Pengaturan Gambar",
"image_settings_description": "Kelola kualitas dan resolusi gambar yang dibuat",
+ "image_thumbnail_description": "Gambar kecil tanpa metadata, digunakan ketika melihat kelompok foto seperti lini masa utama",
"image_thumbnail_format": "Format gambar kecil",
+ "image_thumbnail_quality_description": "Kualitas gambar kecil dari 1-100. Lebih tinggi lebih baik, tetapi menghasilkan berkas lebih besar dan dapat mengurangi respons aplikasi.",
"image_thumbnail_resolution": "Resolusi gambar kecil",
"image_thumbnail_resolution_description": "Digunakan ketika menampilkan kelompok foto (lini masa utama, tampilan album, dll.). Resolusi yang lebih tinggi dapat menjaga lebih banyak detail tetapi memerlukan waktu lama untuk mengode, memiliki ukuran berkas yang lebih besar, dan dapat mengurangi respons aplikasi.",
+ "image_thumbnail_title": "Pengaturan Gambar Kecil",
"job_concurrency": "Konkurensi {job}",
+ "job_created": "Tugas telah dibuat",
"job_not_concurrency_safe": "Tugas ini tidak aman untuk konkurensi.",
"job_settings": "Pengaturan Tugas",
"job_settings_description": "Kelola konkurensi tugas",
@@ -127,16 +139,21 @@
"map_enable_description": "Aktifkan fitur peta",
"map_gps_settings": "Pengaturan Peta & GPS",
"map_gps_settings_description": "Kelola Pengaturan Peta & GPS (Pengodean Geografis Terbalik)",
+ "map_implications": "Fitur peta mengandalkan layanan tile eksternal",
"map_light_style": "Gaya terang",
"map_manage_reverse_geocoding_settings": "Kelola settingan Pengodean Geografis Terbalik",
"map_reverse_geocoding": "Pengodean Geografis Terbalik",
"map_reverse_geocoding_enable_description": "Aktifkan pengodean geografis terbalik",
"map_reverse_geocoding_settings": "Pengaturan Pengodean Geografis Terbalik",
- "map_settings": "Pengaturan Peta",
+ "map_settings": "Peta",
"map_settings_description": "Kelola pengaturan peta",
"map_style_description": "URL ke tema peta style.json",
"metadata_extraction_job": "Ekstrak metadata",
- "metadata_extraction_job_description": "Ekstrak informasi metadata dari setiap aset, seperti GPS dan resolusi",
+ "metadata_extraction_job_description": "Ekstrak informasi metadata dari setiap aset, seperti GPS, wajah dan resolusi",
+ "metadata_faces_import_setting": "Aktifkan impor wajah",
+ "metadata_faces_import_setting_description": "Impor wajah dari data gambar EXIF dan berkas sidecar",
+ "metadata_settings": "Pengaturan Metadata",
+ "metadata_settings_description": "Kelola pengaturan metadata",
"migration_job": "Migrasi",
"migration_job_description": "Migrasikan gambar kecil untuk aset dan wajah ke struktur folder terkini",
"no_paths_added": "Tidak ada jalur yang ditambahkan",
@@ -145,7 +162,7 @@
"note_cannot_be_changed_later": "CATATAN: Ini tidak akan dapat diubah lagi!",
"note_unlimited_quota": "Catatan: Masukkan 0 untuk kuota tidak terbatas",
"notification_email_from_address": "Dari alamat",
- "notification_email_from_address_description": "Alamat surel pengirim, misalnya: \"Server Foto Immich {label}
adalah Label Penyimpanan pengguna",
"system_settings": "Pengaturan Sistem",
+ "tag_cleanup_job": "Pembersihan tag",
"theme_custom_css_settings": "CSS Kustom",
"theme_custom_css_settings_description": "CSS memungkinkan desain Immich untuk diubah.",
"theme_settings": "Pengaturan Tema",
@@ -263,7 +284,7 @@
"transcoding_hardware_acceleration": "Akselerasi Perangkat Keras",
"transcoding_hardware_acceleration_description": "Uji coba; lebih cepat, tetapi akan memiliki kualitas lebih rendah pada kecepatan bit yang sama",
"transcoding_hardware_decoding": "Dekode perangkat keras",
- "transcoding_hardware_decoding_setting_description": "Hanya diterapkan pada NVENC dan RKMPP. Mengaktifkan akselerasi ujung ke ujung daripada hanya mengakselerasi pengodean. Mungkin tidak berfungsi pada semua video.",
+ "transcoding_hardware_decoding_setting_description": "Mengaktifkan akselerasi ujung ke ujung daripada hanya mengakselerasi pengodean. Mungkin tidak berfungsi pada semua video.",
"transcoding_hevc_codec": "Kodek HEVC",
"transcoding_max_b_frames": "Bingkai B maksimum",
"transcoding_max_b_frames_description": "Nilai yang lebih tinggi meningkatkan efisiensi kompresi, tetapi membuat pengodean lebih lambat. Mungkin tidak kompatibel dengan akselerasi perangkat keras pada perangkat lawas. 0 menonaktifkan bingkai B, sedangkan -1 mengatur nilai ini secara otomatis.",
@@ -275,7 +296,7 @@
"transcoding_preferred_hardware_device": "Perangkat keras yang lebih disukai",
"transcoding_preferred_hardware_device_description": "Hanya diterapkan pada VAAPI dan QSV. Menetapkan node dri yang digunakan untuk transkode perangkat keras.",
"transcoding_preset_preset": "Prasetel (-preset)",
- "transcoding_preset_preset_description": "Kecepatan pengompresan. Prasetel lebih lambat membuat berkas lebih kecil dan meningkatkan kualitas ketika menargetkan kecepatan bit tertentu. VP9 mengabaikan kecepatan di atas `faster`.",
+ "transcoding_preset_preset_description": "Kecepatan kompresi. Pra setel yang lebih lambat membuat berkas lebih kecil dan meningkatkan kualitas ketika menargetkan kecepatan bit tertentu. VP9 mengabaikan kecepatan di atas `faster`.",
"transcoding_reference_frames": "Bingkai referensi",
"transcoding_reference_frames_description": "Jumlah bingkai untuk direferensikan ketika mengompres bingkai tertentu. Nilai lebih tinggi meningkatkan efisiensi kompresi, tetapi membuat pengodean lambat. 0 menetapkan nilai ini secara otomatis.",
"transcoding_required_description": "Hanya video dalam format yang tidak diterima",
@@ -304,6 +325,7 @@
"trash_settings_description": "Kelola pengaturan sampah",
"untracked_files": "Berkas yang Belum Dilacak",
"untracked_files_description": "Berkas ini tidak dilacak oleh aplikasi. Mereka dapat diakibatkan oleh pemindahan gagal, pengunggahan terganggu, atau tertinggal karena oleh kutu",
+ "user_cleanup_job": "Pembersihan data pengguna",
"user_delete_delay": "Akun dan aset {user} akan dijadwalkan untuk penghapusan permanen dalam {delay, plural, one {# hari} other {# hari}}.",
"user_delete_delay_settings": "Jeda penghapusan",
"user_delete_delay_settings_description": "Jumlah hari setelah penghapusan untuk menghapus akun dan aset pengguna secara permanen. Tugas penghapusan pengguna berjalan pada tengah malam untuk memeriksa pengguna yang siap untuk dihapus. Perubahan pengaturan ini akan dievaluasi pada eksekusi berikutnya.",
@@ -317,7 +339,8 @@
"user_settings": "Pengaturan Pengguna",
"user_settings_description": "Kelola pengaturan pengguna",
"user_successfully_removed": "Pengguna {email} berhasil dikeluarkan.",
- "version_check_enabled_description": "Aktifkan permintaan berkala ke GitHub untuk memeriksa rilis baru",
+ "version_check_enabled_description": "Aktifkan pemeriksaan versi",
+ "version_check_implications": "Fitur pemeriksaan versi tergantung komunikasi berkala dengan github.com",
"version_check_settings": "Pemeriksaan Versi",
"version_check_settings_description": "Aktifkan/nonaktifkan notifikasi versi baru",
"video_conversion_job": "Transkode video",
@@ -333,7 +356,8 @@
"album_added": "Album ditambahkan",
"album_added_notification_setting_description": "Terima notifikasi surel ketika Anda ditambahkan ke album terbagi",
"album_cover_updated": "Kover album diperbarui",
- "album_delete_confirmation": "Apakah Anda yakin ingin menghapus album {album}?\nJika album ini dibagikan, pengguna lain tidak akan dapat mengaksesnya lagi.",
+ "album_delete_confirmation": "Apakah Anda yakin ingin menghapus album {album}?",
+ "album_delete_confirmation_description": "Jika album ini dibagikan, pengguna lain tidak akan dapat mengaksesnya lagi.",
"album_info_updated": "Info album diperbarui",
"album_leave": "Tinggalkan album?",
"album_leave_confirmation": "Apakah Anda yakin ingin keluar dari {album}?",
@@ -357,6 +381,7 @@
"allow_edits": "Perbolehkan penyuntingan",
"allow_public_user_to_download": "Perbolehkan pengguna publik untuk mengunduh",
"allow_public_user_to_upload": "Perbolehkan pengguna publik untuk mengunggah",
+ "anti_clockwise": "Berlawanan arah jarum jam",
"api_key": "Kunci API",
"api_key_description": "Nilai ini hanya akan ditampilkan sekali. Pastikan untuk menyalin sebelum menutup jendela ini.",
"api_key_empty": "Nama Kunci API Anda seharusnya jangan kosong",
@@ -365,7 +390,7 @@
"appears_in": "Muncul dalam",
"archive": "Arsip",
"archive_or_unarchive_photo": "Arsipkan atau batalkan pengarsipan foto",
- "archive_size": "Ukuran Arsip",
+ "archive_size": "Ukuran arsip",
"archive_size_description": "Atur ukuran arsip untuk unduhan (dalam GiB)",
"archived": "",
"archived_count": "{count, plural, other {# terarsip}}",
@@ -377,9 +402,10 @@
"asset_filename_is_offline": "Aset {filename} sedang luring",
"asset_has_unassigned_faces": "Aset memiliki wajah yang belum ditetapkan",
"asset_hashing": "Memilah...",
- "asset_offline": "Aset luring",
- "asset_offline_description": "Aset ini sedang luring. Immich tidak dapat mengakses lokasi berkasnya. Pastikan aset tersebut tersedia lalu pindai ulang pustaka.",
+ "asset_offline": "Aset Luring",
+ "asset_offline_description": "Aset eksternal ini tidak ada lagi di diska. Silakan hubungi administrator Immich Anda untuk bantuan.",
"asset_skipped": "Dilewati",
+ "asset_skipped_in_trash": "Dalam sampah",
"asset_uploaded": "Sudah diunggah",
"asset_uploading": "Mengunggah...",
"assets": "Aset",
@@ -391,7 +417,7 @@
"assets_moved_to_trash_count": "Dipindahkan {count, plural, one {# aset} other {# aset}} ke sampah",
"assets_permanently_deleted_count": "{count, plural, one {# aset} other {# aset}} dihapus secara permanen",
"assets_removed_count": "{count, plural, one {# aset} other {# aset}} dihapus",
- "assets_restore_confirmation": "Apakah Anda yakin ingin memulihkan semua aset yang dibuang? Anda tidak dapat mengurungkan tindakan ini!",
+ "assets_restore_confirmation": "Apakah Anda yakin ingin memulihkan semua aset yang dibuang? Anda tidak dapat mengurungkan tindakan ini! Perlu diingat bahwa aset luring tidak dapat dipulihkan.",
"assets_restored_count": "{count, plural, one {# aset} other {# aset}} dipulihkan",
"assets_trashed_count": "{count, plural, one {# aset} other {# aset}} dibuang ke sampah",
"assets_were_part_of_album_count": "{count, plural, one {Aset telah} other {Aset telah}} menjadi bagian dari album",
@@ -402,12 +428,13 @@
"birthdate_saved": "Tanggal lahir berhasil disimpan",
"birthdate_set_description": "Tanggal lahir digunakan untuk menghitung umur orang ini pada saat foto diambil.",
"blurred_background": "Latar belakang buram",
+ "bugs_and_feature_requests": "Permintaan Kutu dan Fitur",
"build": "Versi",
"build_image": "Versi Citra",
"bulk_delete_duplicates_confirmation": "Apakah Anda yakin ingin menghapus {count, plural, one {# aset duplikat} other {# aset duplikat}} secara bersamaan? Ini akan menjaga aset terbesar dari setiap kelompok dan menghapus semua duplikat lain secara permanen. Anda tidak dapat mengurungkan tindakan ini!",
"bulk_keep_duplicates_confirmation": "Apakah Anda yakin ingin menyimpan {count, plural, one {# aset duplikat} other {# aset duplikat}}? Ini akan menyelesaikan semua kelompok duplikat tanpa menghapus apa pun.",
"bulk_trash_duplicates_confirmation": "Apakah Anda yakin ingin membuang {count, plural, one {# aset duplikat} other {# aset duplikat}} secara bersamaan? Ini akan menyimpan aset terbesar dari setiap kelompok dan membuang semua duplikat lainnya.",
- "buy": "Beli Lisensi",
+ "buy": "Beli Immich",
"camera": "Kamera",
"camera_brand": "Merek kamera",
"camera_model": "Model kamera",
@@ -435,11 +462,14 @@
"city": "Kota",
"clear": "Hapus",
"clear_all": "Hapus semua",
+ "clear_all_recent_searches": "Hapus semua pencarian terakhir",
"clear_message": "Hapus pesan",
"clear_value": "Hapus nilai",
+ "clockwise": "Searah jarum jam",
"close": "Tutup",
"collapse": "Tutup",
"collapse_all": "Tutup Semua",
+ "color": "Warna",
"color_theme": "Tema warna",
"comment_deleted": "Komentar dihapus",
"comment_options": "Opsi komentar",
@@ -473,6 +503,8 @@
"create_new_person": "Buat orang baru",
"create_new_person_hint": "Tetapkan aset yang dipilih ke orang yang baru",
"create_new_user": "Buat pengguna baru",
+ "create_tag": "Buat tag",
+ "create_tag_description": "Buat tag baru. Untuk tag bersarang, harap input jalur tag secara lengkap termasuk tanda garis miring ke depan.",
"create_user": "Buat pengguna",
"created": "Dibuat",
"current_device": "Perangkat saat ini",
@@ -493,16 +525,20 @@
"delete_api_key_prompt": "Apakah Anda yakin ingin menghapus kunci API ini?",
"delete_duplicates_confirmation": "Apakah Anda yakin ingin menghapus duplikat ini secara permanen?",
"delete_key": "Hapus kunci",
- "delete_library": "Hapus pustaka",
+ "delete_library": "Hapus Pustaka",
"delete_link": "Hapus tautan",
"delete_shared_link": "Hapus tautan terbagi",
+ "delete_tag": "Hapus tag",
+ "delete_tag_confirmation_prompt": "Apakah Anda yakin ingin menghapus label tag {tagName}?",
"delete_user": "Hapus pengguna",
"deleted_shared_link": "Tautan terbagi dihapus",
+ "deletes_missing_assets": "Menghapus aset yang hilang dari diska",
"description": "Deskripsi",
"details": "Detail",
"direction": "Arah",
"disabled": "Dinonaktifkan",
"disallow_edits": "Jangan perbolehkan penyuntingan",
+ "discord": "Discord",
"discover": "Jelajahi",
"dismiss_all_errors": "Abaikan semua eror",
"dismiss_error": "Abaikan eror",
@@ -511,8 +547,11 @@
"display_original_photos": "Tampilkan foto asli",
"display_original_photos_setting_description": "Lebih suka menampilkan foto ketika menampilkan aset daripada gambar kecil ketika aset asli kompatibel dengan web. Ini dapat mengakibatkan kecepatan pemuatan foto yang lebih lambat.",
"do_not_show_again": "Jangan tampilkan pesan ini lagi",
+ "documentation": "Dokumentasi",
"done": "Selesai",
"download": "Unduh",
+ "download_include_embedded_motion_videos": "Video tersematkan",
+ "download_include_embedded_motion_videos_description": "Sertakan video yg tersematkan dalam foto gerak sebagai file terpisah",
"download_settings": "Pengunduhan",
"download_settings_description": "Kelola pengaturan berkaitan dengan pengunduhan aset",
"downloading": "Mengunduh",
@@ -535,10 +574,15 @@
"edit_location": "Sunting lokasi",
"edit_name": "Sunting nama",
"edit_people": "Sunting orang",
+ "edit_tag": "Ubah tag",
"edit_title": "Sunting Judul",
"edit_user": "Sunting pengguna",
"edited": "Disunting",
- "editor": "",
+ "editor": "Editor",
+ "editor_close_without_save_prompt": "Perubahan tidak akan di simpan",
+ "editor_close_without_save_title": "Tutup editor?",
+ "editor_crop_tool_h2_aspect_ratios": "Perbandingan aspek",
+ "editor_crop_tool_h2_rotation": "Rotasi",
"email": "Surel",
"empty_trash": "Kosongkan sampah",
"empty_trash_confirmation": "Apakah Anda yakin ingin mengosongkan sampah? Ini akan menghapus semua aset dalam sampah secara permanen dari Immich.\nAnda tidak dapat mengurungkan tindakan ini!",
@@ -564,6 +608,7 @@
"error_adding_users_to_album": "Terjadi kesalahan menambahkan pengguna ke album",
"error_deleting_shared_user": "Terjadi eror menghapus pengguna terbagi",
"error_downloading": "Terjadi eror mengunduh {filename}",
+ "error_hiding_buy_button": "Kesalahan menyembunyikan tombol beli",
"error_removing_assets_from_album": "Terjadi eror menghapus aset dari album, lihat konsol untuk detail lebih lanjut",
"error_selecting_all_assets": "Terjadi eror memilih semua aset",
"exclusion_pattern_already_exists": "Pola pengecualian ini sudah ada.",
@@ -574,6 +619,8 @@
"failed_to_get_people": "Gagal mendapatkan orang",
"failed_to_load_asset": "Gagal membuka aset",
"failed_to_load_assets": "Gagal membuka aset-aset",
+ "failed_to_load_people": "Gagal mengunggah orang",
+ "failed_to_remove_product_key": "Gagal menghapus kunci produk",
"failed_to_stack_assets": "Gagal menumpuk aset",
"failed_to_unstack_assets": "Gagal membatalkan penumpukan aset",
"import_path_already_exists": "Jalur pengimporan ini sudah ada.",
@@ -621,6 +668,7 @@
"unable_to_get_comments_number": "Tidak bisa mendapatkan jumlah komentar",
"unable_to_get_shared_link": "Gagal mendapatkan tautan berbagi",
"unable_to_hide_person": "Tidak dapat menyembunyikan orang",
+ "unable_to_link_motion_video": "Tidak dapat menautkan video gerak",
"unable_to_link_oauth_account": "Tidak dapat menautkan akun OAuth",
"unable_to_load_album": "Tidak dapat memuat album",
"unable_to_load_asset_activity": "Tidak dapat memuat aktivitas aset",
@@ -636,8 +684,8 @@
"unable_to_remove_album_users": "Tidak dapat mengeluarkan pengguna dari album",
"unable_to_remove_api_key": "Tidak dapat menghapus Kunci API",
"unable_to_remove_assets_from_shared_link": "Tidak dapat menghapus aset dari tautan terbagi",
+ "unable_to_remove_deleted_assets": "Tidak dapat menghapus berkas luring",
"unable_to_remove_library": "Tidak dapat menghapus pustaka",
- "unable_to_remove_offline_files": "Tidak dapat menghapus berkas luring",
"unable_to_remove_partner": "Tidak dapat menghapus partner",
"unable_to_remove_reaction": "Tidak dapat menghapus reaksi",
"unable_to_repair_items": "Tidak dapat memperbaiki item",
@@ -659,6 +707,7 @@
"unable_to_submit_job": "Tidak dapat mengirim tugas",
"unable_to_trash_asset": "Tidak dapat membuang aset",
"unable_to_unlink_account": "Tidak dapat memutuskan akun",
+ "unable_to_unlink_motion_video": "Tidak dapat membatalkan tautan video gerak",
"unable_to_update_album_cover": "Tidak dapat memperbarui kover album",
"unable_to_update_album_info": "Tidak dapat memperbarui info album",
"unable_to_update_library": "Tidak dapat memperbarui pustaka",
@@ -675,6 +724,7 @@
"expired": "Kedaluwarsa",
"expires_date": "Kedaluwarsa pada {date}",
"explore": "Jelajahi",
+ "explorer": "Jelajah",
"export": "Ekspor",
"export_as_json": "Ekspor sebagai JSON",
"extension": "Ekstensi",
@@ -686,6 +736,8 @@
"favorite_or_unfavorite_photo": "Favorit atau batalkan pemfavoritan foto",
"favorites": "Favorit",
"feature_photo_updated": "Foto terfitur diperbarui",
+ "features": "Fitur",
+ "features_setting_description": "Kelola fitur aplikasi",
"file_name": "Nama berkas",
"file_name_or_extension": "Nama berkas atau ekstensi",
"filename": "Nama berkas",
@@ -693,6 +745,8 @@
"filter_people": "Saring orang",
"find_them_fast": "Temukan dengan cepat berdasarkan nama dengan pencarian",
"fix_incorrect_match": "Perbaiki pencocokan salah",
+ "folders": "Berkas",
+ "folders_feature_description": "Menjelajahi tampilan folder untuk foto dan video pada sistem file",
"force_re-scan_library_files": "Paksa Pindai Ulang Semua Berkas Pustaka",
"forward": "Maju",
"general": "Umum",
@@ -716,7 +770,16 @@
"host": "Hos",
"hour": "Jam",
"image": "Gambar",
- "image_alt_text_date": "pada {date}",
+ "image_alt_text_date": "{isVideo, select, true {Video} other {Image}} pada tanggal {date}",
+ "image_alt_text_date_1_person": "{isVideo, select, true {Video} other {Image}} diambil oleh {person1} pada {date}",
+ "image_alt_text_date_2_people": "{isVideo, select, true {Video} other {Image}} diambil oleh {person1} dan {person2} pada {date}",
+ "image_alt_text_date_3_people": "{isVideo, select, true {Video} other {Image}} diambil oleh {person1}, {person2}, dan {person3} pada {date}",
+ "image_alt_text_date_4_or_more_people": "{isVideo, select, true {Video} other {Image}} diambil oleh {person1}, {person2}, dan {additionalCount, number} lainnya pada {date}",
+ "image_alt_text_date_place": "{isVideo, select, true {Video} other {Image}} diambil di {city}, {country} pada {date}",
+ "image_alt_text_date_place_1_person": "{isVideo, select, true {Video} other {Image}} diambil di {city}, {country} oleh {person1} pada {date}",
+ "image_alt_text_date_place_2_people": "{isVideo, select, true {Video} other {Image}} diambil di {city}, {country} oleh {person1} dan {person2} pada {date}",
+ "image_alt_text_date_place_3_people": "{isVideo, select, true {Video} other {Image}} diambil di {city}, {country} oleh {person1}, {person2}, dan {person3} pada {date}",
+ "image_alt_text_date_place_4_or_more_people": "{isVideo, select, true {Video} other {Image}} diambil di {city}, {country} oleh {person1}, {person2}, dan {additionalCount, number} lainnya pada {date}",
"image_alt_text_people": "{count, plural, =1 {dengan {person1}} =2 {dengan {person1} dan {person2}} =3 {dengan {person1}, {person2}, dan {person3}} other {dengan {person1}, {person2}, dan {others, number} lainnya}}",
"image_alt_text_place": "di {city}, {country}",
"image_taken": "{isVideo, select, true {Video diambil} other {Gambar diambil}}",
@@ -781,6 +844,7 @@
"license_trial_info_4": "Pertimbangkan membeli lisensi untuk mendukung keberlanjutan pengembangan layanan",
"light": "Terang",
"like_deleted": "Suka dihapus",
+ "link_motion_video": "Tautan video gerak",
"link_options": "Opsi tautan",
"link_to_oauth": "Tautkan ke OAuth",
"linked_oauth_account": "Akun OAuth tertaut",
@@ -799,6 +863,7 @@
"look": "Tampilan",
"loop_videos": "Ulangi video",
"loop_videos_description": "Aktifkan untuk mengulangi video secara otomatis dalam penampil detail.",
+ "main_branch_warning": "Anda menggunakan versi pengembangan; kami sangat menyarankan menggunakan versi rilis!",
"make": "Merek",
"manage_shared_links": "Kelola tautan terbagi",
"manage_sharing_with_partners": "Kelola pembagian dengan partner",
@@ -835,6 +900,7 @@
"name": "Nama",
"name_or_nickname": "Nama atau nama panggilan",
"never": "Tidak pernah",
+ "new_album": "Album baru",
"new_api_key": "Kunci API Baru",
"new_password": "Kata sandi baru",
"new_person": "Orang baru",
@@ -867,18 +933,21 @@
"notifications": "Notifikasi",
"notifications_setting_description": "Kelola notifikasi",
"oauth": "OAuth",
+ "official_immich_resources": "Sumber Daya Immich Resmi",
"offline": "Luring",
"offline_paths": "Jalur luring",
"offline_paths_description": "Hasil berikut dapat diakibatkan oleh penghapusan berkas manual yang bukan bagian dari pustaka eksternal.",
"ok": "Oke",
"oldest_first": "Terlawas dahulu",
"onboarding": "Memulai",
+ "onboarding_privacy_description": "Fitur berikut (opsional) bergantung pada layanan eksternal, dan dapat dinonaktifkan kapan saja di pengaturan administrasi.",
"onboarding_theme_description": "Pilih tema warna untuk server Anda. Ini dapat diubah lagi dalam pengaturan Anda.",
"onboarding_welcome_description": "Mari menyiapkan server Anda dengan beberapa pengaturan umum.",
"onboarding_welcome_user": "Selamat datang, {user}",
"online": "Daring",
"only_favorites": "Hanya favorit",
"only_refreshes_modified_files": "Hanya menyegarkan berkas yang diubah",
+ "open_in_map_view": "Buka dalam tampilan peta",
"open_in_openstreetmap": "Buka di OpenStreetMap",
"open_the_search_filters": "Buka saringan pencarian",
"options": "Opsi",
@@ -890,7 +959,7 @@
"other_variables": "Variabel lain",
"owned": "Dimiliki",
"owner": "Pemilik",
- "partner": "Partner",
+ "partner": "Rekan",
"partner_can_access": "{partner} dapat mengakses",
"partner_can_access_assets": "Semua foto dan video Anda kecuali yang ada di Arsip dan Terhapus",
"partner_can_access_location": "Lokasi di mana foto Anda diambil",
@@ -913,6 +982,7 @@
"pending": "Tertunda",
"people": "Orang",
"people_edits_count": "{count, plural, one {# orang} other {# orang}} disunting",
+ "people_feature_description": "Menjelajahi foto dan video yang dikelompokkan berdasarkan orang",
"people_sidebar_description": "Tampilkan tautan ke Orang dalam bilah samping",
"permanent_deletion_warning": "Peringatan penghapusan permanen",
"permanent_deletion_warning_setting_description": "Tampilkan peringatan ketika menghapus aset secara permanen",
@@ -943,10 +1013,47 @@
"previous_memory": "Kenangan sebelumnya",
"previous_or_next_photo": "Foto sebelumnya atau berikutnya",
"primary": "Utama",
+ "privacy": "Privasi",
"profile_image_of_user": "Foto profil dari {user}",
"profile_picture_set": "Foto profil ditetapkan.",
"public_album": "Album publik",
"public_share": "Pembagian Publik",
+ "purchase_account_info": "Pendukung",
+ "purchase_activated_subtitle": "Terima kasih telah mendukung Immich dan perangkat lunak sumber terbuka",
+ "purchase_activated_time": "Di aktivasi pada {date, date}",
+ "purchase_activated_title": "Kunci kamu telah sukses di aktivasi",
+ "purchase_button_activate": "Aktifkan",
+ "purchase_button_buy": "Beli",
+ "purchase_button_buy_immich": "Beli Immich",
+ "purchase_button_never_show_again": "Jangan tampilkan lagi",
+ "purchase_button_reminder": "Ingatkan saya pada 30 hari lagi",
+ "purchase_button_remove_key": "Hapus kunci",
+ "purchase_button_select": "Pilih",
+ "purchase_failed_activation": "Gagal mengaktifkan! Silakan periksa email kamu untuk kunci produk yang benar!",
+ "purchase_individual_description_1": "Untuk perorangan",
+ "purchase_individual_description_2": "Status pendukung",
+ "purchase_individual_title": "Perorangan",
+ "purchase_input_suggestion": "Punya kunci produk? Masukkan kunci di bawah ini",
+ "purchase_license_subtitle": "Beli Immich untuk keberlangsungan pengembangan layanan",
+ "purchase_lifetime_description": "Pembayaran seumur hidup",
+ "purchase_option_title": "PILIHAN PEMBAYARAN",
+ "purchase_panel_info_1": "Membangun Immich membutuhkan banyak waktu dan upaya, dan kami memiliki insinyur penuh waktu yang bekerja untuk membuatnya sebaik mungkin. Misi kami adalah agar perangkat lunak sumber terbuka dan praktik bisnis yang beretika menjadi sumber pendapatan yang berkelanjutan bagi para pengembang dan menciptakan ekosistem yang menghargai privasi dengan alternatif nyata untuk layanan cloud yang eksploitatif.",
+ "purchase_panel_info_2": "Karena kami berkomitmen untuk tidak menambahkan paywall, pembelian ini tidak akan memberi kamu fitur tambahan apa pun di Immich. Kami mengandalkan pengguna seperti kamu untuk mendukung pengembangan Immich yang sedang berlangsung.",
+ "purchase_panel_title": "Dukung proyek ini",
+ "purchase_per_server": "Per server",
+ "purchase_per_user": "Per pengguna",
+ "purchase_remove_product_key": "Hapus Kunci Produk",
+ "purchase_remove_product_key_prompt": "Apakah kamu yakin ingin menghapus kunci produk?",
+ "purchase_remove_server_product_key": "Hapus kunci produk Server",
+ "purchase_remove_server_product_key_prompt": "Apakah kamu yakin ingin menghapus kunci produk Server?",
+ "purchase_server_description_1": "Untuk keseluruhan server",
+ "purchase_server_description_2": "Status pendukung",
+ "purchase_server_title": "Server",
+ "purchase_settings_server_activated": "Kunci produk server dikelola oleh admin",
+ "rating": "Peringkat bintang",
+ "rating_clear": "Hapus peringkat",
+ "rating_count": "{count, plural, one {# peringkat} other {# peringkat}}",
+ "rating_description": "Tampilkan peringkat EXIF pada panel info",
"reaction_options": "Opsi reaksi",
"read_changelog": "Baca Log Perubahan",
"reassign": "Tetapkan ulang",
@@ -957,11 +1064,13 @@
"recent_searches": "Pencarian terkini",
"refresh": "Segarkan",
"refresh_encoded_videos": "Segarkan video terenkode",
+ "refresh_faces": "Segarkan wajah",
"refresh_metadata": "Segarkan metadata",
"refresh_thumbnails": "Segarkan gambar kecil",
"refreshed": "Disegarkan",
- "refreshes_every_file": "Menyegarkan setiap berkas",
+ "refreshes_every_file": "Membaca ulang semua berkas yang sudah ada dan yang baru",
"refreshing_encoded_video": "Menyegarkan video terenkode",
+ "refreshing_faces": "Menyegarkan wajah",
"refreshing_metadata": "Menyegarkan metadata",
"regenerating_thumbnails": "Membuat ulang gambar kecil",
"remove": "Hapus",
@@ -969,15 +1078,16 @@
"remove_assets_shared_link_confirmation": "Apakah Anda yakin ingin menghapus {count, plural, one {# aset} other {# aset}} dari tautan terbagi ini?",
"remove_assets_title": "Hapus aset?",
"remove_custom_date_range": "Hapus jangka tanggal khusus",
+ "remove_deleted_assets": "Hapus Berkas Luring",
"remove_from_album": "Hapus dari album",
"remove_from_favorites": "Hapus dari favorit",
"remove_from_shared_link": "Hapus dari tautan terbagi",
- "remove_offline_files": "Hapus Berkas Luring",
"remove_user": "Keluarkan pengguna",
"removed_api_key": "Kunci API Dihapus: {name}",
"removed_from_archive": "Dihapus dari arsip",
"removed_from_favorites": "Dihapus dari favorit",
"removed_from_favorites_count": "{count, plural, other {Menghapus #}} dari favorit",
+ "removed_tagged_assets": "Hapus tag dari {count, plural, one {# aset} other {# aset}}",
"rename": "Ubah nama",
"repair": "Perbaiki",
"repair_no_results_message": "Berkas yang tidak dilacak dan hilang akan muncul di sini",
@@ -989,6 +1099,7 @@
"reset_password": "Atur ulang kata sandi",
"reset_people_visibility": "Atur ulang keterlihatan orang",
"reset_to_default": "Atur ulang ke bawaan",
+ "resolve_duplicates": "Mengatasi duplikat",
"resolved_all_duplicates": "Semua duplikat terselesaikan",
"restore": "Pulihkan",
"restore_all": "Pulihkan semua",
@@ -1007,6 +1118,7 @@
"say_something": "Ucapkan sesuatu",
"scan_all_libraries": "Pindai Semua Pustaka",
"scan_all_library_files": "Pindai Ulang Semua Berkas Pustaka",
+ "scan_library": "Pindai",
"scan_new_library_files": "Pindai Berkas Pustaka Baru",
"scan_settings": "Pengaturan Pemindaian",
"scanning_for_album": "Memindai album...",
@@ -1022,9 +1134,12 @@
"search_for_existing_person": "Cari orang yang sudah ada",
"search_no_people": "Tidak ada orang",
"search_no_people_named": "Tidak ada orang bernama \"{name}\"",
+ "search_options": "Pilihan pencarian",
"search_people": "Cari orang",
"search_places": "Cari tempat",
+ "search_settings": "Pengaturan pencarian",
"search_state": "Cari negara bagian...",
+ "search_tags": "Cari tag...",
"search_timezone": "Cari zona waktu...",
"search_type": "Jenis pencarian",
"search_your_photos": "Cari foto Anda",
@@ -1033,6 +1148,7 @@
"see_all_people": "Lihat semua orang",
"select_album_cover": "Pilih kover album",
"select_all": "Pilih semua",
+ "select_all_duplicates": "Pilih semua duplikat",
"select_avatar_color": "Pilih warna avatar",
"select_face": "Pilih wajah",
"select_featured_photo": "Pilih foto terfitur",
@@ -1065,6 +1181,7 @@
"shared_by_user": "Dibagikan oleh {user}",
"shared_by_you": "Dibagikan oleh Anda",
"shared_from_partner": "Foto dari {partner}",
+ "shared_link_options": "Pilihan tautan bersama",
"shared_links": "Tautan terbagi",
"shared_photos_and_videos_count": "{assetCount, plural, other {# foto & video terbagi.}}",
"shared_with_partner": "Dibagikan dengan {partner}",
@@ -1073,6 +1190,7 @@
"sharing_sidebar_description": "Tampilkan tautan ke Pembagian dalam bilah samping",
"shift_to_permanent_delete": "tekan ⇧ untuk menghapus aset secara permanen",
"show_album_options": "Tampilkan opsi album",
+ "show_albums": "Tampilkan album",
"show_all_people": "Tampilkan semua orang",
"show_and_hide_people": "Tampilkan & sembunyikan orang",
"show_file_location": "Tampilkan lokasi berkas",
@@ -1087,11 +1205,18 @@
"show_person_options": "Tampilkan opsi orang",
"show_progress_bar": "Tampilkan Bilah Progres",
"show_search_options": "Tampilkan opsi pencarian",
+ "show_slideshow_transition": "Tampilkan transisi salindia",
+ "show_supporter_badge": "Lencana suporter",
+ "show_supporter_badge_description": "Tampilkan lencana suporter",
"shuffle": "Acak",
+ "sidebar": "Bilah sisi",
+ "sidebar_display_description": "Menampilkan tautan ke tampilan di bilah sisi",
"sign_out": "Keluar",
"sign_up": "Daftar",
"size": "Ukuran",
"skip_to_content": "Lewati ke konten",
+ "skip_to_folders": "Lewati ke berkas",
+ "skip_to_tags": "Lewati ke tag",
"slideshow": "Salindia",
"slideshow_settings": "Pengaturan salindia",
"sort_albums_by": "Urutkan album berdasarkan...",
@@ -1103,6 +1228,8 @@
"sort_title": "Judul",
"source": "Sumber",
"stack": "Tumpukan",
+ "stack_duplicates": "Stack duplikat",
+ "stack_select_one_photo": "Pilih satu foto utama untuk stack",
"stack_selected_photos": "Tumpuk foto terpilih",
"stacked_assets_count": "{count, plural, one {# aset} other {# aset}} ditumpuk",
"stacktrace": "Jejak tumpukan",
@@ -1120,27 +1247,41 @@
"submit": "Kirim",
"suggestions": "Saran",
"sunrise_on_the_beach": "Matahari terbit di pantai",
+ "support": "Dukungan",
+ "support_and_feedback": "Dukungan & Masukan",
+ "support_third_party_description": "Pemasangan Immich Anda telah dipaketkan oleh pihak ketiga. Masalah yang Anda alami dapat disebabkan oleh paket tersebut, jadi silakan ajukan isu dengan masalah tersebut menggunakan tautan di bawah.",
"swap_merge_direction": "Ganti arah penggabungan",
"sync": "Sinkronisasikan",
+ "tag": "Tag",
+ "tag_assets": "Tag aset",
+ "tag_created": "Tag yang di buat: {tag}",
+ "tag_feature_description": "Menjelajahi foto dan video yang dikelompokkan berdasarkan topik tag logis",
+ "tag_not_found_question": "Tidak dapat menemukan tag? Buat tag baru.",
+ "tag_updated": "Tag yang diperbarui: {tag}",
+ "tagged_assets": "Ditandai {count, plural, one {# aset} other {# aset}}",
+ "tags": "Tag",
"template": "Templat",
"theme": "Tema",
"theme_selection": "Pemilihan tema",
"theme_selection_description": "Tetapkan tema ke terang atau gelap secara otomatis berdasarkan preferensi sistem peramban Anda",
"they_will_be_merged_together": "Mereka akan digabungkan bersama",
+ "third_party_resources": "Sumber Daya Pihak Ketiga",
"time_based_memories": "Kenangan berbasis waktu",
"timezone": "Zona waktu",
"to_archive": "Arsipkan",
"to_change_password": "Ubah kata sandi",
"to_favorite": "Favorit",
"to_login": "Log masuk",
+ "to_parent": "Ke induk",
+ "to_root": "Untuk melakukan root",
"to_trash": "Sampah",
"toggle_settings": "Saklar pengaturan",
- "toggle_theme": "Saklar tema",
+ "toggle_theme": "Beralih tema gelap",
"toggle_visibility": "Saklar keterlihatan",
"total_usage": "Jumlah penggunaan",
"trash": "Sampah",
"trash_all": "Buang Semua",
- "trash_count": "Buang {count}",
+ "trash_count": "Sampah {count, number}",
"trash_delete_asset": "Hapus Aset",
"trash_no_results_message": "Foto dan video di sampah akan muncul di sini.",
"trashed_items_will_be_permanently_deleted_after": "Item yang dibuang akan dihapus secara permanen setelah {days, plural, one {# hari} other {# hari}}.",
@@ -1153,12 +1294,15 @@
"unknown": "Tidak diketahui",
"unknown_year": "Tahun Tidak Diketahui",
"unlimited": "Tidak terbatas",
+ "unlink_motion_video": "Membatalkan tautan video gerak",
"unlink_oauth": "Putuskan OAuth",
"unlinked_oauth_account": "Akun OAuth terputus",
"unnamed_album": "Album Tanpa Nama",
+ "unnamed_album_delete_confirmation": "Apakah kamu yakin akan menghapus album ini?",
"unnamed_share": "Pembagian Tanpa Nama",
"unsaved_change": "Perubahan belum disimpan",
"unselect_all": "Batalkan semua pilihan",
+ "unselect_all_duplicates": "Batal pilih semua duplikat",
"unstack": "Batalkan penumpukan",
"unstacked_assets_count": "Penumpukan {count, plural, one {# aset} other {# aset}} dibatalkan",
"untracked_files": "Berkas tidak dilacak",
@@ -1168,7 +1312,7 @@
"upload": "Unggah",
"upload_concurrency": "Konkurensi pengunggahan",
"upload_errors": "Unggahan selesai dengan {count, plural, one {# eror} other {# eror}}, muat ulang laman untuk melihat aset terunggah baru.",
- "upload_progress": "Tersisa {remaining} - Memproses {processed}/{total}",
+ "upload_progress": "Tersisa {remaining, number} - Di proses {processed, number}/{total, number}",
"upload_skipped_duplicates": "Melewati {count, plural, one {# aset duplikat} other {# aset duplikat}}",
"upload_status_duplicates": "Duplikat",
"upload_status_errors": "Eror",
@@ -1181,7 +1325,9 @@
"user_id": "ID Pengguna",
"user_license_settings": "Lisensi",
"user_license_settings_description": "Kelola lisensi Anda",
- "user_liked": "{user} menyukai {type, select, photo {foto ini} video {video ini} asset {aset ini} other {ini}}",
+ "user_liked": "{user} menyukai {type, select, photo {foto ini} video {tayangan ini} asset {aset ini} other {ini}}",
+ "user_purchase_settings": "Pembelian",
+ "user_purchase_settings_description": "Atur pembelian kamu",
"user_role_set": "Tetapkan {user} sebagai {role}",
"user_usage_detail": "Detail penggunaan pengguna",
"username": "Nama pengguna",
@@ -1192,6 +1338,8 @@
"version": "Versi",
"version_announcement_closing": "Temanmu, Alex",
"version_announcement_message": "Halo, ada versi aplikasi yang baru. Silakan luangkan waktu Anda untuk mengunjungi catatan rilis dan pastikan pengaturan docker-compose.yml
dan .env
Anda sudah terkini untuk menghindari kesalahan dalam pengaturan, terutama jika Anda menggunakan WatchTower atau mekanisme lain yang menangani pembaruan aplikasi Anda secara otomatis.",
+ "version_history": "Riwayat Versi",
+ "version_history_item": "Terpasang {version} pada {date}",
"video": "Video",
"video_hover_setting": "Putar gambar kecil video saat kursor di atas",
"video_hover_setting_description": "Putar gambar kecil video ketika tetikus berada di atas item. Bahkan saat dinonaktifkan, pemutaran dapat dimulai dengan mengambang di atas ikon putar.",
@@ -1201,6 +1349,7 @@
"view_album": "Tampilkan Album",
"view_all": "Tampilkan Semua",
"view_all_users": "Tampilkan semua pengguna",
+ "view_in_timeline": "Lihat di timeline",
"view_links": "Tampilkan tautan",
"view_next_asset": "Tampilkan aset berikutnya",
"view_previous_asset": "Tampilkan aset sebelumnya",
@@ -1211,7 +1360,7 @@
"warning": "Peringatan",
"week": "Pekan",
"welcome": "Selamat datang",
- "welcome_to_immich": "Selamat datang di immich",
+ "welcome_to_immich": "Selamat datang di Immich",
"year": "Tahun",
"years_ago": "{years, plural, one {# tahun} other {# tahun}} yang lalu",
"yes": "Ya",
diff --git a/web/src/lib/i18n/it.json b/i18n/it.json
similarity index 83%
rename from web/src/lib/i18n/it.json
rename to i18n/it.json
index cac78ad32b..fc3e9d97fc 100644
--- a/web/src/lib/i18n/it.json
+++ b/i18n/it.json
@@ -1,8 +1,8 @@
{
"about": "Informazioni",
- "account": "Account",
+ "account": "Profilo",
"account_settings": "Impostazioni Account",
- "acknowledge": "Ho capito",
+ "acknowledge": "Acconsento",
"action": "Azione",
"actions": "Azioni",
"active": "Attivi",
@@ -28,6 +28,7 @@
"added_to_favorites_count": "Aggiunti {count, number} ai preferiti",
"admin": {
"add_exclusion_pattern_description": "Aggiungi modelli di esclusione. È supportato il globbing utilizzando *, ** e ?. Per ignorare tutti i file in qualsiasi directory denominata \"Raw\", usa \"**/Raw/**\". Per ignorare tutti i file con estensione \".tif\", usa \"**/*.tif\". Per ignorare un percorso assoluto, usa \"/percorso/da/ignorare/**\".",
+ "asset_offline_description": "Questa risorsa della libreria esterna non si trova più sul disco ed è stata spostata nel cestino. Se il file è stato spostato all'interno della libreria, controlla la timeline per la nuova risorsa corrispondente. Per ripristinare questa risorsa, assicurati che Immich possa accedere al percorso del file seguente ed esegui la scansione della libreria.",
"authentication_settings": "Autenticazione",
"authentication_settings_description": "Gestisci password, OAuth e altre impostazioni di autenticazione",
"authentication_settings_disable_all": "Sei sicuro di voler disabilitare tutte le modalità di accesso? Il login verrà disabilitato completamente.",
@@ -41,6 +42,7 @@
"confirm_email_below": "Per confermare, scrivi \"{email}\" qui sotto",
"confirm_reprocess_all_faces": "Sei sicuro di voler riprocessare tutti i volti? Questo cancellerà tutte le persone nominate.",
"confirm_user_password_reset": "Sei sicuro di voler resettare la password di {user}?",
+ "create_job": "creare lavoro",
"crontab_guru": "Crontab Guru",
"disable_login": "Disabilita login",
"disabled": "Disattivato",
@@ -49,41 +51,51 @@
"external_library_created_at": "Libreria esterna (creata il {date})",
"external_library_management": "Gestione Librerie Esterne",
"face_detection": "Rilevamento Volti",
- "face_detection_description": "Rileva i volti presenti negli assets utilizzando il machine learning. Per i video, viene presa in considerazione solo la miniatura. \"Tutto\" (ri-)processerà tutti gli assets. \"Mancanti\" selaziona solo gli assets che non sono ancora stati processati. I volti rilevati verranno selezionati per il riconoscimento facciale dopo che il rilevamento dei volti sarà stato completato, raggruppandoli in persone esistenti e/o nuove.",
- "facial_recognition_job_description": "Raggruppa i volti rilevati in persone. Questo processo viene eseguito dopo che il rilevamento volti è stato completato. \"Tutti\" (ri-)unisce tutti i volti. \"Mancanti\" processa i volti che non hanno una persona assegnata.",
+ "face_detection_description": "Rileva i volti presenti negli assets utilizzando il machine learning. Per i video, viene presa in considerazione solo la miniatura. \"Aggiorna\" (ri-)processerà tutti gli assets. \"Reset\" inoltre elimina tutti i dati dei volti correnti. \"Mancanti\" seleziona solo gli assets che non sono ancora stati processati. I volti rilevati verranno selezionati per il riconoscimento facciale dopo che il rilevamento dei volti sarà stato completato, raggruppandoli in persone esistenti e/o nuove.",
+ "facial_recognition_job_description": "Raggruppa i volti rilevati in persone. Questo processo viene eseguito dopo che il rilevamento volti è stato completato. \"Reset\" (ri-)unisce tutti i volti. \"Mancanti\" processa i volti che non hanno una persona assegnata.",
"failed_job_command": "Il comando {command} è fallito per il processo: {job}",
"force_delete_user_warning": "ATTENZIONE: Questo rimuoverà immediatamente l'utente e tutti i suoi assets. Non è possibile tornare indietro e i file non potranno essere recuperati.",
"forcing_refresh_library_files": "Forzando l'aggiornamento completo della libreria",
+ "image_format": "formato",
"image_format_description": "WebP produce file più piccoli rispetto a JPEG, ma l'encoding è più lento.",
"image_prefer_embedded_preview": "Preferisci l'anteprima integrata",
"image_prefer_embedded_preview_setting_description": "Usa l'anteprima integrata nelle foto RAW come input per l'elaborazione delle immagini, se disponibile. Questo permette un miglioramento dei colori per alcune immagini, ma la qualità delle anteprime dipende dalla macchina fotografica. Inoltre le immagini potrebbero presentare artefatti di compressione.",
"image_prefer_wide_gamut": "Preferisci gamut più ampio",
"image_prefer_wide_gamut_setting_description": "Usa lo spazio colore Display P3 per le anteprime. Questo aiuta a mantenere la vivacità delle immagini con spazi colore più ampi, tuttavia potrebbe non mostrare correttamente le immagini con dispositivi e browser obsoleti. Le immagini sRGB vengono preservate per evitare alterazioni del colore.",
+ "image_preview_description": "Immagine di medie dimensioni con metadati eliminati, utilizzata durante la visualizzazione di una singola risorsa e per l'apprendimento automatico",
"image_preview_format": "Formato anteprima",
+ "image_preview_quality_description": "Qualità dell'anteprima da 1 a 100. Elevata è migliore ma produce file più pesanti e può ridurre la reattività dell'app. Impostare un valore basso può influenzare negativamente la qualità del machine learning.",
"image_preview_resolution": "Risoluzione anteprima",
"image_preview_resolution_description": "Usata per visualizzazione individuale di foto e per machine learning. Risoluzioni più alte possono preservare più dettagli ma richiedono un encoding più lento, occupano più spazio, e possono ridurre la responsività della app.",
+ "image_preview_title": "Impostazioni dell'anteprima",
"image_quality": "Qualità",
"image_quality_description": "Qualità dell'immagine da 1 a 100. Un valore più alto risulta in una migliore qualità, ma produce file più grandi.",
+ "image_resolution": "Risoluzione",
+ "image_resolution_description": "Risoluzioni più elevate possono preservare più dettagli ma richiedere più tempo per la codifica, avere dimensioni di file più grandi e possono ridurre la reattività dell'app.",
"image_settings": "Impostazioni delle immagini",
"image_settings_description": "Gestisci qualità e risoluzione delle immagini generate",
+ "image_thumbnail_description": "Miniatura piccola senza metadati, utilizzata durante la visualizzazione di gruppi di foto come la sequenza temporale principale",
"image_thumbnail_format": "Formato miniatura",
+ "image_thumbnail_quality_description": "Qualità delle miniature da 1 a 100. Un valore più alto è migliore, ma produce file più grandi e può ridurre la reattività dell'app.",
"image_thumbnail_resolution": "Risoluzione miniatura",
- "image_thumbnail_resolution_description": "Utilizzato per vedere gruppi di foto (linea temporale,vista album, etc.). Risoluzioni piu' alte possono mantenere piu' dettaglio pero' l'encoding sara' piu' lungo, i file avranno dimensioni maggiori e potrebbero causare una riduzione nella responsivita' dell'applicazione.",
+ "image_thumbnail_resolution_description": "Utilizzato per vedere gruppi di foto (linea temporale, vista album, etc.). Risoluzioni più alte possono mantenere più dettaglio però l'encoding sarà più lungo, i file avranno dimensioni maggiori e potrebbero causare una riduzione nella responsività dell'applicazione.",
+ "image_thumbnail_title": "Impostazioni della copertina",
"job_concurrency": "Concorrenza {job}",
+ "job_created": "Lavoro creato",
"job_not_concurrency_safe": "Questo processo non è eseguibile in maniera concorrente.",
"job_settings": "Impostazioni dei processi",
"job_settings_description": "Gestisci la concorrenza dei processi",
"job_status": "Stato Processi",
"jobs_delayed": "{jobCount, plural, one {# posticipato} other {# posticipati}}",
"jobs_failed": "{jobCount, plural, one {# fallito} other {# falliti}}",
- "library_created": "Creata libreria {library}",
+ "library_created": "Creata libreria: {library}",
"library_cron_expression": "Espressione cron",
"library_cron_expression_description": "Imposta l'intervallo di rilevazione utilizzando il formato cron. Per più informazioni consulta es. Crontab Guru",
"library_cron_expression_presets": "Espressioni cron preimpostate",
"library_deleted": "Libreria eliminata",
"library_import_path_description": "Specifica una cartella da importare. Questa cartella e le sue sottocartelle, verranno analizzate per cercare immagini e video.",
"library_scanning": "Scansione periodica",
- "library_scanning_description": "Conigura la scansione periodica della libreria",
+ "library_scanning_description": "Configura la scansione periodica della libreria",
"library_scanning_enable_description": "Attiva la scansione periodica della libreria",
"library_settings": "Libreria Esterna",
"library_settings_description": "Gestisci le impostazioni della libreria esterna",
@@ -95,7 +107,7 @@
"logging_level_description": "Quando attivato, che livello di log utilizzare.",
"logging_settings": "Registro dei Log",
"machine_learning_clip_model": "Modello CLIP",
- "machine_learning_clip_model_description": "Il nome del modello CLIP mostrato qui. Bita cge devi rieseguire il processo 'Ricerca Intelligente' per tutte le immagini al cambio del modello.",
+ "machine_learning_clip_model_description": "Il nome del modello CLIP mostrato qui. Nota che devi rieseguire il processo 'Ricerca Intelligente' per tutte le immagini al cambio del modello.",
"machine_learning_duplicate_detection": "Rilevamento Duplicati",
"machine_learning_duplicate_detection_enabled": "Attiva rilevazione duplicati",
"machine_learning_duplicate_detection_enabled_description": "Se disattivo, risorse perfettamente identiche saranno comunque deduplicate.",
@@ -103,16 +115,16 @@
"machine_learning_enabled": "Attiva machine learning",
"machine_learning_enabled_description": "Se disabilitato, tutte le funzioni di ML saranno disabilitate ignorando le importazioni sottostanti.",
"machine_learning_facial_recognition": "Riconoscimento Facciale",
- "machine_learning_facial_recognition_description": "Rileva, riconosci, e raggruppa faccie nelle immagini",
+ "machine_learning_facial_recognition_description": "Rileva, riconosci, e raggruppa facce nelle immagini",
"machine_learning_facial_recognition_model": "Modello di riconoscimento facciale",
- "machine_learning_facial_recognition_model_description": "I modelli sono mostrati in ordine decrescente in base alla dimensione. I modelli più grandi sono più lenti e utilizzano più memoria, peró producono risultati migliori. Nota che devi ri-eseguire il processo di rilevamento facciale per tutte le immagini quando cambi il modello.",
+ "machine_learning_facial_recognition_model_description": "I modelli sono mostrati in ordine decrescente in base alla dimensione. I modelli più grandi sono più lenti e utilizzano più memoria, però producono risultati migliori. Nota che devi ri-eseguire il processo di rilevamento facciale per tutte le immagini quando cambi il modello.",
"machine_learning_facial_recognition_setting": "Attiva riconoscimento facciale",
- "machine_learning_facial_recognition_setting_description": "Se disabilitato, le immagininon non saranno codificate per il riconoscimento facciale e non verranno mostrate nella sezione Persone della pagina Esplora.",
+ "machine_learning_facial_recognition_setting_description": "Se disabilitato, le immagini non saranno codificate per il riconoscimento facciale e non verranno mostrate nella sezione Persone della pagina Esplora.",
"machine_learning_max_detection_distance": "Distanza massima di rilevazione",
- "machine_learning_max_detection_distance_description": "Massima distanza fra due immagini per considerarle duplicate, variando da 0.001-0.1. Valori più alti rileveranno più duplicati, ma potrebbero causare risultati fasulli.",
+ "machine_learning_max_detection_distance_description": "Massima distanza fra due immagini per considerarle duplicate, variando da 0.001-0.1. Valori più alti rileveranno più duplicati, ma potrebbero causare falsi positivi.",
"machine_learning_max_recognition_distance": "Distanza massima di riconoscimento",
"machine_learning_max_recognition_distance_description": "La distanza massima tra due volti per essere considerati la stessa persona, che varia da 0 a 2. Abbassare questo valore può prevenire l'etichettatura di due persone come se fossero la stessa persona, mentre aumentarlo può prevenire l'etichettatura della stessa persona come se fossero due persone diverse. Nota che è più facile unire due persone che separare una persona in due, quindi è preferibile mantenere una soglia più bassa quando possibile.",
- "machine_learning_min_detection_score": "Punteggio minimo di rilvazione",
+ "machine_learning_min_detection_score": "Punteggio minimo di rilevazione",
"machine_learning_min_detection_score_description": "Punteggio di confidenza minimo per rilevare un volto, da 0 a 1. Valori più bassi rileveranno più volti, ma potrebbero generare risultati fasulli.",
"machine_learning_min_recognized_faces": "Minimo volti rilevati",
"machine_learning_min_recognized_faces_description": "Il numero minimo di volti riconosciuti per creare una persona. Aumentando questo valore si rende il riconoscimento facciale più preciso, ma aumenta la possibilità che un volto non venga assegnato a una persona.",
@@ -129,16 +141,21 @@
"map_enable_description": "Abilita funzionalità della mappa",
"map_gps_settings": "Impostazioni Mappe & GPS",
"map_gps_settings_description": "Gestisci le impostazioni di Mappe & GPS (Geocoding Inverso)",
+ "map_implications": "La funzionalità mappa si basa su un servizio tile esterno (tiles.immich.cloud)",
"map_light_style": "Tema chiaro",
"map_manage_reverse_geocoding_settings": "Gestisci impostazioni Geocodifica inversa",
"map_reverse_geocoding": "Geocodifica inversa",
"map_reverse_geocoding_enable_description": "Abilita geocodifica inversa",
"map_reverse_geocoding_settings": "Impostazioni Geocodifica Inversa",
- "map_settings": "Impostazioni Mappa e GPS",
+ "map_settings": "Impostazioni Mappa e Posizione",
"map_settings_description": "Gestisci impostazioni mappa",
"map_style_description": "URL per un tema della mappa style.json",
"metadata_extraction_job": "Estrazione Metadata",
- "metadata_extraction_job_description": "Estrai informazioni dai metadati di ciascun asset, ad esempio coordinate GPS e risoluzione",
+ "metadata_extraction_job_description": "Estrai informazioni dai metadati di ciascun asset, ad esempio coordinate GPS, volti e risoluzione",
+ "metadata_faces_import_setting": "Abilita l'importazione dei volti",
+ "metadata_faces_import_setting_description": "Importa i volti dai dati EXIF dell'immagine e dai file sidecar",
+ "metadata_settings": "Impostazioni Metadati",
+ "metadata_settings_description": "Gestisci le impostazioni dei metadati",
"migration_job": "Migrazione",
"migration_job_description": "Migra le anteprime per gli asset e volti alla struttura di cartelle più recente",
"no_paths_added": "Nessun percorso aggiunto",
@@ -147,7 +164,7 @@
"note_cannot_be_changed_later": "NOTA: Non potrà essere modificato in futuro!",
"note_unlimited_quota": "Nota: Inserisci 0 per una quota illimitata",
"notification_email_from_address": "Indirizzo mittente",
- "notification_email_from_address_description": "Indirizzo email mittente, ad esempio: \"Server Foto Immich {label}
è l'etichetta di archiviazione dell'utente",
"system_settings": "Impostazioni di sistema",
+ "tag_cleanup_job": "Pulisci Tag",
"theme_custom_css_settings": "CSS Personalizzato",
"theme_custom_css_settings_description": "I Cascading Style Sheets (CSS) permettono di personalizzare l'interfaccia di Immich.",
"theme_settings": "Impostazioni Tema",
@@ -259,26 +280,26 @@
"transcoding_bitrate_description": "Video con bitrate superiore al massimo o in formato non accettato",
"transcoding_codecs_learn_more": "Per saperne di più sulla terminologia utilizzata, fai riferimento alla documentazione di FFmpeg su docker-compose.yml
/.env
siano aggiornati per evitare problemi e incongruenze, sopratutto se utilizzi WatchTower o altri strumenti per aggiornare l'applicazione in automatico.",
+ "version_announcement_message": "Ehilà! È stata rilasciata una nuova versione dell'applicazione. Leggi le note di rilascio e assicurati che i tuoi file docker-compose.yml
/.env
siano aggiornati per evitare problemi e incongruenze, soprattutto se utilizzi WatchTower o altri strumenti per aggiornare l'applicazione in automatico.",
+ "version_history": "Storico delle Versioni",
+ "version_history_item": "Versione installata {version} il {date}",
"video": "Video",
"video_hover_setting": "Riproduci l'anteprima del video al passaggio del mouse",
"video_hover_setting_description": "Riproduci miniatura video quando il mouse passa sopra l'elemento. Anche se disabilitato, la riproduzione può essere avviata passando con il mouse sopra l'icona riproduci.",
@@ -1284,6 +1379,7 @@
"view_album": "Visualizza Album",
"view_all": "Vedi tutto",
"view_all_users": "Visualizza tutti gli utenti",
+ "view_in_timeline": "Visualizza in timeline",
"view_links": "Visualizza i link",
"view_next_asset": "Visualizza risorsa successiva",
"view_previous_asset": "Visualizza risorsa precedente",
@@ -1294,7 +1390,7 @@
"warning": "Attenzione",
"week": "Settimana",
"welcome": "Benvenuto",
- "welcome_to_immich": "Benvenuto a immich",
+ "welcome_to_immich": "Benvenuto in Immich",
"year": "Anno",
"years_ago": "{years, plural, one {# anno} other {# anni}} fa",
"yes": "Si",
diff --git a/web/src/lib/i18n/ja.json b/i18n/ja.json
similarity index 85%
rename from web/src/lib/i18n/ja.json
rename to i18n/ja.json
index 4e01b62850..c220828e54 100644
--- a/web/src/lib/i18n/ja.json
+++ b/i18n/ja.json
@@ -25,7 +25,7 @@
"add_to_shared_album": "共有アルバムに追加",
"added_to_archive": "アーカイブに追加済",
"added_to_favorites": "お気に入りに追加済",
- "added_to_favorites_count": "{count} 画像をお気に入りに追加済",
+ "added_to_favorites_count": "{count, number} 枚の画像をお気に入りに追加済",
"admin": {
"add_exclusion_pattern_description": "除外パターンを追加します。ワイルドカード「*」「**」「?」を使用できます。すべてのディレクトリで「Raw」と名前が付いたファイルを無視するには、「**/Raw/**」を使用します。また、「.tif」で終わるファイルをすべて無視するには、「**/*.tif」を使用します。さらに、絶対パスを無視するには「/path/to/ignore/**」を使用します。",
"authentication_settings": "認証設定",
@@ -37,7 +37,7 @@
"cleared_jobs": "{job}のジョブをクリアしました",
"config_set_by_file": "設定は現在 Config File で設定されている",
"confirm_delete_library": "本当に {library} を削除しますか?",
- "confirm_delete_library_assets": "本当にこのライブラリを削除しますか? {count, plural, one {#個のアセット} other {all #個のアセット全て}} がImmichから削除され、元に戻すことはできません。ファイルはディスク上に残ります。",
+ "confirm_delete_library_assets": "本当にこのライブラリを削除しますか? {count, plural, one {#個のアセット} other {#個のアセット全て}} がImmichから削除され、元に戻すことはできません。ファイルはディスク上に残ります。",
"confirm_email_below": "確認のため、以下に \"{email}\" と入力してください",
"confirm_reprocess_all_faces": "本当にすべての顔を再処理しますか? これにより名前が付けられた人物も消去されます。",
"confirm_user_password_reset": "本当に {user} のパスワードをリセットしますか?",
@@ -49,8 +49,8 @@
"external_library_created_at": "外部ライブラリ(作成日:{date})",
"external_library_management": "外部ライブラリ管理",
"face_detection": "顔検出",
- "face_detection_description": "機械学習を使用してアセット内の顔を検出します。動画の場合は、サムネイルのみが対象となります。\"All\" はすべてのアセットを(再)処理します。 \"Missing\" はまだ処理されていないアセットをキューに入れます。顔検出の完了後、検出された顔は顔認識のキューへ入れられ、既存または新規の人物にグループ化されます。",
- "facial_recognition_job_description": "検出された顔を人物にグループ化します。このステップは顔検出が完了した後に実行されます。 \"All\" はすべての顔を(再)クラスタリングし、 \"Missing\" は人物が割り当てられていない顔をキューに入れます。",
+ "face_detection_description": "機械学習を使用してアセット内の顔を検出します。動画の場合は、サムネイルのみが対象となります。\"すべて\" はすべてのアセットを(再)処理します。 \"欠落\" はまだ処理されていないアセットをキューに入れます。顔検出の完了後、検出された顔は顔認識のキューへ入れられ、既存または新規の人物にグループ化されます。",
+ "facial_recognition_job_description": "検出された顔を人物にグループ化します。このステップは顔検出が完了した後に実行されます。 \"すべて\" はすべての顔を(再)クラスタリングし、 \"欠落\" は人物が割り当てられていない顔をキューに入れます。",
"failed_job_command": "ジョブ {job}のコマンド {command}が失敗しました",
"force_delete_user_warning": "警告:この操作を行うと、ユーザーとすべてのアセットが直ちに削除されます。これは元に戻せず、ファイルも復元できません。",
"forcing_refresh_library_files": "すべてのライブラリファイルを強制更新",
@@ -126,15 +126,16 @@
"manage_concurrency": "同時実行数の管理",
"manage_log_settings": "ログ設定を管理します",
"map_dark_style": "ダークモード",
- "map_enable_description": "地図表示を有効にします",
+ "map_enable_description": "地図表示機能を有効にします",
"map_gps_settings": "地図・GPS設定",
"map_gps_settings_description": "地図とGPS(逆ジオコーディング)の設定を管理します",
+ "map_implications": "地図表示機能は外部のタイルサービス(tiles.immich.cloud)に依存します",
"map_light_style": "ライトモード",
"map_manage_reverse_geocoding_settings": "逆ジオコーディングの設定を管理します",
"map_reverse_geocoding": "逆ジオコーディング",
"map_reverse_geocoding_enable_description": "逆ジオコーディング(緯度経度から住所を生成)を有効にする",
"map_reverse_geocoding_settings": "逆ジオコーディング設定",
- "map_settings": "地図・GPS設定",
+ "map_settings": "地図",
"map_settings_description": "地図設定",
"map_style_description": "マップテーマ(style.json)の参照先URL",
"metadata_extraction_job": "メタデータの展開",
@@ -147,7 +148,7 @@
"note_cannot_be_changed_later": "注意: 後から変更できません!",
"note_unlimited_quota": "注意: 無制限にする場合は0を入力してください",
"notification_email_from_address": "送信メールアドレス",
- "notification_email_from_address_description": "送信メールアドレスを設定します(例: \"Immich Photo Server docker-compose.yml
、及び.cnv
の設定が最新か確認してください。特に自動的にアプリの更新を制御するWatchTowerやその他システムを利用している場合に当てはまります。",
"video": "動画",
"video_hover_setting": "ホバー時にサムネイルで動画を再生",
"video_hover_setting_description": "マウスが項目の上にあるときに動画のサムネイルを再生します。無効時でも再生アイコンにカーソルを合わせると再生を開始できます。",
"videos": "ビデオ",
"videos_count": "{count, plural, one {#個} other {#個}}の動画",
+ "view": "見る",
+ "view_album": "アルバムを見る",
"view_all": "すべて見る",
- "view_all_users": "",
- "view_links": "",
- "view_next_asset": "",
- "view_previous_asset": "",
+ "view_all_users": "全てのユーザーを確認する",
+ "view_in_timeline": "タイムラインで見る",
+ "view_links": "リンクを確認する",
+ "view_next_asset": "次のアセットを見る",
+ "view_previous_asset": "前のアセットを見る",
+ "view_stack": "ビュースタック",
"viewer": "",
"visibility_changed": "{count, plural, one {#人} other {#人}}の人物の非表示設定が変更されました",
- "waiting": "",
- "week": "",
- "welcome_to_immich": "",
- "year": "",
+ "waiting": "待機中",
+ "warning": "警告",
+ "week": "週",
+ "welcome": "ようこそ",
+ "welcome_to_immich": "immichにようこそ",
+ "year": "年",
+ "years_ago": "{years, plural, one {#年} other {#年}}前",
"yes": "はい",
+ "you_dont_have_any_shared_links": "共有リンクはありません",
"zoom_image": "画像を拡大"
}
diff --git a/web/src/lib/i18n/kmr.json b/i18n/kmr.json
similarity index 99%
rename from web/src/lib/i18n/kmr.json
rename to i18n/kmr.json
index e149e1c689..9d8bd29808 100644
--- a/web/src/lib/i18n/kmr.json
+++ b/i18n/kmr.json
@@ -1,7 +1,8 @@
{
- "account": "",
- "account_settings": "",
- "acknowledge": "",
+ "about": "دەربارە",
+ "account": "هەژمار",
+ "account_settings": "ڕێکخستنی هەژمار",
+ "acknowledge": "دانپێدانان",
"action": "",
"actions": "",
"active": "",
@@ -176,7 +177,7 @@
"paths_validated_successfully": "",
"quota_size_gib": "",
"refreshing_all_libraries": "",
- "removing_offline_files": "",
+ "removing_deleted_files": "",
"repair_all": "",
"repair_matched_items": "",
"repaired_items": "",
@@ -492,8 +493,8 @@
"unable_to_refresh_user": "",
"unable_to_remove_album_users": "",
"unable_to_remove_api_key": "",
+ "unable_to_remove_deleted_assets": "",
"unable_to_remove_library": "",
- "unable_to_remove_offline_files": "",
"unable_to_remove_partner": "",
"unable_to_remove_reaction": "",
"unable_to_repair_items": "",
@@ -726,10 +727,10 @@
"refreshed": "",
"refreshes_every_file": "",
"remove": "",
+ "remove_deleted_assets": "",
"remove_from_album": "",
"remove_from_favorites": "",
"remove_from_shared_link": "",
- "remove_offline_files": "",
"removed_api_key": "",
"rename": "",
"repair": "",
diff --git a/web/src/lib/i18n/ko.json b/i18n/ko.json
similarity index 84%
rename from web/src/lib/i18n/ko.json
rename to i18n/ko.json
index 0ca6996e03..d3fd6c9022 100644
--- a/web/src/lib/i18n/ko.json
+++ b/i18n/ko.json
@@ -23,24 +23,26 @@
"add_to": "앨범에 추가...",
"add_to_album": "앨범에 추가",
"add_to_shared_album": "공유 앨범에 추가",
- "added_to_archive": "보관함으로 이동되었습니다.",
+ "added_to_archive": "보관함에 추가되었습니다.",
"added_to_favorites": "즐겨찾기에 추가되었습니다.",
"added_to_favorites_count": "즐겨찾기에 항목 {count, number}개 추가됨",
"admin": {
- "add_exclusion_pattern_description": "규칙에 *, ** 및 ? 를 사용할 수 있습니다. \"Raw\" 디렉터리의 모든 파일을 제외하려면 **/Raw/**를, \".tif\"로 끝나는 파일을 제외하려면 **/*.tif를 사용합니다. 절대 경로는 /path/to/ignore/**처럼 사용하세요.",
+ "add_exclusion_pattern_description": "규칙에 *, ** 및 ? 를 사용할 수 있습니다. \"Raw\" 디렉터리의 모든 파일을 제외하려면 **/Raw/**를, \".tif\"로 끝나는 파일을 제외하려면 **/*.tif를 사용합니다. 절대 경로는 /path/to/ignore/** 와 같은 방식으로 사용하세요.",
+ "asset_offline_description": "이 외부 라이브러리 항목을 디스크에서 찾을 수 없어 휴지통으로 이동되었습니다. 라이브러리 내에서 파일이 이동된 경우 해당하는 새 항목을 타임라인에서 확인하세요. 이 항목을 복원하려면 파일 경로에 Immich가 접근할 수 있는지 확인한 후, 라이브러리 스캔을 진행하세요.",
"authentication_settings": "인증 설정",
"authentication_settings_description": "비밀번호, OAuth 및 기타 인증 설정 관리",
"authentication_settings_disable_all": "로그인 기능을 모두 비활성화하시겠습니까? 로그인하지 않아도 서버에 접근할 수 있습니다.",
"authentication_settings_reenable": "다시 활성화하려면 서버 커맨드를 사용하세요.",
"background_task_job": "백그라운드 작업",
"check_all": "모두 확인",
- "cleared_jobs": "{job} 작업 중단됨",
- "config_set_by_file": "업로드한 설정 파일이 현재 설정에 적용됩니다.",
+ "cleared_jobs": "작업 중단: {job}",
+ "config_set_by_file": "현재 설정은 구성 파일에 의해 관리됩니다.",
"confirm_delete_library": "{library} 라이브러리를 삭제하시겠습니까?",
"confirm_delete_library_assets": "이 라이브러리를 삭제하시겠습니까? Immich에서 항목 {count, plural, one {#개} other {#개}}가 삭제되며 되돌릴 수 없습니다. 원본 파일은 삭제되지 않습니다.",
"confirm_email_below": "계속 진행하려면 아래에 \"{email}\" 입력",
"confirm_reprocess_all_faces": "모든 얼굴을 다시 처리하시겠습니까? 이름이 지정된 인물을 포함한 모든 인물이 삭제됩니다.",
"confirm_user_password_reset": "{user}님의 비밀번호를 재설정하시겠습니까?",
+ "create_job": "작업 생성",
"crontab_guru": "Crontab Guru",
"disable_login": "로그인 비활성화",
"disabled": "비활성화",
@@ -49,27 +51,37 @@
"external_library_created_at": "외부 라이브러리 ({date}에 생성됨)",
"external_library_management": "외부 라이브러리 관리",
"face_detection": "얼굴 감지",
- "face_detection_description": "기계 학습을 통해 항목에서 얼굴을 감지합니다. 동영상의 경우 섬네일만 사용합니다. \"모두\"는 이미 처리된 항목을 포함한 모든 항목을 대기열에 추가합니다. \"누락\"은 처리되지 않은 항목만 대기열에 추가합니다.",
- "facial_recognition_job_description": "감지된 얼굴을 인물로 그룹화합니다. 얼굴 감지 작업이 완료된 후 진행되며, \"모두\"는 이미 그룹화된 얼굴을 포함한 모든 얼굴을 대기열에 추가합니다. \"누락\"은 그룹화되지 않은 얼굴만 대기열에 추가합니다.",
+ "face_detection_description": "기계 학습을 통해 항목에 존재하는 얼굴을 감지합니다. 동영상의 경우 섬네일만 사용합니다. \"새로고침\"은 이미 처리된 항목을 포함한 모든 항목 다시 처리합니다. \"초기화\"는 모든 얼굴 데이터를 삭제합니다. \"누락\"은 처리되지 않은 항목을 대기열에 추가합니다. 얼굴 감지 작업이 완료된 후 얼굴 인식 작업을 진행하여 얼굴을 기존 인물이나 새 인물로 그룹화합니다.",
+ "facial_recognition_job_description": "감지된 얼굴을 인물로 그룹화합니다. 이 작업은 얼굴 감지 작업이 완료된 후 진행됩니다. \"초기화\"는 모든 얼굴의 그룹화를 다시 진행합니다. \"누락\"은 그룹화가 완료되지 않은 얼굴을 대기열에 추가합니다.",
"failed_job_command": "{job} 작업에서 {command} 실패",
"force_delete_user_warning": "경고: 사용자 및 사용자가 업로드한 모든 항목이 즉시 삭제됩니다. 이 작업은 되돌릴 수 없으며 파일을 복구할 수 없습니다.",
"forcing_refresh_library_files": "모든 파일을 다시 스캔하는 중...",
+ "image_format": "형식",
"image_format_description": "WebP는 JPEG보다 파일 크기가 작지만 변환에 더 많은 시간이 소요됩니다.",
"image_prefer_embedded_preview": "포함된 미리 보기 선호",
"image_prefer_embedded_preview_setting_description": "가능한 경우 이미지 처리 시 RAW 사진에 포함된 미리 보기를 사용합니다. 포함된 미리 보기는 카메라에서 생성된 것으로 카메라마다 품질이 다릅니다. 일부 이미지의 경우 더 정확한 색상이 표현될 수 있지만 반대로 더 많은 아티팩트가 있을 수도 있습니다.",
"image_prefer_wide_gamut": "넓은 색 영역 선호",
"image_prefer_wide_gamut_setting_description": "섬네일 이미지에 Display P3을 사용합니다. 많은 색상을 표현할 수 있어 더 정확한 표현이 가능하지만, 오래된 브라우저를 사용하는 경우 이미지가 다르게 보일 수 있습니다. 색상 왜곡을 방지하기 위해 sRGB 이미지는 이 설정이 적용되지 않습니다.",
+ "image_preview_description": "메타데이터를 제거한 중간 크기 이미지, 한장씩 볼때나 기계학습에 사용됨",
"image_preview_format": "미리 보기 형식",
+ "image_preview_quality_description": "1부터 100 사이의 미리보기 품질. 값이 높을수록 좋지만 파일 크기가 커져 앱의 반응성이 떨어질 수 있습니다. 또한 값이 낮으면 기계 학습의 품질이 떨어질 수 있습니다.",
"image_preview_resolution": "미리 보기 해상도",
- "image_preview_resolution_description": "각 항목을 보거나 기계 학습에 사용되는 사진의 해상도를 설정합니다. 해상도가 높으면 세부 묘사의 손실을 최소화할 수 있지만, 인코딩 시간과 파일 크기가 증가하여 앱의 반응 속도가 느려질 수 있습니다.",
+ "image_preview_resolution_description": "사진을 보거나 기계 학습을 실행할 때 사용되는 사진의 해상도를 설정합니다. 높은 해상도를 선택하면 세부 묘사의 손실을 최소화할 수 있지만, 인코딩 시간과 파일 크기가 증가하여 앱의 반응 속도가 느려질 수 있습니다.",
+ "image_preview_title": "미리보기 설정",
"image_quality": "품질",
- "image_quality_description": "이미지 품질을 1에서 100 사이로 설정합니다. 품질이 높으면 파일 크기가 증가하지만 생성된 이미지의 품질이 향상됩니다. 이 옵션은 미리 보기 및 섬네일 이미지에 영향을 미칩니다.",
+ "image_quality_description": "이미지 품질을 1에서 100 사이로 설정합니다. 높은 품질을 선택하면 파일 크기가 증가하지만 생성된 이미지의 품질이 향상됩니다. 이 옵션은 미리 보기 및 섬네일 이미지에 영향을 미칩니다.",
+ "image_resolution": "해상도",
+ "image_resolution_description": "해상도가 높을 수록 디테일이 보존되지만 파일이 크고 인코딩이 오래 걸리며 앱 응답성이 떨어질 수 있습니다.",
"image_settings": "이미지 설정",
"image_settings_description": "생성된 이미지의 품질 및 해상도 관리",
+ "image_thumbnail_description": "메타데이터가 제거된 작은 섬네일 이미지, 타임라인 등 사진을 그룹화하여 보는 경우에 사용됨",
"image_thumbnail_format": "섬네일 형식",
+ "image_thumbnail_quality_description": "섬네일 품질(1~100). 높을수록 좋지만 파일크기가 커져 앱의 반응성이 떨어질 수 있습니다.",
"image_thumbnail_resolution": "섬네일 해상도",
- "image_thumbnail_resolution_description": "여러 항목을 표시할 때 사용되는 사진의 해상도를 설정합니다. (메인 타임라인, 앨범 보기 등) 해상도가 높으면 세부 묘사의 손실을 최소화할 수 있지만, 인코딩 시간과 파일 크기가 증가하여 앱의 반응 속도가 느려질 수 있습니다.",
+ "image_thumbnail_resolution_description": "여러 항목을 표시할 때 사용되는 사진의 해상도를 설정합니다. (메인 타임라인, 앨범 보기 등) 높은 해상도를 선택하면 세부 묘사의 손실을 최소화할 수 있지만, 인코딩 시간과 파일 크기가 증가하여 앱의 반응 속도가 느려질 수 있습니다.",
+ "image_thumbnail_title": "섬네일 설정",
"job_concurrency": "{job} 동시성",
+ "job_created": "작업이 생성되었습니다.",
"job_not_concurrency_safe": "이 작업은 동시 실행이 제한됩니다.",
"job_settings": "작업 설정",
"job_settings_description": "작업 동시성 관리",
@@ -95,7 +107,7 @@
"logging_level_description": "로깅이 활성화된 경우 사용할 로그 레벨을 선택합니다.",
"logging_settings": "로깅",
"machine_learning_clip_model": "CLIP 모델",
- "machine_learning_clip_model_description": "CLIP 모델의 종류는 이곳을 참조하세요. 변경 후 모든 항목의 스마트 검색 작업을 다시 진행해야 합니다.",
+ "machine_learning_clip_model_description": "CLIP 모델의 종류는 이곳을 참조하세요. 한국어로 검색하려면 Multilingual CLIP 모델을 선택하세요. 변경 후 모든 항목에 대한 스마트 검색 작업을 다시 진행해야 합니다.",
"machine_learning_duplicate_detection": "비슷한 항목 감지",
"machine_learning_duplicate_detection_enabled": "비슷한 항목 감지 활성화",
"machine_learning_duplicate_detection_enabled_description": "비활성화된 경우에도 완전히 일치하는 항목은 여전히 감지됩니다.",
@@ -129,16 +141,21 @@
"map_enable_description": "지도 기능 활성화",
"map_gps_settings": "지도 및 GPS 설정",
"map_gps_settings_description": "지도 및 GPS (역지오코딩) 설정 관리",
+ "map_implications": "지도 기능은 외부 타일 서비스(tiles.immich.clou를 사용합니다.",
"map_light_style": "라이트 스타일",
"map_manage_reverse_geocoding_settings": "역지오코딩 설정 관리",
"map_reverse_geocoding": "역지오코딩",
"map_reverse_geocoding_enable_description": "역지오코딩 활성화",
"map_reverse_geocoding_settings": "역지오코딩 설정",
- "map_settings": "지도 설정",
+ "map_settings": "지도",
"map_settings_description": "지도 설정 관리",
"map_style_description": "지도 테마 style.json URL",
"metadata_extraction_job": "메타데이터 추출",
- "metadata_extraction_job_description": "각 항목에서 GPS, 해상도 등의 메타데이터 정보 추출",
+ "metadata_extraction_job_description": "각 항목에서 GPS, 인물 및 해상도 등의 메타데이터 정보 추출",
+ "metadata_faces_import_setting": "얼굴 가져오기 활성화",
+ "metadata_faces_import_setting_description": "사이드카 파일의 이미지 EXIF 데이터에서 얼굴 가져오기",
+ "metadata_settings": "메타데이터 설정",
+ "metadata_settings_description": "메타데이터 설정 관리",
"migration_job": "마이그레이션",
"migration_job_description": "각 항목의 섬네일 및 인물의 얼굴을 최신 폴더 구조로 마이그레이션",
"no_paths_added": "추가된 경로 없음",
@@ -147,7 +164,7 @@
"note_cannot_be_changed_later": "주의: 추후 변경할 수 없습니다!",
"note_unlimited_quota": "참고: 할당량을 설정하지 않으려면 0을 입력하세요.",
"notification_email_from_address": "보낸 사람 이메일",
- "notification_email_from_address_description": "보낸 사람의 이메일 주소, 예: \"Immich Photo Server {label}
",
"system_settings": "시스템 설정",
+ "tag_cleanup_job": "태그 정리",
"theme_custom_css_settings": "사용자 정의 CSS",
"theme_custom_css_settings_description": "Immich에 적용할 사용자 정의 CSS(Cascading Style Sheets) 설정",
"theme_settings": "테마 설정",
@@ -261,31 +282,31 @@
"transcoding_constant_quality_mode": "Constant quality mode",
"transcoding_constant_quality_mode_description": "ICQ는 CQP보다 나은 성능을 보이나 일부 기기의 하드웨어 가속에서 지원되지 않을 수 있습니다. 이 옵션을 설정하면 품질 기반 인코딩 시 지정된 모드를 우선적으로 사용합니다. NVENC에서는 ICQ를 지원하지 않아 이 설정이 적용되지 않습니다.",
"transcoding_constant_rate_factor": "Constant rate factor (-crf)",
- "transcoding_constant_rate_factor_description": "일반적으로 H.264는 23, HEVC는 28, VP9는 31, AV1는 35를 사용합니다. 값이 낮으면 품질이 향상되며 파일 크기가 증가합니다.",
+ "transcoding_constant_rate_factor_description": "일반적으로 H.264는 23, HEVC는 28, VP9는 31, AV1는 35를 사용합니다. 값이 낮으면 품질이 향상되지만 파일 크기가 증가합니다.",
"transcoding_disabled_description": "동영상을 트랜스코딩하지 않음. 일부 기기에서 재생이 불가능할 수 있습니다.",
"transcoding_hardware_acceleration": "하드웨어 가속",
"transcoding_hardware_acceleration_description": "실험적인 기능입니다. 속도가 향상되지만 동일 비트레이트에서 품질이 상대적으로 낮을 수 있습니다.",
"transcoding_hardware_decoding": "하드웨어 디코딩",
- "transcoding_hardware_decoding_setting_description": "인코딩 가속을 위해 엔드 투 엔드 가속을 사용합니다. 모든 동영상에서 작동하지 않을 수 있습니다. (NVENC, QSV 및 RKMPP만 해당)",
+ "transcoding_hardware_decoding_setting_description": "인코딩 가속을 위해 엔드 투 엔드 가속을 사용합니다. 모든 동영상에서 작동하지 않을 수 있습니다.",
"transcoding_hevc_codec": "HEVC 코덱",
"transcoding_max_b_frames": "최대 B 프레임",
"transcoding_max_b_frames_description": "값이 높으면 압축 효율이 향상되지만 인코딩 속도가 저하됩니다. 오래된 기기의 하드웨어 가속과 호환되지 않을 수 있습니다. 0을 입력한 경우 B 프레임을 비활성화하며, -1을 입력한 경우 자동으로 설정합니다.",
"transcoding_max_bitrate": "최대 비트레이트",
- "transcoding_max_bitrate_description": "최대 비트레이트를 지정하면 약간의 품질 저하가 발생하지만 파일 크기가 예측 가능한 수준으로 일정하게 유지됩니다. 일반적으로 720p에서 VP9 및 HEVC는 2600k, H.264는 4500k를 사용합니다. 0을 입력한 경우 비활성화됩니다.",
+ "transcoding_max_bitrate_description": "최대 비트레이트를 지정하면 품질이 일부 저하되지만 파일 크기가 예측 가능한 수준으로 일정하게 유지됩니다. 일반적으로 720p 기준 VP9 및 HEVC는 2600k, H.264는 4500k를 사용합니다. 0을 입력한 경우 비활성화됩니다.",
"transcoding_max_keyframe_interval": "최대 키프레임 간격",
"transcoding_max_keyframe_interval_description": "키프레임 사이 최대 프레임 거리를 설정합니다. 값이 낮으면 압축 효율이 저하되지만 검색 시간이 개선되고 빠른 움직임이 있는 장면에서 품질이 향상됩니다. 0을 입력한 경우 자동으로 설정합니다.",
"transcoding_optimal_description": "목표 해상도보다 높은 동영상 또는 허용되지 않는 형식의 동영상",
"transcoding_preferred_hardware_device": "선호하는 하드웨어 기기",
"transcoding_preferred_hardware_device_description": "하드웨어 트랜스코딩에 사용할 dri 노드를 설정합니다. (VAAPI와 QSV만 해당)",
"transcoding_preset_preset": "프리셋 (-preset)",
- "transcoding_preset_preset_description": "압축 속도를 설정합니다. 느린 프리셋을 선택하면 파일 크기가 감소하고 목표 비트레이트를 지정한 경우 품질이 향상됩니다. VP9의 경우 `faster` 이상의 속도가 적용되지 않습니다.",
+ "transcoding_preset_preset_description": "압축 속도를 설정합니다. 동일 비트레이트 기준에서 느린 속도를 선택하면 파일 크기가 감소하고 품질이 향상됩니다. VP9는 'faster' 이상의 속도가 적용되지 않습니다.",
"transcoding_reference_frames": "참조 프레임",
"transcoding_reference_frames_description": "특정 프레임을 압축할 때 참조하는 프레임 수를 설정합니다. 값이 높으면 압축 효율이 향상되나 인코딩 속도가 저하됩니다. 0을 입력한 경우 자동으로 설정합니다.",
"transcoding_required_description": "허용된 형식이 아닌 동영상만",
"transcoding_settings": "동영상 트랜스코딩 설정",
"transcoding_settings_description": "동영상 파일의 해상도 및 인코딩 정보 관리",
"transcoding_target_resolution": "목표 해상도",
- "transcoding_target_resolution_description": "해상도가 높으면 세부 묘사의 손실을 최소화할 수 있지만, 인코딩 시간과 파일 크기가 증가하여 앱의 반응 속도가 느려질 수 있습니다.",
+ "transcoding_target_resolution_description": "높은 해상도를 선택한 경우 세부 묘사의 손실을 최소화할 수 있지만, 인코딩 시간과 파일 크기가 증가하여 앱의 반응 속도가 느려질 수 있습니다.",
"transcoding_temporal_aq": "Temporal AQ",
"transcoding_temporal_aq_description": "세부 묘사가 많고 움직임이 적은 장면의 품질이 향상됩니다. 오래된 기기와 호환되지 않을 수 있습니다. (NVENC만 해당)",
"transcoding_threads": "스레드",
@@ -307,6 +328,7 @@
"trash_settings_description": "휴지통 설정 관리",
"untracked_files": "추적되지 않는 파일",
"untracked_files_description": "애플리케이션에서 추적되지 않는 파일 목록입니다. 이동 실패, 업로드 중단 또는 버그로 인해 발생할 수 있습니다.",
+ "user_cleanup_job": "사용자 정리",
"user_delete_delay": "{user}님이 업로드한 항목이 {delay, plural, one {#일} other {#일}} 후 영구적으로 삭제됩니다.",
"user_delete_delay_settings": "삭제 보류 기간",
"user_delete_delay_settings_description": "사용자를 영구적으로 삭제하기 전 보류 기간을 설정합니다. 사용자 삭제는 매일 밤 자정, 보류 기간이 지난 사용자를 확인한 후 진행됩니다. 변경 사항은 다음 작업부터 적용됩니다.",
@@ -320,7 +342,8 @@
"user_settings": "사용자 설정",
"user_settings_description": "사용자 설정 관리",
"user_successfully_removed": "{email}이(가) 성공적으로 제거되었습니다.",
- "version_check_enabled_description": "최신 버전 확인을 위한 주기적인 GitHub 확인 활성화",
+ "version_check_enabled_description": "버전 확인 활성화",
+ "version_check_implications": "주기적으로 github.com에 요청을 보내 최신 버전을 확인합니다.",
"version_check_settings": "버전 확인",
"version_check_settings_description": "최신 버전 알림 설정 관리",
"video_conversion_job": "동영상 트랜스코드",
@@ -335,9 +358,10 @@
"age_years": "{years, plural, other {#세}}",
"album_added": "공유 앨범 초대",
"album_added_notification_setting_description": "공유 앨범으로 초대를 받은 경우 이메일 알림 받기",
- "album_cover_updated": "앨범 커버를 변경했습니다.",
- "album_delete_confirmation": "{album} 앨범을 삭제하시겠습니까?\n이 앨범을 공유한 경우 다른 사용자가 더 이상 앨범에 접근할 수 없습니다.",
- "album_info_updated": "앨범 정보가 수정되었습니다.",
+ "album_cover_updated": "앨범 커버 업데이트됨",
+ "album_delete_confirmation": "{album} 앨범을 삭제하시겠습니까?",
+ "album_delete_confirmation_description": "이 앨범을 공유한 경우 다른 사용자가 더 이상 앨범에 접근할 수 없습니다.",
+ "album_info_updated": "앨범 정보 업데이트됨",
"album_leave": "앨범에서 나가시겠습니까?",
"album_leave_confirmation": "{album} 앨범에서 나가시겠습니까?",
"album_name": "앨범 이름",
@@ -347,8 +371,8 @@
"album_share_no_users": "이미 모든 사용자와 앨범을 공유 중이거나 다른 사용자가 없는 것 같습니다.",
"album_updated": "항목 추가 알림",
"album_updated_setting_description": "공유 앨범에 항목이 추가된 경우 이메일 알림 받기",
- "album_user_left": "{album} 앨범에서 나왔습니다.",
- "album_user_removed": "{user}님을 앨범에서 제거했습니다.",
+ "album_user_left": "{album} 앨범에서 나옴",
+ "album_user_removed": "{user}님을 앨범에서 제거함",
"album_with_link_access": "링크가 있는 경우 누구나 이 앨범의 사진과 인물을 볼 수 있습니다.",
"albums": "앨범",
"albums_count": "앨범 {count, plural, one {{count, number}개} other {{count, number}개}}",
@@ -360,6 +384,7 @@
"allow_edits": "편집자로 설정",
"allow_public_user_to_download": "모든 사용자의 다운로드 허용",
"allow_public_user_to_upload": "모든 사용자의 업로드 허용",
+ "anti_clockwise": "반시계 방향",
"api_key": "API 키",
"api_key_description": "이 값은 한 번만 표시됩니다. 창을 닫기 전 반드시 복사하세요.",
"api_key_empty": "키 이름은 비어 있을 수 없습니다.",
@@ -376,26 +401,27 @@
"are_you_sure_to_do_this": "계속 진행하시겠습니까?",
"asset_added_to_album": "앨범에 추가되었습니다.",
"asset_adding_to_album": "앨범에 추가 중...",
- "asset_description_updated": "설명이 변경되었습니다.",
- "asset_filename_is_offline": "{filename} 항목이 누락되었습니다.",
- "asset_has_unassigned_faces": "항목에 알 수 없는 인물이 있습니다.",
+ "asset_description_updated": "항목의 설명이 업데이트되었습니다.",
+ "asset_filename_is_offline": "{filename} 항목 누락됨",
+ "asset_has_unassigned_faces": "항목에 할당되지 않은 얼굴이 있음",
"asset_hashing": "해시 확인 중...",
"asset_offline": "누락된 항목",
- "asset_offline_description": "이 항목은 누락되었습니다. Immich가 파일 위치에 접근할 수 없습니다. 해당 위치에 접근이 가능하거나 파일이 존재하는지 확인한 뒤 라이브러리를 다시 스캔하세요.",
+ "asset_offline_description": "디스크에서 항목을 더이상 찾을 수 없습니다. 서버 관리자에게 연락하여 도움을 받으세요.",
"asset_skipped": "건너뜀",
+ "asset_skipped_in_trash": "휴지통의 항목",
"asset_uploaded": "업로드 완료",
"asset_uploading": "업로드 중...",
"assets": "항목",
- "assets_added_count": "항목 {count, plural, one {#개} other {#개}} 추가됨",
+ "assets_added_count": "항목 {count, plural, one {#개} other {#개}}가 추가되었습니다.",
"assets_added_to_album_count": "앨범에 항목 {count, plural, one {#개} other {#개}} 추가됨",
"assets_added_to_name_count": "{hasName, select, true {{name}} other {새 앨범}}에 항목 {count, plural, one {#개} other {#개}} 추가됨",
"assets_count": "{count, plural, one {#개} other {#개}} 항목",
"assets_moved_to_trash": "항목 {count, plural, one {#개} other {#개}}를 휴지통으로 이동함",
"assets_moved_to_trash_count": "휴지통으로 항목 {count, plural, one {#개} other {#개}} 이동됨",
"assets_permanently_deleted_count": "항목 {count, plural, one {#개} other {#개}}가 영구적으로 삭제됨",
- "assets_removed_count": "항목 {count, plural, one {#개} other {#개}} 제거됨",
- "assets_restore_confirmation": "휴지통으로 이동된 항목을 모두 복원하시겠습니까? 이 작업은 되돌릴 수 없습니다!",
- "assets_restored_count": "항목 {count, plural, one {#개} other {#개}} 복원됨",
+ "assets_removed_count": "항목 {count, plural, one {#개} other {#개}}를 제거했습니다.",
+ "assets_restore_confirmation": "휴지통으로 이동된 항목을 모두 복원하시겠습니까? 이 작업은 되돌릴 수 없습니다! 누락된 항목의 경우 복원되지 않습니다.",
+ "assets_restored_count": "항목 {count, plural, one {#개} other {#개}}를 복원했습니다.",
"assets_trashed_count": "휴지통으로 항목 {count, plural, one {#개} other {#개}} 이동됨",
"assets_were_part_of_album_count": "앨범에 이미 존재하는 {count, plural, one {항목} other {항목}}입니다.",
"authorized_devices": "인증된 기기",
@@ -405,6 +431,7 @@
"birthdate_saved": "생년월일이 성공적으로 저장되었습니다.",
"birthdate_set_description": "생년월일은 사진 촬영 당시 인물의 나이를 계산하는 데 사용됩니다.",
"blurred_background": "흐린 배경",
+ "bugs_and_feature_requests": "버그 제보 & 기능 요청",
"build": "빌드",
"build_image": "빌드 이미지",
"bulk_delete_duplicates_confirmation": "비슷한 항목 {count, plural, one {#개} other {#개}}를 삭제하시겠습니까? 크기가 가장 큰 항목을 제외한 나머지 항목들이 영구적으로 삭제됩니다. 이 작업은 되돌릴 수 없습니다!",
@@ -441,9 +468,11 @@
"clear_all_recent_searches": "검색 기록 전체 삭제",
"clear_message": "메시지 지우기",
"clear_value": "값 지우기",
+ "clockwise": "시계 방향",
"close": "닫기",
"collapse": "접기",
"collapse_all": "모두 접기",
+ "color": "색상",
"color_theme": "테마 색상",
"comment_deleted": "댓글이 삭제되었습니다.",
"comment_options": "댓글 옵션",
@@ -477,6 +506,8 @@
"create_new_person": "인물 생성",
"create_new_person_hint": "선택한 항목의 인물을 새 인물로 변경",
"create_new_user": "사용자 생성",
+ "create_tag": "태그 생성",
+ "create_tag_description": "새 태그를 생성합니다. 하위 태그의 경우 /를 포함한 전체 태그명을 입력하세요.",
"create_user": "사용자 생성",
"created": "생성됨",
"current_device": "현재 기기",
@@ -489,7 +520,7 @@
"date_of_birth_saved": "생년월일이 성공적으로 저장되었습니다.",
"date_range": "날짜 범위",
"day": "일",
- "deduplicate_all": "비슷한 항목 모두 선택",
+ "deduplicate_all": "모두 삭제",
"default_locale": "기본 로케일",
"default_locale_description": "브라우저 로케일에 따른 날짜 및 숫자 형식 지정",
"delete": "삭제",
@@ -500,13 +531,17 @@
"delete_library": "라이브러리 삭제",
"delete_link": "링크 삭제",
"delete_shared_link": "공유 링크 삭제",
+ "delete_tag": "태그 삭제",
+ "delete_tag_confirmation_prompt": "{tagName} 태그를 삭제하시겠습니까?",
"delete_user": "사용자 삭제",
"deleted_shared_link": "공유 링크가 삭제되었습니다.",
+ "deletes_missing_assets": "디스크에 존재하지 않는 항목 제거",
"description": "설명",
"details": "상세 정보",
"direction": "방향",
"disabled": "비활성화됨",
"disallow_edits": "뷰어로 설정",
+ "discord": "Discord",
"discover": "탐색",
"dismiss_all_errors": "모든 오류 무시",
"dismiss_error": "오류 무시",
@@ -515,8 +550,11 @@
"display_original_photos": "원본 이미지 표시",
"display_original_photos_setting_description": "원본 사진이 웹과 호환되는 경우 섬네일 대신 원본을 표시합니다. 사진이 표시되는 속도가 느려질 수 있습니다.",
"do_not_show_again": "다시 표시하지 않음",
+ "documentation": "문서",
"done": "완료",
"download": "다운로드",
+ "download_include_embedded_motion_videos": "내장된 동영상",
+ "download_include_embedded_motion_videos_description": "모션 포토에 내장된 동영상을 개별 파일로 포함",
"download_settings": "다운로드",
"download_settings_description": "다운로드 설정 관리",
"downloading": "다운로드",
@@ -546,10 +584,15 @@
"edit_location": "위치 변경",
"edit_name": "이름 변경",
"edit_people": "인물 변경",
+ "edit_tag": "태그 편집",
"edit_title": "제목 변경",
"edit_user": "사용자 수정",
- "edited": "펀집되었습니다.",
+ "edited": "공유 링크가 수정되었습니다.",
"editor": "편집자",
+ "editor_close_without_save_prompt": "변경 사항이 반영되지 않습니다.",
+ "editor_close_without_save_title": "편집을 종료하시겠습니까?",
+ "editor_crop_tool_h2_aspect_ratios": "종횡비",
+ "editor_crop_tool_h2_rotation": "회전",
"email": "이메일",
"empty": "",
"empty_album": "",
@@ -559,19 +602,19 @@
"enabled": "활성화됨",
"end_date": "종료일",
"error": "오류",
- "error_loading_image": "사진을 불러오는 중 문제가 발생했습니다.",
+ "error_loading_image": "이미지 로드 오류",
"error_title": "오류 - 문제가 발생했습니다",
"errors": {
"cannot_navigate_next_asset": "다음 항목으로 이동할 수 없습니다.",
"cannot_navigate_previous_asset": "이전 항목으로 이동할 수 없습니다.",
"cant_apply_changes": "변경 사항을 적용할 수 없습니다.",
"cant_change_activity": "활동을 {enabled, select, true {비활성화} other {활성화}}할 수 없습니다.",
- "cant_change_asset_favorite": "즐겨찾기 상태를 변경할 수 없습니다.",
+ "cant_change_asset_favorite": "즐겨찾기를 변경할 수 없습니다.",
"cant_change_metadata_assets_count": "항목 {count, plural, one {#개} other {#개}}의 메타데이터를 변경할 수 없습니다.",
- "cant_get_faces": "얼굴을 불러올 수 없습니다.",
- "cant_get_number_of_comments": "댓글의 개수를 불러올 수 없습니다.",
- "cant_search_people": "인물을 검색할 수 없습니다.",
- "cant_search_places": "장소를 검색할 수 없습니다.",
+ "cant_get_faces": "얼굴을 불러올 수 없음",
+ "cant_get_number_of_comments": "댓글 수를 불러올 수 없음",
+ "cant_search_people": "인물을 검색할 수 없음",
+ "cant_search_places": "장소를 검색할 수 없음",
"cleared_jobs": "{job} 작업 중단됨",
"error_adding_assets_to_album": "앨범에 항목을 추가하는 중 문제가 발생했습니다.",
"error_adding_users_to_album": "앨범에 사용자를 추가하는 중 문제가 발생했습니다.",
@@ -616,7 +659,7 @@
"unable_to_check_item": "",
"unable_to_check_items": "",
"unable_to_complete_oauth_login": "OAuth 로그인을 완료할 수 없습니다.",
- "unable_to_connect": "연결할 수 없습니다.",
+ "unable_to_connect": "연결할 수 없음",
"unable_to_connect_to_server": "서버에 연결할 수 없습니다.",
"unable_to_copy_to_clipboard": "클립보드에 복사할 수 없습니다. https를 통해 접속 중인지 확인하세요.",
"unable_to_create_admin_account": "관리자 계정을 생성할 수 없습니다.",
@@ -639,6 +682,7 @@
"unable_to_get_comments_number": "댓글의 개수를 불러올 수 없습니다.",
"unable_to_get_shared_link": "공유 링크를 불러오지 못했습니다.",
"unable_to_hide_person": "인물을 숨길 수 없습니다.",
+ "unable_to_link_motion_video": "모션 비디오를 연결할 수 없습니다",
"unable_to_link_oauth_account": "OAuth 계정을 연결할 수 없습니다.",
"unable_to_load_album": "앨범을 불러올 수 없습니다.",
"unable_to_load_asset_activity": "사용자의 반응을 불러올 수 없습니다.",
@@ -655,8 +699,8 @@
"unable_to_remove_api_key": "API 키를 삭제할 수 없습니다.",
"unable_to_remove_assets_from_shared_link": "공유 링크에서 항목을 제거할 수 없습니다.",
"unable_to_remove_comment": "",
+ "unable_to_remove_deleted_assets": "누락된 파일을 제거할 수 없습니다.",
"unable_to_remove_library": "라이브러리를 제거할 수 없습니다.",
- "unable_to_remove_offline_files": "누락된 파일을 제거할 수 없습니다.",
"unable_to_remove_partner": "파트너를 제거할 수 없습니다.",
"unable_to_remove_reaction": "반응을 제거할 수 없습니다.",
"unable_to_remove_user": "",
@@ -664,7 +708,7 @@
"unable_to_reset_password": "비밀번호를 초기화할 수 없습니다.",
"unable_to_resolve_duplicate": "비슷한 항목을 처리할 수 없습니다.",
"unable_to_restore_assets": "항목을 복원할 수 없습니다.",
- "unable_to_restore_trash": "휴지통에서 항목을 복원할 수 없습니다.",
+ "unable_to_restore_trash": "휴지통을 복원할 수 없습니다.",
"unable_to_restore_user": "사용자 삭제를 취소할 수 없습니다.",
"unable_to_save_album": "앨범을 저장할 수 없습니다.",
"unable_to_save_api_key": "API 키를 수정할 수 없습니다.",
@@ -677,8 +721,9 @@
"unable_to_set_feature_photo": "대표 사진을 지정할 수 없습니다.",
"unable_to_set_profile_picture": "프로필 사진을 설정할 수 없습니다.",
"unable_to_submit_job": "작업을 수행할 수 없습니다.",
- "unable_to_trash_asset": "휴지통으로 항목을 이동할 수 없습니다.",
+ "unable_to_trash_asset": "휴지통으로 이동할 수 없습니다.",
"unable_to_unlink_account": "계정 연결을 해제할 수 없습니다.",
+ "unable_to_unlink_motion_video": "모션 비디오 연결을 해제할 수 없습니다.",
"unable_to_update_album_cover": "앨범 커버를 변경할 수 없습니다.",
"unable_to_update_album_info": "앨범 정보를 변경할 수 없습니다.",
"unable_to_update_library": "라이브러리를 업데이트할 수 없습니다.",
@@ -699,6 +744,7 @@
"expired": "만료됨",
"expires_date": "{date} 만료",
"explore": "탐색",
+ "explorer": "탐색기",
"export": "내보내기",
"export_as_json": "JSON으로 내보내기",
"extension": "확장자",
@@ -710,8 +756,10 @@
"favorite_or_unfavorite_photo": "즐겨찾기 추가 및 제거",
"favorites": "즐겨찾기",
"feature": "",
- "feature_photo_updated": "대표 사진이 설정되었습니다.",
+ "feature_photo_updated": "대표 사진 업데이트됨",
"featurecollection": "",
+ "features": "기능",
+ "features_setting_description": "앱 기능 관리",
"file_name": "파일 이름",
"file_name_or_extension": "파일명 또는 확장자",
"filename": "파일명",
@@ -720,6 +768,8 @@
"filter_people": "인물 필터",
"find_them_fast": "이름으로 검색하여 빠르게 찾기",
"fix_incorrect_match": "잘못된 분류 수정",
+ "folders": "폴더",
+ "folders_feature_description": "파일 시스템의 사진 및 동영상을 폴더 뷰로 탐색",
"force_re-scan_library_files": "모든 파일 강제 다시 스캔",
"forward": "앞으로",
"general": "일반",
@@ -743,12 +793,16 @@
"host": "호스트",
"hour": "시간",
"image": "이미지",
- "image_alt_text_date": "{date}에 촬영된 {isVideo, select, true {동영상} other {사진}}",
- "image_alt_text_date_1_person": "{date}에 {person1}님과 함께한 {isVideo, select, true {동영상} other {사진}}",
- "image_alt_text_date_2_people": "{date}에 {person1}, {person2}님과 함께한 {isVideo, select, true {동영상} other {사진}}",
- "image_alt_text_date_3_people": "{date}에 {person1}, {person2}, {person3}님과 함께한 {isVideo, select, true {동영상} other {사진}}",
- "image_alt_text_date_4_or_more_people": "{date}에 {person1}, {person2}, 그 외 {additionalCount, number}명과 함께한 {isVideo, select, true {동영상} other {사진}}",
- "image_alt_text_date_place": "{city}, {country}에서 {date}에 촬영한 {isVideo, select, true {동영상} other {사진}}",
+ "image_alt_text_date": "{date} 촬영한 {isVideo, select, true {동영상} other {사진}}",
+ "image_alt_text_date_1_person": "{date} {person1}님과 함께한 {isVideo, select, true {동영상} other {사진}}",
+ "image_alt_text_date_2_people": "{date} {person1}, {person2}님과 함께한 {isVideo, select, true {동영상} other {사진}}",
+ "image_alt_text_date_3_people": "{date} {person1}, {person2}, {person3}님과 함께한 {isVideo, select, true {동영상} other {사진}}",
+ "image_alt_text_date_4_or_more_people": "{date} {person1}, {person2}님 및 {additionalCount, number}명과 함께한 {isVideo, select, true {동영상} other {사진}}",
+ "image_alt_text_date_place": "{date} {country}, {city}에서 촬영한 {isVideo, select, true {동영상} other {사진}}",
+ "image_alt_text_date_place_1_person": "{date} {country}, {city}에서 {person1}님과 함께한 {isVideo, select, true {동영상} other {사진}}",
+ "image_alt_text_date_place_2_people": "{date} {country}, {city}에서 {person1}, {person2}님과 함께한 {isVideo, select, true {동영상} other {사진}}",
+ "image_alt_text_date_place_3_people": "{date} {country}, {city}에서 {person1}, {person2}님 및 {person3}님과 함께한 {isVideo, select, true {동영상} other {사진}}",
+ "image_alt_text_date_place_4_or_more_people": "{date} {country}, {city}에서 {person1}, {person2}님 및 {additionalCount, number}명과 함께한 {isVideo, select, true {동영상} other {사진}}",
"image_alt_text_people": "{count, plural, =1 {{person1}님과 함께,} =2 {{person1} 및 {person2}님과 함께,} =3 {{person1}, {person2} 및 {person3}님과 함께,} other {{person1}, {person2}, 및 {others, number}명과 함께,}}",
"image_alt_text_place": "{country}, {city}에서",
"image_taken": "{isVideo, select, true {동영상} other {사진}},",
@@ -798,6 +852,7 @@
"license_failed_activation": "라이선스를 활성화하지 못했습니다. 이메일로 발송된 키를 정확히 입력했는지 확인하세요!",
"light": "라이트",
"like_deleted": "좋아요가 삭제되었습니다.",
+ "link_motion_video": "모션 비디오 링크",
"link_options": "링크 옵션",
"link_to_oauth": "OAuth에 연결",
"linked_oauth_account": "OAuth 계정이 연결되었습니다.",
@@ -816,6 +871,7 @@
"look": "보기",
"loop_videos": "동영상 반복",
"loop_videos_description": "상세 보기에서 동영상을 자동으로 반복 재생합니다.",
+ "main_branch_warning": "현재 개발 버전을 사용 중입니다. 정식 버전을 사용하는 것을 강력히 권장합니다!",
"make": "제조사",
"manage_shared_links": "공유 링크 관리",
"manage_sharing_with_partners": "파트너와 공유 관리",
@@ -885,12 +941,14 @@
"notifications": "알림",
"notifications_setting_description": "알림 설정 관리",
"oauth": "OAuth",
+ "official_immich_resources": "Immich 공식 리소스",
"offline": "오프라인",
"offline_paths": "누락된 파일",
"offline_paths_description": "외부 라이브러리의 항목이 아닌 파일을 수동으로 삭제한 경우 발생할 수 있습니다.",
"ok": "확인",
"oldest_first": "오래된 순",
"onboarding": "온보딩",
+ "onboarding_privacy_description": "이 선택적 기능은 외부 서비스를 사용하며, 관리자 설정에서 언제든 비활성화할 수 있습니다.",
"onboarding_storage_template_description": "활성화한 경우, 사용자 정의 템플릿을 기반으로 파일을 자동 분류합니다. 안정성 문제로 인해 해당 기능은 기본적으로 비활성화 되어 있습니다. 자세한 내용은 [공식 문서]를 참조하세요.",
"onboarding_theme_description": "색상 테마를 선택하세요. 나중에 설정에서 변경할 수 있습니다.",
"onboarding_welcome_description": "몇 가지 일반적인 설정을 진행하겠습니다.",
@@ -898,6 +956,7 @@
"online": "온라인",
"only_favorites": "즐겨찾기만 표시",
"only_refreshes_modified_files": "변경된 파일만 다시 스캔",
+ "open_in_map_view": "지도 뷰에서 보기",
"open_in_openstreetmap": "OpenStreetMap에서 열기",
"open_the_search_filters": "검색 필터 열기",
"options": "옵션",
@@ -932,6 +991,7 @@
"pending": "진행 중",
"people": "인물",
"people_edits_count": "인물 {count, plural, one {#명} other {#명}}을 변경했습니다.",
+ "people_feature_description": "사진 및 동영상을 인물 그룹별로 탐색",
"people_sidebar_description": "사이드바에 인물 링크 표시",
"perform_library_tasks": "",
"permanent_deletion_warning": "영구 삭제 경고",
@@ -963,32 +1023,33 @@
"previous": "이전",
"previous_memory": "이전 추억",
"previous_or_next_photo": "이전 또는 다음 이미지로",
- "primary": "",
+ "primary": "주요",
+ "privacy": "프라이버시",
"profile_image_of_user": "{user}님의 프로필 이미지",
"profile_picture_set": "프로필 사진이 설정되었습니다.",
"public_album": "공개 앨범",
"public_share": "모든 사용자와 공유",
"purchase_account_info": "서포터",
"purchase_activated_subtitle": "Immich와 오픈 소스 소프트웨어를 지원해주셔서 감사합니다.",
- "purchase_activated_time": "{date, date}에 활성화됨",
- "purchase_activated_title": "제품 키가 성공적으로 활성화되었습니다.",
- "purchase_button_activate": "활성화",
+ "purchase_activated_time": "{date, date} 등록됨",
+ "purchase_activated_title": "제품 키가 성공적으로 등록되었습니다.",
+ "purchase_button_activate": "등록",
"purchase_button_buy": "구매",
"purchase_button_buy_immich": "Immich 구매",
"purchase_button_never_show_again": "다시 보지 않기",
"purchase_button_reminder": "30일 후에 다시 알림",
"purchase_button_remove_key": "제품 키 제거",
"purchase_button_select": "선택",
- "purchase_failed_activation": "활성화하지 못했습니다. 이메일로 전송된 키를 정확히 입력했는지 확인하세요!",
+ "purchase_failed_activation": "등록하지 못했습니다. 이메일로 전송된 키를 정확히 입력했는지 확인하세요!",
"purchase_individual_description_1": "개인 사용자용",
- "purchase_individual_description_2": "서포터 현황",
+ "purchase_individual_description_2": "서포터 배지 및 표시",
"purchase_individual_title": "개인",
- "purchase_input_suggestion": "제품 키를 보유 중인가요? 아래에 제품 키를 입력하세요.",
+ "purchase_input_suggestion": "제품 키를 보유하고 있나요? 아래에 제품 키를 입력하세요.",
"purchase_license_subtitle": "Immich를 구매하여 지속적인 개발에 도움을 주세요.",
"purchase_lifetime_description": "일회성 구매",
"purchase_option_title": "구매 옵션",
"purchase_panel_info_1": "Immich를 개발하는 데는 많은 시간과 노력이 필요합니다. 우리는 좋은 앱을 만들기 위해 풀 타임 개발자와 함께하고 있으며, 최종적으로 오픈 소스 소프트웨어와 비즈니스 행동 윤리가 개발자에게 지속 가능한 수입원을 제공하고 착취적인 클라우드 서비스를 대체할 수 있는 개인 정보 보호 생태계를 구축하는 것을 원합니다.",
- "purchase_panel_info_2": "유료 기능을 추가하지 않기로 약속했기에, 이 구매는 어떠한 추가 기능도 제공하지 않습니다. 우리는 Immich의 지속적인 개발을 지원하는 사용자 여러분에게 의존하고 있습니다.",
+ "purchase_panel_info_2": "유료 기능을 추가하지 않기로 약속했기에 이 구매는 어떠한 추가 기능도 제공하지 않습니다. 우리는 Immich의 지속적인 개발을 지원하는 사용자 여러분에게 의존하고 있습니다.",
"purchase_panel_title": "프로젝트 지원",
"purchase_per_server": "서버당",
"purchase_per_user": "사용자당",
@@ -996,11 +1057,15 @@
"purchase_remove_product_key_prompt": "제품 키를 제거하시겠습니까?",
"purchase_remove_server_product_key": "서버 제품 키 제거",
"purchase_remove_server_product_key_prompt": "서버 제품 키를 제거하시겠습니까?",
- "purchase_server_description_1": "전체 서버용",
- "purchase_server_description_2": "서포터 현황",
+ "purchase_server_description_1": "서버 전체에 적용",
+ "purchase_server_description_2": "서포터 배지 및 표시",
"purchase_server_title": "서버",
"purchase_settings_server_activated": "서버 제품 키는 관리자가 관리합니다.",
"range": "",
+ "rating": "등급",
+ "rating_clear": "등급 초기화",
+ "rating_count": "{count, plural, one {#점} other {#점}}",
+ "rating_description": "상세 정보에 EXIF의 등급 정보 표시",
"raw": "",
"reaction_options": "반응 옵션",
"read_changelog": "변경 사항 보기",
@@ -1012,11 +1077,13 @@
"recent_searches": "최근 검색",
"refresh": "새로고침",
"refresh_encoded_videos": "동영상 재인코딩",
+ "refresh_faces": "얼굴 새로고침",
"refresh_metadata": "메타데이터 갱신",
"refresh_thumbnails": "섬네일 다시 생성",
"refreshed": "새로고침이 완료되었습니다.",
- "refreshes_every_file": "모든 파일을 다시 스캔",
+ "refreshes_every_file": "기존 파일 및 새 파일 스캔",
"refreshing_encoded_video": "인코딩을 다시 진행하는 중...",
+ "refreshing_faces": "얼굴 새로고침 중",
"refreshing_metadata": "메타데이터를 갱신하는 중...",
"regenerating_thumbnails": "섬네일을 다시 생성하는 중...",
"remove": "제거",
@@ -1024,15 +1091,16 @@
"remove_assets_shared_link_confirmation": "공유 링크에서 항목 {count, plural, one {#개} other {#개}}를 제거하시겠습니까?",
"remove_assets_title": "항목을 제거하시겠습니까?",
"remove_custom_date_range": "맞춤 기간 제거",
+ "remove_deleted_assets": "누락된 파일 제거",
"remove_from_album": "앨범에서 제거",
"remove_from_favorites": "즐겨찾기에서 제거",
"remove_from_shared_link": "공유 링크에서 제거",
- "remove_offline_files": "누락된 파일 제거",
"remove_user": "사용자 삭제",
"removed_api_key": "API 키 삭제: {name}",
"removed_from_archive": "보관함에서 제거되었습니다.",
"removed_from_favorites": "즐겨찾기에서 제거되었습니다.",
- "removed_from_favorites_count": "즐겨찾기에서 항목 {count, plural, other {#개}}가 제거되었습니다.",
+ "removed_from_favorites_count": "즐겨찾기에서 항목 {count, plural, other {#개}} 제거됨",
+ "removed_tagged_assets": "항목 {count, plural, one {#개} other {#개}}에서 태그를 제거함",
"rename": "이름 바꾸기",
"repair": "수리",
"repair_no_results_message": "추적되지 않거나 누락된 파일이 이곳에 표시됩니다.",
@@ -1045,7 +1113,7 @@
"reset_people_visibility": "인물 숨김 여부 초기화",
"reset_settings_to_default": "",
"reset_to_default": "기본값으로 복원",
- "resolve_duplicates": "중복 해결",
+ "resolve_duplicates": "비슷한 항목 확인",
"resolved_all_duplicates": "비슷한 항목을 모두 확인했습니다.",
"restore": "복원",
"restore_all": "모두 복원",
@@ -1064,6 +1132,7 @@
"say_something": "댓글을 입력하세요",
"scan_all_libraries": "모든 라이브러리 스캔",
"scan_all_library_files": "모든 파일 다시 스캔",
+ "scan_library": "스캔",
"scan_new_library_files": "새 라이브러리 파일 스캔",
"scan_settings": "스캔 설정",
"scanning_for_album": "앨범을 스캔하는 중...",
@@ -1079,9 +1148,12 @@
"search_for_existing_person": "존재하는 인물 검색",
"search_no_people": "인물이 없습니다.",
"search_no_people_named": "\"{name}\" 인물을 찾을 수 없음",
+ "search_options": "검색 옵션",
"search_people": "인물 검색",
"search_places": "장소 검색",
+ "search_settings": "설정 검색",
"search_state": "지역 검색...",
+ "search_tags": "태그로 검색...",
"search_timezone": "시간대 검색...",
"search_type": "검색 종류",
"search_your_photos": "사진 검색",
@@ -1090,7 +1162,7 @@
"see_all_people": "모든 인물 보기",
"select_album_cover": "앨범 커버 변경",
"select_all": "모두 선택",
- "select_all_duplicates": "중복 모두 선택",
+ "select_all_duplicates": "모두 선택",
"select_avatar_color": "프로필 색상 변경",
"select_face": "얼굴 선택",
"select_featured_photo": "대표 사진 선택",
@@ -1101,7 +1173,7 @@
"select_photos": "사진 선택",
"select_trash_all": "모두 삭제",
"selected": "선택됨",
- "selected_count": "{count, plural, other {#개}} 선택됨",
+ "selected_count": "{count, plural, other {#개}} 항목 선택됨",
"send_message": "메시지 전송",
"send_welcome_email": "환영 이메일 전송",
"server": "서버",
@@ -1123,6 +1195,7 @@
"shared_by_user": "{user}님이 공유함",
"shared_by_you": "내가 공유함",
"shared_from_partner": "{partner}님의 사진",
+ "shared_link_options": "공유 링크 옵션",
"shared_links": "공유 링크",
"shared_photos_and_videos_count": "사진 및 동영상 {assetCount, plural, other {#개를 공유했습니다.}}",
"shared_with_partner": "{partner}님과 공유함",
@@ -1131,6 +1204,7 @@
"sharing_sidebar_description": "사이드바에 공유 링크 표시",
"shift_to_permanent_delete": "⇧를 눌러 항목을 영구적으로 삭제",
"show_album_options": "앨범 옵션 표시",
+ "show_albums": "앨범 표시",
"show_all_people": "모든 인물 보기",
"show_and_hide_people": "인물 숨기기",
"show_file_location": "파일 위치 표시",
@@ -1145,13 +1219,18 @@
"show_person_options": "인물 옵션 표시",
"show_progress_bar": "진행 표시줄 표시",
"show_search_options": "검색 옵션 표시",
+ "show_slideshow_transition": "슬라이드 전환 표시",
"show_supporter_badge": "서포터 배지",
"show_supporter_badge_description": "서포터 배지 표시",
"shuffle": "셔플",
+ "sidebar": "사이드바",
+ "sidebar_display_description": "뷰 링크를 사이드바에 표시",
"sign_out": "로그아웃",
"sign_up": "로그인",
"size": "크기",
"skip_to_content": "항목으로 건너뛰기",
+ "skip_to_folders": "폴더로 건너뛰기",
+ "skip_to_tags": "태그로 건너뛰기",
"slideshow": "슬라이드 쇼",
"slideshow_settings": "슬라이드 쇼 설정",
"sort_albums_by": "다음으로 앨범 정렬...",
@@ -1163,8 +1242,10 @@
"sort_title": "제목",
"source": "소스",
"stack": "스택",
+ "stack_duplicates": "비슷한 항목 스택",
+ "stack_select_one_photo": "스택의 대표 사진 선택",
"stack_selected_photos": "선택한 이미지 스택",
- "stacked_assets_count": "항목 {count, plural, one {#개} other {#개}}의 스택을 만들었습니다.",
+ "stacked_assets_count": "항목 {count, plural, one {#개} other {#개}} 스택됨",
"stacktrace": "스택 추적",
"start": "시작",
"start_date": "시작일",
@@ -1180,27 +1261,41 @@
"submit": "확인",
"suggestions": "추천",
"sunrise_on_the_beach": "동해안에서 맞이하는 새해 일출",
+ "support": "지원",
+ "support_and_feedback": "지원 & 제안",
+ "support_third_party_description": "Immich가 서드파티 패키지로 설치 되었습니다. 링크를 눌러 먼저 패키지 문제인지 확인해 보세요.",
"swap_merge_direction": "병합 방향 변경",
"sync": "동기화",
+ "tag": "태그",
+ "tag_assets": "항목 태그",
+ "tag_created": "태그 생성됨: {tag}",
+ "tag_feature_description": "사진 및 동영상을 주제별 그룹화된 태그로 탐색",
+ "tag_not_found_question": "태그를 찾을 수 없나요? 새 태그를 생성하세요.",
+ "tag_updated": "태그 업데이트됨: {tag}",
+ "tagged_assets": "항목 {count, plural, one {#개} other {#개}}에 태그를 적용함",
+ "tags": "태그",
"template": "템플릿",
"theme": "테마",
"theme_selection": "테마 설정",
"theme_selection_description": "브라우저 및 시스템 기본 설정에 따라 라이트 모드와 다크 모드를 자동으로 설정",
"they_will_be_merged_together": "선택한 인물들이 병합됩니다.",
+ "third_party_resources": "서드 파티 리소스",
"time_based_memories": "시간 기준 추억",
"timezone": "시간대",
"to_archive": "보관함으로 이동",
"to_change_password": "비밀번호 변경",
"to_favorite": "즐겨찾기",
"to_login": "로그인",
- "to_trash": "휴지통",
+ "to_parent": "상위 항목으로",
+ "to_root": "루트",
+ "to_trash": "삭제",
"toggle_settings": "설정 변경",
- "toggle_theme": "테마 변경",
+ "toggle_theme": "다크 모드 사용",
"toggle_visibility": "숨김 여부 변경",
"total_usage": "총 사용량",
"trash": "휴지통",
"trash_all": "모두 삭제",
- "trash_count": "휴지통으로 이동 ({count, number}개)",
+ "trash_count": "{count, number}개 삭제",
"trash_delete_asset": "휴지통 이동/삭제",
"trash_no_results_message": "휴지통으로 이동된 항목이 이곳에 표시됩니다.",
"trashed_items_will_be_permanently_deleted_after": "휴지통으로 이동된 항목은 {days, plural, one {#일} other {#일}} 후 영구적으로 삭제됩니다.",
@@ -1214,13 +1309,15 @@
"unknown_album": "",
"unknown_year": "알 수 없는 연도",
"unlimited": "무제한",
+ "unlink_motion_video": "모션 비디오 링크 해제",
"unlink_oauth": "OAuth 연결 해제",
"unlinked_oauth_account": "OAuth 계정 연결이 해제되었습니다.",
"unnamed_album": "이름 없는 앨범",
+ "unnamed_album_delete_confirmation": "선텍한 앨범을 삭제하시겠습니까?",
"unnamed_share": "이름 없는 공유",
"unsaved_change": "저장되지 않은 변경 사항",
"unselect_all": "모두 선택 해제",
- "unselect_all_duplicates": "모든 중복 선택 해제",
+ "unselect_all_duplicates": "모두 선택 해제",
"unstack": "스택 해제",
"unstacked_assets_count": "항목 {count, plural, one {#개} other {#개}}의 스택을 해제했습니다.",
"untracked_files": "추적되지 않는 파일",
@@ -1242,8 +1339,8 @@
"user": "사용자",
"user_id": "사용자 ID",
"user_liked": "{user}님이 {type, select, photo {이 사진을} video {이 동영상을} asset {이 항목을} other {이 항목을}} 좋아합니다.",
- "user_purchase_settings": "결제",
- "user_purchase_settings_description": "구매한 항목 관리",
+ "user_purchase_settings": "구매",
+ "user_purchase_settings_description": "구매 및 제품 키 관리",
"user_role_set": "{user}님에게 {role} 역할을 설정했습니다.",
"user_usage_detail": "사용자 사용량 상세",
"username": "계정명",
@@ -1254,6 +1351,8 @@
"version": "버전",
"version_announcement_closing": "당신의 친구, Alex가",
"version_announcement_message": "안녕하세요, 새 버전의 Immich를 사용할 수 있습니다. 자세한 내용은 릴리스 노트를 참조하세요. WatchTower 등의 자동 업데이트 기능을 사용하는 경우 의도하지 않은 동작을 방지하기 위해 docker-compose.yml
및 .env
구성이 최신인지 확인하세요.",
+ "version_history": "버전 히스토리",
+ "version_history_item": "버전 {version}, {date} 설치됨",
"video": "동영상",
"video_hover_setting": "마우스 오버 재생",
"video_hover_setting_description": "마우스를 동영상 위에 올리면 재생이 시작됩니다. 비활성화된 경우에도 재생 아이콘에 마우스를 올리면 재생이 시작됩니다.",
@@ -1263,6 +1362,7 @@
"view_album": "앨범 보기",
"view_all": "모두 보기",
"view_all_users": "모든 사용자 보기",
+ "view_in_timeline": "타임라인에서 보기",
"view_links": "링크 보기",
"view_next_asset": "다음 항목 보기",
"view_previous_asset": "이전 항목 보기",
@@ -1273,7 +1373,7 @@
"warning": "경고",
"week": "주",
"welcome": "환영합니다",
- "welcome_to_immich": "Immich에 오신 것을 환영합니다",
+ "welcome_to_immich": "환영합니다",
"year": "년",
"years_ago": "{years, plural, one {#년} other {#년}} 전",
"yes": "네",
diff --git a/web/src/lib/i18n/az.json b/i18n/lb.json
similarity index 100%
rename from web/src/lib/i18n/az.json
rename to i18n/lb.json
diff --git a/web/src/lib/i18n/lt.json b/i18n/lt.json
similarity index 54%
rename from web/src/lib/i18n/lt.json
rename to i18n/lt.json
index 9578806bdb..399ef31c3e 100644
--- a/web/src/lib/i18n/lt.json
+++ b/i18n/lt.json
@@ -7,6 +7,7 @@
"actions": "Veiksmai",
"active": "Vykdoma",
"activity": "Veikla",
+ "activity_changed": "Veikla yra {enabled, select, true {įjungta} other {išjungta}}",
"add": "Pridėti",
"add_a_description": "Pridėti aprašymą",
"add_a_location": "Pridėti vietovę",
@@ -15,7 +16,7 @@
"add_exclusion_pattern": "Pridėti išimčių šabloną",
"add_import_path": "Pridėti importavimo kelią",
"add_location": "Pridėti vietovę",
- "add_more_users": "Pridėti daugiau vartotojų",
+ "add_more_users": "Pridėti daugiau naudotojų",
"add_partner": "Pridėti partnerį",
"add_path": "Pridėti kelią",
"add_photos": "Pridėti nuotraukų",
@@ -24,7 +25,7 @@
"add_to_shared_album": "Pridėti į bendrinamą albumą",
"added_to_archive": "Pridėta į archyvą",
"added_to_favorites": "Pridėta prie mėgstamiausių",
- "added_to_favorites_count": "{count, number} pridėta prie mėgstamiausių",
+ "added_to_favorites_count": "{count, plural, one {# pridėtas} few {# pridėti} other {# pridėta}} prie mėgstamiausių",
"admin": {
"authentication_settings": "Autentifikavimo nustatymai",
"authentication_settings_description": "Tvarkyti slaptažodžių, OAuth ir kitus autentifikavimo parametrus",
@@ -34,43 +35,53 @@
"config_set_by_file": "Konfigūracija dabar nustatyta konfigūracinio failo",
"confirm_delete_library": "Ar tikrai norite ištrinti {library} biblioteką?",
"confirm_email_below": "Patvirtinimui įveskite \"{email}\" žemiau",
+ "confirm_reprocess_all_faces": "Ar tikrai norite iš naujo apdoroti visus veidus? Tai taip pat ištrins įvardytus asmenis.",
"confirm_user_password_reset": "Ar tikrai norite iš naujo nustatyti {user} slaptažodį?",
"crontab_guru": "",
"disable_login": "Išjungti prisijungimą",
"disabled": "",
- "duplicate_detection_job_description": "",
+ "duplicate_detection_job_description": "Vykdykite mašininį mokymąsi tam, kad aptiktumėte panašius vaizdus. Nuo šios funkcijos priklauso išmanioji paieška",
"exclusion_pattern_description": "Išimčių šablonai leidžia nepaisyti failų ir aplankų skenuojant jūsų biblioteką. Tai yra naudinga, jei turite aplankų su failais, kurių nenorite importuoti, pavyzdžiui, RAW failai.",
"external_library_created_at": "Išorinė biblioteka (sukurta {date})",
"external_library_management": "Išorinių bibliotekų tvarkymas",
- "face_detection": "Veido atpažinimas",
- "image_format_description": "",
- "image_prefer_embedded_preview": "",
+ "face_detection": "Veidų aptikimas",
+ "face_detection_description": "Veidų aptikimas bibliotekos elementuose naudojant mašininį mokymąsi. Vaizdo įrašų atveju naudojama tik miniatiūra. \"Atnaujinti\" iš naujo nuskaito visus bibliotekos elementus. \"Atstatyti\" ne tik atnaujina, bet ir išvalo visus esamus veidų duomenis. \"Trūkstami\" nuskaito tik dar nenuskaitytus bibliotekos elementus. Veidų aptikimo darbui pasibaigus, aptikti veidai patenka į veidų atpažinimo darbų eilę, kur jie priskiriami jau esamiems ar naujai atpažintiems žmonėms.",
+ "facial_recognition_job_description": "Aptiktų veidų atpažinimas ir priskyrimas žmonėms. Šis darbas vykdomas pasibaigus \"veidų aptikimo\" darbui. \"Atstatyti\" (per)grupuoja visus aptiktus veidus. \"Trūkstami\" apdoroja jokiam žmogui dar nepriskirtus aptiktus veidus.",
+ "failed_job_command": "Darbo {job} komanda {command} nepavyko",
+ "force_delete_user_warning": "ĮSPĖJIMAS: Šis veiksmas iš karto pašalins naudotoją ir visą jo informaciją. Šis žingsnis nesugrąžinamas ir failų nebus galima atkurti.",
+ "forcing_refresh_library_files": "Priverstinai atnaujinami visi failai bilbiotekoje",
+ "image_format_description": "WebP sukuria mažesnius failus nei JPEG, bet lėčiau juos apdoroja.",
+ "image_prefer_embedded_preview": "Pageidautinai rodyti įterptą peržiūrą",
"image_prefer_embedded_preview_setting_description": "",
- "image_prefer_wide_gamut": "",
+ "image_prefer_wide_gamut": "Teikti pirmenybę plačiai gamai",
"image_prefer_wide_gamut_setting_description": "",
"image_preview_format": "Peržiūros formatas",
"image_preview_resolution": "Peržiūros rezoliucija",
- "image_preview_resolution_description": "",
+ "image_preview_resolution_description": "Naudojama peržiūrint vieną nuotrauką ir mašininiam mokymui. Didesnė rezoliucija gali išsaugoti daugiau detalių, bet ilgiau užtrukti apdoroti ir sumažinti programos greitumą.",
"image_quality": "Kokybė",
"image_quality_description": "Vaizdo kokybė nuo 1 iki 100. Aukštesnė kokybė yra geresnė, tačiau sukuriami didesni failai. Ši parinktis turi įtakos peržiūros ir miniatiūrų vaizdams.",
- "image_settings": "",
- "image_settings_description": "",
+ "image_settings": "Nuotraukos nustatymai",
+ "image_settings_description": "Keisti sugeneruotų nuotraukų kokybę ir rezoliuciją",
"image_thumbnail_format": "Miniatūros formatas",
"image_thumbnail_resolution": "Miniatūros rezoliucija",
- "image_thumbnail_resolution_description": "",
- "job_settings": "",
- "job_settings_description": "",
+ "image_thumbnail_resolution_description": "Naudojama žiūrint nuotraukų grupes (pagrindinis nuotraukų puslapis, albumų peržiūra ir t.t.). Aukštesnė rezoliucija gali išlaikyti daugiau detalių, bet užtrunka ilgiau apdoroti, gali turėti didesnius failų dydžius ir gali sumažinti programos greitumą.",
+ "job_concurrency": "{job} lygiagretumas",
+ "job_not_concurrency_safe": "Šis darbas nėra saugus apdoroti lygiagrečiai.",
+ "job_settings": "Darbų nustatymai",
+ "job_settings_description": "Keisti darbų lygiagretumą",
"job_status": "Darbų būsenos",
"library_created": "Sukurta biblioteka: {library}",
"library_cron_expression": "Cron išraiška",
+ "library_cron_expression_description": "Nustatykite nuskaitymo intervalą naudodami „cron“ formatą. Daugiau informacijos rasite pvz. Crontab Guru",
"library_cron_expression_presets": "",
"library_deleted": "Biblioteka ištrinta",
+ "library_import_path_description": "Nurodykite aplanką, kurį norite importuoti. Šiame aplanke, įskaitant poaplankius, bus nuskaityti vaizdai ir vaizdo įrašai.",
"library_scanning": "Periodinis skanavimas",
"library_scanning_description": "Konfigūruoti periodinį bibliotekos skanavimą",
"library_scanning_enable_description": "Įgalinti periodinį bibliotekos skanavimą",
"library_settings": "Išorinė biblioteka",
"library_settings_description": "Tvarkyti išorinės bibliotekos parametrus",
- "library_tasks_description": "",
+ "library_tasks_description": "Atlikit bibliotekos užduotis",
"library_watching_enable_description": "",
"library_watching_settings": "",
"library_watching_settings_description": "",
@@ -83,55 +94,63 @@
"machine_learning_duplicate_detection_enabled_description": "",
"machine_learning_duplicate_detection_setting_description": "",
"machine_learning_enabled": "Įgalinti mašininį mokymąsi",
- "machine_learning_enabled_description": "",
- "machine_learning_facial_recognition": "Veido atpažinimas",
+ "machine_learning_enabled_description": "Jei išjungta, visos „ML“ funkcijos bus išjungtos, nepaisant toliau pateiktų nustatymų.",
+ "machine_learning_facial_recognition": "Veidų atpažinimas",
"machine_learning_facial_recognition_description": "Aptikti, atpažinti ir sugrupuoti veidus nuotraukose",
- "machine_learning_facial_recognition_model": "Veido atpažinimo modelis",
+ "machine_learning_facial_recognition_model": "Veidų atpažinimo modelis",
"machine_learning_facial_recognition_model_description": "",
- "machine_learning_facial_recognition_setting": "Įgalinti veido atpažinimą",
+ "machine_learning_facial_recognition_setting": "Įgalinti veidų atpažinimą",
"machine_learning_facial_recognition_setting_description": "",
- "machine_learning_max_detection_distance": "",
- "machine_learning_max_detection_distance_description": "",
- "machine_learning_max_recognition_distance": "",
+ "machine_learning_max_detection_distance": "Maksimalus aptikimo atstumas",
+ "machine_learning_max_detection_distance_description": "Didžiausias atstumas tarp dviejų vaizdų, kad jie būtų laikomi dublikatais, svyruoja nuo 0,001 iki 0,1. Didesnės vertės aptiks daugiau dublikatų, tačiau gali būti klaidingai teigiami.",
+ "machine_learning_max_recognition_distance": "Maksimalus atpažinimo atstumas",
"machine_learning_max_recognition_distance_description": "",
"machine_learning_min_detection_score": "",
"machine_learning_min_detection_score_description": "",
- "machine_learning_min_recognized_faces": "",
- "machine_learning_min_recognized_faces_description": "",
+ "machine_learning_min_recognized_faces": "Mažiausias atpažintų veidų skaičius",
+ "machine_learning_min_recognized_faces_description": "Mažiausias atpažintų veidų skaičius asmeniui, kurį reikia sukurti. Tai padidinus, veido atpažinimas tampa tikslesnis, bet padidėja tikimybė, kad veidas žmogui nepriskirtas.",
"machine_learning_settings": "Mašininio mokymosi nustatymai",
"machine_learning_settings_description": "Tvarkyti mašininio mokymosi funkcijas ir nustatymus",
"machine_learning_smart_search": "Išmanioji paieška",
"machine_learning_smart_search_description": "",
"machine_learning_smart_search_enabled": "Įjungti išmaniąją paiešką",
- "machine_learning_smart_search_enabled_description": "",
- "machine_learning_url_description": "",
+ "machine_learning_smart_search_enabled_description": "Jei išjungta, vaizdai nebus užkoduoti išmaniajai paieškai.",
+ "machine_learning_url_description": "Mašininio mokymosi serverio URL",
+ "manage_concurrency": "Tvarkyti lygiagretumą",
"manage_log_settings": "",
"map_dark_style": "Tamsioji tema",
"map_enable_description": "",
+ "map_gps_settings": "Žemėlapio ir GPS nustatymai",
+ "map_gps_settings_description": "Tvarkyti žemėlapio ir GPS (atvirkštinio geokodavimo) nustatymus",
"map_light_style": "Šviesioji tema",
+ "map_manage_reverse_geocoding_settings": "Tvarkyti atvirkštinio geokodavimo nustatymus",
"map_reverse_geocoding": "Atvirkštinis geokodavimas",
- "map_reverse_geocoding_enable_description": "",
+ "map_reverse_geocoding_enable_description": "Įjungti atvirkštinį geokodavimą",
"map_reverse_geocoding_settings": "Atvirkštinio geokodavimo nustatymai",
- "map_settings": "Žemėlapio nustatymai",
+ "map_settings": "Žemėlapis",
"map_settings_description": "Tvarkyti žemėlapio parametrus",
"map_style_description": "",
- "metadata_extraction_job_description": "",
+ "metadata_extraction_job": "Metaduomenų nuskaitymas",
+ "metadata_extraction_job_description": "Kiekvieno bibliotekos elemento metaduomenų nuskaitymas, tokių kaip GPS koordinatės, veidai ar rezoliucija",
"migration_job_description": "",
+ "no_paths_added": "Keliai nepridėti",
+ "no_pattern_added": "Šablonas nepridėtas",
"notification_email_from_address": "",
"notification_email_from_address_description": "",
"notification_email_host_description": "",
- "notification_email_ignore_certificate_errors": "",
- "notification_email_ignore_certificate_errors_description": "",
+ "notification_email_ignore_certificate_errors": "Nepaisyti sertifikatų klaidų",
+ "notification_email_ignore_certificate_errors_description": "Nepaisyti TLS sertifikato patvirtinimo klaidų (nerekomenduojama)",
"notification_email_password_description": "",
- "notification_email_port_description": "",
- "notification_email_sent_test_email_button": "",
- "notification_email_setting_description": "",
- "notification_email_test_email_failed": "",
- "notification_email_test_email_sent": "",
+ "notification_email_port_description": "El. pašto serverio prievadas (pvz. 25, 465 arba 587)",
+ "notification_email_sent_test_email_button": "Siųsti bandomąjį el. laišką ir išsaugoti",
+ "notification_email_setting_description": "El. pašto pranešimų siuntimo nustatymai",
+ "notification_email_test_email": "Išsiųsti bandomąjį el. laišką",
+ "notification_email_test_email_failed": "Nepavyko išsiųsti bandomojo el. laiško, patikrinkite savo nustatymus",
+ "notification_email_test_email_sent": "Bandomasis el. laiškas buvo išsiųstas į {email}. Patikrinkite savo pašto dėžutę.",
"notification_email_username_description": "",
"notification_enable_email_notifications": "",
"notification_settings": "Pranešimų nustatymai",
- "notification_settings_description": "Tvarkyti pranešimų parametrus, įskaitant el. pašto",
+ "notification_settings_description": "Tvarkyti pranešimų nustatymus, įskaitant el. pašto",
"oauth_auto_launch": "Paleisti automatiškai",
"oauth_auto_launch_description": "",
"oauth_auto_register": "",
@@ -146,7 +165,7 @@
"oauth_mobile_redirect_uri_override_description": "",
"oauth_scope": "",
"oauth_settings": "",
- "oauth_settings_description": "",
+ "oauth_settings_description": "Tvarkyti OAuth prisijungimo nustatymus",
"oauth_signing_algorithm": "",
"oauth_storage_label_claim": "",
"oauth_storage_label_claim_description": "",
@@ -157,43 +176,53 @@
"offline_paths_description": "Šie rezultatai gali būti dėl rankinio failų ištrynimo, kurie nėra išorinės bibliotekos dalis.",
"password_enable_description": "Prisijungti su el. paštu ir slaptažodžiu",
"password_settings": "Prisijungimas slaptažodžiu",
- "password_settings_description": "",
+ "password_settings_description": "Tvarkyti prisijungimo slaptažodžiu nustatymus",
+ "paths_validated_successfully": "Visi keliai patvirtinti sėkmingai",
+ "refreshing_all_libraries": "Perkraunamos visos bibliotekos",
+ "registration_description": "Kadangi esate pirmasis šio sistemos naudotojas, jums bus priskirta administratoriaus rolė, ir būsite atsakingas už administracines užduotis ir papildomų naudotojų kūrimą.",
+ "repair_all": "Pataisyti visus",
+ "require_password_change_on_login": "Reikalauti, kad naudotojas pasikeistų slaptažodį po pirmojo prisijungimo",
+ "reset_settings_to_default": "Atstatyti nustatymus į numatytuosius",
"server_external_domain_settings": "Išorinis domenas",
"server_external_domain_settings_description": "",
"server_settings": "Serverio nustatymai",
"server_settings_description": "Tvarkyti serverio nustatymus",
"server_welcome_message": "",
- "server_welcome_message_description": "",
+ "server_welcome_message_description": "Žinutė, rodoma prisijungimo puslapyje.",
"sidecar_job_description": "",
"slideshow_duration_description": "",
- "smart_search_job_description": "",
+ "smart_search_job_description": "Vykdykite mašininį mokymąsi bibliotekos elementų išmaniajai paieškai",
"storage_template_enable_description": "",
"storage_template_hash_verification_enabled": "",
"storage_template_hash_verification_enabled_description": "",
"storage_template_migration_job": "",
"storage_template_settings": "",
"storage_template_settings_description": "",
+ "system_settings": "Sistemos nustatymai",
+ "tag_cleanup_job": "Žymų išvalymas",
"theme_custom_css_settings": "",
"theme_custom_css_settings_description": "",
- "theme_settings": "",
+ "theme_settings": "Temos nustatymai",
"theme_settings_description": "",
- "thumbnail_generation_job_description": "",
+ "thumbnail_generation_job": "Generuoti miniatiūras",
+ "thumbnail_generation_job_description": "Didelių, mažų ir neryškių miniatiūrų generavimas kiekvienam bibliotekos elementui, taip pat miniatiūrų generavimas kiekvienam asmeniui",
"transcode_policy_description": "",
- "transcoding_acceleration_api": "",
+ "transcoding_acceleration_api": "Spartinimo API",
"transcoding_acceleration_api_description": "",
- "transcoding_acceleration_nvenc": "",
+ "transcoding_acceleration_nvenc": "NVENC (reikalinga NVIDIA GPU)",
"transcoding_acceleration_qsv": "",
"transcoding_acceleration_rkmpp": "",
"transcoding_acceleration_vaapi": "VAAPI",
"transcoding_accepted_audio_codecs": "",
"transcoding_accepted_audio_codecs_description": "",
+ "transcoding_accepted_containers": "Priimami konteineriai",
"transcoding_accepted_video_codecs": "",
"transcoding_accepted_video_codecs_description": "",
- "transcoding_advanced_options_description": "",
+ "transcoding_advanced_options_description": "Parinktys, kurių daugelis naudotojų keisti neturėtų",
"transcoding_audio_codec": "Garso kodekas",
- "transcoding_audio_codec_description": "",
- "transcoding_bitrate_description": "",
- "transcoding_constant_quality_mode": "",
+ "transcoding_audio_codec_description": "Opus yra aukščiausios kokybės variantas, tačiau turi mažesnį suderinamumą su senesniais įrenginiais ar programine įranga.",
+ "transcoding_bitrate_description": "Vaizdo įrašai viršija maksimalią leistiną bitų spartą arba nėra priimtino formato",
+ "transcoding_constant_quality_mode": "Pastovios kokybės režimas",
"transcoding_constant_quality_mode_description": "",
"transcoding_constant_rate_factor": "",
"transcoding_constant_rate_factor_description": "",
@@ -205,7 +234,7 @@
"transcoding_hevc_codec": "HEVC kodekas",
"transcoding_max_b_frames": "",
"transcoding_max_b_frames_description": "",
- "transcoding_max_bitrate": "",
+ "transcoding_max_bitrate": "Maksimalus bitų srautas",
"transcoding_max_bitrate_description": "",
"transcoding_max_keyframe_interval": "",
"transcoding_max_keyframe_interval_description": "",
@@ -239,36 +268,43 @@
"trash_number_of_days_description": "",
"trash_settings": "Šiukšliadėžės nustatymai",
"trash_settings_description": "Tvarkyti šiukšliadėžės nustatymus",
- "user_delete_delay_settings": "",
+ "untracked_files": "Nesekami failai",
+ "user_delete_delay_settings": "Ištrynimo delsa",
"user_delete_delay_settings_description": "",
- "user_password_has_been_reset": "Vartotojo slaptažodis buvo iš naujo nustatytas:",
- "user_settings": "Vartotojo nustatymai",
- "user_settings_description": "Valdyti vartotojo nustatymus",
- "user_successfully_removed": "Vartotojas {email} sėkmingai pašalintas.",
+ "user_management": "Naudotojų valdymas",
+ "user_password_has_been_reset": "Naudotojo slaptažodis buvo iš naujo nustatytas:",
+ "user_restore_description": "Naudotojo {user} paskyra bus atkurta.",
+ "user_settings": "Naudotojo nustatymai",
+ "user_settings_description": "Valdyti naudotojo nustatymus",
+ "user_successfully_removed": "Naudotojas {email} sėkmingai pašalintas.",
"version_check_enabled_description": "",
"version_check_settings": "Versijos tikrinimas",
"version_check_settings_description": "Įjungti/išjungti naujos versijos pranešimus",
- "video_conversion_job_description": ""
+ "video_conversion_job": "Vaizdo įrašų konvertavimas",
+ "video_conversion_job_description": "Vaizdo įrašų konvertavimas platesniam suderinamumui su naršyklėmis ir įrenginiais"
},
"admin_email": "Administratoriaus el. paštas",
"admin_password": "Administratoriaus slaptažodis",
"administration": "Administravimas",
"advanced": "",
"album_added": "Albumas pridėtas",
- "album_added_notification_setting_description": "",
+ "album_added_notification_setting_description": "Gauti el. pašto pranešimą, kai būsite pridėtas prie bendrinamo albumo",
"album_cover_updated": "Albumo viršelis atnaujintas",
+ "album_delete_confirmation": "Ar tikrai norite ištrinti albumą {album}?",
"album_info_updated": "Albumo informacija atnaujinta",
"album_leave": "Palikti albumą?",
"album_leave_confirmation": "Ar tikrai norite palikti albumą {album}?",
"album_name": "Albumo pavadinimas",
"album_options": "Albumo parinktys",
- "album_remove_user": "Pašalinti vartotoją?",
- "album_remove_user_confirmation": "Ar tikrai norite pašalinti vartotoją {user}?",
+ "album_remove_user": "Pašalinti naudotoją?",
+ "album_remove_user_confirmation": "Ar tikrai norite pašalinti naudotoją {user}?",
+ "album_share_no_users": "Atrodo, kad bendrinate šį albumą su visais naudotojais, arba neturite naudotojų, su kuriais galėtumėte bendrinti.",
"album_updated": "Albumas atnaujintas",
- "album_updated_setting_description": "",
+ "album_updated_setting_description": "Gauti pranešimą el. paštu, kai bendrinamas albumas turi naujų elementų",
"album_user_removed": "Pašalintas {user}",
"album_with_link_access": "Tegul visi, turintys nuorodą, mato šio albumo nuotraukas ir žmones.",
"albums": "Albumai",
+ "albums_count": "{count, plural, one {# albumas} few {# albumai} other {# albumų}}",
"all": "Visi",
"all_albums": "Visi albumai",
"all_people": "Visi žmonės",
@@ -278,34 +314,49 @@
"allow_public_user_to_download": "Leisti viešam naudotojui atsisiųsti",
"allow_public_user_to_upload": "Leisti viešam naudotojui įkelti",
"api_key": "API raktas",
+ "api_key_empty": "Jūsų API rakto pavadinimas netūrėtų būti tuščias",
"api_keys": "API raktai",
"app_settings": "Programos nustatymai",
"appears_in": "",
- "archive": "",
- "archive_or_unarchive_photo": "",
+ "archive": "Archyvas",
+ "archive_or_unarchive_photo": "Archyvuoti arba išarchyvuoti nuotrauką",
"archive_size": "Archyvo dydis",
+ "archive_size_description": "Konfigūruoti archyvo dydį atsisiuntimams (GiB)",
"archived": "",
+ "archived_count": "{count, plural, other {# suarchyvuota}}",
"are_these_the_same_person": "Ar tai tas pats asmuo?",
"are_you_sure_to_do_this": "Ar tikrai norite tai daryti?",
"asset_added_to_album": "Pridėta į albumą",
"asset_adding_to_album": "Pridedama į albumą...",
+ "asset_description_updated": "Elemento aprašymas buvo atnaujintas",
"asset_offline": "",
"asset_uploaded": "Įkelta",
"asset_uploading": "Įkeliama...",
- "assets": "",
+ "assets": "Elementai",
+ "assets_added_count": "{count, plural, one {Pridėtas # elementas} few {Pridėti # elementai} other {Pridėta # elementų}}",
+ "assets_added_to_album_count": "Į albumą {count, plural, one {įtrauktas # elementas} few {įtraukti # elementai} other {įtraukta # elementų}}",
+ "assets_added_to_name_count": "Į {hasName, select, true {{name}} other {naują}} albumą {count, plural, one {įtrauktas # elementas} few {įtraukti # elementai} other {įtraukta # elementų}}",
+ "assets_count": "{count, plural, one {# elementas} few {# elementai} other {# elementų}}",
+ "assets_moved_to_trash_count": "{count, plural, one {# elementas perkeltas} few {# elementai perkelti} other {# elementų perkelta}} į šiukšliadėžę",
+ "assets_permanently_deleted_count": "{count, plural, one {# elementas ištrintas} few {# elementai ištrinti} other {# elementų ištrinta}} visam laikui",
+ "assets_removed_count": "{count, plural, one {Pašalintas # elementas} few {Pašalinti # elementai} other {Pašalinta # elementų}}",
+ "assets_restored_count": "{count, plural, one {Atkurtas # elementas} few {Atkurti # elementai} other {Atkurta # elementų}}",
+ "assets_were_part_of_album_count": "{count, plural, one {# elementas} few {# elementai} other {# elementų}} jau prieš tai buvo albume",
"authorized_devices": "Autorizuoti įrenginiai",
"back": "Atgal",
"back_close_deselect": "Atgal, uždaryti arba atžymėti",
"backward": "",
"birthdate_saved": "Sėkmingai išsaugota gimimo data",
"blurred_background": "Neryškus fonas",
+ "bugs_and_feature_requests": "Klaidų ir funkcijų užklausos",
+ "buy": "Įsigyti Immich",
"camera": "Fotoaparatas",
"camera_brand": "Fotoaparato prekės ženklas",
"camera_model": "Fotoaparato modelis",
"cancel": "Atšaukti",
"cancel_search": "Atšaukti paiešką",
"cannot_merge_people": "Negalima sujungti asmenų",
- "cannot_update_the_description": "",
+ "cannot_update_the_description": "Negalima atnaujinti aprašymo",
"cant_apply_changes": "",
"cant_get_faces": "",
"cant_search_people": "",
@@ -316,8 +367,9 @@
"change_name": "Pakeisti vardą",
"change_name_successfully": "",
"change_password": "Pakeisti slaptažodį",
+ "change_password_description": "Tai arba pirmas kartas, kai jungiatės prie sistemos, arba buvo pateikta užklausa pakeisti jūsų slaptažodį. Prašome įvesti naują slaptažodį žemiau.",
"change_your_password": "Pakeisti slaptažodį",
- "changed_visibility_successfully": "",
+ "changed_visibility_successfully": "Matomumas pakeistas sėkmingai",
"check_all": "Žymėti viską",
"check_logs": "Tikrinti žurnalus",
"city": "Miestas",
@@ -338,14 +390,15 @@
"confirm_delete_shared_link": "Ar tikrai norite ištrinti šią bendrinamą nuorodą?",
"confirm_password": "Patvirtinti slaptažodį",
"contain": "",
- "context": "",
+ "context": "Kontekstas",
"continue": "Tęsti",
- "copied_image_to_clipboard": "",
+ "copied_image_to_clipboard": "Nuotrauka nukopijuota į iškarpinę.",
+ "copied_to_clipboard": "Nukopijuota į iškapinę!",
"copy_error": "Kopijavimo klaida",
"copy_file_path": "Kopijuoti failo kelią",
"copy_image": "Kopijuoti vaizdą",
"copy_link": "Kopijuoti nuorodą",
- "copy_link_to_clipboard": "",
+ "copy_link_to_clipboard": "Kopijuoti nuorodą į iškarpinę",
"copy_password": "Kopijuoti slaptažodį",
"copy_to_clipboard": "Kopijuoti į iškarpinę",
"country": "Šalis",
@@ -356,47 +409,57 @@
"create_library": "Sukurti biblioteką",
"create_link": "Sukurti nuorodą",
"create_link_to_share": "Sukurti bendrinimo nuorodą",
- "create_new_person": "",
+ "create_link_to_share_description": "Leisti bet kam su nuoroda matyti pažymėtą(-as) nuotrauką(-as)",
+ "create_new_person": "Sukurti naują žmogų",
+ "create_new_person_hint": "Priskirti pasirinktus elementus naujam žmogui",
"create_new_user": "Sukurti naują varotoją",
- "create_user": "Sukurti vartotoją",
+ "create_tag": "Sukurti žymą",
+ "create_tag_description": "Sukurti naują žymą. Įdėtinėms žymoms įveskite pilną kelią, įskaitant pasviruosius brūkšnius.",
+ "create_user": "Sukurti naudotoją",
"created": "Sukurta",
"current_device": "Dabartinis įrenginys",
"custom_locale": "",
"custom_locale_description": "Formatuoti datas ir skaičius pagal kalbą ir regioną",
"dark": "",
- "date_after": "",
+ "date_after": "Data po",
"date_and_time": "Data ir laikas",
- "date_before": "",
+ "date_before": "Data prieš",
+ "date_of_birth_saved": "Gimimo data sėkmingai išsaugota",
"date_range": "",
"day": "Diena",
"default_locale": "",
- "default_locale_description": "",
+ "default_locale_description": "Formatuoti datas ir skaičius pagal jūsų naršyklės lokalę",
"delete": "Ištrinti",
"delete_album": "Ištrinti albumą",
"delete_api_key_prompt": "Ar tikrai norite ištrinti šį API raktą?",
+ "delete_duplicates_confirmation": "Ar tikrai norite visam laikui ištrinti šiuos dublikatus?",
"delete_key": "Ištrinti raktą",
"delete_library": "Ištrinti biblioteką",
"delete_link": "Ištrinti nuorodą",
"delete_shared_link": "Ištrinti bendrinamą nuorodą",
- "delete_user": "Ištrinti vartotoją",
+ "delete_tag": "Ištrinti žymą",
+ "delete_tag_confirmation_prompt": "Ar tikrai norite ištrinti žymą {tagName}?",
+ "delete_user": "Ištrinti naudotoją",
"deleted_shared_link": "Bendrinama nuoroda ištrinta",
"description": "Aprašymas",
- "details": "",
+ "details": "Detalės",
"direction": "Kryptis",
"disabled": "Išjungta",
- "disallow_edits": "",
- "discover": "",
- "dismiss_all_errors": "",
- "dismiss_error": "",
+ "disallow_edits": "Neleisti redaguoti",
+ "discover": "Atrasti",
+ "dismiss_all_errors": "Nepaisyti visų klaidų",
+ "dismiss_error": "Nepaisyti klaidos",
"display_options": "",
"display_order": "Atvaizdavimo tvarka",
"display_original_photos": "Rodyti originalias nuotraukas",
"display_original_photos_setting_description": "",
"do_not_show_again": "Daugiau nerodyti šio pranešimo",
+ "documentation": "Dokumentacija",
"done": "",
"download": "Atsisiųsti",
"download_settings": "Atsisiųsti",
"downloading": "Siunčiama",
+ "duplicates": "Dublikatai",
"duration": "Trukmė",
"durations": {
"days": "",
@@ -410,18 +473,19 @@
"edit_avatar": "Redaguoti avatarą",
"edit_date": "Redaguoti datą",
"edit_date_and_time": "Redaguoti datą ir laiką",
- "edit_exclusion_pattern": "",
- "edit_faces": "",
- "edit_import_path": "",
- "edit_import_paths": "",
- "edit_key": "",
+ "edit_exclusion_pattern": "Redaguoti išimčių šabloną",
+ "edit_faces": "Redaguoti veidus",
+ "edit_import_path": "Redaguoti importavimo kelią",
+ "edit_import_paths": "Redaguoti importavimo kelius",
+ "edit_key": "Redaguoti raktą",
"edit_link": "Redaguoti nuorodą",
"edit_location": "Redaguoti vietovę",
"edit_name": "Redaguoti vardą",
- "edit_people": "",
+ "edit_people": "Redaguoti žmones",
+ "edit_tag": "Redaguoti žymą",
"edit_title": "Redaguoti antraštę",
- "edit_user": "Redaguoti vartotoją",
- "edited": "",
+ "edit_user": "Redaguoti naudotoją",
+ "edited": "Redaguota",
"editor": "",
"email": "El. paštas",
"empty": "",
@@ -431,18 +495,33 @@
"enabled": "Įgalintas",
"end_date": "Pabaigos data",
"error": "Klaida",
- "error_loading_image": "",
+ "error_loading_image": "Klaida įkeliant vaizdą",
"error_title": "Klaida - Kažkas nutiko ne taip",
"errors": {
"cant_apply_changes": "Negalima taikyti pakeitimų",
+ "error_adding_assets_to_album": "Klaida pridedant elementus į albumą",
+ "error_adding_users_to_album": "Klaida pridedant naudotojus prie albumo",
+ "error_downloading": "Klaida atsisiunčiant {filename}",
+ "error_hiding_buy_button": "Klaida slepiant pirkimo mygtuką",
+ "error_removing_assets_from_album": "Klaida šalinant elementus iš albumo, patikrinkite konsolę dėl išsamesnės informacijos",
+ "exclusion_pattern_already_exists": "Šis išimčių šablonas jau egzistuoja.",
"failed_to_create_album": "Nepavyko sukurti albumo",
"failed_to_create_shared_link": "Nepavyko sukurti bendrinamos nuorodos",
"failed_to_edit_shared_link": "Nepavyko redaguoti bendrinamos nuorodos",
+ "failed_to_load_people": "Nepavyko užkrauti žmonių",
+ "failed_to_remove_product_key": "Nepavyko pašalinti produkto rakto",
+ "failed_to_stack_assets": "Nepavyko sugrupuoti elementų",
+ "failed_to_unstack_assets": "Nepavyko išgrupuoti elementų",
+ "import_path_already_exists": "Šis importavimo kelias jau egzistuoja.",
"incorrect_email_or_password": "Neteisingas el. pašto adresas arba slaptažodis",
- "unable_to_add_album_users": "",
+ "profile_picture_transparent_pixels": "Profilio nuotrauka negali turėti permatomų pikselių. Prašome priartinti ir/arba perkelkite nuotrauką.",
+ "quota_higher_than_disk_size": "Nustatyta kvota, viršija disko dydį",
+ "unable_to_add_album_users": "Nepavyksta pridėti naudotojų prie albumo",
"unable_to_add_comment": "Nepavyksta pridėti komentaro",
- "unable_to_add_partners": "",
- "unable_to_change_album_user_role": "",
+ "unable_to_add_exclusion_pattern": "Nepavyksta pridėti išimčių šablono",
+ "unable_to_add_import_path": "Nepavyksta pridėti importavimo kelio",
+ "unable_to_add_partners": "Nepavyksta pridėti partnerių",
+ "unable_to_change_album_user_role": "Nepavyksta pakeisti albumo naudotojo rolės",
"unable_to_change_date": "Negalima pakeisti datos",
"unable_to_change_location": "Negalima pakeisti vietos",
"unable_to_change_password": "Negalima pakeisti slaptažodžio",
@@ -450,28 +529,39 @@
"unable_to_check_items": "",
"unable_to_connect": "Nepavyko prisijungti",
"unable_to_connect_to_server": "Nepavyko prisijungti prie serverio",
+ "unable_to_copy_to_clipboard": "Negalima kopijuoti į iškarpinę, įsitikinkite, kad prie puslapio prieinate per https",
"unable_to_create_admin_account": "Nepavyko sukurti administratoriaus paskyros",
"unable_to_create_api_key": "Nepavyko sukurti naujo API rakto",
"unable_to_create_library": "Nepavyko sukurti bibliotekos",
- "unable_to_create_user": "Nepavyko sukurti vartotojo",
- "unable_to_delete_album": "",
+ "unable_to_create_user": "Nepavyko sukurti naudotojo",
+ "unable_to_delete_album": "Nepavyksta ištrinti albumo",
"unable_to_delete_asset": "",
- "unable_to_delete_user": "",
+ "unable_to_delete_exclusion_pattern": "Nepavyksta ištrinti išimčių šablono",
+ "unable_to_delete_import_path": "Nepavyksta ištrinti importavimo kelio",
+ "unable_to_delete_shared_link": "Nepavyksta ištrinti bendrinimo nuorodos",
+ "unable_to_delete_user": "Nepavyksta ištrinti naudotojo",
+ "unable_to_edit_exclusion_pattern": "Nepavyksta redaguoti išimčių šablono",
+ "unable_to_edit_import_path": "Nepavyksta redaguoti išimčių kelio",
"unable_to_empty_trash": "",
- "unable_to_enter_fullscreen": "",
- "unable_to_exit_fullscreen": "",
- "unable_to_hide_person": "",
- "unable_to_load_album": "",
+ "unable_to_enter_fullscreen": "Nepavyksta pereiti į viso ekrano režimą",
+ "unable_to_exit_fullscreen": "Nepavyksta išeiti iš viso ekrano režimo",
+ "unable_to_get_shared_link": "Nepavyksta gauti bendrinamos nuorodos",
+ "unable_to_hide_person": "Nepavyksta paslėpti žmogaus",
+ "unable_to_load_album": "Nepavyksta užkrauti albumo",
"unable_to_load_asset_activity": "",
"unable_to_load_items": "",
"unable_to_load_liked_status": "",
- "unable_to_play_video": "",
- "unable_to_refresh_user": "",
+ "unable_to_log_out_all_devices": "Nepavyksta atjungti visų įrenginių",
+ "unable_to_log_out_device": "Nepavyksta atjungti įrenginio",
+ "unable_to_login_with_oauth": "Nepavyksta prisijungti su OAuth",
+ "unable_to_play_video": "Nepavyksta paleisti vaizdo įrašo",
+ "unable_to_refresh_user": "Nepavyksta atnaujinti naudotojo",
"unable_to_remove_album_users": "",
+ "unable_to_remove_api_key": "Nepavyko pašalinti API rakto",
"unable_to_remove_comment": "",
- "unable_to_remove_library": "",
- "unable_to_remove_partner": "",
- "unable_to_remove_reaction": "",
+ "unable_to_remove_library": "Nepavyksta pašalinti bibliotekos",
+ "unable_to_remove_partner": "Nepavyksta pašalinti partnerio",
+ "unable_to_remove_reaction": "Nepavyksta pašalinti reakcijos",
"unable_to_remove_user": "",
"unable_to_repair_items": "",
"unable_to_reset_password": "",
@@ -500,40 +590,47 @@
"every_night_at_midnight": "",
"every_night_at_twoam": "",
"every_six_hours": "",
+ "exif": "Exif",
"exit_slideshow": "",
"expand_all": "Išskleisti viską",
"expire_after": "",
- "expired": "",
+ "expired": "Nebegalioja",
+ "expires_date": "Nebegalios už {date}",
"explore": "Naršyti",
"export": "Eksportuoti",
"export_as_json": "Eksportuoti kaip JSON",
"extension": "Plėtinys",
+ "external": "Išorinis",
"external_libraries": "Išorinės bibliotekos",
"face_unassigned": "Nepriskirta",
"failed_to_get_people": "",
- "favorite": "Mėgstamiausias",
- "favorite_or_unfavorite_photo": "",
+ "favorite": "Mėgstamiausi",
+ "favorite_or_unfavorite_photo": "Įtraukti prie arba pašalinti iš mėgstamiausių",
"favorites": "Mėgstamiausi",
"feature": "",
"feature_photo_updated": "",
"featurecollection": "",
- "file_name": "",
- "file_name_or_extension": "",
+ "file_name": "Failo pavadinimas",
+ "file_name_or_extension": "Failo pavadinimas arba plėtinys",
"filename": "",
"files": "",
- "filetype": "",
- "filter_people": "",
+ "filetype": "Failo tipas",
+ "filter_people": "Filtruoti žmones",
"fix_incorrect_match": "",
+ "folders": "Aplankai",
"force_re-scan_library_files": "",
"forward": "",
"general": "",
- "get_help": "",
+ "get_help": "Gauti pagalbos",
"getting_started": "",
"go_back": "",
"go_to_search": "",
"go_to_share_page": "",
- "group_albums_by": "",
- "has_quota": "",
+ "group_albums_by": "Grupuoti albumus pagal...",
+ "group_no": "Negrupuoti",
+ "group_owner": "Grupuoti pagal savininką",
+ "group_year": "Grupuoti pagal metus",
+ "has_quota": "Turi kvotą",
"hi_user": "Labas {name} ({email})",
"hide_all_people": "Slėpti visus asmenis",
"hide_gallery": "Slėpti galeriją",
@@ -545,7 +642,7 @@
"hour": "Valanda",
"image": "Nuotrauka",
"img": "",
- "immich_logo": "",
+ "immich_logo": "Immich logotipas",
"import_from_json": "Importuoti iš JSON",
"import_path": "Importavimo kelias",
"in_archive": "Archyve",
@@ -562,6 +659,7 @@
},
"invite_people": "Kviesti žmones",
"invite_to_album": "Pakviesti į albumą",
+ "items_count": "{count, plural, one {# elementas} few {# elementai} other {# elementų}}",
"job_settings_description": "",
"jobs": "Darbai",
"keep": "Palikti",
@@ -574,7 +672,7 @@
"latitude": "Platuma",
"leave": "Išeiti",
"let_others_respond": "Leisti kitiems reaguoti",
- "level": "",
+ "level": "Lygis",
"library": "Biblioteka",
"library_options": "Bibliotekos pasirinktys",
"light": "",
@@ -583,7 +681,7 @@
"linked_oauth_account": "",
"list": "Sąrašas",
"loading": "Kraunama",
- "loading_search_results_failed": "",
+ "loading_search_results_failed": "Nepavyko užkrauti paieškos rezultatų",
"log_out": "Atsijungti",
"log_out_all_devices": "Atsijungti iš visų įrenginių",
"logged_out_all_devices": "Atsijungta iš visų įrenginių",
@@ -593,9 +691,9 @@
"logout_this_device_confirmation": "Ar tikrai norite atsijungti iš šio prietaiso?",
"longitude": "Ilguma",
"look": "",
- "loop_videos": "",
+ "loop_videos": "Kartoti vaizdo įrašus",
"loop_videos_description": "",
- "make": "",
+ "make": "Gamintojas",
"manage_shared_links": "Bendrai naudojamų nuorodų tvarkymas",
"manage_sharing_with_partners": "Valdyti dalijimąsi su partneriais",
"manage_the_app_settings": "Valdyti programos nustatymus",
@@ -617,6 +715,7 @@
"merge_people_limit": "Vienu metu galite sujungti tik iki 5 veidų",
"merge_people_prompt": "Ar norite sujungti šiuos asmenis? Šis veiksmas yra negrįžtamas.",
"merge_people_successfully": "Asmenys sėkmingai sujungti",
+ "merged_people_count": "{count, plural, one {Sujungtas # asmuo} few {Sujungti # asmenys} other {Sujungta # asmenų}}",
"minimize": "Sumažinti",
"minute": "Minutė",
"missing": "Trūkstami",
@@ -628,12 +727,13 @@
"name": "Vardas",
"name_or_nickname": "Vardas arba slapyvardis",
"never": "Niekada",
+ "new_album": "Naujas albumas",
"new_api_key": "Naujas API raktas",
"new_password": "Naujas slaptažodis",
"new_person": "Naujas asmuo",
- "new_user_created": "Sukurtas naujas vartotojas",
+ "new_user_created": "Naujas naudotojas sukurtas",
"new_version_available": "PRIEINAMA NAUJA VERSIJA",
- "newest_first": "",
+ "newest_first": "Pirmiausia naujausi",
"next": "Sekantis",
"next_memory": "Sekantis atsiminimas",
"no": "Ne",
@@ -653,22 +753,25 @@
"no_results_description": "Pabandykite sinonimą arba bendresnį raktažodį",
"no_shared_albums_message": "",
"not_in_any_album": "Nė viename albume",
+ "note_unlimited_quota": "Pastaba: Įveskite 0, jei norite neribotos kvotos",
"notes": "Pastabos",
"notification_toggle_setting_description": "Įjungti el. pašto pranešimus",
"notifications": "Pranešimai",
"notifications_setting_description": "Tvarkyti pranešimus",
"oauth": "",
+ "official_immich_resources": "Oficialūs Immich ištekliai",
"offline": "Neprisijungęs",
"ok": "Ok",
"oldest_first": "Seniausias pirmas",
"onboarding_welcome_user": "Sveiki atvykę, {user}",
"online": "Prisijungęs",
"only_favorites": "Tik mėgstamiausi",
- "only_refreshes_modified_files": "",
- "open_the_search_filters": "",
+ "only_refreshes_modified_files": "Atnaujina tik modifikuotus failus",
+ "open_the_search_filters": "Atidaryti paieškos filtrus",
"options": "Pasirinktys",
"or": "arba",
"organize_your_library": "Tvarkykite savo biblioteką",
+ "original": "Originalas",
"other": "",
"other_devices": "Kiti įrenginiai",
"other_variables": "Kiti kintamieji",
@@ -691,24 +794,27 @@
},
"path": "Kelias",
"pattern": "",
- "pause": "",
+ "pause": "Sustabdyti",
"pause_memories": "",
- "paused": "",
+ "paused": "Sustabdyta",
"pending": "Laukiama",
"people": "Asmenys",
+ "people_edits_count": "{count, plural, one {Redaguotas # asmuo} few {Redaguoti # asmenys} other {Redaguota # asmenų}}",
"people_sidebar_description": "",
"perform_library_tasks": "",
"permanent_deletion_warning": "",
"permanent_deletion_warning_setting_description": "",
- "permanently_delete": "",
+ "permanently_delete": "Ištrinti visam laikui",
+ "permanently_delete_assets_count": "Visam laikui ištrinti {count, plural, one {# elementą} few {# elementus} other {# elementų}}",
"permanently_deleted_asset": "",
+ "permanently_deleted_assets_count": "Visam laikui {count, plural, one {ištrintas # elementas} few {ištrinti # elementai} other {ištrinta # elementų}}",
"photos": "Nuotraukos",
"photos_and_videos": "Nuotraukos ir vaizdo įrašai",
"photos_count": "{count, plural, one {{count, number} nuotrauka} few {{count, number} nuotraukos} other {{count, number} nuotraukų}}",
"photos_from_previous_years": "Ankstesnių metų nuotraukos",
"pick_a_location": "",
- "place": "",
- "places": "",
+ "place": "Vieta",
+ "places": "Vietos",
"play": "",
"play_memories": "",
"play_motion_photo": "",
@@ -721,44 +827,88 @@
"previous_memory": "",
"previous_or_next_photo": "",
"primary": "",
- "profile_picture_set": "",
+ "profile_picture_set": "Profilio nuotrauka nustatyta.",
+ "public_album": "Viešas albumas",
"public_share": "",
+ "purchase_account_info": "Rėmėjas",
+ "purchase_activated_subtitle": "Dėkojame, kad remiate Immich ir atviro kodo programinę įrangą",
+ "purchase_activated_time": "Suaktyvinta {date, date}",
+ "purchase_activated_title": "Jūsų raktas sėkmingai aktyvuotas",
+ "purchase_button_activate": "Aktyvuoti",
+ "purchase_button_buy": "Pirkti",
+ "purchase_button_buy_immich": "Pirkti Immich",
+ "purchase_button_never_show_again": "Niekada daugiau nerodyti",
+ "purchase_button_reminder": "Priminti man po 30 dienų",
+ "purchase_button_remove_key": "Pašalinti produkto rakta",
+ "purchase_button_select": "Pasirinkti",
+ "purchase_failed_activation": "Nepavyko suaktyvinti! Patikrinkite el. paštą, ar turite teisingo produkto koda!",
+ "purchase_individual_description_1": "Asmeniui",
+ "purchase_individual_description_2": "Rėmėjo statusas",
+ "purchase_input_suggestion": "Turite produkto raktą? Įveskite jį žemiau",
+ "purchase_license_subtitle": "Įsigykite „Immich“, kad palaikytumėte tolesnį paslaugos vystymą",
+ "purchase_lifetime_description": "Pirkimas visam gyvenimui",
+ "purchase_option_title": "PIRKIMO PASIRINKIMAS",
+ "purchase_panel_info_1": "„Immich“ kūrimas užima daug laiko ir pastangų, o visą darbo dieną dirba inžinieriai, kad jis būtų kuo geresnis. Mūsų misija yra, kad atvirojo kodo programinė įranga ir etiška verslo praktika taptų tvariu kūrėjų pajamų šaltiniu ir sukurtų privatumą gerbiančią ekosistemą su realiomis alternatyvomis išnaudojamoms debesijos paslaugoms.",
+ "purchase_panel_info_2": "Kadangi esame įsipareigoję nepridėti mokamų sienų, šis pirkinys nesuteiks jums jokių papildomų „Immich“ funkcijų. Mes tikime, kad tokie naudotojai kaip jūs palaikys nuolatinį „Immich“ vystymąsi.",
+ "purchase_panel_title": "Palaikykite projektą",
+ "purchase_per_server": "Vienam serveriui",
+ "purchase_per_user": "Vienam naudotojui",
+ "purchase_remove_product_key": "Pašalinti produkto raktą",
+ "purchase_remove_product_key_prompt": "Ar tikrai norite pašalinti produkto raktą?",
+ "purchase_remove_server_product_key": "Pašalinti serverio produkto raktą",
+ "purchase_remove_server_product_key_prompt": "Ar tikrai norite pašalinti serverio produkto raktą?",
+ "purchase_server_description_1": "Visam serveriui",
+ "purchase_server_description_2": "Rėmėjo statusas",
+ "purchase_server_title": "Serveris",
+ "purchase_settings_server_activated": "Serverio produkto raktas yra tvarkomas administratoriaus",
"range": "",
+ "rating": "Įvertinimas žvaigždutėmis",
+ "rating_count": "{count, plural, one {# įvertinimas} few {# įvertinimai} other {# įvertinimų}}",
"raw": "",
"reaction_options": "",
"read_changelog": "",
"recent": "",
"recent_searches": "",
- "refresh": "",
- "refreshed": "",
+ "refresh": "Atnaujinti",
+ "refreshed": "Atnaujinta",
"refreshes_every_file": "",
- "remove": "",
- "remove_from_album": "",
- "remove_from_favorites": "",
+ "remove": "Pašalinti",
+ "remove_deleted_assets": "",
+ "remove_from_album": "Pašalinti iš albumo",
+ "remove_from_favorites": "Pašalinti iš mėgstamiausių",
"remove_from_shared_link": "",
- "remove_offline_files": "",
- "repair": "",
+ "remove_user": "Pašalinti naudotoją",
+ "removed_api_key": "Pašalintas API Raktas: {name}",
+ "removed_from_archive": "Pašalinta iš archyvo",
+ "removed_from_favorites": "Pašalinta iš mėgstamiausių",
+ "removed_from_favorites_count": "{count, plural, one {# pašalintas} few {# pašalinti} other {# pašalinta}} iš mėgstamiausių",
+ "removed_tagged_assets": "Žyma pašalinta iš {count, plural, one {# elemento} other {# elementų}}",
+ "rename": "Pervadinti",
+ "repair": "Pataisyti",
"repair_no_results_message": "",
"replace_with_upload": "",
- "require_password": "",
- "reset": "",
+ "require_password": "Reikalauti slaptažodžio",
+ "reset": "Atstatyti",
"reset_password": "",
"reset_people_visibility": "",
"reset_settings_to_default": "",
+ "resolved_all_duplicates": "Išspręsti visi dublikatai",
"restore": "Atkurti",
"restore_all": "Atkurti visus",
- "restore_user": "Atkurti vartotoją",
+ "restore_user": "Atkurti naudotoją",
"retry_upload": "",
"review_duplicates": "",
"role": "",
"save": "Išsaugoti",
- "saved_profile": "",
- "saved_settings": "",
- "say_something": "",
- "scan_all_libraries": "",
+ "saved_api_key": "Išsaugotas API raktas",
+ "saved_profile": "Išsaugotas profilis",
+ "saved_settings": "Išsaugoti nustatymai",
+ "say_something": "Ką nors pasakykite",
+ "scan_all_libraries": "Skenuoti visas bibliotekas",
"scan_all_library_files": "",
+ "scan_library": "Skenuoti",
"scan_new_library_files": "",
- "scan_settings": "",
+ "scan_settings": "Skenavimo nustatymai",
"search": "Ieškoti",
"search_albums": "",
"search_by_context": "Ieškoti pagal kontekstą",
@@ -767,11 +917,14 @@
"search_camera_make": "",
"search_camera_model": "",
"search_city": "",
- "search_country": "",
+ "search_country": "Ieškoti šalies...",
"search_for_existing_person": "",
- "search_people": "",
- "search_places": "",
+ "search_no_people_named": "Nėra žmonių vardu „{name}“",
+ "search_people": "Ieškoti žmonių",
+ "search_places": "Ieškoti vietų",
+ "search_settings": "Ieškoti nustatymų",
"search_state": "",
+ "search_tags": "Ieškoti žymų...",
"search_timezone": "",
"search_type": "Paieškos tipas",
"search_your_photos": "Ieškoti nuotraukų",
@@ -779,16 +932,20 @@
"second": "",
"select_album_cover": "",
"select_all": "",
+ "select_all_duplicates": "Pasirinkti visus dublikatus",
"select_avatar_color": "Pasirinkti avataro spalvą",
"select_face": "Pasirinkti veidą",
- "select_featured_photo": "",
- "select_library_owner": "",
+ "select_featured_photo": "Pasirinkti rodomą nuotrauką",
+ "select_library_owner": "Pasirinkti bibliotekos savininką",
"select_new_face": "",
"select_photos": "",
"selected": "Pasirinkta",
+ "selected_count": "{count, plural, one {# pasirinktas} few {# pasirinkti} other {# pasirinktų}}",
"send_message": "Siųsti žinutę",
"send_welcome_email": "Siųsti sveikinimo el. laišką",
"server": "Serveris",
+ "server_offline": "Serveris nepasiekiamas",
+ "server_online": "Serveris pasiekiamas",
"server_stats": "Serverio statistika",
"server_version": "Serverio versija",
"set": "Nustatyti",
@@ -804,6 +961,7 @@
"shared_by": "",
"shared_by_you": "",
"shared_links": "",
+ "shared_photos_and_videos_count": "{assetCount, plural, one {# bendrinama nuotrauka ir vaizdo įrašas} few {# bendrinamos nuotraukos ir vaizdo įrašai} other {# bendrinamų nuotraukų ir vaizdo įrašų}}",
"shared_with_partner": "Pasidalinta su {partner}",
"sharing": "Dalijimasis",
"sharing_enter_password": "Norėdami peržiūrėti šį puslapį, įveskite slaptažodį.",
@@ -821,6 +979,8 @@
"show_person_options": "",
"show_progress_bar": "",
"show_search_options": "Rodyti paieškos parinktis",
+ "show_supporter_badge": "Rėmėjo ženklelis",
+ "show_supporter_badge_description": "Rodyti rėmėjo ženklelį",
"shuffle": "",
"sign_out": "Atsijungti",
"sign_up": "Užsiregistruoti",
@@ -835,9 +995,13 @@
"sort_recent": "Naujausia nuotrauka",
"sort_title": "Pavadinimas",
"source": "Šaltinis",
- "stack": "",
- "stack_selected_photos": "",
+ "stack": "Grupuoti",
+ "stack_duplicates": "Grupuoti dublikatus",
+ "stack_select_one_photo": "Pasirinkti pagrindinę grupės nuotrauką",
+ "stack_selected_photos": "Grupuoti pasirinktas nuotraukas",
+ "stacked_assets_count": "{count, plural, one {Sugrupuotas # elementas} few {Sugrupuoti # elementai} other {Sugrupuota # elementų}}",
"stacktrace": "",
+ "start": "Pradėti",
"start_date": "Pradžios data",
"state": "",
"status": "Statusas",
@@ -848,17 +1012,24 @@
"submit": "Pateikti",
"suggestions": "",
"sunrise_on_the_beach": "Saulėtekis paplūdimyje",
+ "support_and_feedback": "Palaikymas ir atsiliepimai",
"swap_merge_direction": "",
"sync": "Sinchronizuoti",
+ "tag": "Žyma",
+ "tag_created": "Sukurta žyma: {tag}",
+ "tag_not_found_question": "Nerandate žymos? Sukurti naują žymą.",
+ "tag_updated": "Atnaujinta žyma: {tag}",
+ "tagged_assets": "Žyma pridėta prie {count, plural, one {# elemento} other {# elementų}}",
+ "tags": "Žymos",
"template": "Šablonas",
"theme": "Tema",
"theme_selection": "",
"theme_selection_description": "",
"time_based_memories": "",
"timezone": "Laiko juosta",
- "to_archive": "Archyvas",
+ "to_archive": "Archyvuoti",
"to_change_password": "Pakeisti slaptažodį",
- "to_favorite": "Mėgstamiausi",
+ "to_favorite": "Įtraukti prie mėgstamiausių",
"toggle_settings": "",
"toggle_theme": "",
"toggle_visibility": "",
@@ -867,10 +1038,12 @@
"trash_all": "Ištrinti visus",
"trash_count": "Šiukšliadėžė {count, number}",
"trash_no_results_message": "",
- "type": "",
+ "trashed_items_will_be_permanently_deleted_after": "Į šiukšliadėžę perkelti elementai bus visam laikui ištrinti po {days, plural, one {# dienos} other {# dienų}}.",
+ "type": "Tipas",
"unarchive": "Išarchyvuoti",
"unarchived": "",
- "unfavorite": "",
+ "unarchived_count": "{count, plural, other {# išarchyvuota}}",
+ "unfavorite": "Pašalinti iš mėgstamiausių",
"unhide_person": "",
"unknown": "",
"unknown_album": "",
@@ -879,7 +1052,8 @@
"unlinked_oauth_account": "",
"unsaved_change": "Neišsaugoti pakeitimai",
"unselect_all": "",
- "unstack": "",
+ "unstack": "Išgrupuoti",
+ "unstacked_assets_count": "{count, plural, one {Išgrupuotas # elementas} few {Išgrupuoti # elementai} other {Išgrupuota # elementų}}",
"up_next": "",
"updated_password": "Slaptažodis atnaujintas",
"upload": "Įkelti",
@@ -890,26 +1064,30 @@
"upload_status_uploaded": "Įkelta",
"url": "",
"usage": "",
- "user": "Vartotojas",
- "user_id": "Vartotojo ID",
+ "user": "Naudotojas",
+ "user_id": "Naudotojo ID",
"user_usage_detail": "",
- "username": "Vartotojo vardas",
- "users": "Vartotojai",
- "utilities": "",
+ "username": "Naudotojo vardas",
+ "users": "Naudotojai",
+ "utilities": "Priemonės",
"validate": "",
"variables": "Kintamieji",
"version": "Versija",
"version_announcement_closing": "Tavo draugas, Alex",
- "video": "",
+ "version_history": "Versijų istorija",
+ "version_history_item": "Versija {version} įdiegta {date}",
+ "video": "Vaizdo įrašas",
"video_hover_setting_description": "",
"videos": "Video",
+ "videos_count": "{count, plural, one {# vaizdo įrašas} few {# vaizdo įrašai} other {# vaizdo įrašų}}",
"view": "Rodyti",
"view_album": "Rodyti albumą",
"view_all": "",
- "view_all_users": "Rodyti visus vartotojus",
+ "view_all_users": "Peržiūrėti visus naudotojus",
"view_links": "Rodyti nuorodas",
"view_next_asset": "",
"view_previous_asset": "",
+ "view_stack": "Peržiūrėti grupę",
"viewer": "",
"waiting": "Laukiama",
"warning": "Įspėjimas",
@@ -917,5 +1095,5 @@
"welcome_to_immich": "",
"year": "Metai",
"yes": "Taip",
- "zoom_image": ""
+ "zoom_image": "Priartinti vaizdą"
}
diff --git a/web/src/lib/i18n/lv.json b/i18n/lv.json
similarity index 60%
rename from web/src/lib/i18n/lv.json
rename to i18n/lv.json
index bf17ccb813..b2c57d7595 100644
--- a/web/src/lib/i18n/lv.json
+++ b/i18n/lv.json
@@ -2,7 +2,7 @@
"about": "Par",
"account": "Konts",
"account_settings": "Konta iestatījumi",
- "acknowledge": "Atzīt",
+ "acknowledge": "Pieņemt",
"action": "Darbība",
"actions": "Darbības",
"active": "Aktīvs",
@@ -25,7 +25,7 @@
"add_to_shared_album": "Pievienot koplietotam albumam",
"added_to_archive": "Pievienots arhīvam",
"added_to_favorites": "Pievienots izlasei",
- "added_to_favorites_count": "Pievienots {count} izlasei",
+ "added_to_favorites_count": "Pievienots {count, number} izlasei",
"admin": {
"add_exclusion_pattern_description": "Pievienojiet izlaišanas shēmas. Aizstājējzīmju izmantoša *, **, un ? tiek atbalstīta. Lai ignorētu visus failus jebkurā direktorijā ar nosaukumu “RAW”, izmantojiet “**/RAW/**”. Lai ignorētu visus failus, kas beidzas ar “. tif”, izmantojiet “**/*. tif”. Lai ignorētu absolūto ceļu, izmantojiet “/path/to/ignore/**”.",
"authentication_settings": "Autentifikācijas iestatījumi",
@@ -40,10 +40,15 @@
"confirm_email_below": "Lai apstiprinātu, zemāk ierakstiet “{email}”",
"confirm_reprocess_all_faces": "Vai tiešām vēlaties atkārtoti apstrādāt visas sejas? Tas arī atiestatīs cilvēkus ar vārdiem.",
"confirm_user_password_reset": "Vai tiešām vēlaties atiestatīt lietotāja {user} paroli?",
+ "create_job": "Izveidot darbu",
"crontab_guru": "",
"disable_login": "Atspējot pieteikšanos",
"disabled": "",
"duplicate_detection_job_description": "Palaidiet mašīnmācīšanos uz līdzekļiem, lai noteiktu līdzīgus attēlus. Paļaujas uz Viedo Meklēšanu",
+ "external_library_created_at": "Ārēja bibliotēka (izveidota {date})",
+ "external_library_management": "Ārējo bibliotēku pārvaldība",
+ "face_detection": "Seju noteikšana",
+ "image_format": "Formāts",
"image_format_description": "",
"image_prefer_embedded_preview": "",
"image_prefer_embedded_preview_setting_description": "",
@@ -54,15 +59,20 @@
"image_preview_resolution_description": "",
"image_quality": "Kvalitāte",
"image_quality_description": "Attēla kvalitāte no 1 līdz 100. Augstāka kvalitāte ir labāka, bet veido lielākus failus. Šī opcija ietekmē Priekšskatījums un Sīktēls attēlus.",
+ "image_resolution": "Izšķirtspēja",
"image_settings": "Attēla Iestatījumi",
"image_settings_description": "Ģenerēto attēlu kvalitātes un izšķirtspējas pārvaldība",
"image_thumbnail_format": "Sīktēlu formāts",
"image_thumbnail_resolution": "Sīktēlu izšķirtspēja",
"image_thumbnail_resolution_description": "",
+ "image_thumbnail_title": "Sīktēlu iestatījumi",
+ "job_created": "Darbs izveidots",
"job_settings": "",
"job_settings_description": "",
- "library_cron_expression": "",
+ "job_status": "Darbu statuss",
+ "library_cron_expression": "Cron izteiksme",
"library_cron_expression_presets": "",
+ "library_deleted": "Bibliotēka dzēsta",
"library_scanning": "",
"library_scanning_description": "",
"library_scanning_enable_description": "",
@@ -75,14 +85,14 @@
"logging_enable_description": "",
"logging_level_description": "",
"logging_settings": "",
- "machine_learning_clip_model": "",
- "machine_learning_duplicate_detection": "",
+ "machine_learning_clip_model": "CLIP modelis",
+ "machine_learning_duplicate_detection": "Dublikātu noteikšana",
"machine_learning_duplicate_detection_enabled_description": "",
"machine_learning_duplicate_detection_setting_description": "",
"machine_learning_enabled_description": "",
- "machine_learning_facial_recognition": "",
+ "machine_learning_facial_recognition": "Seju atpazīšana",
"machine_learning_facial_recognition_description": "",
- "machine_learning_facial_recognition_model": "",
+ "machine_learning_facial_recognition_model": "Seju atpazīšanas modelis",
"machine_learning_facial_recognition_model_description": "",
"machine_learning_facial_recognition_setting_description": "",
"machine_learning_max_detection_distance": "",
@@ -93,55 +103,62 @@
"machine_learning_min_detection_score_description": "",
"machine_learning_min_recognized_faces": "",
"machine_learning_min_recognized_faces_description": "",
- "machine_learning_settings": "",
+ "machine_learning_settings": "Mašīnmācīšanās iestatījumi",
"machine_learning_settings_description": "",
- "machine_learning_smart_search": "",
+ "machine_learning_smart_search": "Viedā meklēšana",
"machine_learning_smart_search_description": "",
"machine_learning_smart_search_enabled_description": "",
- "machine_learning_url_description": "",
+ "machine_learning_url_description": "Mašīnmācīšanās servera URL",
"manage_log_settings": "",
"map_dark_style": "",
"map_enable_description": "",
+ "map_gps_settings": "Kartes un GPS iestatījumi",
+ "map_gps_settings_description": "Pārvaldīt karšu un GPS (apgrieztās ģeokodēšanas) iestatījumus",
"map_light_style": "",
"map_reverse_geocoding": "",
"map_reverse_geocoding_enable_description": "",
"map_reverse_geocoding_settings": "",
- "map_settings": "",
+ "map_settings": "Karte",
"map_settings_description": "",
"map_style_description": "",
"metadata_extraction_job_description": "",
+ "metadata_settings": "Metadatu iestatījumi",
+ "migration_job": "Migrācija",
"migration_job_description": "",
- "notification_email_from_address": "",
+ "notification_email_from_address": "No adreses",
"notification_email_from_address_description": "",
"notification_email_host_description": "",
- "notification_email_ignore_certificate_errors": "",
- "notification_email_ignore_certificate_errors_description": "",
+ "notification_email_ignore_certificate_errors": "Ignorēt sertifikātu kļūdas",
+ "notification_email_ignore_certificate_errors_description": "Ignorēt TLS sertifikāta apstiprināšanas kļūdas (nav ieteicams)",
"notification_email_password_description": "",
- "notification_email_port_description": "",
- "notification_email_sent_test_email_button": "",
+ "notification_email_port_description": "e-pasta servera ports (piemēram, 25, 465 vai 587)",
+ "notification_email_sent_test_email_button": "Nosūtīt testa e-pastu un saglabāt",
"notification_email_setting_description": "",
+ "notification_email_test_email": "Nosūtīt testa e-pastu",
"notification_email_test_email_failed": "",
"notification_email_test_email_sent": "",
"notification_email_username_description": "",
"notification_enable_email_notifications": "",
- "notification_settings": "",
+ "notification_settings": "Paziņojumu iestatījumi",
"notification_settings_description": "",
"oauth_auto_launch": "",
"oauth_auto_launch_description": "",
"oauth_auto_register": "",
"oauth_auto_register_description": "",
- "oauth_button_text": "",
- "oauth_client_id": "",
- "oauth_client_secret": "",
- "oauth_enable_description": "",
+ "oauth_button_text": "Pogas teksts",
+ "oauth_client_id": "Klienta ID",
+ "oauth_client_secret": "Klienta noslēpums",
+ "oauth_enable_description": "Pieslēgties ar OAuth",
"oauth_issuer_url": "",
"oauth_mobile_redirect_uri": "",
"oauth_mobile_redirect_uri_override": "",
"oauth_mobile_redirect_uri_override_description": "",
+ "oauth_profile_signing_algorithm": "Profila parakstīšanas algoritms",
+ "oauth_profile_signing_algorithm_description": "Lietotāja profila parakstīšanai izmantotais algoritms.",
"oauth_scope": "",
"oauth_settings": "OAuth",
"oauth_settings_description": "",
- "oauth_signing_algorithm": "",
+ "oauth_signing_algorithm": "Parakstīšanas algoritms",
"oauth_storage_label_claim": "",
"oauth_storage_label_claim_description": "",
"oauth_storage_quota_claim": "",
@@ -151,10 +168,14 @@
"password_enable_description": "",
"password_settings": "",
"password_settings_description": "",
+ "quota_size_gib": "Kvotas izmērs (GiB)",
+ "registration": "Administratora reģistrācija",
+ "require_password_change_on_login": "Pieprasīt lietotājam mainīt paroli pēc pirmās pieteikšanās",
+ "scanning_library": "Skenē bibliotēku",
"server_external_domain_settings": "",
"server_external_domain_settings_description": "",
- "server_settings": "",
- "server_settings_description": "",
+ "server_settings": "Servera iestatījumi",
+ "server_settings_description": "Pārvaldīt servera iestatījumus",
"server_welcome_message": "",
"server_welcome_message_description": "",
"sidecar_job_description": "",
@@ -166,7 +187,8 @@
"storage_template_migration_job": "",
"storage_template_settings": "",
"storage_template_settings_description": "",
- "theme_custom_css_settings": "",
+ "system_settings": "Sistēmas iestatījumi",
+ "theme_custom_css_settings": "Pielāgots CSS",
"theme_custom_css_settings_description": "",
"theme_settings": "",
"theme_settings_description": "",
@@ -174,16 +196,16 @@
"transcode_policy_description": "",
"transcoding_acceleration_api": "",
"transcoding_acceleration_api_description": "",
- "transcoding_acceleration_nvenc": "",
- "transcoding_acceleration_qsv": "",
- "transcoding_acceleration_rkmpp": "",
- "transcoding_acceleration_vaapi": "",
+ "transcoding_acceleration_nvenc": "NVENC (nepieciešams NVIDIA GPU)",
+ "transcoding_acceleration_qsv": "Quick Sync (nepieciešams 7. paaudzes vai jaunāks Intel procesors)",
+ "transcoding_acceleration_rkmpp": "RKMPP (tikai Rockchip SOC)",
+ "transcoding_acceleration_vaapi": "VAAPI",
"transcoding_accepted_audio_codecs": "",
"transcoding_accepted_audio_codecs_description": "",
"transcoding_accepted_video_codecs": "",
"transcoding_accepted_video_codecs_description": "",
"transcoding_advanced_options_description": "",
- "transcoding_audio_codec": "",
+ "transcoding_audio_codec": "Audio kodeks",
"transcoding_audio_codec_description": "",
"transcoding_bitrate_description": "",
"transcoding_constant_quality_mode": "",
@@ -216,7 +238,7 @@
"transcoding_target_resolution_description": "",
"transcoding_temporal_aq": "",
"transcoding_temporal_aq_description": "",
- "transcoding_threads": "",
+ "transcoding_threads": "Pavedieni",
"transcoding_threads_description": "",
"transcoding_tone_mapping": "",
"transcoding_tone_mapping_description": "",
@@ -225,88 +247,112 @@
"transcoding_transcode_policy": "",
"transcoding_two_pass_encoding": "",
"transcoding_two_pass_encoding_setting_description": "",
- "transcoding_video_codec": "",
+ "transcoding_video_codec": "Video kodeks",
"transcoding_video_codec_description": "",
"trash_enabled_description": "",
- "trash_number_of_days": "",
+ "trash_number_of_days": "Dienu skaits",
"trash_number_of_days_description": "",
"trash_settings": "",
"trash_settings_description": "",
"user_delete_delay_settings": "",
"user_delete_delay_settings_description": "",
+ "user_management": "Lietotāju pārvaldība",
+ "user_password_has_been_reset": "Lietotāja parole ir atiestatīta:",
+ "user_restore_description": "{user} konts tiks atjaunots.",
"user_settings": "",
"user_settings_description": "",
- "version_check_enabled_description": "",
- "version_check_settings": "",
+ "version_check_enabled_description": "Ieslēgt versijas pārbaudi",
+ "version_check_implications": "Versiju pārbaudes funkcija ir atkarīga no periodiskas saziņas ar github.com",
+ "version_check_settings": "Versijas pārbaude",
"version_check_settings_description": "",
"video_conversion_job_description": ""
},
- "admin_email": "",
- "admin_password": "",
- "administration": "",
+ "admin_email": "Administratora e-pasts",
+ "admin_password": "Administratora parole",
+ "administration": "Administrēšana",
"advanced": "Papildu",
- "album_added": "",
+ "album_added": "Albums pievienots",
"album_added_notification_setting_description": "",
- "album_cover_updated": "",
- "album_info_updated": "",
- "album_name": "",
+ "album_cover_updated": "Albuma attēls atjaunināts",
+ "album_info_updated": "Albuma informācija atjaunināta",
+ "album_leave": "Pamest albumu?",
+ "album_name": "Albuma nosaukums",
"album_options": "",
- "album_updated": "",
+ "album_remove_user": "Noņemt lietotāju?",
+ "album_updated": "Albums atjaunināts",
"album_updated_setting_description": "",
- "albums": "",
+ "album_user_left": "Pameta {album}",
+ "album_user_removed": "Noņēma {user}",
+ "albums": "Albumi",
"all": "Viss",
- "all_people": "",
- "allow_dark_mode": "",
- "allow_edits": "",
- "api_key": "",
- "api_keys": "",
+ "all_albums": "Visi albumi",
+ "all_people": "Visi cilvēki",
+ "all_videos": "Visi video",
+ "allow_dark_mode": "Atļaut tumšo režīmu",
+ "allow_edits": "Atļaut labošanu",
+ "allow_public_user_to_download": "Atļaut lejupielādēt publiskiem lietotājiem",
+ "allow_public_user_to_upload": "Atļaut augšupielādēt publiskiem lietotājiem",
+ "anti_clockwise": "Pretēji pulksteņrādītāja virzienam",
+ "api_key": "API atslēga",
+ "api_key_description": "Šī vērtība tiks parādīta tikai vienu reizi. Nokopējiet to pirms loga aizvēršanas.",
+ "api_keys": "API atslēgas",
"app_settings": "",
"appears_in": "",
"archive": "Arhīvs",
"archive_or_unarchive_photo": "",
+ "archive_size": "Arhīva izmērs",
"archived": "",
+ "are_these_the_same_person": "Vai šī ir tā pati persona?",
+ "asset_adding_to_album": "Pievieno albumam...",
"asset_offline": "",
+ "asset_uploading": "Augšupielādē...",
"assets": "aktīvi",
"authorized_devices": "",
"back": "Atpakaļ",
"backward": "",
+ "birthdate_saved": "Dzimšanas datums veiksmīgi saglabāts",
+ "birthdate_set_description": "Dzimšanas datums tiek izmantots, lai aprēķinātu šīs personas vecumu fotogrāfijas uzņemšanas brīdī.",
"blurred_background": "",
"camera": "",
"camera_brand": "",
"camera_model": "",
"cancel": "Atcelt",
"cancel_search": "",
- "cannot_merge_people": "",
+ "cannot_merge_people": "Nevar apvienot cilvēkus",
"cannot_update_the_description": "",
"cant_apply_changes": "",
"cant_get_faces": "",
"cant_search_people": "",
"cant_search_places": "",
- "change_date": "",
+ "change_date": "Mainīt datumu",
"change_expiration_time": "Izmainīt derīguma termiņu",
- "change_location": "",
- "change_name": "",
- "change_name_successfully": "",
- "change_password": "Nomainīt Paroli",
+ "change_location": "Mainīt atrašanās vietu",
+ "change_name": "Mainīt nosaukumu",
+ "change_name_successfully": "Vārds veiksmīgi nomainīts",
+ "change_password": "Nomainīt paroli",
"change_your_password": "",
"changed_visibility_successfully": "",
"check_logs": "",
+ "choose_matching_people_to_merge": "Izvēlies atbilstošus cilvēkus apvienošanai",
"city": "Pilsēta",
"clear": "Notīrīt",
- "clear_all": "",
+ "clear_all": "Notīrīt visu",
"clear_message": "",
"clear_value": "",
- "close": "",
- "collapse_all": "",
+ "close": "Aizvērt",
+ "collapse": "Sakļaut",
+ "collapse_all": "Sakļaut visu",
+ "color": "Krāsa",
"color_theme": "",
+ "comment_deleted": "Komentārs dzēsts",
"comment_options": "",
"comments_are_disabled": "",
"confirm": "Apstiprināt",
"confirm_admin_password": "",
- "confirm_password": "Apstiprināt Paroli",
+ "confirm_password": "Apstiprināt paroli",
"contain": "",
- "context": "",
- "continue": "",
+ "context": "Konteksts",
+ "continue": "Turpināt",
"copied_image_to_clipboard": "",
"copy_error": "",
"copy_file_path": "",
@@ -324,8 +370,8 @@
"create_link": "Izveidot saiti",
"create_link_to_share": "Izveidot kopīgošanas saiti",
"create_new_person": "",
- "create_new_user": "",
- "create_user": "",
+ "create_new_user": "Izveidot jaunu lietotāju",
+ "create_user": "Izveidot lietotāju",
"created": "",
"current_device": "",
"custom_locale": "",
@@ -334,6 +380,7 @@
"date_after": "",
"date_and_time": "Datums un Laiks",
"date_before": "",
+ "date_of_birth_saved": "Dzimšanas datums veiksmīgi saglabāts",
"date_range": "Datumu diapazons",
"day": "",
"default_locale": "",
@@ -344,7 +391,7 @@
"delete_library": "",
"delete_link": "",
"delete_shared_link": "Dzēst Kopīgošanas saiti",
- "delete_user": "",
+ "delete_user": "Dzēst lietotāju",
"deleted_shared_link": "",
"description": "Apraksts",
"details": "INFORMĀCIJA",
@@ -357,9 +404,11 @@
"display_order": "",
"display_original_photos": "",
"display_original_photos_setting_description": "",
+ "documentation": "Dokumentācija",
"done": "Gatavs",
"download": "Lejupielādēt",
"downloading": "",
+ "duplicates": "Dublikāti",
"duration": "",
"durations": {
"days": "",
@@ -382,9 +431,11 @@
"edit_name": "Rediģēt vārdu",
"edit_people": "",
"edit_title": "",
- "edit_user": "",
+ "edit_user": "Labot lietotāju",
"edited": "",
"editor": "",
+ "editor_close_without_save_prompt": "Izmaiņas netiks saglabātas",
+ "editor_close_without_save_title": "Aizvērt redaktoru?",
"email": "E-pasts",
"empty": "",
"empty_album": "",
@@ -395,6 +446,9 @@
"error": "",
"error_loading_image": "",
"errors": {
+ "cant_get_faces": "Nevar iegūt sejas",
+ "cant_search_people": "Neizdevās veikt peronu meklēšanu",
+ "failed_to_create_album": "Neizdevās izveidot albumu",
"unable_to_add_album_users": "",
"unable_to_add_comment": "",
"unable_to_add_partners": "",
@@ -405,14 +459,14 @@
"unable_to_check_items": "",
"unable_to_create_admin_account": "",
"unable_to_create_library": "",
- "unable_to_create_user": "",
+ "unable_to_create_user": "Neizdevās izveidot lietotāju",
"unable_to_delete_album": "",
"unable_to_delete_asset": "",
- "unable_to_delete_user": "",
+ "unable_to_delete_user": "Neizdevās dzēst lietotāju",
"unable_to_empty_trash": "",
"unable_to_enter_fullscreen": "",
"unable_to_exit_fullscreen": "",
- "unable_to_hide_person": "",
+ "unable_to_hide_person": "Neizdevās paslēpt personu",
"unable_to_load_album": "",
"unable_to_load_asset_activity": "",
"unable_to_load_items": "",
@@ -432,6 +486,7 @@
"unable_to_restore_trash": "",
"unable_to_restore_user": "",
"unable_to_save_album": "",
+ "unable_to_save_date_of_birth": "Neizdevās saglabāt dzimšanas datumu",
"unable_to_save_name": "",
"unable_to_save_profile": "",
"unable_to_save_settings": "",
@@ -450,11 +505,11 @@
"every_night_at_midnight": "",
"every_night_at_twoam": "",
"every_six_hours": "",
- "exit_slideshow": "",
+ "exit_slideshow": "Iziet no slīdrādes",
"expand_all": "",
"expire_after": "Derīguma termiņš beidzas pēc",
"expired": "Derīguma termiņš beidzās",
- "explore": "",
+ "explore": "Izpētīt",
"extension": "",
"external_libraries": "",
"failed_to_get_people": "",
@@ -471,6 +526,7 @@
"filetype": "",
"filter_people": "",
"fix_incorrect_match": "",
+ "folders": "Mapes",
"force_re-scan_library_files": "",
"forward": "",
"general": "",
@@ -480,53 +536,60 @@
"go_to_search": "",
"go_to_share_page": "",
"group_albums_by": "",
- "has_quota": "",
+ "has_quota": "Ir kvota",
"hide_gallery": "",
+ "hide_named_person": "Paslēpt personu {name}",
"hide_password": "",
- "hide_person": "",
+ "hide_person": "Paslēpt personu",
"host": "",
"hour": "",
"image": "Attēls",
"img": "",
- "immich_logo": "",
- "import_path": "",
- "in_archive": "",
- "include_archived": "Iekļaut Arhivētos",
- "include_shared_albums": "",
+ "immich_logo": "Immich logo",
+ "import_from_json": "Importēt no JSON",
+ "import_path": "Importa ceļš",
+ "in_albums": "{count, plural, one {# albumā} other {# albumos}}",
+ "in_archive": "Arhīvā",
+ "include_archived": "Iekļaut arhivētos",
+ "include_shared_albums": "Iekļaut koplietotos albumus",
"include_shared_partner_assets": "",
"individual_share": "",
- "info": "",
+ "info": "Informācija",
"interval": {
- "day_at_onepm": "",
+ "day_at_onepm": "Katru dienu 13.00",
"hours": "",
- "night_at_midnight": "",
- "night_at_twoam": ""
+ "night_at_midnight": "Katru dienu pusnaktī",
+ "night_at_twoam": "Katru dienu 2.00 naktī"
},
- "invite_people": "",
+ "invite_people": "Ielūgt cilvēkus",
"invite_to_album": "Uzaicināt albumā",
"job_settings_description": "",
- "jobs": "",
- "keep": "",
- "keyboard_shortcuts": "",
- "language": "",
- "language_setting_description": "",
- "last_seen": "",
- "leave": "",
+ "jobs": "Darbi",
+ "keep": "Paturēt",
+ "keep_all": "Paturēt visus",
+ "keyboard_shortcuts": "Tastatūras saīsnes",
+ "language": "Valoda",
+ "language_setting_description": "Izvēlieties vēlamo valodu",
+ "last_seen": "Pēdējo reizi redzēts",
+ "latest_version": "Jaunākā versija",
+ "latitude": "Ģeogrāfiskais platums",
+ "leave": "Paturēt",
"let_others_respond": "Ļaut citiem atbildēt",
- "level": "",
+ "level": "Līmenis",
"library": "Bibliotēka",
"library_options": "",
"light": "",
"link_options": "",
"link_to_oauth": "",
"linked_oauth_account": "",
- "list": "",
- "loading": "",
+ "list": "Saraksts",
+ "loading": "Ielādē",
"loading_search_results_failed": "",
"log_out": "Izrakstīties",
"log_out_all_devices": "",
"login_has_been_disabled": "",
- "look": "",
+ "longitude": "Ģeogrāfiskais garums",
+ "look": "Izskats",
"loop_videos": "",
"loop_videos_description": "Iespējot, lai automātiski videoklips tiktu cikliski palaists detaļu skatītājā.",
"make": "Firma",
@@ -537,70 +600,83 @@
"manage_your_api_keys": "",
"manage_your_devices": "",
"manage_your_oauth_connection": "",
- "map": "",
- "map_marker_with_image": "",
+ "map": "Karte",
+ "map_marker_for_images": "Kartes marķieris attēliem, kas uzņemti {city}, {country}",
+ "map_marker_with_image": "Kartes marķieris ar attēlu",
"map_settings": "Kartes Iestatījumi",
- "media_type": "",
- "memories": "",
+ "matches": "Atbilstības",
+ "media_type": "Multivides veids",
+ "memories": "Atmiņas",
"memories_setting_description": "",
- "menu": "",
- "merge": "",
- "merge_people": "",
- "merge_people_successfully": "",
- "minimize": "",
- "minute": "",
- "missing": "",
+ "memory": "Atmiņa",
+ "menu": "Izvēlne",
+ "merge": "Apvienot",
+ "merge_people": "Cilvēku apvienošana",
+ "merge_people_limit": "Vienlaikus var apvienot ne vairāk kā 5 sejas",
+ "merge_people_prompt": "Vai vēlies apvienot šos cilvēkus? Šī darbība ir neatgriezeniska.",
+ "merge_people_successfully": "Cilvēki veiksmīgi apvienoti",
+ "minimize": "Minimizēt",
+ "minute": "Minūte",
+ "missing": "Trūkstošie",
"model": "Modelis",
"month": "Mēnesis",
- "more": "",
+ "more": "Vairāk",
"moved_to_trash": "",
- "my_albums": "",
+ "my_albums": "Mani albumi",
"name": "Vārds",
- "name_or_nickname": "",
+ "name_or_nickname": "Vārds vai iesauka",
"never": "nekad",
- "new_api_key": "",
- "new_password": "Jauna Parole",
- "new_person": "",
- "new_user_created": "",
+ "new_album": "Jauns albums",
+ "new_api_key": "Jauna API atslēga",
+ "new_password": "Jaunā parole",
+ "new_person": "Jauna persona",
+ "new_user_created": "Izveidots jauns lietotājs",
+ "new_version_available": "PIEEJAMA JAUNA VERSIJA",
"newest_first": "",
"next": "Nākošais",
- "next_memory": "",
- "no": "",
+ "next_memory": "Nākamā atmiņa",
+ "no": "Nē",
"no_albums_message": "",
"no_archived_assets_message": "",
- "no_assets_message": "",
- "no_exif_info_available": "",
+ "no_assets_message": "NOKLIKŠĶINIET, LAI AUGŠUPIELĀDĒTU SAVU PIRMO FOTOATTĒLU",
+ "no_duplicates_found": "Dublikāti netika atrasti.",
+ "no_exif_info_available": "Nav pieejama exif informācija",
"no_explore_results_message": "",
"no_favorites_message": "",
"no_libraries_message": "",
- "no_name": "",
- "no_places": "",
- "no_results": "",
+ "no_name": "Nav nosaukuma",
+ "no_places": "Nav atrašanās vietu",
+ "no_results": "Nav rezultātu",
+ "no_results_description": "Izmēģiniet sinonīmu vai vispārīgāku atslēgvārdu",
"no_shared_albums_message": "",
- "not_in_any_album": "",
- "notes": "",
- "notification_toggle_setting_description": "",
+ "not_in_any_album": "Nav nevienā albumā",
+ "notes": "Piezīmes",
+ "notification_toggle_setting_description": "Ieslēgt e-pasta paziņojumus",
"notifications": "Paziņojumi",
"notifications_setting_description": "",
- "oauth": "",
- "offline": "",
- "ok": "",
+ "oauth": "OAuth",
+ "official_immich_resources": "Oficiālie Immich resursi",
+ "offline": "Bezsaistē",
+ "ok": "Labi",
"oldest_first": "",
- "online": "",
- "only_favorites": "",
+ "online": "Tiešsaistē",
+ "only_favorites": "Tikai izlase",
"only_refreshes_modified_files": "",
- "open_the_search_filters": "",
+ "open_in_map_view": "Atvērt kartes skatā",
+ "open_in_openstreetmap": "Atvērt OpenStreetMap",
+ "open_the_search_filters": "Atvērt meklēšanas filtrus",
"options": "Iestatījumi",
+ "or": "vai",
"organize_your_library": "",
- "other": "",
- "other_devices": "",
- "other_variables": "",
+ "other": "Citi",
+ "other_devices": "Citas ierīces",
+ "other_variables": "Citi mainīgie",
"owned": "Īpašumā",
"owner": "Īpašnieks",
"partner_sharing": "",
"partners": "",
"password": "Parole",
- "password_does_not_match": "",
+ "password_does_not_match": "Parole nesakrīt",
"password_required": "",
"password_reset_success": "",
"past_durations": {
@@ -640,59 +716,86 @@
"primary": "",
"profile_picture_set": "",
"public_share": "",
+ "purchase_button_never_show_again": "Nekad vairs nerādīt",
+ "purchase_button_reminder": "Atgādināt man pēc 30 dienām",
+ "purchase_button_remove_key": "Noņemt atslēgu",
+ "purchase_button_select": "Izvēlēties",
+ "purchase_individual_description_2": "Atbalstītāja statuss",
+ "purchase_panel_title": "Atbalstīt projektu",
+ "purchase_remove_product_key": "Noņemt produkta atslēgu",
+ "purchase_server_description_1": "Visam serverim",
+ "purchase_server_description_2": "Atbalstītāja statuss",
+ "purchase_server_title": "Serveris",
"range": "",
"raw": "",
"reaction_options": "",
- "read_changelog": "",
+ "read_changelog": "Lasīt izmaiņu sarakstu",
"recent": "",
"recent_searches": "",
"refresh": "",
"refreshed": "",
"refreshes_every_file": "",
- "remove": "",
+ "remove": "Noņemt",
+ "remove_deleted_assets": "",
"remove_from_album": "Noņemt no albuma",
- "remove_from_favorites": "",
+ "remove_from_favorites": "Noņemt no izlases",
"remove_from_shared_link": "",
- "remove_offline_files": "",
- "repair": "",
+ "remove_user": "Noņemt lietotāju",
+ "removed_api_key": "Noņēma API atslēgu: {name}",
+ "removed_from_archive": "Noņēma no arhīva",
+ "removed_from_favorites": "Noņēma no izlases",
+ "rename": "Pārsaukt",
+ "repair": "Remonts",
"repair_no_results_message": "",
- "replace_with_upload": "",
+ "replace_with_upload": "Aizstāt ar augšupielādi",
"require_password": "",
+ "require_user_to_change_password_on_first_login": "Pieprasīt lietotājam mainīt paroli pēc pirmās pieteikšanās",
"reset": "",
"reset_password": "",
"reset_people_visibility": "",
"reset_settings_to_default": "",
+ "resolve_duplicates": "Atrisināt dublēšanās gadījumus",
+ "resolved_all_duplicates": "Visi dublikāti ir atrisināti",
"restore": "Atjaunot",
- "restore_user": "",
- "retry_upload": "",
- "review_duplicates": "",
- "role": "",
+ "restore_all": "Atjaunot visu",
+ "restore_user": "Atjaunot lietotāju",
+ "resume": "Turpināt",
+ "retry_upload": "Atkārtot augšupielādi",
+ "review_duplicates": "Pārskatīt dublikātus",
+ "role": "Loma",
+ "role_editor": "Redaktors",
+ "role_viewer": "Skatītājs",
"save": "Saglabāt",
- "saved_profile": "",
- "saved_settings": "",
+ "saved_api_key": "API atslēga saglabāta",
+ "saved_profile": "Profils saglabāts",
+ "saved_settings": "Iestatījumi saglabāti",
"say_something": "Teikt kaut ko",
"scan_all_libraries": "",
"scan_all_library_files": "",
"scan_new_library_files": "",
"scan_settings": "",
"search": "Meklēt",
- "search_albums": "",
+ "search_albums": "Meklēt albumus",
"search_by_context": "",
+ "search_by_filename_example": "piemēram, IMG_1234.JPG vai PNG",
"search_camera_make": "",
"search_camera_model": "",
"search_city": "",
"search_country": "",
"search_for_existing_person": "",
- "search_people": "",
+ "search_no_people": "Nav cilvēku",
+ "search_no_people_named": "Nav cilvēku ar vārdu \"{name}\"",
+ "search_people": "Meklēt cilvēkus",
"search_places": "",
"search_state": "",
"search_timezone": "",
"search_type": "",
"search_your_photos": "Meklēt Jūsu fotoattēlus",
"searching_locales": "",
- "second": "",
- "select_album_cover": "",
+ "second": "Sekunde",
+ "select_album_cover": "Izvēlieties albuma vāciņu",
"select_all": "",
+ "select_all_duplicates": "Atlasīt visus dublikātus",
"select_avatar_color": "",
"select_face": "",
"select_featured_photo": "",
@@ -702,11 +805,13 @@
"selected": "",
"send_message": "",
"server": "",
- "server_stats": "",
+ "server_online": "Serveris tiešsaistē",
+ "server_stats": "Servera statistika",
+ "server_version": "Servera versija",
"set": "",
"set_as_album_cover": "",
"set_as_profile_picture": "",
- "set_date_of_birth": "",
+ "set_date_of_birth": "Iestatīt dzimšanas datumu",
"set_profile_picture": "",
"set_slideshow_to_fullscreen": "",
"settings": "Iestatījumi",
@@ -715,13 +820,16 @@
"shared": "Kopīgots",
"shared_by": "",
"shared_by_you": "",
- "shared_links": "Kopīgotas Saites",
+ "shared_links": "Kopīgotās saites",
"sharing": "Kopīgošana",
"sharing_sidebar_description": "",
- "show_album_options": "",
- "show_file_location": "",
- "show_gallery": "",
- "show_hidden_people": "",
+ "show_album_options": "Rādīt albuma iespējas",
+ "show_albums": "Rādīt albumus",
+ "show_all_people": "Rādīt visus cilvēkus",
+ "show_and_hide_people": "Rādīt un slēpt cilvēkus",
+ "show_file_location": "Rādīt faila atrašanās vietu",
+ "show_gallery": "Rādīt galeriju",
+ "show_hidden_people": "Rādīt paslēptos cilvēkus",
"show_in_timeline": "",
"show_in_timeline_setting_description": "",
"show_keyboard_shortcuts": "",
@@ -731,67 +839,86 @@
"show_person_options": "",
"show_progress_bar": "",
"show_search_options": "",
+ "show_supporter_badge": "Atbalstītāja nozīmīte",
+ "show_supporter_badge_description": "Rādīt atbalstītāja nozīmīti",
"shuffle": "",
"sign_up": "",
- "size": "",
+ "size": "Izmērs",
"skip_to_content": "",
- "slideshow": "",
- "slideshow_settings": "",
- "sort_albums_by": "",
+ "slideshow": "Slīdrāde",
+ "slideshow_settings": "Slīdrādes iestatījumi",
+ "sort_albums_by": "Kārtot albumus pēc...",
+ "sort_created": "Izveides datums",
+ "sort_items": "Vienību skaits",
+ "sort_modified": "Izmaiņu datums",
+ "sort_oldest": "Vecākā fotogrāfija",
+ "sort_recent": "Nesenākā fotogrāfija",
+ "sort_title": "Nosaukums",
+ "source": "Avots",
"stack": "Steks",
"stack_selected_photos": "",
"stacktrace": "",
"start_date": "",
"state": "Štats",
- "status": "",
+ "status": "Statuss",
"stop_motion_photo": "",
"stop_photo_sharing": "Beigt kopīgot jūsu fotogrāfijas?",
- "storage": "",
+ "storage": "Uzglabāšanas vieta",
"storage_label": "",
- "submit": "",
+ "storage_usage": "{used} no {available} izmantoti",
+ "submit": "Iesniegt",
"suggestions": "Ieteikumi",
- "sunrise_on_the_beach": "",
+ "sunrise_on_the_beach": "Saullēkts pludmalē",
+ "support": "Atbalsts",
+ "support_and_feedback": "Atbalsts un atsauksmes",
"swap_merge_direction": "",
- "sync": "",
+ "sync": "Sinhronizēt",
"template": "",
"theme": "Dizains",
"theme_selection": "",
"theme_selection_description": "",
+ "they_will_be_merged_together": "Tās tiks apvienotas",
"time_based_memories": "",
"timezone": "Laika zona",
- "toggle_settings": "",
+ "to_archive": "Arhivēt",
+ "to_change_password": "Mainīt paroli",
+ "toggle_settings": "Pārslēgt iestatījumus",
"toggle_theme": "",
"toggle_visibility": "",
- "total_usage": "",
+ "total_usage": "Kopējais lietojums",
"trash": "Atkritne",
"trash_all": "",
"trash_no_results_message": "",
"type": "",
"unarchive": "Atarhivēt",
"unarchived": "",
- "unfavorite": "Noņemt no Izlases",
- "unhide_person": "",
+ "unfavorite": "Noņemt no izlases",
+ "unhide_person": "Atcelt personas slēpšanu",
"unknown": "",
"unknown_album": "",
- "unknown_year": "",
+ "unknown_year": "Nezināms gads",
+ "unlimited": "Neierobežots",
"unlink_oauth": "",
"unlinked_oauth_account": "",
+ "unnamed_album": "Albums bez nosaukuma",
+ "unsaved_change": "Nesaglabāta izmaiņa",
"unselect_all": "",
"unstack": "At-Stekot",
"up_next": "",
"updated_password": "",
"upload": "Augšupielādēt",
"upload_concurrency": "",
+ "upload_status_duplicates": "Dublikāti",
"upload_status_errors": "Kļūdas",
"upload_status_uploaded": "Augšupielādēts",
"url": "",
- "usage": "",
+ "usage": "Lietojums",
"user": "Lietotājs",
"user_id": "Lietotāja ID",
- "user_usage_detail": "",
+ "user_usage_detail": "Informācija par lietotāju lietojumu",
"username": "",
"users": "Lietotāji",
- "utilities": "",
+ "utilities": "Rīki",
"validate": "",
"variables": "",
"version": "Versija",
@@ -804,10 +931,11 @@
"view_next_asset": "",
"view_previous_asset": "",
"viewer": "",
- "waiting": "",
+ "waiting": "Gaida",
"week": "",
"welcome_to_immich": "",
"year": "",
+ "years_ago": "Pirms {years, plural, one {# gada} other {# gadiem}}",
"yes": "Jā",
"zoom_image": "Pietuvināt attēlu"
}
diff --git a/web/src/lib/i18n/el.json b/i18n/mfa.json
similarity index 100%
rename from web/src/lib/i18n/el.json
rename to i18n/mfa.json
diff --git a/web/src/lib/i18n/et.json b/i18n/mk.json
similarity index 100%
rename from web/src/lib/i18n/et.json
rename to i18n/mk.json
diff --git a/web/src/lib/i18n/mn.json b/i18n/mn.json
similarity index 71%
rename from web/src/lib/i18n/mn.json
rename to i18n/mn.json
index 54a4710a03..231c84e4cf 100644
--- a/web/src/lib/i18n/mn.json
+++ b/i18n/mn.json
@@ -1,32 +1,41 @@
{
- "account": "",
- "acknowledge": "",
- "action": "",
- "actions": "",
- "active": "",
- "activity": "",
- "add": "",
- "add_a_description": "",
- "add_a_location": "",
- "add_a_name": "",
- "add_a_title": "",
+ "about": "Тухай",
+ "account": "Бүртгэл",
+ "account_settings": "Бүртгэлийн тохиргоо",
+ "acknowledge": "Ойлголоо",
+ "action": "Үйлдэл",
+ "actions": "Үйлдлүүд",
+ "active": "Идэвхтэй",
+ "activity": "Үйлдлийн бүртгэл",
+ "activity_changed": "Үйлдлийн бүртгэл {enabled, select, true {идэвхтэй} other {идэвхгүй}}",
+ "add": "Нэмэх",
+ "add_a_description": "Тайлбар оруулах",
+ "add_a_location": "Байршил нэмэх",
+ "add_a_name": "Нэр өгөх",
+ "add_a_title": "Гарчиг оруулах",
"add_exclusion_pattern": "",
"add_import_path": "",
- "add_location": "",
- "add_more_users": "",
- "add_partner": "",
+ "add_location": "Байршил оруулах",
+ "add_more_users": "Өөр хэрэглэгчид нэмэх",
+ "add_partner": "Хамтрагч нэмэх",
"add_path": "",
- "add_photos": "",
+ "add_photos": "Зураг нэмэх",
"add_to": "",
- "add_to_album": "",
- "add_to_shared_album": "",
+ "add_to_album": "Цомогт оруулах",
+ "add_to_shared_album": "Нээлттэй албумд оруулах",
+ "added_to_archive": "Архивд оруулах",
+ "added_to_favorites": "Дуртай зурганд нэмэх",
+ "added_to_favorites_count": "Дуртай зурагнуудад {count, number} нэмэгдлээ",
"admin": {
- "authentication_settings": "",
- "authentication_settings_description": "",
+ "authentication_settings": "Танин нэвтрэлт тохиргоо",
+ "authentication_settings_description": "Нууц үгийн удирдлага, OAuth болон бусад танин нэвтрэлтийн тохиргоо",
+ "authentication_settings_disable_all": "Бүх нэвтрэх аргуудыг идэвхигүй болгохдоо итгэлтэй байна уу? Нэвтрэх үйлдэл бүрэн идэвхигүй болно.",
+ "check_all": "Бүгдийг сонгох",
"crontab_guru": "",
"disable_login": "",
"disabled": "",
"duplicate_detection_job_description": "",
+ "face_detection": "Нүүр илрүүлэх",
"image_format_description": "",
"image_prefer_embedded_preview": "",
"image_prefer_embedded_preview_setting_description": "",
@@ -35,15 +44,16 @@
"image_preview_format": "",
"image_preview_resolution": "",
"image_preview_resolution_description": "",
- "image_quality": "",
+ "image_quality": "Чанар",
"image_quality_description": "",
"image_settings": "",
"image_settings_description": "",
"image_thumbnail_format": "",
"image_thumbnail_resolution": "",
"image_thumbnail_resolution_description": "",
- "job_settings": "",
+ "job_settings": "Ажлын тохиргоо",
"job_settings_description": "",
+ "job_status": "Ажлын төлөв",
"library_cron_expression": "",
"library_cron_expression_presets": "",
"library_scanning": "",
@@ -62,11 +72,13 @@
"machine_learning_duplicate_detection": "",
"machine_learning_duplicate_detection_enabled_description": "",
"machine_learning_duplicate_detection_setting_description": "",
- "machine_learning_enabled_description": "",
- "machine_learning_facial_recognition": "",
- "machine_learning_facial_recognition_description": "",
- "machine_learning_facial_recognition_model": "",
- "machine_learning_facial_recognition_model_description": "",
+ "machine_learning_enabled": "Машин сургалт идэвхжүүлэх",
+ "machine_learning_enabled_description": "Идэвхгүй болгосон үед доорх тохиргооноос хамаарахгүйгээр бүх машин сургалтын боломж идэвхгүй болно.",
+ "machine_learning_facial_recognition": "Нүүр танилт",
+ "machine_learning_facial_recognition_description": "Зураг дээрх хүмүүсийн нүүрийг илрүүлж, таньж, бүлэглэнэ",
+ "machine_learning_facial_recognition_model": "Нүүр танилтын загвар",
+ "machine_learning_facial_recognition_model_description": "Загварууд хэмжээ нь буурах эрэмбээр жагссан. Том загварууд удаан, илүү их санах ой хэрэглэх боловч харьцангуй чанартай үр дүн үзүүлнэ. Загвар өөрчилсөн тохиолдолд нүүр илрүүлэлтийн ажлыг дахин эхлүүлэх шаардлагатайг санаарай.",
+ "machine_learning_facial_recognition_setting": "Нүүр танилт идэвхжүүлэх",
"machine_learning_facial_recognition_setting_description": "",
"machine_learning_max_detection_distance": "",
"machine_learning_max_detection_distance_description": "",
@@ -89,7 +101,7 @@
"map_reverse_geocoding": "",
"map_reverse_geocoding_enable_description": "",
"map_reverse_geocoding_settings": "",
- "map_settings": "",
+ "map_settings": "Газрын зураг",
"map_settings_description": "",
"map_style_description": "",
"metadata_extraction_job_description": "",
@@ -210,14 +222,17 @@
"transcoding_two_pass_encoding_setting_description": "",
"transcoding_video_codec": "",
"transcoding_video_codec_description": "",
- "trash_enabled_description": "",
- "trash_number_of_days": "",
- "trash_number_of_days_description": "",
- "trash_settings": "",
- "trash_settings_description": "",
+ "trash_enabled_description": "Хогийн сав идэвхжүүлэх",
+ "trash_number_of_days": "Хоногийн тоо",
+ "trash_number_of_days_description": "Хогийн саванд хэд хоног хадгалаад бүр мөсөн устгах вэ",
+ "trash_settings": "Хогийн савны тохиргоо",
+ "trash_settings_description": "Хогийн савны тохиргоог өөрчлөх",
"user_delete_delay_settings": "",
"user_delete_delay_settings_description": "",
- "user_settings": "",
+ "user_management": "Хэрэглэгчийн удирдлага",
+ "user_password_has_been_reset": "Хэрэглэгчийн нууц үг шинээр тохируулагдлаа:",
+ "user_restore_description": "{user}-н бүртгэл сэргэнэ.",
+ "user_settings": "Хэрэглэгчийн тохиргоо",
"user_settings_description": "",
"version_check_enabled_description": "",
"version_check_settings": "",
@@ -226,57 +241,70 @@
},
"admin_email": "",
"admin_password": "",
- "administration": "",
+ "administration": "Админ",
"advanced": "",
- "album_added": "",
+ "album_added": "Цомог нэмэгдлээ",
"album_added_notification_setting_description": "",
"album_cover_updated": "",
- "album_info_updated": "",
- "album_name": "",
- "album_options": "",
+ "album_info_updated": "Цомгийн мэлээлэл шинэчлэгдлээ",
+ "album_leave": "Цомгоос гарах уу?",
+ "album_leave_confirmation": "Та {album} цомгоос гарахдаа итгэлтэй байна уу?",
+ "album_name": "Цомгийн нэр",
+ "album_options": "Цомгийн тохиргоо",
+ "album_remove_user": "Хэрэглэгч хасах уу?",
+ "album_remove_user_confirmation": "{user} хэрэглэгчийг хасахдаа итгэлтэй байна уу?",
"album_updated": "",
"album_updated_setting_description": "",
- "albums": "",
- "all": "",
- "all_people": "",
- "allow_dark_mode": "",
- "allow_edits": "",
- "api_key": "",
- "api_keys": "",
- "app_settings": "",
+ "albums": "Цомгууд",
+ "all": "Бүгд",
+ "all_albums": "Бүх цомог",
+ "all_people": "Бүх хүн",
+ "all_videos": "Бүх бичлэг",
+ "allow_dark_mode": "Харанхуй горим зөвшөөрөх",
+ "allow_edits": "Засварлалт зөвшөөрөх",
+ "api_key": "API түлхүүр",
+ "api_key_description": "Энэ утга зөвхөн ганц л удаа харагдана. Цонхоо хаахаас өмнө хуулж аваарай.",
+ "api_key_empty": "Таны API түлхүүрийн нэр хоосон байж болохгүй",
+ "api_keys": "API түлхүүрүүд",
+ "app_settings": "Апп-н тохиргоо",
"appears_in": "",
- "archive": "",
- "archive_or_unarchive_photo": "",
+ "archive": "Архив",
+ "archive_or_unarchive_photo": "Зургийг архивт хийх эсвэл гаргах",
+ "archive_size": "Архивын хэмжээ",
+ "archive_size_description": "Татах үеийн архивын хэмжээг тохируулах (GiB-р)",
"archived": "",
+ "asset_added_to_album": "Цомогт нэмсэн",
+ "asset_adding_to_album": "Цомогт нэмж байна...",
"asset_offline": "",
"assets": "",
"authorized_devices": "",
"back": "",
"backward": "",
"blurred_background": "",
- "camera": "",
- "camera_brand": "",
- "camera_model": "",
+ "buy": "Immich худалдаж авах",
+ "camera": "Камер",
+ "camera_brand": "Камерын үйлдвэр",
+ "camera_model": "Камерын загвар",
"cancel": "Цуцлах",
- "cancel_search": "",
+ "cancel_search": "Хайлт цуцлах",
"cannot_merge_people": "",
"cannot_update_the_description": "",
"cant_apply_changes": "",
"cant_get_faces": "",
"cant_search_people": "",
"cant_search_places": "",
- "change_date": "",
+ "change_date": "Огноо өөрчлөх",
"change_expiration_time": "",
- "change_location": "",
- "change_name": "",
- "change_name_successfully": "",
- "change_password": "",
+ "change_location": "Байршил өөрчлөх",
+ "change_name": "Нэр өөрчлөх",
+ "change_name_successfully": "Нэр амжилттай өөрчлөгдлөө",
+ "change_password": "Нууц үг өөрчлөх",
"change_your_password": "",
"changed_visibility_successfully": "",
"check_logs": "",
- "city": "",
- "clear": "",
- "clear_all": "",
+ "city": "Хот",
+ "clear": "Цэвэрлэх",
+ "clear_all": "Бүгдийг цэвэрлэх",
"clear_message": "",
"clear_value": "",
"close": "",
@@ -371,7 +399,7 @@
"email": "",
"empty": "",
"empty_album": "",
- "empty_trash": "",
+ "empty_trash": "Хогийн сав хоослох",
"enable": "",
"enabled": "",
"end_date": "",
@@ -392,7 +420,7 @@
"unable_to_delete_album": "",
"unable_to_delete_asset": "",
"unable_to_delete_user": "",
- "unable_to_empty_trash": "",
+ "unable_to_empty_trash": "Хогийн савыг хоослож чадсангүй",
"unable_to_enter_fullscreen": "",
"unable_to_exit_fullscreen": "",
"unable_to_hide_person": "",
@@ -412,7 +440,7 @@
"unable_to_reset_password": "",
"unable_to_resolve_duplicate": "",
"unable_to_restore_assets": "",
- "unable_to_restore_trash": "",
+ "unable_to_restore_trash": "Хогийн савнаас гаргаж чадсангүй",
"unable_to_restore_user": "",
"unable_to_save_album": "",
"unable_to_save_name": "",
@@ -437,13 +465,13 @@
"expand_all": "",
"expire_after": "",
"expired": "",
- "explore": "",
+ "explore": "Эрж олох",
"extension": "",
"external_libraries": "",
"failed_to_get_people": "",
"favorite": "",
"favorite_or_unfavorite_photo": "",
- "favorites": "",
+ "favorites": "Дуртай",
"feature": "",
"feature_photo_updated": "",
"featurecollection": "",
@@ -485,7 +513,7 @@
"night_at_midnight": "",
"night_at_twoam": ""
},
- "invite_people": "",
+ "invite_people": "Хүмүүс урих",
"invite_to_album": "",
"job_settings_description": "",
"jobs": "",
@@ -497,7 +525,7 @@
"leave": "",
"let_others_respond": "",
"level": "",
- "library": "",
+ "library": "Зургийн сан",
"library_options": "",
"light": "",
"link_options": "",
@@ -551,9 +579,9 @@
"no": "",
"no_albums_message": "",
"no_archived_assets_message": "",
- "no_assets_message": "",
+ "no_assets_message": "Энд дарж та эхний зургаа хуулж үзэх үү",
"no_exif_info_available": "",
- "no_explore_results_message": "",
+ "no_explore_results_message": "Зураг хуулж оруулсаны дараа ашиглах боломжтой болно.",
"no_favorites_message": "",
"no_libraries_message": "",
"no_name": "",
@@ -570,7 +598,7 @@
"ok": "",
"oldest_first": "",
"online": "",
- "only_favorites": "",
+ "only_favorites": "Зөвхөн дуртай зурагнууд",
"only_refreshes_modified_files": "",
"open_the_search_filters": "",
"options": "",
@@ -597,7 +625,7 @@
"pause_memories": "",
"paused": "",
"pending": "",
- "people": "",
+ "people": "Хүмүүс",
"people_sidebar_description": "",
"perform_library_tasks": "",
"permanent_deletion_warning": "",
@@ -608,7 +636,7 @@
"photos_from_previous_years": "",
"pick_a_location": "",
"place": "",
- "places": "",
+ "places": "Байршилууд",
"play": "",
"play_memories": "",
"play_motion_photo": "",
@@ -633,10 +661,12 @@
"refreshed": "",
"refreshes_every_file": "",
"remove": "",
+ "remove_deleted_assets": "",
"remove_from_album": "",
- "remove_from_favorites": "",
+ "remove_from_favorites": "Дуртай зурагнуудаас хасах",
"remove_from_shared_link": "",
- "remove_offline_files": "",
+ "removed_from_favorites": "Дуртай зурагнуудаас хасагдсан",
+ "removed_from_favorites_count": "Дуртай зурагнуудаас {count, plural, other {Removed #}} хасагдлаа",
"repair": "",
"repair_no_results_message": "",
"replace_with_upload": "",
@@ -667,11 +697,11 @@
"search_country": "",
"search_for_existing_person": "",
"search_people": "",
- "search_places": "",
+ "search_places": "Байршил хайх",
"search_state": "",
"search_timezone": "",
"search_type": "",
- "search_your_photos": "",
+ "search_your_photos": "Зурагнуудаасаа хайлт хийх",
"searching_locales": "",
"second": "",
"select_album_cover": "",
@@ -685,6 +715,7 @@
"selected": "",
"send_message": "",
"server": "",
+ "server_online": "Сервер Онлайн",
"server_stats": "",
"set": "",
"set_as_album_cover": "",
@@ -699,7 +730,7 @@
"shared_by": "",
"shared_by_you": "",
"shared_links": "",
- "sharing": "",
+ "sharing": "Хуваалцах",
"sharing_sidebar_description": "",
"show_album_options": "",
"show_file_location": "",
@@ -715,6 +746,7 @@
"show_progress_bar": "",
"show_search_options": "",
"shuffle": "",
+ "sign_out": "Гарах",
"sign_up": "",
"size": "",
"skip_to_content": "",
@@ -728,8 +760,9 @@
"state": "",
"status": "",
"stop_motion_photo": "",
- "storage": "",
+ "storage": "Дискний багтаамж",
"storage_label": "",
+ "storage_usage": "Нийт {available} боломжтойгоос {used} хэрэглэсэн",
"submit": "",
"suggestions": "",
"sunrise_on_the_beach": "",
@@ -745,7 +778,7 @@
"toggle_theme": "",
"toggle_visibility": "",
"total_usage": "",
- "trash": "",
+ "trash": "Хогийн сав",
"trash_all": "",
"trash_no_results_message": "",
"type": "",
@@ -762,7 +795,7 @@
"unstack": "",
"up_next": "",
"updated_password": "",
- "upload": "",
+ "upload": "Зураг хуулах",
"upload_concurrency": "",
"url": "",
"usage": "",
@@ -771,23 +804,27 @@
"user_usage_detail": "",
"username": "",
"users": "",
- "utilities": "",
+ "utilities": "Багаж хэрэгсэл",
"validate": "",
"variables": "",
"version": "",
"video": "",
"video_hover_setting_description": "",
"videos": "",
- "view_all": "",
- "view_all_users": "",
+ "view_all": "Бүгдийг харах",
+ "view_all_users": "Бүх хэрэглэгчийг харах",
"view_links": "",
"view_next_asset": "",
"view_previous_asset": "",
"viewer": "",
- "waiting": "",
- "week": "",
- "welcome_to_immich": "",
- "year": "",
- "yes": "",
- "zoom_image": ""
+ "waiting": "Хүлээж байна",
+ "warning": "Анхааруулга",
+ "week": "Долоо хоног",
+ "welcome": "Тавтай морил",
+ "welcome_to_immich": "Тавтай морилно уу",
+ "year": "Он",
+ "years_ago": "{years, plural, one {# year} other {# years}} өмнө",
+ "yes": "Тийм",
+ "you_dont_have_any_shared_links": "Танд хуваалцсан холбоос алга",
+ "zoom_image": "Зургийг томруулж харах"
}
diff --git a/web/src/lib/i18n/te.json b/i18n/mr.json
similarity index 100%
rename from web/src/lib/i18n/te.json
rename to i18n/mr.json
diff --git a/i18n/ms.json b/i18n/ms.json
new file mode 100644
index 0000000000..cec6f00273
--- /dev/null
+++ b/i18n/ms.json
@@ -0,0 +1,122 @@
+{
+ "about": "Tentang",
+ "account": "Akaun",
+ "account_settings": "Tetapan Akaun",
+ "acknowledge": "Akui",
+ "action": "Tindakan",
+ "actions": "Tindakan",
+ "active": "Aktif",
+ "activity": "Aktiviti",
+ "activity_changed": "Aktiviti {enabled, select, true {enabled} other {disabled}}",
+ "add": "Tambah",
+ "add_a_description": "Tambah penerangan",
+ "add_a_location": "Tambah lokasi",
+ "add_a_name": "Tambah nama",
+ "add_a_title": "Tambah tajuk",
+ "add_exclusion_pattern": "Tambahkan corak pengecualian",
+ "add_import_path": "Tambahkan laluan import",
+ "add_location": "Tambah lokasi",
+ "add_more_users": "Tambah user lagi",
+ "add_partner": "Tambah rakan",
+ "add_path": "Tambah laluan",
+ "add_photos": "Tambah gambar",
+ "add_to": "Tambah ke...",
+ "add_to_album": "Tambah ke album",
+ "add_to_shared_album": "Tambah ke album yang dikongsi",
+ "added_to_archive": "Tambah ke arkib",
+ "added_to_favorites": "Ditambah pada favorit",
+ "added_to_favorites_count": "Menambahkan {count, number} ke favorit",
+ "admin": {
+ "add_exclusion_pattern_description": "Tambahkan corak pengecualian. Globbing menggunakan *, **, dan ? disokong. Untuk mengabaikan semua fail dalam mana-mana direktori bernama \"Raw\", gunakan \"**/Raw/**\". Untuk mengabaikan semua fail yang berakhir dengan \".tif\", gunakan \"**/*.tif\". Untuk mengabaikan laluan mutlak, gunakan \"/path/to/ignore/**\".",
+ "asset_offline_description": "Aset pustaka luaran ini tidak lagi ditemui pada cakera dan telah dialihkan ke sampah. Jika fail telah dialihkan dalam pustaka, semak garis masa anda untuk aset baharu yang sepadan. Untuk memulihkan aset ini, sila pastikan bahawa laluan fail di bawah boleh diakses oleh Immich dan mengimbas pustaka.",
+ "authentication_settings": "Tetapan Pengesahan",
+ "authentication_settings_description": "Urus kata laluan, OAuth dan tetapan pengesahan lain",
+ "authentication_settings_disable_all": "Adakah anda pasti mahu melumpuhkan semua kaedah log masuk? Log masuk akan dilumpuhkan sepenuhnya.",
+ "authentication_settings_reenable": "Untuk menghidupkan semula, guna Arahan Pelayan.",
+ "background_task_job": "Tugas Latar Belakang",
+ "check_all": "Tanda Semua",
+ "cleared_jobs": "Kerja telah dibersihkan untuk: {job}",
+ "config_set_by_file": "Konfigurasi kini ditetapkan oleh fail konfigurasi",
+ "confirm_delete_library": "Adakah anda pasti mahu memadamkan {library}?",
+ "confirm_delete_library_assets": "Adakah anda pasti mahu memadamkan pustaka ini? Ini akan memadam {count, plural, one {# aset yang terkandung} other {semua # aset yang terkandung}} daripada Immich dan tidak boleh dibuat asal. Fail akan kekal pada disk.",
+ "confirm_email_below": "Untuk mengesahkan, sila taip \"{email}\" dibawah",
+ "confirm_reprocess_all_faces": "Adakah anda pasti mahu memproses semula semua wajah? Ini juga akan membersihkan orang bernama.",
+ "confirm_user_password_reset": "Adakah anda pasti mahu menetapkan semula kata laluan {user}?",
+ "create_job": "Cipta tugas",
+ "disable_login": "Lumpuhkan fungsi log masuk",
+ "duplicate_detection_job_description": "Jalankan pembelajaran mesin pada aset untuk mengesan imej yang serupa. Bergantung pada Carian Pintar",
+ "exclusion_pattern_description": "Corak pengecualian membolehkan anda mengabaikan fail dan folder semasa mengimbas pustaka anda. Ini berguna jika anda mempunyai folder yang mengandungi fail yang anda tidak mahu import, seperti fail RAW.",
+ "external_library_created_at": "Pustaka luaran (dicipta pada {date})",
+ "external_library_management": "Pengurusan Perpustakaan Luar",
+ "face_detection": "Pengesanan wajah",
+ "face_detection_description": "Kesan wajah dalam aset menggunakan pembelajaran mesin. Untuk video, hanya lakaran kecil dipertimbangkan. \"Segar Semula\" memproses semula semua aset. \"Tetapkan Semula\" juga mengosongkan semua data wajah semasa. \"Hilang\" baris gilir aset yang belum diproses lagi. Wajah yang dikesan akan beratur untuk Pengecaman Wajah selepas Pengesanan Wajah selesai, menghimpunkannya kepada orang sedia ada atau baharu.",
+ "facial_recognition_job_description": "Kumpulan wajah yang dikesan ke dalam orang. Langkah ini dijalankan selepas Pengesanan Wajah selesai. \"Tetapkan semula\" mengelompokkan semula semua wajah. \"Hilang\" jalankan proses pada wajah yang tidak mempunyai orang yang ditetapkan.",
+ "failed_job_command": "Perintah {command} gagal untuk kerja: {job}",
+ "force_delete_user_warning": "AMARAN: Ini akan mengalih keluar pengguna dan semua aset dengan serta-merta. Ia tidak boleh dibuat asal dan fail tidak boleh dipulihkan.",
+ "forcing_refresh_library_files": "Memaksa muat semula semua fail perpustakaan",
+ "image_format": "Format",
+ "image_format_description": "WebP menghasilkan fail yang lebih kecil daripada JPEG, tetapi lebih perlahan untuk mengekod.",
+ "image_prefer_embedded_preview": "Cadangkan pratonton terbenam",
+ "image_prefer_embedded_preview_setting_description": "Gunakan pratonton terbenam dalam foto RAW sebagai input kepada pemprosesan imej apabila tersedia. Cara ini boleh menghasilkan warna yang lebih tepat untuk sesetengah imej, tetapi kualiti pratonton bergantung pada kamera dan imej mungkin mempunyai lebih banyak artifak mampatan.",
+ "image_prefer_wide_gamut": "Cadangkan warna gamut yang luas",
+ "image_prefer_wide_gamut_setting_description": "Gunakan Paparan P3 untuk lakaran kenit. Ini lebih baik mengekalkan kerancakan imej dengan ruang warna yang luas, tetapi imej mungkin kelihatan berbeza pada peranti lama dengan versi penyemak imbas lama. Imej sRGB disimpan sebagai sRGB untuk mengelakkan peralihan warna.",
+ "image_preview_description": "Imej bersaiz sederhana dengan metadata yang dilucutkan, digunakan semasa melihat aset tunggal dan untuk pembelajaran mesin",
+ "image_preview_quality_description": "Kualiti pratonton dari 1-100. Lebih tinggi adalah lebih baik, tetapi menghasilkan fail yang lebih besar dan boleh mengurangkan responsif apl. Menetapkan nilai yang rendah boleh menjejaskan kualiti pembelajaran mesin.",
+ "image_preview_title": "Tetapan Pratonton",
+ "image_quality": "Kualiti",
+ "image_resolution": "Resolusi",
+ "image_resolution_description": "Resolusi yang lebih tinggi boleh meningkatkan ketajaman imej tetapi mengambil masa yang lebih lama untuk mengekod, mempunyai saiz fail yang lebih besar dan boleh mengurangkan responsif apl.",
+ "image_settings": "Tetapan Imej",
+ "image_settings_description": "Urus kualiti dan resolusi imej yang dihasilkan",
+ "image_thumbnail_description": "Lakaran kecil dengan metadata yang dilucutkan, digunakan semasa melihat kumpulan foto seperti garis masa utama",
+ "image_thumbnail_quality_description": "Kualiti lakaran kenit daripada 1-100. Lebih tinggi adalah lebih baik, tetapi menghasilkan fail yang lebih besar dan boleh mengurangkan responsif apl.",
+ "image_thumbnail_title": "Tetapan Lakaran Kenit",
+ "job_concurrency": "Konkurensi {job}",
+ "job_created": "Tugas yang dicipta",
+ "job_not_concurrency_safe": "Konkurensi tugas ini tidak selamat.",
+ "job_settings": "Tetapan Tugas",
+ "job_settings_description": "Urus konkurensi tugas",
+ "job_status": "Status Tugasan",
+ "jobs_delayed": "{jobCount, plural, other {# tertangguh}}",
+ "jobs_failed": "{jobCount, plural, other {# gagal}}",
+ "library_created": "Pustaka dicipta: {library}",
+ "library_cron_expression": "Ungkapan Cron",
+ "library_cron_expression_description": "Tetapkan selang pengimbasan menggunakan format cron. Untuk maklumat lanjut sila rujuk cth. Crontab Guru",
+ "library_cron_expression_presets": "Pratetap ungkapan Cron",
+ "library_deleted": "Pustaka dipadamkan",
+ "library_import_path_description": "Tentukan folder untuk diimport. Folder ini, termasuk subfolder, akan diimbas untuk imej dan video.",
+ "library_scanning": "Pengimbasan Berkala",
+ "library_scanning_description": "Konfigurasikan pengimbasan perpustakaan berkala",
+ "library_scanning_enable_description": "Dayakan pengimbasan perpustakaan berkala",
+ "library_settings": "Perpustakaan Luaran",
+ "library_settings_description": "Urus tetapan perpustakaan luaran",
+ "library_tasks_description": "Laksanakan tugas perpustakaan",
+ "library_watching_enable_description": "Perhatikan perpustakaan luaran untuk perubahan fail",
+ "library_watching_settings": "Perhati perpustakaan (EKSPERIMEN)",
+ "library_watching_settings_description": "Perhati fail yang diubah secara automatik",
+ "logging_enable_description": "Dayakan pengelogan",
+ "logging_level_description": "Apabila didayakan, tahap log yang hendak digunakan.",
+ "logging_settings": "Log",
+ "machine_learning_clip_model": "Model CLIP",
+ "machine_learning_clip_model_description": "Nama model CLIP disenaraikan di sini. Ambil perhatian bahawa anda mesti menjalankan semula tugas 'Carian Pintar' untuk semua imej selepas menukar model.",
+ "machine_learning_duplicate_detection": "Pengesanan Pendua",
+ "machine_learning_duplicate_detection_enabled": "Dayakan pengesanan pendua",
+ "machine_learning_duplicate_detection_enabled_description": "Jika dilumpuhkan, aset yang betul-betul serupa masih akan dinyahduakan.",
+ "machine_learning_duplicate_detection_setting_description": "Gunakan pembenaman CLIP untuk mencari kemungkinan pendua",
+ "machine_learning_enabled": "Dayakan pembelajaran mesin",
+ "machine_learning_enabled_description": "Jika dilumpuhkan, semua ciri Pembelajaran Mesin akan dilumpuhkan tanpa mengira tetapan di bawah.",
+ "machine_learning_facial_recognition": "Pengecaman Wajah",
+ "machine_learning_facial_recognition_description": "Mengesan, mengecam dan mengumpulkan wajah dalam imej",
+ "machine_learning_facial_recognition_model": "Model pengecaman wajah",
+ "machine_learning_facial_recognition_model_description": "Model disenaraikan dalam susunan saiz menurun. Model yang lebih besar adalah lebih perlahan dan menggunakan lebih banyak memori, tetapi menghasilkan hasil yang lebih baik. Ambil perhatian bahawa anda mesti menjalankan semula kerja Pengesanan Wajah untuk semua imej apabila menukar model.",
+ "machine_learning_facial_recognition_setting": "Dayakan pengecaman wajah",
+ "machine_learning_facial_recognition_setting_description": "Jika dilumpuhkan, imej tidak akan dikodkan untuk pengecaman wajah dan tidak akan mengisi bahagian Orang dalam halaman Teroka.",
+ "machine_learning_max_detection_distance": "Jarak pengesanan maksimum",
+ "machine_learning_max_detection_distance_description": "Jarak maksimum antara dua imej untuk menganggapnya sebagai pendua, antara 0.001-0.1. Nilai yang lebih tinggi akan mengesan lebih banyak pendua, tetapi mungkin menghasilkan positif palsu.",
+ "machine_learning_max_recognition_distance": "Jarak pengecaman maksimum",
+ "machine_learning_max_recognition_distance_description": "Jarak maksimum antara dua muka untuk dianggap sebagai orang yang sama, antara 0-2. Menurunkan ini boleh menghalang pelabelan dua orang sebagai orang yang sama, manakala menaikkannya boleh menghalang pelabelan orang yang sama sebagai dua orang yang berbeza. Ambil perhatian bahawa adalah lebih mudah untuk menggabungkan dua orang daripada membelah satu orang kepada dua, jadi silap pada bahagian ambang yang lebih rendah apabila boleh.",
+ "machine_learning_min_detection_score": "Skor pengesanan minimum",
+ "machine_learning_min_detection_score_description": "Skor keyakinan minimum untuk wajah dikesan dari 0-1. Nilai yang lebih rendah akan mengesan lebih banyak muka tetapi mungkin menghasilkan positif palsu.",
+ "machine_learning_min_recognized_faces": "Minimum mengenali wajah"
+ }
+}
diff --git a/web/src/lib/i18n/nb_NO.json b/i18n/nb_NO.json
similarity index 95%
rename from web/src/lib/i18n/nb_NO.json
rename to i18n/nb_NO.json
index 357f2b0b3f..ea508d1b7e 100644
--- a/web/src/lib/i18n/nb_NO.json
+++ b/i18n/nb_NO.json
@@ -25,7 +25,7 @@
"add_to_shared_album": "Legg til delt album",
"added_to_archive": "Lagt til i arkiv",
"added_to_favorites": "Lagt til i favoritter",
- "added_to_favorites_count": "Lagt til {count} i favoritter",
+ "added_to_favorites_count": "Lagt til {count, number} i favoritter",
"admin": {
"add_exclusion_pattern_description": "Legg til ekskluderingsmønstre. Globbing med *, ** og ? støttes. For å ignorere alle filer i en hvilken som helst mappe som heter \"Raw\", bruk \"**/Raw/**\". For å ignorere alle filer som slutter på \".tif\", bruk \"**/*.tif\". For å ignorere en absolutt filplassering, bruk \"/filbane/til/ignorer/**\".",
"authentication_settings": "Autentiserings innstillinger",
@@ -127,6 +127,8 @@
"manage_log_settings": "Administrer logginnstillinger",
"map_dark_style": "Mørk stil",
"map_enable_description": "Aktiver kartfunksjoner",
+ "map_gps_settings": "Kart & GPS Innstillinger",
+ "map_gps_settings_description": "Administrer innstillinger for kart og GPS (Reversert geokoding)",
"map_light_style": "Lys stil",
"map_reverse_geocoding": "Omvendt geokoding",
"map_reverse_geocoding_enable_description": "Aktiver omvendt geokoding",
@@ -136,6 +138,8 @@
"map_style_description": "URL til et style.json-karttema",
"metadata_extraction_job": "Hent metadata",
"metadata_extraction_job_description": "Hent metadatainformasjon fra hver fil, for eksempel GPS-posisjon og oppløsning",
+ "metadata_settings": "Metadatainnstillinger",
+ "metadata_settings_description": "Administrer metadatainnstillinger",
"migration_job": "Migrering",
"migration_job_description": "Migrer miniatyrbilder for filer og ansikter til den nyeste mappestrukturen",
"no_paths_added": "Ingen filbaner lagt til",
@@ -144,7 +148,7 @@
"note_cannot_be_changed_later": "MERK: Dette kan ikke endres senere!",
"note_unlimited_quota": "Merk: Skriv inn 0 for ubegrenset kvote",
"notification_email_from_address": "Fra adresse",
- "notification_email_from_address_description": "Avsenderens e-postadresse, for eksempel: \"Immich Photo Server {label}
is het opslaglabel van de gebruiker",
"system_settings": "Systeeminstellingen",
+ "tag_cleanup_job": "Tag opschoning",
"theme_custom_css_settings": "Aangepaste CSS",
"theme_custom_css_settings_description": "Met Cascading Style Sheets kan het ontwerp van Immich worden aangepast.",
"theme_settings": "Thema instellingen",
@@ -266,7 +287,7 @@
"transcoding_hardware_acceleration": "Hardware acceleratie",
"transcoding_hardware_acceleration_description": "Experimenteel; veel sneller, maar zal een lagere kwaliteit hebben bij dezelfde bitrate",
"transcoding_hardware_decoding": "Hardware decodering",
- "transcoding_hardware_decoding_setting_description": "Geldt alleen voor NVENC, QSV en RKMPP. Maakt end-to-end versnelling mogelijk in plaats van alleen de codering te versnellen. Werkt mogelijk niet op alle video's.",
+ "transcoding_hardware_decoding_setting_description": "Maakt end-to-end versnelling mogelijk in plaats van alleen de codering te versnellen. Werkt mogelijk niet op alle video's.",
"transcoding_hevc_codec": "HEVC codec",
"transcoding_max_b_frames": "Maximum B-Frames",
"transcoding_max_b_frames_description": "Hogere waarden verbeteren de compressie efficiëntie, maar vertragen de codering. Is mogelijk niet compatibel met hardwareversnelling op oudere apparaten. 0 schakelt B-frames uit, terwijl -1 deze waarde automatisch instelt.",
@@ -278,7 +299,7 @@
"transcoding_preferred_hardware_device": "Voorkeur hardwareapparaat",
"transcoding_preferred_hardware_device_description": "Geldt alleen voor VAAPI en QSV. Stelt de dri node in die wordt gebruikt voor hardwaretranscodering.",
"transcoding_preset_preset": "Preset (-preset)",
- "transcoding_preset_preset_description": "Compressiesnelheid. Langzamere presets produceren kleinere bestanden en verhogen de kwaliteit bij het targeten van een bepaalde bitrate. VP9 negeert snelheden boven `faster`.",
+ "transcoding_preset_preset_description": "Compressiesnelheid. Langzamere presets produceren kleinere bestanden en verhogen de kwaliteit bij het targeten van een bepaalde bitrate. VP9 negeert snelheden boven 'faster'.",
"transcoding_reference_frames": "Reference frames",
"transcoding_reference_frames_description": "Het aantal frames om naar te verwijzen bij het comprimeren van een bepaald frame. Hogere waarden verbeteren de compressie-efficiëntie, maar vertragen de codering. Bij 0 wordt deze waarde automatisch ingesteld.",
"transcoding_required_description": "Alleen video's die geen geaccepteerd formaat hebben",
@@ -307,6 +328,7 @@
"trash_settings_description": "Beheer prullenbak instellingen",
"untracked_files": "Niet bijgehouden bestanden",
"untracked_files_description": "Deze bestanden worden niet bijgehouden door de applicatie. Dit kan het resultaat zijn van een mislukte verplaatsing, onderbroken upload of een bug",
+ "user_cleanup_job": "Gebruiker opschoning",
"user_delete_delay": "Het account en de assets van {user} worden over {delay, plural, one {# dag} other {# dagen}} permanent verwijderd.",
"user_delete_delay_settings": "Verwijder vertraging",
"user_delete_delay_settings_description": "Aantal dagen na verwijdering om het account en de assets van een gebruiker permanent te verwijderen. De taak voor het verwijderen van gebruikers wordt om middernacht uitgevoerd om te controleren of gebruikers verwijderd kunnen worden. Wijzigingen in deze instelling worden bij de volgende uitvoering meegenomen.",
@@ -320,7 +342,8 @@
"user_settings": "Gebruikersinstellingen",
"user_settings_description": "Gebruikersinstellingen beheren",
"user_successfully_removed": "Gebruiker {email} is succesvol verwijderd.",
- "version_check_enabled_description": "Periodieke verzoeken aan GitHub inschakelen om te controleren op nieuwe releases",
+ "version_check_enabled_description": "Versiecontrole inschakelen",
+ "version_check_implications": "De versiecontrole is afhankelijk van periodieke communicatie met github.com",
"version_check_settings": "Versiecontrole",
"version_check_settings_description": "Melding voor een nieuwe versie in-/uitschakelen",
"video_conversion_job": "Transcodeer video's",
@@ -336,7 +359,8 @@
"album_added": "Album toegevoegd",
"album_added_notification_setting_description": "Ontvang een e-mailmelding wanneer je aan een gedeeld album wordt toegevoegd",
"album_cover_updated": "Album cover is bijgewerkt",
- "album_delete_confirmation": "Weet je zeker dat je het album {album} wilt verwijderen?\nAls dit album gedeeld is, hebben andere gebruikers er geen toegang meer toe.",
+ "album_delete_confirmation": "Weet je zeker dat je het album {album} wilt verwijderen?",
+ "album_delete_confirmation_description": "Als dit album gedeeld is, hebben andere gebruikers er geen toegang meer toe.",
"album_info_updated": "Albumgegevens bijgewerkt",
"album_leave": "Album verlaten?",
"album_leave_confirmation": "Weet je zeker dat je {album} wilt verlaten?",
@@ -360,6 +384,7 @@
"allow_edits": "Bewerkingen toestaan",
"allow_public_user_to_download": "Sta openbare gebruiker toe om te downloaden",
"allow_public_user_to_upload": "Sta openbare gebruiker toe om te uploaden",
+ "anti_clockwise": "Linksom",
"api_key": "API sleutel",
"api_key_description": "Deze waarde wordt slechts één keer getoond. Zorg ervoor dat je deze kopieert voordat je het venster sluit.",
"api_key_empty": "De naam van uw API sleutel mag niet leeg zijn",
@@ -381,8 +406,9 @@
"asset_has_unassigned_faces": "Asset heeft niet-toegewezen gezichten",
"asset_hashing": "Hashen...",
"asset_offline": "Asset offline",
- "asset_offline_description": "Deze asset is offline. Immich kan de bestandslocatie niet openen. Controleer of de asset beschikbaar is en scan de bibliotheek opnieuw.",
+ "asset_offline_description": "Deze externe asset is niet meer op de schijf te vinden. Neem contact op met de Immich beheerder voor hulp.",
"asset_skipped": "Overgeslagen",
+ "asset_skipped_in_trash": "In prullenbak",
"asset_uploaded": "Geüpload",
"asset_uploading": "Uploaden...",
"assets": "Assets",
@@ -394,7 +420,7 @@
"assets_moved_to_trash_count": "{count, plural, one {# asset} other {# assets}} verplaatst naar prullenbak",
"assets_permanently_deleted_count": "{count, plural, one {# asset} other {# assets}} permanent verwijderd",
"assets_removed_count": "{count, plural, one {# asset} other {# assets}} verwijderd",
- "assets_restore_confirmation": "Weet je zeker dat je alle verwijderde assets wilt herstellen? Je kunt deze actie niet ongedaan maken!",
+ "assets_restore_confirmation": "Weet je zeker dat je alle verwijderde assets wilt herstellen? Je kunt deze actie niet ongedaan maken! Offline assets kunnen op deze manier niet worden hersteld.",
"assets_restored_count": "{count, plural, one {# asset} other {# assets}} hersteld",
"assets_trashed_count": "{count, plural, one {# asset} other {# assets}} naar prullenbak verplaatst",
"assets_were_part_of_album_count": "{count, plural, one {Asset was} other {Assets waren}} al onderdeel van het album",
@@ -405,6 +431,7 @@
"birthdate_saved": "Geboortedatum succesvol opgeslagen",
"birthdate_set_description": "De geboortedatum wordt gebruikt om de leeftijd van deze persoon op het moment van de foto te berekenen.",
"blurred_background": "Vervaagde achtergrond",
+ "bugs_and_feature_requests": "Bugs & functieverzoeken",
"build": "Build",
"build_image": "Build image",
"bulk_delete_duplicates_confirmation": "Weet je zeker dat je {count, plural, one {# duplicate asset} other {# duplicate assets}} in bulk wilt verwijderen? Dit zal de grootste asset van elke groep behouden en alle andere duplicaten permanent verwijderen. Je kunt deze actie niet ongedaan maken!",
@@ -441,9 +468,11 @@
"clear_all_recent_searches": "Wis alle recente zoekopdrachten",
"clear_message": "Bericht wissen",
"clear_value": "Waarde wissen",
+ "clockwise": "Rechtsom",
"close": "Sluiten",
"collapse": "Inklappen",
"collapse_all": "Alles inklappen",
+ "color": "Kleur",
"color_theme": "Kleurthema",
"comment_deleted": "Opmerking verwijderd",
"comment_options": "Opties voor opmerkingen",
@@ -477,6 +506,8 @@
"create_new_person": "Nieuwe persoon aanmaken",
"create_new_person_hint": "Geselecteerde assets toewijzen aan een nieuwe persoon",
"create_new_user": "Nieuwe gebruiker aanmaken",
+ "create_tag": "Tag aanmaken",
+ "create_tag_description": "Maak een nieuwe tag. Voor geneste tags, voer het volledige pad van de tag in, inclusief schuine strepen.",
"create_user": "Gebruiker aanmaken",
"created": "Aangemaakt",
"current_device": "Huidig apparaat",
@@ -500,13 +531,17 @@
"delete_library": "Verwijder bibliotheek",
"delete_link": "Verwijder link",
"delete_shared_link": "Verwijder gedeelde link",
+ "delete_tag": "Tag verwijderen",
+ "delete_tag_confirmation_prompt": "Weet je zeker dat je de tag {tagName} wilt verwijderen?",
"delete_user": "Verwijder gebruiker",
"deleted_shared_link": "Gedeelde link verwijderd",
+ "deletes_missing_assets": "Verwijdert assets die ontbreken op de schijf",
"description": "Beschrijving",
"details": "Details",
"direction": "Richting",
"disabled": "Uitgeschakeld",
"disallow_edits": "Geen bewerkingen toestaan",
+ "discord": "Discord",
"discover": "Zoeken",
"dismiss_all_errors": "Negeer alle fouten",
"dismiss_error": "Negeer fout",
@@ -515,8 +550,11 @@
"display_original_photos": "Toon originele foto's",
"display_original_photos_setting_description": "Geef de voorkeur aan het weergeven van de originele foto bij het bekijken van een asset in plaats van thumbnails wanneer de originele asset webcompatibel is. Dit kan resulteren in lagere weergavesnelheid van foto's.",
"do_not_show_again": "Laat dit bericht niet meer zien",
+ "documentation": "Documentatie",
"done": "Klaar",
"download": "Downloaden",
+ "download_include_embedded_motion_videos": "Ingesloten video's",
+ "download_include_embedded_motion_videos_description": "Voeg video's toe die ingesloten zijn in bewegende foto's als een apart bestand",
"download_settings": "Downloaden",
"download_settings_description": "Beheer instellingen voor het downloaden van assets",
"downloading": "Downloaden",
@@ -546,10 +584,15 @@
"edit_location": "Locatie bewerken",
"edit_name": "Naam bewerken",
"edit_people": "Mensen bewerken",
+ "edit_tag": "Tag bewerken",
"edit_title": "Titel bewerken",
"edit_user": "Gebruiker bewerken",
"edited": "Bijgewerkt",
"editor": "Bewerker",
+ "editor_close_without_save_prompt": "De wijzigingen worden niet opgeslagen",
+ "editor_close_without_save_title": "Editor sluiten?",
+ "editor_crop_tool_h2_aspect_ratios": "Beeldverhoudingen",
+ "editor_crop_tool_h2_rotation": "Rotatie",
"email": "E-mailadres",
"empty": "",
"empty_album": "Leeg album",
@@ -639,6 +682,7 @@
"unable_to_get_comments_number": "Kan het aantal opmerkingen niet ophalen",
"unable_to_get_shared_link": "Kan gedeelde link niet ophalen",
"unable_to_hide_person": "Kan persoon niet verbergen",
+ "unable_to_link_motion_video": "Kan bewegende video niet verbinden",
"unable_to_link_oauth_account": "Kan OAuth account niet koppelen",
"unable_to_load_album": "Kan album niet laden",
"unable_to_load_asset_activity": "Kan asset activiteit niet laden",
@@ -655,8 +699,8 @@
"unable_to_remove_api_key": "Kan API sleutel niet verwijderen",
"unable_to_remove_assets_from_shared_link": "Kan assets niet verwijderen uit gedeelde link",
"unable_to_remove_comment": "",
+ "unable_to_remove_deleted_assets": "Kan offline bestanden niet verwijderen",
"unable_to_remove_library": "Kan bibliotheek niet verwijderen",
- "unable_to_remove_offline_files": "Kan offline bestanden niet verwijderen",
"unable_to_remove_partner": "Kan partner niet verwijderen",
"unable_to_remove_reaction": "Kan reactie niet verwijderen",
"unable_to_remove_user": "",
@@ -679,6 +723,7 @@
"unable_to_submit_job": "Kan taak niet uitvoeren",
"unable_to_trash_asset": "Kan asset niet naar prullenbak verplaatsen",
"unable_to_unlink_account": "Kan account niet ontkoppelen",
+ "unable_to_unlink_motion_video": "Kan bewegende video niet los maken",
"unable_to_update_album_cover": "Kan album cover niet bijwerken",
"unable_to_update_album_info": "Kan albumgegevens niet bijwerken",
"unable_to_update_library": "Kan bibliotheek niet bijwerken",
@@ -699,6 +744,7 @@
"expired": "Verlopen",
"expires_date": "Verloopt {date}",
"explore": "Verkennen",
+ "explorer": "Verkenner",
"export": "Exporteren",
"export_as_json": "Exporteren als JSON",
"extension": "Extensie",
@@ -712,6 +758,8 @@
"feature": "",
"feature_photo_updated": "Uitgelichte afbeelding bijgewerkt",
"featurecollection": "",
+ "features": "Functies",
+ "features_setting_description": "Beheer de app functies",
"file_name": "Bestandsnaam",
"file_name_or_extension": "Bestandsnaam of extensie",
"filename": "Bestandsnaam",
@@ -720,6 +768,8 @@
"filter_people": "Filter op mensen",
"find_them_fast": "Vind ze snel op naam door te zoeken",
"fix_incorrect_match": "Onjuiste overeenkomst corrigeren",
+ "folders": "Mappen",
+ "folders_feature_description": "Bladeren door de mapweergave van de foto's en video's op het bestandssysteem",
"force_re-scan_library_files": "Forceer herscan van alle bibliotheekbestanden",
"forward": "Vooruit",
"general": "Algemeen",
@@ -819,6 +869,7 @@
"license_trial_info_4": "Overweeg een licentie te kopen om de verdere ontwikkeling van de service te ondersteunen",
"light": "Licht",
"like_deleted": "Like verwijderd",
+ "link_motion_video": "verbind bewegende video",
"link_options": "Opties voor link",
"link_to_oauth": "Koppel OAuth",
"linked_oauth_account": "Gekoppeld OAuth account",
@@ -837,6 +888,7 @@
"look": "Uiterlijk",
"loop_videos": "Video's herhalen",
"loop_videos_description": "Inschakelen om video's automatisch te herhalen in de detailweergave.",
+ "main_branch_warning": "U gebruikt een ontwikkelingsversie. Wij raden u ten zeerste aan een releaseversie te gebruiken!",
"make": "Merk",
"manage_shared_links": "Beheer gedeelde links",
"manage_sharing_with_partners": "Beheer delen met partners",
@@ -906,12 +958,14 @@
"notifications": "Meldingen",
"notifications_setting_description": "Beheer meldingen",
"oauth": "OAuth",
+ "official_immich_resources": "Officiële Immich bronnen",
"offline": "Offline",
"offline_paths": "Offline paden",
"offline_paths_description": "Deze resultaten kunnen te wijten zijn aan het handmatig verwijderen van bestanden die geen deel uitmaken van een externe bibliotheek.",
"ok": "Ok",
"oldest_first": "Oudste eerst",
"onboarding": "Onboarding",
+ "onboarding_privacy_description": "De volgende (optionele) functies zijn afhankelijk van externe services en kunnen op elk moment worden uitgeschakeld in de beheerdersinstellingen.",
"onboarding_storage_template_description": "Wanneer ingeschakeld, zal deze functie bestanden automatisch organiseren gebaseerd op een gebruiker-definieerd template. Gezien de stabiliteitsproblemen is de functie standaard uitgeschakeld. Voor meer informatie, bekijk de [documentatie].",
"onboarding_theme_description": "Kies een kleurenthema voor de applicatie. Dit kun je later wijzigen in je instellingen.",
"onboarding_welcome_description": "Laten we de applicatie instellen met enkele veelgebruikte instellingen.",
@@ -919,7 +973,8 @@
"online": "Online",
"only_favorites": "Alleen favorieten",
"only_refreshes_modified_files": "Vernieuwt alleen gewijzigde bestanden",
- "open_in_openstreetmap": "Openen met OpenStreetMap",
+ "open_in_map_view": "Openen in kaartweergave",
+ "open_in_openstreetmap": "Openen in OpenStreetMap",
"open_the_search_filters": "Open de zoekfilters",
"options": "Opties",
"or": "of",
@@ -953,6 +1008,7 @@
"pending": "In behandeling",
"people": "Mensen",
"people_edits_count": "{count, plural, one {# persoon} other {# mensen}} bijgewerkt",
+ "people_feature_description": "Bladeren door foto's en video's gegroepeerd op personen",
"people_sidebar_description": "Toon een link naar Mensen in de zijbalk",
"perform_library_tasks": "",
"permanent_deletion_warning": "Waarschuwing voor permanent verwijderen",
@@ -985,10 +1041,11 @@
"previous_memory": "Vorige herinnering",
"previous_or_next_photo": "Vorige of volgende foto",
"primary": "Primair",
+ "privacy": "Privacy",
"profile_image_of_user": "Profielfoto van {user}",
"profile_picture_set": "Profielfoto ingesteld.",
"public_album": "Openbaar album",
- "public_share": "Publieke deellink",
+ "public_share": "Openbare deellink",
"purchase_account_info": "Supporter",
"purchase_activated_subtitle": "Bedankt voor het ondersteunen van Immich en open-source software",
"purchase_activated_time": "Geactiveerd op {date, date}",
@@ -1022,6 +1079,10 @@
"purchase_server_title": "Server",
"purchase_settings_server_activated": "De productcode van de server wordt beheerd door de beheerder",
"range": "",
+ "rating": "Ster waardering",
+ "rating_clear": "Waardering verwijderen",
+ "rating_count": "{count, plural, one {# ster} other {# sterren}}",
+ "rating_description": "De EXIF-waardering weergeven in het infopaneel",
"raw": "",
"reaction_options": "Reactie opties",
"read_changelog": "Lees wijzigingen",
@@ -1033,11 +1094,13 @@
"recent_searches": "Recente zoekopdrachten",
"refresh": "Vernieuwen",
"refresh_encoded_videos": "Vernieuw gecodeerde video's",
+ "refresh_faces": "Vernieuw gezichten",
"refresh_metadata": "Vernieuw metadata",
"refresh_thumbnails": "Vernieuw thumbnails",
"refreshed": "Verniewd",
- "refreshes_every_file": "Vernieuwt elk bestand",
+ "refreshes_every_file": "Vernieuwt alle bestaande en nieuwe bestanden",
"refreshing_encoded_video": "Gecodeerde video aan het vernieuwen",
+ "refreshing_faces": "Gezichten aan het vernieuwen",
"refreshing_metadata": "Metadata aan het vernieuwen",
"regenerating_thumbnails": "Thumbnails opnieuw aan het genereren",
"remove": "Verwijderen",
@@ -1045,15 +1108,16 @@
"remove_assets_shared_link_confirmation": "Weet je zeker dat je {count, plural, one {# asset} other {# assets}} uit deze gedeelde link wilt verwijderen?",
"remove_assets_title": "Assets verwijderen?",
"remove_custom_date_range": "Aangepast datumbereik verwijderen",
+ "remove_deleted_assets": "Verwijder offline bestanden",
"remove_from_album": "Verwijder uit album",
"remove_from_favorites": "Verwijderen uit favorieten",
"remove_from_shared_link": "Verwijderen uit gedeelde link",
- "remove_offline_files": "Verwijder offline bestanden",
"remove_user": "Gebruiker verwijderen",
"removed_api_key": "API sleutel verwijderd: {name}",
"removed_from_archive": "Verwijderd uit archief",
"removed_from_favorites": "Verwijderd uit favorieten",
"removed_from_favorites_count": "{count, plural, other {# verwijderd}} uit favorieten",
+ "removed_tagged_assets": "Tag verwijderd van {count, plural, one {# asset} other {# assets}}",
"rename": "Hernoemen",
"repair": "Repareren",
"repair_no_results_message": "Niet bijgehouden en ontbrekende bestanden zullen hier verschijnen",
@@ -1085,6 +1149,7 @@
"say_something": "Zeg iets",
"scan_all_libraries": "Scan alle bibliotheken",
"scan_all_library_files": "Herscan alle bibliotheekbestanden",
+ "scan_library": "Scannen",
"scan_new_library_files": "Scan nieuwe bibliotheekbestanden",
"scan_settings": "Scaninstellingen",
"scanning_for_album": "Scannen voor album...",
@@ -1100,9 +1165,12 @@
"search_for_existing_person": "Zoek naar bestaande persoon",
"search_no_people": "Geen mensen",
"search_no_people_named": "Geen mensen genaamd \"{name}\"",
+ "search_options": "Zoekopties",
"search_people": "Zoek mensen",
"search_places": "Zoek plaatsen",
+ "search_settings": "Zoek instellingen",
"search_state": "Zoek staat...",
+ "search_tags": "Tags zoeken...",
"search_timezone": "Zoek tijdzone...",
"search_type": "Type zoekopdracht",
"search_your_photos": "Foto's doorzoeken",
@@ -1144,6 +1212,7 @@
"shared_by_user": "Gedeeld door {user}",
"shared_by_you": "Gedeeld door jou",
"shared_from_partner": "Foto's van {partner}",
+ "shared_link_options": "Opties voor gedeelde links",
"shared_links": "Gedeelde links",
"shared_photos_and_videos_count": "{assetCount, plural, other {# gedeelde foto's & video's.}}",
"shared_with_partner": "Gedeeld met {partner}",
@@ -1152,6 +1221,7 @@
"sharing_sidebar_description": "Toon een link naar Delen in de zijbalk",
"shift_to_permanent_delete": "druk op ⇧ om assets permanent te verwijderen",
"show_album_options": "Toon albumopties",
+ "show_albums": "Toon albums",
"show_all_people": "Toon alle mensen",
"show_and_hide_people": "Toon & verberg mensen",
"show_file_location": "Toon bestandslocatie",
@@ -1166,13 +1236,18 @@
"show_person_options": "Toon persoonopties",
"show_progress_bar": "Toon voortgangsbalk",
"show_search_options": "Zoekopties weergeven",
+ "show_slideshow_transition": "Diavoorstellingsovergang tonen",
"show_supporter_badge": "Supporter badge",
"show_supporter_badge_description": "Toon een supporterbadge",
"shuffle": "Willekeurig",
+ "sidebar": "Zijbalk",
+ "sidebar_display_description": "Toon een link naar deze pagina in de zijbalk",
"sign_out": "Uitloggen",
"sign_up": "Registreren",
"size": "Grootte",
"skip_to_content": "Doorgaan naar inhoud",
+ "skip_to_folders": "Doorgaan naar mappen",
+ "skip_to_tags": "Doorgaan naar tags",
"slideshow": "Diavoorstelling",
"slideshow_settings": "Diavoorstelling instellingen",
"sort_albums_by": "Sorteer albums op...",
@@ -1184,6 +1259,8 @@
"sort_title": "Titel",
"source": "Bron",
"stack": "Stapel",
+ "stack_duplicates": "Stapel duplicaten",
+ "stack_select_one_photo": "Selecteer één primaire foto voor de stapel",
"stack_selected_photos": "Geselecteerde foto's stapelen",
"stacked_assets_count": "{count, plural, one {# asset} other {# assets}} gestapeld",
"stacktrace": "Stacktrace",
@@ -1201,22 +1278,36 @@
"submit": "Verzenden",
"suggestions": "Suggesties",
"sunrise_on_the_beach": "Zonsopkomst op het strand",
+ "support": "Ondersteuning",
+ "support_and_feedback": "Ondersteuning & feedback",
+ "support_third_party_description": "Je Immich installatie is door een derde partij samengesteld. Problemen die je ervaart, kunnen door dat pakket veroorzaakt zijn. Meld problemen in eerste instantie bij hen via de onderstaande links.",
"swap_merge_direction": "Wissel richting voor samenvoegen om",
"sync": "Sync",
+ "tag": "Tag",
+ "tag_assets": "Assets taggen",
+ "tag_created": "Tag aangemaakt: {tag}",
+ "tag_feature_description": "Bladeren door foto's en video's gegroepeerd op tags",
+ "tag_not_found_question": "Kun je een tag niet vinden? Maak een nieuwe tag.",
+ "tag_updated": "Tag bijgewerkt: {tag}",
+ "tagged_assets": "{count, plural, one {# asset} other {# assets}} getagd",
+ "tags": "Tags",
"template": "Template",
"theme": "Thema",
"theme_selection": "Thema selectie",
"theme_selection_description": "Stel het thema automatisch in op licht of donker op basis van de systeemvoorkeuren van je browser",
"they_will_be_merged_together": "Zij zullen worden samengevoegd",
+ "third_party_resources": "Bronnen van derden",
"time_based_memories": "Tijdgebaseerde herinneringen",
"timezone": "Tijdzone",
"to_archive": "Archiveren",
"to_change_password": "Wijzig wachtwoord",
"to_favorite": "Toevoegen aan favorieten",
"to_login": "Inloggen",
+ "to_parent": "Ga naar hoofdmap",
+ "to_root": "Naar hoofdmap",
"to_trash": "Prullenbak",
"toggle_settings": "Zichtbaarheid instellingen wisselen",
- "toggle_theme": "Thema wisselen",
+ "toggle_theme": "Donker thema toepassen",
"toggle_visibility": "Zichtbaarheid wisselen",
"total_usage": "Totaal gebruik",
"trash": "Prullenbak",
@@ -1235,9 +1326,11 @@
"unknown_album": "Onbekend album",
"unknown_year": "Onbekend jaar",
"unlimited": "Onbeperkt",
+ "unlink_motion_video": "Maak bewegende video los",
"unlink_oauth": "Ontkoppel OAuth",
"unlinked_oauth_account": "OAuth account ontkoppeld",
"unnamed_album": "Naamloos album",
+ "unnamed_album_delete_confirmation": "Weet je zeker dat je dit album wilt verwijderen?",
"unnamed_share": "Naamloze deellink",
"unsaved_change": "Niet-opgeslagen wijziging",
"unselect_all": "Alles deselecteren",
@@ -1277,6 +1370,8 @@
"version": "Versie",
"version_announcement_closing": "Je vriend, Alex",
"version_announcement_message": "Hallo vriend, er is een nieuwe versie van de applicatie beschikbaar. Neem de tijd om de release notes te bekijken en zorg ervoor dat je docker-compose.yml
en .env
up-to-date zijn om misconfiguraties te voorkomen, vooral als je WatchTower of een andere automatische update-mechanisme gebruikt.",
+ "version_history": "Versiegeschiedenis",
+ "version_history_item": "{version} geïnstalleerd op {date}",
"video": "Video",
"video_hover_setting": "Speel video thumbnail af bij hoveren",
"video_hover_setting_description": "Speel video thumbnail af wanneer de muis over het item beweegt. Zelfs wanneer uitgeschakeld, kan het afspelen worden gestart door de muis over het afspeelpictogram te bewegen.",
@@ -1286,6 +1381,7 @@
"view_album": "Bekijk album",
"view_all": "Bekijk alle",
"view_all_users": "Bekijk alle gebruikers",
+ "view_in_timeline": "Bekijk in tijdlijn",
"view_links": "Links bekijken",
"view_next_asset": "Bekijk volgende asset",
"view_previous_asset": "Bekijk vorige asset",
diff --git a/web/src/lib/i18n/pl.json b/i18n/pl.json
similarity index 88%
rename from web/src/lib/i18n/pl.json
rename to i18n/pl.json
index 6b2fe85a9b..26b89008a7 100644
--- a/web/src/lib/i18n/pl.json
+++ b/i18n/pl.json
@@ -1,10 +1,10 @@
{
"about": "O aplikacji",
"account": "Konto",
- "account_settings": "Ustawienia Konta",
+ "account_settings": "Ustawienia konta",
"acknowledge": "Rozumiem",
"action": "Akcja",
- "actions": "Akcje",
+ "actions": "Akcje/i",
"active": "Aktywne",
"activity": "Aktywność",
"activity_changed": "Aktywność jest {enabled, select, true {włączona} other {wyłączona}}",
@@ -15,7 +15,7 @@
"add_a_title": "Dodaj tytuł",
"add_exclusion_pattern": "Dodaj wzór wykluczający",
"add_import_path": "Dodaj ścieżkę importu",
- "add_location": "Dodaj lokacje",
+ "add_location": "Dodaj lokalizację",
"add_more_users": "Dodaj więcej użytkowników",
"add_partner": "Dodaj partnera",
"add_path": "Dodaj ścieżkę",
@@ -25,9 +25,10 @@
"add_to_shared_album": "Dodaj do udostępnionego albumu",
"added_to_archive": "Dodano do archiwum",
"added_to_favorites": "Dodano do ulubionych",
- "added_to_favorites_count": "Dodano {count} do ulubionych",
+ "added_to_favorites_count": "Dodano {count, number} do ulubionych",
"admin": {
"add_exclusion_pattern_description": "Dodaj wzorce wykluczające. Wspierane są specjalne sekwencje (glob) *, ** oraz ?. Aby ignorować całą zawartość wszystkich folderów nazwanych \"Raw\", użyj \"**/Raw/**\". Aby ignorować wszystkie pliki kończące się na \".tif\", użyj \"**/*.tif\". Aby ignorować ścieżkę absolutną, użyj \"/ścieżka/do/ignorowania/**\".",
+ "asset_offline_description": "Ten zewnętrzny zasób biblioteki nie jest już dostępny na dysku i został przeniesiony do kosza. Jeśli plik został przeniesiony w obrębie biblioteki, sprawdź swoją oś czasu pod kątem nowego odpowiadającego zasobu. Aby przywrócić ten zasób, upewnij się, że ścieżka pliku poniżej jest dostępna dla Immich i przeskanuj bibliotekę.",
"authentication_settings": "Ustawienia Uwierzytelnienia",
"authentication_settings_description": "Zarządzaj hasłem, OAuth i innymi ustawienia uwierzytelnienia",
"authentication_settings_disable_all": "Czy jesteś pewny, że chcesz wyłączyć wszystkie metody logowania? Logowanie będzie całkowicie wyłączone.",
@@ -41,6 +42,7 @@
"confirm_email_below": "Aby potwierdzić, wpisz \"{email}\" poniżej",
"confirm_reprocess_all_faces": "Czy na pewno chcesz ponownie przetworzyć wszystkie twarze? Spowoduje to utratę nazwanych osób.",
"confirm_user_password_reset": "Czy na pewno chcesz zresetować hasło użytkownika {user}?",
+ "create_job": "Utwórz zadanie",
"crontab_guru": "Crontab Guru",
"disable_login": "Wyłącz logowanie",
"disabled": "Wyłączone",
@@ -49,27 +51,37 @@
"external_library_created_at": "Biblioteka zewnętrzna (stworzona dnia {date})",
"external_library_management": "Zarządzanie Bibliotekami Zewnętrznymi",
"face_detection": "Wykrywanie twarzy",
- "face_detection_description": "Wykrywanie twarzy w zasobach używając uczenia maszynowego. Twarze w filmach wykryte zostaną tylko jeżeli są widoczne w miniaturze. \"Wszystkie\" ponownie przetwarza wszystkie zasoby. \"Brakujące\" dodaje do kolejki tylko zasoby, które nie zostały jeszcze przetworzone. Wykryte twarze zostaną dodane do kolejki Rozpoznawania Twarzy, aby związać je z istniejącą osobą albo stworzyć nową osobę.",
+ "face_detection_description": "Wykrywanie twarzy w zasobach używając uczenia maszynowego. Twarze w filmach wykryte zostaną tylko jeżeli są widoczne w miniaturze. \"Wszystkie\" ponownie przetwarza wszystkie zasoby. \"Reset\" dodatkowo usuwa wszystkie bieżące dane twarzy. \"Brakujące\" dodaje do kolejki tylko zasoby, które nie zostały jeszcze przetworzone. Wykryte twarze zostaną dodane do kolejki Rozpoznawania Twarzy, aby związać je z istniejącą osobą albo stworzyć nową osobę.",
"facial_recognition_job_description": "Grupuj wykryte twarze. Ten krok uruchamiany jest po zakończeniu wykrywania twarzy. „Wszystkie” – ponownie kategoryzuje wszystkie twarze. „Brakujące” – kategoryzuje twarze, do których nie przypisano osoby.",
"failed_job_command": "Polecenie {command} nie powiodło się dla zadania: {job}",
"force_delete_user_warning": "UWAGA: Użytkownik i wszystkie zasoby użytkownika zostaną natychmiast trwale usunięte. Nie można tego cofnąć, a plików nie będzie można przywrócić.",
"forcing_refresh_library_files": "Wymuś skanowanie wszystkich pliki w bibliotece",
+ "image_format": "Format",
"image_format_description": "Użycie formatu WebP skutkuje utworzeniem plików o rozmiarze mniejszym niż w przypadku JPEG ale jego kodowanie trwa dłużej.",
"image_prefer_embedded_preview": "Preferuj podgląd wbudowany",
"image_prefer_embedded_preview_setting_description": "Jeśli to możliwe, używaj osadzonych podglądów w zdjęciach RAW jako danych wejściowych do przetwarzania obrazu. Może to zapewnić dokładniejsze kolory w przypadku niektórych obrazów, ale jakość podglądu zależy od aparatu, a obraz może zawierać więcej artefaktów kompresji.",
- "image_prefer_wide_gamut": "Preferuj szeroką przestrzeń barw",
+ "image_prefer_wide_gamut": "Preferuj szeroką paletę barw",
"image_prefer_wide_gamut_setting_description": "Do wyświetlania miniatur użyj wyświetlacza P3. Dzięki temu lepiej zachowuje się intensywność obrazów o dużej ilości kolorów, ale obrazy mogą wyglądać inaczej na starych urządzeniach ze starą wersją przeglądarki. Obrazy sRGB są zachowywane jako sRGB, aby uniknąć przesunięć kolorów.",
+ "image_preview_description": "Obraz średniej wielkości z wyciętymi metadanymi, używany podczas przeglądania pojedynczego zasobu i do uczenia maszynowego",
"image_preview_format": "Format podglądu",
+ "image_preview_quality_description": "Jakość podglądu od 1 do 100. Wyższa jest lepsza, ale powoduje większe pliki i może zmniejszyć responsywność aplikacji. Ustawienie niskiej wartości może wpłynąć na jakość uczenia maszynowego.",
"image_preview_resolution": "Rozdzielczość podglądu",
"image_preview_resolution_description": "Używane podczas przeglądania pojedynczego zdjęcia i do uczenia maszynowego. Wyższe rozdzielczości pozwalają zachować więcej szczegółów, ale kodowanie zajmuje więcej czasu, powoduje to też większe rozmiary plików i może zmniejszyć czas reakcji aplikacji.",
+ "image_preview_title": "Ustawienia podglądu",
"image_quality": "Jakość",
"image_quality_description": "Jakość obrazu od 1 do 100. Wyższe wartości pozwalają uzyskać lepszą jakość ale skutkują większym rozmiarem pliku. Ta opcja wpływa na Podgląd i Miniaturki.",
+ "image_resolution": "Rozdzielczość",
+ "image_resolution_description": "Wyższe rozdzielczości pozwalają zachować więcej szczegółów, ale wymagają dłuższego kodowania, mają większy rozmiar pliku i mogą spowalniać reakcję aplikacji.",
"image_settings": "Ustawienia Obrazu",
"image_settings_description": "Zarządzaj jakością i rozdzielczością generowanych obrazów",
+ "image_thumbnail_description": "Mała miniatura z wyciętymi metadanymi, używana podczas przeglądania grup zdjęć, takich jak główna oś czasu",
"image_thumbnail_format": "Format miniatury",
+ "image_thumbnail_quality_description": "Jakość miniatur od 1 do 100. Im wyższa, tym lepsza, ale powoduje to większy rozmiar plików i może spowolnić reakcję aplikacji.",
"image_thumbnail_resolution": "Rozdzielczość miniatury",
"image_thumbnail_resolution_description": "Używane podczas przeglądania grup zdjęć (głównej osi czasu, widoku albumu itp.). Wyższe rozdzielczości pozwalają zachować więcej szczegółów, ale wyświetlenie ich zajmuje więcej czasu, powoduje też zwiększenie rozmiaru plików i może zmniejszyć czas reakcji aplikacji.",
+ "image_thumbnail_title": "Ustawienia miniatur",
"job_concurrency": "{job} współbieżność",
+ "job_created": "Zadanie utworzone",
"job_not_concurrency_safe": "To zadanie nie może zostać wykonane w wielu wątkach.",
"job_settings": "Ustawienia Zadań",
"job_settings_description": "Zarządzaj współbieżnością zadań",
@@ -129,6 +141,7 @@
"map_enable_description": "Włącz funkcję mapy",
"map_gps_settings": "Mapa i ustawienia lokalizacji",
"map_gps_settings_description": "Zarządzaj mapą oraz ustawieniami odwróconego geokodowania",
+ "map_implications": "Funkcja mapy opiera się na zewnętrznej usłudze kafelków (tiles.immich.cloud)",
"map_light_style": "Styl jasny",
"map_manage_reverse_geocoding_settings": "Zarządzaj Ustawieniem Odwrotne Geokodowanie",
"map_reverse_geocoding": "Odwrotne Geokodowanie",
@@ -138,7 +151,11 @@
"map_settings_description": "Zarządzaj ustawieniami mapy",
"map_style_description": "URL do pliku style.json z motywem mapy",
"metadata_extraction_job": "Wyodrębnij metadane",
- "metadata_extraction_job_description": "Wyodrębnij informacje o metadanych z każdego zasobu, takie jak GPS i rozdzielczość",
+ "metadata_extraction_job_description": "Wyodrębnij informacje o metadanych z każdego zasobu, takie jak GPS, twarze i rozdzielczość",
+ "metadata_faces_import_setting": "Włącz import twarzy",
+ "metadata_faces_import_setting_description": "Zaimportuj twarze z danych EXIF obrazu i plików towarzyszących",
+ "metadata_settings": "Ustawienia Metadanych",
+ "metadata_settings_description": "Zarządzaj ustawieniami metadanych",
"migration_job": "Migracja",
"migration_job_description": "Przenieś miniatury zasobów i twarzy do najnowszej struktury folderów",
"no_paths_added": "Nie dodano ścieżki",
@@ -147,7 +164,7 @@
"note_cannot_be_changed_later": "UWAŻAJ: Nie można tego później zmienić!",
"note_unlimited_quota": "Wpisz by wyłączyć limit",
"notification_email_from_address": "Z adresu",
- "notification_email_from_address_description": "Adres e-mail nadawcy, na przykład: „Immich Photo Server {label}
to jest etykieta przechowywania użytkownika",
"system_settings": "Ustawienia Systemowe",
+ "tag_cleanup_job": "Porządkowanie etykiet",
"theme_custom_css_settings": "Własny CSS",
"theme_custom_css_settings_description": "Właśny CSS pozwala na zmianę wyglądu aplikacji Immich.",
"theme_settings": "Ustawienia Motywu",
@@ -250,7 +271,7 @@
"transcoding_accepted_audio_codecs": "Akceptowane kodeki audio",
"transcoding_accepted_audio_codecs_description": "Wybierz, które kodeki audio nie muszą być transkodowane. Używane tylko w przypadku niektórych zasad transkodowania.",
"transcoding_accepted_containers": "Akceptowalne kontenery",
- "transcoding_accepted_containers_description": "Wybierz które formaty kontenera nie muszą zostać przerobione na MP4. Użyte tylko w wybranych zasadach transkodowania",
+ "transcoding_accepted_containers_description": "Wybierz które formaty kontenera nie muszą zostać przerobione na MP4. Użyte tylko w wybranych zasadach transkodowania.",
"transcoding_accepted_video_codecs": "Akceptowane kodeki wideo",
"transcoding_accepted_video_codecs_description": "Wybierz, które kodeki wideo nie muszą być transkodowane. Używane tylko w przypadku niektórych zasad transkodowania.",
"transcoding_advanced_options_description": "Opcje, których większość użytkowników nie powinna zmieniać",
@@ -266,7 +287,7 @@
"transcoding_hardware_acceleration": "Przyspieszenie Sprzętowe",
"transcoding_hardware_acceleration_description": "Eksperymentalny; znacznie szybszy, ale będzie miał niższą jakość przy tej samej szybkości transmisji",
"transcoding_hardware_decoding": "Dekodowanie sprzętowe",
- "transcoding_hardware_decoding_setting_description": "Dotyczy tylko NVENC, QSV i RKMPP. Umożliwia całkowite przyspieszenie sprzętowe zamiast tylko przyspieszania kodowania. Może nie działać we wszystkich filmach.",
+ "transcoding_hardware_decoding_setting_description": "Umożliwia całkowite przyspieszenie sprzętowe zamiast tylko przyspieszania kodowania. Może nie działać we wszystkich filmach.",
"transcoding_hevc_codec": "Kodek HEVC",
"transcoding_max_b_frames": "Maksymalne klatki B (B-Frames)",
"transcoding_max_b_frames_description": "Wyższe wartości poprawiają wydajność kompresji, ale spowalniają kodowanie. Może nie być kompatybilny z akceleracją sprzętową na starszych urządzeniach. 0 wyłącza klatki B (B-frames), natomiast -1 ustawia tę wartość automatycznie.",
@@ -307,6 +328,7 @@
"trash_settings_description": "Zarządzaj ustawieniami kosza",
"untracked_files": "Nieśledzone pliki",
"untracked_files_description": "Pliki te nie są śledzone przez aplikację. Mogą być wynikiem nieudanych przeniesień, przerwanego przesyłania lub pozostawienia z powodu błędu",
+ "user_cleanup_job": "Porządkowanie użytkownika",
"user_delete_delay": "Konto {user} oraz jego zasoby zostaną zaplanowane do trwałego usunięcia za {delay, plural, one {# dzień} few {# dni} many {# dni} other {# dni}}.",
"user_delete_delay_settings": "Usuń opóźnienie",
"user_delete_delay_settings_description": "Liczba dni po usunięciu, po której następuje trwałe usunięcie konta użytkownika i zasobów. Zadanie usuwania użytkowników jest uruchamiane o północy w celu sprawdzenia, czy użytkownicy są gotowi do usunięcia. Zmiany tego ustawienia zostaną sprawdzone przy następnym wykonaniu.",
@@ -320,7 +342,8 @@
"user_settings": "Ustawienia Użytkownika",
"user_settings_description": "Zarządzaj ustawieniami użytkownika",
"user_successfully_removed": "Użytkownik {email} został usunięty pomyślnie.",
- "version_check_enabled_description": "Włącz cykliczne sprawdzanie nowych wersji na GitHubie",
+ "version_check_enabled_description": "Włącz sprawdzanie wersji",
+ "version_check_implications": "Funkcja sprawdzania wersji opiera się na okresowej komunikacji z github.com",
"version_check_settings": "Sprawdzenie Wersji",
"version_check_settings_description": "Włącz/wyłącz powiadomienie o nowej wersji",
"video_conversion_job": "Transkodowanie wideo",
@@ -336,7 +359,8 @@
"album_added": "Album udostępniony",
"album_added_notification_setting_description": "Otrzymaj powiadomienie email, gdy zostanie Ci udostępniony album",
"album_cover_updated": "Okładka albumu została zaktualizowana",
- "album_delete_confirmation": "Na pewno chcesz usunąć album {album}?\nJeśli został udostępniony, inni użytkownicy nie będą w stanie go obejrzeć.",
+ "album_delete_confirmation": "Czy na pewno chcesz usunąć album {album}?",
+ "album_delete_confirmation_description": "Jeżeli album jest udostępniany, inny stracą do niego dostęp.",
"album_info_updated": "Szczegóły albumu zostały zaktualizowane",
"album_leave": "Opuścić album?",
"album_leave_confirmation": "Na pewno chcesz opuścić {album}?",
@@ -360,6 +384,7 @@
"allow_edits": "Pozwól edytować",
"allow_public_user_to_download": "Zezwól użytkownikowi publicznemu na pobieranie",
"allow_public_user_to_upload": "Zezwól użytkownikowi publicznemu na przesyłanie plików",
+ "anti_clockwise": "Przeciwnie do ruchu wskazówek zegara",
"api_key": "Klucz API",
"api_key_description": "Widzisz tę wartość po raz pierwszy i ostatni, więc lepiej ją skopiuj przed zamknięciem okna.",
"api_key_empty": "Twój Klucz API nie powinien być pusty",
@@ -368,8 +393,8 @@
"appears_in": "W albumach",
"archive": "Archiwum",
"archive_or_unarchive_photo": "Dodaj lub usuń zasób z archiwum",
- "archive_size": "Maksymalny Rozmiar Archiwum",
- "archive_size_description": "Podziel pobierane pliki na więcej niż jedno archiwum, jeżeli rozmiar archiwum przekroczy tą wartość w GiB",
+ "archive_size": "Rozmiar archiwum",
+ "archive_size_description": "Podziel pobierane pliki na więcej niż jedno archiwum, jeżeli rozmiar archiwum przekroczy tę wartość w GiB",
"archived": "Zarchiwizowano",
"archived_count": "{count, plural, other {Zarchiwizowano #}}",
"are_these_the_same_person": "Czy to jedna i ta sama osoba?",
@@ -381,8 +406,9 @@
"asset_has_unassigned_faces": "Zasób ma nieprzypisane twarze",
"asset_hashing": "Hashowanie...",
"asset_offline": "Zasób niedostępny",
- "asset_offline_description": "Ten zasób jest offline. Immich nie może uzyskać dostępu do jego lokalizacji pliku. Upewnij się, że zasób jest dostępny, a następnie ponownie zeskanuj bibliotekę.",
+ "asset_offline_description": "Ten zewnętrzny zasób nie jest już dostępny na dysku. Aby uzyskać pomoc, skontaktuj się z administratorem Immich.",
"asset_skipped": "Pominięto",
+ "asset_skipped_in_trash": "W koszu",
"asset_uploaded": "Przesłano",
"asset_uploading": "Przesyłanie...",
"assets": "Zasoby",
@@ -394,7 +420,7 @@
"assets_moved_to_trash_count": "Przeniesiono {count, plural, one {# zasób} few {# zasoby} many {# zasobów} other {# zasobów}} do kosza",
"assets_permanently_deleted_count": "Trwale usunięto {count, plural, one {# zasób} few {# zasoby} many {# zasobów} other {# zasobów}}",
"assets_removed_count": "Usunięto {count, plural, one {# zasób} few {# zasoby} many {# zasobów} other {# zasobów}}",
- "assets_restore_confirmation": "Na pewno chcesz przywrócić wszystkie zasoby z kosza? Nie da się tego cofnąć!",
+ "assets_restore_confirmation": "Na pewno chcesz przywrócić wszystkie zasoby z kosza? Nie da się tego cofnąć! Należy pamiętać, że w ten sposób nie można przywrócić zasobów offline.",
"assets_restored_count": "Przywrócono {count, plural, one {# zasób} few {# zasoby} many {# zasobów} other {# zasobów}}",
"assets_trashed_count": "Wrzucono do kosza {count, plural, one {# zasób} few {# zasoby} many {# zasobów} other {# zasobów}}",
"assets_were_part_of_album_count": "{count, plural, one {Zasób był} few {Zasoby były} many {Zasobów było} other {Zasobów było}} już częścią albumu",
@@ -405,7 +431,8 @@
"birthdate_saved": "Data urodzenia zapisana pomyślnie",
"birthdate_set_description": "Data urodzenia jest używana do obliczenia wieku danej osoby podczas wykonania zdjęcia.",
"blurred_background": "Rozmyte tło",
- "build": "Build",
+ "bugs_and_feature_requests": "Błędy i prośby o funkcje",
+ "build": "Kompilacja",
"build_image": "Obraz Buildu",
"bulk_delete_duplicates_confirmation": "Czy na pewno chcesz trwale usunąć {count, plural, one {# zduplikowany zasób} few {# zduplikowane zasoby} many {# zduplikowanych zasobów} other {# zduplikowanych zasobów}}? Zostanie zachowany największy zasób z każdej grupy, a wszystkie pozostałe duplikaty zostaną trwale usunięte. Nie można cofnąć tej operacji!",
"bulk_keep_duplicates_confirmation": "Czy na pewno chcesz zachować {count, plural, one {# zduplikowany zasób} few {# zduplikowane zasoby} many {# zduplikowanych zasobów} other {# zduplikowanych zasobów}}? To spowoduje rozwiązanie wszystkich grup duplikatów bez usuwania czegokolwiek.",
@@ -441,9 +468,11 @@
"clear_all_recent_searches": "Usuń ostatnio wyszukiwane",
"clear_message": "Zamknij wiadomość",
"clear_value": "Wyczyść wartość",
+ "clockwise": "Zgodnie z ruchem wskazówek zegara",
"close": "Zamknij",
"collapse": "Zwiń",
"collapse_all": "Zwiń wszystko",
+ "color": "Kolor",
"color_theme": "Motyw kolorów",
"comment_deleted": "Usunięto komentarz",
"comment_options": "Opcje komentarza",
@@ -477,6 +506,8 @@
"create_new_person": "Stwórz nową osobę",
"create_new_person_hint": "Przypisz wybrane zasoby do nowej osoby",
"create_new_user": "Stwórz nowego użytkownika",
+ "create_tag": "Stwórz etykietę",
+ "create_tag_description": "Stwórz nową etykietę. Dla etykiet zagnieżdżonych, wprowadź pełną ścieżkę etykiety zawierającą ukośniki.",
"create_user": "Stwórz użytkownika",
"created": "Utworzono",
"current_device": "Obecne urządzenie",
@@ -500,13 +531,17 @@
"delete_library": "Usuń bibliotekę",
"delete_link": "Usuń link",
"delete_shared_link": "Usuń udostępniony link",
+ "delete_tag": "Usuń etykietę",
+ "delete_tag_confirmation_prompt": "Czy na pewno chcesz usunąć etykietę {tagName}?",
"delete_user": "Usuń użytkownika",
"deleted_shared_link": "Pomyślnie usunięto udostępniony link",
+ "deletes_missing_assets": "Usuwa brakujące zasoby z dysku",
"description": "Opis",
"details": "Szczegóły",
"direction": "Kierunek",
"disabled": "Wyłączone",
"disallow_edits": "Nie pozwalaj edytować",
+ "discord": "Discord",
"discover": "Odkryj",
"dismiss_all_errors": "Odrzuć wszystkie błędy",
"dismiss_error": "Odrzuć błąd",
@@ -515,8 +550,11 @@
"display_original_photos": "Wyświetlaj oryginalne zdjęcia",
"display_original_photos_setting_description": "Wyświetlając zdjęcia i filmy, preferuj oryginalny plik zamiast miniatur jeżeli jest działa on w przeglądarce. Może to skutkować wolniejszym ładowaniem zdjęć i filmów.",
"do_not_show_again": "Nie pokazuj więcej tej wiadomości",
+ "documentation": "Dokumentacja",
"done": "Gotowe",
"download": "Pobierz",
+ "download_include_embedded_motion_videos": "Osadzone filmy",
+ "download_include_embedded_motion_videos_description": "Dołącz filmy osadzone w ruchomych zdjęciach jako oddzielny plik",
"download_settings": "Pobieranie",
"download_settings_description": "Zarządzaj pobieraniem zasobów",
"downloading": "Pobieranie",
@@ -546,10 +584,15 @@
"edit_location": "Edytuj lokalizację",
"edit_name": "Edytuj imię",
"edit_people": "Edytuj osoby",
+ "edit_tag": "Edytuj etykietę",
"edit_title": "Edytuj Tytuł",
"edit_user": "Edytuj użytkownika",
"edited": "Edytowane",
"editor": "Edytor",
+ "editor_close_without_save_prompt": "Zmiany nie zostaną zapisane",
+ "editor_close_without_save_title": "Zamknąć edytor?",
+ "editor_crop_tool_h2_aspect_ratios": "Proporcje obrazu",
+ "editor_crop_tool_h2_rotation": "Obrót",
"email": "E-mail",
"empty": "",
"empty_album": "Pusty Album",
@@ -639,6 +682,7 @@
"unable_to_get_comments_number": "Nie udało się uzyskać liczby komentarzy",
"unable_to_get_shared_link": "Nie udało się uzyskać udostępnionego linku",
"unable_to_hide_person": "Ukrycie osoby nie powiodło się",
+ "unable_to_link_motion_video": "Nie można podłączyć ruchome wideo",
"unable_to_link_oauth_account": "Nie można powiązać konta OAuth",
"unable_to_load_album": "Ładowanie albumu nie powiodło się",
"unable_to_load_asset_activity": "Ładowanie aktywności nie powiodło się",
@@ -655,8 +699,8 @@
"unable_to_remove_api_key": "Usunięcie Klucza API nie powiodło się",
"unable_to_remove_assets_from_shared_link": "Nie można usunąć zasobów z udostępnionego linku",
"unable_to_remove_comment": "",
+ "unable_to_remove_deleted_assets": "Usunięcie niedostępnych plików nie powiodło się",
"unable_to_remove_library": "Usunięcie biblioteki nie powiodło się",
- "unable_to_remove_offline_files": "Usunięcie niedostępnych plików nie powiodło się",
"unable_to_remove_partner": "Nie można usunąć partnerów",
"unable_to_remove_reaction": "Usunięcie reakcji nie powiodło się",
"unable_to_remove_user": "",
@@ -679,6 +723,7 @@
"unable_to_submit_job": "Nie można przesłać zadania",
"unable_to_trash_asset": "Przeniesienie zasobu do kosza nie powiodło się",
"unable_to_unlink_account": "Odłączenie konta nie powiodło się",
+ "unable_to_unlink_motion_video": "Nie można odłączyć ruchomego wideo",
"unable_to_update_album_cover": "Nie można zaktualizować okładki albumu",
"unable_to_update_album_info": "Nie można zaktualizować informacji o albumie",
"unable_to_update_library": "Nie można zaktualizować biblioteki",
@@ -692,13 +737,14 @@
"every_night_at_midnight": "",
"every_night_at_twoam": "",
"every_six_hours": "",
- "exif": "Exif",
+ "exif": "Metadane EXIF",
"exit_slideshow": "Zamknij Pokaz Slajdów",
"expand_all": "Rozwiń wszystko",
"expire_after": "Wygasa po",
"expired": "Wygasły",
"expires_date": "Wygasa {date}",
"explore": "Przeglądaj",
+ "explorer": "Eksplorator",
"export": "Eksportuj",
"export_as_json": "Eksportuj jako JSON",
"extension": "Rozszerzenie",
@@ -712,6 +758,8 @@
"feature": "",
"feature_photo_updated": "Pomyślnie zmieniono główne zdjęcie",
"featurecollection": "",
+ "features": "Funkcje",
+ "features_setting_description": "Zarządzaj funkcjami aplikacji",
"file_name": "Nazwa pliku",
"file_name_or_extension": "Nazwie lub rozszerzeniu pliku",
"filename": "Nazwa pliku",
@@ -720,6 +768,8 @@
"filter_people": "Szukaj osoby",
"find_them_fast": "Wyszukuj szybciej przypisując nazwę",
"fix_incorrect_match": "Napraw nieprawidłowe dopasowanie",
+ "folders": "Foldery",
+ "folders_feature_description": "Przeglądanie zdjęć i filmów w widoku folderów",
"force_re-scan_library_files": "Wymuś ponowne przeskanowanie wszystkich plików biblioteki",
"forward": "Do przodu",
"general": "Ogólne",
@@ -743,7 +793,16 @@
"host": "Host",
"hour": "Godzina",
"image": "Zdjęcie",
- "image_alt_text_date": "dnia {date}",
+ "image_alt_text_date": "{isVideo, select, true {Wideo} other {Zdjęcie}} zrobione dnia {date}",
+ "image_alt_text_date_1_person": "{isVideo, select, true {Wideo} other {Zdjęcie}} zrobione z {person1} dnia {date}",
+ "image_alt_text_date_2_people": "{isVideo, select, true {Wideo} other {Zdjęcie}} zrobione z {person1} i {person2} dnia {date}",
+ "image_alt_text_date_3_people": "{isVideo, select, true {Wideo} other {Zdjęcie}} zrobione z {person1}, {person2} i {person3} dnia {date}",
+ "image_alt_text_date_4_or_more_people": "{isVideo, select, true {Wideo} other {Zdjęcie}} zrobione z {person1}, {person2} i {additionalCount, number} innymi dnia {date}",
+ "image_alt_text_date_place": "{isVideo, select, true {Wideo} other {Zdjęcie}} zrobione w {city}, {country} dnia {date}",
+ "image_alt_text_date_place_1_person": "{isVideo, select, true {Wideo} other {Zdjęcie}} zrobione w {city}, {country} z {person1} dnia {date}",
+ "image_alt_text_date_place_2_people": "{isVideo, select, true {Wideo} other {Zdjęcie}} zrobione w {city}, {country} z {person1} i {person2} dnia {date}",
+ "image_alt_text_date_place_3_people": "{isVideo, select, true {Wideo} other {Zdjęcie}} zrobione w {city}, {country} z {person1}, {person2} i {person3} dnia {date}",
+ "image_alt_text_date_place_4_or_more_people": "{isVideo, select, true {Wideo} other {Zdjęcie}} zrobione w {city}, {country} z {person1}, {person2} i {additionalCount, number} innymi dnia {date}",
"image_alt_text_people": "{count, plural, =1 {z {person1}} =2 {z {person1} i {person2}} =3 {z {person1}, {person2} i {person3}} other {z {person1}, {person2} i {others, number} innymi}}",
"image_alt_text_place": "w {city}, {country}",
"image_taken": "{isVideo, select, true {nagrany film} other {zrobione zdjęcie}}",
@@ -785,6 +844,7 @@
"library_options": "Opcje biblioteki",
"light": "Jasny",
"like_deleted": "Polubienie usunięte",
+ "link_motion_video": "Podłącz ruchome wideo",
"link_options": "Opcje linku",
"link_to_oauth": "Połącz z OAuth",
"linked_oauth_account": "Połączone konto OAuth",
@@ -803,6 +863,7 @@
"look": "Wygląd",
"loop_videos": "Powtarzaj filmy",
"loop_videos_description": "Włącz automatyczne zapętlanie wideo w przeglądarce szczegółów.",
+ "main_branch_warning": "Używasz wersji deweloperskiej. Rekomendujemy instalację stabilnej wersji aplikacji!",
"make": "Marka",
"manage_shared_links": "Zarządzaj udostępnionymi linkami",
"manage_sharing_with_partners": "Zarządzaj dzieleniem z partnerami",
@@ -872,18 +933,21 @@
"notifications": "Powiadomienia",
"notifications_setting_description": "Zarządzanie powiadomieniami",
"oauth": "OAuth",
+ "official_immich_resources": "Oficjalne zasoby Immicha",
"offline": "Offline",
"offline_paths": "Ścieżki offline",
"offline_paths_description": "Te wyniki mogą być spowodowane ręcznym usunięciem plików, które nie są częścią zewnętrznej biblioteki.",
"ok": "Ok",
"oldest_first": "Od najstarszych",
"onboarding": "Wdrożenie",
+ "onboarding_privacy_description": "Śledzenie (opcjonalne) funkcja opiera się na zewnętrznych usługach i może zostać wyłączona w dowolnym momencie w ustawieniach administracyjnych.",
"onboarding_theme_description": "Wybierz motyw kolorystyczny dla twojej instancji. Możesz go później zmienić w ustawieniach.",
"onboarding_welcome_description": "Przejdźmy do konfiguracji twojej instancji, ustawiając kilka powszechnych opcji.",
"onboarding_welcome_user": "Witaj, {user}",
"online": "Połączony",
"only_favorites": "Tylko ulubione",
"only_refreshes_modified_files": "Odświeża tylko zmodyfikowane pliki",
+ "open_in_map_view": "Otwórz w widoku mapy",
"open_in_openstreetmap": "Otwórz w OpenStreetMap",
"open_the_search_filters": "Otwórz filtry wyszukiwania",
"options": "Opcje",
@@ -918,6 +982,7 @@
"pending": "Oczekujące",
"people": "Osoby",
"people_edits_count": "Edytowano {count, plural, one {# osoba} few {# osoby} many {# osób} other {# osób}}",
+ "people_feature_description": "Przeglądanie zdjęć i filmów pogrupowanych według osób",
"people_sidebar_description": "Pokazuj link do Osób w panelu bocznym",
"perform_library_tasks": "",
"permanent_deletion_warning": "Ostrzeżenie o trwałym usunięciu",
@@ -943,19 +1008,20 @@
"play_or_pause_video": "Odtwórz lub wstrzymaj wideo",
"point": "",
"port": "Port",
- "preset": "Preset",
+ "preset": "Ustawienie",
"preview": "Podgląd",
"previous": "Poprzedni",
"previous_memory": "Poprzednie wspomnienie",
"previous_or_next_photo": "Poprzednie lub następne zdjęcie",
"primary": "Główny",
+ "privacy": "Prywatność",
"profile_image_of_user": "Zdjęcie profilowe {user}",
"profile_picture_set": "Zdjęcie profilowe ustawione.",
"public_album": "Publiczny album",
"public_share": "Udostępnienie publiczne",
"purchase_account_info": "Wspierający",
"purchase_activated_subtitle": "Dziękuję za wspieranie Immich i oprogramowania open-source",
- "purchase_activated_time": "Aktywowane dnia {date}",
+ "purchase_activated_time": "Aktywowane dnia {date, date}",
"purchase_activated_title": "Twój klucz został pomyślnie aktywowany",
"purchase_button_activate": "Aktywuj",
"purchase_button_buy": "Kup",
@@ -986,6 +1052,10 @@
"purchase_server_title": "Serwer",
"purchase_settings_server_activated": "Klucz produktu serwera jest zarządzany przez administratora",
"range": "",
+ "rating": "Ocena gwiazdkowa",
+ "rating_clear": "Wyczyść oceną",
+ "rating_count": "{count, plural, one {# gwiazdka} other {# gwiazdek}}",
+ "rating_description": "Wyświetl ocenę z EXIF w panelu informacji",
"raw": "",
"reaction_options": "Opcje reakcji",
"read_changelog": "Zobacz Zmiany",
@@ -997,11 +1067,13 @@
"recent_searches": "Ostatnie wyszukiwania",
"refresh": "Odśwież",
"refresh_encoded_videos": "Odśwież enkodowane wideo",
+ "refresh_faces": "Odśwież twarze",
"refresh_metadata": "Odśwież metadane",
"refresh_thumbnails": "Odśwież miniatury",
"refreshed": "Odświeżone",
- "refreshes_every_file": "Odświeża każdy plik",
+ "refreshes_every_file": "Ponownie odczytuje wszystkie istniejące i nowe pliki",
"refreshing_encoded_video": "Odświeżanie enkodowanych wideo",
+ "refreshing_faces": "Odświeżanie twarzy",
"refreshing_metadata": "Odświeżanie metadanych",
"regenerating_thumbnails": "Regenerowanie miniatur",
"remove": "Usuń",
@@ -1009,15 +1081,16 @@
"remove_assets_shared_link_confirmation": "Czy na pewno chcesz usunąć {count, plural, one {# zasób} other {# zasoby}} z tego udostępnionego linku?",
"remove_assets_title": "Usunąć zasoby?",
"remove_custom_date_range": "Usuń niestandardowy zakres dat",
+ "remove_deleted_assets": "Usuń Niedostępne Pliki",
"remove_from_album": "Usuń z albumu",
"remove_from_favorites": "Usuń z ulubionych",
"remove_from_shared_link": "Usuń z udostępnionego linku",
- "remove_offline_files": "Usuń Niedostępne Pliki",
"remove_user": "Usuń użytkownika",
"removed_api_key": "Usunięto Klucz API: {name}",
"removed_from_archive": "Usunięto z archiwum",
"removed_from_favorites": "Usunięto z ulubionych",
"removed_from_favorites_count": "{count, plural, other {Usunięto #}} z ulubionych",
+ "removed_tagged_assets": "Usunięto etykietę z {count, plural, one {# zasobu} other {# zasobów}}",
"rename": "Zmień nazwę",
"repair": "Napraw",
"repair_no_results_message": "Tutaj pojawią się nieśledzone i brakujące pliki",
@@ -1049,6 +1122,7 @@
"say_something": "Powiedz coś",
"scan_all_libraries": "Skanuj wszystkie biblioteki",
"scan_all_library_files": "Przeskanuj ponownie wszystkie biblioteki",
+ "scan_library": "Skanuj",
"scan_new_library_files": "Skanuj nowe pliki biblioteki",
"scan_settings": "Ustawienia Skanowania",
"scanning_for_album": "Skanuję album...",
@@ -1064,9 +1138,12 @@
"search_for_existing_person": "Wyszukaj istniejącą osobę",
"search_no_people": "Brak osób",
"search_no_people_named": "Brak osób nazwanych \"{name}\"",
+ "search_options": "Opcje wyszukiwania",
"search_people": "Wyszukaj osoby",
"search_places": "Wyszukaj miejsca",
- "search_state": "Wyszukaj byt...",
+ "search_settings": "Ustawienia przeszukiwania",
+ "search_state": "Wyszukaj stan...",
+ "search_tags": "Wyszukaj etykiety...",
"search_timezone": "Wyszukaj strefę czasową...",
"search_type": "Wyszukaj w",
"search_your_photos": "Szukaj swoich zdjęć",
@@ -1108,6 +1185,7 @@
"shared_by_user": "Udostępnione przez {user}",
"shared_by_you": "Udostępnione przez ciebie",
"shared_from_partner": "Zdjęcia od {partner}",
+ "shared_link_options": "Opcje udostępniania linku",
"shared_links": "Udostępnione linki",
"shared_photos_and_videos_count": "{assetCount, plural, other {# udostępnione zdjęcia i filmy.}}",
"shared_with_partner": "Dzielisz się z {partner}",
@@ -1116,6 +1194,7 @@
"sharing_sidebar_description": "Wyświetl link do udostępniania na pasku bocznym",
"shift_to_permanent_delete": "naciśnij ⇧, aby trwale usunąć zasób",
"show_album_options": "Pokaż opcje albumu",
+ "show_albums": "Pokaż albumy",
"show_all_people": "Pokaż wszystkie osoby",
"show_and_hide_people": "Pokaż lub ukryj osoby",
"show_file_location": "Pokaż ścieżkę pliku",
@@ -1130,13 +1209,18 @@
"show_person_options": "Pokaż opcje osoby",
"show_progress_bar": "Pokaż pasek postępu",
"show_search_options": "Wyświetl opcje wyszukiwania",
+ "show_slideshow_transition": "Pokaż przejście pokazu slajdów",
"show_supporter_badge": "Odznaka wspierającego",
"show_supporter_badge_description": "Pokaż odznakę wspierającego",
"shuffle": "Losuj",
+ "sidebar": "Panel boczny",
+ "sidebar_display_description": "Wyświetl link do widoku w pasku bocznym",
"sign_out": "Wyloguj się",
"sign_up": "Zarejestruj się",
"size": "Rozmiar",
"skip_to_content": "Przejdź do treści",
+ "skip_to_folders": "Przejdź do folderów",
+ "skip_to_tags": "Przejdź do tagów",
"slideshow": "Pokaz slajdów",
"slideshow_settings": "Ustawienia pokazu slajdów",
"sort_albums_by": "Sortuj albumy według...",
@@ -1148,9 +1232,11 @@
"sort_title": "Tytuł",
"source": "Źródło",
"stack": "Stos",
+ "stack_duplicates": "Stos duplikatów",
+ "stack_select_one_photo": "Wybierz jedno główne zdjęcie do stosu",
"stack_selected_photos": "Układaj wybrane zdjęcia",
"stacked_assets_count": "Ułożone {count, plural, one {# zasób} other{# zasoby}}",
- "stacktrace": "Stacktrace",
+ "stacktrace": "Ślad stosu",
"start": "Start",
"start_date": "Od dnia",
"state": "Stan",
@@ -1165,27 +1251,40 @@
"submit": "Zatwierdź",
"suggestions": "Sugestie",
"sunrise_on_the_beach": "Wschód słońca na plaży",
+ "support": "Wsparcie",
+ "support_and_feedback": "Wsparcie i opinie",
+ "support_third_party_description": "Twoja instalacja immich została spakowana przez trzecią stronę. Problemy, które napotykasz, mogą być spowodowane przez ten pakiet, więc w pierwszej kolejności zgłaszaj problemy u nich, korzystając z poniższych linków.",
"swap_merge_direction": "Zmień kierunek złączenia",
"sync": "Synchronizuj",
+ "tag": "Etykieta",
+ "tag_assets": "Ustaw etykiety zasobów",
+ "tag_created": "Stworzono etykietę: {tag}",
+ "tag_feature_description": "Przeglądanie zdjęć i filmów pogrupowanych według logicznych etykiet wskazujących temat",
+ "tag_not_found_question": "Nie możesz znaleźć etykiety? Utwórz ją tutaj",
+ "tag_updated": "Uaktualniono etykietę: {tag}",
+ "tagged_assets": "Przypisano etykietę {count, plural, one {# zasobowi} other {# zasobom}}",
+ "tags": "Etykiety",
"template": "Szablon",
"theme": "Motyw",
"theme_selection": "Wybór motywu",
"theme_selection_description": "Automatycznie zmień motyw na jasny lub ciemny zależnie od ustawień przeglądarki",
"they_will_be_merged_together": "Zostaną one ze sobą połączone",
+ "third_party_resources": "Zasoby stron trzecich",
"time_based_memories": "Wspomnienia oparte na czasie",
"timezone": "Strefa czasowa",
"to_archive": "Archiwum",
"to_change_password": "Zmień hasło",
"to_favorite": "Dodaj do ulubionych",
"to_login": "Login",
+ "to_parent": "Idź do rodzica",
"to_trash": "Kosz",
"toggle_settings": "Przełącz ustawienia",
- "toggle_theme": "Przełącz motyw",
+ "toggle_theme": "Przełącz ciemny motyw",
"toggle_visibility": "Zmień widoczność",
"total_usage": "Całkowite wykorzystanie",
"trash": "Kosz",
"trash_all": "Usuń wszystko",
- "trash_count": "Kosz {count}",
+ "trash_count": "Kosz {count, number}",
"trash_delete_asset": "Kosz/Usuń zasób",
"trash_no_results_message": "Tu znajdziesz wyrzucone zdjęcia i filmy.",
"trashed_items_will_be_permanently_deleted_after": "Wyrzucone zasoby zostaną trwale usunięte po {days, plural, one {jednym dniu} other {{days, number} dniach}}.",
@@ -1199,9 +1298,11 @@
"unknown_album": "Nieznany album",
"unknown_year": "Rok nieznany",
"unlimited": "Nieograniczony",
+ "unlink_motion_video": "Rozłącz ruchome wideo",
"unlink_oauth": "Odłącz OAuth",
"unlinked_oauth_account": "Odłączone konto OAuth",
"unnamed_album": "Nienazwany album",
+ "unnamed_album_delete_confirmation": "Czy jesteś pewna/pewien, że chcesz usunąć te album?",
"unnamed_share": "Nienazwany udział",
"unsaved_change": "Niezapisana zmiana",
"unselect_all": "Odznacz wszystko",
@@ -1215,7 +1316,7 @@
"upload": "Prześlij",
"upload_concurrency": "Współbieżność wysyłania",
"upload_errors": "Przesyłanie zakończone z {count, plural, one {# błąd} other {# błędy}}. Odśwież stronę, aby zobaczyć nowe przesłane zasoby.",
- "upload_progress": "Pozostałe {remaining} - Przetworzone {processed}/{total}",
+ "upload_progress": "Pozostałe {remaining, number} - Przetworzone {processed, number}/{total, number}",
"upload_skipped_duplicates": "Pominięte {count, plural, one {# zduplikowany zasób} other {# zduplikowane zasoby}}",
"upload_status_duplicates": "Duplikaty",
"upload_status_errors": "Błędy",
@@ -1239,6 +1340,8 @@
"version": "Wersja",
"version_announcement_closing": "Twój przyjaciel Aleks",
"version_announcement_message": "Witaj przyjacielu, dostępna jest nowa wersja aplikacji. Poświęć trochę czasu na zapoznanie się z informacjami o wydaniu i upewnij się, że pliki docker-compose.yml
i .env
konfiguracja jest aktualna, aby zapobiec błędnym konfiguracjom, zwłaszcza jeśli używasz WatchTower lub dowolnego mechanizmu, który obsługuje automatyczne aktualizowanie aplikacji.",
+ "version_history": "Historia wersji",
+ "version_history_item": "Zainstalowano {version} w {date}",
"video": "Wideo",
"video_hover_setting": "Odtwórz miniaturę wideo po najechaniu kursorem",
"video_hover_setting_description": "Odtwórz miniaturę wideo po najechaniu myszką na element. Nawet jeśli jest wyłączone, odtwarzanie można rozpocząć, najeżdżając kursorem na ikonę odtwarzania.",
@@ -1248,6 +1351,7 @@
"view_album": "Wyświetl Album",
"view_all": "Pokaż wszystkie",
"view_all_users": "Pokaż wszystkich użytkowników",
+ "view_in_timeline": "Pokaż na osi czasu",
"view_links": "Pokaż łącza",
"view_next_asset": "Wyświetl następny zasób",
"view_previous_asset": "Wyświetl poprzedni zasób",
diff --git a/i18n/pt.json b/i18n/pt.json
new file mode 100644
index 0000000000..dda003243e
--- /dev/null
+++ b/i18n/pt.json
@@ -0,0 +1,1369 @@
+{
+ "about": "Sobre",
+ "account": "Conta",
+ "account_settings": "Definições de Conta",
+ "acknowledge": "Aceitar",
+ "action": "Ação",
+ "actions": "Ações",
+ "active": "Em execução",
+ "activity": "Atividade",
+ "activity_changed": "A atividade está {enabled, select, true {ativada} other {desativada}}",
+ "add": "Adicionar",
+ "add_a_description": "Adicionar uma descrição",
+ "add_a_location": "Adicionar localização",
+ "add_a_name": "Adicionar um nome",
+ "add_a_title": "Adicionar um título",
+ "add_exclusion_pattern": "Adicionar um padrão de exclusão",
+ "add_import_path": "Adicionar um caminho de importação",
+ "add_location": "Adicionar localização",
+ "add_more_users": "Adicionar mais utilizadores",
+ "add_partner": "Adicionar parceiro",
+ "add_path": "Adicionar caminho",
+ "add_photos": "Adicionar fotos",
+ "add_to": "Adicionar a...",
+ "add_to_album": "Adicionar ao álbum",
+ "add_to_shared_album": "Adicionar ao álbum partilhado",
+ "added_to_archive": "Adicionado ao arquivo",
+ "added_to_favorites": "Adicionado aos favoritos",
+ "added_to_favorites_count": "{count, plural, one {{count, number} adicionado aos favoritos} other {{count, number} adicionados aos favoritos}}",
+ "admin": {
+ "add_exclusion_pattern_description": "Adicione padrões de exclusão. Utilizar *, ** ou ? são suportados. Para ignorar todos os ficheiros em qualquer diretório chamado \"Raw\", use \"**/Raw/**'. Para ignorar todos os ficheiros que finalizam em \".tif\", use \"**/*.tif\". Para ignorar um caminho absoluto, use \"/caminho/para/ignorar/**\".",
+ "asset_offline_description": "Este ficheiro proveniente de uma biblioteca externa deixou de estar disponível no disco e foi movido para a reciclagem. Se o ficheiro foi movido no interior da biblioteca, procure na linha de tempo pelo novo ficheiro correspondente. Para restaurar este ficheiro, certifique-se que o caminho do ficheiro abaixo pode ser acedido pelo Immich e analise a biblioteca.",
+ "authentication_settings": "Definições de Autenticação",
+ "authentication_settings_description": "Gerir palavras-passe, OAuth, e outras definições de autenticação",
+ "authentication_settings_disable_all": "Tem a certeza que deseja desativar todos os métodos de início de sessão? O início de sessão será completamente desativado.",
+ "authentication_settings_reenable": "Para reativar, use um Comando de servidor.",
+ "background_task_job": "Tarefas em segundo plano",
+ "check_all": "Selecionar Tudo",
+ "cleared_jobs": "Eliminadas as tarefas de: {job}",
+ "config_set_by_file": "A configuração está atualmente definida por um ficheiro de configuração",
+ "confirm_delete_library": "Tem a certeza de que deseja eliminar a biblioteca {library} ?",
+ "confirm_delete_library_assets": "Tem a certeza de que deseja eliminar esta biblioteca? Isto eliminará {count, plural, one {# ficheiro incluído} other {todos os # ficheiros incluídos}} do Immich e esta ação não pode ser anulada. Os ficheiros permanecerão no disco.",
+ "confirm_email_below": "Para confirmar, escreva \"{email}\" abaixo",
+ "confirm_reprocess_all_faces": "Tem a certeza de que deseja reprocessar todos os rostos? Isto também limpará os nomes das pessoas.",
+ "confirm_user_password_reset": "Tem a certeza de que deseja redefinir a palavra-passe de {user}?",
+ "create_job": "Criar tarefa",
+ "crontab_guru": "Guru do Crontab",
+ "disable_login": "Desativar inicio de sessão",
+ "disabled": "",
+ "duplicate_detection_job_description": "Executa a aprendizagem de máquina em ficheiros para detetar imagens semelhantes. Depende da Pesquisa Inteligente",
+ "exclusion_pattern_description": "Os padrões de exclusão permitem ignorar ficheiros e pastas ao analisar a sua biblioteca. Isto é útil se tiver pastas que contenham ficheiros que não deseja importar, como ficheiros RAW.",
+ "external_library_created_at": "Biblioteca externa (criada em {date})",
+ "external_library_management": "Gestão de bibliotecas externas",
+ "face_detection": "Deteção de Rostos",
+ "face_detection_description": "Deteta rostos em ficheiros utilizando aprendizagem automática. Para vídeos, apenas a miniatura é considerada. \"Atualizar\" (re)processa todos os ficheiros, enquanto \"Redefinir\" elimina todos os dados de rostos. \"Em falta\" coloca em fila ficheiros que ainda não foram processados. Os rostos detetados serão colocados em fila para Reconhecimento Facial após a conclusão da Deteção de Rostos, agrupando-os em pessoas novas ou já existentes.",
+ "facial_recognition_job_description": "Agrupa rostos detetadas em pessoas. Esta etapa é executada após a conclusão da Deteção de Rostos. \"Redefinir\" (re)agrupa todos os rostos. \"Em falta\" coloca em fila rostos que ainda não têm uma pessoa atribuída.",
+ "failed_job_command": "Comando {command} falhou para a tarefa: {job}",
+ "force_delete_user_warning": "AVISO: Isto removerá imediatamente o utilizador e todos os ficheiros. Isso não pode ser revertido e os ficheiros não poderão ser recuperados.",
+ "forcing_refresh_library_files": "A forçar a atualização de todos os ficheiros da biblioteca",
+ "image_format": "Formato",
+ "image_format_description": "WebP produz ficheiros mais pequenos do que JPEG, mas é mais lento para codificar.",
+ "image_prefer_embedded_preview": "Preferir visualização incorporada",
+ "image_prefer_embedded_preview_setting_description": "Utilizar visualizações incorporadas em fotos RAW como entrada para processamento de imagem, quando disponível. Isto pode produzir cores mais precisas para algumas imagens, mas a qualidade da visualização depende da câmara e a imagem pode ter mais artefatos de compressão.",
+ "image_prefer_wide_gamut": "Prefira ampla gama",
+ "image_prefer_wide_gamut_setting_description": "Utilizar Display P3 para miniaturas. Isso preserva melhor a vibrância das imagens com espaços de cores amplos, mas as imagens podem aparecer de maneira diferente em dispositivos antigos com uma versão antiga do navegador. As imagens sRGB são mantidas como sRGB para evitar mudanças de cores.",
+ "image_preview_description": "Imagem de tamanho médio sem metadados, utilizada ao visualizar um único ficheiro e pela aprendizagem de máquina",
+ "image_preview_format": "Formato de visualização",
+ "image_preview_quality_description": "Qualidade de pré-visualização de 1 a 100. Maior é melhor, mas produz ficheiros maiores e pode reduzir a capacidade de resposta da aplicação. Definir um valor demasiado baixo pode afetar a qualidade da aprendizagem de máquina.",
+ "image_preview_resolution": "Resolução de visualização",
+ "image_preview_resolution_description": "Usado ao visualizar uma única foto e para aprendizagem de máquina. Resoluções mais altas podem preservar mais detalhes, mas demoram mais para codificar, têm tamanhos de ficheiro maiores e podem reduzir a capacidade de resposta da aplicação.",
+ "image_preview_title": "Definições de Pré-visualização",
+ "image_quality": "Qualidade",
+ "image_quality_description": "Qualidade de imagem de 1 a 100. Quanto maior, melhor para a qualidade, mas produz ficheiros maiores. Esta definição afeta as imagens de visualização e miniatura.",
+ "image_resolution": "Resolução",
+ "image_resolution_description": "Resoluções mais altas podem ajudar a preservar mais detalhes mas demoram mais a codificar, têm tamanhos de ficheiro maiores e podem reduzir a capacidade de resposta da aplicação.",
+ "image_settings": "Definições de imagem",
+ "image_settings_description": "Gerir a qualidade e resolução das imagens geradas",
+ "image_thumbnail_description": "Miniatura de tamanho pequena e sem metadados, utilizada ao visualizar grupos de fotos como, por exemplo, na linha de tempo principal",
+ "image_thumbnail_format": "Formato de miniatura",
+ "image_thumbnail_quality_description": "Qualidade das miniaturas de 1 a 100. Maior é melhor, mas produz tamanhos de ficheiro maiores e podem reduzir a capacidade de resposta da aplicação.",
+ "image_thumbnail_resolution": "Resolução de miniatura",
+ "image_thumbnail_resolution_description": "Utilizado ao visualizar grupos de fotos (linha do tempo principal, visualização de álbum, etc.). Resoluções mais altas podem preservar mais detalhes, mas demoram mais para codificar, têm tamanhos de ficheiro maiores e podem reduzir a capacidade de resposta da aplicação.",
+ "image_thumbnail_title": "Definições de Miniaturas",
+ "job_concurrency": "{job} em simultâneo",
+ "job_created": "Tarefa criada",
+ "job_not_concurrency_safe": "Esta tarefa não pode ser executada em simultâneo.",
+ "job_settings": "Definições de Tarefas",
+ "job_settings_description": "Gerir tarefas em simultâneo",
+ "job_status": "Estado das Tarefas",
+ "jobs_delayed": "{jobCount, plural, one {# adiado} other {# adiados}}",
+ "jobs_failed": "{jobCount, plural, one {# falhou} other {# falharam}}",
+ "library_created": "Criada biblioteca: {library}",
+ "library_cron_expression": "Expressão Cron",
+ "library_cron_expression_description": "Defina o intervalo de procura utilizando o formato cron. Para mais informações consulte Guru Crontab",
+ "library_cron_expression_presets": "Predefinições de expressão Cron",
+ "library_deleted": "Biblioteca eliminada",
+ "library_import_path_description": "Especifique uma pasta para importar. Esta pasta, incluindo sub-pastas, será analisada por imagens e vídeos.",
+ "library_scanning": "Análise periódica",
+ "library_scanning_description": "Configurar a análise periódica da biblioteca",
+ "library_scanning_enable_description": "Ativar análise periódica da biblioteca",
+ "library_settings": "Biblioteca Externa",
+ "library_settings_description": "Gerir definições de biblioteca externa",
+ "library_tasks_description": "Executa tarefas de biblioteca",
+ "library_watching_enable_description": "Analisar bibliotecas externas por alterações de ficheiros",
+ "library_watching_settings": "Análise de biblioteca (EXPERIMENTAL)",
+ "library_watching_settings_description": "Analise automaticamente por ficheiros alterados",
+ "logging_enable_description": "Ativar registo",
+ "logging_level_description": "Quando ativado, qual o nível de log a usar.",
+ "logging_settings": "Registo",
+ "machine_learning_clip_model": "Modelo CLIP",
+ "machine_learning_clip_model_description": "O nome do modelo CLIP definido aqui. Tome nota de que é necessário voltar a executar a tarefa de \"Pesquisa Inteligente\" para todas as imagens depois de alterar o modelo.",
+ "machine_learning_duplicate_detection": "Deteção de Itens Duplicados",
+ "machine_learning_duplicate_detection_enabled": "Ativar deteção de itens duplicados",
+ "machine_learning_duplicate_detection_enabled_description": "Se desativado, ficheiros exatamente idênticos serão desduplicados na mesma.",
+ "machine_learning_duplicate_detection_setting_description": "Utilizar embeddings CLIP para encontrar itens possivelmente duplicados",
+ "machine_learning_enabled": "Ativar a aprendizagem de máquina",
+ "machine_learning_enabled_description": "Se desativado, todos as funcionalidades de ML serão desativados, independentemente das definições abaixo.",
+ "machine_learning_facial_recognition": "Reconhecimento Facial",
+ "machine_learning_facial_recognition_description": "Detetar, reconhecer e agrupar rostos em imagens",
+ "machine_learning_facial_recognition_model": "Modelo de reconhecimento facial",
+ "machine_learning_facial_recognition_model_description": "Os modelos estão ordenados por ordem decrescente de tamanho. Modelos maiores são mais lentos e utilizam mais memória, mas produzem melhores resultados. Tome conta de que ao alterar um modelo, deve executar novamente a tarefa de \"Deteção de Rostos\" para todas as imagens.",
+ "machine_learning_facial_recognition_setting": "Ativar reconhecimento facial",
+ "machine_learning_facial_recognition_setting_description": "Se desativado, as imagens não serão codificadas para reconhecimento facial e não preencherão a secção Pessoas na página Explorar.",
+ "machine_learning_max_detection_distance": "Distância máxima de deteção",
+ "machine_learning_max_detection_distance_description": "Distância máxima entre duas imagens para considerá-las duplicadas, variando entre 0,001 e 0,1. Valores mais altos detetarão mais duplicidades, mas poderão resultar em falsos positivos.",
+ "machine_learning_max_recognition_distance": "Distância máxima de reconhecimento",
+ "machine_learning_max_recognition_distance_description": "Distância máxima entre dois rostos para serem considerados a mesma pessoa, variando de 0 a 2. Valores menores evitam rotular dois rostos como a mesma pessoa, enquanto valores maiores evitam rotular o mesmo rosto como duas pessoas diferentes. Tenha em conta de que é mais fácil unir duas pessoas do que dividir uma pessoa em duas, portanto tenha preferência por valores mais baixos quando possível.",
+ "machine_learning_min_detection_score": "Pontuação mínima de deteção",
+ "machine_learning_min_detection_score_description": "Pontuação mínima de confiança para um rosto ser detetado, de 0 a 1. Valores mais baixos detetam mais rostos, mas poderão resultar em falsos positivos.",
+ "machine_learning_min_recognized_faces": "Mínimo de rostos reconhecidos",
+ "machine_learning_min_recognized_faces_description": "O número mínimo de faces reconhecidas para uma pessoa ser criada na lista. Aumentar isto torna o Reconhecimento Facial mais preciso, no entanto aumenta a probabilidade de um rosto não ser atribuído a uma pessoa.",
+ "machine_learning_settings": "Definições de aprendizagem de máquina (Machine Learning)",
+ "machine_learning_settings_description": "Gerir funcionalidades e definições de aprendizagem de máquina",
+ "machine_learning_smart_search": "Pesquisa Inteligente",
+ "machine_learning_smart_search_description": "Pesquise imagens semanticamente utilizando embeddings CLIP",
+ "machine_learning_smart_search_enabled": "Ativar a Pesquisa Inteligente",
+ "machine_learning_smart_search_enabled_description": "Se desativado, as imagens não serão codificadas para Pesquisa Inteligente.",
+ "machine_learning_url_description": "URL do servidor de aprendizagem de máquina",
+ "manage_concurrency": "Gerir simultaneidade",
+ "manage_log_settings": "Gerir definições de registo",
+ "map_dark_style": "Tema Escuro",
+ "map_enable_description": "Ativar funcionalidades de mapa",
+ "map_gps_settings": "Mapas e Definições de GPS",
+ "map_gps_settings_description": "Gerir Definições de Mapas e GPS (Geocodificação Reversa)",
+ "map_implications": "A funcionalidade do mapa necessita um serviço externo (tiles.immich.cloud)",
+ "map_light_style": "Tema Claro",
+ "map_manage_reverse_geocoding_settings": "Gerir definições de Geocodificação Reversa",
+ "map_reverse_geocoding": "Geocodificação Reversa",
+ "map_reverse_geocoding_enable_description": "Ativar Geocodificação Reversa",
+ "map_reverse_geocoding_settings": "Definições de Geocodificação Reversa",
+ "map_settings": "Mapa",
+ "map_settings_description": "Gerir definições do mapa",
+ "map_style_description": "URL para um tema de mapa style.json",
+ "metadata_extraction_job": "Extrair metadados",
+ "metadata_extraction_job_description": "Extrai informações de metadados de cada ficheiro, como GPS, rostos e resolução",
+ "metadata_faces_import_setting": "Ativar a importação facial",
+ "metadata_faces_import_setting_description": "Importar rostos a partir dos dados EXIF da imagem e ficheiros anexos",
+ "metadata_settings": "Definições de metadados",
+ "metadata_settings_description": "Gerir definições de metadados",
+ "migration_job": "Migração",
+ "migration_job_description": "Migra miniaturas de ficheiros e rostos para a estrutura de pastas mais recente",
+ "no_paths_added": "Nenhum caminho adicionado",
+ "no_pattern_added": "Nenhum padrão adicionado",
+ "note_apply_storage_label_previous_assets": "Observação: Para aplicar o Rótulo de Armazenamento a ficheiros carregados anteriormente, execute o",
+ "note_cannot_be_changed_later": "NOTA: Isto não pode ser alterado posteriormente!",
+ "note_unlimited_quota": "Observação: insira 0 para quota ilimitada",
+ "notification_email_from_address": "A partir do endereço",
+ "notification_email_from_address_description": "Endereço de e-mail do remetente, por exemplo: \"Servidor de Fotos Immich {label}
é o Rótulo do Armazenamento do utilizador",
+ "system_settings": "Definições de Sistema",
+ "tag_cleanup_job": "Limpeza de etiquetas",
+ "theme_custom_css_settings": "CSS Personalizado",
+ "theme_custom_css_settings_description": "Folhas de estilo em cascata (CSS) permitem que o design do Immich seja personalizado.",
+ "theme_settings": "Definições de Tema",
+ "theme_settings_description": "Gerir a personalização da interface web do Immich",
+ "these_files_matched_by_checksum": "Estes ficheiros são correspondidos pelas suas somas de verificação",
+ "thumbnail_generation_job": "Gerar miniaturas",
+ "thumbnail_generation_job_description": "Gera miniaturas grandes, pequenas e desfocadas para cada ficheiro, bem como miniaturas para cada pessoa",
+ "transcode_policy_description": "",
+ "transcoding_acceleration_api": "API de aceleração",
+ "transcoding_acceleration_api_description": "A API que irá interagir com o seu dispositivo para acelerar a transcodificação. Esta definição é a 'melhor opção': ela voltará à transcodificação de software em caso de falha. O VP9 pode não funcionar dependendo do seu hardware.",
+ "transcoding_acceleration_nvenc": "NVENC (requer GPU NVIDIA)",
+ "transcoding_acceleration_qsv": "Quick Sync (requer CPU Intel de 7ª geração ou posterior)",
+ "transcoding_acceleration_rkmpp": "RKMPP (apenas em SOCs Rockchip)",
+ "transcoding_acceleration_vaapi": "VAAPI",
+ "transcoding_accepted_audio_codecs": "Codecs de áudio aceites",
+ "transcoding_accepted_audio_codecs_description": "Selecione os codecs de áudio que não precisam de ser transcodificados. Usado apenas para determinadas políticas de transcodificação.",
+ "transcoding_accepted_containers": "Contentores aceites",
+ "transcoding_accepted_containers_description": "Selecione os formatos de contentores que não precisam de ser remisturados para MP4. Usado apenas para algumas políticas de transcodificação.",
+ "transcoding_accepted_video_codecs": "Codecs de vídeo aceitos",
+ "transcoding_accepted_video_codecs_description": "Selecione quais os codecs de vídeo que não precisam de ser transcodificados. Usado apenas para determinadas políticas de transcodificação.",
+ "transcoding_advanced_options_description": "Opções que a maioria dos utilizadores não deverá precisar de alterar",
+ "transcoding_audio_codec": "Codec de áudio",
+ "transcoding_audio_codec_description": "Opus é a opção de mais alta qualidade, mas tem menor compatibilidade com dispositivos ou software antigos.",
+ "transcoding_bitrate_description": "Vídeos com taxa de bits superior à máxima ou que não estão num formato aceite",
+ "transcoding_codecs_learn_more": "Para saber mais sobre as terminologias utilizadas aqui, consulte a documentação do FFmpeg para o docker-compose.yml
e .env
estão atualizadas para evitar qualquer configuração incorreta, especialmente se usar o WatchTower ou qualquer mecanismo que lide com a atualização automática da aplicação.",
+ "version_history": "Histórico de versões",
+ "version_history_item": "Instalado {version} em {date}",
+ "video": "Vídeo",
+ "video_hover_setting": "Reproduzir vídeo em miniatura quando passar com o cursor por cima",
+ "video_hover_setting_description": "Reproduzir vídeo em miniatura quando o cursor está sobre o item. Mesmo quando está desativado, a reprodução ainda pode ser iniciada passando sobre o ícone de reproduzir.",
+ "videos": "Vídeos",
+ "videos_count": "{count, plural, one {# Vídeo} other {# Vídeos}}",
+ "view": "Ver",
+ "view_album": "Ver Álbum",
+ "view_all": "Ver tudo",
+ "view_all_users": "Ver todos os utilizadores",
+ "view_in_timeline": "Ver na linha do tempo",
+ "view_links": "Ver links",
+ "view_next_asset": "Ver próximo ficheiro",
+ "view_previous_asset": "Ver ficheiro anterior",
+ "view_stack": "Ver pilha",
+ "viewer": "Visualizar",
+ "visibility_changed": "Visibilidade alterada para {count, plural, one {# pessoa} other {# pessoas}}",
+ "waiting": "Em fila",
+ "warning": "Aviso",
+ "week": "Semana",
+ "welcome": "Bem-vindo(a)",
+ "welcome_to_immich": "Bem-vindo(a) ao Immich",
+ "year": "Ano",
+ "years_ago": "Há {years, plural, one {# ano} other {# anos}} atrás",
+ "yes": "Sim",
+ "you_dont_have_any_shared_links": "Não tem links partilhados",
+ "zoom_image": "Ampliar/Reduzir imagem"
+}
diff --git a/web/src/lib/i18n/pt_BR.json b/i18n/pt_BR.json
similarity index 84%
rename from web/src/lib/i18n/pt_BR.json
rename to i18n/pt_BR.json
index 725b9daab5..78f5ce7187 100644
--- a/web/src/lib/i18n/pt_BR.json
+++ b/i18n/pt_BR.json
@@ -2,12 +2,12 @@
"about": "Sobre",
"account": "Conta",
"account_settings": "Configurações da Conta",
- "acknowledge": "Confirmar",
+ "acknowledge": "Entendi",
"action": "Ação",
"actions": "Ações",
"active": "Em execução",
"activity": "Atividade",
- "activity_changed": "A atividade está {enabled, select, true {enabled} other {disabled}}",
+ "activity_changed": "A atividade está {enabled, select, true {ativada} other {desativada}}",
"add": "Adicionar",
"add_a_description": "Adicionar uma descrição",
"add_a_location": "Adicionar uma localização",
@@ -25,9 +25,10 @@
"add_to_shared_album": "Adicionar ao álbum compartilhado",
"added_to_archive": "Adicionado ao arquivo",
"added_to_favorites": "Adicionado aos favoritos",
- "added_to_favorites_count": "{count, plural, one {{count, number} adicionado(a) aos favoritos} other {{count, number} adicionados(as) aos favoritos}}",
+ "added_to_favorites_count": "{count, plural, one {{count, number} adicionado aos favoritos} other {{count, number} adicionados aos favoritos}}",
"admin": {
"add_exclusion_pattern_description": "Adicione padrões de exclusão. Utilizar *, ** ou ? são suportados. Para ignorar todos os arquivos em qualquer diretório chamado \"Raw\", use \"**/Raw/**'. Para ignorar todos os arquivos que terminam em \".tif\", use \"**/*.tif\". Para ignorar um caminho absoluto, use \"/caminho/para/ignorar/**\".",
+ "asset_offline_description": "Este arquivo não foi encontrado na biblioteca externa, então foi enviado para a lixeira. Se o arquivo foi movido para outra pasta dentro da biblioteca, verifique sua linha do tempo para encontrar o arquivo novamente. Para restaurar este arquivo, certifique-se de que o caminho descrito abaixo pode ser acessado pelo Immich e então escaneie a biblioteca.",
"authentication_settings": "Configurações de Autenticação",
"authentication_settings_description": "Gerenciar senhas, OAuth, e outras configurações de autenticação",
"authentication_settings_disable_all": "Tem certeza de que deseja desativar todos os métodos de login? O login será completamente desativado.",
@@ -41,35 +42,46 @@
"confirm_email_below": "Para confirmar, digite o {email} abaixo",
"confirm_reprocess_all_faces": "Tem certeza de que deseja reprocessar todos os rostos? Isso também limpará as pessoas nomeadas.",
"confirm_user_password_reset": "Tem certeza de que deseja redefinir a senha de {user}?",
+ "create_job": "Criar tarefa",
"crontab_guru": "Guru do Crontab",
"disable_login": "Desabilitar login",
"disabled": "",
- "duplicate_detection_job_description": "Execute o aprendizado de máquina em arquivos para detectar imagens semelhantes. Depende da Pesquisa Inteligente",
+ "duplicate_detection_job_description": "Execute a inteligência artificial em arquivos para detectar imagens semelhantes. Depende da Pesquisa Inteligente",
"exclusion_pattern_description": "Os padrões de exclusão permitem ignorar arquivos e pastas ao escanear sua biblioteca. Isso é útil se você tiver pastas que contenham arquivos que não deseja importar, como arquivos RAW.",
"external_library_created_at": "Biblioteca externa (criada em {date})",
"external_library_management": "Gerenciamento de bibliotecas externas",
"face_detection": "Detecção de rostos",
- "face_detection_description": "Detecta rostos em arquivos com inteligência artificial. Para vídeos, apenas a miniatura é considerada. \"Todos\" (re)processa todos os arquivos. \"Ausente\" enfileira arquivos que ainda não foram processados. Os rostos detectados serão enfileirados para reconhecimento facial após a conclusão da detecção de rostos, agrupando-os em pessoas novas ou existentes.",
- "facial_recognition_job_description": "Agrupa rostos detectados em pessoas. Esta etapa é executada após a conclusão da detecção de rostos. \"Todos\" (re)agrupa todos os rostos. \"Ausentes\" enfileira rostos que ainda não têm uma pessoa atribuída.",
+ "face_detection_description": "Detectar rostos nos arquivos usando aprendizado de máquina. Para vídeos, apenas a miniatura é considerada. ‘Atualizar’ (re)processa todos os arquivos. ‘Resetar’ também limpa todos os dados de rosto atuais. ‘Faltando’ coloca em fila os arquivos que ainda não foram processados. Rostos detectados serão colocados em fila para o Reconhecimento Facial após a conclusão da Detecção de Rostos, agrupando-os em pessoas existentes ou novas.",
+ "facial_recognition_job_description": "Agrupar rostos detectados em pessoas. Esta etapa é executada após a conclusão da Detecção de Rostos. ‘Resetar’ (re)agrupará todos os rostos. ‘Faltando’ coloca em fila os rostos que não têm uma pessoa atribuída.",
"failed_job_command": "O comando {command} falhou para a tarefa: {job}",
"force_delete_user_warning": "AVISO: Isso removerá imediatamente o usuário e todos os arquivos. Isso não pode ser desfeito e os arquivos não podem ser recuperados.",
"forcing_refresh_library_files": "Forçando a atualização de todos os arquivos da biblioteca",
+ "image_format": "Formato",
"image_format_description": "WebP produz arquivos menores que JPEG, mas é mais lento para codificar.",
"image_prefer_embedded_preview": "Prefira visualização incorporada",
"image_prefer_embedded_preview_setting_description": "Use visualizações incorporadas em fotos RAW como entrada para processamento de imagem, quando disponível. Isso pode produzir cores mais precisas para algumas imagens, mas a qualidade da visualização depende da câmera e a imagem pode ter mais artefatos de compactação.",
"image_prefer_wide_gamut": "Prefira ampla gama",
"image_prefer_wide_gamut_setting_description": "Use o Display P3 para miniaturas. Isso preserva melhor a vibração das imagens com espaços de cores amplos, mas as imagens podem aparecer de maneira diferente em dispositivos antigos com uma versão antiga do navegador. As imagens sRGB são mantidas como sRGB para evitar mudanças de cores.",
+ "image_preview_description": "Imagem de tamanho médio sem os metadados, utilizado quando visualizar um único arquivo e também pela inteligência artificial",
"image_preview_format": "Formato de visualização",
+ "image_preview_quality_description": "Qualidade da pré-visualização, de 1-100. Maior é melhor, mas produz arquivos maiores e pode reduzir a velocidade do aplicativo. Definir um valor muito baixo pode afetar a qualidade da inteligência artificial.",
"image_preview_resolution": "Resolução de visualização",
"image_preview_resolution_description": "Usado ao visualizar uma única foto e para aprendizado de máquina. Resoluções mais altas podem preservar mais detalhes, mas demoram mais para codificar, têm tamanhos de arquivo maiores e podem reduzir a capacidade de resposta do aplicativo.",
+ "image_preview_title": "Configurações de pré-visualização",
"image_quality": "Qualidade",
"image_quality_description": "Qualidade de imagem de 1 a 100. Quanto maior, melhor para a qualidade, mas produz arquivos maiores. Esta opção afeta as imagens de visualização e miniatura.",
+ "image_resolution": "Resolução",
+ "image_resolution_description": "Resoluções mais altas preservam mais detalhes, porém demoram mais para processar, tem um tamanho de arquivo maior e pode reduzir a velocidade do aplicativo.",
"image_settings": "Configurações de imagem",
"image_settings_description": "Gerenciar a qualidade e resolução das imagens geradas",
+ "image_thumbnail_description": "Miniatura sem metadados, utilizado quando visualizar um grupos de fotos, como por exemplo, a linha do tempo principal",
"image_thumbnail_format": "Formato de miniatura",
+ "image_thumbnail_quality_description": "Qualidade da miniatura, de 1 a 100. Maior é melhor, mas produz arquivos maiores e pode reduzir a velocidade do aplicativo.",
"image_thumbnail_resolution": "Resolução de miniatura",
"image_thumbnail_resolution_description": "Usado ao visualizar grupos de fotos (linha do tempo principal, visualização de álbum, etc.). Resoluções mais altas podem preservar mais detalhes, mas demoram mais para codificar, têm tamanhos de arquivo maiores e podem reduzir a capacidade de resposta do aplicativo.",
+ "image_thumbnail_title": "Configurações de Miniaturas",
"job_concurrency": "{job} simultâneo",
+ "job_created": "Tarefa criada",
"job_not_concurrency_safe": "Esta tarefa não é compatível com simultaneidade.",
"job_settings": "Configurações de Tarefa",
"job_settings_description": "Gerenciar simultaneidade das tarefas",
@@ -95,12 +107,12 @@
"logging_level_description": "Quando ativado, qual nível de log usar.",
"logging_settings": "Registros",
"machine_learning_clip_model": "Modelo CLIP",
- "machine_learning_clip_model_description": "O nome de um modelo CLIP listado aqui. Lembre-se de reexecutar a tarefa de 'Pesquisa Inteligente' para todas as imagens ao alterar o modelo.",
+ "machine_learning_clip_model_description": "O nome de um modelo CLIP listado aqui. Lembre-se de executar novamente a tarefa de 'Pesquisa Inteligente' para todas as imagens após alterar o modelo.",
"machine_learning_duplicate_detection": "Detecção de duplicidade",
"machine_learning_duplicate_detection_enabled": "Habilitar detecção de duplicidade",
"machine_learning_duplicate_detection_enabled_description": "Se desativado, arquivos exatamente idênticos ainda serão desduplicados.",
"machine_learning_duplicate_detection_setting_description": "Use embeddings CLIP para encontrar prováveis duplicidades",
- "machine_learning_enabled": "Habilitar o aprendizado da máquina",
+ "machine_learning_enabled": "Habilitar a inteligência artificial",
"machine_learning_enabled_description": "Se desativado, todos os recursos de ML serão desativados, independentemente das configurações abaixo.",
"machine_learning_facial_recognition": "Reconhecimento Facial",
"machine_learning_facial_recognition_description": "Detectar, reconhecer e agrupar rostos em imagens",
@@ -116,29 +128,34 @@
"machine_learning_min_detection_score_description": "Pontuação mínima de confiança para um rosto ser detectado, de 0 a 1. Valores mais baixos detectam mais rostos, mas poderão resultar em falsos positivos.",
"machine_learning_min_recognized_faces": "Mínimo de rostos reconhecidos",
"machine_learning_min_recognized_faces_description": "O número mínimo de rostos reconhecidos para uma pessoa ser criada na lista. Aumentar isso torna o Reconhecimento Facial mais preciso, ao custo de aumentar a chance de um rosto não ser atribuído a uma pessoa.",
- "machine_learning_settings": "Configurações de aprendizado de máquina (Machine Learning)",
- "machine_learning_settings_description": "Gerenciar recursos e configurações de aprendizado de máquina",
+ "machine_learning_settings": "Configurações de inteligência artificial",
+ "machine_learning_settings_description": "Gerenciar recursos e configurações da inteligência artificial",
"machine_learning_smart_search": "Pesquisa Inteligente",
"machine_learning_smart_search_description": "Buscar imagens semanticamente usando embeddings CLIP",
"machine_learning_smart_search_enabled": "Habilitar a Pesquisa Inteligente",
"machine_learning_smart_search_enabled_description": "Se desativado, as imagens não serão codificadas para pesquisa inteligente.",
- "machine_learning_url_description": "URL do servidor de aprendizado de máquina",
+ "machine_learning_url_description": "URL do servidor de inteligência artificial",
"manage_concurrency": "Gerenciar simultaneidade",
"manage_log_settings": "Gerenciar configurações de registro",
"map_dark_style": "Tema Escuro",
"map_enable_description": "Ativar recursos do mapa",
"map_gps_settings": "Mapa e Configurações de GPS",
"map_gps_settings_description": "Gerenciar Mapa e Configurações de GPS (Geocodificação Reversa)",
+ "map_implications": "O mapa depende de um serviço externo para funcionar (tiles.immich.cloud)",
"map_light_style": "Tema Claro",
"map_manage_reverse_geocoding_settings": "Gerenciar configurações de Geocodificação reversa",
"map_reverse_geocoding": "Geocodificação reversa",
"map_reverse_geocoding_enable_description": "Ativar geocodificação reversa",
"map_reverse_geocoding_settings": "Configurações de geocodificação reversa",
- "map_settings": "Configurações de mapa e GPS",
+ "map_settings": "Mapa",
"map_settings_description": "Gerenciar configurações do mapa",
"map_style_description": "URL para um tema de mapa style.json",
"metadata_extraction_job": "Extrair metadados",
- "metadata_extraction_job_description": "Extraia informações de metadados de cada arquivo, como GPS e resolução",
+ "metadata_extraction_job_description": "Extraia informações dos metadados de cada arquivo, como GPS, rostos e resolução",
+ "metadata_faces_import_setting": "Ativar a importação de rostos",
+ "metadata_faces_import_setting_description": "Importar rostos a partir dos metadados EXIF da imagem e arquivos auxiliares",
+ "metadata_settings": "Configurações de Metadados",
+ "metadata_settings_description": "Gerenciar configurações de metadados",
"migration_job": "Migração",
"migration_job_description": "Migrar miniaturas de arquivos e rostos para a estrutura de pastas mais recente",
"no_paths_added": "Nenhum caminho adicionado",
@@ -147,7 +164,7 @@
"note_cannot_be_changed_later": "NOTA: Isto não pode ser alterado posteriormente!",
"note_unlimited_quota": "Observação: insira 0 para cota ilimitada",
"notification_email_from_address": "A partir do endereço",
- "notification_email_from_address_description": "Endereço de e-mail do remetente, por exemplo: \"Immich Photo Server {label}
é o Rótulo de Armazenamento do usuário",
"system_settings": "Configurações do Sistema",
+ "tag_cleanup_job": "Limpeza de tags",
"theme_custom_css_settings": "CSS customizado",
"theme_custom_css_settings_description": "Folhas de estilo em cascata permitem que o design do Immich seja personalizado.",
"theme_settings": "Configurações de tema",
@@ -249,7 +270,7 @@
"transcoding_acceleration_vaapi": "VAAPI",
"transcoding_accepted_audio_codecs": "Codecs de áudio aceitos",
"transcoding_accepted_audio_codecs_description": "Selecione quais codecs de áudio não precisam ser transcodificados. Usado apenas para determinadas políticas de transcodificação.",
- "transcoding_accepted_containers": "containers aceitos",
+ "transcoding_accepted_containers": "Containers aceitos",
"transcoding_accepted_containers_description": "Selecione quais formatos de contêiner não precisam ser remixados para MP4. Usado apenas para determinadas políticas de transcodificação.",
"transcoding_accepted_video_codecs": "Codecs de vídeo aceitos",
"transcoding_accepted_video_codecs_description": "Selecione quais codecs de vídeo não precisam ser transcodificados. Usado apenas para determinadas políticas de transcodificação.",
@@ -266,7 +287,7 @@
"transcoding_hardware_acceleration": "Aceleração de hardware",
"transcoding_hardware_acceleration_description": "Experimental; muito mais rápido, mas terá qualidade inferior com a mesma taxa de bits",
"transcoding_hardware_decoding": "Decodificação de hardware",
- "transcoding_hardware_decoding_setting_description": "Aplica-se apenas a NVENC, QSV e RKMPP. Permite aceleração ponta a ponta em vez de apenas acelerar a codificação. Pode não funcionar em todos os vídeos.",
+ "transcoding_hardware_decoding_setting_description": "Habilita a aceleração de ponta a ponta, em vez de apenas acelerar a codificação. Pode não funcionar em todos os vídeos.",
"transcoding_hevc_codec": "Codec HEVC",
"transcoding_max_b_frames": "Máximo de quadros B",
"transcoding_max_b_frames_description": "Valores mais altos melhoram a eficiência da compactação, mas retardam a codificação. Pode não ser compatível com aceleração de hardware em dispositivos mais antigos. 0 desativa os quadros B, enquanto -1 define esse valor automaticamente.",
@@ -278,7 +299,7 @@
"transcoding_preferred_hardware_device": "Dispositivo de hardware preferido",
"transcoding_preferred_hardware_device_description": "Aplica-se apenas a VAAPI e QSV. Define o nó dri usado para transcodificação de hardware.",
"transcoding_preset_preset": "Predefinido (-preset)",
- "transcoding_preset_preset_description": "Velocidade de compressão. Predefinições mais lentas produzem arquivos menores e aumentam a qualidade ao atingir uma determinada taxa de bits. VP9 ignora velocidades acima de `mais rápidas`.",
+ "transcoding_preset_preset_description": "Velocidade de compressão. As opções mais lentas produzem arquivos menores e aumentam a qualidade. VP9 ignora as velocidades acima de 'mais rápida'.",
"transcoding_reference_frames": "Quadros de referência",
"transcoding_reference_frames_description": "O número de quadros a serem referenciados ao compactar um determinado quadro. Valores mais altos melhoram a eficiência da compactação, mas retardam a codificação. 0 define esse valor automaticamente.",
"transcoding_required_description": "Somente vídeos que não estejam em um formato aceito",
@@ -307,10 +328,11 @@
"trash_settings_description": "Gerenciar configurações da lixeira",
"untracked_files": "Arquivos não rastreados",
"untracked_files_description": "Esses arquivos não são rastreados pelo aplicativo. Eles podem ser o resultado de movimentos malsucedidos, carregamentos interrompidos ou deixados para trás devido a um erro",
+ "user_cleanup_job": "Limpeza de usuários",
"user_delete_delay": "A conta e os arquivos de {user} serão programados para exclusão permanente em {delay, plural, one {# dia} other {# dias}}.",
"user_delete_delay_settings": "Excluir atraso",
"user_delete_delay_settings_description": "Número de dias após a remoção para excluir permanentemente a conta e os arquivos de um usuário. A tarefa de exclusão de usuário é executada à meia-noite para verificar usuários que estão prontos para exclusão. As alterações nesta configuração serão avaliadas na próxima execução.",
- "user_delete_immediately": "A conta e os arquivos de {user} serão postos na fila para exclusão permanente imediatamente.",
+ "user_delete_immediately": "A conta e os arquivos de {user} serão programados para exclusão permanente imediata.",
"user_delete_immediately_checkbox": "Adicionar o usuário e seus ativos na fila para serem deletados imediatamente",
"user_management": "Gerenciamento de usuários",
"user_password_has_been_reset": "A senha do usuário foi redefinida:",
@@ -320,7 +342,8 @@
"user_settings": "Configurações do Usuário",
"user_settings_description": "Gerenciar configurações do usuário",
"user_successfully_removed": "O usuário {email} foi removido com sucesso.",
- "version_check_enabled_description": "Ativa verificações periódicas no GitHub para novas versões",
+ "version_check_enabled_description": "Ativa a verificação de versão",
+ "version_check_implications": "A verificação de versão depende de uma comunicação periódica com github.com",
"version_check_settings": "Verificação de versão",
"version_check_settings_description": "Ativar/desativar a notificação de nova versão",
"video_conversion_job": "Transcodificar vídeos",
@@ -336,7 +359,8 @@
"album_added": "Álbum adicionado",
"album_added_notification_setting_description": "Receba uma notificação por e-mail quando você for adicionado a um álbum compartilhado",
"album_cover_updated": "Capa do álbum atualizada",
- "album_delete_confirmation": "Tem certeza de que deseja excluir o álbum {album}?\nSe este álbum for compartilhado, outros usuários não poderão mais acessá-lo.",
+ "album_delete_confirmation": "Tem certeza de que deseja excluir o álbum {album}?",
+ "album_delete_confirmation_description": "Se este álbum é compartilhado, os outros usuários não conseguiram mais acessá-lo.",
"album_info_updated": "Informações do álbum atualizadas",
"album_leave": "Sair do álbum?",
"album_leave_confirmation": "Tem certeza de que deseja sair de {album}?",
@@ -344,11 +368,11 @@
"album_options": "Opções de álbum",
"album_remove_user": "Remover usuário?",
"album_remove_user_confirmation": "Tem certeza de que deseja remover {user}?",
- "album_share_no_users": "Parece que você compartilhou este álbum com todos os usuários ou não tem nenhum usuário para compartilhar com ele.",
+ "album_share_no_users": "Parece que você já compartilhou este álbum com todos os usuários ou não há nenhum usuário para compartilhar.",
"album_updated": "Álbum atualizado",
"album_updated_setting_description": "Receba uma notificação por e-mail quando um álbum compartilhado tiver novos recursos",
- "album_user_left": "Saída de {album}",
- "album_user_removed": "Usuário {user} removido",
+ "album_user_left": "Saiu do álbum {album}",
+ "album_user_removed": "Usuário {user} foi removido",
"album_with_link_access": "Permitir que qualquer pessoa com o link veja as fotos e as pessoas neste álbum.",
"albums": "Álbuns",
"albums_count": "{count, plural, one {{count, number} Álbum} other {{count, number} Álbuns}}",
@@ -358,8 +382,9 @@
"all_videos": "Todos os vídeos",
"allow_dark_mode": "Permitir modo escuro",
"allow_edits": "Permitir edições",
- "allow_public_user_to_download": "Permitir que usuários públicos façam download",
- "allow_public_user_to_upload": "Permitir que usuários públicos enviem novos ativos",
+ "allow_public_user_to_download": "Permitir que usuários públicos baixem os arquivos",
+ "allow_public_user_to_upload": "Permitir que usuários públicos enviem novos arquivos",
+ "anti_clockwise": "Anti-horário",
"api_key": "Chave de API",
"api_key_description": "Este valor será mostrado apenas uma vez. Por favor, certifique-se de copiá-lo antes de fechar a janela.",
"api_key_empty": "O nome da sua chave de API não deve estar vazio",
@@ -368,8 +393,8 @@
"appears_in": "Aparece em",
"archive": "Arquivados",
"archive_or_unarchive_photo": "Arquivar ou desarquivar foto",
- "archive_size": "Tamanho do Arquivo",
- "archive_size_description": "Configure o tamanho do arquivo para downloads (em GiB)",
+ "archive_size": "Tamanho do arquivo",
+ "archive_size_description": "Configure o tamanho do arquivo para baixar (em GiB)",
"archived": "Arquivado",
"archived_count": "{count, plural, one {# Arquivado} other {# Arquivados}}",
"are_these_the_same_person": "Essas pessoas são a mesma pessoa?",
@@ -377,12 +402,13 @@
"asset_added_to_album": "Adicionado ao álbum",
"asset_adding_to_album": "Adicionando ao álbum...",
"asset_description_updated": "A descrição do ativo foi atualizada",
- "asset_filename_is_offline": "O arquivo {filename} está offline",
- "asset_has_unassigned_faces": "O arquivo tem rostos não atribuídos",
+ "asset_filename_is_offline": "O arquivo {filename} não está disponível",
+ "asset_has_unassigned_faces": "O arquivo tem rostos sem nomes",
"asset_hashing": "Processando...",
- "asset_offline": "Arquivo off-line",
- "asset_offline_description": "Este arquivo está offline. O Immich não pode acessar sua localização de arquivo. Certifique-se de que o arquivo esteja disponível e depois escaneie novamente a biblioteca.",
+ "asset_offline": "Arquivo indisponível",
+ "asset_offline_description": "Este arquivo externo não está mais disponível. Contate seu administrador do Immich para obter ajuda.",
"asset_skipped": "Ignorado",
+ "asset_skipped_in_trash": "Na lixeira",
"asset_uploaded": "Carregado",
"asset_uploading": "Carregando...",
"assets": "Arquivos",
@@ -394,20 +420,21 @@
"assets_moved_to_trash_count": "{count, plural, one {# arquivo movido} other {# arquivos movidos}} para a lixeira",
"assets_permanently_deleted_count": "{count, plural, one {# arquivo excluído permanentemente} other {# arquivos excluídos permanentemente}}",
"assets_removed_count": "{count, plural, one {# arquivo removido} other {# arquivos removidos}}",
- "assets_restore_confirmation": "Tem certeza de que deseja restaurar todos os seus arquivos na lixeira? Esta ação não pode ser desfeita!",
+ "assets_restore_confirmation": "Tem certeza de que deseja restaurar todos os seus arquivos na lixeira? Esta ação não pode ser desfeita! Nota: Arquivos externos não podem ser restaurados desta maneira.",
"assets_restored_count": "{count, plural, one {# arquivo restaurado} other {# arquivos restaurados}}",
"assets_trashed_count": "{count, plural, one {# arquivo movido para a lixeira} other {# arquivos movidos para a lixeira}}",
- "assets_were_part_of_album_count": "{count, plural, one {O recurso estava} other {Os recursos estavam}} já fazendo parte do álbum",
+ "assets_were_part_of_album_count": "{count, plural, one {O arquivo já faz} other {Os arquivos já fazem}} parte do álbum",
"authorized_devices": "Dispositivos Autorizados",
"back": "Voltar",
"back_close_deselect": "Voltar, fechar ou desmarcar",
"backward": "Para trás",
"birthdate_saved": "Data de nascimento salva com sucesso",
- "birthdate_set_description": "A data de nascimento é usada para calcular a idade desta pessoa na época de uma foto.",
+ "birthdate_set_description": "A data de nascimento é usada para calcular a idade da pessoa no momento em que a foto foi tirada.",
"blurred_background": "Fundo desfocado",
+ "bugs_and_feature_requests": "Relatar problemas & Sugestões",
"build": "Versão de compilação",
"build_image": "Imagem de compilação",
- "bulk_delete_duplicates_confirmation": "Tem a certeza de que deseja deletar {count, plural, one {# arquivo duplicado} other {em massa # arquivos duplicados}}? Esta ação mantém o maior arquivo de cada grupo e deleta permanentemente todos as outras duplicidades. Você não pode reverter esta ação!",
+ "bulk_delete_duplicates_confirmation": "Tem a certeza de que deseja deletar {count, plural, one {# arquivo duplicado} other {em massa # arquivos duplicados}}? Esta ação mantém o maior arquivo de cada grupo e deleta permanentemente todos as outras duplicidades. Você não pode desfazer esta ação!",
"bulk_keep_duplicates_confirmation": "Tem certeza de que deseja manter {count, plural, one {# arquivo duplicado} other {# arquivos duplicados}}? Isso resolverá todos os grupos duplicados sem excluir nada.",
"bulk_trash_duplicates_confirmation": "Tem a certeza de que deseja mover para a lixeira {count, plural, one {# arquivo duplicado} other {# arquivos duplicados}}? Isso manterá o maior arquivo de cada grupo e moverá para a lixeira todas as outras duplicidades.",
"buy": "Comprar o Immich",
@@ -441,9 +468,11 @@
"clear_all_recent_searches": "Limpar todas as buscas recentes",
"clear_message": "Limpar mensagem",
"clear_value": "Limpar valor",
+ "clockwise": "Horário",
"close": "Fechar",
"collapse": "Recolher",
"collapse_all": "Colapsar tudo",
+ "color": "Cor",
"color_theme": "Tema de cores",
"comment_deleted": "Comentário excluído",
"comment_options": "Opções de comentário",
@@ -477,6 +506,8 @@
"create_new_person": "Criar nova pessoa",
"create_new_person_hint": "Atribuir arquivos selecionados a uma nova pessoa",
"create_new_user": "Criar novo usuário",
+ "create_tag": "Criar tag",
+ "create_tag_description": "Crie uma nova tag. Para tags compostas, digite o caminho completo da tag, inclusive as barras.",
"create_user": "Criar usuário",
"created": "Criado",
"current_device": "Dispositivo atual",
@@ -500,13 +531,17 @@
"delete_library": "Excluir biblioteca",
"delete_link": "Excluir link",
"delete_shared_link": "Excluir link de compartilhamento",
+ "delete_tag": "Remover tag",
+ "delete_tag_confirmation_prompt": "Tem certeza que deseja excluir a tag {tagName} ?",
"delete_user": "Excluir usuário",
"deleted_shared_link": "Link de compartilhamento excluído",
+ "deletes_missing_assets": "Excluir arquivos não encontrados",
"description": "Descrição",
"details": "Detalhes",
"direction": "Direção",
"disabled": "Desativado",
"disallow_edits": "Não permitir edições",
+ "discord": "Discord",
"discover": "Descobrir",
"dismiss_all_errors": "Dispensar todos os erros",
"dismiss_error": "Dispensar erro",
@@ -515,8 +550,11 @@
"display_original_photos": "Exibir fotos originais",
"display_original_photos_setting_description": "Prefira exibir a foto original ao visualizar um arquivo em vez de miniaturas quando o arquivo original é compatível com a web. Isso pode diminuir a velocidade de exibição das fotos.",
"do_not_show_again": "Não mostrar esta mensagem novamente",
+ "documentation": "Documentação",
"done": "Feito",
"download": "Baixar",
+ "download_include_embedded_motion_videos": "Vídeos inclusos",
+ "download_include_embedded_motion_videos_description": "Baixar os vídeos inclusos de uma foto em movimento em um arquivo separado",
"download_settings": "Baixar",
"download_settings_description": "Gerenciar configurações relacionadas a transferência de arquivos",
"downloading": "Baixando",
@@ -546,10 +584,15 @@
"edit_location": "Editar Localização",
"edit_name": "Editar nome",
"edit_people": "Editar pessoas",
+ "edit_tag": "Editar tag",
"edit_title": "Editar Título",
"edit_user": "Editar usuário",
"edited": "Editado",
"editor": "Editar",
+ "editor_close_without_save_prompt": "As alterações não serão salvas",
+ "editor_close_without_save_title": "Fechar editor?",
+ "editor_crop_tool_h2_aspect_ratios": "Proporções",
+ "editor_crop_tool_h2_rotation": "Rotação",
"email": "E-mail",
"empty": "",
"empty_album": "",
@@ -562,16 +605,16 @@
"error_loading_image": "Erro ao carregar a página",
"error_title": "Erro - Algo deu errado",
"errors": {
- "cannot_navigate_next_asset": "Não é possível navegar para o próximo arquivo",
- "cannot_navigate_previous_asset": "Não é possível navegar para o arquivo anterior",
- "cant_apply_changes": "Não é possível aplicar modificações",
- "cant_change_activity": "Não é possível {enabled, select, true {disable} other {enable}} atividade",
- "cant_change_asset_favorite": "Não é possível mudar favorito para o arquivo",
- "cant_change_metadata_assets_count": "Não é possível alterar os metadados de {count, plural, one {# arquivo} other {# arquivos}}",
+ "cannot_navigate_next_asset": "Não foi possível navegar para o próximo arquivo",
+ "cannot_navigate_previous_asset": "Não foi possível navegar para o arquivo anterior",
+ "cant_apply_changes": "Não foi possível aplicar as alterações",
+ "cant_change_activity": "Não foi possível {enabled, select, true {desativar} other {habilitar}} a atividade",
+ "cant_change_asset_favorite": "Não foi possível mudar favorito para o arquivo",
+ "cant_change_metadata_assets_count": "Não foi possível alterar os metadados de {count, plural, one {# arquivo} other {# arquivos}}",
"cant_get_faces": "Não foi possível obter os rostos",
- "cant_get_number_of_comments": "Não é possível obter o número de comentários",
- "cant_search_people": "Não é possível procurar pessoas",
- "cant_search_places": "Não é possível procurar locais",
+ "cant_get_number_of_comments": "Não foi possível obter o número de comentários",
+ "cant_search_people": "Não foi possível procurar pessoas",
+ "cant_search_places": "Não foi possível procurar locais",
"cleared_jobs": "Tarefas eliminadas para: {job}",
"error_adding_assets_to_album": "Erro ao adicionar arquivos para o álbum",
"error_adding_users_to_album": "Erro ao adicionar usuários para o álbum",
@@ -605,11 +648,11 @@
"unable_to_add_import_path": "Não foi possível adicionar o caminho de importação",
"unable_to_add_partners": "Não foi possível adicionar parceiros",
"unable_to_add_remove_archive": "Não é possível {archived, select, true {remove asset from} other {add asset to}} arquivar",
- "unable_to_add_remove_favorites": "Não é possível {favorite, select, true {add asset to} other {remove asset from}} favoritos",
- "unable_to_archive_unarchive": "Não é possível {archived, select, true {archive} other {unarchive}}",
+ "unable_to_add_remove_favorites": "Não foi possível {favorite, select, true {adicionar o arquivo aos} other {remover o arquivo dos}} favoritos",
+ "unable_to_archive_unarchive": "Não foi possível {archived, select, true {arquivar} other {desarquivar}}",
"unable_to_change_album_user_role": "Não foi possível alterar a permissão do usuário no álbum",
"unable_to_change_date": "Não foi possível alterar a data",
- "unable_to_change_favorite": "Não é possível alterar o favorito para o arquivo",
+ "unable_to_change_favorite": "Não foi possível alterar o favorito para o arquivo",
"unable_to_change_location": "Não foi possível alterar a localização",
"unable_to_change_password": "Não foi possível alterar a senha",
"unable_to_change_visibility": "Não foi possível alterar a visibilidade de {count, plural, one {# pessoa} other {# pessoas}}",
@@ -630,7 +673,7 @@
"unable_to_delete_import_path": "Não foi possível deletar o caminho de importação",
"unable_to_delete_shared_link": "Não foi possível deletar o link compartilhado",
"unable_to_delete_user": "Não foi possível deletar o usuário",
- "unable_to_download_files": "Não foi possível fazer download dos arquivos",
+ "unable_to_download_files": "Não foi possível baixar os arquivos",
"unable_to_edit_exclusion_pattern": "Não foi possível editar o padrão de exclusão",
"unable_to_edit_import_path": "Não foi possível editar o caminho de importação",
"unable_to_empty_trash": "Não foi possível esvaziar a lixeira",
@@ -639,6 +682,7 @@
"unable_to_get_comments_number": "Não foi possível obter o número de comentários",
"unable_to_get_shared_link": "Não foi possível obter link o compartilhado",
"unable_to_hide_person": "Não foi possível esconder a pessoa",
+ "unable_to_link_motion_video": "Não foi possível relacionar ao video animado",
"unable_to_link_oauth_account": "Não foi possível associar a conta OAuth",
"unable_to_load_album": "Não foi possível carregar o álbum",
"unable_to_load_asset_activity": "Não foi possível carregar as atividades do arquivo",
@@ -648,22 +692,22 @@
"unable_to_log_out_device": "Não foi possível sair do dispositivo",
"unable_to_login_with_oauth": "Não foi possível fazer login com OAuth",
"unable_to_play_video": "Não foi possível reproduzir o vídeo",
- "unable_to_reassign_assets_existing_person": "Não foi possível reatribuir arquivos para {name, select, null {an existing person} other {{name}}}",
+ "unable_to_reassign_assets_existing_person": "Não foi possível reatribuir arquivos a {name, select, null {uma pessoa} other {{name}}}",
"unable_to_reassign_assets_new_person": "Não foi possível reatribuir arquivos a uma nova pessoa",
"unable_to_refresh_user": "Não foi possível atualizar o usuário",
"unable_to_remove_album_users": "Não foi possível remover usuários do álbum",
"unable_to_remove_api_key": "Não foi possível a Chave de API",
"unable_to_remove_assets_from_shared_link": "Não foi possível remover arquivos do link compartilhado",
"unable_to_remove_comment": "",
+ "unable_to_remove_deleted_assets": "Não foi possível remover arquivos offline",
"unable_to_remove_library": "Não foi possível remover a biblioteca",
- "unable_to_remove_offline_files": "Não foi possível remover arquivos offline",
"unable_to_remove_partner": "Não foi possível remover parceiro",
"unable_to_remove_reaction": "Não foi possível remover a reação",
"unable_to_remove_user": "",
"unable_to_repair_items": "Não foi possível reparar os itens",
"unable_to_reset_password": "Não foi possível resetar a senha",
"unable_to_resolve_duplicate": "Não foi possível resolver a duplicidade",
- "unable_to_restore_assets": "Não foi possível restaurar o(s) arquivo(s)",
+ "unable_to_restore_assets": "Não foi possível restaurar",
"unable_to_restore_trash": "Não foi possível restaurar itens da lixeira",
"unable_to_restore_user": "Não foi possível restaurar usuário",
"unable_to_save_album": "Não foi possível salvar o álbum",
@@ -679,6 +723,7 @@
"unable_to_submit_job": "Não foi possível enviar a tarefa",
"unable_to_trash_asset": "Não foi possível enviar o arquivo para a lixeira",
"unable_to_unlink_account": "Não foi possível desvincular conta",
+ "unable_to_unlink_motion_video": "Não foi possível remover a relação com o video animado",
"unable_to_update_album_cover": "Não foi possível atualizar a capa do álbum",
"unable_to_update_album_info": "Não foi possível atualizar as informações do álbum",
"unable_to_update_library": "Não foi possível atualizar a biblioteca",
@@ -699,6 +744,7 @@
"expired": "Expirou",
"expires_date": "Expira em {date}",
"explore": "Explorar",
+ "explorer": "Explorar",
"export": "Exportar",
"export_as_json": "Exportar como JSON",
"extension": "Extensão",
@@ -712,6 +758,8 @@
"feature": "",
"feature_photo_updated": "Foto principal atualizada",
"featurecollection": "",
+ "features": "Funcionalidades",
+ "features_setting_description": "Gerenciar as funcionalidades da aplicação",
"file_name": "Nome do arquivo",
"file_name_or_extension": "Nome do arquivo ou extensão",
"filename": "Nome do arquivo",
@@ -720,12 +768,14 @@
"filter_people": "Filtrar pessoas",
"find_them_fast": "Encontre pelo nome em uma pesquisa",
"fix_incorrect_match": "Corrigir correspondência incorreta",
+ "folders": "Pastas",
+ "folders_feature_description": "Navegar pelas pastas das fotos e vídeos no sistema de arquivos",
"force_re-scan_library_files": "Força escanear novamente todos os arquivos da biblioteca",
"forward": "Para frente",
"general": "Geral",
"get_help": "Obter Ajuda",
"getting_started": "Primeiros passos",
- "go_back": "Retornar",
+ "go_back": "Voltar",
"go_to_search": "Ir para a pesquisa",
"go_to_share_page": "Ir para a página de compartilhamento",
"group_albums_by": "Agrupar álbuns por...",
@@ -743,16 +793,16 @@
"host": "Host",
"hour": "Hora",
"image": "Imagem",
- "image_alt_text_date": "{isVideo, select, true {Vídeo} other {Imagem}} {isVideo, select, true {tirado} other {tirada}} em {date}",
- "image_alt_text_date_1_person": "{isVideo, select, true {Vídeo} other {Imagem}} {isVideo, select, true {tirado} other {tirada}} com {person1} em {date}",
- "image_alt_text_date_2_people": "{isVideo, select, true {Vídeo} other {Imagem}} {isVideo, select, true {tirado} other {tirada}} com {person1} e {person2} em {date}",
- "image_alt_text_date_3_people": "{isVideo, select, true {Vídeo} other {Imagem}} {isVideo, select, true {tirado} other {tirada}} com {person1}, {person2}, e {person3} em {date}",
- "image_alt_text_date_4_or_more_people": "{isVideo, select, true {Vídeo} other {Imagem}} {isVideo, select, true {tirado} other {tirada}} com {person1}, {person2}, e {additionalCount, number} outros em {date}",
- "image_alt_text_date_place": "{isVideo, select, true {Vídeo} other {Imagem}} {isVideo, select, true {tirado} other {tirada}} em {city}, {country} em {date}",
- "image_alt_text_date_place_1_person": "{isVideo, select, true {Vídeo} other {Imagem}} {isVideo, select, true {tirado} other {tirada}} em {city}, {country} com {person1} em {date}",
- "image_alt_text_date_place_2_people": "{isVideo, select, true {Vídeo} other {Imagem}} {isVideo, select, true {tirado} other {tirada}} em {city}, {country} com {person1} e {person2} em {date}",
- "image_alt_text_date_place_3_people": "{isVideo, select, true {Vídeo} other {Imagem}} {isVideo, select, true {tirado} other {tirada}} em {city}, {country} com {person1}, {person2}, e {person3} em {date}",
- "image_alt_text_date_place_4_or_more_people": "{isVideo, select, true {Vídeo} other {Imagem}} {isVideo, select, true {tirado} other {tirada}} em {city}, {country} com {person1}, {person2}, e {additionalCount, number} outros em {date}",
+ "image_alt_text_date": "{isVideo, select, true {Vídeo gravado} other {Foto tirada}} em {date}",
+ "image_alt_text_date_1_person": "{isVideo, select, true {Vídeo gravado} other {Foto tirada}} com {person1} em {date}",
+ "image_alt_text_date_2_people": "{isVideo, select, true {Vídeo gravado} other {Foto tirada}} com {person1} e {person2} em {date}",
+ "image_alt_text_date_3_people": "{isVideo, select, true {Vídeo gravado} other {Foto tirada}} com {person1}, {person2}, e {person3} em {date}",
+ "image_alt_text_date_4_or_more_people": "{isVideo, select, true {Vídeo gravado} other {Foto tirada}} com {person1}, {person2}, e outras {additionalCount, number} em {date}",
+ "image_alt_text_date_place": "{isVideo, select, true {Vídeo gravado} other {Foto tirada}} em {city}, {country} em {date}",
+ "image_alt_text_date_place_1_person": "{isVideo, select, true {Vídeo gravado} other {Foto tirada}} em {city}, {country} com {person1} em {date}",
+ "image_alt_text_date_place_2_people": "{isVideo, select, true {Vídeo gravado} other {Foto tirada}} em {city}, {country} com {person1} e {person2} em {date}",
+ "image_alt_text_date_place_3_people": "{isVideo, select, true {Vídeo gravado} other {Foto tirada}} em {city}, {country} com {person1}, {person2}, e {person3} em {date}",
+ "image_alt_text_date_place_4_or_more_people": "{isVideo, select, true {Vídeo gravado} other {Foto tirada}} em {city}, {country} com {person1}, {person2}, e {additionalCount, number} outros em {date}",
"image_alt_text_people": "{count, plural, =1 {com {person1}} =2 {com {person1} e {person2}} =3 {com {person1}, {person2}, e {person3}} other {com {person1}, {person2} e outras {others, number} pessoas}}",
"image_alt_text_place": "em {city}, {country}",
"image_taken": "{isVideo, select, true {Gravado} other {Fotografado}}",
@@ -819,6 +869,7 @@
"license_trial_info_4": "Por favor, Considere adquirir uma licença para apoiar o desenvolvimento contínuo do serviço",
"light": "Claro",
"like_deleted": "Curtida excluída",
+ "link_motion_video": "Relacionar video animado",
"link_options": "Opções do Link",
"link_to_oauth": "Link do OAuth",
"linked_oauth_account": "Conta OAuth Vinculada",
@@ -837,6 +888,7 @@
"look": "Estilo",
"loop_videos": "Repetir vídeos",
"loop_videos_description": "Ative para repetir os vídeos automaticamente durante a exibição.",
+ "main_branch_warning": "Você está utilizando a versão de desenvolvimento. É altamente recomendado que utilize a versão estável!",
"make": "Marca",
"manage_shared_links": "Gerir links partilhados",
"manage_sharing_with_partners": "Gerenciar compartilhamento com parceiros",
@@ -858,10 +910,10 @@
"menu": "Menu",
"merge": "Mesclar",
"merge_people": "Mesclar pessoas",
- "merge_people_limit": "Só é possível combinar até 5 rostos de uma só vez",
+ "merge_people_limit": "Só é possível mesclar até 5 pessoas de uma só vez",
"merge_people_prompt": "Tem certeza que deseja mesclar estas pessoas? Esta ação é irreversível.",
"merge_people_successfully": "Pessoas mescladas com sucesso",
- "merged_people_count": "{count, plural, one {# pessoa foi combinada} other {# pessoas foram combinadas}}",
+ "merged_people_count": "{count, plural, one {# pessoa foi mesclada} other {# pessoas foram mescladas}}",
"minimize": "Minimizar",
"minute": "Minuto",
"missing": "Faltando",
@@ -906,18 +958,21 @@
"notifications": "Notificações",
"notifications_setting_description": "Gerenciar notificações",
"oauth": "OAuth",
+ "official_immich_resources": "Recursos oficiais do Immich",
"offline": "Offline",
"offline_paths": "Caminhos offline",
"offline_paths_description": "Estes resultados podem ser devidos a arquivos deletados manualmente e que não são parte de uma biblioteca externa.",
"ok": "Ok",
"oldest_first": "Mais antigo primeiro",
"onboarding": "Integração",
+ "onboarding_privacy_description": "As seguintes funções opcionais dependem de serviços externos e podem ser desabilitadas a qualquer momento nas configurações de administração.",
"onboarding_theme_description": "Escolha um tema de cores para sua instância. Você pode alterar isso posteriormente em suas configurações.",
"onboarding_welcome_description": "Vamos configurar sua instância com algumas configurações comuns.",
"onboarding_welcome_user": "Bem-vindo, {user}",
"online": "Online",
"only_favorites": "Somente favoritos",
"only_refreshes_modified_files": "Somente atualize arquivos modificados",
+ "open_in_map_view": "Mostrar no mapa",
"open_in_openstreetmap": "Abrir no OpenStreetMap",
"open_the_search_filters": "Abre os filtros de pesquisa",
"options": "Opções",
@@ -952,6 +1007,7 @@
"pending": "Pendente",
"people": "Pessoas",
"people_edits_count": "{count, plural, one {# pessoa editada} other {# pessoas editadas}}",
+ "people_feature_description": "Navegar por fotos e vídeos agrupados por pessoas",
"people_sidebar_description": "Exibe o link Pessoas na barra lateral",
"perform_library_tasks": "",
"permanent_deletion_warning": "Aviso para deletar permanentemente",
@@ -984,6 +1040,7 @@
"previous_memory": "Memória anterior",
"previous_or_next_photo": "Foto anterior ou próxima",
"primary": "Primário",
+ "privacy": "Privacidade",
"profile_image_of_user": "Imagem do perfil de {user}",
"profile_picture_set": "Foto de perfil definida.",
"public_album": "Álbum público",
@@ -1007,8 +1064,8 @@
"purchase_license_subtitle": "Compre o Immich para apoiar o desenvolvimento contínuo do serviço",
"purchase_lifetime_description": "Compra vitalícia",
"purchase_option_title": "OPÇÕES DE COMPRA",
- "purchase_panel_info_1": "Construir o Immich leva muito tempo e esforço, e temos engenheiros dedicados trabalhando nele para torná-lo o melhor possível. Nossa missão é que programas de código aberto e as práticas empresariais éticas se tornem uma fonte de receita sustentável para os desenvolvedores e criar um ecossistema que respeite a privacidade, oferecendo alternativas reais aos serviços de nuvem exploratórios.",
- "purchase_panel_info_2": "Como estamos comprometidos em não adicionar bloqueios de pagamento, esta compra não lhe concederá recursos adicionais no Immich. Contamos com usuários como você para apoiar o desenvolvimento contínuo do Immich.",
+ "purchase_panel_info_1": "Construir o Immich leva muito tempo e esforço. Temos engenheiros trabalhando em tempo integral para torná-lo o melhor possível. Nossa missão é fazer com que programas de código aberto e práticas empresariais éticas se tornem uma fonte de renda sustentável para os desenvolvedores e também criar um ecossistema que respeite a privacidade, oferecendo alternativas reais aos serviços de nuvem exploratórios.",
+ "purchase_panel_info_2": "Como estamos comprometidos em não adicionar funções bloqueadas por compras, esta compra não lhe concederá nenhum recurso adicional no Immich. Nós contamos com usuários como você para apoiar o desenvolvimento contínuo do Immich.",
"purchase_panel_title": "Apoiar o projeto",
"purchase_per_server": "Por servidor",
"purchase_per_user": "Por usuário",
@@ -1021,22 +1078,28 @@
"purchase_server_title": "Servidor",
"purchase_settings_server_activated": "A chave do produto para servidor é gerenciada pelo administrador",
"range": "",
+ "rating": "Estrelas",
+ "rating_clear": "Limpar classificação",
+ "rating_count": "{count, plural, one {# estrela} other {# estrelas}}",
+ "rating_description": "Exibir o EXIF de classificação no painel de informações",
"raw": "",
"reaction_options": "Opções de reação",
"read_changelog": "Ler Novidades",
"reassign": "Reatribuir",
- "reassigned_assets_to_existing_person": "{count, plural, one {# arquivo reatribuído} other {# arquivos reatribuídos}} a {name, select, null {an existing person} other {{name}}}",
+ "reassigned_assets_to_existing_person": "{count, plural, one {# arquivo reatribuído} other {# arquivos reatribuídos}} a {name, select, null {uma pessoa} other {{name}}}",
"reassigned_assets_to_new_person": "{count, plural, one {# arquivo reatribuído} other {# arquivos reatribuídos}} a uma nova pessoa",
"reassing_hint": "Atribuir arquivos selecionados a uma pessoa existente",
"recent": "Recente",
"recent_searches": "Pesquisas recentes",
"refresh": "Atualizar",
"refresh_encoded_videos": "Atualizar vídeos codificados",
+ "refresh_faces": "Atualizar rostos",
"refresh_metadata": "Atualizar metadados",
"refresh_thumbnails": "Atualizar miniaturas",
"refreshed": "Atualizado",
"refreshes_every_file": "Atualiza todos arquivos",
"refreshing_encoded_video": "Atualizando vídeo codificado",
+ "refreshing_faces": "Atualizando rostos",
"refreshing_metadata": "Atualizando metadados",
"regenerating_thumbnails": "Regenerando miniaturas",
"remove": "Remover",
@@ -1044,15 +1107,16 @@
"remove_assets_shared_link_confirmation": "Tem certeza de que deseja remover {count, plural, one {# arquivo} other {# arquivos}} desse link compartilhado?",
"remove_assets_title": "Remover arquivos?",
"remove_custom_date_range": "Remover intervalo de datas personalizado",
+ "remove_deleted_assets": "Remover arquivos offline",
"remove_from_album": "Remover do álbum",
"remove_from_favorites": "Remover dos favoritos",
"remove_from_shared_link": "Remover do link compartilhado",
- "remove_offline_files": "Remover arquivos offline",
"remove_user": "Remover usuário",
"removed_api_key": "Removido a Chave de API: {name}",
"removed_from_archive": "Removido do arquivo",
"removed_from_favorites": "Removido dos favoritos",
"removed_from_favorites_count": "{count, plural, one {# Removido} other {# Removidos}} dos favoritos",
+ "removed_tagged_assets": "Tag removida de {count, plural, one {# arquivo} other {# arquivos}}",
"rename": "Renomear",
"repair": "Reparar",
"repair_no_results_message": "Arquivos perdidos ou não rastreados aparecem aqui",
@@ -1084,6 +1148,7 @@
"say_something": "Diga algo",
"scan_all_libraries": "Escanear Todas Bibliotecas",
"scan_all_library_files": "Re-escanear todos arquivos da biblioteca",
+ "scan_library": "Analisar",
"scan_new_library_files": "Escanear novos arquivos na biblioteca",
"scan_settings": "Opções de escanear",
"scanning_for_album": "Escaneando por álbum...",
@@ -1099,9 +1164,12 @@
"search_for_existing_person": "Pesquisar por pessoas",
"search_no_people": "Nenhuma pessoa",
"search_no_people_named": "Nenhuma pessoa chamada \"{name}\"",
+ "search_options": "Opções de pesquisa",
"search_people": "Pesquisar pessoas",
"search_places": "Pesquisar lugares",
+ "search_settings": "Configurações de pesquisa",
"search_state": "Pesquisar estado...",
+ "search_tags": "Procurar tags...",
"search_timezone": "Pesquisar fuso horário...",
"search_type": "Pesquisar tipo",
"search_your_photos": "Pesquisar fotos",
@@ -1125,8 +1193,8 @@
"send_message": "Enviar mensagem",
"send_welcome_email": "Enviar E-mail de boas vindas",
"server": "Servidor",
- "server_offline": "Servidor Fora do Ar",
- "server_online": "Servidor no Ar",
+ "server_offline": "Servidor Indisponível",
+ "server_online": "Servidor Disponível",
"server_stats": "Status do servidor",
"server_version": "Versão do servidor",
"set": "Definir",
@@ -1143,14 +1211,16 @@
"shared_by_user": "Compartilhado por {user}",
"shared_by_you": "Compartilhado por você",
"shared_from_partner": "Fotos de {partner}",
+ "shared_link_options": "Opções do link compartilhado",
"shared_links": "Links compartilhados",
- "shared_photos_and_videos_count": "{assetCount, plural, one {# foto e vídeo compartilhados.} other {# fotos e vídeos compartilhados.}}",
+ "shared_photos_and_videos_count": "{assetCount, plural, one {# arquivo compartilhado.} other {# arquivos compartilhados.}}",
"shared_with_partner": "Compartilhado com {partner}",
"sharing": "Compartilhar",
"sharing_enter_password": "Digite a senha para visualizar esta página.",
"sharing_sidebar_description": "Exibe o link Compartilhar na barra lateral",
"shift_to_permanent_delete": "pressione ⇧ para excluir permanentemente o arquivo",
"show_album_options": "Exibir opções do álbum",
+ "show_albums": "Exibir álbuns",
"show_all_people": "Mostrar todas as pessoas",
"show_and_hide_people": "Mostrar & ocultar pessoas",
"show_file_location": "Exibir local do arquivo",
@@ -1165,13 +1235,18 @@
"show_person_options": "Exibir opções da pessoa",
"show_progress_bar": "Exibir barra de progresso",
"show_search_options": "Exibir opções de pesquisa",
+ "show_slideshow_transition": "Usar transições no modo de apresentação",
"show_supporter_badge": "Insígnia de Contribuidor",
- "show_supporter_badge_description": "Mostrar uma insígnia de contribuidor",
+ "show_supporter_badge_description": "Mostrar a insígnia de contribuidor",
"shuffle": "Aleatório",
+ "sidebar": "Barra lateral",
+ "sidebar_display_description": "Exibir um link para visualizar na barra lateral",
"sign_out": "Sair",
"sign_up": "Registrar",
"size": "Tamanho",
"skip_to_content": "Pular para o conteúdo",
+ "skip_to_folders": "Ir para pastas",
+ "skip_to_tags": "Ir para as tags",
"slideshow": "Apresentação",
"slideshow_settings": "Opções de apresentação",
"sort_albums_by": "Ordenar álbuns por...",
@@ -1183,6 +1258,8 @@
"sort_title": "Título",
"source": "Fonte",
"stack": "Empilhar",
+ "stack_duplicates": "Empilhar duplicados",
+ "stack_select_one_photo": "Selecione uma foto principal para a pilha",
"stack_selected_photos": "Empilhar fotos selecionadas",
"stacked_assets_count": "{count, plural, one {# arquivo empilhado} other {# arquivos empilhados}}",
"stacktrace": "Stacktrace",
@@ -1200,22 +1277,35 @@
"submit": "Enviar",
"suggestions": "Sugestões",
"sunrise_on_the_beach": "Nascer do sol na praia",
+ "support": "Ajuda",
+ "support_and_feedback": "Ajuda & Feedback",
+ "support_third_party_description": "Sua instalação do Immich é fornecida por terceiros. É possível que problemas sejam causados por eles, por isso, se tiver problemas, procure primeiro ajuda com eles utilizando os links abaixo.",
"swap_merge_direction": "Alternar direção da mesclagem",
"sync": "Sincronizar",
+ "tag": "Tag",
+ "tag_assets": "Marcar com tag",
+ "tag_created": "Tag foi criada: {tag}",
+ "tag_feature_description": "Visualizar fotos e videos agrupados pelo tópico da tag",
+ "tag_not_found_question": "Não consegue encontrar a tag? Crie uma tag nova aqui.",
+ "tag_updated": "Tag foi atualizada: {tag}",
+ "tagged_assets": "{count, plural, one {# arquivo marcado} other {# arquivos marcados}} com a tag",
+ "tags": "Tags",
"template": "Modelo",
"theme": "Tema",
"theme_selection": "Selecionar tema",
"theme_selection_description": "Defina automaticamente o tema como claro ou escuro com base na preferência do sistema do seu navegador",
- "they_will_be_merged_together": "Eles serão combinados",
+ "they_will_be_merged_together": "Eles serão mesclados",
+ "third_party_resources": "Recursos de terceiros",
"time_based_memories": "Memórias baseada no tempo",
"timezone": "Fuso horário",
"to_archive": "Arquivar",
"to_change_password": "Alterar senha",
"to_favorite": "Favorito",
"to_login": "Iniciar sessão",
+ "to_parent": "Voltar um nível acima",
"to_trash": "Mover para a lixeira",
"toggle_settings": "Alternar configurações",
- "toggle_theme": "Alternar tema",
+ "toggle_theme": "Alternar tema escuro",
"toggle_visibility": "Alternar visibilidade",
"total_usage": "Utilização total",
"trash": "Lixeira",
@@ -1234,13 +1324,15 @@
"unknown_album": "",
"unknown_year": "Ano desconhecido",
"unlimited": "Ilimitado",
+ "unlink_motion_video": "Remover relação com video animado",
"unlink_oauth": "Desvincular OAuth",
"unlinked_oauth_account": "Conta OAuth desvinculada",
"unnamed_album": "Álbum sem nome",
+ "unnamed_album_delete_confirmation": "Tem certeza que deseja excluir este álbum?",
"unnamed_share": "Compartilhamento sem nome",
"unsaved_change": "Alteração não salva",
"unselect_all": "Limpar seleção",
- "unselect_all_duplicates": "Deselecionar todas as duplicatas",
+ "unselect_all_duplicates": "Desselecionar todas as duplicatas",
"unstack": "Desempilhar",
"unstacked_assets_count": "{count, plural, one {# arquivo não empilhado} other {# arquivos não empilhados}}",
"untracked_files": "Arquivos não monitorados",
@@ -1250,7 +1342,7 @@
"upload": "Carregar",
"upload_concurrency": "Carregar simultâneo",
"upload_errors": "Envio concluído com {count, plural, one {# erro} other {# erros}}, atualize a página para ver os novos arquivos carregados.",
- "upload_progress": "Restando {remaining, number} - Processando(a)(s) {processed, number}/{total, number}",
+ "upload_progress": "{remaining, number} processando - {processed, number}/{total, number} já processados",
"upload_skipped_duplicates": "{count, plural, one {# arquivo duplicado foi ignorado} other {# arquivos duplicados foram ignorados}}",
"upload_status_duplicates": "Duplicados",
"upload_status_errors": "Erros",
@@ -1258,13 +1350,13 @@
"upload_success": "Carregado com sucesso, atualize a página para ver os novos arquivos.",
"url": "URL",
"usage": "Uso",
- "use_custom_date_range": "Usar intervalo de datas personalizado invés",
+ "use_custom_date_range": "Usar intervalo de datas personalizado",
"user": "Usuário",
"user_id": "ID do usuário",
"user_license_settings": "Licença",
"user_license_settings_description": "Gerenciar sua licença",
- "user_liked": "{user} curtiu {type, select, photo {this photo} video {this video} asset {this asset} other {it}}",
- "user_purchase_settings": "Compra",
+ "user_liked": "{user} curtiu {type, select, photo {a foto} video {o vídeo} asset {o arquivo} other {isso}}",
+ "user_purchase_settings": "Comprar",
"user_purchase_settings_description": "Gerenciar sua compra",
"user_role_set": "Definir {user} como {role}",
"user_usage_detail": "Detalhes de uso do usuário",
@@ -1275,22 +1367,25 @@
"variables": "Variáveis",
"version": "Versão",
"version_announcement_closing": "De seu amigo, Alex",
- "version_announcement_message": "Olá, amigo, há uma nova versão do aplicativo disponível. Por favor, visite com calma a página notas da versão e certifique-se de que a configuração do docker-compose.yml
, e do .env
estejam atualizadas para evitar configurações incorretas, especialmente se você usar o WatchTower ou qualquer mecanismo que lide com a atualização automática do aplicativo.",
+ "version_announcement_message": "Olá amigo! Uma nova versão do aplicativo está disponível. Para evitar configurações incorretas, por favor verifique com calma a página de notas da versão e certifique-se que os arquivos docker-compose.yml
e .env
estão configurados corretamente, principalmente se você usa o WatchTower ou qualquer outro mecanismo que faça atualizações automáticas.",
+ "version_history": "Histórico de versões",
+ "version_history_item": "Instalado {version} em {date}",
"video": "Vídeo",
"video_hover_setting": "Reproduzir miniatura do vídeo ao passar o mouse",
"video_hover_setting_description": "Reproduzir a miniatura do vídeo ao passar o mouse sobre o item. Mesmo quando desativado, a reprodução pode ser iniciada ao passar o mouse sobre o ícone de reprodução.",
"videos": "Vídeos",
"videos_count": "{count, plural, one {# Vídeo} other {# Vídeos}}",
"view": "Ver",
- "view_album": "Exibir álbum",
+ "view_album": "Ver álbum",
"view_all": "Ver tudo",
"view_all_users": "Ver todos usuários",
+ "view_in_timeline": "Ver na linha do tempo",
"view_links": "Ver links",
"view_next_asset": "Ver próximo arquivo",
"view_previous_asset": "Ver arquivo anterior",
"view_stack": "Exibir Pilha",
"viewer": "Visualizar",
- "visibility_changed": "Visibilidade alterada para {count, plural, one {# pessoa} other {# pessoas}}",
+ "visibility_changed": "A visibilidade de {count, plural, one {# pessoa foi alterada} other {# pessoas foram alteradas}}",
"waiting": "Aguardando",
"warning": "Aviso",
"week": "Semana",
diff --git a/i18n/ro.json b/i18n/ro.json
new file mode 100644
index 0000000000..4078f656b9
--- /dev/null
+++ b/i18n/ro.json
@@ -0,0 +1,1095 @@
+{
+ "about": "Despre",
+ "account": "Cont",
+ "account_settings": "Setări Cont",
+ "acknowledge": "Văzut",
+ "action": "Acţiune",
+ "actions": "Acţiuni",
+ "active": "Activ",
+ "activity": "Activitate",
+ "activity_changed": "Activitatea este {enabled, select, true {activată} other {dezactivată}}",
+ "add": "Adaugă",
+ "add_a_description": "Adaugă o descriere",
+ "add_a_location": "Adaugă locație",
+ "add_a_name": "Adaugă un nume",
+ "add_a_title": "Adaugă un titlu",
+ "add_exclusion_pattern": "Adăugă un model de excludere",
+ "add_import_path": "Adaugă o cale de import",
+ "add_location": "Adaugă o locație",
+ "add_more_users": "Adaugă mai mulți utilizatori",
+ "add_partner": "Adaugă partener",
+ "add_path": "Adaugă o cale",
+ "add_photos": "Adaugă fotografii",
+ "add_to": "Adaugă la...",
+ "add_to_album": "Adaugă în album",
+ "add_to_shared_album": "Adaugă la album partajat",
+ "added_to_archive": "Adăugat la arhivă",
+ "added_to_favorites": "Adaugă la favorite",
+ "added_to_favorites_count": "Adăugat {count, number} la favorite",
+ "admin": {
+ "add_exclusion_pattern_description": "Adăugați modele de excludere. Globing folosind *, ** și ? este suportat. Pentru a ignora toate fișierele din orice director numit „Raw”, utilizați „**/Raw/**”. Pentru a ignora toate fișierele care se termină în „.tif”, utilizați „**/*.tif”. Pentru a ignora o cale absolută, utilizați „/path/to/ignore/**”.",
+ "asset_offline_description": "Acest material din biblioteca externă nu se mai găsește pe disc și a fost mutat în coșul de gunoi. Dacă fișierul a fost mutat în bibliotecă, verificați cronologia pentru noul material corespunzător. Pentru a restabili acest material, asigurați-vă că calea fișierului de mai jos poate fi accesată de Immich și scanați biblioteca.",
+ "authentication_settings": "Setări de autentificare",
+ "authentication_settings_description": "Gestionează parola, OAuth și alte setări de autentificare",
+ "authentication_settings_disable_all": "Ești sigur că vrei sa dezactivezi toate metodele de autentificare? Autentificarea va fi complet dezactivată.",
+ "authentication_settings_reenable": "Pentru a reactiva, folosește Comandă Server.",
+ "background_task_job": "Activități de fundal",
+ "check_all": "Bifează toate",
+ "cleared_jobs": "Activități eliminate pentru: {job}",
+ "config_set_by_file": "Configurația este setată în prezent de un fișier de configurare",
+ "confirm_delete_library": "Sigur doriți să ștergeți biblioteca {library}?",
+ "confirm_delete_library_assets": "Sigur doriți să ștergeți această bibliotecă? Aceasta va șterge {count, plural, one {# contained asset} other {all # contained assets}} din Immich și nu poate fi anulată. Fișierele vor rămâne pe disc.",
+ "confirm_email_below": "Pentru a confirma, tastați „{email}” mai jos",
+ "confirm_reprocess_all_faces": "Sigur doriți să reprocesați toate fețele? Acest lucru va șterge și persoanele cu nume.",
+ "confirm_user_password_reset": "Sigur doriți să resetați parola utilizatorului {user}?",
+ "create_job": "Creează sarcină",
+ "crontab_guru": "",
+ "disable_login": "Dezactivați autentificarea",
+ "disabled": "",
+ "duplicate_detection_job_description": "Rulați învățarea automată pe materiale pentru a detecta imagini similare. Se bazează pe Căutare Inteligentă",
+ "exclusion_pattern_description": "Modelele de excludere vă permit să ignorați fișierele și folderele atunci când vă scanați biblioteca. Acest lucru este util dacă aveți foldere care conțin fișiere pe care nu doriți să le importați, cum ar fi fișierele RAW.",
+ "external_library_created_at": "Bibliotecă externă (creată pe {date})",
+ "external_library_management": "Managementul Bibliotecii Externe",
+ "face_detection": "Detecție facială",
+ "face_detection_description": "Detectează fețele din fișiere folosind învățare automată. Pentru videoclipuri, este luată în considerare doar miniatura. „Reînprospătează” (re)procesează toate fișierele. „Resetează” adaugă în coadă fișierele care nu au fost încă procesate. Fețele detectate vor fi puse în coadă pentru recunoașterea facială după finalizarea detectării feței, grupându-le în persoane existente sau noi.",
+ "facial_recognition_job_description": "Grupați fețele detectate în persoane. Acest pas rulează după ce Detectarea Feței este finalizată. „Resetează” (re)grupează toate fețele. „Lipsă” adaugă în coadă fețe care nu au o persoană desemnată.",
+ "failed_job_command": "Comanda {command} a eșuat pentru jobul: {job}",
+ "force_delete_user_warning": "AVERTISMENT: Acest lucru va elimina imediat utilizatorul și toate activele sale. Acest lucru nu poate fi anulat și fișierele nu pot fi recuperate.",
+ "forcing_refresh_library_files": "Forțarea reîmprospătării tuturor fișierelor din bibliotecă",
+ "image_format": "Formateaza",
+ "image_format_description": "WebP produce fișiere mai mici decât JPEG, dar este mai lent de codat.",
+ "image_prefer_embedded_preview": "Preferați previzualizarea încorporată",
+ "image_prefer_embedded_preview_setting_description": "Folosiți previzualizările încorporate în fotografiile RAW ca intrare pentru procesarea imaginii, atunci când sunt disponibile. Acest lucru poate produce culori mai precise pentru unele imagini, dar calitatea previzualizării depinde de cameră și imaginea poate avea mai multe artefacte de compresie.",
+ "image_prefer_wide_gamut": "Preferă o gamă largă",
+ "image_prefer_wide_gamut_setting_description": "Utilizați Display P3 pentru miniaturi. Acest lucru păstrează mai bine vibrația imaginilor cu spații de culoare largi, dar imaginile pot apărea diferit pe dispozitivele cu o versiune mai veche de browser. Imaginile sRGB sunt păstrate ca sRGB pentru a evita schimbările de culoare.",
+ "image_preview_description": "Imagine de dimensiune medie cu metadate eliminate, utilizată la vizualizarea unui singur element și pentru învățarea automată",
+ "image_preview_format": "Format de previzualizare",
+ "image_preview_quality_description": "Calitatea previzualizării de la 1 la 100. O valoare mai mare oferă o calitate mai bună, dar produce fișiere mai mari și poate reduce receptivitatea aplicației. Setarea unei valori scăzute poate afecta calitatea învățării automate.",
+ "image_preview_resolution": "Previzualizare rezoluție",
+ "image_preview_resolution_description": "Folosit la vizualizarea unei singure fotografii și pentru învățarea automată. Rezoluțiile mai mari pot păstra mai multe detalii, dar codarea durează mai mult, au dimensiuni mai mari ale fișierelor și pot reduce capacitatea de răspuns a aplicației.",
+ "image_preview_title": "Previzualizeaza setarile",
+ "image_quality": "Calitate",
+ "image_quality_description": "Calitatea imaginii de la 1 la 100. Număr mai mare este mai bun pentru calitate dar produce fișiere mai mari, această opțiune afectează imaginile Preview și Thumbnail.",
+ "image_resolution": "Rezolutie",
+ "image_resolution_description": "Rezoluțiile mai mari pot păstra mai multe detalii, dar necesită mai mult timp pentru a fi codificate, au dimensiuni mai mari ale fișierelor și pot reduce răspunsul aplicației.",
+ "image_settings": "Setările imaginii",
+ "image_settings_description": "Gestionează calitatea și rezoluția imaginilor generate",
+ "image_thumbnail_description": "Miniatură mică cu metadate eliminate, utilizată la vizualizarea grupurilor de fotografii, cum ar fi în cronologia principală",
+ "image_thumbnail_format": "Format imagini miniatură",
+ "image_thumbnail_quality_description": "Calitatea miniaturii de la 1 la 100. O valoare mai mare oferă o calitate mai bună, dar produce fișiere mai mari și poate reduce receptivitatea aplicației.",
+ "image_thumbnail_resolution": "Rezoluție imagini miniatură",
+ "image_thumbnail_resolution_description": "Folosit la vizualizarea unor grupuri de fotografii (cronologie principală, vizualizare album etc.). Rezoluțiile mai mari pot păstra mai multe detalii, dar codarea durează mai mult, au dimensiuni mai mari ale fișierelor și pot reduce capacitatea de răspuns a aplicației.",
+ "image_thumbnail_title": "Setari miniaturi",
+ "job_concurrency": "concurență {job}",
+ "job_created": "Sarcină creată",
+ "job_not_concurrency_safe": "Acest job nu este sigur pentru a rula în concurență.",
+ "job_settings": "Setări sarcină",
+ "job_settings_description": "Administrează concurența sarcinilor",
+ "job_status": "Starea sarcinii",
+ "jobs_delayed": "{jobCount, plural, other {# delayed}}",
+ "jobs_failed": "{jobCount, plural, other {# eșuat}}",
+ "library_created": "Librărie creată:{library}",
+ "library_cron_expression": "Expresie Cron",
+ "library_cron_expression_description": "Setează intervalul de scanare folosind formatul cron. Pentru mai multe informații, vă rugăm referiți-vă la pentru exemplu: Crontab Guru",
+ "library_cron_expression_presets": "presetări expresie cron",
+ "library_deleted": "Bibliotecă ștearsă",
+ "library_import_path_description": "Specificați un folder pentru a îl importa. Acest folder, inclusiv sub-folderele, vor fi scanate pentru imagini și videoclipuri.",
+ "library_scanning": "Scanare Periodică",
+ "library_scanning_description": "Configurează scanarea periodică pentru bibliotecă",
+ "library_scanning_enable_description": "Activează scanarea periodică pentru bibliotecă",
+ "library_settings": "Bibliotecă Externă",
+ "library_settings_description": "Administrează setările pentru biblioteci externe",
+ "library_tasks_description": "Efectuează sarcini asupra bibliotecii",
+ "library_watching_enable_description": "Urmărește bibliotecile externe pentru schimbări ale fișierelor",
+ "library_watching_settings": "Urmărirea bibliotecii (EXPERIMENTAL)",
+ "library_watching_settings_description": "Urmărește automat fișierele schimbate",
+ "logging_enable_description": "Activează înregistrarea log-urilor",
+ "logging_level_description": "Dacă setarea este activată, înregistrează evenimentele cu nivelul.",
+ "logging_settings": "Înregistrare",
+ "machine_learning_clip_model": "Model CLIP",
+ "machine_learning_clip_model_description": "Numele unui model CLIP listat aici. Rețineți că trebuie să rulați din nou funcția „Smart Search” pentru toate imaginile la schimbarea unui model.",
+ "machine_learning_duplicate_detection": "Detectarea duplicatelor",
+ "machine_learning_duplicate_detection_enabled": "Activează detectarea duplicatelor",
+ "machine_learning_duplicate_detection_enabled_description": "Dacă este dezactivată, activele identice vor fi în continuare de-duplicate.",
+ "machine_learning_duplicate_detection_setting_description": "Utilizați încorporările CLIP pentru a găsi dubluri probabile",
+ "machine_learning_enabled": "Activează algoritmii de învățare automată",
+ "machine_learning_enabled_description": "Dacă este dezactivat, toate funcțiile ML vor fi dezactivate indiferent de setările de mai jos.",
+ "machine_learning_facial_recognition": "Recunoaștere Facială",
+ "machine_learning_facial_recognition_description": "Detectează, recunoaște și grupează fețe din imagini",
+ "machine_learning_facial_recognition_model": "Model de recunoaștere facială",
+ "machine_learning_facial_recognition_model_description": "Modelele sunt aranjate descrescător după mărime. Modelele mai mari sunt lente și folosesc multă memorie, dar produc rezultate mai bune. Rețineți că va trebui să rulați din nou Recunoașterea Facială pentru toate imaginile dacă schimbați modelul.",
+ "machine_learning_facial_recognition_setting": "Activează Recunoașterea Facială",
+ "machine_learning_facial_recognition_setting_description": "Dacă este dezactivată, imaginile nu vor fi codificate pentru recunoașterea facială și nu vor popula secțiunea Persoane din pagina Explorare.",
+ "machine_learning_max_detection_distance": "Distanța maximă pentru recunoaștere",
+ "machine_learning_max_detection_distance_description": "Distanța maximă dintre două imagini pentru a le considera duplicate, variind între 0,001-0,1. Valorile mai mari vor detecta mai multe duplicate, dar pot duce la rezultate fals pozitive.",
+ "machine_learning_max_recognition_distance": "Distanța maximă de recunoaștere",
+ "machine_learning_max_recognition_distance_description": "Distanța maximă dintre două fețe pentru a fi considerate aceeași persoană, variind între 0-2. Reducerea acestui prag poate împiedica etichetarea a două persoane ca fiind aceeași persoană, în timp ce creșterea lui poate împiedica etichetarea aceleiași persoane ca fiind două persoane diferite. Rețineți că este mai ușor să unificați două persoane decât să împărțiți o persoană în două, deci, dacă este posibil, alegeți un prag mai mic.",
+ "machine_learning_min_detection_score": "Scor minim de detecție",
+ "machine_learning_min_detection_score_description": "Scorul minim de încredere pentru ca o față să fie detectată de la 0 la 1. Valorile mai mici vor detecta mai multe fețe, dar pot duce la fals pozitive.",
+ "machine_learning_min_recognized_faces": "Fețe minime recunoscute",
+ "machine_learning_min_recognized_faces_description": "Numărul minim de fețe recunoscute pentru ca o persoană să fie creată. Creșterea acestui număr face ca recunoașterea facială să fie mai precisă, cu prețul creșterii șanselor ca o față să nu fie atribuită unei persoane.",
+ "machine_learning_settings": "Setări machine learning",
+ "machine_learning_settings_description": "Gestionați caracteristicile și setările de învățare automată",
+ "machine_learning_smart_search": "Căutare inteligentă",
+ "machine_learning_smart_search_description": "Căutarea semantică a imaginilor utilizând încorporările CLIP",
+ "machine_learning_smart_search_enabled": "Activați căutarea inteligentă",
+ "machine_learning_smart_search_enabled_description": "Dacă este dezactivată, imaginile nu vor fi codificate pentru căutarea inteligentă.",
+ "machine_learning_url_description": "Adresa URL a serverului de învățare automată",
+ "manage_concurrency": "Gestionarea simultaneității",
+ "manage_log_settings": "Administrați setările jurnalului",
+ "map_dark_style": "Mod întunecat",
+ "map_enable_description": "Activare hartă",
+ "map_gps_settings": "Setări Hartă & GPS",
+ "map_gps_settings_description": "Gestionare setări Hartă & GPS (localizare inversă)",
+ "map_implications": "Caracteristica hărții se bazează pe un serviciu extern de planșe (tiles.immich.cloud)",
+ "map_light_style": "Mod deschis",
+ "map_manage_reverse_geocoding_settings": "Gestionare setări Localizare Inversă",
+ "map_reverse_geocoding": "Localizare Inversă",
+ "map_reverse_geocoding_enable_description": "Activați geocodarea inversă",
+ "map_reverse_geocoding_settings": "Setări geocodare inversă",
+ "map_settings": "Hartă",
+ "map_settings_description": "Gestionare setări hartă",
+ "map_style_description": "URL-ul style.json către o temă pentru hartă",
+ "metadata_extraction_job": "Extragere metadata",
+ "metadata_extraction_job_description": "Extragere informații metadata din fiecare fișier cum ar fi localizare GPS, fețe și rezoluție,",
+ "metadata_faces_import_setting": "Activare import fețe",
+ "metadata_faces_import_setting_description": "Importă fețe din datele EXIF ale imaginii și din fișiere tip \"sidecar\"",
+ "metadata_settings": "Setări Metadata",
+ "metadata_settings_description": "Gestionează setările metadata",
+ "migration_job": "Migrare",
+ "migration_job_description": "Migrați miniaturile pentru elemente și fețe la cea mai recentă structură de foldere",
+ "no_paths_added": "Nicio cale adăugată",
+ "no_pattern_added": "Niciun tipar adăugat",
+ "note_apply_storage_label_previous_assets": "Notă: Pentru a aplica Eticheta de Stocare la elementele încărcate anterior, executați",
+ "note_cannot_be_changed_later": "NOTĂ: Nu se va mai putea modifica ulterior!",
+ "note_unlimited_quota": "Notă: Introduceți 0 pentru cotă nelimitată",
+ "notification_email_from_address": "De la adresa",
+ "notification_email_from_address_description": "Adresa expeditorului, spre exemplu: „Immich Photo Server {label}
este eticheta de stocare a utilizatorului",
+ "system_settings": "Setǎri de sistem",
+ "tag_cleanup_job": "Curățare etichete",
+ "theme_custom_css_settings": "CSS personalizat",
+ "theme_custom_css_settings_description": "Foile de stil în cascadă (CSS) permit personalizarea designului Immich.",
+ "theme_settings": "Setări temă",
+ "theme_settings_description": "Gestionează personalizarea interfeței web Immich",
+ "these_files_matched_by_checksum": "Aceste fișiere sunt comparate folosind sumele de control",
+ "thumbnail_generation_job": "Gerează miniaturi",
+ "thumbnail_generation_job_description": "Generează miniaturi mari, mici și estompate pentru fiecare resursă, precum și miniaturi pentru fiecare persoană",
+ "transcode_policy_description": "",
+ "transcoding_acceleration_api": "API de accelerare",
+ "transcoding_acceleration_api_description": "API-ul care va interacționa cu dispozitivul tău pentru a accelera transcodarea. Această setare este 'best effort': va reveni la transcodarea software în caz de eșec. VP9 poate funcționa sau nu, în funcție de hardware-ul tău.",
+ "transcoding_acceleration_nvenc": "NVENC (necesitǎ GPU NVIDIA)",
+ "transcoding_acceleration_qsv": "Quick Sync (necesitǎ CPU Intel de generația a 7-a sau mai mare)",
+ "transcoding_acceleration_rkmpp": "RKMPP (doar pe SOC-uri Rockchip)",
+ "transcoding_acceleration_vaapi": "VAAPI",
+ "transcoding_accepted_audio_codecs": "Codec-uri audio acceptate",
+ "transcoding_accepted_audio_codecs_description": "Selectează care codec-uri audio nu trebuie să fie transcodificate. Se utilizează doar pentru anumite politici de transcodare.",
+ "transcoding_accepted_containers": "Containere acceptate",
+ "transcoding_accepted_containers_description": "Selectează formatele de containere care nu trebuie să fie remuxate în MP4. Se utilizează doar pentru anumite politici de transcodare.",
+ "transcoding_accepted_video_codecs": "Codec-uri video acceptate",
+ "transcoding_accepted_video_codecs_description": "Selectează codec-urile video care nu trebuie să fie transcodificate. Se utilizează doar pentru anumite politici de transcodare.",
+ "transcoding_advanced_options_description": "Opțiuni pe care majoritatea utilizatorilor nu ar trebui să fie necesar să le schimbe",
+ "transcoding_audio_codec": "Codec audio",
+ "transcoding_audio_codec_description": "Opus este opțiunea cu cea mai bună calitate, dar are o compatibilitate mai scăzută cu dispozitivele sau software-ul mai vechi.",
+ "transcoding_bitrate_description": "Videoclipuri cu un bitrate mai mare decât maximul acceptat sau care nu sunt într-un format acceptat",
+ "transcoding_codecs_learn_more": "Pentru a afla mai multe despre terminologia folosită aici, consultă documentația FFmpeg pentru {label}
- это метка хранилища пользователя",
"system_settings": "Системные настройки",
+ "tag_cleanup_job": "Очистка тега",
"theme_custom_css_settings": "Пользовательские CSS",
"theme_custom_css_settings_description": "Каскадные таблицы стилей позволяют настраивать дизайн Immich.",
"theme_settings": "Настройки темы",
@@ -266,7 +287,7 @@
"transcoding_hardware_acceleration": "Аппаратное ускорение",
"transcoding_hardware_acceleration_description": "Экспериментальный; намного быстрее, но будет иметь более низкое качество при том же битрейте",
"transcoding_hardware_decoding": "Аппаратное декодирование",
- "transcoding_hardware_decoding_setting_description": "Применяется только к NVENC и RKMPP. Включает сквозное ускорение, а не только ускорение кодирования. Может работать не со всеми видео.",
+ "transcoding_hardware_decoding_setting_description": "Включает сквозное ускорение, а не только ускорение кодирования. Может работать не со всеми видео.",
"transcoding_hevc_codec": "Кодек HEVC",
"transcoding_max_b_frames": "Максимально промежуточных кадров",
"transcoding_max_b_frames_description": "Более высокие значения повышают эффективность сжатия, но замедляют кодирование. Может быть несовместимо с аппаратным ускорением на старых устройствах. 0 отключает B-кадры, а -1 устанавливает это значение автоматически.",
@@ -283,7 +304,7 @@
"transcoding_reference_frames_description": "Количество кадров, на которые следует ссылаться при сжатии данного кадра. Более высокие значения повышают эффективность сжатия, но замедляют кодирование. 0 устанавливает это значение автоматически.",
"transcoding_required_description": "Только видео в нестандартном формате",
"transcoding_settings": "Настройки транскодирования видео",
- "transcoding_settings_description": "Управляйте разрешением и кодированием видеофайлов",
+ "transcoding_settings_description": "Управление разрешением и кодированием видеофайлов",
"transcoding_target_resolution": "Целевое разрешение",
"transcoding_target_resolution_description": "Более высокие разрешения позволяют сохранить больше деталей, но требуют больше времени для кодирования, имеют больший размер файлов и могут снизить скорость отклика приложения.",
"transcoding_temporal_aq": "Временной AQ",
@@ -298,20 +319,21 @@
"transcoding_transcode_policy_description": "Правила, определяющие когда видео должно быть перекодировано. HDR-видео всегда будут перекодироваться (за исключением случаев, когда перекодирование отключено).",
"transcoding_two_pass_encoding": "Двухпроходное кодирование",
"transcoding_two_pass_encoding_setting_description": "Перекодируйте за два прохода, чтобы получить более качественное кодирование видео. Когда включен максимальный битрейт (необходим для работы с H.264 и HEVC), в этом режиме используется диапазон битрейта, основанный на максимальном битрейте, и игнорируется CRF. Для VP9 можно использовать CRF, если отключен максимальный битрейт.",
- "transcoding_video_codec": "Видео Кодек",
+ "transcoding_video_codec": "Видеокодек",
"transcoding_video_codec_description": "VP9 обладает высокой эффективностью и веб-совместимостью, но перекодирование занимает больше времени. HEVC работает аналогично, но имеет меньшую веб-совместимость. H.264 широко совместим и быстро перекодируется, но создает файлы гораздо большего размера. AV1 — наиболее эффективный кодек, но он не поддерживается на старых устройствах.",
"trash_enabled_description": "Включить корзину",
"trash_number_of_days": "Срок хранения",
- "trash_number_of_days_description": "Количество дней, в течение которых объекты будут храниться в корзине, прежде чем они будут окончательно удалены",
+ "trash_number_of_days_description": "Количество дней, в течение которых файлы будут храниться в корзине до окончательного удаления",
"trash_settings": "Настройки корзины",
"trash_settings_description": "Управление настройками корзины",
"untracked_files": "НЕОТСЛЕЖИВАЕМЫЕ ФАЙЛЫ",
"untracked_files_description": "Приложение не отслеживает эти файлы. Они могут быть результатом неудачных перемещений, прерванных загрузок или пропущены из-за ошибки",
- "user_delete_delay": "Аккаунт и ресурсы пользователя {user} будут запланированы для окончательного удаления через {delay, plural, one {# день} few {# дня} many {# дней} other {# дня}}.",
+ "user_cleanup_job": "Очистка пользователя",
+ "user_delete_delay": "Аккаунт и файлы пользователя {user} будут отложены до окончательного удаления через {delay, plural, one {# день} few {# дня} many {# дней} other {# дня}}.",
"user_delete_delay_settings": "Отложенное удаление",
- "user_delete_delay_settings_description": "Срок в днях, по истечение которого происходит окончательное удаление учетной записи пользователя и его ресурсов после удаления учётной записи. Задача по удалению пользователей выполняется в полночь. Изменения этой настройки будут учтены при следующем запуске задачи.",
- "user_delete_immediately": "Аккаунт и ресурсы пользователя {user} будут поставлены в очередь на немедленное окончательное удаление.",
- "user_delete_immediately_checkbox": "Поставить пользователя и объекты в очередь для удаления",
+ "user_delete_delay_settings_description": "Срок в днях, по истечение которого происходит окончательное удаление учетной записи пользователя и его ресурсов. Задача по удалению пользователей выполняется в полночь. Изменения этой настройки будут учтены при следующем запуске задачи.",
+ "user_delete_immediately": "Аккаунт и файлы пользователя {user} будут немедленно поставлены в очередь для окончательного удаления.",
+ "user_delete_immediately_checkbox": "Поместить пользователя и его файлы в очередь для немедленного удаления",
"user_management": "Управление пользователями",
"user_password_has_been_reset": "Пароль пользователя был сброшен:",
"user_password_reset_description": "Пожалуйста, предоставьте временный пароль пользователю и сообщите ему, что при следующем входе в систему пароль нужно будет изменить.",
@@ -320,7 +342,8 @@
"user_settings": "Пользовательские настройки",
"user_settings_description": "Управление настройками пользователей",
"user_successfully_removed": "Пользователь {email} был успешно удален.",
- "version_check_enabled_description": "Включить периодические запросы к GitHub для проверки наличия новых версий",
+ "version_check_enabled_description": "Включить проверку наличия новых версий",
+ "version_check_implications": "Функция проверки версии зависит от периодического взаимодействия с github.com",
"version_check_settings": "Проверка версии",
"version_check_settings_description": "Включить/отключить уведомление о новой версии",
"video_conversion_job": "Перекодирование видео",
@@ -336,7 +359,8 @@
"album_added": "Альбом добавлен",
"album_added_notification_setting_description": "Получать уведомление по электронной почте, когда вы добавлены к общему альбому",
"album_cover_updated": "Обложка альбома обновлена",
- "album_delete_confirmation": "Вы уверены, что хотите удалить альбом {album}?\nЕсли этот альбом общий, то другие пользователи не смогут получить к нему доступ.",
+ "album_delete_confirmation": "Вы уверены, что хотите удалить альбом {album}?",
+ "album_delete_confirmation_description": "Если альбом был общим, другие пользователи больше не смогут получить к нему доступ.",
"album_info_updated": "Информация об альбоме обновлена",
"album_leave": "Покинуть альбом?",
"album_leave_confirmation": "Вы уверены, что хотите покинуть {album}?",
@@ -346,12 +370,12 @@
"album_remove_user_confirmation": "Вы уверены, что хотите удалить пользователя {user}?",
"album_share_no_users": "Похоже, вы поделились этим альбомом со всеми пользователями или у вас нет пользователей, с которыми можно поделиться.",
"album_updated": "Альбом обновлён",
- "album_updated_setting_description": "Получать уведомление по электронной почте, когда в общий альбом добавлены новые ресурсы",
+ "album_updated_setting_description": "Получать уведомление по электронной почте при добавлении новых ресурсов в общий альбом",
"album_user_left": "Вы покинули {album}",
"album_user_removed": "Пользователь {user} удален",
"album_with_link_access": "Поделитесь ссылкой на альбом, чтобы ваши друзья могли его посмотреть.",
"albums": "Альбомы",
- "albums_count": "{count, plural, one {Альбом ({count, number})} few {Альбома ({count, number})} many {Альбомов ({count, number})} other {Альбомов ({count, number})}}",
+ "albums_count": "{count, plural, one {{count, number} альбом} few {{count, number} альбома} many {{count, number} альбомов} other {{count, number} альбомов}}",
"all": "Все",
"all_albums": "Все альбомы",
"all_people": "Все люди",
@@ -360,12 +384,13 @@
"allow_edits": "Разрешить редактирование",
"allow_public_user_to_download": "Разрешить скачивание публичным пользователям",
"allow_public_user_to_upload": "Разрешить публичным пользователям загружать файлы",
+ "anti_clockwise": "Против часовой",
"api_key": "API Ключ",
"api_key_description": "Это значение будет показано только один раз. Пожалуйста, убедитесь, что скопировали его перед закрытием окна.",
"api_key_empty": "Ваш API ключ не должен быть пустым",
"api_keys": "Ключи API",
"app_settings": "Параметры приложения",
- "appears_in": "Появляется в",
+ "appears_in": "Добавлено в",
"archive": "Архив",
"archive_or_unarchive_photo": "Архивировать или разархивировать фото",
"archive_size": "Размер архива",
@@ -376,28 +401,29 @@
"are_you_sure_to_do_this": "Вы уверены, что хотите это сделать?",
"asset_added_to_album": "Добавлено в альбом",
"asset_adding_to_album": "Добавление в альбом...",
- "asset_description_updated": "Описание ресурса было обновлено",
+ "asset_description_updated": "Описание обновлено",
"asset_filename_is_offline": "Объект {filename} находится в офлайн-режиме",
"asset_has_unassigned_faces": "Есть не распознанные лица",
"asset_hashing": "Хеширование...",
"asset_offline": "Объект отключён",
- "asset_offline_description": "Этот объект находится в офлайн-режиме. Immich не может получить доступ к его расположению. Пожалуйста, убедитесь, что объект доступен, и затем пересканируйте библиотеку.",
+ "asset_offline_description": "Этот внешний файл не найден на диске. Пожалуйста, свяжитесь с администратором Immich для получения помощи.",
"asset_skipped": "Пропущено",
+ "asset_skipped_in_trash": "В корзине",
"asset_uploaded": "Загружено",
"asset_uploading": "Загрузка...",
"assets": "Объекты",
"assets_added_count": "Добавлено {count, plural, one {# объект} few {# объекта} other {# объектов}}",
- "assets_added_to_album_count": "Добавлено {count, plural, one {# объект} few {# объекта} other {# объектов}} в альбом",
- "assets_added_to_name_count": "Добавлено {count, plural, one {# объект} other {# объектов}} в {hasName, select, true {{name}} other {новый альбом}}",
+ "assets_added_to_album_count": "В альбом добавлено {count, plural, one {# объект} few {# объекта} other {# объектов}}",
+ "assets_added_to_name_count": "Добавлено {count, plural, one {# объект} few {# объекта} other {# объектов}} в {hasName, select, true {{name}} other {новый альбом}}",
"assets_count": "{count, plural, one {# объект} few {# объекта} other {# объектов}}",
"assets_moved_to_trash": "Перемещено {count, plural, one {# объект} few {# объекта} many {# объектов} other {# объекта}} в корзину",
"assets_moved_to_trash_count": "{count, plural, one {# объект} few {# объекта} other {# объектов}} перемещено в корзину",
"assets_permanently_deleted_count": "{count, plural, one {# объект} few {# объекта} other {# объектов}} удалено навсегда",
"assets_removed_count": "{count, plural, one {# объект} few {# объекта} other {# объектов}} удалено",
- "assets_restore_confirmation": "Вы уверены, что хотите восстановить все удаленные объекты? Это действие нельзя отменить!",
+ "assets_restore_confirmation": "Вы уверены, что хотите восстановить все объекты из корзины? Это действие нельзя отменить! Обратите внимание, что любые оффлайн-объекты не могут быть восстановлены таким способом.",
"assets_restored_count": "{count, plural, one {# объект} few {# объекта} other {# объектов}} восстановлено",
"assets_trashed_count": "{count, plural, one {# объект} few {# объекта} other {# объектов}} перемещено в корзину",
- "assets_were_part_of_album_count": "{count, plural, one {# Объект} other {# Объекты}} уже часть альбома",
+ "assets_were_part_of_album_count": "{count, plural, one {# объект} few {# объекта} other {# объектов}} уже в альбоме",
"authorized_devices": "Разрешенные устройства",
"back": "Назад",
"back_close_deselect": "Назад, закрыть или отменить выбор",
@@ -405,11 +431,12 @@
"birthdate_saved": "Дата рождения успешно сохранена",
"birthdate_set_description": "Дата рождения используется для расчета возраста этого человека на момент фотографии.",
"blurred_background": "Размытый фон",
+ "bugs_and_feature_requests": "Ошибки и запросы",
"build": "Сборка",
"build_image": "Версия сборки",
- "bulk_delete_duplicates_confirmation": "Вы уверены, что хотите массово удалить {count, plural, one {# дублирующийся ресурс} other {# дублирующихся ресурсов}}? Это сохранит самый большой ресурс из каждой группы и навсегда удалит все остальные дубликаты. Это действие нельзя отменить!",
- "bulk_keep_duplicates_confirmation": "Вы уверены, что хотите оставить {count, plural, one {# дублирующийся ресурс} other {# дублирующихся ресурсов}}? Это разрешит все группы дубликатов без удаления чего-либо.",
- "bulk_trash_duplicates_confirmation": "Вы уверены, что хотите массово переместить в корзину {count, plural, one {# дублирующийся ресурс} other {# дублирующихся ресурсов}}? Это сохранит самый большой ресурс из каждой группы и переместит в корзину все остальные дубликаты.",
+ "bulk_delete_duplicates_confirmation": "Вы уверены, что хотите массово удалить {count, plural, one {# дублирующийся объект} other {# дублирующихся объектов}}? Это сохранит самый большой файл из каждой группы и навсегда удалит дубликаты. Это действие нельзя отменить!",
+ "bulk_keep_duplicates_confirmation": "Вы уверены, что хотите оставить {count, plural, one {# дублирующийся объект} other {# дублирующихся объектов}}? Это сохранит все дубликаты.",
+ "bulk_trash_duplicates_confirmation": "Вы уверены, что хотите массово переместить в корзину {count, plural, one {# дублирующийся объект} other {# дублирующихся объектов}}? Это сохранит самый большой файл из каждой группы и переместит дубликаты в корзину.",
"buy": "Приобретение лицензии Immich",
"camera": "Камера",
"camera_brand": "Производитель",
@@ -441,9 +468,11 @@
"clear_all_recent_searches": "Очистить все недавние результаты поиска",
"clear_message": "Очистить сообщение",
"clear_value": "Очистить значение",
+ "clockwise": "По часовой",
"close": "Закрыть",
"collapse": "Свернуть",
"collapse_all": "Свернуть всё",
+ "color": "Цвет",
"color_theme": "Цветовая тема",
"comment_deleted": "Комментарий удалён",
"comment_options": "Параметры комментариев",
@@ -470,13 +499,15 @@
"covers": "Обложки",
"create": "Создать",
"create_album": "Создать альбом",
- "create_library": "Создать Библиотеку",
+ "create_library": "Создать библиотеку",
"create_link": "Создать ссылку",
"create_link_to_share": "Создать ссылку общего доступа",
"create_link_to_share_description": "Разрешить всем, у кого есть ссылка, просмотреть выбранные фотографии",
"create_new_person": "Создать нового человека",
"create_new_person_hint": "Назначить выбранные ресурсы новому человеку",
"create_new_user": "Создать нового пользователя",
+ "create_tag": "Создать тег",
+ "create_tag_description": "Создайте новый тег. Для вложенных тегов введите полный путь к тегу, включая слэши.",
"create_user": "Создать пользователя",
"created": "Создан",
"current_device": "Текущее устройство",
@@ -499,24 +530,31 @@
"delete_key": "Удалить ключ",
"delete_library": "Удалить библиотеку",
"delete_link": "Удалить ссылку",
- "delete_shared_link": "Удалить общую ссылку",
+ "delete_shared_link": "Удалить публичную ссылку",
+ "delete_tag": "Удалить тег",
+ "delete_tag_confirmation_prompt": "Вы уверены, что хотите удалить тег {tagName}?",
"delete_user": "Удалить пользователя",
- "deleted_shared_link": "Удалена публичная ссылка",
+ "deleted_shared_link": "Публичная ссылка удалена",
+ "deletes_missing_assets": "Удаляет объекты, отсутствующие на диске",
"description": "Описание",
"details": "Подробности",
"direction": "Направление",
"disabled": "Отключено",
"disallow_edits": "Запретить редактирование",
+ "discord": "Discord",
"discover": "Обнаружить",
"dismiss_all_errors": "Сбросить все ошибки",
"dismiss_error": "Сбросить ошибку",
"display_options": "Настройки отображения",
"display_order": "Порядок отображения",
"display_original_photos": "Отображение оригинальных фотографий",
- "display_original_photos_setting_description": "Предпочитать отображать исходную фотографию при просмотре ресурса, а не миниатюры, если исходный ресурс совместим с Интернетом. Это может привести к снижению скорости отображения фотографий.",
+ "display_original_photos_setting_description": "Предпочитать исходную фотографию при просмотре ресурса вместо миниатюры, если исходный ресурс поддерживается. Это может снизить скорости отображения фотографий.",
"do_not_show_again": "Не показывать это сообщение в дальнейшем",
+ "documentation": "Документация",
"done": "Готово",
"download": "Скачать",
+ "download_include_embedded_motion_videos": "Встроенные видео",
+ "download_include_embedded_motion_videos_description": "Включить видео, встроенные в живые фото, в виде отдельного файла",
"download_settings": "Скачивание",
"download_settings_description": "Управление настройками скачивания объектов",
"downloading": "Загрузка",
@@ -546,10 +584,15 @@
"edit_location": "Редактировать местоположение",
"edit_name": "Редактировать имя",
"edit_people": "Редактировать человека",
+ "edit_tag": "Изменить тег",
"edit_title": "Редактировать Заголовок",
"edit_user": "Редактировать пользователя",
"edited": "Отредактировано",
"editor": "Редактор",
+ "editor_close_without_save_prompt": "Изменения не будут сохранены",
+ "editor_close_without_save_title": "Закрыть редактор?",
+ "editor_crop_tool_h2_aspect_ratios": "Соотношения сторон",
+ "editor_crop_tool_h2_rotation": "Вращение",
"email": "Электронная почта",
"empty": "",
"empty_album": "Пустой альбом",
@@ -562,11 +605,11 @@
"error_loading_image": "Ошибка при загрузке изображения",
"error_title": "Ошибка - Что-то пошло не так",
"errors": {
- "cannot_navigate_next_asset": "Невозможно перейти к следующему объекту",
- "cannot_navigate_previous_asset": "Не удается перейти к предыдущему ресурсу",
+ "cannot_navigate_next_asset": "Не удалось перейти к следующему объекту",
+ "cannot_navigate_previous_asset": "Не удалось перейти к предыдущему ресурсу",
"cant_apply_changes": "Не удается применить изменения",
"cant_change_activity": "Не удается {enabled, select, true {отключить} other {включить}} активность",
- "cant_change_asset_favorite": "Не удается изменить статус \"избранное\" для ресурса",
+ "cant_change_asset_favorite": "Не удалось изменить статус \"избранное\" для ресурса",
"cant_change_metadata_assets_count": "Не удается изменить метаданные у {count, plural, one {# ресурса} few {# ресурсов} many {# ресурсов} other {# ресурсов}}",
"cant_get_faces": "Не удается получить лица",
"cant_get_number_of_comments": "Не удается получить количество комментариев",
@@ -583,15 +626,15 @@
"exclusion_pattern_already_exists": "Такая модель исключения уже существует.",
"failed_job_command": "Команда {command} не выполнена для задачи: {job}",
"failed_to_create_album": "Не удалось создать альбом",
- "failed_to_create_shared_link": "Не удалось создать общую ссылку",
- "failed_to_edit_shared_link": "Не удалось изменить общую ссылку",
+ "failed_to_create_shared_link": "Не удалось создать публичную ссылку",
+ "failed_to_edit_shared_link": "Не удалось изменить публичную ссылку",
"failed_to_get_people": "Не удалось получить информацию о людях",
"failed_to_load_asset": "Ошибка загрузки объекта",
"failed_to_load_assets": "Ошибка загрузки объектов",
"failed_to_load_people": "Не удалось загрузить людей",
"failed_to_remove_product_key": "Не удалось удалить ключ продукта",
- "failed_to_stack_assets": "Не удалось создать стек",
- "failed_to_unstack_assets": "Не удалось разобрать стек",
+ "failed_to_stack_assets": "Не удалось сгруппировать объекты",
+ "failed_to_unstack_assets": "Не удалось разгруппировать объекты",
"import_path_already_exists": "Этот путь импорта уже существует.",
"incorrect_email_or_password": "Неверный адрес электронной почты или пароль",
"paths_validation_failed": "{paths, plural, one {# путь} other {# путей}} не прошли проверку",
@@ -599,13 +642,13 @@
"quota_higher_than_disk_size": "Вы установили квоту, превышающую размер диска",
"repair_unable_to_check_items": "Невозможно проверить {count, select, one {элемент} other {элементы}}",
"unable_to_add_album_users": "Невозможно добавить пользователей в альбом",
- "unable_to_add_assets_to_shared_link": "Не удалось добавить ресурсы к общей ссылке",
+ "unable_to_add_assets_to_shared_link": "Не удалось добавить объекты к публичной ссылке",
"unable_to_add_comment": "Невозможно добавить комментарий",
"unable_to_add_exclusion_pattern": "Невозможно добавить шаблон исключения",
"unable_to_add_import_path": "Не удается добавить путь импорта",
"unable_to_add_partners": "Невозможно добавить партнеров",
- "unable_to_add_remove_archive": "Не удалось {archived, select, true {удалить ресурс из} other {добавить ресурс в}} архив",
- "unable_to_add_remove_favorites": "Не удалось {favorite, select, true {добавить ресурс в} other {удалить ресурс из}} избранного",
+ "unable_to_add_remove_archive": "Не удалось {archived, select, true {удалить ресурс из архива} other {добавить ресурс в архив}}",
+ "unable_to_add_remove_favorites": "Не удалось {favorite, select, true {добавить ресурс в избранное} other {удалить ресурс из избранного}}",
"unable_to_archive_unarchive": "Не удалось {archived, select, true {архивировать} other {разархивировать}}",
"unable_to_change_album_user_role": "Не удалось изменить роль пользователя в альбоме",
"unable_to_change_date": "Невозможно изменить дату",
@@ -624,11 +667,11 @@
"unable_to_create_library": "Не удалось создать библиотеку",
"unable_to_create_user": "Не удалось создать пользователя",
"unable_to_delete_album": "Не удается удалить альбом",
- "unable_to_delete_asset": "Не удается удалить ресурс",
+ "unable_to_delete_asset": "Не удалось удалить ресурс",
"unable_to_delete_assets": "Ошибка при удалении ресурсов",
"unable_to_delete_exclusion_pattern": "Не удается удалить шаблон исключения",
"unable_to_delete_import_path": "Не удается удалить путь импорта",
- "unable_to_delete_shared_link": "Не удается удалить общую ссылку",
+ "unable_to_delete_shared_link": "Не удалось удалить публичную ссылку",
"unable_to_delete_user": "Не удается удалить пользователя",
"unable_to_download_files": "Невозможно скачать файлы",
"unable_to_edit_exclusion_pattern": "Невозможно отредактировать шаблон исключения",
@@ -637,11 +680,12 @@
"unable_to_enter_fullscreen": "Не удается войти в полноэкранный режим",
"unable_to_exit_fullscreen": "Не удается выйти из полноэкранного режима",
"unable_to_get_comments_number": "Не удалось получить количество комментариев",
- "unable_to_get_shared_link": "Не удалось получить общую ссылку",
+ "unable_to_get_shared_link": "Не удалось получить публичную ссылку",
"unable_to_hide_person": "Невозможно скрыть персону",
+ "unable_to_link_motion_video": "Не удается связать движущееся видео",
"unable_to_link_oauth_account": "Не удается связать учетную запись OAuth",
"unable_to_load_album": "Невозможно загрузить альбом",
- "unable_to_load_asset_activity": "Не удалось загрузить активность объекта",
+ "unable_to_load_asset_activity": "Не удалось загрузить комментарии",
"unable_to_load_items": "Не удалось загрузить элементы",
"unable_to_load_liked_status": "Невозможно загрузить статус лайка",
"unable_to_log_out_all_devices": "Невозможно выйти из всех устройств",
@@ -651,12 +695,12 @@
"unable_to_reassign_assets_existing_person": "Невозможно переназначить ресурсы на {name, select, null {существующего человека} other {{name}}}",
"unable_to_reassign_assets_new_person": "Не удается переназначить ресурсы новому человеку",
"unable_to_refresh_user": "Невозможно обновить пользователя",
- "unable_to_remove_album_users": "Не удается удалить пользователей из альбома",
+ "unable_to_remove_album_users": "Не удалось удалить пользователей из альбома",
"unable_to_remove_api_key": "Не удается удалить ключ API",
- "unable_to_remove_assets_from_shared_link": "Невозможно удалить объекты из общей ссылки",
+ "unable_to_remove_assets_from_shared_link": "Невозможно удалить объекты из публичной ссылки",
"unable_to_remove_comment": "",
+ "unable_to_remove_deleted_assets": "Не удается удалить автономные файлы",
"unable_to_remove_library": "Не удается удалить библиотеку",
- "unable_to_remove_offline_files": "Не удается удалить автономные файлы",
"unable_to_remove_partner": "Не удается удалить партнера",
"unable_to_remove_reaction": "Не удается удалить реакцию",
"unable_to_remove_user": "",
@@ -677,9 +721,10 @@
"unable_to_set_feature_photo": "Не удалось установить фотографию на обложку",
"unable_to_set_profile_picture": "Невозможно установить изображение профиля",
"unable_to_submit_job": "Невозможно отправить задание",
- "unable_to_trash_asset": "Невозможно удалить актив",
+ "unable_to_trash_asset": "Не удалось переместить объект в корзину",
"unable_to_unlink_account": "Не удалось отсоединить учетную запись",
- "unable_to_update_album_cover": "Невозможно обновить обложку альбома",
+ "unable_to_unlink_motion_video": "Не удается отсоединить движущееся видео",
+ "unable_to_update_album_cover": "Не удалось обновить обложку альбома",
"unable_to_update_album_info": "Невозможно обновить информацию об альбоме",
"unable_to_update_library": "Не удалось обновить библиотеку",
"unable_to_update_location": "Не удалось обновить местоположение",
@@ -698,7 +743,8 @@
"expire_after": "Истекает через",
"expired": "Срок действия истек",
"expires_date": "Срок действия до {date}",
- "explore": "Просмотр",
+ "explore": "Поиск",
+ "explorer": "Проводник",
"export": "Экспортировать",
"export_as_json": "Экспорт в JSON",
"extension": "Расширение",
@@ -712,6 +758,8 @@
"feature": "",
"feature_photo_updated": "Избранное фото обновлено",
"featurecollection": "",
+ "features": "Дополнительные возможности",
+ "features_setting_description": "Управление дополнительными возможностями приложения",
"file_name": "Имя файла",
"file_name_or_extension": "Имя файла или расширение",
"filename": "Имя файла",
@@ -720,6 +768,8 @@
"filter_people": "Фильтр по людям",
"find_them_fast": "Быстро найдите их по имени с помощью поиска",
"fix_incorrect_match": "Исправить неправильное соответствие",
+ "folders": "Папки",
+ "folders_feature_description": "Просмотр папок с фотографиями и видео в файловой системе",
"force_re-scan_library_files": "Принудительное повторное сканирование всех файлов библиотеки",
"forward": "Переслать",
"general": "Общие",
@@ -765,7 +815,7 @@
"in_archive": "В архиве",
"include_archived": "Отображать архив",
"include_shared_albums": "Включать общие альбомы",
- "include_shared_partner_assets": "Включать общие активы партнеров",
+ "include_shared_partner_assets": "Включать общие ресурсы партнера",
"individual_share": "Персональный доступ",
"info": "Информация",
"interval": {
@@ -784,7 +834,7 @@
"keyboard_shortcuts": "Сочетания клавиш",
"language": "Язык",
"language_setting_description": "Выберите предпочитаемый вами язык",
- "last_seen": "Видели последний раз",
+ "last_seen": "Последний доступ осуществлялся",
"latest_version": "Последняя Версия",
"latitude": "Широта",
"leave": "Покинуть",
@@ -819,6 +869,7 @@
"license_trial_info_4": "Пожалуйста, рассмотрите возможность приобретения лицензии для поддержки дальнейшего развития проекта",
"light": "Светлая",
"like_deleted": "Лайк удален",
+ "link_motion_video": "Ссылка на движущееся видео",
"link_options": "Настройки ссылки",
"link_to_oauth": "Присоединение к OAuth",
"linked_oauth_account": "Присоединённый аккаунт OAuth",
@@ -837,13 +888,14 @@
"look": "Просмотр",
"loop_videos": "Циклическое воспроизведение",
"loop_videos_description": "Включить циклическое воспроизведение видео.",
+ "main_branch_warning": "Вы используете версию для разработки; мы настоятельно рекомендуем использовать релизную версию!",
"make": "Производитель",
- "manage_shared_links": "Управление общими ссылками",
- "manage_sharing_with_partners": "Управление обменом информацией с партнерами",
+ "manage_shared_links": "Управление публичными ссылками",
+ "manage_sharing_with_partners": "Управление обменом информацией с партнерами. Эта функция позволяет вашему партнеру видеть ваши фотографии и видеозаписи, кроме тех, которые находятся в Архиве и Корзине",
"manage_the_app_settings": "Управление настройками приложения",
"manage_your_account": "Управление учётной записью",
"manage_your_api_keys": "Управление API-ключами",
- "manage_your_devices": "Управление устройствами, вошедшими в систему",
+ "manage_your_devices": "Управление устройствами, с помощью которых осуществлялся доступ к системе",
"manage_your_oauth_connection": "Настройки подключённого OAuth",
"map": "Карта",
"map_marker_for_images": "Маркер на карте для изображений, сделанных в {city}, {country}",
@@ -852,7 +904,7 @@
"matches": "Совпадения",
"media_type": "Тип медиа",
"memories": "Воспоминания",
- "memories_setting_description": "Управляйте тем, что вы видите в своих воспоминаниях",
+ "memories_setting_description": "Управление тем, что вы видите в своих воспоминаниях",
"memory": "Память",
"memory_lane_title": "Воспоминание {title}",
"menu": "Меню",
@@ -864,9 +916,9 @@
"merged_people_count": "Объединено {count, plural, one {# человек} few {# человека} many {# человек} other {# человека}}",
"minimize": "Минимизировать",
"minute": "Минута",
- "missing": "Отсутствующие",
+ "missing": "Пропущенные",
"model": "Модель",
- "month": "Месяцу",
+ "month": "Месяц",
"more": "Больше",
"moved_to_trash": "Перенесено в корзину",
"my_albums": "Мои альбомы",
@@ -899,25 +951,28 @@
"no_results_description": "Попробуйте использовать синоним или более общее ключевое слово",
"no_shared_albums_message": "Создайте альбом для обмена фотографиями и видеозаписями с людьми в вашей сети",
"not_in_any_album": "Ни в одном альбоме",
- "note_apply_storage_label_to_previously_uploaded assets": "Примечание: Чтобы применить тег хранилища к ранее загруженным ресурсам запустите",
+ "note_apply_storage_label_to_previously_uploaded assets": "Примечание: Чтобы применить тег хранилища к ранее загруженным ресурсам, запустите",
"note_unlimited_quota": "Примечание: Введите 0 для неограниченной квоты",
- "notes": "Записки",
+ "notes": "Примечание",
"notification_toggle_setting_description": "Включить уведомления по электронной почте",
"notifications": "Уведомления",
"notifications_setting_description": "Управление уведомлениями",
"oauth": "OAuth",
+ "official_immich_resources": "Официальные ресурсы Immich",
"offline": "Недоступен",
"offline_paths": "Недоступные пути",
"offline_paths_description": "Эти результаты могут быть вызваны ручным удалением файлов, которые не являются частью внешней библиотеки.",
"ok": "ОК",
"oldest_first": "Сначала старые",
"onboarding": "Начало работы",
+ "onboarding_privacy_description": "Следующие (необязательные) функции зависят от внешних сервисов и могут быть отключены в любое время в настройках администрирования.",
"onboarding_theme_description": "Выберите цветовую тему. Вы можете изменить ее позже в настройках.",
"onboarding_welcome_description": "Давайте настроим ваш экземпляр с некоторыми общими параметрами.",
"onboarding_welcome_user": "Добро пожаловать, {user}",
"online": "Доступен",
"only_favorites": "Только избранное",
"only_refreshes_modified_files": "Обновляет только измененные файлы",
+ "open_in_map_view": "Открыть в режиме просмотра карты",
"open_in_openstreetmap": "Открыть в OpenStreetMap",
"open_the_search_filters": "Открыть фильтры поиска",
"options": "Опции",
@@ -931,7 +986,7 @@
"owner": "Владелец",
"partner": "Партнер",
"partner_can_access": "{partner} имеет доступ",
- "partner_can_access_assets": "Все ваши фотографии и видеозаписи, кроме тех, которые находятся в Архиве и Удалены",
+ "partner_can_access_assets": "Все ваши фотографии и видеозаписи, кроме тех, которые находятся в Архиве и Корзине",
"partner_can_access_location": "Местоположение, где были сделаны ваши фотографии",
"partner_sharing": "Совместное использование",
"partners": "Партнёры",
@@ -952,22 +1007,23 @@
"pending": "Ожидает",
"people": "Люди",
"people_edits_count": "Изменено {count, plural, one {# человек} few {# человека} many {# людей} other {# человек}}",
+ "people_feature_description": "Просмотр фотографий и видео, сгруппированных по людям",
"people_sidebar_description": "Отображать пункт меню \"Люди\" в боковой панели",
"perform_library_tasks": "",
"permanent_deletion_warning": "Предупреждение об удалении",
- "permanent_deletion_warning_setting_description": "Отображать предупреждение при безвозвратном удалении ресурсов",
+ "permanent_deletion_warning_setting_description": "Предупреждать перед безвозвратным удалением ресурсов",
"permanently_delete": "Удалить навсегда",
- "permanently_delete_assets_count": "Полностью удалить {count, plural, one {ресурс} few {ресурса} many {ресурсов} other {ресурсов}}",
+ "permanently_delete_assets_count": "Безвозвратно удалить {count, plural, one {ресурс} few {ресурса} many {ресурсов} other {ресурсов}}",
"permanently_delete_assets_prompt": "Вы действительно хотите навсегда удалить {count, plural, one {этот объект?} other {эти # объектов?}} Это так же удалит {count, plural, one {его} other {их}} из альбома(ов).",
- "permanently_deleted_asset": "Удалить объект навсегда",
+ "permanently_deleted_asset": "Удалить навсегда",
"permanently_deleted_assets": "Безвозвратно удалено {count, plural, one {# ресурс} few {# ресурса} many {# ресурсов} other {# ресурса}}",
- "permanently_deleted_assets_count": "Полностью удалено {count, plural, one {# ресурс} few {# ресурса} many {# ресурсов} other {# ресурса}}",
+ "permanently_deleted_assets_count": "Безвозвратно удалено {count, plural, one {# файл} few {# файла} many {# файлов} other {# файлов}}",
"person": "Человек",
"person_hidden": "{name}{hidden, select, true { (скрыт)} other {}}",
"photo_shared_all_users": "Похоже, что вы поделились своими фотографиями со всеми пользователями или у вас нет пользователей, с которыми можно поделиться.",
"photos": "Фото",
"photos_and_videos": "Фото и Видео",
- "photos_count": "{count, plural, one {Фотография ({count, number})} few {Фотографии ({count, number})} many {Фотографий ({count, number})} other {Фотографий ({count, number})}}",
+ "photos_count": "{count, plural, one {{count, number} Фотография} few {{count, number} Фотографии} many {{count, number} Фотографий} other {{count, number} Фотографий}}",
"photos_from_previous_years": "Фотографии прошлых лет в этот день",
"pick_a_location": "Выбрать местоположение",
"place": "Места",
@@ -984,6 +1040,7 @@
"previous_memory": "Предыдущее воспоминание",
"previous_or_next_photo": "Предыдущая или следующая фотография",
"primary": "Главное",
+ "privacy": "Конфиденциальность",
"profile_image_of_user": "Изображение профиля {user}",
"profile_picture_set": "Установлена картинка профиля.",
"public_album": "Публичный альбом",
@@ -1021,42 +1078,49 @@
"purchase_server_title": "Сервер",
"purchase_settings_server_activated": "Ключ продукта сервера управляется администратором",
"range": "",
+ "rating": "Рейтинг звёзд",
+ "rating_clear": "Очистить рейтинг",
+ "rating_count": "{count, plural, one {# звезда} other {# звезд}}",
+ "rating_description": "Показывать рейтинг в панели информации",
"raw": "",
"reaction_options": "Опции реакций",
"read_changelog": "Прочитать список изменений",
"reassign": "Переназначить",
- "reassigned_assets_to_existing_person": "Переназначено {count, plural, one {# ресурс} few {# ресурса} many {# ресурсов} other {# ресурса}} на {name, select, null {существующего человека} other {{name}}}",
- "reassigned_assets_to_new_person": "Переназначено {count, plural, one {# ресурс} few {# ресурса} many {# ресурсов} other {# ресурса}} новому человеку",
- "reassing_hint": "Назначить выбранные ресурсы существующему человеку",
+ "reassigned_assets_to_existing_person": "Переназначен{count, plural, one { # ресурс} few {о # ресурса} many {о # ресурсов} other {о # ресурсов}} на {name, select, null {существующего пользователя} other {{name}}}",
+ "reassigned_assets_to_new_person": "Переназначен{count, plural, one { # ресурс} few {о # ресурса} many {о # ресурсов} other {о # ресурсов}} новому человеку",
+ "reassing_hint": "Назначить выбранные ресурсы существующему пользователю",
"recent": "Недавние",
"recent_searches": "Недавние поисковые запросы",
"refresh": "Обновить",
"refresh_encoded_videos": "Обновить закодированные видео",
+ "refresh_faces": "Обновить лица",
"refresh_metadata": "Обновить метаданные",
"refresh_thumbnails": "Обновить миниатюры",
"refreshed": "Обновлено",
- "refreshes_every_file": "Обновляет каждый файл",
+ "refreshes_every_file": "Обновляет все существующие и новые файлы",
"refreshing_encoded_video": "Обновление закодированного видео",
+ "refreshing_faces": "Обновление лиц",
"refreshing_metadata": "Обновление метаданных",
"regenerating_thumbnails": "Восстановление миниатюр",
"remove": "Удалить",
- "remove_assets_album_confirmation": "Вы уверены, что хотите удалить {count, plural, one {# ресурс} few {# ресурса} many {# ресурсов} other {# ресурса}} из альбома?",
- "remove_assets_shared_link_confirmation": "Вы уверены, что хотите удалить {count, plural, one {# ресурс} few {# ресурса} many {# ресурсов} other {# ресурса}} из этой общей ссылки?",
+ "remove_assets_album_confirmation": "Вы уверены, что хотите удалить {count, plural, one {# объект} few {# объекта} many {# объектов} other {# объектов}} из альбома?",
+ "remove_assets_shared_link_confirmation": "Вы уверены, что хотите удалить {count, plural, one {# объект} few {# объекта} many {# объектов} other {# объектов}} из этой публичной ссылки?",
"remove_assets_title": "Удалить объекты?",
"remove_custom_date_range": "Удалить пользовательский диапазон дат",
+ "remove_deleted_assets": "Удаление автономных файлов",
"remove_from_album": "Удалить из альбома",
"remove_from_favorites": "Удалить из избранного",
- "remove_from_shared_link": "Удалить из общей ссылки",
- "remove_offline_files": "Удаление автономных файлов",
+ "remove_from_shared_link": "Удалить из публичной ссылки",
"remove_user": "Удалить пользователя",
"removed_api_key": "Удален ключ API: {name}",
"removed_from_archive": "Удален из архива",
"removed_from_favorites": "Удалено из избранного",
"removed_from_favorites_count": "{count, plural, other {Удалено #}} из избранного",
+ "removed_tagged_assets": "Тег для {count, plural, one {# объекта} other {# объектов}} удален",
"rename": "Переименовать",
"repair": "Ремонт",
"repair_no_results_message": "Здесь будут отображаться неотслеживаемые и отсутствующие файлы",
- "replace_with_upload": "Загрузить и заменить здесь",
+ "replace_with_upload": "Загрузить и заменить",
"repository": "Репозиторий",
"require_password": "Требуется пароль",
"require_user_to_change_password_on_first_login": "Требовать у пользователя сменить пароль при первом входе",
@@ -1084,6 +1148,7 @@
"say_something": "Скажите что-нибудь",
"scan_all_libraries": "Сканировать все библиотеки",
"scan_all_library_files": "Повторное сканирование всех файлов библиотеки",
+ "scan_library": "Сканировать",
"scan_new_library_files": "Сканировать новые файлы в библиотеке",
"scan_settings": "Настройки сканирования",
"scanning_for_album": "Сканирование альбома...",
@@ -1099,9 +1164,12 @@
"search_for_existing_person": "Поиск существующего человека",
"search_no_people": "Нет людей",
"search_no_people_named": "Нет людей с именем \"{name}\"",
+ "search_options": "Параметры поиска",
"search_people": "Поиск людей",
"search_places": "Поиск мест",
+ "search_settings": "Настройки поиска",
"search_state": "Поиск региона...",
+ "search_tags": "Поиск по тегам...",
"search_timezone": "Поиск часового пояса...",
"search_type": "Тип поиска",
"search_your_photos": "Поиск фотографий",
@@ -1131,7 +1199,7 @@
"server_version": "Версия Сервера",
"set": "Установить",
"set_as_album_cover": "Установить в качестве обложки альбома",
- "set_as_profile_picture": "Установить в качестве изображения профиля",
+ "set_as_profile_picture": "Установить как фото профиля",
"set_date_of_birth": "Установить дату рождения",
"set_profile_picture": "Установить изображение профиля",
"set_slideshow_to_fullscreen": "Переведите слайд-шоу в полноэкранный режим",
@@ -1143,14 +1211,16 @@
"shared_by_user": "Владелец: {user}",
"shared_by_you": "Вы поделились",
"shared_from_partner": "Фото от {partner}",
- "shared_links": "Общие ссылки",
- "shared_photos_and_videos_count": "{assetCount, plural, other {# поделился фото и видео.}}",
+ "shared_link_options": "Параметры публичных ссылок",
+ "shared_links": "Публичные ссылки",
+ "shared_photos_and_videos_count": "{assetCount, plural, other {# фото и видео.}}",
"shared_with_partner": "Совместно с {partner}",
"sharing": "Общие",
"sharing_enter_password": "Пожалуйста, введите пароль для просмотра этой страницы.",
"sharing_sidebar_description": "Отображать пункт меню \"Общие\" в боковой панели",
"shift_to_permanent_delete": "нажмите ⇧ чтобы удалить объект навсегда",
"show_album_options": "Показать параметры альбома",
+ "show_albums": "Показать альбомы",
"show_all_people": "Показать всех людей",
"show_and_hide_people": "Показать и скрыть людей",
"show_file_location": "Показать расположение файла",
@@ -1165,13 +1235,18 @@
"show_person_options": "Показать опции персоны",
"show_progress_bar": "Показать Индикатор Выполнения",
"show_search_options": "Показать параметры поиска",
+ "show_slideshow_transition": "Показать слайд-шоу переход",
"show_supporter_badge": "Значок поддержки",
"show_supporter_badge_description": "Показать значок поддержки",
"shuffle": "Перемешать",
+ "sidebar": "Боковая панель",
+ "sidebar_display_description": "Показывать ссылку на представление в боковой панели",
"sign_out": "Выход",
"sign_up": "Войти",
"size": "Размер",
"skip_to_content": "Перейти к содержанию",
+ "skip_to_folders": "Перейти к папкам",
+ "skip_to_tags": "Перейти к тегам",
"slideshow": "Слайд-шоу",
"slideshow_settings": "Настройки слайд-шоу",
"sort_albums_by": "Сортировать альбомы по...",
@@ -1182,7 +1257,9 @@
"sort_recent": "Недавние фото",
"sort_title": "Заголовок",
"source": "Источник",
- "stack": "Стек",
+ "stack": "В стопку",
+ "stack_duplicates": "Стек дубликатов",
+ "stack_select_one_photo": "Выберите одну главную фотографию для стека",
"stack_selected_photos": "Сложить выбранные фотографии в стопку",
"stacked_assets_count": "{count, plural, one {# объект добавлен} few {# объекта добавлено} other {# объектов добавлено}} в стек",
"stacktrace": "Трассировка стека",
@@ -1200,19 +1277,33 @@
"submit": "Подтвердить",
"suggestions": "Предложения",
"sunrise_on_the_beach": "Восход солнца на пляже",
+ "support": "Поддержка",
+ "support_and_feedback": "Поддержка и обратная связь",
+ "support_third_party_description": "Ваша установка immich была упакована сторонним разработчиком. Проблемы, с которыми вы столкнулись, могут быть вызваны этим пакетом, поэтому, пожалуйста, в первую очередь обращайтесь к ним, используя ссылки ниже.",
"swap_merge_direction": "Изменить направление слияния",
- "sync": "Синхронизировать",
+ "sync": "Синхр.",
+ "tag": "Тег",
+ "tag_assets": "Добавить теги",
+ "tag_created": "Тег {tag} создан",
+ "tag_feature_description": "Просмотр фотографий и видео, сгруппированных по тегам",
+ "tag_not_found_question": "Не удается найти тег? Создайте новый тег.",
+ "tag_updated": "Тег {tag} изменен",
+ "tagged_assets": "Помечено {count, plural, one {# объект} other {# объектов}}",
+ "tags": "Теги",
"template": "Шаблон",
"theme": "Тема",
"theme_selection": "Выбор темы",
"theme_selection_description": "Автоматически устанавливать тему в зависимости от системных настроек вашего браузера",
"they_will_be_merged_together": "Они будут объединены вместе",
+ "third_party_resources": "Сторонние ресурсы",
"time_based_memories": "Воспоминания, основанные на времени",
"timezone": "Часовой пояс",
"to_archive": "В архив",
"to_change_password": "Изменить пароль",
"to_favorite": "Добавить в избранное",
"to_login": "Вход",
+ "to_parent": "Вернуться назад",
+ "to_root": "В начало",
"to_trash": "Корзина",
"toggle_settings": "Переключение настроек",
"toggle_theme": "Переключение темы",
@@ -1221,7 +1312,7 @@
"trash": "Корзина",
"trash_all": "Удалить всё",
"trash_count": "Удалить {count, number}",
- "trash_delete_asset": "Удалить ресурс",
+ "trash_delete_asset": "Переместить в корзину",
"trash_no_results_message": "Здесь будут отображаться удалённые фотографии и видео.",
"trashed_items_will_be_permanently_deleted_after": "Элементы в корзине будут автоматически удалены через {days, plural, one {# день} other {# дней}}.",
"type": "Тип",
@@ -1234,24 +1325,26 @@
"unknown_album": "Неизвестный альбом",
"unknown_year": "Неизвестный Год",
"unlimited": "Не ограничено",
+ "unlink_motion_video": "Отсоединить движущееся видео",
"unlink_oauth": "Отключить OAuth",
"unlinked_oauth_account": "Отключить аккаунт OAuth",
"unnamed_album": "Альбом без названия",
+ "unnamed_album_delete_confirmation": "Вы уверены, что хотите удалить этот альбом?",
"unnamed_share": "Общий доступ без названия",
"unsaved_change": "Не сохраненное изменение",
"unselect_all": "Снять всё",
"unselect_all_duplicates": "Отменить выбор всех дубликатов",
"unstack": "Разобрать стек",
- "unstacked_assets_count": "{count, plural, one {# объект} few {# объекта} other {# объектов}} разобрано из стека",
+ "unstacked_assets_count": "{count, plural, one {# объект извлечен} few {# объекта извлечено} other {# объектов извлечено}} из стека",
"untracked_files": "НЕОТСЛЕЖИВАЕМЫЕ ФАЙЛЫ",
"untracked_files_decription": "Приложение не отслеживает эти файлы. Они могут быть результатом неудачных перемещений, прерванных загрузок или пропущены из-за ошибки",
"up_next": "Следующее",
"updated_password": "Пароль обновлён",
"upload": "Загрузить",
"upload_concurrency": "Параллельность загрузки",
- "upload_errors": "Загрузка завершена с {count, plural, one {# ошибкой} few {# ошибками} many {# ошибками} other {# ошибками}}, обновите страницу, чтобы увидеть новые загруженные ресурсы.",
+ "upload_errors": "Загрузка завершена с {count, plural, one {# ошибкой} other {# ошибками}}, обновите страницу, чтобы увидеть новые загруженные ресурсы.",
"upload_progress": "Осталось {remaining, number} - Обработано {processed, number}/{total, number}",
- "upload_skipped_duplicates": "Пропущено {count, plural, one {# дублирующийся ресурс} few {# дублирующихся ресурса} many {# дублирующихся ресурсов} other {# дублирующихся ресурса}}",
+ "upload_skipped_duplicates": "Пропущен{count, plural, one { # дублирующийся ресурс} few {о # дублирующихся ресурса} many {о # дублирующихся ресурсов} other {о # дублирующихся ресурса}}",
"upload_status_duplicates": "Дубликаты",
"upload_status_errors": "Ошибки",
"upload_status_uploaded": "Загружено",
@@ -1275,30 +1368,33 @@
"variables": "Переменные",
"version": "Версия",
"version_announcement_closing": "Твой друг Алекс",
- "version_announcement_message": "Привет, друг! В приложении доступна новая версия. Пожалуйста, посетите заметки к выпуску и убедитесь, что ваша настройка docker-compose.yml
и .env
актуальна, чтобы избежать ошибок конфигурации, особенно если вы используете WatchTower или другой механизм автоматического обновления вашего приложения.",
+ "version_announcement_message": "Привет, друг! Доступна новая версия приложения. Пожалуйста, посетите заметки к выпуску и убедитесь, что ваши параметры docker-compose.yml
и .env
актуальны, чтобы избежать ошибок конфигурации, особенно если вы используете WatchTower или другой механизм автоматического обновления приложения.",
+ "version_history": "История версий",
+ "version_history_item": "Версия {version} установлена {date}",
"video": "Видео",
"video_hover_setting": "Воспроизведение миниатюры видео при наведении курсора мыши",
"video_hover_setting_description": "Воспроизводить миниатюры видео при наведении курсора мыши на объект. Даже если этот параметр отключен, воспроизведение можно запустить, наведя курсор на значок воспроизведения.",
"videos": "Видео",
- "videos_count": "{count, plural, one {Видео (#)} few {Видео (#)} many {Видео (#)} other {Видео (#)}}",
+ "videos_count": "{count, plural, one {# Видео} few {# Видео} many {# Видео} other {# Видео}}",
"view": "Просмотр",
"view_album": "Просмотреть альбом",
"view_all": "Посмотреть всё",
"view_all_users": "Показать всех пользователей",
- "view_links": "Посмотреть ссылки",
- "view_next_asset": "Посмотреть следующий объект",
- "view_previous_asset": "Посмотреть предыдущий объект",
- "view_stack": "Просмотреть Стек",
+ "view_in_timeline": "Показать на временной шкале",
+ "view_links": "Показать ссылки",
+ "view_next_asset": "Показать следующий объект",
+ "view_previous_asset": "Показать предыдущий объект",
+ "view_stack": "Показать стек",
"viewer": "Наблюдатель",
"visibility_changed": "Видимость изменена для {count, plural, one {# человека} other {# людей}}",
"waiting": "В очереди",
"warning": "Предупреждение",
"week": "Неделя",
"welcome": "Добро пожаловать",
- "welcome_to_immich": "Добро пожаловать в immich",
+ "welcome_to_immich": "Добро пожаловать в Immich",
"year": "Год",
"years_ago": "{years, plural, one {# год} few {# года} many {# лет} other {# года}} назад",
"yes": "Да",
- "you_dont_have_any_shared_links": "У вас нет общих ссылок",
- "zoom_image": "Увеличить"
+ "you_dont_have_any_shared_links": "У вас нет публичных ссылок",
+ "zoom_image": "Приблизить"
}
diff --git a/i18n/sk.json b/i18n/sk.json
new file mode 100644
index 0000000000..975229b51d
--- /dev/null
+++ b/i18n/sk.json
@@ -0,0 +1,964 @@
+{
+ "about": "O aplikácií",
+ "account": "Účet",
+ "account_settings": "Nastavenia účtu",
+ "acknowledge": "Potvrdiť",
+ "action": "Akcia",
+ "actions": "Akcie",
+ "active": "Aktívny",
+ "activity": "Aktivita",
+ "activity_changed": "Aktivita je {enabled, select, true{povolená} other {vypnutá}}",
+ "add": "Pridať",
+ "add_a_description": "Pridať popis",
+ "add_a_location": "Pridať polohu",
+ "add_a_name": "Pridať meno",
+ "add_a_title": "Pridať názov",
+ "add_exclusion_pattern": "Pridať vzor vylúčenia",
+ "add_import_path": "Pridať cestu pre import",
+ "add_location": "Pridať lokáciu",
+ "add_more_users": "Pridať viac používateľov",
+ "add_partner": "Pridať partnera",
+ "add_path": "Pridať cestu",
+ "add_photos": "Pridať fotografie",
+ "add_to": "Pridať do...",
+ "add_to_album": "Pridať do albumu",
+ "add_to_shared_album": "Pridať do zdieľaného albumu",
+ "added_to_archive": "Pridané do archívu",
+ "added_to_favorites": "Pridané do obľúbených",
+ "added_to_favorites_count": "Pridané {count, number} do obľúbených",
+ "admin": {
+ "add_exclusion_pattern_description": "Pridávanie vzorov na vylúčenie. Globovanie pomocou *, ** a ? je podporované. Ak chcete ignorovať všetky súbory v akomkoľvek adresári s názvom \"Raw\", použite \"**/Raw/**\". Ak chcete ignorovať všetky súbory končiace na \".tif\", použite \"**/*.tif\". Ak chcete ignorovať absolútnu cestu, použite príkaz \"/cesta/k/ignorovanym/**\".",
+ "asset_offline_description": "Táto položka externej knižnice sa už na disku nenachádza a bola presunutá do koša. Pokiaľ bol súbor presunutý v rámci knižnice, skontrolujte časovú os a vyhľadajte nové odpovedajúce položky. Ak chcete túto položku obnoviť, uistite sa, že je cesta k nižšie uvedenému súboru prístupná pre aplikáciu Immich a prehľadajte knižnicu.",
+ "authentication_settings": "Nastavenia overovania",
+ "authentication_settings_description": "Spravovať heslo, protokol OAuth a ďalšie nastavenia overenia",
+ "authentication_settings_disable_all": "Naozaj chcete zakázať všetky spôsoby prihlásenia? Prihlásenie bude úplne zakázané.",
+ "authentication_settings_reenable": "Pre opätovné povolenie použite Serverový príkaz.",
+ "background_task_job": "Úlohy na pozadí",
+ "check_all": "Skontrolovať všetko",
+ "cleared_jobs": "Hotové úlohy pre: {job}",
+ "config_set_by_file": "Konfigurácia je v súčasnosti nastavená konfiguračným súborom",
+ "confirm_delete_library": "Naozaj chcete vymazať knižnicu {library}?",
+ "confirm_email_below": "Pre potvrdenie zadajte \"{email}\" nižšie",
+ "confirm_reprocess_all_faces": "Naozaj chcete spracovať všetky tváre znova? Tento proces vymaže pomenovaných ľudí.",
+ "confirm_user_password_reset": "Naozaj chcete resetovať heslo pre {user}?",
+ "create_job": "Vytvoriť úlohu",
+ "crontab_guru": "",
+ "disable_login": "Zakázať prihlásenie",
+ "disabled": "",
+ "duplicate_detection_job_description": "Spustiť strojové učenie na položkách pre detekciu podobných obrázkov. Spolieha sa na inteligentné vyhľadávanie",
+ "exclusion_pattern_description": "Vylučovacie vzory Vám umožňujú ignorovať súbory a priečinky pri skenovaní Vašej knižnice. Toto je užitočné, ak máte priečinky obsahujúce súbory, ktoré nechcete importovať, napríklad RAW súbory.",
+ "external_library_created_at": "Externá knižnica (vytvorená {date})",
+ "external_library_management": "Správa Externej Knižnice",
+ "face_detection": "Detekcia tvárí",
+ "face_detection_description": "Detekujte tváre v položkách pomocou strojového učenia. Pri videách sa berie do úvahy iba miniatúra. „Obnoviť“ znovu spracuje všetky položky. „Resetovať“ navyše vymaže všetky aktuálne údaje o tvárach. „Chýbajúce“ zaradí položky, ktoré ešte neboli spracované. Detekované tváre budú zaradené na rozpoznávanie tvárí po dokončení detekcie tvárí, pričom sa zoskupia do existujúcich alebo nových osôb.",
+ "facial_recognition_job_description": "Zoskupovať detekované tváre do osôb. Tento krok sa vykoná po dokončení detekcie tvárí. „Resetovať“ (znovu) zoskupí všetky tváre. „Chýbajúce“ zaradí tváre, ktoré nemajú pridelenú osobu.",
+ "failed_job_command": "Príkaz {command} zlyhal pre úlohu: {job}",
+ "force_delete_user_warning": "VAROVANIE: Toto okamžite odstráni používateľa a všetky položky. Tento krok nie je možné vrátiť späť a súbory nebude možné obnoviť.",
+ "forcing_refresh_library_files": "Vynútenie obnovy všetkých súborov knižnice",
+ "image_format": "Formát",
+ "image_format_description": "WebP vytvára menšie súbory ako JPEG, ale kódovanie je pomalšie.",
+ "image_prefer_embedded_preview": "Uprednostňovať vstavaný náhľad",
+ "image_prefer_embedded_preview_setting_description": "Použiť vložené náhľady vo fotografiách RAW ako vstup pre spracovanie obrazu, ak sú k dispozícii. To môže vytvoriť presnejšie farby pre niektoré obrázky, ale kvalita náhľadu závisí od fotoaparátu a obrázok môže mať viac kompresných artefaktov.",
+ "image_prefer_wide_gamut": "Uprednostňovať široký farebný rozsah",
+ "image_prefer_wide_gamut_setting_description": "Použiť Display P3 pre miniatúry. Toto lepšie zachováva živosť obrázkov so širokým farebným rozsahom. Obrázky sa môžu zobraziť odlišne na starších zariadeniach so starou verziou prehliadača. sRGB obrázky zostávajú sRGB, aby sa zabránilo farebným posunom.",
+ "image_preview_description": "Stredne veľký obrázok s odstránenými metadátami, používaný pri prezeraní jednej položky a na strojové učenie",
+ "image_preview_format": "Formát ukážky",
+ "image_preview_quality_description": "Kvalita náhľadu v stupnici od 1 do 100. Vyššia hodnota znamená lepšiu kvalitu, ale produkuje väčšie súbory a môže znížiť odozvu aplikácie. Nastavenie nižšej hodnoty môže ovplyvniť kvalitu strojového učenia.",
+ "image_preview_resolution": "Rozlíšenie náhľadu",
+ "image_preview_resolution_description": "Používa sa pri prezeraní jednej fotografie a pre strojové učenie. Vyššie rozlíšenie zachová viac detailov, ale kódovanie trvá dlhšie, súbory sú väčšie, a môže znížiť rýchlosť aplikácie.",
+ "image_preview_title": "Nastavenia Náhľadov",
+ "image_quality": "Kvalita",
+ "image_quality_description": "",
+ "image_resolution": "Rozlíšenie",
+ "image_resolution_description": "Vyššie rozlíšenie môže zachovať viac detailov, ale kódovanie trvá dlhšie, súbory sú väčšie a môže to znížiť rýchlosť odozvy aplikácie.",
+ "image_settings": "Nastavenia Obrázkov",
+ "image_settings_description": "Spravovať kvalitu a rozlíšenie generovaných obrázkov",
+ "image_thumbnail_description": "Malá miniatúra s odstránenými metadátami, používané pri zobrazovaní skupín fotiek ako na hlavnej časovej osi",
+ "image_thumbnail_format": "Formát náhľadu",
+ "image_thumbnail_quality_description": "Kvalita miniatúry v stupnici od 1 do 100. Vyššia hodnota znamená lepšiu kvalitu, ale produkuje väčšie súbory a môže znížiť odozvu aplikácie.",
+ "image_thumbnail_resolution": "",
+ "image_thumbnail_resolution_description": "",
+ "image_thumbnail_title": "Nastavenia miniatúr",
+ "job_concurrency": "Súbežnosť úlohy - {job}",
+ "job_created": "Úloha bola vytvorená",
+ "job_not_concurrency_safe": "Táto úloha nie je bezpečná pre súbežné spracovanie",
+ "job_settings": "Nastavenia Úloh",
+ "job_settings_description": "Spravovať súbežnosť úloh",
+ "job_status": "Stav Úloh",
+ "jobs_delayed": "{jobCount, plural, one {# oneskorený} few {# oneskorené} other {# oneskorených}}",
+ "jobs_failed": "{jobCount, plural, one {# neúspešný} few {# neúspešné} other {# neúspešných}}",
+ "library_created": "Vytvorená knižnica: {library}",
+ "library_cron_expression": "Výraz pre Cron",
+ "library_cron_expression_description": "Nastaviť skenovací interval pomocou formátu cron. Viac informácií nájdete napr. na Crontab Guru",
+ "library_cron_expression_presets": "Predvoľby výrazu pre Cron",
+ "library_deleted": "Knižnica bola vymazaná",
+ "library_import_path_description": "Zvoľte priečinok na importovanie. Tento priečinok vrátane podpriečinkov bude skenovaný pre obrázky a videá.",
+ "library_scanning": "Pravidelné skenovanie",
+ "library_scanning_description": "Nastaviť pravidelné skenovanie knižnice",
+ "library_scanning_enable_description": "Zapnúť pravidelné skenovanie knižnice",
+ "library_settings": "Externá knižnica",
+ "library_settings_description": "Spravovať nastavenia externej knižnice",
+ "library_tasks_description": "Vykonať úlohy knižnice",
+ "library_watching_enable_description": "Sledovať externé knižnice pre zmeny v súboroch",
+ "library_watching_settings": "Sledovanie knižnice (EXPERIMENTÁLNE)",
+ "library_watching_settings_description": "Automaticky sledovať zmenené súbory",
+ "logging_enable_description": "Povoliť zaznamenávanie",
+ "logging_level_description": "Ak je povolené, akú úroveň zaznamenávania použiť.",
+ "logging_settings": "Zaznamenávanie",
+ "machine_learning_clip_model": "Model CLIP",
+ "machine_learning_clip_model_description": "Názov modelu CLIP je uvedený tu. Pamätajte, že pri zmene modelu je nutné znovu spustiť úlohu 'Inteligentné vyhľadávanie' pre všetky obrázky.",
+ "machine_learning_duplicate_detection": "Detekcia duplikátov",
+ "machine_learning_duplicate_detection_enabled": "Povoliť detekciu duplikátov",
+ "machine_learning_duplicate_detection_enabled_description": "Ak je vypnuté, presne identické položky budú stále deduplikované.",
+ "machine_learning_duplicate_detection_setting_description": "Použiť CLIP embeddings na identifikáciu pravdepodobných duplikátov",
+ "machine_learning_enabled": "Povoliť strojové učenie",
+ "machine_learning_enabled_description": "Ak je vypnuté, všetky funkcie strojového učenia (ML) budú vypnuté, bez ohľadu na nastavenia nižšie.",
+ "machine_learning_facial_recognition": "Rozpoznávanie tvárí",
+ "machine_learning_facial_recognition_description": "Detekovať, rozpoznať a zoskupiť tváre na obrázkoch",
+ "machine_learning_facial_recognition_model": "Model pre rozpoznávanie tvárí",
+ "machine_learning_facial_recognition_model_description": "Modely sú zoradené od najväčšieho po najmenší. Väčšie modely sú pomalšie a vyžadujú viac pamäte, ale poskytujú lepšie výsledky. Pamätajte, že po zmene modelu je potrebné znovu spustiť úlohu detekcie tvárí pre všetky obrázky.",
+ "machine_learning_facial_recognition_setting": "Povoliť rozpoznávanie tvárí",
+ "machine_learning_facial_recognition_setting_description": "Ak je vypnuté, obrázky nebudú spracované pre rozpoznávanie tvárí a nebudú sa zobrazovať v sekcii Ľudia na stránke Preskúmať.",
+ "machine_learning_max_detection_distance": "Maximálna detekčná odchylka",
+ "machine_learning_max_detection_distance_description": "Maximálna odchylka medzi dvoma obrázkami, aby boli považované za duplikáty, v rozsahu od 0.001 do 0.1. Vyššie hodnoty odhalia viac duplikátov, ale môžu viesť k falošným pozitívam.",
+ "machine_learning_max_recognition_distance": "Maximálna rozpoznávacia odchylka",
+ "machine_learning_max_recognition_distance_description": "Maximálna odchylka medzi dvoma tvárami, aby boli považované za rovnakú osobu, v rozsahu od 0 do 2. Zníženie tejto hodnoty môže zabrániť označeniu dvoch ľudí za tú istú osobu, zatiaľ čo zvýšenie môže zabrániť označeniu jednej osoby za dve rôzne osoby. Pamätajte, že je jednoduchšie spojiť dvoch ľudí ako rozdeliť jednu osobu na dve, takže je lepšie voliť nižší prah, ak je to možné.",
+ "machine_learning_min_detection_score": "Minimálne detekčné skóre",
+ "machine_learning_min_detection_score_description": "Minimálne skóre dôveryhodnosti pre detekciu tváre v rozsahu od 0 do 1. Nižšie hodnoty odhalia viac tvárí, ale môžu viesť k falošným pozitivním výsledkom.",
+ "machine_learning_min_recognized_faces": "Minimum rozpoznaných tvárí",
+ "machine_learning_min_recognized_faces_description": "Minimálny počet rozpoznaných tvárí potrebných na vytvorenie osoby. Zvýšením tejto hodnoty sa zvyšuje presnosť rozpoznávania tvárí, ale tiež sa zvyšuje pravdepodobnosť, že tvár nebude priradená osobe.",
+ "machine_learning_settings": "Nastavenia strojového učenia",
+ "machine_learning_settings_description": "Spravovať funkcie a nastavenia strojového učenia",
+ "machine_learning_smart_search": "Inteligentné vyhľadávanie",
+ "machine_learning_smart_search_description": "",
+ "machine_learning_smart_search_enabled": "Povoliť inteligentné vyhľadávanie",
+ "machine_learning_smart_search_enabled_description": "",
+ "machine_learning_url_description": "URL adresa servera pre strojové učenie",
+ "manage_log_settings": "Spravovať nastavenia logovania",
+ "map_dark_style": "Tmavý štýl",
+ "map_enable_description": "Povoliť funkcie mapy",
+ "map_gps_settings": "Nastavenia Mapy & GPS",
+ "map_light_style": "Svetlý štýl",
+ "map_reverse_geocoding": "",
+ "map_reverse_geocoding_enable_description": "Povoliť reverzné geokódovanie",
+ "map_reverse_geocoding_settings": "",
+ "map_settings": "Mapa",
+ "map_settings_description": "Spravovať nastavenia mapy",
+ "map_style_description": "",
+ "metadata_extraction_job": "Extrahovať metadáta",
+ "metadata_extraction_job_description": "",
+ "metadata_faces_import_setting": "Povoliť import tváre",
+ "metadata_settings": "Nastavenia metadát",
+ "metadata_settings_description": "Spravovať nastavenia metadát",
+ "migration_job": "Migrácia",
+ "migration_job_description": "",
+ "notification_email_from_address": "Z adresy",
+ "notification_email_from_address_description": "",
+ "notification_email_host_description": "",
+ "notification_email_ignore_certificate_errors": "Ignorovať chyby certifikátu",
+ "notification_email_ignore_certificate_errors_description": "",
+ "notification_email_password_description": "",
+ "notification_email_port_description": "Porty e-mailového servera (napr. 25, 465, alebo 587)",
+ "notification_email_sent_test_email_button": "Odoslať testovací e-mail a uložiť",
+ "notification_email_setting_description": "Nastavenie pre odosielanie e-mailových upozornení",
+ "notification_email_test_email": "Odoslať testovací email",
+ "notification_email_test_email_failed": "Odosielanie testovacieho e-mailu zlyhalo, skontrolujte hodnoty",
+ "notification_email_test_email_sent": "Testovací e-mail bol odoslaný na adresu {email}. Prosím skontrolujte si Doručenú poštu.",
+ "notification_email_username_description": "Používateľské meno, ktoré sa má použiť pri overovaní s e-mailovým serverom",
+ "notification_enable_email_notifications": "Povoliť e-mailové upozornenia",
+ "notification_settings": "Nastavenia upozornení",
+ "notification_settings_description": "Spravovať nastavenia upozornení, vrátane emailu",
+ "oauth_auto_launch": "",
+ "oauth_auto_launch_description": "",
+ "oauth_auto_register": "",
+ "oauth_auto_register_description": "",
+ "oauth_button_text": "",
+ "oauth_client_id": "Client ID",
+ "oauth_client_secret": "Client Secret",
+ "oauth_enable_description": "Prihlásiť sa pomocou OAuth",
+ "oauth_issuer_url": "",
+ "oauth_mobile_redirect_uri": "",
+ "oauth_mobile_redirect_uri_override": "",
+ "oauth_mobile_redirect_uri_override_description": "",
+ "oauth_scope": "",
+ "oauth_settings": "OAuth",
+ "oauth_settings_description": "Spravovať nastavenia prihlásenia OAuth",
+ "oauth_signing_algorithm": "",
+ "oauth_storage_label_claim": "",
+ "oauth_storage_label_claim_description": "",
+ "oauth_storage_quota_claim": "",
+ "oauth_storage_quota_claim_description": "",
+ "oauth_storage_quota_default": "",
+ "oauth_storage_quota_default_description": "",
+ "password_enable_description": "Prihlásiť sa pomocou emailu a hesla",
+ "password_settings": "Prihlásenie cez heslo",
+ "password_settings_description": "Spravovať nastavenia prihlásenia cez heslo",
+ "refreshing_all_libraries": "Obnovujú sa všetky knižnice",
+ "registration": "Registrácia administrátora",
+ "repair_all": "Opraviť Všetko",
+ "require_password_change_on_login": "Vyžadovať od používateľa zmenu hesla pri prvom prihlásení",
+ "reset_settings_to_default": "Obnoviť pôvodné nastavenia",
+ "scanning_library": "Knižnica sa skenuje",
+ "search_jobs": "Vyhľadať úlohy...",
+ "send_welcome_email": "Odoslať uvítací e-mail",
+ "server_external_domain_settings": "Externá doména",
+ "server_external_domain_settings_description": "",
+ "server_settings": "Nastavenia servera",
+ "server_settings_description": "Spravovať nastavenia servera",
+ "server_welcome_message": "Uvítacia správa",
+ "server_welcome_message_description": "Správa, ktorá sa zobrazí na prihlasovacej stránke.",
+ "sidecar_job_description": "",
+ "slideshow_duration_description": "",
+ "smart_search_job_description": "",
+ "storage_template_enable_description": "",
+ "storage_template_hash_verification_enabled": "",
+ "storage_template_hash_verification_enabled_description": "",
+ "storage_template_migration_job": "",
+ "storage_template_settings": "",
+ "storage_template_settings_description": "",
+ "system_settings": "Nastavenia systému",
+ "theme_custom_css_settings": "Vlastné CSS",
+ "theme_custom_css_settings_description": "",
+ "theme_settings": "Nastavenia témovania",
+ "theme_settings_description": "Spravovať prispôsobenie webového rozhrania Immich",
+ "thumbnail_generation_job": "Generovať Miniatúry",
+ "thumbnail_generation_job_description": "",
+ "transcode_policy_description": "",
+ "transcoding_acceleration_api": "",
+ "transcoding_acceleration_api_description": "",
+ "transcoding_acceleration_nvenc": "NVENC (vyžaduje grafickú kartu NVIDIA)",
+ "transcoding_acceleration_qsv": "Quick Sync (vyžaduje 7. generáciu Intel procesora alebo novšie)",
+ "transcoding_acceleration_rkmpp": "",
+ "transcoding_acceleration_vaapi": "VAAPI",
+ "transcoding_accepted_audio_codecs": "",
+ "transcoding_accepted_audio_codecs_description": "",
+ "transcoding_accepted_video_codecs": "",
+ "transcoding_accepted_video_codecs_description": "",
+ "transcoding_advanced_options_description": "Možnosti, ktoré by väčšina používateľov nemala meniť",
+ "transcoding_audio_codec": "",
+ "transcoding_audio_codec_description": "",
+ "transcoding_bitrate_description": "",
+ "transcoding_constant_quality_mode": "",
+ "transcoding_constant_quality_mode_description": "",
+ "transcoding_constant_rate_factor": "",
+ "transcoding_constant_rate_factor_description": "",
+ "transcoding_disabled_description": "",
+ "transcoding_hardware_acceleration": "Hardvérová akcelerácia",
+ "transcoding_hardware_acceleration_description": "",
+ "transcoding_hardware_decoding": "",
+ "transcoding_hardware_decoding_setting_description": "",
+ "transcoding_hevc_codec": "",
+ "transcoding_max_b_frames": "",
+ "transcoding_max_b_frames_description": "",
+ "transcoding_max_bitrate": "",
+ "transcoding_max_bitrate_description": "",
+ "transcoding_max_keyframe_interval": "",
+ "transcoding_max_keyframe_interval_description": "",
+ "transcoding_optimal_description": "",
+ "transcoding_preferred_hardware_device": "",
+ "transcoding_preferred_hardware_device_description": "",
+ "transcoding_preset_preset": "",
+ "transcoding_preset_preset_description": "",
+ "transcoding_reference_frames": "",
+ "transcoding_reference_frames_description": "",
+ "transcoding_required_description": "",
+ "transcoding_settings": "Nastavenia video transkódovania",
+ "transcoding_settings_description": "",
+ "transcoding_target_resolution": "",
+ "transcoding_target_resolution_description": "",
+ "transcoding_temporal_aq": "",
+ "transcoding_temporal_aq_description": "",
+ "transcoding_threads": "Vlákna",
+ "transcoding_threads_description": "",
+ "transcoding_tone_mapping": "",
+ "transcoding_tone_mapping_description": "",
+ "transcoding_tone_mapping_npl": "",
+ "transcoding_tone_mapping_npl_description": "",
+ "transcoding_transcode_policy": "",
+ "transcoding_two_pass_encoding": "",
+ "transcoding_two_pass_encoding_setting_description": "",
+ "transcoding_video_codec": "",
+ "transcoding_video_codec_description": "",
+ "trash_enabled_description": "Povoliť funkcie koša",
+ "trash_number_of_days": "Počet dní",
+ "trash_number_of_days_description": "",
+ "trash_settings": "Nastavenia koša",
+ "trash_settings_description": "Spravovať nastavenia koša",
+ "user_delete_delay_settings": "Odstrániť oneskorenie",
+ "user_delete_delay_settings_description": "",
+ "user_management": "Správa používateľov",
+ "user_password_has_been_reset": "Heslo používateľa bolo resetované:",
+ "user_settings": "Nastavenia používateľa",
+ "user_settings_description": "Spravovať používateľské nastavenia",
+ "user_successfully_removed": "Používateľ {email} bol úspešne odstránený.",
+ "version_check_enabled_description": "Povoliť kontrolu verzie",
+ "version_check_settings": "Kontrola verzie",
+ "version_check_settings_description": "Povoliť/zakázať upozornenia na novú verziu",
+ "video_conversion_job": "Prekódovať videá",
+ "video_conversion_job_description": ""
+ },
+ "admin_email": "Administrátorský email",
+ "admin_password": "Administrátorské heslo",
+ "administration": "Administrácia",
+ "advanced": "Pokročilé",
+ "album_added": "Album bol pridaný",
+ "album_added_notification_setting_description": "Obdržať upozornenie emailom, keď ste pridaní do zdieľaného albumu",
+ "album_cover_updated": "",
+ "album_delete_confirmation": "Ste si istý, že chcete odstrániť album {album}?",
+ "album_info_updated": "Informácie albumu aktualizované",
+ "album_leave": "Opustiť album?",
+ "album_leave_confirmation": "Ste si istý, že chcete opustiť album {album}?",
+ "album_name": "Názov albumu",
+ "album_options": "Nastavenia albumu",
+ "album_remove_user": "Odstrániť používateľa?",
+ "album_remove_user_confirmation": "Ste si istý, že chcete odstrániť používateľa {user}?",
+ "album_updated": "Album bol aktualizovaný",
+ "album_updated_setting_description": "Obdržať e-mailové upozornenie, keď v zdieľanom albume pribudnú nové položky",
+ "album_user_left": "Opustil {album}",
+ "album_with_link_access": "Umožnite komukoľvek s odkazom pozrieť si fotky a ľudí v tomto albume.",
+ "albums": "Albumy",
+ "all": "Všetko",
+ "all_albums": "Všetky albumy",
+ "all_people": "Všetci ľudia",
+ "all_videos": "Všetky videa",
+ "allow_dark_mode": "Povoliť tmavý režim",
+ "allow_edits": "Povoliť úpravy",
+ "anti_clockwise": "Proti smeru hodinových ručičiek",
+ "api_key": "API Klúč",
+ "api_key_empty": "Názov vášho API kĺuča by nemal byť prázdny",
+ "api_keys": "API Kľúče",
+ "app_settings": "Nastavenia Aplikácie",
+ "appears_in": "",
+ "archive": "Archivovať",
+ "archive_or_unarchive_photo": "",
+ "archived": "",
+ "are_you_sure_to_do_this": "Ste si istý, že to chcete urobiť?",
+ "asset_added_to_album": "Pridané do albumu",
+ "asset_adding_to_album": "Pridáva sa do albumu...",
+ "asset_offline": "",
+ "asset_skipped": "Preskočené",
+ "asset_skipped_in_trash": "V koši",
+ "asset_uploaded": "Nahrané",
+ "asset_uploading": "Nahráva sa...",
+ "assets": "Položky",
+ "authorized_devices": "Autorizované zariadenia",
+ "back": "Späť",
+ "backward": "",
+ "birthdate_saved": "Dátum narodenia bol úspešne uložený",
+ "blurred_background": "",
+ "buy": "Kúpiť Immich",
+ "camera": "Fotoaparát",
+ "camera_brand": "Výrobca fotoaparátu",
+ "camera_model": "Model fotoaparátu",
+ "cancel": "Zrušiť",
+ "cancel_search": "Zrušiť vyhľadávanie",
+ "cannot_merge_people": "",
+ "cannot_update_the_description": "Popis nie je možné aktualizovať",
+ "cant_apply_changes": "",
+ "cant_get_faces": "",
+ "cant_search_people": "",
+ "cant_search_places": "",
+ "change_date": "Upraviť dátum",
+ "change_expiration_time": "Zmeniť čas vypršania",
+ "change_location": "Upraviť lokáciu",
+ "change_name": "Upraviť meno",
+ "change_name_successfully": "",
+ "change_password": "Zmeniť Heslo",
+ "change_your_password": "",
+ "changed_visibility_successfully": "",
+ "check_all": "Skontrolovať Všetko",
+ "check_logs": "Skontrolovať logy",
+ "city": "Mesto",
+ "clear": "VYMAZAŤ",
+ "clear_all": "Vymazať všetko",
+ "clear_all_recent_searches": "Vymazať nedávne vyhľadávania",
+ "clear_message": "Vymazať správu",
+ "clear_value": "Vymazať hodnotu",
+ "clockwise": "V smere hodinových ručičiek",
+ "close": "Zatvoriť",
+ "collapse_all": "",
+ "color_theme": "",
+ "comment_deleted": "Komentár bol odstránený",
+ "comment_options": "Možnosti komentára",
+ "comments_are_disabled": "Komentáre sú vypnuté",
+ "confirm": "Potvrdiť",
+ "confirm_admin_password": "Potvrdiť Administrátorské Heslo",
+ "confirm_delete_shared_link": "Ste si istý, že chcete odstrániť tento zdieľaný odkaz?",
+ "confirm_password": "Potvrdiť heslo",
+ "contain": "",
+ "context": "Kontext",
+ "continue": "Pokračovať",
+ "copied_image_to_clipboard": "Obrázok skopírovaný do schránky.",
+ "copied_to_clipboard": "Skopírované do schránky!",
+ "copy_error": "Chyba pri kopírovaní",
+ "copy_file_path": "",
+ "copy_image": "Skopírovať obrázok",
+ "copy_link": "Skopírovať odkaz",
+ "copy_link_to_clipboard": "Skopírovať do schránky",
+ "copy_password": "Skopírovať heslo",
+ "copy_to_clipboard": "Skopírovať do schránky",
+ "country": "Štát",
+ "cover": "",
+ "covers": "",
+ "create": "Vytvoriť",
+ "create_album": "Vytvoriť album",
+ "create_library": "Vytvoriť knižnicu",
+ "create_link": "Vytvoriť odkaz",
+ "create_link_to_share": "Vytvoriť odkaz na zdieľanie",
+ "create_new_person": "Vytvoriť novú osobu",
+ "create_new_user": "Vytvorenie nového používateľa",
+ "create_tag": "Vytvoriť značku",
+ "create_user": "Vytvoriť používateľa",
+ "created": "Vytvorené",
+ "current_device": "Aktuálne zariadenie",
+ "custom_locale": "",
+ "custom_locale_description": "",
+ "dark": "Tmavý",
+ "date_after": "Dátum po",
+ "date_and_time": "Dátum a čas",
+ "date_before": "Dátum pred",
+ "date_of_birth_saved": "Dátum narodenia uložený",
+ "date_range": "Rozsah dátumu",
+ "day": "Deň",
+ "default_locale": "",
+ "default_locale_description": "",
+ "delete": "Vymazať",
+ "delete_album": "Odstrániť album",
+ "delete_api_key_prompt": "Naozaj chcete odstrániť tento API kľúč?",
+ "delete_key": "Vymazať kľúč",
+ "delete_library": "Odstrániť knižnicu",
+ "delete_link": "Odstrániť link",
+ "delete_shared_link": "Odstrániť zdieľaný odkaz",
+ "delete_tag": "Odstrániť označenie",
+ "delete_user": "Odstrániť používateľa",
+ "deleted_shared_link": "",
+ "description": "Popis",
+ "details": "PODROBNOSTI",
+ "direction": "Smer",
+ "disabled": "Vypnuté",
+ "disallow_edits": "",
+ "discord": "Discord",
+ "discover": "Preskúmať",
+ "dismiss_all_errors": "",
+ "dismiss_error": "",
+ "display_options": "Zobraziť možnosti",
+ "display_order": "",
+ "display_original_photos": "Zobraziť pôvodné fotografie",
+ "display_original_photos_setting_description": "",
+ "do_not_show_again": "Túto správu znova nezobrazovať",
+ "documentation": "Dokumentácia",
+ "done": "Hotovo",
+ "download": "Stiahnuť",
+ "download_settings": "Stiahnuť",
+ "downloading": "Sťahovanie",
+ "downloading_asset_filename": "Stahovanie súboru {filename}",
+ "duplicates": "Duplikáty",
+ "duration": "Trvanie",
+ "durations": {
+ "days": "",
+ "hours": "",
+ "minutes": "",
+ "months": "",
+ "years": ""
+ },
+ "edit": "Upraviť",
+ "edit_album": "Upraviť album",
+ "edit_avatar": "Upraviť postavu",
+ "edit_date": "Upraviť dátum",
+ "edit_date_and_time": "Upraviť dátum a čas",
+ "edit_exclusion_pattern": "",
+ "edit_faces": "Upraviť tváre",
+ "edit_import_path": "",
+ "edit_import_paths": "",
+ "edit_key": "Upraviť kľúč",
+ "edit_link": "Upraviť odkaz",
+ "edit_location": "Upraviť polohu",
+ "edit_name": "Upraviť meno",
+ "edit_people": "Upraviť ľudí",
+ "edit_tag": "Upraiť značku",
+ "edit_title": "Upraviť názov",
+ "edit_user": "Upraviť používateľa",
+ "edited": "Upravené",
+ "editor": "",
+ "editor_close_without_save_prompt": "Úpravy nebudú uložené",
+ "editor_crop_tool_h2_aspect_ratios": "Pomer strán",
+ "editor_crop_tool_h2_rotation": "Rotácia",
+ "email": "E-mail",
+ "empty": "",
+ "empty_album": "",
+ "empty_trash": "Vyprázdniť kôš",
+ "enable": "Aktivovať",
+ "enabled": "Aktivovaný",
+ "end_date": "",
+ "error": "Chyba",
+ "error_loading_image": "Chyba pri načítaní obrázku",
+ "error_title": "Chyba - niečo sa pokazilo",
+ "errors": {
+ "unable_to_add_album_users": "",
+ "unable_to_add_comment": "",
+ "unable_to_add_partners": "",
+ "unable_to_change_album_user_role": "",
+ "unable_to_change_date": "",
+ "unable_to_change_location": "",
+ "unable_to_check_item": "",
+ "unable_to_check_items": "",
+ "unable_to_create_admin_account": "",
+ "unable_to_create_library": "",
+ "unable_to_create_user": "",
+ "unable_to_delete_album": "",
+ "unable_to_delete_asset": "",
+ "unable_to_delete_user": "",
+ "unable_to_empty_trash": "",
+ "unable_to_enter_fullscreen": "",
+ "unable_to_exit_fullscreen": "",
+ "unable_to_hide_person": "",
+ "unable_to_load_album": "",
+ "unable_to_load_asset_activity": "",
+ "unable_to_load_items": "",
+ "unable_to_load_liked_status": "",
+ "unable_to_play_video": "",
+ "unable_to_refresh_user": "",
+ "unable_to_remove_album_users": "",
+ "unable_to_remove_comment": "",
+ "unable_to_remove_library": "",
+ "unable_to_remove_partner": "",
+ "unable_to_remove_reaction": "",
+ "unable_to_remove_user": "",
+ "unable_to_repair_items": "",
+ "unable_to_reset_password": "",
+ "unable_to_resolve_duplicate": "",
+ "unable_to_restore_assets": "",
+ "unable_to_restore_trash": "",
+ "unable_to_restore_user": "",
+ "unable_to_save_album": "",
+ "unable_to_save_name": "",
+ "unable_to_save_profile": "",
+ "unable_to_save_settings": "",
+ "unable_to_scan_libraries": "",
+ "unable_to_scan_library": "",
+ "unable_to_set_profile_picture": "",
+ "unable_to_submit_job": "",
+ "unable_to_trash_asset": "",
+ "unable_to_unlink_account": "",
+ "unable_to_update_library": "",
+ "unable_to_update_location": "",
+ "unable_to_update_settings": "",
+ "unable_to_update_user": ""
+ },
+ "every_day_at_onepm": "",
+ "every_night_at_midnight": "",
+ "every_night_at_twoam": "",
+ "every_six_hours": "",
+ "exif": "Exif",
+ "exit_slideshow": "Opustiť Slideshow",
+ "expand_all": "",
+ "expire_after": "Expiruje po",
+ "expired": "Vypršalo",
+ "explore": "Preskúmať",
+ "explorer": "Prieskumník",
+ "export": "Exportovať",
+ "export_as_json": "Exportovať ako JSON",
+ "extension": "Rozšírenie",
+ "external": "Externý",
+ "external_libraries": "",
+ "failed_to_get_people": "",
+ "favorite": "Obľúbené",
+ "favorite_or_unfavorite_photo": "",
+ "favorites": "Obľúbené",
+ "feature": "",
+ "feature_photo_updated": "",
+ "featurecollection": "",
+ "features": "Funkcie",
+ "file_name": "Meno súboru",
+ "file_name_or_extension": "",
+ "filename": "Meno súboru",
+ "files": "",
+ "filetype": "Typ súboru",
+ "filter_people": "Filtrovať ľudí",
+ "find_them_fast": "Nájdite ich rýchlejšie podľa mena",
+ "fix_incorrect_match": "",
+ "force_re-scan_library_files": "",
+ "forward": "",
+ "general": "Všeobecné",
+ "get_help": "",
+ "getting_started": "",
+ "go_back": "",
+ "go_to_search": "",
+ "go_to_share_page": "",
+ "group_albums_by": "",
+ "has_quota": "",
+ "hide_gallery": "",
+ "hide_password": "",
+ "hide_person": "",
+ "host": "",
+ "hour": "",
+ "image": "",
+ "img": "",
+ "immich_logo": "",
+ "import_path": "",
+ "in_archive": "",
+ "include_archived": "Zahrnúť archivované",
+ "include_shared_albums": "",
+ "include_shared_partner_assets": "",
+ "individual_share": "",
+ "info": "",
+ "interval": {
+ "day_at_onepm": "",
+ "hours": "",
+ "night_at_midnight": "",
+ "night_at_twoam": ""
+ },
+ "invite_people": "",
+ "invite_to_album": "Pozvať do albumu",
+ "job_settings_description": "",
+ "jobs": "",
+ "keep": "",
+ "keyboard_shortcuts": "",
+ "language": "",
+ "language_setting_description": "",
+ "last_seen": "",
+ "leave": "",
+ "let_others_respond": "Nechajte ostatných reagovať",
+ "level": "",
+ "library": "Knižnica",
+ "library_options": "",
+ "light": "",
+ "link_options": "",
+ "link_to_oauth": "",
+ "linked_oauth_account": "",
+ "list": "",
+ "loading": "",
+ "loading_search_results_failed": "",
+ "log_out": "Odhlásiť sa",
+ "log_out_all_devices": "",
+ "login_has_been_disabled": "Prihlásenie bolo vypnuté.",
+ "look": "",
+ "loop_videos": "",
+ "loop_videos_description": "",
+ "make": "",
+ "manage_shared_links": "Spravovať zdieľané odkazy",
+ "manage_sharing_with_partners": "",
+ "manage_the_app_settings": "",
+ "manage_your_account": "",
+ "manage_your_api_keys": "",
+ "manage_your_devices": "",
+ "manage_your_oauth_connection": "",
+ "map": "Mapa",
+ "map_marker_with_image": "",
+ "map_settings": "Nastavenia máp",
+ "media_type": "",
+ "memories": "",
+ "memories_setting_description": "",
+ "menu": "",
+ "merge": "",
+ "merge_people": "",
+ "merge_people_successfully": "",
+ "minimize": "",
+ "minute": "",
+ "missing": "",
+ "model": "",
+ "month": "Mesiac",
+ "more": "",
+ "moved_to_trash": "",
+ "my_albums": "",
+ "name": "Meno",
+ "name_or_nickname": "",
+ "never": "nikdy",
+ "new_api_key": "",
+ "new_password": "Nové heslo",
+ "new_person": "",
+ "new_user_created": "",
+ "new_version_available": "JE DOSTUPNÁ NOVÁ VERZIA",
+ "newest_first": "",
+ "next": "Ďalej",
+ "next_memory": "",
+ "no": "",
+ "no_albums_message": "",
+ "no_archived_assets_message": "Archivovať fotografie a videá, aby sa skryli zo zobrazenia Fotografie",
+ "no_assets_message": "",
+ "no_exif_info_available": "",
+ "no_explore_results_message": "",
+ "no_favorites_message": "",
+ "no_libraries_message": "",
+ "no_name": "",
+ "no_places": "",
+ "no_results": "",
+ "no_shared_albums_message": "",
+ "not_in_any_album": "",
+ "notes": "",
+ "notification_toggle_setting_description": "Povoliť e-mailové upozornenia",
+ "notifications": "Oznámenia",
+ "notifications_setting_description": "Spravovať upozornenia",
+ "oauth": "OAuth",
+ "offline": "",
+ "ok": "",
+ "oldest_first": "",
+ "onboarding_welcome_user": "Vitaj, {user}",
+ "online": "",
+ "only_favorites": "",
+ "only_refreshes_modified_files": "",
+ "open_the_search_filters": "",
+ "options": "Nastavenia",
+ "or": "alebo",
+ "organize_your_library": "Usporiadajte svoju knižnicu",
+ "other": "",
+ "other_devices": "Ďalšie zariadenia",
+ "other_variables": "",
+ "owned": "Vlastnené",
+ "owner": "Vlastník",
+ "partner_sharing": "",
+ "partners": "",
+ "password": "Heslo",
+ "password_does_not_match": "",
+ "password_required": "",
+ "password_reset_success": "",
+ "past_durations": {
+ "days": "",
+ "hours": "",
+ "years": ""
+ },
+ "path": "",
+ "pattern": "",
+ "pause": "",
+ "pause_memories": "",
+ "paused": "",
+ "pending": "",
+ "people": "Ľudia",
+ "people_sidebar_description": "",
+ "perform_library_tasks": "",
+ "permanent_deletion_warning": "",
+ "permanent_deletion_warning_setting_description": "",
+ "permanently_delete": "",
+ "permanently_deleted_asset": "",
+ "photos": "Fotografie",
+ "photos_and_videos": "Fotografie & Videa",
+ "photos_from_previous_years": "",
+ "pick_a_location": "",
+ "place": "Miesto",
+ "places": "Miesta",
+ "play": "Prehrať",
+ "play_memories": "",
+ "play_motion_photo": "",
+ "play_or_pause_video": "",
+ "point": "",
+ "port": "",
+ "preset": "",
+ "preview": "",
+ "previous": "",
+ "previous_memory": "",
+ "previous_or_next_photo": "",
+ "primary": "",
+ "profile_picture_set": "",
+ "public_album": "Verejný album",
+ "public_share": "",
+ "purchase_activated_time": "Aktivované {date, date}",
+ "purchase_button_activate": "Aktivovať",
+ "purchase_button_never_show_again": "Už viac nezobrazovať",
+ "purchase_panel_title": "Podporiť projekt",
+ "range": "",
+ "raw": "",
+ "reaction_options": "",
+ "read_changelog": "",
+ "recent": "Nedávne",
+ "recent_searches": "",
+ "refresh": "Obnoviť",
+ "refresh_metadata": "Obnoviť metadáta",
+ "refresh_thumbnails": "Obnoviť miniatúry",
+ "refreshed": "Aktualizované",
+ "refreshes_every_file": "",
+ "remove": "Odstrániť",
+ "remove_deleted_assets": "",
+ "remove_from_album": "Odstrániť z albumu",
+ "remove_from_favorites": "",
+ "remove_from_shared_link": "",
+ "remove_user": "Odstrániť používateľa",
+ "repair": "Opraviť",
+ "repair_no_results_message": "",
+ "replace_with_upload": "",
+ "require_password": "Vyžadovať heslo",
+ "reset": "Resetovať",
+ "reset_password": "Obnoviť heslo",
+ "reset_people_visibility": "",
+ "reset_settings_to_default": "",
+ "restore": "Obnoviť",
+ "restore_user": "Obnoviť používateľa",
+ "resume": "Pokračovať",
+ "retry_upload": "",
+ "review_duplicates": "Skontrolovať duplikáty",
+ "role": "",
+ "save": "Uložiť",
+ "saved_profile": "",
+ "saved_settings": "",
+ "say_something": "Napíšte niečo",
+ "scan_all_libraries": "",
+ "scan_all_library_files": "",
+ "scan_new_library_files": "",
+ "scan_settings": "Nastavenia skenovania",
+ "search": "Vyhľadávanie",
+ "search_albums": "Hľadať albumy",
+ "search_by_context": "",
+ "search_by_filename_example": "napr. IMG_1234.JPG alebo PNG",
+ "search_camera_make": "",
+ "search_camera_model": "",
+ "search_city": "",
+ "search_country": "",
+ "search_for_existing_person": "",
+ "search_people": "",
+ "search_places": "",
+ "search_settings": "Hladať v nastaveniach",
+ "search_state": "",
+ "search_timezone": "Vyhľadať časovú zónu...",
+ "search_type": "",
+ "search_your_photos": "Prehľadajte svoje obrázky",
+ "searching_locales": "",
+ "second": "",
+ "select_album_cover": "",
+ "select_all": "",
+ "select_avatar_color": "",
+ "select_face": "",
+ "select_featured_photo": "",
+ "select_library_owner": "Vybraťi vlastníka knižnice",
+ "select_new_face": "",
+ "select_photos": "Vybrať fotografie",
+ "selected": "Vybraté",
+ "send_message": "Odoslať správu",
+ "send_welcome_email": "Odoslať uvítací e-mail",
+ "server": "",
+ "server_stats": "Štatistiky servera",
+ "server_version": "Verzia servera",
+ "set": "Nastaviť",
+ "set_as_album_cover": "",
+ "set_as_profile_picture": "Nastaviť ako profilový obrázok",
+ "set_date_of_birth": "Nastaviť dátum narodenia",
+ "set_profile_picture": "Nastaviť profilový obrázok",
+ "set_slideshow_to_fullscreen": "",
+ "settings": "Nastavenia",
+ "settings_saved": "Nastavenia boli uložené",
+ "share": "Zdieľať",
+ "shared": "Zdieľané",
+ "shared_by": "",
+ "shared_by_you": "",
+ "shared_from_partner": "Fotografie od {partner}",
+ "shared_links": "Zdieľané odkazy",
+ "shared_with_partner": "Zďielané s {partner}",
+ "sharing": "Zdieľanie",
+ "sharing_sidebar_description": "",
+ "show_album_options": "Zobraziť možnosti albumu",
+ "show_albums": "Zobraziť albumy",
+ "show_file_location": "",
+ "show_gallery": "Zobraziť galériu",
+ "show_hidden_people": "",
+ "show_in_timeline": "Zobraziť na časovej osi",
+ "show_in_timeline_setting_description": "",
+ "show_keyboard_shortcuts": "Zobraziť klávesové skratky",
+ "show_metadata": "Zobraziť metadáta",
+ "show_or_hide_info": "",
+ "show_password": "Zobraziť heslo",
+ "show_person_options": "",
+ "show_progress_bar": "",
+ "show_search_options": "Zobraziť možnosti vyhľadávania",
+ "shuffle": "",
+ "sign_out": "Odhlásiť sa",
+ "sign_up": "",
+ "size": "Veľkosť",
+ "skip_to_content": "",
+ "slideshow": "",
+ "slideshow_settings": "",
+ "sort_albums_by": "Zoradiť albumy podľa...",
+ "sort_created": "Dátum vytvorenia",
+ "sort_items": "Počet položiek",
+ "sort_modified": "Dátum úpravy",
+ "sort_oldest": "Najstaršia fotografia",
+ "sort_recent": "Najnovšia fotografia",
+ "sort_title": "Názov",
+ "source": "Zdroj",
+ "stack": "Zoskupenie",
+ "stack_selected_photos": "",
+ "stacktrace": "",
+ "start_date": "",
+ "state": "",
+ "status": "",
+ "stop_motion_photo": "",
+ "stop_photo_sharing": "Zastaviť zdieľanie vašich fotiek?",
+ "storage": "Ukladací priestor",
+ "storage_label": "",
+ "submit": "Odoslať",
+ "suggestions": "Návrhy",
+ "sunrise_on_the_beach": "",
+ "swap_merge_direction": "",
+ "sync": "",
+ "tags": "Značky",
+ "template": "",
+ "theme": "Téma",
+ "theme_selection": "",
+ "theme_selection_description": "",
+ "time_based_memories": "",
+ "timezone": "Časové pásmo",
+ "to_archive": "Archivovať",
+ "to_change_password": "Zmeniť heslo",
+ "to_trash": "Kôš",
+ "toggle_settings": "",
+ "toggle_theme": "",
+ "toggle_visibility": "",
+ "total_usage": "",
+ "trash": "Kôš",
+ "trash_all": "",
+ "trash_no_results_message": "Vymazané fotografie a videá sa zobrazia tu.",
+ "type": "",
+ "unarchive": "Odarchivovať",
+ "unarchived": "",
+ "unfavorite": "Odznačiť ako obľúbené",
+ "unhide_person": "",
+ "unknown": "",
+ "unknown_album": "",
+ "unknown_year": "Neznámy rok",
+ "unlink_oauth": "",
+ "unlinked_oauth_account": "",
+ "unnamed_album_delete_confirmation": "Ste si istý, že chcete zmazať tento album?",
+ "unsaved_change": "Neuložená zmena",
+ "unselect_all": "",
+ "unstack": "Odskupiť",
+ "up_next": "",
+ "updated_password": "",
+ "upload": "Nahrať",
+ "upload_concurrency": "",
+ "upload_status_duplicates": "Duplikáty",
+ "upload_status_errors": "Chyby",
+ "upload_status_uploaded": "Nahrané",
+ "upload_success": "Nahrávanie úspešné, pridané súbory sa zobrazia po obnovení stránky.",
+ "url": "Odkaz URL",
+ "usage": "Použitie",
+ "user": "Používateľ",
+ "user_id": "Používateľské ID",
+ "user_role_set": "Nastav {user} ako {role}",
+ "user_usage_detail": "",
+ "username": "Používateľské meno",
+ "users": "Používatelia",
+ "utilities": "Nástroje",
+ "validate": "Validovať",
+ "variables": "Premenné",
+ "version": "Verzia",
+ "version_announcement_closing": "Tvoj kamarát, Alex",
+ "version_history": "História verzií",
+ "video": "Video",
+ "video_hover_setting_description": "",
+ "videos": "Videá",
+ "view": "Zobraziť",
+ "view_album": "Zobraziť Album",
+ "view_all": "Zobraziť všetky",
+ "view_all_users": "Zobraziť všetkých používateľov",
+ "view_in_timeline": "Zobraziť v časovej osi",
+ "view_links": "Zobraziť odkazy",
+ "view_next_asset": "Zobraziť nasledujúci súbor",
+ "view_previous_asset": "Zobraziť predchádzajúci súbor",
+ "viewer": "",
+ "waiting": "",
+ "warning": "Varovanie",
+ "week": "Týždeň",
+ "welcome": "Vitajte",
+ "welcome_to_immich": "Vytajte v immich",
+ "year": "Rok",
+ "yes": "Áno",
+ "you_dont_have_any_shared_links": "Nemáte žiadne zdielané linky",
+ "zoom_image": "Priblížiť obrázok"
+}
diff --git a/web/src/lib/i18n/sl.json b/i18n/sl.json
similarity index 98%
rename from web/src/lib/i18n/sl.json
rename to i18n/sl.json
index d4e50ac8f4..dd14e5ef94 100644
--- a/web/src/lib/i18n/sl.json
+++ b/i18n/sl.json
@@ -7,6 +7,7 @@
"actions": "Dejanja",
"active": "Aktivno",
"activity": "Aktivnost",
+ "activity_changed": "Aktivnost {enabled, select, true {omogočena} other {onemogočena}}",
"add": "Dodaj",
"add_a_description": "Dodaj opis",
"add_a_location": "Dodaj lokacijo",
@@ -22,10 +23,14 @@
"add_to": "Dodaj k...",
"add_to_album": "Dodaj v album",
"add_to_shared_album": "Dodaj k deljenemu albumu",
+ "added_to_archive": "Dodano v arhiv",
+ "added_to_favorites": "Dodano med priljubljene",
+ "added_to_favorites_count": "{count, number} dodanih med priljubljene",
"admin": {
"add_exclusion_pattern_description": "Dodajte vzorec izključitev. Globiranje z uporabo *, ** in ? je podprto. Če želite prezreti vse datoteke v katerem koli imeniku z imenom \"Raw\", uporabite \"**/Raw/**\". Če želite prezreti vse datoteke, ki se končajo na \".tif\", uporabite \"**/*.tif\". Če želite prezreti absolutno pot, uporabite \"/pot/za/ignoriranje/**\".",
"authentication_settings": "Nastavitve preverjanja pristnosti",
"authentication_settings_description": "Upravljanje gesel, OAuth in drugih nastavitev preverjanja pristnosti",
+ "authentication_settings_disable_all": "Ali zares želite onemogočiti vse prijavne metode? Prijava bo popolnoma onemogočena.",
"authentication_settings_reenable": "Ponovno omogoči z uporabo Server Command.",
"background_task_job": "Opravila v ozadju",
"check_all": "Označi vse",
@@ -666,10 +671,10 @@
"refreshed": "",
"refreshes_every_file": "",
"remove": "",
+ "remove_deleted_assets": "",
"remove_from_album": "Odstrani iz albuma",
"remove_from_favorites": "",
"remove_from_shared_link": "",
- "remove_offline_files": "",
"repair": "",
"repair_no_results_message": "",
"replace_with_upload": "",
@@ -820,8 +825,9 @@
"viewer": "",
"waiting": "",
"week": "",
+ "welcome": "Dobrodošli",
"welcome_to_immich": "",
- "year": "",
+ "year": "Leto",
"yes": "Da",
- "zoom_image": ""
+ "zoom_image": "Povečava slike"
}
diff --git a/web/src/lib/i18n/sr_Cyrl.json b/i18n/sr_Cyrl.json
similarity index 88%
rename from web/src/lib/i18n/sr_Cyrl.json
rename to i18n/sr_Cyrl.json
index 761668d386..a14c5bbee4 100644
--- a/web/src/lib/i18n/sr_Cyrl.json
+++ b/i18n/sr_Cyrl.json
@@ -25,9 +25,10 @@
"add_to_shared_album": "Додај у дељен албум",
"added_to_archive": "Додато у архиву",
"added_to_favorites": "Додато у фаворите",
- "added_to_favorites_count": "Додато {count} у фаворите",
+ "added_to_favorites_count": "Додато {count, number} у фаворите",
"admin": {
"add_exclusion_pattern_description": "Додајте обрасце искључења. Кориштење *, ** и ? је подржано. Да бисте игнорисали све датотеке у било ком директоријуму под називом „Рав“, користите „**/Рав/**“. Да бисте игнорисали све датотеке које се завршавају на „.тиф“, користите „**/*.тиф“. Да бисте игнорисали апсолутну путању, користите „/path/to/ignore/**“.",
+ "asset_offline_description": "Ово екстерно библиотечко средство се више не налази на диску и премештено је у смеће. Ако је датотека премештена унутар библиотеке, проверите своју временску линију за ново одговарајуће средство. Да бисте вратили ово средство, уверите се да Иммицх може да приступи доле наведеној путањи датотеке и скенирајте библиотеку.",
"authentication_settings": "Подешавања за аутентификацију",
"authentication_settings_description": "Управљајте лозинком, OAuth-om и другим подешавањима аутентификације",
"authentication_settings_disable_all": "Да ли сте сигурни да желите да oneмогућите све методе пријављивања? Пријава ће бити потпуно oneмогућена.",
@@ -41,6 +42,7 @@
"confirm_email_below": "Да бисте потврдили, унесите \"{email}\" испод",
"confirm_reprocess_all_faces": "Да ли сте сигурни да желите да поново обрадите сва лица? Ово ће такође обрисати именоване особе.",
"confirm_user_password_reset": "Да ли сте сигурни да желите да ресетујете лозинку корисника {user}?",
+ "create_job": "Креирајте посао",
"crontab_guru": "Guru servisnih zadataka",
"disable_login": "oneмогући пријаву",
"disabled": "",
@@ -49,27 +51,37 @@
"external_library_created_at": "Екстерна библиотека (направљена {date})",
"external_library_management": "Управљање екстерним библиотекама",
"face_detection": "Детекција лица",
- "face_detection_description": "Откривање лица у датотекама помоћу машинског учења. За видео снимке се узима у обзир само сличица. „Све“ (поновно) обрађује све датотеке. „Недостају“ средства у низу која још нису обрађена. Откривена лица ће бити стављена у ред за препознавање лица након што се препознавање лица заврши, групишући их у постојеће или нове људе.",
- "facial_recognition_job_description": "Група је детектовала лица и додала их постојецим људима. Овај корак се покреће након што је препознавање лица завршено. „Све“ (поновно) групише сва лица. „Недостају“ лица у редовима којима није додељена особа.",
+ "face_detection_description": "Откријте лица у датотекама помоћу машинског учења. За видео снимке се узима у обзир само сличица. „Освежи“ (поновно) обрађује све датотеке. „Ресетовање“ додатно брише све тренутне податке о лицу. „Недостају“ датотеке у реду које још нису обрађене. Откривена лица ће бити стављена у ред за препознавање лица након што се препознавање лица заврши, групишући их у постојеће или нове особе.",
+ "facial_recognition_job_description": "Група је детектовала лица и додала их постојећим људима. Овај корак се покреће након што је препознавање лица завршено. „Ресет“ (поновно) групише сва лица. „Недостају“ лица у редовима којима није додељена особа.",
"failed_job_command": "Команда {command} није успела за посао {job}",
"force_delete_user_warning": "УПОЗОРЕЊЕ: Ovo će odmah ukloniti korisnika i sve datoteke. Ovo se ne može opozvati i datoteke se ne mogu oporaviti.",
"forcing_refresh_library_files": "Принудно освежавање свих датотека библиотеке",
+ "image_format": "Формат",
"image_format_description": "WebP производи мање датотеке од ЈПЕГ, али се спорије кодира.",
"image_prefer_embedded_preview": "Преферирајте уграђени преглед",
"image_prefer_embedded_preview_setting_description": "Користите уграђене прегледе у RAW фотографије као улаз за обраду слике када су доступне. Ово може да произведе прецизније боје за неке слике, али квалитет прегледа зависи од камере и слика може имати више неправилности компресије.",
"image_prefer_wide_gamut": "Преферирајте широк спектар",
"image_prefer_wide_gamut_setting_description": "Користите Display П3 за сличице. Ово боље чува живописност слика са широким просторима боја, али слике могу изгледати другачије на старим уређајима са старом верзијом претраживача. сРГБ слике се чувају као сРГБ да би се избегле промене боја.",
+ "image_preview_description": "Слика средње величине са уклоњеним метаподацима, која се користи приликом прегледа једног елемента и за машинско учење",
"image_preview_format": "Преглед формата",
+ "image_preview_quality_description": "Квалитет прегледа од 1-100. Више је боље, али производи веће датотеке и може смањити одзив апликације. Постављање ниске вредности може утицати на квалитет машинског учења.",
"image_preview_resolution": "Преглед резолуције",
"image_preview_resolution_description": "Користи се за гледање једне фотографије и за машинско учење. Веће резолуције могу да сачувају више детаља, али им је потребно више времена за кодирање, имају веће величине датотека и могу да смање брзину апликације.",
+ "image_preview_title": "Подешавања прегледа",
"image_quality": "Квалитет",
"image_quality_description": "Квалитет слике од 1-100. Више је боље за квалитет, али производи веће датотеке, ова опција утиче на преглед и сличице.",
+ "image_resolution": "Резолуција",
+ "image_resolution_description": "Веће резолуције могу да сачувају више детаља, али им је потребно више времена за кодирање, имају веће величине датотека и могу да смање одзив апликације.",
"image_settings": "Подешавања слике",
"image_settings_description": "Управљајте квалитетом и резолуцијом генерисаних слика",
+ "image_thumbnail_description": "Мала сличица са огољеним метаподацима, која се користи приликом прегледа група фотографија као што је главна временска линија",
"image_thumbnail_format": "Формат сличице",
+ "image_thumbnail_quality_description": "Квалитет сличица од 1-100. Више је боље, али производи веће датотеке и може смањити одзив апликације.",
"image_thumbnail_resolution": "Резолуција сличице",
"image_thumbnail_resolution_description": "Користи се приликом прегледа група фотографија (главна временска линија, приказ албума, итд.). Веће резолуције могу да сачувају више детаља, али им је потребно више времена за кодирање, имају веће величине датотека и могу да смање брзину апликације.",
+ "image_thumbnail_title": "Подешавања сличица",
"job_concurrency": "{job} паралелност",
+ "job_created": "Посао креиран",
"job_not_concurrency_safe": "Овај посао није безбедан да буде паралелно активан.",
"job_settings": "Подешавања посла",
"job_settings_description": "Управљајте паралелношћу послова",
@@ -129,6 +141,7 @@
"map_enable_description": "Омогућите карактеристике мапе",
"map_gps_settings": "Мап & ГПС подешавања",
"map_gps_settings_description": "Управљајте поставкама мапе и ГПС-а (обрнуто геокодирање)",
+ "map_implications": "Функција мапе се ослања на екстерну услугу плочица (tiles.immich.cloud)",
"map_light_style": "Светли стил",
"map_manage_reverse_geocoding_settings": "Управљајте подешавањима Обрнуто геокодирање",
"map_reverse_geocoding": "Обрнуто геокодирање",
@@ -138,7 +151,11 @@
"map_settings_description": "Управљајте подешавањима мапе",
"map_style_description": "УРЛ до style.json мапе тема изгледа",
"metadata_extraction_job": "Извод метаподатака",
- "metadata_extraction_job_description": "Извуците информације о метаподацима из сваке датотеке, као што су ГПС и резолуција",
+ "metadata_extraction_job_description": "Извуците информације о метаподацима из сваке датотеке, као што су GPS, лица и резолуција",
+ "metadata_faces_import_setting": "Омогући (enable) увоз лица",
+ "metadata_faces_import_setting_description": "Увезите лица из EXIF података слика и датотека са бочне траке",
+ "metadata_settings": "Подешавања метаподатака",
+ "metadata_settings_description": "Управљајте подешавањима метаподатака",
"migration_job": "Миграције",
"migration_job_description": "Пренесите сличице датотека и лица у најновију структуру директоријума",
"no_paths_added": "Нема додатих путања",
@@ -147,7 +164,7 @@
"note_cannot_be_changed_later": "НАПОМЕНА: Ovo se kasnije ne može promeniti!",
"note_unlimited_quota": "Напомена: Unesite 0 za neograničenu kvotu",
"notification_email_from_address": "Са адресе",
- "notification_email_from_address_description": "Адреса е-поште пошиљаоца, на пример: \"Immich foto server {label}
је ознака за складиштење корисника",
"system_settings": "Подешавања система",
+ "tag_cleanup_job": "Чишћење ознака (tags)",
"theme_custom_css_settings": "Прилагођени CSS",
"theme_custom_css_settings_description": "Каскадни листови стилова (CSS) омогућавају прилагођавање дизајна Immich-a.",
"theme_settings": "Подешавање тема",
@@ -266,7 +287,7 @@
"transcoding_hardware_acceleration": "Хардверско убрзање",
"transcoding_hardware_acceleration_description": "Екпериментално; много брже, али ће имати нижи квалитет при истој брзини преноса",
"transcoding_hardware_decoding": "Хардверско декодирање",
- "transcoding_hardware_decoding_setting_description": "Односи се само на НВЕНЦ, QSV и RKMPP. Омогућава убрзање од краја до краја уместо да само убрзава кодирање. Можда неће радити на свим видео снимцима.",
+ "transcoding_hardware_decoding_setting_description": "Омогућава убрзање од краја до краја уместо да само убрзава кодирање. Можда неће радити на свим видео снимцима.",
"transcoding_hevc_codec": "ХЕВЦ кодек",
"transcoding_max_b_frames": "Максимални Б-кадри",
"transcoding_max_b_frames_description": "Више вредности побољшавају ефикасност компресије, али успоравају кодирање. Можда није компатибилно са хардверским убрзањем на старијим уређајима. 0 oneмогућава Б-кадре, док -1 аутоматски поставља ову вредност.",
@@ -278,7 +299,7 @@
"transcoding_preferred_hardware_device": "Жељени хардверски уређај",
"transcoding_preferred_hardware_device_description": "Односи се само на ВААПИ и QSV. Поставља дри ноде који се користи за хардверско транскодирање.",
"transcoding_preset_preset": "Унапред подешена подешавања (-пресет)",
- "transcoding_preset_preset_description": "Брзина компресије. Спорије унапред подешене вредности производе мање датотеке и повећавају квалитет када циљате одређену брзину преноса. ВП9 игнорише брзине изнад `брже`.",
+ "transcoding_preset_preset_description": "Брзина компресије. Спорије унапред подешене вредности производе мање датотеке и повећавају квалитет када циљате одређену брзину преноса. ВП9 игнорише брзине изнад 'брже'.",
"transcoding_reference_frames": "Референтни оквири (фрамес)",
"transcoding_reference_frames_description": "Број оквира (фрамес) за референцу приликом компресије датог оквира. Више вредности побољшавају ефикасност компресије, али успоравају кодирање. 0 аутоматски поставља ову вредност.",
"transcoding_required_description": "Само видео снимци који нису у прихваћеном формату",
@@ -307,6 +328,7 @@
"trash_settings_description": "Управљајте подешавањима смећа",
"untracked_files": "Непраћене датотеке",
"untracked_files_description": "Апликација не прати ове датотеке. one могу настати због неуспешних премештења, због прекинутих отпремања или као преостатак због грешке",
+ "user_cleanup_job": "Чишћење корисника",
"user_delete_delay": "Налог и датотеке {user} биће заказани за трајно брисање за {delay, plural, one {# дан} other {# дана}}.",
"user_delete_delay_settings": "Избриши уз кашњење",
"user_delete_delay_settings_description": "Број дана након уклањања за трајно брисање корисничког налога и датотека. Посао брисања корисника се покреће у поноћ да би се проверили корисници који су спремни за брисање. Промене ове поставке ће бити процењене при следећем извршењу.",
@@ -320,7 +342,8 @@
"user_settings": "Подешавања корисника",
"user_settings_description": "Управљајте корисничким подешавањима",
"user_successfully_removed": "Корисник {email} је успешно уклоњен.",
- "version_check_enabled_description": "Омогућите периодичне захтеве GitHub-u за проверу нових издања",
+ "version_check_enabled_description": "Омогућите проверу нових издања",
+ "version_check_implications": "Функција провере верзије се ослања на периодичну комуникацију са github.com",
"version_check_settings": "Провера верзије",
"version_check_settings_description": "Омогућите/oneмогућите обавештење о новој верзији",
"video_conversion_job": "Транскодирање видео записа",
@@ -336,7 +359,8 @@
"album_added": "Албум додан",
"album_added_notification_setting_description": "Прими обавештење е-поштом кад будеш додан у дељен албум",
"album_cover_updated": "Омот албума ажуриран",
- "album_delete_confirmation": "Да ли стварно желите да избришете албум {album}?\nАко се овај албум дели, други корисници више неће моћи да му приступе.",
+ "album_delete_confirmation": "Да ли стварно желите да избришете албум {album}?",
+ "album_delete_confirmation_description": "Ако се овај албум дели, други корисници више неће моћи да му приступе.",
"album_info_updated": "Информација албума ажурирана",
"album_leave": "Напустити албум?",
"album_leave_confirmation": "Да ли стварно желите да напустите {album}?",
@@ -360,6 +384,7 @@
"allow_edits": "Дозволи уређење",
"allow_public_user_to_download": "Дозволите јавном кориснику да преузме (download-uje)",
"allow_public_user_to_upload": "Дозволи јавном кориснику да отпреми (уплоад-ује)",
+ "anti_clockwise": "У смеру супротном од казаљке на сату",
"api_key": "АПИ кључ (key)",
"api_key_description": "Ова вредност ће бити приказана само једном. Обавезно копирајте пре него што затворите прозор.",
"api_key_empty": "Име вашег АПИ кључа не би требало да буде празно",
@@ -380,9 +405,10 @@
"asset_filename_is_offline": "Датотека {filename} је ван мреже (offline)",
"asset_has_unassigned_faces": "Датотека има недодељена лица",
"asset_hashing": "Хеширање...",
- "asset_offline": "Датотека одсутна",
- "asset_offline_description": "Ова датотека је ван мреже. Immich не може да приступи локацији своје датотеке. Уверите се да је датотека доступна, а затим поново скенирајте библиотеку.",
+ "asset_offline": "Датотека одсутна (offline)",
+ "asset_offline_description": "Ова вањска датотека се више не налази на диску. Молимо контактирајте свог Имич администратора за помоћ.",
"asset_skipped": "Прескочено",
+ "asset_skipped_in_trash": "У отпад",
"asset_uploaded": "Отпремљено (Уплоадед)",
"asset_uploading": "Отпремање...",
"assets": "Записи",
@@ -394,7 +420,7 @@
"assets_moved_to_trash_count": "Премештено {count, plural, one {# датотека} few {# датотеке} other {# датотека}} у отпад",
"assets_permanently_deleted_count": "Трајно избрисано {count, plural, one {# датотека} few {# датотеке} other {# датотека}}",
"assets_removed_count": "Уклоњено {count, plural, one {# датотека} few {# датотеке} other {# датотека}}",
- "assets_restore_confirmation": "Да ли сте сигурни да желите да вратите све своје датотеке које су у отпаду? Не можете поништити ову радњу!",
+ "assets_restore_confirmation": "Да ли сте сигурни да желите да вратите све своје датотеке које су у отпаду? Не можете поништити ову радњу! Имајте на уму да се ванмрежна средства не могу вратити на овај начин.",
"assets_restored_count": "Враћено {count, plural, one {# датотека} few {# датотеке} other {# датотека}}",
"assets_trashed_count": "Бачено у отпад {count, plural, one {# датотека} few{# датотеке} other {# датотека}}",
"assets_were_part_of_album_count": "{count, plural, one {Датотека је} other {Датотеке су}} већ део албума",
@@ -405,12 +431,13 @@
"birthdate_saved": "Датум рођења успешно сачуван",
"birthdate_set_description": "Датум рођења се користи да би се израчунале године ове особе у добу одређене фотографије.",
"blurred_background": "Замућена позадина",
- "build": "Сагради (Буилд)",
+ "bugs_and_feature_requests": "Грешке и захтеви за функције",
+ "build": "Под-верзија (Build)",
"build_image": "Сагради (Буилд) имаге",
"bulk_delete_duplicates_confirmation": "Да ли сте сигурни да желите групно да избришете {count, plural, one {# дуплиран елеменат} few {# дуплирана елемента} other {# дуплираних елемената}}? Ово ће задржати највеће средство сваке групе и трајно избрисати све друге дупликате. Не можете поништити ову радњу!",
"bulk_keep_duplicates_confirmation": "Да ли сте сигурни да желите да задржите {count, plural, one {1 дуплирану датотеку} few {# дуплиране датотеке} other {# дуплираних датотека}}? Ово ће решити све дуплиране групе без брисања било чега.",
"bulk_trash_duplicates_confirmation": "Да ли сте сигурни да желите групно да одбаците {count, plural, one {1 дуплирану датотеку} few {# дуплиране датотеке} other {# дуплираних датотека}}? Ово ће задржати највећу датотеку сваке групе и одбацити све остале дупликате.",
- "buy": "Купите лиценцу",
+ "buy": "Купите лиценцу Имич-а",
"camera": "Камера",
"camera_brand": "Бренд камере",
"camera_model": "Модел камере",
@@ -441,9 +468,11 @@
"clear_all_recent_searches": "Обришите све недавне претраге",
"clear_message": "Обриши поруку",
"clear_value": "Јасна вредност",
+ "clockwise": "У смеру казаљке",
"close": "Затвори",
"collapse": "Скупи",
"collapse_all": "Скупи све",
+ "color": "Боја",
"color_theme": "Режим боја",
"comment_deleted": "Коментар обрисан",
"comment_options": "Опције коментара",
@@ -477,10 +506,12 @@
"create_new_person": "Направи нову особу",
"create_new_person_hint": "Доделите изабране датотеке новој особи",
"create_new_user": "Направи новог корисника",
+ "create_tag": "Креирајте ознаку (tag)",
+ "create_tag_description": "Направите нову ознаку (tag). За угнежђене ознаке, унесите пуну путању ознаке укључујући косе црте.",
"create_user": "Направи корисника",
"created": "Направљен",
"current_device": "Тренутни уређај",
- "custom_locale": "Прилагођена локација (лоцале)",
+ "custom_locale": "Прилагођена локација (locale)",
"custom_locale_description": "Форматирајте датуме и бројеве на основу језика и региона",
"dark": "Тамно",
"date_after": "Датум после",
@@ -490,7 +521,7 @@
"date_range": "Распон датума",
"day": "Дан",
"deduplicate_all": "Де-дуплицирај све",
- "default_locale": "Подразумевана локација (лоцале)",
+ "default_locale": "Подразумевана локација (locale)",
"default_locale_description": "Форматирајте датуме и бројеве на основу локализације вашег претраживача",
"delete": "Обриши",
"delete_album": "Обриши албум",
@@ -500,13 +531,17 @@
"delete_library": "Обриши библиотеку",
"delete_link": "Обриши везу",
"delete_shared_link": "Обриши дељену везу",
+ "delete_tag": "Обриши ознаку (tag)",
+ "delete_tag_confirmation_prompt": "Да ли стварно желите да избришете ознаку (tag) {tagName}?",
"delete_user": "Обриши корисника",
"deleted_shared_link": "Обришена дељена веза",
+ "deletes_missing_assets": "Брише датотеке које недостају са диска",
"description": "Опис",
"details": "Детаљи",
"direction": "Смер",
"disabled": "oneмогућено",
"disallow_edits": "Забрани измене",
+ "discord": "Дискорд",
"discover": "Откријте",
"dismiss_all_errors": "Одбаците све грешке",
"dismiss_error": "Одбаци грешку",
@@ -515,8 +550,11 @@
"display_original_photos": "Прикажите оригиналне фотографије",
"display_original_photos_setting_description": "Радије приказујете оригиналну фотографију када глеdate материјал него сличице када је оригинално дело компатибилно са webom. Ово може довести до споријег приказа фотографија.",
"do_not_show_again": "Не прикажи поново ову поруку",
+ "documentation": "Документација",
"done": "Урађено",
"download": "Преузми",
+ "download_include_embedded_motion_videos": "Уграђени видео снимци",
+ "download_include_embedded_motion_videos_description": "Укључите видео записе уграђене у фотографије у покрету као засебну датотеку",
"download_settings": "Преузимање",
"download_settings_description": "Управљајте подешавањима везаним за преузимање датотека",
"downloading": "Преузимање у току",
@@ -546,10 +584,15 @@
"edit_location": "Уреди локацију",
"edit_name": "Уреди име",
"edit_people": "Уреди особе",
+ "edit_tag": "Уреди ознаку (tag)",
"edit_title": "Уреди титулу",
"edit_user": "Уреди корисника",
"edited": "Уређено",
"editor": "Urednik",
+ "editor_close_without_save_prompt": "Промене неће бити сачуване",
+ "editor_close_without_save_title": "Затворити уређивач?",
+ "editor_crop_tool_h2_aspect_ratios": "Пропорције (aspect ratios)",
+ "editor_crop_tool_h2_rotation": "Ротација",
"email": "Е-пошта",
"empty": "",
"empty_album": "Isprazni album",
@@ -639,6 +682,7 @@
"unable_to_get_comments_number": "Није могуће добити број коментара",
"unable_to_get_shared_link": "Преузимање дељене везе није успело",
"unable_to_hide_person": "Није могуће сакрити особу",
+ "unable_to_link_motion_video": "Није могуће повезати (link) видео снимак",
"unable_to_link_oauth_account": "Није могуће повезати OAuth налог",
"unable_to_load_album": "Није могуће учитати албум",
"unable_to_load_asset_activity": "Није могуће учитати активност средстава",
@@ -655,8 +699,8 @@
"unable_to_remove_api_key": "Није могуће уклонити АПИ кључ (key)",
"unable_to_remove_assets_from_shared_link": "Није могуће уклонити елементе са дељеног linkа",
"unable_to_remove_comment": "",
+ "unable_to_remove_deleted_assets": "Није могуће уклонити ванмрежне датотеке",
"unable_to_remove_library": "Није могуће уклонити библиотеку",
- "unable_to_remove_offline_files": "Није могуће уклонити ванмрежне датотеке",
"unable_to_remove_partner": "Није могуће уклонити партнера",
"unable_to_remove_reaction": "Није могуће уклонити реакцију",
"unable_to_remove_user": "",
@@ -679,6 +723,7 @@
"unable_to_submit_job": "Није могуће предати задатак",
"unable_to_trash_asset": "Није могуће избацити материјал у отпад",
"unable_to_unlink_account": "Није могуће раскинути профил",
+ "unable_to_unlink_motion_video": "Није могуће прекинути везу са видео снимком",
"unable_to_update_album_cover": "Није могуће ажурирати насловницу албума",
"unable_to_update_album_info": "Није могуће ажурирати информације о албуму",
"unable_to_update_library": "Није могуће ажурирати библиотеку",
@@ -699,6 +744,7 @@
"expired": "Истекло",
"expires_date": "Истиче {date}",
"explore": "Истражите",
+ "explorer": "Претраживач (Explorer)",
"export": "Извези",
"export_as_json": "Извези ЈСОН",
"extension": "Екстензија (Extension)",
@@ -712,6 +758,8 @@
"feature": "",
"feature_photo_updated": "Главна фотографија је ажурирана",
"featurecollection": "",
+ "features": "Функције",
+ "features_setting_description": "Управљајте функцијама апликације",
"file_name": "Назив документа",
"file_name_or_extension": "Име датотеке или екстензија",
"filename": "Име датотеке",
@@ -720,6 +768,8 @@
"filter_people": "Филтрирање особа",
"find_them_fast": "Брзо их пронађите по имену помоћу претраге",
"fix_incorrect_match": "Исправите нетачно подударање",
+ "folders": "Фасцикле (Folders)",
+ "folders_feature_description": "Прегледавање приказа фасцикле за фотографије и видео записе у систему датотека",
"force_re-scan_library_files": "Принудно поново скенирајте све датотеке библиотеке",
"forward": "Напред",
"general": "Генерално",
@@ -744,6 +794,15 @@
"hour": "Сат",
"image": "Фотографија",
"image_alt_text_date": "{isVideo, select, true {Video} other {Image}} снимљено {date}",
+ "image_alt_text_date_1_person": "{isVideo, select, true {Video} other {Image}} снимљено {person1} {date}",
+ "image_alt_text_date_2_people": "{isVideo, select, true {Video} other {Image}} снимили {person1} и {person2} {date}",
+ "image_alt_text_date_3_people": "{isVideo, select, true {Video} other {Image}} снимили {person1}, {person2}, и {person3} {date}",
+ "image_alt_text_date_4_or_more_people": "{isVideo, select, true {Video} other {Image}} снимили {person1}, {person2}, и {additionalCount, number} осталих {date}",
+ "image_alt_text_date_place": "{isVideo, select, true {Video} other {Image}} снимљено у {city}, {country} {date}",
+ "image_alt_text_date_place_1_person": "{isVideo, select, true {Video} other {Image}} снимљено у {city}, {country} са {person1} {date}",
+ "image_alt_text_date_place_2_people": "{isVideo, select, true {Video} other {Image}} снимљено у {city}, {country} са {person1} и {person2} {date}",
+ "image_alt_text_date_place_3_people": "{isVideo, select, true {Video} other {Image}} снимљено у {city}, {country} са {person1}, {person2}, и {person3} {date}",
+ "image_alt_text_date_place_4_or_more_people": "{isVideo, select, true {Video} other {Image}} снимљено у {city}, {country} са {person1}, {person2}, и {additionalCount, number} других {date}",
"image_alt_text_people": "{count, plural, =1 {са {person1}} =2 {са {person1} и {person2}} =3 {са {person1}, {person2}, и {person3}} other {са {person1}, {person2}, и {others, number} остали}}",
"image_alt_text_place": "у {city}, {country}",
"image_taken": "{isVideo, select, true {Видео запис снимљен} other {Фотографија усликана}}",
@@ -810,6 +869,7 @@
"license_trial_info_4": "Молимо вас да размислите о куповини лиценце за подршку континуираном развоју услуге",
"light": "Светло",
"like_deleted": "Лајкуј избрисано",
+ "link_motion_video": "Направи везу за видео запис",
"link_options": "Опције везе",
"link_to_oauth": "Веза до OAuth-a",
"linked_oauth_account": "Повезани OAuth налог",
@@ -828,6 +888,7 @@
"look": "Погледај",
"loop_videos": "Понављајте видео записе",
"loop_videos_description": "Омогућите за аутоматско понављање видео записа у прегледнику детаља.",
+ "main_branch_warning": "Употребљавате развојну верзију; строго препоручујемо употребу издате верзије!",
"make": "Креирај",
"manage_shared_links": "Управљајте дељеним везама",
"manage_sharing_with_partners": "Управљајте дељењем са партнерима",
@@ -864,6 +925,7 @@
"name": "Име",
"name_or_nickname": "Име или надимак",
"never": "Никада",
+ "new_album": "Нови албум",
"new_api_key": "Нови АПИ кључ (key)",
"new_password": "Нова шифра",
"new_person": "Нова особа",
@@ -896,18 +958,21 @@
"notifications": "Нотификације",
"notifications_setting_description": "Управљајте обавештењима",
"oauth": "OAuth",
+ "official_immich_resources": "Званични Имич ресурси",
"offline": "Одсутан (Offline)",
"offline_paths": "Недоступне (Offline) путање",
"offline_paths_description": "Ови резултати могу бити последица ручног брисања датотека које нису део спољне библиотеке.",
"ok": "Ок",
"oldest_first": "Најстарије прво",
"onboarding": "Приступање (Онбоардинг)",
+ "onboarding_privacy_description": "Следеће (опционе) функције се ослањају на спољне услуге и могу се онемогућити у било ком тренутку у подешавањима администрације.",
"onboarding_theme_description": "Изаберите тему боја за свој налог. Ово можете касније да промените у подешавањима.",
"onboarding_welcome_description": "Хајде да подесимо вашу инстанцу са неким уобичајеним подешавањима.",
"onboarding_welcome_user": "Добродошли, {user}",
"online": "Доступан (Онлине)",
"only_favorites": "Само фаворити",
"only_refreshes_modified_files": "Освежава само измењене датотеке",
+ "open_in_map_view": "Отвори у приказу мапе",
"open_in_openstreetmap": "Отворите у ОпенСтреетМап-у",
"open_the_search_filters": "Отворите филтере за претрагу",
"options": "Опције",
@@ -942,6 +1007,7 @@
"pending": "На чекању",
"people": "Особе",
"people_edits_count": "Измењено {count, plural, one {# особа} other {# особе}}",
+ "people_feature_description": "Прегледавање фотографија и видео снимака груписаних по особама",
"people_sidebar_description": "Прикажите везу до особа на бочној траци",
"perform_library_tasks": "",
"permanent_deletion_warning": "Упозорење за трајно брисање",
@@ -974,6 +1040,7 @@
"previous_memory": "Prethodno сећање",
"previous_or_next_photo": "Prethodna или следећа фотографија",
"primary": "Примарна (Primary)",
+ "privacy": "Приватност",
"profile_image_of_user": "Слика профила од корисника {user}",
"profile_picture_set": "Профилна слика постављена.",
"public_album": "Јавни албум",
@@ -1000,7 +1067,21 @@
"purchase_panel_info_1": "Изградња Имич-а захтева много времена и труда, а имамо инжењере који раде на томе са пуним радним временом како бисмо је учинили што је могуће бољом. Наша мисија је да софтвер отвореног кода и етичке пословне праксе постану одржив извор прихода за програмере и да створимо екосистем који поштује приватност са стварним алтернативама експлоатативним услугама у облаку.",
"purchase_panel_info_2": "Пошто смо се обавезали да нећемо додавати платне зидове, ова куповина вам неће дати никакве додатне функције у Имич-у. Ослањамо се на кориснике попут вас да подрже Имич-ов стални развој.",
"purchase_panel_title": "Подржите пројекат",
+ "purchase_per_server": "По серверу",
+ "purchase_per_user": "По кориснику",
+ "purchase_remove_product_key": "Уклоните кључ производа",
+ "purchase_remove_product_key_prompt": "Да ли сте сигурни да желите да уклоните шифру производа?",
+ "purchase_remove_server_product_key": "Уклоните шифру производа сервера",
+ "purchase_remove_server_product_key_prompt": "Да ли сте сигурни да желите да уклоните шифру производа сервера?",
+ "purchase_server_description_1": "За цео сервер",
+ "purchase_server_description_2": "Значка подршке",
+ "purchase_server_title": "Сервер",
+ "purchase_settings_server_activated": "Кључем производа сервера управља администратор",
"range": "",
+ "rating": "Оцена звездица",
+ "rating_clear": "Обриши оцену",
+ "rating_count": "{count, plural, one {# звезда} other {# звезде}}",
+ "rating_description": "Прикажите EXIF оцену у инфо панелу",
"raw": "",
"reaction_options": "Опције реакције",
"read_changelog": "Прочитајте дневник промена",
@@ -1012,11 +1093,13 @@
"recent_searches": "Скорашње претраге",
"refresh": "Освежи",
"refresh_encoded_videos": "Освежите кодиране (енцодед) видео записе",
+ "refresh_faces": "Освежи лица",
"refresh_metadata": "Освежите метаподатке",
"refresh_thumbnails": "Освежите сличице",
"refreshed": "Освежено",
- "refreshes_every_file": "Освежава сваку датотеку",
+ "refreshes_every_file": "Поново чита све постојеће и нове датотеке",
"refreshing_encoded_video": "Освежавање кодираног (енцодед) видеа",
+ "refreshing_faces": "Освежавањe лица",
"refreshing_metadata": "Освежавање мета-података",
"regenerating_thumbnails": "Обнављање сличица",
"remove": "Уклони",
@@ -1024,15 +1107,16 @@
"remove_assets_shared_link_confirmation": "Да ли сте сигурни да желите да уклоните {count, plural, one {# датотеку} other {# датотеке}} са ове дељене везе?",
"remove_assets_title": "Уклонити датотеке?",
"remove_custom_date_range": "Уклоните прилагођени период",
+ "remove_deleted_assets": "Уклоните ванмрежне (offline) датотеке",
"remove_from_album": "Обриши из албума",
"remove_from_favorites": "Уклони из фаворита",
"remove_from_shared_link": "Уклоните са дељене везе",
- "remove_offline_files": "Уклоните ванмрежне (offline) датотеке",
"remove_user": "Уклони корисника",
"removed_api_key": "Уклоњен АПИ кључ (key): {name}",
"removed_from_archive": "Уклоњено из архиве",
"removed_from_favorites": "Уклоњено из омиљених (фаворитес)",
"removed_from_favorites_count": "{count, plural, other {Уклоњено #}} из омиљених",
+ "removed_tagged_assets": "Уклоњена ознака (tag) из {count, plural, one {# датотеке} other {# датотека}}",
"rename": "Преименуј",
"repair": "Поправи",
"repair_no_results_message": "Овде ће се појавити датотеке које нису праћене и недостају",
@@ -1045,6 +1129,7 @@
"reset_people_visibility": "Ресетујте видљивост особа",
"reset_settings_to_default": "",
"reset_to_default": "Ресетујте на подразумеване вредности",
+ "resolve_duplicates": "Реши дупликате",
"resolved_all_duplicates": "Сви дупликати су разрешени",
"restore": "Поврати",
"restore_all": "Поврати све",
@@ -1063,6 +1148,7 @@
"say_something": "Реци нешто",
"scan_all_libraries": "Скенирај све библиотеке",
"scan_all_library_files": "Поново скенирајте све датотеке библиотеке",
+ "scan_library": "Скенирај",
"scan_new_library_files": "Скенирајте нове датотеке библиотеке",
"scan_settings": "Подешавања скенирања",
"scanning_for_album": "Скенирање албума...",
@@ -1078,9 +1164,12 @@
"search_for_existing_person": "Потражите постојећу особу",
"search_no_people": "Без особа",
"search_no_people_named": "Нема особа са именом „{name}“",
+ "search_options": "Опције претраге",
"search_people": "Претражи особе",
"search_places": "Претражи места",
+ "search_settings": "Претрага подешавања",
"search_state": "Тражи регион...",
+ "search_tags": "Претражи ознаке (tags)...",
"search_timezone": "Претражи временску зону...",
"search_type": "Врста претраге",
"search_your_photos": "Претражи своје фотографије",
@@ -1089,6 +1178,7 @@
"see_all_people": "Види све особе",
"select_album_cover": "Изаберите омот албума",
"select_all": "Изабери све",
+ "select_all_duplicates": "Изаберите све дупликате",
"select_avatar_color": "Изаберите боју аватара",
"select_face": "Изаберите лице",
"select_featured_photo": "Изаберите истакнуту фотографију",
@@ -1121,6 +1211,7 @@
"shared_by_user": "Дели {user}",
"shared_by_you": "Ви делите",
"shared_from_partner": "Слике од {partner}",
+ "shared_link_options": "Опције дељене везе",
"shared_links": "Дељене везе",
"shared_photos_and_videos_count": "{assetCount, plural, other {# дељене фотографије и видео записе.}}",
"shared_with_partner": "Дели се са {partner}",
@@ -1129,6 +1220,7 @@
"sharing_sidebar_description": "Прикажите везу до Дељења на бочној траци",
"shift_to_permanent_delete": "притисните ⇧ да трајно избришете датотеку",
"show_album_options": "Прикажи опције албума",
+ "show_albums": "Прикажи албуме",
"show_all_people": "Покажи све особе",
"show_and_hide_people": "Откриј и сакриј особе",
"show_file_location": "Прикажи локацију датотеке",
@@ -1143,11 +1235,18 @@
"show_person_options": "Прикажи опције особе",
"show_progress_bar": "Прикажи траку напретка",
"show_search_options": "Прикажи опције претраге",
+ "show_slideshow_transition": "Прикажи прелаз пројекције слајдова",
+ "show_supporter_badge": "Значка подршке",
+ "show_supporter_badge_description": "Покажите значку подршке",
"shuffle": "Мешање",
+ "sidebar": "Бочна трака",
+ "sidebar_display_description": "Прикажите везу до приказа на бочној траци",
"sign_out": "Одјава",
"sign_up": "Пријави се",
"size": "Величина",
"skip_to_content": "Пређи на садржај",
+ "skip_to_folders": "Прескочи на фасцикле",
+ "skip_to_tags": "Прескочи на ознаке (tags)",
"slideshow": "Слајдови",
"slideshow_settings": "Подешавања слајдова",
"sort_albums_by": "Сортирај албуме по...",
@@ -1159,6 +1258,8 @@
"sort_title": "Наслов",
"source": "Извор",
"stack": "Слагање",
+ "stack_duplicates": "Дупликати гомиле",
+ "stack_select_one_photo": "Изаберите једну главну фотографију за гомилу",
"stack_selected_photos": "Сложите изабране фотографије",
"stacked_assets_count": "Наслагано {count, plural, one {# датотека} other {# датотеке}}",
"stacktrace": "Веза до гомиле",
@@ -1176,27 +1277,41 @@
"submit": "Достави",
"suggestions": "Сугестије",
"sunrise_on_the_beach": "Излазак сунца на плажи",
+ "support": "Подршка",
+ "support_and_feedback": "Подршка и повратне информације",
+ "support_third_party_description": "Ваша иммицх инсталација је спакована од стране треће стране. Проблеми са којима се суочавате могу бити узроковани тим пакетом, па вас молимо да им прво поставите проблеме користећи доње везе.",
"swap_merge_direction": "Замените правац спајања",
"sync": "Синхронизација",
+ "tag": "Ознака (tag)",
+ "tag_assets": "Означите датотеке",
+ "tag_created": "Направљена ознака (tag): {tag}",
+ "tag_feature_description": "Прегледавање фотографија и видео снимака груписаних по логичним темама ознака",
+ "tag_not_found_question": "Не можете да пронађете ознаку (tag)? Направите нову ознаку",
+ "tag_updated": "Ажурирана ознака (tag): {tag}",
+ "tagged_assets": "Означено (tagged) {count, plural, one {# датотека} other {# датотеке}}",
+ "tags": "Ознаке (tags)",
"template": "Шаблон (Темплате)",
"theme": "Теме",
"theme_selection": "Избор теме",
"theme_selection_description": "Аутоматски поставите тему на светлу или тамну на основу системских преференција вашег претраживача",
"they_will_be_merged_together": "Они ће бити спојени заједно",
+ "third_party_resources": "Ресурси трећих страна",
"time_based_memories": "Сећања заснована на времену",
"timezone": "Временска зона",
"to_archive": "Архивирај",
"to_change_password": "Промени лозинку",
"to_favorite": "Постави као фаворит",
"to_login": "Пријава",
+ "to_parent": "Врати се назад",
+ "to_root": "На почетак",
"to_trash": "Смеће",
"toggle_settings": "Намести подешавања",
- "toggle_theme": "Намести теме",
+ "toggle_theme": "Намести тамну тему",
"toggle_visibility": "Namesti vidljivost",
"total_usage": "Укупна употреба",
"trash": "Отпад",
"trash_all": "Баци све у отпад",
- "trash_count": "Отпад {count}",
+ "trash_count": "Отпад {count, number}",
"trash_delete_asset": "Отпад/Избриши датотеку",
"trash_no_results_message": "Слике и видео записи у отпаду ће се појавити овде.",
"trashed_items_will_be_permanently_deleted_after": "Датотеке у отпаду ће бити трајно избрисане након {days, plural, one {# дан} few {# дана} other {# дана}}.",
@@ -1210,12 +1325,15 @@
"unknown_album": "Nepoznat Album",
"unknown_year": "Непозната Година",
"unlimited": "Неограничено",
+ "unlink_motion_video": "Прекините везу са видео снимком",
"unlink_oauth": "Прекини везу са Oauth-om",
"unlinked_oauth_account": "Опозвана веза OAuth налога",
"unnamed_album": "Неименовани албум",
+ "unnamed_album_delete_confirmation": "Да ли сте сигурни да желите да избришете овај албум?",
"unnamed_share": "Неименовано делење",
"unsaved_change": "Несачувана промена",
"unselect_all": "Поништи све",
+ "unselect_all_duplicates": "Поништи избор свих дупликата",
"unstack": "Разгомилај (Ун-стацк)",
"unstacked_assets_count": "Несложено {count, plural, one {# датотека} other {# датотеке}}",
"untracked_files": "Непраћене Датотеке",
@@ -1225,7 +1343,7 @@
"upload": "Уплоадуј",
"upload_concurrency": "Паралелно уплоадовање",
"upload_errors": "Отпремање је завршено са {count, plural, one {# грешком} other {# грешака}}, освежите страницу да бисте видели нове датотеке за отпремање (уплоад).",
- "upload_progress": "Преостало {remaining} – Обрађено {processed}/{total}",
+ "upload_progress": "Преостало {remaining, number} – Обрађено {processed, number}/{total, number}",
"upload_skipped_duplicates": "Прескочено {count, plural, one {# дупла датотека} other {# дуплих датотека}}",
"upload_status_duplicates": "Дупликати",
"upload_status_errors": "Грешке",
@@ -1239,6 +1357,8 @@
"user_license_settings": "Лиценца",
"user_license_settings_description": "Управљајте својом лиценцом",
"user_liked": "{user} је лајковао {type, select, photo {ову фотографију} video {овај видео запис} asset {ову датотеку} other {ово}}",
+ "user_purchase_settings": "Куповина",
+ "user_purchase_settings_description": "Управљајте куповином",
"user_role_set": "Постави {user} као {role}",
"user_usage_detail": "Детаљи коришћења корисника",
"username": "Корисничко име",
@@ -1249,6 +1369,8 @@
"version": "Верзија",
"version_announcement_closing": "Твој пријатељ, Алекс",
"version_announcement_message": "Здраво пријатељу, постоји нова верзија апликације, молимо вас да одвојите време да посетите напомене о издању и уверите се у своје docker-compose.yml
, и .env
подешавање је ажурирано како би се спречиле било какве погрешне конфигурације, посебно ако користите WatchTower или било који механизам који аутоматски управља ажурирањем ваше апликације.",
+ "version_history": "Историја верзија",
+ "version_history_item": "Инсталирано {version} on {date}",
"video": "Видео запис",
"video_hover_setting": "Пусти сличицу видеа када лебди",
"video_hover_setting_description": "Пусти сличицу видеа када миш пређе преко ставке. Чак и када је oneмогућена, репродукција се може покренути преласком миша преко икone за репродукцију.",
@@ -1258,6 +1380,7 @@
"view_album": "Погледај албум",
"view_all": "Прикажи Све",
"view_all_users": "Прикажи све кориснике",
+ "view_in_timeline": "Прикажи у временској линији",
"view_links": "Прикажи везе",
"view_next_asset": "Погледајте следећу датотеку",
"view_previous_asset": "Погледај претходну датотеку",
@@ -1268,7 +1391,7 @@
"warning": "Упозорење",
"week": "Недеља",
"welcome": "Добродошли",
- "welcome_to_immich": "Добродошли у immich",
+ "welcome_to_immich": "Добродошли у Имич (Immich)",
"year": "Година",
"years_ago": "пре {years, plural, one {# године} other {# година}}",
"yes": "Да",
diff --git a/web/src/lib/i18n/sr_Latn.json b/i18n/sr_Latn.json
similarity index 90%
rename from web/src/lib/i18n/sr_Latn.json
rename to i18n/sr_Latn.json
index eb9320ae48..f871cb12b0 100644
--- a/web/src/lib/i18n/sr_Latn.json
+++ b/i18n/sr_Latn.json
@@ -25,9 +25,10 @@
"add_to_shared_album": "Dodaj u deljen album",
"added_to_archive": "Dodato u arhivu",
"added_to_favorites": "Dodato u favorite",
- "added_to_favorites_count": "Dodato {count} u favorite",
+ "added_to_favorites_count": "Dodato {count, number} u favorite",
"admin": {
"add_exclusion_pattern_description": "Dodajte obrasce isključenja. Korištenje *, ** i ? je podržano. Da biste ignorisali sve datoteke u bilo kom direktorijumu pod nazivom „Rav“, koristite „**/Rav/**“. Da biste ignorisali sve datoteke koje se završavaju na „.tif“, koristite „**/*.tif“. Da biste ignorisali apsolutnu putanju, koristite „/path/to/ignore/**“.",
+ "asset_offline_description": "Ovo eksterno bibliotečko sredstvo se više ne nalazi na disku i premešteno je u smeće. Ako je datoteka premeštena unutar biblioteke, proverite svoju vremensku liniju za novo odgovarajuće sredstvo. Da biste vratili ovo sredstvo, uverite se da Immich može da pristupi dole navedenoj putanji datoteke i skenirajte biblioteku.",
"authentication_settings": "Podešavanja za autentifikaciju",
"authentication_settings_description": "Upravljajte lozinkom, OAuth-om i drugim podešavanjima autentifikacije",
"authentication_settings_disable_all": "Da li ste sigurni da želite da onemogućite sve metode prijavljivanja? Prijava će biti potpuno onemogućena.",
@@ -41,6 +42,7 @@
"confirm_email_below": "Da biste potvrdili, unesite \"{email}\" ispod",
"confirm_reprocess_all_faces": "Da li ste sigurni da želite da ponovo obradite sva lica? Ovo će takođe obrisati imenovane osobe.",
"confirm_user_password_reset": "Da li ste sigurni da želite da resetujete lozinku korisnika {user}?",
+ "create_job": "Kreirajte posao",
"crontab_guru": "Guru servisnih zadataka",
"disable_login": "Onemogući prijavu",
"disabled": "",
@@ -49,27 +51,37 @@
"external_library_created_at": "Eksterna biblioteka (napravljena {date})",
"external_library_management": "Upravljanje eksternim bibliotekama",
"face_detection": "Detekcija lica",
- "face_detection_description": "Otkrivanje lica u datotekama pomoću mašinskog učenja. Za video snimke se uzima u obzir samo sličica. „Sve“ (ponovno) obrađuje sve datoteke. „Nedostaju“ sredstva u nizu koja još nisu obrađena. Otkrivena lica će biti stavljena u red za prepoznavanje lica nakon što se prepoznavanje lica završi, grupišući ih u postojeće ili nove ljude.",
- "facial_recognition_job_description": "Grupa je detektovala lica i dodala ih postojecim ljudima. Ovaj korak se pokreće nakon što je prepoznavanje lica završeno. „Sve“ (ponovno) grupiše sva lica. „Nedostaju“ lica u redovima kojima nije dodeljena osoba.",
+ "face_detection_description": "Otkrijte lica u datotekama pomoću mašinskog učenja. Za video snimke se uzima u obzir samo sličica. „Osveži“ (ponovno) obrađuje sve datoteke. „Resetovanje“ dodatno briše sve trenutne podatke o licu. „Nedostaju“ datoteke u redu koje još nisu obrađene. Otkrivena lica će biti stavljena u red za prepoznavanje lica nakon što se prepoznavanje lica završi, grupišući ih u postojeće ili nove osobe.",
+ "facial_recognition_job_description": "Grupa je detektovala lica i dodala ih postojećim osobama. Ovaj korak se pokreće nakon što je prepoznavanje lica završeno. „Resetuj“ (ponovno) grupiše sva lica. „Nedostaju“ lica u redovima kojima nije dodeljena osoba.",
"failed_job_command": "Komanda {command} nije uspela za posao: {job}",
"force_delete_user_warning": "UPOZORENJE: Ovo će odmah ukloniti korisnika i sve datoteke. Ovo se ne može opozvati i datoteke se ne mogu oporaviti.",
"forcing_refresh_library_files": "Prinudno osvežavanje svih datoteka biblioteke",
+ "image_format": "Format",
"image_format_description": "WebP proizvodi manje datoteke od JPEG, ali se sporije kodira.",
"image_prefer_embedded_preview": "Preferirajte ugrađeni pregled",
"image_prefer_embedded_preview_setting_description": "Koristite ugrađene preglede u RAW fotografije kao ulaz za obradu slike kada su dostupne. Ovo može da proizvede preciznije boje za neke slike, ali kvalitet pregleda zavisi od kamere i slika može imati više nepravilnosti kompresije.",
"image_prefer_wide_gamut": "Preferirajte širok spektar",
"image_prefer_wide_gamut_setting_description": "Koristite Display P3 za sličice. Ovo bolje čuva živopisnost slika sa širokim prostorima boja, ali slike mogu izgledati drugačije na starim uređajima sa starom verzijom pretraživača. sRGB slike se čuvaju kao sRGB da bi se izbegle promene boja.",
+ "image_preview_description": "Slika srednje veličine sa uklonjenim metapodacima, koja se koristi prilikom pregleda jednog elementa i za mašinsko učenje",
"image_preview_format": "Pregled formata",
+ "image_preview_quality_description": "Kvalitet pregleda od 1-100. Više je bolje, ali proizvodi veće datoteke i može smanjiti odziv aplikacije. Postavljanje niske vrednosti može uticati na kvalitet mašinskog učenja.",
"image_preview_resolution": "Pregled rezolucije",
"image_preview_resolution_description": "Koristi se za gledanje jedne fotografije i za mašinsko učenje. Veće rezolucije mogu da sačuvaju više detalja, ali im je potrebno više vremena za kodiranje, imaju veće veličine datoteka i mogu da smanje brzinu aplikacije.",
+ "image_preview_title": "Podešavanja pregleda",
"image_quality": "Kvalitet",
"image_quality_description": "Kvalitet slike od 1-100. Više je bolje za kvalitet, ali proizvodi veće datoteke, ova opcija utiče na pregled i sličice.",
+ "image_resolution": "Rezolucija",
+ "image_resolution_description": "Veće rezolucije mogu da sačuvaju više detalja, ali im je potrebno više vremena za kodiranje, imaju veće veličine datoteka i mogu da smanje odziv aplikacije.",
"image_settings": "Podešavanja slike",
"image_settings_description": "Upravljajte kvalitetom i rezolucijom generisanih slika",
+ "image_thumbnail_description": "Mala sličica sa ogoljenim metapodacima, koja se koristi prilikom pregleda grupa fotografija kao što je glavna vremenska linija",
"image_thumbnail_format": "Format sličice",
+ "image_thumbnail_quality_description": "Kvalitet sličica od 1-100. Više je bolje, ali proizvodi veće datoteke i može smanjiti odziv aplikacije.",
"image_thumbnail_resolution": "Rezolucija sličice",
"image_thumbnail_resolution_description": "Koristi se prilikom pregleda grupa fotografija (glavna vremenska linija, prikaz albuma, itd.). Veće rezolucije mogu da sačuvaju više detalja, ali im je potrebno više vremena za kodiranje, imaju veće veličine datoteka i mogu da smanje brzinu aplikacije.",
+ "image_thumbnail_title": "Podešavanja sličica",
"job_concurrency": "{job} paralelnost",
+ "job_created": "Posao kreiran",
"job_not_concurrency_safe": "Ovaj posao nije bezbedan da bude paralelno aktivan.",
"job_settings": "Podešavanja posla",
"job_settings_description": "Upravljajte paralelnošću poslova",
@@ -129,6 +141,7 @@
"map_enable_description": "Omogućite karakteristike mape",
"map_gps_settings": "Map & GPS podešavanja",
"map_gps_settings_description": "Upravljajte postavkama mape i GPS-a (obrnuto geokodiranje)",
+ "map_implications": "Funkcija mape se oslanja na eksternu uslugu pločica (tiles.immich.cloud)",
"map_light_style": "Svetli stil",
"map_manage_reverse_geocoding_settings": "Upravljajte podešavanjima Obrnuto geokodiranje",
"map_reverse_geocoding": "Obrnuto geokodiranje",
@@ -138,7 +151,11 @@
"map_settings_description": "Upravljajte podešavanjima mape",
"map_style_description": "URL do style.json mape tema izgleda",
"metadata_extraction_job": "Izvod metapodataka",
- "metadata_extraction_job_description": "Izvucite informacije o metapodacima iz svake datoteke, kao što su GPS i rezolucija",
+ "metadata_extraction_job_description": "Izvucite informacije o metapodacima iz svake datoteke, kao što su GPS, lica i rezolucija",
+ "metadata_faces_import_setting": "Omogućite (enable) dodavanje lica",
+ "metadata_faces_import_setting_description": "Dodajte lica iz EXIF podataka slike i sličnih metapodataka",
+ "metadata_settings": "Podešavanje metapodataka",
+ "metadata_settings_description": "Upravljajte podešavanjima metapodataka",
"migration_job": "Migracije",
"migration_job_description": "Prenesite sličice datoteka i lica u najnoviju strukturu direktorijuma",
"no_paths_added": "Nema dodatih putanja",
@@ -147,7 +164,7 @@
"note_cannot_be_changed_later": "NAPOMENA: Ovo se kasnije ne može promeniti!",
"note_unlimited_quota": "Napomena: Unesite 0 za neograničenu kvotu",
"notification_email_from_address": "Sa adrese",
- "notification_email_from_address_description": "Adresa e-pošte pošiljaoca, na primer: \"Immich foto server {label}
je oznaka za skladištenje korisnika",
"system_settings": "Podešavanja sistema",
+ "tag_cleanup_job": "Čišćenje oznaka (tags)",
"theme_custom_css_settings": "Prilagođeni CSS",
"theme_custom_css_settings_description": "Kaskadni listovi stilova (CSS) omogućavaju prilagođavanje dizajna Immich-a.",
"theme_settings": "Podešavanje tema",
@@ -266,7 +287,7 @@
"transcoding_hardware_acceleration": "Hardversko ubrzanje",
"transcoding_hardware_acceleration_description": "Ekperimentalno; mnogo brže, ali će imati niži kvalitet pri istoj brzini prenosa",
"transcoding_hardware_decoding": "Hardversko dekodiranje",
- "transcoding_hardware_decoding_setting_description": "Odnosi se samo na NVENC, QSV i RKMPP. Omogućava ubrzanje od kraja do kraja umesto da samo ubrzava kodiranje. Možda neće raditi na svim video snimcima.",
+ "transcoding_hardware_decoding_setting_description": "Omogućava ubrzanje od kraja do kraja umesto da samo ubrzava kodiranje. Možda neće raditi na svim video snimcima.",
"transcoding_hevc_codec": "HEVC kodek",
"transcoding_max_b_frames": "Maksimalni B-kadri",
"transcoding_max_b_frames_description": "Više vrednosti poboljšavaju efikasnost kompresije, ali usporavaju kodiranje. Možda nije kompatibilno sa hardverskim ubrzanjem na starijim uređajima. 0 onemogućava B-kadre, dok -1 automatski postavlja ovu vrednost.",
@@ -278,7 +299,7 @@
"transcoding_preferred_hardware_device": "Željeni hardverski uređaj",
"transcoding_preferred_hardware_device_description": "Odnosi se samo na VAAPI i QSV. Postavlja dri node koji se koristi za hardversko transkodiranje.",
"transcoding_preset_preset": "Unapred podešena podešavanja (-preset)",
- "transcoding_preset_preset_description": "Brzina kompresije. Sporije unapred podešene vrednosti proizvode manje datoteke i povećavaju kvalitet kada ciljate određenu brzinu prenosa. VP9 ignoriše brzine iznad `brže`.",
+ "transcoding_preset_preset_description": "Brzina kompresije. Sporije unapred podešene vrednosti proizvode manje datoteke i povećavaju kvalitet kada ciljate određenu brzinu prenosa. VP9 ignoriše brzine iznad 'brže'.",
"transcoding_reference_frames": "Referentni okviri (frames)",
"transcoding_reference_frames_description": "Broj okvira (frames) za referencu prilikom kompresije datog okvira. Više vrednosti poboljšavaju efikasnost kompresije, ali usporavaju kodiranje. 0 automatski postavlja ovu vrednost.",
"transcoding_required_description": "Samo video snimci koji nisu u prihvaćenom formatu",
@@ -307,6 +328,7 @@
"trash_settings_description": "Upravljajte podešavanjima smeća",
"untracked_files": "Nepraćene datoteke",
"untracked_files_description": "Aplikacija ne prati ove datoteke. One mogu nastati zbog neuspešnih premeštenja, zbog prekinutih otpremanja ili kao preostatak zbog greške",
+ "user_cleanup_job": "Čišćenje korisnika",
"user_delete_delay": "Nalog i datoteke {user} biće zakazani za trajno brisanje za {delay, plural, one {# dan} other {# dana}}.",
"user_delete_delay_settings": "Izbriši uz kašnjenje",
"user_delete_delay_settings_description": "Broj dana nakon uklanjanja za trajno brisanje korisničkog naloga i datoteka. Posao brisanja korisnika se pokreće u ponoć da bi se proverili korisnici koji su spremni za brisanje. Promene ove postavke će biti procenjene pri sledećem izvršenju.",
@@ -320,7 +342,8 @@
"user_settings": "Podešavanja korisnika",
"user_settings_description": "Upravljajte korisničkim podešavanjima",
"user_successfully_removed": "Korisnik {email} je uspešno uklonjen.",
- "version_check_enabled_description": "Omogućite periodične zahteve GitHub-u za proveru novih izdanja",
+ "version_check_enabled_description": "Omogućite proveru novih izdanja",
+ "version_check_implications": "Funkcija provere verzije se oslanja na periodičnu komunikaciju sa github.com",
"version_check_settings": "Provera verzije",
"version_check_settings_description": "Omogućite/onemogućite obaveštenje o novoj verziji",
"video_conversion_job": "Transkodiranje video zapisa",
@@ -336,7 +359,8 @@
"album_added": "Album dodan",
"album_added_notification_setting_description": "Primi obaveštenje e-poštom kad budeš dodan u deljen album",
"album_cover_updated": "Omot albuma ažuriran",
- "album_delete_confirmation": "Da li stvarno želite da izbrišete album {album}?\nAko se ovaj album deli, drugi korisnici više neće moći da mu pristupe.",
+ "album_delete_confirmation": "Da li stvarno želite da izbrišete album {album}?",
+ "album_delete_confirmation_description": "Ako se ovaj album deli, drugi korisnici više neće moći da mu pristupe.",
"album_info_updated": "Informacija albuma ažurirana",
"album_leave": "Napustiti album?",
"album_leave_confirmation": "Da li stvarno želite da napustite {album}?",
@@ -360,6 +384,7 @@
"allow_edits": "Dozvoli uređenje",
"allow_public_user_to_download": "Dozvolite javnom korisniku da preuzme (download-uje)",
"allow_public_user_to_upload": "Dozvoli javnom korisniku da otpremi (upload-uje)",
+ "anti_clockwise": "U smeru suprotnom od kazaljke na satu",
"api_key": "API ključ (key)",
"api_key_description": "Ova vrednost će biti prikazana samo jednom. Obavezno kopirajte pre nego što zatvorite prozor.",
"api_key_empty": "Ime vašeg API ključa ne bi trebalo da bude prazno",
@@ -381,8 +406,9 @@
"asset_has_unassigned_faces": "Datoteka ima nedodeljena lica",
"asset_hashing": "Heširanje...",
"asset_offline": "Datoteka odsutna",
- "asset_offline_description": "Ova datoteka je van mreže. Immich ne može da pristupi lokaciji svoje datoteke. Uverite se da je datoteka dostupna, a zatim ponovo skenirajte biblioteku.",
+ "asset_offline_description": "Ova vanjska datoteka se više ne nalazi na disku. Molimo kontaktirajte svog Immich administratora za pomoć.",
"asset_skipped": "Preskočeno",
+ "asset_skipped_in_trash": "U otpad",
"asset_uploaded": "Otpremljeno (Uploaded)",
"asset_uploading": "Otpremanje...",
"assets": "Zapisi",
@@ -394,7 +420,7 @@
"assets_moved_to_trash_count": "Premešteno {count, plural, one {# datoteka} few {# datoteke} other {# datoteka}} u otpad",
"assets_permanently_deleted_count": "Trajno izbrisano {count, plural, one {# datoteka} few {# datoteke} other {# datoteka}}",
"assets_removed_count": "Uklonjeno {count, plural, one {# datoteka} few {# datoteke} other {# datoteka}}",
- "assets_restore_confirmation": "Da li ste sigurni da želite da vratite sve svoje datoteke koje su u otpadu? Ne možete poništiti ovu radnju!",
+ "assets_restore_confirmation": "Da li ste sigurni da želite da vratite sve svoje datoteke koje su u otpadu? Ne možete poništiti ovu radnju! Imajte na umu da se vanmrežna sredstva ne mogu vratiti na ovaj način.",
"assets_restored_count": "Vraćeno {count, plural, one {# datoteka} few {# datoteke} other {# datoteka}}",
"assets_trashed_count": "Bačeno u otpad {count, plural, one {# datoteka} few{# datoteke} other {# datoteka}}",
"assets_were_part_of_album_count": "{count, plural, one {Datoteka je} other {Datoteke su}} već deo albuma",
@@ -405,7 +431,8 @@
"birthdate_saved": "Datum rođenja uspešno sačuvan",
"birthdate_set_description": "Datum rođenja se koristi da bi se izračunale godine ove osobe u dobu određene fotografije.",
"blurred_background": "Zamućena pozadina",
- "build": "Sagradi (Build)",
+ "bugs_and_feature_requests": "Greške (bugs) i zahtevi za funkcije",
+ "build": "Pod-verzija (Build)",
"build_image": "Sagradi (Build) image",
"bulk_delete_duplicates_confirmation": "Da li ste sigurni da želite grupno da izbrišete {count, plural, one {# dupliran elemenat} few {# duplirana elementa} other {# dupliranih elemenata}}? Ovo će zadržati najveće sredstvo svake grupe i trajno izbrisati sve druge duplikate. Ne možete poništiti ovu radnju!",
"bulk_keep_duplicates_confirmation": "Da li ste sigurni da želite da zadržite {count, plural, one {1 dupliranu datoteku} few {# duplirane datoteke} other {# dupliranih datoteka}}? Ovo će rešiti sve duplirane grupe bez brisanja bilo čega.",
@@ -441,9 +468,11 @@
"clear_all_recent_searches": "Obrišite sve nedavne pretrage",
"clear_message": "Obriši poruku",
"clear_value": "Jasna vrednost",
+ "clockwise": "U smeru kazaljke",
"close": "Zatvori",
"collapse": "Skupi",
"collapse_all": "Skupi sve",
+ "color": "Boja",
"color_theme": "Režim boja",
"comment_deleted": "Komentar obrisan",
"comment_options": "Opcije komentara",
@@ -477,6 +506,8 @@
"create_new_person": "Napravi novu osobu",
"create_new_person_hint": "Dodelite izabrane datoteke novoj osobi",
"create_new_user": "Napravi novog korisnika",
+ "create_tag": "Kreirajte oznaku (tag)",
+ "create_tag_description": "Napravite novu oznaku (tag). Za ugnežđene oznake, unesite punu putanju oznake uključujući kose crte.",
"create_user": "Napravi korisnika",
"created": "Napravljen",
"current_device": "Trenutni uređaj",
@@ -500,13 +531,17 @@
"delete_library": "Obriši biblioteku",
"delete_link": "Obriši vezu",
"delete_shared_link": "Obriši deljenu vezu",
+ "delete_tag": "Obriši oznaku (tag)",
+ "delete_tag_confirmation_prompt": "Da li stvarno želite da izbrišete oznaku {tagName}?",
"delete_user": "Obriši korisnika",
"deleted_shared_link": "Obrišena deljena veza",
+ "deletes_missing_assets": "Briše sredstva koja nedostaju sa diska",
"description": "Opis",
"details": "Detalji",
"direction": "Smer",
"disabled": "Onemogućeno",
"disallow_edits": "Zabrani izmene",
+ "discord": "Diskord",
"discover": "Otkrijte",
"dismiss_all_errors": "Odbacite sve greške",
"dismiss_error": "Odbaci grešku",
@@ -515,8 +550,11 @@
"display_original_photos": "Prikažite originalne fotografije",
"display_original_photos_setting_description": "Radije prikazujete originalnu fotografiju kada gledate materijal nego sličice kada je originalno delo kompatibilno sa webom. Ovo može dovesti do sporijeg prikaza fotografija.",
"do_not_show_again": "Ne prikaži ponovo ovu poruku",
+ "documentation": "Dokumentacija",
"done": "Urađeno",
"download": "Preuzmi",
+ "download_include_embedded_motion_videos": "Ugrađeni video snimci",
+ "download_include_embedded_motion_videos_description": "Uključite video zapise ugrađene u fotografije u pokretu kao zasebnu datoteku",
"download_settings": "Preuzimanje",
"download_settings_description": "Upravljajte podešavanjima vezanim za preuzimanje datoteka",
"downloading": "Preuzimanje u toku",
@@ -546,10 +584,15 @@
"edit_location": "Uredi lokaciju",
"edit_name": "Uredi ime",
"edit_people": "Uredi osobe",
+ "edit_tag": "Uredi oznaku (tag)",
"edit_title": "Uredi titulu",
"edit_user": "Uredi korisnika",
"edited": "Uređeno",
"editor": "Urednik",
+ "editor_close_without_save_prompt": "Promene neće biti sačuvane",
+ "editor_close_without_save_title": "Zatvoriti uređivač?",
+ "editor_crop_tool_h2_aspect_ratios": "Proporcije (aspect ratios)",
+ "editor_crop_tool_h2_rotation": "Rotacija",
"email": "E-pošta",
"empty": "",
"empty_album": "Isprazni album",
@@ -639,6 +682,7 @@
"unable_to_get_comments_number": "Nije moguće dobiti broj komentara",
"unable_to_get_shared_link": "Preuzimanje deljene veze nije uspelo",
"unable_to_hide_person": "Nije moguće sakriti osobu",
+ "unable_to_link_motion_video": "Nije moguće povezati video sa slikom",
"unable_to_link_oauth_account": "Nije moguće povezati OAuth nalog",
"unable_to_load_album": "Nije moguće učitati album",
"unable_to_load_asset_activity": "Nije moguće učitati aktivnost sredstava",
@@ -655,8 +699,8 @@
"unable_to_remove_api_key": "Nije moguće ukloniti API ključ (key)",
"unable_to_remove_assets_from_shared_link": "Nije moguće ukloniti elemente sa deljenog linka",
"unable_to_remove_comment": "",
+ "unable_to_remove_deleted_assets": "Nije moguće ukloniti vanmrežne datoteke",
"unable_to_remove_library": "Nije moguće ukloniti biblioteku",
- "unable_to_remove_offline_files": "Nije moguće ukloniti vanmrežne datoteke",
"unable_to_remove_partner": "Nije moguće ukloniti partnera",
"unable_to_remove_reaction": "Nije moguće ukloniti reakciju",
"unable_to_remove_user": "",
@@ -679,6 +723,7 @@
"unable_to_submit_job": "Nije moguće predati zadatak",
"unable_to_trash_asset": "Nije moguće izbaciti materijal u otpad",
"unable_to_unlink_account": "Nije moguće raskinuti profil",
+ "unable_to_unlink_motion_video": "Nije moguće odvezati video od slike",
"unable_to_update_album_cover": "Nije moguće ažurirati naslovnicu albuma",
"unable_to_update_album_info": "Nije moguće ažurirati informacije o albumu",
"unable_to_update_library": "Nije moguće ažurirati biblioteku",
@@ -699,6 +744,7 @@
"expired": "Isteklo",
"expires_date": "Ističe {date}",
"explore": "Istražite",
+ "explorer": "Pretraživač (Explorer)",
"export": "Izvezi",
"export_as_json": "Izvezi JSON",
"extension": "Ekstenzija (Extension)",
@@ -712,6 +758,8 @@
"feature": "",
"feature_photo_updated": "Glavna fotografija je ažurirana",
"featurecollection": "",
+ "features": "Funkcije (features)",
+ "features_setting_description": "Upravljajte funkcijama aplikacije",
"file_name": "Naziv dokumenta",
"file_name_or_extension": "Ime datoteke ili ekstenzija",
"filename": "Ime datoteke",
@@ -720,6 +768,8 @@
"filter_people": "Filtriranje osoba",
"find_them_fast": "Brzo ih pronađite po imenu pomoću pretrage",
"fix_incorrect_match": "Ispravite netačno podudaranje",
+ "folders": "Fascikle (Folders)",
+ "folders_feature_description": "Pregledavanje prikaza fascikle za fotografije i video zapisa u sistemu datoteka",
"force_re-scan_library_files": "Prinudno ponovo skenirajte sve datoteke biblioteke",
"forward": "Napred",
"general": "Generalno",
@@ -819,6 +869,7 @@
"license_trial_info_4": "Molimo vas da razmislite o kupovini licence za podršku kontinuiranom razvoju usluge",
"light": "Svetlo",
"like_deleted": "Lajkuj izbrisano",
+ "link_motion_video": "Napravi vezu za video zapis",
"link_options": "Opcije veze",
"link_to_oauth": "Veza do OAuth-a",
"linked_oauth_account": "Povezani OAuth nalog",
@@ -837,6 +888,7 @@
"look": "Pogledaj",
"loop_videos": "Ponavljajte video zapise",
"loop_videos_description": "Omogućite za automatsko ponavljanje video zapisa u pregledniku detalja.",
+ "main_branch_warning": "Upotrebljavate razvojnu verziju; strogo preporučujemo upotrebu izdate verzije!",
"make": "Kreiraj",
"manage_shared_links": "Upravljajte deljenim vezama",
"manage_sharing_with_partners": "Upravljajte deljenjem sa partnerima",
@@ -873,6 +925,7 @@
"name": "Ime",
"name_or_nickname": "Ime ili nadimak",
"never": "Nikada",
+ "new_album": "Novi Album",
"new_api_key": "Novi API ključ (key)",
"new_password": "Nova šifra",
"new_person": "Nova osoba",
@@ -905,18 +958,21 @@
"notifications": "Notifikacije",
"notifications_setting_description": "Upravljajte obaveštenjima",
"oauth": "OAuth",
+ "official_immich_resources": "Zvanični Immich resursi",
"offline": "Odsutan (Offline)",
"offline_paths": "Nedostupne (Offline) putanje",
"offline_paths_description": "Ovi rezultati mogu biti posledica ručnog brisanja datoteka koje nisu deo spoljne biblioteke.",
"ok": "Ok",
"oldest_first": "Najstarije prvo",
"onboarding": "Pristupanje (Onboarding)",
+ "onboarding_privacy_description": "Sledeće (opcione) funkcije se oslanjaju na spoljne usluge i mogu se onemogućiti u bilo kom trenutku u podešavanjima administracije.",
"onboarding_theme_description": "Izaberite temu boja za svoj nalog. Ovo možete kasnije da promenite u podešavanjima.",
"onboarding_welcome_description": "Hajde da podesimo vašu instancu sa nekim uobičajenim podešavanjima.",
"onboarding_welcome_user": "Dobrodošli, {user}",
"online": "Dostupan (Online)",
"only_favorites": "Samo favoriti",
"only_refreshes_modified_files": "Osvežava samo izmenjene datoteke",
+ "open_in_map_view": "Otvorite u prikaz karte",
"open_in_openstreetmap": "Otvorite u OpenStreetMap-u",
"open_the_search_filters": "Otvorite filtere za pretragu",
"options": "Opcije",
@@ -951,6 +1007,7 @@
"pending": "Na čekanju",
"people": "Osobe",
"people_edits_count": "Izmenjeno {count, plural, one {# osoba} other {# osobe}}",
+ "people_feature_description": "Pregledavanje fotografija i video snimaka grupisanih po osobama",
"people_sidebar_description": "Prikažite vezu do osoba na bočnoj traci",
"perform_library_tasks": "",
"permanent_deletion_warning": "Upozorenje za trajno brisanje",
@@ -983,6 +1040,7 @@
"previous_memory": "Prethodno sećanje",
"previous_or_next_photo": "Prethodna ili sledeća fotografija",
"primary": "Primarna (Primary)",
+ "privacy": "Privatnost",
"profile_image_of_user": "Slika profila od korisnika {user}",
"profile_picture_set": "Profilna slika postavljena.",
"public_album": "Javni album",
@@ -1020,6 +1078,10 @@
"purchase_server_title": "Server",
"purchase_settings_server_activated": "Ključem proizvoda servera upravlja administrator",
"range": "",
+ "rating": "Ocena zvezdica",
+ "rating_clear": "Obriši ocenu",
+ "rating_count": "{count, plural, one {# zvezda} other {# zvezde}}",
+ "rating_description": "Prikažite EXIF ocenu u info panelu",
"raw": "",
"reaction_options": "Opcije reakcije",
"read_changelog": "Pročitajte dnevnik promena",
@@ -1031,11 +1093,13 @@
"recent_searches": "Skorašnje pretrage",
"refresh": "Osveži",
"refresh_encoded_videos": "Osvežite kodirane (encoded) video zapise",
+ "refresh_faces": "Osveži lica",
"refresh_metadata": "Osvežite metapodatke",
"refresh_thumbnails": "Osvežite sličice",
"refreshed": "Osveženo",
- "refreshes_every_file": "Osvežava svaku datoteku",
+ "refreshes_every_file": "Ponovo čita sve postojeće i nove datoteke",
"refreshing_encoded_video": "Osvežavanje kodiranog (encoded) videa",
+ "refreshing_faces": "Osvežavanje lica",
"refreshing_metadata": "Osvežavanje meta-podataka",
"regenerating_thumbnails": "Obnavljanje sličica",
"remove": "Ukloni",
@@ -1043,15 +1107,16 @@
"remove_assets_shared_link_confirmation": "Da li ste sigurni da želite da uklonite {count, plural, one {# datoteku} other {# datoteke}} sa ove deljene veze?",
"remove_assets_title": "Ukloniti datoteke?",
"remove_custom_date_range": "Uklonite prilagođeni period",
+ "remove_deleted_assets": "Uklonite vanmrežne (offline) datoteke",
"remove_from_album": "Obriši iz albuma",
"remove_from_favorites": "Ukloni iz favorita",
"remove_from_shared_link": "Uklonite sa deljene veze",
- "remove_offline_files": "Uklonite vanmrežne (offline) datoteke",
"remove_user": "Ukloni korisnika",
"removed_api_key": "Uklonjen API ključ (key): {name}",
"removed_from_archive": "Uklonjeno iz arhive",
"removed_from_favorites": "Uklonjeno iz omiljenih (favorites)",
"removed_from_favorites_count": "{count, plural, other {Uklonjeno #}} iz omiljenih",
+ "removed_tagged_assets": "Uklonjena oznaka iz {count, plural, one {# datoteke} other {# datoteka}}",
"rename": "Preimenuj",
"repair": "Popravi",
"repair_no_results_message": "Ovde će se pojaviti datoteke koje nisu praćene i nedostaju",
@@ -1083,6 +1148,7 @@
"say_something": "Reci nešto",
"scan_all_libraries": "Skeniraj sve biblioteke",
"scan_all_library_files": "Ponovo skenirajte sve datoteke biblioteke",
+ "scan_library": "Skeniraj",
"scan_new_library_files": "Skenirajte nove datoteke biblioteke",
"scan_settings": "Podešavanja skeniranja",
"scanning_for_album": "Skeniranje albuma...",
@@ -1098,9 +1164,12 @@
"search_for_existing_person": "Potražite postojeću osobu",
"search_no_people": "Bez osoba",
"search_no_people_named": "Nema osoba sa imenom „{name}“",
+ "search_options": "Opcije pretrage",
"search_people": "Pretraži osobe",
"search_places": "Pretraži mesta",
+ "search_settings": "Pretraga podešavanja",
"search_state": "Traži region...",
+ "search_tags": "Pretraži oznake (tags)...",
"search_timezone": "Pretraži vremensku zonu...",
"search_type": "Vrsta pretrage",
"search_your_photos": "Pretraži svoje fotografije",
@@ -1142,6 +1211,7 @@
"shared_by_user": "Deli {user}",
"shared_by_you": "Vi delite",
"shared_from_partner": "Slike od {partner}",
+ "shared_link_options": "Opcije deljene veze",
"shared_links": "Deljene veze",
"shared_photos_and_videos_count": "{assetCount, plural, other {# deljene fotografije i video zapise.}}",
"shared_with_partner": "Deli se sa {partner}",
@@ -1150,6 +1220,7 @@
"sharing_sidebar_description": "Prikažite vezu do Deljenja na bočnoj traci",
"shift_to_permanent_delete": "pritisnite ⇧ da trajno izbrišete datoteku",
"show_album_options": "Prikaži opcije albuma",
+ "show_albums": "Prikaži albume",
"show_all_people": "Pokaži sve osobe",
"show_and_hide_people": "Otkrij i sakrij osobe",
"show_file_location": "Prikaži lokaciju datoteke",
@@ -1164,13 +1235,18 @@
"show_person_options": "Prikaži opcije osobe",
"show_progress_bar": "Prikaži traku napretka",
"show_search_options": "Prikaži opcije pretrage",
+ "show_slideshow_transition": "Prikaži prelaz projekcije slajdova",
"show_supporter_badge": "Značka podrške",
"show_supporter_badge_description": "Pokažite značku podrške",
"shuffle": "Mešanje",
+ "sidebar": "Bočna traka",
+ "sidebar_display_description": "Prikažite vezu do prikaza na bočnoj traci",
"sign_out": "Odjava",
"sign_up": "Prijavi se",
"size": "Veličina",
"skip_to_content": "Pređi na sadržaj",
+ "skip_to_folders": "Preskoči do mapa (folders)",
+ "skip_to_tags": "Preskoči do oznaka (tags)",
"slideshow": "Slajdovi",
"slideshow_settings": "Podešavanja slajdova",
"sort_albums_by": "Sortiraj albume po...",
@@ -1182,6 +1258,8 @@
"sort_title": "Naslov",
"source": "Izvor",
"stack": "Slaganje",
+ "stack_duplicates": "Duplikati gomile",
+ "stack_select_one_photo": "Izaberite jednu glavnu fotografiju za gomilu",
"stack_selected_photos": "Složite izabrane fotografije",
"stacked_assets_count": "Naslagano {count, plural, one {# datoteka} other {# datoteke}}",
"stacktrace": "Veza do gomile",
@@ -1199,27 +1277,41 @@
"submit": "Dostavi",
"suggestions": "Sugestije",
"sunrise_on_the_beach": "Izlazak sunca na plaži",
+ "support": "Podrška",
+ "support_and_feedback": "Podrška i povratne informacije",
+ "support_third_party_description": "Vaša immich instalacija je spakovana od strane treće strane. Problemi sa kojima se suočavate mogu biti uzrokovani tim paketom, pa vas molimo da im prvo postavite probleme koristeći donje veze.",
"swap_merge_direction": "Zamenite pravac spajanja",
"sync": "Sinhronizacija",
+ "tag": "Oznaka (tag)",
+ "tag_assets": "Označite (tag) sredstva",
+ "tag_created": "Napravljena oznaka (tag): {tag}",
+ "tag_feature_description": "Pregledavanje fotografija i video snimaka grupisanih po logičnim temama oznaka",
+ "tag_not_found_question": "Ne možete da pronađete oznaku (tag)? Napravite novu oznaku",
+ "tag_updated": "Ažurirana oznaka (tag): {tag}",
+ "tagged_assets": "Označeno (tagged) {count, plural, one {# datoteka} other {# datoteke}}",
+ "tags": "Oznake (tags)",
"template": "Šablon (Template)",
"theme": "Teme",
"theme_selection": "Izbor teme",
"theme_selection_description": "Automatski postavite temu na svetlu ili tamnu na osnovu sistemskih preferencija vašeg pretraživača",
"they_will_be_merged_together": "Oni će biti spojeni zajedno",
+ "third_party_resources": "Resursi trećih strana",
"time_based_memories": "Sećanja zasnovana na vremenu",
"timezone": "Vremenska zona",
"to_archive": "Arhiviraj",
"to_change_password": "Promeni lozinku",
"to_favorite": "Postavi kao favorit",
"to_login": "Prijava",
+ "to_parent": "Vrati se nazad",
+ "to_root": "Na početak",
"to_trash": "Smeće",
"toggle_settings": "Namesti podešavanja",
- "toggle_theme": "Namesti teme",
+ "toggle_theme": "Namesti tamnu temu",
"toggle_visibility": "Namesti vidljivost",
"total_usage": "Ukupna upotreba",
"trash": "Otpad",
"trash_all": "Baci sve u otpad",
- "trash_count": "Otpad {count}",
+ "trash_count": "Otpad {count, number}",
"trash_delete_asset": "Otpad/Izbriši datoteku",
"trash_no_results_message": "Slike i video zapisi u otpadu će se pojaviti ovde.",
"trashed_items_will_be_permanently_deleted_after": "Datoteke u otpadu će biti trajno izbrisane nakon {days, plural, one {# dan} few {# dana} other {# dana}}.",
@@ -1233,9 +1325,11 @@
"unknown_album": "Nepoznat Album",
"unknown_year": "Nepoznata Godina",
"unlimited": "Neograničeno",
+ "unlink_motion_video": "Odveži video od slike",
"unlink_oauth": "Prekini vezu sa Oauth-om",
"unlinked_oauth_account": "Opozvana veza OAuth naloga",
"unnamed_album": "Neimenovani album",
+ "unnamed_album_delete_confirmation": "Da li ste sigurni da želite da izbrišete ovaj album?",
"unnamed_share": "Neimenovano delenje",
"unsaved_change": "Nesačuvana promena",
"unselect_all": "Poništi sve",
@@ -1249,7 +1343,7 @@
"upload": "Uploaduj",
"upload_concurrency": "Paralelno uploadovanje",
"upload_errors": "Otpremanje je završeno sa {count, plural, one {# greškom} other {# grešaka}}, osvežite stranicu da biste videli nove datoteke za otpremanje (upload).",
- "upload_progress": "Preostalo {remaining} – Obrađeno {processed}/{total}",
+ "upload_progress": "Preostalo {remaining, number} – Obrađeno {processed, number}/{total, number}",
"upload_skipped_duplicates": "Preskočeno {count, plural, one {# dupla datoteka} other {# duplih datoteka}}",
"upload_status_duplicates": "Duplikati",
"upload_status_errors": "Greške",
@@ -1275,6 +1369,8 @@
"version": "Verzija",
"version_announcement_closing": "Tvoj prijatelj, Aleks",
"version_announcement_message": "Zdravo prijatelju, postoji nova verzija aplikacije, molimo vas da odvojite vreme da posetite napomene o izdanju i uverite se u svoje docker-compose.yml
, i .env
podešavanje je ažurirano kako bi se sprečile bilo kakve pogrešne konfiguracije, posebno ako koristite WatchTower ili bilo koji mehanizam koji automatski upravlja ažuriranjem vaše aplikacije.",
+ "version_history": "Istorija verzija",
+ "version_history_item": "Instalirano {version} {date}",
"video": "Video zapis",
"video_hover_setting": "Pusti sličicu videa kada lebdi",
"video_hover_setting_description": "Pusti sličicu videa kada miš pređe preko stavke. Čak i kada je onemogućena, reprodukcija se može pokrenuti prelaskom miša preko ikone za reprodukciju.",
@@ -1284,6 +1380,7 @@
"view_album": "Pogledaj album",
"view_all": "Prikaži Sve",
"view_all_users": "Prikaži sve korisnike",
+ "view_in_timeline": "Prikaži u vremenskoj liniji",
"view_links": "Prikaži veze",
"view_next_asset": "Pogledajte sledeću datoteku",
"view_previous_asset": "Pogledaj prethodnu datoteku",
diff --git a/i18n/sv.json b/i18n/sv.json
new file mode 100644
index 0000000000..804ff50b2e
--- /dev/null
+++ b/i18n/sv.json
@@ -0,0 +1,1111 @@
+{
+ "about": "Om",
+ "account": "Konto",
+ "account_settings": "Kontoinställningar",
+ "acknowledge": "Bekräfta",
+ "action": "Åtgärd",
+ "actions": "Händelser",
+ "active": "Aktiva",
+ "activity": "Aktivitet",
+ "activity_changed": "Aktiviteten är {enabled, select, true {aktiverad} other {inaktiverad}}",
+ "add": "Lägg till",
+ "add_a_description": "Lägg till en beskrivning",
+ "add_a_location": "Lägg till en plats",
+ "add_a_name": "Lägg till ett namn",
+ "add_a_title": "Lägg till en titel",
+ "add_exclusion_pattern": "Lägg till uteslutningsmönster",
+ "add_import_path": "Lägg till importsökväg",
+ "add_location": "Lägg till plats",
+ "add_more_users": "Lägg till fler användare",
+ "add_partner": "Lägg till partner",
+ "add_path": "Lägg till sökväg",
+ "add_photos": "Lägg till foton",
+ "add_to": "Lägg till...",
+ "add_to_album": "Lägg till i album",
+ "add_to_shared_album": "Lägg till i delat album",
+ "added_to_archive": "Tillagd i arkiv",
+ "added_to_favorites": "Tillagd till favoriter",
+ "added_to_favorites_count": "{count, number} tillagda till favoriter",
+ "admin": {
+ "add_exclusion_pattern_description": "Lägg till exkluderande mönster. Matchning med jokertecken *, ** samt ? är supporterat. För att ignorera alla filer i samtliga mappar som heter \"Raw\", använd \"**/Raw/**\". För att ignorera alla filer som slutar med \".tif\", använd \"**/*.tif\". För att ignorera en absolut sökväg, använd \"/sökväg/att/ignorera/**\".",
+ "asset_offline_description": "Denna externa bibliotekstillgång finns inte längre på disken och har flyttats till papperskorgen. Om filen flyttades inom biblioteket, kontrollera din tidslinje för den nya motsvarande tillgången. För att återställa denna tillgång, se till att filsökvägen nedan kan nås av Immich och skanna biblioteket.",
+ "authentication_settings": "Autentiseringsinställningar",
+ "authentication_settings_description": "Hantera lösenord, OAuth, och andra autentiseringsinställningar",
+ "authentication_settings_disable_all": "Är du säker på att du vill inaktivera alla inloggningsmetoder? Inloggning kommer att helt inaktiveras.",
+ "authentication_settings_reenable": "För att återaktivera, använd Server Command.",
+ "background_task_job": "Bakgrundsaktiviteter",
+ "check_all": "Välj alla",
+ "cleared_jobs": "Rensade jobben för:{job}",
+ "config_set_by_file": "Konfigurationen är satt av en konfigurationsfil",
+ "confirm_delete_library": "Är du säker på att du vill radera {library} album?",
+ "confirm_delete_library_assets": "Är du säker på att du vill radera detta album? {count, plural, one {# objekt} other {Samtliga # objekt}} kommer att tas bort från Immich och åtgärden kan inte ångras. Filerna kommer att behållas på hårddisken.",
+ "confirm_email_below": "För att bekräfta, skriv ”{email}” nedan",
+ "confirm_reprocess_all_faces": "Är du säker på att du vill återprocessa alla ansikten? Detta kommer också rensa namngivna personer.",
+ "confirm_user_password_reset": "Är du säker på att du vill återställa {user}’s lösenord?",
+ "create_job": "Skapa jobb",
+ "crontab_guru": "Crontab-guru",
+ "disable_login": "Inaktivera inloggning",
+ "disabled": "Inaktiverad",
+ "duplicate_detection_job_description": "Kör maskininlärning på objekt för att upptäcka liknande bilder. Bygger på Smart Search",
+ "exclusion_pattern_description": "Exkluderingsmönster tillåter dig att ignorera filer och mappar när skanning görs av ditt album. Detta är användbart om du har mappar som innehåller filer som du inte vill importera, t.ex. RAW-filer.",
+ "external_library_created_at": "Externt bibliotek (skapat den {date})",
+ "external_library_management": "Hantera externa bibliotek",
+ "face_detection": "Ansiktsdetektering",
+ "face_detection_description": "Identifiera ansikten i foton med hjälp av maskininlärning. För videor används endast miniatyrbilden. \"Alla\" gör om sökningen för alla objekt. \"Saknade\" letar i de objekt som ännu inte sökts igenom. Alla ansikten som identifierats läggs sedan i jobbkön för ansiktsigenkänning där de mappas till nya eller befintliga personer.",
+ "facial_recognition_job_description": "Gruppera upptäckta ansikten till personer. Det här steget körs efter att ansiktsigenkänning är klar. \"Alla\" (åter-) grupperar alla ansikten. \"Saknade\" köer ansikten som inte har en person tilldelad.",
+ "failed_job_command": "Kommando {command} misslyckades för jobb: {job}",
+ "force_delete_user_warning": "VARNING: Detta tar omedelbart bort användaren och alla mediafiler. Detta kan inte ångras och filerna kan inte återställas.",
+ "forcing_refresh_library_files": "Tvingar uppdatering av alla biblioteksfiler",
+ "image_format": "Format",
+ "image_format_description": "WebP producerar mindre filer än JPEG, men kodas långsammare.",
+ "image_prefer_embedded_preview": "Föredra inbäddad förhandsgranskning",
+ "image_prefer_embedded_preview_setting_description": "Använd inbäddade förhandsvisningar i RAW-foton som indata till bildbehandling när det är tillgängligt. Detta kan ge mer exakta färger för vissa bilder, men kvaliteten på förhandsgranskningen är kameraberoende och bilden kan ha fler komprimeringsartefakter.",
+ "image_prefer_wide_gamut": "Föredrar brett spektrum",
+ "image_prefer_wide_gamut_setting_description": "Använd Display P3 för miniatyrer. Detta bevarar livfullheten bättre hos bilder med bred färgrymd, men bilder kan se annorlunda ut på gamla enheter med en gammal webbläsarversion. Med sRGB-bilder behålls i sitt format sRGB för att undvika färgskiftningar.",
+ "image_preview_description": "Mellanstor bild med avskalad metadata, används vid visning av en enskild tillgång och för maskininlärning",
+ "image_preview_format": "Förhandsgranskningsformat",
+ "image_preview_quality_description": "Förhandsgranska kvalitet från 1-100. Högre är bättre, men ger större filer och kan minska appens känslighet. Att ställa in ett lågt värde kan påverka kvaliteten på maskininlärning.",
+ "image_preview_resolution": "Förhandsgranska upplösning",
+ "image_preview_resolution_description": "Används vid visning av ett enstaka foto och för maskininlärning. Högre upplösningar kan bevara fler detaljer men tar längre tid att koda, har större filstorlekar och kan minska appens responsiva känsla.",
+ "image_preview_title": "Förhandsvisningsinställningar",
+ "image_quality": "Kvalitet",
+ "image_quality_description": "Bildkvalitet från 1-100. Högre är bättre för kvaliteten men ger större filer, det här alternativet påverkar förhandsgranskningen och miniatyrbilderna.",
+ "image_resolution": "Upplösning",
+ "image_resolution_description": "Högre upplösningar kan bevara fler detaljer men tar längre tid att koda, har större filstorlekar och kan minska appens känslighet.",
+ "image_settings": "Bildinställningar",
+ "image_settings_description": "Hantera kvalitet och upplösning på genererade bilder",
+ "image_thumbnail_description": "Liten miniatyrbild med avskalad metadata, används när du tittar på grupper av foton som huvudtidslinjen",
+ "image_thumbnail_format": "Miniatyrformat",
+ "image_thumbnail_quality_description": "Miniatyrkvalitet från 1-100. Högre är bättre, men ger större filer och kan minska appens känslighet.",
+ "image_thumbnail_resolution": "Miniatyrbildsupplösning",
+ "image_thumbnail_resolution_description": "Används när du tittar på grupper av foton (huvudtidslinje, albumvy, etc.). Högre upplösningar kan bevara fler detaljer men tar längre tid att koda, har större filstorlekar och kan minska appens responsiva känsla.",
+ "image_thumbnail_title": "Miniatyrbildsinställningar",
+ "job_concurrency": "{job} Samtidighet",
+ "job_created": "Jobb skapat",
+ "job_not_concurrency_safe": "Det här jobbet är inte samtidighetssäkert.",
+ "job_settings": "Jobbinställningar",
+ "job_settings_description": "Hantera samtidiga jobb",
+ "job_status": "Jobbstatus",
+ "jobs_delayed": "{jobCount, plural, other {# försenad}}",
+ "jobs_failed": "{jobCount, plural, other {# misslyckades}}",
+ "library_created": "Skapat bibliotek: {library}",
+ "library_cron_expression": "Cron-uttryck",
+ "library_cron_expression_description": "Ställ in intervallet för skanningen med cron-formatet. För mer information gå till t.ex. Crontab Guru ",
+ "library_cron_expression_presets": "Cron-uttrycksförinställningar",
+ "library_deleted": "Biblioteket har tagits bort",
+ "library_import_path_description": "Ange en mapp att importera. Den här mappen, inklusive undermappar, skannas efter bilder och videor.",
+ "library_scanning": "Periodisk skanning",
+ "library_scanning_description": "Konfigurera periodisk biblioteksskanning",
+ "library_scanning_enable_description": "Aktivera periodisk biblioteksskanning",
+ "library_settings": "Externa bibliotek",
+ "library_settings_description": "Hantera inställningar för externa bibliotek",
+ "library_tasks_description": "Kör biblioteksjobb",
+ "library_watching_enable_description": "Titta på externa bibliotek för filändringar",
+ "library_watching_settings": "Titta på bibliotek (EXPERIMENTELLT)",
+ "library_watching_settings_description": "Titta automatiskt efter ändrade filer",
+ "logging_enable_description": "Aktivera loggning",
+ "logging_level_description": "När aktiverad, vilken loggnivå som ska användas.",
+ "logging_settings": "Loggning",
+ "machine_learning_clip_model": "CLIP modell",
+ "machine_learning_clip_model_description": "Namnet på en CLIP-modell listad här . Observera att du måste köra ett \"Smart Search\" jobb för alla bilder när du ändrar en modell.",
+ "machine_learning_duplicate_detection": "Dubblettdetektering",
+ "machine_learning_duplicate_detection_enabled": "Aktivera dubblett detektion",
+ "machine_learning_duplicate_detection_enabled_description": "Om den inaktiveras kommer exakt identiska tillgångar fortfarande att dedupliceras.",
+ "machine_learning_duplicate_detection_setting_description": "Använd CLIP-inbäddningar för att hitta troliga dubbletter",
+ "machine_learning_enabled": "Aktivera maskininlärning",
+ "machine_learning_enabled_description": "Om det är inaktiverat kommer alla ML-funktioner att inaktiveras oavsett inställningarna nedan.",
+ "machine_learning_facial_recognition": "Ansiktsigenkänning",
+ "machine_learning_facial_recognition_description": "Upptäck, känna igen och gruppera ansikten i bilder",
+ "machine_learning_facial_recognition_model": "Ansiktsigenkänningsmodell",
+ "machine_learning_facial_recognition_model_description": "Modeller är listade i fallande storleksordning. Större modeller är långsammare och använder mer minne, men ger bättre resultat. Observera att du måste köra Face Detection-jobbet för alla bilder när du ändrar en modell.",
+ "machine_learning_facial_recognition_setting": "Aktivera ansiktsigenkänning",
+ "machine_learning_facial_recognition_setting_description": "Om avmarkerad kommer bilder inte att kodas till ansiktsigenkänningen vilket innebär att bilder inte kommer att läggas till i listan av igenkända personer på sidan Utforska.",
+ "machine_learning_max_detection_distance": "Maximal detektions avstånd",
+ "machine_learning_max_detection_distance_description": "Maximalt avstånd mellan två bilder för att överväga dem dubbletter, från 0,001-0,1. Högre värden kommer att upptäcka fler dubbletter, men kan leda till falsk positivt.",
+ "machine_learning_max_recognition_distance": "Maximalt igenkänningsavstånd",
+ "machine_learning_max_recognition_distance_description": "Det maximala avståndet mellan två ansikten för att anses som samma person, från 0-2. Sänkning av denna kan medföra märkning av två personer som samma person, samtidigt som det kan förhindra att märkning av samma person som två olika personer. Observera att det är lättare att slå samman två personer än att dela en person i två, så ligg hellre närmare den lägre tröskel om det är möjligt.",
+ "machine_learning_min_detection_score": "Minsta detektions poäng",
+ "machine_learning_min_detection_score_description": "Lägsta självsäkerhetsnivå för att en sida ska upptäckas mellan 0-1. Lägre värden upptäcker fler sidor men kan resultera i falska positiv.",
+ "machine_learning_min_recognized_faces": "Minsta identifierade ansikten",
+ "machine_learning_min_recognized_faces_description": "Minsta antal identifierade ansikten för att en person ska kunna skapas. Om detta ökas blir ansiktsigenkänningen mer exakt, men risken för att ett ansikte inte kopplas till en person ökar.",
+ "machine_learning_settings": "Inställningar För Maskininlärning",
+ "machine_learning_settings_description": "Hantera funktioner och inställningar för maskininlärning",
+ "machine_learning_smart_search": "Smart Sökning",
+ "machine_learning_smart_search_description": "Sök semantiskt efter bilder med hjälp av CLIP-inbäddningar",
+ "machine_learning_smart_search_enabled": "Aktivera smart sökning",
+ "machine_learning_smart_search_enabled_description": "Om inaktiverat kommer bilder inte att kodas för smart sökning.",
+ "machine_learning_url_description": "Maskininlärningsserverns URL",
+ "manage_concurrency": "Hantera samtidighet",
+ "manage_log_settings": "Hantera logginställningar",
+ "map_dark_style": "Mörk stil",
+ "map_enable_description": "Aktivera kartfunktioner",
+ "map_gps_settings": "Karta & GPS Inställningar",
+ "map_gps_settings_description": "Ändra kartor & GPS (Omvänd geokodning) inställningar",
+ "map_implications": "Kartfunktionen är beroende av en extern kartbitstjänst (tiles.immich.cloud)",
+ "map_light_style": "Ljus stil",
+ "map_manage_reverse_geocoding_settings": "Hantera inställningar för Omvänd geokodning",
+ "map_reverse_geocoding": "Omvänd Geokodning",
+ "map_reverse_geocoding_enable_description": "Aktivera omvänd geokodning",
+ "map_reverse_geocoding_settings": "Inställningar för omvänd geokodning",
+ "map_settings": "Karta",
+ "map_settings_description": "Hantera kartinställningar",
+ "map_style_description": "URL till en style.json-karto tema",
+ "metadata_extraction_job": "Extrahera metadata",
+ "metadata_extraction_job_description": "Läs in metadata (t.ex. GPS, ansikten och upplösning) för varje resurs",
+ "metadata_faces_import_setting": "Aktivera import av ansikten",
+ "metadata_faces_import_setting_description": "Importera ansikten från bildens EXIF-data och sidecar-fil",
+ "metadata_settings": "Metadata-inställningar",
+ "metadata_settings_description": "Hantera metadata-inställningar",
+ "migration_job": "Migrering",
+ "migration_job_description": "Migrera miniatyrbilder för resurser och ansikten till den senaste mappstrukturen",
+ "no_paths_added": "Inga vägar tillagda",
+ "no_pattern_added": "Inga mönster tillagda",
+ "note_apply_storage_label_previous_assets": "Obs: Om du vill använda lagringsetiketten på tidigare uppladdade tillgångar kör du",
+ "note_cannot_be_changed_later": "OBS: Detta kan inte ändras i efterhand!",
+ "note_unlimited_quota": "OBS: Skriv 0 för obegränsad kvota",
+ "notification_email_from_address": "Från adress",
+ "notification_email_from_address_description": "Avsändarens epost, t.ex.: \"Immich Fotoserver {label}
är användarens lagringsmärkning",
+ "system_settings": "Systeminställningar",
+ "tag_cleanup_job": "Markera för rensning",
+ "theme_custom_css_settings": "Anpassad CSS",
+ "theme_custom_css_settings_description": "Cascading Style Sheets möjliggör designanpassningar av Immich",
+ "theme_settings": "Temainställningar",
+ "theme_settings_description": "Hantera anpassningar av webbgränssnittet för Immich",
+ "these_files_matched_by_checksum": "Dessa filer matchas av deras kontrollsummor",
+ "thumbnail_generation_job": "Generera Miniatyrer",
+ "thumbnail_generation_job_description": "Generera stora, små och suddiga miniatyrer för varje objekt, samt för varje person",
+ "transcode_policy_description": "",
+ "transcoding_acceleration_api": "Accelerations-API",
+ "transcoding_acceleration_api_description": "API som kommer att interagera med din enhet för att accelerera omkodning. Inställning är 'best effort': vid fel kommer den att återgå till mjukvarubaserad omkodning. VP9 kan fungera eller inte, beroende på din hårdvara.",
+ "transcoding_acceleration_nvenc": "NVENC (kräver NVIDIA GPU)",
+ "transcoding_acceleration_qsv": "Quick Sync (kräver 7 generationens Intel CPU eller senare)",
+ "transcoding_acceleration_rkmpp": "RKMPP (bara med Rockchip SOCs)",
+ "transcoding_acceleration_vaapi": "VAAPI",
+ "transcoding_accepted_audio_codecs": "Accepterade ljud-codecs",
+ "transcoding_accepted_audio_codecs_description": "Välj vilka ljud-codecs som inte behöver omkodas. Används endast för vissa omkodningspolicyer.",
+ "transcoding_accepted_containers": "Accepterade behållare",
+ "transcoding_accepted_containers_description": "Välj vilka kontainerformat som inte behöver remuxas till MP4. Endast används för vissa transcoding-politischer.",
+ "transcoding_accepted_video_codecs": "Accepterade video-codecs",
+ "transcoding_accepted_video_codecs_description": "Välj vilka video-codecs som inte behöver omkodas. Används endast för vissa omkodningspolicyer.",
+ "transcoding_advanced_options_description": "Val som de flesta användare inte bör behöva ändra",
+ "transcoding_audio_codec": "Ljud-codec",
+ "transcoding_audio_codec_description": "Opus är bästa kvalitetsvalet, men är inte lika kompatibelt med äldre enheter eller mjukvara.",
+ "transcoding_bitrate_description": "Videor som är i högre än max bithastighet eller inte i ett accepterat format",
+ "transcoding_codecs_learn_more": "För att läsa mer om terminologin här se FFmpeg-dokumentationen för {label}
kullanıcını dosyaları için kullanılan alt klasördür",
"system_settings": "Sistem Ayarları",
+ "tag_cleanup_job": "Etiket temizleme",
"theme_custom_css_settings": "Özel CSS",
"theme_custom_css_settings_description": "CSS (Cascading Style Sheets) kullanılarak Immich'in tasarımı değiştirilebilir.",
"theme_settings": "Tema ayarları",
@@ -257,47 +278,47 @@
"transcoding_bitrate_description": "Videolar maksimum bir oranından yürksek ya da kabul edilir bir formatta değil",
"transcoding_codecs_learn_more": "Buradaki terminolojiyi öğrenmek için FFmpeg dokümantasyonlarına bakabilirsiniz: {label}
- це мітка зберігання користувача",
"system_settings": "Системні налаштування",
+ "tag_cleanup_job": "Очистити тег",
"theme_custom_css_settings": "Власний CSS",
"theme_custom_css_settings_description": "Каскадні таблиці стилів дозволяють настроювати дизайн Immich.",
"theme_settings": "Налаштування теми",
"theme_settings_description": "Налаштування персоналізації веб-інтерфейсу Immich",
"these_files_matched_by_checksum": "Ці файли відповідають своїм контрольним сумам",
"thumbnail_generation_job": "Створення мініатюр",
- "thumbnail_generation_job_description": "Створити великі, малі та розмиті ескізи для кожного ресурсу, а також ескізи для кожної особи",
+ "thumbnail_generation_job_description": "Створити великі, малі та розмиті мініатюри для кожного ресурсу, а також мініатюри для кожної особи",
"transcode_policy_description": "",
"transcoding_acceleration_api": "API прискорення",
"transcoding_acceleration_api_description": "API, яка буде взаємодіяти з вашим пристроєм для прискорення транскодування. Ця настройка працює у \"найкращих умовах\" і, в разі невдачі, перейде на програмне транскодування. Підтримка VP9 може або не може працювати, залежно від вашого обладнання.",
@@ -266,7 +287,7 @@
"transcoding_hardware_acceleration": "Апаратне прискорення",
"transcoding_hardware_acceleration_description": "Експериментальний режим: значно швидший, але при однаковому бітрейті може мати меншу якість",
"transcoding_hardware_decoding": "Апаратне декодування",
- "transcoding_hardware_decoding_setting_description": "Застосовується тільки до NVENC, QSV і RKMPP. Вмикає наскрізне прискорення на заміну лише прискорення кодування. Може працювати не з усіма відео.",
+ "transcoding_hardware_decoding_setting_description": "Увімкнення наскрізного прискорення замість прискорення лише кодування. Може не працювати для всіх відео.",
"transcoding_hevc_codec": "Кодек HEVC",
"transcoding_max_b_frames": "Максимальна кількість проміжних кадрів",
"transcoding_max_b_frames_description": "Вищі значення покращують ефективність стиснення, але збільшують час кодування. Можуть бути несумісні з апаратним прискоренням на старих пристроях. Значення 0 вимикає B-фрейми, а -1 автоматично налаштовує це значення.",
@@ -278,11 +299,11 @@
"transcoding_preferred_hardware_device": "Переважний апаратний пристрій",
"transcoding_preferred_hardware_device_description": "Застосовується тільки до VAAPI і QSV. Встановлює вузол DRI, який використовується для апаратного транскодування.",
"transcoding_preset_preset": "Параметр (-preset)",
- "transcoding_preset_preset_description": "Швидкість стиснення. Повільніше предустановки створюють менші файли і підвищують якість при встановленні певного бітрейту. VP9 ігнорує швидкості вище `faster`.",
+ "transcoding_preset_preset_description": "Швидкість стиснення. Повільніші пресети створюють менші файли і підвищують якість при певному бітрейті. VP9 ігнорує швидкості вище 'швидше'.",
"transcoding_reference_frames": "Основні кадри",
"transcoding_reference_frames_description": "Кількість кадрів, на які посилається при стисненні даного кадру. Вищі значення покращують ефективність стиснення, але збільшують час кодування. Значення 0 автоматично налаштовує це значення.",
"transcoding_required_description": "Лише відео, що не у прийнятому форматі",
- "transcoding_settings": "Налаштування Транскодування Відео",
+ "transcoding_settings": "Налаштування транскодування відео",
"transcoding_settings_description": "Керування роздільною здатністю та кодуванням відеофайлів",
"transcoding_target_resolution": "Роздільна здатність",
"transcoding_target_resolution_description": "Вищі роздільні здатності можуть зберігати більше деталей, але займають більше часу на кодування, мають більші розміри файлів і можуть зменшити швидкість роботи додатку.",
@@ -307,12 +328,13 @@
"trash_settings_description": "Керування налаштуваннями кошика",
"untracked_files": "Невідстежувані файли",
"untracked_files_description": "Ці файли не відстежуються програмою. Вони можуть бути результатом невдалого переміщення, перерваного завантаження або залишитися через помилку програми",
+ "user_cleanup_job": "Очищення користувача",
"user_delete_delay": "Акаунт {user} і його ресурси будуть заплановані для остаточного видалення через {delay, plural, one {# день} few {# дні} many {# днів} other {# днів}}.",
"user_delete_delay_settings": "Видалити затримку",
"user_delete_delay_settings_description": "Кількість днів після видалення для остаточного видалення акаунта користувача та його ресурсів. Задача видалення користувача запускається опівночі для перевірки користувачів, готових до видалення. Зміни цього налаштування будуть оцінені під час наступного виконання.",
"user_delete_immediately": "Акаунт та ресурси користувача {user} будуть негайно поставлені в чергу на остаточне видалення.",
"user_delete_immediately_checkbox": "Поставити користувача та ресурси в чергу для негайного видалення",
- "user_management": "Управління користувачами",
+ "user_management": "Керування користувачами",
"user_password_has_been_reset": "Пароль користувача було скинуто:",
"user_password_reset_description": "Будь ласка, надайте користувачеві тимчасовий пароль і повідомте йому, що він повинен буде змінити пароль при наступному вході.",
"user_restore_description": "Акаунт {user} буде відновлено.",
@@ -320,7 +342,8 @@
"user_settings": "Налаштування користувача",
"user_settings_description": "Керування налаштуваннями користувачів",
"user_successfully_removed": "Користувача з електронною поштою {email} успішно видалено.",
- "version_check_enabled_description": "Увімкнення періодичних запитів до GitHub для перевірки нових випусків",
+ "version_check_enabled_description": "Увімкнути перевірку версії",
+ "version_check_implications": "Функція перевірки версії залежить від періодичної комунікації з github.com",
"version_check_settings": "Перевірка версії",
"version_check_settings_description": "Увімкнути/вимкнути сповіщення про нову версію",
"video_conversion_job": "Перекодувати відео",
@@ -336,7 +359,8 @@
"album_added": "Альбом додано",
"album_added_notification_setting_description": "Отримувати повідомлення по електронній пошті, коли вас додають до спільного альбому",
"album_cover_updated": "Обкладинка альбому оновлена",
- "album_delete_confirmation": "Ви впевнені, що хочете видалити альбом {album}?\nЯкщо цей альбом є спільним, інші користувачі більше не зможуть отримувати до нього доступ.",
+ "album_delete_confirmation": "Ви впевнені, що хочете видалити альбом {album}?",
+ "album_delete_confirmation_description": "Якщо альбом був спільним, інші користувачі не зможуть отримати доступ до нього.",
"album_info_updated": "Інформація про альбом оновлена",
"album_leave": "Залишити альбом?",
"album_leave_confirmation": "Ви впевнені, що хочете залишити альбом {album}?",
@@ -360,6 +384,7 @@
"allow_edits": "Дозволити редагування",
"allow_public_user_to_download": "Дозволити публічному користувачеві завантажувати файли",
"allow_public_user_to_upload": "Дозволити публічним користувачам завантажувати",
+ "anti_clockwise": "Проти годинникової стрілки",
"api_key": "Ключ API",
"api_key_description": "Це значення буде показане лише один раз. Будь ласка, обов'язково скопіюйте його перед закриттям вікна.",
"api_key_empty": "Назва вашого ключа API не може бути порожньою",
@@ -381,8 +406,9 @@
"asset_has_unassigned_faces": "Є нерозпізнані обличчя",
"asset_hashing": "Хешування...",
"asset_offline": "Актив вимкнено",
- "asset_offline_description": "Цей ресурс відключений. Immich не може отримати доступ до його місцезнаходження файлів. Будь ласка, переконайтеся, що ресурс доступний, а потім знову проскануйте бібліотеку.",
+ "asset_offline_description": "Цей зовнішній актив більше не знайдено на диску. Будь ласка, зверніться до адміністратора Immich за допомогою.",
"asset_skipped": "Пропущено",
+ "asset_skipped_in_trash": "У смітнику",
"asset_uploaded": "Завантажено",
"asset_uploading": "Завантаження...",
"assets": "елементи",
@@ -393,7 +419,7 @@
"assets_moved_to_trash_count": "Переміщено {count, plural, one {# ресурс} few {# ресурси} other {# ресурсів}} у кошик",
"assets_permanently_deleted_count": "Остаточно видалено {count, plural, one {# ресурс} few {# ресурси} other {# ресурсів}}",
"assets_removed_count": "Вилучено {count, plural, one {# ресурс} few {# ресурси} other {# ресурсів}}",
- "assets_restore_confirmation": "Ви впевнені, що хочете відновити всі видалені ресурси? Цю дію не можна скасувати!",
+ "assets_restore_confirmation": "Ви впевнені, що хочете відновити всі свої активи з кошика? Цю дію не можна скасувати! Зверніть увагу, що будь-які офлайн-активи не можуть бути відновлені таким чином.",
"assets_restored_count": "Відновлено {count, plural, one {# ресурс} few {# ресурси} other {# ресурсів}}",
"assets_trashed_count": "Поміщено в кошик {count, plural, one {# ресурс} few {# ресурси} other {# ресурсів}}",
"assets_were_part_of_album_count": "{count, plural, one {Ресурс був} few {Ресурси були} other {Ресурси були}} вже частиною альбому",
@@ -404,12 +430,13 @@
"birthdate_saved": "Дата народження успішно збережена",
"birthdate_set_description": "Дата народження використовується для обчислення віку цієї особи на момент фотографії.",
"blurred_background": "Розмитий фон",
+ "bugs_and_feature_requests": "Помилки та запити на функції",
"build": "Збірка",
"build_image": "Створити зображення",
"bulk_delete_duplicates_confirmation": "Ви впевнені, що хочете масово видалити {count, plural, one {# дубльований ресурс} few {# дубльовані ресурси} other {# дубльованих ресурсів}}? Це дія залишить найбільший ресурс у кожній групі і остаточно видалить всі інші дублікати. Цю дію неможливо скасувати!",
"bulk_keep_duplicates_confirmation": "Ви впевнені, що хочете залишити {count, plural, one {# дубльований ресурс} few {# дубльовані ресурси} other {# дубльованих ресурсів}}? Це дозволить вирішити всі групи дублікатів без видалення чого-небудь.",
"bulk_trash_duplicates_confirmation": "Ви впевнені, що хочете викинути в кошик {count, plural, one {# дубльований ресурс} few {# дубльовані ресурси} other {# дубльованих ресурсів}} масово? Це залишить найбільший ресурс у кожній групі і викине в кошик всі інші дублікати.",
- "buy": "Ліцензія на придбання",
+ "buy": "Придбайте Immich",
"camera": "Камера",
"camera_brand": "Марка камери",
"camera_model": "Модель камери",
@@ -440,9 +467,11 @@
"clear_all_recent_searches": "Очистити всі останні пошукові запити",
"clear_message": "Очистити повідомлення",
"clear_value": "Очистити значення",
+ "clockwise": "По годинниковій стрілці",
"close": "Закрити",
"collapse": "Згорнути",
"collapse_all": "Згорнути все",
+ "color": "Колір",
"color_theme": "Кольорова тема",
"comment_deleted": "Коментар видалено",
"comment_options": "Параметри коментарів",
@@ -476,6 +505,8 @@
"create_new_person": "Створити нову особу",
"create_new_person_hint": "Призначити обраним активам нову особу",
"create_new_user": "Створити нового користувача",
+ "create_tag": "Створити тег",
+ "create_tag_description": "Створити новий тег. Для вкладених тегів вкажіть повний шлях тега, включаючи слеші.",
"create_user": "Створити користувача",
"created": "Створено",
"current_device": "Поточний пристрій",
@@ -499,13 +530,17 @@
"delete_library": "Видалити бібліотеку",
"delete_link": "Видалити посилання",
"delete_shared_link": "Видалити спільне посилання",
+ "delete_tag": "Видалити тег",
+ "delete_tag_confirmation_prompt": "Ви впевнені, що хочете видалити тег {tagName}?",
"delete_user": "Видалити користувача",
"deleted_shared_link": "Видалено загальне посилання",
+ "deletes_missing_assets": "Видаляє активи, які відсутні на диску",
"description": "Опис",
"details": "ПОДРОБИЦІ",
"direction": "Напрям",
"disabled": "Вимкнено",
"disallow_edits": "Заборонити редагування",
+ "discord": "Discord",
"discover": "Виявити",
"dismiss_all_errors": "Пропустити всі помилки",
"dismiss_error": "Пропустити помилку",
@@ -514,8 +549,11 @@
"display_original_photos": "Відображення оригінальних фотографій",
"display_original_photos_setting_description": "Перевага відображення оригінального фото при перегляді ресурсу, якщо оригінальний ресурс сумісний з вебом. Це може призвести до повільнішого відображення фотографій.",
"do_not_show_again": "Не показувати це повідомлення знову",
+ "documentation": "Документація",
"done": "Готово",
"download": "Скачати",
+ "download_include_embedded_motion_videos": "Вбудовані відео",
+ "download_include_embedded_motion_videos_description": "Включати відео, вбудовані в рухомі фотографії, як окремий файл",
"download_settings": "Скачати",
"download_settings_description": "Керування налаштуваннями, пов'язаними з завантаженням ресурсів",
"downloading": "Скачування",
@@ -545,10 +583,15 @@
"edit_location": "Редагувати місцезнаходження",
"edit_name": "Відредагувати ім'я",
"edit_people": "Редагувати людей",
+ "edit_tag": "Редагувати тег",
"edit_title": "Редагувати заголовок",
"edit_user": "Редагувати користувача",
"edited": "Відредаговано",
- "editor": "",
+ "editor": "Редактор",
+ "editor_close_without_save_prompt": "Зміни не будуть збережені",
+ "editor_close_without_save_title": "Закрити редактор?",
+ "editor_crop_tool_h2_aspect_ratios": "Пропорції зображення",
+ "editor_crop_tool_h2_rotation": "Орієнтація",
"email": "Електронна пошта",
"empty": "",
"empty_album": "",
@@ -588,6 +631,7 @@
"failed_to_load_asset": "Не вдалося завантажити ресурс",
"failed_to_load_assets": "Не вдалося завантажити ресурси",
"failed_to_load_people": "Не вдалося завантажити людей",
+ "failed_to_remove_product_key": "Не вдалося видалити ключ продукту",
"failed_to_stack_assets": "Не вдалося згорнути ресурси",
"failed_to_unstack_assets": "Не вдалося розгорнути ресурси",
"import_path_already_exists": "Цей шлях імпорту вже існує.",
@@ -637,6 +681,7 @@
"unable_to_get_comments_number": "Не вдалося отримати кількість коментарів",
"unable_to_get_shared_link": "Не вдалося отримати спільне посилання",
"unable_to_hide_person": "Неможливо приховати людину",
+ "unable_to_link_motion_video": "Не вдається зв'язати рухоме відео",
"unable_to_link_oauth_account": "Не вдається прив'язати обліковий запис OAuth",
"unable_to_load_album": "Неможливо завантажити альбом",
"unable_to_load_asset_activity": "Неможливо завантажити активність активу",
@@ -653,8 +698,8 @@
"unable_to_remove_api_key": "Не вдається видалити ключ API",
"unable_to_remove_assets_from_shared_link": "Не вдається видалити ресурси зі спільного посилання",
"unable_to_remove_comment": "",
+ "unable_to_remove_deleted_assets": "Неможливо видалити автономні файли",
"unable_to_remove_library": "Не вдається видалити бібліотеку",
- "unable_to_remove_offline_files": "Неможливо видалити автономні файли",
"unable_to_remove_partner": "Не вдається видалити партнера",
"unable_to_remove_reaction": "Не вдалося видалити реакцію",
"unable_to_remove_user": "",
@@ -677,6 +722,7 @@
"unable_to_submit_job": "Не вдалося відправити завдання",
"unable_to_trash_asset": "Неможливо вилучити актив",
"unable_to_unlink_account": "Не вдається відв'язати обліковий запис",
+ "unable_to_unlink_motion_video": "Не вдається від'єднати рухоме відео",
"unable_to_update_album_cover": "Неможливо оновити обкладинку альбому",
"unable_to_update_album_info": "Неможливо оновити інформацію про альбом",
"unable_to_update_library": "Не вдалося оновити бібліотеку",
@@ -697,6 +743,7 @@
"expired": "Закінчився термін дії",
"expires_date": "Термін дії закінчується {date}",
"explore": "Дослідити",
+ "explorer": "Провідник",
"export": "Експортувати",
"export_as_json": "Експорт в JSON",
"extension": "Розширення",
@@ -710,6 +757,8 @@
"feature": "",
"feature_photo_updated": "Вибране фото оновлено",
"featurecollection": "",
+ "features": "Додаткові можливості",
+ "features_setting_description": "Керування додатковими можливостями додатка",
"file_name": "Ім'я файлу",
"file_name_or_extension": "Ім'я файлу або розширення",
"filename": "Ім'я файлу",
@@ -718,6 +767,8 @@
"filter_people": "Фільтр по людях",
"find_them_fast": "Швидко знаходьте їх за назвою за допомогою пошуку",
"fix_incorrect_match": "Виправити неправильний збіг",
+ "folders": "Папки",
+ "folders_feature_description": "Перегляд перегляду папок для фотографій і відео у файловій системі",
"force_re-scan_library_files": "Примусово пересканувати всі файли бібліотеки",
"forward": "Переслати",
"general": "Загальні",
@@ -741,7 +792,16 @@
"host": "Хост",
"hour": "Година",
"image": "Зображення",
- "image_alt_text_date": "{date}",
+ "image_alt_text_date": "{isVideo, select, true {Відео} other {Зображення}} знято {date}",
+ "image_alt_text_date_1_person": "{isVideo, select, true {Відео} other {Зображення}} з {person1} зроблено {date}",
+ "image_alt_text_date_2_people": "{isVideo, select, true {Відео} other {Зображення}} з {person1} та {person2} зроблено {date}",
+ "image_alt_text_date_3_people": "{isVideo, select, true {Відео} other {Зображення}} з {person1}, {person2} і {person3} зроблено {date}",
+ "image_alt_text_date_4_or_more_people": "{isVideo, select, true {Відео} other {Зображення}} з {person1}, {person2} та ще {additionalCount, number} особами зроблено {date}",
+ "image_alt_text_date_place": "{isVideo, select, true {Відео} other {Зображення}} зроблено в {city}, {country} {date}",
+ "image_alt_text_date_place_1_person": "{isVideo, select, true {Відео} other {Зображення}} зроблено в {city}, {country} з {person1} {date}",
+ "image_alt_text_date_place_2_people": "{isVideo, select, true {Відео} other {Зображення}} зроблено в {city}, {country} з {person1} та {person2} {date}",
+ "image_alt_text_date_place_3_people": "{isVideo, select, true {Відео} other {Зображення}} зроблено в {city}, {country} з {person1}, {person2} та {person3} {date}",
+ "image_alt_text_date_place_4_or_more_people": "{isVideo, select, true {Відео} other {Зображення}} зроблено в {city}, {country} з {person1}, {person2} та ще {additionalCount, number} особами {date}",
"image_alt_text_people": "{count, plural, =1 {з {person1}} =2 {з {person1} та {person2}} =3 {з {person1}, {person2}, та {person3}} other {з {person1}, {person2}, та {others, number} ін.}}",
"image_alt_text_place": "у {city}, {country}",
"image_taken": "{isVideo, select, true {Зняте відео} other {Зроблений знімок}}",
@@ -808,6 +868,7 @@
"license_trial_info_4": "Будь ласка, розгляньте можливість придбання ліцензії для підтримки подальшого розвитку сервісу",
"light": "Світла",
"like_deleted": "Лайк видалено",
+ "link_motion_video": "Посилання на рухоме відео",
"link_options": "Налаштування посилання",
"link_to_oauth": "Приєднання до OAuth",
"linked_oauth_account": "Приєднаний акаунт OAuth",
@@ -826,6 +887,7 @@
"look": "Дивитися",
"loop_videos": "Циклічні відео",
"loop_videos_description": "Увімкнути циклічне відтворення відео.",
+ "main_branch_warning": "Ви використовуєте версію для розробників; ми настійно рекомендуємо використовувати релізну версію!",
"make": "Виробник",
"manage_shared_links": "Керування спільними посиланнями",
"manage_sharing_with_partners": "Керуйте спільним використанням з партнерами",
@@ -862,6 +924,7 @@
"name": "Ім'я",
"name_or_nickname": "Ім'я або псевдонім",
"never": "ніколи",
+ "new_album": "Новий альбом",
"new_api_key": "Новий ключ API",
"new_password": "Новий пароль",
"new_person": "Нова людина",
@@ -894,18 +957,21 @@
"notifications": "Сповіщення",
"notifications_setting_description": "Керування сповіщеннями",
"oauth": "OAuth",
+ "official_immich_resources": "Офіційні ресурси Immich",
"offline": "Офлайн",
"offline_paths": "Недоступні шляхи",
"offline_paths_description": "Ці результати можуть бути пов'язані з ручним видаленням файлів, які не є частиною зовнішньої бібліотеки.",
"ok": "ОК",
"oldest_first": "Спочатку найстарші",
"onboarding": "Введення",
+ "onboarding_privacy_description": "Наступні (необов'язкові) функції залежать від зовнішніх сервісів і можуть бути вимкнені в будь-який час у налаштуваннях адміністрації.",
"onboarding_theme_description": "Виберіть колірну тему для свого екземпляра. Ви можете змінити її пізніше в налаштуваннях.",
"onboarding_welcome_description": "Давайте налаштуємо ваш екземпляр за допомогою деяких загальних параметрів.",
"onboarding_welcome_user": "Ласкаво просимо, {user}",
"online": "Доступний",
"only_favorites": "Лише обрані",
"only_refreshes_modified_files": "Оновлює лише змінені файли",
+ "open_in_map_view": "Відкрити у перегляді мапи",
"open_in_openstreetmap": "Відкрити в OpenStreetMap",
"open_the_search_filters": "Відкрийте фільтри пошуку",
"options": "Налаштування",
@@ -915,7 +981,7 @@
"other": "Інше",
"other_devices": "Інші пристрої",
"other_variables": "Інші змінні",
- "owned": "У власності",
+ "owned": "Власні",
"owner": "Власник",
"partner": "Партнер",
"partner_can_access": "{partner} має доступ",
@@ -940,6 +1006,7 @@
"pending": "На розгляді",
"people": "Люди",
"people_edits_count": "Відредаговано {count, plural, one {# особу} few {# особи} many {# осіб} other {# людей}}",
+ "people_feature_description": "Перегляд фотографій і відео, згрупованих за людьми",
"people_sidebar_description": "Відображення посилання на людей у бічній панелі",
"perform_library_tasks": "",
"permanent_deletion_warning": "Попередження про видалення",
@@ -971,11 +1038,48 @@
"previous_memory": "Попередній спогад",
"previous_or_next_photo": "Попередня або наступна фотографія",
"primary": "Головне",
+ "privacy": "Конфіденційність",
"profile_image_of_user": "Зображення профілю {user}",
"profile_picture_set": "Зображення профілю встановлено.",
"public_album": "Публічний альбом",
"public_share": "Публічний доступ",
+ "purchase_account_info": "Підтримка",
+ "purchase_activated_subtitle": "Дякуємо за підтримку Immich та програмного забезпечення з відкритим кодом",
+ "purchase_activated_time": "Активовано {date, date}",
+ "purchase_activated_title": "Ваш ключ було успішно активовано",
+ "purchase_button_activate": "Активувати",
+ "purchase_button_buy": "Купити",
+ "purchase_button_buy_immich": "Купити Immich",
+ "purchase_button_never_show_again": "Ніколи більше не показувати",
+ "purchase_button_reminder": "Нагадати через 30 днів",
+ "purchase_button_remove_key": "Видалити ключ",
+ "purchase_button_select": "Обрати",
+ "purchase_failed_activation": "Не вдалося активувати! Будь ласка, перевірте свою електронну пошту для отримання правильного ключа продукту!",
+ "purchase_individual_description_1": "Для індивідуального використання",
+ "purchase_individual_description_2": "Статус підтримки",
+ "purchase_individual_title": "Індивідуальний",
+ "purchase_input_suggestion": "Маєте ключ продукту? Введіть ключ нижче",
+ "purchase_license_subtitle": "Купіть Immich, щоб підтримати подальший розвиток сервісу",
+ "purchase_lifetime_description": "Назавжди",
+ "purchase_option_title": "ВАРІАНТИ КУПІВЛІ",
+ "purchase_panel_info_1": "Розробка Immich вимагає багато часу та зусиль. Ми маємо штатних інженерів, які працюють над тим, щоб зробити його якомога кращим. Наша місія — зробити програмне забезпечення з відкритим кодом та етичні бізнес-практики стійким джерелом доходу для розробників і створити екосистему, що поважає приватність, з реальними альтернативами експлуататорським хмарним сервісам.",
+ "purchase_panel_info_2": "Оскільки ми зобов'язалися не додавати платних блокувань, ця покупка не надасть вам додаткових функцій у Immich. Ми покладаємося на користувачів, таких як ви, щоб підтримувати постійний розвиток Immich.",
+ "purchase_panel_title": "Підтримати проєкт",
+ "purchase_per_server": "На сервер",
+ "purchase_per_user": "На користувача",
+ "purchase_remove_product_key": "Видалити ключ продукту",
+ "purchase_remove_product_key_prompt": "Ви впевнені, що хочете видалити ключ продукту?",
+ "purchase_remove_server_product_key": "Видалити ключ продукту для сервера",
+ "purchase_remove_server_product_key_prompt": "Ви впевнені, що хочете видалити ключ продукту для сервера?",
+ "purchase_server_description_1": "Для всього сервера",
+ "purchase_server_description_2": "Статус підтримки",
+ "purchase_server_title": "Сервер",
+ "purchase_settings_server_activated": "Ключ продукту сервера керується адміністратором",
"range": "",
+ "rating": "Зоряний рейтинг",
+ "rating_clear": "Очистити рейтинг",
+ "rating_count": "{count, plural, one {# зірка} few {# зірки} many {# зірок} other {# зірок}}",
+ "rating_description": "Показувати рейтинг EXIF на інформаційній панелі",
"raw": "",
"reaction_options": "Опції реакції",
"read_changelog": "Прочитати зміни в оновленні",
@@ -987,11 +1091,13 @@
"recent_searches": "Нещодавні пошукові запити",
"refresh": "Оновити",
"refresh_encoded_videos": "Оновити закодовані відео",
+ "refresh_faces": "Оновити обличчя",
"refresh_metadata": "Оновити метадані",
"refresh_thumbnails": "Оновити мініатюри",
"refreshed": "Оновлений",
- "refreshes_every_file": "Оновлює кожен файл",
+ "refreshes_every_file": "Повторно читає всі існуючі та нові файли",
"refreshing_encoded_video": "Оновлення закодованого відео",
+ "refreshing_faces": "Оновлення облич",
"refreshing_metadata": "Оновлення метаданих",
"regenerating_thumbnails": "Відновлення мініатюр",
"remove": "Вилучити",
@@ -999,15 +1105,16 @@
"remove_assets_shared_link_confirmation": "Ви впевнені, що хочете видалити {count, plural, one {# ресурс} few {# ресурси} many {# ресурсів} other {# ресурсів}} з цього спільного посилання?",
"remove_assets_title": "Видалити об'єкти?",
"remove_custom_date_range": "Видалити користувацький діапазон дат",
+ "remove_deleted_assets": "Видалення автономних файлів",
"remove_from_album": "Видалити з альбому",
"remove_from_favorites": "Видалити з обраного",
"remove_from_shared_link": "Видалити зі спільного посилання",
- "remove_offline_files": "Видалення автономних файлів",
"remove_user": "Видалити користувача",
"removed_api_key": "Видалено ключ API: {name}",
"removed_from_archive": "Видалено з архіву",
"removed_from_favorites": "Видалено з обраного",
"removed_from_favorites_count": "{count, plural, other {Видалено #}} з обраних",
+ "removed_tagged_assets": "Видалено тег із {count, plural, one {# активу} other {# активів}}",
"rename": "Перейменувати",
"repair": "Ремонт",
"repair_no_results_message": "Невідстежувані та відсутні файли будуть відображені тут",
@@ -1020,6 +1127,7 @@
"reset_people_visibility": "Відновити видимість людей",
"reset_settings_to_default": "",
"reset_to_default": "Скидання до налаштувань за замовчуванням",
+ "resolve_duplicates": "Усунути дублікати",
"resolved_all_duplicates": "Усі дублікати усунуто",
"restore": "Відновити",
"restore_all": "Відновити все",
@@ -1038,6 +1146,7 @@
"say_something": "Скажіть що-небудь",
"scan_all_libraries": "Сканувати всі бібліотеки",
"scan_all_library_files": "Повторне сканування всіх файлів бібліотеки",
+ "scan_library": "Сканувати",
"scan_new_library_files": "Сканування нових файлів бібліотеки",
"scan_settings": "Налаштування сканування",
"scanning_for_album": "Сканування альбому...",
@@ -1053,9 +1162,12 @@
"search_for_existing_person": "Пошук існуючої особи",
"search_no_people": "Немає людей",
"search_no_people_named": "Немає осіб з іменем \"{name}\"",
+ "search_options": "Опції пошуку",
"search_people": "Шукати людей",
"search_places": "Пошук місць",
+ "search_settings": "Налаштування пошуку",
"search_state": "Пошук регіону...",
+ "search_tags": "Пошук тегів...",
"search_timezone": "Пошук часового поясу...",
"search_type": "Тип пошуку",
"search_your_photos": "Шукати ваші знімки",
@@ -1064,6 +1176,7 @@
"see_all_people": "Переглянути всіх людей",
"select_album_cover": "Обрати обкладинку альбому",
"select_all": "Вибрати все",
+ "select_all_duplicates": "Вибрати всі дублікати",
"select_avatar_color": "Вибрати колір аватара",
"select_face": "Виберіть обличчя",
"select_featured_photo": "Обрати обране фото",
@@ -1078,8 +1191,8 @@
"send_message": "Надіслати повідомлення",
"send_welcome_email": "Надішліть вітальний лист",
"server": "Сервер",
- "server_offline": "Сервер відключено",
- "server_online": "Сервер підключено",
+ "server_offline": "Сервер офлайн",
+ "server_online": "Сервер онлайн",
"server_stats": "Статистика сервера",
"server_version": "Версія сервера",
"set": "Встановіть",
@@ -1096,6 +1209,7 @@
"shared_by_user": "Спільний доступ з {user}",
"shared_by_you": "Ви поділились",
"shared_from_partner": "Фото від {partner}",
+ "shared_link_options": "Опції спільних посилань",
"shared_links": "Спільні посилання",
"shared_photos_and_videos_count": "{assetCount, plural, other {# спільні фотографії та відео.}}",
"shared_with_partner": "Спільно з {partner}",
@@ -1104,6 +1218,7 @@
"sharing_sidebar_description": "Відображати посилання на загальний доступ у бічній панелі",
"shift_to_permanent_delete": "натисніть ⇧ щоб видалити об'єкт назавжди",
"show_album_options": "Показати параметри альбому",
+ "show_albums": "Показувати альбоми",
"show_all_people": "Показати всіх людей",
"show_and_hide_people": "Показати та приховати людей",
"show_file_location": "Показати розташування файлу",
@@ -1118,11 +1233,18 @@
"show_person_options": "Показати параметри людини",
"show_progress_bar": "Показати індикатор прогресу",
"show_search_options": "Показати параметри пошуку",
+ "show_slideshow_transition": "Показати перехід слайд-шоу",
+ "show_supporter_badge": "Значок підтримки",
+ "show_supporter_badge_description": "Показати значок підтримки",
"shuffle": "Перемішати",
+ "sidebar": "Бічна панель",
+ "sidebar_display_description": "Відобразити посилання на перегляд у бічній панелі",
"sign_out": "Вихід",
"sign_up": "Зареєструватися",
"size": "Розмір",
"skip_to_content": "Перейти до вмісту",
+ "skip_to_folders": "Перейти до папок",
+ "skip_to_tags": "Перейти до тегів",
"slideshow": "Слайдшоу",
"slideshow_settings": "Налаштування слайд-шоу",
"sort_albums_by": "Сортувати альбоми за...",
@@ -1130,10 +1252,12 @@
"sort_items": "Кількість елементів",
"sort_modified": "Дата зміни",
"sort_oldest": "Старі фото",
- "sort_recent": "Нещодавні фото",
+ "sort_recent": "Нещодавні",
"sort_title": "Заголовок",
"source": "Джерело",
- "stack": "Стек",
+ "stack": "У стопку",
+ "stack_duplicates": "Групувати дублікати",
+ "stack_select_one_photo": "Вибрати одне основне фото для групи",
"stack_selected_photos": "Сгрупувати обрані фотографії",
"stacked_assets_count": "Згруповано {count, plural, one {# ресурс} few {# ресурси} many {# ресурсів} other {# ресурсів}}",
"stacktrace": "Стек викликів",
@@ -1145,25 +1269,39 @@
"stop_photo_sharing": "Припинити надання ваших знімків?",
"stop_photo_sharing_description": "{partner} більше не матиме доступу до ваших фотографій.",
"stop_sharing_photos_with_user": "Припинити ділитися своїми фотографіями з цим користувачем",
- "storage": "Місце для зберігання",
+ "storage": "Сховище",
"storage_label": "Мітка для зберігання",
"storage_usage": "{used} з {available} доступних",
"submit": "Підтвердити",
"suggestions": "Пропозиції",
"sunrise_on_the_beach": "Світанок на пляжі",
+ "support": "Підтримка",
+ "support_and_feedback": "Підтримка та зворотний зв'язок",
+ "support_third_party_description": "Вашу установку Immich було упаковано третьою стороною. Проблеми, з якими ви стикаєтесь, можуть бути викликані цим пакетом, тому спочатку зверніться до них за допомогою, використовуючи наведені нижче посилання.",
"swap_merge_direction": "Змінити напрямок об'єднання",
"sync": "Синхронізувати",
+ "tag": "Тег",
+ "tag_assets": "Додати теги",
+ "tag_created": "Створено тег: {tag}",
+ "tag_feature_description": "Перегляд фотографій та відео, згрупованих за логічними темами тегів",
+ "tag_not_found_question": "Не вдається знайти тег? Створити новий тег.",
+ "tag_updated": "Оновлено тег: {tag}",
+ "tagged_assets": "Позначено тегом {count, plural, one {# актив} other {# активи}}",
+ "tags": "Теги",
"template": "Шаблон",
"theme": "Тема",
"theme_selection": "Вибір теми",
"theme_selection_description": "Автоматично встановлювати тему на світлу або темну залежно від системних налаштувань вашого браузера",
"they_will_be_merged_together": "Вони будуть об'єднані разом",
+ "third_party_resources": "Ресурси третіх сторін",
"time_based_memories": "Спогади, що базуються на часі",
"timezone": "Часовий пояс",
"to_archive": "Архів",
"to_change_password": "Змінити пароль",
"to_favorite": "Обране",
"to_login": "Вхід",
+ "to_parent": "Повернутись назад",
+ "to_root": "На початок",
"to_trash": "Смітник",
"toggle_settings": "Перемикання налаштувань",
"toggle_theme": "Перемикання теми",
@@ -1171,7 +1309,7 @@
"total_usage": "Загальне використання",
"trash": "Кошик",
"trash_all": "Видалити все",
- "trash_count": "Сміття {count}",
+ "trash_count": "Видалити {count, number}",
"trash_delete_asset": "Смітник/Видалити ресурс",
"trash_no_results_message": "Тут з'являтимуться видалені фото та відео.",
"trashed_items_will_be_permanently_deleted_after": "Видалені елементи будуть остаточно видалені через {days, plural, one {# день} few {# дні} many {# днів} other {# днів}}.",
@@ -1185,12 +1323,15 @@
"unknown_album": "",
"unknown_year": "Невідомий рік",
"unlimited": "Без обмежень",
+ "unlink_motion_video": "Від'єднати рухоме відео",
"unlink_oauth": "Від'єднайте OAuth",
"unlinked_oauth_account": "Відключити акаунт OAuth",
"unnamed_album": "Альбом без назви",
+ "unnamed_album_delete_confirmation": "Ви впевнені, що бажаєте видалити цей альбом?",
"unnamed_share": "Спільний доступ без назви",
"unsaved_change": "Незбережена зміна",
"unselect_all": "Зняти все",
+ "unselect_all_duplicates": "Скасувати вибір усіх дублікатів",
"unstack": "Розібрати стек",
"unstacked_assets_count": "Розгорнути {count, plural, one {# ресурс} few {# ресурси} many {# ресурсів} other {# ресурсів}}",
"untracked_files": "Файли, що не відстежуються",
@@ -1200,7 +1341,7 @@
"upload": "Завантажити",
"upload_concurrency": "Паралельність завантаження",
"upload_errors": "Завантаження завершено з {count, plural, one {# помилкою} few {# помилками} many {# помилками} other {# помилками}}, оновіть сторінку, щоб побачити нові завантажені ресурси.",
- "upload_progress": "Залишилося {remaining} - Оброблено {processed}/{total}",
+ "upload_progress": "Залишилось {remaining, number} - Опрацьовано {processed, number}/{total, number}",
"upload_skipped_duplicates": "Пропущено {count, plural, one {# дубльований ресурс} few {# дубльовані ресурси} many {# дубльованих ресурсів} other {# дубльованих ресурсів}}",
"upload_status_duplicates": "Дублікати",
"upload_status_errors": "Помилки",
@@ -1214,6 +1355,8 @@
"user_license_settings": "Ліцензія",
"user_license_settings_description": "Керування ліцензією",
"user_liked": "{user} вподобав {type, select, photo {це фото} video {це відео} asset {цей ресурс} other {це}}",
+ "user_purchase_settings": "Придбати",
+ "user_purchase_settings_description": "Керувати вашою покупкою",
"user_role_set": "Призначити {user} на роль {role}",
"user_usage_detail": "Деталі використання користувача",
"username": "Ім'я користувача",
@@ -1224,6 +1367,8 @@
"version": "Версія",
"version_announcement_closing": "Твій друг, Алекс",
"version_announcement_message": "Привіт, друг! В нас є нова версія додатку. Будь ласка, відвідайте релізні нотатки і переконайтеся, що ваші файли docker-compose.yml
та .env
актуальні, щоб уникнути будь-яких помилок конфігурації, особливо якщо ви використовуєте WatchTower або інші механізми автоматичного оновлення додатку.",
+ "version_history": "Історія версій",
+ "version_history_item": "Встановлено {version} {date}",
"video": "Відео",
"video_hover_setting": "Відтворення мініатюри відео під час наведення курсору миші",
"video_hover_setting_description": "Відтворювати зображення відео при наведенні курсора на елемент. Навіть якщо вимкнено, відтворення може бути запущено, навівши курсор на піктограму відтворення.",
@@ -1233,6 +1378,7 @@
"view_album": "Переглянути альбом",
"view_all": "Переглянути усі",
"view_all_users": "Переглянути всіх користувачів",
+ "view_in_timeline": "Переглянути в хронології",
"view_links": "Переглянути посилання",
"view_next_asset": "Переглянути наступний ресурс",
"view_previous_asset": "Переглянути попередній ресурс",
@@ -1243,7 +1389,7 @@
"warning": "Попередження",
"week": "Тиждень",
"welcome": "Ласкаво просимо",
- "welcome_to_immich": "Ласкаво просимо до immich",
+ "welcome_to_immich": "Ласкаво просимо до Immich",
"year": "Рік",
"years_ago": "{years, plural, one {# рік} few {# роки} many {# років} other {# років}} тому",
"yes": "Так",
diff --git a/web/src/lib/i18n/vi.json b/i18n/vi.json
similarity index 55%
rename from web/src/lib/i18n/vi.json
rename to i18n/vi.json
index 8b3719c796..2152814fb9 100644
--- a/web/src/lib/i18n/vi.json
+++ b/i18n/vi.json
@@ -7,7 +7,7 @@
"actions": "Các hành động",
"active": "Đang hoạt động",
"activity": "Hoạt động",
- "activity_changed": "Hoạt động đang được {enabled, select, true {bật} other {tắt}}",
+ "activity_changed": "Hoạt động đã được {enabled, select, true {bật} other {tắt}}",
"add": "Thêm",
"add_a_description": "Thêm mô tả",
"add_a_location": "Thêm vị trí",
@@ -23,144 +23,161 @@
"add_to": "Thêm vào...",
"add_to_album": "Thêm vào album",
"add_to_shared_album": "Thêm vào album chia sẻ",
- "added_to_archive": "Thêm vào kho lưu trữ",
- "added_to_favorites": "Đã thêm vào mục yêu thích",
- "added_to_favorites_count": "Đã thêm {count, number} vào mục yêu thích",
+ "added_to_archive": "Đã thêm vào Kho lưu trữ",
+ "added_to_favorites": "Đã thêm vào Mục yêu thích",
+ "added_to_favorites_count": "Đã thêm {count, number} vào Mục yêu thích",
"admin": {
- "add_exclusion_pattern_description": "Thêm quy tắc loại trừ. Hỗ trợ sử dụng ký tự *, **, và ?. Để bỏ qua tất cả các tệp bất kỳ trong thư mục tên \"Raw\", hãy dùng \"**/Raw/**\". Để bỏ qua các tệp có đuôi \".tif\", hãy dùng \"**/*.tif\". Để bỏ qua một đường dẫn đầy đủ, hãy dùng \"/path/to/ignore/**\".",
- "authentication_settings": "Cài đặt đăng nhập",
- "authentication_settings_description": "Quản lý mật khẩu, OAuth và các cài đặt đăng nhập khác",
+ "add_exclusion_pattern_description": "Thêm quy tắc loại trừ. Hỗ trợ sử dụng ký tự *, **, và ?. Để bỏ qua tất cả các tập tin bất kỳ trong thư mục tên \"Raw\", hãy dùng \"**/Raw/**\". Để bỏ qua các tập tin có đuôi \".tif\", hãy dùng \"**/*.tif\". Để bỏ qua một đường dẫn cố định, hãy dùng \"/path/to/ignore/**\".",
+ "asset_offline_description": "Ảnh thư viện ngoài này không còn trên ổ đĩa và đã bị chuyển vào thùng rác. Nếu ảnh đã bị di chuyển trong thư viện, kiểm tra dòng thời gian của bạn để tìm ảnh mới tương ứng. Để khôi phục, hãy đảm bảo Immich có thể truy cập đường dẫn ảnh bên dưới và quét lại thư viện.",
+ "authentication_settings": "Đăng nhập",
+ "authentication_settings_description": "Quản lý mật khẩu, OAuth và các cài đặt xác thực khác",
"authentication_settings_disable_all": "Bạn có chắc chắn muốn vô hiệu hoá tất cả các phương thức đăng nhập? Đăng nhập sẽ bị vô hiệu hóa hoàn toàn.",
- "authentication_settings_reenable": "Để bật lại, dùng Lệnh máy chủ.",
+ "authentication_settings_reenable": "Để bật lại, dùng Lệnh Máy chủ.",
"background_task_job": "Các tác vụ nền",
"check_all": "Chọn tất cả",
- "cleared_jobs": "Đã xoá tác vụ cho: {job}",
- "config_set_by_file": "Cấu hình hiện tại đang được đặt bởi tệp cấu hình",
+ "cleared_jobs": "Đã xoá các tác vụ: {job}",
+ "config_set_by_file": "Cấu hình hiện tại đang được đặt bởi một tập tin cấu hình",
"confirm_delete_library": "Bạn có chắc chắn muốn xóa thư viện {library} không?",
- "confirm_delete_library_assets": "Bạn có chắc chắn muốn xóa thư viện này không? Thao tác này sẽ xóa {count, plural, one {# ảnh được chứa} other {tất cả # ảnh được chứa}} khỏi Immich và không thể hoàn tác. Các tệp sẽ vẫn còn trên đĩa.",
- "confirm_email_below": "Để xác nhận, nhập \"{email}\" ở dưới",
+ "confirm_delete_library_assets": "Bạn có chắc chắn muốn xóa thư viện này không? Thao tác này sẽ xóa {count, plural, one {# ảnh} other {tất cả # ảnh}} có trong Immich và không thể hoàn tác. Các tập tin sẽ vẫn còn trên ổ đĩa.",
+ "confirm_email_below": "Để xác nhận, nhập \"{email}\" bên dưới",
"confirm_reprocess_all_faces": "Bạn có chắc chắn muốn xử lý lại tất cả các khuôn mặt? Thao tác này sẽ xoá tên người đã được gán.",
"confirm_user_password_reset": "Bạn có chắc chắn muốn đặt lại mật khẩu của {user}?",
+ "create_job": "Tạo tác vụ",
"crontab_guru": "Crontab Guru",
"disable_login": "Vô hiệu hoá đăng nhập",
"disabled": "",
- "duplicate_detection_job_description": "Sử dụng machine learning để phát hiện các hình ảnh giống nhau. Dựa vào Tìm kiếm Thông Minh",
- "exclusion_pattern_description": "Quy tắc loại trừ cho bạn bỏ qua các tệp và thư mục khi quét thư viện của bạn. Điều này hữu ích nếu bạn có các thư mục chứa tệp bạn không muốn nhập, chẳng hạn như tệp RAW.",
+ "duplicate_detection_job_description": "Sử dụng Học máy để phát hiện các hình ảnh giống nhau. Dựa vào Tìm kiếm Thông Minh",
+ "exclusion_pattern_description": "Quy tắc loại trừ cho bạn bỏ qua các tập tin và thư mục khi quét thư viện của bạn. Điều này hữu ích nếu bạn có các thư mục chứa tập tin bạn không muốn nhập, chẳng hạn như các tập tin RAW.",
"external_library_created_at": "Thư viện bên ngoài (được tạo vào {date})",
"external_library_management": "Quản lý thư viện bên ngoài",
- "face_detection": "Nhận diện khuôn mặt",
- "face_detection_description": "Sử dụng machine learning để phát hiện các khuôn mặt trong ảnh. Với video, chỉ thực hiện trên ảnh thu nhỏ. Xử lý lại tất cả các hình ảnh. Các hỉnh ảnh trong hàng đợi bị bỏ lỡ chưa được xử lý. Các khuôn mặt được phát hiện sẽ được xếp vào hàng đợi cho quá trình Nhận dạng khuôn mặt sau khi quá trình Phát hiện khuôn mặt hoàn tất, nhóm chúng vào người hiện có hoặc tạo người mới.",
- "facial_recognition_job_description": "Nhóm các khuôn mặt đã phát hiện thành người. Bước này được thực hiện sau khi Phát hiện khuôn mặt hoàn tất. Xử lý lại việc nhóm cho toàn bộ khuôn mặt. Các khuôn mặt trong hàng đợi bị bỏ lỡ chưa được gán cho người nào.",
+ "face_detection": "Phát hiện khuôn mặt",
+ "face_detection_description": "Sử dụng Học máy để nhận dạng khuôn mặt trong ảnh. Đối với video, sẽ sử dụng hình ảnh thu nhỏ. \"Làm Mới\" sẽ xử lý lại tất cả các hình. \"Xử Lý Lại\" sẽ xoá hết tất cả dữ liệu khuôn mặt và nhận dạng lại. \"Còn Thiếu\" sẽ xử lý các ảnh còn thiếu. Các khuôn mặt được phát hiện sẽ được xử lý bởi tác vụ Nhận Dạng Khuôn Mặt để nhóm chúng vào những người đã có hoặc người mới.",
+ "facial_recognition_job_description": "Nhóm các khuôn mặt đã phát hiện thành người. Bước này được thực hiện sau khi tác vụ Phát hiện Khuôn mặt hoàn tất. \"Xử Lý Lại\" sẽ nhóm lại tất cả các khuôn mặt. \"Còn Thiếu\" sẽ xử lý các khuôn mặt chưa có gán với người nào.",
"failed_job_command": "Lệnh {command} không thực hiện được tác vụ: {job}",
- "force_delete_user_warning": "CẢNH BÁO: Thao tác này sẽ ngay lập tức xoá người dùng và tất cả ảnh. Hành động này không thể hoàn tác và các tệp không thể khôi phục.",
+ "force_delete_user_warning": "CẢNH BÁO: Thao tác này sẽ ngay lập tức xoá người dùng và tất cả ảnh. Hành động này không thể hoàn tác và các tập tin không thể khôi phục.",
"forcing_refresh_library_files": "Làm mới toàn bộ thư viện ảnh",
- "image_format_description": "Tệp WebP dung lượng nhỏ hơn JPEG, nhưng mã hóa chậm hơn.",
- "image_prefer_embedded_preview": "Ưu tiên ảnh xem trước đã nhúng",
+ "image_format": "Định dạng",
+ "image_format_description": "Định dạng WebP dung lượng nhỏ hơn JPEG, nhưng mã hóa chậm hơn.",
+ "image_prefer_embedded_preview": "Ưu tiên ảnh xem trước đi kèm",
"image_prefer_embedded_preview_setting_description": "Ứng dụng sẽ sử dụng ảnh xem trước trong ảnh RAW khi có sẵn để xử lý hình ảnh. Điều này có thể giúp tái tạo màu sắc chính xác hơn cho một số hình ảnh, nhưng chất lượng của ảnh xem trước phụ thuộc vào máy ảnh và có thể bị nén.",
"image_prefer_wide_gamut": "Ưu tiên gam màu mở rộng",
- "image_prefer_wide_gamut_setting_description": "Hiển thị ảnh thu nhỏ ở gam màu Display P3. Điều này giúp giữ màu sắc rực rỡ của những hình ảnh có gam màu rộng, nhưng hình ảnh có thể trông khác trên các thiết bị cũ và trình duyệt cũ. Hình ảnh sRGB được giữ nguyên để tránh thay đổi màu sắc.",
+ "image_prefer_wide_gamut_setting_description": "Hiển thị hình thu nhỏ ở gam màu Display P3. Điều này giúp giữ màu sắc rực rỡ của những hình ảnh có gam màu rộng, nhưng hình ảnh có thể trông khác trên các thiết bị cũ và trình duyệt cũ. Hình ảnh sRGB được giữ nguyên để tránh thay đổi màu sắc.",
+ "image_preview_description": "Hình ảnh kích thước trung bình đã loại bỏ metadata, được sử dụng khi xem một hình duy nhất và cho Học máy",
"image_preview_format": "Định dạng xem trước",
+ "image_preview_quality_description": "Chất lượng xem trước từ 1-100. Càng cao càng tốt, nhưng sẽ tạo ra các tập tin lớn hơn có thể làm giảm khả năng phản hồi của ứng dụng. Sử dụng giá trị thấp có thể ảnh hưởng đến chất lượng tác vụ Học máy.",
"image_preview_resolution": "Độ phân giải xem trước",
"image_preview_resolution_description": "Được sử dụng khi xem một bức ảnh và cho machine learning. Độ phân giải cao hơn có thể giữ lại nhiều chi tiết hơn nhưng mất nhiều thời gian mã hóa, có kích thước lớn hơn và có thể làm giảm khả năng phản hồi của ứng dụng.",
+ "image_preview_title": "Cài đặt Xem trước",
"image_quality": "Chất lượng",
- "image_quality_description": "Chất lượng hình ảnh từ 1 - 100. Giá trị càng cao hình ảnh đẹp hơn nhưng kích thước tệp sẽ lớn, lựa chọn này ảnh hưởng tới ảnh xem trước và ảnh thu nhỏ.",
- "image_settings": "Cài đặt hình ảnh",
+ "image_quality_description": "Chất lượng hình ảnh từ 1 - 100. Giá trị càng cao hình ảnh đẹp hơn nhưng kích thước tập tin sẽ lớn, lựa chọn này ảnh hưởng tới ảnh xem trước và ảnh thu nhỏ.",
+ "image_resolution": "Độ phân giải",
+ "image_resolution_description": "Độ phân giải cao hơn sẽ rõ nét hơn nhưng tốn nhiều thời gian hơn để mã hóa, kích thước tập tin lớn hơn và có thể làm giảm khả năng phản hồi của ứng dụng.",
+ "image_settings": "Hình ảnh",
"image_settings_description": "Quản lý chất lượng và độ phân giải của hình ảnh được tạo",
+ "image_thumbnail_description": "Hình thu nhỏ kích thước nhỏ đã loại bỏ metadata, dùng khi xem nhiều ảnh cùng lúc, ví dụ như xem Dòng Thời gian chính",
"image_thumbnail_format": "Định dạng ảnh thu nhỏ",
+ "image_thumbnail_quality_description": "Chất lượng hình thu nhỏ từ 1-100. Càng cao càng tốt, nhưng sẽ tạo ra các tập tin lớn hơn có thể làm giảm khả năng phản hồi của ứng dụng.",
"image_thumbnail_resolution": "Độ phân giải ảnh thu nhỏ",
"image_thumbnail_resolution_description": "Dùng khi xem một nhóm các ảnh (dòng thời gian chính, xem album, v.v.). Độ phân giải cao hơn có thể giữ lại nhiều chi tiết hơn nhưng mất nhiều thời gian mã hóa, có kích thước lớn hơn và có thể làm giảm khả năng phản hồi của ứng dụng.",
+ "image_thumbnail_title": "Cài đặt hình thu nhỏ",
"job_concurrency": "{job} thực hiện đồng thời",
+ "job_created": "Tác vụ đã được tạo",
"job_not_concurrency_safe": "Tác vụ này không an toàn để thực hiện đồng thời.",
- "job_settings": "Cài đặt tác vụ công việc",
- "job_settings_description": "Quản lý tác vụ thực hiện đồng thời",
+ "job_settings": "Tác vụ",
+ "job_settings_description": "Quản lý mức độ thực hiện đồng thời của tác vụ",
"job_status": "Trạng thái tác vụ",
- "jobs_delayed": "{jobCount, plural, other {# bị hoãn lại}}",
- "jobs_failed": "{jobCount, plural, other {# bị thất bại}}",
- "library_created": "Thư viện được tạo: {library}",
+ "jobs_delayed": "{jobCount, plural, other {# tác vụ bị hoãn lại}}",
+ "jobs_failed": "{jobCount, plural, other {# tác vụ bị thất bại}}",
+ "library_created": "Đã tạo thư viện: {library}",
"library_cron_expression": "Cú pháp Cron",
- "library_cron_expression_description": "Đặt lịch quét bằng định dạng cron. Để biết thêm thông tin, vui lòng tham khảo ví dụ. Crontab Guru",
- "library_cron_expression_presets": "Thiết lập lịch quét",
+ "library_cron_expression_description": "Đặt lịch quét bằng định dạng Cron. Để biết thêm về định dạng hãy tham khảo Crontab Guru",
+ "library_cron_expression_presets": "Các mẫu biểu thức Cron",
"library_deleted": "Thư viện đã bị xoá",
- "library_import_path_description": "Chọn thư mục để nhập. Ứng dụng sẽ quét tất cả hình ảnh và video trong thư mục này và các thư mục con.",
+ "library_import_path_description": "Chọn thư mục để nhập. Ứng dụng sẽ quét tất cả hình ảnh và video trong thư mục này bao gồm các thư mục con.",
"library_scanning": "Quét định kỳ",
"library_scanning_description": "Cấu hình quét thư viện định kỳ",
"library_scanning_enable_description": "Bật quét thư viện định kỳ",
"library_settings": "Thư viện bên ngoài",
"library_settings_description": "Quản lý cài đặt thư viện bên ngoài",
- "library_tasks_description": "Xử lý các tác vụ thư viện",
- "library_watching_enable_description": "Tự động cập nhật các tệp bị thay đổi trong thư viện bên ngoài",
+ "library_tasks_description": "Thực hiện các tác vụ thư viện",
+ "library_watching_enable_description": "Tự động cập nhật các tập tin bị thay đổi trong thư viện bên ngoài",
"library_watching_settings": "Theo dõi thư viện (THỬ NGHIỆM)",
- "library_watching_settings_description": "Tự động cập nhật khi các tệp bị thay đổi",
+ "library_watching_settings_description": "Tự động cập nhật khi các tập tin bị thay đổi",
"logging_enable_description": "Bật ghi nhật ký",
"logging_level_description": "Khi được bật, thiết lập mức ghi nhật ký.",
"logging_settings": "Ghi nhật ký",
"machine_learning_clip_model": "Mô hình CLIP",
"machine_learning_clip_model_description": "Tên của mô hình CLIP được liệt kê tại đây. Bạn cần chạy lại tác vụ \"Tìm kiếm thông minh\" cho tất cả hình ảnh sau khi thay đổi mô hình.",
- "machine_learning_duplicate_detection": "Phát hiện ảnh trùng lặp",
+ "machine_learning_duplicate_detection": "Phát hiện Trùng lặp",
"machine_learning_duplicate_detection_enabled": "Bật phát hiện ảnh trùng lặp",
- "machine_learning_duplicate_detection_enabled_description": "Nếu bị vô hiệu hoá, các ảnh trùng lặp giống hệt nhau vẫn sẽ bị loại bỏ.",
+ "machine_learning_duplicate_detection_enabled_description": "Nếu bị tắt, các ảnh trùng lặp giống hệt nhau vẫn sẽ bị loại bỏ.",
"machine_learning_duplicate_detection_setting_description": "Sử dụng vector nhúng CLIP để tìm kiếm ảnh trùng lặp",
- "machine_learning_enabled": "Bật machine learning",
- "machine_learning_enabled_description": "Nếu bị vô hiệu hoá, tất cả các tính năng ML sẽ bị vô hiệu hoá kể các cài đặt bên dưới.",
- "machine_learning_facial_recognition": "Nhận dạng khuôn mặt",
+ "machine_learning_enabled": "Bật Học máy",
+ "machine_learning_enabled_description": "Nếu bị tắt, tất cả các tính năng và cài đặt Học máy sẽ bị loại bỏ.",
+ "machine_learning_facial_recognition": "Nhận dạng Khuôn mặt",
"machine_learning_facial_recognition_description": "Phát hiện, nhận dạng và nhóm các khuôn mặt trong ảnh",
"machine_learning_facial_recognition_model": "Mô hình nhận dạng khuôn mặt",
- "machine_learning_facial_recognition_model_description": "Các mô hình được liệt kê theo thứ tự kích thước giảm dần. Mô hình càng lớn, kết quả càng chính xác nhưng sẽ chạy chậm và tốn nhiều bộ nhớ hơn. Lưu ý rằng sau khi thay đổi mô hình, bạn cần chạy lại tính năng \"Phát hiện Khuôn mặt\" cho tất cả hình ảnh.",
+ "machine_learning_facial_recognition_model_description": "Các mô hình được liệt kê theo thứ tự kích thước giảm dần. Mô hình càng lớn, kết quả càng chính xác nhưng sẽ chạy chậm và tốn nhiều bộ nhớ hơn. Lưu ý rằng sau khi thay đổi mô hình, bạn cần chạy lại tác vụ \"Phát hiện Khuôn mặt\" cho tất cả hình ảnh.",
"machine_learning_facial_recognition_setting": "Bật nhận dạng khuôn mặt",
- "machine_learning_facial_recognition_setting_description": "Nếu tính năng này bị vô hiệu hóa, hình ảnh sẽ không được mã hóa để nhận diện khuôn mặt và sẽ không xuất hiện trong phần Mọi người trong trang Khám phá.",
+ "machine_learning_facial_recognition_setting_description": "Nếu tính năng này bị tắt, hình ảnh sẽ không được mã hóa để nhận dạng khuôn mặt và sẽ không xuất hiện trong mục Mọi người trên trang Khám phá.",
"machine_learning_max_detection_distance": "Khoảng cách phát hiện tối đa",
"machine_learning_max_detection_distance_description": "Khoảng cách tối đa để hai ảnh được coi là trùng lặp, dao động từ 0,001 đến 0,1. Giá trị càng cao sẽ phát hiện được nhiều ảnh trùng lặp hơn, nhưng có thể bao gồm cả ảnh không thực sự giống nhau.",
"machine_learning_max_recognition_distance": "Khoảng cách nhận dạng tối đa",
- "machine_learning_max_recognition_distance_description": "Khoảng cách tối đa để hai khuôn mặt được coi là cùng một người, dao động từ 0-2. Giảm giá trị này có thể ngăn chặn việc gán nhãn hai người cùng một người, trong khi tăng giá trị này có thể ngăn chặn việc gán nhãn cùng một người là hai người khác nhau. Lưu ý rằng việc gộp hai người lại với nhau dễ dàng hơn là tách một người thành hai, vì vậy hãy ưu tiên giá trị thấp khi có thể.",
- "machine_learning_min_detection_score": "Hệ số nhận dạng tối thiểu",
- "machine_learning_min_detection_score_description": "Hệ số tự tin tối thiểu để khuôn mặt được phát hiện, từ 0 - 1. Hệ số càng thấp, nhiều khuôn mặt sẽ được nhận diện hơn nhưng có thể xảy ra sai sót.",
- "machine_learning_min_recognized_faces": "Số khuôn mặt nhận được tối thiểu",
- "machine_learning_min_recognized_faces_description": "Tối thiểu bao nhiêu khuôn mặt được nhận diện để tạo một người. Tăng giá trị này sẽ khiến cho Nhận diện Khuôn mặt chính xác hơn, nhưng sẽ tăng khả năng một khuôn mặt sẽ không được gán với 1 người.",
- "machine_learning_settings": "Cài đặt Machine Learning",
- "machine_learning_settings_description": "Quản lý các tính năng và cài đặt của machine learning",
- "machine_learning_smart_search": "Tìm kiếm thông minh",
- "machine_learning_smart_search_description": "Tìm kiếm hình ảnh theo ngữ nghĩa với CLIP",
- "machine_learning_smart_search_enabled": "Bật tìm kiếm thông minh",
- "machine_learning_smart_search_enabled_description": "Nếu vô hiệu hoá, hình ảnh sẽ không được mã hoá để tìm kiếm thông minh.",
- "machine_learning_url_description": "Địa chỉ máy chủ machine learning",
- "manage_concurrency": "Quản lý tác vụ",
+ "machine_learning_max_recognition_distance_description": "Khoảng cách tối đa để hai khuôn mặt được coi là cùng một người, dao động từ 0-2. Giảm giá trị này có thể ngăn chặn việc gán nhãn hai người cùng một người, trong khi tăng giá trị này có thể ngăn chặn việc gán nhãn cùng một người là hai người khác nhau. Lưu ý rằng việc hợp nhất hai người lại với nhau dễ dàng hơn là tách một người thành hai, vì vậy hãy ưu tiên giá trị thấp khi có thể.",
+ "machine_learning_min_detection_score": "Mức phát hiện tối thiểu",
+ "machine_learning_min_detection_score_description": "Mức điểm tin cậy tối thiểu để phát hiện khuôn mặt, từ 0 đến 1. Giá trị càng thấp, nhiều khuôn mặt sẽ được phát hiện nhưng có thể tăng khả năng phát hiện sai.",
+ "machine_learning_min_recognized_faces": "Số khuôn mặt tối thiểu để nhận dạng",
+ "machine_learning_min_recognized_faces_description": "Số khuôn mặt tối thiểu cần nhận dạng để tạo thành một người. Tăng số lượng này sẽ làm cho Nhận dạng khuôn mặt chính xác hơn, nhưng sẽ tăng khả năng một khuôn mặt không được gán cho người phù hợp.",
+ "machine_learning_settings": "Cài đặt Học máy",
+ "machine_learning_settings_description": "Quản lý các tính năng và cài đặt Học máy",
+ "machine_learning_smart_search": "Tìm kiếm Thông minh",
+ "machine_learning_smart_search_description": "Tìm kiếm hình ảnh theo ngữ cảnh với CLIP",
+ "machine_learning_smart_search_enabled": "Bật Tìm kiếm Thông minh",
+ "machine_learning_smart_search_enabled_description": "Nếu tắt, hình ảnh sẽ không được mã hoá để tìm kiếm thông minh.",
+ "machine_learning_url_description": "Địa chỉ máy chủ Học máy",
+ "manage_concurrency": "Quản lý Tác vụ",
"manage_log_settings": "Quản lý cài đặt nhật ký",
"map_dark_style": "Giao diện tối",
"map_enable_description": "Bật tính năng bản đồ",
- "map_gps_settings": "Cài đặt bản đồ & GPS",
- "map_gps_settings_description": "Quản lý cài đặt bản đồ & GPS (Mã hóa địa lý đảo ngược)",
+ "map_gps_settings": "Bản đồ & GPS",
+ "map_gps_settings_description": "Quản lý cài đặt Bản đồ & GPS (Mã hóa địa lý ngược)",
+ "map_implications": "Tính năng bản đồ phụ thuộc vào dịch vụ thẻ bản đồ bên ngoài (tiles.immich.cloud)",
"map_light_style": "Giao diện sáng",
- "map_manage_reverse_geocoding_settings": "Quản lý cài đặtMã hóa Địa lý Đảo ngược (Reverse Geocoding)",
- "map_reverse_geocoding": "Mã hoá Địa lý Đảo ngược",
- "map_reverse_geocoding_enable_description": "Bật mã hoá địa lý đảo ngược",
- "map_reverse_geocoding_settings": "Cài đặt Mã hoá Địa lý Đảo ngược",
- "map_settings": "Cài đặt Bản đồ",
- "map_settings_description": "Quản lý các cài đặt bản đồ",
- "map_style_description": "Đường dẫn URL đến file tuỳ biến bản đồ style.json",
- "metadata_extraction_job": "Trích xuất metadata",
- "metadata_extraction_job_description": "Trích xuất metadata từ mỗi ảnh, ví dụ như GPS và kích thước",
+ "map_manage_reverse_geocoding_settings": "Quản lý cài đặt Mã hóa địa lý ngược",
+ "map_reverse_geocoding": "Mã hoá Địa lý Ngược (Reverse Geocoding)",
+ "map_reverse_geocoding_enable_description": "Bật mã hoá địa lý ngược",
+ "map_reverse_geocoding_settings": "Cài đặt Mã hoá Địa lý Ngược (Reverse Geocoding)",
+ "map_settings": "Bản đồ",
+ "map_settings_description": "Quản lý cài đặt bản đồ",
+ "map_style_description": "Đường dẫn URL đến tập tin tuỳ biến bản đồ style.json",
+ "metadata_extraction_job": "Trích xuất Metadata",
+ "metadata_extraction_job_description": "Trích xuất Metadata từ mỗi ảnh, chẳng hạn như GPS, khuôn mặt và độ phân giải",
+ "metadata_faces_import_setting": "Bật tính năng nhập khuôn mặt",
+ "metadata_faces_import_setting_description": "Nhập khuôn mặt từ dữ liệu EXIF hình ảnh và tập tin đi kèm",
+ "metadata_settings": "Cài đặt Metadata",
+ "metadata_settings_description": "Quản lý cài đặt Metadata",
"migration_job": "Di chuyển dữ liệu",
- "migration_job_description": "Di chuyển hình thu nhỏ của nội dung và khuôn mặt sang cấu trúc thư mục mới nhất",
+ "migration_job_description": "Di chuyển hình thu nhỏ của các ảnh và khuôn mặt sang cấu trúc thư mục mới",
"no_paths_added": "Không có đường dẫn nào được thêm vào",
- "no_pattern_added": "Không có mẫu nào được thêm vào",
- "note_apply_storage_label_previous_assets": "Lưu ý: Để áp dụng Nhãn lưu trữ cho nội dung đã tải lên trước đó, hãy chạy lệnh",
+ "no_pattern_added": "Không có quy tắc nào được thêm vào",
+ "note_apply_storage_label_previous_assets": "Lưu ý: Để áp dụng Nhãn lưu trữ cho nội dung đã tải lên trước đó, hãy chạy",
"note_cannot_be_changed_later": "LƯU Ý: Cài đặt này không thể thay đổi được sau khi lưu!",
- "note_unlimited_quota": "Lưu ý: Nhập 0 để không giới hạn",
+ "note_unlimited_quota": "Lưu ý: Nhập 0 để hạn mức không giới hạn",
"notification_email_from_address": "Địa chỉ email người gửi",
- "notification_email_from_address_description": "Địa chỉ email của người gửi, ví dụ: \"Immich Photo Server {label}
là Nhãn Lưu trữ của người dùng",
+ "storage_template_settings": "Mẫu lưu trữ",
+ "storage_template_settings_description": "Quản lý cấu trúc thư mục và tên tập tin của ảnh tải lên",
+ "storage_template_user_label": "Cụm từ {label}
là Nhãn lưu trữ của người dùng",
"system_settings": "Cài đặt hệ thống",
- "theme_custom_css_settings": "Tuỳ chỉnh CSS",
+ "tag_cleanup_job": "Dọn dẹp thẻ",
+ "theme_custom_css_settings": "CSS tùy chỉnh",
"theme_custom_css_settings_description": "Cascading Style Sheets cho phép tùy chỉnh thiết kế của Immich.",
- "theme_settings": "Cài đặt chủ đề",
+ "theme_settings": "Chủ đề",
"theme_settings_description": "Quản lý tùy chỉnh giao diện web của Immich",
- "these_files_matched_by_checksum": "Các tệp tin này khớp với các giá trị băm của chúng",
- "thumbnail_generation_job": "Tạo Hình thu nhỏ",
- "thumbnail_generation_job_description": "Tạo hình thu nhỏ lớn, nhỏ và mờ cho mỗi tệp tin, cũng như hình thu nhỏ cho mỗi người",
+ "these_files_matched_by_checksum": "Các tập tin này khớp với các giá trị băm của chúng",
+ "thumbnail_generation_job": "Tạo hình thu nhỏ",
+ "thumbnail_generation_job_description": "Tạo hình thu nhỏ lớn, nhỏ và mờ cho mỗi ảnh, cũng như hình thu nhỏ cho mỗi người",
"transcode_policy_description": "",
"transcoding_acceleration_api": "API Tăng tốc",
- "transcoding_acceleration_api_description": "API này sẽ tương tác với thiết bị của bạn để tăng tốc quá trình chuyển mã. Cài đặt này là 'cố gắng tốt nhất': nó sẽ quay lại chuyển mã phần mềm nếu gặp lỗi. VP9 có thể hoạt động hoặc không tùy thuộc vào phần cứng của bạn.",
+ "transcoding_acceleration_api_description": "API này sẽ tương tác với thiết bị của bạn để tăng tốc quá trình chuyển mã. Cài đặt này hoạt động theo nguyên tắc 'cố gắng hết sức'': nó sẽ quay lại chuyển mã phần mềm nếu gặp lỗi. VP9 có thể hoạt động hoặc không tùy thuộc vào phần cứng của bạn.",
"transcoding_acceleration_nvenc": "NVENC (yêu cầu GPU NVIDIA)",
"transcoding_acceleration_qsv": "Quick Sync (yêu cầu CPU Intel thế hệ 7 hoặc mới hơn)",
"transcoding_acceleration_rkmpp": "RKMPP (chỉ trên các SOC của Rockchip)",
"transcoding_acceleration_vaapi": "VAAPI",
"transcoding_accepted_audio_codecs": "Các codec âm thanh được chấp nhận",
- "transcoding_accepted_audio_codecs_description": "Chọn các codec âm thanh không cần phải chuyển mã. Chỉ được sử dụng cho một số chính sách chuyển mã nhất định.",
- "transcoding_accepted_containers": "Các định dạng container được chấp nhận",
- "transcoding_accepted_containers_description": "Chọn các định dạng container không cần phải chuyển mã sang MP4. Chỉ được sử dụng cho một số chính sách chuyển mã nhất định.",
+ "transcoding_accepted_audio_codecs_description": "Chọn các codec âm thanh không cần phải chuyển mã. Chỉ được sử dụng cho một số quy tắc chuyển mã nhất định.",
+ "transcoding_accepted_containers": "Các định dạng video được chấp nhận",
+ "transcoding_accepted_containers_description": "Chọn các định dạng tập tin không cần chuyển đổi sang MP4. Chỉ được sử dụng cho một số quy tắc chuyển mã nhất định.",
"transcoding_accepted_video_codecs": "Các codec video được chấp nhận",
- "transcoding_accepted_video_codecs_description": "Chọn các codec video không cần phải chuyển mã. Chỉ được sử dụng cho một số chính sách chuyển mã nhất định.",
+ "transcoding_accepted_video_codecs_description": "Chọn các codec video không cần phải chuyển mã. Chỉ được sử dụng cho một số quy tắc chuyển mã nhất định.",
"transcoding_advanced_options_description": "Các tùy chọn mà hầu hết người dùng không cần phải thay đổi",
"transcoding_audio_codec": "Codec âm thanh",
"transcoding_audio_codec_description": "Opus là tùy chọn chất lượng cao nhất, nhưng có tính tương thích thấp hơn với các thiết bị hoặc phần mềm cũ.",
"transcoding_bitrate_description": "Video có bitrate cao hơn hoặc không ở định dạng được chấp nhận",
"transcoding_codecs_learn_more": "Để tìm hiểu thêm về thuật ngữ được sử dụng ở đây, hãy tham khảo tài liệu FFmpeg cho docker-compose.yml
và .env
của bạn được cập nhật để tránh bất kỳ cấu hình sai nào, đặc biệt nếu bạn sử dụng WatchTower hoặc bất kỳ cơ chế nào xử lý việc cập nhật ứng dụng của bạn tự động.",
+ "version_announcement_message": "Chào bạn, có một phiên bản mới của ứng dụng. Vui lòng dành thời gian để xem ghi chú phát hành và đảm bảo rằng cấu hình docker-compose.yml
và .env
của bạn được cập nhật để tránh bất kỳ cấu hình sai nào, đặc biệt nếu bạn sử dụng WatchTower hoặc bất kỳ cơ chế nào tự động cập nhật ứng dụng của bạn.",
+ "version_history": "Lịch sử phiên bản",
+ "version_history_item": "Đã cài đặt {version} vào {date}",
"video": "Video",
- "video_hover_setting": "Phát video khi di chuột qua",
- "video_hover_setting_description": "Phát video khi chuột di qua mục. Ngay cả khi bị tắt, phát lại có thể được bắt đầu bằng cách di chuột qua biểu tượng phát.",
+ "video_hover_setting": "Phát đoạn video xem trước khi di chuột",
+ "video_hover_setting_description": "Phát đoạn video xem trước khi di chuột qua mục. Ngay cả khi tắt chức năng này, vẫn có thể bắt đầu phát video bằng cách di chuột qua biểu tượng phát.",
"videos": "Video",
"videos_count": "{count, plural, one {# Video} other {# Video}}",
"view": "Xem",
"view_album": "Xem Album",
"view_all": "Xem tất cả",
"view_all_users": "Xem tất cả người dùng",
- "view_links": "Xem liên kết",
- "view_next_asset": "Xem tệp tin tiếp theo",
- "view_previous_asset": "Xem tệp tin trước đó",
- "view_stack": "Xem xếp chồng",
+ "view_in_timeline": "Xem trong dòng thời gian",
+ "view_links": "Xem các liên kết",
+ "view_next_asset": "Xem ảnh tiếp theo",
+ "view_previous_asset": "Xem ảnh trước đó",
+ "view_stack": "Xem nhóm ảnh",
"viewer": "",
- "visibility_changed": "Đã thay đổi mức độ hiển thị cho {count, plural, one {# người} other {# người}}",
+ "visibility_changed": "Đã thay đổi trạng thái hiển thị cho {count, plural, one {# người} other {# người}}",
"waiting": "Đang chờ",
"warning": "Cảnh báo",
"week": "Tuần",
@@ -1268,5 +1364,5 @@
"years_ago": "{years, plural, one {# năm} other {# năm}} trước",
"yes": "Có",
"you_dont_have_any_shared_links": "Bạn không có liên kết chia sẻ nào",
- "zoom_image": "Phóng to ảnh"
+ "zoom_image": "Thu phóng ảnh"
}
diff --git a/i18n/zh_Hant.json b/i18n/zh_Hant.json
new file mode 100644
index 0000000000..8b1e1e5e15
--- /dev/null
+++ b/i18n/zh_Hant.json
@@ -0,0 +1,1366 @@
+{
+ "about": "關於",
+ "account": "賬號",
+ "account_settings": "賬號設定",
+ "acknowledge": "收到",
+ "action": "操作",
+ "actions": "操作",
+ "active": "活躍",
+ "activity": "活動",
+ "activity_changed": "活動已{enabled, select, true {啟用} other {停用}}",
+ "add": "新增",
+ "add_a_description": "新增敘述",
+ "add_a_location": "新增位置",
+ "add_a_name": "新增名稱",
+ "add_a_title": "新增標題",
+ "add_exclusion_pattern": "新增排除規則",
+ "add_import_path": "新增引入路徑",
+ "add_location": "新增地點",
+ "add_more_users": "新增更多使用者",
+ "add_partner": "新增同伴",
+ "add_path": "新增路徑",
+ "add_photos": "增加照片",
+ "add_to": "新增至…",
+ "add_to_album": "加入相簿",
+ "add_to_shared_album": "加入共享相簿",
+ "added_to_archive": "已加入歸檔",
+ "added_to_favorites": "已加入收藏",
+ "added_to_favorites_count": "已把 {count, number} 個項目加入收藏",
+ "admin": {
+ "add_exclusion_pattern_description": "新增排除規則。支援使用「*」、「 **」、「?」來匹配字串。如果要在任何名為「Raw」的目錄內排除所有條目,請使用「**/Raw/**」。如果要排除所有「.tif」結尾的檔案,請使用「**/*.tif」。如果要排除某個絕對路徑,請使用「/path/to/ignore/**」。",
+ "asset_offline_description": "磁碟上找不到此外部圖庫檔案,且已移至垃圾桶。如果檔案在圖庫內被移動,請檢查時間軸中是否有新的相應的檔案。若要還原這份檔案,請確保 Immich 可以寫入下列檔案路徑,並讀取掃描圖庫內容。",
+ "authentication_settings": "驗證設定",
+ "authentication_settings_description": "管理密碼、OAuth 與其他驗證設定",
+ "authentication_settings_disable_all": "確定要停用所有登入方式嗎?這樣會完全無法登入。",
+ "authentication_settings_reenable": "如需重新啟用,請使用 伺服器指令。",
+ "background_task_job": "背景任務",
+ "check_all": "全選",
+ "cleared_jobs": "已為「{job}」清除作業",
+ "config_set_by_file": "目前的設定已透過配置文檔調整",
+ "confirm_delete_library": "確定要刪除「{library}」(圖庫)嗎?",
+ "confirm_delete_library_assets": "您確定要移除此圖庫嗎?這將從 Immich 中刪除{count, plural, one {個項目} other {個項目}},且無法復原。檔案仍會保留在硬碟中。",
+ "confirm_email_below": "請在底下輸入 {email} 來確認",
+ "confirm_reprocess_all_faces": "確定要重新處理所有臉孔嗎?這會清除已命名的人物。",
+ "confirm_user_password_reset": "您確定要重設 {user} 的密碼嗎?",
+ "create_job": "建立作業",
+ "crontab_guru": "",
+ "disable_login": "停用登入",
+ "disabled": "已禁用",
+ "duplicate_detection_job_description": "對檔案執行機器學習來偵測相似圖片。(此功能仰賴智慧搜尋)",
+ "exclusion_pattern_description": "排除規則讓您在掃描資料庫時忽略特定文件和文件夾。用於當您有不想導入的文件(例如 RAW 文件)或文件夾。",
+ "external_library_created_at": "外部圖庫(於 {date} 建立)",
+ "external_library_management": "外部圖庫管理",
+ "face_detection": "臉孔偵測",
+ "face_detection_description": "使用機器學習偵測檔案中的臉孔(影片只會偵測縮圖中的臉孔)。選擇「重新整理」會重新處理所有檔案。選擇「重設」會清除目前所有的臉孔資料。選擇「遺失的」會把尚未處理的檔案排入處理佇列。臉孔偵測完成後,會把偵測到的臉孔排入臉部辨識佇列,將其分組到現有的或新的人物中。",
+ "facial_recognition_job_description": "將偵測到的臉孔依照人物分組。此步驟會在臉孔偵測完成後執行。選擇「重設」會重新分組所有臉孔。選擇「遺失的」會把尚未指定人物的臉孔排入佇列。",
+ "failed_job_command": "{job} 任務的 {command} 指令執行失敗",
+ "force_delete_user_warning": "警告:這將立即移除使用者及其資料。操作後無法反悔且移除的檔案無法恢復。",
+ "forcing_refresh_library_files": "強制重新整理所有圖庫檔案",
+ "image_format": "格式",
+ "image_format_description": "WebP 能產生相對於 JPEG 更小的檔案,但編碼速度較慢。",
+ "image_prefer_embedded_preview": "偏好嵌入的預覽",
+ "image_prefer_embedded_preview_setting_description": "優先使用 RAW 的嵌入預覧作影像處理。可以提升某些影像的顏色精確度,但嵌入預覧的影像品質依相機而異,且可能壓縮較多。",
+ "image_prefer_wide_gamut": "偏好廣色域",
+ "image_prefer_wide_gamut_setting_description": "使用 Display P3 來製作縮圖。這可以更好地保留廣色域圖片的鮮豔度,但在舊版瀏覽器或舊設備上,圖片可能會顯示不同。sRGB 圖片會維持 sRGB 以避免顏色變化。",
+ "image_preview_description": "除去元資料的中型圖片,在查看單一檔案和機器學習時使用",
+ "image_preview_format": "預覽格式",
+ "image_preview_quality_description": "預覽品質爲 1 ~ 100。數值越大品質越高,但會產生較大的檔案,且可能降低應用程式的響應速度。而數值較小可能會影響機器學習品質。",
+ "image_preview_resolution": "預覽解析度",
+ "image_preview_resolution_description": "觀賞單張照片及機器學習時用。較高的解析度可以保留更多細節,但編碼時間較長,檔案也較大,且可能降低應用程式的響應速度。",
+ "image_preview_title": "預覽設定",
+ "image_quality": "品質",
+ "image_quality_description": "圖片品質從1到100,數值越高代表品質越好但檔案也越大,此選項影響預覽和縮圖圖片。",
+ "image_resolution": "解析度",
+ "image_resolution_description": "較高的解析度可以保留更多細節,但編碼時間較長,檔案較大且可能降低應用程式的響應速度。",
+ "image_settings": "圖片設定",
+ "image_settings_description": "管理產生圖片的品質和解析度",
+ "image_thumbnail_description": "除去元資料的小型縮圖,在查看主時間軸等大量照片時使用",
+ "image_thumbnail_format": "縮圖格式",
+ "image_thumbnail_quality_description": "縮圖品質爲 1 ~ 100。數值越大品質越高,但會產生較大的檔案,且可能降低應用程式的響應速度。",
+ "image_thumbnail_resolution": "縮圖解析度",
+ "image_thumbnail_resolution_description": "觀賞多張照片時(時間軸、相簿等)用。較高的解析度可以保留更多細節,但編碼時間較長,檔案也較大,且可能降低應用程式的響應速度。",
+ "image_thumbnail_title": "縮圖設定",
+ "job_concurrency": "{job}並行",
+ "job_created": "已建立作業",
+ "job_not_concurrency_safe": "這個任務並行並不安全。",
+ "job_settings": "作業設定",
+ "job_settings_description": "管理作業並行",
+ "job_status": "作業狀態",
+ "jobs_delayed": "已延後 {jobCount, plural, other {# 項作業}}",
+ "jobs_failed": "{jobCount, plural, other {# 項}}作業失敗",
+ "library_created": "已建立圖庫:{library}",
+ "library_cron_expression": "Cron 運算式",
+ "library_cron_expression_description": "以 Cron 格式設定掃描時段。詳細資訊請參閱 Crontab Guru",
+ "library_cron_expression_presets": "現成的 Cron 運算式",
+ "library_deleted": "圖庫已刪除",
+ "library_import_path_description": "選取要載入的資料夾。以掃描資料夾(含子資料夾)內的影像和影片。",
+ "library_scanning": "定期掃描",
+ "library_scanning_description": "定期圖庫掃描設定",
+ "library_scanning_enable_description": "啟用圖庫定期掃描",
+ "library_settings": "外部圖庫",
+ "library_settings_description": "管理外部圖庫設定",
+ "library_tasks_description": "執行圖庫任務",
+ "library_watching_enable_description": "監控外部圖庫的檔案變化",
+ "library_watching_settings": "圖庫監控(實驗中)",
+ "library_watching_settings_description": "自動監控檔案的變化",
+ "logging_enable_description": "啟用記錄檔",
+ "logging_level_description": "啟用時的記錄層級。",
+ "logging_settings": "記錄檔",
+ "machine_learning_clip_model": "CLIP 模型",
+ "machine_learning_clip_model_description": "這裏有份 CLIP 模型名單。註:更換模型後須對所有圖片重新執行「智慧搜尋」作業。",
+ "machine_learning_duplicate_detection": "重複項目偵測",
+ "machine_learning_duplicate_detection_enabled": "啟用重複項目偵測",
+ "machine_learning_duplicate_detection_enabled_description": "即使停用,完全一樣的素材仍會被忽略。",
+ "machine_learning_duplicate_detection_setting_description": "用 CLIP 向量比對潛在重複",
+ "machine_learning_enabled": "啟用機器學習",
+ "machine_learning_enabled_description": "若停用,則無視下方的設定,所有機器學習的功能都將停用。",
+ "machine_learning_facial_recognition": "臉部辨識",
+ "machine_learning_facial_recognition_description": "偵測、認出並對圖片中的臉孔分組",
+ "machine_learning_facial_recognition_model": "人臉辨識模型",
+ "machine_learning_facial_recognition_model_description": "模型順序由大至小排列。大的模型較慢且使用較多記憶體,但成效較嘉。更換模型後須對所有影像重新執行「人臉辨識」。",
+ "machine_learning_facial_recognition_setting": "啟用人臉辨識",
+ "machine_learning_facial_recognition_setting_description": "若停用,影像將不會產生人臉特徵編碼,從而「探索」頁面不會有「人物」功能。",
+ "machine_learning_max_detection_distance": "針測距離上限",
+ "machine_learning_max_detection_distance_description": "若兩張影像間的距離小於此將被判斷為相同,範圍為 0.001-0.1。數值越高能偵測到越多重複,但也更有可能誤判。",
+ "machine_learning_max_recognition_distance": "分辨距離上限",
+ "machine_learning_max_recognition_distance_description": "若兩張人臉間的距離小於此將被判斷為相同人物,範圍為 0-2。數值降低能減少兩人被混在一起的可能性,數值提升能減少同一人被當作不同臉的可能性。由於合並比拆分容易,建議將數值調小。",
+ "machine_learning_min_detection_score": "最低檢測分數",
+ "machine_learning_min_detection_score_description": "最低信任分辨率,從0到1。低值會偵測更多的面孔,但可能導致誤報。",
+ "machine_learning_min_recognized_faces": "最少被認出的臉孔",
+ "machine_learning_min_recognized_faces_description": "要創建一個人的最低認可面數。 增加此項數目使面部識別更為準確,但以增加可能不把面孔識別於任何人的機會為代價.",
+ "machine_learning_settings": "機器學習設定",
+ "machine_learning_settings_description": "管理機器學習的功能和設定",
+ "machine_learning_smart_search": "智慧搜尋",
+ "machine_learning_smart_search_description": "使用 CLIP 嵌入進行語義圖像搜尋",
+ "machine_learning_smart_search_enabled": "啟用智慧搜尋",
+ "machine_learning_smart_search_enabled_description": "如果停用,圖片將不會被編碼以進行智能搜尋。",
+ "machine_learning_url_description": "機器學習伺服器的網址",
+ "manage_concurrency": "管理並行",
+ "manage_log_settings": "管理日誌設定",
+ "map_dark_style": "深色樣式",
+ "map_enable_description": "啟用地圖功能",
+ "map_gps_settings": "地圖與 GPS 設定",
+ "map_gps_settings_description": "管理地圖和 GPS(逆向地理編碼)設定",
+ "map_implications": "地圖功能依賴外部平貼服務(tiles.immich.cloud)",
+ "map_light_style": "淺色樣式",
+ "map_manage_reverse_geocoding_settings": "管理逆向地理編碼設定",
+ "map_reverse_geocoding": "逆向地理編碼",
+ "map_reverse_geocoding_enable_description": "啟用逆向地理編碼",
+ "map_reverse_geocoding_settings": "逆向地理編碼設定",
+ "map_settings": "地圖",
+ "map_settings_description": "管理地圖設定",
+ "map_style_description": "地圖主題(style.json)的網址",
+ "metadata_extraction_job": "擷取元資料",
+ "metadata_extraction_job_description": "擷取每個檔案的 GPS、臉孔、解析度等元資料資訊",
+ "metadata_faces_import_setting": "啟用臉孔匯入",
+ "metadata_faces_import_setting_description": "從圖片的 EXIF 資料和側接檔案匯入臉孔",
+ "metadata_settings": "元資料設定",
+ "metadata_settings_description": "管理元資料設定",
+ "migration_job": "遷移",
+ "migration_job_description": "將照片和人臉的縮圖遷移到最新的文件夾結構",
+ "no_paths_added": "未添加路徑",
+ "no_pattern_added": "未添加pattern",
+ "note_apply_storage_label_previous_assets": "註:要將儲存標籤用於先前上傳的檔案,請執行",
+ "note_cannot_be_changed_later": "註:之後就無法更改嘍!",
+ "note_unlimited_quota": "註:輸入 0 表示不限制配額",
+ "notification_email_from_address": "寄件地址",
+ "notification_email_from_address_description": "寄件者電子郵件地址(例:Immich Photo Server {label}
是使用者的儲存標籤",
+ "system_settings": "系統設定",
+ "tag_cleanup_job": "清理標記",
+ "theme_custom_css_settings": "自訂 CSS",
+ "theme_custom_css_settings_description": "可以用層疊樣式表(CSS)來自訂 Immich 的設計。",
+ "theme_settings": "主題",
+ "theme_settings_description": "自訂 Immich 的網頁界面",
+ "these_files_matched_by_checksum": "這些檔案的核對和(Checksum)是相符的",
+ "thumbnail_generation_job": "產生縮圖",
+ "thumbnail_generation_job_description": "爲每個檔案產生大、小及模糊縮圖,也爲每位人物產生縮圖",
+ "transcode_policy_description": "",
+ "transcoding_acceleration_api": "加速 API",
+ "transcoding_acceleration_api_description": "該 API 將用您的設備加速轉碼。設置是“盡力而為”:如果失敗,它將退回到軟件轉碼。VP9 轉碼是否可行取決於您的硬件。",
+ "transcoding_acceleration_nvenc": "NVENC(需要 NVIDIA GPU)",
+ "transcoding_acceleration_qsv": "快速同步(需要第七代或高於第七代的 Intel CPU)",
+ "transcoding_acceleration_rkmpp": "RKMPP(僅適用於 Rockchip SoC)",
+ "transcoding_acceleration_vaapi": "VAAPI",
+ "transcoding_accepted_audio_codecs": "接受的音頻編解碼器",
+ "transcoding_accepted_audio_codecs_description": "選擇不需要轉碼的音頻編解碼器。僅用於某些轉碼策略。",
+ "transcoding_accepted_containers": "接受的容器格式",
+ "transcoding_accepted_containers_description": "選擇不需要重新封裝為 MP4 的容器格式。僅用於某些轉碼策略。",
+ "transcoding_accepted_video_codecs": "支援的影片編碼器",
+ "transcoding_accepted_video_codecs_description": "選擇不需要轉碼的視頻編解碼器。僅用於某些轉碼策略。",
+ "transcoding_advanced_options_description": "大多數使用者不需要更改的選項",
+ "transcoding_audio_codec": "音頻編解碼器",
+ "transcoding_audio_codec_description": "Opus 是音質最高的選擇,但會與舊設備或軟件有較低的兼容性。",
+ "transcoding_bitrate_description": "高於最大位元速率或格式不被支援的影片",
+ "transcoding_codecs_learn_more": "欲瞭解此處使用的術語,請參閱 FFmpeg 說明書中的 docker-compose.yml
和 .env
設置是最新的,特別是使用 WatchTower 等自動更新工具時。",
+ "version_history": "版本紀錄",
+ "version_history_item": "{date} 安裝了 {version}",
+ "video": "影片",
+ "video_hover_setting": "游標停留時播放影片縮圖",
+ "video_hover_setting_description": "當滑鼠停在項目上時播放影片縮圖。即使停用,將滑鼠停在播放圖示上也可以播放。",
+ "videos": "影片",
+ "videos_count": "{count, plural, other {# 部影片}}",
+ "view": "查看",
+ "view_album": "查看相簿",
+ "view_all": "瀏覽全部",
+ "view_all_users": "查看所有使用者",
+ "view_in_timeline": "在時間軸中查看",
+ "view_links": "檢視鏈結",
+ "view_next_asset": "查看下一項",
+ "view_previous_asset": "查看上一項",
+ "view_stack": "查看堆疊",
+ "viewer": "",
+ "visibility_changed": "已更改 {count, plural, other {# 位人物}}的可見性",
+ "waiting": "待處理",
+ "warning": "警告",
+ "week": "周",
+ "welcome": "歡迎",
+ "welcome_to_immich": "歡迎使用 Immich",
+ "year": "年",
+ "years_ago": "{years, plural, other {# 年}}前",
+ "yes": "是",
+ "you_dont_have_any_shared_links": "您沒有分享鏈結",
+ "zoom_image": "縮放圖片"
+}
diff --git a/web/src/lib/i18n/zh_SIMPLIFIED.json b/i18n/zh_SIMPLIFIED.json
similarity index 80%
rename from web/src/lib/i18n/zh_SIMPLIFIED.json
rename to i18n/zh_SIMPLIFIED.json
index e09cb1ecdf..c2e1a87350 100644
--- a/web/src/lib/i18n/zh_SIMPLIFIED.json
+++ b/i18n/zh_SIMPLIFIED.json
@@ -7,7 +7,7 @@
"actions": "操作",
"active": "正在处理",
"activity": "活动",
- "activity_changed": "活动已{enabled, select, true {启用} other {禁用}}",
+ "activity_changed": "活动已{enabled, select, true {启用} other {停用}}",
"add": "添加",
"add_a_description": "添加描述",
"add_a_location": "添加位置",
@@ -15,76 +15,88 @@
"add_a_title": "添加标题",
"add_exclusion_pattern": "添加排除规则",
"add_import_path": "添加导入路径",
- "add_location": "添加位置",
+ "add_location": "添加地点",
"add_more_users": "添加更多用户",
"add_partner": "添加同伴",
"add_path": "添加路径",
"add_photos": "添加照片",
- "add_to": "添加至...",
- "add_to_album": "添加至相册",
- "add_to_shared_album": "添加至共享相册",
- "added_to_archive": "添加至归档",
- "added_to_favorites": "添加至收藏",
- "added_to_favorites_count": "添加{count, number}项至收藏",
+ "add_to": "添加到...",
+ "add_to_album": "添加到相册",
+ "add_to_shared_album": "添加到共享相册",
+ "added_to_archive": "添加到归档",
+ "added_to_favorites": "添加到收藏",
+ "added_to_favorites_count": "添加{count, number}项到收藏",
"admin": {
- "add_exclusion_pattern_description": "添加排除规则。支持使用 *,** 和 ? 进行通配。要忽略名为 “Raw” 的任何目录中的所有文件,请使用 “**/Raw/**”。要忽略所有以 “.tif” 结尾的文件,请使用 “**/*.tif\"。要忽略绝对路径,请使用 \"/path/to/ignore/**”。",
+ "add_exclusion_pattern_description": "添加排除规则。支持使用 *、** 和 ? 通配符。比如要忽略任何名为 “Raw” 的文件夹中的所有文件,请使用 “**/Raw/**”;要忽略所有以 “.tif” 结尾的文件,请使用 “**/*.tif”;要忽略绝对路径,请使用 “/path/to/ignore/**”。",
+ "asset_offline_description": "此外部库项目已无法从磁盘中找到,并已移至回收站。如果文件已在库中移动,请检查时间线中是否有新的对应项目。要恢复此项目,请确保 Immich 可以访问以下文件路径并执行扫描库任务。",
"authentication_settings": "认证设置",
"authentication_settings_description": "管理密码、OAuth 和其它认证设置",
- "authentication_settings_disable_all": "确定要禁用所有的登录方式?此操作将完全禁用登录。",
+ "authentication_settings_disable_all": "确定要禁用所有的登录方式?该操作将完全禁止登录。",
"authentication_settings_reenable": "如需再次启用,使用 服务器指令。",
"background_task_job": "后台任务",
"check_all": "检查全部",
- "cleared_jobs": "已清理作业:{job}",
+ "cleared_jobs": "已清理任务:{job}",
"config_set_by_file": "当前配置已通过配置文件设置",
- "confirm_delete_library": "是否确定要删除图库{library} ?",
- "confirm_delete_library_assets": "是否确定要删除该图库?这将删除所有包含在Immich中的{count, plural, one {#个项目} other {#个项目}},且无法撤销。文件仍将保留在磁盘中。",
+ "confirm_delete_library": "确定要删除图库“{library}”吗?",
+ "confirm_delete_library_assets": "确定要删除该图库吗?这将删除所有包含在Immich中的{count, plural, one {#个项目} other {#个项目}},且无法撤销。但文件仍将保留在磁盘中。",
"confirm_email_below": "输入“{email}”来确认",
- "confirm_reprocess_all_faces": "是否确定对全部照片重新进行面部识别?这将同时清除所有已命名人物。",
- "confirm_user_password_reset": "是否确定重置用户{user}的密码?",
+ "confirm_reprocess_all_faces": "确定要对全部照片重新进行面部识别吗?这将同时清除所有已命名人物。",
+ "confirm_user_password_reset": "确定要重置用户{user}的密码吗?",
+ "create_job": "创建任务",
"crontab_guru": "Crontab Guru",
"disable_login": "禁用登录",
"disabled": "已禁用",
- "duplicate_detection_job_description": "对照片进行机器学习处理来检测相似项目。依赖于智能搜索",
+ "duplicate_detection_job_description": "对照片进行机器学习处理来检测相似项目,依赖于智能搜索",
"exclusion_pattern_description": "排除规则允许在扫描图库时忽略文件和文件夹。如果有包含不想导入的文件的文件夹,例如RAW文件,排除规则将非常有用。",
"external_library_created_at": "外部图库(创建于{date})",
"external_library_management": "外部图库管理",
"face_detection": "人脸检测",
- "face_detection_description": "使用机器学习检测项目中的人脸(视频只检测其缩略图中的人脸)。选择“全部”项将会(重新)处理所有项目。选择“缺失”项将尚未处理的项目置于队列中。人脸检测完成后,检测到的人脸将排队进行面部识别,将它们分组到现有的或新的人物中。",
- "facial_recognition_job_description": "将检测到的人脸按照人物分组。这一步将在人脸检测完成后执行。选择“全部”项将会(重新)分组所有面孔。选择“缺失”项将尚未分配的人脸置于队列中。",
- "failed_job_command": "{command}命令执行失败的作业:{job}",
- "force_delete_user_warning": "警告:这将立即移除用户以及所有项目。该操作无法撤回且文件无法恢复。",
+ "face_detection_description": "使用机器学习检测项目中的人脸(视频只检测其缩略图中的人脸)。选择“刷新”项将会(重新)处理所有项目。选择“重置”还会清除所有当前面部数据。选择“缺失”项将尚未处理的项目进行排队处理。人脸检测完成后,检测到的人脸将排队进行面部识别,将它们分组到现有的或新的人物中。",
+ "facial_recognition_job_description": "将检测到的人脸按照人物分组。这一步将在人脸检测完成后执行。选择“重置”项将会(重新)分组所有面孔。选择“缺失”项将尚未分配的人脸置于队列中。",
+ "failed_job_command": "{command}命令执行失败的任务:{job}",
+ "force_delete_user_warning": "警告:这将立即移除用户以及所有项目。该操作无法撤销且文件无法恢复。",
"forcing_refresh_library_files": "强制刷新所有图库文件",
+ "image_format": "格式",
"image_format_description": "WebP 文件比 JPEG 文件小,但编码速度较慢。",
"image_prefer_embedded_preview": "嵌入式预览",
"image_prefer_embedded_preview_setting_description": "在可用时,使用 RAW 照片的嵌入式预览作为图像处理的输入。这可能为某些图像产生更准确的颜色,但预览的质量取决于相机,图像可能具有更多的压缩失真。",
"image_prefer_wide_gamut": "广色域",
"image_prefer_wide_gamut_setting_description": "对缩略图使用 Display P3。这可以更好地保留宽色域图像的鲜艳度,但在旧设备和旧版浏览器上图像可能会显得不同。sRGB 图像保持为 sRGB 以避免颜色偏移。",
+ "image_preview_description": "去除元数据的中尺寸图像,用于单一项目查看和机器学习",
"image_preview_format": "预览格式",
+ "image_preview_quality_description": "预览质量从 1 到 100。越高越好,但会产生更大的文件,并且会降低系统的响应能力。设置较低的值可能会影响机器学习的质量。",
"image_preview_resolution": "预览分辨率",
"image_preview_resolution_description": "在查看单张照片和进行机器学习时使用。更高的分辨率可以保留更多细节,但编码时间更长,文件体积更大,且可能降低应用程序的响应速度。",
+ "image_preview_title": "预览设置",
"image_quality": "质量",
"image_quality_description": "图像质量从1到100。数字越高,质量越好,但生成的文件也越大,此选项会同时影响预览和缩略图。",
+ "image_resolution": "分辨率",
+ "image_resolution_description": "更高的分辨率可以保留更多细节,但编码时间更长,文件体积更大,而且会降低系统的响应速度。",
"image_settings": "图片设置",
"image_settings_description": "管理生成图像的质量和分辨率",
+ "image_thumbnail_description": "去除元数据的小缩略图,用于浏览主时间线等照片组",
"image_thumbnail_format": "缩略图格式",
+ "image_thumbnail_quality_description": "缩略图质量从 1 到 100。越高越好,但会产生更大的文件,并且会降低系统的响应能力。",
"image_thumbnail_resolution": "缩略图分辨率",
"image_thumbnail_resolution_description": "用于查看照片组(主时间轴、相册视图等)。更高的分辨率可以保留更多的细节,但编码时间更长,文件体积更大,并会降低应用程序的响应速度。",
+ "image_thumbnail_title": "缩略图设置",
"job_concurrency": "{job}并发",
+ "job_created": "任务已创建",
"job_not_concurrency_safe": "此任务并发并不安全。",
"job_settings": "任务设置",
"job_settings_description": "管理任务并发",
"job_status": "任务状态",
- "jobs_delayed": "{jobCount, plural, other {#项作业已推迟}}",
+ "jobs_delayed": "{jobCount, plural, other {#项任务已推迟}}",
"jobs_failed": "{jobCount, plural, other {#项失败}}",
"library_created": "已创建图库:{library}",
"library_cron_expression": "Cron 表达式",
"library_cron_expression_description": "使用 cron 格式设置扫描间隔。关于 cron 格式请参阅Crontab Guru",
"library_cron_expression_presets": "Cron 表达式预设",
"library_deleted": "图库已删除",
- "library_import_path_description": "指定一个要导入的文件夹。该文件夹及其子文件夹将被扫描以查找图片和视频。",
+ "library_import_path_description": "指定一个要导入的文件夹。将扫描此文件夹(包括子文件夹)中的图像和视频。",
"library_scanning": "定期扫描",
- "library_scanning_description": "配置定期图库扫描",
- "library_scanning_enable_description": "启用定期图库扫描",
+ "library_scanning_description": "配置定期扫描图库",
+ "library_scanning_enable_description": "启用定期扫描图库",
"library_settings": "外部图库",
"library_settings_description": "管理外部图库设置",
"library_tasks_description": "执行图库任务",
@@ -95,18 +107,18 @@
"logging_level_description": "启用的日志级别。",
"logging_settings": "日志",
"machine_learning_clip_model": "CLIP模型",
- "machine_learning_clip_model_description": "支持的CLIP模型名称见 此处。注意,更换模型后需要对所有图片重新运行“智能检索”作业。",
+ "machine_learning_clip_model_description": "支持的CLIP模型名称见 此处。注意,更换模型后需要对所有图片重新运行“智能检索”任务。",
"machine_learning_duplicate_detection": "重复项检测",
"machine_learning_duplicate_detection_enabled": "启用重复检测",
"machine_learning_duplicate_detection_enabled_description": "如果禁用此功能,完全相同的项目仍将被去重。",
"machine_learning_duplicate_detection_setting_description": "使用CLIP向量匹配(关键词相似度)来查找可能的重复项",
"machine_learning_enabled": "启用机器学习",
- "machine_learning_enabled_description": "如果禁用,不论以下设置如何,所有机器学习功能将被禁用。",
+ "machine_learning_enabled_description": "如果禁用,无论以下如何设置,所有机器学习功能将被禁用。",
"machine_learning_facial_recognition": "人脸识别",
- "machine_learning_facial_recognition_description": "检测、识别并分组图像中的人脸",
+ "machine_learning_facial_recognition_description": "检测、识别并将图像中的人脸分组",
"machine_learning_facial_recognition_model": "人脸识别模型",
"machine_learning_facial_recognition_model_description": "机器学习模型按规模大小降序排列。更大的模型速度更慢,占用的内存更多,但效果更好。请注意,在更换模型后,必须对所有图像重新运行人脸检测。",
- "machine_learning_facial_recognition_setting": "启用面部识别",
+ "machine_learning_facial_recognition_setting": "启用人脸识别",
"machine_learning_facial_recognition_setting_description": "如果禁用此功能,图片将不会被编码并用于人脸识别,也不会在探索页面显示人物列表。",
"machine_learning_max_detection_distance": "最大检测距离",
"machine_learning_max_detection_distance_description": "两张图片被认为是重复的最大距离范围是0.001到0.1。较高的值将检测出更多的重复图片,但可能导致误报。",
@@ -115,11 +127,11 @@
"machine_learning_min_detection_score": "最低检测分数",
"machine_learning_min_detection_score_description": "面部被检测到的最小置信度分数范围是0到1。较低的值将检测到更多的面孔,但可能导致误报。",
"machine_learning_min_recognized_faces": "识别的最少人脸数",
- "machine_learning_min_recognized_faces_description": "创建新人物所需最少面部识别等数量。提高这个数字可以使面部识别更精确,但也增加了面孔未能被分配到对应人物的可能性。",
+ "machine_learning_min_recognized_faces_description": "创建新人物所需最少识别的数量。提高这个值可以使面部识别更精确,但也增加了面孔未能被分配到对应人物的可能性。",
"machine_learning_settings": "机器学习设置",
"machine_learning_settings_description": "管理机器学习功能和设置",
"machine_learning_smart_search": "智能搜索",
- "machine_learning_smart_search_description": "使用CLIP相似度进行图像语义搜索",
+ "machine_learning_smart_search_description": "使用CLIP以文搜图、智能搜图",
"machine_learning_smart_search_enabled": "启用智能搜索",
"machine_learning_smart_search_enabled_description": "如果禁用,则不会对图像编码以用于智能搜索。",
"machine_learning_url_description": "机器学习服务器的URL",
@@ -129,26 +141,31 @@
"map_enable_description": "启用地图功能",
"map_gps_settings": "地图与GPS设置",
"map_gps_settings_description": "管理地图与GPS(反向地理编码)设置",
+ "map_implications": "地图功能依赖于外部瓦片服务(tiles.immich.cloud)",
"map_light_style": "浅色模式",
"map_manage_reverse_geocoding_settings": "管理反向地理编码设置",
"map_reverse_geocoding": "反向地理编码",
"map_reverse_geocoding_enable_description": "启用反向地理编码",
"map_reverse_geocoding_settings": "反向地理编码设置",
- "map_settings": "地图设置",
+ "map_settings": "地图",
"map_settings_description": "管理地图设置",
"map_style_description": "地图主题 style.json 的 URL",
"metadata_extraction_job": "提取元数据",
- "metadata_extraction_job_description": "从每个项目中提取元数据信息,如GPS和分辨率",
+ "metadata_extraction_job_description": "从每个项目中提取元数据信息,如GPS、人脸和分辨率",
+ "metadata_faces_import_setting": "启用人脸导入",
+ "metadata_faces_import_setting_description": "从图片的EXIF和辅助元数据中导入人脸",
+ "metadata_settings": "元数据设置",
+ "metadata_settings_description": "管理元数据设置",
"migration_job": "迁移",
"migration_job_description": "将项目和人脸识别的缩略图迁移到最新的文件夹结构",
"no_paths_added": "无已添加路径",
"no_pattern_added": "无已添加规则",
- "note_apply_storage_label_previous_assets": "提示:要将存储标签应用于之前上传的项目,运行以下命令",
- "note_cannot_be_changed_later": "注意:此项一旦设定,后续无法更改!",
- "note_unlimited_quota": "提示:输入0表示无限制配额",
+ "note_apply_storage_label_previous_assets": "提示:要将存储标签应用于之前上传的项目,需要运行",
+ "note_cannot_be_changed_later": "注意:此项一旦设定,以后无法更改!",
+ "note_unlimited_quota": "提示:输入0表示无限制",
"notification_email_from_address": "发件人地址",
- "notification_email_from_address_description": "发件人邮箱地址,例如“Immich Photo Server {label}
是用户的存储标签",
"system_settings": "系统设置",
+ "tag_cleanup_job": "清理标签",
"theme_custom_css_settings": "自定义CSS",
"theme_custom_css_settings_description": "可以通过CSS自定义Immich外观。",
"theme_settings": "主题设置",
- "theme_settings_description": "管理Immich web界面定制",
+ "theme_settings_description": "管理Immich web界面的定制",
"these_files_matched_by_checksum": "这些文件与校验匹配",
"thumbnail_generation_job": "生成缩略图",
"thumbnail_generation_job_description": "为每个项目生成不同尺寸的缩略图,并为每个人物生成缩略图",
@@ -244,7 +265,7 @@
"transcoding_acceleration_api": "加速器API",
"transcoding_acceleration_api_description": "这个API将与您的设备交互,以加速转码过程。此设置为“尽力而为”——如果转码失败,将回到软件转码。VP9是否工作取决于您的硬件配置。",
"transcoding_acceleration_nvenc": "NVENC(需要 NVIDIA GPU)",
- "transcoding_acceleration_qsv": "快速同步(需要 7代及以上的 Intel CPU)",
+ "transcoding_acceleration_qsv": "快速同步(需要Intel 7代及以上的 CPU)",
"transcoding_acceleration_rkmpp": "RKMPP(仅适用于 Rockchip SOCs)",
"transcoding_acceleration_vaapi": "VAAPI",
"transcoding_accepted_audio_codecs": "支持的音频编解码器",
@@ -260,44 +281,44 @@
"transcoding_codecs_learn_more": "要了解此处使用的术语详情,请参见FFmpeg文档docker-compose.yml
和.env
文件,避免存在错误配置,特别是当你是使用WatchTower或其它类似的自动升级工具时。",
+ "version_announcement_message": "嗨,朋友,当前应用出新版本了,请抽空阅读一下发行说明,并及时更新你的docker-compose.yml
和.env
文件,避免存在配置错误,特别是当你是使用WatchTower或其它类似的自动升级工具时。",
+ "version_history": "版本历史",
+ "version_history_item": "在 {date} 安装版本 {version}",
"video": "视频",
"video_hover_setting": "鼠标悬停时播放视频缩略图",
"video_hover_setting_description": "当鼠标悬停在项目上时播放视频缩略图。即使禁用了这个功能,也可以通过将鼠标悬停在播放图标上来开始播放。",
@@ -1285,17 +1380,18 @@
"view_album": "查看相册",
"view_all": "查看全部",
"view_all_users": "查看全部用户",
+ "view_in_timeline": "在时间轴中查看",
"view_links": "查看链接",
"view_next_asset": "查看下一项",
"view_previous_asset": "查看上一项",
"view_stack": "查看堆叠项目",
"viewer": "预览",
"visibility_changed": "{count, plural, one {#个人物} other {#个人物}}的可见性已修改",
- "waiting": "队列中",
+ "waiting": "准备处理",
"warning": "警告",
"week": "周",
"welcome": "欢迎",
- "welcome_to_immich": "欢迎使用immich",
+ "welcome_to_immich": "欢迎使用 Immich",
"year": "年",
"years_ago": "{years, plural, one {#年} other {#年}}前",
"yes": "是",
diff --git a/localizely.yml b/localizely.yml
index 343464284a..5d119fe9d8 100644
--- a/localizely.yml
+++ b/localizely.yml
@@ -52,7 +52,7 @@ download:
locale_code: nb-NO
- file: mobile/assets/i18n/sv-SE.json
locale_code: sv-SE
- - file: mobile/assets/i18n/mn.json
+ - file: mobile/assets/i18n/mn-MN.json
locale_code: mn
- file: mobile/assets/i18n/ko-KR.json
locale_code: ko-KR
diff --git a/machine-learning/Dockerfile b/machine-learning/Dockerfile
index 87c930f1ce..fa654d70b7 100644
--- a/machine-learning/Dockerfile
+++ b/machine-learning/Dockerfile
@@ -1,12 +1,12 @@
ARG DEVICE=cpu
-FROM python:3.11-bookworm@sha256:ef4b550f029a76b94f8e6cc6e4a8ed0e870fc6c5af1c4e9d77faaea50f41f6cd as builder-cpu
+FROM python:3.11-bookworm@sha256:70f1eb2927a8ef72840254b17024d3a8aa8c3c9715a625d426a2861b5899bc62 AS builder-cpu
-FROM builder-cpu as builder-openvino
+FROM builder-cpu AS builder-openvino
-FROM builder-cpu as builder-cuda
+FROM builder-cpu AS builder-cuda
-FROM builder-cpu as builder-armnn
+FROM builder-cpu AS builder-armnn
ENV ARMNN_PATH=/opt/armnn
COPY ann /opt/ann
@@ -15,7 +15,7 @@ RUN mkdir /opt/armnn && \
cd /opt/ann && \
sh build.sh
-FROM builder-${DEVICE} as builder
+FROM builder-${DEVICE} AS builder
ARG DEVICE
ENV PYTHONDONTWRITEBYTECODE=1 \
@@ -34,23 +34,33 @@ RUN python3 -m venv /opt/venv
COPY poetry.lock pyproject.toml ./
RUN poetry install --sync --no-interaction --no-ansi --no-root --with ${DEVICE} --without dev
-FROM python:3.11-slim-bookworm@sha256:ee317183d292ee6ed30e90bc325043ca3f7d2e8c79ac5019575490b5256ae244 as prod-cpu
+FROM python:3.11-slim-bookworm@sha256:5148c0e4bbb64271bca1d3322360ebf4bfb7564507ae32dd639322e4952a6b16 AS prod-cpu
-FROM prod-cpu as prod-openvino
+FROM prod-cpu AS prod-openvino
-COPY scripts/configure-apt.sh ./
-RUN ./configure-apt.sh && \
- apt-get update && \
- apt-get install -t unstable --no-install-recommends -yqq intel-opencl-icd && \
- rm configure-apt.sh
+RUN apt-get update && \
+ apt-get install --no-install-recommends -yqq ocl-icd-libopencl1 wget && \
+ wget https://github.com/intel/intel-graphics-compiler/releases/download/igc-1.0.17384.11/intel-igc-core_1.0.17384.11_amd64.deb && \
+ wget https://github.com/intel/intel-graphics-compiler/releases/download/igc-1.0.17384.11/intel-igc-opencl_1.0.17384.11_amd64.deb && \
+ wget https://github.com/intel/compute-runtime/releases/download/24.31.30508.7/intel-opencl-icd_24.31.30508.7_amd64.deb && \
+ wget https://github.com/intel/compute-runtime/releases/download/24.31.30508.7/libigdgmm12_22.4.1_amd64.deb && \
+ dpkg -i *.deb && \
+ rm *.deb && \
+ apt-get remove wget -yqq && \
+ rm -rf /var/lib/apt/lists/*
-FROM nvidia/cuda:12.3.2-cudnn9-runtime-ubuntu22.04@sha256:fa44193567d1908f7ca1f3abf8623ce9c63bc8cba7bcfdb32702eb04d326f7a8 as prod-cuda
+FROM nvidia/cuda:12.2.2-runtime-ubuntu22.04@sha256:94c1577b2cd9dd6c0312dc04dff9cb2fdce2b268018abc3d7c2dbcacf1155000 AS prod-cuda
+
+RUN apt-get update && \
+ apt-get install --no-install-recommends -yqq libcudnn9-cuda-12 && \
+ apt-get clean && \
+ rm -rf /var/lib/apt/lists/*
COPY --from=builder-cuda /usr/local/bin/python3 /usr/local/bin/python3
COPY --from=builder-cuda /usr/local/lib/python3.11 /usr/local/lib/python3.11
COPY --from=builder-cuda /usr/local/lib/libpython3.11.so /usr/local/lib/libpython3.11.so
-FROM prod-cpu as prod-armnn
+FROM prod-cpu AS prod-armnn
ENV LD_LIBRARY_PATH=/opt/armnn
@@ -70,7 +80,7 @@ COPY --from=builder-armnn \
/opt/ann/build.sh \
/opt/armnn/
-FROM prod-${DEVICE} as prod
+FROM prod-${DEVICE} AS prod
ARG DEVICE
RUN apt-get update && \
@@ -94,7 +104,7 @@ RUN echo "hard core 0" >> /etc/security/limits.conf && \
COPY --from=builder /opt/venv /opt/venv
COPY ann/ann.py /usr/src/ann/ann.py
-COPY start.sh log_conf.json ./
+COPY start.sh log_conf.json gunicorn_conf.py ./
COPY app .
ENTRYPOINT ["tini", "--"]
CMD ["./start.sh"]
diff --git a/machine-learning/app/config.py b/machine-learning/app/config.py
index af2d0aa4b9..92799ac692 100644
--- a/machine-learning/app/config.py
+++ b/machine-learning/app/config.py
@@ -6,7 +6,8 @@ from pathlib import Path
from socket import socket
from gunicorn.arbiter import Arbiter
-from pydantic import BaseModel, BaseSettings
+from pydantic import BaseModel
+from pydantic_settings import BaseSettings, SettingsConfigDict
from rich.console import Console
from rich.logging import RichHandler
from uvicorn import Server
@@ -14,11 +15,22 @@ from uvicorn.workers import UvicornWorker
class PreloadModelData(BaseModel):
- clip: str | None
- facial_recognition: str | None
+ clip: str | None = None
+ facial_recognition: str | None = None
+
+
+class MaxBatchSize(BaseModel):
+ facial_recognition: int | None = None
class Settings(BaseSettings):
+ model_config = SettingsConfigDict(
+ env_prefix="MACHINE_LEARNING_",
+ case_sensitive=False,
+ env_nested_delimiter="__",
+ protected_namespaces=("settings_",),
+ )
+
cache_folder: Path = Path("/cache")
model_ttl: int = 300
model_ttl_poll_s: int = 10
@@ -33,20 +45,19 @@ class Settings(BaseSettings):
ann_fp16_turbo: bool = False
ann_tuning_level: int = 2
preload: PreloadModelData | None = None
+ max_batch_size: MaxBatchSize | None = None
- class Config:
- env_prefix = "MACHINE_LEARNING_"
- case_sensitive = False
- env_nested_delimiter = "__"
+ @property
+ def device_id(self) -> str:
+ return os.environ.get("MACHINE_LEARNING_DEVICE_ID", "0")
class LogSettings(BaseSettings):
+ model_config = SettingsConfigDict(case_sensitive=False)
+
immich_log_level: str = "info"
no_color: bool = False
- class Config:
- case_sensitive = False
-
_clean_name = str.maketrans(":\\/", "___", ".")
diff --git a/machine-learning/app/main.py b/machine-learning/app/main.py
index 000119937e..684001b875 100644
--- a/machine-learning/app/main.py
+++ b/machine-learning/app/main.py
@@ -12,7 +12,7 @@ from zipfile import BadZipFile
import orjson
from fastapi import Depends, FastAPI, File, Form, HTTPException
-from fastapi.responses import ORJSONResponse
+from fastapi.responses import ORJSONResponse, PlainTextResponse
from onnxruntime.capi.onnxruntime_pybind11_state import InvalidProtobuf, NoSuchFile
from PIL.Image import Image
from pydantic import ValidationError
@@ -28,14 +28,12 @@ from .schemas import (
InferenceEntries,
InferenceEntry,
InferenceResponse,
- MessageResponse,
ModelFormat,
ModelIdentity,
ModelTask,
ModelType,
PipelineRequest,
T,
- TextResponse,
)
MultiPartParser.max_file_size = 2**26 # spools to disk if payload is 64 MiB or larger
@@ -127,14 +125,14 @@ def get_entries(entries: str = Form()) -> InferenceEntries:
app = FastAPI(lifespan=lifespan)
-@app.get("/", response_model=MessageResponse)
-async def root() -> dict[str, str]:
- return {"message": "Immich ML"}
+@app.get("/")
+async def root() -> ORJSONResponse:
+ return ORJSONResponse({"message": "Immich ML"})
-@app.get("/ping", response_model=TextResponse)
-def ping() -> str:
- return "pong"
+@app.get("/ping")
+def ping() -> PlainTextResponse:
+ return PlainTextResponse("pong")
@app.post("/predict", dependencies=[Depends(update_state)])
diff --git a/machine-learning/app/models/base.py b/machine-learning/app/models/base.py
index 1c019969b4..3bbd1a0289 100644
--- a/machine-learning/app/models/base.py
+++ b/machine-learning/app/models/base.py
@@ -71,7 +71,6 @@ class InferenceModel(ABC):
f"immich-app/{clean_name(self.model_name)}",
cache_dir=self.cache_dir,
local_dir=self.cache_dir,
- local_dir_use_symlinks=False,
ignore_patterns=ignore_patterns,
)
diff --git a/machine-learning/app/models/clip/textual.py b/machine-learning/app/models/clip/textual.py
index 7a25c2f4ad..32c28ea2bb 100644
--- a/machine-learning/app/models/clip/textual.py
+++ b/machine-learning/app/models/clip/textual.py
@@ -10,6 +10,7 @@ from tokenizers import Encoding, Tokenizer
from app.config import log
from app.models.base import InferenceModel
+from app.models.transforms import clean_text
from app.schemas import ModelSession, ModelTask, ModelType
@@ -25,6 +26,8 @@ class BaseCLIPTextualEncoder(InferenceModel):
session = super()._load()
log.debug(f"Loading tokenizer for CLIP model '{self.model_name}'")
self.tokenizer = self._load_tokenizer()
+ tokenizer_kwargs: dict[str, Any] | None = self.text_cfg.get("tokenizer_kwargs")
+ self.canonicalize = tokenizer_kwargs is not None and tokenizer_kwargs.get("clean") == "canonicalize"
log.debug(f"Loaded tokenizer for CLIP model '{self.model_name}'")
return session
@@ -56,6 +59,11 @@ class BaseCLIPTextualEncoder(InferenceModel):
log.debug(f"Loaded model config for CLIP model '{self.model_name}'")
return model_cfg
+ @property
+ def text_cfg(self) -> dict[str, Any]:
+ text_cfg: dict[str, Any] = self.model_cfg["text_cfg"]
+ return text_cfg
+
@cached_property
def tokenizer_file(self) -> dict[str, Any]:
log.debug(f"Loading tokenizer file for CLIP model '{self.model_name}'")
@@ -73,8 +81,7 @@ class BaseCLIPTextualEncoder(InferenceModel):
class OpenClipTextualEncoder(BaseCLIPTextualEncoder):
def _load_tokenizer(self) -> Tokenizer:
- text_cfg: dict[str, Any] = self.model_cfg["text_cfg"]
- context_length: int = text_cfg.get("context_length", 77)
+ context_length: int = self.text_cfg.get("context_length", 77)
pad_token: str = self.tokenizer_cfg["pad_token"]
tokenizer: Tokenizer = Tokenizer.from_file(self.tokenizer_file_path.as_posix())
@@ -86,12 +93,14 @@ class OpenClipTextualEncoder(BaseCLIPTextualEncoder):
return tokenizer
def tokenize(self, text: str) -> dict[str, NDArray[np.int32]]:
+ text = clean_text(text, canonicalize=self.canonicalize)
tokens: Encoding = self.tokenizer.encode(text)
return {"text": np.array([tokens.ids], dtype=np.int32)}
class MClipTextualEncoder(OpenClipTextualEncoder):
def tokenize(self, text: str) -> dict[str, NDArray[np.int32]]:
+ text = clean_text(text, canonicalize=self.canonicalize)
tokens: Encoding = self.tokenizer.encode(text)
return {
"input_ids": np.array([tokens.ids], dtype=np.int32),
diff --git a/machine-learning/app/models/facial_recognition/recognition.py b/machine-learning/app/models/facial_recognition/recognition.py
index d9ceb12b6d..dcfb6b530e 100644
--- a/machine-learning/app/models/facial_recognition/recognition.py
+++ b/machine-learning/app/models/facial_recognition/recognition.py
@@ -3,17 +3,17 @@ from typing import Any
import numpy as np
import onnx
+import onnxruntime as ort
from insightface.model_zoo import ArcFaceONNX
from insightface.utils.face_align import norm_crop
from numpy.typing import NDArray
from onnx.tools.update_model_dims import update_inputs_outputs_dims
from PIL import Image
-from app.config import log
+from app.config import log, settings
from app.models.base import InferenceModel
from app.models.transforms import decode_cv2
from app.schemas import FaceDetectionOutput, FacialRecognitionOutput, ModelFormat, ModelSession, ModelTask, ModelType
-from app.sessions import has_batch_axis
class FaceRecognizer(InferenceModel):
@@ -23,11 +23,12 @@ class FaceRecognizer(InferenceModel):
def __init__(self, model_name: str, min_score: float = 0.7, **model_kwargs: Any) -> None:
super().__init__(model_name, **model_kwargs)
self.min_score = model_kwargs.pop("minScore", min_score)
- self.batch = self.model_format == ModelFormat.ONNX
+ max_batch_size = settings.max_batch_size.facial_recognition if settings.max_batch_size else None
+ self.batch_size = max_batch_size if max_batch_size else self._batch_size_default
def _load(self) -> ModelSession:
session = self._make_session(self.model_path)
- if self.batch and not has_batch_axis(session):
+ if (not self.batch_size or self.batch_size > 1) and str(session.get_inputs()[0].shape[0]) != "batch":
self._add_batch_axis(self.model_path)
session = self._make_session(self.model_path)
self.model = ArcFaceONNX(
@@ -43,18 +44,18 @@ class FaceRecognizer(InferenceModel):
return []
inputs = decode_cv2(inputs)
cropped_faces = self._crop(inputs, faces)
- embeddings = self._predict_batch(cropped_faces) if self.batch else self._predict_single(cropped_faces)
+ embeddings = self._predict_batch(cropped_faces)
return self.postprocess(faces, embeddings)
def _predict_batch(self, cropped_faces: list[NDArray[np.uint8]]) -> NDArray[np.float32]:
- embeddings: NDArray[np.float32] = self.model.get_feat(cropped_faces)
- return embeddings
+ if not self.batch_size or len(cropped_faces) <= self.batch_size:
+ embeddings: NDArray[np.float32] = self.model.get_feat(cropped_faces)
+ return embeddings
- def _predict_single(self, cropped_faces: list[NDArray[np.uint8]]) -> NDArray[np.float32]:
- embeddings: list[NDArray[np.float32]] = []
- for face in cropped_faces:
- embeddings.append(self.model.get_feat(face))
- return np.concatenate(embeddings, axis=0)
+ batch_embeddings: list[NDArray[np.float32]] = []
+ for i in range(0, len(cropped_faces), self.batch_size):
+ batch_embeddings.append(self.model.get_feat(cropped_faces[i : i + self.batch_size]))
+ return np.concatenate(batch_embeddings, axis=0)
def postprocess(self, faces: FaceDetectionOutput, embeddings: NDArray[np.float32]) -> FacialRecognitionOutput:
return [
@@ -78,3 +79,8 @@ class FaceRecognizer(InferenceModel):
output_dims = {proto.graph.output[0].name: ["batch"] + static_output_dims}
updated_proto = update_inputs_outputs_dims(proto, input_dims, output_dims)
onnx.save(updated_proto, model_path)
+
+ @property
+ def _batch_size_default(self) -> int | None:
+ providers = ort.get_available_providers()
+ return None if self.model_format == ModelFormat.ONNX and "OpenVINOExecutionProvider" not in providers else 1
diff --git a/machine-learning/app/models/transforms.py b/machine-learning/app/models/transforms.py
index cae9b6b1ab..bb03103d4b 100644
--- a/machine-learning/app/models/transforms.py
+++ b/machine-learning/app/models/transforms.py
@@ -1,3 +1,4 @@
+import string
from io import BytesIO
from typing import IO
@@ -7,6 +8,7 @@ from numpy.typing import NDArray
from PIL import Image
_PIL_RESAMPLING_METHODS = {resampling.name.lower(): resampling for resampling in Image.Resampling}
+_PUNCTUATION_TRANS = str.maketrans("", "", string.punctuation)
def resize_pil(img: Image.Image, size: int) -> Image.Image:
@@ -60,3 +62,10 @@ def decode_cv2(image_bytes: NDArray[np.uint8] | bytes | Image.Image) -> NDArray[
if isinstance(image_bytes, Image.Image):
return pil_to_cv2(image_bytes)
return image_bytes
+
+
+def clean_text(text: str, canonicalize: bool = False) -> str:
+ text = " ".join(text.split())
+ if canonicalize:
+ text = text.translate(_PUNCTUATION_TRANS).lower()
+ return text
diff --git a/machine-learning/app/schemas.py b/machine-learning/app/schemas.py
index f051db12c3..a7ce2ee60d 100644
--- a/machine-learning/app/schemas.py
+++ b/machine-learning/app/schemas.py
@@ -1,9 +1,9 @@
from enum import Enum
-from typing import Any, Literal, Protocol, TypedDict, TypeGuard, TypeVar
+from typing import Any, Literal, Protocol, TypeGuard, TypeVar
import numpy as np
import numpy.typing as npt
-from pydantic import BaseModel
+from typing_extensions import TypedDict
class StrEnum(str, Enum):
@@ -13,14 +13,6 @@ class StrEnum(str, Enum):
return self.value
-class TextResponse(BaseModel):
- __root__: str
-
-
-class MessageResponse(BaseModel):
- message: str
-
-
class BoundingBox(TypedDict):
x1: int
y1: int
diff --git a/machine-learning/app/sessions/__init__.py b/machine-learning/app/sessions/__init__.py
index e0c00ea4a0..e69de29bb2 100644
--- a/machine-learning/app/sessions/__init__.py
+++ b/machine-learning/app/sessions/__init__.py
@@ -1,5 +0,0 @@
-from app.schemas import ModelSession
-
-
-def has_batch_axis(session: ModelSession) -> bool:
- return not isinstance(session.get_inputs()[0].shape[0], int) or session.get_inputs()[0].shape[0] < 0
diff --git a/machine-learning/app/sessions/ort.py b/machine-learning/app/sessions/ort.py
index 1a244b7c57..00c7ad50a9 100644
--- a/machine-learning/app/sessions/ort.py
+++ b/machine-learning/app/sessions/ort.py
@@ -86,11 +86,13 @@ class OrtSession:
provider_options = []
for provider in self.providers:
match provider:
- case "CPUExecutionProvider" | "CUDAExecutionProvider":
+ case "CPUExecutionProvider":
options = {"arena_extend_strategy": "kSameAsRequested"}
+ case "CUDAExecutionProvider":
+ options = {"arena_extend_strategy": "kSameAsRequested", "device_id": settings.device_id}
case "OpenVINOExecutionProvider":
options = {
- "device_type": "GPU",
+ "device_type": f"GPU.{settings.device_id}",
"precision": "FP32",
"cache_dir": (self.model_path.parent / "openvino").as_posix(),
}
diff --git a/machine-learning/app/test_main.py b/machine-learning/app/test_main.py
index fb3542e7e4..e5cb63997c 100644
--- a/machine-learning/app/test_main.py
+++ b/machine-learning/app/test_main.py
@@ -124,7 +124,6 @@ class TestBase:
"immich-app/ViT-B-32__openai",
cache_dir=encoder.cache_dir,
local_dir=encoder.cache_dir,
- local_dir_use_symlinks=False,
ignore_patterns=["*.armnn"],
)
@@ -136,7 +135,6 @@ class TestBase:
"immich-app/ViT-B-32__openai",
cache_dir=encoder.cache_dir,
local_dir=encoder.cache_dir,
- local_dir_use_symlinks=False,
ignore_patterns=[],
)
@@ -212,10 +210,24 @@ class TestOrtSession:
session = OrtSession(model_path, providers=["OpenVINOExecutionProvider", "CPUExecutionProvider"])
assert session.provider_options == [
- {"device_type": "GPU", "precision": "FP32", "cache_dir": "/cache/ViT-B-32__openai/openvino"},
+ {"device_type": "GPU.0", "precision": "FP32", "cache_dir": "/cache/ViT-B-32__openai/openvino"},
{"arena_extend_strategy": "kSameAsRequested"},
]
+ def test_sets_device_id_for_openvino(self) -> None:
+ os.environ["MACHINE_LEARNING_DEVICE_ID"] = "1"
+
+ session = OrtSession("ViT-B-32__openai", providers=["OpenVINOExecutionProvider"])
+
+ assert session.provider_options[0]["device_type"] == "GPU.1"
+
+ def test_sets_device_id_for_cuda(self) -> None:
+ os.environ["MACHINE_LEARNING_DEVICE_ID"] = "1"
+
+ session = OrtSession("ViT-B-32__openai", providers=["CUDAExecutionProvider"])
+
+ assert session.provider_options[0]["device_id"] == "1"
+
def test_sets_provider_options_kwarg(self) -> None:
session = OrtSession(
"ViT-B-32__openai",
@@ -379,13 +391,40 @@ class TestCLIP:
clip_encoder = OpenClipTextualEncoder("ViT-B-32__openai", cache_dir="test_cache")
clip_encoder._load()
- tokens = clip_encoder.tokenize("test search query")
+ tokens = clip_encoder.tokenize("test search query")
assert "text" in tokens
assert isinstance(tokens["text"], np.ndarray)
assert tokens["text"].shape == (1, 77)
assert tokens["text"].dtype == np.int32
assert np.allclose(tokens["text"], np.array([mock_ids], dtype=np.int32), atol=0)
+ mock_tokenizer.encode.assert_called_once_with("test search query")
+
+ def test_openclip_tokenizer_canonicalizes_text(
+ self,
+ mocker: MockerFixture,
+ clip_model_cfg: dict[str, Any],
+ clip_tokenizer_cfg: Callable[[Path], dict[str, Any]],
+ ) -> None:
+ clip_model_cfg["text_cfg"]["tokenizer_kwargs"] = {"clean": "canonicalize"}
+ mocker.patch.object(OpenClipTextualEncoder, "download")
+ mocker.patch.object(OpenClipTextualEncoder, "model_cfg", clip_model_cfg)
+ mocker.patch.object(OpenClipTextualEncoder, "tokenizer_cfg", clip_tokenizer_cfg)
+ mocker.patch.object(InferenceModel, "_make_session", autospec=True).return_value
+ mock_tokenizer = mocker.patch("app.models.clip.textual.Tokenizer.from_file", autospec=True).return_value
+ mock_ids = [randint(0, 50000) for _ in range(77)]
+ mock_tokenizer.encode.return_value = SimpleNamespace(ids=mock_ids)
+
+ clip_encoder = OpenClipTextualEncoder("ViT-B-32__openai", cache_dir="test_cache")
+ clip_encoder._load()
+ tokens = clip_encoder.tokenize("Test Search Query!")
+
+ assert "text" in tokens
+ assert isinstance(tokens["text"], np.ndarray)
+ assert tokens["text"].shape == (1, 77)
+ assert tokens["text"].dtype == np.int32
+ assert np.allclose(tokens["text"], np.array([mock_ids], dtype=np.int32), atol=0)
+ mock_tokenizer.encode.assert_called_once_with("test search query")
def test_mclip_tokenizer(
self,
@@ -510,7 +549,7 @@ class TestFaceRecognition:
face_recognizer = FaceRecognizer("buffalo_s", cache_dir=path)
face_recognizer.load()
- assert face_recognizer.batch is True
+ assert face_recognizer.batch_size is None
update_dims.assert_called_once_with(proto, {"input.1": ["batch", 3, 224, 224]}, {"output.1": ["batch", 800]})
onnx.save.assert_called_once_with(update_dims.return_value, face_recognizer.model_path)
@@ -533,7 +572,7 @@ class TestFaceRecognition:
face_recognizer = FaceRecognizer("buffalo_s", cache_dir=path)
face_recognizer.load()
- assert face_recognizer.batch is True
+ assert face_recognizer.batch_size is None
update_dims.assert_not_called()
onnx.load.assert_not_called()
onnx.save.assert_not_called()
@@ -557,7 +596,33 @@ class TestFaceRecognition:
face_recognizer = FaceRecognizer("buffalo_s", model_format=ModelFormat.ARMNN, cache_dir=path)
face_recognizer.load()
- assert face_recognizer.batch is False
+ assert face_recognizer.batch_size == 1
+ update_dims.assert_not_called()
+ onnx.load.assert_not_called()
+ onnx.save.assert_not_called()
+
+ def test_recognition_does_not_add_batch_axis_for_openvino(
+ self, ort_session: mock.Mock, path: mock.Mock, mocker: MockerFixture
+ ) -> None:
+ onnx = mocker.patch("app.models.facial_recognition.recognition.onnx", autospec=True)
+ update_dims = mocker.patch(
+ "app.models.facial_recognition.recognition.update_inputs_outputs_dims", autospec=True
+ )
+ mocker.patch("app.models.base.InferenceModel.download")
+ mocker.patch("app.models.facial_recognition.recognition.ArcFaceONNX")
+ path.return_value.__truediv__.return_value.__truediv__.return_value.suffix = ".onnx"
+
+ inputs = [SimpleNamespace(name="input.1", shape=("batch", 3, 224, 224))]
+ outputs = [SimpleNamespace(name="output.1", shape=("batch", 800))]
+ ort_session.return_value.get_inputs.return_value = inputs
+ ort_session.return_value.get_outputs.return_value = outputs
+
+ face_recognizer = FaceRecognizer(
+ "buffalo_s", model_format=ModelFormat.ARMNN, cache_dir=path, providers=["OpenVINOExecutionProvider"]
+ )
+ face_recognizer.load()
+
+ assert face_recognizer.batch_size == 1
update_dims.assert_not_called()
onnx.load.assert_not_called()
onnx.save.assert_not_called()
@@ -771,11 +836,26 @@ class TestLoad:
mock_model.model_format = ModelFormat.ONNX
+def test_root_endpoint(deployed_app: TestClient) -> None:
+ response = deployed_app.get("http://localhost:3003")
+
+ body = response.json()
+ assert response.status_code == 200
+ assert body == {"message": "Immich ML"}
+
+
+def test_ping_endpoint(deployed_app: TestClient) -> None:
+ response = deployed_app.get("http://localhost:3003/ping")
+
+ assert response.status_code == 200
+ assert response.text == "pong"
+
+
@pytest.mark.skipif(
not settings.test_full,
reason="More time-consuming since it deploys the app and loads models.",
)
-class TestEndpoints:
+class TestPredictionEndpoints:
def test_clip_image_endpoint(
self, pil_image: Image.Image, responses: dict[str, Any], deployed_app: TestClient
) -> None:
diff --git a/machine-learning/export/Dockerfile b/machine-learning/export/Dockerfile
index 7edd525662..195e64ab35 100644
--- a/machine-learning/export/Dockerfile
+++ b/machine-learning/export/Dockerfile
@@ -1,4 +1,4 @@
-FROM mambaorg/micromamba:bookworm-slim@sha256:94d6837f023c0fc0bb68782dd2a984ff7fe0e21ea7e533056c9b8ca060e31de2 as builder
+FROM mambaorg/micromamba:bookworm-slim@sha256:e3797091302382ea841498bc93a7b0a50f7c1448333d5e946d2d1608d0c5f43d AS builder
ENV TRANSFORMERS_CACHE=/cache \
PYTHONDONTWRITEBYTECODE=1 \
diff --git a/machine-learning/gunicorn_conf.py b/machine-learning/gunicorn_conf.py
new file mode 100644
index 0000000000..efec3a95aa
--- /dev/null
+++ b/machine-learning/gunicorn_conf.py
@@ -0,0 +1,12 @@
+import os
+
+from gunicorn.arbiter import Arbiter
+from gunicorn.workers.base import Worker
+
+device_ids = os.environ.get("MACHINE_LEARNING_DEVICE_IDS", "0").replace(" ", "").split(",")
+env = os.environ
+
+
+# Round-robin device assignment for each worker
+def pre_fork(arbiter: Arbiter, _: Worker) -> None:
+ env["MACHINE_LEARNING_DEVICE_ID"] = device_ids[len(arbiter.WORKERS) % len(device_ids)]
diff --git a/machine-learning/poetry.lock b/machine-learning/poetry.lock
index d00b1349ec..a2da285750 100644
--- a/machine-learning/poetry.lock
+++ b/machine-learning/poetry.lock
@@ -1,14 +1,14 @@
-# This file is automatically @generated by Poetry 1.8.3 and should not be changed by hand.
+# This file is automatically @generated by Poetry 1.8.4 and should not be changed by hand.
[[package]]
name = "aiocache"
-version = "0.12.2"
+version = "0.12.3"
description = "multi backend asyncio cache"
optional = false
python-versions = "*"
files = [
- {file = "aiocache-0.12.2-py2.py3-none-any.whl", hash = "sha256:9b6fa30634ab0bfc3ecc44928a91ff07c6ea16d27d55469636b296ebc6eb5918"},
- {file = "aiocache-0.12.2.tar.gz", hash = "sha256:b41c9a145b050a5dcbae1599f847db6dd445193b1f3bd172d8e0fe0cb9e96684"},
+ {file = "aiocache-0.12.3-py2.py3-none-any.whl", hash = "sha256:889086fc24710f431937b87ad3720a289f7fc31c4fd8b68e9f918b9bacd8270d"},
+ {file = "aiocache-0.12.3.tar.gz", hash = "sha256:f528b27bf4d436b497a1d0d1a8f59a542c153ab1e37c3621713cb376d44c4713"},
]
[package.extras]
@@ -40,6 +40,17 @@ develop = ["imgaug (>=0.4.0)", "pytest"]
imgaug = ["imgaug (>=0.4.0)"]
tests = ["pytest"]
+[[package]]
+name = "annotated-types"
+version = "0.7.0"
+description = "Reusable constraint types to use with typing.Annotated"
+optional = false
+python-versions = ">=3.8"
+files = [
+ {file = "annotated_types-0.7.0-py3-none-any.whl", hash = "sha256:1f02e8b43a8fbbc3f3e0d4f0f4bfc8131bcb4eebe8849b8e5c773f3a1c582a53"},
+ {file = "annotated_types-0.7.0.tar.gz", hash = "sha256:aff07c09a53a08bc8cfccb9c85b05f1aa9a2a6f23728d790723543408344ce89"},
+]
+
[[package]]
name = "anyio"
version = "4.2.0"
@@ -64,33 +75,33 @@ trio = ["trio (>=0.23)"]
[[package]]
name = "black"
-version = "24.4.2"
+version = "24.10.0"
description = "The uncompromising code formatter."
optional = false
-python-versions = ">=3.8"
+python-versions = ">=3.9"
files = [
- {file = "black-24.4.2-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:dd1b5a14e417189db4c7b64a6540f31730713d173f0b63e55fabd52d61d8fdce"},
- {file = "black-24.4.2-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:8e537d281831ad0e71007dcdcbe50a71470b978c453fa41ce77186bbe0ed6021"},
- {file = "black-24.4.2-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:eaea3008c281f1038edb473c1aa8ed8143a5535ff18f978a318f10302b254063"},
- {file = "black-24.4.2-cp310-cp310-win_amd64.whl", hash = "sha256:7768a0dbf16a39aa5e9a3ded568bb545c8c2727396d063bbaf847df05b08cd96"},
- {file = "black-24.4.2-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:257d724c2c9b1660f353b36c802ccece186a30accc7742c176d29c146df6e474"},
- {file = "black-24.4.2-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:bdde6f877a18f24844e381d45e9947a49e97933573ac9d4345399be37621e26c"},
- {file = "black-24.4.2-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:e151054aa00bad1f4e1f04919542885f89f5f7d086b8a59e5000e6c616896ffb"},
- {file = "black-24.4.2-cp311-cp311-win_amd64.whl", hash = "sha256:7e122b1c4fb252fd85df3ca93578732b4749d9be076593076ef4d07a0233c3e1"},
- {file = "black-24.4.2-cp312-cp312-macosx_10_9_x86_64.whl", hash = "sha256:accf49e151c8ed2c0cdc528691838afd217c50412534e876a19270fea1e28e2d"},
- {file = "black-24.4.2-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:88c57dc656038f1ab9f92b3eb5335ee9b021412feaa46330d5eba4e51fe49b04"},
- {file = "black-24.4.2-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:be8bef99eb46d5021bf053114442914baeb3649a89dc5f3a555c88737e5e98fc"},
- {file = "black-24.4.2-cp312-cp312-win_amd64.whl", hash = "sha256:415e686e87dbbe6f4cd5ef0fbf764af7b89f9057b97c908742b6008cc554b9c0"},
- {file = "black-24.4.2-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:bf10f7310db693bb62692609b397e8d67257c55f949abde4c67f9cc574492cc7"},
- {file = "black-24.4.2-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:98e123f1d5cfd42f886624d84464f7756f60ff6eab89ae845210631714f6db94"},
- {file = "black-24.4.2-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:48a85f2cb5e6799a9ef05347b476cce6c182d6c71ee36925a6c194d074336ef8"},
- {file = "black-24.4.2-cp38-cp38-win_amd64.whl", hash = "sha256:b1530ae42e9d6d5b670a34db49a94115a64596bc77710b1d05e9801e62ca0a7c"},
- {file = "black-24.4.2-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:37aae07b029fa0174d39daf02748b379399b909652a806e5708199bd93899da1"},
- {file = "black-24.4.2-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:da33a1a5e49c4122ccdfd56cd021ff1ebc4a1ec4e2d01594fef9b6f267a9e741"},
- {file = "black-24.4.2-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:ef703f83fc32e131e9bcc0a5094cfe85599e7109f896fe8bc96cc402f3eb4b6e"},
- {file = "black-24.4.2-cp39-cp39-win_amd64.whl", hash = "sha256:b9176b9832e84308818a99a561e90aa479e73c523b3f77afd07913380ae2eab7"},
- {file = "black-24.4.2-py3-none-any.whl", hash = "sha256:d36ed1124bb81b32f8614555b34cc4259c3fbc7eec17870e8ff8ded335b58d8c"},
- {file = "black-24.4.2.tar.gz", hash = "sha256:c872b53057f000085da66a19c55d68f6f8ddcac2642392ad3a355878406fbd4d"},
+ {file = "black-24.10.0-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:e6668650ea4b685440857138e5fe40cde4d652633b1bdffc62933d0db4ed9812"},
+ {file = "black-24.10.0-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:1c536fcf674217e87b8cc3657b81809d3c085d7bf3ef262ead700da345bfa6ea"},
+ {file = "black-24.10.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:649fff99a20bd06c6f727d2a27f401331dc0cc861fb69cde910fe95b01b5928f"},
+ {file = "black-24.10.0-cp310-cp310-win_amd64.whl", hash = "sha256:fe4d6476887de70546212c99ac9bd803d90b42fc4767f058a0baa895013fbb3e"},
+ {file = "black-24.10.0-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:5a2221696a8224e335c28816a9d331a6c2ae15a2ee34ec857dcf3e45dbfa99ad"},
+ {file = "black-24.10.0-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:f9da3333530dbcecc1be13e69c250ed8dfa67f43c4005fb537bb426e19200d50"},
+ {file = "black-24.10.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:4007b1393d902b48b36958a216c20c4482f601569d19ed1df294a496eb366392"},
+ {file = "black-24.10.0-cp311-cp311-win_amd64.whl", hash = "sha256:394d4ddc64782e51153eadcaaca95144ac4c35e27ef9b0a42e121ae7e57a9175"},
+ {file = "black-24.10.0-cp312-cp312-macosx_10_13_x86_64.whl", hash = "sha256:b5e39e0fae001df40f95bd8cc36b9165c5e2ea88900167bddf258bacef9bbdc3"},
+ {file = "black-24.10.0-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:d37d422772111794b26757c5b55a3eade028aa3fde43121ab7b673d050949d65"},
+ {file = "black-24.10.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:14b3502784f09ce2443830e3133dacf2c0110d45191ed470ecb04d0f5f6fcb0f"},
+ {file = "black-24.10.0-cp312-cp312-win_amd64.whl", hash = "sha256:30d2c30dc5139211dda799758559d1b049f7f14c580c409d6ad925b74a4208a8"},
+ {file = "black-24.10.0-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:1cbacacb19e922a1d75ef2b6ccaefcd6e93a2c05ede32f06a21386a04cedb981"},
+ {file = "black-24.10.0-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:1f93102e0c5bb3907451063e08b9876dbeac810e7da5a8bfb7aeb5a9ef89066b"},
+ {file = "black-24.10.0-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:ddacb691cdcdf77b96f549cf9591701d8db36b2f19519373d60d31746068dbf2"},
+ {file = "black-24.10.0-cp313-cp313-win_amd64.whl", hash = "sha256:680359d932801c76d2e9c9068d05c6b107f2584b2a5b88831c83962eb9984c1b"},
+ {file = "black-24.10.0-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:17374989640fbca88b6a448129cd1745c5eb8d9547b464f281b251dd00155ccd"},
+ {file = "black-24.10.0-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:63f626344343083322233f175aaf372d326de8436f5928c042639a4afbbf1d3f"},
+ {file = "black-24.10.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:ccfa1d0cb6200857f1923b602f978386a3a2758a65b52e0950299ea014be6800"},
+ {file = "black-24.10.0-cp39-cp39-win_amd64.whl", hash = "sha256:2cd9c95431d94adc56600710f8813ee27eea544dd118d45896bb734e9d7a0dc7"},
+ {file = "black-24.10.0-py3-none-any.whl", hash = "sha256:3bb2b7a1f7b685f85b11fed1ef10f8a9148bceb49853e47a294a3dd963c1dd7d"},
+ {file = "black-24.10.0.tar.gz", hash = "sha256:846ea64c97afe3bc677b761787993be4991810ecc7a4a937816dd6bddedc4875"},
]
[package.dependencies]
@@ -104,7 +115,7 @@ typing-extensions = {version = ">=4.0.1", markers = "python_version < \"3.11\""}
[package.extras]
colorama = ["colorama (>=0.4.3)"]
-d = ["aiohttp (>=3.7.4)", "aiohttp (>=3.7.4,!=3.9.0)"]
+d = ["aiohttp (>=3.10)"]
jupyter = ["ipython (>=7.8.0)", "tokenize-rt (>=3.2.0)"]
uvloop = ["uvloop (>=0.15.2)"]
@@ -136,6 +147,10 @@ files = [
{file = "Brotli-1.1.0-cp310-cp310-musllinux_1_1_i686.whl", hash = "sha256:a37b8f0391212d29b3a91a799c8e4a2855e0576911cdfb2515487e30e322253d"},
{file = "Brotli-1.1.0-cp310-cp310-musllinux_1_1_ppc64le.whl", hash = "sha256:e84799f09591700a4154154cab9787452925578841a94321d5ee8fb9a9a328f0"},
{file = "Brotli-1.1.0-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:f66b5337fa213f1da0d9000bc8dc0cb5b896b726eefd9c6046f699b169c41b9e"},
+ {file = "Brotli-1.1.0-cp310-cp310-musllinux_1_2_aarch64.whl", hash = "sha256:5dab0844f2cf82be357a0eb11a9087f70c5430b2c241493fc122bb6f2bb0917c"},
+ {file = "Brotli-1.1.0-cp310-cp310-musllinux_1_2_i686.whl", hash = "sha256:e4fe605b917c70283db7dfe5ada75e04561479075761a0b3866c081d035b01c1"},
+ {file = "Brotli-1.1.0-cp310-cp310-musllinux_1_2_ppc64le.whl", hash = "sha256:1e9a65b5736232e7a7f91ff3d02277f11d339bf34099a56cdab6a8b3410a02b2"},
+ {file = "Brotli-1.1.0-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:58d4b711689366d4a03ac7957ab8c28890415e267f9b6589969e74b6e42225ec"},
{file = "Brotli-1.1.0-cp310-cp310-win32.whl", hash = "sha256:be36e3d172dc816333f33520154d708a2657ea63762ec16b62ece02ab5e4daf2"},
{file = "Brotli-1.1.0-cp310-cp310-win_amd64.whl", hash = "sha256:0c6244521dda65ea562d5a69b9a26120769b7a9fb3db2fe9545935ed6735b128"},
{file = "Brotli-1.1.0-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:a3daabb76a78f829cafc365531c972016e4aa8d5b4bf60660ad8ecee19df7ccc"},
@@ -148,8 +163,14 @@ files = [
{file = "Brotli-1.1.0-cp311-cp311-musllinux_1_1_i686.whl", hash = "sha256:19c116e796420b0cee3da1ccec3b764ed2952ccfcc298b55a10e5610ad7885f9"},
{file = "Brotli-1.1.0-cp311-cp311-musllinux_1_1_ppc64le.whl", hash = "sha256:510b5b1bfbe20e1a7b3baf5fed9e9451873559a976c1a78eebaa3b86c57b4265"},
{file = "Brotli-1.1.0-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:a1fd8a29719ccce974d523580987b7f8229aeace506952fa9ce1d53a033873c8"},
+ {file = "Brotli-1.1.0-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:c247dd99d39e0338a604f8c2b3bc7061d5c2e9e2ac7ba9cc1be5a69cb6cd832f"},
+ {file = "Brotli-1.1.0-cp311-cp311-musllinux_1_2_i686.whl", hash = "sha256:1b2c248cd517c222d89e74669a4adfa5577e06ab68771a529060cf5a156e9757"},
+ {file = "Brotli-1.1.0-cp311-cp311-musllinux_1_2_ppc64le.whl", hash = "sha256:2a24c50840d89ded6c9a8fdc7b6ed3692ed4e86f1c4a4a938e1e92def92933e0"},
+ {file = "Brotli-1.1.0-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:f31859074d57b4639318523d6ffdca586ace54271a73ad23ad021acd807eb14b"},
{file = "Brotli-1.1.0-cp311-cp311-win32.whl", hash = "sha256:39da8adedf6942d76dc3e46653e52df937a3c4d6d18fdc94a7c29d263b1f5b50"},
{file = "Brotli-1.1.0-cp311-cp311-win_amd64.whl", hash = "sha256:aac0411d20e345dc0920bdec5548e438e999ff68d77564d5e9463a7ca9d3e7b1"},
+ {file = "Brotli-1.1.0-cp312-cp312-macosx_10_13_universal2.whl", hash = "sha256:32d95b80260d79926f5fab3c41701dbb818fde1c9da590e77e571eefd14abe28"},
+ {file = "Brotli-1.1.0-cp312-cp312-macosx_10_13_x86_64.whl", hash = "sha256:b760c65308ff1e462f65d69c12e4ae085cff3b332d894637f6273a12a482d09f"},
{file = "Brotli-1.1.0-cp312-cp312-macosx_10_9_universal2.whl", hash = "sha256:316cc9b17edf613ac76b1f1f305d2a748f1b976b033b049a6ecdfd5612c70409"},
{file = "Brotli-1.1.0-cp312-cp312-macosx_10_9_x86_64.whl", hash = "sha256:caf9ee9a5775f3111642d33b86237b05808dafcd6268faa492250e9b78046eb2"},
{file = "Brotli-1.1.0-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:70051525001750221daa10907c77830bc889cb6d865cc0b813d9db7fefc21451"},
@@ -160,8 +181,24 @@ files = [
{file = "Brotli-1.1.0-cp312-cp312-musllinux_1_1_i686.whl", hash = "sha256:4093c631e96fdd49e0377a9c167bfd75b6d0bad2ace734c6eb20b348bc3ea180"},
{file = "Brotli-1.1.0-cp312-cp312-musllinux_1_1_ppc64le.whl", hash = "sha256:7e4c4629ddad63006efa0ef968c8e4751c5868ff0b1c5c40f76524e894c50248"},
{file = "Brotli-1.1.0-cp312-cp312-musllinux_1_1_x86_64.whl", hash = "sha256:861bf317735688269936f755fa136a99d1ed526883859f86e41a5d43c61d8966"},
+ {file = "Brotli-1.1.0-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:87a3044c3a35055527ac75e419dfa9f4f3667a1e887ee80360589eb8c90aabb9"},
+ {file = "Brotli-1.1.0-cp312-cp312-musllinux_1_2_i686.whl", hash = "sha256:c5529b34c1c9d937168297f2c1fde7ebe9ebdd5e121297ff9c043bdb2ae3d6fb"},
+ {file = "Brotli-1.1.0-cp312-cp312-musllinux_1_2_ppc64le.whl", hash = "sha256:ca63e1890ede90b2e4454f9a65135a4d387a4585ff8282bb72964fab893f2111"},
+ {file = "Brotli-1.1.0-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:e79e6520141d792237c70bcd7a3b122d00f2613769ae0cb61c52e89fd3443839"},
{file = "Brotli-1.1.0-cp312-cp312-win32.whl", hash = "sha256:5f4d5ea15c9382135076d2fb28dde923352fe02951e66935a9efaac8f10e81b0"},
{file = "Brotli-1.1.0-cp312-cp312-win_amd64.whl", hash = "sha256:906bc3a79de8c4ae5b86d3d75a8b77e44404b0f4261714306e3ad248d8ab0951"},
+ {file = "Brotli-1.1.0-cp313-cp313-macosx_10_13_universal2.whl", hash = "sha256:8bf32b98b75c13ec7cf774164172683d6e7891088f6316e54425fde1efc276d5"},
+ {file = "Brotli-1.1.0-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:7bc37c4d6b87fb1017ea28c9508b36bbcb0c3d18b4260fcdf08b200c74a6aee8"},
+ {file = "Brotli-1.1.0-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:3c0ef38c7a7014ffac184db9e04debe495d317cc9c6fb10071f7fefd93100a4f"},
+ {file = "Brotli-1.1.0-cp313-cp313-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:91d7cc2a76b5567591d12c01f019dd7afce6ba8cba6571187e21e2fc418ae648"},
+ {file = "Brotli-1.1.0-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:a93dde851926f4f2678e704fadeb39e16c35d8baebd5252c9fd94ce8ce68c4a0"},
+ {file = "Brotli-1.1.0-cp313-cp313-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:f0db75f47be8b8abc8d9e31bc7aad0547ca26f24a54e6fd10231d623f183d089"},
+ {file = "Brotli-1.1.0-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:6967ced6730aed543b8673008b5a391c3b1076d834ca438bbd70635c73775368"},
+ {file = "Brotli-1.1.0-cp313-cp313-musllinux_1_2_i686.whl", hash = "sha256:7eedaa5d036d9336c95915035fb57422054014ebdeb6f3b42eac809928e40d0c"},
+ {file = "Brotli-1.1.0-cp313-cp313-musllinux_1_2_ppc64le.whl", hash = "sha256:d487f5432bf35b60ed625d7e1b448e2dc855422e87469e3f450aa5552b0eb284"},
+ {file = "Brotli-1.1.0-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:832436e59afb93e1836081a20f324cb185836c617659b07b129141a8426973c7"},
+ {file = "Brotli-1.1.0-cp313-cp313-win32.whl", hash = "sha256:43395e90523f9c23a3d5bdf004733246fba087f2948f87ab28015f12359ca6a0"},
+ {file = "Brotli-1.1.0-cp313-cp313-win_amd64.whl", hash = "sha256:9011560a466d2eb3f5a6e4929cf4a09be405c64154e12df0dd72713f6500e32b"},
{file = "Brotli-1.1.0-cp36-cp36m-macosx_10_9_x86_64.whl", hash = "sha256:a090ca607cbb6a34b0391776f0cb48062081f5f60ddcce5d11838e67a01928d1"},
{file = "Brotli-1.1.0-cp36-cp36m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:2de9d02f5bda03d27ede52e8cfe7b865b066fa49258cbab568720aa5be80a47d"},
{file = "Brotli-1.1.0-cp36-cp36m-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:2333e30a5e00fe0fe55903c8832e08ee9c3b1382aacf4db26664a16528d51b4b"},
@@ -171,6 +208,10 @@ files = [
{file = "Brotli-1.1.0-cp36-cp36m-musllinux_1_1_i686.whl", hash = "sha256:fd5f17ff8f14003595ab414e45fce13d073e0762394f957182e69035c9f3d7c2"},
{file = "Brotli-1.1.0-cp36-cp36m-musllinux_1_1_ppc64le.whl", hash = "sha256:069a121ac97412d1fe506da790b3e69f52254b9df4eb665cd42460c837193354"},
{file = "Brotli-1.1.0-cp36-cp36m-musllinux_1_1_x86_64.whl", hash = "sha256:e93dfc1a1165e385cc8239fab7c036fb2cd8093728cbd85097b284d7b99249a2"},
+ {file = "Brotli-1.1.0-cp36-cp36m-musllinux_1_2_aarch64.whl", hash = "sha256:aea440a510e14e818e67bfc4027880e2fb500c2ccb20ab21c7a7c8b5b4703d75"},
+ {file = "Brotli-1.1.0-cp36-cp36m-musllinux_1_2_i686.whl", hash = "sha256:6974f52a02321b36847cd19d1b8e381bf39939c21efd6ee2fc13a28b0d99348c"},
+ {file = "Brotli-1.1.0-cp36-cp36m-musllinux_1_2_ppc64le.whl", hash = "sha256:a7e53012d2853a07a4a79c00643832161a910674a893d296c9f1259859a289d2"},
+ {file = "Brotli-1.1.0-cp36-cp36m-musllinux_1_2_x86_64.whl", hash = "sha256:d7702622a8b40c49bffb46e1e3ba2e81268d5c04a34f460978c6b5517a34dd52"},
{file = "Brotli-1.1.0-cp36-cp36m-win32.whl", hash = "sha256:a599669fd7c47233438a56936988a2478685e74854088ef5293802123b5b2460"},
{file = "Brotli-1.1.0-cp36-cp36m-win_amd64.whl", hash = "sha256:d143fd47fad1db3d7c27a1b1d66162e855b5d50a89666af46e1679c496e8e579"},
{file = "Brotli-1.1.0-cp37-cp37m-macosx_10_9_x86_64.whl", hash = "sha256:11d00ed0a83fa22d29bc6b64ef636c4552ebafcef57154b4ddd132f5638fbd1c"},
@@ -182,6 +223,10 @@ files = [
{file = "Brotli-1.1.0-cp37-cp37m-musllinux_1_1_i686.whl", hash = "sha256:919e32f147ae93a09fe064d77d5ebf4e35502a8df75c29fb05788528e330fe74"},
{file = "Brotli-1.1.0-cp37-cp37m-musllinux_1_1_ppc64le.whl", hash = "sha256:23032ae55523cc7bccb4f6a0bf368cd25ad9bcdcc1990b64a647e7bbcce9cb5b"},
{file = "Brotli-1.1.0-cp37-cp37m-musllinux_1_1_x86_64.whl", hash = "sha256:224e57f6eac61cc449f498cc5f0e1725ba2071a3d4f48d5d9dffba42db196438"},
+ {file = "Brotli-1.1.0-cp37-cp37m-musllinux_1_2_aarch64.whl", hash = "sha256:cb1dac1770878ade83f2ccdf7d25e494f05c9165f5246b46a621cc849341dc01"},
+ {file = "Brotli-1.1.0-cp37-cp37m-musllinux_1_2_i686.whl", hash = "sha256:3ee8a80d67a4334482d9712b8e83ca6b1d9bc7e351931252ebef5d8f7335a547"},
+ {file = "Brotli-1.1.0-cp37-cp37m-musllinux_1_2_ppc64le.whl", hash = "sha256:5e55da2c8724191e5b557f8e18943b1b4839b8efc3ef60d65985bcf6f587dd38"},
+ {file = "Brotli-1.1.0-cp37-cp37m-musllinux_1_2_x86_64.whl", hash = "sha256:d342778ef319e1026af243ed0a07c97acf3bad33b9f29e7ae6a1f68fd083e90c"},
{file = "Brotli-1.1.0-cp37-cp37m-win32.whl", hash = "sha256:587ca6d3cef6e4e868102672d3bd9dc9698c309ba56d41c2b9c85bbb903cdb95"},
{file = "Brotli-1.1.0-cp37-cp37m-win_amd64.whl", hash = "sha256:2954c1c23f81c2eaf0b0717d9380bd348578a94161a65b3a2afc62c86467dd68"},
{file = "Brotli-1.1.0-cp38-cp38-macosx_10_9_universal2.whl", hash = "sha256:efa8b278894b14d6da122a72fefcebc28445f2d3f880ac59d46c90f4c13be9a3"},
@@ -194,6 +239,10 @@ files = [
{file = "Brotli-1.1.0-cp38-cp38-musllinux_1_1_i686.whl", hash = "sha256:1ab4fbee0b2d9098c74f3057b2bc055a8bd92ccf02f65944a241b4349229185a"},
{file = "Brotli-1.1.0-cp38-cp38-musllinux_1_1_ppc64le.whl", hash = "sha256:141bd4d93984070e097521ed07e2575b46f817d08f9fa42b16b9b5f27b5ac088"},
{file = "Brotli-1.1.0-cp38-cp38-musllinux_1_1_x86_64.whl", hash = "sha256:fce1473f3ccc4187f75b4690cfc922628aed4d3dd013d047f95a9b3919a86596"},
+ {file = "Brotli-1.1.0-cp38-cp38-musllinux_1_2_aarch64.whl", hash = "sha256:d2b35ca2c7f81d173d2fadc2f4f31e88cc5f7a39ae5b6db5513cf3383b0e0ec7"},
+ {file = "Brotli-1.1.0-cp38-cp38-musllinux_1_2_i686.whl", hash = "sha256:af6fa6817889314555aede9a919612b23739395ce767fe7fcbea9a80bf140fe5"},
+ {file = "Brotli-1.1.0-cp38-cp38-musllinux_1_2_ppc64le.whl", hash = "sha256:2feb1d960f760a575dbc5ab3b1c00504b24caaf6986e2dc2b01c09c87866a943"},
+ {file = "Brotli-1.1.0-cp38-cp38-musllinux_1_2_x86_64.whl", hash = "sha256:4410f84b33374409552ac9b6903507cdb31cd30d2501fc5ca13d18f73548444a"},
{file = "Brotli-1.1.0-cp38-cp38-win32.whl", hash = "sha256:db85ecf4e609a48f4b29055f1e144231b90edc90af7481aa731ba2d059226b1b"},
{file = "Brotli-1.1.0-cp38-cp38-win_amd64.whl", hash = "sha256:3d7954194c36e304e1523f55d7042c59dc53ec20dd4e9ea9d151f1b62b4415c0"},
{file = "Brotli-1.1.0-cp39-cp39-macosx_10_9_universal2.whl", hash = "sha256:5fb2ce4b8045c78ebbc7b8f3c15062e435d47e7393cc57c25115cfd49883747a"},
@@ -206,6 +255,10 @@ files = [
{file = "Brotli-1.1.0-cp39-cp39-musllinux_1_1_i686.whl", hash = "sha256:949f3b7c29912693cee0afcf09acd6ebc04c57af949d9bf77d6101ebb61e388c"},
{file = "Brotli-1.1.0-cp39-cp39-musllinux_1_1_ppc64le.whl", hash = "sha256:89f4988c7203739d48c6f806f1e87a1d96e0806d44f0fba61dba81392c9e474d"},
{file = "Brotli-1.1.0-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:de6551e370ef19f8de1807d0a9aa2cdfdce2e85ce88b122fe9f6b2b076837e59"},
+ {file = "Brotli-1.1.0-cp39-cp39-musllinux_1_2_aarch64.whl", hash = "sha256:0737ddb3068957cf1b054899b0883830bb1fec522ec76b1098f9b6e0f02d9419"},
+ {file = "Brotli-1.1.0-cp39-cp39-musllinux_1_2_i686.whl", hash = "sha256:4f3607b129417e111e30637af1b56f24f7a49e64763253bbc275c75fa887d4b2"},
+ {file = "Brotli-1.1.0-cp39-cp39-musllinux_1_2_ppc64le.whl", hash = "sha256:6c6e0c425f22c1c719c42670d561ad682f7bfeeef918edea971a79ac5252437f"},
+ {file = "Brotli-1.1.0-cp39-cp39-musllinux_1_2_x86_64.whl", hash = "sha256:494994f807ba0b92092a163a0a283961369a65f6cbe01e8891132b7a320e61eb"},
{file = "Brotli-1.1.0-cp39-cp39-win32.whl", hash = "sha256:f0d8a7a6b5983c2496e364b969f0e526647a06b075d034f3297dc66f3b360c64"},
{file = "Brotli-1.1.0-cp39-cp39-win_amd64.whl", hash = "sha256:cdad5b9014d83ca68c25d2e9444e28e967ef16e80f6b436918c700c117a85467"},
{file = "Brotli-1.1.0.tar.gz", hash = "sha256:81de08ac11bcb85841e440c13611c00b67d3bf82698314928d0b676362546724"},
@@ -224,63 +277,78 @@ files = [
[[package]]
name = "cffi"
-version = "1.16.0"
+version = "1.17.1"
description = "Foreign Function Interface for Python calling C code."
optional = false
python-versions = ">=3.8"
files = [
- {file = "cffi-1.16.0-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:6b3d6606d369fc1da4fd8c357d026317fbb9c9b75d36dc16e90e84c26854b088"},
- {file = "cffi-1.16.0-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:ac0f5edd2360eea2f1daa9e26a41db02dd4b0451b48f7c318e217ee092a213e9"},
- {file = "cffi-1.16.0-cp310-cp310-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:7e61e3e4fa664a8588aa25c883eab612a188c725755afff6289454d6362b9673"},
- {file = "cffi-1.16.0-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:a72e8961a86d19bdb45851d8f1f08b041ea37d2bd8d4fd19903bc3083d80c896"},
- {file = "cffi-1.16.0-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:5b50bf3f55561dac5438f8e70bfcdfd74543fd60df5fa5f62d94e5867deca684"},
- {file = "cffi-1.16.0-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:7651c50c8c5ef7bdb41108b7b8c5a83013bfaa8a935590c5d74627c047a583c7"},
- {file = "cffi-1.16.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:e4108df7fe9b707191e55f33efbcb2d81928e10cea45527879a4749cbe472614"},
- {file = "cffi-1.16.0-cp310-cp310-musllinux_1_1_i686.whl", hash = "sha256:32c68ef735dbe5857c810328cb2481e24722a59a2003018885514d4c09af9743"},
- {file = "cffi-1.16.0-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:673739cb539f8cdaa07d92d02efa93c9ccf87e345b9a0b556e3ecc666718468d"},
- {file = "cffi-1.16.0-cp310-cp310-win32.whl", hash = "sha256:9f90389693731ff1f659e55c7d1640e2ec43ff725cc61b04b2f9c6d8d017df6a"},
- {file = "cffi-1.16.0-cp310-cp310-win_amd64.whl", hash = "sha256:e6024675e67af929088fda399b2094574609396b1decb609c55fa58b028a32a1"},
- {file = "cffi-1.16.0-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:b84834d0cf97e7d27dd5b7f3aca7b6e9263c56308ab9dc8aae9784abb774d404"},
- {file = "cffi-1.16.0-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:1b8ebc27c014c59692bb2664c7d13ce7a6e9a629be20e54e7271fa696ff2b417"},
- {file = "cffi-1.16.0-cp311-cp311-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:ee07e47c12890ef248766a6e55bd38ebfb2bb8edd4142d56db91b21ea68b7627"},
- {file = "cffi-1.16.0-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:d8a9d3ebe49f084ad71f9269834ceccbf398253c9fac910c4fd7053ff1386936"},
- {file = "cffi-1.16.0-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:e70f54f1796669ef691ca07d046cd81a29cb4deb1e5f942003f401c0c4a2695d"},
- {file = "cffi-1.16.0-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:5bf44d66cdf9e893637896c7faa22298baebcd18d1ddb6d2626a6e39793a1d56"},
- {file = "cffi-1.16.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:7b78010e7b97fef4bee1e896df8a4bbb6712b7f05b7ef630f9d1da00f6444d2e"},
- {file = "cffi-1.16.0-cp311-cp311-musllinux_1_1_i686.whl", hash = "sha256:c6a164aa47843fb1b01e941d385aab7215563bb8816d80ff3a363a9f8448a8dc"},
- {file = "cffi-1.16.0-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:e09f3ff613345df5e8c3667da1d918f9149bd623cd9070c983c013792a9a62eb"},
- {file = "cffi-1.16.0-cp311-cp311-win32.whl", hash = "sha256:2c56b361916f390cd758a57f2e16233eb4f64bcbeee88a4881ea90fca14dc6ab"},
- {file = "cffi-1.16.0-cp311-cp311-win_amd64.whl", hash = "sha256:db8e577c19c0fda0beb7e0d4e09e0ba74b1e4c092e0e40bfa12fe05b6f6d75ba"},
- {file = "cffi-1.16.0-cp312-cp312-macosx_10_9_x86_64.whl", hash = "sha256:fa3a0128b152627161ce47201262d3140edb5a5c3da88d73a1b790a959126956"},
- {file = "cffi-1.16.0-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:68e7c44931cc171c54ccb702482e9fc723192e88d25a0e133edd7aff8fcd1f6e"},
- {file = "cffi-1.16.0-cp312-cp312-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:abd808f9c129ba2beda4cfc53bde801e5bcf9d6e0f22f095e45327c038bfe68e"},
- {file = "cffi-1.16.0-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:88e2b3c14bdb32e440be531ade29d3c50a1a59cd4e51b1dd8b0865c54ea5d2e2"},
- {file = "cffi-1.16.0-cp312-cp312-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:fcc8eb6d5902bb1cf6dc4f187ee3ea80a1eba0a89aba40a5cb20a5087d961357"},
- {file = "cffi-1.16.0-cp312-cp312-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:b7be2d771cdba2942e13215c4e340bfd76398e9227ad10402a8767ab1865d2e6"},
- {file = "cffi-1.16.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:e715596e683d2ce000574bae5d07bd522c781a822866c20495e52520564f0969"},
- {file = "cffi-1.16.0-cp312-cp312-musllinux_1_1_x86_64.whl", hash = "sha256:2d92b25dbf6cae33f65005baf472d2c245c050b1ce709cc4588cdcdd5495b520"},
- {file = "cffi-1.16.0-cp312-cp312-win32.whl", hash = "sha256:b2ca4e77f9f47c55c194982e10f058db063937845bb2b7a86c84a6cfe0aefa8b"},
- {file = "cffi-1.16.0-cp312-cp312-win_amd64.whl", hash = "sha256:68678abf380b42ce21a5f2abde8efee05c114c2fdb2e9eef2efdb0257fba1235"},
- {file = "cffi-1.16.0-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:0c9ef6ff37e974b73c25eecc13952c55bceed9112be2d9d938ded8e856138bcc"},
- {file = "cffi-1.16.0-cp38-cp38-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:a09582f178759ee8128d9270cd1344154fd473bb77d94ce0aeb2a93ebf0feaf0"},
- {file = "cffi-1.16.0-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:e760191dd42581e023a68b758769e2da259b5d52e3103c6060ddc02c9edb8d7b"},
- {file = "cffi-1.16.0-cp38-cp38-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:80876338e19c951fdfed6198e70bc88f1c9758b94578d5a7c4c91a87af3cf31c"},
- {file = "cffi-1.16.0-cp38-cp38-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:a6a14b17d7e17fa0d207ac08642c8820f84f25ce17a442fd15e27ea18d67c59b"},
- {file = "cffi-1.16.0-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:6602bc8dc6f3a9e02b6c22c4fc1e47aa50f8f8e6d3f78a5e16ac33ef5fefa324"},
- {file = "cffi-1.16.0-cp38-cp38-win32.whl", hash = "sha256:131fd094d1065b19540c3d72594260f118b231090295d8c34e19a7bbcf2e860a"},
- {file = "cffi-1.16.0-cp38-cp38-win_amd64.whl", hash = "sha256:31d13b0f99e0836b7ff893d37af07366ebc90b678b6664c955b54561fc36ef36"},
- {file = "cffi-1.16.0-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:582215a0e9adbe0e379761260553ba11c58943e4bbe9c36430c4ca6ac74b15ed"},
- {file = "cffi-1.16.0-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:b29ebffcf550f9da55bec9e02ad430c992a87e5f512cd63388abb76f1036d8d2"},
- {file = "cffi-1.16.0-cp39-cp39-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:dc9b18bf40cc75f66f40a7379f6a9513244fe33c0e8aa72e2d56b0196a7ef872"},
- {file = "cffi-1.16.0-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:9cb4a35b3642fc5c005a6755a5d17c6c8b6bcb6981baf81cea8bfbc8903e8ba8"},
- {file = "cffi-1.16.0-cp39-cp39-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:b86851a328eedc692acf81fb05444bdf1891747c25af7529e39ddafaf68a4f3f"},
- {file = "cffi-1.16.0-cp39-cp39-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:c0f31130ebc2d37cdd8e44605fb5fa7ad59049298b3f745c74fa74c62fbfcfc4"},
- {file = "cffi-1.16.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:8f8e709127c6c77446a8c0a8c8bf3c8ee706a06cd44b1e827c3e6a2ee6b8c098"},
- {file = "cffi-1.16.0-cp39-cp39-musllinux_1_1_i686.whl", hash = "sha256:748dcd1e3d3d7cd5443ef03ce8685043294ad6bd7c02a38d1bd367cfd968e000"},
- {file = "cffi-1.16.0-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:8895613bcc094d4a1b2dbe179d88d7fb4a15cee43c052e8885783fac397d91fe"},
- {file = "cffi-1.16.0-cp39-cp39-win32.whl", hash = "sha256:ed86a35631f7bfbb28e108dd96773b9d5a6ce4811cf6ea468bb6a359b256b1e4"},
- {file = "cffi-1.16.0-cp39-cp39-win_amd64.whl", hash = "sha256:3686dffb02459559c74dd3d81748269ffb0eb027c39a6fc99502de37d501faa8"},
- {file = "cffi-1.16.0.tar.gz", hash = "sha256:bcb3ef43e58665bbda2fb198698fcae6776483e0c4a631aa5647806c25e02cc0"},
+ {file = "cffi-1.17.1-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:df8b1c11f177bc2313ec4b2d46baec87a5f3e71fc8b45dab2ee7cae86d9aba14"},
+ {file = "cffi-1.17.1-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:8f2cdc858323644ab277e9bb925ad72ae0e67f69e804f4898c070998d50b1a67"},
+ {file = "cffi-1.17.1-cp310-cp310-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:edae79245293e15384b51f88b00613ba9f7198016a5948b5dddf4917d4d26382"},
+ {file = "cffi-1.17.1-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:45398b671ac6d70e67da8e4224a065cec6a93541bb7aebe1b198a61b58c7b702"},
+ {file = "cffi-1.17.1-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:ad9413ccdeda48c5afdae7e4fa2192157e991ff761e7ab8fdd8926f40b160cc3"},
+ {file = "cffi-1.17.1-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:5da5719280082ac6bd9aa7becb3938dc9f9cbd57fac7d2871717b1feb0902ab6"},
+ {file = "cffi-1.17.1-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:2bb1a08b8008b281856e5971307cc386a8e9c5b625ac297e853d36da6efe9c17"},
+ {file = "cffi-1.17.1-cp310-cp310-musllinux_1_1_aarch64.whl", hash = "sha256:045d61c734659cc045141be4bae381a41d89b741f795af1dd018bfb532fd0df8"},
+ {file = "cffi-1.17.1-cp310-cp310-musllinux_1_1_i686.whl", hash = "sha256:6883e737d7d9e4899a8a695e00ec36bd4e5e4f18fabe0aca0efe0a4b44cdb13e"},
+ {file = "cffi-1.17.1-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:6b8b4a92e1c65048ff98cfe1f735ef8f1ceb72e3d5f0c25fdb12087a23da22be"},
+ {file = "cffi-1.17.1-cp310-cp310-win32.whl", hash = "sha256:c9c3d058ebabb74db66e431095118094d06abf53284d9c81f27300d0e0d8bc7c"},
+ {file = "cffi-1.17.1-cp310-cp310-win_amd64.whl", hash = "sha256:0f048dcf80db46f0098ccac01132761580d28e28bc0f78ae0d58048063317e15"},
+ {file = "cffi-1.17.1-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:a45e3c6913c5b87b3ff120dcdc03f6131fa0065027d0ed7ee6190736a74cd401"},
+ {file = "cffi-1.17.1-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:30c5e0cb5ae493c04c8b42916e52ca38079f1b235c2f8ae5f4527b963c401caf"},
+ {file = "cffi-1.17.1-cp311-cp311-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:f75c7ab1f9e4aca5414ed4d8e5c0e303a34f4421f8a0d47a4d019ceff0ab6af4"},
+ {file = "cffi-1.17.1-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:a1ed2dd2972641495a3ec98445e09766f077aee98a1c896dcb4ad0d303628e41"},
+ {file = "cffi-1.17.1-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:46bf43160c1a35f7ec506d254e5c890f3c03648a4dbac12d624e4490a7046cd1"},
+ {file = "cffi-1.17.1-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:a24ed04c8ffd54b0729c07cee15a81d964e6fee0e3d4d342a27b020d22959dc6"},
+ {file = "cffi-1.17.1-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:610faea79c43e44c71e1ec53a554553fa22321b65fae24889706c0a84d4ad86d"},
+ {file = "cffi-1.17.1-cp311-cp311-musllinux_1_1_aarch64.whl", hash = "sha256:a9b15d491f3ad5d692e11f6b71f7857e7835eb677955c00cc0aefcd0669adaf6"},
+ {file = "cffi-1.17.1-cp311-cp311-musllinux_1_1_i686.whl", hash = "sha256:de2ea4b5833625383e464549fec1bc395c1bdeeb5f25c4a3a82b5a8c756ec22f"},
+ {file = "cffi-1.17.1-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:fc48c783f9c87e60831201f2cce7f3b2e4846bf4d8728eabe54d60700b318a0b"},
+ {file = "cffi-1.17.1-cp311-cp311-win32.whl", hash = "sha256:85a950a4ac9c359340d5963966e3e0a94a676bd6245a4b55bc43949eee26a655"},
+ {file = "cffi-1.17.1-cp311-cp311-win_amd64.whl", hash = "sha256:caaf0640ef5f5517f49bc275eca1406b0ffa6aa184892812030f04c2abf589a0"},
+ {file = "cffi-1.17.1-cp312-cp312-macosx_10_9_x86_64.whl", hash = "sha256:805b4371bf7197c329fcb3ead37e710d1bca9da5d583f5073b799d5c5bd1eee4"},
+ {file = "cffi-1.17.1-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:733e99bc2df47476e3848417c5a4540522f234dfd4ef3ab7fafdf555b082ec0c"},
+ {file = "cffi-1.17.1-cp312-cp312-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:1257bdabf294dceb59f5e70c64a3e2f462c30c7ad68092d01bbbfb1c16b1ba36"},
+ {file = "cffi-1.17.1-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:da95af8214998d77a98cc14e3a3bd00aa191526343078b530ceb0bd710fb48a5"},
+ {file = "cffi-1.17.1-cp312-cp312-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:d63afe322132c194cf832bfec0dc69a99fb9bb6bbd550f161a49e9e855cc78ff"},
+ {file = "cffi-1.17.1-cp312-cp312-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:f79fc4fc25f1c8698ff97788206bb3c2598949bfe0fef03d299eb1b5356ada99"},
+ {file = "cffi-1.17.1-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:b62ce867176a75d03a665bad002af8e6d54644fad99a3c70905c543130e39d93"},
+ {file = "cffi-1.17.1-cp312-cp312-musllinux_1_1_aarch64.whl", hash = "sha256:386c8bf53c502fff58903061338ce4f4950cbdcb23e2902d86c0f722b786bbe3"},
+ {file = "cffi-1.17.1-cp312-cp312-musllinux_1_1_x86_64.whl", hash = "sha256:4ceb10419a9adf4460ea14cfd6bc43d08701f0835e979bf821052f1805850fe8"},
+ {file = "cffi-1.17.1-cp312-cp312-win32.whl", hash = "sha256:a08d7e755f8ed21095a310a693525137cfe756ce62d066e53f502a83dc550f65"},
+ {file = "cffi-1.17.1-cp312-cp312-win_amd64.whl", hash = "sha256:51392eae71afec0d0c8fb1a53b204dbb3bcabcb3c9b807eedf3e1e6ccf2de903"},
+ {file = "cffi-1.17.1-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:f3a2b4222ce6b60e2e8b337bb9596923045681d71e5a082783484d845390938e"},
+ {file = "cffi-1.17.1-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:0984a4925a435b1da406122d4d7968dd861c1385afe3b45ba82b750f229811e2"},
+ {file = "cffi-1.17.1-cp313-cp313-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:d01b12eeeb4427d3110de311e1774046ad344f5b1a7403101878976ecd7a10f3"},
+ {file = "cffi-1.17.1-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:706510fe141c86a69c8ddc029c7910003a17353970cff3b904ff0686a5927683"},
+ {file = "cffi-1.17.1-cp313-cp313-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:de55b766c7aa2e2a3092c51e0483d700341182f08e67c63630d5b6f200bb28e5"},
+ {file = "cffi-1.17.1-cp313-cp313-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:c59d6e989d07460165cc5ad3c61f9fd8f1b4796eacbd81cee78957842b834af4"},
+ {file = "cffi-1.17.1-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:dd398dbc6773384a17fe0d3e7eeb8d1a21c2200473ee6806bb5e6a8e62bb73dd"},
+ {file = "cffi-1.17.1-cp313-cp313-musllinux_1_1_aarch64.whl", hash = "sha256:3edc8d958eb099c634dace3c7e16560ae474aa3803a5df240542b305d14e14ed"},
+ {file = "cffi-1.17.1-cp313-cp313-musllinux_1_1_x86_64.whl", hash = "sha256:72e72408cad3d5419375fc87d289076ee319835bdfa2caad331e377589aebba9"},
+ {file = "cffi-1.17.1-cp313-cp313-win32.whl", hash = "sha256:e03eab0a8677fa80d646b5ddece1cbeaf556c313dcfac435ba11f107ba117b5d"},
+ {file = "cffi-1.17.1-cp313-cp313-win_amd64.whl", hash = "sha256:f6a16c31041f09ead72d69f583767292f750d24913dadacf5756b966aacb3f1a"},
+ {file = "cffi-1.17.1-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:636062ea65bd0195bc012fea9321aca499c0504409f413dc88af450b57ffd03b"},
+ {file = "cffi-1.17.1-cp38-cp38-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:c7eac2ef9b63c79431bc4b25f1cd649d7f061a28808cbc6c47b534bd789ef964"},
+ {file = "cffi-1.17.1-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:e221cf152cff04059d011ee126477f0d9588303eb57e88923578ace7baad17f9"},
+ {file = "cffi-1.17.1-cp38-cp38-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:31000ec67d4221a71bd3f67df918b1f88f676f1c3b535a7eb473255fdc0b83fc"},
+ {file = "cffi-1.17.1-cp38-cp38-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:6f17be4345073b0a7b8ea599688f692ac3ef23ce28e5df79c04de519dbc4912c"},
+ {file = "cffi-1.17.1-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:0e2b1fac190ae3ebfe37b979cc1ce69c81f4e4fe5746bb401dca63a9062cdaf1"},
+ {file = "cffi-1.17.1-cp38-cp38-win32.whl", hash = "sha256:7596d6620d3fa590f677e9ee430df2958d2d6d6de2feeae5b20e82c00b76fbf8"},
+ {file = "cffi-1.17.1-cp38-cp38-win_amd64.whl", hash = "sha256:78122be759c3f8a014ce010908ae03364d00a1f81ab5c7f4a7a5120607ea56e1"},
+ {file = "cffi-1.17.1-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:b2ab587605f4ba0bf81dc0cb08a41bd1c0a5906bd59243d56bad7668a6fc6c16"},
+ {file = "cffi-1.17.1-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:28b16024becceed8c6dfbc75629e27788d8a3f9030691a1dbf9821a128b22c36"},
+ {file = "cffi-1.17.1-cp39-cp39-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:1d599671f396c4723d016dbddb72fe8e0397082b0a77a4fab8028923bec050e8"},
+ {file = "cffi-1.17.1-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:ca74b8dbe6e8e8263c0ffd60277de77dcee6c837a3d0881d8c1ead7268c9e576"},
+ {file = "cffi-1.17.1-cp39-cp39-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:f7f5baafcc48261359e14bcd6d9bff6d4b28d9103847c9e136694cb0501aef87"},
+ {file = "cffi-1.17.1-cp39-cp39-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:98e3969bcff97cae1b2def8ba499ea3d6f31ddfdb7635374834cf89a1a08ecf0"},
+ {file = "cffi-1.17.1-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:cdf5ce3acdfd1661132f2a9c19cac174758dc2352bfe37d98aa7512c6b7178b3"},
+ {file = "cffi-1.17.1-cp39-cp39-musllinux_1_1_aarch64.whl", hash = "sha256:9755e4345d1ec879e3849e62222a18c7174d65a6a92d5b346b1863912168b595"},
+ {file = "cffi-1.17.1-cp39-cp39-musllinux_1_1_i686.whl", hash = "sha256:f1e22e8c4419538cb197e4dd60acc919d7696e5ef98ee4da4e01d3f8cfa4cc5a"},
+ {file = "cffi-1.17.1-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:c03e868a0b3bc35839ba98e74211ed2b05d2119be4e8a0f224fba9384f1fe02e"},
+ {file = "cffi-1.17.1-cp39-cp39-win32.whl", hash = "sha256:e31ae45bc2e29f6b2abd0de1cc3b9d5205aa847cafaecb8af1476a609a2f6eb7"},
+ {file = "cffi-1.17.1-cp39-cp39-win_amd64.whl", hash = "sha256:d016c76bdd850f3c626af19b0542c9677ba156e4ee4fccfdd7848803533ef662"},
+ {file = "cffi-1.17.1.tar.gz", hash = "sha256:1c39c6016c32bc48dd54561950ebd6836e1670f2ae46128f67cf49e789c52824"},
]
[package.dependencies]
@@ -680,23 +748,23 @@ test = ["pytest (>=6)"]
[[package]]
name = "fastapi-slim"
-version = "0.111.1"
+version = "0.115.4"
description = "FastAPI framework, high performance, easy to learn, fast to code, ready for production"
optional = false
python-versions = ">=3.8"
files = [
- {file = "fastapi_slim-0.111.1-py3-none-any.whl", hash = "sha256:ac29948dcbf84cc78d68ed2c4df4e695ac265cf53c339e5794008476e9befbbb"},
- {file = "fastapi_slim-0.111.1.tar.gz", hash = "sha256:f799a60658f56c49fe3842eb534730fabe1168731c0b407b98a042c8d57be39d"},
+ {file = "fastapi_slim-0.115.4-py3-none-any.whl", hash = "sha256:8947515618c21665590a1673a0bfe4c721db4267999c149d5301c3c0f7b3d9ce"},
+ {file = "fastapi_slim-0.115.4.tar.gz", hash = "sha256:6d37987e4d1f6adefb8c7119c9b804e59c9b3f1a488be5425994d52308e2f958"},
]
[package.dependencies]
pydantic = ">=1.7.4,<1.8 || >1.8,<1.8.1 || >1.8.1,<2.0.0 || >2.0.0,<2.0.1 || >2.0.1,<2.1.0 || >2.1.0,<3.0.0"
-starlette = ">=0.37.2,<0.38.0"
+starlette = ">=0.40.0,<0.42.0"
typing-extensions = ">=4.8.0"
[package.extras]
-all = ["email_validator (>=2.0.0)", "fastapi-cli (>=0.0.2)", "httpx (>=0.23.0)", "itsdangerous (>=1.1.0)", "jinja2 (>=2.11.2)", "orjson (>=3.2.1)", "pydantic-extra-types (>=2.0.0)", "pydantic-settings (>=2.0.0)", "python-multipart (>=0.0.7)", "pyyaml (>=5.3.1)", "ujson (>=4.0.1,!=4.0.2,!=4.1.0,!=4.2.0,!=4.3.0,!=5.0.0,!=5.1.0)", "uvicorn[standard] (>=0.12.0)"]
-standard = ["email_validator (>=2.0.0)", "fastapi-cli (>=0.0.2)", "httpx (>=0.23.0)", "jinja2 (>=2.11.2)", "python-multipart (>=0.0.7)", "uvicorn[standard] (>=0.12.0)"]
+all = ["email-validator (>=2.0.0)", "fastapi-cli[standard] (>=0.0.5)", "httpx (>=0.23.0)", "itsdangerous (>=1.1.0)", "jinja2 (>=2.11.2)", "orjson (>=3.2.1)", "pydantic-extra-types (>=2.0.0)", "pydantic-settings (>=2.0.0)", "python-multipart (>=0.0.7)", "pyyaml (>=5.3.1)", "ujson (>=4.0.1,!=4.0.2,!=4.1.0,!=4.2.0,!=4.3.0,!=5.0.0,!=5.1.0)", "uvicorn[standard] (>=0.12.0)"]
+standard = ["email-validator (>=2.0.0)", "fastapi-cli[standard] (>=0.0.5)", "httpx (>=0.23.0)", "jinja2 (>=2.11.2)", "python-multipart (>=0.0.7)", "uvicorn[standard] (>=0.12.0)"]
[[package]]
name = "filelock"
@@ -878,73 +946,68 @@ tqdm = ["tqdm"]
[[package]]
name = "ftfy"
-version = "6.2.0"
+version = "6.3.0"
description = "Fixes mojibake and other problems with Unicode, after the fact"
optional = false
-python-versions = ">=3.8,<4"
+python-versions = ">=3.9"
files = [
- {file = "ftfy-6.2.0-py3-none-any.whl", hash = "sha256:f94a2c34b76e07475720e3096f5ca80911d152406fbde66fdb45c4d0c9150026"},
- {file = "ftfy-6.2.0.tar.gz", hash = "sha256:5e42143c7025ef97944ca2619d6b61b0619fc6654f98771d39e862c1424c75c0"},
+ {file = "ftfy-6.3.0-py3-none-any.whl", hash = "sha256:17aca296801f44142e3ff2c16f93fbf6a87609ebb3704a9a41dd5d4903396caf"},
+ {file = "ftfy-6.3.0.tar.gz", hash = "sha256:1c7d6418e72b25a7760feb150acf574b86924dbb2e95b32c0b3abbd1ba3d7ad6"},
]
[package.dependencies]
-wcwidth = ">=0.2.12,<0.3.0"
+wcwidth = "*"
[[package]]
name = "gevent"
-version = "23.9.1"
+version = "24.10.3"
description = "Coroutine-based network library"
optional = false
-python-versions = ">=3.8"
+python-versions = ">=3.9"
files = [
- {file = "gevent-23.9.1-cp310-cp310-macosx_11_0_universal2.whl", hash = "sha256:a3c5e9b1f766a7a64833334a18539a362fb563f6c4682f9634dea72cbe24f771"},
- {file = "gevent-23.9.1-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:b101086f109168b23fa3586fccd1133494bdb97f86920a24dc0b23984dc30b69"},
- {file = "gevent-23.9.1-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:36a549d632c14684bcbbd3014a6ce2666c5f2a500f34d58d32df6c9ea38b6535"},
- {file = "gevent-23.9.1-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:272cffdf535978d59c38ed837916dfd2b5d193be1e9e5dcc60a5f4d5025dd98a"},
- {file = "gevent-23.9.1-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:dcb8612787a7f4626aa881ff15ff25439561a429f5b303048f0fca8a1c781c39"},
- {file = "gevent-23.9.1-cp310-cp310-manylinux_2_28_x86_64.whl", hash = "sha256:d57737860bfc332b9b5aa438963986afe90f49645f6e053140cfa0fa1bdae1ae"},
- {file = "gevent-23.9.1-cp310-cp310-musllinux_1_1_aarch64.whl", hash = "sha256:5f3c781c84794926d853d6fb58554dc0dcc800ba25c41d42f6959c344b4db5a6"},
- {file = "gevent-23.9.1-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:dbb22a9bbd6a13e925815ce70b940d1578dbe5d4013f20d23e8a11eddf8d14a7"},
- {file = "gevent-23.9.1-cp310-cp310-win_amd64.whl", hash = "sha256:707904027d7130ff3e59ea387dddceedb133cc742b00b3ffe696d567147a9c9e"},
- {file = "gevent-23.9.1-cp311-cp311-macosx_11_0_universal2.whl", hash = "sha256:45792c45d60f6ce3d19651d7fde0bc13e01b56bb4db60d3f32ab7d9ec467374c"},
- {file = "gevent-23.9.1-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:4e24c2af9638d6c989caffc691a039d7c7022a31c0363da367c0d32ceb4a0648"},
- {file = "gevent-23.9.1-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:e1ead6863e596a8cc2a03e26a7a0981f84b6b3e956101135ff6d02df4d9a6b07"},
- {file = "gevent-23.9.1-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:65883ac026731ac112184680d1f0f1e39fa6f4389fd1fc0bf46cc1388e2599f9"},
- {file = "gevent-23.9.1-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:bf7af500da05363e66f122896012acb6e101a552682f2352b618e541c941a011"},
- {file = "gevent-23.9.1-cp311-cp311-manylinux_2_28_x86_64.whl", hash = "sha256:c3e5d2fa532e4d3450595244de8ccf51f5721a05088813c1abd93ad274fe15e7"},
- {file = "gevent-23.9.1-cp311-cp311-musllinux_1_1_aarch64.whl", hash = "sha256:c84d34256c243b0a53d4335ef0bc76c735873986d478c53073861a92566a8d71"},
- {file = "gevent-23.9.1-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:ada07076b380918829250201df1d016bdafb3acf352f35e5693b59dceee8dd2e"},
- {file = "gevent-23.9.1-cp311-cp311-win_amd64.whl", hash = "sha256:921dda1c0b84e3d3b1778efa362d61ed29e2b215b90f81d498eb4d8eafcd0b7a"},
- {file = "gevent-23.9.1-cp312-cp312-macosx_11_0_universal2.whl", hash = "sha256:ed7a048d3e526a5c1d55c44cb3bc06cfdc1947d06d45006cc4cf60dedc628904"},
- {file = "gevent-23.9.1-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:7c1abc6f25f475adc33e5fc2dbcc26a732608ac5375d0d306228738a9ae14d3b"},
- {file = "gevent-23.9.1-cp312-cp312-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:4368f341a5f51611411ec3fc62426f52ac3d6d42eaee9ed0f9eebe715c80184e"},
- {file = "gevent-23.9.1-cp312-cp312-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:52b4abf28e837f1865a9bdeef58ff6afd07d1d888b70b6804557e7908032e599"},
- {file = "gevent-23.9.1-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:52e9f12cd1cda96603ce6b113d934f1aafb873e2c13182cf8e86d2c5c41982ea"},
- {file = "gevent-23.9.1-cp312-cp312-manylinux_2_28_x86_64.whl", hash = "sha256:de350fde10efa87ea60d742901e1053eb2127ebd8b59a7d3b90597eb4e586599"},
- {file = "gevent-23.9.1-cp312-cp312-musllinux_1_1_aarch64.whl", hash = "sha256:fde6402c5432b835fbb7698f1c7f2809c8d6b2bd9d047ac1f5a7c1d5aa569303"},
- {file = "gevent-23.9.1-cp312-cp312-musllinux_1_1_x86_64.whl", hash = "sha256:dd6c32ab977ecf7c7b8c2611ed95fa4aaebd69b74bf08f4b4960ad516861517d"},
- {file = "gevent-23.9.1-cp312-cp312-win_amd64.whl", hash = "sha256:455e5ee8103f722b503fa45dedb04f3ffdec978c1524647f8ba72b4f08490af1"},
- {file = "gevent-23.9.1-cp38-cp38-macosx_11_0_universal2.whl", hash = "sha256:7ccf0fd378257cb77d91c116e15c99e533374a8153632c48a3ecae7f7f4f09fe"},
- {file = "gevent-23.9.1-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:d163d59f1be5a4c4efcdd13c2177baaf24aadf721fdf2e1af9ee54a998d160f5"},
- {file = "gevent-23.9.1-cp38-cp38-manylinux_2_28_x86_64.whl", hash = "sha256:7532c17bc6c1cbac265e751b95000961715adef35a25d2b0b1813aa7263fb397"},
- {file = "gevent-23.9.1-cp38-cp38-musllinux_1_1_x86_64.whl", hash = "sha256:78eebaf5e73ff91d34df48f4e35581ab4c84e22dd5338ef32714264063c57507"},
- {file = "gevent-23.9.1-cp38-cp38-win32.whl", hash = "sha256:f632487c87866094546a74eefbca2c74c1d03638b715b6feb12e80120960185a"},
- {file = "gevent-23.9.1-cp38-cp38-win_amd64.whl", hash = "sha256:62d121344f7465e3739989ad6b91f53a6ca9110518231553fe5846dbe1b4518f"},
- {file = "gevent-23.9.1-cp39-cp39-macosx_11_0_universal2.whl", hash = "sha256:bf456bd6b992eb0e1e869e2fd0caf817f0253e55ca7977fd0e72d0336a8c1c6a"},
- {file = "gevent-23.9.1-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:43daf68496c03a35287b8b617f9f91e0e7c0d042aebcc060cadc3f049aadd653"},
- {file = "gevent-23.9.1-cp39-cp39-manylinux_2_28_x86_64.whl", hash = "sha256:7c28e38dcde327c217fdafb9d5d17d3e772f636f35df15ffae2d933a5587addd"},
- {file = "gevent-23.9.1-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:fae8d5b5b8fa2a8f63b39f5447168b02db10c888a3e387ed7af2bd1b8612e543"},
- {file = "gevent-23.9.1-cp39-cp39-win32.whl", hash = "sha256:2c7b5c9912378e5f5ccf180d1fdb1e83f42b71823483066eddbe10ef1a2fcaa2"},
- {file = "gevent-23.9.1-cp39-cp39-win_amd64.whl", hash = "sha256:a2898b7048771917d85a1d548fd378e8a7b2ca963db8e17c6d90c76b495e0e2b"},
- {file = "gevent-23.9.1.tar.gz", hash = "sha256:72c002235390d46f94938a96920d8856d4ffd9ddf62a303a0d7c118894097e34"},
+ {file = "gevent-24.10.3-cp310-cp310-macosx_11_0_universal2.whl", hash = "sha256:d7a1ad0f2da582f5bd238bca067e1c6c482c30c15a6e4d14aaa3215cbb2232f3"},
+ {file = "gevent-24.10.3-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:f4e526fdc279c655c1e809b0c34b45844182c2a6b219802da5e411bd2cf5a8ad"},
+ {file = "gevent-24.10.3-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:57a5c4e0bdac482c5f02f240d0354e61362df73501ef6ebafce8ef635cad7527"},
+ {file = "gevent-24.10.3-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:d67daed8383326dc8b5e58d88e148d29b6b52274a489e383530b0969ae7b9cb9"},
+ {file = "gevent-24.10.3-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:1e24ffea72e27987979c009536fd0868e52239b44afe6cf7135ce8aafd0f108e"},
+ {file = "gevent-24.10.3-cp310-cp310-musllinux_1_1_aarch64.whl", hash = "sha256:c1d80090485da1ea3d99205fe97908b31188c1f4857f08b333ffaf2de2e89d18"},
+ {file = "gevent-24.10.3-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:f0c129f81d60cda614acb4b0c5731997ca05b031fb406fcb58ad53a7ade53b13"},
+ {file = "gevent-24.10.3-cp310-cp310-win_amd64.whl", hash = "sha256:26ca7a6b42d35129617025ac801135118333cad75856ffc3217b38e707383eba"},
+ {file = "gevent-24.10.3-cp311-cp311-macosx_11_0_universal2.whl", hash = "sha256:68c3a0d8402755eba7f69022e42e8021192a721ca8341908acc222ea597029b6"},
+ {file = "gevent-24.10.3-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:5d850a453d66336272be4f1d3a8126777f3efdaea62d053b4829857f91e09755"},
+ {file = "gevent-24.10.3-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:8e58ee3723f1fbe07d66892f1caa7481c306f653a6829b6fd16cb23d618a5915"},
+ {file = "gevent-24.10.3-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:b52382124eca13135a3abe4f65c6bd428656975980a48e51b17aeab68bdb14db"},
+ {file = "gevent-24.10.3-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:9ca2266e08f43c0e22c028801dff7d92a0b102ef20e4caeb6a46abfb95f6a328"},
+ {file = "gevent-24.10.3-cp311-cp311-musllinux_1_1_aarch64.whl", hash = "sha256:d758f0d4dbf32502ec87bb9b536ca8055090a16f8305f0ada3ce6f34e70f2fd7"},
+ {file = "gevent-24.10.3-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:0de6eb3d55c03138fda567d9bfed28487ce5d0928c5107549767a93efdf2be26"},
+ {file = "gevent-24.10.3-cp311-cp311-win_amd64.whl", hash = "sha256:385710355eadecdb70428a5ae3e7e5a45dcf888baa1426884588be9d25ac4290"},
+ {file = "gevent-24.10.3-cp312-cp312-macosx_11_0_universal2.whl", hash = "sha256:3ad8fb70aa0ebc935729c9699ac31b210a49b689a7b27b7ac9f91676475f3f53"},
+ {file = "gevent-24.10.3-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:f18689f7a70d2ed0e75bad5036ec3c89690a493d4cfac8d7cdb258ac04b132bd"},
+ {file = "gevent-24.10.3-cp312-cp312-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:f7f4f171d4d2018170454d84c934842e1b5f6ce7468ba298f6e7f7cff15000a3"},
+ {file = "gevent-24.10.3-cp312-cp312-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:7021e26d70189b33c27173d4173f27bf4685d6b6f1c0ea50e5335f8491cb110c"},
+ {file = "gevent-24.10.3-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:34aea15f9c79f27a8faeaa361bc1e72c773a9b54a1996a2ec4eefc8bcd59a824"},
+ {file = "gevent-24.10.3-cp312-cp312-musllinux_1_1_aarch64.whl", hash = "sha256:8af65a4d4feaec6042c666d22c322a310fba3b47e841ad52f724b9c3ce5da48e"},
+ {file = "gevent-24.10.3-cp312-cp312-musllinux_1_1_x86_64.whl", hash = "sha256:89c4115e3f5ada55f92b61701a46043fe42f702b5af863b029e4c1a76f6cc2d4"},
+ {file = "gevent-24.10.3-cp312-cp312-win_amd64.whl", hash = "sha256:1ce6dab94c0b0d24425ba55712de2f8c9cb21267150ca63f5bb3a0e1f165da99"},
+ {file = "gevent-24.10.3-cp313-cp313-macosx_11_0_universal2.whl", hash = "sha256:f147e38423fbe96e8731f60a63475b3d2cab2f3d10578d8ee9d10c507c58a2ff"},
+ {file = "gevent-24.10.3-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:18e6984ec96fc95fd67488555c38ece3015be1f38b1bcceb27b7d6c36b343008"},
+ {file = "gevent-24.10.3-cp313-cp313-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:051b22e2758accfddb0457728bfc9abf8c3f2ce6bca43f1ff6e07b5ed9e49bf4"},
+ {file = "gevent-24.10.3-cp313-cp313-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:eb5edb6433764119a664bbb148d2aea9990950aa89cc3498f475c2408d523ea3"},
+ {file = "gevent-24.10.3-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:ce417bcaaab496bc9c77f75566531e9d93816262037b8b2dbb88b0fdcd66587c"},
+ {file = "gevent-24.10.3-cp313-cp313-musllinux_1_1_aarch64.whl", hash = "sha256:1c3a828b033fb02b7c31da4d75014a1f82e6c072fc0523456569a57f8b025861"},
+ {file = "gevent-24.10.3-cp313-cp313-musllinux_1_1_x86_64.whl", hash = "sha256:f2ae3efbbd120cdf4a68b7abc27a37e61e6f443c5a06ec2c6ad94c37cd8471ec"},
+ {file = "gevent-24.10.3-cp313-cp313-win_amd64.whl", hash = "sha256:9e1210334a9bc9f76c3d008e0785ca62214f8a54e1325f6c2ecab3b6a572a015"},
+ {file = "gevent-24.10.3-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:70e9ed7ecb70e0df7dc97c3bc420de9a45a7c76bd5861c6cfec8c549700e681e"},
+ {file = "gevent-24.10.3-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:3ac83b74304487afa211a01909c7dd257e574db0cd429d866c298e21df7aeedf"},
+ {file = "gevent-24.10.3-cp39-cp39-win32.whl", hash = "sha256:a9a89d6e396ef6f1e3968521bf56e8c4bee25b193bbf5d428b7782d582410822"},
+ {file = "gevent-24.10.3-cp39-cp39-win_amd64.whl", hash = "sha256:40ea3e40e8bb4fdb143c2a8edf2ccfdebd56016c7317c341ce8094c7bee08818"},
+ {file = "gevent-24.10.3-pp310-pypy310_pp73-macosx_11_0_universal2.whl", hash = "sha256:e534e6a968d74463b11de6c9c67f4b4bf61775fb00f2e6e0f7fcdd412ceade18"},
+ {file = "gevent-24.10.3.tar.gz", hash = "sha256:aa7ee1bd5cabb2b7ef35105f863b386c8d5e332f754b60cfc354148bd70d35d1"},
]
[package.dependencies]
-cffi = {version = ">=1.12.2", markers = "platform_python_implementation == \"CPython\" and sys_platform == \"win32\""}
-greenlet = [
- {version = ">=3.0rc3", markers = "platform_python_implementation == \"CPython\" and python_version >= \"3.11\""},
- {version = ">=2.0.0", markers = "platform_python_implementation == \"CPython\" and python_version < \"3.11\""},
-]
+cffi = {version = ">=1.17.1", markers = "platform_python_implementation == \"CPython\" and sys_platform == \"win32\""}
+greenlet = {version = ">=3.1.1", markers = "platform_python_implementation == \"CPython\""}
"zope.event" = "*"
"zope.interface" = "*"
@@ -952,8 +1015,8 @@ greenlet = [
dnspython = ["dnspython (>=1.16.0,<2.0)", "idna"]
docs = ["furo", "repoze.sphinx.autointerface", "sphinx", "sphinxcontrib-programoutput", "zope.schema"]
monitor = ["psutil (>=5.7.0)"]
-recommended = ["cffi (>=1.12.2)", "dnspython (>=1.16.0,<2.0)", "idna", "psutil (>=5.7.0)"]
-test = ["cffi (>=1.12.2)", "coverage (>=5.0)", "dnspython (>=1.16.0,<2.0)", "idna", "objgraph", "psutil (>=5.7.0)", "requests", "setuptools"]
+recommended = ["cffi (>=1.17.1)", "dnspython (>=1.16.0,<2.0)", "idna", "psutil (>=5.7.0)"]
+test = ["cffi (>=1.17.1)", "coverage (>=5.0)", "dnspython (>=1.16.0,<2.0)", "idna", "objgraph", "psutil (>=5.7.0)", "requests"]
[[package]]
name = "geventhttpclient"
@@ -1040,69 +1103,84 @@ examples = ["oauth2"]
[[package]]
name = "greenlet"
-version = "3.0.3"
+version = "3.1.1"
description = "Lightweight in-process concurrent programming"
optional = false
python-versions = ">=3.7"
files = [
- {file = "greenlet-3.0.3-cp310-cp310-macosx_11_0_universal2.whl", hash = "sha256:9da2bd29ed9e4f15955dd1595ad7bc9320308a3b766ef7f837e23ad4b4aac31a"},
- {file = "greenlet-3.0.3-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:d353cadd6083fdb056bb46ed07e4340b0869c305c8ca54ef9da3421acbdf6881"},
- {file = "greenlet-3.0.3-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:dca1e2f3ca00b84a396bc1bce13dd21f680f035314d2379c4160c98153b2059b"},
- {file = "greenlet-3.0.3-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:3ed7fb269f15dc662787f4119ec300ad0702fa1b19d2135a37c2c4de6fadfd4a"},
- {file = "greenlet-3.0.3-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:dd4f49ae60e10adbc94b45c0b5e6a179acc1736cf7a90160b404076ee283cf83"},
- {file = "greenlet-3.0.3-cp310-cp310-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:73a411ef564e0e097dbe7e866bb2dda0f027e072b04da387282b02c308807405"},
- {file = "greenlet-3.0.3-cp310-cp310-musllinux_1_1_aarch64.whl", hash = "sha256:7f362975f2d179f9e26928c5b517524e89dd48530a0202570d55ad6ca5d8a56f"},
- {file = "greenlet-3.0.3-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:649dde7de1a5eceb258f9cb00bdf50e978c9db1b996964cd80703614c86495eb"},
- {file = "greenlet-3.0.3-cp310-cp310-win_amd64.whl", hash = "sha256:68834da854554926fbedd38c76e60c4a2e3198c6fbed520b106a8986445caaf9"},
- {file = "greenlet-3.0.3-cp311-cp311-macosx_11_0_universal2.whl", hash = "sha256:b1b5667cced97081bf57b8fa1d6bfca67814b0afd38208d52538316e9422fc61"},
- {file = "greenlet-3.0.3-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:52f59dd9c96ad2fc0d5724107444f76eb20aaccb675bf825df6435acb7703559"},
- {file = "greenlet-3.0.3-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:afaff6cf5200befd5cec055b07d1c0a5a06c040fe5ad148abcd11ba6ab9b114e"},
- {file = "greenlet-3.0.3-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:fe754d231288e1e64323cfad462fcee8f0288654c10bdf4f603a39ed923bef33"},
- {file = "greenlet-3.0.3-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:2797aa5aedac23af156bbb5a6aa2cd3427ada2972c828244eb7d1b9255846379"},
- {file = "greenlet-3.0.3-cp311-cp311-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:b7f009caad047246ed379e1c4dbcb8b020f0a390667ea74d2387be2998f58a22"},
- {file = "greenlet-3.0.3-cp311-cp311-musllinux_1_1_aarch64.whl", hash = "sha256:c5e1536de2aad7bf62e27baf79225d0d64360d4168cf2e6becb91baf1ed074f3"},
- {file = "greenlet-3.0.3-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:894393ce10ceac937e56ec00bb71c4c2f8209ad516e96033e4b3b1de270e200d"},
- {file = "greenlet-3.0.3-cp311-cp311-win_amd64.whl", hash = "sha256:1ea188d4f49089fc6fb283845ab18a2518d279c7cd9da1065d7a84e991748728"},
- {file = "greenlet-3.0.3-cp312-cp312-macosx_11_0_universal2.whl", hash = "sha256:70fb482fdf2c707765ab5f0b6655e9cfcf3780d8d87355a063547b41177599be"},
- {file = "greenlet-3.0.3-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:d4d1ac74f5c0c0524e4a24335350edad7e5f03b9532da7ea4d3c54d527784f2e"},
- {file = "greenlet-3.0.3-cp312-cp312-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:149e94a2dd82d19838fe4b2259f1b6b9957d5ba1b25640d2380bea9c5df37676"},
- {file = "greenlet-3.0.3-cp312-cp312-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:15d79dd26056573940fcb8c7413d84118086f2ec1a8acdfa854631084393efcc"},
- {file = "greenlet-3.0.3-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:881b7db1ebff4ba09aaaeae6aa491daeb226c8150fc20e836ad00041bcb11230"},
- {file = "greenlet-3.0.3-cp312-cp312-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:fcd2469d6a2cf298f198f0487e0a5b1a47a42ca0fa4dfd1b6862c999f018ebbf"},
- {file = "greenlet-3.0.3-cp312-cp312-musllinux_1_1_aarch64.whl", hash = "sha256:1f672519db1796ca0d8753f9e78ec02355e862d0998193038c7073045899f305"},
- {file = "greenlet-3.0.3-cp312-cp312-musllinux_1_1_x86_64.whl", hash = "sha256:2516a9957eed41dd8f1ec0c604f1cdc86758b587d964668b5b196a9db5bfcde6"},
- {file = "greenlet-3.0.3-cp312-cp312-win_amd64.whl", hash = "sha256:bba5387a6975598857d86de9eac14210a49d554a77eb8261cc68b7d082f78ce2"},
- {file = "greenlet-3.0.3-cp37-cp37m-macosx_11_0_universal2.whl", hash = "sha256:5b51e85cb5ceda94e79d019ed36b35386e8c37d22f07d6a751cb659b180d5274"},
- {file = "greenlet-3.0.3-cp37-cp37m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:daf3cb43b7cf2ba96d614252ce1684c1bccee6b2183a01328c98d36fcd7d5cb0"},
- {file = "greenlet-3.0.3-cp37-cp37m-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:99bf650dc5d69546e076f413a87481ee1d2d09aaaaaca058c9251b6d8c14783f"},
- {file = "greenlet-3.0.3-cp37-cp37m-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:2dd6e660effd852586b6a8478a1d244b8dc90ab5b1321751d2ea15deb49ed414"},
- {file = "greenlet-3.0.3-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:e3391d1e16e2a5a1507d83e4a8b100f4ee626e8eca43cf2cadb543de69827c4c"},
- {file = "greenlet-3.0.3-cp37-cp37m-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:e1f145462f1fa6e4a4ae3c0f782e580ce44d57c8f2c7aae1b6fa88c0b2efdb41"},
- {file = "greenlet-3.0.3-cp37-cp37m-musllinux_1_1_aarch64.whl", hash = "sha256:1a7191e42732df52cb5f39d3527217e7ab73cae2cb3694d241e18f53d84ea9a7"},
- {file = "greenlet-3.0.3-cp37-cp37m-musllinux_1_1_x86_64.whl", hash = "sha256:0448abc479fab28b00cb472d278828b3ccca164531daab4e970a0458786055d6"},
- {file = "greenlet-3.0.3-cp37-cp37m-win32.whl", hash = "sha256:b542be2440edc2d48547b5923c408cbe0fc94afb9f18741faa6ae970dbcb9b6d"},
- {file = "greenlet-3.0.3-cp37-cp37m-win_amd64.whl", hash = "sha256:01bc7ea167cf943b4c802068e178bbf70ae2e8c080467070d01bfa02f337ee67"},
- {file = "greenlet-3.0.3-cp38-cp38-macosx_11_0_universal2.whl", hash = "sha256:1996cb9306c8595335bb157d133daf5cf9f693ef413e7673cb07e3e5871379ca"},
- {file = "greenlet-3.0.3-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:3ddc0f794e6ad661e321caa8d2f0a55ce01213c74722587256fb6566049a8b04"},
- {file = "greenlet-3.0.3-cp38-cp38-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:c9db1c18f0eaad2f804728c67d6c610778456e3e1cc4ab4bbd5eeb8e6053c6fc"},
- {file = "greenlet-3.0.3-cp38-cp38-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:7170375bcc99f1a2fbd9c306f5be8764eaf3ac6b5cb968862cad4c7057756506"},
- {file = "greenlet-3.0.3-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:6b66c9c1e7ccabad3a7d037b2bcb740122a7b17a53734b7d72a344ce39882a1b"},
- {file = "greenlet-3.0.3-cp38-cp38-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:098d86f528c855ead3479afe84b49242e174ed262456c342d70fc7f972bc13c4"},
- {file = "greenlet-3.0.3-cp38-cp38-musllinux_1_1_aarch64.whl", hash = "sha256:81bb9c6d52e8321f09c3d165b2a78c680506d9af285bfccbad9fb7ad5a5da3e5"},
- {file = "greenlet-3.0.3-cp38-cp38-musllinux_1_1_x86_64.whl", hash = "sha256:fd096eb7ffef17c456cfa587523c5f92321ae02427ff955bebe9e3c63bc9f0da"},
- {file = "greenlet-3.0.3-cp38-cp38-win32.whl", hash = "sha256:d46677c85c5ba00a9cb6f7a00b2bfa6f812192d2c9f7d9c4f6a55b60216712f3"},
- {file = "greenlet-3.0.3-cp38-cp38-win_amd64.whl", hash = "sha256:419b386f84949bf0e7c73e6032e3457b82a787c1ab4a0e43732898a761cc9dbf"},
- {file = "greenlet-3.0.3-cp39-cp39-macosx_11_0_universal2.whl", hash = "sha256:da70d4d51c8b306bb7a031d5cff6cc25ad253affe89b70352af5f1cb68e74b53"},
- {file = "greenlet-3.0.3-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:086152f8fbc5955df88382e8a75984e2bb1c892ad2e3c80a2508954e52295257"},
- {file = "greenlet-3.0.3-cp39-cp39-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:d73a9fe764d77f87f8ec26a0c85144d6a951a6c438dfe50487df5595c6373eac"},
- {file = "greenlet-3.0.3-cp39-cp39-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:b7dcbe92cc99f08c8dd11f930de4d99ef756c3591a5377d1d9cd7dd5e896da71"},
- {file = "greenlet-3.0.3-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:1551a8195c0d4a68fac7a4325efac0d541b48def35feb49d803674ac32582f61"},
- {file = "greenlet-3.0.3-cp39-cp39-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:64d7675ad83578e3fc149b617a444fab8efdafc9385471f868eb5ff83e446b8b"},
- {file = "greenlet-3.0.3-cp39-cp39-musllinux_1_1_aarch64.whl", hash = "sha256:b37eef18ea55f2ffd8f00ff8fe7c8d3818abd3e25fb73fae2ca3b672e333a7a6"},
- {file = "greenlet-3.0.3-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:77457465d89b8263bca14759d7c1684df840b6811b2499838cc5b040a8b5b113"},
- {file = "greenlet-3.0.3-cp39-cp39-win32.whl", hash = "sha256:57e8974f23e47dac22b83436bdcf23080ade568ce77df33159e019d161ce1d1e"},
- {file = "greenlet-3.0.3-cp39-cp39-win_amd64.whl", hash = "sha256:c5ee858cfe08f34712f548c3c363e807e7186f03ad7a5039ebadb29e8c6be067"},
- {file = "greenlet-3.0.3.tar.gz", hash = "sha256:43374442353259554ce33599da8b692d5aa96f8976d567d4badf263371fbe491"},
+ {file = "greenlet-3.1.1-cp310-cp310-macosx_11_0_universal2.whl", hash = "sha256:0bbae94a29c9e5c7e4a2b7f0aae5c17e8e90acbfd3bf6270eeba60c39fce3563"},
+ {file = "greenlet-3.1.1-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:0fde093fb93f35ca72a556cf72c92ea3ebfda3d79fc35bb19fbe685853869a83"},
+ {file = "greenlet-3.1.1-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:36b89d13c49216cadb828db8dfa6ce86bbbc476a82d3a6c397f0efae0525bdd0"},
+ {file = "greenlet-3.1.1-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:94b6150a85e1b33b40b1464a3f9988dcc5251d6ed06842abff82e42632fac120"},
+ {file = "greenlet-3.1.1-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:93147c513fac16385d1036b7e5b102c7fbbdb163d556b791f0f11eada7ba65dc"},
+ {file = "greenlet-3.1.1-cp310-cp310-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:da7a9bff22ce038e19bf62c4dd1ec8391062878710ded0a845bcf47cc0200617"},
+ {file = "greenlet-3.1.1-cp310-cp310-musllinux_1_1_aarch64.whl", hash = "sha256:b2795058c23988728eec1f36a4e5e4ebad22f8320c85f3587b539b9ac84128d7"},
+ {file = "greenlet-3.1.1-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:ed10eac5830befbdd0c32f83e8aa6288361597550ba669b04c48f0f9a2c843c6"},
+ {file = "greenlet-3.1.1-cp310-cp310-win_amd64.whl", hash = "sha256:77c386de38a60d1dfb8e55b8c1101d68c79dfdd25c7095d51fec2dd800892b80"},
+ {file = "greenlet-3.1.1-cp311-cp311-macosx_11_0_universal2.whl", hash = "sha256:e4d333e558953648ca09d64f13e6d8f0523fa705f51cae3f03b5983489958c70"},
+ {file = "greenlet-3.1.1-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:09fc016b73c94e98e29af67ab7b9a879c307c6731a2c9da0db5a7d9b7edd1159"},
+ {file = "greenlet-3.1.1-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:d5e975ca70269d66d17dd995dafc06f1b06e8cb1ec1e9ed54c1d1e4a7c4cf26e"},
+ {file = "greenlet-3.1.1-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:3b2813dc3de8c1ee3f924e4d4227999285fd335d1bcc0d2be6dc3f1f6a318ec1"},
+ {file = "greenlet-3.1.1-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:e347b3bfcf985a05e8c0b7d462ba6f15b1ee1c909e2dcad795e49e91b152c383"},
+ {file = "greenlet-3.1.1-cp311-cp311-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:9e8f8c9cb53cdac7ba9793c276acd90168f416b9ce36799b9b885790f8ad6c0a"},
+ {file = "greenlet-3.1.1-cp311-cp311-musllinux_1_1_aarch64.whl", hash = "sha256:62ee94988d6b4722ce0028644418d93a52429e977d742ca2ccbe1c4f4a792511"},
+ {file = "greenlet-3.1.1-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:1776fd7f989fc6b8d8c8cb8da1f6b82c5814957264d1f6cf818d475ec2bf6395"},
+ {file = "greenlet-3.1.1-cp311-cp311-win_amd64.whl", hash = "sha256:48ca08c771c268a768087b408658e216133aecd835c0ded47ce955381105ba39"},
+ {file = "greenlet-3.1.1-cp312-cp312-macosx_11_0_universal2.whl", hash = "sha256:4afe7ea89de619adc868e087b4d2359282058479d7cfb94970adf4b55284574d"},
+ {file = "greenlet-3.1.1-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:f406b22b7c9a9b4f8aa9d2ab13d6ae0ac3e85c9a809bd590ad53fed2bf70dc79"},
+ {file = "greenlet-3.1.1-cp312-cp312-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:c3a701fe5a9695b238503ce5bbe8218e03c3bcccf7e204e455e7462d770268aa"},
+ {file = "greenlet-3.1.1-cp312-cp312-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:2846930c65b47d70b9d178e89c7e1a69c95c1f68ea5aa0a58646b7a96df12441"},
+ {file = "greenlet-3.1.1-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:99cfaa2110534e2cf3ba31a7abcac9d328d1d9f1b95beede58294a60348fba36"},
+ {file = "greenlet-3.1.1-cp312-cp312-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:1443279c19fca463fc33e65ef2a935a5b09bb90f978beab37729e1c3c6c25fe9"},
+ {file = "greenlet-3.1.1-cp312-cp312-musllinux_1_1_aarch64.whl", hash = "sha256:b7cede291382a78f7bb5f04a529cb18e068dd29e0fb27376074b6d0317bf4dd0"},
+ {file = "greenlet-3.1.1-cp312-cp312-musllinux_1_1_x86_64.whl", hash = "sha256:23f20bb60ae298d7d8656c6ec6db134bca379ecefadb0b19ce6f19d1f232a942"},
+ {file = "greenlet-3.1.1-cp312-cp312-win_amd64.whl", hash = "sha256:7124e16b4c55d417577c2077be379514321916d5790fa287c9ed6f23bd2ffd01"},
+ {file = "greenlet-3.1.1-cp313-cp313-macosx_11_0_universal2.whl", hash = "sha256:05175c27cb459dcfc05d026c4232f9de8913ed006d42713cb8a5137bd49375f1"},
+ {file = "greenlet-3.1.1-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:935e943ec47c4afab8965954bf49bfa639c05d4ccf9ef6e924188f762145c0ff"},
+ {file = "greenlet-3.1.1-cp313-cp313-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:667a9706c970cb552ede35aee17339a18e8f2a87a51fba2ed39ceeeb1004798a"},
+ {file = "greenlet-3.1.1-cp313-cp313-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:b8a678974d1f3aa55f6cc34dc480169d58f2e6d8958895d68845fa4ab566509e"},
+ {file = "greenlet-3.1.1-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:efc0f674aa41b92da8c49e0346318c6075d734994c3c4e4430b1c3f853e498e4"},
+ {file = "greenlet-3.1.1-cp313-cp313-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:0153404a4bb921f0ff1abeb5ce8a5131da56b953eda6e14b88dc6bbc04d2049e"},
+ {file = "greenlet-3.1.1-cp313-cp313-musllinux_1_1_aarch64.whl", hash = "sha256:275f72decf9932639c1c6dd1013a1bc266438eb32710016a1c742df5da6e60a1"},
+ {file = "greenlet-3.1.1-cp313-cp313-musllinux_1_1_x86_64.whl", hash = "sha256:c4aab7f6381f38a4b42f269057aee279ab0fc7bf2e929e3d4abfae97b682a12c"},
+ {file = "greenlet-3.1.1-cp313-cp313-win_amd64.whl", hash = "sha256:b42703b1cf69f2aa1df7d1030b9d77d3e584a70755674d60e710f0af570f3761"},
+ {file = "greenlet-3.1.1-cp313-cp313t-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:f1695e76146579f8c06c1509c7ce4dfe0706f49c6831a817ac04eebb2fd02011"},
+ {file = "greenlet-3.1.1-cp313-cp313t-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:7876452af029456b3f3549b696bb36a06db7c90747740c5302f74a9e9fa14b13"},
+ {file = "greenlet-3.1.1-cp313-cp313t-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:4ead44c85f8ab905852d3de8d86f6f8baf77109f9da589cb4fa142bd3b57b475"},
+ {file = "greenlet-3.1.1-cp313-cp313t-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:8320f64b777d00dd7ccdade271eaf0cad6636343293a25074cc5566160e4de7b"},
+ {file = "greenlet-3.1.1-cp313-cp313t-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:6510bf84a6b643dabba74d3049ead221257603a253d0a9873f55f6a59a65f822"},
+ {file = "greenlet-3.1.1-cp313-cp313t-musllinux_1_1_aarch64.whl", hash = "sha256:04b013dc07c96f83134b1e99888e7a79979f1a247e2a9f59697fa14b5862ed01"},
+ {file = "greenlet-3.1.1-cp313-cp313t-musllinux_1_1_x86_64.whl", hash = "sha256:411f015496fec93c1c8cd4e5238da364e1da7a124bcb293f085bf2860c32c6f6"},
+ {file = "greenlet-3.1.1-cp37-cp37m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:47da355d8687fd65240c364c90a31569a133b7b60de111c255ef5b606f2ae291"},
+ {file = "greenlet-3.1.1-cp37-cp37m-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:98884ecf2ffb7d7fe6bd517e8eb99d31ff7855a840fa6d0d63cd07c037f6a981"},
+ {file = "greenlet-3.1.1-cp37-cp37m-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:f1d4aeb8891338e60d1ab6127af1fe45def5259def8094b9c7e34690c8858803"},
+ {file = "greenlet-3.1.1-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:db32b5348615a04b82240cc67983cb315309e88d444a288934ee6ceaebcad6cc"},
+ {file = "greenlet-3.1.1-cp37-cp37m-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:dcc62f31eae24de7f8dce72134c8651c58000d3b1868e01392baea7c32c247de"},
+ {file = "greenlet-3.1.1-cp37-cp37m-musllinux_1_1_aarch64.whl", hash = "sha256:1d3755bcb2e02de341c55b4fca7a745a24a9e7212ac953f6b3a48d117d7257aa"},
+ {file = "greenlet-3.1.1-cp37-cp37m-musllinux_1_1_x86_64.whl", hash = "sha256:b8da394b34370874b4572676f36acabac172602abf054cbc4ac910219f3340af"},
+ {file = "greenlet-3.1.1-cp37-cp37m-win32.whl", hash = "sha256:a0dfc6c143b519113354e780a50381508139b07d2177cb6ad6a08278ec655798"},
+ {file = "greenlet-3.1.1-cp37-cp37m-win_amd64.whl", hash = "sha256:54558ea205654b50c438029505def3834e80f0869a70fb15b871c29b4575ddef"},
+ {file = "greenlet-3.1.1-cp38-cp38-macosx_11_0_universal2.whl", hash = "sha256:346bed03fe47414091be4ad44786d1bd8bef0c3fcad6ed3dee074a032ab408a9"},
+ {file = "greenlet-3.1.1-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:dfc59d69fc48664bc693842bd57acfdd490acafda1ab52c7836e3fc75c90a111"},
+ {file = "greenlet-3.1.1-cp38-cp38-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:d21e10da6ec19b457b82636209cbe2331ff4306b54d06fa04b7c138ba18c8a81"},
+ {file = "greenlet-3.1.1-cp38-cp38-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:37b9de5a96111fc15418819ab4c4432e4f3c2ede61e660b1e33971eba26ef9ba"},
+ {file = "greenlet-3.1.1-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:6ef9ea3f137e5711f0dbe5f9263e8c009b7069d8a1acea822bd5e9dae0ae49c8"},
+ {file = "greenlet-3.1.1-cp38-cp38-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:85f3ff71e2e60bd4b4932a043fbbe0f499e263c628390b285cb599154a3b03b1"},
+ {file = "greenlet-3.1.1-cp38-cp38-musllinux_1_1_aarch64.whl", hash = "sha256:95ffcf719966dd7c453f908e208e14cde192e09fde6c7186c8f1896ef778d8cd"},
+ {file = "greenlet-3.1.1-cp38-cp38-musllinux_1_1_x86_64.whl", hash = "sha256:03a088b9de532cbfe2ba2034b2b85e82df37874681e8c470d6fb2f8c04d7e4b7"},
+ {file = "greenlet-3.1.1-cp38-cp38-win32.whl", hash = "sha256:8b8b36671f10ba80e159378df9c4f15c14098c4fd73a36b9ad715f057272fbef"},
+ {file = "greenlet-3.1.1-cp38-cp38-win_amd64.whl", hash = "sha256:7017b2be767b9d43cc31416aba48aab0d2309ee31b4dbf10a1d38fb7972bdf9d"},
+ {file = "greenlet-3.1.1-cp39-cp39-macosx_11_0_universal2.whl", hash = "sha256:396979749bd95f018296af156201d6211240e7a23090f50a8d5d18c370084dc3"},
+ {file = "greenlet-3.1.1-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:ca9d0ff5ad43e785350894d97e13633a66e2b50000e8a183a50a88d834752d42"},
+ {file = "greenlet-3.1.1-cp39-cp39-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:f6ff3b14f2df4c41660a7dec01045a045653998784bf8cfcb5a525bdffffbc8f"},
+ {file = "greenlet-3.1.1-cp39-cp39-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:94ebba31df2aa506d7b14866fed00ac141a867e63143fe5bca82a8e503b36437"},
+ {file = "greenlet-3.1.1-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:73aaad12ac0ff500f62cebed98d8789198ea0e6f233421059fa68a5aa7220145"},
+ {file = "greenlet-3.1.1-cp39-cp39-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:63e4844797b975b9af3a3fb8f7866ff08775f5426925e1e0bbcfe7932059a12c"},
+ {file = "greenlet-3.1.1-cp39-cp39-musllinux_1_1_aarch64.whl", hash = "sha256:7939aa3ca7d2a1593596e7ac6d59391ff30281ef280d8632fa03d81f7c5f955e"},
+ {file = "greenlet-3.1.1-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:d0028e725ee18175c6e422797c407874da24381ce0690d6b9396c204c7f7276e"},
+ {file = "greenlet-3.1.1-cp39-cp39-win32.whl", hash = "sha256:5e06afd14cbaf9e00899fae69b24a32f2196c19de08fcb9f4779dd4f004e5e7c"},
+ {file = "greenlet-3.1.1-cp39-cp39-win_amd64.whl", hash = "sha256:3319aa75e0e0639bc15ff54ca327e8dc7a6fe404003496e3c6925cd3142e0e22"},
+ {file = "greenlet-3.1.1.tar.gz", hash = "sha256:4ce3ac6cdb6adf7946475d7ef31777c26d94bccc377e070a7986bd2d5c515467"},
]
[package.extras]
@@ -1111,13 +1189,13 @@ test = ["objgraph", "psutil"]
[[package]]
name = "gunicorn"
-version = "22.0.0"
+version = "23.0.0"
description = "WSGI HTTP Server for UNIX"
optional = false
python-versions = ">=3.7"
files = [
- {file = "gunicorn-22.0.0-py3-none-any.whl", hash = "sha256:350679f91b24062c86e386e198a15438d53a7a8207235a78ba1b53df4c4378d9"},
- {file = "gunicorn-22.0.0.tar.gz", hash = "sha256:4a0b436239ff76fb33f11c07a16482c521a7e09c1ce3cc293c2330afe01bec63"},
+ {file = "gunicorn-23.0.0-py3-none-any.whl", hash = "sha256:ec400d38950de4dfd418cff8328b2c8faed0edb0d517d3394e457c317908ca4d"},
+ {file = "gunicorn-23.0.0.tar.gz", hash = "sha256:f014447a0101dc57e294f6c18ca6b40227a4c90e9bdb586042628030cba004ec"},
]
[package.dependencies]
@@ -1212,13 +1290,13 @@ test = ["Cython (>=0.29.24,<0.30.0)"]
[[package]]
name = "httpx"
-version = "0.27.0"
+version = "0.27.2"
description = "The next generation HTTP client."
optional = false
python-versions = ">=3.8"
files = [
- {file = "httpx-0.27.0-py3-none-any.whl", hash = "sha256:71d5465162c13681bff01ad59b2cc68dd838ea1f10e51574bac27103f00c91a5"},
- {file = "httpx-0.27.0.tar.gz", hash = "sha256:a0cb88a46f32dc874e04ee956e4c2764aba2aa228f650b06788ba6bda2962ab5"},
+ {file = "httpx-0.27.2-py3-none-any.whl", hash = "sha256:7bb2708e112d8fdd7829cd4243970f0c223274051cb35ee80c03301ee29a3df0"},
+ {file = "httpx-0.27.2.tar.gz", hash = "sha256:f7c2be1d2f3c3c3160d441802406b206c2b76f5947b11115e6df10c6c65e66c2"},
]
[package.dependencies]
@@ -1233,16 +1311,17 @@ brotli = ["brotli", "brotlicffi"]
cli = ["click (==8.*)", "pygments (==2.*)", "rich (>=10,<14)"]
http2 = ["h2 (>=3,<5)"]
socks = ["socksio (==1.*)"]
+zstd = ["zstandard (>=0.18.0)"]
[[package]]
name = "huggingface-hub"
-version = "0.24.0"
+version = "0.26.2"
description = "Client library to download and publish models, datasets and other repos on the huggingface.co hub"
optional = false
python-versions = ">=3.8.0"
files = [
- {file = "huggingface_hub-0.24.0-py3-none-any.whl", hash = "sha256:7ad92edefb93d8145c061f6df8d99df2ff85f8379ba5fac8a95aca0642afa5d7"},
- {file = "huggingface_hub-0.24.0.tar.gz", hash = "sha256:6c7092736b577d89d57b3cdfea026f1b0dc2234ae783fa0d59caf1bf7d52dfa7"},
+ {file = "huggingface_hub-0.26.2-py3-none-any.whl", hash = "sha256:98c2a5a8e786c7b2cb6fdeb2740893cba4d53e312572ed3d8afafda65b128c46"},
+ {file = "huggingface_hub-0.26.2.tar.gz", hash = "sha256:b100d853465d965733964d123939ba287da60a547087783ddff8a323f340332b"},
]
[package.dependencies]
@@ -1255,16 +1334,16 @@ tqdm = ">=4.42.1"
typing-extensions = ">=3.7.4.3"
[package.extras]
-all = ["InquirerPy (==0.3.4)", "Jinja2", "Pillow", "aiohttp", "fastapi", "gradio", "jedi", "minijinja (>=1.0)", "mypy (==1.5.1)", "numpy", "pytest (>=8.1.1,<8.2.2)", "pytest-asyncio", "pytest-cov", "pytest-env", "pytest-mock", "pytest-rerunfailures", "pytest-vcr", "pytest-xdist", "ruff (>=0.5.0)", "soundfile", "types-PyYAML", "types-requests", "types-simplejson", "types-toml", "types-tqdm", "types-urllib3", "typing-extensions (>=4.8.0)", "urllib3 (<2.0)"]
+all = ["InquirerPy (==0.3.4)", "Jinja2", "Pillow", "aiohttp", "fastapi", "gradio (>=4.0.0)", "jedi", "libcst (==1.4.0)", "mypy (==1.5.1)", "numpy", "pytest (>=8.1.1,<8.2.2)", "pytest-asyncio", "pytest-cov", "pytest-env", "pytest-mock", "pytest-rerunfailures", "pytest-vcr", "pytest-xdist", "ruff (>=0.5.0)", "soundfile", "types-PyYAML", "types-requests", "types-simplejson", "types-toml", "types-tqdm", "types-urllib3", "typing-extensions (>=4.8.0)", "urllib3 (<2.0)"]
cli = ["InquirerPy (==0.3.4)"]
-dev = ["InquirerPy (==0.3.4)", "Jinja2", "Pillow", "aiohttp", "fastapi", "gradio", "jedi", "minijinja (>=1.0)", "mypy (==1.5.1)", "numpy", "pytest (>=8.1.1,<8.2.2)", "pytest-asyncio", "pytest-cov", "pytest-env", "pytest-mock", "pytest-rerunfailures", "pytest-vcr", "pytest-xdist", "ruff (>=0.5.0)", "soundfile", "types-PyYAML", "types-requests", "types-simplejson", "types-toml", "types-tqdm", "types-urllib3", "typing-extensions (>=4.8.0)", "urllib3 (<2.0)"]
+dev = ["InquirerPy (==0.3.4)", "Jinja2", "Pillow", "aiohttp", "fastapi", "gradio (>=4.0.0)", "jedi", "libcst (==1.4.0)", "mypy (==1.5.1)", "numpy", "pytest (>=8.1.1,<8.2.2)", "pytest-asyncio", "pytest-cov", "pytest-env", "pytest-mock", "pytest-rerunfailures", "pytest-vcr", "pytest-xdist", "ruff (>=0.5.0)", "soundfile", "types-PyYAML", "types-requests", "types-simplejson", "types-toml", "types-tqdm", "types-urllib3", "typing-extensions (>=4.8.0)", "urllib3 (<2.0)"]
fastai = ["fastai (>=2.4)", "fastcore (>=1.3.27)", "toml"]
hf-transfer = ["hf-transfer (>=0.1.4)"]
-inference = ["aiohttp", "minijinja (>=1.0)"]
-quality = ["mypy (==1.5.1)", "ruff (>=0.5.0)"]
+inference = ["aiohttp"]
+quality = ["libcst (==1.4.0)", "mypy (==1.5.1)", "ruff (>=0.5.0)"]
tensorflow = ["graphviz", "pydot", "tensorflow"]
tensorflow-testing = ["keras (<3.0)", "tensorflow"]
-testing = ["InquirerPy (==0.3.4)", "Jinja2", "Pillow", "aiohttp", "fastapi", "gradio", "jedi", "minijinja (>=1.0)", "numpy", "pytest (>=8.1.1,<8.2.2)", "pytest-asyncio", "pytest-cov", "pytest-env", "pytest-mock", "pytest-rerunfailures", "pytest-vcr", "pytest-xdist", "soundfile", "urllib3 (<2.0)"]
+testing = ["InquirerPy (==0.3.4)", "Jinja2", "Pillow", "aiohttp", "fastapi", "gradio (>=4.0.0)", "jedi", "numpy", "pytest (>=8.1.1,<8.2.2)", "pytest-asyncio", "pytest-cov", "pytest-env", "pytest-mock", "pytest-rerunfailures", "pytest-vcr", "pytest-xdist", "soundfile", "urllib3 (<2.0)"]
torch = ["safetensors[torch]", "torch"]
typing = ["types-PyYAML", "types-requests", "types-simplejson", "types-toml", "types-tqdm", "types-urllib3", "typing-extensions (>=4.8.0)"]
@@ -1530,13 +1609,13 @@ test = ["pytest (>=7.4)", "pytest-cov (>=4.1)"]
[[package]]
name = "locust"
-version = "2.29.1"
+version = "2.32.0"
description = "Developer-friendly load testing framework"
optional = false
python-versions = ">=3.9"
files = [
- {file = "locust-2.29.1-py3-none-any.whl", hash = "sha256:8b15daab44cdf50eef1860a32bb30969423e3795247115e5a37446da3240c6d6"},
- {file = "locust-2.29.1.tar.gz", hash = "sha256:2e0628a59e2689a50cb4735a9a43709e30f2da7ed276c15d877c5325507f44b1"},
+ {file = "locust-2.32.0-py3-none-any.whl", hash = "sha256:e004514332b8631ca91382d11d224baee4ced040c5f5c8b2233800ebcbc73c0e"},
+ {file = "locust-2.32.0.tar.gz", hash = "sha256:d8f7f5d9d4e801b2e7b0ee3f31109333673da744ccedf85e7da0151f2d263dd9"},
]
[package.dependencies]
@@ -1544,18 +1623,21 @@ ConfigArgParse = ">=1.5.5"
flask = ">=2.0.0"
Flask-Cors = ">=3.0.10"
Flask-Login = ">=0.6.3"
-gevent = ">=22.10.2"
+gevent = [
+ {version = ">=22.10.2", markers = "python_full_version <= \"3.12.0\""},
+ {version = ">=24.10.1", markers = "python_full_version > \"3.13.0\""},
+]
geventhttpclient = ">=2.3.1"
msgpack = ">=1.0.0"
psutil = ">=5.9.1"
-pywin32 = {version = "*", markers = "platform_system == \"Windows\""}
+pywin32 = {version = "*", markers = "sys_platform == \"win32\""}
pyzmq = ">=25.0.0"
requests = [
- {version = ">=2.32.2", markers = "python_version > \"3.11\""},
- {version = ">=2.26.0", markers = "python_version <= \"3.11\""},
+ {version = ">=2.26.0", markers = "python_full_version <= \"3.11.0\""},
+ {version = ">=2.32.2", markers = "python_full_version > \"3.11.0\""},
]
tomli = {version = ">=1.1.0", markers = "python_version < \"3.11\""}
-typing-extensions = {version = ">=4.6.0", markers = "python_version < \"3.11\""}
+typing_extensions = {version = ">=4.6.0", markers = "python_version < \"3.11\""}
Werkzeug = ">=2.0.0"
[[package]]
@@ -1794,38 +1876,43 @@ files = [
[[package]]
name = "mypy"
-version = "1.11.0"
+version = "1.13.0"
description = "Optional static typing for Python"
optional = false
python-versions = ">=3.8"
files = [
- {file = "mypy-1.11.0-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:a3824187c99b893f90c845bab405a585d1ced4ff55421fdf5c84cb7710995229"},
- {file = "mypy-1.11.0-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:96f8dbc2c85046c81bcddc246232d500ad729cb720da4e20fce3b542cab91287"},
- {file = "mypy-1.11.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:1a5d8d8dd8613a3e2be3eae829ee891b6b2de6302f24766ff06cb2875f5be9c6"},
- {file = "mypy-1.11.0-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:72596a79bbfb195fd41405cffa18210af3811beb91ff946dbcb7368240eed6be"},
- {file = "mypy-1.11.0-cp310-cp310-win_amd64.whl", hash = "sha256:35ce88b8ed3a759634cb4eb646d002c4cef0a38f20565ee82b5023558eb90c00"},
- {file = "mypy-1.11.0-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:98790025861cb2c3db8c2f5ad10fc8c336ed2a55f4daf1b8b3f877826b6ff2eb"},
- {file = "mypy-1.11.0-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:25bcfa75b9b5a5f8d67147a54ea97ed63a653995a82798221cca2a315c0238c1"},
- {file = "mypy-1.11.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:0bea2a0e71c2a375c9fa0ede3d98324214d67b3cbbfcbd55ac8f750f85a414e3"},
- {file = "mypy-1.11.0-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:d2b3d36baac48e40e3064d2901f2fbd2a2d6880ec6ce6358825c85031d7c0d4d"},
- {file = "mypy-1.11.0-cp311-cp311-win_amd64.whl", hash = "sha256:d8e2e43977f0e09f149ea69fd0556623919f816764e26d74da0c8a7b48f3e18a"},
- {file = "mypy-1.11.0-cp312-cp312-macosx_10_9_x86_64.whl", hash = "sha256:1d44c1e44a8be986b54b09f15f2c1a66368eb43861b4e82573026e04c48a9e20"},
- {file = "mypy-1.11.0-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:cea3d0fb69637944dd321f41bc896e11d0fb0b0aa531d887a6da70f6e7473aba"},
- {file = "mypy-1.11.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:a83ec98ae12d51c252be61521aa5731f5512231d0b738b4cb2498344f0b840cd"},
- {file = "mypy-1.11.0-cp312-cp312-musllinux_1_1_x86_64.whl", hash = "sha256:c7b73a856522417beb78e0fb6d33ef89474e7a622db2653bc1285af36e2e3e3d"},
- {file = "mypy-1.11.0-cp312-cp312-win_amd64.whl", hash = "sha256:f2268d9fcd9686b61ab64f077be7ffbc6fbcdfb4103e5dd0cc5eaab53a8886c2"},
- {file = "mypy-1.11.0-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:940bfff7283c267ae6522ef926a7887305945f716a7704d3344d6d07f02df850"},
- {file = "mypy-1.11.0-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:14f9294528b5f5cf96c721f231c9f5b2733164e02c1c018ed1a0eff8a18005ac"},
- {file = "mypy-1.11.0-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:d7b54c27783991399046837df5c7c9d325d921394757d09dbcbf96aee4649fe9"},
- {file = "mypy-1.11.0-cp38-cp38-musllinux_1_1_x86_64.whl", hash = "sha256:65f190a6349dec29c8d1a1cd4aa71284177aee5949e0502e6379b42873eddbe7"},
- {file = "mypy-1.11.0-cp38-cp38-win_amd64.whl", hash = "sha256:dbe286303241fea8c2ea5466f6e0e6a046a135a7e7609167b07fd4e7baf151bf"},
- {file = "mypy-1.11.0-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:104e9c1620c2675420abd1f6c44bab7dd33cc85aea751c985006e83dcd001095"},
- {file = "mypy-1.11.0-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:f006e955718ecd8d159cee9932b64fba8f86ee6f7728ca3ac66c3a54b0062abe"},
- {file = "mypy-1.11.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:becc9111ca572b04e7e77131bc708480cc88a911adf3d0239f974c034b78085c"},
- {file = "mypy-1.11.0-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:6801319fe76c3f3a3833f2b5af7bd2c17bb93c00026a2a1b924e6762f5b19e13"},
- {file = "mypy-1.11.0-cp39-cp39-win_amd64.whl", hash = "sha256:c1a184c64521dc549324ec6ef7cbaa6b351912be9cb5edb803c2808a0d7e85ac"},
- {file = "mypy-1.11.0-py3-none-any.whl", hash = "sha256:56913ec8c7638b0091ef4da6fcc9136896914a9d60d54670a75880c3e5b99ace"},
- {file = "mypy-1.11.0.tar.gz", hash = "sha256:93743608c7348772fdc717af4aeee1997293a1ad04bc0ea6efa15bf65385c538"},
+ {file = "mypy-1.13.0-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:6607e0f1dd1fb7f0aca14d936d13fd19eba5e17e1cd2a14f808fa5f8f6d8f60a"},
+ {file = "mypy-1.13.0-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:8a21be69bd26fa81b1f80a61ee7ab05b076c674d9b18fb56239d72e21d9f4c80"},
+ {file = "mypy-1.13.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:7b2353a44d2179846a096e25691d54d59904559f4232519d420d64da6828a3a7"},
+ {file = "mypy-1.13.0-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:0730d1c6a2739d4511dc4253f8274cdd140c55c32dfb0a4cf8b7a43f40abfa6f"},
+ {file = "mypy-1.13.0-cp310-cp310-win_amd64.whl", hash = "sha256:c5fc54dbb712ff5e5a0fca797e6e0aa25726c7e72c6a5850cfd2adbc1eb0a372"},
+ {file = "mypy-1.13.0-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:581665e6f3a8a9078f28d5502f4c334c0c8d802ef55ea0e7276a6e409bc0d82d"},
+ {file = "mypy-1.13.0-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:3ddb5b9bf82e05cc9a627e84707b528e5c7caaa1c55c69e175abb15a761cec2d"},
+ {file = "mypy-1.13.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:20c7ee0bc0d5a9595c46f38beb04201f2620065a93755704e141fcac9f59db2b"},
+ {file = "mypy-1.13.0-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:3790ded76f0b34bc9c8ba4def8f919dd6a46db0f5a6610fb994fe8efdd447f73"},
+ {file = "mypy-1.13.0-cp311-cp311-win_amd64.whl", hash = "sha256:51f869f4b6b538229c1d1bcc1dd7d119817206e2bc54e8e374b3dfa202defcca"},
+ {file = "mypy-1.13.0-cp312-cp312-macosx_10_13_x86_64.whl", hash = "sha256:5c7051a3461ae84dfb5dd15eff5094640c61c5f22257c8b766794e6dd85e72d5"},
+ {file = "mypy-1.13.0-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:39bb21c69a5d6342f4ce526e4584bc5c197fd20a60d14a8624d8743fffb9472e"},
+ {file = "mypy-1.13.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:164f28cb9d6367439031f4c81e84d3ccaa1e19232d9d05d37cb0bd880d3f93c2"},
+ {file = "mypy-1.13.0-cp312-cp312-musllinux_1_1_x86_64.whl", hash = "sha256:a4c1bfcdbce96ff5d96fc9b08e3831acb30dc44ab02671eca5953eadad07d6d0"},
+ {file = "mypy-1.13.0-cp312-cp312-win_amd64.whl", hash = "sha256:a0affb3a79a256b4183ba09811e3577c5163ed06685e4d4b46429a271ba174d2"},
+ {file = "mypy-1.13.0-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:a7b44178c9760ce1a43f544e595d35ed61ac2c3de306599fa59b38a6048e1aa7"},
+ {file = "mypy-1.13.0-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:5d5092efb8516d08440e36626f0153b5006d4088c1d663d88bf79625af3d1d62"},
+ {file = "mypy-1.13.0-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:de2904956dac40ced10931ac967ae63c5089bd498542194b436eb097a9f77bc8"},
+ {file = "mypy-1.13.0-cp313-cp313-musllinux_1_1_x86_64.whl", hash = "sha256:7bfd8836970d33c2105562650656b6846149374dc8ed77d98424b40b09340ba7"},
+ {file = "mypy-1.13.0-cp313-cp313-win_amd64.whl", hash = "sha256:9f73dba9ec77acb86457a8fc04b5239822df0c14a082564737833d2963677dbc"},
+ {file = "mypy-1.13.0-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:100fac22ce82925f676a734af0db922ecfea991e1d7ec0ceb1e115ebe501301a"},
+ {file = "mypy-1.13.0-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:7bcb0bb7f42a978bb323a7c88f1081d1b5dee77ca86f4100735a6f541299d8fb"},
+ {file = "mypy-1.13.0-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:bde31fc887c213e223bbfc34328070996061b0833b0a4cfec53745ed61f3519b"},
+ {file = "mypy-1.13.0-cp38-cp38-musllinux_1_1_x86_64.whl", hash = "sha256:07de989f89786f62b937851295ed62e51774722e5444a27cecca993fc3f9cd74"},
+ {file = "mypy-1.13.0-cp38-cp38-win_amd64.whl", hash = "sha256:4bde84334fbe19bad704b3f5b78c4abd35ff1026f8ba72b29de70dda0916beb6"},
+ {file = "mypy-1.13.0-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:0246bcb1b5de7f08f2826451abd947bf656945209b140d16ed317f65a17dc7dc"},
+ {file = "mypy-1.13.0-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:7f5b7deae912cf8b77e990b9280f170381fdfbddf61b4ef80927edd813163732"},
+ {file = "mypy-1.13.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:7029881ec6ffb8bc233a4fa364736789582c738217b133f1b55967115288a2bc"},
+ {file = "mypy-1.13.0-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:3e38b980e5681f28f033f3be86b099a247b13c491f14bb8b1e1e134d23bb599d"},
+ {file = "mypy-1.13.0-cp39-cp39-win_amd64.whl", hash = "sha256:a6789be98a2017c912ae6ccb77ea553bbaf13d27605d2ca20a76dfbced631b24"},
+ {file = "mypy-1.13.0-py3-none-any.whl", hash = "sha256:9c250883f9fd81d212e0952c92dbfcc96fc237f4b7c92f56ac81fd48460b3e5a"},
+ {file = "mypy-1.13.0.tar.gz", hash = "sha256:0291a61b6fbf3e6673e3405cfcc0e7650bebc7939659fdca2702958038bd835e"},
]
[package.dependencies]
@@ -1835,6 +1922,7 @@ typing-extensions = ">=4.6.0"
[package.extras]
dmypy = ["psutil (>=4.0)"]
+faster-cache = ["orjson"]
install-types = ["pip"]
mypyc = ["setuptools (>=50)"]
reports = ["lxml"]
@@ -1962,69 +2050,69 @@ reference = ["Pillow", "google-re2"]
[[package]]
name = "onnxruntime"
-version = "1.18.1"
+version = "1.19.2"
description = "ONNX Runtime is a runtime accelerator for Machine Learning models"
optional = false
python-versions = "*"
files = [
- {file = "onnxruntime-1.18.1-cp310-cp310-macosx_11_0_universal2.whl", hash = "sha256:29ef7683312393d4ba04252f1b287d964bd67d5e6048b94d2da3643986c74d80"},
- {file = "onnxruntime-1.18.1-cp310-cp310-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:fc706eb1df06ddf55776e15a30519fb15dda7697f987a2bbda4962845e3cec05"},
- {file = "onnxruntime-1.18.1-cp310-cp310-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:b7de69f5ced2a263531923fa68bbec52a56e793b802fcd81a03487b5e292bc3a"},
- {file = "onnxruntime-1.18.1-cp310-cp310-win32.whl", hash = "sha256:221e5b16173926e6c7de2cd437764492aa12b6811f45abd37024e7cf2ae5d7e3"},
- {file = "onnxruntime-1.18.1-cp310-cp310-win_amd64.whl", hash = "sha256:75211b619275199c861ee94d317243b8a0fcde6032e5a80e1aa9ded8ab4c6060"},
- {file = "onnxruntime-1.18.1-cp311-cp311-macosx_11_0_universal2.whl", hash = "sha256:f26582882f2dc581b809cfa41a125ba71ad9e715738ec6402418df356969774a"},
- {file = "onnxruntime-1.18.1-cp311-cp311-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:ef36f3a8b768506d02be349ac303fd95d92813ba3ba70304d40c3cd5c25d6a4c"},
- {file = "onnxruntime-1.18.1-cp311-cp311-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:170e711393e0618efa8ed27b59b9de0ee2383bd2a1f93622a97006a5ad48e434"},
- {file = "onnxruntime-1.18.1-cp311-cp311-win32.whl", hash = "sha256:9b6a33419b6949ea34e0dc009bc4470e550155b6da644571ecace4b198b0d88f"},
- {file = "onnxruntime-1.18.1-cp311-cp311-win_amd64.whl", hash = "sha256:5c1380a9f1b7788da742c759b6a02ba771fe1ce620519b2b07309decbd1a2fe1"},
- {file = "onnxruntime-1.18.1-cp312-cp312-macosx_11_0_universal2.whl", hash = "sha256:31bd57a55e3f983b598675dfc7e5d6f0877b70ec9864b3cc3c3e1923d0a01919"},
- {file = "onnxruntime-1.18.1-cp312-cp312-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:b9e03c4ba9f734500691a4d7d5b381cd71ee2f3ce80a1154ac8f7aed99d1ecaa"},
- {file = "onnxruntime-1.18.1-cp312-cp312-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:781aa9873640f5df24524f96f6070b8c550c66cb6af35710fd9f92a20b4bfbf6"},
- {file = "onnxruntime-1.18.1-cp312-cp312-win32.whl", hash = "sha256:3a2d9ab6254ca62adbb448222e630dc6883210f718065063518c8f93a32432be"},
- {file = "onnxruntime-1.18.1-cp312-cp312-win_amd64.whl", hash = "sha256:ad93c560b1c38c27c0275ffd15cd7f45b3ad3fc96653c09ce2931179982ff204"},
- {file = "onnxruntime-1.18.1-cp38-cp38-macosx_11_0_universal2.whl", hash = "sha256:3b55dc9d3c67626388958a3eb7ad87eb7c70f75cb0f7ff4908d27b8b42f2475c"},
- {file = "onnxruntime-1.18.1-cp38-cp38-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:f80dbcfb6763cc0177a31168b29b4bd7662545b99a19e211de8c734b657e0669"},
- {file = "onnxruntime-1.18.1-cp38-cp38-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:f1ff2c61a16d6c8631796c54139bafea41ee7736077a0fc64ee8ae59432f5c58"},
- {file = "onnxruntime-1.18.1-cp38-cp38-win32.whl", hash = "sha256:219855bd272fe0c667b850bf1a1a5a02499269a70d59c48e6f27f9c8bcb25d02"},
- {file = "onnxruntime-1.18.1-cp38-cp38-win_amd64.whl", hash = "sha256:afdf16aa607eb9a2c60d5ca2d5abf9f448e90c345b6b94c3ed14f4fb7e6a2d07"},
- {file = "onnxruntime-1.18.1-cp39-cp39-macosx_11_0_universal2.whl", hash = "sha256:128df253ade673e60cea0955ec9d0e89617443a6d9ce47c2d79eb3f72a3be3de"},
- {file = "onnxruntime-1.18.1-cp39-cp39-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:9839491e77e5c5a175cab3621e184d5a88925ee297ff4c311b68897197f4cde9"},
- {file = "onnxruntime-1.18.1-cp39-cp39-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:ad3187c1faff3ac15f7f0e7373ef4788c582cafa655a80fdbb33eaec88976c66"},
- {file = "onnxruntime-1.18.1-cp39-cp39-win32.whl", hash = "sha256:34657c78aa4e0b5145f9188b550ded3af626651b15017bf43d280d7e23dbf195"},
- {file = "onnxruntime-1.18.1-cp39-cp39-win_amd64.whl", hash = "sha256:9c14fd97c3ddfa97da5feef595e2c73f14c2d0ec1d4ecbea99c8d96603c89589"},
+ {file = "onnxruntime-1.19.2-cp310-cp310-macosx_11_0_universal2.whl", hash = "sha256:84fa57369c06cadd3c2a538ae2a26d76d583e7c34bdecd5769d71ca5c0fc750e"},
+ {file = "onnxruntime-1.19.2-cp310-cp310-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:bdc471a66df0c1cdef774accef69e9f2ca168c851ab5e4f2f3341512c7ef4666"},
+ {file = "onnxruntime-1.19.2-cp310-cp310-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:e3a4ce906105d99ebbe817f536d50a91ed8a4d1592553f49b3c23c4be2560ae6"},
+ {file = "onnxruntime-1.19.2-cp310-cp310-win32.whl", hash = "sha256:4b3d723cc154c8ddeb9f6d0a8c0d6243774c6b5930847cc83170bfe4678fafb3"},
+ {file = "onnxruntime-1.19.2-cp310-cp310-win_amd64.whl", hash = "sha256:17ed7382d2c58d4b7354fb2b301ff30b9bf308a1c7eac9546449cd122d21cae5"},
+ {file = "onnxruntime-1.19.2-cp311-cp311-macosx_11_0_universal2.whl", hash = "sha256:d863e8acdc7232d705d49e41087e10b274c42f09e259016a46f32c34e06dc4fd"},
+ {file = "onnxruntime-1.19.2-cp311-cp311-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:c1dfe4f660a71b31caa81fc298a25f9612815215a47b286236e61d540350d7b6"},
+ {file = "onnxruntime-1.19.2-cp311-cp311-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:a36511dc07c5c964b916697e42e366fa43c48cdb3d3503578d78cef30417cb84"},
+ {file = "onnxruntime-1.19.2-cp311-cp311-win32.whl", hash = "sha256:50cbb8dc69d6befad4746a69760e5b00cc3ff0a59c6c3fb27f8afa20e2cab7e7"},
+ {file = "onnxruntime-1.19.2-cp311-cp311-win_amd64.whl", hash = "sha256:1c3e5d415b78337fa0b1b75291e9ea9fb2a4c1f148eb5811e7212fed02cfffa8"},
+ {file = "onnxruntime-1.19.2-cp312-cp312-macosx_11_0_universal2.whl", hash = "sha256:68e7051bef9cfefcbb858d2d2646536829894d72a4130c24019219442b1dd2ed"},
+ {file = "onnxruntime-1.19.2-cp312-cp312-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:d2d366fbcc205ce68a8a3bde2185fd15c604d9645888703785b61ef174265168"},
+ {file = "onnxruntime-1.19.2-cp312-cp312-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:477b93df4db467e9cbf34051662a4b27c18e131fa1836e05974eae0d6e4cf29b"},
+ {file = "onnxruntime-1.19.2-cp312-cp312-win32.whl", hash = "sha256:9a174073dc5608fad05f7cf7f320b52e8035e73d80b0a23c80f840e5a97c0147"},
+ {file = "onnxruntime-1.19.2-cp312-cp312-win_amd64.whl", hash = "sha256:190103273ea4507638ffc31d66a980594b237874b65379e273125150eb044857"},
+ {file = "onnxruntime-1.19.2-cp38-cp38-macosx_11_0_universal2.whl", hash = "sha256:636bc1d4cc051d40bc52e1f9da87fbb9c57d9d47164695dfb1c41646ea51ea66"},
+ {file = "onnxruntime-1.19.2-cp38-cp38-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:5bd8b875757ea941cbcfe01582970cc299893d1b65bd56731e326a8333f638a3"},
+ {file = "onnxruntime-1.19.2-cp38-cp38-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:b2046fc9560f97947bbc1acbe4c6d48585ef0f12742744307d3364b131ac5778"},
+ {file = "onnxruntime-1.19.2-cp38-cp38-win32.whl", hash = "sha256:31c12840b1cde4ac1f7d27d540c44e13e34f2345cf3642762d2a3333621abb6a"},
+ {file = "onnxruntime-1.19.2-cp38-cp38-win_amd64.whl", hash = "sha256:016229660adea180e9a32ce218b95f8f84860a200f0f13b50070d7d90e92956c"},
+ {file = "onnxruntime-1.19.2-cp39-cp39-macosx_11_0_universal2.whl", hash = "sha256:006c8d326835c017a9e9f74c9c77ebb570a71174a1e89fe078b29a557d9c3848"},
+ {file = "onnxruntime-1.19.2-cp39-cp39-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:df2a94179a42d530b936f154615b54748239c2908ee44f0d722cb4df10670f68"},
+ {file = "onnxruntime-1.19.2-cp39-cp39-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:fae4b4de45894b9ce7ae418c5484cbf0341db6813effec01bb2216091c52f7fb"},
+ {file = "onnxruntime-1.19.2-cp39-cp39-win32.whl", hash = "sha256:dc5430f473e8706fff837ae01323be9dcfddd3ea471c900a91fa7c9b807ec5d3"},
+ {file = "onnxruntime-1.19.2-cp39-cp39-win_amd64.whl", hash = "sha256:38475e29a95c5f6c62c2c603d69fc7d4c6ccbf4df602bd567b86ae1138881c49"},
]
[package.dependencies]
coloredlogs = "*"
flatbuffers = "*"
-numpy = ">=1.21.6,<2.0"
+numpy = ">=1.21.6"
packaging = "*"
protobuf = "*"
sympy = "*"
[[package]]
name = "onnxruntime-gpu"
-version = "1.18.1"
+version = "1.19.2"
description = "ONNX Runtime is a runtime accelerator for Machine Learning models"
optional = false
python-versions = "*"
files = [
- {file = "onnxruntime_gpu-1.18.1-cp310-cp310-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:4e9a52f5d43a84fe29e135da6bf10daa18836c81bed9060a5924efd6afc0d259"},
- {file = "onnxruntime_gpu-1.18.1-cp310-cp310-win_amd64.whl", hash = "sha256:e7c1c665e8a11a5cf15369948b04288dc0a6812ad2e6beaff93a3d157c864d9a"},
- {file = "onnxruntime_gpu-1.18.1-cp311-cp311-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:1334f802cb1e4e2eb6ceebc4ef71ba44f3ef444d34216baafb940368a7a5d2f5"},
- {file = "onnxruntime_gpu-1.18.1-cp311-cp311-win_amd64.whl", hash = "sha256:0ffcc711e89b80c935d5172544f8a605b11525fc1e6f0e78ee79e2c28956e2d9"},
- {file = "onnxruntime_gpu-1.18.1-cp312-cp312-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:bbb1a6c986b2392eebaebc43e198a1614e3f7d2c191725002dbfa0dceb24454b"},
- {file = "onnxruntime_gpu-1.18.1-cp312-cp312-win_amd64.whl", hash = "sha256:bee352929e6eec2ff4e11e323a025ed8bd5eac24795005bc502ac740971fa7bd"},
- {file = "onnxruntime_gpu-1.18.1-cp38-cp38-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:76d307a849a863d0457869febe4b2fd2fc07c7f26385c7339d17066312fa6be0"},
- {file = "onnxruntime_gpu-1.18.1-cp38-cp38-win_amd64.whl", hash = "sha256:b7498d6c64a03558308ce6d7d14dab306ea90d1204b563890c4d2d26c1b520f0"},
- {file = "onnxruntime_gpu-1.18.1-cp39-cp39-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:8a1d8113cb4b8a51b195fae91cfeb6849728462a4b46aaf51b6764c44e54f81f"},
- {file = "onnxruntime_gpu-1.18.1-cp39-cp39-win_amd64.whl", hash = "sha256:fc1d2544a39f5db64c5b8a0c24d0b934d7d64682e6d70763eb2cc726b1fd6c3f"},
+ {file = "onnxruntime_gpu-1.19.2-cp310-cp310-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:a49740e079e7c5215830d30cde3df792e903df007aa0b0fd7aa797937061b27a"},
+ {file = "onnxruntime_gpu-1.19.2-cp310-cp310-win_amd64.whl", hash = "sha256:b895920bb5e4241299f68874e0becdc2635ea0142939c11e7ff5ae5b28993613"},
+ {file = "onnxruntime_gpu-1.19.2-cp311-cp311-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:562fc7c755393eaad9751e56149339dd201ffbfdb3ef5f43ff21d0619ba9045f"},
+ {file = "onnxruntime_gpu-1.19.2-cp311-cp311-win_amd64.whl", hash = "sha256:522f7495918176cb8c1a3c78bde7152d984f7096acc786c73a27643af8af87c9"},
+ {file = "onnxruntime_gpu-1.19.2-cp312-cp312-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:554a02a3fac0119707eb87327908afd21c4e6f0fa5bf9a034398f098adc316c5"},
+ {file = "onnxruntime_gpu-1.19.2-cp312-cp312-win_amd64.whl", hash = "sha256:e7c6165a405027e3c0f11d189ae7013b5d66919b3381f9bfb3405c0c0cf07968"},
+ {file = "onnxruntime_gpu-1.19.2-cp38-cp38-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:b4a8562e1e6f1912870c60bfaf8233c82b86e5b93ae39f211b650ac0f2015430"},
+ {file = "onnxruntime_gpu-1.19.2-cp38-cp38-win_amd64.whl", hash = "sha256:55505c99e18688a7c68fdc811ed6e7a315aa36f543b33920c77d03a627d2c3f5"},
+ {file = "onnxruntime_gpu-1.19.2-cp39-cp39-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:c9e369f01f55ea726ae5d28f18236426e52e97c433f0b7682054e61c478a06c9"},
+ {file = "onnxruntime_gpu-1.19.2-cp39-cp39-win_amd64.whl", hash = "sha256:c8b8128174b0470537e9f4983aeecc002a435d13914970c2af2f41d244ef2781"},
]
[package.dependencies]
coloredlogs = "*"
flatbuffers = "*"
-numpy = ">=1.21.6,<2.0"
+numpy = ">=1.21.6"
packaging = "*"
protobuf = "*"
sympy = "*"
@@ -2074,70 +2162,77 @@ files = [
[package.dependencies]
numpy = [
- {version = ">=1.26.0", markers = "python_version >= \"3.12\""},
{version = ">=1.23.5", markers = "python_version >= \"3.11\" and python_version < \"3.12\""},
{version = ">=1.21.4", markers = "python_version >= \"3.10\" and platform_system == \"Darwin\" and python_version < \"3.11\""},
{version = ">=1.21.2", markers = "platform_system != \"Darwin\" and python_version >= \"3.10\" and python_version < \"3.11\""},
+ {version = ">=1.26.0", markers = "python_version >= \"3.12\""},
]
[[package]]
name = "orjson"
-version = "3.10.6"
+version = "3.10.10"
description = "Fast, correct Python JSON library supporting dataclasses, datetimes, and numpy"
optional = false
python-versions = ">=3.8"
files = [
- {file = "orjson-3.10.6-cp310-cp310-macosx_10_15_x86_64.macosx_11_0_arm64.macosx_10_15_universal2.whl", hash = "sha256:fb0ee33124db6eaa517d00890fc1a55c3bfe1cf78ba4a8899d71a06f2d6ff5c7"},
- {file = "orjson-3.10.6-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:9c1c4b53b24a4c06547ce43e5fee6ec4e0d8fe2d597f4647fc033fd205707365"},
- {file = "orjson-3.10.6-cp310-cp310-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:eadc8fd310edb4bdbd333374f2c8fec6794bbbae99b592f448d8214a5e4050c0"},
- {file = "orjson-3.10.6-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:61272a5aec2b2661f4fa2b37c907ce9701e821b2c1285d5c3ab0207ebd358d38"},
- {file = "orjson-3.10.6-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:57985ee7e91d6214c837936dc1608f40f330a6b88bb13f5a57ce5257807da143"},
- {file = "orjson-3.10.6-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:633a3b31d9d7c9f02d49c4ab4d0a86065c4a6f6adc297d63d272e043472acab5"},
- {file = "orjson-3.10.6-cp310-cp310-musllinux_1_2_aarch64.whl", hash = "sha256:1c680b269d33ec444afe2bdc647c9eb73166fa47a16d9a75ee56a374f4a45f43"},
- {file = "orjson-3.10.6-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:f759503a97a6ace19e55461395ab0d618b5a117e8d0fbb20e70cfd68a47327f2"},
- {file = "orjson-3.10.6-cp310-none-win32.whl", hash = "sha256:95a0cce17f969fb5391762e5719575217bd10ac5a189d1979442ee54456393f3"},
- {file = "orjson-3.10.6-cp310-none-win_amd64.whl", hash = "sha256:df25d9271270ba2133cc88ee83c318372bdc0f2cd6f32e7a450809a111efc45c"},
- {file = "orjson-3.10.6-cp311-cp311-macosx_10_15_x86_64.macosx_11_0_arm64.macosx_10_15_universal2.whl", hash = "sha256:b1ec490e10d2a77c345def52599311849fc063ae0e67cf4f84528073152bb2ba"},
- {file = "orjson-3.10.6-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:55d43d3feb8f19d07e9f01e5b9be4f28801cf7c60d0fa0d279951b18fae1932b"},
- {file = "orjson-3.10.6-cp311-cp311-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:ac3045267e98fe749408eee1593a142e02357c5c99be0802185ef2170086a863"},
- {file = "orjson-3.10.6-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:c27bc6a28ae95923350ab382c57113abd38f3928af3c80be6f2ba7eb8d8db0b0"},
- {file = "orjson-3.10.6-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:d27456491ca79532d11e507cadca37fb8c9324a3976294f68fb1eff2dc6ced5a"},
- {file = "orjson-3.10.6-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:05ac3d3916023745aa3b3b388e91b9166be1ca02b7c7e41045da6d12985685f0"},
- {file = "orjson-3.10.6-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:1335d4ef59ab85cab66fe73fd7a4e881c298ee7f63ede918b7faa1b27cbe5212"},
- {file = "orjson-3.10.6-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:4bbc6d0af24c1575edc79994c20e1b29e6fb3c6a570371306db0993ecf144dc5"},
- {file = "orjson-3.10.6-cp311-none-win32.whl", hash = "sha256:450e39ab1f7694465060a0550b3f6d328d20297bf2e06aa947b97c21e5241fbd"},
- {file = "orjson-3.10.6-cp311-none-win_amd64.whl", hash = "sha256:227df19441372610b20e05bdb906e1742ec2ad7a66ac8350dcfd29a63014a83b"},
- {file = "orjson-3.10.6-cp312-cp312-macosx_10_15_x86_64.macosx_11_0_arm64.macosx_10_15_universal2.whl", hash = "sha256:ea2977b21f8d5d9b758bb3f344a75e55ca78e3ff85595d248eee813ae23ecdfb"},
- {file = "orjson-3.10.6-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:b6f3d167d13a16ed263b52dbfedff52c962bfd3d270b46b7518365bcc2121eed"},
- {file = "orjson-3.10.6-cp312-cp312-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:f710f346e4c44a4e8bdf23daa974faede58f83334289df80bc9cd12fe82573c7"},
- {file = "orjson-3.10.6-cp312-cp312-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:7275664f84e027dcb1ad5200b8b18373e9c669b2a9ec33d410c40f5ccf4b257e"},
- {file = "orjson-3.10.6-cp312-cp312-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:0943e4c701196b23c240b3d10ed8ecd674f03089198cf503105b474a4f77f21f"},
- {file = "orjson-3.10.6-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:446dee5a491b5bc7d8f825d80d9637e7af43f86a331207b9c9610e2f93fee22a"},
- {file = "orjson-3.10.6-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:64c81456d2a050d380786413786b057983892db105516639cb5d3ee3c7fd5148"},
- {file = "orjson-3.10.6-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:960db0e31c4e52fa0fc3ecbaea5b2d3b58f379e32a95ae6b0ebeaa25b93dfd34"},
- {file = "orjson-3.10.6-cp312-none-win32.whl", hash = "sha256:a6ea7afb5b30b2317e0bee03c8d34c8181bc5a36f2afd4d0952f378972c4efd5"},
- {file = "orjson-3.10.6-cp312-none-win_amd64.whl", hash = "sha256:874ce88264b7e655dde4aeaacdc8fd772a7962faadfb41abe63e2a4861abc3dc"},
- {file = "orjson-3.10.6-cp38-cp38-macosx_10_15_x86_64.macosx_11_0_arm64.macosx_10_15_universal2.whl", hash = "sha256:66680eae4c4e7fc193d91cfc1353ad6d01b4801ae9b5314f17e11ba55e934183"},
- {file = "orjson-3.10.6-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:caff75b425db5ef8e8f23af93c80f072f97b4fb3afd4af44482905c9f588da28"},
- {file = "orjson-3.10.6-cp38-cp38-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:3722fddb821b6036fd2a3c814f6bd9b57a89dc6337b9924ecd614ebce3271394"},
- {file = "orjson-3.10.6-cp38-cp38-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:c2c116072a8533f2fec435fde4d134610f806bdac20188c7bd2081f3e9e0133f"},
- {file = "orjson-3.10.6-cp38-cp38-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:6eeb13218c8cf34c61912e9df2de2853f1d009de0e46ea09ccdf3d757896af0a"},
- {file = "orjson-3.10.6-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:965a916373382674e323c957d560b953d81d7a8603fbeee26f7b8248638bd48b"},
- {file = "orjson-3.10.6-cp38-cp38-musllinux_1_2_aarch64.whl", hash = "sha256:03c95484d53ed8e479cade8628c9cea00fd9d67f5554764a1110e0d5aa2de96e"},
- {file = "orjson-3.10.6-cp38-cp38-musllinux_1_2_x86_64.whl", hash = "sha256:e060748a04cccf1e0a6f2358dffea9c080b849a4a68c28b1b907f272b5127e9b"},
- {file = "orjson-3.10.6-cp38-none-win32.whl", hash = "sha256:738dbe3ef909c4b019d69afc19caf6b5ed0e2f1c786b5d6215fbb7539246e4c6"},
- {file = "orjson-3.10.6-cp38-none-win_amd64.whl", hash = "sha256:d40f839dddf6a7d77114fe6b8a70218556408c71d4d6e29413bb5f150a692ff7"},
- {file = "orjson-3.10.6-cp39-cp39-macosx_10_15_x86_64.macosx_11_0_arm64.macosx_10_15_universal2.whl", hash = "sha256:697a35a083c4f834807a6232b3e62c8b280f7a44ad0b759fd4dce748951e70db"},
- {file = "orjson-3.10.6-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:fd502f96bf5ea9a61cbc0b2b5900d0dd68aa0da197179042bdd2be67e51a1e4b"},
- {file = "orjson-3.10.6-cp39-cp39-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:f215789fb1667cdc874c1b8af6a84dc939fd802bf293a8334fce185c79cd359b"},
- {file = "orjson-3.10.6-cp39-cp39-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:a2debd8ddce948a8c0938c8c93ade191d2f4ba4649a54302a7da905a81f00b56"},
- {file = "orjson-3.10.6-cp39-cp39-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:5410111d7b6681d4b0d65e0f58a13be588d01b473822483f77f513c7f93bd3b2"},
- {file = "orjson-3.10.6-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:bb1f28a137337fdc18384079fa5726810681055b32b92253fa15ae5656e1dddb"},
- {file = "orjson-3.10.6-cp39-cp39-musllinux_1_2_aarch64.whl", hash = "sha256:bf2fbbce5fe7cd1aa177ea3eab2b8e6a6bc6e8592e4279ed3db2d62e57c0e1b2"},
- {file = "orjson-3.10.6-cp39-cp39-musllinux_1_2_x86_64.whl", hash = "sha256:79b9b9e33bd4c517445a62b90ca0cc279b0f1f3970655c3df9e608bc3f91741a"},
- {file = "orjson-3.10.6-cp39-none-win32.whl", hash = "sha256:30b0a09a2014e621b1adf66a4f705f0809358350a757508ee80209b2d8dae219"},
- {file = "orjson-3.10.6-cp39-none-win_amd64.whl", hash = "sha256:49e3bc615652617d463069f91b867a4458114c5b104e13b7ae6872e5f79d0844"},
- {file = "orjson-3.10.6.tar.gz", hash = "sha256:e54b63d0a7c6c54a5f5f726bc93a2078111ef060fec4ecbf34c5db800ca3b3a7"},
+ {file = "orjson-3.10.10-cp310-cp310-macosx_10_15_x86_64.macosx_11_0_arm64.macosx_10_15_universal2.whl", hash = "sha256:b788a579b113acf1c57e0a68e558be71d5d09aa67f62ca1f68e01117e550a998"},
+ {file = "orjson-3.10.10-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:804b18e2b88022c8905bb79bd2cbe59c0cd014b9328f43da8d3b28441995cda4"},
+ {file = "orjson-3.10.10-cp310-cp310-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:9972572a1d042ec9ee421b6da69f7cc823da5962237563fa548ab17f152f0b9b"},
+ {file = "orjson-3.10.10-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:dc6993ab1c2ae7dd0711161e303f1db69062955ac2668181bfdf2dd410e65258"},
+ {file = "orjson-3.10.10-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:d78e4cacced5781b01d9bc0f0cd8b70b906a0e109825cb41c1b03f9c41e4ce86"},
+ {file = "orjson-3.10.10-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:e6eb2598df518281ba0cbc30d24c5b06124ccf7e19169e883c14e0831217a0bc"},
+ {file = "orjson-3.10.10-cp310-cp310-musllinux_1_2_aarch64.whl", hash = "sha256:23776265c5215ec532de6238a52707048401a568f0fa0d938008e92a147fe2c7"},
+ {file = "orjson-3.10.10-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:8cc2a654c08755cef90b468ff17c102e2def0edd62898b2486767204a7f5cc9c"},
+ {file = "orjson-3.10.10-cp310-none-win32.whl", hash = "sha256:081b3fc6a86d72efeb67c13d0ea7c030017bd95f9868b1e329a376edc456153b"},
+ {file = "orjson-3.10.10-cp310-none-win_amd64.whl", hash = "sha256:ff38c5fb749347768a603be1fb8a31856458af839f31f064c5aa74aca5be9efe"},
+ {file = "orjson-3.10.10-cp311-cp311-macosx_10_15_x86_64.macosx_11_0_arm64.macosx_10_15_universal2.whl", hash = "sha256:879e99486c0fbb256266c7c6a67ff84f46035e4f8749ac6317cc83dacd7f993a"},
+ {file = "orjson-3.10.10-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:019481fa9ea5ff13b5d5d95e6fd5ab25ded0810c80b150c2c7b1cc8660b662a7"},
+ {file = "orjson-3.10.10-cp311-cp311-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:0dd57eff09894938b4c86d4b871a479260f9e156fa7f12f8cad4b39ea8028bb5"},
+ {file = "orjson-3.10.10-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:dbde6d70cd95ab4d11ea8ac5e738e30764e510fc54d777336eec09bb93b8576c"},
+ {file = "orjson-3.10.10-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:3b2625cb37b8fb42e2147404e5ff7ef08712099197a9cd38895006d7053e69d6"},
+ {file = "orjson-3.10.10-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:dbf3c20c6a7db69df58672a0d5815647ecf78c8e62a4d9bd284e8621c1fe5ccb"},
+ {file = "orjson-3.10.10-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:75c38f5647e02d423807d252ce4528bf6a95bd776af999cb1fb48867ed01d1f6"},
+ {file = "orjson-3.10.10-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:23458d31fa50ec18e0ec4b0b4343730928296b11111df5f547c75913714116b2"},
+ {file = "orjson-3.10.10-cp311-none-win32.whl", hash = "sha256:2787cd9dedc591c989f3facd7e3e86508eafdc9536a26ec277699c0aa63c685b"},
+ {file = "orjson-3.10.10-cp311-none-win_amd64.whl", hash = "sha256:6514449d2c202a75183f807bc755167713297c69f1db57a89a1ef4a0170ee269"},
+ {file = "orjson-3.10.10-cp312-cp312-macosx_10_15_x86_64.macosx_11_0_arm64.macosx_10_15_universal2.whl", hash = "sha256:8564f48f3620861f5ef1e080ce7cd122ee89d7d6dacf25fcae675ff63b4d6e05"},
+ {file = "orjson-3.10.10-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:c5bf161a32b479034098c5b81f2608f09167ad2fa1c06abd4e527ea6bf4837a9"},
+ {file = "orjson-3.10.10-cp312-cp312-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:68b65c93617bcafa7f04b74ae8bc2cc214bd5cb45168a953256ff83015c6747d"},
+ {file = "orjson-3.10.10-cp312-cp312-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:e8e28406f97fc2ea0c6150f4c1b6e8261453318930b334abc419214c82314f85"},
+ {file = "orjson-3.10.10-cp312-cp312-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:e4d0d9fe174cc7a5bdce2e6c378bcdb4c49b2bf522a8f996aa586020e1b96cee"},
+ {file = "orjson-3.10.10-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:b3be81c42f1242cbed03cbb3973501fcaa2675a0af638f8be494eaf37143d999"},
+ {file = "orjson-3.10.10-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:65f9886d3bae65be026219c0a5f32dbbe91a9e6272f56d092ab22561ad0ea33b"},
+ {file = "orjson-3.10.10-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:730ed5350147db7beb23ddaf072f490329e90a1d059711d364b49fe352ec987b"},
+ {file = "orjson-3.10.10-cp312-none-win32.whl", hash = "sha256:a8f4bf5f1c85bea2170800020d53a8877812892697f9c2de73d576c9307a8a5f"},
+ {file = "orjson-3.10.10-cp312-none-win_amd64.whl", hash = "sha256:384cd13579a1b4cd689d218e329f459eb9ddc504fa48c5a83ef4889db7fd7a4f"},
+ {file = "orjson-3.10.10-cp313-cp313-macosx_10_15_x86_64.macosx_11_0_arm64.macosx_10_15_universal2.whl", hash = "sha256:44bffae68c291f94ff5a9b4149fe9d1bdd4cd0ff0fb575bcea8351d48db629a1"},
+ {file = "orjson-3.10.10-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:e27b4c6437315df3024f0835887127dac2a0a3ff643500ec27088d2588fa5ae1"},
+ {file = "orjson-3.10.10-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:bca84df16d6b49325a4084fd8b2fe2229cb415e15c46c529f868c3387bb1339d"},
+ {file = "orjson-3.10.10-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:c14ce70e8f39bd71f9f80423801b5d10bf93d1dceffdecd04df0f64d2c69bc01"},
+ {file = "orjson-3.10.10-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:24ac62336da9bda1bd93c0491eff0613003b48d3cb5d01470842e7b52a40d5b4"},
+ {file = "orjson-3.10.10-cp313-none-win32.whl", hash = "sha256:eb0a42831372ec2b05acc9ee45af77bcaccbd91257345f93780a8e654efc75db"},
+ {file = "orjson-3.10.10-cp313-none-win_amd64.whl", hash = "sha256:f0c4f37f8bf3f1075c6cc8dd8a9f843689a4b618628f8812d0a71e6968b95ffd"},
+ {file = "orjson-3.10.10-cp38-cp38-macosx_10_15_x86_64.macosx_11_0_arm64.macosx_10_15_universal2.whl", hash = "sha256:829700cc18503efc0cf502d630f612884258020d98a317679cd2054af0259568"},
+ {file = "orjson-3.10.10-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:e0ceb5e0e8c4f010ac787d29ae6299846935044686509e2f0f06ed441c1ca949"},
+ {file = "orjson-3.10.10-cp38-cp38-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:0c25908eb86968613216f3db4d3003f1c45d78eb9046b71056ca327ff92bdbd4"},
+ {file = "orjson-3.10.10-cp38-cp38-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:218cb0bc03340144b6328a9ff78f0932e642199ac184dd74b01ad691f42f93ff"},
+ {file = "orjson-3.10.10-cp38-cp38-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:e2277ec2cea3775640dc81ab5195bb5b2ada2fe0ea6eee4677474edc75ea6785"},
+ {file = "orjson-3.10.10-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:848ea3b55ab5ccc9d7bbd420d69432628b691fba3ca8ae3148c35156cbd282aa"},
+ {file = "orjson-3.10.10-cp38-cp38-musllinux_1_2_aarch64.whl", hash = "sha256:e3e67b537ac0c835b25b5f7d40d83816abd2d3f4c0b0866ee981a045287a54f3"},
+ {file = "orjson-3.10.10-cp38-cp38-musllinux_1_2_x86_64.whl", hash = "sha256:7948cfb909353fce2135dcdbe4521a5e7e1159484e0bb024c1722f272488f2b8"},
+ {file = "orjson-3.10.10-cp38-none-win32.whl", hash = "sha256:78bee66a988f1a333dc0b6257503d63553b1957889c17b2c4ed72385cd1b96ae"},
+ {file = "orjson-3.10.10-cp38-none-win_amd64.whl", hash = "sha256:f1d647ca8d62afeb774340a343c7fc023efacfd3a39f70c798991063f0c681dd"},
+ {file = "orjson-3.10.10-cp39-cp39-macosx_10_15_x86_64.macosx_11_0_arm64.macosx_10_15_universal2.whl", hash = "sha256:5a059afddbaa6dd733b5a2d76a90dbc8af790b993b1b5cb97a1176ca713b5df8"},
+ {file = "orjson-3.10.10-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:6f9b5c59f7e2a1a410f971c5ebc68f1995822837cd10905ee255f96074537ee6"},
+ {file = "orjson-3.10.10-cp39-cp39-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:d5ef198bafdef4aa9d49a4165ba53ffdc0a9e1c7b6f76178572ab33118afea25"},
+ {file = "orjson-3.10.10-cp39-cp39-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:aaf29ce0bb5d3320824ec3d1508652421000ba466abd63bdd52c64bcce9eb1fa"},
+ {file = "orjson-3.10.10-cp39-cp39-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:dddd5516bcc93e723d029c1633ae79c4417477b4f57dad9bfeeb6bc0315e654a"},
+ {file = "orjson-3.10.10-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:a12f2003695b10817f0fa8b8fca982ed7f5761dcb0d93cff4f2f9f6709903fd7"},
+ {file = "orjson-3.10.10-cp39-cp39-musllinux_1_2_aarch64.whl", hash = "sha256:672f9874a8a8fb9bb1b771331d31ba27f57702c8106cdbadad8bda5d10bc1019"},
+ {file = "orjson-3.10.10-cp39-cp39-musllinux_1_2_x86_64.whl", hash = "sha256:1dcbb0ca5fafb2b378b2c74419480ab2486326974826bbf6588f4dc62137570a"},
+ {file = "orjson-3.10.10-cp39-none-win32.whl", hash = "sha256:d9bbd3a4b92256875cb058c3381b782649b9a3c68a4aa9a2fff020c2f9cfc1be"},
+ {file = "orjson-3.10.10-cp39-none-win_amd64.whl", hash = "sha256:766f21487a53aee8524b97ca9582d5c6541b03ab6210fbaf10142ae2f3ced2aa"},
+ {file = "orjson-3.10.10.tar.gz", hash = "sha256:37949383c4df7b4337ce82ee35b6d7471e55195efa7dcb45ab8226ceadb0fe3b"},
]
[[package]]
@@ -2367,62 +2462,147 @@ files = [
[[package]]
name = "pydantic"
-version = "1.10.17"
-description = "Data validation and settings management using python type hints"
+version = "2.9.2"
+description = "Data validation using Python type hints"
optional = false
-python-versions = ">=3.7"
+python-versions = ">=3.8"
files = [
- {file = "pydantic-1.10.17-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:0fa51175313cc30097660b10eec8ca55ed08bfa07acbfe02f7a42f6c242e9a4b"},
- {file = "pydantic-1.10.17-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:c7e8988bb16988890c985bd2093df9dd731bfb9d5e0860db054c23034fab8f7a"},
- {file = "pydantic-1.10.17-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:371dcf1831f87c9e217e2b6a0c66842879a14873114ebb9d0861ab22e3b5bb1e"},
- {file = "pydantic-1.10.17-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:4866a1579c0c3ca2c40575398a24d805d4db6cb353ee74df75ddeee3c657f9a7"},
- {file = "pydantic-1.10.17-cp310-cp310-musllinux_1_1_i686.whl", hash = "sha256:543da3c6914795b37785703ffc74ba4d660418620cc273490d42c53949eeeca6"},
- {file = "pydantic-1.10.17-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:7623b59876f49e61c2e283551cc3647616d2fbdc0b4d36d3d638aae8547ea681"},
- {file = "pydantic-1.10.17-cp310-cp310-win_amd64.whl", hash = "sha256:409b2b36d7d7d19cd8310b97a4ce6b1755ef8bd45b9a2ec5ec2b124db0a0d8f3"},
- {file = "pydantic-1.10.17-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:fa43f362b46741df8f201bf3e7dff3569fa92069bcc7b4a740dea3602e27ab7a"},
- {file = "pydantic-1.10.17-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:2a72d2a5ff86a3075ed81ca031eac86923d44bc5d42e719d585a8eb547bf0c9b"},
- {file = "pydantic-1.10.17-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:b4ad32aed3bf5eea5ca5decc3d1bbc3d0ec5d4fbcd72a03cdad849458decbc63"},
- {file = "pydantic-1.10.17-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:aeb4e741782e236ee7dc1fb11ad94dc56aabaf02d21df0e79e0c21fe07c95741"},
- {file = "pydantic-1.10.17-cp311-cp311-musllinux_1_1_i686.whl", hash = "sha256:d2f89a719411cb234105735a520b7c077158a81e0fe1cb05a79c01fc5eb59d3c"},
- {file = "pydantic-1.10.17-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:db3b48d9283d80a314f7a682f7acae8422386de659fffaba454b77a083c3937d"},
- {file = "pydantic-1.10.17-cp311-cp311-win_amd64.whl", hash = "sha256:9c803a5113cfab7bbb912f75faa4fc1e4acff43e452c82560349fff64f852e1b"},
- {file = "pydantic-1.10.17-cp312-cp312-macosx_10_9_x86_64.whl", hash = "sha256:820ae12a390c9cbb26bb44913c87fa2ff431a029a785642c1ff11fed0a095fcb"},
- {file = "pydantic-1.10.17-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:c1e51d1af306641b7d1574d6d3307eaa10a4991542ca324f0feb134fee259815"},
- {file = "pydantic-1.10.17-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:9e53fb834aae96e7b0dadd6e92c66e7dd9cdf08965340ed04c16813102a47fab"},
- {file = "pydantic-1.10.17-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:0e2495309b1266e81d259a570dd199916ff34f7f51f1b549a0d37a6d9b17b4dc"},
- {file = "pydantic-1.10.17-cp312-cp312-musllinux_1_1_i686.whl", hash = "sha256:098ad8de840c92ea586bf8efd9e2e90c6339d33ab5c1cfbb85be66e4ecf8213f"},
- {file = "pydantic-1.10.17-cp312-cp312-musllinux_1_1_x86_64.whl", hash = "sha256:525bbef620dac93c430d5d6bdbc91bdb5521698d434adf4434a7ef6ffd5c4b7f"},
- {file = "pydantic-1.10.17-cp312-cp312-win_amd64.whl", hash = "sha256:6654028d1144df451e1da69a670083c27117d493f16cf83da81e1e50edce72ad"},
- {file = "pydantic-1.10.17-cp37-cp37m-macosx_10_9_x86_64.whl", hash = "sha256:c87cedb4680d1614f1d59d13fea353faf3afd41ba5c906a266f3f2e8c245d655"},
- {file = "pydantic-1.10.17-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:11289fa895bcbc8f18704efa1d8020bb9a86314da435348f59745473eb042e6b"},
- {file = "pydantic-1.10.17-cp37-cp37m-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:94833612d6fd18b57c359a127cbfd932d9150c1b72fea7c86ab58c2a77edd7c7"},
- {file = "pydantic-1.10.17-cp37-cp37m-musllinux_1_1_i686.whl", hash = "sha256:d4ecb515fa7cb0e46e163ecd9d52f9147ba57bc3633dca0e586cdb7a232db9e3"},
- {file = "pydantic-1.10.17-cp37-cp37m-musllinux_1_1_x86_64.whl", hash = "sha256:7017971ffa7fd7808146880aa41b266e06c1e6e12261768a28b8b41ba55c8076"},
- {file = "pydantic-1.10.17-cp37-cp37m-win_amd64.whl", hash = "sha256:e840e6b2026920fc3f250ea8ebfdedf6ea7a25b77bf04c6576178e681942ae0f"},
- {file = "pydantic-1.10.17-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:bfbb18b616abc4df70591b8c1ff1b3eabd234ddcddb86b7cac82657ab9017e33"},
- {file = "pydantic-1.10.17-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:ebb249096d873593e014535ab07145498957091aa6ae92759a32d40cb9998e2e"},
- {file = "pydantic-1.10.17-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:d8c209af63ccd7b22fba94b9024e8b7fd07feffee0001efae50dd99316b27768"},
- {file = "pydantic-1.10.17-cp38-cp38-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:d4b40c9e13a0b61583e5599e7950490c700297b4a375b55b2b592774332798b7"},
- {file = "pydantic-1.10.17-cp38-cp38-musllinux_1_1_i686.whl", hash = "sha256:c31d281c7485223caf6474fc2b7cf21456289dbaa31401844069b77160cab9c7"},
- {file = "pydantic-1.10.17-cp38-cp38-musllinux_1_1_x86_64.whl", hash = "sha256:ae5184e99a060a5c80010a2d53c99aee76a3b0ad683d493e5f0620b5d86eeb75"},
- {file = "pydantic-1.10.17-cp38-cp38-win_amd64.whl", hash = "sha256:ad1e33dc6b9787a6f0f3fd132859aa75626528b49cc1f9e429cdacb2608ad5f0"},
- {file = "pydantic-1.10.17-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:7e17c0ee7192e54a10943f245dc79e36d9fe282418ea05b886e1c666063a7b54"},
- {file = "pydantic-1.10.17-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:cafb9c938f61d1b182dfc7d44a7021326547b7b9cf695db5b68ec7b590214773"},
- {file = "pydantic-1.10.17-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:95ef534e3c22e5abbdbdd6f66b6ea9dac3ca3e34c5c632894f8625d13d084cbe"},
- {file = "pydantic-1.10.17-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:62d96b8799ae3d782df7ec9615cb59fc32c32e1ed6afa1b231b0595f6516e8ab"},
- {file = "pydantic-1.10.17-cp39-cp39-musllinux_1_1_i686.whl", hash = "sha256:ab2f976336808fd5d539fdc26eb51f9aafc1f4b638e212ef6b6f05e753c8011d"},
- {file = "pydantic-1.10.17-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:b8ad363330557beac73159acfbeed220d5f1bfcd6b930302a987a375e02f74fd"},
- {file = "pydantic-1.10.17-cp39-cp39-win_amd64.whl", hash = "sha256:48db882e48575ce4b39659558b2f9f37c25b8d348e37a2b4e32971dd5a7d6227"},
- {file = "pydantic-1.10.17-py3-none-any.whl", hash = "sha256:e41b5b973e5c64f674b3b4720286ded184dcc26a691dd55f34391c62c6934688"},
- {file = "pydantic-1.10.17.tar.gz", hash = "sha256:f434160fb14b353caf634149baaf847206406471ba70e64657c1e8330277a991"},
+ {file = "pydantic-2.9.2-py3-none-any.whl", hash = "sha256:f048cec7b26778210e28a0459867920654d48e5e62db0958433636cde4254f12"},
+ {file = "pydantic-2.9.2.tar.gz", hash = "sha256:d155cef71265d1e9807ed1c32b4c8deec042a44a50a4188b25ac67ecd81a9c0f"},
]
[package.dependencies]
-typing-extensions = ">=4.2.0"
+annotated-types = ">=0.6.0"
+pydantic-core = "2.23.4"
+typing-extensions = [
+ {version = ">=4.6.1", markers = "python_version < \"3.13\""},
+ {version = ">=4.12.2", markers = "python_version >= \"3.13\""},
+]
[package.extras]
-dotenv = ["python-dotenv (>=0.10.4)"]
-email = ["email-validator (>=1.0.3)"]
+email = ["email-validator (>=2.0.0)"]
+timezone = ["tzdata"]
+
+[[package]]
+name = "pydantic-core"
+version = "2.23.4"
+description = "Core functionality for Pydantic validation and serialization"
+optional = false
+python-versions = ">=3.8"
+files = [
+ {file = "pydantic_core-2.23.4-cp310-cp310-macosx_10_12_x86_64.whl", hash = "sha256:b10bd51f823d891193d4717448fab065733958bdb6a6b351967bd349d48d5c9b"},
+ {file = "pydantic_core-2.23.4-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:4fc714bdbfb534f94034efaa6eadd74e5b93c8fa6315565a222f7b6f42ca1166"},
+ {file = "pydantic_core-2.23.4-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:63e46b3169866bd62849936de036f901a9356e36376079b05efa83caeaa02ceb"},
+ {file = "pydantic_core-2.23.4-cp310-cp310-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:ed1a53de42fbe34853ba90513cea21673481cd81ed1be739f7f2efb931b24916"},
+ {file = "pydantic_core-2.23.4-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:cfdd16ab5e59fc31b5e906d1a3f666571abc367598e3e02c83403acabc092e07"},
+ {file = "pydantic_core-2.23.4-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:255a8ef062cbf6674450e668482456abac99a5583bbafb73f9ad469540a3a232"},
+ {file = "pydantic_core-2.23.4-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:4a7cd62e831afe623fbb7aabbb4fe583212115b3ef38a9f6b71869ba644624a2"},
+ {file = "pydantic_core-2.23.4-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:f09e2ff1f17c2b51f2bc76d1cc33da96298f0a036a137f5440ab3ec5360b624f"},
+ {file = "pydantic_core-2.23.4-cp310-cp310-musllinux_1_1_aarch64.whl", hash = "sha256:e38e63e6f3d1cec5a27e0afe90a085af8b6806ee208b33030e65b6516353f1a3"},
+ {file = "pydantic_core-2.23.4-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:0dbd8dbed2085ed23b5c04afa29d8fd2771674223135dc9bc937f3c09284d071"},
+ {file = "pydantic_core-2.23.4-cp310-none-win32.whl", hash = "sha256:6531b7ca5f951d663c339002e91aaebda765ec7d61b7d1e3991051906ddde119"},
+ {file = "pydantic_core-2.23.4-cp310-none-win_amd64.whl", hash = "sha256:7c9129eb40958b3d4500fa2467e6a83356b3b61bfff1b414c7361d9220f9ae8f"},
+ {file = "pydantic_core-2.23.4-cp311-cp311-macosx_10_12_x86_64.whl", hash = "sha256:77733e3892bb0a7fa797826361ce8a9184d25c8dffaec60b7ffe928153680ba8"},
+ {file = "pydantic_core-2.23.4-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:1b84d168f6c48fabd1f2027a3d1bdfe62f92cade1fb273a5d68e621da0e44e6d"},
+ {file = "pydantic_core-2.23.4-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:df49e7a0861a8c36d089c1ed57d308623d60416dab2647a4a17fe050ba85de0e"},
+ {file = "pydantic_core-2.23.4-cp311-cp311-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:ff02b6d461a6de369f07ec15e465a88895f3223eb75073ffea56b84d9331f607"},
+ {file = "pydantic_core-2.23.4-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:996a38a83508c54c78a5f41456b0103c30508fed9abcad0a59b876d7398f25fd"},
+ {file = "pydantic_core-2.23.4-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:d97683ddee4723ae8c95d1eddac7c192e8c552da0c73a925a89fa8649bf13eea"},
+ {file = "pydantic_core-2.23.4-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:216f9b2d7713eb98cb83c80b9c794de1f6b7e3145eef40400c62e86cee5f4e1e"},
+ {file = "pydantic_core-2.23.4-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:6f783e0ec4803c787bcea93e13e9932edab72068f68ecffdf86a99fd5918878b"},
+ {file = "pydantic_core-2.23.4-cp311-cp311-musllinux_1_1_aarch64.whl", hash = "sha256:d0776dea117cf5272382634bd2a5c1b6eb16767c223c6a5317cd3e2a757c61a0"},
+ {file = "pydantic_core-2.23.4-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:d5f7a395a8cf1621939692dba2a6b6a830efa6b3cee787d82c7de1ad2930de64"},
+ {file = "pydantic_core-2.23.4-cp311-none-win32.whl", hash = "sha256:74b9127ffea03643e998e0c5ad9bd3811d3dac8c676e47db17b0ee7c3c3bf35f"},
+ {file = "pydantic_core-2.23.4-cp311-none-win_amd64.whl", hash = "sha256:98d134c954828488b153d88ba1f34e14259284f256180ce659e8d83e9c05eaa3"},
+ {file = "pydantic_core-2.23.4-cp312-cp312-macosx_10_12_x86_64.whl", hash = "sha256:f3e0da4ebaef65158d4dfd7d3678aad692f7666877df0002b8a522cdf088f231"},
+ {file = "pydantic_core-2.23.4-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:f69a8e0b033b747bb3e36a44e7732f0c99f7edd5cea723d45bc0d6e95377ffee"},
+ {file = "pydantic_core-2.23.4-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:723314c1d51722ab28bfcd5240d858512ffd3116449c557a1336cbe3919beb87"},
+ {file = "pydantic_core-2.23.4-cp312-cp312-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:bb2802e667b7051a1bebbfe93684841cc9351004e2badbd6411bf357ab8d5ac8"},
+ {file = "pydantic_core-2.23.4-cp312-cp312-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:d18ca8148bebe1b0a382a27a8ee60350091a6ddaf475fa05ef50dc35b5df6327"},
+ {file = "pydantic_core-2.23.4-cp312-cp312-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:33e3d65a85a2a4a0dc3b092b938a4062b1a05f3a9abde65ea93b233bca0e03f2"},
+ {file = "pydantic_core-2.23.4-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:128585782e5bfa515c590ccee4b727fb76925dd04a98864182b22e89a4e6ed36"},
+ {file = "pydantic_core-2.23.4-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:68665f4c17edcceecc112dfed5dbe6f92261fb9d6054b47d01bf6371a6196126"},
+ {file = "pydantic_core-2.23.4-cp312-cp312-musllinux_1_1_aarch64.whl", hash = "sha256:20152074317d9bed6b7a95ade3b7d6054845d70584216160860425f4fbd5ee9e"},
+ {file = "pydantic_core-2.23.4-cp312-cp312-musllinux_1_1_x86_64.whl", hash = "sha256:9261d3ce84fa1d38ed649c3638feefeae23d32ba9182963e465d58d62203bd24"},
+ {file = "pydantic_core-2.23.4-cp312-none-win32.whl", hash = "sha256:4ba762ed58e8d68657fc1281e9bb72e1c3e79cc5d464be146e260c541ec12d84"},
+ {file = "pydantic_core-2.23.4-cp312-none-win_amd64.whl", hash = "sha256:97df63000f4fea395b2824da80e169731088656d1818a11b95f3b173747b6cd9"},
+ {file = "pydantic_core-2.23.4-cp313-cp313-macosx_10_12_x86_64.whl", hash = "sha256:7530e201d10d7d14abce4fb54cfe5b94a0aefc87da539d0346a484ead376c3cc"},
+ {file = "pydantic_core-2.23.4-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:df933278128ea1cd77772673c73954e53a1c95a4fdf41eef97c2b779271bd0bd"},
+ {file = "pydantic_core-2.23.4-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:0cb3da3fd1b6a5d0279a01877713dbda118a2a4fc6f0d821a57da2e464793f05"},
+ {file = "pydantic_core-2.23.4-cp313-cp313-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:42c6dcb030aefb668a2b7009c85b27f90e51e6a3b4d5c9bc4c57631292015b0d"},
+ {file = "pydantic_core-2.23.4-cp313-cp313-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:696dd8d674d6ce621ab9d45b205df149399e4bb9aa34102c970b721554828510"},
+ {file = "pydantic_core-2.23.4-cp313-cp313-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:2971bb5ffe72cc0f555c13e19b23c85b654dd2a8f7ab493c262071377bfce9f6"},
+ {file = "pydantic_core-2.23.4-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:8394d940e5d400d04cad4f75c0598665cbb81aecefaca82ca85bd28264af7f9b"},
+ {file = "pydantic_core-2.23.4-cp313-cp313-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:0dff76e0602ca7d4cdaacc1ac4c005e0ce0dcfe095d5b5259163a80d3a10d327"},
+ {file = "pydantic_core-2.23.4-cp313-cp313-musllinux_1_1_aarch64.whl", hash = "sha256:7d32706badfe136888bdea71c0def994644e09fff0bfe47441deaed8e96fdbc6"},
+ {file = "pydantic_core-2.23.4-cp313-cp313-musllinux_1_1_x86_64.whl", hash = "sha256:ed541d70698978a20eb63d8c5d72f2cc6d7079d9d90f6b50bad07826f1320f5f"},
+ {file = "pydantic_core-2.23.4-cp313-none-win32.whl", hash = "sha256:3d5639516376dce1940ea36edf408c554475369f5da2abd45d44621cb616f769"},
+ {file = "pydantic_core-2.23.4-cp313-none-win_amd64.whl", hash = "sha256:5a1504ad17ba4210df3a045132a7baeeba5a200e930f57512ee02909fc5c4cb5"},
+ {file = "pydantic_core-2.23.4-cp38-cp38-macosx_10_12_x86_64.whl", hash = "sha256:d4488a93b071c04dc20f5cecc3631fc78b9789dd72483ba15d423b5b3689b555"},
+ {file = "pydantic_core-2.23.4-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:81965a16b675b35e1d09dd14df53f190f9129c0202356ed44ab2728b1c905658"},
+ {file = "pydantic_core-2.23.4-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:4ffa2ebd4c8530079140dd2d7f794a9d9a73cbb8e9d59ffe24c63436efa8f271"},
+ {file = "pydantic_core-2.23.4-cp38-cp38-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:61817945f2fe7d166e75fbfb28004034b48e44878177fc54d81688e7b85a3665"},
+ {file = "pydantic_core-2.23.4-cp38-cp38-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:29d2c342c4bc01b88402d60189f3df065fb0dda3654744d5a165a5288a657368"},
+ {file = "pydantic_core-2.23.4-cp38-cp38-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:5e11661ce0fd30a6790e8bcdf263b9ec5988e95e63cf901972107efc49218b13"},
+ {file = "pydantic_core-2.23.4-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:9d18368b137c6295db49ce7218b1a9ba15c5bc254c96d7c9f9e924a9bc7825ad"},
+ {file = "pydantic_core-2.23.4-cp38-cp38-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:ec4e55f79b1c4ffb2eecd8a0cfba9955a2588497d96851f4c8f99aa4a1d39b12"},
+ {file = "pydantic_core-2.23.4-cp38-cp38-musllinux_1_1_aarch64.whl", hash = "sha256:374a5e5049eda9e0a44c696c7ade3ff355f06b1fe0bb945ea3cac2bc336478a2"},
+ {file = "pydantic_core-2.23.4-cp38-cp38-musllinux_1_1_x86_64.whl", hash = "sha256:5c364564d17da23db1106787675fc7af45f2f7b58b4173bfdd105564e132e6fb"},
+ {file = "pydantic_core-2.23.4-cp38-none-win32.whl", hash = "sha256:d7a80d21d613eec45e3d41eb22f8f94ddc758a6c4720842dc74c0581f54993d6"},
+ {file = "pydantic_core-2.23.4-cp38-none-win_amd64.whl", hash = "sha256:5f5ff8d839f4566a474a969508fe1c5e59c31c80d9e140566f9a37bba7b8d556"},
+ {file = "pydantic_core-2.23.4-cp39-cp39-macosx_10_12_x86_64.whl", hash = "sha256:a4fa4fc04dff799089689f4fd502ce7d59de529fc2f40a2c8836886c03e0175a"},
+ {file = "pydantic_core-2.23.4-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:0a7df63886be5e270da67e0966cf4afbae86069501d35c8c1b3b6c168f42cb36"},
+ {file = "pydantic_core-2.23.4-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:dcedcd19a557e182628afa1d553c3895a9f825b936415d0dbd3cd0bbcfd29b4b"},
+ {file = "pydantic_core-2.23.4-cp39-cp39-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:5f54b118ce5de9ac21c363d9b3caa6c800341e8c47a508787e5868c6b79c9323"},
+ {file = "pydantic_core-2.23.4-cp39-cp39-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:86d2f57d3e1379a9525c5ab067b27dbb8a0642fb5d454e17a9ac434f9ce523e3"},
+ {file = "pydantic_core-2.23.4-cp39-cp39-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:de6d1d1b9e5101508cb37ab0d972357cac5235f5c6533d1071964c47139257df"},
+ {file = "pydantic_core-2.23.4-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:1278e0d324f6908e872730c9102b0112477a7f7cf88b308e4fc36ce1bdb6d58c"},
+ {file = "pydantic_core-2.23.4-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:9a6b5099eeec78827553827f4c6b8615978bb4b6a88e5d9b93eddf8bb6790f55"},
+ {file = "pydantic_core-2.23.4-cp39-cp39-musllinux_1_1_aarch64.whl", hash = "sha256:e55541f756f9b3ee346b840103f32779c695a19826a4c442b7954550a0972040"},
+ {file = "pydantic_core-2.23.4-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:a5c7ba8ffb6d6f8f2ab08743be203654bb1aaa8c9dcb09f82ddd34eadb695605"},
+ {file = "pydantic_core-2.23.4-cp39-none-win32.whl", hash = "sha256:37b0fe330e4a58d3c58b24d91d1eb102aeec675a3db4c292ec3928ecd892a9a6"},
+ {file = "pydantic_core-2.23.4-cp39-none-win_amd64.whl", hash = "sha256:1498bec4c05c9c787bde9125cfdcc63a41004ff167f495063191b863399b1a29"},
+ {file = "pydantic_core-2.23.4-pp310-pypy310_pp73-macosx_10_12_x86_64.whl", hash = "sha256:f455ee30a9d61d3e1a15abd5068827773d6e4dc513e795f380cdd59932c782d5"},
+ {file = "pydantic_core-2.23.4-pp310-pypy310_pp73-macosx_11_0_arm64.whl", hash = "sha256:1e90d2e3bd2c3863d48525d297cd143fe541be8bbf6f579504b9712cb6b643ec"},
+ {file = "pydantic_core-2.23.4-pp310-pypy310_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:2e203fdf807ac7e12ab59ca2bfcabb38c7cf0b33c41efeb00f8e5da1d86af480"},
+ {file = "pydantic_core-2.23.4-pp310-pypy310_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:e08277a400de01bc72436a0ccd02bdf596631411f592ad985dcee21445bd0068"},
+ {file = "pydantic_core-2.23.4-pp310-pypy310_pp73-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:f220b0eea5965dec25480b6333c788fb72ce5f9129e8759ef876a1d805d00801"},
+ {file = "pydantic_core-2.23.4-pp310-pypy310_pp73-musllinux_1_1_aarch64.whl", hash = "sha256:d06b0c8da4f16d1d1e352134427cb194a0a6e19ad5db9161bf32b2113409e728"},
+ {file = "pydantic_core-2.23.4-pp310-pypy310_pp73-musllinux_1_1_x86_64.whl", hash = "sha256:ba1a0996f6c2773bd83e63f18914c1de3c9dd26d55f4ac302a7efe93fb8e7433"},
+ {file = "pydantic_core-2.23.4-pp310-pypy310_pp73-win_amd64.whl", hash = "sha256:9a5bce9d23aac8f0cf0836ecfc033896aa8443b501c58d0602dbfd5bd5b37753"},
+ {file = "pydantic_core-2.23.4-pp39-pypy39_pp73-macosx_10_12_x86_64.whl", hash = "sha256:78ddaaa81421a29574a682b3179d4cf9e6d405a09b99d93ddcf7e5239c742e21"},
+ {file = "pydantic_core-2.23.4-pp39-pypy39_pp73-macosx_11_0_arm64.whl", hash = "sha256:883a91b5dd7d26492ff2f04f40fbb652de40fcc0afe07e8129e8ae779c2110eb"},
+ {file = "pydantic_core-2.23.4-pp39-pypy39_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:88ad334a15b32a791ea935af224b9de1bf99bcd62fabf745d5f3442199d86d59"},
+ {file = "pydantic_core-2.23.4-pp39-pypy39_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:233710f069d251feb12a56da21e14cca67994eab08362207785cf8c598e74577"},
+ {file = "pydantic_core-2.23.4-pp39-pypy39_pp73-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:19442362866a753485ba5e4be408964644dd6a09123d9416c54cd49171f50744"},
+ {file = "pydantic_core-2.23.4-pp39-pypy39_pp73-musllinux_1_1_aarch64.whl", hash = "sha256:624e278a7d29b6445e4e813af92af37820fafb6dcc55c012c834f9e26f9aaaef"},
+ {file = "pydantic_core-2.23.4-pp39-pypy39_pp73-musllinux_1_1_x86_64.whl", hash = "sha256:f5ef8f42bec47f21d07668a043f077d507e5bf4e668d5c6dfe6aaba89de1a5b8"},
+ {file = "pydantic_core-2.23.4-pp39-pypy39_pp73-win_amd64.whl", hash = "sha256:aea443fffa9fbe3af1a9ba721a87f926fe548d32cab71d188a6ede77d0ff244e"},
+ {file = "pydantic_core-2.23.4.tar.gz", hash = "sha256:2584f7cf844ac4d970fba483a717dbe10c1c1c96a969bf65d61ffe94df1b2863"},
+]
+
+[package.dependencies]
+typing-extensions = ">=4.6.0,<4.7.0 || >4.7.0"
+
+[[package]]
+name = "pydantic-settings"
+version = "2.6.0"
+description = "Settings management using Pydantic"
+optional = false
+python-versions = ">=3.8"
+files = [
+ {file = "pydantic_settings-2.6.0-py3-none-any.whl", hash = "sha256:4a819166f119b74d7f8c765196b165f95cc7487ce58ea27dec8a5a26be0970e0"},
+ {file = "pydantic_settings-2.6.0.tar.gz", hash = "sha256:44a1804abffac9e6a30372bb45f6cafab945ef5af25e66b1c634c01dd39e0188"},
+]
+
+[package.dependencies]
+pydantic = ">=2.7.0"
+python-dotenv = ">=0.21.0"
+
+[package.extras]
+azure-key-vault = ["azure-identity (>=1.16.0)", "azure-keyvault-secrets (>=4.8.0)"]
+toml = ["tomli (>=2.0.1)"]
+yaml = ["pyyaml (>=6.0.1)"]
[[package]]
name = "pygments"
@@ -2466,13 +2646,13 @@ files = [
[[package]]
name = "pytest"
-version = "8.2.2"
+version = "8.3.3"
description = "pytest: simple powerful testing with Python"
optional = false
python-versions = ">=3.8"
files = [
- {file = "pytest-8.2.2-py3-none-any.whl", hash = "sha256:c434598117762e2bd304e526244f67bf66bbd7b5d6cf22138be51ff661980343"},
- {file = "pytest-8.2.2.tar.gz", hash = "sha256:de4bb8104e201939ccdc688b27a89a7be2079b22e2bd2b07f806b6ba71117977"},
+ {file = "pytest-8.3.3-py3-none-any.whl", hash = "sha256:a6853c7375b2663155079443d2e45de913a911a11d669df02a50814944db57b2"},
+ {file = "pytest-8.3.3.tar.gz", hash = "sha256:70b98107bd648308a7952b06e6ca9a50bc660be218d53c257cc1fc94fda10181"},
]
[package.dependencies]
@@ -2480,7 +2660,7 @@ colorama = {version = "*", markers = "sys_platform == \"win32\""}
exceptiongroup = {version = ">=1.0.0rc8", markers = "python_version < \"3.11\""}
iniconfig = "*"
packaging = "*"
-pluggy = ">=1.5,<2.0"
+pluggy = ">=1.5,<2"
tomli = {version = ">=1", markers = "python_version < \"3.11\""}
[package.extras]
@@ -2488,17 +2668,17 @@ dev = ["argcomplete", "attrs (>=19.2)", "hypothesis (>=3.56)", "mock", "pygments
[[package]]
name = "pytest-asyncio"
-version = "0.23.8"
+version = "0.24.0"
description = "Pytest support for asyncio"
optional = false
python-versions = ">=3.8"
files = [
- {file = "pytest_asyncio-0.23.8-py3-none-any.whl", hash = "sha256:50265d892689a5faefb84df80819d1ecef566eb3549cf915dfb33569359d1ce2"},
- {file = "pytest_asyncio-0.23.8.tar.gz", hash = "sha256:759b10b33a6dc61cce40a8bd5205e302978bbbcc00e279a8b61d9a6a3c82e4d3"},
+ {file = "pytest_asyncio-0.24.0-py3-none-any.whl", hash = "sha256:a811296ed596b69bf0b6f3dc40f83bcaf341b155a269052d82efa2b25ac7037b"},
+ {file = "pytest_asyncio-0.24.0.tar.gz", hash = "sha256:d081d828e576d85f875399194281e92bf8a68d60d72d1a2faf2feddb6c46b276"},
]
[package.dependencies]
-pytest = ">=7.0.0,<9"
+pytest = ">=8.2,<9"
[package.extras]
docs = ["sphinx (>=5.3)", "sphinx-rtd-theme (>=1.0)"]
@@ -2506,13 +2686,13 @@ testing = ["coverage (>=6.2)", "hypothesis (>=5.7.1)"]
[[package]]
name = "pytest-cov"
-version = "4.1.0"
+version = "5.0.0"
description = "Pytest plugin for measuring coverage."
optional = false
-python-versions = ">=3.7"
+python-versions = ">=3.8"
files = [
- {file = "pytest-cov-4.1.0.tar.gz", hash = "sha256:3904b13dfbfec47f003b8e77fd5b589cd11904a21ddf1ab38a64f204d6a10ef6"},
- {file = "pytest_cov-4.1.0-py3-none-any.whl", hash = "sha256:6ba70b9e97e69fcc3fb45bfeab2d0a138fb65c4d0d6a41ef33983ad114be8c3a"},
+ {file = "pytest-cov-5.0.0.tar.gz", hash = "sha256:5837b58e9f6ebd335b0f8060eecce69b662415b16dc503883a02f45dfeb14857"},
+ {file = "pytest_cov-5.0.0-py3-none-any.whl", hash = "sha256:4f0764a1219df53214206bf1feea4633c3b558a2925c8b59f144f682861ce652"},
]
[package.dependencies]
@@ -2520,7 +2700,7 @@ coverage = {version = ">=5.2.1", extras = ["toml"]}
pytest = ">=4.6"
[package.extras]
-testing = ["fields", "hunter", "process-tests", "pytest-xdist", "six", "virtualenv"]
+testing = ["fields", "hunter", "process-tests", "pytest-xdist", "virtualenv"]
[[package]]
name = "pytest-mock"
@@ -2569,18 +2749,15 @@ cli = ["click (>=5.0)"]
[[package]]
name = "python-multipart"
-version = "0.0.9"
+version = "0.0.12"
description = "A streaming multipart parser for Python"
optional = false
python-versions = ">=3.8"
files = [
- {file = "python_multipart-0.0.9-py3-none-any.whl", hash = "sha256:97ca7b8ea7b05f977dc3849c3ba99d51689822fab725c3703af7c866a0c2b215"},
- {file = "python_multipart-0.0.9.tar.gz", hash = "sha256:03f54688c663f1b7977105f021043b0793151e4cb1c1a9d4a11fc13d622c4026"},
+ {file = "python_multipart-0.0.12-py3-none-any.whl", hash = "sha256:43dcf96cf65888a9cd3423544dd0d75ac10f7aa0c3c28a175bbcd00c9ce1aebf"},
+ {file = "python_multipart-0.0.12.tar.gz", hash = "sha256:045e1f98d719c1ce085ed7f7e1ef9d8ccc8c02ba02b5566d5f7521410ced58cb"},
]
-[package.extras]
-dev = ["atomicwrites (==1.4.1)", "attrs (==23.2.0)", "coverage (==7.4.1)", "hatch", "invoke (==2.2.0)", "more-itertools (==10.2.0)", "pbr (==6.0.0)", "pluggy (==1.4.0)", "py (==1.11.0)", "pytest (==8.0.0)", "pytest-cov (==4.1.0)", "pytest-timeout (==2.2.0)", "pyyaml (==6.0.1)", "ruff (==0.2.1)"]
-
[[package]]
name = "pywin32"
version = "306"
@@ -2809,47 +2986,48 @@ use-chardet-on-py3 = ["chardet (>=3.0.2,<6)"]
[[package]]
name = "rich"
-version = "13.7.1"
+version = "13.9.3"
description = "Render rich text, tables, progress bars, syntax highlighting, markdown and more to the terminal"
optional = false
-python-versions = ">=3.7.0"
+python-versions = ">=3.8.0"
files = [
- {file = "rich-13.7.1-py3-none-any.whl", hash = "sha256:4edbae314f59eb482f54e9e30bf00d33350aaa94f4bfcd4e9e3110e64d0d7222"},
- {file = "rich-13.7.1.tar.gz", hash = "sha256:9be308cb1fe2f1f57d67ce99e95af38a1e2bc71ad9813b0e247cf7ffbcc3a432"},
+ {file = "rich-13.9.3-py3-none-any.whl", hash = "sha256:9836f5096eb2172c9e77df411c1b009bace4193d6a481d534fea75ebba758283"},
+ {file = "rich-13.9.3.tar.gz", hash = "sha256:bc1e01b899537598cf02579d2b9f4a415104d3fc439313a7a2c165d76557a08e"},
]
[package.dependencies]
markdown-it-py = ">=2.2.0"
pygments = ">=2.13.0,<3.0.0"
+typing-extensions = {version = ">=4.0.0,<5.0", markers = "python_version < \"3.11\""}
[package.extras]
jupyter = ["ipywidgets (>=7.5.1,<9)"]
[[package]]
name = "ruff"
-version = "0.5.4"
+version = "0.7.1"
description = "An extremely fast Python linter and code formatter, written in Rust."
optional = false
python-versions = ">=3.7"
files = [
- {file = "ruff-0.5.4-py3-none-linux_armv6l.whl", hash = "sha256:82acef724fc639699b4d3177ed5cc14c2a5aacd92edd578a9e846d5b5ec18ddf"},
- {file = "ruff-0.5.4-py3-none-macosx_10_12_x86_64.whl", hash = "sha256:da62e87637c8838b325e65beee485f71eb36202ce8e3cdbc24b9fcb8b99a37be"},
- {file = "ruff-0.5.4-py3-none-macosx_11_0_arm64.whl", hash = "sha256:e98ad088edfe2f3b85a925ee96da652028f093d6b9b56b76fc242d8abb8e2059"},
- {file = "ruff-0.5.4-py3-none-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:4c55efbecc3152d614cfe6c2247a3054cfe358cefbf794f8c79c8575456efe19"},
- {file = "ruff-0.5.4-py3-none-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:f9b85eaa1f653abd0a70603b8b7008d9e00c9fa1bbd0bf40dad3f0c0bdd06793"},
- {file = "ruff-0.5.4-py3-none-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:0cf497a47751be8c883059c4613ba2f50dd06ec672692de2811f039432875278"},
- {file = "ruff-0.5.4-py3-none-manylinux_2_17_ppc64.manylinux2014_ppc64.whl", hash = "sha256:09c14ed6a72af9ccc8d2e313d7acf7037f0faff43cde4b507e66f14e812e37f7"},
- {file = "ruff-0.5.4-py3-none-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:628f6b8f97b8bad2490240aa84f3e68f390e13fabc9af5c0d3b96b485921cd60"},
- {file = "ruff-0.5.4-py3-none-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:3520a00c0563d7a7a7c324ad7e2cde2355733dafa9592c671fb2e9e3cd8194c1"},
- {file = "ruff-0.5.4-py3-none-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:93789f14ca2244fb91ed481456f6d0bb8af1f75a330e133b67d08f06ad85b516"},
- {file = "ruff-0.5.4-py3-none-musllinux_1_2_aarch64.whl", hash = "sha256:029454e2824eafa25b9df46882f7f7844d36fd8ce51c1b7f6d97e2615a57bbcc"},
- {file = "ruff-0.5.4-py3-none-musllinux_1_2_armv7l.whl", hash = "sha256:9492320eed573a13a0bc09a2957f17aa733fff9ce5bf00e66e6d4a88ec33813f"},
- {file = "ruff-0.5.4-py3-none-musllinux_1_2_i686.whl", hash = "sha256:a6e1f62a92c645e2919b65c02e79d1f61e78a58eddaebca6c23659e7c7cb4ac7"},
- {file = "ruff-0.5.4-py3-none-musllinux_1_2_x86_64.whl", hash = "sha256:768fa9208df2bec4b2ce61dbc7c2ddd6b1be9fb48f1f8d3b78b3332c7d71c1ff"},
- {file = "ruff-0.5.4-py3-none-win32.whl", hash = "sha256:e1e7393e9c56128e870b233c82ceb42164966f25b30f68acbb24ed69ce9c3a4e"},
- {file = "ruff-0.5.4-py3-none-win_amd64.whl", hash = "sha256:58b54459221fd3f661a7329f177f091eb35cf7a603f01d9eb3eb11cc348d38c4"},
- {file = "ruff-0.5.4-py3-none-win_arm64.whl", hash = "sha256:bd53da65f1085fb5b307c38fd3c0829e76acf7b2a912d8d79cadcdb4875c1eb7"},
- {file = "ruff-0.5.4.tar.gz", hash = "sha256:2795726d5f71c4f4e70653273d1c23a8182f07dd8e48c12de5d867bfb7557eed"},
+ {file = "ruff-0.7.1-py3-none-linux_armv6l.whl", hash = "sha256:cb1bc5ed9403daa7da05475d615739cc0212e861b7306f314379d958592aaa89"},
+ {file = "ruff-0.7.1-py3-none-macosx_10_12_x86_64.whl", hash = "sha256:27c1c52a8d199a257ff1e5582d078eab7145129aa02721815ca8fa4f9612dc35"},
+ {file = "ruff-0.7.1-py3-none-macosx_11_0_arm64.whl", hash = "sha256:588a34e1ef2ea55b4ddfec26bbe76bc866e92523d8c6cdec5e8aceefeff02d99"},
+ {file = "ruff-0.7.1-py3-none-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:94fc32f9cdf72dc75c451e5f072758b118ab8100727168a3df58502b43a599ca"},
+ {file = "ruff-0.7.1-py3-none-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:985818742b833bffa543a84d1cc11b5e6871de1b4e0ac3060a59a2bae3969250"},
+ {file = "ruff-0.7.1-py3-none-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:32f1e8a192e261366c702c5fb2ece9f68d26625f198a25c408861c16dc2dea9c"},
+ {file = "ruff-0.7.1-py3-none-manylinux_2_17_ppc64.manylinux2014_ppc64.whl", hash = "sha256:699085bf05819588551b11751eff33e9ca58b1b86a6843e1b082a7de40da1565"},
+ {file = "ruff-0.7.1-py3-none-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:344cc2b0814047dc8c3a8ff2cd1f3d808bb23c6658db830d25147339d9bf9ea7"},
+ {file = "ruff-0.7.1-py3-none-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:4316bbf69d5a859cc937890c7ac7a6551252b6a01b1d2c97e8fc96e45a7c8b4a"},
+ {file = "ruff-0.7.1-py3-none-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:79d3af9dca4c56043e738a4d6dd1e9444b6d6c10598ac52d146e331eb155a8ad"},
+ {file = "ruff-0.7.1-py3-none-musllinux_1_2_aarch64.whl", hash = "sha256:c5c121b46abde94a505175524e51891f829414e093cd8326d6e741ecfc0a9112"},
+ {file = "ruff-0.7.1-py3-none-musllinux_1_2_armv7l.whl", hash = "sha256:8422104078324ea250886954e48f1373a8fe7de59283d747c3a7eca050b4e378"},
+ {file = "ruff-0.7.1-py3-none-musllinux_1_2_i686.whl", hash = "sha256:56aad830af8a9db644e80098fe4984a948e2b6fc2e73891538f43bbe478461b8"},
+ {file = "ruff-0.7.1-py3-none-musllinux_1_2_x86_64.whl", hash = "sha256:658304f02f68d3a83c998ad8bf91f9b4f53e93e5412b8f2388359d55869727fd"},
+ {file = "ruff-0.7.1-py3-none-win32.whl", hash = "sha256:b517a2011333eb7ce2d402652ecaa0ac1a30c114fbbd55c6b8ee466a7f600ee9"},
+ {file = "ruff-0.7.1-py3-none-win_amd64.whl", hash = "sha256:f38c41fcde1728736b4eb2b18850f6d1e3eedd9678c914dede554a70d5241307"},
+ {file = "ruff-0.7.1-py3-none-win_arm64.whl", hash = "sha256:19aa200ec824c0f36d0c9114c8ec0087082021732979a359d6f3c390a6ff2a37"},
+ {file = "ruff-0.7.1.tar.gz", hash = "sha256:9d8a41d4aa2dad1575adb98a82870cf5db5f76b2938cf2206c22c940034a36f4"},
]
[[package]]
@@ -2991,19 +3169,18 @@ test = ["asv", "gmpy2", "mpmath", "pooch", "pytest", "pytest-cov", "pytest-timeo
[[package]]
name = "setuptools"
-version = "68.2.2"
+version = "70.3.0"
description = "Easily download, build, install, upgrade, and uninstall Python packages"
optional = false
python-versions = ">=3.8"
files = [
- {file = "setuptools-68.2.2-py3-none-any.whl", hash = "sha256:b454a35605876da60632df1a60f736524eb73cc47bbc9f3f1ef1b644de74fd2a"},
- {file = "setuptools-68.2.2.tar.gz", hash = "sha256:4ac1475276d2f1c48684874089fefcd83bd7162ddaafb81fac866ba0db282a87"},
+ {file = "setuptools-70.3.0-py3-none-any.whl", hash = "sha256:fe384da74336c398e0d956d1cae0669bc02eed936cdb1d49b57de1990dc11ffc"},
+ {file = "setuptools-70.3.0.tar.gz", hash = "sha256:f171bab1dfbc86b132997f26a119f6056a57950d058587841a0082e8830f9dc5"},
]
[package.extras]
-docs = ["furo", "jaraco.packaging (>=9.3)", "jaraco.tidelift (>=1.4)", "pygments-github-lexers (==0.0.5)", "rst.linker (>=1.9)", "sphinx (>=3.5)", "sphinx-favicon", "sphinx-hoverxref (<2)", "sphinx-inline-tabs", "sphinx-lint", "sphinx-notfound-page (>=1,<2)", "sphinx-reredirects", "sphinxcontrib-towncrier"]
-testing = ["build[virtualenv]", "filelock (>=3.4.0)", "flake8-2020", "ini2toml[lite] (>=0.9)", "jaraco.develop (>=7.21)", "jaraco.envs (>=2.2)", "jaraco.path (>=3.2.0)", "pip (>=19.1)", "pytest (>=6)", "pytest-black (>=0.3.7)", "pytest-checkdocs (>=2.4)", "pytest-cov", "pytest-enabler (>=2.2)", "pytest-mypy (>=0.9.1)", "pytest-perf", "pytest-ruff", "pytest-timeout", "pytest-xdist", "tomli-w (>=1.0.0)", "virtualenv (>=13.0.0)", "wheel"]
-testing-integration = ["build[virtualenv] (>=1.0.3)", "filelock (>=3.4.0)", "jaraco.envs (>=2.2)", "jaraco.path (>=3.2.0)", "packaging (>=23.1)", "pytest", "pytest-enabler", "pytest-xdist", "tomli", "virtualenv (>=13.0.0)", "wheel"]
+doc = ["furo", "jaraco.packaging (>=9.3)", "jaraco.tidelift (>=1.4)", "pygments-github-lexers (==0.0.5)", "pyproject-hooks (!=1.1)", "rst.linker (>=1.9)", "sphinx (>=3.5)", "sphinx-favicon", "sphinx-inline-tabs", "sphinx-lint", "sphinx-notfound-page (>=1,<2)", "sphinx-reredirects", "sphinxcontrib-towncrier"]
+test = ["build[virtualenv] (>=1.0.3)", "filelock (>=3.4.0)", "importlib-metadata", "ini2toml[lite] (>=0.14)", "jaraco.develop (>=7.21)", "jaraco.envs (>=2.2)", "jaraco.path (>=3.2.0)", "jaraco.test", "mypy (==1.10.0)", "packaging (>=23.2)", "pip (>=19.1)", "pyproject-hooks (!=1.1)", "pytest (>=6,!=8.1.*)", "pytest-checkdocs (>=2.4)", "pytest-cov", "pytest-enabler (>=2.2)", "pytest-home (>=0.5)", "pytest-mypy", "pytest-perf", "pytest-ruff (>=0.3.2)", "pytest-subprocess", "pytest-timeout", "pytest-xdist (>=3)", "tomli", "tomli-w (>=1.0.0)", "virtualenv (>=13.0.0)", "wheel"]
[[package]]
name = "six"
@@ -3029,13 +3206,13 @@ files = [
[[package]]
name = "starlette"
-version = "0.37.2"
+version = "0.41.2"
description = "The little ASGI library that shines."
optional = false
python-versions = ">=3.8"
files = [
- {file = "starlette-0.37.2-py3-none-any.whl", hash = "sha256:6fe59f29268538e5d0d182f2791a479a0c64638e6935d1c6989e63fb2699c6ee"},
- {file = "starlette-0.37.2.tar.gz", hash = "sha256:9af890290133b79fc3db55474ade20f6220a364a0402e0b556e7cd5e1e093823"},
+ {file = "starlette-0.41.2-py3-none-any.whl", hash = "sha256:fbc189474b4731cf30fcef52f18a8d070e3f3b46c6a04c97579e85e6ffca942d"},
+ {file = "starlette-0.41.2.tar.gz", hash = "sha256:9834fd799d1a87fd346deb76158668cfa0b0d56f85caefe8268e2d97c3468b62"},
]
[package.dependencies]
@@ -3088,111 +3265,111 @@ all = ["defusedxml", "fsspec", "imagecodecs (>=2023.8.12)", "lxml", "matplotlib"
[[package]]
name = "tokenizers"
-version = "0.19.1"
+version = "0.20.1"
description = ""
optional = false
python-versions = ">=3.7"
files = [
- {file = "tokenizers-0.19.1-cp310-cp310-macosx_10_12_x86_64.whl", hash = "sha256:952078130b3d101e05ecfc7fc3640282d74ed26bcf691400f872563fca15ac97"},
- {file = "tokenizers-0.19.1-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:82c8b8063de6c0468f08e82c4e198763e7b97aabfe573fd4cf7b33930ca4df77"},
- {file = "tokenizers-0.19.1-cp310-cp310-manylinux_2_12_i686.manylinux2010_i686.whl", hash = "sha256:f03727225feaf340ceeb7e00604825addef622d551cbd46b7b775ac834c1e1c4"},
- {file = "tokenizers-0.19.1-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:453e4422efdfc9c6b6bf2eae00d5e323f263fff62b29a8c9cd526c5003f3f642"},
- {file = "tokenizers-0.19.1-cp310-cp310-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:02e81bf089ebf0e7f4df34fa0207519f07e66d8491d963618252f2e0729e0b46"},
- {file = "tokenizers-0.19.1-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:b07c538ba956843833fee1190cf769c60dc62e1cf934ed50d77d5502194d63b1"},
- {file = "tokenizers-0.19.1-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:e28cab1582e0eec38b1f38c1c1fb2e56bce5dc180acb1724574fc5f47da2a4fe"},
- {file = "tokenizers-0.19.1-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:8b01afb7193d47439f091cd8f070a1ced347ad0f9144952a30a41836902fe09e"},
- {file = "tokenizers-0.19.1-cp310-cp310-musllinux_1_1_aarch64.whl", hash = "sha256:7fb297edec6c6841ab2e4e8f357209519188e4a59b557ea4fafcf4691d1b4c98"},
- {file = "tokenizers-0.19.1-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:2e8a3dd055e515df7054378dc9d6fa8c8c34e1f32777fb9a01fea81496b3f9d3"},
- {file = "tokenizers-0.19.1-cp310-none-win32.whl", hash = "sha256:7ff898780a155ea053f5d934925f3902be2ed1f4d916461e1a93019cc7250837"},
- {file = "tokenizers-0.19.1-cp310-none-win_amd64.whl", hash = "sha256:bea6f9947e9419c2fda21ae6c32871e3d398cba549b93f4a65a2d369662d9403"},
- {file = "tokenizers-0.19.1-cp311-cp311-macosx_10_12_x86_64.whl", hash = "sha256:5c88d1481f1882c2e53e6bb06491e474e420d9ac7bdff172610c4f9ad3898059"},
- {file = "tokenizers-0.19.1-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:ddf672ed719b4ed82b51499100f5417d7d9f6fb05a65e232249268f35de5ed14"},
- {file = "tokenizers-0.19.1-cp311-cp311-manylinux_2_12_i686.manylinux2010_i686.whl", hash = "sha256:dadc509cc8a9fe460bd274c0e16ac4184d0958117cf026e0ea8b32b438171594"},
- {file = "tokenizers-0.19.1-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:dfedf31824ca4915b511b03441784ff640378191918264268e6923da48104acc"},
- {file = "tokenizers-0.19.1-cp311-cp311-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:ac11016d0a04aa6487b1513a3a36e7bee7eec0e5d30057c9c0408067345c48d2"},
- {file = "tokenizers-0.19.1-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:76951121890fea8330d3a0df9a954b3f2a37e3ec20e5b0530e9a0044ca2e11fe"},
- {file = "tokenizers-0.19.1-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:b342d2ce8fc8d00f376af068e3274e2e8649562e3bc6ae4a67784ded6b99428d"},
- {file = "tokenizers-0.19.1-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:d16ff18907f4909dca9b076b9c2d899114dd6abceeb074eca0c93e2353f943aa"},
- {file = "tokenizers-0.19.1-cp311-cp311-musllinux_1_1_aarch64.whl", hash = "sha256:706a37cc5332f85f26efbe2bdc9ef8a9b372b77e4645331a405073e4b3a8c1c6"},
- {file = "tokenizers-0.19.1-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:16baac68651701364b0289979ecec728546133e8e8fe38f66fe48ad07996b88b"},
- {file = "tokenizers-0.19.1-cp311-none-win32.whl", hash = "sha256:9ed240c56b4403e22b9584ee37d87b8bfa14865134e3e1c3fb4b2c42fafd3256"},
- {file = "tokenizers-0.19.1-cp311-none-win_amd64.whl", hash = "sha256:ad57d59341710b94a7d9dbea13f5c1e7d76fd8d9bcd944a7a6ab0b0da6e0cc66"},
- {file = "tokenizers-0.19.1-cp312-cp312-macosx_10_12_x86_64.whl", hash = "sha256:621d670e1b1c281a1c9698ed89451395d318802ff88d1fc1accff0867a06f153"},
- {file = "tokenizers-0.19.1-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:d924204a3dbe50b75630bd16f821ebda6a5f729928df30f582fb5aade90c818a"},
- {file = "tokenizers-0.19.1-cp312-cp312-manylinux_2_12_i686.manylinux2010_i686.whl", hash = "sha256:4f3fefdc0446b1a1e6d81cd4c07088ac015665d2e812f6dbba4a06267d1a2c95"},
- {file = "tokenizers-0.19.1-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:9620b78e0b2d52ef07b0d428323fb34e8ea1219c5eac98c2596311f20f1f9266"},
- {file = "tokenizers-0.19.1-cp312-cp312-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:04ce49e82d100594715ac1b2ce87d1a36e61891a91de774755f743babcd0dd52"},
- {file = "tokenizers-0.19.1-cp312-cp312-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:c5c2ff13d157afe413bf7e25789879dd463e5a4abfb529a2d8f8473d8042e28f"},
- {file = "tokenizers-0.19.1-cp312-cp312-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:3174c76efd9d08f836bfccaca7cfec3f4d1c0a4cf3acbc7236ad577cc423c840"},
- {file = "tokenizers-0.19.1-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:7c9d5b6c0e7a1e979bec10ff960fae925e947aab95619a6fdb4c1d8ff3708ce3"},
- {file = "tokenizers-0.19.1-cp312-cp312-musllinux_1_1_aarch64.whl", hash = "sha256:a179856d1caee06577220ebcfa332af046d576fb73454b8f4d4b0ba8324423ea"},
- {file = "tokenizers-0.19.1-cp312-cp312-musllinux_1_1_x86_64.whl", hash = "sha256:952b80dac1a6492170f8c2429bd11fcaa14377e097d12a1dbe0ef2fb2241e16c"},
- {file = "tokenizers-0.19.1-cp312-none-win32.whl", hash = "sha256:01d62812454c188306755c94755465505836fd616f75067abcae529c35edeb57"},
- {file = "tokenizers-0.19.1-cp312-none-win_amd64.whl", hash = "sha256:b70bfbe3a82d3e3fb2a5e9b22a39f8d1740c96c68b6ace0086b39074f08ab89a"},
- {file = "tokenizers-0.19.1-cp37-cp37m-macosx_10_12_x86_64.whl", hash = "sha256:bb9dfe7dae85bc6119d705a76dc068c062b8b575abe3595e3c6276480e67e3f1"},
- {file = "tokenizers-0.19.1-cp37-cp37m-macosx_11_0_arm64.whl", hash = "sha256:1f0360cbea28ea99944ac089c00de7b2e3e1c58f479fb8613b6d8d511ce98267"},
- {file = "tokenizers-0.19.1-cp37-cp37m-manylinux_2_12_i686.manylinux2010_i686.whl", hash = "sha256:71e3ec71f0e78780851fef28c2a9babe20270404c921b756d7c532d280349214"},
- {file = "tokenizers-0.19.1-cp37-cp37m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:b82931fa619dbad979c0ee8e54dd5278acc418209cc897e42fac041f5366d626"},
- {file = "tokenizers-0.19.1-cp37-cp37m-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:e8ff5b90eabdcdaa19af697885f70fe0b714ce16709cf43d4952f1f85299e73a"},
- {file = "tokenizers-0.19.1-cp37-cp37m-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:e742d76ad84acbdb1a8e4694f915fe59ff6edc381c97d6dfdd054954e3478ad4"},
- {file = "tokenizers-0.19.1-cp37-cp37m-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:d8c5d59d7b59885eab559d5bc082b2985555a54cda04dda4c65528d90ad252ad"},
- {file = "tokenizers-0.19.1-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:6b2da5c32ed869bebd990c9420df49813709e953674c0722ff471a116d97b22d"},
- {file = "tokenizers-0.19.1-cp37-cp37m-musllinux_1_1_aarch64.whl", hash = "sha256:638e43936cc8b2cbb9f9d8dde0fe5e7e30766a3318d2342999ae27f68fdc9bd6"},
- {file = "tokenizers-0.19.1-cp37-cp37m-musllinux_1_1_x86_64.whl", hash = "sha256:78e769eb3b2c79687d9cb0f89ef77223e8e279b75c0a968e637ca7043a84463f"},
- {file = "tokenizers-0.19.1-cp37-none-win32.whl", hash = "sha256:72791f9bb1ca78e3ae525d4782e85272c63faaef9940d92142aa3eb79f3407a3"},
- {file = "tokenizers-0.19.1-cp37-none-win_amd64.whl", hash = "sha256:f3bbb7a0c5fcb692950b041ae11067ac54826204318922da754f908d95619fbc"},
- {file = "tokenizers-0.19.1-cp38-cp38-macosx_10_12_x86_64.whl", hash = "sha256:07f9295349bbbcedae8cefdbcfa7f686aa420be8aca5d4f7d1ae6016c128c0c5"},
- {file = "tokenizers-0.19.1-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:10a707cc6c4b6b183ec5dbfc5c34f3064e18cf62b4a938cb41699e33a99e03c1"},
- {file = "tokenizers-0.19.1-cp38-cp38-manylinux_2_12_i686.manylinux2010_i686.whl", hash = "sha256:6309271f57b397aa0aff0cbbe632ca9d70430839ca3178bf0f06f825924eca22"},
- {file = "tokenizers-0.19.1-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:4ad23d37d68cf00d54af184586d79b84075ada495e7c5c0f601f051b162112dc"},
- {file = "tokenizers-0.19.1-cp38-cp38-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:427c4f0f3df9109314d4f75b8d1f65d9477033e67ffaec4bca53293d3aca286d"},
- {file = "tokenizers-0.19.1-cp38-cp38-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:e83a31c9cf181a0a3ef0abad2b5f6b43399faf5da7e696196ddd110d332519ee"},
- {file = "tokenizers-0.19.1-cp38-cp38-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:c27b99889bd58b7e301468c0838c5ed75e60c66df0d4db80c08f43462f82e0d3"},
- {file = "tokenizers-0.19.1-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:bac0b0eb952412b0b196ca7a40e7dce4ed6f6926489313414010f2e6b9ec2adf"},
- {file = "tokenizers-0.19.1-cp38-cp38-musllinux_1_1_aarch64.whl", hash = "sha256:8a6298bde623725ca31c9035a04bf2ef63208d266acd2bed8c2cb7d2b7d53ce6"},
- {file = "tokenizers-0.19.1-cp38-cp38-musllinux_1_1_x86_64.whl", hash = "sha256:08a44864e42fa6d7d76d7be4bec62c9982f6f6248b4aa42f7302aa01e0abfd26"},
- {file = "tokenizers-0.19.1-cp38-none-win32.whl", hash = "sha256:1de5bc8652252d9357a666e609cb1453d4f8e160eb1fb2830ee369dd658e8975"},
- {file = "tokenizers-0.19.1-cp38-none-win_amd64.whl", hash = "sha256:0bcce02bf1ad9882345b34d5bd25ed4949a480cf0e656bbd468f4d8986f7a3f1"},
- {file = "tokenizers-0.19.1-cp39-cp39-macosx_10_12_x86_64.whl", hash = "sha256:0b9394bd204842a2a1fd37fe29935353742be4a3460b6ccbaefa93f58a8df43d"},
- {file = "tokenizers-0.19.1-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:4692ab92f91b87769d950ca14dbb61f8a9ef36a62f94bad6c82cc84a51f76f6a"},
- {file = "tokenizers-0.19.1-cp39-cp39-manylinux_2_12_i686.manylinux2010_i686.whl", hash = "sha256:6258c2ef6f06259f70a682491c78561d492e885adeaf9f64f5389f78aa49a051"},
- {file = "tokenizers-0.19.1-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:c85cf76561fbd01e0d9ea2d1cbe711a65400092bc52b5242b16cfd22e51f0c58"},
- {file = "tokenizers-0.19.1-cp39-cp39-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:670b802d4d82bbbb832ddb0d41df7015b3e549714c0e77f9bed3e74d42400fbe"},
- {file = "tokenizers-0.19.1-cp39-cp39-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:85aa3ab4b03d5e99fdd31660872249df5e855334b6c333e0bc13032ff4469c4a"},
- {file = "tokenizers-0.19.1-cp39-cp39-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:cbf001afbbed111a79ca47d75941e9e5361297a87d186cbfc11ed45e30b5daba"},
- {file = "tokenizers-0.19.1-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:b4c89aa46c269e4e70c4d4f9d6bc644fcc39bb409cb2a81227923404dd6f5227"},
- {file = "tokenizers-0.19.1-cp39-cp39-musllinux_1_1_aarch64.whl", hash = "sha256:39c1ec76ea1027438fafe16ecb0fb84795e62e9d643444c1090179e63808c69d"},
- {file = "tokenizers-0.19.1-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:c2a0d47a89b48d7daa241e004e71fb5a50533718897a4cd6235cb846d511a478"},
- {file = "tokenizers-0.19.1-cp39-none-win32.whl", hash = "sha256:61b7fe8886f2e104d4caf9218b157b106207e0f2a4905c9c7ac98890688aabeb"},
- {file = "tokenizers-0.19.1-cp39-none-win_amd64.whl", hash = "sha256:f97660f6c43efd3e0bfd3f2e3e5615bf215680bad6ee3d469df6454b8c6e8256"},
- {file = "tokenizers-0.19.1-pp310-pypy310_pp73-macosx_10_12_x86_64.whl", hash = "sha256:3b11853f17b54c2fe47742c56d8a33bf49ce31caf531e87ac0d7d13d327c9334"},
- {file = "tokenizers-0.19.1-pp310-pypy310_pp73-macosx_11_0_arm64.whl", hash = "sha256:d26194ef6c13302f446d39972aaa36a1dda6450bc8949f5eb4c27f51191375bd"},
- {file = "tokenizers-0.19.1-pp310-pypy310_pp73-manylinux_2_12_i686.manylinux2010_i686.whl", hash = "sha256:e8d1ed93beda54bbd6131a2cb363a576eac746d5c26ba5b7556bc6f964425594"},
- {file = "tokenizers-0.19.1-pp310-pypy310_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:ca407133536f19bdec44b3da117ef0d12e43f6d4b56ac4c765f37eca501c7bda"},
- {file = "tokenizers-0.19.1-pp310-pypy310_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:ce05fde79d2bc2e46ac08aacbc142bead21614d937aac950be88dc79f9db9022"},
- {file = "tokenizers-0.19.1-pp310-pypy310_pp73-musllinux_1_1_aarch64.whl", hash = "sha256:35583cd46d16f07c054efd18b5d46af4a2f070a2dd0a47914e66f3ff5efb2b1e"},
- {file = "tokenizers-0.19.1-pp310-pypy310_pp73-musllinux_1_1_x86_64.whl", hash = "sha256:43350270bfc16b06ad3f6f07eab21f089adb835544417afda0f83256a8bf8b75"},
- {file = "tokenizers-0.19.1-pp37-pypy37_pp73-macosx_10_12_x86_64.whl", hash = "sha256:b4399b59d1af5645bcee2072a463318114c39b8547437a7c2d6a186a1b5a0e2d"},
- {file = "tokenizers-0.19.1-pp37-pypy37_pp73-manylinux_2_12_i686.manylinux2010_i686.whl", hash = "sha256:6852c5b2a853b8b0ddc5993cd4f33bfffdca4fcc5d52f89dd4b8eada99379285"},
- {file = "tokenizers-0.19.1-pp37-pypy37_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:bcd266ae85c3d39df2f7e7d0e07f6c41a55e9a3123bb11f854412952deacd828"},
- {file = "tokenizers-0.19.1-pp37-pypy37_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:ecb2651956eea2aa0a2d099434134b1b68f1c31f9a5084d6d53f08ed43d45ff2"},
- {file = "tokenizers-0.19.1-pp37-pypy37_pp73-musllinux_1_1_aarch64.whl", hash = "sha256:b279ab506ec4445166ac476fb4d3cc383accde1ea152998509a94d82547c8e2a"},
- {file = "tokenizers-0.19.1-pp37-pypy37_pp73-musllinux_1_1_x86_64.whl", hash = "sha256:89183e55fb86e61d848ff83753f64cded119f5d6e1f553d14ffee3700d0a4a49"},
- {file = "tokenizers-0.19.1-pp38-pypy38_pp73-macosx_10_12_x86_64.whl", hash = "sha256:b2edbc75744235eea94d595a8b70fe279dd42f3296f76d5a86dde1d46e35f574"},
- {file = "tokenizers-0.19.1-pp38-pypy38_pp73-macosx_11_0_arm64.whl", hash = "sha256:0e64bfde9a723274e9a71630c3e9494ed7b4c0f76a1faacf7fe294cd26f7ae7c"},
- {file = "tokenizers-0.19.1-pp38-pypy38_pp73-manylinux_2_12_i686.manylinux2010_i686.whl", hash = "sha256:0b5ca92bfa717759c052e345770792d02d1f43b06f9e790ca0a1db62838816f3"},
- {file = "tokenizers-0.19.1-pp38-pypy38_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:6f8a20266e695ec9d7a946a019c1d5ca4eddb6613d4f466888eee04f16eedb85"},
- {file = "tokenizers-0.19.1-pp38-pypy38_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:63c38f45d8f2a2ec0f3a20073cccb335b9f99f73b3c69483cd52ebc75369d8a1"},
- {file = "tokenizers-0.19.1-pp38-pypy38_pp73-musllinux_1_1_aarch64.whl", hash = "sha256:dd26e3afe8a7b61422df3176e06664503d3f5973b94f45d5c45987e1cb711876"},
- {file = "tokenizers-0.19.1-pp38-pypy38_pp73-musllinux_1_1_x86_64.whl", hash = "sha256:eddd5783a4a6309ce23432353cdb36220e25cbb779bfa9122320666508b44b88"},
- {file = "tokenizers-0.19.1-pp39-pypy39_pp73-macosx_10_12_x86_64.whl", hash = "sha256:56ae39d4036b753994476a1b935584071093b55c7a72e3b8288e68c313ca26e7"},
- {file = "tokenizers-0.19.1-pp39-pypy39_pp73-macosx_11_0_arm64.whl", hash = "sha256:f9939ca7e58c2758c01b40324a59c034ce0cebad18e0d4563a9b1beab3018243"},
- {file = "tokenizers-0.19.1-pp39-pypy39_pp73-manylinux_2_12_i686.manylinux2010_i686.whl", hash = "sha256:6c330c0eb815d212893c67a032e9dc1b38a803eccb32f3e8172c19cc69fbb439"},
- {file = "tokenizers-0.19.1-pp39-pypy39_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:ec11802450a2487cdf0e634b750a04cbdc1c4d066b97d94ce7dd2cb51ebb325b"},
- {file = "tokenizers-0.19.1-pp39-pypy39_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:a2b718f316b596f36e1dae097a7d5b91fc5b85e90bf08b01ff139bd8953b25af"},
- {file = "tokenizers-0.19.1-pp39-pypy39_pp73-musllinux_1_1_aarch64.whl", hash = "sha256:ed69af290c2b65169f0ba9034d1dc39a5db9459b32f1dd8b5f3f32a3fcf06eab"},
- {file = "tokenizers-0.19.1-pp39-pypy39_pp73-musllinux_1_1_x86_64.whl", hash = "sha256:f8a9c828277133af13f3859d1b6bf1c3cb6e9e1637df0e45312e6b7c2e622b1f"},
- {file = "tokenizers-0.19.1.tar.gz", hash = "sha256:ee59e6680ed0fdbe6b724cf38bd70400a0c1dd623b07ac729087270caeac88e3"},
+ {file = "tokenizers-0.20.1-cp310-cp310-macosx_10_12_x86_64.whl", hash = "sha256:439261da7c0a5c88bda97acb284d49fbdaf67e9d3b623c0bfd107512d22787a9"},
+ {file = "tokenizers-0.20.1-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:03dae629d99068b1ea5416d50de0fea13008f04129cc79af77a2a6392792d93c"},
+ {file = "tokenizers-0.20.1-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:b61f561f329ffe4b28367798b89d60c4abf3f815d37413b6352bc6412a359867"},
+ {file = "tokenizers-0.20.1-cp310-cp310-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:ec870fce1ee5248a10be69f7a8408a234d6f2109f8ea827b4f7ecdbf08c9fd15"},
+ {file = "tokenizers-0.20.1-cp310-cp310-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:d388d1ea8b7447da784e32e3b86a75cce55887e3b22b31c19d0b186b1c677800"},
+ {file = "tokenizers-0.20.1-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:299c85c1d21135bc01542237979bf25c32efa0d66595dd0069ae259b97fb2dbe"},
+ {file = "tokenizers-0.20.1-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:e96f6c14c9752bb82145636b614d5a78e9cde95edfbe0a85dad0dd5ddd6ec95c"},
+ {file = "tokenizers-0.20.1-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:fc9e95ad49c932b80abfbfeaf63b155761e695ad9f8a58c52a47d962d76e310f"},
+ {file = "tokenizers-0.20.1-cp310-cp310-musllinux_1_1_aarch64.whl", hash = "sha256:f22dee205329a636148c325921c73cf3e412e87d31f4d9c3153b302a0200057b"},
+ {file = "tokenizers-0.20.1-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:a2ffd9a8895575ac636d44500c66dffaef133823b6b25067604fa73bbc5ec09d"},
+ {file = "tokenizers-0.20.1-cp310-none-win32.whl", hash = "sha256:2847843c53f445e0f19ea842a4e48b89dd0db4e62ba6e1e47a2749d6ec11f50d"},
+ {file = "tokenizers-0.20.1-cp310-none-win_amd64.whl", hash = "sha256:f9aa93eacd865f2798b9e62f7ce4533cfff4f5fbd50c02926a78e81c74e432cd"},
+ {file = "tokenizers-0.20.1-cp311-cp311-macosx_10_12_x86_64.whl", hash = "sha256:4a717dcb08f2dabbf27ae4b6b20cbbb2ad7ed78ce05a829fae100ff4b3c7ff15"},
+ {file = "tokenizers-0.20.1-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:3f84dad1ff1863c648d80628b1b55353d16303431283e4efbb6ab1af56a75832"},
+ {file = "tokenizers-0.20.1-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:929c8f3afa16a5130a81ab5079c589226273ec618949cce79b46d96e59a84f61"},
+ {file = "tokenizers-0.20.1-cp311-cp311-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:d10766473954397e2d370f215ebed1cc46dcf6fd3906a2a116aa1d6219bfedc3"},
+ {file = "tokenizers-0.20.1-cp311-cp311-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:9300fac73ddc7e4b0330acbdda4efaabf74929a4a61e119a32a181f534a11b47"},
+ {file = "tokenizers-0.20.1-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:0ecaf7b0e39caeb1aa6dd6e0975c405716c82c1312b55ac4f716ef563a906969"},
+ {file = "tokenizers-0.20.1-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:5170be9ec942f3d1d317817ced8d749b3e1202670865e4fd465e35d8c259de83"},
+ {file = "tokenizers-0.20.1-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:ef3f1ae08fa9aea5891cbd69df29913e11d3841798e0bfb1ff78b78e4e7ea0a4"},
+ {file = "tokenizers-0.20.1-cp311-cp311-musllinux_1_1_aarch64.whl", hash = "sha256:ee86d4095d3542d73579e953c2e5e07d9321af2ffea6ecc097d16d538a2dea16"},
+ {file = "tokenizers-0.20.1-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:86dcd08da163912e17b27bbaba5efdc71b4fbffb841530fdb74c5707f3c49216"},
+ {file = "tokenizers-0.20.1-cp311-none-win32.whl", hash = "sha256:9af2dc4ee97d037bc6b05fa4429ddc87532c706316c5e11ce2f0596dfcfa77af"},
+ {file = "tokenizers-0.20.1-cp311-none-win_amd64.whl", hash = "sha256:899152a78b095559c287b4c6d0099469573bb2055347bb8154db106651296f39"},
+ {file = "tokenizers-0.20.1-cp312-cp312-macosx_10_12_x86_64.whl", hash = "sha256:407ab666b38e02228fa785e81f7cf79ef929f104bcccf68a64525a54a93ceac9"},
+ {file = "tokenizers-0.20.1-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:2f13a2d16032ebc8bd812eb8099b035ac65887d8f0c207261472803b9633cf3e"},
+ {file = "tokenizers-0.20.1-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:e98eee4dca22849fbb56a80acaa899eec5b72055d79637dd6aa15d5e4b8628c9"},
+ {file = "tokenizers-0.20.1-cp312-cp312-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:47c1bcdd61e61136087459cb9e0b069ff23b5568b008265e5cbc927eae3387ce"},
+ {file = "tokenizers-0.20.1-cp312-cp312-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:128c1110e950534426e2274837fc06b118ab5f2fa61c3436e60e0aada0ccfd67"},
+ {file = "tokenizers-0.20.1-cp312-cp312-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:e2e2d47a819d2954f2c1cd0ad51bb58ffac6f53a872d5d82d65d79bf76b9896d"},
+ {file = "tokenizers-0.20.1-cp312-cp312-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:bdd67a0e3503a9a7cf8bc5a4a49cdde5fa5bada09a51e4c7e1c73900297539bd"},
+ {file = "tokenizers-0.20.1-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:689b93d2e26d04da337ac407acec8b5d081d8d135e3e5066a88edd5bdb5aff89"},
+ {file = "tokenizers-0.20.1-cp312-cp312-musllinux_1_1_aarch64.whl", hash = "sha256:0c6a796ddcd9a19ad13cf146997cd5895a421fe6aec8fd970d69f9117bddb45c"},
+ {file = "tokenizers-0.20.1-cp312-cp312-musllinux_1_1_x86_64.whl", hash = "sha256:3ea919687aa7001a8ff1ba36ac64f165c4e89035f57998fa6cedcfd877be619d"},
+ {file = "tokenizers-0.20.1-cp312-none-win32.whl", hash = "sha256:6d3ac5c1f48358ffe20086bf065e843c0d0a9fce0d7f0f45d5f2f9fba3609ca5"},
+ {file = "tokenizers-0.20.1-cp312-none-win_amd64.whl", hash = "sha256:b0874481aea54a178f2bccc45aa2d0c99cd3f79143a0948af6a9a21dcc49173b"},
+ {file = "tokenizers-0.20.1-cp37-cp37m-macosx_10_12_x86_64.whl", hash = "sha256:96af92e833bd44760fb17f23f402e07a66339c1dcbe17d79a9b55bb0cc4f038e"},
+ {file = "tokenizers-0.20.1-cp37-cp37m-macosx_11_0_arm64.whl", hash = "sha256:65f34e5b731a262dfa562820818533c38ce32a45864437f3d9c82f26c139ca7f"},
+ {file = "tokenizers-0.20.1-cp37-cp37m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:17f98fccb5c12ab1ce1f471731a9cd86df5d4bd2cf2880c5a66b229802d96145"},
+ {file = "tokenizers-0.20.1-cp37-cp37m-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:b8c0fc3542cf9370bf92c932eb71bdeb33d2d4aeeb4126d9fd567b60bd04cb30"},
+ {file = "tokenizers-0.20.1-cp37-cp37m-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:4b39356df4575d37f9b187bb623aab5abb7b62c8cb702867a1768002f814800c"},
+ {file = "tokenizers-0.20.1-cp37-cp37m-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:bfdad27b0e50544f6b838895a373db6114b85112ba5c0cefadffa78d6daae563"},
+ {file = "tokenizers-0.20.1-cp37-cp37m-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:094663dd0e85ee2e573126918747bdb40044a848fde388efb5b09d57bc74c680"},
+ {file = "tokenizers-0.20.1-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:14e4cf033a2aa207d7ac790e91adca598b679999710a632c4a494aab0fc3a1b2"},
+ {file = "tokenizers-0.20.1-cp37-cp37m-musllinux_1_1_aarch64.whl", hash = "sha256:9310951c92c9fb91660de0c19a923c432f110dbfad1a2d429fbc44fa956bf64f"},
+ {file = "tokenizers-0.20.1-cp37-cp37m-musllinux_1_1_x86_64.whl", hash = "sha256:05e41e302c315bd2ed86c02e917bf03a6cf7d2f652c9cee1a0eb0d0f1ca0d32c"},
+ {file = "tokenizers-0.20.1-cp37-none-win32.whl", hash = "sha256:212231ab7dfcdc879baf4892ca87c726259fa7c887e1688e3f3cead384d8c305"},
+ {file = "tokenizers-0.20.1-cp37-none-win_amd64.whl", hash = "sha256:896195eb9dfdc85c8c052e29947169c1fcbe75a254c4b5792cdbd451587bce85"},
+ {file = "tokenizers-0.20.1-cp38-cp38-macosx_10_12_x86_64.whl", hash = "sha256:741fb22788482d09d68e73ece1495cfc6d9b29a06c37b3df90564a9cfa688e6d"},
+ {file = "tokenizers-0.20.1-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:10be14ebd8082086a342d969e17fc2d6edc856c59dbdbddd25f158fa40eaf043"},
+ {file = "tokenizers-0.20.1-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:514cf279b22fa1ae0bc08e143458c74ad3b56cd078b319464959685a35c53d5e"},
+ {file = "tokenizers-0.20.1-cp38-cp38-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:a647c5b7cb896d6430cf3e01b4e9a2d77f719c84cefcef825d404830c2071da2"},
+ {file = "tokenizers-0.20.1-cp38-cp38-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:7cdf379219e1e1dd432091058dab325a2e6235ebb23e0aec8d0508567c90cd01"},
+ {file = "tokenizers-0.20.1-cp38-cp38-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:1ba72260449e16c4c2f6f3252823b059fbf2d31b32617e582003f2b18b415c39"},
+ {file = "tokenizers-0.20.1-cp38-cp38-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:910b96ed87316e4277b23c7bcaf667ce849c7cc379a453fa179e7e09290eeb25"},
+ {file = "tokenizers-0.20.1-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:e53975a6694428a0586534cc1354b2408d4e010a3103117f617cbb550299797c"},
+ {file = "tokenizers-0.20.1-cp38-cp38-musllinux_1_1_aarch64.whl", hash = "sha256:07c4b7be58da142b0730cc4e5fd66bb7bf6f57f4986ddda73833cd39efef8a01"},
+ {file = "tokenizers-0.20.1-cp38-cp38-musllinux_1_1_x86_64.whl", hash = "sha256:b605c540753e62199bf15cf69c333e934077ef2350262af2ccada46026f83d1c"},
+ {file = "tokenizers-0.20.1-cp38-none-win32.whl", hash = "sha256:88b3bc76ab4db1ab95ead623d49c95205411e26302cf9f74203e762ac7e85685"},
+ {file = "tokenizers-0.20.1-cp38-none-win_amd64.whl", hash = "sha256:d412a74cf5b3f68a90c615611a5aa4478bb303d1c65961d22db45001df68afcb"},
+ {file = "tokenizers-0.20.1-cp39-cp39-macosx_10_12_x86_64.whl", hash = "sha256:a25dcb2f41a0a6aac31999e6c96a75e9152fa0127af8ece46c2f784f23b8197a"},
+ {file = "tokenizers-0.20.1-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:a12c3cebb8c92e9c35a23ab10d3852aee522f385c28d0b4fe48c0b7527d59762"},
+ {file = "tokenizers-0.20.1-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:02e18da58cf115b7c40de973609c35bde95856012ba42a41ee919c77935af251"},
+ {file = "tokenizers-0.20.1-cp39-cp39-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:f326a1ac51ae909b9760e34671c26cd0dfe15662f447302a9d5bb2d872bab8ab"},
+ {file = "tokenizers-0.20.1-cp39-cp39-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:0b4872647ea6f25224e2833b044b0b19084e39400e8ead3cfe751238b0802140"},
+ {file = "tokenizers-0.20.1-cp39-cp39-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:ce6238a3311bb8e4c15b12600927d35c267b92a52c881ef5717a900ca14793f7"},
+ {file = "tokenizers-0.20.1-cp39-cp39-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:57b7a8880b208866508b06ce365dc631e7a2472a3faa24daa430d046fb56c885"},
+ {file = "tokenizers-0.20.1-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:a908c69c2897a68f412aa05ba38bfa87a02980df70f5a72fa8490479308b1f2d"},
+ {file = "tokenizers-0.20.1-cp39-cp39-musllinux_1_1_aarch64.whl", hash = "sha256:da1001aa46f4490099c82e2facc4fbc06a6a32bf7de3918ba798010954b775e0"},
+ {file = "tokenizers-0.20.1-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:42c097390e2f0ed0a5c5d569e6669dd4e9fff7b31c6a5ce6e9c66a61687197de"},
+ {file = "tokenizers-0.20.1-cp39-none-win32.whl", hash = "sha256:3d4d218573a3d8b121a1f8c801029d70444ffb6d8f129d4cca1c7b672ee4a24c"},
+ {file = "tokenizers-0.20.1-cp39-none-win_amd64.whl", hash = "sha256:37d1e6f616c84fceefa7c6484a01df05caf1e207669121c66213cb5b2911d653"},
+ {file = "tokenizers-0.20.1-pp310-pypy310_pp73-macosx_10_12_x86_64.whl", hash = "sha256:48689da7a395df41114f516208d6550e3e905e1239cc5ad386686d9358e9cef0"},
+ {file = "tokenizers-0.20.1-pp310-pypy310_pp73-macosx_11_0_arm64.whl", hash = "sha256:712f90ea33f9bd2586b4a90d697c26d56d0a22fd3c91104c5858c4b5b6489a79"},
+ {file = "tokenizers-0.20.1-pp310-pypy310_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:359eceb6a620c965988fc559cebc0a98db26713758ec4df43fb76d41486a8ed5"},
+ {file = "tokenizers-0.20.1-pp310-pypy310_pp73-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:0d3caf244ce89d24c87545aafc3448be15870096e796c703a0d68547187192e1"},
+ {file = "tokenizers-0.20.1-pp310-pypy310_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:03b03cf8b9a32254b1bf8a305fb95c6daf1baae0c1f93b27f2b08c9759f41dee"},
+ {file = "tokenizers-0.20.1-pp310-pypy310_pp73-musllinux_1_1_aarch64.whl", hash = "sha256:218e5a3561561ea0f0ef1559c6d95b825308dbec23fb55b70b92589e7ff2e1e8"},
+ {file = "tokenizers-0.20.1-pp310-pypy310_pp73-musllinux_1_1_x86_64.whl", hash = "sha256:f40df5e0294a95131cc5f0e0eb91fe86d88837abfbee46b9b3610b09860195a7"},
+ {file = "tokenizers-0.20.1-pp37-pypy37_pp73-macosx_10_12_x86_64.whl", hash = "sha256:08aaa0d72bb65058e8c4b0455f61b840b156c557e2aca57627056624c3a93976"},
+ {file = "tokenizers-0.20.1-pp37-pypy37_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:998700177b45f70afeb206ad22c08d9e5f3a80639dae1032bf41e8cbc4dada4b"},
+ {file = "tokenizers-0.20.1-pp37-pypy37_pp73-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:62f7fbd3c2c38b179556d879edae442b45f68312019c3a6013e56c3947a4e648"},
+ {file = "tokenizers-0.20.1-pp37-pypy37_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:31e87fca4f6bbf5cc67481b562147fe932f73d5602734de7dd18a8f2eee9c6dd"},
+ {file = "tokenizers-0.20.1-pp37-pypy37_pp73-musllinux_1_1_aarch64.whl", hash = "sha256:956f21d359ae29dd51ca5726d2c9a44ffafa041c623f5aa33749da87cfa809b9"},
+ {file = "tokenizers-0.20.1-pp37-pypy37_pp73-musllinux_1_1_x86_64.whl", hash = "sha256:1fbbaf17a393c78d8aedb6a334097c91cb4119a9ced4764ab8cfdc8d254dc9f9"},
+ {file = "tokenizers-0.20.1-pp38-pypy38_pp73-macosx_10_12_x86_64.whl", hash = "sha256:ebe63e31f9c1a970c53866d814e35ec2ec26fda03097c486f82f3891cee60830"},
+ {file = "tokenizers-0.20.1-pp38-pypy38_pp73-macosx_11_0_arm64.whl", hash = "sha256:81970b80b8ac126910295f8aab2d7ef962009ea39e0d86d304769493f69aaa1e"},
+ {file = "tokenizers-0.20.1-pp38-pypy38_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:130e35e76f9337ed6c31be386e75d4925ea807055acf18ca1a9b0eec03d8fe23"},
+ {file = "tokenizers-0.20.1-pp38-pypy38_pp73-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:cd28a8614f5c82a54ab2463554e84ad79526c5184cf4573bbac2efbbbcead457"},
+ {file = "tokenizers-0.20.1-pp38-pypy38_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:9041ee665d0fa7f5c4ccf0f81f5e6b7087f797f85b143c094126fc2611fec9d0"},
+ {file = "tokenizers-0.20.1-pp38-pypy38_pp73-musllinux_1_1_aarch64.whl", hash = "sha256:62eb9daea2a2c06bcd8113a5824af8ef8ee7405d3a71123ba4d52c79bb3d9f1a"},
+ {file = "tokenizers-0.20.1-pp38-pypy38_pp73-musllinux_1_1_x86_64.whl", hash = "sha256:f861889707b54a9ab1204030b65fd6c22bdd4a95205deec7994dc22a8baa2ea4"},
+ {file = "tokenizers-0.20.1-pp39-pypy39_pp73-macosx_10_12_x86_64.whl", hash = "sha256:89d5c337d74ea6e5e7dc8af124cf177be843bbb9ca6e58c01f75ea103c12c8a9"},
+ {file = "tokenizers-0.20.1-pp39-pypy39_pp73-macosx_11_0_arm64.whl", hash = "sha256:0b7f515c83397e73292accdbbbedc62264e070bae9682f06061e2ddce67cacaf"},
+ {file = "tokenizers-0.20.1-pp39-pypy39_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:3e0305fc1ec6b1e5052d30d9c1d5c807081a7bd0cae46a33d03117082e91908c"},
+ {file = "tokenizers-0.20.1-pp39-pypy39_pp73-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:5dc611e6ac0fa00a41de19c3bf6391a05ea201d2d22b757d63f5491ec0e67faa"},
+ {file = "tokenizers-0.20.1-pp39-pypy39_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:c5ffe0d7f7bfcfa3b2585776ecf11da2e01c317027c8573c78ebcb8985279e23"},
+ {file = "tokenizers-0.20.1-pp39-pypy39_pp73-musllinux_1_1_aarch64.whl", hash = "sha256:e7edb8ec12c100d5458d15b1e47c0eb30ad606a05641f19af7563bc3d1608c14"},
+ {file = "tokenizers-0.20.1-pp39-pypy39_pp73-musllinux_1_1_x86_64.whl", hash = "sha256:de291633fb9303555793cc544d4a86e858da529b7d0b752bcaf721ae1d74b2c9"},
+ {file = "tokenizers-0.20.1.tar.gz", hash = "sha256:84edcc7cdeeee45ceedb65d518fffb77aec69311c9c8e30f77ad84da3025f002"},
]
[package.dependencies]
@@ -3236,13 +3413,13 @@ telegram = ["requests"]
[[package]]
name = "typing-extensions"
-version = "4.9.0"
+version = "4.12.2"
description = "Backported and Experimental Type Hints for Python 3.8+"
optional = false
python-versions = ">=3.8"
files = [
- {file = "typing_extensions-4.9.0-py3-none-any.whl", hash = "sha256:af72aea155e91adfc61c3ae9e0e342dbc0cba726d6cba4b6c72c1f34e47291cd"},
- {file = "typing_extensions-4.9.0.tar.gz", hash = "sha256:23478f88c37f27d76ac8aee6c905017a143b0b1b886c3c9f66bc2fd94f9f5783"},
+ {file = "typing_extensions-4.12.2-py3-none-any.whl", hash = "sha256:04e5ca0351e0f3f85c6853954072df659d0d13fac324d0072316b67d7794700d"},
+ {file = "typing_extensions-4.12.2.tar.gz", hash = "sha256:1a7ead55c7e559dd4dee8856e3a88b41225abfe1ce8df57b7c13915fe121ffb8"},
]
[[package]]
@@ -3263,13 +3440,13 @@ zstd = ["zstandard (>=0.18.0)"]
[[package]]
name = "uvicorn"
-version = "0.30.1"
+version = "0.32.0"
description = "The lightning-fast ASGI server."
optional = false
python-versions = ">=3.8"
files = [
- {file = "uvicorn-0.30.1-py3-none-any.whl", hash = "sha256:cd17daa7f3b9d7a24de3617820e634d0933b69eed8e33a516071174427238c81"},
- {file = "uvicorn-0.30.1.tar.gz", hash = "sha256:d46cd8e0fd80240baffbcd9ec1012a712938754afcf81bce56c024c1656aece8"},
+ {file = "uvicorn-0.32.0-py3-none-any.whl", hash = "sha256:60b8f3a5ac027dcd31448f411ced12b5ef452c646f76f02f8cc3f25d8d26fd82"},
+ {file = "uvicorn-0.32.0.tar.gz", hash = "sha256:f78b36b143c16f54ccdb8190d0a26b5f1901fe5a3c777e1ab29f26391af8551e"},
]
[package.dependencies]
@@ -3601,4 +3778,4 @@ testing = ["coverage (>=5.0.3)", "zope.event", "zope.testing"]
[metadata]
lock-version = "2.0"
python-versions = ">=3.10,<4.0"
-content-hash = "df9afeda50e05cb62b322a047028a9b0851db197c4f379903c70adab3a98777a"
+content-hash = "f95dddfd343a4b2f4d19ffee71ce6b2f5137e5514a60765424164259c4dc1044"
diff --git a/machine-learning/pyproject.toml b/machine-learning/pyproject.toml
index ff6de49811..4a7f7d4d6a 100644
--- a/machine-learning/pyproject.toml
+++ b/machine-learning/pyproject.toml
@@ -1,6 +1,6 @@
[tool.poetry]
name = "machine-learning"
-version = "1.111.0"
+version = "1.119.1"
description = ""
authors = ["Hau Tran (
case 13:
return (reader.readStringOrNull(offset)) as P;
case 14:
- return (reader.readLongOrNull(offset)) as P;
+ return (reader.readLongOrNull(offset) ?? 0) as P;
case 15:
return (reader.readStringOrNull(offset)) as P;
case 16:
return (reader.readStringOrNull(offset)) as P;
case 17:
+ return (reader.readStringOrNull(offset)) as P;
+ case 18:
return (_AssettypeValueEnumMap[reader.readByteOrNull(offset)] ??
AssetType.other) as P;
- case 18:
- return (reader.readDateTime(offset)) as P;
case 19:
+ return (reader.readDateTime(offset)) as P;
+ case 20:
return (reader.readIntOrNull(offset)) as P;
default:
throw IsarError('Unknown property with id $propertyId');
@@ -1859,24 +1874,8 @@ extension AssetQueryFilter on QueryBuilder> getAll(
+ String albumId, {
+ String? assetId,
+ });
+ Future
> getAll({
+ bool? shared,
+ bool? remote,
+ int? ownerId,
+ AlbumSort? sortBy,
+ });
+
+ Future
> search(String searchTerm, QuickFilterMode filterMode);
+}
+
+enum AlbumSort { remoteId, localId }
diff --git a/mobile/lib/interfaces/album_api.interface.dart b/mobile/lib/interfaces/album_api.interface.dart
new file mode 100644
index 0000000000..33b589841f
--- /dev/null
+++ b/mobile/lib/interfaces/album_api.interface.dart
@@ -0,0 +1,40 @@
+import 'package:immich_mobile/entities/album.entity.dart';
+
+abstract interface class IAlbumApiRepository {
+ Future
> getAll({bool? shared});
+
+ Future
> getAll();
+
+ Future
> getAssetIds(String albumId);
+
+ Future
> getAssets(
+ String albumId, {
+ int start = 0,
+ int end = 0x7fffffffffffffff,
+ DateTime? modifiedFrom,
+ DateTime? modifiedUntil,
+ bool orderByModificationDate = false,
+ });
+
+ Future
> getAllByRemoteId(
+ Iterable
> getAllByOwnerIdChecksum(
+ List
> getAll({
+ required int ownerId,
+ AssetState? state,
+ AssetSort? sortBy,
+ int? limit,
+ });
+
+ Future
> getAllLocal();
+
+ Future
> getByAlbum(
+ Album album, {
+ Iterable