Compare commits
245 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
| f58db3be88 | |||
| ac44f6d1e0 | |||
| ab61bcfcc8 | |||
| aa344a3989 | |||
| 2efca67217 | |||
| 97daf42fd5 | |||
| 5548033cae | |||
| 637eba6e08 | |||
| f16457d2f9 | |||
| 7b41c6348c | |||
| bd92f6b12d | |||
| 496b0c7076 | |||
| 166452640d | |||
| 30f6dc3a6e | |||
| 02c423b326 | |||
| df318ac641 | |||
| 826eaedae6 | |||
| 737e768212 | |||
| 99e5b33969 | |||
| 7ea8783593 | |||
| 4d27f187ea | |||
| 1dc62fce5f | |||
| 5fc4393e7a | |||
| dee6d072fb | |||
| 261818ddd9 | |||
| fafb88d31c | |||
| f929dc0816 | |||
| 9e94f52b05 | |||
| 5d244c6fec | |||
| dcfe8d5ade | |||
| 635f5de186 | |||
| 9719965caf | |||
| f33e1ad94c | |||
| 576f681b5c | |||
| 493d85b021 | |||
| f32d4f15b6 | |||
| 7bae49ebd5 | |||
| 2e63b9d951 | |||
| 137f0d48c0 | |||
| 53acf08263 | |||
| f32cd74232 | |||
| 546f841b2c | |||
| 8491fe459d | |||
| 2046dcc5b4 | |||
| 03ff425664 | |||
| 055b930066 | |||
| 531515daf9 | |||
| b256c51b6b | |||
| 238dc7c085 | |||
| 184c7390a1 | |||
| 649221176c | |||
| eae2471ab5 | |||
| bfceed15da | |||
| d9891f759e | |||
| 32f23b8d38 | |||
| 743b6644e9 | |||
| 34620e1e9a | |||
| bcb968e3d1 | |||
| e73abe0762 | |||
| 920d7de349 | |||
| 351701c4d6 | |||
| 68f249bc03 | |||
| eca54871d0 | |||
| b359eea124 | |||
| c18f167e29 | |||
| ba262fbaa8 | |||
| 59e7754bdc | |||
| 0acbf1199a | |||
| daea57f7d2 | |||
| 82c3165247 | |||
| 3a854d77ac | |||
| ccd0c35ca1 | |||
| 5f10a4cae7 | |||
| 9abb95d34a | |||
| 805ec3e351 | |||
| a97ba4862f | |||
| c699df002a | |||
| 33c29e4305 | |||
| b0098d6d23 | |||
| 04aab6ecce | |||
| 47c0dc0d7e | |||
| df581cc0d5 | |||
| 9e48ae3052 | |||
| 1d19d308e2 | |||
| de4217cefc | |||
| 617a2f146d | |||
| 2b07d7ac63 | |||
| 1cc5ca14ca | |||
| a625921e8f | |||
| a17bba3328 | |||
| 4b3a4725c6 | |||
| 34f0f6c813 | |||
| 906d14c172 | |||
| d087f7c870 | |||
| de345a9524 | |||
| badd7ea2a9 | |||
| 7d8f56b483 | |||
| 70b73145f1 | |||
| d178c52ba6 | |||
| 55fe67dd20 | |||
| ed4c7817e7 | |||
| 39c95f1280 | |||
| 4ddd3764b4 | |||
| 68db17028b | |||
| 1f50a0075e | |||
| b19884d01e | |||
| feff1899ee | |||
| 977d6452f6 | |||
| f778adea92 | |||
| 818bdde317 | |||
| fd48a33686 | |||
| a918481c0b | |||
| a201665b7e | |||
| 2a222fcfba | |||
| d902e7f87d | |||
| 6278fe43c0 | |||
| dfe6d27bbd | |||
| 51ab7498e9 | |||
| 4db76ddcf0 | |||
| d03eb87058 | |||
| a556de67b0 | |||
| e703685d8d | |||
| 172388c455 | |||
| df4a27e8a7 | |||
| 1f9813a28e | |||
| bbfff45058 | |||
| 87dd09d103 | |||
| dd94ad17aa | |||
| a87c2e82cd | |||
| a11ab4c3f7 | |||
| ebf2f9fd7b | |||
| 683af67344 | |||
| d149d6fa3f | |||
| 8c5269c002 | |||
| cf91d9bdfc | |||
| 5579554532 | |||
| 7e35e6985e | |||
| 56756baea2 | |||
| d5923241b5 | |||
| cc471806fe | |||
| 4ce9bce414 | |||
| 2f5d75ce21 | |||
| fb384fe90b | |||
| 73733370a2 | |||
| 4a2cf28882 | |||
| 181efb9010 | |||
| b00d44a00c | |||
| 6044663e26 | |||
| 484529e61e | |||
| 445f9174ea | |||
| 7855974a29 | |||
| ec603a008c | |||
| 14276f41d8 | |||
| a644cabab6 | |||
| b8e67d0ef9 | |||
| ca78bc91b6 | |||
| f2f3db3a79 | |||
| c435bdb5d3 | |||
| 15da0d5a71 | |||
| 090d87f82e | |||
| 25efba8fe6 | |||
| 83afd49f5c | |||
| 639ede78c2 | |||
| 15be3437bf | |||
| f59b0bab5a | |||
| fa418d778b | |||
| e0c4b8df6f | |||
| 7f9689b4bc | |||
| e6f8bfdf5e | |||
| 8ccca04e27 | |||
| 53f80393bf | |||
| e5e857edc3 | |||
| 590f96246d | |||
| 38d73f2bc6 | |||
| 96e3b96d57 | |||
| 36b018e355 | |||
| 214ca50406 | |||
| 29b3981609 | |||
| a068a41c06 | |||
| 3c6e9e1191 | |||
| db0415bbcc | |||
| a5c431fbf5 | |||
| a3d588f6bd | |||
| 21f500191a | |||
| 5011636d95 | |||
| 3f330c6476 | |||
| bb8755021d | |||
| 93f9e118ad | |||
| 58ca1402ed | |||
| 32a7087883 | |||
| 53020852ec | |||
| 181a7e115f | |||
| 095ace8687 | |||
| 4c3fcdc745 | |||
| fa5f30d9ca | |||
| e60bc3c304 | |||
| 09cbc5d3f4 | |||
| a2a9797fab | |||
| 3d35e65f27 | |||
| df76735f4a | |||
| 6feca56da8 | |||
| 97aabe466e | |||
| 72a53f43c8 | |||
| 30b4f334d8 | |||
| 6c6a32c63e | |||
| 6fed223405 | |||
| 3105094a3d | |||
| b96c95beda | |||
| 926ff075a3 | |||
| 934649c8df | |||
| a43159f4ba | |||
| ea3a14ed25 | |||
| 24a4cba953 | |||
| fda22c83b9 | |||
| 2a8019726c | |||
| 5f76cdddc7 | |||
| 48be10e48b | |||
| 6c11ef62e8 | |||
| 65dce58aa4 | |||
| 64cc7239fe | |||
| 5f89c2d111 | |||
| 4621ec5ea2 | |||
| 881a96cdf9 | |||
| b001ba44f5 | |||
| afb444c92c | |||
| 027c4a8b34 | |||
| eca9b56847 | |||
| 5b0575b956 | |||
| 05064f87f0 | |||
| 522cdbac99 | |||
| 9240bbc6ff | |||
| 3751f8bc57 | |||
| 88b8afb8d6 | |||
| 2e13543d5d | |||
| bcfc967d77 | |||
| 7d0e8f50f7 | |||
| c759233d8c | |||
| bfe32c2bb9 | |||
| 6c7b2e4b5c | |||
| 7edbeb2ed6 | |||
| 4e59a55c1d | |||
| c2d7337d12 | |||
| c1b82bed9b | |||
| 9ca31abae9 | |||
| ebcf133bea |
@@ -11,8 +11,8 @@ services:
|
||||
- open_api_node_modules:/workspaces/immich/open-api/typescript-sdk/node_modules
|
||||
- server_node_modules:/workspaces/immich/server/node_modules
|
||||
- web_node_modules:/workspaces/immich/web/node_modules
|
||||
- ${UPLOAD_LOCATION}/photos:/workspaces/immich/server/upload
|
||||
- ${UPLOAD_LOCATION}/photos/upload:/workspaces/immich/server/upload/upload
|
||||
- ${UPLOAD_LOCATION}/photos:/usr/src/app/upload
|
||||
- ${UPLOAD_LOCATION}/photos/upload:/usr/src/app/upload
|
||||
- /etc/localtime:/etc/localtime:ro
|
||||
|
||||
database:
|
||||
|
||||
@@ -73,10 +73,8 @@ install_dependencies() {
|
||||
log "Installing dependencies"
|
||||
(
|
||||
cd "${IMMICH_WORKSPACE}" || exit 1
|
||||
run_cmd make install-server
|
||||
run_cmd make install-sdk
|
||||
run_cmd make build-sdk
|
||||
run_cmd make install-web
|
||||
export CI=1 FROZEN=1 OFFLINE=1
|
||||
run_cmd make setup-web-dev setup-server-dev
|
||||
)
|
||||
log ""
|
||||
}
|
||||
|
||||
@@ -3,6 +3,7 @@ services:
|
||||
build:
|
||||
target: dev-container-server
|
||||
env_file: !reset []
|
||||
hostname: immich-dev
|
||||
environment:
|
||||
- IMMICH_SERVER_URL=http://127.0.0.1:2283/
|
||||
volumes: !override
|
||||
@@ -12,8 +13,8 @@ services:
|
||||
- open_api_node_modules:/workspaces/immich/open-api/typescript-sdk/node_modules
|
||||
- server_node_modules:/workspaces/immich/server/node_modules
|
||||
- web_node_modules:/workspaces/immich/web/node_modules
|
||||
- ${UPLOAD_LOCATION:-upload1-devcontainer-volume}${UPLOAD_LOCATION:+/photos}:/workspaces/immich/server/upload
|
||||
- ${UPLOAD_LOCATION:-upload2-devcontainer-volume}${UPLOAD_LOCATION:+/photos/upload}:/workspaces/immich/server/upload/upload
|
||||
- ${UPLOAD_LOCATION:-upload1-devcontainer-volume}${UPLOAD_LOCATION:+/photos}:/usr/src/app/upload
|
||||
- ${UPLOAD_LOCATION:-upload2-devcontainer-volume}${UPLOAD_LOCATION:+/photos/upload}:/usr/src/app/upload/upload
|
||||
- /etc/localtime:/etc/localtime:ro
|
||||
|
||||
immich-web:
|
||||
|
||||
+20
-12
@@ -1,33 +1,41 @@
|
||||
.vscode/
|
||||
.github/
|
||||
.git/
|
||||
.env*
|
||||
*.log
|
||||
*.tmp
|
||||
*.temp
|
||||
|
||||
**/Dockerfile
|
||||
**/node_modules/
|
||||
**/.pnpm-store/
|
||||
**/dist/
|
||||
**/coverage/
|
||||
**/build/
|
||||
|
||||
design/
|
||||
docker/
|
||||
!docker/scripts
|
||||
|
||||
docs/
|
||||
!docs/package.json
|
||||
!docs/package-lock.json
|
||||
|
||||
e2e/
|
||||
!e2e/package.json
|
||||
!e2e/package-lock.json
|
||||
|
||||
fastlane/
|
||||
machine-learning/
|
||||
misc/
|
||||
mobile/
|
||||
|
||||
cli/coverage/
|
||||
cli/dist/
|
||||
cli/node_modules/
|
||||
|
||||
open-api/typescript-sdk/build/
|
||||
open-api/typescript-sdk/node_modules/
|
||||
!open-api/typescript-sdk/package.json
|
||||
!open-api/typescript-sdk/package-lock.json
|
||||
|
||||
server/coverage/
|
||||
server/node_modules/
|
||||
server/upload/
|
||||
server/src/queries
|
||||
server/dist/
|
||||
server/www/
|
||||
|
||||
web/node_modules/
|
||||
web/coverage/
|
||||
web/.svelte-kit
|
||||
web/build/
|
||||
web/.env
|
||||
|
||||
@@ -12,6 +12,12 @@ mobile/lib/**/*.drift.dart linguist-generated=true
|
||||
mobile/drift_schemas/main/drift_schema_*.json -diff -merge
|
||||
mobile/drift_schemas/main/drift_schema_*.json linguist-generated=true
|
||||
|
||||
mobile/lib/infrastructure/repositories/db.repository.steps.dart -diff -merge
|
||||
mobile/lib/infrastructure/repositories/db.repository.steps.dart linguist-generated=true
|
||||
|
||||
mobile/test/drift/main/generated/** -diff -merge
|
||||
mobile/test/drift/main/generated/** linguist-generated=true
|
||||
|
||||
open-api/typescript-sdk/fetch-client.ts -diff -merge
|
||||
open-api/typescript-sdk/fetch-client.ts linguist-generated=true
|
||||
|
||||
|
||||
+1
-1
@@ -1 +1 @@
|
||||
22.16.0
|
||||
22.17.1
|
||||
|
||||
@@ -0,0 +1,4 @@
|
||||
# Ignore files for PNPM, NPM and YARN
|
||||
pnpm-lock.yaml
|
||||
package-lock.json
|
||||
yarn.lock
|
||||
Generated
+3
-3
@@ -9,9 +9,9 @@
|
||||
}
|
||||
},
|
||||
"node_modules/prettier": {
|
||||
"version": "3.5.3",
|
||||
"resolved": "https://registry.npmjs.org/prettier/-/prettier-3.5.3.tgz",
|
||||
"integrity": "sha512-QQtaxnoDJeAkDvDKWCLiwIXkTgRhwYDEQCghU9Z6q03iyek/rxRh/2lC3HB7P8sWT2xC/y5JDctPLBIGzHKbhw==",
|
||||
"version": "3.6.2",
|
||||
"resolved": "https://registry.npmjs.org/prettier/-/prettier-3.6.2.tgz",
|
||||
"integrity": "sha512-I7AIg5boAr5R0FFtJ6rCfD+LFsWHp81dolrFD8S79U9tb8Az2nGrJncnMSnys+bpQJfRUzqs9hnA81OAA3hCuQ==",
|
||||
"dev": true,
|
||||
"license": "MIT",
|
||||
"bin": {
|
||||
|
||||
@@ -58,7 +58,7 @@ jobs:
|
||||
contents: read
|
||||
# Skip when PR from a fork
|
||||
if: ${{ !github.event.pull_request.head.repo.fork && github.actor != 'dependabot[bot]' && needs.pre-job.outputs.should_run == 'true' }}
|
||||
runs-on: macos-14
|
||||
runs-on: mich
|
||||
|
||||
steps:
|
||||
- uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
|
||||
@@ -66,24 +66,40 @@ jobs:
|
||||
ref: ${{ inputs.ref || github.sha }}
|
||||
persist-credentials: false
|
||||
|
||||
- name: Create the Keystore
|
||||
env:
|
||||
KEY_JKS: ${{ secrets.KEY_JKS }}
|
||||
working-directory: ./mobile
|
||||
run: printf "%s" $KEY_JKS | base64 -d > android/key.jks
|
||||
|
||||
- uses: actions/setup-java@c5195efecf7bdfc987ee8bae7a71cb8b11521c00 # v4.7.1
|
||||
with:
|
||||
distribution: 'zulu'
|
||||
java-version: '17'
|
||||
cache: 'gradle'
|
||||
|
||||
- name: Restore Gradle Cache
|
||||
id: cache-gradle-restore
|
||||
uses: actions/cache/restore@5a3ec84eff668545956fd18022155c47e93e2684 # v4
|
||||
with:
|
||||
path: |
|
||||
~/.gradle/caches
|
||||
~/.gradle/wrapper
|
||||
~/.android/sdk
|
||||
mobile/android/.gradle
|
||||
mobile/.dart_tool
|
||||
key: build-mobile-gradle-${{ runner.os }}-main
|
||||
|
||||
- name: Setup Flutter SDK
|
||||
uses: subosito/flutter-action@e938fdf56512cc96ef2f93601a5a40bde3801046 # v2.19.0
|
||||
uses: subosito/flutter-action@fd55f4c5af5b953cc57a2be44cb082c8f6635e8e # v2.21.0
|
||||
with:
|
||||
channel: 'stable'
|
||||
flutter-version-file: ./mobile/pubspec.yaml
|
||||
cache: true
|
||||
|
||||
- name: Create the Keystore
|
||||
env:
|
||||
KEY_JKS: ${{ secrets.KEY_JKS }}
|
||||
working-directory: ./mobile
|
||||
run: echo $KEY_JKS | base64 -d > android/key.jks
|
||||
- name: Setup Android SDK
|
||||
uses: android-actions/setup-android@9fc6c4e9069bf8d3d10b2204b1fb8f6ef7065407 # v3.2.2
|
||||
with:
|
||||
packages: ''
|
||||
|
||||
- name: Get Packages
|
||||
working-directory: ./mobile
|
||||
@@ -103,12 +119,30 @@ jobs:
|
||||
ALIAS: ${{ secrets.ALIAS }}
|
||||
ANDROID_KEY_PASSWORD: ${{ secrets.ANDROID_KEY_PASSWORD }}
|
||||
ANDROID_STORE_PASSWORD: ${{ secrets.ANDROID_STORE_PASSWORD }}
|
||||
IS_MAIN: ${{ github.ref == 'refs/heads/main' }}
|
||||
run: |
|
||||
flutter build apk --release
|
||||
flutter build apk --release --split-per-abi --target-platform android-arm,android-arm64,android-x64
|
||||
if [[ $IS_MAIN == 'true' ]]; then
|
||||
flutter build apk --release --flavor production
|
||||
flutter build apk --release --flavor production --split-per-abi --target-platform android-arm,android-arm64,android-x64
|
||||
else
|
||||
flutter build apk --debug --flavor production --split-per-abi --target-platform android-arm64
|
||||
fi
|
||||
|
||||
- name: Publish Android Artifact
|
||||
uses: actions/upload-artifact@ea165f8d65b6e75b540449e92b4886f43607fa02 # v4.6.2
|
||||
with:
|
||||
name: release-apk-signed
|
||||
path: mobile/build/app/outputs/flutter-apk/*.apk
|
||||
path: mobile/build/app/outputs/flutter-apk/**/*.apk
|
||||
|
||||
- name: Save Gradle Cache
|
||||
id: cache-gradle-save
|
||||
uses: actions/cache/save@5a3ec84eff668545956fd18022155c47e93e2684 # v4
|
||||
if: github.ref == 'refs/heads/main'
|
||||
with:
|
||||
path: |
|
||||
~/.gradle/caches
|
||||
~/.gradle/wrapper
|
||||
~/.android/sdk
|
||||
mobile/android/.gradle
|
||||
mobile/.dart_tool
|
||||
key: ${{ steps.cache-gradle-restore.outputs.cache-primary-key }}
|
||||
|
||||
@@ -38,6 +38,9 @@ jobs:
|
||||
with:
|
||||
node-version-file: './cli/.nvmrc'
|
||||
registry-url: 'https://registry.npmjs.org'
|
||||
cache: 'npm'
|
||||
cache-dependency-path: '**/package-lock.json'
|
||||
|
||||
- name: Prepare SDK
|
||||
run: npm ci --prefix ../open-api/typescript-sdk/
|
||||
- name: Build SDK
|
||||
@@ -67,7 +70,7 @@ jobs:
|
||||
uses: docker/setup-qemu-action@29109295f81e9208d7d86ff1c6c12d2833863392 # v3.6.0
|
||||
|
||||
- name: Set up Docker Buildx
|
||||
uses: docker/setup-buildx-action@b5ca514318bd6ebac0fb2aedd5d36ec1b5c232a2 # v3.10.0
|
||||
uses: docker/setup-buildx-action@e468171a9de216ec08956ac3ada2f0791b6bd435 # v3.11.1
|
||||
|
||||
- name: Login to GitHub Container Registry
|
||||
uses: docker/login-action@74a5d142397b4f367a81961eba4e8cd7edddf772 # v3.4.0
|
||||
@@ -96,7 +99,7 @@ jobs:
|
||||
type=raw,value=latest,enable=${{ github.event_name == 'release' }}
|
||||
|
||||
- name: Build and push image
|
||||
uses: docker/build-push-action@1dc73863535b631f98b2378be8619f83b136f4a0 # v6.17.0
|
||||
uses: docker/build-push-action@263435318d21b8e681c14492fe198d362a7d2c83 # v6.18.0
|
||||
with:
|
||||
file: cli/Dockerfile
|
||||
platforms: linux/amd64,linux/arm64
|
||||
|
||||
@@ -50,7 +50,7 @@ jobs:
|
||||
|
||||
# Initializes the CodeQL tools for scanning.
|
||||
- name: Initialize CodeQL
|
||||
uses: github/codeql-action/init@ff0a06e83cb2de871e5a09832bc6a81e7276941f # v3.28.18
|
||||
uses: github/codeql-action/init@181d5eefc20863364f96762470ba6f862bdef56b # v3.29.2
|
||||
with:
|
||||
languages: ${{ matrix.language }}
|
||||
# If you wish to specify custom queries, you can do so here or in a config file.
|
||||
@@ -63,7 +63,7 @@ jobs:
|
||||
# Autobuild attempts to build any compiled languages (C/C++, C#, or Java).
|
||||
# If this step fails, then you should remove it and run the build manually (see below)
|
||||
- name: Autobuild
|
||||
uses: github/codeql-action/autobuild@ff0a06e83cb2de871e5a09832bc6a81e7276941f # v3.28.18
|
||||
uses: github/codeql-action/autobuild@181d5eefc20863364f96762470ba6f862bdef56b # v3.29.2
|
||||
|
||||
# тД╣я╕П Command-line programs to run using the OS shell.
|
||||
# ЁЯУЪ See https://docs.github.com/en/actions/using-workflows/workflow-syntax-for-github-actions#jobsjob_idstepsrun
|
||||
@@ -76,6 +76,6 @@ jobs:
|
||||
# ./location_of_script_within_repo/buildscript.sh
|
||||
|
||||
- name: Perform CodeQL Analysis
|
||||
uses: github/codeql-action/analyze@ff0a06e83cb2de871e5a09832bc6a81e7276941f # v3.28.18
|
||||
uses: github/codeql-action/analyze@181d5eefc20863364f96762470ba6f862bdef56b # v3.29.2
|
||||
with:
|
||||
category: '/language:${{matrix.language}}'
|
||||
|
||||
@@ -131,7 +131,7 @@ jobs:
|
||||
tag-suffix: '-rocm'
|
||||
platforms: linux/amd64
|
||||
runner-mapping: '{"linux/amd64": "mich"}'
|
||||
uses: immich-app/devtools/.github/workflows/multi-runner-build.yml@094bfb927b8cd75b343abaac27b3241be0fccfe9 # multi-runner-build-workflow-0.1.0
|
||||
uses: immich-app/devtools/.github/workflows/multi-runner-build.yml@129aeda75a450666ce96e8bc8126652e717917a7 # multi-runner-build-workflow-0.1.1
|
||||
permissions:
|
||||
contents: read
|
||||
actions: read
|
||||
@@ -154,7 +154,7 @@ jobs:
|
||||
name: Build and Push Server
|
||||
needs: pre-job
|
||||
if: ${{ needs.pre-job.outputs.should_run_server == 'true' }}
|
||||
uses: immich-app/devtools/.github/workflows/multi-runner-build.yml@094bfb927b8cd75b343abaac27b3241be0fccfe9 # multi-runner-build-workflow-0.1.0
|
||||
uses: immich-app/devtools/.github/workflows/multi-runner-build.yml@129aeda75a450666ce96e8bc8126652e717917a7 # multi-runner-build-workflow-0.1.1
|
||||
permissions:
|
||||
contents: read
|
||||
actions: read
|
||||
@@ -177,7 +177,7 @@ jobs:
|
||||
runs-on: ubuntu-latest
|
||||
if: always()
|
||||
steps:
|
||||
- uses: immich-app/devtools/actions/success-check@6b81b1572e466f7f48ba3c823159ce3f4a4d66a6 # success-check-action-0.0.3
|
||||
- uses: immich-app/devtools/actions/success-check@68f10eb389bb02a3cf9d1156111964c549eb421b # 0.0.4
|
||||
with:
|
||||
needs: ${{ toJSON(needs) }}
|
||||
|
||||
@@ -188,6 +188,6 @@ jobs:
|
||||
runs-on: ubuntu-latest
|
||||
if: always()
|
||||
steps:
|
||||
- uses: immich-app/devtools/actions/success-check@6b81b1572e466f7f48ba3c823159ce3f4a4d66a6 # success-check-action-0.0.3
|
||||
- uses: immich-app/devtools/actions/success-check@68f10eb389bb02a3cf9d1156111964c549eb421b # 0.0.4
|
||||
with:
|
||||
needs: ${{ toJSON(needs) }}
|
||||
|
||||
@@ -57,6 +57,8 @@ jobs:
|
||||
uses: actions/setup-node@49933ea5288caeca8642d1e84afbd3f7d6820020 # v4.4.0
|
||||
with:
|
||||
node-version-file: './docs/.nvmrc'
|
||||
cache: 'npm'
|
||||
cache-dependency-path: '**/package-lock.json'
|
||||
|
||||
- name: Run npm install
|
||||
run: npm ci
|
||||
|
||||
@@ -32,6 +32,8 @@ jobs:
|
||||
uses: actions/setup-node@49933ea5288caeca8642d1e84afbd3f7d6820020 # v4.4.0
|
||||
with:
|
||||
node-version-file: './server/.nvmrc'
|
||||
cache: 'npm'
|
||||
cache-dependency-path: '**/package-lock.json'
|
||||
|
||||
- name: Fix formatting
|
||||
run: make install-all && make format-all
|
||||
|
||||
@@ -0,0 +1,13 @@
|
||||
name: Org Checks
|
||||
|
||||
on:
|
||||
pull_request_review:
|
||||
pull_request:
|
||||
|
||||
jobs:
|
||||
check-approvals:
|
||||
name: Check for Team/Admin Review
|
||||
uses: immich-app/devtools/.github/workflows/required-approval.yml@main
|
||||
permissions:
|
||||
pull-requests: read
|
||||
contents: read
|
||||
@@ -14,7 +14,7 @@ jobs:
|
||||
pull-requests: write
|
||||
steps:
|
||||
- name: Require PR to have a changelog label
|
||||
uses: mheap/github-action-required-labels@fb29a14a076b0f74099f6198f77750e8fc236016 # v5.5.0
|
||||
uses: mheap/github-action-required-labels@8afbe8ae6ab7647d0c9f0cfa7c2f939650d22509 # v5.5.1
|
||||
with:
|
||||
mode: exactly
|
||||
count: 1
|
||||
|
||||
@@ -100,7 +100,7 @@ jobs:
|
||||
name: release-apk-signed
|
||||
|
||||
- name: Create draft release
|
||||
uses: softprops/action-gh-release@da05d552573ad5aba039eaac05058a918a7bf631 # v2.2.2
|
||||
uses: softprops/action-gh-release@72f2c25fcb47643c292f7107632f7a47c1df5cd8 # v2.3.2
|
||||
with:
|
||||
draft: true
|
||||
tag_name: ${{ env.IMMICH_VERSION }}
|
||||
|
||||
@@ -25,6 +25,8 @@ jobs:
|
||||
with:
|
||||
node-version-file: './open-api/typescript-sdk/.nvmrc'
|
||||
registry-url: 'https://registry.npmjs.org'
|
||||
cache: 'npm'
|
||||
cache-dependency-path: '**/package-lock.json'
|
||||
- name: Install deps
|
||||
run: npm ci
|
||||
- name: Build
|
||||
|
||||
@@ -42,6 +42,9 @@ jobs:
|
||||
runs-on: ubuntu-latest
|
||||
permissions:
|
||||
contents: read
|
||||
defaults:
|
||||
run:
|
||||
working-directory: ./mobile
|
||||
steps:
|
||||
- name: Checkout code
|
||||
uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
|
||||
@@ -49,34 +52,29 @@ jobs:
|
||||
persist-credentials: false
|
||||
|
||||
- name: Setup Flutter SDK
|
||||
uses: subosito/flutter-action@e938fdf56512cc96ef2f93601a5a40bde3801046 # v2.19.0
|
||||
uses: subosito/flutter-action@fd55f4c5af5b953cc57a2be44cb082c8f6635e8e # v2.21.0
|
||||
with:
|
||||
channel: 'stable'
|
||||
flutter-version-file: ./mobile/pubspec.yaml
|
||||
|
||||
- name: Install dependencies
|
||||
run: dart pub get
|
||||
working-directory: ./mobile
|
||||
|
||||
- name: Install DCM
|
||||
run: |
|
||||
sudo apt-get update
|
||||
wget -qO- https://dcm.dev/pgp-key.public | sudo gpg --dearmor -o /usr/share/keyrings/dcm.gpg
|
||||
echo 'deb [signed-by=/usr/share/keyrings/dcm.gpg arch=amd64] https://dcm.dev/debian stable main' | sudo tee /etc/apt/sources.list.d/dart_stable.list
|
||||
sudo apt-get update
|
||||
sudo apt-get install dcm
|
||||
uses: CQLabs/setup-dcm@8697ae0790c0852e964a6ef1d768d62a6675481a # v2.0.1
|
||||
with:
|
||||
github-token: ${{ secrets.GITHUB_TOKEN }}
|
||||
version: auto
|
||||
working-directory: ./mobile
|
||||
|
||||
- name: Generate translation file
|
||||
run: make translation
|
||||
working-directory: ./mobile
|
||||
|
||||
- name: Run Build Runner
|
||||
run: make build
|
||||
working-directory: ./mobile
|
||||
|
||||
- name: Generate platform API
|
||||
run: make pigeon
|
||||
working-directory: ./mobile
|
||||
|
||||
- name: Find file changes
|
||||
uses: tj-actions/verify-changed-files@a1c6acee9df209257a246f2cc6ae8cb6581c1edf # v20.0.4
|
||||
@@ -98,19 +96,16 @@ jobs:
|
||||
|
||||
- name: Run dart analyze
|
||||
run: dart analyze --fatal-infos
|
||||
working-directory: ./mobile
|
||||
|
||||
- name: Run dart format
|
||||
run: dart format lib/ --set-exit-if-changed
|
||||
working-directory: ./mobile
|
||||
|
||||
- name: Run dart custom_lint
|
||||
run: dart run custom_lint
|
||||
working-directory: ./mobile
|
||||
|
||||
# TODO: Use https://github.com/CQLabs/dcm-action
|
||||
- name: Run DCM
|
||||
run: dcm analyze lib
|
||||
working-directory: ./mobile
|
||||
run: dcm analyze lib --fatal-style --fatal-warnings
|
||||
|
||||
zizmor:
|
||||
name: zizmor
|
||||
@@ -134,7 +129,7 @@ jobs:
|
||||
GH_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
||||
|
||||
- name: Upload SARIF file
|
||||
uses: github/codeql-action/upload-sarif@ff0a06e83cb2de871e5a09832bc6a81e7276941f # v3.28.18
|
||||
uses: github/codeql-action/upload-sarif@181d5eefc20863364f96762470ba6f862bdef56b # v3.29.2
|
||||
with:
|
||||
sarif_file: results.sarif
|
||||
category: zizmor
|
||||
|
||||
@@ -84,6 +84,8 @@ jobs:
|
||||
uses: actions/setup-node@49933ea5288caeca8642d1e84afbd3f7d6820020 # v4.4.0
|
||||
with:
|
||||
node-version-file: './server/.nvmrc'
|
||||
cache: 'npm'
|
||||
cache-dependency-path: '**/package-lock.json'
|
||||
|
||||
- name: Run npm install
|
||||
run: npm ci
|
||||
@@ -125,6 +127,8 @@ jobs:
|
||||
uses: actions/setup-node@49933ea5288caeca8642d1e84afbd3f7d6820020 # v4.4.0
|
||||
with:
|
||||
node-version-file: './cli/.nvmrc'
|
||||
cache: 'npm'
|
||||
cache-dependency-path: '**/package-lock.json'
|
||||
|
||||
- name: Setup typescript-sdk
|
||||
run: npm ci && npm run build
|
||||
@@ -170,6 +174,8 @@ jobs:
|
||||
uses: actions/setup-node@49933ea5288caeca8642d1e84afbd3f7d6820020 # v4.4.0
|
||||
with:
|
||||
node-version-file: './cli/.nvmrc'
|
||||
cache: 'npm'
|
||||
cache-dependency-path: '**/package-lock.json'
|
||||
|
||||
- name: Setup typescript-sdk
|
||||
run: npm ci && npm run build
|
||||
@@ -208,6 +214,8 @@ jobs:
|
||||
uses: actions/setup-node@49933ea5288caeca8642d1e84afbd3f7d6820020 # v4.4.0
|
||||
with:
|
||||
node-version-file: './web/.nvmrc'
|
||||
cache: 'npm'
|
||||
cache-dependency-path: '**/package-lock.json'
|
||||
|
||||
- name: Run setup typescript-sdk
|
||||
run: npm ci && npm run build
|
||||
@@ -249,6 +257,8 @@ jobs:
|
||||
uses: actions/setup-node@49933ea5288caeca8642d1e84afbd3f7d6820020 # v4.4.0
|
||||
with:
|
||||
node-version-file: './web/.nvmrc'
|
||||
cache: 'npm'
|
||||
cache-dependency-path: '**/package-lock.json'
|
||||
|
||||
- name: Run setup typescript-sdk
|
||||
run: npm ci && npm run build
|
||||
@@ -282,6 +292,8 @@ jobs:
|
||||
uses: actions/setup-node@49933ea5288caeca8642d1e84afbd3f7d6820020 # v4.4.0
|
||||
with:
|
||||
node-version-file: './web/.nvmrc'
|
||||
cache: 'npm'
|
||||
cache-dependency-path: '**/package-lock.json'
|
||||
|
||||
- name: Install dependencies
|
||||
run: npm --prefix=web ci
|
||||
@@ -326,6 +338,8 @@ jobs:
|
||||
uses: actions/setup-node@49933ea5288caeca8642d1e84afbd3f7d6820020 # v4.4.0
|
||||
with:
|
||||
node-version-file: './e2e/.nvmrc'
|
||||
cache: 'npm'
|
||||
cache-dependency-path: '**/package-lock.json'
|
||||
|
||||
- name: Run setup typescript-sdk
|
||||
run: npm ci && npm run build
|
||||
@@ -369,6 +383,8 @@ jobs:
|
||||
uses: actions/setup-node@49933ea5288caeca8642d1e84afbd3f7d6820020 # v4.4.0
|
||||
with:
|
||||
node-version-file: './server/.nvmrc'
|
||||
cache: 'npm'
|
||||
cache-dependency-path: '**/package-lock.json'
|
||||
|
||||
- name: Run npm install
|
||||
run: npm ci
|
||||
@@ -402,6 +418,8 @@ jobs:
|
||||
uses: actions/setup-node@49933ea5288caeca8642d1e84afbd3f7d6820020 # v4.4.0
|
||||
with:
|
||||
node-version-file: './e2e/.nvmrc'
|
||||
cache: 'npm'
|
||||
cache-dependency-path: '**/package-lock.json'
|
||||
|
||||
- name: Run setup typescript-sdk
|
||||
run: npm ci && npm run build
|
||||
@@ -450,6 +468,8 @@ jobs:
|
||||
uses: actions/setup-node@49933ea5288caeca8642d1e84afbd3f7d6820020 # v4.4.0
|
||||
with:
|
||||
node-version-file: './e2e/.nvmrc'
|
||||
cache: 'npm'
|
||||
cache-dependency-path: '**/package-lock.json'
|
||||
|
||||
- name: Run setup typescript-sdk
|
||||
run: npm ci && npm run build
|
||||
@@ -479,7 +499,7 @@ jobs:
|
||||
runs-on: ubuntu-latest
|
||||
if: always()
|
||||
steps:
|
||||
- uses: immich-app/devtools/actions/success-check@6b81b1572e466f7f48ba3c823159ce3f4a4d66a6 # success-check-action-0.0.3
|
||||
- uses: immich-app/devtools/actions/success-check@68f10eb389bb02a3cf9d1156111964c549eb421b # 0.0.4
|
||||
with:
|
||||
needs: ${{ toJSON(needs) }}
|
||||
|
||||
@@ -496,7 +516,7 @@ jobs:
|
||||
persist-credentials: false
|
||||
|
||||
- name: Setup Flutter SDK
|
||||
uses: subosito/flutter-action@e938fdf56512cc96ef2f93601a5a40bde3801046 # v2.19.0
|
||||
uses: subosito/flutter-action@fd55f4c5af5b953cc57a2be44cb082c8f6635e8e # v2.21.0
|
||||
with:
|
||||
channel: 'stable'
|
||||
flutter-version-file: ./mobile/pubspec.yaml
|
||||
@@ -568,6 +588,8 @@ jobs:
|
||||
uses: actions/setup-node@49933ea5288caeca8642d1e84afbd3f7d6820020 # v4.4.0
|
||||
with:
|
||||
node-version-file: './.github/.nvmrc'
|
||||
cache: 'npm'
|
||||
cache-dependency-path: '**/package-lock.json'
|
||||
|
||||
- name: Run npm install
|
||||
run: npm ci
|
||||
@@ -587,7 +609,7 @@ jobs:
|
||||
persist-credentials: false
|
||||
|
||||
- name: Run ShellCheck
|
||||
uses: ludeeus/action-shellcheck@master
|
||||
uses: ludeeus/action-shellcheck@00cae500b08a931fb5698e11e79bfbd38e612a38 # 2.0.0
|
||||
with:
|
||||
ignore_paths: >-
|
||||
**/open-api/**
|
||||
@@ -609,6 +631,8 @@ jobs:
|
||||
uses: actions/setup-node@49933ea5288caeca8642d1e84afbd3f7d6820020 # v4.4.0
|
||||
with:
|
||||
node-version-file: './server/.nvmrc'
|
||||
cache: 'npm'
|
||||
cache-dependency-path: '**/package-lock.json'
|
||||
|
||||
- name: Install server dependencies
|
||||
run: npm --prefix=server ci
|
||||
@@ -644,7 +668,7 @@ jobs:
|
||||
contents: read
|
||||
services:
|
||||
postgres:
|
||||
image: ghcr.io/immich-app/postgres:14-vectorchord0.4.3
|
||||
image: ghcr.io/immich-app/postgres:14-vectorchord0.4.3@sha256:1f5583fe3397210a0fbc7f11b0cec18bacc4a99e3e8ea0548e9bd6bcf26ec37a
|
||||
env:
|
||||
POSTGRES_PASSWORD: postgres
|
||||
POSTGRES_USER: postgres
|
||||
@@ -670,6 +694,8 @@ jobs:
|
||||
uses: actions/setup-node@49933ea5288caeca8642d1e84afbd3f7d6820020 # v4.4.0
|
||||
with:
|
||||
node-version-file: './server/.nvmrc'
|
||||
cache: 'npm'
|
||||
cache-dependency-path: '**/package-lock.json'
|
||||
|
||||
- name: Install server dependencies
|
||||
run: npm ci
|
||||
|
||||
@@ -52,6 +52,6 @@ jobs:
|
||||
permissions: {}
|
||||
if: always()
|
||||
steps:
|
||||
- uses: immich-app/devtools/actions/success-check@6b81b1572e466f7f48ba3c823159ce3f4a4d66a6 # success-check-action-0.0.3
|
||||
- uses: immich-app/devtools/actions/success-check@68f10eb389bb02a3cf9d1156111964c549eb421b # 0.0.4
|
||||
with:
|
||||
needs: ${{ toJSON(needs) }}
|
||||
|
||||
@@ -24,3 +24,4 @@ mobile/android/fastlane/report.xml
|
||||
mobile/ios/fastlane/report.xml
|
||||
|
||||
vite.config.js.timestamp-*
|
||||
.pnpm-store
|
||||
|
||||
Vendored
+19
@@ -18,6 +18,25 @@
|
||||
"name": "Immich Workers",
|
||||
"remoteRoot": "/usr/src/app",
|
||||
"localRoot": "${workspaceFolder}/server"
|
||||
},
|
||||
{
|
||||
"name": "Flavor - Production",
|
||||
"request": "launch",
|
||||
"type": "dart",
|
||||
"codeLens": {
|
||||
"for": [
|
||||
"run-test",
|
||||
"run-test-file",
|
||||
"run-file",
|
||||
"debug-test",
|
||||
"debug-test-file",
|
||||
"debug-file",
|
||||
],
|
||||
"title": "${debugType}",
|
||||
},
|
||||
"args": [
|
||||
"--flavor", "production"
|
||||
],
|
||||
}
|
||||
]
|
||||
}
|
||||
|
||||
@@ -1,27 +1,33 @@
|
||||
dev:
|
||||
docker compose -f ./docker/docker-compose.dev.yml up --remove-orphans || make dev-down
|
||||
@trap 'make dev-down' EXIT; COMPOSE_BAKE=true docker compose -f ./docker/docker-compose.dev.yml up --remove-orphans
|
||||
|
||||
dev-down:
|
||||
docker compose -f ./docker/docker-compose.dev.yml down --remove-orphans
|
||||
|
||||
dev-update:
|
||||
docker compose -f ./docker/docker-compose.dev.yml up --build -V --remove-orphans
|
||||
@trap 'make dev-down' EXIT; COMPOSE_BAKE=true docker compose -f ./docker/docker-compose.dev.yml up --build -V --remove-orphans
|
||||
|
||||
dev-scale:
|
||||
docker compose -f ./docker/docker-compose.dev.yml up --build -V --scale immich-server=3 --remove-orphans
|
||||
@trap 'make dev-down' EXIT; COMPOSE_BAKE=true docker compose -f ./docker/docker-compose.dev.yml up --build -V --scale immich-server=3 --remove-orphans
|
||||
|
||||
.PHONY: e2e
|
||||
e2e:
|
||||
docker compose -f ./e2e/docker-compose.yml up --build -V --remove-orphans
|
||||
@trap 'make e2e-down' EXIT; COMPOSE_BAKE=true docker compose -f ./e2e/docker-compose.yml up --build -V --remove-orphans
|
||||
|
||||
e2e-update:
|
||||
@trap 'make e2e-down' EXIT; COMPOSE_BAKE=true docker compose -f ./e2e/docker-compose.yml up --build -V --remove-orphans
|
||||
|
||||
e2e-down:
|
||||
docker compose -f ./e2e/docker-compose.yml down --remove-orphans
|
||||
|
||||
prod:
|
||||
docker compose -f ./docker/docker-compose.prod.yml up --build -V --remove-orphans
|
||||
@trap 'make prod-down' EXIT; COMPOSE_BAKE=true docker compose -f ./docker/docker-compose.prod.yml up --build -V --remove-orphans
|
||||
|
||||
prod-down:
|
||||
docker compose -f ./docker/docker-compose.prod.yml down --remove-orphans
|
||||
|
||||
prod-scale:
|
||||
docker compose -f ./docker/docker-compose.prod.yml up --build -V --scale immich-server=3 --scale immich-microservices=3 --remove-orphans
|
||||
@trap 'make prod-down' EXIT; COMPOSE_BAKE=true docker compose -f ./docker/docker-compose.prod.yml up --build -V --scale immich-server=3 --scale immich-microservices=3 --remove-orphans
|
||||
|
||||
.PHONY: open-api
|
||||
open-api:
|
||||
@@ -48,6 +54,8 @@ audit-%:
|
||||
npm --prefix $(subst sdk,open-api/typescript-sdk,$*) audit fix
|
||||
install-%:
|
||||
npm --prefix $(subst sdk,open-api/typescript-sdk,$*) i
|
||||
ci-%:
|
||||
npm --prefix $(subst sdk,open-api/typescript-sdk,$*) ci
|
||||
build-cli: build-sdk
|
||||
build-web: build-sdk
|
||||
build-%: install-%
|
||||
@@ -82,6 +90,7 @@ test-medium-dev:
|
||||
|
||||
build-all: $(foreach M,$(filter-out e2e .github,$(MODULES)),build-$M) ;
|
||||
install-all: $(foreach M,$(MODULES),install-$M) ;
|
||||
ci-all: $(foreach M,$(filter-out .github,$(MODULES)),ci-$M) ;
|
||||
check-all: $(foreach M,$(filter-out sdk cli docs .github,$(MODULES)),check-$M) ;
|
||||
lint-all: $(foreach M,$(filter-out sdk docs .github,$(MODULES)),lint-$M) ;
|
||||
format-all: $(foreach M,$(filter-out sdk,$(MODULES)),format-$M) ;
|
||||
@@ -90,9 +99,12 @@ hygiene-all: lint-all format-all check-all sql audit-all;
|
||||
test-all: $(foreach M,$(filter-out sdk docs .github,$(MODULES)),test-$M) ;
|
||||
|
||||
clean:
|
||||
find . -name "node_modules" -type d -prune -exec rm -rf '{}' +
|
||||
find . -name "node_modules" -type d -prune -exec rm -rf {} +
|
||||
find . -name "dist" -type d -prune -exec rm -rf '{}' +
|
||||
find . -name "build" -type d -prune -exec rm -rf '{}' +
|
||||
find . -name "svelte-kit" -type d -prune -exec rm -rf '{}' +
|
||||
docker compose -f ./docker/docker-compose.dev.yml rm -v -f || true
|
||||
docker compose -f ./e2e/docker-compose.yml rm -v -f || true
|
||||
command -v docker >/dev/null 2>&1 && docker compose -f ./docker/docker-compose.dev.yml rm -v -f || true
|
||||
command -v docker >/dev/null 2>&1 && docker compose -f ./e2e/docker-compose.yml rm -v -f || true
|
||||
|
||||
setup-server-dev: install-server
|
||||
setup-web-dev: install-sdk build-sdk install-web
|
||||
|
||||
+1
-1
@@ -1 +1 @@
|
||||
22.16.0
|
||||
22.17.1
|
||||
|
||||
Executable
+2
@@ -0,0 +1,2 @@
|
||||
#!/usr/bin/env node
|
||||
import '../dist/index.js';
|
||||
Generated
+313
-213
@@ -16,7 +16,7 @@
|
||||
"micromatch": "^4.0.8"
|
||||
},
|
||||
"bin": {
|
||||
"immich": "dist/index.js"
|
||||
"immich": "bin/immich"
|
||||
},
|
||||
"devDependencies": {
|
||||
"@eslint/eslintrc": "^3.1.0",
|
||||
@@ -27,7 +27,7 @@
|
||||
"@types/lodash-es": "^4.17.12",
|
||||
"@types/micromatch": "^4.0.9",
|
||||
"@types/mock-fs": "^4.13.1",
|
||||
"@types/node": "^22.15.31",
|
||||
"@types/node": "^22.16.4",
|
||||
"@vitest/coverage-v8": "^3.0.0",
|
||||
"byte-size": "^9.0.0",
|
||||
"cli-progress": "^3.12.0",
|
||||
@@ -42,7 +42,7 @@
|
||||
"prettier-plugin-organize-imports": "^4.0.0",
|
||||
"typescript": "^5.3.3",
|
||||
"typescript-eslint": "^8.28.0",
|
||||
"vite": "^6.0.0",
|
||||
"vite": "^7.0.0",
|
||||
"vite-tsconfig-paths": "^5.0.0",
|
||||
"vitest": "^3.0.0",
|
||||
"vitest-fetch-mock": "^0.4.0",
|
||||
@@ -61,7 +61,7 @@
|
||||
"@oazapfts/runtime": "^1.0.2"
|
||||
},
|
||||
"devDependencies": {
|
||||
"@types/node": "^22.15.31",
|
||||
"@types/node": "^22.16.4",
|
||||
"typescript": "^5.3.3"
|
||||
}
|
||||
},
|
||||
@@ -607,9 +607,9 @@
|
||||
}
|
||||
},
|
||||
"node_modules/@eslint/config-array": {
|
||||
"version": "0.20.0",
|
||||
"resolved": "https://registry.npmjs.org/@eslint/config-array/-/config-array-0.20.0.tgz",
|
||||
"integrity": "sha512-fxlS1kkIjx8+vy2SjuCB94q3htSNrufYTXubwiBFeaQHbH6Ipi43gFJq2zCMt6PHhImH3Xmr0NksKDvchWlpQQ==",
|
||||
"version": "0.21.0",
|
||||
"resolved": "https://registry.npmjs.org/@eslint/config-array/-/config-array-0.21.0.tgz",
|
||||
"integrity": "sha512-ENIdc4iLu0d93HeYirvKmrzshzofPw6VkZRKQGe9Nv46ZnWUzcF1xV01dcvEg/1wXUR61OmmlSfyeyO7EvjLxQ==",
|
||||
"dev": true,
|
||||
"license": "Apache-2.0",
|
||||
"dependencies": {
|
||||
@@ -622,9 +622,9 @@
|
||||
}
|
||||
},
|
||||
"node_modules/@eslint/config-helpers": {
|
||||
"version": "0.2.1",
|
||||
"resolved": "https://registry.npmjs.org/@eslint/config-helpers/-/config-helpers-0.2.1.tgz",
|
||||
"integrity": "sha512-RI17tsD2frtDu/3dmI7QRrD4bedNKPM08ziRYaC5AhkGrzIAJelm9kJU1TznK+apx6V+cqRz8tfpEeG3oIyjxw==",
|
||||
"version": "0.3.0",
|
||||
"resolved": "https://registry.npmjs.org/@eslint/config-helpers/-/config-helpers-0.3.0.tgz",
|
||||
"integrity": "sha512-ViuymvFmcJi04qdZeDc2whTHryouGcDlaxPqarTD0ZE10ISpxGUVZGZDx4w01upyIynL3iu6IXH2bS1NhclQMw==",
|
||||
"dev": true,
|
||||
"license": "Apache-2.0",
|
||||
"engines": {
|
||||
@@ -682,9 +682,9 @@
|
||||
}
|
||||
},
|
||||
"node_modules/@eslint/js": {
|
||||
"version": "9.27.0",
|
||||
"resolved": "https://registry.npmjs.org/@eslint/js/-/js-9.27.0.tgz",
|
||||
"integrity": "sha512-G5JD9Tu5HJEu4z2Uo4aHY2sLV64B7CDMXxFzqzjl3NKd6RVzSXNoE80jk7Y0lJkTTkjiIhBAqmlYwjuBY3tvpA==",
|
||||
"version": "9.30.1",
|
||||
"resolved": "https://registry.npmjs.org/@eslint/js/-/js-9.30.1.tgz",
|
||||
"integrity": "sha512-zXhuECFlyep42KZUhWjfvsmXGX39W8K8LFb8AWXM9gSV9dQB+MrJGLKvW6Zw0Ggnbpw0VHTtrhFXYe3Gym18jg==",
|
||||
"dev": true,
|
||||
"license": "MIT",
|
||||
"engines": {
|
||||
@@ -1276,6 +1276,16 @@
|
||||
"dev": true,
|
||||
"license": "MIT"
|
||||
},
|
||||
"node_modules/@types/chai": {
|
||||
"version": "5.2.2",
|
||||
"resolved": "https://registry.npmjs.org/@types/chai/-/chai-5.2.2.tgz",
|
||||
"integrity": "sha512-8kB30R7Hwqf40JPiKhVzodJs2Qc1ZJ5zuT3uzw5Hq/dhNCl3G3l83jfpdI1e20BP348+fV7VIL/+FxaXkqBmWg==",
|
||||
"dev": true,
|
||||
"license": "MIT",
|
||||
"dependencies": {
|
||||
"@types/deep-eql": "*"
|
||||
}
|
||||
},
|
||||
"node_modules/@types/cli-progress": {
|
||||
"version": "3.11.6",
|
||||
"resolved": "https://registry.npmjs.org/@types/cli-progress/-/cli-progress-3.11.6.tgz",
|
||||
@@ -1286,6 +1296,13 @@
|
||||
"@types/node": "*"
|
||||
}
|
||||
},
|
||||
"node_modules/@types/deep-eql": {
|
||||
"version": "4.0.2",
|
||||
"resolved": "https://registry.npmjs.org/@types/deep-eql/-/deep-eql-4.0.2.tgz",
|
||||
"integrity": "sha512-c9h9dVVMigMPc4bwTvC5dxqtqJZwQPePsWjPlpSOnojbor6pGqdk541lfA7AqFQr5pB1BRdq0juY9db81BwyFw==",
|
||||
"dev": true,
|
||||
"license": "MIT"
|
||||
},
|
||||
"node_modules/@types/estree": {
|
||||
"version": "1.0.7",
|
||||
"resolved": "https://registry.npmjs.org/@types/estree/-/estree-1.0.7.tgz",
|
||||
@@ -1338,9 +1355,9 @@
|
||||
}
|
||||
},
|
||||
"node_modules/@types/node": {
|
||||
"version": "22.15.32",
|
||||
"resolved": "https://registry.npmjs.org/@types/node/-/node-22.15.32.tgz",
|
||||
"integrity": "sha512-3jigKqgSjsH6gYZv2nEsqdXfZqIFGAV36XYYjf9KGZ3PSG+IhLecqPnI310RvjutyMwifE2hhhNEklOUrvx/wA==",
|
||||
"version": "22.16.5",
|
||||
"resolved": "https://registry.npmjs.org/@types/node/-/node-22.16.5.tgz",
|
||||
"integrity": "sha512-bJFoMATwIGaxxx8VJPeM8TonI8t579oRvgAuT8zFugJsJZgzqv0Fu8Mhp68iecjzG7cnN3mO2dJQ5uUM2EFrgQ==",
|
||||
"dev": true,
|
||||
"license": "MIT",
|
||||
"dependencies": {
|
||||
@@ -1348,17 +1365,17 @@
|
||||
}
|
||||
},
|
||||
"node_modules/@typescript-eslint/eslint-plugin": {
|
||||
"version": "8.32.1",
|
||||
"resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-8.32.1.tgz",
|
||||
"integrity": "sha512-6u6Plg9nP/J1GRpe/vcjjabo6Uc5YQPAMxsgQyGC/I0RuukiG1wIe3+Vtg3IrSCVJDmqK3j8adrtzXSENRtFgg==",
|
||||
"version": "8.36.0",
|
||||
"resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-8.36.0.tgz",
|
||||
"integrity": "sha512-lZNihHUVB6ZZiPBNgOQGSxUASI7UJWhT8nHyUGCnaQ28XFCw98IfrMCG3rUl1uwUWoAvodJQby2KTs79UTcrAg==",
|
||||
"dev": true,
|
||||
"license": "MIT",
|
||||
"dependencies": {
|
||||
"@eslint-community/regexpp": "^4.10.0",
|
||||
"@typescript-eslint/scope-manager": "8.32.1",
|
||||
"@typescript-eslint/type-utils": "8.32.1",
|
||||
"@typescript-eslint/utils": "8.32.1",
|
||||
"@typescript-eslint/visitor-keys": "8.32.1",
|
||||
"@typescript-eslint/scope-manager": "8.36.0",
|
||||
"@typescript-eslint/type-utils": "8.36.0",
|
||||
"@typescript-eslint/utils": "8.36.0",
|
||||
"@typescript-eslint/visitor-keys": "8.36.0",
|
||||
"graphemer": "^1.4.0",
|
||||
"ignore": "^7.0.0",
|
||||
"natural-compare": "^1.4.0",
|
||||
@@ -1372,7 +1389,7 @@
|
||||
"url": "https://opencollective.com/typescript-eslint"
|
||||
},
|
||||
"peerDependencies": {
|
||||
"@typescript-eslint/parser": "^8.0.0 || ^8.0.0-alpha.0",
|
||||
"@typescript-eslint/parser": "^8.36.0",
|
||||
"eslint": "^8.57.0 || ^9.0.0",
|
||||
"typescript": ">=4.8.4 <5.9.0"
|
||||
}
|
||||
@@ -1388,16 +1405,16 @@
|
||||
}
|
||||
},
|
||||
"node_modules/@typescript-eslint/parser": {
|
||||
"version": "8.32.1",
|
||||
"resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-8.32.1.tgz",
|
||||
"integrity": "sha512-LKMrmwCPoLhM45Z00O1ulb6jwyVr2kr3XJp+G+tSEZcbauNnScewcQwtJqXDhXeYPDEjZ8C1SjXm015CirEmGg==",
|
||||
"version": "8.36.0",
|
||||
"resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-8.36.0.tgz",
|
||||
"integrity": "sha512-FuYgkHwZLuPbZjQHzJXrtXreJdFMKl16BFYyRrLxDhWr6Qr7Kbcu2s1Yhu8tsiMXw1S0W1pjfFfYEt+R604s+Q==",
|
||||
"dev": true,
|
||||
"license": "MIT",
|
||||
"dependencies": {
|
||||
"@typescript-eslint/scope-manager": "8.32.1",
|
||||
"@typescript-eslint/types": "8.32.1",
|
||||
"@typescript-eslint/typescript-estree": "8.32.1",
|
||||
"@typescript-eslint/visitor-keys": "8.32.1",
|
||||
"@typescript-eslint/scope-manager": "8.36.0",
|
||||
"@typescript-eslint/types": "8.36.0",
|
||||
"@typescript-eslint/typescript-estree": "8.36.0",
|
||||
"@typescript-eslint/visitor-keys": "8.36.0",
|
||||
"debug": "^4.3.4"
|
||||
},
|
||||
"engines": {
|
||||
@@ -1412,15 +1429,37 @@
|
||||
"typescript": ">=4.8.4 <5.9.0"
|
||||
}
|
||||
},
|
||||
"node_modules/@typescript-eslint/scope-manager": {
|
||||
"version": "8.32.1",
|
||||
"resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-8.32.1.tgz",
|
||||
"integrity": "sha512-7IsIaIDeZn7kffk7qXC3o6Z4UblZJKV3UBpkvRNpr5NSyLji7tvTcvmnMNYuYLyh26mN8W723xpo3i4MlD33vA==",
|
||||
"node_modules/@typescript-eslint/project-service": {
|
||||
"version": "8.36.0",
|
||||
"resolved": "https://registry.npmjs.org/@typescript-eslint/project-service/-/project-service-8.36.0.tgz",
|
||||
"integrity": "sha512-JAhQFIABkWccQYeLMrHadu/fhpzmSQ1F1KXkpzqiVxA/iYI6UnRt2trqXHt1sYEcw1mxLnB9rKMsOxXPxowN/g==",
|
||||
"dev": true,
|
||||
"license": "MIT",
|
||||
"dependencies": {
|
||||
"@typescript-eslint/types": "8.32.1",
|
||||
"@typescript-eslint/visitor-keys": "8.32.1"
|
||||
"@typescript-eslint/tsconfig-utils": "^8.36.0",
|
||||
"@typescript-eslint/types": "^8.36.0",
|
||||
"debug": "^4.3.4"
|
||||
},
|
||||
"engines": {
|
||||
"node": "^18.18.0 || ^20.9.0 || >=21.1.0"
|
||||
},
|
||||
"funding": {
|
||||
"type": "opencollective",
|
||||
"url": "https://opencollective.com/typescript-eslint"
|
||||
},
|
||||
"peerDependencies": {
|
||||
"typescript": ">=4.8.4 <5.9.0"
|
||||
}
|
||||
},
|
||||
"node_modules/@typescript-eslint/scope-manager": {
|
||||
"version": "8.36.0",
|
||||
"resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-8.36.0.tgz",
|
||||
"integrity": "sha512-wCnapIKnDkN62fYtTGv2+RY8FlnBYA3tNm0fm91kc2BjPhV2vIjwwozJ7LToaLAyb1ca8BxrS7vT+Pvvf7RvqA==",
|
||||
"dev": true,
|
||||
"license": "MIT",
|
||||
"dependencies": {
|
||||
"@typescript-eslint/types": "8.36.0",
|
||||
"@typescript-eslint/visitor-keys": "8.36.0"
|
||||
},
|
||||
"engines": {
|
||||
"node": "^18.18.0 || ^20.9.0 || >=21.1.0"
|
||||
@@ -1430,15 +1469,32 @@
|
||||
"url": "https://opencollective.com/typescript-eslint"
|
||||
}
|
||||
},
|
||||
"node_modules/@typescript-eslint/tsconfig-utils": {
|
||||
"version": "8.36.0",
|
||||
"resolved": "https://registry.npmjs.org/@typescript-eslint/tsconfig-utils/-/tsconfig-utils-8.36.0.tgz",
|
||||
"integrity": "sha512-Nhh3TIEgN18mNbdXpd5Q8mSCBnrZQeY9V7Ca3dqYvNDStNIGRmJA6dmrIPMJ0kow3C7gcQbpsG2rPzy1Ks/AnA==",
|
||||
"dev": true,
|
||||
"license": "MIT",
|
||||
"engines": {
|
||||
"node": "^18.18.0 || ^20.9.0 || >=21.1.0"
|
||||
},
|
||||
"funding": {
|
||||
"type": "opencollective",
|
||||
"url": "https://opencollective.com/typescript-eslint"
|
||||
},
|
||||
"peerDependencies": {
|
||||
"typescript": ">=4.8.4 <5.9.0"
|
||||
}
|
||||
},
|
||||
"node_modules/@typescript-eslint/type-utils": {
|
||||
"version": "8.32.1",
|
||||
"resolved": "https://registry.npmjs.org/@typescript-eslint/type-utils/-/type-utils-8.32.1.tgz",
|
||||
"integrity": "sha512-mv9YpQGA8iIsl5KyUPi+FGLm7+bA4fgXaeRcFKRDRwDMu4iwrSHeDPipwueNXhdIIZltwCJv+NkxftECbIZWfA==",
|
||||
"version": "8.36.0",
|
||||
"resolved": "https://registry.npmjs.org/@typescript-eslint/type-utils/-/type-utils-8.36.0.tgz",
|
||||
"integrity": "sha512-5aaGYG8cVDd6cxfk/ynpYzxBRZJk7w/ymto6uiyUFtdCozQIsQWh7M28/6r57Fwkbweng8qAzoMCPwSJfWlmsg==",
|
||||
"dev": true,
|
||||
"license": "MIT",
|
||||
"dependencies": {
|
||||
"@typescript-eslint/typescript-estree": "8.32.1",
|
||||
"@typescript-eslint/utils": "8.32.1",
|
||||
"@typescript-eslint/typescript-estree": "8.36.0",
|
||||
"@typescript-eslint/utils": "8.36.0",
|
||||
"debug": "^4.3.4",
|
||||
"ts-api-utils": "^2.1.0"
|
||||
},
|
||||
@@ -1455,9 +1511,9 @@
|
||||
}
|
||||
},
|
||||
"node_modules/@typescript-eslint/types": {
|
||||
"version": "8.32.1",
|
||||
"resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-8.32.1.tgz",
|
||||
"integrity": "sha512-YmybwXUJcgGqgAp6bEsgpPXEg6dcCyPyCSr0CAAueacR/CCBi25G3V8gGQ2kRzQRBNol7VQknxMs9HvVa9Rvfg==",
|
||||
"version": "8.36.0",
|
||||
"resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-8.36.0.tgz",
|
||||
"integrity": "sha512-xGms6l5cTJKQPZOKM75Dl9yBfNdGeLRsIyufewnxT4vZTrjC0ImQT4fj8QmtJK84F58uSh5HVBSANwcfiXxABQ==",
|
||||
"dev": true,
|
||||
"license": "MIT",
|
||||
"engines": {
|
||||
@@ -1469,14 +1525,16 @@
|
||||
}
|
||||
},
|
||||
"node_modules/@typescript-eslint/typescript-estree": {
|
||||
"version": "8.32.1",
|
||||
"resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-8.32.1.tgz",
|
||||
"integrity": "sha512-Y3AP9EIfYwBb4kWGb+simvPaqQoT5oJuzzj9m0i6FCY6SPvlomY2Ei4UEMm7+FXtlNJbor80ximyslzaQF6xhg==",
|
||||
"version": "8.36.0",
|
||||
"resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-8.36.0.tgz",
|
||||
"integrity": "sha512-JaS8bDVrfVJX4av0jLpe4ye0BpAaUW7+tnS4Y4ETa3q7NoZgzYbN9zDQTJ8kPb5fQ4n0hliAt9tA4Pfs2zA2Hg==",
|
||||
"dev": true,
|
||||
"license": "MIT",
|
||||
"dependencies": {
|
||||
"@typescript-eslint/types": "8.32.1",
|
||||
"@typescript-eslint/visitor-keys": "8.32.1",
|
||||
"@typescript-eslint/project-service": "8.36.0",
|
||||
"@typescript-eslint/tsconfig-utils": "8.36.0",
|
||||
"@typescript-eslint/types": "8.36.0",
|
||||
"@typescript-eslint/visitor-keys": "8.36.0",
|
||||
"debug": "^4.3.4",
|
||||
"fast-glob": "^3.3.2",
|
||||
"is-glob": "^4.0.3",
|
||||
@@ -1496,9 +1554,9 @@
|
||||
}
|
||||
},
|
||||
"node_modules/@typescript-eslint/typescript-estree/node_modules/brace-expansion": {
|
||||
"version": "2.0.1",
|
||||
"resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz",
|
||||
"integrity": "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==",
|
||||
"version": "2.0.2",
|
||||
"resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.2.tgz",
|
||||
"integrity": "sha512-Jt0vHyM+jmUBqojB7E1NIYadt0vI0Qxjxd2TErW94wDz+E2LAm5vKMXXwg6ZZBTHPuUlDgQHKXvjGBdfcF1ZDQ==",
|
||||
"dev": true,
|
||||
"license": "MIT",
|
||||
"dependencies": {
|
||||
@@ -1522,16 +1580,16 @@
|
||||
}
|
||||
},
|
||||
"node_modules/@typescript-eslint/utils": {
|
||||
"version": "8.32.1",
|
||||
"resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-8.32.1.tgz",
|
||||
"integrity": "sha512-DsSFNIgLSrc89gpq1LJB7Hm1YpuhK086DRDJSNrewcGvYloWW1vZLHBTIvarKZDcAORIy/uWNx8Gad+4oMpkSA==",
|
||||
"version": "8.36.0",
|
||||
"resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-8.36.0.tgz",
|
||||
"integrity": "sha512-VOqmHu42aEMT+P2qYjylw6zP/3E/HvptRwdn/PZxyV27KhZg2IOszXod4NcXisWzPAGSS4trE/g4moNj6XmH2g==",
|
||||
"dev": true,
|
||||
"license": "MIT",
|
||||
"dependencies": {
|
||||
"@eslint-community/eslint-utils": "^4.7.0",
|
||||
"@typescript-eslint/scope-manager": "8.32.1",
|
||||
"@typescript-eslint/types": "8.32.1",
|
||||
"@typescript-eslint/typescript-estree": "8.32.1"
|
||||
"@typescript-eslint/scope-manager": "8.36.0",
|
||||
"@typescript-eslint/types": "8.36.0",
|
||||
"@typescript-eslint/typescript-estree": "8.36.0"
|
||||
},
|
||||
"engines": {
|
||||
"node": "^18.18.0 || ^20.9.0 || >=21.1.0"
|
||||
@@ -1546,14 +1604,14 @@
|
||||
}
|
||||
},
|
||||
"node_modules/@typescript-eslint/visitor-keys": {
|
||||
"version": "8.32.1",
|
||||
"resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-8.32.1.tgz",
|
||||
"integrity": "sha512-ar0tjQfObzhSaW3C3QNmTc5ofj0hDoNQ5XWrCy6zDyabdr0TWhCkClp+rywGNj/odAFBVzzJrK4tEq5M4Hmu4w==",
|
||||
"version": "8.36.0",
|
||||
"resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-8.36.0.tgz",
|
||||
"integrity": "sha512-vZrhV2lRPWDuGoxcmrzRZyxAggPL+qp3WzUrlZD+slFueDiYHxeBa34dUXPuC0RmGKzl4lS5kFJYvKCq9cnNDA==",
|
||||
"dev": true,
|
||||
"license": "MIT",
|
||||
"dependencies": {
|
||||
"@typescript-eslint/types": "8.32.1",
|
||||
"eslint-visitor-keys": "^4.2.0"
|
||||
"@typescript-eslint/types": "8.36.0",
|
||||
"eslint-visitor-keys": "^4.2.1"
|
||||
},
|
||||
"engines": {
|
||||
"node": "^18.18.0 || ^20.9.0 || >=21.1.0"
|
||||
@@ -1564,15 +1622,16 @@
|
||||
}
|
||||
},
|
||||
"node_modules/@vitest/coverage-v8": {
|
||||
"version": "3.1.4",
|
||||
"resolved": "https://registry.npmjs.org/@vitest/coverage-v8/-/coverage-v8-3.1.4.tgz",
|
||||
"integrity": "sha512-G4p6OtioySL+hPV7Y6JHlhpsODbJzt1ndwHAFkyk6vVjpK03PFsKnauZIzcd0PrK4zAbc5lc+jeZ+eNGiMA+iw==",
|
||||
"version": "3.2.4",
|
||||
"resolved": "https://registry.npmjs.org/@vitest/coverage-v8/-/coverage-v8-3.2.4.tgz",
|
||||
"integrity": "sha512-EyF9SXU6kS5Ku/U82E259WSnvg6c8KTjppUncuNdm5QHpe17mwREHnjDzozC8x9MZ0xfBUFSaLkRv4TMA75ALQ==",
|
||||
"dev": true,
|
||||
"license": "MIT",
|
||||
"dependencies": {
|
||||
"@ampproject/remapping": "^2.3.0",
|
||||
"@bcoe/v8-coverage": "^1.0.2",
|
||||
"debug": "^4.4.0",
|
||||
"ast-v8-to-istanbul": "^0.3.3",
|
||||
"debug": "^4.4.1",
|
||||
"istanbul-lib-coverage": "^3.2.2",
|
||||
"istanbul-lib-report": "^3.0.1",
|
||||
"istanbul-lib-source-maps": "^5.0.6",
|
||||
@@ -1587,8 +1646,8 @@
|
||||
"url": "https://opencollective.com/vitest"
|
||||
},
|
||||
"peerDependencies": {
|
||||
"@vitest/browser": "3.1.4",
|
||||
"vitest": "3.1.4"
|
||||
"@vitest/browser": "3.2.4",
|
||||
"vitest": "3.2.4"
|
||||
},
|
||||
"peerDependenciesMeta": {
|
||||
"@vitest/browser": {
|
||||
@@ -1597,14 +1656,15 @@
|
||||
}
|
||||
},
|
||||
"node_modules/@vitest/expect": {
|
||||
"version": "3.1.4",
|
||||
"resolved": "https://registry.npmjs.org/@vitest/expect/-/expect-3.1.4.tgz",
|
||||
"integrity": "sha512-xkD/ljeliyaClDYqHPNCiJ0plY5YIcM0OlRiZizLhlPmpXWpxnGMyTZXOHFhFeG7w9P5PBeL4IdtJ/HeQwTbQA==",
|
||||
"version": "3.2.4",
|
||||
"resolved": "https://registry.npmjs.org/@vitest/expect/-/expect-3.2.4.tgz",
|
||||
"integrity": "sha512-Io0yyORnB6sikFlt8QW5K7slY4OjqNX9jmJQ02QDda8lyM6B5oNgVWoSoKPac8/kgnCUzuHQKrSLtu/uOqqrig==",
|
||||
"dev": true,
|
||||
"license": "MIT",
|
||||
"dependencies": {
|
||||
"@vitest/spy": "3.1.4",
|
||||
"@vitest/utils": "3.1.4",
|
||||
"@types/chai": "^5.2.2",
|
||||
"@vitest/spy": "3.2.4",
|
||||
"@vitest/utils": "3.2.4",
|
||||
"chai": "^5.2.0",
|
||||
"tinyrainbow": "^2.0.0"
|
||||
},
|
||||
@@ -1613,13 +1673,13 @@
|
||||
}
|
||||
},
|
||||
"node_modules/@vitest/mocker": {
|
||||
"version": "3.1.4",
|
||||
"resolved": "https://registry.npmjs.org/@vitest/mocker/-/mocker-3.1.4.tgz",
|
||||
"integrity": "sha512-8IJ3CvwtSw/EFXqWFL8aCMu+YyYXG2WUSrQbViOZkWTKTVicVwZ/YiEZDSqD00kX+v/+W+OnxhNWoeVKorHygA==",
|
||||
"version": "3.2.4",
|
||||
"resolved": "https://registry.npmjs.org/@vitest/mocker/-/mocker-3.2.4.tgz",
|
||||
"integrity": "sha512-46ryTE9RZO/rfDd7pEqFl7etuyzekzEhUbTW3BvmeO/BcCMEgq59BKhek3dXDWgAj4oMK6OZi+vRr1wPW6qjEQ==",
|
||||
"dev": true,
|
||||
"license": "MIT",
|
||||
"dependencies": {
|
||||
"@vitest/spy": "3.1.4",
|
||||
"@vitest/spy": "3.2.4",
|
||||
"estree-walker": "^3.0.3",
|
||||
"magic-string": "^0.30.17"
|
||||
},
|
||||
@@ -1628,7 +1688,7 @@
|
||||
},
|
||||
"peerDependencies": {
|
||||
"msw": "^2.4.9",
|
||||
"vite": "^5.0.0 || ^6.0.0"
|
||||
"vite": "^5.0.0 || ^6.0.0 || ^7.0.0-0"
|
||||
},
|
||||
"peerDependenciesMeta": {
|
||||
"msw": {
|
||||
@@ -1640,9 +1700,9 @@
|
||||
}
|
||||
},
|
||||
"node_modules/@vitest/pretty-format": {
|
||||
"version": "3.1.4",
|
||||
"resolved": "https://registry.npmjs.org/@vitest/pretty-format/-/pretty-format-3.1.4.tgz",
|
||||
"integrity": "sha512-cqv9H9GvAEoTaoq+cYqUTCGscUjKqlJZC7PRwY5FMySVj5J+xOm1KQcCiYHJOEzOKRUhLH4R2pTwvFlWCEScsg==",
|
||||
"version": "3.2.4",
|
||||
"resolved": "https://registry.npmjs.org/@vitest/pretty-format/-/pretty-format-3.2.4.tgz",
|
||||
"integrity": "sha512-IVNZik8IVRJRTr9fxlitMKeJeXFFFN0JaB9PHPGQ8NKQbGpfjlTx9zO4RefN8gp7eqjNy8nyK3NZmBzOPeIxtA==",
|
||||
"dev": true,
|
||||
"license": "MIT",
|
||||
"dependencies": {
|
||||
@@ -1653,27 +1713,28 @@
|
||||
}
|
||||
},
|
||||
"node_modules/@vitest/runner": {
|
||||
"version": "3.1.4",
|
||||
"resolved": "https://registry.npmjs.org/@vitest/runner/-/runner-3.1.4.tgz",
|
||||
"integrity": "sha512-djTeF1/vt985I/wpKVFBMWUlk/I7mb5hmD5oP8K9ACRmVXgKTae3TUOtXAEBfslNKPzUQvnKhNd34nnRSYgLNQ==",
|
||||
"version": "3.2.4",
|
||||
"resolved": "https://registry.npmjs.org/@vitest/runner/-/runner-3.2.4.tgz",
|
||||
"integrity": "sha512-oukfKT9Mk41LreEW09vt45f8wx7DordoWUZMYdY/cyAk7w5TWkTRCNZYF7sX7n2wB7jyGAl74OxgwhPgKaqDMQ==",
|
||||
"dev": true,
|
||||
"license": "MIT",
|
||||
"dependencies": {
|
||||
"@vitest/utils": "3.1.4",
|
||||
"pathe": "^2.0.3"
|
||||
"@vitest/utils": "3.2.4",
|
||||
"pathe": "^2.0.3",
|
||||
"strip-literal": "^3.0.0"
|
||||
},
|
||||
"funding": {
|
||||
"url": "https://opencollective.com/vitest"
|
||||
}
|
||||
},
|
||||
"node_modules/@vitest/snapshot": {
|
||||
"version": "3.1.4",
|
||||
"resolved": "https://registry.npmjs.org/@vitest/snapshot/-/snapshot-3.1.4.tgz",
|
||||
"integrity": "sha512-JPHf68DvuO7vilmvwdPr9TS0SuuIzHvxeaCkxYcCD4jTk67XwL45ZhEHFKIuCm8CYstgI6LZ4XbwD6ANrwMpFg==",
|
||||
"version": "3.2.4",
|
||||
"resolved": "https://registry.npmjs.org/@vitest/snapshot/-/snapshot-3.2.4.tgz",
|
||||
"integrity": "sha512-dEYtS7qQP2CjU27QBC5oUOxLE/v5eLkGqPE0ZKEIDGMs4vKWe7IjgLOeauHsR0D5YuuycGRO5oSRXnwnmA78fQ==",
|
||||
"dev": true,
|
||||
"license": "MIT",
|
||||
"dependencies": {
|
||||
"@vitest/pretty-format": "3.1.4",
|
||||
"@vitest/pretty-format": "3.2.4",
|
||||
"magic-string": "^0.30.17",
|
||||
"pathe": "^2.0.3"
|
||||
},
|
||||
@@ -1682,27 +1743,27 @@
|
||||
}
|
||||
},
|
||||
"node_modules/@vitest/spy": {
|
||||
"version": "3.1.4",
|
||||
"resolved": "https://registry.npmjs.org/@vitest/spy/-/spy-3.1.4.tgz",
|
||||
"integrity": "sha512-Xg1bXhu+vtPXIodYN369M86K8shGLouNjoVI78g8iAq2rFoHFdajNvJJ5A/9bPMFcfQqdaCpOgWKEoMQg/s0Yg==",
|
||||
"version": "3.2.4",
|
||||
"resolved": "https://registry.npmjs.org/@vitest/spy/-/spy-3.2.4.tgz",
|
||||
"integrity": "sha512-vAfasCOe6AIK70iP5UD11Ac4siNUNJ9i/9PZ3NKx07sG6sUxeag1LWdNrMWeKKYBLlzuK+Gn65Yd5nyL6ds+nw==",
|
||||
"dev": true,
|
||||
"license": "MIT",
|
||||
"dependencies": {
|
||||
"tinyspy": "^3.0.2"
|
||||
"tinyspy": "^4.0.3"
|
||||
},
|
||||
"funding": {
|
||||
"url": "https://opencollective.com/vitest"
|
||||
}
|
||||
},
|
||||
"node_modules/@vitest/utils": {
|
||||
"version": "3.1.4",
|
||||
"resolved": "https://registry.npmjs.org/@vitest/utils/-/utils-3.1.4.tgz",
|
||||
"integrity": "sha512-yriMuO1cfFhmiGc8ataN51+9ooHRuURdfAZfwFd3usWynjzpLslZdYnRegTv32qdgtJTsj15FoeZe2g15fY1gg==",
|
||||
"version": "3.2.4",
|
||||
"resolved": "https://registry.npmjs.org/@vitest/utils/-/utils-3.2.4.tgz",
|
||||
"integrity": "sha512-fB2V0JFrQSMsCo9HiSq3Ezpdv4iYaXRG1Sx8edX3MwxfyNn83mKiGzOcH+Fkxt4MHxr3y42fQi1oeAInqgX2QA==",
|
||||
"dev": true,
|
||||
"license": "MIT",
|
||||
"dependencies": {
|
||||
"@vitest/pretty-format": "3.1.4",
|
||||
"loupe": "^3.1.3",
|
||||
"@vitest/pretty-format": "3.2.4",
|
||||
"loupe": "^3.1.4",
|
||||
"tinyrainbow": "^2.0.0"
|
||||
},
|
||||
"funding": {
|
||||
@@ -1710,9 +1771,9 @@
|
||||
}
|
||||
},
|
||||
"node_modules/acorn": {
|
||||
"version": "8.14.1",
|
||||
"resolved": "https://registry.npmjs.org/acorn/-/acorn-8.14.1.tgz",
|
||||
"integrity": "sha512-OvQ/2pUDKmgfCg++xsTX1wGxfTaszcHVcTctW4UJB4hibJx2HXxxO5UmVgyjMa+ZDsiaf5wWLXYpRWMmBI0QHg==",
|
||||
"version": "8.15.0",
|
||||
"resolved": "https://registry.npmjs.org/acorn/-/acorn-8.15.0.tgz",
|
||||
"integrity": "sha512-NZyJarBfL7nWwIq+FDL6Zp/yHEhePMNnnJ0y3qfieCrmNvYct8uvtiV41UvlSe6apAfk0fY1FbWx+NwfmpvtTg==",
|
||||
"dev": true,
|
||||
"license": "MIT",
|
||||
"bin": {
|
||||
@@ -1792,6 +1853,18 @@
|
||||
"node": ">=12"
|
||||
}
|
||||
},
|
||||
"node_modules/ast-v8-to-istanbul": {
|
||||
"version": "0.3.3",
|
||||
"resolved": "https://registry.npmjs.org/ast-v8-to-istanbul/-/ast-v8-to-istanbul-0.3.3.tgz",
|
||||
"integrity": "sha512-MuXMrSLVVoA6sYN/6Hke18vMzrT4TZNbZIj/hvh0fnYFpO+/kFXcLIaiPwXXWaQUPg4yJD8fj+lfJ7/1EBconw==",
|
||||
"dev": true,
|
||||
"license": "MIT",
|
||||
"dependencies": {
|
||||
"@jridgewell/trace-mapping": "^0.3.25",
|
||||
"estree-walker": "^3.0.3",
|
||||
"js-tokens": "^9.0.1"
|
||||
}
|
||||
},
|
||||
"node_modules/balanced-match": {
|
||||
"version": "1.0.2",
|
||||
"resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz",
|
||||
@@ -2105,9 +2178,9 @@
|
||||
}
|
||||
},
|
||||
"node_modules/debug": {
|
||||
"version": "4.4.0",
|
||||
"resolved": "https://registry.npmjs.org/debug/-/debug-4.4.0.tgz",
|
||||
"integrity": "sha512-6WTZ/IxCY/T6BALoZHaE4ctp9xm+Z5kY/pzYaCHRFeyVhojxlrm+46y68HA6hr0TcwEssoxNiDEUJQjfPZ/RYA==",
|
||||
"version": "4.4.1",
|
||||
"resolved": "https://registry.npmjs.org/debug/-/debug-4.4.1.tgz",
|
||||
"integrity": "sha512-KcKCqiftBJcZr++7ykoDIEwSa3XWowTfNPo92BYxjXiyYEVrUQh2aLyhxBCwww+heortUFxEJYcRzosstTEBYQ==",
|
||||
"dev": true,
|
||||
"license": "MIT",
|
||||
"dependencies": {
|
||||
@@ -2232,19 +2305,19 @@
|
||||
}
|
||||
},
|
||||
"node_modules/eslint": {
|
||||
"version": "9.27.0",
|
||||
"resolved": "https://registry.npmjs.org/eslint/-/eslint-9.27.0.tgz",
|
||||
"integrity": "sha512-ixRawFQuMB9DZ7fjU3iGGganFDp3+45bPOdaRurcFHSXO1e/sYwUX/FtQZpLZJR6SjMoJH8hR2pPEAfDyCoU2Q==",
|
||||
"version": "9.30.1",
|
||||
"resolved": "https://registry.npmjs.org/eslint/-/eslint-9.30.1.tgz",
|
||||
"integrity": "sha512-zmxXPNMOXmwm9E0yQLi5uqXHs7uq2UIiqEKo3Gq+3fwo1XrJ+hijAZImyF7hclW3E6oHz43Yk3RP8at6OTKflQ==",
|
||||
"dev": true,
|
||||
"license": "MIT",
|
||||
"dependencies": {
|
||||
"@eslint-community/eslint-utils": "^4.2.0",
|
||||
"@eslint-community/regexpp": "^4.12.1",
|
||||
"@eslint/config-array": "^0.20.0",
|
||||
"@eslint/config-helpers": "^0.2.1",
|
||||
"@eslint/config-array": "^0.21.0",
|
||||
"@eslint/config-helpers": "^0.3.0",
|
||||
"@eslint/core": "^0.14.0",
|
||||
"@eslint/eslintrc": "^3.3.1",
|
||||
"@eslint/js": "9.27.0",
|
||||
"@eslint/js": "9.30.1",
|
||||
"@eslint/plugin-kit": "^0.3.1",
|
||||
"@humanfs/node": "^0.16.6",
|
||||
"@humanwhocodes/module-importer": "^1.0.1",
|
||||
@@ -2256,9 +2329,9 @@
|
||||
"cross-spawn": "^7.0.6",
|
||||
"debug": "^4.3.2",
|
||||
"escape-string-regexp": "^4.0.0",
|
||||
"eslint-scope": "^8.3.0",
|
||||
"eslint-visitor-keys": "^4.2.0",
|
||||
"espree": "^10.3.0",
|
||||
"eslint-scope": "^8.4.0",
|
||||
"eslint-visitor-keys": "^4.2.1",
|
||||
"espree": "^10.4.0",
|
||||
"esquery": "^1.5.0",
|
||||
"esutils": "^2.0.2",
|
||||
"fast-deep-equal": "^3.1.3",
|
||||
@@ -2309,14 +2382,14 @@
|
||||
}
|
||||
},
|
||||
"node_modules/eslint-plugin-prettier": {
|
||||
"version": "5.4.0",
|
||||
"resolved": "https://registry.npmjs.org/eslint-plugin-prettier/-/eslint-plugin-prettier-5.4.0.tgz",
|
||||
"integrity": "sha512-BvQOvUhkVQM1i63iMETK9Hjud9QhqBnbtT1Zc642p9ynzBuCe5pybkOnvqZIBypXmMlsGcnU4HZ8sCTPfpAexA==",
|
||||
"version": "5.5.1",
|
||||
"resolved": "https://registry.npmjs.org/eslint-plugin-prettier/-/eslint-plugin-prettier-5.5.1.tgz",
|
||||
"integrity": "sha512-dobTkHT6XaEVOo8IO90Q4DOSxnm3Y151QxPJlM/vKC0bVy+d6cVWQZLlFiuZPP0wS6vZwSKeJgKkcS+KfMBlRw==",
|
||||
"dev": true,
|
||||
"license": "MIT",
|
||||
"dependencies": {
|
||||
"prettier-linter-helpers": "^1.0.0",
|
||||
"synckit": "^0.11.0"
|
||||
"synckit": "^0.11.7"
|
||||
},
|
||||
"engines": {
|
||||
"node": "^14.18.0 || >=16.0.0"
|
||||
@@ -2402,9 +2475,9 @@
|
||||
}
|
||||
},
|
||||
"node_modules/eslint-scope": {
|
||||
"version": "8.3.0",
|
||||
"resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-8.3.0.tgz",
|
||||
"integrity": "sha512-pUNxi75F8MJ/GdeKtVLSbYg4ZI34J6C0C7sbL4YOp2exGwen7ZsuBqKzUhXd0qMQ362yET3z+uPwKeg/0C2XCQ==",
|
||||
"version": "8.4.0",
|
||||
"resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-8.4.0.tgz",
|
||||
"integrity": "sha512-sNXOfKCn74rt8RICKMvJS7XKV/Xk9kA7DyJr8mJik3S7Cwgy3qlkkmyS2uQB3jiJg6VNdZd/pDBJu0nvG2NlTg==",
|
||||
"dev": true,
|
||||
"license": "BSD-2-Clause",
|
||||
"dependencies": {
|
||||
@@ -2419,9 +2492,9 @@
|
||||
}
|
||||
},
|
||||
"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==",
|
||||
"version": "4.2.1",
|
||||
"resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-4.2.1.tgz",
|
||||
"integrity": "sha512-Uhdk5sfqcee/9H/rCOJikYz67o0a2Tw2hGRPOG2Y1R2dg7brRe1uG0yaNQDHu+TO/uQPF/5eCapvYSmHUjt7JQ==",
|
||||
"dev": true,
|
||||
"license": "Apache-2.0",
|
||||
"engines": {
|
||||
@@ -2432,15 +2505,15 @@
|
||||
}
|
||||
},
|
||||
"node_modules/espree": {
|
||||
"version": "10.3.0",
|
||||
"resolved": "https://registry.npmjs.org/espree/-/espree-10.3.0.tgz",
|
||||
"integrity": "sha512-0QYC8b24HWY8zjRnDTL6RiHfDbAWn63qb4LMj1Z4b076A4une81+z03Kg7l7mn/48PUTqoLptSXez8oknU8Clg==",
|
||||
"version": "10.4.0",
|
||||
"resolved": "https://registry.npmjs.org/espree/-/espree-10.4.0.tgz",
|
||||
"integrity": "sha512-j6PAQ2uUr79PZhBjP5C5fhl8e39FmRnOjsD5lGnWrFU8i2G776tBK7+nP8KuQUTTyAZUwfQqXAgrVH5MbH9CYQ==",
|
||||
"dev": true,
|
||||
"license": "BSD-2-Clause",
|
||||
"dependencies": {
|
||||
"acorn": "^8.14.0",
|
||||
"acorn": "^8.15.0",
|
||||
"acorn-jsx": "^5.3.2",
|
||||
"eslint-visitor-keys": "^4.2.0"
|
||||
"eslint-visitor-keys": "^4.2.1"
|
||||
},
|
||||
"engines": {
|
||||
"node": "^18.18.0 || ^20.9.0 || >=21.1.0"
|
||||
@@ -2749,9 +2822,9 @@
|
||||
}
|
||||
},
|
||||
"node_modules/globals": {
|
||||
"version": "16.1.0",
|
||||
"resolved": "https://registry.npmjs.org/globals/-/globals-16.1.0.tgz",
|
||||
"integrity": "sha512-aibexHNbb/jiUSObBgpHLj+sIuUmJnYcgXBlrfsiDZ9rt4aF2TFRbyLgZ2iFQuVZ1K5Mx3FVkbKRSgKrbK3K2g==",
|
||||
"version": "16.3.0",
|
||||
"resolved": "https://registry.npmjs.org/globals/-/globals-16.3.0.tgz",
|
||||
"integrity": "sha512-bqWEnJ1Nt3neqx2q5SFfGS8r/ahumIakg3HcwtNlrVlwXIeNumWn/c7Pn/wKzGhf6SaW6H6uWXLqC30STCMchQ==",
|
||||
"dev": true,
|
||||
"license": "MIT",
|
||||
"engines": {
|
||||
@@ -2975,6 +3048,13 @@
|
||||
"@pkgjs/parseargs": "^0.11.0"
|
||||
}
|
||||
},
|
||||
"node_modules/js-tokens": {
|
||||
"version": "9.0.1",
|
||||
"resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-9.0.1.tgz",
|
||||
"integrity": "sha512-mxa9E9ITFOt0ban3j6L5MpjwegGz6lBQmM1IJkWeBZGcMxto50+eWdjC/52xDbS2vy0k7vIMK0Fe2wfL9OQSpQ==",
|
||||
"dev": true,
|
||||
"license": "MIT"
|
||||
},
|
||||
"node_modules/js-yaml": {
|
||||
"version": "4.1.0",
|
||||
"resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-4.1.0.tgz",
|
||||
@@ -3076,9 +3156,9 @@
|
||||
"license": "MIT"
|
||||
},
|
||||
"node_modules/loupe": {
|
||||
"version": "3.1.3",
|
||||
"resolved": "https://registry.npmjs.org/loupe/-/loupe-3.1.3.tgz",
|
||||
"integrity": "sha512-kkIp7XSkP78ZxJEsSxW3712C6teJVoeHHwgo9zJ380de7IYyJ2ISlxojcH2pC5OFLewESmnRi/+XCDIEEVyoug==",
|
||||
"version": "3.1.4",
|
||||
"resolved": "https://registry.npmjs.org/loupe/-/loupe-3.1.4.tgz",
|
||||
"integrity": "sha512-wJzkKwJrheKtknCOKNEtDK4iqg/MxmZheEMtSTYvnzRdEYaZzmgH976nenp8WdJRdx5Vc1X/9MO0Oszl6ezeXg==",
|
||||
"dev": true,
|
||||
"license": "MIT"
|
||||
},
|
||||
@@ -3347,9 +3427,9 @@
|
||||
"license": "MIT"
|
||||
},
|
||||
"node_modules/pathval": {
|
||||
"version": "2.0.0",
|
||||
"resolved": "https://registry.npmjs.org/pathval/-/pathval-2.0.0.tgz",
|
||||
"integrity": "sha512-vE7JKRyES09KiunauX7nd2Q9/L7lhok4smP9RZTDeD4MVs72Dp2qNFVz39Nz5a0FVEW0BJR6C0DYrq6unoziZA==",
|
||||
"version": "2.0.1",
|
||||
"resolved": "https://registry.npmjs.org/pathval/-/pathval-2.0.1.tgz",
|
||||
"integrity": "sha512-//nshmD55c46FuFw26xV/xFAaB5HF9Xdap7HJBBnrKdAd6/GxDBaNA1870O79+9ueg61cZLSVc+OaFlfmObYVQ==",
|
||||
"dev": true,
|
||||
"license": "MIT",
|
||||
"engines": {
|
||||
@@ -3386,9 +3466,9 @@
|
||||
}
|
||||
},
|
||||
"node_modules/postcss": {
|
||||
"version": "8.5.3",
|
||||
"resolved": "https://registry.npmjs.org/postcss/-/postcss-8.5.3.tgz",
|
||||
"integrity": "sha512-dle9A3yYxlBSrt8Fu+IpjGT8SY8hN0mlaA6GY8t0P5PjIOZemULz/E2Bnm/2dcUOena75OTNkHI76uZBNUUq3A==",
|
||||
"version": "8.5.6",
|
||||
"resolved": "https://registry.npmjs.org/postcss/-/postcss-8.5.6.tgz",
|
||||
"integrity": "sha512-3Ybi1tAuwAP9s0r1UQ2J4n5Y0G05bJkpUIO0/bI9MhwmD70S5aTWbXGBwxHrelT+XM1k6dM0pk+SwNkpTRN7Pg==",
|
||||
"dev": true,
|
||||
"funding": [
|
||||
{
|
||||
@@ -3406,7 +3486,7 @@
|
||||
],
|
||||
"license": "MIT",
|
||||
"dependencies": {
|
||||
"nanoid": "^3.3.8",
|
||||
"nanoid": "^3.3.11",
|
||||
"picocolors": "^1.1.1",
|
||||
"source-map-js": "^1.2.1"
|
||||
},
|
||||
@@ -3425,9 +3505,9 @@
|
||||
}
|
||||
},
|
||||
"node_modules/prettier": {
|
||||
"version": "3.5.3",
|
||||
"resolved": "https://registry.npmjs.org/prettier/-/prettier-3.5.3.tgz",
|
||||
"integrity": "sha512-QQtaxnoDJeAkDvDKWCLiwIXkTgRhwYDEQCghU9Z6q03iyek/rxRh/2lC3HB7P8sWT2xC/y5JDctPLBIGzHKbhw==",
|
||||
"version": "3.6.2",
|
||||
"resolved": "https://registry.npmjs.org/prettier/-/prettier-3.6.2.tgz",
|
||||
"integrity": "sha512-I7AIg5boAr5R0FFtJ6rCfD+LFsWHp81dolrFD8S79U9tb8Az2nGrJncnMSnys+bpQJfRUzqs9hnA81OAA3hCuQ==",
|
||||
"dev": true,
|
||||
"license": "MIT",
|
||||
"bin": {
|
||||
@@ -3799,6 +3879,19 @@
|
||||
"url": "https://github.com/sponsors/sindresorhus"
|
||||
}
|
||||
},
|
||||
"node_modules/strip-literal": {
|
||||
"version": "3.0.0",
|
||||
"resolved": "https://registry.npmjs.org/strip-literal/-/strip-literal-3.0.0.tgz",
|
||||
"integrity": "sha512-TcccoMhJOM3OebGhSBEmp3UZ2SfDMZUEBdRA/9ynfLi8yYajyWX3JiXArcJt4Umh4vISpspkQIY8ZZoCqjbviA==",
|
||||
"dev": true,
|
||||
"license": "MIT",
|
||||
"dependencies": {
|
||||
"js-tokens": "^9.0.1"
|
||||
},
|
||||
"funding": {
|
||||
"url": "https://github.com/sponsors/antfu"
|
||||
}
|
||||
},
|
||||
"node_modules/supports-color": {
|
||||
"version": "7.2.0",
|
||||
"resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz",
|
||||
@@ -3813,14 +3906,13 @@
|
||||
}
|
||||
},
|
||||
"node_modules/synckit": {
|
||||
"version": "0.11.4",
|
||||
"resolved": "https://registry.npmjs.org/synckit/-/synckit-0.11.4.tgz",
|
||||
"integrity": "sha512-Q/XQKRaJiLiFIBNN+mndW7S/RHxvwzuZS6ZwmRzUBqJBv/5QIKCEwkBC8GBf8EQJKYnaFs0wOZbKTXBPj8L9oQ==",
|
||||
"version": "0.11.8",
|
||||
"resolved": "https://registry.npmjs.org/synckit/-/synckit-0.11.8.tgz",
|
||||
"integrity": "sha512-+XZ+r1XGIJGeQk3VvXhT6xx/VpbHsRzsTkGgF6E5RX9TTXD0118l87puaEBZ566FhqblC6U0d4XnubznJDm30A==",
|
||||
"dev": true,
|
||||
"license": "MIT",
|
||||
"dependencies": {
|
||||
"@pkgr/core": "^0.2.3",
|
||||
"tslib": "^2.8.1"
|
||||
"@pkgr/core": "^0.2.4"
|
||||
},
|
||||
"engines": {
|
||||
"node": "^14.18.0 || >=16.0.0"
|
||||
@@ -3885,9 +3977,9 @@
|
||||
"license": "MIT"
|
||||
},
|
||||
"node_modules/tinyglobby": {
|
||||
"version": "0.2.13",
|
||||
"resolved": "https://registry.npmjs.org/tinyglobby/-/tinyglobby-0.2.13.tgz",
|
||||
"integrity": "sha512-mEwzpUgrLySlveBwEVDMKk5B57bhLPYovRfPAXD5gA/98Opn0rCDj3GtLwFvCvH5RK9uPCExUROW5NjDwvqkxw==",
|
||||
"version": "0.2.14",
|
||||
"resolved": "https://registry.npmjs.org/tinyglobby/-/tinyglobby-0.2.14.tgz",
|
||||
"integrity": "sha512-tX5e7OM1HnYr2+a2C/4V0htOcSQcoSTH9KgJnVvNm5zm/cyEWKJ7j7YutsH9CxMdtOkkLFy2AHrMci9IM8IPZQ==",
|
||||
"dev": true,
|
||||
"license": "MIT",
|
||||
"dependencies": {
|
||||
@@ -3930,9 +4022,9 @@
|
||||
}
|
||||
},
|
||||
"node_modules/tinypool": {
|
||||
"version": "1.0.2",
|
||||
"resolved": "https://registry.npmjs.org/tinypool/-/tinypool-1.0.2.tgz",
|
||||
"integrity": "sha512-al6n+QEANGFOMf/dmUMsuS5/r9B06uwlyNjZZql/zv8J7ybHCgoihBNORZCY2mzUuAnomQa2JdhyHKzZxPCrFA==",
|
||||
"version": "1.1.1",
|
||||
"resolved": "https://registry.npmjs.org/tinypool/-/tinypool-1.1.1.tgz",
|
||||
"integrity": "sha512-Zba82s87IFq9A9XmjiX5uZA/ARWDrB03OHlq+Vw1fSdt0I+4/Kutwy8BP4Y/y/aORMo61FQ0vIb5j44vSo5Pkg==",
|
||||
"dev": true,
|
||||
"license": "MIT",
|
||||
"engines": {
|
||||
@@ -3950,9 +4042,9 @@
|
||||
}
|
||||
},
|
||||
"node_modules/tinyspy": {
|
||||
"version": "3.0.2",
|
||||
"resolved": "https://registry.npmjs.org/tinyspy/-/tinyspy-3.0.2.tgz",
|
||||
"integrity": "sha512-n1cw8k1k0x4pgA2+9XrOkFydTerNcJ1zWCO5Nn9scWHTD+5tp8dghT2x1uduQePZTZgd3Tupf+x9BxJjeJi77Q==",
|
||||
"version": "4.0.3",
|
||||
"resolved": "https://registry.npmjs.org/tinyspy/-/tinyspy-4.0.3.tgz",
|
||||
"integrity": "sha512-t2T/WLB2WRgZ9EpE4jgPJ9w+i66UZfDc8wHh0xrwiRNN+UwH98GIJkTeZqX9rg0i0ptwzqW+uYeIF0T4F8LR7A==",
|
||||
"dev": true,
|
||||
"license": "MIT",
|
||||
"engines": {
|
||||
@@ -4005,13 +4097,6 @@
|
||||
}
|
||||
}
|
||||
},
|
||||
"node_modules/tslib": {
|
||||
"version": "2.8.1",
|
||||
"resolved": "https://registry.npmjs.org/tslib/-/tslib-2.8.1.tgz",
|
||||
"integrity": "sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w==",
|
||||
"dev": true,
|
||||
"license": "0BSD"
|
||||
},
|
||||
"node_modules/type-check": {
|
||||
"version": "0.4.0",
|
||||
"resolved": "https://registry.npmjs.org/type-check/-/type-check-0.4.0.tgz",
|
||||
@@ -4040,15 +4125,15 @@
|
||||
}
|
||||
},
|
||||
"node_modules/typescript-eslint": {
|
||||
"version": "8.32.1",
|
||||
"resolved": "https://registry.npmjs.org/typescript-eslint/-/typescript-eslint-8.32.1.tgz",
|
||||
"integrity": "sha512-D7el+eaDHAmXvrZBy1zpzSNIRqnCOrkwTgZxTu3MUqRWk8k0q9m9Ho4+vPf7iHtgUfrK/o8IZaEApsxPlHTFCg==",
|
||||
"version": "8.36.0",
|
||||
"resolved": "https://registry.npmjs.org/typescript-eslint/-/typescript-eslint-8.36.0.tgz",
|
||||
"integrity": "sha512-fTCqxthY+h9QbEgSIBfL9iV6CvKDFuoxg6bHPNpJ9HIUzS+jy2lCEyCmGyZRWEBSaykqcDPf1SJ+BfCI8DRopA==",
|
||||
"dev": true,
|
||||
"license": "MIT",
|
||||
"dependencies": {
|
||||
"@typescript-eslint/eslint-plugin": "8.32.1",
|
||||
"@typescript-eslint/parser": "8.32.1",
|
||||
"@typescript-eslint/utils": "8.32.1"
|
||||
"@typescript-eslint/eslint-plugin": "8.36.0",
|
||||
"@typescript-eslint/parser": "8.36.0",
|
||||
"@typescript-eslint/utils": "8.36.0"
|
||||
},
|
||||
"engines": {
|
||||
"node": "^18.18.0 || ^20.9.0 || >=21.1.0"
|
||||
@@ -4111,24 +4196,24 @@
|
||||
}
|
||||
},
|
||||
"node_modules/vite": {
|
||||
"version": "6.3.5",
|
||||
"resolved": "https://registry.npmjs.org/vite/-/vite-6.3.5.tgz",
|
||||
"integrity": "sha512-cZn6NDFE7wdTpINgs++ZJ4N49W2vRp8LCKrn3Ob1kYNtOo21vfDoaV5GzBfLU4MovSAB8uNRm4jgzVQZ+mBzPQ==",
|
||||
"version": "7.0.4",
|
||||
"resolved": "https://registry.npmjs.org/vite/-/vite-7.0.4.tgz",
|
||||
"integrity": "sha512-SkaSguuS7nnmV7mfJ8l81JGBFV7Gvzp8IzgE8A8t23+AxuNX61Q5H1Tpz5efduSN7NHC8nQXD3sKQKZAu5mNEA==",
|
||||
"dev": true,
|
||||
"license": "MIT",
|
||||
"dependencies": {
|
||||
"esbuild": "^0.25.0",
|
||||
"fdir": "^6.4.4",
|
||||
"fdir": "^6.4.6",
|
||||
"picomatch": "^4.0.2",
|
||||
"postcss": "^8.5.3",
|
||||
"rollup": "^4.34.9",
|
||||
"tinyglobby": "^0.2.13"
|
||||
"postcss": "^8.5.6",
|
||||
"rollup": "^4.40.0",
|
||||
"tinyglobby": "^0.2.14"
|
||||
},
|
||||
"bin": {
|
||||
"vite": "bin/vite.js"
|
||||
},
|
||||
"engines": {
|
||||
"node": "^18.0.0 || ^20.0.0 || >=22.0.0"
|
||||
"node": "^20.19.0 || >=22.12.0"
|
||||
},
|
||||
"funding": {
|
||||
"url": "https://github.com/vitejs/vite?sponsor=1"
|
||||
@@ -4137,14 +4222,14 @@
|
||||
"fsevents": "~2.3.3"
|
||||
},
|
||||
"peerDependencies": {
|
||||
"@types/node": "^18.0.0 || ^20.0.0 || >=22.0.0",
|
||||
"@types/node": "^20.19.0 || >=22.12.0",
|
||||
"jiti": ">=1.21.0",
|
||||
"less": "*",
|
||||
"less": "^4.0.0",
|
||||
"lightningcss": "^1.21.0",
|
||||
"sass": "*",
|
||||
"sass-embedded": "*",
|
||||
"stylus": "*",
|
||||
"sugarss": "*",
|
||||
"sass": "^1.70.0",
|
||||
"sass-embedded": "^1.70.0",
|
||||
"stylus": ">=0.54.8",
|
||||
"sugarss": "^5.0.0",
|
||||
"terser": "^5.16.0",
|
||||
"tsx": "^4.8.1",
|
||||
"yaml": "^2.4.2"
|
||||
@@ -4186,17 +4271,17 @@
|
||||
}
|
||||
},
|
||||
"node_modules/vite-node": {
|
||||
"version": "3.1.4",
|
||||
"resolved": "https://registry.npmjs.org/vite-node/-/vite-node-3.1.4.tgz",
|
||||
"integrity": "sha512-6enNwYnpyDo4hEgytbmc6mYWHXDHYEn0D1/rw4Q+tnHUGtKTJsn8T1YkX6Q18wI5LCrS8CTYlBaiCqxOy2kvUA==",
|
||||
"version": "3.2.4",
|
||||
"resolved": "https://registry.npmjs.org/vite-node/-/vite-node-3.2.4.tgz",
|
||||
"integrity": "sha512-EbKSKh+bh1E1IFxeO0pg1n4dvoOTt0UDiXMd/qn++r98+jPO1xtJilvXldeuQ8giIB5IkpjCgMleHMNEsGH6pg==",
|
||||
"dev": true,
|
||||
"license": "MIT",
|
||||
"dependencies": {
|
||||
"cac": "^6.7.14",
|
||||
"debug": "^4.4.0",
|
||||
"debug": "^4.4.1",
|
||||
"es-module-lexer": "^1.7.0",
|
||||
"pathe": "^2.0.3",
|
||||
"vite": "^5.0.0 || ^6.0.0"
|
||||
"vite": "^5.0.0 || ^6.0.0 || ^7.0.0-0"
|
||||
},
|
||||
"bin": {
|
||||
"vite-node": "vite-node.mjs"
|
||||
@@ -4229,9 +4314,9 @@
|
||||
}
|
||||
},
|
||||
"node_modules/vite/node_modules/fdir": {
|
||||
"version": "6.4.4",
|
||||
"resolved": "https://registry.npmjs.org/fdir/-/fdir-6.4.4.tgz",
|
||||
"integrity": "sha512-1NZP+GK4GfuAv3PqKvxQRDMjdSRZjnkq7KfhlNrCNNlZ0ygQFpebfrnfnq/W7fpUnAv9aGWmY1zKx7FYL3gwhg==",
|
||||
"version": "6.4.6",
|
||||
"resolved": "https://registry.npmjs.org/fdir/-/fdir-6.4.6.tgz",
|
||||
"integrity": "sha512-hiFoqpyZcfNm1yc4u8oWCf9A2c4D3QjCrks3zmoVKVxpQRzmPNar1hUJcBG2RQHvEVGDN+Jm81ZheVLAQMK6+w==",
|
||||
"dev": true,
|
||||
"license": "MIT",
|
||||
"peerDependencies": {
|
||||
@@ -4257,32 +4342,34 @@
|
||||
}
|
||||
},
|
||||
"node_modules/vitest": {
|
||||
"version": "3.1.4",
|
||||
"resolved": "https://registry.npmjs.org/vitest/-/vitest-3.1.4.tgz",
|
||||
"integrity": "sha512-Ta56rT7uWxCSJXlBtKgIlApJnT6e6IGmTYxYcmxjJ4ujuZDI59GUQgVDObXXJujOmPDBYXHK1qmaGtneu6TNIQ==",
|
||||
"version": "3.2.4",
|
||||
"resolved": "https://registry.npmjs.org/vitest/-/vitest-3.2.4.tgz",
|
||||
"integrity": "sha512-LUCP5ev3GURDysTWiP47wRRUpLKMOfPh+yKTx3kVIEiu5KOMeqzpnYNsKyOoVrULivR8tLcks4+lga33Whn90A==",
|
||||
"dev": true,
|
||||
"license": "MIT",
|
||||
"dependencies": {
|
||||
"@vitest/expect": "3.1.4",
|
||||
"@vitest/mocker": "3.1.4",
|
||||
"@vitest/pretty-format": "^3.1.4",
|
||||
"@vitest/runner": "3.1.4",
|
||||
"@vitest/snapshot": "3.1.4",
|
||||
"@vitest/spy": "3.1.4",
|
||||
"@vitest/utils": "3.1.4",
|
||||
"@types/chai": "^5.2.2",
|
||||
"@vitest/expect": "3.2.4",
|
||||
"@vitest/mocker": "3.2.4",
|
||||
"@vitest/pretty-format": "^3.2.4",
|
||||
"@vitest/runner": "3.2.4",
|
||||
"@vitest/snapshot": "3.2.4",
|
||||
"@vitest/spy": "3.2.4",
|
||||
"@vitest/utils": "3.2.4",
|
||||
"chai": "^5.2.0",
|
||||
"debug": "^4.4.0",
|
||||
"debug": "^4.4.1",
|
||||
"expect-type": "^1.2.1",
|
||||
"magic-string": "^0.30.17",
|
||||
"pathe": "^2.0.3",
|
||||
"picomatch": "^4.0.2",
|
||||
"std-env": "^3.9.0",
|
||||
"tinybench": "^2.9.0",
|
||||
"tinyexec": "^0.3.2",
|
||||
"tinyglobby": "^0.2.13",
|
||||
"tinypool": "^1.0.2",
|
||||
"tinyglobby": "^0.2.14",
|
||||
"tinypool": "^1.1.1",
|
||||
"tinyrainbow": "^2.0.0",
|
||||
"vite": "^5.0.0 || ^6.0.0",
|
||||
"vite-node": "3.1.4",
|
||||
"vite": "^5.0.0 || ^6.0.0 || ^7.0.0-0",
|
||||
"vite-node": "3.2.4",
|
||||
"why-is-node-running": "^2.3.0"
|
||||
},
|
||||
"bin": {
|
||||
@@ -4298,8 +4385,8 @@
|
||||
"@edge-runtime/vm": "*",
|
||||
"@types/debug": "^4.1.12",
|
||||
"@types/node": "^18.0.0 || ^20.0.0 || >=22.0.0",
|
||||
"@vitest/browser": "3.1.4",
|
||||
"@vitest/ui": "3.1.4",
|
||||
"@vitest/browser": "3.2.4",
|
||||
"@vitest/ui": "3.2.4",
|
||||
"happy-dom": "*",
|
||||
"jsdom": "*"
|
||||
},
|
||||
@@ -4340,6 +4427,19 @@
|
||||
"vitest": ">=2.0.0"
|
||||
}
|
||||
},
|
||||
"node_modules/vitest/node_modules/picomatch": {
|
||||
"version": "4.0.2",
|
||||
"resolved": "https://registry.npmjs.org/picomatch/-/picomatch-4.0.2.tgz",
|
||||
"integrity": "sha512-M7BAV6Rlcy5u+m6oPhAPFgJTzAioX/6B0DxyvDlo9l8+T3nLKbrczg2WLUyzd45L8RqfUMyGPzekbMvX2Ldkwg==",
|
||||
"dev": true,
|
||||
"license": "MIT",
|
||||
"engines": {
|
||||
"node": ">=12"
|
||||
},
|
||||
"funding": {
|
||||
"url": "https://github.com/sponsors/jonschlinkert"
|
||||
}
|
||||
},
|
||||
"node_modules/which": {
|
||||
"version": "2.0.2",
|
||||
"resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz",
|
||||
|
||||
+4
-4
@@ -5,7 +5,7 @@
|
||||
"type": "module",
|
||||
"exports": "./dist/index.js",
|
||||
"bin": {
|
||||
"immich": "dist/index.js"
|
||||
"immich": "./bin/immich"
|
||||
},
|
||||
"license": "GNU Affero General Public License version 3",
|
||||
"keywords": [
|
||||
@@ -21,7 +21,7 @@
|
||||
"@types/lodash-es": "^4.17.12",
|
||||
"@types/micromatch": "^4.0.9",
|
||||
"@types/mock-fs": "^4.13.1",
|
||||
"@types/node": "^22.15.31",
|
||||
"@types/node": "^22.16.4",
|
||||
"@vitest/coverage-v8": "^3.0.0",
|
||||
"byte-size": "^9.0.0",
|
||||
"cli-progress": "^3.12.0",
|
||||
@@ -36,7 +36,7 @@
|
||||
"prettier-plugin-organize-imports": "^4.0.0",
|
||||
"typescript": "^5.3.3",
|
||||
"typescript-eslint": "^8.28.0",
|
||||
"vite": "^6.0.0",
|
||||
"vite": "^7.0.0",
|
||||
"vite-tsconfig-paths": "^5.0.0",
|
||||
"vitest": "^3.0.0",
|
||||
"vitest-fetch-mock": "^0.4.0",
|
||||
@@ -69,6 +69,6 @@
|
||||
"micromatch": "^4.0.8"
|
||||
},
|
||||
"volta": {
|
||||
"node": "22.16.0"
|
||||
"node": "22.17.1"
|
||||
}
|
||||
}
|
||||
|
||||
@@ -16,7 +16,7 @@ name: immich-dev
|
||||
services:
|
||||
immich-server:
|
||||
container_name: immich_server
|
||||
command: ['/usr/src/app/bin/immich-dev']
|
||||
command: ['immich-dev']
|
||||
image: immich-server-dev:latest
|
||||
# extends:
|
||||
# file: hwaccel.transcoding.yml
|
||||
@@ -27,11 +27,11 @@ services:
|
||||
target: dev
|
||||
restart: unless-stopped
|
||||
volumes:
|
||||
- ../server:/usr/src/app
|
||||
- ../open-api:/usr/src/open-api
|
||||
- ../server:/usr/src/app/server
|
||||
- ../open-api:/usr/src/app/open-api
|
||||
- ${UPLOAD_LOCATION}/photos:/usr/src/app/upload
|
||||
- ${UPLOAD_LOCATION}/photos/upload:/usr/src/app/upload/upload
|
||||
- /usr/src/app/node_modules
|
||||
- /usr/src/app/server/node_modules
|
||||
- /etc/localtime:/etc/localtime:ro
|
||||
env_file:
|
||||
- .env
|
||||
@@ -69,19 +69,20 @@ services:
|
||||
# Needed for rootless docker setup, see https://github.com/moby/moby/issues/45919
|
||||
# user: 0:0
|
||||
build:
|
||||
context: ../web
|
||||
command: ['/usr/src/app/bin/immich-web']
|
||||
context: ../
|
||||
dockerfile: web/Dockerfile
|
||||
command: ['immich-web']
|
||||
env_file:
|
||||
- .env
|
||||
ports:
|
||||
- 3000:3000
|
||||
- 24678:24678
|
||||
volumes:
|
||||
- ../web:/usr/src/app
|
||||
- ../i18n:/usr/src/i18n
|
||||
- ../open-api/:/usr/src/open-api/
|
||||
- ../web:/usr/src/app/web
|
||||
- ../i18n:/usr/src/app/i18n
|
||||
- ../open-api/:/usr/src/app/open-api/
|
||||
# - ../../ui:/usr/ui
|
||||
- /usr/src/app/node_modules
|
||||
- /usr/src/app/web/node_modules
|
||||
ulimits:
|
||||
nofile:
|
||||
soft: 1048576
|
||||
@@ -116,13 +117,13 @@ services:
|
||||
|
||||
redis:
|
||||
container_name: immich_redis
|
||||
image: docker.io/valkey/valkey:8-bookworm@sha256:fec42f399876eb6faf9e008570597741c87ff7662a54185593e74b09ce83d177
|
||||
image: docker.io/valkey/valkey:8-bookworm@sha256:facc1d2c3462975c34e10fccb167bfa92b0e0dbd992fc282c29a61c3243afb11
|
||||
healthcheck:
|
||||
test: redis-cli ping || exit 1
|
||||
|
||||
database:
|
||||
container_name: immich_postgres
|
||||
image: ghcr.io/immich-app/postgres:14-vectorchord0.4.3-pgvectors0.2.0
|
||||
image: ghcr.io/immich-app/postgres:14-vectorchord0.4.3-pgvectors0.2.0@sha256:5f6a838e4e44c8e0e019d0ebfe3ee8952b69afc2809b2c25f7b0119641978e91
|
||||
env_file:
|
||||
- .env
|
||||
environment:
|
||||
@@ -134,6 +135,7 @@ services:
|
||||
- ${UPLOAD_LOCATION}/postgres:/var/lib/postgresql/data
|
||||
ports:
|
||||
- 5432:5432
|
||||
shm_size: 128mb
|
||||
# set IMMICH_TELEMETRY_INCLUDE=all in .env to enable metrics
|
||||
# immich-prometheus:
|
||||
# container_name: immich_prometheus
|
||||
|
||||
@@ -56,14 +56,14 @@ services:
|
||||
|
||||
redis:
|
||||
container_name: immich_redis
|
||||
image: docker.io/valkey/valkey:8-bookworm@sha256:fec42f399876eb6faf9e008570597741c87ff7662a54185593e74b09ce83d177
|
||||
image: docker.io/valkey/valkey:8-bookworm@sha256:facc1d2c3462975c34e10fccb167bfa92b0e0dbd992fc282c29a61c3243afb11
|
||||
healthcheck:
|
||||
test: redis-cli ping || exit 1
|
||||
restart: always
|
||||
|
||||
database:
|
||||
container_name: immich_postgres
|
||||
image: ghcr.io/immich-app/postgres:14-vectorchord0.4.3-pgvectors0.2.0
|
||||
image: ghcr.io/immich-app/postgres:14-vectorchord0.4.3-pgvectors0.2.0@sha256:5f6a838e4e44c8e0e019d0ebfe3ee8952b69afc2809b2c25f7b0119641978e91
|
||||
env_file:
|
||||
- .env
|
||||
environment:
|
||||
@@ -75,6 +75,7 @@ services:
|
||||
- ${UPLOAD_LOCATION}/postgres:/var/lib/postgresql/data
|
||||
ports:
|
||||
- 5432:5432
|
||||
shm_size: 128mb
|
||||
restart: always
|
||||
|
||||
# set IMMICH_TELEMETRY_INCLUDE=all in .env to enable metrics
|
||||
@@ -82,7 +83,7 @@ services:
|
||||
container_name: immich_prometheus
|
||||
ports:
|
||||
- 9090:9090
|
||||
image: prom/prometheus@sha256:9abc6cf6aea7710d163dbb28d8eeb7dc5baef01e38fa4cd146a406dd9f07f70d
|
||||
image: prom/prometheus@sha256:63805ebb8d2b3920190daf1cb14a60871b16fd38bed42b857a3182bc621f4996
|
||||
volumes:
|
||||
- ./prometheus.yml:/etc/prometheus/prometheus.yml
|
||||
- prometheus-data:/prometheus
|
||||
@@ -94,7 +95,7 @@ services:
|
||||
command: ['./run.sh', '-disable-reporting']
|
||||
ports:
|
||||
- 3000:3000
|
||||
image: grafana/grafana:12.0.1-ubuntu@sha256:65575bb9c761335e2ff30e364f21d38632e3b2e75f5f81d83cc92f44b9bbc055
|
||||
image: grafana/grafana:12.0.2-ubuntu@sha256:0512d81cdeaaff0e370a9aa66027b465d1f1f04379c3a9c801a905fabbdbc7a5
|
||||
volumes:
|
||||
- grafana-data:/var/lib/grafana
|
||||
|
||||
|
||||
@@ -49,14 +49,14 @@ services:
|
||||
|
||||
redis:
|
||||
container_name: immich_redis
|
||||
image: docker.io/valkey/valkey:8-bookworm@sha256:fec42f399876eb6faf9e008570597741c87ff7662a54185593e74b09ce83d177
|
||||
image: docker.io/valkey/valkey:8-bookworm@sha256:facc1d2c3462975c34e10fccb167bfa92b0e0dbd992fc282c29a61c3243afb11
|
||||
healthcheck:
|
||||
test: redis-cli ping || exit 1
|
||||
restart: always
|
||||
|
||||
database:
|
||||
container_name: immich_postgres
|
||||
image: ghcr.io/immich-app/postgres:14-vectorchord0.4.3-pgvectors0.2.0
|
||||
image: ghcr.io/immich-app/postgres:14-vectorchord0.4.3-pgvectors0.2.0@sha256:5f6a838e4e44c8e0e019d0ebfe3ee8952b69afc2809b2c25f7b0119641978e91
|
||||
environment:
|
||||
POSTGRES_PASSWORD: ${DB_PASSWORD}
|
||||
POSTGRES_USER: ${DB_USERNAME}
|
||||
@@ -67,6 +67,7 @@ services:
|
||||
volumes:
|
||||
# Do not edit the next line. If you want to change the database storage location on your system, edit the value of DB_DATA_LOCATION in the .env file
|
||||
- ${DB_DATA_LOCATION}:/var/lib/postgresql/data
|
||||
shm_size: 128mb
|
||||
restart: always
|
||||
|
||||
volumes:
|
||||
|
||||
+1
-1
@@ -1 +1 @@
|
||||
22.16.0
|
||||
22.17.1
|
||||
|
||||
+1
-1
@@ -490,7 +490,7 @@ You can also scan the Postgres database file structure for errors:
|
||||
<details>
|
||||
<summary>Scan for file structure errors</summary>
|
||||
```bash
|
||||
docker exec -it immich_postgres pg_amcheck --username=postgres --heapallindexed --parent-check --rootdescend --progress --all --install-missing
|
||||
docker exec -it immich_postgres pg_amcheck --username=<DB_USERNAME> --heapallindexed --parent-check --rootdescend --progress --all --install-missing
|
||||
```
|
||||
|
||||
A normal result will end something like this and return with an exit code of `0`:
|
||||
|
||||
@@ -57,7 +57,7 @@ Then please follow the steps in the following section for restoring the database
|
||||
<TabItem value="Linux system" label="Linux system" default>
|
||||
|
||||
```bash title='Backup'
|
||||
docker exec -t immich_postgres pg_dumpall --clean --if-exists --username=postgres | gzip > "/path/to/backup/dump.sql.gz"
|
||||
docker exec -t immich_postgres pg_dumpall --clean --if-exists --username=<DB_USERNAME> | gzip > "/path/to/backup/dump.sql.gz"
|
||||
```
|
||||
|
||||
```bash title='Restore'
|
||||
@@ -79,7 +79,7 @@ docker compose up -d # Start remainder of Immich apps
|
||||
<TabItem value="Windows system (PowerShell)" label="Windows system (PowerShell)">
|
||||
|
||||
```powershell title='Backup'
|
||||
[System.IO.File]::WriteAllLines("C:\absolute\path\to\backup\dump.sql", (docker exec -t immich_postgres pg_dumpall --clean --if-exists --username=postgres))
|
||||
[System.IO.File]::WriteAllLines("C:\absolute\path\to\backup\dump.sql", (docker exec -t immich_postgres pg_dumpall --clean --if-exists --username=<DB_USERNAME>))
|
||||
```
|
||||
|
||||
```powershell title='Restore'
|
||||
@@ -150,12 +150,10 @@ for more info read the [release notes](https://github.com/immich-app/immich/rele
|
||||
- Preview images (small thumbnails and large previews) for each asset and thumbnails for recognized faces.
|
||||
- Stored in `UPLOAD_LOCATION/thumbs/<userID>`.
|
||||
- **Encoded Assets:**
|
||||
|
||||
- Videos that have been re-encoded from the original for wider compatibility. The original is not removed.
|
||||
- Stored in `UPLOAD_LOCATION/encoded-video/<userID>`.
|
||||
|
||||
- **Postgres**
|
||||
|
||||
- The Immich database containing all the information to allow the system to function properly.
|
||||
**Note:** This folder will only appear to users who have made the changes mentioned in [v1.102.0](https://github.com/immich-app/immich/discussions/8930) (an optional, non-mandatory change) or who started with this version.
|
||||
- Stored in `DB_DATA_LOCATION`.
|
||||
@@ -201,7 +199,6 @@ When you turn off the storage template engine, it will leave the assets in `UPLO
|
||||
- Temporarily located in `UPLOAD_LOCATION/upload/<userID>`.
|
||||
- Transferred to `UPLOAD_LOCATION/library/<userID>` upon successful upload.
|
||||
- **Postgres**
|
||||
|
||||
- The Immich database containing all the information to allow the system to function properly.
|
||||
**Note:** This folder will only appear to users who have made the changes mentioned in [v1.102.0](https://github.com/immich-app/immich/discussions/8930) (an optional, non-mandatory change) or who started with this version.
|
||||
- Stored in `DB_DATA_LOCATION`.
|
||||
|
||||
Binary file not shown.
|
After Width: | Height: | Size: 33 KiB |
@@ -46,6 +46,12 @@ services:
|
||||
|
||||
When a new asset is uploaded it kicks off a series of jobs, which include metadata extraction, thumbnail generation, machine learning tasks, and storage template migration, if enabled. To view the status of a job navigate to the Administration -> Jobs page.
|
||||
|
||||
Additionally, some jobs run on a schedule, which is every night at midnight. This schedule, with the exception of [External Libraries](/docs/features/libraries) scanning, cannot be changed.
|
||||
|
||||
<img src={require('./img/admin-jobs.webp').default} width="60%" title="Admin jobs" />
|
||||
|
||||
Additionally, some jobs (such as memories generation) run on a schedule, which is every night at midnight by default. To change when they run or enable/disable a job navigate to System Settings -> [Nightly Tasks Settings](https://my.immich.app/admin/system-settings?isOpen=nightly-tasks).
|
||||
|
||||
<img src={require('./img/admin-nightly-tasks.webp').default} width="60%" title="Admin nightly tasks" />
|
||||
|
||||
:::note
|
||||
Some jobs ([External Libraries](/docs/features/libraries) scanning, Database Dump) are configured in their own sections in System Settings.
|
||||
:::
|
||||
|
||||
@@ -20,7 +20,6 @@ Immich supports 3rd party authentication via [OpenID Connect][oidc] (OIDC), an i
|
||||
Before enabling OAuth in Immich, a new client application needs to be configured in the 3rd-party authentication server. While the specifics of this setup vary from provider to provider, the general approach should be the same.
|
||||
|
||||
1. Create a new (Client) Application
|
||||
|
||||
1. The **Provider** type should be `OpenID Connect` or `OAuth2`
|
||||
2. The **Client type** should be `Confidential`
|
||||
3. The **Application** type should be `Web`
|
||||
@@ -29,7 +28,6 @@ Before enabling OAuth in Immich, a new client application needs to be configured
|
||||
2. Configure Redirect URIs/Origins
|
||||
|
||||
The **Sign-in redirect URIs** should include:
|
||||
|
||||
- `app.immich:///oauth-callback` - for logging in with OAuth from the [Mobile App](/docs/features/mobile-app.mdx)
|
||||
- `http://DOMAIN:PORT/auth/login` - for logging in with OAuth from the Web Client
|
||||
- `http://DOMAIN:PORT/user-settings` - for manually linking OAuth in the Web Client
|
||||
@@ -37,21 +35,17 @@ Before enabling OAuth in Immich, a new client application needs to be configured
|
||||
Redirect URIs should contain all the domains you will be using to access Immich. Some examples include:
|
||||
|
||||
Mobile
|
||||
|
||||
- `app.immich:///oauth-callback` (You **MUST** include this for iOS and Android mobile apps to work properly)
|
||||
|
||||
Localhost
|
||||
|
||||
- `http://localhost:2283/auth/login`
|
||||
- `http://localhost:2283/user-settings`
|
||||
|
||||
Local IP
|
||||
|
||||
- `http://192.168.0.200:2283/auth/login`
|
||||
- `http://192.168.0.200:2283/user-settings`
|
||||
|
||||
Hostname
|
||||
|
||||
- `https://immich.example.com/auth/login`
|
||||
- `https://immich.example.com/user-settings`
|
||||
|
||||
@@ -68,6 +62,7 @@ Once you have a new OAuth client application configured, Immich can be configure
|
||||
| Scope | string | openid email profile | Full list of scopes to send with the request (space delimited) |
|
||||
| Signing Algorithm | string | RS256 | The algorithm used to sign the id token (examples: RS256, HS256) |
|
||||
| Storage Label Claim | string | preferred_username | Claim mapping for the user's storage label**┬╣** |
|
||||
| Role Claim | string | immich_role | Claim mapping for the user's role. (should return "user" or "admin")**┬╣** |
|
||||
| Storage Quota Claim | string | immich_quota | Claim mapping for the user's storage**┬╣** |
|
||||
| Default Storage Quota (GiB) | number | 0 | Default quota for user without storage quota claim (Enter 0 for unlimited quota) |
|
||||
| Button Text | string | Login with OAuth | Text for the OAuth button on the web |
|
||||
|
||||
@@ -3,7 +3,7 @@
|
||||
The `immich-server` docker image comes preinstalled with an administrative CLI (`immich-admin`) that supports the following commands:
|
||||
|
||||
| Command | Description |
|
||||
| ------------------------ | ------------------------------------- |
|
||||
| ------------------------ | ------------------------------------------------------------- |
|
||||
| `help` | Display help |
|
||||
| `reset-admin-password` | Reset the password for the admin user |
|
||||
| `disable-password-login` | Disable password login |
|
||||
@@ -12,6 +12,7 @@ The `immich-server` docker image comes preinstalled with an administrative CLI (
|
||||
| `disable-oauth-login` | Disable OAuth login |
|
||||
| `list-users` | List Immich users |
|
||||
| `version` | Print Immich version |
|
||||
| `change-media-location` | Change database file paths to align with a new media location |
|
||||
|
||||
## How to run a command
|
||||
|
||||
@@ -88,3 +89,24 @@ Print Immich Version
|
||||
immich-admin version
|
||||
v1.129.0
|
||||
```
|
||||
|
||||
Change media location
|
||||
|
||||
```
|
||||
immich-admin change-media-location
|
||||
? Enter the previous value of IMMICH_MEDIA_LOCATION: /usr/src/app/upload
|
||||
? Enter the new value of IMMICH_MEDIA_LOCATION: /data
|
||||
|
||||
Previous value: /usr/src/app/upload
|
||||
Current value: /data
|
||||
|
||||
Changing database paths from "/usr/src/app/upload/*" to "/data/*"
|
||||
|
||||
? Do you want to proceed? [Y/n] y
|
||||
|
||||
Database file paths updated successfully! ЁЯОЙ
|
||||
|
||||
You may now set IMMICH_MEDIA_LOCATION=/data and restart!
|
||||
|
||||
(please remember to update applicable volume mounts e.g. ${UPLOAD_LOCATION}:/data)
|
||||
```
|
||||
|
||||
@@ -7,7 +7,7 @@ sidebar_position: 3
|
||||
|
||||
Dev Containers provide a consistent, reproducible development environment using Docker containers. With a single click, you can get started with an Immich development environment on Mac, Linux, Windows, or in the cloud using GitHub Codespaces.
|
||||
|
||||
[](https://vscode.dev/redirect?url=vscode://ms-vscode-remote.remote-containers/cloneInVolume?url=https://github.com/immich-app/immich/)
|
||||
Get started fast!
|
||||
|
||||
[](https://codespaces.new/immich-app/immich/)
|
||||
|
||||
@@ -71,7 +71,7 @@ cd immich
|
||||
|
||||
The immich dev containers read environment variables from your shell environment, not from `.env` files. This allows them to work in cloud environments without pre-configuration.
|
||||
|
||||
:::important Required Configuration
|
||||
:::important Configuration
|
||||
When running locally, and if you want to create (or use an existing) DB and/or photo storage folder, you must set the `UPLOAD_LOCATION` variable in your shell environment before launching the Dev Container. This determines where uploaded files are stored and also where the DB stores it data.
|
||||
|
||||
```bash
|
||||
@@ -88,6 +88,10 @@ source ~/.bashrc
|
||||
|
||||
### Step 3: Launch the Dev Container
|
||||
|
||||
:::tip
|
||||
Immich development makes extensive use of specialized [base images](https://github.com/immich-app/base-images) for its docker-compose based development. For this reason, you won't be able to use VSCode's **_Clone Repository in a Container Volume_** command.
|
||||
:::
|
||||
|
||||
#### Using VS Code UI:
|
||||
|
||||
1. Open the cloned repository in VS Code
|
||||
@@ -199,13 +203,11 @@ To use your SSH key for commit signing, see the [GitHub guide on SSH commit sign
|
||||
When the Dev Container starts, it automatically:
|
||||
|
||||
1. **Runs post-create script** (`container-server-post-create.sh`):
|
||||
|
||||
- Adjusts file permissions for the `node` user
|
||||
- Installs dependencies: `npm install` in all packages
|
||||
- Builds TypeScript SDK: `npm run build` in `open-api/typescript-sdk`
|
||||
|
||||
2. **Starts development servers** via VS Code tasks:
|
||||
|
||||
- `Immich API Server (Nest)` - API server with hot-reloading on port 2283
|
||||
- `Immich Web Server (Vite)` - Web frontend with hot-reloading on port 3000
|
||||
- Both servers watch for file changes and recompile automatically
|
||||
@@ -335,14 +337,12 @@ make install-all # Install all dependencies
|
||||
The Dev Container is pre-configured for debugging:
|
||||
|
||||
1. **API Server Debugging**:
|
||||
|
||||
- Set breakpoints in VS Code
|
||||
- Press `F5` or use "Run and Debug" panel
|
||||
- Select "Attach to Server" configuration
|
||||
- Debug port: 9231
|
||||
|
||||
2. **Worker Debugging**:
|
||||
|
||||
- Use "Attach to Workers" configuration
|
||||
- Debug port: 9230
|
||||
|
||||
@@ -428,7 +428,6 @@ While the Dev Container focuses on server and web development, you can connect m
|
||||
```
|
||||
|
||||
2. **Configure mobile app**:
|
||||
|
||||
- Server URL: `http://YOUR_IP:2283/api`
|
||||
- Ensure firewall allows port 2283
|
||||
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
|
||||
Folder view provides an additional view besides the timeline that is similar to a file explorer. It allows you to navigate through the folders and files in the library. This feature is handy for a highly curated and customized external library or a nicely configured storage template.
|
||||
|
||||
You can enable this feature under [`Account Settings > Features > Folder View`](https://my.immich.app/user-settings?isOpen=feature+folders)
|
||||
You can enable this feature under [`Account Settings > Features > Folders`](https://my.immich.app/user-settings?isOpen=feature+folders)
|
||||
|
||||
## Enable folder view
|
||||
|
||||
|
||||
@@ -56,7 +56,7 @@ Internally, Immich uses the [glob](https://www.npmjs.com/package/glob) package t
|
||||
|
||||
### Automatic watching (EXPERIMENTAL)
|
||||
|
||||
This feature - currently hidden in the config file - is considered experimental and for advanced users only. If enabled, it will allow automatic watching of the filesystem which means new assets are automatically imported to Immich without needing to rescan.
|
||||
This feature is considered experimental and for advanced users only. If enabled, it will allow automatic watching of the filesystem which means new assets are automatically imported to Immich without needing to rescan.
|
||||
|
||||
If your photos are on a network drive, automatic file watching likely won't work. In that case, you will have to rely on a periodic library refresh to pull in your changes.
|
||||
|
||||
@@ -112,7 +112,7 @@ _Remember to run `docker compose up -d` to register the changes. Make sure you c
|
||||
|
||||
These actions must be performed by the Immich administrator.
|
||||
|
||||
- Click on your avatar on the upper right corner
|
||||
- Click on your avatar in the upper right corner
|
||||
- Click on Administration -> External Libraries
|
||||
- Click on Create an external libraryтАж
|
||||
- Select which user owns the library, this can not be changed later
|
||||
@@ -159,9 +159,7 @@ Within seconds, the assets from the old-pics and videos folders should show up i
|
||||
|
||||
Folder view provides an additional view besides the timeline that is similar to a file explorer. It allows you to navigate through the folders and files in the library. This feature is handy for a highly curated and customized external library or a nicely configured storage template.
|
||||
|
||||
You can enable this feature under [`Account Settings > Features > Folder View`](https://my.immich.app/user-settings?isOpen=feature+folders)
|
||||
|
||||
The UI is currently only available for the web; mobile will come in a subsequent release.
|
||||
You can enable this feature under [`Account Settings > Features > Folders`](https://my.immich.app/user-settings?isOpen=feature+folders)
|
||||
|
||||
<img src={require('./img/folder-view-1.webp').default} width="100%" title='Folder-view' />
|
||||
|
||||
@@ -171,7 +169,7 @@ The UI is currently only available for the web; mobile will come in a subsequent
|
||||
Only an admin can do this.
|
||||
:::
|
||||
|
||||
You can define a custom interval for the trigger external library rescan under Administration -> Settings -> Library.
|
||||
You can define a custom interval for the trigger external library rescan under Administration -> Settings -> External Library.
|
||||
You can set the scanning interval using the preset or cron format. For more information you can refer to [Crontab Guru](https://crontab.guru/).
|
||||
|
||||
<img src={require('./img/library-custom-scan-interval.webp').default} width="75%" title='Set custom scan interval for external library' />
|
||||
|
||||
@@ -16,7 +16,7 @@ For the full list, refer to the [Immich source code](https://github.com/immich-a
|
||||
| `HEIC` | `.heic` | :white_check_mark: | |
|
||||
| `HEIF` | `.heif` | :white_check_mark: | |
|
||||
| `JPEG 2000` | `.jp2` | :white_check_mark: | |
|
||||
| `JPEG` | `.webp` `.jpg` `.jpe` `.insp` | :white_check_mark: | |
|
||||
| `JPEG` | `.jpeg` `.jpg` `.jpe` `.insp` | :white_check_mark: | |
|
||||
| `JPEG XL` | `.jxl` | :white_check_mark: | |
|
||||
| `PNG` | `.png` | :white_check_mark: | |
|
||||
| `PSD` | `.psd` | :white_check_mark: | Adobe Photoshop |
|
||||
|
||||
@@ -41,7 +41,7 @@ In the Immich web UI:
|
||||
- Click Add path
|
||||
<img src={require('./img/add-path-button.webp').default} width="50%" title="Add Path button" />
|
||||
|
||||
- Enter **/usr/src/app/external** as the path and click Add
|
||||
- Enter **/home/user/photos1** as the path and click Add
|
||||
<img src={require('./img/add-path-field.webp').default} width="50%" title="Add Path field" />
|
||||
|
||||
- Save the new path
|
||||
|
||||
@@ -52,9 +52,9 @@ REMOTE_BACKUP_PATH="/path/to/remote/backup/directory"
|
||||
### Local
|
||||
|
||||
# Backup Immich database
|
||||
docker exec -t immich_postgres pg_dumpall --clean --if-exists --username=postgres > "$UPLOAD_LOCATION"/database-backup/immich-database.sql
|
||||
docker exec -t immich_postgres pg_dumpall --clean --if-exists --username=<DB_USERNAME> > "$UPLOAD_LOCATION"/database-backup/immich-database.sql
|
||||
# For deduplicating backup programs such as Borg or Restic, compressing the content can increase backup size by making it harder to deduplicate. If you are using a different program or still prefer to compress, you can use the following command instead:
|
||||
# docker exec -t immich_postgres pg_dumpall --clean --if-exists --username=postgres | /usr/bin/gzip --rsyncable > "$UPLOAD_LOCATION"/database-backup/immich-database.sql.gz
|
||||
# docker exec -t immich_postgres pg_dumpall --clean --if-exists --username=<DB_USERNAME> | /usr/bin/gzip --rsyncable > "$UPLOAD_LOCATION"/database-backup/immich-database.sql.gz
|
||||
|
||||
### Append to local Borg repository
|
||||
borg create "$BACKUP_PATH/immich-borg::{now}" "$UPLOAD_LOCATION" --exclude "$UPLOAD_LOCATION"/thumbs/ --exclude "$UPLOAD_LOCATION"/encoded-video/
|
||||
|
||||
@@ -30,11 +30,11 @@ These environment variables are used by the `docker-compose.yml` file and do **N
|
||||
## General
|
||||
|
||||
| Variable | Description | Default | Containers | Workers |
|
||||
| :---------------------------------- | :---------------------------------------------------------------------------------------- | :--------------------------: | :----------------------- | :----------------- |
|
||||
| :---------------------------------- | :---------------------------------------------------------------------------------------- | :---------------------------------: | :----------------------- | :----------------- |
|
||||
| `TZ` | Timezone | <sup>\*1</sup> | server | microservices |
|
||||
| `IMMICH_ENV` | Environment (production, development) | `production` | server, machine learning | api, microservices |
|
||||
| `IMMICH_LOG_LEVEL` | Log level (verbose, debug, log, warn, error) | `log` | server, machine learning | api, microservices |
|
||||
| `IMMICH_MEDIA_LOCATION` | Media location inside the container тЪая╕П**You probably shouldn't set this**<sup>\*2</sup>тЪая╕П | `./upload`<sup>\*3</sup> | server | api, microservices |
|
||||
| `IMMICH_MEDIA_LOCATION` | Media location inside the container тЪая╕П**You probably shouldn't set this**<sup>\*2</sup>тЪая╕П | `/usr/src/app/upload`<sup>\*3</sup> | server | api, microservices |
|
||||
| `IMMICH_CONFIG_FILE` | Path to config file | | server | api, microservices |
|
||||
| `NO_COLOR` | Set to `true` to disable color-coded log output | `false` | server, machine learning | |
|
||||
| `CPU_CORES` | Number of cores available to the Immich server | auto-detected CPU core count | server | |
|
||||
@@ -73,7 +73,7 @@ Information on the current workers can be found [here](/docs/administration/jobs
|
||||
## Database
|
||||
|
||||
| Variable | Description | Default | Containers |
|
||||
| :---------------------------------- | :--------------------------------------------------------------------------- | :--------: | :----------------------------- |
|
||||
| :---------------------------------- | :------------------------------------------------------------------------------------- | :--------: | :----------------------------- |
|
||||
| `DB_URL` | Database URL | | server |
|
||||
| `DB_HOSTNAME` | Database host | `database` | server |
|
||||
| `DB_PORT` | Database port | `5432` | server |
|
||||
@@ -83,11 +83,14 @@ Information on the current workers can be found [here](/docs/administration/jobs
|
||||
| `DB_SSL_MODE` | Database SSL mode | | server |
|
||||
| `DB_VECTOR_EXTENSION`<sup>\*2</sup> | Database vector extension (one of [`vectorchord`, `pgvector`, `pgvecto.rs`]) | | server |
|
||||
| `DB_SKIP_MIGRATIONS` | Whether to skip running migrations on startup (one of [`true`, `false`]) | `false` | server |
|
||||
| `DB_STORAGE_TYPE` | Optimize concurrent IO on SSDs or sequential IO on HDDs ([`SSD`, `HDD`])<sup>\*3</sup> | `SSD` | server |
|
||||
|
||||
\*1: The values of `DB_USERNAME`, `DB_PASSWORD`, and `DB_DATABASE_NAME` are passed to the Postgres container as the variables `POSTGRES_USER`, `POSTGRES_PASSWORD`, and `POSTGRES_DB` in `docker-compose.yml`.
|
||||
|
||||
\*2: If not provided, the appropriate extension to use is auto-detected at startup by introspecting the database. When multiple extensions are installed, the order of preference is VectorChord, pgvecto.rs, pgvector.
|
||||
|
||||
\*3: Uses either [`postgresql.ssd.conf`](https://github.com/immich-app/base-images/blob/main/postgres/postgresql.ssd.conf) or [`postgresql.hdd.conf`](https://github.com/immich-app/base-images/blob/main/postgres/postgresql.hdd.conf) which mainly controls the Postgres `effective_io_concurrency` setting to allow for concurrenct IO on SSDs and sequential IO on HDDs.
|
||||
|
||||
:::info
|
||||
|
||||
All `DB_` variables must be provided to all Immich workers, including `api` and `microservices`.
|
||||
|
||||
@@ -75,7 +75,6 @@ alt="Select Plugins > Compose.Manager > Add New Stack > Label it Immich"
|
||||
5. Click "**Save Changes**", you will be prompted to edit stack UI labels, just leave this blank and click "**Ok**"
|
||||
6. Select the cog тЪЩя╕П next to Immich, click "**Edit Stack**", then click "**Env File**"
|
||||
7. Paste the entire contents of the [Immich example.env](https://github.com/immich-app/immich/releases/latest/download/example.env) file into the Unraid editor, then **before saving** edit the following:
|
||||
|
||||
- `UPLOAD_LOCATION`: Create a folder in your Images Unraid share and place the **absolute** location here > For example my _"images"_ share has a folder within it called _"immich"_. If I browse to this directory in the terminal and type `pwd` the output is `/mnt/user/images/immich`. This is the exact value I need to enter as my `UPLOAD_LOCATION`
|
||||
- `DB_DATA_LOCATION`: Change this to use an Unraid share (preferably a cache pool, e.g. `/mnt/user/appdata/postgresql/data`). This uses the `appdata` share. Do also create the `postgresql` folder, by running `mkdir /mnt/user/{share_location}/postgresql/data`. If left at default it will try to use Unraid's `/boot/config/plugins/compose.manager/projects/[stack_name]/postgres` folder which it doesn't have permissions to, resulting in this container continuously restarting.
|
||||
|
||||
|
||||
Generated
+562
-971
File diff suppressed because it is too large
Load Diff
+6
-4
@@ -16,8 +16,9 @@
|
||||
"write-heading-ids": "docusaurus write-heading-ids"
|
||||
},
|
||||
"dependencies": {
|
||||
"@docusaurus/core": "~3.7.0",
|
||||
"@docusaurus/preset-classic": "~3.7.0",
|
||||
"@docusaurus/core": "~3.8.0",
|
||||
"@docusaurus/preset-classic": "~3.8.0",
|
||||
"@docusaurus/theme-common": "~3.8.0",
|
||||
"@mdi/js": "^7.3.67",
|
||||
"@mdi/react": "^1.6.1",
|
||||
"@mdx-js/react": "^3.0.0",
|
||||
@@ -26,6 +27,7 @@
|
||||
"clsx": "^2.0.0",
|
||||
"docusaurus-lunr-search": "^3.3.2",
|
||||
"docusaurus-preset-openapi": "^0.7.5",
|
||||
"lunr": "^2.3.9",
|
||||
"postcss": "^8.4.25",
|
||||
"prism-react-renderer": "^2.3.1",
|
||||
"raw-loader": "^4.0.2",
|
||||
@@ -35,7 +37,7 @@
|
||||
"url": "^0.11.0"
|
||||
},
|
||||
"devDependencies": {
|
||||
"@docusaurus/module-type-aliases": "~3.7.0",
|
||||
"@docusaurus/module-type-aliases": "~3.8.0",
|
||||
"@docusaurus/tsconfig": "^3.7.0",
|
||||
"@docusaurus/types": "^3.7.0",
|
||||
"prettier": "^3.2.4",
|
||||
@@ -57,6 +59,6 @@
|
||||
"node": ">=20"
|
||||
},
|
||||
"volta": {
|
||||
"node": "22.16.0"
|
||||
"node": "22.17.1"
|
||||
}
|
||||
}
|
||||
|
||||
@@ -58,6 +58,12 @@ const guides: CommunityGuidesProps[] = [
|
||||
description: 'Access Immich with an end-to-end encrypted connection.',
|
||||
url: 'https://meshnet.nordvpn.com/how-to/remote-files-media-access/immich-remote-access',
|
||||
},
|
||||
{
|
||||
title: 'Trust Self Signed Certificates with Immich - OAuth Setup',
|
||||
description:
|
||||
'Set up Certificate Authority trust with Immich, and your private OAuth2/OpenID service, while using a private CA for HTTPS commication.',
|
||||
url: 'https://github.com/immich-app/immich/discussions/18614',
|
||||
},
|
||||
];
|
||||
|
||||
function CommunityGuide({ title, description, url }: CommunityGuidesProps): JSX.Element {
|
||||
|
||||
+17
-10
@@ -85,6 +85,7 @@ import React from 'react';
|
||||
import { Item, Timeline } from '../components/timeline';
|
||||
|
||||
const releases = {
|
||||
'v1.135.0': new Date(2025, 5, 18),
|
||||
'v1.133.0': new Date(2025, 4, 21),
|
||||
'v1.130.0': new Date(2025, 2, 25),
|
||||
'v1.127.0': new Date(2025, 1, 26),
|
||||
@@ -196,14 +197,6 @@ const roadmap: Item[] = [
|
||||
description: 'Automate tasks with workflows',
|
||||
getDateLabel: () => 'Planned for 2025',
|
||||
},
|
||||
{
|
||||
done: false,
|
||||
icon: mdiTableKey,
|
||||
iconColor: 'gray',
|
||||
title: 'Fine grained access controls',
|
||||
description: 'Granular access controls for users and api keys',
|
||||
getDateLabel: () => 'Planned for 2025',
|
||||
},
|
||||
{
|
||||
done: false,
|
||||
icon: mdiImageEdit,
|
||||
@@ -239,12 +232,26 @@ const roadmap: Item[] = [
|
||||
];
|
||||
|
||||
const milestones: Item[] = [
|
||||
{
|
||||
icon: mdiStar,
|
||||
iconColor: 'gold',
|
||||
title: '70,000 Stars',
|
||||
description: 'Reached 70K Stars on GitHub!',
|
||||
getDateLabel: withLanguage(new Date(2025, 6, 9)),
|
||||
},
|
||||
withRelease({
|
||||
icon: mdiTableKey,
|
||||
iconColor: 'gray',
|
||||
title: 'Fine grained access controls',
|
||||
description: 'Granular access controls for api keys',
|
||||
release: 'v1.135.0',
|
||||
}),
|
||||
withRelease({
|
||||
icon: mdiCast,
|
||||
iconColor: 'aqua',
|
||||
title: 'Google Cast (web)',
|
||||
title: 'Google Cast (web and mobile)',
|
||||
description: 'Cast assets to Google Cast/Chromecast compatible devices',
|
||||
release: 'v1.133.0',
|
||||
release: 'v1.135.0',
|
||||
}),
|
||||
withRelease({
|
||||
icon: mdiLockOutline,
|
||||
|
||||
Vendored
+2
-1
@@ -1,4 +1,5 @@
|
||||
/docs /docs/overview/introduction 307
|
||||
/docs /docs/overview/welcome 307
|
||||
/docs/ /docs/overview/welcome 307
|
||||
/docs/mobile-app-beta-program /docs/features/mobile-app 307
|
||||
/docs/contribution-guidelines /docs/overview/support-the-project#contributing 307
|
||||
/docs/install /docs/install/docker-compose 307
|
||||
|
||||
+1
-1
@@ -1 +1 @@
|
||||
22.16.0
|
||||
22.17.1
|
||||
|
||||
@@ -3,7 +3,6 @@ name: immich-e2e
|
||||
services:
|
||||
immich-server:
|
||||
container_name: immich-e2e-server
|
||||
command: ['./start.sh']
|
||||
image: immich-server:latest
|
||||
build:
|
||||
context: ../
|
||||
@@ -36,10 +35,10 @@ services:
|
||||
- 2285:2285
|
||||
|
||||
redis:
|
||||
image: redis:6.2-alpine@sha256:3211c33a618c457e5d241922c975dbc4f446d0bdb2dc75694f5573ef8e2d01fa
|
||||
image: redis:6.2-alpine@sha256:7fe72c486b910f6b1a9769c937dad5d63648ddee82e056f47417542dd40825bb
|
||||
|
||||
database:
|
||||
image: ghcr.io/immich-app/postgres:14-vectorchord0.3.0@sha256:9c704fb49ce27549df00f1b096cc93f8b0c959ef087507704d74954808f78a82
|
||||
image: ghcr.io/immich-app/postgres:14-vectorchord0.3.0@sha256:3aef84a0a4fabbda17ef115c3019ba0c914ec73e9f6e59203674322d858b8eea
|
||||
command: -c fsync=off -c shared_preload_libraries=vchord.so -c config_file=/var/lib/postgresql/data/postgresql.conf
|
||||
environment:
|
||||
POSTGRES_PASSWORD: postgres
|
||||
|
||||
Generated
+880
-344
File diff suppressed because it is too large
Load Diff
+4
-2
@@ -24,8 +24,9 @@
|
||||
"@immich/cli": "file:../cli",
|
||||
"@immich/sdk": "file:../open-api/typescript-sdk",
|
||||
"@playwright/test": "^1.44.1",
|
||||
"@socket.io/component-emitter": "^3.1.2",
|
||||
"@types/luxon": "^3.4.2",
|
||||
"@types/node": "^22.15.31",
|
||||
"@types/node": "^22.16.4",
|
||||
"@types/oidc-provider": "^9.0.0",
|
||||
"@types/pg": "^8.15.1",
|
||||
"@types/pngjs": "^6.0.4",
|
||||
@@ -44,6 +45,7 @@
|
||||
"pngjs": "^7.0.0",
|
||||
"prettier": "^3.2.5",
|
||||
"prettier-plugin-organize-imports": "^4.0.0",
|
||||
"sharp": "^0.34.0",
|
||||
"socket.io-client": "^4.7.4",
|
||||
"supertest": "^7.0.0",
|
||||
"typescript": "^5.3.3",
|
||||
@@ -52,6 +54,6 @@
|
||||
"vitest": "^3.0.0"
|
||||
},
|
||||
"volta": {
|
||||
"node": "22.16.0"
|
||||
"node": "22.17.1"
|
||||
}
|
||||
}
|
||||
|
||||
@@ -7,6 +7,7 @@ import {
|
||||
ReactionType,
|
||||
createActivity as create,
|
||||
createAlbum,
|
||||
removeAssetFromAlbum,
|
||||
} from '@immich/sdk';
|
||||
import { createUserDto, uuidDto } from 'src/fixtures';
|
||||
import { errorDto } from 'src/responses';
|
||||
@@ -342,5 +343,36 @@ describe('/activities', () => {
|
||||
|
||||
expect(status).toBe(204);
|
||||
});
|
||||
|
||||
it('should return empty list when asset is removed', async () => {
|
||||
const album3 = await createAlbum(
|
||||
{
|
||||
createAlbumDto: {
|
||||
albumName: 'Album 3',
|
||||
assetIds: [asset.id],
|
||||
},
|
||||
},
|
||||
{ headers: asBearerAuth(admin.accessToken) },
|
||||
);
|
||||
|
||||
await createActivity({ albumId: album3.id, assetId: asset.id, type: ReactionType.Like });
|
||||
|
||||
await removeAssetFromAlbum(
|
||||
{
|
||||
id: album3.id,
|
||||
bulkIdsDto: {
|
||||
ids: [asset.id],
|
||||
},
|
||||
},
|
||||
{ headers: asBearerAuth(admin.accessToken) },
|
||||
);
|
||||
|
||||
const { status, body } = await request(app)
|
||||
.get('/activities')
|
||||
.query({ albumId: album.id })
|
||||
.set('Authorization', `Bearer ${admin.accessToken}`);
|
||||
expect(status).toEqual(200);
|
||||
expect(body).toEqual([]);
|
||||
});
|
||||
});
|
||||
});
|
||||
|
||||
@@ -20,7 +20,7 @@ describe('/api-keys', () => {
|
||||
});
|
||||
|
||||
beforeEach(async () => {
|
||||
await utils.resetDatabase(['api_keys']);
|
||||
await utils.resetDatabase(['api_key']);
|
||||
});
|
||||
|
||||
describe('POST /api-keys', () => {
|
||||
|
||||
@@ -15,6 +15,7 @@ import { DateTime } from 'luxon';
|
||||
import { randomBytes } from 'node:crypto';
|
||||
import { readFile, writeFile } from 'node:fs/promises';
|
||||
import { basename, join } from 'node:path';
|
||||
import sharp from 'sharp';
|
||||
import { Socket } from 'socket.io-client';
|
||||
import { createUserDto, uuidDto } from 'src/fixtures';
|
||||
import { makeRandomImage } from 'src/generators';
|
||||
@@ -40,6 +41,40 @@ const today = DateTime.fromObject({
|
||||
}) as DateTime<true>;
|
||||
const yesterday = today.minus({ days: 1 });
|
||||
|
||||
const createTestImageWithExif = async (filename: string, exifData: Record<string, any>) => {
|
||||
// Generate unique color to ensure different checksums for each image
|
||||
const r = Math.floor(Math.random() * 256);
|
||||
const g = Math.floor(Math.random() * 256);
|
||||
const b = Math.floor(Math.random() * 256);
|
||||
|
||||
// Create a 100x100 solid color JPEG using Sharp
|
||||
const imageBytes = await sharp({
|
||||
create: {
|
||||
width: 100,
|
||||
height: 100,
|
||||
channels: 3,
|
||||
background: { r, g, b },
|
||||
},
|
||||
})
|
||||
.jpeg({ quality: 90 })
|
||||
.toBuffer();
|
||||
|
||||
// Add random suffix to filename to avoid collisions
|
||||
const uniqueFilename = filename.replace('.jpg', `-${randomBytes(4).toString('hex')}.jpg`);
|
||||
const filepath = join(tempDir, uniqueFilename);
|
||||
await writeFile(filepath, imageBytes);
|
||||
|
||||
// Filter out undefined values before writing EXIF
|
||||
const cleanExifData = Object.fromEntries(Object.entries(exifData).filter(([, value]) => value !== undefined));
|
||||
|
||||
await exiftool.write(filepath, cleanExifData);
|
||||
|
||||
// Re-read the image bytes after EXIF has been written
|
||||
const finalImageBytes = await readFile(filepath);
|
||||
|
||||
return { filepath, imageBytes: finalImageBytes, filename: uniqueFilename };
|
||||
};
|
||||
|
||||
describe('/asset', () => {
|
||||
let admin: LoginResponseDto;
|
||||
let websocket: Socket;
|
||||
@@ -1190,6 +1225,411 @@ describe('/asset', () => {
|
||||
});
|
||||
});
|
||||
|
||||
describe('EXIF metadata extraction', () => {
|
||||
describe('Additional date tag extraction', () => {
|
||||
describe('Date-time vs time-only tag handling', () => {
|
||||
it('should fall back to file timestamps when only time-only tags are available', async () => {
|
||||
const { imageBytes, filename } = await createTestImageWithExif('time-only-fallback.jpg', {
|
||||
TimeCreated: '2023:11:15 14:30:00', // Time-only tag, should not be used for dateTimeOriginal
|
||||
// Exclude all date-time tags to force fallback to file timestamps
|
||||
SubSecDateTimeOriginal: undefined,
|
||||
DateTimeOriginal: undefined,
|
||||
SubSecCreateDate: undefined,
|
||||
SubSecMediaCreateDate: undefined,
|
||||
CreateDate: undefined,
|
||||
MediaCreateDate: undefined,
|
||||
CreationDate: undefined,
|
||||
DateTimeCreated: undefined,
|
||||
GPSDateTime: undefined,
|
||||
DateTimeUTC: undefined,
|
||||
SonyDateTime2: undefined,
|
||||
GPSDateStamp: undefined,
|
||||
});
|
||||
|
||||
const oldDate = new Date('2020-01-01T00:00:00.000Z');
|
||||
const asset = await utils.createAsset(admin.accessToken, {
|
||||
assetData: {
|
||||
filename,
|
||||
bytes: imageBytes,
|
||||
},
|
||||
fileCreatedAt: oldDate.toISOString(),
|
||||
fileModifiedAt: oldDate.toISOString(),
|
||||
});
|
||||
|
||||
await utils.waitForWebsocketEvent({ event: 'assetUpload', id: asset.id });
|
||||
|
||||
const assetInfo = await getAssetInfo({ id: asset.id }, { headers: asBearerAuth(admin.accessToken) });
|
||||
|
||||
expect(assetInfo.exifInfo?.dateTimeOriginal).toBeDefined();
|
||||
// Should fall back to file timestamps, which we set to 2020-01-01
|
||||
expect(new Date(assetInfo.exifInfo!.dateTimeOriginal!).getTime()).toBe(
|
||||
new Date('2020-01-01T00:00:00.000Z').getTime(),
|
||||
);
|
||||
});
|
||||
|
||||
it('should prefer DateTimeOriginal over time-only tags', async () => {
|
||||
const { imageBytes, filename } = await createTestImageWithExif('datetime-over-time.jpg', {
|
||||
DateTimeOriginal: '2023:10:10 10:00:00', // Should be preferred
|
||||
TimeCreated: '2023:11:15 14:30:00', // Should be ignored (time-only)
|
||||
});
|
||||
|
||||
const asset = await utils.createAsset(admin.accessToken, {
|
||||
assetData: {
|
||||
filename,
|
||||
bytes: imageBytes,
|
||||
},
|
||||
});
|
||||
|
||||
await utils.waitForWebsocketEvent({ event: 'assetUpload', id: asset.id });
|
||||
|
||||
const assetInfo = await getAssetInfo({ id: asset.id }, { headers: asBearerAuth(admin.accessToken) });
|
||||
|
||||
expect(assetInfo.exifInfo?.dateTimeOriginal).toBeDefined();
|
||||
// Should use DateTimeOriginal, not TimeCreated
|
||||
expect(new Date(assetInfo.exifInfo!.dateTimeOriginal!).getTime()).toBe(
|
||||
new Date('2023-10-10T10:00:00.000Z').getTime(),
|
||||
);
|
||||
});
|
||||
});
|
||||
|
||||
describe('GPSDateTime tag extraction', () => {
|
||||
it('should extract GPSDateTime with GPS coordinates', async () => {
|
||||
const { imageBytes, filename } = await createTestImageWithExif('gps-datetime.jpg', {
|
||||
GPSDateTime: '2023:11:15 12:30:00Z',
|
||||
GPSLatitude: 37.7749,
|
||||
GPSLongitude: -122.4194,
|
||||
// Exclude other date tags
|
||||
SubSecDateTimeOriginal: undefined,
|
||||
DateTimeOriginal: undefined,
|
||||
SubSecCreateDate: undefined,
|
||||
SubSecMediaCreateDate: undefined,
|
||||
CreateDate: undefined,
|
||||
MediaCreateDate: undefined,
|
||||
CreationDate: undefined,
|
||||
DateTimeCreated: undefined,
|
||||
TimeCreated: undefined,
|
||||
});
|
||||
|
||||
const asset = await utils.createAsset(admin.accessToken, {
|
||||
assetData: {
|
||||
filename,
|
||||
bytes: imageBytes,
|
||||
},
|
||||
});
|
||||
|
||||
await utils.waitForWebsocketEvent({ event: 'assetUpload', id: asset.id });
|
||||
|
||||
const assetInfo = await getAssetInfo({ id: asset.id }, { headers: asBearerAuth(admin.accessToken) });
|
||||
|
||||
expect(assetInfo.exifInfo?.dateTimeOriginal).toBeDefined();
|
||||
expect(assetInfo.exifInfo?.latitude).toBeCloseTo(37.7749, 4);
|
||||
expect(assetInfo.exifInfo?.longitude).toBeCloseTo(-122.4194, 4);
|
||||
expect(new Date(assetInfo.exifInfo!.dateTimeOriginal!).getTime()).toBe(
|
||||
new Date('2023-11-15T12:30:00.000Z').getTime(),
|
||||
);
|
||||
});
|
||||
});
|
||||
|
||||
describe('CreateDate tag extraction', () => {
|
||||
it('should extract CreateDate when available', async () => {
|
||||
const { imageBytes, filename } = await createTestImageWithExif('create-date.jpg', {
|
||||
CreateDate: '2023:11:15 10:30:00',
|
||||
// Exclude other higher priority date tags
|
||||
SubSecDateTimeOriginal: undefined,
|
||||
DateTimeOriginal: undefined,
|
||||
SubSecCreateDate: undefined,
|
||||
SubSecMediaCreateDate: undefined,
|
||||
MediaCreateDate: undefined,
|
||||
CreationDate: undefined,
|
||||
DateTimeCreated: undefined,
|
||||
TimeCreated: undefined,
|
||||
GPSDateTime: undefined,
|
||||
});
|
||||
|
||||
const asset = await utils.createAsset(admin.accessToken, {
|
||||
assetData: {
|
||||
filename,
|
||||
bytes: imageBytes,
|
||||
},
|
||||
});
|
||||
|
||||
await utils.waitForWebsocketEvent({ event: 'assetUpload', id: asset.id });
|
||||
|
||||
const assetInfo = await getAssetInfo({ id: asset.id }, { headers: asBearerAuth(admin.accessToken) });
|
||||
|
||||
expect(assetInfo.exifInfo?.dateTimeOriginal).toBeDefined();
|
||||
expect(new Date(assetInfo.exifInfo!.dateTimeOriginal!).getTime()).toBe(
|
||||
new Date('2023-11-15T10:30:00.000Z').getTime(),
|
||||
);
|
||||
});
|
||||
});
|
||||
|
||||
describe('GPSDateStamp tag extraction', () => {
|
||||
it('should fall back to file timestamps when only date-only tags are available', async () => {
|
||||
const { imageBytes, filename } = await createTestImageWithExif('gps-datestamp.jpg', {
|
||||
GPSDateStamp: '2023:11:15', // Date-only tag, should not be used for dateTimeOriginal
|
||||
// Note: NOT including GPSTimeStamp to avoid automatic GPSDateTime creation
|
||||
GPSLatitude: 51.5074,
|
||||
GPSLongitude: -0.1278,
|
||||
// Explicitly exclude all testable date-time tags to force fallback to file timestamps
|
||||
DateTimeOriginal: undefined,
|
||||
CreateDate: undefined,
|
||||
CreationDate: undefined,
|
||||
GPSDateTime: undefined,
|
||||
});
|
||||
|
||||
const oldDate = new Date('2020-01-01T00:00:00.000Z');
|
||||
const asset = await utils.createAsset(admin.accessToken, {
|
||||
assetData: {
|
||||
filename,
|
||||
bytes: imageBytes,
|
||||
},
|
||||
fileCreatedAt: oldDate.toISOString(),
|
||||
fileModifiedAt: oldDate.toISOString(),
|
||||
});
|
||||
|
||||
await utils.waitForWebsocketEvent({ event: 'assetUpload', id: asset.id });
|
||||
|
||||
const assetInfo = await getAssetInfo({ id: asset.id }, { headers: asBearerAuth(admin.accessToken) });
|
||||
|
||||
expect(assetInfo.exifInfo?.dateTimeOriginal).toBeDefined();
|
||||
expect(assetInfo.exifInfo?.latitude).toBeCloseTo(51.5074, 4);
|
||||
expect(assetInfo.exifInfo?.longitude).toBeCloseTo(-0.1278, 4);
|
||||
// Should fall back to file timestamps, which we set to 2020-01-01
|
||||
expect(new Date(assetInfo.exifInfo!.dateTimeOriginal!).getTime()).toBe(
|
||||
new Date('2020-01-01T00:00:00.000Z').getTime(),
|
||||
);
|
||||
});
|
||||
});
|
||||
|
||||
/*
|
||||
* NOTE: The following EXIF date tags are NOT effectively usable with JPEG test files:
|
||||
*
|
||||
* NOT WRITABLE to JPEG:
|
||||
* - MediaCreateDate: Can be read from video files but not written to JPEG
|
||||
* - DateTimeCreated: Read-only tag in JPEG format
|
||||
* - DateTimeUTC: Cannot be written to JPEG files
|
||||
* - SonyDateTime2: Proprietary Sony tag, not writable to JPEG
|
||||
* - SubSecMediaCreateDate: Tag not defined for JPEG format
|
||||
* - SourceImageCreateTime: Non-standard insta360 tag, not writable to JPEG
|
||||
*
|
||||
* WRITABLE but NOT READABLE from JPEG:
|
||||
* - SubSecDateTimeOriginal: Can be written but not read back from JPEG
|
||||
* - SubSecCreateDate: Can be written but not read back from JPEG
|
||||
*
|
||||
* EFFECTIVELY TESTABLE TAGS (writable and readable):
|
||||
* - DateTimeOriginal тЬУ
|
||||
* - CreateDate тЬУ
|
||||
* - CreationDate тЬУ
|
||||
* - GPSDateTime тЬУ
|
||||
*
|
||||
* The metadata service correctly handles non-readable tags and will fall back to
|
||||
* file timestamps when only non-readable tags are present.
|
||||
*/
|
||||
|
||||
describe('Date tag priority order', () => {
|
||||
it('should respect the complete date tag priority order', async () => {
|
||||
// Test cases using only EFFECTIVELY TESTABLE tags (writable AND readable from JPEG)
|
||||
const testCases = [
|
||||
{
|
||||
name: 'DateTimeOriginal has highest priority among testable tags',
|
||||
exifData: {
|
||||
DateTimeOriginal: '2023:04:04 04:00:00', // TESTABLE - highest priority among readable tags
|
||||
CreateDate: '2023:05:05 05:00:00', // TESTABLE
|
||||
CreationDate: '2023:07:07 07:00:00', // TESTABLE
|
||||
GPSDateTime: '2023:10:10 10:00:00', // TESTABLE
|
||||
},
|
||||
expectedDate: '2023-04-04T04:00:00.000Z',
|
||||
},
|
||||
{
|
||||
name: 'CreateDate when DateTimeOriginal missing',
|
||||
exifData: {
|
||||
CreateDate: '2023:05:05 05:00:00', // TESTABLE
|
||||
CreationDate: '2023:07:07 07:00:00', // TESTABLE
|
||||
GPSDateTime: '2023:10:10 10:00:00', // TESTABLE
|
||||
},
|
||||
expectedDate: '2023-05-05T05:00:00.000Z',
|
||||
},
|
||||
{
|
||||
name: 'CreationDate when standard EXIF tags missing',
|
||||
exifData: {
|
||||
CreationDate: '2023:07:07 07:00:00', // TESTABLE
|
||||
GPSDateTime: '2023:10:10 10:00:00', // TESTABLE
|
||||
},
|
||||
expectedDate: '2023-07-07T07:00:00.000Z',
|
||||
},
|
||||
{
|
||||
name: 'GPSDateTime when no other testable date tags present',
|
||||
exifData: {
|
||||
GPSDateTime: '2023:10:10 10:00:00', // TESTABLE
|
||||
Make: 'SONY',
|
||||
},
|
||||
expectedDate: '2023-10-10T10:00:00.000Z',
|
||||
},
|
||||
];
|
||||
|
||||
for (const testCase of testCases) {
|
||||
const { imageBytes, filename } = await createTestImageWithExif(
|
||||
`${testCase.name.replaceAll(/\s+/g, '-').toLowerCase()}.jpg`,
|
||||
testCase.exifData,
|
||||
);
|
||||
|
||||
const asset = await utils.createAsset(admin.accessToken, {
|
||||
assetData: {
|
||||
filename,
|
||||
bytes: imageBytes,
|
||||
},
|
||||
});
|
||||
|
||||
await utils.waitForWebsocketEvent({ event: 'assetUpload', id: asset.id });
|
||||
|
||||
const assetInfo = await getAssetInfo({ id: asset.id }, { headers: asBearerAuth(admin.accessToken) });
|
||||
|
||||
expect(assetInfo.exifInfo?.dateTimeOriginal, `Failed for: ${testCase.name}`).toBeDefined();
|
||||
expect(
|
||||
new Date(assetInfo.exifInfo!.dateTimeOriginal!).getTime(),
|
||||
`Date mismatch for: ${testCase.name}`,
|
||||
).toBe(new Date(testCase.expectedDate).getTime());
|
||||
}
|
||||
});
|
||||
});
|
||||
|
||||
describe('Edge cases for date tag handling', () => {
|
||||
it('should fall back to file timestamps with GPSDateStamp alone', async () => {
|
||||
const { imageBytes, filename } = await createTestImageWithExif('gps-datestamp-only.jpg', {
|
||||
GPSDateStamp: '2023:08:08', // Date-only tag, should not be used for dateTimeOriginal
|
||||
// Intentionally no GPSTimeStamp
|
||||
// Exclude all other date tags
|
||||
SubSecDateTimeOriginal: undefined,
|
||||
DateTimeOriginal: undefined,
|
||||
SubSecCreateDate: undefined,
|
||||
SubSecMediaCreateDate: undefined,
|
||||
CreateDate: undefined,
|
||||
MediaCreateDate: undefined,
|
||||
CreationDate: undefined,
|
||||
DateTimeCreated: undefined,
|
||||
TimeCreated: undefined,
|
||||
GPSDateTime: undefined,
|
||||
DateTimeUTC: undefined,
|
||||
});
|
||||
|
||||
const oldDate = new Date('2020-01-01T00:00:00.000Z');
|
||||
const asset = await utils.createAsset(admin.accessToken, {
|
||||
assetData: {
|
||||
filename,
|
||||
bytes: imageBytes,
|
||||
},
|
||||
fileCreatedAt: oldDate.toISOString(),
|
||||
fileModifiedAt: oldDate.toISOString(),
|
||||
});
|
||||
|
||||
await utils.waitForWebsocketEvent({ event: 'assetUpload', id: asset.id });
|
||||
|
||||
const assetInfo = await getAssetInfo({ id: asset.id }, { headers: asBearerAuth(admin.accessToken) });
|
||||
|
||||
expect(assetInfo.exifInfo?.dateTimeOriginal).toBeDefined();
|
||||
// Should fall back to file timestamps, which we set to 2020-01-01
|
||||
expect(new Date(assetInfo.exifInfo!.dateTimeOriginal!).getTime()).toBe(
|
||||
new Date('2020-01-01T00:00:00.000Z').getTime(),
|
||||
);
|
||||
});
|
||||
|
||||
it('should handle all testable date tags present to verify complete priority order', async () => {
|
||||
const { imageBytes, filename } = await createTestImageWithExif('all-testable-date-tags.jpg', {
|
||||
// All TESTABLE date tags to JPEG format (writable AND readable)
|
||||
DateTimeOriginal: '2023:04:04 04:00:00', // TESTABLE - highest priority among readable tags
|
||||
CreateDate: '2023:05:05 05:00:00', // TESTABLE
|
||||
CreationDate: '2023:07:07 07:00:00', // TESTABLE
|
||||
GPSDateTime: '2023:10:10 10:00:00', // TESTABLE
|
||||
// Note: Excluded non-testable tags:
|
||||
// SubSec tags: writable but not readable from JPEG
|
||||
// Non-writable tags: MediaCreateDate, DateTimeCreated, DateTimeUTC, SonyDateTime2, etc.
|
||||
// Time-only/date-only tags: already excluded from EXIF_DATE_TAGS
|
||||
});
|
||||
|
||||
const asset = await utils.createAsset(admin.accessToken, {
|
||||
assetData: {
|
||||
filename,
|
||||
bytes: imageBytes,
|
||||
},
|
||||
});
|
||||
|
||||
await utils.waitForWebsocketEvent({ event: 'assetUpload', id: asset.id });
|
||||
|
||||
const assetInfo = await getAssetInfo({ id: asset.id }, { headers: asBearerAuth(admin.accessToken) });
|
||||
|
||||
expect(assetInfo.exifInfo?.dateTimeOriginal).toBeDefined();
|
||||
// Should use DateTimeOriginal as it has the highest priority among testable tags
|
||||
expect(new Date(assetInfo.exifInfo!.dateTimeOriginal!).getTime()).toBe(
|
||||
new Date('2023-04-04T04:00:00.000Z').getTime(),
|
||||
);
|
||||
});
|
||||
|
||||
it('should use CreationDate when SubSec tags are missing', async () => {
|
||||
const { imageBytes, filename } = await createTestImageWithExif('creation-date-priority.jpg', {
|
||||
CreationDate: '2023:07:07 07:00:00', // WRITABLE
|
||||
GPSDateTime: '2023:10:10 10:00:00', // WRITABLE
|
||||
// Note: DateTimeCreated, DateTimeUTC, SonyDateTime2 are NOT writable to JPEG
|
||||
// Note: TimeCreated and GPSDateStamp are excluded from EXIF_DATE_TAGS (time-only/date-only)
|
||||
// Exclude SubSec and standard EXIF tags
|
||||
SubSecDateTimeOriginal: undefined,
|
||||
DateTimeOriginal: undefined,
|
||||
SubSecCreateDate: undefined,
|
||||
CreateDate: undefined,
|
||||
});
|
||||
|
||||
const asset = await utils.createAsset(admin.accessToken, {
|
||||
assetData: {
|
||||
filename,
|
||||
bytes: imageBytes,
|
||||
},
|
||||
});
|
||||
|
||||
await utils.waitForWebsocketEvent({ event: 'assetUpload', id: asset.id });
|
||||
|
||||
const assetInfo = await getAssetInfo({ id: asset.id }, { headers: asBearerAuth(admin.accessToken) });
|
||||
|
||||
expect(assetInfo.exifInfo?.dateTimeOriginal).toBeDefined();
|
||||
// Should use CreationDate when available
|
||||
expect(new Date(assetInfo.exifInfo!.dateTimeOriginal!).getTime()).toBe(
|
||||
new Date('2023-07-07T07:00:00.000Z').getTime(),
|
||||
);
|
||||
});
|
||||
|
||||
it('should skip invalid date formats and use next valid tag', async () => {
|
||||
const { imageBytes, filename } = await createTestImageWithExif('invalid-date-handling.jpg', {
|
||||
// Note: Testing invalid date handling with only WRITABLE tags
|
||||
GPSDateTime: '2023:10:10 10:00:00', // WRITABLE - Valid date
|
||||
CreationDate: '2023:13:13 13:00:00', // WRITABLE - Valid date
|
||||
// Note: TimeCreated excluded (time-only), DateTimeCreated not writable to JPEG
|
||||
// Exclude other date tags
|
||||
SubSecDateTimeOriginal: undefined,
|
||||
DateTimeOriginal: undefined,
|
||||
SubSecCreateDate: undefined,
|
||||
CreateDate: undefined,
|
||||
});
|
||||
|
||||
const asset = await utils.createAsset(admin.accessToken, {
|
||||
assetData: {
|
||||
filename,
|
||||
bytes: imageBytes,
|
||||
},
|
||||
});
|
||||
|
||||
await utils.waitForWebsocketEvent({ event: 'assetUpload', id: asset.id });
|
||||
|
||||
const assetInfo = await getAssetInfo({ id: asset.id }, { headers: asBearerAuth(admin.accessToken) });
|
||||
|
||||
expect(assetInfo.exifInfo?.dateTimeOriginal).toBeDefined();
|
||||
// Should skip invalid dates and use the first valid one (GPSDateTime)
|
||||
expect(new Date(assetInfo.exifInfo!.dateTimeOriginal!).getTime()).toBe(
|
||||
new Date('2023-10-10T10:00:00.000Z').getTime(),
|
||||
);
|
||||
});
|
||||
});
|
||||
});
|
||||
});
|
||||
|
||||
describe('POST /assets/exist', () => {
|
||||
it('ignores invalid deviceAssetIds', async () => {
|
||||
const response = await utils.checkExistingAssets(user1.accessToken, {
|
||||
|
||||
@@ -1,146 +0,0 @@
|
||||
import { LoginResponseDto, login, signUpAdmin } from '@immich/sdk';
|
||||
import { loginDto, signupDto } from 'src/fixtures';
|
||||
import { errorDto, loginResponseDto, signupResponseDto } from 'src/responses';
|
||||
import { app, utils } from 'src/utils';
|
||||
import request from 'supertest';
|
||||
import { beforeEach, describe, expect, it } from 'vitest';
|
||||
|
||||
const { email, password } = signupDto.admin;
|
||||
|
||||
describe(`/auth/admin-sign-up`, () => {
|
||||
beforeEach(async () => {
|
||||
await utils.resetDatabase();
|
||||
});
|
||||
|
||||
describe('POST /auth/admin-sign-up', () => {
|
||||
it(`should sign up the admin`, async () => {
|
||||
const { status, body } = await request(app).post('/auth/admin-sign-up').send(signupDto.admin);
|
||||
expect(status).toBe(201);
|
||||
expect(body).toEqual(signupResponseDto.admin);
|
||||
});
|
||||
|
||||
it('should not allow a second admin to sign up', async () => {
|
||||
await signUpAdmin({ signUpDto: signupDto.admin });
|
||||
|
||||
const { status, body } = await request(app).post('/auth/admin-sign-up').send(signupDto.admin);
|
||||
|
||||
expect(status).toBe(400);
|
||||
expect(body).toEqual(errorDto.alreadyHasAdmin);
|
||||
});
|
||||
});
|
||||
});
|
||||
|
||||
describe('/auth/*', () => {
|
||||
let admin: LoginResponseDto;
|
||||
|
||||
beforeEach(async () => {
|
||||
await utils.resetDatabase();
|
||||
await signUpAdmin({ signUpDto: signupDto.admin });
|
||||
admin = await login({ loginCredentialDto: loginDto.admin });
|
||||
});
|
||||
|
||||
describe(`POST /auth/login`, () => {
|
||||
it('should reject an incorrect password', async () => {
|
||||
const { status, body } = await request(app).post('/auth/login').send({ email, password: 'incorrect' });
|
||||
expect(status).toBe(401);
|
||||
expect(body).toEqual(errorDto.incorrectLogin);
|
||||
});
|
||||
|
||||
it('should accept a correct password', async () => {
|
||||
const { status, body, headers } = await request(app).post('/auth/login').send({ email, password });
|
||||
expect(status).toBe(201);
|
||||
expect(body).toEqual(loginResponseDto.admin);
|
||||
|
||||
const token = body.accessToken;
|
||||
expect(token).toBeDefined();
|
||||
|
||||
const cookies = headers['set-cookie'];
|
||||
expect(cookies).toHaveLength(3);
|
||||
expect(cookies[0].split(';').map((item) => item.trim())).toEqual([
|
||||
`immich_access_token=${token}`,
|
||||
'Max-Age=34560000',
|
||||
'Path=/',
|
||||
expect.stringContaining('Expires='),
|
||||
'HttpOnly',
|
||||
'SameSite=Lax',
|
||||
]);
|
||||
expect(cookies[1].split(';').map((item) => item.trim())).toEqual([
|
||||
'immich_auth_type=password',
|
||||
'Max-Age=34560000',
|
||||
'Path=/',
|
||||
expect.stringContaining('Expires='),
|
||||
'HttpOnly',
|
||||
'SameSite=Lax',
|
||||
]);
|
||||
expect(cookies[2].split(';').map((item) => item.trim())).toEqual([
|
||||
'immich_is_authenticated=true',
|
||||
'Max-Age=34560000',
|
||||
'Path=/',
|
||||
expect.stringContaining('Expires='),
|
||||
'SameSite=Lax',
|
||||
]);
|
||||
});
|
||||
});
|
||||
|
||||
describe('POST /auth/validateToken', () => {
|
||||
it('should reject an invalid token', async () => {
|
||||
const { status, body } = await request(app).post(`/auth/validateToken`).set('Authorization', 'Bearer 123');
|
||||
expect(status).toBe(401);
|
||||
expect(body).toEqual(errorDto.invalidToken);
|
||||
});
|
||||
|
||||
it('should accept a valid token', async () => {
|
||||
const { status, body } = await request(app)
|
||||
.post(`/auth/validateToken`)
|
||||
.send({})
|
||||
.set('Authorization', `Bearer ${admin.accessToken}`);
|
||||
expect(status).toBe(200);
|
||||
expect(body).toEqual({ authStatus: true });
|
||||
});
|
||||
});
|
||||
|
||||
describe('POST /auth/change-password', () => {
|
||||
it('should require the current password', async () => {
|
||||
const { status, body } = await request(app)
|
||||
.post(`/auth/change-password`)
|
||||
.send({ password: 'wrong-password', newPassword: 'Password1234' })
|
||||
.set('Authorization', `Bearer ${admin.accessToken}`);
|
||||
expect(status).toBe(400);
|
||||
expect(body).toEqual(errorDto.wrongPassword);
|
||||
});
|
||||
|
||||
it('should change the password', async () => {
|
||||
const { status } = await request(app)
|
||||
.post(`/auth/change-password`)
|
||||
.send({ password, newPassword: 'Password1234' })
|
||||
.set('Authorization', `Bearer ${admin.accessToken}`);
|
||||
expect(status).toBe(200);
|
||||
|
||||
await login({
|
||||
loginCredentialDto: {
|
||||
email: 'admin@immich.cloud',
|
||||
password: 'Password1234',
|
||||
},
|
||||
});
|
||||
});
|
||||
});
|
||||
|
||||
describe('POST /auth/logout', () => {
|
||||
it('should require authentication', async () => {
|
||||
const { status, body } = await request(app).post(`/auth/logout`);
|
||||
expect(status).toBe(401);
|
||||
expect(body).toEqual(errorDto.unauthorized);
|
||||
});
|
||||
|
||||
it('should logout the user', async () => {
|
||||
const { status, body } = await request(app)
|
||||
.post(`/auth/logout`)
|
||||
.set('Authorization', `Bearer ${admin.accessToken}`);
|
||||
expect(status).toBe(200);
|
||||
expect(body).toEqual({
|
||||
successful: true,
|
||||
redirectUri: '/auth/login?autoLaunch=0',
|
||||
});
|
||||
});
|
||||
});
|
||||
});
|
||||
@@ -6,7 +6,7 @@ import {
|
||||
createMemory,
|
||||
getMemory,
|
||||
} from '@immich/sdk';
|
||||
import { createUserDto, uuidDto } from 'src/fixtures';
|
||||
import { createUserDto } from 'src/fixtures';
|
||||
import { errorDto } from 'src/responses';
|
||||
import { app, asBearerAuth, utils } from 'src/utils';
|
||||
import request from 'supertest';
|
||||
@@ -17,7 +17,6 @@ describe('/memories', () => {
|
||||
let user: LoginResponseDto;
|
||||
let adminAsset: AssetMediaResponseDto;
|
||||
let userAsset1: AssetMediaResponseDto;
|
||||
let userAsset2: AssetMediaResponseDto;
|
||||
let userMemory: MemoryResponseDto;
|
||||
|
||||
beforeAll(async () => {
|
||||
@@ -25,10 +24,9 @@ describe('/memories', () => {
|
||||
|
||||
admin = await utils.adminSetup();
|
||||
user = await utils.userSetup(admin.accessToken, createUserDto.user1);
|
||||
[adminAsset, userAsset1, userAsset2] = await Promise.all([
|
||||
[adminAsset, userAsset1] = await Promise.all([
|
||||
utils.createAsset(admin.accessToken),
|
||||
utils.createAsset(user.accessToken),
|
||||
utils.createAsset(user.accessToken),
|
||||
]);
|
||||
userMemory = await createMemory(
|
||||
{
|
||||
@@ -43,121 +41,7 @@ describe('/memories', () => {
|
||||
);
|
||||
});
|
||||
|
||||
describe('GET /memories', () => {
|
||||
it('should require authentication', async () => {
|
||||
const { status, body } = await request(app).get('/memories');
|
||||
|
||||
expect(status).toBe(401);
|
||||
expect(body).toEqual(errorDto.unauthorized);
|
||||
});
|
||||
});
|
||||
|
||||
describe('POST /memories', () => {
|
||||
it('should require authentication', async () => {
|
||||
const { status, body } = await request(app).post('/memories');
|
||||
|
||||
expect(status).toBe(401);
|
||||
expect(body).toEqual(errorDto.unauthorized);
|
||||
});
|
||||
|
||||
it('should validate data when type is on this day', async () => {
|
||||
const { status, body } = await request(app)
|
||||
.post('/memories')
|
||||
.set('Authorization', `Bearer ${user.accessToken}`)
|
||||
.send({
|
||||
type: 'on_this_day',
|
||||
data: {},
|
||||
memoryAt: new Date(2021).toISOString(),
|
||||
});
|
||||
|
||||
expect(status).toBe(400);
|
||||
expect(body).toEqual(
|
||||
errorDto.badRequest(['data.year must be a positive number', 'data.year must be an integer number']),
|
||||
);
|
||||
});
|
||||
|
||||
it('should create a new memory', async () => {
|
||||
const { status, body } = await request(app)
|
||||
.post('/memories')
|
||||
.set('Authorization', `Bearer ${user.accessToken}`)
|
||||
.send({
|
||||
type: 'on_this_day',
|
||||
data: { year: 2021 },
|
||||
memoryAt: new Date(2021).toISOString(),
|
||||
});
|
||||
|
||||
expect(status).toBe(201);
|
||||
expect(body).toEqual({
|
||||
id: expect.any(String),
|
||||
type: 'on_this_day',
|
||||
data: { year: 2021 },
|
||||
createdAt: expect.any(String),
|
||||
updatedAt: expect.any(String),
|
||||
isSaved: false,
|
||||
memoryAt: expect.any(String),
|
||||
ownerId: user.userId,
|
||||
assets: [],
|
||||
});
|
||||
});
|
||||
|
||||
it('should create a new memory (with assets)', async () => {
|
||||
const { status, body } = await request(app)
|
||||
.post('/memories')
|
||||
.set('Authorization', `Bearer ${user.accessToken}`)
|
||||
.send({
|
||||
type: 'on_this_day',
|
||||
data: { year: 2021 },
|
||||
memoryAt: new Date(2021).toISOString(),
|
||||
assetIds: [userAsset1.id, userAsset2.id],
|
||||
});
|
||||
|
||||
expect(status).toBe(201);
|
||||
expect(body).toMatchObject({
|
||||
id: expect.any(String),
|
||||
assets: expect.arrayContaining([
|
||||
expect.objectContaining({ id: userAsset1.id }),
|
||||
expect.objectContaining({ id: userAsset2.id }),
|
||||
]),
|
||||
});
|
||||
expect(body.assets).toHaveLength(2);
|
||||
});
|
||||
|
||||
it('should create a new memory and ignore assets the user does not have access to', async () => {
|
||||
const { status, body } = await request(app)
|
||||
.post('/memories')
|
||||
.set('Authorization', `Bearer ${user.accessToken}`)
|
||||
.send({
|
||||
type: 'on_this_day',
|
||||
data: { year: 2021 },
|
||||
memoryAt: new Date(2021).toISOString(),
|
||||
assetIds: [userAsset1.id, adminAsset.id],
|
||||
});
|
||||
|
||||
expect(status).toBe(201);
|
||||
expect(body).toMatchObject({
|
||||
id: expect.any(String),
|
||||
assets: [expect.objectContaining({ id: userAsset1.id })],
|
||||
});
|
||||
expect(body.assets).toHaveLength(1);
|
||||
});
|
||||
});
|
||||
|
||||
describe('GET /memories/:id', () => {
|
||||
it('should require authentication', async () => {
|
||||
const { status, body } = await request(app).get(`/memories/${uuidDto.invalid}`);
|
||||
|
||||
expect(status).toBe(401);
|
||||
expect(body).toEqual(errorDto.unauthorized);
|
||||
});
|
||||
|
||||
it('should require a valid id', async () => {
|
||||
const { status, body } = await request(app)
|
||||
.get(`/memories/${uuidDto.invalid}`)
|
||||
.set('Authorization', `Bearer ${user.accessToken}`);
|
||||
expect(status).toBe(400);
|
||||
expect(body).toEqual(errorDto.badRequest(['id must be a UUID']));
|
||||
});
|
||||
|
||||
it('should require access', async () => {
|
||||
const { status, body } = await request(app)
|
||||
.get(`/memories/${userMemory.id}`)
|
||||
@@ -176,22 +60,6 @@ describe('/memories', () => {
|
||||
});
|
||||
|
||||
describe('PUT /memories/:id', () => {
|
||||
it('should require authentication', async () => {
|
||||
const { status, body } = await request(app).put(`/memories/${uuidDto.invalid}`).send({ isSaved: true });
|
||||
|
||||
expect(status).toBe(401);
|
||||
expect(body).toEqual(errorDto.unauthorized);
|
||||
});
|
||||
|
||||
it('should require a valid id', async () => {
|
||||
const { status, body } = await request(app)
|
||||
.put(`/memories/${uuidDto.invalid}`)
|
||||
.send({ isSaved: true })
|
||||
.set('Authorization', `Bearer ${user.accessToken}`);
|
||||
expect(status).toBe(400);
|
||||
expect(body).toEqual(errorDto.badRequest(['id must be a UUID']));
|
||||
});
|
||||
|
||||
it('should require access', async () => {
|
||||
const { status, body } = await request(app)
|
||||
.put(`/memories/${userMemory.id}`)
|
||||
@@ -218,23 +86,6 @@ describe('/memories', () => {
|
||||
});
|
||||
|
||||
describe('PUT /memories/:id/assets', () => {
|
||||
it('should require authentication', async () => {
|
||||
const { status, body } = await request(app)
|
||||
.put(`/memories/${userMemory.id}/assets`)
|
||||
.send({ ids: [userAsset1.id] });
|
||||
expect(status).toBe(401);
|
||||
expect(body).toEqual(errorDto.unauthorized);
|
||||
});
|
||||
|
||||
it('should require a valid id', async () => {
|
||||
const { status, body } = await request(app)
|
||||
.put(`/memories/${uuidDto.invalid}/assets`)
|
||||
.send({ ids: [userAsset1.id] })
|
||||
.set('Authorization', `Bearer ${user.accessToken}`);
|
||||
expect(status).toBe(400);
|
||||
expect(body).toEqual(errorDto.badRequest(['id must be a UUID']));
|
||||
});
|
||||
|
||||
it('should require access', async () => {
|
||||
const { status, body } = await request(app)
|
||||
.put(`/memories/${userMemory.id}/assets`)
|
||||
@@ -244,15 +95,6 @@ describe('/memories', () => {
|
||||
expect(body).toEqual(errorDto.noPermission);
|
||||
});
|
||||
|
||||
it('should require a valid asset id', async () => {
|
||||
const { status, body } = await request(app)
|
||||
.put(`/memories/${userMemory.id}/assets`)
|
||||
.send({ ids: [uuidDto.invalid] })
|
||||
.set('Authorization', `Bearer ${user.accessToken}`);
|
||||
expect(status).toBe(400);
|
||||
expect(body).toEqual(errorDto.badRequest(['each value in ids must be a UUID']));
|
||||
});
|
||||
|
||||
it('should require asset access', async () => {
|
||||
const { status, body } = await request(app)
|
||||
.put(`/memories/${userMemory.id}/assets`)
|
||||
@@ -279,23 +121,6 @@ describe('/memories', () => {
|
||||
});
|
||||
|
||||
describe('DELETE /memories/:id/assets', () => {
|
||||
it('should require authentication', async () => {
|
||||
const { status, body } = await request(app)
|
||||
.delete(`/memories/${userMemory.id}/assets`)
|
||||
.send({ ids: [userAsset1.id] });
|
||||
expect(status).toBe(401);
|
||||
expect(body).toEqual(errorDto.unauthorized);
|
||||
});
|
||||
|
||||
it('should require a valid id', async () => {
|
||||
const { status, body } = await request(app)
|
||||
.delete(`/memories/${uuidDto.invalid}/assets`)
|
||||
.send({ ids: [userAsset1.id] })
|
||||
.set('Authorization', `Bearer ${user.accessToken}`);
|
||||
expect(status).toBe(400);
|
||||
expect(body).toEqual(errorDto.badRequest(['id must be a UUID']));
|
||||
});
|
||||
|
||||
it('should require access', async () => {
|
||||
const { status, body } = await request(app)
|
||||
.delete(`/memories/${userMemory.id}/assets`)
|
||||
@@ -305,15 +130,6 @@ describe('/memories', () => {
|
||||
expect(body).toEqual(errorDto.noPermission);
|
||||
});
|
||||
|
||||
it('should require a valid asset id', async () => {
|
||||
const { status, body } = await request(app)
|
||||
.delete(`/memories/${userMemory.id}/assets`)
|
||||
.send({ ids: [uuidDto.invalid] })
|
||||
.set('Authorization', `Bearer ${user.accessToken}`);
|
||||
expect(status).toBe(400);
|
||||
expect(body).toEqual(errorDto.badRequest(['each value in ids must be a UUID']));
|
||||
});
|
||||
|
||||
it('should only remove assets in the memory', async () => {
|
||||
const { status, body } = await request(app)
|
||||
.delete(`/memories/${userMemory.id}/assets`)
|
||||
@@ -340,21 +156,6 @@ describe('/memories', () => {
|
||||
});
|
||||
|
||||
describe('DELETE /memories/:id', () => {
|
||||
it('should require authentication', async () => {
|
||||
const { status, body } = await request(app).delete(`/memories/${uuidDto.invalid}`);
|
||||
|
||||
expect(status).toBe(401);
|
||||
expect(body).toEqual(errorDto.unauthorized);
|
||||
});
|
||||
|
||||
it('should require a valid id', async () => {
|
||||
const { status, body } = await request(app)
|
||||
.delete(`/memories/${uuidDto.invalid}`)
|
||||
.set('Authorization', `Bearer ${user.accessToken}`);
|
||||
expect(status).toBe(400);
|
||||
expect(body).toEqual(errorDto.badRequest(['id must be a UUID']));
|
||||
});
|
||||
|
||||
it('should require access', async () => {
|
||||
const { status, body } = await request(app)
|
||||
.delete(`/memories/${userMemory.id}`)
|
||||
|
||||
@@ -227,6 +227,21 @@ describe(`/oauth`, () => {
|
||||
expect(user.storageLabel).toBe('user-username');
|
||||
});
|
||||
|
||||
it('should set the admin status from a role claim', async () => {
|
||||
const callbackParams = await loginWithOAuth(OAuthUser.WITH_ROLE);
|
||||
const { status, body } = await request(app).post('/oauth/callback').send(callbackParams);
|
||||
expect(status).toBe(201);
|
||||
expect(body).toMatchObject({
|
||||
accessToken: expect.any(String),
|
||||
userId: expect.any(String),
|
||||
userEmail: 'oauth-with-role@immich.app',
|
||||
isAdmin: true,
|
||||
});
|
||||
|
||||
const user = await getMyUser({ headers: asBearerAuth(body.accessToken) });
|
||||
expect(user.isAdmin).toBe(true);
|
||||
});
|
||||
|
||||
it('should work with RS256 signed tokens', async () => {
|
||||
await setupOAuth(admin.accessToken, {
|
||||
enabled: true,
|
||||
|
||||
@@ -117,8 +117,25 @@ describe('/shared-links', () => {
|
||||
const resp = await request(shareUrl).get(`/${linkWithAssets.key}`);
|
||||
expect(resp.status).toBe(200);
|
||||
expect(resp.header['content-type']).toContain('text/html');
|
||||
expect(resp.text).toContain(`<meta property="og:image" content="http://127.0.0.1:2285`);
|
||||
});
|
||||
|
||||
it('should fall back to my.immich.app og:image meta tag for shared asset if Host header is not present', async () => {
|
||||
const resp = await request(shareUrl).get(`/${linkWithAssets.key}`).set('Host', '');
|
||||
expect(resp.status).toBe(200);
|
||||
expect(resp.header['content-type']).toContain('text/html');
|
||||
expect(resp.text).toContain(`<meta property="og:image" content="https://my.immich.app`);
|
||||
});
|
||||
|
||||
it('should return 404 for an invalid shared link', async () => {
|
||||
const resp = await request(shareUrl).get(`/invalid-key`);
|
||||
expect(resp.status).toBe(404);
|
||||
expect(resp.header['content-type']).toContain('text/html');
|
||||
expect(resp.text).not.toContain(`og:type`);
|
||||
expect(resp.text).not.toContain(`og:title`);
|
||||
expect(resp.text).not.toContain(`og:description`);
|
||||
expect(resp.text).not.toContain(`og:image`);
|
||||
});
|
||||
});
|
||||
|
||||
describe('GET /shared-links', () => {
|
||||
|
||||
@@ -15,12 +15,6 @@ describe('/system-config', () => {
|
||||
});
|
||||
|
||||
describe('PUT /system-config', () => {
|
||||
it('should require authentication', async () => {
|
||||
const { status, body } = await request(app).put('/system-config');
|
||||
expect(status).toBe(401);
|
||||
expect(body).toEqual(errorDto.unauthorized);
|
||||
});
|
||||
|
||||
it('should always return the new config', async () => {
|
||||
const config = await getSystemConfig(admin.accessToken);
|
||||
|
||||
|
||||
@@ -37,7 +37,7 @@ describe('/tags', () => {
|
||||
beforeEach(async () => {
|
||||
// tagging assets eventually triggers metadata extraction which can impact other tests
|
||||
await utils.waitForQueueFinish(admin.accessToken, 'metadataExtraction');
|
||||
await utils.resetDatabase(['tags']);
|
||||
await utils.resetDatabase(['tag']);
|
||||
});
|
||||
|
||||
describe('POST /tags', () => {
|
||||
|
||||
@@ -1,230 +0,0 @@
|
||||
import {
|
||||
AssetMediaResponseDto,
|
||||
AssetVisibility,
|
||||
LoginResponseDto,
|
||||
SharedLinkType,
|
||||
TimeBucketAssetResponseDto,
|
||||
} from '@immich/sdk';
|
||||
import { DateTime } from 'luxon';
|
||||
import { createUserDto } from 'src/fixtures';
|
||||
import { errorDto } from 'src/responses';
|
||||
import { app, utils } from 'src/utils';
|
||||
import request from 'supertest';
|
||||
import { beforeAll, describe, expect, it } from 'vitest';
|
||||
|
||||
// TODO this should probably be a test util function
|
||||
const today = DateTime.fromObject({
|
||||
year: 2023,
|
||||
month: 11,
|
||||
day: 3,
|
||||
}) as DateTime<true>;
|
||||
const yesterday = today.minus({ days: 1 });
|
||||
|
||||
describe('/timeline', () => {
|
||||
let admin: LoginResponseDto;
|
||||
let user: LoginResponseDto;
|
||||
let timeBucketUser: LoginResponseDto;
|
||||
|
||||
let user1Assets: AssetMediaResponseDto[];
|
||||
let user2Assets: AssetMediaResponseDto[];
|
||||
|
||||
beforeAll(async () => {
|
||||
await utils.resetDatabase();
|
||||
admin = await utils.adminSetup({ onboarding: false });
|
||||
[user, timeBucketUser] = await Promise.all([
|
||||
utils.userSetup(admin.accessToken, createUserDto.create('1')),
|
||||
utils.userSetup(admin.accessToken, createUserDto.create('time-bucket')),
|
||||
]);
|
||||
|
||||
user1Assets = await Promise.all([
|
||||
utils.createAsset(user.accessToken),
|
||||
utils.createAsset(user.accessToken),
|
||||
utils.createAsset(user.accessToken, {
|
||||
isFavorite: true,
|
||||
fileCreatedAt: yesterday.toISO(),
|
||||
fileModifiedAt: yesterday.toISO(),
|
||||
assetData: { filename: 'example.mp4' },
|
||||
}),
|
||||
utils.createAsset(user.accessToken),
|
||||
utils.createAsset(user.accessToken),
|
||||
]);
|
||||
|
||||
user2Assets = await Promise.all([
|
||||
utils.createAsset(timeBucketUser.accessToken, { fileCreatedAt: new Date('1970-01-01').toISOString() }),
|
||||
utils.createAsset(timeBucketUser.accessToken, { fileCreatedAt: new Date('1970-02-10').toISOString() }),
|
||||
utils.createAsset(timeBucketUser.accessToken, { fileCreatedAt: new Date('1970-02-11').toISOString() }),
|
||||
utils.createAsset(timeBucketUser.accessToken, { fileCreatedAt: new Date('1970-02-11').toISOString() }),
|
||||
utils.createAsset(timeBucketUser.accessToken, { fileCreatedAt: new Date('1970-02-12').toISOString() }),
|
||||
]);
|
||||
|
||||
await utils.deleteAssets(timeBucketUser.accessToken, [user2Assets[4].id]);
|
||||
});
|
||||
|
||||
describe('GET /timeline/buckets', () => {
|
||||
it('should require authentication', async () => {
|
||||
const { status, body } = await request(app).get('/timeline/buckets');
|
||||
expect(status).toBe(401);
|
||||
expect(body).toEqual(errorDto.unauthorized);
|
||||
});
|
||||
|
||||
it('should get time buckets by month', async () => {
|
||||
const { status, body } = await request(app)
|
||||
.get('/timeline/buckets')
|
||||
.set('Authorization', `Bearer ${timeBucketUser.accessToken}`);
|
||||
|
||||
expect(status).toBe(200);
|
||||
expect(body).toEqual(
|
||||
expect.arrayContaining([
|
||||
{ count: 3, timeBucket: '1970-02-01' },
|
||||
{ count: 1, timeBucket: '1970-01-01' },
|
||||
]),
|
||||
);
|
||||
});
|
||||
|
||||
it('should not allow access for unrelated shared links', async () => {
|
||||
const sharedLink = await utils.createSharedLink(user.accessToken, {
|
||||
type: SharedLinkType.Individual,
|
||||
assetIds: user1Assets.map(({ id }) => id),
|
||||
});
|
||||
|
||||
const { status, body } = await request(app).get('/timeline/buckets').query({ key: sharedLink.key });
|
||||
|
||||
expect(status).toBe(400);
|
||||
expect(body).toEqual(errorDto.noPermission);
|
||||
});
|
||||
|
||||
it('should return error if time bucket is requested with partners asset and archived', async () => {
|
||||
const req1 = await request(app)
|
||||
.get('/timeline/buckets')
|
||||
.set('Authorization', `Bearer ${timeBucketUser.accessToken}`)
|
||||
.query({ withPartners: true, visibility: AssetVisibility.Archive });
|
||||
|
||||
expect(req1.status).toBe(400);
|
||||
expect(req1.body).toEqual(errorDto.badRequest());
|
||||
|
||||
const req2 = await request(app)
|
||||
.get('/timeline/buckets')
|
||||
.set('Authorization', `Bearer ${user.accessToken}`)
|
||||
.query({ withPartners: true, visibility: undefined });
|
||||
|
||||
expect(req2.status).toBe(400);
|
||||
expect(req2.body).toEqual(errorDto.badRequest());
|
||||
});
|
||||
|
||||
it('should return error if time bucket is requested with partners asset and favorite', async () => {
|
||||
const req1 = await request(app)
|
||||
.get('/timeline/buckets')
|
||||
.set('Authorization', `Bearer ${timeBucketUser.accessToken}`)
|
||||
.query({ withPartners: true, isFavorite: true });
|
||||
|
||||
expect(req1.status).toBe(400);
|
||||
expect(req1.body).toEqual(errorDto.badRequest());
|
||||
|
||||
const req2 = await request(app)
|
||||
.get('/timeline/buckets')
|
||||
.set('Authorization', `Bearer ${timeBucketUser.accessToken}`)
|
||||
.query({ withPartners: true, isFavorite: false });
|
||||
|
||||
expect(req2.status).toBe(400);
|
||||
expect(req2.body).toEqual(errorDto.badRequest());
|
||||
});
|
||||
|
||||
it('should return error if time bucket is requested with partners asset and trash', async () => {
|
||||
const req = await request(app)
|
||||
.get('/timeline/buckets')
|
||||
.set('Authorization', `Bearer ${user.accessToken}`)
|
||||
.query({ withPartners: true, isTrashed: true });
|
||||
|
||||
expect(req.status).toBe(400);
|
||||
expect(req.body).toEqual(errorDto.badRequest());
|
||||
});
|
||||
});
|
||||
|
||||
describe('GET /timeline/bucket', () => {
|
||||
it('should require authentication', async () => {
|
||||
const { status, body } = await request(app).get('/timeline/bucket').query({
|
||||
timeBucket: '1900-01-01',
|
||||
});
|
||||
|
||||
expect(status).toBe(401);
|
||||
expect(body).toEqual(errorDto.unauthorized);
|
||||
});
|
||||
|
||||
it('should handle 5 digit years', async () => {
|
||||
const { status, body } = await request(app)
|
||||
.get('/timeline/bucket')
|
||||
.query({ timeBucket: '012345-01-01' })
|
||||
.set('Authorization', `Bearer ${timeBucketUser.accessToken}`);
|
||||
|
||||
expect(status).toBe(200);
|
||||
expect(body).toEqual({
|
||||
city: [],
|
||||
country: [],
|
||||
duration: [],
|
||||
id: [],
|
||||
visibility: [],
|
||||
isFavorite: [],
|
||||
isImage: [],
|
||||
isTrashed: [],
|
||||
livePhotoVideoId: [],
|
||||
fileCreatedAt: [],
|
||||
localOffsetHours: [],
|
||||
ownerId: [],
|
||||
projectionType: [],
|
||||
ratio: [],
|
||||
status: [],
|
||||
thumbhash: [],
|
||||
});
|
||||
});
|
||||
|
||||
// TODO enable date string validation while still accepting 5 digit years
|
||||
// it('should fail if time bucket is invalid', async () => {
|
||||
// const { status, body } = await request(app)
|
||||
// .get('/timeline/bucket')
|
||||
// .set('Authorization', `Bearer ${user.accessToken}`)
|
||||
// .query({ timeBucket: 'foo' });
|
||||
|
||||
// expect(status).toBe(400);
|
||||
// expect(body).toEqual(errorDto.badRequest);
|
||||
// });
|
||||
|
||||
it('should return time bucket', async () => {
|
||||
const { status, body } = await request(app)
|
||||
.get('/timeline/bucket')
|
||||
.set('Authorization', `Bearer ${timeBucketUser.accessToken}`)
|
||||
.query({ timeBucket: '1970-02-10' });
|
||||
|
||||
expect(status).toBe(200);
|
||||
expect(body).toEqual({
|
||||
city: [],
|
||||
country: [],
|
||||
duration: [],
|
||||
id: [],
|
||||
visibility: [],
|
||||
isFavorite: [],
|
||||
isImage: [],
|
||||
isTrashed: [],
|
||||
livePhotoVideoId: [],
|
||||
fileCreatedAt: [],
|
||||
localOffsetHours: [],
|
||||
ownerId: [],
|
||||
projectionType: [],
|
||||
ratio: [],
|
||||
status: [],
|
||||
thumbhash: [],
|
||||
});
|
||||
});
|
||||
|
||||
it('should return time bucket in trash', async () => {
|
||||
const { status, body } = await request(app)
|
||||
.get('/timeline/bucket')
|
||||
.set('Authorization', `Bearer ${timeBucketUser.accessToken}`)
|
||||
.query({ timeBucket: '1970-02-01T00:00:00.000Z', isTrashed: true });
|
||||
|
||||
expect(status).toBe(200);
|
||||
|
||||
const timeBucket: TimeBucketAssetResponseDto = body;
|
||||
expect(timeBucket.isTrashed).toEqual([true]);
|
||||
});
|
||||
});
|
||||
});
|
||||
@@ -97,7 +97,7 @@ describe(`immich upload`, () => {
|
||||
});
|
||||
|
||||
beforeEach(async () => {
|
||||
await utils.resetDatabase(['assets', 'albums']);
|
||||
await utils.resetDatabase(['asset', 'album']);
|
||||
});
|
||||
|
||||
describe(`immich upload /path/to/file.jpg`, () => {
|
||||
|
||||
@@ -0,0 +1,178 @@
|
||||
#!/usr/bin/env node
|
||||
|
||||
/**
|
||||
* Script to generate test images with additional EXIF date tags
|
||||
* This creates actual JPEG images with embedded metadata for testing
|
||||
* Images are generated into e2e/test-assets/metadata/dates/
|
||||
*/
|
||||
|
||||
import { execSync } from 'node:child_process';
|
||||
import { writeFileSync } from 'node:fs';
|
||||
import { dirname, join } from 'node:path';
|
||||
import { fileURLToPath } from 'node:url';
|
||||
import sharp from 'sharp';
|
||||
|
||||
interface TestImage {
|
||||
filename: string;
|
||||
description: string;
|
||||
exifTags: Record<string, string>;
|
||||
}
|
||||
|
||||
const testImages: TestImage[] = [
|
||||
{
|
||||
filename: 'time-created.jpg',
|
||||
description: 'Image with TimeCreated tag',
|
||||
exifTags: {
|
||||
TimeCreated: '2023:11:15 14:30:00',
|
||||
Make: 'Canon',
|
||||
Model: 'EOS R5',
|
||||
},
|
||||
},
|
||||
{
|
||||
filename: 'gps-datetime.jpg',
|
||||
description: 'Image with GPSDateTime and coordinates',
|
||||
exifTags: {
|
||||
GPSDateTime: '2023:11:15 12:30:00Z',
|
||||
GPSLatitude: '37.7749',
|
||||
GPSLongitude: '-122.4194',
|
||||
GPSLatitudeRef: 'N',
|
||||
GPSLongitudeRef: 'W',
|
||||
},
|
||||
},
|
||||
{
|
||||
filename: 'datetime-utc.jpg',
|
||||
description: 'Image with DateTimeUTC tag',
|
||||
exifTags: {
|
||||
DateTimeUTC: '2023:11:15 10:30:00',
|
||||
Make: 'Nikon',
|
||||
Model: 'D850',
|
||||
},
|
||||
},
|
||||
{
|
||||
filename: 'gps-datestamp.jpg',
|
||||
description: 'Image with GPSDateStamp and GPSTimeStamp',
|
||||
exifTags: {
|
||||
GPSDateStamp: '2023:11:15',
|
||||
GPSTimeStamp: '08:30:00',
|
||||
GPSLatitude: '51.5074',
|
||||
GPSLongitude: '-0.1278',
|
||||
GPSLatitudeRef: 'N',
|
||||
GPSLongitudeRef: 'W',
|
||||
},
|
||||
},
|
||||
{
|
||||
filename: 'sony-datetime2.jpg',
|
||||
description: 'Sony camera image with SonyDateTime2 tag',
|
||||
exifTags: {
|
||||
SonyDateTime2: '2023:11:15 06:30:00',
|
||||
Make: 'SONY',
|
||||
Model: 'ILCE-7RM5',
|
||||
},
|
||||
},
|
||||
{
|
||||
filename: 'date-priority-test.jpg',
|
||||
description: 'Image with multiple date tags to test priority',
|
||||
exifTags: {
|
||||
SubSecDateTimeOriginal: '2023:01:01 01:00:00',
|
||||
DateTimeOriginal: '2023:02:02 02:00:00',
|
||||
SubSecCreateDate: '2023:03:03 03:00:00',
|
||||
CreateDate: '2023:04:04 04:00:00',
|
||||
CreationDate: '2023:05:05 05:00:00',
|
||||
DateTimeCreated: '2023:06:06 06:00:00',
|
||||
TimeCreated: '2023:07:07 07:00:00',
|
||||
GPSDateTime: '2023:08:08 08:00:00',
|
||||
DateTimeUTC: '2023:09:09 09:00:00',
|
||||
GPSDateStamp: '2023:10:10',
|
||||
SonyDateTime2: '2023:11:11 11:00:00',
|
||||
},
|
||||
},
|
||||
{
|
||||
filename: 'new-tags-only.jpg',
|
||||
description: 'Image with only additional date tags (no standard tags)',
|
||||
exifTags: {
|
||||
TimeCreated: '2023:12:01 15:45:30',
|
||||
GPSDateTime: '2023:12:01 13:45:30Z',
|
||||
DateTimeUTC: '2023:12:01 13:45:30',
|
||||
GPSDateStamp: '2023:12:01',
|
||||
SonyDateTime2: '2023:12:01 08:45:30',
|
||||
GPSLatitude: '40.7128',
|
||||
GPSLongitude: '-74.0060',
|
||||
GPSLatitudeRef: 'N',
|
||||
GPSLongitudeRef: 'W',
|
||||
},
|
||||
},
|
||||
];
|
||||
|
||||
const generateTestImages = async (): Promise<void> => {
|
||||
// Target directory: e2e/test-assets/metadata/dates/
|
||||
// Current file is in: e2e/src/
|
||||
const __filename = fileURLToPath(import.meta.url);
|
||||
const __dirname = dirname(__filename);
|
||||
const targetDir = join(__dirname, '..', 'test-assets', 'metadata', 'dates');
|
||||
|
||||
console.log('Generating test images with additional EXIF date tags...');
|
||||
console.log(`Target directory: ${targetDir}`);
|
||||
|
||||
for (const image of testImages) {
|
||||
try {
|
||||
const imagePath = join(targetDir, image.filename);
|
||||
|
||||
// Create unique JPEG file using Sharp
|
||||
const r = Math.floor(Math.random() * 256);
|
||||
const g = Math.floor(Math.random() * 256);
|
||||
const b = Math.floor(Math.random() * 256);
|
||||
|
||||
const jpegData = await sharp({
|
||||
create: {
|
||||
width: 100,
|
||||
height: 100,
|
||||
channels: 3,
|
||||
background: { r, g, b },
|
||||
},
|
||||
})
|
||||
.jpeg({ quality: 90 })
|
||||
.toBuffer();
|
||||
|
||||
writeFileSync(imagePath, jpegData);
|
||||
|
||||
// Build exiftool command to add EXIF data
|
||||
const exifArgs = Object.entries(image.exifTags)
|
||||
.map(([tag, value]) => `-${tag}="${value}"`)
|
||||
.join(' ');
|
||||
|
||||
const command = `exiftool ${exifArgs} -overwrite_original "${imagePath}"`;
|
||||
|
||||
console.log(`Creating ${image.filename}: ${image.description}`);
|
||||
execSync(command, { stdio: 'pipe' });
|
||||
|
||||
// Verify the tags were written
|
||||
const verifyCommand = `exiftool -json "${imagePath}"`;
|
||||
const result = execSync(verifyCommand, { encoding: 'utf8' });
|
||||
const metadata = JSON.parse(result)[0];
|
||||
|
||||
console.log(` тЬУ Created with ${Object.keys(image.exifTags).length} EXIF tags`);
|
||||
|
||||
// Log first date tag found for verification
|
||||
const firstDateTag = Object.keys(image.exifTags).find(
|
||||
(tag) => tag.includes('Date') || tag.includes('Time') || tag.includes('Created'),
|
||||
);
|
||||
if (firstDateTag && metadata[firstDateTag]) {
|
||||
console.log(` тЬУ Verified ${firstDateTag}: ${metadata[firstDateTag]}`);
|
||||
}
|
||||
} catch (error) {
|
||||
console.error(`Failed to create ${image.filename}:`, (error as Error).message);
|
||||
}
|
||||
}
|
||||
|
||||
console.log('\nTest image generation complete!');
|
||||
console.log('Files created in:', targetDir);
|
||||
console.log('\nTo test these images:');
|
||||
console.log(`cd ${targetDir} && exiftool -time:all -gps:all *.jpg`);
|
||||
};
|
||||
|
||||
export { generateTestImages };
|
||||
|
||||
// Run the generator if this file is executed directly
|
||||
if (import.meta.url === `file://${process.argv[1]}`) {
|
||||
generateTestImages().catch(console.error);
|
||||
}
|
||||
@@ -116,6 +116,7 @@ export const deviceDto = {
|
||||
createdAt: expect.any(String),
|
||||
updatedAt: expect.any(String),
|
||||
current: true,
|
||||
isPendingSyncReset: false,
|
||||
deviceOS: '',
|
||||
deviceType: '',
|
||||
},
|
||||
|
||||
@@ -12,6 +12,7 @@ export enum OAuthUser {
|
||||
NO_NAME = 'no-name',
|
||||
WITH_QUOTA = 'with-quota',
|
||||
WITH_USERNAME = 'with-username',
|
||||
WITH_ROLE = 'with-role',
|
||||
}
|
||||
|
||||
const claims = [
|
||||
@@ -34,6 +35,12 @@ const claims = [
|
||||
preferred_username: 'user-quota',
|
||||
immich_quota: 25,
|
||||
},
|
||||
{
|
||||
sub: OAuthUser.WITH_ROLE,
|
||||
email: 'oauth-with-role@immich.app',
|
||||
email_verified: true,
|
||||
immich_role: 'admin',
|
||||
},
|
||||
];
|
||||
|
||||
const withDefaultClaims = (sub: string) => ({
|
||||
@@ -64,7 +71,15 @@ const setup = async () => {
|
||||
claims: {
|
||||
openid: ['sub'],
|
||||
email: ['email', 'email_verified'],
|
||||
profile: ['name', 'given_name', 'family_name', 'preferred_username', 'immich_quota', 'immich_username'],
|
||||
profile: [
|
||||
'name',
|
||||
'given_name',
|
||||
'family_name',
|
||||
'preferred_username',
|
||||
'immich_quota',
|
||||
'immich_username',
|
||||
'immich_role',
|
||||
],
|
||||
},
|
||||
features: {
|
||||
jwtUserinfo: {
|
||||
|
||||
+15
-14
@@ -60,6 +60,7 @@ import { io, type Socket } from 'socket.io-client';
|
||||
import { loginDto, signupDto } from 'src/fixtures';
|
||||
import { makeRandomImage } from 'src/generators';
|
||||
import request from 'supertest';
|
||||
export type { Emitter } from '@socket.io/component-emitter';
|
||||
|
||||
type CommandResponse = { stdout: string; stderr: string; exitCode: number | null };
|
||||
type EventType = 'assetUpload' | 'assetUpdate' | 'assetDelete' | 'userDelete' | 'assetHidden';
|
||||
@@ -84,10 +85,10 @@ export const immichAdmin = (args: string[]) =>
|
||||
export const specialCharStrings = ["'", '"', ',', '{', '}', '*'];
|
||||
export const TEN_TIMES = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9];
|
||||
|
||||
const executeCommand = (command: string, args: string[]) => {
|
||||
const executeCommand = (command: string, args: string[], options?: { cwd?: string }) => {
|
||||
let _resolve: (value: CommandResponse) => void;
|
||||
const promise = new Promise<CommandResponse>((resolve) => (_resolve = resolve));
|
||||
const child = spawn(command, args, { stdio: 'pipe' });
|
||||
const child = spawn(command, args, { stdio: 'pipe', cwd: options?.cwd });
|
||||
|
||||
let stdout = '';
|
||||
let stderr = '';
|
||||
@@ -153,19 +154,19 @@ export const utils = {
|
||||
|
||||
tables = tables || [
|
||||
// TODO e2e test for deleting a stack, since it is quite complex
|
||||
'asset_stack',
|
||||
'libraries',
|
||||
'shared_links',
|
||||
'stack',
|
||||
'library',
|
||||
'shared_link',
|
||||
'person',
|
||||
'albums',
|
||||
'assets',
|
||||
'asset_faces',
|
||||
'album',
|
||||
'asset',
|
||||
'asset_face',
|
||||
'activity',
|
||||
'api_keys',
|
||||
'sessions',
|
||||
'users',
|
||||
'api_key',
|
||||
'session',
|
||||
'user',
|
||||
'system_metadata',
|
||||
'tags',
|
||||
'tag',
|
||||
];
|
||||
|
||||
const sql: string[] = [];
|
||||
@@ -174,7 +175,7 @@ export const utils = {
|
||||
if (table === 'system_metadata') {
|
||||
sql.push(`DELETE FROM "system_metadata" where "key" NOT IN ('reverse-geocoding-state', 'system-flags');`);
|
||||
} else {
|
||||
sql.push(`DELETE FROM ${table} CASCADE;`);
|
||||
sql.push(`DELETE FROM "${table}" CASCADE;`);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -450,7 +451,7 @@ export const utils = {
|
||||
return;
|
||||
}
|
||||
|
||||
await client.query('INSERT INTO asset_faces ("assetId", "personId") VALUES ($1, $2)', [assetId, personId]);
|
||||
await client.query('INSERT INTO asset_face ("assetId", "personId") VALUES ($1, $2)', [assetId, personId]);
|
||||
},
|
||||
|
||||
setPersonThumbnail: async (personId: string) => {
|
||||
|
||||
+1
-1
Submodule e2e/test-assets updated: 8885d6d01c...18736fc27a
+110
-8
@@ -4,6 +4,7 @@
|
||||
"account_settings": "Rekeninginstellings",
|
||||
"acknowledge": "Erken",
|
||||
"action": "Aksie",
|
||||
"action_common_update": "Opdateur",
|
||||
"actions": "Aksies",
|
||||
"active": "Aktief",
|
||||
"activity": "Aktiwiteite",
|
||||
@@ -13,6 +14,7 @@
|
||||
"add_a_location": "Voeg 'n ligging by",
|
||||
"add_a_name": "Voeg 'n naam by",
|
||||
"add_a_title": "Voeg 'n titel by",
|
||||
"add_endpoint": "Voeg Koppelvlakpunt by",
|
||||
"add_exclusion_pattern": "Voeg uitsgluitingspatrone by",
|
||||
"add_import_path": "Voeg invoerpad by",
|
||||
"add_location": "Voeg ligging by",
|
||||
@@ -20,26 +22,30 @@
|
||||
"add_partner": "Voeg vennoot by",
|
||||
"add_path": "Voeg pad by",
|
||||
"add_photos": "Voeg foto's by",
|
||||
"add_tag": "Voeg tag by",
|
||||
"add_to": "Voeg byтАж",
|
||||
"add_to_album": "Voeg na album",
|
||||
"add_to_shared_album": "Voeg na gedeelde album",
|
||||
"add_to_album_bottom_sheet_added": "By {album} bygevoeg",
|
||||
"add_to_album_bottom_sheet_already_exists": "Reeds in {album}",
|
||||
"add_to_shared_album": "Voeg toe aan gedeelde album",
|
||||
"add_url": "Voeg URL by",
|
||||
"added_to_archive": "By argief gevoeg",
|
||||
"added_to_favorites": "By gunstelinge gevoeg",
|
||||
"added_to_favorites_count": "Het {count, number} by gunstelinge gevoeg",
|
||||
"added_to_archive": "By argief toegevoegd",
|
||||
"added_to_favorites": "By gunstelinge toegevoegd",
|
||||
"added_to_favorites_count": "Het {count, number} by gunstelinge toegevoegd",
|
||||
"admin": {
|
||||
"add_exclusion_pattern_description": "Voeg uitsluitingspatrone by. Globbing met *, ** en ? word ondersteun. Om alle l├кers in enige l├кergids genaamd \"Raw\" te ignoreer, gebruik \"**/Raw/**\". Om alle l├кers wat op \".tif\" eindig, te ignoreer, gebruik \"**/*.tif\". Om 'n absolute pad te ignoreer, gebruik \"/path/to/ignore/**\".",
|
||||
"admin_user": "Admin gebruiker",
|
||||
"asset_offline_description": "Hierdie eksterne biblioteekbate word nie meer op skyf gevind nie en is na die asblik geskuif. As die l├кer binne die biblioteek geskuif is, gaan jou tydlyn na vir die nuwe ooreenstemmende bate. Om hierdie bate te herstel, maak asseblief seker dat die l├кerpad hieronder deur Immich verkry kan word en skandeer die biblioteek.",
|
||||
"authentication_settings": "Verifikasie instellings",
|
||||
"authentication_settings_description": "Bestuur wagwoord, OAuth en ander verifikasie instellings",
|
||||
"authentication_settings_disable_all": "Is jy seker jy wil alle aanmeldmetodes deaktiveer? Aanmelding sal heeltemal gedeaktiveer word.",
|
||||
"authentication_settings_reenable": "Om te heraktiveer, gebruik 'n <link>Server Command</link>.",
|
||||
"background_task_job": "Agtergrondtake",
|
||||
"backup_database": "Rugsteun databasis",
|
||||
"backup_database": "Skep Datastortl├кer",
|
||||
"backup_database_enable_description": "Aktiveer databasisrugsteun",
|
||||
"backup_keep_last_amount": "Aantal vorige rugsteune om te hou",
|
||||
"backup_settings": "Rugsteun instellings",
|
||||
"backup_settings_description": "Bestuur databasis rugsteun instellings",
|
||||
"backup_settings_description": "Bestuur databasis rugsteun instellings.",
|
||||
"cleared_jobs": "Poste gevee vir: {job}",
|
||||
"config_set_by_file": "Config word tans deur 'n konfigurasiel├кer gestel",
|
||||
"confirm_delete_library": "Is jy seker jy wil {library}-biblioteek uitvee?",
|
||||
@@ -47,6 +53,7 @@
|
||||
"confirm_email_below": "Om te bevestig, tik \"{email}\" hieronder",
|
||||
"confirm_reprocess_all_faces": "Is jy seker jy wil alle gesigte herverwerk? Dit sal ook genoemde mense skoonmaak.",
|
||||
"confirm_user_password_reset": "Is jy seker jy wil {user} se wagwoord terugstel?",
|
||||
"confirm_user_pin_code_reset": "Is jy seker jy wil {user} se PIN kode herstel?",
|
||||
"create_job": "Skep werk",
|
||||
"cron_expression": "Cron uitdrukking",
|
||||
"cron_expression_description": "Stel die skanderingsinterval in met die cron-formaat. Vir meer inligting verwys asseblief na bv. <link>Crontab Guru</link>",
|
||||
@@ -56,10 +63,14 @@
|
||||
"exclusion_pattern_description": "Met uitsluitingspatrone kan jy l├кers en vouers ignoreer wanneer jy jou biblioteek skandeer. Dit is nuttig as jy vouers het wat l├кers bevat wat jy nie wil invoer nie, soos RAW-l├кers.",
|
||||
"external_library_management": "Eksterne Biblioteekbestuur",
|
||||
"face_detection": "Gesig deteksie",
|
||||
"face_detection_description": "Detecteer die gesigte in media deur middel van masjienleer. Vir videos word slegs die duimnaelskets oorweeg. тАЬHerlaaiтАЭ (ver)werk al die media weer. тАЬStel terugтАЭ verwyder boonop alle huidige gesigdata. тАЬOnverwerkтАЭ plaas bates in die tou wat nog nie verwerk is nie. Gedekte gesigte sal n├б voltooiing van Gesigdetectie vir Gesigherkenning in die tou geplaas word, om hulle in bestaande of nuwe persone te groepeer.",
|
||||
"facial_recognition_job_description": "Groepeer gesigte in mense in. Die stap is vinniger nadat Gesig Deteksie klaar is. \"Herstel\" (her-)groepeer alle gesigte. \"Vermiste\" plaas gesigte in ry wat nie 'n persoon gekoppel het nie.",
|
||||
"failed_job_command": "Opdrag {command} het misluk vir werk: {job}",
|
||||
"force_delete_user_warning": "WAARSKUWING: Dit sal onmiddellik die gebruiker en alle bates verwyder. Dit kan nie ontdoen word nie en die l├кers kan nie herstel word nie.",
|
||||
"image_format": "Formaat",
|
||||
"image_format_description": "WebP produseer kleiner l├кers as JPEG, maar is stadiger om te enkodeer.",
|
||||
"image_fullsize_description": "Vol grote prent met geen metadata, gebruik wanner ingezoem",
|
||||
"image_fullsize_enabled": "Skakel aan vol grote prent generasie",
|
||||
"image_prefer_embedded_preview": "Verkies ingebedde voorskou",
|
||||
"image_prefer_wide_gamut": "Verkies wide gamut",
|
||||
"image_prefer_wide_gamut_setting_description": "Gebruik Display P3 vir kleinkiekies. Dit behou die lewendheid van beelde met wye kleurruimtes beter, maar beelde kan anders verskyn op ou apparate met 'n ou blaaierweergawe. sRGB-beelde gebruik steeds sRGB om kleurverskuiwings te voorkom.",
|
||||
@@ -77,8 +88,99 @@
|
||||
"job_concurrency": "{job} gelyktydigheid",
|
||||
"job_created": "Taak gemaak",
|
||||
"job_not_concurrency_safe": "Hierdie taak kan nie gelyktydig uitgevoer word nie.",
|
||||
"job_settings": "Agtergrondtaakinstellings"
|
||||
"job_settings": "Agtergrondtaakinstellings",
|
||||
"job_settings_description": "Bestuur werkgelyktydigheid",
|
||||
"job_status": "Werkstatus",
|
||||
"library_created": "Biblioteek geskep: {library}",
|
||||
"library_deleted": "Biblioteek verwyder",
|
||||
"library_import_path_description": "Spesifiseer 'n leer om in te neem. Hierdie leer, en al die sub leers, gaan geskandeer for vir prente en videos.",
|
||||
"library_scanning": "Periodieke Skandering",
|
||||
"library_scanning_description": "Stel periodieke skandering van biblioteek in",
|
||||
"library_scanning_enable_description": "Aktiveer periodieke biblioteekskandering",
|
||||
"library_settings": "Eksterne Biblioteek",
|
||||
"map_settings": "Kaart",
|
||||
"migration_job": "Migrasie",
|
||||
"oauth_settings": "OAuth",
|
||||
"transcoding_acceleration_vaapi": "VAAPI"
|
||||
},
|
||||
"administration": "Administrasie",
|
||||
"advanced": "Gevorderde",
|
||||
"albums": "Albums",
|
||||
"all": "Alle",
|
||||
"anti_clockwise": "Anti-kloksgewys",
|
||||
"archive": "Argief",
|
||||
"asset_skipped": "Oorgeslaan",
|
||||
"asset_uploaded": "Opgelaai",
|
||||
"asset_uploading": "OplaaiтАж",
|
||||
"assets": "Bates",
|
||||
"back": "Terug",
|
||||
"backward": "Agteruit",
|
||||
"build": "Bou",
|
||||
"camera": "Kamera",
|
||||
"cancel": "Kanselleer",
|
||||
"city": "Stad",
|
||||
"clockwise": "Kloksgewys",
|
||||
"close": "Maak toe",
|
||||
"color": "Kleur",
|
||||
"confirm": "Bevestig",
|
||||
"contain": "Bevat",
|
||||
"context": "Konteks",
|
||||
"continue": "Gaan voort",
|
||||
"country": "Land",
|
||||
"cover": "Bedek",
|
||||
"create": "Skep",
|
||||
"created": "Geskep",
|
||||
"dark": "Donker",
|
||||
"day": "Dag",
|
||||
"delete": "Verwyder",
|
||||
"description": "Beskrywing",
|
||||
"details": "Besonderhede",
|
||||
"direction": "Rigting",
|
||||
"discover": "Ontdek",
|
||||
"documentation": "Dokumentasie",
|
||||
"done": "Klaar",
|
||||
"download": "Aflaai",
|
||||
"download_settings": "Aflaai",
|
||||
"duplicates": "Duplikate",
|
||||
"duration": "Duur",
|
||||
"edit": "Wysig",
|
||||
"edited": "Gewysigd",
|
||||
"search_by_description": "Soek by beskrywing",
|
||||
"search_by_description_example": "Stapdag in Sapa"
|
||||
"search_by_description_example": "Stapdag in Sapa",
|
||||
"version": "Weergawe",
|
||||
"version_announcement_closing": "Jou friend, Alex",
|
||||
"version_history": "Weergawegeskiedenis",
|
||||
"version_history_item": "{version} geinstaleerd op {date}",
|
||||
"video": "Video",
|
||||
"videos": "Video's",
|
||||
"view": "Bekyk",
|
||||
"view_album": "Bekyk Album",
|
||||
"view_all": "Bekyk alle",
|
||||
"view_all_users": "Bekyk alle gebruikers",
|
||||
"view_in_timeline": "Bekyk in tydlyn",
|
||||
"view_link": "Bekyk skakel",
|
||||
"view_links": "Bekyk skakels",
|
||||
"view_name": "Bekyk",
|
||||
"view_next_asset": "Bekyk volgende bate",
|
||||
"view_previous_asset": "Bekyk vorige bate",
|
||||
"view_qr_code": "Bekyk QR-kode",
|
||||
"view_stack": "Bekyk stapel",
|
||||
"view_user": "Bekyk gebruiker",
|
||||
"viewer_remove_from_stack": "Verwyder van stapel",
|
||||
"viewer_stack_use_as_main_asset": "Gebruik as hoofbate",
|
||||
"viewer_unstack": "Ontstapel",
|
||||
"visibility_changed": "Sigbaarheid verander voor {count, plural, one {# person} other {# people}}",
|
||||
"waiting": "Wag",
|
||||
"warning": "Waaskuwing",
|
||||
"week": "Week",
|
||||
"welcome": "Welkom",
|
||||
"welcome_to_immich": "Welkom by Immich",
|
||||
"wifi_name": "Wi-Fi Naam",
|
||||
"wrong_pin_code": "Verkeerde PIN-kode",
|
||||
"year": "Jaar",
|
||||
"years_ago": "{years, plural, one {# year} other {# years}} gelede",
|
||||
"yes": "Ja",
|
||||
"you_dont_have_any_shared_links": "Jy het geen gedeelde skakels",
|
||||
"your_wifi_name": "Jou Wi-Fi naam",
|
||||
"zoom_image": "Vergroot Prent"
|
||||
}
|
||||
|
||||
+384
-80
File diff suppressed because it is too large
Load Diff
+268
-8
@@ -22,6 +22,7 @@
|
||||
"add_partner": "╨Ф╨░╨┤╨░╤Ж╤М ╨┐╨░╤А╤В╨╜╤С╤А╨░",
|
||||
"add_path": "╨Ф╨░╨┤╨░╤Ж╤М ╤И╨╗╤П╤Е",
|
||||
"add_photos": "╨Ф╨░╨┤╨░╤Ж╤М ╤Д╨╛╤В╨░",
|
||||
"add_tag": "╨Ф╨░╨┤╨░╤Ж╤М ╤В╤Н╨│",
|
||||
"add_to": "╨Ф╨░╨┤╨░╤Ж╤М ╤ГтАж",
|
||||
"add_to_album": "╨Ф╨░╨┤╨░╤Ж╤М ╤Г ╨░╨╗╤М╨▒╨╛╨╝",
|
||||
"add_to_album_bottom_sheet_added": "╨Ф╨░╨┤╨░╨┤╨╖╨╡╨╜╨░ ╨┤╨░ {album}",
|
||||
@@ -33,28 +34,30 @@
|
||||
"added_to_favorites_count": "╨Ф╨░╨┤╨░╨┤╨╖╨╡╨╜╨░ {count, number} ╨┤╨░ ╨░╨▒╤А╨░╨╜╨░╨│╨░",
|
||||
"admin": {
|
||||
"add_exclusion_pattern_description": "╨Ф╨░╨┤╨░╨╣╤Ж╨╡ ╤И╨░╨▒╨╗╨╛╨╜╤Л ╨▓╤Л╨║╨╗╤О╤З╤Н╨╜╨╜╤П╤Ю. ╨Я╨░╨┤╤В╤А╤Л╨╝╨╗╤Ц╨▓╨░╨╡╤Ж╤Ж╨░ ╨▓╤Л╨║╨░╤А╤Л╤Б╤В╨░╨╜╨╜╨╡ ╤Б╤Ц╨╝╨▓╨░╨╗╨░╤Ю * , ** ╤Ц ?. ╨Ъ╨░╨▒ ╤Ц╨│╨╜╨░╤А╨░╨▓╨░╤Ж╤М ╤Г╤Б╨╡ ╤Д╨░╨╣╨╗╤Л ╤Ю ╨╗╤О╨▒╨╛╨╣ ╨┤╤Л╤А╤Н╨║╤В╨╛╤А╤Л╤Ц ╨╖ ╨╜╨░╨╖╨▓╨░╨╣ \"Raw\", ╨▓╤Л╨║╨░╤А╤Л╤Б╤В╨╛╤Ю╨▓╨░╨╣╤Ж╨╡ \"**/Raw/**\". ╨Ъ╨░╨▒ ╤Ц╨│╨╜╨░╤А╨░╨▓╨░╤Ж╤М ╤Г╤Б╨╡ ╤Д╨░╨╣╨╗╤Л, ╤П╨║╤Ц╤П ╨╖╨░╨║╨░╨╜╤З╨▓╨░╤О╤Ж╤Ж╨░ ╨╜╨░ \".tif\", ╨▓╤Л╨║╨░╤А╤Л╤Б╤В╨╛╤Ю╨▓╨░╨╣╤Ж╨╡ \"**/.tif\". ╨Ъ╨░╨▒ ╤Ц╨│╨╜╨░╤А╨░╨▓╨░╤Ж╤М ╨░╨▒╤Б╨╛╨╗╤О╤В╨╜╤Л ╤И╨╗╤П╤Е, ╨▓╤Л╨║╨░╤А╤Л╤Б╤В╨╛╤Ю╨▓╨░╨╣╤Ж╨╡ \"/path/to/ignore/**\".",
|
||||
"admin_user": "╨Р╨┤╨╝╤Ц╨╜╤Ц╤Б╤В╤А╨░╤В╨░╤А",
|
||||
"asset_offline_description": "╨У╤Н╤В╤Л ╨╖╨╜╨╡╤И╨╜╤Ц ╨▒╤Ц╨▒╨╗╤Ц╤П╤В╤Н╤З╨╜╤Л ╨░╨║╤В╤Л╤Ю ╨▒╨╛╨╗╤М╤И ╨╜╨╡ ╨╖╨╜╨╛╨╣╨┤╨╖╨╡╨╜╤Л ╨╜╨░ ╨┤╤Л╤Б╨║╤Г ╤Ц ╨▒╤Л╤Ю ╨┐╨╡╤А╨░╨╝╨╡╤И╤З╨░╨╜╤Л ╤Ю ╤Б╨╝╨╡╤В╨╜╤Ц╤Ж╤Г. ╨Ъ╨░╨╗╤Ц ╤Д╨░╨╣╨╗ ╨▒╤Л╤Ю ╨┐╨╡╤А╨░╨╝╨╡╤И╤З╨░╨╜╤Л ╤Ю ╨╝╨╡╨╢╨░╤Е ╨▒╤Ц╨▒╨╗╤Ц╤П╤В╤Н╨║╤Ц, ╨┐╤А╨░╨▓╨╡╤А╤Ж╨╡ ╨▓╨░╤И╤Г ╤Е╤А╨╛╨╜╤Ц╨║╤Г ╨┤╨╗╤П ╨╜╨╛╨▓╨░╨│╨░ ╨░╨┤╨┐╨░╨▓╨╡╨┤╨╜╨░╨│╨░ ╨░╨║╤В╤Л╨▓╨░. ╨Ъ╨░╨▒ ╨░╨┤╨╜╨░╨▓╤Ц╤Ж╤М ╨│╤Н╤В╤Л ╨░╨║╤В╤Л╤Ю, ╨┐╨╡╤А╨░╨║╨░╨╜╨░╨╣╤Ж╨╡╤Б╤П, ╤И╤В╨╛ ╤И╨╗╤П╤Е ╨┤╨░ ╤Д╨░╨╣╨╗╨░ ╨╜╤Ц╨╢╤Н╨╣ ╨┤╨░╤Б╤В╤Г╨┐╨╜╤Л ╨┤╨╗╤П Immich ╤Ц ╨░╨┤╤Б╨║╨░╨╜╤Г╨╣╤Ж╨╡ ╨▒╤Ц╨▒╨╗╤Ц╤П╤В╤Н╨║╤Г.",
|
||||
"authentication_settings": "╨Э╨░╨╗╨░╨┤╤Л ╨┐╤А╨░╨▓╨╡╤А╨║╤Ц ╤Б╨░╨┐╤А╨░╤Ю╨┤╨╜╨░╤Б╤Ж╤Ц",
|
||||
"authentication_settings_description": "╨Ъ╤Ц╤А╨░╨▓╨░╨╜╨╜╨╡ ╨┐╨░╤А╨╛╨╗╤П╨╝╤Ц, OAuth, ╤Ц ╤Ц╨╜╤И╤Л╤П ╨╜╨░╨╗╨░╨┤╤Л ╨┐╤А╨░╨▓╨╡╤А╨║╤Ц ╤Б╨░╨┐╤А╨░╤Ю╨┤╨╜╨░╤Б╤Ж╤Ц",
|
||||
"authentication_settings_disable_all": "╨Т╤Л ╤Ю╨┐╤Н╤Ю╨╜╨╡╨╜╤Л, ╤И╤В╨╛ ╨╢╨░╨┤╨░╨╡╤Ж╨╡ ╨░╨┤╨║╨╗╤О╤З╤Л╤Ж╤М ╤Г╤Б╨╡ ╤Б╨┐╨╛╤Б╨░╨▒╤Л ╨╗╨╛╨│╤Ц╨╜╤Г? ╨Ы╨╛╨│╤Ц╨╜ ╨▒╤Г╨┤╨╖╨╡ ╤Ж╨░╨╗╨║╨░╨╝ ╨░╨┤╨║╨╗╤О╤З╨░╨╜╤Л.",
|
||||
"authentication_settings_reenable": "╨Ъ╨░╨▒ ╨╖╨╜╨╛╤Ю ╤Г╨║╨╗╤О╤З╤Л╤Ж╤М, ╨▓╤Л╨║╨░╤А╤Л╤Б╤В╨░╨╣╤Ж╨╡ <link>╨Ъ╨░╨╝╨░╨╜╨┤╤Г ╤Б╨╡╤А╨▓╨╡╤А╨░</link>.",
|
||||
"background_task_job": "╨д╨╛╨╜╨░╨▓╤Л╤П ╨╖╨░╨┤╨░╨╜╨╜╤Ц",
|
||||
"backup_database": "╨а╤Н╨╖╨╡╤А╨▓╨╛╨▓╨░╤П ╨║╨╛╨┐╤Ц╤П ╨▒╨░╨╖╤Л ╨┤╨░╨╜╤Л╤Е",
|
||||
"backup_database": "╨б╤В╨▓╨░╤А╤Л╤Ж╤М ╤А╤Н╨╖╨╡╤А╨▓╨╛╨▓╤Г╤О ╨║╨╛╨┐╤Ц╤О ╨▒╨░╨╖╤Л ╨┤╨░╨╜╤Л╤Е",
|
||||
"backup_database_enable_description": "╨г╨║╨╗╤О╤З╤Л╤Ж╤М ╤А╤Н╨╖╨╡╤А╨▓╨░╨▓╨░╨╜╨╜╨╡ ╨▒╨░╨╖╤Л ╨┤╨░╨╜╤Л╤Е",
|
||||
"backup_keep_last_amount": "╨Ъ╨╛╨╗╤М╨║╨░╤Б╤Ж╤М ╨┐╨░╨┐╤П╤А╤Н╨┤╨╜╤Ц╤Е ╤А╤Н╨╖╨╡╤А╨▓╨╛╨▓╤Л╤Е ╨║╨╛╨┐╤Ц╨╣ ╨┤╨╗╤П ╨╖╨░╤Е╨░╨▓╨░╨╜╨╜╤П",
|
||||
"backup_settings": "╨Э╨░╨╗╨░╨┤╤Л ╤А╤Н╨╖╨╡╤А╨▓╨╛╨▓╨░╨│╨░ ╨║╨░╨┐╤Ц╤П╨▓╨░╨╜╨╜╤П",
|
||||
"backup_settings_description": "╨Ъ╤Ц╤А╨░╨▓╨░╨╜╨╜╨╡ ╨╜╨░╨╗╨░╨┤╨░╨╝╤Ц ╨┤╨░╨╝╨┐╨░ ╨▒╨░╨╖╤Л ╨┤╨░╨┤╨╖╨╡╨╜╤Л╤Е. ╨Ч╨░╤Ю╨▓╨░╨│╨░: ╨│╤Н╤В╤Л╤П ╨╖╨░╨┤╨░╤З╤Л ╨╜╨╡ ╨║╨░╨╜╤В╤А╨░╨╗╤О╤О╤Ж╤Ж╨░, ╤Ц ╤Ю ╨▓╤Л╨┐╨░╨┤╨║╤Г ╨╜╤П╤Ю╨┤╨░╤З╤Л ╨┐╨░╨▓╨╡╨┤╨░╨╝╨╗╨╡╨╜╨╜╨╡ ╨░╨┤╨┐╤А╨░╤Ю╨╗╨╡╨╜╨░ ╨╜╨╡ ╨▒╤Г╨┤╨╖╨╡.",
|
||||
"backup_settings_description": "╨Ъ╤Ц╤А╨░╨▓╨░╨╜╨╜╨╡ ╨╜╨░╨╗╨░╨┤╨░╨╝╤Ц ╤А╤Н╨╖╨╡╤А╨▓╨░╨▓╨░╨╜╨╜╤П ╨▒╨░╨╖╤Л ╨┤╨░╨╜╤Л╤Е.",
|
||||
"cleared_jobs": "╨Р╤З╤Л╤И╤З╨░╨╜╤Л ╨╖╨░╨┤╨░╨╜╨╜╤Ц ╨┤╨╗╤П: {job}",
|
||||
"config_set_by_file": "╨Ъ╨░╨╜╤Д╤Ц╨│╤Г╤А╨░╤Ж╤Л╤П ╤Ю ╨╖╨░╤А╨░╨╖ ╤Г╤Б╤В╨░╨╗╤П╨▓╨░╨╜╨░ ╨┐╤А╨░╨╖ ╤Д╨░╨╣╨╗ ╨║╨░╨╜╤Д╤Ц╨│╤Г╤А╨░╤Ж╤Л╤Ц",
|
||||
"confirm_delete_library": "╨Т╤Л ╤Ю╨┐╤Н╤Ю╨╜╨╡╨╜╤Л ╤И╤В╨╛ ╨╢╨░╨┤╨░╨╡╤Ж╨╡ ╨▓╤Л╨┤╨░╨╗╤Ц╤Ж╤М {library} ╨▒╤Ц╨▒╨╗╤Ц╤П╤В╤Н╨║╤Г?",
|
||||
"config_set_by_file": "╨Ъ╨░╨╜╤Д╤Ц╨│╤Г╤А╨░╤Ж╤Л╤П ╨╖╨░╤А╨░╨╖ ╤Г╤Б╤В╨░╨╗╤П╨▓╨░╨╜╨░ ╨┐╤А╨░╨╖ ╤Д╨░╨╣╨╗ ╨║╨░╨╜╤Д╤Ц╨│╤Г╤А╨░╤Ж╤Л╤Ц",
|
||||
"confirm_delete_library": "╨Т╤Л ╤Ю╨┐╤Н╤Ю╨╜╨╡╨╜╤Л ╤И╤В╨╛ ╨╢╨░╨┤╨░╨╡╤Ж╨╡ ╨▓╤Л╨┤╨░╨╗╤Ц╤Ж╤М ╨▒╤Ц╨▒╨╗╤Ц╤П╤В╤Н╨║╤Г {library}?",
|
||||
"confirm_delete_library_assets": "╨Т╤Л ╤Ю╨┐╤Н╤Ю╨╜╨╡╨╜╤Л, ╤И╤В╨╛ ╤Е╨╛╤З╨░╤Ж╨╡ ╨▓╤Л╨┤╨░╨╗╤Ц╤Ж╤М ╨│╤Н╤В╤Г╤О ╨▒╤Ц╨▒╨╗╤Ц╤П╤В╤Н╨║╤Г? ╨У╤Н╤В╨░ ╨┐╤А╤Л╨▓╤П╨┤╨╖╨╡ ╨┤╨░ ╨▓╤Л╨┤╨░╨╗╨╡╨╜╨╜╤П {count, plural, one {# ╨░╨║╤В╤Л╨▓╤Г} other {╤Г╤Б╤Ц╤Е # ╨░╨║╤В╤Л╨▓╨░╤Ю}}, ╤П╨║╤Ц╤П ╨╖╨╝╤П╤И╤З╨░╤О╤Ж╤Ж╨░ ╤Ю Immich, ╤Ц ╨│╤Н╤В╨░ ╨┤╨╖╨╡╤П╨╜╨╜╨╡ ╨╜╨╡╨╝╨░╨│╤З╤Л╨╝╨░ ╨▒╤Г╨┤╨╖╨╡ ╨░╨┤╨╝╤П╨╜╤Ц╤Ж╤М. ╨д╨░╨╣╨╗╤Л ╨╖╨░╤Б╤В╨░╨╜╤Г╤Ж╤Ж╨░ ╨╜╨░ ╨┤╤Л╤Б╨║╤Г.",
|
||||
"confirm_email_below": "╨Ъ╨░╨▒ ╨┐╨░╤Ж╨▓╨╡╤А╨┤╨╖╤Ц╤Ж╤М, ╤Г╨▓╤П╨┤╨╖╤Ц╤Ж╨╡ \"{email}\" ╨╜╤Ц╨╢╤Н╨╣",
|
||||
"confirm_reprocess_all_faces": "╨Т╤Л ╤Ю╨┐╤Н╤Ю╨╜╨╡╨╜╤Л, ╤И╤В╨╛ ╤Е╨╛╤З╨░╤Ж╨╡ ╨┐╨╡╤А╨░╨░╨┐╤А╨░╤Ж╨░╨▓╨░╤Ж╤М ╤Г╤Б╨╡ ╤В╨▓╨░╤А╤Л? ╨У╤Н╤В╨░ ╤В╨░╨║╤Б╨░╨╝╨░ ╨┐╤А╤Л╨▓╤П╨┤╨╖╨╡ ╨┤╨░ ╨▓╤Л╨┤╨░╨╗╨╡╨╜╨╜╤П ╤Ц╨╝╤П ╨╗╤О╨┤╨╖╨╡╨╣.",
|
||||
"confirm_user_password_reset": "╨Т╤Л ╤Ю╨┐╤Н╤Ю╨╜╨╡╨╜╤Л ╤Ю ╤В╤Л╨╝, ╤И╤В╨╛ ╨╢╨░╨┤╨░╨╡╤Ж╨╡ ╤Б╨║╤Ц╨╜╤Г╤Ж╤М ╨┐╨░╤А╨╛╨╗╤М {user}?",
|
||||
"confirm_user_pin_code_reset": "╨Т╤Л ╤Ю╨┐╤Н╤Ю╨╜╨╡╨╜╤Л ╤Ю ╤В╤Л╨╝, ╤И╤В╨╛ ╨╢╨░╨┤╨░╨╡╤Ж╨╡ ╤Б╨║╤Ц╨╜╤Г╤Ж╤М PIN-╨║╨╛╨┤ {user}?",
|
||||
"create_job": "╨б╤В╨▓╨░╤А╤Л╤Ж╤М ╨╖╨░╨┤╨░╨╜╨╜╨╡",
|
||||
"cron_expression": "╨Т╤Л╤А╨░╨╖ Cron",
|
||||
"cron_expression_description": "╨г╤Б╤В╨░╨╗╤О╨╣╤Ж╨╡ ╤Ц╨╜╤В╤Н╤А╨▓╨░╨╗ ╤Б╨║╨░╨╜╨░╨▓╨░╨╜╨╜╤П, ╨▓╤Л╨║╨░╤А╤Л╤Б╤В╨╛╤Ю╨▓╨░╤О╤З╤Л ╤Д╨░╤А╨╝╨░╤В cron. ╨Ф╨╗╤П ╨░╤В╤А╤Л╨╝╨░╨╜╨╜╤П ╨┤╨░╨┤╨░╤В╨║╨╛╨▓╨░╨╣ ╤Ц╨╜╤Д╨░╤А╨╝╨░╤Ж╤Л╤Ц, ╨║╨░╨╗╤Ц ╨╗╨░╤Б╨║╨░, ╨╖╨▓╤П╤А╨╜╤Ц╤Ж╨╡╤Б╤П, ╨╜╨░╨┐╤А╤Л╨║╨╗╨░╨┤, ╨┤╨░ <link>Crontab Guru</link>",
|
||||
"cron_expression_presets": "╨Я╤А╨░╨┤╤Г╤Б╤В╨░╨╜╨╛╨▓╨║╤Ц ╨▓╤Л╤А╨░╨╖╨░╤Ю Cron",
|
||||
"cron_expression_presets": "╨Я╤А╨░╨┤╤Г╤Б╤В╨░╨╜╨╛╤Ю╨║╤Ц ╨▓╤Л╤А╨░╨╖╨░╤Ю Cron",
|
||||
"disable_login": "╨Р╨┤╨║╨╗╤О╤З╤Л╤Ж╤М ╤Г╨▓╨░╤Е╨╛╨┤",
|
||||
"duplicate_detection_job_description": "╨Ч╨░╨┐╤Г╤Б╤Ж╤Ц╤Ж╤М ╨╝╨░╤И╤Л╨╜╨╜╨░╨╡ ╨╜╨░╨▓╤Г╤З╨░╨╜╨╜╨╡ ╨╜╨░ ╨░╨║╤В╤Л╨▓╨░╤Е ╨┤╨╗╤П ╨▓╤Л╤П╤Ю╨╗╨╡╨╜╨╜╤П ╨┐╨░╨┤╨╛╨▒╨╜╤Л╤Е ╨▓╤Л╤П╤Ю. ╨Ч╨░╨╗╨╡╨╢╤Л╤Ж╤М ╨░╨┤ Smart Search",
|
||||
"exclusion_pattern_description": "╨и╨░╨▒╨╗╨╛╨╜╤Л ╨▓╤Л╨║╨╗╤О╤З╤Н╨╜╨╜╤П ╨┤╨░╨╖╨▓╨░╨╗╤П╤О╤Ж╤М ╤Ц╨│╨╜╨░╤А╨░╨▓╨░╤Ж╤М ╤Д╨░╨╣╨╗╤Л ╤Ц ╨┐╨░╨┐╨║╤Ц ╨┐╤А╤Л ╤Б╨║╨░╨╜╨░╨▓╨░╨╜╨╜╤Ц ╨▓╨░╤И╨░╨╣ ╨▒╤Ц╨▒╨╗╤Ц╤П╤В╤Н╨║╤Ц. ╨У╤Н╤В╨░ ╨║╨░╤А╤Л╤Б╨╜╨░, ╨║╨░╨╗╤Ц ╤Ю ╨▓╨░╤Б ╤С╤Б╤Ж╤М ╨┐╨░╨┐╨║╤Ц, ╤П╨║╤Ц╤П ╨╖╨╝╤П╤И╤З╨░╤О╤Ж╤М ╤Д╨░╨╣╨╗╤Л, ╤П╨║╤Ц╤П ╨▓╤Л ╨╜╨╡ ╤Е╨╛╤З╨░╤Ж╨╡ ╤Ц╨╝╨┐╨░╤А╤В╨░╨▓╨░╤Ж╤М, ╨╜╨░╨┐╤А╤Л╨║╨╗╨░╨┤, ╤Д╨░╨╣╨╗╤Л RAW.",
|
||||
@@ -71,15 +74,272 @@
|
||||
"image_fullsize_enabled_description": "╨б╤В╨▓╨░╤А╨░╤Ж╤М ╨▓╤Л╤П╨▓╤Г ╤Ю ╨┐╨╛╤Ю╨╜╤Л╨╝ ╨┐╨░╨╝╨╡╤А╤Л ╨┤╨╗╤П ╤Д╨░╤А╨╝╨░╤В╨░╤Ю, ╤И╤В╨╛ ╨╜╨╡ ╨┐╤А╤Л╨┤╨░╤В╨╜╤Л╤П ╨┤╨╗╤П ╨▓╤Н╨▒. ╨Ъ╨░╨╗╤Ц ╤Ю╨║╨╗╤О╤З╨░╨╜╨░ ╨╛╨┐╤Ж╤Л╤П \"╨Р╨┤╨┤╨░╨▓╨░╤Ж╤М ╨┐╨╡╤А╨░╨▓╨░╨│╤Г ╤Ю╨▒╤Г╨┤╨░╨▓╨░╨╜╨░╨╣ ╨┐╤А╨░╤П╨▓╨╡\", ╨┐╤А╨░╨│╨╗╤П╨┤╤Л ╨▓╤Л╨║╨░╤А╤Л╤Б╤В╨╛╤Ю╨▓╨░╤О╤Ж╤Ж╨░ ╨╜╨╡╨┐╨░╤Б╤А╤Н╨┤╨╜╨░ ╨▒╨╡╨╖ ╨║╨░╨╜╨▓╨╡╤А╤В╨░╤Ж╤Л╤Ц. ╨Э╨╡ ╤Ю╨┐╨╗╤Л╨▓╨░╨╡ ╨╜╨░ ╨▓╤Н╨▒-╨┐╤А╤Л╨┤╨░╤В╨╜╤Л╤П ╤Д╨░╤А╨╝╨░╤В╤Л, ╤В╨░╨║╤Ц╤П ╤П╨║ JPEG.",
|
||||
"image_fullsize_quality_description": "╨п╨║╨░╤Б╤Ж╤М ╨▓╤Л╤П╨▓╤Л ╤Ю ╨┐╨╛╤Ю╨╜╤Л╨╝ ╨┐╨░╨╝╨╡╤А╤Л ╨░╨┤ 1 ╨┤╨░ 100. ╨С╨╛╨╗╤М╤И ╨▓╤Л╤Б╨╛╨║╨░╨╡ ╨╖╨╜╨░╤З╤Н╨╜╨╜╨╡ ╨╗╨╡╨┐╤И╨░╨╡, ╨░╨╗╨╡ ╨┐╤А╤Л╨▓╨╛╨┤╨╖╤Ц╤Ж╤М ╨┤╨░ ╨┐╨░╨▓╨╡╨╗╤Ц╤З╤Н╨╜╨╜╤П ╨┐╨░╨╝╨╡╤А╤Г ╤Д╨░╨╣╨╗╨░.",
|
||||
"image_fullsize_title": "╨Э╨░╨╗╨░╨┤╤Л ╨▓╤Л╤П╨▓╤Л ╤Ю ╨┐╨╛╤Ю╨╜╤Л╨╝ ╨┐╨░╨╝╨╡╤А╤Л",
|
||||
"image_prefer_embedded_preview_setting_description": "╨Т╤Л╨║╨░╤А╤Л╤Б╤В╨╛╤Ю╨▓╨░╤Ж╤М ╤Г╨▒╤Г╨┤╨░╨▓╨░╨╜╤Л╤П ╨┐╤А╨░╤П╨▓╤Л ╤Ю RAW-╤Д╨╛╤В╨░╨╖╨┤╤Л╨╝╨║╨░╤Е ╤Ю ╤П╨║╨░╤Б╤Ж╤Ц ╤Ю╨▓╨░╤Е╨╛╨┤╨╜╤Л╤Е ╨┤╨░╨┤╨╖╨╡╨╜╤Л╤Е ╨┤╨╗╤П ╨░╨┐╤А╨░╤Ж╨╛╤Ю╨║╤Ц ╨╝╨░╨╗╤О╨╜╨║╨░╤Ю, ╨║╨░╨╗╤Ц ╨╝╨░╨│╤З╤Л╨╝╨░. ╨У╤Н╤В╨░ ╨┤╨░╨╖╨▓╨░╨╗╤П╨╡ ╨░╤В╤А╤Л╨╝╨░╤Ж╤М ╨▒╨╛╨╗╤М╤И ╨┤╨░╨║╨╗╨░╨┤╨╜╤Л╤П ╨║╨╛╨╗╨╡╤А╤Л ╨┤╨╗╤П ╨╜╨╡╨║╨░╤В╨╛╤А╤Л╤Е ╨▓╤Ц╨┤╨░╤А╤Л╤Б╨░╤Ю, ╨░╨╗╨╡ ╨╢ ╤П╨║╨░╤Б╤Ж╤М ╨┐╤А╨░╤П╤Ю ╨╖╨░╨╗╨╡╨╢╤Л╤Ж╤М ╨░╨┤ ╨║╨░╨╝╨╡╤А╤Л, ╤Ц ╨╜╨░ ╨▓╤Ц╨┤╨░╤А╤Л╤Б╨╡ ╨╝╨╛╨╢╨░ ╨▒╤Л╤Ж╤М ╨▒╨╛╨╗╤М╤И ╨░╤А╤В╤Н╤Д╨░╨║╤В╨░╤Ю ╤Б╤Ж╤Ц╤Б╨║╤Г.",
|
||||
"image_prefer_wide_gamut": "╨Р╨┤╨┤╨░╤Ж╤М ╨┐╨╡╤А╨░╨▓╨░╨│╤Г ╤И╤Л╤А╨╛╨║╨░╨╣ ╨│╨░╨╝╨╡",
|
||||
"image_preview_title": "╨Э╨░╨╗╨░╨┤╤Л ╨┐╨░╨┐╤П╤А╤Н╨┤╨╜╤П╨│╨░ ╨┐╤А╨░╨│╨╗╤П╨┤╤Г",
|
||||
"image_quality": "╨п╨║╨░╤Б╤Ж╤М",
|
||||
"image_resolution": "╨а╨░╨╖╨┤╨╖╤П╨╗╤П╨╗╤М╨╜╨░╤Б╤Ж╤М",
|
||||
"image_settings": "╨Э╨░╨╗╨░╨┤╤Л ╨▓╤Ц╨┤╨░╤А╤Л╤Б╨░",
|
||||
"image_settings_description": "╨Ъ╤Ц╤А╤Г╨╣╤Ж╨╡ ╤П╨║╨░╤Б╤Ж╤О ╤Ц ╤А╨░╨╖╨┤╨╖╤П╨╗╤П╨╗╤М╨╜╨░╤Б╤Ж╤О ╤Б╨│╨╡╨╜╨╡╤А╤Л╤А╨░╨▓╨░╨╜╤Л╤Е ╨▓╤Ц╨┤╨░╤А╤Л╤Б╨░╤Ю"
|
||||
"image_settings_description": "╨Ъ╤Ц╤А╤Г╨╣╤Ж╨╡ ╤П╨║╨░╤Б╤Ж╤О ╤Ц ╤А╨░╨╖╨┤╨╖╤П╨╗╤П╨╗╤М╨╜╨░╤Б╤Ж╤О ╤Б╨│╨╡╨╜╨╡╤А╤Л╤А╨░╨▓╨░╨╜╤Л╤Е ╨▓╤Ц╨┤╨░╤А╤Л╤Б╨░╤Ю",
|
||||
"library_created": "╨б╤В╨▓╨╛╤А╨░╨╜╨░ ╨▒╤Ц╨▒╨╗╤Ц╤П╤В╤Н╨║╨░: {library}",
|
||||
"library_deleted": "╨С╤Ц╨▒╨╗╤Ц╤П╤В╤Н╨║╨░ ╨▓╤Л╨┤╨░╨╗╨╡╨╜╨░",
|
||||
"map_dark_style": "╨ж╤С╨╝╨╜╤Л ╤Б╤В╤Л╨╗╤М",
|
||||
"map_enable_description": "╨г╨║╨╗╤О╤З╤Л╤Ж╤М ╤Д╤Г╨╜╨║╤Ж╤Л╤Ц ╨║╨░╤А╤В╤Л",
|
||||
"map_gps_settings": "╨Э╨░╨╗╨░╨┤╤Л ╨║╨░╤А╤В╤Л ╤Ц GPS",
|
||||
"map_light_style": "╨б╨▓╨╡╤В╨╗╤Л ╤Б╤В╤Л╨╗╤М",
|
||||
"map_settings": "╨Ъ╨░╤А╤В╨░",
|
||||
"map_settings_description": "╨Ъ╤Ц╤А╨░╨▓╨░╨╜╨╜╨╡ ╨╜╨░╨╗╨░╨┤╨░╨╝╤Ц ╨║╨░╤А╤В╤Л",
|
||||
"map_style_description": "URL-╨░╨┤╤А╨░╤Б style.json ╤В╤Н╨╝╤Л ╨║╨░╤А╤В╤Л",
|
||||
"metadata_settings": "╨Э╨░╨╗╨░╨┤╤Л ╨╝╨╡╤В╨░╨┤╨░╨╜╤Л╤Е",
|
||||
"oauth_button_text": "╨в╤Н╨║╤Б╤В ╨║╨╜╨╛╨┐╨║╤Ц",
|
||||
"oauth_settings": "OAuth",
|
||||
"system_settings": "╨б╤Ц╤Б╤В╤Н╨╝╨╜╤Л╤П ╨╜╨░╨╗╨░╨┤╤Л",
|
||||
"theme_settings": "╨Э╨░╨╗╨░╨┤╤Л ╤В╤Н╨╝╤Л",
|
||||
"transcoding_acceleration_vaapi": "VAAPI",
|
||||
"transcoding_audio_codec": "╨Р╤Г╨┤╤Л╤П╨║╨╛╨┤╤Н╨║",
|
||||
"transcoding_video_codec": "╨Т╤Ц╨┤╤Н╨░╨║╨╛╨┤╤Н╨║",
|
||||
"trash_settings": "╨Э╨░╨╗╨░╨┤╤Л ╤Б╨╝╨╡╤В╨╜╤Ц╤Ж╤Л",
|
||||
"trash_settings_description": "╨Ъ╤Ц╤А╨░╨▓╨░╨╜╨╜╨╡ ╨╜╨░╨╗╨░╨┤╨░╨╝╤Ц ╤Б╨╝╨╡╤В╨╜╤Ц╤Ж╤Л",
|
||||
"version_check_settings": "╨Я╤А╨░╨▓╨╡╤А╨║╨░ ╨▓╨╡╤А╤Б╤Ц╤Ц",
|
||||
"version_check_settings_description": "╨г╨║╨╗╤О╤З╤Л╤Ж╤М/╨░╨┤╨║╨╗╤О╤З╤Л╤Ж╤М ╨░╨┐╨░╨▓╤П╤И╤З╤Н╨╜╨╜╤Ц ╨░╨▒ ╨╜╨╛╨▓╨░╨╣ ╨▓╨╡╤А╤Б╤Ц╤Ц"
|
||||
},
|
||||
"advanced_settings_troubleshooting_title": "╨Т╤Л╨┐╤А╨░╤Ю╨╗╨╡╨╜╨╜╨╡ ╨╜╨╡╨┐╨░╨╗╨░╨┤╨░╨║",
|
||||
"album_added": "╨Р╨╗╤М╨▒╨╛╨╝ ╨┤╨░╨┤╨░╨┤╨╖╨╡╨╜╤Л",
|
||||
"album_name": "╨Э╨░╨╖╨▓╨░ ╨░╨╗╤М╨▒╨╛╨╝╨░",
|
||||
"album_remove_user": "╨Т╤Л╨┤╨░╨╗╤Ц╤Ж╤М ╨║╨░╤А╤Л╤Б╤В╨░╨╗╤М╨╜╤Ц╨║╨░?",
|
||||
"album_updated": "╨Р╨╗╤М╨▒╨╛╨╝ ╨░╨▒╨╜╨╛╤Ю╨╗╨╡╨╜╤Л",
|
||||
"albums": "╨Р╨╗╤М╨▒╨╛╨╝╤Л",
|
||||
"all": "╨г╤Б╨╡",
|
||||
"all_albums": "╨г╤Б╨╡ ╨░╨╗╤М╨▒╨╛╨╝╤Л",
|
||||
"all_people": "╨г╤Б╨╡ ╨╗╤О╨┤╨╖╤Ц",
|
||||
"all_videos": "╨г╤Б╨╡ ╨▓╤Ц╨┤╤Н╨░",
|
||||
"app_bar_signout_dialog_ok": "╨в╨░╨║",
|
||||
"app_bar_signout_dialog_title": "╨Т╤Л╨╣╤Б╤Ж╤Ц",
|
||||
"app_settings": "╨Э╨░╨╗╨░╨┤╤Л ╨┐╤А╨░╨│╤А╨░╨╝╤Л",
|
||||
"archive": "╨Р╤А╤Е╤Ц╤Ю",
|
||||
"archive_size": "╨Я╨░╨╝╨╡╤А ╨░╤А╤Е╤Ц╨▓╨░",
|
||||
"asset_uploading": "╨Ч╨░╨┐╨░╨╝╨┐╨╛╤Ю╨▓╨░╨╜╨╜╨╡тАж",
|
||||
"back": "╨Э╨░╨╖╨░╨┤",
|
||||
"backup_all": "╨г╤Б╨╡",
|
||||
"backup_controller_page_background_wifi": "╨в╨╛╨╗╤М╨║╤Ц ╨┐╤А╨░╨╖ Wi-Fi",
|
||||
"buy": "╨Ъ╤Г╨┐╤Ц╤Ж╤М Immich",
|
||||
"cache_settings_clear_cache_button": "╨Р╤З╤Л╤Б╤Ж╤Ц╤Ж╤М ╨║╤Н╤И",
|
||||
"cache_settings_tile_title": "╨Ы╨░╨║╨░╨╗╤М╨╜╨░╨╡ ╤Б╤Е╨╛╨▓╤Ц╤И╤З╨░",
|
||||
"cancel": "╨б╨║╨░╤Б╨░╨▓╨░╤Ж╤М",
|
||||
"cancel_search": "╨б╨║╨░╤Б╨░╨▓╨░╤Ж╤М ╨┐╨╛╤И╤Г╨║",
|
||||
"canceled": "╨б╨║╨░╤Б╨░╨▓╨░╨╜╨░",
|
||||
"city": "╨У╨╛╤А╨░╨┤",
|
||||
"clear": "╨Р╤З╤Л╤Б╤Ж╤Ц╤Ж╤М",
|
||||
"clear_all": "╨Р╤З╤Л╤Б╤Ж╤Ц╤Ж╤М ╤Г╤Б╤С",
|
||||
"client_cert_dialog_msg_confirm": "╨Ю╨Ъ",
|
||||
"client_cert_enter_password": "╨г╨▓╤П╨┤╨╖╤Ц╤Ж╨╡ ╨┐╨░╤А╨╛╨╗╤М",
|
||||
"client_cert_import": "╨Ж╨╝╨┐╨░╤А╤В",
|
||||
"close": "╨Ч╨░╨║╤А╤Л╤Ж╤М",
|
||||
"collapse": "╨Ч╨│╨░╤А╨╜╤Г╤Ж╤М",
|
||||
"collapse_all": "╨Ч╨│╨░╤А╨╜╤Г╤Ж╤М ╤Г╤Б╤С",
|
||||
"color": "╨Ъ╨╛╨╗╨╡╤А",
|
||||
"color_theme": "╨Ъ╨╛╨╗╨╡╤А╨░╨▓╨░╤П ╤В╤Н╨╝╨░",
|
||||
"continue": "╨Я╤А╨░╤Ж╤П╨│╨╜╤Г╤Ж╤М",
|
||||
"control_bottom_app_bar_create_new_album": "╨б╤В╨▓╨░╤А╤Л╤Ж╤М ╨╜╨╛╨▓╤Л ╨░╨╗╤М╨▒╨╛╨╝",
|
||||
"control_bottom_app_bar_delete_from_immich": "╨Т╤Л╨┤╨░╨╗╤Ц╤Ж╤М ╨╖ Immich",
|
||||
"control_bottom_app_bar_delete_from_local": "╨Т╤Л╨┤╨░╨╗╤Ц╤Ж╤М ╨╖ ╨┐╤А╤Л╨╗╨░╨┤╤Л",
|
||||
"control_bottom_app_bar_edit_location": "╨а╤Н╨┤╨░╨│╨░╨▓╨░╤Ж╤М ╨╝╨╡╤Б╤Ж╨░╨╖╨╜╨░╤Е╨╛╨┤╨╢╨░╨╜╨╜╨╡",
|
||||
"country": "╨Ъ╤А╨░╤Ц╨╜╨░",
|
||||
"cover": "╨Т╨╛╨║╨╗╨░╨┤╨║╨░",
|
||||
"covers": "╨Т╨╛╨║╨╗╨░╨┤╨║╤Ц",
|
||||
"create": "╨б╤В╨▓╨░╤А╤Л╤Ж╤М",
|
||||
"create_album": "╨б╤В╨▓╨░╤А╤Л╤Ж╤М ╨░╨╗╤М╨▒╨╛╨╝",
|
||||
"create_album_page_untitled": "╨С╨╡╨╖ ╨╜╨░╨╖╨▓╤Л",
|
||||
"create_library": "╨б╤В╨▓╨░╤А╤Л╤Ж╤М ╨▒╤Ц╨▒╨╗╤Ц╤П╤В╤Н╨║╤Г",
|
||||
"create_link": "╨б╤В╨▓╨░╤А╤Л╤Ж╤М ╤Б╨┐╨░╤Б╤Л╨╗╨║╤Г",
|
||||
"create_new_user": "╨б╤В╨▓╨░╤А╤Л╤Ж╤М ╨╜╨╛╨▓╨░╨│╨░ ╨║╨░╤А╤Л╤Б╤В╨░╨╗╤М╨╜╤Ц╨║╨░",
|
||||
"create_tag": "╨б╤В╨▓╨░╤А╤Л╤Ж╤М ╤В╤Н╨│",
|
||||
"create_user": "╨б╤В╨▓╨░╤А╤Л╤Ж╤М ╨║╨░╤А╤Л╤Б╤В╨░╨╗╤М╨╜╤Ц╨║╨░",
|
||||
"dark": "╨ж╤С╨╝╨╜╨░╤П",
|
||||
"day": "╨Ф╨╖╨╡╨╜╤М",
|
||||
"delete": "╨Т╤Л╨┤╨░╨╗╤Ц╤Ж╤М",
|
||||
"delete_album": "╨Т╤Л╨┤╨░╨╗╤Ц╤Ж╤М ╨░╨╗╤М╨▒╨╛╨╝",
|
||||
"delete_dialog_ok_force": "╨г╤Б╤С ╨░╨┤╨╜╨╛ ╨▓╤Л╨┤╨░╨╗╤Ц╤Ж╤М",
|
||||
"delete_dialog_title": "╨Т╤Л╨┤╨░╨╗╤Ц╤Ж╤М ╨╜╨░╨╖╨░╤Ю╨╢╨┤╤Л",
|
||||
"delete_face": "╨Т╤Л╨┤╨░╨╗╤Ц╤Ж╤М ╤В╨▓╨░╤А",
|
||||
"delete_key": "╨Т╤Л╨┤╨░╨╗╤Ц╤Ж╤М ╨║╨╗╤О╤З",
|
||||
"delete_library": "╨Т╤Л╨┤╨░╨╗╤Ц╤Ж╤М ╨▒╤Ц╨▒╨╗╤Ц╤П╤В╤Н╨║╤Г",
|
||||
"delete_link": "╨Т╤Л╨┤╨░╨╗╤Ц╤Ж╤М ╤Б╨┐╨░╤Б╤Л╨╗╨║╤Г",
|
||||
"delete_local_dialog_ok_force": "╨г╤Б╤С ╨░╨┤╨╜╨╛ ╨▓╤Л╨┤╨░╨╗╤Ц╤Ж╤М",
|
||||
"delete_others": "╨Т╤Л╨┤╨░╨╗╤Ц╤Ж╤М ╤Ц╨╜╤И╤Л╤П",
|
||||
"delete_tag": "╨Т╤Л╨┤╨░╨╗╤Ц╤Ж╤М ╤В╤Н╨│",
|
||||
"delete_user": "╨Т╤Л╨┤╨░╨╗╤Ц╤Ж╤М ╨║╨░╤А╤Л╤Б╤В╨░╨╗╤М╨╜╤Ц╨║╨░",
|
||||
"discord": "Discord",
|
||||
"documentation": "╨Ф╨░╨║╤Г╨╝╨╡╨╜╤В╨░╤Ж╤Л╤П",
|
||||
"done": "╨У╨░╤В╨╛╨▓╨░",
|
||||
"download": "╨б╨┐╨░╨╝╨┐╨░╨▓╨░╤Ж╤М",
|
||||
"download_canceled": "╨б╨┐╨░╨╝╨┐╨╛╤Ю╨▓╨░╨╜╨╜╨╡ ╤Б╨║╨░╤Б╨░╨▓╨░╨╜╨░",
|
||||
"download_complete": "╨б╨┐╨░╨╝╨┐╨╛╤Ю╨▓╨░╨╜╨╜╨╡ ╨╖╨░╨▓╨╡╤А╤И╨░╨╜╨░",
|
||||
"download_enqueue": "╨б╨┐╨░╨╝╨┐╨╛╤Ю╨▓╨░╨╜╨╜╨╡ ╨┤╨░╨┤╨░╨┤╨╖╨╡╨╜╨░ ╤Ю ╤З╨░╤А╨│╤Г",
|
||||
"downloading": "╨б╨┐╨░╨╝╨┐╨╛╤Ю╨▓╨░╨╜╨╜╨╡",
|
||||
"edit": "╨а╤Н╨┤╨░╨│╨░╨▓╨░╤Ж╤М",
|
||||
"edit_album": "╨а╤Н╨┤╨░╨│╨░╨▓╨░╤Ж╤М ╨░╨╗╤М╨▒╨╛╨╝",
|
||||
"edit_avatar": "╨а╤Н╨┤╨░╨│╨░╨▓╨░╤Ж╤М ╨░╨▓╨░╤В╨░╤А",
|
||||
"edit_date": "╨а╤Н╨┤╨░╨│╨░╨▓╨░╤Ж╤М ╨┤╨░╤В╤Г",
|
||||
"edit_date_and_time": "╨а╤Н╨┤╨░╨│╨░╨▓╨░╤М ╨┤╨░╤В╤Г ╤Ц ╤З╨░╤Б",
|
||||
"edit_description": "╨а╤Н╨┤╨░╨│╨░╨▓╨░╤Ж╤М ╨░╨┐╤Ц╤Б╨░╨╜╨╜╨╡",
|
||||
"edit_description_prompt": "╨Т╤Л╨▒╨╡╤А╤Л╤Ж╨╡ ╨╜╨╛╨▓╨░╨╡ ╨░╨┐╤Ц╤Б╨░╨╜╨╜╨╡:",
|
||||
"edit_faces": "╨а╤Н╨┤╨░╨│╨░╨▓╨░╤Ж╤М ╤В╨▓╨░╤А╤Л",
|
||||
"edit_import_path": "╨а╤Н╨┤╨░╨│╨░╨▓╨░╤Ж╤М ╤И╨╗╤П╤Е ╤Ц╨╝╨┐╨░╤А╤В╤Г",
|
||||
"edit_import_paths": "╨а╤Н╨┤╨░╨│╨░╨▓╨░╤Ж╤М ╤И╨╗╤П╤Е╤Ц ╤Ц╨╝╨┐╨░╤А╤В╤Г",
|
||||
"edit_key": "╨а╤Н╨┤╨░╨│╨░╨▓╨░╤Ж╤М ╨║╨╗╤О╤З",
|
||||
"edit_link": "╨а╤Н╨┤╨░╨│╨░╨▓╨░╤Ж╤М ╤Б╨┐╨░╤Б╤Л╨╗╨║╤Г",
|
||||
"edit_location": "╨а╤Н╨┤╨░╨│╨░╨▓╨░╤Ж╤М ╨╝╨╡╤Б╤Ж╨░╨╖╨╜╨░╤Е╨╛╨┤╨╢╨░╨╜╨╜╨╡",
|
||||
"edit_location_dialog_title": "╨Ь╨╡╤Б╤Ж╨░╨╖╨╜╨░╤Е╨╛╨┤╨╢╨░╨╜╨╜╨╡",
|
||||
"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": "╨Я╨░╨▓╨░╤А╨╛╤В",
|
||||
"error": "╨Я╨░╨╝╤Л╨╗╨║╨░",
|
||||
"error_saving_image": "╨Я╨░╨╝╤Л╨╗╨║╨░: {error}",
|
||||
"exif": "Exif",
|
||||
"exif_bottom_sheet_description": "╨Ф╨░╨┤╨░╤Ж╤М ╨░╨┐╤Ц╤Б╨░╨╜╨╜╨╡...",
|
||||
"favorite": "╨г ╨░╨▒╤А╨░╨╜╤Л╨╝",
|
||||
"favorite_or_unfavorite_photo": "╨Ф╨░╨┤╨░╤Ж╤М ╨░╨▒╨╛ ╨▓╤Л╨┤╨░╨╗╤Ц╤Ж╤М ╤Д╨╛╤В╨░ ╨╖ ╨░╨▒╤А╨░╨╜╨░╨│╨░",
|
||||
"favorites": "╨Р╨▒╤А╨░╨╜╤Л╤П",
|
||||
"file_name": "╨Э╨░╨╖╨▓╨░ ╤Д╨░╨╣╨╗╨░",
|
||||
"filename": "╨Э╨░╨╖╨▓╨░ ╤Д╨░╨╣╨╗╨░",
|
||||
"filetype": "╨в╤Л╨┐ ╤Д╨░╨╣╨╗╨░",
|
||||
"filter": "╨д╤Ц╨╗╤М╤В╤А",
|
||||
"forward": "╨Э╨░╨┐╨╡╤А╨░╨┤",
|
||||
"gcast_enabled": "Google Cast",
|
||||
"general": "╨Р╨│╤Г╨╗╤М╨╜╤Л╤П",
|
||||
"go_back": "╨Э╨░╨╖╨░╨┤",
|
||||
"go_to_folder": "╨Я╨╡╤А╨░╨╣╤Б╤Ж╤Ц ╨┤╨░ ╨┐╨░╨┐╨║╤Ц",
|
||||
"hi_user": "╨Т╤Ц╤В╨░╨╡╨╝, {name} ({email})",
|
||||
"hide_all_people": "╨б╤Е╨░╨▓╨░╤Ж╤М ╤Г╤Б╤Ц╤Е ╨╗╤О╨┤╨╖╨╡╨╣",
|
||||
"hide_gallery": "╨б╤Е╨░╨▓╨░╤Ж╤М ╨│╨░╨╗╨╡╤А╤Н╤О",
|
||||
"hide_named_person": "╨б╤Е╨░╨▓╨░╤Ж╤М {name}",
|
||||
"hide_password": "╨б╤Е╨░╨▓╨░╤Ж╤М ╨┐╨░╤А╨╛╨╗╤М",
|
||||
"hide_person": "╨б╤Е╨░╨▓╨░╤Ж╤М ╤З╨░╨╗╨░╨▓╨╡╨║╨░",
|
||||
"image_viewer_page_state_provider_download_started": "╨б╨┐╨░╨╝╨┐╨╛╤Ю╨▓╨░╨╜╨╜╨╡ ╨┐╨░╤З╨░╨╗╨╛╤Б╤П",
|
||||
"immich_logo": "╨Ы╨░╨│╨░╤В╤Л╨┐ Immich",
|
||||
"interval": {
|
||||
"day_at_onepm": "╨Ъ╨╛╨╢╨╜╤Л ╨┤╨╖╨╡╨╜╤М ╨░ 13-╨╣ ╨│╨░╨┤╨╖╤Ц╨╜╨╡",
|
||||
"hours": "{hours, plural, one {╨Ъ╨╛╨╢╨╜╤Г╤О ╨│╨░╨┤╨╖╤Ц╨╜╤Г} few {╨Ъ╨╛╨╢╨╜╤Л╤П {hours, number} ╨│╨░╨┤╨╖╤Ц╨╜╤Л} many {╨Ъ╨╛╨╢╨╜╤Л╤П {hours, number} ╨│╨░╨┤╨╖╤Ц╨╜} other {╨Ъ╨╛╨╢╨╜╤Л╤П {hours, number} ╨│╨░╨┤╨╖╤Ц╨╜}}",
|
||||
"night_at_midnight": "╨Ъ╨╛╨╢╨╜╤Г╤О ╨╜╨╛╤З ╨░╨┐╨╛╤Ю╨╜╨░╤З╤Л",
|
||||
"night_at_twoam": "╨Ъ╨╛╨╢╨╜╤Г╤О ╨╜╨╛╤З ╨░ 2-╨╣ ╨│╨░╨┤╨╖╤Ц╨╜╨╡"
|
||||
},
|
||||
"language": "╨Ь╨╛╨▓╨░",
|
||||
"library": "╨С╤Ц╨▒╨╗╤Ц╤П╤В╤Н╨║╨░",
|
||||
"light": "╨б╨▓╨╡╤В╨╗╨░╤П",
|
||||
"login_form_back_button_text": "╨Э╨░╨╖╨░╨┤",
|
||||
"login_form_email_hint": "youremail@email.com",
|
||||
"login_form_endpoint_hint": "http://your-server-ip:port",
|
||||
"login_form_password_hint": "╨┐╨░╤А╨╛╨╗╤М",
|
||||
"login_form_save_login": "╨Ч╨░╤Б╤В╨░╨▓╨░╤Ж╤Ж╨░ ╤Ю ╤Б╤Ц╤Б╤В╤Н╨╝╨╡",
|
||||
"main_menu": "╨У╨░╨╗╨╛╤Ю╨╜╨░╨╡ ╨╝╨╡╨╜╤О",
|
||||
"map_location_dialog_yes": "╨в╨░╨║",
|
||||
"map_settings_dark_mode": "╨ж╤С╨╝╨╜╤Л ╤А╤Н╨╢╤Л╨╝",
|
||||
"map_settings_date_range_option_day": "╨Р╨┐╨╛╤И╨╜╤Ц╤П 24 ╨│╨░╨┤╨╖╤Ц╨╜╤Л",
|
||||
"map_settings_date_range_option_days": "╨Р╨┐╨╛╤И╨╜╤Ц╤Е ╨┤╨╖╤С╨╜: {days}",
|
||||
"map_settings_date_range_option_year": "╨Р╨┐╨╛╤И╨╜╤Ц ╨│╨╛╨┤",
|
||||
"map_settings_date_range_option_years": "╨Р╨┐╨╛╤И╨╜╤Ц╤Е ╨│╨╛╨┤: {years}",
|
||||
"map_settings_dialog_title": "╨Э╨░╨╗╨░╨┤╤Л ╨║╨░╤А╤В╤Л",
|
||||
"map_settings_theme_settings": "╨в╤Н╨╝╨░ ╨║╨░╤А╤В╤Л",
|
||||
"menu": "╨Ь╨╡╨╜╤О",
|
||||
"minute": "╨е╨▓╤Ц╨╗╤Ц╨╜╨░",
|
||||
"month": "╨Ь╨╡╤Б╤П╤Ж",
|
||||
"monthly_title_text_date_format": "MMMM y",
|
||||
"my_albums": "╨Ь╨░╨╡ ╨░╨╗╤М╨▒╨╛╨╝╤Л",
|
||||
"name": "╨Ж╨╝╤П",
|
||||
"name_or_nickname": "╨Ж╨╝╤П ╨░╨▒╨╛ ╨┐╤Б╨╡╤Ю╨┤╨░╨╜╤Ц╨╝",
|
||||
"next": "╨Ф╨░╨╗╨╡╨╣",
|
||||
"no": "╨Э╨╡",
|
||||
"offline": "╨Я╨░-╨╖╨░ ╤Б╨╡╤В╨║╨░╨╣",
|
||||
"ok": "╨Ю╨Ъ",
|
||||
"online": "╨г ╤Б╨╡╤В╤Ж╤Л",
|
||||
"open": "╨Р╨┤╨║╤А╤Л╤Ж╤М",
|
||||
"or": "╨░╨▒╨╛",
|
||||
"partner_list_user_photos": "╨д╨╛╤В╨░ ╨║╨░╤А╤Л╤Б╤В╨░╨╗╤М╨╜╤Ц╨║╨░ {user}",
|
||||
"pause": "╨Я╤А╤Л╨┐╤Л╨╜╤Ц╤Ж╤М",
|
||||
"people": "╨Ы╤О╨┤╨╖╤Ц",
|
||||
"permission_onboarding_back": "╨Э╨░╨╖╨░╨┤",
|
||||
"permission_onboarding_continue_anyway": "╨г╤Б╤С ╨░╨┤╨╜╨╛ ╨┐╤А╨░╤Ж╤П╨│╨╜╤Г╤Ж╤М",
|
||||
"photos": "╨д╨╛╤В╨░",
|
||||
"photos_and_videos": "╨д╨╛╤В╨░ ╤Ц ╨▓╤Ц╨┤╤Н╨░",
|
||||
"place": "╨Ь╨╡╤Б╤Ж╨░",
|
||||
"places": "╨Ь╨╡╤Б╤Ж╤Л",
|
||||
"port": "╨Я╨╛╤А╤В",
|
||||
"previous": "╨Я╨░╨┐╤П╤А╤Н╨┤╨╜╤П╨╡",
|
||||
"profile": "╨Я╤А╨╛╤Д╤Ц╨╗╤М",
|
||||
"profile_drawer_app_logs": "╨Ц╤Г╤А╨╜╨░╨╗╤Л",
|
||||
"profile_drawer_github": "GitHub",
|
||||
"purchase_button_buy": "╨Ъ╤Г╨┐╤Ц╤Ж╤М",
|
||||
"purchase_button_buy_immich": "╨Ъ╤Г╨┐╤Ц╤Ж╤М Immich",
|
||||
"purchase_button_select": "╨Т╤Л╨▒╤А╨░╤Ж╤М",
|
||||
"remove": "╨Т╤Л╨┤╨░╨╗╤Ц╤Ж╤М",
|
||||
"remove_from_album": "╨Т╤Л╨┤╨░╨╗╤Ц╤Ж╤М ╨╖ ╨░╨╗╤М╨▒╨╛╨╝╨░",
|
||||
"remove_from_favorites": "╨Т╤Л╨┤╨░╨╗╤Ц╤Ж╤М ╨╖ ╨░╨▒╤А╨░╨╜╤Л╤Е",
|
||||
"remove_tag": "╨Т╤Л╨┤╨░╨╗╤Ц╤Ж╤М ╤В╤Н╨│",
|
||||
"remove_url": "╨Т╤Л╨┤╨░╨╗╤Ц╤Ж╤М URL-╨░╨┤╤А╨░╤Б",
|
||||
"remove_user": "╨Т╤Л╨┤╨░╨╗╤Ц╤Ж╤М ╨║╨░╤А╤Л╤Б╤В╨░╨╗╤М╨╜╤Ц╨║╨░",
|
||||
"rename": "╨Я╨╡╤А╨░╨╣╨╝╨╡╨╜╨░╨▓╨░╤Ж╤М",
|
||||
"repository": "╨а╤Н╨┐╨░╨╖╤Ц╤В╨╛╤А╤Л╨╣",
|
||||
"reset": "╨б╨║╤Ц╨╜╤Г╤Ж╤М",
|
||||
"reset_password": "╨б╨║╤Ц╨╜╤Г╤Ж╤М ╨┐╨░╤А╨╛╨╗╤М",
|
||||
"restore": "╨Р╨┤╨╜╨░╨▓╤Ц╤Ж╤М",
|
||||
"restore_all": "╨Р╨┤╨╜╨░╨▓╤Ц╤Ж╤М ╤Г╤Б╤С",
|
||||
"restore_user": "╨Р╨┤╨╜╨░╨▓╤Ц╤Ж╤М ╨║╨░╤А╤Л╤Б╤В╨░╨╗╤М╨╜╤Ц╨║╨░",
|
||||
"resume": "╨г╨╖╨╜╨░╨▓╤Ц╤Ж╤М",
|
||||
"role": "╨а╨╛╨╗╤П",
|
||||
"role_editor": "╨а╤Н╨┤╨░╨║╤В╨░╤А",
|
||||
"role_viewer": "╨У╨╗╤П╨┤╨░╤З",
|
||||
"save": "╨Ч╨░╤Е╨░╨▓╨░╤Ж╤М",
|
||||
"save_to_gallery": "╨Ч╨░╤Е╨░╨▓╨░╤Ж╤М ╤Г ╨│╨░╨╗╨╡╤А╤Н╤О",
|
||||
"search_filter_date": "╨Ф╨░╤В╨░",
|
||||
"search_filter_location": "╨Ь╨╡╤Б╤Ж╨░╨╖╨╜╨░╤Е╨╛╨┤╨╢╨░╨╜╨╜╨╡",
|
||||
"search_filter_location_title": "╨Т╤Л╨▒╨╡╤А╤Л╤Ж╨╡ ╨╝╨╡╤Б╤Ж╨░╨╖╨╜╨░╤Е╨╛╨┤╨╢╨░╨╜╨╜╨╡",
|
||||
"search_filter_media_type": "╨в╤Л╨┐ ╨╝╨╡╨┤╤Л╤П",
|
||||
"search_filter_media_type_title": "╨Т╤Л╨▒╨╡╤А╤Л╤Ж╨╡ ╤В╤Л╨┐ ╨╝╨╡╨┤╤Л╤П",
|
||||
"search_page_screenshots": "╨Ч╨┤╤Л╨╝╨║╤Ц ╤Н╨║╤А╨░╨╜╨░",
|
||||
"search_page_selfies": "╨б╤Н╨╗╤Д╤Ц",
|
||||
"search_page_things": "╨а╤Н╤З╤Л",
|
||||
"search_page_your_map": "╨Т╨░╤И╨░ ╨║╨░╤А╤В╨░",
|
||||
"second": "╨б╨╡╨║╤Г╨╜╨┤╨░",
|
||||
"send_message": "╨Р╨┤╨┐╤А╨░╨▓╤Ц╤Ж╤М ╨┐╨░╨▓╨╡╨┤╨░╨╝╨╗╨╡╨╜╨╜╨╡",
|
||||
"setting_languages_apply": "╨г╨╢╤Л╤Ж╤М",
|
||||
"setting_notifications_notify_never": "╨╜╤Ц╨║╨╛╨╗╤Ц",
|
||||
"settings": "╨Э╨░╨╗╨░╨┤╤Л",
|
||||
"share_add_photos": "╨Ф╨░╨┤╨░╤Ж╤М ╤Д╨╛╤В╨░",
|
||||
"shared_album_section_people_title": "╨Ы╨о╨Ф╨Ч╨Ж",
|
||||
"shared_link_info_chip_metadata": "EXIF",
|
||||
"sharing_page_empty_list": "╨Я╨г╨б╨в╨л ╨б╨Я╨Ж╨б",
|
||||
"sign_out": "╨Т╤Л╨╣╤Б╤Ж╤Ц",
|
||||
"sign_up": "╨Ч╨░╤А╤Н╨│╤Ц╤Б╤В╤А╨░╨▓╨░╤Ж╤Ж╨░",
|
||||
"size": "╨Я╨░╨╝╨╡╤А",
|
||||
"sort_title": "╨Ч╨░╨│╨░╨╗╨╛╨▓╨░╨║",
|
||||
"source": "╨Ъ╤А╤Л╨╜╤Ц╤Ж╨░",
|
||||
"tag": "╨в╤Н╨│",
|
||||
"tags": "╨в╤Н╨│╤Ц",
|
||||
"theme": "╨в╤Н╨╝╨░",
|
||||
"theme_selection": "╨Т╤Л╨▒╨░╤А ╤В╤Н╨╝╤Л",
|
||||
"timeline": "╨е╤А╨╛╨╜╤Ц╨║╨░",
|
||||
"total": "╨г╤Б╤П╨│╨╛",
|
||||
"trash": "╨б╨╝╨╡╤В╨╜╤Ц╤Ж╨░",
|
||||
"trash_page_delete_all": "╨Т╤Л╨┤╨░╨╗╤Ц╤Ж╤М ╤Г╤Б╨╡",
|
||||
"trash_page_restore_all": "╨Р╨┤╨╜╨░╨▓╤Ц╤Ж╤М ╤Г╤Б╨╡",
|
||||
"trash_page_title": "╨б╨╝╨╡╤В╨╜╤Ц╤Ж╨░ ({count})",
|
||||
"type": "╨в╤Л╨┐",
|
||||
"undo": "╨Р╨┤╤А╨░╨▒╤Ц╤Ж╤М",
|
||||
"upload": "╨Ч╨░╨┐╨░╨╝╨┐╨░╨▓╨░╤Ж╤М",
|
||||
"upload_status_errors": "╨Я╨░╨╝╤Л╨╗╨║╤Ц",
|
||||
"uploading": "╨Ч╨░╨┐╨░╨╝╨┐╨╛╤Ю╨▓╨░╨╜╨╜╨╡",
|
||||
"url": "URL-╨░╨┤╤А╨░╤Б",
|
||||
"user": "╨Ъ╨░╤А╤Л╤Б╤В╨░╨╗╤М╨╜╤Ц╨║",
|
||||
"user_has_been_deleted": "╨У╤Н╤В╤Л ╨║╨░╤А╤Л╤Б╤В╨░╨╗╤М╨╜╤Ц╨║ ╨▒╤Л╤Ю ╨▓╤Л╨┤╨░╨╗╨╡╨╜╤Л.",
|
||||
"user_id": "ID ╨║╨░╤А╤Л╤Б╤В╨░╨╗╤М╨╜╤Ц╨║╨░",
|
||||
"user_purchase_settings": "╨Ъ╤Г╨┐╨╗╤П",
|
||||
"user_purchase_settings_description": "╨Ъ╤Ц╤А╤Г╨╣╤Ж╨╡ ╨┐╨░╨║╤Г╨┐╨║╨░╨╝╤Ц",
|
||||
@@ -112,14 +372,14 @@
|
||||
"view_next_asset": "╨Я╨░╨║╨░╨╖╨░╤Ж╤М ╨╜╨░╤Б╤В╤Г╨┐╨╜╤Л ╨░╨▒'╨╡╨║╤В",
|
||||
"view_previous_asset": "╨Я╤А╨░╨│╨╗╤П╨┤╨╖╨╡╤Ж╤М ╨┐╨░╨┐╤П╤А╤Н╨┤╨╜╤Ц ╨░╨▒'╨╡╨║╤В",
|
||||
"view_stack": "╨Я╤А╨░╨│╨╗╤П╨┤ ╤Б╤В╤Н╨║╨░",
|
||||
"visibility_changed": "╨Т╤Ц╨┤╨╖╤Ц╨╝╨░╤Б╤Ж╤М ╨╖╨╝╤П╨╜╤Ц╨╗╨░╤Б╤П ╨┤╨╗╤П {count, plural, one {# ╤З╨░╨╗╨░╨▓╨╡╨║(-╨░╤Ю)} ╨░╤Б╤В╨░╤В╨╜╤Ц╤Е {# ╤З╨░╨╗╨░╨▓╨╡╨║}}",
|
||||
"visibility_changed": "╨С╨░╤З╨╜╨░╤Б╤Ж╤М ╨╖╨╝╤П╨╜╤Ц╨╗╨░╤Б╤П ╨┤╨╗╤П {count, plural, one {# ╤З╨░╨╗╨░╨▓╨╡╨║╨░} other {# ╤З╨░╨╗╨░╨▓╨╡╨║}}",
|
||||
"waiting": "╨з╨░╨║╨░╤О╤Ж╤М",
|
||||
"warning": "╨Я╨░╨┐╤П╤А╤Н╨┤╨╢╨░╨╜╨╜╨╡",
|
||||
"week": "╨в╤Л╨┤╨╖╨╡╨╜╤М",
|
||||
"welcome": "╨Т╤Ц╤В╨░╨╡╨╝",
|
||||
"welcome_to_immich": "╨Т╤Ц╤В╨░╨╡╨╝ ╤Г Immich",
|
||||
"year": "╨У╨╛╨┤",
|
||||
"years_ago": "{years, plural, one {# ╨│╨╛╨┤} other {# ╨│╨░╨┤╨╛╤Ю}} ╤В╨░╨╝╤Г",
|
||||
"years_ago": "{years, plural, one {# ╨│╨╛╨┤} few {# ╨│╨░╨┤╤Л} many {# ╨│╨░╨┤╨╛╤Ю} other {# ╨│╨░╨┤╨╛╤Ю}} ╤В╨░╨╝╤Г",
|
||||
"yes": "╨в╨░╨║",
|
||||
"you_dont_have_any_shared_links": "╨г ╨▓╨░╤Б ╨╜╤П╨╝╨░ ╨░╨▒╨░╨│╤Г╨╗╨╡╨╜╤Л╤Е ╤Б╨┐╨░╤Б╤Л╨╗╨░╨║",
|
||||
"zoom_image": "╨Я╨░╨▓╤П╨╗╤Ц╤З╤Л╤Ж╤М ╨▓╤Ц╨┤╨░╤А╤Л╤Б"
|
||||
|
||||
+38
-4
@@ -166,6 +166,20 @@
|
||||
"metadata_settings_description": "╨г╨┐╤А╨░╨▓╨╗╨╡╨╜╨╕╨╡ ╨╜╨░ ╨╜╨░╤Б╤В╤А╨╛╨╣╨║╨╕╤В╨╡ ╨╖╨░ ╨╝╨╡╤В╨░╨┤╨░╨╜╨╜╨╕",
|
||||
"migration_job": "╨Ь╨╕╨│╤А╨░╤Ж╨╕╤П",
|
||||
"migration_job_description": "╨Ь╨╕╨│╤А╨╕╤А╨░╨╜╨╡ ╨╜╨░ ╨╝╨╕╨╜╨╕╨░╤В╤О╤А╨╕╤В╨╡ ╨╖╨░ ╨╡╨╗╨╡╨╝╨╡╨╜╤В╨╕ ╨╕ ╨╗╨╕╤Ж╨░ ╨║╤К╨╝ ╨╜╨░╨╣-╨╜╨╛╨▓╨░╤В╨░ ╤Б╤В╤А╤Г╨║╤В╤Г╤А╨░ ╨╜╨░ ╨┐╨░╨┐╨║╨╕╤В╨╡",
|
||||
"nightly_tasks_cluster_faces_setting_description": "╨Ш╨╖╨┐╤К╨╗╨╜╨╕ ╤А╨░╨╖╨┐╨╛╨╖╨╜╨░╨▓╨░╨╜╨╡ ╨╜╨░ ╨╗╨╕╤Ж╨╡ ╨╖╨░ ╨╛╤В╨║╤А╨╕╤В╨╕ ╨╜╨╛╨▓╨╕ ╨╗╨╕╤Ж╨░",
|
||||
"nightly_tasks_cluster_new_faces_setting": "╨а╨░╨╖╨┐╨╛╨╖╨╜╨░╨▓╨░╨╜╨╡ ╨╜╨░ ╨╜╨╛╨▓╨╕ ╨╗╨╕╤Ж╨░",
|
||||
"nightly_tasks_database_cleanup_setting": "╨Ч╨░╨┤╨░╤З╨╕ ╨┐╨╛ ╨┐╨╛╤З╨╕╤Б╤В╨▓╨░╨╜╨╡ ╨╜╨░ ╨▒╨░╨╖╨░╤В╨░ ╨┤╨░╨╜╨╜╨╕",
|
||||
"nightly_tasks_database_cleanup_setting_description": "╨Я╤А╨╡╨╝╨░╤Е╨╜╨╕ ╤Б╤В╨░╤А╨╕, ╨╜╨╡╨╜╤Г╨╢╨╜╨╕ ╨╖╨░╨┐╨╕╤Б╨╕ ╨╛╤В ╨▒╨░╨╖╨░╤В╨░ ╨┤╨░╨╜╨╜╨╕",
|
||||
"nightly_tasks_generate_memories_setting": "╨б╤К╨╖╨┤╨░╨▓╨░╨╜╨╡ ╨╜╨░ ╤Б╨┐╨╛╨╝╨╡╨╜╨╕",
|
||||
"nightly_tasks_generate_memories_setting_description": "╨б╤К╨╖╨┤╨░╨▓╨░╨╜╨╡ ╨╜╨░ ╨╜╨╛╨▓╨╕ ╤Б╨┐╨╛╨╝╨╡╨╜╨╕ ╨╛╤В ╤Б╤К╤Й╨╡╤Б╤В╨▓╤Г╨▓╨░╤Й╨╕ ╨╛╨▒╨╡╨║╤В╨╕",
|
||||
"nightly_tasks_missing_thumbnails_setting": "╨У╨╡╨╜╨╡╤А╨╕╤А╨░╨╜╨╡ ╨╜╨░ ╨╗╨╕╨┐╤Б╨▓╨░╤Й╨╕ ╨╝╨╕╨╜╨╕╨░╤В╤О╤А╨╕",
|
||||
"nightly_tasks_missing_thumbnails_setting_description": "╨Ф╨╛╨▒╨░╨▓╤П╨╜╨╡ ╨╜╨░ ╨╛╨▒╨╡╨║╤В╨╕ ╨▒╨╡╨╖ ╨╝╨╕╨╜╨╕╨░╤В╤О╤А╨░ ╨▓ ╨╛╨┐╨░╤И╨║╨░╤В╨░ ╨╖╨░ ╤Б╤К╨╖╨┤╨░╨▓╨░╨╜╨╡ ╨╜╨░ ╨╝╨╕╨╜╨╕╨░╤В╤О╤А╨░",
|
||||
"nightly_tasks_settings": "╨Э╨░╤Б╤В╤А╨╛╨╣╨║╨░ ╨╜╨░ ╨╖╨░╨┤╨░╤З╨╕ ╨╖╨░ ╨┐╤А╨╡╨╖ ╨╜╨╛╤Й╤В╨░",
|
||||
"nightly_tasks_settings_description": "╨г╨┐╤А╨░╨▓╨╗╨╡╨╜╨╕╨╡ ╨╜╨░ ╨╖╨░╨┤╨░╤З╨╕╤В╨╡, ╨╕╨╖╨┐╤К╨╗╨╜╤П╨▓╨░╨╜╨╕ ╨┐╤А╨╡╨╖ ╨╜╨╛╤Й╤В╨░",
|
||||
"nightly_tasks_start_time_setting": "╨Т╤А╨╡╨╝╨╡ ╨╖╨░ ╨╜╨░╤З╨░╨╗╨╛",
|
||||
"nightly_tasks_start_time_setting_description": "╨Т╤А╨╡╨╝╨╡, ╨║╨╛╨│╨░╤В╨╛ ╤Б╤К╤А╨▓╤К╤А╨░ ╤Й╨╡ ╨╖╨░╨┐╨╛╤З╨╜╨╡ ╨╕╨╖╨┐╤К╨╗╨╜╨╡╨╜╨╕╨╡ ╨╜╨░ ╨╜╨╛╤Й╨╜╨╕ ╨╖╨░╨┤╨░╤З╨╕",
|
||||
"nightly_tasks_sync_quota_usage_setting": "╨Ъ╨▓╨╛╤В╨░ ╨╖╨░ ╤Б╨╕╨╜╤Е╤А╨╛╨╜╨╕╨╖╨░╤Ж╨╕╤П",
|
||||
"nightly_tasks_sync_quota_usage_setting_description": "╨Ю╨▒╨╜╨╛╨▓╤П╨▓╨░╨╜╨╡ ╨╜╨░ ╨║╨▓╨╛╤В╨░╤В╨░ ╤Б╨┐╨╛╤А╨╡╨┤ ╤В╨╡╨║╤Г╤Й╨╛╤В╨╛ ╨┐╨╛╤В╤А╨╡╨▒╨╗╨╡╨╜╨╕╨╡",
|
||||
"no_paths_added": "╨Э╤П╨╝╨░ ╨┤╨╛╨▒╨░╨▓╨╡╨╜╨╕ ╨┐╤К╤В╨╕╤Й╨░",
|
||||
"no_pattern_added": "╨Э╤П╨╝╨░ ╨┤╨╛╨▒╨░╨▓╨╡╨╜ ╨╝╨╛╨┤╨╡╨╗",
|
||||
"note_apply_storage_label_previous_assets": "╨Ч╨░╨▒╨╡╨╗╨╡╨╢╨║╨░: ╨Ч╨░ ╨┤╨░ ╨┐╤А╨╕╨╗╨╛╨╢╨╕╤В╨╡ ╨╡╤В╨╕╨║╨╡╤В╨░ ╨╖╨░ ╤Б╤К╤Е╤А╨░╨╜╨╡╨╜╨╕╨╡ ╨║╤К╨╝ ╨┐╤А╨╡╨┤╨▓╨░╤А╨╕╤В╨╡╨╗╨╜╨╛ ╨║╨░╤З╨╡╨╜╨╕ ╤Д╨░╨╣╨╗╨╛╨▓╨╡, ╤Б╤В╨░╤А╤В╨╕╤А╨░╨╣╤В╨╡",
|
||||
@@ -196,6 +210,8 @@
|
||||
"oauth_mobile_redirect_uri": "URI ╨╖╨░ ╨╝╨╛╨▒╨╕╨╗╨╜╨╛ ╨┐╤А╨╡╨╜╨░╤Б╨╛╤З╨▓╨░╨╜╨╡",
|
||||
"oauth_mobile_redirect_uri_override": "URI ╨┐╤А╨╡╨╜╨░╤Б╨╛╤З╨▓╨░╨╜╨╡ ╨╖╨░ ╨╝╨╛╨▒╨╕╨╗╨╜╨╕ ╤Г╤Б╤В╤А╨╛╨╣╤Б╤В╨▓╨░",
|
||||
"oauth_mobile_redirect_uri_override_description": "╨а╨░╨╖╤А╨╡╤И╨╕ ╨║╨╛╨│╨░╤В╨╛ ╨┤╨╛╤Б╤В╨░╨▓╤З╨╕╨║╨░ ╨╖╨░ OAuth ╤Г╨┤╨╛╤Б╤В╨╛╨▓╨╡╤А╤П╨▓╨░╨╜╨╡ ╨╜╨╡ ╨┐╨╛╨╖╨▓╨╛╨╗╤П╨▓╨░ ╨╖╨░ ╨╝╨╛╨▒╨╕╨╗╨╜╨╕ URI ╨╕╨┤╨╡╨╜╤В╨╕╤Д╨╕╨║╨░╤В╨╛╤А╨╕, ╨║╨░╤В╨╛ ''{callback}''",
|
||||
"oauth_role_claim": "╨Я╨╛╤В╨▓╤К╤А╨╢╨┤╨╡╨╜╨╕╨╡ ╨╜╨░ ╤А╨╛╨╗╤П",
|
||||
"oauth_role_claim_description": "╨Р╨▓╤В╨╛╨╝╨░╤В╨╕╤З╨╜╨╛ ╨┐╤А╨╡╨┤╨╛╤Б╤В╨░╨▓╤П╨╜╨╡ ╨╜╨░ ╨░╨┤╨╝╨╕╨╜╨╕╤Б╤В╤А╨░╤В╨╕╨▓╨╜╨╕ ╨┐╤А╨░╨▓╨░ ╨┐╤А╨╕ ╨╜╨░╨╗╨╕╤З╨╕╨╡ ╨╜╨░ ╤В╨╛╨▓╨░ ╨┐╨╛╤В╨▓╤К╤А╨╢╨╡╨╜╨╕╨╡. ╨Я╨╛╤В╨▓╤К╤А╨╢╨┤╨╡╨╜╨╕╨╡╤В╨╛ ╨╝╨╛╨╢╨╡ ╨┤╨░ ╨╕╨╝╨░ ╤Б╤В╨╛╨╣╨╜╨╛╤Б╤В 'user' ╨╕╨╗╨╕ 'admin'.",
|
||||
"oauth_settings": "OAuth",
|
||||
"oauth_settings_description": "╨г╨┐╤А╨░╨▓╨╗╨╡╨╜╨╕╨╡ ╨╜╨░ ╨╜╨░╤Б╤В╤А╨╛╨╣╨║╨╕╤В╨╡ ╨╖╨░ ╨▓╤Е╨╛╨┤ ╤Б OAuth",
|
||||
"oauth_settings_more_details": "╨Ч╨░ ╨┐╨╛╨▓╨╡╤З╨╡ ╨╕╨╜╤Д╨╛╤А╨╝╨░╤Ж╨╕╤П ╨╖╨░ ╤Д╤Г╨╜╨║╤Ж╨╕╨╛╨╜╨░╨╗╨╜╨╛╤Б╤В╤В╨░, ╤Б╨╡ ╨┐╨╛╤В╤К╤А╤Б╨╡╤В╨╡ ╨▓ <link>docs</link>.",
|
||||
@@ -357,6 +373,8 @@
|
||||
"admin_password": "╨Р╨┤╨╝╨╕╨╜╨╕╤Б╤В╤А╨░╤В╨╛╤А╤Б╨║╨░ ╨┐╨░╤А╨╛╨╗╨░",
|
||||
"administration": "╨Р╨┤╨╝╨╕╨╜╨╕╤Б╤В╤А╨░╤Ж╨╕╤П",
|
||||
"advanced": "╨а╨░╨╖╤И╨╕╤А╨╡╨╜╨╛",
|
||||
"advanced_settings_beta_timeline_subtitle": "╨Ю╨┐╨╕╤В╨░╨╣╤В╨╡ ╨╜╨╛╨▓╨╕╤В╨╡ ╤Д╤Г╨╜╨║╤Ж╨╕╨╕ ╨╜╨░ ╨┐╤А╨╕╨╗╨╛╨╢╨╡╨╜╨╕╨╡╤В╨╛",
|
||||
"advanced_settings_beta_timeline_title": "╨С╨╡╤В╨░ ╨▓╨╡╤А╤Б╨╕╤П ╨╜╨░ ╨▓╤А╨╡╨╝╨╡╨▓╨░╤В╨░ ╨╗╨╕╨╜╨╕╤П",
|
||||
"advanced_settings_enable_alternate_media_filter_subtitle": "╨Я╤А╨╕ ╤Б╨╕╨╜╤Е╤А╨╛╨╜╨╕╨╖╨░╤Ж╨╕╤П, ╨╕╨╖╨┐╨╛╨╗╨╖╨▓╨░╨╣╤В╨╡ ╤В╨░╨╖╨╕ ╨╛╨┐╤Ж╨╕╤П ╨║╨░╤В╨╛ ╤Д╨╕╨╗╤В╤К╤А, ╨╛╤Б╨╜╨╛╨▓╨░╨╜ ╨╜╨░ ╨┐╤А╨╛╨╝╤П╨╜╨░ ╨╜╨░ ╨┤╨░╨┤╨╡╨╜ ╨║╤А╨╕╤В╨╡╤А╨╕╨╕. ╨Ю╨┐╨╕╤В╨░╨╣╤В╨╡ ╤Б╨░╨╝╨╛ ╨▓ ╤Б╨╗╤Г╤З╨░╨╣, ╤З╨╡ ╨┐╤А╨╕╨╗╨╛╨╢╨╡╨╜╨╕╨╡╤В╨╛ ╨╕╨╝╨░ ╨┐╤А╨╛╨▒╨╗╨╡╨╝ ╤Б ╨╛╤В╨║╤А╨╕╨▓╨░╨╜╨╡ ╨╜╨░ ╨▓╤Б╨╕╤З╨║╨╕ ╨░╨╗╨▒╤Г╨╝╨╕.",
|
||||
"advanced_settings_enable_alternate_media_filter_title": "[╨Х╨Ъ╨б╨Я╨Х╨а╨Ш╨Ь╨Х╨Э╨в╨Р╨Ы╨Э╨Ю] ╨Ш╨╖╨┐╨╛╨╗╨╖╨▓╨░╨╣ ╤Д╨╕╨╗╤В╤К╤А╨░ ╨╜╨░ ╨░╨╗╤В╨╡╤А╨╜╨░╤В╨╕╨▓╨╜╨╛╤В╨╛ ╤Г╤Б╤В╤А╨╛╨╣╤Б╤В╨▓╨╛ ╨╖╨░ ╤Б╨╕╨╜╤Е╤А╨╛╨╜╨╕╨╖╨░╤Ж╨╕╤П ╨╜╨░ ╨░╨╗╨▒╤Г╨╝╨╕",
|
||||
"advanced_settings_log_level_title": "╨Э╨╕╨▓╨╛ ╨╜╨░ ╨╖╨░╨┐╨╕╤Б ╨▓ ╨┤╨╜╨╡╨▓╨╜╨╕╨║╨░: {level}",
|
||||
@@ -427,6 +445,7 @@
|
||||
"app_settings": "╨Э╨░╤Б╤В╤А╨╛╨╣╨║╨╕ ╨╝╨░ ╨┐╤А╨╕╨╗╨╛╨╢╨╡╨╜╨╕╨╡╤В╨╛",
|
||||
"appears_in": "╨Ш╨╖╨╗╨╕╨╖╨░ ╨▓",
|
||||
"archive": "╨Р╤А╤Е╨╕╨▓",
|
||||
"archive_action_prompt": "{count} ╤Б╨░ ╨┤╨╛╨▒╨░╨▓╨╡╨╜╨╕ ╨▓ ╨Р╤А╤Е╨╕╨▓╨░",
|
||||
"archive_or_unarchive_photo": "╨Р╤А╤Е╨╕╨▓╨╕╤А╨░╨╜╨╡ ╨╕╨╗╨╕ ╨┤╨╡╨░╤А╤Е╨╕╨▓╨╕╤А╨░╨╜╨╡ ╨╜╨░ ╤Б╨╜╨╕╨╝╨║╨░",
|
||||
"archive_page_no_archived_assets": "╨Э╨╡ ╤Б╨░ ╨╜╨░╨╝╨╡╤А╨╡╨╜╨╕ ╨╛╨▒╨╡╨║╤В╨╕ ╨▓ ╨░╤А╤Е╨╕╨▓╨░",
|
||||
"archive_page_title": "╨Р╤А╤Е╨╕╨▓ ({count})",
|
||||
@@ -464,7 +483,6 @@
|
||||
"assets": "╨Х╨╗╨╡╨╝╨╡╨╜╤В╨╕",
|
||||
"assets_added_count": "╨Ф╨╛╨▒╨░╨▓╨╡╨╜╨╛ {count, plural, one {# asset} other {# assets}}",
|
||||
"assets_added_to_album_count": "╨Ф╨╛╨▒╨░╨▓╨╡╨╜(╨╕) ╤Б╨░ {count, plural, one {# ╨░╨║╤В╨╕╨▓} other {# ╨░╨║╤В╨╕╨▓╨░}} ╨▓ ╨░╨╗╨▒╤Г╨╝╨░",
|
||||
"assets_added_to_name_count": "╨Ф╨╛╨▒╨░╨▓╨╡╨╜(╨╕) ╤Б╨░ {count, plural, one {# ╨░╨║╤В╨╕╨▓} other {# ╨░╨║╤В╨╕╨▓╨░}} ╨║╤К╨╝ {hasName, select, true {<b>{name}</b>} other {╨╜╨╛╨▓ ╨░╨╗╨▒╤Г╨╝}}",
|
||||
"assets_cannot_be_added_to_album_count": "{count, plural, one {╨Ю╨▒╨╡╨║╤В╨░ ╨╜╨╡ ╨╝╨╛╨╢╨╡ ╨┤╨░ ╤Б╨╡ ╨┤╨╛╨▒╨░╨▓╨╕} other {╨Ю╨▒╨╡╨║╤В╨╕╤В╨╡ ╨╜╨╡ ╨╝╨╛╨╢╨╡ ╨┤╨░ ╤Б╨╡ ╨┤╨╛╨▒╨░╨▓╤П╤В}} ╨▓ ╨░╨╗╨▒╤Г╨╝╨░",
|
||||
"assets_count": "{count, plural, one {# ╨░╨║╤В╨╕╨▓} other {# ╨░╨║╤В╨╕╨▓╨░}}",
|
||||
"assets_deleted_permanently": "{count} ╨╛╨▒╨╡╨║╤В╨░ ╤Б╨░ ╨╕╨╖╤В╤А╨╕╤В╨╕ ╨╖╨░╨▓╨╕╨╜╨░╨│╨╕",
|
||||
@@ -703,7 +721,7 @@
|
||||
"daily_title_text_date": "E, dd MMM",
|
||||
"daily_title_text_date_year": "E, dd MMM yyyy",
|
||||
"dark": "╨в╤К╨╝╨╡╨╜",
|
||||
"darkTheme": "╨Я╤А╨╡╨▓╨║╨╗╤О╤З╨╕ ╨╜╨░ ╤В╤К╨╝╨╜╨░ ╤В╨╡╨╝╨░",
|
||||
"dark_theme": "╨в╤К╨╝╨╜╨░ ╤В╨╡╨╝╨░",
|
||||
"date_after": "╨Ф╨░╤В╨░ ╤Б╨╗╨╡╨┤",
|
||||
"date_and_time": "╨Ф╨░╤В╨░ ╨╕ ╤З╨░╤Б",
|
||||
"date_before": "╨Ф╨░╤В╨░ ╨┐╤А╨╡╨┤╨╕",
|
||||
@@ -719,6 +737,7 @@
|
||||
"default_locale": "╨Ы╨╛╨║╨░╨╗╨╕╨╖╨░╤Ж╨╕╤П ╨┐╨╛ ╨┐╨╛╨┤╤А╨░╨╖╨▒╨╕╤А╨░╨╜╨╡",
|
||||
"default_locale_description": "╨д╨╛╤А╨╝╨░╤В╨╕╤А╨░╨╜╨╡ ╨╜╨░ ╨┤╨░╤В╨╕ ╨╕ ╤З╨╕╤Б╨╗╨░ ╨▓ ╨╖╨░╨▓╨╕╤Б╨╕╨╝╨╛╤Б╤В ╨╛╤В ╨╡╨╖╨╕╨║╨╛╨▓╨░╤В╨░ ╨╜╨░╤Б╤В╤А╨╛╨╣╨║╨░ ╨╜╨░ ╨▒╤А╨░╤Г╨╖╤К╤А╨░",
|
||||
"delete": "╨Ш╨╖╤В╤А╨╕╨╣",
|
||||
"delete_action_prompt": "{count} ╤Б╨░ ╨╕╨╖╤В╤А╨╕╤В╨╕ ╨╖╨░╨▓╨╕╨╜╨░╨│╨╕",
|
||||
"delete_album": "╨Ш╨╖╤В╤А╨╕╨╣ ╨░╨╗╨▒╤Г╨╝",
|
||||
"delete_api_key_prompt": "╨б╨╕╨│╤Г╤А╨╜╨╕ ╨╗╨╕ ╤Б╤В╨╡, ╤З╨╡ ╨╕╤Б╨║╨░╤В╨╡ ╨┤╨░ ╨╕╨╖╤В╤А╨╕╨╡╤В╨╡ ╤В╨╛╨╖╨╕ API ╨║╨╗╤О╤З?",
|
||||
"delete_dialog_alert": "╨в╨╡╨╖╨╕ ╨╛╨▒╨╡╨║╤В╨╕ ╤Й╨╡ ╨▒╤К╨┤╨░╤В ╨╕╨╖╤В╤А╨╕╤В╨╕ ╨╖╨░╨▓╨╕╨╜╨░╨│╨╕ ╨╕ ╨╛╤В Immich ╤Б╤К╤А╨▓╤К╤А╨░ ╨╕ ╨╛╤В ╤Г╤Б╤В╤А╨╛╨╣╤Б╤В╨▓╨╛╤В╨╛",
|
||||
@@ -732,19 +751,20 @@
|
||||
"delete_key": "╨Ш╨╖╤В╤А╨╕╨╣ ╨║╨╗╤О╤З",
|
||||
"delete_library": "╨Ш╨╖╤В╤А╨╕╨╣ ╨▒╨╕╨▒╨╗╨╕╨╛╤В╨╡╨║╨░",
|
||||
"delete_link": "╨Ш╨╖╤В╤А╨╕╨╣ ╨╗╨╕╨╜╨║",
|
||||
"delete_local_action_prompt": "{count} ╤Б╨░ ╨╕╨╖╤В╤А╨╕╤В╨╕ ╨╗╨╛╨║╨░╨╗╨╜╨╛",
|
||||
"delete_local_dialog_ok_backed_up_only": "╨Ш╨╖╤В╤А╨╕╨╣ ╨╗╨╛╨║╨░╨╗╨╜╨╛ ╤Б╨░╨╝╨╛ ╨░╤А╤Е╨╕╨▓╨╕╤А╨░╨╜╨╕╤В╨╡",
|
||||
"delete_local_dialog_ok_force": "╨Т╤К╨┐╤А╨╡╨║╨╕ ╤В╨╛╨▓╨░ ╨╕╨╖╤В╤А╨╕╨╣",
|
||||
"delete_others": "╨Ш╨╖╤В╤А╨╕╨╣ ╨╛╤Б╤В╨░╨╜╨░╨╗╨╕╤В╨╡",
|
||||
"delete_shared_link": "╨Ш╨╖╤В╤А╨╕╨▓╨░╨╜╨╡ ╨╜╨░ ╤Б╨┐╨╛╨┤╨╡╨╗╨╡╨╜ ╨╗╨╕╨╜╨║",
|
||||
"delete_shared_link_dialog_title": "╨Ш╨╖╤В╤А╨╕╨╣ ╤Б╨┐╨╛╨┤╨╡╨╗╨╡╨╜╨░╤В╨░ ╨▓╤А╤К╨╖╨║╨░",
|
||||
"delete_tag": "╨Ш╨╖╤В╤А╨╕╨╣ ╤В╨░╨│",
|
||||
"delete_tag_confirmation_prompt": "╨б╨╕╨│╤Г╤А╨╜╨╕ ╨╗╨╕ ╤Б╤В╨╡, ╤З╨╡ ╨╕╤Б╨║╨░╤В╨╡ ╨┤╨░ ╨╕╨╖╤В╤А╨╕╨╡╤В╨╡ ╤В╨░╨│ {tagName}?",
|
||||
"delete_tag_confirmation_prompt": "╨б╨╕╨│╤Г╤А╨╜╨╕ ╨╗╨╕ ╤Б╤В╨╡, ╤З╨╡ ╨╕╤Б╨║╨░╤В╨╡ ╨┤╨░ ╨╕╨╖╤В╤А╨╕╨╡╤В╨╡ ╤В╨░╨│╨░ {tagName}?",
|
||||
"delete_user": "╨Ш╨╖╤В╤А╨╕╨╣ ╨┐╨╛╤В╤А╨╡╨▒╨╕╤В╨╡╨╗",
|
||||
"deleted_shared_link": "╨Ш╨╖╤В╤А╨╕╤В ╤Б╨┐╨╛╨┤╨╡╨╗╨╡╨╜ ╨╗╨╕╨╜╨║",
|
||||
"deletes_missing_assets": "╨Ш╨╖╤В╤А╨╕╨▓╨░ ╤Д╨░╨╣╨╗╨╛╨▓╨╡, ╨║╨╛╨╕╤В╨╛ ╨╗╨╕╨┐╤Б╨▓╨░╤В ╨╜╨░ ╨┤╨╕╤Б╨║╨░",
|
||||
"description": "╨Ю╨┐╨╕╤Б╨░╨╜╨╕╨╡",
|
||||
"description_input_hint_text": "╨Ф╨╛╨▒╨░╨▓╨╕ ╨╛╨┐╨╕╤Б╨░╨╜╨╕╨╡...",
|
||||
"description_input_submit_error": "╨Э╨╡╤Г╤Б╨┐╨╡╤И╨╜╨╛ ╨╛╨▒╨╜╨╛╨▓╤П╨▓╨░╨╜╨╡ ╨╜╨░ ╨╛╨┐╨╕╤Б╨░╨╜╨╕╨╡╤В╨╛. ╨Ч╨░ ╨┐╨╛╨┤╤А╨╛╨▒╨╜╨╛╤Б╤В╨╕ ╨▓╨╕╨╢ ╨▓ ╨┤╨╜╨╡╨▓╨╜╨╕╨║╨░",
|
||||
"description_input_submit_error": "╨Э╨╡╤Г╤Б╨┐╨╡╤И╨╜╨╛ ╨╛╨▒╨╜╨╛╨▓╤П╨▓╨░╨╜╨╡ ╨╜╨░ ╨╛╨┐╨╕╤Б╨░╨╜╨╕╨╡╤В╨╛. ╨Ч╨░ ╨┐╨╛╨┤╤А╨╛╨▒╨╜╨╛╤Б╤В╨╕ ╨▓╨╕╨╢╤В╨╡ ╨▓ ╨┤╨╜╨╡╨▓╨╜╨╕╨║╨░",
|
||||
"details": "╨Ф╨╡╤В╨░╨╣╨╗╨╕",
|
||||
"direction": "╨Я╨╛╤Б╨╛╨║╨░",
|
||||
"disabled": "╨Ш╨╖╨║╨╗╤О╤З╨╡╨╜╨╛",
|
||||
@@ -762,6 +782,7 @@
|
||||
"documentation": "╨Ф╨╛╨║╤Г╨╝╨╡╨╜╤В╨░╤Ж╨╕╤П",
|
||||
"done": "╨У╨╛╤В╨╛╨▓╨╛",
|
||||
"download": "╨Ш╨╖╤В╨╡╨│╨╗╨╕",
|
||||
"download_action_prompt": "╨Ч╨░╤А╨╡╨╢╨┤╨░╨╜╨╡ ╨╜╨░ {count} ╨╛╨▒╨╡╨║╤В╨░",
|
||||
"download_canceled": "╨Ш╨╖╤В╨╡╨│╨╗╤П╨╜╨╡╤В╨╛ ╨╡ ╨╛╤В╨╝╨╡╨╜╨╡╨╜╨╛",
|
||||
"download_complete": "╨Ш╨╖╤В╨╡╨│╨╗╤П╨╜╨╡╤В╨╛ ╨╖╨░╨▓╤К╤А╤И╨╕",
|
||||
"download_enqueue": "╨Ш╨╖╤В╨╡╨│╨╗╤П╨╜╨╡╤В╨╛ ╨╡ ╨┤╨╛╨▒╨░╨▓╨╡╨╜╨╛ ╨▓ ╨╛╨┐╨░╤И╨║╨░╤В╨░",
|
||||
@@ -799,6 +820,7 @@
|
||||
"edit_key": "╨а╨╡╨┤╨░╨║╤В╨╕╤А╨░╨╜╨╡ ╨╜╨░ ╨║╨╗╤О╤З",
|
||||
"edit_link": "╨а╨╡╨┤╨░╨║╤В╨╕╤А╨░╨╜╨╡ ╨╜╨░ ╨╗╨╕╨╜╨║",
|
||||
"edit_location": "╨а╨╡╨┤╨░╨║╤В╨╕╤А╨░╨╜╨╡ ╨╜╨░ ╨╝╨╡╤Б╤В╨╛╨┐╨╛╨╗╨╛╨╢╨╡╨╜╨╕╨╡╤В╨╛",
|
||||
"edit_location_action_prompt": "{count} ╨╗╨╛╨║╨░╤Ж╨╕╨╕ ╤Б╨░ ╤А╨╡╨┤╨░╨║╤В╨╕╤А╨░╨╜╨╕",
|
||||
"edit_location_dialog_title": "╨Ь╨╡╤Б╤В╨╛╨┐╨╛╨╗╨╛╨╢╨╡╨╜╨╕╨╡",
|
||||
"edit_name": "╨а╨╡╨┤╨░╨║╤В╨╕╤А╨░╨╜╨╡ ╨╜╨░ ╨╕╨╝╨╡",
|
||||
"edit_people": "╨а╨╡╨┤╨░╨║╤В╨╕╤А╨░╨╜╨╡ ╨╜╨░ ╤Е╨╛╤А╨░",
|
||||
@@ -984,6 +1006,7 @@
|
||||
"failed_to_load_assets": "╨Э╨╡╤Г╤Б╨┐╨╡╤И╨╜╨╛ ╨╖╨░╤А╨╡╨╢╨┤╨░╨╜╨╡ ╨╜╨░ ╨╡╨╗╨╡╨╝╨╡╨╜╤В╨╕",
|
||||
"failed_to_load_folder": "╨Э╨╡╤Г╤Б╨┐╨╡╤И╨╜╨╛ ╨╖╨░╤А╨╡╨╢╨┤╨░╨╜╨╡ ╨╜╨░ ╨┐╨░╨┐╨║╨░",
|
||||
"favorite": "╨Ы╤О╨▒╨╕╨╝",
|
||||
"favorite_action_prompt": "{count} ╤Б╨░ ╨┤╨╛╨▒╨░╨▓╨╡╨╜╨╕ ╨▓ ╨Ы╤О╨▒╨╕╨╝╨╕",
|
||||
"favorite_or_unfavorite_photo": "╨Ф╨╛╨▒╨░╨▓╨╕ ╨╕╨╗╨╕ ╨┐╤А╨╡╨╝╨░╤Е╨╜╨╕ ╤Б╨╜╨╕╨╝╨║╨░ ╨╛╤В ╨Ы╤О╨▒╨╕╨╝╨╕",
|
||||
"favorites": "╨Ы╤О╨▒╨╕╨╝╨╕",
|
||||
"favorites_page_no_favorites": "╨Э╨╡ ╤Б╨░ ╨╜╨░╨╝╨╡╤А╨╡╨╜╨╕ ╨╗╤О╨▒╨╕╨╝╨╕ ╨╛╨▒╨╡╨║╤В╨╕",
|
||||
@@ -1127,6 +1150,7 @@
|
||||
"library_page_sort_created": "╨Ф╨░╤В╨░ ╨╜╨░ ╤Б╤К╨╖╨┤╨░╨▓╨░╨╜╨╡",
|
||||
"library_page_sort_last_modified": "╨Я╨╛╤Б╨╗╨╡╨┤╨╜╨░ ╨┐╤А╨╛╨╝╤П╨╜╨░",
|
||||
"library_page_sort_title": "╨Ч╨░╨│╨╗╨░╨▓╨╕╨╡ ╨╜╨░ ╨░╨╗╨▒╤Г╨╝╨░",
|
||||
"licenses": "╨Ы╨╕╤Ж╨╡╨╜╨╖╨╕",
|
||||
"light": "╨б╨▓╨╡╤В╨╗╨╛",
|
||||
"like_deleted": "╨Ъ╨░╤В╨╛ ╨╕╨╖╤В╤А╨╕╤В",
|
||||
"link_motion_video": "╨Ы╨╕╨╜╨║ ╨║╤К╨╝ ╨▓╨╕╨┤╨╡╨╛",
|
||||
@@ -1246,6 +1270,7 @@
|
||||
"more": "╨Ю╤Й╨╡",
|
||||
"move": "╨Я╤А╨╡╨╝╨╡╤Б╤В╨╕",
|
||||
"move_off_locked_folder": "╨Ш╨╖╨▓╨░╨┤╨╕ ╨╛╤В ╨╖╨░╨║╨╗╤О╤З╨╡╨╜╨░╤В╨░ ╨┐╨░╨┐╨║╨░",
|
||||
"move_to_lock_folder_action_prompt": "{count} ╤Б╨░ ╨┤╨╛╨▒╨░╨▓╨╡╨╜╨╕ ╨▓ ╨╖╨░╨║╨╗╤О╤З╨╡╨╜╨░╤В╨░ ╨┐╨░╨┐╨║╨░",
|
||||
"move_to_locked_folder": "╨Я╤А╨╡╨╝╨╡╤Б╤В╨╕ ╨▓ ╨╖╨░╨║╨╗╤О╤З╨╡╨╜╨░ ╨┐╨░╨┐╨║╨░",
|
||||
"move_to_locked_folder_confirmation": "╨в╨╡╨╖╨╕ ╤Б╨╜╨╕╨╝╨║╨╕ ╨╕ ╨▓╨╕╨┤╨╡╨░ ╤Й╨╡ ╨▒╤К╨┤╨░╤В ╨╕╨╖╤В╤А╨╕╤В╨╕ ╨╛╤В ╨▓╤Б╨╕╤З╨║╨╕ ╨░╨╗╨▒╤Г╨╝╨╕ ╨╕ ╤Й╨╡ ╤Б╨░ ╨┤╨╛╤Б╤В╤К╨┐╨╜╨╕ ╤Б╨░╨╝╨╛ ╨▓ ╨╖╨░╨║╨╗╤О╤З╨╡╨╜╨░╤В╨░ ╨┐╨░╨┐╨║╨░",
|
||||
"moved_to_archive": "{count, plural, one {# ╨╛╨▒╨╡╨║╤В ╨╡ ╨┐╤А╨╡╨╝╨╡╤Б╤В╨╡╨╜} many {# ╨╛╨▒╨╡╨║╤В╨░ ╤Б╨░ ╨┐╤А╨╡╨╝╨╡╤Б╤В╨╡╨╜╨╕} other {# ╨╛╨▒╨╡╨║╤В╨░ ╤Б╨░ ╨┐╤А╨╡╨╝╨╡╤Б╤В╨╡╨╜╨╕}} ╨▓ ╨░╤А╤Е╨╕╨▓╨░",
|
||||
@@ -1495,7 +1520,9 @@
|
||||
"remove_custom_date_range": "╨Я╤А╨╡╨╝╨░╤Е╨╜╨╕ ╨╖╨░╨┤╨░╨┤╨╡╨╜╨╕╤П ╨┤╨╕╨░╨┐╨░╨╖╨╛╨╜ ╨╛╤В ╨┤╨░╤В╨╕",
|
||||
"remove_deleted_assets": "╨Я╤А╨╡╨╝╨░╤Е╨╜╨╕ ╨Ш╨╖╤В╤А╨╕╤В╨╕╤В╨╡ ╨Х╨╗╨╡╨╝╨╡╨╜╤В╨╕",
|
||||
"remove_from_album": "╨Я╤А╨╡╨╝╨░╤Е╨╜╨╕ ╨╛╤В ╨░╨╗╨▒╤Г╨╝╨░",
|
||||
"remove_from_album_action_prompt": "{count} ╤Б╨░ ╨┐╤А╨╡╨╝╨░╤Е╨╜╨░╤В╨╕ ╨╛╤В ╨░╨╗╨▒╤Г╨╝╨░",
|
||||
"remove_from_favorites": "╨Я╤А╨╡╨╝╨░╤Е╨╜╨╕ ╨╛╤В ╨Ы╤О╨▒╨╕╨╝╨╕",
|
||||
"remove_from_lock_folder_action_prompt": "{count} ╤Б╨░ ╨┐╤А╨╡╨╝╨░╤Е╨╜╨░╤В╨╕ ╨╛╤В ╨╖╨░╨║╨╗╤О╤З╨╡╨╜╨░╤В╨░ ╨┐╨░╨┐╨║╨░",
|
||||
"remove_from_locked_folder": "╨Ь╨░╤Е╨╜╨╕ ╨╛╤В ╨╖╨░╨║╨╗╤О╤З╨╡╨╜╨░╤В╨░ ╨┐╨░╨┐╨║╨░",
|
||||
"remove_from_locked_folder_confirmation": "╨б╨╕╨│╤Г╤А╨╜╨╕ ╨╗╨╕ ╤Б╨╕, ╤З╨╡ ╨╕╤Б╨║╨░╤В╨╡ ╤В╨╡╨╖╨╕ ╤Б╨╜╨╕╨╝╨║╨╕ ╨╕ ╨▓╨╕╨┤╨╡╨░ ╨┤╨░ ╨▒╤К╨┤╨░╤В ╨╕╨╖╨▓╨░╨┤╨╡╨╜╨╕ ╨╛╤В ╨╖╨░╨║╨╗╤О╤З╨╡╨╜╨░╤В╨░ ╨┐╨░╨┐╨║╨░? ╨в╨╡ ╤Й╨╡ ╨▒╤К╨┤╨░╤В ╨▓╨╕╨┤╨╕╨╝╨╕ ╨▓ ╨▒╨╕╨▒╨╗╨╕╨╛╤В╨╡╨║╨░╤В╨░.",
|
||||
"remove_from_shared_link": "╨Я╤А╨╡╨╝╨░╤Е╨╜╨╕ ╨╛╤В ╤Б╨┐╨╛╨┤╨╡╨╗╨╡╨╜╨╕╤П ╨╗╨╕╨╜╨║",
|
||||
@@ -1667,6 +1694,7 @@
|
||||
"settings_saved": "╨Э╨░╤Б╤В╤А╨╛╨╣╨║╨╕╤В╨╡ ╤Б╨░ ╨╖╨░╨┐╨░╨╖╨╡╨╜╨╕",
|
||||
"setup_pin_code": "╨Ч╨░╨┤╨░╨╣ PIN ╨║╨╛╨┤",
|
||||
"share": "╨б╨┐╨╛╨┤╨╡╨╗╤П╨╜╨╡",
|
||||
"share_action_prompt": "{count} ╤Б╨┐╨╛╨┤╨╡╨╗╨╡╨╜╨╕ ╨╛╨▒╨╡╨║╤В╨░",
|
||||
"share_add_photos": "╨Ф╨╛╨▒╨░╨▓╨╕ ╤Б╨╜╨╕╨╝╨║╨╕",
|
||||
"share_assets_selected": "{count} ╨╕╨╖╨▒╤А╨░╨╜╨╕",
|
||||
"share_dialog_preparing": "╨Я╨╛╨┤╨│╨╛╤В╨╛╨▓╨║╨░...",
|
||||
@@ -1768,6 +1796,7 @@
|
||||
"sort_title": "╨Ч╨░╨│╨╗╨░╨▓╨╕╨╡",
|
||||
"source": "╨Ъ╨╛╨┤",
|
||||
"stack": "╨б╤К╨▒╨╡╤А╨╕",
|
||||
"stack_action_prompt": "{count} ╤Б╨░ ╨│╤А╤Г╨┐╨╕╤А╨░╨╜╨╕",
|
||||
"stack_duplicates": "╨Я╨╛╨┤╤А╨╡╨╢╨┤╨░╨╜╨╡ ╨╜╨░ ╨┤╤Г╨▒╨╗╨╕╨║╨░╤В╨╕",
|
||||
"stack_select_one_photo": "╨Ш╨╖╨▒╨╡╤А╨╕ ╨╡╨┤╨╜╨░ ╨│╨╗╨░╨▓╨╜╨░ ╤Б╨╜╨╕╨╝╨║╨░ ╨╖╨░ ╤Б╤К╨▒╤А╨░╨╜╨╕╤В╨╡ ╤Б╨╜╨╕╨╝╨║╨╕",
|
||||
"stack_selected_photos": "╨Я╨╛╨┤╤А╨╡╨╢╨┤╨░╨╜╨╡ ╨╜╨░ ╨╕╨╖╨▒╤А╨░╨╜╨╕ ╤Б╨╜╨╕╨╝╨║╨╕",
|
||||
@@ -1838,6 +1867,7 @@
|
||||
"total": "╨Ю╨▒╤Й╨╛",
|
||||
"total_usage": "╨Ю╨▒╤Й╨╛ ╨╕╨╖╨┐╨╛╨╗╨╖╨▓╨░╨╜╨╛",
|
||||
"trash": "╨Ъ╨╛╤И╤З╨╡",
|
||||
"trash_action_prompt": "{count} ╤Б╨░ ╨┐╤А╨╡╨╝╨╡╤Б╤В╨╡╨╜╨╕ ╨▓ ╨║╨╛╤И╨░",
|
||||
"trash_all": "╨Ш╨╖╤Е╨▓╤К╤А╨╗╨╕ ╨▓╤Б╨╕╤З╨║╨╕",
|
||||
"trash_count": "╨Т ╨Ъ╨╛╤И╤З╨╡╤В╨╛ {count, number}",
|
||||
"trash_delete_asset": "╨Т╨║╨░╤А╨░╨╣ ╨▓ ╨Ъ╨╛╤И╤З╨╡╤В╨╛/╨Ш╨╖╤В╤А╨╕╨╣ ╨╡╨╗╨╡╨╝╨╡╨╜╤В",
|
||||
@@ -1855,9 +1885,11 @@
|
||||
"unable_to_change_pin_code": "╨Э╨╡╨▓╤К╨╖╨╝╨╛╨╢╨╜╨░ ╨┐╤А╨╛╨╝╤П╨╜╨░ ╨╜╨░ PIN ╨║╨╛╨┤╨░",
|
||||
"unable_to_setup_pin_code": "╨Э╨╡╤Г╤Б╨┐╨╡╤И╨╜╨╛ ╨╖╨░╨┤╨░╨▓╨░╨╜╨╡ ╨╜╨░ PIN ╨║╨╛╨┤╨░",
|
||||
"unarchive": "╨а╨░╨╖╨░╤А╤Е╨╕╨▓╨╕╤А╨░╨╣",
|
||||
"unarchive_action_prompt": "{count} ╤Б╨░ ╨┐╤А╨╡╨╝╨░╤Е╨╜╨░╤В╨╕ ╨╛╤В ╨Р╤А╤Е╨╕╨▓╨░",
|
||||
"unarchived_count": "{count, plural, other {╨Э╨╡╨░╤А╤Е╨╕╨▓╨╕╤А╨░╨╜╨╕ #}}",
|
||||
"undo": "╨Ю╤В╨╝╨╡╨╜╨╕",
|
||||
"unfavorite": "╨Я╤А╨╡╨╝╨░╤Е╨▓╨░╨╜╨╡ ╨╛╤В ╨╗╤О╨▒╨╕╨╝╨╕╤В╨╡",
|
||||
"unfavorite_action_prompt": "{count} ╤Б╨░ ╨┐╤А╨╡╨╝╨░╤Е╨╜╨░╤В╨╕ ╨╛╤В ╨Ы╤О╨▒╨╕╨╝╨╕",
|
||||
"unhide_person": "╨Я╨╛╨║╨░╨╢╨╕ ╨╛╤В╨╜╨╛╨▓╨╛ ╤З╨╛╨▓╨╡╨║╨░",
|
||||
"unknown": "╨Э╨╡╨╕╨╖╨▓╨╡╤Б╤В╨╜╨╛",
|
||||
"unknown_country": "╨Э╨╡╨┐╨╛╨╖╨╜╨░╤В╨░ ╨Ф╤К╤А╨╢╨░╨▓╨░",
|
||||
@@ -1875,7 +1907,9 @@
|
||||
"unselect_all_duplicates": "╨Ю╤В ╨╝╨░╤А╨║╨╕╤А╨░╨╣ ╨▓╤Б╨╕╤З╨║╨╕ ╨┤╤Г╨▒╨╗╨╕╨║╨░╤В╨╕",
|
||||
"unselect_all_in": "╨Я╤А╨╡╨╝╨░╤Е╨╜╨╕ ╨╕╨╖╨▒╨╛╤А╨░ ╨╜╨░ ╨▓╤Б╨╕╤З╨║╨╕ ╨╛╤В ╨│╤А╤Г╨┐╨░╤В╨░ {group}",
|
||||
"unstack": "╨а╨░╨╖╨║╨░╤З╨╕",
|
||||
"unstack_action_prompt": "{count} ╤Б╨░ ╤А╨░╨╖╨│╤А╤Г╨┐╨╕╤А╨░╨╜╨╕",
|
||||
"unstacked_assets_count": "╨а╨░╨╖╨║╨░╤З╨╡╨╜╨╕ {count, plural, one {# ╨╡╨╗╨╡╨╝╨╡╨╜╤В} other {# ╨╡╨╗╨╡╨╝╨╡╨╜╤В╨╕}}",
|
||||
"untagged": "╨Э╨╡╨╝╨░╤А╨║╨╕╤А╨░╨╜╨╕",
|
||||
"up_next": "╨б╨╗╨╡╨┤╨▓╨░╤Й",
|
||||
"updated_at": "╨Ю╨▒╨╜╨╛╨▓╨╡╨╜╨╛",
|
||||
"updated_password": "╨Я╨░╤А╨╛╨╗╨░╤В╨░ ╨╡ ╨░╨║╤В╤Г╨░╨╗╨╕╨╖╨╕╤А╨░╨╜╨░",
|
||||
|
||||
+81
-1
@@ -8,6 +8,7 @@
|
||||
"actions": "ржХрж░рзНржо",
|
||||
"active": "рж╕ржЪрж▓",
|
||||
"activity": "ржХрж╛рж░рзНржпржХрж▓рж╛ржк",
|
||||
"activity_changed": "ржПржХржЯрж┐ржнрж┐ржЯрж┐ ржПржЦржи {enabled, select, true {ржЪрж╛рж▓рзБ} other {ржмржирзНржз}} ржЖржЫрзЗ",
|
||||
"add": "ржпрзЛржЧ ржХрж░рзБржи",
|
||||
"add_a_description": "ржПржХржЯрж┐ ржмрж┐ржмрж░ржг ржпрзЛржЧ ржХрж░рзБржи",
|
||||
"add_a_location": "ржПржХржЯрж┐ ржЕржмрж╕рзНржерж╛ржи ржпрзЛржЧ ржХрж░рзБржи",
|
||||
@@ -15,5 +16,84 @@
|
||||
"add_a_title": "ржПржХржЯрж┐ рж╢рж┐рж░рзЛржирж╛ржо ржпрзЛржЧ ржХрж░рзБржи",
|
||||
"add_endpoint": "ржПржирзНржбржкржпрж╝рзЗржирзНржЯ ржпрзЛржЧ ржХрж░рзБржи",
|
||||
"add_exclusion_pattern": "ржмрж╣рж┐рж░рзНржнрзВрждржХрж░ржг ржиржорзБржирж╛",
|
||||
"add_url": "рж▓рж┐ржЩрзНржХ ржпрзЛржЧ ржХрж░рзБржи"
|
||||
"add_import_path": "ржЗржоржкрзЛрж░рзНржЯ ржХрж░рж╛рж░ ржкрж╛рже ржпрзБржХрзНржд ржХрж░рзБржи",
|
||||
"add_location": "ржЕржмрж╕рзНржерж╛ржи ржпрзБржХрзНржд ржХрж░рзБржи",
|
||||
"add_more_users": "ржЖрж░рзЛ ржмрзНржпржмрж╣рж╛рж░ржХрж╛рж░рзА ржпрзБржХрзНржд ржХрж░рзБржи",
|
||||
"add_partner": "ржЕржВрж╢рзАржжрж╛рж░ ржпрзЛржЧ ржХрж░рзБржи",
|
||||
"add_path": "ржкрж╛рже ржпрзБржХрзНржд ржХрж░рзБржи",
|
||||
"add_photos": "ржЫржмрж┐ ржпрзБржХрзНржд ржХрж░рзБржи",
|
||||
"add_tag": "ржЯрзНржпрж╛ржЧ ржпрзБржХрзНржд ржХрж░рзБржи",
|
||||
"add_to": "ржпрзБржХрзНржд ржХрж░рзБржитАж",
|
||||
"add_to_album": "ржПрж▓ржмрж╛ржо ржП ржпрзЛржЧ ржХрж░рзБржи",
|
||||
"add_to_album_bottom_sheet_added": "{album} ржП ржпрзЛржЧ ржХрж░рж╛ рж╣ржпрж╝рзЗржЫрзЗ",
|
||||
"add_to_album_bottom_sheet_already_exists": "{album} ржП ржЖржЧрзЗ ржерзЗржХрзЗржЗ ржЖржЫрзЗ",
|
||||
"add_to_shared_album": "рж╢рзЗржпрж╝рж╛рж░ ржХрж░рж╛ ржЕрзНржпрж╛рж▓ржмрж╛ржорзЗ ржпрзЛржЧ ржХрж░рзБржи",
|
||||
"add_url": "рж▓рж┐ржЩрзНржХ ржпрзЛржЧ ржХрж░рзБржи",
|
||||
"added_to_archive": "ржЖрж░рзНржХрж╛ржЗржн ржП ржпрзЛржЧ ржХрж░рж╛ рж╣ржпрж╝рзЗржЫрзЗ",
|
||||
"added_to_favorites": "ржлрзЗржнрж╛рж░рж┐ржЯрзЗ ржпрзЛржЧ ржХрж░рж╛ рж╣ржпрж╝рзЗржЫрзЗ",
|
||||
"added_to_favorites_count": "ржкржЫржирзНржжрзЗрж░ рждрж╛рж▓рж┐ржХрж╛рзЯ {count, number} ржпрзЛржЧ ржХрж░рж╛ рж╣рзЯрзЗржЫрзЗ",
|
||||
"admin": {
|
||||
"add_exclusion_pattern_description": "ржПржХрзНрж╕ржХрзНрж▓рзБрж╢ржи ржкрзНржпрж╛ржЯрж╛рж░рзНржи ржпрзЛржЧ ржХрж░рзБржиред *, **, ржПржмржВ ? ржмрзНржпржмрж╣рж╛рж░ ржХрж░рзЗ ржЧрзНрж▓рзЛржмрж┐ржВ ржХрж░рж╛ рж╕ржорзНржнржмред \"Raw\" ржирж╛ржорзЗрж░ ржпрзЗржХрзЛржирзЛ ржбрж┐рж░рзЗржХрзНржЯрж░рж┐рждрзЗ ржерж╛ржХрж╛ рж╕ржорж╕рзНржд ржлрж╛ржЗрж▓ ржмрж╛ржж ржжрж┐рждрзЗ \"**/Raw/**\" ржмрзНржпржмрж╣рж╛рж░ ржХрж░рзБржиред \".tif\" ржжрж┐ржпрж╝рзЗ рж╢рзЗрж╖ рж╣ржУржпрж╝рж╛ рж╕ржорж╕рзНржд ржлрж╛ржЗрж▓ ржмрж╛ржж ржжрж┐рждрзЗ \"**/*.tif\" ржмрзНржпржмрж╣рж╛рж░ ржХрж░рзБржиред ржПржХржЯрж┐ рж╕ржорзНржкрзВрж░рзНржг ржкрж╛рже ржмрж╛ржж ржжрж┐рждрзЗ, \"/path/to/ignore/**\" ржмрзНржпржмрж╣рж╛рж░ ржХрж░рзБржиред",
|
||||
"admin_user": "ржПржбржорж┐ржи ржЗржЙржЬрж╛рж░",
|
||||
"asset_offline_description": "ржПржЗ ржмрж╣рж┐рж░рж╛ржЧржд рж▓рж╛ржЗржмрзНрж░рзЗрж░рж┐ рж╕ржорзНржкржжржЯрж┐ ржЖрж░ ржбрж┐рж╕рзНржХрзЗ ржкрж╛ржУржпрж╝рж╛ ржпрж╛ржЪрзНржЫрзЗ ржирж╛ ржПржмржВ ржЯрзНрж░рзНржпрж╛рж╢рзЗ рж╕рж░рж╛ржирзЛ рж╣ржпрж╝рзЗржЫрзЗред ржпржжрж┐ ржлрж╛ржЗрж▓ржЯрж┐ рж▓рж╛ржЗржмрзНрж░рзЗрж░рж┐рж░ ржоржзрзНржпрзЗ рж╕рж░рж╛ржирзЛ рж╣ржпрж╝рзЗ ржерж╛ржХрзЗ, рждрж╛рж╣рж▓рзЗ ржирждрзБржи рж╕ржВрж╢рзНрж▓рж┐рж╖рзНржЯ рж╕ржорзНржкржжрзЗрж░ ржЬржирзНржп ржЖржкржирж╛рж░ ржЯрж╛ржЗржорж▓рж╛ржЗржи ржкрж░рзАржХрзНрж╖рж╛ ржХрж░рзБржиред ржПржЗ рж╕ржорзНржкржжржЯрж┐ ржкрзБржирж░рзБржжрзНржзрж╛рж░ ржХрж░рждрзЗ, ржжржпрж╝рж╛ ржХрж░рзЗ ржирж┐рж╢рзНржЪрж┐ржд ржХрж░рзБржи ржпрзЗ ржирзАржЪрзЗрж░ ржлрж╛ржЗрж▓ ржкрж╛ржержЯрж┐ Immich ржжрзНржмрж╛рж░рж╛ ржЕрзНржпрж╛ржХрзНрж╕рзЗрж╕ ржХрж░рж╛ ржпрзЗрждрзЗ ржкрж╛рж░рзЗ ржПржмржВ рж▓рж╛ржЗржмрзНрж░рзЗрж░рж┐ржЯрж┐ рж╕рзНржХрзНржпрж╛ржи ржХрж░рзБржиред",
|
||||
"authentication_settings": "ржкрзНрж░ржорж╛ржгрзАржХрж░ржг рж╕рзЗржЯрж┐ржВрж╕",
|
||||
"authentication_settings_description": "ржкрж╛рж╕ржУржпрж╝рж╛рж░рзНржб, OAuth ржПржмржВ ржЕржирзНржпрж╛ржирзНржп ржкрзНрж░ржорж╛ржгрзАржХрж░ржг рж╕рзЗржЯрж┐ржВрж╕ ржкрж░рж┐ржЪрж╛рж▓ржирж╛ ржХрж░рзБржи",
|
||||
"authentication_settings_disable_all": "ржЖржкржирж┐ ржХрж┐ ржирж┐рж╢рзНржЪрж┐ржд ржпрзЗ ржЖржкржирж┐ рж╕ржорж╕рзНржд рж▓ржЧржЗржи ржкржжрзНржзрждрж┐ ржЕржХрзНрж╖ржо ржХрж░рждрзЗ ржЪрж╛ржи? рж▓ржЧржЗржи рж╕ржорзНржкрзВрж░рзНржгрж░рзВржкрзЗ ржЕржХрзНрж╖ржо ржХрж░рж╛ рж╣ржмрзЗред",
|
||||
"authentication_settings_reenable": "ржкрзБржирж░рж╛ржпрж╝ рж╕ржХрзНрж╖ржо ржХрж░рждрзЗ, ржПржХржЯрж┐ <link>рж╕рж╛рж░рзНржнрж╛рж░ ржХржорж╛ржирзНржб</link> ржмрзНржпржмрж╣рж╛рж░ ржХрж░рзБржиред",
|
||||
"background_task_job": "ржмрзНржпрж╛ржХржЧрзНрж░рж╛ржЙржирзНржб ржЯрж╛рж╕рзНржХ",
|
||||
"backup_database": "ржбрж╛ржЯрж╛ржмрзЗрж╕ ржбрж╛ржорзНржк рждрзИрж░рж┐ ржХрж░рзБржи",
|
||||
"backup_database_enable_description": "ржбрж╛ржЯрж╛ржмрзЗрж╕ ржбрж╛ржорзНржк рж╕ржХрзНрж░рж┐ржпрж╝ ржХрж░рзБржи",
|
||||
"backup_keep_last_amount": "ржЖржЧрзЗрж░ ржбрж╛ржорзНржкрзЗрж░ ржкрж░рж┐ржорж╛ржг рж░рж╛ржЦрж╛ рж╣ржмрзЗ",
|
||||
"backup_settings": "ржбрж╛ржЯрж╛ржмрзЗрж╕ ржбрж╛ржорзНржк рж╕рзЗржЯрж┐ржВрж╕",
|
||||
"backup_settings_description": "ржбрж╛ржЯрж╛ржмрзЗрж╕ ржбрж╛ржорзНржк рж╕рзЗржЯрж┐ржВрж╕ ржкрж░рж┐ржЪрж╛рж▓ржирж╛ ржХрж░рзБржиред",
|
||||
"cleared_jobs": "{job} ржПрж░ ржЬржирзНржп jobs ржЦрж╛рж▓рж┐ ржХрж░рж╛ рж╣ржпрж╝рзЗржЫрзЗ",
|
||||
"config_set_by_file": "ржХржиржлрж┐ржЧ ржмрж░рзНрждржорж╛ржирзЗ ржПржХржЯрж┐ ржХржиржлрж┐ржЧ ржлрж╛ржЗрж▓ ржжрзНржмрж╛рж░рж╛ рж╕рзЗржЯ ржХрж░рж╛ ржЖржЫрзЗ",
|
||||
"confirm_delete_library": "ржЖржкржирж┐ ржХрж┐ ржирж┐рж╢рзНржЪрж┐ржд ржпрзЗ ржЖржкржирж┐ {library} рж▓рж╛ржЗржмрзНрж░рзЗрж░рж┐ ржорзБржЫрзЗ ржлрзЗрж▓рждрзЗ ржЪрж╛ржи?",
|
||||
"confirm_delete_library_assets": "ржЖржкржирж┐ ржХрж┐ ржирж┐рж╢рзНржЪрж┐ржд ржпрзЗ ржЖржкржирж┐ ржПржЗ рж▓рж╛ржЗржмрзНрж░рзЗрж░рж┐ржЯрж┐ ржорзБржЫрзЗ ржлрзЗрж▓рждрзЗ ржЪрж╛ржи? ржПржЯрж┐ Immich ржерзЗржХрзЗ {count, plural, one {# contained asset} other {all # contained asset}} ржорзБржЫрзЗ ржлрзЗрж▓ржмрзЗ ржПржмржВ ржкрзВрж░рзНржмрж╛ржмрж╕рзНржерж╛ржпрж╝ ржлрзЗрж░рж╛ржирзЛ ржпрж╛ржмрзЗ ржирж╛ред ржлрж╛ржЗрж▓ржЧрзБрж▓рж┐ ржбрж┐рж╕рзНржХрзЗ ржерж╛ржХржмрзЗред",
|
||||
"confirm_email_below": "ржирж┐рж╢рзНржЪрж┐ржд ржХрж░рждрзЗ, ржирж┐ржЪрзЗ \"{email}\" ржЯрж╛ржЗржк ржХрж░рзБржи",
|
||||
"confirm_reprocess_all_faces": "ржЖржкржирж┐ ржХрж┐ ржирж┐рж╢рзНржЪрж┐ржд ржпрзЗ ржЖржкржирж┐ рж╕ржорж╕рзНржд ржорзБржЦ ржкрзБржирж░рж╛ржпрж╝ ржкрзНрж░ржХрзНрж░рж┐ржпрж╝рж╛ ржХрж░рждрзЗ ржЪрж╛ржи? ржПржЯрж┐ ржирж╛ржоржпрзБржХрзНржд ржмрзНржпржХрзНрждрж┐ржжрзЗрж░ржУ ржорзБржЫрзЗ ржлрзЗрж▓ржмрзЗред",
|
||||
"confirm_user_password_reset": "ржЖржкржирж┐ ржХрж┐ ржирж┐рж╢рзНржЪрж┐ржд ржпрзЗ ржЖржкржирж┐ {user} ржПрж░ ржкрж╛рж╕ржУржпрж╝рж╛рж░рзНржб рж░рж┐рж╕рзЗржЯ ржХрж░рждрзЗ ржЪрж╛ржи?",
|
||||
"confirm_user_pin_code_reset": "ржЖржкржирж┐ ржХрж┐ ржирж┐рж╢рзНржЪрж┐ржд ржпрзЗ ржЖржкржирж┐ {user} ржПрж░ ржкрж┐ржи ржХрзЛржб рж░рж┐рж╕рзЗржЯ ржХрж░рждрзЗ ржЪрж╛ржи?",
|
||||
"create_job": "job рждрзИрж░рж┐ ржХрж░рзБржи",
|
||||
"cron_expression": "ржХрзНрж░рзЛржи ржПржХрзНрж╕ржкрзНрж░рзЗрж╢ржи",
|
||||
"cron_expression_description": "ржХрзНрж░рзЛржи ржлрж░рзНржорзНржпрж╛ржЯ ржмрзНржпржмрж╣рж╛рж░ ржХрж░рзЗ рж╕рзНржХрзНржпрж╛ржирж┐ржВ ржмрзНржпржмржзрж╛ржи рж╕рзЗржЯ ржХрж░рзБржиред ржЖрж░ржУ рждржерзНржпрзЗрж░ ржЬржирзНржп ржжржпрж╝рж╛ ржХрж░рзЗ ржжрзЗржЦрзБржи ржпрзЗржоржи <link>Crontab Guru</link>",
|
||||
"cron_expression_presets": "ржХрзНрж░рзЛржи ржПржХрзНрж╕ржкрзНрж░рзЗрж╢ржи ржкрзНрж░рж┐рж╕рзЗржЯ",
|
||||
"disable_login": "рж▓ржЧржЗржи ржЕржХрзНрж╖ржо ржХрж░рзБржи",
|
||||
"duplicate_detection_job_description": "ржЕржирзБрж░рзВржк ржЫржмрж┐ рж╕ржирж╛ржХрзНржд ржХрж░рждрзЗ рж╕ржорзНржкржжржЧрзБрж▓рж┐рждрзЗ ржорзЗрж╢рж┐ржи рж▓рж╛рж░рзНржирж┐ржВ ржЪрж╛рж▓рж╛ржиред рж╕рзНржорж╛рж░рзНржЯ ржЕржирзБрж╕ржирзНржзрж╛ржирзЗрж░ ржЙржкрж░ ржирж┐рж░рзНржнрж░ ржХрж░рзЗ",
|
||||
"exclusion_pattern_description": "ржПржХрзНрж╕ржХрзНрж▓рзБрж╢ржи ржкрзНржпрж╛ржЯрж╛рж░рзНржи ржмрзНржпржмрж╣рж╛рж░ ржХрж░рзЗ ржЖржкржирж┐ ржЖржкржирж╛рж░ рж▓рж╛ржЗржмрзНрж░рзЗрж░рж┐ рж╕рзНржХрзНржпрж╛ржи ржХрж░рж╛рж░ рж╕ржоржпрж╝ ржлрж╛ржЗрж▓ ржПржмржВ ржлрзЛрж▓рзНржбрж╛рж░ржЧрзБрж▓рж┐ржХрзЗ ржЙржкрзЗржХрзНрж╖рж╛ ржХрж░рждрзЗ ржкрж╛рж░ржмрзЗржиред ржпржжрж┐ ржЖржкржирж╛рж░ ржПржоржи ржлрзЛрж▓рзНржбрж╛рж░ ржерж╛ржХрзЗ ржпрзЗржЦрж╛ржирзЗ ржПржоржи ржлрж╛ржЗрж▓ ржерж╛ржХрзЗ ржпрж╛ ржЖржкржирж┐ ржЖржоржжрж╛ржирж┐ ржХрж░рждрзЗ ржЪрж╛ржи ржирж╛, ржпрзЗржоржи RAW ржлрж╛ржЗрж▓ред",
|
||||
"external_library_management": "ржмрж╣рж┐рж░рж╛ржЧржд ржЧрзНрж░ржирзНржерж╛ржЧрж╛рж░ ржмрзНржпржмрж╕рзНржерж╛ржкржирж╛",
|
||||
"face_detection": "ржорзБржЦ рж╕ржирж╛ржХрзНрждржХрж░ржг",
|
||||
"face_detection_description": "ржорзЗрж╢рж┐ржи рж▓рж╛рж░рзНржирж┐ржВ ржмрзНржпржмрж╣рж╛рж░ ржХрж░рзЗ ржЕрзНржпрж╛рж╕рзЗржЯрзЗ ржерж╛ржХрж╛ ржорзБржЦржЧрзБрж▓рж┐ рж╕ржирж╛ржХрзНржд ржХрж░рзБржиред ржнрж┐ржбрж┐ржУржЧрзБрж▓рж┐рж░ ржЬржирзНржп, рж╢рзБржзрзБржорж╛рждрзНрж░ ржерж╛ржорзНржмржирзЗржЗрж▓ ржмрж┐ржмрзЗржЪржирж╛ ржХрж░рж╛ рж╣ржпрж╝ред \"рж░рж┐ржлрзНрж░рзЗрж╢\" (ржкрзБржирж░рж╛ржпрж╝) рж╕ржорж╕рзНржд ржЕрзНржпрж╛рж╕рзЗржЯ ржкрзНрж░ржХрзНрж░рж┐ржпрж╝рж╛ ржХрж░рзЗред \"рж░рж┐рж╕рзЗржЯ\" ржЕрждрж┐рж░рж┐ржХрзНрждржнрж╛ржмрзЗ рж╕ржорж╕рзНржд ржмрж░рзНрждржорж╛ржи ржорзБржЦрзЗрж░ ржбрзЗржЯрж╛ рж╕рж╛ржл ржХрж░рзЗред \"ржЕржирзБржкрж╕рзНржерж┐ржд\" ржЕрзНржпрж╛рж╕рзЗржЯржЧрзБрж▓рж┐ржХрзЗ рж╕рж╛рж░рж┐ржмржжрзНржз ржХрж░рзЗ ржпрж╛ ржПржЦржиржУ ржкрзНрж░ржХрзНрж░рж┐ржпрж╝рж╛ ржХрж░рж╛ рж╣ржпрж╝ржирж┐ред рж╕ржирж╛ржХрзНржд ржХрж░рж╛ ржорзБржЦржЧрзБрж▓рж┐ржХрзЗ ржлрзЗрж╕рж┐ржпрж╝рж╛рж▓ рж░рж┐ржХржЧржирж┐рж╢ржирзЗрж░ ржЬржирзНржп рж╕рж╛рж░рж┐ржмржжрзНржз ржХрж░рж╛ рж╣ржмрзЗ, ржлрзЗрж╕рж┐ржпрж╝рж╛рж▓ ржбрж┐ржЯрзЗржХрж╢ржи рж╕ржорзНржкрзВрж░рзНржг рж╣ржУржпрж╝рж╛рж░ ржкрж░рзЗ, ржмрж┐ржжрзНржпржорж╛ржи ржмрж╛ ржирждрзБржи ржмрзНржпржХрзНрждрж┐ржжрзЗрж░ ржоржзрзНржпрзЗ ржЧрзЛрж╖рзНржарзАржмржжрзНржз ржХрж░рзЗред",
|
||||
"facial_recognition_job_description": "рж╢ржирж╛ржХрзНржд ржХрж░рж╛ ржорзБржЦржЧрзБрж▓рж┐ржХрзЗ ржорж╛ржирзБрж╖рзЗрж░ ржоржзрзНржпрзЗ ржЧрзЛрж╖рзНржарзАржнрзБржХрзНржд ржХрж░рзБржиред ржорзБржЦ рж╕ржирж╛ржХрзНрждржХрж░ржг рж╕ржорзНржкрзВрж░рзНржг рж╣ржУржпрж╝рж╛рж░ ржкрж░рзЗ ржПржЗ ржзрж╛ржкржЯрж┐ ржЪрж▓рзЗред \"рж░рж┐рж╕рзЗржЯ\" (ржкрзБржирж░рж╛ржпрж╝) рж╕ржорж╕рзНржд ржорзБржЦржХрзЗ ржХрзНрж▓рж╛рж╕рзНржЯрж╛рж░ ржХрж░рзЗред \"ржЕржирзБржкрж╕рзНржерж┐ржд\" ржорзБржЦржЧрзБрж▓рж┐ржХрзЗ рж╕рж╛рж░рж┐рждрзЗ рж░рж╛ржЦрзЗ ржпрзЗржЦрж╛ржирзЗ ржХрзЛржиржУ ржмрзНржпржХрзНрждрж┐ржХрзЗ ржмрж░рж╛ржжрзНржж ржХрж░рж╛ рж╣ржпрж╝ржирж┐ред",
|
||||
"failed_job_command": "ржХржорж╛ржирзНржб {command} ржХрж╛ржЬрзЗрж░ ржЬржирзНржп ржмрзНржпрж░рзНрже рж╣ржпрж╝рзЗржЫрзЗ: {job}",
|
||||
"force_delete_user_warning": "рж╕рждрж░рзНржХрждрж╛: ржПржЯрж┐ ржмрзНржпржмрж╣рж╛рж░ржХрж╛рж░рзА ржПржмржВ рж╕ржорж╕рзНржд рж╕ржорзНржкржж ржЕржмрж┐рж▓ржорзНржмрзЗ рж╕рж░рж┐ржпрж╝рзЗ ржлрзЗрж▓ржмрзЗред ржПржЯрж┐ ржкрзВрж░рзНржмрж╛ржмрж╕рзНржерж╛ржпрж╝ ржлрзЗрж░рж╛ржирзЛ ржпрж╛ржмрзЗ ржирж╛ ржПржмржВ ржлрж╛ржЗрж▓ржЧрзБрж▓рж┐ ржкрзБржирж░рзБржжрзНржзрж╛рж░ ржХрж░рж╛ ржпрж╛ржмрзЗ ржирж╛ред",
|
||||
"image_format": "ржлрж░ржорзНржпрж╛ржЯ",
|
||||
"image_format_description": "WebP JPEG ржПрж░ рждрзБрж▓ржирж╛рзЯ ржЫрзЛржЯ ржлрж╛ржЗрж▓ рждрзИрж░рж┐ ржХрж░рзЗ, ржХрж┐ржирзНрждрзБ ржПржиржХрзЛржб ржХрж░рждрзЗ ржзрзАрж░ред",
|
||||
"image_fullsize_description": "ржЬрзБржо ржЗржи ржХрж░рж╛рж░ рж╕ржоржпрж╝ ржмрзНржпржмрж╣рзГржд рж╕рзНржЯрзНрж░рж┐ржкржб ржорзЗржЯрж╛ржбрзЗржЯрж╛ рж╕рж╣ ржкрзВрж░рзНржг ржЖржХрж╛рж░рзЗрж░ ржЫржмрж┐",
|
||||
"image_fullsize_enabled": "ржкрзВрж░рзНржг-ржЖржХрж╛рж░рзЗрж░ ржЫржмрж┐ рждрзИрж░рж┐ рж╕ржХрзНрж╖ржо ржХрж░рзБржи",
|
||||
"image_fullsize_enabled_description": "ржУржпрж╝рзЗржм-ржмрж╛ржирзНржзржм ржиржпрж╝ ржПржоржи ржлрж░рзНржорзНржпрж╛ржЯрзЗрж░ ржЬржирзНржп ржкрзВрж░рзНржг-ржЖржХрж╛рж░рзЗрж░ ржЫржмрж┐ рждрзИрж░рж┐ ржХрж░рзБржиред \"ржПржоржмрзЗржбрзЗржб ржкрзНрж░рж┐ржнрж┐ржЙ ржкржЫржирзНржж ржХрж░рзБржи\" рж╕ржХрзНрж╖ржо ржХрж░рж╛ ржерж╛ржХрж▓рзЗ, рж░рзВржкрж╛ржирзНрждрж░ ржЫрж╛ржбрж╝рж╛ржЗ ржПржоржмрзЗржбрзЗржб ржкрзНрж░рж┐ржнрж┐ржЙ рж╕рж░рж╛рж╕рж░рж┐ ржмрзНржпржмрж╣рж╛рж░ ржХрж░рж╛ рж╣ржпрж╝ред JPEG-ржПрж░ ржорждрзЛ ржУржпрж╝рзЗржм-ржмрж╛ржирзНржзржм ржлрж░рзНржорзНржпрж╛ржЯржЧрзБрж▓рж┐ржХрзЗ ржкрзНрж░ржнрж╛ржмрж┐ржд ржХрж░рзЗ ржирж╛ред",
|
||||
"image_fullsize_quality_description": "ржкрзВрж░рзНржг-ржЖржХрж╛рж░рзЗрж░ ржЫржмрж┐рж░ ржорж╛ржи рзз-рззрзжрзжред ржЙржЪрзНржЪрждрж░ рж╣рж▓рзЗ ржнрж╛рж▓рзЛ, ржХрж┐ржирзНрждрзБ ржЖрж░ржУ ржмржбрж╝ ржлрж╛ржЗрж▓ рждрзИрж░рж┐ рж╣ржпрж╝ред",
|
||||
"image_fullsize_title": "ржкрзВрж░рзНржг-ржЖржХрж╛рж░рзЗрж░ ржЪрж┐рждрзНрж░ рж╕рзЗржЯрж┐ржВрж╕",
|
||||
"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_description": "рж╕рзНржЯрзНрж░рж┐ржкржб ржорзЗржЯрж╛ржбрзЗржЯрж╛ рж╕рж╣ ржорж╛ржЭрж╛рж░рж┐ ржЖржХрж╛рж░рзЗрж░ ржЫржмрж┐, ржПржХржЯрж┐ ржПржХржХ рж╕ржорзНржкржж ржжрзЗржЦрж╛рж░ рж╕ржоржпрж╝ ржПржмржВ ржорзЗрж╢рж┐ржи рж▓рж╛рж░рзНржирж┐ржВржпрж╝рзЗрж░ ржЬржирзНржп ржмрзНржпржмрж╣рзГржд рж╣ржпрж╝",
|
||||
"image_preview_quality_description": "рзз-рззрзжрзж ржПрж░ ржоржзрзНржпрзЗ ржкрзНрж░рж┐ржнрж┐ржЙ ржХрзЛржпрж╝рж╛рж▓рж┐ржЯрж┐ред ржмрзЗрж╢рж┐ рж╣рж▓рзЗ ржнрж╛рж▓рзЛ, ржХрж┐ржирзНрждрзБ ржмржбрж╝ ржлрж╛ржЗрж▓ рждрзИрж░рж┐ рж╣ржпрж╝ ржПржмржВ ржЕрзНржпрж╛ржкрзЗрж░ ржкрзНрж░рждрж┐ржХрзНрж░рж┐ржпрж╝рж╛рж╢рзАрж▓рждрж╛ ржХржорж╛рждрзЗ ржкрж╛рж░рзЗред ржХржо ржорж╛ржи рж╕рзЗржЯ ржХрж░рж▓рзЗ ржорзЗрж╢рж┐ржи рж▓рж╛рж░рзНржирж┐ржВ ржХрзЛржпрж╝рж╛рж▓рж┐ржЯрж┐рж░ ржЙржкрж░ ржкрзНрж░ржнрж╛ржм ржкржбрж╝рждрзЗ ржкрж╛рж░рзЗред",
|
||||
"image_preview_title": "ржкрзНрж░рж┐ржнрж┐ржЙ рж╕рзЗржЯрж┐ржВрж╕",
|
||||
"image_quality": "ржЧрзБржгржорж╛ржи",
|
||||
"image_resolution": "рж░рзЗржЬрзЛрж▓рж┐ржЙрж╢ржи",
|
||||
"image_resolution_description": "ржЙржЪрзНржЪ рж░рзЗржЬрзЛрж▓рж┐ржЙрж╢ржирзЗрж░ ржХрзНрж╖рзЗрждрзНрж░рзЗ ржЖрж░ржУ ржмрж┐рж╕рзНрждрж╛рж░рж┐ржд рждржерзНржп рж╕ржВрж░ржХрзНрж╖ржг ржХрж░рж╛ рж╕ржорзНржнржм ржХрж┐ржирзНрждрзБ ржПржиржХрзЛржб ржХрж░рждрзЗ ржмрзЗрж╢рж┐ рж╕ржоржпрж╝ рж▓рж╛ржЧрзЗ, ржлрж╛ржЗрж▓рзЗрж░ ржЖржХрж╛рж░ ржмржбрж╝ рж╣ржпрж╝ ржПржмржВ ржЕрзНржпрж╛ржкрзЗрж░ ржкрзНрж░рждрж┐ржХрзНрж░рж┐ржпрж╝рж╛рж╢рзАрж▓рждрж╛ ржХржорж╛рждрзЗ ржкрж╛рж░рзЗред",
|
||||
"image_settings": "ржЪрж┐рждрзНрж░ рж╕рзЗржЯрж┐ржВрж╕",
|
||||
"image_settings_description": "рждрзИрж░рж┐ ржХрж░рж╛ ржЫржмрж┐рж░ ржорж╛ржи ржПржмржВ рж░рзЗржЬрзЛрж▓рж┐ржЙрж╢ржи ржкрж░рж┐ржЪрж╛рж▓ржирж╛ ржХрж░рзБржи",
|
||||
"image_thumbnail_description": "ржорзЗржЯрж╛ржбрзЗржЯрж╛ ржмрж╛ржж ржжрзЗржУрзЯрж╛ ржЫрзЛржЯ ржерж╛ржорзНржмржирзЗржЗрж▓, ржорзВрж▓ ржЯрж╛ржЗржорж▓рж╛ржЗржирзЗрж░ ржорждрзЛ ржЫржмрж┐рж░ ржЧрзНрж░рзБржк ржжрзЗржЦрж╛рж░ рж╕ржоржпрж╝ ржмрзНржпржмрж╣рзГржд рж╣рзЯ",
|
||||
"image_thumbnail_quality_description": "ржерж╛ржорзНржмржирзЗржЗрж▓рзЗрж░ ржорж╛ржи рзз-рззрзжрзжред ржмрзЗрж╢рж┐ рж╣рж▓рзЗ ржнрж╛рж▓рзЛ, ржХрж┐ржирзНрждрзБ ржмржбрж╝ ржлрж╛ржЗрж▓ рждрзИрж░рж┐ рж╣ржпрж╝ ржПржмржВ ржЕрзНржпрж╛ржкрзЗрж░ ржкрзНрж░рждрж┐ржХрзНрж░рж┐ржпрж╝рж╛рж╢рзАрж▓рждрж╛ ржХржорж╛рждрзЗ ржкрж╛рж░рзЗред",
|
||||
"image_thumbnail_title": "ржерж╛ржорзНржмржирзЗрж▓ рж╕рзЗржЯрж┐ржВрж╕",
|
||||
"job_concurrency": "{job} ржХржиржХрж╛рж░рзЗржирзНрж╕рж┐",
|
||||
"job_created": "Job рждрзИрж░рж┐ рж╣ржпрж╝рзЗржЫрзЗ",
|
||||
"job_not_concurrency_safe": "ржПржЗ ржХрж╛ржЬржЯрж┐ рж╕ржоржХрж╛рж▓рзАржи-ржирж┐рж░рж╛ржкржж ржиржпрж╝ред",
|
||||
"job_settings": "ржХрж╛ржЬрзЗрж░ рж╕рзЗржЯрж┐ржВрж╕",
|
||||
"job_settings_description": "ржХрж╛ржЬрзЗрж░ рж╕ржорж╛ржирзНрждрж░рж╛рж▓рждрж╛ ржкрж░рж┐ржЪрж╛рж▓ржирж╛ ржХрж░рзБржи",
|
||||
"job_status": "ржЪрж╛ржХрж░рж┐рж░ ржЕржмрж╕рзНржерж╛"
|
||||
}
|
||||
}
|
||||
|
||||
+21
-3
@@ -166,6 +166,10 @@
|
||||
"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",
|
||||
"nightly_tasks_cluster_new_faces_setting": "Agrupa cares noves",
|
||||
"nightly_tasks_database_cleanup_setting": "Tasques de neteja de la base de dades",
|
||||
"nightly_tasks_database_cleanup_setting_description": "Netegeu les dades antigues i caducades de la base de dades",
|
||||
"nightly_tasks_missing_thumbnails_setting": "Generar les miniatures restants",
|
||||
"no_paths_added": "No s'ha afegit cap ruta",
|
||||
"no_pattern_added": "Cap patr├│ aplicat",
|
||||
"note_apply_storage_label_previous_assets": "Nota: Per aplicar l'etiquetatge d'emmagatzematge a elements pujats pr├иviament, executeu la",
|
||||
@@ -196,6 +200,8 @@
|
||||
"oauth_mobile_redirect_uri": "URI de redirecci├│ m├▓bil",
|
||||
"oauth_mobile_redirect_uri_override": "Sobreescriu l'URI de redirecci├│ m├▓bil",
|
||||
"oauth_mobile_redirect_uri_override_description": "Habilita quan el prove├пdor d'OAuth no permet una URI m├▓bil, com ara ''{callback}''",
|
||||
"oauth_role_claim": "Concessi├│ de rol",
|
||||
"oauth_role_claim_description": "Atorgar acc├йs d'administrador autom├аticament segons la pres├иncia d'aquesta concessi├│. La concessi├│ pot ser 'usuari' o 'admin'.",
|
||||
"oauth_settings": "OAuth",
|
||||
"oauth_settings_description": "Gestiona la configuraci├│ de l'inici de sessi├│ OAuth",
|
||||
"oauth_settings_more_details": "Per a m├йs detalls sobre aquesta funcionalitat, consulteu la <link>documentaci├│</link>.",
|
||||
@@ -244,6 +250,7 @@
|
||||
"storage_template_migration_info": "Les extensions es convertiran a min├║scules. Els canvis de plantilla nom├йs s'aplicaran a nous elements. Per aplicar la plantilla rectroactivament a elements pujats pr├иviament, executeu la <link>{job}</link>.",
|
||||
"storage_template_migration_job": "Tasca de migraci├│ de la plantilla d'emmagatzematge",
|
||||
"storage_template_more_details": "Per obtenir m├йs detalls sobre aquesta funci├│, consulteu la <template-link>Storage Template</template-link> i les seves <implications-link>implications</implications-link>",
|
||||
"storage_template_onboarding_description_v2": "Un cop habilitada, aquesta funci├│ organitzar├а autom├аticament els fitxers a partir d'una plantilla definida per l'usuari. Per a m├йs informaci├│, podeu consultar la <link>documentaci├│</link>.",
|
||||
"storage_template_path_length": "L├нmit aproximat de longitud de la ruta: <b>{length, number}</b>/{limit, number}",
|
||||
"storage_template_settings": "Plantilla d'emmagatzematge",
|
||||
"storage_template_settings_description": "Gestiona l'estructura de les carpetes i el nom del fitxers dels elements pujats",
|
||||
@@ -359,7 +366,7 @@
|
||||
"advanced_settings_enable_alternate_media_filter_subtitle": "Feu servir aquesta opci├│ per filtrar els continguts multim├иdia durant la sincronitzaci├│ segons criteris alternatius. Nom├йs proveu-ho si teniu problemes amb l'aplicaci├│ per detectar tots els ├аlbums.",
|
||||
"advanced_settings_enable_alternate_media_filter_title": "Utilitza el filtre de sincronitzaci├│ d'├аlbums de dispositius alternatius",
|
||||
"advanced_settings_log_level_title": "Nivell de registre: {level}",
|
||||
"advanced_settings_prefer_remote_subtitle": "Alguns dispositius s├│n molt lents en carregar miniatures dels elements del dispositiu. Activeu aquest par├аmetre per carregar imatges remotes en el seu lloc.",
|
||||
"advanced_settings_prefer_remote_subtitle": "Alguns dispositius s├│n molt lents en carregar miniatures dels elements locals. Activeu aquest par├аmetre per carregar imatges remotes en el seu lloc.",
|
||||
"advanced_settings_prefer_remote_title": "Prefereix imatges remotes",
|
||||
"advanced_settings_proxy_headers_subtitle": "Definiu les cap├зaleres de proxy que Immich per enviar amb cada sol┬╖licitud de xarxa",
|
||||
"advanced_settings_proxy_headers_title": "Cap├зaleres de proxy",
|
||||
@@ -426,6 +433,7 @@
|
||||
"app_settings": "Configuraci├│ de l'app",
|
||||
"appears_in": "Apareix a",
|
||||
"archive": "Arxiu",
|
||||
"archive_action_prompt": "{count} afegit a Arxiu",
|
||||
"archive_or_unarchive_photo": "Arxivar o desarxivar fotografia",
|
||||
"archive_page_no_archived_assets": "No s'ha trobat res arxivat",
|
||||
"archive_page_title": "Arxiu({count})",
|
||||
@@ -463,7 +471,6 @@
|
||||
"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": "{count, plural, one {S'ha afegit # recurs} other {S'han afegit # recursos}} a {hasName, select, true {<b>{name}</b>} other {new album}}",
|
||||
"assets_cannot_be_added_to_album_count": "{count, plural, one {Asset} other {Assets}} no es pot afegir a l'├аlbum",
|
||||
"assets_count": "{count, plural, one {# recurs} other {# recursos}}",
|
||||
"assets_deleted_permanently": "{count} element(s) esborrats permanentment",
|
||||
@@ -702,7 +709,7 @@
|
||||
"daily_title_text_date": "E, dd MMM",
|
||||
"daily_title_text_date_year": "E, dd MMM, yyyy",
|
||||
"dark": "Fosc",
|
||||
"darkTheme": "Activa/desactiva el tema fosc",
|
||||
"dark_theme": "Canviar a tema fosc",
|
||||
"date_after": "Data posterior a",
|
||||
"date_and_time": "Data i hora",
|
||||
"date_before": "Data anterior a",
|
||||
@@ -718,6 +725,7 @@
|
||||
"default_locale": "Localitzaci├│ predeterminada",
|
||||
"default_locale_description": "Format de dates i n├║meros segons la configuraci├│ del navegador",
|
||||
"delete": "Esborra",
|
||||
"delete_action_prompt": "{count} eliminats permanentment",
|
||||
"delete_album": "Esborra l'├аlbum",
|
||||
"delete_api_key_prompt": "Esteu segurs que voleu eliminar aquesta clau API?",
|
||||
"delete_dialog_alert": "Aquests elements seran eliminats de manera permanent d'Immich i del vostre dispositiu",
|
||||
@@ -798,6 +806,7 @@
|
||||
"edit_key": "Edita clau",
|
||||
"edit_link": "Edita enlla├з",
|
||||
"edit_location": "Edita ubicaci├│",
|
||||
"edit_location_action_prompt": "{count} ubicacions editades",
|
||||
"edit_location_dialog_title": "Ubicaci├│",
|
||||
"edit_name": "Edita el nom",
|
||||
"edit_people": "Edita la gent",
|
||||
@@ -983,6 +992,7 @@
|
||||
"failed_to_load_assets": "Error carregant recursos",
|
||||
"failed_to_load_folder": "No s'ha pogut carregar la carpeta",
|
||||
"favorite": "Preferit",
|
||||
"favorite_action_prompt": "{count} afegit a Favorits",
|
||||
"favorite_or_unfavorite_photo": "Foto preferida o no preferida",
|
||||
"favorites": "Preferits",
|
||||
"favorites_page_no_favorites": "No s'han trobat preferits",
|
||||
@@ -1149,6 +1159,7 @@
|
||||
"locked_folder": "Carpeta bloquejada",
|
||||
"log_out": "Tanca la sessi├│",
|
||||
"log_out_all_devices": "Tanqueu la sessi├│ de tots els dispositius",
|
||||
"logged_in_as": "Sessi├│ iniciada com a {user}",
|
||||
"logged_out_all_devices": "S'ha tancat la sessi├│ de tots els dispositius",
|
||||
"logged_out_device": "Dispositiu tancat",
|
||||
"login": "Iniciar sessi├│",
|
||||
@@ -1244,6 +1255,7 @@
|
||||
"more": "M├йs",
|
||||
"move": "Moure",
|
||||
"move_off_locked_folder": "Moure fora de la carpeta bloquejada",
|
||||
"move_to_lock_folder_action_prompt": "{count} afegides a la carpeta protegida",
|
||||
"move_to_locked_folder": "Moure a la carpeta bloquejada",
|
||||
"move_to_locked_folder_confirmation": "Aquestes fotos i v├нdeos seran eliminades de tots els ├аlbums, i nom├йs podran ser vistes des de la carpeta bloquejada",
|
||||
"moved_to_archive": "S'han mogut {count, plural, one {# asset} other {# assets}} a l'arxiu",
|
||||
@@ -1494,6 +1506,7 @@
|
||||
"remove_deleted_assets": "Suprimeix fitxers fora de l├нnia",
|
||||
"remove_from_album": "Treu de l'├аlbum",
|
||||
"remove_from_favorites": "Eliminar dels preferits",
|
||||
"remove_from_lock_folder_action_prompt": "{count} eliminades de la carpeta protegida",
|
||||
"remove_from_locked_folder": "Elimina de la carpeta bloquejada",
|
||||
"remove_from_locked_folder_confirmation": "Segur que vols moure aquestes fotos i v├нdeos fora de la carpeta bloquejada? Seran visibles a la teva biblioteca.",
|
||||
"remove_from_shared_link": "Eliminar de l'enlla├з compartit",
|
||||
@@ -1606,6 +1619,7 @@
|
||||
"select_album_cover": "Seleccionar la portada de l'├аlbum",
|
||||
"select_all": "Selecciona-ho tot",
|
||||
"select_all_duplicates": "Seleccioneu tots els duplicats",
|
||||
"select_all_in": "Selecciona tot en {group}",
|
||||
"select_avatar_color": "Tria color de l'avatar",
|
||||
"select_face": "Selecciona cara",
|
||||
"select_featured_photo": "Selecciona foto principal",
|
||||
@@ -1835,6 +1849,7 @@
|
||||
"total": "Total",
|
||||
"total_usage": "├Ъs total",
|
||||
"trash": "Paperera",
|
||||
"trash_action_prompt": "{count} mogudes a la brossa",
|
||||
"trash_all": "Envia-ho tot a la paperera",
|
||||
"trash_count": "Paperera {count, number}",
|
||||
"trash_delete_asset": "Esborra/Elimina element",
|
||||
@@ -1852,9 +1867,11 @@
|
||||
"unable_to_change_pin_code": "No es pot canviar el codi PIN",
|
||||
"unable_to_setup_pin_code": "No s'ha pogut configurar el codi PIN",
|
||||
"unarchive": "Desarxivar",
|
||||
"unarchive_action_prompt": "{count} eliminades de l'arxiu",
|
||||
"unarchived_count": "{count, plural, other {# elements desarxivats}}",
|
||||
"undo": "Desfer",
|
||||
"unfavorite": "Reverteix preferit",
|
||||
"unfavorite_action_prompt": "{count} eliminades de preferits",
|
||||
"unhide_person": "Mostra persona",
|
||||
"unknown": "Desconegut",
|
||||
"unknown_country": "Pa├нs Desconegut",
|
||||
@@ -1870,6 +1887,7 @@
|
||||
"unsaved_change": "Canvi no desat",
|
||||
"unselect_all": "Deselecciona-ho tot",
|
||||
"unselect_all_duplicates": "Desmarqueu tots els duplicats",
|
||||
"unselect_all_in": "Desseleccionar tots els elements de {group}",
|
||||
"unstack": "Desapila",
|
||||
"unstacked_assets_count": "No apilat {count, plural, one {# recurs} other {# recursos}}",
|
||||
"up_next": "Pr├▓xim",
|
||||
|
||||
+56
-13
@@ -44,7 +44,7 @@
|
||||
"backup_database": "Vytvo┼Щit v├╜pis datab├бze",
|
||||
"backup_database_enable_description": "Povolit v├╜pisy z datab├бze",
|
||||
"backup_keep_last_amount": "Po─Нet p┼Щedchoz├нch v├╜pis┼п, kter├й se maj├н ponechat",
|
||||
"backup_settings": "Nastaven├н v├╜pisu datab├бze",
|
||||
"backup_settings": "Z├бlohov├бn├н datab├бze",
|
||||
"backup_settings_description": "Spr├бva nastaven├н v├╜pisu datab├бze.",
|
||||
"cleared_jobs": "Hotov├й ├║lohy pro: {job}",
|
||||
"config_set_by_file": "Konfigurace je aktu├бln─Ы prov├бd─Ыna konfigura─Нn├нm souborem",
|
||||
@@ -166,6 +166,20 @@
|
||||
"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",
|
||||
"nightly_tasks_cluster_faces_setting_description": "Spustit rozpozn├бv├бn├н obli─Нeje na nov─Ы nalezen├╜ch obli─Нej├нch",
|
||||
"nightly_tasks_cluster_new_faces_setting": "Seskupit nov├й tv├б┼Щe",
|
||||
"nightly_tasks_database_cleanup_setting": "├Ъlohy ─Нi┼бt─Ыn├н datab├бze",
|
||||
"nightly_tasks_database_cleanup_setting_description": "Vy─Нistit datab├бzi od star├╜ch dat, jejich┼╛ platnost vypr┼бela",
|
||||
"nightly_tasks_generate_memories_setting": "Vytv├б┼Щen├н vzpom├нnek",
|
||||
"nightly_tasks_generate_memories_setting_description": "Vytv├б┼Щen├н nov├╜ch vzpom├нnek z polo┼╛ek",
|
||||
"nightly_tasks_missing_thumbnails_setting": "Generovat chyb─Ыj├нc├н miniatury",
|
||||
"nightly_tasks_missing_thumbnails_setting_description": "┼Шadit polo┼╛ky bez miniatur do fronty pro generov├бn├н miniatur",
|
||||
"nightly_tasks_settings": "No─Нn├н ├║lohy",
|
||||
"nightly_tasks_settings_description": "Spr├бva no─Нn├нch ├║kol┼п",
|
||||
"nightly_tasks_start_time_setting": "─Мas zah├бjen├н",
|
||||
"nightly_tasks_start_time_setting_description": "─Мas, kdy server spust├н no─Нn├н ├║lohy",
|
||||
"nightly_tasks_sync_quota_usage_setting": "Synchronizace vyu┼╛it├н kv├│ty",
|
||||
"nightly_tasks_sync_quota_usage_setting_description": "Aktualizovat kv├│tu ├║lo┼╛i┼бt─Ы u┼╛ivatele na z├бklad─Ы aktu├бln├нho vyu┼╛it├н",
|
||||
"no_paths_added": "Nebyly p┼Щid├бny ┼╛├бdn├й cesty",
|
||||
"no_pattern_added": "Nebyl p┼Щid├бn ┼╛├бdn├╜ vzor",
|
||||
"note_apply_storage_label_previous_assets": "Upozorn─Ыn├н: Pro uplatn─Ыn├н ┼аt├нtku ├║lo┼╛i┼бt─Ы na d┼Щ├нve nahran├й polo┼╛ky spus┼еte",
|
||||
@@ -196,6 +210,8 @@
|
||||
"oauth_mobile_redirect_uri": "Mobiln├н p┼Щesm─Ыrov├бn├н URI",
|
||||
"oauth_mobile_redirect_uri_override": "P┼Щepsat mobiln├н p┼Щesm─Ыrov├бn├н URI",
|
||||
"oauth_mobile_redirect_uri_override_description": "Povolit, pokud poskytovatel OAuth nepovoluje mobiln├н URI, nap┼Щ├нklad ''{callback}''",
|
||||
"oauth_role_claim": "Deklarace Role",
|
||||
"oauth_role_claim_description": "Automaticky ud─Ыlit p┼Щ├нstup spr├бvce na z├бklad─Ы p┼Щ├нtomnosti t├йto deklarace. Deklarace m┼п┼╛e m├нt hodnotu 'user' nebo 'admin'.",
|
||||
"oauth_settings": "OAuth",
|
||||
"oauth_settings_description": "Spr├бva nastaven├н OAuth p┼Щihl├б┼бen├н",
|
||||
"oauth_settings_more_details": "Dal┼б├н podrobnosti o t├йto funkci naleznete v <link>dokumentaci</link>.",
|
||||
@@ -357,10 +373,12 @@
|
||||
"admin_password": "Heslo spr├бvce",
|
||||
"administration": "Administrace",
|
||||
"advanced": "Pokro─Нil├й",
|
||||
"advanced_settings_beta_timeline_subtitle": "Vyzkou┼бejte nov├й prost┼Щed├н aplikace",
|
||||
"advanced_settings_beta_timeline_title": "─Мasov├б osa beta verze",
|
||||
"advanced_settings_enable_alternate_media_filter_subtitle": "Tuto mo┼╛nost pou┼╛ijte k filtrov├бn├н m├йdi├н b─Ыhem synchronizace na z├бklad─Ы alternativn├нch krit├йri├н. Tuto mo┼╛nost vyzkou┼бejte pouze v p┼Щ├нpad─Ы, ┼╛e m├бte probl├йmy s detekc├н v┼бech alb v aplikaci.",
|
||||
"advanced_settings_enable_alternate_media_filter_title": "[EXPERIMENT├БLN├Н] Pou┼╛├нt alternativn├н filtr pro synchronizaci alb za┼Щ├нzen├н",
|
||||
"advanced_settings_log_level_title": "├Ъrove┼И protokolov├бn├н: {level}",
|
||||
"advanced_settings_prefer_remote_subtitle": "U n─Ыkter├╜ch za┼Щ├нzen├н je na─Н├нt├бn├н miniatur z prost┼Щedk┼п v za┼Щ├нzen├н velmi pomal├й. Aktivujte toto nastaven├н, aby se m├нsto toho na─Н├нtaly vzd├бlen├й obr├бzky.",
|
||||
"advanced_settings_prefer_remote_subtitle": "U n─Ыkter├╜ch za┼Щ├нzen├н je na─Н├нt├бn├н miniatur z lok├бln├нch prost┼Щedk┼п velmi pomal├й. Aktivujte toto nastaven├н, aby se m├нsto toho na─Н├нtaly vzd├бlen├й obr├бzky.",
|
||||
"advanced_settings_prefer_remote_title": "Preferovat vzd├бlen├й obr├бzky",
|
||||
"advanced_settings_proxy_headers_subtitle": "Definice hlavi─Нek proxy serveru, kter├й by m─Ыl Immich odes├нlat s ka┼╛d├╜m s├н┼еov├╜m po┼╛adavkem",
|
||||
"advanced_settings_proxy_headers_title": "Proxy hlavi─Нky",
|
||||
@@ -388,6 +406,7 @@
|
||||
"album_options": "Mo┼╛nosti alba",
|
||||
"album_remove_user": "Odebrat u┼╛ivatele?",
|
||||
"album_remove_user_confirmation": "Opravdu chcete odebrat u┼╛ivatele {user}?",
|
||||
"album_search_not_found": "Nebyla nalezena ┼╛├бdn├б alba odpov├нdaj├нc├н va┼бemu hled├бn├н",
|
||||
"album_share_no_users": "Z┼Щejm─Ы jste toto album sd├нleli se v┼бemi u┼╛ivateli, nebo nem├бte ┼╛├бdn├йho u┼╛ivatele, se kter├╜m byste ho mohli sd├нlet.",
|
||||
"album_updated": "Album aktualizov├бno",
|
||||
"album_updated_setting_description": "Dost├бvat e-mailov├б ozn├бmen├н o nov├╜ch polo┼╛k├бch sd├нlen├йho alba",
|
||||
@@ -407,6 +426,7 @@
|
||||
"albums_default_sort_order": "V├╜choz├н ┼Щazen├н alb",
|
||||
"albums_default_sort_order_description": "V├╜choz├н ┼Щazen├н polo┼╛ek p┼Щi vytv├б┼Щen├н nov├╜ch alb.",
|
||||
"albums_feature_description": "Sb├нrky polo┼╛ek, kter├й lze sd├нlet s ostatn├нmi u┼╛ivateli.",
|
||||
"albums_on_device_count": "Alba v za┼Щ├нzen├н ({count})",
|
||||
"all": "V┼бe",
|
||||
"all_albums": "V┼бechna alba",
|
||||
"all_people": "V┼бichni lid├й",
|
||||
@@ -427,7 +447,8 @@
|
||||
"app_settings": "Aplikace",
|
||||
"appears_in": "Vyskytuje se v",
|
||||
"archive": "Archiv",
|
||||
"archive_or_unarchive_photo": "Archivovat nebo odarchivovat fotku",
|
||||
"archive_action_prompt": "{count} p┼Щidan├╜ch do archivu",
|
||||
"archive_or_unarchive_photo": "P┼Щidat nebo odebrat fotku z archivu",
|
||||
"archive_page_no_archived_assets": "Nebyla nalezena ┼╛├бdn├б archivovan├б m├йdia",
|
||||
"archive_page_title": "Archiv ({count})",
|
||||
"archive_size": "Velikost archivu",
|
||||
@@ -464,14 +485,13 @@
|
||||
"assets": "Polo┼╛ky",
|
||||
"assets_added_count": "{count, plural, one {P┼Щid├бna # polo┼╛ka} few {P┼Щid├бny # polo┼╛ky} other {P┼Щid├бno # polo┼╛ek}}",
|
||||
"assets_added_to_album_count": "Do alba {count, plural, one {byla p┼Щid├бna # polo┼╛ka} few {byly p┼Щid├бny # polo┼╛ky} other {bylo p┼Щid├бno # polo┼╛ek}}",
|
||||
"assets_added_to_name_count": "{count, plural, one {P┼Щid├бna # polo┼╛ka} few {P┼Щid├бny # polo┼╛ky} other {P┼Щid├бno # polo┼╛ek}} do {hasName, select, true {alba <b>{name}</b>} other {nov├йho alba}}",
|
||||
"assets_cannot_be_added_to_album_count": "{count, plural, one {Polo┼╛ku} other {Polo┼╛ky}} nelze p┼Щidat do alba",
|
||||
"assets_count": "{count, plural, one {# polo┼╛ka} few {# polo┼╛ky} other {# polo┼╛ek}}",
|
||||
"assets_deleted_permanently": "{count} polo┼╛ek trvale odstran─Ыno",
|
||||
"assets_deleted_permanently_from_server": "{count} polo┼╛ek trvale odstran─Ыno z Immich serveru",
|
||||
"assets_downloaded_failed": "{count, plural, one {Sta┼╛en # soubor - {error} soubor┼п selhalo} few {Sta┼╛eny # soubory - {error} soubor┼п selhalo} other {Sta┼╛eno # soubor┼п - {error} soubor┼п selhalo}}",
|
||||
"assets_downloaded_successfully": "{count, plural, one {├Ъsp─Ы┼бn─Ы sta┼╛en # soubor} few {├Ъsp─Ы┼бn─Ы sta┼╛eny # soubory} other {├Ъsp─Ы┼бn─Ы sta┼╛eno # soubor┼п}}",
|
||||
"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_moved_to_trash_count": "{count, plural, one {# polo┼╛ka p┼Щesunuta} few {# polo┼╛ky p┼Щesunuty} other {# polo┼╛ek p┼Щesunuto}} do ko┼бe",
|
||||
"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_removed_permanently_from_device": "{count} polo┼╛ek trvale odstran─Ыno z va┼бeho za┼Щ├нzen├н",
|
||||
@@ -587,6 +607,7 @@
|
||||
"cancel": "Zru┼бit",
|
||||
"cancel_search": "Zru┼бit vyhled├бv├бn├н",
|
||||
"canceled": "Zru┼бeno",
|
||||
"canceling": "Ru┼бen├н",
|
||||
"cannot_merge_people": "Nelze slou─Нit osoby",
|
||||
"cannot_undo_this_action": "Tuto akci nelze vr├бtit zp─Ыt!",
|
||||
"cannot_update_the_description": "Nelze aktualizovat popis",
|
||||
@@ -703,7 +724,7 @@
|
||||
"daily_title_text_date": "EEEE, d. MMMM",
|
||||
"daily_title_text_date_year": "EEEE, d. MMMM y",
|
||||
"dark": "Tmav├╜",
|
||||
"darkTheme": "P┼Щepnout tmav├╜ motiv",
|
||||
"dark_theme": "P┼Щepnout tmav├╜ motiv",
|
||||
"date_after": "Datum po",
|
||||
"date_and_time": "Datum a ─Нas",
|
||||
"date_before": "Datum p┼Щed",
|
||||
@@ -719,6 +740,7 @@
|
||||
"default_locale": "V├╜choz├н jazyk",
|
||||
"default_locale_description": "Form├бtovat datumy a ─Н├нsla podle m├нstn├нho prost┼Щed├н prohl├н┼╛e─Нe",
|
||||
"delete": "Smazat",
|
||||
"delete_action_prompt": "{count} trvale smazan├╜ch",
|
||||
"delete_album": "Smazat album",
|
||||
"delete_api_key_prompt": "Opravdu chcete tento API kl├н─Н odstranit?",
|
||||
"delete_dialog_alert": "Tyto polo┼╛ky budou trvale smaz├бny z aplikace Immich i z va┼бeho za┼Щ├нzen├н",
|
||||
@@ -732,6 +754,7 @@
|
||||
"delete_key": "Smazat kl├н─Н",
|
||||
"delete_library": "Smazat knihovnu",
|
||||
"delete_link": "Smazat odkaz",
|
||||
"delete_local_action_prompt": "{count} smaz├бno lok├бln─Ы",
|
||||
"delete_local_dialog_ok_backed_up_only": "Smazat pouze z├бlohovan├й",
|
||||
"delete_local_dialog_ok_force": "P┼Щesto smazat",
|
||||
"delete_others": "Odstranit ostatn├н",
|
||||
@@ -745,6 +768,7 @@
|
||||
"description": "Popis",
|
||||
"description_input_hint_text": "P┼Щidat popis...",
|
||||
"description_input_submit_error": "Chyba aktualizace popisu, dal┼б├н podrobnosti najdete v logu",
|
||||
"deselect_all": "Zru┼бit v├╜b─Ыr v┼бech",
|
||||
"details": "Podrobnosti",
|
||||
"direction": "Sm─Ыr",
|
||||
"disabled": "Zak├бz├бno",
|
||||
@@ -762,6 +786,7 @@
|
||||
"documentation": "Dokumentace",
|
||||
"done": "Hotovo",
|
||||
"download": "St├бhnout",
|
||||
"download_action_prompt": "Stahov├бn├н {count} polo┼╛ek",
|
||||
"download_canceled": "Stahov├бn├н zru┼бeno",
|
||||
"download_complete": "Stahov├бn├н kompletn├н",
|
||||
"download_enqueue": "Stahov├бn├н ve front─Ы",
|
||||
@@ -799,6 +824,7 @@
|
||||
"edit_key": "Upravit kl├н─Н",
|
||||
"edit_link": "Upravit odkaz",
|
||||
"edit_location": "Upravit polohu",
|
||||
"edit_location_action_prompt": "{count} upraven├╜ch poloh",
|
||||
"edit_location_dialog_title": "Poloha",
|
||||
"edit_name": "Upravit jm├йno",
|
||||
"edit_people": "Upravit lidi",
|
||||
@@ -817,6 +843,7 @@
|
||||
"empty_trash": "Vypr├бzdnit ko┼б",
|
||||
"empty_trash_confirmation": "Opravdu chcete vysypat ko┼б? T├нm se z Immiche trvale odstran├н v┼бechny polo┼╛ky v ko┼бi.\nTuto akci nelze vr├бtit zp─Ыt!",
|
||||
"enable": "Povolit",
|
||||
"enable_backup": "Povolit z├бlohov├бn├н",
|
||||
"enable_biometric_auth_description": "Zadejte v├б┼б PIN k├│d pro povolen├н biometrick├йho ov─Ы┼Щov├бn├н",
|
||||
"enabled": "Povoleno",
|
||||
"end_date": "Kone─Нn├й datum",
|
||||
@@ -861,7 +888,7 @@
|
||||
"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 seskupit polo┼╛ky",
|
||||
"failed_to_unstack_assets": "Nepoda┼Щilo se rozlo┼╛it polo┼╛ky",
|
||||
"failed_to_unstack_assets": "Nepoda┼Щilo se zru┼бit seskupen├н polo┼╛ek",
|
||||
"failed_to_update_notification_status": "Nepoda┼Щilo se aktualizovat stav ozn├бmen├н",
|
||||
"import_path_already_exists": "Tato cesta importu ji┼╛ existuje.",
|
||||
"incorrect_email_or_password": "Nespr├бvn├╜ e-mail nebo heslo",
|
||||
@@ -876,7 +903,7 @@
|
||||
"unable_to_add_partners": "Nelze p┼Щidat partnery",
|
||||
"unable_to_add_remove_archive": "Nelze {archived, select, true {odstranit polo┼╛ku z} other {p┼Щidat polo┼╛ku do}} archivu",
|
||||
"unable_to_add_remove_favorites": "Nelze {favorite, select, true {obl├нbit polo┼╛ku} other {zru┼бit obl├нben├н polo┼╛ky}}",
|
||||
"unable_to_archive_unarchive": "Nelze {archived, select, true {archivovat} other {odarchivovat}}",
|
||||
"unable_to_archive_unarchive": "Nelze {archived, select, true {archivovat} other {odebrat z archivu}}",
|
||||
"unable_to_change_album_user_role": "Nelze zm─Ыnit roli u┼╛ivatele alba",
|
||||
"unable_to_change_date": "Nelze zm─Ыnit datum",
|
||||
"unable_to_change_description": "Nelze zm─Ыnit popis",
|
||||
@@ -984,6 +1011,7 @@
|
||||
"failed_to_load_assets": "Nepoda┼Щilo se na─Н├нst polo┼╛ky",
|
||||
"failed_to_load_folder": "Nepoda┼Щilo se na─Н├нst slo┼╛ku",
|
||||
"favorite": "Obl├нbit",
|
||||
"favorite_action_prompt": "{count} p┼Щid├бno do Obl├нben├╜ch",
|
||||
"favorite_or_unfavorite_photo": "Obl├нbit nebo zru┼бit obl├нben├н fotky",
|
||||
"favorites": "Obl├нben├й",
|
||||
"favorites_page_no_favorites": "Nebyla nalezena ┼╛├бdn├б obl├нben├б m├йdia",
|
||||
@@ -1127,6 +1155,7 @@
|
||||
"library_page_sort_created": "Naposledy vytvo┼Щen├й",
|
||||
"library_page_sort_last_modified": "Naposledy upraveno",
|
||||
"library_page_sort_title": "Podle n├бzvu alba",
|
||||
"licenses": "Licence",
|
||||
"light": "Sv─Ыtl├╜",
|
||||
"like_deleted": "Lajk smaz├бn",
|
||||
"link_motion_video": "P┼Щipojit pohybliv├й video",
|
||||
@@ -1246,10 +1275,11 @@
|
||||
"more": "V├нce",
|
||||
"move": "P┼Щesunout",
|
||||
"move_off_locked_folder": "P┼Щesunout z uzam─Нen├й slo┼╛ky",
|
||||
"move_to_lock_folder_action_prompt": "{count} p┼Щidan├╜ch do uzam─Нen├й slo┼╛ky",
|
||||
"move_to_locked_folder": "P┼Щesunout do uzam─Нen├й slo┼╛ky",
|
||||
"move_to_locked_folder_confirmation": "Tyto fotky a videa budou odstran─Ыny ze v┼бech alb a bude je mo┼╛n├й zobrazit pouze v uzam─Нen├й slo┼╛ce",
|
||||
"moved_to_archive": "{count, plural, one {P┼Щesunuta # polo┼╛ka} few {P┼Щesunuty # polo┼╛ky} other {P┼Щesunuto # polo┼╛ek}} do archivu",
|
||||
"moved_to_library": "{count, plural, one {P┼Щesunuta # polo┼╛ka} few {P┼Щesunuty # polo┼╛ky} other {P┼Щesunuto # polo┼╛ek}} do knihovny",
|
||||
"moved_to_archive": "{count, plural, one {# polo┼╛ka p┼Щesunuta} few {# polo┼╛ky p┼Щesunuty} other {# polo┼╛ek p┼Щesunuto}} do archivu",
|
||||
"moved_to_library": "{count, plural, one {# polo┼╛ka p┼Щesunuta} few {# polo┼╛ky p┼Щesunuty} other {# polo┼╛ek p┼Щesunuto}} do knihovny",
|
||||
"moved_to_trash": "P┼Щesunuto do ko┼бe",
|
||||
"multiselect_grid_edit_date_time_err_read_only": "Nelze upravit datum polo┼╛ek pouze pro ─Нten├н, p┼Щeskakuji",
|
||||
"multiselect_grid_edit_gps_err_read_only": "Nelze upravit polohu polo┼╛ek pouze pro ─Нten├н, p┼Щeskakuji",
|
||||
@@ -1460,6 +1490,7 @@
|
||||
"purchase_server_description_2": "Stav podporovatele",
|
||||
"purchase_server_title": "Server",
|
||||
"purchase_settings_server_activated": "Produktov├╜ kl├н─Н serveru spravuje spr├бvce",
|
||||
"queue_status": "Ve front─Ы {count}/{total}",
|
||||
"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}}",
|
||||
@@ -1495,7 +1526,9 @@
|
||||
"remove_custom_date_range": "Odstranit vlastn├н rozsah datum┼п",
|
||||
"remove_deleted_assets": "Odstranit offline soubory",
|
||||
"remove_from_album": "Odstranit z alba",
|
||||
"remove_from_album_action_prompt": "{count} odstran─Ыn├╜ch z alba",
|
||||
"remove_from_favorites": "Odstranit z obl├нben├╜ch",
|
||||
"remove_from_lock_folder_action_prompt": "{count} odebran├╜ch z uzam─Нen├й slo┼╛ky",
|
||||
"remove_from_locked_folder": "Odstranit z uzam─Нen├й slo┼╛ky",
|
||||
"remove_from_locked_folder_confirmation": "Opravdu chcete tyto fotky a videa p┼Щesunout z uzam─Нen├й slo┼╛ky? Budou viditeln├й ve va┼б├н knihovn─Ы.",
|
||||
"remove_from_shared_link": "Odstranit ze sd├нlen├йho odkazu",
|
||||
@@ -1667,6 +1700,7 @@
|
||||
"settings_saved": "Nastaven├н ulo┼╛eno",
|
||||
"setup_pin_code": "Nastaven├н PIN k├│du",
|
||||
"share": "Sd├нlet",
|
||||
"share_action_prompt": "Sd├нleno {count} polo┼╛ek",
|
||||
"share_add_photos": "P┼Щidat fotografie",
|
||||
"share_assets_selected": "{count} vybr├бno",
|
||||
"share_dialog_preparing": "P┼Щipravuji...",
|
||||
@@ -1768,6 +1802,7 @@
|
||||
"sort_title": "N├бzev alba",
|
||||
"source": "Zdroj",
|
||||
"stack": "Seskupit",
|
||||
"stack_action_prompt": "{count} seskupeno",
|
||||
"stack_duplicates": "Seskupit duplicity",
|
||||
"stack_select_one_photo": "Vyberte jednu hlavn├н fotografii pro seskupen├н",
|
||||
"stack_selected_photos": "Seskupen├н vybran├╜ch fotografi├н",
|
||||
@@ -1838,6 +1873,7 @@
|
||||
"total": "Celkem",
|
||||
"total_usage": "Celkov├й vyu┼╛it├н",
|
||||
"trash": "Ko┼б",
|
||||
"trash_action_prompt": "{count} p┼Щesunut├╜ch do ko┼бe",
|
||||
"trash_all": "Vyhodit v┼бe",
|
||||
"trash_count": "Vyhodit {count, number}",
|
||||
"trash_delete_asset": "Vyhodit/Smazat polo┼╛ku",
|
||||
@@ -1854,10 +1890,12 @@
|
||||
"type": "Typ",
|
||||
"unable_to_change_pin_code": "Nelze zm─Ыnit PIN k├│d",
|
||||
"unable_to_setup_pin_code": "Nelze nastavit PIN k├│d",
|
||||
"unarchive": "Odarchivovat",
|
||||
"unarchive": "Odebrat z archivu",
|
||||
"unarchive_action_prompt": "{count} odstran─Ыn├╜ch z archivu",
|
||||
"unarchived_count": "{count, plural, one {Odarchivov├бna #} few {Odarchivov├бny #} other {Odarchivov├бno #}}",
|
||||
"undo": "Vr├бtit zp─Ыt",
|
||||
"unfavorite": "Zru┼бit obl├нben├н",
|
||||
"unfavorite_action_prompt": "{count} odstran─Ыn├╜ch z obl├нben├╜ch",
|
||||
"unhide_person": "Zru┼бit skryt├н osoby",
|
||||
"unknown": "Nezn├бm├╜",
|
||||
"unknown_country": "Nezn├бm├б zem─Ы",
|
||||
@@ -1875,12 +1913,15 @@
|
||||
"unselect_all_duplicates": "Zru┼бit v├╜b─Ыr v┼бech duplicit",
|
||||
"unselect_all_in": "Zru┼бit v├╜b─Ыr ve skupin─Ы {group}",
|
||||
"unstack": "Zru┼бit seskupen├н",
|
||||
"unstacked_assets_count": "{count, plural, one {Rozlo┼╛en├б # polo┼╛ka} few {Rozlo┼╛en├й # polo┼╛ky} other {Rozlo┼╛en├╜ch # polo┼╛iek}}",
|
||||
"unstack_action_prompt": "{count} seskupen├╜ch zru┼бeno",
|
||||
"unstacked_assets_count": "{count, plural, one {Rozlo┼╛en├б # polo┼╛ka} few {Rozlo┼╛en├й # polo┼╛ky} other {Rozlo┼╛en├╜ch # polo┼╛ek}}",
|
||||
"untagged": "Neozna─Нeno",
|
||||
"up_next": "To je prozat├нm v┼бe",
|
||||
"updated_at": "Aktualizov├бno",
|
||||
"updated_password": "Heslo aktualizov├бno",
|
||||
"upload": "Nahr├бt",
|
||||
"upload_concurrency": "Soub─Ы┼╛nost nahr├бv├бn├н",
|
||||
"upload_details": "Detaily nahr├бv├бn├н",
|
||||
"upload_dialog_info": "Chcete z├бlohovat vybran├й polo┼╛ky na server?",
|
||||
"upload_dialog_title": "Nahr├бt polo┼╛ku",
|
||||
"upload_errors": "Nahr├бv├бn├н bylo dokon─Нeno s {count, plural, one {# chybou} other {# chybami}}, obnovte str├бnku pro zobrazen├н nov├╜ch polo┼╛ek.",
|
||||
@@ -1912,6 +1953,7 @@
|
||||
"user_usage_stats_description": "Zobrazit statistiky pou┼╛├нv├бn├н ├║─Нtu",
|
||||
"username": "U┼╛ivatelesk├й jm├йno",
|
||||
"users": "U┼╛ivatel├й",
|
||||
"users_added_to_album_count": "{count, plural, one {P┼Щid├бn # u┼╛ivatel} few {P┼Щid├бny # u┼╛ivatel├й} other {P┼Щid├бno # u┼╛ivatel┼п}} do alba",
|
||||
"utilities": "N├бstroje",
|
||||
"validate": "Ov─Ы┼Щit",
|
||||
"validate_endpoint_error": "Zadejte platn├й URL",
|
||||
@@ -1930,6 +1972,7 @@
|
||||
"view_album": "Zobrazit album",
|
||||
"view_all": "Zobrazit v┼бe",
|
||||
"view_all_users": "Zobrazit v┼бechny u┼╛ivatele",
|
||||
"view_details": "Zobrazit podrobnosti",
|
||||
"view_in_timeline": "Zobrazit na ─Нasov├й ose",
|
||||
"view_link": "Zobrazit odkaz",
|
||||
"view_links": "Zobrazit odkazy",
|
||||
@@ -1941,7 +1984,7 @@
|
||||
"view_user": "Zobrazit u┼╛ivatele",
|
||||
"viewer_remove_from_stack": "Odstranit ze z├бsobn├нku",
|
||||
"viewer_stack_use_as_main_asset": "Pou┼╛├нt jako hlavn├н polo┼╛ku",
|
||||
"viewer_unstack": "Rozbalit z├бsobn├нk",
|
||||
"viewer_unstack": "Zru┼бit z├бsobn├нk",
|
||||
"visibility_changed": "Viditelnost zm─Ыn─Ыna u {count, plural, one {# osoby} few {# osob} other {# lid├н}}",
|
||||
"waiting": "─Мekaj├нc├н",
|
||||
"warning": "Upozorn─Ыn├н",
|
||||
|
||||
+2
-2
@@ -34,6 +34,7 @@
|
||||
"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/**\".",
|
||||
"admin_user": "Administrator bruger",
|
||||
"asset_offline_description": "Denne eksterne biblioteksressource findes ikke l├жngere p├е disken og er blevet flyttet til papirkurven. Hvis filen blev flyttet inde i biblioteket, skal du tjekke din tidslinje for den nye tilsvarende ressource. For at gendanne denne ressource skal du sikre, at filstien nedenfor kan tilg├еs af Immich og scanne biblioteket.",
|
||||
"authentication_settings": "Godkendelsesindstillinger",
|
||||
"authentication_settings_description": "Administrer adgangskode, OAuth og andre godkendelsesindstillinger",
|
||||
@@ -165,6 +166,7 @@
|
||||
"metadata_settings_description": "H├еndt├йr metadataindstillinger",
|
||||
"migration_job": "Migrering",
|
||||
"migration_job_description": "Migr├йr miniaturebilleder for aktiver og ansigter til den seneste mappestruktur",
|
||||
"nightly_tasks_cluster_faces_setting_description": "K├╕r ansigtsgenkendelse p├е nye ansigter",
|
||||
"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 mediefiler, k├╕r",
|
||||
@@ -462,7 +464,6 @@
|
||||
"assets": "elementer",
|
||||
"assets_added_count": "Tilf├╕jet {count, plural, one {# mediefil} other {# mediefiler}}",
|
||||
"assets_added_to_album_count": "{count, plural, one {# mediefil} other {# mediefiler}} tilf├╕jet til albummet",
|
||||
"assets_added_to_name_count": "Tilf├╕jet {count, plural, one {# mediefil} other {# mediefiler}} til {hasName, select, true {<b>{name}</b>} other {nyt album}}",
|
||||
"assets_cannot_be_added_to_album_count": "{count, plural, one {Billed} other {Billeder}} kan ikke blive tilf├╕jet til album",
|
||||
"assets_count": "{count, plural, one {# mediefil} other {# mediefiler}}",
|
||||
"assets_deleted_permanently": "{count} element(er) blev fjernet permanent",
|
||||
@@ -701,7 +702,6 @@
|
||||
"daily_title_text_date": "E, dd MMM",
|
||||
"daily_title_text_date_year": "E, dd MMM, yyyy",
|
||||
"dark": "M├╕rk",
|
||||
"darkTheme": "Skift til m├╕rkt tema",
|
||||
"date_after": "Dato efter",
|
||||
"date_and_time": "Dato og klokkesl├жt",
|
||||
"date_before": "Dato f├╕r",
|
||||
|
||||
+49
-5
@@ -56,9 +56,9 @@
|
||||
"confirm_user_pin_code_reset": "Bist du sicher, dass du den PIN Code von {user} zur├╝cksetzen m├╢chtest?",
|
||||
"create_job": "Aufgabe erstellen",
|
||||
"cron_expression": "Cron Zeitangabe",
|
||||
"cron_expression_description": "Setze ein Intervall f├╝r die Sicherung mittels cron. Hilfe mit dem Format bietet dir dabei z.B der <link>Crontab Guru</link>",
|
||||
"cron_expression_description": "Setze ein Intervall f├╝r die Sicherung mittels cron. Hilfe mit dem Format bietet dir dabei z. B. der <link>Crontab Guru</link>",
|
||||
"cron_expression_presets": "N├╝tzliche Zeitangaben f├╝r Cron",
|
||||
"disable_login": "Login deaktvieren",
|
||||
"disable_login": "Login deaktivieren",
|
||||
"duplicate_detection_job_description": "Diese Aufgabe f├╝hrt das maschinelle Lernen f├╝r jede Datei aus, um Duplikate zu finden. Diese Aufgabe beruht auf der intelligenten Suche",
|
||||
"exclusion_pattern_description": "Mit Ausschlussmustern k├╢nnen Dateien und Ordner beim Scannen Ihrer Bibliothek ignoriert werden. Dies ist n├╝tzlich, wenn du Ordner hast, die Dateien enthalten, die du nicht importieren m├╢chtest, wie z. B. RAW-Dateien.",
|
||||
"external_library_management": "Verwaltung externer Bibliotheken",
|
||||
@@ -166,6 +166,20 @@
|
||||
"metadata_settings_description": "Metadaten-Einstellungen verwalten",
|
||||
"migration_job": "Migration",
|
||||
"migration_job_description": "Diese Aufgabe migriert Miniaturansichten f├╝r Dateien und Gesichter in die neueste Ordnerstruktur",
|
||||
"nightly_tasks_cluster_faces_setting_description": "Gesichtsidentifikation auf neu erkannten Gesichtern ausf├╝hren",
|
||||
"nightly_tasks_cluster_new_faces_setting": "Neue Gesichter gruppieren",
|
||||
"nightly_tasks_database_cleanup_setting": "Datenbankbereinigungs-Aufgaben",
|
||||
"nightly_tasks_database_cleanup_setting_description": "Alte, abgelaufene Daten aus der Datenbank bereinigen",
|
||||
"nightly_tasks_generate_memories_setting": "Erinnerungen generieren",
|
||||
"nightly_tasks_generate_memories_setting_description": "Neue Erinnerungen aus Dateien erstellen",
|
||||
"nightly_tasks_missing_thumbnails_setting": "Fehlende Miniaturansichten generieren",
|
||||
"nightly_tasks_missing_thumbnails_setting_description": "Dateien ohne Miniaturansicht in die Warteschlange zur Miniaturansicht-Generierung hinzuf├╝gen",
|
||||
"nightly_tasks_settings": "Einstellungen f├╝r n├дchtliche Aufgaben",
|
||||
"nightly_tasks_settings_description": "N├дchtliche Aufgaben verwalten",
|
||||
"nightly_tasks_start_time_setting": "Startzeit",
|
||||
"nightly_tasks_start_time_setting_description": "Die Zeit, zu der der Server mit der Ausf├╝hrung der n├дchtlichen Aufgaben beginnt",
|
||||
"nightly_tasks_sync_quota_usage_setting": "Kontingentnutzung synchronisieren",
|
||||
"nightly_tasks_sync_quota_usage_setting_description": "Benutzerspeicherkontingent basierend auf der aktuellen Nutzung aktualisieren",
|
||||
"no_paths_added": "Keine Pfade hinzugef├╝gt",
|
||||
"no_pattern_added": "Kein Ausschlussmuster hinzugef├╝gt",
|
||||
"note_apply_storage_label_previous_assets": "Hinweis: Um den Speicherpfad auf die vorher hochgeladenen Dateien anzuwenden, starte den",
|
||||
@@ -196,6 +210,8 @@
|
||||
"oauth_mobile_redirect_uri": "Mobile Umleitungs-URI",
|
||||
"oauth_mobile_redirect_uri_override": "Mobile Umleitungs-URI ├╝berschreiben",
|
||||
"oauth_mobile_redirect_uri_override_description": "Einschalten, wenn der OAuth-Anbieter keine mobile URI wie ''{callback}'' erlaubt",
|
||||
"oauth_role_claim": "Rollen-Claim",
|
||||
"oauth_role_claim_description": "Gew├дhre automatisch Admin-Zugriff basierend auf dem Vorhandensein dieses Claims. Der Claim kann entweder 'user' oder 'admin' sein.",
|
||||
"oauth_settings": "OAuth",
|
||||
"oauth_settings_description": "OAuth-Anmeldeeinstellungen verwalten",
|
||||
"oauth_settings_more_details": "Weitere Informationen zu dieser Funktion findest du in der <link>Dokumentation</link>.",
|
||||
@@ -244,6 +260,7 @@
|
||||
"storage_template_migration_info": "Die Speichervorlage wird alle Dateierweiterungen in Kleinbuchstaben umwandeln. Vorlagen├дnderungen gelten nur f├╝r neue Dateien. Um die Vorlage r├╝ckwirkend auf bereits hochgeladene Assets anzuwenden, f├╝hre den <link>{job}</link> aus.",
|
||||
"storage_template_migration_job": "Speichervorlagenmigrations-Aufgabe",
|
||||
"storage_template_more_details": "Weitere Details zu dieser Funktion findest du unter <template-link>Speichervorlage</template-link> und dessen <implications-link>Implikationen</implications-link>",
|
||||
"storage_template_onboarding_description_v2": "Wenn aktiviert, werden Dateien automatisch nach einer benutzerdefinierten Vorlage organisiert. F├╝r mehr Informationen siehe die <link>Dokumentation</link>.",
|
||||
"storage_template_path_length": "Ungef├дhres Pfadl├дngen-Limit: <b>{length, number}</b>/{limit, number}",
|
||||
"storage_template_settings": "Speichervorlage",
|
||||
"storage_template_settings_description": "Die Ordnerstruktur und den Dateinamen der hochgeladenen Datei verwalten",
|
||||
@@ -356,10 +373,12 @@
|
||||
"admin_password": "Administrator Passwort",
|
||||
"administration": "Verwaltung",
|
||||
"advanced": "Erweitert",
|
||||
"advanced_settings_beta_timeline_subtitle": "Probier die neue App-Erfahrung aus",
|
||||
"advanced_settings_beta_timeline_title": "Beta-Timeline",
|
||||
"advanced_settings_enable_alternate_media_filter_subtitle": "Verwende diese Option, um Medien w├дhrend der Synchronisierung nach anderen Kriterien zu filtern. Versuchen dies nur, wenn Probleme mit der Erkennung aller Alben durch die App auftreten.",
|
||||
"advanced_settings_enable_alternate_media_filter_title": "[EXPERIMENTELL] Benutze alternativen Filter f├╝r Synchronisierung der Ger├дtealben",
|
||||
"advanced_settings_log_level_title": "Log-Level: {level}",
|
||||
"advanced_settings_prefer_remote_subtitle": "Einige Ger├дte sind sehr langsam beim Laden von Miniaturbildern direkt aus dem Ger├дt. Aktivieren Sie diese Einstellung, um stattdessen die Server-Bilder zu laden.",
|
||||
"advanced_settings_prefer_remote_subtitle": "Einige Ger├дte sind sehr langsam beim Laden von lokalen Vorschaubildern. Aktivieren Sie diese Einstellung, um stattdessen die Server-Bilder zu laden.",
|
||||
"advanced_settings_prefer_remote_title": "Server-Bilder bevorzugen",
|
||||
"advanced_settings_proxy_headers_subtitle": "Definiere einen Proxy-Header, den Immich bei jeder Netzwerkanfrage mitschicken soll",
|
||||
"advanced_settings_proxy_headers_title": "Proxy-Headers",
|
||||
@@ -387,6 +406,7 @@
|
||||
"album_options": "Albumoptionen",
|
||||
"album_remove_user": "Nutzer entfernen?",
|
||||
"album_remove_user_confirmation": "Bist du sicher, dass du {user} entfernen willst?",
|
||||
"album_search_not_found": "Keine Alben gefunden, die zur Suche passen",
|
||||
"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.",
|
||||
"album_updated": "Album aktualisiert",
|
||||
"album_updated_setting_description": "Erhalte eine E-Mail-Benachrichtigung, wenn ein freigegebenes Album neue Dateien enth├дlt",
|
||||
@@ -406,6 +426,7 @@
|
||||
"albums_default_sort_order": "Standard Album Sortierung",
|
||||
"albums_default_sort_order_description": "Sortierreihenfolge der Dateien bei der Erstellung neuer Alben.",
|
||||
"albums_feature_description": "Sammlung an Alben die mit anderen Benutzern geteilt werden k├╢nnen.",
|
||||
"albums_on_device_count": "Alben auf dem Ger├дt ({count})",
|
||||
"all": "Alle",
|
||||
"all_albums": "Alle Alben",
|
||||
"all_people": "Alle Personen",
|
||||
@@ -426,6 +447,7 @@
|
||||
"app_settings": "App-Einstellungen",
|
||||
"appears_in": "Erscheint in",
|
||||
"archive": "Archiv",
|
||||
"archive_action_prompt": "{count} zum Archiv hinzugef├╝gt",
|
||||
"archive_or_unarchive_photo": "Foto archivieren bzw. Archivierung aufheben",
|
||||
"archive_page_no_archived_assets": "Keine archivierten Inhalte gefunden",
|
||||
"archive_page_title": "Archiv ({count})",
|
||||
@@ -463,7 +485,6 @@
|
||||
"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 {<b>{name}</b>} other {neuem Album}} hinzugef├╝gt",
|
||||
"assets_cannot_be_added_to_album_count": "{count, plural, one {Datei kann}other {Dateien k├╢nnen}} nicht zum Album hinzugef├╝gt werden",
|
||||
"assets_count": "{count, plural, one {# Datei} other {# Dateien}}",
|
||||
"assets_deleted_permanently": "{count} Element(e) permanent gel├╢scht",
|
||||
@@ -586,6 +607,7 @@
|
||||
"cancel": "Abbrechen",
|
||||
"cancel_search": "Suche abbrechen",
|
||||
"canceled": "Abgebrochen",
|
||||
"canceling": "Abbrechen",
|
||||
"cannot_merge_people": "Personen k├╢nnen nicht zusammengef├╝hrt werden",
|
||||
"cannot_undo_this_action": "Diese Aktion kann nicht r├╝ckg├дngig gemacht werden!",
|
||||
"cannot_update_the_description": "Beschreibung kann nicht aktualisiert werden",
|
||||
@@ -702,7 +724,7 @@
|
||||
"daily_title_text_date": "E, dd MMM",
|
||||
"daily_title_text_date_year": "E, dd MMM, yyyy",
|
||||
"dark": "Dunkel",
|
||||
"darkTheme": "Dunkles Theme umschalten",
|
||||
"dark_theme": "Dunkle Ansicht umschalten",
|
||||
"date_after": "Datum nach",
|
||||
"date_and_time": "Datum und Zeit",
|
||||
"date_before": "Datum vor",
|
||||
@@ -718,6 +740,7 @@
|
||||
"default_locale": "Standard-Sprache",
|
||||
"default_locale_description": "Datumsangaben und Zahlen basierend auf dem Gebietsschema des Browsers formatieren",
|
||||
"delete": "L├╢schen",
|
||||
"delete_action_prompt": "{count} endg├╝ltig gel├╢scht",
|
||||
"delete_album": "Album l├╢schen",
|
||||
"delete_api_key_prompt": "Bist du sicher, dass du diesen API-Schl├╝ssel l├╢schen willst?",
|
||||
"delete_dialog_alert": "Diese Elemente werden unwiderruflich von Immich und dem Ger├дt entfernt",
|
||||
@@ -731,6 +754,7 @@
|
||||
"delete_key": "Schl├╝ssel l├╢schen",
|
||||
"delete_library": "Bibliothek l├╢schen",
|
||||
"delete_link": "Link l├╢schen",
|
||||
"delete_local_action_prompt": "{count} lokal gel├╢scht",
|
||||
"delete_local_dialog_ok_backed_up_only": "Nur gesicherte Inhalte l├╢schen",
|
||||
"delete_local_dialog_ok_force": "Trotzdem l├╢schen",
|
||||
"delete_others": "Andere l├╢schen",
|
||||
@@ -744,6 +768,7 @@
|
||||
"description": "Beschreibung",
|
||||
"description_input_hint_text": "Beschreibung hinzuf├╝gen...",
|
||||
"description_input_submit_error": "Beschreibung konnte nicht ge├дndert werden, bitte im Log f├╝r mehr Details nachsehen",
|
||||
"deselect_all": "Alle abw├дhlen",
|
||||
"details": "Details",
|
||||
"direction": "Richtung",
|
||||
"disabled": "Deaktiviert",
|
||||
@@ -761,6 +786,7 @@
|
||||
"documentation": "Dokumentation",
|
||||
"done": "Fertig",
|
||||
"download": "Herunterladen",
|
||||
"download_action_prompt": "Herunterladen von {count} Dateien",
|
||||
"download_canceled": "Download abgebrochen",
|
||||
"download_complete": "Download vollst├дndig",
|
||||
"download_enqueue": "Download in die Warteschlange gesetzt",
|
||||
@@ -798,6 +824,7 @@
|
||||
"edit_key": "Schl├╝ssel bearbeiten",
|
||||
"edit_link": "Link bearbeiten",
|
||||
"edit_location": "Standort bearbeiten",
|
||||
"edit_location_action_prompt": "{count} Geolokationen angepasst",
|
||||
"edit_location_dialog_title": "Ort bearbeiten",
|
||||
"edit_name": "Name bearbeiten",
|
||||
"edit_people": "Personen bearbeiten",
|
||||
@@ -816,6 +843,7 @@
|
||||
"empty_trash": "Papierkorb leeren",
|
||||
"empty_trash_confirmation": "Bist du sicher, dass du den Papierkorb leeren willst?\nDies entfernt alle Dateien im Papierkorb endg├╝ltig aus Immich und kann nicht r├╝ckg├дngig gemacht werden!",
|
||||
"enable": "Aktivieren",
|
||||
"enable_backup": "Sicherung aktivieren",
|
||||
"enable_biometric_auth_description": "Gib deinen PIN Code ein, um die biometrische Authentifizierung zu aktivieren",
|
||||
"enabled": "Aktiviert",
|
||||
"end_date": "Enddatum",
|
||||
@@ -983,6 +1011,7 @@
|
||||
"failed_to_load_assets": "Laden der Assets fehlgeschlagen",
|
||||
"failed_to_load_folder": "Fehler beim Laden des Ordners",
|
||||
"favorite": "Favorit",
|
||||
"favorite_action_prompt": "{count} zu den Favoriten hinzugef├╝gt",
|
||||
"favorite_or_unfavorite_photo": "Favorisiertes oder nicht favorisiertes Foto",
|
||||
"favorites": "Favoriten",
|
||||
"favorites_page_no_favorites": "Keine favorisierten Inhalte gefunden",
|
||||
@@ -1126,6 +1155,7 @@
|
||||
"library_page_sort_created": "Zuletzt erstellt",
|
||||
"library_page_sort_last_modified": "Zuletzt bearbeitet",
|
||||
"library_page_sort_title": "Titel des Albums",
|
||||
"licenses": "Lizenzen",
|
||||
"light": "Hell",
|
||||
"like_deleted": "Like gel├╢scht",
|
||||
"link_motion_video": "Bewegungsvideo verkn├╝pfen",
|
||||
@@ -1245,6 +1275,7 @@
|
||||
"more": "Mehr",
|
||||
"move": "Verschieben",
|
||||
"move_off_locked_folder": "Aus dem gesperrten Ordner verschieben",
|
||||
"move_to_lock_folder_action_prompt": "{count} zum gesperrten Ordner hinzugef├╝gt",
|
||||
"move_to_locked_folder": "In den gesperrten Ordner verschieben",
|
||||
"move_to_locked_folder_confirmation": "Diese Fotos und Videos werden aus allen Alben entfernt und k├╢nnen nur noch im gesperrten Ordner angezeigt werden",
|
||||
"moved_to_archive": "{count, plural, one {# Datei} other {# Dateien}} archiviert",
|
||||
@@ -1459,6 +1490,7 @@
|
||||
"purchase_server_description_2": "Unterst├╝tzerstatus",
|
||||
"purchase_server_title": "Server",
|
||||
"purchase_settings_server_activated": "Der Server-Produktschl├╝ssel wird durch den Administrator verwaltet",
|
||||
"queue_status": "Warteschlange {count}/{total}",
|
||||
"rating": "Bewertung",
|
||||
"rating_clear": "Bewertung l├╢schen",
|
||||
"rating_count": "{count, plural, one {# Stern} other {# Sterne}}",
|
||||
@@ -1494,7 +1526,9 @@
|
||||
"remove_custom_date_range": "Benutzerdefinierten Datumsbereich entfernen",
|
||||
"remove_deleted_assets": "Offline-Dateien entfernen",
|
||||
"remove_from_album": "Aus Album entfernen",
|
||||
"remove_from_album_action_prompt": "{count} vom Album entfernt",
|
||||
"remove_from_favorites": "Aus Favoriten entfernen",
|
||||
"remove_from_lock_folder_action_prompt": "{count} aus dem gesperrten Ordner entfernt",
|
||||
"remove_from_locked_folder": "Aus gesperrtem Ordner entfernen",
|
||||
"remove_from_locked_folder_confirmation": "Bist du sicher, dass du diese Fotos und Videos aus dem gesperrten Ordner entfernen m├╢chtest? Sie werden wieder in deiner Bibliothek sichtbar sein.",
|
||||
"remove_from_shared_link": "Aus geteiltem Link entfernen",
|
||||
@@ -1666,6 +1700,7 @@
|
||||
"settings_saved": "Einstellungen gespeichert",
|
||||
"setup_pin_code": "Einen PIN Code festlegen",
|
||||
"share": "Teilen",
|
||||
"share_action_prompt": "{count} Dateien geteilt",
|
||||
"share_add_photos": "Fotos hinzuf├╝gen",
|
||||
"share_assets_selected": "{count} ausgew├дhlt",
|
||||
"share_dialog_preparing": "Vorbereiten...",
|
||||
@@ -1767,6 +1802,7 @@
|
||||
"sort_title": "Titel",
|
||||
"source": "Quellcode",
|
||||
"stack": "Stapel",
|
||||
"stack_action_prompt": "{count} gestapelt",
|
||||
"stack_duplicates": "Duplikate stapeln",
|
||||
"stack_select_one_photo": "Hauptfoto f├╝r den Stapel ausw├дhlen",
|
||||
"stack_selected_photos": "Ausgew├дhlte Fotos stapeln",
|
||||
@@ -1837,6 +1873,7 @@
|
||||
"total": "Gesamt",
|
||||
"total_usage": "Gesamtnutzung",
|
||||
"trash": "Papierkorb",
|
||||
"trash_action_prompt": "{count} in den Papierkorb verschoben",
|
||||
"trash_all": "Alle l├╢schen",
|
||||
"trash_count": "Papierkorb {count, number}",
|
||||
"trash_delete_asset": "Datei l├╢schen/in den Papierkorb verschieben",
|
||||
@@ -1854,9 +1891,11 @@
|
||||
"unable_to_change_pin_code": "PIN Code konnte nicht ge├дndert werden",
|
||||
"unable_to_setup_pin_code": "PIN Code konnte nicht festgelegt werden",
|
||||
"unarchive": "Entarchivieren",
|
||||
"unarchive_action_prompt": "{count} aus dem Archiv entfernt",
|
||||
"unarchived_count": "{count, plural, other {# entarchiviert}}",
|
||||
"undo": "R├╝ckg├дngig",
|
||||
"unfavorite": "Entfavorisieren",
|
||||
"unfavorite_action_prompt": "{count} aus den Favoriten entfernt",
|
||||
"unhide_person": "Person einblenden",
|
||||
"unknown": "Unbekannt",
|
||||
"unknown_country": "Unbekanntes Land",
|
||||
@@ -1874,12 +1913,15 @@
|
||||
"unselect_all_duplicates": "Alle Duplikate abw├дhlen",
|
||||
"unselect_all_in": "Alle in {group} abw├дhlen",
|
||||
"unstack": "Entstapeln",
|
||||
"unstack_action_prompt": "{count} entstapelt",
|
||||
"unstacked_assets_count": "{count, plural, one {# Datei} other {# Dateien}} entstapelt",
|
||||
"untagged": "Ohne Tag",
|
||||
"up_next": "Weiter",
|
||||
"updated_at": "Aktualisiert",
|
||||
"updated_password": "Passwort aktualisiert",
|
||||
"upload": "Hochladen",
|
||||
"upload_concurrency": "Parallelit├дt beim Hochladen",
|
||||
"upload_details": "Upload Details",
|
||||
"upload_dialog_info": "Willst du die ausgew├дhlten Elemente auf dem Server sichern?",
|
||||
"upload_dialog_title": "Element hochladen",
|
||||
"upload_errors": "Hochladen mit {count, plural, one {# Fehler} other {# Fehlern}} abgeschlossen, aktualisiere die Seite, um neu hochgeladene Dateien zu sehen.",
|
||||
@@ -1911,6 +1953,7 @@
|
||||
"user_usage_stats_description": "Statistiken zur Kontonutzung anzeigen",
|
||||
"username": "Nutzername",
|
||||
"users": "Benutzer",
|
||||
"users_added_to_album_count": "{count, plural, one {# Benutzer} other {# Benutzer}} zum Album hinzugef├╝gt",
|
||||
"utilities": "Hilfsmittel",
|
||||
"validate": "Validieren",
|
||||
"validate_endpoint_error": "Bitte gib eine g├╝ltige URL ein",
|
||||
@@ -1929,6 +1972,7 @@
|
||||
"view_album": "Album anzeigen",
|
||||
"view_all": "Alles anzeigen",
|
||||
"view_all_users": "Alle Nutzer anzeigen",
|
||||
"view_details": "Details ansehen",
|
||||
"view_in_timeline": "In Zeitleiste anzeigen",
|
||||
"view_link": "Link anzeigen",
|
||||
"view_links": "Links anzeigen",
|
||||
|
||||
@@ -464,7 +464,6 @@
|
||||
"assets": "╬С╬╜╧Д╬╣╬║╬╡╬п╬╝╬╡╬╜╬▒",
|
||||
"assets_added_count": "╬а╧Б╬┐╧Г╧Д╬н╬╕╬╖╬║╬╡ {count, plural, one {# ╬▒╧Б╧З╬╡╬п╬┐} other {# ╬▒╧Б╧З╬╡╬п╬▒}}",
|
||||
"assets_added_to_album_count": "╬а╧Б╬┐╧Г╧Д╬н╬╕╬╖╬║╬╡ {count, plural, one {# ╬▒╧Б╧З╬╡╬п╬┐} other {# ╬▒╧Б╧З╬╡╬п╬▒}} ╧Г╧Д╬┐ ╬м╬╗╬╝╧А╬┐╧Е╬╝",
|
||||
"assets_added_to_name_count": "╬а╧Б╬┐╧Г╧Д╬н╬╕╬╖╬║╬╡ {count, plural, one {# ╬▒╧Б╧З╬╡╬п╬┐} other {# ╬▒╧Б╧З╬╡╬п╬▒}} ╧Г╧Д╬┐ {hasName, select, true {<b>{name}</b>} other {╬╜╬н╬┐ ╬м╬╗╬╝╧А╬┐╧Е╬╝}}",
|
||||
"assets_cannot_be_added_to_album_count": "{count, plural, one {╬г╧Д╬┐╬╣╧З╬╡╬п╬┐} other {╬г╧Д╬┐╬╣╧З╬╡╬п╬▒}} ╬┤╬╡╬╜ ╬╝╧А╬┐╧Б╬┐╧Н╬╜ ╬╜╬▒ ╧А╧Б╬┐╧Г╧Д╬╡╬╕╬┐╧Н╬╜ ╧Г╧Д╬┐ ╬м╬╗╬╝╧А╬┐╧Е╬╝",
|
||||
"assets_count": "{count, plural, one {# ╬▒╧Б╧З╬╡╬п╬┐} other {# ╬▒╧Б╧З╬╡╬п╬▒}}",
|
||||
"assets_deleted_permanently": "{count} ╧Д╬▒ ╧Г╧Д╬┐╬╣╧З╬╡╬п╬▒ ╬┤╬╣╬▒╬│╧Б╬м╧Ж╬╖╬║╬▒╬╜ ╬┐╧Б╬╣╧Г╧Д╬╣╬║╬м",
|
||||
@@ -703,7 +702,6 @@
|
||||
"daily_title_text_date": "╬Х, MMM dd",
|
||||
"daily_title_text_date_year": "╬Х, MMM dd, yyyy",
|
||||
"dark": "╬г╬║╬┐╧Н╧Б╬┐",
|
||||
"darkTheme": "╬Х╬╜╬▒╬╗╬╗╬▒╬│╬о ╧Г╬║╬┐╧Н╧Б╬┐╧Е ╬╕╬н╬╝╬▒╧Д╬┐╧В",
|
||||
"date_after": "╬Ч╬╝╬╡╧Б╬┐╬╝╬╖╬╜╬п╬▒ ╬╝╬╡╧Д╬м",
|
||||
"date_and_time": "╬Ч╬╝╬╡╧Б╬┐╬╝╬╖╬╜╬п╬▒ ╬║╬▒╬╣ ╧О╧Б╬▒",
|
||||
"date_before": "╬Ч╬╝╬╡╧Б╬┐╬╝╬╖╬╜╬п╬▒ ╧А╧Б╬╣╬╜",
|
||||
|
||||
+66
-2
@@ -166,6 +166,20 @@
|
||||
"metadata_settings_description": "Manage metadata settings",
|
||||
"migration_job": "Migration",
|
||||
"migration_job_description": "Migrate thumbnails for assets and faces to the latest folder structure",
|
||||
"nightly_tasks_cluster_faces_setting_description": "Run facial recognition on newly detected faces",
|
||||
"nightly_tasks_cluster_new_faces_setting": "Cluster new faces",
|
||||
"nightly_tasks_database_cleanup_setting": "Database cleanup tasks",
|
||||
"nightly_tasks_database_cleanup_setting_description": "Clean up old, expired data from the database",
|
||||
"nightly_tasks_generate_memories_setting": "Generate memories",
|
||||
"nightly_tasks_generate_memories_setting_description": "Create new memories from assets",
|
||||
"nightly_tasks_missing_thumbnails_setting": "Generate missing thumbnails",
|
||||
"nightly_tasks_missing_thumbnails_setting_description": "Queue assets without thumbnails for thumbnail generation",
|
||||
"nightly_tasks_settings": "Nightly Tasks Settings",
|
||||
"nightly_tasks_settings_description": "Manage nightly tasks",
|
||||
"nightly_tasks_start_time_setting": "Start time",
|
||||
"nightly_tasks_start_time_setting_description": "The time at which the server starts running the nightly tasks",
|
||||
"nightly_tasks_sync_quota_usage_setting": "Sync quota usage",
|
||||
"nightly_tasks_sync_quota_usage_setting_description": "Update user storage quota, based on current usage",
|
||||
"no_paths_added": "No paths added",
|
||||
"no_pattern_added": "No pattern added",
|
||||
"note_apply_storage_label_previous_assets": "Note: To apply the Storage Label to previously uploaded assets, run the",
|
||||
@@ -196,6 +210,8 @@
|
||||
"oauth_mobile_redirect_uri": "Mobile redirect URI",
|
||||
"oauth_mobile_redirect_uri_override": "Mobile redirect URI override",
|
||||
"oauth_mobile_redirect_uri_override_description": "Enable when OAuth provider does not allow a mobile URI, like ''{callback}''",
|
||||
"oauth_role_claim": "Role Claim",
|
||||
"oauth_role_claim_description": "Automatically grant admin access based on the presence of this claim. The claim may have either 'user' or 'admin'.",
|
||||
"oauth_settings": "OAuth",
|
||||
"oauth_settings_description": "Manage OAuth login settings",
|
||||
"oauth_settings_more_details": "For more details about this feature, refer to the <link>docs</link>.",
|
||||
@@ -357,10 +373,12 @@
|
||||
"admin_password": "Admin Password",
|
||||
"administration": "Administration",
|
||||
"advanced": "Advanced",
|
||||
"advanced_settings_beta_timeline_subtitle": "Try the new app experience",
|
||||
"advanced_settings_beta_timeline_title": "Beta Timeline",
|
||||
"advanced_settings_enable_alternate_media_filter_subtitle": "Use this option to filter media during sync based on alternate criteria. Only try this if you have issues with the app detecting all albums.",
|
||||
"advanced_settings_enable_alternate_media_filter_title": "[EXPERIMENTAL] Use alternate device album sync filter",
|
||||
"advanced_settings_log_level_title": "Log level: {level}",
|
||||
"advanced_settings_prefer_remote_subtitle": "Some devices are painfully slow to load thumbnails from assets on the device. Activate this setting to load remote images instead.",
|
||||
"advanced_settings_prefer_remote_subtitle": "Some devices are painfully slow to load thumbnails from local assets. Activate this setting to load remote images instead.",
|
||||
"advanced_settings_prefer_remote_title": "Prefer remote images",
|
||||
"advanced_settings_proxy_headers_subtitle": "Define proxy headers Immich should send with each network request",
|
||||
"advanced_settings_proxy_headers_title": "Proxy Headers",
|
||||
@@ -388,6 +406,7 @@
|
||||
"album_options": "Album options",
|
||||
"album_remove_user": "Remove user?",
|
||||
"album_remove_user_confirmation": "Are you sure you want to remove {user}?",
|
||||
"album_search_not_found": "No albums found matching your search",
|
||||
"album_share_no_users": "Looks like you have shared this album with all users or you don't have any user to share with.",
|
||||
"album_updated": "Album updated",
|
||||
"album_updated_setting_description": "Receive an email notification when a shared album has new assets",
|
||||
@@ -407,6 +426,7 @@
|
||||
"albums_default_sort_order": "Default album sort order",
|
||||
"albums_default_sort_order_description": "Initial asset sort order when creating new albums.",
|
||||
"albums_feature_description": "Collections of assets that can be shared with other users.",
|
||||
"albums_on_device_count": "Albums on device ({count})",
|
||||
"all": "All",
|
||||
"all_albums": "All albums",
|
||||
"all_people": "All people",
|
||||
@@ -427,6 +447,7 @@
|
||||
"app_settings": "App Settings",
|
||||
"appears_in": "Appears in",
|
||||
"archive": "Archive",
|
||||
"archive_action_prompt": "{count} added to Archive",
|
||||
"archive_or_unarchive_photo": "Archive or unarchive photo",
|
||||
"archive_page_no_archived_assets": "No archived assets found",
|
||||
"archive_page_title": "Archive ({count})",
|
||||
@@ -552,6 +573,8 @@
|
||||
"backup_options_page_title": "Backup options",
|
||||
"backup_setting_subtitle": "Manage background and foreground upload settings",
|
||||
"backward": "Backward",
|
||||
"beta_sync": "Beta Sync Status",
|
||||
"beta_sync_subtitle": "Manage the new sync system",
|
||||
"biometric_auth_enabled": "Biometric authentication enabled",
|
||||
"biometric_locked_out": "You are locked out of biometric authentication",
|
||||
"biometric_no_options": "No biometric options available",
|
||||
@@ -586,6 +609,7 @@
|
||||
"cancel": "Cancel",
|
||||
"cancel_search": "Cancel search",
|
||||
"canceled": "Canceled",
|
||||
"canceling": "Canceling",
|
||||
"cannot_merge_people": "Cannot merge people",
|
||||
"cannot_undo_this_action": "You cannot undo this action!",
|
||||
"cannot_update_the_description": "Cannot update the description",
|
||||
@@ -702,7 +726,7 @@
|
||||
"daily_title_text_date": "E, MMM dd",
|
||||
"daily_title_text_date_year": "E, MMM dd, yyyy",
|
||||
"dark": "Dark",
|
||||
"darkTheme": "Toggle dark theme",
|
||||
"dark_theme": "Toggle dark theme",
|
||||
"date_after": "Date after",
|
||||
"date_and_time": "Date and Time",
|
||||
"date_before": "Date before",
|
||||
@@ -718,6 +742,7 @@
|
||||
"default_locale": "Default Locale",
|
||||
"default_locale_description": "Format dates and numbers based on your browser locale",
|
||||
"delete": "Delete",
|
||||
"delete_action_prompt": "{count} deleted permanently",
|
||||
"delete_album": "Delete album",
|
||||
"delete_api_key_prompt": "Are you sure you want to delete this API key?",
|
||||
"delete_dialog_alert": "These items will be permanently deleted from Immich and from your device",
|
||||
@@ -731,6 +756,7 @@
|
||||
"delete_key": "Delete key",
|
||||
"delete_library": "Delete Library",
|
||||
"delete_link": "Delete link",
|
||||
"delete_local_action_prompt": "{count} deleted locally",
|
||||
"delete_local_dialog_ok_backed_up_only": "Delete Backed Up Only",
|
||||
"delete_local_dialog_ok_force": "Delete Anyway",
|
||||
"delete_others": "Delete others",
|
||||
@@ -744,6 +770,7 @@
|
||||
"description": "Description",
|
||||
"description_input_hint_text": "Add description...",
|
||||
"description_input_submit_error": "Error updating description, check the log for more details",
|
||||
"deselect_all": "Deselect All",
|
||||
"details": "Details",
|
||||
"direction": "Direction",
|
||||
"disabled": "Disabled",
|
||||
@@ -761,6 +788,7 @@
|
||||
"documentation": "Documentation",
|
||||
"done": "Done",
|
||||
"download": "Download",
|
||||
"download_action_prompt": "Downloading {count} assets",
|
||||
"download_canceled": "Download canceled",
|
||||
"download_complete": "Download complete",
|
||||
"download_enqueue": "Download enqueued",
|
||||
@@ -798,6 +826,7 @@
|
||||
"edit_key": "Edit key",
|
||||
"edit_link": "Edit link",
|
||||
"edit_location": "Edit location",
|
||||
"edit_location_action_prompt": "{count} location edited",
|
||||
"edit_location_dialog_title": "Location",
|
||||
"edit_name": "Edit name",
|
||||
"edit_people": "Edit people",
|
||||
@@ -816,6 +845,7 @@
|
||||
"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!",
|
||||
"enable": "Enable",
|
||||
"enable_backup": "Enable Backup",
|
||||
"enable_biometric_auth_description": "Enter your PIN code to enable biometric authentication",
|
||||
"enabled": "Enabled",
|
||||
"end_date": "End date",
|
||||
@@ -983,6 +1013,7 @@
|
||||
"failed_to_load_assets": "Failed to load assets",
|
||||
"failed_to_load_folder": "Failed to load folder",
|
||||
"favorite": "Favorite",
|
||||
"favorite_action_prompt": "{count} added to Favorites",
|
||||
"favorite_or_unfavorite_photo": "Favorite or unfavorite photo",
|
||||
"favorites": "Favorites",
|
||||
"favorites_page_no_favorites": "No favorite assets found",
|
||||
@@ -1022,6 +1053,9 @@
|
||||
"haptic_feedback_switch": "Enable haptic feedback",
|
||||
"haptic_feedback_title": "Haptic Feedback",
|
||||
"has_quota": "Has quota",
|
||||
"hash_asset": "Hash asset",
|
||||
"hashed_assets": "Hashed assets",
|
||||
"hashing": "Hashing",
|
||||
"header_settings_add_header_tip": "Add Header",
|
||||
"header_settings_field_validator_msg": "Value cannot be empty",
|
||||
"header_settings_header_name_input": "Header name",
|
||||
@@ -1054,6 +1088,7 @@
|
||||
"host": "Host",
|
||||
"hour": "Hour",
|
||||
"id": "ID",
|
||||
"idle": "Idle",
|
||||
"ignore_icloud_photos": "Ignore iCloud photos",
|
||||
"ignore_icloud_photos_description": "Photos that are stored on iCloud will not be uploaded to the Immich server",
|
||||
"image": "Image",
|
||||
@@ -1126,6 +1161,7 @@
|
||||
"library_page_sort_created": "Created date",
|
||||
"library_page_sort_last_modified": "Last modified",
|
||||
"library_page_sort_title": "Album title",
|
||||
"licenses": "Licenses",
|
||||
"light": "Light",
|
||||
"like_deleted": "Like deleted",
|
||||
"link_motion_video": "Link motion video",
|
||||
@@ -1135,7 +1171,9 @@
|
||||
"list": "List",
|
||||
"loading": "Loading",
|
||||
"loading_search_results_failed": "Loading search results failed",
|
||||
"local": "Local",
|
||||
"local_asset_cast_failed": "Unable to cast an asset that is not uploaded to the server",
|
||||
"local_assets": "Local Assets",
|
||||
"local_network": "Local network",
|
||||
"local_network_sheet_info": "The app will connect to the server through this URL when using the specified Wi-Fi network",
|
||||
"location_permission": "Location permission",
|
||||
@@ -1245,6 +1283,7 @@
|
||||
"more": "More",
|
||||
"move": "Move",
|
||||
"move_off_locked_folder": "Move out of locked folder",
|
||||
"move_to_lock_folder_action_prompt": "{count} added to the locked folder",
|
||||
"move_to_locked_folder": "Move to locked folder",
|
||||
"move_to_locked_folder_confirmation": "These photos and video will be removed from all albums, and only viewable from the locked folder",
|
||||
"moved_to_archive": "Moved {count, plural, one {# asset} other {# assets}} to archive",
|
||||
@@ -1328,6 +1367,7 @@
|
||||
"original": "original",
|
||||
"other": "Other",
|
||||
"other_devices": "Other devices",
|
||||
"other_entities": "Other entities",
|
||||
"other_variables": "Other variables",
|
||||
"owned": "Owned",
|
||||
"owner": "Owner",
|
||||
@@ -1459,6 +1499,7 @@
|
||||
"purchase_server_description_2": "Supporter status",
|
||||
"purchase_server_title": "Server",
|
||||
"purchase_settings_server_activated": "The server product key is managed by the admin",
|
||||
"queue_status": "Queuing {count}/{total}",
|
||||
"rating": "Star rating",
|
||||
"rating_clear": "Clear rating",
|
||||
"rating_count": "{count, plural, one {# star} other {# stars}}",
|
||||
@@ -1487,6 +1528,8 @@
|
||||
"refreshing_faces": "Refreshing faces",
|
||||
"refreshing_metadata": "Refreshing metadata",
|
||||
"regenerating_thumbnails": "Regenerating thumbnails",
|
||||
"remote": "Remote",
|
||||
"remote_assets": "Remote Assets",
|
||||
"remove": "Remove",
|
||||
"remove_assets_album_confirmation": "Are you sure you want to remove {count, plural, one {# asset} other {# assets}} from the album?",
|
||||
"remove_assets_shared_link_confirmation": "Are you sure you want to remove {count, plural, one {# asset} other {# assets}} from this shared link?",
|
||||
@@ -1494,7 +1537,9 @@
|
||||
"remove_custom_date_range": "Remove custom date range",
|
||||
"remove_deleted_assets": "Remove Deleted Assets",
|
||||
"remove_from_album": "Remove from album",
|
||||
"remove_from_album_action_prompt": "{count} removed from the album",
|
||||
"remove_from_favorites": "Remove from favorites",
|
||||
"remove_from_lock_folder_action_prompt": "{count} removed from the locked folder",
|
||||
"remove_from_locked_folder": "Remove from locked folder",
|
||||
"remove_from_locked_folder_confirmation": "Are you sure you want to move these photos and videos out of the locked folder? They will be visible in your library.",
|
||||
"remove_from_shared_link": "Remove from shared link",
|
||||
@@ -1522,11 +1567,15 @@
|
||||
"reset_password": "Reset password",
|
||||
"reset_people_visibility": "Reset people visibility",
|
||||
"reset_pin_code": "Reset PIN code",
|
||||
"reset_sqlite": "Reset SQLite Database",
|
||||
"reset_sqlite_confirmation": "Are you sure you want to reset the SQLite database? You will need to log out and log in again to resync the data",
|
||||
"reset_sqlite_success": "Successfully reset the SQLite database",
|
||||
"reset_to_default": "Reset to default",
|
||||
"resolve_duplicates": "Resolve duplicates",
|
||||
"resolved_all_duplicates": "Resolved all duplicates",
|
||||
"restore": "Restore",
|
||||
"restore_all": "Restore all",
|
||||
"restore_trash_action_prompt": "{count} restored from trash",
|
||||
"restore_user": "Restore user",
|
||||
"restored_asset": "Restored asset",
|
||||
"resume": "Resume",
|
||||
@@ -1535,6 +1584,7 @@
|
||||
"role": "Role",
|
||||
"role_editor": "Editor",
|
||||
"role_viewer": "Viewer",
|
||||
"running": "Running",
|
||||
"save": "Save",
|
||||
"save_to_gallery": "Save to gallery",
|
||||
"saved_api_key": "Saved API Key",
|
||||
@@ -1666,6 +1716,7 @@
|
||||
"settings_saved": "Settings saved",
|
||||
"setup_pin_code": "Setup a PIN code",
|
||||
"share": "Share",
|
||||
"share_action_prompt": "Shared {count} assets",
|
||||
"share_add_photos": "Add photos",
|
||||
"share_assets_selected": "{count} selected",
|
||||
"share_dialog_preparing": "Preparing...",
|
||||
@@ -1767,6 +1818,7 @@
|
||||
"sort_title": "Title",
|
||||
"source": "Source",
|
||||
"stack": "Stack",
|
||||
"stack_action_prompt": "{count} stacked",
|
||||
"stack_duplicates": "Stack duplicates",
|
||||
"stack_select_one_photo": "Select one main photo for the stack",
|
||||
"stack_selected_photos": "Stack selected photos",
|
||||
@@ -1786,6 +1838,7 @@
|
||||
"storage_quota": "Storage Quota",
|
||||
"storage_usage": "{used} of {available} used",
|
||||
"submit": "Submit",
|
||||
"success": "Success",
|
||||
"suggestions": "Suggestions",
|
||||
"sunrise_on_the_beach": "Sunrise on the beach",
|
||||
"support": "Support",
|
||||
@@ -1795,6 +1848,8 @@
|
||||
"sync": "Sync",
|
||||
"sync_albums": "Sync albums",
|
||||
"sync_albums_manual_subtitle": "Sync all uploaded videos and photos to the selected backup albums",
|
||||
"sync_local": "Sync Local",
|
||||
"sync_remote": "Sync Remote",
|
||||
"sync_upload_album_setting_subtitle": "Create and upload your photos and videos to the selected albums on Immich",
|
||||
"tag": "Tag",
|
||||
"tag_assets": "Tag assets",
|
||||
@@ -1805,6 +1860,7 @@
|
||||
"tag_updated": "Updated tag: {tag}",
|
||||
"tagged_assets": "Tagged {count, plural, one {# asset} other {# assets}}",
|
||||
"tags": "Tags",
|
||||
"tap_to_run_job": "Tap to run job",
|
||||
"template": "Template",
|
||||
"theme": "Theme",
|
||||
"theme_selection": "Theme selection",
|
||||
@@ -1837,6 +1893,7 @@
|
||||
"total": "Total",
|
||||
"total_usage": "Total usage",
|
||||
"trash": "Trash",
|
||||
"trash_action_prompt": "{count} moved to trash",
|
||||
"trash_all": "Trash All",
|
||||
"trash_count": "Trash {count, number}",
|
||||
"trash_delete_asset": "Trash/Delete Asset",
|
||||
@@ -1854,9 +1911,11 @@
|
||||
"unable_to_change_pin_code": "Unable to change PIN code",
|
||||
"unable_to_setup_pin_code": "Unable to setup PIN code",
|
||||
"unarchive": "Unarchive",
|
||||
"unarchive_action_prompt": "{count} removed from Archive",
|
||||
"unarchived_count": "{count, plural, other {Unarchived #}}",
|
||||
"undo": "Undo",
|
||||
"unfavorite": "Unfavorite",
|
||||
"unfavorite_action_prompt": "{count} removed from Favorites",
|
||||
"unhide_person": "Unhide person",
|
||||
"unknown": "Unknown",
|
||||
"unknown_country": "Unknown Country",
|
||||
@@ -1874,12 +1933,15 @@
|
||||
"unselect_all_duplicates": "Unselect all duplicates",
|
||||
"unselect_all_in": "Unselect all in {group}",
|
||||
"unstack": "Un-stack",
|
||||
"unstack_action_prompt": "{count} unstacked",
|
||||
"unstacked_assets_count": "Un-stacked {count, plural, one {# asset} other {# assets}}",
|
||||
"untagged": "Untagged",
|
||||
"up_next": "Up next",
|
||||
"updated_at": "Updated",
|
||||
"updated_password": "Updated password",
|
||||
"upload": "Upload",
|
||||
"upload_concurrency": "Upload concurrency",
|
||||
"upload_details": "Upload Details",
|
||||
"upload_dialog_info": "Do you want to backup the selected Asset(s) to the server?",
|
||||
"upload_dialog_title": "Upload Asset",
|
||||
"upload_errors": "Upload completed with {count, plural, one {# error} other {# errors}}, refresh the page to see new upload assets.",
|
||||
@@ -1911,6 +1973,7 @@
|
||||
"user_usage_stats_description": "View account usage statistics",
|
||||
"username": "Username",
|
||||
"users": "Users",
|
||||
"users_added_to_album_count": "Added {count, plural, one {# user} other {# users}} to the album",
|
||||
"utilities": "Utilities",
|
||||
"validate": "Validate",
|
||||
"validate_endpoint_error": "Please enter a valid URL",
|
||||
@@ -1929,6 +1992,7 @@
|
||||
"view_album": "View Album",
|
||||
"view_all": "View All",
|
||||
"view_all_users": "View all users",
|
||||
"view_details": "View Details",
|
||||
"view_in_timeline": "View in timeline",
|
||||
"view_link": "View link",
|
||||
"view_links": "View links",
|
||||
|
||||
+63
-27
@@ -2,7 +2,7 @@
|
||||
"about": "Acerca de",
|
||||
"account": "Cuenta",
|
||||
"account_settings": "Ajustes de la cuenta",
|
||||
"acknowledge": "De acuerdo",
|
||||
"acknowledge": "Aceptar",
|
||||
"action": "Acci├│n",
|
||||
"action_common_update": "Actualizar",
|
||||
"actions": "Acciones",
|
||||
@@ -14,13 +14,13 @@
|
||||
"add_a_location": "Agregar ubicaci├│n",
|
||||
"add_a_name": "Agregar nombre",
|
||||
"add_a_title": "Agregar t├нtulo",
|
||||
"add_endpoint": "A├▒adir endpoint",
|
||||
"add_endpoint": "Agregar endpoint",
|
||||
"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 compa├▒ero",
|
||||
"add_path": "Agregar carpeta",
|
||||
"add_path": "Agregar ruta",
|
||||
"add_photos": "Agregar fotos",
|
||||
"add_tag": "Agregar etiqueta",
|
||||
"add_to": "Agregar aтАж",
|
||||
@@ -63,8 +63,8 @@
|
||||
"exclusion_pattern_description": "Los patrones de exclusi├│n te permiten ignorar archivos y carpetas al escanear tu biblioteca. Es ├║til si tienes carpetas que contienen archivos que no deseas importar, por ejemplo archivos RAW.",
|
||||
"external_library_management": "Gesti├│n de bibliotecas externas",
|
||||
"face_detection": "Detecci├│n de caras",
|
||||
"face_detection_description": "Detecta 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 elementos. \"Restablecer\" borra adem├бs todos los datos de caras actuales. \"Falta\" pone en cola los elementos que a├║n no se han procesado. Las caras detectadas se pondr├бn en cola para el reconocimiento facial una vez finalizada la detecci├│n, agrup├бndolos en personas existentes o nuevas.",
|
||||
"facial_recognition_job_description": "Agrupa las caras detectadas en personas. Este paso se ejecuta una vez finalizada la detecci├│n de caras. \"Restablecer\" (re)agrupa todas las caras. \"Falta\" pone en cola las caras que no tienen asignada una persona.",
|
||||
"face_detection_description": "Detecta las caras en los elementos mediante aprendizaje autom├бtico. En el caso de los v├нdeos, solo se tiene en cuenta la miniatura. \"Actualizar\" (re)procesar├б todos los elementos. \"Restablecer\" borra adem├бs todos los datos de caras actuales. \"Faltante\" pone en cola los elementos que a├║n no se han procesado. Las caras detectadas se pondr├бn en cola para el reconocimiento facial una vez finalizada la detecci├│n, agrup├бndolos en personas existentes o nuevas.",
|
||||
"facial_recognition_job_description": "Agrupa las caras detectadas en personas. Este paso se realiza despu├йs de completar la detecci├│n de caras. \"Restablecer\" (re)agrupa todas las caras. \"Faltante\" pone en cola las caras que no tienen una persona asignada.",
|
||||
"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 todos los elementos. Esta accion no se puede deshacer y los archivos no pueden ser recuperados.",
|
||||
"image_format": "Formato",
|
||||
@@ -166,6 +166,20 @@
|
||||
"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",
|
||||
"nightly_tasks_cluster_faces_setting_description": "Ejecutar reconocimiento facial en caras detectadas recientemente",
|
||||
"nightly_tasks_cluster_new_faces_setting": "Agrupar caras nuevas",
|
||||
"nightly_tasks_database_cleanup_setting": "Tareas de limpieza de base de datos",
|
||||
"nightly_tasks_database_cleanup_setting_description": "Limpiar datos antiguos y caducados de la base de datos",
|
||||
"nightly_tasks_generate_memories_setting": "Generar recuerdos",
|
||||
"nightly_tasks_generate_memories_setting_description": "Crear nuevos recuerdos a partir de activos",
|
||||
"nightly_tasks_missing_thumbnails_setting": "Generar miniaturas faltantes",
|
||||
"nightly_tasks_missing_thumbnails_setting_description": "Poner en cola a activos sin miniaturas para la generaci├│n de miniaturas",
|
||||
"nightly_tasks_settings": "Configuraci├│n de Tareas Nocturnas",
|
||||
"nightly_tasks_settings_description": "Gestionar Tareas Nocturnas",
|
||||
"nightly_tasks_start_time_setting": "Tiempo de inicio",
|
||||
"nightly_tasks_start_time_setting_description": "El tiempo cuando el servidor comienza a ejecutar las tareas nocturnas",
|
||||
"nightly_tasks_sync_quota_usage_setting": "Uso de la cuota de sincronizaci├│n",
|
||||
"nightly_tasks_sync_quota_usage_setting_description": "Actualizar la cuota de almacenamiento del usuario, seg├║n el uso actual",
|
||||
"no_paths_added": "No se han a├▒adido carpetas",
|
||||
"no_pattern_added": "No se han a├▒adido patrones",
|
||||
"note_apply_storage_label_previous_assets": "Nota: para aplicar una Etiqueta de Almacenamiento a un elemento anteriormente cargado, lanza el",
|
||||
@@ -196,6 +210,8 @@
|
||||
"oauth_mobile_redirect_uri": "URI de redireccionamiento m├│vil",
|
||||
"oauth_mobile_redirect_uri_override": "Sobreescribir URI de redirecci├│n m├│vil",
|
||||
"oauth_mobile_redirect_uri_override_description": "Habilitar cuando el proveedor de OAuth no permite una URI m├│vil, como ''{callback}''",
|
||||
"oauth_role_claim": "Concesi├│n de rol",
|
||||
"oauth_role_claim_description": "Otorgar acceso de administrador autom├бticamente seg├║n la presencia de esta concesi├│n. La concesi├│n puede tener \"usuario\" o \"admin\".",
|
||||
"oauth_settings": "OAuth",
|
||||
"oauth_settings_description": "Administrar la configuraci├│n de inicio de sesi├│n de OAuth",
|
||||
"oauth_settings_more_details": "Para m├бs detalles acerca de esta caracter├нstica, consulte la <link>documentaci├│n</link>.",
|
||||
@@ -205,7 +221,7 @@
|
||||
"oauth_storage_quota_claim_description": "Establezca autom├бticamente la cuota de almacenamiento del usuario al valor de esta solicitud.",
|
||||
"oauth_storage_quota_default": "Cuota de almacenamiento predeterminada (GiB)",
|
||||
"oauth_storage_quota_default_description": "Cuota en GiB que se utilizar├б cuando no se proporcione ninguna por defecto.",
|
||||
"oauth_timeout": "Expiraci├│n de solicitud",
|
||||
"oauth_timeout": "L├нmite de tiempo para la solicitud",
|
||||
"oauth_timeout_description": "Tiempo de espera de solicitudes en milisegundos",
|
||||
"password_enable_description": "Iniciar sesi├│n con correo electr├│nico y contrase├▒a",
|
||||
"password_settings": "Contrase├▒a de Acceso",
|
||||
@@ -357,10 +373,12 @@
|
||||
"admin_password": "Contrase├▒a del Administrador",
|
||||
"administration": "Administraci├│n",
|
||||
"advanced": "Avanzada",
|
||||
"advanced_settings_beta_timeline_subtitle": "Prueba la nueva experiencia de la aplicaci├│n",
|
||||
"advanced_settings_beta_timeline_title": "Cronolog├нa beta",
|
||||
"advanced_settings_enable_alternate_media_filter_subtitle": "Usa esta opci├│n para filtrar medios durante la sincronizaci├│n seg├║n criterios alternativos. Intenta esto solo si tienes problemas con que la aplicaci├│n detecte todos los ├бlbumes.",
|
||||
"advanced_settings_enable_alternate_media_filter_title": "[EXPERIMENTAL] Usar filtro alternativo de sincronizaci├│n de ├бlbumes del dispositivo",
|
||||
"advanced_settings_log_level_title": "Nivel de registro: {level}",
|
||||
"advanced_settings_prefer_remote_subtitle": "Algunos dispositivos tardan mucho en cargar las miniaturas de los elementos encontrados en el dispositivo. Activa esta opci├│n para cargar im├бgenes remotas en su lugar.",
|
||||
"advanced_settings_prefer_remote_subtitle": "Algunos dispositivos tardan mucho en cargar las miniaturas desde los archivos locales. Activa esta opci├│n para cargar im├бgenes remotas en su lugar.",
|
||||
"advanced_settings_prefer_remote_title": "Preferir im├бgenes remotas",
|
||||
"advanced_settings_proxy_headers_subtitle": "Configura headers HTTP que Immich incluir├б en cada petici├│n de red",
|
||||
"advanced_settings_proxy_headers_title": "Cabeceras Proxy",
|
||||
@@ -405,8 +423,8 @@
|
||||
"albums": "├Бlbumes",
|
||||
"albums_count": "{count, plural, one {{count, number} ├Бlbum} other {{count, number} ├Бlbumes}}",
|
||||
"albums_default_sort_order": "Ordenaci├│n por defecto de los ├бlbumes",
|
||||
"albums_default_sort_order_description": "Orden de clasificaci├│n inicial de los activos al crear nuevos ├бlbumes.",
|
||||
"albums_feature_description": "Colecciones de activos que pueden compartirse con otros usuarios.",
|
||||
"albums_default_sort_order_description": "Orden de clasificaci├│n inicial de los recursos al crear nuevos ├бlbumes.",
|
||||
"albums_feature_description": "Colecciones de recursos que pueden ser compartidos con otros usuarios.",
|
||||
"all": "Todos",
|
||||
"all_albums": "Todos los albums",
|
||||
"all_people": "Todas las personas",
|
||||
@@ -427,6 +445,7 @@
|
||||
"app_settings": "Ajustes de Aplicacion",
|
||||
"appears_in": "Aparece en",
|
||||
"archive": "Archivo",
|
||||
"archive_action_prompt": "{count} a├▒adidos al Archivo",
|
||||
"archive_or_unarchive_photo": "Archivar o restaurar foto",
|
||||
"archive_page_no_archived_assets": "No se encontraron elementos archivados",
|
||||
"archive_page_title": "Archivo ({count})",
|
||||
@@ -464,13 +483,12 @@
|
||||
"assets": "elementos",
|
||||
"assets_added_count": "A├▒adido {count, plural, one {# asset} other {# assets}}",
|
||||
"assets_added_to_album_count": "A├▒adido {count, plural, one {# asset} other {# assets}} al ├бlbum",
|
||||
"assets_added_to_name_count": "A├▒adido {count, plural, one {# asset} other {# assets}} a {hasName, select, true {<b>{name}</b>} other {new album}}",
|
||||
"assets_cannot_be_added_to_album_count": "{count, plural, one {Asset} other {Assets}} no pueden ser a├▒adidos al album",
|
||||
"assets_cannot_be_added_to_album_count": "{count, plural, one {El recurso no puede ser a├▒adido al ├бlbum} other {Los recursos no pueden ser a├▒adidos al ├бlbum}}",
|
||||
"assets_count": "{count, plural, one {# activo} other {# activos}}",
|
||||
"assets_deleted_permanently": "{count} elemento(s) eliminado(s) permanentemente",
|
||||
"assets_deleted_permanently_from_server": "{count} recurso(s) eliminado(s) de forma permanente del servidor de Immich",
|
||||
"assets_downloaded_failed": "{count, plural, one {Descargado archivo # - {error} archivo fallido} other {Descargados # archivos - {error} archivos fallidos}}",
|
||||
"assets_downloaded_successfully": "{count, plural, one {Archivo # descargado correctamente} other {Archivos # descargados correctamente}}",
|
||||
"assets_downloaded_failed": "{count, plural, one {# archivo descargado - {error} archivo fallido} other {# archivos descargados - {error} archivos fallidos}}",
|
||||
"assets_downloaded_successfully": "{count, plural, one {# archivo descargado exitosamente} other {# archivos descargados exitosamente}}",
|
||||
"assets_moved_to_trash_count": "{count, plural, one {# elemento movido} other {# elementos movidos}} a la papelera",
|
||||
"assets_permanently_deleted_count": "Eliminado permanentemente {count, plural, one {# elemento} other {# elementos}}",
|
||||
"assets_removed_count": "Eliminado {count, plural, one {# elemento} other {# elementos}}",
|
||||
@@ -703,7 +721,7 @@
|
||||
"daily_title_text_date": "E dd, MMM",
|
||||
"daily_title_text_date_year": "E dd de MMM, yyyy",
|
||||
"dark": "Oscuro",
|
||||
"darkTheme": "Activar tema oscuro",
|
||||
"dark_theme": "Alternar tema oscuro",
|
||||
"date_after": "Fecha posterior",
|
||||
"date_and_time": "Fecha y Hora",
|
||||
"date_before": "Fecha anterior",
|
||||
@@ -719,6 +737,7 @@
|
||||
"default_locale": "Configuraci├│n regional predeterminada",
|
||||
"default_locale_description": "Formatee fechas y n├║meros seg├║n la configuraci├│n regional de su navegador",
|
||||
"delete": "Eliminar",
|
||||
"delete_action_prompt": "{count} eliminados permanentemente",
|
||||
"delete_album": "Eliminar ├бlbum",
|
||||
"delete_api_key_prompt": "┬┐Est├б seguro de que desea eliminar esta clave API?",
|
||||
"delete_dialog_alert": "Estos elementos ser├бn eliminados permanentemente de Immich y de tu dispositivo",
|
||||
@@ -732,6 +751,7 @@
|
||||
"delete_key": "Eliminar clave",
|
||||
"delete_library": "Eliminar biblioteca",
|
||||
"delete_link": "Eliminar enlace",
|
||||
"delete_local_action_prompt": "{count} eliminados localmente",
|
||||
"delete_local_dialog_ok_backed_up_only": "Borrar solo las que tengan copia de seguridad",
|
||||
"delete_local_dialog_ok_force": "Borrar de todos modos",
|
||||
"delete_others": "Eliminar otros",
|
||||
@@ -749,6 +769,7 @@
|
||||
"direction": "Direcci├│n",
|
||||
"disabled": "Deshabilitado",
|
||||
"disallow_edits": "Bloquear edici├│n",
|
||||
"discord": "Discord",
|
||||
"discover": "Descubrir",
|
||||
"discovered_devices": "Dispositivos descubiertos",
|
||||
"dismiss_all_errors": "Descartar todos los errores",
|
||||
@@ -761,6 +782,7 @@
|
||||
"documentation": "Documentaci├│n",
|
||||
"done": "Hecho",
|
||||
"download": "Descargar",
|
||||
"download_action_prompt": "Descargando {count} archivos",
|
||||
"download_canceled": "Descarga cancelada",
|
||||
"download_complete": "Descarga completada",
|
||||
"download_enqueue": "Descarga en cola",
|
||||
@@ -798,6 +820,7 @@
|
||||
"edit_key": "Editar clave",
|
||||
"edit_link": "Editar enlace",
|
||||
"edit_location": "Editar ubicaci├│n",
|
||||
"edit_location_action_prompt": "{count} ubicaciones actualizadas",
|
||||
"edit_location_dialog_title": "Ubicaci├│n",
|
||||
"edit_name": "Cambiar nombre",
|
||||
"edit_people": "Editar persona",
|
||||
@@ -983,6 +1006,7 @@
|
||||
"failed_to_load_assets": "Error al cargar los activos",
|
||||
"failed_to_load_folder": "No se pudo cargar la carpeta",
|
||||
"favorite": "Favorito",
|
||||
"favorite_action_prompt": "{count} a├▒adidos a Favoritos",
|
||||
"favorite_or_unfavorite_photo": "Foto favorita o no favorita",
|
||||
"favorites": "Favoritos",
|
||||
"favorites_page_no_favorites": "No se encontraron elementos marcados como favoritos",
|
||||
@@ -1126,6 +1150,7 @@
|
||||
"library_page_sort_created": "Creado m├бs recientemente",
|
||||
"library_page_sort_last_modified": "├Ъltima modificaci├│n",
|
||||
"library_page_sort_title": "T├нtulo del ├бlbum",
|
||||
"licenses": "Licencias",
|
||||
"light": "Claro",
|
||||
"like_deleted": "Me gusta eliminado",
|
||||
"link_motion_video": "Enlazar v├нdeo en movimiento",
|
||||
@@ -1135,7 +1160,7 @@
|
||||
"list": "Listar",
|
||||
"loading": "Cargando",
|
||||
"loading_search_results_failed": "Error al cargar los resultados de la b├║squeda",
|
||||
"local_asset_cast_failed": "No se puede emitir un activo que no est├б cargado en el servidor",
|
||||
"local_asset_cast_failed": "No es posible transmitir un recurso que no est├б subido al servidor",
|
||||
"local_network": "Red local",
|
||||
"local_network_sheet_info": "La aplicaci├│n se conectar├б al servidor a trav├йs de esta URL cuando utilice la red Wi-Fi especificada",
|
||||
"location_permission": "Permiso de ubicaci├│n",
|
||||
@@ -1238,13 +1263,14 @@
|
||||
"merged_people_count": "Fusionada {count, plural, one {# persona} other {# personas}}",
|
||||
"minimize": "Minimizar",
|
||||
"minute": "Minuto",
|
||||
"missing": "Perdido",
|
||||
"missing": "Faltante",
|
||||
"model": "Modelo",
|
||||
"month": "Mes",
|
||||
"monthly_title_text_date_format": "MMMM y",
|
||||
"monthly_title_text_date_format": "MMMM a",
|
||||
"more": "Mas",
|
||||
"move": "Mover",
|
||||
"move_off_locked_folder": "Mover fuera de la carpeta protegida",
|
||||
"move_to_lock_folder_action_prompt": "{count} a├▒adidos a la carpeta protegida",
|
||||
"move_to_locked_folder": "Mover a la carpeta protegida",
|
||||
"move_to_locked_folder_confirmation": "Estas fotos y v├нdeos ser├бn eliminados de todos los ├бlbumes y s├│lo podr├бn ser vistos desde la carpeta protegida",
|
||||
"moved_to_archive": "Movido(s) {count, plural, one {# recurso} other {# recursos}} a archivo",
|
||||
@@ -1277,7 +1303,7 @@
|
||||
"no_archived_assets_message": "Archive fotos y videos para ocultarlos de su vista de Fotos",
|
||||
"no_assets_message": "HAZ CLIC PARA SUBIR TU PRIMERA FOTO",
|
||||
"no_assets_to_show": "No hay elementos a mostrar",
|
||||
"no_cast_devices_found": "Dispositivos de difusi├│n no encontrados",
|
||||
"no_cast_devices_found": "No se encontraron dispositivos de transmisi├│n",
|
||||
"no_duplicates_found": "No se encontraron duplicados.",
|
||||
"no_exif_info_available": "No hay informaci├│n exif disponible",
|
||||
"no_explore_results_message": "Sube m├бs fotos para explorar tu colecci├│n.",
|
||||
@@ -1494,7 +1520,9 @@
|
||||
"remove_custom_date_range": "Eliminar intervalo de fechas personalizado",
|
||||
"remove_deleted_assets": "Eliminar archivos sin conexi├│n",
|
||||
"remove_from_album": "Eliminar del ├бlbum",
|
||||
"remove_from_album_action_prompt": "{count} eliminado del ├бlbum",
|
||||
"remove_from_favorites": "Quitar de favoritos",
|
||||
"remove_from_lock_folder_action_prompt": "{count} eliminado de la carpeta protegida",
|
||||
"remove_from_locked_folder": "Eliminar de la carpeta protegida",
|
||||
"remove_from_locked_folder_confirmation": "┬┐Est├бs seguro de que deseas mover estas fotos y v├нdeos fuera de la carpeta protegida? Ser├бn visibles en tu biblioteca.",
|
||||
"remove_from_shared_link": "Eliminar desde enlace compartido",
|
||||
@@ -1558,17 +1586,17 @@
|
||||
"search_city": "Buscar ciudad...",
|
||||
"search_country": "Buscar pa├нs...",
|
||||
"search_filter_apply": "Aplicar filtros",
|
||||
"search_filter_camera_title": "Elige tipo de c├бmara",
|
||||
"search_filter_camera_title": "Elegir tipo de c├бmara",
|
||||
"search_filter_date": "Fecha",
|
||||
"search_filter_date_interval": "{start} al {end}",
|
||||
"search_filter_date_title": "Selecciona un intervalo de fechas",
|
||||
"search_filter_date_title": "Seleccionar un intervalo de fechas",
|
||||
"search_filter_display_option_not_in_album": "No en ├бlbum",
|
||||
"search_filter_display_options": "Opciones de visualizaci├│n",
|
||||
"search_filter_filename": "Buscar por nombre de archivo",
|
||||
"search_filter_location": "Ubicaci├│n",
|
||||
"search_filter_location_title": "Seleccionar una ubicaci├│n",
|
||||
"search_filter_media_type": "Tipo de archivo",
|
||||
"search_filter_media_type_title": "Selecciona el tipo de archivo",
|
||||
"search_filter_media_type_title": "Seleccionar el tipo de archivo",
|
||||
"search_filter_people_title": "Seleccionar personas",
|
||||
"search_for": "Buscar",
|
||||
"search_for_existing_person": "Buscar persona existente",
|
||||
@@ -1591,23 +1619,23 @@
|
||||
"search_people": "Buscar personas",
|
||||
"search_places": "Buscar lugar",
|
||||
"search_rating": "Buscar por calificaci├│n...",
|
||||
"search_result_page_new_search_hint": "Nueva Busqueda",
|
||||
"search_result_page_new_search_hint": "Nueva B├║squeda",
|
||||
"search_settings": "Ajustes de la b├║squeda",
|
||||
"search_state": "Buscar regi├│n/estado...",
|
||||
"search_suggestion_list_smart_search_hint_1": "La b├║squeda inteligente est├б habilitada por defecto, para buscar metadatos utiliza esta sintaxis ",
|
||||
"search_suggestion_list_smart_search_hint_2": "m:tu-t├йrmino-de-b├║squeda",
|
||||
"search_tags": "Buscando etiquetas...",
|
||||
"search_tags": "Buscar etiquetas...",
|
||||
"search_timezone": "Buscar zona horaria...",
|
||||
"search_type": "Tipo de b├║squeda",
|
||||
"search_your_photos": "Busca tus fotos",
|
||||
"searching_locales": "Buscando sitios...",
|
||||
"second": "Segundo",
|
||||
"see_all_people": "Ver todas las personas",
|
||||
"select": "Selecciona",
|
||||
"select": "Seleccionar",
|
||||
"select_album_cover": "Seleccionar portada del ├бlbum",
|
||||
"select_all": "Seleccionar todo",
|
||||
"select_all_duplicates": "Seleccionar todos los duplicados",
|
||||
"select_all_in": "Selecciona todos en {group}",
|
||||
"select_all_in": "Seleccionar todos en {group}",
|
||||
"select_avatar_color": "Seleccionar color del avatar",
|
||||
"select_face": "Seleccionar cara",
|
||||
"select_featured_photo": "Seleccionar foto principal",
|
||||
@@ -1638,7 +1666,7 @@
|
||||
"set_date_of_birth": "Establecer fecha de nacimiento",
|
||||
"set_profile_picture": "Establecer foto de perfil",
|
||||
"set_slideshow_to_fullscreen": "Mostrar diapositivas en pantalla completa",
|
||||
"set_stack_primary_asset": "Establecer como activo principal",
|
||||
"set_stack_primary_asset": "Establecer como recurso principal",
|
||||
"setting_image_viewer_help": "El visor de detalles carga primero la miniatura peque├▒a, luego carga la vista previa de tama├▒o mediano (si est├б habilitada), finalmente carga la original (si est├б habilitada).",
|
||||
"setting_image_viewer_original_subtitle": "Activar para cargar la imagen en resoluci├│n original (┬бmuy grande!). Deshabilitar para reducir el consumo de datos (de red y cach├й).",
|
||||
"setting_image_viewer_original_title": "Cargar imagen original",
|
||||
@@ -1666,6 +1694,7 @@
|
||||
"settings_saved": "Ajustes guardados",
|
||||
"setup_pin_code": "Establecer un PIN",
|
||||
"share": "Compartir",
|
||||
"share_action_prompt": "{count} recursos compartidos",
|
||||
"share_add_photos": "Agregar fotos",
|
||||
"share_assets_selected": "{count} seleccionado(s)",
|
||||
"share_dialog_preparing": "Preparando...",
|
||||
@@ -1767,6 +1796,7 @@
|
||||
"sort_title": "T├нtulo",
|
||||
"source": "Origen",
|
||||
"stack": "Apilar",
|
||||
"stack_action_prompt": "{count} apilados",
|
||||
"stack_duplicates": "Apilar duplicados",
|
||||
"stack_select_one_photo": "Selecciona una imagen principal para la pila",
|
||||
"stack_selected_photos": "Apilar fotos seleccionadas",
|
||||
@@ -1776,7 +1806,7 @@
|
||||
"start_date": "Fecha de inicio",
|
||||
"state": "Estado",
|
||||
"status": "Estado",
|
||||
"stop_casting": "Parar difusi├│n",
|
||||
"stop_casting": "Detener transmisi├│n",
|
||||
"stop_motion_photo": "Parar foto en movimiento",
|
||||
"stop_photo_sharing": "┬┐Dejar de compartir tus fotos?",
|
||||
"stop_photo_sharing_description": "{partner} ya no podr├б acceder a tus fotos.",
|
||||
@@ -1837,6 +1867,7 @@
|
||||
"total": "Total",
|
||||
"total_usage": "Uso total",
|
||||
"trash": "Papelera",
|
||||
"trash_action_prompt": "{count} movidos a la papelera",
|
||||
"trash_all": "Descartar todo",
|
||||
"trash_count": "Descartar {count, number}",
|
||||
"trash_delete_asset": "Borrar/Eliminar archivo",
|
||||
@@ -1854,9 +1885,11 @@
|
||||
"unable_to_change_pin_code": "No se ha podido cambiar el PIN",
|
||||
"unable_to_setup_pin_code": "No se ha podido establecer el PIN",
|
||||
"unarchive": "Desarchivar",
|
||||
"unarchive_action_prompt": "{count} eliminados del archivo",
|
||||
"unarchived_count": "{count, plural, one {# No archivado} other {# No archivados}}",
|
||||
"undo": "Deshacer",
|
||||
"unfavorite": "Retirar favorito",
|
||||
"unfavorite_action_prompt": "{count} eliminados de favoritos",
|
||||
"unhide_person": "Mostrar persona",
|
||||
"unknown": "Desconocido",
|
||||
"unknown_country": "Pa├нs desconocido",
|
||||
@@ -1874,7 +1907,9 @@
|
||||
"unselect_all_duplicates": "Deseleccionar todos los duplicados",
|
||||
"unselect_all_in": "Deselecciona todos en {group}",
|
||||
"unstack": "Desapilar",
|
||||
"unstack_action_prompt": "{count} desapilado(s)",
|
||||
"unstacked_assets_count": "Desapilado(s) {count, plural, one {# elemento} other {# elementos}}",
|
||||
"untagged": "Sin etiqueta",
|
||||
"up_next": "A continuaci├│n",
|
||||
"updated_at": "Actualizado",
|
||||
"updated_password": "Contrase├▒a actualizada",
|
||||
@@ -1911,6 +1946,7 @@
|
||||
"user_usage_stats_description": "Ver estad├нsticas de uso de la cuenta",
|
||||
"username": "Nombre de usuario",
|
||||
"users": "Usuarios",
|
||||
"users_added_to_album_count": "{count, plural, one {# usuario agregado} other {# usuarios agregados}} al ├бlbum",
|
||||
"utilities": "Utilidades",
|
||||
"validate": "Validar",
|
||||
"validate_endpoint_error": "Por favor, introduce una URL v├бlida",
|
||||
|
||||
+59
-16
@@ -33,11 +33,11 @@
|
||||
"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/**\".",
|
||||
"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\" l├╡puga failide ignoreerimiseks kasuta \"**/*.tif\". Absouutse tee ignoreerimiseks kasuta \"/tee/mida/ignoreerida/**\".",
|
||||
"admin_user": "Administraator",
|
||||
"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.",
|
||||
"asset_offline_description": "Seda v├дlise kogu ├╝ksust ei leitud kettalt ning see liigutati pr├╝gikasti. Kui faili asukoht muutus kogu siseselt, 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_description": "Halda parooli, OAuth'i 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 <link>serveri k├дsku</link>.",
|
||||
"background_task_job": "Tausttegumid",
|
||||
@@ -47,26 +47,26 @@
|
||||
"backup_settings": "Andmebaasi t├╡mmiste seaded",
|
||||
"backup_settings_description": "Halda andmebaasi t├╡mmiste seadeid.",
|
||||
"cleared_jobs": "T├╢├╢ted eemaldatud: {job}",
|
||||
"config_set_by_file": "Konfiguratsioon on m├д├дratud konfifaili abil",
|
||||
"config_set_by_file": "Konfiguratsioon on m├д├дratud konfiguratsioonifaili 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_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 toimingut 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?",
|
||||
"confirm_user_pin_code_reset": "Kas oled kindel, et soovid kasutaja {user} PIN-koodi l├дhtestada?",
|
||||
"create_job": "Lisa t├╢├╢de",
|
||||
"cron_expression": "Cron avaldis",
|
||||
"cron_expression_description": "Sea skaneerimise intervall cron formaadis. Rohkema info jaoks vaata nt. <link>Crontab Guru</link>",
|
||||
"cron_expression_description": "M├д├дra skaneerimise intervall cron formaadis. Rohkema info jaoks vaata nt. <link>Crontab Guru</link>",
|
||||
"cron_expression_presets": "Eelseadistatud cron avaldised",
|
||||
"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.",
|
||||
"exclusion_pattern_description": "V├дlistamismustrid v├╡imaldavad ignoreerida faile ja kaustu selle kogu skaneerimisel. See on kasulik, kui sul on kaustu, mis sisaldavad faile, mida sa ei soovi importida, nagu RAW failid.",
|
||||
"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.",
|
||||
"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├дod. \"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.",
|
||||
"force_delete_user_warning": "HOIATUS: See kustutab koheselt kasutaja ja k├╡ik tema ├╝ksused. Toimingut ei saa tagasi v├╡tta ja faile ei saa taastada.",
|
||||
"image_format": "Formaat",
|
||||
"image_format_description": "WebP failid on v├дiksemad kui JPEG, aga kodeerimine on aeglasem.",
|
||||
"image_fullsize_description": "T├дism├╡├╡dus pilt ilma metaandmeteta, kasutatakse sisse suumimisel",
|
||||
@@ -77,9 +77,9 @@
|
||||
"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_prefer_wide_gamut_setting_description": "Kasuta pisipiltide jaoks Display P3. See s├дilitab paremini laia v├дrviruumiga piltide erksuse, kuid 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_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_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. Madal v├д├дrtus v├╡ib m├╡jutada masin├╡ppe kvaliteeti.",
|
||||
"image_preview_title": "Eelvaate seaded",
|
||||
"image_quality": "Kvaliteet",
|
||||
"image_resolution": "Resolutsioon",
|
||||
@@ -92,7 +92,7 @@
|
||||
"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": "T├╢├╢dete seaded",
|
||||
"job_settings_description": "Halda t├╢├╢dete samaaegsust",
|
||||
"job_status": "T├╢├╢te seisund",
|
||||
"jobs_delayed": "{jobCount, plural, other {# edasi l├╝katud}}",
|
||||
@@ -166,6 +166,20 @@
|
||||
"metadata_settings_description": "Halda metaandmete seadeid",
|
||||
"migration_job": "Migratsioon",
|
||||
"migration_job_description": "Migreeri ├╝ksuste ja n├дgude pisipildid uusimale kaustastruktuurile",
|
||||
"nightly_tasks_cluster_faces_setting_description": "K├дivita v├дrskelt avastatud n├дgudel n├дotuvastus",
|
||||
"nightly_tasks_cluster_new_faces_setting": "Grupeeri uued n├дod",
|
||||
"nightly_tasks_database_cleanup_setting": "Andmebaasi puhastuse tegumid",
|
||||
"nightly_tasks_database_cleanup_setting_description": "Eemalda andmebaasist vanad, aegunud andmed",
|
||||
"nightly_tasks_generate_memories_setting": "Genereeri m├дlestused",
|
||||
"nightly_tasks_generate_memories_setting_description": "Loo ├╝ksustest uued m├дlestused",
|
||||
"nightly_tasks_missing_thumbnails_setting": "Genereeri puuduvad pisipildid",
|
||||
"nightly_tasks_missing_thumbnails_setting_description": "Suuna ilma pisipiltideta ├╝ksused pisipiltide genereerimisele",
|
||||
"nightly_tasks_settings": "├Цiste tegumite seaded",
|
||||
"nightly_tasks_settings_description": "Halda ├╢iseid tegumeid",
|
||||
"nightly_tasks_start_time_setting": "Algusaeg",
|
||||
"nightly_tasks_start_time_setting_description": "Aeg, millal server alustab ├╢iste tegumite k├дivitamist",
|
||||
"nightly_tasks_sync_quota_usage_setting": "S├╝nkrooni kvoodikasutus",
|
||||
"nightly_tasks_sync_quota_usage_setting_description": "Uuenda kasutaja talletuskvoot jooksva kasutuse alusel",
|
||||
"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",
|
||||
@@ -196,6 +210,8 @@
|
||||
"oauth_mobile_redirect_uri": "Mobiilne ├╝mbersuunamise URI",
|
||||
"oauth_mobile_redirect_uri_override": "Mobiilse ├╝mbersuunamise URI ├╝lekirjutamine",
|
||||
"oauth_mobile_redirect_uri_override_description": "L├╝lita sisse, kui OAuth pakkuja ei luba mobiilset URI-d, n├дiteks ''{callback}''",
|
||||
"oauth_role_claim": "Rolli v├дide",
|
||||
"oauth_role_claim_description": "Anna selle v├дite olemasolul automaatselt administraatori ligip├д├дs. V├дite v├д├дrtus v├╡ib olla 'user' v├╡i 'admin'.",
|
||||
"oauth_settings": "OAuth",
|
||||
"oauth_settings_description": "Halda OAuth sisselogimise seadeid",
|
||||
"oauth_settings_more_details": "Selle funktsiooni kohta rohkem teada saamiseks loe <link>dokumentatsiooni</link>.",
|
||||
@@ -357,10 +373,12 @@
|
||||
"admin_password": "Administraatori parool",
|
||||
"administration": "Administratsioon",
|
||||
"advanced": "T├дpsemad valikud",
|
||||
"advanced_settings_beta_timeline_subtitle": "Koge uut rakendust",
|
||||
"advanced_settings_beta_timeline_title": "Beeta ajajoon",
|
||||
"advanced_settings_enable_alternate_media_filter_subtitle": "Kasuta seda valikut, et filtreerida s├╝nkroonimise ajal ├╝ksuseid alternatiivsete kriteeriumite alusel. Proovi seda ainult siis, kui rakendusel on probleeme k├╡igi albumite tuvastamisega.",
|
||||
"advanced_settings_enable_alternate_media_filter_title": "[EKSPERIMENTAALNE] Kasuta alternatiivset seadme albumi s├╝nkroonimise filtrit",
|
||||
"advanced_settings_log_level_title": "Logimistase: {level}",
|
||||
"advanced_settings_prefer_remote_subtitle": "M├╡ned seadmed laadivad seadmes olevate ├╝ksuste pisipilte piinavalt aeglaselt. Aktiveeri see seadistus, et laadida selle asemel kaugpilte.",
|
||||
"advanced_settings_prefer_remote_subtitle": "M├╡ned seadmed laadivad lokaalsete ├╝ksuste pisipilte piinavalt aeglaselt. Aktiveeri see seadistus, et laadida selle asemel kaugpilte.",
|
||||
"advanced_settings_prefer_remote_title": "Eelista kaugpilte",
|
||||
"advanced_settings_proxy_headers_subtitle": "M├д├дra vaheserveri p├дised, mida Immich peaks iga p├дringuga saatma",
|
||||
"advanced_settings_proxy_headers_title": "Vaheserveri p├дised",
|
||||
@@ -388,6 +406,7 @@
|
||||
"album_options": "Albumi valikud",
|
||||
"album_remove_user": "Eemalda kasutaja?",
|
||||
"album_remove_user_confirmation": "Kas oled kindel, et soovid kasutaja {user} eemaldada?",
|
||||
"album_search_not_found": "Otsingule vastavaid albumeid ei leitud",
|
||||
"album_share_no_users": "Paistab, et oled seda albumit k├╡ikide kasutajatega jaganud, v├╡i pole ├╝htegi kasutajat, kellega jagada.",
|
||||
"album_updated": "Album muudetud",
|
||||
"album_updated_setting_description": "Saa teavitus e-posti teel, kui jagatud albumis on uusi ├╝ksuseid",
|
||||
@@ -407,6 +426,7 @@
|
||||
"albums_default_sort_order": "Vaikimisi albumi j├дrjestus",
|
||||
"albums_default_sort_order_description": "Uute albumite lisamisel ├╝ksuste esialgne j├дrjekord.",
|
||||
"albums_feature_description": "├Ьksuste kollektsioonid, mida saab teiste kasutajatega jagada.",
|
||||
"albums_on_device_count": "Albumid seadmel ({count})",
|
||||
"all": "K├╡ik",
|
||||
"all_albums": "K├╡ik albumid",
|
||||
"all_people": "K├╡ik isikud",
|
||||
@@ -427,6 +447,7 @@
|
||||
"app_settings": "Rakenduse seaded",
|
||||
"appears_in": "Albumid",
|
||||
"archive": "Arhiiv",
|
||||
"archive_action_prompt": "{count} lisatud arhiivi",
|
||||
"archive_or_unarchive_photo": "Arhiveeri v├╡i taasta foto",
|
||||
"archive_page_no_archived_assets": "Arhiveeritud ├╝ksuseid ei leitud",
|
||||
"archive_page_title": "Arhiveeri ({count})",
|
||||
@@ -464,7 +485,6 @@
|
||||
"assets": "├Ьksused",
|
||||
"assets_added_count": "{count, plural, one {# ├╝ksus} other {# ├╝ksust}} lisatud",
|
||||
"assets_added_to_album_count": "{count, plural, one {# ├╝ksus} other {# ├╝ksust}} albumisse lisatud",
|
||||
"assets_added_to_name_count": "{count, plural, one {# ├╝ksus} other {# ├╝ksust}} lisatud {hasName, select, true {albumisse <b>{name}</b>} other {uude albumisse}}",
|
||||
"assets_cannot_be_added_to_album_count": "{count, plural, one {├Ьksust} other {├Ьksuseid}} ei saa albumisse lisada",
|
||||
"assets_count": "{count, plural, one {# ├╝ksus} other {# ├╝ksust}}",
|
||||
"assets_deleted_permanently": "{count} ├╝ksus(t) j├д├дdavalt kustutatud",
|
||||
@@ -587,6 +607,7 @@
|
||||
"cancel": "Katkesta",
|
||||
"cancel_search": "Katkesta otsing",
|
||||
"canceled": "T├╝histatud",
|
||||
"canceling": "T├╝histamine",
|
||||
"cannot_merge_people": "Ei saa isikuid ├╝hendada",
|
||||
"cannot_undo_this_action": "Sa ei saa seda tagasi v├╡tta!",
|
||||
"cannot_update_the_description": "Kirjelduse muutmine eba├╡nnestus",
|
||||
@@ -703,7 +724,7 @@
|
||||
"daily_title_text_date": "d. MMMM",
|
||||
"daily_title_text_date_year": "d. MMMM yyyy",
|
||||
"dark": "Tume",
|
||||
"darkTheme": "L├╝lita tume teema",
|
||||
"dark_theme": "L├╝lita tume teema",
|
||||
"date_after": "Kuup├дev p├дrast",
|
||||
"date_and_time": "Kuup├дev ja kellaaeg",
|
||||
"date_before": "Kuup├дev enne",
|
||||
@@ -719,6 +740,7 @@
|
||||
"default_locale": "Vaikimisi lokaat",
|
||||
"default_locale_description": "Vorminda kuup├дevad ja numbrid vastavalt brauseri lokaadile",
|
||||
"delete": "Kustuta",
|
||||
"delete_action_prompt": "{count} j├д├дdavalt kustutatud",
|
||||
"delete_album": "Kustuta album",
|
||||
"delete_api_key_prompt": "Kas oled kindel, et soovid selle API v├╡tme kustutada?",
|
||||
"delete_dialog_alert": "Need ├╝ksused kustutatakse j├д├дdavalt Immich'ist ja sinu seadmest",
|
||||
@@ -732,6 +754,7 @@
|
||||
"delete_key": "Kustuta v├╡ti",
|
||||
"delete_library": "Kustuta kogu",
|
||||
"delete_link": "Kustuta link",
|
||||
"delete_local_action_prompt": "{count} kustutatud lokaalselt",
|
||||
"delete_local_dialog_ok_backed_up_only": "Kustuta ainult varundatud",
|
||||
"delete_local_dialog_ok_force": "Kustuta sellegipoolest",
|
||||
"delete_others": "Kustuta teised",
|
||||
@@ -745,6 +768,7 @@
|
||||
"description": "Kirjeldus",
|
||||
"description_input_hint_text": "Lisa kirjeldus...",
|
||||
"description_input_submit_error": "Viga kirjelduse muutmisel, rohkem infot leiad logist",
|
||||
"deselect_all": "Eemalda k├╡ik valikust",
|
||||
"details": "├Ьksikasjad",
|
||||
"direction": "Suund",
|
||||
"disabled": "V├дlja l├╝litatud",
|
||||
@@ -762,6 +786,7 @@
|
||||
"documentation": "Dokumentatsioon",
|
||||
"done": "Tehtud",
|
||||
"download": "Laadi alla",
|
||||
"download_action_prompt": "{count} ├╝ksust laaditakse alla",
|
||||
"download_canceled": "Allalaadimine katkestatud",
|
||||
"download_complete": "Allalaadimine l├╡petatud",
|
||||
"download_enqueue": "Allalaadimine ootel",
|
||||
@@ -799,6 +824,7 @@
|
||||
"edit_key": "Muuda v├╡tit",
|
||||
"edit_link": "Muuda linki",
|
||||
"edit_location": "Muuda asukohta",
|
||||
"edit_location_action_prompt": "{count} asukoht muudetud",
|
||||
"edit_location_dialog_title": "Asukoht",
|
||||
"edit_name": "Muuda nime",
|
||||
"edit_people": "Muuda isikuid",
|
||||
@@ -817,6 +843,7 @@
|
||||
"empty_trash": "T├╝hjenda pr├╝gikast",
|
||||
"empty_trash_confirmation": "Kas oled kindel, et soovid pr├╝gikasti t├╝hjendada? See eemaldab k├╡ik seal olevad ├╝ksused Immich'ist j├д├дdavalt.\nSeda tegevust ei saa tagasi v├╡tta!",
|
||||
"enable": "Luba",
|
||||
"enable_backup": "Luba varundus",
|
||||
"enable_biometric_auth_description": "Biomeetrilise autentimise lubamiseks sisesta oma PIN-kood",
|
||||
"enabled": "Lubatud",
|
||||
"end_date": "L├╡ppkuup├дev",
|
||||
@@ -984,6 +1011,7 @@
|
||||
"failed_to_load_assets": "├Ьksuste laadimine eba├╡nnestus",
|
||||
"failed_to_load_folder": "Kausta laadimine eba├╡nnestus",
|
||||
"favorite": "Lemmik",
|
||||
"favorite_action_prompt": "{count} lisatud lemmikutesse",
|
||||
"favorite_or_unfavorite_photo": "Lisa foto lemmikutesse v├╡i eemalda lemmikutest",
|
||||
"favorites": "Lemmikud",
|
||||
"favorites_page_no_favorites": "Lemmikuid ├╝ksuseid ei leitud",
|
||||
@@ -1099,7 +1127,7 @@
|
||||
"ios_debug_info_no_processes_queued": "Taustaprotsesse pole j├дrjekorras",
|
||||
"ios_debug_info_no_sync_yet": "Taustal s├╝nkroonimise t├╢├╢de pole veel k├дinud",
|
||||
"ios_debug_info_processes_queued": "{count, plural, one {{count} taustaprotsess j├дrjekorras} other {{count} taustaprotsessi j├дrjekorras}}",
|
||||
"ios_debug_info_processing_ran_at": "T├╢├╢tlemine k├дis {dateTime}",
|
||||
"ios_debug_info_processing_ran_at": "T├╢├╢tlemine toimus {dateTime}",
|
||||
"items_count": "{count, plural, one {# ├╝ksus} other {# ├╝ksust}}",
|
||||
"jobs": "T├╢├╢ted",
|
||||
"keep": "J├дta alles",
|
||||
@@ -1127,6 +1155,7 @@
|
||||
"library_page_sort_created": "Loomise aeg",
|
||||
"library_page_sort_last_modified": "Viimase muutmise aeg",
|
||||
"library_page_sort_title": "Albumi pealkiri",
|
||||
"licenses": "Litsentsid",
|
||||
"light": "Hele",
|
||||
"like_deleted": "Meeldimine kustutatud",
|
||||
"link_motion_video": "Lingi liikuv video",
|
||||
@@ -1246,6 +1275,7 @@
|
||||
"more": "Rohkem",
|
||||
"move": "Liiguta",
|
||||
"move_off_locked_folder": "Liiguta lukustatud kaustast v├дlja",
|
||||
"move_to_lock_folder_action_prompt": "{count} lisatud lukustatud kausta",
|
||||
"move_to_locked_folder": "Liiguta lukustatud kausta",
|
||||
"move_to_locked_folder_confirmation": "Need fotod ja videod eemaldatakse k├╡igist albumitest ning nad on n├дhtavad ainult lukustatud kaustas",
|
||||
"moved_to_archive": "{count, plural, one {# ├╝ksus} other {# ├╝ksust}} liigutatud arhiivi",
|
||||
@@ -1460,6 +1490,7 @@
|
||||
"purchase_server_description_2": "Toetaja staatus",
|
||||
"purchase_server_title": "Server",
|
||||
"purchase_settings_server_activated": "Serveri tootev├╡tit haldab administraator",
|
||||
"queue_status": "J├дrjekorras {count}/{total}",
|
||||
"rating": "Hinnang",
|
||||
"rating_clear": "T├╝hjenda hinnang",
|
||||
"rating_count": "{count, plural, one {# t├дrn} other {# t├дrni}}",
|
||||
@@ -1495,7 +1526,9 @@
|
||||
"remove_custom_date_range": "Eemalda kohandatud kuup├дevavahemik",
|
||||
"remove_deleted_assets": "Eemalda kustutatud ├╝ksused",
|
||||
"remove_from_album": "Eemalda albumist",
|
||||
"remove_from_album_action_prompt": "{count} eemaldatud albumist",
|
||||
"remove_from_favorites": "Eemalda lemmikutest",
|
||||
"remove_from_lock_folder_action_prompt": "{count} eemaldatud lukustatud kaustast",
|
||||
"remove_from_locked_folder": "Eemalda lukustatud kaustast",
|
||||
"remove_from_locked_folder_confirmation": "Kas oled kindel, et soovid need fotod ja videod lukustatud kaustast v├дlja liigutada? Need muutuvad su kogus n├дhtavaks.",
|
||||
"remove_from_shared_link": "Eemalda jagatud lingist",
|
||||
@@ -1667,6 +1700,7 @@
|
||||
"settings_saved": "Seaded salvestatud",
|
||||
"setup_pin_code": "Seadista PIN-kood",
|
||||
"share": "Jaga",
|
||||
"share_action_prompt": "Jagatud {count} ├╝ksust",
|
||||
"share_add_photos": "Lisa fotosid",
|
||||
"share_assets_selected": "{count} valitud",
|
||||
"share_dialog_preparing": "Ettevalmistamine...",
|
||||
@@ -1768,6 +1802,7 @@
|
||||
"sort_title": "Pealkiri",
|
||||
"source": "L├дhtekood",
|
||||
"stack": "Virnasta",
|
||||
"stack_action_prompt": "{count} virnastatud",
|
||||
"stack_duplicates": "Virnasta duplikaadid",
|
||||
"stack_select_one_photo": "Vali virnale kaanefoto",
|
||||
"stack_selected_photos": "Virnasta valitud fotod",
|
||||
@@ -1838,6 +1873,7 @@
|
||||
"total": "Kokku",
|
||||
"total_usage": "Kogukasutus",
|
||||
"trash": "Pr├╝gikast",
|
||||
"trash_action_prompt": "{count} liigutatud pr├╝gikasti",
|
||||
"trash_all": "K├╡ik pr├╝gikasti",
|
||||
"trash_count": "Liiguta {count, number} pr├╝gikasti",
|
||||
"trash_delete_asset": "Kustuta ├╝ksus",
|
||||
@@ -1855,9 +1891,11 @@
|
||||
"unable_to_change_pin_code": "PIN-koodi muutmine eba├╡nnestus",
|
||||
"unable_to_setup_pin_code": "PIN-koodi seadistamine eba├╡nnestus",
|
||||
"unarchive": "Taasta arhiivist",
|
||||
"unarchive_action_prompt": "{count} eemaldatud arhiivist",
|
||||
"unarchived_count": "{count, plural, other {# arhiivist taastatud}}",
|
||||
"undo": "V├╡ta tagasi",
|
||||
"unfavorite": "Eemalda lemmikutest",
|
||||
"unfavorite_action_prompt": "{count} eemaldatud lemmikutest",
|
||||
"unhide_person": "├Дra peida isikut",
|
||||
"unknown": "Teadmata",
|
||||
"unknown_country": "Tundmatu riik",
|
||||
@@ -1875,12 +1913,15 @@
|
||||
"unselect_all_duplicates": "├Дra vali duplikaate",
|
||||
"unselect_all_in": "├Дra vali ├╝htegi grupis {group}",
|
||||
"unstack": "Eralda",
|
||||
"unstack_action_prompt": "{count} eraldatud",
|
||||
"unstacked_assets_count": "{count, plural, one {# ├╝ksus} other {# ├╝ksust}} eraldatud",
|
||||
"untagged": "Sildistamata",
|
||||
"up_next": "J├дrgmine",
|
||||
"updated_at": "Uuendatud",
|
||||
"updated_password": "Parool muudetud",
|
||||
"upload": "Laadi ├╝les",
|
||||
"upload_concurrency": "├Ьleslaadimise samaaegsus",
|
||||
"upload_details": "├Ьleslaadimise ├╝ksikasjad",
|
||||
"upload_dialog_info": "Kas soovid valitud ├╝ksuse(d) serverisse varundada?",
|
||||
"upload_dialog_title": "├Ьksuse ├╝leslaadimine",
|
||||
"upload_errors": "├Ьleslaadimine l├╡petatud {count, plural, one {# veaga} other {# veaga}}, uute ├╝ksuste n├дgemiseks v├дrskenda lehte.",
|
||||
@@ -1912,6 +1953,7 @@
|
||||
"user_usage_stats_description": "Vaata konto kasutuse statistikat",
|
||||
"username": "Kasutajanimi",
|
||||
"users": "Kasutajad",
|
||||
"users_added_to_album_count": "{count, plural, one {# kasutaja} other {# kasutajat}} lisatud albumisse",
|
||||
"utilities": "T├╢├╢riistad",
|
||||
"validate": "Valideeri",
|
||||
"validate_endpoint_error": "Sisesta korrektne URL",
|
||||
@@ -1930,6 +1972,7 @@
|
||||
"view_album": "Vaata albumit",
|
||||
"view_all": "Vaata k├╡iki",
|
||||
"view_all_users": "Vaata k├╡iki kasutajaid",
|
||||
"view_details": "Vaata ├╝ksikasju",
|
||||
"view_in_timeline": "Vaata ajajoonel",
|
||||
"view_link": "Vaata linki",
|
||||
"view_links": "Vaata linke",
|
||||
|
||||
+65
-8
@@ -166,6 +166,20 @@
|
||||
"metadata_settings_description": "Hallitse metatietoja",
|
||||
"migration_job": "Migraatio",
|
||||
"migration_job_description": "Migroi aineiston pikkukuvat ja kasvot uusimpaan kansiorakenteeseen",
|
||||
"nightly_tasks_cluster_faces_setting_description": "Aja kasvojen tunnistus uusiin tunnistettuihin kasvoihin",
|
||||
"nightly_tasks_cluster_new_faces_setting": "Kokoa uudet kasvot",
|
||||
"nightly_tasks_database_cleanup_setting": "Tietokannan puhdistuksen teht├дv├дt",
|
||||
"nightly_tasks_database_cleanup_setting_description": "Siivoa vanhentunut data tietokannasta",
|
||||
"nightly_tasks_generate_memories_setting": "Luo muistoja",
|
||||
"nightly_tasks_generate_memories_setting_description": "Luo kohteista uusia muistoja",
|
||||
"nightly_tasks_missing_thumbnails_setting": "Luo puuttuvat pikkukuvat",
|
||||
"nightly_tasks_missing_thumbnails_setting_description": "Laita ilman pikkukuvia olevat kohteet jonoon pikkukuvien luontia varten",
|
||||
"nightly_tasks_settings": "Y├╢llisten teht├дvien asetukset",
|
||||
"nightly_tasks_settings_description": "Hallitse y├╢llisi├д teht├дvi├д",
|
||||
"nightly_tasks_start_time_setting": "Aloitusaika",
|
||||
"nightly_tasks_start_time_setting_description": "Aika jolloin palvelin aloittaa y├╢llisten teht├дvien ajon",
|
||||
"nightly_tasks_sync_quota_usage_setting": "Synkronointikiinti├╢n k├дytt├╢",
|
||||
"nightly_tasks_sync_quota_usage_setting_description": "P├дivit├д k├дytt├дj├дn tallennustilan kiinti├╢ nykyisen k├дyt├╢n mukaan",
|
||||
"no_paths_added": "Polkuja ei asetettu",
|
||||
"no_pattern_added": "Kaavoja ei lis├дttyn├д",
|
||||
"note_apply_storage_label_previous_assets": "Huom: Asettaaksesi nimikkeen aiemmin ladatulle aineistolle, aja",
|
||||
@@ -196,6 +210,8 @@
|
||||
"oauth_mobile_redirect_uri": "Mobiilin uudellenohjaus-URI",
|
||||
"oauth_mobile_redirect_uri_override": "Ohita mobiilin uudelleenohjaus-URI",
|
||||
"oauth_mobile_redirect_uri_override_description": "Ota k├дytt├╢├╢n kun OAuth tarjoaja ei salli mobiili URI:a, kuten ''{callback}''",
|
||||
"oauth_role_claim": "Roolin vaatimus",
|
||||
"oauth_role_claim_description": "Salli p├д├дk├дytt├дj├дn p├д├дsyoikeus automaattisesti t├дm├дn vaatimuksen perusteella. Vaatimus voi sis├дlt├д├д, joko 'k├дytt├дj├дn' tai 'p├д├дk├дytt├дj├дn'.",
|
||||
"oauth_settings": "OAuth",
|
||||
"oauth_settings_description": "Hallitse OAuth-kirjautumisen asetuksia",
|
||||
"oauth_settings_more_details": "Saadaksesi lis├дtietoja t├дst├д toiminnosta, katso <link>dokumentaatio</link>.",
|
||||
@@ -244,6 +260,7 @@
|
||||
"storage_template_migration_info": "Tallennusmalli muuntaa kaikki tiedostop├д├дtteet pieniksi kirjaimiksi. Mallipohjan muutokset koskevat vain uusia resursseja. Jos haluat k├дytt├д├д mallipohjaa takautuvasti aiemmin ladattuihin resursseihin, suorita <link>{job}</link>.",
|
||||
"storage_template_migration_job": "Tallennustilan mallin muutosty├╢",
|
||||
"storage_template_more_details": "Saadaksesi lis├дtietoa t├дst├д ominaisuudesta, katso <template-link>Tallennustilan Mallit</template-link> sek├д <implications-link>mihin se vaikuttaa</implications-link>",
|
||||
"storage_template_onboarding_description_v2": "P├д├дlle kytkettyn├д, toiminto j├дrjestestelee tiedostot automaattisesti k├дytt├дj├дn m├д├дritt├дm├дn mallin mukaisesti. Lis├дtietoja <link>dokumentaatiosta</link>..",
|
||||
"storage_template_path_length": "Arvioitu tiedostopolun pituusrajoitus: <b>{length, number}</b>/{limit, number}",
|
||||
"storage_template_settings": "Tallennustilan malli",
|
||||
"storage_template_settings_description": "Hallitse palvelimelle ladatun aineiston kansiorakennetta ja tiedostonimi├д",
|
||||
@@ -403,6 +420,9 @@
|
||||
"album_with_link_access": "Anna kenen tahansa n├дhd├д linkin kautta t├дm├дn albumin valokuvat ja henkil├╢t.",
|
||||
"albums": "Albumit",
|
||||
"albums_count": "{count, plural, one {{count, number} albumi} other {{count, number} albumia}}",
|
||||
"albums_default_sort_order": "Albumin oletuslajitteluj├дrjestys",
|
||||
"albums_default_sort_order_description": "Kohteiden ensisijainen lajitteluj├дrjestys uusia albumeja luotaessa.",
|
||||
"albums_feature_description": "Kokoelma kohteita, jotka voidaan jakaa muille k├дytt├дjille.",
|
||||
"all": "Kaikki",
|
||||
"all_albums": "Kaikki albumit",
|
||||
"all_people": "Kaikki henkil├╢t",
|
||||
@@ -423,6 +443,7 @@
|
||||
"app_settings": "Sovellusasetukset",
|
||||
"appears_in": "Esiintyy albumeissa",
|
||||
"archive": "Arkisto",
|
||||
"archive_action_prompt": "{count} lis├дtty arkistoon",
|
||||
"archive_or_unarchive_photo": "Arkistoi kuva tai palauta arkistosta",
|
||||
"archive_page_no_archived_assets": "Arkistoituja kohteita ei l├╢ytynyt",
|
||||
"archive_page_title": "Arkisto ({count})",
|
||||
@@ -460,10 +481,12 @@
|
||||
"assets": "Kohteet",
|
||||
"assets_added_count": "Lis├дtty {count, plural, one {# kohde} other {# kohdetta}}",
|
||||
"assets_added_to_album_count": "Albumiin lis├дtty {count, plural, one {# kohde} other {# kohdetta}}",
|
||||
"assets_added_to_name_count": "Lis├дtty {count, plural, one {# kohde} other {# kohdetta}} {hasName, select, true {<b>{name}</b>} other {uuteen albumiin}}",
|
||||
"assets_cannot_be_added_to_album_count": "{count, plural, one {Kohdetta} other {Kohdetta}} ei voida lis├дt├д albumiin",
|
||||
"assets_count": "{count, plural, one {# media} other {# mediaa}}",
|
||||
"assets_deleted_permanently": "{count} kohdetta poistettu pysyv├дsti",
|
||||
"assets_deleted_permanently_from_server": "{count} objektia poistettu pysyv├дsti Immich-palvelimelta",
|
||||
"assets_downloaded_failed": "{count, plural, one {Ladattu # tiedosto - {error} tiedosto ep├дonnistui} other {ladattu # tiedostoa - {error} tiedostot ep├дonnistuivat}}",
|
||||
"assets_downloaded_successfully": "{count, plural, one {Ladattu # tiedosto onnistuneesti} other {Ladattu # tiedostoa onnistuneesti}}",
|
||||
"assets_moved_to_trash_count": "Siirretty {count, plural, one {# media} other {# mediaa}} roskakoriin",
|
||||
"assets_permanently_deleted_count": "{count, plural, one {# media} other {# mediaa}} poistettu pysyv├дsti",
|
||||
"assets_removed_count": "{count, plural, one {# media} other {# mediaa}} poistettu",
|
||||
@@ -478,6 +501,7 @@
|
||||
"authorized_devices": "Valtuutetut laitteet",
|
||||
"automatic_endpoint_switching_subtitle": "Yhdist├д paikallisesti nimetyn Wi-Fi-yhteyden kautta, kun se on saatavilla, ja k├дyt├д vaihtoehtoisia yhteyksi├д muualla",
|
||||
"automatic_endpoint_switching_title": "Automaattinen URL-osoitteen vaihto",
|
||||
"autoplay_slideshow": "Toista diaesitys automaattisesti",
|
||||
"back": "Takaisin",
|
||||
"back_close_deselect": "Palaa, sulje tai poista valinnat",
|
||||
"background_location_permission": "Taustasijainnin k├дytt├╢oikeus",
|
||||
@@ -582,7 +606,8 @@
|
||||
"cannot_merge_people": "Ihmisi├д ei voitu yhdist├д├д",
|
||||
"cannot_undo_this_action": "Et voi perua t├дt├д toimintoa!",
|
||||
"cannot_update_the_description": "Kuvausta ei voi p├дivitt├д├д",
|
||||
"cast": "L├дhett├д├д",
|
||||
"cast": "Suoratoisto",
|
||||
"cast_description": "M├д├дrit├д saatavilla olevat suoratoistopalvelut",
|
||||
"change_date": "Vaihda p├дiv├дys",
|
||||
"change_description": "Muuta kuvausta",
|
||||
"change_display_order": "Muuta n├дytt├╢j├дrjestyst├д",
|
||||
@@ -641,6 +666,7 @@
|
||||
"confirm_password": "Vahvista salasana",
|
||||
"confirm_tag_face": "Haluatko merkit├д n├дm├д kasvot nimell├д {name}?",
|
||||
"confirm_tag_face_unnamed": "Merkit├д├дnk├╢ n├дm├д kasvot?",
|
||||
"connected_device": "Yhdistetty laite",
|
||||
"connected_to": "Yhdistetty",
|
||||
"contain": "Mahduta",
|
||||
"context": "Konteksti",
|
||||
@@ -693,6 +719,7 @@
|
||||
"daily_title_text_date": "E, dd MMM",
|
||||
"daily_title_text_date_year": "E, dd MMM, yyyy",
|
||||
"dark": "Tumma",
|
||||
"dark_theme": "Vaihda tumma teema",
|
||||
"date_after": "P├дiv├дm├д├дr├дn j├дlkeen",
|
||||
"date_and_time": "P├дiv├дm├д├дr├д ja aika",
|
||||
"date_before": "P├дiv├д ennen",
|
||||
@@ -708,6 +735,7 @@
|
||||
"default_locale": "Oletuskieliasetus",
|
||||
"default_locale_description": "Muotoile p├дiv├дm├д├дr├дt ja numerot selaimesi kielen mukaan",
|
||||
"delete": "Poista",
|
||||
"delete_action_prompt": "{count} poistettu pysyv├дsti",
|
||||
"delete_album": "Poista albumi",
|
||||
"delete_api_key_prompt": "Haluatko varmasti poistaa t├дm├дn API-avaimen?",
|
||||
"delete_dialog_alert": "N├дm├д kohteet poistetaan pysyv├дsti Immich:st├д ja laitteeltasi",
|
||||
@@ -740,12 +768,13 @@
|
||||
"disallow_edits": "├Дl├д salli muokkauksia",
|
||||
"discord": "Discord",
|
||||
"discover": "Tutki",
|
||||
"discovered_devices": "L├╢ydetyt laitteet",
|
||||
"dismiss_all_errors": "Sivuuta kaikki virheet",
|
||||
"dismiss_error": "Sivuuta virhe",
|
||||
"display_options": "N├дytt├╢asetukset",
|
||||
"display_order": "N├дytt├╢j├дrjestys",
|
||||
"display_original_photos": "N├дyt├д alkuper├дiset kuvat",
|
||||
"display_original_photos_setting_description": "N├дyt├д mieluiten alkuper├дinen kuva peukalokuvan sijasta kun alkuper├дinen aineisto on web-yhteensopiva. T├дm├д voi aiheuttaa kuvien n├дytt├дmisen hitautta.",
|
||||
"display_original_photos_setting_description": "N├дyt├д mieluiten alkuper├дinen kuva esikatselukuvan sijasta, kun alkuper├дinen kuva on web-yhteensopiva. T├дm├д voi aiheuttaa kuvien n├дytt├дmisen hitautta.",
|
||||
"do_not_show_again": "├Дl├д n├дyt├д t├дt├д en├д├д",
|
||||
"documentation": "Dokumentaatio",
|
||||
"done": "Valmis",
|
||||
@@ -787,6 +816,7 @@
|
||||
"edit_key": "Muokkaa avainta",
|
||||
"edit_link": "Muokkaa linkki├д",
|
||||
"edit_location": "Muokkaa sijaintia",
|
||||
"edit_location_action_prompt": "{count} sijaintia muokattu",
|
||||
"edit_location_dialog_title": "Sijainti",
|
||||
"edit_name": "Muokkaa nime├д",
|
||||
"edit_people": "Muokkaa henkil├╢it├д",
|
||||
@@ -972,6 +1002,7 @@
|
||||
"failed_to_load_assets": "Kohteiden lataus ep├дonnistui",
|
||||
"failed_to_load_folder": "Kansion lataaminen ep├дonnistui",
|
||||
"favorite": "Suosikki",
|
||||
"favorite_action_prompt": "{count} lis├дtty suosikkeihin",
|
||||
"favorite_or_unfavorite_photo": "Suosikki- tai ei-suosikkikuva",
|
||||
"favorites": "Suosikit",
|
||||
"favorites_page_no_favorites": "Suosikkikohteita ei l├╢ytynyt",
|
||||
@@ -1086,6 +1117,8 @@
|
||||
"ios_debug_info_last_sync_at": "Viimeisin synkronisointi {dateTime}",
|
||||
"ios_debug_info_no_processes_queued": "Ei taustaprosesseja jonossa",
|
||||
"ios_debug_info_no_sync_yet": "Taustasynkronisointia ei ole suoritettu viel├д",
|
||||
"ios_debug_info_processes_queued": "{count, plural, one {{count} taustaprosessi jonossa} other {{count} taustaprosessia jonossa}}",
|
||||
"ios_debug_info_processing_ran_at": "Prosessi valmistui {dateTime}",
|
||||
"items_count": "{count, plural, one {# kpl} other {# kpl}}",
|
||||
"jobs": "Taustateht├дv├дt",
|
||||
"keep": "S├дilyt├д",
|
||||
@@ -1094,6 +1127,9 @@
|
||||
"kept_this_deleted_others": "T├дm├д kohde s├дilytettiin. {count, plural, one {# asset} other {# assets}} poistettiin",
|
||||
"keyboard_shortcuts": "Pikan├дpp├дimet",
|
||||
"language": "Kieli",
|
||||
"language_no_results_subtitle": "Yrit├д s├д├дt├д├д hakuehtoja",
|
||||
"language_no_results_title": "Kieli├д ei l├╢ydetty",
|
||||
"language_search_hint": "Etsi kieli├д...",
|
||||
"language_setting_description": "Valitse suosimasi kieli",
|
||||
"last_seen": "Viimeksi n├дhty",
|
||||
"latest_version": "Viimeisin versio",
|
||||
@@ -1119,6 +1155,7 @@
|
||||
"list": "Lista",
|
||||
"loading": "Ladataan",
|
||||
"loading_search_results_failed": "Hakutulosten lataaminen ep├дonnistui",
|
||||
"local_asset_cast_failed": "Kohdetta, joka ei ole ladattuna palvelimelle, ei voida striimata",
|
||||
"local_network": "L├дhiverkko",
|
||||
"local_network_sheet_info": "Sovellus muodostaa yhteyden palvelimeen t├дm├дn URL-osoitteen kautta, kun k├дytet├д├дn m├д├дritetty├д Wi-Fi-verkkoa",
|
||||
"location_permission": "Sijainnin k├дytt├╢oikeus",
|
||||
@@ -1132,6 +1169,7 @@
|
||||
"locked_folder": "Lukittu kansio",
|
||||
"log_out": "Kirjaudu ulos",
|
||||
"log_out_all_devices": "Kirjaudu ulos kaikilta laitteilta",
|
||||
"logged_in_as": "Kirjautunut k├дytt├дj├дn├д {user}",
|
||||
"logged_out_all_devices": "Kaikki laitteet kirjattu ulos",
|
||||
"logged_out_device": "Laite kirjattu ulos",
|
||||
"login": "Kirjaudu",
|
||||
@@ -1220,13 +1258,14 @@
|
||||
"merged_people_count": "{count, plural, one {# Henkil├╢} other {# henkil├╢├д}} yhdistetty",
|
||||
"minimize": "PIenenn├д",
|
||||
"minute": "Minuutti",
|
||||
"missing": "Puuttuu",
|
||||
"missing": "Puuttuvat",
|
||||
"model": "Malli",
|
||||
"month": "Kuukauden mukaan",
|
||||
"monthly_title_text_date_format": "MMMM y",
|
||||
"more": "Enemm├дn",
|
||||
"move": "Siirr├д",
|
||||
"move_off_locked_folder": "Siirr├д pois lukitusta kansiosta",
|
||||
"move_to_lock_folder_action_prompt": "{count} lis├дtty lukittuun kansioon",
|
||||
"move_to_locked_folder": "Siirr├д lukittuun kansioon",
|
||||
"move_to_locked_folder_confirmation": "N├дm├д kuvat ja videot poistetaan kaikista albumeista, ja ne ovat n├дht├дviss├д vain lukitussa kansiossa",
|
||||
"moved_to_archive": "Siirretty {count, plural, one {# kohde} other {# kohdetta}} arkistoon",
|
||||
@@ -1259,6 +1298,7 @@
|
||||
"no_archived_assets_message": "Arkistoi kuvia ja videoita piilottaaksesi ne kuvat n├дkym├дst├д",
|
||||
"no_assets_message": "NAPAUTA LATAAKSESI ENSIMM├ДISEN KUVASI",
|
||||
"no_assets_to_show": "Ei n├дytett├дvi├д kohteita",
|
||||
"no_cast_devices_found": "Cast-laitteita ei l├╢ytynyt",
|
||||
"no_duplicates_found": "Kaksoiskappaleita ei l├╢ytynyt.",
|
||||
"no_exif_info_available": "EXIF-tietoa ei saatavilla",
|
||||
"no_explore_results_message": "Lataa lis├д├д kuvia tutkiaksesi kokoelmaasi.",
|
||||
@@ -1291,8 +1331,11 @@
|
||||
"oldest_first": "Vanhin ensin",
|
||||
"on_this_device": "Laitteella",
|
||||
"onboarding": "K├дytt├╢├╢notto",
|
||||
"onboarding_privacy_description": "Seuraavat (valinnaiset) ominaisuudet perustuvat ulkoisiin palveluihin, ja ne voidaan poistaa k├дyt├╢st├д milloin tahansa hallinta asetuksista.",
|
||||
"onboarding_locale_description": "Valitse haluamasi kieli. Voit muuttaa kieliasetuksia my├╢hemmin asetuksista.",
|
||||
"onboarding_privacy_description": "Seuraavat (valinnaiset) ominaisuudet perustuvat ulkoisiin palveluihin ja ne voidaan milloin tahansa poistaa k├дyt├╢st├д asetuksista.",
|
||||
"onboarding_server_welcome_description": "M├д├дritell├д├дn seuraavaksi j├дrjestelm├дsi muutamalla yleisell├д asetuksella.",
|
||||
"onboarding_theme_description": "Valitse v├дriteema istunnollesi. Voit muuttaa t├дm├дn my├╢hemmin asetuksistasi.",
|
||||
"onboarding_user_welcome_description": "Aloitetaan!",
|
||||
"onboarding_welcome_user": "Tervetuloa {user}",
|
||||
"online": "Online",
|
||||
"only_favorites": "Vain suosikit",
|
||||
@@ -1392,7 +1435,7 @@
|
||||
"previous_or_next_photo": "Kuva seuraava/edellinen",
|
||||
"previous_or_next_year": "Vuosi seuraava/edellinen",
|
||||
"primary": "Ensisijainen",
|
||||
"privacy": "Yksityisyys",
|
||||
"privacy": "Tietosuoja",
|
||||
"profile": "Profiili",
|
||||
"profile_drawer_app_logs": "Lokit",
|
||||
"profile_drawer_client_out_of_date_major": "Sovelluksen mobiiliversio on vanhentunut. P├дivit├д viimeisimp├д├дn merkitt├дv├д├дn versioon.",
|
||||
@@ -1472,12 +1515,15 @@
|
||||
"remove_custom_date_range": "Poista aikav├дlilt├д",
|
||||
"remove_deleted_assets": "Poista Offline-tiedostot",
|
||||
"remove_from_album": "Poista albumista",
|
||||
"remove_from_album_action_prompt": "{count} poistettu albumista",
|
||||
"remove_from_favorites": "Poista suosikeista",
|
||||
"remove_from_lock_folder_action_prompt": "{count} poistettu lukitusta albumista",
|
||||
"remove_from_locked_folder": "Poista lukitusta kansiosta",
|
||||
"remove_from_locked_folder_confirmation": "Haluatko varmasti siirt├д├д n├дm├д kuvat ja videot pois lukitusta kansiosta? Ne n├дkyv├дt sen j├дlkeen kirjastossasi.",
|
||||
"remove_from_shared_link": "Poista jakolinkist├д",
|
||||
"remove_memory": "Tyhjenn├д muisti",
|
||||
"remove_photo_from_memory": "Poista kuva muistista",
|
||||
"remove_tag": "Poista tunniste",
|
||||
"remove_url": "Poista URL",
|
||||
"remove_user": "Poista k├дytt├дj├д",
|
||||
"removed_api_key": "API-avain {name} poistettu",
|
||||
@@ -1584,6 +1630,7 @@
|
||||
"select_album_cover": "Valitse albmin kansi",
|
||||
"select_all": "Valitse kaikki",
|
||||
"select_all_duplicates": "Valitse kaikki kaksoiskappaleet",
|
||||
"select_all_in": "Valitse kaikki {group}",
|
||||
"select_avatar_color": "Valitse avatarin v├дri",
|
||||
"select_face": "Valitse kasvo",
|
||||
"select_featured_photo": "Valitse esittelykuva",
|
||||
@@ -1604,6 +1651,7 @@
|
||||
"server_info_box_server_url": "Palvelimen URL-osoite",
|
||||
"server_offline": "Palvelin Offline-tilassa",
|
||||
"server_online": "Palvelin Online-tilassa",
|
||||
"server_privacy": "Palvelimen tietosuoja",
|
||||
"server_stats": "Palvelimen tilastot",
|
||||
"server_version": "Palvelimen versio",
|
||||
"set": "Aseta",
|
||||
@@ -1613,6 +1661,7 @@
|
||||
"set_date_of_birth": "Aseta syntym├дaika",
|
||||
"set_profile_picture": "Aseta profiilikuva",
|
||||
"set_slideshow_to_fullscreen": "N├дyt├д diaesitys koko ruudulla",
|
||||
"set_stack_primary_asset": "Aseta p├д├дkohteeksi",
|
||||
"setting_image_viewer_help": "Kuvaa katseltaessa ensin ladataan pikkukuva, sitten keskilaatuinen pikkukuva (jos k├дyt├╢ss├д) ja lopuksi alkuper├дinen (jos k├дyt├╢ss├д).",
|
||||
"setting_image_viewer_original_subtitle": "Ota k├дytt├╢├╢n ladataksesi alkuper├дinen t├дysitarkkuuksinen kuva (suuri!). Poista k├дyt├╢st├д v├дhent├д├дksesi datan k├дytt├╢├д (sek├д verkossa ett├д laitteen v├дlimuistissa).",
|
||||
"setting_image_viewer_original_title": "Lataa alkuper├дinen kuva",
|
||||
@@ -1750,6 +1799,7 @@
|
||||
"start_date": "Alkup├дiv├д",
|
||||
"state": "Maakunta",
|
||||
"status": "Tila",
|
||||
"stop_casting": "Lopeta suoratoisto",
|
||||
"stop_motion_photo": "Pys├дyt├д liikkuva kuva",
|
||||
"stop_photo_sharing": "Lopetetaanko kuvien jakaminen?",
|
||||
"stop_photo_sharing_description": "{partner} ei en├д├д p├д├дse kuviisi.",
|
||||
@@ -1769,7 +1819,7 @@
|
||||
"sync_albums": "Synkronoi albumit",
|
||||
"sync_albums_manual_subtitle": "Synkronoi kaikki ladatut videot ja valokuvat valittuihin varmuuskopioalbumeihin",
|
||||
"sync_upload_album_setting_subtitle": "Luo ja lataa valokuvasi ja videosi valittuihin albumeihin Immichiss├д",
|
||||
"tag": "Lis├д├д tunniste",
|
||||
"tag": "Tunniste",
|
||||
"tag_assets": "Lis├д├д tunnisteita",
|
||||
"tag_created": "Luotu tunniste: {tag}",
|
||||
"tag_feature_description": "Selaa valokuvia ja videoita, jotka on ryhmitelty loogisten tunnisteotsikoiden mukaan",
|
||||
@@ -1810,6 +1860,7 @@
|
||||
"total": "Yhteens├д",
|
||||
"total_usage": "K├дytt├╢ yhteens├д",
|
||||
"trash": "Roskakori",
|
||||
"trash_action_prompt": "{count} siirretty roskakoriin",
|
||||
"trash_all": "Vie kaikki roskakoriin",
|
||||
"trash_count": "Roskakori {count, number}",
|
||||
"trash_delete_asset": "Poista / vie roskakoriin",
|
||||
@@ -1827,8 +1878,11 @@
|
||||
"unable_to_change_pin_code": "PIN-koodin vaihtaminen ep├дonnistui",
|
||||
"unable_to_setup_pin_code": "PIN-koodin m├д├дritt├дminen ep├дonnistui",
|
||||
"unarchive": "Palauta arkistosta",
|
||||
"unarchive_action_prompt": "{count} poistettu arkistosta",
|
||||
"unarchived_count": "{count, plural, other {# poistettu arkistosta}}",
|
||||
"undo": "Kumoa",
|
||||
"unfavorite": "Poista suosikeista",
|
||||
"unfavorite_action_prompt": "{count} poistettu suosikeista",
|
||||
"unhide_person": "Poista henkil├╢ piilosta",
|
||||
"unknown": "Tuntematon",
|
||||
"unknown_country": "Tuntematon maa",
|
||||
@@ -1844,8 +1898,10 @@
|
||||
"unsaved_change": "Tallentamaton muutos",
|
||||
"unselect_all": "Poista valinnat",
|
||||
"unselect_all_duplicates": "Poista kaikkien kaksoiskappaleiden valinta",
|
||||
"unselect_all_in": "Poista kaikki valinnat {group}",
|
||||
"unstack": "Pura pino",
|
||||
"unstacked_assets_count": "Poistettu pinosta {count, plural, one {# kohde} other {# kohdetta}}",
|
||||
"untagged": "Ilman tunnistetta",
|
||||
"up_next": "Seuraavaksi",
|
||||
"updated_at": "P├дivitetty",
|
||||
"updated_password": "Salasana p├дivitetty",
|
||||
@@ -1861,7 +1917,7 @@
|
||||
"upload_status_uploaded": "Ladattu",
|
||||
"upload_success": "Lataus onnistui. P├дivit├д sivu jotta n├дet latauksesi.",
|
||||
"upload_to_immich": "L├дhet├д Immichiin ({count})",
|
||||
"uploading": "L├дhett├д├дn",
|
||||
"uploading": "L├дhett├д├д",
|
||||
"url": "URL",
|
||||
"usage": "K├дytt├╢",
|
||||
"use_biometric": "K├дyt├д biometriikkaa",
|
||||
@@ -1873,6 +1929,7 @@
|
||||
"user_liked": "{user} tykk├дsi {type, select, photo {kuvasta} video {videosta} asset {mediasta} other {t├дst├д}}",
|
||||
"user_pin_code_settings": "PIN-koodi",
|
||||
"user_pin_code_settings_description": "Hallinnoi PIN-koodiasi",
|
||||
"user_privacy": "K├дytt├дj├дn tietosuoja",
|
||||
"user_purchase_settings": "Osta",
|
||||
"user_purchase_settings_description": "Hallitse ostostasi",
|
||||
"user_role_set": "Tee k├дytt├дj├дst├д {user} {role}",
|
||||
|
||||
@@ -14,10 +14,13 @@
|
||||
"add_a_location": "Dagdagan ng lugar",
|
||||
"add_a_name": "Dagdagan ng pangalan",
|
||||
"add_a_title": "Dagdagan ng pamagat",
|
||||
"add_endpoint": "Dagdagan ng dulo",
|
||||
"add_location": "Magdagdag ng lugar",
|
||||
"add_more_users": "Magdagdag ng mga user",
|
||||
"add_partner": "Magdagdag ng kasangga",
|
||||
"add_path": "Magdagdag ng path",
|
||||
"add_photos": "Magdagdag ng litrato",
|
||||
"add_tag": "Magdagdag ng tag",
|
||||
"add_to": "Idagdag saтАж",
|
||||
"add_to_album": "Idagdag sa album",
|
||||
"add_to_album_bottom_sheet_added": "Naidagdag sa {album}",
|
||||
|
||||
+47
-12
@@ -17,7 +17,7 @@
|
||||
"add_endpoint": "Ajouter une adresse",
|
||||
"add_exclusion_pattern": "Ajouter un sch├йma d'exclusion",
|
||||
"add_import_path": "Ajouter un chemin ├а importer",
|
||||
"add_location": "Ajouter un lieu",
|
||||
"add_location": "Ajouter une localisation",
|
||||
"add_more_users": "Ajouter plus d'utilisateurs",
|
||||
"add_partner": "Ajouter un partenaire",
|
||||
"add_path": "Ajouter un chemin",
|
||||
@@ -166,6 +166,20 @@
|
||||
"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",
|
||||
"nightly_tasks_cluster_faces_setting_description": "D├йmarrer la reconnaissance faciale sur les visages nouvellement d├йtect├йs",
|
||||
"nightly_tasks_cluster_new_faces_setting": "Regrouper les nouveaux visages",
|
||||
"nightly_tasks_database_cleanup_setting": "T├вches de nettoyage de la base de donn├йes",
|
||||
"nightly_tasks_database_cleanup_setting_description": "Nettoyage ancien, donn├йes de la base de donn├йes expir├йes",
|
||||
"nightly_tasks_generate_memories_setting": "G├йn├йrer les souvenirs",
|
||||
"nightly_tasks_generate_memories_setting_description": "Cr├йer des souvenirs ├а partir des ├йl├йments",
|
||||
"nightly_tasks_missing_thumbnails_setting": "G├йn├йrer les miniatures manquantes",
|
||||
"nightly_tasks_missing_thumbnails_setting_description": "Mettre en file d'attente les ├йl├йments sans miniature pour la cr├йation de miniature",
|
||||
"nightly_tasks_settings": "Param├иtres des t├вches de nuit",
|
||||
"nightly_tasks_settings_description": "G├йrer les t├вches de nuit",
|
||||
"nightly_tasks_start_time_setting": "Heure de d├йmarrage",
|
||||
"nightly_tasks_start_time_setting_description": "Heure ├а laquelle le serveur commence ├а ex├йcuter les t├вches de nuit",
|
||||
"nightly_tasks_sync_quota_usage_setting": "Synchroniser les quota d'usage",
|
||||
"nightly_tasks_sync_quota_usage_setting_description": "Mettre ├а jour les quota d'usage de l'utilisateur, en se basant sur l'utilisation actuelle",
|
||||
"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 envoy├йs, ex├йcutez",
|
||||
@@ -196,6 +210,8 @@
|
||||
"oauth_mobile_redirect_uri": "URI de redirection mobile",
|
||||
"oauth_mobile_redirect_uri_override": "Remplacer l'URI de redirection mobile",
|
||||
"oauth_mobile_redirect_uri_override_description": "Activer quand le fournisseur d'OAuth ne permet pas un URI mobile, comme ''{callback}''",
|
||||
"oauth_role_claim": "Attribut de r├┤le",
|
||||
"oauth_role_claim_description": "Donne automatiquement un acc├иs en tant qu'admin, en se basant sur la pr├йsence de cet attribut. L'attribut peut avoir soit 'user' (utilisateur) soit 'admin'.",
|
||||
"oauth_settings": "OAuth",
|
||||
"oauth_settings_description": "G├йrer les param├иtres de connexion OAuth",
|
||||
"oauth_settings_more_details": "Pour plus de d├йtails sur cette fonctionnalit├й, consultez <link>ce lien</link>.",
|
||||
@@ -244,7 +260,7 @@
|
||||
"storage_template_migration_info": "L'enregistrement des mod├иles va convertir toutes les extensions en minuscule. Les changements de mod├иle ne s'appliqueront qu'aux nouveaux m├йdias. Pour appliquer r├йtroactivement le mod├иle aux m├йdias pr├йc├йdemment envoy├йs, ex├йcutez la t├вche <link>{job}</link>.",
|
||||
"storage_template_migration_job": "T├вche de migration du mod├иle de stockage",
|
||||
"storage_template_more_details": "Pour plus de d├йtails sur cette fonctionnalit├й, reportez-vous au <template-link>Mod├иle de stockage</template-link> et ├а ses <implications-link>implications</implications-link>",
|
||||
"storage_template_onboarding_description_v2": "Quand elle est activ├йe, cette fonctionnalit├й organise automatiquement les fichiers, sur base d'un mod├иle d├йfini par l'utilisateur. Pour plus d'informations, se r├йp├йter ├а la <link>documentation</link>.",
|
||||
"storage_template_onboarding_description_v2": "Quand elle est activ├йe, cette fonctionnalit├й organise automatiquement les fichiers, sur base d'un mod├иle d├йfini par l'utilisateur. Pour plus d'informations, se r├йf├йrer ├а la <link>documentation</link>.",
|
||||
"storage_template_path_length": "Limite approximative de la longueur du cheminтАп: <b>{length, number}</b>/{limit, number}",
|
||||
"storage_template_settings": "Mod├иle de stockage",
|
||||
"storage_template_settings_description": "G├йrer la structure des dossiers et le nom des fichiers du m├йdia envoy├й",
|
||||
@@ -357,10 +373,12 @@
|
||||
"admin_password": "Mot de passe Admin",
|
||||
"administration": "Administration",
|
||||
"advanced": "Avanc├й",
|
||||
"advanced_settings_beta_timeline_subtitle": "Essayer la nouvelle application",
|
||||
"advanced_settings_beta_timeline_title": "Timeline de la b├йta",
|
||||
"advanced_settings_enable_alternate_media_filter_subtitle": "Utilisez cette option pour filtrer les m├йdia durant la synchronisation avec des crit├иres alternatifs. N'utilisez cela que lorsque l'application n'arrive pas ├а d├йtecter tout les albums.",
|
||||
"advanced_settings_enable_alternate_media_filter_title": "[EXP├ЙRIMENTAL] Utiliser le filtre de synchronisation d'album alternatif",
|
||||
"advanced_settings_log_level_title": "Niveau de journalisation┬а: {level}",
|
||||
"advanced_settings_prefer_remote_subtitle": "Certains appareils sont tr├иs lents ├а charger des miniatures ├а partir de ressources pr├йsentes sur l'appareil. Activez ce param├иtre pour charger des images externes ├а la place.",
|
||||
"advanced_settings_prefer_remote_subtitle": "Certains appareils sont tr├иs lents ├а charger des miniatures ├а partir de ressources locales. Activez ce param├иtre pour charger des images externes ├а la place.",
|
||||
"advanced_settings_prefer_remote_title": "Pr├йf├йrer les images externes",
|
||||
"advanced_settings_proxy_headers_subtitle": "Ajoutez des en-t├кtes personnalis├йs ├а chaque requ├кte r├йseau",
|
||||
"advanced_settings_proxy_headers_title": "En-t├кtes de proxy",
|
||||
@@ -413,8 +431,8 @@
|
||||
"all_videos": "Toutes les vid├йos",
|
||||
"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": "Autoriser l'envoi aux utilisateurs non connect├йs",
|
||||
"allow_public_user_to_download": "Permettre le t├йl├йchargement par des utilisateurs non connect├йs",
|
||||
"allow_public_user_to_upload": "Permettre l'envoi par des utilisateurs non connect├йs",
|
||||
"alt_text_qr_code": "Image du code QR",
|
||||
"anti_clockwise": "Sens anti-horaire",
|
||||
"api_key": "Cl├й API",
|
||||
@@ -427,6 +445,7 @@
|
||||
"app_settings": "Param├иtres de l'application",
|
||||
"appears_in": "Appara├оt dans",
|
||||
"archive": "Archiver",
|
||||
"archive_action_prompt": "{count} ajout├й(s) ├а l'archive",
|
||||
"archive_or_unarchive_photo": "Archiver ou d├йsarchiver une photo",
|
||||
"archive_page_no_archived_assets": "Aucun ├йl├йment archiv├й n'a ├йt├й trouv├й",
|
||||
"archive_page_title": "Archiver ({count})",
|
||||
@@ -464,7 +483,6 @@
|
||||
"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",
|
||||
"assets_added_to_name_count": "{count, plural, one {# m├йdia ajout├й} other {# m├йdias ajout├йs}} ├а {hasName, select, true {<b>{name}</b>} other {new album}}",
|
||||
"assets_cannot_be_added_to_album_count": "{count, plural, one {Le m├йdia ne peut pas ├кtre ajout├й} other {Les m├йdias ne peuvent pas ├кtre ajout├йs}} ├а l'album",
|
||||
"assets_count": "{count, plural, one {# m├йdia} other {# m├йdias}}",
|
||||
"assets_deleted_permanently": "{count} m├йdia(s) supprim├й(s) d├йfinitivement",
|
||||
@@ -703,7 +721,7 @@
|
||||
"daily_title_text_date": "E, dd MMM",
|
||||
"daily_title_text_date_year": "E, dd MMM, yyyy",
|
||||
"dark": "Sombre",
|
||||
"darkTheme": "Basculer sur le th├иme sombre",
|
||||
"dark_theme": "Activer le th├иme sombre",
|
||||
"date_after": "Date apr├иs",
|
||||
"date_and_time": "Date et heure",
|
||||
"date_before": "Date avant",
|
||||
@@ -719,6 +737,7 @@
|
||||
"default_locale": "R├йgion par d├йfaut",
|
||||
"default_locale_description": "Afficher les dates et nombres en fonction des param├иtres de votre navigateur",
|
||||
"delete": "Supprimer",
|
||||
"delete_action_prompt": "{count} supprim├й(s) d├йfinitivement",
|
||||
"delete_album": "Supprimer l'album",
|
||||
"delete_api_key_prompt": "Voulez-vous vraiment supprimer cette cl├й APIтАп?",
|
||||
"delete_dialog_alert": "Ces m├йdias seront d├йfinitivement supprim├йs de Immich et de votre appareil",
|
||||
@@ -732,6 +751,7 @@
|
||||
"delete_key": "Supprimer la cl├й",
|
||||
"delete_library": "Supprimer la biblioth├иque",
|
||||
"delete_link": "Supprimer le lien",
|
||||
"delete_local_action_prompt": "{count} supprim├й(s) localement",
|
||||
"delete_local_dialog_ok_backed_up_only": "Suppression des donn├йes sauvegard├йes uniquement",
|
||||
"delete_local_dialog_ok_force": "Supprimer tout de m├кme",
|
||||
"delete_others": "Supprimer les autres",
|
||||
@@ -762,6 +782,7 @@
|
||||
"documentation": "Documentation",
|
||||
"done": "Termin├й",
|
||||
"download": "T├йl├йcharger",
|
||||
"download_action_prompt": "T├йl├йchargement de {count} ├йl├йments",
|
||||
"download_canceled": "T├йl├йchargement annul├й",
|
||||
"download_complete": "T├йl├йchargement termin├й",
|
||||
"download_enqueue": "T├йl├йchargement en attente",
|
||||
@@ -799,6 +820,7 @@
|
||||
"edit_key": "Modifier la cl├й",
|
||||
"edit_link": "Modifier le lien",
|
||||
"edit_location": "Modifier la localisation",
|
||||
"edit_location_action_prompt": "{count} localisation(s) mise(s) ├а jour",
|
||||
"edit_location_dialog_title": "Localisation",
|
||||
"edit_name": "Modifier le nom",
|
||||
"edit_people": "Modifier les personnes",
|
||||
@@ -984,6 +1006,7 @@
|
||||
"failed_to_load_assets": "├Йchec du chargement des ressources",
|
||||
"failed_to_load_folder": "├Йchec de chargement du dossier",
|
||||
"favorite": "Favori",
|
||||
"favorite_action_prompt": "{count} ajout├й(s) aux Favoris",
|
||||
"favorite_or_unfavorite_photo": "Ajouter ou supprimer des favoris",
|
||||
"favorites": "Favoris",
|
||||
"favorites_page_no_favorites": "Aucun ├йl├йment favori n'a ├йt├й trouv├й",
|
||||
@@ -1036,7 +1059,7 @@
|
||||
"hide_password": "Masquer le mot de passe",
|
||||
"hide_person": "Masquer la personne",
|
||||
"hide_unnamed_people": "Cacher les personnes non nomm├йes",
|
||||
"home_page_add_to_album_conflicts": "{added} ├йl├йments ajout├йs ├а l'album {album}. Les ├йl├йments {failed} sont d├йj├а dans l'album.",
|
||||
"home_page_add_to_album_conflicts": "{added} ├йl├йments ajout├йs ├а l'album {album}. {failed} ├йl├йments sont d├йj├а dans l'album.",
|
||||
"home_page_add_to_album_err_local": "Impossible d'ajouter des m├йdias locaux aux albums, ils sont ignor├йs",
|
||||
"home_page_add_to_album_success": "{added} ├йl├йments ajout├йs ├а l'album {album}.",
|
||||
"home_page_album_err_partner": "Impossible d'ajouter des m├йdias d'un partenaire ├а un album, ils sont ignor├йs",
|
||||
@@ -1127,6 +1150,7 @@
|
||||
"library_page_sort_created": "Cr├йations les plus r├йcentes",
|
||||
"library_page_sort_last_modified": "Derni├иre modification",
|
||||
"library_page_sort_title": "Titre de l'album",
|
||||
"licenses": "Licences",
|
||||
"light": "Clair",
|
||||
"like_deleted": "R├йaction ┬л┬аj'aime┬а┬╗ supprim├йe",
|
||||
"link_motion_video": "Lier la photo anim├йe",
|
||||
@@ -1246,6 +1270,7 @@
|
||||
"more": "Plus",
|
||||
"move": "D├йplacer",
|
||||
"move_off_locked_folder": "D├йplacer en dehors du dossier verrouill├й",
|
||||
"move_to_lock_folder_action_prompt": "{count} ajout├й(s) au dossier verrouill├й",
|
||||
"move_to_locked_folder": "D├йplacer dans le dossier verrouill├й",
|
||||
"move_to_locked_folder_confirmation": "Ces photos et vid├йos seront retir├йs de tout les albums et ne seront visibles que dans le dossier verrouill├й",
|
||||
"moved_to_archive": "{count, plural, one {# ├йl├йment d├йplac├й} other {# ├йl├йments d├йplac├йs}} vers les archives",
|
||||
@@ -1390,7 +1415,7 @@
|
||||
"photos_and_videos": "Photos et vid├йos",
|
||||
"photos_count": "{count, plural, one {{count, number} Photo} other {{count, number} Photos}}",
|
||||
"photos_from_previous_years": "Photos des ann├йes pr├йc├йdentes",
|
||||
"pick_a_location": "Choisissez un lieu",
|
||||
"pick_a_location": "Choisissez une localisation",
|
||||
"pin_code_changed_successfully": "Code PIN chang├й avec succ├иs",
|
||||
"pin_code_reset_successfully": "R├йinitialisation du code PIN r├йussie",
|
||||
"pin_code_setup_successfully": "D├йfinition du code PIN r├йussie",
|
||||
@@ -1495,7 +1520,9 @@
|
||||
"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_album_action_prompt": "{count} supprim├й(s) de l'album",
|
||||
"remove_from_favorites": "Supprimer des favoris",
|
||||
"remove_from_lock_folder_action_prompt": "{count} supprim├й(s) du dossier verrouill├й",
|
||||
"remove_from_locked_folder": "Supprimer du dossier verrouill├й",
|
||||
"remove_from_locked_folder_confirmation": "├Кtes vous s├╗r de vouloir d├йplacer ces photos et vid├йos en dehors du dossier verrouill├йтАп? Elles seront visibles dans votre galerie.",
|
||||
"remove_from_shared_link": "Supprimer des liens partag├йs",
|
||||
@@ -1510,7 +1537,7 @@
|
||||
"removed_from_favorites_count": "{count, plural, one {# supprim├й} other {# supprim├йs}} des favoris",
|
||||
"removed_memory": "Souvenir supprim├й",
|
||||
"removed_photo_from_memory": "Photo supprim├йe du souvenir",
|
||||
"removed_tagged_assets": "Tag supprim├й de {count, plural, one {# m├йdia} other {# m├йdias}}",
|
||||
"removed_tagged_assets": "├Йtiquette supprim├йe 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",
|
||||
@@ -1566,8 +1593,8 @@
|
||||
"search_filter_display_option_not_in_album": "Pas dans un album",
|
||||
"search_filter_display_options": "Options d'affichage",
|
||||
"search_filter_filename": "Recherche par nom de fichier",
|
||||
"search_filter_location": "Lieu",
|
||||
"search_filter_location_title": "S├йlectionner un lieu",
|
||||
"search_filter_location": "Localisation",
|
||||
"search_filter_location_title": "S├йlectionner une localisation",
|
||||
"search_filter_media_type": "Type de m├йdia",
|
||||
"search_filter_media_type_title": "S├йlectionner type de m├йdia",
|
||||
"search_filter_people_title": "S├йlectionner une personne",
|
||||
@@ -1667,6 +1694,7 @@
|
||||
"settings_saved": "Param├иtres sauvegard├йs",
|
||||
"setup_pin_code": "D├йfinir un code PIN",
|
||||
"share": "Partager",
|
||||
"share_action_prompt": "{count} ├йl├йments partag├йs",
|
||||
"share_add_photos": "Ajouter des photos",
|
||||
"share_assets_selected": "{count} s├йlectionn├й(s)",
|
||||
"share_dialog_preparing": "Pr├йparation...",
|
||||
@@ -1768,6 +1796,7 @@
|
||||
"sort_title": "Titre",
|
||||
"source": "Source",
|
||||
"stack": "Empiler",
|
||||
"stack_action_prompt": "{count} group├й(s)",
|
||||
"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",
|
||||
@@ -1838,6 +1867,7 @@
|
||||
"total": "Total",
|
||||
"total_usage": "Utilisation globale",
|
||||
"trash": "Corbeille",
|
||||
"trash_action_prompt": "{count} mis ├а la corbeille",
|
||||
"trash_all": "Tout supprimer",
|
||||
"trash_count": "Corbeille {count, number}",
|
||||
"trash_delete_asset": "Mettre ├а la corbeille/Supprimer un m├йdia",
|
||||
@@ -1855,9 +1885,11 @@
|
||||
"unable_to_change_pin_code": "Impossible de changer le code PIN",
|
||||
"unable_to_setup_pin_code": "Impossible de d├йfinir le code PIN",
|
||||
"unarchive": "D├йsarchiver",
|
||||
"unarchive_action_prompt": "{count} supprim├й(s) de l'archive",
|
||||
"unarchived_count": "{count, plural, one {# supprim├й} other {# supprim├йs}} de l'archive",
|
||||
"undo": "Annuler",
|
||||
"unfavorite": "Enlever des favoris",
|
||||
"unfavorite_action_prompt": "{count} supprim├й(s) des favoris",
|
||||
"unhide_person": "Afficher la personne",
|
||||
"unknown": "Inconnu",
|
||||
"unknown_country": "Pays non connu",
|
||||
@@ -1875,7 +1907,9 @@
|
||||
"unselect_all_duplicates": "D├йs├йlectionner tous les doublons",
|
||||
"unselect_all_in": "Tout d├йs├йlectionner dans {group}",
|
||||
"unstack": "D├йsempiler",
|
||||
"unstack_action_prompt": "{count} non group├йs",
|
||||
"unstacked_assets_count": "{count, plural, one {# m├йdia d├йpil├й} other {# m├йdias d├йpil├йs}}",
|
||||
"untagged": "├Йtiquette supprim├йe",
|
||||
"up_next": "Suite",
|
||||
"updated_at": "Mis ├а jour ├а",
|
||||
"updated_password": "Mot de passe mis ├а jour",
|
||||
@@ -1912,6 +1946,7 @@
|
||||
"user_usage_stats_description": "Voir les statistiques d'utilisation du compte",
|
||||
"username": "Nom d'utilisateur",
|
||||
"users": "Utilisateurs",
|
||||
"users_added_to_album_count": "{count, plural, one {# utilisateur ajout├й} other {# utilisateurs ajout├йs}} ├а l'album",
|
||||
"utilities": "Utilitaires",
|
||||
"validate": "Valider",
|
||||
"validate_endpoint_error": "Merci d'entrer un lien valide",
|
||||
|
||||
@@ -455,7 +455,6 @@
|
||||
"assets": "Activos",
|
||||
"assets_added_count": "Engadido {count, plural, one {# activo} other {# activos}}",
|
||||
"assets_added_to_album_count": "Engadido {count, plural, one {# activo} other {# activos}} ao ├бlbum",
|
||||
"assets_added_to_name_count": "Engadido {count, plural, one {# activo} other {# activos}} a {hasName, select, true {<b>{name}</b>} other {novo ├бlbum}}",
|
||||
"assets_count": "{count, plural, one {# activo} other {# activos}}",
|
||||
"assets_deleted_permanently": "{count} activo(s) eliminado(s) permanentemente",
|
||||
"assets_deleted_permanently_from_server": "{count} activo(s) eliminado(s) permanentemente do servidor Immich",
|
||||
|
||||
+33
-4
@@ -34,6 +34,7 @@
|
||||
"added_to_favorites_count": "{count, number} ╫а╫Х╫б╫д╫Х ╫Ь╫Ю╫Х╫в╫У╫д╫Щ╫Э",
|
||||
"admin": {
|
||||
"add_exclusion_pattern_description": "╫Ф╫Х╫б╫д╫к ╫У╫д╫Х╫б╫Щ ╫Ф╫Ч╫и╫Т╫Ф. ╫а╫к╫Ю╫Ы╫к ╫Ф╫к╫Р╫Ю╫к ╫У╫д╫Х╫б╫Щ╫Э ╫С╫Р╫Ю╫ж╫в╫Х╫к *, ** ╫Х-?. ╫Ы╫У╫Щ ╫Ь╫Ф╫к╫в╫Ь╫Э ╫Ю╫Ы╫Ь ╫Ф╫з╫С╫ж╫Щ╫Э ╫С╫к╫Щ╫з╫Щ╫Ф ╫Ы╫Ь╫й╫Ф╫Щ ╫С╫й╫Э \"Raw\", ╫Щ╫й ╫Ь╫Ф╫й╫к╫Ю╫й ╫С \"**/Raw/**\". ╫Ы╫У╫Щ ╫Ь╫Ф╫к╫в╫Ь╫Э ╫Ю╫Ы╫Ь ╫Ф╫з╫С╫ж╫Щ╫Э ╫Ф╫Ю╫б╫к╫Щ╫Щ╫Ю╫Щ╫Э ╫С \"tif.\", ╫Щ╫й ╫Ь╫Ф╫й╫к╫Ю╫й ╫С \"tif.*/**\". ╫Ы╫У╫Щ ╫Ь╫Ф╫к╫в╫Ь╫Э ╫Ю╫а╫к╫Щ╫С ╫Ю╫Х╫Ч╫Ь╫Ш, ╫Щ╫й ╫Ь╫Ф╫й╫к╫Ю╫й ╫С \"**/╫а╫к╫Щ╫С/╫Ь╫Ф╫к╫в╫Ь╫Ю╫Х╫к\".",
|
||||
"admin_user": "╫Ю╫а╫Ф╫Ь ╫Ю╫в╫и╫Ы╫к",
|
||||
"asset_offline_description": "╫к╫Ю╫Х╫а╫Ф ╫Ю╫б╫д╫и╫Щ╫Щ╫Ф ╫Ч╫Щ╫ж╫Х╫а╫Щ╫к ╫Ц╫Х ╫Ь╫Р ╫а╫Ю╫ж╫Р╫к ╫Щ╫Х╫к╫и ╫С╫У╫Щ╫б╫з ╫Х╫Ф╫Х╫в╫С╫и╫Ф ╫Ь╫Р╫й╫д╫Ф. ╫Р╫Э ╫Ф╫з╫Х╫С╫е ╫Ф╫Х╫в╫С╫и ╫Ю╫к╫Х╫Ъ ╫Ф╫б╫д╫и╫Щ╫Щ╫Ф, ╫а╫Р ╫Ь╫С╫У╫Х╫з ╫Р╫к ╫ж╫Щ╫и ╫Ф╫Ц╫Ю╫Я ╫й╫Ь╫Ъ ╫в╫С╫Х╫и ╫Ф╫к╫Ю╫Х╫а╫Ф ╫Ф╫Ю╫з╫С╫Щ╫Ь╫Ф ╫Ф╫Ч╫У╫й. ╫Ы╫У╫Щ ╫Ь╫й╫Ч╫Ц╫и ╫к╫Ю╫Х╫а╫Ф ╫Ц╫Х, ╫а╫Р ╫Ь╫Х╫Х╫У╫Р ╫й-Immich ╫Щ╫Ы╫Х╫Ь ╫Ь╫Т╫й╫к ╫Р╫Ь ╫а╫к╫Щ╫С ╫Ф╫з╫Х╫С╫е ╫Ь╫Ю╫Ш╫Ф ╫Х╫Ь╫б╫и╫Х╫з ╫Ю╫Ч╫У╫й ╫Р╫к ╫Ф╫б╫д╫и╫Щ╫Щ╫Ф.",
|
||||
"authentication_settings": "╫Ф╫Т╫У╫и╫Х╫к ╫Ф╫к╫Ч╫С╫и╫Х╫к",
|
||||
"authentication_settings_description": "╫а╫Щ╫Ф╫Х╫Ь ╫б╫Щ╫б╫Ю╫Ф, OAuth, ╫Х╫Ф╫Т╫У╫и╫Х╫к ╫Ф╫к╫Ч╫С╫и╫Х╫к ╫Р╫Ч╫и╫Х╫к",
|
||||
@@ -165,6 +166,20 @@
|
||||
"metadata_settings_description": "╫а╫Щ╫Ф╫Х╫Ь ╫Ф╫Т╫У╫и╫Х╫к ╫Ю╫Ш╫Р-╫а╫к╫Х╫а╫Щ╫Э",
|
||||
"migration_job": "╫Ф╫в╫С╫и╫Ф",
|
||||
"migration_job_description": "╫Ф╫в╫С╫и ╫к╫Ю╫Х╫а╫Х╫к ╫Ю╫Ю╫Х╫Ц╫в╫и╫Х╫к ╫й╫Ь ╫к╫Ю╫Х╫а╫Х╫к ╫Х╫д╫а╫Щ╫Э ╫Ь╫Ю╫С╫а╫Ф ╫Ф╫к╫Щ╫з╫Щ╫Х╫к ╫Ф╫в╫У╫Ы╫а╫Щ ╫С╫Щ╫Х╫к╫и",
|
||||
"nightly_tasks_cluster_faces_setting_description": "╫С╫ж╫в ╫Ц╫Щ╫Ф╫Х╫Щ ╫д╫а╫Щ╫Э ╫в╫С╫Х╫и ╫д╫и╫ж╫Х╫д╫Щ╫Э ╫й╫Ц╫Х╫Ф╫Х ╫Ь╫Р╫Ч╫и╫Х╫а╫Ф",
|
||||
"nightly_tasks_cluster_new_faces_setting": "╫з╫С╫е ╫д╫а╫Щ╫Э ╫Ч╫У╫й╫Х╫к",
|
||||
"nightly_tasks_database_cleanup_setting": "╫Ю╫й╫Щ╫Ю╫Х╫к ╫к╫Ч╫Ц╫Х╫з╫Ф ╫Х╫а╫Щ╫з╫Х╫Щ ╫й╫Ь ╫Ю╫б╫У ╫Ф╫а╫к╫Х╫а╫Щ╫Э",
|
||||
"nightly_tasks_database_cleanup_setting_description": "╫а╫з╫Ф ╫а╫к╫Х╫а╫Щ╫Э ╫Щ╫й╫а╫Щ╫Э ╫й╫д╫Т ╫к╫Х╫з╫д╫Э ╫Ю╫Ю╫б╫У ╫Ф╫а╫к╫Х╫а╫Щ╫Э",
|
||||
"nightly_tasks_generate_memories_setting": "╫Щ╫ж╫Щ╫и╫к ╫Ц╫Ы╫и╫Х╫а╫Х╫к",
|
||||
"nightly_tasks_generate_memories_setting_description": "╫ж╫Х╫и ╫Ц╫Ы╫и╫Х╫а╫Х╫к ╫Ч╫У╫й╫Щ╫Э ╫Ю╫Ф╫к╫Ю╫Х╫а╫Х╫к ╫й╫Ь╫Ъ",
|
||||
"nightly_tasks_missing_thumbnails_setting": "╫ж╫Х╫и ╫к╫Ю╫Х╫а╫Х╫к ╫Ю╫Ю╫Х╫Ц╫в╫и╫Х╫к ╫Ч╫б╫и╫Х╫к",
|
||||
"nightly_tasks_missing_thumbnails_setting_description": "╫Ф╫Х╫б╫г ╫Ь╫к╫Х╫и ╫з╫С╫ж╫Щ╫Э ╫Ь╫Ь╫Р ╫к╫Ю╫Х╫а╫Х╫к ╫Ю╫Ю╫Х╫Ц╫в╫и╫Х╫к ╫Ь╫Щ╫ж╫Щ╫и╫Ф ╫й╫Ь ╫к╫Ю╫Х╫а╫Х╫к ╫Ю╫Ю╫Х╫Ц╫в╫и╫Х╫к",
|
||||
"nightly_tasks_settings": "╫Ф╫Т╫У╫и╫Х╫к ╫й╫Ь ╫Ю╫й╫Щ╫Ю╫Х╫к ╫Ь╫Щ╫Ь╫Щ╫Х╫к",
|
||||
"nightly_tasks_settings_description": "╫а╫Ф╫Ь ╫Ю╫й╫Щ╫Ю╫Х╫к ╫Ь╫Щ╫Ь╫Щ╫Х╫к",
|
||||
"nightly_tasks_start_time_setting": "╫Ц╫Ю╫Я ╫Ф╫к╫Ч╫Ь╫Ф",
|
||||
"nightly_tasks_start_time_setting_description": "╫Ф╫й╫в╫Ф ╫й╫С╫Ф ╫Ф╫й╫и╫к ╫Ю╫к╫Ч╫Щ╫Ь ╫Ь╫Ф╫и╫Щ╫е ╫Р╫к ╫Ф╫Ю╫й╫Щ╫Ю╫Х╫к ╫Ф╫Ь╫Щ╫Ь╫Щ╫Х╫к",
|
||||
"nightly_tasks_sync_quota_usage_setting": "╫б╫а╫Ы╫и╫Я ╫Р╫к ╫Ф╫й╫Щ╫Ю╫Х╫й ╫С╫Р╫Ч╫б╫Х╫Я",
|
||||
"nightly_tasks_sync_quota_usage_setting_description": "╫в╫У╫Ы╫Я ╫Р╫к ╫Ю╫Ы╫б╫к ╫Ф╫Р╫Ч╫б╫Х╫Я ╫й╫Ь ╫Ф╫Ю╫й╫к╫Ю╫й ╫С╫Ф╫к╫Р╫Э ╫Ь╫й╫Щ╫Ю╫Х╫й ╫Ф╫а╫Х╫Ы╫Ч╫Щ",
|
||||
"no_paths_added": "╫Ь╫Р ╫а╫Х╫б╫д╫Х ╫а╫к╫Щ╫С╫Щ╫Э",
|
||||
"no_pattern_added": "╫Ь╫Р ╫а╫Х╫б╫д╫Ф ╫к╫С╫а╫Щ╫к",
|
||||
"note_apply_storage_label_previous_assets": "╫Ф╫в╫и╫Ф: ╫Ы╫У╫Щ ╫Ь╫Ф╫Ч╫Щ╫Ь ╫Р╫к ╫к╫Х╫Х╫Щ╫к ╫Ф╫Р╫Ч╫б╫Х╫Я ╫в╫Ь ╫к╫Ю╫Х╫а╫Х╫к ╫й╫Ф╫Х╫в╫Ь╫Х ╫С╫в╫С╫и, ╫Ф╫д╫в╫Ь ╫Р╫к",
|
||||
@@ -203,7 +218,7 @@
|
||||
"oauth_storage_quota_claim": "╫У╫и╫Щ╫й╫к ╫Ю╫Ы╫б╫к ╫Р╫Ч╫б╫Х╫Я",
|
||||
"oauth_storage_quota_claim_description": "╫Ф╫Т╫У╫и ╫Р╫Х╫Ш╫Х╫Ю╫Ш╫Щ╫к ╫Р╫к ╫Ю╫Ы╫б╫к ╫Ф╫Р╫Ч╫б╫Х╫Я ╫й╫Ь ╫Ф╫Ю╫й╫к╫Ю╫й ╫Ь╫в╫и╫Ъ ╫й╫Ь ╫У╫и╫Щ╫й╫Ф ╫Ц╫Х.",
|
||||
"oauth_storage_quota_default": "╫Ю╫Ы╫б╫к ╫Р╫Ч╫б╫Х╫Я ╫С╫и╫Щ╫и╫к ╫Ю╫Ч╫У╫Ь (GiB)",
|
||||
"oauth_storage_quota_default_description": "╫Ю╫Ы╫б╫Ф ╫С-GiB ╫Ь╫й╫Щ╫Ю╫Х╫й ╫Ы╫Р╫й╫и ╫Ь╫Р ╫Ю╫б╫Х╫д╫з╫к ╫У╫и╫Щ╫й╫Ф (╫Ф╫Ц╫Я 0 ╫в╫С╫Х╫и ╫Ю╫Ы╫б╫Ф ╫С╫Ь╫к╫Щ ╫Ю╫Х╫Т╫С╫Ь╫к).",
|
||||
"oauth_storage_quota_default_description": "╫Ю╫Ы╫б╫Ф ╫С-GiB ╫Ь╫й╫Щ╫Ю╫Х╫й ╫Ы╫Р╫й╫и ╫Ь╫Р ╫Ю╫б╫Х╫д╫з╫к ╫У╫и╫Щ╫й╫Ф.",
|
||||
"oauth_timeout": "╫Ф╫С╫з╫й╫Ф ╫а╫Ы╫й╫Ь╫Ф тАУ ╫Ф╫Ц╫Ю╫Я ╫Ф╫з╫ж╫Х╫С ╫Ф╫б╫к╫Щ╫Щ╫Э",
|
||||
"oauth_timeout_description": "╫Ц╫Ю╫Я ╫з╫ж╫Х╫С ╫Ь╫С╫з╫й╫Х╫к (╫С╫Ю╫Щ╫Ь╫Щ╫й╫а╫Щ╫Х╫к)",
|
||||
"password_enable_description": "╫Ф╫к╫Ч╫С╫и ╫в╫Э ╫У╫Х╫Р\"╫Ь ╫Х╫б╫Щ╫б╫Ю╫Ф",
|
||||
@@ -243,6 +258,7 @@
|
||||
"storage_template_migration_info": "╫к╫С╫а╫Щ╫к ╫Ф╫Р╫Ч╫б╫Х╫Я ╫к╫Ю╫Щ╫и ╫Р╫к ╫Ы╫Ь ╫Ф╫Ф╫и╫Ч╫С╫Х╫к ╫Ь╫Р╫Х╫к╫Щ╫Х╫к ╫з╫Ш╫а╫Х╫к. ╫й╫Щ╫а╫Х╫Щ╫Щ╫Э ╫С╫к╫С╫а╫Щ╫к ╫Щ╫Ч╫Х╫Ь╫Х ╫и╫з ╫в╫Ь ╫к╫Ю╫Х╫а╫Х╫к ╫Ч╫У╫й╫Х╫к. ╫Ы╫У╫Щ ╫Ь╫Ф╫Ч╫Щ╫Ь ╫С╫Р╫Х╫д╫Я ╫и╫Ш╫и╫Х╫Р╫з╫Ш╫Щ╫С╫Щ ╫Р╫к ╫Ф╫к╫С╫а╫Щ╫к ╫в╫Ь ╫к╫Ю╫Х╫а╫Х╫к ╫й╫Ф╫Х╫в╫Ь╫Х ╫С╫в╫С╫и, ╫Ф╫д╫в╫Ь ╫Р╫к <link>{job}</link>.",
|
||||
"storage_template_migration_job": "╫Ю╫й╫Щ╫Ю╫к ╫Ф╫в╫С╫и╫к ╫к╫С╫а╫Щ╫к ╫Р╫Ч╫б╫Х╫Я",
|
||||
"storage_template_more_details": "╫Ь╫д╫и╫Ш╫Щ╫Э ╫а╫Х╫б╫д╫Щ╫Э ╫Р╫Х╫У╫Х╫к ╫к╫Ы╫Х╫а╫Ф ╫Ц╫Х, ╫в╫Щ╫Щ╫Я ╫С<template-link>╫к╫С╫а╫Щ╫к ╫Ф╫Р╫Ч╫б╫Х╫Я</template-link> ╫Х╫С<implications-link>╫Ф╫й╫Ь╫Ы╫Х╫к╫Щ╫Ф</implications-link>",
|
||||
"storage_template_onboarding_description_v2": "╫Ы╫Р╫й╫и ╫д╫Щ╫жтАЩ╫и ╫Ц╫Ф ╫Ю╫Х╫д╫в╫Ь, ╫Ф╫з╫С╫ж╫Щ╫Э ╫Щ╫Р╫Х╫и╫Т╫а╫Х ╫Р╫Х╫Ш╫Х╫Ю╫Ш╫Щ╫к ╫Ь╫д╫Щ ╫к╫С╫а╫Щ╫к ╫й╫Ф╫Х╫Т╫У╫и╫Ф ╫в╫Ь ╫Щ╫У╫Щ ╫Ф╫Ю╫й╫к╫Ю╫й. ╫Ь╫Ю╫Щ╫У╫в ╫а╫Х╫б╫г, ╫в╫Щ╫Щ╫Я ╫С╓╛<link>╫к╫Щ╫в╫Х╫У</link>.",
|
||||
"storage_template_path_length": "╫Ю╫Т╫С╫Ь╫к ╫Р╫Х╫и╫Ъ ╫а╫к╫Щ╫С ╫Ю╫й╫Х╫в╫и╫к: <b>{length, number}</b>/{limit, number}",
|
||||
"storage_template_settings": "╫к╫С╫а╫Щ╫к ╫Р╫Ч╫б╫Х╫Я",
|
||||
"storage_template_settings_description": "╫а╫Щ╫Ф╫Х╫Ь ╫Ю╫С╫а╫Ф ╫Ф╫к╫Щ╫з╫Щ╫Х╫к ╫Х╫Р╫к ╫й╫Э ╫Ф╫з╫Х╫С╫е ╫й╫Ь ╫Ф╫к╫Ю╫Х╫а╫Ф ╫й╫Ф╫Х╫в╫Ь╫к╫Ф",
|
||||
@@ -425,6 +441,7 @@
|
||||
"app_settings": "╫Ф╫Т╫У╫и╫Х╫к ╫Щ╫Щ╫й╫Х╫Э",
|
||||
"appears_in": "╫Ю╫Х╫д╫Щ╫в ╫С",
|
||||
"archive": "╫Р╫и╫Ы╫Щ╫Х╫Я",
|
||||
"archive_action_prompt": "{count} ╫а╫Х╫б╫д╫Х ╫Ь╫Р╫и╫Ы╫Щ╫Х╫Я",
|
||||
"archive_or_unarchive_photo": "╫Ф╫в╫С╫и ╫к╫Ю╫Х╫а╫Ф ╫Ь╫Р╫и╫Ы╫Щ╫Х╫Я ╫Р╫Х ╫Ф╫Х╫ж╫Р ╫Р╫Х╫к╫Ф ╫Ю╫й╫Э",
|
||||
"archive_page_no_archived_assets": "╫Ь╫Р ╫а╫Ю╫ж╫Р╫Х ╫к╫Ю╫Х╫а╫Х╫к ╫С╫Р╫и╫Ы╫Щ╫Х╫Я",
|
||||
"archive_page_title": "╫С╫Р╫и╫Ы╫Щ╫Х╫Я ({count})",
|
||||
@@ -462,7 +479,6 @@
|
||||
"assets": "╫к╫Ю╫Х╫а╫Х╫к",
|
||||
"assets_added_count": "{count, plural, one {╫а╫Х╫б╫д╫Ф ╫к╫Х╫Ю╫а╫Ф #} other {╫а╫Х╫б╫д╫Х # ╫к╫Ю╫Х╫а╫Х╫к}}",
|
||||
"assets_added_to_album_count": "{count, plural, one {╫а╫Х╫б╫д╫Ф ╫к╫Ю╫Х╫а╫Ф #} other {╫а╫Х╫б╫д╫Х # ╫к╫Ю╫Х╫а╫Х╫к}} ╫Ь╫Р╫Ь╫С╫Х╫Э",
|
||||
"assets_added_to_name_count": "{count, plural, one {╫к╫Ю╫Х╫а╫Ф # ╫а╫Х╫б╫д╫Ф} other {# ╫к╫Ю╫Х╫а╫Х╫к ╫а╫Х╫б╫д╫Х}} ╫Р╫Ь {hasName, select, true {<b>{name}</b>} other {╫Р╫Ь╫С╫Х╫Э ╫Ч╫У╫й}}",
|
||||
"assets_cannot_be_added_to_album_count": "╫Ь╫Р ╫а╫Щ╫к╫Я ╫Ь╫Ф╫Х╫б╫Щ╫г ╫Р╫к ╫Ф{count, plural, one {╫к╫Ю╫Х╫а╫Ф} other {╫к╫Ю╫Х╫а╫Х╫к}} ╫Ь╫Р╫Ь╫С╫Х╫Э",
|
||||
"assets_count": "{count, plural, one {╫к╫Ю╫Х╫а╫Ф #} other {# ╫к╫Ю╫Х╫а╫Х╫к}}",
|
||||
"assets_deleted_permanently": "{count} ╫к╫Ю╫Х╫а╫Х╫к ╫а╫Ю╫Ч╫з╫Х ╫Ь╫ж╫Ю╫Щ╫к╫Х╫к",
|
||||
@@ -701,7 +717,7 @@
|
||||
"daily_title_text_date": "E, MMM dd",
|
||||
"daily_title_text_date_year": "E, MMM dd, yyyy",
|
||||
"dark": "╫Ы╫Ф╫Ф",
|
||||
"darkTheme": "╫Ф╫Ч╫Ь╫д╫Ф ╫Ь╫Ю╫ж╫С ╫Ч╫Х╫й╫Ъ",
|
||||
"dark_theme": "╫Ф╫д╫в╫Ь/╫Ы╫С╫Ф ╫Ю╫ж╫С ╫Ы╫Ф╫Ф",
|
||||
"date_after": "╫к╫Р╫и╫Щ╫Ъ ╫Р╫Ч╫и╫Щ",
|
||||
"date_and_time": "╫к╫Р╫и╫Щ╫Ъ ╫Х╫й╫в╫Ф",
|
||||
"date_before": "╫к╫Р╫и╫Щ╫Ъ ╫Ь╫д╫а╫Щ",
|
||||
@@ -711,12 +727,13 @@
|
||||
"day": "╫Щ╫Х╫Э",
|
||||
"deduplicate_all": "╫С╫Щ╫Ш╫Х╫Ь ╫Ы╫Ь ╫Ф╫Ы╫д╫Щ╫Ь╫Х╫Щ╫Х╫к",
|
||||
"deduplication_criteria_1": "╫Т╫Х╫У╫Ь ╫к╫Ю╫Х╫а╫Ф ╫С╫С╫к╫Щ╫Э",
|
||||
"deduplication_criteria_2": "╫б╫д╫Щ╫и╫к ╫а╫к╫Х╫а╫Щ EXIF",
|
||||
"deduplication_criteria_2": "╫Ы╫Ю╫Х╫к ╫а╫к╫Х╫а╫Щ EXIF",
|
||||
"deduplication_info": "╫Ю╫Щ╫У╫в ╫в╫Ь ╫С╫Щ╫Ш╫Х╫Ь ╫Ы╫д╫Щ╫Ь╫Х╫Щ╫Х╫к",
|
||||
"deduplication_info_description": "╫Ы╫У╫Щ ╫Ь╫С╫Ч╫Х╫и ╫Ю╫и╫Р╫й ╫к╫Ю╫Х╫а╫Х╫к ╫С╫Р╫Х╫д╫Я ╫Р╫Х╫Ш╫Х╫Ю╫Ш╫Щ ╫Х╫Ь╫Ф╫б╫Щ╫и ╫Ы╫д╫Щ╫Ь╫Х╫Щ╫Х╫к ╫С╫Ы╫Ю╫Х╫к ╫Т╫У╫Х╫Ь╫Ф, ╫Р╫а╫Х ╫Ю╫б╫к╫Ы╫Ь╫Щ╫Э ╫в╫Ь:",
|
||||
"default_locale": "╫й╫д╫к ╫С╫и╫Щ╫и╫к ╫Ю╫Ч╫У╫Ь",
|
||||
"default_locale_description": "╫д╫Х╫и╫Ю╫Ш ╫к╫Р╫и╫Щ╫Ы╫Щ╫Э ╫Х╫Ю╫б╫д╫и╫Щ╫Э ╫Ю╫С╫Х╫б╫б ╫й╫д╫к ╫Ф╫У╫д╫У╫д╫Я ╫й╫Ь╫Ъ",
|
||||
"delete": "╫Ю╫Ч╫з",
|
||||
"delete_action_prompt": "{count} ╫а╫Ю╫Ч╫з╫Х ╫Ь╫ж╫Ю╫Щ╫к╫Х╫к",
|
||||
"delete_album": "╫Ю╫Ч╫з ╫Р╫Ь╫С╫Х╫Э",
|
||||
"delete_api_key_prompt": "╫Ф╫Р╫Э ╫Р╫к╫Ф ╫С╫Ш╫Х╫Ч ╫й╫С╫и╫ж╫Х╫а╫Ъ ╫Ь╫Ю╫Ч╫Х╫з ╫Ю╫д╫к╫Ч ╫Ф-API ╫Ф╫Ц╫Ф?",
|
||||
"delete_dialog_alert": "╫Ф╫д╫и╫Щ╫Ш╫Щ╫Э ╫Ф╫Р╫Ь╫Ф ╫Щ╫Ю╫Ч╫з╫Х ╫Ь╫ж╫Ю╫Щ╫к╫Х╫к ╫Ю╫Ф╫й╫и╫к ╫Х╫Ю╫Ф╫Ю╫Ы╫й╫Щ╫и ╫й╫Ь╫Ъ",
|
||||
@@ -797,6 +814,7 @@
|
||||
"edit_key": "╫в╫и╫Х╫Ъ ╫Ю╫д╫к╫Ч",
|
||||
"edit_link": "╫в╫и╫Х╫Ъ ╫з╫Щ╫й╫Х╫и",
|
||||
"edit_location": "╫в╫и╫Х╫Ъ ╫Ю╫Щ╫з╫Х╫Э",
|
||||
"edit_location_action_prompt": "{count} ╫Ю╫Щ╫з╫Х╫Ю╫Щ╫Э ╫а╫в╫и╫Ы╫Х",
|
||||
"edit_location_dialog_title": "╫Ю╫Щ╫з╫Х╫Э",
|
||||
"edit_name": "╫в╫и╫Х╫Ъ ╫й╫Э",
|
||||
"edit_people": "╫в╫и╫Х╫Ъ ╫Р╫а╫й╫Щ╫Э",
|
||||
@@ -982,6 +1000,7 @@
|
||||
"failed_to_load_assets": "╫Ш╫в╫Щ╫а╫к ╫к╫Ю╫Х╫а╫Х╫к ╫а╫Ы╫й╫Ь╫Ф",
|
||||
"failed_to_load_folder": "╫Ш╫в╫Щ╫а╫к ╫к╫Щ╫з╫Щ╫Ф ╫а╫Ы╫й╫Ь╫Ф",
|
||||
"favorite": "╫Ю╫Х╫в╫У╫г",
|
||||
"favorite_action_prompt": "{count} ╫а╫Х╫б╫д╫Х ╫Ь╫Ю╫Х╫в╫У╫д╫Щ╫Э",
|
||||
"favorite_or_unfavorite_photo": "╫Ф╫Х╫б╫г ╫Р╫Х ╫Ф╫б╫и ╫к╫Ю╫Х╫а╫Ф ╫Ю╫Ф╫Ю╫Х╫в╫У╫д╫Щ╫Э",
|
||||
"favorites": "╫Ю╫Х╫в╫У╫д╫Щ╫Э",
|
||||
"favorites_page_no_favorites": "╫Ь╫Р ╫а╫Ю╫ж╫Р╫Х ╫к╫Ю╫Х╫а╫Х╫к ╫Ю╫Х╫в╫У╫д╫Щ╫Э",
|
||||
@@ -1148,6 +1167,7 @@
|
||||
"locked_folder": "╫к╫Щ╫з╫Щ╫Ф ╫а╫в╫Х╫Ь╫Ф",
|
||||
"log_out": "╫Ф╫к╫а╫к╫з",
|
||||
"log_out_all_devices": "╫Ф╫к╫а╫к╫з ╫Ю╫Ы╫Ь ╫Ф╫Ю╫Ы╫й╫Щ╫и╫Щ╫Э",
|
||||
"logged_in_as": "╫Ю╫Ч╫Х╫С╫и ╫Ы {user}",
|
||||
"logged_out_all_devices": "╫Ю╫а╫Х╫к╫з ╫Ю╫Ы╫Ь ╫Ф╫Ю╫Ы╫й╫Щ╫и╫Щ╫Э",
|
||||
"logged_out_device": "╫Ю╫Ы╫й╫Щ╫и ╫Ю╫а╫Х╫к╫з",
|
||||
"login": "╫Ы╫а╫Щ╫б╫Ф",
|
||||
@@ -1243,6 +1263,7 @@
|
||||
"more": "╫в╫Х╫У",
|
||||
"move": "╫Ф╫в╫С╫и",
|
||||
"move_off_locked_folder": "╫Ф╫Х╫ж╫Р╫Ф ╫Ю╫Ф╫к╫Щ╫з╫Щ╫Щ╫Ф ╫Ф╫а╫в╫Х╫Ь╫Ф",
|
||||
"move_to_lock_folder_action_prompt": "{count} ╫а╫Х╫б╫д╫Х ╫Ь╫к╫Щ╫з╫Щ╫Щ╫Ф ╫Ф╫а╫в╫Х╫Ь╫Ф",
|
||||
"move_to_locked_folder": "╫Ф╫в╫С╫и ╫Ь╫к╫Щ╫з╫Щ╫Ф ╫Ф╫а╫в╫Х╫Ь╫Ф",
|
||||
"move_to_locked_folder_confirmation": "╫Ф╫к╫Ю╫Х╫а╫Х╫к ╫Х╫Ф╫б╫и╫Ш╫Х╫а╫Щ╫Э ╫Ф╫Р╫Ь╫Х ╫Щ╫Х╫б╫и╫Х ╫Ю╫Ы╫Ь ╫Ф╫Р╫Ь╫С╫Х╫Ю╫Щ╫Э, ╫Х╫Щ╫Ф╫Щ╫Х ╫Ю╫Х╫ж╫Т╫Щ╫Э ╫и╫з ╫С╫к╫Щ╫з╫Щ╫Ф ╫Ф╫а╫в╫Х╫Ь╫Ф",
|
||||
"moved_to_archive": "{count, plural, one {╫Ф╫Х╫в╫С╫и╫Ф ╫к╫Ю╫Х╫а╫Ф # } other {# ╫к╫Ю╫Х╫а╫Х╫к ╫Ф╫Х╫в╫С╫и╫Х}} ╫Ь╫Р╫и╫Ы╫Щ╫Х╫Я",
|
||||
@@ -1492,7 +1513,9 @@
|
||||
"remove_custom_date_range": "╫Ф╫б╫и ╫Ш╫Х╫Х╫Ч ╫к╫Р╫и╫Щ╫Ы╫Щ╫Э ╫Ю╫Х╫к╫Р╫Э",
|
||||
"remove_deleted_assets": "╫Ф╫б╫и ╫з╫С╫ж╫Щ╫Э ╫Ь╫Р ╫Ю╫з╫Х╫Х╫а╫Щ╫Э",
|
||||
"remove_from_album": "╫Ф╫б╫и ╫Ю╫Р╫Ь╫С╫Х╫Э",
|
||||
"remove_from_album_action_prompt": "{count} ╫Ф╫Х╫б╫и╫Х ╫Ю╫Ф╫Р╫Ь╫С╫Х╫Э",
|
||||
"remove_from_favorites": "╫Ф╫б╫и ╫Ю╫Ф╫Ю╫Х╫в╫У╫д╫Щ╫Э",
|
||||
"remove_from_lock_folder_action_prompt": "{count} ╫Ф╫Х╫б╫и╫Х ╫Ю╫Ф╫к╫Щ╫з╫Щ╫Щ╫Ф ╫Ф╫а╫в╫Х╫Ь╫Ф",
|
||||
"remove_from_locked_folder": "╫Ф╫б╫и ╫Ю╫Ф╫к╫Щ╫з╫Щ╫Щ╫Ф ╫Ф╫а╫в╫Х╫Ь╫Ф",
|
||||
"remove_from_locked_folder_confirmation": "╫Ф╫Р╫Э ╫Р╫к╫Ф ╫С╫Ш╫Х╫Ч ╫й╫С╫и╫ж╫Х╫а╫Ъ ╫Ь╫Ф╫в╫С╫Щ╫и ╫Р╫к ╫Ф╫к╫Ю╫Х╫а╫Х╫к ╫Х╫Ф╫б╫и╫Ш╫Х╫а╫Щ╫Э ╫Ф╫Р╫Ь╫Ф ╫Ю╫Ч╫Х╫е ╫Ь╫к╫Щ╫з╫Щ╫Щ╫Ф ╫Ф╫а╫в╫Х╫Ь╫Ф? ╫Ф╫Э ╫Щ╫Ф╫Щ╫Х ╫Ю╫Х╫ж╫Т╫Щ╫Э ╫С╫б╫д╫и╫Щ╫Щ╫Ф ╫й╫Ь╫Ъ.",
|
||||
"remove_from_shared_link": "╫Ф╫б╫и ╫Ю╫з╫Щ╫й╫Х╫и ╫Ю╫й╫Х╫к╫г",
|
||||
@@ -1605,6 +1628,7 @@
|
||||
"select_album_cover": "╫С╫Ч╫и ╫в╫Ш╫Щ╫д╫к ╫Р╫Ь╫С╫Х╫Э",
|
||||
"select_all": "╫С╫Ч╫и ╫Ф╫Ы╫Ь",
|
||||
"select_all_duplicates": "╫С╫Ч╫и ╫Р╫к ╫Ы╫Ь ╫Ф╫Ы╫д╫Щ╫Ь╫Х╫Щ╫Х╫к",
|
||||
"select_all_in": "╫С╫Ч╫и ╫Ф╫Ы╫Х╫Ь ╫С╫к╫Х╫Ъ {group}",
|
||||
"select_avatar_color": "╫С╫Ч╫и ╫ж╫С╫в ╫к╫Ю╫Х╫а╫к ╫д╫и╫Х╫д╫Щ╫Ь",
|
||||
"select_face": "╫С╫Ч╫и ╫д╫а╫Щ╫Э",
|
||||
"select_featured_photo": "╫С╫Ч╫и ╫к╫Ю╫Х╫а╫Ф ╫Ю╫Щ╫Щ╫ж╫Т╫к",
|
||||
@@ -1834,6 +1858,7 @@
|
||||
"total": "╫б╫Ф\"╫Ы",
|
||||
"total_usage": "╫й╫Щ╫Ю╫Х╫й ╫Ы╫Х╫Ь╫Ь",
|
||||
"trash": "╫Р╫й╫д╫Ф",
|
||||
"trash_action_prompt": "{count} ╫Ф╫Х╫в╫С╫и╫Х ╫Ь╫Р╫й╫д╫Ф",
|
||||
"trash_all": "╫Ф╫в╫С╫и ╫Ф╫Ы╫Ь ╫Ь╫Р╫й╫д╫Ф",
|
||||
"trash_count": "╫Ф╫в╫С╫и ╫Ь╫Р╫й╫д╫Ф {count, number}",
|
||||
"trash_delete_asset": "╫Ф╫в╫С╫и ╫Ь╫Р╫й╫д╫Ф/╫Ю╫Ч╫з ╫к╫Ю╫Х╫а╫Ф",
|
||||
@@ -1851,9 +1876,11 @@
|
||||
"unable_to_change_pin_code": "╫Ь╫Р ╫а╫Щ╫к╫Я ╫Ь╫й╫а╫Х╫к ╫Р╫к ╫з╫Х╫У ╫Ф PIN",
|
||||
"unable_to_setup_pin_code": "╫Ь╫Р ╫а╫Щ╫к╫Я ╫Ь╫Ф╫Т╫У╫Щ╫и ╫з╫Х╫У PIN",
|
||||
"unarchive": "╫Ф╫Х╫ж╫Р ╫Ю╫Р╫и╫Ы╫Щ╫Х╫Я",
|
||||
"unarchive_action_prompt": "{count} ╫Ф╫Х╫б╫и╫Х ╫Ю╫Ф╫Р╫и╫Ы╫Щ╫Х╫Я",
|
||||
"unarchived_count": "{count, plural, other {# ╫Ф╫Х╫ж╫Р╫Х ╫Ю╫Ф╫Р╫и╫Ы╫Щ╫Х╫Я}}",
|
||||
"undo": "╫Ь╫С╫Ш╫Ь",
|
||||
"unfavorite": "╫Ь╫Р ╫Ю╫Х╫в╫У╫г",
|
||||
"unfavorite_action_prompt": "{count} ╫Ф╫Х╫б╫и╫Х ╫Ю╫Ф╫Ю╫Х╫в╫У╫д╫Щ╫Э",
|
||||
"unhide_person": "╫С╫Ш╫Ь ╫Ф╫б╫к╫и╫к ╫Р╫У╫Э",
|
||||
"unknown": "╫Ь╫Р ╫Щ╫У╫Х╫в",
|
||||
"unknown_country": "╫Ю╫У╫Щ╫а╫Ф ╫Ь╫Р ╫Щ╫У╫Х╫в╫Ф",
|
||||
@@ -1869,8 +1896,10 @@
|
||||
"unsaved_change": "╫й╫Щ╫а╫Х╫Щ ╫Ь╫Р ╫а╫й╫Ю╫и",
|
||||
"unselect_all": "╫С╫Ш╫Ь ╫С╫Ч╫Щ╫и╫Ф ╫С╫Ф╫Ы╫Ь",
|
||||
"unselect_all_duplicates": "╫С╫Ш╫Ь ╫С╫Ч╫Щ╫и╫к ╫Ы╫Ь ╫Ф╫Ы╫д╫Щ╫Ь╫Х╫Щ╫Х╫к",
|
||||
"unselect_all_in": "╫С╫Ш╫Ь ╫Р╫к ╫Ф╫С╫Ч╫Щ╫и╫Ф ╫й╫Ь ╫Ф╫Ы╫Ь ╫С {group}",
|
||||
"unstack": "╫С╫Ш╫Ь ╫в╫и╫Щ╫Ю╫Ф",
|
||||
"unstacked_assets_count": "{count, plural, one {╫к╫Ю╫Х╫а╫Ф # ╫Ф╫Х╫б╫и╫Ф} other {# ╫к╫Ю╫Х╫а╫Х╫к ╫Ф╫Х╫б╫и╫Х}} ╫Ю╫Ф╫в╫и╫Щ╫Ю╫Ф",
|
||||
"untagged": "╫Ь╫Р ╫Ю╫к╫Щ╫Х╫Т╫Щ╫Э",
|
||||
"up_next": "╫Ф╫С╫Р ╫С╫к╫Х╫и",
|
||||
"updated_at": "╫в╫Х╫У╫Ы╫Я",
|
||||
"updated_password": "╫б╫Щ╫б╫Ю╫Ф ╫в╫Х╫У╫Ы╫а╫Ф",
|
||||
|
||||
@@ -22,6 +22,7 @@
|
||||
"add_partner": "рдЬреЛрдбрд╝реАрджрд╛рд░ рдбрд╛рд▓реЗрдВ",
|
||||
"add_path": "рдкрде рдбрд╛рд▓реЗрдВ",
|
||||
"add_photos": "рдлрд╝реЛрдЯреЛ рдбрд╛рд▓реЗрдВ",
|
||||
"add_tag": "рдЪрд┐рд╣реНрдирд┐рдд рдХрд░реЗрдВ",
|
||||
"add_to": "рдЗрд╕рдореЗрдВ рдбрд╛рд▓реЗрдВтАж",
|
||||
"add_to_album": "рдПрд▓реНрдмрдо рдореЗрдВ рдбрд╛рд▓реЗрдВ",
|
||||
"add_to_album_bottom_sheet_added": "{album} рдореЗрдВ рдбрд╛рд▓реЗрдВ",
|
||||
@@ -33,6 +34,7 @@
|
||||
"added_to_favorites_count": "рдкрд╕рдВрджреАрджрд╛ рдореЗрдВ {count, number} рдбрд╛рд▓рд╛ рдЧрдпрд╛",
|
||||
"admin": {
|
||||
"add_exclusion_pattern_description": "рдмрд╣рд┐рд╖реНрдХрд░рдг рдкреИрдЯрд░реНрди рдЬреЛрдбрд╝реЗрдВ. *, **, рдФрд░ ? рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдЧреНрд▓реЛрдмрд┐рдВрдЧ рдХрд░рдирд╛ рд╕рдорд░реНрдерд┐рдд рд╣реИред \"Raw\" рдирд╛рдордХ рдХрд┐рд╕реА рднреА рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛ рдХреА рд╕рднреА рдлрд╝рд╛рдЗрд▓реЛрдВ рдХреЛ рдЕрдирджреЗрдЦрд╛ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, \"**/Raw/**\" рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВред \".tif\" рд╕реЗ рд╕рдорд╛рдкреНрдд рд╣реЛрдиреЗ рд╡рд╛рд▓реА рд╕рднреА рдлрд╝рд╛рдЗрд▓реЛрдВ рдХреЛ рдЕрдирджреЗрдЦрд╛ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, \"**/*.tif\" рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВред рдХрд┐рд╕реА рдкреВрд░реНрдг рдкрде рдХреЛ рдЕрдирджреЗрдЦрд╛ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, \"/path/to/ignore/**\" рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВред",
|
||||
"admin_user": "рд╡реНрдпрд╡рд╕реНрдерд╛рдкрдХ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛",
|
||||
"asset_offline_description": "рдпрд╣ рдмрд╛рд╣рд░реА рд▓рд╛рдЗрдмреНрд░реЗрд░реА рдПрд╕реЗрдЯ рдЕрдм рдбрд┐рд╕реНрдХ рдкрд░ рдореМрдЬреВрдж рдирд╣реАрдВ рд╣реИ рдФрд░ рдЗрд╕реЗ рдЯреНрд░реИрд╢ рдореЗрдВ рдбрд╛рд▓ рджрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИред рдпрджрд┐ рдлрд╝рд╛рдЗрд▓ рдХреЛ рд▓рд╛рдЗрдмреНрд░реЗрд░реА рдХреЗ рднреАрддрд░ рдХрд╣реАрдВ рд▓реЗ рдЬрд╛рдпрд╛ рдЧрдпрд╛ рдерд╛, рддреЛ рдирдИ рд╕рдВрдмрдВрдзрд┐рдд рдПрд╕реЗрдЯ рдХреЗ рд▓рд┐рдП рдЕрдкрдиреА рдЯрд╛рдЗрдорд▓рд╛рдЗрди рджреЗрдЦреЗрдВред рдЗрд╕ рдПрд╕реЗрдЯ рдХреЛ рд╡рд╛рдкрд╕ рдкрд╛рдиреЗ рдХреЗ рд▓рд┐рдП, рдХреГрдкрдпрд╛ рд╕реБрдирд┐рд╢реНрдЪрд┐рдд рдХрд░реЗрдВ рдХрд┐ рдиреАрдЪреЗ рджрд┐рдП рдЧрдП рдлрд╝рд╛рдЗрд▓ рдкрде рдХреЛ рдЗрдореНрдорд┐рдЪ рджреНрд╡рд╛рд░рд╛ рдПрдХреНрд╕реЗрд╕ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ рдФрд░ рдлрд┐рд░ рд▓рд╛рдЗрдмреНрд░реЗрд░реА рдХреЛ рд╕реНрдХреИрди рдХрд░реЗрдВред",
|
||||
"authentication_settings": "рдкреНрд░рдорд╛рдгреАрдХрд░рдг рд╕реЗрдЯрд┐рдВрдЧреНрд╕",
|
||||
"authentication_settings_description": "рдкрд╛рд╕рд╡рд░реНрдб, OAuth рдФрд░ рдЕрдиреНрдп рдкреНрд░рдорд╛рдгреАрдХрд░рдг рд╕реЗрдЯрд┐рдВрдЧреНрд╕ рдкреНрд░рдмрдВрдзрд┐рдд рдХрд░реЗрдВ",
|
||||
|
||||
@@ -462,7 +462,6 @@
|
||||
"assets": "Sredstva",
|
||||
"assets_added_count": "Dodano {count, plural, one {# asset} other {# assets}}",
|
||||
"assets_added_to_album_count": "Dodano {count, plural, one {# asset} other {# assets}} u album",
|
||||
"assets_added_to_name_count": "Dodano {count, plural, one {# asset} other {# assets}} u {hasName, select, true {<b>{name}</b>} other {new album}}",
|
||||
"assets_cannot_be_added_to_album_count": "{count, plural,\n one {Nije mogu─Зe dodati medij u album}\n few {Nije mogu─Зe dodati # medija u album}\n other {Nije mogu─Зe dodati # medija u album}\n}",
|
||||
"assets_count": "{count, plural, one {# asset} other {# assets}}",
|
||||
"assets_deleted_permanently": "{count} resurs(i) uspje┼бno uklonjeni",
|
||||
|
||||
+134
-29
@@ -22,6 +22,7 @@
|
||||
"add_partner": "Partner hozz├бad├бsa",
|
||||
"add_path": "El├йr├йsi ├║tvonal megad├бsa",
|
||||
"add_photos": "Fot├│k hozz├бad├бsa",
|
||||
"add_tag": "C├нmke hozz├бad├бsa",
|
||||
"add_to": "Hozz├бad├бs ideтАж",
|
||||
"add_to_album": "Felv├йtel albumba",
|
||||
"add_to_album_bottom_sheet_added": "Hozz├бadva a(z) \"{album}\" albumhoz",
|
||||
@@ -33,6 +34,7 @@
|
||||
"added_to_favorites_count": "{count, number} hozz├бadva a kedvencekhez",
|
||||
"admin": {
|
||||
"add_exclusion_pattern_description": "Kihagy├бsi mint├бk (pattern) megad├бsa. A *, ** ├йs ? helyettes├нt┼С karakterek enged├йlyezettek. Pl. a \"Raw\" k├╢nyvt├бrban t├бrolt ├╢sszes f├бjl kihagy├бs├бhoz haszn├бlhat├│ a \"**/Raw/**\". Minden \".tif\" f├бjl kihagy├бsa az ├╢sszes mapp├бban: \"**/*.tif\". Abszol├║t el├йr├йsi ├║tvonal kihagy├бsa: \"/kihagyni/kivant/mappa/**\".",
|
||||
"admin_user": "Admin felhaszn├бl├│",
|
||||
"asset_offline_description": "Ez a k├╝ls┼С k├йpt├бrban l├йv┼С elem m├бr nem tal├бlhat├│, ez├йrt a lomt├бrba ker├╝lt. Ha a f├бjl a k├йpt├бron bel├╝l lett ├бthelyezve, akkor ellen┼Сrizd, hogy tov├бbbra is l├бthat├│ az id┼Сvonaladon. Az elem vissza├бll├нt├бs├бhoz gy┼Сz┼Сdj meg r├│la, hogy az al├бbbi mappa az Immich sz├бm├бra el├йrhet┼С, majd ├║jra f├йs├╝ld ├бt a k├йpt├бrat.",
|
||||
"authentication_settings": "Hiteles├нt├йsi be├бll├нt├бsok",
|
||||
"authentication_settings_description": "Jelsz├│, OAuth ├йs egy├йb hiteles├нt├йsi be├бll├нt├бsok kezel├йse",
|
||||
@@ -43,7 +45,7 @@
|
||||
"backup_database_enable_description": "Adatb├бzis ment├йsek enged├йlyez├йse",
|
||||
"backup_keep_last_amount": "Meg┼Сrizend┼С kor├бbbi ment├йsek sz├бma",
|
||||
"backup_settings": "Adatb├бzis ment├йs be├бll├нt├бsai",
|
||||
"backup_settings_description": "Adatb├бzis ment├йs be├бll├нt├бsainak kezel├йse. Megjegyz├йs: Ezek a feladatok nincsenek fel├╝gyelve, ├нgy nem kapsz ├йrtes├нt├йs meghi├║sul├бs eset├йn.",
|
||||
"backup_settings_description": "Adatb├бzis ment├йs be├бll├нt├бsainak kezel├йse.",
|
||||
"cleared_jobs": "{job}: feladatai t├╢r├╢lve",
|
||||
"config_set_by_file": "A konfigur├бci├│t jelenleg egy konfigur├бci├│s f├бjl ├бll├нtja be",
|
||||
"confirm_delete_library": "Biztosan ki szeretn├йd t├╢r├╢lni a {library} k├йpt├бrat?",
|
||||
@@ -155,7 +157,7 @@
|
||||
"map_settings_description": "T├йrk├йp be├бll├нt├бsok kezel├йse",
|
||||
"map_style_description": "Egy style.json t├йrk├йpt├йm├бra mutat├│ URL c├нm",
|
||||
"memory_cleanup_job": "Mem├│ria takar├нt├бs",
|
||||
"memory_generate_job": "Eml├йk gener├бl├бlsa",
|
||||
"memory_generate_job": "Eml├йk gener├бl├бsa",
|
||||
"metadata_extraction_job": "Metaadatok kinyer├йse",
|
||||
"metadata_extraction_job_description": "Metaadat inform├бci├│k (pl. GPS, arcok ├йs felbont├бs) kinyer├йse minden elemb┼Сl",
|
||||
"metadata_faces_import_setting": "Arc import├бl├бs enged├йlyez├йse",
|
||||
@@ -169,7 +171,7 @@
|
||||
"note_apply_storage_label_previous_assets": "Megjegyz├йs: Ha a kor├бbban felt├╢lt├╢tt elemekhez is szeretne T├бrhely C├нmk├йket t├бrs├нtani, akkor futtassa ezt",
|
||||
"note_cannot_be_changed_later": "FIGYELEM: ezt k├йs┼Сbb nem lehet megv├бltoztatni!",
|
||||
"notification_email_from_address": "Felad├│ c├нm",
|
||||
"notification_email_from_address_description": "K├╝ld┼С email c├нme, p├йld├бul: \"Immich Fot├│szerver <noreply@example.com>\"",
|
||||
"notification_email_from_address_description": "K├╝ld┼С email c├нme, p├йld├бul: \"Immich Fot├│szerver <noreply@example.com>\". Figyelj hogy olyan c├нmet adj meg ahonnan az email k├╝ld├йs enged├йlyezett.",
|
||||
"notification_email_host_description": "Email szerver kiszolg├бl├│ja (pl. smtp.immich.app)",
|
||||
"notification_email_ignore_certificate_errors": "Tan├║s├нtv├бny hib├бk figyelmen k├нv├╝l hagy├бsa",
|
||||
"notification_email_ignore_certificate_errors_description": "TLS tan├║s├нtv├бny ├йrv├йnyess├йgi hib├бk figyelmen k├нv├╝l hagy├бsa (nem aj├бnlott)",
|
||||
@@ -202,7 +204,7 @@
|
||||
"oauth_storage_quota_claim": "T├бrhelykv├│ta ig├йnyl├йse",
|
||||
"oauth_storage_quota_claim_description": "A felhaszn├бl├│ t├бrhelykv├│t├бj├бnak automatikus be├бll├нt├бsa ennek az ig├йnyeltre.",
|
||||
"oauth_storage_quota_default": "Alap├йrtelmezett t├бrhelykv├│ta (GiB)",
|
||||
"oauth_storage_quota_default_description": "Alap├йrtelmezett t├бrhely kv├│ta GiB-ban, amennyiben a felhaszn├бl├│ nem jelezte az ig├йny├йt (A korl├бtlan t├бrhelyhez 0-t adj meg).",
|
||||
"oauth_storage_quota_default_description": "Alap├йrtelmezett t├бrhely kv├│ta GiB-ban, amennyiben a felhaszn├бl├│ nem jelezte az ig├йny├йt.",
|
||||
"oauth_timeout": "K├йr├йs id┼Сkorl├бtja",
|
||||
"oauth_timeout_description": "K├йr├йsek id┼Сkorl├бtja milliszekundumban",
|
||||
"password_enable_description": "Bejelentkez├йs emaillel ├йs jelsz├│val",
|
||||
@@ -242,6 +244,7 @@
|
||||
"storage_template_migration_info": "A sablon az ├╢sszes kiterjeszt├йst kisbet┼▒ss├й alak├нtja ├бt. A megv├бltozott sablon csak az ├║jonnan felt├╢lt├╢tt elemekre vonatkozik. A kor├бbbi elemek visszamen┼Сleges ├бthelyez├йs├йhez ezt futtasd: <link>{job}</link>.",
|
||||
"storage_template_migration_job": "T├бrhely Sablon Migr├бci├│ja",
|
||||
"storage_template_more_details": "Tov├бbbi r├йszletek├йrt err┼Сl a funkci├│r├│l l├бsd a <template-link>T├бrhely Sablon</template-link> ├йs annak <implications-link>k├╢vetkezm├йnyeit</implications-link> a dokument├бci├│ban",
|
||||
"storage_template_onboarding_description_v2": "A funkci├│ enged├йlyez├йs├йvel automatikusan, a felhaszn├бl├│ ├бltal defini├бlt sablon alapj├бn lesznek rendezve a f├бjlok. T├╢bb inform├бci├│├йrt l├бsd a <link>dokument├бci├│t</link>.",
|
||||
"storage_template_path_length": "├Ъtvonal hozz├бvet┼Сleges maxim├бlis hossza: <b>{length, number}</b>{limit, number}",
|
||||
"storage_template_settings": "T├бrhely Sablon",
|
||||
"storage_template_settings_description": "A felt├╢lt├╢tt elemek mappaszerkezet├йnek ├йs f├бjl elnevez├йs├йnek kezel├йse",
|
||||
@@ -256,7 +259,7 @@
|
||||
"template_email_update_album": "Album friss├нtve sablon",
|
||||
"template_email_welcome": "├Ьdv├╢zl┼С email sablon",
|
||||
"template_settings": "├Йrtes├нt├йs sablon",
|
||||
"template_settings_description": "Egy├йni sablonok kezel├йse az ├йrtes├нt├йsekhez.",
|
||||
"template_settings_description": "Egy├йni sablonok kezel├йse az ├йrtes├нt├йsekhez",
|
||||
"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",
|
||||
@@ -288,7 +291,7 @@
|
||||
"transcoding_encoding_options": "Enk├│dol├бs be├бll├нt├бsok",
|
||||
"transcoding_encoding_options_description": "Be├бll├нthatod az enk├│dolt vide├│k k├│dol├бsi algoritmus├бt, felbont├бs├бt, min┼Сs├йg├йt ├йs egy├йb be├бll├нt├бsait",
|
||||
"transcoding_hardware_acceleration": "Hardveres Gyors├нt├бs",
|
||||
"transcoding_hardware_acceleration_description": "K├нs├йrleti funkci├│. Sokkal gyorsabb, viszont azonos bitr├бt├бn is alacsonyabb min┼Сs├йghez vezet",
|
||||
"transcoding_hardware_acceleration_description": "K├нs├йrleti funkci├│: gyorsabb transzk├│dol├бs, viszont azonos bitr├бt├бn alacsonyabb min┼Сs├йghez vezethet",
|
||||
"transcoding_hardware_decoding": "Hardveres dek├│dol├бs",
|
||||
"transcoding_hardware_decoding_setting_description": "Lehet┼Сv├й teszi az eg├йsz folyamat gyors├нt├бs├бt a puszt├бn k├│dol├бs gyors├нt├бsa helyett. Nem biztos, hogy minden vide├│ eset├йn m┼▒k├╢dik.",
|
||||
"transcoding_max_b_frames": "B-k├йpkock├бk maximum sz├бma",
|
||||
@@ -334,6 +337,7 @@
|
||||
"user_delete_delay_settings_description": "H├бny nappal az elt├бvol├нt├бs ut├бn legyen v├йglegesen t├╢r├╢lve a felhaszn├бl├│ fi├│kja ├йs t├бrolt elemei. A v├йgleges t├╢rl├йs feladat minden ├йjf├йlkor fut le, hogy ellen┼Сrizze, hogy van-e t├╢rlend┼С felhaszn├бl├│. Ez a be├бll├нt├бs a k├╢vetkez┼С futtat├бs sor├бn l├йp ├йletbe.",
|
||||
"user_delete_immediately": "<b>{user}</b> felhaszn├бl├│ja ├йs ├╢sszes eleme <b>azonnal</b> sorba ├бll├нt├бsra ker├╝l a v├йgleges t├╢rl├йshez .",
|
||||
"user_delete_immediately_checkbox": "Felhaszn├бl├│ ├йs t├бrolt elemeinek sorba ├бll├нt├бsa azonnali t├╢rl├йsre",
|
||||
"user_details": "Felhaszn├бl├│i adatok",
|
||||
"user_management": "Felhaszn├бl├│k Kezel├йse",
|
||||
"user_password_has_been_reset": "A felhaszn├бl├│ jelszava megv├бltoztat├бsra ker├╝lt:",
|
||||
"user_password_reset_description": "Juttasd el az ├бtmeneti jelsz├│t a felhaszn├бl├│hoz ├йs t├бj├йkoztasd, hogy a k├╢vetkez┼С bel├йp├йsn├йl azt majd meg kell v├бltoztatnia.",
|
||||
@@ -349,6 +353,7 @@
|
||||
"video_conversion_job": "Vide├│k ├Бtk├│dol├бsa",
|
||||
"video_conversion_job_description": "Vide├│k ├бtk├│dol├бsa b├╢ng├йsz┼Сkkel ├йs eszk├╢z├╢kkel val├│ sz├йlesk├╢r┼▒ kompatibilit├бs ├йrdek├йben"
|
||||
},
|
||||
"admin_email": "Admin e-mail",
|
||||
"admin_password": "Admin Jelsz├│",
|
||||
"administration": "Adminisztr├бci├│",
|
||||
"advanced": "Halad├│",
|
||||
@@ -362,6 +367,7 @@
|
||||
"advanced_settings_self_signed_ssl_subtitle": "Nem ellen┼Сrzi a szerver SSL tan├║s├нtv├бny├бt. ├Цnal├б├нrt tan├║s├нtv├бny eset├йn sz├╝ks├йges be├бll├нt├бs.",
|
||||
"advanced_settings_self_signed_ssl_title": "├Цnal├б├нrt SSL tan├║s├нtv├бnyok enged├йlyez├йse",
|
||||
"advanced_settings_sync_remote_deletions_subtitle": "Automatikusan t├╢r├╢lni vagy vissza├бll├нtani egy elemet ezen az eszk├╢z├╢n, ha az adott m┼▒veletet a weben hajtott├бk v├йgre",
|
||||
"advanced_settings_sync_remote_deletions_title": "T├бvoli t├╢rl├йsek szinkroniz├бl├бsa [K├НS├ЙRLETI FUNKCI├У]",
|
||||
"advanced_settings_tile_subtitle": "Halad├│ felhaszn├бl├│i be├бll├нt├бsok",
|
||||
"advanced_settings_troubleshooting_subtitle": "Tov├бbbi funkci├│k enged├йlyez├йse hibaelh├бr├нt├бs c├йlj├бb├│l",
|
||||
"advanced_settings_troubleshooting_title": "Hibaelh├бr├нt├бs",
|
||||
@@ -398,6 +404,9 @@
|
||||
"album_with_link_access": "A link birtok├бban b├бrki l├бthatja a fot├│kat ├йs a szem├йlyeket ebben az albumban.",
|
||||
"albums": "Albumok",
|
||||
"albums_count": "{count, plural, one {{count, number} Album} other {{count, number} Album}}",
|
||||
"albums_default_sort_order": "Alap├йrtelmezett album rendez├йs",
|
||||
"albums_default_sort_order_description": "Alap├йrtelmezett sorrendez├йs ├║j albumok l├йtrehoz├бs├бn├бl.",
|
||||
"albums_feature_description": "M├бsokkal megoszthat├│ elemek gy┼▒jtem├йnye.",
|
||||
"all": "Mind",
|
||||
"all_albums": "Minden album",
|
||||
"all_people": "Minden szem├йly",
|
||||
@@ -455,10 +464,11 @@
|
||||
"assets": "Elemek",
|
||||
"assets_added_count": "{count, plural, other {# elem}} hozz├бadva",
|
||||
"assets_added_to_album_count": "{count, plural, other {# elem}} hozz├бadva az albumhoz",
|
||||
"assets_added_to_name_count": "{count, plural, other {# elem}} hozz├бadva {hasName, select, true {a(z) <b>{name}</b>} other {az ├║j}} albumhoz",
|
||||
"assets_cannot_be_added_to_album_count": "{count, plural, one {Az elem} other {Az elemek}} nem adhat├│ak hozz├б az albumhoz",
|
||||
"assets_count": "{count, plural, other {# elem}}",
|
||||
"assets_deleted_permanently": "{count} elem v├йglegesen t├╢r├╢lve",
|
||||
"assets_deleted_permanently_from_server": "{count} elem v├йglegesen t├╢r├╢lve az Immich szerverr┼Сl",
|
||||
"assets_downloaded_successfully": "{count, plural, one {# f├бjl sikeresen let├╢ltve} other {# f├бjl sikeresen let├╢ltve}}",
|
||||
"assets_moved_to_trash_count": "{count, plural, other {# elem}} ├бthelyezve a lomt├бrba",
|
||||
"assets_permanently_deleted_count": "{count, plural, other {# elem}} v├йglegesen t├╢r├╢lve",
|
||||
"assets_removed_count": "{count, plural, other {# elem}} elt├бvol├нtva",
|
||||
@@ -484,10 +494,10 @@
|
||||
"backup_album_selection_page_selection_info": "├Цsszegz├йs",
|
||||
"backup_album_selection_page_total_assets": "├Цsszes egyedi elem",
|
||||
"backup_all": "├Цsszes",
|
||||
"backup_background_service_backup_failed_message": "Az elemek ment├йse sikertelen. ├Ъjrapr├│b├бlkoz├бs...",
|
||||
"backup_background_service_connection_failed_message": "A szerverhez csatlakoz├бs sikertelen. ├Ъjrapr├│b├бlkoz├бs...",
|
||||
"backup_background_service_backup_failed_message": "Az elemek ment├йse sikertelen. ├Ъjrapr├│b├бlkoz├бsтАж",
|
||||
"backup_background_service_connection_failed_message": "A szerverhez csatlakoz├бs sikertelen. ├Ъjrapr├│b├бlkoz├бsтАж",
|
||||
"backup_background_service_current_upload_notification": "Felt├╢lt├йs {filename}",
|
||||
"backup_background_service_default_notification": "├Ъj elemek ellen┼Сrz├йse...",
|
||||
"backup_background_service_default_notification": "├Ъj elemek ellen┼Сrz├йseтАж",
|
||||
"backup_background_service_error_title": "Hiba a ment├йs k├╢zben",
|
||||
"backup_background_service_in_progress_notification": "Elemek ment├йse folyamatbanтАж",
|
||||
"backup_background_service_upload_failure_notification": "A felt├╢lt├йs sikertelen {filename}",
|
||||
@@ -497,6 +507,7 @@
|
||||
"backup_controller_page_background_app_refresh_enable_button_text": "Be├бll├нt├бsok megnyit├бsa",
|
||||
"backup_controller_page_background_battery_info_link": "Mutasd meg hogyan",
|
||||
"backup_controller_page_background_battery_info_message": "A sikeres h├бtt├йrben t├╢rt├йn┼С ment├йshez k├йrj├╝k, tiltsd le az Immich akkumul├бtor optimaliz├бl├бs├бt.\n\nMivel ezt a k├╝l├╢nf├йle eszk├╢z├╢k├╢n m├бshogy kell, ez├йrt k├йrj├╝k, az eszk├╢z├╢d gy├бrt├│j├бt├│l tudd meg, hogyan kell.",
|
||||
"backup_controller_page_background_battery_info_ok": "OK",
|
||||
"backup_controller_page_background_battery_info_title": "Akkumul├бtor optimaliz├бl├бs",
|
||||
"backup_controller_page_background_charging": "Csak t├╢lt├йs k├╢zben",
|
||||
"backup_controller_page_background_configure_error": "A h├бtt├йrszolg├бltat├бs be├бll├нt├бsa sikertelen",
|
||||
@@ -539,6 +550,10 @@
|
||||
"backup_options_page_title": "Bizton├бgi ment├йs be├бll├нt├бsai",
|
||||
"backup_setting_subtitle": "A h├бtt├йrben ├йs el┼Сt├йrben ment├йs be├бll├нt├бsainak kezel├йse",
|
||||
"backward": "Visszafele",
|
||||
"biometric_auth_enabled": "Biometrikus azonos├нt├бs enged├йlyezve",
|
||||
"biometric_locked_out": "A biometrikus azonos├нt├бsb├│l kiz├бrva",
|
||||
"biometric_no_options": "A biometrikus azonos├нt├бs nem el├йrhet┼С",
|
||||
"biometric_not_available": "Biometrikus azonos├нt├бs ezen az eszk├╢z├╢n nem el├йrhet┼С",
|
||||
"birthdate_saved": "Sz├╝let├йsnap elmentve",
|
||||
"birthdate_set_description": "A sz├╝let├йs napj├бt a rendszer arra haszn├бlja, hogy ki├нrja, hogy a f├йnyk├йp k├йsz├нt├йsekor a szem├йly h├бny ├йves volt.",
|
||||
"blurred_background": "Hom├бlyos h├бtt├йr",
|
||||
@@ -572,6 +587,7 @@
|
||||
"cannot_undo_this_action": "Ez a m┼▒velet nem visszavonhat├│!",
|
||||
"cannot_update_the_description": "A le├нr├бs megv├бltoztat├бsa nem siker├╝lt",
|
||||
"change_date": "D├бtum v├бltoztat├бsa",
|
||||
"change_description": "Le├нr├бs megv├бltoztat├бsa",
|
||||
"change_display_order": "Megjelen├нt├йsi sorrend megv├бltoztat├бsa",
|
||||
"change_expiration_time": "Lej├бrati id┼С megv├бltoztat├бsa",
|
||||
"change_location": "Helysz├нn v├бltoztat├бsa",
|
||||
@@ -598,6 +614,7 @@
|
||||
"clear_all_recent_searches": "Legut├│bbi keres├йsek t├╢rl├йse",
|
||||
"clear_message": "├Ьzenet t├╢rl├йse",
|
||||
"clear_value": "├Йrt├йk t├╢rl├йse",
|
||||
"client_cert_dialog_msg_confirm": "OK",
|
||||
"client_cert_enter_password": "Jelsz├│ Megad├бsa",
|
||||
"client_cert_import": "Import├бl├бs",
|
||||
"client_cert_import_success_msg": "Kliens tan├║s├нtv├бny import├бlva",
|
||||
@@ -625,6 +642,10 @@
|
||||
"confirm_keep_this_delete_others": "Minden m├бs elem a k├йszletben t├╢rl├йsre ker├╝l, kiv├йve ezt az elemet. Biztosan folytatni szeretn├йd?",
|
||||
"confirm_new_pin_code": "├Ъj PIN k├│d meger┼Сs├нt├йse",
|
||||
"confirm_password": "Jelsz├│ meger┼Сs├нt├йse",
|
||||
"confirm_tag_face": "Szeretn├йd ezt az arcot {name}-k├йnt megjel├╢lni?",
|
||||
"confirm_tag_face_unnamed": "Szeretn├йd ezt az arcot megjel├╢lni?",
|
||||
"connected_device": "Kapcsolt eszk├╢z",
|
||||
"connected_to": "Kapcsol├│dva",
|
||||
"contain": "Bel├╝l",
|
||||
"context": "Kontextus",
|
||||
"continue": "Folytat├бs",
|
||||
@@ -633,6 +654,7 @@
|
||||
"control_bottom_app_bar_delete_from_local": "T├╢rl├йs az eszk├╢zr┼Сl",
|
||||
"control_bottom_app_bar_edit_location": "Hely M├│dos├нt├бsa",
|
||||
"control_bottom_app_bar_edit_time": "D├бtum ├йs Id┼С M├│dos├нt├бsa",
|
||||
"control_bottom_app_bar_share_link": "Link megoszt├бsa",
|
||||
"control_bottom_app_bar_share_to": "Megoszt├бs Ide",
|
||||
"control_bottom_app_bar_trash_from_immich": "Lomt├бrba Helyez",
|
||||
"copied_image_to_clipboard": "K├йp a v├бg├│lapra m├бsolva.",
|
||||
@@ -664,6 +686,7 @@
|
||||
"create_tag_description": "├Ъj c├нmke l├йtrehoz├бsa. Be├бgyazott c├нmk├йk eset├йn add meg a c├нmke teljes el├йr├йsi ├║tvonal├бt, bele├йrtve a perjeleket is.",
|
||||
"create_user": "Felhaszn├бl├│ l├йtrehoz├бsa",
|
||||
"created": "K├йsz├╝lt",
|
||||
"created_at": "L├йtrehozva",
|
||||
"crop": "Kiv├бg├бs",
|
||||
"curated_object_page_title": "Dolgok",
|
||||
"current_device": "Ez az eszk├╢z",
|
||||
@@ -719,7 +742,9 @@
|
||||
"direction": "Ir├бny",
|
||||
"disabled": "Letiltott",
|
||||
"disallow_edits": "M├│dos├нt├бsok letilt├бsa",
|
||||
"discord": "Discord",
|
||||
"discover": "Felfedez",
|
||||
"discovered_devices": "Felfedezett eszk├╢z├╢k",
|
||||
"dismiss_all_errors": "Minden hiba elvet├йse",
|
||||
"dismiss_error": "Hiba elvet├йse",
|
||||
"display_options": "Megjelen├нt├йsi be├бll├нt├бsok",
|
||||
@@ -744,8 +769,8 @@
|
||||
"download_settings_description": "Elemek let├╢lt├йs├йvel kapcsolatos be├бll├нt├бsok kezel├йse",
|
||||
"download_started": "Let├╢lt├йs megkezdve",
|
||||
"download_sucess": "Sikeres let├╢lt├йs",
|
||||
"download_sucess_android": "M├йdia let├╢ltve a DCIM/Immich mapp├бba\n",
|
||||
"download_waiting_to_retry": "V├бrakoz├бs",
|
||||
"download_sucess_android": "M├йdia let├╢ltve a DCIM/Immich mapp├бba",
|
||||
"download_waiting_to_retry": "V├бrakoz├бs ├║jrapr├│b├бlkoz├бshoz",
|
||||
"downloading": "Let├╢lt├йs",
|
||||
"downloading_asset_filename": "{filename} elem let├╢lt├йse",
|
||||
"downloading_media": "M├йdia let├╢lt├йse",
|
||||
@@ -758,6 +783,8 @@
|
||||
"edit_avatar": "Profilk├йp m├│dos├нt├бsa",
|
||||
"edit_date": "D├бtum m├│dos├нt├бsa",
|
||||
"edit_date_and_time": "D├бtum ├йs id┼С m├│dos├нt├бsa",
|
||||
"edit_description": "Le├нr├бs szerkeszt├йse",
|
||||
"edit_description_prompt": "K├йrlek v├бlassz egy ├║j le├нr├бst:",
|
||||
"edit_exclusion_pattern": "Kiz├бr├бsi minta (pattern) m├│dos├нt├бsa",
|
||||
"edit_faces": "Arcok m├│dos├нt├бsa",
|
||||
"edit_import_path": "Import├бl├бsi ├║tvonal m├│dos├нt├бsa",
|
||||
@@ -777,18 +804,25 @@
|
||||
"editor_close_without_save_title": "Szerkeszt┼С bez├бr├бsa?",
|
||||
"editor_crop_tool_h2_aspect_ratios": "Oldalar├бnyok",
|
||||
"editor_crop_tool_h2_rotation": "Forgat├бs",
|
||||
"email": "E-mail",
|
||||
"email_notifications": "E-mail ├йrtes├нt├йsek",
|
||||
"empty_folder": "Ez a mappa ├╝res",
|
||||
"empty_trash": "Lomt├бr ├╝r├нt├йse",
|
||||
"empty_trash_confirmation": "Biztosan ki├╝r├нted a lomt├бrat? Ez az Immich lomt├бr├бban l├йv┼С ├╢sszes elemet v├йglegesen t├╢rli.\nEz a m┼▒velet nem visszavonhat├│!",
|
||||
"enable": "Enged├йlyez├йs",
|
||||
"enable_biometric_auth_description": "Add meg a jelszavad a biometrikus azonos├нt├бs enged├йlyez├йs├йhez",
|
||||
"enabled": "Enged├йlyezve",
|
||||
"end_date": "V├йg d├бtum",
|
||||
"enqueued": "Sorba ├бll├нtva",
|
||||
"enter_wifi_name": "Add meg a WiFi h├бl├│zat nev├йt",
|
||||
"enter_wifi_name": "Add meg a Wi-Fi h├бl├│zat nev├йt",
|
||||
"enter_your_pin_code": "Add meg a jelszavad",
|
||||
"enter_your_pin_code_subtitle": "Add meg a jelszavad a z├бrolt mappa megnyit├бs├бhoz",
|
||||
"error": "Hiba",
|
||||
"error_change_sort_album": "Album sorbarendez├йs├йnek megv├бltoztat├бsa sikertelen",
|
||||
"error_delete_face": "Hiba az arc t├╢rl├йse sor├бn",
|
||||
"error_loading_image": "Hiba a k├йp bet├╢lt├йse k├╢zben",
|
||||
"error_saving_image": "Hiba: {error}",
|
||||
"error_tag_face_bounding_box": "Hiba az arc megjel├╢l├йse k├╢zben - nem el├йrhet┼Сek a hat├бrol├│ koordin├бt├бk",
|
||||
"error_title": "Hiba - valami f├йlresiker├╝lt",
|
||||
"errors": {
|
||||
"cannot_navigate_next_asset": "Nem lehet a k├╢vetkez┼С elemhez navig├бlni",
|
||||
@@ -816,10 +850,12 @@
|
||||
"failed_to_keep_this_delete_others": "Nem siker├╝lt megtartani ezt az elemet, ├йs a t├╢bbi elemet t├╢r├╢lni",
|
||||
"failed_to_load_asset": "Elem bet├╢lt├йse sikertelen",
|
||||
"failed_to_load_assets": "Elemek bet├╢lt├йse sikertelen",
|
||||
"failed_to_load_notifications": "├Йrtes├нt├йsek bet├╢lt├йse sikertelen",
|
||||
"failed_to_load_people": "Szem├йlyek bet├╢lt├йse sikertelen",
|
||||
"failed_to_remove_product_key": "Term├йkkulcs elt├бvol├нt├бsa sikertelen",
|
||||
"failed_to_stack_assets": "Elemek csoportos├нt├бsa sikertelen",
|
||||
"failed_to_unstack_assets": "Csoportos├нtott elemek sz├йtszed├йse sikertelen",
|
||||
"failed_to_update_notification_status": "├Йrtes├нt├йs st├бtusz friss├нt├йse sikertelen",
|
||||
"import_path_already_exists": "Ez az import├бl├бsi ├║tvonal m├бr l├йtezik.",
|
||||
"incorrect_email_or_password": "Helytelen email vagy jelsz├│",
|
||||
"paths_validation_failed": "A(z) {paths, plural, one {# el├йr├йsi ├║tvonal} other {# el├йr├йsi ├║tvonal}} ├йrv├йnyes├нt├йse sikertelen",
|
||||
@@ -836,6 +872,7 @@
|
||||
"unable_to_archive_unarchive": "Az elem {archived, select, true {archiv├бl├бsa} other {kiv├йtele az arch├нvumb├│l}} sikertelen",
|
||||
"unable_to_change_album_user_role": "Az album felhaszn├бl├│i jogk├╢r├йnek megv├бltoztat├бsa sikertelen",
|
||||
"unable_to_change_date": "D├бtum megv├бltoztat├бsa sikertelen",
|
||||
"unable_to_change_description": "Le├нr├бs m├│dos├нt├бsa sikertelen",
|
||||
"unable_to_change_favorite": "Az elem kedvenc ├бllapot├бnak megv├бltoztat├бsa sikertelen",
|
||||
"unable_to_change_location": "Hely megv├бltoztat├бsa sikertelen",
|
||||
"unable_to_change_password": "Jelsz├│ megv├бltoztat├бsa sikertelen",
|
||||
@@ -879,6 +916,7 @@
|
||||
"unable_to_remove_partner": "Partner elt├бvol├нt├бsa sikertelen",
|
||||
"unable_to_remove_reaction": "Reakci├│ elt├бvol├нt├бsa sikertelen",
|
||||
"unable_to_reset_password": "Jelsz├│ vissza├бll├нt├бsa sikertelen",
|
||||
"unable_to_reset_pin_code": "Jelsz├│ vissza├бll├нt├бsa sikertelen",
|
||||
"unable_to_resolve_duplicate": "Duplik├бtum felold├бsa sikertelen",
|
||||
"unable_to_restore_assets": "Elemek vissza├бll├нt├бsa sikertelen",
|
||||
"unable_to_restore_trash": "Az ├╢sszes elem vissza├бll├нt├бsa sikertelen",
|
||||
@@ -906,11 +944,14 @@
|
||||
"unable_to_update_user": "Felhaszn├бl├│ m├│dos├нt├бsa sikertelen",
|
||||
"unable_to_upload_file": "F├бjlfelt├╢lt├йs sikertelen"
|
||||
},
|
||||
"exif": "Exif",
|
||||
"exif_bottom_sheet_description": "Le├нr├бs Hozz├бad├бsa...",
|
||||
"exif_bottom_sheet_details": "R├ЙSZLETEK",
|
||||
"exif_bottom_sheet_location": "HELY",
|
||||
"exif_bottom_sheet_people": "EMBEREK",
|
||||
"exif_bottom_sheet_person_add_person": "Elnevez",
|
||||
"exif_bottom_sheet_person_age_months": "{months} h├│nap id┼Сs",
|
||||
"exif_bottom_sheet_person_age_year_months": "1 ├йv, {months} h├│nap id┼Сs",
|
||||
"exit_slideshow": "Kil├йp├йs a Diavet├нt├йsb┼Сl",
|
||||
"expand_all": "├Цsszes kinyit├бsa",
|
||||
"experimental_settings_new_asset_list_subtitle": "Fejleszt├йs alatt",
|
||||
@@ -928,10 +969,12 @@
|
||||
"external": "K├╝ls┼С K├йpt├бr",
|
||||
"external_libraries": "K├╝ls┼С K├йpt├бrak",
|
||||
"external_network": "K├╝ls┼С h├бl├│zat",
|
||||
"external_network_sheet_info": "Ha nem vagy a megadott WiFi h├бl├│zathoz csatlakozva, akkor az alkalmaz├бs az al├бbbi URL c├нmeken fogja el├йrni a szervert, fentr┼Сl lefel├й haladva",
|
||||
"external_network_sheet_info": "Ha nem vagy a megadott Wi-Fi h├бl├│zathoz csatlakozva, akkor az alkalmaz├бs az al├бbbi URL c├нmeken fogja el├йrni a szervert, fentr┼Сl lefel├й haladva",
|
||||
"face_unassigned": "Nincs hozz├бrendelve",
|
||||
"failed": "Sikertelen",
|
||||
"failed_to_authenticate": "Autentik├бci├│ sikertelen",
|
||||
"failed_to_load_assets": "Nem siker├╝lt bet├╢lteni az elemeket",
|
||||
"failed_to_load_folder": "Mappa bet├╢lt├йse sikertelen",
|
||||
"favorite": "Kedvenc",
|
||||
"favorite_or_unfavorite_photo": "Fot├│ kedvencnek jel├╢l├йse vagy annak visszavon├бsa",
|
||||
"favorites": "Kedvencek",
|
||||
@@ -945,14 +988,19 @@
|
||||
"filetype": "F├бjlt├нpus",
|
||||
"filter": "Sz┼▒r┼С",
|
||||
"filter_people": "Szem├йlyek sz┼▒r├йse",
|
||||
"filter_places": "Helyek sz┼▒r├йse",
|
||||
"find_them_fast": "N├йv alapj├бn keres├йssel gyorsan megtal├бlhat├│ak",
|
||||
"fix_incorrect_match": "Hib├бs tal├бlat jav├нt├бsa",
|
||||
"folder": "Mappa",
|
||||
"folder_not_found": "Mappa nem tal├бlhat├│",
|
||||
"folders": "Mapp├бk",
|
||||
"folders_feature_description": "A f├бjlrendszerben l├йv┼С f├йnyk├йpek ├йs vide├│k mappan├йzetben val├│ b├╢ng├йsz├йse",
|
||||
"forward": "El┼Сre",
|
||||
"gcast_enabled": "Google Cast",
|
||||
"gcast_enabled_description": "Ez a funkci├│ a Google-t┼Сl t├╢lti be a m┼▒k├╢d├йs├йhez sz├╝ks├йges k├╝ls┼С adatokat.",
|
||||
"general": "├Бltal├бnos",
|
||||
"get_help": "Seg├нts├йgk├йr├йs",
|
||||
"get_wifiname_error": "Nem siker├╝lt lek├йrni a Wi-Fi nev├йt. Gy┼Сz┼Сdj meg r├│la, hogy megadtad a sz├╝ks├йges enged├йlyeket ├йs csatlakozt├бl egy Wi-Fi h├бl├│zathoz.",
|
||||
"get_wifiname_error": "Nem siker├╝lt lek├йrni a Wi-Fi nev├йt. Gy┼Сz┼Сdj meg r├│la, hogy megadtad a sz├╝ks├йges enged├йlyeket ├йs csatlakozt├бl egy Wi-Fi h├бl├│zathoz",
|
||||
"getting_started": "Kezd┼С L├йp├йsek",
|
||||
"go_back": "Visszal├йp├йs",
|
||||
"go_to_folder": "Ugr├бs a mapp├бhoz",
|
||||
@@ -981,9 +1029,9 @@
|
||||
"hide_person": "Szem├йly elrejt├йse",
|
||||
"hide_unnamed_people": "N├йv n├йlk├╝li szem├йlyek elrejt├йse",
|
||||
"home_page_add_to_album_conflicts": "{added} elem hozz├бadva a(z) \"{album}\" albumhoz. {failed} elem m├бr eleve az albumban volt.",
|
||||
"home_page_add_to_album_err_local": "Helyi elemeket m├йg nem lehet albumba tenni. Kihagyjuk.",
|
||||
"home_page_add_to_album_err_local": "Helyi elemeket m├йg nem lehet albumba tenni, kihagy├бs",
|
||||
"home_page_add_to_album_success": "{added} elem hozz├бadva a(z) \"{album}\" albumhoz.",
|
||||
"home_page_album_err_partner": "M├йg nem lehet a partner elemeit albumokhoz adni, ├║ghogy kihagyjuk.",
|
||||
"home_page_album_err_partner": "M├йg nem lehet a partner elemeit albumokhoz adni, kihagy├бs",
|
||||
"home_page_archive_err_local": "Helyi elemek archiv├бl├бsa m├йg nem t├бmogatott, ├║gyhogy kihagyjuk",
|
||||
"home_page_archive_err_partner": "Partner elemeit nem lehet archiv├бlni, ├║gyhogy kihagyjuk",
|
||||
"home_page_building_timeline": "Id┼Сvonal ├╢ssze├бll├нt├бsa",
|
||||
@@ -991,11 +1039,14 @@
|
||||
"home_page_delete_remote_err_local": "Helyi elemek vannak t├бvoli t├╢rl├йsre kiv├бlasztva, ├║gyhogy ezeket kihagyjuk",
|
||||
"home_page_favorite_err_local": "Helyi elemeket m├йg nem lehet a kedvencek k├╢z├й tenni, ├║gyhogy ezeket kihagyjuk",
|
||||
"home_page_favorite_err_partner": "Partner elemeit m├йg nem lehet a kedvencek k├╢z├й tenni, ├║gyhogy ezeket kihagyjuk",
|
||||
"home_page_first_time_notice": "Ha most haszn├бlod el┼Сsz├╢r az alkalmaz├бst, akkor ahhoz, hogy megjelenjenek a fot├│k ├йs a vide├│k az id┼Сvonaladon, ├бll├нtsd be, hogy melyik albumaidr├│l k├йsz├╝lj├╢n biztons├бgi ment├йs.",
|
||||
"home_page_first_time_notice": "Ha most haszn├бlod el┼Сsz├╢r az alkalmaz├бst, a fot├│k ├йs vide├│k megjelen├нt├йs├йhez az id┼Сvonaladon, ├бll├нtsd be, hogy melyik albumaidr├│l k├йsz├╝lj├╢n biztons├бgi ment├йs",
|
||||
"home_page_locked_error_local": "Helyi elemek nem mozgathat├│ak a z├бrolt mapp├бba, ├бtugorva",
|
||||
"home_page_locked_error_partner": "Partner elemek nem mozgathat├│ak a z├бrolt mapp├бba, ├бtugorva",
|
||||
"home_page_share_err_local": "Helyi elemekr┼Сl nem lehet megosztott linket k├йsz├нteni, ├║gyhogy kihagyjuk",
|
||||
"home_page_upload_err_limit": "Csak 30 elemet tudsz egyszerre felt├╢lteni, ├║gyhogy kihagyjuk",
|
||||
"host": "Kiszolg├бl├│",
|
||||
"hour": "├Уra",
|
||||
"id": "Azonos├нt├│",
|
||||
"ignore_icloud_photos": "iCloud fot├│k figyelmen k├нv├╝l hagy├бsa",
|
||||
"ignore_icloud_photos_description": "Az iCloud-ban t├бrolt fot├│k nem lesznek felt├╢ltve az Immich szerverre",
|
||||
"image": "K├йp",
|
||||
@@ -1035,6 +1086,11 @@
|
||||
"invalid_date_format": "├Йrv├йnytelen d├бtumform├бtum",
|
||||
"invite_people": "Szem├йlyek Megh├нv├бsa",
|
||||
"invite_to_album": "Megh├нv├бs az albumba",
|
||||
"ios_debug_info_last_sync_at": "Utolj├бra szinkroniz├бlva {dateTime}",
|
||||
"ios_debug_info_no_processes_queued": "Nincs sorba ├бll├нtott h├бtterfolyamat",
|
||||
"ios_debug_info_no_sync_yet": "M├йg nem futott szinkroniz├бl├│ h├бtt├йrfolyamat",
|
||||
"ios_debug_info_processes_queued": "{count, plural, one {{count} h├бtt├йrfolyamat el┼Сk├йsz├нtve} other {{count} h├бtt├йrfolyamat el┼Сk├йsz├нtve}}",
|
||||
"ios_debug_info_processing_ran_at": "Feldolgoz├бs futott {dateTime}",
|
||||
"items_count": "{count, plural, other {# elem}}",
|
||||
"jobs": "Feladatok",
|
||||
"keep": "Megtart",
|
||||
@@ -1043,6 +1099,8 @@
|
||||
"kept_this_deleted_others": "Ez az elem ├йs a t├╢r├╢ltek meg lettek hagyva {count, plural, one {# asset} other {# assets}}",
|
||||
"keyboard_shortcuts": "Billenty┼▒parancsok",
|
||||
"language": "Nyelv",
|
||||
"language_no_results_subtitle": "Pr├│b├бld a keres├йsed m├│dos├нt├бs├бt",
|
||||
"language_search_hint": "Nyelvek keres├йse...",
|
||||
"language_setting_description": "V├бlaszd ki prefer├бlt nyelvet",
|
||||
"last_seen": "Utolj├бra l├бttuk",
|
||||
"latest_version": "Legfrissebb Verzi├│",
|
||||
@@ -1071,14 +1129,17 @@
|
||||
"local_network": "Helyi h├бl├│zat",
|
||||
"local_network_sheet_info": "Az alkalmaz├йs ezen az URL c├нmen fogja el├йrni a szervert, ha a megadott WiFi h├бl├│zathoz van csatlankozva",
|
||||
"location_permission": "Helymeghat├бroz├бsi enged├йly",
|
||||
"location_permission_content": "H├бl├│zatok automatikus v├бlt├бs├бhoz az Immich-nek *mindenk├йppen* hozz├б kell f├йrnie a pontos helyzethez, hogy az alkalmaz├бs le tudja k├йrni a Wi-Fi h├бl├│zat nev├йt",
|
||||
"location_permission_content": "H├бl├│zatok automatikus v├бlt├бs├бhoz az Immich-nek sz├╝ks├йge van a pontos helymeghat├бroz├бsra, hogy az alkalmaz├бs le tudja k├йrni a Wi-Fi h├бl├│zat nev├йt",
|
||||
"location_picker_choose_on_map": "V├бlassz a t├йrk├йpen",
|
||||
"location_picker_latitude_error": "├Йrv├йnyes sz├йless├йgi k├╢rt ├нrj be",
|
||||
"location_picker_latitude_hint": "Ide ├нrd a sz├йless├йgi k├╢rt",
|
||||
"location_picker_longitude_error": "├Йrv├йnyes hossz├║s├бgi k├╢rt ├нrj be",
|
||||
"location_picker_longitude_hint": "Ide ├нrd a hossz├║s├бgi k├╢rt",
|
||||
"lock": "Z├бrol├бs",
|
||||
"locked_folder": "Z├бrolt mappa",
|
||||
"log_out": "Kijelentkez├йs",
|
||||
"log_out_all_devices": "Kijelentkez├йs Minden Eszk├╢z├╢n",
|
||||
"logged_in_as": "{user}-k├йnt bel├йpve",
|
||||
"logged_out_all_devices": "Minden eszk├╢z kijelentkeztetve",
|
||||
"logged_out_device": "Eszk├╢z kijelentkeztetve",
|
||||
"login": "Bejelentkez├йs",
|
||||
@@ -1093,7 +1154,7 @@
|
||||
"login_form_err_invalid_url": "├Йrv├йnytelen c├нm",
|
||||
"login_form_err_leading_whitespace": "Az els┼С karakter sz├│k├╢z",
|
||||
"login_form_err_trailing_whitespace": "Az utols├│ karakter sz├│k├╢z",
|
||||
"login_form_failed_get_oauth_server_config": "Nem siker├╝lt az OAuth bejelentkez├йs. Ellen┼Сrizd a szerver c├нm├йt.",
|
||||
"login_form_failed_get_oauth_server_config": "Nem siker├╝lt az OAuth bejelentkez├йs. Ellen┼Сrizd a szerver URL-t",
|
||||
"login_form_failed_get_oauth_server_disable": "OAuth bejelentkez├йs nem el├йrhet┼С ezen a szerveren",
|
||||
"login_form_failed_login": "Hiba a bejelentkez├йs k├╢zben, ellen┼Сrizd a szerver c├нm├йt, az emailt ├йs a jelsz├│t",
|
||||
"login_form_handshake_exception": "SSL K├йzfog├бsi Hiba t├╢r├йnt. Enged├йlyezd az ├╢nal├б├нrt tan├║s├нtv├йnyokat a be├бll├нt├бsokban, hogy ha ├╢nal├б├нrt tan├║s├нtv├бnyt haszn├бlsz.",
|
||||
@@ -1145,6 +1206,9 @@
|
||||
"map_settings_only_show_favorites": "Csak Kedvencek Mutat├бsa",
|
||||
"map_settings_theme_settings": "T├йrk├йp T├йm├бja",
|
||||
"map_zoom_to_see_photos": "Kicsiny├нtsd, hogy l├бss f├йnyk├йpeket",
|
||||
"mark_all_as_read": "├Цsszes megjel├╢l├йse olvasottk├йnt",
|
||||
"mark_as_read": "Megjel├╢l├йs olvasottk├йnt",
|
||||
"marked_all_as_read": "├Цsszes megjel├╢lve olvasottk├йnt",
|
||||
"matches": "Azonosak",
|
||||
"media_type": "M├йdiat├нpus",
|
||||
"memories": "Eml├йkek",
|
||||
@@ -1169,6 +1233,12 @@
|
||||
"month": "H├│nap",
|
||||
"monthly_title_text_date_format": "y MMMM",
|
||||
"more": "Tov├бbbiak",
|
||||
"move": "├Бthelyez├йs",
|
||||
"move_off_locked_folder": "Z├бrolt mapp├бb├│l kivon├бs",
|
||||
"move_to_locked_folder": "├Бthelyez├йs a z├бrolt mapp├бba",
|
||||
"move_to_locked_folder_confirmation": "Ezek a k├йpek ├йs vide├│k az ├╢sszes albumb├│l kiker├╝lnek, ├йs csak a z├бrolt mapp├бb├│l lesznek el├йrhet┼Сek",
|
||||
"moved_to_archive": "{count, plural, one {# Elem} other {# Elemek}} archiv├бlva",
|
||||
"moved_to_library": "{count, plural, one {# Elem} other {# Elemek}} m├бsik k├╢nyvt├бrba k├╢lt├╢ztetve",
|
||||
"moved_to_trash": "├Бthelyezve a lomt├бrba",
|
||||
"multiselect_grid_edit_date_time_err_read_only": "Csak-olvashat├│ elem(ek) d├бtuma nem m├│dos├нthat├│, ez├йrt kihagyjuk",
|
||||
"multiselect_grid_edit_gps_err_read_only": "Csak-olvashat├│ elem(ek) helye nem m├│dos├нthat├│, ez├йrt kihagyjuk",
|
||||
@@ -1184,6 +1254,7 @@
|
||||
"new_password": "├Ъj jelsz├│",
|
||||
"new_person": "├Ъj szem├йly",
|
||||
"new_pin_code": "├Ъj PIN k├│d",
|
||||
"new_pin_code_subtitle": "Ez az els┼С alkalom hogy megnyitod a z├бrolt mapp├бt. Hozz l├йtre egy jelsz├│t az oldal biztos├нt├бs├бra",
|
||||
"new_user_created": "├Ъj felhaszn├бl├│ l├йtrehozva",
|
||||
"new_version_available": "├ЪJ VERZI├У ├ЙRHET┼Р EL",
|
||||
"newest_first": "Leg├║jabb el┼Сsz├╢r",
|
||||
@@ -1201,7 +1272,9 @@
|
||||
"no_explore_results_message": "T├╢lts fel t├╢bb k├йpet, hogy b├╢ng├йszhesd a gy┼▒jtem├йnyed.",
|
||||
"no_favorites_message": "Add hozz├б a kedvencekhez, hogy gyorsan megtal├бld a legjobb k├йpeidet ├йs vide├│idat",
|
||||
"no_libraries_message": "Hozz l├йtre k├╝ls┼С k├йpt├бrat a f├йnyk├йpeid ├йs vide├│id megtekint├йs├йhez",
|
||||
"no_locked_photos_message": "A z├бrolt mapp├бban elhelyezett fot├│k ├йs vide├│k rejtettek, ├йs nem jelennek meg a k├╢nyvt├бrad b├╢ng├йsz├йse vagy keres├йse k├╢zben sem.",
|
||||
"no_name": "Nincs N├йv",
|
||||
"no_notifications": "Nincsenek ├йrtes├нt├йsek",
|
||||
"no_places": "Nincsenek helyek",
|
||||
"no_results": "Nincs tal├бlat",
|
||||
"no_results_description": "Pr├│b├бlkozz szinonim├бkkal vagy ├бltal├бnosabb kulcsszavakkal",
|
||||
@@ -1210,6 +1283,7 @@
|
||||
"not_selected": "Nincs kiv├бlasztva",
|
||||
"note_apply_storage_label_to_previously_uploaded assets": "Megjegyz├йs: a kor├бbban felt├╢lt├╢tt elemek T├бrhely C├нmk├йz├йs├йhez futtasd a(z)",
|
||||
"notes": "Megjegyz├йsek",
|
||||
"nothing_here_yet": "Itt m├йg nincs semmi",
|
||||
"notification_permission_dialog_content": "Az ├йrtes├нt├йsek bekapcsol├бs├бhoz a Be├бll├нt├бsok men├╝ben v├бlaszd ki az Enged├йlyez├йs-t.",
|
||||
"notification_permission_list_tile_content": "├Йrtes├нt├йsek enged├йlyez├йse.",
|
||||
"notification_permission_list_tile_enable_button": "├Йrtes├нt├йsek Bekapcsol├бsa",
|
||||
@@ -1217,15 +1291,21 @@
|
||||
"notification_toggle_setting_description": "Email ├йrtes├нt├йsek enged├йlyez├йse",
|
||||
"notifications": "├Йrtes├нt├йsek",
|
||||
"notifications_setting_description": "├Йrtes├нt├йsek kezel├йse",
|
||||
"oauth": "OAuth",
|
||||
"official_immich_resources": "Hivatalos Immich Forr├бsok",
|
||||
"offline": "Offline",
|
||||
"ok": "Rendben",
|
||||
"oldest_first": "Legr├йgebbi el┼Сsz├╢r",
|
||||
"on_this_device": "Ezen az eszk├╢z├╢n",
|
||||
"onboarding": "Els┼С l├йp├йsek",
|
||||
"onboarding_privacy_description": "Az al├бbbi (nem k├╢telez┼С) funkci├│k k├╝ls┼Сs szolg├бltat├бsokon alapulnak ├йs b├бrmikor kikapcsolhat├│ak az adminisztr├бci├│s be├бll├нt├бsokban.",
|
||||
"onboarding_locale_description": "V├бlaszd ki a prefer├бlt nyelved. Ezt k├йs┼Сbb a be├бll├нt├бsokban b├бrmikor m├│dos├нthatod.",
|
||||
"onboarding_privacy_description": "Az al├бbbi (nem k├╢telez┼С) funkci├│k k├╝ls┼Сs szolg├бltat├бsokon alapulnak ├йs b├бrmikor kikapcsolhat├│ak a be├бll├нt├бsokban.",
|
||||
"onboarding_theme_description": "V├бlassz egy sz├нnt├йm├бt. Ezt b├бrmikor megv├бltoztathatod a be├бll├нt├бsokban.",
|
||||
"onboarding_user_welcome_description": "Kezdj├╝nk bele!",
|
||||
"onboarding_welcome_user": "├Ьdv├╢z├╢llek {user}",
|
||||
"online": "Online",
|
||||
"only_favorites": "Csak kedvencek",
|
||||
"open": "Nyitva",
|
||||
"open_in_map_view": "Megnyit├бs t├йrk├йp n├йzetben",
|
||||
"open_in_openstreetmap": "Megnyit├бs OpenStreetMap-ben",
|
||||
"open_the_search_filters": "Keres├йsi sz┼▒r┼Сk megnyit├бsa",
|
||||
@@ -1238,6 +1318,7 @@
|
||||
"other_variables": "Egy├йb v├бltoz├│k",
|
||||
"owned": "Tulajdonos",
|
||||
"owner": "Tulajdonos",
|
||||
"partner": "Partner",
|
||||
"partner_can_access": "{partner} hozz├бf├йrhet",
|
||||
"partner_can_access_assets": "Minden f├йnyk├йped ├йs vide├│d, kiv├йve az Archiv├бltak ├йs a T├╢r├╢ltek",
|
||||
"partner_can_access_location": "A helysz├нn, ahol a fot├│kat k├йsz├нtett├йk",
|
||||
@@ -1247,7 +1328,7 @@
|
||||
"partner_page_no_more_users": "Nincs t├╢bb hozz├бadhat├│ felhaszn├бl├│",
|
||||
"partner_page_partner_add_failed": "Partner hozz├бad├бsa sikertelen",
|
||||
"partner_page_select_partner": "Partner kiv├бlaszt├бsa",
|
||||
"partner_page_shared_to_title": "Megosztva: ",
|
||||
"partner_page_shared_to_title": "Megosztva",
|
||||
"partner_page_stop_sharing_content": "{partner} nem fog t├╢bb├й hozz├бf├йrni a fot├│idhoz.",
|
||||
"partner_sharing": "Partner Megoszt├бs",
|
||||
"partners": "Partnerek",
|
||||
@@ -1277,6 +1358,8 @@
|
||||
"permanently_delete_assets_prompt": "Biztos, hogy v├йglegesen t├╢r├╢lni {count, plural, one {szeretn├йd ezt az elemet} other {szeretn├йl <b>#</b> elemet}}? Ez el fogja t├бvol├нtani az {count, plural, one {elemet az albumokb├│l, amikben szerepel} other {elemeket az albumokb├│l, amikben szerepelnek}}.",
|
||||
"permanently_deleted_asset": "Elem v├йglegesen t├╢r├╢lve",
|
||||
"permanently_deleted_assets_count": "{count, plural, other {# elem}} v├йglegesen t├╢r├╢lve",
|
||||
"permission": "Jogosults├бg",
|
||||
"permission_empty": "A jogosults├бg nem hagyhat├│ ├╝resen",
|
||||
"permission_onboarding_back": "Vissza",
|
||||
"permission_onboarding_continue_anyway": "Folytat├бs mindenk├йpp",
|
||||
"permission_onboarding_get_started": "V├бgjunk bele",
|
||||
@@ -1284,7 +1367,7 @@
|
||||
"permission_onboarding_permission_denied": "Hozz├бf├йr├йs megtagadva. Az Immich haszn├бlat├бhoz enged├йlyezni kell a fot├│ ├йs vide├│ hozz├бf├йr├йst a Be├бll├нt├бsokban.",
|
||||
"permission_onboarding_permission_granted": "Hozz├бf├йr├йs enged├йlyezve! Minden k├йszen ├бll.",
|
||||
"permission_onboarding_permission_limited": "Korl├бtozott hozz├бf├йr├йs. Ha szeretn├йd, hogy az Immich a teljes gal├йria gy┼▒jtem├йnyedet mentse ├йs kezelje, akkor a Be├бll├нt├бsokban enged├йlyezd a fot├│ ├йs vide├│ jogosults├бgokat.",
|
||||
"permission_onboarding_request": "Enged├йlyezni kell, hogy az Immich hozz├бf├йrjen a k├йpeidhez ├йs vide├│idhoz",
|
||||
"permission_onboarding_request": "Enged├йlyezni kell, hogy az Immich hozz├бf├йrjen a k├йpeidhez ├йs vide├│idhoz.",
|
||||
"person": "Szem├йly",
|
||||
"person_birthdate": "Sz├╝letett: {date}",
|
||||
"person_hidden": "{name}{hidden, select, true { (rejtett)} other {}}",
|
||||
@@ -1304,19 +1387,25 @@
|
||||
"play_memories": "Eml├йkek lej├бtsz├бsa",
|
||||
"play_motion_photo": "Mozg├│k├йp lej├бtsz├бsa",
|
||||
"play_or_pause_video": "Vide├│ elind├нt├бsa vagy meg├бll├нt├бsa",
|
||||
"port": "Port",
|
||||
"preferences_settings_subtitle": "Alkalmaz├бsbe├бll├нt├бsok kezel├йse",
|
||||
"preferences_settings_title": "Be├бll├нt├бsok",
|
||||
"preset": "Sablon",
|
||||
"preview": "El┼Сn├йzet",
|
||||
"previous": "El┼Сz┼С",
|
||||
"previous_memory": "El┼Сz┼С eml├йk",
|
||||
"previous_or_next_photo": "El┼Сz┼С vagy k├╢vetkez┼С fot├│",
|
||||
"previous_or_next_day": "Nap el┼Сre/h├бtra",
|
||||
"previous_or_next_month": "H├│nap el┼Сre/h├бtra",
|
||||
"previous_or_next_photo": "Fot├│ el┼Сre/h├бtra",
|
||||
"previous_or_next_year": "├Йv el┼Сre/h├бtra",
|
||||
"primary": "Els┼Сdleges",
|
||||
"privacy": "Mag├бnszf├йra",
|
||||
"profile": "Profil",
|
||||
"profile_drawer_app_logs": "Napl├│k",
|
||||
"profile_drawer_client_out_of_date_major": "A mobilalkalmaz├бs elavult. K├йrj├╝k, friss├нtsd a legfrisebb f┼Сverzi├│ra.",
|
||||
"profile_drawer_client_out_of_date_minor": "A mobilalkalmaz├бs elavult. K├йrj├╝k, friss├нtsd a legfrisebb alverzi├│ra.",
|
||||
"profile_drawer_client_server_up_to_date": "A Kliens ├йs a Szerver is naprak├йsz",
|
||||
"profile_drawer_github": "GitHub",
|
||||
"profile_drawer_server_out_of_date_major": "A szerver elavult. K├йrj├╝k, friss├нtsd a legfrisebb f┼Сverzi├│ra.",
|
||||
"profile_drawer_server_out_of_date_minor": "A szerver elavult. K├йrj├╝k, friss├нtsd a legfrisebb alverzi├│ra.",
|
||||
"profile_image_of_user": "{user} profilk├йpe",
|
||||
@@ -1370,6 +1459,8 @@
|
||||
"recent_searches": "Legut├│bbi keres├йsek",
|
||||
"recently_added": "Nemr├йg hozz├бadott",
|
||||
"recently_added_page_title": "Nemr├йg Hozz├бadott",
|
||||
"recently_taken": "Nemr├йg k├йsz├нtett",
|
||||
"recently_taken_page_title": "Nemr├йg k├йsz├нtett",
|
||||
"refresh": "Friss├нt├йs",
|
||||
"refresh_encoded_videos": "├Бtk├│dolt vide├│k friss├нt├йse",
|
||||
"refresh_faces": "Arcok friss├нt├йse",
|
||||
@@ -1389,9 +1480,12 @@
|
||||
"remove_deleted_assets": "T├╢r├╢lt Elemek Elt├бvol├нt├бsa",
|
||||
"remove_from_album": "Elt├бvol├нt├бs az albumb├│l",
|
||||
"remove_from_favorites": "Elt├бvol├нt├бs a kedvencekb┼Сl",
|
||||
"remove_from_locked_folder": "Elt├бvol├нt├бs a z├бrolt mapp├бb├│l",
|
||||
"remove_from_locked_folder_confirmation": "Biztosan ki szeretn├йd venni ezeket a fot├│kat ├йs vide├│kat a z├бrolt mapp├бb├│l? L├бthat├│ak lesznek a k├╢nyvt├бradban.",
|
||||
"remove_from_shared_link": "Elt├бvol├нt├бs a megosztott linkb┼Сl",
|
||||
"remove_memory": "Eml├йk elt├бvol├нt├бsa",
|
||||
"remove_photo_from_memory": "K├йp elt├бvol├нt├бsa az eml├йkb┼Сl",
|
||||
"remove_tag": "C├нmke elt├бvol├нt├бsa",
|
||||
"remove_url": "URL elt├бvol├нt├бsa",
|
||||
"remove_user": "Felhaszn├бl├│ elt├бvol├нt├бsa",
|
||||
"removed_api_key": "API Kulcs elt├бvol├нtva: {name}",
|
||||
@@ -1485,7 +1579,7 @@
|
||||
"search_result_page_new_search_hint": "├Ъj Keres├йs",
|
||||
"search_settings": "Keres├йsi be├бll├нt├бsok",
|
||||
"search_state": "Megye/├Бllam keres├йse...",
|
||||
"search_suggestion_list_smart_search_hint_1": "Az intelligens keres├йs alap├йrtelmezetten be van kapcsolva, metaadatokat ├нgy kereshetsz: ",
|
||||
"search_suggestion_list_smart_search_hint_1": "Az intelligens keres├йs alap├йrtelmezetten be van kapcsolva, metaadatokat ├нgy kereshetsz ",
|
||||
"search_suggestion_list_smart_search_hint_2": "m:keres├йsi-kifejez├йs",
|
||||
"search_tags": "C├нmk├йk keres├йse...",
|
||||
"search_timezone": "Id┼Сz├│na keres├йse...",
|
||||
@@ -1517,6 +1611,7 @@
|
||||
"server_info_box_server_url": "Szerver C├нme",
|
||||
"server_offline": "Szerver Nem El├йrhet┼С",
|
||||
"server_online": "Szerver El├йrhet┼С",
|
||||
"server_privacy": "Szerver biztons├бg",
|
||||
"server_stats": "Szerver Statisztik├бk",
|
||||
"server_version": "Szerver Verzi├│",
|
||||
"set": "Be├бll├нt",
|
||||
@@ -1526,6 +1621,7 @@
|
||||
"set_date_of_birth": "Sz├╝let├йsi d├бtum be├бll├нt├бsa",
|
||||
"set_profile_picture": "Profilk├йp be├бll├нt├бsa",
|
||||
"set_slideshow_to_fullscreen": "Diavet├нt├йs teljes k├йperny┼Сre ├бll├нt├бsa",
|
||||
"set_stack_primary_asset": "Be├бll├нt├бs els┼Сdleges elemk├йnt",
|
||||
"setting_image_viewer_help": "Az Elem Megjelen├нt┼С el┼Сsz├╢r a kis b├йlyegk├йpet t├╢lti be, azt├бn a k├╢zepes m├йret┼▒ el┼Сn├йzetet (ha el├йrhet┼С), v├йg├╝l az eredetit (ha el├йrhet┼С).",
|
||||
"setting_image_viewer_original_subtitle": "Enged├йlyezi az eredeti teljes felbont├бs├║ k├йp bet├╢lt├йs├йt (nagy!). Kikapcsolva cs├╢kkenti az adathaszn├бlatot (a neten ├йs az eszk├╢z gyors├нt├│t├бr├бn is).",
|
||||
"setting_image_viewer_original_title": "Eredeti k├йp bet├╢lt├йse",
|
||||
@@ -1556,6 +1652,7 @@
|
||||
"share_add_photos": "Fot├│k hozz├бad├бsa",
|
||||
"share_assets_selected": "{count} kiv├бlasztva",
|
||||
"share_dialog_preparing": "El┼Сk├йsz├нt├йs...",
|
||||
"share_link": "Link megoszt├бsa",
|
||||
"shared": "Megosztva",
|
||||
"shared_album_activities_input_disable": "Hozz├бsz├│l├бsok kikapcsolva",
|
||||
"shared_album_activity_remove_content": "T├╢r├╢lni szeretn├йd ezt a tev├йkenys├йget?",
|
||||
@@ -1595,6 +1692,7 @@
|
||||
"shared_link_expires_second": "{count} m├бsodperc m├║lva lej├бr",
|
||||
"shared_link_expires_seconds": "{count} m├бsodperc m├║lva lej├бr",
|
||||
"shared_link_individual_shared": "Egy├йnileg megosztva",
|
||||
"shared_link_info_chip_metadata": "EXIF",
|
||||
"shared_link_manage_links": "Megosztott linkek kezel├йse",
|
||||
"shared_link_options": "Megosztott link be├бll├нt├бsai",
|
||||
"shared_links": "Megosztott linkek",
|
||||
@@ -1656,6 +1754,7 @@
|
||||
"stack_select_one_photo": "V├бlassz egy f┼С k├йpet a csoportb├│l",
|
||||
"stack_selected_photos": "Kiv├бlasztott f├йnyk├йpek csoportos├нt├бsa",
|
||||
"stacked_assets_count": "{count, plural, other {# elem}} csoportos├нtva",
|
||||
"stacktrace": "Hibale├нr├бs",
|
||||
"start": "Elind├нt",
|
||||
"start_date": "Kezd┼С d├бtum",
|
||||
"state": "Megye/├Бllam",
|
||||
@@ -1666,6 +1765,7 @@
|
||||
"stop_sharing_photos_with_user": "F├йnyk├йpeid megoszt├бs├бnak megsz├╝ntet├йse ezzel a felhaszn├бl├│val",
|
||||
"storage": "T├бrhely",
|
||||
"storage_label": "T├бrhely c├нmke",
|
||||
"storage_quota": "T├бrhely kv├│ta",
|
||||
"storage_usage": "{used}/{available} haszn├бlatban",
|
||||
"submit": "Bek├╝ld├йs",
|
||||
"suggestions": "Javaslatok",
|
||||
@@ -1693,11 +1793,11 @@
|
||||
"theme_selection_description": "A b├╢ng├йsz┼С be├бll├нt├бs├бnak megfelel┼Сen automatikusan haszn├бljon vil├бgos vagy s├╢t├йt t├йm├бt",
|
||||
"theme_setting_asset_list_storage_indicator_title": "T├бrhely ikon mutat├бsa az elemeken",
|
||||
"theme_setting_asset_list_tiles_per_row_title": "Elemek sz├бma soronk├йnt ({count})",
|
||||
"theme_setting_colorful_interface_subtitle": "Alap├йrtelmezett sz├нn haszn├бlata a h├бtt├йrben l├йv┼С fel├╝letekhez",
|
||||
"theme_setting_colorful_interface_subtitle": "Alap├йrtelmezett sz├нn haszn├бlata a h├бtt├йrben l├йv┼С fel├╝letekhez.",
|
||||
"theme_setting_colorful_interface_title": "Sz├нnes felhaszn├бl├│i fel├╝let",
|
||||
"theme_setting_image_viewer_quality_subtitle": "R├йszletes k├йpmegjelen├нt┼С min┼Сs├йg├йnek be├бll├нt├бsa",
|
||||
"theme_setting_image_viewer_quality_title": "K├йpmegjelen├нt┼С min┼Сs├йge",
|
||||
"theme_setting_primary_color_subtitle": "V├бlassz egy sz├нnt az alap├йrtelmezett m┼▒veletekhez ├йs kiemel├йsekhez",
|
||||
"theme_setting_primary_color_subtitle": "V├бlassz egy sz├нnt az alap├йrtelmezett m┼▒veletekhez ├йs kiemel├йsekhez.",
|
||||
"theme_setting_primary_color_title": "Alap├йrtelmezett sz├нn",
|
||||
"theme_setting_system_primary_color_title": "Rendszersz├нnek haszn├бlata",
|
||||
"theme_setting_system_theme_switch": "Automatikus (k├╢veti a rendszer t├йm├бj├бt)",
|
||||
@@ -1737,6 +1837,7 @@
|
||||
"unable_to_setup_pin_code": "Sikertelen PIN k├│d be├бll├нt├бs",
|
||||
"unarchive": "Arch├нvumb├│l kivesz",
|
||||
"unarchived_count": "{count, plural, other {# elem kiv├йve az arch├нvumb├│l}}",
|
||||
"undo": "Visszavon├бs",
|
||||
"unfavorite": "Kedvenc k├╢z├╝l kivesz",
|
||||
"unhide_person": "Nem rejtett szem├йly",
|
||||
"unknown": "Ismeretlen",
|
||||
@@ -1756,6 +1857,7 @@
|
||||
"unstack": "Csoport Sz├йtszed├йse",
|
||||
"unstacked_assets_count": "{count, plural, other {# elemb┼Сl}} ├бll├│ csoport sz├йtszedve",
|
||||
"up_next": "K├╢vetkezik",
|
||||
"updated_at": "Friss├нtett",
|
||||
"updated_password": "Jelsz├│ megv├бltoztatva",
|
||||
"upload": "Felt├╢lt├йs",
|
||||
"upload_concurrency": "P├бrhuzamos felt├╢lt├йs",
|
||||
@@ -1770,14 +1872,17 @@
|
||||
"upload_success": "Felt├╢lt├йs sikeres, friss├нtsd az oldalt az ├║jonnan felt├╢lt├╢tt elemek megtekint├йs├йhez.",
|
||||
"upload_to_immich": "Felt├╢lt├йs Immich-be ({count})",
|
||||
"uploading": "Felt├╢lt├йs folyamatban",
|
||||
"url": "URL",
|
||||
"usage": "Haszn├бlat",
|
||||
"use_current_connection": "Jelenlegi kapcsolat haszn├бlata",
|
||||
"use_custom_date_range": "Szabadon megadott id┼Сintervallum haszn├бlata",
|
||||
"user": "Felhaszn├бl├│",
|
||||
"user_has_been_deleted": "Ez a felhaszn├бl├│ t├╢rl├йsre ker├╝lt.",
|
||||
"user_id": "Felhaszn├бl├│ azonos├нt├│ja",
|
||||
"user_liked": "{user} felhaszn├бl├│nak {type, select, photo {ez a f├йnyk├йp} video {ez a vide├│} asset {ez az elem} other {ez}} tetszik",
|
||||
"user_pin_code_settings": "PIN k├│d",
|
||||
"user_pin_code_settings_description": "PIN k├│d kezel├йse",
|
||||
"user_privacy": "Felhaszn├бl├│i biztons├бg",
|
||||
"user_purchase_settings": "Megv├бs├бrl├бs",
|
||||
"user_purchase_settings_description": "V├бs├бrl├бs kezel├йse",
|
||||
"user_role_set": "{user} felhaszn├бl├│nak {role} jogk├╢r biztos├нt├бsa",
|
||||
@@ -1822,12 +1927,12 @@
|
||||
"week": "H├йt",
|
||||
"welcome": "├Ьdv├╢zl├╝nk",
|
||||
"welcome_to_immich": "├Ьdv├╢z├╢l az Immich",
|
||||
"wifi_name": "WiFi Neve",
|
||||
"wifi_name": "Wi-Fi Neve",
|
||||
"wrong_pin_code": "Hib├бs PIN k├│d",
|
||||
"year": "├Йv",
|
||||
"years_ago": "{years, plural, one {# ├йvvel} other {# ├йvvel}} ezel┼Сtt",
|
||||
"yes": "Igen",
|
||||
"you_dont_have_any_shared_links": "Nincsenek megosztott linkjeid",
|
||||
"your_wifi_name": "A WiFi h├бl├│zatod neve",
|
||||
"your_wifi_name": "A Wi-Fi h├бl├│zatod neve",
|
||||
"zoom_image": "K├йp Nagy├нt├бsa"
|
||||
}
|
||||
|
||||
+19
-4
@@ -34,6 +34,7 @@
|
||||
"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/**\".",
|
||||
"admin_user": "Pengguna Admin",
|
||||
"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",
|
||||
@@ -44,7 +45,7 @@
|
||||
"backup_database_enable_description": "Aktifkan pencadangan basis data",
|
||||
"backup_keep_last_amount": "Jumlah cadangan untuk disimpan",
|
||||
"backup_settings": "Pengaturan Pencadangan Basis Data",
|
||||
"backup_settings_description": "Kelola pengaturan pencadangan basis data. Catatan: Tugas ini tidak dipantau dan Anda tidak akan diberi tahu jika ada kesalahan.",
|
||||
"backup_settings_description": "Kelola pengaturan pencadangan basis data.",
|
||||
"cleared_jobs": "Tugas terselesaikan untuk: {job}",
|
||||
"config_set_by_file": "Konfigurasi saat ini ditetapkan oleh berkas konfigurasi",
|
||||
"confirm_delete_library": "Apakah Anda yakin ingin menghapus pustaka {library}?",
|
||||
@@ -165,12 +166,18 @@
|
||||
"metadata_settings_description": "Kelola pengaturan metadata",
|
||||
"migration_job": "Migrasi",
|
||||
"migration_job_description": "Migrasikan gambar kecil untuk aset dan wajah ke struktur folder terkini",
|
||||
"nightly_tasks_cluster_faces_setting_description": "Mulai pengenalan wajah pada semua wajah yang baru saja terdeteksi",
|
||||
"nightly_tasks_cluster_new_faces_setting": "Kelompokkan semua wajah baru",
|
||||
"nightly_tasks_database_cleanup_setting": "Tugas pembersihan basis data",
|
||||
"nightly_tasks_generate_memories_setting": "Buat kenang-kenangan",
|
||||
"nightly_tasks_generate_memories_setting_description": "Buat kenang-kenangan baru dari berbagai aset",
|
||||
"nightly_tasks_start_time_setting": "Waktu mulai",
|
||||
"no_paths_added": "Tidak ada jalur yang ditambahkan",
|
||||
"no_pattern_added": "Tidak ada pola yang ditambahkan",
|
||||
"note_apply_storage_label_previous_assets": "Catatan: Untuk menerapkan Label Penyimpanan untuk aset yang telah diunggah sebelumnya, jalankan",
|
||||
"note_cannot_be_changed_later": "CATATAN: Ini tidak akan dapat diubah lagi!",
|
||||
"notification_email_from_address": "Dari alamat",
|
||||
"notification_email_from_address_description": "Alamat surel pengirim, misalnya: \"Server Foto Immich <noreply@example.com>\"",
|
||||
"notification_email_from_address_description": "Alamat surel pengirim, misalnya: \"Server Foto Immich <noreply@example.com>\". Pastikan untuk menggunakan alamat yang diizinkan untuk mengirim email",
|
||||
"notification_email_host_description": "Hos server surel (mis. smtp.immich.app)",
|
||||
"notification_email_ignore_certificate_errors": "Abaikan eror sertifikat",
|
||||
"notification_email_ignore_certificate_errors_description": "Abaikan eror validasi sertifikat TLS (tidak disarankan)",
|
||||
@@ -195,6 +202,7 @@
|
||||
"oauth_mobile_redirect_uri": "URI pengalihan ponsel",
|
||||
"oauth_mobile_redirect_uri_override": "Penimpaan URI penerusan ponsel",
|
||||
"oauth_mobile_redirect_uri_override_description": "Aktifkan ketika provider OAuth tidak mengizinkan tautan mobile, seperti ''{callback}''",
|
||||
"oauth_role_claim_description": "Secara otomatis memberikan akses admin berdasarkan keberadaan klaim ini. Klaim dapat berupa \"user\" atau \"admin\".",
|
||||
"oauth_settings": "OAuth",
|
||||
"oauth_settings_description": "Kelola pengaturan log masuk OAuth",
|
||||
"oauth_settings_more_details": "Untuk detail lanjut tentang fitur ini, lihat <link>docs</link>.",
|
||||
@@ -243,6 +251,7 @@
|
||||
"storage_template_migration_info": "Templat penyimpanan akan mengubah semua ekstensi ke huruf kecil. Perubahan templat hanya akan diterapkan pada aset baru. Untuk menerapkan templat pada setiap aset yang sebelumnya telah diunggah, jalankan <link>{job}</link>.",
|
||||
"storage_template_migration_job": "Tugas Migrasi Templat Ruang Penyimpanan",
|
||||
"storage_template_more_details": "Untuk detail lebih lanjut tentang fitur ini, pergi ke <template-link>Templat Penyimpanan</template-link> dan <implications-link>kekurangannya</implications-link>",
|
||||
"storage_template_onboarding_description_v2": "Saat diaktifkan, fitur ini akan mengatur file secara otomatis berdasarkan templat yang ditentukan pengguna. Untuk informasi selengkapnya, silakan lihat <link>dokumentasi</link>.",
|
||||
"storage_template_path_length": "Batas panjang jalur: <b>{length, number}</b>{limit, number}",
|
||||
"storage_template_settings": "Templat Penyimpanan",
|
||||
"storage_template_settings_description": "Kelola struktur folder dan nama berkas dari aset yang diunggah",
|
||||
@@ -257,7 +266,7 @@
|
||||
"template_email_update_album": "Perbarui Templat Album",
|
||||
"template_email_welcome": "Templat surel selamat datang",
|
||||
"template_settings": "Templat Notifikasi",
|
||||
"template_settings_description": "Kelola templat kustom untuk notifikasi.",
|
||||
"template_settings_description": "Kelola templat kustom untuk notifikasi",
|
||||
"theme_custom_css_settings": "CSS Kustom",
|
||||
"theme_custom_css_settings_description": "CSS memungkinkan desain Immich untuk diubah.",
|
||||
"theme_settings": "Pengaturan Tema",
|
||||
@@ -355,13 +364,20 @@
|
||||
"admin_password": "Kata Sandi Admin",
|
||||
"administration": "Administrasi",
|
||||
"advanced": "Tingkat lanjut",
|
||||
"advanced_settings_beta_timeline_subtitle": "Coba pengalaman aplikasi baru",
|
||||
"advanced_settings_beta_timeline_title": "Garis waktu Beta",
|
||||
"advanced_settings_enable_alternate_media_filter_subtitle": "Gunakan opsi ini untuk menyaring media saat sinkronisasi berdasarkan kriteria alternatif. Hanya coba ini dengan aplikasi mendeteksi semua album.",
|
||||
"advanced_settings_enable_alternate_media_filter_title": "[EKSPERIMENTAL] Gunakan saringan sinkronisasi album perangkat alternatif",
|
||||
"advanced_settings_log_level_title": "Tingkat log: {level}",
|
||||
"advanced_settings_prefer_remote_subtitle": "Beberapa perangkat tidak dapat memuat gambar kecil dengan cepat. Menyalakan ini akan memuat gambar kecil dari server.",
|
||||
"advanced_settings_prefer_remote_title": "Prioritaskan gambar dari server",
|
||||
"advanced_settings_proxy_headers_subtitle": "Tentukan header proxy yang harus dikirim Immich dengan setiap permintaan jaringan",
|
||||
"advanced_settings_self_signed_ssl_subtitle": "Melewati verifikasi sertifikat SSL untuk titik akhir server. Diperlukan untuk sertifikat yang ditandatangani sendiri.",
|
||||
"advanced_settings_self_signed_ssl_title": "Izinkan sertifikat SSL yang ditandatangani sendiri",
|
||||
"advanced_settings_sync_remote_deletions_subtitle": "Hapus atau pulihkan aset pada perangkat ini secara otomatis ketika tindakan dilakukan di web",
|
||||
"advanced_settings_sync_remote_deletions_title": "Sinkronisasi penghapusan jarak jauh [EKSPERIMENTAL]",
|
||||
"advanced_settings_tile_subtitle": "Pengaturan pengguna tingkat lanjut",
|
||||
"advanced_settings_troubleshooting_subtitle": "Aktifkan fitur tambahan untuk pemecahan masalah",
|
||||
"age_months": "Umur {months, plural, one {# bulan} other {# bulan}}",
|
||||
"age_year_months": "Umur 1 tahun, {months, plural, one {# bulan} other {# bulan}}",
|
||||
"age_years": "{years, plural, other {Umur #}}",
|
||||
@@ -446,7 +462,6 @@
|
||||
"assets": "Aset",
|
||||
"assets_added_count": "{count, plural, one {# aset} other {# aset}} ditambahkan",
|
||||
"assets_added_to_album_count": "Ditambahkan {count, plural, one {# aset} other {# aset}} ke album",
|
||||
"assets_added_to_name_count": "Ditambahkan {count, plural, one {# aset} other {# aset}} ke {hasName, select, true {<b>{name}</b>} other {album baru}}",
|
||||
"assets_count": "{count, plural, one {# aset} other {# aset}}",
|
||||
"assets_deleted_permanently": "{count} aset dihapus secara permanen",
|
||||
"assets_deleted_permanently_from_server": "{count} aset dihapus secara permanen dari server Immich",
|
||||
|
||||
+70
-45
@@ -87,7 +87,7 @@
|
||||
"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_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_quality_description": "Qualit├а delle anteprime da 1 a 100. Un valore pi├╣ alto ├и migliore ma produce file pi├╣ grandi e pu├▓ ridurre la reattivit├а dell'app.",
|
||||
"image_thumbnail_title": "Impostazioni della copertina",
|
||||
"job_concurrency": "Concorrenza {job}",
|
||||
"job_created": "Processo creato",
|
||||
@@ -105,7 +105,7 @@
|
||||
"library_scanning_enable_description": "Attiva la scansione periodica della libreria",
|
||||
"library_settings": "Libreria Esterna",
|
||||
"library_settings_description": "Gestisci le impostazioni della libreria esterna",
|
||||
"library_tasks_description": "Scansiona le librerie esterne per i nuovi aggiornamenti",
|
||||
"library_tasks_description": "Scansiona le librerie esterne per risorse nuove o modificate",
|
||||
"library_watching_enable_description": "Osserva le librerie esterne per cambiamenti",
|
||||
"library_watching_settings": "Osserva librerie (SPERIMENTALE)",
|
||||
"library_watching_settings_description": "Osserva automaticamente i cambiamenti dei file",
|
||||
@@ -121,7 +121,7 @@
|
||||
"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 facce nelle immagini",
|
||||
"machine_learning_facial_recognition_description": "Rileva, riconosci e raggruppa volti 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_setting": "Attiva riconoscimento facciale",
|
||||
@@ -156,16 +156,30 @@
|
||||
"map_settings": "Impostazioni Mappa e Posizione",
|
||||
"map_settings_description": "Gestisci impostazioni mappa",
|
||||
"map_style_description": "URL per un tema della mappa style.json",
|
||||
"memory_cleanup_job": "pulizia memoria",
|
||||
"memory_generate_job": "Generazione della memoria",
|
||||
"memory_cleanup_job": "Pulizia dei vecchi Ricordi",
|
||||
"memory_generate_job": "Generazione dei Ricordi",
|
||||
"metadata_extraction_job": "Estrazione Metadata",
|
||||
"metadata_extraction_job_description": "Estrai informazioni dai metadati di ciascun asset, ad esempio coordinate GPS, volti e risoluzione",
|
||||
"metadata_extraction_job_description": "Estrai informazioni dai metadati di ciascuna risorsa, come 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",
|
||||
"nightly_tasks_cluster_faces_setting_description": "Avvia riconoscimento facciale sui volti appena rilevati",
|
||||
"nightly_tasks_cluster_new_faces_setting": "Raggruppa nuovi volti",
|
||||
"nightly_tasks_database_cleanup_setting": "Processi di pulizia del database",
|
||||
"nightly_tasks_database_cleanup_setting_description": "Ripulisci il database da file vecchi e scaduti",
|
||||
"nightly_tasks_generate_memories_setting": "Genera ricordi",
|
||||
"nightly_tasks_generate_memories_setting_description": "Genera nuovi ricordi a partire dalle risorse",
|
||||
"nightly_tasks_missing_thumbnails_setting": "Genera anteprime mancanti",
|
||||
"nightly_tasks_missing_thumbnails_setting_description": "Metti in coda le risorse senza miniatura per la generazione delle anteprime",
|
||||
"nightly_tasks_settings": "Impostazioni delle attivit├а notturne",
|
||||
"nightly_tasks_settings_description": "Gestisci attivit├а notturne",
|
||||
"nightly_tasks_start_time_setting": "Tempo di avvio",
|
||||
"nightly_tasks_start_time_setting_description": "Il tempo in cui il server fa partire le attivit├а notturne",
|
||||
"nightly_tasks_sync_quota_usage_setting": "Sincronizza la quota di utilizzo",
|
||||
"nightly_tasks_sync_quota_usage_setting_description": "Aggiorna la quota di spazio dell'utente in base all'utilizzo corrente",
|
||||
"no_paths_added": "Nessun percorso aggiunto",
|
||||
"no_pattern_added": "Nessun pattern aggiunto",
|
||||
"note_apply_storage_label_previous_assets": "Nota: Per assegnare l'etichetta storage ad asset precedentemente caricati, esegui",
|
||||
@@ -196,6 +210,8 @@
|
||||
"oauth_mobile_redirect_uri": "URI reindirizzamento mobile",
|
||||
"oauth_mobile_redirect_uri_override": "Sovrascrivi URI reindirizzamento cellulare",
|
||||
"oauth_mobile_redirect_uri_override_description": "Abilita quando il gestore OAuth non consente un URL come ''{callback}''",
|
||||
"oauth_role_claim": "Claim del ruolo",
|
||||
"oauth_role_claim_description": "Concedi automaticamente l'accesso come amministratore in base alla presenza di questo claim. Il claim pu├▓ essere 'user' o 'admin'.",
|
||||
"oauth_settings": "OAuth",
|
||||
"oauth_settings_description": "Gestisci impostazioni di login OAuth",
|
||||
"oauth_settings_more_details": "Per pi├╣ dettagli riguardo a questa funzionalit├а, consulta <link>la documentazione</link>.",
|
||||
@@ -264,8 +280,8 @@
|
||||
"theme_custom_css_settings_description": "I Cascading Style Sheets (CSS) permettono di personalizzare l'interfaccia di Immich.",
|
||||
"theme_settings": "Impostazioni Tema",
|
||||
"theme_settings_description": "Gestisci la personalizzazione dell'interfaccia web di Immich",
|
||||
"thumbnail_generation_job": "Generazione Miniature",
|
||||
"thumbnail_generation_job_description": "Genera miniature grandi, piccole e sfocate per ogni asset, oltre a miniature per ogni persona",
|
||||
"thumbnail_generation_job": "Genera Anteprime",
|
||||
"thumbnail_generation_job_description": "Genera anteprime grandi, piccole e sfocate per ogni asset, oltre a miniature per ogni persona",
|
||||
"transcoding_acceleration_api": "API di accelerazione",
|
||||
"transcoding_acceleration_api_description": "L'API che interagir├а con il tuo dispositivo per accelerare la transcodifica. Questa impostazione ├и \"best effort\": ripiegher├а sulla transcodifica software in caso di fallimento. VP9 potrebbe funzionare o meno a seconda del tuo hardware.",
|
||||
"transcoding_acceleration_nvenc": "NVENC (richiede GPU NVIDIA)",
|
||||
@@ -357,25 +373,27 @@
|
||||
"admin_password": "Password Amministratore",
|
||||
"administration": "Amministrazione",
|
||||
"advanced": "Avanzate",
|
||||
"advanced_settings_beta_timeline_subtitle": "Prova la nuova esperienza dell'app",
|
||||
"advanced_settings_beta_timeline_title": "Timeline beta",
|
||||
"advanced_settings_enable_alternate_media_filter_subtitle": "Usa questa opzione per filtrare i contenuti multimediali durante la sincronizzazione in base a criteri alternativi. Prova questa opzione solo se riscontri problemi con il rilevamento di tutti gli album da parte dell'app.",
|
||||
"advanced_settings_enable_alternate_media_filter_title": "[SPERIMENTALE] Usa un filtro alternativo per la sincronizzazione degli album del dispositivo",
|
||||
"advanced_settings_log_level_title": "Livello log: {level}",
|
||||
"advanced_settings_prefer_remote_subtitle": "Alcuni dispositivi sono molto lenti a caricare le anteprime delle immagini dal dispositivo. Attivare questa impostazione per caricare invece le immagini remote.",
|
||||
"advanced_settings_prefer_remote_subtitle": "Alcuni dispositivi sono molto lenti a caricare le anteprime delle immagini locali. Attivare questa impostazione per caricare invece le immagini remote.",
|
||||
"advanced_settings_prefer_remote_title": "Preferisci immagini remote",
|
||||
"advanced_settings_proxy_headers_subtitle": "Definisci gli header per i proxy che Immich dovrebbe inviare con ogni richiesta di rete",
|
||||
"advanced_settings_proxy_headers_title": "Header Proxy",
|
||||
"advanced_settings_self_signed_ssl_subtitle": "Salta la verifica dei certificati SSL del server. Richiesto con l'uso di certificati self-signed.",
|
||||
"advanced_settings_self_signed_ssl_title": "Consenti certificati SSL self-signed",
|
||||
"advanced_settings_sync_remote_deletions_subtitle": "Rimuovi o ripristina automaticamente un elemento su questo dispositivo se l'azione ├и stata fatta via web",
|
||||
"advanced_settings_sync_remote_deletions_subtitle": "Rimuovi o ripristina automaticamente un elemento su questo dispositivo quando l'azione ├и stata fatta via web",
|
||||
"advanced_settings_sync_remote_deletions_title": "Sincronizza le cancellazioni remote [SPERIMENTALE]",
|
||||
"advanced_settings_tile_subtitle": "Impostazioni aggiuntive utenti",
|
||||
"advanced_settings_tile_subtitle": "Impostazioni avanzate dell'utente",
|
||||
"advanced_settings_troubleshooting_subtitle": "Attiva funzioni addizionali per la risoluzione dei problemi",
|
||||
"advanced_settings_troubleshooting_title": "Risoluzione problemi",
|
||||
"age_months": "Et├а {months, plural, one {# mese} other {# mesi}}",
|
||||
"age_year_months": "Et├а 1 anno, {months, plural, one {# mese} other {# mesi}}",
|
||||
"age_years": "{years, plural, one {# anno} other {# anni}}",
|
||||
"album_added": "Album aggiunto",
|
||||
"album_added_notification_setting_description": "Ricevi una notifica email quando sei aggiunto a un album condiviso",
|
||||
"album_added_notification_setting_description": "Ricevi una notifica email quando sei aggiunto ad un album condiviso",
|
||||
"album_cover_updated": "Copertina dell'album aggiornata",
|
||||
"album_delete_confirmation": "Sei sicuro di voler cancellare l'album {album}?",
|
||||
"album_delete_confirmation_description": "Se l'album ├и condiviso gli altri utenti perderanno l'accesso.",
|
||||
@@ -394,32 +412,32 @@
|
||||
"album_user_left": "{album} abbandonato",
|
||||
"album_user_removed": "Utente {user} rimosso",
|
||||
"album_viewer_appbar_delete_confirm": "Sei sicuro di voler rimuovere questo album dal tuo account?",
|
||||
"album_viewer_appbar_share_err_delete": "Impossibile eliminare l'album",
|
||||
"album_viewer_appbar_share_err_leave": "Impossibile lasciare l'album",
|
||||
"album_viewer_appbar_share_err_remove": "Ci sono problemi nel rimuovere oggetti dall'album",
|
||||
"album_viewer_appbar_share_err_title": "Impossibile cambiare il titolo dell'album",
|
||||
"album_viewer_appbar_share_err_delete": "Non ├и stato possibile eliminare l'album",
|
||||
"album_viewer_appbar_share_err_leave": "Non ├и stato possibile lasciare l'album",
|
||||
"album_viewer_appbar_share_err_remove": "Ci sono problemi nel rimuovere elementi dall'album",
|
||||
"album_viewer_appbar_share_err_title": "Non ├и stato possibile cambiare il titolo dell'album",
|
||||
"album_viewer_appbar_share_leave": "Lascia album",
|
||||
"album_viewer_appbar_share_to": "Condividi a",
|
||||
"album_viewer_page_share_add_users": "Aggiungi utenti",
|
||||
"album_with_link_access": "Permetti a chiunque possieda il link di visualizzare le foto e le persone dell'album.",
|
||||
"albums": "Album",
|
||||
"albums_count": "{count, plural, one {{count, number} Album} other {{count, number} Album}}",
|
||||
"albums_default_sort_order": "Ordinamento album predefinito",
|
||||
"albums_default_sort_order_description": "Ordine iniziale degli asset alla creazione di nuovi album.",
|
||||
"albums_feature_description": "Collezione di asset che possono essere condivisi con altri utenti.",
|
||||
"albums_default_sort_order": "Ordinamento predefinito degli album",
|
||||
"albums_default_sort_order_description": "Ordine iniziale degli elementi alla creazione di nuovi album.",
|
||||
"albums_feature_description": "Raggruppamento di elementi che possono essere condivisi con altri utenti.",
|
||||
"all": "Tutti",
|
||||
"all_albums": "Tutti gli album",
|
||||
"all_people": "Tutte le persone",
|
||||
"all_videos": "Tutti i video",
|
||||
"allow_dark_mode": "Permetti Tema Scuro",
|
||||
"allow_edits": "Permetti Modifiche",
|
||||
"allow_edits": "Permetti modifiche",
|
||||
"allow_public_user_to_download": "Permetti agli utenti pubblici di scaricare",
|
||||
"allow_public_user_to_upload": "Permetti agli utenti pubblici di caricare",
|
||||
"alt_text_qr_code": "Immagine QR",
|
||||
"anti_clockwise": "Senso anti-orario",
|
||||
"api_key": "Chiave API",
|
||||
"api_key_description": "Il valore verr├а mostrato solo una volta. Assicurati di copiarlo prima di chiudere la finestra.",
|
||||
"api_key_empty": "Il nome della chiave API non pu├▓ essere vuoto",
|
||||
"api_key_description": "Questo valore verr├а mostrato una sola volta. Assicurati di copiarlo prima di chiudere la finestra.",
|
||||
"api_key_empty": "Il nome della chiave API non dovrebbe essere vuoto",
|
||||
"api_keys": "Chiavi API",
|
||||
"app_bar_signout_dialog_content": "Sei sicuro di volerti disconnettere?",
|
||||
"app_bar_signout_dialog_ok": "Si",
|
||||
@@ -427,8 +445,9 @@
|
||||
"app_settings": "Impostazioni Applicazione",
|
||||
"appears_in": "Compare in",
|
||||
"archive": "Archivio",
|
||||
"archive_action_prompt": "Aggiunti {count} elementi all'Archivio",
|
||||
"archive_or_unarchive_photo": "Archivia o ripristina foto",
|
||||
"archive_page_no_archived_assets": "Nessuna oggetto archiviato",
|
||||
"archive_page_no_archived_assets": "Non ├и stato trovato nessun elemento archiviato",
|
||||
"archive_page_title": "Archivio ({count})",
|
||||
"archive_size": "Dimensioni Archivio",
|
||||
"archive_size_description": "Imposta le dimensioni dell'archivio per i download (in GiB)",
|
||||
@@ -440,42 +459,41 @@
|
||||
"asset_action_share_err_offline": "Non ├и possibile recuperare le risorse offline, azione ignorata",
|
||||
"asset_added_to_album": "Aggiunto all'album",
|
||||
"asset_adding_to_album": "Aggiungendo all'albumтАж",
|
||||
"asset_description_updated": "La descrizione del media ├и stata aggiornata",
|
||||
"asset_description_updated": "La descrizione dell'elemento ├и stata aggiornata",
|
||||
"asset_filename_is_offline": "Il media {filename} ├и offline",
|
||||
"asset_has_unassigned_faces": "Il media ha dei volti non categorizzati",
|
||||
"asset_hashing": "Hashing in corso тАж",
|
||||
"asset_list_group_by_sub_title": "Raggruppa per",
|
||||
"asset_list_layout_settings_dynamic_layout_title": "Layout dinamico",
|
||||
"asset_list_layout_settings_group_automatically": "Automatico",
|
||||
"asset_list_layout_settings_group_by": "Raggruppa le risorse per",
|
||||
"asset_list_layout_settings_group_by": "Raggruppa gli elementi per",
|
||||
"asset_list_layout_settings_group_by_month_day": "Mese + giorno",
|
||||
"asset_list_layout_sub_title": "Layout",
|
||||
"asset_list_settings_subtitle": "Impostazion del layout della griglia delle foto",
|
||||
"asset_list_settings_subtitle": "Impostazioni del layout della griglia delle foto",
|
||||
"asset_list_settings_title": "Griglia foto",
|
||||
"asset_offline": "Risorsa Offline",
|
||||
"asset_offline_description": "Questo media non ├и stato trovato nel disco. Contatta il tuo amministratore di Immich per assistenza.",
|
||||
"asset_restored_successfully": "Asset ripristinato con successo",
|
||||
"asset_offline": "Elemento Offline",
|
||||
"asset_offline_description": "Questo elemento esterno non viene pi├╣ trovato sul disco. Contatta il tuo amministratore di Immich per assistenza.",
|
||||
"asset_restored_successfully": "Elemento ripristinato con successo",
|
||||
"asset_skipped": "Saltato",
|
||||
"asset_skipped_in_trash": "Nel cestino",
|
||||
"asset_uploaded": "Caricato",
|
||||
"asset_uploading": "CaricamentoтАж",
|
||||
"asset_viewer_settings_subtitle": "Gestisci le impostazioni del visualizzatore risorse",
|
||||
"asset_viewer_settings_subtitle": "Gestisci le impostazioni del visualizzatore della galleria",
|
||||
"asset_viewer_settings_title": "Visualizzazione risorse",
|
||||
"assets": "Risorse",
|
||||
"assets_added_count": "{count, plural, one {# asset aggiunto} other {# asset aggiunti}}",
|
||||
"assets_added_to_album_count": "{count, plural, one {# asset aggiunto} other {# asset aggiunti}} all'album",
|
||||
"assets_added_to_name_count": "Aggiunti {count, plural, one {# asset} other {# assets}} a {hasName, select, true {<b>{name}</b>} other {new album}}",
|
||||
"assets_cannot_be_added_to_album_count": "{count, plural, one {L'asset} other {Gli asset}} non possono essere aggiunti all'album",
|
||||
"assets_count": "{count, plural, other {# asset}}",
|
||||
"assets_cannot_be_added_to_album_count": "{count, plural, one {L'elemento} other {Gli elementi}} non possono essere aggiunti all'album",
|
||||
"assets_count": "{count, plural, one {# elemento} other {# elementi}}",
|
||||
"assets_deleted_permanently": "{count} elementi cancellati definitivamente",
|
||||
"assets_deleted_permanently_from_server": "{count} elementi cancellati definitivamente dal server Immich",
|
||||
"assets_downloaded_failed": "{count, plural, one {Scaricato # file - {error} file non riusciti} other {Scaricati # file - {error} file non riusciti}}",
|
||||
"assets_downloaded_failed": "{count, plural, one {Scaricato # file - {error} file non riuscito} other {Scaricati # file - {error} file non riusciti}}",
|
||||
"assets_downloaded_successfully": "{count, plural, one {Scaricato # file con successo} other {Scaricati # file con successo}}",
|
||||
"assets_moved_to_trash_count": "{count, plural, one {# asset spostato} other {# asset spostati}} nel cestino",
|
||||
"assets_moved_to_trash_count": "{count, plural, one {# elemento spostato} other {# elementi spostati}} nel cestino",
|
||||
"assets_permanently_deleted_count": "{count, plural, one {# asset cancellato} other {# asset cancellati}} definitivamente",
|
||||
"assets_removed_count": "{count, plural, one {# asset rimosso} other {# asset rimossi}}",
|
||||
"assets_removed_permanently_from_device": "{count} elementi cancellati definitivamente dal tuo dispositivo",
|
||||
"assets_restore_confirmation": "Sei sicuro di voler ripristinare tutti gli asset cancellati? Non puoi annullare questa azione! Tieni presente che eventuali risorse offline NON possono essere ripristinate in questo modo.",
|
||||
"assets_restore_confirmation": "Sei sicuro di voler ripristinare tutti gli elementi cancellati? Non puoi annullare questa azione! Tieni presente che eventuali risorse offline NON possono essere ripristinate in questo modo.",
|
||||
"assets_restored_count": "{count, plural, one {# asset ripristinato} other {# asset ripristinati}}",
|
||||
"assets_restored_successfully": "{count} elementi ripristinati",
|
||||
"assets_trashed": "{count} elementi cestinati",
|
||||
@@ -497,7 +515,7 @@
|
||||
"backup_album_selection_page_selection_info": "Informazioni sulla selezione",
|
||||
"backup_album_selection_page_total_assets": "Numero totale delle risorse",
|
||||
"backup_all": "Tutti",
|
||||
"backup_background_service_backup_failed_message": "Impossibile caricare i contenuti. RiprovoтАж",
|
||||
"backup_background_service_backup_failed_message": "├И stato impossibile fare il backup dei contenuti. RiprovoтАж",
|
||||
"backup_background_service_connection_failed_message": "Impossibile connettersi al server. RiprovoтАж",
|
||||
"backup_background_service_current_upload_notification": "Caricamento di {filename} in corso",
|
||||
"backup_background_service_default_notification": "Ricerca di nuovi contenutiтАж",
|
||||
@@ -506,7 +524,7 @@
|
||||
"backup_background_service_upload_failure_notification": "Impossibile caricare {filename}",
|
||||
"backup_controller_page_albums": "Backup Album",
|
||||
"backup_controller_page_background_app_refresh_disabled_content": "Attiva l'aggiornamento dell'app in background in Impostazioni > Generale > Aggiorna app in background per utilizzare backup in background.",
|
||||
"backup_controller_page_background_app_refresh_disabled_title": "Backup in background ├и disattivo",
|
||||
"backup_controller_page_background_app_refresh_disabled_title": "Aggiornamento dell'app in background disattivo",
|
||||
"backup_controller_page_background_app_refresh_enable_button_text": "Vai alle impostazioni",
|
||||
"backup_controller_page_background_battery_info_link": "Mostrami come",
|
||||
"backup_controller_page_background_battery_info_message": "Per una migliore esperienza di backup, disabilita le ottimizzazioni della batteria per l'app Immich.\n\nDal momento che ├и una funzionalit├а specifica del dispositivo, per favore consulta il manuale del produttore.",
|
||||
@@ -515,12 +533,12 @@
|
||||
"backup_controller_page_background_charging": "Solo durante la ricarica",
|
||||
"backup_controller_page_background_configure_error": "Impossibile configurare i servizi in background",
|
||||
"backup_controller_page_background_delay": "Ritarda il backup di nuovi elementi: {duration}",
|
||||
"backup_controller_page_background_description": "Abilita i servizi in background per fare il backup di tutti i nuovi contenuti senza la necessit├а di aprire l'app",
|
||||
"backup_controller_page_background_is_off": "Backup automatico disattivato",
|
||||
"backup_controller_page_background_is_on": "Backup automatico attivo",
|
||||
"backup_controller_page_background_description": "Abilita i servizi in background per fare il backup di nuovi contenuti senza la necessit├а di aprire l'app",
|
||||
"backup_controller_page_background_is_off": "Backup automatico in background disattivato",
|
||||
"backup_controller_page_background_is_on": "Backup automatico in background attivo",
|
||||
"backup_controller_page_background_turn_off": "Disabilita servizi in background",
|
||||
"backup_controller_page_background_turn_on": "Abilita servizi in background",
|
||||
"backup_controller_page_background_wifi": "Solo Wi-Fi",
|
||||
"backup_controller_page_background_wifi": "Solo con Wi-Fi",
|
||||
"backup_controller_page_backup": "Backup",
|
||||
"backup_controller_page_backup_selected": "Selezionati: ",
|
||||
"backup_controller_page_backup_sub": "Foto e video caricati",
|
||||
@@ -703,7 +721,7 @@
|
||||
"daily_title_text_date": "E, dd MMM",
|
||||
"daily_title_text_date_year": "E, dd MMM, yyyy",
|
||||
"dark": "Scuro",
|
||||
"darkTheme": "Attiva/Disattiva tema scuro",
|
||||
"dark_theme": "Imposta tema scuro",
|
||||
"date_after": "Data dopo",
|
||||
"date_and_time": "Data e ora",
|
||||
"date_before": "Data prima",
|
||||
@@ -719,6 +737,7 @@
|
||||
"default_locale": "Localizzazione preimpostata",
|
||||
"default_locale_description": "Formatta la data e i numeri in base alle impostazioni del tuo browser",
|
||||
"delete": "Elimina",
|
||||
"delete_action_prompt": "{count} elementi eliminati definitivamente",
|
||||
"delete_album": "Elimina album",
|
||||
"delete_api_key_prompt": "Sei sicuro di voler eliminare questa chiave API?",
|
||||
"delete_dialog_alert": "Questi oggetti saranno eliminati definitivamente da Immich e dal tuo device",
|
||||
@@ -799,6 +818,7 @@
|
||||
"edit_key": "Modifica chiave",
|
||||
"edit_link": "Modifica link",
|
||||
"edit_location": "Modifica posizione",
|
||||
"edit_location_action_prompt": "{count} luoghi modificati",
|
||||
"edit_location_dialog_title": "Posizione",
|
||||
"edit_name": "Modifica nome",
|
||||
"edit_people": "Modifica persone",
|
||||
@@ -984,6 +1004,7 @@
|
||||
"failed_to_load_assets": "Impossibile caricare gli asset",
|
||||
"failed_to_load_folder": "Impossibile caricare la cartella",
|
||||
"favorite": "Preferito",
|
||||
"favorite_action_prompt": "{count} elementi aggiunti ai preferiti",
|
||||
"favorite_or_unfavorite_photo": "Aggiungi o rimuovi foto da preferiti",
|
||||
"favorites": "Preferiti",
|
||||
"favorites_page_no_favorites": "Nessun preferito",
|
||||
@@ -1127,6 +1148,7 @@
|
||||
"library_page_sort_created": "Data di creazione",
|
||||
"library_page_sort_last_modified": "Ultima modifica",
|
||||
"library_page_sort_title": "Titolo album",
|
||||
"licenses": "Licenze",
|
||||
"light": "Chiaro",
|
||||
"like_deleted": "Mi piace rimosso",
|
||||
"link_motion_video": "Collega video in movimento",
|
||||
@@ -1246,6 +1268,7 @@
|
||||
"more": "Di pi├╣",
|
||||
"move": "Sposta",
|
||||
"move_off_locked_folder": "Sposta al di fuori della cartella privata",
|
||||
"move_to_lock_folder_action_prompt": "{count} elementi aggiunti alla cartella sicura",
|
||||
"move_to_locked_folder": "Sposta nella cartella privata",
|
||||
"move_to_locked_folder_confirmation": "Queste foto e video verranno rimossi da tutti gli album, e saranno visibili solo dalla cartella privata",
|
||||
"moved_to_archive": "Spostati {count, plural, one {# asset} other {# assets}} nell'archivio",
|
||||
@@ -1479,13 +1502,13 @@
|
||||
"recently_taken_page_title": "Scattate di Recente",
|
||||
"refresh": "Aggiorna",
|
||||
"refresh_encoded_videos": "Ricarica video codificati",
|
||||
"refresh_faces": "Aggiorna facce",
|
||||
"refresh_faces": "Aggiorna volti",
|
||||
"refresh_metadata": "Ricarica metadati",
|
||||
"refresh_thumbnails": "Ricarica anteprime",
|
||||
"refreshed": "Aggiornato",
|
||||
"refreshes_every_file": "Rilegge tutti i file esistenti e nuovi",
|
||||
"refreshing_encoded_video": "Ricaricando il video codificato",
|
||||
"refreshing_faces": "Aggiorna Facce",
|
||||
"refreshing_faces": "Aggiornando volti",
|
||||
"refreshing_metadata": "Ricaricando i metadati",
|
||||
"regenerating_thumbnails": "Rigenerando le anteprime",
|
||||
"remove": "Rimuovi",
|
||||
@@ -1496,6 +1519,7 @@
|
||||
"remove_deleted_assets": "Rimuovi file offline",
|
||||
"remove_from_album": "Rimuovere dall'album",
|
||||
"remove_from_favorites": "Rimuovi dai preferiti",
|
||||
"remove_from_lock_folder_action_prompt": "{count} elementi rimossi dalla cartella sicura",
|
||||
"remove_from_locked_folder": "Rimuovi dalla cartella privata",
|
||||
"remove_from_locked_folder_confirmation": "Sei sicuro di voler spostare queste foto e questi video dalla cartella privata? Diventeranno visibili nella vostra libreria.",
|
||||
"remove_from_shared_link": "Rimuovi dal link condiviso",
|
||||
@@ -1838,6 +1862,7 @@
|
||||
"total": "Totale",
|
||||
"total_usage": "Utilizzo totale",
|
||||
"trash": "Cestino",
|
||||
"trash_action_prompt": "{count} elementi spostati nel cestino",
|
||||
"trash_all": "Cestina Tutto",
|
||||
"trash_count": "Cancella {count, number}",
|
||||
"trash_delete_asset": "Cestina/Cancella Asset",
|
||||
|
||||
+9
-3
@@ -427,6 +427,7 @@
|
||||
"app_settings": "уВвуГЧуГкшинхоЪ",
|
||||
"appears_in": "уБУуВМуВЙуБлхРлуБ╛уВМуБ╛уБЩ",
|
||||
"archive": "уВвуГ╝уВлуВдуГЦ",
|
||||
"archive_action_prompt": "уВвуГ╝уВлуВдуГЦуБл{count}щаЕчЫош┐╜хКауБЧуБ╛уБЧуБЯ",
|
||||
"archive_or_unarchive_photo": "хЖЩчЬЯуВТуВвуГ╝уВлуВдуГЦуБ╛уБЯуБпуВвуГ╝уВлуВдуГЦшзгщЩд",
|
||||
"archive_page_no_archived_assets": "уВвуГ╝уВлуВдуГЦуБЧуБЯхЖЩчЬЯуБ╛уБЯуБпуГУуГЗуВкуБМуБВуВКуБ╛уБЫуВУ",
|
||||
"archive_page_title": "уВвуГ╝уВлуВдуГЦ ({count})",
|
||||
@@ -464,7 +465,6 @@
|
||||
"assets": "уВвуВ╗уГГуГИ",
|
||||
"assets_added_count": "{count, plural, one {#хАЛ} other {#хАЛ}}уБоуВвуВ╗уГГуГИуВТш┐╜хКауБЧуБ╛уБЧуБЯ",
|
||||
"assets_added_to_album_count": "{count, plural, one {#хАЛ} other {#хАЛ}}уБоуВвуВ╗уГГуГИуВТуВвуГлуГРуГауБлш┐╜хКауБЧуБ╛уБЧуБЯ",
|
||||
"assets_added_to_name_count": "{count, plural, one {#хАЛ} other {#хАЛ}}уБоуВвуВ╗уГГуГИуВТ{hasName, select, true {<b>{name}</b>} other {цЦ░уБЧуБДуВвуГлуГРуГа}}уБлш┐╜хКауБЧуБ╛уБЧуБЯ",
|
||||
"assets_cannot_be_added_to_album_count": "{count, plural, one {уВвуВ╗уГГуГИ} other {уВвуВ╗уГГуГИ}} уБпуВвуГлуГРуГауБлш┐╜хКауБзуБНуБ╛уБЫуВУ",
|
||||
"assets_count": "{count, plural, one {#хАЛ} other {#хАЛ}}уБоуВвуВ╗уГГуГИ",
|
||||
"assets_deleted_permanently": "{count}щаЕчЫоуВТхоМхЕиуБлхЙКщЩдуБЧуБ╛уБЧуБЯ",
|
||||
@@ -492,7 +492,7 @@
|
||||
"background_location_permission_content": "цнгх╕╕уБлWi-FiуБохРНхЙН(SSID)уВТчН▓х╛ЧуБЩуВЛуБлуБпуВвуГЧуГкуБМх╕╕уБлшй│ч┤░уБкф╜Нч╜оцГЕха▒уБлуВвуВпуВ╗уВ╣уБзуБНуВЛх┐ЕшжБуБМуБВуВКуБ╛уБЩ",
|
||||
"backup_album_selection_page_albums_device": "уГЗуГРуВдуВ╣ф╕КуБоуВвуГлуГРуГа({count})",
|
||||
"backup_album_selection_page_albums_tap": "уВ┐уГГуГЧуБзщБ╕цКЮуАБуГАуГЦуГлуВ┐уГГуГЧуБзщЩдхдЦ",
|
||||
"backup_album_selection_page_assets_scatter": "уВвуГлуГРуГауВТщБ╕цКЮуГ╗щЩдхдЦуБЧуБжуГРуГГуВпуВвуГГуГЧуБЩуВЛхЖЩчЬЯуВТщБ╕уБ╢ (хРМуБШхЖЩчЬЯуБМшдЗцХ░уБоуВвуГлуГРуГауБлчЩ╗щМ▓уБХуВМуБжуБДуВЛуБУуБиуБМуБВуВЛуБЯуВБ)",
|
||||
"backup_album_selection_page_assets_scatter": "уВвуГлуГРуГауВТщБ╕цКЮуГ╗щЩдхдЦуБЧуБжуГРуГГуВпуВвуГГуГЧуБЩуВЛхЖЩчЬЯуВТщБ╕уБ╢уАВ (хРМуБШхЖЩчЬЯуБМшдЗцХ░уБоуВвуГлуГРуГауБлчЩ╗щМ▓уБХуВМуБжуБДуВЛуБУуБиуБМуБВуВЛуБЯуВБ)",
|
||||
"backup_album_selection_page_select_albums": "уВвуГлуГРуГауВТщБ╕цКЮ",
|
||||
"backup_album_selection_page_selection_info": "щБ╕цКЮуГ╗щЩдхдЦф╕нуБоуВвуГлуГРуГа",
|
||||
"backup_album_selection_page_total_assets": "щБ╕цКЮуБХуВМуБЯуВвуГлуГРуГауБохЖЩчЬЯуБихЛХчФ╗уБоцХ░",
|
||||
@@ -703,7 +703,7 @@
|
||||
"daily_title_text_date": "MM DD, EE",
|
||||
"daily_title_text_date_year": "yyyy MM DD, EE",
|
||||
"dark": "уГАуГ╝уВпуГвуГ╝уГЙ",
|
||||
"darkTheme": "уГАуГ╝уВпуГвуГ╝уГЙуВТхИЗуВКцЫ┐уБИ",
|
||||
"dark_theme": "уГАуГ╝уВпуГвуГ╝уГЙхИЗуВКцЫ┐уБИ",
|
||||
"date_after": "уБУуБоцЧеф╗ещЩН",
|
||||
"date_and_time": "цЧеф╗ШуБицЩВщЦУ",
|
||||
"date_before": "уБУуБоцЧеф╗ехЙН",
|
||||
@@ -719,6 +719,7 @@
|
||||
"default_locale": "уГЗуГХуВйуГлуГИуБоуГнуВ▒уГ╝уГл",
|
||||
"default_locale_description": "уГЦуГйуВжуВ╢уБоуГнуВ▒уГ╝уГлуБлхЯ║уБеуБДуБжцЧеф╗ШуБицХ░хАдуВТуГХуВйуГ╝уГЮуГГуГИуБЧуБ╛уБЩ",
|
||||
"delete": "хЙКщЩд",
|
||||
"delete_action_prompt": "{count}щаЕчЫоуВТхоМхЕиуБлхЙКщЩдуБЧуБ╛уБЧуБЯ",
|
||||
"delete_album": "уВвуГлуГРуГауВТхЙКщЩд",
|
||||
"delete_api_key_prompt": "цЬмх╜УуБлуБУуБоAPI уВнуГ╝уВТхЙКщЩдуБЧуБ╛уБЩуБЛ?",
|
||||
"delete_dialog_alert": "уВ╡уГ╝уГРуГ╝уБиуГЗуГРуВдуВ╣уБоф╕бцЦ╣уБЛуВЙхоМхЕиуБлхЙКщЩдуБХуВМуБ╛уБЩ",
|
||||
@@ -799,6 +800,7 @@
|
||||
"edit_key": "уВнуГ╝уВТч╖ищЫЖ",
|
||||
"edit_link": "уГкуГ│уВпуВТч╖ищЫЖуБЩуВЛ",
|
||||
"edit_location": "ф╜Нч╜оцГЕха▒уВТч╖ищЫЖ",
|
||||
"edit_location_action_prompt": "{count}щаЕчЫоуБоф╜Нч╜оцГЕха▒уВТхдЙцЫ┤уБЧуБ╛уБЧуБЯ",
|
||||
"edit_location_dialog_title": "ф╜Нч╜оцГЕха▒",
|
||||
"edit_name": "хРНхЙНуВТхдЙцЫ┤",
|
||||
"edit_people": "ф║║чЙйуВТч╖ищЫЖ",
|
||||
@@ -984,6 +986,7 @@
|
||||
"failed_to_load_assets": "уВвуВ╗уГГуГИуБоуГнуГ╝уГЙуБлхд▒цХЧуБЧуБ╛уБЧуБЯ",
|
||||
"failed_to_load_folder": "уГХуВйуГлуГАуГ╝уБошкнуБ┐ш╛╝уБ┐уБлхд▒цХЧ",
|
||||
"favorite": "уБКц░ЧуБлхЕеуВК",
|
||||
"favorite_action_prompt": "{count}щаЕчЫоуВТуБКц░ЧуБлхЕеуВКуБлш┐╜хКауБЧуБ╛уБЧуБЯ",
|
||||
"favorite_or_unfavorite_photo": "хЖЩчЬЯуВТуБКц░ЧуБлуБДуВКуБлчЩ╗щМ▓уБ╛уБЯуБпшзгщЩд",
|
||||
"favorites": "уБКц░ЧуБлхЕеуВК",
|
||||
"favorites_page_no_favorites": "уБКц░ЧуБлхЕеуВКчЩ╗щМ▓уБХуВМуБЯщаЕчЫоуБМуБВуВКуБ╛уБЫуВУ",
|
||||
@@ -1246,6 +1249,7 @@
|
||||
"more": "уВВуБгуБишбичд║",
|
||||
"move": "чз╗хЛХ",
|
||||
"move_off_locked_folder": "щН╡ф╗ШуБНуГХуВйуГлуГАуГ╝уБЛуВЙхЗ║уБЩ",
|
||||
"move_to_lock_folder_action_prompt": "{count}щаЕчЫоуВТщН╡ф╗ШуБНуГХуВйуГлуГАуГ╝уБлш┐╜хКауБЧуБ╛уБЧуБЯ",
|
||||
"move_to_locked_folder": "щН╡ф╗ШуБНуГХуВйуГлуГАуГ╝уБ╕чз╗хЛХ",
|
||||
"move_to_locked_folder_confirmation": "уБУуВМуВЙуБохЖЩчЬЯуВДхЛХчФ╗уБпуБЩуБ╣уБжуБоуВвуГлуГРуГауБЛуВЙхдЦуБХуВМуАБщН╡ф╗ШуБНуГХуВйуГлуГАуГ╝хЖЕуБзуБоуБ┐щЦ▓шжзхПпшГ╜уБлуБкуВКуБ╛уБЩ",
|
||||
"moved_to_archive": "{count, plural, one {#} other {#}}щаЕчЫоуВТуВвуГ╝уВлуВдуГЦуБЧуБ╛уБЧуБЯ",
|
||||
@@ -1496,6 +1500,7 @@
|
||||
"remove_deleted_assets": "уВкуГХуГйуВдуГ│уБоуВвуВ╗уГГуГИуВТхЙКщЩд",
|
||||
"remove_from_album": "уВвуГлуГРуГауБЛуВЙхЙКщЩд",
|
||||
"remove_from_favorites": "уБКц░ЧуБлхЕеуВКшзгщЩд",
|
||||
"remove_from_lock_folder_action_prompt": "{count}щаЕчЫоуВТщН╡ф╗ШуБНуГХуВйуГлуГАуГ╝уБЛуВЙхЗ║уБЧуБ╛уБЧуБЯ",
|
||||
"remove_from_locked_folder": "щН╡ф╗ШуБНуГХуВйуГлуГАуГ╝уБЛуВЙхПЦуВКщЩдуБП",
|
||||
"remove_from_locked_folder_confirmation": "щБ╕цКЮуБЧуБЯхЖЩчЬЯуГ╗хЛХчФ╗уВТщН╡ф╗ШуБНуГХуВйуГлуГАуГ╝уБохдЦуБлхЗ║уБЧуБжуВИуВНуБЧуБДуБзуБЩуБЛя╝ЯуГйуВдуГЦуГйуГкуБлхЖНуБ│шбичд║уБХуВМуВЛуВИуБЖуБлуБкуВКуБ╛уБЩ",
|
||||
"remove_from_shared_link": "хЕ▒цЬЙуГкуГ│уВпуБЛуВЙхЙКщЩд",
|
||||
@@ -1838,6 +1843,7 @@
|
||||
"total": "хРИшиИ",
|
||||
"total_usage": "ч╖Пф╜┐чФищЗП",
|
||||
"trash": "уВ┤уГЯчо▒",
|
||||
"trash_action_prompt": "{count}щаЕчЫоуВТуВ┤уГЯчо▒уБлчз╗хЛХуБЧуБ╛уБЧуБЯ",
|
||||
"trash_all": "хЕиуБжхЙКщЩд",
|
||||
"trash_count": "{count, number}цЮЪуВ┤уГЯчо▒уБ╕чз╗хЛХ",
|
||||
"trash_delete_asset": "уВвуВ╗уГГуГИуВТуВ┤уГЯчо▒уБ╕чз╗хЛХ/хЙКщЩд",
|
||||
|
||||
+33
-6
@@ -22,6 +22,7 @@
|
||||
"add_partner": "эММэК╕ыДИ ь╢Фъ░А",
|
||||
"add_path": "ъ▓╜ыбЬ ь╢Фъ░А",
|
||||
"add_photos": "ьВмьзД ь╢Фъ░А",
|
||||
"add_tag": "эГЬъ╖╕ ь╢Фъ░АэХШъ╕░",
|
||||
"add_to": "ьХиы▓ФьЧР ь╢Фъ░АтАж",
|
||||
"add_to_album": "ьХиы▓ФьЧР ь╢Фъ░А",
|
||||
"add_to_album_bottom_sheet_added": "{album}ьЧР ь╢Фъ░АыРШьЧИьК╡ыЛИыЛд.",
|
||||
@@ -33,6 +34,7 @@
|
||||
"added_to_favorites_count": "ьжРъ▓иь░╛ъ╕░ьЧР {count, number}ъ░Ь ь╢Фъ░АыРи",
|
||||
"admin": {
|
||||
"add_exclusion_pattern_description": "ъ╖Ьь╣ЩьЧР *, ** ы░П ? ые╝ ьВмьЪйэХа ьИШ ьЮИьК╡ыЛИыЛд. ьЭ┤ыжДьЭ┤ \"Raw\"ьЭ╕ ыФФыаЙэД░ыжмьЭШ ыкиыУа эММьЭ╝ьЭД ьаЬьЩ╕эХШыадый┤ \"**/Raw/**\"ые╝, \".tif\"ыбЬ ыБЭыВШыКФ ыкиыУа эММьЭ╝ьЭД ьаЬьЩ╕эХШыадый┤ \"**/*.tif\"ые╝ ьВмьЪйэХШъ│а, ьаИыМА ъ▓╜ыбЬьЭШ ъ▓╜ьЪ░ \"/path/to/ignore/**\"ьЩА ъ░ЩьЭА ы░йьЛЭьЬ╝ыбЬ ьВмьЪйэХйыЛИыЛд.",
|
||||
"admin_user": "ъ┤АыжмьЮР",
|
||||
"asset_offline_description": "ьЩ╕ы╢А ыЭ╝ьЭ┤ы╕МыЯмыжмьЧР эПмэХиыРЬ ьЭ┤ эХныкйьЭД ыФФьКдэБмьЧРьДЬ ыНФьЭ┤ьГБ ь░╛ьЭД ьИШ ьЧЖьЦ┤ эЬ┤ьзАэЖ╡ьЬ╝ыбЬ ьЭ┤ыПЩыРШьЧИьК╡ыЛИыЛд. эММьЭ╝ьЭ┤ ыЭ╝ьЭ┤ы╕МыЯмыжм ыВ┤ьЧРьДЬ ьЭ┤ыПЩыРЬ ъ▓╜ьЪ░ эГАьЮДыЭ╝ьЭ╕ьЧРьДЬ ьГИыбЬ ьЧ░ъ▓░ыРЬ эХныкйьЭД эЩХьЭ╕эХШьД╕ьЪФ. эХныкйьЭД ы│╡ьЫРэХШыадый┤ ьХДыЮШьЭШ эММьЭ╝ ъ▓╜ыбЬьЧР Immichъ░А ьаСъ╖╝эХа ьИШ ьЮИыКФьзА эЩХьЭ╕эХШъ│а ыЭ╝ьЭ┤ы╕МыЯмыжм ьКдь║ФьЭД ьзДэЦЙэХШьД╕ьЪФ.",
|
||||
"authentication_settings": "ьЭ╕ьжЭ ьДдьаХ",
|
||||
"authentication_settings_description": "ы╣Ды░Аы▓ИэШ╕, OAuth ы░П ъ╕░эГА ьЭ╕ьжЭ ьДдьаХ ъ┤Аыжм",
|
||||
@@ -43,7 +45,7 @@
|
||||
"backup_database_enable_description": "ыН░ьЭ┤эД░ы▓аьЭ┤ьКд ыНдэФД эЩЬьД▒эЩФ",
|
||||
"backup_keep_last_amount": "ы│┤ъ┤АэХа ьЭ┤ьаД ыНдэФДьЭШ ьИШ",
|
||||
"backup_settings": "ыН░ьЭ┤эД░ы▓аьЭ┤ьКд ыНдэФД ьДдьаХ",
|
||||
"backup_settings_description": "ыН░ьЭ┤эД░ы▓аьЭ┤ьКд ыНдэФД ьДдьаХьЭД ъ┤АыжмэХйыЛИыЛд. ь░╕ъ│а: ьЭ┤ ьЮСьЧЕьЭА ьзДэЦЙ ы░П ьЛдэМи ьЧмы╢Аые╝ эЩХьЭ╕эХа ьИШ ьЧЖьК╡ыЛИыЛд.",
|
||||
"backup_settings_description": "ыН░ьЭ┤эД░ы▓аьЭ┤ьКд ыНдэФД ьДдьаХьЭД ъ┤АыжмэХйыЛИыЛд.",
|
||||
"cleared_jobs": "ьЮСьЧЕ ьдСыЛи: {job}",
|
||||
"config_set_by_file": "эШДьЮм ъ╡мьД▒ьЭА ьДдьаХ эММьЭ╝ьЭД эЖ╡эХ┤ ьзАьаХыРШьЦ┤ ьЮИьК╡ыЛИыЛд.",
|
||||
"confirm_delete_library": "{library} ыЭ╝ьЭ┤ы╕МыЯмыжмые╝ ьВньаЬэХШьЛЬъ▓аьК╡ыЛИъ╣М?",
|
||||
@@ -164,12 +166,26 @@
|
||||
"metadata_settings_description": "ыйФэГАыН░ьЭ┤эД░ ьДдьаХ ъ┤Аыжм",
|
||||
"migration_job": "ызИьЭ┤ъ╖╕ыаИьЭ┤ьЕШ",
|
||||
"migration_job_description": "ъ░Б эХныкйьЭШ ьДмыДдьЭ╝ ы░П ьЭ╕ым╝ьЭШ ьЦ╝ъ╡┤ьЭД ь╡ЬьЛа эП┤ыНФ ъ╡мьб░ыбЬ ызИьЭ┤ъ╖╕ыаИьЭ┤ьЕШ",
|
||||
"nightly_tasks_cluster_faces_setting_description": "ьГИыбЬ ъ░РьзАыРЬ ьЦ╝ъ╡┤ьЧР ыМАэХШьЧм ьЦ╝ъ╡┤ ьЭ╕ьЛЭьЭД ьЛдэЦЙ",
|
||||
"nightly_tasks_cluster_new_faces_setting": "ьГИ ьЦ╝ъ╡┤ ым╢ъ╕░",
|
||||
"nightly_tasks_database_cleanup_setting": "ыН░ьЭ┤эД░ы▓аьЭ┤ьКд ьаХыжм ьЮСьЧЕ",
|
||||
"nightly_tasks_database_cleanup_setting_description": "ыН░ьЭ┤эД░ы▓аьЭ┤ьКдьЧРьДЬ ьШдыЮШыРШъ▒░ыВШ ызМыгМыРЬ ыН░ьЭ┤эД░ ьаХыжмэХШъ╕░",
|
||||
"nightly_tasks_generate_memories_setting": "ыйФыкиыжм ьГЭьД▒эХШъ╕░",
|
||||
"nightly_tasks_generate_memories_setting_description": "эХныкйьЧРьДЬ ьГИыбЬьЪ┤ ыйФыкиыжм ызМыУдъ╕░",
|
||||
"nightly_tasks_missing_thumbnails_setting": "ыИДыЭ╜ыРЬ ьДмыДдьЭ╝ ьГЭьД▒эХШъ╕░",
|
||||
"nightly_tasks_missing_thumbnails_setting_description": "ьДмыДдьЭ╝ьЭ┤ ьЧЖыКФ эХныкйьЧР ыМАэХ┤ ьДмыДдьЭ╝ ьГЭьД▒ ыМАъ╕░ьЧ┤ьЧР ь╢Фъ░АэХШъ╕░",
|
||||
"nightly_tasks_settings": "ьХ╝ъ░Д ьЮСьЧЕ ьДдьаХ",
|
||||
"nightly_tasks_settings_description": "ьХ╝ъ░Д ьЮСьЧЕ ъ┤Аыжм",
|
||||
"nightly_tasks_start_time_setting": "ьЛЬьЮС ьЛЬъ░Д",
|
||||
"nightly_tasks_start_time_setting_description": "ьДЬы▓Дъ░А ьХ╝ъ░Д ьЮСьЧЕьЭД ьЛЬьЮСэХа ьЛЬъ░Д",
|
||||
"nightly_tasks_sync_quota_usage_setting": "ьВмьЪйыЯЙ ыПЩъ╕░эЩФ",
|
||||
"nightly_tasks_sync_quota_usage_setting_description": "эШДьЮм ьВмьЪйыЯЙьЧР ыФ░ыЭ╝ ьВмьЪйьЮРьЭШ ьВмьЪйыЯЙ ъ░▒ьЛаэХШъ╕░",
|
||||
"no_paths_added": "ь╢Фъ░АыРЬ ъ▓╜ыбЬ ьЧЖьЭМ",
|
||||
"no_pattern_added": "ь╢Фъ░АыРЬ ъ╖Ьь╣Щ ьЧЖьЭМ",
|
||||
"note_apply_storage_label_previous_assets": "ь░╕ъ│а: ьЭ┤ьаДьЧР ьЧЕыбЬыУЬэХЬ эХныкйьЧРыПД ьКдэЖаыжмьзА ыаИьЭ┤ы╕ФьЭД ьаБьЪйэХШыадый┤ ыЛдьЭМьЭД ьЛдэЦЙэХйыЛИыЛд,",
|
||||
"note_cannot_be_changed_later": "ьг╝ьЭШ: ь╢ФэЫД ы│Аъ▓╜эХа ьИШ ьЧЖьК╡ыЛИыЛд!",
|
||||
"notification_email_from_address": "ы│┤ыВ╕ ьВмыЮМ ьЭ┤ыйФьЭ╝",
|
||||
"notification_email_from_address_description": "ы│┤ыВ╕ ьВмыЮМьЭШ ьЭ┤ыйФьЭ╝ ьг╝ьЖМ, ьШИ: \"Immich Photo Server <noreply@example.com>\"",
|
||||
"notification_email_from_address_description": "ы│┤ыВ╕ ьВмыЮМьЭШ ьЭ┤ыйФьЭ╝ ьг╝ьЖМ, ьШИ: \"Immich Photo Server <noreply@example.com>\". ьЭ┤ыйФьЭ╝ьЭД ы│┤ыВ╝ ьИШ ьЮИыПДыбЭ эЧИъ░А ы░ЫьЭА ьг╝ьЖМызМьЭД ьВмьЪйэХШьД╕ьЪФ.",
|
||||
"notification_email_host_description": "ьЭ┤ыйФьЭ╝ ьДЬы▓ДьЭШ эШ╕ьКдэК╕ (ьШИ: smtp.immich.app)",
|
||||
"notification_email_ignore_certificate_errors": "ьЭ╕ьжЭьДЬ ьШдыеШ ым┤ьЛЬ",
|
||||
"notification_email_ignore_certificate_errors_description": "TLS ьЭ╕ьжЭьДЬ ьЬаэЪиьД▒ ъ▓АьВм ьШдыеШ ым┤ьЛЬ (ъ╢МьЮеыРШьзА ьХКьЭМ)",
|
||||
@@ -194,6 +210,7 @@
|
||||
"oauth_mobile_redirect_uri": "ыкиы░ФьЭ╝ ыжмыЛдьЭ┤ыаЙэК╕ URI",
|
||||
"oauth_mobile_redirect_uri_override": "ыкиы░ФьЭ╝ ыжмыЛдьЭ┤ыаЙэК╕ URI ьЮмьаХьЭШ",
|
||||
"oauth_mobile_redirect_uri_override_description": "OAuth ъ│╡ъ╕ЙьЮРъ░А ''{callback}''ъ│╝ ъ░ЩьЭА ыкиы░ФьЭ╝ URIые╝ ьаЬъ│╡эХШьзА ьХКыКФ ъ▓╜ьЪ░ эЩЬьД▒эЩФэХШьД╕ьЪФ.",
|
||||
"oauth_role_claim": "ьЧнэХа ьИШыа╣",
|
||||
"oauth_settings": "OAuth",
|
||||
"oauth_settings_description": "OAuth ыбЬъ╖╕ьЭ╕ ьДдьаХ ъ┤Аыжм",
|
||||
"oauth_settings_more_details": "ьЭ┤ ъ╕░ыКеьЧР ыМАэХЬ ьЮРьД╕эХЬ ыВ┤ьЪйьЭА <link>ым╕ьДЬ</link>ые╝ ь░╕ьб░эХШьД╕ьЪФ.",
|
||||
@@ -202,7 +219,7 @@
|
||||
"oauth_storage_quota_claim": "ьКдэЖаыжмьзА эХаыЛ╣ыЯЙ ьДаэГЭ",
|
||||
"oauth_storage_quota_claim_description": "ьКдэЖаыжмьзА эХаыЛ╣ыЯЙьЭД ьВмьЪйьЮРъ░А ьЮЕыаеэХЬ ъ░ТьЬ╝ыбЬ ьЮРыПЩ ьДдьаХэХйыЛИыЛд.",
|
||||
"oauth_storage_quota_default": "ьКдэЖаыжмьзА эХаыЛ╣ыЯЙ ъ╕░ы│╕ъ░Т (GiB)",
|
||||
"oauth_storage_quota_default_description": "ьЮЕыаеэХШьзА ьХКьЭА ъ▓╜ьЪ░ ьВмьЪйэХа GiB ыЛиьЬДьЭШ ъ╕░ы│╕ эХаыЛ╣ыЯЙ (ым┤ьаЬэХЬ эХаыЛ╣ыЯЙьЭШ ъ▓╜ьЪ░ 0 ьЮЕыае)",
|
||||
"oauth_storage_quota_default_description": "ьЮЕыаеэХШьзА ьХКьЭА ъ▓╜ьЪ░ ьВмьЪйэХа GiB ыЛиьЬДьЭШ ъ╕░ы│╕ эХаыЛ╣ыЯЙ",
|
||||
"oauth_timeout": "ьЪФь▓н эГАьЮДьХДьЫГ",
|
||||
"oauth_timeout_description": "ьЪФь▓н эГАьЮДьХДьЫГ (ы░Аыжмь┤И ыЛиьЬД)",
|
||||
"password_enable_description": "ьЭ┤ыйФьЭ╝ъ│╝ ы╣Ды░Аы▓ИэШ╕ыбЬ ыбЬъ╖╕ьЭ╕",
|
||||
@@ -242,6 +259,7 @@
|
||||
"storage_template_migration_info": "ьКдэЖаыжмьзА эЕЬэФМыж┐ьЭА ыкиыУа эЩХьЮеьЮРые╝ ьЖМым╕ьЮРыбЬ ы│АэЩШэХШый░, ы│Аъ▓╜ ьВмэХньЭА ьГИыбЬ ьЧЕыбЬыУЬэХЬ эХныкйьЧРызМ ьаБьЪйыРйыЛИыЛд. ъ╕░ьб┤ьЧР ьЧЕыбЬыУЬыРЬ эХныкйьЧР ьаБьЪйэХШыадый┤ <link>{job}</link>ьЭД ьЛдэЦЙэХШьД╕ьЪФ.",
|
||||
"storage_template_migration_job": "ьКдэЖаыжмьзА эЕЬэФМыж┐ ызИьЭ┤ъ╖╕ыаИьЭ┤ьЕШ ьЮСьЧЕ",
|
||||
"storage_template_more_details": "ьЭ┤ ъ╕░ыКеьЧР ыМАэХЬ ьЮРьД╕эХЬ ыВ┤ьЪйьЭА <template-link>ьКдэЖаыжмьзА эЕЬэФМыж┐</template-link> ы░П <implications-link>ьДдыкЕ</implications-link>ьЭД ь░╕ьб░эХШьД╕ьЪФ.",
|
||||
"storage_template_onboarding_description_v2": "эЩЬьД▒эЩФ ьЛЬ, ьЭ┤ ъ╕░ыКеьЭА ьВмьЪйьЮР ьзАьаХ эЕЬэФМыж┐ьЧР ыФ░ыЭ╝ эММьЭ╝ьЭД ьЮРыПЩ ы╢ДыеШэХйыЛИыЛд. ьЮРьД╕эХЬ ьаХы│┤ыКФ <link>ьЭ┤ ым╕ьДЬ</link>ые╝ эЩХьЭ╕эХШьД╕ьЪФ.",
|
||||
"storage_template_path_length": "ыМАыЮ╡ьаБьЭ╕ ъ▓╜ыбЬ ъ╕╕ьЭ┤ ьаЬэХЬ: <b>{length, number}</b>/{limit, number}",
|
||||
"storage_template_settings": "ьКдэЖаыжмьзА эЕЬэФМыж┐",
|
||||
"storage_template_settings_description": "ьЧЕыбЬыУЬыРЬ эХныкйьЭШ эП┤ыНФ ъ╡мьб░ ы░П эММьЭ╝ ьЭ┤ыжД ъ┤Аыжм",
|
||||
@@ -288,7 +306,7 @@
|
||||
"transcoding_encoding_options": "ьЭ╕ь╜ФыФй ьШ╡ьЕШ",
|
||||
"transcoding_encoding_options_description": "ьЭ╕ь╜ФыФйыРЬ ыПЩьШБьГБьЭШ ь╜ФыН▒, эХ┤ьГБыПД, эТИьзИ ы░П ъ╕░эГА ьШ╡ьЕШ ьДдьаХ",
|
||||
"transcoding_hardware_acceleration": "эХШыУЬьЫиьЦ┤ ъ░АьЖН",
|
||||
"transcoding_hardware_acceleration_description": "ьЛдэЧШьаБьЭ╕ ъ╕░ыКеьЮЕыЛИыЛд. ьЖНыПДъ░А эЦеьГБыРШьзАызМ ыПЩьЭ╝ ы╣ДэК╕ыаИьЭ┤эК╕ьЧРьДЬ эТИьзИьЭ┤ ьГБыМАьаБьЬ╝ыбЬ ыВоьЭД ьИШ ьЮИьК╡ыЛИыЛд.",
|
||||
"transcoding_hardware_acceleration_description": "ьЛдэЧШьаБьЭ╕ ъ╕░ыКеьЮЕыЛИыЛд. эК╕ыЮЬьКдь╜ФыФйьЭ┤ ы╣иыЭ╝ьзАьзАызМ ыПЩьЭ╝ ы╣ДэК╕ыаИьЭ┤эК╕ьЧРьДЬ эТИьзИьЭ┤ ьГБыМАьаБьЬ╝ыбЬ ыВоьЭД ьИШ ьЮИьК╡ыЛИыЛд.",
|
||||
"transcoding_hardware_decoding": "эХШыУЬьЫиьЦ┤ ыФФь╜ФыФй",
|
||||
"transcoding_hardware_decoding_setting_description": "ьЭ╕ь╜ФыФй ъ░АьЖНьЭД ьЬДэХ┤ ьЧФыУЬ эИм ьЧФыУЬ ъ░АьЖНьЭД ьВмьЪйэХйыЛИыЛд. ыкиыУа ыПЩьШБьГБьЧРьДЬ ьЮСыПЩэХШьзА ьХКьЭД ьИШ ьЮИьК╡ыЛИыЛд.",
|
||||
"transcoding_max_b_frames": "ь╡ЬыМА B эФДыаИьЮД",
|
||||
@@ -354,10 +372,12 @@
|
||||
"admin_password": "ъ┤АыжмьЮР ы╣Ды░Аы▓ИэШ╕",
|
||||
"administration": "ъ┤Аыжм",
|
||||
"advanced": "ъ│аъ╕Й",
|
||||
"advanced_settings_beta_timeline_subtitle": "ьГИыбЬьЪ┤ ьХ▒ ъ▓╜эЧШ ьВмьЪйэХШъ╕░",
|
||||
"advanced_settings_beta_timeline_title": "ы▓аэГА эГАьЮДыЭ╝ьЭ╕",
|
||||
"advanced_settings_enable_alternate_media_filter_subtitle": "ьЭ┤ ьШ╡ьЕШьЭД ьВмьЪйэХШый┤ ыПЩъ╕░эЩФ ьдС ып╕ыФФьЦ┤ые╝ ыМАь▓┤ ъ╕░ьдАьЬ╝ыбЬ эХДэД░ызБэХа ьИШ ьЮИьК╡ыЛИыЛд. ьХ▒ьЭ┤ ыкиыУа ьХиы▓ФьЭД ьаЬыМАыбЬ ъ░РьзАэХШьзА ык╗эХа ыХМызМ ьВмьЪйэХШьД╕ьЪФ.",
|
||||
"advanced_settings_enable_alternate_media_filter_title": "ыМАь▓┤ ъ╕░ъ╕░ ьХиы▓Ф ыПЩъ╕░эЩФ эХДэД░ ьВмьЪй (ьЛдэЧШьаБ)",
|
||||
"advanced_settings_log_level_title": "ыбЬъ╖╕ ыаИы▓и: {level}",
|
||||
"advanced_settings_prefer_remote_subtitle": "ьЭ╝ы╢А ъ╕░ъ╕░ьЭШ ъ▓╜ьЪ░ ъ╕░ъ╕░ ыВ┤ьЭШ ьДмыДдьЭ╝ьЭД ыбЬыУЬэХШыКФ ьЖНыПДъ░А ыздьЪ░ ыКРыж╜ыЛИыЛд. ьДЬы▓Д ьЭ┤ып╕ьзАые╝ ыМАьЛа ыбЬыУЬэХШыадый┤ ьЭ┤ ьДдьаХьЭД эЩЬьД▒эЩФэХШьД╕ьЪФ.",
|
||||
"advanced_settings_prefer_remote_subtitle": "ьЭ╝ы╢А ъ╕░ъ╕░ьЭШ ъ▓╜ьЪ░ ыбЬь╗м эХныкйьЧРьДЬ ьДмыДдьЭ╝ьЭД ыбЬыУЬэХШыКФ ьЖНыПДъ░А ыздьЪ░ ыКРыж╜ыЛИыЛд. ьДЬы▓Д ьЭ┤ып╕ьзАые╝ ыМАьЛа ыбЬыУЬэХШыадый┤ ьЭ┤ ьДдьаХьЭД эЩЬьД▒эЩФэХШьД╕ьЪФ.",
|
||||
"advanced_settings_prefer_remote_title": "ьДЬы▓Д ьЭ┤ып╕ьзА ьДаэШ╕",
|
||||
"advanced_settings_proxy_headers_subtitle": "ыДдэК╕ьЫМэБм ьЪФь▓ньЭД ы│┤ыВ╝ ыХМ Immichъ░А ьВмьЪйэХа эФДыбЭьЛЬ эЧдыНФые╝ ьаХьЭШэХйыЛИыЛд.",
|
||||
"advanced_settings_proxy_headers_title": "эФДыбЭьЛЬ эЧдыНФ",
|
||||
@@ -401,6 +421,9 @@
|
||||
"album_with_link_access": "ызБэБмъ░А ьЮИыКФ ъ▓╜ьЪ░ ыИДъ╡мыВШ ьЭ┤ ьХиы▓ФьЭШ ьВмьзДъ│╝ ьЭ╕ым╝ьЭД ы│╝ ьИШ ьЮИьК╡ыЛИыЛд.",
|
||||
"albums": "ьХиы▓Ф",
|
||||
"albums_count": "ьХиы▓Ф {count, plural, one {{count, number}ъ░Ь} other {{count, number}ъ░Ь}}",
|
||||
"albums_default_sort_order": "ъ╕░ы│╕ ьХиы▓Ф ьаХыам ьИЬьДЬ",
|
||||
"albums_default_sort_order_description": "ьГИ ьХиы▓ФьЭД ьГЭьД▒эХа ыХМ ъ╕░ы│╕ьаБьЬ╝ыбЬ эХныкйьЭД ьаХыамэХа ьИЬьДЬ.",
|
||||
"albums_feature_description": "ыЛдые╕ ьВмьЪйьЮРьЩА ъ│╡ьЬаэХа ьИШ ьЮИыКФ эХныкй ыкиьЭМ.",
|
||||
"all": "ыкиыСР",
|
||||
"all_albums": "ыкиыУа ьХиы▓Ф",
|
||||
"all_people": "ыкиыУа ьЭ╕ым╝",
|
||||
@@ -421,6 +444,7 @@
|
||||
"app_settings": "ьХ▒ ьДдьаХ",
|
||||
"appears_in": "ыЛдьЭМ ьХиы▓ФьЧР эПмэХиыРи",
|
||||
"archive": "ы│┤ъ┤АэХи",
|
||||
"archive_action_prompt": "ы│┤ъ┤АэХиьЧР {count}ъ░Ьъ░А ь╢Фъ░АыРШьЧИьК╡ыЛИыЛд.",
|
||||
"archive_or_unarchive_photo": "ы│┤ъ┤А ь▓Шыжм ыШРыКФ эХ┤ьаЬ",
|
||||
"archive_page_no_archived_assets": "ы│┤ъ┤АыРЬ эХныкй ьЧЖьЭМ",
|
||||
"archive_page_title": "ы│┤ъ┤АэХи ({count})",
|
||||
@@ -458,10 +482,12 @@
|
||||
"assets": "эХныкй",
|
||||
"assets_added_count": "{count, plural, one {#ъ░Ь} other {#ъ░Ь}} эХныкй ь╢Фъ░АыРи",
|
||||
"assets_added_to_album_count": "ьХиы▓ФьЧР эХныкй {count, plural, one {#ъ░Ь} other {#ъ░Ь}} ь╢Фъ░АыРи",
|
||||
"assets_added_to_name_count": "{hasName, select, true {<b>{name}</b>} other {ьГИ ьХиы▓Ф}}ьЧР эХныкй {count, plural, one {#ъ░Ь} other {#ъ░Ь}} ь╢Фъ░АыРи",
|
||||
"assets_cannot_be_added_to_album_count": "{count, plural, one {эХныкй} other {эХныкй}]ьЭ┤ ьХиы▓ФьЧР ь╢Фъ░АыРа ьИШ ьЧЖьК╡ыЛИыЛд.",
|
||||
"assets_count": "{count, plural, one {#ъ░Ь} other {#ъ░Ь}} эХныкй",
|
||||
"assets_deleted_permanently": "{count}ъ░Ь эХныкйьЭ┤ ьШБъ╡мьаБьЬ╝ыбЬ ьВньаЬыРи",
|
||||
"assets_deleted_permanently_from_server": "ьДЬы▓ДьЧРьДЬ эХныкй {count}ъ░Ьъ░А ьШБъ╡мьаБьЬ╝ыбЬ ьВньаЬыРи",
|
||||
"assets_downloaded_failed": "{count, plural, one {эММьЭ╝ #ъ░Ь ыЛдьЪ┤ыбЬыУЬ ьЩДыгМ - {error}ъ░Ь ьЛдэМи} other {эММьЭ╝ #ъ░Ь ыЛдьЪ┤ыбЬыУЬ ьЩДыгМ - {error}ъ░Ь ьЛдэМи}}",
|
||||
"assets_downloaded_successfully": "{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 {#ъ░Ь}}ые╝ ьаЬъ▒░эЦИьК╡ыЛИыЛд.",
|
||||
@@ -476,6 +502,7 @@
|
||||
"authorized_devices": "ьЭ╕ьжЭыРЬ ъ╕░ъ╕░",
|
||||
"automatic_endpoint_switching_subtitle": "ьзАьаХыРЬ Wi-Fiъ░А ьВмьЪй ъ░АыКеэХЬ ъ▓╜ьЪ░ ыВ┤ы╢АызЭьЭД эЖ╡эХ┤ ьЧ░ъ▓░эХШъ│а, ъ╖╕ыаЗьзА ьХКьЬ╝ый┤ ыЛдые╕ ьЧ░ъ▓░ ы░йьЛЭьЭД ьВмьЪйэХйыЛИыЛд.",
|
||||
"automatic_endpoint_switching_title": "ьЮРыПЩ URL ьаДэЩШ",
|
||||
"autoplay_slideshow": "ьКмыЭ╝ьЭ┤ыУЬ ьЗ╝ ьЮРыПЩ ьЮмьГЭ",
|
||||
"back": "ыТдыбЬ",
|
||||
"back_close_deselect": "ыТдыбЬ, ыЛлъ╕░, ьДаэГЭ ь╖иьЖМ",
|
||||
"background_location_permission": "ы░▒ъ╖╕ыЭ╝ьЪ┤ыУЬ ьЬДь╣Ш ъ╢МэХЬ",
|
||||
|
||||
+83
-16
@@ -14,6 +14,7 @@
|
||||
"add_a_location": "Prid─Чti vietov─Щ",
|
||||
"add_a_name": "Prid─Чti vard─Е",
|
||||
"add_a_title": "Prid─Чti pavadinim─Е",
|
||||
"add_endpoint": "Prid─Чti galutin─п ta┼бk─Е",
|
||||
"add_exclusion_pattern": "Prid─Чti i┼бim─Нi┼│ ┼бablon─Е",
|
||||
"add_import_path": "Prid─Чti importavimo keli─Е",
|
||||
"add_location": "Prid─Чti vietov─Щ",
|
||||
@@ -32,6 +33,8 @@
|
||||
"added_to_favorites": "Prid─Чta prie m─Чgstamiausi┼│",
|
||||
"added_to_favorites_count": "{count, plural, one {# prid─Чtas} few {# prid─Чti} other {# prid─Чta}} prie m─Чgstamiausi┼│",
|
||||
"admin": {
|
||||
"add_exclusion_pattern_description": "Prid─Чti i┼бim─Нi┼│ taisykl─Щs. Plaikomi simboliai *,**, ir ?. Ignoruoti bet kokius failus bet kuriame aplanke u┼╛vadintame \"Raw\", naudokite \"**/RAW/**\". Ignoravimui fail┼│ su pl─Чtiniu \".tif\", naudokite \"**/*.tiff\". Aplanko kelio nustatymams, naudokite \"/aplanko/kelias/ignoruoti/**\"",
|
||||
"admin_user": "Administratorius",
|
||||
"asset_offline_description": "┼аis i┼бorin─Чs bibliotekos elementas nebepasiekiamas diske ir buvo perkeltas ─п ┼бiuk┼бliad─Ч┼╛─Щ. Jei failas buvo perkeltas toje pa─Нioje bibliotekoje, laiko skal─Чje rasite nauj─Е atitinkam─Е element─Е. Jei norite ┼б─п element─Е atkurti, ─пsitikinkite, kad Immich gali pasiekti fail─Е ┼╛emiau nurodytu adresu, ir suvykdykite bibliotekos skenavim─Е.",
|
||||
"authentication_settings": "Autentifikavimo nustatymai",
|
||||
"authentication_settings_description": "Tvarkyti slapta┼╛od┼╛i┼│, OAuth ir kitus autentifikavimo nustatymus",
|
||||
@@ -42,8 +45,8 @@
|
||||
"backup_database_enable_description": "─оgalinti duomen┼│ baz─Чs i┼бklotin─Чs",
|
||||
"backup_keep_last_amount": "I┼бsaugom┼│ ankstesni┼│ duomen┼│ baz─Чs i┼бklotini┼│ skai─Нius",
|
||||
"backup_settings": "Duomen┼│ baz─Чs i┼бklotini┼│ nustatymai",
|
||||
"backup_settings_description": "Tvarkyti duomen┼│ baz─Чs i┼бklotin─Чs nustatymus. Pastaba: ┼аie darbai n─Чra stebimi ir jums nebus prane┼бta apie nes─Чkm─Щ.",
|
||||
"cleared_jobs": "I┼бvalyti darbai: {job}",
|
||||
"backup_settings_description": "Tvarkyti duomen┼│ baz─Чs i┼бklotin─Чs nustatymus. Pastaba: ┼бie darbai n─Чra stebimi ir jums nebus prane┼бta apie nes─Чkm─Щ.",
|
||||
"cleared_jobs": "I┼бvalytos u┼╛duotys u┼╛duo─Нiai: {job}",
|
||||
"config_set_by_file": "Konfig┼лracija nustatyta pagal konfig┼лracin─п fail─Е",
|
||||
"confirm_delete_library": "Ar tikrai norite i┼бtrinti {library} bibliotek─Е?",
|
||||
"confirm_delete_library_assets": "Ar tikrai norite i┼бtrinti ┼бi─Е bibliotek─Е? ┼аis veiksmas i┼бtrins {count, plural, one {# contained asset} other {all # contained assets}} i┼б Immich ir negali b┼лti gr─Е┼╛intas. Failai liks diske.",
|
||||
@@ -51,7 +54,7 @@
|
||||
"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─п?",
|
||||
"confirm_user_pin_code_reset": "Ar tikrai norite i┼б naujo nustatyti {user} PIN kod─Е?",
|
||||
"create_job": "Sukurti darb─Е",
|
||||
"create_job": "Sukurti u┼╛duot─п",
|
||||
"cron_expression": "Cron i┼бrai┼бka",
|
||||
"cron_expression_description": "Nustatyti skenavimo interval─Е naudojant cron format─Е. Nor─Чdami gauti daugiau informacijos ┼╛i┼лr─Чkite <link>Crontab Guru</link>",
|
||||
"cron_expression_presets": "I┼бankstiniai Cron nustatymai",
|
||||
@@ -62,15 +65,19 @@
|
||||
"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",
|
||||
"failed_job_command": "U┼╛duoties {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.",
|
||||
"image_format": "Formatas",
|
||||
"image_format_description": "WebP sukuria ma┼╛esnius failus nei JPEG, ta─Нiau l─Ч─Нiau juos apdoroja.",
|
||||
"image_fullsize_description": "Pilno dyd┼╛io nuotrauka be meta duomen┼│ naudojama priartinus",
|
||||
"image_fullsize_enabled": "─оgalinti pilno dyd┼╛io nuotrauk┼│ generavim─Е",
|
||||
"image_fullsize_enabled_description": "Generuoti viso dyd┼╛io vaizd─Е neinternetui pritaikytiems formatams. Kai ─пjungta parinktis тАЮPirmenyb─Ч ─пterptai per┼╛i┼лraiтАЬ, ─пterptosios per┼╛i┼лros naudojamos tiesiogiai be konvertavimo. Tai neturi ─пtakos internetui pritaikytiems formatams, pvz., JPEG",
|
||||
"image_fullsize_quality_description": "Pilno dyd┼╛io nuotrauk┼│ kokyb─Ч 1-100. Didesn─Ч yra geresn─Ч, ta─Нiau sukuria didesniu failus.",
|
||||
"image_fullsize_title": "Pilno dyd┼╛io nuotrauk┼│ Nustatymai",
|
||||
"image_prefer_embedded_preview": "Pageidautinai rodyti ─пterpt─Е per┼╛i┼лr─Е",
|
||||
"image_prefer_embedded_preview_setting_description": "Naudokite ─пterpt─Еsias per┼╛i┼лras RAW nuotraukose kaip ─пvest─п vaizd┼│ apdorojimui ir, jei ─пmanoma, tai gali suteikti tikslesnes kai kuri┼│ vaizd┼│ spalvas, ta─Нiau per┼╛i┼лros kokyb─Ч priklauso nuo fotoaparato, tod─Чl vaizde gali b┼лti daugiau glaudinimo artefakt┼│.",
|
||||
"image_prefer_wide_gamut": "Teikti pirmenyb─Щ pla─Нiai gamai",
|
||||
"image_prefer_wide_gamut_setting_description": "Miniati┼лroms naudokite тАЮDisplay P3тАЬ. Taip geriau i┼бsaugomas vaizd┼│, turin─Нi┼│ pla─Нias spalv┼│ erdves, ry┼бkumas, ta─Нiau senesniuose ─пrenginiuose su senesne nar┼бykl─Чs versija vaizdai gali atrodyti kitaip. sRGB vaizdai i┼бsaugomi kaip sRGB, kad b┼лt┼│ i┼бvengta spalv┼│ pasikeitimo.",
|
||||
"image_preview_description": "Vidutinio dyd┼╛io vaizdas su i┼бvalytais metaduomenimis, naudojamas kai ┼╛i┼лrimas vienas objektas arba ma┼бininiam mokymuisi",
|
||||
"image_preview_quality_description": "Per┼╛i┼лros kokyb─Ч nuo 1-100. Auk┼бtesn─Чs reik┼бm─Чs yra geriau, bet sukuriami didesni failai gali suma┼╛inti programos reagavimo laik─Е. Ma┼╛os vert─Чs nustatymas gali paveikti ma┼бininio mokymo kokyb─Щ.",
|
||||
"image_preview_title": "Per┼╛i┼лros nustatymai",
|
||||
@@ -83,11 +90,11 @@
|
||||
"image_thumbnail_quality_description": "Miniati┼лros kokyb─Ч nuo 1-100. Auk┼бtesn─Чs reik┼бm─Чs yra geriau, bet pagaminami didesni failai ir gali b┼лti sul─Чtintas programos reagavimo greitis.",
|
||||
"image_thumbnail_title": "Miniati┼лros nustatymai",
|
||||
"job_concurrency": "{job} lygiagretumas",
|
||||
"job_created": "Darbas sukurtas",
|
||||
"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",
|
||||
"job_created": "U┼╛duotis sukurta",
|
||||
"job_not_concurrency_safe": "┼аi u┼╛duotis n─Чra saugi apdoroti lygiagre─Нiai.",
|
||||
"job_settings": "U┼╛duo─Нi┼│ nustatymai",
|
||||
"job_settings_description": "Keisti u┼╛duo─Нi┼│ lygiagretum─Е",
|
||||
"job_status": "U┼╛duo─Нi┼│ b┼лsenos",
|
||||
"library_created": "Sukurta biblioteka: {library}",
|
||||
"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.",
|
||||
@@ -104,6 +111,7 @@
|
||||
"logging_level_description": "─оjungus, kok─п ┼╛urnalo vedimo lyg─п naudot.",
|
||||
"logging_settings": "┼╜urnalo vedimas",
|
||||
"machine_learning_clip_model": "CLIP modelis",
|
||||
"machine_learning_clip_model_description": "Pavadinimas CLIP modelio ─пvardintio <link>here</link>. D─Чmesio, kei─Нiant model─п j┼лs privalote i┼б naujo paleisti 'I┼бmaniosios Paie┼бkos' u┼╛duot─п visiems vaizdams.",
|
||||
"machine_learning_duplicate_detection": "Dublikat┼│ aptikimas",
|
||||
"machine_learning_duplicate_detection_enabled": "─оjungti dublikat┼│ aptikim─Е",
|
||||
"machine_learning_duplicate_detection_enabled_description": "Jei i┼бjungta, visi┼бkai identi┼бki elementai vis tiek bus deduplikuoti.",
|
||||
@@ -113,12 +121,15 @@
|
||||
"machine_learning_facial_recognition": "Veid┼│ atpa┼╛inimas",
|
||||
"machine_learning_facial_recognition_description": "Aptikti, atpa┼╛inti ir sugrupuoti veidus nuotraukose",
|
||||
"machine_learning_facial_recognition_model": "Veid┼│ atpa┼╛inimo modelis",
|
||||
"machine_learning_facial_recognition_model_description": "Modeliai i┼бvardinti apimties ma┼╛─Чjan─Нia tvarka. Didieji modeliai yra l─Чti ir naudoja daugiau atminties, ta─Нiau sukuria geresnius rezultatus. Pastebime kad kei─Нiant model─п j┼лs turite i┼б naujo paleisti Veid┼│ Atpa┼╛inimo u┼╛duot─п visiems vaizdams.",
|
||||
"machine_learning_facial_recognition_setting": "─оgalinti veid┼│ atpa┼╛inim─Е",
|
||||
"machine_learning_facial_recognition_setting_description": "I┼бjungus, vaizdai nebus u┼╛┼бifruoti veid┼│ atpa┼╛inimui ir nebus naudojami ┼╜moni┼│ sekcijoje Nar┼бymo puslapyje.",
|
||||
"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": "Did┼╛iausias skirtumas tarp veid┼│, kad b┼лt┼│ u┼╛skaityti kaip vienas ir tas pats asmuo, r─Ч┼╛is nuo 0-2. Ma┼╛inant tai gali apsaugoti nuo dviej┼│ ┼╛moni┼│ ┼╛ym─Чjimo tuo pa─Нiu asmeniu, didinant tai gali apsaugoti nuo to pa─Нio asmens ┼╛ym─Чjimo kaip du skirtingus ┼╛mones. Pastebime kad yra papras─Нiau apjungti keli┼│ ┼╛moni┼│ modelius ─п vien─Е nei vien─Е i┼бdalinti ─п du, taigi kai ─пmanoma geriau naudoti ma┼╛ens─Щ rib─Е.",
|
||||
"machine_learning_min_detection_score": "Minimalus aptikimo balas",
|
||||
"machine_learning_min_detection_score_description": "Minimalus u┼╛tikrintumo balas veido aptikimui nuo 0-1. Ma┼╛esn─Ч reik┼бm─Ч aptiks daugiau veid┼│ ta─Нiau bus ir daugiau klaiding┼│ teigiam┼│ re┼╛ultat┼│.",
|
||||
"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",
|
||||
@@ -151,10 +162,14 @@
|
||||
"metadata_faces_import_setting_description": "Importuoti veidus i┼б vaizdo EXIF duomen┼│ ir papildom┼│ fail┼│",
|
||||
"metadata_settings": "Metaduomen┼│ nustatymai",
|
||||
"metadata_settings_description": "Tvarkyti metaduomen┼│ nustatymus",
|
||||
"migration_job": "Migracija",
|
||||
"migration_job": "Tvarkymas",
|
||||
"migration_job_description": "Pertvarkyt─п turinio ir veid┼│ miniati┼лras pagal nauj─Е strukt┼лr─Е",
|
||||
"nightly_tasks_cluster_faces_setting_description": "Paleisti veido atpa┼╛inim─Е naujai aptiktiems veidams",
|
||||
"nightly_tasks_cluster_new_faces_setting": "Sugrupuoti naujus veidus",
|
||||
"nightly_tasks_database_cleanup_setting": "Duomen┼│ baz─Чs valymo darbai",
|
||||
"no_paths_added": "Keliai neprid─Чti",
|
||||
"no_pattern_added": "┼аablonas neprid─Чtas",
|
||||
"note_apply_storage_label_previous_assets": "Pastaba: nor─Чdami pritaikyti saugyklos etiket─Щ seniau ─пkeltiems i┼бtekliams, paleiskite",
|
||||
"note_apply_storage_label_previous_assets": "Pastaba: nor─Чdami pritaikyti Saugyklos ┼╜ym─Е seniau ─пkeltiems i┼бtekliams, paleiskite",
|
||||
"note_cannot_be_changed_later": "PASTABA: V─Чliau to pakeisti negalima!",
|
||||
"notification_email_from_address": "I┼б adreso",
|
||||
"notification_email_from_address_description": "Siunt─Чjo elektroninis adresas, pavyzd┼╛iui: \"Immich Photo Server <noreply@example.com>\"",
|
||||
@@ -177,20 +192,29 @@
|
||||
"oauth_auto_register": "Automatinis registravimas",
|
||||
"oauth_auto_register_description": "Automati┼бkai u┼╛registruoti naujus naudotojus po prisijungimo per OAuth",
|
||||
"oauth_button_text": "Mygtuko tekstas",
|
||||
"oauth_client_secret_description": "Privalomas jei PKCE (Proof Key for Code Exchange) nepalaikomas pagal OAuth tiek─Чj─Е",
|
||||
"oauth_enable_description": "Prisijungti su OAuth",
|
||||
"oauth_mobile_redirect_uri": "Mobiliojo peradresavimo URI",
|
||||
"oauth_mobile_redirect_uri_override": "Mobiliojo peradresavimo URI pakeitimas",
|
||||
"oauth_mobile_redirect_uri_override_description": "─оjunkite, kai OAuth teik─Чjas nepalaiko mobiliojo URI, tokio kaip ''{callback}''",
|
||||
"oauth_role_claim": "Rol─Чs Tvirtinimas",
|
||||
"oauth_role_claim_description": "Suteikti admin teises automati┼бkai pagal ┼бios rol─Чs tvirtinimo buvim─Е. Tvirtinimas gali tur─Чti priskirtus arba 'vartotoj─Е' arba 'admin'.",
|
||||
"oauth_settings": "OAuth",
|
||||
"oauth_settings_description": "Tvarkyti OAuth prisijungimo nustatymus",
|
||||
"oauth_settings_more_details": "Detaliau apie ┼бi─Е funkcij─Е galite paskaityti <link>dokumentacijoje</link>.",
|
||||
"oauth_storage_label_claim": "Saugyklos ┼╜yma pagal tvirtinim─Е",
|
||||
"oauth_storage_label_claim_description": "Priskirti Saugyklos ┼╜ym─Е automati┼бkai pagal reik┼бm─Щ vartotojo tvirtinime.",
|
||||
"oauth_storage_quota_claim": "Saugyklos apimties tvirtinimas",
|
||||
"oauth_storage_quota_claim_description": "Priskirti vartotojo saugyklos apimties kvot─Е automati┼бkai pagal ┼бio tvirtinimo reik┼бm─Щ.",
|
||||
"oauth_storage_quota_default": "Numatyta atminties kvota (GiB)",
|
||||
"oauth_storage_quota_default_description": "Nustatoma appimties kvota GiB kai n─Чra nurodyta tvirtinime.",
|
||||
"oauth_timeout": "U┼╛klausa vir┼бijo laiko limit─Е",
|
||||
"oauth_timeout_description": "Laiko limitas u┼╛klausoms milisekund─Чmis",
|
||||
"password_enable_description": "Prisijungti su el. pa┼бtu ir slapta┼╛od┼╛iu",
|
||||
"password_settings": "Prisijungimas slapta┼╛od┼╛iu",
|
||||
"password_settings_description": "Tvarkyti prisijungimo slapta┼╛od┼╛iu nustatymus",
|
||||
"paths_validated_successfully": "Visi keliai patvirtinti s─Чkmingai",
|
||||
"person_cleanup_job": "I┼бvalyti asmenis",
|
||||
"quota_size_gib": "Kvotos dydis (GiB)",
|
||||
"refreshing_all_libraries": "Perkraunamos visos bibliotekos",
|
||||
"registration": "Administratoriaus registracija",
|
||||
@@ -199,7 +223,7 @@
|
||||
"reset_settings_to_default": "Atstatyti nustatymus ─п numatytuosius",
|
||||
"reset_settings_to_recent_saved": "Nustatym┼│ atstatymas ─п neseniai i┼бsaugotus nustatymus",
|
||||
"scanning_library": "Biblioteka skenuojama",
|
||||
"search_jobs": "Ie┼бkoma darb┼│тАж",
|
||||
"search_jobs": "Ie┼бkoma u┼╛duo─Нi┼│тАж",
|
||||
"send_welcome_email": "Si┼│sti sveikinimo el. lai┼бk─Е",
|
||||
"server_external_domain_settings": "I┼бorinis domenas",
|
||||
"server_external_domain_settings_description": "Bendrinimo nuorod┼│ domenas, ─пskaitant http(s)://",
|
||||
@@ -209,19 +233,36 @@
|
||||
"server_settings_description": "Tvarkyti serverio nustatymus",
|
||||
"server_welcome_message": "Sveikinimo prane┼бimas",
|
||||
"server_welcome_message_description": "┼╜inut─Ч, rodoma prisijungimo puslapyje.",
|
||||
"sidecar_job": "Sidecar metaduomenys",
|
||||
"sidecar_job_description": "Aptikti ar sinchronizuoti sidecar metaduomenis i┼б fail┼│ sistemos",
|
||||
"slideshow_duration_description": "Sekund┼╛i┼│ skai─Нius, kiek viena nuotrauka rodoma",
|
||||
"smart_search_job_description": "Vykdykite ma┼бinin─п mokym─Еsi bibliotekos element┼│ i┼бmaniajai paie┼бkai",
|
||||
"storage_template_date_time_description": "Elemento suk┼лrimo laiko ┼╛ym─Ч yra naudojama laiko informacijai",
|
||||
"storage_template_date_time_sample": "Pavyzdinis laikas {date}",
|
||||
"storage_template_enable_description": "Aktyvuoti saugyklos ┼бablon─Е",
|
||||
"storage_template_hash_verification_enabled": "Aktyvuoti Hash tikrinim─Е",
|
||||
"storage_template_hash_verification_enabled_description": "Aktyvuojamas Hash tikrinimas, nei┼бjungti nebent gerai suprantate galimas pasekmes",
|
||||
"storage_template_migration": "Saugyklos tvarkymas pagal ┼бablon─Е",
|
||||
"storage_template_migration_description": "Taikyti dabartin─п <link>{template}</link> anks─Нiau ─пkeltiems duomenims",
|
||||
"storage_template_migration_info": "Saugyklos tvarkykl─Ч konvertuos visus pl─Чtinius ma┼╛osiomis raid─Чmis. ┼аablonas bus taikomas tik naujiems duomenims. Taikyti ┼бablon─Е retroaktyviai anks─Нiau ─пkeltiems duomenims, paleiskite ┼бi─Е <link>{job}</link>.",
|
||||
"storage_template_migration_job": "Saugyklos Tvarkymo Pagal ┼аablon─Е U┼╛duotis",
|
||||
"storage_template_more_details": "Daugiau detali┼│ apie ┼бi─Е funkcij─Е, atsi┼╛velkite ─п <template-link>Storage Template</template-link> ir jo galimus <implications-link>implications</implications-link>",
|
||||
"storage_template_onboarding_description_v2": "Kai aktyvuota, ┼бi funkcija automati┼бkai sukurs failus pagal vartotojo-nustatyt─Е ┼бablon─Е. Daugiau informacijos, pra┼бome skaityti <link>documentation</link>.",
|
||||
"storage_template_path_length": "Preliminarus strukt┼лros kelio ilgis/limitas:<b>{length, number}</b>/{limit, number}",
|
||||
"storage_template_settings": "Saugyklos ┼аablonas",
|
||||
"storage_template_settings_description": "Tvarkyti aplank┼│ strukt┼лr─Е bei fail┼│ pavadinimus ─пkeliamiems duomenims",
|
||||
"storage_template_user_label": "<code>{label}</code> yra vartotojo Saugyklos ┼╜ym─Е",
|
||||
"system_settings": "Sistemos nustatymai",
|
||||
"tag_cleanup_job": "┼╜ym┼│ i┼бvalymas",
|
||||
"template_email_available_tags": "Savo ┼бablone galite naudoti nurodytas kintamas reik┼бmes:{tags}",
|
||||
"template_email_if_empty": "Jei ┼бablone tu┼б─Нia reik┼бm─Ч, bus naudojamas numatytas pagal nutyl─Чjim─Е El. pa┼бto adresas.",
|
||||
"template_email_preview": "Per┼╛i┼лra",
|
||||
"template_email_settings": "El. pa┼бto ┼аablonai",
|
||||
"template_settings": "Prane┼бim┼│ ┼бablonai",
|
||||
"template_settings_description": "Tvarkyti pasirinktinius prane┼бim┼│ ┼бablonus",
|
||||
"theme_custom_css_settings": "Individualizuotas CSS",
|
||||
"theme_settings": "Temos nustatymai",
|
||||
"thumbnail_generation_job": "Generuoti miniati┼лras",
|
||||
"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",
|
||||
"transcoding_acceleration_api": "Spartinimo API",
|
||||
"transcoding_acceleration_nvenc": "NVENC (reikalinga NVIDIA GPU)",
|
||||
@@ -233,16 +274,21 @@
|
||||
"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_rate_factor_description": "Video kokyb─Чs lygis. Tipin─Чs reik┼бm─Чs yra 23 jei H.264, 28 jei HVEC, 31 jei VP9, ir 35 jei AV1. Kuo ma┼╛esnis tuo kokybi┼бkesnis ta─Нiau didesni failai.",
|
||||
"transcoding_hardware_acceleration": "Technin─Чs ─пrangos spartinimas",
|
||||
"transcoding_hardware_decoding": "Aparatinis dekodavimas",
|
||||
"transcoding_max_bitrate": "Maksimalus bit┼│ srautas",
|
||||
"transcoding_max_bitrate_description": "Pasirenkant max bitrate galima pasiekti labiau nusp─Чjam─Е fail┼│ dyd─п su minimaliais kokyb─Чs praradimais. Prie 720p, tipin─Чs reik┼бm─Чs yra 2600 kbits/s jei BP9 ar HVEC, arba 4500 kbits/s jei H.264. Neveiksnus jei pasirenkamas 0.",
|
||||
"transcoding_preset_preset_description": "Kompresijos greitis. Siekiant tam tikro bitrate l─Чtesnis apdorojimas lems ma┼╛esnius fail┼│ dyd┼╛ius ir padidins kokyb─Щ. VP9 ignoruos grei─Нius vir┼б \"gretesnis\" lygio.",
|
||||
"transcoding_target_resolution_description": "Didesn─Чs skiriamosios gebos gali i┼бsaugoti daugiau detali┼│, ta─Нiau jas koduoti u┼╛trunka ilgiau, fail┼│ dyd┼╛iai yra didesni ir gali suma┼╛─Чti programos jautrumas.",
|
||||
"transcoding_video_codec": "Video kodekas",
|
||||
"trash_enabled_description": "─оgalinti ┼бiuk┼бliad─Ч┼╛─Чs funkcijas",
|
||||
"trash_number_of_days": "Dien┼│ skai─Нius",
|
||||
"trash_settings": "┼аiuk┼бliad─Ч┼╛─Чs nustatymai",
|
||||
"trash_settings_description": "Tvarkyti ┼бiuk┼бliad─Ч┼╛─Чs nustatymus",
|
||||
"user_cleanup_job": "Vartotoj┼│ i┼бvalymas",
|
||||
"user_delete_delay_settings": "I┼бtrynimo delsa",
|
||||
"user_delete_delay_settings_description": "Skai─Нius dien┼│ po i┼бtrynimo kuomet vartotojo paskyr─Е ir susij─Щ duomenys bus negra┼╛inamai i┼бtrinti. Vartotojo Trynimo u┼╛duotis paleid┼╛iama vidurnakt─п ir tikrina kurie vartotojai gali b┼лti trinami. ┼аio nustatymo pakeitimai bus naudojami sekan─Нio u┼╛duoties paleidimo metu.",
|
||||
"user_management": "Naudotoj┼│ valdymas",
|
||||
"user_password_has_been_reset": "Naudotojo slapta┼╛odis buvo i┼б naujo nustatytas:",
|
||||
"user_restore_description": "Naudotojo <b>{user}</b> paskyra bus atkurta.",
|
||||
@@ -305,7 +351,6 @@
|
||||
"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 {<b>{name}</b>} 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",
|
||||
@@ -316,7 +361,11 @@
|
||||
"authorized_devices": "Autorizuoti ─пrenginiai",
|
||||
"back": "Atgal",
|
||||
"back_close_deselect": "Atgal, u┼╛daryti arba at┼╛ym─Чti",
|
||||
"backup_background_service_current_upload_notification": "─оkeliamas {filename}",
|
||||
"backup_background_service_upload_failure_notification": "Nepavyko ─пkelti {filename}",
|
||||
"backup_controller_page_background_wifi": "Only on WiFi",
|
||||
"backup_controller_page_filename": "Failo pavadinimas: {filename}[{size}]",
|
||||
"backup_controller_page_uploading_file_info": "─оkeliama failo info",
|
||||
"birthdate_saved": "S─Чkmingai i┼бsaugota gimimo data",
|
||||
"blurred_background": "Nery┼бkus fonas",
|
||||
"bugs_and_feature_requests": "Klaid┼│ ir funkcij┼│ u┼╛klausos",
|
||||
@@ -345,6 +394,7 @@
|
||||
"clear_all": "I┼бvalyti visk─Е",
|
||||
"clear_message": "I┼бvalyti prane┼бim─Е",
|
||||
"clear_value": "I┼бvalyti reik┼бm─Щ",
|
||||
"client_cert_invalid_msg": "Netinkamas sertifikato failas arba neteisingas slapta┼╛odis",
|
||||
"close": "U┼╛daryti",
|
||||
"collapse": "Suskleisti",
|
||||
"collapse_all": "Suskleisti visk─Е",
|
||||
@@ -420,8 +470,11 @@
|
||||
"do_not_show_again": "Daugiau nerodyti ┼бio prane┼бimo",
|
||||
"documentation": "Dokumentacija",
|
||||
"download": "Atsisi┼│sti",
|
||||
"download_include_embedded_motion_videos_description": "Prid─Чti prie judesio nuotrauk┼│ ─пterptus video kaip atskir─Е fail─Е",
|
||||
"download_settings": "Atsisi┼│sti",
|
||||
"downloading": "Siun─Нiama",
|
||||
"downloading_asset_filename": "Parsisiun─Нiamas resursas {filename}",
|
||||
"drop_files_to_upload": "U┼╛kelkite failus bet kurioje vietoje kad ─пkeltum─Чte",
|
||||
"duplicates": "Dublikatai",
|
||||
"duplicates_description": "Sutvarkykite kiekvien─Е element┼│ grup─Щ nurodydami elementus, kurie yra dublikatai (jei toki┼│ yra)",
|
||||
"duration": "Trukm─Ч",
|
||||
@@ -493,6 +546,7 @@
|
||||
"unable_to_delete_import_path": "Nepavyksta i┼бtrinti importavimo kelio",
|
||||
"unable_to_delete_shared_link": "Nepavyko i┼бtrinti bendrinimo nuorodos",
|
||||
"unable_to_delete_user": "Nepavyksta i┼бtrinti naudotojo",
|
||||
"unable_to_download_files": "Nepavyksta atsisi┼│sti fail┼│",
|
||||
"unable_to_edit_exclusion_pattern": "Nepavyksta redaguoti i┼бim─Нi┼│ ┼бablono",
|
||||
"unable_to_edit_import_path": "Nepavyksta redaguoti i┼бim─Нi┼│ kelio",
|
||||
"unable_to_enter_fullscreen": "Nepavyksta pereiti ─п viso ekrano re┼╛im─Е",
|
||||
@@ -517,6 +571,7 @@
|
||||
"unable_to_scan_library": "Nepavyksta nuskaityti bibliotekos",
|
||||
"unable_to_set_feature_photo": "Nepavyksta nustatyti m─Чgstamiausios nuotraukos",
|
||||
"unable_to_set_profile_picture": "Nepavyksta nustatyti profilio nuotraukos",
|
||||
"unable_to_submit_job": "Napvyko sukurti u┼╛duoties",
|
||||
"unable_to_trash_asset": "Nepavyko perkelti ─п ┼бiuk┼бliad─Ч┼╛─Щ",
|
||||
"unable_to_upload_file": "Nepavyksta ─пkelti failo"
|
||||
},
|
||||
@@ -539,6 +594,7 @@
|
||||
"features_setting_description": "Valdyti aplikacijos funkcijas",
|
||||
"file_name": "Failo pavadinimas",
|
||||
"file_name_or_extension": "Failo pavadinimas arba pl─Чtinys",
|
||||
"filename": "Failopavadinimas",
|
||||
"filetype": "Failo tipas",
|
||||
"filter_people": "Filtruoti ┼╛mones",
|
||||
"folders": "Aplankai",
|
||||
@@ -574,8 +630,9 @@
|
||||
},
|
||||
"invite_people": "Kviesti ┼╛mones",
|
||||
"invite_to_album": "Pakviesti ─п album─Е",
|
||||
"ios_debug_info_no_sync_yet": "Jokia background sync u┼╛duotis dar nebuvo paleista",
|
||||
"items_count": "{count, plural, one {# elementas} few {# elementai} other {# element┼│}}",
|
||||
"jobs": "Darbai",
|
||||
"jobs": "U┼╛duotys",
|
||||
"keep": "Palikti",
|
||||
"keep_all": "Palikti visus",
|
||||
"keyboard_shortcuts": "Spartieji klaviat┼лros klavi┼бai",
|
||||
@@ -660,6 +717,7 @@
|
||||
"no_results": "Nerasta",
|
||||
"no_results_description": "Pabandykite sinonim─Е arba bendresn─п rakta┼╛od─п",
|
||||
"not_in_any_album": "N─Ч viename albume",
|
||||
"note_apply_storage_label_to_previously_uploaded assets": "Pastaba: Priskirti Saugyklos ┼╜ym─Е prie ank─Нiau ─пkelt┼│ i┼бtekliu, paleiskite ┼б─п",
|
||||
"notes": "Pastabos",
|
||||
"notification_toggle_setting_description": "─оjungti el. pa┼бto prane┼бimus",
|
||||
"notifications": "Prane┼бimai",
|
||||
@@ -707,6 +765,14 @@
|
||||
"place": "Vieta",
|
||||
"places": "Vietos",
|
||||
"play_memories": "Leisti atsiminimus",
|
||||
"profile": "Profilis",
|
||||
"profile_drawer_app_logs": "Logai",
|
||||
"profile_drawer_client_out_of_date_major": "Mobili aplikacija jau pasenusios versijos. Pra┼бome atsinaujinti ─п paskutin─Щ did┼╛i─Еj─Е versij─Е.",
|
||||
"profile_drawer_client_out_of_date_minor": "Mobili aplikacija jau pasenusios versijos. Pra┼бome atsinaujinti ─п paskutin─Щ ma┼╛─Еj─Е versij─Е.",
|
||||
"profile_drawer_client_server_up_to_date": "Klientas ir Serveris yra atnaujinti",
|
||||
"profile_drawer_github": "GitHub",
|
||||
"profile_drawer_server_out_of_date_major": "Serveris jau yra pasenusios versijos. Pra┼бome atsinaujinti ─п paskutin─Щ did┼╛i─Еj─Е versij─Е.",
|
||||
"profile_drawer_server_out_of_date_minor": "Serveris jau yra pasenusios versijos. Pra┼бome atsinaujinti ─п paskutin─Щ ma┼╛─Еj─Е versij─Е.",
|
||||
"profile_image_of_user": "{user} profilio nuotrauka",
|
||||
"profile_picture_set": "Profilio nuotrauka nustatyta.",
|
||||
"public_album": "Vie┼бas albumas",
|
||||
@@ -893,7 +959,7 @@
|
||||
"show_albums": "Rodyti albumus",
|
||||
"show_all_people": "Rodyti visus asmenis",
|
||||
"show_and_hide_people": "Rodyti ir pasl─Чpti ┼╛mones",
|
||||
"show_file_location": "Rodyti rinkmenos viet─Е",
|
||||
"show_file_location": "Rodyti failo viet─Е",
|
||||
"show_gallery": "Rodyti galerij─Е",
|
||||
"show_hidden_people": "Rodyti pasl─Чptus asmenis",
|
||||
"show_in_timeline": "Rodyti laiko skal─Чje",
|
||||
@@ -936,6 +1002,7 @@
|
||||
"status": "Statusas",
|
||||
"stop_casting": "Nutraukti transliavim─Е",
|
||||
"storage": "Saugykla",
|
||||
"storage_label": "Saugyklos ┼╜yma",
|
||||
"storage_usage": "Naudojama {used} i┼б {available}",
|
||||
"submit": "Pateikti",
|
||||
"suggestions": "Pasi┼лlymai",
|
||||
|
||||
+84
-1
@@ -88,11 +88,14 @@
|
||||
"machine_learning_url_description": "Ma┼б─лnm─Бc─л┼бan─Бs servera URL",
|
||||
"manage_concurrency": "Vienlaic─лgas darb─лbas p─Бrvald─лba",
|
||||
"manage_log_settings": "┼╜urn─Бla iestat─лjumu p─Бrvald─лba",
|
||||
"map_dark_style": "Tum┼бais stils",
|
||||
"map_gps_settings": "Kartes un GPS iestat─лjumi",
|
||||
"map_gps_settings_description": "Kar┼бu un GPS (apgriezt─Бs ─гeokod─У┼бanas) iestat─лjumu p─Бrvald─лba",
|
||||
"map_light_style": "Gai┼бais stils",
|
||||
"map_manage_reverse_geocoding_settings": "<link>Revers─Бs ─гeokod─У┼бanas</link> iestat─лjumu p─Бrvald─лba",
|
||||
"map_settings": "Karte",
|
||||
"map_settings_description": "Kartes iestat─лjumu p─Бrvald─лba",
|
||||
"map_style_description": "URL uz style.json kartes t─Уmu",
|
||||
"metadata_extraction_job": "Metadatu ieg┼л┼бana",
|
||||
"metadata_settings": "Metadatu iestat─лjumi",
|
||||
"metadata_settings_description": "Metadatu iestat─лjumu p─Бrvald─лba",
|
||||
@@ -110,6 +113,10 @@
|
||||
"notification_email_test_email_sent": "Uz {email} ir nos┼лt─лts testa e-pasts. L┼лdzu, p─Бrbaudi savu ies┼лtni.",
|
||||
"notification_settings": "Pazi┼Жojumu iestat─лjumi",
|
||||
"notification_settings_description": "Pazi┼Жojumu iestat─лjumu, tostarp e-pasta, p─Бrvald─лba",
|
||||
"oauth_auto_launch": "Palaist autom─Бtiski",
|
||||
"oauth_auto_launch_description": "Pie navig─Бcijas uz piesl─Уg┼бan─Бs lapu autom─Бtiski uzs─Бkt OAuth piesl─Уg┼бan─Бs pl┼лsmu",
|
||||
"oauth_auto_register": "Autom─Бtiska re─гistr─Бcija",
|
||||
"oauth_auto_register_description": "P─Уc piesl─Уg┼бan─Бs ar OAuth autom─Бtiski re─гistr─Уt jaunus lietot─Бjus",
|
||||
"oauth_button_text": "Pogas teksts",
|
||||
"oauth_enable_description": "Piesl─Уgties ar OAuth",
|
||||
"oauth_settings": "OAuth",
|
||||
@@ -124,6 +131,7 @@
|
||||
"require_password_change_on_login": "Piepras─лt lietot─Бjam main─лt paroli p─Уc pirm─Бs pieteik┼бan─Бs",
|
||||
"scanning_library": "Sken─У bibliot─Уku",
|
||||
"search_jobs": "Mekl─Уt uzdevumusтАж",
|
||||
"server_public_users": "Publiski lietot─Бji",
|
||||
"server_settings": "Servera iestat─лjumi",
|
||||
"server_settings_description": "Servera iestat─лjumu p─Бrvald─лba",
|
||||
"server_welcome_message": "Sveiciena zi┼Жa",
|
||||
@@ -134,7 +142,12 @@
|
||||
"storage_template_path_length": "Aptuvenais ce─╝a garuma ierobe┼╛ojums: <b>{length, number}</b>/{limit, number}",
|
||||
"storage_template_settings": "Kr─Бtuves veidne",
|
||||
"system_settings": "Sist─Уmas iestat─лjumi",
|
||||
"template_email_available_tags": "Sagatav─У var izmantot ┼бos main─лgos: {tags}",
|
||||
"template_email_if_empty": "Ja sagatave ir tuk┼бa, tiks izmantots noklus─Уjuma e-pasts.",
|
||||
"template_email_invite_album": "Albuma iel┼лguma sagatave",
|
||||
"template_email_preview": "Priek┼бskat─лjums",
|
||||
"template_email_settings": "E-pasta sagataves",
|
||||
"template_email_update_album": "Atjaunin─Бt albuma sagatavi",
|
||||
"template_settings_description": "Piel─Бgotu pazi┼Жojumu veid┼Жu p─Бrvald─лba",
|
||||
"theme_custom_css_settings": "Piel─Бgots CSS",
|
||||
"theme_custom_css_settings_description": "Cascading Style Sheets ─╝auj piel─Бgot Immich izskatu.",
|
||||
@@ -219,7 +232,9 @@
|
||||
"are_these_the_same_person": "Vai ┼б─л ir t─Б pati persona?",
|
||||
"asset_action_delete_err_read_only": "Nevar dz─Уst read only akt─лvu(-s), notiek izlai┼бana",
|
||||
"asset_action_share_err_offline": "Nevar ieg┼лt bezsaistes akt─лvu(-s), notiek izlai┼бana",
|
||||
"asset_added_to_album": "Pievienots albumam",
|
||||
"asset_adding_to_album": "Pievieno albumamтАж",
|
||||
"asset_description_updated": "Faila apraksts ir atjaunin─Бts",
|
||||
"asset_list_group_by_sub_title": "Grup─Уt p─Уc",
|
||||
"asset_list_layout_settings_dynamic_layout_title": "Dinamiskais izk─Бrtojums",
|
||||
"asset_list_layout_settings_group_automatically": "Autom─Бtiski",
|
||||
@@ -228,6 +243,7 @@
|
||||
"asset_list_layout_sub_title": "Izvietojums",
|
||||
"asset_list_settings_subtitle": "Fotore┼╛─гa izk─Бrtojuma iestat─лjumi",
|
||||
"asset_list_settings_title": "Fotore┼╛─гis",
|
||||
"asset_uploaded": "Aug┼бupiel─Бd─Уts",
|
||||
"asset_uploading": "Aug┼бupiel─Бd─УтАж",
|
||||
"asset_viewer_settings_title": "Akt─лvu Skat─лt─Бjs",
|
||||
"assets": "akt─лvi",
|
||||
@@ -339,6 +355,7 @@
|
||||
"clear": "Not─лr─лt",
|
||||
"clear_all": "Not─лr─лt visu",
|
||||
"clear_value": "Not─лr─лt v─Уrt─лbu",
|
||||
"client_cert_subtitle": "Atbalsta tikai PKCS12 (.p12, .pfx) form─Бtu. Sertifik─Бtu import─У┼бana/no┼Жem┼бana ir pieejama tikai pirms piesl─Уg┼бan─Бs",
|
||||
"client_cert_title": "SSL klienta sertifik─Бts",
|
||||
"clockwise": "Pulkste┼Жr─Бd─лt─Бja virzien─Б",
|
||||
"close": "Aizv─Уrt",
|
||||
@@ -468,6 +485,7 @@
|
||||
"cant_get_faces": "Nevar ieg┼лt sejas",
|
||||
"cant_search_people": "Neizdev─Бs veikt peronu mekl─У┼бanu",
|
||||
"failed_to_create_album": "Neizdev─Бs izveidot albumu",
|
||||
"profile_picture_transparent_pixels": "Profila att─Уlos nevar b┼лt caursp─лd─лgi pikse─╝i. L┼лdzu, palielini un/vai p─Бrvieto att─Уlu.",
|
||||
"unable_to_change_description": "Neizdev─Бs nomain─лt aprakstu",
|
||||
"unable_to_create_user": "Neizdev─Бs izveidot lietot─Бju",
|
||||
"unable_to_delete_user": "Neizdev─Бs dz─Уst lietot─Бju",
|
||||
@@ -504,7 +522,11 @@
|
||||
"features_setting_description": "Lietotnes funkciju p─Бrvald─лba",
|
||||
"filename": "Faila nosaukums",
|
||||
"filetype": "Faila tips",
|
||||
"folder": "Mape",
|
||||
"folder_not_found": "Mape nav atrasta",
|
||||
"folders": "Mapes",
|
||||
"gcast_enabled": "Google Cast",
|
||||
"get_help": "Sa┼Жemt pal─лdz─лbu",
|
||||
"haptic_feedback_switch": "Iestat─лt haptisku reakciju",
|
||||
"haptic_feedback_title": "Haptiska Reakcija",
|
||||
"has_quota": "Ir kvota",
|
||||
@@ -529,10 +551,12 @@
|
||||
"hour": "Stunda",
|
||||
"id": "ID",
|
||||
"image": "Att─Уls",
|
||||
"image_saved_successfully": "Att─Уls saglab─Бts",
|
||||
"image_viewer_page_state_provider_download_started": "Lejupiel─Бde Uzs─Бkta",
|
||||
"image_viewer_page_state_provider_download_success": "Lejupiel─Бde izdev─Бs",
|
||||
"image_viewer_page_state_provider_share_error": "Kop─лgo┼бanas K─╝┼лda",
|
||||
"immich_logo": "Immich logo",
|
||||
"immich_web_interface": "Immich t─лmek─╝a saskarne",
|
||||
"import_from_json": "Import─Уt no JSON",
|
||||
"import_path": "Importa ce─╝┼б",
|
||||
"in_albums": "{count, plural, one {# album─Б} other {# albumos}}",
|
||||
@@ -545,18 +569,25 @@
|
||||
"night_at_midnight": "Katru dienu pusnakt─л",
|
||||
"night_at_twoam": "Katru dienu 2.00 nakt─л"
|
||||
},
|
||||
"invalid_date": "Neder─лgs datums",
|
||||
"invalid_date_format": "Neder─лgs datuma form─Бts",
|
||||
"invite_people": "Iel┼лgt cilv─Уkus",
|
||||
"invite_to_album": "Uzaicin─Бt album─Б",
|
||||
"ios_debug_info_last_sync_at": "P─Уd─Уj─Б sinhroniz─Бcija {dateTime}",
|
||||
"ios_debug_info_no_processes_queued": "Nav ierindotu fona procesu",
|
||||
"jobs": "Uzdevumi",
|
||||
"keep": "Patur─Уt",
|
||||
"keep_all": "Patur─Уt visus",
|
||||
"keep_this_delete_others": "Patur─Уt ┼бo, dz─Уst citus",
|
||||
"keyboard_shortcuts": "Tastat┼лras sa─лsnes",
|
||||
"language": "Valoda",
|
||||
"language_search_hint": "Mekl─Уt valodas...",
|
||||
"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",
|
||||
"lens_model": "Objekt─лva modelis",
|
||||
"let_others_respond": "─╗aut citiem atbild─Уt",
|
||||
"level": "L─лmenis",
|
||||
"library": "Bibliot─Уka",
|
||||
@@ -600,7 +631,7 @@
|
||||
"longitude": "─вeogr─Бfiskais garums",
|
||||
"look": "Izskats",
|
||||
"loop_videos_description": "Iesp─Уjot, lai autom─Бtiski videoklips tiktu cikliski palaists deta─╝u skat─лt─Бj─Б.",
|
||||
"make": "Firma",
|
||||
"make": "Ra┼╛ot─Бjs",
|
||||
"manage_shared_links": "Kop─лgoto sai┼бu p─Бrvald─лba",
|
||||
"manage_sharing_with_partners": "Koplieto┼бanas ar partneriem p─Бrvald─лba",
|
||||
"manage_the_app_settings": "Lietotnes iestat─лjumu p─Бrvald─лba",
|
||||
@@ -738,48 +769,78 @@
|
||||
"permission_onboarding_request": "Immich nepiecie┼бama at─╝auja skat─лt j┼лsu fotoatt─Уlus un videoklipus.",
|
||||
"person": "Persona",
|
||||
"photos": "Fotoatt─Уli",
|
||||
"photos_and_videos": "Fotogr─Бfijas un video",
|
||||
"photos_from_previous_years": "Fotogr─Бfijas no iepriek┼б─Уjiem gadiem",
|
||||
"pick_a_location": "Izv─Уlies atra┼бan─Бs vietu",
|
||||
"pin_verification": "PIN koda p─Бrbaude",
|
||||
"place": "Atra┼бan─Бs vieta",
|
||||
"places": "Vietas",
|
||||
"play": "Atska┼Жot",
|
||||
"play_memories": "Atska┼Жot atmi┼Жas",
|
||||
"please_auth_to_access": "Lai piek─╝┼лtu, l┼лdzu, autentific─Уjieties",
|
||||
"port": "Ports",
|
||||
"preferences_settings_title": "Iestat─лjumi",
|
||||
"preview": "Priek┼бskat─лjums",
|
||||
"previous": "Iepriek┼б─Уjais",
|
||||
"previous_memory": "Iepriek┼б─Уj─Б atmi┼Жa",
|
||||
"privacy": "Priv─Бtums",
|
||||
"profile": "Profils",
|
||||
"profile_drawer_app_logs": "┼╜urn─Бli",
|
||||
"profile_drawer_client_out_of_date_major": "Mobil─Б lietotne ir novecojusi. L┼лdzu, atjaunini to uz jaun─Бko pamatversiju.",
|
||||
"profile_drawer_client_out_of_date_minor": "Mobil─Б lietotne ir novecojusi. L┼лdzu, atjaunini to uz jaun─Бko papildversiju.",
|
||||
"profile_drawer_client_server_up_to_date": "Klients un serveris ir atjaunin─Бti",
|
||||
"profile_drawer_github": "GitHub",
|
||||
"profile_drawer_server_out_of_date_major": "Serveris ir novecojis. L┼лdzu, atjaunini to uz jaun─Бko pamatversiju.",
|
||||
"profile_drawer_server_out_of_date_minor": "Serveris ir novecojis. L┼лdzu, atjaunini to uz jaun─Бko papildversiju.",
|
||||
"profile_image_of_user": "{user} profila att─Уls",
|
||||
"profile_picture_set": "Profila att─Уls iestat─лts.",
|
||||
"public_album": "Publisks albums",
|
||||
"purchase_account_info": "Atbalst─лt─Бjs",
|
||||
"purchase_activated_subtitle": "Paldies, ka atbalst─Бt Immich un atv─Уrt─Б koda programmat┼лru",
|
||||
"purchase_activated_time": "Aktiviz─Уts {date}",
|
||||
"purchase_activated_title": "Tava atsl─Уga ir sekm─лgi aktiviz─Уta",
|
||||
"purchase_button_activate": "Aktiviz─Уt",
|
||||
"purchase_button_buy": "Pirkt",
|
||||
"purchase_button_buy_immich": "Ieg─Бd─Бties Immich",
|
||||
"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_failed_activation": "Neizdev─Бs aktiviz─Уt! L┼лdzu, p─Бrbaudi savu e-pastu, lai ieg┼лtu pareizo produkta atsl─Уgu!",
|
||||
"purchase_individual_description_2": "Atbalst─лt─Бja statuss",
|
||||
"purchase_input_suggestion": "Vai tev ir produkta atsl─Уga? Ievadi atsl─Уgu zem─Бk",
|
||||
"purchase_license_subtitle": "Nop─Уrc Immich licenci, lai atbalst─лtu turpm─Бku pakalpojuma att─лst─лbu",
|
||||
"purchase_lifetime_description": "Pirkums uz m┼л┼╛u",
|
||||
"purchase_option_title": "IEG─АDES IESP─ТJAS",
|
||||
"purchase_panel_info_1": "Immich veido┼бanai ir nepiecie┼бams daudz laika un p┼л─╝u, un pie t─Б str─Бd─Б pilna laika in┼╛enieri, lai padar─лtu to p─Уc iesp─Уjas lab─Бku. M┼лsu misija ir pan─Бkt, lai atv─Уrt─Б koda programmat┼лra un ─Уtiska uz┼Ж─Уm─Уjdarb─лbas prakse k─╝┼лtu par ilgtsp─Уj─лgu ien─Бkumu avotu izstr─Бd─Бt─Бjiem un izveidotu priv─Бtumu respekt─Уjo┼бu ekosist─Уmu ar re─Бl─Бm alternat─лv─Бm ekspluat─Уjo┼бiem m─Бko┼Жpakalpojumiem.",
|
||||
"purchase_panel_info_2": "T─Б k─Б m─Уs esam ap┼Ж─Уmu┼бies nepievienot maksas funkcionalit─Бti, ┼бis pirkums nepie┼б─╖irs jums nek─Бdas papildu Immich funkcijas. M─Уs pa─╝aujamies uz t─Бdiem lietot─Бjiem k─Б j┼лs, lai atbalst─лtu nep─Бrtrauktu Immich att─лst─лbu.",
|
||||
"purchase_panel_title": "Atbalsti projektu",
|
||||
"purchase_remove_product_key": "No┼Жemt produkta atsl─Уgu",
|
||||
"purchase_remove_product_key_prompt": "Vai tie┼б─Бm v─Уlaties no┼Жemt produkta atsl─Уgu?",
|
||||
"purchase_remove_server_product_key": "No┼Жemt servera produkta atsl─Уgu",
|
||||
"purchase_remove_server_product_key_prompt": "Vai tie┼б─Бm v─Уlaties no┼Жemt Servera produkta atsl─Уgu?",
|
||||
"purchase_server_description_1": "Visam serverim",
|
||||
"purchase_server_description_2": "Atbalst─лt─Бja statuss",
|
||||
"purchase_server_title": "Serveris",
|
||||
"purchase_settings_server_activated": "Servera produkta atsl─Уgu p─Бrvalda administrators",
|
||||
"rating_clear": "No┼Жemt v─Уrt─Уjumu",
|
||||
"rating_description": "R─Бd─лt EXIF v─Уrt─Уjumu inform─Бcijas panel─л",
|
||||
"reaction_options": "Reakcijas iesp─Уjas",
|
||||
"read_changelog": "Las─лt izmai┼Жu sarakstu",
|
||||
"recently_added_page_title": "Nesen Pievienotais",
|
||||
"refresh_thumbnails": "Atsvaidzin─Бt s─лkt─Уlus",
|
||||
"refreshed": "Atsvaidzin─Бts",
|
||||
"remove": "No┼Жemt",
|
||||
"remove_assets_title": "Iz┼Жemt failus?",
|
||||
"remove_deleted_assets": "Iz┼Жemt dz─Уstos failus",
|
||||
"remove_from_album": "No┼Жemt no albuma",
|
||||
"remove_from_album_action_prompt": "No albuma iz┼Жemti {count} faili",
|
||||
"remove_from_favorites": "No┼Жemt no izlases",
|
||||
"remove_from_lock_folder_action_prompt": "No sl─Уgt─Бs mapes iz┼Жemti {count} faili",
|
||||
"remove_from_locked_folder": "Iz┼Жemt no sl─Уgt─Бs mapes",
|
||||
"remove_memory": "No┼Жemt atmi┼Жu",
|
||||
"remove_photo_from_memory": "No┼Жemt fotogr─Бfiju no ┼б─лs atmi┼Жas",
|
||||
"remove_url": "No┼Жemt URL",
|
||||
"remove_user": "No┼Жemt lietot─Бju",
|
||||
"removed_api_key": "No┼Ж─Уma API atsl─Уgu: {name}",
|
||||
"removed_from_archive": "No┼Ж─Уma no arh─лva",
|
||||
@@ -790,6 +851,11 @@
|
||||
"replace_with_upload": "Aizst─Бt ar aug┼бupiel─Бdi",
|
||||
"require_user_to_change_password_on_first_login": "Piepras─лt lietot─Бjam main─лt paroli p─Уc pirm─Бs pieteik┼бan─Бs",
|
||||
"rescan": "P─Бrsken─Уt atk─Бrtoti",
|
||||
"reset": "Atiestat─лt",
|
||||
"reset_password": "Atiestat─лt paroli",
|
||||
"reset_people_visibility": "Atiestat─лt cilv─Уku redzam─лbu",
|
||||
"reset_pin_code": "Atiestat─лt PIN kodu",
|
||||
"reset_to_default": "Atiestat─лt noklus─Уjuma iestat─лjumus",
|
||||
"resolve_duplicates": "Atrisin─Бt dubl─У┼бan─Бs gad─лjumus",
|
||||
"resolved_all_duplicates": "Visi dublik─Бti ir atrisin─Бti",
|
||||
"restore": "Atjaunot",
|
||||
@@ -802,6 +868,7 @@
|
||||
"role_editor": "Redaktors",
|
||||
"role_viewer": "Skat─лt─Бjs",
|
||||
"save": "Saglab─Бt",
|
||||
"save_to_gallery": "Saglab─Бt galerij─Б",
|
||||
"saved_api_key": "API atsl─Уga saglab─Бta",
|
||||
"saved_profile": "Profils saglab─Бts",
|
||||
"saved_settings": "Iestat─лjumi saglab─Бti",
|
||||
@@ -813,9 +880,23 @@
|
||||
"scanning_for_album": "Sken─У albumu...",
|
||||
"search": "Mekl─Уt",
|
||||
"search_albums": "Mekl─Уt albumus",
|
||||
"search_by_context": "Mekl─Уt p─Уc konteksta",
|
||||
"search_by_description": "Mekl─Уt p─Уc apraksta",
|
||||
"search_by_description_example": "P─Бrg─Бjiens L─лgatn─У",
|
||||
"search_by_filename": "Mekl─Уt p─Уc faila nosaukuma vai papla┼бin─Бjuma",
|
||||
"search_by_filename_example": "piem─Уram, IMG_1234.JPG vai PNG",
|
||||
"search_camera_make": "Mekl─Уt p─Уc fotokameras ra┼╛ot─Бja...",
|
||||
"search_camera_model": "Mekl─Уt p─Уc fotokameras mode─╝a...",
|
||||
"search_city": "Mekl─Уt p─Уc pils─Уtas...",
|
||||
"search_country": "Mekl─Уt p─Уc valsts...",
|
||||
"search_filter_apply": "Lietot filtru",
|
||||
"search_filter_camera_title": "Izv─Уlies fotokameras veidu",
|
||||
"search_filter_date": "Datums",
|
||||
"search_filter_display_option_not_in_album": "Nav album─Б",
|
||||
"search_filter_filename": "Mekl─Уt p─Уc faila nosaukuma",
|
||||
"search_filter_location": "Atra┼бan─Бs vieta",
|
||||
"search_filter_location_title": "Izv─Уlies atra┼бan─Бs vietu",
|
||||
"search_for_existing_person": "Mekl─Уt eso┼бu personu",
|
||||
"search_no_people": "Nav cilv─Уku",
|
||||
"search_no_people_named": "Nav cilv─Уku ar v─Бrdu \"{name}\"",
|
||||
"search_page_categories": "Kategorijas",
|
||||
@@ -836,6 +917,7 @@
|
||||
"second": "Sekunde",
|
||||
"select_album_cover": "Izv─Уlieties albuma v─Бci┼Жu",
|
||||
"select_all_duplicates": "Atlas─лt visus dublik─Бtus",
|
||||
"select_from_computer": "Izv─Уl─Уties no datora",
|
||||
"select_photos": "Fotoatt─Уlu Izv─Уle",
|
||||
"select_user_for_sharing_page_err_album": "Neizdev─Бs izveidot albumu",
|
||||
"server_info_box_app_version": "Aplik─Бcijas Versija",
|
||||
@@ -1031,6 +1113,7 @@
|
||||
"viewer_stack_use_as_main_asset": "Izmantot k─Б Galveno Akt─лvu",
|
||||
"viewer_unstack": "At-Stekot",
|
||||
"waiting": "Gaida",
|
||||
"warning": "Br─лdin─Бjums",
|
||||
"week": "Ned─У─╝a",
|
||||
"welcome": "Laipni l┼лgti",
|
||||
"welcome_to_immich": "Laipni l┼лgti Immich",
|
||||
|
||||
@@ -15,10 +15,13 @@
|
||||
"add_a_name": "╨Э╤Н╤А ╙й╨│╙й╤Е",
|
||||
"add_a_title": "╨У╨░╤А╤З╨╕╨│ ╨╛╤А╤Г╤Г╨╗╨░╤Е",
|
||||
"add_endpoint": "Endpoint ╨╜╤Н╨╝╤Н╤Е",
|
||||
"add_import_path": "╨Ш╨╝╨┐╨╛╤А╤В╨╗╨╛╤Е ╨╖╨░╨╝ ╨╜╤Н╨╝╤Н╤Е",
|
||||
"add_location": "╨С╨░╨╣╤А╤И╨╕╨╗ ╨╛╤А╤Г╤Г╨╗╨░╤Е",
|
||||
"add_more_users": "╙и╙й╤А ╤Е╤Н╤А╤Н╨│╨╗╤Н╨│╤З╨╕╨┤ ╨╜╤Н╨╝╤Н╤Е",
|
||||
"add_partner": "╨е╨░╨╝╤В╤А╨░╨│╤З ╨╜╤Н╨╝╤Н╤Е",
|
||||
"add_path": "╨Ч╨░╨╝ ╨╜╤Н╨╝╤Н╤Е",
|
||||
"add_photos": "╨Ч╤Г╤А╨░╨│ ╨╜╤Н╨╝╤Н╤Е",
|
||||
"add_tag": "╨и╨╛╤И╨│╨╛ ╨╜╤Н╨╝╤Н╤Е",
|
||||
"add_to_album": "╨ж╨╛╨╝╨╛╨│╤В ╨╛╤А╤Г╤Г╨╗╨░╤Е",
|
||||
"add_to_album_bottom_sheet_added": "{album}-╨┤ ╨╜╤Н╨╝╨╗╤Н╤Н",
|
||||
"add_to_album_bottom_sheet_already_exists": "{album}-╨┤ ╨░╨╗╤М ╤Е╤Н╨┤╨╕╨╣╨╜ ╨╛╤А╤Б╨╛╨╜ ╨▒╨░╨╣╨╜╨░",
|
||||
@@ -28,6 +31,7 @@
|
||||
"added_to_favorites": "╨Ф╤Г╤А╤В╨░╨╣ ╨╖╤Г╤А╨│╨░╨╜╨┤ ╨╜╤Н╨╝╤Н╤Е",
|
||||
"added_to_favorites_count": "╨Ф╤Г╤А╤В╨░╨╣ ╨╖╤Г╤А╨░╨│╨╜╤Г╤Г╨┤╨░╨┤ {count, number} ╨╜╤Н╨╝╤Н╨│╨┤╨╗╤Н╤Н",
|
||||
"admin": {
|
||||
"admin_user": "╨Р╨┤╨╝╨╕╨╜ ╤Е╤Н╤А╤Н╨│╨╗╤Н╨│╤З",
|
||||
"authentication_settings": "╨в╨░╨╜╨╕╨╜ ╨╜╤Н╨▓╤В╤А╤Н╨╗╤В ╤В╨╛╤Е╨╕╤А╨│╨╛╨╛",
|
||||
"authentication_settings_description": "╨Э╤Г╤Г╤Ж ╥п╨│╨╕╨╣╨╜ ╤Г╨┤╨╕╤А╨┤╨╗╨░╨│╨░, OAuth ╨▒╨╛╨╗╨╛╨╜ ╨▒╤Г╤Б╨░╨┤ ╤В╨░╨╜╨╕╨╜ ╨╜╤Н╨▓╤В╤А╤Н╨╗╤В╨╕╨╣╨╜ ╤В╨╛╤Е╨╕╤А╨│╨╛╨╛",
|
||||
"authentication_settings_disable_all": "╨С╥п╤Е ╨╜╤Н╨▓╤В╤А╤Н╤Е ╨░╤А╨│╤Г╤Г╨┤╤Л╨│ ╨╕╨┤╤Н╨▓╤Е╨╕╨│╥п╨╣ ╨▒╨╛╨╗╨│╨╛╤Е╨┤╨╛╨╛ ╨╕╤В╨│╤Н╨╗╤В╤Н╨╣ ╨▒╨░╨╣╨╜╨░ ╤Г╤Г? ╨Э╤Н╨▓╤В╤А╤Н╤Е ╥п╨╣╨╗╨┤╤Н╨╗ ╨▒╥п╤А╤Н╨╜ ╨╕╨┤╤Н╨▓╤Е╨╕╨│╥п╨╣ ╨▒╨╛╨╗╨╜╨╛.",
|
||||
@@ -35,11 +39,15 @@
|
||||
"backup_database": "╙и╨│╙й╨│╨┤╨╗╨╕╨╣╨╜ ╤Б╨░╨╜╨│╨╕╨╣╨╜ ╨┤╨░╨╝╨┐ ╥п╥п╤Б╨│╤Н╤Е",
|
||||
"backup_database_enable_description": "╙и╨│╙й╨│╨┤╨╗╨╕╨╣╨╜ ╤Б╨░╨╜╨│╨╕╨╣╨╜ ╨┤╨░╨╝╨┐ ╨╕╨┤╤Н╨▓╤Е╨╕╨╢╥п╥п╨╗╤Н╤Е",
|
||||
"backup_keep_last_amount": "╙и╨╝╨╜╙й╤Е ╤Е╤Н╨┤╤Н╨╜ ╨┤╨░╨╝╨┐╤Л╨│ ╤Е╨░╨┤╨│╨░╨╗╨░╤Е ╨▓╤Н",
|
||||
"backup_settings": "╨Ф╨░╤В╨░╨▒╨░╨╖ ╨┤╨░╨╝╨┐ ╤В╨╛╤Е╨╕╤А╨│╨╛╨╛",
|
||||
"backup_settings_description": "╨Ф╨░╤В╨░╨▒╨░╨╖╨░╨░╤Б ╨┤╨░╨╝╨┐ ╤Е╨╕╨╣╤Е ╤В╨╛╤Е╨╕╤А╨│╨╛╨╛╨╜╤Г╤Г╨┤.",
|
||||
"config_set_by_file": "╨в╨╛╤Е╨╕╤А╨│╨╛╨╛╨│ ╨╛╨┤╨╛╨╛╨│╨╛╨╛╤А ╤Д╨░╨╣╨╗╨░╨░╤Б ╨░╨▓╤З ╨▒╨░╨╣╨╜╨░",
|
||||
"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}-╨╕╨╣╨╜ ╨╜╤Г╤Г╤Ж ╥п╨│╨╕╨╣╨│ ╨┤╨░╤Е╨╕╨╜ ╤В╨╛╤Е╨╕╤А╤Г╤Г╨╗╨░╤Е ╤Г╤Г?",
|
||||
"confirm_user_pin_code_reset": "{user} ╤Е╤Н╤А╤Н╨│╨╗╤Н╨│╤З╨╕╨╣╨╜ PIN code ╨┤╨░╤Е╨╕╨╜ ╤В╨╛╤Е╨╕╤А╤Г╤Г╨╗╨░╤Е ╤Г╤Г?",
|
||||
"face_detection": "╨Э╥п╥п╤А ╨╕╨╗╤А╥п╥п╨╗╤Н╤Е",
|
||||
"image_quality": "╨з╨░╨╜╨░╤А",
|
||||
"job_settings": "╨Р╨╢╨╗╤Л╨╜ ╤В╨╛╤Е╨╕╤А╨│╨╛╨╛",
|
||||
|
||||
+18
-1
@@ -4,6 +4,7 @@
|
||||
"account_settings": "рдЦрд╛рддреЗ рд╡реНрдпрд╡рд╕реНрдерд╛",
|
||||
"acknowledge": "рдорд╛рдиреНрдпрддрд╛",
|
||||
"action": "рдХреГрддреА",
|
||||
"action_common_update": "рдЕрджреНрдпрдпрд╛рд╡рдд",
|
||||
"actions": "рдХреГрддреНрдпреЗ",
|
||||
"active": "рд╕рдХреНрд░рд┐рдп",
|
||||
"activity": "рдЧрддрд┐рд╡рд┐рдзрд┐",
|
||||
@@ -13,6 +14,7 @@
|
||||
"add_a_location": "рдПрдХ рд╕реНрдерд│ рдЯрд╛рдХрд╛",
|
||||
"add_a_name": "рдирд╛рд╡ рдЯрд╛рдХрд╛",
|
||||
"add_a_title": "рд╢реАрд░реНрд╖рдХ рдЯрд╛рдХрд╛",
|
||||
"add_endpoint": "рдПрдВрдбрдкреЙрдЗрдВрдЯ рдЬреЛрдбрд╛",
|
||||
"add_exclusion_pattern": "рдЕрдкрд╡рд╛рдж рдирдореБрдирд╛ рдЬреЛрдбрд╛",
|
||||
"add_import_path": "рдЖрдпрд╛рдд рдорд╛рд░реНрдЧ рдЯрд╛рдХрд╛",
|
||||
"add_location": "рд╕реНрдерд│ рдЯрд╛рдХрд╛",
|
||||
@@ -20,8 +22,11 @@
|
||||
"add_partner": "рднрд╛рдЧреАрджрд╛рд░ рдЬреЛрдбрд╛",
|
||||
"add_path": "рдорд╛рд░реНрдЧ рдЯрд╛рдХрд╛",
|
||||
"add_photos": "рдЫрд╛рдпрд╛рдЪрд┐рддреНрд░реЗ рдЬреЛрдбрд╛",
|
||||
"add_tag": "рдЯреЕрдЧ рдЬреЛрдбрд╛",
|
||||
"add_to": "рддреНрдпрд╛ рдордзреНрдпреЗ рдЬреЛрдбрд╛тАж",
|
||||
"add_to_album": "рд╕рдВрдЧреНрд░рд╣рд╛рдд рдЯрд╛рдХрд╛",
|
||||
"add_to_album_bottom_sheet_added": "{album} рдордзреНрдпреЗ рдЬреЛрдбрд▓реЗ рдЧреЗрд▓реЗ",
|
||||
"add_to_album_bottom_sheet_already_exists": "рдЖрдзреАрдЪ {album} рдордзреНрдпреЗ рдЖрд╣реЗ",
|
||||
"add_to_shared_album": "рд╕рд╛рдорд╛рдпрд┐рдХ рд╕рдВрдЧреНрд░рд╣рд╛рдд рдЯрд╛рдХрд╛",
|
||||
"add_url": "URL рдЬреЛрдбрд╛",
|
||||
"added_to_archive": "рд╕рдВрдЧреНрд░рд╣рд╛рд▓рдпрд╛рдд рдЬреЛрдбрд▓реЗ",
|
||||
@@ -29,6 +34,7 @@
|
||||
"added_to_favorites_count": "рдЖрд╡рдбрддреНрдпрд╛рдд {count, number} рдЯрд╛рдХрд▓реЗ",
|
||||
"admin": {
|
||||
"add_exclusion_pattern_description": "рдЕрдкрд╡рд╛рдж рдЕрдиреБрдХреВрд▓рди рдЬреЛрдбрд╛. ** рдЖрдгрд┐ ? рдпрд╛ рдЙрдкрдпреЛрдЧрд╛рдд рдЧреНрд▓реЛрдмрд┐рдВрдЧ рд╕рдорд░реНрдерд┐рдд рдЖрд╣реЗ. рдХреЛрдгрддреНрдпрд╛рд╣реА \"Raw\" рдирд╛рд╡рд╛рдЪреНрдпрд╛ рдирд┐рд░реНрджреЗрд╢рд┐рдХреЗрдордзреАрд▓ рд╕рд░реНрд╡ рдЦрддрд╛рд╡рдгреНрдпрд╛ рджреБрд░реНрд▓рдХреНрд╖реАрдд рдХрд░рдгреНрдпрд╛рд╕рд╛рдареА \"/Raw/\" рд╡рд╛рдкрд░рд╛. \".tif\" рдпрд╛ рд╕рд╛рдорд╛рдиреНрдп рдкрдерд╛рд╡рд░ рд╕рдорд╛рдкреНрдд рдЕрд╕рд▓реЗрд▓реНрдпрд╛ рд╕рд░реНрд╡ рдЦрддрд╛рд╡рдгреНрдпрд╛ рджреБрд░реНрд▓рдХреНрд╖реАрдд рдХрд░рдгреНрдпрд╛рд╕рд╛рдареА \"**/.tif\" рд╡рд╛рдкрд░рд╛. рд╡рд┐рд╢рд┐рд╖реНрдЯ рдкрде рджреБрд░реНрд▓рдХреНрд╖ рдХрд░рдгреНрдпрд╛рд╕рд╛рдареА \"/path/to/ignore/**\" рд╡рд╛рдкрд░рд╛.",
|
||||
"admin_user": "рдкреНрд░рд╢рд╛рд╕рди рд╡рд╛рдкрд░рдХрд░реНрддрд╛",
|
||||
"asset_offline_description": "рд╣реА рдмрд╛рд╣реНрдп рд╕рдВрдЧреНрд░рд╣рд╛рд▓рдп рд╕рдВрд╕рд╛рдзрдиреЗ рдбрд┐рд╕реНрдХрд╡рд░ рдирд╛рд╣реАрдд рдЖрдгрд┐ рдЯреНрд░реЕрд╢рдордзреНрдпреЗ рд╡рд┐рд╕реНрдерд╛рдкрд┐рдд рдХреЗрд▓реА рдЧреЗрд▓реА рдЖрд╣реЗрдд. рдЬрд░ рдлрд╛рдЗрд▓ рд╕рдВрдЧреНрд░рд╣рд╛рд▓рдпрд╛рдордзреНрдпреЗ рд╡рд┐рд╕реНрдерд╛рдкрд┐рдд рдХреЗрд▓реА рдЧреЗрд▓реА рдЖрд╣реЗ, рддрд░ рдирд╡реАрди рд╕рдВрдЧрдд рд╕рдВрд╕рд╛рдзрди рдХрд┐рдВрд╡реНрд╣рд╛ рд░реЛрдЬреАрдирд┐рд╢реА рдордзреНрдпреЗ рддрдкрд╛рд╕рд╛. рд╣рд╛ рд╕рдВрд╕рд╛рдзрди рд╡рд╛рдкрд░ рдХрд░рдгреНрдпрд╛рд╕рд╛рдареА рдХреГрдкрдпрд╛ рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдЦрддрд╛рд╡рдгреА рдкрдерд╛рд▓рд╛ рдЗрдореНрдореАрдЪ рджреНрд╡рд╛рд░рд╛ рд╡рд╛рдкрд░реВ рд╢рдХрддреЛ рдпрд╛рдЪреА рддрдкрд╛рд╕рдгреА рдХрд░рд╛ рдЖрдгрд┐ рддреЛ рд╕рдВрдЧреНрд░рд╣рд╛рд▓рдп рдЪрд╛рд│рд╛.",
|
||||
"authentication_settings": "рдкреНрд░рдорд╛рдгреАрдХрд░рдг рд╕рд╛рдзрдХ",
|
||||
"authentication_settings_description": "рдкрд░рд╡рд▓реАрдЪрд╛ рд╢рдмреНрдж, OAuth рдЖрдгрд┐ рдЕрдиреНрдп рдкреНрд░рдорд╛рдгреАрдХрд░рдг рдкреНрд░рдмрдВрдзрди рдХрд░рд╛",
|
||||
@@ -47,6 +53,7 @@
|
||||
"confirm_email_below": "рдкреБрд╖реНрдЯреА рдХрд░рдгреНрдпрд╛ рд╕рд╛рдареА, рдЦрд╛рд▓реА \"{email}\" рдЯрдВрдХрд▓рд┐рдЦрд┐рдд рдХрд░рд╛",
|
||||
"confirm_reprocess_all_faces": "рддреБрдореНрд╣рд╛рд▓рд╛ рдЦрд╛рддреНрд░реА рдЖрд╣реЗ рдХрд╛ рдХреА рддреБрдореНрд╣рд╛рд▓рд╛ рд╕рд░реНрд╡ рдЪреЗрд╣рд▒реНрдпрд╛рдВрд╡рд░ рдкреБрдиреНрд╣рд╛ рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдХрд░рд╛рдпрдЪреА рдЖрд╣реЗ? рдпрд╛рдореБрд│реЗ рдирд╛рд╡ рджрд┐рд▓реЗрд▓реЗ рд▓реЛрдХрд╣реА рд╕рд╛рдл рд╣реЛрддреАрд▓.",
|
||||
"confirm_user_password_reset": "рддреБрдореНрд╣рд╛рд▓рд╛ рдирдХреНрдХреА {user} рдЪрд╛ рдкрд░рд╡рд▓реАрдЪрд╛ рд╢рдмреНрдж рдмрджрд▓рд╛рдпрдЪрд╛ рдЖрд╣реЗ рдХрд╛?",
|
||||
"confirm_user_pin_code_reset": "рддреБрдореНрд╣рд╛рд▓рд╛ рдирдХреНрдХреА {user} рдЪрд╛ рдкрд┐рди рдХреЛрдб рд░реАрд╕реЗрдЯ рдХрд░рд╛рдпрдЪрд╛ рдЖрд╣реЗ рдХрд╛?",
|
||||
"create_job": "рдХрд╛рд░реНрдп рдмрдирд╡рд╛",
|
||||
"cron_expression": "рд╡реЗрд│рд╛рдкрддреНрд░рдХ рд╕реВрддреНрд░",
|
||||
"cron_expression_description": "рдЪрд╛рд│рдиреНрдпрд╛рдЪреЗ рд╡реЗрд│рд╛рдкрддреНрд░рдХ рдХреНрд░реЙрди рдкрджреНрдзрддреА рдиреЗ рдХрд░рд╛. рдЕрдзрд┐рдХ рдорд╛рд╣рд┐рддреА рд╕рд╛рдареА рдкрд╣рд╛: <link> рдХреНрд░реЙрди рдЧреБрд░реБ</link>",
|
||||
@@ -55,6 +62,16 @@
|
||||
"duplicate_detection_job_description": "рд╕рд╛рд░рдЦреНрдпрд╛ рдЫрд╛рдпрд╛рдЪрд┐рддреНрд░рд╛рдВрдЪрд╛ рд╢реЛрдз рдШреЗрдгреНрдпрд╛рд╕рд╛рдареА рдпрд╛рдВрддреНрд░рд┐рдХреА рдкреНрд░рд╢рд┐рдХреНрд╖рдг рджреНрдпрд╛. рд╣реА рдХрд╛рд░реНрдпрдХреНрд╖рдорддрд╛ рдЪрддреБрд░ рд╢реЛрдзрдкреНрд░рдгрд╛рд▓реАрд╡рд░ рдЕрд╡рд▓рдВрдмреВрди рдЖрд╣реЗ",
|
||||
"exclusion_pattern_description": "рдЖрдкрд▓реЗ рд╕рдВрдЧреНрд░рд╣рд╛рд▓рдп рдЪрд╛рд│рддрд╛рдирд╛ рдЕрдкрд╡рд╛рдж рдирдореБрдиреЗ рдЖрдкрд▓реНрдпрд╛рд▓рд╛ рдЦрддрд╛рд╡рдгреНрдпрд╛ рдЖрдгрд┐ рд░реНрдирд┐рд░реНрджреЗрд╢рд┐рдХреЗрд▓рд╛ рджреБрд░реНрд▓рдХреНрд╖реАрдд рдХрд░реВ рджреЗрддрд╛рдд. рдЖрдкрд▓реНрдпрд╛рдХрдбреЗ рдХрдЪреНрдЪреНрдпрд╛ рдЦрддрд╛рд╡рдгреНрдпрд╛ рд╕рд╛рд░рдЦреНрдпрд╛ рдЖрдпрд╛рдд рдХрд░реВ рдЗрдЪреНрдЫрд┐рдд рдирд╕рд▓реЗрд▓реНрдпрд╛ рдЕрд╕рдВрдкрд╛рджрд┐рдд (RAW) рдЦрддрд╛рд╡рдгреНрдпрд╛ рдЕрд╕рд▓реЗрд▓реНрдпрд╛ рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛ рдЕрд╕рд▓реНрдпрд╛рд╕ рд╣реЗ рдЙрдкрдпреБрдХреНрдд рдЖрд╣реЗ.",
|
||||
"external_library_management": "рдмрд╛рд╣реНрдп рд╕рдВрдЧреНрд░рд╣рд╛рд▓рдп рд╡реНрдпрд╡рд╕реНрдерд╛рдкрди",
|
||||
"face_detection": "рдореБрдЦ рд╕рдВрд╢реЛрдзрди"
|
||||
"face_detection": "рдореБрдЦ рд╕рдВрд╢реЛрдзрди",
|
||||
"face_detection_description": "рдорд╢реАрди рд▓рд░реНрдирд┐рдВрдЧ рд╡рд╛рдкрд░реВрди рдорд╛рд▓рдорддреНрддрд╛рдВрдордзреАрд▓ рдЪреЗрд╣рд░реЗ рд╢реЛрдзрд╛. рд╡реНрд╣рд┐рдбрд┐рдУрдВрд╕рд╛рдареА, рдлрдХреНрдд рдердВрдмрдиреЗрд▓рдЪрд╛ рд╡рд┐рдЪрд╛рд░ рдХреЗрд▓рд╛ рдЬрд╛рддреЛ. \"рд░рд┐рдлреНрд░реЗрд╢\" (рдкреБрдиреНрд╣рд╛) рд╕рд░реНрд╡ рдорд╛рд▓рдорддреНрддрд╛рдВрд╡рд░ рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдХрд░рддреЗ. \"рд░реАрд╕реЗрдЯ\" рдпрд╛рд╡реНрдпрддрд┐рд░рд┐рдХреНрдд рд╕рд░реНрд╡ рд╡рд░реНрддрдорд╛рди рдЪреЗрд╣рд░рд╛ рдбреЗрдЯрд╛ рд╕рд╛рдл рдХрд░рддреЗ. \"рдЧрд╣рд╛рд│\" рдорд╛рд▓рдорддреНрддрд╛рдВрд╡рд░ рдЕрджреНрдпрд╛рдк рдкреНрд░рдХреНрд░рд┐рдпрд╛ рди рдХреЗрд▓реЗрд▓реНрдпрд╛ рд░рд╛рдВрдЧреЗрдд рдареЗрд╡рддреЗ. рд╢реЛрдзрд▓реЗрд▓реЗ рдЪреЗрд╣рд░реЗ рдлреЗрд╕ рдбрд┐рдЯреЗрдХреНрд╢рди рдкреВрд░реНрдг рдЭрд╛рд▓реНрдпрд╛рдирдВрддрд░ рдлреЗрд╢рд┐рдпрд▓ рд░реЗрдХрдЧреНрдирд┐рд╢рдирд╕рд╛рдареА рд░рд╛рдВрдЧреЗрдд рдареЗрд╡рд▓реЗ рдЬрд╛рддреАрд▓, рддреНрдпрд╛рдВрдирд╛ рд╡рд┐рджреНрдпрдорд╛рди рдХрд┐рдВрд╡рд╛ рдирд╡реАрди рд▓реЛрдХрд╛рдВрдордзреНрдпреЗ рдЧрдЯрдмрджреНрдз рдХреЗрд▓реЗ рдЬрд╛рдИрд▓.",
|
||||
"facial_recognition_job_description": "рд╢реЛрдзрд▓реЗрд▓реЗ рдЪреЗрд╣рд░реЗ рд▓реЛрдХрд╛рдВрдордзреНрдпреЗ рдЧрдЯрдмрджреНрдз рдХрд░рд╛. рд╣реЗ рдЪрд░рдг рдЪреЗрд╣рд░рд╛ рд╢реЛрдзрдгреЗ рдкреВрд░реНрдг рдЭрд╛рд▓реНрдпрд╛рдирдВрддрд░ рдЪрд╛рд▓рддреЗ. \"рд░реАрд╕реЗрдЯ рдХрд░рд╛\" (рдкреБрдиреНрд╣рд╛) рд╕рд░реНрд╡ рдЪреЗрд╣рд░реЗ рдХреНрд▓рд╕реНрдЯрд░ рдХрд░. \"рдЧрд╣рд╛рд│\" рдЪреЗрд╣рд░реЗ рд░рд╛рдВрдЧреЗрдд рд╕рдорд╛рд╡рд┐рд╖реНрдЯ рдХрд░рддреЗ рдЬреНрдпрд╛рдВрдирд╛ рдирд┐рдпреБрдХреНрдд рдХреЗрд▓реЗрд▓реА рд╡реНрдпрдХреНрддреА рдирд╛рд╣реА.",
|
||||
"failed_job_command": "{command} рдХрдорд╛рдВрдб рдЬреЙрдмрд╕рд╛рдареА рдЕрдпрд╢рд╕реНрд╡реА рдЭрд╛рд▓рд╛: {job}",
|
||||
"force_delete_user_warning": "рд╕рд╛рд╡рдзрд╛рди: рд╣реЗ рд╡рд╛рдкрд░рдХрд░реНрддрд╛ рдЖрдгрд┐ рд╕рд░реНрд╡ рдорд╛рд▓рдорддреНрддрд╛ рддрд╛рдмрдбрддреЛрдм рдХрд╛рдвреВрди рдЯрд╛рдХреЗрд▓. рд╣реЗ рдкреВрд░реНрд╡рд╡рдд рдХрд░рддрд╛ рдпреЗрдгрд╛рд░ рдирд╛рд╣реА рдЖрдгрд┐ рдлрд╛рдпрд▓реА рдкреБрдирд░реНрдкреНрд░рд╛рдкреНрдд рдХрд░рддрд╛ рдпреЗрдгрд╛рд░ рдирд╛рд╣реАрдд.",
|
||||
"image_format": "рдлреЙрд░рдореЕрдЯ",
|
||||
"image_format_description": "WebP JPEG рдкреЗрдХреНрд╖рд╛ рд▓рд╣рд╛рди рдлрд╛рдпрд▓реА рддрдпрд╛рд░ рдХрд░рддреЗ, рдкрд░рдВрддреБ рдПрдиреНрдХреЛрдб рдХрд░рдгреНрдпрд╛рд╕ рд╣рд│реВ рдЕрд╕рддреЗ.",
|
||||
"image_fullsize_description": "рдЭреВрдо рдЗрди рдХреЗрд▓реНрдпрд╛рд╡рд░ рд╡рд╛рдкрд░рд▓реНрдпрд╛ рдЬрд╛рдгрд╛рд▒реНрдпрд╛ рд╕реНрдЯреНрд░рд┐рдк рдХреЗрд▓реЗрд▓реНрдпрд╛ рдореЗрдЯрд╛рдбреЗрдЯрд╛рд╕рд╣ рдкреВрд░реНрдг рдЖрдХрд╛рд░рд╛рдЪреА рдкреНрд░рддрд┐рдорд╛",
|
||||
"image_fullsize_enabled": "рдкреВрд░реНрдг-рдЖрдХрд╛рд░рд╛рддреАрд▓ рдкреНрд░рддрд┐рдорд╛ рдирд┐рд░реНрдорд┐рддреА",
|
||||
"image_fullsize_enabled_description": "рд╡реЗрдм-рдлреНрд░реЗрдВрдбрд▓реА рдирд╕рд▓реЗрд▓реНрдпрд╛ рдлреЙрд░рдореЕрдЯрд╕рд╛рдареА рдкреВрд░реНрдг-рдЖрдХрд╛рд░рд╛рдЪреА рдкреНрд░рддрд┐рдорд╛ рддрдпрд╛рд░ рдХрд░рд╛. рдЬреЗрд╡реНрд╣рд╛ \"embedded preview\" рдЪрд╛рд▓реБрдЖрд╕реЗрд▓ рддреЗрд╡реНрд╣рд╛, \"embedded preview\" рдереЗрдЯ рд░реВрдкрд╛рдВрддрд░рдгрд╛рд╢рд┐рд╡рд╛рдп рд╡рд╛рдкрд░рд▓реЗ рдЬрд╛рддрд╛рдд. JPEG рд╕рд╛рд░рдЦреНрдпрд╛ рд╡реЗрдм-рдлреНрд░реЗрдВрдбрд▓реА рдлреЙрд░рдореЕрдЯрд╡рд░ рдкрд░рд┐рдгрд╛рдо рд╣реЛрдд рдирд╛рд╣реА.",
|
||||
"image_fullsize_quality_description": "рез-резрежреж рдкрд░реНрдпрдВрдд рдкреВрд░реНрдг-рдЖрдХрд╛рд░рд╛рддреАрд▓ рдкреНрд░рддрд┐рдорд╛ рдЧреБрдгрд╡рддреНрддрд╛. рдЬрд╛рд╕реНрдд рддреЗрд╡реНрд╣рдбреЗ рдЪрд╛рдВрдЧрд▓реЗ, рдкрд░рдВрддреБ рдореЛрдареНрдпрд╛ рдлрд╛рдпрд▓реА рддрдпрд╛рд░ рдХрд░рддреЗ."
|
||||
}
|
||||
}
|
||||
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user