diff --git a/.devcontainer/devcontainer.json b/.devcontainer/devcontainer.json index 79126fd658..7584eb8075 100644 --- a/.devcontainer/devcontainer.json +++ b/.devcontainer/devcontainer.json @@ -29,6 +29,12 @@ ] } }, + "features": { + "ghcr.io/devcontainers/features/docker-in-docker:2": { + // https://github.com/devcontainers/features/issues/1466 + "moby": false + } + }, "forwardPorts": [3000, 9231, 9230, 2283], "portsAttributes": { "3000": { diff --git a/.github/workflows/build-mobile.yml b/.github/workflows/build-mobile.yml index c214ba564e..9495d03bb9 100644 --- a/.github/workflows/build-mobile.yml +++ b/.github/workflows/build-mobile.yml @@ -96,7 +96,7 @@ jobs: app-id: ${{ secrets.PUSH_O_MATIC_APP_ID }} private-key: ${{ secrets.PUSH_O_MATIC_APP_KEY }} - - uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0 + - uses: actions/checkout@93cb6efe18208431cddfb8368fd83d5badbf9bfd # v5.0.1 with: ref: ${{ inputs.ref || github.sha }} persist-credentials: false @@ -194,7 +194,7 @@ jobs: steps: - name: Checkout code - uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5 + uses: actions/checkout@93cb6efe18208431cddfb8368fd83d5badbf9bfd # v5 with: ref: ${{ inputs.ref || github.sha }} persist-credentials: false diff --git a/.github/workflows/cache-cleanup.yml b/.github/workflows/cache-cleanup.yml index 7d49d94791..a75770ec49 100644 --- a/.github/workflows/cache-cleanup.yml +++ b/.github/workflows/cache-cleanup.yml @@ -25,7 +25,7 @@ jobs: private-key: ${{ secrets.PUSH_O_MATIC_APP_KEY }} - name: Check out code - uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0 + uses: actions/checkout@93cb6efe18208431cddfb8368fd83d5badbf9bfd # v5.0.1 with: persist-credentials: false token: ${{ steps.token.outputs.token }} diff --git a/.github/workflows/cli.yml b/.github/workflows/cli.yml index fc2c9f6853..b9dbb40d41 100644 --- a/.github/workflows/cli.yml +++ b/.github/workflows/cli.yml @@ -35,7 +35,7 @@ jobs: app-id: ${{ secrets.PUSH_O_MATIC_APP_ID }} private-key: ${{ secrets.PUSH_O_MATIC_APP_KEY }} - - uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0 + - uses: actions/checkout@93cb6efe18208431cddfb8368fd83d5badbf9bfd # v5.0.1 with: persist-credentials: false token: ${{ steps.token.outputs.token }} @@ -78,7 +78,7 @@ jobs: private-key: ${{ secrets.PUSH_O_MATIC_APP_KEY }} - name: Checkout - uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0 + uses: actions/checkout@93cb6efe18208431cddfb8368fd83d5badbf9bfd # v5.0.1 with: persist-credentials: false token: ${{ steps.token.outputs.token }} diff --git a/.github/workflows/codeql-analysis.yml b/.github/workflows/codeql-analysis.yml index 34228843ad..e75d6d2e90 100644 --- a/.github/workflows/codeql-analysis.yml +++ b/.github/workflows/codeql-analysis.yml @@ -50,14 +50,14 @@ jobs: private-key: ${{ secrets.PUSH_O_MATIC_APP_KEY }} - name: Checkout repository - uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0 + uses: actions/checkout@93cb6efe18208431cddfb8368fd83d5badbf9bfd # v5.0.1 with: persist-credentials: false token: ${{ steps.token.outputs.token }} # Initializes the CodeQL tools for scanning. - name: Initialize CodeQL - uses: github/codeql-action/init@0499de31b99561a6d14a36a5f662c2a54f91beee # v4.31.2 + uses: github/codeql-action/init@014f16e7ab1402f30e7c3329d33797e7948572db # v4.31.3 with: languages: ${{ matrix.language }} # If you wish to specify custom queries, you can do so here or in a config file. @@ -70,7 +70,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@0499de31b99561a6d14a36a5f662c2a54f91beee # v4.31.2 + uses: github/codeql-action/autobuild@014f16e7ab1402f30e7c3329d33797e7948572db # v4.31.3 # â„šī¸ 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 @@ -83,6 +83,6 @@ jobs: # ./location_of_script_within_repo/buildscript.sh - name: Perform CodeQL Analysis - uses: github/codeql-action/analyze@0499de31b99561a6d14a36a5f662c2a54f91beee # v4.31.2 + uses: github/codeql-action/analyze@014f16e7ab1402f30e7c3329d33797e7948572db # v4.31.3 with: category: '/language:${{matrix.language}}' diff --git a/.github/workflows/docs-build.yml b/.github/workflows/docs-build.yml index 823aa98fc8..24cb804e77 100644 --- a/.github/workflows/docs-build.yml +++ b/.github/workflows/docs-build.yml @@ -60,7 +60,7 @@ jobs: private-key: ${{ secrets.PUSH_O_MATIC_APP_KEY }} - name: Checkout code - uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0 + uses: actions/checkout@93cb6efe18208431cddfb8368fd83d5badbf9bfd # v5.0.1 with: persist-credentials: false token: ${{ steps.token.outputs.token }} diff --git a/.github/workflows/docs-deploy.yml b/.github/workflows/docs-deploy.yml index 5d01646fef..3a0e918812 100644 --- a/.github/workflows/docs-deploy.yml +++ b/.github/workflows/docs-deploy.yml @@ -125,7 +125,7 @@ jobs: private-key: ${{ secrets.PUSH_O_MATIC_APP_KEY }} - name: Checkout code - uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0 + uses: actions/checkout@93cb6efe18208431cddfb8368fd83d5badbf9bfd # v5.0.1 with: persist-credentials: false token: ${{ steps.token.outputs.token }} diff --git a/.github/workflows/docs-destroy.yml b/.github/workflows/docs-destroy.yml index 3ad3f3558e..643c35b1af 100644 --- a/.github/workflows/docs-destroy.yml +++ b/.github/workflows/docs-destroy.yml @@ -23,7 +23,7 @@ jobs: private-key: ${{ secrets.PUSH_O_MATIC_APP_KEY }} - name: Checkout code - uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0 + uses: actions/checkout@93cb6efe18208431cddfb8368fd83d5badbf9bfd # v5.0.1 with: persist-credentials: false token: ${{ steps.token.outputs.token }} diff --git a/.github/workflows/fix-format.yml b/.github/workflows/fix-format.yml index f7f34b929c..fd497a9fb8 100644 --- a/.github/workflows/fix-format.yml +++ b/.github/workflows/fix-format.yml @@ -22,7 +22,7 @@ jobs: private-key: ${{ secrets.PUSH_O_MATIC_APP_KEY }} - name: 'Checkout' - uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0 + uses: actions/checkout@93cb6efe18208431cddfb8368fd83d5badbf9bfd # v5.0.1 with: ref: ${{ github.event.pull_request.head.ref }} token: ${{ steps.generate-token.outputs.token }} diff --git a/.github/workflows/prepare-release.yml b/.github/workflows/prepare-release.yml index 6e7ee8f608..45c0e759c4 100644 --- a/.github/workflows/prepare-release.yml +++ b/.github/workflows/prepare-release.yml @@ -55,14 +55,14 @@ jobs: private-key: ${{ secrets.PUSH_O_MATIC_APP_KEY }} - name: Checkout - uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0 + uses: actions/checkout@93cb6efe18208431cddfb8368fd83d5badbf9bfd # v5.0.1 with: token: ${{ steps.generate-token.outputs.token }} persist-credentials: true ref: main - name: Install uv - uses: astral-sh/setup-uv@85856786d1ce8acfbcc2f13a5f3fbd6b938f9f41 # v7.1.2 + uses: astral-sh/setup-uv@5a7eac68fb9809dea845d802897dc5c723910fa3 # v7.1.3 - name: Setup pnpm uses: pnpm/action-setup@41ff72655975bd51cab0327fa583b6e92b6d3061 # v4.2.0 @@ -132,7 +132,7 @@ jobs: private-key: ${{ secrets.PUSH_O_MATIC_APP_KEY }} - name: Checkout - uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0 + uses: actions/checkout@93cb6efe18208431cddfb8368fd83d5badbf9bfd # v5.0.1 with: token: ${{ steps.generate-token.outputs.token }} persist-credentials: false @@ -144,7 +144,7 @@ jobs: github-token: ${{ steps.generate-token.outputs.token }} - name: Create draft release - uses: softprops/action-gh-release@6da8fa9354ddfdc4aeace5fc48d7f679b5214090 # v2.4.1 + uses: softprops/action-gh-release@5be0e66d93ac7ed76da52eca8bb058f665c3a5fe # v2.4.2 with: draft: true tag_name: ${{ env.IMMICH_VERSION }} diff --git a/.github/workflows/release-pr.yml b/.github/workflows/release-pr.yml index 524f6bc77c..a7dc479b26 100644 --- a/.github/workflows/release-pr.yml +++ b/.github/workflows/release-pr.yml @@ -23,14 +23,14 @@ jobs: private-key: ${{ secrets.PUSH_O_MATIC_APP_KEY }} - name: Checkout - uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0 + uses: actions/checkout@93cb6efe18208431cddfb8368fd83d5badbf9bfd # v5.0.1 with: token: ${{ steps.generate-token.outputs.token }} persist-credentials: true ref: main - name: Install uv - uses: astral-sh/setup-uv@85856786d1ce8acfbcc2f13a5f3fbd6b938f9f41 # v7.1.2 + uses: astral-sh/setup-uv@5a7eac68fb9809dea845d802897dc5c723910fa3 # v7.1.3 - name: Setup pnpm uses: pnpm/action-setup@41ff72655975bd51cab0327fa583b6e92b6d3061 # v4.2.0 diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml new file mode 100644 index 0000000000..69a6a9e33b --- /dev/null +++ b/.github/workflows/release.yml @@ -0,0 +1,148 @@ +name: release.yml +on: + pull_request: + types: [closed] + paths: + - CHANGELOG.md + +jobs: + # Maybe double check PR source branch? + + merge_translations: + uses: ./.github/workflows/merge-translations.yml + permissions: + pull-requests: write + secrets: + PUSH_O_MATIC_APP_ID: ${{ secrets.PUSH_O_MATIC_APP_ID }} + PUSH_O_MATIC_APP_KEY: ${{ secrets.PUSH_O_MATIC_APP_KEY }} + WEBLATE_TOKEN: ${{ secrets.WEBLATE_TOKEN }} + + build_mobile: + uses: ./.github/workflows/build-mobile.yml + needs: merge_translations + permissions: + contents: read + secrets: + KEY_JKS: ${{ secrets.KEY_JKS }} + ALIAS: ${{ secrets.ALIAS }} + ANDROID_KEY_PASSWORD: ${{ secrets.ANDROID_KEY_PASSWORD }} + ANDROID_STORE_PASSWORD: ${{ secrets.ANDROID_STORE_PASSWORD }} + # iOS secrets + APP_STORE_CONNECT_API_KEY_ID: ${{ secrets.APP_STORE_CONNECT_API_KEY_ID }} + APP_STORE_CONNECT_API_KEY_ISSUER_ID: ${{ secrets.APP_STORE_CONNECT_API_KEY_ISSUER_ID }} + APP_STORE_CONNECT_API_KEY: ${{ secrets.APP_STORE_CONNECT_API_KEY }} + IOS_CERTIFICATE_P12: ${{ secrets.IOS_CERTIFICATE_P12 }} + IOS_CERTIFICATE_PASSWORD: ${{ secrets.IOS_CERTIFICATE_PASSWORD }} + IOS_PROVISIONING_PROFILE: ${{ secrets.IOS_PROVISIONING_PROFILE }} + IOS_PROVISIONING_PROFILE_SHARE_EXTENSION: ${{ secrets.IOS_PROVISIONING_PROFILE_SHARE_EXTENSION }}misc/release/notes.tmpl + IOS_PROVISIONING_PROFILE_WIDGET_EXTENSION: ${{ secrets.IOS_PROVISIONING_PROFILE_WIDGET_EXTENSION }} + IOS_DEVELOPMENT_PROVISIONING_PROFILE: ${{ secrets.IOS_DEVELOPMENT_PROVISIONING_PROFILE }} + IOS_DEVELOPMENT_PROVISIONING_PROFILE_SHARE_EXTENSION: ${{ secrets.IOS_DEVELOPMENT_PROVISIONING_PROFILE_SHARE_EXTENSION }} + IOS_DEVELOPMENT_PROVISIONING_PROFILE_WIDGET_EXTENSION: ${{ secrets.IOS_DEVELOPMENT_PROVISIONING_PROFILE_WIDGET_EXTENSION }} + FASTLANE_TEAM_ID: ${{ secrets.FASTLANE_TEAM_ID }} + with: + ref: main + environment: production + + prepare_release: + runs-on: ubuntu-latest + needs: build_mobile + permissions: + actions: read # To download the app artifact + steps: + - name: Generate a token + id: generate-token + uses: actions/create-github-app-token@67018539274d69449ef7c02e8e71183d1719ab42 # v2.1.4 + with: + app-id: ${{ secrets.PUSH_O_MATIC_APP_ID }} + private-key: ${{ secrets.PUSH_O_MATIC_APP_KEY }} + + - name: Checkout + uses: actions/checkout@93cb6efe18208431cddfb8368fd83d5badbf9bfd # v5.0.1 + with: + token: ${{ steps.generate-token.outputs.token }} + persist-credentials: false + ref: main + + - name: Extract changelog + id: changelog + run: | + CHANGELOG_PATH=$RUNNER_TEMP/changelog.md + sed -n '1,/^---$/p' CHANGELOG.md | head -n -1 > $CHANGELOG_PATH + echo "path=$CHANGELOG_PATH" >> $GITHUB_OUTPUT + VERSION=$(sed -n 's/^# //p' $CHANGELOG_PATH) + echo "version=$VERSION" >> $GITHUB_OUTPUT + + - name: Download APK + uses: actions/download-artifact@634f93cb2916e3fdff6788551b99b062d0335ce0 # v5.0.0 + with: + name: release-apk-signed + github-token: ${{ steps.generate-token.outputs.token }} + + - name: Create draft release + uses: softprops/action-gh-release@5be0e66d93ac7ed76da52eca8bb058f665c3a5fe # v2.4.2 + with: + tag_name: ${{ steps.version.outputs.result }} + token: ${{ steps.generate-token.outputs.token }} + body_path: ${{ steps.changelog.outputs.path }} + draft: true + files: | + docker/docker-compose.yml + docker/example.env + docker/hwaccel.ml.yml + docker/hwaccel.transcoding.yml + docker/prometheus.yml + *.apk + + - name: Rename Outline document + uses: actions/github-script@ed597411d8f924073f98dfc5c65a23a2325f34cd # v8.0.0 + continue-on-error: true + env: + OUTLINE_API_KEY: ${{ secrets.OUTLINE_API_KEY }} + VERSION: ${{ steps.changelog.outputs.version }} + with: + github-token: ${{ steps.generate-token.outputs.token }} + script: | + const outlineKey = process.env.OUTLINE_API_KEY; + const version = process.env.VERSION; + const parentDocumentId = 'da856355-0844-43df-bd71-f8edce5382d9'; + const baseUrl = 'https://outline.immich.cloud'; + + const listResponse = await fetch(`${baseUrl}/api/documents.list`, { + method: 'POST', + headers: { + 'Authorization': `Bearer ${outlineKey}`, + 'Content-Type': 'application/json' + }, + body: JSON.stringify({ parentDocumentId }) + }); + + if (!listResponse.ok) { + throw new Error(`Outline list failed: ${listResponse.statusText}`); + } + + const listData = await listResponse.json(); + const allDocuments = listData.data || []; + const document = allDocuments.find(doc => doc.title === 'next'); + + if (document) { + console.log(`Found document 'next', renaming to '${version}'...`); + + const updateResponse = await fetch(`${baseUrl}/api/documents.update`, { + method: 'POST', + headers: { + 'Authorization': `Bearer ${outlineKey}`, + 'Content-Type': 'application/json' + }, + body: JSON.stringify({ + id: document.id, + title: version + }) + }); + + if (!updateResponse.ok) { + throw new Error(`Failed to rename document: ${updateResponse.statusText}`); + } + } else { + console.log('No document titled "next" found to rename'); + } diff --git a/.github/workflows/sdk.yml b/.github/workflows/sdk.yml index 12bdbc55bf..dc8cc34cb2 100644 --- a/.github/workflows/sdk.yml +++ b/.github/workflows/sdk.yml @@ -22,7 +22,7 @@ jobs: app-id: ${{ secrets.PUSH_O_MATIC_APP_ID }} private-key: ${{ secrets.PUSH_O_MATIC_APP_KEY }} - - uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0 + - uses: actions/checkout@93cb6efe18208431cddfb8368fd83d5badbf9bfd # v5.0.1 with: persist-credentials: false token: ${{ steps.token.outputs.token }} diff --git a/.github/workflows/static_analysis.yml b/.github/workflows/static_analysis.yml index 99ee773af4..2b72ceb40a 100644 --- a/.github/workflows/static_analysis.yml +++ b/.github/workflows/static_analysis.yml @@ -55,7 +55,7 @@ jobs: private-key: ${{ secrets.PUSH_O_MATIC_APP_KEY }} - name: Checkout code - uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0 + uses: actions/checkout@93cb6efe18208431cddfb8368fd83d5badbf9bfd # v5.0.1 with: persist-credentials: false token: ${{ steps.token.outputs.token }} diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml index 44d7250f2f..cf3255ca4b 100644 --- a/.github/workflows/test.yml +++ b/.github/workflows/test.yml @@ -69,7 +69,7 @@ jobs: private-key: ${{ secrets.PUSH_O_MATIC_APP_KEY }} - name: Checkout code - uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0 + uses: actions/checkout@93cb6efe18208431cddfb8368fd83d5badbf9bfd # v5.0.1 with: persist-credentials: false token: ${{ steps.token.outputs.token }} @@ -114,7 +114,7 @@ jobs: private-key: ${{ secrets.PUSH_O_MATIC_APP_KEY }} - name: Checkout code - uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0 + uses: actions/checkout@93cb6efe18208431cddfb8368fd83d5badbf9bfd # v5.0.1 with: persist-credentials: false token: ${{ steps.token.outputs.token }} @@ -161,7 +161,7 @@ jobs: private-key: ${{ secrets.PUSH_O_MATIC_APP_KEY }} - name: Checkout code - uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0 + uses: actions/checkout@93cb6efe18208431cddfb8368fd83d5badbf9bfd # v5.0.1 with: persist-credentials: false token: ${{ steps.token.outputs.token }} @@ -203,7 +203,7 @@ jobs: private-key: ${{ secrets.PUSH_O_MATIC_APP_KEY }} - name: Checkout code - uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0 + uses: actions/checkout@93cb6efe18208431cddfb8368fd83d5badbf9bfd # v5.0.1 with: persist-credentials: false token: ${{ steps.token.outputs.token }} @@ -247,7 +247,7 @@ jobs: private-key: ${{ secrets.PUSH_O_MATIC_APP_KEY }} - name: Checkout code - uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0 + uses: actions/checkout@93cb6efe18208431cddfb8368fd83d5badbf9bfd # v5.0.1 with: persist-credentials: false token: ${{ steps.token.outputs.token }} @@ -285,7 +285,7 @@ jobs: private-key: ${{ secrets.PUSH_O_MATIC_APP_KEY }} - name: Checkout code - uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0 + uses: actions/checkout@93cb6efe18208431cddfb8368fd83d5badbf9bfd # v5.0.1 with: persist-credentials: false token: ${{ steps.token.outputs.token }} @@ -333,7 +333,7 @@ jobs: private-key: ${{ secrets.PUSH_O_MATIC_APP_KEY }} - name: Checkout code - uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0 + uses: actions/checkout@93cb6efe18208431cddfb8368fd83d5badbf9bfd # v5.0.1 with: persist-credentials: false token: ${{ steps.token.outputs.token }} @@ -379,7 +379,7 @@ jobs: private-key: ${{ secrets.PUSH_O_MATIC_APP_KEY }} - name: Checkout code - uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0 + uses: actions/checkout@93cb6efe18208431cddfb8368fd83d5badbf9bfd # v5.0.1 with: persist-credentials: false submodules: 'recursive' @@ -418,7 +418,7 @@ jobs: private-key: ${{ secrets.PUSH_O_MATIC_APP_KEY }} - name: Checkout code - uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0 + uses: actions/checkout@93cb6efe18208431cddfb8368fd83d5badbf9bfd # v5.0.1 with: persist-credentials: false submodules: 'recursive' @@ -473,7 +473,7 @@ jobs: private-key: ${{ secrets.PUSH_O_MATIC_APP_KEY }} - name: Checkout code - uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0 + uses: actions/checkout@93cb6efe18208431cddfb8368fd83d5badbf9bfd # v5.0.1 with: persist-credentials: false submodules: 'recursive' @@ -500,8 +500,16 @@ jobs: run: docker compose build if: ${{ !cancelled() }} - name: Run e2e tests (web) + env: + CI: true run: npx playwright test if: ${{ !cancelled() }} + - name: Archive test results + uses: actions/upload-artifact@330a01c490aca151604b8cf639adc76d48f6c5d4 # v5.0.0 + if: success() || failure() + with: + name: e2e-web-test-results-${{ matrix.runner }} + path: e2e/playwright-report/ success-check-e2e: name: End-to-End Tests Success needs: [e2e-tests-server-cli, e2e-tests-web] @@ -526,7 +534,7 @@ jobs: app-id: ${{ secrets.PUSH_O_MATIC_APP_ID }} private-key: ${{ secrets.PUSH_O_MATIC_APP_KEY }} - - uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0 + - uses: actions/checkout@93cb6efe18208431cddfb8368fd83d5badbf9bfd # v5.0.1 with: persist-credentials: false token: ${{ steps.token.outputs.token }} @@ -558,12 +566,12 @@ jobs: app-id: ${{ secrets.PUSH_O_MATIC_APP_ID }} private-key: ${{ secrets.PUSH_O_MATIC_APP_KEY }} - - uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0 + - uses: actions/checkout@93cb6efe18208431cddfb8368fd83d5badbf9bfd # v5.0.1 with: persist-credentials: false token: ${{ steps.token.outputs.token }} - name: Install uv - uses: astral-sh/setup-uv@85856786d1ce8acfbcc2f13a5f3fbd6b938f9f41 # v7.1.2 + uses: astral-sh/setup-uv@5a7eac68fb9809dea845d802897dc5c723910fa3 # v7.1.3 - uses: actions/setup-python@e797f83bcb11b83ae66e0230d6156d7c80228e7c # v6.0.0 # TODO: add caching when supported (https://github.com/actions/setup-python/pull/818) # with: @@ -602,7 +610,7 @@ jobs: private-key: ${{ secrets.PUSH_O_MATIC_APP_KEY }} - name: Checkout code - uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0 + uses: actions/checkout@93cb6efe18208431cddfb8368fd83d5badbf9bfd # v5.0.1 with: persist-credentials: false token: ${{ steps.token.outputs.token }} @@ -631,7 +639,7 @@ jobs: app-id: ${{ secrets.PUSH_O_MATIC_APP_ID }} private-key: ${{ secrets.PUSH_O_MATIC_APP_KEY }} - - uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0 + - uses: actions/checkout@93cb6efe18208431cddfb8368fd83d5badbf9bfd # v5.0.1 with: persist-credentials: false token: ${{ steps.token.outputs.token }} @@ -653,7 +661,7 @@ jobs: private-key: ${{ secrets.PUSH_O_MATIC_APP_KEY }} - name: Checkout code - uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0 + uses: actions/checkout@93cb6efe18208431cddfb8368fd83d5badbf9bfd # v5.0.1 with: persist-credentials: false token: ${{ steps.token.outputs.token }} @@ -715,7 +723,7 @@ jobs: private-key: ${{ secrets.PUSH_O_MATIC_APP_KEY }} - name: Checkout code - uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0 + uses: actions/checkout@93cb6efe18208431cddfb8368fd83d5badbf9bfd # v5.0.1 with: persist-credentials: false token: ${{ steps.token.outputs.token }} diff --git a/.github/workflows/weblate-lock.yml b/.github/workflows/weblate-lock.yml index 1f0a7608d1..e37497b9bb 100644 --- a/.github/workflows/weblate-lock.yml +++ b/.github/workflows/weblate-lock.yml @@ -36,8 +36,7 @@ jobs: github-token: ${{ steps.token.outputs.token }} filters: | i18n: - - 'i18n/!(en)**\.json' - exclude-branches: 'chore/translations' + - modified: 'i18n/!(en)**\.json' skip-force-logic: 'true' enforce-lock: diff --git a/README.md b/README.md index b540408475..7e06d9de4b 100644 --- a/README.md +++ b/README.md @@ -118,16 +118,16 @@ Read more about translations [here](https://docs.immich.app/developer/translatio ## Star history - + - - - Star History Chart + + + Star History Chart ## Contributors - + diff --git a/cli/package.json b/cli/package.json index 118920f19f..bfd318d471 100644 --- a/cli/package.json +++ b/cli/package.json @@ -1,6 +1,6 @@ { "name": "@immich/cli", - "version": "2.2.101", + "version": "2.2.103", "description": "Command Line Interface (CLI) for Immich", "type": "module", "exports": "./dist/index.js", diff --git a/docs/docs/developer/devcontainers.md b/docs/docs/developer/devcontainers.md index 0a1946e6c1..f50ec62d8a 100644 --- a/docs/docs/developer/devcontainers.md +++ b/docs/docs/developer/devcontainers.md @@ -256,7 +256,7 @@ The Dev Container supports multiple ways to run tests: ```bash # Run tests for specific components -make test-server # Server unit tests +make test-server # Server unit tests make test-web # Web unit tests make test-e2e # End-to-end tests make test-cli # CLI tests @@ -268,12 +268,13 @@ make test-all # Runs tests for all components make test-medium-dev # End-to-end tests ``` -#### Using NPM Directly +#### Using PNPM Directly ```bash # Server tests cd /workspaces/immich/server -pnpm test # Run all tests +pnpm test # Run all tests +pnpm run test:medium # Medium tests (integration tests) pnpm run test:watch # Watch mode pnpm run test:cov # Coverage report @@ -293,21 +294,21 @@ pnpm run test:web # Run web UI tests ```bash # Linting make lint-server # Lint server code -make lint-web # Lint web code -make lint-all # Lint all components +make lint-web # Lint web code +make lint-all # Lint all components # Formatting make format-server # Format server code -make format-web # Format web code -make format-all # Format all code +make format-web # Format web code +make format-all # Format all code # Type checking make check-server # Type check server -make check-web # Type check web -make check-all # Check all components +make check-web # Type check web +make check-all # Check all components # Complete hygiene check -make hygiene-all # Runs lint, format, check, SQL sync, and audit +make hygiene-all # Run lint, format, check, SQL sync, and audit ``` ### Additional Make Commands @@ -315,21 +316,21 @@ make hygiene-all # Runs lint, format, check, SQL sync, and audit ```bash # Build commands make build-server # Build server -make build-web # Build web app -make build-all # Build everything +make build-web # Build web app +make build-all # Build everything # API generation -make open-api # Generate OpenAPI specs +make open-api # Generate OpenAPI specs make open-api-typescript # Generate TypeScript SDK -make open-api-dart # Generate Dart SDK +make open-api-dart # Generate Dart SDK # Database -make sql # Sync database schema +make sql # Sync database schema # Dependencies -make install-server # Install server dependencies -make install-web # Install web dependencies -make install-all # Install all dependencies +make install-server # Install server dependencies +make install-web # Install web dependencies +make install-all # Install all dependencies ``` ### Debugging diff --git a/docs/static/archived-versions.json b/docs/static/archived-versions.json index 6affb532c9..87dc3f3465 100644 --- a/docs/static/archived-versions.json +++ b/docs/static/archived-versions.json @@ -1,4 +1,12 @@ [ + { + "label": "v2.3.1", + "url": "https://docs.v2.3.1.archive.immich.app" + }, + { + "label": "v2.3.0", + "url": "https://docs.v2.3.0.archive.immich.app" + }, { "label": "v2.2.3", "url": "https://docs.v2.2.3.archive.immich.app" diff --git a/e2e/.gitignore b/e2e/.gitignore index bbc06c5549..00b1601f07 100644 --- a/e2e/.gitignore +++ b/e2e/.gitignore @@ -4,3 +4,4 @@ node_modules/ /blob-report/ /playwright/.cache/ /dist +.env diff --git a/e2e/docker-compose.yml b/e2e/docker-compose.yml index 3d62c8a34a..867a367d54 100644 --- a/e2e/docker-compose.yml +++ b/e2e/docker-compose.yml @@ -7,6 +7,9 @@ services: build: context: ../ dockerfile: server/Dockerfile + cache_from: + - type=registry,ref=ghcr.io/immich-app/immich-server-build-cache:linux-amd64-cc099f297acd18c924b35ece3245215b53d106eb2518e3af6415931d055746cd-main + - type=registry,ref=ghcr.io/immich-app/immich-server-build-cache:linux-arm64-cc099f297acd18c924b35ece3245215b53d106eb2518e3af6415931d055746cd-main args: - BUILD_ID=1234567890 - BUILD_IMAGE=e2e diff --git a/e2e/package.json b/e2e/package.json index 9ea02161e4..47a4df6dc4 100644 --- a/e2e/package.json +++ b/e2e/package.json @@ -1,6 +1,6 @@ { "name": "immich-e2e", - "version": "2.2.3", + "version": "2.3.1", "description": "", "main": "index.js", "type": "module", @@ -20,6 +20,7 @@ "license": "GNU Affero General Public License version 3", "devDependencies": { "@eslint/js": "^9.8.0", + "@faker-js/faker": "^10.1.0", "@immich/cli": "file:../cli", "@immich/sdk": "file:../open-api/typescript-sdk", "@playwright/test": "^1.44.1", @@ -30,6 +31,7 @@ "@types/pg": "^8.15.1", "@types/pngjs": "^6.0.4", "@types/supertest": "^6.0.2", + "dotenv": "^17.2.3", "eslint": "^9.14.0", "eslint-config-prettier": "^10.1.8", "eslint-plugin-prettier": "^5.1.3", diff --git a/e2e/playwright.config.ts b/e2e/playwright.config.ts index 2576a2c5c9..4ae542bacf 100644 --- a/e2e/playwright.config.ts +++ b/e2e/playwright.config.ts @@ -1,23 +1,50 @@ -import { defineConfig, devices } from '@playwright/test'; +import { defineConfig, devices, PlaywrightTestConfig } from '@playwright/test'; +import dotenv from 'dotenv'; +import { cpus } from 'node:os'; +import { resolve } from 'node:path'; -export default defineConfig({ +dotenv.config({ path: resolve(import.meta.dirname, '.env') }); + +export const playwrightHost = process.env.PLAYWRIGHT_HOST ?? '127.0.0.1'; +export const playwrightDbHost = process.env.PLAYWRIGHT_DB_HOST ?? '127.0.0.1'; +export const playwriteBaseUrl = process.env.PLAYWRIGHT_BASE_URL ?? `http://${playwrightHost}:2285`; +export const playwriteSlowMo = parseInt(process.env.PLAYWRIGHT_SLOW_MO ?? '0'); +export const playwrightDisableWebserver = process.env.PLAYWRIGHT_DISABLE_WEBSERVER; + +process.env.PW_EXPERIMENTAL_SERVICE_WORKER_NETWORK_EVENTS = '1'; + +const config: PlaywrightTestConfig = { testDir: './src/web/specs', fullyParallel: false, forbidOnly: !!process.env.CI, - retries: process.env.CI ? 2 : 0, - workers: 1, + retries: process.env.CI ? 4 : 0, reporter: 'html', use: { - baseURL: 'http://127.0.0.1:2285', + baseURL: playwriteBaseUrl, trace: 'on-first-retry', + screenshot: 'only-on-failure', + launchOptions: { + slowMo: playwriteSlowMo, + }, }, testMatch: /.*\.e2e-spec\.ts/, + workers: process.env.CI ? 4 : Math.round(cpus().length * 0.75), + projects: [ { name: 'chromium', use: { ...devices['Desktop Chrome'] }, + testMatch: /.*\.e2e-spec\.ts/, + workers: 1, + }, + { + name: 'parallel tests', + use: { ...devices['Desktop Chrome'] }, + testMatch: /.*\.parallel-e2e-spec\.ts/, + fullyParallel: true, + workers: process.env.CI ? 3 : Math.max(1, Math.round(cpus().length * 0.75) - 1), }, // { @@ -59,4 +86,8 @@ export default defineConfig({ stderr: 'pipe', reuseExistingServer: true, }, -}); +}; +if (playwrightDisableWebserver) { + delete config.webServer; +} +export default defineConfig(config); diff --git a/e2e/src/generators/timeline.ts b/e2e/src/generators/timeline.ts new file mode 100644 index 0000000000..d4c91d667f --- /dev/null +++ b/e2e/src/generators/timeline.ts @@ -0,0 +1,37 @@ +export { generateTimelineData } from './timeline/model-objects'; + +export { createDefaultTimelineConfig, validateTimelineConfig } from './timeline/timeline-config'; + +export type { + MockAlbum, + MonthSpec, + SerializedTimelineData, + MockTimelineAsset as TimelineAssetConfig, + TimelineConfig, + MockTimelineData as TimelineData, +} from './timeline/timeline-config'; + +export { + getAlbum, + getAsset, + getTimeBucket, + getTimeBuckets, + toAssetResponseDto, + toColumnarFormat, +} from './timeline/rest-response'; + +export type { Changes } from './timeline/rest-response'; + +export { randomImage, randomImageFromString, randomPreview, randomThumbnail } from './timeline/images'; + +export { + SeededRandom, + getMockAsset, + parseTimeBucketKey, + selectRandom, + selectRandomDays, + selectRandomMultiple, +} from './timeline/utils'; + +export { ASSET_DISTRIBUTION, DAY_DISTRIBUTION } from './timeline/distribution-patterns'; +export type { DayPattern, MonthDistribution } from './timeline/distribution-patterns'; diff --git a/e2e/src/generators/timeline/distribution-patterns.ts b/e2e/src/generators/timeline/distribution-patterns.ts new file mode 100644 index 0000000000..ae621fd9c5 --- /dev/null +++ b/e2e/src/generators/timeline/distribution-patterns.ts @@ -0,0 +1,183 @@ +import { generateConsecutiveDays, generateDayAssets } from 'src/generators/timeline/model-objects'; +import { SeededRandom, selectRandomDays } from 'src/generators/timeline/utils'; +import type { MockTimelineAsset } from './timeline-config'; +import { GENERATION_CONSTANTS } from './timeline-config'; + +type AssetDistributionStrategy = (rng: SeededRandom) => number; + +type DayDistributionStrategy = ( + year: number, + month: number, + daysInMonth: number, + totalAssets: number, + ownerId: string, + rng: SeededRandom, +) => MockTimelineAsset[]; + +/** + * Strategies for determining total asset count per month + */ +export const ASSET_DISTRIBUTION: Record = { + empty: null, // Special case - handled separately + sparse: (rng) => rng.nextInt(3, 9), // 3-8 assets + medium: (rng) => rng.nextInt(15, 31), // 15-30 assets + dense: (rng) => rng.nextInt(50, 81), // 50-80 assets + 'very-dense': (rng) => rng.nextInt(80, 151), // 80-150 assets +}; + +/** + * Strategies for distributing assets across days within a month + */ +export const DAY_DISTRIBUTION: Record = { + 'single-day': (year, month, daysInMonth, totalAssets, ownerId, rng) => { + // All assets on one day in the middle of the month + const day = Math.floor(daysInMonth / 2); + return generateDayAssets(year, month, day, totalAssets, ownerId, rng); + }, + + 'consecutive-large': (year, month, daysInMonth, totalAssets, ownerId, rng) => { + // 3-5 consecutive days with evenly distributed assets + const numDays = Math.min(5, Math.floor(totalAssets / 15)); + const startDay = rng.nextInt(1, daysInMonth - numDays + 2); + return generateConsecutiveDays(year, month, startDay, numDays, totalAssets, ownerId, rng); + }, + + 'consecutive-small': (year, month, daysInMonth, totalAssets, ownerId, rng) => { + // Multiple consecutive days with 1-3 assets each (side-by-side layout) + const assets: MockTimelineAsset[] = []; + const numDays = Math.min(totalAssets, Math.floor(daysInMonth / 2)); + const startDay = rng.nextInt(1, daysInMonth - numDays + 2); + let assetIndex = 0; + + for (let i = 0; i < numDays && assetIndex < totalAssets; i++) { + const dayAssets = Math.min(3, rng.nextInt(1, 4)); + const actualAssets = Math.min(dayAssets, totalAssets - assetIndex); + // Create a new RNG for this day + const dayRng = new SeededRandom(rng.nextInt(0, 1_000_000)); + assets.push(...generateDayAssets(year, month, startDay + i, actualAssets, ownerId, dayRng)); + assetIndex += actualAssets; + } + return assets; + }, + + alternating: (year, month, daysInMonth, totalAssets, ownerId, rng) => { + // Alternate between large (15-25) and small (1-3) days + const assets: MockTimelineAsset[] = []; + let day = 1; + let isLarge = true; + let assetIndex = 0; + + while (assetIndex < totalAssets && day <= daysInMonth) { + const dayAssets = isLarge ? Math.min(25, rng.nextInt(15, 26)) : rng.nextInt(1, 4); + + const actualAssets = Math.min(dayAssets, totalAssets - assetIndex); + // Create a new RNG for this day + const dayRng = new SeededRandom(rng.nextInt(0, 1_000_000)); + assets.push(...generateDayAssets(year, month, day, actualAssets, ownerId, dayRng)); + assetIndex += actualAssets; + + day += isLarge ? 1 : 1; // Could add gaps here + isLarge = !isLarge; + } + return assets; + }, + + 'sparse-scattered': (year, month, daysInMonth, totalAssets, ownerId, rng) => { + // Spread assets across random days with gaps + const assets: MockTimelineAsset[] = []; + const numDays = Math.min(totalAssets, Math.floor(daysInMonth * GENERATION_CONSTANTS.SPARSE_DAY_COVERAGE)); + const daysWithPhotos = selectRandomDays(daysInMonth, numDays, rng); + let assetIndex = 0; + + for (let i = 0; i < daysWithPhotos.length && assetIndex < totalAssets; i++) { + const dayAssets = + Math.floor(totalAssets / numDays) + (i === daysWithPhotos.length - 1 ? totalAssets % numDays : 0); + // Create a new RNG for this day + const dayRng = new SeededRandom(rng.nextInt(0, 1_000_000)); + assets.push(...generateDayAssets(year, month, daysWithPhotos[i], dayAssets, ownerId, dayRng)); + assetIndex += dayAssets; + } + return assets; + }, + + 'start-heavy': (year, month, daysInMonth, totalAssets, ownerId, rng) => { + // Most assets in first week + const assets: MockTimelineAsset[] = []; + const firstWeekAssets = Math.floor(totalAssets * 0.7); + const remainingAssets = totalAssets - firstWeekAssets; + + // First 7 days + assets.push(...generateConsecutiveDays(year, month, 1, 7, firstWeekAssets, ownerId, rng)); + + // Remaining scattered + if (remainingAssets > 0) { + const midDay = Math.floor(daysInMonth / 2); + // Create a new RNG for the remaining assets + const remainingRng = new SeededRandom(rng.nextInt(0, 1_000_000)); + assets.push(...generateDayAssets(year, month, midDay, remainingAssets, ownerId, remainingRng)); + } + return assets; + }, + + 'end-heavy': (year, month, daysInMonth, totalAssets, ownerId, rng) => { + // Most assets in last week + const assets: MockTimelineAsset[] = []; + const lastWeekAssets = Math.floor(totalAssets * 0.7); + const remainingAssets = totalAssets - lastWeekAssets; + + // Remaining at start + if (remainingAssets > 0) { + // Create a new RNG for the start assets + const startRng = new SeededRandom(rng.nextInt(0, 1_000_000)); + assets.push(...generateDayAssets(year, month, 2, remainingAssets, ownerId, startRng)); + } + + // Last 7 days + const startDay = daysInMonth - 6; + assets.push(...generateConsecutiveDays(year, month, startDay, 7, lastWeekAssets, ownerId, rng)); + return assets; + }, + + 'mid-heavy': (year, month, daysInMonth, totalAssets, ownerId, rng) => { + // Most assets in middle of month + const assets: MockTimelineAsset[] = []; + const midAssets = Math.floor(totalAssets * 0.7); + const sideAssets = Math.floor((totalAssets - midAssets) / 2); + + // Start + if (sideAssets > 0) { + // Create a new RNG for the start assets + const startRng = new SeededRandom(rng.nextInt(0, 1_000_000)); + assets.push(...generateDayAssets(year, month, 2, sideAssets, ownerId, startRng)); + } + + // Middle + const midStart = Math.floor(daysInMonth / 2) - 3; + assets.push(...generateConsecutiveDays(year, month, midStart, 7, midAssets, ownerId, rng)); + + // End + const endAssets = totalAssets - midAssets - sideAssets; + if (endAssets > 0) { + // Create a new RNG for the end assets + const endRng = new SeededRandom(rng.nextInt(0, 1_000_000)); + assets.push(...generateDayAssets(year, month, daysInMonth - 1, endAssets, ownerId, endRng)); + } + return assets; + }, +}; +export type MonthDistribution = + | 'empty' // 0 assets + | 'sparse' // 3-8 assets + | 'medium' // 15-30 assets + | 'dense' // 50-80 assets + | 'very-dense'; // 80-150 assets + +export type DayPattern = + | 'single-day' // All images in one day + | 'consecutive-large' // Multiple days with 15-25 images each + | 'consecutive-small' // Multiple days with 1-3 images each (side-by-side) + | 'alternating' // Alternating large/small days + | 'sparse-scattered' // Few images scattered across month + | 'start-heavy' // Most images at start of month + | 'end-heavy' // Most images at end of month + | 'mid-heavy'; // Most images in middle of month diff --git a/e2e/src/generators/timeline/images.ts b/e2e/src/generators/timeline/images.ts new file mode 100644 index 0000000000..69ec576714 --- /dev/null +++ b/e2e/src/generators/timeline/images.ts @@ -0,0 +1,111 @@ +import sharp from 'sharp'; +import { SeededRandom } from 'src/generators/timeline/utils'; + +export const randomThumbnail = async (seed: string, ratio: number) => { + const height = 235; + const width = Math.round(height * ratio); + return randomImageFromString(seed, { width, height }); +}; + +export const randomPreview = async (seed: string, ratio: number) => { + const height = 500; + const width = Math.round(height * ratio); + return randomImageFromString(seed, { width, height }); +}; + +export const randomImageFromString = async ( + seed: string = '', + { width = 100, height = 100 }: { width: number; height: number }, +) => { + // Convert string to number for seeding + let seedNumber = 0; + for (let i = 0; i < seed.length; i++) { + seedNumber = (seedNumber << 5) - seedNumber + (seed.codePointAt(i) ?? 0); + seedNumber = seedNumber & seedNumber; // Convert to 32bit integer + } + return randomImage(new SeededRandom(Math.abs(seedNumber)), { width, height }); +}; + +export const randomImage = async (rng: SeededRandom, { width, height }: { width: number; height: number }) => { + const r1 = rng.nextInt(0, 256); + const g1 = rng.nextInt(0, 256); + const b1 = rng.nextInt(0, 256); + const r2 = rng.nextInt(0, 256); + const g2 = rng.nextInt(0, 256); + const b2 = rng.nextInt(0, 256); + const patternType = rng.nextInt(0, 5); + + let svgPattern = ''; + + switch (patternType) { + case 0: { + // Solid color + svgPattern = ` + + `; + break; + } + + case 1: { + // Horizontal stripes + const stripeHeight = 10; + svgPattern = ` + ${Array.from( + { length: height / stripeHeight }, + (_, i) => + ``, + ).join('')} + `; + break; + } + + case 2: { + // Vertical stripes + const stripeWidth = 10; + svgPattern = ` + ${Array.from( + { length: width / stripeWidth }, + (_, i) => + ``, + ).join('')} + `; + break; + } + + case 3: { + // Checkerboard + const squareSize = 10; + svgPattern = ` + ${Array.from({ length: height / squareSize }, (_, row) => + Array.from({ length: width / squareSize }, (_, col) => { + const isEven = (row + col) % 2 === 0; + return ``; + }).join(''), + ).join('')} + `; + break; + } + + case 4: { + // Diagonal stripes + svgPattern = ` + + + + + + + + `; + break; + } + } + + const svgBuffer = Buffer.from(svgPattern); + const jpegData = await sharp(svgBuffer).jpeg({ quality: 50 }).toBuffer(); + return jpegData; +}; diff --git a/e2e/src/generators/timeline/model-objects.ts b/e2e/src/generators/timeline/model-objects.ts new file mode 100644 index 0000000000..f06596fd1a --- /dev/null +++ b/e2e/src/generators/timeline/model-objects.ts @@ -0,0 +1,265 @@ +/** + * Generator functions for timeline model objects + */ + +import { faker } from '@faker-js/faker'; +import { AssetVisibility } from '@immich/sdk'; +import { DateTime } from 'luxon'; +import { writeFileSync } from 'node:fs'; +import { SeededRandom } from 'src/generators/timeline/utils'; +import type { DayPattern, MonthDistribution } from './distribution-patterns'; +import { ASSET_DISTRIBUTION, DAY_DISTRIBUTION } from './distribution-patterns'; +import type { MockTimelineAsset, MockTimelineData, SerializedTimelineData, TimelineConfig } from './timeline-config'; +import { ASPECT_RATIO_WEIGHTS, GENERATION_CONSTANTS, validateTimelineConfig } from './timeline-config'; + +/** + * Generate a random aspect ratio based on weighted probabilities + */ +export function generateAspectRatio(rng: SeededRandom): string { + const random = rng.next(); + let cumulative = 0; + + for (const [ratio, weight] of Object.entries(ASPECT_RATIO_WEIGHTS)) { + cumulative += weight; + if (random < cumulative) { + return ratio; + } + } + return '16:9'; // Default fallback +} + +export function generateThumbhash(rng: SeededRandom): string { + return Array.from({ length: 10 }, () => rng.nextInt(0, 256).toString(16).padStart(2, '0')).join(''); +} + +export function generateDuration(rng: SeededRandom): string { + return `${rng.nextInt(GENERATION_CONSTANTS.MIN_VIDEO_DURATION_SECONDS, GENERATION_CONSTANTS.MAX_VIDEO_DURATION_SECONDS)}.${rng.nextInt(0, 1000).toString().padStart(3, '0')}`; +} + +export function generateUUID(): string { + return faker.string.uuid(); +} + +export function generateAsset( + year: number, + month: number, + day: number, + ownerId: string, + rng: SeededRandom, +): MockTimelineAsset { + const from = DateTime.fromObject({ year, month, day }).setZone('UTC'); + const to = from.endOf('day'); + const date = faker.date.between({ from: from.toJSDate(), to: to.toJSDate() }); + const isVideo = rng.next() < GENERATION_CONSTANTS.VIDEO_PROBABILITY; + + const assetId = generateUUID(); + const hasGPS = rng.next() < GENERATION_CONSTANTS.GPS_PERCENTAGE; + + const ratio = generateAspectRatio(rng); + + const asset: MockTimelineAsset = { + id: assetId, + ownerId, + ratio: Number.parseFloat(ratio.split(':')[0]) / Number.parseFloat(ratio.split(':')[1]), + thumbhash: generateThumbhash(rng), + localDateTime: date.toISOString(), + fileCreatedAt: date.toISOString(), + isFavorite: rng.next() < GENERATION_CONSTANTS.FAVORITE_PROBABILITY, + isTrashed: false, + isVideo, + isImage: !isVideo, + duration: isVideo ? generateDuration(rng) : null, + projectionType: null, + livePhotoVideoId: null, + city: hasGPS ? faker.location.city() : null, + country: hasGPS ? faker.location.country() : null, + people: null, + latitude: hasGPS ? faker.location.latitude() : null, + longitude: hasGPS ? faker.location.longitude() : null, + visibility: AssetVisibility.Timeline, + stack: null, + fileSizeInByte: faker.number.int({ min: 510, max: 5_000_000 }), + checksum: faker.string.alphanumeric({ length: 5 }), + }; + + return asset; +} + +/** + * Generate assets for a specific day + */ +export function generateDayAssets( + year: number, + month: number, + day: number, + assetCount: number, + ownerId: string, + rng: SeededRandom, +): MockTimelineAsset[] { + return Array.from({ length: assetCount }, () => generateAsset(year, month, day, ownerId, rng)); +} + +/** + * Distribute assets evenly across consecutive days + * + * @returns Array of generated timeline assets + */ +export function generateConsecutiveDays( + year: number, + month: number, + startDay: number, + numDays: number, + totalAssets: number, + ownerId: string, + rng: SeededRandom, +): MockTimelineAsset[] { + const assets: MockTimelineAsset[] = []; + const assetsPerDay = Math.floor(totalAssets / numDays); + + for (let i = 0; i < numDays; i++) { + const dayAssets = + i === numDays - 1 + ? totalAssets - assetsPerDay * (numDays - 1) // Remainder on last day + : assetsPerDay; + // Create a new RNG with a different seed for each day + const dayRng = new SeededRandom(rng.nextInt(0, 1_000_000) + i * 100); + assets.push(...generateDayAssets(year, month, startDay + i, dayAssets, ownerId, dayRng)); + } + + return assets; +} + +/** + * Generate assets for a month with specified distribution pattern + */ +export function generateMonthAssets( + year: number, + month: number, + ownerId: string, + distribution: MonthDistribution = 'medium', + pattern: DayPattern = 'consecutive-large', + rng: SeededRandom, +): MockTimelineAsset[] { + const daysInMonth = new Date(year, month, 0).getDate(); + + if (distribution === 'empty') { + return []; + } + + const distributionStrategy = ASSET_DISTRIBUTION[distribution]; + if (!distributionStrategy) { + console.warn(`Unknown distribution: ${distribution}, defaulting to medium`); + return []; + } + const totalAssets = distributionStrategy(rng); + + const dayStrategy = DAY_DISTRIBUTION[pattern]; + if (!dayStrategy) { + console.warn(`Unknown pattern: ${pattern}, defaulting to consecutive-large`); + // Fallback to consecutive-large pattern + const numDays = Math.min(5, Math.floor(totalAssets / 15)); + const startDay = rng.nextInt(1, daysInMonth - numDays + 2); + const assets = generateConsecutiveDays(year, month, startDay, numDays, totalAssets, ownerId, rng); + assets.sort((a, b) => DateTime.fromISO(b.localDateTime).diff(DateTime.fromISO(a.localDateTime)).milliseconds); + return assets; + } + + const assets = dayStrategy(year, month, daysInMonth, totalAssets, ownerId, rng); + assets.sort((a, b) => DateTime.fromISO(b.localDateTime).diff(DateTime.fromISO(a.localDateTime)).milliseconds); + return assets; +} + +/** + * Main generator function for timeline data + */ +export function generateTimelineData(config: TimelineConfig): MockTimelineData { + validateTimelineConfig(config); + + const buckets = new Map(); + const monthStats: Record = {}; + + const globalRng = new SeededRandom(config.seed || GENERATION_CONSTANTS.DEFAULT_SEED); + faker.seed(globalRng.nextInt(0, 1_000_000)); + for (const monthConfig of config.months) { + const { year, month, distribution, pattern } = monthConfig; + + const monthSeed = globalRng.nextInt(0, 1_000_000); + const monthRng = new SeededRandom(monthSeed); + + const monthAssets = generateMonthAssets( + year, + month, + config.ownerId || generateUUID(), + distribution, + pattern, + monthRng, + ); + + if (monthAssets.length > 0) { + const monthKey = `${year}-${month.toString().padStart(2, '0')}`; + monthStats[monthKey] = { + count: monthAssets.length, + distribution, + pattern, + }; + + // Create bucket key (YYYY-MM-01) + const bucketKey = `${year}-${month.toString().padStart(2, '0')}-01`; + buckets.set(bucketKey, monthAssets); + } + } + + // Create a mock album from random assets + const allAssets = [...buckets.values()].flat(); + + // Select 10-30 random assets for the album (or all assets if less than 10) + const albumSize = Math.min(allAssets.length, globalRng.nextInt(10, 31)); + const selectedAssetConfigs: MockTimelineAsset[] = []; + const usedIndices = new Set(); + + while (selectedAssetConfigs.length < albumSize && usedIndices.size < allAssets.length) { + const randomIndex = globalRng.nextInt(0, allAssets.length); + if (!usedIndices.has(randomIndex)) { + usedIndices.add(randomIndex); + selectedAssetConfigs.push(allAssets[randomIndex]); + } + } + + // Sort selected assets by date (newest first) + selectedAssetConfigs.sort( + (a, b) => DateTime.fromISO(b.localDateTime).diff(DateTime.fromISO(a.localDateTime)).milliseconds, + ); + + const selectedAssets = selectedAssetConfigs.map((asset) => asset.id); + + const now = new Date().toISOString(); + const album = { + id: generateUUID(), + albumName: 'Test Album', + description: 'A mock album for testing', + assetIds: selectedAssets, + thumbnailAssetId: selectedAssets.length > 0 ? selectedAssets[0] : null, + createdAt: now, + updatedAt: now, + }; + + // Write to file if configured + if (config.writeToFile) { + const outputPath = config.outputPath || '/tmp/timeline-data.json'; + + // Convert Map to object for serialization + const serializedData: SerializedTimelineData = { + buckets: Object.fromEntries(buckets), + album, + }; + + try { + writeFileSync(outputPath, JSON.stringify(serializedData, null, 2)); + console.log(`Timeline data written to ${outputPath}`); + } catch (error) { + console.error(`Failed to write timeline data to ${outputPath}:`, error); + } + } + + return { buckets, album }; +} diff --git a/e2e/src/generators/timeline/rest-response.ts b/e2e/src/generators/timeline/rest-response.ts new file mode 100644 index 0000000000..6fcfe52fc2 --- /dev/null +++ b/e2e/src/generators/timeline/rest-response.ts @@ -0,0 +1,436 @@ +/** + * REST API output functions for converting timeline data to API response formats + */ + +import { + AssetTypeEnum, + AssetVisibility, + UserAvatarColor, + type AlbumResponseDto, + type AssetResponseDto, + type ExifResponseDto, + type TimeBucketAssetResponseDto, + type TimeBucketsResponseDto, + type UserResponseDto, +} from '@immich/sdk'; +import { DateTime } from 'luxon'; +import { signupDto } from 'src/fixtures'; +import { parseTimeBucketKey } from 'src/generators/timeline/utils'; +import type { MockTimelineAsset, MockTimelineData } from './timeline-config'; + +/** + * Convert timeline/asset models to columnar format (parallel arrays) + */ +export function toColumnarFormat(assets: MockTimelineAsset[]): TimeBucketAssetResponseDto { + const result: TimeBucketAssetResponseDto = { + id: [], + ownerId: [], + ratio: [], + thumbhash: [], + fileCreatedAt: [], + localOffsetHours: [], + isFavorite: [], + isTrashed: [], + isImage: [], + duration: [], + projectionType: [], + livePhotoVideoId: [], + city: [], + country: [], + visibility: [], + }; + + for (const asset of assets) { + result.id.push(asset.id); + result.ownerId.push(asset.ownerId); + result.ratio.push(asset.ratio); + result.thumbhash.push(asset.thumbhash); + result.fileCreatedAt.push(asset.fileCreatedAt); + result.localOffsetHours.push(0); // Assuming UTC for mocks + result.isFavorite.push(asset.isFavorite); + result.isTrashed.push(asset.isTrashed); + result.isImage.push(asset.isImage); + result.duration.push(asset.duration); + result.projectionType.push(asset.projectionType); + result.livePhotoVideoId.push(asset.livePhotoVideoId); + result.city.push(asset.city); + result.country.push(asset.country); + result.visibility.push(asset.visibility); + } + + if (assets.some((a) => a.latitude !== null || a.longitude !== null)) { + result.latitude = assets.map((a) => a.latitude); + result.longitude = assets.map((a) => a.longitude); + } + + result.stack = assets.map(() => null); + return result; +} + +/** + * Extract a single bucket from timeline data (mimics getTimeBucket API) + * Automatically handles both ISO timestamp and simple month formats + * Returns data in columnar format matching the actual API + * When albumId is provided, only returns assets from that album + */ +export function getTimeBucket( + timelineData: MockTimelineData, + timeBucket: string, + isTrashed: boolean | undefined, + isArchived: boolean | undefined, + isFavorite: boolean | undefined, + albumId: string | undefined, + changes: Changes, +): TimeBucketAssetResponseDto { + const bucketKey = parseTimeBucketKey(timeBucket); + let assets = timelineData.buckets.get(bucketKey); + + if (!assets) { + return toColumnarFormat([]); + } + + // Create sets for quick lookups + const deletedAssetIds = new Set(changes.assetDeletions); + const archivedAssetIds = new Set(changes.assetArchivals); + const favoritedAssetIds = new Set(changes.assetFavorites); + + // Filter assets based on trashed/archived status + assets = assets.filter((asset) => + shouldIncludeAsset(asset, isTrashed, isArchived, isFavorite, deletedAssetIds, archivedAssetIds, favoritedAssetIds), + ); + + // Filter to only include assets from the specified album + if (albumId) { + const album = timelineData.album; + if (!album || album.id !== albumId) { + return toColumnarFormat([]); + } + + // Create a Set for faster lookup + const albumAssetIds = new Set([...album.assetIds, ...changes.albumAdditions]); + assets = assets.filter((asset) => albumAssetIds.has(asset.id)); + } + + // Override properties for assets in changes arrays + const assetsWithOverrides = assets.map((asset) => { + if (deletedAssetIds.has(asset.id) || archivedAssetIds.has(asset.id) || favoritedAssetIds.has(asset.id)) { + return { + ...asset, + isFavorite: favoritedAssetIds.has(asset.id) ? true : asset.isFavorite, + isTrashed: deletedAssetIds.has(asset.id) ? true : asset.isTrashed, + visibility: archivedAssetIds.has(asset.id) ? AssetVisibility.Archive : asset.visibility, + }; + } + return asset; + }); + + return toColumnarFormat(assetsWithOverrides); +} + +export type Changes = { + // ids of assets that are newly added to the album + albumAdditions: string[]; + // ids of assets that are newly deleted + assetDeletions: string[]; + // ids of assets that are newly archived + assetArchivals: string[]; + // ids of assets that are newly favorited + assetFavorites: string[]; +}; + +/** + * Helper function to determine if an asset should be included based on filter criteria + * @param asset - The asset to check + * @param isTrashed - Filter for trashed status (undefined means no filter) + * @param isArchived - Filter for archived status (undefined means no filter) + * @param isFavorite - Filter for favorite status (undefined means no filter) + * @param deletedAssetIds - Set of IDs for assets that have been deleted + * @param archivedAssetIds - Set of IDs for assets that have been archived + * @param favoritedAssetIds - Set of IDs for assets that have been favorited + * @returns true if the asset matches all filter criteria + */ +function shouldIncludeAsset( + asset: MockTimelineAsset, + isTrashed: boolean | undefined, + isArchived: boolean | undefined, + isFavorite: boolean | undefined, + deletedAssetIds: Set, + archivedAssetIds: Set, + favoritedAssetIds: Set, +): boolean { + // Determine actual status (property or in changes) + const actuallyTrashed = asset.isTrashed || deletedAssetIds.has(asset.id); + const actuallyArchived = asset.visibility === 'archive' || archivedAssetIds.has(asset.id); + const actuallyFavorited = asset.isFavorite || favoritedAssetIds.has(asset.id); + + // Apply filters + if (isTrashed !== undefined && actuallyTrashed !== isTrashed) { + return false; + } + if (isArchived !== undefined && actuallyArchived !== isArchived) { + return false; + } + if (isFavorite !== undefined && actuallyFavorited !== isFavorite) { + return false; + } + + return true; +} +/** + * Get summary for all buckets (mimics getTimeBuckets API) + * When albumId is provided, only includes buckets that contain assets from that album + */ +export function getTimeBuckets( + timelineData: MockTimelineData, + isTrashed: boolean | undefined, + isArchived: boolean | undefined, + isFavorite: boolean | undefined, + albumId: string | undefined, + changes: Changes, +): TimeBucketsResponseDto[] { + const summary: TimeBucketsResponseDto[] = []; + + // Create sets for quick lookups + const deletedAssetIds = new Set(changes.assetDeletions); + const archivedAssetIds = new Set(changes.assetArchivals); + const favoritedAssetIds = new Set(changes.assetFavorites); + + // If no albumId is specified, return summary for all assets + if (albumId) { + // Filter to only include buckets with assets from the specified album + const album = timelineData.album; + if (!album || album.id !== albumId) { + return []; + } + + // Create a Set for faster lookup + const albumAssetIds = new Set([...album.assetIds, ...changes.albumAdditions]); + for (const removed of changes.assetDeletions) { + albumAssetIds.delete(removed); + } + for (const [bucketKey, assets] of timelineData.buckets) { + // Count how many assets in this bucket are in the album and match trashed/archived filters + const albumAssetsInBucket = assets.filter((asset) => { + // Must be in the album + if (!albumAssetIds.has(asset.id)) { + return false; + } + + return shouldIncludeAsset( + asset, + isTrashed, + isArchived, + isFavorite, + deletedAssetIds, + archivedAssetIds, + favoritedAssetIds, + ); + }); + + if (albumAssetsInBucket.length > 0) { + summary.push({ + timeBucket: bucketKey, + count: albumAssetsInBucket.length, + }); + } + } + } else { + for (const [bucketKey, assets] of timelineData.buckets) { + // Filter assets based on trashed/archived status + const filteredAssets = assets.filter((asset) => + shouldIncludeAsset( + asset, + isTrashed, + isArchived, + isFavorite, + deletedAssetIds, + archivedAssetIds, + favoritedAssetIds, + ), + ); + + if (filteredAssets.length > 0) { + summary.push({ + timeBucket: bucketKey, + count: filteredAssets.length, + }); + } + } + } + + // Sort summary by date (newest first) using luxon + summary.sort((a, b) => { + const dateA = DateTime.fromISO(a.timeBucket); + const dateB = DateTime.fromISO(b.timeBucket); + return dateB.diff(dateA).milliseconds; + }); + + return summary; +} + +const createDefaultOwner = (ownerId: string) => { + const defaultOwner: UserResponseDto = { + id: ownerId, + email: signupDto.admin.email, + name: signupDto.admin.name, + profileImagePath: '', + profileChangedAt: new Date().toISOString(), + avatarColor: UserAvatarColor.Blue, + }; + return defaultOwner; +}; + +/** + * Convert a TimelineAssetConfig to a full AssetResponseDto + * This matches the response from GET /api/assets/:id + */ +export function toAssetResponseDto(asset: MockTimelineAsset, owner?: UserResponseDto): AssetResponseDto { + const now = new Date().toISOString(); + + // Default owner if not provided + const defaultOwner = createDefaultOwner(asset.ownerId); + + const exifInfo: ExifResponseDto = { + make: null, + model: null, + exifImageWidth: asset.ratio > 1 ? 4000 : 3000, + exifImageHeight: asset.ratio > 1 ? Math.round(4000 / asset.ratio) : Math.round(3000 * asset.ratio), + fileSizeInByte: asset.fileSizeInByte, + orientation: '1', + dateTimeOriginal: asset.fileCreatedAt, + modifyDate: asset.fileCreatedAt, + timeZone: asset.latitude === null ? null : 'UTC', + lensModel: null, + fNumber: null, + focalLength: null, + iso: null, + exposureTime: null, + latitude: asset.latitude, + longitude: asset.longitude, + city: asset.city, + country: asset.country, + state: null, + description: null, + }; + + return { + id: asset.id, + deviceAssetId: `device-${asset.id}`, + ownerId: asset.ownerId, + owner: owner || defaultOwner, + libraryId: `library-${asset.ownerId}`, + deviceId: `device-${asset.ownerId}`, + type: asset.isVideo ? AssetTypeEnum.Video : AssetTypeEnum.Image, + originalPath: `/original/${asset.id}.${asset.isVideo ? 'mp4' : 'jpg'}`, + originalFileName: `${asset.id}.${asset.isVideo ? 'mp4' : 'jpg'}`, + originalMimeType: asset.isVideo ? 'video/mp4' : 'image/jpeg', + thumbhash: asset.thumbhash, + fileCreatedAt: asset.fileCreatedAt, + fileModifiedAt: asset.fileCreatedAt, + localDateTime: asset.localDateTime, + updatedAt: now, + createdAt: asset.fileCreatedAt, + isFavorite: asset.isFavorite, + isArchived: false, + isTrashed: asset.isTrashed, + visibility: asset.visibility, + duration: asset.duration || '0:00:00.00000', + exifInfo, + livePhotoVideoId: asset.livePhotoVideoId, + tags: [], + people: [], + unassignedFaces: [], + stack: asset.stack, + isOffline: false, + hasMetadata: true, + duplicateId: null, + resized: true, + checksum: asset.checksum, + }; +} + +/** + * Get a single asset by ID from timeline data + * This matches the response from GET /api/assets/:id + */ +export function getAsset( + timelineData: MockTimelineData, + assetId: string, + owner?: UserResponseDto, +): AssetResponseDto | undefined { + // Search through all buckets for the asset + const buckets = [...timelineData.buckets.values()]; + for (const assets of buckets) { + const asset = assets.find((a) => a.id === assetId); + if (asset) { + return toAssetResponseDto(asset, owner); + } + } + return undefined; +} + +/** + * Get a mock album from timeline data + * This matches the response from GET /api/albums/:id + */ +export function getAlbum( + timelineData: MockTimelineData, + ownerId: string, + albumId: string | undefined, + changes: Changes, +): AlbumResponseDto | undefined { + if (!timelineData.album) { + return undefined; + } + + // If albumId is provided and doesn't match, return undefined + if (albumId && albumId !== timelineData.album.id) { + return undefined; + } + + const album = timelineData.album; + const albumOwner = createDefaultOwner(ownerId); + + // Get the actual asset objects from the timeline data + const albumAssets: AssetResponseDto[] = []; + const allAssets = [...timelineData.buckets.values()].flat(); + + for (const assetId of album.assetIds) { + const assetConfig = allAssets.find((a) => a.id === assetId); + if (assetConfig) { + albumAssets.push(toAssetResponseDto(assetConfig, albumOwner)); + } + } + for (const assetId of changes.albumAdditions ?? []) { + const assetConfig = allAssets.find((a) => a.id === assetId); + if (assetConfig) { + albumAssets.push(toAssetResponseDto(assetConfig, albumOwner)); + } + } + + albumAssets.sort((a, b) => DateTime.fromISO(b.localDateTime).diff(DateTime.fromISO(a.localDateTime)).milliseconds); + + // For a basic mock album, we don't include any albumUsers (shared users) + // The owner is represented by the owner field, not in albumUsers + const response: AlbumResponseDto = { + id: album.id, + albumName: album.albumName, + description: album.description, + albumThumbnailAssetId: album.thumbnailAssetId, + createdAt: album.createdAt, + updatedAt: album.updatedAt, + ownerId: albumOwner.id, + owner: albumOwner, + albumUsers: [], // Empty array for non-shared album + shared: false, + hasSharedLink: false, + isActivityEnabled: true, + assetCount: albumAssets.length, + assets: albumAssets, + startDate: albumAssets.length > 0 ? albumAssets.at(-1)?.fileCreatedAt : undefined, + endDate: albumAssets.length > 0 ? albumAssets[0].fileCreatedAt : undefined, + lastModifiedAssetTimestamp: albumAssets.length > 0 ? albumAssets[0].fileCreatedAt : undefined, + }; + + return response; +} diff --git a/e2e/src/generators/timeline/timeline-config.ts b/e2e/src/generators/timeline/timeline-config.ts new file mode 100644 index 0000000000..8dbe8399b1 --- /dev/null +++ b/e2e/src/generators/timeline/timeline-config.ts @@ -0,0 +1,200 @@ +import type { AssetVisibility } from '@immich/sdk'; +import { DayPattern, MonthDistribution } from 'src/generators/timeline/distribution-patterns'; + +// Constants for generation parameters +export const GENERATION_CONSTANTS = { + VIDEO_PROBABILITY: 0.15, // 15% of assets are videos + GPS_PERCENTAGE: 0.7, // 70% of assets have GPS data + FAVORITE_PROBABILITY: 0.1, // 10% of assets are favorited + MIN_VIDEO_DURATION_SECONDS: 5, + MAX_VIDEO_DURATION_SECONDS: 300, + DEFAULT_SEED: 12_345, + DEFAULT_OWNER_ID: 'user-1', + MAX_SELECT_ATTEMPTS: 10, + SPARSE_DAY_COVERAGE: 0.4, // 40% of days have photos in sparse pattern +} as const; + +// Aspect ratio distribution weights (must sum to 1) +export const ASPECT_RATIO_WEIGHTS = { + '4:3': 0.35, // 35% 4:3 landscape + '3:2': 0.25, // 25% 3:2 landscape + '16:9': 0.2, // 20% 16:9 landscape + '2:3': 0.1, // 10% 2:3 portrait + '1:1': 0.09, // 9% 1:1 square + '3:1': 0.01, // 1% 3:1 panorama +} as const; + +export type AspectRatio = { + width: number; + height: number; + ratio: number; + name: string; +}; + +// Mock configuration for asset generation - will be transformed to API response formats +export type MockTimelineAsset = { + id: string; + ownerId: string; + ratio: number; + thumbhash: string | null; + localDateTime: string; + fileCreatedAt: string; + isFavorite: boolean; + isTrashed: boolean; + isVideo: boolean; + isImage: boolean; + duration: string | null; + projectionType: string | null; + livePhotoVideoId: string | null; + city: string | null; + country: string | null; + people: string[] | null; + latitude: number | null; + longitude: number | null; + visibility: AssetVisibility; + stack: null; + checksum: string; + fileSizeInByte: number; +}; + +export type MonthSpec = { + year: number; + month: number; // 1-12 + distribution: MonthDistribution; + pattern: DayPattern; +}; + +/** + * Configuration for timeline data generation + */ +export type TimelineConfig = { + ownerId?: string; + months: MonthSpec[]; + seed?: number; + writeToFile?: boolean; + outputPath?: string; +}; + +export type MockAlbum = { + id: string; + albumName: string; + description: string; + assetIds: string[]; // IDs of assets in the album + thumbnailAssetId: string | null; + createdAt: string; + updatedAt: string; +}; + +export type MockTimelineData = { + buckets: Map; + album: MockAlbum; // Mock album created from random assets +}; + +export type SerializedTimelineData = { + buckets: Record; + album: MockAlbum; +}; + +/** + * Validates a TimelineConfig object to ensure all values are within expected ranges + */ +export function validateTimelineConfig(config: TimelineConfig): void { + if (!config.months || config.months.length === 0) { + throw new Error('TimelineConfig must contain at least one month'); + } + + const seenMonths = new Set(); + + for (const month of config.months) { + if (month.month < 1 || month.month > 12) { + throw new Error(`Invalid month: ${month.month}. Must be between 1 and 12`); + } + + if (month.year < 1900 || month.year > 2100) { + throw new Error(`Invalid year: ${month.year}. Must be between 1900 and 2100`); + } + + const monthKey = `${month.year}-${month.month}`; + if (seenMonths.has(monthKey)) { + throw new Error(`Duplicate month found: ${monthKey}`); + } + seenMonths.add(monthKey); + + // Validate distribution if provided + if (month.distribution && !['empty', 'sparse', 'medium', 'dense', 'very-dense'].includes(month.distribution)) { + throw new Error( + `Invalid distribution: ${month.distribution}. Must be one of: empty, sparse, medium, dense, very-dense`, + ); + } + + const validPatterns = [ + 'single-day', + 'consecutive-large', + 'consecutive-small', + 'alternating', + 'sparse-scattered', + 'start-heavy', + 'end-heavy', + 'mid-heavy', + ]; + if (month.pattern && !validPatterns.includes(month.pattern)) { + throw new Error(`Invalid pattern: ${month.pattern}. Must be one of: ${validPatterns.join(', ')}`); + } + } + + // Validate seed if provided + if (config.seed !== undefined && (config.seed < 0 || !Number.isInteger(config.seed))) { + throw new Error('Seed must be a non-negative integer'); + } + + // Validate ownerId if provided + if (config.ownerId !== undefined && config.ownerId.trim() === '') { + throw new Error('Owner ID cannot be an empty string'); + } +} + +/** + * Create a default timeline configuration + */ +export function createDefaultTimelineConfig(): TimelineConfig { + const months: MonthSpec[] = [ + // 2024 - Mix of patterns + { year: 2024, month: 12, distribution: 'very-dense', pattern: 'alternating' }, + { year: 2024, month: 11, distribution: 'dense', pattern: 'consecutive-large' }, + { year: 2024, month: 10, distribution: 'medium', pattern: 'mid-heavy' }, + { year: 2024, month: 9, distribution: 'sparse', pattern: 'consecutive-small' }, + { year: 2024, month: 8, distribution: 'empty', pattern: 'single-day' }, + { year: 2024, month: 7, distribution: 'dense', pattern: 'start-heavy' }, + { year: 2024, month: 6, distribution: 'medium', pattern: 'sparse-scattered' }, + { year: 2024, month: 5, distribution: 'sparse', pattern: 'single-day' }, + { year: 2024, month: 4, distribution: 'very-dense', pattern: 'consecutive-large' }, + { year: 2024, month: 3, distribution: 'empty', pattern: 'single-day' }, + { year: 2024, month: 2, distribution: 'medium', pattern: 'end-heavy' }, + { year: 2024, month: 1, distribution: 'dense', pattern: 'alternating' }, + + // 2023 - Testing year boundaries and more patterns + { year: 2023, month: 12, distribution: 'very-dense', pattern: 'end-heavy' }, + { year: 2023, month: 11, distribution: 'sparse', pattern: 'consecutive-small' }, + { year: 2023, month: 10, distribution: 'empty', pattern: 'single-day' }, + { year: 2023, month: 9, distribution: 'medium', pattern: 'alternating' }, + { year: 2023, month: 8, distribution: 'dense', pattern: 'mid-heavy' }, + { year: 2023, month: 7, distribution: 'sparse', pattern: 'sparse-scattered' }, + { year: 2023, month: 6, distribution: 'medium', pattern: 'consecutive-large' }, + { year: 2023, month: 5, distribution: 'empty', pattern: 'single-day' }, + { year: 2023, month: 4, distribution: 'sparse', pattern: 'single-day' }, + { year: 2023, month: 3, distribution: 'dense', pattern: 'start-heavy' }, + { year: 2023, month: 2, distribution: 'medium', pattern: 'alternating' }, + { year: 2023, month: 1, distribution: 'very-dense', pattern: 'consecutive-large' }, + ]; + + for (let year = 2022; year >= 2000; year--) { + for (let month = 12; month >= 1; month--) { + months.push({ year, month, distribution: 'medium', pattern: 'sparse-scattered' }); + } + } + + return { + months, + seed: 42, + }; +} diff --git a/e2e/src/generators/timeline/utils.ts b/e2e/src/generators/timeline/utils.ts new file mode 100644 index 0000000000..a0b7fbf175 --- /dev/null +++ b/e2e/src/generators/timeline/utils.ts @@ -0,0 +1,186 @@ +import { DateTime } from 'luxon'; +import { GENERATION_CONSTANTS, MockTimelineAsset } from 'src/generators/timeline/timeline-config'; + +/** + * Linear Congruential Generator for deterministic pseudo-random numbers + */ +export class SeededRandom { + private seed: number; + + constructor(seed: number) { + this.seed = seed; + } + + /** + * Generate next random number in range [0, 1) + */ + next(): number { + // LCG parameters from Numerical Recipes + this.seed = (this.seed * 1_664_525 + 1_013_904_223) % 2_147_483_647; + return this.seed / 2_147_483_647; + } + + /** + * Generate random integer in range [min, max) + */ + nextInt(min: number, max: number): number { + return Math.floor(this.next() * (max - min)) + min; + } + + /** + * Generate random boolean with given probability + */ + nextBoolean(probability = 0.5): boolean { + return this.next() < probability; + } +} + +/** + * Select random days using seed variation to avoid collisions. + * + * @param daysInMonth - Total number of days in the month + * @param numDays - Number of days to select + * @param rng - Random number generator instance + * @returns Array of selected day numbers, sorted in descending order + */ +export function selectRandomDays(daysInMonth: number, numDays: number, rng: SeededRandom): number[] { + const selectedDays = new Set(); + const maxAttempts = numDays * GENERATION_CONSTANTS.MAX_SELECT_ATTEMPTS; // Safety limit + let attempts = 0; + + while (selectedDays.size < numDays && attempts < maxAttempts) { + const day = rng.nextInt(1, daysInMonth + 1); + selectedDays.add(day); + attempts++; + } + + // Fallback: if we couldn't select enough random days, fill with sequential days + if (selectedDays.size < numDays) { + for (let day = 1; day <= daysInMonth && selectedDays.size < numDays; day++) { + selectedDays.add(day); + } + } + + return [...selectedDays].sort((a, b) => b - a); +} + +/** + * Select item from array using seeded random + */ +export function selectRandom(arr: T[], rng: SeededRandom): T { + if (arr.length === 0) { + throw new Error('Cannot select from empty array'); + } + const index = rng.nextInt(0, arr.length); + return arr[index]; +} + +/** + * Select multiple random items from array using seeded random without duplicates + */ +export function selectRandomMultiple(arr: T[], count: number, rng: SeededRandom): T[] { + if (arr.length === 0) { + throw new Error('Cannot select from empty array'); + } + if (count < 0) { + throw new Error('Count must be non-negative'); + } + if (count > arr.length) { + throw new Error('Count cannot exceed array length'); + } + + const result: T[] = []; + const selectedIndices = new Set(); + + while (result.length < count) { + const index = rng.nextInt(0, arr.length); + if (!selectedIndices.has(index)) { + selectedIndices.add(index); + result.push(arr[index]); + } + } + + return result; +} + +/** + * Parse timeBucket parameter to extract year-month key + * Handles both formats: + * - ISO timestamp: "2024-12-01T00:00:00.000Z" -> "2024-12-01" + * - Simple format: "2024-12-01" -> "2024-12-01" + */ +export function parseTimeBucketKey(timeBucket: string): string { + if (!timeBucket) { + throw new Error('timeBucket parameter cannot be empty'); + } + + const dt = DateTime.fromISO(timeBucket, { zone: 'utc' }); + + if (!dt.isValid) { + // Fallback to regex if not a valid ISO string + const match = timeBucket.match(/^(\d{4}-\d{2}-\d{2})/); + return match ? match[1] : timeBucket; + } + + // Format as YYYY-MM-01 (first day of month) + return `${dt.year}-${String(dt.month).padStart(2, '0')}-01`; +} + +export function getMockAsset( + asset: MockTimelineAsset, + sortedDescendingAssets: MockTimelineAsset[], + direction: 'next' | 'previous', + unit: 'day' | 'month' | 'year' = 'day', +): MockTimelineAsset | null { + const currentDateTime = DateTime.fromISO(asset.localDateTime, { zone: 'utc' }); + + const currentIndex = sortedDescendingAssets.findIndex((a) => a.id === asset.id); + + if (currentIndex === -1) { + return null; + } + + const step = direction === 'next' ? 1 : -1; + const startIndex = currentIndex + step; + + if (direction === 'next' && currentIndex >= sortedDescendingAssets.length - 1) { + return null; + } + if (direction === 'previous' && currentIndex <= 0) { + return null; + } + + const isInDifferentPeriod = (date1: DateTime, date2: DateTime): boolean => { + if (unit === 'day') { + return !date1.startOf('day').equals(date2.startOf('day')); + } else if (unit === 'month') { + return date1.year !== date2.year || date1.month !== date2.month; + } else { + return date1.year !== date2.year; + } + }; + + if (direction === 'next') { + // Search forward in array (backwards in time) + for (let i = startIndex; i < sortedDescendingAssets.length; i++) { + const nextAsset = sortedDescendingAssets[i]; + const nextDate = DateTime.fromISO(nextAsset.localDateTime, { zone: 'utc' }); + + if (isInDifferentPeriod(nextDate, currentDateTime)) { + return nextAsset; + } + } + } else { + // Search backward in array (forwards in time) + for (let i = startIndex; i >= 0; i--) { + const prevAsset = sortedDescendingAssets[i]; + const prevDate = DateTime.fromISO(prevAsset.localDateTime, { zone: 'utc' }); + + if (isInDifferentPeriod(prevDate, currentDateTime)) { + return prevAsset; + } + } + } + + return null; +} diff --git a/e2e/src/mock-network/base-network.ts b/e2e/src/mock-network/base-network.ts new file mode 100644 index 0000000000..f23202ca77 --- /dev/null +++ b/e2e/src/mock-network/base-network.ts @@ -0,0 +1,285 @@ +import { BrowserContext } from '@playwright/test'; +import { playwrightHost } from 'playwright.config'; + +export const setupBaseMockApiRoutes = async (context: BrowserContext, adminUserId: string) => { + await context.addCookies([ + { + name: 'immich_is_authenticated', + value: 'true', + domain: playwrightHost, + path: '/', + }, + ]); + await context.route('**/api/users/me', async (route) => { + return route.fulfill({ + status: 200, + contentType: 'application/json', + json: { + id: adminUserId, + email: 'admin@immich.cloud', + name: 'Immich Admin', + profileImagePath: '', + avatarColor: 'orange', + profileChangedAt: '2025-01-22T21:31:23.996Z', + storageLabel: 'admin', + shouldChangePassword: true, + isAdmin: true, + createdAt: '2025-01-22T21:31:23.996Z', + deletedAt: null, + updatedAt: '2025-11-14T00:00:00.369Z', + oauthId: '', + quotaSizeInBytes: null, + quotaUsageInBytes: 20_849_000_159, + status: 'active', + license: null, + }, + }); + }); + await context.route('**/users/me/preferences', async (route) => { + return route.fulfill({ + status: 200, + contentType: 'application/json', + json: { + albums: { + defaultAssetOrder: 'desc', + }, + folders: { + enabled: false, + sidebarWeb: false, + }, + memories: { + enabled: true, + duration: 5, + }, + people: { + enabled: true, + sidebarWeb: false, + }, + sharedLinks: { + enabled: true, + sidebarWeb: false, + }, + ratings: { + enabled: false, + }, + tags: { + enabled: false, + sidebarWeb: false, + }, + emailNotifications: { + enabled: true, + albumInvite: true, + albumUpdate: true, + }, + download: { + archiveSize: 4_294_967_296, + includeEmbeddedVideos: false, + }, + purchase: { + showSupportBadge: true, + hideBuyButtonUntil: '2100-02-12T00:00:00.000Z', + }, + cast: { + gCastEnabled: false, + }, + }, + }); + }); + await context.route('**/server/about', async (route) => { + return route.fulfill({ + status: 200, + contentType: 'application/json', + json: { + version: 'v2.2.3', + versionUrl: 'https://github.com/immich-app/immich/releases/tag/v2.2.3', + licensed: false, + build: '1234567890', + buildUrl: 'https://github.com/immich-app/immich/actions/runs/1234567890', + buildImage: 'e2e', + buildImageUrl: 'https://github.com/immich-app/immich/pkgs/container/immich-server', + repository: 'immich-app/immich', + repositoryUrl: 'https://github.com/immich-app/immich', + sourceRef: 'e2e', + sourceCommit: 'e2eeeeeeeeeeeeeeeeee', + sourceUrl: 'https://github.com/immich-app/immich/commit/e2eeeeeeeeeeeeeeeeee', + nodejs: 'v22.18.0', + exiftool: '13.41', + ffmpeg: '7.1.1-6', + libvips: '8.17.2', + imagemagick: '7.1.2-2', + }, + }); + }); + await context.route('**/api/server/features', async (route) => { + return route.fulfill({ + status: 200, + contentType: 'application/json', + json: { + smartSearch: false, + facialRecognition: false, + duplicateDetection: false, + map: true, + reverseGeocoding: true, + importFaces: false, + sidecar: true, + search: true, + trash: true, + oauth: false, + oauthAutoLaunch: false, + ocr: false, + passwordLogin: true, + configFile: false, + email: false, + }, + }); + }); + await context.route('**/api/server/config', async (route) => { + return route.fulfill({ + status: 200, + contentType: 'application/json', + json: { + loginPageMessage: '', + trashDays: 30, + userDeleteDelay: 7, + oauthButtonText: 'Login with OAuth', + isInitialized: true, + isOnboarded: true, + externalDomain: '', + publicUsers: true, + mapDarkStyleUrl: 'https://tiles.immich.cloud/v1/style/dark.json', + mapLightStyleUrl: 'https://tiles.immich.cloud/v1/style/light.json', + maintenanceMode: false, + }, + }); + }); + await context.route('**/api/server/media-types', async (route) => { + return route.fulfill({ + status: 200, + contentType: 'application/json', + json: { + video: [ + '.3gp', + '.3gpp', + '.avi', + '.flv', + '.insv', + '.m2t', + '.m2ts', + '.m4v', + '.mkv', + '.mov', + '.mp4', + '.mpe', + '.mpeg', + '.mpg', + '.mts', + '.vob', + '.webm', + '.wmv', + ], + image: [ + '.3fr', + '.ari', + '.arw', + '.cap', + '.cin', + '.cr2', + '.cr3', + '.crw', + '.dcr', + '.dng', + '.erf', + '.fff', + '.iiq', + '.k25', + '.kdc', + '.mrw', + '.nef', + '.nrw', + '.orf', + '.ori', + '.pef', + '.psd', + '.raf', + '.raw', + '.rw2', + '.rwl', + '.sr2', + '.srf', + '.srw', + '.x3f', + '.avif', + '.gif', + '.jpeg', + '.jpg', + '.png', + '.webp', + '.bmp', + '.heic', + '.heif', + '.hif', + '.insp', + '.jp2', + '.jpe', + '.jxl', + '.svg', + '.tif', + '.tiff', + ], + sidecar: ['.xmp'], + }, + }); + }); + await context.route('**/api/notifications*', async (route) => { + return route.fulfill({ + status: 200, + contentType: 'application/json', + json: [], + }); + }); + await context.route('**/api/albums*', async (route, request) => { + if (request.url().endsWith('albums?shared=true') || request.url().endsWith('albums')) { + return route.fulfill({ + status: 200, + contentType: 'application/json', + json: [], + }); + } + await route.fallback(); + }); + await context.route('**/api/memories*', async (route) => { + return route.fulfill({ + status: 200, + contentType: 'application/json', + json: [], + }); + }); + await context.route('**/api/server/storage', async (route) => { + return route.fulfill({ + status: 200, + contentType: 'application/json', + json: { + diskSize: '100.0 GiB', + diskUse: '74.4 GiB', + diskAvailable: '25.6 GiB', + diskSizeRaw: 107_374_182_400, + diskUseRaw: 79_891_660_800, + diskAvailableRaw: 27_482_521_600, + diskUsagePercentage: 74.4, + }, + }); + }); + await context.route('**/api/server/version-history', async (route) => { + return route.fulfill({ + status: 200, + contentType: 'application/json', + json: [ + { + id: 'd1fbeadc-cb4f-4db3-8d19-8c6a921d5d8e', + createdAt: '2025-11-15T20:14:01.935Z', + version: '2.2.3', + }, + ], + }); + }); +}; diff --git a/e2e/src/mock-network/timeline-network.ts b/e2e/src/mock-network/timeline-network.ts new file mode 100644 index 0000000000..012defe4ab --- /dev/null +++ b/e2e/src/mock-network/timeline-network.ts @@ -0,0 +1,139 @@ +import { BrowserContext, Page, Request, Route } from '@playwright/test'; +import { basename } from 'node:path'; +import { + Changes, + getAlbum, + getAsset, + getTimeBucket, + getTimeBuckets, + randomPreview, + randomThumbnail, + TimelineData, +} from 'src/generators/timeline'; +import { sleep } from 'src/web/specs/timeline/utils'; + +export class TimelineTestContext { + slowBucket = false; + adminId = ''; +} + +export const setupTimelineMockApiRoutes = async ( + context: BrowserContext, + timelineRestData: TimelineData, + changes: Changes, + testContext: TimelineTestContext, +) => { + await context.route('**/api/timeline**', async (route, request) => { + const url = new URL(request.url()); + const pathname = url.pathname; + if (pathname === '/api/timeline/buckets') { + const albumId = url.searchParams.get('albumId') || undefined; + const isTrashed = url.searchParams.get('isTrashed') ? url.searchParams.get('isTrashed') === 'true' : undefined; + const isFavorite = url.searchParams.get('isFavorite') ? url.searchParams.get('isFavorite') === 'true' : undefined; + const isArchived = url.searchParams.get('visibility') + ? url.searchParams.get('visibility') === 'archive' + : undefined; + return route.fulfill({ + status: 200, + contentType: 'application/json', + json: getTimeBuckets(timelineRestData, isTrashed, isArchived, isFavorite, albumId, changes), + }); + } else if (pathname === '/api/timeline/bucket') { + const timeBucket = url.searchParams.get('timeBucket'); + if (!timeBucket) { + return route.continue(); + } + const isTrashed = url.searchParams.get('isTrashed') ? url.searchParams.get('isTrashed') === 'true' : undefined; + const isArchived = url.searchParams.get('visibility') + ? url.searchParams.get('visibility') === 'archive' + : undefined; + const isFavorite = url.searchParams.get('isFavorite') ? url.searchParams.get('isFavorite') === 'true' : undefined; + const albumId = url.searchParams.get('albumId') || undefined; + const assets = getTimeBucket(timelineRestData, timeBucket, isTrashed, isArchived, isFavorite, albumId, changes); + if (testContext.slowBucket) { + await sleep(5000); + } + return route.fulfill({ + status: 200, + contentType: 'application/json', + json: assets, + }); + } + return route.continue(); + }); + + await context.route('**/api/assets/**', async (route, request) => { + const pattern = /\/api\/assets\/(?[^/]+)\/thumbnail\?size=(?preview|thumbnail)/; + const match = request.url().match(pattern); + if (!match) { + const url = new URL(request.url()); + const pathname = url.pathname; + const assetId = basename(pathname); + const asset = getAsset(timelineRestData, assetId); + return route.fulfill({ + status: 200, + contentType: 'application/json', + json: asset, + }); + } + if (match.groups?.size === 'preview') { + if (!route.request().serviceWorker()) { + return route.continue(); + } + const asset = getAsset(timelineRestData, match.groups?.assetId); + return route.fulfill({ + status: 200, + headers: { 'content-type': 'image/jpeg', ETag: 'abc123', 'Cache-Control': 'public, max-age=3600' }, + body: await randomPreview( + match.groups?.assetId, + (asset?.exifInfo?.exifImageWidth ?? 0) / (asset?.exifInfo?.exifImageHeight ?? 1), + ), + }); + } + if (match.groups?.size === 'thumbnail') { + if (!route.request().serviceWorker()) { + return route.continue(); + } + const asset = getAsset(timelineRestData, match.groups?.assetId); + return route.fulfill({ + status: 200, + headers: { 'content-type': 'image/jpeg' }, + body: await randomThumbnail( + match.groups?.assetId, + (asset?.exifInfo?.exifImageWidth ?? 0) / (asset?.exifInfo?.exifImageHeight ?? 1), + ), + }); + } + return route.continue(); + }); + await context.route('**/api/albums/**', async (route, request) => { + const pattern = /\/api\/albums\/(?[^/?]+)/; + const match = request.url().match(pattern); + if (!match) { + return route.continue(); + } + const album = getAlbum(timelineRestData, testContext.adminId, match.groups?.albumId, changes); + return route.fulfill({ + status: 200, + contentType: 'application/json', + json: album, + }); + }); +}; + +export const pageRoutePromise = async ( + page: Page, + route: string, + callback: (route: Route, request: Request) => Promise, +) => { + let resolveRequest: ((value: unknown | PromiseLike) => void) | undefined; + const deleteRequest = new Promise((resolve) => { + resolveRequest = resolve; + }); + await page.route(route, async (route, request) => { + await callback(route, request); + const requestJson = request.postDataJSON(); + resolveRequest?.(requestJson); + }); + return deleteRequest; +}; diff --git a/e2e/src/utils.ts b/e2e/src/utils.ts index 555d891ef2..3bbf8acab1 100644 --- a/e2e/src/utils.ts +++ b/e2e/src/utils.ts @@ -59,7 +59,7 @@ import { exec, spawn } from 'node:child_process'; import { createHash } from 'node:crypto'; import { existsSync, mkdirSync, renameSync, rmSync, writeFileSync } from 'node:fs'; import { tmpdir } from 'node:os'; -import path, { dirname } from 'node:path'; +import { dirname, resolve } from 'node:path'; import { setTimeout as setAsyncTimeout } from 'node:timers/promises'; import { promisify } from 'node:util'; import pg from 'pg'; @@ -67,6 +67,8 @@ import { io, type Socket } from 'socket.io-client'; import { loginDto, signupDto } from 'src/fixtures'; import { makeRandomImage } from 'src/generators'; import request from 'supertest'; +import { playwrightDbHost, playwrightHost, playwriteBaseUrl } from '../playwright.config'; + export type { Emitter } from '@socket.io/component-emitter'; type CommandResponse = { stdout: string; stderr: string; exitCode: number | null }; @@ -75,12 +77,12 @@ type WaitOptions = { event: EventType; id?: string; total?: number; timeout?: nu type AdminSetupOptions = { onboarding?: boolean }; type FileData = { bytes?: Buffer; filename: string }; -const dbUrl = 'postgres://postgres:postgres@127.0.0.1:5435/immich'; -export const baseUrl = 'http://127.0.0.1:2285'; +const dbUrl = `postgres://postgres:postgres@${playwrightDbHost}:5435/immich`; +export const baseUrl = playwriteBaseUrl; export const shareUrl = `${baseUrl}/share`; export const app = `${baseUrl}/api`; // TODO move test assets into e2e/assets -export const testAssetDir = path.resolve('./test-assets'); +export const testAssetDir = resolve(import.meta.dirname, '../test-assets'); export const testAssetDirInternal = '/test-assets'; export const tempDir = tmpdir(); export const asBearerAuth = (accessToken: string) => ({ Authorization: `Bearer ${accessToken}` }); @@ -505,7 +507,7 @@ export const utils = { queueCommand: async (accessToken: string, name: QueueName, queueCommandDto: QueueCommandDto) => runQueueCommandLegacy({ name, queueCommandDto }, { headers: asBearerAuth(accessToken) }), - setAuthCookies: async (context: BrowserContext, accessToken: string, domain = '127.0.0.1') => + setAuthCookies: async (context: BrowserContext, accessToken: string, domain = playwrightHost) => await context.addCookies([ { name: 'immich_access_token', diff --git a/e2e/src/web/specs/maintenance.e2e-spec.ts b/e2e/src/web/specs/maintenance.e2e-spec.ts index b7e2595b65..71432e474c 100644 --- a/e2e/src/web/specs/maintenance.e2e-spec.ts +++ b/e2e/src/web/specs/maintenance.e2e-spec.ts @@ -19,10 +19,9 @@ test.describe('Maintenance', () => { await page.goto('/admin/system-settings?isOpen=maintenance'); await page.getByRole('button', { name: 'Start maintenance mode' }).click(); - await page.waitForURL(`/maintenance?${new URLSearchParams({ continue: '/admin/system-settings' })}`); - await expect(page.getByText('Temporarily Unavailable')).toBeVisible(); + await expect(page.getByText('Temporarily Unavailable')).toBeVisible({ timeout: 10_000 }); await page.getByRole('button', { name: 'End maintenance mode' }).click(); - await page.waitForURL('/admin/system-settings'); + await page.waitForURL('**/admin/system-settings*', { timeout: 10_000 }); }); test('maintenance shows no options to users until they authenticate', async ({ page }) => { @@ -35,10 +34,10 @@ test.describe('Maintenance', () => { await expect(async () => { await page.goto('/'); - await page.waitForURL('/maintenance?**', { - timeout: 1e3, + await page.waitForURL('**/maintenance?**', { + timeout: 1000, }); - }).toPass({ timeout: 1e4 }); + }).toPass({ timeout: 10_000 }); await expect(page.getByText('Temporarily Unavailable')).toBeVisible(); await expect(page.getByRole('button', { name: 'End maintenance mode' })).toHaveCount(0); @@ -47,7 +46,7 @@ test.describe('Maintenance', () => { await expect(page.getByText('Temporarily Unavailable')).toBeVisible(); await expect(page.getByRole('button', { name: 'End maintenance mode' })).toBeVisible(); await page.getByRole('button', { name: 'End maintenance mode' }).click(); - await page.waitForURL('/auth/login'); + await page.waitForURL('**/auth/login'); }); /** diff --git a/e2e/src/web/specs/timeline/timeline.parallel-e2e-spec.ts b/e2e/src/web/specs/timeline/timeline.parallel-e2e-spec.ts new file mode 100644 index 0000000000..49a8f38312 --- /dev/null +++ b/e2e/src/web/specs/timeline/timeline.parallel-e2e-spec.ts @@ -0,0 +1,775 @@ +import { faker } from '@faker-js/faker'; +import { expect, test } from '@playwright/test'; +import { DateTime } from 'luxon'; +import { + Changes, + createDefaultTimelineConfig, + generateTimelineData, + getAsset, + getMockAsset, + SeededRandom, + selectRandom, + selectRandomMultiple, + TimelineAssetConfig, + TimelineData, +} from 'src/generators/timeline'; +import { setupBaseMockApiRoutes } from 'src/mock-network/base-network'; +import { pageRoutePromise, setupTimelineMockApiRoutes, TimelineTestContext } from 'src/mock-network/timeline-network'; +import { utils } from 'src/utils'; +import { + assetViewerUtils, + cancelAllPollers, + padYearMonth, + pageUtils, + poll, + thumbnailUtils, + timelineUtils, +} from 'src/web/specs/timeline/utils'; + +test.describe.configure({ mode: 'parallel' }); +test.describe('Timeline', () => { + let adminUserId: string; + let timelineRestData: TimelineData; + const assets: TimelineAssetConfig[] = []; + const yearMonths: string[] = []; + const testContext = new TimelineTestContext(); + const changes: Changes = { + albumAdditions: [], + assetDeletions: [], + assetArchivals: [], + assetFavorites: [], + }; + + test.beforeAll(async () => { + test.fail( + process.env.PW_EXPERIMENTAL_SERVICE_WORKER_NETWORK_EVENTS !== '1', + 'This test requires env var: PW_EXPERIMENTAL_SERVICE_WORKER_NETWORK_EVENTS=1', + ); + utils.initSdk(); + adminUserId = faker.string.uuid(); + testContext.adminId = adminUserId; + timelineRestData = generateTimelineData({ ...createDefaultTimelineConfig(), ownerId: adminUserId }); + for (const timeBucket of timelineRestData.buckets.values()) { + assets.push(...timeBucket); + } + for (const yearMonth of timelineRestData.buckets.keys()) { + const [year, month] = yearMonth.split('-'); + yearMonths.push(`${year}-${Number(month)}`); + } + }); + + test.beforeEach(async ({ context }) => { + await setupBaseMockApiRoutes(context, adminUserId); + await setupTimelineMockApiRoutes(context, timelineRestData, changes, testContext); + }); + + test.afterEach(() => { + cancelAllPollers(); + testContext.slowBucket = false; + changes.albumAdditions = []; + changes.assetDeletions = []; + changes.assetArchivals = []; + changes.assetFavorites = []; + }); + + test.describe('/photos', () => { + test('Open /photos', async ({ page }) => { + await page.goto(`/photos`); + await page.waitForSelector('#asset-grid'); + await thumbnailUtils.expectTimelineHasOnScreenAssets(page); + }); + test('Deep link to last photo', async ({ page }) => { + const lastAsset = assets.at(-1)!; + await pageUtils.deepLinkPhotosPage(page, lastAsset.id); + await thumbnailUtils.expectTimelineHasOnScreenAssets(page); + await thumbnailUtils.expectInViewport(page, lastAsset.id); + }); + const rng = new SeededRandom(529); + for (let i = 0; i < 10; i++) { + test('Deep link to random asset ' + i, async ({ page }) => { + const asset = selectRandom(assets, rng); + await pageUtils.deepLinkPhotosPage(page, asset.id); + await thumbnailUtils.expectTimelineHasOnScreenAssets(page); + await thumbnailUtils.expectInViewport(page, asset.id); + }); + } + test('Open /photos, open asset-viewer, browser back', async ({ page }) => { + const rng = new SeededRandom(22); + const asset = selectRandom(assets, rng); + await pageUtils.deepLinkPhotosPage(page, asset.id); + const scrollTopBefore = await timelineUtils.getScrollTop(page); + await thumbnailUtils.clickAssetId(page, asset.id); + await assetViewerUtils.waitForViewerLoad(page, asset); + await page.goBack(); + await timelineUtils.locator(page).waitFor(); + const scrollTopAfter = await timelineUtils.getScrollTop(page); + expect(scrollTopAfter).toBe(scrollTopBefore); + }); + test('Open /photos, open asset-viewer, next photo, browser back, back', async ({ page }) => { + const rng = new SeededRandom(49); + const asset = selectRandom(assets, rng); + const assetIndex = assets.indexOf(asset); + const nextAsset = assets[assetIndex + 1]; + await pageUtils.deepLinkPhotosPage(page, asset.id); + const scrollTopBefore = await timelineUtils.getScrollTop(page); + await thumbnailUtils.clickAssetId(page, asset.id); + await assetViewerUtils.waitForViewerLoad(page, asset); + await expect.poll(() => new URL(page.url()).pathname).toBe(`/photos/${asset.id}`); + await page.getByLabel('View next asset').click(); + await assetViewerUtils.waitForViewerLoad(page, nextAsset); + await expect.poll(() => new URL(page.url()).pathname).toBe(`/photos/${nextAsset.id}`); + await page.goBack(); + await assetViewerUtils.waitForViewerLoad(page, asset); + await page.goBack(); + await page.waitForURL('**/photos?at=*'); + const scrollTopAfter = await timelineUtils.getScrollTop(page); + expect(Math.abs(scrollTopAfter - scrollTopBefore)).toBeLessThan(5); + }); + test('Open /photos, open asset-viewer, next photo 15x, backwardsArrow', async ({ page }) => { + await pageUtils.deepLinkPhotosPage(page, assets[0].id); + await thumbnailUtils.clickAssetId(page, assets[0].id); + await assetViewerUtils.waitForViewerLoad(page, assets[0]); + for (let i = 1; i <= 15; i++) { + await page.getByLabel('View next asset').click(); + await assetViewerUtils.waitForViewerLoad(page, assets[i]); + } + await page.getByLabel('Go back').click(); + await page.waitForURL('**/photos?at=*'); + await thumbnailUtils.expectInViewport(page, assets[15].id); + await thumbnailUtils.expectBottomIsTimelineBottom(page, assets[15]!.id); + }); + test('Open /photos, open asset-viewer, previous photo 15x, backwardsArrow', async ({ page }) => { + const lastAsset = assets.at(-1)!; + await pageUtils.deepLinkPhotosPage(page, lastAsset.id); + await thumbnailUtils.clickAssetId(page, lastAsset.id); + await assetViewerUtils.waitForViewerLoad(page, lastAsset); + for (let i = 1; i <= 15; i++) { + await page.getByLabel('View previous asset').click(); + await assetViewerUtils.waitForViewerLoad(page, assets.at(-1 - i)!); + } + await page.getByLabel('Go back').click(); + await page.waitForURL('**/photos?at=*'); + await thumbnailUtils.expectInViewport(page, assets.at(-1 - 15)!.id); + await thumbnailUtils.expectTopIsTimelineTop(page, assets.at(-1 - 15)!.id); + }); + }); + test.describe('keyboard', () => { + /** + * This text tests keyboard nativation, and also ensures that the scroll-to-asset behavior + * scrolls the minimum amount. That is, if you are navigating using right arrow (auto scrolling + * as necessary downwards), then the asset should always be at the lowest row of the grid. + */ + test('Next/previous asset - ArrowRight/ArrowLeft', async ({ page }) => { + await pageUtils.openPhotosPage(page); + await thumbnailUtils.withAssetId(page, assets[0].id).focus(); + const rightKey = 'ArrowRight'; + const leftKey = 'ArrowLeft'; + for (let i = 1; i < 15; i++) { + await page.keyboard.press(rightKey); + await assetViewerUtils.expectActiveAssetToBe(page, assets[i].id); + } + for (let i = 15; i <= 20; i++) { + await page.keyboard.press(rightKey); + await assetViewerUtils.expectActiveAssetToBe(page, assets[i].id); + expect(await thumbnailUtils.expectBottomIsTimelineBottom(page, assets.at(i)!.id)); + } + // now test previous asset + for (let i = 19; i >= 15; i--) { + await page.keyboard.press(leftKey); + await assetViewerUtils.expectActiveAssetToBe(page, assets[i].id); + } + for (let i = 14; i > 0; i--) { + await page.keyboard.press(leftKey); + await assetViewerUtils.expectActiveAssetToBe(page, assets[i].id); + expect(await thumbnailUtils.expectTopIsTimelineTop(page, assets.at(i)!.id)); + } + }); + test('Next/previous asset - Tab/Shift+Tab', async ({ page }) => { + await pageUtils.openPhotosPage(page); + await thumbnailUtils.withAssetId(page, assets[0].id).focus(); + const rightKey = 'Tab'; + const leftKey = 'Shift+Tab'; + for (let i = 1; i < 15; i++) { + await page.keyboard.press(rightKey); + await assetViewerUtils.expectActiveAssetToBe(page, assets[i].id); + } + for (let i = 15; i <= 20; i++) { + await page.keyboard.press(rightKey); + await assetViewerUtils.expectActiveAssetToBe(page, assets[i].id); + } + // now test previous asset + for (let i = 19; i >= 15; i--) { + await page.keyboard.press(leftKey); + await assetViewerUtils.expectActiveAssetToBe(page, assets[i].id); + } + for (let i = 14; i > 0; i--) { + await page.keyboard.press(leftKey); + await assetViewerUtils.expectActiveAssetToBe(page, assets[i].id); + } + }); + test('Next/previous day - d, Shift+D', async ({ page }) => { + await pageUtils.openPhotosPage(page); + let asset = assets[0]; + await timelineUtils.locator(page).hover(); + await page.keyboard.press('d'); + await assetViewerUtils.expectActiveAssetToBe(page, asset.id); + for (let i = 0; i < 15; i++) { + await page.keyboard.press('d'); + const next = getMockAsset(asset, assets, 'next', 'day')!; + await assetViewerUtils.expectActiveAssetToBe(page, next.id); + asset = next; + } + for (let i = 0; i < 15; i++) { + await page.keyboard.press('Shift+D'); + const previous = getMockAsset(asset, assets, 'previous', 'day')!; + await assetViewerUtils.expectActiveAssetToBe(page, previous.id); + asset = previous; + } + }); + test('Next/previous month - m, Shift+M', async ({ page }) => { + await pageUtils.openPhotosPage(page); + let asset = assets[0]; + await timelineUtils.locator(page).hover(); + await page.keyboard.press('m'); + await assetViewerUtils.expectActiveAssetToBe(page, asset.id); + for (let i = 0; i < 15; i++) { + await page.keyboard.press('m'); + const next = getMockAsset(asset, assets, 'next', 'month')!; + await assetViewerUtils.expectActiveAssetToBe(page, next.id); + asset = next; + } + for (let i = 0; i < 15; i++) { + await page.keyboard.press('Shift+M'); + const previous = getMockAsset(asset, assets, 'previous', 'month')!; + await assetViewerUtils.expectActiveAssetToBe(page, previous.id); + asset = previous; + } + }); + test('Next/previous year - y, Shift+Y', async ({ page }) => { + await pageUtils.openPhotosPage(page); + let asset = assets[0]; + await timelineUtils.locator(page).hover(); + await page.keyboard.press('y'); + await assetViewerUtils.expectActiveAssetToBe(page, asset.id); + for (let i = 0; i < 15; i++) { + await page.keyboard.press('y'); + const next = getMockAsset(asset, assets, 'next', 'year')!; + await assetViewerUtils.expectActiveAssetToBe(page, next.id); + asset = next; + } + for (let i = 0; i < 15; i++) { + await page.keyboard.press('Shift+Y'); + const previous = getMockAsset(asset, assets, 'previous', 'year')!; + await assetViewerUtils.expectActiveAssetToBe(page, previous.id); + asset = previous; + } + }); + test('Navigate to time - g', async ({ page }) => { + const rng = new SeededRandom(4782); + await pageUtils.openPhotosPage(page); + for (let i = 0; i < 10; i++) { + const asset = selectRandom(assets, rng); + await pageUtils.goToAsset(page, asset.fileCreatedAt); + await thumbnailUtils.expectInViewport(page, asset.id); + } + }); + }); + test.describe('selection', () => { + test('Select day, unselect day', async ({ page }) => { + await pageUtils.openPhotosPage(page); + await pageUtils.selectDay(page, 'Wed, Dec 11, 2024'); + await expect(thumbnailUtils.selectedAsset(page)).toHaveCount(4); + await pageUtils.selectDay(page, 'Wed, Dec 11, 2024'); + await expect(thumbnailUtils.selectedAsset(page)).toHaveCount(0); + }); + test('Select asset, click asset to select', async ({ page }) => { + await pageUtils.openPhotosPage(page); + await thumbnailUtils.withAssetId(page, assets[1].id).hover(); + await thumbnailUtils.selectButton(page, assets[1].id).click(); + await expect(thumbnailUtils.selectedAsset(page)).toHaveCount(1); + // no need to hover, once selection is active + await thumbnailUtils.clickAssetId(page, assets[2].id); + await expect(thumbnailUtils.selectedAsset(page)).toHaveCount(2); + }); + test('Select asset, click unselect asset', async ({ page }) => { + await pageUtils.openPhotosPage(page); + await thumbnailUtils.withAssetId(page, assets[1].id).hover(); + await thumbnailUtils.selectButton(page, assets[1].id).click(); + await expect(thumbnailUtils.selectedAsset(page)).toHaveCount(1); + await thumbnailUtils.clickAssetId(page, assets[1].id); + // the hover uses a checked button too, so just move mouse away + await page.mouse.move(0, 0); + await expect(thumbnailUtils.selectedAsset(page)).toHaveCount(0); + }); + test('Select asset, shift-hover candidates, shift-click end', async ({ page }) => { + await pageUtils.openPhotosPage(page); + const asset = assets[0]; + await thumbnailUtils.withAssetId(page, asset.id).hover(); + await thumbnailUtils.selectButton(page, asset.id).click(); + await page.keyboard.down('Shift'); + await thumbnailUtils.withAssetId(page, assets[2].id).hover(); + await expect( + thumbnailUtils.locator(page).locator('.absolute.top-0.h-full.w-full.bg-immich-primary.opacity-40'), + ).toHaveCount(3); + await thumbnailUtils.selectButton(page, assets[2].id).click(); + await page.keyboard.up('Shift'); + await expect(thumbnailUtils.selectedAsset(page)).toHaveCount(3); + }); + test('Add multiple to selection - Select day, shift-click end', async ({ page }) => { + await pageUtils.openPhotosPage(page); + await thumbnailUtils.withAssetId(page, assets[0].id).hover(); + await thumbnailUtils.selectButton(page, assets[0].id).click(); + await thumbnailUtils.clickAssetId(page, assets[2].id); + await page.keyboard.down('Shift'); + await thumbnailUtils.clickAssetId(page, assets[4].id); + await page.mouse.move(0, 0); + await expect(thumbnailUtils.selectedAsset(page)).toHaveCount(4); + }); + }); + test.describe('scroll', () => { + test('Open /photos, random click scrubber 20x', async ({ page }) => { + test.slow(); + await pageUtils.openPhotosPage(page); + const rng = new SeededRandom(6637); + const selectedMonths = selectRandomMultiple(yearMonths, 20, rng); + for (const month of selectedMonths) { + await page.locator(`[data-segment-year-month="${month}"]`).click({ force: true }); + const visibleMockAssetsYearMonths = await poll(page, async () => { + const assetIds = await thumbnailUtils.getAllInViewport( + page, + (assetId: string) => getYearMonth(assets, assetId) === month, + ); + const visibleMockAssetsYearMonths: string[] = []; + for (const assetId of assetIds!) { + const yearMonth = getYearMonth(assets, assetId); + visibleMockAssetsYearMonths.push(yearMonth); + if (yearMonth === month) { + return [yearMonth]; + } + } + }); + if (page.isClosed()) { + return; + } + expect(visibleMockAssetsYearMonths).toContain(month); + } + }); + test('Deep link to last photo, scroll up', async ({ page }) => { + const lastAsset = assets.at(-1)!; + await pageUtils.deepLinkPhotosPage(page, lastAsset.id); + + await timelineUtils.locator(page).hover(); + for (let i = 0; i < 100; i++) { + await page.mouse.wheel(0, -100); + await page.waitForTimeout(25); + } + + await thumbnailUtils.expectInViewport(page, '14e5901f-fd7f-40c0-b186-4d7e7fc67968'); + }); + test('Deep link to first bucket, scroll down', async ({ page }) => { + const lastAsset = assets.at(0)!; + await pageUtils.deepLinkPhotosPage(page, lastAsset.id); + await timelineUtils.locator(page).hover(); + for (let i = 0; i < 100; i++) { + await page.mouse.wheel(0, 100); + await page.waitForTimeout(25); + } + await thumbnailUtils.expectInViewport(page, 'b7983a13-4b4e-4950-a731-f2962d9a1555'); + }); + test('Deep link to last photo, drag scrubber to scroll up', async ({ page }) => { + const lastAsset = assets.at(-1)!; + await pageUtils.deepLinkPhotosPage(page, lastAsset.id); + const lastMonth = yearMonths.at(-1); + const firstScrubSegment = page.locator(`[data-segment-year-month="${yearMonths[0]}"]`); + const lastScrubSegment = page.locator(`[data-segment-year-month="${lastMonth}"]`); + const sourcebox = (await lastScrubSegment.boundingBox())!; + const targetBox = (await firstScrubSegment.boundingBox())!; + await firstScrubSegment.hover(); + const currentY = sourcebox.y; + await page.mouse.move(sourcebox.x + sourcebox?.width / 2, currentY); + await page.mouse.down(); + await page.mouse.move(sourcebox.x + sourcebox?.width / 2, targetBox.y, { steps: 100 }); + await page.mouse.up(); + await thumbnailUtils.expectInViewport(page, assets[0].id); + }); + test('Deep link to first bucket, drag scrubber to scroll down', async ({ page }) => { + await pageUtils.deepLinkPhotosPage(page, assets[0].id); + const firstScrubSegment = page.locator(`[data-segment-year-month="${yearMonths[0]}"]`); + const sourcebox = (await firstScrubSegment.boundingBox())!; + await firstScrubSegment.hover(); + const currentY = sourcebox.y; + await page.mouse.move(sourcebox.x + sourcebox?.width / 2, currentY); + await page.mouse.down(); + const height = page.viewportSize()?.height; + expect(height).toBeDefined(); + await page.mouse.move(sourcebox.x + sourcebox?.width / 2, height! - 10, { + steps: 100, + }); + await page.mouse.up(); + await thumbnailUtils.expectInViewport(page, assets.at(-1)!.id); + }); + test('Buckets cancel on scroll', async ({ page }) => { + await pageUtils.openPhotosPage(page); + testContext.slowBucket = true; + const failedUris: string[] = []; + page.on('requestfailed', (request) => { + failedUris.push(request.url()); + }); + const offscreenSegment = page.locator(`[data-segment-year-month="${yearMonths[12]}"]`); + await offscreenSegment.click({ force: true }); + const lastSegment = page.locator(`[data-segment-year-month="${yearMonths.at(-1)!}"]`); + await lastSegment.click({ force: true }); + const uris = await poll(page, async () => (failedUris.length > 0 ? failedUris : null)); + expect(uris).toEqual(expect.arrayContaining([expect.stringContaining(padYearMonth(yearMonths[12]!))])); + }); + }); + test.describe('/albums', () => { + test('Open album', async ({ page }) => { + const album = timelineRestData.album; + await pageUtils.openAlbumPage(page, album.id); + await thumbnailUtils.expectInViewport(page, album.assetIds[0]); + }); + test('Deep link to last photo', async ({ page }) => { + const album = timelineRestData.album; + const lastAsset = album.assetIds.at(-1); + await pageUtils.deepLinkAlbumPage(page, album.id, lastAsset!); + await thumbnailUtils.expectInViewport(page, album.assetIds.at(-1)!); + await thumbnailUtils.expectBottomIsTimelineBottom(page, album.assetIds.at(-1)!); + }); + test('Add photos to album pre-selects existing', async ({ page }) => { + const album = timelineRestData.album; + await pageUtils.openAlbumPage(page, album.id); + await page.getByLabel('Add photos').click(); + const asset = getAsset(timelineRestData, album.assetIds[0])!; + await pageUtils.goToAsset(page, asset.fileCreatedAt); + await thumbnailUtils.expectInViewport(page, asset.id); + await thumbnailUtils.expectSelectedReadonly(page, asset.id); + }); + test('Add photos to album', async ({ page }) => { + const album = timelineRestData.album; + await pageUtils.openAlbumPage(page, album.id); + await page.locator('nav button[aria-label="Add photos"]').click(); + const asset = getAsset(timelineRestData, album.assetIds[0])!; + await pageUtils.goToAsset(page, asset.fileCreatedAt); + await thumbnailUtils.expectInViewport(page, asset.id); + await thumbnailUtils.expectSelectedReadonly(page, asset.id); + await pageUtils.selectDay(page, 'Tue, Feb 27, 2024'); + const put = pageRoutePromise(page, `**/api/albums/${album.id}/assets`, async (route, request) => { + const requestJson = request.postDataJSON(); + await route.fulfill({ + status: 200, + contentType: 'application/json', + json: requestJson.ids.map((id: string) => ({ id, success: true })), + }); + changes.albumAdditions.push(...requestJson.ids); + }); + await page.getByText('Done').click(); + await expect(put).resolves.toEqual({ + ids: [ + 'c077ea7b-cfa1-45e4-8554-f86c00ee5658', + '040fd762-dbbc-486d-a51a-2d84115e6229', + '86af0b5f-79d3-4f75-bab3-3b61f6c72b23', + ], + }); + const addedAsset = getAsset(timelineRestData, 'c077ea7b-cfa1-45e4-8554-f86c00ee5658')!; + await pageUtils.goToAsset(page, addedAsset.fileCreatedAt); + await thumbnailUtils.expectInViewport(page, 'c077ea7b-cfa1-45e4-8554-f86c00ee5658'); + await thumbnailUtils.expectInViewport(page, '040fd762-dbbc-486d-a51a-2d84115e6229'); + await thumbnailUtils.expectInViewport(page, '86af0b5f-79d3-4f75-bab3-3b61f6c72b23'); + }); + }); + test.describe('/trash', () => { + test('open /photos, trash photo, open /trash, restore', async ({ page }) => { + await pageUtils.openPhotosPage(page); + const assetToTrash = assets[0]; + await thumbnailUtils.withAssetId(page, assetToTrash.id).hover(); + await thumbnailUtils.selectButton(page, assetToTrash.id).click(); + await page.getByLabel('Menu').click(); + const deleteRequest = pageRoutePromise(page, '**/api/assets', async (route, request) => { + const requestJson = request.postDataJSON(); + changes.assetDeletions.push(...requestJson.ids); + await route.fulfill({ + status: 200, + contentType: 'application/json', + json: requestJson.ids.map((id: string) => ({ id, success: true })), + }); + }); + await page.getByRole('menuitem').getByText('Delete').click(); + await expect(deleteRequest).resolves.toEqual({ + force: false, + ids: [assetToTrash.id], + }); + await page.getByText('Trash', { exact: true }).click(); + await thumbnailUtils.expectInViewport(page, assetToTrash.id); + await thumbnailUtils.withAssetId(page, assetToTrash.id).hover(); + await thumbnailUtils.selectButton(page, assetToTrash.id).click(); + const restoreRequest = pageRoutePromise(page, '**/api/trash/restore/assets', async (route, request) => { + const requestJson = request.postDataJSON(); + changes.assetDeletions = changes.assetDeletions.filter((id) => !requestJson.ids.includes(id)); + await route.fulfill({ + status: 200, + contentType: 'application/json', + json: { count: requestJson.ids.length }, + }); + }); + await page.getByText('Restore', { exact: true }).click(); + await expect(restoreRequest).resolves.toEqual({ + ids: [assetToTrash.id], + }); + await expect(thumbnailUtils.withAssetId(page, assetToTrash.id)).toHaveCount(0); + await page.getByText('Photos', { exact: true }).click(); + await thumbnailUtils.expectInViewport(page, assetToTrash.id); + }); + test('open album, trash photo, open /trash, restore', async ({ page }) => { + const album = timelineRestData.album; + await pageUtils.openAlbumPage(page, album.id); + const assetToTrash = getAsset(timelineRestData, album.assetIds[0])!; + await thumbnailUtils.withAssetId(page, assetToTrash.id).hover(); + await thumbnailUtils.selectButton(page, assetToTrash.id).click(); + await page.getByLabel('Menu').click(); + const deleteRequest = pageRoutePromise(page, '**/api/assets', async (route, request) => { + const requestJson = request.postDataJSON(); + changes.assetDeletions.push(...requestJson.ids); + await route.fulfill({ + status: 200, + contentType: 'application/json', + json: requestJson.ids.map((id: string) => ({ id, success: true })), + }); + }); + await page.getByRole('menuitem').getByText('Delete').click(); + await expect(deleteRequest).resolves.toEqual({ + force: false, + ids: [assetToTrash.id], + }); + await page.locator('#asset-selection-app-bar').getByLabel('Close').click(); + await page.getByText('Trash', { exact: true }).click(); + await timelineUtils.waitForTimelineLoad(page); + await thumbnailUtils.expectInViewport(page, assetToTrash.id); + await thumbnailUtils.withAssetId(page, assetToTrash.id).hover(); + await thumbnailUtils.selectButton(page, assetToTrash.id).click(); + const restoreRequest = pageRoutePromise(page, '**/api/trash/restore/assets', async (route, request) => { + const requestJson = request.postDataJSON(); + changes.assetDeletions = changes.assetDeletions.filter((id) => !requestJson.ids.includes(id)); + await route.fulfill({ + status: 200, + contentType: 'application/json', + json: { count: requestJson.ids.length }, + }); + }); + await page.getByText('Restore', { exact: true }).click(); + await expect(restoreRequest).resolves.toEqual({ + ids: [assetToTrash.id], + }); + await expect(thumbnailUtils.withAssetId(page, assetToTrash.id)).toHaveCount(0); + await pageUtils.openAlbumPage(page, album.id); + await thumbnailUtils.expectInViewport(page, assetToTrash.id); + }); + }); + test.describe('/archive', () => { + test('open /photos, archive photo, open /archive, unarchive', async ({ page }) => { + await pageUtils.openPhotosPage(page); + const assetToArchive = assets[0]; + await thumbnailUtils.withAssetId(page, assetToArchive.id).hover(); + await thumbnailUtils.selectButton(page, assetToArchive.id).click(); + await page.getByLabel('Menu').click(); + const archive = pageRoutePromise(page, '**/api/assets', async (route, request) => { + const requestJson = request.postDataJSON(); + if (requestJson.visibility !== 'archive') { + return await route.continue(); + } + await route.fulfill({ + status: 204, + }); + changes.assetArchivals.push(...requestJson.ids); + }); + await page.getByRole('menuitem').getByText('Archive').click(); + await expect(archive).resolves.toEqual({ + visibility: 'archive', + ids: [assetToArchive.id], + }); + await expect(thumbnailUtils.withAssetId(page, assetToArchive.id)).toHaveCount(0); + await page.getByRole('link').getByText('Archive').click(); + await thumbnailUtils.expectInViewport(page, assetToArchive.id); + await thumbnailUtils.withAssetId(page, assetToArchive.id).hover(); + await thumbnailUtils.selectButton(page, assetToArchive.id).click(); + const unarchiveRequest = pageRoutePromise(page, '**/api/assets', async (route, request) => { + const requestJson = request.postDataJSON(); + if (requestJson.visibility !== 'timeline') { + return await route.continue(); + } + changes.assetArchivals = changes.assetArchivals.filter((id) => !requestJson.ids.includes(id)); + await route.fulfill({ + status: 204, + }); + }); + await page.getByLabel('Unarchive').click(); + await expect(unarchiveRequest).resolves.toEqual({ + visibility: 'timeline', + ids: [assetToArchive.id], + }); + await expect(thumbnailUtils.withAssetId(page, assetToArchive.id)).toHaveCount(0); + await page.getByText('Photos', { exact: true }).click(); + await thumbnailUtils.expectInViewport(page, assetToArchive.id); + }); + test('open album, archive photo, open album, unarchive', async ({ page }) => { + const album = timelineRestData.album; + await pageUtils.openAlbumPage(page, album.id); + const assetToArchive = getAsset(timelineRestData, album.assetIds[0])!; + await thumbnailUtils.withAssetId(page, assetToArchive.id).hover(); + await thumbnailUtils.selectButton(page, assetToArchive.id).click(); + await page.getByLabel('Menu').click(); + const archive = pageRoutePromise(page, '**/api/assets', async (route, request) => { + const requestJson = request.postDataJSON(); + if (requestJson.visibility !== 'archive') { + return await route.continue(); + } + changes.assetArchivals.push(...requestJson.ids); + await route.fulfill({ + status: 204, + }); + }); + await page.getByRole('menuitem').getByText('Archive').click(); + await expect(archive).resolves.toEqual({ + visibility: 'archive', + ids: [assetToArchive.id], + }); + console.log('Skipping assertion - TODO - fix that archiving in album doesnt add icon'); + // await thumbnail.expectThumbnailIsArchive(page, assetToArchive.id); + await page.locator('#asset-selection-app-bar').getByLabel('Close').click(); + await page.getByRole('link').getByText('Archive').click(); + await timelineUtils.waitForTimelineLoad(page); + await thumbnailUtils.expectInViewport(page, assetToArchive.id); + await thumbnailUtils.withAssetId(page, assetToArchive.id).hover(); + await thumbnailUtils.selectButton(page, assetToArchive.id).click(); + const unarchiveRequest = pageRoutePromise(page, '**/api/assets', async (route, request) => { + const requestJson = request.postDataJSON(); + if (requestJson.visibility !== 'timeline') { + return await route.continue(); + } + changes.assetArchivals = changes.assetArchivals.filter((id) => !requestJson.ids.includes(id)); + await route.fulfill({ + status: 204, + }); + }); + await page.getByLabel('Unarchive').click(); + await expect(unarchiveRequest).resolves.toEqual({ + visibility: 'timeline', + ids: [assetToArchive.id], + }); + console.log('Skipping assertion - TODO - fix bug with not removing asset from timeline-manager after unarchive'); + // await expect(thumbnail.withAssetId(page, assetToArchive.id)).toHaveCount(0); + await pageUtils.openAlbumPage(page, album.id); + await thumbnailUtils.expectInViewport(page, assetToArchive.id); + }); + }); + test.describe('/favorite', () => { + test('open /photos, favorite photo, open /favorites, remove favorite, open /photos', async ({ page }) => { + await pageUtils.openPhotosPage(page); + const assetToFavorite = assets[0]; + + await thumbnailUtils.withAssetId(page, assetToFavorite.id).hover(); + await thumbnailUtils.selectButton(page, assetToFavorite.id).click(); + const favorite = pageRoutePromise(page, '**/api/assets', async (route, request) => { + const requestJson = request.postDataJSON(); + if (requestJson.isFavorite === undefined) { + return await route.continue(); + } + const isFavorite = requestJson.isFavorite; + if (isFavorite) { + changes.assetFavorites.push(...requestJson.ids); + } + await route.fulfill({ + status: 204, + }); + }); + await page.getByLabel('Favorite').click(); + await expect(favorite).resolves.toEqual({ + isFavorite: true, + ids: [assetToFavorite.id], + }); + // ensure thumbnail still exists and has favorite icon + await thumbnailUtils.expectThumbnailIsFavorite(page, assetToFavorite.id); + await page.getByRole('link').getByText('Favorites').click(); + await thumbnailUtils.expectInViewport(page, assetToFavorite.id); + await thumbnailUtils.withAssetId(page, assetToFavorite.id).hover(); + await thumbnailUtils.selectButton(page, assetToFavorite.id).click(); + const unFavoriteRequest = pageRoutePromise(page, '**/api/assets', async (route, request) => { + const requestJson = request.postDataJSON(); + if (requestJson.isFavorite === undefined) { + return await route.continue(); + } + changes.assetFavorites = changes.assetFavorites.filter((id) => !requestJson.ids.includes(id)); + await route.fulfill({ + status: 204, + }); + }); + await page.getByLabel('Remove from favorites').click(); + await expect(unFavoriteRequest).resolves.toEqual({ + isFavorite: false, + ids: [assetToFavorite.id], + }); + await expect(thumbnailUtils.withAssetId(page, assetToFavorite.id)).toHaveCount(0); + await page.getByText('Photos', { exact: true }).click(); + await thumbnailUtils.expectInViewport(page, assetToFavorite.id); + }); + test('Open album, favorite photo, open /favorites, remove favorite, Open album', async ({ page }) => { + const album = timelineRestData.album; + await pageUtils.openAlbumPage(page, album.id); + const assetToFavorite = getAsset(timelineRestData, album.assetIds[0])!; + + await thumbnailUtils.withAssetId(page, assetToFavorite.id).hover(); + await thumbnailUtils.selectButton(page, assetToFavorite.id).click(); + const favorite = pageRoutePromise(page, '**/api/assets', async (route, request) => { + const requestJson = request.postDataJSON(); + if (requestJson.isFavorite === undefined) { + return await route.continue(); + } + const isFavorite = requestJson.isFavorite; + if (isFavorite) { + changes.assetFavorites.push(...requestJson.ids); + } + await route.fulfill({ + status: 204, + }); + }); + await page.getByLabel('Favorite').click(); + await expect(favorite).resolves.toEqual({ + isFavorite: true, + ids: [assetToFavorite.id], + }); + // ensure thumbnail still exists and has favorite icon + await thumbnailUtils.expectThumbnailIsFavorite(page, assetToFavorite.id); + await page.locator('#asset-selection-app-bar').getByLabel('Close').click(); + await page.getByRole('link').getByText('Favorites').click(); + await timelineUtils.waitForTimelineLoad(page); + await pageUtils.goToAsset(page, assetToFavorite.fileCreatedAt); + await thumbnailUtils.expectInViewport(page, assetToFavorite.id); + await thumbnailUtils.withAssetId(page, assetToFavorite.id).hover(); + await thumbnailUtils.selectButton(page, assetToFavorite.id).click(); + const unFavoriteRequest = pageRoutePromise(page, '**/api/assets', async (route, request) => { + const requestJson = request.postDataJSON(); + if (requestJson.isFavorite === undefined) { + return await route.continue(); + } + changes.assetFavorites = changes.assetFavorites.filter((id) => !requestJson.ids.includes(id)); + await route.fulfill({ + status: 204, + }); + }); + await page.getByLabel('Remove from favorites').click(); + await expect(unFavoriteRequest).resolves.toEqual({ + isFavorite: false, + ids: [assetToFavorite.id], + }); + await expect(thumbnailUtils.withAssetId(page, assetToFavorite.id)).toHaveCount(0); + await pageUtils.openAlbumPage(page, album.id); + await thumbnailUtils.expectInViewport(page, assetToFavorite.id); + }); + }); +}); + +const getYearMonth = (assets: TimelineAssetConfig[], assetId: string) => { + const mockAsset = assets.find((mockAsset) => mockAsset.id === assetId)!; + const dateTime = DateTime.fromISO(mockAsset.fileCreatedAt!); + return dateTime.year + '-' + dateTime.month; +}; diff --git a/e2e/src/web/specs/timeline/utils.ts b/e2e/src/web/specs/timeline/utils.ts new file mode 100644 index 0000000000..8d9e784d8f --- /dev/null +++ b/e2e/src/web/specs/timeline/utils.ts @@ -0,0 +1,234 @@ +import { BrowserContext, expect, Page } from '@playwright/test'; +import { DateTime } from 'luxon'; +import { TimelineAssetConfig } from 'src/generators/timeline'; + +export const sleep = (ms: number) => { + return new Promise((resolve) => setTimeout(resolve, ms)); +}; + +export const padYearMonth = (yearMonth: string) => { + const [year, month] = yearMonth.split('-'); + return `${year}-${month.padStart(2, '0')}`; +}; + +export async function throttlePage(context: BrowserContext, page: Page) { + const session = await context.newCDPSession(page); + await session.send('Network.emulateNetworkConditions', { + offline: false, + downloadThroughput: (1.5 * 1024 * 1024) / 8, + uploadThroughput: (750 * 1024) / 8, + latency: 40, + connectionType: 'cellular3g', + }); + await session.send('Emulation.setCPUThrottlingRate', { rate: 10 }); +} + +let activePollsAbortController = new AbortController(); + +export const cancelAllPollers = () => { + activePollsAbortController.abort(); + activePollsAbortController = new AbortController(); +}; + +export const poll = async ( + page: Page, + query: () => Promise, + callback?: (result: Awaited | undefined) => boolean, +) => { + let result; + const timeout = Date.now() + 10_000; + const signal = activePollsAbortController.signal; + + const terminate = callback || ((result: Awaited | undefined) => !!result); + while (!terminate(result) && Date.now() < timeout) { + if (signal.aborted) { + return; + } + try { + result = await query(); + } catch { + // ignore + } + if (signal.aborted) { + return; + } + if (page.isClosed()) { + return; + } + try { + await page.waitForTimeout(50); + } catch { + return; + } + } + if (!result) { + // rerun to trigger error if any + result = await query(); + } + return result; +}; + +export const thumbnailUtils = { + locator(page: Page) { + return page.locator('[data-thumbnail-focus-container]'); + }, + withAssetId(page: Page, assetId: string) { + return page.locator(`[data-thumbnail-focus-container][data-asset="${assetId}"]`); + }, + selectButton(page: Page, assetId: string) { + return page.locator(`[data-thumbnail-focus-container][data-asset="${assetId}"] button`); + }, + selectedAsset(page: Page) { + return page.locator('[data-thumbnail-focus-container]:has(button[aria-checked])'); + }, + async clickAssetId(page: Page, assetId: string) { + await thumbnailUtils.withAssetId(page, assetId).click(); + }, + async queryThumbnailInViewport(page: Page, collector: (assetId: string) => boolean) { + const assetIds: string[] = []; + for (const thumb of await this.locator(page).all()) { + const box = await thumb.boundingBox(); + if (box) { + const assetId = await thumb.evaluate((e) => e.dataset.asset); + if (collector?.(assetId!)) { + return [assetId!]; + } + assetIds.push(assetId!); + } + } + return assetIds; + }, + async getFirstInViewport(page: Page) { + return await poll(page, () => thumbnailUtils.queryThumbnailInViewport(page, () => true)); + }, + async getAllInViewport(page: Page, collector: (assetId: string) => boolean) { + return await poll(page, () => thumbnailUtils.queryThumbnailInViewport(page, collector)); + }, + async expectThumbnailIsFavorite(page: Page, assetId: string) { + await expect( + thumbnailUtils + .withAssetId(page, assetId) + .locator( + 'path[d="M12,21.35L10.55,20.03C5.4,15.36 2,12.27 2,8.5C2,5.41 4.42,3 7.5,3C9.24,3 10.91,3.81 12,5.08C13.09,3.81 14.76,3 16.5,3C19.58,3 22,5.41 22,8.5C22,12.27 18.6,15.36 13.45,20.03L12,21.35Z"]', + ), + ).toHaveCount(1); + }, + async expectThumbnailIsArchive(page: Page, assetId: string) { + await expect( + thumbnailUtils + .withAssetId(page, assetId) + .locator('path[d="M20 21H4V10H6V19H18V10H20V21M3 3H21V9H3V3M5 5V7H19V5M10.5 11V14H8L12 18L16 14H13.5V11"]'), + ).toHaveCount(1); + }, + async expectSelectedReadonly(page: Page, assetId: string) { + // todo - need a data attribute for selected + await expect( + page.locator( + `[data-thumbnail-focus-container][data-asset="${assetId}"] > .group.cursor-not-allowed > .rounded-xl`, + ), + ).toBeVisible(); + }, + async expectTimelineHasOnScreenAssets(page: Page) { + const first = await thumbnailUtils.getFirstInViewport(page); + if (page.isClosed()) { + return; + } + expect(first).toBeTruthy(); + }, + async expectInViewport(page: Page, assetId: string) { + const box = await poll(page, () => thumbnailUtils.withAssetId(page, assetId).boundingBox()); + if (page.isClosed()) { + return; + } + expect(box).toBeTruthy(); + }, + async expectBottomIsTimelineBottom(page: Page, assetId: string) { + const box = await thumbnailUtils.withAssetId(page, assetId).boundingBox(); + const gridBox = await timelineUtils.locator(page).boundingBox(); + if (page.isClosed()) { + return; + } + expect(box!.y + box!.height).toBeCloseTo(gridBox!.y + gridBox!.height, 0); + }, + async expectTopIsTimelineTop(page: Page, assetId: string) { + const box = await thumbnailUtils.withAssetId(page, assetId).boundingBox(); + const gridBox = await timelineUtils.locator(page).boundingBox(); + if (page.isClosed()) { + return; + } + expect(box!.y).toBeCloseTo(gridBox!.y, 0); + }, +}; +export const timelineUtils = { + locator(page: Page) { + return page.locator('#asset-grid'); + }, + async waitForTimelineLoad(page: Page) { + await expect(timelineUtils.locator(page)).toBeInViewport(); + await expect.poll(() => thumbnailUtils.locator(page).count()).toBeGreaterThan(0); + }, + async getScrollTop(page: Page) { + const queryTop = () => + page.evaluate(() => { + // eslint-disable-next-line @typescript-eslint/ban-ts-comment + // @ts-ignore + return document.querySelector('#asset-grid').scrollTop; + }); + await expect.poll(queryTop).toBeGreaterThan(0); + return await queryTop(); + }, +}; + +export const assetViewerUtils = { + locator(page: Page) { + return page.locator('#immich-asset-viewer'); + }, + async waitForViewerLoad(page: Page, asset: TimelineAssetConfig) { + await page + .locator(`img[draggable="false"][src="/api/assets/${asset.id}/thumbnail?size=preview&c=${asset.thumbhash}"]`) + .or(page.locator(`video[poster="/api/assets/${asset.id}/thumbnail?size=preview&c=${asset.thumbhash}"]`)) + .waitFor(); + }, + async expectActiveAssetToBe(page: Page, assetId: string) { + const activeElement = () => + page.evaluate(() => { + // eslint-disable-next-line @typescript-eslint/ban-ts-comment + // @ts-ignore + return document.activeElement?.dataset?.asset; + }); + await expect(poll(page, activeElement, (result) => result === assetId)).resolves.toBe(assetId); + }, +}; +export const pageUtils = { + async deepLinkPhotosPage(page: Page, assetId: string) { + await page.goto(`/photos?at=${assetId}`); + await timelineUtils.waitForTimelineLoad(page); + }, + async openPhotosPage(page: Page) { + await page.goto(`/photos`); + await timelineUtils.waitForTimelineLoad(page); + }, + async openAlbumPage(page: Page, albumId: string) { + await page.goto(`/albums/${albumId}`); + await timelineUtils.waitForTimelineLoad(page); + }, + async deepLinkAlbumPage(page: Page, albumId: string, assetId: string) { + await page.goto(`/albums/${albumId}?at=${assetId}`); + await timelineUtils.waitForTimelineLoad(page); + }, + async goToAsset(page: Page, assetDate: string) { + await timelineUtils.locator(page).hover(); + const stringDate = DateTime.fromISO(assetDate).toFormat('MMddyyyy,hh:mm:ss.SSSa'); + await page.keyboard.press('g'); + await page.locator('#datetime').pressSequentially(stringDate); + await page.getByText('Confirm').click(); + }, + async selectDay(page: Page, day: string) { + await page.getByTitle(day).hover(); + await page.locator('[data-group] .w-8').click(); + }, + async pauseTestDebug() { + console.log('NOTE: pausing test indefinately for debug'); + await new Promise(() => void 0); + }, +}; diff --git a/i18n/af.json b/i18n/af.json index 68e020b76e..9d61e72c04 100644 --- a/i18n/af.json +++ b/i18n/af.json @@ -17,7 +17,6 @@ "add_birthday": "Voeg 'n verjaarsdag by", "add_endpoint": "Voeg Koppelvlakpunt by", "add_exclusion_pattern": "Voeg uitsgluitingspatrone by", - "add_import_path": "Voeg invoerpad by", "add_location": "Voeg ligging by", "add_more_users": "Voeg meer gebruikers by", "add_partner": "Voeg vennoot by", @@ -101,7 +100,6 @@ "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 deursoek word vir prente en videos.", "library_scanning": "Periodieke Soek", "library_scanning_description": "Stel periodieke deursoek van biblioteek in", "library_scanning_enable_description": "Aktiveer periodieke biblioteekskandering", diff --git a/i18n/ar.json b/i18n/ar.json index 229fa316f7..933ba67871 100644 --- a/i18n/ar.json +++ b/i18n/ar.json @@ -17,7 +17,6 @@ "add_birthday": "ØŖØļ؁ ØĒØ§ØąŲŠØŽ Ø§Ų„Ų…ŲŠŲ„Ø§Ø¯", "add_endpoint": "اØļ؁ Ų†Ų‚ØˇØŠ Ų†Ų‡Ø§ŲŠØŠ", "add_exclusion_pattern": "ØĨØļØ§ŲØŠ Ų†Ų…Øˇ ØĨØŗØĒØĢŲ†Ø§ØĄ", - "add_import_path": "ØĨØļØ§ŲØŠ Ų…ØŗØ§Øą Ø§Ų„ØĨØŗØĒŲŠØąØ§Ø¯", "add_location": "ØĨØļØ§ŲØŠ Ų…ŲˆŲ‚Øš", "add_more_users": "ØĨØļØ§ŲØŠ Ų…ØŗØĒØŽØ¯Ų…ŲŠŲ† ØĸØŽØąŲŠŲ†", "add_partner": "ØŖØļ؁ Ø´ØąŲŠŲƒŲ‹Ø§", @@ -112,7 +111,6 @@ "jobs_failed": "{jobCount, plural, other {# ŲØ´Ų„ØĒ}}", "library_created": "ØĒŲ… ØĨŲ†Ø´Ø§ØĄ Ø§Ų„Ų…ŲƒØĒب؊: {library}", "library_deleted": "ØĒŲ… Ø­Ø°Ų Ø§Ų„Ų…ŲƒØĒب؊", - "library_import_path_description": "حدد Ų…ØŦŲ„Ø¯Ų‹Ø§ Ų„Ų„Ø§ØŗØĒŲŠØąØ§Ø¯. ØŗŲŠØĒŲ… ŲØ­Øĩ Ų‡Ø°Ø§ Ø§Ų„Ų…ØŦŲ„Ø¯ØŒ Ø¨Ų…Ø§ ؁؊ Ø°Ų„Ųƒ Ø§Ų„Ų…ØŦŲ„Ø¯Ø§ØĒ Ø§Ų„ŲØąØšŲŠØŠØŒ بحØĢŲ‹Ø§ ØšŲ† Ø§Ų„ØĩŲˆØą ŲˆŲ…Ų‚Ø§ØˇØš Ø§Ų„ŲŲŠØ¯ŲŠŲˆ.", "library_scanning": "Ø§Ų„Ų…ØŗØ­ Ø§Ų„Ø¯ŲˆØąŲŠ", "library_scanning_description": "ØĨؚداد Ų…ØŗØ­ Ø§Ų„Ų…ŲƒØĒب؊ Ø§Ų„Ø¯ŲˆØąŲŠ", "library_scanning_enable_description": "ØĒŲØšŲŠŲ„ Ų…ØŗØ­ Ø§Ų„Ų…ŲƒØĒب؊ Ø§Ų„Ø¯ŲˆØąŲŠ", @@ -154,6 +152,18 @@ "machine_learning_min_detection_score_description": "Ø§Ų„Ø­Ø¯ Ø§Ų„ØŖØ¯Ų†Ų‰ Ų„Ų†Ų‚ØˇØŠ Ø§Ų„ØĢŲ‚ØŠ Ų„Ø§ŲƒØĒØ´Ø§Ų Ø§Ų„ŲˆØŦŲ‡ØŒ ØĒØĒØąØ§ŲˆØ­ Ų…Ų† 0 ØĨŲ„Ų‰ 1. Ø§Ų„Ų‚ŲŠŲ… Ø§Ų„ØŖŲ‚Ų„ ØŗØĒŲƒØ´Ų ØšŲ† Ø§Ų„Ų…Ø˛ŲŠØ¯ Ų…Ų† Ø§Ų„ŲˆØŦŲˆŲ‡ ŲˆŲ„ŲƒŲ† Ų‚Ø¯ ØĒØ¤Ø¯ŲŠ ØĨŲ„Ų‰ Ų†ØĒاØĻØŦ ØĨ؊ØŦØ§Ø¨ŲŠØŠ ØŽØ§ØˇØĻØŠ.", "machine_learning_min_recognized_faces": "Ø§Ų„Ø­Ø¯ Ø§Ų„ØŖØ¯Ų†Ų‰ Ų„ØšØ¯Ø¯ Ø§Ų„ŲˆØŦŲˆŲ‡ Ø§Ų„Ų…ØĒØšØąŲ ØšŲ„ŲŠŲ‡Ø§", "machine_learning_min_recognized_faces_description": "Ø§Ų„Ø­Ø¯ Ø§Ų„ØŖØ¯Ų†Ų‰ Ų„ØšØ¯Ø¯ Ø§Ų„ŲˆØŦŲˆŲ‡ Ø§Ų„Ų…ØĒØšØąŲ ØšŲ„ŲŠŲ‡Ø§ Ų„ØĨŲ†Ø´Ø§ØĄ Ø´ØŽØĩ. Ø˛ŲŠØ§Ø¯ØŠ Ų‡Ø°Ø§ Ø§Ų„ØąŲ‚Ų… ؊ØŦØšŲ„ Ø§Ų„ØĒØšØąŲ ØšŲ„Ų‰ Ø§Ų„ŲˆØŦŲˆŲ‡ ØŖŲƒØĢØą Ø¯Ų‚ØŠ ØšŲ„Ų‰ Ø­ØŗØ§Ø¨ Ø˛ŲŠØ§Ø¯ØŠ احØĒŲ…Ø§Ų„ ØšØ¯Ų… ØĒØšŲŠŲŠŲ† Ø§Ų„ŲˆØŦŲ‡ Ų„Ø´ØŽØĩ Ų…Ø§.", + "machine_learning_ocr": "Ø§Ų„ØĒØšØąŲ Ø§Ų„Ø¨ØĩØąŲŠ ØšŲ„Ų‰ Ø§Ų„Ø­ØąŲˆŲ", + "machine_learning_ocr_description": "Ø§ØŗØĒØŽØ¯Ų… Ø§Ų„ØĒØšŲ„Ų… Ø§Ų„ØĸŲ„ŲŠ Ų„Ų„ØĒØšØąŲ ØšŲ„Ų‰ Ø§Ų„Ų†Øĩ؈Øĩ ؁؊ Ø§Ų„ØĩŲˆØą", + "machine_learning_ocr_enabled": "ØĒŲØšŲŠŲ„ Ø§Ų„ØĒØšØąŲ Ø§Ų„Ø¨ØĩØąŲŠ ØšŲ„Ų‰ Ø§Ų„Ø­ØąŲˆŲ", + "machine_learning_ocr_enabled_description": "؁؊ Ø­Ø§Ų„ ØĒØšØˇŲŠŲ„ Ų‡Ø°Ų‡ Ø§Ų„Ų…ŲŠØ˛ØŠØŒ Ų„Ų† ØĒØŽØļØš Ø§Ų„ØĩŲˆØą Ų„ØšŲ…Ų„ŲŠØŠ Ø§Ų„ØĒØšØąŲ ØšŲ„Ų‰ Ø§Ų„Ų†Øĩ؈Øĩ.", + "machine_learning_ocr_max_resolution": "ØŖŲ‚ØĩŲ‰ Ø¯Ų‚ØŠ", + "machine_learning_ocr_max_resolution_description": "ØŗŲŠØĒŲ… ØĒØēŲŠŲŠØą Ø­ØŦŲ… Ø§Ų„Ų…ØšØ§ŲŠŲ†Ø§ØĒ Ø§Ų„ØĒ؊ ØĒØĒØŦØ§ŲˆØ˛ Ų‡Ø°Ų‡ Ø§Ų„Ø¯Ų‚ØŠ Ų…Øš Ø§Ų„Ø­ŲØ§Ø¸ ØšŲ„Ų‰ Ų†ØŗØ¨ØŠ Ø§Ų„ØšØąØļ ØĨŲ„Ų‰ Ø§Ų„Ø§ØąØĒŲØ§Øš. Ø§Ų„Ų‚ŲŠŲ… Ø§Ų„ØŖØšŲ„Ų‰ ØĒŲˆŲØą Ø¯Ų‚ØŠ ØŖŲƒØ¨ØąØŒ ŲˆŲ„ŲƒŲ†Ų‡Ø§ ØĒØŗØĒØēØąŲ‚ ŲˆŲ‚ØĒŲ‹Ø§ ØŖØˇŲˆŲ„ Ų„Ų„Ų…ØšØ§Ų„ØŦØŠ ؈ØĒØŗØĒŲ‡Ų„Ųƒ Ø§Ų„Ų…Ø˛ŲŠØ¯ Ų…Ų† Ø§Ų„Ø°Ø§ŲƒØąØŠ.", + "machine_learning_ocr_min_detection_score": "Ø§Ų„Ø­Ø¯ Ø§Ų„ØŖØ¯Ų†Ų‰ Ų„Ø¯ØąØŦØŠ Ø§Ų„ŲƒØ´Ų", + "machine_learning_ocr_min_detection_score_description": "Ų„Ø­Ø¯ Ø§Ų„ØŖØ¯Ų†Ų‰ Ų„Ø¯ØąØŦØŠ Ø§Ų„ØĢŲ‚ØŠ Ø§Ų„Ų…ØˇŲ„ŲˆØ¨ØŠ Ų„Ø§ŲƒØĒØ´Ø§Ų Ø§Ų„Ų†Øĩ، ؈ØĒØĒØąØ§ŲˆØ­ Ų‚ŲŠŲ…ØĒŲ‡Ø§ Ų…Ų† 0 ØĨŲ„Ų‰ 1. ØŗØĒØ¤Ø¯ŲŠ Ø§Ų„Ų‚ŲŠŲ… Ø§Ų„ØŖŲ‚Ų„ ØĨŲ„Ų‰ Ø§ŲƒØĒØ´Ø§Ų Ø§Ų„Ų…Ø˛ŲŠØ¯ Ų…Ų† Ø§Ų„Ų†Øĩ؈Øĩ ŲˆŲ„ŲƒŲ†Ų‡Ø§ Ų‚Ø¯ ØĒØ¤Ø¯ŲŠ ØĨŲ„Ų‰ Ų†ØĒاØĻØŦ ØĨ؊ØŦØ§Ø¨ŲŠØŠ ØŽØ§ØˇØĻØŠ.", + "machine_learning_ocr_min_recognition_score": "Ø§Ų„Ø­Ø¯ Ø§Ų„ØŖØ¯Ų†Ų‰ Ų„Ø¯ØąØŦØŠ Ø§Ų„ØĒØšØąŲ‘Ų", + "machine_learning_ocr_min_score_recognition_description": "Ø§Ų„Ø­Ø¯ Ø§Ų„ØŖØ¯Ų†Ų‰ Ų„Ø¯ØąØŦØŠ Ø§Ų„ØĢŲ‚ØŠ Ø§Ų„Ų…ØˇŲ„ŲˆØ¨ØŠ Ų„Ų„Ų†Øĩ؈Øĩ Ø§Ų„Ų…ŲƒØĒØ´ŲØŠ Ų„ŲŠØĒŲ… Ø§Ų„ØĒØšØąŲ ØšŲ„ŲŠŲ‡Ø§ØŒ ؈ØĒØĒØąØ§ŲˆØ­ Ų…Ų† 0 ØĨŲ„Ų‰ 1. ØŗØĒØ¤Ø¯ŲŠ Ø§Ų„Ų‚ŲŠŲ… Ø§Ų„ØŖŲ‚Ų„ ØĨŲ„Ų‰ Ø§Ų„ØĒØšØąŲ ØšŲ„Ų‰ Ø§Ų„Ų…Ø˛ŲŠØ¯ Ų…Ų† Ø§Ų„Ų†Øĩ؈Øĩ ŲˆŲ„ŲƒŲ†Ų‡Ø§ Ų‚Ø¯ ØĒØ¤Ø¯ŲŠ ØĨŲ„Ų‰ Ų†ØĒاØĻØŦ ØĨ؊ØŦØ§Ø¨ŲŠØŠ ØŽØ§ØˇØĻØŠ.", + "machine_learning_ocr_model": "Ų†Ų…ŲˆØ°ØŦ Ø§Ų„ØĒØšØąŲ Ø§Ų„Ø¨ØĩØąŲŠ ØšŲ„Ų‰ Ø§Ų„Ø­ØąŲˆŲ", + "machine_learning_ocr_model_description": "ØĒØĒŲ…ŲŠØ˛ Ų†Ų…Ø§Ø°ØŦ Ø§Ų„ØŽŲˆØ§Ø¯Ų… Ø¨Ø¯Ų‚ØŠ ØŖŲƒØ¨Øą Ų…Ų† Ų†Ų…Ø§Ø°ØŦ Ø§Ų„ØŖØŦŲ‡Ø˛ØŠ Ø§Ų„Ų…Ø­Ų…ŲˆŲ„ØŠØŒ ŲˆŲ„ŲƒŲ†Ų‡Ø§ ØĒØŗØĒØēØąŲ‚ ŲˆŲ‚ØĒŲ‹Ø§ ØŖØˇŲˆŲ„ ؁؊ Ø§Ų„Ų…ØšØ§Ų„ØŦØŠ ؈ØĒØŗØĒŲ‡Ų„Ųƒ Ø°Ø§ŲƒØąØŠ ØŖŲƒØ¨Øą.", "machine_learning_settings": "ØĨؚداداØĒ Ø§Ų„ØĒØšŲ„Ų… Ø§Ų„ØĸŲ„ŲŠ", "machine_learning_settings_description": "ØĨØ¯Ø§ØąØŠ Ų…ŲŠØ˛Ø§ØĒ ؈ØĨؚداداØĒ Ø§Ų„ØĒØšŲ„Ų… Ø§Ų„ØĸŲ„ŲŠ", "machine_learning_smart_search": "Ø§Ų„Ø¨Ø­ØĢ Ø§Ų„Ø°ŲƒŲŠ", @@ -211,6 +221,8 @@ "notification_email_ignore_certificate_errors_description": "ØĒØŦØ§Ų‡Ų„ ØŖØŽØˇØ§ØĄ Ø§Ų„ØĒØ­Ų‚Ų‚ Ų…Ų† Øĩح؊ Ø´Ų‡Ø§Ø¯ØŠ TLS (ØēŲŠØą Ų…ØŗØĒØ­ØŗŲ†)", "notification_email_password_description": "ŲƒŲ„Ų…ØŠ Ø§Ų„Ų…ØąŲˆØą Ø§Ų„Ų…ØŗØĒØŽØ¯Ų…ØŠ Ų„Ų„Ų…ØĩØ§Ø¯Ų‚ØŠ Ų…Øš ØŽØ§Ø¯Ų… Ø§Ų„Ø¨ØąŲŠØ¯ Ø§Ų„ØĨŲ„ŲƒØĒØąŲˆŲ†ŲŠ", "notification_email_port_description": "Ų…Ų†ŲØ° ØŽØ§Ø¯Ų… Ø§Ų„Ø¨ØąŲŠØ¯ Ø§Ų„ØĨŲ„ŲƒØĒØąŲˆŲ†ŲŠ (Ų…ØĢŲ„Ø§Ų‹ 25، 465، ØŖŲˆ 587)", + "notification_email_secure": "Ø¨ØąŲˆØĒŲˆŲƒŲˆŲ„ Ų†Ų‚Ų„ Ø§Ų„Ø¨ØąŲŠØ¯ Ø§Ų„Ø¨ØŗŲŠØˇ Ø§Ų„ØĸŲ…Ų† SMTPS", + "notification_email_secure_description": "Ø§ØŗØĒØŽØ¯Ų… Ø¨ØąŲˆØĒŲˆŲƒŲˆŲ„ SMTPS (Ø¨ØąŲˆØĒŲˆŲƒŲˆŲ„ SMTP ØšØ¨Øą TLS)", "notification_email_sent_test_email_button": "ØĨØąØŗØ§Ų„ Ø¨ØąŲŠØ¯ ØĨŲ„ŲƒØĒØąŲˆŲ†ŲŠ ØĒØŦØąŲŠØ¨ŲŠ ŲˆØ­ŲØ¸ Ø§Ų„ØĒØšØ¯ŲŠŲ„Ø§ØĒ", "notification_email_setting_description": "ØĨؚداداØĒ ØĨØąØŗØ§Ų„ ØĨØ´ØšØ§ØąØ§ØĒ Ø§Ų„Ø¨ØąŲŠØ¯ Ø§Ų„ØĨŲ„ŲƒØĒØąŲˆŲ†ŲŠ", "notification_email_test_email": "ØĨØąØŗØ§Ų„ Ø¨ØąŲŠØ¯ ØĒØŦØąŲŠØ¨ŲŠ", @@ -243,6 +255,7 @@ "oauth_storage_quota_default_description": "Ø§Ų„Ø­ØĩØŠ Ø¨Ø§Ų„ØŦ؊ØŦØ§Ø¨Ø§ŲŠØĒ Ø§Ų„ØĒ؊ ØŗŲŠØĒŲ… Ø§ØŗØĒØŽØ¯Ø§Ų…Ų‡Ø§ ØšŲ†Ø¯Ų…Ø§ Ų„Ø§ ؊ØĒŲ… ØĒŲˆŲŲŠØą Ų…ØˇØ§Ų„Ø¨ØŠ.", "oauth_timeout": "Ų†ŲØ§Ø° ŲˆŲ‚ØĒ Ø§Ų„ØˇŲ„Ø¨", "oauth_timeout_description": "Ų†ŲØ§Ø° ŲˆŲ‚ØĒ Ø§Ų„ØˇŲ„Ø¨ Ø¨Ø§Ų„Ų…ŲŠŲ„ŲŠ ØĢØ§Ų†ŲŠØŠ", + "ocr_job_description": "Ø§ØŗØĒØŽØ¯Ų… Ø§Ų„ØĒØšŲ„Ų… Ø§Ų„ØĸŲ„ŲŠ Ų„Ų„ØĒØšØąŲ ØšŲ„Ų‰ Ø§Ų„Ų†Øĩ؈Øĩ ؁؊ Ø§Ų„ØĩŲˆØą", "password_enable_description": "ØĒØŗØŦŲŠŲ„ Ø§Ų„Ø¯ØŽŲˆŲ„ Ø¨Ø§ØŗØĒØŽØ¯Ø§Ų… Ø§Ų„Ø¨ØąŲŠØ¯ Ø§Ų„ŲƒØĒØąŲˆŲ†ŲŠ ŲˆŲƒŲ„Ų…ØŠ Ø§Ų„Ų…ØąŲˆØą", "password_settings": "ØĒØŗØŦŲŠŲ„ Ø§Ų„Ø¯ØŽŲˆŲ„ Ø¨ŲƒŲ„Ų…ØŠ Ø§Ų„Ų…ØąŲˆØą", "password_settings_description": "ØĨØ¯Ø§ØąØŠ ØĒØŗØŦŲŠŲ„ Ø§Ų„Ø¯ØŽŲˆŲ„ Ø¨ŲƒŲ„Ų…ØŠ Ø§Ų„Ų…ØąŲˆØą", @@ -402,11 +415,11 @@ "advanced_settings_prefer_remote_subtitle": "ØĒŲƒŲˆŲ† بؚØļ Ø§Ų„ØŖØŦŲ‡Ø˛ØŠ Ø¨ØˇŲŠØĻØŠ Ų„Ų„ØēØ§ŲŠØŠ ؁؊ ØĒØ­Ų…ŲŠŲ„ Ø§Ų„ØĩŲˆØą Ø§Ų„Ų…ØĩØēØąØŠ Ų…Ų† Ø§Ų„ØŖØĩŲˆŲ„ Ø§Ų„Ų…Ø­Ų„ŲŠØŠ. Ų‚Ų… بØĒŲØšŲŠŲ„ Ų‡Ø°Ø§ Ø§Ų„ØŽŲŠØ§Øą Ų„ØĒØ­Ų…ŲŠŲ„ Ø§Ų„ØĩŲˆØą Ø§Ų„Ø¨ØšŲŠØ¯ØŠ Ø¨Ø¯Ų„Ø§Ų‹ Ų…Ų† Ø°Ų„Ųƒ.", "advanced_settings_prefer_remote_title": "ØĒ؁ØļŲ„ Ø§Ų„ØĩŲˆØą Ø§Ų„Ø¨ØšŲŠØ¯ØŠ", "advanced_settings_proxy_headers_subtitle": "ØšØąŲ ØšŲ†Ø§ŲˆŲŠŲ† Ø§Ų„ŲˆŲƒŲŠŲ„ Ø§Ų„ØĒ؊ ŲŠØŗØĒØŽØ¯Ų…Ų‡Ø§ Immich Ų„Ø§ØąØŗØ§Ų„ ŲƒŲ„ ØˇŲ„Ø¨ Ø´Ø¨ŲƒŲŠ", - "advanced_settings_proxy_headers_title": "ØšŲ†Ø§ŲˆŲŠŲ† Ø§Ų„ŲˆŲƒŲŠŲ„", + "advanced_settings_proxy_headers_title": "ØšŲ†Ø§ŲˆŲŠŲ† Ø§Ų„ŲˆŲƒŲŠŲ„ Ø§Ų„Ų…ØŽØĩØĩØŠ [ØĒØŦØąŲŠØ¨ŲŠØŠ]", "advanced_settings_readonly_mode_subtitle": "ØĒØĒŲŠØ­ Ų‡Ø°Ų‡ Ø§Ų„Ų…ŲŠØ˛ØŠ ؈ØļØš Ø§Ų„ØšØąØļ ŲŲ‚ØˇØŒ Ø­ŲŠØĢ ŲŠŲ…ŲƒŲ† Ų„Ų„Ų…ØŗØĒØŽØ¯Ų… Ų…ØšØ§ŲŠŲ†ØŠ Ø§Ų„ØĩŲˆØą ŲŲ‚ØˇØŒ Ø¨ŲŠŲ†Ų…Ø§ ؊ØĒŲ… ØĒØšØˇŲŠŲ„ ØŦŲ…ŲŠØš Ø§Ų„ØŽŲŠØ§ØąØ§ØĒ Ø§Ų„ØŖØŽØąŲ‰ Ų…ØĢŲ„ ØĒØ­Ø¯ŲŠØ¯ ؚد؊ ØĩŲˆØąØŒ ØŖŲˆ Ų…Ø´Ø§ØąŲƒØĒŲ‡Ø§ØŒ ØŖŲˆ بØĢŲ‡Ø§ØŒ ØŖŲˆ Ø­Ø°ŲŲ‡Ø§. ŲŠŲ…ŲƒŲ† ØĒŲØšŲŠŲ„/ØĒØšØˇŲŠŲ„ ؈ØļØš Ø§Ų„ØšØąØļ ŲŲ‚Øˇ Ų…Ų† ØŽŲ„Ø§Ų„ ØĩŲˆØąØŠ Ø§Ų„Ų…ØŗØĒØŽØ¯Ų… ؁؊ Ø§Ų„Ø´Ø§Ø´ØŠ Ø§Ų„ØąØĻŲŠØŗŲŠØŠ", "advanced_settings_readonly_mode_title": "؈ØļØš Ø§Ų„Ų‚ØąØ§ØĄØŠ ŲŲ‚Øˇ", "advanced_settings_self_signed_ssl_subtitle": "ØĒØŽØˇŲŠ Ø§Ų„ØĒØ­Ų‚Ų‚ Ų…Ų† Ø´Ų‡Ø§Ø¯ØŠ SSL Ų„ØŽØ§Ø¯Ų… Ø§Ų„Ų†Ų‚ØˇØŠ Ø§Ų„Ų†Ų‡Ø§ØĻ؊. Ų…ŲƒŲ„ŲˆØ¨ Ų„Ų„Ø´Ų‡Ø§Ø¯Ø§ØĒ Ø§Ų„Ų…ŲˆŲ‚ØšØŠ ذاØĒŲŠØ§.", - "advanced_settings_self_signed_ssl_title": "Ø§Ų„ØŗŲ…Ø§Ø­ Ø¨Ø´Ų‡Ø§Ø¯Ø§ØĒ SSL Ø§Ų„Ų…ŲˆŲ‚ØšØŠ ذاØĒŲŠŲ‹Ø§", + "advanced_settings_self_signed_ssl_title": "Ø§Ų„ØŗŲ…Ø§Ø­ Ø¨Ø´Ų‡Ø§Ø¯Ø§ØĒ SSL Ø§Ų„Ų…ŲˆŲ‚ØšØŠ ذاØĒŲŠŲ‹Ø§ [ØĒØŦØąŲŠØ¨ŲŠØŠ]", "advanced_settings_sync_remote_deletions_subtitle": "Ø­Ø°Ų Ø§Ųˆ Ø§ØŗØĒؚاد؊ ØĒŲ„Ų‚Ø§ØĻ؊ Ų„Ų„Ø§ØĩŲˆŲ„ ØšŲ„Ų‰ Ų‡Ø°Ø§ Ø§Ų„ØŦŲ‡Ø§Ø˛ ØšŲ†Ø¯ ØĒŲ†ŲŲŠØ° Ø§Ų„ØšŲ…Ų„ŲŠØŠ ØšŲ„Ų‰ Ø§Ų„ŲˆŲŠØ¨", "advanced_settings_sync_remote_deletions_title": "Ų…Ø˛Ø§Ų…Ų†ØŠ ØšŲ…Ų„ŲŠØ§ØĒ Ø§Ų„Ø­Ø°Ų ØšŲ† بؚد [ØĒØŦØąŲŠØ¨ŲŠ]", "advanced_settings_tile_subtitle": "ØĨؚداداØĒ Ø§Ų„Ų…ØŗØĒØŽØ¯Ų… Ø§Ų„Ų…ØĒŲ‚Ø¯Ų…ØŠ", @@ -466,10 +479,14 @@ "api_key_description": "ØŗŲŠØĒŲ… ØšØąØļ Ų‡Ø°Ų‡ Ø§Ų„Ų‚ŲŠŲ…ØŠ Ų…ØąØŠ ŲˆØ§Ø­Ø¯ØŠ ŲŲ‚Øˇ. ŲŠØąØŦŲ‰ Ø§Ų„ØĒØŖŲƒØ¯ Ų…Ų† Ų†ØŗØŽŲ‡Ø§ Ų‚Ø¨Ų„ ØĨØēŲ„Ø§Ų‚ Ø§Ų„Ų†Ø§ŲØ°ØŠ.", "api_key_empty": "؊ØŦب ØŖŲ„Ø§ ŲŠŲƒŲˆŲ† Ø§ØŗŲ… ؅؁ØĒاح API ŲØ§ØąØēŲ‹Ø§", "api_keys": "Ų…ŲØ§ØĒŲŠØ­ API", + "app_architecture_variant": "Ų…ØĒØēŲŠØą (Ø§Ų„Ų‡Ų†Ø¯ØŗØŠ Ø§Ų„Ų…ØšŲ…Ø§ØąŲŠØŠ)", "app_bar_signout_dialog_content": "Ų‡Ų„ ØŖŲ†ØĒ Ų…ØĒØŖŲƒØ¯ ØŖŲ†Ųƒ ØĒØąŲŠØ¯ ØĒØŗØŦŲŠŲ„ Ø§Ų„ØŽØąŲˆØŦ؟", "app_bar_signout_dialog_ok": "Ų†ØšŲ…", "app_bar_signout_dialog_title": "ØŽØąŲˆØŦ", + "app_download_links": "ØąŲˆØ§Ø¨Øˇ ØĒØ­Ų…ŲŠŲ„ Ø§Ų„ØĒØˇØ¨ŲŠŲ‚", "app_settings": "ØĨؚداداØĒ Ø§Ų„ØĒØˇØ¨ŲŠŲ‚", + "app_stores": "Ų…ØĒاØŦØą Ø§Ų„ØĒØˇØ¨ŲŠŲ‚Ø§ØĒ", + "app_update_available": "ØĒØ­Ø¯ŲŠØĢ Ø§Ų„ØĒØˇØ¨ŲŠŲ‚ Ų…ØĒاح", "appears_in": "ŲŠØ¸Ų‡Øą ؁؊", "apply_count": "ØĒØˇØ¨ŲŠŲ‚ ({count, number})", "archive": "Ø§Ų„ØŖØąØ´ŲŠŲ", @@ -553,6 +570,7 @@ "backup_albums_sync": "Ų…Ø˛Ø§Ų…Ų†ØŠ ØŖŲ„Ø¨ŲˆŲ…Ø§ØĒ Ø§Ų„Ų†ØŗØŽ Ø§Ų„Ø§Ø­ØĒŲŠØ§ØˇŲŠ", "backup_all": "Ø§Ų„ØŦŲ…ŲŠØš", "backup_background_service_backup_failed_message": "ŲØ´Ų„ ؁؊ Ø§Ų„Ų†ØŗØŽ Ø§Ų„Ø§Ø­ØĒŲŠØ§ØˇŲŠ Ų„Ų„ØŖØĩŲˆŲ„. ØŦØ§ØąŲ ØĨؚاد؊ Ø§Ų„Ų…Ø­Ø§ŲˆŲ„ØŠâ€Ļ", + "backup_background_service_complete_notification": "ØĒŲ… Ø§Ų„Ø§Ų†ØĒŲ‡Ø§ØĄ Ų…Ų† Ø§Ų„Ų†ØŗØŽ Ø§Ų„Ø§Ø­ØĒŲŠØ§ØˇŲŠ Ų„Ų„ØŖØĩŲˆŲ„", "backup_background_service_connection_failed_message": "ŲØ´Ų„ ؁؊ Ø§Ų„Ø§ØĒØĩØ§Ų„ Ø¨Ø§Ų„ØŽØ§Ø¯Ų…. ØŦØ§ØąŲ ØĨؚاد؊ Ø§Ų„Ų…Ø­Ø§ŲˆŲ„ØŠâ€Ļ", "backup_background_service_current_upload_notification": "ØĒØ­Ų…ŲŠŲ„ {filename}", "backup_background_service_default_notification": "Ø§Ų„ØĒØ­Ų‚Ų‚ Ų…Ų† Ø§Ų„ØŖØĩŲˆŲ„ Ø§Ų„ØŦØ¯ŲŠØ¯ØŠâ€Ļ", @@ -662,6 +680,8 @@ "change_password_description": "Ų‡Ø°Ų‡ ØĨŲ…Ø§ Ų‡ŲŠ Ø§Ų„Ų…ØąØŠ Ø§Ų„ØŖŲˆŲ„Ų‰ Ø§Ų„ØĒ؊ ØĒŲ‚ŲˆŲ… ŲŲŠŲ‡Ø§ بØĒØŗØŦŲŠŲ„ Ø§Ų„Ø¯ØŽŲˆŲ„ ØĨŲ„Ų‰ Ø§Ų„Ų†Ø¸Ø§Ų… ØŖŲˆ ØŖŲ†Ų‡ ØĒŲ… ØĒŲ‚Ø¯ŲŠŲ… ØˇŲ„Ø¨ Ų„ØĒØēŲŠŲŠØą ŲƒŲ„Ų…ØŠ Ø§Ų„Ų…ØąŲˆØą Ø§Ų„ØŽØ§ØĩØŠ Ø¨Ųƒ. Ø§Ų„ØąØŦØ§ØĄ ØĨØ¯ØŽØ§Ų„ ŲƒŲ„Ų…ØŠ Ø§Ų„Ų…ØąŲˆØą Ø§Ų„ØŦØ¯ŲŠØ¯ØŠ ØŖØ¯Ų†Ø§Ų‡.", "change_password_form_confirm_password": "ØĒØŖŲƒŲŠØ¯ ŲƒŲ„Ų…ØŠ Ø§Ų„Ų…ØąŲˆØą", "change_password_form_description": "Ų…ØąØ­Ø¨Ų‹Ø§ {name}،\n\nØ§Ų…Ø§ Ø§Ų† ØĒŲƒŲˆŲ† Ų‡Ø°Ų‡ Ų‡ŲŠ Ø§Ų„Ų…ØąØŠ Ø§Ų„ØŖŲˆŲ„Ų‰ Ø§Ų„ØĒ؊ ØĒŲ‚ŲˆŲ… ŲŲŠŲ‡Ø§ Ø¨Ø§Ų„ØĒØŗØŦŲŠŲ„ ؁؊ Ø§Ų„Ų†Ø¸Ø§Ų… ØŖŲˆ ØĒŲ… ØĒŲ‚Ø¯ŲŠŲ… ØˇŲ„Ø¨ Ų„ØĒØēŲŠŲŠØą ŲƒŲ„Ų…ØŠ Ø§Ų„Ų…ØąŲˆØą Ø§Ų„ØŽØ§ØĩØŠ Ø¨Ųƒ. Ø§Ų„ØąØŦØ§ØĄ ØĨØ¯ØŽØ§Ų„ ŲƒŲ„Ų…ØŠ Ø§Ų„Ų…ØąŲˆØą Ø§Ų„ØŦØ¯ŲŠØ¯ØŠ ØŖØ¯Ų†Ø§Ų‡.", + "change_password_form_log_out": "ØĒØŗØŦŲŠŲ„ Ø§Ų„ØŽØąŲˆØŦ Ų…Ų† ØŦŲ…ŲŠØš Ø§Ų„ØŖØŦŲ‡Ø˛ØŠ Ø§Ų„ØŖØŽØąŲ‰", + "change_password_form_log_out_description": "ŲŠŲŲ†ØĩØ­ بØĒØŗØŦŲŠŲ„ Ø§Ų„ØŽØąŲˆØŦ Ų…Ų† ØŦŲ…ŲŠØš Ø§Ų„ØŖØŦŲ‡Ø˛ØŠ Ø§Ų„ØŖØŽØąŲ‰", "change_password_form_new_password": "ŲƒŲ„Ų…ØŠ Ø§Ų„Ų…ØąŲˆØą Ø§Ų„ØŦØ¯ŲŠØ¯ØŠ", "change_password_form_password_mismatch": "ŲƒŲ„Ų…ØŠ Ø§Ų„Ų…ØąŲˆØą ØēŲŠØą Ų…ØˇØ§Ø¨Ų‚ØŠ", "change_password_form_reenter_new_password": "ØŖØšØ¯ ØĨØ¯ØŽØ§Ų„ ŲƒŲ„Ų…ØŠ Ų…ØąŲˆØą ØŦØ¯ŲŠØ¯ØŠ", @@ -689,7 +709,7 @@ "client_cert_invalid_msg": "؅؄؁ Ø´Ų‡Ø§Ø¯ØŠ ØšŲ…ŲŠŲ„ ØēŲŠØą ØĩØ§Ų„Ø­ØŠ Ø§Ųˆ ŲƒŲ„Ų…ØŠ ØŗØą ØēŲŠØą ØĩØ­ŲŠØ­ØŠ", "client_cert_remove_msg": "ØĒŲ… Ø§Ø˛Ø§Ų„ØŠ Ø´Ų‡Ø§Ø¯ØŠ Ø§Ų„ØšŲ…ŲŠŲ„", "client_cert_subtitle": "ŲŠØ¯ØšŲ… Øĩ؊Øē PKCS12 (.p12, .pfx)ŲŲ‚Øˇ. Ø§ØŗØĒŲŠØąØ§Ø¯/Ø§Ø˛Ø§Ų„ØŠ Ø§Ų„Ø´Ų‡Ø§Ø¯Ø§ØĒ Ų…ØĒاح ŲŲ‚Øˇ Ų‚Ø¨Ų„ ØĒØŗØŦŲŠŲ„ Ø§Ų„Ø¯ØŽŲˆŲ„", - "client_cert_title": "Ø´Ų‡Ø§Ø¯ØŠ Ų…ØŗØĒØŽØ¯Ų… SSL", + "client_cert_title": "Ø´Ų‡Ø§Ø¯ØŠ Ų…ØŗØĒØŽØ¯Ų… SSL [ØĒØŦØąŲŠØ¨ŲŠØŠ]", "clockwise": "باØĒØŦØ§Ų‡ ØšŲ‚Ø§ØąØ¨ Ø§Ų„ØŗØ§ØšØŠ", "close": "ØĨØēŲ„Ø§Ų‚", "collapse": "ØˇŲŠ", @@ -739,6 +759,7 @@ "create": "Ø§Ų†Ø´Ø§ØĄ", "create_album": "ØĨŲ†Ø´Ø§ØĄ ØŖŲ„Ø¨ŲˆŲ…", "create_album_page_untitled": "Ø¨Ø¯ŲˆŲ† Ø§ØŗŲ…", + "create_api_key": "ØĨŲ†Ø´Ø§ØĄ ؅؁ØĒاح API", "create_library": "ØĨŲ†Ø´Ø§ØĄ Ų…ŲƒØĒب؊", "create_link": "ØĨŲ†Ø´Ø§ØĄ ØąØ§Ø¨Øˇ", "create_link_to_share": "ØĨŲ†Ø´Ø§ØĄ ØąØ§Ø¨Øˇ Ų„Ų„Ų…Ø´Ø§ØąŲƒØŠ", @@ -768,6 +789,7 @@ "daily_title_text_date_year": "E ، MMM DD ، yyyy", "dark": "Ų…ØšØĒŲ…", "dark_theme": "ØĒØ¨Ø¯ŲŠŲ„ Ø§Ų„Ų…Ø¸Ų‡Øą Ø§Ų„Ø¯Ø§ŲƒŲ†", + "date": "ØĒØ§ØąŲŠØŽ", "date_after": "Ø§Ų„ØĒØ§ØąØŽ بؚد", "date_and_time": "Ø§Ų„ØĒØ§ØąŲŠØŽ ؈ Ø§Ų„ŲˆŲ‚ØĒ", "date_before": "Ø§Ų„ØĒØ§ØąŲŠØŽ Ų‚Ø¨Ų„", @@ -870,8 +892,6 @@ "edit_description_prompt": "Ø§Ų„ØąØŦØ§ØĄ ا؎ØĒŲŠØ§Øą ؈Øĩ؁ ØŦØ¯ŲŠØ¯:", "edit_exclusion_pattern": "ØĒØšØ¯ŲŠŲ„ Ų†Ų…Øˇ Ø§Ų„Ø§ØŗØĒبؚاد", "edit_faces": "ØĒØšØ¯ŲŠŲ„ Ø§Ų„ŲˆØŦŲˆŲ‡", - "edit_import_path": "ØĒØšØ¯ŲŠŲ„ Ų…ØŗØ§Øą Ø§Ų„Ø§ØŗØĒŲŠØąØ§Ø¯", - "edit_import_paths": "ØĒØšØ¯ŲŠŲ„ Ų…ØŗØ§ØąØ§ØĒ Ø§Ų„Ø§ØŗØĒŲŠØąØ§Ø¯", "edit_key": "ØĒØšØ¯ŲŠŲ„ Ø§Ų„Ų…ŲØĒاح", "edit_link": "ØĒØēŲŠŲŠØą Ø§Ų„ØąØ§Ø¨Øˇ", "edit_location": "ØĒØšØ¯ŲŠŲ„ Ø§Ų„Ų…ŲˆŲ‚Øš", @@ -943,7 +963,6 @@ "failed_to_stack_assets": "ŲØ´Ų„ ؁؊ ØĒŲƒØ¯ŲŠØŗ Ø§Ų„Ų…Ø­ØĒŲˆŲŠØ§ØĒ", "failed_to_unstack_assets": "ŲØ´Ų„ ؁؊ ؁ØĩŲ„ Ø§Ų„Ų…Ø­ØĒŲˆŲŠØ§ØĒ", "failed_to_update_notification_status": "ŲØ´Ų„ ؁؊ ØĒØ­Ø¯ŲŠØĢ Ø­Ø§Ų„ØŠ Ø§Ų„ØĨØ´ØšØ§Øą", - "import_path_already_exists": "Ų…ØŗØ§Øą Ø§Ų„Ø§ØŗØĒŲŠØąØ§Ø¯ Ų‡Ø°Ø§ Ų…ŲˆØŦŲˆØ¯ Ų…ØŗØ¨Ų‚Ų‹Ø§.", "incorrect_email_or_password": "Ø¨ØąŲŠØ¯ ØŖŲˆ ŲƒŲ„Ų…ØŠ Ų…ØąŲˆØą ØēŲŠØą ØĩØ­ŲŠØ­ØŠ", "paths_validation_failed": "ŲØ´Ų„ ؁؊ Ø§Ų„ØĒØ­Ų‚Ų‚ Ų…Ų† {paths, plural, one {# Ų…ØŗØ§Øą} other {# Ų…ØŗØ§ØąØ§ØĒ}}", "profile_picture_transparent_pixels": "Ų„Ø§ ŲŠŲ…ŲƒŲ† ØŖŲ† ØĒØ­ØĒ؈؊ ØĩŲˆØą Ø§Ų„Ų…Ų„Ų Ø§Ų„Ø´ØŽØĩ؊ ØšŲ„Ų‰ ØŖØŦØ˛Ø§ØĄ/Ø¨ŲƒØŗŲ„Ø§ØĒ Ø´ŲØ§ŲØŠ. ŲŠØąØŦŲ‰ Ø§Ų„ØĒŲƒØ¨ŲŠØą ؈/ØŖŲˆ ØĒØ­ØąŲŠŲƒ Ø§Ų„ØĩŲˆØąØŠ.", @@ -953,7 +972,6 @@ "unable_to_add_assets_to_shared_link": "ØĒØšØ°Øą ØĨØļØ§ŲØŠ Ø§Ų„Ų…Ø­ØĒŲˆŲŠØ§ØĒ ØĨŲ„Ų‰ Ø§Ų„ØąØ§Ø¨Øˇ Ø§Ų„Ų…Ø´ØĒØąŲƒ", "unable_to_add_comment": "ØĒØšØ°Øą ØĨØļØ§ŲØŠ Ø§Ų„ØĒØšŲ„ŲŠŲ‚", "unable_to_add_exclusion_pattern": "ØĒØšØ°Øą ØĨØļØ§ŲØŠ Ų†Ų…Øˇ Ø§Ų„ØĨØŗØĒبؚاد", - "unable_to_add_import_path": "ØĒØšØ°Øą ØĨØļØ§ŲØŠ Ų…ØŗØ§Øą Ø§Ų„ØĨØŗØĒŲŠØąØ§Ø¯", "unable_to_add_partners": "ØĒØšØ°Øą ØĨØļØ§ŲØŠ Ø§Ų„Ø´ØąŲƒØ§ØĄ", "unable_to_add_remove_archive": "ØĒØšØ°Øą {archived, select, true {ØĨØ˛Ø§Ų„ØŠ Ø§Ų„Ų…Ø­ØĒŲˆŲ‰ Ų…Ų†} other {ØĨØļØ§ŲØŠ Ø§Ų„Ų…Ø­ØĒŲˆŲ‰ ØĨŲ„Ų‰}} Ø§Ų„ØŖØąØ´ŲŠŲ", "unable_to_add_remove_favorites": "ØĒØšØ°Øą {favorite, select, true {ØĨØļØ§ŲØŠ Ø§Ų„Ų…Ø­ØĒŲˆŲ‰ ØĨŲ„Ų‰} other {ØĨØ˛Ø§Ų„ØŠ Ø§Ų„Ų…Ø­ØĒŲˆŲ‰ Ų…Ų†}} Ø§Ų„Ų…ŲØļŲ„ØŠ", @@ -976,12 +994,10 @@ "unable_to_delete_asset": "ØēŲŠØą Ų‚Ø§Ø¯Øą ØšŲ„Ų‰ Ø­Ø°Ų Ø§Ų„Ų…Ø­ØĒŲˆŲ‰", "unable_to_delete_assets": "حدØĢ ØŽØˇØŖ ØŖØĢŲ†Ø§ØĄ Ø­Ø°Ų Ø§Ų„Ų…Ø­ØĒŲˆŲŠØ§ØĒ", "unable_to_delete_exclusion_pattern": "ØēŲŠØą Ų‚Ø§Ø¯Øą ØšŲ„Ų‰ Ø­Ø°Ų Ų†Ų…Øˇ Ø§Ų„Ø§ØŗØĒبؚاد", - "unable_to_delete_import_path": "ØēŲŠØą Ų‚Ø§Ø¯Øą ØšŲ„Ų‰ Ø­Ø°Ų Ų…ØŗØ§Øą Ø§Ų„Ø§ØŗØĒŲŠØąØ§Ø¯", "unable_to_delete_shared_link": "ØēŲŠØą Ų‚Ø§Ø¯Øą ØšŲ„Ų‰ Ø­Ø°Ų Ø§Ų„ØąØ§Ø¨Øˇ Ø§Ų„Ų…Ø´ØĒØąŲƒ", "unable_to_delete_user": "ØēŲŠØą Ų‚Ø§Ø¯Øą ØšŲ„Ų‰ Ø­Ø°Ų Ø§Ų„Ų…ØŗØĒØŽØ¯Ų…", "unable_to_download_files": "ØēŲŠØą Ų‚Ø§Ø¯Øą ØšŲ„Ų‰ ØĒŲ†Ø˛ŲŠŲ„ Ø§Ų„Ų…Ų„ŲØ§ØĒ", "unable_to_edit_exclusion_pattern": "ØēŲŠØą Ų‚Ø§Ø¯Øą ØšŲ„Ų‰ ØĒØšØ¯ŲŠŲ„ Ų†Ų…Øˇ Ø§Ų„Ø§ØŗØĒبؚاد", - "unable_to_edit_import_path": "ØēŲŠØą Ų‚Ø§Ø¯Øą ØšŲ„Ų‰ ØĒØ­ØąŲŠØą Ų…ØŗØ§Øą Ø§Ų„Ø§ØŗØĒŲŠØąØ§Ø¯", "unable_to_empty_trash": "ØēŲŠØą Ų‚Ø§Ø¯Øą ØšŲ„Ų‰ ØĨŲØąØ§Øē ØŗŲ„ØŠ Ø§Ų„Ų…Ų‡Ų…Ų„Ø§ØĒ", "unable_to_enter_fullscreen": "ØēŲŠØą Ų‚Ø§Ø¯Øą ØšŲ„Ų‰ Ø§Ų„Ø¯ØŽŲˆŲ„ ØĨŲ„Ų‰ ؈ØļØš Ų…Ų„ØĄ Ø§Ų„Ø´Ø§Ø´ØŠ", "unable_to_exit_fullscreen": "ØēŲŠØą Ų‚Ø§Ø¯Øą ØšŲ„Ų‰ Ø§Ų„ØŽØąŲˆØŦ Ų…Ų† ؈ØļØš Ų…Ų„ØĄ Ø§Ų„Ø´Ø§Ø´ØŠ", @@ -1037,6 +1053,7 @@ "exif_bottom_sheet_description_error": "ØŽØˇØŖ ؁؊ ØĒØ­Ø¯ŲŠØĢ Ø§Ų„ŲˆØĩ؁", "exif_bottom_sheet_details": "ØĒŲØ§ØĩŲŠŲ„", "exif_bottom_sheet_location": "Ų…ŲˆŲ‚Øš", + "exif_bottom_sheet_no_description": "Ų„Ø§ ؊؈ØŦد ؈Øĩ؁", "exif_bottom_sheet_people": "Ø§Ų„Ų†Ø§Øŗ", "exif_bottom_sheet_person_add_person": "اØļ؁ Ø§ØŗŲ…Ø§", "exit_slideshow": "ØŽØąŲˆØŦ Ų…Ų† Ø§Ų„ØšØąØļ Ø§Ų„ØĒŲ‚Ø¯ŲŠŲ…ŲŠ", @@ -1075,6 +1092,7 @@ "features_setting_description": "ØĨØ¯Ø§ØąØŠ Ų…ŲŠØ˛Ø§ØĒ Ø§Ų„ØĒØˇØ¨ŲŠŲ‚", "file_name": "ØĨØŗŲ… Ø§Ų„Ų…Ų„Ų", "file_name_or_extension": "Ø§ØŗŲ… Ø§Ų„Ų…Ų„Ų ØŖŲˆ Ø§Ų…ØĒØ¯Ø§Ø¯Ų‡", + "file_size": "Ø­ØŦŲ… Ø§Ų„Ų…Ų„Ų", "filename": "Ø§ØŗŲ… Ø§Ų„Ų…Ų„Ų", "filetype": "Ų†ŲˆØš Ø§Ų„Ų…Ų„Ų", "filter": "ØĒØĩŲŲŠØŠ", @@ -1114,7 +1132,7 @@ "hash_asset": "ØšŲ…Ų„ Hash Ų„Ų„ØŖØĩŲ„ (؄؄؅؄؁)", "hashed_assets": "ØŖØĩŲˆŲ„ (Ų…Ų„ŲØ§ØĒ) ØĒŲ… ØšŲ…Ų„ Hash Ų„Ų‡Ø§", "hashing": "؊ØĒŲ… ØšŲ…Ų„ Hash", - "header_settings_add_header_tip": "اØļØ§Ų ØąØ§Øŗ", + "header_settings_add_header_tip": "ØĨØļØ§ŲØŠ ØąØŖØŗ Ø§Ų„ØĩŲØ­ØŠ", "header_settings_field_validator_msg": "Ø§Ų„Ų‚ŲŠŲ…ØŠ Ų„Ø§ ŲŠŲ…ŲƒŲ† Ø§Ų† ØĒŲƒŲˆŲ† ŲØ§ØąØēØŠ", "header_settings_header_name_input": "Ø§ØŗŲ… Ø§Ų„ØąØŖØŗ", "header_settings_header_value_input": "Ų‚ŲŠŲ…ØŠ Ø§Ų„ØąØŖØŗ", @@ -1238,6 +1256,7 @@ "local_media_summary": "Ų…Ų„ØŽØĩ Ø§Ų„Ų…Ų„ŲØ§ØĒ Ø§Ų„Ų…Ø­Ų„ŲŠØŠ", "local_network": "Ø´Ø¨ŲƒØŠ Ų…Ø­Ų„ŲŠØŠ", "local_network_sheet_info": "ØŗŲŠØĒØĩŲ„ Ø§Ų„ØĒØˇØ¨ŲŠŲ‚ Ø¨Ø§Ų„ØŽØ§Ø¯Ų… Ų…Ų† ØŽŲ„Ø§Ų„ ØšŲ†ŲˆØ§Ų† URL Ų‡Ø°Ø§ ØšŲ†Ø¯ Ø§ØŗØĒØŽØ¯Ø§Ų… Ø´Ø¨ŲƒØŠ Wi-Fi Ø§Ų„Ų…Ø­Ø¯Ø¯ØŠ", + "location": "Ų…ŲˆŲ‚Øš", "location_permission": "Ø§Ø°Ų† Ø§Ų„Ų…ŲˆŲ‚Øš", "location_permission_content": "Ų…Ų† ØŖØŦŲ„ Ø§ØŗØĒØŽØ¯Ø§Ų… Ų…ŲŠØ˛ØŠ Ø§Ų„ØĒØ¨Ø¯ŲŠŲ„ Ø§Ų„ØĒŲ„Ų‚Ø§ØĻŲŠØŒ ŲŠØ­ØĒاØŦ Immich ØĨŲ„Ų‰ ØĨØ°Ų† Ų…ŲˆŲ‚Øš Ø¯Ų‚ŲŠŲ‚ Ø­ØĒŲ‰ ؊ØĒŲ…ŲƒŲ† Ų…Ų† Ų‚ØąØ§ØĄØŠ Ø§ØŗŲ… Ø´Ø¨ŲƒØŠ Wi-Fi Ø§Ų„Ø­Ø§Ų„ŲŠØŠ", "location_picker_choose_on_map": "ا؎ØĒØą ØšŲ„Ų‰ Ø§Ų„ØŽØąŲŠØˇØŠ", @@ -1342,6 +1361,8 @@ "minute": "Ø¯Ų‚ŲŠŲ‚ØŠ", "minutes": "Ø¯Ų‚Ø§ØĻŲ‚", "missing": "Ø§Ų„Ų…ŲŲ‚ŲˆØ¯ØŠ", + "mobile_app": "ØĒØˇØ¨ŲŠŲ‚ Ø§Ų„ØŦŲˆØ§Ų„", + "mobile_app_download_onboarding_note": "Ų‚Ų… بØĒŲ†Ø˛ŲŠŲ„ Ø§Ų„ØĒØˇØ¨ŲŠŲ‚ Ø§Ų„Ų…Øĩاحب Ų„Ų„Ų‡Ø§ØĒ؁ Ø§Ų„Ų…Ø­Ų…ŲˆŲ„ Ø¨Ø§ØŗØĒØŽØ¯Ø§Ų… Ø§Ų„ØŽŲŠØ§ØąØ§ØĒ Ø§Ų„ØĒØ§Ų„ŲŠØŠ", "model": "Ų†Ų…ŲˆØ°ØŦ", "month": "Ø´Ų‡Øą", "monthly_title_text_date_format": "Øˇ Øˇ Øˇ", @@ -1360,6 +1381,8 @@ "my_albums": "ØŖŲ„Ø¨ŲˆŲ…Ø§ØĒ؊", "name": "Ø§Ų„Ø§ØŗŲ…", "name_or_nickname": "Ø§Ų„Ø§ØŗŲ… ØŖŲˆ Ø§Ų„Ų„Ų‚Ø¨", + "navigate": "Ø§Ų„ØĒŲ†Ų‚Ų„", + "navigate_to_time": "Ø§Ų†ØĒŲ‚Ų„ ØĨŲ„Ų‰ Ø§Ų„ŲˆŲ‚ØĒ", "network_requirement_photos_upload": "Ø§ØŗØĒØŽØ¯Ø§Ų… Ø¨ŲŠØ§Ų†Ø§ØĒ Ø§Ų„Ų‡Ø§ØĒ؁ Ø§Ų„Ų…Ø­Ų…ŲˆŲ„ Ų„ØšŲ…Ų„ Ų†ØŗØŽØŠ احØĒŲŠØ§ØˇŲŠØŠ Ų„Ų„ØĩŲˆØą", "network_requirement_videos_upload": "Ø§ØŗØĒØŽØ¯Ø§Ų… Ø¨ŲŠØ§Ų†Ø§ØĒ Ø§Ų„Ų‡Ø§ØĒ؁ Ø§Ų„Ų…Ø­Ų…ŲˆŲ„ Ų„ØšŲ…Ų„ Ų†ØŗØŽØŠ احØĒŲŠØ§ØˇŲŠØŠ Ų„Ų…Ų‚Ø§ØˇØš Ø§Ų„ŲŲŠØ¯ŲŠŲˆ", "network_requirements": "Ų…ØĒØˇŲ„Ø¨Ø§ØĒ Ø§Ų„Ø´Ø¨ŲƒØŠ", @@ -1369,6 +1392,7 @@ "never": "ØŖØ¨Ø¯Ø§Ų‹", "new_album": "Ø§Ų„Ø¨ŲˆŲ… ØŦØ¯ŲŠØ¯", "new_api_key": "؅؁ØĒاح API ØŦØ¯ŲŠØ¯", + "new_date_range": "Ų†ØˇØ§Ų‚ ØĒØ§ØąŲŠØŽ ØŦØ¯ŲŠØ¯", "new_password": "ŲƒŲ„Ų…ØŠ Ø§Ų„Ų…ØąŲˆØą Ø§Ų„ØŦØ¯ŲŠØ¯ØŠ", "new_person": "Ø´ØŽØĩ ØŦØ¯ŲŠØ¯", "new_pin_code": "ØąŲ…Ø˛ PIN Ø§Ų„ØŦØ¯ŲŠØ¯", @@ -1419,6 +1443,9 @@ "notifications": "ØĨØ´ØšØ§ØąØ§ØĒ", "notifications_setting_description": "ØĨØ¯Ø§ØąØŠ Ø§Ų„ØĨØ´ØšØ§ØąØ§ØĒ", "oauth": "OAuth", + "obtainium_configurator": "Ų…ŲŲ‡ŲŠØĻ Obtainium", + "obtainium_configurator_instructions": "Ø§ØŗØĒØŽØ¯Ų… Obtainium Ų„ØĒØĢØ¨ŲŠØĒ ØĒØˇØ¨ŲŠŲ‚ Android ؈ØĒØ­Ø¯ŲŠØĢŲ‡ Ų…Ø¨Ø§Ø´ØąØŠŲ‹ Ų…Ų† ØĩŲØ­ØŠ ØĨØĩØ¯Ø§ØąØ§ØĒ Immich ØšŲ„Ų‰ GitHub. ØŖŲ†Ø´ØĻ ؅؁ØĒاح API ŲˆØ§ØŽØĒØą Ø§Ų„ØĨØĩØ¯Ø§Øą Ø§Ų„Ų…Ų†Ø§ØŗØ¨ Ų„ØĨŲ†Ø´Ø§ØĄ ØąØ§Ø¨Øˇ ØĒŲ‡ŲŠØĻØŠ Obtainium Ø§Ų„ØŽØ§Øĩ Ø¨Ųƒ", + "ocr": "Ø§Ų„ØĒØšØąŲ Ø§Ų„Ø¨ØĩØąŲŠ ØšŲ„Ų‰ Ø§Ų„Ø­ØąŲˆŲ", "official_immich_resources": "Ø§Ų„Ų…ŲˆØ§ØąØ¯ Ø§Ų„ØąØŗŲ…ŲŠØŠ Ų„Ø´ØąŲƒØŠ Immich", "offline": "ØēŲŠØą Ų…ØĒØĩŲ„", "offset": "Ø§Ø˛Ø§Ø­ØŠ", @@ -1523,6 +1550,9 @@ "play_memories": "ØĒØ´ØēŲŠŲ„ Ø§Ų„Ø°ŲƒØąŲŠØ§ØĒ", "play_motion_photo": "ØĒØ´ØēŲŠŲ„ Ø§Ų„ØĩŲˆØą Ø§Ų„Ų…ØĒØ­ØąŲƒØŠ", "play_or_pause_video": "ØĒØ´ØēŲŠŲ„ Ø§Ų„ŲŲŠØ¯ŲŠŲˆ ØŖŲˆ ØĨŲŠŲ‚Ø§ŲŲ‡ Ų…Ø¤Ų‚ØĒŲ‹Ø§", + "play_original_video": "ØĒØ´ØēŲŠŲ„ Ø§Ų„ŲŲŠØ¯ŲŠŲˆ Ø§Ų„ØŖØĩŲ„ŲŠ", + "play_original_video_setting_description": "ØĒ؁ØļŲŠŲ„ ØĒØ´ØēŲŠŲ„ Ų…Ų‚Ø§ØˇØš Ø§Ų„ŲŲŠØ¯ŲŠŲˆ Ø§Ų„ØŖØĩŲ„ŲŠØŠ Ø¨Ø¯Ų„Ø§Ų‹ Ų…Ų† Ų…Ų‚Ø§ØˇØš Ø§Ų„ŲŲŠØ¯ŲŠŲˆ Ø§Ų„Ų…Ø­ŲˆŲ„ØŠ. ØĨذا Ų„Ų… ŲŠŲƒŲ† Ø§Ų„Ų…Ų„Ų Ø§Ų„ØŖØĩŲ„ŲŠ Ų…ØĒŲˆØ§ŲŲ‚Ų‹Ø§ØŒ ŲŲ‚Ø¯ Ų„Ø§ ؊ØĒŲ… ØĒØ´ØēŲŠŲ„Ų‡ Ø¨Ø´ŲƒŲ„ ØĩØ­ŲŠØ­.", + "play_transcoded_video": "ØĒØ´ØēŲŠŲ„ Ø§Ų„ŲŲŠØ¯ŲŠŲˆ Ø§Ų„Ų…ŲØšØ§Ø¯ ØĒØąŲ…ŲŠØ˛Ų‡", "please_auth_to_access": "Ø§Ų„ØąØŦØ§ØĄ Ø§Ų„Ų‚ŲŠØ§Ų… Ø¨Ø§Ų„Ų…ØĩØ§Ø¯Ų‚ØŠ Ų„Ų„ŲˆØĩŲˆŲ„", "port": "Ø§Ų„Ų…Ų†ŲØ°", "preferences_settings_subtitle": "Ø§Ø¯Ø§ØąØŠ ØĒ؁ØļŲŠŲ„Ø§ØĒ Ø§Ų„ØĒØˇØ¨ŲŠŲ‚", @@ -1659,6 +1689,7 @@ "reset_sqlite_confirmation": "Ų‡Ų„ ØŖŲ†ØĒ Ų…ØĒØŖŲƒØ¯ Ų…Ų† ØąØēبØĒ؃ ؁؊ ØĨؚاد؊ ØļØ¨Øˇ Ų‚Ø§ØšØ¯ØŠ Ø¨ŲŠØ§Ų†Ø§ØĒ SQLite؟ ØŗØĒØ­ØĒاØŦ ØĨŲ„Ų‰ ØĒØŗØŦŲŠŲ„ Ø§Ų„ØŽØąŲˆØŦ ØĢŲ… ØĒØŗØŦŲŠŲ„ Ø§Ų„Ø¯ØŽŲˆŲ„ Ų…ØąØŠ ØŖØŽØąŲ‰ Ų„ØĨؚاد؊ Ų…Ø˛Ø§Ų…Ų†ØŠ Ø§Ų„Ø¨ŲŠØ§Ų†Ø§ØĒ", "reset_sqlite_success": "ØĒŲ… ØĨؚاد؊ ØĒØšŲŠŲŠŲ† Ų‚Ø§ØšØ¯ØŠ Ø¨ŲŠØ§Ų†Ø§ØĒ SQLite Ø¨Ų†ØŦاح", "reset_to_default": "ØĨؚاد؊ Ø§Ų„ØĒØšŲŠŲŠŲ† ØĨŲ„Ų‰ Ø§Ų„Ø§ŲØĒØąØ§Øļ؊", + "resolution": "Ø¯Ų‚ØŠ", "resolve_duplicates": "Ų…ØšØ§Ų„ØŦØŠ Ø§Ų„Ų†ØŗØŽ Ø§Ų„Ų…ŲƒØąØąØŠ", "resolved_all_duplicates": "ØĒŲ… Ø­Ų„ ØŦŲ…ŲŠØš Ø§Ų„ØĒŲƒØąØ§ØąØ§ØĒ", "restore": "Ø§Ų„Ø§ØŗØĒØšØ§Ø¯Ų‡ Ų…Ų† ØŗŲ„ØŠ Ø§Ų„Ų…Ų‡Ų…Ų„Ø§ØĒ", @@ -1677,6 +1708,7 @@ "running": "Ų‚ŲŠØ¯ Ø§Ų„ØĒØ´ØēŲŠŲ„", "save": "Ø­ŲØ¸", "save_to_gallery": "Ø­ŲØ¸ Ø§Ų„Ų‰ Ø§Ų„Ų…ØšØąØļ", + "saved": "ØĒŲ… Ø§Ų„Ø­ŲØ¸", "saved_api_key": "ØĒŲ… Ø­ŲØ¸ ؅؁ØĒاح Ø§Ų„Ų€ API", "saved_profile": "ØĒŲ… Ø­ŲØ¸ Ø§Ų„Ų…Ų„Ų", "saved_settings": "ØĒŲ… Ø­ŲØ¸ Ø§Ų„ØĨؚداداØĒ", @@ -1693,6 +1725,9 @@ "search_by_description_example": "ŲŠŲˆŲ… Ø§Ų„Ų…Ø´ŲŠ Ų„Ų…ØŗØ§ŲØ§ØĒ ØˇŲˆŲŠŲ„ØŠ ؁؊ ØŗØ§Ø¨Ø§", "search_by_filename": "Ø§Ų„Ø¨Ø­ØĢ بØĨØŗŲ… Ø§Ų„Ų…Ų„Ų ØŖŲˆ Ų†ŲˆØšŲ‡", "search_by_filename_example": "ŲƒŲ€ IMG_1234.JPG ØŖŲˆ PNG", + "search_by_ocr": "Ø§Ų„Ø¨Ø­ØĢ ØšŲ† ØˇØąŲŠŲ‚ Ø§Ų„ØĒØšØąŲ Ø§Ų„Ø¨ØĩØąŲŠ ØšŲ„Ų‰ Ø§Ų„Ø­ØąŲˆŲ", + "search_by_ocr_example": "Ų„Ø§ØĒŲŠŲ‡", + "search_camera_lens_model": "بحØĢ Ų†Ų…ŲˆØ°ØŦ Ø§Ų„ØšØ¯ØŗØŠ...", "search_camera_make": "Ø§Ų„Ø¨Ø­ØĢ Ø­ØŗØ¨ Ø§Ų„Ø´ØąŲƒØŠ Ø§Ų„Ų…ØĩŲ†ØšØŠ Ų„Ų„ŲƒØ§Ų…ŲŠØąØ§...", "search_camera_model": "Ø§Ų„Ø¨Ø­ØĢ Ø­ØŗØ¨ Ų…ŲˆØ¯ŲŠŲ„ Ø§Ų„ŲƒØ§Ų…ŲŠØąØ§...", "search_city": "Ø§Ų„Ø¨Ø­ØĢ Ø­ØŗØ¨ Ø§Ų„Ų…Ø¯ŲŠŲ†ØŠ...", @@ -1709,6 +1744,7 @@ "search_filter_location_title": "ا؎ØĒØą Ø§Ų„Ų…ŲˆŲ‚Øš", "search_filter_media_type": "Ų†ŲˆØš Ø§Ų„ŲˆØŗØ§ØĻØˇ", "search_filter_media_type_title": "ا؎ØĒØą Ų†ŲˆØš Ø§Ų„ŲˆØŗØ§ØĻØˇ", + "search_filter_ocr": "Ø§Ų„Ø¨Ø­ØĢ ØšŲ† ØˇØąŲŠŲ‚ Ø§Ų„ØĒØšØąŲ Ø§Ų„Ø¨ØĩØąŲŠ ØšŲ„Ų‰ Ø§Ų„Ø­ØąŲˆŲ", "search_filter_people_title": "ا؎ØĒØą Ø§Ų„Ø§Ø´ØŽØ§Øĩ", "search_for": "Ø§Ų„Ø¨Ø­ØĢ ØšŲ†", "search_for_existing_person": "Ø§Ų„Ø¨Ø­ØĢ ØšŲ† Ø´ØŽØĩ Ų…ŲˆØŦŲˆØ¯", @@ -1771,6 +1807,7 @@ "server_online": "Ø§Ų„ØŽØ§Ø¯Ų… Ų…ØĒØĩŲ„", "server_privacy": "ØŽØĩ؈ØĩŲŠØŠ Ø§Ų„ØŽØ§Ø¯Ų…", "server_stats": "ØĨØ­ØĩاØĻŲŠØ§ØĒ Ø§Ų„ØŽØ§Ø¯Ų…", + "server_update_available": "ØĒØ­Ø¯ŲŠØĢ Ø§Ų„ØŽØ§Ø¯Ų… Ų…ØĒاح", "server_version": "ØĨØĩØ¯Ø§Øą Ø§Ų„ØŽØ§Ø¯Ų…", "set": "‏ØĒØ­Ø¯ŲŠØ¯", "set_as_album_cover": "ØĒØ­Ø¯ŲŠØ¯ ؃ØēŲ„Ø§Ų Ų„Ų„ØŖŲ„Ø¨ŲˆŲ…", @@ -1799,6 +1836,8 @@ "setting_notifications_subtitle": "اØļØ¨Øˇ ØĒ؁ØļŲŠŲ„Ø§ØĒ Ø§Ų„ØĨØŽØˇØ§Øą", "setting_notifications_total_progress_subtitle": "Ø§Ų„ØĒŲ‚Ø¯Ų… Ø§Ų„ØĒØ­Ų…ŲŠŲ„ Ø§Ų„ØšØ§Ų… (ØĒŲ… Ø§Ų„Ų‚ŲŠØ§Ų… Ø¨Ų‡/ØĨØŦŲ…Ø§Ų„ŲŠ Ø§Ų„ØŖØĩŲˆŲ„)", "setting_notifications_total_progress_title": "ØĨØ¸Ų‡Ø§Øą Ø§Ų„Ų†ØŗØŽ Ø§Ų„Ø§Ø­ØĒŲŠØ§ØˇŲŠ Ø§Ų„ØŽŲ„ŲŲŠØŠ Ø§Ų„ØĒŲ‚Ø¯Ų… Ø§Ų„Ų…Ø­ØąØ˛", + "setting_video_viewer_auto_play_subtitle": "Ø¨Ø¯ØĄ ØĒØ´ØēŲŠŲ„ Ų…Ų‚Ø§ØˇØš Ø§Ų„ŲŲŠØ¯ŲŠŲˆ ØĒŲ„Ų‚Ø§ØĻŲŠŲ‹Ø§ ØšŲ†Ø¯ ؁ØĒØ­Ų‡Ø§", + "setting_video_viewer_auto_play_title": "ØĒØ´ØēŲŠŲ„ Ø§Ų„ŲŲŠØ¯ŲŠŲˆŲ‡Ø§ØĒ ØĒŲ„Ų‚Ø§ØĻŲŠŲ‹Ø§", "setting_video_viewer_looping_title": "ØĒŲƒØąØ§Øą Ų…Ų‚ØˇØš ŲŲŠØ¯ŲŠŲˆ ØĒŲ„Ų‚Ø§ØĻŲŠŲ‹Ø§", "setting_video_viewer_original_video_subtitle": "ØšŲ†Ø¯ بØĢ ŲŲŠØ¯ŲŠŲˆ Ų…Ų† Ø§Ų„ØŽØ§Ø¯Ų…ØŒ Ø´ØēŲ‘Ų„ Ø§Ų„Ų†ØŗØŽØŠ Ø§Ų„ØŖØĩŲ„ŲŠØŠ Ø­ØĒŲ‰ Ų…Øš ØĒŲˆŲØą ØĒØąŲ…ŲŠØ˛ Ø¨Ø¯ŲŠŲ„. Ų‚Ø¯ ŲŠØ¤Ø¯ŲŠ Ø°Ų„Ųƒ ØĨŲ„Ų‰ ØĒŲ‚ØˇŲŠØš اØĢŲ†Ø§ØĄ Ø§Ų„ØšØąØļ . ØĒŲØ´ØēŲ‘Ų„ Ø§Ų„ŲŲŠØ¯ŲŠŲˆŲ‡Ø§ØĒ Ø§Ų„Ų…ØĒŲˆŲØąØŠ Ų…Ø­Ų„ŲŠŲ‹Ø§ بØŦŲˆØ¯ØŠ ØŖØĩŲ„ŲŠØŠ بØēØļ Ø§Ų„Ų†Ø¸Øą ØšŲ† Ų‡Ø°Ø§ Ø§Ų„ØĨؚداد.", "setting_video_viewer_original_video_title": "اØŦØ¨Ø§Øą ØšØąØļ Ø§Ų„ŲØ¯ŲŠŲˆ Ø§Ų„Ø§ØĩŲ„ŲŠ", @@ -1978,6 +2017,7 @@ "theme_setting_three_stage_loading_title": "ØĒŲ…ŲƒŲŠŲ† ØĒØ­Ų…ŲŠŲ„ ØĢŲ„Ø§ØĢ Ų…ØąØ§Ø­Ų„", "they_will_be_merged_together": "ØŗŲŠØĒŲ… Ø¯Ų…ØŦŲ‡Ų… Ų…ØšŲ‹Ø§", "third_party_resources": "Ų…ŲˆØ§ØąØ¯ Ø§Ų„ØˇØąŲ Ø§Ų„ØĢØ§Ų„ØĢ", + "time": "ŲˆŲ‚ØĒ", "time_based_memories": "Ø°ŲƒØąŲŠØ§ØĒ Ø§ØŗØĒŲ†Ø§Ø¯Ų‹Ø§ Ų„Ų„ŲˆŲ‚ØĒ", "timeline": "Ø§Ų„ØŽØˇ Ø§Ų„Ø˛Ų…Ų†ŲŠ", "timezone": "Ø§Ų„Ų…Ų†ØˇŲ‚ØŠ Ø§Ų„Ø˛Ų…Ų†ŲŠØŠ", @@ -2010,6 +2050,7 @@ "troubleshoot": "Ø§ØŗØĒŲƒØ´Ø§Ų Ø§Ų„Ų…Ø´Ø§ŲƒŲ„", "type": "Ø§Ų„Ų†ŲˆØš", "unable_to_change_pin_code": "ØĒŲŲŠŲŠØą ØąŲ…Ø˛ PIN ØēŲŠØą Ų…Ų…ŲƒŲ†", + "unable_to_check_version": "ØĒØšØ°Øą Ø§Ų„ØĒØ­Ų‚Ų‚ Ų…Ų† ØĨØĩØ¯Ø§Øą Ø§Ų„ØĒØˇØ¨ŲŠŲ‚ ØŖŲˆ Ø§Ų„ØŽØ§Ø¯Ų…", "unable_to_setup_pin_code": "Ø§Ų†Ø´Ø§ØĄ ØąŲ…Ø˛ PIN ØēŲŠØą Ų…Ų…ŲƒŲ†", "unarchive": "ØŖØŽØąØŦ Ų…Ų† Ø§Ų„ØŖØąØ´ŲŠŲ", "unarchive_action_prompt": "{count} Ø§Ø˛ŲŠŲ„ Ų…Ų† Ø§Ų„Ø§ØąØ´ŲŠŲ", diff --git a/i18n/az.json b/i18n/az.json index 53e7f55db6..d08d76ed46 100644 --- a/i18n/az.json +++ b/i18n/az.json @@ -17,7 +17,6 @@ "add_birthday": "Doğum gÃŧnÃŧ əlavə et", "add_endpoint": "Son nÃļqtə əlavə et", "add_exclusion_pattern": "Ã‡Äąxarma nÃŧmunəsi əlavə et", - "add_import_path": "İdxal yolu əlavə et", "add_location": "Məkan əlavə et", "add_more_users": "Daha çox istifadəçi əlavə et", "add_partner": "Partnyor əlavə et", @@ -85,7 +84,6 @@ "jobs_failed": "{jobCount, plural, other {# uğursuz}}", "library_created": "{library} kitabxanasÄą yaradÄąldÄą", "library_deleted": "Kitabxana silindi", - "library_import_path_description": "İdxal olunacaq qovluÃļu seçin. Bu qovluq, alt qovluqlar daxil olmaqla şəkil və videolar ÃŧçÃŧn skan ediləcəkdir.", "library_scanning": "Periodik skan", "library_scanning_description": "Periodik kitabxana skanÄąnÄą confiqurasiya et", "library_scanning_enable_description": "Periodik kitabxana skanÄąnÄą aktivləşdir", diff --git a/i18n/be.json b/i18n/be.json index a8bd54b400..3a871c6728 100644 --- a/i18n/be.json +++ b/i18n/be.json @@ -17,7 +17,6 @@ "add_birthday": "Đ”Đ°Đ´Đ°Ņ†ŅŒ дСĐĩĐŊҌ ĐŊĐ°Ņ€Đ°Đ´ĐļŅĐŊĐŊŅ", "add_endpoint": "Đ”Đ°Đ´Đ°Ņ†ŅŒ ĐēŅ€ĐžĐŋĐē҃ Đ´ĐžŅŅ‚ŅƒĐŋ҃", "add_exclusion_pattern": "Đ”Đ°Đ´Đ°Ņ†ŅŒ ŅˆĐ°ĐąĐģĐžĐŊ Đ˛Ņ‹ĐēĐģŅŽŅ‡ŅĐŊĐŊŅ", - "add_import_path": "Đ”Đ°Đ´Đ°Ņ†ŅŒ ҈ĐģŅŅ… Ņ–ĐŧĐŋĐ°Ņ€Ņ‚Ņƒ", "add_location": "Đ”Đ°Đ´Đ°ĐšŅ†Đĩ ĐŧĐĩŅŅ†Đ°", "add_more_users": "Đ”Đ°Đ´Đ°Ņ†ŅŒ йОĐģҌ҈ ĐēĐ°Ņ€Ņ‹ŅŅ‚Đ°ĐģҌĐŊŅ–ĐēĐ°Ņž", "add_partner": "Đ”Đ°Đ´Đ°Ņ†ŅŒ ĐŋĐ°Ņ€Ņ‚ĐŊŅ‘Ņ€Đ°", @@ -318,8 +317,6 @@ "edit_description": "Đ ŅĐ´Đ°ĐŗĐ°Đ˛Đ°Ņ†ŅŒ аĐŋŅ–ŅĐ°ĐŊĐŊĐĩ", "edit_description_prompt": "Đ’Ņ‹ĐąĐĩҀҋ҆Đĩ ĐŊОваĐĩ аĐŋŅ–ŅĐ°ĐŊĐŊĐĩ:", "edit_faces": "Đ ŅĐ´Đ°ĐŗĐ°Đ˛Đ°Ņ†ŅŒ Ņ‚Đ˛Đ°Ņ€Ņ‹", - "edit_import_path": "Đ ŅĐ´Đ°ĐŗĐ°Đ˛Đ°Ņ†ŅŒ ҈ĐģŅŅ… Ņ–ĐŧĐŋĐ°Ņ€Ņ‚Ņƒ", - "edit_import_paths": "Đ ŅĐ´Đ°ĐŗĐ°Đ˛Đ°Ņ†ŅŒ ҈ĐģŅŅ…Ņ– Ņ–ĐŧĐŋĐ°Ņ€Ņ‚Ņƒ", "edit_key": "Đ ŅĐ´Đ°ĐŗĐ°Đ˛Đ°Ņ†ŅŒ ĐēĐģŅŽŅ‡", "edit_link": "Đ ŅĐ´Đ°ĐŗĐ°Đ˛Đ°Ņ†ŅŒ ҁĐŋĐ°ŅŅ‹ĐģĐē҃", "edit_location": "Đ ŅĐ´Đ°ĐŗĐ°Đ˛Đ°Ņ†ŅŒ ĐŧĐĩŅŅ†Đ°ĐˇĐŊĐ°Ņ…ĐžĐ´ĐļаĐŊĐŊĐĩ", @@ -398,6 +395,8 @@ "partner_list_user_photos": "Đ¤ĐžŅ‚Đ° ĐēĐ°Ņ€Ņ‹ŅŅ‚Đ°ĐģҌĐŊŅ–Đēа {user}", "pause": "ĐŸŅ€Ņ‹ĐŋŅ‹ĐŊŅ–Ņ†ŅŒ", "people": "Đ›ŅŽĐ´ĐˇŅ–", + "permanent_deletion_warning": "ПаĐŋŅŅ€ŅĐ´ĐļаĐŊĐŊĐĩ ай ĐēаĐŊŅ‡Đ°Ņ‚ĐēĐžĐ˛Ņ‹Đŧ Đ˛Ņ‹Đ´Đ°ĐģĐĩĐŊĐŊŅ–", + "permanent_deletion_warning_setting_description": "ПаĐēĐ°ĐˇĐ°Ņ†ŅŒ ĐŋаĐŋŅŅ€ŅĐ´ĐļаĐŊĐŊĐĩ ĐŋҀҋ ĐēаĐŊŅ‡Đ°Ņ‚ĐēĐžĐ˛Ņ‹Đŧ Đ˛Ņ‹Đ´Đ°ĐģĐĩĐŊĐŊŅ– Ņ€ŅŅŅƒŅ€ŅĐ°Ņž", "permission_onboarding_back": "Назад", "permission_onboarding_continue_anyway": "ĐŖŅŅ‘ адĐŊĐž ĐŋŅ€Đ°Ņ†ŅĐŗĐŊŅƒŅ†ŅŒ", "photos": "Đ¤ĐžŅ‚Đ°", diff --git a/i18n/bg.json b/i18n/bg.json index a59cc4d67d..651917e1b0 100644 --- a/i18n/bg.json +++ b/i18n/bg.json @@ -17,7 +17,6 @@ "add_birthday": "Добави Đ´Đ°Ņ‚Đ° ĐŊа Ņ€Đ°ĐļдаĐŊĐĩ", "add_endpoint": "Добави ĐēŅ€Đ°ĐšĐŊа Ņ‚ĐžŅ‡Đēа", "add_exclusion_pattern": "Добави ĐŧОдĐĩĐģ Са иСĐēĐģŅŽŅ‡Đ˛Đ°ĐŊĐĩ", - "add_import_path": "Добави ĐŋŅŠŅ‚ Са иĐŧĐŋĐžŅ€Ņ‚Đ¸Ņ€Đ°ĐŊĐĩ", "add_location": "Дoйави ĐŧĐĩŅŅ‚ĐžĐŋĐžĐģĐžĐļĐĩĐŊиĐĩ", "add_more_users": "Добави ĐžŅ‰Đĩ ĐŋĐžŅ‚Ņ€ĐĩĐąĐ¸Ņ‚ĐĩĐģи", "add_partner": "Добави ĐŋĐ°Ņ€Ņ‚ĐŊŅŒĐžŅ€", @@ -32,6 +31,7 @@ "add_to_album_toggle": "ĐĄĐŧĐĩĐŊĐĩŅ‚Đĩ Đ¸ĐˇĐąĐžŅ€Đ° Са {album}", "add_to_albums": "Đ”ĐžĐąĐ°Đ˛ŅĐŊĐĩ в аĐģĐąŅƒĐŧи", "add_to_albums_count": "Đ”ĐžĐąĐ°Đ˛ŅĐŊĐĩ в аĐģĐąŅƒĐŧи ({count})", + "add_to_bottom_bar": "Добави ĐēҊĐŧ", "add_to_shared_album": "Добави ĐēҊĐŧ ҁĐŋОдĐĩĐģĐĩĐŊ аĐģĐąŅƒĐŧ", "add_upload_to_stack": "Добави ĐēĐ°Ņ‡ĐĩĐŊĐ¸Ņ‚Đĩ в ĐŗŅ€ŅƒĐŋа", "add_url": "Добави URL", @@ -112,7 +112,6 @@ "jobs_failed": "{jobCount, plural, other {# ĐŊĐĩ҃ҁĐŋĐĩ҈ĐŊи}}", "library_created": "ĐĄŅŠĐˇĐ´Đ°Đ´ĐĩĐŊа йийĐģĐ¸ĐžŅ‚ĐĩĐēа: {library}", "library_deleted": "БибĐģĐ¸ĐžŅ‚ĐĩĐēа Đĩ Đ¸ĐˇŅ‚Ņ€Đ¸Ņ‚Đ°", - "library_import_path_description": "ĐŸĐžŅĐžŅ‡ĐĩŅ‚Đĩ ĐŋаĐŋĐēа Са иĐŧĐŋĐžŅ€Ņ‚Đ¸Ņ€Đ°ĐŊĐĩ. ĐĸаСи ĐŋаĐŋĐēа, вĐēĐģŅŽŅ‡Đ¸Ņ‚ĐĩĐģĐŊĐž ĐŋОдĐŋаĐŋĐēĐ¸Ņ‚Đĩ, ҉Đĩ ĐąŅŠĐ´Đ°Ņ‚ ҁĐēаĐŊĐ¸Ņ€Đ°ĐŊи Са Đ¸ĐˇĐžĐąŅ€Đ°ĐļĐĩĐŊĐ¸Ņ и видĐĩĐžĐēĐģиĐŋОвĐĩ.", "library_scanning": "ПĐĩŅ€Đ¸ĐžĐ´Đ¸Ņ‡ĐŊĐž ҁĐēаĐŊĐ¸Ņ€Đ°ĐŊĐĩ", "library_scanning_description": "КоĐŊŅ„Đ¸ĐŗŅƒŅ€Đ¸Ņ€Đ°Đš ĐŋĐĩŅ€Đ¸ĐžĐ´Đ¸Ņ‡ĐŊĐž ҁĐēаĐŊĐ¸Ņ€Đ°ĐŊĐĩ ĐŊа йийĐģĐ¸ĐžŅ‚ĐĩĐēĐ°Ņ‚Đ°", "library_scanning_enable_description": "ВĐēĐģŅŽŅ‡Đ˛Đ°ĐŊĐĩ ĐŊа ĐŋĐĩŅ€Đ¸ĐžĐ´Đ¸Ņ‡ĐŊĐžŅ‚Đž ҁĐēаĐŊĐ¸Ņ€Đ°ĐŊĐĩ ĐŊа йийĐģĐ¸ĐžŅ‚ĐĩĐēĐ°Ņ‚Đ°", @@ -151,9 +150,21 @@ "machine_learning_max_recognition_distance": "МаĐēŅĐ¸ĐŧаĐģĐŊĐž Ņ€Đ°ĐˇŅŅ‚ĐžŅĐŊиĐĩ Са Ņ€Đ°ĐˇĐŋОСĐŊаваĐŊĐĩ", "machine_learning_max_recognition_distance_description": "МаĐēŅĐ¸ĐŧаĐģĐŊĐž Ņ€Đ°ĐˇŅŅ‚ĐžŅĐŊиĐĩ ĐŧĐĩĐļĐ´Ņƒ двĐĩ ĐģĐ¸Ņ†Đ°, Са да ҁĐĩ ŅŅ‡Đ¸Ņ‚Đ°Ņ‚ Са ĐĩĐ´ĐŊĐž и ŅŅŠŅ‰Đž ĐģĐ¸Ņ†Đĩ, в диаĐŋаСОĐŊа 0-2. НаĐŧаĐģŅĐ˛Đ°ĐŊĐĩŅ‚Đž Đŧ҃ ĐŧĐžĐļĐĩ да ĐŋŅ€ĐĩĐ´ĐžŅ‚Đ˛Ņ€Đ°Ņ‚Đ¸ ĐžĐŋŅ€ĐĩĐ´ĐĩĐģŅĐŊĐĩŅ‚Đž ĐŊа двĐĩ ĐģĐ¸Ņ†Đ° ĐēĐ°Ņ‚Đž ĐĩĐ´ĐŊĐž и ŅŅŠŅ‰Đž ĐģĐ¸Ņ†Đĩ, а ŅƒĐ˛ĐĩĐģĐ¸Ņ‡Đ°Đ˛Đ°ĐŊĐĩŅ‚Đž Đŧ҃ ĐŧĐžĐļĐĩ да ĐŋŅ€ĐĩĐ´ĐžŅ‚Đ˛Ņ€Đ°Ņ‚Đ¸ ĐžĐŋŅ€ĐĩĐ´ĐĩĐģŅĐŊĐĩŅ‚Đž ĐŊа ĐĩĐ´ĐŊĐž и ŅŅŠŅ‰Đž ĐģĐ¸Ņ†Đĩ ĐēĐ°Ņ‚Đž двĐĩ Ņ€Đ°ĐˇĐģĐ¸Ņ‡ĐŊи ĐģĐ¸Ņ†Đ°. ИĐŧĐ°ĐšŅ‚Đĩ ĐŋŅ€Đĩдвид, ҇Đĩ Đĩ ĐŋĐž-ĐģĐĩҁĐŊĐž да ҁĐĩ ҁĐģĐĩŅŅ‚ двĐĩ ĐģĐ¸Ņ†Đ°, ĐžŅ‚ĐēĐžĐģĐēĐžŅ‚Đž да ҁĐĩ Ņ€Đ°ĐˇĐ´ĐĩĐģи ĐĩĐ´ĐŊĐž ĐģĐ¸Ņ†Đĩ ĐŊа двĐĩ, Ņ‚Đ°Đēа ҇Đĩ ĐŋĐž Đ˛ŅŠĐˇĐŧĐžĐļĐŊĐžŅŅ‚ иСйĐĩŅ€ĐĩŅ‚Đĩ ĐŋĐž-ĐŊĐ¸ŅĐēа ŅŅ‚ĐžĐšĐŊĐžŅŅ‚.", "machine_learning_min_detection_score": "МиĐŊиĐŧаĐģĐŊа ĐžŅ†ĐĩĐŊĐēа Са ĐžŅ‚ĐēŅ€Đ¸Đ˛Đ°ĐŊĐĩ", - "machine_learning_min_detection_score_description": "МиĐŊиĐŧаĐģĐŊа ĐžŅ†ĐĩĐŊĐēа ĐŊа дОвĐĩŅ€Đ¸ĐĩŅ‚Đž, Са да ĐąŅŠĐ´Đĩ ŅŅ‡Đ¸Ņ‚Đ°ĐŊĐž ĐģĐ¸Ņ†Đĩ ĐēĐ°Ņ‚Đž ĐžŅ‚ĐēŅ€Đ¸Ņ‚Đž - ĐžŅ‚ 0 Đ´Đž 1. По-ĐŊĐ¸ŅĐēĐ¸Ņ‚Đĩ ŅŅ‚ĐžĐšĐŊĐžŅŅ‚Đ¸ ҉Đĩ ĐžŅ‚ĐēŅ€Đ¸ŅŅ‚ ĐŋОвĐĩ҇Đĩ ĐģĐ¸Ņ†Đ°, ĐŊĐž ĐŧĐžĐļĐĩ да дОвĐĩĐ´Đ°Ņ‚ Đ´Đž Ņ„Đ°ĐģŅˆĐ¸Đ˛Đ¸ ĐŋĐžĐģĐžĐļĐ¸Ņ‚ĐĩĐģĐŊи Ņ€ĐĩĐˇŅƒĐģŅ‚Đ°Ņ‚Đ¸.", + "machine_learning_min_detection_score_description": "МиĐŊиĐŧаĐģĐŊа ĐžŅ†ĐĩĐŊĐēа ĐŊа дОвĐĩŅ€Đ¸Đĩ, Са да ĐąŅŠĐ´Đĩ ŅŅ‡Đ¸Ņ‚Đ°ĐŊĐž ĐģĐ¸Ņ†Đĩ ĐēĐ°Ņ‚Đž ĐžŅ‚ĐēŅ€Đ¸Ņ‚Đž - ĐžŅ‚ 0 Đ´Đž 1. По-ĐŊĐ¸ŅĐēĐ¸Ņ‚Đĩ ŅŅ‚ĐžĐšĐŊĐžŅŅ‚Đ¸ ҉Đĩ ĐžŅ‚ĐēŅ€Đ¸ŅŅ‚ ĐŋОвĐĩ҇Đĩ ĐģĐ¸Ņ†Đ°, ĐŊĐž ĐŧĐžĐļĐĩ да дОвĐĩĐ´Đ°Ņ‚ Đ´Đž Ņ„Đ°ĐģŅˆĐ¸Đ˛Đ¸ ĐŋĐžĐģĐžĐļĐ¸Ņ‚ĐĩĐģĐŊи Ņ€ĐĩĐˇŅƒĐģŅ‚Đ°Ņ‚Đ¸.", "machine_learning_min_recognized_faces": "МиĐŊиĐŧ҃Đŧ Ņ€Đ°ĐˇĐŋОСĐŊĐ°Ņ‚Đ¸ ĐģĐ¸Ņ†Đ°", "machine_learning_min_recognized_faces_description": "МиĐŊиĐŧаĐģĐŊĐ¸ŅŅ‚ ĐąŅ€ĐžĐš Ņ€Đ°ĐˇĐŋОСĐŊĐ°Ņ‚Đ¸ ĐģĐ¸Ņ†Đ°, ĐŊĐĩĐžĐąŅ…ĐžĐ´Đ¸Đŧи Са ŅŅŠĐˇĐ´Đ°Đ˛Đ°ĐŊĐĩŅ‚Đž ĐŊа ĐģĐ¸Ņ†Đĩ. ĐŖĐ˛ĐĩĐģĐ¸Ņ‡Đ°Đ˛Đ°ĐŊĐĩŅ‚Đž Đŧ҃ ĐŋŅ€Đ°Đ˛Đ¸ Ņ€Đ°ĐˇĐŋОСĐŊаваĐŊĐĩŅ‚Đž ĐŊа ĐģĐ¸Ņ†Đ° ĐŋĐž-ĐŋŅ€ĐĩŅ†Đ¸ĐˇĐŊĐž Са ҁĐŧĐĩŅ‚Đēа ĐŊа ŅƒĐ˛ĐĩĐģĐ¸Ņ‡Đ°Đ˛Đ°ĐŊĐĩŅ‚Đž ĐŊа вĐĩŅ€ĐžŅŅ‚ĐŊĐžŅŅ‚Ņ‚Đ° дадĐĩĐŊĐž ĐģĐ¸Ņ†Đĩ да ĐŊĐĩ ĐąŅŠĐ´Đĩ ĐŋŅ€Đ¸Ņ‡Đ¸ŅĐģĐĩĐŊĐž ĐēҊĐŧ ĐģĐ¸Ņ†Đĩ.", + "machine_learning_ocr": "РаСĐŋОСĐŊаваĐŊĐĩ ĐŊа Ņ‚ĐĩĐēҁ҂", + "machine_learning_ocr_description": "ИСĐŋĐžĐģĐˇĐ˛Đ°ĐšŅ‚Đĩ ĐŧĐ°ŅˆĐ¸ĐŊĐŊĐž ĐžĐąŅƒŅ‡ĐĩĐŊиĐĩ Са Ņ€Đ°ĐˇĐŋОСĐŊаваĐŊĐĩ ĐŊа Ņ‚ĐĩĐēҁ҂ в Đ¸ĐˇĐžĐąŅ€Đ°ĐļĐĩĐŊĐ¸ŅŅ‚Đ°", + "machine_learning_ocr_enabled": "ВĐēĐģŅŽŅ‡Đ¸ Ņ€Đ°ĐˇĐŋОСĐŊаваĐŊĐĩ ĐŊа Ņ‚ĐĩĐēҁ҂", + "machine_learning_ocr_enabled_description": "АĐēĐž Đĩ ĐˇĐ°ĐąŅ€Đ°ĐŊĐĩĐŊĐž, ĐŊŅĐŧа да ҁĐĩ ĐŋŅ€Đ°Đ˛Đ¸ Ņ€Đ°ĐˇĐŋОСĐŊаваĐŊĐĩ ĐŊа Ņ‚ĐĩĐēҁ҂ в Đ¸ĐˇĐžĐąŅ€Đ°ĐļĐĩĐŊĐ¸ŅŅ‚Đ°.", + "machine_learning_ocr_max_resolution": "МаĐēŅĐ¸ĐŧаĐģĐŊа Ņ€ĐĩСОĐģŅŽŅ†Đ¸Ņ", + "machine_learning_ocr_max_resolution_description": "Đ˜ĐˇĐžĐąŅ€Đ°ĐļĐĩĐŊĐ¸Ņ ҁ Ņ€ĐĩСОĐģŅŽŅ†Đ¸Ņ ĐŊад СададĐĩĐŊĐ°Ņ‚Đ° ҉Đĩ ĐąŅŠĐ´Đ°Ņ‚ ĐŋŅ€ĐĩĐžŅ€Đ°ĐˇĐŧĐĩŅ€ĐĩĐŊи ĐŋŅ€Đ¸ СаĐŋаСваĐŊĐĩ ĐŊа ĐŋŅ€ĐžĐŋĐžŅ€Ņ†Đ¸ŅŅ‚Đ°. ГоĐģŅĐŧа ŅŅ‚ĐžĐšĐŊĐžŅŅ‚ ĐŋОСвОĐģŅĐ˛Đ° ĐŋĐž-ĐŋŅ€ĐĩŅ†Đ¸ĐˇĐŊĐž Ņ€Đ°ĐˇĐŋОСĐŊаваĐŊĐĩ, ĐŊĐž ĐžĐąŅ€Đ°ĐąĐžŅ‚ĐēĐ°Ņ‚Đ° иСĐŋĐžĐģСва ĐŋОвĐĩ҇Đĩ Đ˛Ņ€ĐĩĐŧĐĩ и ĐŋОвĐĩ҇Đĩ ĐŋаĐŧĐĩŅ‚.", + "machine_learning_ocr_min_detection_score": "МиĐŊиĐŧаĐģĐŊа ĐžŅ†ĐĩĐŊĐēа Са ĐžŅ‚ĐēŅ€Đ¸Đ˛Đ°ĐŊe", + "machine_learning_ocr_min_detection_score_description": "МиĐŊиĐŧаĐģĐŊĐ°Ņ‚Đ° ĐžŅ†ĐĩĐŊĐēа ĐŊа дОвĐĩŅ€Đ¸Đĩ Са ĐžŅ‚ĐēŅ€Đ¸Đ˛Đ°ĐŊĐĩ ĐŊа Ņ‚ĐĩĐēҁ҂ ĐŧĐžĐļĐĩ да ĐąŅŠĐ´Đĩ ĐŧĐĩĐļĐ´Ņƒ 0 и 1. По-ĐŊĐ¸ŅĐēа ŅŅ‚ĐžĐšĐŊĐžŅŅ‚ ҉Đĩ ĐžŅ‚ĐēŅ€Đ¸Đ˛Đ° ĐŋОвĐĩ҇Đĩ Ņ‚ĐĩĐēҁ҂, ĐŊĐž ĐŧĐžĐļĐĩ да дОвĐĩĐ´Đĩ Đ´Đž ĐŗŅ€Đĩ҈ĐŊи Ņ€ĐĩĐˇŅƒĐģŅ‚Đ°Ņ‚Đ¸.", + "machine_learning_ocr_min_recognition_score": "МиĐŊиĐŧаĐģĐŊа ĐžŅ†ĐĩĐŊĐēa Са ĐžŅ‚ĐēŅ€Đ¸Đ˛Đ°ĐŊĐĩ", + "machine_learning_ocr_min_score_recognition_description": "МиĐŊиĐŧаĐģĐŊа ĐžŅ†ĐĩĐŊĐēа ĐŊа дОвĐĩŅ€Đ¸Đĩ, Са да ĐąŅŠĐ´Đĩ ŅŅ‡Đ¸Ņ‚Đ°ĐŊ Ņ‚ĐĩĐēҁ҂ ĐēĐ°Ņ‚Đž ĐžŅ‚ĐēŅ€Đ¸Ņ‚ - ĐžŅ‚ 0 Đ´Đž 1. По-ĐŊĐ¸ŅĐēĐ¸Ņ‚Đĩ ŅŅ‚ĐžĐšĐŊĐžŅŅ‚Đ¸ ҉Đĩ ĐžŅ‚ĐēŅ€Đ¸ŅŅ‚ ĐŋОвĐĩ҇Đĩ Ņ‚ĐĩĐēҁ҂, ĐŊĐž ĐŧĐžĐļĐĩ да дОвĐĩĐ´Đ°Ņ‚ Đ´Đž Ņ„Đ°ĐģŅˆĐ¸Đ˛Đ¸ ĐŋĐžĐģĐžĐļĐ¸Ņ‚ĐĩĐģĐŊи Ņ€ĐĩĐˇŅƒĐģŅ‚Đ°Ņ‚Đ¸.", + "machine_learning_ocr_model": "МодĐĩĐģ Са Ņ€Đ°ĐˇĐŋОСĐŊаваĐŊĐĩ ĐŊа Ņ‚ĐĩĐēҁ҂", + "machine_learning_ocr_model_description": "ĐĄŅŠŅ€Đ˛ŅŠŅ€ĐŊĐ¸Ņ‚Đĩ ĐŧОдĐĩĐģи ŅĐ° ĐŋĐž-Ņ‚ĐžŅ‡ĐŊи ĐžŅ‚ ĐŧОйиĐģĐŊĐ¸Ņ‚Đĩ ĐŧОдĐĩĐģи, ĐŊĐž Đ¸ĐˇĐ¸ŅĐēĐ˛Đ°Ņ‚ ĐŋОвĐĩ҇Đĩ Đ˛Ņ€ĐĩĐŧĐĩ и иСĐŋĐžĐģĐˇĐ˛Đ°Ņ‚ ĐŋОвĐĩ҇Đĩ ĐŋаĐŧĐĩŅ‚.", "machine_learning_settings": "ĐĐ°ŅŅ‚Ņ€ĐžĐšĐēи ĐŊа ĐŧĐ°ŅˆĐ¸ĐŊĐŊĐžŅ‚Đž ĐžĐąŅƒŅ‡ĐĩĐŊиĐĩ", "machine_learning_settings_description": "ĐŖĐŋŅ€Đ°Đ˛ĐģĐĩĐŊиĐĩ ĐŊа Ņ„ŅƒĐŊĐēŅ†Đ¸Đ¸Ņ‚Đĩ и ĐŊĐ°ŅŅ‚Ņ€ĐžĐšĐēĐ¸Ņ‚Đĩ Са ĐŧĐ°ŅˆĐ¸ĐŊĐŊĐž ĐžĐąŅƒŅ‡ĐĩĐŊиĐĩ", "machine_learning_smart_search": "ИĐŊŅ‚ĐĩĐģĐ¸ĐŗĐĩĐŊŅ‚ĐŊĐž ĐĸŅŠŅ€ŅĐĩĐŊĐĩ", @@ -245,6 +256,7 @@ "oauth_storage_quota_default_description": "ĐšĐ˛ĐžŅ‚Đ° в GiB, ĐēĐžŅŅ‚Đž да ҁĐĩ иСĐŋĐžĐģСва, ĐēĐžĐŗĐ°Ņ‚Đž ĐŊĐĩ Đĩ ĐŋĐžŅĐžŅ‡ĐĩĐŊĐž Đ´Ņ€ŅƒĐŗĐž.", "oauth_timeout": "Đ’Ņ€ĐĩĐŧĐĩ ĐŊа Đ¸ĐˇŅ‡Đ°ĐēваĐŊĐĩ ĐŋŅ€Đ¸ ĐˇĐ°ŅĐ˛Đēа", "oauth_timeout_description": "Đ’Ņ€ĐĩĐŧĐĩ Са Đ¸ĐˇŅ‡Đ°ĐēваĐŊĐĩ ĐŊа ĐžŅ‚ĐŗĐžĐ˛ĐžŅ€ ĐŊа ĐˇĐ°ŅĐ˛Đēа, в ĐŧиĐģĐ¸ŅĐĩĐē҃ĐŊди", + "ocr_job_description": "ИСĐŋĐžĐģСваĐŊĐĩ ĐŊа ĐŧĐ°ŅˆĐ¸ĐŊĐŊĐž ĐžĐąŅƒŅ‡ĐĩĐŊиĐĩ Са Ņ€Đ°ĐˇĐŋОСĐŊаваĐŊĐĩ ĐŊа Ņ‚ĐĩĐēҁ҂ в Đ¸ĐˇĐžĐąŅ€Đ°ĐļĐĩĐŊĐ¸ŅŅ‚Đ°", "password_enable_description": "ВĐģиСаĐŊĐĩ ҁ иĐŧĐĩĐšĐģ и ĐŋĐ°Ņ€ĐžĐģа", "password_settings": "ВĐŋĐ¸ŅĐ˛Đ°ĐŊĐĩ ҁ ĐŋĐ°Ņ€ĐžĐģа", "password_settings_description": "ĐŖĐŋŅ€Đ°Đ˛ĐģĐĩĐŊиĐĩ ĐŊа ĐŊĐ°ŅŅ‚Ņ€ĐžĐšĐēĐ¸Ņ‚Đĩ Са вĐģиСаĐŊĐĩ ҁ ĐŋĐ°Ņ€ĐžĐģа", @@ -417,6 +429,7 @@ "age_months": "Đ’ŅŠĐˇŅ€Đ°ŅŅ‚ {months, plural, one {# ĐŧĐĩҁĐĩ҆} other {# ĐŧĐĩҁĐĩŅ†Đ¸}}", "age_year_months": "Đ’ŅŠĐˇŅ€Đ°ŅŅ‚ 1 ĐŗĐžĐ´Đ¸ĐŊа, {months, plural, one {# ĐŧĐĩҁĐĩ҆} other {# ĐŧĐĩҁĐĩŅ†Đ¸}}", "age_years": "{years, plural, other {ГодиĐŊа #}}", + "album": "АĐģĐąŅƒĐŧ", "album_added": "АĐģĐąŅƒĐŧŅŠŅ‚ Đĩ дОйавĐĩĐŊ", "album_added_notification_setting_description": "ПоĐģŅƒŅ‡Đ°Đ˛Đ°ĐšŅ‚Đĩ иСвĐĩŅŅ‚Đ¸Đĩ ĐŋĐž иĐŧĐĩĐšĐģ, ĐēĐžĐŗĐ°Ņ‚Đž ĐąŅŠĐ´ĐĩŅ‚Đĩ дОйавĐĩĐŊи ĐēҊĐŧ ҁĐŋОдĐĩĐģĐĩĐŊ аĐģĐąŅƒĐŧ", "album_cover_updated": "ОбĐģĐžĐļĐēĐ°Ņ‚Đ° ĐŊа аĐģĐąŅƒĐŧа Đĩ аĐēŅ‚ŅƒĐ°ĐģĐ¸ĐˇĐ¸Ņ€Đ°ĐŊа", @@ -462,6 +475,7 @@ "allow_edits": "ПозвоĐģŅĐ˛Đ°ĐŊĐĩ ĐŊа Ņ€ĐĩдаĐēŅ†Đ¸Đ¸", "allow_public_user_to_download": "ПозвоĐģĐĩŅ‚Đĩ ĐŊа ĐŋŅƒĐąĐģĐ¸Ņ‡ĐĩĐŊ ĐŋĐžŅ‚Ņ€ĐĩĐąĐ¸Ņ‚ĐĩĐģ да ĐŧĐžĐļĐĩ да Đ¸ĐˇŅ‚ĐĩĐŗĐģŅ", "allow_public_user_to_upload": "ПозвоĐģĐĩŅ‚Đĩ ĐŊа ĐŋŅƒĐąĐģĐ¸Ņ‡ĐŊĐ¸Ņ ĐŋĐžŅ‚Ņ€ĐĩĐąĐ¸Ņ‚ĐĩĐģ да ĐŧĐžĐļĐĩ да ĐēĐ°Ņ‡Đ˛Đ°", + "allowed": "Đ Đ°ĐˇŅ€Đĩ҈ĐĩĐŊĐž", "alt_text_qr_code": "Đ˜ĐˇĐžĐąŅ€Đ°ĐļĐĩĐŊиĐĩ ĐŊа QR ĐēОд", "anti_clockwise": "ĐžĐąŅ€Đ°Ņ‚ĐŊĐž ĐŊа Ņ‡Đ°ŅĐžĐ˛ĐŊиĐēĐžĐ˛Đ°Ņ‚Đ° ҁ҂ҀĐĩĐģĐēа", "api_key": "API ĐēĐģŅŽŅ‡", @@ -669,6 +683,8 @@ "change_password_description": "ĐĸОва Đĩ иĐģи ĐŋŅŠŅ€Đ˛Đ¸ŅŅ‚ ĐŋŅŠŅ‚, ĐēĐžĐŗĐ°Ņ‚Đž вĐģĐ¸ĐˇĐ°Ņ‚Đĩ в ŅĐ¸ŅŅ‚ĐĩĐŧĐ°Ņ‚Đ°, иĐģи Đĩ ĐŊаĐŋŅ€Đ°Đ˛ĐĩĐŊа ĐˇĐ°ŅĐ˛Đēа Са ĐŋŅ€ĐžĐŧŅĐŊа ĐŊа ĐŋĐ°Ņ€ĐžĐģĐ°Ņ‚Đ° ви. МоĐģŅ, Đ˛ŅŠĐ˛ĐĩĐ´ĐĩŅ‚Đĩ ĐŊĐžĐ˛Đ°Ņ‚Đ° ĐŋĐ°Ņ€ĐžĐģа ĐŋĐž-Đ´ĐžĐģ҃.", "change_password_form_confirm_password": "ĐŸĐžŅ‚Đ˛ŅŠŅ€Đ´Đ¸ ĐŋĐ°Ņ€ĐžĐģĐ°Ņ‚Đ°", "change_password_form_description": "Đ—Đ´Ņ€Đ°Đ˛ĐĩĐšŅ‚Đĩ {name},\n\nĐĸОва иĐģи Đĩ ĐŋŅŠŅ€Đ˛ĐžŅ‚Đž ви вĐŋĐ¸ŅĐ˛Đ°ĐŊĐĩ в ŅĐ¸ŅŅ‚ĐĩĐŧĐ°Ņ‚Đ° иĐģи иĐŧа ĐŋОдадĐĩĐŊа ĐˇĐ°ŅĐ˛Đēа Са ҁĐŧŅĐŊа ĐŊа ĐŋĐ°Ņ€ĐžĐģĐ°Ņ‚Đ°. МоĐģŅ, Đ˛ŅŠĐ˛ĐĩĐ´ĐĩŅ‚Đĩ ĐŊОва ĐŋĐ°Ņ€ĐžĐģа в ĐŋĐžĐģĐĩŅ‚Đž ĐŋĐž-Đ´ĐžĐģ҃.", + "change_password_form_log_out": "ИСĐģиСаĐŊĐĩ ĐžŅ‚ ĐŋŅ€ĐžŅ„Đ¸Đģа ĐŊа Đ˛ŅĐ¸Ņ‡Đēи Đ´Ņ€ŅƒĐŗĐ¸ ŅƒŅŅ‚Ņ€ĐžĐšŅŅ‚Đ˛Đ°", + "change_password_form_log_out_description": "ĐŸŅ€ĐĩĐŋĐžŅ€ŅŠŅ‡Đ˛Đ°ĐŧĐĩ да ҁĐĩ иСĐģĐĩСĐĩ ĐžŅ‚ ĐŋŅ€ĐžŅ„Đ¸Đģа ĐŊа Đ˛ŅĐ¸Ņ‡Đēи Đ´Ņ€ŅƒĐŗĐ¸ ŅƒŅŅ‚Ņ€ĐžĐšŅŅ‚Đ˛Đ°", "change_password_form_new_password": "Нова ĐŋĐ°Ņ€ĐžĐģа", "change_password_form_password_mismatch": "ĐŸĐ°Ņ€ĐžĐģĐ¸Ņ‚Đĩ ĐŊĐĩ ŅŅŠĐ˛ĐŋĐ°Đ´Đ°Ņ‚", "change_password_form_reenter_new_password": "ĐŸĐžĐ˛Ņ‚ĐžŅ€Đ¸ ĐŊĐžĐ˛Đ°Ņ‚Đ° ĐŋĐ°Ņ€ĐžĐģа", @@ -776,6 +792,7 @@ "daily_title_text_date_year": "E, dd MMM yyyy", "dark": "ĐĸҊĐŧĐĩĐŊ", "dark_theme": "ĐĸҊĐŧĐŊа Ņ‚ĐĩĐŧа", + "date": "Đ”Đ°Ņ‚Đ°", "date_after": "Đ”Đ°Ņ‚Đ° ҁĐģĐĩĐ´", "date_and_time": "Đ”Đ°Ņ‚Đ° и Ņ‡Đ°Ņ", "date_before": "Đ”Đ°Ņ‚Đ° ĐŋŅ€Đĩди", @@ -878,8 +895,6 @@ "edit_description_prompt": "МоĐģŅ, иСйĐĩŅ€Đ¸ ĐŊОвО ĐžĐŋĐ¸ŅĐ°ĐŊиĐĩ:", "edit_exclusion_pattern": "Đ ĐĩдаĐēŅ‚Đ¸Ņ€Đ°ĐŊĐĩ ĐŊа ŅˆĐ°ĐąĐģĐžĐŊ Са иСĐēĐģŅŽŅ‡Đ˛Đ°ĐŊĐĩ", "edit_faces": "Đ ĐĩдаĐēŅ‚Đ¸Ņ€Đ°ĐŊĐĩ ĐŊа ĐģĐ¸Ņ†Đ°", - "edit_import_path": "Đ ĐĩдаĐēŅ‚Đ¸Ņ€Đ°ĐŊĐĩ ĐŊа ĐŋŅŠŅ‚Ņ Са иĐŧĐŋĐžŅ€Ņ‚Đ¸Ņ€Đ°ĐŊĐĩ", - "edit_import_paths": "Đ ĐĩдаĐēŅ‚Đ¸Ņ€Đ°ĐŊĐĩ ĐŊа ĐŋŅŠŅ‚Đ¸Ņ‰Đ° Са иĐŧĐŋĐžŅ€Ņ‚Đ¸Ņ€Đ°ĐŊĐĩ", "edit_key": "Đ ĐĩдаĐēŅ‚Đ¸Ņ€Đ°ĐŊĐĩ ĐŊа ĐēĐģŅŽŅ‡", "edit_link": "Đ ĐĩдаĐēŅ‚Đ¸Ņ€Đ°ĐŊĐĩ ĐŊа ĐģиĐŊĐē", "edit_location": "Đ ĐĩдаĐēŅ‚Đ¸Ņ€Đ°ĐŊĐĩ ĐŊа ĐŧĐĩŅŅ‚ĐžĐŋĐžĐģĐžĐļĐĩĐŊиĐĩŅ‚Đž", @@ -951,7 +966,6 @@ "failed_to_stack_assets": "НĐĩ҃ҁĐŋĐĩ҈ĐŊĐž ĐŋĐžĐ´Ņ€ĐĩĐļдаĐŊĐĩ ĐŊа ОйĐĩĐēŅ‚Đ¸", "failed_to_unstack_assets": "НĐĩ҃ҁĐŋĐĩ҈ĐŊĐž ĐŋŅ€ĐĩĐŧĐ°Ņ…Đ˛Đ°ĐŊĐĩ ĐŊа ĐŋĐžĐ´Ņ€ĐĩĐ´ĐąĐ°Ņ‚Đ° ĐŊа ОйĐĩĐēŅ‚Đ¸", "failed_to_update_notification_status": "НĐĩ҃ҁĐŋĐĩ҈ĐŊĐž ОйĐŊĐžĐ˛ŅĐ˛Đ°ĐŊĐĩ ĐŊа ŅŅŠŅŅ‚ĐžŅĐŊиĐĩŅ‚Đž ĐŊа иСвĐĩŅŅ‚Đ¸ŅŅ‚Đ°", - "import_path_already_exists": "ĐĸОСи ĐŋŅŠŅ‚ Са иĐŧĐŋĐžŅ€Ņ‚Đ¸Ņ€Đ°ĐŊĐĩ вĐĩ҇Đĩ ŅŅŠŅ‰ĐĩŅŅ‚Đ˛ŅƒĐ˛Đ°.", "incorrect_email_or_password": "НĐĩĐŋŅ€Đ°Đ˛Đ¸ĐģĐĩĐŊ иĐŧĐĩĐšĐģ иĐģи ĐŋĐ°Ņ€ĐžĐģа", "paths_validation_failed": "{paths, plural, one {# ĐŋŅŠŅ‚} other {# ĐŋŅŠŅ‚Đ¸Ņ‰Đ°}} ĐŊĐĩ ĐŋŅ€ĐĩĐŧиĐŊĐ°Ņ…Đ° ваĐģĐ¸Đ´Đ°Ņ†Đ¸Ņ", "profile_picture_transparent_pixels": "ĐŸŅ€ĐžŅ„Đ¸ĐģĐŊĐ¸Ņ‚Đĩ ҁĐŊиĐŧĐēи ĐŊĐĩ ĐŧĐžĐŗĐ°Ņ‚ да иĐŧĐ°Ņ‚ ĐŋŅ€ĐžĐˇŅ€Đ°Ņ‡ĐŊи ĐŋиĐēҁĐĩĐģи. МоĐģŅ, ŅƒĐ˛ĐĩĐģĐ¸Ņ‡ĐĩŅ‚Đĩ и/иĐģи ĐŋŅ€ĐĩĐŧĐĩҁ҂ĐĩŅ‚Đĩ Đ¸ĐˇĐžĐąŅ€Đ°ĐļĐĩĐŊиĐĩŅ‚Đž.", @@ -961,7 +975,6 @@ "unable_to_add_assets_to_shared_link": "НĐĩ҃ҁĐŋĐĩ҈ĐŊĐž Đ´ĐžĐąĐ°Đ˛ŅĐŊĐĩ ĐŊа ОйĐĩĐēŅ‚Đ¸ в ҁĐŋОдĐĩĐģĐĩĐŊ ĐģиĐŊĐē", "unable_to_add_comment": "НĐĩ҃ҁĐŋĐĩ҈ĐŊĐž Đ´ĐžĐąĐ°Đ˛ŅĐŊĐĩ ĐŊа ĐēĐžĐŧĐĩĐŊŅ‚Đ°Ņ€", "unable_to_add_exclusion_pattern": "НĐĩ҃ҁĐŋĐĩ҈ĐŊĐž Đ´ĐžĐąĐ°Đ˛ŅĐŊĐĩ ĐŊа ŅˆĐ°ĐąĐģĐžĐŊ Са иСĐēĐģŅŽŅ‡ĐĩĐŊиĐĩ", - "unable_to_add_import_path": "НĐĩ҃ҁĐŋĐĩ҈ĐŊĐž Đ´ĐžĐąĐ°Đ˛ŅĐŊĐĩ ĐŊа ĐŋŅŠŅ‚ Са иĐŧĐŋĐžŅ€Ņ‚Đ¸Ņ€Đ°ĐŊĐĩ", "unable_to_add_partners": "НĐĩ҃ҁĐŋĐĩ҈ĐŊĐž Đ´ĐžĐąĐ°Đ˛ŅĐŊĐĩ ĐŊа ĐŋĐ°Ņ€Ņ‚ĐŊŅŒĐžŅ€Đ¸", "unable_to_add_remove_archive": "НĐĩ҃ҁĐŋĐĩ҈ĐŊĐž {archived, select, true {ĐŋŅ€ĐĩĐŧĐ°Ņ…Đ˛Đ°ĐŊĐĩ ĐŊа ОйĐĩĐēŅ‚ ĐžŅ‚} other {Đ´ĐžĐąĐ°Đ˛ŅĐŊĐĩ ĐŊа ОйĐĩĐēŅ‚ в}} Đ°Ņ€Ņ…Đ¸Đ˛Đ°", "unable_to_add_remove_favorites": "НĐĩ҃ҁĐŋĐĩ҈ĐŊĐž {favorite, select, true {Đ´ĐžĐąĐ°Đ˛ŅĐŊĐĩ ĐŊа ОйĐĩĐēŅ‚ в} other {ĐŋŅ€ĐĩĐŧĐ°Ņ…Đ˛Đ°ĐŊĐĩ ĐŊа ОйĐĩĐēŅ‚ ĐžŅ‚}} ĐģŅŽĐąĐ¸Đŧи", @@ -984,12 +997,10 @@ "unable_to_delete_asset": "НĐĩ ĐŧĐžĐļĐĩ да Đ¸ĐˇŅ‚Ņ€Đ¸Đĩ Ņ„Đ°ĐšĐģа", "unable_to_delete_assets": "Đ“Ņ€Đĩ҈Đēа ĐŋŅ€Đ¸ Đ¸ĐˇŅ‚Ņ€Đ¸Đ˛Đ°ĐŊĐĩ ĐŊа Ņ„Đ°ĐšĐģОвĐĩ", "unable_to_delete_exclusion_pattern": "НĐĩ ĐŧĐžĐļĐĩ да Đ¸ĐˇŅ‚Ņ€Đ¸Đĩ ŅˆĐ°ĐąĐģĐžĐŊ Са иСĐēĐģŅŽŅ‡Đ˛Đ°ĐŊĐĩ", - "unable_to_delete_import_path": "ĐŸŅŠŅ‚ŅŅ‚ Са иĐŧĐŋĐžŅ€Ņ‚Đ¸Ņ€Đ°ĐŊĐĩ ĐŊĐĩ ĐŧĐžĐļĐĩ да ҁĐĩ Đ¸ĐˇŅ‚Ņ€Đ¸Đĩ", "unable_to_delete_shared_link": "ĐĄĐŋОдĐĩĐģĐĩĐŊĐ°Ņ‚Đ° Đ˛Ņ€ŅŠĐˇĐēа ĐŊĐĩ ĐŧĐžĐļĐĩ да ҁĐĩ Đ¸ĐˇŅ‚Ņ€Đ¸Đĩ", "unable_to_delete_user": "НĐĩ ĐŧĐžĐļĐĩ да Đ¸ĐˇŅ‚Ņ€Đ¸Đĩ ĐŋĐžŅ‚Ņ€ĐĩĐąĐ¸Ņ‚ĐĩĐģ", "unable_to_download_files": "НĐĩ ĐŧĐžĐŗĐ°Ņ‚ да ҁĐĩ Đ¸ĐˇŅ‚ĐĩĐŗĐģŅŅ‚ Ņ„Đ°ĐšĐģОвĐĩŅ‚Đĩ", "unable_to_edit_exclusion_pattern": "НĐĩ ĐŧĐžĐļĐĩ да ҁĐĩ Ņ€ĐĩдаĐēŅ‚Đ¸Ņ€Đ° ŅˆĐ°ĐąĐģĐžĐŊ Са иСĐēĐģŅŽŅ‡Đ˛Đ°ĐŊĐĩ", - "unable_to_edit_import_path": "ĐŸŅŠŅ‚ŅŅ‚ Са иĐŧĐŋĐžŅ€Ņ‚Đ¸Ņ€Đ°ĐŊĐĩ ĐŊĐĩ ĐŧĐžĐļĐĩ да ҁĐĩ Ņ€ĐĩдаĐēŅ‚Đ¸Ņ€Đ°", "unable_to_empty_trash": "НĐĩ҃ҁĐŋĐĩ҈ĐŊĐž иСĐŋŅ€Đ°ĐˇĐ˛Đ°ĐŊĐĩ ĐŊа ĐēĐžŅˆŅ‡ĐĩŅ‚Đž", "unable_to_enter_fullscreen": "НĐĩ ĐŧĐžĐļĐĩ да ҁĐĩ ĐžŅ‚Đ˛ĐžŅ€Đ¸ в Ņ†ŅĐģ ĐĩĐēŅ€Đ°ĐŊ", "unable_to_exit_fullscreen": "НĐĩ ĐŧĐžĐļĐĩ да иСĐģĐĩСĐĩ ĐžŅ‚ Ņ†ŅĐģ ĐĩĐēŅ€Đ°ĐŊ", @@ -1084,6 +1095,7 @@ "features_setting_description": "ĐŖĐŋŅ€Đ°Đ˛ĐģĐĩĐŊиĐĩ ĐŊа Ņ„ŅƒĐŊĐēŅ†Đ¸Đ¸Ņ‚Đĩ ĐŊа ĐŋŅ€Đ¸ĐģĐžĐļĐĩĐŊиĐĩŅ‚Đž", "file_name": "ИĐŧĐĩ ĐŊа Ņ„Đ°ĐšĐģа", "file_name_or_extension": "ИĐŧĐĩ ĐŊа Ņ„Đ°ĐšĐģ иĐģи Ņ€Đ°ĐˇŅˆĐ¸Ņ€ĐĩĐŊиĐĩ", + "file_size": "РаСĐŧĐĩŅ€ ĐŊа Ņ„Đ°ĐšĐģа", "filename": "ИĐŧĐĩ ĐŊа Ņ„Đ°ĐšĐģ", "filetype": "ĐĸиĐŋ ĐŊа Ņ„Đ°ĐšĐģ", "filter": "ФиĐģŅ‚ŅŠŅ€", @@ -1179,6 +1191,8 @@ "import_path": "ĐŸŅŠŅ‚ Са иĐŧĐŋĐžŅ€Ņ‚Đ¸Ņ€Đ°ĐŊĐĩ", "in_albums": "В {count, plural, one {# аĐģĐąŅƒĐŧ} other {# аĐģĐąŅƒĐŧа}}", "in_archive": "В Đ°Ņ€Ņ…Đ¸Đ˛", + "in_year": "{year} Đŗ.", + "in_year_selector": "ĐŸŅ€ĐĩС", "include_archived": "ВĐēĐģŅŽŅ‡Đ˛Đ°ĐŊĐĩ ĐŊа Đ°Ņ€Ņ…Đ¸Đ˛Đ¸Ņ€Đ°ĐŊи", "include_shared_albums": "ВĐēĐģŅŽŅ‡Đ˛Đ°ĐŊĐĩ ĐŊа ҁĐŋОдĐĩĐģĐĩĐŊи аĐģĐąŅƒĐŧи", "include_shared_partner_assets": "ВĐēĐģŅŽŅ‡Đ˛Đ°ĐŊĐĩ ĐŊа ҁĐŋОдĐĩĐģĐĩĐŊĐ¸Ņ‚Đĩ ҁ ĐŋĐ°Ņ€Ņ‚ĐŊŅŒĐžŅ€ ĐĩĐģĐĩĐŧĐĩĐŊŅ‚Đ¸", @@ -1215,6 +1229,7 @@ "language_setting_description": "ИСйĐĩŅ€ĐĩŅ‚Đĩ ĐŋŅ€ĐĩĐ´ĐŋĐžŅ‡Đ¸Ņ‚Đ°ĐŊ ĐĩСиĐē", "large_files": "ГоĐģĐĩĐŧи Ņ„Đ°ĐšĐģОвĐĩ", "last": "ĐŸĐžŅĐģĐĩĐ´ĐĩĐŊ", + "last_months": "{count, plural, one {ĐŸĐžŅĐģĐĩĐ´ĐŊĐ¸Ņ ĐŧĐĩҁĐĩ҆} other {ĐŸĐžŅĐģĐĩĐ´ĐŊĐ¸Ņ‚Đĩ # ĐŧĐĩҁĐĩŅ†Đ°}}", "last_seen": "ĐŸĐžŅĐģĐĩĐ´ĐŊĐž Đ˛Đ¸Đ´ŅĐŊĐž", "latest_version": "ĐŸĐžŅĐģĐĩĐ´ĐŊа вĐĩŅ€ŅĐ¸Ņ", "latitude": "Đ¨Đ¸Ņ€Đ¸ĐŊа", @@ -1247,6 +1262,7 @@ "local_media_summary": "ĐžĐąĐžĐąŅ‰ĐĩĐŊиĐĩ ĐŊа ĐģĐžĐēаĐģĐŊĐ¸Ņ‚Đĩ Ņ„Đ°ĐšĐģОвĐĩ", "local_network": "ЛоĐēаĐģĐŊа ĐŧŅ€ĐĩĐļа", "local_network_sheet_info": "ĐŸŅ€Đ¸ĐģĐžĐļĐĩĐŊиĐĩŅ‚Đž ҉Đĩ ҁĐĩ ŅĐ˛ŅŠŅ€ĐļĐĩ ҁҊҁ ŅŅŠŅ€Đ˛ŅŠŅ€Đ° ĐŊа Ņ‚ĐžĐˇĐ¸ URL, ĐēĐžĐŗĐ°Ņ‚Đž ŅƒŅŅ‚Ņ€ĐžĐšŅŅ‚Đ˛ĐžŅ‚Đž Đĩ ŅĐ˛ŅŠŅ€ĐˇĐ°ĐŊĐž ĐēҊĐŧ СададĐĩĐŊĐ°Ņ‚Đ° Wi-Fi ĐŧŅ€ĐĩĐļа", + "location": "ĐœŅŅŅ‚Đž", "location_permission": "Đ Đ°ĐˇŅ€Đĩ҈ĐĩĐŊиĐĩ Са ĐŧĐĩŅŅ‚ĐžĐŋĐžĐģĐžĐļĐĩĐŊиĐĩ", "location_permission_content": "За да Ņ€Đ°ĐąĐžŅ‚Đ¸ Ņ„ŅƒĐŊĐēŅ†Đ¸ŅŅ‚Đ° Đ°Đ˛Ņ‚ĐžĐŧĐ°Ņ‚Đ¸Ņ‡ĐŊĐž ĐŋŅ€ĐĩвĐēĐģŅŽŅ‡Đ˛Đ°ĐŊĐĩ, Immich ҁĐĩ ĐŊ҃ĐļдаĐĩ ĐžŅ‚ Ņ€Đ°ĐˇŅ€Đĩ҈ĐĩĐŊиĐĩ Са Ņ‚ĐžŅ‡ĐŊĐž ĐŧĐĩŅŅ‚ĐžĐŋĐžĐģĐžĐļĐĩĐŊиĐĩ, Са да ĐŧĐžĐļĐĩ да ҇ĐĩŅ‚Đĩ иĐŧĐĩŅ‚Đž ĐŊа Ņ‚ĐĩĐēŅƒŅ‰Đ°Ņ‚Đ° Wi-Fi ĐŧŅ€ĐĩĐļа", "location_picker_choose_on_map": "ИСйĐĩŅ€Đ¸ ĐŊа ĐēĐ°Ņ€Ņ‚Đ°", @@ -1296,6 +1312,10 @@ "main_menu": "ГĐģавĐŊĐž ĐŧĐĩĐŊŅŽ", "make": "ĐœĐ°Ņ€Đēа", "manage_geolocation": "ĐŖĐŋŅ€Đ°Đ˛ĐģĐĩĐŊиĐĩ ĐŊа ĐŧĐĩŅŅ‚ĐžĐŋĐžĐģĐžĐļĐĩĐŊĐ¸ŅŅ‚Đ°", + "manage_media_access_rationale": "ĐĸОва Ņ€Đ°ĐˇŅ€Đĩ҈ĐĩĐŊиĐĩ Đĩ ĐŊĐĩĐžĐąŅ…ĐžĐ´Đ¸ĐŧĐž Са ĐŋŅ€Đ°Đ˛Đ¸ĐģĐŊĐž ĐŋŅ€ĐĩĐŧĐĩŅŅ‚Đ˛Đ°ĐŊĐĩ ĐŊа ОйĐĩĐēŅ‚Đ¸ в ĐēĐžŅˆŅ‡ĐĩŅ‚Đž и Са Đ˛ŅŠĐˇŅŅ‚Đ°ĐŊĐžĐ˛ŅĐ˛Đ°ĐŊĐĩ ĐžŅ‚ Ņ‚Đ°Đŧ.", + "manage_media_access_settings": "ĐžŅ‚Đ˛ĐžŅ€Đ¸ ĐĐ°ŅŅ‚Ņ€ĐžĐšĐēи", + "manage_media_access_subtitle": "Đ Đ°ĐˇŅ€Đĩ҈ĐĩŅ‚Đĩ ĐŋŅ€Đ¸ĐģĐžĐļĐĩĐŊиĐĩŅ‚Đž Immich да ҃ĐŋŅ€Đ°Đ˛ĐģŅĐ˛Đ° и ĐŧĐĩŅŅ‚Đ¸ ĐŧĐĩдиКĐŊи Ņ„Đ°ĐšĐģОвĐĩ.", + "manage_media_access_title": "ĐŖĐŋŅ€Đ°Đ˛ĐģĐĩĐŊиĐĩ ĐŊа ĐŧĐĩдиКĐŊи Ņ„Đ°ĐšĐģОвĐĩ", "manage_shared_links": "ĐŖĐŋŅ€Đ°Đ˛ĐģĐĩĐŊиĐĩ ĐŊа ҁĐŋОдĐĩĐģĐĩĐŊи Đ˛Ņ€ŅŠĐˇĐēи", "manage_sharing_with_partners": "ĐŖĐŋŅ€Đ°Đ˛ĐģĐĩĐŊиĐĩ ĐŊа ҁĐŋОдĐĩĐģŅĐŊĐĩŅ‚Đž ҁ ĐŋĐ°Ņ€Ņ‚ĐŊŅŒĐžŅ€Đ¸", "manage_the_app_settings": "ĐŖĐŋŅ€Đ°Đ˛ĐģĐĩĐŊиĐĩ ĐŊа ĐŊĐ°ŅŅ‚Ņ€ĐžĐšĐēĐ¸Ņ‚Đĩ ĐŊа ĐŋŅ€Đ¸ĐģĐžĐļĐĩĐŊиĐĩŅ‚Đž", @@ -1359,6 +1379,7 @@ "more": "ĐžŅ‰Đĩ", "move": "ĐŸŅ€ĐĩĐŧĐĩŅŅ‚Đ¸", "move_off_locked_folder": "ИСвади ĐžŅ‚ СаĐēĐģŅŽŅ‡ĐĩĐŊĐ°Ņ‚Đ° ĐŋаĐŋĐēа", + "move_to": "ĐŸŅ€ĐĩĐŧĐĩŅŅ‚Đ¸ ĐēҊĐŧ", "move_to_lock_folder_action_prompt": "{count} ŅĐ° дОйавĐĩĐŊи в СаĐēĐģŅŽŅ‡ĐĩĐŊĐ°Ņ‚Đ° ĐŋаĐŋĐēа", "move_to_locked_folder": "ĐŸŅ€ĐĩĐŧĐĩŅŅ‚Đ¸ в СаĐēĐģŅŽŅ‡ĐĩĐŊа ĐŋаĐŋĐēа", "move_to_locked_folder_confirmation": "ĐĸĐĩСи ҁĐŊиĐŧĐēи и видĐĩа ҉Đĩ ĐąŅŠĐ´Đ°Ņ‚ Đ¸ĐˇŅ‚Ņ€Đ¸Ņ‚Đ¸ ĐžŅ‚ Đ˛ŅĐ¸Ņ‡Đēи аĐģĐąŅƒĐŧи и ҉Đĩ ŅĐ° Đ´ĐžŅŅ‚ŅŠĐŋĐŊи ŅĐ°ĐŧĐž в СаĐēĐģŅŽŅ‡ĐĩĐŊĐ°Ņ‚Đ° ĐŋаĐŋĐēа", @@ -1388,6 +1409,7 @@ "new_pin_code": "Нов PIN ĐēОд", "new_pin_code_subtitle": "ĐĸОва Đĩ ĐŋŅŠŅ€Đ˛Đ¸ Đ´ĐžŅŅ‚ŅŠĐŋ Đ´Đž СаĐēĐģŅŽŅ‡ĐĩĐŊа ĐŋаĐŋĐēа. ĐĄŅŠĐˇĐ´Đ°ĐšŅ‚Đĩ PIN ĐēОд Са ĐˇĐ°Ņ‰Đ¸Ņ‚ĐĩĐŊ Đ´ĐžŅŅ‚ŅŠĐŋ Đ´Đž Ņ‚Đ°ĐˇĐ¸ ŅŅ‚Ņ€Đ°ĐŊĐ¸Ņ†Đ°", "new_timeline": "Нова Đ˛Ņ€ĐĩĐŧĐĩва ĐģиĐŊĐ¸Ņ", + "new_update": "Ново ОйĐŊОвĐģĐĩĐŊиĐĩ", "new_user_created": "ĐĄŅŠĐˇĐ´Đ°Đ´ĐĩĐŊ ĐŊОв ĐŋĐžŅ‚Ņ€ĐĩĐąĐ¸Ņ‚ĐĩĐģ", "new_version_available": "НАЛИЧНА НОВА Đ’Đ•Đ ĐĄĐ˜Đ¯", "newest_first": "Най-ĐŊĐžĐ˛Đ¸Ņ‚Đĩ ĐŋŅŠŅ€Đ˛Đ¸", @@ -1403,6 +1425,7 @@ "no_cast_devices_found": "ĐŅĐŧа ĐŊаĐŧĐĩŅ€ĐĩĐŊи ŅƒŅŅ‚Ņ€ĐžĐšŅŅ‚Đ˛Đ° Са ĐŋŅ€ĐĩдаваĐŊĐĩ", "no_checksum_local": "ЛиĐŋŅĐ˛Đ°Ņ‚ ĐēĐžĐŊŅ‚Ņ€ĐžĐģĐŊи ҁ҃Đŧи - ĐŊĐĩ ĐŧĐžĐļĐĩ да ҁĐĩ ĐŋĐžĐģŅƒŅ‡Đ°Ņ‚ ĐģĐžĐēаĐģĐŊи ОйĐĩĐēŅ‚Đ¸", "no_checksum_remote": "ЛиĐŋŅĐ˛Đ°Ņ‚ ĐēĐžĐŊŅ‚Ņ€ĐžĐģĐŊи ҁ҃Đŧи - ĐŊĐĩ ĐŧĐžĐļĐĩ да ҁĐĩ ĐŋĐžĐģŅƒŅ‡Đ°Ņ‚ ОйĐĩĐēŅ‚Đ¸ ĐžŅ‚ ŅŅŠŅ€Đ˛ŅŠŅ€Đ°", + "no_devices": "ĐŅĐŧа ĐžŅ‚ĐžŅ€Đ¸ĐˇĐ¸Ņ€Đ°ĐŊи ŅƒŅŅ‚Ņ€ĐžĐšŅŅ‚Đ˛Đ°", "no_duplicates_found": "НĐĩ ĐąŅŅ…Đ° ĐžŅ‚ĐēŅ€Đ¸Ņ‚Đ¸ Đ´ŅƒĐąĐģиĐēĐ°Ņ‚Đ¸.", "no_exif_info_available": "ĐŅĐŧа exif иĐŊŅ„ĐžŅ€ĐŧĐ°Ņ†Đ¸Ņ", "no_explore_results_message": "ĐšĐ°Ņ‡ĐĩŅ‚Đĩ ĐžŅ‰Đĩ ҁĐŊиĐŧĐēи, Са да Ņ€Đ°ĐˇĐŗĐģĐĩĐ´Đ°Ņ‚Đĩ ĐēĐžĐģĐĩĐēŅ†Đ¸ŅŅ‚Đ° ŅĐ¸.", @@ -1419,6 +1442,7 @@ "no_results_description": "ОĐŋĐ¸Ņ‚Đ°ĐšŅ‚Đĩ ҁҊҁ ŅĐ¸ĐŊĐžĐŊиĐŧ иĐģи ĐŋĐž-ĐžĐąŅ‰Đ° ĐēĐģŅŽŅ‡ĐžĐ˛Đ° Đ´ŅƒĐŧа", "no_shared_albums_message": "ĐĄŅŠĐˇĐ´Đ°ĐšŅ‚Đĩ аĐģĐąŅƒĐŧ, Са да ҁĐŋОдĐĩĐģŅŅ‚Đĩ ҁĐŊиĐŧĐēи и видĐĩĐžĐēĐģиĐŋОвĐĩ ҁ Ņ…ĐžŅ€Đ°Ņ‚Đ° в ĐŧŅ€ĐĩĐļĐ°Ņ‚Đ° ŅĐ¸", "no_uploads_in_progress": "ĐŅĐŧа ĐēĐ°Ņ‡Đ˛Đ°ĐŊĐĩ в ĐŧĐžĐŧĐĩĐŊŅ‚Đ°", + "not_allowed": "НĐĩ Đĩ Ņ€Đ°ĐˇŅ€Đĩ҈ĐĩĐŊĐž", "not_available": "НĐĩĐŊаĐģĐ¸Ņ‡ĐŊĐž", "not_in_any_album": "НĐĩ Đĩ в ĐŊиĐēОК аĐģĐąŅƒĐŧ", "not_selected": "НĐĩ Đĩ Đ¸ĐˇĐąŅ€Đ°ĐŊĐž", @@ -1435,6 +1459,7 @@ "oauth": "OAuth", "obtainium_configurator": "КоĐŊŅ„Đ¸ĐŗŅƒŅ€Đ°Ņ‚ĐžŅ€ Са ĐŋĐžĐģŅƒŅ‡Đ°Đ˛Đ°ĐŊĐĩ", "obtainium_configurator_instructions": "ИСĐŋĐžĐģĐˇĐ˛Đ°ĐšŅ‚Đĩ Obtainium Са иĐŊŅŅ‚Đ°ĐģĐ°Ņ†Đ¸Ņ и ОйĐŊĐžĐ˛ŅĐ˛Đ°ĐŊĐĩ ĐŊа ĐŋŅ€Đ¸ĐģĐžĐļĐĩĐŊиĐĩŅ‚Đž Са Android Đ´Đ¸Ņ€ĐĩĐēŅ‚ĐŊĐž ĐžŅ‚ GitHub ĐŊа Immich. ĐĄŅŠĐˇĐ´Đ°ĐšŅ‚Đĩ API ĐēĐģŅŽŅ‡ и иСйĐĩŅ€ĐĩŅ‚Đĩ Đ˛Đ°Ņ€Đ¸Đ°ĐŊŅ‚ Са да ŅŅŠĐˇĐ´Đ°Đ´ĐĩŅ‚Đĩ Obtainium ĐēĐžĐŊŅ„Đ¸ĐŗŅƒŅ€Đ°Ņ†Đ¸ĐžĐŊĐĩĐŊ ĐģиĐŊĐē", + "ocr": "ОĐŋŅ‚Đ¸Ņ‡ĐŊĐž Ņ€Đ°ĐˇĐŋОСĐŊаваĐŊĐĩ ĐŊа Ņ‚ĐĩĐēҁ҂", "official_immich_resources": "ĐžŅ„Đ¸Ņ†Đ¸Đ°ĐģĐŊа иĐŊŅ„ĐžŅ€ĐŧĐ°Ņ†Đ¸Ņ Са Immich", "offline": "ĐžŅ„ĐģаКĐŊ", "offset": "ĐžŅ‚ĐŧĐĩŅŅ‚Đ˛Đ°ĐŊĐĩ", @@ -1528,6 +1553,8 @@ "photos_count": "{count, plural, one {{count, number} ĐĄĐŊиĐŧĐēа} other {{count, number} ĐĄĐŊиĐŧĐēи}}", "photos_from_previous_years": "ĐĄĐŊиĐŧĐēи ĐžŅ‚ ĐŋŅ€ĐĩĐ´Ņ…ĐžĐ´ĐŊи ĐŗĐžĐ´Đ¸ĐŊи", "pick_a_location": "ИСйĐĩŅ€Đ¸ ĐģĐžĐēĐ°Ņ†Đ¸Ņ", + "pick_custom_range": "ĐŸŅ€ĐžĐ¸ĐˇĐ˛ĐžĐģĐĩĐŊ ĐŋĐĩŅ€Đ¸ĐžĐ´", + "pick_date_range": "ИСйĐĩŅ€ĐĩŅ‚Đĩ ĐŋĐĩŅ€Đ¸ĐžĐ´", "pin_code_changed_successfully": "ĐŖŅĐŋĐĩ҈ĐŊĐž ҁĐŧĐĩĐŊĐĩĐŊ PIN ĐēОд", "pin_code_reset_successfully": "ĐŖŅĐŋĐĩ҈ĐŊĐž ĐŊ҃ĐģĐ¸Ņ€Đ°ĐŊ PIN ĐēОд", "pin_code_setup_successfully": "ĐŖŅĐŋĐĩ҈ĐŊĐž СададĐĩĐŊ PIN ĐēОд", @@ -1539,6 +1566,9 @@ "play_memories": "Đ’ŅŠĐˇĐŋŅ€ĐžĐ¸ĐˇĐ˛ĐĩĐļдаĐŊĐĩ ĐŊа ҁĐŋĐžĐŧĐĩĐŊи", "play_motion_photo": "Đ’ŅŠĐˇĐŋŅ€ĐžĐ¸ĐˇĐ˛Đĩди Motion Photo", "play_or_pause_video": "Đ’ŅŠĐˇĐŋŅ€ĐžĐ¸ĐˇĐ˛ĐĩĐļдаĐŊĐĩ иĐģи ĐŋĐ°ŅƒĐˇĐ° ĐŊа видĐĩĐž", + "play_original_video": "ĐŸŅƒŅĐŊи ĐžŅ€Đ¸ĐŗĐ¸ĐŊаĐģĐŊĐžŅ‚Đž видĐĩĐž", + "play_original_video_setting_description": "ĐŸŅ€ĐĩĐ´ĐŋĐžŅ‡Đ¸Ņ‚Đ°ĐŊĐĩ ĐŊа ĐŋĐžĐēаСваĐŊĐĩ ĐŊа ĐžŅ€Đ¸ĐŗĐ¸ĐŊаĐģĐŊĐžŅ‚Đž видĐĩĐž, вĐŧĐĩŅŅ‚Đž Ņ‚Ņ€Đ°ĐŊҁĐēĐžĐ´Đ¸Ņ€Đ°ĐŊи. АĐēĐž Ņ„ĐžŅ€ĐŧĐ°Ņ‚Đ° ĐŊа ĐžŅ€Đ¸ĐŗĐ¸ĐŊаĐģĐŊĐ¸Ņ Ņ„Đ°ĐšĐģ ĐŊĐĩ ҁĐĩ ĐŋĐžĐ´Đ´ŅŠŅ€Đļа, Đ˛ŅŠĐˇĐŋŅ€ĐžĐ¸ĐˇĐ˛ĐĩĐļдаĐŊĐĩŅ‚Đž ĐŧĐžĐļĐĩ да ĐąŅŠĐ´Đĩ ĐŊĐĩĐŋŅ€Đ°Đ˛Đ¸ĐģĐŊĐž.", + "play_transcoded_video": "ПоĐēаĐļи Ņ‚Ņ€Đ°ĐŊҁĐēĐžĐ´Đ¸Ņ€Đ°ĐŊĐž видĐĩĐž", "please_auth_to_access": "МоĐģŅ, ŅƒĐ´ĐžŅŅ‚ĐžĐ˛ĐĩŅ€Đ¸ Са Đ´ĐžŅŅ‚ŅŠĐŋ", "port": "ĐŸĐžŅ€Ņ‚", "preferences_settings_subtitle": "ĐŖĐŋŅ€Đ°Đ˛ĐģĐĩĐŊиĐĩ ĐŊа ĐŋŅ€ĐĩĐ´ĐŋĐžŅ‡Đ¸Ņ‚Đ°ĐŊĐ¸ŅŅ‚Đ° ĐŊа ĐŋŅ€Đ¸ĐģĐžĐļĐĩĐŊиĐĩŅ‚Đž", @@ -1675,6 +1705,7 @@ "reset_sqlite_confirmation": "ĐĐ°Đ¸ŅŅ‚Đ¸ĐŊа Đģи Đ¸ŅĐēĐ°Ņ‚Đĩ да ĐŊ҃ĐģĐ¸Ņ€Đ°Ņ‚Đĩ ĐąĐ°ĐˇĐ°Ņ‚Đ° даĐŊĐŊи SQLite? ĐŠĐĩ Ņ‚Ņ€ŅĐąĐ˛Đ° да иСĐģĐĩСĐĩŅ‚Đĩ ĐžŅ‚ ŅĐ¸ŅŅ‚ĐĩĐŧĐ°Ņ‚Đ° и да ҁĐĩ вĐŋĐ¸ŅˆĐĩŅ‚Đĩ ĐžŅ‚ĐŊОвО Са ĐŊОва ŅĐ¸ĐŊŅ…Ņ€ĐžĐŊĐ¸ĐˇĐ°Ņ†Đ¸Ņ ĐŊа даĐŊĐŊĐ¸Ņ‚Đĩ", "reset_sqlite_success": "ĐŖŅĐŋĐĩ҈ĐŊĐž ĐŊ҃ĐģĐ¸Ņ€Đ°ĐŊĐĩ ĐŊа ĐąĐ°ĐˇĐ°Ņ‚Đ° даĐŊĐŊи SQLite", "reset_to_default": "Đ’Ņ€ŅŠŅ‰Đ°ĐŊĐĩ ĐŊа Ņ„Đ°ĐąŅ€Đ¸Ņ‡ĐŊи ĐŊĐ°ŅŅ‚Ņ€ĐžĐšĐēи", + "resolution": "Đ ĐĩСОĐģŅŽŅ†Đ¸Ņ", "resolve_duplicates": "Đ ĐĩŅˆĐ¸ Đ´ŅƒĐąĐģиĐēĐ°Ņ‚Đ¸Ņ‚Đĩ", "resolved_all_duplicates": "Đ’ŅĐ¸Ņ‡Đēи Đ´ŅƒĐąĐģиĐēĐ°Ņ‚Đ¸ ŅĐ° Ņ€Đĩ҈ĐĩĐŊи", "restore": "Đ’ŅŠĐˇŅŅ‚Đ°ĐŊĐžĐ˛ŅĐ˛Đ°ĐŊĐĩ", @@ -1693,6 +1724,7 @@ "running": "ИСĐŋҊĐģĐŊŅĐ˛Đ°ĐŊĐĩ", "save": "ЗаĐŋаСи", "save_to_gallery": "ЗаĐŋаСи в ĐŗĐ°ĐģĐĩŅ€Đ¸ŅŅ‚Đ°", + "saved": "ЗаĐŋĐ¸ŅĐ°ĐŊĐž", "saved_api_key": "ЗаĐŋаСĐĩĐŊ API Key", "saved_profile": "ЗаĐŋаСĐĩĐŊ ĐŋŅ€ĐžŅ„Đ¸Đģ", "saved_settings": "ЗаĐŋаСĐĩĐŊи ĐŊĐ°ŅŅ‚Ņ€ĐžĐšĐēи", @@ -1709,6 +1741,9 @@ "search_by_description_example": "Đ Đ°ĐˇŅ…ĐžĐ´Đēа в ХаĐŋа", "search_by_filename": "ĐĸŅŠŅ€ŅĐ¸ ĐŋĐž иĐŧĐĩ ĐŊа Ņ„Đ°ĐšĐģа иĐģи Ņ€Đ°ĐˇŅˆĐ¸Ņ€ĐĩĐŊиĐĩ", "search_by_filename_example": "ĐŊаĐŋŅ€Đ¸ĐŧĐĩŅ€ IMG_1234.JPG иĐģи PNG", + "search_by_ocr": "ĐĸŅŠŅ€ŅĐĩĐŊĐĩ ĐŊа Ņ‚ĐĩĐēҁ҂", + "search_by_ocr_example": "LattĐĩ", + "search_camera_lens_model": "ĐĸŅŠŅ€ŅĐĩĐŊĐĩ ĐŊа ĐŧОдĐĩĐģ ĐŊа ОйĐĩĐēŅ‚Đ¸Đ˛Đ°...", "search_camera_make": "ĐĸŅŠŅ€ŅĐ¸ ĐŋŅ€ĐžĐ¸ĐˇĐ˛ĐžĐ´Đ¸Ņ‚ĐĩĐģ ĐŊа ĐēаĐŧĐĩŅ€Đ°Ņ‚Đ°...", "search_camera_model": "ĐĸŅŠŅ€ŅĐ¸ ĐŧОдĐĩĐģ ĐŊа ĐēаĐŧĐĩŅ€Đ°Ņ‚Đ°...", "search_city": "ĐĸŅŠŅ€ŅĐ¸ ĐŗŅ€Đ°Đ´...", @@ -1725,6 +1760,7 @@ "search_filter_location_title": "ИСйĐĩŅ€Đ¸ ĐŧŅŅŅ‚Đž", "search_filter_media_type": "ĐĸиĐŋ ĐŊа Ņ„Đ°ĐšĐģа", "search_filter_media_type_title": "ИСйĐĩŅ€Đ¸ Ņ‚Đ¸Đŋ ĐŊа Ņ„Đ°ĐšĐģа", + "search_filter_ocr": "ĐĸŅŠŅ€ŅĐĩĐŊĐĩ ĐŊa Ņ‚ĐĩĐēҁ҂", "search_filter_people_title": "ИСйĐĩŅ€Đ¸ Ņ…ĐžŅ€Đ°", "search_for": "ĐĸŅŠŅ€ŅĐ¸ Са", "search_for_existing_person": "ĐĸŅŠŅ€ŅĐ¸ ŅŅŠŅ‰ĐĩŅŅ‚Đ˛ŅƒĐ˛Đ°Ņ‰ Ņ‡ĐžĐ˛ĐĩĐē", @@ -1981,7 +2017,7 @@ "template": "ШайĐģĐžĐŊ", "theme": "ĐĸĐĩĐŧа", "theme_selection": "Đ˜ĐˇĐąĐžŅ€ ĐŊа Ņ‚ĐĩĐŧа", - "theme_selection_description": "ĐĐ˛Ņ‚ĐžĐŧĐ°Ņ‚Đ¸Ņ‡ĐŊĐž СадаваĐŊĐĩ ĐŊа ŅĐ˛ĐĩŅ‚Đģа иĐģи Ņ‚ŅŠĐŧĐŊа Ņ‚ĐĩĐŧа Đ˛ŅŠĐˇ ĐžŅĐŊОва ĐŊа ŅĐ¸ŅŅ‚ĐĩĐŧĐŊĐ¸Ņ‚Đĩ ĐŋŅ€ĐĩĐ´ĐŋĐžŅ‡Đ¸Ņ‚Đ°ĐŊĐ¸Ņ ĐŊа Đ˛Đ°ŅˆĐ¸Ņ ĐąŅ€Đ°ŅƒĐˇŅŠŅ€", + "theme_selection_description": "ĐĐ˛Ņ‚ĐžĐŧĐ°Ņ‚Đ¸Ņ‡ĐŊĐž СадаваĐŊĐĩ ĐŊа ŅĐ˛ĐĩŅ‚Đģа иĐģи Ņ‚ŅŠĐŧĐŊа Ņ‚ĐĩĐŧа ҁĐŋŅ€ŅĐŧĐž ŅĐ¸ŅŅ‚ĐĩĐŧĐŊĐ¸Ņ‚Đĩ ĐŋŅ€ĐĩĐ´ĐŋĐžŅ‡Đ¸Ņ‚Đ°ĐŊĐ¸Ņ ĐŊа ĐąŅ€Đ°ŅƒĐˇŅŠŅ€Đ° ви", "theme_setting_asset_list_storage_indicator_title": "ПоĐēаСваК иĐŊдиĐēĐ°Ņ‚ĐžŅ€ Са Ņ…Ņ€Đ°ĐŊиĐģĐ¸Ņ‰ĐĩŅ‚Đž в ĐˇĐ°ĐŗĐģĐ°Đ˛Đ¸ŅŅ‚Đ° ĐŊа ОйĐĩĐēŅ‚Đ¸Ņ‚Đĩ", "theme_setting_asset_list_tiles_per_row_title": "Đ‘Ņ€ĐžĐš ОйĐĩĐēŅ‚Đ¸ ĐŊа Ņ€ĐĩĐ´ ({count})", "theme_setting_colorful_interface_subtitle": "НаĐŊĐĩŅĐ¸ ĐžŅĐŊОвĐĩĐŊ Ņ†Đ˛ŅŅ‚ Đ˛ŅŠŅ€Ņ…Ņƒ Ņ„ĐžĐŊĐžĐ˛Đ¸Ņ‚Đĩ ĐŋĐžĐ˛ŅŠŅ€Ņ…ĐŊĐžŅŅ‚Đ¸.", @@ -1997,7 +2033,9 @@ "theme_setting_three_stage_loading_title": "ВĐēĐģŅŽŅ‡Đ¸ Ņ‚Ņ€Đ¸-ҁ҂ĐĩĐŋĐĩĐŊĐŊĐž ĐˇĐ°Ņ€ĐĩĐļдаĐŊĐĩ", "they_will_be_merged_together": "ĐĸĐĩ ҉Đĩ ĐąŅŠĐ´Đ°Ņ‚ ОйĐĩдиĐŊĐĩĐŊи", "third_party_resources": "Đ ĐĩŅŅƒŅ€ŅĐ¸ ĐžŅ‚ ҂ҀĐĩŅ‚Đ¸ ŅŅ‚Ņ€Đ°ĐŊи", + "time": "Đ’Ņ€ĐĩĐŧĐĩ", "time_based_memories": "ĐĄĐŋĐžĐŧĐĩĐŊи, ĐąĐ°ĐˇĐ¸Ņ€Đ°ĐŊи ĐŊа Đ˛Ņ€ĐĩĐŧĐĩŅ‚Đž", + "time_based_memories_duration": "ĐŸŅ€ĐžĐ´ŅŠĐģĐļĐ¸Ņ‚ĐĩĐģĐŊĐžŅŅ‚ в ҁĐĩĐē҃ĐŊди Са ĐŋĐžĐēаСваĐŊĐĩ ĐŊа Đ˛ŅŅĐēа ĐēĐ°Ņ€Ņ‚Đ¸ĐŊа.", "timeline": "ĐĨŅ€ĐžĐŊĐžĐģĐžĐŗĐ¸Ņ", "timezone": "Đ§Đ°ŅĐžĐ˛Đ° СОĐŊа", "to_archive": "ĐŅ€Ņ…Đ¸Đ˛Đ¸Ņ€Đ°Đš", @@ -2138,6 +2176,7 @@ "welcome": "Đ”ĐžĐąŅ€Đĩ Đ´ĐžŅˆĐģи", "welcome_to_immich": "Đ”ĐžĐąŅ€Đĩ Đ´ĐžŅˆĐģи в Immich", "wifi_name": "Wi-Fi ĐŧŅ€ĐĩĐļа", + "workflow": "Đ Đ°ĐąĐžŅ‚ĐĩĐŊ ĐŋŅ€ĐžŅ†Đĩҁ", "wrong_pin_code": "Đ“Ņ€Đĩ҈ĐĩĐŊ PIN ĐēОд", "year": "ГодиĐŊа", "years_ago": "ĐŋŅ€Đĩди {years, plural, one {# ĐŗĐžĐ´Đ¸ĐŊа} other {# ĐŗĐžĐ´Đ¸ĐŊи}}", diff --git a/i18n/bi.json b/i18n/bi.json index 58c84f95d9..c5c9edbbb1 100644 --- a/i18n/bi.json +++ b/i18n/bi.json @@ -12,12 +12,28 @@ "add_a_name": "Putem nam blo hem", "add_a_title": "Putem wan name blo hem", "add_exclusion_pattern": "Putem wan paten wae hemi karem aot", - "add_import_path": "Putem wan pat blo import", "add_location": "Putem wan place blo hem", "add_more_users": "Putem mor man", "readonly_mode_enabled": "Mod blo yu no save janjem i on", "reassigned_assets_to_new_person": "Janjem{count, plural, one {# asset} other {# assets}} blo nu man", "reassing_hint": "janjem ol sumtin yu bin joos i go blo wan man", "recent-albums": "album i no old tu mas", - "recent_searches": "lukabout wea i no old tu mas" + "recent_searches": "lukabout wea i no old tu mas", + "time_based_memories_duration": "hao mus second blo wan wan imij i stap lo scrin.", + "timezone": "taemzon", + "to_change_password": "janjem pasword", + "to_login": "Login", + "to_multi_select": "to jusem mani", + "to_parent": "go lo parent", + "to_select": "to selectem", + "to_trash": "toti", + "toggle_settings": "sho settings", + "total": "Total", + "trash": "Toti", + "trash_action_prompt": "{count} igo lo plaes lo toti", + "trash_all": "Putem ol i go lo toti", + "trash_count": "Toti {count, number}", + "trash_emptied": "basket blo toti i empti nomo", + "trash_no_results_message": "Foto mo video lo basket blo toti yu save lukem lo plaes ia.", + "trash_page_delete_all": "Delete oli ol" } diff --git a/i18n/bn.json b/i18n/bn.json index 813aadea7e..0dd2f46726 100644 --- a/i18n/bn.json +++ b/i18n/bn.json @@ -17,7 +17,6 @@ "add_birthday": "āĻāĻ•āϟāĻŋ āϜāĻ¨ā§āĻŽāĻĻāĻŋāύ āϝ⧋āĻ— āĻ•āϰ⧁āύ", "add_endpoint": "āĻāĻ¨ā§āĻĄāĻĒāϝāĻŧ⧇āĻ¨ā§āϟ āϝ⧋āĻ— āĻ•āϰ⧁āύ", "add_exclusion_pattern": "āĻŦāĻšāĻŋāĻ°ā§āĻ­ā§‚āϤāĻ•āϰāĻŖ āύāĻŽā§āύāĻž", - "add_import_path": "āχāĻŽāĻĒā§‹āĻ°ā§āϟ āĻ•āϰāĻžāϰ āĻĒāĻžāĻĨ āϝ⧁āĻ•ā§āϤ āĻ•āϰ⧁āύ", "add_location": "āĻ…āĻŦāĻ¸ā§āĻĨāĻžāύ āϝ⧁āĻ•ā§āϤ āĻ•āϰ⧁āύ", "add_more_users": "āφāϰ⧋ āĻŦā§āϝāĻŦāĻšāĻžāϰāĻ•āĻžāϰ⧀ āϝ⧁āĻ•ā§āϤ āĻ•āϰ⧁āύ", "add_partner": "āĻ…āĻ‚āĻļā§€āĻĻāĻžāϰ āϝ⧋āĻ— āĻ•āϰ⧁āύ", @@ -111,7 +110,6 @@ "jobs_failed": "{jobCount, plural, other {# āĻŦā§āϝāĻ°ā§āĻĨ}}", "library_created": "āϞāĻžāχāĻŦā§āϰ⧇āϰāĻŋ āϤ⧈āϰāĻŋ āĻ•āϰāĻž āĻšāϝāĻŧ⧇āϛ⧇āσ {library}", "library_deleted": "āϞāĻžāχāĻŦā§āϰ⧇āϰāĻŋ āĻŽā§āϛ⧇ āĻĢ⧇āϞāĻž āĻšāϝāĻŧ⧇āϛ⧇", - "library_import_path_description": "āχāĻŽā§āĻĒā§‹āĻ°ā§āϟ/āϝ⧋āĻ— āĻ•āϰāĻžāϰ āϜāĻ¨ā§āϝ āĻāĻ•āϟāĻŋ āĻĢā§‹āĻ˛ā§āĻĄāĻžāϰ āύāĻŋāĻ°ā§āĻĻāĻŋāĻˇā§āϟ āĻ•āϰ⧁āύāĨ¤ āϏāĻžāĻŦāĻĢā§‹āĻ˛ā§āĻĄāĻžāϰ āϏāĻš āĻāχ āĻĢā§‹āĻ˛ā§āĻĄāĻžāϰāϟāĻŋ āĻ›āĻŦāĻŋ āĻāĻŦāĻ‚ āĻ­āĻŋāĻĄāĻŋāĻ“āϰ āϜāĻ¨ā§āϝ āĻ¸ā§āĻ•ā§āϝāĻžāύ āĻ•āϰāĻž āĻšāĻŦ⧇āĨ¤", "library_scanning": "āĻĒāĻ°ā§āϝāĻžāϝāĻŧāĻ•ā§āϰāĻŽāĻŋāĻ• āĻ¸ā§āĻ•ā§āϝāĻžāύāĻŋāĻ‚", "library_scanning_description": "āĻĒāĻ°ā§āϝāĻžāϝāĻŧāĻ•ā§āϰāĻŽāĻŋāĻ• āϞāĻžāχāĻŦā§āϰ⧇āϰāĻŋ āĻ¸ā§āĻ•ā§āϝāĻžāύāĻŋāĻ‚ āĻ•āύāĻĢāĻŋāĻ—āĻžāϰ āĻ•āϰ⧁āύ", "library_scanning_enable_description": "āĻĒāĻ°ā§āϝāĻžāϝāĻŧāĻ•ā§āϰāĻŽāĻŋāĻ• āϞāĻžāχāĻŦā§āϰ⧇āϰāĻŋ āĻ¸ā§āĻ•ā§āϝāĻžāύāĻŋāĻ‚ āϏāĻ•ā§āώāĻŽ āĻ•āϰ⧁āύ", diff --git a/i18n/br.json b/i18n/br.json new file mode 100644 index 0000000000..0967ef424b --- /dev/null +++ b/i18n/br.json @@ -0,0 +1 @@ +{} diff --git a/i18n/ca.json b/i18n/ca.json index d35132d7c4..764bc3d024 100644 --- a/i18n/ca.json +++ b/i18n/ca.json @@ -17,7 +17,6 @@ "add_birthday": "Afegeix la data de naixement", "add_endpoint": "afegir endpoint", "add_exclusion_pattern": "Afegir un patrÃŗ d'exclusiÃŗ", - "add_import_path": "Afegir una ruta d'importaciÃŗ", "add_location": "Afegir la ubicaciÃŗ", "add_more_users": "Afegir mÊs usuaris", "add_partner": "Afegir company/a", @@ -32,6 +31,7 @@ "add_to_album_toggle": "Commutar selecciÃŗ de {album}", "add_to_albums": "Afegir als àlbums", "add_to_albums_count": "Afegir als àlbums ({count})", + "add_to_bottom_bar": "Afegir a", "add_to_shared_album": "Afegir a un àlbum compartit", "add_upload_to_stack": "Afegeix la càrrega a la pila", "add_url": "Afegir URL", @@ -112,7 +112,6 @@ "jobs_failed": "{jobCount, plural, other {# fallides}}", "library_created": "Bilbioteca creada: {library}", "library_deleted": "Bilbioteca eliminada", - "library_import_path_description": "Especifiqueu una carpeta a importar. Aquesta carpeta, incloses les seves subcarpetes, serà escanejada per cercar-hi imatges i vídeos.", "library_scanning": "Escaneig periÃ˛dic", "library_scanning_description": "Configurar l'escaneig periÃ˛dic de bilbioteques", "library_scanning_enable_description": "Habilita l'escaneig periÃ˛dic de biblioteques", @@ -154,6 +153,18 @@ "machine_learning_min_detection_score_description": "La puntuaciÃŗ mínima de confiança per detectar una cara Ês de 0 a 1. Valors mÊs baixos detectaran mÊs cares, perÃ˛ poden donar lloc a falsos positius.", "machine_learning_min_recognized_faces": "Nombre mínim de cares reconegudes", "machine_learning_min_recognized_faces_description": "El nombre mínim de cares reconegudes per crear una persona. Augmentar aquest valor fa que el reconeixement facial sigui mÊs precís, perÃ˛ augmenta la possibilitat que una cara no sigui assignada a una persona.", + "machine_learning_ocr": "OCR", + "machine_learning_ocr_description": "Fes servir machine learning per reconèixer text a imatges", + "machine_learning_ocr_enabled": "Activar OCR", + "machine_learning_ocr_enabled_description": "Si està desactivat, les imatges no seran objecte de reconeixement de text.", + "machine_learning_ocr_max_resolution": "Màxima resoluciÃŗ", + "machine_learning_ocr_max_resolution_description": "Vista prèvia per sobre d'aquesta resoluciÃŗ serà reescalada per preservar la relaciÃŗ d'aspecte. Resolucions altes sÃŗn mÊs precises, perÃ˛ triguen mÊs i gasten mÊs memÃ˛ria.", + "machine_learning_ocr_min_detection_score": "PuntuaciÃŗ mínima de detecciÃŗ", + "machine_learning_ocr_min_detection_score_description": "PuntuaciÃŗ de mínima confiança per la detecciÃŗ del text entre 0-1. Valors baixos detectaran mÊs text pero pot donar falsos positius.", + "machine_learning_ocr_min_recognition_score": "PuntuaciÃŗ mínima de reconeixement", + "machine_learning_ocr_min_score_recognition_description": "PuntuaciÃŗ de confiança mínima pel reconeixement del text entre 0-1. Valors baixos reconeixen mÊs text perÃ˛ pot donar falsos positius.", + "machine_learning_ocr_model": "Model OCR", + "machine_learning_ocr_model_description": "Models de servidor sÃŗn mÊs precisos que els de mÃŗbil, pero triguen mÊs a processar i usen mÊs memÃ˛ria.", "machine_learning_settings": "ConfiguraciÃŗ d'aprenentatge automàtic", "machine_learning_settings_description": "Gestiona funcions i configuraciÃŗ d'aprenentatge automàtic", "machine_learning_smart_search": "Cerca intel¡ligent", @@ -211,6 +222,8 @@ "notification_email_ignore_certificate_errors_description": "Ignora els errors de validaciÃŗ de certificat TLS (no recomanat)", "notification_email_password_description": "Contrasenya per a autenticar-se amb el servidor de correu electrÃ˛nic", "notification_email_port_description": "Port del servidor de correu electrÃ˛nic (p.ex. 25, 465 o 587)", + "notification_email_secure": "SMTPS", + "notification_email_secure_description": "Fes servir SMTPS (SMTP sobre TLS)", "notification_email_sent_test_email_button": "Envia correu de prova i desa", "notification_email_setting_description": "ConfiguraciÃŗ per l'enviament de notificacions per correu electrÃ˛nic", "notification_email_test_email": "Envia correu de prova", @@ -243,6 +256,7 @@ "oauth_storage_quota_default_description": "Quota disponible en GB quan no s'estableixi cap valor (Entreu 0 per a quota il¡limitada).", "oauth_timeout": "Solicitud caducada", "oauth_timeout_description": "Timeout per a sol¡licituds en mil¡lisegons", + "ocr_job_description": "Fes servir machine learning per reconèixer text a les imatges", "password_enable_description": "Inicia sessiÃŗ amb correu electrÃ˛nic i contrasenya", "password_settings": "Inici de sessiÃŗ amb contrasenya", "password_settings_description": "Gestiona la configuraciÃŗ de l'inici de sessiÃŗ amb contrasenya", @@ -402,11 +416,11 @@ "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", + "advanced_settings_proxy_headers_title": "Capçaleres de proxy particulars [EXPERIMENTAL]", "advanced_settings_readonly_mode_subtitle": "Habilita el nomÊs de lectura mode on les fotos poden ser nomÊs vist, a coses els agrada seleccionant imatges mÃēltiples, compartint, càsting, elimina Ês tot discapacitat. Habilita/Desactiva nomÊs de lectura via avatar d'usuari des de la pantalla major", "advanced_settings_readonly_mode_title": "Mode de nomÊs lectura", "advanced_settings_self_signed_ssl_subtitle": "Omet la verificaciÃŗ del certificat SSL del servidor. Requerit per a certificats autosignats.", - "advanced_settings_self_signed_ssl_title": "Permet certificats SSL autosignats", + "advanced_settings_self_signed_ssl_title": "Permet certificats SSL autosignats [EXPERIMENTAL]", "advanced_settings_sync_remote_deletions_subtitle": "Suprimeix o restaura automàticament un actiu en aquest dispositiu quan es realitzi aquesta acciÃŗ al web", "advanced_settings_sync_remote_deletions_title": "Sincronitza les eliminacions remotes", "advanced_settings_tile_subtitle": "ConfiguraciÃŗ avançada de l'usuari", @@ -415,6 +429,7 @@ "age_months": "{months, plural, one {# mes} other {# mesos}}", "age_year_months": "Un any i {months, plural, one {# mes} other {# mesos}}", "age_years": "{years, plural, one {# any} other {# anys}}", + "album": "Àlbum", "album_added": "Àlbum afegit", "album_added_notification_setting_description": "Rep una notificaciÃŗ per correu quan siguis afegit a un àlbum compartit", "album_cover_updated": "Portada de l'àlbum actualitzada", @@ -460,16 +475,21 @@ "allow_edits": "Permet editar", "allow_public_user_to_download": "Permet que l'usuari pÃēblic pugui descarregar", "allow_public_user_to_upload": "Permet que l'usuari pÃēblic pugui carregar", + "allowed": "Permès", "alt_text_qr_code": "Codi QR", "anti_clockwise": "En sentit antihorari", "api_key": "Clau API", "api_key_description": "Aquest valor nomÊs es mostrarà una vegada. Assegureu-vos de copiar-lo abans de tancar la finestra.", "api_key_empty": "El nom de la clau de l'API no pot estar buit", "api_keys": "Claus API", + "app_architecture_variant": "Variant (Arquitectura)", "app_bar_signout_dialog_content": "Estàs segur que vols tancar la sessiÃŗ?", "app_bar_signout_dialog_ok": "Sí", "app_bar_signout_dialog_title": "Tanca la sessiÃŗ", + "app_download_links": "App descarrega enllaços", "app_settings": "ConfiguraciÃŗ de l'app", + "app_stores": "Botiga App", + "app_update_available": "ActualitzaciÃŗ App disponible", "appears_in": "Apareix a", "apply_count": "Aplicar ({count, number})", "archive": "Arxiu", @@ -553,6 +573,7 @@ "backup_albums_sync": "SincronitzaciÃŗ d'àlbums de cÃ˛pia de seguretat", "backup_all": "Tots", "backup_background_service_backup_failed_message": "No s'ha pogut copiar els elements. Tornant a intentarâ€Ļ", + "backup_background_service_complete_notification": "Backup completat d'actius", "backup_background_service_connection_failed_message": "No s'ha pogut connectar al servidor. Tornant a intentarâ€Ļ", "backup_background_service_current_upload_notification": "Pujant {filename}", "backup_background_service_default_notification": "Cercant nous elementsâ€Ļ", @@ -662,6 +683,8 @@ "change_password_description": "Aquesta Ês la primera vegada que inicieu la sessiÃŗ al sistema o s'ha fet una sol¡licitud per canviar la contrasenya. Introduïu la nova contrasenya a continuaciÃŗ.", "change_password_form_confirm_password": "Confirma la contrasenya", "change_password_form_description": "Hola {name},\n\nAquesta Ês la primera vegada que inicies sessiÃŗ al sistema o bÊ s'ha sol¡licitat canviar la teva contrasenya. Si us plau, introdueix la nova contrasenya a continuaciÃŗ.", + "change_password_form_log_out": "Fer fora de tots els altres dispositius", + "change_password_form_log_out_description": "Es recomana fer fora de tots els altres dispositius", "change_password_form_new_password": "Nova contrasenya", "change_password_form_password_mismatch": "Les contrasenyes no coincideixen", "change_password_form_reenter_new_password": "Torna a introduir la nova contrasenya", @@ -739,6 +762,7 @@ "create": "Crea", "create_album": "Crear un àlbum", "create_album_page_untitled": "Sense títol", + "create_api_key": "Crear clau API", "create_library": "Crea una llibreria", "create_link": "Crear enllaç", "create_link_to_share": "Crear enllaç per compartir", @@ -768,6 +792,7 @@ "daily_title_text_date_year": "E, dd MMM, yyyy", "dark": "Fosc", "dark_theme": "Canviar a tema fosc", + "date": "Data", "date_after": "Data posterior a", "date_and_time": "Data i hora", "date_before": "Data anterior a", @@ -870,8 +895,6 @@ "edit_description_prompt": "Si us plau, selecciona una nova descripciÃŗ:", "edit_exclusion_pattern": "Edita patrÃŗ d'exclusiÃŗ", "edit_faces": "Edita les cares", - "edit_import_path": "Edita la ruta d'importaciÃŗ", - "edit_import_paths": "Edita les rutes d'importaciÃŗ", "edit_key": "Edita clau", "edit_link": "Edita enllaç", "edit_location": "Edita ubicaciÃŗ", @@ -943,7 +966,6 @@ "failed_to_stack_assets": "No s'han pogut apilar els elements", "failed_to_unstack_assets": "No s'han pogut desapilar els elements", "failed_to_update_notification_status": "Error en actualitzar l'estat de les notificacions", - "import_path_already_exists": "Aquesta ruta d'importaciÃŗ ja existeix.", "incorrect_email_or_password": "Correu electrÃ˛nic o contrasenya incorrectes", "paths_validation_failed": "{paths, plural, one {# ruta} other {# rutes}} no ha pogut validar", "profile_picture_transparent_pixels": "Les fotos de perfil no poden tenir píxels transparents. Per favor, feu zoom in, mogueu la imatge o ambdues.", @@ -953,7 +975,6 @@ "unable_to_add_assets_to_shared_link": "No s'han pogut afegir els elements a l'enllaç compartit", "unable_to_add_comment": "No es pot afegir el comentari", "unable_to_add_exclusion_pattern": "No s'ha pogut afegir el patrÃŗ d’exclusiÃŗ", - "unable_to_add_import_path": "No s'ha pogut afegir la ruta d'importaciÃŗ", "unable_to_add_partners": "No es poden afegir companys", "unable_to_add_remove_archive": "No s'ha pogut {archived, select, true {eliminar l'element de} other {afegir l'element a}} l'arxiu", "unable_to_add_remove_favorites": "No s'ha pogut {favorite, select, true {afegir l'element als} other {eliminar l'element dels}} preferits", @@ -976,12 +997,10 @@ "unable_to_delete_asset": "No es pot suprimir el recurs", "unable_to_delete_assets": "S'ha produït un error en suprimir recursos", "unable_to_delete_exclusion_pattern": "No es pot suprimir el patrÃŗ d'exclusiÃŗ", - "unable_to_delete_import_path": "No es pot suprimir la ruta d'importaciÃŗ", "unable_to_delete_shared_link": "No es pot suprimir l'enllaç compartit", "unable_to_delete_user": "No es pot eliminar l'usuari", "unable_to_download_files": "No es poden descarregar fitxers", "unable_to_edit_exclusion_pattern": "No es pot editar el patrÃŗ d'exclusiÃŗ", - "unable_to_edit_import_path": "No es pot editar la ruta d'importaciÃŗ", "unable_to_empty_trash": "No es pot buidar la paperera", "unable_to_enter_fullscreen": "No es pot entrar a la pantalla completa", "unable_to_exit_fullscreen": "No es pot sortir de la pantalla completa", @@ -1076,6 +1095,7 @@ "features_setting_description": "Administrar les funcions de l'aplicaciÃŗ", "file_name": "Nom de l'arxiu", "file_name_or_extension": "Nom de l'arxiu o extensiÃŗ", + "file_size": "Mida del fitxer", "filename": "Nom del fitxer", "filetype": "Tipus d'arxiu", "filter": "Filtrar", @@ -1171,6 +1191,8 @@ "import_path": "Ruta d'importaciÃŗ", "in_albums": "A {count, plural, one {# àlbum} other {# àlbums}}", "in_archive": "En arxiu", + "in_year": "En {year}", + "in_year_selector": "En", "include_archived": "Incloure arxivats", "include_shared_albums": "Inclou àlbums compartits", "include_shared_partner_assets": "Incloure elements dels companys", @@ -1207,6 +1229,7 @@ "language_setting_description": "Seleccioneu el vostre idioma", "large_files": "Fitxers Grans", "last": "Últim", + "last_months": "{count, plural, one {Últim mes} other {Últims # mesos}}", "last_seen": "Vist per Ãēltim cop", "latest_version": "Última versiÃŗ", "latitude": "Latitud", @@ -1239,6 +1262,7 @@ "local_media_summary": "Resum de Mitjans Locals", "local_network": "Xarxa local", "local_network_sheet_info": "L'aplicaciÃŗ es connectarà al servidor mitjançant aquest URL quan utilitzeu la xarxa Wi-Fi especificada", + "location": "LocalitzaciÃŗ", "location_permission": "Permís d'ubicaciÃŗ", "location_permission_content": "Per utilitzar la funciÃŗ de canvi automàtic, Immich necessita un permís d'ubicaciÃŗ precisa perquè pugui llegir el nom de la xarxa Wi-Fi actual", "location_picker_choose_on_map": "Escollir en el mapa", @@ -1288,6 +1312,10 @@ "main_menu": "MenÃē principal", "make": "Fabricant", "manage_geolocation": "Gestioneu la vostra ubicaciÃŗ", + "manage_media_access_rationale": "Aquest permís es necessari per a la correcta gestiÃŗ dels actius que es mouen a la paperera i es restauren d'ella.", + "manage_media_access_settings": "ConfiguraciÃŗ oberta", + "manage_media_access_subtitle": "Permet a l'Immich gestionar i moure fitxers multimèdia.", + "manage_media_access_title": "AccÊs a la gestiÃŗ de mitjans", "manage_shared_links": "Administrar enllaços compartits", "manage_sharing_with_partners": "Gestiona la comparticiÃŗ amb els companys", "manage_the_app_settings": "Gestioneu la configuraciÃŗ de l'aplicaciÃŗ", @@ -1344,12 +1372,14 @@ "minutes": "Minuts", "missing": "Restants", "mobile_app": "AplicaciÃŗ mÃ˛bil", + "mobile_app_download_onboarding_note": "Descarregar la App de mÃ˛bil fent servir les seguents opcions", "model": "Model", "month": "Mes", "monthly_title_text_date_format": "MMMM y", "more": "MÊs", "move": "Moure", "move_off_locked_folder": "Moure fora de la carpeta bloquejada", + "move_to": "Moure a", "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", @@ -1363,6 +1393,7 @@ "name": "Nom", "name_or_nickname": "Nom o sobrenom", "navigate": "Navegar", + "navigate_to_time": "Navegar a un punt en el temps", "network_requirement_photos_upload": "Fes servir dades mÃ˛bils per a cÃ˛pies de seguretat de fotos", "network_requirement_videos_upload": "Fes servir dades mÃ˛bils per a cÃ˛pies de seguretat de videos", "network_requirements": "Requeriments de Xarxa", @@ -1372,11 +1403,13 @@ "never": "Mai", "new_album": "Nou Àlbum", "new_api_key": "Nova clau de l'API", + "new_date_range": "Navegar a un reng de dates", "new_password": "Nova contrasenya", "new_person": "Persona nova", "new_pin_code": "Nou codi PIN", "new_pin_code_subtitle": "Aquesta Ês la primera vegada que accedeixes a la carpeta bloquejada. Crea una codi PIN i accedeix de manera segura a aquesta pàgina", "new_timeline": "Nova Línia de Temps", + "new_update": "Nova actualitzaciÃŗ", "new_user_created": "Nou usuari creat", "new_version_available": "NOVA VERSIÓ DISPONIBLE", "newest_first": "El mÊs nou primer", @@ -1392,6 +1425,7 @@ "no_cast_devices_found": "No s'han trobat dispositius per transmetre", "no_checksum_local": "Cap checksum disponible - no s'han pogut carregar els recursos locals", "no_checksum_remote": "Cap checksum disponible - no s'ha pogut obtenir el recurs remot", + "no_devices": "No hi ha dispositius autoritzats", "no_duplicates_found": "No s'han trobat duplicats.", "no_exif_info_available": "No hi ha informaciÃŗ d'exif disponible", "no_explore_results_message": "Penja mÊs fotos per explorar la teva col¡lecciÃŗ.", @@ -1408,6 +1442,7 @@ "no_results_description": "Proveu un sinÃ˛nim o una paraula clau mÊs general", "no_shared_albums_message": "Creeu un àlbum per compartir fotos i vídeos amb persones a la vostra xarxa", "no_uploads_in_progress": "Cap pujada en progrÊs", + "not_allowed": "No permès", "not_available": "N/A", "not_in_any_album": "En cap àlbum", "not_selected": "No seleccionat", @@ -1422,6 +1457,9 @@ "notifications": "Notificacions", "notifications_setting_description": "Gestiona les notificacions", "oauth": "OAuth", + "obtainium_configurator": "Configurador Obtainium", + "obtainium_configurator_instructions": "Utilitza Obtainium per instal¡lar una actualitzaciÃŗ a la app directament des de Github-Immich. Crear una clau API i seleccionar una variant per crear un enllaç a la configuraciÃŗ Obtainium", + "ocr": "OCR", "official_immich_resources": "Recursos oficials d'Immich", "offline": "Fora de línia", "offset": "Diferència", @@ -1515,6 +1553,8 @@ "photos_count": "{count, plural, one {{count, number} Foto} other {{count, number} Fotos}}", "photos_from_previous_years": "Fotos d'anys anteriors", "pick_a_location": "Triar una ubicaciÃŗ", + "pick_custom_range": "Rang personalitzat", + "pick_date_range": "Seleccioni un rang de dates", "pin_code_changed_successfully": "Codi PIN canviat correctament", "pin_code_reset_successfully": "S'ha restablert correctament el codi PIN", "pin_code_setup_successfully": "S'ha configurat correctament un codi PIN", @@ -1526,6 +1566,9 @@ "play_memories": "Reproduir records", "play_motion_photo": "Reproduir Fotos en Moviment", "play_or_pause_video": "Reproduir o posar en pausa el vídeo", + "play_original_video": "Veure el video original", + "play_original_video_setting_description": "Preferir la reproducciÃŗ del video original sobre el video recodificat. Si el video original no es compatible potser no es reprodueixi correctament.", + "play_transcoded_video": "Veure el video recodificat", "please_auth_to_access": "Per favor, autentica't per accedir", "port": "Port", "preferences_settings_subtitle": "Gestiona les preferències de l'aplicaciÃŗ", @@ -1662,6 +1705,7 @@ "reset_sqlite_confirmation": "Segur que vols reiniciar la base de dades SQLite? Hauràs de tancar la sessiÃŗ i tornar a accedir per a resincronitzar les dades", "reset_sqlite_success": "S'ha reiniciat la base de dades correctament", "reset_to_default": "Restableix els valors predeterminats", + "resolution": "ResoluciÃŗ", "resolve_duplicates": "Resoldre duplicats", "resolved_all_duplicates": "Tots els duplicats resolts", "restore": "Recupera", @@ -1680,6 +1724,7 @@ "running": "En execuciÃŗ", "save": "Desa", "save_to_gallery": "Desa a galeria", + "saved": "Guardat", "saved_api_key": "Clau d'API guardada", "saved_profile": "Perfil guardat", "saved_settings": "ConfiguraciÃŗ guardada", @@ -1696,6 +1741,9 @@ "search_by_description_example": "Jornada de senderisme a Sapa", "search_by_filename": "Cerca per nom de fitxer o extensiÃŗ", "search_by_filename_example": "per exemple IMG_1234.JPG o PNG", + "search_by_ocr": "Buscar per OCR", + "search_by_ocr_example": "DesprÊs", + "search_camera_lens_model": "Buscar model de lents....", "search_camera_make": "Buscar per fabricant de càmara...", "search_camera_model": "Buscar per model de càmera...", "search_city": "Buscar per ciutat...", @@ -1712,6 +1760,7 @@ "search_filter_location_title": "Selecciona l'ubicaciÃŗ", "search_filter_media_type": "Tipus de multimèdia", "search_filter_media_type_title": "Selecciona tipus de multimèdia", + "search_filter_ocr": "Buscar per OCR", "search_filter_people_title": "Selecciona persones", "search_for": "Cercar", "search_for_existing_person": "Busca una persona existent", @@ -1984,7 +2033,9 @@ "theme_setting_three_stage_loading_title": "Activa la càrrega en tres etapes", "they_will_be_merged_together": "Es combinaran", "third_party_resources": "Recursos de tercers", + "time": "Temps", "time_based_memories": "Records basats en el temps", + "time_based_memories_duration": "Quants segons es mostrarà cada imatge.", "timeline": "Cronologia", "timezone": "Fus horari", "to_archive": "Arxivar", @@ -2125,6 +2176,7 @@ "welcome": "Benvingut", "welcome_to_immich": "Benvingut a immich", "wifi_name": "Nom Wi-Fi", + "workflow": "Flux de treball", "wrong_pin_code": "Codi PIN incorrecte", "year": "Any", "years_ago": "Fa {years, plural, one {# any} other {# anys}}", diff --git a/i18n/cs.json b/i18n/cs.json index 0f649dac9b..7205926696 100644 --- a/i18n/cs.json +++ b/i18n/cs.json @@ -17,7 +17,6 @@ "add_birthday": "Přidat datum narození", "add_endpoint": "Přidat koncovÃŊ bod", "add_exclusion_pattern": "Přidat vzor vyloučení", - "add_import_path": "Přidat cestu importu", "add_location": "Přidat polohu", "add_more_users": "Přidat dalÅĄÃ­ uÅživatele", "add_partner": "Přidat partnera", @@ -32,6 +31,7 @@ "add_to_album_toggle": "Přepnout vÃŊběr pro {album}", "add_to_albums": "Přidat do alb", "add_to_albums_count": "Přidat do alb ({count})", + "add_to_bottom_bar": "Přidat do", "add_to_shared_album": "Přidat do sdílenÊho alba", "add_upload_to_stack": "Přidat nahranÊ do zÃĄsobníku", "add_url": "Přidat URL", @@ -112,13 +112,17 @@ "jobs_failed": "{jobCount, plural, one {# neÃēspÄ›ÅĄnÃŊ} few {# neÃēspÄ›ÅĄnÊ} other {# neÃēspÄ›ÅĄnÃŊch}}", "library_created": "Vytvořena knihovna: {library}", "library_deleted": "Knihovna smazÃĄna", - "library_import_path_description": "Zadejte sloÅžku, kterou chcete importovat. Tato sloÅžka bude prohledÃĄna včetně podsloÅžek a budou v ní hledÃĄny obrÃĄzky a videa.", + "library_details": "Podrobnosti o knihovně", + "library_folder_description": "Zadejte sloÅžku, kterou chcete importovat. Tato sloÅžka, včetně podsloÅžek, bude prohledÃĄna pro obrÃĄzky a videa.", + "library_remove_exclusion_pattern_prompt": "Opravdu chcete odstranit tento vzor vyloučení?", + "library_remove_folder_prompt": "Opravdu chcete odstranit tuto sloÅžku importu?", "library_scanning": "PravidelnÊ prohledÃĄvÃĄní", "library_scanning_description": "Nastavení pravidelnÊho prohledÃĄvÃĄní knihovny", "library_scanning_enable_description": "Povolit pravidelnÊ prohledÃĄvÃĄní knihovny", "library_settings": "Externí knihovna", "library_settings_description": "SprÃĄva nastavení externí knihovny", "library_tasks_description": "VyhledÃĄvÃĄní novÃŊch nebo změněnÃŊch poloÅžek v externích knihovnÃĄch", + "library_updated": "Knihovna aktualizovÃĄna", "library_watching_enable_description": "Sledovat změny souborů v externích knihovnÃĄch", "library_watching_settings": "SledovÃĄní knihovny [EXPERIMENTÁLNÍ]", "library_watching_settings_description": "AutomatickÊ sledovÃĄní změněnÃŊch souborů", @@ -173,6 +177,10 @@ "machine_learning_smart_search_enabled": "Povolit chytrÊ vyhledÃĄvÃĄní", "machine_learning_smart_search_enabled_description": "Pokud je vypnuto, obrÃĄzky nebudou kÃŗdovÃĄny pro inteligentní vyhledÃĄvÃĄní.", "machine_learning_url_description": "URL serveru strojovÊho učení. Pokud je zadÃĄno více URL adres, budou jednotlivÊ servery zkouÅĄeny postupně, dokud jeden z nich neodpoví ÃēspÄ›ÅĄně, a to v pořadí od prvního k poslednímu. Servery, kterÊ neodpoví, budou dočasně ignorovÃĄny, dokud nebudou opět online.", + "maintenance_settings": "ÚdrÅžba", + "maintenance_settings_description": "Přepnout Immich do reÅžimu ÃēdrÅžby.", + "maintenance_start": "ZahÃĄjit reÅžim ÃēdrÅžby", + "maintenance_start_error": "Nepodařilo se zahÃĄjit reÅžim ÃēdrÅžby.", "manage_concurrency": "SprÃĄva souběŞnosti", "manage_log_settings": "SprÃĄva nastavení protokolu", "map_dark_style": "TmavÃŊ motiv", @@ -430,6 +438,7 @@ "age_months": "{months, plural, one {# měsíc} few {# měsíce} other {# měsíců}}", "age_year_months": "1 rok a {months, plural, one {# měsíc} few {# měsíce} other {# měsíců}}", "age_years": "{years, plural, one {# rok} few {# roky} other {# let}}", + "album": "Album", "album_added": "PřidÃĄno album", "album_added_notification_setting_description": "DostÃĄvat e-mailovÊ oznÃĄmení, kdyÅž jste přidÃĄni do sdílenÊho alba", "album_cover_updated": "Obal alba aktualizovÃĄn", @@ -475,6 +484,7 @@ "allow_edits": "Povolit Ãēpravy", "allow_public_user_to_download": "Povolit veřejnosti stahovat", "allow_public_user_to_upload": "Povolit veřejnosti nahrÃĄvat", + "allowed": "Povoleno", "alt_text_qr_code": "ObrÃĄzek QR kÃŗdu", "anti_clockwise": "Proti směru hodinovÃŊch ručiček", "api_key": "API klíč", @@ -894,8 +904,6 @@ "edit_description_prompt": "Vyberte novÃŊ popis:", "edit_exclusion_pattern": "Upravit vzor vyloučení", "edit_faces": "Upravit obličeje", - "edit_import_path": "Upravit cestu importu", - "edit_import_paths": "Úpravit importní cesty", "edit_key": "Upravit klíč", "edit_link": "Upravit odkaz", "edit_location": "Upravit polohu", @@ -967,8 +975,8 @@ "failed_to_stack_assets": "Nepodařilo se seskupit 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", + "library_folder_already_exists": "Tato importní cesta jiÅž existuje.", "paths_validation_failed": "{paths, plural, one {# cesta neproÅĄla} few {# cesty neproÅĄly} other {# cest neproÅĄlo}} kontrolou", "profile_picture_transparent_pixels": "ProfilovÊ obrÃĄzky nemohou mít průhlednÊ pixely. ObrÃĄzek si prosím zvětÅĄete nebo posuňte.", "quota_higher_than_disk_size": "Nastavili jste kvÃŗtu vyÅĄÅĄÃ­, neÅž je velikost disku", @@ -977,7 +985,6 @@ "unable_to_add_assets_to_shared_link": "Nelze přidat poloÅžky do sdílenÊho odkazu", "unable_to_add_comment": "Nelze přidat komentÃĄÅ™", "unable_to_add_exclusion_pattern": "Nelze přidat vzor vyloučení", - "unable_to_add_import_path": "Nelze přidat cestu importu", "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}}", @@ -1000,12 +1007,10 @@ "unable_to_delete_asset": "Nelze odstranit poloÅžku", "unable_to_delete_assets": "Chyba při odstraňovÃĄní poloÅžek", "unable_to_delete_exclusion_pattern": "Nelze odstranit vzor vyloučení", - "unable_to_delete_import_path": "Nelze odstranit cestu importu", "unable_to_delete_shared_link": "Nepodařilo se odstranit sdílenÃŊ odkaz", "unable_to_delete_user": "Nelze odstranit uÅživatele", "unable_to_download_files": "Nelze stÃĄhnout soubory", "unable_to_edit_exclusion_pattern": "Nelze upravit vzor vyloučení", - "unable_to_edit_import_path": "Nelze upravit cestu importu", "unable_to_empty_trash": "Nelze vyprÃĄzdnit koÅĄ", "unable_to_enter_fullscreen": "Nelze přejít do reÅžimu celÊ obrazovky", "unable_to_exit_fullscreen": "Nelze ukončit zobrazení na celou obrazovku", @@ -1056,6 +1061,7 @@ "unable_to_update_user": "Nelze aktualizovat uÅživatele", "unable_to_upload_file": "Nepodařilo se nahrÃĄt soubor" }, + "exclusion_pattern": "Vzor vyloučení", "exif": "Exif", "exif_bottom_sheet_description": "Přidat popis...", "exif_bottom_sheet_description_error": "Chyba při aktualizaci popisu", @@ -1115,6 +1121,7 @@ "folders_feature_description": "ProchÃĄzení zobrazení sloÅžek s fotografiemi a videi v souborovÊm systÊmu", "forgot_pin_code_question": "Zapomněli jste PIN?", "forward": "Dopředu", + "full_path": "ÚplnÃĄ cesta: {path}", "gcast_enabled": "Google Cast", "gcast_enabled_description": "Tato funkce načítÃĄ externí zdroje z Googlu, aby mohla fungovat.", "general": "ObecnÊ", @@ -1196,6 +1203,8 @@ "import_path": "Cesta importu", "in_albums": "{count, plural, one {V # albu} few {Ve # albech} other {V # albech}}", "in_archive": "V archivu", + "in_year": "V roce {year}", + "in_year_selector": "V roce", "include_archived": "Včetně archivovanÃŊch", "include_shared_albums": "Včetně sdílenÃŊch alb", "include_shared_partner_assets": "Včetně sdílenÃŊch poloÅžek partnera", @@ -1232,6 +1241,7 @@ "language_setting_description": "Vyberte upřednostňovanÃŊ jazyk", "large_files": "VelkÊ soubory", "last": "Poslední", + "last_months": "{count, plural, one {Poslední měsíc} few {Poslední # měsíce} other {Posledních # měsíců}}", "last_seen": "Naposledy viděno", "latest_version": "NejnovějÅĄÃ­ verze", "latitude": "ZeměpisnÃĄ ÅĄÃ­Å™ka", @@ -1241,6 +1251,8 @@ "let_others_respond": "Nechte ostatní reagovat", "level": "Úroveň", "library": "Knihovna", + "library_add_folder": "Přidat sloÅžku", + "library_edit_folder": "Upravit sloÅžku", "library_options": "MoÅžnosti knihovny", "library_page_device_albums": "Alba v zařízení", "library_page_new_album": "NovÊ album", @@ -1312,8 +1324,17 @@ "loop_videos_description": "Povolit automatickou smyčku videa v prohlíŞeči.", "main_branch_warning": "PouŞívÃĄte vÃŊvojovou verzi; důrazně doporučujeme pouŞívat verzi z vydÃĄní!", "main_menu": "Hlavní nabídka", + "maintenance_description": "Immich byl přepnut do reÅžimu ÃēdrÅžby.", + "maintenance_end": "Ukončit reÅžim ÃēdrÅžby", + "maintenance_end_error": "Nepodařilo se ukončit reÅžim ÃēdrÅžby.", + "maintenance_logged_in_as": "AktuÃĄlně přihlÃĄÅĄen jako {user}", + "maintenance_title": "Dočasně nedostupnÊ", "make": "VÃŊrobce", "manage_geolocation": "Spravovat polohu", + "manage_media_access_rationale": "Toto oprÃĄvnění je vyÅžadovÃĄno pro sprÃĄvnÊ zachÃĄzení s přesunem poloÅžek do koÅĄe a jejich obnovovÃĄním z něj.", + "manage_media_access_settings": "Otevřít nastavení", + "manage_media_access_subtitle": "Povolte aplikaci Immich spravovat a přesouvat soubory mÊdií.", + "manage_media_access_title": "Přístup ke sprÃĄvě mÊdií", "manage_shared_links": "Spravovat sdílenÊ odkazy", "manage_sharing_with_partners": "SprÃĄva sdílení s partnery", "manage_the_app_settings": "SprÃĄva nastavení aplikace", @@ -1377,6 +1398,7 @@ "more": "Více", "move": "Přesunout", "move_off_locked_folder": "Přesunout z uzamčenÊ sloÅžky", + "move_to": "Přesunout do", "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", @@ -1406,6 +1428,7 @@ "new_pin_code": "NovÃŊ PIN kÃŗd", "new_pin_code_subtitle": "PoprvÊ přistupujete k uzamčenÊ sloÅžce. Vytvořte si kÃŗd PIN pro bezpečnÃŊ přístup na tuto strÃĄnku", "new_timeline": "NovÃĄ časovÃĄ osa", + "new_update": "NovÃĄ aktualizace", "new_user_created": "Vytvořen novÃŊ uÅživatel", "new_version_available": "NOVÁ VERZE K DISPOZICI", "newest_first": "NejnovějÅĄÃ­ první", @@ -1421,12 +1444,14 @@ "no_cast_devices_found": "Nebyla nalezena ÅžÃĄdnÃĄ zařízení", "no_checksum_local": "Není k dispozici kontrolní součet - nelze načíst místní poloÅžky", "no_checksum_remote": "Není k dispozici kontrolní součet - nelze načíst vzdÃĄlenou poloÅžku", + "no_devices": "ÅŊÃĄdnÃĄ autorizovanÃĄ zařízení", "no_duplicates_found": "Nebyly nalezeny ÅžÃĄdnÊ duplicity.", "no_exif_info_available": "Exif není k dispozici", "no_explore_results_message": "Nahrajte dalÅĄÃ­ fotografie a prozkoumejte svou sbírku.", "no_favorites_message": "Přidejte si oblíbenÊ poloÅžky a rychle najděte svÊ nejlepÅĄÃ­ obrÃĄzky a videa", "no_libraries_message": "Vytvořte si externí knihovnu pro zobrazení fotografií a videí", "no_local_assets_found": "Nebyly nalezeny ÅžÃĄdnÊ místní poloÅžky s tímto kontrolním součtem", + "no_location_set": "Není nastavena poloha", "no_locked_photos_message": "Fotky a videa v uzamčenÊ sloÅžce jsou skrytÊ a při prochÃĄzení nebo vyhledÃĄvÃĄní v knihovně se nezobrazují.", "no_name": "Bez jmÊna", "no_notifications": "ÅŊÃĄdnÃĄ oznÃĄmení", @@ -1437,6 +1462,7 @@ "no_results_description": "Zkuste pouŞít synonymum nebo obecnějÅĄÃ­ klíčovÊ slovo", "no_shared_albums_message": "Vytvořte si album a sdílejte fotografie a videa s lidmi ve svÊ síti", "no_uploads_in_progress": "NeprobíhÃĄ ÅžÃĄdnÊ nahrÃĄvÃĄní", + "not_allowed": "Nepovoleno", "not_available": "Není k dispozici", "not_in_any_album": "Bez alba", "not_selected": "Není vybrÃĄno", @@ -1451,8 +1477,8 @@ "notifications": "OznÃĄmení", "notifications_setting_description": "SprÃĄva oznÃĄmení", "oauth": "OAuth", - "obtainium_configurator": "Obtainium konfigurÃĄtor", - "obtainium_configurator_instructions": "Pomocí Obtainia nainstalujte a aktualizujte aplikaci pro Android přímo z vydÃĄní na Immich GitHubu. Vytvořte API klíč a vyberte variantu pro vytvoření konfiguračního odkazu Obtainia", + "obtainium_configurator": "KonfigurÃĄtor Obtainium", + "obtainium_configurator_instructions": "Pomocí aplikace Obtainium nainstalujte a aktualizujte aplikaci pro Android přímo z vydÃĄní na GitHubu Immich. Vytvořte API klíč a vyberte variantu pro vytvoření konfiguračního odkazu pro Obtainium", "ocr": "OCR", "official_immich_resources": "OficiÃĄlní zdroje Immich", "offline": "Offline", @@ -1547,6 +1573,8 @@ "photos_count": "{count, plural, one {{count, number} fotka} few {{count, number} fotky} other {{count, number} fotek}}", "photos_from_previous_years": "Fotky z předchozích let", "pick_a_location": "Vyberte polohu", + "pick_custom_range": "Vlastní rozsah", + "pick_date_range": "Vyberte rozsah dat", "pin_code_changed_successfully": "PIN kÃŗd byl ÃēspÄ›ÅĄně změněn", "pin_code_reset_successfully": "PIN kÃŗd ÃēspÄ›ÅĄně resetovÃĄn", "pin_code_setup_successfully": "PIN kÃŗd ÃēspÄ›ÅĄně nastaven", @@ -1814,6 +1842,8 @@ "server_offline": "Server offline", "server_online": "Server online", "server_privacy": "Ochrana soukromí serveru", + "server_restarting_description": "Tato strÃĄnka se za chvíli obnoví.", + "server_restarting_title": "Server se restartuje", "server_stats": "Statistiky serveru", "server_update_available": "K dispozici je aktualizace serveru", "server_version": "Verze serveru", @@ -2027,6 +2057,7 @@ "third_party_resources": "Zdroje třetích stran", "time": "Čas", "time_based_memories": "ČasovÊ vzpomínky", + "time_based_memories_duration": "Počet sekund k zobrazení kaÅždÊho obrÃĄzku.", "timeline": "ČasovÃĄ osa", "timezone": "ČasovÊ pÃĄsmo", "to_archive": "Archivovat", @@ -2167,6 +2198,7 @@ "welcome": "Vítejte", "welcome_to_immich": "Vítejte v Immichi", "wifi_name": "NÃĄzev Wi-Fi", + "workflow": "Pracovní postup", "wrong_pin_code": "ChybnÃŊ PIN kÃŗd", "year": "Rok", "years_ago": "Před {years, plural, one {rokem} other {# lety}}", diff --git a/i18n/cv.json b/i18n/cv.json index fe5bb3c2fc..0dde498d08 100644 --- a/i18n/cv.json +++ b/i18n/cv.json @@ -17,7 +17,6 @@ "add_birthday": "ŌĒŅƒŅ€Đ°ĐģĐŊĶ‘ Đē҃ĐŊ Ņ…ŅƒŅˆĶ‘Ņ€", "add_endpoint": "Đ’Ķ—ŌĢĶ—ĐŧĐģĶ— ĐŋĶ‘ĐŊ҇͑ Ņ…ŅƒŅˆĐ°Ņ€", "add_exclusion_pattern": "ĐšĶ‘ĐģĐ°Ņ€ŅĐ° ĐŋĶ‘Ņ€Đ°Ņ…ĐŧаĐģĐģи ĐšĶ—Ņ€ĐēĐĩ Ņ…ŅƒŅˆ", - "add_import_path": "ИĐŧĐŋĐžŅ€Ņ‚ ŌĢ҃ĐģĐŊĐĩ Ņ…ŅƒŅˆ", "add_location": "Đ’Ņ‹Ņ€Ķ‘ĐŊ Ņ…ŅƒŅˆ", "add_more_users": "ĐŖŅĶ‘ŌĢҁĐĩĐŧ ҋ҂ĐģĐ°Ņ€Đ°Ņ… Ņ…ŅƒŅˆ", "add_partner": "ĐœĶ‘ŅˆĶ‘Ņ€ Ņ…ŅƒŅˆ", diff --git a/i18n/da.json b/i18n/da.json index 5bb67dd83d..698951ca28 100644 --- a/i18n/da.json +++ b/i18n/da.json @@ -17,7 +17,6 @@ "add_birthday": "Tilføj en fødselsdag", "add_endpoint": "Tilføj endepunkt", "add_exclusion_pattern": "Tilføj udelukkelsesmønster", - "add_import_path": "Tilføj importsti", "add_location": "Tilføj placering", "add_more_users": "Tilføj flere brugere", "add_partner": "Tilføj partner", @@ -32,6 +31,7 @@ "add_to_album_toggle": "Skift selektion for {album}", "add_to_albums": "Tilføj til albummer", "add_to_albums_count": "Tilføj til albummer({count})", + "add_to_bottom_bar": "Tilføj til", "add_to_shared_album": "Tilføj til delt album", "add_upload_to_stack": "Tilføj upload til stack", "add_url": "Tilføj URL", @@ -112,7 +112,6 @@ "jobs_failed": "{jobCount, plural, one {# fejlet} other {# fejlede}}", "library_created": "Skabte bibliotek: {library}", "library_deleted": "Bibliotek slettet", - "library_import_path_description": "Angiv en mappe, der skal importeres. Denne mappe, inklusive undermapper, vil blive scannet for billeder og videoer.", "library_scanning": "Periodisk scanning", "library_scanning_description": "Konfigurer periodisk biblioteksscanning", "library_scanning_enable_description": "Aktiver periodisk biblioteksscanning", @@ -173,6 +172,10 @@ "machine_learning_smart_search_enabled": "Aktiver smart søgning", "machine_learning_smart_search_enabled_description": "Hvis deaktiveret, vil billeder ikke blive kodet til smart søgning.", "machine_learning_url_description": "URL’en for maskinlÃĻringsserveren. Hvis mere end Ên URL angives, vil hver server blive forsøgt Ên ad gangen, indtil en svarer succesfuldt, i rÃĻkkefølge fra første til sidste. Servere, der ikke svarer, vil midlertidigt blive ignoreret, indtil de kommer online igen.", + "maintenance_settings": "Vedligeholdelse", + "maintenance_settings_description": "SÃĻt Immich i vedligeholdelsestilstand.", + "maintenance_start": "Start vedligeholdelsestilstand", + "maintenance_start_error": "Vedligeholdelsestilstand kunne ikke startes.", "manage_concurrency": "Administrer antallet af samtidige opgaver", "manage_log_settings": "Administrer logindstillinger", "map_dark_style": "Mørk tema", @@ -301,7 +304,7 @@ "storage_template_settings_description": "Administrer mappestrukturen og filnavnet for den uploadede mediefil", "storage_template_user_label": "{label} er brugerens LagringsmÃĻrkat", "system_settings": "Systemindstillinger", - "tag_cleanup_job": "\"Tag\" cleanup", + "tag_cleanup_job": "\"Tag\"-oprydning", "template_email_available_tags": "Du kan bruge følgende variabler i din skabelon: {tags}", "template_email_if_empty": "Hvis skabelonen er tom, vil standard-e-mailen blive brugt.", "template_email_invite_album": "Inviterings albumskabelon", @@ -377,11 +380,11 @@ "transcoding_two_pass_encoding_setting_description": "Transkoder af to omgange for at producere bedre indkodede videoer. NÃĨr den maksimale bitrate er slÃĨet til (som det krÃĻver for at det fungerer med H.264 og HEVC), bruger denne tilstand en bitrateinterval baseret pÃĨ den maksimale birate og ignorerer CRF. For VP9, kan CRF bruges hvis den maksimale bitrate er slÃĨet fra.", "transcoding_video_codec": "Videocodec", "transcoding_video_codec_description": "VP9 har en højere effektivitet og webkompatibilitet, men indkodningen tager lÃĻngere tid. HEVC har lignende ydelse, men har lavere webkompatibilitet og er hurtig at transkode, men giver meget større filer. AV1 er det mest effektive codec, men mangler understøttelse pÃĨ ÃĻldre enheder.", - "trash_enabled_description": "AktivÊr skraldefunktioner", + "trash_enabled_description": "AktivÊr \"Papirkurvs\"-funktioner", "trash_number_of_days": "Antal dage", - "trash_number_of_days_description": "Antal dage aktiver i skraldespanden skal beholdes inden de fjernes permanent", - "trash_settings": "Skraldeindstillinger", - "trash_settings_description": "AdministrÊr skraldeindstillinger", + "trash_number_of_days_description": "Antal dage elementer i papirkurven skal beholdes inden de fjernes permanent", + "trash_settings": "Papirkurvs-indstillinger", + "trash_settings_description": "AdministrÊr papirkurvs-indstillinger", "unlink_all_oauth_accounts": "OphÃĻv link til alle OAuth konti", "unlink_all_oauth_accounts_description": "Husk at fjerne linket til alle OAuth konti før du migrerer til en ny udbyder.", "unlink_all_oauth_accounts_prompt": "Er du sikker pÃĨ, at du vil ophÃĻve link til alle OAuth konti? Dette vil nulstille OAuth ID for hver bruger og kan ikke fortrydes.", @@ -430,6 +433,7 @@ "age_months": "Alder {months, plural, one {# mÃĨned} other {# mÃĨneder}}", "age_year_months": "Alder 1 ÃĨr, {months, plural, one {# mÃĨned} other {# mÃĨneder}}", "age_years": "{years, plural, other {Alder #}}", + "album": "Album", "album_added": "Album tilføjet", "album_added_notification_setting_description": "Modtag en emailnotifikation nÃĨr du bliver tilføjet til en delt album", "album_cover_updated": "Albumcover opdateret", @@ -475,6 +479,7 @@ "allow_edits": "Tillad redigeringer", "allow_public_user_to_download": "Tillad offentlige brugere til at hente", "allow_public_user_to_upload": "Tillad offentlige brugere til at uploade", + "allowed": "Tilladt", "alt_text_qr_code": "QR-kode billede", "anti_clockwise": "Mod uret", "api_key": "API-nøgle", @@ -522,7 +527,7 @@ "asset_offline_description": "Denne eksterne mediefil kan ikke lÃĻngere findes pÃĨ drevet. Kontakt venligst din Immich-administrator for hjÃĻlp.", "asset_restored_successfully": "Elementet blev gendannet succesfuldt", "asset_skipped": "Sprunget over", - "asset_skipped_in_trash": "I skraldespand", + "asset_skipped_in_trash": "I papirkurv", "asset_trashed": "Objekt kasseret", "asset_troubleshoot": "Fejlsøg pÃĨ objekt", "asset_uploaded": "Uploadet", @@ -894,8 +899,6 @@ "edit_description_prompt": "VÃĻlg venligst en ny beskrivelse:", "edit_exclusion_pattern": "RedigÊr udelukkelsesmønster", "edit_faces": "RedigÊr ansigter", - "edit_import_path": "RedigÊr import-sti", - "edit_import_paths": "RedigÊr import-stier", "edit_key": "RedigÊr nøgle", "edit_link": "Rediger link", "edit_location": "Rediger placering", @@ -967,7 +970,6 @@ "failed_to_stack_assets": "Det lykkedes ikke at stable mediefiler", "failed_to_unstack_assets": "Det lykkedes ikke at fjerne gruperingen af mediefiler", "failed_to_update_notification_status": "Kunne ikke uploade notifikations status", - "import_path_already_exists": "Denne importsti findes allerede.", "incorrect_email_or_password": "Forkert email eller kodeord", "paths_validation_failed": "{paths, plural, one {# sti} other {# stier}} slog fejl ved validering", "profile_picture_transparent_pixels": "Profilbilleder kan ikke have gennemsigtige pixels. Zoom venligst ind og/eller flyt billedet.", @@ -977,7 +979,6 @@ "unable_to_add_assets_to_shared_link": "Kan ikke tilføje mediefiler til det delte link", "unable_to_add_comment": "Ikke i stand til at tilføje kommentar", "unable_to_add_exclusion_pattern": "Kunne ikke tilføje udelukkelsesmønster", - "unable_to_add_import_path": "Kunne ikke tilføje importsti", "unable_to_add_partners": "Ikke i stand til at tilføje partnere", "unable_to_add_remove_archive": "Kan Ikke {archived, select, true {fjerne aktiv fra} other {tilføje aktiv til}} Arkiv", "unable_to_add_remove_favorites": "Kan ikke {favorite, select, true {tilføje aktiv til} other {fjerne aktiv fra}} favoritter", @@ -1000,13 +1001,11 @@ "unable_to_delete_asset": "Kan ikke slette mediefil", "unable_to_delete_assets": "Fejl i sletning af mediefiler", "unable_to_delete_exclusion_pattern": "Kunne ikke slette udelukkelsesmønster", - "unable_to_delete_import_path": "Kunne ikke slette importsti", "unable_to_delete_shared_link": "Kunne ikke slette delt link", "unable_to_delete_user": "Ikke i stand til at slette bruger", "unable_to_download_files": "Kan ikke downloade filer", "unable_to_edit_exclusion_pattern": "Kunne ikke redigere udelukkelsesmønster", - "unable_to_edit_import_path": "Kunne ikke redigere importsti", - "unable_to_empty_trash": "Ikke i stand til at tømme skraldespand", + "unable_to_empty_trash": "Ikke i stand til at tømme papirkurv", "unable_to_enter_fullscreen": "Kan ikke aktivere fuldskÃĻrmstilstand", "unable_to_exit_fullscreen": "Kan ikke forlade fuldskÃĻrmstilstand", "unable_to_get_comments_number": "Kan ikke fÃĨ antallet af kommentarer", @@ -1031,7 +1030,7 @@ "unable_to_reset_pin_code": "Kunne ikke nulstille din PIN kode", "unable_to_resolve_duplicate": "Kunne ikke opklare duplikat", "unable_to_restore_assets": "Kunne ikke gendanne medierfil", - "unable_to_restore_trash": "Ikke i stand til at gendanne fra skraldespanden", + "unable_to_restore_trash": "Ikke i stand til at gendanne fra papirkurv", "unable_to_restore_user": "Ikke i stand til at gendanne bruger", "unable_to_save_album": "Ikke i stand til at gemme album", "unable_to_save_api_key": "Kunne ikke gemme API-nøgle", @@ -1196,6 +1195,8 @@ "import_path": "Import-sti", "in_albums": "I {count, plural, one {# album} other {# albummer}}", "in_archive": "I arkiv", + "in_year": "I {year}", + "in_year_selector": "I", "include_archived": "Inkluder arkiveret", "include_shared_albums": "InkludÊr delte albummer", "include_shared_partner_assets": "InkludÊr delte partnermedier", @@ -1232,6 +1233,7 @@ "language_setting_description": "VÃĻlg dit foretrukne sprog", "large_files": "Store filer", "last": "Sidste", + "last_months": "{count, plural, one {Sidste mÃĨned} other {Sidste # mÃĨneder}}", "last_seen": "Sidst set", "latest_version": "Seneste version", "latitude": "Breddegrad", @@ -1312,8 +1314,17 @@ "loop_videos_description": "AktivÊr for at genafspille videoer automatisk i detaljeret visning.", "main_branch_warning": "Du bruger en udviklingsversion; vi anbefaler kraftigt at bruge en udgivelsesversion!", "main_menu": "Hovedmenu", + "maintenance_description": "Immich er blevet sat i vedligeholdelsestilstand.", + "maintenance_end": "Afslut vedligeholdelsestilstand", + "maintenance_end_error": "Vedligeholdelsestilstand kunne ikke afsluttes.", + "maintenance_logged_in_as": "Aktuelt logget ind som {user}", + "maintenance_title": "Midlertidigt UtilgÃĻngelig", "make": "Producent", "manage_geolocation": "Administrer placering", + "manage_media_access_rationale": "Denne tilladelse er pÃĨkrÃĻvet for korrekt hÃĨndtering af flytning af elementer til papirkurven og gendannelse af dem fra den.", + "manage_media_access_settings": "Åben instillinger", + "manage_media_access_subtitle": "Tillad Immich appen at administrere og flytte mediefiler.", + "manage_media_access_title": "Mediestyringsadgang", "manage_shared_links": "HÃĨndter delte links", "manage_sharing_with_partners": "AdministrÊr deling med partnere", "manage_the_app_settings": "Administrer appindstillinger", @@ -1377,12 +1388,13 @@ "more": "Mere", "move": "Flyt", "move_off_locked_folder": "Flyt ud af lÃĨst mappe", + "move_to": "Flyt til", "move_to_lock_folder_action_prompt": "{count} føjet til den lÃĨste mappe", "move_to_locked_folder": "Flyt til lÃĨst mappe", "move_to_locked_folder_confirmation": "Disse billeder og videoer vil blive fjernet fra alle albums, og vil kun vÃĻre synlig fra den lÃĨste mappe", "moved_to_archive": "Flyttede {count, plural, one {# mediefil} other {# mediefiler}} til arkivet", "moved_to_library": "Flyttede {count, plural, one {# mediefil} other {# mediefiler}} til biblioteket", - "moved_to_trash": "Flyttet til skraldespand", + "moved_to_trash": "Flyttet til papirkurv", "multiselect_grid_edit_date_time_err_read_only": "Kan ikke redigere datoen pÃĨ skrivebeskyttet elementer. Springer over", "multiselect_grid_edit_gps_err_read_only": "Kan ikke redigere lokation af skrivebeskyttet elementer. Springer over", "mute_memories": "DÃĻmp minder", @@ -1406,6 +1418,7 @@ "new_pin_code": "Ny PIN kode", "new_pin_code_subtitle": "Dette er første gang du tilgÃĨr den lÃĨste mappe. Lav en PIN kode for sikkert at tilgÃĨ denne side", "new_timeline": "Ny tidslinje", + "new_update": "Ny opdatering", "new_user_created": "Ny bruger oprettet", "new_version_available": "NY VERSION TILGÆNGELIG", "newest_first": "Nyeste først", @@ -1421,6 +1434,7 @@ "no_cast_devices_found": "Ingen Cast-enheder fundet", "no_checksum_local": "Ingen checksum tilgÃĻngelig – kan ikke hente lokale objekter", "no_checksum_remote": "Ingen checksum tilgÃĻngelig – kan ikke hente eksterne objekter", + "no_devices": "Ingen godkendte enheder", "no_duplicates_found": "Ingen duplikater fundet.", "no_exif_info_available": "Ingen tilgÃĻngelig exif information", "no_explore_results_message": "Upload flere billeder for at udforske din samling.", @@ -1437,6 +1451,7 @@ "no_results_description": "Prøv et synonym eller et mere generelt søgeord", "no_shared_albums_message": "Opret et album for at dele billeder og videoer med personer i dit netvÃĻrk", "no_uploads_in_progress": "Ingen upload i gang", + "not_allowed": "Ikke tilladt", "not_available": "ikke tilgÃĻngelig", "not_in_any_album": "Ikke i noget album", "not_selected": "Ikke valgt", @@ -1547,6 +1562,8 @@ "photos_count": "{count, plural, one {{count, number} Billede} other {{count, number} Billeder}}", "photos_from_previous_years": "Billeder fra tidligere ÃĨr", "pick_a_location": "VÃĻlg et sted", + "pick_custom_range": "Brugerdefineret periode", + "pick_date_range": "VÃĻlg et datointerval", "pin_code_changed_successfully": "Ændring af PIN kode vellykket", "pin_code_reset_successfully": "Nulstilling af PIN kode vellykket", "pin_code_setup_successfully": "OpsÃĻtning af PIN kode vellykket", @@ -1718,7 +1735,7 @@ "save_to_gallery": "Gem til galleri", "saved": "Gemt", "saved_api_key": "Gemt API-nøgle", - "saved_profile": "Gemte profil", + "saved_profile": "Gemt profil", "saved_settings": "Gemte indstillinger", "say_something": "Skriv noget", "scaffold_body_error_occurred": "Der opstod en fejl", @@ -1734,7 +1751,7 @@ "search_by_filename": "Søg efter filnavn eller filtypenavn", "search_by_filename_example": "dvs. IMG_1234.JPG eller PNG", "search_by_ocr": "Søg via OCR", - "search_by_ocr_example": "Latte", + "search_by_ocr_example": "Søg efter tekst i dine billeder", "search_camera_lens_model": "Søg objektiv model...", "search_camera_make": "Søg efter kameraproducent...", "search_camera_model": "Søg efter kameramodel...", @@ -1763,7 +1780,7 @@ "search_options": "Søgemuligheder", "search_page_categories": "Kategorier", "search_page_motion_photos": "BevÃĻgelsesbilleder", - "search_page_no_objects": "Ingen elementer er tilgÃĻngelige", + "search_page_no_objects": "Ingen elementinfomation er tilgÃĻngelig", "search_page_no_places": "Ingen placeringsinformation er tilgÃĻngelig", "search_page_screenshots": "SkÃĻrmbilleder", "search_page_search_photos_videos": "Søg i dine billeder og videoer", @@ -1814,6 +1831,8 @@ "server_offline": "Server offline", "server_online": "Server online", "server_privacy": "Serverens privatliv", + "server_restarting_description": "Denne side opdateres om et øjeblik.", + "server_restarting_title": "Serveren genstarter", "server_stats": "Serverstatus", "server_update_available": "Serveropdatering er tilgÃĻngelig", "server_version": "Server version", @@ -1843,10 +1862,10 @@ "setting_notifications_single_progress_title": "Vis detaljeret baggrundsuploadstatus", "setting_notifications_subtitle": "Tilpas dine notifikationsprÃĻferencer", "setting_notifications_total_progress_subtitle": "Samlet uploadstatus (fÃĻrdige/samlet antal elementer)", - "setting_notifications_total_progress_title": "Vis samlet baggrundsuploadstatus", + "setting_notifications_total_progress_title": "Vis samlet baggrunds upload status", "setting_video_viewer_auto_play_subtitle": "Begynd automatisk at afspille videoer, nÃĨr de ÃĨbnes", "setting_video_viewer_auto_play_title": "Automatisk afspilning af videoer", - "setting_video_viewer_looping_title": "Looper", + "setting_video_viewer_looping_title": "Genafspilning", "setting_video_viewer_original_video_subtitle": "NÃĨr der streames video fra serveren, afspil da den originale selv nÃĨr en omkodet udgave er tilgÃĻngelig. Kan føre til buffering. Videoer, der er tilgÃĻngelige lokalt, afspilles i original kvalitet uanset denne indstilling.", "setting_video_viewer_original_video_title": "Tving original video", "settings": "Indstillinger", @@ -1902,7 +1921,7 @@ "shared_link_info_chip_metadata": "EXIF", "shared_link_manage_links": "HÃĨndter delte links", "shared_link_options": "Muligheder for delt link", - "shared_link_password_description": "KrÃĻv et kodeord for at fÃĨ adgang til dette delte link", + "shared_link_password_description": "Kodeord krÃĻvet for at fÃĨ adgang til dette delte link", "shared_links": "Delte links", "shared_links_description": "Del billeder og videoer med et link", "shared_photos_and_videos_count": "{assetCount, plural, other {# delte billeder & videoer.}}", @@ -1935,8 +1954,8 @@ "show_search_options": "Vis søgeindstillinger", "show_shared_links": "Vis delte links", "show_slideshow_transition": "Vis overgang til diasshow", - "show_supporter_badge": "SupportermÃĻrke", - "show_supporter_badge_description": "Vis et supportermÃĻrke", + "show_supporter_badge": "Supporter skilt", + "show_supporter_badge_description": "Vis et supporter ikon", "show_text_search_menu": "Vis tekstsøgningsmenu", "shuffle": "Bland", "sidebar": "SidebjÃĻlke", @@ -1971,7 +1990,7 @@ "start_date_before_end_date": "Startdato skal ligge før slutdato", "state": "Stat", "status": "Status", - "stop_casting": "Stop støbning", + "stop_casting": "Stop casting", "stop_motion_photo": "Stopmotionbillede", "stop_photo_sharing": "Stop med at dele dine billeder?", "stop_photo_sharing_description": "{partner} vil ikke lÃĻngere kunne tilgÃĨ dine billeder.", @@ -2027,17 +2046,18 @@ "third_party_resources": "Tredjepartsressourcer", "time": "Tid", "time_based_memories": "Tidsbaserede minder", + "time_based_memories_duration": "Antal sekunder, hvert billede skal vises.", "timeline": "Tidslinje", "timezone": "Tidszone", "to_archive": "ArkivÊr", "to_change_password": "Skift adgangskode", "to_favorite": "Gør til favorit", "to_login": "Login", - "to_multi_select": "For at vÃĻlge flere", - "to_parent": "GÃĨ op", + "to_multi_select": "for at vÃĻlge flere", + "to_parent": "GÃĨ et niveau op", "to_select": "for at vÃĻlge", "to_trash": "Papirkurv", - "toggle_settings": "SlÃĨ indstillinger til eller fra", + "toggle_settings": "Skift indstillinger", "total": "Total", "total_usage": "Samlet forbrug", "trash": "Papirkurv", @@ -2054,13 +2074,13 @@ "trash_page_restore_all": "Gendan alt", "trash_page_select_assets_btn": "VÃĻlg elementer", "trash_page_title": "Papirkurv ({count})", - "trashed_items_will_be_permanently_deleted_after": "Mediefiler i skraldespanden vil blive slettet permanent efter {days, plural, one {# dag} other {# dage}}.", + "trashed_items_will_be_permanently_deleted_after": "Mediefiler i papirkurven vil blive slettet permanent efter {days, plural, one {# dag} other {# dage}}.", "troubleshoot": "Fejlfinding", "type": "Type", "unable_to_change_pin_code": "Kunne ikke ÃĻndre PIN kode", "unable_to_check_version": "Kan ikke tjekke app- eller serverversion", "unable_to_setup_pin_code": "Kunne ikke sÃĻtte PIN kode", - "unarchive": "AfakivÊr", + "unarchive": "Af AkivÊr", "unarchive_action_prompt": "{count} slettet fra Arkiv", "unarchived_count": "{count, plural, other {Uarkiveret #}}", "undo": "Fortryd", @@ -2167,6 +2187,7 @@ "welcome": "Velkommen", "welcome_to_immich": "Velkommen til Immich", "wifi_name": "Wi-Fi navn", + "workflow": "Arbejdsproces", "wrong_pin_code": "Forkert PIN kode", "year": "År", "years_ago": "{years, plural, one {# ÃĨr} other {# ÃĨr}} siden", diff --git a/i18n/de.json b/i18n/de.json index 0cae9c0762..fc6270b138 100644 --- a/i18n/de.json +++ b/i18n/de.json @@ -17,7 +17,6 @@ "add_birthday": "Geburtsdatum hinzufÃŧgen", "add_endpoint": "Endpunkt hinzufÃŧgen", "add_exclusion_pattern": "Ausschlussmuster hinzufÃŧgen", - "add_import_path": "Importpfad hinzufÃŧgen", "add_location": "Standort hinzufÃŧgen", "add_more_users": "Weitere Nutzer hinzufÃŧgen", "add_partner": "Partner hinzufÃŧgen", @@ -112,7 +111,6 @@ "jobs_failed": "{jobCount, plural, other {# fehlgeschlagen}}", "library_created": "Bibliothek erstellt: {library}", "library_deleted": "Bibliothek gelÃļscht", - "library_import_path_description": "Gib einen Ordner fÃŧr den Import an. Dieser Ordner, einschließlich der Unterordner, wird nach Bildern und Videos durchsucht.", "library_scanning": "Periodisches Scannen", "library_scanning_description": "Regelmäßiges Durchsuchen der Bibliothek einstellen", "library_scanning_enable_description": "Regelmäßiges Scannen der Bibliothek aktivieren", @@ -150,7 +148,7 @@ "machine_learning_max_detection_distance_description": "Maximaler Unterschied zwischen zwei Bildern, um sie als Duplikate zu betrachten, im Bereich von 0,001-0,1. Bei hÃļheren Werten werden mehr Duplikate erkannt, aber es kann zu falsch-positiven Ergebnissen kommen.", "machine_learning_max_recognition_distance": "Maximaler Erkennungsabstand", "machine_learning_max_recognition_distance_description": "Maximaler Abstand zwischen zwei Gesichtern, die als dieselbe Person angesehen werden, von 0-2. Ein niedrigerer Wert kann verhindern, dass zwei Personen als dieselbe Person eingestuft werden, während ein hÃļherer Wert verhindern kann, dass ein und dieselbe Person als zwei verschiedene Personen eingestuft wird. Bitte beachte dabei, dass es einfacher ist, zwei Personen zu verschmelzen, als eine Person in zwei zu teilen, also wähle nach MÃļglichkeit einen niedrigeren Schwellenwert.", - "machine_learning_min_detection_score": "Minimale Erkennungsrate", + "machine_learning_min_detection_score": "Mindest-Erkennungs Wert", "machine_learning_min_detection_score_description": "Minimale Konfidenzrate fÃŧr die Erkennung eines Gesichts von 0-1. Bei niedrigeren Werten werden mehr Gesichter erkannt, aber es kann zu falsch-positiven Ergebnissen kommen.", "machine_learning_min_recognized_faces": "Mindestens erkannte Gesichter", "machine_learning_min_recognized_faces_description": "Die Mindestanzahl von erkannten Gesichtern, damit eine Person erstellt werden kann. Eine ErhÃļhung dieses Wertes macht die Gesichtserkennung präziser, erhÃļht aber die Wahrscheinlichkeit, dass ein Gesicht nicht zu einer Person zugeordnet wird.", @@ -162,7 +160,7 @@ "machine_learning_ocr_max_resolution_description": "Vorschauen Ãŧber dieser AuflÃļsung werden unter Beibehaltung des Seitenverhältnisses verkleinert. HÃļhere Werte sind genauer, benÃļtigen jedoch mehr Zeit fÃŧr die Verarbeitung und verbrauchen mehr Speicher.", "machine_learning_ocr_min_detection_score": "Minimaler Erkennungswert", "machine_learning_ocr_min_detection_score_description": "Minimale Konfidenzrate fÃŧr die Texterkennung von 0–1. Niedrigere Werte fÃŧhren dazu, dass mehr Text erkannt wird, kÃļnnen jedoch zu falsch-positiven Ergebnissen fÃŧhren.", - "machine_learning_ocr_min_recognition_score": "Minimale Erkennungsrate", + "machine_learning_ocr_min_recognition_score": "Mindest-Erkennungswert", "machine_learning_ocr_min_score_recognition_description": "Minimale Konfidenzrate fÃŧr die Erkennung von erkanntem Text von 0–1. Niedrigere Werte fÃŧhren dazu, dass mehr Text erkannt wird, kÃļnnen jedoch zu falsch-positiven Ergebnissen fÃŧhren.", "machine_learning_ocr_model": "OCR Modell", "machine_learning_ocr_model_description": "Server Modelle sind genauer als mobile Modelle, brauchen aber länger zur Verarbeitung und brauchen mehr Speicher.", @@ -475,6 +473,7 @@ "allow_edits": "Bearbeiten erlauben", "allow_public_user_to_download": "Erlaube Ãļffentlichen Benutzern, herunterzuladen", "allow_public_user_to_upload": "Erlaube Ãļffentlichen Benutzern, hochzuladen", + "allowed": "Erlaubt", "alt_text_qr_code": "QR-Code Bild", "anti_clockwise": "Gegen den Uhrzeigersinn", "api_key": "API-SchlÃŧssel", @@ -894,8 +893,6 @@ "edit_description_prompt": "Bitte wähle eine neue Beschreibung:", "edit_exclusion_pattern": "Ausschlussmuster bearbeiten", "edit_faces": "Gesichter bearbeiten", - "edit_import_path": "Importpfad bearbeiten", - "edit_import_paths": "Importpfade bearbeiten", "edit_key": "SchlÃŧssel bearbeiten", "edit_link": "Link bearbeiten", "edit_location": "Standort bearbeiten", @@ -967,7 +964,6 @@ "failed_to_stack_assets": "Dateien konnten nicht gestapelt werden", "failed_to_unstack_assets": "Dateien konnten nicht entstapelt werden", "failed_to_update_notification_status": "Benachrichtigungsstatus aktualisieren fehlgeschlagen", - "import_path_already_exists": "Dieser Importpfad existiert bereits.", "incorrect_email_or_password": "UngÃŧltige E-Mail oder Passwort", "paths_validation_failed": "{paths, plural, one {# Pfad konnte} other {# Pfade konnten}} nicht validiert werden", "profile_picture_transparent_pixels": "Profilbilder dÃŧrfen keine transparenten Pixel haben. Bitte zoome heran und/oder verschiebe das Bild.", @@ -977,7 +973,6 @@ "unable_to_add_assets_to_shared_link": "Datei konnte nicht zum geteilten Link hinzugefÃŧgt werden", "unable_to_add_comment": "Es kann kein Kommentar hinzufÃŧgt werden", "unable_to_add_exclusion_pattern": "Ausschlussmuster konnte nicht hinzugefÃŧgt werden", - "unable_to_add_import_path": "Importpfad konnte nicht hinzugefÃŧgt werden", "unable_to_add_partners": "Es kÃļnnen keine Partner hinzufÃŧgt werden", "unable_to_add_remove_archive": "Datei konnte nicht {archived, select, true {aus dem Archiv entfernt} other {zum Archiv hinzugefÃŧgt}} werden", "unable_to_add_remove_favorites": "Datei konnte nicht {favorite, select, true {von den Favoriten entfernt} other {zu den Favoriten hinzugefÃŧgt}} werden", @@ -1000,12 +995,10 @@ "unable_to_delete_asset": "Datei konnte nicht gelÃļscht werden", "unable_to_delete_assets": "Fehler beim LÃļschen von Dateien", "unable_to_delete_exclusion_pattern": "Ausschlussmuster konnte nicht gelÃļscht werden", - "unable_to_delete_import_path": "Importpfad konnte nicht gelÃļscht werden", "unable_to_delete_shared_link": "Geteilter Link kann nicht gelÃļscht werden", "unable_to_delete_user": "Nutzer konnte nicht gelÃļscht werden", "unable_to_download_files": "Dateien konnten nicht heruntergeladen werden", "unable_to_edit_exclusion_pattern": "Ausschlussmuster konnte nicht bearbeitet werden", - "unable_to_edit_import_path": "Importpfad konnte nicht bearbeitet werden", "unable_to_empty_trash": "Papierkorb konnte nicht geleert werden", "unable_to_enter_fullscreen": "Vollbildmodus kann nicht aktiviert werden", "unable_to_exit_fullscreen": "Vollbildmodus kann nicht deaktiviert werden", @@ -1196,6 +1189,8 @@ "import_path": "Importpfad", "in_albums": "In {count, plural, one {# Album} other {# Alben}}", "in_archive": "Im Archiv", + "in_year": "Im Jahr {year}", + "in_year_selector": "Im Jahr", "include_archived": "Archivierte Dateien einbeziehen", "include_shared_albums": "Freigegebene Alben einbeziehen", "include_shared_partner_assets": "Geteilte Partner-Dateien mit einbeziehen", @@ -1232,6 +1227,7 @@ "language_setting_description": "Wähle deine bevorzugte Sprache", "large_files": "Große Dateien", "last": "Letzte", + "last_months": "{count, plural, one {Letzter Monat} other {Letzte # Monate}}", "last_seen": "Zuletzt gesehen", "latest_version": "Aktuelle Version", "latitude": "Breitengrad", @@ -1301,7 +1297,7 @@ "login_form_server_empty": "Serveradresse eingeben.", "login_form_server_error": "Es Konnte sich nicht mit dem Server verbunden werden.", "login_has_been_disabled": "Die Anmeldung wurde deaktiviert.", - "login_password_changed_error": "Fehler beim Ändern deines Passwort", + "login_password_changed_error": "Fehler beim Ändern deines Passwortes", "login_password_changed_success": "Passwort erfolgreich geändert", "logout_all_device_confirmation": "Bist du sicher, dass du alle Geräte abmelden willst?", "logout_this_device_confirmation": "Bist du sicher, dass du dieses Gerät abmelden willst?", @@ -1314,6 +1310,10 @@ "main_menu": "HauptmenÃŧ", "make": "Marke", "manage_geolocation": "Standort verwalten", + "manage_media_access_rationale": "Diese Berechtigung wird benÃļtigt, um Dateien ordnungsgemäß in den Papierkorb schieben und daraus wiederherstellen zu kÃļnnen.", + "manage_media_access_settings": "Einstellungen Ãļffnen", + "manage_media_access_subtitle": "Erlaube Immich, Mediendateien zu verwalten und zu verschieben.", + "manage_media_access_title": "Verwaltung von Mediendateien", "manage_shared_links": "Freigegebene Links verwalten", "manage_sharing_with_partners": "Gemeinsame Nutzung mit Partnern verwalten", "manage_the_app_settings": "App-Einstellungen verwalten", @@ -1361,7 +1361,7 @@ "menu": "MenÃŧ", "merge": "ZusammenfÃŧhren", "merge_people": "Personen zusammenfÃŧhren", - "merge_people_limit": "Du kannst nur bis zu 5 Gesichter auf einmal zusammenfÃŧhren", + "merge_people_limit": "Du kannst maximal 5 Gesichter auf einmal zusammenfÃŧhren", "merge_people_prompt": "Willst du diese Personen zusammenfÃŧhren? Diese Aktion kann nicht rÃŧckgängig gemacht werden.", "merge_people_successfully": "Personen erfolgreich zusammengefÃŧhrt", "merged_people_count": "{count, plural, one {# Person} other {# Personen}} zusammengefÃŧgt", @@ -1377,6 +1377,7 @@ "more": "Mehr", "move": "Verschieben", "move_off_locked_folder": "Aus dem gesperrten Ordner verschieben", + "move_to": "Verschieben nach", "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", @@ -1406,6 +1407,7 @@ "new_pin_code": "Neuer PIN-Code", "new_pin_code_subtitle": "Dies ist dein erster Zugriff auf den gesperrten Ordner. Erstelle einen PIN-Code fÃŧr den sicheren Zugriff auf diese Seite", "new_timeline": "Neue Zeitleiste", + "new_update": "Neues Update", "new_user_created": "Neuer Benutzer wurde erstellt", "new_version_available": "NEUE VERSION VERFÜGBAR", "newest_first": "Neueste zuerst", @@ -1421,6 +1423,7 @@ "no_cast_devices_found": "Keine Geräte zum Übertragen gefunden", "no_checksum_local": "PrÃŧfsumme nicht verfÃŧgbar - kann lokale Datei/en nicht laden", "no_checksum_remote": "PrÃŧfsumme nicht verfÃŧgbar - kann entfernte Datei/en nicht laden", + "no_devices": "Keine verwendeten Geräte", "no_duplicates_found": "Es wurden keine Duplikate gefunden.", "no_exif_info_available": "Keine EXIF-Informationen vorhanden", "no_explore_results_message": "Lade weitere Fotos hoch, um deine Sammlung zu erkunden.", @@ -1437,6 +1440,7 @@ "no_results_description": "Versuche es mit einem Synonym oder einem allgemeineren Stichwort", "no_shared_albums_message": "Erstelle ein Album, um Fotos und Videos mit Personen in deinem Netzwerk zu teilen", "no_uploads_in_progress": "Kein Upload in Bearbeitung", + "not_allowed": "Nicht erlaubt", "not_available": "N/A", "not_in_any_album": "In keinem Album", "not_selected": "Nicht ausgewählt", @@ -1547,6 +1551,8 @@ "photos_count": "{count, plural, one {{count, number} Foto} other {{count, number} Fotos}}", "photos_from_previous_years": "Fotos von vorherigen Jahren", "pick_a_location": "Wähle einen Ort", + "pick_custom_range": "Benutzerdefinierter Zeitraum", + "pick_date_range": "Wähle einen Zeitraum", "pin_code_changed_successfully": "PIN-Code erfolgreich geändert", "pin_code_reset_successfully": "PIN-Code erfolgreich zurÃŧckgesetzt", "pin_code_setup_successfully": "PIN-Code erfolgreich festgelegt", @@ -2027,6 +2033,7 @@ "third_party_resources": "Drittanbieter-Quellen", "time": "Zeit", "time_based_memories": "Zeitbasierte Erinnerungen", + "time_based_memories_duration": "Anzahl der Sekunden, die jedes Bild angezeigt wird.", "timeline": "Zeitleiste", "timezone": "Zeitzone", "to_archive": "Archivieren", diff --git a/i18n/el.json b/i18n/el.json index 0ff48a02ba..ffe33c6d02 100644 --- a/i18n/el.json +++ b/i18n/el.json @@ -17,7 +17,6 @@ "add_birthday": "Î ĪÎŋĪƒÎ¸ÎŽÎēΡ ÎŗÎĩÎŊÎĩθÎģÎ¯Ī‰ÎŊ", "add_endpoint": "Î ĪÎŋĪƒÎ¸ÎŽÎēΡ Ī„ÎĩÎģΚÎēÎŋĪ ĪƒÎˇÎŧÎĩίÎŋĪ…", "add_exclusion_pattern": "Î ĪÎŋĪƒÎ¸ÎŽÎēΡ ÎŧÎŋĪ„Î¯Î˛ÎŋĪ… ÎąĪ€ÎŋÎēÎģÎĩÎšĪƒÎŧÎŋĪ", - "add_import_path": "Î ĪÎŋĪƒÎ¸ÎŽÎēΡ ÎŧÎŋÎŊÎŋĪ€ÎąĪ„ÎšÎŋĪ ÎĩÎšĪƒÎąÎŗĪ‰ÎŗÎŽĪ‚", "add_location": "Î ĪÎŋĪƒÎ¸ÎŽÎēΡ Ī„ÎŋĪ€ÎŋθÎĩĪƒÎ¯ÎąĪ‚", "add_more_users": "Î ĪÎŋĪƒÎ¸ÎŽÎēΡ ÎĩĪ€ÎšĪ€ÎģέÎŋÎŊ Ī‡ĪÎˇĪƒĪ„ĪŽÎŊ", "add_partner": "Î ĪÎŋĪƒÎ¸ÎŽÎēΡ ĪƒĪ…ÎŊÎĩĪÎŗÎŦĪ„Îˇ", @@ -112,7 +111,6 @@ "jobs_failed": "{jobCount, plural, one {# ÎąĪ€Î­Ī„Ī…Ī‡Îĩ} other {# ÎąĪ€Î­Ī„Ī…Ī‡ÎąÎŊ}}", "library_created": "ΔηÎŧΚÎŋĪ…ĪÎŗÎŽÎ¸ÎˇÎēÎĩ Ρ βΚβÎģΚÎŋθΎÎēΡ: {library}", "library_deleted": "Η βΚβÎģΚÎŋθΎÎēΡ Î´ÎšÎąÎŗĪÎŦĪ†ÎˇÎēÎĩ", - "library_import_path_description": "ΚαθÎŋĪÎ¯ĪƒĪ„Îĩ έÎŊÎąÎŊ ΆÎŦÎēÎĩÎģÎŋ ÎŗÎšÎą ÎĩÎšĪƒÎąÎŗĪ‰ÎŗÎŽ. Î‘Ī…Ī„ĪŒĪ‚ Îŋ ΆÎŦÎēÎĩÎģÎŋĪ‚, ĪƒĪ…ÎŧĪ€ÎĩĪÎšÎģÎąÎŧβιÎŊÎŋÎŧέÎŊΉÎŊ ΄ΉÎŊ Ī…Ī€ÎŋĪ†ÎąÎēέÎģΉÎŊ Ī„ÎŋĪ…, θι ĪƒÎąĪĪ‰Î¸Îĩί ÎŗÎšÎą ÎĩΚÎēΌÎŊÎĩĪ‚ ÎēιΚ Î˛Î¯ÎŊĪ„ÎĩÎŋ.", "library_scanning": "ΠÎĩĪÎšÎŋδΚÎēÎŽ ÎŖÎŦĪĪ‰ĪƒÎˇ", "library_scanning_description": "ÎĄĪÎ¸ÎŧÎšĪƒÎˇ Ī€ÎĩĪÎšÎŋδΚÎēÎŽĪ‚ ΃ÎŦĪĪ‰ĪƒÎˇĪ‚ βΚβÎģΚÎŋθΎÎēÎˇĪ‚", "library_scanning_enable_description": "ΕÎŊÎĩĪÎŗÎŋĪ€ÎŋÎ¯ÎˇĪƒÎˇ Ī€ÎĩĪÎšÎŋδΚÎēÎŽĪ‚ ΃ÎŦĪĪ‰ĪƒÎˇĪ‚ βΚβÎģΚÎŋθΎÎēÎˇĪ‚", @@ -873,8 +871,6 @@ "edit_description_prompt": "Î ÎąĪÎąÎēÎąÎģĪŽ ÎĩĪ€ÎšÎģÎ­ÎžĪ„Îĩ ÎŊέι Ī€ÎĩĪÎšÎŗĪÎąĪ†ÎŽ:", "edit_exclusion_pattern": "Î•Ī€ÎĩΞÎĩĪÎŗÎąĪƒÎ¯Îą ÎŧÎŋĪ„Î¯Î˛ÎŋĪ… ÎąĪ€ÎŋÎēÎģÎĩÎšĪƒÎŧÎŋĪ", "edit_faces": "Î•Ī€ÎĩΞÎĩĪÎŗÎąĪƒÎ¯Îą ΀΁ÎŋĪƒĪŽĪ€Ī‰ÎŊ", - "edit_import_path": "Î•Ī€ÎĩΞÎĩĪÎŗÎąĪƒÎ¯Îą Î´ÎšÎąÎ´ĪÎŋÎŧÎŽĪ‚ ÎĩÎšĪƒÎąÎŗĪ‰ÎŗÎŽĪ‚", - "edit_import_paths": "Î•Ī€ÎĩΞÎĩĪÎŗÎąĪƒÎ¯Îą Î”ÎšÎąÎ´ĪÎŋÎŧĪŽÎŊ Î•ÎšĪƒÎąÎŗĪ‰ÎŗÎŽĪ‚", "edit_key": "Î•Ī€ÎĩΞÎĩĪÎŗÎąĪƒÎ¯Îą ÎēÎģÎĩΚδΚÎŋĪ", "edit_link": "Î•Ī€ÎĩΞÎĩĪÎŗÎąĪƒÎ¯Îą ĪƒĪ…ÎŊÎ´Î­ĪƒÎŧÎŋĪ…", "edit_location": "Î•Ī€ÎĩΞÎĩĪÎŗÎąĪƒÎ¯Îą Ī„ÎŋĪ€ÎŋθÎĩĪƒÎ¯ÎąĪ‚", @@ -946,7 +942,6 @@ "failed_to_stack_assets": "Î‘Ī€ÎŋĪ„Ī…Ī‡Î¯Îą ĪƒĪ„ÎˇÎŊ ĪƒĪ…ÎŧĪ€Î¯ÎĩĪƒÎˇ ΄ΉÎŊ ĪƒĪ„ÎŋÎšĪ‡ÎĩÎ¯Ī‰ÎŊ", "failed_to_unstack_assets": "Î‘Ī€ÎŋĪ„Ī…Ī‡Î¯Îą ĪƒĪ„ÎˇÎŊ ÎąĪ€ÎŋĪƒĪ…ÎŧĪ€Î¯ÎĩĪƒÎˇ ΄ΉÎŊ ĪƒĪ„ÎŋÎšĪ‡ÎĩÎ¯Ī‰ÎŊ", "failed_to_update_notification_status": "Î‘Ī€ÎŋĪ„Ī…Ī‡Î¯Îą ÎĩÎŊΡÎŧÎ­ĪĪ‰ĪƒÎˇĪ‚ Ī„ÎˇĪ‚ ÎēÎąĪ„ÎŦĪƒĪ„ÎąĪƒÎˇĪ‚ ÎĩΚδÎŋĪ€ÎŋÎ¯ÎˇĪƒÎˇĪ‚", - "import_path_already_exists": "Î‘Ī…Ī„ÎŽ Ρ Î´ÎšÎąÎ´ĪÎŋÎŧÎŽ ÎĩÎšĪƒÎąÎŗĪ‰ÎŗÎŽĪ‚ Ī…Ī€ÎŦ΁·ÎĩΚ ΎδΡ.", "incorrect_email_or_password": "ΛαÎŊÎ¸ÎąĪƒÎŧέÎŊÎŋ email ÎŽ ÎēĪ‰Î´ÎšÎēĪŒĪ‚ Ī€ĪĪŒĪƒÎ˛ÎąĪƒÎˇĪ‚", "paths_validation_failed": "{paths, plural, one {# Î´ÎšÎąÎ´ĪÎŋÎŧÎŽ} other {# Î´ÎšÎąÎ´ĪÎŋÎŧÎ­Ī‚}} ÎąĪ€Î­Ī„Ī…Ī‡ÎąÎŊ ÎēÎąĪ„ÎŦ Ī„ÎˇÎŊ ÎĩĪ€ÎšÎēĪĪĪ‰ĪƒÎˇ", "profile_picture_transparent_pixels": "Οι ÎĩΚÎēΌÎŊÎĩĪ‚ ΀΁ÎŋĪ†Î¯Îģ δÎĩÎŊ ÎŧĪ€Îŋ΁ÎŋĪÎŊ ÎŊÎą Î­Ī‡ÎŋĪ…ÎŊ Î´ÎšÎąĪ†ÎąÎŊÎŽ ÎĩΚÎēÎŋÎŊÎŋĪƒĪ„ÎŋÎšĪ‡ÎĩÎ¯Îą. Î ÎąĪÎąÎēÎąÎģĪŽ ÎŧÎĩÎŗÎĩÎ¸ĪÎŊÎĩĪ„Îĩ ÎŽ/ÎēιΚ ÎŧÎĩĪ„ÎąÎēΚÎŊÎŽĪƒĪ„Îĩ Ī„ÎˇÎŊ ÎĩΚÎēΌÎŊÎą.", @@ -956,7 +951,6 @@ "unable_to_add_assets_to_shared_link": "Î‘Î´Ī…ÎŊÎąÎŧÎ¯Îą ΀΁ÎŋĪƒÎ¸ÎŽÎēÎˇĪ‚ ĪƒĪ„ÎŋÎšĪ‡ÎĩίÎŋĪ… ĪƒĪ„ÎŋÎŊ ÎēÎŋΚÎŊĪŒĪ‡ĪÎˇĪƒĪ„Îŋ ĪƒĪÎŊδÎĩ΃ÎŧÎŋ", "unable_to_add_comment": "Î‘Î´Ī…ÎŊÎąÎŧÎ¯Îą ΀΁ÎŋĪƒÎ¸ÎŽÎēÎˇĪ‚ ĪƒĪ‡ÎŋÎģίÎŋĪ…", "unable_to_add_exclusion_pattern": "Î‘Î´Ī…ÎŊÎąÎŧÎ¯Îą ΀΁ÎŋĪƒÎ¸ÎŽÎēÎˇĪ‚ ÎŧÎŋĪ„Î¯Î˛ÎŋĪ… ÎąĪ€ÎŋÎēÎģÎĩÎšĪƒÎŧÎŋĪ", - "unable_to_add_import_path": "Î‘Î´Ī…ÎŊÎąÎŧÎ¯Îą ΀΁ÎŋĪƒÎ¸ÎŽÎēÎˇĪ‚ Î´ÎšÎąÎ´ĪÎŋÎŧÎŽĪ‚ ÎĩÎšĪƒÎąÎŗĪ‰ÎŗÎŽĪ‚", "unable_to_add_partners": "Î‘Î´Ī…ÎŊÎąÎŧÎ¯Îą ΀΁ÎŋĪƒÎ¸ÎŽÎēÎˇĪ‚ ĪƒĪ…ÎŊÎĩĪÎŗÎąĪ„ĪŽÎŊ", "unable_to_add_remove_archive": "Î‘Î´Ī…ÎŊÎąÎŧÎ¯Îą {archived, select, true {ÎąĪ†ÎąÎ¯ĪÎĩĪƒÎˇĪ‚ Ī„ÎŋĪ… ĪƒĪ„ÎŋÎšĪ‡ÎĩίÎŋĪ… ÎąĪ€ĪŒ Ī„Îŋ} other {΀΁ÎŋĪƒÎ¸ÎŽÎēÎˇĪ‚ Ī„ÎŋĪ… ĪƒĪ„ÎŋÎšĪ‡ÎĩίÎŋĪ… ĪƒĪ„Îŋ}} ÎąĪĪ‡ÎĩίÎŋ", "unable_to_add_remove_favorites": "Î‘Î´Ī…ÎŊÎąÎŧÎ¯Îą {favorite, select, true {΀΁ÎŋĪƒÎ¸ÎŽÎēÎˇĪ‚ Ī„ÎŋĪ… ĪƒĪ„ÎŋÎšĪ‡ÎĩίÎŋĪ… ĪƒĪ„Îą} other {ÎąĪ†ÎąÎ¯ĪÎĩĪƒÎˇĪ‚ Ī„ÎŋĪ… ĪƒĪ„ÎŋÎšĪ‡ÎĩίÎŋĪ… ÎąĪ€ĪŒ Ī„Îą}} ÎąÎŗÎąĪ€ÎˇÎŧέÎŊÎą", @@ -979,12 +973,10 @@ "unable_to_delete_asset": "Î‘Î´Ī…ÎŊÎąÎŧÎ¯Îą Î´ÎšÎąÎŗĪÎąĪ†ÎŽĪ‚ ĪƒĪ„ÎŋÎšĪ‡ÎĩίÎŋĪ…", "unable_to_delete_assets": "ÎŖĪ†ÎŦÎģÎŧÎą ÎēÎąĪ„Îą Ī„Îˇ Î´ÎšÎąÎŗĪÎąĪ†ÎŽ ĪƒĪ„ÎŋÎšĪ‡ÎĩÎ¯Ī‰ÎŊ", "unable_to_delete_exclusion_pattern": "Î‘Î´Ī…ÎŊÎąÎŧÎ¯Îą Î´ÎšÎąÎŗĪÎąĪ†ÎŽĪ‚ ÎŧÎŋĪ„Î¯Î˛ÎŋĪ… ÎąĪ€ÎŋÎēÎģÎĩÎšĪƒÎŧÎŋĪ", - "unable_to_delete_import_path": "Î‘Î´Ī…ÎŊÎąÎŧÎ¯Îą Î´ÎšÎąÎŗĪÎąĪ†ÎŽĪ‚ Î´ÎšÎąÎ´ĪÎŋÎŧÎŽĪ‚ ÎĩÎšĪƒÎąÎŗĪ‰ÎŗÎŽĪ‚", "unable_to_delete_shared_link": "Î‘Î´Ī…ÎŊÎąÎŧÎ¯Îą Î´ÎšÎąÎŗĪÎąĪ†ÎŽĪ‚ ÎēÎŋΚÎŊĪŒĪ‡ĪÎˇĪƒĪ„ÎŋĪ… ĪƒĪ…ÎŊÎ´Î­ĪƒÎŧÎŋĪ…", "unable_to_delete_user": "Î‘Î´Ī…ÎŊÎąÎŧÎ¯Îą Î´ÎšÎąÎŗĪÎąĪ†ÎŽĪ‚ Ī‡ĪÎŽĪƒĪ„Îˇ", "unable_to_download_files": "Î‘Î´Ī…ÎŊÎąÎŧÎ¯Îą ÎģÎŽĪˆÎˇĪ‚ ÎąĪĪ‡ÎĩÎ¯Ī‰ÎŊ", "unable_to_edit_exclusion_pattern": "Î‘Î´Ī…ÎŊÎąÎŧÎ¯Îą ÎĩĪ€ÎĩΞÎĩĪÎŗÎąĪƒÎ¯ÎąĪ‚ ÎŧÎŋĪ„Î¯Î˛ÎŋĪ… ÎąĪ€ÎŋÎēÎģÎĩÎšĪƒÎŧÎŋĪ", - "unable_to_edit_import_path": "Î‘Î´Ī…ÎŊÎąÎŧÎ¯Îą ÎĩĪ€ÎĩΞÎĩĪÎŗÎąĪƒÎ¯ÎąĪ‚ Î´ÎšÎąÎ´ĪÎŋÎŧÎŽĪ‚ ÎĩÎšĪƒÎąÎŗĪ‰ÎŗÎŽĪ‚", "unable_to_empty_trash": "Î‘Î´Ī…ÎŊÎąÎŧÎ¯Îą ιδÎĩΚÎŦ΃ÎŧÎąĪ„ÎŋĪ‚ Ī„ÎŋĪ… ÎēÎŦδÎŋĪ… ÎąĪ€ÎŋĪĪÎšÎŧÎŧÎŦ΄ΉÎŊ", "unable_to_enter_fullscreen": "Î‘Î´Ī…ÎŊÎąÎŧÎ¯Îą ÎŧÎĩĪ„ÎŦÎ˛ÎąĪƒÎˇĪ‚ ΃Îĩ Ī€ÎģÎŽĪÎˇ ÎŋÎ¸ĪŒÎŊΡ", "unable_to_exit_fullscreen": "Î‘Î´Ī…ÎŊÎąÎŧÎ¯Îą ÎĩÎžĪŒÎ´ÎŋĪ… ÎąĪ€ĪŒ Ī€ÎģÎŽĪÎˇ ÎŋÎ¸ĪŒÎŊΡ", diff --git a/i18n/en.json b/i18n/en.json index 34bad1de7d..67dd06198a 100644 --- a/i18n/en.json +++ b/i18n/en.json @@ -17,7 +17,6 @@ "add_birthday": "Add a birthday", "add_endpoint": "Add endpoint", "add_exclusion_pattern": "Add exclusion pattern", - "add_import_path": "Add import path", "add_location": "Add location", "add_more_users": "Add more users", "add_partner": "Add partner", @@ -113,13 +112,17 @@ "jobs_failed": "{jobCount, plural, other {# failed}}", "library_created": "Created library: {library}", "library_deleted": "Library deleted", - "library_import_path_description": "Specify a folder to import. This folder, including subfolders, will be scanned for images and videos.", + "library_details": "Library details", + "library_folder_description": "Specify a folder to import. This folder, including subfolders, will be scanned for images and videos.", + "library_remove_exclusion_pattern_prompt": "Are you sure you want to remove this exclusion pattern?", + "library_remove_folder_prompt": "Are you sure you want to remove this import folder?", "library_scanning": "Periodic Scanning", "library_scanning_description": "Configure periodic library scanning", "library_scanning_enable_description": "Enable periodic library scanning", "library_settings": "External Library", "library_settings_description": "Manage external library settings", "library_tasks_description": "Scan external libraries for new and/or changed assets", + "library_updated": "Updated library", "library_watching_enable_description": "Watch external libraries for file changes", "library_watching_settings": "Library watching [EXPERIMENTAL]", "library_watching_settings_description": "Automatically watch for changed files", @@ -404,7 +407,6 @@ "user_restore_scheduled_removal": "Restore user - scheduled removal on {date, date, long}", "user_settings": "User Settings", "user_settings_description": "Manage user settings", - "user_successfully_removed": "User {email} has been successfully removed.", "version_check_enabled_description": "Enable version check", "version_check_implications": "The version check feature relies on periodic communication with github.com", "version_check_settings": "Version Check", @@ -901,8 +903,6 @@ "edit_description_prompt": "Please select a new description:", "edit_exclusion_pattern": "Edit exclusion pattern", "edit_faces": "Edit faces", - "edit_import_path": "Edit import path", - "edit_import_paths": "Edit Import Paths", "edit_key": "Edit key", "edit_link": "Edit link", "edit_location": "Edit location", @@ -974,8 +974,8 @@ "failed_to_stack_assets": "Failed to stack assets", "failed_to_unstack_assets": "Failed to un-stack assets", "failed_to_update_notification_status": "Failed to update notification status", - "import_path_already_exists": "This import path already exists.", "incorrect_email_or_password": "Incorrect email or password", + "library_folder_already_exists": "This import path already exists.", "paths_validation_failed": "{paths, plural, one {# path} other {# paths}} failed validation", "profile_picture_transparent_pixels": "Profile pictures cannot have transparent pixels. Please zoom in and/or move the image.", "quota_higher_than_disk_size": "You set a quota higher than the disk size", @@ -984,7 +984,6 @@ "unable_to_add_assets_to_shared_link": "Unable to add assets to shared link", "unable_to_add_comment": "Unable to add comment", "unable_to_add_exclusion_pattern": "Unable to add exclusion pattern", - "unable_to_add_import_path": "Unable to add import path", "unable_to_add_partners": "Unable to add partners", "unable_to_add_remove_archive": "Unable to {archived, select, true {remove asset from} other {add asset to}} archive", "unable_to_add_remove_favorites": "Unable to {favorite, select, true {add asset to} other {remove asset from}} favorites", @@ -1007,12 +1006,10 @@ "unable_to_delete_asset": "Unable to delete asset", "unable_to_delete_assets": "Error deleting assets", "unable_to_delete_exclusion_pattern": "Unable to delete exclusion pattern", - "unable_to_delete_import_path": "Unable to delete import path", "unable_to_delete_shared_link": "Unable to delete shared link", "unable_to_delete_user": "Unable to delete user", "unable_to_download_files": "Unable to download files", "unable_to_edit_exclusion_pattern": "Unable to edit exclusion pattern", - "unable_to_edit_import_path": "Unable to edit import path", "unable_to_empty_trash": "Unable to empty trash", "unable_to_enter_fullscreen": "Unable to enter fullscreen", "unable_to_exit_fullscreen": "Unable to exit fullscreen", @@ -1063,6 +1060,7 @@ "unable_to_update_user": "Unable to update user", "unable_to_upload_file": "Unable to upload file" }, + "exclusion_pattern": "Exclusion pattern", "exif": "Exif", "exif_bottom_sheet_description": "Add Description...", "exif_bottom_sheet_description_error": "Error updating description", @@ -1122,6 +1120,7 @@ "folders_feature_description": "Browsing the folder view for the photos and videos on the file system", "forgot_pin_code_question": "Forgot your PIN?", "forward": "Forward", + "full_path": "Full path: {path}", "gcast_enabled": "Google Cast", "gcast_enabled_description": "This feature loads external resources from Google in order to work.", "general": "General", @@ -1158,6 +1157,7 @@ "hide_named_person": "Hide person {name}", "hide_password": "Hide password", "hide_person": "Hide person", + "hide_text_recognition": "Hide text recognition", "hide_unnamed_people": "Hide unnamed people", "home_page_add_to_album_conflicts": "Added {added} assets to album {album}. {failed} assets are already in the album.", "home_page_add_to_album_err_local": "Can not add local assets to albums yet, skipping", @@ -1251,6 +1251,8 @@ "let_others_respond": "Let others respond", "level": "Level", "library": "Library", + "library_add_folder": "Add folder", + "library_edit_folder": "Edit folder", "library_options": "Library options", "library_page_device_albums": "Albums on Device", "library_page_new_album": "New album", @@ -1451,6 +1453,7 @@ "no_favorites_message": "Add favorites to quickly find your best pictures and videos", "no_libraries_message": "Create an external library to view your photos and videos", "no_local_assets_found": "No local assets found with this checksum", + "no_location_set": "No location set", "no_locked_photos_message": "Photos and videos in the locked folder are hidden and won't show up as you browse or search your library.", "no_name": "No Name", "no_notifications": "No notifications", @@ -1966,6 +1969,7 @@ "show_slideshow_transition": "Show slideshow transition", "show_supporter_badge": "Supporter badge", "show_supporter_badge_description": "Show a supporter badge", + "show_text_recognition": "Show text recognition", "show_text_search_menu": "Show text search menu", "shuffle": "Shuffle", "sidebar": "Sidebar", @@ -2036,6 +2040,7 @@ "tags": "Tags", "tap_to_run_job": "Tap to run job", "template": "Template", + "text_recognition": "Text recognition", "theme": "Theme", "theme_selection": "Theme selection", "theme_selection_description": "Automatically set the theme to light or dark based on your browser's system preference", diff --git a/i18n/eo.json b/i18n/eo.json new file mode 100644 index 0000000000..0967ef424b --- /dev/null +++ b/i18n/eo.json @@ -0,0 +1 @@ +{} diff --git a/i18n/es.json b/i18n/es.json index c2260b2012..a5766eed93 100644 --- a/i18n/es.json +++ b/i18n/es.json @@ -17,7 +17,6 @@ "add_birthday": "Agregar un cumpleaÃąos", "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", @@ -32,6 +31,7 @@ "add_to_album_toggle": "Alternar selecciÃŗn para el {album}", "add_to_albums": "Incluir en ÃĄlbumes", "add_to_albums_count": "Incluir en {count} ÃĄlbumes", + "add_to_bottom_bar": "AÃąadir a", "add_to_shared_album": "Incluir en ÃĄlbum compartido", "add_upload_to_stack": "AÃąadir archivo y apilar", "add_url": "Agregar URL", @@ -112,13 +112,17 @@ "jobs_failed": "{jobCount, plural, one {# fallido} other {# fallidos}}", "library_created": "La biblioteca ha sido creada: {library}", "library_deleted": "Biblioteca eliminada", - "library_import_path_description": "Indica una carpeta para importar. Esta carpeta y sus subcarpetas serÃĄn escaneadas en busca de elementos multimedia.", + "library_details": "Detalles de la biblioteca", + "library_folder_description": "Especifica una carpeta para importar. Esta carpeta, incluidas sus subcarpetas, se analizarÃĄ en busca de imÃĄgenes y vídeos.", + "library_remove_exclusion_pattern_prompt": "ÂŋEstÃĄs seguro de que quieres eliminar este patrÃŗn de exclusiÃŗn?", + "library_remove_folder_prompt": "ÂŋEstÃĄs seguro de que quieres eliminar esta carpeta de importaciÃŗn?", "library_scanning": "Escaneo periÃŗdico", "library_scanning_description": "Configurar el escaneo periÃŗdico de la biblioteca", "library_scanning_enable_description": "Activar el escaneo periÃŗdico de la biblioteca", "library_settings": "Biblioteca externa", "library_settings_description": "Administrar configuraciÃŗn biblioteca externa", "library_tasks_description": "Buscar elementos nuevos o modificados en bibliotecas externas", + "library_updated": "Biblioteca actualizada", "library_watching_enable_description": "Vigilar las bibliotecas externas para detectar cambios en los archivos", "library_watching_settings": "Vigilancia de la biblioteca [EXPERIMENTAL]", "library_watching_settings_description": "Vigilar automaticamente en busca de archivos modificados", @@ -173,6 +177,10 @@ "machine_learning_smart_search_enabled": "Habilitar bÃēsqueda inteligente", "machine_learning_smart_search_enabled_description": "Al desactivarlo las imÃĄgenes no se procesarÃĄn para usar la bÃēsqueda inteligente.", "machine_learning_url_description": "La URL del servidor de aprendizaje automÃĄtico. Si se proporciona mÃĄs de una URL se intentarÃĄ acceder a cada servidor sucesivamente hasta que uno responda correctamente en el orden especificado. Los servidores que no respondan serÃĄn ignorados temporalmente hasta que vuelvan a estar en línea.", + "maintenance_settings": "Mantenimiento", + "maintenance_settings_description": "Poner Immich en modo de mantenimiento.", + "maintenance_start": "Iniciar el modo de mantenimiento", + "maintenance_start_error": "Error al iniciar el modo de mantenimiento.", "manage_concurrency": "Ajustes de concurrencia", "manage_log_settings": "Administrar la configuraciÃŗn de los registros", "map_dark_style": "Estilo oscuro", @@ -430,6 +438,7 @@ "age_months": "Tiempo {months, plural, one {# mes} other {# meses}}", "age_year_months": "1 aÃąo, {months, plural, one {# mes} other {# meses}}", "age_years": "Edad {years, plural, one {# aÃąo} other {# aÃąos}}", + "album": "Álbum", "album_added": "Álbum agregado", "album_added_notification_setting_description": "Reciba una notificaciÃŗn por correo electrÃŗnico cuando lo agreguen a un ÃĄlbum compartido", "album_cover_updated": "Portada del ÃĄlbum actualizada", @@ -475,6 +484,7 @@ "allow_edits": "Permitir ediciÃŗn", "allow_public_user_to_download": "Permitir descargas a los usuarios pÃēblicos", "allow_public_user_to_upload": "Permitir a los usuarios pÃēblicos subir fotos", + "allowed": "Permitido", "alt_text_qr_code": "CÃŗdigo QR", "anti_clockwise": "En sentido antihorario", "api_key": "Clave API", @@ -487,7 +497,7 @@ "app_bar_signout_dialog_title": "Cerrar sesiÃŗn", "app_download_links": "Enlaces de Descarga de la AplicaciÃŗn", "app_settings": "Ajustes de la aplicacion", - "app_stores": "App Stores", + "app_stores": "Tiendas de Aplicaciones", "app_update_available": "ActualizaciÃŗn de aplicaciÃŗn estÃĄ disponible", "appears_in": "Aparece en", "apply_count": "Aplicar ({count, number})", @@ -496,14 +506,14 @@ "archive_or_unarchive_photo": "Archivar o restaurar foto", "archive_page_no_archived_assets": "No se encontraron elementos archivados", "archive_page_title": "Archivo ({count})", - "archive_size": "TamaÃąo del archivo", + "archive_size": "TamaÃąo de archivo comprimido", "archive_size_description": "Configure el tamaÃąo del archivo para descargas (en GB)", "archived": "Archivado", "archived_count": "{count, plural, one {# archivado} other {# archivados}}", "are_these_the_same_person": "ÂŋSon la misma persona?", - "are_you_sure_to_do_this": "ÂŋEstas seguro de que quieres hacer esto?", - "asset_action_delete_err_read_only": "No se pueden borrar el archivo(s) de solo lectura, omitiendo", - "asset_action_share_err_offline": "No se pudo obtener el archivo(s) sin conexiÃŗn, omitiendo", + "are_you_sure_to_do_this": "ÂŋEstÃĄs seguro de que quieres hacer esto?", + "asset_action_delete_err_read_only": "No se puede borrar archivo(s) de solo lectura, omitiendo", + "asset_action_share_err_offline": "No se pudo obtener archivo(s) sin conexiÃŗn, omitiendo", "asset_added_to_album": "Agregado al ÃĄlbum", "asset_adding_to_album": "Agregando al ÃĄlbumâ€Ļ", "asset_description_updated": "La descripciÃŗn del elemento ha sido actualizada", @@ -669,7 +679,7 @@ "cannot_merge_people": "No se pueden fusionar personas", "cannot_undo_this_action": "ÂĄNo puedes deshacer esta acciÃŗn!", "cannot_update_the_description": "No se puede actualizar la descripciÃŗn", - "cast": "Enviar contenido", + "cast": "Transmitir", "cast_description": "Configura los posibles destinos de retransmisiÃŗn", "change_date": "Cambiar fecha", "change_description": "Cambiar descripciÃŗn", @@ -744,7 +754,7 @@ "control_bottom_app_bar_edit_location": "Editar ubicaciÃŗn", "control_bottom_app_bar_edit_time": "Editar fecha y hora", "control_bottom_app_bar_share_link": "Enlace para compartir", - "control_bottom_app_bar_share_to": "Enviar", + "control_bottom_app_bar_share_to": "Compartir a", "control_bottom_app_bar_trash_from_immich": "Mover a la papelera", "copied_image_to_clipboard": "Imagen copiada al portapapeles.", "copied_to_clipboard": "ÂĄCopiado al portapapeles!", @@ -894,8 +904,6 @@ "edit_description_prompt": "Por favor selecciona una nueva descripciÃŗn:", "edit_exclusion_pattern": "Editar patrÃŗn de exclusiÃŗn", "edit_faces": "Editar rostros", - "edit_import_path": "Editar ruta de importaciÃŗn", - "edit_import_paths": "Editar ruta de importaciÃŗn", "edit_key": "Editar clave", "edit_link": "Editar enlace", "edit_location": "Editar ubicaciÃŗn", @@ -967,8 +975,8 @@ "failed_to_stack_assets": "No se pudieron agrupar los archivos", "failed_to_unstack_assets": "Error al desagrupar los archivos", "failed_to_update_notification_status": "Error al actualizar el estado de la notificaciÃŗn", - "import_path_already_exists": "Esta ruta de importaciÃŗn ya existe.", "incorrect_email_or_password": "ContraseÃąa o email incorrecto", + "library_folder_already_exists": "Esta ruta de importaciÃŗn ya existe.", "paths_validation_failed": "FallÃŗ la validaciÃŗn en {paths, plural, one {# carpeta} other {# carpetas}}", "profile_picture_transparent_pixels": "Las imÃĄgenes de perfil no pueden tener píxeles transparentes. Por favor amplíe y/o mueva la imagen.", "quota_higher_than_disk_size": "Se ha establecido una cuota superior al tamaÃąo del disco", @@ -977,7 +985,6 @@ "unable_to_add_assets_to_shared_link": "No se pueden agregar archivos al enlace compartido", "unable_to_add_comment": "No se puede agregar comentario", "unable_to_add_exclusion_pattern": "No se puede agregar el patrÃŗn de exclusiÃŗn", - "unable_to_add_import_path": "No se puede agregar la ruta de importaciÃŗn", "unable_to_add_partners": "No se pueden agregar compaÃąeros", "unable_to_add_remove_archive": "No se puede archivar {archived, select, true {remove asset from} other {add asset to}}", "unable_to_add_remove_favorites": "{favorite, select, true {No se pudo agregar el elemento a los favoritos} other {No se pudo eliminar el elemento de los favoritos}}", @@ -1000,12 +1007,10 @@ "unable_to_delete_asset": "No se puede eliminar el archivo", "unable_to_delete_assets": "Error al eliminar archivos", "unable_to_delete_exclusion_pattern": "No se puede eliminar el patrÃŗn de exclusiÃŗn", - "unable_to_delete_import_path": "No se puede eliminar la ruta de importaciÃŗn", "unable_to_delete_shared_link": "No se puede eliminar el enlace compartido", "unable_to_delete_user": "No se puede eliminar el usuario", "unable_to_download_files": "No se pueden descargar archivos", "unable_to_edit_exclusion_pattern": "No se puede editar el patrÃŗn de exclusiÃŗn", - "unable_to_edit_import_path": "No se puede editar la ruta de importaciÃŗn", "unable_to_empty_trash": "No se puede vaciar la papelera", "unable_to_enter_fullscreen": "No se puede acceder al modo pantalla completa", "unable_to_exit_fullscreen": "No se puede salir del modo pantalla completa", @@ -1056,6 +1061,7 @@ "unable_to_update_user": "No se puede actualizar el usuario", "unable_to_upload_file": "Error al subir el archivo" }, + "exclusion_pattern": "PatrÃŗn de exclusiÃŗn", "exif": "EXIF", "exif_bottom_sheet_description": "Agregar descripciÃŗnâ€Ļ", "exif_bottom_sheet_description_error": "Error al actualizar la descripciÃŗn", @@ -1115,6 +1121,7 @@ "folders_feature_description": "Explorar la vista de carpetas para las fotos y los videos en el sistema de archivos", "forgot_pin_code_question": "ÂŋOlvidaste tu cÃŗdigo PIN?", "forward": "Avanzar", + "full_path": "Ruta completa: {path}", "gcast_enabled": "Google Cast", "gcast_enabled_description": "Esta funcionalidad carga recursos externos desde Google para poder funcionar.", "general": "General", @@ -1196,6 +1203,8 @@ "import_path": "Importar ruta", "in_albums": "En {count, plural, one {# ÃĄlbum} other {# ÃĄlbumes}}", "in_archive": "En archivo", + "in_year": "En {year}", + "in_year_selector": "En", "include_archived": "Incluir archivados", "include_shared_albums": "Incluir ÃĄlbumes compartidos", "include_shared_partner_assets": "Incluir elementos compartidos por compaÃąeros", @@ -1232,6 +1241,7 @@ "language_setting_description": "Selecciona tu idioma preferido", "large_files": "Archivos Grandes", "last": "Último", + "last_months": "{count, plural, one {Último mes} other {Últimos # meses}}", "last_seen": "Ultima vez visto", "latest_version": "Última versiÃŗn", "latitude": "Latitud", @@ -1241,6 +1251,8 @@ "let_others_respond": "Permitir que otros respondan", "level": "Nivel", "library": "Biblioteca", + "library_add_folder": "AÃąadir carpeta", + "library_edit_folder": "Editar carpeta", "library_options": "Opciones de biblioteca", "library_page_device_albums": "Álbumes en el dispositivo", "library_page_new_album": "Nuevo ÃĄlbum", @@ -1312,8 +1324,17 @@ "loop_videos_description": "Habilite la reproducciÃŗn automÃĄtica de un video en el visor de detalles.", "main_branch_warning": "EstÃĄ utilizando una versiÃŗn de desarrollo; ÂĄle recomendamos encarecidamente que utilice una versiÃŗn de lanzamiento!", "main_menu": "MenÃē principal", + "maintenance_description": "Immich se ha puesto en modo de mantenimiento.", + "maintenance_end": "Finalizar el modo de mantenimiento", + "maintenance_end_error": "Error al finalizar el modo de mantenimiento.", + "maintenance_logged_in_as": "SesiÃŗn iniciada actualmente como {user}", + "maintenance_title": "No disponible temporalmente", "make": "Marca", "manage_geolocation": "Administrar ubicaciÃŗn", + "manage_media_access_rationale": "Este permiso se requiere para mover recursos a la papelera correctamente, así como para restaurarlos desde la misma.", + "manage_media_access_settings": "Abrir configuraciÃŗn", + "manage_media_access_subtitle": "Permitir a la app Immich gestionar y mover archivos multimedia.", + "manage_media_access_title": "Acceso a gestiÃŗn de archivos multimedia", "manage_shared_links": "Administrar enlaces compartidos", "manage_sharing_with_partners": "Gestionar el uso compartido con compaÃąeros", "manage_the_app_settings": "Administrar la configuraciÃŗn de la aplicaciÃŗn", @@ -1377,6 +1398,7 @@ "more": "Mas", "move": "Mover", "move_off_locked_folder": "Sacar de la carpeta protegida", + "move_to": "Mover a", "move_to_lock_folder_action_prompt": "{count} agregado(s) a la carpeta protegida", "move_to_locked_folder": "Mover a la carpeta protegida", "move_to_locked_folder_confirmation": "Estas fotos y vídeos se eliminarÃĄn de todos los ÃĄlbumes; solo se podrÃĄn ver en la carpeta protegida", @@ -1406,6 +1428,7 @@ "new_pin_code": "Nuevo PIN", "new_pin_code_subtitle": "Esta es la primera vez que accedes a la carpeta protegida. Crea un cÃŗdigo PIN seguro para acceder a esta pÃĄgina", "new_timeline": "Nueva Línea de tiempo", + "new_update": "Nueva actualizaciÃŗn", "new_user_created": "Nuevo usuario creado", "new_version_available": "NUEVA VERSIÓN DISPONIBLE", "newest_first": "El mÃĄs reciente primero", @@ -1421,12 +1444,14 @@ "no_cast_devices_found": "No se encontraron dispositivos de transmisiÃŗn", "no_checksum_local": "Suma de verificaciÃŗn no disponible. No se pueden obtener los elementos locales", "no_checksum_remote": "Suma de verificaciÃŗn no disponible. No se puede obtener el elemento remoto", + "no_devices": "Dispositivos no autorizados", "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.", "no_favorites_message": "Agregue favoritos para encontrar rÃĄpidamente sus mejores fotos y videos", "no_libraries_message": "Crea una biblioteca externa para ver tus fotos y vídeos", "no_local_assets_found": "No se encontraron elementos locales con esta suma de comprobaciÃŗn", + "no_location_set": "No se ha establecido ninguna ubicaciÃŗn", "no_locked_photos_message": "Las fotos y los vídeos de la carpeta protegida se mantienen ocultos; no aparecerÃĄn cuando veas o busques elementos en tu biblioteca.", "no_name": "Sin nombre", "no_notifications": "Ninguna notificaciÃŗn", @@ -1437,6 +1462,7 @@ "no_results_description": "Pruebe con un sinÃŗnimo o una palabra clave mÃĄs general", "no_shared_albums_message": "Crea un ÃĄlbum para compartir fotos y vídeos con personas de tu red", "no_uploads_in_progress": "No hay cargas en progreso", + "not_allowed": "No permitido", "not_available": "N/D", "not_in_any_album": "Sin ÃĄlbum", "not_selected": "No seleccionado", @@ -1547,6 +1573,8 @@ "photos_count": "{count, plural, one {{count, number} Foto} other {{count, number} Fotos}}", "photos_from_previous_years": "Fotos de aÃąos anteriores", "pick_a_location": "Elige una ubicaciÃŗn", + "pick_custom_range": "Rango personalizado", + "pick_date_range": "Seleccione un rango de fechas", "pin_code_changed_successfully": "PIN cambiado exitosamente", "pin_code_reset_successfully": "PIN restablecido exitosamente", "pin_code_setup_successfully": "PIN establecido exitosamente", @@ -1814,6 +1842,8 @@ "server_offline": "Servidor desconectado", "server_online": "Servidor en línea", "server_privacy": "Privacidad del Servidor", + "server_restarting_description": "Esta pÃĄgina se actualizarÃĄ en breve.", + "server_restarting_title": "El servidor se estÃĄ reiniciando", "server_stats": "Estadísticas del servidor", "server_update_available": "ActualizaciÃŗn de servidor disponible", "server_version": "VersiÃŗn del servidor", @@ -2027,6 +2057,7 @@ "third_party_resources": "Recursos de terceros", "time": "Tiempo", "time_based_memories": "Recuerdos basados en tiempo", + "time_based_memories_duration": "NÃēmero de segundos que se mostrarÃĄ cada imagen.", "timeline": "Cronología", "timezone": "Zona horaria", "to_archive": "Archivar", @@ -2167,6 +2198,7 @@ "welcome": "Bienvenido", "welcome_to_immich": "Bienvenido a Immich", "wifi_name": "Nombre Wi-Fi", + "workflow": "Flujo de trabajo", "wrong_pin_code": "CÃŗdigo PIN incorrecto", "year": "AÃąo", "years_ago": "Hace {years, plural, one {# aÃąo} other {# aÃąos}}", diff --git a/i18n/et.json b/i18n/et.json index 7e611d3ec3..9b9cd08985 100644 --- a/i18n/et.json +++ b/i18n/et.json @@ -17,7 +17,6 @@ "add_birthday": "Lisa sÃŧnnipäev", "add_endpoint": "Lisa lÃĩpp-punkt", "add_exclusion_pattern": "Lisa välistamismuster", - "add_import_path": "Lisa imporditee", "add_location": "Lisa asukoht", "add_more_users": "Lisa rohkem kasutajaid", "add_partner": "Lisa partner", @@ -32,6 +31,7 @@ "add_to_album_toggle": "Muuda albumi {album} valikut", "add_to_albums": "Lisa albumitesse", "add_to_albums_count": "Lisa albumitesse ({count})", + "add_to_bottom_bar": "Lisa", "add_to_shared_album": "Lisa jagatud albumisse", "add_upload_to_stack": "Virnasta Ãŧleslaaditud Ãŧksus", "add_url": "Lisa URL", @@ -112,13 +112,17 @@ "jobs_failed": "{jobCount, plural, other {# ebaÃĩnnestus}}", "library_created": "Lisatud kogu: {library}", "library_deleted": "Kogu kustutatud", - "library_import_path_description": "Määra kaust, mida importida. Sellest kaustast ning alamkaustadest otsitakse pilte ja videosid.", + "library_details": "Kogu detailid", + "library_folder_description": "Vali kaust, mida importida. Sellest kaustast ja alamkaustadest otsitakse pilte ja videosid.", + "library_remove_exclusion_pattern_prompt": "Kas oled kindel, et soovid selle välistamismustri eemaldada?", + "library_remove_folder_prompt": "Kas oled kindel, et soovid selle impordikausta eemaldada?", "library_scanning": "Perioodiline skaneerimine", "library_scanning_description": "Seadista kogu perioodiline skaneerimine", "library_scanning_enable_description": "Luba kogu perioodiline skaneerimine", "library_settings": "Väline kogu", "library_settings_description": "Halda välise kogu seadeid", "library_tasks_description": "Otsi välistest kogudest uusi ja muutunud Ãŧksuseid", + "library_updated": "Kogu uuendatud", "library_watching_enable_description": "Jälgi välises kogus failide muudatusi", "library_watching_settings": "Kogu jälgimine [EKSPERIMENTAALNE]", "library_watching_settings_description": "Jälgi automaatselt muutunud faile", @@ -173,6 +177,10 @@ "machine_learning_smart_search_enabled": "Luba nutiotsing", "machine_learning_smart_search_enabled_description": "Kui keelatud, siis ei kodeerita pilte nutiotsingu jaoks.", "machine_learning_url_description": "MasinÃĩppe serveri URL. Kui ette on antud rohkem kui Ãŧks URL, proovitakse neid järjest Ãŧkshaaval, kuni Ãŧks edukalt vastab. Servereid, mis ei vasta, ignoreeritakse ajutiselt, kuni Ãŧhendus taastub.", + "maintenance_settings": "Hooldus", + "maintenance_settings_description": "Pane Immich hooldusreÅžiimi.", + "maintenance_start": "Käivita hooldusreÅžiim", + "maintenance_start_error": "HooldusreÅžiimi käivitamine ebaÃĩnnestus.", "manage_concurrency": "Halda samaaegsust", "manage_log_settings": "Halda logi seadeid", "map_dark_style": "Tume stiil", @@ -430,6 +438,7 @@ "age_months": "Vanus {months, plural, one {# kuu} other {# kuud}}", "age_year_months": "Vanus 1 aasta, {months, plural, one {# kuu} other {# kuud}}", "age_years": "{years, plural, other {Vanus #}}", + "album": "Album", "album_added": "Album lisatud", "album_added_notification_setting_description": "Saa teavitus e-posti teel, kui sind lisatakse jagatud albumisse", "album_cover_updated": "Albumi kaanepilt muudetud", @@ -475,6 +484,7 @@ "allow_edits": "Luba muutmine", "allow_public_user_to_download": "Luba avalikul kasutajal alla laadida", "allow_public_user_to_upload": "Luba avalikul kasutajal Ãŧles laadida", + "allowed": "Lubatud", "alt_text_qr_code": "QR kood", "anti_clockwise": "Vastupäeva", "api_key": "API vÃĩti", @@ -894,8 +904,6 @@ "edit_description_prompt": "Palun vali uus kirjeldus:", "edit_exclusion_pattern": "Muuda välistamismustrit", "edit_faces": "Muuda nägusid", - "edit_import_path": "Muuda imporditeed", - "edit_import_paths": "Muuda imporditeid", "edit_key": "Muuda vÃĩtit", "edit_link": "Muuda linki", "edit_location": "Muuda asukohta", @@ -967,8 +975,8 @@ "failed_to_stack_assets": "Üksuste virnastamine ebaÃĩnnestus", "failed_to_unstack_assets": "Üksuste eraldamine ebaÃĩnnestus", "failed_to_update_notification_status": "Teavituste seisundi uuendamine ebaÃĩnnestus", - "import_path_already_exists": "See imporditee on juba olemas.", "incorrect_email_or_password": "Vale e-posti aadress vÃĩi parool", + "library_folder_already_exists": "See imporditee on juba olemas.", "paths_validation_failed": "{paths, plural, one {# tee} other {# teed}} ei valideerunud", "profile_picture_transparent_pixels": "Profiilipildis ei tohi olla läbipaistvaid piksleid. Palun suumi sisse ja/vÃĩi liiguta pilti.", "quota_higher_than_disk_size": "Määratud kvoot on suurem kui kettamaht", @@ -977,7 +985,6 @@ "unable_to_add_assets_to_shared_link": "Üksuste jagatud lingile lisamine ebaÃĩnnestus", "unable_to_add_comment": "Kommentaari lisamine ebaÃĩnnestus", "unable_to_add_exclusion_pattern": "Välistamismustri lisamine ebaÃĩnnestus", - "unable_to_add_import_path": "Imporditee lisamine ebaÃĩnnestus", "unable_to_add_partners": "Partnerite lisamine ebaÃĩnnestus", "unable_to_add_remove_archive": "{archived, select, true {Üksuse arhiivist taastamine} other {Üksuse arhiveerimine}} ebaÃĩnnestus", "unable_to_add_remove_favorites": "Üksuse {favorite, select, true {lemmikuks lisamine} other {lemmikutest eemaldamine}} ebaÃĩnnestus", @@ -1000,12 +1007,10 @@ "unable_to_delete_asset": "Üksuse kustutamine ebaÃĩnnestus", "unable_to_delete_assets": "Viga Ãŧksuste kustutamisel", "unable_to_delete_exclusion_pattern": "Välistamismustri kustutamine ebaÃĩnnestus", - "unable_to_delete_import_path": "Imporditee kustutamine ebaÃĩnnestus", "unable_to_delete_shared_link": "Jagatud lingi kustutamine ebaÃĩnnestus", "unable_to_delete_user": "Kasutaja kustutamine ebaÃĩnnestus", "unable_to_download_files": "Failide allalaadimine ebaÃĩnnestus", "unable_to_edit_exclusion_pattern": "Välistamismustri muutmine ebaÃĩnnestus", - "unable_to_edit_import_path": "Imporditee muutmine ebaÃĩnnestus", "unable_to_empty_trash": "PrÃŧgikasti tÃŧhjendamine ebaÃĩnnestus", "unable_to_enter_fullscreen": "Täisekraanile lÃŧlitamine ebaÃĩnnestus", "unable_to_exit_fullscreen": "Täisekraanilt väljumine ebaÃĩnnestus", @@ -1056,6 +1061,7 @@ "unable_to_update_user": "Kasutaja muutmine ebaÃĩnnestus", "unable_to_upload_file": "Faili Ãŧleslaadimine ebaÃĩnnestus" }, + "exclusion_pattern": "Välistamismuster", "exif": "Exif", "exif_bottom_sheet_description": "Lisa kirjeldus...", "exif_bottom_sheet_description_error": "Viga kirjelduse muutmisel", @@ -1115,6 +1121,7 @@ "folders_feature_description": "Kaustavaate abil failisÃŧsteemis olevate fotode ja videote sirvimine", "forgot_pin_code_question": "Unustasid oma PIN-koodi?", "forward": "Edasi", + "full_path": "Täielik tee: {path}", "gcast_enabled": "Google Cast", "gcast_enabled_description": "See funktsionaalsus laadib tÃļÃļtamiseks Google'st väliseid ressursse.", "general": "Üldine", @@ -1151,6 +1158,7 @@ "hide_named_person": "Peida isik {name}", "hide_password": "Peida parool", "hide_person": "Peida isik", + "hide_text_recognition": "Peida tekstituvastus", "hide_unnamed_people": "Peida nimetud isikud", "home_page_add_to_album_conflicts": "{added} Ãŧksust lisati albumisse {album}. {failed} Ãŧksust oli juba albumis.", "home_page_add_to_album_err_local": "Lokaalseid Ãŧksuseid ei saa veel albumisse lisada, jäetakse vahele", @@ -1196,6 +1204,8 @@ "import_path": "Imporditee", "in_albums": "{count, plural, one {# albumis} other {# albumis}}", "in_archive": "Arhiivis", + "in_year": "Aastal {year}", + "in_year_selector": "Aastal", "include_archived": "Kaasa arhiveeritud", "include_shared_albums": "Kaasa jagatud albumid", "include_shared_partner_assets": "Kaasa partneri jagatud Ãŧksused", @@ -1232,6 +1242,7 @@ "language_setting_description": "Vali oma eelistatud keel", "large_files": "Suured failid", "last": "Viimane", + "last_months": "{count, plural, one {Eelmine kuu} other {Eelmised # kuud}}", "last_seen": "Viimati nähtud", "latest_version": "Uusim versioon", "latitude": "Laiuskraad", @@ -1241,6 +1252,8 @@ "let_others_respond": "Luba teistel vastata", "level": "Tase", "library": "Kogu", + "library_add_folder": "Lisa kaust", + "library_edit_folder": "Muuda kausta", "library_options": "Kogu seaded", "library_page_device_albums": "Albumid seadmes", "library_page_new_album": "Uus album", @@ -1312,8 +1325,17 @@ "loop_videos_description": "LÃŧlita sisse, et detailvaates videot automaatselt taasesitada.", "main_branch_warning": "Sa kasutad arendusversiooni; soovitame tungivalt kasutada väljalaskeversiooni!", "main_menu": "PeamenÃŧÃŧ", + "maintenance_description": "Immich on hooldusreÅžiimis.", + "maintenance_end": "LÃĩpeta hooldusreÅžiim", + "maintenance_end_error": "HooldusreÅžiimi lÃĩpetamine ebaÃĩnnestus.", + "maintenance_logged_in_as": "Logitud sisse kasutajana {user}", + "maintenance_title": "Ajutiselt mittesaadaval", "make": "Mark", "manage_geolocation": "Halda asukohta", + "manage_media_access_rationale": "Seda luba on vaja Ãŧksuste prÃŧgikasti liigutamiseks ja sealt taastamiseks.", + "manage_media_access_settings": "Ava seaded", + "manage_media_access_subtitle": "Luba Immich'i rakendusel multimeediafaile hallata ja liigutada.", + "manage_media_access_title": "Üksuste haldamise ligipääs", "manage_shared_links": "Halda jagatud linke", "manage_sharing_with_partners": "Halda partneritega jagamist", "manage_the_app_settings": "Halda rakenduse seadeid", @@ -1377,6 +1399,7 @@ "more": "Rohkem", "move": "Liiguta", "move_off_locked_folder": "Liiguta lukustatud kaustast välja", + "move_to": "Liiguta", "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", @@ -1406,6 +1429,7 @@ "new_pin_code": "Uus PIN-kood", "new_pin_code_subtitle": "See on sul esimene kord lukustatud kausta kasutada. Turvaliseks ligipääsuks loo PIN-kood", "new_timeline": "Uus ajajoon", + "new_update": "Uus uuendus", "new_user_created": "Uus kasutaja lisatud", "new_version_available": "UUS VERSIOON SAADAVAL", "newest_first": "Uuemad eespool", @@ -1421,12 +1445,14 @@ "no_cast_devices_found": "Edastamise seadmeid ei leitud", "no_checksum_local": "Kontrollsumma pole saadaval - lokaalse Ãŧksuse pärimine ebaÃĩnnestus", "no_checksum_remote": "Kontrollsumma pole saadaval - kaugÃŧksuse pärimine ebaÃĩnnestus", + "no_devices": "Autoriseeritud seadmeid pole", "no_duplicates_found": "Ühtegi duplikaati ei leitud.", "no_exif_info_available": "Exif info pole saadaval", "no_explore_results_message": "Oma kogu avastamiseks laadi Ãŧles rohkem fotosid.", "no_favorites_message": "Lisa lemmikud, et oma parimaid fotosid ja videosid kiiresti leida", "no_libraries_message": "Lisa väline kogu oma fotode ja videote vaatamiseks", "no_local_assets_found": "Selle kontrollsummaga lokaalseid Ãŧksuseid ei leitud", + "no_location_set": "Asukoht pole määratud", "no_locked_photos_message": "Lukustatud kaustas olevad fotod ja videod on peidetud ning need pole kogu sirvimisel ja otsimisel nähtavad.", "no_name": "Nimetu", "no_notifications": "Teavitusi pole", @@ -1437,6 +1463,7 @@ "no_results_description": "Proovi sÃŧnonÃŧÃŧmi vÃĩi Ãŧldisemat märksÃĩna", "no_shared_albums_message": "Lisa album, et fotosid ja videosid teistega jagada", "no_uploads_in_progress": "Üleslaadimisi käimas ei ole", + "not_allowed": "Keelatud", "not_available": "Pole saadaval", "not_in_any_album": "Pole Ãŧheski albumis", "not_selected": "Ei ole valitud", @@ -1547,6 +1574,8 @@ "photos_count": "{count, plural, one {{count, number} foto} other {{count, number} fotot}}", "photos_from_previous_years": "Fotod varasematest aastatest", "pick_a_location": "Vali asukoht", + "pick_custom_range": "Kohandatud vahemik", + "pick_date_range": "Vali kuupäevavahemik", "pin_code_changed_successfully": "PIN-kood edukalt muudetud", "pin_code_reset_successfully": "PIN-kood edukalt lähtestatud", "pin_code_setup_successfully": "PIN-kood edukalt seadistatud", @@ -1814,6 +1843,8 @@ "server_offline": "Serveriga Ãŧhendus puudub", "server_online": "Server Ãŧhendatud", "server_privacy": "Serveri privaatsus", + "server_restarting_description": "Leht värskendatakse hetkeliselt.", + "server_restarting_title": "Server taaskäivitub", "server_stats": "Serveri statistika", "server_update_available": "Serveri uuendus on saadaval", "server_version": "Serveri versioon", @@ -1937,6 +1968,7 @@ "show_slideshow_transition": "Kuva slaidiesitluse Ãŧleminekud", "show_supporter_badge": "Toetaja märk", "show_supporter_badge_description": "Kuva toetaja märki", + "show_text_recognition": "Kuva tekstituvastust", "show_text_search_menu": "Kuva tekstiotsingu menÃŧÃŧd", "shuffle": "Juhuslik", "sidebar": "KÃŧlgmenÃŧÃŧ", @@ -2007,6 +2039,7 @@ "tags": "Sildid", "tap_to_run_job": "Puuduta tÃļÃļte käivitamiseks", "template": "Mall", + "text_recognition": "Tekstituvastus", "theme": "Teema", "theme_selection": "Teema valik", "theme_selection_description": "Sea automaatselt hele vÃĩi tume teema vastavalt veebilehitseja eelistustele", @@ -2027,6 +2060,7 @@ "third_party_resources": "Kolmanda osapoole ressursid", "time": "Aeg", "time_based_memories": "AjapÃĩhised mälestused", + "time_based_memories_duration": "Aeg sekundites, kui kaua igat pilti kuvada.", "timeline": "Ajajoon", "timezone": "AjavÃļÃļnd", "to_archive": "Arhiivi", @@ -2142,7 +2176,7 @@ "video_hover_setting_description": "Esita video eelvaade, kui hiirt selle kohal hÃĩljutada. Isegi kui keelatud, saab taasesituse alustada taasesitusnupu kohal hÃĩljutades.", "videos": "Videod", "videos_count": "{count, plural, one {# video} other {# videot}}", - "view": "Vaade", + "view": "Vaata", "view_album": "Vaata albumit", "view_all": "Vaata kÃĩiki", "view_all_users": "Vaata kÃĩiki kasutajaid", @@ -2167,6 +2201,7 @@ "welcome": "Tere tulemast", "welcome_to_immich": "Tere tulemast Immich'isse", "wifi_name": "WiFi-vÃĩrgu nimi", + "workflow": "TÃļÃļvoog", "wrong_pin_code": "Vale PIN-kood", "year": "Aasta", "years_ago": "{years, plural, one {# aasta} other {# aastat}} tagasi", diff --git a/i18n/eu.json b/i18n/eu.json index 291a62a7a1..0a6a93ab36 100644 --- a/i18n/eu.json +++ b/i18n/eu.json @@ -17,7 +17,6 @@ "add_birthday": "Urtebetetzea gehitu", "add_endpoint": "Endpoint-a gehitu", "add_exclusion_pattern": "Bazterketa eredua gehitu", - "add_import_path": "Inportazio bidea gehitu", "add_location": "Kokapena gehitu", "add_more_users": "Erabiltzaile gehiago gehitu", "add_partner": "Kidea gehitu", diff --git a/i18n/fa.json b/i18n/fa.json index f8e47af9c1..0ad0a84190 100644 --- a/i18n/fa.json +++ b/i18n/fa.json @@ -15,23 +15,28 @@ "add_a_title": "Ø§ŲØ˛ŲˆØ¯Ų† ØšŲ†ŲˆØ§Ų†", "add_birthday": "Ø§ŲØ˛ŲˆØ¯Ų† ØĒØ§ØąÛŒØŽ ØĒŲˆŲ„Ø¯", "add_exclusion_pattern": "Ø§ŲØ˛ŲˆØ¯Ų† Ø§Ų„Ú¯ŲˆÛŒ Ø§ØŗØĒØĢŲ†Ø§", - "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_album_bottom_sheet_some_local_assets": "Ø¨ØąØŽÛŒ Ø§Ø˛ Ų…Ø­ØĒŲˆØ§Ų‡Ø§ÛŒ Ų…Ø­Ų„ÛŒ ØąØ§ Ų†Ø´Ø¯ Ø¨Ų‡ ØĸŲ„Ø¨ŲˆŲ… اØļØ§ŲŲ‡ ÚŠØąØ¯", + "add_to_albums": "Ø§ŲØ˛ŲˆØ¯Ų† Ø¨Ų‡ ØĸŲ„Ø¨ŲˆŲ…", + "add_to_albums_count": "Ø§ŲØ˛ŲˆØ¯Ų† Ø¨Ų‡ ØĸŲ„Ø¨ŲˆŲ… Ų‡Ø§ {count}", "add_to_shared_album": "Ø§ŲØ˛ŲˆØ¯Ų† Ø¨Ų‡ ØĸŲ„Ø¨ŲˆŲ… اشØĒØąØ§ÚŠÛŒ", + "add_upload_to_stack": "Ø§ŲØ˛ŲˆØ¯Ų† ŲØ§ÛŒŲ„ Ø§ØąØŗØ§Ų„ÛŒ Ø¨Ų‡ Ų…ØŦŲ…ŲˆØšŲ‡", + "add_url": "Ø§ŲØ˛ŲˆØ¯Ų† ØĸØ¯ØąØŗ 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": "Ø§Ø¯Ų…ÛŒŲ†", "authentication_settings": "ØĒŲ†Ø¸ÛŒŲ…Ø§ØĒ Ø§Ø­ØąØ§Ø˛ Ų‡ŲˆÛŒØĒ", "authentication_settings_description": "Ų…Ø¯ÛŒØąÛŒØĒ ØąŲ…Ø˛ ØšØ¨ŲˆØąØŒ OAuth، ؈ ØŗØ§ÛŒØą ØĒŲ†Ø¸ÛŒŲ…Ø§ØĒ Ø§Ø­ØąØ§Ø˛ Ų‡ŲˆÛŒØĒ", "authentication_settings_disable_all": "Øĸیا Ų…ØˇŲ…ØĻŲ† Ų‡ØŗØĒید ÚŠŲ‡ Ų…ÛŒâ€ŒØŽŲˆØ§Ų‡ÛŒØ¯ ØĒŲ…Ø§Ų… ØąŲˆØ´â€ŒŲ‡Ø§ÛŒ ŲˆØąŲˆØ¯ ØąØ§ ØēÛŒØąŲØšØ§Ų„ ÚŠŲ†ÛŒØ¯ØŸ ŲˆØąŲˆØ¯ Ø¨Ų‡ ØˇŲˆØą ÚŠØ§Ų…Ų„ ØēÛŒØąŲØšØ§Ų„ ØŽŲˆØ§Ų‡Ø¯ شد.", @@ -79,7 +84,6 @@ "job_status": "؈ØļØšÛŒØĒ ÚŠØ§Øą", "library_created": "ÚŠØĒØ§Ø¨ØŽØ§Ų†Ų‡ ایØŦاد Ø´Ø¯Ų‡: {library}", "library_deleted": "ÚŠØĒØ§Ø¨ØŽØ§Ų†Ų‡ Ø­Ø°Ų شد", - "library_import_path_description": "یڊ ŲžŲˆØ´Ų‡ Ø¨ØąØ§ÛŒ ŲˆØ§ØąØ¯ ÚŠØąØ¯Ų† Ų…Ø´ØŽØĩ ÚŠŲ†ÛŒØ¯. Ø§ÛŒŲ† ŲžŲˆØ´Ų‡ØŒ Ø¨Ų‡ Ų‡Ų…ØąØ§Ų‡ Ø˛ÛŒØąŲžŲˆØ´Ų‡â€ŒŲ‡Ø§ØŒ Ø¨ØąØ§ÛŒ ÛŒØ§ŲØĒŲ† ØĒØĩØ§ŲˆÛŒØą ؈ ŲˆÛŒØ¯ÛŒŲˆŲ‡Ø§ Ø§ØŗÚŠŲ† ØŽŲˆØ§Ų‡Ø¯ شد.", "library_scanning": "Ø§ØŗÚŠŲ† Ø¯ŲˆØąŲ‡ ای", "library_scanning_description": "ØĒŲ†Ø¸ÛŒŲ… Ø§ØŗÚŠŲ† Ø¯ŲˆØąŲ‡â€ŒØ§ÛŒ ÚŠØĒØ§Ø¨ØŽØ§Ų†Ų‡", "library_scanning_enable_description": "ŲØšØ§Ų„ ÚŠØąØ¯Ų† Ø§ØŗÚŠŲ† Ø¯ŲˆØąŲ‡â€ŒØ§ÛŒ ÚŠØĒØ§Ø¨ØŽØ§Ų†Ų‡", diff --git a/i18n/fi.json b/i18n/fi.json index ac2007fa3a..106cb65d16 100644 --- a/i18n/fi.json +++ b/i18n/fi.json @@ -17,7 +17,6 @@ "add_birthday": "Lisää syntymäpäivä", "add_endpoint": "Lisää päätepiste", "add_exclusion_pattern": "Lisää poissulkemismalli", - "add_import_path": "Lisää tuontipolku", "add_location": "Lisää sijainti", "add_more_users": "Lisää käyttäjiä", "add_partner": "Lisää kumppani", @@ -32,6 +31,7 @@ "add_to_album_toggle": "Vaihda albumin {album} valintaa", "add_to_albums": "Lisää albumeihin", "add_to_albums_count": "Lisää albumeihin ({count})", + "add_to_bottom_bar": "Lisää", "add_to_shared_album": "Lisää jaettuun albumiin", "add_upload_to_stack": "Lisää kuvapinoon", "add_url": "Lisää URL", @@ -112,7 +112,6 @@ "jobs_failed": "{jobCount, plural, other {# epäonnistunutta}}", "library_created": "Kirjasto {library} luotu", "library_deleted": "Kirjasto poistettu", - "library_import_path_description": "Määritä kansio joka tuodaan. Kuvat ja videot skannataan tästä kansiosta, sekä alikansioista.", "library_scanning": "Ajoittainen skannaus", "library_scanning_description": "Määritä ajoittaiset kirjastojen skannaukset", "library_scanning_enable_description": "Ota käyttÃļÃļn ajoittaiset kirjastojen skannaukset", @@ -160,8 +159,8 @@ "machine_learning_ocr_enabled_description": "Jos asetus on pois päältä, kuvia ei prosessoida tekstin tunnistamiseksi.", "machine_learning_ocr_max_resolution": "Maksimiresoluutio", "machine_learning_ocr_max_resolution_description": "Tätä suuremmat esikatselukuvat tullaan pienentämään samassa kuvasuhteessa. Suuremmat arvot ovat tarkempia, mutta kestävät pidempään prosessoida ja käyttävät enemmän muistia.", - "machine_learning_ocr_min_detection_score": "Pienin paikannuksen pistemäärä", - "machine_learning_ocr_min_detection_score_description": "Pienin arvo tekstin paikannukselle varmuudelle välillä 0-1. Pienemmät arvot paikantavat enemmän tekstiä, mutta saattavat johtaa useampaan väärään positiiviseen.", + "machine_learning_ocr_min_detection_score": "Tunnistuksen vähimmäispistemäärä", + "machine_learning_ocr_min_detection_score_description": "Tekstin tunnistuksen vähimmäisluottamusarvo (0–1). Pienemmät arvot tunnistavat enemmän tekstiä, mutta voivat johtaa virheellisiin osumiin.", "machine_learning_ocr_min_recognition_score": "Pienin tunnistuksen pistemäärä", "machine_learning_ocr_min_score_recognition_description": "Pienin arvo tekstin tunnistuksen varmuudelle välillä 0-1. Pienemmät arvot tunnistavat enemmän tekstiä, mutta saattavat johtaa useampaan väärään positiiviseen.", "machine_learning_ocr_model": "OCR-malli", @@ -430,6 +429,7 @@ "age_months": "Ikä {months, plural, one {# kuukausi} other {# kuukautta}}", "age_year_months": "Ikä 1 vuosi, {months, plural, one {# kuukausi} other {# kuukautta}}", "age_years": "{years, plural, other {Ikä #v}}", + "album": "Albumi", "album_added": "Albumi lisätty", "album_added_notification_setting_description": "Saa sähkÃļpostia kun sinut lisätään jaettuun albumiin", "album_cover_updated": "Albumin kansikuva päivitetty", @@ -475,6 +475,7 @@ "allow_edits": "Salli muutokset", "allow_public_user_to_download": "Salli julkisten käyttäjien ladata tiedostoja", "allow_public_user_to_upload": "Salli julkisten käyttäjien lähettää tiedostoja", + "allowed": "Sallittu", "alt_text_qr_code": "QR-koodi", "anti_clockwise": "Vastapäivään", "api_key": "API-avain", @@ -683,7 +684,7 @@ "change_password_form_confirm_password": "Vahvista salasana", "change_password_form_description": "Hei {name},\n\nTämä on joko ensimmäinen kerta, kun kirjaudut järjestelmään, tai sinulta on pyydetty salasanan vaihtoa. Ole hyvä ja syÃļtä uusi salasana alle.", "change_password_form_log_out": "Kirjaudu ulos kaikilta muilta laitteilta", - "change_password_form_log_out_description": "On suositeltavaa kirjautua ulos kaikilta muilta laitteilta", + "change_password_form_log_out_description": "On suositeltavaa kirjautua ulos kaikilta laitteilta", "change_password_form_new_password": "Uusi salasana", "change_password_form_password_mismatch": "Salasanat eivät täsmää", "change_password_form_reenter_new_password": "Uusi salasana uudelleen", @@ -894,8 +895,6 @@ "edit_description_prompt": "Valitse uusi kuvaus:", "edit_exclusion_pattern": "Muokkaa poissulkemismallia", "edit_faces": "Muokkaa kasvoja", - "edit_import_path": "Muokkaa tuontipolkua", - "edit_import_paths": "Muokkaa tuontipolkuja", "edit_key": "Muokkaa avainta", "edit_link": "Muokkaa linkkiä", "edit_location": "Muokkaa sijaintia", @@ -967,7 +966,6 @@ "failed_to_stack_assets": "Medioiden pinoaminen epäonnistui", "failed_to_unstack_assets": "Medioiden pinoamisen purku epäonnistui", "failed_to_update_notification_status": "Ilmoituksen tilan päivittäminen epäonnistui", - "import_path_already_exists": "Tämä tuontipolku on jo olemassa.", "incorrect_email_or_password": "Väärä sähkÃļpostiosoite tai salasana", "paths_validation_failed": "{paths, plural, one {# polun} other {# polun}} validointi epäonnistui", "profile_picture_transparent_pixels": "Profiilikuvassa ei voi olla läpinäkyviä pikseleitä. Zoomaa lähemmäs ja/tai siirrä kuvaa.", @@ -977,7 +975,6 @@ "unable_to_add_assets_to_shared_link": "Medioiden lisääminen jaettuun linkkiin epäonnistui", "unable_to_add_comment": "Kommentin lisääminen epäonnistui", "unable_to_add_exclusion_pattern": "Ei voida lisätä poissulkemismallia", - "unable_to_add_import_path": "Tuontipolkua ei voitu lisätä", "unable_to_add_partners": "Kumppaneita ei voitu lisätä", "unable_to_add_remove_archive": "Ei voida {archived, select, true {poistaa kohdetta arkistosta} other {lisätä kohdetta arkistoon}}", "unable_to_add_remove_favorites": "Ei voida {favorite, select, true {lisätä kohdetta suosikkeihin} other {poistaa kohdetta suosikeista}}", @@ -1000,12 +997,10 @@ "unable_to_delete_asset": "Kohteen poistaminen epäonnistui", "unable_to_delete_assets": "Virhe kohteen poistamisessa", "unable_to_delete_exclusion_pattern": "Ei voida poistaa poissulkemismallia", - "unable_to_delete_import_path": "Tuontipolkua ei voitu poistaa", "unable_to_delete_shared_link": "Jaetun linkin poistaminen epäonnistui", "unable_to_delete_user": "Käyttäjän poistaminen epäonnistui", "unable_to_download_files": "Tiedostojen lataaminen epäonnistui", "unable_to_edit_exclusion_pattern": "Ei voida muokata poissulkemismallia", - "unable_to_edit_import_path": "Tuontipolkua ei voitu muokata", "unable_to_empty_trash": "Roskakorin tyhjentäminen epäonnistui", "unable_to_enter_fullscreen": "Koko ruudun tilaan siirtyminen epäonnistui", "unable_to_exit_fullscreen": "Koko ruudun tilasta poistuminen epäonnistui", @@ -1551,7 +1546,7 @@ "pin_code_reset_successfully": "PIN-koodin nollaus onnistui", "pin_code_setup_successfully": "PIN-koodin asettaminen onnistui", "pin_verification": "PIN-koodin vahvistus", - "place": "Sijainti", + "place": "Paikka", "places": "Paikat", "places_count": "{count, plural, one {{count, number} Paikka} other {{count, number} Paikkaa}}", "play": "Toista", @@ -1716,6 +1711,7 @@ "running": "Käynnissä", "save": "Tallenna", "save_to_gallery": "Tallenna galleriaan", + "saved": "Tallennettu", "saved_api_key": "API-avain tallennettu", "saved_profile": "Profiili tallennettu", "saved_settings": "Asetukset tallennettu", @@ -2026,6 +2022,7 @@ "third_party_resources": "Kolmannen osapuolen resurssit", "time": "Aika", "time_based_memories": "Aikaan perustuvat muistot", + "time_based_memories_duration": "Kuvien näyttÃļaika sekunteina.", "timeline": "Aikajana", "timezone": "AikavyÃļhyke", "to_archive": "Arkistoi", diff --git a/i18n/fil.json b/i18n/fil.json index 23257ce2fd..413ed85828 100644 --- a/i18n/fil.json +++ b/i18n/fil.json @@ -62,7 +62,6 @@ "exclusion_pattern_description": "Maaaring gamitin ang mga pattern na pangbukod para hindi pansinin ang ilang file o folder habang binabasa ang iyong library. Mainam itong solusyon para sa mga folder na may file na ayaw niyong ma-import, tulad ng mga RAW na file.", "force_delete_user_warning": "BABALA: Tatanggalin itong user at lahat ng asset nila, Hindi ito mababawi at ang kanilang files ay hindi na mababalik", "image_format": "Format", - "library_import_path_description": "Tukuyin ang folder na i-import. Ang folder na ito, kasama ang subfolders, ay mag sa-scan para sa mga imahe at mga videos.", "note_cannot_be_changed_later": "TANDAAN: Hindi na ito pwede baguhin sa susunod!", "server_welcome_message_description": "Mensahe na ipapakita sa login page.", "user_restore_description": "Ang account ni {user} ay maibabalik." diff --git a/i18n/fr.json b/i18n/fr.json index 789afffc38..6c32aac0f1 100644 --- a/i18n/fr.json +++ b/i18n/fr.json @@ -4,7 +4,7 @@ "account_settings": "Paramètres du compte", "acknowledge": "Compris", "action": "Action", - "action_common_update": "Mise à jour", + "action_common_update": "Mettre à jour", "actions": "Actions", "active": "En cours", "activity": "ActivitÊ", @@ -17,7 +17,6 @@ "add_birthday": "Ajouter un anniversaire", "add_endpoint": "Ajouter une adresse", "add_exclusion_pattern": "Ajouter un schÊma d'exclusion", - "add_import_path": "Ajouter un chemin à importer", "add_location": "Ajouter une localisation", "add_more_users": "Ajouter plus d'utilisateurs", "add_partner": "Ajouter un partenaire", @@ -32,6 +31,7 @@ "add_to_album_toggle": "Basculer la sÊlection pour {album}", "add_to_albums": "Ajouter aux albums", "add_to_albums_count": "Ajouter aux albums ({count})", + "add_to_bottom_bar": "Ajouter à", "add_to_shared_album": "Ajouter à l'album partagÊ", "add_upload_to_stack": "Ajouter les ÊlÊments tÊlÊversÊs à la pile", "add_url": "Ajouter l'URL", @@ -112,13 +112,17 @@ "jobs_failed": "{jobCount, plural, other {# en Êchec}}", "library_created": "Bibliothèque crÊÊe : {library}", "library_deleted": "Bibliothèque supprimÊe", - "library_import_path_description": "SpÊcifier un dossier à importer. Ce dossier, y compris ses sous-dossiers, sera analysÊ à la recherche d'images et de vidÊos.", + "library_details": "DÊtails de la bibliothèque", + "library_folder_description": "Renseignez un dossier à importer. Ce dossier et ses sous-dossiers seront scannÊs pour leurs images et vidÊos.", + "library_remove_exclusion_pattern_prompt": "Êtes-vous sÃģr de vouloir supprimer ce schÊma d'exclusion ?", + "library_remove_folder_prompt": "Êtes-vous sÃģr de vouloir supprimer ce dossier d'import ?", "library_scanning": "Analyse pÊriodique", "library_scanning_description": "Configurer l'analyse pÊriodique de la bibliothèque", "library_scanning_enable_description": "Activer l'analyse pÊriodique de la bibliothèque", "library_settings": "Bibliothèque externe", "library_settings_description": "Gestion des paramètres des bibliothèques externes", "library_tasks_description": "Scanner les bibliothèques externes pour les nouveaux et/ou les ÊlÊments modifiÊs", + "library_updated": "Bibliothèque mise à jour", "library_watching_enable_description": "Surveiller les modifications de fichiers dans les bibliothèques externes", "library_watching_settings": "Surveillance de bibliothèque [EXPÉRIMENTAL]", "library_watching_settings_description": "Surveiller automatiquement les fichiers modifiÊs", @@ -173,6 +177,10 @@ "machine_learning_smart_search_enabled": "Activer la recherche intelligente", "machine_learning_smart_search_enabled_description": "Si cette option est dÊsactivÊe, les images ne seront pas encodÊes pour la recherche intelligente.", "machine_learning_url_description": "L’URL du serveur d'apprentissage automatique. Si plusieurs URL sont fournies, chaque serveur sera essayÊ un par un jusqu’à ce que l’un d’eux rÊponde avec succès, dans l’ordre de la première à la dernière. Les serveurs ne rÊpondant pas seront temporairement ignorÊs jusqu'à ce qu'ils soient de nouveau opÊrationnels.", + "maintenance_settings": "Maintenance", + "maintenance_settings_description": "Mettre Immich en mode maintenance.", + "maintenance_start": "DÊmarrer le mode maintenance", + "maintenance_start_error": "Échec du dÊmarrage du mode maintenance.", "manage_concurrency": "GÊrer du multitÃĸche", "manage_log_settings": "GÊrer les paramètres de journalisation", "map_dark_style": "Thème sombre", @@ -430,6 +438,7 @@ "age_months": "Âge {months, plural, one {# mois} other {# mois}}", "age_year_months": "Âge 1 an, {months, plural, one {# mois} other {# mois}}", "age_years": "Âge {years, plural, one {# an} other {# ans}}", + "album": "Album", "album_added": "Album ajoutÊ", "album_added_notification_setting_description": "Recevoir une notification par courriel lorsque vous ÃĒtes ajoutÊ(e) à un album partagÊ", "album_cover_updated": "Couverture de l'album mise à jour", @@ -475,6 +484,7 @@ "allow_edits": "Autoriser les modifications", "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", + "allowed": "AutorisÊ", "alt_text_qr_code": "Image du code QR", "anti_clockwise": "Sens anti-horaire", "api_key": "ClÊ API", @@ -724,7 +734,7 @@ "comments_are_disabled": "Les commentaires sont dÊsactivÊs", "common_create_new_album": "CrÊer un nouvel album", "completed": "ComplÊtÊ", - "confirm": "Confirmez", + "confirm": "Confirmer", "confirm_admin_password": "Confirmez le mot de passe Admin", "confirm_delete_face": "Êtes-vous sÃģr de vouloir supprimer le visage de {name} du mÊdia ?", "confirm_delete_shared_link": "Voulez-vous vraiment supprimer ce lien partagÊ ?", @@ -894,8 +904,6 @@ "edit_description_prompt": "Choisir une nouvelle description :", "edit_exclusion_pattern": "Modifier le schÊma d'exclusion", "edit_faces": "Modifier les visages", - "edit_import_path": "Modifier le chemin d'importation", - "edit_import_paths": "Modifier les chemins d'importation", "edit_key": "Modifier la clÊ", "edit_link": "Modifier le lien", "edit_location": "Modifier la localisation", @@ -967,8 +975,8 @@ "failed_to_stack_assets": "Impossible d'empiler les mÊdias", "failed_to_unstack_assets": "Impossible de dÊpiler les mÊdias", "failed_to_update_notification_status": "Erreur de mise à jour du statut des notifications", - "import_path_already_exists": "Ce chemin d'importation existe dÊjà.", "incorrect_email_or_password": "Courriel ou mot de passe incorrect", + "library_folder_already_exists": "Ce chemin d'import existe dÊjà.", "paths_validation_failed": "Validation ÊchouÊe pour {paths, plural, one {# un chemin} other {# plusieurs chemins}}", "profile_picture_transparent_pixels": "Les images de profil ne peuvent pas avoir de pixels transparents. Veuillez agrandir et/ou dÊplacer l'image.", "quota_higher_than_disk_size": "Le quota saisi est supÊrieur à l'espace disponible", @@ -977,7 +985,6 @@ "unable_to_add_assets_to_shared_link": "Impossible d'ajouter des mÊdias au lien partagÊ", "unable_to_add_comment": "Impossible d'ajouter un commentaire", "unable_to_add_exclusion_pattern": "Impossible d'ajouter un schÊma d'exclusion", - "unable_to_add_import_path": "Impossible d'ajouter le chemin d'importation", "unable_to_add_partners": "Impossible d'ajouter des partenaires", "unable_to_add_remove_archive": "Impossible {archived, select, true {de supprimer des mÊdias de} other {d'ajouter des mÊdias à}} l'archive", "unable_to_add_remove_favorites": "Impossible {favorite, select, true {d'ajouter des mÊdias aux} other {de supprimer des mÊdias des}} favoris", @@ -1000,12 +1007,10 @@ "unable_to_delete_asset": "Impossible de supprimer le mÊdia", "unable_to_delete_assets": "Erreur lors de la suppression des mÊdias", "unable_to_delete_exclusion_pattern": "Impossible de supprimer le modèle d'exclusion", - "unable_to_delete_import_path": "Impossible de supprimer le chemin d'importation", "unable_to_delete_shared_link": "Impossible de supprimer le lien de partage", "unable_to_delete_user": "Impossible de supprimer l'utilisateur", "unable_to_download_files": "Impossible de tÊlÊcharger les fichiers", "unable_to_edit_exclusion_pattern": "Impossible de modifier le modèle d'exclusion", - "unable_to_edit_import_path": "Impossible de modifier le chemin d'importation", "unable_to_empty_trash": "Impossible de vider la corbeille", "unable_to_enter_fullscreen": "Mode plein Êcran indisponible", "unable_to_exit_fullscreen": "Impossible de sortir du mode plein Êcran", @@ -1056,6 +1061,7 @@ "unable_to_update_user": "Impossible de mettre à jour l'utilisateur", "unable_to_upload_file": "Impossible d'envoyer le fichier" }, + "exclusion_pattern": "SchÊma d'exclusion", "exif": "Exif", "exif_bottom_sheet_description": "Ajouter une description...", "exif_bottom_sheet_description_error": "Erreur de mise à jour de la description", @@ -1115,6 +1121,7 @@ "folders_feature_description": "Parcourir l'affichage par dossiers pour les photos et les vidÊos sur le système de fichiers", "forgot_pin_code_question": "Code PIN oubliÊ ?", "forward": "Avant", + "full_path": "Chemin complet : {path}", "gcast_enabled": "Diffusion Google Cast", "gcast_enabled_description": "Cette fonctionnalitÊ charge des ressources externes depuis Google pour fonctionner.", "general": "GÊnÊral", @@ -1196,6 +1203,8 @@ "import_path": "Chemin d'importation", "in_albums": "Dans {count, plural, one {# album} other {# albums}}", "in_archive": "Dans les archives", + "in_year": "Dans {year}", + "in_year_selector": "Dans", "include_archived": "Inclure les archives", "include_shared_albums": "Inclure les albums partagÊs", "include_shared_partner_assets": "Inclure les mÊdias partagÊs du partenaire", @@ -1232,6 +1241,7 @@ "language_setting_description": "SÊlectionnez votre langue prÊfÊrÊe", "large_files": "Fichiers volumineux", "last": "Dernier", + "last_months": "{count, plural, one {Dernier mois} other {Derniers # mois}}", "last_seen": "Dernièrement utilisÊ", "latest_version": "Dernière version", "latitude": "Latitude", @@ -1241,6 +1251,8 @@ "let_others_respond": "Laisser les autres rÊagir", "level": "Niveau", "library": "Bibliothèque", + "library_add_folder": "Ajouter un dossier", + "library_edit_folder": "Modifier un dossier", "library_options": "Options de bibliothèque", "library_page_device_albums": "Albums sur l'appareil", "library_page_new_album": "Nouvel album", @@ -1312,8 +1324,17 @@ "loop_videos_description": "Activer pour voir la vidÊo en boucle dans le lecteur dÊtaillÊ.", "main_branch_warning": "Vous utilisez une version de dÊveloppement. Nous vous recommandons fortement d'utiliser une version stable !", "main_menu": "Menu principal", + "maintenance_description": "Immich a ÊtÊ mis en mode maintenance.", + "maintenance_end": "ArrÃĒter le mode maintenance", + "maintenance_end_error": "Échec de l'arrÃĒt du mode maintenance.", + "maintenance_logged_in_as": "Actuellement connectÊ en tant que {user}", + "maintenance_title": "Temporairement non disponible", "make": "Marque", "manage_geolocation": "GÊrer la localisation", + "manage_media_access_rationale": "Cette autorisation est nÊcessaire pour gÊrer correctement le dÊplacement de mÊdias vers la corbeille et la restauration depuis celle-ci.", + "manage_media_access_settings": "Ouvrir les paramètres", + "manage_media_access_subtitle": "Autoriser l'application Immich à gÊrer et dÊplacer des fichiers de mÊdia.", + "manage_media_access_title": "Accès à la gestion de mÊdias", "manage_shared_links": "GÊrer les liens partagÊs", "manage_sharing_with_partners": "GÊrer le partage avec les partenaires", "manage_the_app_settings": "GÊrer les paramètres de l'application", @@ -1377,6 +1398,7 @@ "more": "Plus", "move": "DÊplacer", "move_off_locked_folder": "DÊplacer en dehors du dossier verrouillÊ", + "move_to": "DÊplacer vers", "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Êes de tous les albums et ne seront visibles que dans le dossier verrouillÊ", @@ -1406,6 +1428,7 @@ "new_pin_code": "Nouveau code PIN", "new_pin_code_subtitle": "C'est votre premier accès au dossier verrouillÊ. CrÊez un code PIN pour sÊcuriser l'accès à cette page", "new_timeline": "Nouvelle vue chronologique", + "new_update": "Nouvelle mise à jour", "new_user_created": "Nouvel utilisateur crÊÊ", "new_version_available": "NOUVELLE VERSION DISPONIBLE", "newest_first": "RÊcents en premier", @@ -1421,12 +1444,14 @@ "no_cast_devices_found": "Aucun appareil de diffusion trouvÊ", "no_checksum_local": "Aucune empreinte numerique disponible - impossible de rÊcupÊrer les mÊdias locaux", "no_checksum_remote": "Aucune empreinte numÊrique disponible - impossible de rÊcupÊrer les mÊdias distants", + "no_devices": "Aucun appareil autorisÊ", "no_duplicates_found": "Aucun doublon n'a ÊtÊ trouvÊ.", "no_exif_info_available": "Aucune information exif disponible", "no_explore_results_message": "Envoyez plus de photos pour explorer votre bibliothèque.", "no_favorites_message": "Ajouter des photos et vidÊos à vos favoris pour les retrouver plus rapidement", "no_libraries_message": "CrÊer une bibliothèque externe pour voir vos photos et vidÊos dans un autre espace de stockage", "no_local_assets_found": "Aucun mÊdia local trouvÊ avec cette empreinte numerique", + "no_location_set": "Aucune localisation definie", "no_locked_photos_message": "Les photos et vidÊos du dossier verrouillÊ sont masquÊs et ne s'afficheront pas dans votre galerie ou la recherche.", "no_name": "Pas de nom", "no_notifications": "Pas de notification", @@ -1437,6 +1462,7 @@ "no_results_description": "Essayez un synonyme ou un mot-clÊ plus gÊnÊral", "no_shared_albums_message": "CrÊer un album pour partager vos photos et vidÊos avec les personnes de votre rÊseau", "no_uploads_in_progress": "Pas d'envoi en cours", + "not_allowed": "Non autorisÊ", "not_available": "N/A", "not_in_any_album": "Dans aucun album", "not_selected": "Non sÊlectionnÊ", @@ -1547,6 +1573,8 @@ "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 une localisation", + "pick_custom_range": "PÊriode personnalisÊe", + "pick_date_range": "SÊlectionner une pÊriode de dates", "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", @@ -1814,6 +1842,8 @@ "server_offline": "Serveur hors ligne", "server_online": "Serveur en ligne", "server_privacy": "Vie privÊe pour le serveur", + "server_restarting_description": "Cette page va se rafraÃŽchir dans quelques instants.", + "server_restarting_title": "Le serveur redÊmarre", "server_stats": "Statistiques du serveur", "server_update_available": "Une mise à jour du serveur est disponible", "server_version": "Version du serveur", @@ -2027,6 +2057,7 @@ "third_party_resources": "Ressources tierces", "time": "Horaire", "time_based_memories": "Souvenirs basÊs sur la date", + "time_based_memories_duration": "DurÊe en secondes d'affichage de chaque image.", "timeline": "Vue chronologique", "timezone": "Fuseau horaire", "to_archive": "Archiver", @@ -2167,6 +2198,7 @@ "welcome": "Bienvenue", "welcome_to_immich": "Bienvenue sur Immich", "wifi_name": "Nom du rÊseau wifi", + "workflow": "Flux de travail", "wrong_pin_code": "Code PIN erronÊ", "year": "AnnÊe", "years_ago": "Il y a {years, plural, one {# an} other {# ans}}", diff --git a/i18n/ga.json b/i18n/ga.json new file mode 100644 index 0000000000..0967ef424b --- /dev/null +++ b/i18n/ga.json @@ -0,0 +1 @@ +{} diff --git a/i18n/gl.json b/i18n/gl.json index c2e955960d..3aac86e684 100644 --- a/i18n/gl.json +++ b/i18n/gl.json @@ -17,7 +17,6 @@ "add_birthday": "Engadir cumpreanos", "add_endpoint": "Engadir punto final", "add_exclusion_pattern": "Engadir patrÃŗn de exclusiÃŗn", - "add_import_path": "Engadir ruta de importaciÃŗn", "add_location": "Engadir localizaciÃŗn", "add_more_users": "Engadir mÃĄis usuarios", "add_partner": "Engadir compaÃąeiro/a", @@ -32,6 +31,7 @@ "add_to_album_toggle": "Alternar selecciÃŗn para {album}", "add_to_albums": "Engadir a ÃĄlbums", "add_to_albums_count": "Engadir a {count} ÃĄlbums", + "add_to_bottom_bar": "Engadir a", "add_to_shared_album": "Engadir ao ÃĄlbum compartido", "add_upload_to_stack": "Engade cargar ÃĄ pila", "add_url": "Engadir URL", @@ -112,7 +112,6 @@ "jobs_failed": "{jobCount, plural, other {# fallados}}", "library_created": "Biblioteca creada: {library}", "library_deleted": "Biblioteca eliminada", - "library_import_path_description": "Especifique un cartafol para importar. Este cartafol, incluídos os subcartafoles, escanearase en busca de imaxes e vídeos.", "library_scanning": "Escaneo periÃŗdico", "library_scanning_description": "Configurar o escaneo periÃŗdico da biblioteca", "library_scanning_enable_description": "Activar o escaneo periÃŗdico da biblioteca", @@ -120,7 +119,7 @@ "library_settings_description": "Xestionar a configuraciÃŗn da biblioteca externa", "library_tasks_description": "Escanear bibliotecas externas en busca de activos novos e/ou modificados", "library_watching_enable_description": "Vixiar bibliotecas externas para detectar cambios nos ficheiros", - "library_watching_settings": "Vixilancia da biblioteca (EXPERIMENTAL)", + "library_watching_settings": "Vixilancia da biblioteca [EXPERIMENTAL]", "library_watching_settings_description": "Vixiar automaticamente os ficheiros modificados", "logging_enable_description": "Activar rexistro", "logging_level_description": "Cando estea activado, que nivel de rexistro usar.", @@ -154,6 +153,18 @@ "machine_learning_min_detection_score_description": "PuntuaciÃŗn mínima de confianza para que unha cara sexa detectada, de 0 a 1. Valores mÃĄis baixos detectarÃĄn mÃĄis caras pero poden resultar en falsos positivos.", "machine_learning_min_recognized_faces": "Mínimo de caras recoÃąecidas", "machine_learning_min_recognized_faces_description": "O nÃēmero mínimo de caras recoÃąecidas para que se cree unha persoa. Aumentar isto fai que o RecoÃąecemento Facial sexa mÃĄis preciso a costa de aumentar a posibilidade de que unha cara non se asigne a unha persoa.", + "machine_learning_ocr": "OCR", + "machine_learning_ocr_description": "Emprega aprendizaxe automÃĄtica para recoÃąecer texto en imaxes", + "machine_learning_ocr_enabled": "Activa o OCR", + "machine_learning_ocr_enabled_description": "Se estÃĄ desactivado, as imaxes non se someterÃĄn a recoÃąecemento de texto.", + "machine_learning_ocr_max_resolution": "ResoluciÃŗn mÃĄxima", + "machine_learning_ocr_max_resolution_description": "As previsualizaciÃŗns por enriba desta resoluciÃŗn redimensionaranse mantendo a proporciÃŗn. Os valores mÃĄis altos son mÃĄis precisos, pero tardan mÃĄis en procesarse e usan mÃĄis memoria.", + "machine_learning_ocr_min_detection_score": "PuntuaciÃŗn mínima de detecciÃŗn", + "machine_learning_ocr_min_detection_score_description": "PuntuaciÃŗn mínima de confianza para que o texto sexa detectado, de 0 a 1. Os valores mÃĄis baixos detectarÃĄn mÃĄis texto, pero poden producir falsos positivos.", + "machine_learning_ocr_min_recognition_score": "PuntuaciÃŗn mínima de recoÃąecemento", + "machine_learning_ocr_min_score_recognition_description": "PuntuaciÃŗn mínima de confianza para que o texto detectado sexa recoÃąecido, de 0 a 1. Os valores mÃĄis baixos recoÃąecerÃĄn mÃĄis texto, pero poden producir falsos positivos.", + "machine_learning_ocr_model": "Modelo OCR", + "machine_learning_ocr_model_description": "Os modelos de servidor son mÃĄis precisos que os modelos mÃŗbiles, pero tardan mÃĄis en procesarse e usan mÃĄis memoria.", "machine_learning_settings": "ConfiguraciÃŗn da Aprendizaxe AutomÃĄtica", "machine_learning_settings_description": "Xestionar funciÃŗns e configuraciÃŗns da aprendizaxe automÃĄtica", "machine_learning_smart_search": "Busca Intelixente", @@ -245,6 +256,7 @@ "oauth_storage_quota_default_description": "Cota en GiB a empregar cando non se proporciona ningunha declaraciÃŗn.", "oauth_timeout": "Tempo mÃĄximo de espera da solicitude", "oauth_timeout_description": "Tempo mÃĄximo de espera para as solicitudes en milisegundos", + "ocr_job_description": "Emprega aprendizaxe automÃĄtica para recoÃąecer texto en imaxes", "password_enable_description": "Iniciar sesiÃŗn con correo electrÃŗnico e contrasinal", "password_settings": "Inicio de sesiÃŗn con contrasinal", "password_settings_description": "Xestionar a configuraciÃŗn de inicio de sesiÃŗn con contrasinal", @@ -404,11 +416,11 @@ "advanced_settings_prefer_remote_subtitle": "AlgÃēns dispositivos tardan moito en cargar as miniaturas de ficheiros locais. Active esta opciÃŗn para cargar imaxes remotas no seu lugar.", "advanced_settings_prefer_remote_title": "Preferir imaxes remotas", "advanced_settings_proxy_headers_subtitle": "Definir cabeceiras de proxy que Immich debería enviar con cada solicitude de rede", - "advanced_settings_proxy_headers_title": "Cabeceiras de Proxy", + "advanced_settings_proxy_headers_title": "Cabeceiras de proxy personalizadas [EXPERIMENTAL]", "advanced_settings_readonly_mode_subtitle": "Activa o modo de sÃŗ lectura, no que as fotos sÃŗ se poden visualizar; opciÃŗns como seleccionar varias imaxes, compartir, enviar a outros dispositivos ou eliminar estÃĄn deshabilitadas. Active/desactive o modo de sÃŗ lectura a travÊs do avatar do usuario na pantalla principal", "advanced_settings_readonly_mode_title": "Modo de sÃŗ lectura", "advanced_settings_self_signed_ssl_subtitle": "Omite a verificaciÃŗn do certificado SSL para o punto final do servidor. Requirido para certificados autofirmados.", - "advanced_settings_self_signed_ssl_title": "Permitir certificados SSL autofirmados", + "advanced_settings_self_signed_ssl_title": "Permitir certificados SSL autofirmados [EXPERIMENTAL]", "advanced_settings_sync_remote_deletions_subtitle": "Eliminar ou restaurar automaticamente un activo neste dispositivo cando esa acciÃŗn se realiza na web", "advanced_settings_sync_remote_deletions_title": "Sincronizar eliminaciÃŗns remotas [EXPERIMENTAL]", "advanced_settings_tile_subtitle": "ConfiguraciÃŗn de usuario avanzado", @@ -417,6 +429,7 @@ "age_months": "Idade: {months, plural, one {# mes} other {# meses}}", "age_year_months": "Idade: 1 ano e {months, plural, one {# mes} other {# meses}}", "age_years": "Idade: {years, plural, one {# ano} other {# anos}}", + "album": "Álbum", "album_added": "Álbum engadido", "album_added_notification_setting_description": "Recibir unha notificaciÃŗn por correo electrÃŗnico cando sexa engadido a un ÃĄlbum compartido", "album_cover_updated": "Portada do ÃĄlbum actualizada", @@ -462,6 +475,7 @@ "allow_edits": "Permitir ediciÃŗns", "allow_public_user_to_download": "Permitir que o usuario pÃēblico descargue", "allow_public_user_to_upload": "Permitir que o usuario pÃēblico cargue", + "allowed": "Permitido", "alt_text_qr_code": "Imaxe de cÃŗdigo QR", "anti_clockwise": "Sentido antihorario", "api_key": "Chave API", @@ -474,6 +488,8 @@ "app_bar_signout_dialog_title": "Pechar sesiÃŗn", "app_download_links": "LigazÃŗns de Descarga da AplicaciÃŗn", "app_settings": "ConfiguraciÃŗn da AplicaciÃŗn", + "app_stores": "Tendas de aplicaciÃŗns", + "app_update_available": "Hai unha actualizaciÃŗn da aplicaciÃŗn dispoÃąible", "appears_in": "Aparece en", "apply_count": "Aplicar ({count, number})", "archive": "Arquivo", @@ -557,6 +573,7 @@ "backup_albums_sync": "SincronizaciÃŗn de ÃĄlbums da copia de seguridade", "backup_all": "Todo", "backup_background_service_backup_failed_message": "Erro ao facer copia de seguridade dos activos. Reintentandoâ€Ļ", + "backup_background_service_complete_notification": "Copia de seguridade dos recursos completada", "backup_background_service_connection_failed_message": "Erro ao conectar co servidor. Reintentandoâ€Ļ", "backup_background_service_current_upload_notification": "Subindo {filename}", "backup_background_service_default_notification": "Comprobando novos activosâ€Ļ", @@ -666,6 +683,8 @@ "change_password_description": "Esta Ê a primeira vez que inicia sesiÃŗn no sistema ou solicitouse un cambio do seu contrasinal. Introduza o novo contrasinal a continuaciÃŗn.", "change_password_form_confirm_password": "Confirmar Contrasinal", "change_password_form_description": "Ola {name},\n\nEsta Ê a primeira vez que inicia sesiÃŗn no sistema ou solicitouse un cambio do seu contrasinal. Introduza o novo contrasinal a continuaciÃŗn.", + "change_password_form_log_out": "Pechar sesiÃŗn en todos os outros dispositivos", + "change_password_form_log_out_description": "RecomÊndase pechar sesiÃŗn en todos os outros dispositivos", "change_password_form_new_password": "Novo Contrasinal", "change_password_form_password_mismatch": "Os contrasinais non coinciden", "change_password_form_reenter_new_password": "Reintroducir Novo Contrasinal", @@ -692,8 +711,8 @@ "client_cert_import_success_msg": "Certificado de cliente importado", "client_cert_invalid_msg": "Ficheiro de certificado invÃĄlido ou contrasinal incorrecto", "client_cert_remove_msg": "Certificado de cliente eliminado", - "client_cert_subtitle": "SÃŗ admite o formato PKCS12 (.p12, .pfx). A importaciÃŗn/eliminaciÃŗn de certificados sÃŗ estÃĄ dispoÃąible antes de iniciar sesiÃŗn", - "client_cert_title": "Certificado de Cliente SSL", + "client_cert_subtitle": "Soporta sÃŗ o formato PKCS12 (.p12, .pfx). A importaciÃŗn ou eliminaciÃŗn de certificados estÃĄ dispoÃąible sÃŗ antes de iniciar sesiÃŗn", + "client_cert_title": "Certificado de cliente SSL [EXPERIMENTAL]", "clockwise": "Sentido horario", "close": "Pechar", "collapse": "Contraer", @@ -743,6 +762,7 @@ "create": "Crear", "create_album": "Crear ÃĄlbum", "create_album_page_untitled": "Sen título", + "create_api_key": "Crear chave API", "create_library": "Crear Biblioteca", "create_link": "Crear ligazÃŗn", "create_link_to_share": "Crear ligazÃŗn para compartir", @@ -772,6 +792,7 @@ "daily_title_text_date_year": "E, dd MMM, yyyy", "dark": "Escuro", "dark_theme": "Alternar tema escuro", + "date": "Data", "date_after": "Data posterior a", "date_and_time": "Data e Hora", "date_before": "Data anterior a", @@ -874,8 +895,6 @@ "edit_description_prompt": "Por favor, seleccione unha nova descriciÃŗn:", "edit_exclusion_pattern": "Editar patrÃŗn de exclusiÃŗn", "edit_faces": "Editar caras", - "edit_import_path": "Editar ruta de importaciÃŗn", - "edit_import_paths": "Editar Rutas de ImportaciÃŗn", "edit_key": "Editar chave", "edit_link": "Editar ligazÃŗn", "edit_location": "Editar localizaciÃŗn", @@ -947,7 +966,6 @@ "failed_to_stack_assets": "Erro ao apilar activos", "failed_to_unstack_assets": "Erro ao desapilar activos", "failed_to_update_notification_status": "Erro ao actualizar o estado das notificaciÃŗns", - "import_path_already_exists": "Esta ruta de importaciÃŗn xa existe.", "incorrect_email_or_password": "Correo electrÃŗnico ou contrasinal incorrectos", "paths_validation_failed": "{paths, plural, one {# ruta fallou} other {# rutas fallaron}} na validaciÃŗn", "profile_picture_transparent_pixels": "As imaxes de perfil non poden ter píxeles transparentes. Por favor, faga zoom e/ou mova a imaxe.", @@ -957,7 +975,6 @@ "unable_to_add_assets_to_shared_link": "Non se puideron engadir activos ÃĄ ligazÃŗn compartida", "unable_to_add_comment": "Non se puido engadir o comentario", "unable_to_add_exclusion_pattern": "Non se puido engadir o patrÃŗn de exclusiÃŗn", - "unable_to_add_import_path": "Non se puido engadir a ruta de importaciÃŗn", "unable_to_add_partners": "Non se puideron engadir compaÃąeiros/as", "unable_to_add_remove_archive": "Non se puido {archived, select, true {eliminar activo do} other {engadir activo ao}} arquivo", "unable_to_add_remove_favorites": "Non se puido {favorite, select, true {engadir activo a} other {eliminar activo de}} favoritos", @@ -980,12 +997,10 @@ "unable_to_delete_asset": "Non se puido eliminar o activo", "unable_to_delete_assets": "Erro ao eliminar activos", "unable_to_delete_exclusion_pattern": "Non se puido eliminar o patrÃŗn de exclusiÃŗn", - "unable_to_delete_import_path": "Non se puido eliminar a ruta de importaciÃŗn", "unable_to_delete_shared_link": "Non se puido eliminar a ligazÃŗn compartida", "unable_to_delete_user": "Non se puido eliminar o usuario", "unable_to_download_files": "Non se puideron descargar os ficheiros", "unable_to_edit_exclusion_pattern": "Non se puido editar o patrÃŗn de exclusiÃŗn", - "unable_to_edit_import_path": "Non se puido editar a ruta de importaciÃŗn", "unable_to_empty_trash": "Non se puido baleirar o lixo", "unable_to_enter_fullscreen": "Non se puido entrar en pantalla completa", "unable_to_exit_fullscreen": "Non se puido saír da pantalla completa", @@ -1080,6 +1095,7 @@ "features_setting_description": "Xestionar as funciÃŗns da aplicaciÃŗn", "file_name": "Nome do ficheiro", "file_name_or_extension": "Nome do ficheiro ou extensiÃŗn", + "file_size": "TamaÃąo do arquivo", "filename": "Nome do ficheiro", "filetype": "Tipo de ficheiro", "filter": "Filtro", @@ -1119,7 +1135,7 @@ "hash_asset": "Facer hash do recurso", "hashed_assets": "Recursos cun hash", "hashing": "Aplicando hash", - "header_settings_add_header_tip": "Engadir Cabeceira", + "header_settings_add_header_tip": "Engadir cabeceira", "header_settings_field_validator_msg": "O valor non pode estar baleiro", "header_settings_header_name_input": "Nome da cabeceira", "header_settings_header_value_input": "Valor da cabeceira", @@ -1175,6 +1191,8 @@ "import_path": "Ruta de importaciÃŗn", "in_albums": "En {count, plural, one {# ÃĄlbum} other {# ÃĄlbums}}", "in_archive": "No arquivo", + "in_year": "No {year}", + "in_year_selector": "No", "include_archived": "Incluír arquivados", "include_shared_albums": "Incluír ÃĄlbums compartidos", "include_shared_partner_assets": "Incluír activos de compaÃąeiro/a compartidos", @@ -1211,6 +1229,7 @@ "language_setting_description": "Seleccione a sÃēa lingua preferida", "large_files": "Ficheiros Grandes", "last": "Último/a", + "last_months": "{count, plural, one {O mes pasado} other {Os Ãēltimos # meses}}", "last_seen": "Visto por Ãēltima vez", "latest_version": "Última VersiÃŗn", "latitude": "Latitude", @@ -1243,6 +1262,7 @@ "local_media_summary": "Resumo de Contido Local", "local_network": "Rede local", "local_network_sheet_info": "A aplicaciÃŗn conectarase ao servidor a travÊs desta URL cando use a rede wifi especificada", + "location": "LocalizaciÃŗn", "location_permission": "Permiso de localizaciÃŗn", "location_permission_content": "Para usar a funciÃŗn de cambio automÃĄtico, Immich necesita permiso de localizaciÃŗn precisa para poder ler o nome da rede wifi actual", "location_picker_choose_on_map": "Elixir no mapa", @@ -1292,6 +1312,10 @@ "main_menu": "MenÃē principal", "make": "Marca", "manage_geolocation": "Xestionar a localizaciÃŗn", + "manage_media_access_rationale": "Requírese este permiso para xestionar correctamente o traslado dos recursos ao lixo e a sÃēa restauraciÃŗn desde el.īģŋ", + "manage_media_access_settings": "Abrir axustes", + "manage_media_access_subtitle": "Permitir que a aplicaciÃŗn Immich xestione e mova ficheiros multimedia.", + "manage_media_access_title": "Acceso ÃĄ xestiÃŗn de medios", "manage_shared_links": "Xestionar ligazÃŗns compartidas", "manage_sharing_with_partners": "Xestionar comparticiÃŗn con compaÃąeiros/as", "manage_the_app_settings": "Xestionar a configuraciÃŗn da aplicaciÃŗn", @@ -1348,13 +1372,14 @@ "minutes": "Minutos", "missing": "Faltantes", "mobile_app": "AplicaciÃŗn MÃŗbil", - "mobile_app_download_onboarding_note": "Podes acceder a estas opciÃŗns de novo dende a pÃĄxina de Utilidades.", + "mobile_app_download_onboarding_note": "Descarga a aplicaciÃŗn mÃŗbil complementaria usando as seguintes opciÃŗns", "model": "Modelo", "month": "Mes", "monthly_title_text_date_format": "MMMM a", "more": "MÃĄis", "move": "Mover", "move_off_locked_folder": "Mover fÃŗra do cartafol bloqueado", + "move_to": "Mover a", "move_to_lock_folder_action_prompt": "{count} engadido/a ao cartafol bloqueado", "move_to_locked_folder": "Mover ao cartafol bloqueado", "move_to_locked_folder_confirmation": "Estas fotos e vídeo eliminaranse de todos os ÃĄlbums e sÃŗ serÃĄn visíbeis dende o cartafol bloqueado", @@ -1384,6 +1409,7 @@ "new_pin_code": "Novo cÃŗdigo PIN", "new_pin_code_subtitle": "Esta Ê a tÃēa primeira vez accedendo ÃĄ carpeta segura. Crea un cÃŗdigo PIN para acceder de maneira segura a esta pÃĄxina", "new_timeline": "Nova liÃąa de tempo", + "new_update": "Nova actualizaciÃŗn", "new_user_created": "Novo usuario creado", "new_version_available": "NOVA VERSIÓN DISPOÑIBLE", "newest_first": "MÃĄis recentes primeiro", @@ -1399,6 +1425,7 @@ "no_cast_devices_found": "Non se atoparon dispositivos de transmisiÃŗn", "no_checksum_local": "Non hai suma de verificaciÃŗn dispoÃąible - non se poden obter os activos locais", "no_checksum_remote": "Non hai suma de verificaciÃŗn dispoÃąible - non se pode obter o activo remoto", + "no_devices": "Dispositivos non autorizados", "no_duplicates_found": "Non se atoparon duplicados.", "no_exif_info_available": "Non hai informaciÃŗn EXIF dispoÃąible", "no_explore_results_message": "Suba mÃĄis fotos para explorar a sÃēa colecciÃŗn.", @@ -1415,6 +1442,7 @@ "no_results_description": "Probe cun sinÃŗnimo ou palabra chave mÃĄis xeral", "no_shared_albums_message": "Cree un ÃĄlbum para compartir fotos e vídeos con persoas na sÃēa rede", "no_uploads_in_progress": "Non hai cargas en curso", + "not_allowed": "Non permitido", "not_available": "Non dispoÃąible", "not_in_any_album": "Non estÃĄ en ningÃēn ÃĄlbum", "not_selected": "Non seleccionado", @@ -1430,7 +1458,8 @@ "notifications_setting_description": "Xestionar notificaciÃŗns", "oauth": "OAuth", "obtainium_configurator": "Configurador de Obtainium", - "obtainium_configurator_instructions": "Por favor, crea unha chave API e selecciona unha variante para xerar a tÃēa ligazÃŗn de configuraciÃŗn de Obtainium.", + "obtainium_configurator_instructions": "Emprega Obtainium para instalar e actualizar a aplicaciÃŗn de Android directamente desde o lanzamento do GitHub de Immich. Crea unha chave API e selecciona unha variante para xerar o teu enlace de configuraciÃŗn de Obtainium", + "ocr": "OCR", "official_immich_resources": "Recursos Oficiais de Immich", "offline": "FÃŗra de liÃąa", "offset": "Desprazamento", @@ -1524,6 +1553,8 @@ "photos_count": "{count, plural, one {{count, number} Foto} other {{count, number} Fotos}}", "photos_from_previous_years": "Fotos de anos anteriores", "pick_a_location": "Elixir unha localizaciÃŗn", + "pick_custom_range": "Rango personalizado", + "pick_date_range": "Seleccionar un rango de datas", "pin_code_changed_successfully": "CÃŗdigo PIN cambiado correctamente", "pin_code_reset_successfully": "CÃŗdigo PIN restablecido correctamente", "pin_code_setup_successfully": "CÃŗdigo PIN configurado correctamente", @@ -1535,6 +1566,9 @@ "play_memories": "Reproducir recordos", "play_motion_photo": "Reproducir Foto en Movemento", "play_or_pause_video": "Reproducir ou pausar vídeo", + "play_original_video": "Reproducir o vídeo orixinal", + "play_original_video_setting_description": "Preferir a reproduciÃŗn dos vídeos orixinais en vez dos vídeos transcodificados. Se o recurso orixinal non Ê compatible, pode que non se reproduza correctamente.", + "play_transcoded_video": "Reproducir vídeo transcodificado", "please_auth_to_access": "Por favor, autentícate para acceder", "port": "Porto", "preferences_settings_subtitle": "Xestionar as preferencias da aplicaciÃŗn", @@ -1671,6 +1705,7 @@ "reset_sqlite_confirmation": "EstÃĄs seguro de que queres restablecer a base de datos SQLite? TerÃĄs que pechar a sesiÃŗn e iniciar sesiÃŗn de novo para sincronizar os datos outra vez", "reset_sqlite_success": "Base de datos SQLite restablecida correctamente", "reset_to_default": "Restablecer ao predeterminado", + "resolution": "ResoluciÃŗn", "resolve_duplicates": "Resolver duplicados", "resolved_all_duplicates": "ResolvÊronse todos os duplicados", "restore": "Restaurar", @@ -1689,6 +1724,7 @@ "running": "ExecutÃĄndose", "save": "Gardar", "save_to_gallery": "Gardar na galería", + "saved": "Gardo", "saved_api_key": "Chave API gardada", "saved_profile": "Perfil gardado", "saved_settings": "ConfiguraciÃŗn gardada", @@ -1705,6 +1741,9 @@ "search_by_description_example": "Día de sendeirismo en Sapa", "search_by_filename": "Buscar por nome de ficheiro ou extensiÃŗn", "search_by_filename_example": "p. ex. IMG_1234.JPG ou PNG", + "search_by_ocr": "Buscar mediante OCR", + "search_by_ocr_example": "Latte", + "search_camera_lens_model": "Buscar modelo de lente...", "search_camera_make": "Buscar marca de cÃĄmara...", "search_camera_model": "Buscar modelo de cÃĄmara...", "search_city": "Buscar cidade...", @@ -1721,6 +1760,7 @@ "search_filter_location_title": "Seleccionar localizaciÃŗn", "search_filter_media_type": "Tipo de Medio", "search_filter_media_type_title": "Seleccionar tipo de medio", + "search_filter_ocr": "Buscar por OCR", "search_filter_people_title": "Seleccionar persoas", "search_for": "Buscar por", "search_for_existing_person": "Buscar persoa existente", @@ -1783,6 +1823,7 @@ "server_online": "Servidor En LiÃąa", "server_privacy": "Privacidade do Servidor", "server_stats": "Estatísticas do Servidor", + "server_update_available": "Hai unha actualizaciÃŗn do servidor dispoÃąible", "server_version": "VersiÃŗn do Servidor", "set": "Establecer", "set_as_album_cover": "Establecer como portada do ÃĄlbum", @@ -1992,7 +2033,9 @@ "theme_setting_three_stage_loading_title": "Activar carga en tres etapas", "they_will_be_merged_together": "Fusionaranse xuntos", "third_party_resources": "Recursos de Terceiros", + "time": "Hora", "time_based_memories": "Recordos baseados no tempo", + "time_based_memories_duration": "NÃēmero de segundos para mostrar cada imaxe.īģŋ", "timeline": "LiÃąa de tempo", "timezone": "Fuso horario", "to_archive": "Arquivar", @@ -2024,6 +2067,7 @@ "troubleshoot": "Solucionar problemas", "type": "Tipo", "unable_to_change_pin_code": "Non Ê posible cambiar o cÃŗdigo PIN", + "unable_to_check_version": "Non se puido verificar a versiÃŗn da aplicaciÃŗn ou do servidor", "unable_to_setup_pin_code": "Non Ê posible configurar o cÃŗdigo PIN", "unarchive": "Desarquivar", "unarchive_action_prompt": "{count} eliminados do Arquivo", @@ -2132,6 +2176,7 @@ "welcome": "Benvido/a", "welcome_to_immich": "Benvido/a a Immich", "wifi_name": "Nome da wifi", + "workflow": "Fluxo de traballo", "wrong_pin_code": "CÃŗdigo PIN incorrecto", "year": "Ano", "years_ago": "Hai {years, plural, one {# ano} other {# anos}}", diff --git a/i18n/gsw.json b/i18n/gsw.json new file mode 100644 index 0000000000..0967ef424b --- /dev/null +++ b/i18n/gsw.json @@ -0,0 +1 @@ +{} diff --git a/i18n/gu.json b/i18n/gu.json new file mode 100644 index 0000000000..0967ef424b --- /dev/null +++ b/i18n/gu.json @@ -0,0 +1 @@ +{} diff --git a/i18n/he.json b/i18n/he.json index 3d3a82e9e1..362f2b72d3 100644 --- a/i18n/he.json +++ b/i18n/he.json @@ -17,7 +17,6 @@ "add_birthday": "הוספ×Ē ×™×•× הולד×Ē", "add_endpoint": "×”×•×Ą×Ŗ כ×Ēוב×Ē URL", "add_exclusion_pattern": "הוספ×Ē ×“×¤×•×Ą החרגה", - "add_import_path": "הוספ×Ē × ×Ēיב יבוא", "add_location": "הוספ×Ē ×ž×™×§×•×", "add_more_users": "הוספ×Ē ×ĸוד מ׊×Ēמשים", "add_partner": "הוספ×Ē ×Š×•×Ē×Ŗ", @@ -112,7 +111,6 @@ "jobs_failed": "{jobCount, plural, other {# נכשלו}}", "library_created": "נו×Ļרה ספרייה: {library}", "library_deleted": "ספרייה נמחקה", - "library_import_path_description": "×Ļיין ×Ēיקיה לייבוא. ×Ēיקייה זו, כולל ×Ēיקיו×Ē ×ž×Š× ×”, ×Ēיסרק ×ĸבור ×Ēמונו×Ē ×•×Ą×¨×˜×•× ×™×.", "library_scanning": "סריקה ×Ēקופ×Ēי×Ē", "library_scanning_description": "הגדר סריק×Ē ×Ą×¤×¨×™×™×” ×Ēקופ×Ēי×Ē", "library_scanning_enable_description": "אפ׊ר סריק×Ē ×Ą×¤×¨×™×™×” ×Ēקופ×Ēי×Ē", @@ -120,7 +118,7 @@ "library_settings_description": "ניהול הגדרו×Ē ×Ą×¤×¨×™×™×” חי×Ļוני×Ē", "library_tasks_description": "סרוק ספריו×Ē ×—×™×Ļוניו×Ē ×ĸבור ×Ēמונו×Ē ×—×“×Š×•×Ē ×•/או שהש×Ēנו", "library_watching_enable_description": "×ĸקוב אחר שינויי קב×Ļים בספריו×Ē ×—×™×Ļוניו×Ē", - "library_watching_settings": "×Ļפיי×Ē ×Ą×¤×¨×™×™×” (ניסיוני)", + "library_watching_settings": "×Ļפייה בספרייה [ניסיוני]", "library_watching_settings_description": "×ĸקוב אוטומטי×Ē ××—×¨ שינויי קב×Ļים", "logging_enable_description": "אפ׊ר רישום ביומן", "logging_level_description": "כאשר פו×ĸל, באיזה רמ×Ē ×™×•×ž×Ÿ ל×Ē×ĸד.", @@ -154,6 +152,18 @@ "machine_learning_min_detection_score_description": "×Ļיון ביטחון מינימלי לאי×Ēור פנים מ-0 ×ĸד 1. ×ĸרכים נמוכים יו×Ēר יא×Ēרו יו×Ēר פנים אך ×ĸלולים לגרום ל×Ēו×Ļאו×Ē ×—×™×•×‘×™×•×Ē ×Š×’×•×™×•×Ē.", "machine_learning_min_recognized_faces": "מינימום פנים מזוהים", "machine_learning_min_recognized_faces_description": "המספר המינימלי של פנים מזוהים לי×Ļיר×Ē ××“×. הגדל×Ē ×ĸרך זה הופכ×Ē ××Ē ×–×™×”×•×™ הפנים למדויק יו×Ēר ב×ĸלו×Ē ×Š×œ הגבר×Ē ×”×Ą×™×›×•×™ שלא יוק×Ļו פנים לאדם.", + "machine_learning_ocr": "OCR", + "machine_learning_ocr_description": "הש×Ēמ׊ בלמיד×Ē ×ž×›×•× ×” לזיהוי טקץט ב×Ēמונו×Ē", + "machine_learning_ocr_enabled": "הפ×ĸל×Ē OCR", + "machine_learning_ocr_enabled_description": "אם מבוטל, ×Ēמונו×Ē ×œ× י×ĸברו זיהוי טקץט.", + "machine_learning_ocr_max_resolution": "רזולו×Ļיה מירבי×Ē", + "machine_learning_ocr_max_resolution_description": "×Ē×Ļוגו×Ē ×ž×§×“×™×ž×•×Ē ×ž×ĸל רזולו×Ļיה זו ישונו ×Ēוך שמירה ×ĸל יחס גובה לרוחב. ×ĸרכים גבוהים הם מדויקים יו×Ēר, אך דורשים יו×Ēר זמן ×ĸיבוד וזיכרון.", + "machine_learning_ocr_min_detection_score": "×Ļיון אי×Ēור מז×ĸרי", + "machine_learning_ocr_min_detection_score_description": "×Ļיון ביטחון מז×ĸרי לאי×Ēור טקץט בטווח 0-1. ×ĸרכים נמוכים יא×Ēרו יו×Ēר טקץט אך ×ĸלולים לגרום לאי×Ēורים שגויים.", + "machine_learning_ocr_min_recognition_score": "×Ļיון זיהוי מז×ĸרי", + "machine_learning_ocr_min_score_recognition_description": "×Ļיון ביטחון מז×ĸרי לזיהוי טקץט שאו×Ēר בטווח 0-1. ×ĸרכים נמוכים יזהו יו×Ēר טקץט אך ×ĸלולים לגרום לזיהויים שגויים.", + "machine_learning_ocr_model": "מודל OCR", + "machine_learning_ocr_model_description": "מודלי ׊ר×Ē ×”×™× × מדויקים יו×Ēר ממודלי טלפון, אך לוקחים יו×Ēר זמן ×ĸיבוד ו×Ļורכים יו×Ēר זיכרון.", "machine_learning_settings": "הגדרו×Ē ×œ×ž×™×“×Ē ×ž×›×•× ×”", "machine_learning_settings_description": "ניהול ה×Ēכונו×Ē ×•×”×”×’×“×¨×•×Ē ×Š×œ למיד×Ē ×”×ž×›×•× ×”", "machine_learning_smart_search": "חיפוש חכם", @@ -211,6 +221,8 @@ "notification_email_ignore_certificate_errors_description": "ה×Ē×ĸלם משגיאו×Ē ××™×ž×•×Ē ×Ē×ĸוד×Ē TLS (לא מומל×Ĩ)", "notification_email_password_description": "סיסמה לשימוש ב×ĸ×Ē ××™×ž×•×Ē ×ĸם ׊ר×Ē ×”×“×•×\"ל", "notification_email_port_description": "י×Ļיאה של ׊ר×Ē ×”×“×•×\"ל (למשל 25, 465, או 587)", + "notification_email_secure": "SMTPS", + "notification_email_secure_description": "הש×Ēמ׊ ב-SMTPS (פרוטוקול SMTP מ×ĸל TLS)", "notification_email_sent_test_email_button": "שלח דוא\"ל בדיקה ושמור", "notification_email_setting_description": "הגדרו×Ē ×œ×Š×œ×™×—×Ē ×”×Ēראו×Ē ×“×•×\"ל", "notification_email_test_email": "שלח דוא\"ל בדיקה", @@ -243,6 +255,7 @@ "oauth_storage_quota_default_description": "מכסה ב-GiB לשימוש כאשר לא מסופק×Ē ×“×¨×™×Š×”.", "oauth_timeout": "הבקשה נכשלה – הזמן הק×Ļוב הס×Ēיים", "oauth_timeout_description": "זמן ×§×Ļוב לבקשו×Ē (במילישניו×Ē)", + "ocr_job_description": "הש×Ēמ׊ בלמיד×Ē ×ž×›×•× ×” לזיהוי טקץט ב×Ēמונו×Ē", "password_enable_description": "ה×Ēחבר ×ĸם דוא\"ל וסיסמה", "password_settings": "סיסמ×Ē ×”×Ēחברו×Ē", "password_settings_description": "ניהול הגדרו×Ē ×Ą×™×Ą×ž×Ē ×”×Ēחברו×Ē", @@ -333,7 +346,7 @@ "transcoding_max_b_frames": "B-פריימים מרביים", "transcoding_max_b_frames_description": "×ĸרכים גבוהים יו×Ēר משפרים א×Ē ×™×ĸילו×Ē ×”×“×—×™×Ą×”, אך מאטים א×Ē ×”×§×™×“×•×“. יי×Ēכן שלא יהיה ×Ēואם ×ĸם הא×Ļ×Ē ×—×•×ž×¨×” במכשירים ישנים יו×Ēר. 0 משבי×Ē ××Ē B-פריימים, ב×ĸוד ׊1- מגדיר א×Ē ×”×ĸרך זה באופן אוטומטי.", "transcoding_max_bitrate": "×§×Ļב סיביו×Ē ×ž×¨×‘×™", - "transcoding_max_bitrate_description": "קבי×ĸ×Ē ×§×Ļב סיביו×Ē ×ž×¨×‘×™ יכולה להפוך א×Ē ×’×“×œ×™ הקב×Ļים ל×Ļפויים יו×Ēר ב×ĸלו×Ē ×§×œ×” לאיכו×Ē. ב-720p, ×ĸרכים טיפוסיים הם 2600 kbit/s ×ĸבור VP9 או HEVC, או 4500 kbit/s ×ĸבור H.264. מושב×Ē ×× מוגדר ל-0.", + "transcoding_max_bitrate_description": "קבי×ĸ×Ē ×§×Ļב סיביו×Ē ×ž×¨×‘×™ יכולה להפוך א×Ē ×’×“×œ×™ הקב×Ļים ל×Ļפויים יו×Ēר ב×ĸלו×Ē ×§×œ×” לאיכו×Ē. ב-720p, ×ĸרכים טיפוסיים הם 2600 kbit/s ×ĸבור VP9 או HEVC, או 4500 kbit/s ×ĸבור H.264. מושב×Ē ×× מוגדר ל-0. אם לא הוגדרו יחידו×Ē, יי×ĸשה שימוש ב-k (×ĸבור kbit/s)×Ŗ כלומר 5000, 5000k ו-5M (×ĸבור Mbit/s) שקולים.", "transcoding_max_keyframe_interval": "מרווח ×Ēמונ×Ē ×ž×¤×Ēח מרבי", "transcoding_max_keyframe_interval_description": "מגדיר א×Ē ×ž×¨×—×§ הפריימים המרבי בין ×Ēמונו×Ē ×ž×¤×Ēח. ×ĸרכים נמוכים גור×ĸים א×Ē ×™×ĸילו×Ē ×”×“×—×™×Ą×”, אך משפרים א×Ē ×–×ž× ×™ החיפוש ו×ĸשויים לשפר א×Ē ×”××™×›×•×Ē ×‘×Ą×Ļנו×Ē ×ĸם ×Ēנו×ĸה מהירה. 0 מגדיר ×ĸרך זה באופן אוטומטי.", "transcoding_optimal_description": "סרטונים גבוהים מרזולו×Ļיי×Ē ×”×™×ĸד או לא בפורמט מקובל", @@ -351,7 +364,7 @@ "transcoding_target_resolution": "רזולו×Ļיה י×ĸד", "transcoding_target_resolution_description": "רזולו×Ļיו×Ē ×’×‘×•×”×•×Ē ×™×•×Ēר יכולו×Ē ×œ×Š×ž×¨ פרטים רבים יו×Ēר אך לוקחו×Ē ×–×ž×Ÿ רב יו×Ēר לקידוד, יש להן גדלי קב×Ļים גדולים יו×Ēר, ויכולו×Ē ×œ×”×¤×—×™×Ē ××Ē ×Ēגוב×Ēיו×Ē ×”×™×™×Š×•×.", "transcoding_temporal_aq": "AQ מבוסס זמן", - "transcoding_temporal_aq_description": "חל רק ×ĸל NVENC. מגביר א×Ē ×”××™×›×•×Ē ×Š×œ ץ×Ļנו×Ē ×ĸם רמ×Ē ×¤×™×¨×•×˜ גבוהה בהילוך איטי. יי×Ēכן שלא יהיה ×Ēואם למכשירים ישנים יו×Ēר.", + "transcoding_temporal_aq_description": "חל רק ×ĸל NVENC. כימו×Ē ×ž×Ą×Ēגל לפי זמן מגביר א×Ē ×”××™×›×•×Ē ×Š×œ ץ×Ļנו×Ē ×ĸם רמ×Ē ×¤×™×¨×•×˜ גבוהה בהילוך איטי. יי×Ēכן שלא יהיה ×Ēואם למכשירים ישנים יו×Ēר.", "transcoding_threads": "×Ēהליכונים", "transcoding_threads_description": "×ĸרכים גבוהים יו×Ēר מובילים לקידוד מהיר יו×Ēר, אך משאירים פחו×Ē ×ž×§×•× לשר×Ē ×œ×ĸבד משימו×Ē ××—×¨×•×Ē ×‘×ĸודו פ×ĸיל. ×ĸרך זה לא אמור להיו×Ē ×™×•×Ēר ממספר ליבו×Ē ×”×ž×ĸבד. ממקסם א×Ē ×”× ×™×Ļול אם מוגדר ל-0.", "transcoding_tone_mapping": "מיפוי גוונים", @@ -402,11 +415,11 @@ "advanced_settings_prefer_remote_subtitle": "במכשירים מסוימים ט×ĸינ×Ē ×Ēמונו×Ē ×ž×ž×•×–×ĸרו×Ē ×ž×§×‘×Ļים מקומיים ×ĸלולה להיו×Ē ××™×˜×™×Ē ×‘×ž×™×•×—×“. הפ×ĸל הגדרה זו כדי לט×ĸון ×Ēמונו×Ē ×ž×¨×•×—×§×•×Ē ×‘×ž×§×•× זא×Ē.", "advanced_settings_prefer_remote_title": "ה×ĸדת ×Ēמונו×Ē ×ž×¨×•×—×§×•×Ē", "advanced_settings_proxy_headers_subtitle": "הגדר proxy headers שהיישום ×Ļריך לשלוח ×ĸם כל בקש×Ē ×¨×Š×Ē", - "advanced_settings_proxy_headers_title": "כו×Ēרו×Ē ×¤×¨×•×§×Ą×™", + "advanced_settings_proxy_headers_title": "כו×Ēרו×Ē ×¤×¨×•×§×Ą×™ [ניסיוני]", "advanced_settings_readonly_mode_subtitle": "מאפ׊ר א×Ē ×ž×Ļב לקריאה בלבד בו ה×Ēמונו×Ē × ×™×Ēנו×Ē ×œ×Ļפייה בלבד, דברים כמו בחיר×Ē ×Ēמונו×Ē ×ž×¨×•×‘×•×Ē, שי×Ēות, שידור, מחיקה הם כולם מושב×Ēים. אפ׊ר/השב×Ē ×ž×Ļב לקריאה בלבד באמ×Ļ×ĸו×Ē ×™×Ļגן המש×Ēמ׊ מהמסך הראשי", - "advanced_settings_readonly_mode_title": "מ×Ļב לקריאה בלבד", + "advanced_settings_readonly_mode_title": "מ×Ļב קריאה בלבד", "advanced_settings_self_signed_ssl_subtitle": "מדלג ×ĸל אימו×Ē ×Ē×ĸוד×Ē SSL ×ĸבור כ×Ēוב×Ē URL של השר×Ē. דרוש ×ĸבור ×Ē×ĸודו×Ē ×‘×—×Ēימה ×ĸ×Ļמי×Ē.", - "advanced_settings_self_signed_ssl_title": "ה×Ēר ×Ē×ĸודו×Ē SSL בח×Ēימה ×ĸ×Ļמי×Ē", + "advanced_settings_self_signed_ssl_title": "ה×Ēר ×Ē×ĸודו×Ē SSL בח×Ēימה ×ĸ×Ļמי×Ē [ניסיוני]", "advanced_settings_sync_remote_deletions_subtitle": "מחק או שחזר ×Ēמונה במכשיר זה באופן אוטומטי כאשר פ×ĸולה זו × ×ĸשי×Ē ×‘×“×¤×“×¤×Ÿ", "advanced_settings_sync_remote_deletions_title": "סנכרן מחיקו×Ē ×Š×‘×•×Ļ×ĸו במכשירים אחרים [נסיוני]", "advanced_settings_tile_subtitle": "הגדרו×Ē ×ž×Š×Ēמ׊ מ×Ēקדם", @@ -466,10 +479,14 @@ "api_key_description": "ה×ĸרך הזה יו×Ļג רק פ×ĸם אח×Ē. נא לוודא שה×ĸ×Ē×§×Ē ××•×Ēו לפני סגיר×Ē ×”×—×œ×•×Ÿ.", "api_key_empty": "מפ×Ēח ה-API שלך לא אמור להיו×Ē ×¨×™×§", "api_keys": "מפ×Ēחו×Ē API", + "app_architecture_variant": "וריאנט (ארכיטקטורה)", "app_bar_signout_dialog_content": "האם א×Ē/ה בטוח/ה שבר×Ļונך לה×Ē× ×Ē×§?", "app_bar_signout_dialog_ok": "כן", "app_bar_signout_dialog_title": "ה×Ē× ×Ē×§", + "app_download_links": "קישורים להורד×Ē ×”××¤×œ×™×§×Ļיה", "app_settings": "הגדרו×Ē ×™×™×Š×•×", + "app_stores": "חנויו×Ē ××¤×œ×™×§×Ļיה", + "app_update_available": "יש ×ĸדכון לאפליק×Ļיה", "appears_in": "מופי×ĸ ב", "apply_count": "החל ({count, number})", "archive": "ארכיון", @@ -553,6 +570,7 @@ "backup_albums_sync": "סנכרון אלבומי גיבוי", "backup_all": "הכל", "backup_background_service_backup_failed_message": "נכשל בגיבוי ×Ēמונו×Ē. מנסה שובâ€Ļ", + "backup_background_service_complete_notification": "גיבוי הנכסים הושלם", "backup_background_service_connection_failed_message": "נכשל בה×Ēחברו×Ē ×œ×Š×¨×Ē. מנסה שובâ€Ļ", "backup_background_service_current_upload_notification": "מ×ĸלה {filename}", "backup_background_service_default_notification": "מחפש ×Ēמונו×Ē ×—×“×Š×•×Ēâ€Ļ", @@ -662,6 +680,8 @@ "change_password_description": "זא×Ē ××• הפ×ĸם הראשונה שה×Ēחבר×Ē ×œ×ž×ĸרכ×Ē ××• ׊נ×ĸ׊×Ēה בקשה לשינוי הסיסמה שלך. נא להזין א×Ē ×”×Ą×™×Ą×ž×” החדשה למטה.", "change_password_form_confirm_password": "א׊ר סיסמה", "change_password_form_description": "הי {name},\n\nזא×Ē ××• הפ×ĸם הראשונה ׊א×Ē/ה מ×Ēחבר/×Ē ×œ×ž×ĸרכ×Ē ××• ׊נ×ĸ׊×Ēה בקשה לשינוי הסיסמה שלך. נא להזין א×Ē ×”×Ą×™×Ą×ž×” החדשה למטה.", + "change_password_form_log_out": "ה×Ē× ×Ē×§ מכל ׊אר המכשירים", + "change_password_form_log_out_description": "מומל×Ĩ לה×Ē× ×Ē×§ מכל ׊אר הרכיבים", "change_password_form_new_password": "סיסמה חדשה", "change_password_form_password_mismatch": "סיסמאו×Ē ×œ× ×Ēואמו×Ē", "change_password_form_reenter_new_password": "הכנס שוב סיסמה חדשה", @@ -689,7 +709,7 @@ "client_cert_invalid_msg": "קוב×Ĩ ×Ē×ĸודה לא ×Ēקין או סיסמה שגויה", "client_cert_remove_msg": "×Ē×ĸוד×Ē ×œ×§×•×— הוסרה", "client_cert_subtitle": "×Ēומך בפורמט PKCS12 (.p12, .pfx) בלבד. ייבוא/הסרה של ×Ē×ĸודה זמינה רק לפני ה×Ēחברו×Ē", - "client_cert_title": "×Ē×ĸוד×Ē ×œ×§×•×— SSL", + "client_cert_title": "×Ē×ĸוד×Ē ×œ×§×•×— SSL [ניסיוני]", "clockwise": "×ĸם כיוון הש×ĸון", "close": "סגור", "collapse": "כוו×Ĩ", @@ -739,6 +759,7 @@ "create": "×Ļור", "create_album": "×Ļור אלבום", "create_album_page_untitled": "ללא כו×Ēר×Ē", + "create_api_key": "י×Ļיר×Ē ×ž×¤×Ēח API", "create_library": "×Ļור ספרייה", "create_link": "×Ļור קישור", "create_link_to_share": "×Ļור קישור לשי×Ēות", @@ -768,6 +789,7 @@ "daily_title_text_date_year": "E, MMM dd, yyyy", "dark": "כהה", "dark_theme": "הפ×ĸל/כבה מ×Ļב כהה", + "date": "×Ēאריך", "date_after": "×Ēאריך אחרי", "date_and_time": "×Ēאריך וש×ĸה", "date_before": "×Ēאריך לפני", @@ -870,8 +892,6 @@ "edit_description_prompt": "אנא בחר ×Ēיאור חדש:", "edit_exclusion_pattern": "×ĸרוך דפוס החרגה", "edit_faces": "×ĸרוך פנים", - "edit_import_path": "×ĸרוך × ×Ēיב יבוא", - "edit_import_paths": "×ĸרוך × ×Ēיבי ייבוא", "edit_key": "×ĸרוך מפ×Ēח", "edit_link": "×ĸרוך קישור", "edit_location": "×ĸרוך מיקום", @@ -943,7 +963,6 @@ "failed_to_stack_assets": "י×Ļיר×Ē ×ĸרימ×Ē ×Ēמונו×Ē × ×›×Š×œ×”", "failed_to_unstack_assets": "ביטול ×ĸרימ×Ē ×Ēמונו×Ē × ×›×Š×œ×”", "failed_to_update_notification_status": "שגיאה ב×ĸדכון הה×Ēראה", - "import_path_already_exists": "× ×Ēיב הייבוא הזה כבר קיים.", "incorrect_email_or_password": "דוא\"ל או סיסמה שגויים", "paths_validation_failed": "{paths, plural, one {× ×Ēיב # נכשל} other {# × ×Ēיבים נכשלו}} אימו×Ē", "profile_picture_transparent_pixels": "×Ēמונו×Ē ×¤×¨×•×¤×™×œ אינן יכולו×Ē ×œ×›×œ×•×œ פיקסלים שקופים. נא להגדיל ו/או להזיז א×Ē ×”×Ēמונה.", @@ -953,7 +972,6 @@ "unable_to_add_assets_to_shared_link": "לא ני×Ēן ×œ×”×•×Ą×™×Ŗ ×Ēמונו×Ē ×œ×§×™×Š×•×¨ משו×Ē×Ŗ", "unable_to_add_comment": "לא ני×Ēן ×œ×”×•×Ą×™×Ŗ ×Ēגובה", "unable_to_add_exclusion_pattern": "לא ני×Ēן ×œ×”×•×Ą×™×Ŗ דפוס החרגה", - "unable_to_add_import_path": "לא ני×Ēן ×œ×”×•×Ą×™×Ŗ × ×Ēיב ייבוא", "unable_to_add_partners": "לא ני×Ēן ×œ×”×•×Ą×™×Ŗ שו×Ēפים", "unable_to_add_remove_archive": "לא ני×Ēן {archived, select, true {להסיר ×Ēמונה מ} other {×œ×”×•×Ą×™×Ŗ ×Ēמונה ל}}ארכיון", "unable_to_add_remove_favorites": "לא ני×Ēן {favorite, select, true {×œ×”×•×Ą×™×Ŗ ×Ēמונה ל} other {להסיר ×Ēמונה מ}}מו×ĸדפים", @@ -976,12 +994,10 @@ "unable_to_delete_asset": "לא ני×Ēן למחוק א×Ē ×”×Ēמונה", "unable_to_delete_assets": "שגיאה במחיק×Ē ×”×Ēמונו×Ē", "unable_to_delete_exclusion_pattern": "לא ני×Ēן למחוק דפוס החרגה", - "unable_to_delete_import_path": "לא ני×Ēן למחוק א×Ē × ×Ēיב הייבוא", "unable_to_delete_shared_link": "לא ני×Ēן למחוק קישור משו×Ē×Ŗ", "unable_to_delete_user": "לא ני×Ēן למחוק מ׊×Ēמ׊", "unable_to_download_files": "לא ני×Ēן להוריד קב×Ļים", "unable_to_edit_exclusion_pattern": "לא ני×Ēן ל×ĸרוך דפוס החרגה", - "unable_to_edit_import_path": "לא ני×Ēן ל×ĸרוך א×Ē × ×Ēיב הייבוא", "unable_to_empty_trash": "לא ני×Ēן לרוקן אשפה", "unable_to_enter_fullscreen": "לא ני×Ēן להיכנס למסך מלא", "unable_to_exit_fullscreen": "לא ני×Ēן ל×Ļא×Ē ×ž×ž×Ą×š מלא", @@ -1037,6 +1053,7 @@ "exif_bottom_sheet_description_error": "שגיאה ב×ĸדכון ה×Ēיאור", "exif_bottom_sheet_details": "פרטים", "exif_bottom_sheet_location": "מיקום", + "exif_bottom_sheet_no_description": "ללא ×Ēיאור", "exif_bottom_sheet_people": "אנשים", "exif_bottom_sheet_person_add_person": "×”×•×Ą×Ŗ ׊ם", "exit_slideshow": "×Ļא ממ×Ļג×Ē ×Š×§×•×¤×™×•×Ē", @@ -1075,6 +1092,7 @@ "features_setting_description": "ניהול ×Ēכונו×Ē ×”×™×™×Š×•×", "file_name": "׊ם הקוב×Ĩ", "file_name_or_extension": "׊ם קוב×Ĩ או סיומ×Ē", + "file_size": "גודל קוב×Ĩ", "filename": "׊ם קוב×Ĩ", "filetype": "סוג קוב×Ĩ", "filter": "סנן", @@ -1238,6 +1256,7 @@ "local_media_summary": "סיכום של מדיה מקומי×Ē", "local_network": "ר׊×Ē ×ž×§×•×ž×™×Ē", "local_network_sheet_info": "היישום י×Ēחבר לשר×Ē ×“×¨×š הכ×Ēוב×Ē ×”×–××Ē ×›××Š×¨ מ׊×Ēמשים ברש×Ē ×”××™× ×˜×¨× ×˜ האלחוטי ׊מ×Ļוינ×Ē", + "location": "מיקום", "location_permission": "הרשא×Ē ×ž×™×§×•×", "location_permission_content": "כדי להש×Ēמ׊ ב×Ēכונ×Ē ×”×”×—×œ×¤×” האוטומטי×Ē, היישום ×Ļריך הרשאה למיקום מדויק ×ĸל מנ×Ē ×œ×§×¨×•× א×Ē ×”×Š× של ר׊×Ē ×”××™× ×˜×¨× ×˜ האלחוטי", "location_picker_choose_on_map": "בחר ×ĸל מפה", @@ -1287,6 +1306,8 @@ "main_menu": "×Ēפריט ראשי", "make": "×Ēו×Ļר×Ē", "manage_geolocation": "נהל מיקום", + "manage_media_access_settings": "פ×Ēח הגדרו×Ē", + "manage_media_access_subtitle": "אפ׊ר לאפליק×Ļיי×Ē Immich לנהל ולהזיז קב×Ļי מדיה.", "manage_shared_links": "ניהול קישורים משו×Ēפים", "manage_sharing_with_partners": "ניהול שי×Ēות ×ĸם שו×Ēפים", "manage_the_app_settings": "ניהול הגדרו×Ē ×”××¤×œ×™×§×Ļיה", @@ -1342,6 +1363,8 @@ "minute": "דקה", "minutes": "דקו×Ē", "missing": "חסרים", + "mobile_app": "אפליק×Ļיה לטלפון", + "mobile_app_download_onboarding_note": "הורד א×Ē ×”××¤×œ×™×§×Ļיה המלווה באח×Ē ×ž×”××¤×Š×¨×•×™×•×Ē ×”×‘××•×Ē", "model": "דגם", "month": "חודש", "monthly_title_text_date_format": "MMMM y", @@ -1360,6 +1383,8 @@ "my_albums": "האלבומים שלי", "name": "׊ם", "name_or_nickname": "׊ם או כינוי", + "navigate": "נווט", + "navigate_to_time": "נווט אל זמן", "network_requirement_photos_upload": "הש×Ēמ׊ בנ×Ēונים ניידים לגיבוי ×Ēמונו×Ē", "network_requirement_videos_upload": "הש×Ēמ׊ בנ×Ēונים ניידים לגיבוי סרטונים", "network_requirements": "דרישו×Ē ×¨×Š×Ē", @@ -1369,11 +1394,13 @@ "never": "את פ×ĸם", "new_album": "אלבום חדש", "new_api_key": "מפ×Ēח API חדש", + "new_date_range": "טווח ×Ēאריך חדש", "new_password": "סיסמה חדשה", "new_person": "אדם חדש", "new_pin_code": "קוד PIN חדש", "new_pin_code_subtitle": "זא×Ē ×”×¤×ĸם הראשונה שנכנס×Ē ×œ×Ēיקיה הנ×ĸולה. ×Ļור קוד PIN כדי לאבטח א×Ē ×”×’×™×Š×” ×œ×“×Ŗ זה", "new_timeline": "×Ļיר הזמן החדש", + "new_update": "×ĸדכון חדש", "new_user_created": "מ׊×Ēמ׊ חדש נו×Ļר", "new_version_available": "גרסה חדשה זמינה", "newest_first": "החדש ביו×Ēר ראשון", @@ -1419,6 +1446,9 @@ "notifications": "ה×Ēראו×Ē", "notifications_setting_description": "ניהול ה×Ēראו×Ē", "oauth": "OAuth", + "obtainium_configurator": "הגדרו×Ē Obtainium", + "obtainium_configurator_instructions": "הש×Ēמ׊ ב-Obtainium כגדי לה×Ēקין ול×ĸדכן א×Ē ××¤×œ×™×§×Ļיי×Ē ×”×× ×“×¨×•××™×“ ישירו×Ē ×œ×’×¨×Ą××•×Ē ×”×’×™×˜×”××‘ של Immich. ×Ļור מפ×Ēח API ובחר וריאנט כדי לי×Ļור קישור קונפיגור×Ļיה ×ĸבור Obtainium", + "ocr": "OCR", "official_immich_resources": "מקורו×Ē ×¨×Š×ž×™×™× של Immich", "offline": "לא מקוון", "offset": "קיזוז", @@ -1523,6 +1553,9 @@ "play_memories": "נגן זכרונו×Ē", "play_motion_photo": "הפ×ĸל ×Ēמונה ×ĸם ×Ēנו×ĸה", "play_or_pause_video": "הפ×ĸל או השהה סרטון", + "play_original_video": "נגן א×Ē ×”×•×•×™×“×™××• המקורי", + "play_original_video_setting_description": "ה×ĸדת לנגן סרטונים המקוריים ×ĸל פני סרטונים משו×ĸ×Ēקים. אם הסרטון המקורי אינו ×Ēואם הוא ×ĸלול לה×Ēנגן לא נכון.", + "play_transcoded_video": "נגן סרטון משו×ĸ×Ē×§", "please_auth_to_access": "אנא אמ×Ē ××Ē ×–×”×•×Ēך כדי לגש×Ē", "port": "י×Ļיאה", "preferences_settings_subtitle": "ניהול ה×ĸדפו×Ē ×™×™×Š×•×", @@ -1659,6 +1692,7 @@ "reset_sqlite_confirmation": "האם א×Ēה בטוח שבר×Ļונך לאפס א×Ē ×ž×Ą×“ הנ×Ēונים SQLite? יהיה ×ĸליך לה×Ē× ×Ē×§ ולה×Ēחבר מחדש כדי לסנכרן א×Ē ×”× ×Ēונים מחדש", "reset_sqlite_success": "איפוס מסד הנ×Ēונים SQLite בו×Ļ×ĸ בה×Ļלחה", "reset_to_default": "אפץ לבריר×Ē ×ž×—×“×œ", + "resolution": "רזולו×Ļיה", "resolve_duplicates": "פ×Ēור כפילויו×Ē", "resolved_all_duplicates": "כל הכפילויו×Ē × ×¤×Ēרו", "restore": "שחזר", @@ -1677,6 +1711,7 @@ "running": "פו×ĸל", "save": "שמור", "save_to_gallery": "שמור לגלריה", + "saved": "נ׊מר", "saved_api_key": "מפ×Ēח API שמור", "saved_profile": "פרופיל שמור", "saved_settings": "הגדרו×Ē ×Š×ž×•×¨×•×Ē", @@ -1693,6 +1728,9 @@ "search_by_description_example": "יום טיול בסאפה", "search_by_filename": "חיפוש לפי ׊ם קוב×Ĩ או סיומ×Ē", "search_by_filename_example": "לדוגמא IMG_1234.JPG או PNG", + "search_by_ocr": "חיפוש לפי OCR", + "search_by_ocr_example": "לאטה", + "search_camera_lens_model": "חיפוש סוג ×ĸדשה...", "search_camera_make": "חיפוש ×Ēו×Ļר×Ē ×”×ž×Ļלמה...", "search_camera_model": "חפש דגם המ×Ļלמה...", "search_city": "חיפוש ×ĸיר...", @@ -1709,6 +1747,7 @@ "search_filter_location_title": "בחר מיקום", "search_filter_media_type": "סוג מדיה", "search_filter_media_type_title": "בחר סוג מדיה", + "search_filter_ocr": "חיפוש לפי OCR", "search_filter_people_title": "בחר אנשים", "search_for": "חיפוש", "search_for_existing_person": "חיפוש אדם קיים", @@ -1771,6 +1810,7 @@ "server_online": "החיבור לשר×Ē ×¤×ĸיל", "server_privacy": "פרטיו×Ē ×”×Š×¨×Ē", "server_stats": "סטטיסטיקו×Ē ×Š×¨×Ē", + "server_update_available": "×ĸדכון ׊ר×Ē ×–×ž×™×Ÿ", "server_version": "גרס×Ē ×Š×¨×Ē", "set": "הגדר", "set_as_album_cover": "הגדר כ×ĸטיפ×Ē ×”××œ×‘×•×", @@ -1799,6 +1839,8 @@ "setting_notifications_subtitle": "ה×Ēאם א×Ē ×”×ĸדפו×Ē ×”×”×Ēראה שלך", "setting_notifications_total_progress_subtitle": "ה×Ēקדמו×Ē ×”×ĸלאה כללי×Ē (בו×Ļ×ĸ/סה״כ ×Ēמונו×Ē)", "setting_notifications_total_progress_title": "הראה סה״כ ה×Ēקדמו×Ē ×’×™×‘×•×™ ברק×ĸ", + "setting_video_viewer_auto_play_subtitle": "נגן סרטונים אוטומטי×Ē ×›×Š×”× נפ×Ēחים", + "setting_video_viewer_auto_play_title": "נגן סרטונים אוטומטי×Ē", "setting_video_viewer_looping_title": "הפ×ĸלה חוזר×Ē", "setting_video_viewer_original_video_subtitle": "כאשר מזרימים סרטון מהשר×Ē, נגן א×Ē ×”×ž×§×•×¨×™ אפילו כשהמר×Ē ×§×™×“×•×“ זמינה. ×ĸלול להוביל ל×Ēקי×ĸו×Ē. סרטונים זמינים מקומי×Ē ×ž× ×•×’× ×™× באיכו×Ē ×ž×§×•×¨×™×Ē ×œ×œ× ק׊ר להגדרה זו.", "setting_video_viewer_original_video_title": "כפה סרטון מקורי", @@ -1978,6 +2020,7 @@ "theme_setting_three_stage_loading_title": "אפ׊ר ט×ĸינה בשלושה שלבים", "they_will_be_merged_together": "הם י×Ēמזגו יחד", "third_party_resources": "משאבי ×Ļד שלישי", + "time": "זמן", "time_based_memories": "זכרונו×Ē ×ž×‘×•×Ą×Ą×™ זמן", "timeline": "×Ļיר זמן", "timezone": "אזור זמן", @@ -2010,6 +2053,7 @@ "troubleshoot": "פ×Ēור ב×ĸיו×Ē", "type": "סוג", "unable_to_change_pin_code": "לא ני×Ēן לשנו×Ē ××Ē ×§×•×“ ה PIN", + "unable_to_check_version": "לא ני×Ēן לבדוק א×Ē ×’×¨×Ą××Ē ×”××¤×œ×™×§×Ļיה או השר×Ē", "unable_to_setup_pin_code": "לא ני×Ēן להגדיר קוד PIN", "unarchive": "הו×Ļא מארכיון", "unarchive_action_prompt": "{count} הוסרו מהארכיון", diff --git a/i18n/hi.json b/i18n/hi.json index fb1698c0a2..7f4f3dfb29 100644 --- a/i18n/hi.json +++ b/i18n/hi.json @@ -1,7 +1,7 @@ { "about": "ā¤Ŧā¤žā¤°āĨ‡ ā¤ŽāĨ‡ā¤‚", - "account": "⤅⤭ā¤ŋ⤞āĨ‡ā¤–", - "account_settings": "⤅⤭ā¤ŋ⤞āĨ‡ā¤– ā¤ĩāĨā¤¯ā¤ĩ⤏āĨā¤Ĩā¤ž", + "account": "ā¤–ā¤žā¤¤ā¤ž", + "account_settings": "ā¤–ā¤žā¤¤ā¤ž ⤏āĨ‡ā¤Ÿā¤ŋ⤂⤗āĨā¤¸", "acknowledge": "⤏āĨā¤ĩāĨ€ā¤•ā¤žā¤° ⤕⤰āĨ‡ā¤‚", "action": "ā¤•ā¤žā¤°āĨā¤°ā¤ĩā¤žā¤ˆ", "action_common_update": "⤅ā¤ĻāĨā¤¯ā¤¤ā¤¨", @@ -17,7 +17,6 @@ "add_birthday": "⤅ā¤Ē⤍āĨ‡ ⤜⤍āĨā¤Žā¤Ļā¤ŋ⤍ ā¤•ā¤ž ⤉⤞āĨā¤˛āĨ‡ā¤– ⤕⤰āĨ‡ā¤‚", "add_endpoint": "endpoint ā¤Ąā¤žā¤˛āĨ‡ā¤‚", "add_exclusion_pattern": "⤅ā¤Ēā¤ĩā¤žā¤Ļ ⤉ā¤Ļā¤žā¤šā¤°ā¤Ŗ ā¤Ąā¤žā¤˛āĨ‡ā¤‚", - "add_import_path": "ā¤†ā¤¯ā¤žā¤¤ ā¤Ēā¤Ĩ ā¤Ąā¤žā¤˛āĨ‡ā¤‚", "add_location": "⤏āĨā¤Ĩā¤žā¤¨ ā¤Ąā¤žā¤˛āĨ‡ā¤‚", "add_more_users": "⤅⤧ā¤ŋ⤕ ⤉ā¤Ē⤝āĨ‹ā¤—⤕⤰āĨā¤¤ā¤ž ā¤Ąā¤žā¤˛āĨ‡ā¤‚", "add_partner": "⤜āĨ‹ā¤Ąā¤ŧāĨ€ā¤Ļā¤žā¤° ā¤Ąā¤žā¤˛āĨ‡ā¤‚", @@ -32,6 +31,7 @@ "add_to_album_toggle": "{album} ⤕āĨ‡ ⤞ā¤ŋā¤ ⤚⤝⤍ ⤟āĨ‰ā¤—⤞ ⤕⤰āĨ‡ā¤‚", "add_to_albums": "ā¤ā¤•ā¤žā¤§ā¤ŋ⤕ ā¤ā¤˛āĨā¤Ŧā¤Ž ā¤ŽāĨ‡ā¤‚ ā¤Ąā¤žā¤˛āĨ‡", "add_to_albums_count": "ā¤ā¤˛āĨā¤Ŧā¤ŽāĨ‹ā¤‚ ā¤ŽāĨ‡ā¤‚ ā¤Ąā¤žā¤˛āĨ‡ā¤‚ ({count})", + "add_to_bottom_bar": "ā¤‡ā¤¸ā¤ŽāĨ‡ā¤‚ ⤜āĨ‹ā¤Ąā¤ŧāĨ‡ā¤‚", "add_to_shared_album": "ā¤ļāĨ‡ā¤¯ā¤° ⤕ā¤ŋā¤ ā¤—ā¤ ā¤ā¤˛āĨā¤Ŧā¤Ž ā¤ŽāĨ‡ā¤‚ ā¤Ąā¤žā¤˛āĨ‡ā¤‚", "add_upload_to_stack": "⤏āĨā¤ŸāĨˆā¤• ā¤ŽāĨ‡ā¤‚ ⤅ā¤Ē⤞āĨ‹ā¤Ą ⤕⤰āĨ‡ā¤‚", "add_url": "URL ā¤Ąā¤žā¤˛āĨ‡ā¤‚", @@ -112,7 +112,6 @@ "jobs_failed": "{jobCount, plural, other {# ⤅⤏ā¤Ģ⤞}}", "library_created": "⤍ā¤ŋ⤰āĨā¤Žā¤ŋ⤤ ⤏⤂⤗āĨā¤°ā¤š: {library}", "library_deleted": "⤏⤂⤗āĨā¤°ā¤š ā¤šā¤Ÿā¤ž ā¤Ļā¤ŋā¤¯ā¤ž ā¤—ā¤¯ā¤ž", - "library_import_path_description": "ā¤†ā¤¯ā¤žā¤¤ ⤕⤰⤍āĨ‡ ⤕āĨ‡ ⤞ā¤ŋā¤ ā¤ā¤• ā¤Ģā¤ŧāĨ‹ā¤˛āĨā¤Ąā¤° ⤍ā¤ŋ⤰āĨā¤Ļā¤ŋ⤎āĨā¤Ÿ ⤕⤰āĨ‡ā¤‚āĨ¤ ⤏ā¤Ŧā¤Ģā¤ŧāĨ‹ā¤˛āĨā¤Ąā¤°āĨā¤¸ ā¤¸ā¤šā¤ŋ⤤ ⤇⤏ ā¤Ģā¤ŧāĨ‹ā¤˛āĨā¤Ąā¤° ⤕āĨ‹ ⤛ā¤ĩā¤ŋ⤝āĨ‹ā¤‚ ⤔⤰ ā¤ĩāĨ€ā¤Ąā¤ŋ⤝āĨ‹ ⤕āĨ‡ ⤞ā¤ŋā¤ ⤏āĨā¤•āĨˆā¤¨ ⤕ā¤ŋā¤¯ā¤ž ā¤œā¤žā¤ā¤—ā¤žāĨ¤", "library_scanning": "ā¤¸ā¤žā¤Žā¤¯ā¤ŋ⤕ ⤏āĨā¤•āĨˆā¤¨ā¤ŋ⤂⤗", "library_scanning_description": "ā¤¸ā¤žā¤Žā¤¯ā¤ŋ⤕ ā¤˛ā¤žā¤‡ā¤ŦāĨā¤°āĨ‡ā¤°āĨ€ ⤏āĨā¤•āĨˆā¤¨ā¤ŋ⤂⤗ ⤕āĨ‰ā¤¨āĨā¤Ģā¤ŧā¤ŋ⤗⤰ ⤕⤰āĨ‡ā¤‚", "library_scanning_enable_description": "ā¤¸ā¤žā¤Žā¤¯ā¤ŋ⤕ ā¤˛ā¤žā¤‡ā¤ŦāĨā¤°āĨ‡ā¤°āĨ€ ⤏āĨā¤•āĨˆā¤¨ā¤ŋ⤂⤗ ⤏⤕āĨā¤ˇā¤Ž ⤕⤰āĨ‡ā¤‚", @@ -173,6 +172,10 @@ "machine_learning_smart_search_enabled": "⤏āĨā¤Žā¤žā¤°āĨā¤Ÿ ⤖āĨ‹ā¤œ ⤏⤕āĨā¤ˇā¤Ž ⤕⤰āĨ‡ā¤‚", "machine_learning_smart_search_enabled_description": "⤝ā¤Ļā¤ŋ ⤅⤕āĨā¤ˇā¤Ž ⤕ā¤ŋā¤¯ā¤ž ā¤—ā¤¯ā¤ž ā¤šāĨˆ, ⤤āĨ‹ ⤏āĨā¤Žā¤žā¤°āĨā¤Ÿ ⤖āĨ‹ā¤œ ⤕āĨ‡ ⤞ā¤ŋā¤ ⤛ā¤ĩā¤ŋ⤝āĨ‹ā¤‚ ⤕āĨ‹ ā¤ā¤¨āĨā¤•āĨ‹ā¤Ą ā¤¨ā¤šāĨ€ā¤‚ ⤕ā¤ŋā¤¯ā¤ž ā¤œā¤žā¤ā¤—ā¤žāĨ¤", "machine_learning_url_description": "ā¤Žā¤ļāĨ€ā¤¨ ⤞⤰āĨā¤¨ā¤ŋ⤂⤗ ⤏⤰āĨā¤ĩ⤰ ā¤•ā¤ž URLāĨ¤ ⤝ā¤Ļā¤ŋ ā¤ā¤• ⤏āĨ‡ ⤅⤧ā¤ŋ⤕ URL ā¤Ļā¤ŋā¤ ā¤—ā¤ ā¤šāĨˆā¤‚, ⤤āĨ‹ ā¤ĒāĨā¤°ā¤¤āĨā¤¯āĨ‡ā¤• ⤏⤰āĨā¤ĩ⤰ ⤕āĨ‹ ā¤ā¤•-ā¤ā¤• ⤕⤰⤕āĨ‡ ⤕āĨ‹ā¤ļā¤ŋā¤ļ ⤕ā¤ŋā¤¯ā¤ž ā¤œā¤žā¤ā¤—ā¤ž, ā¤Ēā¤šā¤˛āĨ‡ ⤏āĨ‡ ⤆⤖ā¤ŋ⤰āĨ€ ⤤⤕, ⤜ā¤Ŧ ⤤⤕ ⤕āĨ‹ā¤ˆ ⤏ā¤Ģā¤˛ā¤¤ā¤žā¤ĒāĨ‚⤰āĨā¤ĩ⤕ ā¤ĒāĨā¤°ā¤¤ā¤ŋ⤕āĨā¤°ā¤ŋā¤¯ā¤ž ⤍ ā¤ĻāĨ‡āĨ¤ ⤜āĨ‹ ⤏⤰āĨā¤ĩ⤰ ā¤ĒāĨā¤°ā¤¤ā¤ŋ⤕āĨā¤°ā¤ŋā¤¯ā¤ž ā¤¨ā¤šāĨ€ā¤‚ ā¤ĻāĨ‡ā¤¤āĨ‡, ⤉⤍āĨā¤šāĨ‡ā¤‚ ⤅⤏āĨā¤Ĩā¤žā¤¯āĨ€ ⤰āĨ‚ā¤Ē ⤏āĨ‡ ā¤¨ā¤œā¤°ā¤…ā¤‚ā¤Ļā¤žā¤œ ⤕ā¤ŋā¤¯ā¤ž ā¤œā¤žā¤ā¤—ā¤ž ⤜ā¤Ŧ ⤤⤕ ā¤ĩāĨ‡ ā¤Ģā¤ŋ⤰ ⤏āĨ‡ ā¤‘ā¤¨ā¤˛ā¤žā¤‡ā¤¨ ⤍ ā¤šāĨ‹ā¤‚āĨ¤", + "maintenance_settings": "ā¤°ā¤–ā¤°ā¤–ā¤žā¤ĩ", + "maintenance_settings_description": "Immich ⤕āĨ‹ ā¤ŽāĨ‡ā¤‚ā¤ŸāĨ‡ā¤¨āĨ‡ā¤‚⤏ ā¤ŽāĨ‹ā¤Ą ā¤ŽāĨ‡ā¤‚ ⤰⤖āĨ‡ā¤‚āĨ¤", + "maintenance_start": "ā¤°ā¤–ā¤°ā¤–ā¤žā¤ĩ ā¤ŽāĨ‹ā¤Ą ā¤ļāĨā¤°āĨ‚ ⤕⤰āĨ‡ā¤‚", + "maintenance_start_error": "ā¤ŽāĨ‡ā¤‚ā¤ŸāĨ‡ā¤¨āĨ‡ā¤‚⤏ ā¤ŽāĨ‹ā¤Ą ā¤ļāĨā¤°āĨ‚ ā¤¨ā¤šāĨ€ā¤‚ ā¤šāĨ‹ ā¤¸ā¤•ā¤žāĨ¤", "manage_concurrency": "ā¤¸ā¤Žā¤ĩ⤰āĨā¤¤āĨ€ā¤¤ā¤ž ā¤ĒāĨā¤°ā¤Ŧ⤂⤧ā¤ŋ⤤ ⤕⤰āĨ‡ā¤‚", "manage_log_settings": "⤞āĨ‰ā¤— ⤏āĨ‡ā¤Ÿā¤ŋ⤂⤗ ā¤ĒāĨā¤°ā¤Ŧ⤂⤧ā¤ŋ⤤ ⤕⤰āĨ‡ā¤‚", "map_dark_style": "ā¤Ąā¤žā¤°āĨā¤• ā¤ļāĨˆā¤˛āĨ€", @@ -366,7 +369,7 @@ "transcoding_target_resolution": "⤞⤕āĨā¤ˇāĨā¤¯ ⤏⤂⤕⤞āĨā¤Ē", "transcoding_target_resolution_description": "ā¤‰ā¤šāĨā¤š ⤰ā¤ŋ⤜ā¤ŧāĨ‰ā¤˛āĨā¤¯āĨ‚ā¤ļ⤍ ⤅⤧ā¤ŋ⤕ ā¤ĩā¤ŋā¤ĩ⤰⤪ ⤏⤂⤰⤕āĨā¤ˇā¤ŋ⤤ ⤕⤰ ⤏⤕⤤āĨ‡ ā¤šāĨˆā¤‚ ⤞āĨ‡ā¤•ā¤ŋ⤍ ā¤ā¤¨āĨā¤•āĨ‹ā¤Ą ⤕⤰⤍āĨ‡ ā¤ŽāĨ‡ā¤‚ ⤅⤧ā¤ŋ⤕ ā¤¸ā¤Žā¤¯ ⤞āĨ‡ā¤¤āĨ‡ ā¤šāĨˆā¤‚, ā¤Ģā¤ŧā¤žā¤‡ā¤˛ ā¤†ā¤•ā¤žā¤° ā¤Ŧā¤Ąā¤ŧāĨ‡ ā¤šāĨ‹ā¤¤āĨ‡ ā¤šāĨˆā¤‚, ⤔⤰ ⤐ā¤Ē ā¤ĒāĨā¤°ā¤¤ā¤ŋ⤕āĨā¤°ā¤ŋā¤¯ā¤žā¤ļāĨ€ā¤˛ā¤¤ā¤ž ⤕āĨ‹ ā¤•ā¤Ž ⤕⤰ ⤏⤕⤤āĨ‡ ā¤šāĨˆā¤‚āĨ¤", "transcoding_temporal_aq": "⤅⤏āĨā¤Ĩā¤žā¤¯āĨ€ AQ", - "transcoding_temporal_aq_description": "⤕āĨ‡ā¤ĩ⤞ ā¤ā¤¨ā¤ĩāĨ€ā¤ˆā¤ā¤¨ā¤¸āĨ€ ā¤Ē⤰ ā¤˛ā¤žā¤—āĨ‚ ā¤šāĨ‹ā¤¤ā¤ž ā¤šāĨˆāĨ¤", + "transcoding_temporal_aq_description": "⤕āĨ‡ā¤ĩ⤞ NVENC ā¤Ē⤰ ā¤˛ā¤žā¤—āĨ‚ ā¤šāĨ‹ā¤¤ā¤ž ā¤šāĨˆāĨ¤ ⤟āĨ‡ā¤ŽāĨā¤ĒāĨ‹ā¤°ā¤˛ ā¤…ā¤ĄāĨˆā¤ĒāĨā¤Ÿā¤ŋā¤ĩ ⤕āĨā¤ĩā¤žā¤‚ā¤Ÿā¤žā¤‡ā¤œā¤ŧāĨ‡ā¤ļ⤍ ā¤‰ā¤šāĨā¤š-ā¤ĩā¤ŋ⤏āĨā¤¤ā¤žā¤°, ā¤•ā¤Ž-⤗⤤ā¤ŋ ā¤ĩā¤žā¤˛āĨ‡ ā¤ĻāĨƒā¤ļāĨā¤¯āĨ‹ā¤‚ ⤕āĨ€ ⤗āĨā¤Ŗā¤ĩ⤤āĨā¤¤ā¤ž ā¤Ŧā¤ĸā¤ŧā¤žā¤¤ā¤ž ā¤šāĨˆāĨ¤ ā¤šāĨ‹ ā¤¸ā¤•ā¤¤ā¤ž ā¤šāĨˆ ⤕ā¤ŋ ā¤¯ā¤š ā¤ĒāĨā¤°ā¤žā¤¨āĨ‡ ⤉ā¤Ē⤕⤰⤪āĨ‹ā¤‚ ⤕āĨ‡ ā¤¸ā¤žā¤Ĩ ⤏⤂⤗⤤ ⤍ ā¤šāĨ‹āĨ¤", "transcoding_threads": "ā¤ĨāĨā¤°āĨ‡ā¤ĄāĨā¤¸", "transcoding_threads_description": "ā¤‰ā¤šāĨā¤š ā¤Žā¤žā¤¨ ⤤āĨ‡ā¤œā¤ŧ ā¤ā¤¨āĨā¤•āĨ‹ā¤Ąā¤ŋ⤂⤗ ⤕āĨ€ ⤓⤰ ⤞āĨ‡ ā¤œā¤žā¤¤āĨ‡ ā¤šāĨˆā¤‚, ⤞āĨ‡ā¤•ā¤ŋ⤍ ⤏⤕āĨā¤°ā¤ŋ⤝ ā¤°ā¤šā¤¤āĨ‡ ā¤šāĨā¤ ⤏⤰āĨā¤ĩ⤰ ⤕āĨ‡ ⤞ā¤ŋā¤ ⤅⤍āĨā¤¯ ā¤•ā¤žā¤°āĨā¤¯āĨ‹ā¤‚ ⤕āĨ‹ ā¤¸ā¤‚ā¤¸ā¤žā¤§ā¤ŋ⤤ ⤕⤰⤍āĨ‡ ⤕āĨ‡ ⤞ā¤ŋā¤ ā¤•ā¤Ž ā¤œā¤—ā¤š ⤛āĨ‹ā¤Ąā¤ŧ⤤āĨ‡ ā¤šāĨˆā¤‚āĨ¤", "transcoding_tone_mapping": "⤟āĨ‹ā¤¨-ā¤ŽāĨˆā¤Ēā¤ŋ⤂⤗", @@ -417,11 +420,11 @@ "advanced_settings_prefer_remote_subtitle": "⤕āĨā¤› ā¤Ąā¤ŋā¤ĩā¤žā¤‡ā¤¸ ⤏āĨā¤Ĩā¤žā¤¨āĨ€ā¤¯ ā¤ā¤¸āĨ‡ā¤Ÿ ⤏āĨ‡ ā¤Ĩ⤂ā¤Ŧ⤍āĨ‡ā¤˛ ⤞āĨ‹ā¤Ą ⤕⤰⤍āĨ‡ ā¤ŽāĨ‡ā¤‚ ā¤Ŧā¤šāĨā¤¤ ⤧āĨ€ā¤ŽāĨ‡ ā¤šāĨ‹ā¤¤āĨ‡ ā¤šāĨˆā¤‚āĨ¤ ⤇⤏⤕āĨ‡ ā¤Ŧā¤œā¤žā¤¯, ā¤ĻāĨ‚⤰⤏āĨā¤Ĩ ā¤‡ā¤ŽāĨ‡ā¤œ ⤞āĨ‹ā¤Ą ⤕⤰⤍āĨ‡ ⤕āĨ‡ ⤞ā¤ŋā¤ ⤇⤏ ⤏āĨ‡ā¤Ÿā¤ŋ⤂⤗ ⤕āĨ‹ ⤏⤕āĨā¤°ā¤ŋ⤝ ⤕⤰āĨ‡ā¤‚āĨ¤", "advanced_settings_prefer_remote_title": "ā¤ĻāĨ‚⤰⤏āĨā¤Ĩ ⤛ā¤ĩā¤ŋ⤝āĨ‹ā¤‚ ⤕āĨ‹ ā¤ĒāĨā¤°ā¤žā¤Ĩā¤Žā¤ŋā¤•ā¤¤ā¤ž ā¤ĻāĨ‡ā¤‚", "advanced_settings_proxy_headers_subtitle": "ā¤ĒāĨā¤°ā¤¤āĨā¤¯āĨ‡ā¤• ⤍āĨ‡ā¤Ÿā¤ĩ⤰āĨā¤• ⤅⤍āĨā¤°āĨ‹ā¤§ ⤕āĨ‡ ā¤¸ā¤žā¤Ĩ ā¤‡ā¤ŽāĨā¤Žā¤ŋ⤚ ā¤ĻāĨā¤ĩā¤žā¤°ā¤ž ⤭āĨ‡ā¤œāĨ‡ ā¤œā¤žā¤¨āĨ‡ ā¤ĩā¤žā¤˛āĨ‡ ā¤ĒāĨā¤°āĨ‰ā¤•āĨā¤¸āĨ€ ā¤šāĨ‡ā¤Ąā¤° ⤕āĨ‹ ā¤Ē⤰ā¤ŋā¤­ā¤žā¤ˇā¤ŋ⤤ ⤕⤰āĨ‡ā¤‚", - "advanced_settings_proxy_headers_title": "ā¤ĒāĨā¤°āĨ‰ā¤•āĨā¤¸āĨ€ ā¤šāĨ‡ā¤Ąā¤°", + "advanced_settings_proxy_headers_title": "⤕⤏āĨā¤Ÿā¤Ž ā¤ĒāĨā¤°āĨ‰ā¤•āĨā¤¸āĨ€ ā¤šāĨ‡ā¤Ąā¤° [ā¤ĒāĨā¤°ā¤žā¤¯āĨ‹ā¤—ā¤ŋ⤕]", "advanced_settings_readonly_mode_subtitle": "⤰āĨ€ā¤Ą-⤓⤍⤞āĨ€ ā¤ĒāĨā¤°ā¤Ŗā¤žā¤˛āĨ€ ⤕āĨ‹ ⤏⤕āĨā¤ˇā¤Ž ā¤•ā¤°ā¤¤ā¤ž ā¤šāĨˆ ā¤œā¤šā¤žā¤‚ ⤚ā¤ŋ⤤āĨā¤° ⤕āĨ‹ ⤕āĨ‡ā¤ĩ⤞ ā¤ĻāĨ‡ā¤–ā¤ž ā¤œā¤ž ā¤¸ā¤•ā¤¤ā¤ž ā¤šāĨˆ, ā¤ā¤•ā¤žā¤§ā¤ŋ⤕ ⤚ā¤ŋ⤤āĨā¤°āĨ‹ā¤‚ ā¤•ā¤ž ⤚⤝⤍ ā¤•ā¤°ā¤¨ā¤ž, ā¤¸ā¤žā¤ā¤ž ā¤•ā¤°ā¤¨ā¤ž, ā¤•ā¤žā¤¸āĨā¤Ÿā¤ŋ⤂⤗ ā¤•ā¤°ā¤¨ā¤ž, ā¤šā¤Ÿā¤žā¤¨ā¤ž ⤜āĨˆā¤¸āĨ€ ⤏⤭āĨ€ ⤚āĨ€ā¤œā¤ŧāĨ‡ā¤‚ ⤅⤕āĨā¤ˇā¤Ž ā¤šāĨˆā¤‚āĨ¤ ā¤ŽāĨā¤–āĨā¤¯ ⤏āĨā¤•āĨā¤°āĨ€ā¤¨ ā¤ŽāĨ‡ā¤‚ ⤉ā¤Ē⤝āĨ‹ā¤—⤕⤰āĨā¤¤ā¤ž- ⤅ā¤ĩā¤¤ā¤žā¤° ⤕āĨ‡ ā¤Žā¤žā¤§āĨā¤¯ā¤Ž ⤏āĨ‡ ⤰āĨ€ā¤Ą-⤓⤍⤞āĨ€ ā¤ĒāĨā¤°ā¤Ŗā¤žā¤˛āĨ€ ⤕āĨ‹ ⤏⤕āĨā¤ˇā¤Ž/⤅⤕āĨā¤ˇā¤Ž ⤕⤰āĨ‡ā¤‚", "advanced_settings_readonly_mode_title": "⤰āĨ€ā¤Ą-⤓⤍⤞āĨ€ ā¤ĒāĨā¤°ā¤Ŗā¤žā¤˛āĨ€", "advanced_settings_self_signed_ssl_subtitle": "⤏⤰āĨā¤ĩ⤰ ā¤ā¤‚ā¤Ąā¤ĒāĨ‰ā¤‡ā¤‚ā¤Ÿ ⤕āĨ‡ ⤞ā¤ŋā¤ SSL ā¤ĒāĨā¤°ā¤Žā¤žā¤Ŗā¤Ē⤤āĨā¤° ⤏⤤āĨā¤¯ā¤žā¤Ē⤍ ⤕āĨ‹ ⤛āĨ‹ā¤Ąā¤ŧ ā¤ĻāĨ‡ā¤¤ā¤ž ā¤šāĨˆāĨ¤ ⤏āĨā¤ĩ-ā¤šā¤¸āĨā¤¤ā¤žā¤•āĨā¤ˇā¤°ā¤ŋ⤤ ā¤ĒāĨā¤°ā¤Žā¤žā¤Ŗā¤Ē⤤āĨā¤°āĨ‹ā¤‚ ⤕āĨ‡ ⤞ā¤ŋā¤ ⤆ā¤ĩā¤ļāĨā¤¯ā¤• ā¤šāĨˆāĨ¤", - "advanced_settings_self_signed_ssl_title": "⤏āĨā¤ĩ-ā¤šā¤¸āĨā¤¤ā¤žā¤•āĨā¤ˇā¤°ā¤ŋ⤤ SSL ā¤ĒāĨā¤°ā¤Žā¤žā¤Ŗā¤Ē⤤āĨā¤°āĨ‹ā¤‚ ⤕āĨ€ ⤅⤍āĨā¤Žā¤¤ā¤ŋ ā¤ĻāĨ‡ā¤‚", + "advanced_settings_self_signed_ssl_title": "⤏āĨā¤ĩ-ā¤šā¤¸āĨā¤¤ā¤žā¤•āĨā¤ˇā¤°ā¤ŋ⤤ SSL ā¤ĒāĨā¤°ā¤Žā¤žā¤Ŗā¤Ē⤤āĨā¤°āĨ‹ā¤‚ ⤕āĨ€ ⤅⤍āĨā¤Žā¤¤ā¤ŋ ā¤ĻāĨ‡ā¤‚ [ā¤ĒāĨā¤°ā¤žā¤¯āĨ‹ā¤—ā¤ŋ⤕]", "advanced_settings_sync_remote_deletions_subtitle": "ā¤ĩāĨ‡ā¤Ŧ ā¤Ē⤰ ā¤•ā¤žā¤°āĨā¤°ā¤ĩā¤žā¤ˆ ⤕ā¤ŋā¤ ā¤œā¤žā¤¨āĨ‡ ā¤Ē⤰ ⤇⤏ ā¤Ąā¤ŋā¤ĩā¤žā¤‡ā¤¸ ā¤Ē⤰ ⤕ā¤ŋ⤏āĨ€ ⤏⤂ā¤Ē⤤āĨā¤¤ā¤ŋ ⤕āĨ‹ ⤏āĨā¤ĩā¤šā¤žā¤˛ā¤ŋ⤤ ⤰āĨ‚ā¤Ē ⤏āĨ‡ ā¤šā¤Ÿā¤žā¤ā¤ ā¤¯ā¤ž ā¤ĒāĨā¤¨ā¤°āĨā¤¸āĨā¤Ĩā¤žā¤Ēā¤ŋ⤤ ⤕⤰āĨ‡ā¤‚", "advanced_settings_sync_remote_deletions_title": "ā¤ĻāĨ‚⤰⤏āĨā¤Ĩ ā¤ĩā¤ŋ⤞āĨ‹ā¤Ē⤍ ⤏ā¤ŋ⤂⤕ ⤕⤰āĨ‡ā¤‚ [ā¤ĒāĨā¤°ā¤žā¤¯āĨ‹ā¤—ā¤ŋ⤕]", "advanced_settings_tile_subtitle": "⤉⤍āĨā¤¨ā¤¤ ⤉ā¤Ē⤝āĨ‹ā¤—⤕⤰āĨā¤¤ā¤ž ⤏āĨ‡ā¤Ÿā¤ŋ⤂⤗āĨā¤¸", @@ -430,6 +433,7 @@ "age_months": "⤆⤝āĨ {months, plural, one {# month} other {# months}}", "age_year_months": "⤆⤝āĨ 1 ā¤ĩ⤰āĨā¤ˇ, {months, plural, one {# month} other {# months}}", "age_years": "{years, plural, other {Age #}}", + "album": "ā¤ā¤˛āĨā¤Ŧā¤Ž", "album_added": "ā¤ā¤˛āĨā¤Ŧā¤Ž ā¤Ąā¤žā¤˛ā¤ž ā¤—ā¤¯ā¤ž", "album_added_notification_setting_description": "⤜ā¤Ŧ ⤆ā¤Ē⤕āĨ‹ ⤕ā¤ŋ⤏āĨ€ ā¤¸ā¤žā¤ā¤ž ā¤ā¤˛āĨā¤Ŧā¤Ž ā¤ŽāĨ‡ā¤‚ ⤜āĨ‹ā¤Ąā¤ŧā¤ž ā¤œā¤žā¤ ⤤āĨ‹ ā¤ā¤• ā¤ˆā¤ŽāĨ‡ā¤˛ ⤏āĨ‚ā¤šā¤¨ā¤ž ā¤ĒāĨā¤°ā¤žā¤ĒāĨā¤¤ ⤕⤰āĨ‡ā¤‚", "album_cover_updated": "ā¤ā¤˛āĨā¤Ŧā¤Ž ⤕ā¤ĩ⤰ ⤅ā¤Ēā¤ĄāĨ‡ā¤Ÿ ⤕ā¤ŋā¤¯ā¤ž ā¤—ā¤¯ā¤ž", @@ -475,6 +479,7 @@ "allow_edits": "⤏⤂ā¤Ēā¤žā¤Ļ⤍ ⤕āĨ€ ⤅⤍āĨā¤Žā¤¤ā¤ŋ ā¤ĻāĨ‡ā¤‚", "allow_public_user_to_download": "ā¤¸ā¤žā¤°āĨā¤ĩ⤜⤍ā¤ŋ⤕ ⤉ā¤Ē⤝āĨ‹ā¤—⤕⤰āĨā¤¤ā¤ž ⤕āĨ‹ ā¤Ąā¤žā¤‰ā¤¨ā¤˛āĨ‹ā¤Ą ⤕⤰⤍āĨ‡ ⤕āĨ€ ⤅⤍āĨā¤Žā¤¤ā¤ŋ ā¤ĻāĨ‡ā¤‚", "allow_public_user_to_upload": "ā¤¸ā¤žā¤°āĨā¤ĩ⤜⤍ā¤ŋ⤕ ⤉ā¤Ē⤝āĨ‹ā¤—⤕⤰āĨā¤¤ā¤ž ⤕āĨ‹ ⤅ā¤Ē⤞āĨ‹ā¤Ą ⤕⤰⤍āĨ‡ ⤕āĨ€ ⤅⤍āĨā¤Žā¤¤ā¤ŋ ā¤ĻāĨ‡ā¤‚", + "allowed": "⤅⤍āĨā¤Žā¤¤", "alt_text_qr_code": "⤕āĨā¤¯āĨ‚⤆⤰ ⤕āĨ‹ā¤Ą ⤛ā¤ĩā¤ŋ", "anti_clockwise": "ā¤ĩā¤žā¤Žā¤žā¤ĩ⤰āĨā¤¤", "api_key": "ā¤ā¤ĒāĨ€ā¤†ā¤ˆ ⤕āĨ€", @@ -710,8 +715,8 @@ "client_cert_import_success_msg": "⤕āĨā¤˛ā¤žā¤‡ā¤‚ā¤Ÿ ā¤ĒāĨā¤°ā¤Žā¤žā¤Ŗā¤Ē⤤āĨā¤° ā¤†ā¤¯ā¤žā¤¤ ⤕ā¤ŋā¤¯ā¤ž ā¤—ā¤¯ā¤ž ā¤šāĨˆ", "client_cert_invalid_msg": "ā¤…ā¤Žā¤žā¤¨āĨā¤¯ ā¤ĒāĨā¤°ā¤Žā¤žā¤Ŗā¤Ē⤤āĨā¤° ā¤Ģā¤ŧā¤žā¤‡ā¤˛ ā¤¯ā¤ž ⤗⤞⤤ ā¤Ēā¤žā¤¸ā¤ĩ⤰āĨā¤Ą", "client_cert_remove_msg": "⤕āĨā¤˛ā¤žā¤‡ā¤‚ā¤Ÿ ā¤ĒāĨā¤°ā¤Žā¤žā¤Ŗā¤Ē⤤āĨā¤° ā¤šā¤Ÿā¤ž ā¤Ļā¤ŋā¤¯ā¤ž ā¤—ā¤¯ā¤ž ā¤šāĨˆ", - "client_cert_subtitle": "⤕āĨ‡ā¤ĩ⤞ PKCS12 (.p12, .pfx) ā¤Ģā¤ŧāĨ‰ā¤°āĨā¤ŽāĨˆā¤Ÿ ā¤•ā¤ž ā¤¸ā¤Žā¤°āĨā¤Ĩ⤍ ā¤•ā¤°ā¤¤ā¤ž ā¤šāĨˆāĨ¤ ā¤ĒāĨā¤°ā¤Žā¤žā¤Ŗā¤Ē⤤āĨā¤° ā¤†ā¤¯ā¤žā¤¤/ā¤šā¤Ÿā¤žā¤ā¤ ⤕āĨ‡ā¤ĩ⤞ ⤞āĨ‰ā¤—ā¤ŋ⤍ ⤏āĨ‡ ā¤Ēā¤šā¤˛āĨ‡ ⤉ā¤Ē⤞ā¤ŦāĨā¤§ ā¤šāĨˆā¤‚", - "client_cert_title": "SSL ⤕āĨā¤˛ā¤žā¤‡ā¤‚ā¤Ÿ ā¤ĒāĨā¤°ā¤Žā¤žā¤Ŗā¤Ē⤤āĨā¤°", + "client_cert_subtitle": "⤕āĨ‡ā¤ĩ⤞ PKCS12 (.p12, .pfx) ā¤ĒāĨā¤°ā¤žā¤°āĨ‚ā¤Ē ā¤•ā¤ž ā¤¸ā¤Žā¤°āĨā¤Ĩ⤍ ā¤•ā¤°ā¤¤ā¤ž ā¤šāĨˆāĨ¤ ā¤ĒāĨā¤°ā¤Žā¤žā¤Ŗā¤Ē⤤āĨā¤° ā¤†ā¤¯ā¤žā¤¤/⤍ā¤ŋā¤•ā¤žā¤˛ā¤¨ā¤ž ⤕āĨ‡ā¤ĩ⤞ ⤞āĨ‰ā¤—ā¤ŋ⤍ ⤏āĨ‡ ā¤Ēā¤šā¤˛āĨ‡ ā¤šāĨ€ ⤉ā¤Ē⤞ā¤ŦāĨā¤§ ā¤šāĨˆāĨ¤", + "client_cert_title": "SSL ⤕āĨā¤˛ā¤žā¤‡ā¤‚ā¤Ÿ ā¤ĒāĨā¤°ā¤Žā¤žā¤Ŗā¤Ē⤤āĨā¤° [ā¤ĒāĨā¤°ā¤žā¤¯āĨ‹ā¤—ā¤ŋ⤕]", "clockwise": "ā¤Ļ⤕āĨā¤ˇā¤ŋā¤Ŗā¤žā¤ĩ⤰āĨā¤¤", "close": "ā¤Ŧ⤂ā¤Ļ ⤕⤰āĨ‡ā¤‚", "collapse": "⤗ā¤ŋ⤰ ā¤œā¤žā¤¨ā¤ž", @@ -894,8 +899,6 @@ "edit_description_prompt": "⤕āĨƒā¤Ēā¤¯ā¤ž ā¤ā¤• ā¤¨ā¤¯ā¤ž ā¤ĩā¤ŋā¤ĩ⤰⤪ ⤚āĨā¤¨āĨ‡ā¤‚:", "edit_exclusion_pattern": "ā¤Ŧā¤šā¤ŋ⤎āĨā¤•⤰⤪ ā¤ĒāĨˆā¤Ÿā¤°āĨā¤¨ ⤏⤂ā¤Ēā¤žā¤Ļā¤ŋ⤤ ⤕⤰āĨ‡ā¤‚", "edit_faces": "⤚āĨ‡ā¤šā¤°āĨ‡ ⤏⤂ā¤Ēā¤žā¤Ļā¤ŋ⤤ ⤕⤰āĨ‡ā¤‚", - "edit_import_path": "ā¤†ā¤¯ā¤žā¤¤ ā¤Ēā¤Ĩ ⤏⤂ā¤Ēā¤žā¤Ļā¤ŋ⤤ ⤕⤰āĨ‡ā¤‚", - "edit_import_paths": "ā¤†ā¤¯ā¤žā¤¤ ā¤Ēā¤Ĩ ⤏⤂ā¤Ēā¤žā¤Ļā¤ŋ⤤ ⤕⤰āĨ‡ā¤‚", "edit_key": "⤕āĨā¤‚ā¤œāĨ€ ⤏⤂ā¤Ēā¤žā¤Ļā¤ŋ⤤ ⤕⤰āĨ‡ā¤‚", "edit_link": "⤞ā¤ŋ⤂⤕ ⤏⤂ā¤Ēā¤žā¤Ļā¤ŋ⤤ ⤕⤰āĨ‡ā¤‚", "edit_location": "⤏āĨā¤Ĩā¤žā¤¨ ⤏⤂ā¤Ēā¤žā¤Ļā¤ŋ⤤ ⤕⤰āĨ‡ā¤‚", @@ -967,7 +970,6 @@ "failed_to_stack_assets": "ā¤Ē⤰ā¤ŋ⤏⤂ā¤Ē⤤āĨā¤¤ā¤ŋ⤝āĨ‹ā¤‚ ā¤•ā¤ž ā¤ĸāĨ‡ā¤° ā¤˛ā¤—ā¤žā¤¨āĨ‡ ā¤ŽāĨ‡ā¤‚ ā¤ĩā¤ŋā¤Ģ⤞", "failed_to_unstack_assets": "ā¤Ē⤰ā¤ŋ⤏⤂ā¤Ē⤤āĨā¤¤ā¤ŋ⤝āĨ‹ā¤‚ ā¤•ā¤ž ā¤ĸāĨ‡ā¤° ⤖āĨ‹ā¤˛ā¤¨āĨ‡ ā¤ŽāĨ‡ā¤‚ ā¤ĩā¤ŋā¤Ģ⤞", "failed_to_update_notification_status": "⤏āĨ‚ā¤šā¤¨ā¤ž ⤕āĨ€ ⤏āĨā¤Ĩā¤ŋ⤤ā¤ŋ ⤅ā¤Ēā¤ĄāĨ‡ā¤Ÿ ⤕⤰⤍āĨ‡ ā¤ŽāĨ‡ā¤‚ ā¤ĩā¤ŋā¤Ģ⤞", - "import_path_already_exists": "ā¤¯ā¤š ā¤†ā¤¯ā¤žā¤¤ ā¤Ēā¤Ĩ ā¤Ēā¤šā¤˛āĨ‡ ⤏āĨ‡ ā¤ŽāĨŒā¤œāĨ‚ā¤Ļ ā¤šāĨˆāĨ¤", "incorrect_email_or_password": "⤗⤞⤤ ā¤ˆā¤ŽāĨ‡ā¤˛ ā¤¯ā¤ž ā¤Ēā¤žā¤¸ā¤ĩ⤰āĨā¤Ą", "paths_validation_failed": "{paths, plural, one {# ā¤Ēā¤Ĩ} other {# ā¤Ēā¤Ĩ}} ⤏⤤āĨā¤¯ā¤žā¤Ē⤍ ā¤ŽāĨ‡ā¤‚ ā¤ĩā¤ŋā¤Ģ⤞ ā¤°ā¤šāĨ‡", "profile_picture_transparent_pixels": "ā¤ĒāĨā¤°āĨ‹ā¤Ģā¤ŧā¤žā¤‡ā¤˛ ⤚ā¤ŋ⤤āĨā¤°āĨ‹ā¤‚ ā¤ŽāĨ‡ā¤‚ ā¤Ēā¤žā¤°ā¤Ļ⤰āĨā¤ļāĨ€ ā¤Ēā¤ŋ⤕āĨā¤¸āĨ‡ā¤˛ ā¤¨ā¤šāĨ€ā¤‚ ā¤šāĨ‹ ⤏⤕⤤āĨ‡āĨ¤", @@ -977,7 +979,6 @@ "unable_to_add_assets_to_shared_link": "ā¤¸ā¤žā¤ā¤ž ⤞ā¤ŋ⤂⤕ ā¤ŽāĨ‡ā¤‚ ⤏⤂ā¤Ē⤤āĨā¤¤ā¤ŋ ā¤Ąā¤žā¤˛ā¤¨āĨ‡ ā¤ŽāĨ‡ā¤‚ ā¤…ā¤¸ā¤Žā¤°āĨā¤Ĩ", "unable_to_add_comment": "⤟ā¤ŋā¤ĒāĨā¤Ē⤪āĨ€ ā¤Ąā¤žā¤˛ā¤¨āĨ‡ ā¤ŽāĨ‡ā¤‚ ā¤…ā¤¸ā¤Žā¤°āĨā¤Ĩ", "unable_to_add_exclusion_pattern": "ā¤Ŧā¤šā¤ŋ⤎āĨā¤•⤰⤪ ā¤ĒāĨˆā¤Ÿā¤°āĨā¤¨ ā¤Ąā¤žā¤˛ā¤¨āĨ‡ ā¤ŽāĨ‡ā¤‚ ā¤…ā¤¸ā¤Žā¤°āĨā¤Ĩ", - "unable_to_add_import_path": "ā¤†ā¤¯ā¤žā¤¤ ā¤Ēā¤Ĩ ā¤Ąā¤žā¤˛ā¤¨āĨ‡ ā¤ŽāĨ‡ā¤‚ ā¤…ā¤¸ā¤Žā¤°āĨā¤Ĩ", "unable_to_add_partners": "ā¤¸ā¤žā¤āĨ‡ā¤Ļā¤žā¤° ā¤Ąā¤žā¤˛ā¤¨āĨ‡ ā¤ŽāĨ‡ā¤‚ ā¤…ā¤¸ā¤Žā¤°āĨā¤Ĩ", "unable_to_add_remove_archive": "{archived, select, true {ā¤ā¤¸āĨ‡ā¤Ÿ ⤕āĨ‹ ⤏⤂⤗āĨā¤°ā¤š ⤏āĨ‡ ā¤šā¤Ÿā¤žā¤¨āĨ‡ ā¤ŽāĨ‡ā¤‚ ā¤…ā¤¸ā¤Žā¤°āĨā¤Ĩ} other {ā¤ā¤¸āĨ‡ā¤Ÿ ⤕āĨ‹ ⤏⤂⤗āĨā¤°ā¤š ā¤ŽāĨ‡ā¤‚ ⤜āĨ‹ā¤Ąā¤ŧ⤍āĨ‡ ā¤ŽāĨ‡ā¤‚ ā¤…ā¤¸ā¤Žā¤°āĨā¤Ĩ}}", "unable_to_add_remove_favorites": "{favorite, select, true {ā¤ā¤¸āĨ‡ā¤Ÿ ⤕āĨ‹ ā¤Ē⤏⤂ā¤ĻāĨ€ā¤Ļā¤ž ā¤ŽāĨ‡ā¤‚ ⤜āĨ‹ā¤Ąā¤ŧ⤍āĨ‡ ā¤ŽāĨ‡ā¤‚ ā¤…ā¤¸ā¤Žā¤°āĨā¤Ĩ} other {ā¤ā¤¸āĨ‡ā¤Ÿ ⤕āĨ‹ ā¤Ē⤏⤂ā¤ĻāĨ€ā¤Ļā¤ž ⤏āĨ‡ ā¤šā¤Ÿā¤žā¤¨āĨ‡ ā¤ŽāĨ‡ā¤‚ ā¤…ā¤¸ā¤Žā¤°āĨā¤Ĩ}}", @@ -1000,12 +1001,10 @@ "unable_to_delete_asset": "⤏⤂ā¤Ē⤤āĨā¤¤ā¤ŋ ā¤šā¤Ÿā¤žā¤¨āĨ‡ ā¤ŽāĨ‡ā¤‚ ā¤…ā¤¸ā¤Žā¤°āĨā¤Ĩ", "unable_to_delete_assets": "⤏⤂ā¤Ē⤤āĨā¤¤ā¤ŋ⤝āĨ‹ā¤‚ ⤕āĨ‹ ā¤šā¤Ÿā¤žā¤¨āĨ‡ ā¤ŽāĨ‡ā¤‚ ⤤āĨā¤°āĨā¤Ÿā¤ŋ", "unable_to_delete_exclusion_pattern": "ā¤Ŧā¤šā¤ŋ⤎āĨā¤•⤰⤪ ā¤ĒāĨˆā¤Ÿā¤°āĨā¤¨ ⤕āĨ‹ ā¤šā¤Ÿā¤žā¤¨āĨ‡ ā¤ŽāĨ‡ā¤‚ ā¤…ā¤¸ā¤Žā¤°āĨā¤Ĩ", - "unable_to_delete_import_path": "ā¤†ā¤¯ā¤žā¤¤ ā¤Ēā¤Ĩ ā¤šā¤Ÿā¤žā¤¨āĨ‡ ā¤ŽāĨ‡ā¤‚ ā¤…ā¤¸ā¤Žā¤°āĨā¤Ĩ", "unable_to_delete_shared_link": "ā¤¸ā¤žā¤ā¤ž ⤞ā¤ŋ⤂⤕ ā¤šā¤Ÿā¤žā¤¨āĨ‡ ā¤ŽāĨ‡ā¤‚ ā¤…ā¤¸ā¤Žā¤°āĨā¤Ĩ", "unable_to_delete_user": "⤉ā¤Ē⤝āĨ‹ā¤—⤕⤰āĨā¤¤ā¤ž ⤕āĨ‹ ā¤šā¤Ÿā¤žā¤¨āĨ‡ ā¤ŽāĨ‡ā¤‚ ā¤…ā¤¸ā¤Žā¤°āĨā¤Ĩ", "unable_to_download_files": "ā¤Ģā¤ŧā¤žā¤‡ā¤˛āĨ‡ā¤‚ ā¤Ąā¤žā¤‰ā¤¨ā¤˛āĨ‹ā¤Ą ⤕⤰⤍āĨ‡ ā¤ŽāĨ‡ā¤‚ ā¤…ā¤¸ā¤Žā¤°āĨā¤Ĩ", "unable_to_edit_exclusion_pattern": "ā¤Ŧā¤šā¤ŋ⤎āĨā¤•⤰⤪ ā¤ĒāĨˆā¤Ÿā¤°āĨā¤¨ ⤏⤂ā¤Ēā¤žā¤Ļā¤ŋ⤤ ⤕⤰⤍āĨ‡ ā¤ŽāĨ‡ā¤‚ ā¤…ā¤¸ā¤Žā¤°āĨā¤Ĩ", - "unable_to_edit_import_path": "ā¤†ā¤¯ā¤žā¤¤ ā¤Ēā¤Ĩ ⤏⤂ā¤Ēā¤žā¤Ļā¤ŋ⤤ ⤕⤰⤍āĨ‡ ā¤ŽāĨ‡ā¤‚ ā¤…ā¤¸ā¤Žā¤°āĨā¤Ĩ", "unable_to_empty_trash": "ā¤•ā¤šā¤°ā¤ž ā¤–ā¤žā¤˛āĨ€ ⤕⤰⤍āĨ‡ ā¤ŽāĨ‡ā¤‚ ā¤…ā¤¸ā¤Žā¤°āĨā¤Ĩ", "unable_to_enter_fullscreen": "ā¤Ģā¤ŧāĨā¤˛ā¤¸āĨā¤•āĨā¤°āĨ€ā¤¨ ā¤Ļ⤰āĨā¤œ ⤕⤰⤍āĨ‡ ā¤ŽāĨ‡ā¤‚ ā¤…ā¤¸ā¤Žā¤°āĨā¤Ĩ", "unable_to_exit_fullscreen": "ā¤Ģā¤ŧāĨā¤˛ā¤¸āĨā¤•āĨā¤°āĨ€ā¤¨ ⤏āĨ‡ ā¤Ŧā¤žā¤šā¤° ⤍ā¤ŋ⤕⤞⤍āĨ‡ ā¤ŽāĨ‡ā¤‚ ā¤…ā¤¸ā¤Žā¤°āĨā¤Ĩ", @@ -1083,7 +1082,7 @@ "external": "ā¤Ŧā¤žā¤šā¤°āĨ€", "external_libraries": "ā¤Ŧā¤žā¤šā¤°āĨ€ ā¤ĒāĨā¤¸āĨā¤¤ā¤•ā¤žā¤˛ā¤¯", "external_network": "ā¤Ŧā¤žā¤šā¤°āĨ€ ⤍āĨ‡ā¤Ÿā¤ĩ⤰āĨā¤•", - "external_network_sheet_info": "When not on the preferred WiFi network, the app will connect to the server through the first of the below URLs it can reach, starting from top to bottom", + "external_network_sheet_info": "⤜ā¤Ŧ ā¤Ē⤏⤂ā¤ĻāĨ€ā¤Ļā¤ž ā¤ĩā¤žā¤ˆ-ā¤Ģā¤žā¤ˆ ⤍āĨ‡ā¤Ÿā¤ĩ⤰āĨā¤• ā¤Ē⤰ ā¤¨ā¤šāĨ€ā¤‚ ā¤šāĨ‹ā¤—ā¤ž, ⤤āĨ‹ ⤐ā¤Ē ⤍āĨ€ā¤šāĨ‡ ā¤Ļā¤ŋā¤ ā¤—ā¤ ⤝āĨ‚ā¤†ā¤°ā¤ā¤˛ ā¤ŽāĨ‡ā¤‚ ⤏āĨ‡ ā¤Ēā¤šā¤˛āĨ‡ ⤕āĨ‡ ā¤Žā¤žā¤§āĨā¤¯ā¤Ž ⤏āĨ‡ ⤏⤰āĨā¤ĩ⤰ ⤏āĨ‡ ⤕⤍āĨ‡ā¤•āĨā¤Ÿ ā¤šāĨ‹ā¤—ā¤ž, ⤊ā¤Ē⤰ ⤏āĨ‡ ⤍āĨ€ā¤šāĨ‡ ⤤⤕ ā¤ļāĨā¤°āĨ‚ ⤕⤰⤤āĨ‡ ā¤šāĨā¤", "face_unassigned": "⤏āĨŒā¤‚ā¤ĒāĨ‡ ā¤¨ā¤šāĨ€ā¤‚ ā¤—ā¤", "failed": "ā¤ĩā¤ŋā¤Ģ⤞ ā¤šāĨā¤†", "failed_to_authenticate": "ā¤ĒāĨā¤°ā¤Žā¤žā¤Ŗā¤ŋ⤤ ⤕⤰⤍āĨ‡ ā¤ŽāĨ‡ā¤‚ ā¤ĩā¤ŋā¤Ģ⤞", @@ -1095,56 +1094,118 @@ "favorites": "ā¤Ē⤏⤂ā¤ĻāĨ€ā¤Ļā¤ž", "favorites_page_no_favorites": "⤕āĨ‹ā¤ˆ ā¤Ē⤏⤂ā¤ĻāĨ€ā¤Ļā¤ž ā¤ā¤¸āĨ‡ā¤Ÿ ā¤¨ā¤šāĨ€ā¤‚ ā¤Žā¤ŋ⤞āĨ‡", "feature_photo_updated": "ā¤Ģā¤ŧāĨ€ā¤šā¤° ā¤Ģā¤ŧāĨ‹ā¤ŸāĨ‹ ⤅ā¤Ēā¤ĄāĨ‡ā¤Ÿ ⤕ā¤ŋā¤¯ā¤ž ā¤—ā¤¯ā¤ž", + "features": "ā¤ĩā¤ŋā¤ļāĨ‡ā¤ˇā¤¤ā¤žā¤ā¤", + "features_in_development": "ā¤ĩā¤ŋā¤•ā¤žā¤¸ ā¤ŽāĨ‡ā¤‚ ⤏āĨā¤ĩā¤ŋā¤§ā¤žā¤ā¤", + "features_setting_description": "⤐ā¤Ē ⤏āĨā¤ĩā¤ŋā¤§ā¤žā¤“ā¤‚ ā¤•ā¤ž ā¤ĒāĨā¤°ā¤Ŧ⤂⤧⤍ ⤕⤰āĨ‡ā¤‚", "file_name": "ā¤Ģā¤ŧā¤žā¤‡ā¤˛ ā¤•ā¤ž ā¤¨ā¤žā¤Ž", "file_name_or_extension": "ā¤Ģā¤ŧā¤žā¤‡ā¤˛ ā¤•ā¤ž ā¤¨ā¤žā¤Ž ā¤¯ā¤ž ā¤ā¤•āĨā¤¸ā¤ŸāĨ‡ā¤‚ā¤ļ⤍", + "file_size": "ā¤Ģā¤ŧā¤žā¤‡ā¤˛ ā¤•ā¤ž ā¤¸ā¤žā¤‡ā¤œā¤ŧ", "filename": "ā¤Ģā¤ŧā¤žā¤‡ā¤˛ ā¤•ā¤ž ā¤¨ā¤žā¤Ž", "filetype": "ā¤Ģā¤žā¤‡ā¤˛ ā¤•ā¤ž ā¤ĒāĨā¤°ā¤•ā¤žā¤°", "filter": "ā¤Ģā¤ŧā¤ŋ⤞āĨā¤Ÿā¤°", "filter_people": "⤞āĨ‹ā¤—āĨ‹ā¤‚ ⤕āĨ‹ ā¤Ģā¤ŧā¤ŋ⤞āĨā¤Ÿā¤° ⤕⤰āĨ‡ā¤‚", + "filter_places": "⤏āĨā¤Ĩā¤žā¤¨āĨ‹ā¤‚ ⤕āĨ‹ ā¤Ģā¤ŧā¤ŋ⤞āĨā¤Ÿā¤° ⤕⤰āĨ‡ā¤‚", "find_them_fast": "⤖āĨ‹ā¤œ ⤕āĨ‡ ā¤¸ā¤žā¤Ĩ ā¤¨ā¤žā¤Ž ⤏āĨ‡ ⤉⤍āĨā¤šāĨ‡ā¤‚ ⤤āĨ‡ā¤œāĨ€ ⤏āĨ‡ ā¤ĸāĨ‚⤂ā¤ĸāĨ‡ā¤‚", + "first": "ā¤Ēā¤šā¤˛ā¤ž", "fix_incorrect_match": "⤗ā¤ŧ⤞⤤ ā¤Žā¤ŋā¤˛ā¤žā¤¨ ⤠āĨ€ā¤• ⤕⤰āĨ‡ā¤‚", + "folder": "ā¤Ģā¤ŧāĨ‹ā¤˛āĨā¤Ąā¤°", + "folder_not_found": "ā¤Ģā¤ŧāĨ‹ā¤˛āĨā¤Ąā¤° ā¤¨ā¤šāĨ€ā¤‚ ā¤Žā¤ŋā¤˛ā¤ž", + "folders": "ā¤Ģā¤ŧāĨ‹ā¤˛āĨā¤Ąā¤°", + "folders_feature_description": "ā¤Ģā¤ŧā¤žā¤‡ā¤˛ ⤏ā¤ŋ⤏āĨā¤Ÿā¤Ž ā¤Ē⤰ ā¤Ģā¤ŧāĨ‹ā¤ŸāĨ‹ ⤔⤰ ā¤ĩāĨ€ā¤Ąā¤ŋ⤝āĨ‹ ⤕āĨ‡ ⤞ā¤ŋā¤ ā¤Ģā¤ŧāĨ‹ā¤˛āĨā¤Ąā¤° ā¤ĻāĨƒā¤ļāĨā¤¯ ā¤ŦāĨā¤°ā¤žā¤‰ā¤œā¤ŧ ā¤•ā¤°ā¤¨ā¤ž", + "forgot_pin_code_question": "⤅ā¤Ēā¤¨ā¤ž ā¤Ēā¤ŋ⤍ ⤭āĨ‚⤞ ā¤—ā¤?", "forward": "⤆⤗āĨ‡", + "gcast_enabled": "⤗āĨ‚⤗⤞ ā¤•ā¤žā¤¸āĨā¤Ÿ", + "gcast_enabled_description": "ā¤¯ā¤š ⤏āĨā¤ĩā¤ŋā¤§ā¤ž ā¤•ā¤žā¤Ž ⤕⤰⤍āĨ‡ ⤕āĨ‡ ⤞ā¤ŋā¤ ⤗āĨ‚⤗⤞ ⤏āĨ‡ ā¤Ŧā¤žā¤šāĨā¤¯ ā¤¸ā¤‚ā¤¸ā¤žā¤§ā¤¨ ⤞āĨ‹ā¤Ą ⤕⤰⤤āĨ€ ā¤šāĨˆāĨ¤", "general": "ā¤¸ā¤žā¤Žā¤žā¤¨āĨā¤¯", + "geolocation_instruction_location": "⤕ā¤ŋ⤏āĨ€ ā¤Ē⤰ā¤ŋ⤏⤂ā¤Ē⤤āĨā¤¤ā¤ŋ ⤕āĨ‡ ⤏āĨā¤Ĩā¤žā¤¨ ā¤•ā¤ž ⤉ā¤Ē⤝āĨ‹ā¤— ⤕⤰⤍āĨ‡ ⤕āĨ‡ ⤞ā¤ŋā¤ GPS ⤍ā¤ŋ⤰āĨā¤ĻāĨ‡ā¤ļā¤žā¤‚ā¤• ā¤ĩā¤žā¤˛āĨ€ ā¤Ē⤰ā¤ŋ⤏⤂ā¤Ē⤤āĨā¤¤ā¤ŋ ā¤Ē⤰ ⤕āĨā¤˛ā¤ŋ⤕ ⤕⤰āĨ‡ā¤‚, ā¤¯ā¤ž ⤏āĨ€ā¤§āĨ‡ ā¤Žā¤žā¤¨ā¤šā¤ŋ⤤āĨā¤° ⤏āĨ‡ ⤕āĨ‹ā¤ˆ ⤏āĨā¤Ĩā¤žā¤¨ ⤚āĨā¤¨āĨ‡ā¤‚", "get_help": "ā¤Žā¤Ļā¤Ļ ⤞āĨ‡ā¤‚", + "get_wifiname_error": "ā¤ĩā¤žā¤ˆ-ā¤Ģā¤ŧā¤žā¤ˆ ā¤¨ā¤žā¤Ž ā¤¨ā¤šāĨ€ā¤‚ ā¤Žā¤ŋ⤞ ā¤¸ā¤•ā¤žāĨ¤ ⤏āĨā¤¨ā¤ŋā¤ļāĨā¤šā¤ŋ⤤ ⤕⤰āĨ‡ā¤‚ ⤕ā¤ŋ ⤆ā¤Ē⤍āĨ‡ ⤆ā¤ĩā¤ļāĨā¤¯ā¤• ⤅⤍āĨā¤Žā¤¤ā¤ŋā¤¯ā¤žā¤ ā¤ĻāĨ‡ ā¤ĻāĨ€ ā¤šāĨˆā¤‚ ⤔⤰ ā¤ĩā¤žā¤ˆ-ā¤Ģā¤ŧā¤žā¤ˆ ⤍āĨ‡ā¤Ÿā¤ĩ⤰āĨā¤• ⤏āĨ‡ ⤕⤍āĨ‡ā¤•āĨā¤Ÿ ā¤šāĨˆā¤‚", "getting_started": "ā¤ļāĨā¤°āĨ‚ ā¤•ā¤°ā¤¨ā¤ž", "go_back": "ā¤ĩā¤žā¤Ē⤏ ā¤œā¤žā¤“", + "go_to_folder": "ā¤Ģā¤ŧāĨ‹ā¤˛āĨā¤Ąā¤° ā¤Ē⤰ ā¤œā¤žā¤ā¤", "go_to_search": "⤖āĨ‹ā¤œ ā¤Ē⤰ ā¤œā¤žā¤ā¤", + "gps": "GPS", + "gps_missing": "⤕āĨ‹ā¤ˆ ⤜āĨ€ā¤ĒāĨ€ā¤ā¤¸ ā¤¨ā¤šāĨ€ā¤‚", + "grant_permission": "⤅⤍āĨā¤Žā¤¤ā¤ŋ ā¤ĒāĨā¤°ā¤Ļā¤žā¤¨ ⤕⤰āĨ‡ā¤‚", "group_albums_by": "⤇⤍⤕āĨ‡ ā¤ĻāĨā¤ĩā¤žā¤°ā¤ž ā¤¸ā¤ŽāĨ‚ā¤š ā¤ā¤˛āĨā¤Ŧā¤Ž..āĨ¤", + "group_country": "ā¤ĻāĨ‡ā¤ļ ⤕āĨ‡ ⤅⤍āĨā¤¸ā¤žā¤° ā¤¸ā¤ŽāĨ‚ā¤š", "group_no": "⤕āĨ‹ā¤ˆ ā¤¸ā¤ŽāĨ‚ā¤šāĨ€ā¤•⤰⤪ ā¤¨ā¤šāĨ€ā¤‚", "group_owner": "⤏āĨā¤ĩā¤žā¤ŽāĨ€ ā¤ĻāĨā¤ĩā¤žā¤°ā¤ž ā¤¸ā¤ŽāĨ‚ā¤š", + "group_places_by": "⤏āĨā¤Ĩā¤žā¤¨āĨ‹ā¤‚ ⤕āĨ‹ ā¤¸ā¤ŽāĨ‚ā¤šā¤Ŧā¤ĻāĨā¤§ ⤕⤰āĨ‡ā¤‚..āĨ¤", "group_year": "ā¤ĩ⤰āĨā¤ˇ ⤕āĨ‡ ⤅⤍āĨā¤¸ā¤žā¤° ā¤¸ā¤ŽāĨ‚ā¤š", + "haptic_feedback_switch": "⤏āĨā¤Ē⤰āĨā¤ļ ā¤ĒāĨā¤°ā¤¤ā¤ŋ⤕āĨā¤°ā¤ŋā¤¯ā¤ž ⤏⤕āĨā¤ˇā¤Ž ⤕⤰āĨ‡ā¤‚", + "haptic_feedback_title": "ā¤šāĨˆā¤ĒāĨā¤Ÿā¤ŋ⤕ ā¤°ā¤žā¤¯", "has_quota": "⤕āĨ‹ā¤Ÿā¤ž ā¤šāĨˆ", - "header_settings_add_header_tip": "Header ā¤Ąā¤žā¤˛āĨ‡ā¤‚", + "hash_asset": "ā¤šāĨˆā¤ļ ā¤Ē⤰ā¤ŋ⤏⤂ā¤Ē⤤āĨā¤¤ā¤ŋ", + "hashed_assets": "ā¤šāĨˆā¤ļ ⤕āĨ€ ā¤—ā¤ˆ ⤏⤂ā¤Ē⤤āĨā¤¤ā¤ŋā¤¯ā¤žā¤‚", + "hashing": "ā¤šāĨˆā¤ļā¤ŋ⤂⤗", + "header_settings_add_header_tip": "ā¤šāĨ‡ā¤Ąā¤° ⤜āĨ‹ā¤Ąā¤ŧāĨ‡ā¤‚", + "header_settings_field_validator_msg": "ā¤Žā¤žā¤¨ ⤰ā¤ŋ⤕āĨā¤¤ ā¤¨ā¤šāĨ€ā¤‚ ā¤šāĨ‹ ā¤¸ā¤•ā¤¤ā¤ž", + "header_settings_header_name_input": "ā¤šāĨ‡ā¤Ąā¤° ā¤•ā¤ž ā¤¨ā¤žā¤Ž", + "header_settings_header_value_input": "ā¤šāĨ‡ā¤Ąā¤° ā¤Žā¤žā¤¨", + "headers_settings_tile_title": "⤕⤏āĨā¤Ÿā¤Ž ā¤ĒāĨā¤°āĨ‰ā¤•āĨā¤¸āĨ€ ā¤šāĨ‡ā¤Ąā¤°", + "hi_user": "ā¤¨ā¤Žā¤¸āĨā¤¤āĨ‡ {name} ({email})", "hide_all_people": "⤏⤭āĨ€ ⤞āĨ‹ā¤—āĨ‹ā¤‚ ⤕āĨ‹ ⤛āĨā¤Ēā¤žā¤ā¤‚", "hide_gallery": "⤗āĨˆā¤˛ā¤°āĨ€ ⤛ā¤ŋā¤Ēā¤žā¤ā¤", + "hide_named_person": "ā¤ĩāĨā¤¯ā¤•āĨā¤¤ā¤ŋ ⤕āĨ‹ ⤛ā¤ŋā¤Ēā¤žā¤ā¤ {name}", "hide_password": "ā¤Ēā¤žā¤¸ā¤ĩ⤰āĨā¤Ą ⤛ā¤ŋā¤Ēā¤žā¤ā¤‚", "hide_person": "ā¤ĩāĨā¤¯ā¤•āĨā¤¤ā¤ŋ ⤛ā¤ŋā¤Ēā¤žā¤ā¤", "hide_unnamed_people": "ā¤…ā¤¨ā¤žā¤Ž ⤞āĨ‹ā¤—āĨ‹ā¤‚ ⤕āĨ‹ ⤛āĨā¤Ēā¤žā¤ā¤‚", - "home_page_add_to_album_success": "{added} ā¤ā¤¸āĨ‡ā¤ŸāĨā¤¸ ⤕āĨ‹ ā¤ā¤˛āĨā¤Ŧā¤Ž {album} ā¤ŽāĨ‡ā¤‚ ā¤Ąā¤žā¤˛ ā¤Ļā¤ŋā¤¯ā¤ž", + "home_page_add_to_album_conflicts": "{added} ⤏⤂ā¤Ē⤤āĨā¤¤ā¤ŋā¤¯ā¤žā¤‚ ā¤ā¤˛āĨā¤Ŧā¤Ž {album} ā¤ŽāĨ‡ā¤‚ ⤜āĨ‹ā¤Ąā¤ŧāĨ€ ā¤—ā¤ˆā¤‚. {failed} ⤏⤂ā¤Ē⤤āĨā¤¤ā¤ŋā¤¯ā¤žā¤‚ ā¤Ēā¤šā¤˛āĨ‡ ⤏āĨ‡ ā¤šāĨ€ ā¤ā¤˛āĨā¤Ŧā¤Ž ā¤ŽāĨ‡ā¤‚ ā¤šāĨˆā¤‚āĨ¤", + "home_page_add_to_album_err_local": "⤅⤭āĨ€ ⤤⤕ ā¤ā¤˛āĨā¤Ŧā¤Ž ā¤ŽāĨ‡ā¤‚ ⤏āĨā¤Ĩā¤žā¤¨āĨ€ā¤¯ ⤏⤂ā¤Ē⤤āĨā¤¤ā¤ŋā¤¯ā¤žā¤‚ ā¤¨ā¤šāĨ€ā¤‚ ⤜āĨ‹ā¤Ąā¤ŧāĨ€ ā¤œā¤ž ⤏⤕āĨ€ā¤‚, ⤛āĨ‹ā¤Ąā¤ŧ ā¤Ļā¤ŋā¤¯ā¤ž ā¤—ā¤¯ā¤ž", + "home_page_add_to_album_success": "ā¤ā¤˛āĨā¤Ŧā¤Ž {album} ā¤ŽāĨ‡ā¤‚ {added} ⤏⤂ā¤Ē⤤āĨā¤¤ā¤ŋā¤¯ā¤žā¤‚ ⤜āĨ‹ā¤Ąā¤ŧāĨ€ ā¤—ā¤ˆā¤‚āĨ¤", "home_page_album_err_partner": "⤅⤭āĨ€ ā¤Ēā¤žā¤°āĨā¤Ÿā¤¨ā¤° ā¤ā¤¸āĨ‡ā¤ŸāĨā¤¸ ⤕āĨ‹ ā¤ā¤˛āĨā¤Ŧā¤Ž ā¤ŽāĨ‡ā¤‚ ā¤Ąā¤žā¤˛ ā¤¨ā¤šāĨ€ā¤‚ ⤏⤕⤤āĨ‡, ⤏āĨā¤•ā¤ŋā¤Ē ⤕⤰ ā¤°ā¤šāĨ‡ ā¤šāĨˆā¤‚", + "home_page_archive_err_local": "⤏āĨā¤Ĩā¤žā¤¨āĨ€ā¤¯ ⤏⤂ā¤Ē⤤āĨā¤¤ā¤ŋ⤝āĨ‹ā¤‚ ⤕āĨ‹ ⤅⤭āĨ€ ⤏⤂⤗āĨā¤°ā¤šāĨ€ā¤¤ ā¤¨ā¤šāĨ€ā¤‚ ⤕ā¤ŋā¤¯ā¤ž ā¤œā¤ž ā¤¸ā¤•ā¤¤ā¤ž, ⤛āĨ‹ā¤Ąā¤ŧā¤ž ā¤œā¤ž ā¤°ā¤šā¤ž ā¤šāĨˆ", "home_page_archive_err_partner": "ā¤Ēā¤žā¤°āĨā¤Ÿā¤¨ā¤° ā¤ā¤¸āĨ‡ā¤ŸāĨā¤¸ ⤕āĨ‹ ⤆⤰āĨā¤•ā¤žā¤‡ā¤ĩ ā¤¨ā¤šāĨ€ā¤‚ ⤕⤰ ⤏⤕⤤āĨ‡, ⤏āĨā¤•ā¤ŋā¤Ē ⤕⤰ ā¤°ā¤šāĨ‡ ā¤šāĨˆā¤‚", + "home_page_building_timeline": "ā¤¸ā¤Žā¤¯ā¤°āĨ‡ā¤–ā¤ž ā¤•ā¤ž ⤍ā¤ŋ⤰āĨā¤Žā¤žā¤Ŗ", "home_page_delete_err_partner": "ā¤Ēā¤žā¤°āĨā¤Ÿā¤¨ā¤° ā¤ā¤¸āĨ‡ā¤ŸāĨā¤¸ ⤕āĨ‹ ā¤Ąā¤ŋ⤞āĨ€ā¤Ÿ ā¤¨ā¤šāĨ€ā¤‚ ⤕⤰ ⤏⤕⤤āĨ‡, ⤏āĨā¤•ā¤ŋā¤Ē ⤕⤰ ā¤°ā¤šāĨ‡ ā¤šāĨˆā¤‚", + "home_page_delete_remote_err_local": "ā¤ĻāĨ‚⤰⤏āĨā¤Ĩ ⤚⤝⤍ ⤕āĨ‹ ā¤šā¤Ÿā¤žā¤¨āĨ‡, ⤛āĨ‹ā¤Ąā¤ŧ⤍āĨ‡ ā¤ŽāĨ‡ā¤‚ ⤏āĨā¤Ĩā¤žā¤¨āĨ€ā¤¯ ⤏⤂ā¤Ē⤤āĨā¤¤ā¤ŋā¤¯ā¤žā¤", + "home_page_favorite_err_local": "⤏āĨā¤Ĩā¤žā¤¨āĨ€ā¤¯ ⤏⤂ā¤Ē⤤āĨā¤¤ā¤ŋ⤝āĨ‹ā¤‚ ⤕āĨ‹ ⤅⤭āĨ€ ⤤⤕ ā¤Ē⤏⤂ā¤ĻāĨ€ā¤Ļā¤ž ā¤¨ā¤šāĨ€ā¤‚ ā¤Ŧā¤¨ā¤žā¤¯ā¤ž ā¤œā¤ž ā¤¸ā¤•ā¤ž, ⤛āĨ‹ā¤Ąā¤ŧā¤ž ā¤œā¤ž ā¤°ā¤šā¤ž ā¤šāĨˆ", "home_page_favorite_err_partner": "⤅ā¤Ŧ ⤤⤕ ā¤Ēā¤žā¤°āĨā¤Ÿā¤¨ā¤° ā¤ā¤¸āĨ‡ā¤ŸāĨā¤¸ ⤕āĨ‹ ā¤ĢāĨ‡ā¤ĩ⤰āĨ‡ā¤Ÿ ā¤¨ā¤šāĨ€ā¤‚ ⤕⤰ ⤏⤕⤤āĨ‡, ⤏āĨā¤•ā¤ŋā¤Ē ⤕⤰ ā¤°ā¤šāĨ‡ ā¤šāĨˆā¤‚", "home_page_first_time_notice": "If this is your first time using the app, please make sure to choose a backup album(s) so that the timeline can populate photos and videos in the album(s).", + "home_page_locked_error_local": "⤏āĨā¤Ĩā¤žā¤¨āĨ€ā¤¯ ⤏⤂ā¤Ē⤤āĨā¤¤ā¤ŋ⤝āĨ‹ā¤‚ ⤕āĨ‹ ⤞āĨ‰ā¤• ⤕ā¤ŋā¤ ā¤—ā¤ ā¤Ģā¤ŧāĨ‹ā¤˛āĨā¤Ąā¤° ā¤ŽāĨ‡ā¤‚ ā¤¨ā¤šāĨ€ā¤‚ ⤞āĨ‡ ā¤œā¤žā¤¯ā¤ž ā¤œā¤ž ā¤¸ā¤•ā¤¤ā¤ž, ⤛āĨ‹ā¤Ąā¤ŧā¤ž ā¤œā¤ž ā¤¸ā¤•ā¤¤ā¤ž ā¤šāĨˆ", + "home_page_locked_error_partner": "ā¤¸ā¤žā¤āĨ‡ā¤Ļā¤žā¤° ⤏⤂ā¤Ē⤤āĨā¤¤ā¤ŋ⤝āĨ‹ā¤‚ ⤕āĨ‹ ⤞āĨ‰ā¤• ⤕ā¤ŋā¤ ā¤—ā¤ ā¤Ģā¤ŧāĨ‹ā¤˛āĨā¤Ąā¤° ā¤ŽāĨ‡ā¤‚ ā¤¨ā¤šāĨ€ā¤‚ ⤞āĨ‡ ā¤œā¤žā¤¯ā¤ž ā¤œā¤ž ā¤¸ā¤•ā¤¤ā¤ž, ⤛āĨ‹ā¤Ąā¤ŧāĨ‡ā¤‚", "home_page_share_err_local": "⤞āĨ‹ā¤•⤞ ā¤ā¤¸āĨ‡ā¤ŸāĨā¤¸ ⤕āĨ‹ ⤞ā¤ŋ⤂⤕ ⤕āĨ‡ ⤜⤰ā¤ŋā¤ ā¤ļāĨ‡ā¤¯ā¤° ā¤¨ā¤šāĨ€ā¤‚ ⤕⤰ ⤏⤕⤤āĨ‡, ⤏āĨā¤•ā¤ŋā¤Ē ⤕⤰ ā¤°ā¤šāĨ‡ ā¤šāĨˆā¤‚", + "home_page_upload_err_limit": "ā¤ā¤• ā¤¸ā¤Žā¤¯ ā¤ŽāĨ‡ā¤‚ ⤅⤧ā¤ŋā¤•ā¤¤ā¤Ž 30 ⤏⤂ā¤Ē⤤āĨā¤¤ā¤ŋā¤¯ā¤žā¤‚ ā¤šāĨ€ ⤅ā¤Ē⤞āĨ‹ā¤Ą ⤕āĨ€ ā¤œā¤ž ⤏⤕⤤āĨ€ ā¤šāĨˆā¤‚, ⤛āĨ‹ā¤Ąā¤ŧ⤕⤰", "host": "ā¤ŽāĨ‡ā¤œā¤ŧā¤Ŧā¤žā¤¨", "hour": "ā¤˜ā¤‚ā¤Ÿā¤ž", + "hours": "ā¤˜ā¤‚ā¤ŸāĨ‡", + "id": "ā¤Ēā¤šā¤šā¤žā¤¨", + "idle": "⤍ā¤ŋ⤎āĨā¤•āĨā¤°ā¤ŋ⤝", "ignore_icloud_photos": "⤆⤇⤕āĨā¤˛ā¤žā¤‰ā¤Ą ā¤Ģā¤ŧāĨ‹ā¤ŸāĨ‹ ⤕āĨ‹ ⤅⤍ā¤ĻāĨ‡ā¤–ā¤ž ⤕⤰āĨ‡ā¤‚", "ignore_icloud_photos_description": "⤆⤇⤕āĨā¤˛ā¤žā¤‰ā¤Ą ā¤Ē⤰ ⤏āĨā¤ŸāĨ‹ā¤° ⤕āĨ€ ā¤—ā¤ˆ ā¤Ģā¤ŧāĨ‹ā¤ŸāĨ‹ā¤œā¤ŧ ā¤‡ā¤Žā¤ŋ⤚ ⤏⤰āĨā¤ĩ⤰ ā¤Ē⤰ ⤅ā¤Ē⤞āĨ‹ā¤Ą ā¤¨ā¤šāĨ€ā¤‚ ⤕āĨ€ ā¤œā¤žā¤ā¤‚ā¤—āĨ€", "image": "⤛ā¤ĩā¤ŋ", + "image_alt_text_date": "{isVideo, select, true {Video} other {Image}} {date} ⤕āĨ‹ ⤞ā¤ŋā¤¯ā¤ž ā¤—ā¤¯ā¤ž", + "image_alt_text_date_1_person": "{isVideo, select, true {Video} other {Image}} {person1} ⤕āĨ‡ ā¤¸ā¤žā¤Ĩ {date} ⤕āĨ‹ ⤞ā¤ŋā¤¯ā¤ž ā¤—ā¤¯ā¤ž", + "image_alt_text_date_2_people": "{isVideo, select, true {Video} other {Image}} {person1} ⤔⤰ {person2} ⤕āĨ‡ ā¤¸ā¤žā¤Ĩ {date} ⤕āĨ‹ ⤞ā¤ŋā¤¯ā¤ž ā¤—ā¤¯ā¤ž", + "image_alt_text_date_3_people": "{isVideo, select, true {Video} other {Image}} {person1}, {person2}, ⤔⤰ {person3} ⤕āĨ‡ ā¤¸ā¤žā¤Ĩ {date} ⤕āĨ‹ ⤞ā¤ŋā¤¯ā¤ž ā¤—ā¤¯ā¤ž", + "image_alt_text_date_4_or_more_people": "{isVideo, select, true {Video} other {Image}} {person1}, {person2}, other {additionalCount, number} ⤅⤍āĨā¤¯ ⤞āĨ‹ā¤—āĨ‹ā¤‚ ⤕āĨ‡ ā¤¸ā¤žā¤Ĩ {date} ⤕āĨ‹ ⤞ā¤ŋā¤¯ā¤ž ā¤—ā¤¯ā¤ž", + "image_alt_text_date_place": "{isVideo, select, true {Video} other {Image}} {city}, {country} ā¤ŽāĨ‡ā¤‚ {date} ⤕āĨ‹ ⤞ā¤ŋā¤¯ā¤ž ā¤—ā¤¯ā¤ž", + "image_alt_text_date_place_1_person": "{isVideo, select, true {Video} other {Image}} {city}, {country} ā¤ŽāĨ‡ā¤‚ {person1} ⤕āĨ‡ ā¤¸ā¤žā¤Ĩ {date} ⤕āĨ‹ ⤞ā¤ŋā¤¯ā¤ž ā¤—ā¤¯ā¤ž", + "image_alt_text_date_place_2_people": "{isVideo, select, true {Video} other {Image}} {city}, {country} ā¤ŽāĨ‡ā¤‚ {person1} ⤔⤰ {person2} ⤕āĨ‡ ā¤¸ā¤žā¤Ĩ {date} ⤕āĨ‹ ⤞ā¤ŋā¤¯ā¤ž ā¤—ā¤¯ā¤ž", + "image_alt_text_date_place_3_people": "{isVideo, select, true {Video} other {Image}} {city}, {country} ā¤ŽāĨ‡ā¤‚ {person1}, {person2}, ⤔⤰ {person3} ⤕āĨ‡ ā¤¸ā¤žā¤Ĩ {date} ⤕āĨ‹ ⤞ā¤ŋā¤¯ā¤ž ā¤—ā¤¯ā¤ž", + "image_alt_text_date_place_4_or_more_people": "{isVideo, select, true {Video} other {Image}} {city}, {country} ā¤ŽāĨ‡ā¤‚ {person1}, {person2}, ⤔⤰ {additionalCount, number} ⤅⤍āĨā¤¯ ⤞āĨ‹ā¤—āĨ‹ā¤‚ ⤕āĨ‡ ā¤¸ā¤žā¤Ĩ {date} ⤕āĨ‹ ⤞ā¤ŋā¤¯ā¤ž ā¤—ā¤¯ā¤ž", "image_saved_successfully": "ā¤‡ā¤ŽāĨ‡ā¤œ ā¤¸ā¤šāĨ‡ā¤œ ā¤ĻāĨ€ ā¤—ā¤ˆ", + "image_viewer_page_state_provider_download_started": "ā¤Ąā¤žā¤‰ā¤¨ā¤˛āĨ‹ā¤Ą ā¤ļāĨā¤°āĨ‚", + "image_viewer_page_state_provider_download_success": "ā¤Ąā¤žā¤‰ā¤¨ā¤˛āĨ‹ā¤Ą ⤏ā¤Ģ⤞", + "image_viewer_page_state_provider_share_error": "ā¤¸ā¤žā¤ā¤ž ⤕⤰⤍āĨ‡ ā¤ŽāĨ‡ā¤‚ ⤤āĨā¤°āĨā¤Ÿā¤ŋ", "immich_logo": "Immich ⤞āĨ‹ā¤—āĨ‹", "immich_web_interface": "ā¤‡ā¤Žā¤ŋ⤚ ā¤ĩāĨ‡ā¤Ŧ ā¤‡ā¤‚ā¤Ÿā¤°ā¤Ģā¤ŧāĨ‡ā¤¸", "import_from_json": "JSON ⤏āĨ‡ ā¤†ā¤¯ā¤žā¤¤ ⤕⤰āĨ‡ā¤‚", "import_path": "ā¤†ā¤¯ā¤žā¤¤ ā¤Ēā¤Ĩ", + "in_albums": "{count, plural, one {# album} other {# albums}} ā¤ŽāĨ‡ā¤‚", "in_archive": "ā¤ĒāĨā¤°ā¤žā¤˛āĨ‡ā¤– ā¤ŽāĨ‡ā¤‚", + "in_year": "{year} ā¤ŽāĨ‡ā¤‚", + "in_year_selector": "ā¤ŽāĨ‡ā¤‚", "include_archived": "⤏⤂⤗āĨā¤°ā¤šāĨ€ā¤¤ ā¤ļā¤žā¤Žā¤ŋ⤞ ⤕⤰āĨ‡ā¤‚", "include_shared_albums": "ā¤¸ā¤žā¤ā¤ž ⤕ā¤ŋā¤ ā¤—ā¤ ā¤ā¤˛āĨā¤Ŧā¤Ž ā¤ļā¤žā¤Žā¤ŋ⤞ ⤕⤰āĨ‡ā¤‚", "include_shared_partner_assets": "ā¤¸ā¤žā¤ā¤ž ā¤­ā¤žā¤—āĨ€ā¤Ļā¤žā¤° ⤏⤂ā¤Ē⤤āĨā¤¤ā¤ŋā¤¯ā¤žā¤‚ ā¤ļā¤žā¤Žā¤ŋ⤞ ⤕⤰āĨ‡ā¤‚", "individual_share": "ā¤ĩāĨā¤¯ā¤•āĨā¤¤ā¤ŋ⤗⤤ ā¤šā¤ŋ⤏āĨā¤¸āĨ‡ā¤Ļā¤žā¤°āĨ€", + "individual_shares": "ā¤ĩāĨā¤¯ā¤•āĨā¤¤ā¤ŋ⤗⤤ ā¤ļāĨ‡ā¤¯ā¤°", "info": "ā¤œā¤žā¤¨ā¤•ā¤žā¤°āĨ€", "interval": { "day_at_onepm": "ā¤šā¤° ā¤Ļā¤ŋ⤍ ā¤ĻāĨ‹ā¤Ēā¤šā¤° 1 ā¤Ŧ⤜āĨ‡", + "hours": "ā¤šā¤° {hours, plural, one {hour} other {{hours, number} hours}}", "night_at_midnight": "ā¤šā¤° ā¤°ā¤žā¤¤ ⤆⤧āĨ€ ā¤°ā¤žā¤¤ ⤕āĨ‹", "night_at_twoam": "ā¤šā¤° ā¤°ā¤žā¤¤ 2 ā¤Ŧ⤜āĨ‡" }, @@ -1152,41 +1213,118 @@ "invalid_date_format": "ā¤…ā¤Žā¤žā¤¨āĨā¤¯ ā¤¤ā¤žā¤°āĨ€ā¤–ā¤ŧ ā¤ĒāĨā¤°ā¤žā¤°āĨ‚ā¤Ē", "invite_people": "⤞āĨ‹ā¤—āĨ‹ ⤕āĨ‹ ⤍ā¤ŋā¤Žā¤‚ā¤¤āĨā¤°ā¤Ŗ ⤭āĨ‡ā¤œāĨ‹", "invite_to_album": "ā¤ā¤˛āĨā¤Ŧā¤Ž ⤕āĨ‡ ⤞ā¤ŋā¤ ā¤†ā¤Žā¤‚ā¤¤āĨā¤°ā¤ŋ⤤ ⤕⤰āĨ‡ā¤‚", + "ios_debug_info_fetch_ran_at": "ā¤Ģā¤ŧāĨ‡ā¤š ⤰⤍ {dateTime}", + "ios_debug_info_last_sync_at": "⤅⤂⤤ā¤ŋā¤Ž ⤏ā¤ŋ⤂⤕ {dateTime}", + "ios_debug_info_no_processes_queued": "⤕āĨ‹ā¤ˆ ā¤ĒāĨƒā¤ˇāĨā¤ ā¤­āĨ‚ā¤Žā¤ŋ ā¤ĒāĨā¤°ā¤•āĨā¤°ā¤ŋā¤¯ā¤ž ā¤•ā¤¤ā¤žā¤°ā¤Ŧā¤ĻāĨā¤§ ā¤¨ā¤šāĨ€ā¤‚ ā¤šāĨˆ", + "ios_debug_info_no_sync_yet": "⤅⤭āĨ€ ⤤⤕ ⤕āĨ‹ā¤ˆ ā¤ĒāĨƒā¤ˇāĨā¤ ā¤­āĨ‚ā¤Žā¤ŋ ā¤¸ā¤Žā¤¨āĨā¤ĩ⤝⤍ ā¤•ā¤žā¤°āĨā¤¯ ā¤¨ā¤šāĨ€ā¤‚ ā¤šā¤˛ā¤žā¤¯ā¤ž ā¤—ā¤¯ā¤ž ā¤šāĨˆ", + "ios_debug_info_processes_queued": "{count, plural, one {{count} background process queued} other {{count} background processes queued}}", + "ios_debug_info_processing_ran_at": "ā¤ĒāĨā¤°ā¤¸ā¤‚⤏āĨā¤•⤰⤪ {dateTime} ā¤Ē⤰ ā¤šā¤˛ā¤ž", + "items_count": "{count, plural, one {# item} other {# items}}", "jobs": "⤍āĨŒā¤•⤰ā¤ŋā¤¯ā¤žā¤‚", "keep": "ā¤°ā¤–ā¤¨ā¤ž", "keep_all": "⤏⤭āĨ€ ā¤°ā¤–ā¤¨ā¤ž", + "keep_this_delete_others": "⤇⤏āĨ‡ ⤰⤖āĨ‡ā¤‚, ⤅⤍āĨā¤¯ ⤕āĨ‹ ā¤šā¤Ÿā¤žā¤ā¤", + "kept_this_deleted_others": "⤇⤏ ⤏⤂ā¤Ē⤤āĨā¤¤ā¤ŋ ⤕āĨ‹ ā¤°ā¤–ā¤ž ā¤—ā¤¯ā¤ž ⤔⤰ {count, plural, one {# asset} other {# assets}} ⤕āĨ‹ ā¤šā¤Ÿā¤ž ā¤Ļā¤ŋā¤¯ā¤ž ā¤—ā¤¯ā¤ž", "keyboard_shortcuts": "⤕āĨā¤‚ā¤œāĨ€ā¤Ē⤟⤞ ⤅⤞āĨā¤Ē ā¤Žā¤žā¤°āĨā¤—", "language": "ā¤­ā¤žā¤ˇā¤ž", + "language_no_results_subtitle": "⤅ā¤Ē⤍āĨ‡ ⤖āĨ‹ā¤œ ā¤ļā¤ŦāĨā¤Ļ ⤕āĨ‹ ā¤¸ā¤Žā¤žā¤¯āĨ‹ā¤œā¤ŋ⤤ ⤕⤰⤍āĨ‡ ā¤•ā¤ž ā¤ĒāĨā¤°ā¤¯ā¤žā¤¸ ⤕⤰āĨ‡ā¤‚", + "language_no_results_title": "⤕āĨ‹ā¤ˆ ā¤­ā¤žā¤ˇā¤ž ā¤¨ā¤šāĨ€ā¤‚ ā¤Žā¤ŋ⤞āĨ€", + "language_search_hint": "ā¤­ā¤žā¤ˇā¤žā¤ā¤‚ ⤖āĨ‹ā¤œāĨ‡ā¤‚..āĨ¤", "language_setting_description": "⤅ā¤Ē⤍āĨ€ ā¤Ē⤏⤂ā¤ĻāĨ€ā¤Ļā¤ž ā¤­ā¤žā¤ˇā¤ž ⤚āĨā¤¨āĨ‡ā¤‚", + "large_files": "ā¤Ŧā¤Ąā¤ŧāĨ€ ā¤Ģā¤ŧā¤žā¤‡ā¤˛āĨ‡ā¤‚", + "last": "⤅⤂⤤ā¤ŋā¤Ž", + "last_months": "{count, plural, one {Last month} other {Last # months}}", "last_seen": "⤅⤂⤤ā¤ŋā¤Ž ā¤Ŧā¤žā¤° ā¤ĻāĨ‡ā¤–ā¤ž ā¤—ā¤¯ā¤ž", "latest_version": "⤍ā¤ĩāĨ€ā¤¨ā¤¤ā¤Ž ⤏⤂⤏āĨā¤•⤰⤪", "latitude": "⤅⤕āĨā¤ˇā¤žā¤‚ā¤ļ", "leave": "⤛āĨā¤ŸāĨā¤ŸāĨ€", + "leave_album": "ā¤ā¤˛āĨā¤Ŧā¤Ž ⤛āĨ‹ā¤Ąā¤ŧāĨ‡ā¤‚", + "lens_model": "⤞āĨ‡ā¤‚⤏ ā¤ŽāĨ‰ā¤Ąā¤˛", "let_others_respond": "ā¤ĻāĨ‚⤏⤰āĨ‹ā¤‚ ⤕āĨ‹ ⤜ā¤ĩā¤žā¤Ŧ ā¤ĻāĨ‡ā¤¨āĨ‡ ā¤ĻāĨ‡ā¤‚", "level": "⤏āĨā¤¤ā¤°", "library": "ā¤ĒāĨā¤¸āĨā¤¤ā¤•ā¤žā¤˛ā¤¯", "library_options": "ā¤ĒāĨā¤¸āĨā¤¤ā¤•ā¤žā¤˛ā¤¯ ā¤ĩā¤ŋ⤕⤞āĨā¤Ē", + "library_page_device_albums": "ā¤Ąā¤ŋā¤ĩā¤žā¤‡ā¤¸ ā¤Ē⤰ ā¤ā¤˛āĨā¤Ŧā¤Ž", + "library_page_new_album": "ā¤¨ā¤¯ā¤ž ā¤ā¤˛āĨā¤Ŧā¤Ž", + "library_page_sort_asset_count": "ā¤Ē⤰ā¤ŋ⤏⤂ā¤Ē⤤āĨā¤¤ā¤ŋ⤝āĨ‹ā¤‚ ⤕āĨ€ ⤏⤂⤖āĨā¤¯ā¤ž", + "library_page_sort_created": "⤏āĨƒā¤œā¤ŋ⤤ ā¤Ļā¤ŋā¤¨ā¤žā¤‚ā¤•", + "library_page_sort_last_modified": "⤅⤂⤤ā¤ŋā¤Ž ⤏⤂ā¤ļāĨ‹ā¤§ā¤¨", + "library_page_sort_title": "ā¤ā¤˛āĨā¤Ŧā¤Ž ā¤•ā¤ž ā¤ļāĨ€ā¤°āĨā¤ˇā¤•", + "licenses": "ā¤˛ā¤žā¤‡ā¤¸āĨ‡ā¤‚⤏", "light": "⤰āĨ‹ā¤ļ⤍āĨ€", + "like": "ā¤Ē⤏⤂ā¤Ļ", "like_deleted": "⤜āĨˆā¤¸āĨ‡ ā¤šā¤Ÿā¤ž ā¤Ļā¤ŋā¤¯ā¤ž ā¤—ā¤¯ā¤ž", + "link_motion_video": "⤞ā¤ŋ⤂⤕ ā¤ŽāĨ‹ā¤ļ⤍ ā¤ĩāĨ€ā¤Ąā¤ŋ⤝āĨ‹", "link_to_oauth": "OAuth ⤏āĨ‡ ⤞ā¤ŋ⤂⤕ ⤕⤰āĨ‡ā¤‚", "linked_oauth_account": "⤞ā¤ŋ⤂⤕ ⤕ā¤ŋā¤¯ā¤ž ā¤—ā¤¯ā¤ž OAuth ā¤–ā¤žā¤¤ā¤ž", "list": "⤏āĨ‚ā¤šāĨ€", "loading": "⤞āĨ‹ā¤Ą ā¤šāĨ‹ ā¤°ā¤šā¤ž ā¤šāĨˆ", "loading_search_results_failed": "⤖āĨ‹ā¤œ ā¤Ē⤰ā¤ŋā¤Ŗā¤žā¤Ž ⤞āĨ‹ā¤Ą ā¤•ā¤°ā¤¨ā¤ž ā¤ĩā¤ŋā¤Ģ⤞ ā¤°ā¤šā¤ž", - "location_permission_content": "In order to use the auto-switching feature, Immich needs precise location permission so it can read the current WiFi network's name", + "local": "⤏āĨā¤Ĩā¤žā¤¨āĨ€ā¤¯", + "local_asset_cast_failed": "⤏⤰āĨā¤ĩ⤰ ā¤Ē⤰ ⤅ā¤Ē⤞āĨ‹ā¤Ą ⤍ ⤕āĨ€ ā¤—ā¤ˆ ⤏⤂ā¤Ē⤤āĨā¤¤ā¤ŋ ⤕āĨ‹ ā¤•ā¤žā¤¸āĨā¤Ÿ ⤕⤰⤍āĨ‡ ā¤ŽāĨ‡ā¤‚ ā¤…ā¤¸ā¤Žā¤°āĨā¤Ĩ", + "local_assets": "⤏āĨā¤Ĩā¤žā¤¨āĨ€ā¤¯ ⤏⤂ā¤Ē⤤āĨā¤¤ā¤ŋā¤¯ā¤žā¤", + "local_media_summary": "⤏āĨā¤Ĩā¤žā¤¨āĨ€ā¤¯ ā¤ŽāĨ€ā¤Ąā¤ŋā¤¯ā¤ž ā¤¸ā¤žā¤°ā¤žā¤‚ā¤ļ", + "local_network": "⤏āĨā¤Ĩā¤žā¤¨āĨ€ā¤¯ ⤍āĨ‡ā¤Ÿā¤ĩ⤰āĨā¤•", + "local_network_sheet_info": "⤍ā¤ŋ⤰āĨā¤Ļā¤ŋ⤎āĨā¤Ÿ ā¤ĩā¤žā¤ˆ-ā¤Ģā¤žā¤ˆ ⤍āĨ‡ā¤Ÿā¤ĩ⤰āĨā¤• ā¤•ā¤ž ⤉ā¤Ē⤝āĨ‹ā¤— ⤕⤰⤤āĨ‡ ā¤¸ā¤Žā¤¯ ⤐ā¤Ē ⤇⤏ URL ⤕āĨ‡ ā¤Žā¤žā¤§āĨā¤¯ā¤Ž ⤏āĨ‡ ⤏⤰āĨā¤ĩ⤰ ⤏āĨ‡ ⤕⤍āĨ‡ā¤•āĨā¤Ÿ ā¤šāĨ‹ā¤—ā¤ž", + "location": "⤏āĨā¤Ĩā¤žā¤¨", + "location_permission": "⤏āĨā¤Ĩā¤žā¤¨ ⤕āĨ€ ⤅⤍āĨā¤Žā¤¤ā¤ŋ", + "location_permission_content": "ā¤‘ā¤ŸāĨ‹-⤏āĨā¤ĩā¤ŋ⤚ā¤ŋ⤂⤗ ⤏āĨā¤ĩā¤ŋā¤§ā¤ž ā¤•ā¤ž ⤉ā¤Ē⤝āĨ‹ā¤— ⤕⤰⤍āĨ‡ ⤕āĨ‡ ⤞ā¤ŋā¤,Immich ⤕āĨ‹ ⤏⤟āĨ€ā¤• ⤏āĨā¤Ĩā¤žā¤¨ ⤅⤍āĨā¤Žā¤¤ā¤ŋ ⤕āĨ€ ⤆ā¤ĩā¤ļāĨā¤¯ā¤•ā¤¤ā¤ž ā¤šāĨ‹ā¤¤āĨ€ ā¤šāĨˆ ā¤¤ā¤žā¤•ā¤ŋ ā¤ĩā¤š ā¤ĩ⤰āĨā¤¤ā¤Žā¤žā¤¨ ā¤ĩā¤žā¤ˆ-ā¤Ģā¤žā¤ˆ ⤍āĨ‡ā¤Ÿā¤ĩ⤰āĨā¤• ā¤•ā¤ž ā¤¨ā¤žā¤Ž ā¤Ēā¤ĸā¤ŧ ⤏⤕āĨ‡", + "location_picker_choose_on_map": "ā¤Žā¤žā¤¨ā¤šā¤ŋ⤤āĨā¤° ā¤Ē⤰ ⤚āĨā¤¨āĨ‡ā¤‚", + "location_picker_latitude_error": "ā¤Žā¤žā¤¨āĨā¤¯ ⤅⤕āĨā¤ˇā¤žā¤‚ā¤ļ ā¤Ļ⤰āĨā¤œ ⤕⤰āĨ‡ā¤‚", + "location_picker_latitude_hint": "⤅ā¤Ēā¤¨ā¤ž ⤅⤕āĨā¤ˇā¤žā¤‚ā¤ļ ā¤¯ā¤šā¤žā¤‚ ā¤Ļ⤰āĨā¤œ ⤕⤰āĨ‡ā¤‚", + "location_picker_longitude_error": "ā¤ā¤• ā¤Žā¤žā¤¨āĨā¤¯ ā¤ĻāĨ‡ā¤ļā¤žā¤‚ā¤¤ā¤° ā¤Ļ⤰āĨā¤œ ⤕⤰āĨ‡ā¤‚", + "location_picker_longitude_hint": "⤅ā¤Ēā¤¨ā¤ž ā¤ĻāĨ‡ā¤ļā¤žā¤‚ā¤¤ā¤° ā¤¯ā¤šā¤žā¤ ā¤Ļ⤰āĨā¤œ ⤕⤰āĨ‡ā¤‚", + "lock": "ā¤¤ā¤žā¤˛ā¤ž", + "locked_folder": "⤞āĨ‰ā¤• ⤕ā¤ŋā¤¯ā¤ž ā¤—ā¤¯ā¤ž ā¤Ģā¤ŧāĨ‹ā¤˛āĨā¤Ąā¤°", + "log_detail_title": "⤞āĨ‰ā¤— ā¤ĩā¤ŋā¤ĩ⤰⤪", "log_out": "⤞āĨ‰ā¤— ā¤†ā¤‰ā¤Ÿ", "log_out_all_devices": "⤏⤭āĨ€ ā¤Ąā¤ŋā¤ĩā¤žā¤‡ā¤¸ ⤞āĨ‰ā¤— ā¤†ā¤‰ā¤Ÿ ⤕⤰āĨ‡ā¤‚", + "logged_in_as": "{user} ⤕āĨ‡ ⤰āĨ‚ā¤Ē ā¤ŽāĨ‡ā¤‚ ⤞āĨ‰ā¤— ⤇⤍ ⤕ā¤ŋā¤¯ā¤ž ā¤—ā¤¯ā¤ž", "logged_out_all_devices": "⤏⤭āĨ€ ā¤Ąā¤ŋā¤ĩā¤žā¤‡ā¤¸ ⤞āĨ‰ā¤— ā¤†ā¤‰ā¤Ÿ ⤕⤰ ā¤Ļā¤ŋā¤ ā¤—ā¤", "logged_out_device": "⤞āĨ‰ā¤— ā¤†ā¤‰ā¤Ÿ ā¤Ąā¤ŋā¤ĩā¤žā¤‡ā¤¸", "login": "⤞āĨ‰ā¤— ⤇⤍ ⤕⤰āĨ‡ā¤‚", + "login_disabled": "⤞āĨ‰ā¤—ā¤ŋ⤍ ⤅⤕āĨā¤ˇā¤Ž ⤕⤰ ā¤Ļā¤ŋā¤¯ā¤ž ā¤—ā¤¯ā¤ž ā¤šāĨˆ", + "login_form_api_exception": "API ⤅ā¤Ēā¤ĩā¤žā¤Ļ. ⤕āĨƒā¤Ēā¤¯ā¤ž ⤏⤰āĨā¤ĩ⤰ URL ā¤œā¤žā¤ā¤šāĨ‡ā¤‚ ⤔⤰ ā¤ĒāĨā¤¨ā¤ƒ ā¤ĒāĨā¤°ā¤¯ā¤žā¤¸ ⤕⤰āĨ‡ā¤‚āĨ¤", + "login_form_back_button_text": "ā¤ĒāĨ€ā¤›āĨ‡", + "login_form_email_hint": "youremail@email.com", + "login_form_endpoint_hint": "http://⤆ā¤Ēā¤•ā¤ž-⤏⤰āĨā¤ĩ⤰-ā¤†ā¤ˆā¤ĒāĨ€:ā¤ĒāĨ‹ā¤°āĨā¤Ÿ", + "login_form_endpoint_url": "⤏⤰āĨā¤ĩ⤰ ā¤ā¤‚ā¤Ąā¤ĒāĨ‰ā¤‡ā¤‚ā¤Ÿ URL", + "login_form_err_http": "⤕āĨƒā¤Ēā¤¯ā¤ž http:// ā¤¯ā¤ž https:// ⤍ā¤ŋ⤰āĨā¤Ļā¤ŋ⤎āĨā¤Ÿ ⤕⤰āĨ‡ā¤‚", + "login_form_err_invalid_email": "ā¤…ā¤Žā¤žā¤¨āĨā¤¯ ā¤ˆā¤ŽāĨ‡ā¤˛", + "login_form_err_invalid_url": "ā¤…ā¤¸ā¤žā¤Žā¤žā¤¨āĨā¤¯ ⤝āĨ‚ā¤†ā¤°ā¤ā¤˛", + "login_form_err_leading_whitespace": "⤅⤗āĨā¤°ā¤ŖāĨ€ ⤰ā¤ŋ⤕āĨā¤¤ ⤏āĨā¤Ĩā¤žā¤¨", + "login_form_err_trailing_whitespace": "⤅⤍āĨā¤—ā¤žā¤ŽāĨ€ ⤰ā¤ŋ⤕āĨā¤¤ ⤏āĨā¤Ĩā¤žā¤¨", + "login_form_failed_get_oauth_server_config": "OAuth ā¤•ā¤ž ⤉ā¤Ē⤝āĨ‹ā¤— ⤕⤰⤤āĨ‡ ā¤¸ā¤Žā¤¯ ⤤āĨā¤°āĨā¤Ÿā¤ŋ ⤞āĨ‰ā¤—ā¤ŋ⤂⤗, ⤏⤰āĨā¤ĩ⤰ URL ⤕āĨ€ ā¤œā¤žā¤ā¤š ⤕⤰āĨ‡ā¤‚", + "login_form_failed_get_oauth_server_disable": "⤇⤏ ⤏⤰āĨā¤ĩ⤰ ā¤Ē⤰ OAuth ⤏āĨā¤ĩā¤ŋā¤§ā¤ž ⤉ā¤Ē⤞ā¤ŦāĨā¤§ ā¤¨ā¤šāĨ€ā¤‚ ā¤šāĨˆ", + "login_form_failed_login": "⤞āĨ‰ā¤— ⤇⤍ ⤕⤰⤤āĨ‡ ā¤¸ā¤Žā¤¯ ⤤āĨā¤°āĨā¤Ÿā¤ŋ ā¤šāĨā¤ˆ, ⤏⤰āĨā¤ĩ⤰ URL, ā¤ˆā¤ŽāĨ‡ā¤˛ ⤔⤰ ā¤Ēā¤žā¤¸ā¤ĩ⤰āĨā¤Ą ā¤œā¤žā¤‚ā¤šāĨ‡ā¤‚", + "login_form_handshake_exception": "⤏⤰āĨā¤ĩ⤰ ā¤ŽāĨ‡ā¤‚ ā¤ā¤• ā¤šāĨˆā¤‚ā¤Ąā¤ļāĨ‡ā¤• ⤅ā¤Ēā¤ĩā¤žā¤Ļ ā¤Ĩā¤žāĨ¤ ⤝ā¤Ļā¤ŋ ⤆ā¤Ē ⤏āĨā¤ĩ-ā¤šā¤¸āĨā¤¤ā¤žā¤•āĨā¤ˇā¤°ā¤ŋ⤤ ā¤ĒāĨā¤°ā¤Žā¤žā¤Ŗā¤Ē⤤āĨā¤° ā¤•ā¤ž ⤉ā¤Ē⤝āĨ‹ā¤— ⤕⤰ ā¤°ā¤šāĨ‡ ā¤šāĨˆā¤‚, ⤤āĨ‹ ⤏āĨ‡ā¤Ÿā¤ŋ⤂⤗āĨā¤¸ ā¤ŽāĨ‡ā¤‚ ⤏āĨā¤ĩ-ā¤šā¤¸āĨā¤¤ā¤žā¤•āĨā¤ˇā¤°ā¤ŋ⤤ ā¤ĒāĨā¤°ā¤Žā¤žā¤Ŗā¤Ē⤤āĨā¤° ā¤¸ā¤Žā¤°āĨā¤Ĩ⤍ ⤏⤕āĨā¤ˇā¤Ž ⤕⤰āĨ‡ā¤‚āĨ¤", + "login_form_password_hint": "ā¤Ēā¤žā¤¸ā¤ĩ⤰āĨā¤Ą", + "login_form_save_login": "⤞āĨ‰ā¤— ⤇⤍ ā¤°ā¤šāĨ‡ā¤‚", + "login_form_server_empty": "⤏⤰āĨā¤ĩ⤰ URL ā¤Ļ⤰āĨā¤œ ⤕⤰āĨ‡ā¤‚āĨ¤", + "login_form_server_error": "⤏⤰āĨā¤ĩ⤰ ⤏āĨ‡ ⤕⤍āĨ‡ā¤•āĨā¤Ÿ ā¤¨ā¤šāĨ€ā¤‚ ⤕⤰ ā¤¸ā¤•ā¤žāĨ¤", "login_has_been_disabled": "⤞āĨ‰ā¤—ā¤ŋ⤍ ⤅⤕āĨā¤ˇā¤Ž ⤕⤰ ā¤Ļā¤ŋā¤¯ā¤ž ā¤—ā¤¯ā¤ž ā¤šāĨˆāĨ¤", + "login_password_changed_error": "⤆ā¤Ēā¤•ā¤ž ā¤Ēā¤žā¤¸ā¤ĩ⤰āĨā¤Ą ⤅ā¤Ēā¤ĄāĨ‡ā¤Ÿ ⤕⤰⤤āĨ‡ ā¤¸ā¤Žā¤¯ ā¤ā¤• ⤤āĨā¤°āĨā¤Ÿā¤ŋ ā¤šāĨā¤ˆ", + "login_password_changed_success": "ā¤Ēā¤žā¤¸ā¤ĩ⤰āĨā¤Ą ⤏ā¤Ģā¤˛ā¤¤ā¤žā¤ĒāĨ‚⤰āĨā¤ĩ⤕ ⤅ā¤ĻāĨā¤¯ā¤¤ā¤¨", "logout_all_device_confirmation": "⤕āĨā¤¯ā¤ž ⤆ā¤Ē ā¤ĩā¤žā¤•ā¤ˆ ⤏⤭āĨ€ ā¤Ąā¤ŋā¤ĩā¤žā¤‡ā¤¸ ⤏āĨ‡ ⤞āĨ‰ā¤— ā¤†ā¤‰ā¤Ÿ ā¤•ā¤°ā¤¨ā¤ž ā¤šā¤žā¤šā¤¤āĨ‡ ā¤šāĨˆā¤‚?", "logout_this_device_confirmation": "⤕āĨā¤¯ā¤ž ⤆ā¤Ē ā¤ĩā¤žā¤•ā¤ˆ ⤇⤏ ā¤Ąā¤ŋā¤ĩā¤žā¤‡ā¤¸ ⤕āĨ‹ ⤞āĨ‰ā¤— ā¤†ā¤‰ā¤Ÿ ā¤•ā¤°ā¤¨ā¤ž ā¤šā¤žā¤šā¤¤āĨ‡ ā¤šāĨˆā¤‚?", + "logs": "⤞āĨ‰ā¤—āĨā¤¸", "longitude": "ā¤ĻāĨ‡ā¤ļā¤žā¤¨āĨā¤¤ā¤°", "look": "ā¤ĻāĨ‡ā¤–ā¤¨ā¤ž", "loop_videos": "⤞āĨ‚ā¤Ē ā¤ĩāĨ€ā¤Ąā¤ŋ⤝āĨ‹", "loop_videos_description": "ā¤ĩā¤ŋā¤ĩ⤰⤪ ā¤ĩāĨā¤¯āĨ‚⤅⤰ ā¤ŽāĨ‡ā¤‚ ⤕ā¤ŋ⤏āĨ€ ā¤ĩāĨ€ā¤Ąā¤ŋ⤝āĨ‹ ⤕āĨ‹ ⤏āĨā¤ĩā¤šā¤žā¤˛ā¤ŋ⤤ ⤰āĨ‚ā¤Ē ⤏āĨ‡ ⤞āĨ‚ā¤Ē ⤕⤰⤍āĨ‡ ā¤ŽāĨ‡ā¤‚ ⤏⤕āĨā¤ˇā¤Ž ⤕⤰āĨ‡ā¤‚āĨ¤", + "main_branch_warning": "⤆ā¤Ē ā¤ĩā¤ŋā¤•ā¤žā¤¸ ⤏⤂⤏āĨā¤•⤰⤪ ā¤•ā¤ž ⤉ā¤Ē⤝āĨ‹ā¤— ⤕⤰ ā¤°ā¤šāĨ‡ ā¤šāĨˆā¤‚; ā¤šā¤Ž ā¤ĻāĨƒā¤ĸā¤ŧā¤¤ā¤ž ⤏āĨ‡ ⤰ā¤ŋ⤞āĨ€ā¤œā¤ŧ ⤏⤂⤏āĨā¤•⤰⤪ ā¤•ā¤ž ⤉ā¤Ē⤝āĨ‹ā¤— ⤕⤰⤍āĨ‡ ⤕āĨ€ ⤅⤍āĨā¤ļā¤‚ā¤¸ā¤ž ⤕⤰⤤āĨ‡ ā¤šāĨˆā¤‚!", + "main_menu": "ā¤ŽāĨ‡ā¤¨āĨ‚ ā¤šā¤˛ā¤žā¤ā¤", + "maintenance_description": "Immich ⤕āĨ‹ ā¤ŽāĨ‡ā¤‚ā¤ŸāĨ‡ā¤¨āĨ‡ā¤‚⤏ ā¤ŽāĨ‹ā¤Ą ā¤ŽāĨ‡ā¤‚ ā¤Ąā¤žā¤˛ ā¤Ļā¤ŋā¤¯ā¤ž ā¤—ā¤¯ā¤ž ā¤šāĨˆāĨ¤", + "maintenance_end": "ā¤°ā¤–ā¤°ā¤–ā¤žā¤ĩ ā¤ŽāĨ‹ā¤Ą ā¤¸ā¤Žā¤žā¤ĒāĨā¤¤ ⤕⤰āĨ‡ā¤‚", + "maintenance_end_error": "ā¤ŽāĨ‡ā¤‚ā¤ŸāĨ‡ā¤¨āĨ‡ā¤‚⤏ ā¤ŽāĨ‹ā¤Ą ⤖⤤āĨā¤Ž ā¤¨ā¤šāĨ€ā¤‚ ā¤šāĨ‹ ā¤¸ā¤•ā¤žāĨ¤", + "maintenance_logged_in_as": "⤅⤭āĨ€ {user} ⤕āĨ‡ ⤤āĨŒā¤° ā¤Ē⤰ ⤞āĨ‰ā¤— ⤇⤍ ā¤šāĨˆā¤‚", + "maintenance_title": "⤅⤏āĨā¤Ĩā¤žā¤ˆ ⤰āĨ‚ā¤Ē ⤏āĨ‡ ⤅⤍āĨā¤Ē⤞ā¤ŦāĨā¤§", "make": "ā¤Ŧā¤¨ā¤žā¤¨ā¤ž", + "manage_geolocation": "⤏āĨā¤Ĩā¤žā¤¨ ā¤ĒāĨā¤°ā¤Ŧ⤂⤧ā¤ŋ⤤ ⤕⤰āĨ‡ā¤‚", + "manage_media_access_rationale": "ā¤¯ā¤š ⤅⤍āĨā¤Žā¤¤ā¤ŋ ā¤Ē⤰ā¤ŋ⤏⤂ā¤Ē⤤āĨā¤¤ā¤ŋ⤝āĨ‹ā¤‚ ⤕āĨ‹ ⤕āĨ‚ā¤Ąā¤ŧāĨ‡ā¤Ļā¤žā¤¨ ā¤ŽāĨ‡ā¤‚ ⤞āĨ‡ ā¤œā¤žā¤¨āĨ‡ ⤤ā¤Ĩā¤ž ā¤ĩā¤šā¤žā¤‚ ⤏āĨ‡ ⤉⤍āĨā¤šāĨ‡ā¤‚ ā¤ĩā¤žā¤Ē⤏ ā¤˛ā¤žā¤¨āĨ‡ ⤕āĨ‡ ā¤‰ā¤šā¤ŋ⤤ ā¤ĒāĨā¤°ā¤Ŧ⤂⤧⤍ ⤕āĨ‡ ⤞ā¤ŋā¤ ⤆ā¤ĩā¤ļāĨā¤¯ā¤• ā¤šāĨˆāĨ¤", + "manage_media_access_settings": "⤖āĨā¤˛āĨ€ ⤏āĨ‡ā¤Ÿā¤ŋ⤂⤗", + "manage_media_access_subtitle": "Immich ⤐ā¤Ē ⤕āĨ‹ ā¤ŽāĨ€ā¤Ąā¤ŋā¤¯ā¤ž ā¤Ģā¤ŧā¤žā¤‡ā¤˛āĨ‹ā¤‚ ⤕āĨ‹ ā¤ĒāĨā¤°ā¤Ŧ⤂⤧ā¤ŋ⤤ ⤕⤰⤍āĨ‡ ⤔⤰ ⤏āĨā¤Ĩā¤žā¤¨ā¤žā¤‚ā¤¤ā¤°ā¤ŋ⤤ ⤕⤰⤍āĨ‡ ⤕āĨ€ ⤅⤍āĨā¤Žā¤¤ā¤ŋ ā¤ĻāĨ‡ā¤‚āĨ¤", + "manage_media_access_title": "ā¤ŽāĨ€ā¤Ąā¤ŋā¤¯ā¤ž ā¤ĒāĨā¤°ā¤Ŧ⤂⤧⤍ ā¤Ēā¤šāĨā¤ā¤š", "manage_shared_links": "ā¤¸ā¤žā¤ā¤ž ⤕ā¤ŋā¤ ā¤—ā¤ ⤞ā¤ŋ⤂⤕ ā¤•ā¤ž ā¤ĒāĨā¤°ā¤Ŧ⤂⤧⤍ ⤕⤰āĨ‡ā¤‚", "manage_sharing_with_partners": "ā¤¸ā¤žā¤āĨ‡ā¤Ļā¤žā¤°āĨ‹ā¤‚ ⤕āĨ‡ ā¤¸ā¤žā¤Ĩ ā¤¸ā¤žā¤ā¤žā¤•ā¤°ā¤Ŗ ā¤ĒāĨā¤°ā¤Ŧ⤂⤧ā¤ŋ⤤ ⤕⤰āĨ‡ā¤‚", "manage_the_app_settings": "⤐ā¤Ē ⤏āĨ‡ā¤Ÿā¤ŋ⤂⤗ ā¤ĒāĨā¤°ā¤Ŧ⤂⤧ā¤ŋ⤤ ⤕⤰āĨ‡ā¤‚", @@ -1195,34 +1333,92 @@ "manage_your_devices": "⤅ā¤Ē⤍āĨ‡ ⤞āĨ‰ā¤—-⤇⤍ ā¤Ąā¤ŋā¤ĩā¤žā¤‡ā¤¸ ā¤ĒāĨā¤°ā¤Ŧ⤂⤧ā¤ŋ⤤ ⤕⤰āĨ‡ā¤‚", "manage_your_oauth_connection": "⤅ā¤Ēā¤¨ā¤ž OAuth ⤕⤍āĨ‡ā¤•āĨā¤ļ⤍ ā¤ĒāĨā¤°ā¤Ŧ⤂⤧ā¤ŋ⤤ ⤕⤰āĨ‡ā¤‚", "map": "⤍⤕āĨā¤ļā¤ž", + "map_assets_in_bounds": "{count, plural, =0 {No photos in this area} one {# photo} other {# photos}}", + "map_cannot_get_user_location": "⤉ā¤Ē⤝āĨ‹ā¤—⤕⤰āĨā¤¤ā¤ž ā¤•ā¤ž ⤏āĨā¤Ĩā¤žā¤¨ ā¤ĒāĨā¤°ā¤žā¤ĒāĨā¤¤ ā¤¨ā¤šāĨ€ā¤‚ ⤕ā¤ŋā¤¯ā¤ž ā¤œā¤ž ā¤¸ā¤•ā¤ž", + "map_location_dialog_yes": "ā¤šā¤žā¤", + "map_location_picker_page_use_location": "⤇⤏ ⤏āĨā¤Ĩā¤žā¤¨ ā¤•ā¤ž ⤉ā¤Ē⤝āĨ‹ā¤— ⤕⤰āĨ‡ā¤‚", + "map_location_service_disabled_content": "⤆ā¤Ē⤕āĨ‡ ā¤ĩ⤰āĨā¤¤ā¤Žā¤žā¤¨ ⤏āĨā¤Ĩā¤žā¤¨ ⤕āĨ€ ⤏⤂ā¤Ē⤤āĨā¤¤ā¤ŋā¤¯ā¤žā¤ ā¤ĒāĨā¤°ā¤Ļ⤰āĨā¤ļā¤ŋ⤤ ⤕⤰⤍āĨ‡ ⤕āĨ‡ ⤞ā¤ŋā¤ ⤏āĨā¤Ĩā¤žā¤¨ ⤏āĨ‡ā¤ĩā¤ž ⤏⤕āĨā¤ˇā¤Ž ā¤šāĨ‹ā¤¨āĨ€ ā¤šā¤žā¤šā¤ŋā¤āĨ¤ ⤕āĨā¤¯ā¤ž ⤆ā¤Ē ⤇⤏āĨ‡ ⤅⤭āĨ€ ⤏⤕āĨā¤ˇā¤Ž ā¤•ā¤°ā¤¨ā¤ž ā¤šā¤žā¤šā¤¤āĨ‡ ā¤šāĨˆā¤‚?", + "map_location_service_disabled_title": "⤏āĨā¤Ĩā¤žā¤¨ ⤏āĨ‡ā¤ĩā¤ž ⤅⤕āĨā¤ˇā¤Ž", + "map_marker_for_images": "{city}, {country} ā¤ŽāĨ‡ā¤‚ ⤞āĨ€ ā¤—ā¤ˆ ⤛ā¤ĩā¤ŋ⤝āĨ‹ā¤‚ ⤕āĨ‡ ⤞ā¤ŋā¤ ā¤Žā¤žā¤¨ā¤šā¤ŋ⤤āĨā¤° ā¤Žā¤žā¤°āĨā¤•⤰", "map_marker_with_image": "⤛ā¤ĩā¤ŋ ⤕āĨ‡ ā¤¸ā¤žā¤Ĩ ā¤Žā¤žā¤¨ā¤šā¤ŋ⤤āĨā¤° ā¤Žā¤žā¤°āĨā¤•⤰", + "map_no_location_permission_content": "⤆ā¤Ē⤕āĨ‡ ā¤ĩ⤰āĨā¤¤ā¤Žā¤žā¤¨ ⤏āĨā¤Ĩā¤žā¤¨ ⤏āĨ‡ ⤏⤂ā¤Ē⤤āĨā¤¤ā¤ŋā¤¯ā¤žā¤ ā¤ĒāĨā¤°ā¤Ļ⤰āĨā¤ļā¤ŋ⤤ ⤕⤰⤍āĨ‡ ⤕āĨ‡ ⤞ā¤ŋā¤ ⤏āĨā¤Ĩā¤žā¤¨ ⤅⤍āĨā¤Žā¤¤ā¤ŋ ⤆ā¤ĩā¤ļāĨā¤¯ā¤• ā¤šāĨˆāĨ¤ ⤕āĨā¤¯ā¤ž ⤆ā¤Ē ⤇⤏āĨ‡ ⤅⤭āĨ€ ⤅⤍āĨā¤Žā¤¤ā¤ŋ ā¤ĻāĨ‡ā¤¨ā¤ž ā¤šā¤žā¤šā¤¤āĨ‡ ā¤šāĨˆā¤‚?", + "map_no_location_permission_title": "⤏āĨā¤Ĩā¤žā¤¨ ⤕āĨ€ ⤅⤍āĨā¤Žā¤¤ā¤ŋ ⤅⤏āĨā¤ĩāĨ€ā¤•āĨƒā¤¤", "map_settings": "ā¤Žā¤žā¤¨ā¤šā¤ŋ⤤āĨā¤° ⤏āĨ‡ā¤Ÿā¤ŋ⤂⤗", + "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_include_show_archived": "⤏⤂⤗āĨā¤°ā¤šāĨ€ā¤¤ ā¤ļā¤žā¤Žā¤ŋ⤞ ⤕⤰āĨ‡ā¤‚", + "map_settings_include_show_partners": "ā¤­ā¤žā¤—āĨ€ā¤Ļā¤žā¤°āĨ‹ā¤‚ ⤕āĨ‹ ā¤ļā¤žā¤Žā¤ŋ⤞ ⤕⤰āĨ‡ā¤‚", + "map_settings_only_show_favorites": "⤕āĨ‡ā¤ĩ⤞ ā¤Ē⤏⤂ā¤ĻāĨ€ā¤Ļā¤ž ā¤Ļā¤ŋā¤–ā¤žā¤ā¤", + "map_settings_theme_settings": "ā¤Žā¤žā¤¨ā¤šā¤ŋ⤤āĨā¤° ā¤ĨāĨ€ā¤Ž", + "map_zoom_to_see_photos": "ā¤Ģā¤ŧāĨ‹ā¤ŸāĨ‹ ā¤ĻāĨ‡ā¤–⤍āĨ‡ ⤕āĨ‡ ⤞ā¤ŋā¤ ⤜ā¤ŧāĨ‚ā¤Ž ā¤†ā¤‰ā¤Ÿ ⤕⤰āĨ‡ā¤‚", + "mark_all_as_read": "⤏⤭āĨ€ ⤕āĨ‹ ā¤Ēā¤ĸā¤ŧā¤ž ā¤šāĨā¤† ā¤Žā¤žā¤°āĨā¤• ⤕⤰āĨ‡ā¤‚", + "mark_as_read": "ā¤Ēā¤ĸā¤ŧāĨ‡ ā¤šāĨā¤ ā¤•ā¤ž ⤚ā¤ŋā¤šāĨā¤¨", + "marked_all_as_read": "⤏⤭āĨ€ ⤕āĨ‹ ā¤Ēā¤ĸā¤ŧā¤ž ā¤šāĨā¤† ⤚ā¤ŋā¤šāĨā¤¨ā¤ŋ⤤ ⤕ā¤ŋā¤¯ā¤ž ā¤—ā¤¯ā¤ž", "matches": "ā¤Žā¤žā¤šā¤ŋ⤏", + "matching_assets": "ā¤Žā¤ŋā¤˛ā¤žā¤¨ ⤏⤂ā¤Ē⤤āĨā¤¤ā¤ŋā¤¯ā¤žā¤‚", "media_type": "ā¤ŽāĨ€ā¤Ąā¤ŋā¤¯ā¤ž ā¤ĒāĨā¤°ā¤•ā¤žā¤°", "memories": "ā¤¯ā¤žā¤ĻāĨ‡ā¤‚", + "memories_all_caught_up": "ā¤¸ā¤žā¤°āĨ€ ā¤œā¤žā¤¨ā¤•ā¤žā¤°āĨ€ ā¤ĒāĨā¤°ā¤žā¤ĒāĨā¤¤", + "memories_check_back_tomorrow": "⤅⤧ā¤ŋ⤕ ā¤¯ā¤žā¤ĻāĨ‹ā¤‚ ⤕āĨ‡ ⤞ā¤ŋā¤ ⤕⤞ ā¤ĒāĨā¤¨ā¤ƒ ā¤†ā¤‡ā¤", "memories_setting_description": "⤆ā¤Ē ⤅ā¤Ē⤍āĨ€ ā¤¯ā¤žā¤ĻāĨ‹ā¤‚ ā¤ŽāĨ‡ā¤‚ ⤜āĨ‹ ā¤ĻāĨ‡ā¤–⤤āĨ‡ ā¤šāĨˆā¤‚ ⤉⤏āĨ‡ ā¤ĒāĨā¤°ā¤Ŧ⤂⤧ā¤ŋ⤤ ⤕⤰āĨ‡ā¤‚", + "memories_start_over": "ā¤ĒāĨā¤°ā¤žā¤°ā¤‚⤭ ⤕⤰āĨ‡ā¤‚", + "memories_swipe_to_close": "ā¤Ŧ⤂ā¤Ļ ⤕⤰⤍āĨ‡ ⤕āĨ‡ ⤞ā¤ŋā¤ ⤊ā¤Ē⤰ ⤏āĨā¤ĩā¤žā¤‡ā¤Ē ⤕⤰āĨ‡ā¤‚", "memory": "ā¤¯ā¤žā¤Ļ", + "memory_lane_title": "⤏āĨā¤ŽāĨƒā¤¤ā¤ŋ ⤞āĨ‡ā¤¨ {title}", "menu": "ā¤ŽāĨ‡ā¤¨āĨā¤¯āĨ‚", "merge": "ā¤Žā¤°āĨā¤œ", "merge_people": "⤞āĨ‹ā¤—āĨ‹ā¤‚ ⤕āĨ‹ ā¤Žā¤ŋā¤˛ā¤žā¤“", "merge_people_limit": "⤆ā¤Ē ā¤ā¤• ā¤¸ā¤Žā¤¯ ā¤ŽāĨ‡ā¤‚ ⤅⤧ā¤ŋā¤•ā¤¤ā¤Ž 5 ⤚āĨ‡ā¤šā¤°āĨ‹ā¤‚ ⤕āĨ‹ ā¤šāĨ€ ā¤Žā¤°āĨā¤œ ⤕⤰ ⤏⤕⤤āĨ‡ ā¤šāĨˆā¤‚", "merge_people_prompt": "⤕āĨā¤¯ā¤ž ⤆ā¤Ē ⤇⤍ ⤞āĨ‹ā¤—āĨ‹ā¤‚ ā¤•ā¤ž ā¤ĩā¤ŋ⤞⤝ ā¤•ā¤°ā¤¨ā¤ž ā¤šā¤žā¤šā¤¤āĨ‡ ā¤šāĨˆā¤‚? ā¤¯ā¤š ā¤•ā¤žā¤°āĨā¤°ā¤ĩā¤žā¤ˆ ⤅ā¤Ē⤰ā¤ŋā¤ĩ⤰āĨā¤¤ā¤¨āĨ€ā¤¯ ā¤šāĨˆāĨ¤", "merge_people_successfully": "⤞āĨ‹ā¤—āĨ‹ā¤‚ ⤕āĨ‹ ⤏ā¤Ģā¤˛ā¤¤ā¤žā¤ĒāĨ‚⤰āĨā¤ĩ⤕ ā¤Žā¤°āĨā¤œ ⤕⤰āĨ‡ā¤‚", + "merged_people_count": "ā¤ĩā¤ŋ⤞⤝ā¤ŋ⤤ {count, plural, one {# person} other {# people}}", "minimize": "⤛āĨ‹ā¤Ÿā¤ž ā¤•ā¤°ā¤¨ā¤ž", "minute": "ā¤Žā¤ŋ⤍⤟", + "minutes": "ā¤Žā¤ŋ⤍⤟", "missing": "⤗āĨā¤Ž", + "mobile_app": "ā¤ŽāĨ‹ā¤Ŧā¤žā¤‡ā¤˛ ā¤ā¤ĒāĨā¤˛ā¤ŋ⤕āĨ‡ā¤ļ⤍", + "mobile_app_download_onboarding_note": "⤍ā¤ŋā¤ŽāĨā¤¨ā¤˛ā¤ŋ⤖ā¤ŋ⤤ ā¤ĩā¤ŋ⤕⤞āĨā¤ĒāĨ‹ā¤‚ ā¤•ā¤ž ⤉ā¤Ē⤝āĨ‹ā¤— ⤕⤰⤕āĨ‡ ā¤¸ā¤žā¤ĨāĨ€ ā¤ŽāĨ‹ā¤Ŧā¤žā¤‡ā¤˛ ⤐ā¤Ē ā¤Ąā¤žā¤‰ā¤¨ā¤˛āĨ‹ā¤Ą ⤕⤰āĨ‡ā¤‚", "model": "ā¤ŽāĨ‰ā¤Ąā¤˛", "month": "ā¤Žā¤šāĨ€ā¤¨ā¤ž", + "monthly_title_text_date_format": "ā¤ā¤Žā¤ā¤Žā¤ā¤Žā¤ā¤Ž ā¤ĩā¤žā¤ˆ", "more": "⤅⤧ā¤ŋ⤕", + "move": "⤏āĨā¤Ĩā¤žā¤¨ ā¤Ē⤰ā¤ŋā¤ĩ⤰āĨā¤¤ā¤¨", + "move_off_locked_folder": "⤞āĨ‰ā¤• ⤕ā¤ŋā¤ ā¤—ā¤ ā¤Ģā¤ŧāĨ‹ā¤˛āĨā¤Ąā¤° ⤏āĨ‡ ā¤Ŧā¤žā¤šā¤° ⤞āĨ‡ ā¤œā¤žā¤ā¤‚", + "move_to": "⤕⤰⤍āĨ‡ ⤕āĨ‡ ⤞ā¤ŋā¤ ⤕ā¤Ļā¤Ž", + "move_to_lock_folder_action_prompt": "{count} ⤞āĨ‰ā¤• ⤕ā¤ŋā¤ ā¤—ā¤ ā¤Ģā¤ŧāĨ‹ā¤˛āĨā¤Ąā¤° ā¤ŽāĨ‡ā¤‚ ⤜āĨ‹ā¤Ąā¤ŧā¤ž ā¤—ā¤¯ā¤ž", + "move_to_locked_folder": "⤞āĨ‰ā¤• ⤕ā¤ŋā¤ ā¤—ā¤ ā¤Ģā¤ŧāĨ‹ā¤˛āĨā¤Ąā¤° ā¤ŽāĨ‡ā¤‚ ⤞āĨ‡ ā¤œā¤žā¤ā¤‚", + "move_to_locked_folder_confirmation": "⤝āĨ‡ ā¤Ģā¤ŧāĨ‹ā¤ŸāĨ‹ ⤔⤰ ā¤ĩāĨ€ā¤Ąā¤ŋ⤝āĨ‹ ⤏⤭āĨ€ ā¤ā¤˛āĨā¤Ŧā¤ŽāĨ‹ā¤‚ ⤏āĨ‡ ā¤šā¤Ÿā¤ž ā¤Ļā¤ŋā¤ ā¤œā¤žā¤ā¤ā¤—āĨ‡ ⤔⤰ ⤕āĨ‡ā¤ĩ⤞ ⤞āĨ‰ā¤• ⤕ā¤ŋā¤ ā¤—ā¤ ā¤Ģā¤ŧāĨ‹ā¤˛āĨā¤Ąā¤° ⤏āĨ‡ ā¤šāĨ€ ā¤ĻāĨ‡ā¤–āĨ‡ ā¤œā¤ž ⤏⤕āĨ‡ā¤‚⤗āĨ‡", + "moved_to_archive": "{count, plural, one {# asset} other {# assets}} ⤕āĨ‹ ⤏⤂⤗āĨā¤°ā¤š ā¤ŽāĨ‡ā¤‚ ⤞āĨ‡ ā¤œā¤žā¤¯ā¤ž ā¤—ā¤¯ā¤ž", + "moved_to_library": "{count, plural, one {# asset} other {# assets}} ⤕āĨ‹ ā¤˛ā¤žā¤‡ā¤ŦāĨā¤°āĨ‡ā¤°āĨ€ ā¤ŽāĨ‡ā¤‚ ⤞āĨ‡ ā¤œā¤žā¤¯ā¤ž ā¤—ā¤¯ā¤ž", "moved_to_trash": "⤕āĨ‚ā¤Ąā¤ŧāĨ‡ā¤Ļā¤žā¤¨ ā¤ŽāĨ‡ā¤‚ ⤞āĨ‡ ā¤œā¤žā¤¯ā¤ž ā¤—ā¤¯ā¤ž", + "multiselect_grid_edit_date_time_err_read_only": "⤕āĨ‡ā¤ĩ⤞ ā¤Ēā¤ĸā¤ŧ⤍āĨ‡ ⤝āĨ‹ā¤—āĨā¤¯ ā¤Ē⤰ā¤ŋ⤏⤂ā¤Ē⤤āĨā¤¤ā¤ŋ(⤝āĨ‹ā¤‚) ⤕āĨ€ ⤤ā¤ŋā¤Ĩā¤ŋ ⤏⤂ā¤Ēā¤žā¤Ļā¤ŋ⤤ ā¤¨ā¤šāĨ€ā¤‚ ⤕āĨ€ ā¤œā¤ž ⤏⤕⤤āĨ€, ⤛āĨ‹ā¤Ąā¤ŧāĨ€ ā¤œā¤ž ā¤°ā¤šāĨ€ ā¤šāĨˆ", + "multiselect_grid_edit_gps_err_read_only": "⤕āĨ‡ā¤ĩ⤞ ā¤Ēā¤ĸā¤ŧ⤍āĨ‡ ⤝āĨ‹ā¤—āĨā¤¯ ā¤Ē⤰ā¤ŋ⤏⤂ā¤Ē⤤āĨā¤¤ā¤ŋ(⤝āĨ‹ā¤‚) ā¤•ā¤ž ⤏āĨā¤Ĩā¤žā¤¨ ⤏⤂ā¤Ēā¤žā¤Ļā¤ŋ⤤ ā¤¨ā¤šāĨ€ā¤‚ ⤕ā¤ŋā¤¯ā¤ž ā¤œā¤ž ā¤¸ā¤•ā¤¤ā¤ž, ⤛āĨ‹ā¤Ąā¤ŧā¤ž ā¤œā¤ž ā¤°ā¤šā¤ž ā¤šāĨˆ", + "mute_memories": "ā¤ŽāĨ‚⤕ ā¤¯ā¤žā¤ĻāĨ‡ā¤‚", "my_albums": "ā¤ŽāĨ‡ā¤°āĨ‡ ā¤ā¤˛āĨā¤Ŧā¤Ž", "name": "ā¤¨ā¤žā¤Ž", "name_or_nickname": "ā¤¨ā¤žā¤Ž ā¤¯ā¤ž ⤉ā¤Ēā¤¨ā¤žā¤Ž", + "navigate": "⤍āĨ‡ā¤ĩā¤ŋ⤗āĨ‡ā¤Ÿ", + "navigate_to_time": "ā¤¸ā¤Žā¤¯ ā¤Ē⤰ ⤍āĨ‡ā¤ĩā¤ŋ⤗āĨ‡ā¤Ÿ ⤕⤰āĨ‡ā¤‚", + "network_requirement_photos_upload": "ā¤Ģā¤ŧāĨ‹ā¤ŸāĨ‹ ā¤•ā¤ž ā¤ŦāĨˆā¤•⤅ā¤Ē ⤞āĨ‡ā¤¨āĨ‡ ⤕āĨ‡ ⤞ā¤ŋā¤ ⤏āĨ‡ā¤˛āĨā¤˛ā¤° ā¤ĄāĨ‡ā¤Ÿā¤ž ā¤•ā¤ž ⤉ā¤Ē⤝āĨ‹ā¤— ⤕⤰āĨ‡ā¤‚", + "network_requirement_videos_upload": "ā¤ĩāĨ€ā¤Ąā¤ŋ⤝āĨ‹ ā¤•ā¤ž ā¤ŦāĨˆā¤•⤅ā¤Ē ⤞āĨ‡ā¤¨āĨ‡ ⤕āĨ‡ ⤞ā¤ŋā¤ ⤏āĨ‡ā¤˛āĨā¤˛ā¤° ā¤ĄāĨ‡ā¤Ÿā¤ž ā¤•ā¤ž ⤉ā¤Ē⤝āĨ‹ā¤— ⤕⤰āĨ‡ā¤‚", + "network_requirements": "⤍āĨ‡ā¤Ÿā¤ĩ⤰āĨā¤• ⤆ā¤ĩā¤ļāĨā¤¯ā¤•ā¤¤ā¤žā¤ā¤", + "network_requirements_updated": "⤍āĨ‡ā¤Ÿā¤ĩ⤰āĨā¤• ⤆ā¤ĩā¤ļāĨā¤¯ā¤•ā¤¤ā¤žā¤ā¤ ā¤Ŧā¤Ļ⤞āĨ€ ā¤—ā¤ˆā¤‚, ā¤ŦāĨˆā¤•⤅ā¤Ē ā¤•ā¤¤ā¤žā¤° ⤰āĨ€ā¤¸āĨ‡ā¤Ÿ ⤕āĨ€ ā¤œā¤ž ā¤°ā¤šāĨ€ ā¤šāĨˆ", + "networking_settings": "⤍āĨ‡ā¤Ÿā¤ĩ⤰āĨā¤•ā¤ŋ⤂⤗", + "networking_subtitle": "⤏⤰āĨā¤ĩ⤰ ā¤ā¤‚ā¤Ąā¤ĒāĨ‰ā¤‡ā¤‚ā¤Ÿ ⤏āĨ‡ā¤Ÿā¤ŋ⤂⤗āĨā¤¸ ā¤ĒāĨā¤°ā¤Ŧ⤂⤧ā¤ŋ⤤ ⤕⤰āĨ‡ā¤‚", "never": "⤕⤭āĨ€ ā¤¨ā¤šāĨ€ā¤‚", "new_album": "⤍⤝āĨ€ ā¤ā¤˛āĨā¤Ŧā¤Ž", "new_api_key": "⤍⤈ ā¤ā¤ĒāĨ€ā¤†ā¤ˆ ⤕āĨā¤‚ā¤œāĨ€", + "new_date_range": "⤍⤈ ⤤ā¤ŋā¤Ĩā¤ŋ ⤏āĨ€ā¤Žā¤ž", "new_password": "ā¤¨ā¤¯ā¤ž ā¤Ēā¤žā¤¸ā¤ĩ⤰āĨā¤Ą", "new_person": "ā¤¨ā¤¯ā¤ž ā¤ĩāĨā¤¯ā¤•āĨā¤¤ā¤ŋ", + "new_pin_code": "ā¤¨ā¤¯ā¤ž ā¤Ēā¤ŋ⤍ ⤕āĨ‹ā¤Ą", + "new_pin_code_subtitle": "⤆ā¤Ē ā¤Ēā¤šā¤˛āĨ€ ā¤Ŧā¤žā¤° ⤞āĨ‰ā¤• ⤕ā¤ŋā¤ ā¤—ā¤ ā¤Ģā¤ŧāĨ‹ā¤˛āĨā¤Ąā¤° ⤤⤕ ā¤Ēā¤šāĨā¤ā¤š ā¤°ā¤šāĨ‡ ā¤šāĨˆā¤‚āĨ¤ ⤇⤏ ā¤ĒāĨƒā¤ˇāĨā¤  ⤤⤕ ⤏āĨā¤°ā¤•āĨā¤ˇā¤ŋ⤤ ⤰āĨ‚ā¤Ē ⤏āĨ‡ ā¤Ēā¤šāĨā¤ā¤šā¤¨āĨ‡ ⤕āĨ‡ ⤞ā¤ŋā¤ ā¤ā¤• ā¤Ēā¤ŋ⤍ ⤕āĨ‹ā¤Ą ā¤Ŧā¤¨ā¤žā¤ā¤", + "new_timeline": "⤍⤈ ā¤¸ā¤Žā¤¯ā¤°āĨ‡ā¤–ā¤ž", + "new_update": "⤍⤈ ⤅ā¤Ēā¤ĄāĨ‡ā¤Ÿ", "new_user_created": "ā¤¨ā¤¯ā¤ž ⤉ā¤Ē⤝āĨ‹ā¤—⤕⤰āĨā¤¤ā¤ž ā¤Ŧā¤¨ā¤žā¤¯ā¤ž ā¤—ā¤¯ā¤ž", "new_version_available": "ā¤¨ā¤¯ā¤ž ⤏⤂⤏āĨā¤•⤰⤪ ⤉ā¤Ē⤞ā¤ŦāĨā¤§ ā¤šāĨˆ", "newest_first": "⤍ā¤ĩāĨ€ā¤¨ā¤¤ā¤Ž ā¤Ēā¤šā¤˛āĨ‡", @@ -1234,44 +1430,87 @@ "no_albums_yet": "ā¤ā¤¸ā¤ž ā¤˛ā¤—ā¤¤ā¤ž ā¤šāĨˆ ⤕ā¤ŋ ⤆ā¤Ē⤕āĨ‡ ā¤Ēā¤žā¤¸ ⤅⤭āĨ€ ⤤⤕ ⤕āĨ‹ā¤ˆ ā¤ā¤˛āĨā¤Ŧā¤Ž ā¤¨ā¤šāĨ€ā¤‚ ā¤šāĨˆāĨ¤", "no_archived_assets_message": "ā¤Ģā¤ŧāĨ‹ā¤ŸāĨ‹ ⤔⤰ ā¤ĩāĨ€ā¤Ąā¤ŋ⤝āĨ‹ ⤕āĨ‹ ⤅ā¤Ē⤍āĨ‡ ā¤Ģā¤ŧāĨ‹ā¤ŸāĨ‹ ā¤ĻāĨƒā¤ļāĨā¤¯ ⤏āĨ‡ ⤛ā¤ŋā¤Ēā¤žā¤¨āĨ‡ ⤕āĨ‡ ⤞ā¤ŋā¤ ⤉⤍āĨā¤šāĨ‡ā¤‚ ⤏⤂⤗āĨā¤°ā¤šāĨ€ā¤¤ ⤕⤰āĨ‡ā¤‚", "no_assets_message": "⤅ā¤Ēā¤¨ā¤ž ā¤Ēā¤šā¤˛ā¤ž ā¤ĢāĨ‹ā¤ŸāĨ‹ ⤅ā¤Ē⤞āĨ‹ā¤Ą ⤕⤰⤍āĨ‡ ⤕āĨ‡ ⤞ā¤ŋā¤ ⤕āĨā¤˛ā¤ŋ⤕ ⤕⤰āĨ‡ā¤‚", + "no_assets_to_show": "ā¤Ļā¤ŋā¤–ā¤žā¤¨āĨ‡ ⤕āĨ‡ ⤞ā¤ŋā¤ ⤕āĨ‹ā¤ˆ ⤏⤂ā¤Ē⤤āĨā¤¤ā¤ŋ ā¤¨ā¤šāĨ€ā¤‚", + "no_cast_devices_found": "⤕āĨ‹ā¤ˆ ā¤•ā¤žā¤¸āĨā¤Ÿ ā¤Ąā¤ŋā¤ĩā¤žā¤‡ā¤¸ ā¤¨ā¤šāĨ€ā¤‚ ā¤Žā¤ŋā¤˛ā¤ž", + "no_checksum_local": "⤕āĨ‹ā¤ˆ ⤚āĨ‡ā¤•ā¤¸ā¤Ž ⤉ā¤Ē⤞ā¤ŦāĨā¤§ ā¤¨ā¤šāĨ€ā¤‚ ā¤šāĨˆ - ⤏āĨā¤Ĩā¤žā¤¨āĨ€ā¤¯ ⤏⤂ā¤Ē⤤āĨā¤¤ā¤ŋā¤¯ā¤žā¤‚ ā¤ĒāĨā¤°ā¤žā¤ĒāĨā¤¤ ā¤¨ā¤šāĨ€ā¤‚ ⤕āĨ€ ā¤œā¤ž ⤏⤕⤤āĨ€ā¤‚", + "no_checksum_remote": "⤕āĨ‹ā¤ˆ ⤚āĨ‡ā¤•ā¤¸ā¤Ž ⤉ā¤Ē⤞ā¤ŦāĨā¤§ ā¤¨ā¤šāĨ€ā¤‚ ā¤šāĨˆ - ā¤ĻāĨ‚⤰⤏āĨā¤Ĩ ⤏⤂ā¤Ē⤤āĨā¤¤ā¤ŋ ā¤ĒāĨā¤°ā¤žā¤ĒāĨā¤¤ ā¤¨ā¤šāĨ€ā¤‚ ⤕āĨ€ ā¤œā¤ž ⤏⤕⤤āĨ€", + "no_devices": "⤕āĨ‹ā¤ˆ ⤅⤧ā¤ŋ⤕āĨƒā¤¤ ⤉ā¤Ē⤕⤰⤪ ā¤¨ā¤šāĨ€ā¤‚", "no_duplicates_found": "⤕āĨ‹ā¤ˆ ā¤¨ā¤•ā¤˛ā¤šāĨ€ ā¤¨ā¤šāĨ€ā¤‚ ā¤Žā¤ŋā¤˛ā¤žāĨ¤", "no_exif_info_available": "⤕āĨ‹ā¤ˆ ā¤ā¤•āĨā¤¸ā¤ŋā¤Ģā¤ŧ ā¤œā¤žā¤¨ā¤•ā¤žā¤°āĨ€ ⤉ā¤Ē⤞ā¤ŦāĨā¤§ ā¤¨ā¤šāĨ€ā¤‚ ā¤šāĨˆ", "no_explore_results_message": "⤅ā¤Ē⤍āĨ‡ ⤏⤂⤗āĨā¤°ā¤š ā¤•ā¤ž ā¤Ēā¤¤ā¤ž ā¤˛ā¤—ā¤žā¤¨āĨ‡ ⤕āĨ‡ ⤞ā¤ŋā¤ ⤔⤰ ā¤Ģā¤ŧāĨ‹ā¤ŸāĨ‹ ⤅ā¤Ē⤞āĨ‹ā¤Ą ⤕⤰āĨ‡ā¤‚āĨ¤", "no_favorites_message": "⤅ā¤Ē⤍āĨ€ ⤏⤰āĨā¤ĩā¤ļāĨā¤°āĨ‡ā¤ˇāĨā¤  ⤤⤏āĨā¤ĩāĨ€ā¤°āĨ‡ā¤‚ ⤔⤰ ā¤ĩāĨ€ā¤Ąā¤ŋ⤝āĨ‹ ⤤āĨā¤°ā¤‚⤤ ā¤ĸāĨ‚⤂ā¤ĸ⤍āĨ‡ ⤕āĨ‡ ⤞ā¤ŋā¤ ā¤Ē⤏⤂ā¤ĻāĨ€ā¤Ļā¤ž ⤜āĨ‹ā¤Ąā¤ŧāĨ‡ā¤‚", "no_libraries_message": "⤅ā¤Ē⤍āĨ€ ā¤Ģā¤ŧāĨ‹ā¤ŸāĨ‹ ⤔⤰ ā¤ĩāĨ€ā¤Ąā¤ŋ⤝āĨ‹ ā¤ĻāĨ‡ā¤–⤍āĨ‡ ⤕āĨ‡ ⤞ā¤ŋā¤ ā¤ā¤• ā¤Ŧā¤žā¤šā¤°āĨ€ ā¤˛ā¤žā¤‡ā¤ŦāĨā¤°āĨ‡ā¤°āĨ€ ā¤Ŧā¤¨ā¤žā¤ā¤‚", + "no_local_assets_found": "⤇⤏ ⤚āĨ‡ā¤•ā¤¸ā¤Ž ⤕āĨ‡ ā¤¸ā¤žā¤Ĩ ⤕āĨ‹ā¤ˆ ⤏āĨā¤Ĩā¤žā¤¨āĨ€ā¤¯ ⤏⤂ā¤Ē⤤āĨā¤¤ā¤ŋ ā¤¨ā¤šāĨ€ā¤‚ ā¤Žā¤ŋ⤞āĨ€", + "no_locked_photos_message": "⤞āĨ‰ā¤• ⤕ā¤ŋā¤ ā¤—ā¤ ā¤Ģā¤ŧāĨ‹ā¤˛āĨā¤Ąā¤° ā¤ŽāĨ‡ā¤‚ ā¤ŽāĨŒā¤œāĨ‚ā¤Ļ ā¤Ģā¤ŧāĨ‹ā¤ŸāĨ‹ ⤔⤰ ā¤ĩāĨ€ā¤Ąā¤ŋ⤝āĨ‹ ⤛ā¤ŋā¤ĒāĨ‡ ā¤šāĨā¤ ā¤šāĨˆā¤‚ ⤔⤰ ⤜ā¤Ŧ ⤆ā¤Ē ⤅ā¤Ē⤍āĨ€ ā¤˛ā¤žā¤‡ā¤ŦāĨā¤°āĨ‡ā¤°āĨ€ ā¤ŦāĨā¤°ā¤žā¤‰ā¤œā¤ŧ ā¤¯ā¤ž ⤖āĨ‹ā¤œāĨ‡ā¤‚⤗āĨ‡ ⤤āĨ‹ ā¤ĩāĨ‡ ā¤Ļā¤ŋā¤–ā¤žā¤ˆ ā¤¨ā¤šāĨ€ā¤‚ ā¤ĻāĨ‡ā¤‚⤗āĨ‡āĨ¤", "no_name": "⤕āĨ‹ā¤ˆ ā¤¨ā¤žā¤Ž ā¤¨ā¤šāĨ€ā¤‚", + "no_notifications": "⤕āĨ‹ā¤ˆ ⤏āĨ‚ā¤šā¤¨ā¤ž ā¤¨ā¤šāĨ€ā¤‚", + "no_people_found": "⤕āĨ‹ā¤ˆ ā¤ŽāĨ‡ā¤˛ ā¤–ā¤žā¤¤ā¤ž ā¤ĩāĨā¤¯ā¤•āĨā¤¤ā¤ŋ ā¤¨ā¤šāĨ€ā¤‚ ā¤Žā¤ŋā¤˛ā¤ž", "no_places": "⤕āĨ‹ā¤ˆ ā¤œā¤—ā¤š ā¤¨ā¤šāĨ€ā¤‚", + "no_remote_assets_found": "⤇⤏ ⤚āĨ‡ā¤•ā¤¸ā¤Ž ⤕āĨ‡ ā¤¸ā¤žā¤Ĩ ⤕āĨ‹ā¤ˆ ā¤ĻāĨ‚⤰⤏āĨā¤Ĩ ⤏⤂ā¤Ē⤤āĨā¤¤ā¤ŋ ā¤¨ā¤šāĨ€ā¤‚ ā¤Žā¤ŋ⤞āĨ€", "no_results": "⤕āĨ‹ā¤ˆ ā¤Ē⤰ā¤ŋā¤Ŗā¤žā¤Ž ā¤¨ā¤šāĨ€ā¤‚", "no_results_description": "⤕āĨ‹ā¤ˆ ā¤Ē⤰āĨā¤¯ā¤žā¤¯ā¤ĩā¤žā¤šāĨ€ ā¤¯ā¤ž ⤅⤧ā¤ŋ⤕ ā¤¸ā¤žā¤Žā¤žā¤¨āĨā¤¯ ⤕āĨ€ā¤ĩ⤰āĨā¤Ą ā¤†ā¤œā¤ŧā¤Žā¤žā¤ā¤", "no_shared_albums_message": "⤅ā¤Ē⤍āĨ‡ ⤍āĨ‡ā¤Ÿā¤ĩ⤰āĨā¤• ā¤ŽāĨ‡ā¤‚ ⤞āĨ‹ā¤—āĨ‹ā¤‚ ⤕āĨ‡ ā¤¸ā¤žā¤Ĩ ā¤Ģā¤ŧāĨ‹ā¤ŸāĨ‹ ⤔⤰ ā¤ĩāĨ€ā¤Ąā¤ŋ⤝āĨ‹ ā¤¸ā¤žā¤ā¤ž ⤕⤰⤍āĨ‡ ⤕āĨ‡ ⤞ā¤ŋā¤ ā¤ā¤• ā¤ā¤˛āĨā¤Ŧā¤Ž ā¤Ŧā¤¨ā¤žā¤ā¤‚", + "no_uploads_in_progress": "⤕āĨ‹ā¤ˆ ⤅ā¤Ē⤞āĨ‹ā¤Ą ā¤ĒāĨā¤°ā¤—⤤ā¤ŋ ā¤Ē⤰ ā¤¨ā¤šāĨ€ā¤‚ ā¤šāĨˆ", + "not_allowed": "⤅⤍āĨā¤Žā¤¤ā¤ŋ ā¤¨ā¤šāĨ€ā¤‚", + "not_available": "ā¤˛ā¤žā¤—āĨ‚ ā¤¨ā¤šāĨ€ā¤‚", "not_in_any_album": "⤕ā¤ŋ⤏āĨ€ ā¤ā¤˛ā¤Ŧā¤Ž ā¤ŽāĨ‡ā¤‚ ā¤¨ā¤šāĨ€ā¤‚", + "not_selected": "⤚⤝⤍ā¤ŋ⤤ ā¤¨ā¤šāĨ€ā¤‚", "note_apply_storage_label_to_previously_uploaded assets": "⤍āĨ‹ā¤Ÿ: ā¤Ēā¤šā¤˛āĨ‡ ⤅ā¤Ē⤞āĨ‹ā¤Ą ⤕āĨ€ ā¤—ā¤ˆ ⤏⤂ā¤Ē⤤āĨā¤¤ā¤ŋ⤝āĨ‹ā¤‚ ā¤Ē⤰ ⤏āĨā¤ŸāĨ‹ā¤°āĨ‡ā¤œ ⤞āĨ‡ā¤Ŧ⤞ ā¤˛ā¤žā¤—āĨ‚ ⤕⤰⤍āĨ‡ ⤕āĨ‡ ⤞ā¤ŋā¤, ā¤šā¤˛ā¤žā¤ā¤", "notes": "⤟ā¤ŋā¤ĒāĨā¤Ē⤪ā¤ŋā¤¯ā¤žā¤", + "nothing_here_yet": "ā¤¯ā¤šā¤žā¤ ⤅⤭āĨ€ ⤤⤕ ⤕āĨā¤› ā¤¨ā¤šāĨ€ā¤‚", + "notification_permission_dialog_content": "⤏āĨ‚ā¤šā¤¨ā¤žā¤ā¤‚ ⤏⤕āĨā¤ˇā¤Ž ⤕⤰⤍āĨ‡ ⤕āĨ‡ ⤞ā¤ŋā¤ ⤏āĨ‡ā¤Ÿā¤ŋ⤂⤗āĨā¤¸ ā¤ŽāĨ‡ā¤‚ ā¤œā¤žā¤ā¤‚ ⤔⤰ ⤅⤍āĨā¤Žā¤¤ā¤ŋ ā¤ĻāĨ‡ā¤‚ ⤚āĨā¤¨āĨ‡ā¤‚āĨ¤", + "notification_permission_list_tile_content": "⤅⤧ā¤ŋ⤏āĨ‚ā¤šā¤¨ā¤žā¤ā¤‚ ⤏⤕āĨā¤ˇā¤Ž ⤕⤰⤍āĨ‡ ⤕āĨ€ ⤅⤍āĨā¤Žā¤¤ā¤ŋ ā¤ĒāĨā¤°ā¤Ļā¤žā¤¨ ⤕⤰āĨ‡ā¤‚āĨ¤", + "notification_permission_list_tile_enable_button": "⤏āĨ‚ā¤šā¤¨ā¤žā¤ā¤‚ ⤏⤕āĨā¤ˇā¤Ž ⤕⤰āĨ‡ā¤‚", + "notification_permission_list_tile_title": "⤅⤧ā¤ŋ⤏āĨ‚ā¤šā¤¨ā¤ž ⤅⤍āĨā¤Žā¤¤ā¤ŋ", "notification_toggle_setting_description": "ā¤ˆā¤ŽāĨ‡ā¤˛ ⤏āĨ‚ā¤šā¤¨ā¤žā¤ā¤‚ ⤏⤕āĨā¤ˇā¤Ž ⤕⤰āĨ‡ā¤‚", "notifications": "⤏āĨ‚ā¤šā¤¨ā¤žā¤ā¤‚", "notifications_setting_description": "⤏āĨ‚ā¤šā¤¨ā¤žā¤ā¤‚ ā¤ĒāĨā¤°ā¤Ŧ⤂⤧ā¤ŋ⤤ ⤕⤰āĨ‡ā¤‚", + "oauth": "OAuth", + "obtainium_configurator": "⤓ā¤ŦāĨā¤ŸāĨ‡ā¤¨ā¤ŋā¤¯ā¤Ž ā¤ĩā¤ŋ⤍āĨā¤¯ā¤žā¤¸ā¤•", + "obtainium_configurator_instructions": "Immich GitHub ⤰ā¤ŋ⤞āĨ€ā¤œā¤ŧ ⤏āĨ‡ ⤏āĨ€ā¤§āĨ‡ Android ⤐ā¤Ē ⤇⤂⤏āĨā¤ŸāĨ‰ā¤˛ ⤔⤰ ⤅ā¤Ēā¤ĄāĨ‡ā¤Ÿ ⤕⤰⤍āĨ‡ ⤕āĨ‡ ⤞ā¤ŋā¤ Obtainium ā¤•ā¤ž ⤉ā¤Ē⤝āĨ‹ā¤— ⤕⤰āĨ‡ā¤‚āĨ¤ ⤅ā¤Ēā¤¨ā¤ž Obtainium ⤕āĨ‰ā¤¨āĨā¤Ģā¤ŧā¤ŋ⤗⤰āĨ‡ā¤ļ⤍ ⤞ā¤ŋ⤂⤕ ā¤Ŧā¤¨ā¤žā¤¨āĨ‡ ⤕āĨ‡ ⤞ā¤ŋā¤ ā¤ā¤• API ⤕āĨā¤‚ā¤œāĨ€ ā¤Ŧā¤¨ā¤žā¤ā¤ ⤔⤰ ā¤ā¤• ā¤ĩāĨˆā¤°ā¤ŋā¤ā¤‚ā¤Ÿ ⤚āĨā¤¨āĨ‡ā¤‚", + "ocr": "⤓⤏āĨ€ā¤†ā¤°", + "official_immich_resources": "⤆⤧ā¤ŋā¤•ā¤žā¤°ā¤ŋ⤕ Immich ā¤¸ā¤‚ā¤¸ā¤žā¤§ā¤¨", "offline": "⤑ā¤Ģā¤˛ā¤žā¤‡ā¤¨", + "offset": "⤓ā¤Ģā¤ŧāĨā¤¸āĨ‡ā¤Ÿ", "ok": "⤠āĨ€ā¤• ā¤šāĨˆ", "oldest_first": "⤏ā¤Ŧ⤏āĨ‡ ā¤ĒāĨā¤°ā¤žā¤¨ā¤ž ā¤Ēā¤šā¤˛āĨ‡", "on_this_device": "⤇⤏ ā¤Ąā¤ŋā¤ĩā¤žā¤‡ā¤¸ ā¤Ē⤰", "onboarding": "⤜āĨā¤žā¤žā¤¨ā¤ĒāĨā¤°ā¤žā¤ĒāĨā¤¤ā¤ŋ", + "onboarding_locale_description": "⤅ā¤Ē⤍āĨ€ ā¤Ē⤏⤂ā¤ĻāĨ€ā¤Ļā¤ž ā¤­ā¤žā¤ˇā¤ž ⤚āĨā¤¨āĨ‡ā¤‚āĨ¤ ⤆ā¤Ē ⤇⤏āĨ‡ ā¤Ŧā¤žā¤Ļ ā¤ŽāĨ‡ā¤‚ ⤅ā¤Ē⤍āĨ€ ⤏āĨ‡ā¤Ÿā¤ŋ⤂⤗ ā¤ŽāĨ‡ā¤‚ ā¤Ŧā¤Ļ⤞ ⤏⤕⤤āĨ‡ ā¤šāĨˆā¤‚āĨ¤", + "onboarding_privacy_description": "⤍ā¤ŋā¤ŽāĨā¤¨ā¤˛ā¤ŋ⤖ā¤ŋ⤤ (ā¤ĩāĨˆā¤•⤞āĨā¤Ēā¤ŋ⤕) ⤏āĨā¤ĩā¤ŋā¤§ā¤žā¤ā¤‚ ā¤Ŧā¤žā¤šā¤°āĨ€ ⤏āĨ‡ā¤ĩā¤žā¤“ā¤‚ ā¤Ē⤰ ⤍ā¤ŋ⤰āĨā¤­ā¤° ⤕⤰⤤āĨ€ ā¤šāĨˆā¤‚, ⤔⤰ ⤇⤍āĨā¤šāĨ‡ā¤‚ ⤏āĨ‡ā¤Ÿā¤ŋ⤂⤗āĨā¤¸ ā¤ŽāĨ‡ā¤‚ ⤕ā¤ŋ⤏āĨ€ ⤭āĨ€ ā¤¸ā¤Žā¤¯ ⤅⤕āĨā¤ˇā¤Ž ⤕ā¤ŋā¤¯ā¤ž ā¤œā¤ž ā¤¸ā¤•ā¤¤ā¤ž ā¤šāĨˆāĨ¤", + "onboarding_server_welcome_description": "ā¤†ā¤‡ā¤, ⤕āĨā¤› ā¤¸ā¤žā¤Žā¤žā¤¨āĨā¤¯ ⤏āĨ‡ā¤Ÿā¤ŋ⤂⤗āĨā¤¸ ⤕āĨ‡ ā¤¸ā¤žā¤Ĩ ⤆ā¤Ēā¤•ā¤ž ⤇⤂⤏āĨā¤ŸāĨ‡ā¤‚⤏ ⤏āĨ‡ā¤Ÿ ⤅ā¤Ē ⤕⤰āĨ‡ā¤‚āĨ¤", "onboarding_theme_description": "⤅ā¤Ē⤍āĨ‡ ⤉ā¤Ļā¤žā¤šā¤°ā¤Ŗ ⤕āĨ‡ ⤞ā¤ŋā¤ ā¤ā¤• ⤰⤂⤗ ā¤ĨāĨ€ā¤Ž ⤚āĨā¤¨āĨ‡ā¤‚āĨ¤", + "onboarding_user_welcome_description": "⤚⤞ā¤ŋā¤ ā¤ļāĨā¤°āĨ‚ ⤕⤰⤤āĨ‡ ā¤šāĨˆā¤‚!", + "onboarding_welcome_user": "⤏āĨā¤ĩā¤žā¤—ā¤¤ ā¤šāĨˆ, {user}", "online": "ā¤‘ā¤¨ā¤˛ā¤žā¤‡ā¤¨", "only_favorites": "⤕āĨ‡ā¤ĩ⤞ ā¤Ē⤏⤂ā¤ĻāĨ€ā¤Ļā¤ž", + "open": "⤖āĨā¤˛ā¤ž", + "open_in_map_view": "ā¤Žā¤žā¤¨ā¤šā¤ŋ⤤āĨā¤° ā¤ĻāĨƒā¤ļāĨā¤¯ ā¤ŽāĨ‡ā¤‚ ⤖āĨ‹ā¤˛āĨ‡ā¤‚", "open_in_openstreetmap": "OpenStreetMap ā¤ŽāĨ‡ā¤‚ ⤖āĨ‹ā¤˛āĨ‡ā¤‚", "open_the_search_filters": "⤖āĨ‹ā¤œ ā¤Ģā¤ŧā¤ŋ⤞āĨā¤Ÿā¤° ⤖āĨ‹ā¤˛āĨ‡ā¤‚", "options": "ā¤ĩā¤ŋ⤕⤞āĨā¤Ē", "or": "ā¤¯ā¤ž", + "organize_into_albums": "ā¤ā¤˛āĨā¤Ŧā¤Ž ā¤ŽāĨ‡ā¤‚ ā¤ĩāĨā¤¯ā¤ĩ⤏āĨā¤Ĩā¤ŋ⤤ ⤕⤰āĨ‡ā¤‚", + "organize_into_albums_description": "ā¤ĩ⤰āĨā¤¤ā¤Žā¤žā¤¨ ⤏ā¤ŋ⤂⤕ ⤏āĨ‡ā¤Ÿā¤ŋ⤂⤗āĨā¤¸ ā¤•ā¤ž ⤉ā¤Ē⤝āĨ‹ā¤— ⤕⤰⤕āĨ‡ ā¤ŽāĨŒā¤œāĨ‚ā¤Ļā¤ž ā¤Ģā¤ŧāĨ‹ā¤ŸāĨ‹ ⤕āĨ‹ ā¤ā¤˛āĨā¤Ŧā¤Ž ā¤ŽāĨ‡ā¤‚ ā¤Ąā¤žā¤˛āĨ‡ā¤‚", "organize_your_library": "⤅ā¤Ē⤍āĨ€ ā¤˛ā¤žā¤‡ā¤ŦāĨā¤°āĨ‡ā¤°āĨ€ ā¤ĩāĨā¤¯ā¤ĩ⤏āĨā¤Ĩā¤ŋ⤤ ⤕⤰āĨ‡ā¤‚", "original": "ā¤ŽāĨ‚⤞", "other": "⤅⤍āĨā¤¯", "other_devices": "⤅⤍āĨā¤¯ ⤉ā¤Ē⤕⤰⤪", + "other_entities": "⤅⤍āĨā¤¯ ⤏⤂⤏āĨā¤Ĩā¤žā¤ā¤", "other_variables": "⤅⤍āĨā¤¯ ⤚⤰", "owned": "⤏āĨā¤ĩā¤žā¤Žā¤ŋ⤤āĨā¤ĩ", "owner": "ā¤Žā¤žā¤˛ā¤ŋ⤕", "partner": "ā¤¸ā¤žā¤ĨāĨ€", + "partner_can_access": "{partner} ā¤ā¤•āĨā¤¸āĨ‡ā¤¸ ⤕⤰ ⤏⤕⤤āĨ‡ ā¤šāĨˆā¤‚", "partner_can_access_assets": "⤏⤂⤗āĨā¤°ā¤šāĨ€ā¤¤ ⤔⤰ ā¤šā¤Ÿā¤žā¤ ā¤—ā¤ ⤕āĨ‹ ⤛āĨ‹ā¤Ąā¤ŧ⤕⤰ ⤆ā¤Ē⤕āĨ‡ ⤏⤭āĨ€ ā¤Ģā¤ŧāĨ‹ā¤ŸāĨ‹ ⤔⤰ ā¤ĩāĨ€ā¤Ąā¤ŋ⤝āĨ‹", "partner_can_access_location": "ā¤ĩā¤š ⤏āĨā¤Ĩā¤žā¤¨ ā¤œā¤šā¤žā¤‚ ⤆ā¤Ē⤕āĨ€ ⤤⤏āĨā¤ĩāĨ€ā¤°āĨ‡ā¤‚ ⤞āĨ€ ā¤—ā¤ˆā¤‚ ā¤ĨāĨ€ā¤‚", + "partner_list_user_photos": "{user} ⤕āĨ€ ⤤⤏āĨā¤ĩāĨ€ā¤°āĨ‡ā¤‚", + "partner_list_view_all": "⤏⤭āĨ€ ⤕āĨ‹ ā¤ĻāĨ‡ā¤–āĨ‡ā¤‚", + "partner_page_empty_message": "⤆ā¤Ē⤕āĨ€ ⤤⤏āĨā¤ĩāĨ€ā¤°āĨ‡ā¤‚ ⤅⤭āĨ€ ⤤⤕ ⤕ā¤ŋ⤏āĨ€ ⤭āĨ€ ā¤­ā¤žā¤—āĨ€ā¤Ļā¤žā¤° ⤕āĨ‡ ā¤¸ā¤žā¤Ĩ ā¤¸ā¤žā¤ā¤ž ā¤¨ā¤šāĨ€ā¤‚ ⤕āĨ€ ā¤—ā¤ˆ ā¤šāĨˆā¤‚āĨ¤", + "partner_page_no_more_users": "⤅ā¤Ŧ ⤔⤰ ⤕āĨ‹ā¤ˆ ⤉ā¤Ē⤝āĨ‹ā¤—⤕⤰āĨā¤¤ā¤ž ⤜āĨ‹ā¤Ąā¤ŧ⤍āĨ‡ ⤕āĨ€ ⤆ā¤ĩā¤ļāĨā¤¯ā¤•ā¤¤ā¤ž ā¤¨ā¤šāĨ€ā¤‚ ā¤šāĨˆ", + "partner_page_partner_add_failed": "ā¤­ā¤žā¤—āĨ€ā¤Ļā¤žā¤° ⤜āĨ‹ā¤Ąā¤ŧ⤍āĨ‡ ā¤ŽāĨ‡ā¤‚ ā¤ĩā¤ŋā¤Ģ⤞", + "partner_page_select_partner": "ā¤­ā¤žā¤—āĨ€ā¤Ļā¤žā¤° ⤚āĨā¤¨āĨ‡ā¤‚", + "partner_page_shared_to_title": "ā¤¸ā¤žā¤ā¤ž ⤕ā¤ŋā¤¯ā¤ž ā¤—ā¤¯ā¤ž", "partner_page_stop_sharing_content": "{partner} will no longer be able to access your photosāĨ¤", "partner_sharing": "ā¤Ēā¤žā¤°āĨā¤Ÿā¤¨ā¤° ā¤ļāĨ‡ā¤¯ā¤°ā¤ŋ⤂⤗", "partners": "ā¤­ā¤žā¤—āĨ€ā¤Ļā¤žā¤°āĨ‹ā¤‚", @@ -1279,6 +1518,11 @@ "password_does_not_match": "ā¤Ēā¤žā¤¸ā¤ĩ⤰āĨā¤Ą ā¤ŽāĨˆā¤š ā¤¨ā¤šāĨ€ā¤‚ ⤕⤰ ā¤°ā¤šā¤ž ā¤šāĨˆ", "password_required": "ā¤Ēā¤žā¤¸ā¤ĩ⤰āĨā¤Ą ⤆ā¤ĩā¤ļāĨā¤¯ā¤•", "password_reset_success": "ā¤Ēā¤žā¤¸ā¤ĩ⤰āĨā¤Ą ⤰āĨ€ā¤¸āĨ‡ā¤Ÿ ⤏ā¤Ģ⤞", + "past_durations": { + "days": "ā¤Ēā¤ŋ⤛⤞āĨ‡ {days, plural, one {day} other {# days}}", + "hours": "ā¤Ēā¤ŋ⤛⤞āĨ‡ {hours, plural, one {hour} other {# hours}}", + "years": "ā¤Ēā¤ŋ⤛⤞āĨ‡ {years, plural, one {year} other {# years}}" + }, "path": "ā¤Ēā¤Ĩ", "pattern": "ā¤¨ā¤ŽāĨ‚ā¤¨ā¤ž", "pause": "ā¤ĩā¤ŋā¤°ā¤žā¤Ž", @@ -1286,37 +1530,81 @@ "paused": "⤰āĨ‹ā¤•āĨ‡ ā¤—ā¤", "pending": "⤞⤂ā¤Ŧā¤ŋ⤤", "people": "⤞āĨ‹ā¤—", + "people_edits_count": "⤏⤂ā¤Ēā¤žā¤Ļā¤ŋ⤤ {count, plural, one {# person} other {# people}}", + "people_feature_description": "⤞āĨ‹ā¤—āĨ‹ā¤‚ ā¤ĻāĨā¤ĩā¤žā¤°ā¤ž ā¤¸ā¤ŽāĨ‚ā¤šāĨ€ā¤•āĨƒā¤¤ ā¤Ģā¤ŧāĨ‹ā¤ŸāĨ‹ ⤔⤰ ā¤ĩāĨ€ā¤Ąā¤ŋ⤝āĨ‹ ā¤ŦāĨā¤°ā¤žā¤‰ā¤œā¤ŧ ā¤•ā¤°ā¤¨ā¤ž", "people_sidebar_description": "ā¤¸ā¤žā¤‡ā¤Ąā¤Ŧā¤žā¤° ā¤ŽāĨ‡ā¤‚ ⤞āĨ‹ā¤—āĨ‹ā¤‚ ⤕āĨ‡ ⤞ā¤ŋā¤ ā¤ā¤• ⤞ā¤ŋ⤂⤕ ā¤ĒāĨā¤°ā¤Ļ⤰āĨā¤ļā¤ŋ⤤ ⤕⤰āĨ‡ā¤‚", "permanent_deletion_warning": "⤏āĨā¤Ĩā¤žā¤¯āĨ€ ā¤ĩā¤ŋ⤞āĨ‹ā¤Ē⤍ ⤚āĨ‡ā¤¤ā¤žā¤ĩ⤍āĨ€", "permanent_deletion_warning_setting_description": "⤏⤂ā¤Ē⤤āĨā¤¤ā¤ŋ⤝āĨ‹ā¤‚ ⤕āĨ‹ ⤏āĨā¤Ĩā¤žā¤¯āĨ€ ⤰āĨ‚ā¤Ē ⤏āĨ‡ ā¤šā¤Ÿā¤žā¤¤āĨ‡ ā¤¸ā¤Žā¤¯ ā¤ā¤• ⤚āĨ‡ā¤¤ā¤žā¤ĩ⤍āĨ€ ā¤Ļā¤ŋā¤–ā¤žā¤ā¤‚", "permanently_delete": "⤏āĨā¤Ĩā¤žā¤¯āĨ€ ⤰āĨ‚ā¤Ē ⤏āĨ‡ ā¤šā¤Ÿā¤žā¤¨ā¤ž", + "permanently_delete_assets_count": "{count, plural, one {asset} other {assets}} ⤕āĨ‹ ⤏āĨā¤Ĩā¤žā¤¯āĨ€ ⤰āĨ‚ā¤Ē ⤏āĨ‡ ā¤šā¤Ÿā¤žā¤ā¤‚", + "permanently_delete_assets_prompt": "⤕āĨā¤¯ā¤ž ⤆ā¤Ē ā¤ĩā¤žā¤•ā¤ˆ {count, plural, one {this asset?} other {these # assets?}} ⤕āĨ‹ ⤏āĨā¤Ĩā¤žā¤¯āĨ€ ⤰āĨ‚ā¤Ē ⤏āĨ‡ ā¤šā¤Ÿā¤žā¤¨ā¤ž ā¤šā¤žā¤šā¤¤āĨ‡ ā¤šāĨˆā¤‚? ⤇⤏⤏āĨ‡ {count, plural, one {it from its} other {them from their}} ā¤ā¤˛āĨā¤Ŧā¤Ž ⤭āĨ€ ā¤šā¤Ÿ ā¤œā¤žā¤ā¤‚ā¤—āĨ‡āĨ¤", "permanently_deleted_asset": "⤏āĨā¤Ĩā¤žā¤¯āĨ€ ⤰āĨ‚ā¤Ē ⤏āĨ‡ ā¤šā¤Ÿā¤žā¤ˆ ā¤—ā¤ˆ ⤏⤂ā¤Ē⤤āĨā¤¤ā¤ŋ", + "permanently_deleted_assets_count": "⤏āĨā¤Ĩā¤žā¤¯āĨ€ ⤰āĨ‚ā¤Ē ⤏āĨ‡ ā¤šā¤Ÿā¤ž ā¤Ļā¤ŋā¤¯ā¤ž ā¤—ā¤¯ā¤ž {count, plural, one {# asset} other {# assets}}", + "permission": "⤅⤍āĨā¤Žā¤¤ā¤ŋ", + "permission_empty": "⤆ā¤Ē⤕āĨ€ ⤅⤍āĨā¤Žā¤¤ā¤ŋ ā¤–ā¤žā¤˛āĨ€ ā¤¨ā¤šāĨ€ā¤‚ ā¤šāĨ‹ā¤¨āĨ€ ā¤šā¤žā¤šā¤ŋā¤", "permission_onboarding_back": "ā¤ĩā¤žā¤Ē⤏", + "permission_onboarding_continue_anyway": "ā¤Ģā¤ŋ⤰ ⤭āĨ€ ā¤œā¤žā¤°āĨ€ ⤰⤖āĨ‡ā¤‚", + "permission_onboarding_get_started": "ā¤ļāĨā¤°āĨ‚ ā¤šāĨ‹ ā¤œā¤žā¤“", + "permission_onboarding_go_to_settings": "⤏āĨ‡ā¤Ÿā¤ŋ⤂⤗āĨā¤¸ ā¤Ē⤰ ā¤œā¤žā¤ā¤", + "permission_onboarding_permission_denied": "⤅⤍āĨā¤Žā¤¤ā¤ŋ ⤅⤏āĨā¤ĩāĨ€ā¤•āĨƒā¤¤āĨ¤ Immich ā¤•ā¤ž ⤉ā¤Ē⤝āĨ‹ā¤— ⤕⤰⤍āĨ‡ ⤕āĨ‡ ⤞ā¤ŋā¤, ⤏āĨ‡ā¤Ÿā¤ŋ⤂⤗ ā¤ŽāĨ‡ā¤‚ ā¤Ģā¤ŧāĨ‹ā¤ŸāĨ‹ ⤔⤰ ā¤ĩāĨ€ā¤Ąā¤ŋ⤝āĨ‹ ⤕āĨ€ ⤅⤍āĨā¤Žā¤¤ā¤ŋ ā¤ĻāĨ‡ā¤‚āĨ¤", + "permission_onboarding_permission_granted": "⤅⤍āĨā¤Žā¤¤ā¤ŋ ā¤Žā¤ŋ⤞ ā¤—ā¤ˆ! ⤆ā¤Ē ⤤āĨˆā¤¯ā¤žā¤° ā¤šāĨˆā¤‚āĨ¤", + "permission_onboarding_permission_limited": "⤅⤍āĨā¤Žā¤¤ā¤ŋ ⤏āĨ€ā¤Žā¤ŋ⤤ ā¤šāĨˆāĨ¤ Immich ⤕āĨ‹ ⤆ā¤Ē⤕āĨ‡ ⤏⤂ā¤ĒāĨ‚⤰āĨā¤Ŗ ⤗āĨˆā¤˛ā¤°āĨ€ ⤏⤂⤗āĨā¤°ā¤š ā¤•ā¤ž ā¤ŦāĨˆā¤•⤅ā¤Ē ⤞āĨ‡ā¤¨āĨ‡ ⤔⤰ ⤉⤏āĨ‡ ā¤ĒāĨā¤°ā¤Ŧ⤂⤧ā¤ŋ⤤ ⤕⤰⤍āĨ‡ ⤕āĨ€ ⤅⤍āĨā¤Žā¤¤ā¤ŋ ā¤ĻāĨ‡ā¤¨āĨ‡ ⤕āĨ‡ ⤞ā¤ŋā¤, ⤏āĨ‡ā¤Ÿā¤ŋ⤂⤗ ā¤ŽāĨ‡ā¤‚ ā¤Ģā¤ŧāĨ‹ā¤ŸāĨ‹ ⤔⤰ ā¤ĩāĨ€ā¤Ąā¤ŋ⤝āĨ‹ ⤕āĨ€ ⤅⤍āĨā¤Žā¤¤ā¤ŋ ā¤ĻāĨ‡ā¤‚āĨ¤", + "permission_onboarding_request": "Immich ⤕āĨ‹ ⤆ā¤Ē⤕āĨ€ ⤤⤏āĨā¤ĩāĨ€ā¤°āĨ‡ā¤‚ ⤔⤰ ā¤ĩāĨ€ā¤Ąā¤ŋ⤝āĨ‹ ā¤ĻāĨ‡ā¤–⤍āĨ‡ ⤕āĨ‡ ⤞ā¤ŋā¤ ⤅⤍āĨā¤Žā¤¤ā¤ŋ ⤕āĨ€ ⤆ā¤ĩā¤ļāĨā¤¯ā¤•ā¤¤ā¤ž ā¤šāĨˆāĨ¤", "person": "ā¤ĩāĨā¤¯ā¤•āĨā¤¤ā¤ŋ", + "person_age_months": "{months, plural, one {# month} other {# months}} ā¤ĒāĨā¤°ā¤žā¤¨ā¤ž", + "person_age_year_months": "1 ā¤ĩ⤰āĨā¤ˇ, {months, plural, one {# month} other {# months}} ā¤ĒāĨā¤°ā¤žā¤¨ā¤ž", + "person_age_years": "{years, plural, other {# years}} ā¤ĒāĨā¤°ā¤žā¤¨ā¤ž", + "person_birthdate": "{date} ⤕āĨ‹ ⤜⤍āĨā¤ŽāĨ‡", + "person_hidden": "{name}{hidden, select, true { (hidden)} other {}}", "photo_shared_all_users": "ā¤ā¤¸ā¤ž ā¤˛ā¤—ā¤¤ā¤ž ā¤šāĨˆ ⤕ā¤ŋ ⤆ā¤Ē⤍āĨ‡ ⤅ā¤Ē⤍āĨ€ ⤤⤏āĨā¤ĩāĨ€ā¤°āĨ‡ā¤‚ ⤏⤭āĨ€ ⤉ā¤Ē⤝āĨ‹ā¤—⤕⤰āĨā¤¤ā¤žā¤“⤂ ⤕āĨ‡ ā¤¸ā¤žā¤Ĩ ā¤¸ā¤žā¤ā¤ž ⤕āĨ€ā¤‚ ā¤¯ā¤ž ⤆ā¤Ē⤕āĨ‡ ā¤Ēā¤žā¤¸ ā¤¸ā¤žā¤ā¤ž ⤕⤰⤍āĨ‡ ⤕āĨ‡ ⤞ā¤ŋā¤ ⤕āĨ‹ā¤ˆ ⤉ā¤Ē⤝āĨ‹ā¤—⤕⤰āĨā¤¤ā¤ž ā¤¨ā¤šāĨ€ā¤‚ ā¤šāĨˆāĨ¤", "photos": "⤤⤏āĨā¤ĩāĨ€ā¤°āĨ‡ā¤‚", "photos_and_videos": "⤤⤏āĨā¤ĩāĨ€ā¤°āĨ‡ā¤‚ ⤔⤰ ā¤ĩāĨ€ā¤Ąā¤ŋ⤝āĨ‹", + "photos_count": "{count, plural, one {{count, number} Photo} other {{count, number} Photos}}", "photos_from_previous_years": "ā¤Ēā¤ŋ⤛⤞āĨ‡ ā¤ĩ⤰āĨā¤ˇāĨ‹ā¤‚ ⤕āĨ€ ⤤⤏āĨā¤ĩāĨ€ā¤°āĨ‡ā¤‚", "pick_a_location": "ā¤ā¤• ⤏āĨā¤Ĩā¤žā¤¨ ⤚āĨā¤¨āĨ‡ā¤‚", + "pick_custom_range": "⤕⤏āĨā¤Ÿā¤Ž ⤰āĨ‡ā¤‚ā¤œ", + "pick_date_range": "ā¤Ļā¤ŋā¤¨ā¤žā¤‚ā¤• ⤏āĨ€ā¤Žā¤ž ⤚āĨā¤¨āĨ‡ā¤‚", + "pin_code_changed_successfully": "ā¤Ēā¤ŋ⤍ ⤕āĨ‹ā¤Ą ⤏ā¤Ģā¤˛ā¤¤ā¤žā¤ĒāĨ‚⤰āĨā¤ĩ⤕ ā¤Ŧā¤Ļā¤˛ā¤ž ā¤—ā¤¯ā¤ž", + "pin_code_reset_successfully": "ā¤Ēā¤ŋ⤍ ⤕āĨ‹ā¤Ą ⤏ā¤Ģā¤˛ā¤¤ā¤žā¤ĒāĨ‚⤰āĨā¤ĩ⤕ ⤰āĨ€ā¤¸āĨ‡ā¤Ÿ ⤕ā¤ŋā¤¯ā¤ž ā¤—ā¤¯ā¤ž", + "pin_code_setup_successfully": "ā¤Ēā¤ŋ⤍ ⤕āĨ‹ā¤Ą ⤏ā¤Ģā¤˛ā¤¤ā¤žā¤ĒāĨ‚⤰āĨā¤ĩ⤕ ⤏āĨ‡ā¤Ÿ ⤕ā¤ŋā¤¯ā¤ž ā¤—ā¤¯ā¤ž", + "pin_verification": "ā¤Ēā¤ŋ⤍ ⤕āĨ‹ā¤Ą ⤏⤤āĨā¤¯ā¤žā¤Ē⤍", "place": "ā¤œā¤—ā¤š", "places": "⤏āĨā¤Ĩā¤žā¤¨āĨ‹ā¤‚", + "places_count": "{count, plural, one {{count, number} Place} other {{count, number} Places}}", "play": "⤖āĨ‡ā¤˛", "play_memories": "ā¤¯ā¤žā¤ĻāĨ‡ā¤‚ ⤖āĨ‡ā¤˛āĨ‡ā¤‚", "play_motion_photo": "ā¤ŽāĨ‹ā¤ļ⤍ ā¤Ģā¤ŧāĨ‹ā¤ŸāĨ‹ ā¤šā¤˛ā¤žā¤ā¤‚", "play_or_pause_video": "ā¤ĩāĨ€ā¤Ąā¤ŋ⤝āĨ‹ ā¤šā¤˛ā¤žā¤ā¤‚ ā¤¯ā¤ž ⤰āĨ‹ā¤•āĨ‡ā¤‚", + "play_original_video": "ā¤ŽāĨ‚⤞ ā¤ĩāĨ€ā¤Ąā¤ŋ⤝āĨ‹ ā¤šā¤˛ā¤žā¤ā¤", + "play_original_video_setting_description": "⤟āĨā¤°ā¤žā¤‚⤏⤕āĨ‹ā¤Ą ⤕ā¤ŋā¤ ā¤—ā¤ ā¤ĩāĨ€ā¤Ąā¤ŋ⤝āĨ‹ ⤕āĨ‡ ā¤Ŧā¤œā¤žā¤¯ ā¤ŽāĨ‚⤞ ā¤ĩāĨ€ā¤Ąā¤ŋ⤝āĨ‹ ⤕āĨ‡ ā¤ĒāĨā¤˛āĨ‡ā¤ŦāĨˆā¤• ⤕āĨ‹ ā¤ĒāĨā¤°ā¤žā¤Ĩā¤Žā¤ŋā¤•ā¤¤ā¤ž ā¤ĻāĨ‡ā¤‚āĨ¤ ⤝ā¤Ļā¤ŋ ā¤ŽāĨ‚⤞ ā¤ā¤¸āĨ‡ā¤Ÿ ⤏⤂⤗⤤ ā¤¨ā¤šāĨ€ā¤‚ ā¤šāĨˆ, ⤤āĨ‹ ā¤šāĨ‹ ā¤¸ā¤•ā¤¤ā¤ž ā¤šāĨˆ ⤕ā¤ŋ ā¤ĩā¤š ⤠āĨ€ā¤• ⤏āĨ‡ ā¤ĒāĨā¤˛āĨ‡ā¤ŦāĨˆā¤• ⤍ ā¤šāĨ‹āĨ¤", + "play_transcoded_video": "⤟āĨā¤°ā¤žā¤‚⤏⤕āĨ‹ā¤ĄāĨ‡ā¤Ą ā¤ĩāĨ€ā¤Ąā¤ŋ⤝āĨ‹ ā¤šā¤˛ā¤žā¤ā¤‚", + "please_auth_to_access": "⤕āĨƒā¤Ēā¤¯ā¤ž ā¤Ēā¤šāĨā¤ā¤š ⤕āĨ‡ ⤞ā¤ŋā¤ ā¤ĒāĨā¤°ā¤Žā¤žā¤Ŗā¤ŋ⤤ ⤕⤰āĨ‡ā¤‚", "port": "ā¤Ē⤤āĨā¤¤ā¤¨", + "preferences_settings_subtitle": "⤐ā¤Ē ⤕āĨ€ ā¤ĒāĨā¤°ā¤žā¤Ĩā¤Žā¤ŋā¤•ā¤¤ā¤žā¤ā¤ ā¤ĒāĨā¤°ā¤Ŧ⤂⤧ā¤ŋ⤤ ⤕⤰āĨ‡ā¤‚", + "preferences_settings_title": "ā¤ĒāĨā¤°ā¤žā¤Ĩā¤Žā¤ŋā¤•ā¤¤ā¤žā¤ā¤", + "preparing": "⤤āĨˆā¤¯ā¤žā¤°āĨ€", "preset": "ā¤ĒāĨā¤°āĨ€ā¤¸āĨ‡ā¤Ÿ", "preview": "ā¤ĒāĨ‚⤰āĨā¤ĩ ā¤Ļ⤰āĨā¤ļ⤍", "previous": "ā¤Ēā¤šā¤˛āĨ‡ ā¤•ā¤ž", "previous_memory": "ā¤Ēā¤ŋ⤛⤞āĨ€ ⤏āĨā¤ŽāĨƒā¤¤ā¤ŋ", - "previous_or_next_photo": "ā¤Ēā¤ŋā¤›ā¤˛ā¤ž ā¤¯ā¤ž ā¤…ā¤—ā¤˛ā¤ž ā¤Ģā¤ŧāĨ‹ā¤ŸāĨ‹", + "previous_or_next_day": "ā¤Ļā¤ŋ⤍ ⤆⤗āĨ‡/ā¤ĒāĨ€ā¤›āĨ‡", + "previous_or_next_month": "ā¤Žā¤šāĨ€ā¤¨ā¤ž ⤆⤗āĨ‡/ā¤ĒāĨ€ā¤›āĨ‡", + "previous_or_next_photo": "ā¤Ģā¤ŧāĨ‹ā¤ŸāĨ‹ ⤆⤗āĨ‡/ā¤ĒāĨ€ā¤›āĨ‡", + "previous_or_next_year": "ā¤ĩ⤰āĨā¤ˇ ⤆⤗āĨ‡/ā¤ĒāĨ€ā¤›āĨ‡", "primary": "ā¤ĒāĨā¤°ā¤žā¤Ĩā¤Žā¤ŋ⤕", + "privacy": "⤗āĨ‹ā¤Ē⤍āĨ€ā¤¯ā¤¤ā¤ž", + "profile": "ā¤ĒāĨā¤°āĨ‹ā¤Ģā¤ŧā¤žā¤‡ā¤˛", + "profile_drawer_app_logs": "⤞āĨ‰ā¤—āĨā¤¸", + "profile_drawer_client_server_up_to_date": "⤕āĨā¤˛ā¤žā¤‡ā¤‚ā¤Ÿ ⤔⤰ ⤏⤰āĨā¤ĩ⤰ ⤅ā¤ĻāĨā¤¯ā¤¤ā¤ŋ⤤ ā¤šāĨˆā¤‚", "profile_drawer_github": "⤗ā¤ŋā¤Ÿā¤šā¤Ŧ", + "profile_drawer_readonly_mode": "⤕āĨ‡ā¤ĩ⤞-ā¤Ē⤠⤍ ā¤ŽāĨ‹ā¤Ą ⤏⤕āĨā¤ˇā¤Ž ā¤šāĨˆāĨ¤ ā¤Ŧā¤žā¤šā¤° ⤍ā¤ŋ⤕⤞⤍āĨ‡ ⤕āĨ‡ ⤞ā¤ŋā¤ ⤉ā¤Ē⤝āĨ‹ā¤—⤕⤰āĨā¤¤ā¤ž ⤅ā¤ĩā¤¤ā¤žā¤° ⤆⤇⤕⤍ ⤕āĨ‹ ā¤ĻāĨ‡ā¤° ⤤⤕ ā¤Ļā¤Ŧā¤žā¤ā¤āĨ¤", + "profile_image_of_user": "{user} ⤕āĨ€ ā¤ĒāĨā¤°āĨ‹ā¤Ģā¤ŧā¤žā¤‡ā¤˛ ⤛ā¤ĩā¤ŋ", "profile_picture_set": "ā¤ĒāĨā¤°āĨ‹ā¤Ģā¤ŧā¤žā¤‡ā¤˛ ⤚ā¤ŋ⤤āĨā¤° ⤏āĨ‡ā¤ŸāĨ¤", "public_album": "ā¤¸ā¤žā¤°āĨā¤ĩ⤜⤍ā¤ŋ⤕ ā¤ā¤˛āĨā¤Ŧā¤Ž", "public_share": "ā¤¸ā¤žā¤°āĨā¤ĩ⤜⤍ā¤ŋ⤕ ā¤ļāĨ‡ā¤¯ā¤°", "purchase_account_info": "ā¤¸ā¤Žā¤°āĨā¤Ĩ⤕", "purchase_activated_subtitle": "ā¤‡ā¤Žā¤ŋ⤚ ⤔⤰ ⤓ā¤Ē⤍-⤏āĨ‹ā¤°āĨā¤¸ ⤏āĨ‰ā¤Ģā¤ŧāĨā¤Ÿā¤ĩāĨ‡ā¤¯ā¤° ā¤•ā¤ž ā¤¸ā¤Žā¤°āĨā¤Ĩ⤍ ⤕⤰⤍āĨ‡ ⤕āĨ‡ ⤞ā¤ŋā¤ ⤧⤍āĨā¤¯ā¤ĩā¤žā¤Ļ", + "purchase_activated_time": "{date} ⤕āĨ‹ ⤏⤕āĨā¤°ā¤ŋ⤝ ⤕ā¤ŋā¤¯ā¤ž ā¤—ā¤¯ā¤ž", "purchase_activated_title": "⤆ā¤Ē⤕āĨ€ ⤕āĨā¤‚ā¤œāĨ€ ⤏ā¤Ģā¤˛ā¤¤ā¤žā¤ĒāĨ‚⤰āĨā¤ĩ⤕ ⤏⤕āĨā¤°ā¤ŋ⤝ ⤕⤰ ā¤ĻāĨ€ ā¤—ā¤ˆ ā¤šāĨˆ", "purchase_button_activate": "⤏⤕āĨā¤°ā¤ŋ⤝", "purchase_button_buy": "⤖⤰āĨ€ā¤Ļā¤¨ā¤ž", @@ -1334,7 +1622,7 @@ "purchase_lifetime_description": "⤜āĨ€ā¤ĩ⤍ ⤭⤰ ⤕āĨ€ ⤖⤰āĨ€ā¤Ļā¤žā¤°āĨ€", "purchase_option_title": "⤖⤰āĨ€ā¤Ļ ā¤ĩā¤ŋ⤕⤞āĨā¤Ē", "purchase_panel_info_1": "ā¤‡ā¤Žā¤ŋ⤚ ⤕āĨ‹ ā¤Ŧā¤¨ā¤žā¤¨āĨ‡ ā¤ŽāĨ‡ā¤‚ ā¤Ŧā¤šāĨā¤¤ ā¤¸ā¤Žā¤¯ ⤔⤰ ā¤ĒāĨā¤°ā¤¯ā¤žā¤¸ ā¤˛ā¤—ā¤¤ā¤ž ā¤šāĨˆ, ⤔⤰ ā¤šā¤Žā¤žā¤°āĨ‡ ā¤Ēā¤žā¤¸ ⤇⤏āĨ‡ ⤜ā¤ŋā¤¤ā¤¨ā¤ž ⤏⤂⤭ā¤ĩ ā¤šāĨ‹ ⤏⤕āĨ‡ ā¤‰ā¤¤ā¤¨ā¤ž ā¤…ā¤šāĨā¤›ā¤ž ā¤Ŧā¤¨ā¤žā¤¨āĨ‡ ⤕āĨ‡ ⤞ā¤ŋā¤ ā¤ĒāĨ‚⤰āĨā¤Ŗā¤•ā¤žā¤˛ā¤ŋ⤕ ā¤‡ā¤‚ā¤œāĨ€ā¤¨ā¤ŋ⤝⤰ ⤇⤏ ā¤Ē⤰ ā¤•ā¤žā¤Ž ⤕⤰ ā¤°ā¤šāĨ‡ ā¤šāĨˆā¤‚āĨ¤", - "purchase_panel_info_2": "⤚āĨ‚⤂⤕ā¤ŋ ā¤šā¤Ž ā¤ĒāĨ‡ā¤ĩāĨ‰ā¤˛ ā¤¨ā¤šāĨ€ā¤‚ ⤜āĨ‹ā¤Ąā¤ŧ⤍āĨ‡ ⤕āĨ‡ ⤞ā¤ŋā¤ ā¤ĒāĨā¤°ā¤¤ā¤ŋā¤Ŧā¤ĻāĨā¤§ ā¤šāĨˆā¤‚, ⤇⤏⤞ā¤ŋā¤ ā¤¯ā¤š ⤖⤰āĨ€ā¤Ļā¤žā¤°āĨ€ ⤆ā¤Ē⤕āĨ‹ ā¤‡ā¤Žā¤ŋ⤚ ā¤ŽāĨ‡ā¤‚ ⤕āĨ‹ā¤ˆ ⤅⤤ā¤ŋ⤰ā¤ŋ⤕āĨā¤¤ ⤏āĨā¤ĩā¤ŋā¤§ā¤žā¤ā¤‚ ā¤¨ā¤šāĨ€ā¤‚ ā¤ĻāĨ‡ā¤—āĨ€āĨ¤", + "purchase_panel_info_2": "⤚āĨ‚⤁⤕ā¤ŋ ā¤šā¤Ž ā¤ĒāĨ‡ā¤ĩāĨ‰ā¤˛ ā¤¨ā¤šāĨ€ā¤‚ ⤜āĨ‹ā¤Ąā¤ŧ⤍āĨ‡ ⤕āĨ‡ ⤞ā¤ŋā¤ ā¤ĒāĨā¤°ā¤¤ā¤ŋā¤Ŧā¤ĻāĨā¤§ ā¤šāĨˆā¤‚, ⤇⤏⤞ā¤ŋā¤ ⤇⤏ ⤖⤰āĨ€ā¤Ļā¤žā¤°āĨ€ ⤏āĨ‡ ⤆ā¤Ē⤕āĨ‹ Immich ā¤ŽāĨ‡ā¤‚ ⤕āĨ‹ā¤ˆ ⤅⤤ā¤ŋ⤰ā¤ŋ⤕āĨā¤¤ ⤏āĨā¤ĩā¤ŋā¤§ā¤žā¤ā¤ ā¤¨ā¤šāĨ€ā¤‚ ā¤Žā¤ŋ⤞āĨ‡ā¤‚⤗āĨ€āĨ¤ Immich ⤕āĨ‡ ⤍ā¤ŋ⤰⤂⤤⤰ ā¤ĩā¤ŋā¤•ā¤žā¤¸ ā¤ŽāĨ‡ā¤‚ ā¤¸ā¤šā¤¯āĨ‹ā¤— ⤕āĨ‡ ⤞ā¤ŋā¤ ā¤šā¤Ž ⤆ā¤Ē ⤜āĨˆā¤¸āĨ‡ ⤉ā¤Ē⤝āĨ‹ā¤—⤕⤰āĨā¤¤ā¤žā¤“⤂ ā¤Ē⤰ ⤍ā¤ŋ⤰āĨā¤­ā¤° ā¤šāĨˆā¤‚āĨ¤", "purchase_panel_title": "ā¤Ē⤰ā¤ŋ⤝āĨ‹ā¤œā¤¨ā¤ž ā¤•ā¤ž ā¤¸ā¤Žā¤°āĨā¤Ĩ⤍ ⤕⤰āĨ‡ā¤‚", "purchase_per_server": "ā¤ĒāĨā¤°ā¤¤ā¤ŋ ⤏⤰āĨā¤ĩ⤰", "purchase_per_user": "ā¤ĒāĨā¤°ā¤¤ā¤ŋ ⤉ā¤Ē⤝āĨ‹ā¤—⤕⤰āĨā¤¤ā¤ž", @@ -1346,33 +1634,67 @@ "purchase_server_description_2": "ā¤¸ā¤Žā¤°āĨā¤Ĩ⤕ ⤏āĨā¤Ĩā¤ŋ⤤ā¤ŋ", "purchase_server_title": "⤏⤰āĨā¤ĩ⤰", "purchase_settings_server_activated": "⤏⤰āĨā¤ĩ⤰ ⤉⤤āĨā¤Ēā¤žā¤Ļ ⤕āĨā¤‚ā¤œāĨ€ ā¤ĩāĨā¤¯ā¤ĩ⤏āĨā¤Ĩā¤žā¤Ē⤕ ā¤ĻāĨā¤ĩā¤žā¤°ā¤ž ā¤ĒāĨā¤°ā¤Ŧ⤂⤧ā¤ŋ⤤ ⤕āĨ€ ā¤œā¤žā¤¤āĨ€ ā¤šāĨˆ", + "query_asset_id": "⤕āĨā¤ĩāĨ‡ā¤°āĨ€ ā¤ā¤¸āĨ‡ā¤Ÿ ā¤†ā¤ˆā¤ĄāĨ€", + "queue_status": "ā¤•ā¤¤ā¤žā¤°ā¤Ŧā¤ĻāĨā¤§ {count}/{total}", + "rating": "⤏āĨā¤Ÿā¤žā¤° ⤰āĨ‡ā¤Ÿā¤ŋ⤂⤗", + "rating_clear": "⤏āĨā¤Ē⤎āĨā¤Ÿ ⤰āĨ‡ā¤Ÿā¤ŋ⤂⤗", + "rating_count": "{count, plural, one {# star} other {# stars}}", + "rating_description": "ā¤œā¤žā¤¨ā¤•ā¤žā¤°āĨ€ ā¤ĒāĨˆā¤¨ā¤˛ ā¤ŽāĨ‡ā¤‚ EXIF ⤰āĨ‡ā¤Ÿā¤ŋ⤂⤗ ā¤ĒāĨā¤°ā¤Ļ⤰āĨā¤ļā¤ŋ⤤ ⤕⤰āĨ‡ā¤‚", "reaction_options": "ā¤ĒāĨā¤°ā¤¤ā¤ŋ⤕āĨā¤°ā¤ŋā¤¯ā¤ž ā¤ĩā¤ŋ⤕⤞āĨā¤Ē", "read_changelog": "⤚āĨ‡ā¤‚ā¤œā¤˛āĨ‰ā¤— ā¤Ēā¤ĸā¤ŧāĨ‡ā¤‚", + "readonly_mode_disabled": "⤕āĨ‡ā¤ĩ⤞-ā¤Ēā¤ĸā¤ŧ⤍āĨ‡ ⤕āĨ‡ ⤞ā¤ŋā¤ ā¤ŽāĨ‹ā¤Ą ⤅⤕āĨā¤ˇā¤Ž", + "readonly_mode_enabled": "⤕āĨ‡ā¤ĩ⤞-ā¤Ēā¤ĸā¤ŧ⤍āĨ‡ ⤕āĨ‡ ⤞ā¤ŋā¤ ā¤ŽāĨ‹ā¤Ą ⤏⤕āĨā¤ˇā¤Ž", + "ready_for_upload": "⤅ā¤Ē⤞āĨ‹ā¤Ą ⤕āĨ‡ ⤞ā¤ŋā¤ ⤤āĨˆā¤¯ā¤žā¤°", "reassign": "ā¤ĒāĨā¤¨ā¤ƒ ā¤…ā¤¸ā¤žā¤‡ā¤¨", + "reassigned_assets_to_existing_person": "{count, plural, one {# asset} other {# assets}} ⤕āĨ‹ {name, select, null {an existing person} other {{name}}} ⤕āĨ‹ ā¤Ģā¤ŋ⤰ ⤏āĨ‡ ā¤…ā¤¸ā¤žā¤‡ā¤¨ ⤕ā¤ŋā¤¯ā¤ž ā¤—ā¤¯ā¤ž", + "reassigned_assets_to_new_person": "{count, plural, one {# asset} other {# assets}} ⤕āĨ‹ ā¤ā¤• ā¤¨ā¤ ā¤ĩāĨā¤¯ā¤•āĨā¤¤ā¤ŋ ⤕āĨ‹ ā¤Ģā¤ŋ⤰ ⤏āĨ‡ ā¤…ā¤¸ā¤žā¤‡ā¤¨ ⤕ā¤ŋā¤¯ā¤ž ā¤—ā¤¯ā¤ž", "reassing_hint": "⤚⤝⤍ā¤ŋ⤤ ⤏⤂ā¤Ē⤤āĨā¤¤ā¤ŋ⤝āĨ‹ā¤‚ ⤕āĨ‹ ⤕ā¤ŋ⤏āĨ€ ā¤ŽāĨŒā¤œāĨ‚ā¤Ļā¤ž ā¤ĩāĨā¤¯ā¤•āĨā¤¤ā¤ŋ ⤕āĨ‹ ⤏āĨŒā¤‚ā¤ĒāĨ‡ā¤‚", "recent": "ā¤šā¤žā¤˛ ā¤šāĨ€ ā¤•ā¤ž", + "recent-albums": "ā¤šā¤žā¤˛ ⤕āĨ‡ ā¤ā¤˛āĨā¤Ŧā¤Ž", "recent_searches": "ā¤šā¤žā¤˛ ⤕āĨ€ ⤖āĨ‹ā¤œāĨ‡ā¤‚", "recently_added": "ā¤šā¤žā¤˛ ā¤šāĨ€ ā¤ŽāĨ‡ā¤‚ ā¤Ąā¤žā¤˛ā¤ž ā¤—ā¤¯ā¤ž", "recently_added_page_title": "ā¤šā¤žā¤˛ ā¤šāĨ€ ā¤ŽāĨ‡ā¤‚ ā¤Ąā¤žā¤˛ā¤ž ā¤—ā¤¯ā¤ž", + "recently_taken": "ā¤šā¤žā¤˛ ā¤šāĨ€ ā¤ŽāĨ‡ā¤‚ ⤞ā¤ŋā¤¯ā¤ž ā¤—ā¤¯ā¤ž", + "recently_taken_page_title": "ā¤šā¤žā¤˛ ā¤šāĨ€ ā¤ŽāĨ‡ā¤‚ ⤞ā¤ŋā¤¯ā¤ž ā¤—ā¤¯ā¤ž", "refresh": "ā¤¤ā¤žā¤œā¤ŧā¤ž ā¤•ā¤°ā¤¨ā¤ž", "refresh_encoded_videos": "ā¤ā¤¨āĨā¤•āĨ‹ā¤ĄāĨ‡ā¤Ą ā¤ĩāĨ€ā¤Ąā¤ŋ⤝āĨ‹ ā¤¤ā¤žā¤œā¤ŧā¤ž ⤕⤰āĨ‡ā¤‚", + "refresh_faces": "⤚āĨ‡ā¤šā¤°āĨ‡ ā¤¤ā¤žā¤œā¤ŧā¤ž ⤕⤰āĨ‡ā¤‚", "refresh_metadata": "ā¤ŽāĨ‡ā¤Ÿā¤žā¤ĄāĨ‡ā¤Ÿā¤ž ā¤¤ā¤žā¤œā¤ŧā¤ž ⤕⤰āĨ‡ā¤‚", "refresh_thumbnails": "ā¤Ĩ⤂ā¤Ŧ⤍āĨ‡ā¤˛ ā¤¤ā¤žā¤œā¤ŧā¤ž ⤕⤰āĨ‡ā¤‚", "refreshed": "ā¤¤ā¤žā¤œā¤ŧā¤ž ⤕ā¤ŋā¤¯ā¤ž", "refreshes_every_file": "ā¤ĒāĨā¤°ā¤¤āĨā¤¯āĨ‡ā¤• ā¤Ģā¤ŧā¤žā¤‡ā¤˛ ⤕āĨ‹ ā¤¤ā¤žā¤œā¤ŧā¤ž ā¤•ā¤°ā¤¤ā¤ž ā¤šāĨˆ", "refreshing_encoded_video": "ā¤¤ā¤žā¤œā¤ŧā¤ž ⤕ā¤ŋā¤¯ā¤ž ā¤œā¤ž ā¤°ā¤šā¤ž ā¤ā¤¨āĨā¤•āĨ‹ā¤ĄāĨ‡ā¤Ą ā¤ĩāĨ€ā¤Ąā¤ŋ⤝āĨ‹", + "refreshing_faces": "ā¤¤ā¤žā¤œā¤ŧā¤ž ⤚āĨ‡ā¤šā¤°āĨ‡", "refreshing_metadata": "ā¤¤ā¤žā¤œā¤ŧā¤ž ā¤ŽāĨ‡ā¤Ÿā¤žā¤ĄāĨ‡ā¤Ÿā¤ž", "regenerating_thumbnails": "ā¤ĒāĨā¤¨ā¤°āĨā¤œāĨ€ā¤ĩā¤ŋ⤤ ā¤Ĩ⤂ā¤Ŧ⤍āĨ‡ā¤˛", + "remote": "⤰ā¤ŋā¤ŽāĨ‹ā¤Ÿ", + "remote_assets": "ā¤ĻāĨ‚⤰⤏āĨā¤Ĩ ⤏⤂ā¤Ē⤤āĨā¤¤ā¤ŋā¤¯ā¤žā¤", + "remote_media_summary": "⤰ā¤ŋā¤ŽāĨ‹ā¤Ÿ ā¤ŽāĨ€ā¤Ąā¤ŋā¤¯ā¤ž ā¤¸ā¤žā¤°ā¤žā¤‚ā¤ļ", "remove": "⤍ā¤ŋā¤•ā¤žā¤˛ā¤¨ā¤ž", + "remove_assets_album_confirmation": "⤕āĨā¤¯ā¤ž ⤆ā¤Ē ā¤ĩā¤žā¤•ā¤ˆ ā¤ā¤˛āĨā¤Ŧā¤Ž ⤏āĨ‡ {count, plural, one {# asset} other {# assets}} ā¤šā¤Ÿā¤žā¤¨ā¤ž ā¤šā¤žā¤šā¤¤āĨ‡ ā¤šāĨˆā¤‚?", + "remove_assets_shared_link_confirmation": "⤕āĨā¤¯ā¤ž ⤆ā¤Ē ā¤ĩā¤žā¤•ā¤ˆ ⤇⤏ ā¤ļāĨ‡ā¤¯ā¤°āĨā¤Ą ⤞ā¤ŋ⤂⤕ ⤏āĨ‡ {count, plural, one {# asset} other {# assets}} ā¤šā¤Ÿā¤žā¤¨ā¤ž ā¤šā¤žā¤šā¤¤āĨ‡ ā¤šāĨˆā¤‚?", "remove_assets_title": "⤏⤂ā¤Ē⤤āĨā¤¤ā¤ŋā¤¯ā¤žā¤ ā¤šā¤Ÿā¤žā¤ā¤?", "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": "ā¤¸ā¤žā¤ā¤ž ⤞ā¤ŋ⤂⤕ ⤏āĨ‡ ā¤šā¤Ÿā¤žā¤ā¤", + "remove_memory": "ā¤ŽāĨ‡ā¤ŽāĨ‹ā¤°āĨ€ ā¤šā¤Ÿā¤žā¤ā¤", + "remove_photo_from_memory": "⤇⤏ ā¤ŽāĨ‡ā¤ŽāĨ‹ā¤°āĨ€ ⤏āĨ‡ ā¤Ģā¤ŧāĨ‹ā¤ŸāĨ‹ ā¤šā¤Ÿā¤žā¤ā¤", + "remove_tag": "⤟āĨˆā¤— ā¤šā¤Ÿā¤žā¤ā¤", + "remove_url": "URL ā¤šā¤Ÿā¤žā¤ā¤", "remove_user": "⤉ā¤Ē⤝āĨ‹ā¤—⤕⤰āĨā¤¤ā¤ž ⤕āĨ‹ ā¤šā¤Ÿā¤žā¤ā¤", + "removed_api_key": "ā¤šā¤Ÿā¤žā¤ˆ ā¤—ā¤ˆ API ⤕āĨā¤‚ā¤œāĨ€: {name}", "removed_from_archive": "⤏⤂⤗āĨā¤°ā¤š ⤏āĨ‡ ā¤šā¤Ÿā¤ž ā¤Ļā¤ŋā¤¯ā¤ž ā¤—ā¤¯ā¤ž", "removed_from_favorites": "ā¤Ē⤏⤂ā¤ĻāĨ€ā¤Ļā¤ž ⤏āĨ‡ ā¤šā¤Ÿā¤žā¤¯ā¤ž ā¤—ā¤¯ā¤ž", + "removed_from_favorites_count": "ā¤Ē⤏⤂ā¤ĻāĨ€ā¤Ļā¤ž ⤏āĨ‡ {count, plural, other {Removed #}}", + "removed_memory": "ā¤šā¤Ÿā¤žā¤ˆ ā¤—ā¤ˆ ā¤ŽāĨ‡ā¤ŽāĨ‹ā¤°āĨ€", + "removed_photo_from_memory": "ā¤ŽāĨ‡ā¤ŽāĨ‹ā¤°āĨ€ ⤏āĨ‡ ā¤Ģā¤ŧāĨ‹ā¤ŸāĨ‹ ā¤šā¤Ÿā¤ž ā¤ĻāĨ€ ā¤—ā¤ˆ", + "removed_tagged_assets": "{count, plural, one {# asset} other {# assets}} ⤏āĨ‡ ⤟āĨˆā¤— ā¤šā¤Ÿā¤žā¤¯ā¤ž ā¤—ā¤¯ā¤ž", "rename": "ā¤¨ā¤žā¤Ž ā¤Ŧā¤Ļ⤞āĨ‡ā¤‚", "repair": "ā¤Žā¤°ā¤ŽāĨā¤Žā¤¤", "repair_no_results_message": "⤟āĨā¤°āĨˆā¤• ⤍ ⤕āĨ€ ā¤—ā¤ˆ ⤔⤰ ⤗āĨā¤Ž ā¤Ģā¤ŧā¤žā¤‡ā¤˛āĨ‡ā¤‚ ā¤¯ā¤šā¤žā¤‚ ā¤Ļā¤ŋā¤–ā¤žā¤ˆ ā¤ĻāĨ‡ā¤‚⤗āĨ€", @@ -1380,64 +1702,113 @@ "repository": "⤕āĨ‹ā¤ˇ", "require_password": "ā¤Ēā¤žā¤¸ā¤ĩ⤰āĨā¤Ą ⤕āĨ€ ⤆ā¤ĩā¤ļāĨā¤¯ā¤•ā¤¤ā¤ž ā¤šāĨˆ", "require_user_to_change_password_on_first_login": "⤉ā¤Ē⤝āĨ‹ā¤—⤕⤰āĨā¤¤ā¤ž ⤕āĨ‹ ā¤Ēā¤šā¤˛āĨ‡ ⤞āĨ‰ā¤—ā¤ŋ⤍ ā¤Ē⤰ ā¤Ēā¤žā¤¸ā¤ĩ⤰āĨā¤Ą ā¤Ŧā¤Ļ⤞⤍āĨ‡ ⤕āĨ€ ⤆ā¤ĩā¤ļāĨā¤¯ā¤•ā¤¤ā¤ž ā¤šāĨˆ", + "rescan": "ā¤ĒāĨā¤¨: ⤏āĨā¤•āĨˆā¤¨", "reset": "⤰āĨ€ā¤¸āĨ‡ā¤Ÿ", "reset_password": "ā¤Ēā¤žā¤¸ā¤ĩ⤰āĨā¤Ą ⤰āĨ€ā¤¸āĨ‡ā¤Ÿ", "reset_people_visibility": "⤞āĨ‹ā¤—āĨ‹ā¤‚ ⤕āĨ€ ā¤ĻāĨƒā¤ļāĨā¤¯ā¤¤ā¤ž ⤰āĨ€ā¤¸āĨ‡ā¤Ÿ ⤕⤰āĨ‡ā¤‚", + "reset_pin_code": "ā¤Ēā¤ŋ⤍ ⤕āĨ‹ā¤Ą ⤰āĨ€ā¤¸āĨ‡ā¤Ÿ ⤕⤰āĨ‡ā¤‚", + "reset_pin_code_description": "⤅⤗⤰ ⤆ā¤Ē ⤅ā¤Ēā¤¨ā¤ž PIN ⤕āĨ‹ā¤Ą ⤭āĨ‚⤞ ā¤—ā¤ ā¤šāĨˆā¤‚, ⤤āĨ‹ ⤆ā¤Ē ⤇⤏āĨ‡ ⤰āĨ€ā¤¸āĨ‡ā¤Ÿ ⤕⤰⤍āĨ‡ ⤕āĨ‡ ⤞ā¤ŋā¤ ⤏⤰āĨā¤ĩ⤰ ā¤ā¤Ąā¤Žā¤ŋ⤍ā¤ŋ⤏āĨā¤ŸāĨā¤°āĨ‡ā¤Ÿā¤° ⤏āĨ‡ ⤏⤂ā¤Ē⤰āĨā¤• ⤕⤰ ⤏⤕⤤āĨ‡ ā¤šāĨˆā¤‚", + "reset_pin_code_success": "ā¤Ēā¤ŋ⤍ ⤕āĨ‹ā¤Ą ⤏ā¤Ģā¤˛ā¤¤ā¤žā¤ĒāĨ‚⤰āĨā¤ĩ⤕ ⤰āĨ€ā¤¸āĨ‡ā¤Ÿ ⤕ā¤ŋā¤¯ā¤ž ā¤—ā¤¯ā¤ž", + "reset_pin_code_with_password": "⤆ā¤Ē ā¤šā¤ŽāĨ‡ā¤ļā¤ž ⤅ā¤Ē⤍āĨ‡ ā¤Ēā¤žā¤¸ā¤ĩ⤰āĨā¤Ą ⤏āĨ‡ ⤅ā¤Ēā¤¨ā¤ž ā¤Ēā¤ŋ⤍ ⤕āĨ‹ā¤Ą ⤰āĨ€ā¤¸āĨ‡ā¤Ÿ ⤕⤰ ⤏⤕⤤āĨ‡ ā¤šāĨˆā¤‚", + "reset_sqlite": "SQLite ā¤ĄāĨ‡ā¤Ÿā¤žā¤ŦāĨ‡ā¤¸ ⤰āĨ€ā¤¸āĨ‡ā¤Ÿ ⤕⤰āĨ‡ā¤‚", + "reset_sqlite_confirmation": "⤕āĨā¤¯ā¤ž ⤆ā¤Ē ā¤ĩā¤žā¤•ā¤ˆ SQLite ā¤ĄāĨ‡ā¤Ÿā¤žā¤ŦāĨ‡ā¤¸ ⤕āĨ‹ ⤰āĨ€ā¤¸āĨ‡ā¤Ÿ ā¤•ā¤°ā¤¨ā¤ž ā¤šā¤žā¤šā¤¤āĨ‡ ā¤šāĨˆā¤‚? ā¤ĄāĨ‡ā¤Ÿā¤ž ⤕āĨ‹ ā¤Ģā¤ŋ⤰ ⤏āĨ‡ ⤏ā¤ŋ⤂⤕ ⤕⤰⤍āĨ‡ ⤕āĨ‡ ⤞ā¤ŋā¤ ⤆ā¤Ē⤕āĨ‹ ⤞āĨ‰ā¤— ā¤†ā¤‰ā¤Ÿ ⤕⤰⤕āĨ‡ ā¤Ģā¤ŋ⤰ ⤏āĨ‡ ⤞āĨ‰ā¤— ⤇⤍ ā¤•ā¤°ā¤¨ā¤ž ā¤šāĨ‹ā¤—ā¤ž", + "reset_sqlite_success": "SQLite ā¤ĄāĨ‡ā¤Ÿā¤žā¤ŦāĨ‡ā¤¸ ⤕āĨ‹ ⤏ā¤Ģā¤˛ā¤¤ā¤žā¤ĒāĨ‚⤰āĨā¤ĩ⤕ ⤰āĨ€ā¤¸āĨ‡ā¤Ÿ ⤕⤰āĨ‡ā¤‚", "reset_to_default": "ā¤ĩā¤ŋ⤤ā¤Ĩ ā¤Ē⤰ ⤞āĨ‡ ā¤œā¤žā¤ā¤‚", + "resolution": "⤏⤂⤕⤞āĨā¤Ē", "resolve_duplicates": "ā¤ĄāĨā¤ĒāĨā¤˛ā¤ŋ⤕āĨ‡ā¤Ÿ ā¤•ā¤ž ā¤¸ā¤Žā¤žā¤§ā¤žā¤¨ ⤕⤰āĨ‡ā¤‚", "resolved_all_duplicates": "⤏⤭āĨ€ ā¤ĄāĨā¤ĒāĨā¤˛ā¤ŋ⤕āĨ‡ā¤Ÿ ā¤•ā¤ž ā¤¸ā¤Žā¤žā¤§ā¤žā¤¨ ⤕ā¤ŋā¤¯ā¤ž ā¤—ā¤¯ā¤ž", "restore": "ā¤ĒāĨā¤¨ā¤°āĨā¤¸āĨā¤Ĩā¤žā¤Ēā¤ŋ⤤ ā¤•ā¤°ā¤¨ā¤ž", "restore_all": "⤏⤭āĨ€ ā¤Ŧā¤šā¤žā¤˛ ⤕⤰āĨ‹", + "restore_trash_action_prompt": "{count} ⤟āĨā¤°āĨˆā¤ļ ⤏āĨ‡ ā¤ĒāĨā¤¨ā¤°āĨā¤¸āĨā¤Ĩā¤žā¤Ēā¤ŋ⤤ ⤕ā¤ŋā¤¯ā¤ž ā¤—ā¤¯ā¤ž", "restore_user": "⤉ā¤Ē⤝āĨ‹ā¤—⤕⤰āĨā¤¤ā¤ž ⤕āĨ‹ ā¤ĒāĨā¤¨ā¤°āĨā¤¸āĨā¤Ĩā¤žā¤Ēā¤ŋ⤤ ⤕⤰āĨ‡ā¤‚", "restored_asset": "ā¤ĒāĨā¤¨ā¤°āĨā¤¸āĨā¤Ĩā¤žā¤Ēā¤ŋ⤤ ⤏⤂ā¤Ē⤤āĨā¤¤ā¤ŋ", "resume": "ā¤Ģā¤ŋ⤰ ā¤ļāĨā¤°āĨ‚ ā¤•ā¤°ā¤¨ā¤ž", + "resume_paused_jobs": "⤰ā¤ŋ⤜āĨā¤¯āĨ‚ā¤ŽāĨ‡ {count, plural, one {# paused job} other {# paused jobs}}", "retry_upload": "ā¤ĒāĨā¤¨ā¤ƒ ⤅ā¤Ē⤞āĨ‹ā¤Ą ⤕⤰⤍āĨ‡ ā¤•ā¤ž ā¤ĒāĨā¤°ā¤¯ā¤žā¤¸ ⤕⤰āĨ‡ā¤‚", "review_duplicates": "ā¤ĄāĨā¤ĒāĨā¤˛ā¤ŋ⤕āĨ‡ā¤Ÿ ⤕āĨ€ ā¤¸ā¤ŽāĨ€ā¤•āĨā¤ˇā¤ž ⤕⤰āĨ‡ā¤‚", + "review_large_files": "ā¤Ŧā¤Ąā¤ŧāĨ€ ā¤Ģā¤ŧā¤žā¤‡ā¤˛āĨ‹ā¤‚ ⤕āĨ€ ā¤¸ā¤ŽāĨ€ā¤•āĨā¤ˇā¤ž ⤕⤰āĨ‡ā¤‚", "role": "⤭āĨ‚ā¤Žā¤ŋā¤•ā¤ž", "role_editor": "⤏⤂ā¤Ēā¤žā¤Ļ⤕", "role_viewer": "ā¤Ļ⤰āĨā¤ļ⤕", + "running": "⤚⤞ ā¤°ā¤šā¤ž ā¤šāĨˆ", "save": "ā¤Ŧā¤šā¤žā¤¨ā¤ž", "save_to_gallery": "⤗āĨˆā¤˛ā¤°āĨ€ ā¤ŽāĨ‡ā¤‚ ā¤¸ā¤šāĨ‡ā¤œāĨ‡ā¤‚", + "saved": "ā¤¸ā¤šāĨ‡ā¤œā¤ž ā¤—ā¤¯ā¤ž", "saved_api_key": "ā¤¸ā¤šāĨ‡ā¤œāĨ€ ā¤—ā¤ˆ ā¤ā¤ĒāĨ€ā¤†ā¤ˆ ⤕āĨā¤‚ā¤œāĨ€", "saved_profile": "ā¤ĒāĨā¤°āĨ‹ā¤Ģā¤ŧā¤žā¤‡ā¤˛ ā¤¸ā¤šāĨ‡ā¤œāĨ€ ā¤—ā¤ˆ", "saved_settings": "ā¤¸ā¤šāĨ‡ā¤œāĨ€ ā¤—ā¤ˆ ⤏āĨ‡ā¤Ÿā¤ŋ⤂⤗āĨā¤¸", "say_something": "⤕āĨā¤› ā¤•ā¤šāĨ‡ā¤‚", + "scaffold_body_error_occurred": "⤤āĨā¤°āĨā¤Ÿā¤ŋ ā¤šāĨā¤ˆ", "scan_all_libraries": "⤏⤭āĨ€ ā¤ĒāĨā¤¸āĨā¤¤ā¤•ā¤žā¤˛ā¤¯āĨ‹ā¤‚ ⤕āĨ‹ ⤏āĨā¤•āĨˆā¤¨ ⤕⤰āĨ‡ā¤‚", + "scan_library": "⤏āĨā¤•āĨˆā¤¨", "scan_settings": "⤏āĨ‡ā¤Ÿā¤ŋ⤂⤗āĨā¤¸ ⤏āĨā¤•āĨˆā¤¨ ⤕⤰āĨ‡ā¤‚", "scanning_for_album": "ā¤ā¤˛āĨā¤Ŧā¤Ž ⤕āĨ‡ ⤞ā¤ŋā¤ ⤏āĨā¤•āĨˆā¤¨ ⤕ā¤ŋā¤¯ā¤ž ā¤œā¤ž ā¤°ā¤šā¤ž ā¤šāĨˆ..āĨ¤", "search": "⤖āĨ‹ā¤œ", "search_albums": "ā¤ā¤˛āĨā¤Ŧā¤Ž ⤖āĨ‹ā¤œāĨ‡ā¤‚", "search_by_context": "⤏⤂ā¤Ļ⤰āĨā¤­ ⤕āĨ‡ ā¤†ā¤§ā¤žā¤° ā¤Ē⤰ ⤖āĨ‹ā¤œāĨ‡ā¤‚", + "search_by_description": "ā¤ĩā¤ŋā¤ĩ⤰⤪ ⤕āĨ‡ ⤅⤍āĨā¤¸ā¤žā¤° ⤖āĨ‹ā¤œāĨ‡ā¤‚", + "search_by_description_example": "ā¤¸ā¤žā¤Ēā¤ž ā¤ŽāĨ‡ā¤‚ ā¤šā¤žā¤‡ā¤•ā¤ŋ⤂⤗ ā¤•ā¤ž ā¤Ļā¤ŋ⤍", "search_by_filename": "ā¤Ģā¤ŧā¤žā¤‡ā¤˛ ā¤¨ā¤žā¤Ž ā¤¯ā¤ž ā¤ā¤•āĨā¤¸ā¤ŸāĨ‡ā¤‚ā¤ļ⤍ ⤕āĨ‡ ā¤†ā¤§ā¤žā¤° ā¤Ē⤰ ⤖āĨ‹ā¤œāĨ‡ā¤‚", "search_by_filename_example": "ā¤¯ā¤žā¤¨āĨ€ IMG_1234.JPG ā¤¯ā¤ž PNG", + "search_by_ocr": "OCR ā¤ĻāĨā¤ĩā¤žā¤°ā¤ž ⤖āĨ‹ā¤œāĨ‡ā¤‚", + "search_by_ocr_example": "⤞⤟āĨā¤ŸāĨ‡", + "search_camera_lens_model": "⤞āĨ‡ā¤‚⤏ ā¤ŽāĨ‰ā¤Ąā¤˛ ⤖āĨ‹ā¤œāĨ‡ā¤‚..āĨ¤", "search_camera_make": "⤕āĨˆā¤Žā¤°ā¤ž ⤍ā¤ŋ⤰āĨā¤Žā¤žā¤Ŗ ⤖āĨ‹ā¤œāĨ‡ā¤‚..āĨ¤", "search_camera_model": "⤕āĨˆā¤Žā¤°ā¤ž ā¤ŽāĨ‰ā¤Ąā¤˛ ⤖āĨ‹ā¤œāĨ‡ā¤‚..āĨ¤", "search_city": "ā¤ļā¤šā¤° ⤖āĨ‹ā¤œāĨ‡ā¤‚..āĨ¤", "search_country": "ā¤ĻāĨ‡ā¤ļ ⤖āĨ‹ā¤œāĨ‡ā¤‚..āĨ¤", + "search_filter_apply": "ā¤Ģā¤ŧā¤ŋ⤞āĨā¤Ÿā¤° ā¤˛ā¤žā¤—āĨ‚ ⤕⤰āĨ‡ā¤‚", "search_filter_camera_title": "⤕āĨˆā¤Žā¤°ā¤ž ā¤ĒāĨā¤°ā¤•ā¤žā¤° ⤚āĨā¤¨āĨ‡ā¤‚", "search_filter_date": "ā¤¤ā¤žā¤°āĨ€ā¤–ā¤ŧ", "search_filter_date_interval": "{start} ⤏āĨ‡ {end} ⤤⤕", "search_filter_date_title": "ā¤¤ā¤žā¤°āĨ€ā¤–ā¤ŧ ⤕āĨ€ ⤏āĨ€ā¤Žā¤ž ⤚āĨā¤¨āĨ‡ā¤‚", + "search_filter_display_option_not_in_album": "ā¤ā¤˛āĨā¤Ŧā¤Ž ā¤ŽāĨ‡ā¤‚ ā¤¨ā¤šāĨ€ā¤‚", "search_filter_display_options": "ā¤ĒāĨā¤°ā¤Ļ⤰āĨā¤ļ⤍ ā¤ĩā¤ŋ⤕⤞āĨā¤Ē", + "search_filter_filename": "ā¤Ģā¤ŧā¤žā¤‡ā¤˛ ā¤¨ā¤žā¤Ž ⤏āĨ‡ ⤖āĨ‹ā¤œāĨ‡ā¤‚", "search_filter_location": "⤏āĨā¤Ĩā¤žā¤¨", "search_filter_location_title": "⤏āĨā¤Ĩā¤žā¤¨ ⤚āĨā¤¨āĨ‡ā¤‚", "search_filter_media_type": "ā¤ŽāĨ€ā¤Ąā¤ŋā¤¯ā¤ž ā¤ĒāĨā¤°ā¤•ā¤žā¤°", "search_filter_media_type_title": "ā¤ŽāĨ€ā¤Ąā¤ŋā¤¯ā¤ž ā¤ĒāĨā¤°ā¤•ā¤žā¤° ⤚āĨā¤¨āĨ‡ā¤‚", + "search_filter_ocr": "OCR ā¤ĻāĨā¤ĩā¤žā¤°ā¤ž ⤖āĨ‹ā¤œāĨ‡ā¤‚", "search_filter_people_title": "⤞āĨ‹ā¤—āĨ‹ā¤‚ ā¤•ā¤ž ⤚⤝⤍ ⤕⤰āĨ‡ā¤‚", + "search_for": "⤍ā¤ŋā¤ŽāĨā¤¨ ⤕āĨ‹ ⤖āĨ‹ā¤œāĨ‡ā¤‚", "search_for_existing_person": "ā¤ŽāĨŒā¤œāĨ‚ā¤Ļā¤ž ā¤ĩāĨā¤¯ā¤•āĨā¤¤ā¤ŋ ⤕āĨ‹ ⤖āĨ‹ā¤œāĨ‡ā¤‚", + "search_no_more_result": "⤕āĨ‹ā¤ˆ ⤔⤰ ā¤Ē⤰ā¤ŋā¤Ŗā¤žā¤Ž ā¤¨ā¤šāĨ€ā¤‚", "search_no_people": "⤕āĨ‹ā¤ˆ ⤞āĨ‹ā¤— ā¤¨ā¤šāĨ€ā¤‚", + "search_no_people_named": "\"{name}\" ā¤¨ā¤žā¤Ž ⤕āĨ‡ ⤕āĨ‹ā¤ˆ ⤞āĨ‹ā¤— ā¤¨ā¤šāĨ€ā¤‚ ā¤šāĨˆā¤‚", + "search_no_result": "⤕āĨ‹ā¤ˆ ⤰ā¤ŋ⤜ā¤ŧ⤞āĨā¤Ÿ ā¤¨ā¤šāĨ€ā¤‚ ā¤Žā¤ŋā¤˛ā¤ž, ⤕āĨ‹ā¤ˆ ā¤ĻāĨ‚ā¤¸ā¤°ā¤ž ⤏⤰āĨā¤š ⤟⤰āĨā¤Ž ā¤¯ā¤ž ⤕āĨ‰ā¤ŽāĨā¤Ŧā¤ŋ⤍āĨ‡ā¤ļ⤍ ⤟āĨā¤°ā¤žā¤ˆ ⤕⤰āĨ‡ā¤‚", + "search_options": "⤖āĨ‹ā¤œ ā¤ĩā¤ŋ⤕⤞āĨā¤Ē", + "search_page_categories": "ā¤ļāĨā¤°āĨ‡ā¤Ŗā¤ŋā¤¯ā¤žā¤", + "search_page_motion_photos": "ā¤ŽāĨ‹ā¤ļ⤍ ā¤Ģā¤ŧāĨ‹ā¤ŸāĨ‹", + "search_page_no_objects": "⤕āĨ‹ā¤ˆ ⤑ā¤ŦāĨā¤œāĨ‡ā¤•āĨā¤Ÿ ā¤œā¤žā¤¨ā¤•ā¤žā¤°āĨ€ ⤉ā¤Ē⤞ā¤ŦāĨā¤§ ā¤¨ā¤šāĨ€ā¤‚ ā¤šāĨˆ", + "search_page_no_places": "⤕āĨ‹ā¤ˆ ā¤œā¤—ā¤š ⤕āĨ€ ā¤œā¤žā¤¨ā¤•ā¤žā¤°āĨ€ ⤉ā¤Ē⤞ā¤ŦāĨā¤§ ā¤¨ā¤šāĨ€ā¤‚ ā¤šāĨˆ", + "search_page_screenshots": "⤏āĨā¤•āĨā¤°āĨ€ā¤¨ā¤ļāĨ‰ā¤Ÿ", + "search_page_search_photos_videos": "⤅ā¤Ē⤍āĨ€ ā¤Ģā¤ŧāĨ‹ā¤ŸāĨ‹ ⤔⤰ ā¤ĩāĨ€ā¤Ąā¤ŋ⤝āĨ‹ ⤖āĨ‹ā¤œāĨ‡ā¤‚", + "search_page_selfies": "⤏āĨ‡ā¤˛āĨā¤Ģā¤ŧāĨ€ā¤œā¤ŧ", + "search_page_things": "⤚āĨ€ā¤œā¤ŧāĨ‡ā¤‚", + "search_page_view_all_button": "⤏⤭āĨ€ ⤕āĨ‹ ā¤ĻāĨ‡ā¤–āĨ‡ā¤‚", + "search_page_your_activity": "⤆ā¤Ē⤕āĨ€ ⤗⤤ā¤ŋā¤ĩā¤ŋ⤧ā¤ŋ", + "search_page_your_map": "⤆ā¤Ēā¤•ā¤ž ⤍⤕āĨā¤ļā¤ž", "search_people": "⤞āĨ‹ā¤—āĨ‹ā¤‚ ⤕āĨ‹ ⤖āĨ‹ā¤œāĨ‡ā¤‚", "search_places": "⤏āĨā¤Ĩā¤žā¤¨ ⤖āĨ‹ā¤œāĨ‡ā¤‚", + "search_rating": "⤰āĨ‡ā¤Ÿā¤ŋ⤂⤗ ⤕āĨ‡ ā¤šā¤ŋā¤¸ā¤žā¤Ŧ ⤏āĨ‡ ⤖āĨ‹ā¤œāĨ‡ā¤‚..āĨ¤", + "search_result_page_new_search_hint": "⤍⤈ ⤖āĨ‹ā¤œ", + "search_settings": "⤖āĨ‹ā¤œ ⤏āĨ‡ā¤Ÿā¤ŋ⤂⤗āĨā¤¸", "search_state": "⤏āĨā¤Ĩā¤ŋ⤤ā¤ŋ ⤖āĨ‹ā¤œāĨ‡ā¤‚..āĨ¤", + "search_suggestion_list_smart_search_hint_1": "⤏āĨā¤Žā¤žā¤°āĨā¤Ÿ ⤏⤰āĨā¤š ā¤Ąā¤ŋā¤Ģā¤ŧāĨ‰ā¤˛āĨā¤Ÿ ⤰āĨ‚ā¤Ē ⤏āĨ‡ ā¤šā¤žā¤˛āĨ‚ ā¤°ā¤šā¤¤ā¤ž ā¤šāĨˆ, ā¤ŽāĨ‡ā¤Ÿā¤žā¤ĄāĨ‡ā¤Ÿā¤ž ⤖āĨ‹ā¤œā¤¨āĨ‡ ⤕āĨ‡ ⤞ā¤ŋā¤ ⤏ā¤ŋā¤‚ā¤ŸāĨˆā¤•āĨā¤¸ ā¤•ā¤ž ⤇⤏āĨā¤¤āĨ‡ā¤Žā¤žā¤˛ ⤕⤰āĨ‡ā¤‚ ", + "search_suggestion_list_smart_search_hint_2": "m:⤆ā¤Ēā¤•ā¤ž-⤖āĨ‹ā¤œ-ā¤ļā¤ŦāĨā¤Ļ", + "search_tags": "⤟āĨˆā¤— ⤖āĨ‹ā¤œāĨ‡ā¤‚..āĨ¤", "search_timezone": "ā¤¸ā¤Žā¤¯ā¤•āĨā¤ˇāĨ‡ā¤¤āĨā¤° ⤖āĨ‹ā¤œāĨ‡ā¤‚..āĨ¤", "search_type": "ā¤¤ā¤˛ā¤žā¤ļ ⤕āĨ€ ā¤ĩā¤ŋ⤧ā¤ŋ", "search_your_photos": "⤅ā¤Ē⤍āĨ€ ā¤Ģā¤ŧāĨ‹ā¤ŸāĨ‹ ⤖āĨ‹ā¤œāĨ‡ā¤‚", "searching_locales": "⤏āĨā¤Ĩā¤žā¤¨ ⤖āĨ‹ā¤œāĨ‡ ā¤œā¤ž ā¤°ā¤šāĨ‡ ā¤šāĨˆā¤‚..āĨ¤", "second": "ā¤ĻāĨ‚ā¤¸ā¤°ā¤ž", "see_all_people": "⤏⤭āĨ€ ⤞āĨ‹ā¤—āĨ‹ā¤‚ ⤕āĨ‹ ā¤ĻāĨ‡ā¤–āĨ‡ā¤‚", + "select": "⤚āĨā¤¨ā¤¨ā¤ž", "select_album_cover": "ā¤ā¤˛āĨā¤Ŧā¤Ž ⤕ā¤ĩ⤰ ⤚āĨā¤¨āĨ‡ā¤‚", "select_all": "⤏ā¤Ŧā¤•ā¤ž ⤚⤝⤍ ⤕⤰āĨ‡ā¤‚", "select_all_duplicates": "⤏⤭āĨ€ ā¤ĄāĨā¤ĒāĨā¤˛ā¤ŋ⤕āĨ‡ā¤Ÿ ā¤•ā¤ž ⤚⤝⤍ ⤕⤰āĨ‡ā¤‚", + "select_all_in": "{group} ā¤ŽāĨ‡ā¤‚ ⤏⤭āĨ€ ā¤•ā¤ž ⤚⤝⤍ ⤕⤰āĨ‡ā¤‚", "select_avatar_color": "⤅ā¤ĩā¤¤ā¤žā¤° ⤰⤂⤗ ⤚āĨā¤¨āĨ‡ā¤‚", "select_face": "⤚āĨ‡ā¤šā¤°ā¤ž ⤚āĨā¤¨āĨ‡ā¤‚", "select_featured_photo": "⤚āĨā¤¨ā¤ŋ⤂ā¤Ļā¤ž ā¤Ģā¤ŧāĨ‹ā¤ŸāĨ‹ ⤚āĨā¤¨āĨ‡ā¤‚", @@ -1445,44 +1816,128 @@ "select_keep_all": "⤏⤭āĨ€ ⤰⤖āĨ‡ā¤‚ ā¤•ā¤ž ⤚⤝⤍ ⤕⤰āĨ‡ā¤‚", "select_library_owner": "ā¤˛ā¤žā¤‡ā¤ŦāĨā¤°āĨ‡ā¤°āĨ€ ⤏āĨā¤ĩā¤žā¤ŽāĨ€ ā¤•ā¤ž ⤚⤝⤍ ⤕⤰āĨ‡ā¤‚", "select_new_face": "ā¤¨ā¤¯ā¤ž ⤚āĨ‡ā¤šā¤°ā¤ž ⤚āĨā¤¨āĨ‡ā¤‚", + "select_person_to_tag": "⤟āĨˆā¤— ⤕⤰⤍āĨ‡ ⤕āĨ‡ ⤞ā¤ŋā¤ ⤕ā¤ŋ⤏āĨ€ ā¤ĩāĨā¤¯ā¤•āĨā¤¤ā¤ŋ ā¤•ā¤ž ⤚⤝⤍ ⤕⤰āĨ‡ā¤‚", "select_photos": "ā¤Ģā¤ŧāĨ‹ā¤ŸāĨ‹ ⤚āĨā¤¨āĨ‡ā¤‚", "select_trash_all": "⤟āĨā¤°āĨˆā¤ļ ⤑⤞ ā¤•ā¤ž ⤚⤝⤍ ⤕⤰āĨ‡ā¤‚", + "select_user_for_sharing_page_err_album": "ā¤ā¤˛āĨā¤Ŧā¤Ž ā¤Ŧā¤¨ā¤žā¤¨āĨ‡ ā¤ŽāĨ‡ā¤‚ ā¤ĩā¤ŋā¤Ģ⤞", "selected": "⤚⤝⤍ā¤ŋ⤤", + "selected_count": "{count, plural, other {# selected}}", + "selected_gps_coordinates": "⤚⤝⤍ā¤ŋ⤤ GPS ⤍ā¤ŋ⤰āĨā¤ĻāĨ‡ā¤ļā¤žā¤‚ā¤•", "send_message": "ā¤ŽāĨ‡ā¤¸āĨ‡ā¤œ ⤭āĨ‡ā¤œāĨ‡ā¤‚", "send_welcome_email": "⤏āĨā¤ĩā¤žā¤—ā¤¤ ā¤ˆā¤ŽāĨ‡ā¤˛ ⤭āĨ‡ā¤œāĨ‡ā¤‚", + "server_endpoint": "⤏⤰āĨā¤ĩ⤰ ā¤ā¤‚ā¤Ąā¤ĒāĨ‰ā¤‡ā¤‚ā¤Ÿ", + "server_info_box_app_version": "ā¤ā¤ĒāĨā¤˛ā¤ŋ⤕āĨ‡ā¤ļ⤍ ā¤ĩāĨ‡ā¤°āĨ€ā¤œā¤ŧ⤍", "server_info_box_server_url": "⤏⤰āĨā¤ĩ⤰ URL", "server_offline": "⤏⤰āĨā¤ĩ⤰ ⤑ā¤Ģā¤ŧā¤˛ā¤žā¤‡ā¤¨", "server_online": "⤏⤰āĨā¤ĩ⤰ ā¤‘ā¤¨ā¤˛ā¤žā¤‡ā¤¨", + "server_privacy": "⤏⤰āĨā¤ĩ⤰ ⤗āĨ‹ā¤Ē⤍āĨ€ā¤¯ā¤¤ā¤ž", + "server_restarting_description": "ā¤¯ā¤š ā¤ĒāĨ‡ā¤œ ⤕āĨā¤› ā¤ĻāĨ‡ā¤° ā¤ŽāĨ‡ā¤‚ ⤰ā¤ŋā¤ĢāĨā¤°āĨ‡ā¤ļ ā¤šāĨ‹ ā¤œā¤žā¤ā¤—ā¤žāĨ¤", + "server_restarting_title": "⤏⤰āĨā¤ĩ⤰ ā¤ĒāĨā¤¨ā¤ƒ ā¤ĒāĨā¤°ā¤žā¤°ā¤‚⤭ ā¤šāĨ‹ ā¤°ā¤šā¤ž ā¤šāĨˆ", "server_stats": "⤏⤰āĨā¤ĩ⤰ ā¤†ā¤ā¤•ā¤Ąā¤ŧāĨ‡", + "server_update_available": "⤏⤰āĨā¤ĩ⤰ ⤅ā¤Ēā¤ĄāĨ‡ā¤Ÿ ⤉ā¤Ē⤞ā¤ŦāĨā¤§ ā¤šāĨˆ", "server_version": "⤏⤰āĨā¤ĩ⤰ ⤏⤂⤏āĨā¤•⤰⤪", "set": "⤤⤝ ā¤•ā¤°ā¤¨ā¤ž", "set_as_album_cover": "ā¤ā¤˛āĨā¤Ŧā¤Ž ⤕ā¤ĩ⤰ ⤕āĨ‡ ⤰āĨ‚ā¤Ē ā¤ŽāĨ‡ā¤‚ ⤏āĨ‡ā¤Ÿ ⤕⤰āĨ‡ā¤‚", + "set_as_featured_photo": "ā¤Ģā¤ŧāĨ€ā¤šā¤°āĨā¤Ą ā¤Ģā¤ŧāĨ‹ā¤ŸāĨ‹ ⤕āĨ‡ ⤤āĨŒā¤° ā¤Ē⤰ ⤏āĨ‡ā¤Ÿ ⤕⤰āĨ‡ā¤‚", "set_as_profile_picture": "ā¤ĒāĨā¤°āĨ‹ā¤Ģā¤žā¤‡ā¤˛ ⤚ā¤ŋ⤤āĨā¤° ⤕āĨ‡ ⤰āĨ‚ā¤Ē ā¤ŽāĨ‡ā¤‚ ⤏āĨ‡ā¤Ÿ", "set_date_of_birth": "⤜⤍āĨā¤Žā¤¤ā¤ŋā¤Ĩā¤ŋ ⤍ā¤ŋ⤰āĨā¤§ā¤žā¤°ā¤ŋ⤤ ⤕⤰āĨ‡ā¤‚", "set_profile_picture": "ā¤ĒāĨā¤°āĨ‹ā¤Ģā¤ŧā¤žā¤‡ā¤˛ ⤚ā¤ŋ⤤āĨā¤° ⤏āĨ‡ā¤Ÿ ⤕⤰āĨ‡ā¤‚", "set_slideshow_to_fullscreen": "⤏āĨā¤˛ā¤žā¤‡ā¤Ą ā¤ļāĨ‹ ⤕āĨ‹ ā¤Ģā¤ŧāĨā¤˛ā¤¸āĨā¤•āĨā¤°āĨ€ā¤¨ ā¤Ē⤰ ⤏āĨ‡ā¤Ÿ ⤕⤰āĨ‡ā¤‚", + "set_stack_primary_asset": "ā¤ĒāĨā¤°ā¤žā¤Ĩā¤Žā¤ŋ⤕ ⤏⤂ā¤Ē⤤āĨā¤¤ā¤ŋ ⤕āĨ‡ ⤰āĨ‚ā¤Ē ā¤ŽāĨ‡ā¤‚ ⤏āĨ‡ā¤Ÿ ⤕⤰āĨ‡ā¤‚", + "setting_image_viewer_help": "ā¤Ąā¤ŋ⤟āĨ‡ā¤˛ ā¤ĩāĨā¤¯āĨ‚⤅⤰ ā¤Ēā¤šā¤˛āĨ‡ ⤛āĨ‹ā¤Ÿā¤ž ā¤Ĩ⤂ā¤Ŧ⤍āĨ‡ā¤˛ ⤞āĨ‹ā¤Ą ā¤•ā¤°ā¤¤ā¤ž ā¤šāĨˆ, ā¤Ģā¤ŋ⤰ ā¤ŽāĨ€ā¤Ąā¤ŋā¤¯ā¤Ž-ā¤¸ā¤žā¤‡ā¤œā¤ŧ ā¤ĒāĨā¤°āĨ€ā¤ĩāĨā¤¯āĨ‚ ⤞āĨ‹ā¤Ą ā¤•ā¤°ā¤¤ā¤ž ā¤šāĨˆ (⤅⤗⤰ ⤇⤍āĨ‡ā¤Ŧ⤞ ā¤šāĨˆ), ⤔⤰ ⤆⤖ā¤ŋ⤰ ā¤ŽāĨ‡ā¤‚ ⤓⤰ā¤ŋ⤜ā¤ŋ⤍⤞ ⤞āĨ‹ā¤Ą ā¤•ā¤°ā¤¤ā¤ž ā¤šāĨˆ (⤅⤗⤰ ⤇⤍āĨ‡ā¤Ŧ⤞ ā¤šāĨˆ)āĨ¤", + "setting_image_viewer_original_subtitle": "⤓⤰ā¤ŋ⤜ā¤ŋ⤍⤞ ā¤ĢāĨā¤˛-⤰ā¤ŋ⤜ā¤ŧāĨ‰ā¤˛āĨā¤¯āĨ‚ā¤ļ⤍ ā¤‡ā¤ŽāĨ‡ā¤œ (ā¤Ŧā¤Ąā¤ŧāĨ€!) ⤞āĨ‹ā¤Ą ⤕⤰⤍āĨ‡ ⤕āĨ‡ ⤞ā¤ŋā¤ ⤇⤍āĨ‡ā¤Ŧ⤞ ⤕⤰āĨ‡ā¤‚āĨ¤ ā¤ĄāĨ‡ā¤Ÿā¤ž ā¤•ā¤ž ⤇⤏āĨā¤¤āĨ‡ā¤Žā¤žā¤˛ ā¤•ā¤Ž ⤕⤰⤍āĨ‡ ⤕āĨ‡ ⤞ā¤ŋā¤ ā¤Ąā¤ŋ⤏āĨ‡ā¤Ŧ⤞ ⤕⤰āĨ‡ā¤‚ (⤍āĨ‡ā¤Ÿā¤ĩ⤰āĨā¤• ⤔⤰ ā¤Ąā¤ŋā¤ĩā¤žā¤‡ā¤¸ ⤕āĨˆā¤ļ ā¤ĻāĨ‹ā¤¨āĨ‹ā¤‚)āĨ¤", + "setting_image_viewer_original_title": "ā¤ŽāĨ‚⤞ ⤛ā¤ĩā¤ŋ ⤞āĨ‹ā¤Ą ⤕⤰āĨ‡ā¤‚", + "setting_image_viewer_preview_subtitle": "ā¤ŽāĨ€ā¤Ąā¤ŋā¤¯ā¤Ž-⤰ā¤ŋ⤜ā¤ŧāĨ‰ā¤˛āĨā¤¯āĨ‚ā¤ļ⤍ ā¤‡ā¤ŽāĨ‡ā¤œ ⤞āĨ‹ā¤Ą ⤕⤰⤍āĨ‡ ⤕āĨ‡ ⤞ā¤ŋā¤ ā¤šā¤žā¤˛āĨ‚ ⤕⤰āĨ‡ā¤‚āĨ¤ ⤓⤰ā¤ŋ⤜ā¤ŋ⤍⤞ ā¤‡ā¤ŽāĨ‡ā¤œ ⤕āĨ‹ ⤏āĨ€ā¤§āĨ‡ ⤞āĨ‹ā¤Ą ⤕⤰⤍āĨ‡ ā¤¯ā¤ž ⤏ā¤ŋ⤰āĨā¤Ģā¤ŧ ā¤Ĩ⤂ā¤Ŧ⤍āĨ‡ā¤˛ ⤇⤏āĨā¤¤āĨ‡ā¤Žā¤žā¤˛ ⤕⤰⤍āĨ‡ ⤕āĨ‡ ⤞ā¤ŋā¤ ā¤Ŧ⤂ā¤Ļ ⤕⤰āĨ‡ā¤‚āĨ¤", + "setting_image_viewer_preview_title": "ā¤ĒāĨ‚⤰āĨā¤ĩā¤žā¤ĩ⤞āĨ‹ā¤•⤍ ⤛ā¤ĩā¤ŋ ⤞āĨ‹ā¤Ą ⤕⤰āĨ‡ā¤‚", + "setting_image_viewer_title": "ā¤‡ā¤ŽāĨ‡ā¤œā¤ŋ⤏", + "setting_languages_apply": "⤆ā¤ĩāĨ‡ā¤Ļ⤍ ā¤•ā¤°ā¤¨ā¤ž", + "setting_languages_subtitle": "⤐ā¤Ē ⤕āĨ€ ā¤­ā¤žā¤ˇā¤ž ā¤Ŧā¤Ļ⤞āĨ‡ā¤‚", + "setting_notifications_notify_failures_grace_period": "ā¤ŦāĨˆā¤•⤗āĨā¤°ā¤žā¤‰ā¤‚ā¤Ą ā¤ŦāĨˆā¤•⤅ā¤Ē ā¤ĢāĨ‡ā¤˛ā¤ŋ⤝⤰ ⤕āĨ€ ⤏āĨ‚ā¤šā¤¨ā¤ž ā¤ĻāĨ‡ā¤‚: {duration}", + "setting_notifications_notify_hours": "{count} ā¤˜ā¤‚ā¤ŸāĨ‡", + "setting_notifications_notify_immediately": "⤤āĨā¤°ā¤‚⤤", + "setting_notifications_notify_minutes": "{count} ā¤Žā¤ŋ⤍⤟", + "setting_notifications_notify_never": "⤕⤭āĨ€ ā¤¨ā¤šāĨ€ā¤‚", + "setting_notifications_notify_seconds": "{count} ⤏āĨ‡ā¤•ā¤‚ā¤Ą", + "setting_notifications_single_progress_subtitle": "ā¤šā¤° ā¤ā¤¸āĨ‡ā¤Ÿ ⤕āĨ‡ ⤞ā¤ŋā¤ ⤅ā¤Ē⤞āĨ‹ā¤Ą ā¤ĒāĨā¤°āĨ‹ā¤—āĨā¤°āĨ‡ā¤¸ ⤕āĨ€ ā¤ĒāĨ‚⤰āĨ€ ā¤œā¤žā¤¨ā¤•ā¤žā¤°āĨ€", + "setting_notifications_single_progress_title": "ā¤ŦāĨˆā¤•⤗āĨā¤°ā¤žā¤‰ā¤‚ā¤Ą ā¤ŦāĨˆā¤•⤅ā¤Ē ā¤Ąā¤ŋ⤟āĨ‡ā¤˛ ā¤ĒāĨā¤°āĨ‹ā¤—āĨā¤°āĨ‡ā¤¸ ā¤Ļā¤ŋā¤–ā¤žā¤ā¤", + "setting_notifications_subtitle": "⤅ā¤Ē⤍āĨ€ ⤍āĨ‹ā¤Ÿā¤ŋā¤Ģā¤ŧā¤ŋ⤕āĨ‡ā¤ļ⤍ ā¤ĒāĨā¤°ā¤žā¤Ĩā¤Žā¤ŋā¤•ā¤¤ā¤žā¤ā¤ ā¤¸ā¤Žā¤žā¤¯āĨ‹ā¤œā¤ŋ⤤ ⤕⤰āĨ‡ā¤‚", + "setting_notifications_total_progress_subtitle": "⤓ā¤ĩ⤰⤑⤞ ⤅ā¤Ē⤞āĨ‹ā¤Ą ā¤ĒāĨā¤°āĨ‹ā¤—āĨā¤°āĨ‡ā¤¸ (ā¤šāĨ‹ ā¤—ā¤¯ā¤ž/⤟āĨ‹ā¤Ÿā¤˛ ā¤ā¤¸āĨ‡ā¤ŸāĨā¤¸)", + "setting_notifications_total_progress_title": "ā¤ŦāĨˆā¤•⤗āĨā¤°ā¤žā¤‰ā¤‚ā¤Ą ā¤ŦāĨˆā¤•⤅ā¤Ē ⤕āĨ€ ⤕āĨā¤˛ ā¤ĒāĨā¤°āĨ‹ā¤—āĨā¤°āĨ‡ā¤¸ ā¤Ļā¤ŋā¤–ā¤žā¤ā¤", + "setting_video_viewer_auto_play_subtitle": "ā¤ĩāĨ€ā¤Ąā¤ŋ⤝āĨ‹ ⤖āĨā¤˛ā¤¨āĨ‡ ā¤Ē⤰ ⤅ā¤Ē⤍āĨ‡ ⤆ā¤Ē ā¤šā¤˛ā¤¨ā¤ž ā¤ļāĨā¤°āĨ‚ ā¤šāĨ‹ ā¤œā¤žā¤¤ā¤ž ā¤šāĨˆ", + "setting_video_viewer_auto_play_title": "ā¤‘ā¤ŸāĨ‹ ā¤ĒāĨā¤˛āĨ‡ ā¤ĩāĨ€ā¤Ąā¤ŋ⤝āĨ‹", + "setting_video_viewer_looping_title": "ā¤Ēā¤žā¤ļ⤍", + "setting_video_viewer_original_video_subtitle": "⤏⤰āĨā¤ĩ⤰ ⤏āĨ‡ ā¤ĩāĨ€ā¤Ąā¤ŋ⤝āĨ‹ ⤏āĨā¤ŸāĨā¤°āĨ€ā¤Ž ⤕⤰⤤āĨ‡ ā¤¸ā¤Žā¤¯, ⤟āĨā¤°ā¤žā¤‚⤏⤕āĨ‹ā¤Ą ⤉ā¤Ē⤞ā¤ŦāĨā¤§ ā¤šāĨ‹ā¤¨āĨ‡ ā¤Ē⤰ ⤭āĨ€ ⤓⤰ā¤ŋ⤜ā¤ŋ⤍⤞ ā¤ĩāĨ€ā¤Ąā¤ŋ⤝āĨ‹ ā¤šā¤˛ā¤žā¤ā¤‚āĨ¤ ⤇⤏⤏āĨ‡ ā¤Ŧā¤Ģ⤰ā¤ŋ⤂⤗ ā¤šāĨ‹ ⤏⤕⤤āĨ€ ā¤šāĨˆāĨ¤ ⤇⤏ ⤏āĨ‡ā¤Ÿā¤ŋ⤂⤗ ⤕āĨ‡ ā¤Ŧā¤žā¤ĩ⤜āĨ‚ā¤Ļ, ⤏āĨā¤Ĩā¤žā¤¨āĨ€ā¤¯ ⤰āĨ‚ā¤Ē ⤏āĨ‡ ⤉ā¤Ē⤞ā¤ŦāĨā¤§ ā¤ĩāĨ€ā¤Ąā¤ŋ⤝āĨ‹ ⤓⤰ā¤ŋ⤜ā¤ŋ⤍⤞ ⤕āĨā¤ĩā¤žā¤˛ā¤ŋ⤟āĨ€ ā¤ŽāĨ‡ā¤‚ ā¤šā¤˛ā¤žā¤ ā¤œā¤žā¤¤āĨ‡ ā¤šāĨˆā¤‚āĨ¤", + "setting_video_viewer_original_video_title": "ā¤ŽāĨ‚⤞ ā¤ĩāĨ€ā¤Ąā¤ŋ⤝āĨ‹ ⤕āĨ‹ ā¤Ŧ⤞ā¤ĒāĨ‚⤰āĨā¤ĩ⤕", "settings": "ā¤¸ā¤Žā¤žā¤¯āĨ‹ā¤œā¤¨", + "settings_require_restart": "⤇⤏ ⤏āĨ‡ā¤Ÿā¤ŋ⤂⤗ ⤕āĨ‹ ā¤˛ā¤žā¤—āĨ‚ ⤕⤰⤍āĨ‡ ⤕āĨ‡ ⤞ā¤ŋā¤ ⤕āĨƒā¤Ēā¤¯ā¤ž Immich ⤕āĨ‹ ⤰āĨ€ā¤¸āĨā¤Ÿā¤žā¤°āĨā¤Ÿ ⤕⤰āĨ‡ā¤‚", "settings_saved": "⤏āĨ‡ā¤Ÿā¤ŋ⤂⤗āĨā¤¸ ⤕āĨ‹ ā¤¸ā¤šāĨ‡ā¤œā¤ž ā¤—ā¤¯ā¤ž", + "setup_pin_code": "ā¤Ēā¤ŋ⤍ ⤕āĨ‹ā¤Ą ⤏āĨ‡ā¤Ÿ ⤕⤰āĨ‡ā¤‚", "share": "ā¤ļāĨ‡ā¤¯ā¤° ā¤•ā¤°ā¤¨ā¤ž", + "share_action_prompt": "ā¤¸ā¤žā¤ā¤ž {count} ⤏⤂ā¤Ē⤤āĨā¤¤ā¤ŋā¤¯ā¤žā¤", "share_add_photos": "ā¤Ģā¤ŧāĨ‹ā¤ŸāĨ‹ ā¤Ąā¤žā¤˛āĨ‡ā¤‚", + "share_assets_selected": "{count} ⤚⤝⤍ā¤ŋ⤤", + "share_dialog_preparing": "⤤āĨˆā¤¯ā¤žā¤°āĨ€..āĨ¤", + "share_link": "⤞ā¤ŋ⤂⤕ ā¤ļāĨ‡ā¤¯ā¤° ⤕⤰āĨ‡ā¤‚", "shared": "ā¤¸ā¤žā¤ā¤ž", "shared_album_activities_input_disable": "⤕āĨ‰ā¤ŽāĨ‡ā¤‚ā¤Ÿ ā¤Ąā¤ŋ⤜āĨ‡ā¤Ŧ⤞āĨā¤Ą ā¤šāĨˆ", "shared_album_activity_remove_content": "⤕āĨā¤¯ā¤ž ⤆ā¤Ē ⤇⤏ ⤗⤤ā¤ŋā¤ĩā¤ŋ⤧ā¤ŋ ⤕āĨ‹ ā¤šā¤Ÿā¤žā¤¨ā¤ž ā¤šā¤žā¤šā¤¤āĨ‡ ā¤šāĨˆā¤‚?", "shared_album_activity_remove_title": "⤗⤤ā¤ŋā¤ĩā¤ŋ⤧ā¤ŋ ā¤šā¤Ÿā¤žā¤ā¤‚", + "shared_album_section_people_action_error": "ā¤ā¤˛āĨā¤Ŧā¤Ž ⤏āĨ‡ ā¤šā¤Ÿā¤žā¤¨āĨ‡/⤛āĨ‹ā¤Ąā¤ŧ⤍āĨ‡ ā¤ŽāĨ‡ā¤‚ ⤤āĨā¤°āĨā¤Ÿā¤ŋ", + "shared_album_section_people_action_leave": "⤉ā¤Ē⤝āĨ‹ā¤—⤕⤰āĨā¤¤ā¤ž ⤕āĨ‹ ā¤ā¤˛āĨā¤Ŧā¤Ž ⤏āĨ‡ ā¤šā¤Ÿā¤žā¤ā¤", + "shared_album_section_people_action_remove_user": "⤉ā¤Ē⤝āĨ‹ā¤—⤕⤰āĨā¤¤ā¤ž ⤕āĨ‹ ā¤ā¤˛āĨā¤Ŧā¤Ž ⤏āĨ‡ ā¤šā¤Ÿā¤žā¤ā¤", + "shared_album_section_people_title": "⤞āĨ‹ā¤—", "shared_by": "ā¤ĻāĨā¤ĩā¤žā¤°ā¤ž ā¤¸ā¤žā¤ā¤ž", + "shared_by_user": "{user} ā¤ĻāĨā¤ĩā¤žā¤°ā¤ž ā¤¸ā¤žā¤ā¤ž ⤕ā¤ŋā¤¯ā¤ž ā¤—ā¤¯ā¤ž", "shared_by_you": "⤆ā¤Ē⤕āĨ‡ ā¤ĻāĨā¤ĩā¤žā¤°ā¤ž ā¤¸ā¤žā¤ā¤ž ⤕ā¤ŋā¤¯ā¤ž ā¤—ā¤¯ā¤ž", + "shared_from_partner": "{partner} ⤏āĨ‡ ā¤Ģā¤ŧāĨ‹ā¤ŸāĨ‹", + "shared_intent_upload_button_progress_text": "{current} / {total} ⤅ā¤Ē⤞āĨ‹ā¤Ą ⤕ā¤ŋā¤¯ā¤ž ā¤—ā¤¯ā¤ž", "shared_link_app_bar_title": "ā¤¸ā¤žā¤ā¤ž ⤕ā¤ŋā¤ ā¤—ā¤ ⤞ā¤ŋ⤂⤕", + "shared_link_clipboard_copied_massage": "⤕āĨā¤˛ā¤ŋā¤Ēā¤ŦāĨ‹ā¤°āĨā¤Ą ā¤Ē⤰ ⤕āĨ‰ā¤ĒāĨ€ ⤕ā¤ŋā¤¯ā¤ž ā¤—ā¤¯ā¤ž", + "shared_link_clipboard_text": "⤞ā¤ŋ⤂⤕: {link}\nā¤Ēā¤žā¤¸ā¤ĩ⤰āĨā¤Ą: {password}", + "shared_link_create_error": "ā¤ļāĨ‡ā¤¯ā¤°āĨā¤Ą ⤞ā¤ŋ⤂⤕ ā¤Ŧā¤¨ā¤žā¤¤āĨ‡ ā¤¸ā¤Žā¤¯ ā¤ā¤°ā¤° ā¤†ā¤¯ā¤ž", + "shared_link_custom_url_description": "⤕⤏āĨā¤Ÿā¤Ž URL ⤏āĨ‡ ⤇⤏ ā¤ļāĨ‡ā¤¯ā¤°āĨā¤Ą ⤞ā¤ŋ⤂⤕ ⤕āĨ‹ ā¤ā¤•āĨā¤¸āĨ‡ā¤¸ ⤕⤰āĨ‡ā¤‚", "shared_link_edit_description_hint": "ā¤ļāĨ‡ā¤¯ā¤° ā¤ĩā¤ŋā¤ĩ⤰⤪ ā¤Ļ⤰āĨā¤œ ⤕⤰āĨ‡ā¤‚", + "shared_link_edit_expire_after_option_day": "1 ā¤Ļā¤ŋ⤍", + "shared_link_edit_expire_after_option_days": "{count} ā¤Ļā¤ŋ⤍", + "shared_link_edit_expire_after_option_hour": "1 ā¤˜ā¤‚ā¤Ÿā¤ž", + "shared_link_edit_expire_after_option_hours": "{count} ā¤˜ā¤‚ā¤ŸāĨ‡", + "shared_link_edit_expire_after_option_minute": "1 ā¤Žā¤ŋ⤍⤟", + "shared_link_edit_expire_after_option_minutes": "{count} ā¤Žā¤ŋ⤍⤟", + "shared_link_edit_expire_after_option_months": "{count} ā¤Žā¤šāĨ€ā¤¨āĨ‡", + "shared_link_edit_expire_after_option_year": "{count} ā¤ĩ⤰āĨā¤ˇ", "shared_link_edit_password_hint": "ā¤ļāĨ‡ā¤¯ā¤° ā¤Ēā¤žā¤¸ā¤ĩ⤰āĨā¤Ą ā¤Ļ⤰āĨā¤œ ⤕⤰āĨ‡ā¤‚", "shared_link_edit_submit_button": "⤅ā¤Ēā¤ĄāĨ‡ā¤Ÿ ⤞ā¤ŋ⤂⤕", + "shared_link_error_server_url_fetch": "⤏⤰āĨā¤ĩ⤰ URL ā¤¨ā¤šāĨ€ā¤‚ ā¤Žā¤ŋ⤞ ā¤°ā¤šā¤ž ā¤šāĨˆ", + "shared_link_expires_day": "{count} ā¤Ļā¤ŋ⤍ ā¤ŽāĨ‡ā¤‚ ā¤¸ā¤Žā¤žā¤ĒāĨā¤¤ ā¤šāĨ‹ ā¤°ā¤šā¤ž ā¤šāĨˆ", + "shared_link_expires_days": "{count} ā¤Ļā¤ŋ⤍āĨ‹ā¤‚ ā¤ŽāĨ‡ā¤‚ ā¤¸ā¤Žā¤žā¤ĒāĨā¤¤ ā¤šāĨ‹ ā¤œā¤žā¤ā¤—ā¤ž", + "shared_link_expires_hour": "{count} ā¤˜ā¤‚ā¤ŸāĨ‡ ā¤ŽāĨ‡ā¤‚ ā¤¸ā¤Žā¤žā¤ĒāĨā¤¤ ā¤šāĨ‹ ā¤œā¤žā¤ā¤—ā¤ž", + "shared_link_expires_hours": "{count} ā¤˜ā¤‚ā¤ŸāĨ‡ ā¤ŽāĨ‡ā¤‚ ā¤¸ā¤Žā¤žā¤ĒāĨā¤¤ ā¤šāĨ‹ ā¤œā¤žā¤ā¤—ā¤ž", + "shared_link_expires_minute": "{count} ā¤Žā¤ŋ⤍⤟ ā¤ŽāĨ‡ā¤‚ ā¤¸ā¤Žā¤žā¤ĒāĨā¤¤ ā¤šāĨ‹ ā¤°ā¤šā¤ž ā¤šāĨˆ", + "shared_link_expires_minutes": "{count} ā¤Žā¤ŋ⤍⤟ ā¤ŽāĨ‡ā¤‚ ā¤¸ā¤Žā¤žā¤ĒāĨā¤¤ ā¤šāĨ‹ ā¤œā¤žā¤ā¤—ā¤ž", + "shared_link_expires_never": "ā¤¸ā¤Žā¤žā¤ĒāĨā¤¤ ∞", + "shared_link_expires_second": "{count} ⤏āĨ‡ā¤•ā¤‚ā¤Ą ā¤ŽāĨ‡ā¤‚ ā¤¸ā¤Žā¤žā¤ĒāĨā¤¤ ā¤šāĨ‹ ā¤°ā¤šā¤ž ā¤šāĨˆ", + "shared_link_expires_seconds": "{count} ⤏āĨ‡ā¤•ā¤‚ā¤Ą ā¤ŽāĨ‡ā¤‚ ā¤¸ā¤Žā¤žā¤ĒāĨā¤¤ ā¤šāĨ‹ ā¤œā¤žā¤ā¤—ā¤ž", + "shared_link_individual_shared": "ā¤ĩāĨā¤¯ā¤•āĨā¤¤ā¤ŋ⤗⤤ ā¤¸ā¤žā¤ā¤ž", + "shared_link_info_chip_metadata": "EXIF", "shared_link_manage_links": "ā¤¸ā¤žā¤ā¤ž ⤕ā¤ŋā¤ ā¤—ā¤ ⤞ā¤ŋ⤂⤕ ā¤•ā¤ž ā¤ĒāĨā¤°ā¤Ŧ⤂⤧⤍ ⤕⤰āĨ‡ā¤‚", + "shared_link_options": "ā¤¸ā¤žā¤ā¤ž ⤞ā¤ŋ⤂⤕ ā¤ĩā¤ŋ⤕⤞āĨā¤Ē", + "shared_link_password_description": "⤇⤏ ā¤ļāĨ‡ā¤¯ā¤° ⤕ā¤ŋā¤ ā¤—ā¤ ⤞ā¤ŋ⤂⤕ ⤕āĨ‹ ā¤ā¤•āĨā¤¸āĨ‡ā¤¸ ⤕⤰⤍āĨ‡ ⤕āĨ‡ ⤞ā¤ŋā¤ ā¤Ēā¤žā¤¸ā¤ĩ⤰āĨā¤Ą ⤜ā¤ŧ⤰āĨ‚⤰āĨ€ ā¤šāĨˆ", "shared_links": "ā¤¸ā¤žā¤ā¤ž ⤕ā¤ŋā¤ ā¤—ā¤ ⤞ā¤ŋ⤂⤕", + "shared_links_description": "⤞ā¤ŋ⤂⤕ ⤕āĨ‡ ā¤¸ā¤žā¤Ĩ ā¤Ģā¤ŧāĨ‹ā¤ŸāĨ‹ ⤔⤰ ā¤ĩāĨ€ā¤Ąā¤ŋ⤝āĨ‹ ā¤ļāĨ‡ā¤¯ā¤° ⤕⤰āĨ‡ā¤‚", + "shared_photos_and_videos_count": "{assetCount, plural, other {# shared photos & videos.}}", "shared_with_me": "ā¤ŽāĨ‡ā¤°āĨ‡ ā¤¸ā¤žā¤Ĩ ā¤¸ā¤žā¤ā¤ž ⤕ā¤ŋā¤¯ā¤ž ā¤—ā¤¯ā¤ž", + "shared_with_partner": "{partner} ⤕āĨ‡ ā¤¸ā¤žā¤Ĩ ā¤ļāĨ‡ā¤¯ā¤° ⤕ā¤ŋā¤¯ā¤ž ā¤—ā¤¯ā¤ž", "sharing": "ā¤ļāĨ‡ā¤¯ā¤°ā¤ŋ⤂⤗", "sharing_enter_password": "⤕āĨƒā¤Ēā¤¯ā¤ž ⤇⤏ ā¤ĒāĨƒā¤ˇāĨā¤  ⤕āĨ‹ ā¤ĻāĨ‡ā¤–⤍āĨ‡ ⤕āĨ‡ ⤞ā¤ŋā¤ ā¤Ēā¤žā¤¸ā¤ĩ⤰āĨā¤Ą ā¤Ļ⤰āĨā¤œ ⤕⤰āĨ‡ā¤‚āĨ¤", + "sharing_page_album": "ā¤¸ā¤žā¤ā¤ž ā¤ā¤˛āĨā¤Ŧā¤Ž", + "sharing_page_description": "⤅ā¤Ē⤍āĨ‡ ⤍āĨ‡ā¤Ÿā¤ĩ⤰āĨā¤• ā¤ŽāĨ‡ā¤‚ ⤞āĨ‹ā¤—āĨ‹ā¤‚ ⤕āĨ‡ ā¤¸ā¤žā¤Ĩ ā¤Ģā¤ŧāĨ‹ā¤ŸāĨ‹ ⤔⤰ ā¤ĩāĨ€ā¤Ąā¤ŋ⤝āĨ‹ ā¤ļāĨ‡ā¤¯ā¤° ⤕⤰⤍āĨ‡ ⤕āĨ‡ ⤞ā¤ŋā¤ ā¤ļāĨ‡ā¤¯ā¤°āĨā¤Ą ā¤ā¤˛āĨā¤Ŧā¤Ž ā¤Ŧā¤¨ā¤žā¤ā¤‚āĨ¤", + "sharing_page_empty_list": "ā¤–ā¤žā¤˛āĨ€ ⤏āĨ‚ā¤šāĨ€", "sharing_sidebar_description": "ā¤¸ā¤žā¤‡ā¤Ąā¤Ŧā¤žā¤° ā¤ŽāĨ‡ā¤‚ ā¤ļāĨ‡ā¤¯ā¤°ā¤ŋ⤂⤗ ⤕āĨ‡ ⤞ā¤ŋā¤ ā¤ā¤• ⤞ā¤ŋ⤂⤕ ā¤ĒāĨā¤°ā¤Ļ⤰āĨā¤ļā¤ŋ⤤ ⤕⤰āĨ‡ā¤‚", + "sharing_silver_appbar_create_shared_album": "ā¤¨ā¤¯ā¤ž ā¤¸ā¤žā¤ā¤ž ā¤ā¤˛āĨā¤Ŧā¤Ž", + "sharing_silver_appbar_share_partner": "ā¤Ēā¤žā¤°āĨā¤Ÿā¤¨ā¤° ⤕āĨ‡ ā¤¸ā¤žā¤Ĩ ā¤ļāĨ‡ā¤¯ā¤° ⤕⤰āĨ‡ā¤‚", "shift_to_permanent_delete": "⤏⤂ā¤Ē⤤āĨā¤¤ā¤ŋ ⤕āĨ‹ ⤏āĨā¤Ĩā¤žā¤¯āĨ€ ⤰āĨ‚ā¤Ē ⤏āĨ‡ ā¤šā¤Ÿā¤žā¤¨āĨ‡ ⤕āĨ‡ ⤞ā¤ŋā¤ ⇧ ā¤Ļā¤Ŧā¤žā¤ā¤", "show_album_options": "ā¤ā¤˛āĨā¤Ŧā¤Ž ā¤ĩā¤ŋ⤕⤞āĨā¤Ē ā¤Ļā¤ŋā¤–ā¤žā¤ā¤", + "show_albums": "ā¤ā¤˛āĨā¤Ŧā¤Ž ā¤Ļā¤ŋā¤–ā¤žā¤ā¤", "show_all_people": "⤏⤭āĨ€ ⤞āĨ‹ā¤—āĨ‹ā¤‚ ⤕āĨ‹ ā¤Ļā¤ŋā¤–ā¤žā¤“", "show_and_hide_people": "⤞āĨ‹ā¤—āĨ‹ā¤‚ ⤕āĨ‹ ā¤Ļā¤ŋā¤–ā¤žā¤ā¤ ⤔⤰ ⤛ā¤ŋā¤Ēā¤žā¤ā¤", "show_file_location": "ā¤Ģā¤ŧā¤žā¤‡ā¤˛ ⤏āĨā¤Ĩā¤žā¤¨ ā¤Ļā¤ŋā¤–ā¤žā¤ā¤", @@ -1497,133 +1952,245 @@ "show_person_options": "ā¤ĩāĨā¤¯ā¤•āĨā¤¤ā¤ŋ ā¤ĩā¤ŋ⤕⤞āĨā¤Ē ā¤Ļā¤ŋā¤–ā¤žā¤ā¤", "show_progress_bar": "ā¤ĒāĨā¤°ā¤—⤤ā¤ŋ ā¤Ē⤟āĨā¤ŸāĨ€ ā¤Ļā¤ŋā¤–ā¤žā¤ā¤", "show_search_options": "⤖āĨ‹ā¤œ ā¤ĩā¤ŋ⤕⤞āĨā¤Ē ā¤Ļā¤ŋā¤–ā¤žā¤ā¤", + "show_shared_links": "ā¤¸ā¤žā¤ā¤ž ⤞ā¤ŋ⤂⤕ ā¤Ļā¤ŋā¤–ā¤žā¤ā¤", + "show_slideshow_transition": "⤏āĨā¤˛ā¤žā¤‡ā¤Ą ā¤ļāĨ‹ ⤟āĨā¤°ā¤žā¤‚ā¤œā¤ŧā¤ŋā¤ļ⤍ ā¤Ļā¤ŋā¤–ā¤žā¤ā¤", "show_supporter_badge": "ā¤¸ā¤Žā¤°āĨā¤Ĩ⤕ ā¤Ŧā¤ŋ⤞āĨā¤˛ā¤ž", "show_supporter_badge_description": "ā¤¸ā¤Žā¤°āĨā¤Ĩ⤕ ā¤ŦāĨˆā¤œ ā¤Ļā¤ŋā¤–ā¤žā¤ā¤", + "show_text_search_menu": "⤟āĨ‡ā¤•āĨā¤¸āĨā¤Ÿ ⤖āĨ‹ā¤œ ā¤ŽāĨ‡ā¤¨āĨ‚ ā¤Ļā¤ŋā¤–ā¤žā¤ā¤", "shuffle": "ā¤Žā¤ŋā¤ļāĨā¤°ā¤Ŗ", + "sidebar": "ā¤¸ā¤žā¤‡ā¤Ą ā¤Ŧā¤žā¤°", + "sidebar_display_description": "ā¤¸ā¤žā¤‡ā¤Ąā¤Ŧā¤žā¤° ā¤ŽāĨ‡ā¤‚ ā¤ĩāĨā¤¯āĨ‚ ā¤•ā¤ž ⤞ā¤ŋ⤂⤕ ā¤Ļā¤ŋā¤–ā¤žā¤ā¤‚", "sign_out": "ā¤¸ā¤žā¤‡ā¤¨ ā¤†ā¤‰ā¤Ÿ", "sign_up": "ā¤¸ā¤žā¤‡ā¤¨ ⤅ā¤Ē ⤕⤰āĨ‡ā¤‚", "size": "ā¤†ā¤•ā¤žā¤°", "skip_to_content": "⤇⤏āĨ‡ ⤛āĨ‹ā¤Ąā¤ŧ⤕⤰ ā¤¸ā¤žā¤Žā¤—āĨā¤°āĨ€ ā¤Ē⤰ ā¤Ŧā¤ĸā¤ŧ⤍āĨ‡ ⤕āĨ‡ ⤞ā¤ŋā¤", + "skip_to_folders": "ā¤Ģā¤ŧāĨ‹ā¤˛āĨā¤Ąā¤°āĨ‹ā¤‚ ā¤Ē⤰ ā¤œā¤žā¤ā¤‚", + "skip_to_tags": "⤟āĨˆā¤— ā¤Ē⤰ ā¤œā¤žā¤ā¤‚", "slideshow": "⤏āĨā¤˛ā¤žā¤‡ā¤Ą ā¤ļāĨ‹", "slideshow_settings": "⤏āĨā¤˛ā¤žā¤‡ā¤Ą ā¤ļāĨ‹ ⤏āĨ‡ā¤Ÿā¤ŋ⤂⤗āĨā¤¸", "sort_albums_by": "ā¤ā¤˛āĨā¤Ŧā¤Ž ⤕āĨ‹ ⤕āĨā¤°ā¤Žā¤Ŧā¤ĻāĨā¤§ ⤕⤰āĨ‡ā¤‚..āĨ¤", "sort_created": "ā¤Ŧā¤¨ā¤žā¤¯ā¤ž ā¤—ā¤¯ā¤ž ā¤Ļā¤ŋā¤¨ā¤žā¤‚ā¤•", "sort_items": "ā¤Žā¤ĻāĨ‹ā¤‚ ⤕āĨ€ ⤏⤂⤖āĨā¤¯ā¤ž", "sort_modified": "ā¤ĄāĨ‡ā¤Ÿā¤ž ⤏⤂ā¤ļāĨ‹ā¤§ā¤ŋ⤤", + "sort_newest": "⤍ā¤ĩāĨ€ā¤¨ā¤¤ā¤Ž ā¤ĢāĨ‹ā¤ŸāĨ‹", "sort_oldest": "⤏ā¤Ŧ⤏āĨ‡ ā¤ĒāĨā¤°ā¤žā¤¨āĨ€ ⤤⤏āĨā¤ĩāĨ€ā¤°", + "sort_people_by_similarity": "⤞āĨ‹ā¤—āĨ‹ā¤‚ ⤕āĨ‹ ā¤¸ā¤Žā¤žā¤¨ā¤¤ā¤ž ⤕āĨ‡ ā¤†ā¤§ā¤žā¤° ā¤Ē⤰ ā¤›ā¤žā¤ā¤ŸāĨ‡ā¤‚", "sort_recent": "⤏ā¤Ŧ⤏āĨ‡ ā¤¤ā¤žā¤œā¤ŧā¤ž ā¤Ģā¤ŧāĨ‹ā¤ŸāĨ‹", "sort_title": "ā¤ļāĨ€ā¤°āĨā¤ˇā¤•", "source": "⤏āĨā¤°āĨ‹ā¤¤", "stack": "ā¤ĸāĨ‡ā¤°", + "stack_action_prompt": "{count} ⤏āĨā¤ŸāĨˆā¤•āĨā¤Ą", + "stack_duplicates": "ā¤ĄāĨā¤ĒāĨā¤˛ā¤ŋ⤕āĨ‡ā¤Ÿ ⤏āĨā¤ŸāĨˆā¤• ⤕⤰āĨ‡ā¤‚", + "stack_select_one_photo": "⤏āĨā¤ŸāĨˆā¤• ⤕āĨ‡ ⤞ā¤ŋā¤ ā¤ā¤• ā¤ŽāĨā¤–āĨā¤¯ ā¤Ģā¤ŧāĨ‹ā¤ŸāĨ‹ ⤚āĨā¤¨āĨ‡ā¤‚", "stack_selected_photos": "⤚⤝⤍ā¤ŋ⤤ ā¤Ģā¤ŧāĨ‹ā¤ŸāĨ‹ ⤕āĨ‹ ā¤ĸāĨ‡ā¤° ⤕⤰āĨ‡ā¤‚", + "stacked_assets_count": "⤏āĨā¤ŸāĨˆā¤•āĨā¤Ą {count, plural, one {# asset} other {# assets}}", "stacktrace": "⤏āĨā¤ŸāĨˆā¤• ⤟āĨā¤°āĨ‡ā¤¸", "start": "ā¤ļāĨā¤°āĨ‚", "start_date": "⤆⤰⤂⤭ ⤕⤰⤍āĨ‡ ⤕āĨ€ ⤤ā¤ŋā¤Ĩā¤ŋ", + "start_date_before_end_date": "⤆⤰⤂⤭ ⤤ā¤ŋā¤Ĩā¤ŋ ā¤¸ā¤Žā¤žā¤ĒāĨā¤¤ā¤ŋ ⤤ā¤ŋā¤Ĩā¤ŋ ⤏āĨ‡ ā¤Ēā¤šā¤˛āĨ‡ ā¤šāĨ‹ā¤¨āĨ€ ā¤šā¤žā¤šā¤ŋā¤", "state": "ā¤°ā¤žā¤œāĨā¤¯", "status": "⤏āĨā¤Ĩā¤ŋ⤤ā¤ŋ", + "stop_casting": "ā¤•ā¤žā¤¸āĨā¤Ÿā¤ŋ⤂⤗ ā¤Ŧ⤂ā¤Ļ ⤕⤰āĨ‹", "stop_motion_photo": "⤏āĨā¤ŸāĨ‰ā¤Ē ā¤ŽāĨ‹ā¤ļ⤍ ā¤ĢāĨ‹ā¤ŸāĨ‹", "stop_photo_sharing": "⤅ā¤Ē⤍āĨ€ ⤤⤏āĨā¤ĩāĨ€ā¤°āĨ‡ā¤‚ ā¤¸ā¤žā¤ā¤ž ā¤•ā¤°ā¤¨ā¤ž ā¤Ŧ⤂ā¤Ļ ⤕⤰āĨ‡ā¤‚?", + "stop_photo_sharing_description": "{partner} ⤅ā¤Ŧ ⤆ā¤Ē⤕āĨ€ ā¤Ģā¤ŧāĨ‹ā¤ŸāĨ‹ ā¤ā¤•āĨā¤¸āĨ‡ā¤¸ ā¤¨ā¤šāĨ€ā¤‚ ⤕⤰ ā¤Ēā¤žā¤ā¤—ā¤žāĨ¤", "stop_sharing_photos_with_user": "⤇⤏ ⤉ā¤Ē⤝āĨ‹ā¤—⤕⤰āĨā¤¤ā¤ž ⤕āĨ‡ ā¤¸ā¤žā¤Ĩ ⤅ā¤Ē⤍āĨ€ ⤤⤏āĨā¤ĩāĨ€ā¤°āĨ‡ā¤‚ ā¤¸ā¤žā¤ā¤ž ā¤•ā¤°ā¤¨ā¤ž ā¤Ŧ⤂ā¤Ļ ⤕⤰āĨ‡ā¤‚", "storage": "⤏āĨā¤ŸāĨ‹ā¤°āĨ‡ā¤œ ⤕āĨ€ ā¤œā¤—ā¤š", "storage_label": "ā¤­ā¤‚ā¤Ąā¤žā¤°ā¤Ŗ ⤞āĨ‡ā¤Ŧ⤞", + "storage_quota": "ā¤­ā¤‚ā¤Ąā¤žā¤°ā¤Ŗ ⤕āĨ‹ā¤Ÿā¤ž", + "storage_usage": "{used} ā¤ŽāĨ‡ā¤‚ ⤏āĨ‡ {available} ⤇⤏āĨā¤¤āĨ‡ā¤Žā¤žā¤˛ ⤕ā¤ŋā¤¯ā¤ž ā¤šāĨā¤†", "submit": "ā¤œā¤Žā¤ž ā¤•ā¤°ā¤¨ā¤ž", + "success": "⤏ā¤Ģā¤˛ā¤¤ā¤ž", "suggestions": "⤏āĨā¤ā¤žā¤ĩ", "sunrise_on_the_beach": "ā¤¸ā¤ŽāĨā¤ĻāĨā¤° ⤤⤟ ā¤Ē⤰ ⤏āĨ‚⤰āĨā¤¯āĨ‹ā¤Ļ⤝", + "support": "ā¤¸ā¤šā¤žā¤¯ā¤¤ā¤ž", + "support_and_feedback": "ā¤¸ā¤Žā¤°āĨā¤Ĩ⤍ ⤔⤰ ā¤ĒāĨā¤°ā¤¤ā¤ŋ⤕āĨā¤°ā¤ŋā¤¯ā¤ž", + "support_third_party_description": "⤆ā¤Ēā¤•ā¤ž Immich ⤇⤂⤏āĨā¤ŸāĨ‰ā¤˛āĨ‡ā¤ļ⤍ ⤕ā¤ŋ⤏āĨ€ ā¤Ĩ⤰āĨā¤Ą-ā¤Ēā¤žā¤°āĨā¤ŸāĨ€ ⤍āĨ‡ ā¤ĒāĨˆā¤•āĨ‡ā¤œ ⤕ā¤ŋā¤¯ā¤ž ā¤Ĩā¤žāĨ¤ ⤆ā¤Ē⤕āĨ‹ ⤜āĨ‹ ā¤Ļā¤ŋ⤕āĨā¤•⤤āĨ‡ā¤‚ ⤆ ā¤°ā¤šāĨ€ ā¤šāĨˆā¤‚, ā¤ĩāĨ‡ ⤉⤏ ā¤ĒāĨˆā¤•āĨ‡ā¤œ ⤕āĨ€ ā¤ĩā¤œā¤š ⤏āĨ‡ ā¤šāĨ‹ ⤏⤕⤤āĨ€ ā¤šāĨˆā¤‚, ⤇⤏⤞ā¤ŋā¤ ⤕āĨƒā¤Ēā¤¯ā¤ž ⤍āĨ€ā¤šāĨ‡ ā¤Ļā¤ŋā¤ ā¤—ā¤ ⤞ā¤ŋ⤂⤕ ā¤•ā¤ž ⤇⤏āĨā¤¤āĨ‡ā¤Žā¤žā¤˛ ⤕⤰⤕āĨ‡ ⤏ā¤Ŧ⤏āĨ‡ ā¤Ēā¤šā¤˛āĨ‡ ⤉⤍⤕āĨ‡ ā¤¸ā¤žā¤Ĩ ⤅ā¤Ē⤍āĨ€ ā¤Ļā¤ŋ⤕āĨā¤•⤤āĨ‡ā¤‚ ā¤Ŧā¤¤ā¤žā¤ā¤‚āĨ¤", "swap_merge_direction": "ā¤Žā¤°āĨā¤œ ā¤Ļā¤ŋā¤ļā¤ž ⤏āĨā¤ĩāĨˆā¤Ē ⤕⤰āĨ‡ā¤‚", "sync": "ā¤¸ā¤žā¤Ĩ-ā¤¸ā¤žā¤Ĩ ā¤•ā¤°ā¤¨ā¤ž", "sync_albums": "ā¤ā¤˛āĨā¤Ŧā¤ŽāĨā¤¸ ⤏ā¤ŋ⤂⤕ ⤕⤰āĨ‡ā¤‚", "sync_albums_manual_subtitle": "⤚āĨā¤¨āĨ‡ ā¤šāĨā¤ ā¤ŦāĨˆā¤•⤅ā¤Ē ā¤ā¤˛āĨā¤Ŧā¤ŽāĨā¤¸ ā¤ŽāĨ‡ā¤‚ ⤏⤭āĨ€ ⤅ā¤Ē⤞āĨ‹ā¤Ą ⤕āĨ€ ā¤—ā¤ˆ ā¤ĩāĨ€ā¤Ąā¤ŋ⤝āĨ‹ ⤔⤰ ā¤Ģā¤ŧāĨ‹ā¤ŸāĨ‹ ⤏ā¤ŋ⤂⤕ ⤕⤰āĨ‡ā¤‚", + "sync_local": "⤏āĨā¤Ĩā¤žā¤¨āĨ€ā¤¯ ⤏ā¤ŋ⤂⤕ ⤕⤰āĨ‡ā¤‚", + "sync_remote": "⤏ā¤ŋ⤂⤕ ⤰ā¤ŋā¤ŽāĨ‹ā¤Ÿ", + "sync_status": "⤏ā¤ŋ⤂⤕ ⤏āĨā¤Ĩā¤ŋ⤤ā¤ŋ", + "sync_status_subtitle": "⤏ā¤ŋ⤂⤕ ⤏ā¤ŋ⤏āĨā¤Ÿā¤Ž ā¤ĻāĨ‡ā¤–āĨ‡ā¤‚ ⤔⤰ ā¤ŽāĨˆā¤¨āĨ‡ā¤œ ⤕⤰āĨ‡ā¤‚", "sync_upload_album_setting_subtitle": "⤅ā¤Ē⤍āĨ€ ā¤Ģā¤ŧāĨ‹ā¤ŸāĨ‹ ⤔⤰ ā¤ĩāĨ€ā¤Ąā¤ŋ⤝āĨ‹ ā¤Ŧā¤¨ā¤žā¤ā¤ ⤔⤰ ⤉⤍āĨā¤šāĨ‡ā¤‚ ā¤‡ā¤Žā¤ŋ⤚ ā¤Ē⤰ ⤚āĨā¤¨āĨ‡ ā¤šāĨā¤ ā¤ā¤˛āĨā¤Ŧā¤ŽāĨā¤¸ ā¤ŽāĨ‡ā¤‚ ⤅ā¤Ē⤞āĨ‹ā¤Ą ⤕⤰āĨ‡ā¤‚", + "tag": "⤟āĨˆā¤—", + "tag_assets": "⤟āĨˆā¤— ⤏⤂ā¤Ē⤤āĨā¤¤ā¤ŋā¤¯ā¤žā¤", + "tag_created": "ā¤Ŧā¤¨ā¤žā¤¯ā¤ž ā¤—ā¤¯ā¤ž ⤟āĨˆā¤—: {tag}", + "tag_feature_description": "⤞āĨ‰ā¤œā¤ŋ⤕⤞ ⤟āĨˆā¤— ⤟āĨ‰ā¤Ēā¤ŋ⤕ ⤕āĨ‡ ā¤šā¤ŋā¤¸ā¤žā¤Ŧ ⤏āĨ‡ ⤗āĨā¤°āĨā¤Ē ⤕ā¤ŋā¤ ā¤—ā¤ ā¤Ģā¤ŧāĨ‹ā¤ŸāĨ‹ ⤔⤰ ā¤ĩāĨ€ā¤Ąā¤ŋ⤝āĨ‹ ā¤ŦāĨā¤°ā¤žā¤‰ā¤œā¤ŧ ā¤•ā¤°ā¤¨ā¤ž", + "tag_not_found_question": "⤟āĨˆā¤— ā¤¨ā¤šāĨ€ā¤‚ ā¤Žā¤ŋ⤞ ā¤°ā¤šā¤ž ā¤šāĨˆ? ā¤¨ā¤¯ā¤ž ⤟āĨˆā¤— ā¤Ŧā¤¨ā¤žā¤ā¤‚.", + "tag_people": "⤞āĨ‹ā¤—āĨ‹ā¤‚ ⤕āĨ‹ ⤟āĨˆā¤— ⤕⤰āĨ‡ā¤‚", + "tag_updated": "⤅ā¤Ēā¤ĄāĨ‡ā¤Ÿ ⤕ā¤ŋā¤¯ā¤ž ā¤—ā¤¯ā¤ž ⤟āĨˆā¤—: {tag}", + "tagged_assets": "⤟āĨˆā¤— ⤕ā¤ŋā¤¯ā¤ž ā¤—ā¤¯ā¤ž {count, plural, one {# asset} other {# assets}}", + "tags": "⤟āĨˆā¤—āĨā¤¸", + "tap_to_run_job": "⤜āĨ‰ā¤Ŧ ā¤šā¤˛ā¤žā¤¨āĨ‡ ⤕āĨ‡ ⤞ā¤ŋā¤ ⤟āĨˆā¤Ē ⤕⤰āĨ‡ā¤‚", "template": "ā¤–ā¤žā¤•ā¤ž", "theme": "ā¤ĩā¤ŋ⤎⤝", "theme_selection": "ā¤ĨāĨ€ā¤Ž ⤚⤝⤍", "theme_selection_description": "⤆ā¤Ē⤕āĨ‡ ā¤ŦāĨā¤°ā¤žā¤‰ā¤œā¤ŧ⤰ ⤕āĨ€ ⤏ā¤ŋ⤏āĨā¤Ÿā¤Ž ā¤ĒāĨā¤°ā¤žā¤Ĩā¤Žā¤ŋā¤•ā¤¤ā¤ž ⤕āĨ‡ ā¤†ā¤§ā¤žā¤° ā¤Ē⤰ ā¤ĨāĨ€ā¤Ž ⤕āĨ‹ ⤏āĨā¤ĩā¤šā¤žā¤˛ā¤ŋ⤤ ⤰āĨ‚ā¤Ē ⤏āĨ‡ ā¤ĒāĨā¤°ā¤•ā¤žā¤ļ ā¤¯ā¤ž ⤅⤂⤧āĨ‡ā¤°āĨ‡ ā¤Ē⤰ ⤏āĨ‡ā¤Ÿ ⤕⤰āĨ‡ā¤‚", + "theme_setting_asset_list_storage_indicator_title": "ā¤ā¤¸āĨ‡ā¤Ÿ ā¤Ÿā¤žā¤‡ā¤˛āĨā¤¸ ā¤Ē⤰ ⤏āĨā¤ŸāĨ‹ā¤°āĨ‡ā¤œ ā¤‡ā¤‚ā¤Ąā¤ŋ⤕āĨ‡ā¤Ÿā¤° ā¤Ļā¤ŋā¤–ā¤žā¤ā¤‚", + "theme_setting_asset_list_tiles_per_row_title": "ā¤ĒāĨā¤°ā¤¤ā¤ŋ ā¤Ē⤂⤕āĨā¤¤ā¤ŋ ā¤ā¤¸āĨ‡ā¤Ÿ ⤕āĨ€ ⤏⤂⤖āĨā¤¯ā¤ž ({count})", "theme_setting_colorful_interface_subtitle": "ā¤ĒāĨā¤°ā¤žā¤Ĩā¤Žā¤ŋ⤕ ⤰⤂⤗ ⤕āĨ‹ ā¤ĒāĨƒā¤ˇāĨā¤ ā¤­āĨ‚ā¤Žā¤ŋ ā¤¸ā¤¤ā¤šāĨ‹ā¤‚ ā¤Ē⤰ ā¤˛ā¤žā¤—āĨ‚ ⤕⤰āĨ‡ā¤‚", "theme_setting_colorful_interface_title": "⤰⤂⤗āĨ€ā¤¨ ā¤‡ā¤‚ā¤Ÿā¤°ā¤Ģā¤ŧāĨ‡ā¤¸", + "theme_setting_image_viewer_quality_subtitle": "ā¤Ąā¤ŋ⤟āĨ‡ā¤˛ ā¤‡ā¤ŽāĨ‡ā¤œ ā¤ĩāĨā¤¯āĨ‚⤅⤰ ⤕āĨ€ ⤕āĨā¤ĩā¤žā¤˛ā¤ŋ⤟āĨ€ ā¤ā¤Ąā¤œā¤¸āĨā¤Ÿ ⤕⤰āĨ‡ā¤‚", + "theme_setting_image_viewer_quality_title": "⤛ā¤ĩā¤ŋ ā¤Ļ⤰āĨā¤ļ⤕ ⤗āĨā¤Ŗā¤ĩ⤤āĨā¤¤ā¤ž", "theme_setting_primary_color_subtitle": "ā¤ĒāĨā¤°ā¤žā¤Ĩā¤Žā¤ŋ⤕ ⤕āĨā¤°ā¤ŋā¤¯ā¤žā¤“ā¤‚ ⤔⤰ ā¤‰ā¤šāĨā¤šā¤žā¤°ā¤ŖāĨ‹ā¤‚ ⤕āĨ‡ ⤞ā¤ŋā¤ ā¤ā¤• ⤰⤂⤗ ⤚āĨā¤¨āĨ‡ā¤‚", "theme_setting_primary_color_title": "ā¤ĒāĨā¤°ā¤žā¤Ĩā¤Žā¤ŋ⤕ ⤰⤂⤗", "theme_setting_system_primary_color_title": "⤏ā¤ŋ⤏āĨā¤Ÿā¤Ž ⤰⤂⤗ ā¤•ā¤ž ⤉ā¤Ē⤝āĨ‹ā¤— ⤕⤰āĨ‡ā¤‚", + "theme_setting_system_theme_switch": "ā¤‘ā¤ŸāĨ‹ā¤ŽāĨˆā¤Ÿā¤ŋ⤕ (⤏ā¤ŋ⤏āĨā¤Ÿā¤Ž ⤏āĨ‡ā¤Ÿā¤ŋ⤂⤗ ā¤Ģā¤ŧāĨ‰ā¤˛āĨ‹ ⤕⤰āĨ‡ā¤‚)", + "theme_setting_theme_subtitle": "⤐ā¤Ē ⤕āĨ€ ā¤ĨāĨ€ā¤Ž ⤏āĨ‡ā¤Ÿā¤ŋ⤂⤗ ⤚āĨā¤¨āĨ‡ā¤‚", + "theme_setting_three_stage_loading_subtitle": "ā¤ĨāĨā¤°āĨ€-⤏āĨā¤ŸāĨ‡ā¤œ ⤞āĨ‹ā¤Ąā¤ŋ⤂⤗ ⤏āĨ‡ ⤞āĨ‹ā¤Ąā¤ŋ⤂⤗ ā¤Ē⤰ā¤ĢāĨ‰ā¤°āĨā¤ŽāĨ‡ā¤‚⤏ ā¤Ŧā¤ĸā¤ŧ ⤏⤕⤤āĨ€ ā¤šāĨˆ ⤞āĨ‡ā¤•ā¤ŋ⤍ ⤇⤏⤏āĨ‡ ⤍āĨ‡ā¤Ÿā¤ĩ⤰āĨā¤• ⤞āĨ‹ā¤Ą ā¤•ā¤žā¤ĢāĨ€ ā¤Ŧā¤ĸā¤ŧ ā¤œā¤žā¤¤ā¤ž ā¤šāĨˆ", + "theme_setting_three_stage_loading_title": "⤤āĨ€ā¤¨-⤚⤰⤪ ⤞āĨ‹ā¤Ąā¤ŋ⤂⤗ ⤏⤕āĨā¤ˇā¤Ž ⤕⤰āĨ‡ā¤‚", "they_will_be_merged_together": "⤇⤍āĨā¤šāĨ‡ā¤‚ ā¤ā¤• ā¤¸ā¤žā¤Ĩ ā¤Žā¤ŋā¤˛ā¤ž ā¤Ļā¤ŋā¤¯ā¤ž ā¤œā¤žā¤ā¤—ā¤ž", + "third_party_resources": "⤤āĨƒā¤¤āĨ€ā¤¯-ā¤Ē⤕āĨā¤ˇ ā¤¸ā¤‚ā¤¸ā¤žā¤§ā¤¨", + "time": "ā¤¸ā¤Žā¤¯", "time_based_memories": "ā¤¸ā¤Žā¤¯ ā¤†ā¤§ā¤žā¤°ā¤ŋ⤤ ā¤¯ā¤žā¤ĻāĨ‡ā¤‚", + "time_based_memories_duration": "ā¤šā¤° ā¤‡ā¤ŽāĨ‡ā¤œ ā¤Ļā¤ŋā¤–ā¤žā¤¨āĨ‡ ā¤ŽāĨ‡ā¤‚ ⤞⤗⤍āĨ‡ ā¤ĩā¤žā¤˛ā¤ž ⤏āĨ‡ā¤•ā¤‚ā¤ĄāĨ¤", + "timeline": "ā¤¸ā¤Žā¤¯ā¤°āĨ‡ā¤–ā¤ž", "timezone": "ā¤¸ā¤Žā¤¯ ⤕āĨā¤ˇāĨ‡ā¤¤āĨā¤°", "to_archive": "ā¤ĒāĨā¤°ā¤žā¤˛āĨ‡ā¤–", "to_change_password": "ā¤Ēā¤žā¤¸ā¤ĩ⤰āĨā¤Ą ā¤Ŧā¤Ļ⤞āĨ‡ā¤‚", "to_favorite": "ā¤Ē⤏⤂ā¤ĻāĨ€ā¤Ļā¤ž", "to_login": "⤞āĨ‰ā¤— ⤇⤍ ⤕⤰āĨ‡ā¤‚", + "to_multi_select": "ā¤Ŧā¤šāĨ-⤚⤝⤍ ⤕⤰⤍āĨ‡ ⤕āĨ‡ ⤞ā¤ŋā¤", + "to_parent": "ā¤Žā¤žā¤¤ā¤ž-ā¤Ēā¤ŋā¤¤ā¤ž ⤕āĨ‡ ā¤Ēā¤žā¤¸ ā¤œā¤žā¤ā¤", + "to_select": "⤚⤝⤍ ⤕⤰⤍āĨ‡ ⤕āĨ‡ ⤞ā¤ŋā¤", "to_trash": "ā¤•ā¤šā¤°ā¤ž", "toggle_settings": "⤏āĨ‡ā¤Ÿā¤ŋ⤂⤗āĨā¤¸ ⤟āĨ‰ā¤—⤞ ⤕⤰āĨ‡ā¤‚", + "total": "⤕āĨā¤˛", "total_usage": "⤕āĨā¤˛ ⤉ā¤Ē⤝āĨ‹ā¤—", "trash": "ā¤•ā¤šā¤°ā¤ž", + "trash_action_prompt": "{count} ⤕āĨ‹ ⤟āĨā¤°āĨˆā¤ļ ā¤ŽāĨ‡ā¤‚ ⤞āĨ‡ ā¤œā¤žā¤¯ā¤ž ā¤—ā¤¯ā¤ž", "trash_all": "⤏ā¤Ŧ ā¤•ā¤šā¤°ā¤ž", + "trash_count": "ā¤•ā¤šā¤°ā¤ž {count, number}", "trash_delete_asset": "⤏⤂ā¤Ē⤤āĨā¤¤ā¤ŋ ⤕āĨ‹ ⤟āĨā¤°āĨˆā¤ļ/ā¤Ąā¤ŋ⤞āĨ€ā¤Ÿ ⤕⤰āĨ‡ā¤‚", "trash_emptied": "ā¤•ā¤šā¤°ā¤ž ā¤–ā¤žā¤˛āĨ€ ⤕⤰ ā¤Ļā¤ŋā¤¯ā¤ž", "trash_no_results_message": "⤟āĨā¤°āĨˆā¤ļ ⤕āĨ€ ā¤—ā¤ˆ ā¤Ģā¤ŧāĨ‹ā¤ŸāĨ‹ ⤔⤰ ā¤ĩāĨ€ā¤Ąā¤ŋ⤝āĨ‹ ā¤¯ā¤šā¤žā¤‚ ā¤Ļā¤ŋā¤–ā¤žā¤ˆ ā¤ĻāĨ‡ā¤‚⤗āĨ‡āĨ¤", + "trash_page_delete_all": "⤏⤭āĨ€ ā¤šā¤Ÿā¤ž ā¤ĻāĨ‹", "trash_page_empty_trash_dialog_content": "⤕āĨā¤¯ā¤ž ⤆ā¤Ē ⤅ā¤Ē⤍āĨ€ ⤕āĨ‚ā¤Ąā¤ŧāĨ‡ā¤Ļā¤žā¤¨ ⤏⤂ā¤Ē⤤āĨā¤¤ā¤ŋ⤝āĨ‹ā¤‚ ⤕āĨ‹ ā¤–ā¤žā¤˛āĨ€ ā¤•ā¤°ā¤¨ā¤ž ā¤šā¤žā¤šā¤¤āĨ‡ ā¤šāĨˆā¤‚? ⤇⤍ ā¤†ā¤‡ā¤Ÿā¤ŽāĨ‹ā¤‚ ⤕āĨ‹ Immich ⤏āĨ‡ ⤏āĨā¤Ĩā¤žā¤¯āĨ€ ⤰āĨ‚ā¤Ē ⤏āĨ‡ ā¤šā¤Ÿā¤ž ā¤Ļā¤ŋā¤¯ā¤ž ā¤œā¤žā¤ā¤—ā¤ž", + "trash_page_info": "⤟āĨā¤°āĨˆā¤ļ ⤕ā¤ŋā¤ ā¤—ā¤ ā¤†ā¤‡ā¤Ÿā¤Ž {days} ā¤Ļā¤ŋ⤍āĨ‹ā¤‚ ⤕āĨ‡ ā¤Ŧā¤žā¤Ļ ā¤šā¤ŽāĨ‡ā¤ļā¤ž ⤕āĨ‡ ⤞ā¤ŋā¤ ā¤Ąā¤ŋ⤞āĨ€ā¤Ÿ ⤕⤰ ā¤Ļā¤ŋā¤ ā¤œā¤žā¤ā¤‚ā¤—āĨ‡", + "trash_page_no_assets": "⤕āĨ‹ā¤ˆ ⤟āĨā¤°āĨˆā¤ļ ⤕āĨ€ ā¤—ā¤ˆ ⤏⤂ā¤Ē⤤āĨā¤¤ā¤ŋ ā¤¨ā¤šāĨ€ā¤‚", "trash_page_restore_all": "⤏⤭āĨ€ ⤕āĨ‹ ā¤ĒāĨā¤¨ā¤ƒ ⤏āĨā¤Ĩā¤žā¤¨ā¤žā¤‚ā¤¤ā¤°ā¤ŋ⤤ ⤕⤰āĨ‡ā¤‚", "trash_page_select_assets_btn": "⤏⤂ā¤Ē⤤āĨā¤¤ā¤ŋ⤝āĨ‹ā¤‚ ⤕āĨ‹ ⤚⤝⤍ ⤕⤰āĨ‡ā¤‚", + "trash_page_title": "ā¤•ā¤šā¤°ā¤ž ({count})", + "trashed_items_will_be_permanently_deleted_after": "⤟āĨā¤°āĨˆā¤ļ ⤕ā¤ŋā¤ ā¤—ā¤ ā¤†ā¤‡ā¤Ÿā¤Ž {days, plural, one {# day} other {# days}} ⤕āĨ‡ ā¤Ŧā¤žā¤Ļ ⤏āĨā¤Ĩā¤žā¤¯āĨ€ ⤰āĨ‚ā¤Ē ⤏āĨ‡ ā¤šā¤Ÿā¤ž ā¤Ļā¤ŋā¤ ā¤œā¤žā¤ā¤‚ā¤—āĨ‡āĨ¤", + "troubleshoot": "ā¤¸ā¤Žā¤¸āĨā¤¯ā¤žā¤“⤂ ā¤•ā¤ž ⤍ā¤ŋā¤ĩā¤žā¤°ā¤Ŗ", "type": "ā¤ĒāĨā¤°ā¤•ā¤žā¤°", + "unable_to_change_pin_code": "ā¤Ēā¤ŋ⤍ ⤕āĨ‹ā¤Ą ā¤Ŧā¤Ļ⤞⤍āĨ‡ ā¤ŽāĨ‡ā¤‚ ā¤…ā¤¸ā¤Žā¤°āĨā¤Ĩ", + "unable_to_check_version": "⤐ā¤Ē ā¤¯ā¤ž ⤏⤰āĨā¤ĩ⤰ ā¤ĩ⤰āĨā¤ļ⤍ ⤚āĨ‡ā¤• ā¤¨ā¤šāĨ€ā¤‚ ⤕⤰ ā¤Ēā¤ž ā¤°ā¤šāĨ‡ ā¤šāĨˆā¤‚", + "unable_to_setup_pin_code": "ā¤Ēā¤ŋ⤍ ⤕āĨ‹ā¤Ą ⤏āĨ‡ā¤Ÿ ⤕⤰⤍āĨ‡ ā¤ŽāĨ‡ā¤‚ ā¤…ā¤¸ā¤Žā¤°āĨā¤Ĩ", "unarchive": "⤏⤂⤗āĨā¤°ā¤š ⤏āĨ‡ ⤍ā¤ŋā¤•ā¤žā¤˛āĨ‡ā¤‚", + "unarchive_action_prompt": "{count} ⤆⤰āĨā¤•ā¤žā¤‡ā¤ĩ ⤏āĨ‡ ā¤šā¤Ÿā¤ž ā¤Ļā¤ŋā¤¯ā¤ž ā¤—ā¤¯ā¤ž", + "unarchived_count": "{count, plural, other {Unarchived #}}", + "undo": "ā¤ĒāĨ‚⤰āĨā¤ĩā¤ĩ⤤", "unfavorite": "ā¤¨ā¤žā¤Ē⤏⤂ā¤Ļ ⤕⤰āĨ‡ā¤‚", + "unfavorite_action_prompt": "{count} ⤕āĨ‹ ā¤Ē⤏⤂ā¤ĻāĨ€ā¤Ļā¤ž ⤏āĨ‡ ā¤šā¤Ÿā¤ž ā¤Ļā¤ŋā¤¯ā¤ž ā¤—ā¤¯ā¤ž", "unhide_person": "ā¤ĩāĨā¤¯ā¤•āĨā¤¤ā¤ŋ ⤕āĨ‹ ā¤‰ā¤œā¤žā¤—ā¤° ⤕⤰āĨ‡ā¤‚", "unknown": "ā¤…ā¤œāĨā¤žā¤žā¤¤", + "unknown_country": "ā¤…ā¤œāĨā¤žā¤žā¤¤ ā¤ĻāĨ‡ā¤ļ", "unknown_year": "ā¤…ā¤œāĨā¤žā¤žā¤¤ ā¤ĩ⤰āĨā¤ˇ", "unlimited": "⤅⤏āĨ€ā¤Žā¤ŋ⤤", + "unlink_motion_video": "ā¤ŽāĨ‹ā¤ļ⤍ ā¤ĩāĨ€ā¤Ąā¤ŋ⤝āĨ‹ ⤕āĨ‹ ⤅⤍⤞ā¤ŋ⤂⤕ ⤕⤰āĨ‡ā¤‚", "unlink_oauth": "OAuth ⤕āĨ‹ ⤅⤍⤞ā¤ŋ⤂⤕ ⤕⤰āĨ‡ā¤‚", "unlinked_oauth_account": "OAuth ā¤–ā¤žā¤¤ā¤ž ⤅⤍⤞ā¤ŋ⤂⤕ ⤕ā¤ŋā¤¯ā¤ž ā¤—ā¤¯ā¤ž", + "unmute_memories": "ā¤¯ā¤žā¤ĻāĨ‡ā¤‚ ā¤…ā¤¨ā¤ŽāĨā¤¯āĨ‚ā¤Ÿ ⤕⤰āĨ‡ā¤‚", "unnamed_album": "ā¤…ā¤¨ā¤žā¤Ž ā¤ā¤˛āĨā¤Ŧā¤Ž", + "unnamed_album_delete_confirmation": "⤕āĨā¤¯ā¤ž ⤆ā¤Ē ā¤ĩā¤žā¤•ā¤ˆ ⤇⤏ ā¤ā¤˛āĨā¤Ŧā¤Ž ⤕āĨ‹ ā¤Ąā¤ŋ⤞āĨ€ā¤Ÿ ā¤•ā¤°ā¤¨ā¤ž ā¤šā¤žā¤šā¤¤āĨ‡ ā¤šāĨˆā¤‚?", "unnamed_share": "ā¤…ā¤¨ā¤žā¤Ž ā¤¸ā¤žā¤ā¤ž ⤕⤰āĨ‡ā¤‚", "unsaved_change": "ā¤¸ā¤šāĨ‡ā¤œā¤ž ⤍ ā¤—ā¤¯ā¤ž ā¤Ē⤰ā¤ŋā¤ĩ⤰āĨā¤¤ā¤¨", "unselect_all": "⤏⤭āĨ€ ⤕āĨ‹ ā¤…ā¤šā¤¯ā¤¨ā¤ŋ⤤ ⤕⤰āĨ‡ā¤‚", "unselect_all_duplicates": "⤏⤭āĨ€ ā¤ĄāĨā¤ĒāĨā¤˛ā¤ŋ⤕āĨ‡ā¤Ÿ ⤕āĨ‹ ā¤…ā¤šā¤¯ā¤¨ā¤ŋ⤤ ⤕⤰āĨ‡ā¤‚", + "unselect_all_in": "{group} ā¤ŽāĨ‡ā¤‚ ⤏⤭āĨ€ ā¤•ā¤ž ⤚⤝⤍ ⤰ā¤ĻāĨā¤Ļ ⤕⤰āĨ‡ā¤‚", "unstack": "⤏āĨā¤ŸāĨˆā¤• ⤰ā¤ĻāĨā¤Ļ ⤕⤰āĨ‡ā¤‚", + "unstack_action_prompt": "{count} ⤅⤍⤏āĨā¤ŸāĨˆā¤•āĨā¤Ą", + "unstacked_assets_count": "⤅⤍-⤏āĨā¤ŸāĨˆā¤•āĨā¤Ą {count, plural, one {# asset} other {# assets}}", + "untagged": "⤟āĨˆā¤— ā¤¨ā¤šāĨ€ā¤‚ ⤕ā¤ŋā¤ ā¤—ā¤", "up_next": "⤅ā¤Ŧ ā¤…ā¤—ā¤˛ā¤ž", + "update_location_action_prompt": "{count} ⤚āĨā¤¨āĨ‡ ā¤—ā¤ ā¤ā¤¸āĨ‡ā¤Ÿ ⤕āĨ€ ⤞āĨ‹ā¤•āĨ‡ā¤ļ⤍ ⤅ā¤Ēā¤ĄāĨ‡ā¤Ÿ ⤕⤰āĨ‡ā¤‚:", + "updated_at": "⤅ā¤Ēā¤ĄāĨ‡ā¤Ÿ ⤕ā¤ŋā¤¯ā¤ž ā¤—ā¤¯ā¤ž", "updated_password": "⤅ā¤ĻāĨā¤¯ā¤¤ā¤¨ ā¤Ēā¤žā¤¸ā¤ĩ⤰āĨā¤Ą", "upload": "ā¤Ąā¤žā¤˛ā¤¨ā¤ž", + "upload_action_prompt": "⤅ā¤Ē⤞āĨ‹ā¤Ą ⤕āĨ‡ ⤞ā¤ŋā¤ {count} ā¤•ā¤¤ā¤žā¤° ā¤ŽāĨ‡ā¤‚", "upload_concurrency": "ā¤¸ā¤Žā¤ĩ⤰āĨā¤¤āĨ€ ⤅ā¤Ē⤞āĨ‹ā¤Ą ⤕⤰āĨ‡ā¤‚", + "upload_details": "ā¤ĩā¤ŋā¤ĩ⤰⤪ ⤅ā¤Ē⤞āĨ‹ā¤Ą ⤕⤰āĨ‡ā¤‚", + "upload_dialog_info": "⤕āĨā¤¯ā¤ž ⤆ā¤Ē ⤚āĨā¤¨āĨ‡ ā¤šāĨā¤ ā¤ā¤¸āĨ‡ā¤Ÿ ā¤•ā¤ž ⤏⤰āĨā¤ĩ⤰ ā¤Ē⤰ ā¤ŦāĨˆā¤•⤅ā¤Ē ⤞āĨ‡ā¤¨ā¤ž ā¤šā¤žā¤šā¤¤āĨ‡ ā¤šāĨˆā¤‚?", + "upload_dialog_title": "⤏⤂ā¤Ē⤤āĨā¤¤ā¤ŋ ⤅ā¤Ē⤞āĨ‹ā¤Ą ⤕⤰āĨ‡ā¤‚", + "upload_errors": "⤅ā¤Ē⤞āĨ‹ā¤Ą {count, plural, one {# error} other {# errors}} ⤕āĨ‡ ā¤¸ā¤žā¤Ĩ ā¤ĒāĨ‚ā¤°ā¤ž ā¤šāĨā¤†, ā¤¨ā¤ ⤅ā¤Ē⤞āĨ‹ā¤Ą ā¤ā¤¸āĨ‡ā¤Ÿ ā¤ĻāĨ‡ā¤–⤍āĨ‡ ⤕āĨ‡ ⤞ā¤ŋā¤ ā¤ĒāĨ‡ā¤œ ⤕āĨ‹ ⤰ā¤ŋā¤ĢāĨā¤°āĨ‡ā¤ļ ⤕⤰āĨ‡ā¤‚āĨ¤", + "upload_finished": "⤅ā¤Ē⤞āĨ‹ā¤Ą ā¤¸ā¤Žā¤žā¤ĒāĨā¤¤", + "upload_progress": "ā¤ļāĨ‡ā¤ˇ {remaining, number} - ā¤¸ā¤‚ā¤¸ā¤žā¤§ā¤ŋ⤤ {processed, number}/{total, number}", + "upload_skipped_duplicates": "⤛āĨ‹ā¤Ąā¤ŧā¤ž ā¤—ā¤¯ā¤ž {count, plural, one {# duplicate asset} other {# duplicate assets}}", "upload_status_duplicates": "ā¤ĄāĨā¤ĒāĨā¤˛ā¤ŋ⤕āĨ‡ā¤Ÿ", "upload_status_errors": "⤤āĨā¤°āĨā¤Ÿā¤ŋā¤¯ā¤žā¤", "upload_status_uploaded": "⤅ā¤Ē⤞āĨ‹ā¤Ą ⤕ā¤ŋā¤ ā¤—ā¤", "upload_success": "⤅ā¤Ē⤞āĨ‹ā¤Ą ⤏ā¤Ģ⤞ ā¤°ā¤šā¤ž, ⤍⤈ ⤅ā¤Ē⤞āĨ‹ā¤Ą ⤏⤂ā¤Ē⤤āĨā¤¤ā¤ŋā¤¯ā¤žā¤‚ ā¤ĻāĨ‡ā¤–⤍āĨ‡ ⤕āĨ‡ ⤞ā¤ŋā¤ ā¤ĒāĨ‡ā¤œ ⤕āĨ‹ ⤰āĨ€ā¤ĢāĨā¤°āĨ‡ā¤ļ ⤕⤰āĨ‡ā¤‚āĨ¤", + "upload_to_immich": "Immich ā¤Ē⤰ ⤅ā¤Ē⤞āĨ‹ā¤Ą ⤕⤰āĨ‡ā¤‚ ({count})", + "uploading": "⤅ā¤Ē⤞āĨ‹ā¤Ą ā¤šāĨ‹ ā¤°ā¤šā¤ž ā¤šāĨˆ", + "uploading_media": "ā¤ŽāĨ€ā¤Ąā¤ŋā¤¯ā¤ž ⤅ā¤Ē⤞āĨ‹ā¤Ą ā¤•ā¤°ā¤¨ā¤ž", "url": "⤝āĨ‚ā¤†ā¤°ā¤ā¤˛", "usage": "ā¤ĒāĨā¤°ā¤¯āĨ‹ā¤—", + "use_biometric": "ā¤Ŧā¤žā¤¯āĨ‹ā¤ŽāĨ‡ā¤ŸāĨā¤°ā¤ŋ⤕ ā¤•ā¤ž ⤉ā¤Ē⤝āĨ‹ā¤— ⤕⤰āĨ‡ā¤‚", + "use_current_connection": "ā¤ĩ⤰āĨā¤¤ā¤Žā¤žā¤¨ ⤕⤍āĨ‡ā¤•āĨā¤ļ⤍ ā¤•ā¤ž ⤉ā¤Ē⤝āĨ‹ā¤— ⤕⤰āĨ‡ā¤‚", "use_custom_date_range": "⤇⤏⤕āĨ‡ ā¤Ŧā¤œā¤žā¤¯ ⤕⤏āĨā¤Ÿā¤Ž ā¤Ļā¤ŋā¤¨ā¤žā¤‚ā¤• ⤏āĨ€ā¤Žā¤ž ā¤•ā¤ž ⤉ā¤Ē⤝āĨ‹ā¤— ⤕⤰āĨ‡ā¤‚", "user": "⤉ā¤Ē⤝āĨ‹ā¤—⤕⤰āĨā¤¤ā¤ž", + "user_has_been_deleted": "⤇⤏ ⤝āĨ‚ā¤œā¤ŧ⤰ ⤕āĨ‹ ā¤šā¤Ÿā¤ž ā¤Ļā¤ŋā¤¯ā¤ž ā¤—ā¤¯ā¤ž ā¤šāĨˆāĨ¤", "user_id": "⤉ā¤Ē⤝āĨ‹ā¤—⤕⤰āĨā¤¤ā¤ž ā¤Ēā¤šā¤šā¤žā¤¨", + "user_liked": "{user} ⤍āĨ‡ ā¤Ē⤏⤂ā¤Ļ ⤕ā¤ŋā¤¯ā¤ž {type, select, photo {this photo} video {this video} asset {this asset} other {it}}", + "user_pin_code_settings": "ā¤Ēā¤ŋ⤍ ⤕āĨ‹ā¤Ą", + "user_pin_code_settings_description": "⤅ā¤Ēā¤¨ā¤ž ā¤Ēā¤ŋ⤍ ⤕āĨ‹ā¤Ą ā¤ĒāĨā¤°ā¤Ŧ⤂⤧ā¤ŋ⤤ ⤕⤰āĨ‡ā¤‚", + "user_privacy": "⤉ā¤Ē⤝āĨ‹ā¤—⤕⤰āĨā¤¤ā¤ž ⤗āĨ‹ā¤Ē⤍āĨ€ā¤¯ā¤¤ā¤ž", "user_purchase_settings": "⤖⤰āĨ€ā¤Ļā¤¨ā¤ž", "user_purchase_settings_description": "⤅ā¤Ē⤍āĨ€ ⤖⤰āĨ€ā¤Ļā¤žā¤°āĨ€ ā¤ĒāĨā¤°ā¤Ŧ⤂⤧ā¤ŋ⤤ ⤕⤰āĨ‡ā¤‚", + "user_role_set": "{user} ⤕āĨ‹ {role} ⤕āĨ‡ ⤤āĨŒā¤° ā¤Ē⤰ ⤏āĨ‡ā¤Ÿ ⤕⤰āĨ‡ā¤‚", "user_usage_detail": "⤉ā¤Ē⤝āĨ‹ā¤—⤕⤰āĨā¤¤ā¤ž ⤉ā¤Ē⤝āĨ‹ā¤— ā¤ĩā¤ŋā¤ĩ⤰⤪", + "user_usage_stats": "ā¤–ā¤žā¤¤ā¤ž ⤉ā¤Ē⤝āĨ‹ā¤— ⤕āĨ‡ ā¤†ā¤ā¤•ā¤Ąā¤ŧāĨ‡", "user_usage_stats_description": "ā¤–ā¤žā¤¤ā¤ž ⤉ā¤Ē⤝āĨ‹ā¤— ā¤¸ā¤žā¤‚ā¤–āĨā¤¯ā¤ŋ⤕āĨ€ ā¤ĻāĨ‡ā¤–āĨ‡ā¤‚", "username": "⤉ā¤Ē⤝āĨ‹ā¤—⤕⤰āĨā¤¤ā¤ž ā¤¨ā¤žā¤Ž", "users": "⤉ā¤Ē⤝āĨ‹ā¤—⤕⤰āĨā¤¤ā¤žā¤“⤂", + "users_added_to_album_count": "ā¤ā¤˛āĨā¤Ŧā¤Ž ā¤ŽāĨ‡ā¤‚ {count, plural, one {# user} other {# users}} ⤜āĨ‹ā¤Ąā¤ŧāĨ‡ ā¤—ā¤", "utilities": "⤉ā¤Ē⤝āĨ‹ā¤—ā¤ŋā¤¤ā¤žā¤“ā¤‚", "validate": "ā¤Žā¤žā¤¨āĨā¤¯", + "validate_endpoint_error": "⤕āĨā¤°āĨā¤Ēā¤¯ā¤ž ā¤Žā¤žā¤¨āĨā¤¯ ⤝āĨ‚ā¤†ā¤°ā¤ā¤˛ ā¤Ļ⤰āĨā¤œ ⤕⤰āĨ‡ā¤‚", "variables": "⤚⤰", "version": "⤏⤂⤏āĨā¤•⤰⤪", "version_announcement_closing": "⤆ā¤Ēā¤•ā¤ž ā¤Žā¤ŋ⤤āĨā¤°, ā¤ā¤˛āĨ‡ā¤•āĨā¤¸", - "version_announcement_message": "ā¤¨ā¤Žā¤¸āĨā¤•ā¤žā¤° ā¤Žā¤ŋ⤤āĨā¤°, ā¤ā¤ĒāĨā¤˛ā¤ŋ⤕āĨ‡ā¤ļ⤍ ā¤•ā¤ž ā¤ā¤• ā¤¨ā¤¯ā¤ž ⤏⤂⤏āĨā¤•⤰⤪ ā¤šāĨˆ, ⤕āĨƒā¤Ēā¤¯ā¤ž ⤅ā¤Ēā¤¨ā¤ž ā¤¸ā¤Žā¤¯ ⤍ā¤ŋā¤•ā¤žā¤˛ā¤•ā¤° ⤇⤏āĨ‡ ā¤ĻāĨ‡ā¤–āĨ‡ā¤‚ ⤰ā¤ŋ⤞āĨ€ā¤œ ⤍āĨ‹ā¤ŸāĨā¤¸ ⤔⤰ ⤅ā¤Ēā¤¨ā¤ž ⤏āĨā¤¨ā¤ŋā¤ļāĨā¤šā¤ŋ⤤ ⤕⤰āĨ‡ā¤‚ docker-compose.yml, ⤔⤰ .env ⤕ā¤ŋ⤏āĨ€ ⤭āĨ€ ⤗⤞⤤ ⤕āĨ‰ā¤¨āĨā¤Ģā¤ŧā¤ŋ⤗⤰āĨ‡ā¤ļ⤍ ⤕āĨ‹ ⤰āĨ‹ā¤•⤍āĨ‡ ⤕āĨ‡ ⤞ā¤ŋā¤ ⤏āĨ‡ā¤Ÿā¤…ā¤Ē ⤅ā¤ĻāĨā¤¯ā¤¤ā¤ŋ⤤ ā¤šāĨˆ, ā¤–ā¤žā¤¸ā¤•ā¤° ⤝ā¤Ļā¤ŋ ⤆ā¤Ē ā¤ĩāĨ‰ā¤šā¤Ÿā¤žā¤ĩ⤰ ā¤¯ā¤ž ⤕ā¤ŋ⤏āĨ€ ⤭āĨ€ ⤤⤂⤤āĨā¤° ā¤•ā¤ž ⤉ā¤Ē⤝āĨ‹ā¤— ⤕⤰⤤āĨ‡ ā¤šāĨˆā¤‚ ⤜āĨ‹ ⤆ā¤Ē⤕āĨ‡ ā¤ā¤ĒāĨā¤˛ā¤ŋ⤕āĨ‡ā¤ļ⤍ ⤕āĨ‹ ⤏āĨā¤ĩā¤šā¤žā¤˛ā¤ŋ⤤ ⤰āĨ‚ā¤Ē ⤏āĨ‡ ⤅ā¤Ēā¤ĄāĨ‡ā¤Ÿ ⤕⤰⤍āĨ‡ ā¤•ā¤ž ā¤ĒāĨā¤°ā¤Ŧ⤂⤧⤍ ā¤•ā¤°ā¤¤ā¤ž ā¤šāĨˆāĨ¤", + "version_announcement_message": "ā¤¨ā¤Žā¤¸āĨā¤¤āĨ‡! Immich ā¤•ā¤ž ā¤¨ā¤¯ā¤ž ā¤ĩ⤰āĨā¤ļ⤍ ⤉ā¤Ē⤞ā¤ŦāĨā¤§ ā¤šāĨˆāĨ¤ ⤕āĨƒā¤Ēā¤¯ā¤ž ⤰ā¤ŋ⤞āĨ€ā¤œā¤ŧ ⤍āĨ‹ā¤ŸāĨā¤¸ ā¤Ēā¤ĸā¤ŧ⤍āĨ‡ ⤕āĨ‡ ⤞ā¤ŋā¤ ⤕āĨā¤› ā¤¸ā¤Žā¤¯ ⤍ā¤ŋā¤•ā¤žā¤˛āĨ‡ā¤‚ ā¤¤ā¤žā¤•ā¤ŋ ā¤¯ā¤š ā¤Ē⤕āĨā¤•ā¤ž ā¤šāĨ‹ ⤏⤕āĨ‡ ⤕ā¤ŋ ⤆ā¤Ēā¤•ā¤ž ⤏āĨ‡ā¤Ÿā¤…ā¤Ē ⤅ā¤Ē-⤟āĨ‚-ā¤ĄāĨ‡ā¤Ÿ ā¤šāĨˆ ā¤¤ā¤žā¤•ā¤ŋ ⤕āĨ‹ā¤ˆ ⤭āĨ€ ⤗⤞⤤ ⤕āĨ‰ā¤¨āĨā¤Ģā¤ŧā¤ŋ⤗⤰āĨ‡ā¤ļ⤍ ⤍ ā¤šāĨ‹, ā¤–ā¤žā¤¸ā¤•ā¤° ⤅⤗⤰ ⤆ā¤Ē WatchTower ā¤¯ā¤ž ⤕āĨ‹ā¤ˆ ā¤ā¤¸ā¤ž ā¤ŽāĨˆā¤•āĨ‡ā¤¨ā¤ŋ⤜ā¤ŧāĨā¤Ž ⤇⤏āĨā¤¤āĨ‡ā¤Žā¤žā¤˛ ⤕⤰⤤āĨ‡ ā¤šāĨˆā¤‚ ⤜āĨ‹ ⤆ā¤Ē⤕āĨ‡ Immich ⤇⤂⤏āĨā¤ŸāĨ‡ā¤‚⤏ ⤕āĨ‹ ā¤‘ā¤ŸāĨ‹ā¤ŽāĨˆā¤Ÿā¤ŋ⤕⤞āĨ€ ⤅ā¤Ēā¤ĄāĨ‡ā¤Ÿ ā¤•ā¤°ā¤¤ā¤ž ā¤šāĨˆāĨ¤", + "version_history": "⤏⤂⤏āĨā¤•⤰⤪ ⤇⤤ā¤ŋā¤šā¤žā¤¸", + "version_history_item": "{version} ⤕āĨ‹ {date} ā¤Ē⤰ ⤇⤂⤏āĨā¤ŸāĨ‰ā¤˛ ⤕ā¤ŋā¤¯ā¤ž ā¤—ā¤¯ā¤ž", "video": "ā¤ĩāĨ€ā¤Ąā¤ŋ⤝āĨ‹", "video_hover_setting": "ā¤šāĨ‹ā¤ĩ⤰ ā¤Ē⤰ ā¤ĩāĨ€ā¤Ąā¤ŋ⤝āĨ‹ ā¤Ĩ⤂ā¤Ŧ⤍āĨ‡ā¤˛ ā¤šā¤˛ā¤žā¤ā¤‚", "video_hover_setting_description": "⤜ā¤Ŧ ā¤Žā¤žā¤‰ā¤¸ ā¤†ā¤‡ā¤Ÿā¤Ž ā¤Ē⤰ ⤘āĨ‚ā¤Ž ā¤°ā¤šā¤ž ā¤šāĨ‹ ⤤āĨ‹ ā¤ĩāĨ€ā¤Ąā¤ŋ⤝āĨ‹ ā¤Ĩ⤂ā¤Ŧ⤍āĨ‡ā¤˛ ā¤šā¤˛ā¤žā¤ā¤‚āĨ¤", "videos": "ā¤ĩāĨ€ā¤Ąā¤ŋ⤝āĨ‹", + "videos_count": "{count, plural, one {# Video} other {# Videos}}", "view": "ā¤ĻāĨ‡ā¤–ā¤¨ā¤ž", "view_album": "ā¤ā¤˛āĨā¤Ŧā¤Ž ā¤ĻāĨ‡ā¤–āĨ‡ā¤‚", "view_all": "⤏⤭āĨ€ ⤕āĨ‹ ā¤ĻāĨ‡ā¤–āĨ‡ā¤‚", "view_all_users": "⤏⤭āĨ€ ⤉ā¤Ē⤝āĨ‹ā¤—⤕⤰āĨā¤¤ā¤žā¤“⤂ ⤕āĨ‹ ā¤ĻāĨ‡ā¤–āĨ‡ā¤‚", + "view_details": "ā¤ĩā¤ŋā¤ĩ⤰⤪ ā¤ĻāĨ‡ā¤–āĨ‡ā¤‚", "view_in_timeline": "ā¤Ÿā¤žā¤‡ā¤Žā¤˛ā¤žā¤‡ā¤¨ ā¤ŽāĨ‡ā¤‚ ā¤ĻāĨ‡ā¤–āĨ‡ā¤‚", + "view_link": "⤞ā¤ŋ⤂⤕ ā¤ĻāĨ‡ā¤–āĨ‡ā¤‚", "view_links": "⤞ā¤ŋ⤂⤕ ā¤ĻāĨ‡ā¤–āĨ‡ā¤‚", + "view_name": "ā¤ĻāĨ‡ā¤–ā¤¨ā¤ž", "view_next_asset": "⤅⤗⤞āĨ€ ⤏⤂ā¤Ē⤤āĨā¤¤ā¤ŋ ā¤ĻāĨ‡ā¤–āĨ‡ā¤‚", "view_previous_asset": "ā¤Ēā¤ŋ⤛⤞āĨ€ ⤏⤂ā¤Ē⤤āĨā¤¤ā¤ŋ ā¤ĻāĨ‡ā¤–āĨ‡ā¤‚", + "view_qr_code": "QR ⤕āĨ‹ā¤Ą ā¤ĻāĨ‡ā¤–āĨ‡ā¤‚", + "view_similar_photos": "ā¤¸ā¤Žā¤žā¤¨ ā¤Ģā¤ŧāĨ‹ā¤ŸāĨ‹ ā¤ĻāĨ‡ā¤–āĨ‡ā¤‚", "view_stack": "ā¤ĸāĨ‡ā¤° ā¤ĻāĨ‡ā¤–āĨ‡ā¤‚", + "view_user": "⤉ā¤Ē⤝āĨ‹ā¤—⤕⤰āĨā¤¤ā¤ž ā¤ĻāĨ‡ā¤–āĨ‡ā¤‚", "viewer_remove_from_stack": "⤏āĨā¤ŸāĨˆā¤• ⤏āĨ‡ ā¤šā¤Ÿā¤žā¤ā¤‚", "viewer_stack_use_as_main_asset": "ā¤ŽāĨā¤–āĨā¤¯ ⤏⤂ā¤Ē⤤āĨā¤¤ā¤ŋ ⤕āĨ‡ ⤰āĨ‚ā¤Ē ā¤ŽāĨ‡ā¤‚ ⤉ā¤Ē⤝āĨ‹ā¤— ⤕⤰āĨ‡ā¤‚", "viewer_unstack": "⤏āĨā¤ŸāĨˆā¤• ⤰ā¤ĻāĨā¤Ļ ⤕⤰āĨ‡ā¤‚", + "visibility_changed": "{count, plural, one {# person} other {# people}} ⤕āĨ‡ ⤞ā¤ŋā¤ ā¤ĩā¤ŋ⤜ā¤ŧā¤ŋā¤Ŧā¤ŋ⤞ā¤ŋ⤟āĨ€ ā¤Ŧā¤Ļ⤞āĨ€ ā¤—ā¤ˆ", "waiting": "ā¤‡ā¤‚ā¤¤ā¤œā¤ŧā¤žā¤° ā¤ŽāĨ‡ā¤‚", "warning": "⤚āĨ‡ā¤¤ā¤žā¤ĩ⤍āĨ€", "week": "⤏ā¤ĒāĨā¤¤ā¤žā¤š", "welcome": "⤏āĨā¤ĩā¤žā¤—ā¤¤", - "welcome_to_immich": "ā¤‡ā¤Žā¤ŋ⤚ ā¤ŽāĨ‡ā¤‚ ⤆ā¤Ēā¤•ā¤ž ⤏āĨā¤ĩā¤žā¤—ā¤¤ ā¤šāĨˆ", - "wifi_name": "WiFi Name", + "welcome_to_immich": "Immich ā¤ŽāĨ‡ā¤‚ ⤆ā¤Ēā¤•ā¤ž ⤏āĨā¤ĩā¤žā¤—ā¤¤ ā¤šāĨˆ", + "wifi_name": "ā¤ĩā¤žā¤ˆ-ā¤Ģā¤žā¤ˆ ā¤•ā¤ž ā¤¨ā¤žā¤Ž", + "workflow": "ā¤•ā¤žā¤°āĨā¤¯ā¤ĒāĨā¤°ā¤ĩā¤žā¤š", + "wrong_pin_code": "⤗⤞⤤ ā¤Ēā¤ŋ⤍ ⤕āĨ‹ā¤Ą", "year": "ā¤ĩ⤰āĨā¤ˇ", + "years_ago": "{years, plural, one {# year} other {# years}} ā¤Ēā¤šā¤˛āĨ‡", "yes": "ā¤šā¤žā¤", "you_dont_have_any_shared_links": "⤆ā¤Ē⤕āĨ‡ ā¤Ēā¤žā¤¸ ⤕āĨ‹ā¤ˆ ā¤¸ā¤žā¤ā¤ž ⤞ā¤ŋ⤂⤕ ā¤¨ā¤šāĨ€ā¤‚ ā¤šāĨˆ", "your_wifi_name": "⤆ā¤Ē⤕āĨ‡ ā¤ĩā¤žā¤ˆā¤Ģā¤žā¤ˆ ā¤•ā¤ž ā¤¨ā¤žā¤Ž", diff --git a/i18n/hr.json b/i18n/hr.json index a900ebac2a..3dfed04233 100644 --- a/i18n/hr.json +++ b/i18n/hr.json @@ -1,5 +1,5 @@ { - "about": "O", + "about": "Pojedinosti", "account": "Račun", "account_settings": "Postavke računa", "acknowledge": "Potvrdi", @@ -17,7 +17,6 @@ "add_birthday": "Dodaj rođendan", "add_endpoint": "Dodaj krajnju točku", "add_exclusion_pattern": "Dodaj uzorak izuzimanja", - "add_import_path": "Dodaj putanju uvoza", "add_location": "Dodaj lokaciju", "add_more_users": "Dodaj joÅĄ korisnika", "add_partner": "Dodaj partnera", @@ -76,7 +75,7 @@ "exclusion_pattern_description": "Uzorci izuzimanja omogućuju vam da ignorirate datoteke i mape prilikom skeniranja svoje biblioteke. Ovo je korisno ako imate mape koje sadrÅže datoteke koje ne Åželite uvesti, kao ÅĄto su RAW datoteke.", "external_library_management": "Upravljanje vanjskom bibliotekom", "face_detection": "Detekcija lica", - "face_detection_description": "Detektirajte lica u stavkama pomoću strojnog učenja. Za videozapise se uzima u obzir samo sličica. \"OsvjeÅži\" (ponovno) obrađuje sve stavke. \"PoniÅĄti\" dodatno briÅĄe sve trenutne podatke o licu. \"Nedostaje\" stavlja u red čekanja stavke koje joÅĄ nisu obrađene. Detektirana lica bit će stavljena u red čekanja za Prepoznavanje lica nakon ÅĄto se dovrÅĄi Detekcija lica, grupirajući ih u postojeće ili nove osobe.", + "face_detection_description": "Detektirajte lica u stavkama pomoću strojnog učenja. Za videozapise se uzima u obzir samo sličica. \"OsvjeÅži\" (ponovno) obrađuje sve stavke. \"PoniÅĄti\" dodatno briÅĄe sve trenutne podatke o licu. \"Nedostaje\" stavlja u red čekanja stavke koje joÅĄ nisu obrađene. Detektirana lica bit će stavljena u red čekanja za prepoznavanje lica nakon ÅĄto se dovrÅĄi detekcija lica, grupirajući ih u postojeće ili nove osobe.", "facial_recognition_job_description": "Grupirajte otkrivena lica u osobe. Ovaj korak se izvrÅĄava nakon ÅĄto je Detekcija lica dovrÅĄena. \"Resetiraj\" (ponovno) grupira sva lica. \"Nedostaje\" stavlja u red lica kojima nije dodijeljena osoba.", "failed_job_command": "Naredba {command} nije uspjela za posao: {job}", "force_delete_user_warning": "UPOZORENJE: Ovo će odmah ukloniti korisnika i sve pripadajuće stavke. Ovo se ne moÅže poniÅĄtiti i datoteke se ne mogu vratiti.", @@ -109,18 +108,17 @@ "job_settings_description": "Upravljajte istovremenoÅĄÄ‡u poslova", "job_status": "Status posla", "jobs_delayed": "{jobCount, plural, other {# odgođenih}}", - "jobs_failed": "{jobCount, plural, other {# failed}}", + "jobs_failed": "{jobCount, plural, one {# neuspjeÅĄan} few {# neuspjeÅĄna} other {# neuspjeÅĄnih}}", "library_created": "Stvorena biblioteka: {library}", "library_deleted": "Biblioteka izbrisana", - "library_import_path_description": "Navedite mapu za uvoz. Ova će se mapa, uključujući podmape, skenirati u potrazi za slikama i videozapisima.", - "library_scanning": "Periodično Skeniranje", + "library_scanning": "Periodično skeniranje", "library_scanning_description": "Konfigurirajte periodično skeniranje biblioteke", "library_scanning_enable_description": "Omogući periodično skeniranje biblioteke", - "library_settings": "Externa biblioteka", + "library_settings": "Vanjska biblioteka", "library_settings_description": "Upravljajte postavkama vanjske biblioteke", "library_tasks_description": "Skeniraj vanjske biblioteke za nove i/ili promijenjene stavke", "library_watching_enable_description": "Pratite vanjske biblioteke za promjena datoteke", - "library_watching_settings": "Gledanje biblioteke (EKSPERIMENTALNO)", + "library_watching_settings": "Gledanje biblioteke [EKSPERIMENTALNO]", "library_watching_settings_description": "Automatsko praćenje promijenjenih datoteke", "logging_enable_description": "Omogući zapisivanje", "logging_level_description": "Kada je omogućeno, koju razinu zapisivanja koristiti.", @@ -131,7 +129,7 @@ "machine_learning_availability_checks_interval_description": "Interval u milisekundama između provjera dostupnosti", "machine_learning_clip_model": "CLIP model", "machine_learning_clip_model_description": "Naziv CLIP modela navedenog ovdje. Imajte na umu da morate ponovno pokrenuti posao 'Pametno PretraÅživanje' za sve slike nakon promjene modela.", - "machine_learning_duplicate_detection": "Detekcija Duplikata", + "machine_learning_duplicate_detection": "Detekcija duplikata", "machine_learning_duplicate_detection_enabled": "Omogući detekciju duplikata", "machine_learning_duplicate_detection_enabled_description": "Ako je onemogućeno, potpuno identične stavke i dalje će biti deduplicirane.", "machine_learning_duplicate_detection_setting_description": "Upotrijebite CLIP ugradnje da biste pronaÅĄli vjerojatne duplikate", @@ -162,16 +160,16 @@ "manage_log_settings": "Upravljanje postavkama zapisivanje", "map_dark_style": "Tamni stil", "map_enable_description": "Omogući značajke karte", - "map_gps_settings": "Postavke Karte i GPS-a", - "map_gps_settings_description": "Upravljajte Postavkama Karte i GPS-a (Obrnuto Geokodiranje)", + "map_gps_settings": "Postavke karte i GPS-a", + "map_gps_settings_description": "Upravljajte postavkama karte i GPS-a (obrnutog geokodiranja)", "map_implications": "Značajka karte se oslanja na vanjsku uslugu pločica (tiles.immich.cloud)", "map_light_style": "Svijetli stil", - "map_manage_reverse_geocoding_settings": "Upravljajte postavkama Obrnutog Geokodiranja", + "map_manage_reverse_geocoding_settings": "Upravljajte postavkama Obrnutog geokodiranja", "map_reverse_geocoding": "Obrnuto Geokodiranje", "map_reverse_geocoding_enable_description": "Omogući obrnuto geokodiranje", - "map_reverse_geocoding_settings": "Postavke Obrnuto Geokodiranje", + "map_reverse_geocoding_settings": "Postavke Obrnutog geokodiranja", "map_settings": "Karta", - "map_settings_description": "Upravljanje postavkama karte", + "map_settings_description": "Upravljajte postavkama karte", "map_style_description": "URL na style.json temu karte", "memory_cleanup_job": "ČiÅĄÄ‡enje memorije", "memory_generate_job": "Generiranje memorije", @@ -179,7 +177,7 @@ "metadata_extraction_job_description": "Izdvojite metapodatke iz svake stavke, kao ÅĄto su GPS, lica i rezolucija", "metadata_faces_import_setting": "Omogući uvoz lica", "metadata_faces_import_setting_description": "Uvezite lica iz EXIF podataka slike i sidecar datoteka", - "metadata_settings": "Postavke Metapodataka", + "metadata_settings": "Postavke metapodataka", "metadata_settings_description": "Upravljanje postavkama metapodataka", "migration_job": "Migracija", "migration_job_description": "Premjestite sličice za stavke i lica u najnoviju strukturu mapa", @@ -199,7 +197,7 @@ "nightly_tasks_sync_quota_usage_setting_description": "AÅžuriraj korisničku kvotu za pohranu na temelju trenutne potroÅĄnje", "no_paths_added": "Nema dodanih putanja", "no_pattern_added": "Nije dodan uzorak", - "note_apply_storage_label_previous_assets": "Napomena: Da biste primijenili Oznaku pohrane na prethodno prenesene stavke, pokrenite", + "note_apply_storage_label_previous_assets": "Napomena: Da biste primijenili oznaku pohrane na prethodno prenesene stavke, pokrenite", "note_cannot_be_changed_later": "NAPOMENA: Ovo se ne moÅže promijeniti kasnije!", "notification_email_from_address": "Od adrese", "notification_email_from_address_description": "E-mail adresa poÅĄiljatelja, na primjer: \"Immich Photo Server \". Obavezno koristite adresu s koje vam je dopuÅĄteno slanje e-poÅĄte.", @@ -217,7 +215,7 @@ "notification_email_test_email_sent": "Testna e-poruka poslana je na {email}. Provjerite svoju pristiglu poÅĄtu.", "notification_email_username_description": "Korisničko ime koje se koristi pri autentifikaciji s posluÅžiteljem e-poÅĄte", "notification_enable_email_notifications": "Omogući obavijesti putem e-poÅĄte", - "notification_settings": "Postavke Obavijesti", + "notification_settings": "Postavke obavijesti", "notification_settings_description": "Upravljanje postavkama obavijesti, uključujući e-poÅĄtu", "oauth_auto_launch": "Automatsko pokretanje", "oauth_auto_launch_description": "Automatski pokrenite OAuth prijavu nakon navigacije na stranicu za prijavu", @@ -239,7 +237,7 @@ "oauth_storage_quota_claim": "Zahtjev za kvotom pohrane", "oauth_storage_quota_claim_description": "Automatski postavite korisničku kvotu pohrane na vrijednost ovog zahtjeva.", "oauth_storage_quota_default": "Zadana kvota pohrane (GiB)", - "oauth_storage_quota_default_description": "Kvota u GiB koja će se koristiti kada nema zahtjeva", + "oauth_storage_quota_default_description": "Kvota u GiB koja će se koristiti kada nema zahtjeva.", "oauth_timeout": "Istek vremena zahtjeva", "oauth_timeout_description": "Istek vremena zahtjeva je u milisekundama", "password_enable_description": "Prijava s email adresom i zaporkom", @@ -268,7 +266,7 @@ "sidecar_job": "Sidecar metapodaci", "sidecar_job_description": "Otkrijte ili sinkronizirajte sidecar metapodatke iz datotečnog sustava", "slideshow_duration_description": "Broj sekundi za prikaz svake slike", - "smart_search_job_description": "Pokrenite strojno učenje na stavkama za koriÅĄtenje Pametnog pretraÅživanja", + "smart_search_job_description": "Pokrenite strojno učenje na stavkama za koriÅĄtenje pametnog pretraÅživanja", "storage_template_date_time_description": "Vremenska oznaka stvaranja stavke koristi se za informacije o datumu i vremenu", "storage_template_date_time_sample": "Vrijeme uzorka {date}", "storage_template_enable_description": "Omogući mehanizam predloÅĄka za pohranu", @@ -276,7 +274,7 @@ "storage_template_hash_verification_enabled_description": "Omogućuje hash provjeru, nemojte je onemogućiti osim ako niste sigurni u implikacije", "storage_template_migration": "Migracija predloÅĄka za pohranu", "storage_template_migration_description": "Primijenite trenutni {template} na prethodno prenesene stavke", - "storage_template_migration_info": "PredloÅžak za pohranu pretvorit će sve datotečne nastavke u mala slova. Promjene predloÅĄka primijenit će se samo na nove stavke. Da biste retroaktivno primijenili predloÅžak na prethodno prenesene stavke, pokrenite {job}.", + "storage_template_migration_info": "PredloÅžak za pohranu pretvorit će sve datotečne nastavke u mala slova. Promjene predloÅĄka primijenit će se samo na nove stavke. Da biste retroaktivno primijenili predloÅžak na prethodno prenesene stavke, pokrenite {job}.", "storage_template_migration_job": "Posao Migracije PredloÅĄka Pohrane", "storage_template_more_details": "Za viÅĄe pojedinosti o ovoj značajci pogledajte PredloÅžak pohrane i njegove implikacije", "storage_template_onboarding_description_v2": "Kada je omogućena, ova će značajka automatski organizira datoteke prema predloÅĄku koji je definirao korisnik. Za viÅĄe informacija pogledajte dokumentaciju.", @@ -284,13 +282,13 @@ "storage_template_settings": "PredloÅžak pohrane", "storage_template_settings_description": "Upravljajte strukturom mape i nazivom datoteke učitane stavke", "storage_template_user_label": "{label} je korisnička oznaka za pohranu", - "system_settings": "Postavke Sustava", + "system_settings": "Postavke sustava", "tag_cleanup_job": "ČiÅĄÄ‡enje oznaka", "template_email_available_tags": "MoÅžete koristiti sljedeće varijable u vaÅĄem predloÅĄku:{tags}", "template_email_if_empty": "Ukoliko je predloÅžak prazan, koristit će se zadana e-mail adresa.", "template_email_invite_album": "PredloÅžak za pozivnicu u album", "template_email_preview": "Pregled", - "template_email_settings": "E-mail PredloÅĄci", + "template_email_settings": "E-mail predloÅĄci", "template_email_update_album": "AÅžuriraj Album PredloÅžak", "template_email_welcome": "PredloÅžak e-maila dobrodoÅĄlice", "template_settings": "PredloÅžak Obavijesti", @@ -323,20 +321,20 @@ "transcoding_constant_rate_factor": "Faktor konstantne stope (-crf)", "transcoding_constant_rate_factor_description": "Razina kvalitete videa. Uobičajene vrijednosti su 23 za H.264, 28 za HEVC, 31 za VP9 i 35 za AV1. NiÅže je bolje, ali stvara veće datoteke.", "transcoding_disabled_description": "Nemojte transkodirati nijedan videozapis, moÅže prekinuti reprodukciju na nekim klijentima", - "transcoding_encoding_options": "Opcije Kodiranja", + "transcoding_encoding_options": "Opcije kodiranja", "transcoding_encoding_options_description": "Postavi kodeke, rezoluciju, kvalitetu i druge opcije za kodirane videje", - "transcoding_hardware_acceleration": "Hardversko Ubrzanje", + "transcoding_hardware_acceleration": "Hardversko ubrzanje", "transcoding_hardware_acceleration_description": "Eksperimentalno: brÅže transkodiranje, ali moÅže smanjiti kvalitetu pri istoj brzini prijenosa", "transcoding_hardware_decoding": "Hardversko dekodiranje", "transcoding_hardware_decoding_setting_description": "Odnosi se samo na NVENC, QSV i RKMPP. Omogućuje ubrzanje s kraja na kraj umjesto samo ubrzavanja kodiranja. MoÅžda neće raditi na svim videozapisima.", "transcoding_max_b_frames": "Maksimalni B-frameovi", "transcoding_max_b_frames_description": "ViÅĄe vrijednosti poboljÅĄavaju učinkovitost kompresije, ali usporavaju kodiranje. MoÅžda nije kompatibilan s hardverskim ubrzanjem na starijim uređajima. 0 onemogućuje B-frameove, dok -1 automatski postavlja ovu vrijednost.", "transcoding_max_bitrate": "Maksimalne brzina prijenosa (bitrate)", - "transcoding_max_bitrate_description": "Postavljanje maksimalne brzine prijenosa moÅže učiniti veličine datoteka predvidljivijima uz manji troÅĄak za kvalitetu. Pri 720p, tipične vrijednosti su 2600 kbit/s za VP9 ili HEVC ili 4500 kbit/s za H.264. Onemogućeno ako je postavljeno na 0.", + "transcoding_max_bitrate_description": "Postavljanje maksimalne brzine prijenosa moÅže učiniti veličine datoteka predvidljivijima uz manji gubitak kvalitete. Pri 720p, tipične vrijednosti su 2600 kbit/s za VP9 ili HEVC, te 4500 kbit/s za H.264. Onemogućeno ako je postavljeno na 0. Kada nije navedena mjerna jedinica, pretpostavlja se k (za kbit/s); stoga su 5000, 5000k i 5M (za Mbit/s) ekvivalentni.", "transcoding_max_keyframe_interval": "Maksimalni interval ključnih sličica", "transcoding_max_keyframe_interval_description": "Postavlja maksimalnu udaljenost slika između ključnih kadrova. NiÅže vrijednosti pogorÅĄavaju učinkovitost kompresije, ali poboljÅĄavaju vrijeme traÅženja i mogu poboljÅĄati kvalitetu u scenama s brzim kretanjem. 0 automatski postavlja ovu vrijednost.", "transcoding_optimal_description": "Videozapisi koji su veći od ciljne rezolucije ili nisu u prihvatljivom formatu", - "transcoding_policy": "Politika Transkodiranja", + "transcoding_policy": "Pravila transkodiranja", "transcoding_policy_description": "Postavi kada će video biti transkodiran", "transcoding_preferred_hardware_device": "Preferirani hardverski uređaj", "transcoding_preferred_hardware_device_description": "Odnosi se samo na VAAPI i QSV. Postavlja dri node koji se koristi za hardversko transkodiranje.", @@ -345,12 +343,12 @@ "transcoding_reference_frames": "Referentne slike", "transcoding_reference_frames_description": "Broj slika za referencu prilikom komprimiranja određene slike. ViÅĄe vrijednosti poboljÅĄavaju učinkovitost kompresije, ali usporavaju kodiranje. 0 automatski postavlja ovu vrijednost.", "transcoding_required_description": "Samo videozapisi koji nisu u prihvaćenom formatu", - "transcoding_settings": "Postavke Video Transkodiranja", + "transcoding_settings": "Postavke video transkodiranja", "transcoding_settings_description": "Upravljaj koji videozapisi će se transkodirati i kako ih obraditi", "transcoding_target_resolution": "Ciljana rezolucija", "transcoding_target_resolution_description": "Veće razlučivosti mogu sačuvati viÅĄe detalja, ali trebaju dulje za kodiranje, imaju veće veličine datoteka i mogu smanjiti odziv aplikacije.", "transcoding_temporal_aq": "Vremenski AQ", - "transcoding_temporal_aq_description": "Odnosi se samo na NVENC. Povećava kvalitetu scena s puno detalja i malo pokreta. MoÅžda nije kompatibilan sa starijim uređajima.", + "transcoding_temporal_aq_description": "Odnosi se samo na NVENC. Vremenska adaptivna kvantizacija povećava kvalitetu scena s mnogim detaljima i malo kretanja. MoÅžda nije kompatibilno sa starijim uređajima.", "transcoding_threads": "Sljedovi (Threads)", "transcoding_threads_description": "ViÅĄe vrijednosti dovode do brÅžeg kodiranja, ali ostavljaju manje prostora posluÅžitelju za obradu drugih zadataka dok je aktivan. Ova vrijednost ne smije biti veća od broja CPU jezgri. Maksimalno povećava iskoriÅĄtenje ako je postavljeno na 0.", "transcoding_tone_mapping": "Tonsko preslikavanje", @@ -361,10 +359,10 @@ "transcoding_two_pass_encoding_setting_description": "Transkodiranje u dva prolaza za proizvodnju bolje kodiranih videozapisa. Kada je omogućena maksimalna brzina prijenosa (potrebna za rad s H.264 i HEVC), ovaj način rada koristi raspon brzine prijenosa na temelju maksimalne brzine prijenosa i zanemaruje CRF. Za VP9, CRF se moÅže koristiti ako je maksimalna brzina prijenosa onemogućena.", "transcoding_video_codec": "Video kodek", "transcoding_video_codec_description": "VP9 ima visoku učinkovitost i web-kompatibilnost, ali treba dulje za transkodiranje. HEVC ima sličnu izvedbu, ali ima slabiju web kompatibilnost. H.264 ÅĄiroko je kompatibilan i brzo se transkodira, ali proizvodi mnogo veće datoteke. AV1 je najučinkovitiji kodek, ali nema podrÅĄku na starijim uređajima.", - "trash_enabled_description": "Omogućite značajke Smeća", + "trash_enabled_description": "Omogući značajke smeća", "trash_number_of_days": "Broj dana", "trash_number_of_days_description": "Broj dana za čuvanje stavki u smeću prije njihovog trajnog uklanjanja", - "trash_settings": "Postavke Smeća", + "trash_settings": "Postavke smeća", "trash_settings_description": "Upravljanje postavkama smeća", "unlink_all_oauth_accounts": "Odspoji sve OAuth račune", "unlink_all_oauth_accounts_description": "Zapamtite da odspojite sve OAuth račune prije prelaska na novog pruÅžatelja usluge.", @@ -400,12 +398,12 @@ "advanced_settings_log_level_title": "Razina zapisivanja: {level}", "advanced_settings_prefer_remote_subtitle": "Neki uređaji sporo učitavaju sličice s lokalnih stavki. Aktivirajte ovu postavku kako biste umjesto toga učitali slike s udaljenih izvora.", "advanced_settings_prefer_remote_title": "Preferiraj udaljene slike", - "advanced_settings_proxy_headers_subtitle": "Definirajte zaglavlja posrednika koja Immich treba slati sa svakim mreÅžnim zahtjevom.", - "advanced_settings_proxy_headers_title": "Proxy zaglavlja", - "advanced_settings_readonly_mode_subtitle": "Omogućuje read-only mod u kojem je moguće samo pregledavanje fotografija, radnje poput odabira viÅĄe fotografija, dijeljenje, proiciranje i brisanje svih fotografija su onemogućene. Upali/ugasi read-only mod preko korisnickog avatara na glavnom ekranu.", + "advanced_settings_proxy_headers_subtitle": "Definirajte proxy zaglavlja koja Immich treba poslati sa svakim mreÅžnim zahtjevom", + "advanced_settings_proxy_headers_title": "Prilagođeni proxy zaglavlja [EKSPERIMENTALNO]", + "advanced_settings_readonly_mode_subtitle": "Omogućuje način rada za čitanje u kojem se fotografije mogu samo pregledavati, a stvari poput odabira viÅĄe slika, dijeljenja, emitiranja i brisanja su onemogućene. Omogući/onemogući način rada za čitanje putem korisničkog avatara s glavnog zaslona", "advanced_settings_readonly_mode_title": "Read-only mod", "advanced_settings_self_signed_ssl_subtitle": "Preskoči provjeru SSL certifikata za krajnju točku posluÅžitelja. Potrebno za samo-potpisane certifikate.", - "advanced_settings_self_signed_ssl_title": "Dopusti samo-potpisane SSL certifikate", + "advanced_settings_self_signed_ssl_title": "Dopusti samopotpisane SSL certifikate [EKSPERIMENTALNO]", "advanced_settings_sync_remote_deletions_subtitle": "Automatski izbriÅĄi ili obnovi stavku na ovom uređaju kada se ta radnja izvrÅĄi na webu", "advanced_settings_sync_remote_deletions_title": "Sinkroniziraj udaljena brisanja [EKSPERIMENTALNO]", "advanced_settings_tile_subtitle": "Postavke za napredne korisnike", @@ -453,7 +451,7 @@ "albums_on_device_count": "Albumi na uređaju ({count})", "all": "Sve", "all_albums": "Svi albumi", - "all_people": "Svi ljudi", + "all_people": "Sve osobe", "all_videos": "Svi videi", "allow_dark_mode": "Dozvoli tamni način", "allow_edits": "Dozvoli izmjene", @@ -464,7 +462,7 @@ "api_key": "API Ključ", "api_key_description": "Ova će vrijednost biti prikazana samo jednom. Obavezno ju kopirajte prije zatvaranja prozora.", "api_key_empty": "Naziv vaÅĄeg API ključa ne smije biti prazan", - "api_keys": "API Ključevi", + "api_keys": "API ključevi", "app_architecture_variant": "Varijanta(Arhitektura)", "app_bar_signout_dialog_content": "Jeste li sigurni da se Åželite odjaviti?", "app_bar_signout_dialog_ok": "Da", @@ -473,6 +471,7 @@ "app_settings": "Postavke aplikacije", "app_update_available": "AÅžuriranje aplikacije je dostupno", "appears_in": "Pojavljuje se u", + "apply_count": "Primijeni ({count, number})", "archive": "Arhiva", "archive_action_prompt": "{count} dodano u arhivu", "archive_or_unarchive_photo": "Arhivirajte ili dearhivirajte fotografiju", @@ -481,7 +480,7 @@ "archive_size": "Veličina arhive", "archive_size_description": "Konfigurirajte veličinu arhive za preuzimanja (u GiB)", "archived": "Arhivirano", - "archived_count": "{count, plural, other {Archived #}}", + "archived_count": "{count, plural, one {Arhivirana #} few {Arhivirane #} other {Arhivirano #}}", "are_these_the_same_person": "Je li ovo ista osoba?", "are_you_sure_to_do_this": "Jeste li sigurni da to Åželite učiniti?", "asset_action_delete_err_read_only": "Nije moguće izbrisati stavke samo za čitanje, preskakanje", @@ -518,22 +517,22 @@ "assets_cannot_be_added_to_album_count": "{count, plural, one {Stavka se ne moÅže} other {Stavke se ne mogu}} dodati u album", "assets_cannot_be_added_to_albums": "{count, plural, one {Stavka se ne moÅže} few {Stavke se ne mogu} other {Stavki se ne moÅže}} dodati ni u jedan album", "assets_count": "{count, plural, one {# stavka} few {# stavke} other {# stavki}}", - "assets_deleted_permanently": "Trajno {count, plural, one {izbrisana # stavka} few {izbrisane # stavke} other {izbrisano # stavki}}", + "assets_deleted_permanently": "{count, plural, one {# stavka trajno izbrisana} few {# stavke trajno izbrisane} other {# stavki trajno izbrisano}}", "assets_deleted_permanently_from_server": "Trajno {count, plural, one {izbrisana # stavka} few {izbrisane # stavke} other {izbrisano # stavki}} s Immich servera", "assets_downloaded_failed": "{count, plural, one {Preuzeta # datoteka – {error} datoteka nije uspjela} few {Preuzete # datoteke - {error} datoteke nisu uspjele} other {Preuzeto # datoteka – {error} datoteke nisu uspjele}}", "assets_downloaded_successfully": "{count, plural, one {UspjeÅĄno preuzeta # datoteka} few {UspjeÅĄno preuzete # datoteke} other {UspjeÅĄno preueto # datoteka}}", "assets_moved_to_trash_count": "{count, plural, one {# stavka premjeÅĄtena} few {# stavke premjeÅĄtene} other {# stavk premjeÅĄtenoi}} u smeće", "assets_permanently_deleted_count": "Trajno {count, plural, one {izbrisana # stavka} few {izbrisane # stavke} other {izbrisano # stavki}}", "assets_removed_count": "{count, plural, one {Uklonjena # stavka} few {Uklonjene # stavke} other {Uklonjeno # stavki}}", - "assets_removed_permanently_from_device": "{count} resurs(i) trajno uklonjen(i) s vaÅĄeg uređaja", - "assets_restore_confirmation": "Jeste li sigurni da Åželite obnoviti sve svoje resurse bačene u otpad? Ne moÅžete poniÅĄtiti ovu radnju! Imajte na umu da se bilo koji izvanmreÅžni resursi ne mogu obnoviti na ovaj način.", - "assets_restored_count": "Vraćeno {count, plural, one {# asset} other {# assets}}", - "assets_restored_successfully": "{count} resurs(i) uspjeÅĄno obnovljen(i)", - "assets_trashed": "{count} resurs(i) premjeÅĄten(i) u smeće", - "assets_trashed_count": "Bačeno u smeće {count, plural, one {# asset} other {# assets}}", - "assets_trashed_from_server": "{count} resurs(i) premjeÅĄten(i) u smeće s Immich posluÅžitelja", - "assets_were_part_of_album_count": "{count, plural, one {Asset was} other {Assets were}} već dio albuma", - "assets_were_part_of_albums_count": "{count, plural, one {Datoteka je već bila dio albuma} few {Datoteke su već bile dio albuma} other {Datoteka je već bila dio albuma}}", + "assets_removed_permanently_from_device": "{count, plural, one {# stavka trajno uklonjena} few {# stavke trajno uklonjene} other {# stavki trajno uklonjeno}} s vaÅĄeg uređaja", + "assets_restore_confirmation": "Jeste li sigurni da Åželite vratiti sve svoje izbrisane stavke? Ovu radnju ne moÅžete poniÅĄtiti! Imajte na umu da se na ovaj način ne mogu vratiti izvanmreÅžne stavke.", + "assets_restored_count": "{count, plural, one {Vraćena # stavka} few {Vraćene # stavke} other {Vraćeno # stavki}}", + "assets_restored_successfully": "{count, plural, one {# stavka uspjeÅĄno obnovljena} few {# stavke uspjeÅĄno obnovljene} other {# stavki uspjeÅĄno obnovljeno}}", + "assets_trashed": "{count, plural, one {# stavka premjeÅĄtena} few {# stavke premjeÅĄtene} other {# stavki premjeÅĄteno}} u smeće", + "assets_trashed_count": "{count, plural, one {# stavka premjeÅĄtena} few {# stavke premjeÅĄtene} other {# stavki premjeÅĄteno}} u smeće", + "assets_trashed_from_server": "{count, plural, one {# stavka premjeÅĄtena} few {# stavke premjeÅĄtene} other {# stavki premjeÅĄteno}} u smeće s Immich posluÅžitelja", + "assets_were_part_of_album_count": "{count, plural, one {Stavka je već bila} other {Stavke su već bile}} dio albuma", + "assets_were_part_of_albums_count": "{count, plural, one {Stavka je već bila} other {Stavke su već bile}} dio albuma", "authorized_devices": "OvlaÅĄteni uređaji", "automatic_endpoint_switching_subtitle": "PoveÅžite se lokalno preko naznačene Wi-Fi mreÅže kada je dostupna i koristite alternativne veze na drugim lokacijama", "automatic_endpoint_switching_title": "Automatsko prebacivanje URL-a", @@ -545,17 +544,18 @@ "backup": "Sigurnosna kopija", "backup_album_selection_page_albums_device": "Albumi na uređaju ({count})", "backup_album_selection_page_albums_tap": "Dodirnite za uključivanje, dvostruki dodir za isključivanje", - "backup_album_selection_page_assets_scatter": "Resursi mogu biti raspoređeni u viÅĄe albuma. Stoga, albumi mogu biti uključeni ili isključeni tijekom procesa sigurnosnog kopiranja.", + "backup_album_selection_page_assets_scatter": "Stavke se mogu rasprÅĄiti po viÅĄe albuma. Stoga se albumi mogu uključiti ili isključiti tijekom postupka sigurnosnog kopiranja.", "backup_album_selection_page_select_albums": "Odabrani albumi", "backup_album_selection_page_selection_info": "Informacije o odabiru", - "backup_album_selection_page_total_assets": "Ukupan broj jedinstvenih resursa", + "backup_album_selection_page_total_assets": "Ukupan broj jedinstvenih stavki", "backup_all": "Sve", - "backup_background_service_backup_failed_message": "NeuspjeÅĄno sigurnosno kopiranje resursa. PokuÅĄavam ponovoâ€Ļ", + "backup_background_service_backup_failed_message": "NeuspjeÅĄno sigurnosno kopiranje stavki. Ponovno pokuÅĄavanjeâ€Ļ", + "backup_background_service_complete_notification": "Sigurnosno kopiranje stavki dovrÅĄeno", "backup_background_service_connection_failed_message": "NeuspjeÅĄno povezivanje s posluÅžiteljem. PokuÅĄavam ponovoâ€Ļ", "backup_background_service_current_upload_notification": "Å aljem {filename}", - "backup_background_service_default_notification": "Provjera novih resursaâ€Ļ", + "backup_background_service_default_notification": "Provjera novih stavkiâ€Ļ", "backup_background_service_error_title": "PogreÅĄka pri sigurnosnom kopiranju", - "backup_background_service_in_progress_notification": "Sigurnosno kopiranje vaÅĄih resursaâ€Ļ", + "backup_background_service_in_progress_notification": "Sigurnosno kopiranje vaÅĄih stavkiâ€Ļ", "backup_background_service_upload_failure_notification": "NeuspjeÅĄno slanje {filename}", "backup_controller_page_albums": "Sigurnosno kopiranje albuma", "backup_controller_page_background_app_refresh_disabled_content": "Omogućite osvjeÅžavanje aplikacije u pozadini u Postavke > Opće Postavke > OsvjeÅžavanje Aplikacija u Pozadini kako biste koristili sigurnosno kopiranje u pozadini.", @@ -567,8 +567,8 @@ "backup_controller_page_background_battery_info_title": "Optimizacije baterije", "backup_controller_page_background_charging": "Samo tijekom punjenja", "backup_controller_page_background_configure_error": "NeuspjeÅĄno konfiguriranje pozadinske usluge", - "backup_controller_page_background_delay": "Odgođeno sigurnosno kopiranje novih resursa: {duration}", - "backup_controller_page_background_description": "Uključite pozadinsku uslugu kako biste automatski sigurnosno kopirali nove resurse bez potrebe za otvaranjem aplikacije", + "backup_controller_page_background_delay": "Odgoda sigurnosnog kopiranja novih stavki: {duration}", + "backup_controller_page_background_description": "Uključite pozadinsku uslugu za automatsko sigurnosno kopiranje svih novih stavki bez potrebe za otvaranjem aplikacije", "backup_controller_page_background_is_off": "Automatsko sigurnosno kopiranje u pozadini je isključeno", "backup_controller_page_background_is_on": "Automatsko sigurnosno kopiranje u pozadini je uključeno", "backup_controller_page_background_turn_off": "Isključite pozadinsku uslugu", @@ -578,7 +578,7 @@ "backup_controller_page_backup_selected": "Odabrani: ", "backup_controller_page_backup_sub": "Sigurnosno kopirane fotografije i videozapisi", "backup_controller_page_created": "Kreirano: {date}", - "backup_controller_page_desc_backup": "Uključite sigurnosno kopiranje u prvom planu kako biste automatski prenijeli nove resurse na posluÅžitelj prilikom otvaranja aplikacije.", + "backup_controller_page_desc_backup": "Uključite sigurnosno kopiranje u prvom planu kako biste automatski prenijeli nove stavke na posluÅžitelj prilikom otvaranja aplikacije.", "backup_controller_page_excluded": "Izuzeto: ", "backup_controller_page_failed": "NeuspjeÅĄno ({count})", "backup_controller_page_filename": "Naziv datoteke: {filename} [{size}]", @@ -598,7 +598,7 @@ "backup_controller_page_turn_on": "Uključite sigurnosno kopiranje u prvom planu", "backup_controller_page_uploading_file_info": "Slanje informacija o datoteci", "backup_err_only_album": "Nije moguće ukloniti jedini album", - "backup_info_card_assets": "resursi", + "backup_info_card_assets": "stavke", "backup_manual_cancelled": "Otkazano", "backup_manual_in_progress": "Slanje već u tijeku. PokÅĄuajte nakon nekog vremena", "backup_manual_success": "Uspijeh", @@ -618,15 +618,15 @@ "bugs_and_feature_requests": "Bugovi i zahtjevi za značajke", "build": "Sagradi (Build)", "build_image": "Sagradi (Build) Image", - "bulk_delete_duplicates_confirmation": "Jeste li sigurni da Åželite skupno izbrisati {count, plural, one {# duplicate asset} other {# duplicate asset}}? Ovo će zadrÅžati najveće sredstvo svake grupe i trajno izbrisati sve druge duplikate. Ne moÅžete poniÅĄtiti ovu radnju!", + "bulk_delete_duplicates_confirmation": "Jeste li sigurni da Åželite skupno izbrisati {count, plural, one {# dupliciranu stavku} few {# duplicirane stavke} other {# dupliciranih stavki}}? Ovo će zadrÅžati najveću stavku svake grupe i trajno izbrisati sve druge duplikate. Ne moÅžete poniÅĄtiti ovu radnju!", "bulk_keep_duplicates_confirmation": "Jeste li sigurni da Åželite zadrÅžati {count, plural, one {# duplicate asset} other {# duplicate asset}}? Ovo će rijeÅĄiti sve duplicirane grupe bez brisanja ičega.", - "bulk_trash_duplicates_confirmation": "Jeste li sigurni da Åželite na veliko baciti u smeće {count, plural, one {# duplicate asset} other {# duplicate asset}}? Ovo će zadrÅžati najveće sredstvo svake grupe i baciti sve ostale duplikate u smeće.", + "bulk_trash_duplicates_confirmation": "Jeste li sigurni da Åželite skupno u smeće premjestiti {count, plural, one {# dupliciranu stavku} few {# duplicirane stavke} other {# dupliciranih stavki}}? Ovo će zadrÅžati najveću stavku svake grupe i premjestiti sve ostale duplikate u smeće.", "buy": "Kupi Immich", "cache_settings_clear_cache_button": "Očisti predmemoriju", "cache_settings_clear_cache_button_title": "BriÅĄe predmemoriju aplikacije. Ovo će značajno utjecati na performanse aplikacije dok se predmemorija ponovno ne izgradi.", "cache_settings_duplicated_assets_clear_button": "OČISTI", - "cache_settings_duplicated_assets_subtitle": "Fotografije i videozapisi koje je aplikacija ignorira", - "cache_settings_duplicated_assets_title": "Duplicirani resursi ({count})", + "cache_settings_duplicated_assets_subtitle": "Fotografije i videozapisi koje aplikacija ignorira", + "cache_settings_duplicated_assets_title": "Duplicirane stavke ({count})", "cache_settings_statistics_album": "Sličice biblioteke", "cache_settings_statistics_full": "Pune slike", "cache_settings_statistics_shared": "Sličice dijeljenih albuma", @@ -683,8 +683,8 @@ "client_cert_import_success_msg": "Klijentski certifikat je uvezen", "client_cert_invalid_msg": "Neispravna datoteka certifikata ili pogreÅĄna lozinka", "client_cert_remove_msg": "Klijentski certifikat je uklonjen", - "client_cert_subtitle": "PodrÅžava samo PKCS12 (.p12, .pfx) format. Uvoz/uklanjanje certifikata moguće je samo prije prijave", - "client_cert_title": "SSL klijentski certifikat", + "client_cert_subtitle": "PodrÅžava samo PKCS12 (.p12, .pfx) format. Uvoz/uklanjanje certifikata dostupno je samo prije prijave", + "client_cert_title": "SSL klijentski certifikat [EKSPERIMENTALNO]", "clockwise": "U smjeru kazaljke na satu", "close": "Zatvori", "collapse": "SaÅžmi", @@ -699,9 +699,9 @@ "completed": "DovrÅĄeno", "confirm": "Potvrdi", "confirm_admin_password": "Potvrdite lozinku administratora", - "confirm_delete_face": "Jeste li sigurni da Åželite izbrisati lice {name} iz resursa?", + "confirm_delete_face": "Jeste li sigurni da Åželite izbrisati lice {name} iz stavke?", "confirm_delete_shared_link": "Jeste li sigurni da Åželite izbrisati ovu zajedničku vezu?", - "confirm_keep_this_delete_others": "Sva druga sredstva u nizu bit će izbrisana osim ovog sredstva. Jeste li sigurni da Åželite nastaviti?", + "confirm_keep_this_delete_others": "Sve druge stavke u stogu bit će izbrisane osim ove stavke. Jeste li sigurni da Åželite nastaviti?", "confirm_new_pin_code": "Potvrdi novi PIN kod", "confirm_password": "Potvrdite lozinku", "confirm_tag_face": "ÅŊelite li označiti ovo lice kao {name}?", @@ -717,7 +717,7 @@ "control_bottom_app_bar_edit_location": "Uredi lokaciju", "control_bottom_app_bar_edit_time": "Uredi datum i vrijeme", "control_bottom_app_bar_share_link": "Podijeli poveznicu", - "control_bottom_app_bar_share_to": "Podijeli s...", + "control_bottom_app_bar_share_to": "Dijeli s", "control_bottom_app_bar_trash_from_immich": "Premjesti u smeće", "copied_image_to_clipboard": "Slika je kopirana u međuspremnik.", "copied_to_clipboard": "Kopirano u međuspremnik!", @@ -740,7 +740,7 @@ "create_link_to_share_description": "Dopusti svakome s vezom da vidi odabrane fotografije", "create_new": "KREIRAJ NOVO", "create_new_person": "Stvorite novu osobu", - "create_new_person_hint": "Dodijelite odabrana sredstva novoj osobi", + "create_new_person_hint": "Dodijelite odabrane stavke novoj osobi", "create_new_user": "Kreiraj novog korisnika", "create_shared_album_page_share_add_assets": "DODAJ STAVKE", "create_shared_album_page_share_select_photos": "Odaberi fotografije", @@ -778,7 +778,7 @@ "default_locale": "Zadana lokalizacija", "default_locale_description": "Oblikujte datume i brojeve na temelju jezika preglednika", "delete": "IzbriÅĄi", - "delete_action_confirmation_message": "Jeste li sigurni da Åželite izbrisati ovaj sadrÅžaj? Ova radnja će premjestiti sadrÅžaj u smeće na posluÅžitelju i upitat će vas Åželite li ga izbrisati i lokalno", + "delete_action_confirmation_message": "Jeste li sigurni da Åželite izbrisati ovu stavku? Ova radnja će premjestiti stavku u smeće posluÅžitelja i pitati vas Åželite li ju izbrisati lokalno", "delete_action_prompt": "{count} izbrisano", "delete_album": "IzbriÅĄi album", "delete_api_key_prompt": "Jeste li sigurni da Åželite izbrisati ovaj API ključ?", @@ -805,7 +805,7 @@ "delete_tag_confirmation_prompt": "Jeste li sigurni da Åželite izbrisati oznaku {tagName}?", "delete_user": "IzbriÅĄi korisnika", "deleted_shared_link": "Izbrisana dijeljena poveznica", - "deletes_missing_assets": "BriÅĄe sredstva koja nedostaju s diska", + "deletes_missing_assets": "BriÅĄe stavke koje nedostaju na disku", "description": "Opis", "description_input_hint_text": "Dodaj opis...", "description_input_submit_error": "PogreÅĄka pri aÅžuriranju opisa, provjerite zapisnik za viÅĄe detalja", @@ -822,12 +822,12 @@ "display_options": "Mogućnosti prikaza", "display_order": "Redoslijed prikaza", "display_original_photos": "Prikaz originalnih fotografija", - "display_original_photos_setting_description": "Radije prikaÅžite izvornu fotografiju kada gledate materijal umjesto sličica kada je izvorni materijal kompatibilan s webom. To moÅže rezultirati sporijim brzinama prikaza fotografija.", + "display_original_photos_setting_description": "Radije prikaÅžite izvornu fotografiju kada gledate stavku umjesto sličica kada je izvorna stavka kompatibilna s webom. To moÅže rezultirati sporijim brzinama prikaza fotografija.", "do_not_show_again": "Ne prikazuj viÅĄe ovu poruku", "documentation": "Dokumentacija", "done": "Gotovo", "download": "Preuzmi", - "download_action_prompt": "Preuzimanje {count} sadrÅžaja", + "download_action_prompt": "Preuzimanje {count, plural, one {# stavke} few {# stavke} other {# stavki}}", "download_canceled": "Preuzimanje otkazano", "download_complete": "Preuzimanje zavrÅĄeno", "download_enqueue": "Preuzimanje dodano u red", @@ -839,13 +839,13 @@ "download_notfound": "Preuzimanje nije pronađeno", "download_paused": "Preuzimanje pauzirano", "download_settings": "Preuzmi", - "download_settings_description": "Upravljajte postavkama koje se odnose na preuzimanje sredstava", + "download_settings_description": "Upravljajte postavkama vezanim uz preuzimanje stavki", "download_started": "Preuzimanje započeto", "download_sucess": "Preuzimanje uspjeÅĄno", "download_sucess_android": "Medij je preuzet u DCIM/Immich", "download_waiting_to_retry": "Čeka se ponovni pokuÅĄaj", "downloading": "Preuzimanje", - "downloading_asset_filename": "Preuzimanje materijala {filename}", + "downloading_asset_filename": "Preuzimanje stavke {filename}", "downloading_media": "Preuzimanje medija", "drop_files_to_upload": "Ispustite datoteke bilo gdje za prijenos", "duplicates": "Duplikati", @@ -864,8 +864,6 @@ "edit_description_prompt": "Molimo odaberite novi opis:", "edit_exclusion_pattern": "Uredi uzorak izuzimanja", "edit_faces": "Uređivanje lica", - "edit_import_path": "Uredi put uvoza", - "edit_import_paths": "Uredi Uvozne Putanje", "edit_key": "Ključ za uređivanje", "edit_link": "Uredi poveznicu", "edit_location": "Uredi lokaciju", @@ -885,7 +883,7 @@ "email_notifications": "Obavijesti putem e-maila", "empty_folder": "Ova mapa je prazna", "empty_trash": "Isprazni smeće", - "empty_trash_confirmation": "Jeste li sigurni da Åželite isprazniti smeće? Time će se iz Immicha trajno ukloniti sva sredstva u otpadu.\nNe moÅžete poniÅĄtiti ovu radnju!", + "empty_trash_confirmation": "Jeste li sigurni da Åželite isprazniti smeće? Time će se iz Immicha trajno ukloniti sve stavke u smeću.\nNe moÅžete poniÅĄtiti ovu radnju!", "enable": "Omogući", "enable_backup": "Omogući sigurnosnu kopiju", "enable_biometric_auth_description": "Unesite svoj PIN kod za omogućavanje biometrijske autentikacije", @@ -903,57 +901,55 @@ "error_tag_face_bounding_box": "PogreÅĄka pri označavanju lica – nije moguće dohvatiti koordinate granica (bounding box)", "error_title": "GreÅĄka - NeÅĄto je poÅĄlo krivo", "errors": { - "cannot_navigate_next_asset": "Nije moguće prijeći na sljedeći materijal", - "cannot_navigate_previous_asset": "Nije moguće prijeći na prethodni materijal", + "cannot_navigate_next_asset": "Nije moguće prijeći na sljedeću stavku", + "cannot_navigate_previous_asset": "Nije moguće prijeći na prethodnu stavku", "cant_apply_changes": "Nije moguće primijeniti promjene", "cant_change_activity": "Nije moguće {enabled, select, true {onemogućiti} other {omogućiti}} aktivnost", - "cant_change_asset_favorite": "Nije moguće promijeniti favorita za sredstvo", - "cant_change_metadata_assets_count": "Nije moguće promijeniti metapodatke {count, plural, one {# asset} other {# assets}}", + "cant_change_asset_favorite": "Nije moguće promijeniti favorita za stavku", + "cant_change_metadata_assets_count": "Nije moguće promijeniti metapodatke {count, plural, one {# stavke} few {# stavke} other {# stavki}}", "cant_get_faces": "Ne mogu dobiti lica", "cant_get_number_of_comments": "Ne mogu dobiti broj komentara", "cant_search_people": "Ne mogu pretraÅživati ljude", "cant_search_places": "Ne mogu pretraÅživati mjesta", - "error_adding_assets_to_album": "PogreÅĄka pri dodavanju materijala u album", + "error_adding_assets_to_album": "PogreÅĄka pri dodavanju stavki u album", "error_adding_users_to_album": "PogreÅĄka pri dodavanju korisnika u album", "error_deleting_shared_user": "PogreÅĄka pri brisanju dijeljenog korisnika", "error_downloading": "PogreÅĄka pri preuzimanju {filename}", "error_hiding_buy_button": "PogreÅĄka pri skrivanju gumba za kupnju", - "error_removing_assets_from_album": "PogreÅĄka prilikom uklanjanja materijala iz albuma, provjerite konzolu za viÅĄe pojedinosti", - "error_selecting_all_assets": "PogreÅĄka pri odabiru svih sredstava", + "error_removing_assets_from_album": "PogreÅĄka prilikom uklanjanja stavki iz albuma, provjerite konzolu za viÅĄe detalja", + "error_selecting_all_assets": "PogreÅĄka pri odabiru svih stavki", "exclusion_pattern_already_exists": "Ovaj uzorak izuzimanja već postoji.", "failed_to_create_album": "Izrada albuma nije uspjela", "failed_to_create_shared_link": "Stvaranje dijeljene veze nije uspjelo", "failed_to_edit_shared_link": "Nije uspjelo uređivanje dijeljene poveznice", - "failed_to_get_people": "Dohvaćanje ljudi nije uspjelo", - "failed_to_keep_this_delete_others": "ZadrÅžavanje ovog sredstva i brisanje ostalih sredstava nije uspjelo", - "failed_to_load_asset": "Učitavanje sredstva nije uspjelo", - "failed_to_load_assets": "Učitavanje sredstava nije uspjelo", + "failed_to_get_people": "Dohvaćanje osoba nije uspjelo", + "failed_to_keep_this_delete_others": "ZadrÅžavanje ove stavke i brisanje ostalih stavki nije uspjelo", + "failed_to_load_asset": "Učitavanje stavke nije uspjelo", + "failed_to_load_assets": "Učitavanje stavki nije uspjelo", "failed_to_load_notifications": "NeuspjeÅĄno učitavanje obavijesti", - "failed_to_load_people": "Učitavanje ljudi nije uspjelo", + "failed_to_load_people": "Učitavanje osoba nije uspjelo", "failed_to_remove_product_key": "Uklanjanje ključa proizvoda nije uspjelo", "failed_to_reset_pin_code": "NeuspjeÅĄno resetiranje PIN koda", - "failed_to_stack_assets": "Slaganje sredstava nije uspjelo", - "failed_to_unstack_assets": "Nije uspjelo uklanjanje snopa sredstava", + "failed_to_stack_assets": "Slaganje stavki nije uspjelo", + "failed_to_unstack_assets": "Razdvajanje stavki nije uspjelo", "failed_to_update_notification_status": "NeuspjeÅĄno aÅžuriranje statusa obavijesti", - "import_path_already_exists": "Ovaj uvozni put već postoji.", "incorrect_email_or_password": "Netočna adresa e-poÅĄte ili lozinka", "paths_validation_failed": "{paths, plural, one {# putanja nije proÅĄla} other {# putanje nisu proÅĄle}} provjeru valjanosti", "profile_picture_transparent_pixels": "Profilne slike ne smiju imati prozirne piksele. Povećajte i/ili pomaknite sliku.", "quota_higher_than_disk_size": "Postavili ste kvotu veću od veličine diska", "something_went_wrong": "NeÅĄto je poÅĄlo po zlu", "unable_to_add_album_users": "Nije moguće dodati korisnike u album", - "unable_to_add_assets_to_shared_link": "Nije moguće dodati sredstva na dijeljenu poveznicu", + "unable_to_add_assets_to_shared_link": "Nije moguće dodati stavke u dijeljenu vezu", "unable_to_add_comment": "Nije moguće dodati komentar", "unable_to_add_exclusion_pattern": "Nije moguće dodati uzorak izuzimanja", - "unable_to_add_import_path": "Nije moguće dodati putanju uvoza", "unable_to_add_partners": "Nije moguće dodati partnere", - "unable_to_add_remove_archive": "Nije moguće {archived, select, true {ukloniti resurs iz} other {dodati resurs u}} arhivu", + "unable_to_add_remove_archive": "Nije moguće {archived, select, true {ukloniti stavku iz} other {dodati stavku u}} arhivu", "unable_to_add_remove_favorites": "Nije moguće {favorite, select, true {add asset to} other {remove asset from}} favorite", "unable_to_archive_unarchive": "Nije moguće {archived, select, true {arhivirati} other {dearhivirati}}", "unable_to_change_album_user_role": "Nije moguće promijeniti ulogu korisnika albuma", "unable_to_change_date": "Nije moguće promijeniti datum", "unable_to_change_description": "Nije moguće promijeniti opis", - "unable_to_change_favorite": "Nije moguće promijeniti favorita za sredstvo", + "unable_to_change_favorite": "Nije moguće promijeniti favorita za stavku", "unable_to_change_location": "Nije moguće promijeniti lokaciju", "unable_to_change_password": "Nije moguće promijeniti lozinku", "unable_to_change_visibility": "Nije moguće promijeniti vidljivost za {count, plural, one {# osobu} other {# osobe}}", @@ -965,15 +961,13 @@ "unable_to_create_library": "Nije moguće stvoriti biblioteku", "unable_to_create_user": "Nije moguće stvoriti korisnika", "unable_to_delete_album": "Nije moguće izbrisati album", - "unable_to_delete_asset": "Nije moguće izbrisati sredstvo", - "unable_to_delete_assets": "PogreÅĄka pri brisanju sredstava", + "unable_to_delete_asset": "Nije moguće izbrisati stavku", + "unable_to_delete_assets": "PogreÅĄka pri brisanju stavki", "unable_to_delete_exclusion_pattern": "Nije moguće izbrisati uzorak izuzimanja", - "unable_to_delete_import_path": "Nije moguće izbrisati put uvoza", "unable_to_delete_shared_link": "Nije moguće izbrisati dijeljenu poveznicu", "unable_to_delete_user": "Nije moguće izbrisati korisnika", "unable_to_download_files": "Nije moguće preuzeti datoteke", "unable_to_edit_exclusion_pattern": "Nije moguće urediti uzorak izuzimanja", - "unable_to_edit_import_path": "Nije moguće urediti put uvoza", "unable_to_empty_trash": "Nije moguće isprazniti otpad", "unable_to_enter_fullscreen": "Nije moguće otvoriti cijeli zaslon", "unable_to_exit_fullscreen": "Nije moguće izaći iz cijelog zaslona", @@ -986,19 +980,19 @@ "unable_to_log_out_device": "Nije moguće odjaviti uređaj", "unable_to_login_with_oauth": "Nije moguće prijaviti se pomoću OAutha", "unable_to_play_video": "Nije moguće reproducirati video", - "unable_to_reassign_assets_existing_person": "Nije moguće ponovno dodijeliti imovinu na {name, select, null {postojeću osobu} other {{name}}}", - "unable_to_reassign_assets_new_person": "Nije moguće ponovno dodijeliti imovinu novoj osobi", + "unable_to_reassign_assets_existing_person": "Nije moguće ponovno dodijeliti stavke {name, select, null {postojećoj osobi} other {{name}}}", + "unable_to_reassign_assets_new_person": "Nije moguće ponovno dodijeliti stavke novoj osobi", "unable_to_refresh_user": "Nije moguće osvjeÅžiti korisnika", "unable_to_remove_album_users": "Nije moguće ukloniti korisnike iz albuma", "unable_to_remove_api_key": "Nije moguće ukloniti API ključ", - "unable_to_remove_assets_from_shared_link": "Nije moguće ukloniti sredstva iz dijeljene poveznice", + "unable_to_remove_assets_from_shared_link": "Nije moguće ukloniti stavke iz dijeljene veze", "unable_to_remove_library": "Nije moguće ukloniti biblioteku", "unable_to_remove_partner": "Nije moguće ukloniti partnera", "unable_to_remove_reaction": "Nije moguće ukloniti reakciju", "unable_to_reset_password": "Nije moguće ponovno postaviti lozinku", "unable_to_reset_pin_code": "Nije moguće poniÅĄtiti PIN kod", "unable_to_resolve_duplicate": "Nije moguće razrijeÅĄiti duplikat", - "unable_to_restore_assets": "Nije moguće vratiti imovinu", + "unable_to_restore_assets": "Nije moguće vratiti stavke", "unable_to_restore_trash": "Nije moguće vratiti otpad", "unable_to_restore_user": "Nije moguće vratiti korisnika", "unable_to_save_album": "Nije moguće spremiti album", @@ -1012,7 +1006,7 @@ "unable_to_set_feature_photo": "Nije moguće postaviti istaknutu fotografiju", "unable_to_set_profile_picture": "Nije moguće postaviti profilnu sliku", "unable_to_submit_job": "Nije moguće poslati posao", - "unable_to_trash_asset": "Nije moguće baciti sredstvo u smeće", + "unable_to_trash_asset": "Nije moguće premjestiti stavku u smeće", "unable_to_unlink_account": "Nije moguće prekinuti vezu računa", "unable_to_unlink_motion_video": "Nije moguće prekinuti vezu videozapisa pokreta", "unable_to_update_album_cover": "Nije moguće aÅžurirati omot albuma", @@ -1054,13 +1048,13 @@ "face_unassigned": "Nedodijeljeno", "failed": "NeuspjeÅĄno", "failed_to_authenticate": "NeuspjeÅĄna autentikacija", - "failed_to_load_assets": "Neuspjelo učitavanje stavki", + "failed_to_load_assets": "Učitavanje stavki nije uspjelo", "failed_to_load_folder": "Neuspjelo učitavanje mape", "favorite": "Omiljeno", "favorite_action_prompt": "{count} dodano u Omiljeno", "favorite_or_unfavorite_photo": "Omiljena ili neomiljena fotografija", "favorites": "Omiljene", - "favorites_page_no_favorites": "Nema pronađenih omiljenih stavki", + "favorites_page_no_favorites": "Nema pronađenih favorita", "feature_photo_updated": "Istaknuta fotografija aÅžurirana", "features": "Značajke", "features_setting_description": "Upravljajte značajkama aplikacije", @@ -1081,8 +1075,9 @@ "forgot_pin_code_question": "Zaboravili ste svoj PIN?", "forward": "Naprijed", "gcast_enabled": "Google Cast", - "gcast_enabled_description": "Ova značajka učitava vanjske resurse s Googlea kako bi radila.", + "gcast_enabled_description": "Ova značajka učitava vanjske stavke s Googlea kako bi radila.", "general": "Općenito", + "geolocation_instruction_location": "Kliknite na stavku s GPS koordinatama da biste koristili njezinu lokaciju ili odaberite lokaciju izravno s karte", "get_help": "PotraÅžite pomoć", "get_wifiname_error": "Nije moguće dohvatiti naziv Wi-Fi mreÅže. Provjerite imate li potrebna dopuÅĄtenja i jeste li povezani na Wi-Fi mreÅžu", "getting_started": "Početak Rada", @@ -1099,8 +1094,8 @@ "haptic_feedback_switch": "Omogući haptičku povratnu informaciju", "haptic_feedback_title": "Haptička povratna informacija", "has_quota": "Ima kvotu", - "hash_asset": "Hash sadrÅžaja", - "hashed_assets": "Hashirani sadrÅžaji", + "hash_asset": "Hashiraj stavku", + "hashed_assets": "Hashirane stavke", "hashing": "Hashiranje", "header_settings_add_header_tip": "Dodaj zaglavlje", "header_settings_field_validator_msg": "Vrijednost ne moÅže biti prazna", @@ -1115,21 +1110,21 @@ "hide_person": "Sakrij osobu", "hide_unnamed_people": "Sakrij neimenovane osobe", "home_page_add_to_album_conflicts": "Dodano {added} stavki u album {album}. {failed} stavki je već u albumu.", - "home_page_add_to_album_err_local": "Lokalne stavke joÅĄ nije moguće dodati u albume, preskačem", + "home_page_add_to_album_err_local": "Lokalne stavke joÅĄ nije moguće dodati u albume, preskakanje", "home_page_add_to_album_success": "Dodano {added} stavki u album {album}.", - "home_page_album_err_partner": "JoÅĄ nije moguće dodati partnerske stavke u album, preskačem", - "home_page_archive_err_local": "Lokalne stavke joÅĄ nije moguće arhivirati, preskačem", - "home_page_archive_err_partner": "Partnerske stavke nije moguće arhivirati, preskačem", + "home_page_album_err_partner": "JoÅĄ nije moguće dodati partnerove stavke u album, preskakanje", + "home_page_archive_err_local": "Lokalne stavke joÅĄ nije moguće arhivirati, preskakanje", + "home_page_archive_err_partner": "Partnerove stavke nije moguće arhivirati, preskakanje", "home_page_building_timeline": "Izrada vremenske crte", - "home_page_delete_err_partner": "Nije moguće izbrisati partnerske stavke, preskačem", - "home_page_delete_remote_err_local": "Lokalne stavke su u odabiru za udaljeno brisanje, preskačem", - "home_page_favorite_err_local": "Lokalne stavke joÅĄ nije moguće označiti kao omiljene, preskačem", - "home_page_favorite_err_partner": "Partnerske stavke joÅĄ nije moguće označiti kao omiljene, preskačem", + "home_page_delete_err_partner": "Nije moguće izbrisati partnerove stavke, preskakanje", + "home_page_delete_remote_err_local": "Lokalne stavke su u odabiru za udaljeno brisanje, preskakanje", + "home_page_favorite_err_local": "Lokalne stavke joÅĄ nije moguće označiti kao favorite, preskakanje", + "home_page_favorite_err_partner": "Partnerove stavke joÅĄ nije moguće označiti kao favorite, preskakanje", "home_page_first_time_notice": "Ako prvi put koristite aplikaciju, svakako odaberite album za sigurnosnu kopiju kako bi vremenska crta mogla prikazati fotografije i videozapise", - "home_page_locked_error_local": "Nije moguće premjestiti lokalne resurse u zaključanu mapu, preskačem", - "home_page_locked_error_partner": "Nije moguće premjestiti partnerske resurse u zaključanu mapu, preskačem", - "home_page_share_err_local": "Lokalne stavke nije moguće dijeliti putem poveznice, preskačem", - "home_page_upload_err_limit": "Moguće je prenijeti najviÅĄe 30 stavki odjednom, preskačem", + "home_page_locked_error_local": "Nije moguće premjestiti lokalne stavke u zaključanu mapu, preskakanje", + "home_page_locked_error_partner": "Nije moguće premjestiti partnerove stavke u zaključanu mapu, preskakanje", + "home_page_share_err_local": "Lokalne stavke nije moguće dijeliti putem poveznice, preskakanje", + "home_page_upload_err_limit": "Moguće je prenijeti najviÅĄe 30 stavki odjednom, preskakanje", "host": "Domaćin", "hour": "Sat", "hours": "Sati", @@ -1160,7 +1155,7 @@ "in_archive": "U arhivi", "include_archived": "Uključi arhivirano", "include_shared_albums": "Uključi dijeljene albume", - "include_shared_partner_assets": "Uključite zajedničku imovinu partnera", + "include_shared_partner_assets": "Uključi zajedničke stavke partnera", "individual_share": "Pojedinačni udio", "individual_shares": "Pojedinačna dijeljenja", "info": "Informacije", @@ -1185,7 +1180,7 @@ "keep": "ZadrÅži", "keep_all": "ZadrÅži Sve", "keep_this_delete_others": "ZadrÅži ovo, izbriÅĄi ostale", - "kept_this_deleted_others": "ZadrÅžana je ova datoteka i izbrisano {count, plural, one {# datoteka} other {# datoteka}}", + "kept_this_deleted_others": "ZadrÅžana je ova stavka i {count, plural, one {izbrisana # datoteka} few {izbrisane # datoteke} other {izbrisano # datoteka}}", "keyboard_shortcuts": "Prečaci tipkovnice", "language": "Jezik", "language_no_results_subtitle": "PokuÅĄajte prilagoditi pojam za pretraÅživanje", @@ -1206,7 +1201,7 @@ "library_options": "Mogućnosti biblioteke", "library_page_device_albums": "Albumi na uređaju", "library_page_new_album": "Novi album", - "library_page_sort_asset_count": "Broj resursa", + "library_page_sort_asset_count": "Broj stavki", "library_page_sort_created": "Datum kreiranja", "library_page_sort_last_modified": "Zadnja izmjena", "library_page_sort_title": "Naslov albuma", @@ -1221,8 +1216,8 @@ "loading": "Učitavanje", "loading_search_results_failed": "Učitavanje rezultata pretraÅživanja nije uspjelo", "local": "Lokalno", - "local_asset_cast_failed": "Nije moguće reproducirati sadrÅžaj koji nije prenesen na posluÅžitelj", - "local_assets": "Lokalni sadrÅžaji", + "local_asset_cast_failed": "Nije moguće emitirati stavku koja nije prenesena na posluÅžitelj", + "local_assets": "Lokalne stavke", "local_network": "Lokalna mreÅža", "local_network_sheet_info": "Aplikacija će se povezati s posluÅžiteljem putem ovog URL-a kada koristi određenu Wi-Fi mreÅžu", "location_permission": "Dozvola za lokaciju", @@ -1279,7 +1274,7 @@ "manage_your_devices": "Upravljajte uređajima na kojima ste prijavljeni", "manage_your_oauth_connection": "Upravljajte svojom OAuth vezom", "map": "Karta", - "map_assets_in_bounds": "{count, plural, =0 {Nema fotografija na ovom području} one {# fotografija} few {#fotografije} other {# fotografija}}", + "map_assets_in_bounds": "{count, plural, =0 {Nema fotografija na ovom području} one {# fotografija} few {# fotografije} other {# fotografija}}", "map_cannot_get_user_location": "Nije moguće dohvatiti lokaciju korisnika", "map_location_dialog_yes": "Da", "map_location_picker_page_use_location": "Koristi ovu lokaciju", @@ -1305,6 +1300,7 @@ "mark_as_read": "Označi kao pročitano", "marked_all_as_read": "Označeno sve kao pročitano", "matches": "Podudaranja", + "matching_assets": "Odgovarajuće stavke", "media_type": "Vrsta medija", "memories": "Sjećanja", "memories_all_caught_up": "Sve ste pregledali", @@ -1316,10 +1312,10 @@ "memory_lane_title": "Traka sjećanja {title}", "menu": "Izbornik", "merge": "Spoji", - "merge_people": "Spajanje ljudi", + "merge_people": "Spoji osobe", "merge_people_limit": "MoÅžete spojiti najviÅĄe 5 lica odjednom", "merge_people_prompt": "ÅŊelite li spojiti ove ljude? Ova radnja je nepovratna.", - "merge_people_successfully": "UspjeÅĄno spajanje ljudi", + "merge_people_successfully": "UspjeÅĄno spajanje osoba", "merged_people_count": "{count, plural, one {# Spojena osoba} other {# Spojene osobe}}", "minimize": "Minimiziraj", "minute": "Minuta", @@ -1334,11 +1330,11 @@ "move_to_lock_folder_action_prompt": "{count} dodano u zaključanu mapu", "move_to_locked_folder": "Premjesti u zaključanu mapu", "move_to_locked_folder_confirmation": "Ove fotografije i videozapis bit će uklonjeni iz svih albuma i bit će vidljivi samo iz zaključane mape", - "moved_to_archive": "PremjeÅĄteno {count, plural, one {# resurs} other {# resursa}} u arhivu", - "moved_to_library": "PremjeÅĄteno {count, plural, one {# resurs} other {# resursa}} u biblioteku", + "moved_to_archive": "{count, plural, one {PremjeÅĄtena # stavka} few {PremjeÅĄtene # stavke} other {PremjeÅĄteno # stavki}} u arhivu", + "moved_to_library": "{count, plural, one {PremjeÅĄtena # stavka} few {PremjeÅĄtene # stavke} other {PremjeÅĄteno # stavki}} u biblioteku", "moved_to_trash": "PremjeÅĄteno u smeće", - "multiselect_grid_edit_date_time_err_read_only": "Nije moguće urediti datum stavki samo za čitanje, preskačem", - "multiselect_grid_edit_gps_err_read_only": "Nije moguće urediti lokaciju stavki samo za čitanje, preskačem", + "multiselect_grid_edit_date_time_err_read_only": "Nije moguće urediti datum stavki označenih kao samo za čitanje, preskakanje", + "multiselect_grid_edit_gps_err_read_only": "Nije moguće urediti lokaciju stavki označenih kao samo za čitanje, preskakanje", "mute_memories": "Isključi uspomene", "my_albums": "Moji albumi", "name": "Ime", @@ -1368,23 +1364,27 @@ "no_assets_message": "KLIKNITE DA PRENESETE SVOJU PRVU FOTOGRAFIJU", "no_assets_to_show": "Nema stavki za prikaz", "no_cast_devices_found": "Nisu pronađeni uređaji za reprodukciju", + "no_checksum_local": "Nema dostupnog kontrolnog zbroja - nije moguće dohvatiti lokalne stavke", + "no_checksum_remote": "Nema dostupnog kontrolnog zbroja - nije moguće dohvatiti udaljenu stavku", "no_duplicates_found": "Nisu pronađeni duplikati.", "no_exif_info_available": "Nema dostupnih exif podataka", "no_explore_results_message": "Prenesite viÅĄe fotografija da istraÅžite svoju zbirku.", "no_favorites_message": "Dodajte favorite kako biste brzo pronaÅĄli svoje najbolje slike i videozapise", "no_libraries_message": "Stvorite vanjsku biblioteku za pregled svojih fotografija i videozapisa", + "no_local_assets_found": "Nisu pronađene lokalne stavke s ovim kontrolnim zbrojem", "no_locked_photos_message": "Fotografije i videozapisi u zaključanoj mapi su skriveni i neće se prikazivati dok pregledavate ili pretraÅžujete svoju biblioteku.", "no_name": "Bez imena", "no_notifications": "Nema notifikacija", "no_people_found": "Nema pronađenih odgovarajućih osoba", "no_places": "Nema mjesta", + "no_remote_assets_found": "Nisu pronađene udaljene stavke s ovim kontrolnim zbrojem", "no_results": "Nema rezultata", "no_results_description": "PokuÅĄajte sa sinonimom ili općenitijom ključnom riječi", "no_shared_albums_message": "Stvorite album za dijeljenje fotografija i videozapisa s osobama u svojoj mreÅži", "no_uploads_in_progress": "Nema aktivnih prijenosa", "not_in_any_album": "Ni u jednom albumu", "not_selected": "Nije odabrano", - "note_apply_storage_label_to_previously_uploaded assets": "Napomena: Da biste primijenili Oznaku za skladiÅĄtenje na prethodno prenesena sredstva, pokrenite", + "note_apply_storage_label_to_previously_uploaded assets": "Napomena: Da biste primijenili oznaku pohrane na prethodno prenesene stavke, pokrenite", "notes": "BiljeÅĄke", "nothing_here_yet": "Ovdje joÅĄ nema ničega", "notification_permission_dialog_content": "Da biste omogućili obavijesti, idite u Postavke i odaberite dopusti.", @@ -1426,7 +1426,7 @@ "owner": "Vlasnik", "partner": "Partner", "partner_can_access": "{partner} moÅže pristupiti", - "partner_can_access_assets": "Sve vaÅĄe fotografije i videi osim onih u arhivi i smeću", + "partner_can_access_assets": "Sve vaÅĄe fotografije i videozapisi osim onih u arhivi i smeću", "partner_can_access_location": "Mjesto otkuda je slika otkinuta", "partner_list_user_photos": "{user} fotografije", "partner_list_view_all": "PrikaÅži sve", @@ -1453,17 +1453,17 @@ "pause_memories": "Pauziraj sjećanja", "paused": "Pauzirano", "pending": "Na čekanju", - "people": "Ljudi", + "people": "Osobe", "people_edits_count": "Izmjenjeno {count, plural, one {# osoba} other {# osobe}}", "people_feature_description": "Pregledavanje fotografija i videozapisa grupiranih po osobama", "people_sidebar_description": "PrikaÅžite poveznicu na Osobe na bočnoj traci", "permanent_deletion_warning": "Upozorenje za nepovratno brisanje", - "permanent_deletion_warning_setting_description": "PrikaÅži upozorenje prilikom trajnog brisanja sredstava", + "permanent_deletion_warning_setting_description": "PrikaÅži upozorenje prilikom trajnog brisanja stavki", "permanently_delete": "Nepovratno obriÅĄi", "permanently_delete_assets_count": "Trajno izbriÅĄi {count, plural, one {datoteku} other {datoteke}}", - "permanently_delete_assets_prompt": "Da li ste sigurni da Åželite trajni izbrisati {count, plural, one {ovu datoteku?} other {ove # datoteke?}}Ovo cˁe ih također ukloniti {count, plural, one {iz njihovog} other {iz njihovih}} albuma.", - "permanently_deleted_asset": "Trajno izbrisano sredstvo", - "permanently_deleted_assets_count": "Trajno izbrisano {count, plural, one {# datoteka} other {# datoteke}}", + "permanently_delete_assets_prompt": "Jeste li sigurni da Åželite trajno izbrisati {count, plural, one {ovu stavku?} other {ove # stavke?}} Ovo cˁe {count, plural, one {ju također ukloniti iz njezinog} other {ih također ukloniti iz njihovih}} albuma.", + "permanently_deleted_asset": "Trajno izbrisana stavka", + "permanently_deleted_assets_count": "Trajno {count, plural, one {izbrisana # stavka} few {izbrisane # stavke} other {izbisano # stavki}}", "permission": "Dozvola", "permission_empty": "VaÅĄa dozvola ne smije biti prazna", "permission_onboarding_back": "Natrag", @@ -1497,6 +1497,7 @@ "play_memories": "Pokreni sjećanja", "play_motion_photo": "Reproduciraj Pokretnu fotografiju", "play_or_pause_video": "Reproducirajte ili pauzirajte video", + "play_original_video_setting_description": "Preferirajte reprodukciju originalnih videozapisa umjesto transkodiranih videozapisa. Ako originalna stavka nije kompatibilna, moÅžda se neće ispravno reproducirati.", "please_auth_to_access": "Molimo autentificirajte se za pristup", "port": "Port", "preferences_settings_subtitle": "Upravljajte postavkama aplikacije", @@ -1551,6 +1552,7 @@ "purchase_server_description_2": "Status podupiratelja", "purchase_server_title": "PosluÅžitelj (Server)", "purchase_settings_server_activated": "Ključem proizvoda posluÅžitelja upravlja administrator", + "query_asset_id": "Ispitaj ID stavke", "queue_status": "Stavljanje u red {count}/{total}", "rating": "Broj zvjezdica", "rating_clear": "ObriÅĄi ocjenu", @@ -1559,9 +1561,9 @@ "reaction_options": "Mogućnosti reakcije", "read_changelog": "Pročitajte Dnevnik promjena", "reassign": "Ponovno dodijeli", - "reassigned_assets_to_existing_person": "Ponovo dodijeljeno{count, plural, one {# datoteka} other {# datoteke}} postojecˁoj {name, select, null {osobi} other {{name}}}", - "reassigned_assets_to_new_person": "Ponovo dodijeljeno {count, plural, one {# datoteka} other {# datoteke}} novoj osobi", - "reassing_hint": "Dodijelite odabrane datoteke postojećoj osobi", + "reassigned_assets_to_existing_person": "Ponovno dodijeljeno {count, plural, one {# stavka} few {# stavke} other {# stavki}} {name, select, null {postojećoj osobi} other {{name}}}", + "reassigned_assets_to_new_person": "{count, plural, one {# stavka ponovno dodijeljena} few {# stavke ponovno dodijeljene} other {# stavki ponovno dodijeljeno}} novoj osobi", + "reassing_hint": "Dodijelite odabrane stavke postojećoj osobi", "recent": "Nedavno", "recent-albums": "Nedavni albumi", "recent_searches": "Nedavne pretrage", @@ -1581,13 +1583,13 @@ "refreshing_metadata": "OsvjeÅžavanje metapodataka", "regenerating_thumbnails": "Obnavljanje sličica", "remote": "Udaljeno", - "remote_assets": "Udaljeni sadrÅžaji", + "remote_assets": "Udaljene stavke", "remove": "Ukloni", - "remove_assets_album_confirmation": "Jeste li sigurni da Åželite ukloniti {count, plural, one {# datoteku} other {# datoteke}} iz albuma?", - "remove_assets_shared_link_confirmation": "Jeste li sigurni da Åželite ukloniti {count, plural, one {# datoteku} other {# datoteke}} iz ove dijeljene veze?", - "remove_assets_title": "Ukloniti datoteke?", + "remove_assets_album_confirmation": "Jeste li sigurni da Åželite ukloniti {count, plural, one {# stavku} few {# stavke} other {# stavki}} iz albuma?", + "remove_assets_shared_link_confirmation": "Jeste li sigurni da Åželite ukloniti {count, plural, one {# stavku} few {# stavke} other {# stavki}} iz ove dijeljene veze?", + "remove_assets_title": "Ukloniti stavke?", "remove_custom_date_range": "Ukloni prilagođeni datumski raspon", - "remove_deleted_assets": "Ukloni izbrisana sredstva", + "remove_deleted_assets": "Ukloni izbrisane stavke", "remove_from_album": "Ukloni iz albuma", "remove_from_album_action_prompt": "{count} uklonjeno iz albuma", "remove_from_favorites": "Ukloni iz favorita", @@ -1606,7 +1608,7 @@ "removed_from_favorites_count": "{count, plural, other {Uklonjeno #}} iz omiljenih", "removed_memory": "Uklonjena uspomena", "removed_photo_from_memory": "Uklonjena fotografija iz uspomene", - "removed_tagged_assets": "Uklonjena oznaka iz {count, plural, one {# datoteke} other {# datoteka}}", + "removed_tagged_assets": "Uklonjena oznaka iz {count, plural, one {# stavke} few {# stavke} other {# stavki}}", "rename": "Preimenuj", "repair": "Popravi", "repair_no_results_message": "Nepraćene datoteke i datoteke koje nedostaju pojavit će se ovdje", @@ -1617,7 +1619,7 @@ "rescan": "Ponovno skeniraj", "reset": "Resetiraj", "reset_password": "Resetiraj lozinku", - "reset_people_visibility": "PoniÅĄti vidljivost ljudi", + "reset_people_visibility": "PoniÅĄti vidljivost osoba", "reset_pin_code": "Resetiraj PIN kod", "reset_pin_code_description": "Ako ste zaboravili svoj PIN kod, moÅžete kontaktirati administratora posluÅžitelja da ga resetira", "reset_pin_code_success": "PIN kod je uspjeÅĄno resetiran", @@ -1632,7 +1634,7 @@ "restore_all": "Oporavi sve", "restore_trash_action_prompt": "{count} vraćeno iz smeća", "restore_user": "Vrati korisnika", - "restored_asset": "Obnovljena datoteka", + "restored_asset": "Obnovljena stavka", "resume": "Nastavi", "retry_upload": "Ponovi prijenos", "review_duplicates": "Pregledajte duplikate", @@ -1679,7 +1681,7 @@ "search_for": "TraÅži", "search_for_existing_person": "PotraÅžite postojeću osobu", "search_no_more_result": "Nema viÅĄe rezultata", - "search_no_people": "Nema ljudi", + "search_no_people": "Nema osoba", "search_no_people_named": "Nema osoba s imenom \"{name}\"", "search_no_result": "Nema rezultata, pokuÅĄajte s drugim pojmom za pretraÅživanje ili kombinacijom", "search_options": "Opcije pretraÅživanja", @@ -1703,7 +1705,7 @@ "search_suggestion_list_smart_search_hint_1": "Pametna pretraga je omogućena prema zadanim postavkama, za pretraÅživanje metapodataka koristite sintaksu ", "search_suggestion_list_smart_search_hint_2": "m:vaÅĄ-pojam-pretrage", "search_tags": "TraÅži oznake...", - "search_timezone": "PretraÅži vremenske zone", + "search_timezone": "PretraÅživanje vremenske zone...", "search_type": "Vrsta pretraÅživanja", "search_your_photos": "PretraÅžite svoje fotografije", "searching_locales": "TraÅženje lokaliteta...", @@ -1744,7 +1746,7 @@ "set_date_of_birth": "Postavi datum rođenja", "set_profile_picture": "Postavi profilnu sliku", "set_slideshow_to_fullscreen": "Postavi prezentaciju na cijeli zaslon", - "set_stack_primary_asset": "Postavi kao glavni sadrÅžaj", + "set_stack_primary_asset": "Postavi kao glavnu stavku", "setting_image_viewer_help": "Preglednik detalja prvo učitava malu sličicu, zatim učitava pregled srednje veličine (ako je omogućen), te na kraju učitava original (ako je omogućen).", "setting_image_viewer_original_subtitle": "Omogućite za učitavanje originalne slike pune rezolucije (velika!). Onemogućite za smanjenje potroÅĄnje podataka (i mreÅžne i na predmemoriji uređaja).", "setting_image_viewer_original_title": "Učitaj originalnu sliku", @@ -1759,10 +1761,10 @@ "setting_notifications_notify_minutes": "{count} minuta", "setting_notifications_notify_never": "nikad", "setting_notifications_notify_seconds": "{count} sekundi", - "setting_notifications_single_progress_subtitle": "Detaljne informacije o napretku prijenosa po stavci", + "setting_notifications_single_progress_subtitle": "Detaljne informacije o napretku prijenosa po stavki", "setting_notifications_single_progress_title": "PrikaÅži detaljni napredak sigurnosnog kopiranja u pozadini", "setting_notifications_subtitle": "Prilagodite postavke obavijesti", - "setting_notifications_total_progress_subtitle": "Ukupni napredak prijenosa (zavrÅĄeno/ukupno stavki)", + "setting_notifications_total_progress_subtitle": "Ukupni napredak prijenosa (zavrÅĄeno/ukupan broj stavki)", "setting_notifications_total_progress_title": "PrikaÅži ukupni napredak sigurnosnog kopiranja u pozadini", "setting_video_viewer_looping_title": "Ponavljanje", "setting_video_viewer_original_video_subtitle": "Prilikom strujanja videozapisa s posluÅžitelja, reproducirajte original čak i kada je dostupna transkodirana verzija. MoÅže doći do međuspremanja. Videozapisi dostupni lokalno reproduciraju se u originalnoj kvaliteti bez obzira na ovu postavku.", @@ -1772,9 +1774,9 @@ "settings_saved": "Postavke su spremljene", "setup_pin_code": "Postavi PIN kod", "share": "Podijeli", - "share_action_prompt": "Podijeljeno {count} sadrÅžaja", + "share_action_prompt": "{count, plural, one {Podijeljena # stavka} few {Podijeljene # stavke} other {Podijeljeno # stavki}}", "share_add_photos": "Dodaj fotografije", - "share_assets_selected": "{count} odabrano", + "share_assets_selected": "{count, plural, one {# odabran} few {# odabrana} other {# odabrano}}", "share_dialog_preparing": "Priprema...", "share_link": "Podijeli Link", "shared": "Podijeljeno", @@ -1823,7 +1825,7 @@ "shared_link_password_description": "Zahtjevaj loziku za pristup ovom dijeljenom linku", "shared_links": "Dijeljene poveznice", "shared_links_description": "Podijelite fotografije i videozapise putem poveznice", - "shared_photos_and_videos_count": "{assetCount, plural, =1 {# podijeljena fotografija ili videozapis.} few {# podijeljene fotografije i videozapisa.} other {# podijeljenih fotografija i videozapisa.}}", + "shared_photos_and_videos_count": "{assetCount, plural, one {# podijeljena fotografija ili videozapis.} few {# podijeljene fotografije i videozapisa.} other {# podijeljenih fotografija i videozapisa.}}", "shared_with_me": "Podijeljeno sa mnom", "shared_with_partner": "Podijeljeno s {partner}", "sharing": "Dijeljenje", @@ -1881,7 +1883,7 @@ "stack_duplicates": "SloÅži duplikate", "stack_select_one_photo": "Odaberi jednu glavnu fotografiju za slaganje", "stack_selected_photos": "SloÅži odabrane fotografije", - "stacked_assets_count": "SloÅženo {count, plural, =1 {# stavka} few {# stavke} other {# stavki}}", + "stacked_assets_count": "{count, plural, one {SloÅžena # stavka} few {SloÅžene # stavke} other {SloÅženo # stavki}}", "stacktrace": "Pracenje stoga", "start": "Početak", "start_date": "Datum početka", @@ -1919,7 +1921,7 @@ "tag_not_found_question": "Nije moguće pronaći oznaku? Napravite novu oznaku.", "tag_people": "Označi osobe", "tag_updated": "AÅžurirana oznaka: {tag}", - "tagged_assets": "Označena {count, plural, =1 {# stavka} few {# stavke} other {# stavki}}", + "tagged_assets": "{count, plural, =1 {Označena # stavka} few {Označene # stavke} other {Označeno # stavki}}", "tags": "Oznake", "tap_to_run_job": "Dodirnite za pokretanje zadatka", "template": "PredloÅžak", @@ -1961,7 +1963,7 @@ "trash_emptied": "IspraÅžnjeno smeće", "trash_no_results_message": "Ovdje će se prikazati bačene fotografije i videozapisi.", "trash_page_delete_all": "IzbriÅĄi sve", - "trash_page_empty_trash_dialog_content": "ÅŊelite li isprazniti svoje stavke u smeću? Ove stavke bit će trajno uklonjene iz Immicha", + "trash_page_empty_trash_dialog_content": "ÅŊelite li isprazniti svoje stavke u smeću? Ove stavke će biti trajno uklonjene iz Immicha", "trash_page_info": "Stavke u smeću bit će trajno izbrisane nakon {days} dana", "trash_page_no_assets": "Nema stavki u smeću", "trash_page_restore_all": "Vrati sve", @@ -1995,21 +1997,22 @@ "unselect_all_in": "PoniÅĄti odabir svih u {group}", "unstack": "Razdvoji", "unstack_action_prompt": "{count} razloÅženo", - "unstacked_assets_count": "Razdvojena {count, plural, =1 {# stavka} few {# stavke} other {# stavki}}", + "unstacked_assets_count": "{count, plural, one {Razdvojena # stavka} few {Razvdvojene # stavke} other {Razdvojeno # stavki}}", "untagged": "Bez oznaka", "up_next": "Sljedeće", + "update_location_action_prompt": "AÅžuriraj lokaciju ({count, plural, one {# odabrane stavke} few {# odabrane stavke} other {# odabranih stavki}}) s:", "updated_at": "AÅžurirano", "updated_password": "Lozinka aÅžurirana", "upload": "Prijenos", "upload_action_prompt": "{count} u redu za prijenos", "upload_concurrency": "Istovremeni prijenosi", "upload_details": "Detalji prijenosa", - "upload_dialog_info": "ÅŊelite li sigurnosno kopirati odabranu stavku(e) na posluÅžitelj?", + "upload_dialog_info": "ÅŊelite li sigurnosno kopirati odabrane stavke na posluÅžitelj?", "upload_dialog_title": "Prenesi stavku", - "upload_errors": "Prijenos zavrÅĄen s {count, plural, =1 {# greÅĄkom} few {# greÅĄke} other {# greÅĄaka}}, osvjeÅžite stranicu da biste vidjeli nove prenesene stavke.", + "upload_errors": "Prijenos zavrÅĄen s {count, plural, one {# greÅĄkom} few {# greÅĄke} other {# greÅĄaka}}, osvjeÅžite stranicu da biste vidjeli nove prenesene stavke.", "upload_finished": "Prijenos zavrÅĄen", "upload_progress": "Preostalo {remaining, number} - Obrađeno {processed, number}/{total, number}", - "upload_skipped_duplicates": "Preskočena {count, plural, =1 {# duplicirana stavka} few {# duplicirane stavke} other {# dupliciranih stavki}}", + "upload_skipped_duplicates": "Preskočena {count, plural, one {# duplicirana stavka} few {# duplicirane stavke} other {# dupliciranih stavki}}", "upload_status_duplicates": "Duplikati", "upload_status_errors": "GreÅĄke", "upload_status_uploaded": "Preneseno", @@ -2025,7 +2028,7 @@ "user": "Korisnik", "user_has_been_deleted": "Ovaj korisnik je izbrisan.", "user_id": "ID korisnika", - "user_liked": "{user} je označio/la sviđa mi se {type, select, photo {ovu fotografiju} video {ovaj videozapis} asset {ovu stavku} other {to}}", + "user_liked": "{user} je lajkao/la {type, select, photo {ovu fotografiju} video {ovaj videozapis} asset {ovu stavku} other {to}}", "user_pin_code_settings": "PIN kod", "user_pin_code_settings_description": "Upravljajte svojim PIN kodom", "user_privacy": "Privatnost korisnika", @@ -2037,7 +2040,7 @@ "user_usage_stats_description": "Pregledajte statistiku koriÅĄtenja računa", "username": "Korisničko ime", "users": "Korisnici", - "users_added_to_album_count": "Dodan{o/a} {count, plural, one {# korisnik} few {# korisnika} other {# korisnika}} u album", + "users_added_to_album_count": "{count, plural, one {Dodan # korisnik} few {Dodana # korisnika} other {Dodano # korisnika}} u album", "utilities": "Alati", "validate": "Provjeri valjanost", "validate_endpoint_error": "Molimo unesite valjanu URL adresu", diff --git a/i18n/hu.json b/i18n/hu.json index e67ad73041..37cfe562a0 100644 --- a/i18n/hu.json +++ b/i18n/hu.json @@ -17,7 +17,6 @@ "add_birthday": "SzÃŧletÊsnap hozzÃĄadÃĄsa", "add_endpoint": "VÊgpont megadÃĄsa", "add_exclusion_pattern": "KihagyÃĄsi minta (pattern) hozzÃĄadÃĄsa", - "add_import_path": "ImportÃĄlÃĄsi Ãētvonal hozzÃĄadÃĄsa", "add_location": "Helyszín megadÃĄsa", "add_more_users": "TovÃĄbbi felhasznÃĄlÃŗk hozzÃĄadÃĄsa", "add_partner": "Partner hozzÃĄadÃĄsa", @@ -112,7 +111,6 @@ "jobs_failed": "{jobCount, plural, other {# sikertelen}}", "library_created": "KÊptÃĄr lÊtrehozva: {library}", "library_deleted": "KÊptÃĄr tÃļrÃļlve", - "library_import_path_description": "Add meg az importÃĄlandÃŗ mappÃĄt. A rendszer ebben a mappÃĄban Ês Ãļsszes almappÃĄjÃĄban fog kÊpeket Ês videÃŗkat keresni.", "library_scanning": "Időszakos ÁtfÊsÃŧlÊs", "library_scanning_description": "A kÊptÃĄr időszakos ÃĄtfÊsÃŧlÊsÊnek beÃĄllítÃĄsa", "library_scanning_enable_description": "KÊptÃĄr időszakos ÃĄtfÊsÃŧlÊsÊnek engedÊlyezÊse", @@ -894,8 +892,6 @@ "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", - "edit_import_paths": "ImportÃĄlÃĄsi Útvonalak MÃŗdosítÃĄsa", "edit_key": "Kulcs mÃŗdosítÃĄsa", "edit_link": "Link mÃŗdosítÃĄsa", "edit_location": "Hely mÃŗdosítÃĄsa", @@ -967,7 +963,6 @@ "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", "profile_picture_transparent_pixels": "ProfilkÊpek nem tartalmazhatnak ÃĄtlÃĄtszÃŗ pixeleket. KÃļzelíts rÃĄ Ês/vagy mozgasd a kÊpet.", @@ -977,7 +972,6 @@ "unable_to_add_assets_to_shared_link": "Elemeket megosztott linkhez adÃĄsa sikertelen", "unable_to_add_comment": "HozzÃĄszÃŗlÃĄs sikertelen", "unable_to_add_exclusion_pattern": "KivÊtel minta (pattern) hozzÃĄadÃĄsa sikertelen", - "unable_to_add_import_path": "ImportÃĄlÃĄsi Ãētvonal hozzÃĄadÃĄsa sikertelen", "unable_to_add_partners": "Partnerek hozzÃĄadÃĄsa sikertelen", "unable_to_add_remove_archive": "Az elem {archived, select, true {eltÃĄvolítÃĄsa at ArchívumbÃŗl} other {hozzÃĄadÃĄsa Archívumhoz}} sikertelen", "unable_to_add_remove_favorites": "Az elem {favorite, select, true {eltÃĄvolítÃĄsa a Kedvencekből} other {hozzÃĄadÃĄsa a Kedvencekhez}} sikertelen", @@ -1000,12 +994,10 @@ "unable_to_delete_asset": "Elem tÃļrlÊse sikertelen", "unable_to_delete_assets": "Hiba az elemek tÃļrlÊsekor", "unable_to_delete_exclusion_pattern": "KizÃĄrÃĄsi minta (pattern) tÃļrlÊse sikertelen", - "unable_to_delete_import_path": "Import Ãētvonal tÃļrlÊse sikertelen", "unable_to_delete_shared_link": "Megosztott link tÃļrlÊse sikertelen", "unable_to_delete_user": "FelhasznÃĄlÃŗ tÃļrlÊse sikertelen", "unable_to_download_files": "FÃĄjlok letÃļltÊse sikertelen", "unable_to_edit_exclusion_pattern": "KizÃĄrÃĄsi minta (pattern) mÃŗdosítÃĄsa sikertelen", - "unable_to_edit_import_path": "Import Ãētvonal mÃŗdosítÃĄsa sikertelen", "unable_to_empty_trash": "LomtÃĄr ÃŧrítÊse sikertelen", "unable_to_enter_fullscreen": "Teljes kÊpernyőre vÃĄltÃĄs sikertelen", "unable_to_exit_fullscreen": "KilÊpÊs a teljes kÊpernyős mÃŗdbÃŗl sikertelen", diff --git a/i18n/id.json b/i18n/id.json index 906a0f8ce0..0bc2e22136 100644 --- a/i18n/id.json +++ b/i18n/id.json @@ -17,7 +17,6 @@ "add_birthday": "Tambahkan Tanggal Lahir", "add_endpoint": "Tambahkan titik akhir", "add_exclusion_pattern": "Tambahkan pola pengecualian", - "add_import_path": "Tambahkan jalur impor", "add_location": "Tambahkan lokasi", "add_more_users": "Tambahkan lebih banyak pengguna", "add_partner": "Tambahkan partner", @@ -112,7 +111,6 @@ "jobs_failed": "{jobCount, plural, other {# gagal}}", "library_created": "Pustaka dibuat: {library}", "library_deleted": "Pustaka dihapus", - "library_import_path_description": "Tentukan folder untuk diimpor. Folder ini, termasuk subfolder, akan dipindai gambar dan videonya.", "library_scanning": "Pemindaian Berkala", "library_scanning_description": "Atur pemindaian pustaka berkala", "library_scanning_enable_description": "Aktifkan pemindaian pustaka berkala", @@ -159,8 +157,15 @@ "machine_learning_ocr_enabled": "Aktfikan OCR", "machine_learning_ocr_enabled_description": "Jika dinonaktifkan, gambar-gambar tidak akan mengalami pengenalan teks.", "machine_learning_ocr_max_resolution": "Resolusi maksimum", - "machine_learning_settings": "Pengaturan Pembelajaran Mesin", - "machine_learning_settings_description": "Keola fitur dan pengaturan pembelajaran mesin", + "machine_learning_ocr_max_resolution_description": "Pratinjau di atas resolusi ini akan disesuaikan ukurannya sambil mempertahankan aspek rasio. Nilai yang lebih tinggi lebih akurat, tetapi membutuhkan waktu yang lama untuk memproses dan membutuhkan memori lebih banyak.", + "machine_learning_ocr_min_detection_score": "Skor deteksi minimum", + "machine_learning_ocr_min_detection_score_description": "Skor kepercayaan minimum untuk teks yang akan dideteksi berkisar antara 0-1. Nilai yang lebih rendah akan mendeteksi teks yang lebih banyak, tetapi dapat menyebabkan hasil yang positif palsu.", + "machine_learning_ocr_min_recognition_score": "Skor pengenalan minimum", + "machine_learning_ocr_min_score_recognition_description": "Skor kepercayaan minimum untuk teks yang akan dideteksi berkisar antara 0-1. Nilai yang lebih rendah akan mendeteksi teks yang lebih banyak, tetapi dapat menyebabkan hasil yang positif palsu.", + "machine_learning_ocr_model": "Model OCR", + "machine_learning_ocr_model_description": "Model server lebih akurat daripada model mobile, tetapi membutuhkan waktu yang lebih lama untuk memproses dan menggunakan memori yang lebih banyak.", + "machine_learning_settings": "Pengaturan Mesin Pembelajaran", + "machine_learning_settings_description": "Kelola fitur dan pengaturan mesin pembelajaran", "machine_learning_smart_search": "Pencarian Pintar", "machine_learning_smart_search_description": "Cari gambar secara semantik menggunakan penyematan CLIP", "machine_learning_smart_search_enabled": "Aktifkan pencarian pintar", @@ -216,6 +221,8 @@ "notification_email_ignore_certificate_errors_description": "Abaikan eror validasi sertifikat TLS (tidak disarankan)", "notification_email_password_description": "Kata sandi yang digunakan ketika mengautentikasi dengan server surel", "notification_email_port_description": "Porta server surel (mis. 25, 465, atau 587)", + "notification_email_secure": "SMTPS", + "notification_email_secure_description": "Gunakan SMTPS (SMTP melalui TLS)", "notification_email_sent_test_email_button": "Kirim surel uji coba dan simpan", "notification_email_setting_description": "Pengaturan pengiriman notifikasi surel", "notification_email_test_email": "Kirim surel uji coba", @@ -248,6 +255,7 @@ "oauth_storage_quota_default_description": "Kuota dalam GiB akan digunakan jika tidak ada klaim yang diberikan.", "oauth_timeout": "Waktu Permintaan Habis", "oauth_timeout_description": "Waktu habis untuk permintaan dalam milidetik", + "ocr_job_description": "Gunakan mesin pembelajaran untuk mengenali teks di dalam gambar", "password_enable_description": "Masuk dengan surel dan kata sandi", "password_settings": "Log Masuk Kata Sandi", "password_settings_description": "Kelola pengaturan log masuk kata sandi", @@ -471,10 +479,14 @@ "api_key_description": "Nilai ini hanya akan ditampilkan sekali. Pastikan untuk menyalin sebelum menutup jendela ini.", "api_key_empty": "Nama Kunci API Anda seharusnya jangan kosong", "api_keys": "Kunci API", + "app_architecture_variant": "Varian (Arsitektur)", "app_bar_signout_dialog_content": "Apakah kamu yakin ingin keluar akun?", "app_bar_signout_dialog_ok": "Ya", "app_bar_signout_dialog_title": "Keluar akun", + "app_download_links": "Link Download Aplikasi", "app_settings": "Pengaturan Aplikasi", + "app_stores": "App Stores", + "app_update_available": "Pembaruan aplikasi tersedia", "appears_in": "Muncul dalam", "apply_count": "Terapkan ({count, number})", "archive": "Arsip", @@ -558,6 +570,7 @@ "backup_albums_sync": "Sinkronisasi cadangan album", "backup_all": "Semua", "backup_background_service_backup_failed_message": "Gagal mencadangkan aset. Mencoba lagiâ€Ļ", + "backup_background_service_complete_notification": "Pencadangan aset selesai", "backup_background_service_connection_failed_message": "Koneksi ke server gagal. Mencoba ulangâ€Ļ", "backup_background_service_current_upload_notification": "Mengunggah {filename}", "backup_background_service_default_notification": "Memeriksa aset baruâ€Ļ", @@ -667,6 +680,8 @@ "change_password_description": "Ini merupakan pertama kali Anda masuk ke sistem atau ada permintaan untuk mengubah kata sandi Anda. Silakan masukkan kata sandi baru di bawah.", "change_password_form_confirm_password": "Konfirmasi Sandi", "change_password_form_description": "Halo {name},\n\nIni pertama kali anda masuk ke dalam sistem atau terdapat permintaan penggantian kata sandi. Harap masukkan password baru.", + "change_password_form_log_out": "Keluar dari semua perangkat lain", + "change_password_form_log_out_description": "Disarankan untuk keluar dari semua perangkat lain", "change_password_form_new_password": "Sandi Baru", "change_password_form_password_mismatch": "Sandi tidak cocok", "change_password_form_reenter_new_password": "Masukkan Ulang Sandi Baru", @@ -744,6 +759,7 @@ "create": "Buat", "create_album": "Buat album", "create_album_page_untitled": "Tak berjudul", + "create_api_key": "Buat kunci API", "create_library": "Buat Pustaka", "create_link": "Buat tautan", "create_link_to_share": "Buat tautan untuk dibagikan", @@ -773,6 +789,7 @@ "daily_title_text_date_year": "E, dd MMM yyyy", "dark": "Gelap", "dark_theme": "Nyalakan mode gelap", + "date": "Tanggal", "date_after": "Tanggal setelah", "date_and_time": "Tanggal dan Waktu", "date_before": "Tanggal sebelum", @@ -875,8 +892,6 @@ "edit_description_prompt": "Silakan pilih deskripsi baru:", "edit_exclusion_pattern": "Sunting pola pengecualian", "edit_faces": "Sunting wajah", - "edit_import_path": "Sunting jalur pengimporan", - "edit_import_paths": "Sunting Jalur Pengimporan", "edit_key": "Sunting kunci", "edit_link": "Sunting tautan", "edit_location": "Sunting lokasi", @@ -948,7 +963,6 @@ "failed_to_stack_assets": "Gagal menumpuk aset", "failed_to_unstack_assets": "Gagal membatalkan penumpukan aset", "failed_to_update_notification_status": "Gagal membarui status notifikasi", - "import_path_already_exists": "Jalur pengimporan ini sudah ada.", "incorrect_email_or_password": "Surel atau kata sandi tidak benar", "paths_validation_failed": "{paths, plural, one {# jalur} other {# jalur}} gagal validasi", "profile_picture_transparent_pixels": "Foto profil tidak dapat memiliki piksel transparan. Silakan perbesar dan/atau pindah posisi gambar.", @@ -958,7 +972,6 @@ "unable_to_add_assets_to_shared_link": "Tidak dapat menambahkan aset ke tautan terbagi", "unable_to_add_comment": "Tidak dapat menambahkan komentar", "unable_to_add_exclusion_pattern": "Tidak dapat menambahkan pola pengecualian", - "unable_to_add_import_path": "Tidak dapat menambahkan jalur pengimporan", "unable_to_add_partners": "Tidak dapat menambahkan partner", "unable_to_add_remove_archive": "Tidak dapat {archived, select, true {menghapus aset dari} other {menambahkan aset ke}} arsip", "unable_to_add_remove_favorites": "Tidak dapat {favorite, select, true {menambahkan aset ke} other {menghapus aset dari}} favorit", @@ -981,12 +994,10 @@ "unable_to_delete_asset": "Tidak dapat menghapus aset", "unable_to_delete_assets": "Terjadi eror menghapus aset", "unable_to_delete_exclusion_pattern": "Tidak dapat menghapus pola pengecualian", - "unable_to_delete_import_path": "Tidak dapat menghapus jalur pengimporan", "unable_to_delete_shared_link": "Tidak dapat menghapus tautan terbagi", "unable_to_delete_user": "Tidak dapat menghapus pengguna", "unable_to_download_files": "Tidak dapat mengunduh berkas", "unable_to_edit_exclusion_pattern": "Tidak dapat menyunting pola pengecualian", - "unable_to_edit_import_path": "Tidak dapat menyunting jalur pengimporan", "unable_to_empty_trash": "Tidak dapat menghapus sampah", "unable_to_enter_fullscreen": "Tidak dapat memasuki layar penuh", "unable_to_exit_fullscreen": "Tidak dapat keluar dari layar penuh", @@ -1042,6 +1053,7 @@ "exif_bottom_sheet_description_error": "Galat saat memperbaharui deskripsi", "exif_bottom_sheet_details": "RINCIAN", "exif_bottom_sheet_location": "LOKASI", + "exif_bottom_sheet_no_description": "Tidak ada deskripsi", "exif_bottom_sheet_people": "ORANG", "exif_bottom_sheet_person_add_person": "Tambah nama", "exit_slideshow": "Keluar dari Salindia", @@ -1080,6 +1092,7 @@ "features_setting_description": "Kelola fitur aplikasi", "file_name": "Nama berkas", "file_name_or_extension": "Nama berkas atau ekstensi", + "file_size": "Ukuran berkas", "filename": "Nama berkas", "filetype": "Jenis berkas", "filter": "Filter", @@ -1243,6 +1256,7 @@ "local_media_summary": "Ringkasan Media Lokal", "local_network": "Jaringan Lokal", "local_network_sheet_info": "Aplikasi akan terhubung ke server melalui URL ini saat menggunakan jaringan Wi-Fi yang ditentukan", + "location": "Lokasi", "location_permission": "Izin lokasi", "location_permission_content": "Untuk menggunakan fitur pengalihan otomatis, Immich memerlukan izin lokasi yang akurat agar dapat membaca nama jaringan Wi-Fi saat ini", "location_picker_choose_on_map": "Pilih di peta", @@ -1347,6 +1361,8 @@ "minute": "Menit", "minutes": "Menit", "missing": "Hilang", + "mobile_app": "Aplikasi Seluler", + "mobile_app_download_onboarding_note": "Unduh aplikasi seluler pendamping dengan menggunakan opsi berikut", "model": "Model", "month": "Bulan", "monthly_title_text_date_format": "BBBB t", @@ -1365,6 +1381,8 @@ "my_albums": "Album saya", "name": "Nama", "name_or_nickname": "Nama atau nama panggilan", + "navigate": "Navigasi", + "navigate_to_time": "Navigasi ke Waktu", "network_requirement_photos_upload": "Gunakan data seluler untuk cadangkan foto", "network_requirement_videos_upload": "Gunakan data seluler untuk cadangkan video", "network_requirements": "Persyaratan Jaringan", @@ -1374,6 +1392,7 @@ "never": "Tidak pernah", "new_album": "Album baru", "new_api_key": "Kunci API Baru", + "new_date_range": "Rentang tanggal baru", "new_password": "Kata sandi baru", "new_person": "Orang baru", "new_pin_code": "Kode PIN baru", @@ -1424,6 +1443,9 @@ "notifications": "Notifikasi", "notifications_setting_description": "Kelola notifikasi", "oauth": "OAuth", + "obtainium_configurator": "Konfigurator Obtainium", + "obtainium_configurator_instructions": "Gunakan Obtainium untuk menginstal dan memperbarui aplikasi Android secara langsung dari rilis GitHub Immich. Buat kunci API dan pilih varian untuk membuat tautan konfigurasi Obtainium anda", + "ocr": "OCR", "official_immich_resources": "Sumber Daya Immich Resmi", "offline": "Luring", "offset": "Ofset", @@ -1528,6 +1550,9 @@ "play_memories": "Putar kenangan", "play_motion_photo": "Putar Foto Gerak", "play_or_pause_video": "Putar atau jeda video", + "play_original_video": "Putar video asli", + "play_original_video_setting_description": "Lebih menyukai memutar video asli daripada video yang telah dikonversi. Jika aset asli tidak kompatibel, video mungkin tidak dapat diputar dengan benar.", + "play_transcoded_video": "Putar video yang telah dikonversi", "please_auth_to_access": "Silakan autentikasi untuk mengakses", "port": "Porta", "preferences_settings_subtitle": "Kelola preferensi aplikasi", @@ -1664,6 +1689,7 @@ "reset_sqlite_confirmation": "Apakah Anda yakin ingin mengatur ulang basis data SQLite? Setelah tindakan ini, Anda harus keluar lalu masuk kembali untuk melakukan sinkronisasi ulang data", "reset_sqlite_success": "Berhasil mengatur ulang basis data SQLite", "reset_to_default": "Atur ulang ke bawaan", + "resolution": "Resolusi", "resolve_duplicates": "Mengatasi duplikat", "resolved_all_duplicates": "Semua duplikat terselesaikan", "restore": "Pulihkan", @@ -1682,6 +1708,7 @@ "running": "Berjalan", "save": "Simpan", "save_to_gallery": "Simpan ke galeri", + "saved": "Disimpan", "saved_api_key": "Kunci API Tersimpan", "saved_profile": "Profil disimpan", "saved_settings": "Pengaturan disimpan", @@ -1698,6 +1725,9 @@ "search_by_description_example": "Hari mendaki di Sapa", "search_by_filename": "Cari berdasarkan nama berkas atau ekstensi", "search_by_filename_example": "mis. IMG_1234.JPG atau PNG", + "search_by_ocr": "Cari dengan OCR", + "search_by_ocr_example": "Latte", + "search_camera_lens_model": "Pencarian model lensa...", "search_camera_make": "Cari merek kamera...", "search_camera_model": "Cari model kamera...", "search_city": "Cari kota...", @@ -1714,6 +1744,7 @@ "search_filter_location_title": "Pilih Lokasi", "search_filter_media_type": "Tipe Media", "search_filter_media_type_title": "Pilih jenis media", + "search_filter_ocr": "Cari dengan OCR", "search_filter_people_title": "Pilih orang", "search_for": "Cari", "search_for_existing_person": "Cari orang yang sudah ada", @@ -1776,6 +1807,7 @@ "server_online": "Server Daring", "server_privacy": "Privasi server", "server_stats": "Statistik Server", + "server_update_available": "Pembaruan server tersedia", "server_version": "Versi Server", "set": "Atur", "set_as_album_cover": "Atur sebagai kover album", @@ -1804,6 +1836,8 @@ "setting_notifications_subtitle": "Atur setelan notifikasi", "setting_notifications_total_progress_subtitle": "Progres keseluruhan unggahan (selesai/total aset)", "setting_notifications_total_progress_title": "Tampilkan progres total pencadangan latar belakang", + "setting_video_viewer_auto_play_subtitle": "Otomatis memutar video saat dibuka", + "setting_video_viewer_auto_play_title": "Putar video secara otomatis", "setting_video_viewer_looping_title": "Ulangi", "setting_video_viewer_original_video_subtitle": "Ketika melakukan streaming video dari server, sistem akan memutar versi asli meskipun tersedia hasil transkode. Pengaturan ini dapat menyebabkan terjadinya buffering. Video yang tersedia secara lokal akan selalu diputar dalam kualitas asli tanpa terpengaruh oleh pengaturan ini.", "setting_video_viewer_original_video_title": "Paksa video asli", @@ -1983,6 +2017,7 @@ "theme_setting_three_stage_loading_title": "Aktifkan pemuatan tiga tahap", "they_will_be_merged_together": "Mereka akan digabungkan bersama", "third_party_resources": "Sumber Daya Pihak Ketiga", + "time": "Waktu", "time_based_memories": "Kenangan berbasis waktu", "timeline": "Lini masa", "timezone": "Zona waktu", @@ -2015,6 +2050,7 @@ "troubleshoot": "Pemecahan Masalah", "type": "Jenis", "unable_to_change_pin_code": "Tidak dapat mengubah kode PIN", + "unable_to_check_version": "Tidak dapat memeriksa versi aplikasi atau server", "unable_to_setup_pin_code": "Tidak dapat memasang kode PIN", "unarchive": "Keluarkan dari arsip", "unarchive_action_prompt": "Sebanyak {count} item telah dihapus dari Arsip", diff --git a/i18n/is.json b/i18n/is.json new file mode 100644 index 0000000000..0967ef424b --- /dev/null +++ b/i18n/is.json @@ -0,0 +1 @@ +{} diff --git a/i18n/it.json b/i18n/it.json index 0429f92d0b..97f486d951 100644 --- a/i18n/it.json +++ b/i18n/it.json @@ -17,7 +17,6 @@ "add_birthday": "Aggiungi compleanno", "add_endpoint": "Aggiungi un endpoint", "add_exclusion_pattern": "Aggiungi un pattern di esclusione", - "add_import_path": "Aggiungi un percorso per l’importazione", "add_location": "Aggiungi posizione", "add_more_users": "Aggiungi altri utenti", "add_partner": "Aggiungi partner", @@ -32,6 +31,7 @@ "add_to_album_toggle": "Attiva/disattiva selezione per {album}", "add_to_albums": "Aggiungi ad album", "add_to_albums_count": "Aggiungi ad album ({count})", + "add_to_bottom_bar": "Aggiungi a", "add_to_shared_album": "Aggiungi ad album condiviso", "add_upload_to_stack": "Aggiungi caricamento allo stack", "add_url": "Aggiungi URL", @@ -76,7 +76,7 @@ "exclusion_pattern_description": "I modelli di esclusione ti permettono di ignorare file e cartelle durante la scansione della tua libreria. Questo è utile se hai cartelle che contengono file che non vuoi importare, come ad esempio, i file RAW.", "external_library_management": "Gestione Librerie Esterne", "face_detection": "Rilevamento Volti", - "face_detection_description": "Rileva i volti presenti negli assets utilizzando il machine learning. Per i video, viene presa in considerazione solo la miniatura. \"Aggiorna\" (ri-)processerà tutti gli assets. \"Reset\" inoltre elimina tutti i dati dei volti correnti. \"Mancanti\" seleziona solo gli assets che non sono ancora stati processati. I volti rilevati verranno selezionati per il riconoscimento facciale dopo che il rilevamento dei volti sarà stato completato, raggruppandoli in persone esistenti e/o nuove.", + "face_detection_description": "Rileva i volti presenti negli asset utilizzando il machine-learning. Per i video, viene presa in considerazione solo la miniatura. Utilizzare \"Ripristina\" per cancellare tutti i volti presenti, \"Ricarica\" per processare di nuovo tutti gli asset, \"Mancanti\" processa solo gli asset che non sono ancora stati processati. I volti rilevati verranno selezionati per il riconoscimento facciale dopo che il rilevamento dei volti sarà stato completato, raggruppandoli in persone esistenti e/o nuove.", "facial_recognition_job_description": "Raggruppa i volti rilevati in persone. Questo processo viene eseguito dopo che il rilevamento volti è stato completato. \"Reset\" (ri-)unisce tutti i volti. \"Mancanti\" processa i volti che non hanno una persona assegnata.", "failed_job_command": "Il comando {command} è fallito per il processo: {job}", "force_delete_user_warning": "ATTENZIONE: Questo rimuoverà immediatamente l'utente e tutti i suoi assets. Non è possibile tornare indietro e i file non potranno essere recuperati.", @@ -112,7 +112,6 @@ "jobs_failed": "{jobCount, plural, one {# fallito} other {# falliti}}", "library_created": "Creata libreria: {library}", "library_deleted": "Libreria eliminata", - "library_import_path_description": "Specifica una cartella da importare. Questa cartella e le sue sottocartelle, verranno analizzate per cercare immagini e video.", "library_scanning": "Scansione periodica", "library_scanning_description": "Configura la scansione periodica della libreria", "library_scanning_enable_description": "Attiva la scansione periodica della libreria", @@ -173,6 +172,10 @@ "machine_learning_smart_search_enabled": "Attiva ricerca intelligente", "machine_learning_smart_search_enabled_description": "Se disabilitato le immagini non saranno codificate per la ricerca intelligente.", "machine_learning_url_description": "URL del server machine learning. Se sono stati forniti piÚ di un URL, verrà testato un server alla volta finchÊ uno non risponderà, in ordine dal primo all'ultimo. I server che non rispondono saranno temporaneamente ignorati finchÊ non torneranno online.", + "maintenance_settings": "Manutenzione", + "maintenance_settings_description": "Metti Immich in modalità manutenzione.", + "maintenance_start": "Avvia modalità manutenzione", + "maintenance_start_error": "Errore nell'avvio della modalità manutenzione.", "manage_concurrency": "Gestisci Concorrenza", "manage_log_settings": "Gestisci le impostazioni dei log", "map_dark_style": "Tema scuro", @@ -430,6 +433,7 @@ "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, other {Età #}}", + "album": "Album", "album_added": "Album aggiunto", "album_added_notification_setting_description": "Ricevi una notifica email quando sei aggiunto ad un album condiviso", "album_cover_updated": "Copertina dell'album aggiornata", @@ -475,6 +479,7 @@ "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", + "allowed": "Consentito", "alt_text_qr_code": "Immagine QR", "anti_clockwise": "Senso anti-orario", "api_key": "Chiave API", @@ -894,8 +899,6 @@ "edit_description_prompt": "Selezionare una nuova descrizione:", "edit_exclusion_pattern": "Modifica pattern di esclusione", "edit_faces": "Modifica volti", - "edit_import_path": "Modifica percorso di importazione", - "edit_import_paths": "Modifica Percorsi di Importazione", "edit_key": "Modifica chiave", "edit_link": "Modifica link", "edit_location": "Modifica posizione", @@ -967,7 +970,6 @@ "failed_to_stack_assets": "Errore durante il raggruppamento degli assets", "failed_to_unstack_assets": "Errore durante la separazione degli assets", "failed_to_update_notification_status": "Aggiornamento stato notifiche fallito", - "import_path_already_exists": "Questo percorso di importazione già esiste.", "incorrect_email_or_password": "Email o password non corretta", "paths_validation_failed": "{paths, plural, one {# percorso} other {# percorsi}} hanno fallito la validazione", "profile_picture_transparent_pixels": "Le foto profilo non possono avere pixel trasparenti. Riprova ingrandendo e/o muovendo l'immagine.", @@ -977,7 +979,6 @@ "unable_to_add_assets_to_shared_link": "Impossibile aggiungere gli assets al link condiviso", "unable_to_add_comment": "Impossibile aggiungere commento", "unable_to_add_exclusion_pattern": "Impossibile aggiungere pattern di esclusione", - "unable_to_add_import_path": "Impossibile aggiungere percorso di importazione", "unable_to_add_partners": "Impossibile aggiungere compagni", "unable_to_add_remove_archive": "Impossibile {archived, select, true {rimuovere l'asset dall'archivio} other {aggiungere l'asset all'archivio}}", "unable_to_add_remove_favorites": "Impossibile {favorite, select, true {rimuovere l'asset dai} other {aggiungere l'asset ai}} preferiti", @@ -1000,12 +1001,10 @@ "unable_to_delete_asset": "Impossibile cancellare asset", "unable_to_delete_assets": "Errore durante l'eliminazione degli asset", "unable_to_delete_exclusion_pattern": "Impossibile cancellare pattern di esclusione", - "unable_to_delete_import_path": "Impossibile cancellare percorso di importazione", "unable_to_delete_shared_link": "Impossibile cancellare link condiviso", "unable_to_delete_user": "Impossibile cancellare utente", "unable_to_download_files": "Impossibile scaricare i file", "unable_to_edit_exclusion_pattern": "Impossibile modificare pattern di esclusione", - "unable_to_edit_import_path": "Impossibile cambiare percorso di importazione", "unable_to_empty_trash": "Impossibile svuotare il cestino", "unable_to_enter_fullscreen": "Impossibile aprire l'applicazione a schermo intero", "unable_to_exit_fullscreen": "Impossibile uscire dallo schermo intero", @@ -1196,6 +1195,8 @@ "import_path": "Importa percorso", "in_albums": "In {count, plural, one {# album} other {# album}}", "in_archive": "In archivio", + "in_year": "Nel {year}", + "in_year_selector": "Nel", "include_archived": "Includi Archiviati", "include_shared_albums": "Includi album condivisi", "include_shared_partner_assets": "Includi elementi condivisi dai compagni", @@ -1232,6 +1233,7 @@ "language_setting_description": "Seleziona la tua lingua predefinita", "large_files": "File pesanti", "last": "Ultimo", + "last_months": "{count, plural, one {Ultimo mese} other {Ultimi # mesi}}", "last_seen": "Ultimo accesso", "latest_version": "Ultima Versione", "latitude": "Latitudine", @@ -1312,8 +1314,17 @@ "loop_videos_description": "Abilita per riprodurre automaticamente un video in loop nel visualizzatore dei dettagli.", "main_branch_warning": "Stai utilizzando una versione di sviluppo. Ti consigliamo vivamente di utilizzare una versione di rilascio!", "main_menu": "Menu Principale", + "maintenance_description": "Immich è stato posto in modalità manutenzione.", + "maintenance_end": "Termina modalità manutenzione", + "maintenance_end_error": "Errore nel terminare la modalità manutenzione.", + "maintenance_logged_in_as": "Accesso effettuato come {user}", + "maintenance_title": "Temporaneamente non disponibile", "make": "Produttore", "manage_geolocation": "Gestisci posizione", + "manage_media_access_rationale": "Questo permesso è richiesto per gestire correttamente lo spostamento del materiale nel cestino e per recuperarlo da esso.", + "manage_media_access_settings": "Apri impostazioni", + "manage_media_access_subtitle": "Permetti all'app di Immich di gestire e spostare file multimediali.", + "manage_media_access_title": "Accesso alla gestione di contenuti multimediali", "manage_shared_links": "Gestisci link condivisi", "manage_sharing_with_partners": "Gestisci la condivisione con i compagni", "manage_the_app_settings": "Gestisci le impostazioni dell'applicazione", @@ -1377,6 +1388,7 @@ "more": "Di piÚ", "move": "Sposta", "move_off_locked_folder": "Sposta al di fuori della cartella privata", + "move_to": "Sposta in", "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", @@ -1406,6 +1418,7 @@ "new_pin_code": "Nuovo codice PIN", "new_pin_code_subtitle": "Questa è la prima volta che accedi alla cartella privata. Crea un codice PIN per accedere in modo sicuro a questa pagina", "new_timeline": "Nuova Timeline", + "new_update": "Nuovo aggiornamento", "new_user_created": "Nuovo utente creato", "new_version_available": "NUOVA VERSIONE DISPONIBILE", "newest_first": "Prima recenti", @@ -1421,6 +1434,7 @@ "no_cast_devices_found": "Nessun dispositivo di trasmissione trovato", "no_checksum_local": "Nessun checksum disponibile: impossibile recuperare gli assets locali", "no_checksum_remote": "Nessun checksum disponibile: impossibile recuperare l'asset remoto", + "no_devices": "Nessun device autorizzato", "no_duplicates_found": "Nessun duplicato trovato.", "no_exif_info_available": "Nessuna informazione exif disponibile", "no_explore_results_message": "Carica piÚ foto per esplorare la tua collezione.", @@ -1437,6 +1451,7 @@ "no_results_description": "Prova ad usare un sinonimo oppure una parola chiave piÚ generica", "no_shared_albums_message": "Crea un album per condividere foto e video con le persone nella tua rete", "no_uploads_in_progress": "Nessun upload in corso", + "not_allowed": "Non permesso", "not_available": "N/A", "not_in_any_album": "In nessun album", "not_selected": "Non selezionato", @@ -1547,6 +1562,8 @@ "photos_count": "{count, plural, one {{count, number} Foto} other {{count, number} Foto}}", "photos_from_previous_years": "Foto dagli anni scorsi", "pick_a_location": "Scegli una posizione", + "pick_custom_range": "Intervallo personalizzato", + "pick_date_range": "Seleziona un periodo temporale", "pin_code_changed_successfully": "Codice PIN cambiato correttamente", "pin_code_reset_successfully": "Codice PIN resettato con successo", "pin_code_setup_successfully": "Codice PIN impostato correttamente", @@ -1716,6 +1733,7 @@ "running": "In esecuzione", "save": "Salva", "save_to_gallery": "Salva in galleria", + "saved": "Salvato", "saved_api_key": "Chiave API salvata", "saved_profile": "Profilo salvato", "saved_settings": "Impostazioni salvate", @@ -1813,6 +1831,8 @@ "server_offline": "Server Offline", "server_online": "Server Online", "server_privacy": "Privacy del Server", + "server_restarting_description": "Questa pagina si aggiornerà per un momento.", + "server_restarting_title": "Il server si sta riavviando", "server_stats": "Statistiche Server", "server_update_available": "Aggiornamento Server disponibile", "server_version": "Versione Server", @@ -2026,6 +2046,7 @@ "third_party_resources": "Risorse di Terze Parti", "time": "Orario", "time_based_memories": "Ricordi basati sul tempo", + "time_based_memories_duration": "Numero di secondi per visualizzare ciascuna immagine.", "timeline": "Linea temporale", "timezone": "Fuso orario", "to_archive": "Archivio", @@ -2166,6 +2187,7 @@ "welcome": "Benvenuto", "welcome_to_immich": "Benvenuto in Immich", "wifi_name": "Nome rete Wi-Fi", + "workflow": "Flusso di lavoro", "wrong_pin_code": "Codice PIN errato", "year": "Anno", "years_ago": "{years, plural, one {# anno} other {# anni}} fa", diff --git a/i18n/ja.json b/i18n/ja.json index c3e53082e8..1fb9fbbd21 100644 --- a/i18n/ja.json +++ b/i18n/ja.json @@ -17,7 +17,6 @@ "add_birthday": "čĒ•į”Ÿæ—Ĩã‚’č¨­åŽš", "add_endpoint": "ã‚¨ãƒŗãƒ‰ãƒã‚¤ãƒŗãƒˆã‚’čŋŊ加", "add_exclusion_pattern": "除外パã‚ŋãƒŧãƒŗã‚’čŋŊ加", - "add_import_path": "ã‚¤ãƒŗãƒãƒŧトパ゚をčŋŊ加", "add_location": "場所をčŋŊ加", "add_more_users": "ãƒĻãƒŧã‚ļãƒŧをčŋŊ加", "add_partner": "パãƒŧトナãƒŧをčŋŊ加", @@ -33,6 +32,7 @@ "add_to_albums": "ã‚ĸãƒĢバムãĢčŋŊ加", "add_to_albums_count": "{count}つぎã‚ĸãƒĢバムへčŋŊ加", "add_to_shared_album": "å…ąæœ‰ã‚ĸãƒĢバムãĢčŋŊ加", + "add_upload_to_stack": "゚ã‚ŋックãĢã‚ĸップロãƒŧドをčŋŊ加", "add_url": "URLをčŋŊ加", "added_to_archive": "ã‚ĸãƒŧã‚ĢイブãĢしぞした", "added_to_favorites": "お気ãĢå…ĨりãĢčŋŊ加済", @@ -111,7 +111,6 @@ "jobs_failed": "{jobCount, plural, other {#äģļ}}ãŽå¤ąæ•—", "library_created": "äŊœæˆã•れたナイブナãƒĒīŧš{library}", "library_deleted": "ナイブナãƒĒは削除されぞした", - "library_import_path_description": "ã‚¤ãƒŗãƒãƒŧトするフりãƒĢダを指厚しぞす。こぎフりãƒĢダはã‚ĩブフりãƒĢダをåĢめãĻ、į”ģ像と動į”ģãŽã‚šã‚­ãƒŖãƒŗãŒčĄŒã‚ã‚Œãžã™ã€‚", "library_scanning": "åŽšæœŸã‚šã‚­ãƒŖãƒŗ", "library_scanning_description": "ナイブナãƒĒãŽåŽšæœŸã‚šã‚­ãƒŖãƒŗč¨­åŽš", "library_scanning_enable_description": "ナイブナãƒĒåŽšæœŸã‚šã‚­ãƒŖãƒŗãŽæœ‰åŠšåŒ–", @@ -119,7 +118,7 @@ "library_settings_description": "外部ナイブナãƒĒč¨­åŽšã‚’įŽĄį†ã—ãžã™", "library_tasks_description": "ã‚ĸã‚ģットがčŋŊ加ぞたは変更された外部ナイブナãƒĒã‚’ã‚šã‚­ãƒŖãƒŗã™ã‚‹", "library_watching_enable_description": "外部ナイブナãƒĒãŽãƒ•ã‚Ąã‚¤ãƒĢå¤‰æ›´ã‚’į›ŖčĻ–", - "library_watching_settings": "ナイブナãƒĒᛪčĻ–īŧˆåŽŸé¨“įš„īŧ‰", + "library_watching_settings": "ナイブナãƒĒᛪčĻ–īŧˆåŽŸé¨“įš„æŠŸčƒŊīŧ‰", "library_watching_settings_description": "å¤‰æ›´ã•ã‚ŒãŸãƒ•ã‚Ąã‚¤ãƒĢをč‡Ēå‹•įš„ãĢᛪčĻ–", "logging_enable_description": "ログぎ有劚化", "logging_level_description": "有劚ãĒ場合ãĢäŊŋį”¨ã•ã‚Œã‚‹ãƒ­ã‚° ãƒŦベãƒĢ。", @@ -153,6 +152,18 @@ "machine_learning_min_detection_score_description": "éĄ”ã‚’æ¤œå‡ēするためぎ最äŊŽäŋĄé ŧã‚šã‚ŗã‚ĸを0から1ãŽį¯„å›˛ã§č¨­åŽšã—ãžã™ã€‚å€¤ã‚’äŊŽãã™ã‚‹ã¨ã‚ˆã‚Šå¤šããŽéĄ”を検å‡ēできぞすが、čĒ¤æ¤œå‡ēぎ可čƒŊ性がéĢ˜ããĒりぞす。", "machine_learning_min_recognized_faces": "顔čĒč­˜ãŽæœ€äŊŽå€¤", "machine_learning_min_recognized_faces_description": "äēēį‰Šã¨ã—ãĻäŊœæˆã•れるためãĢåŋ…čρãĒ最äŊŽčĒč­˜éĄ”æ•°ã‚’č¨­åŽšã—ãžã™ã€‚ã“ãŽå€¤ã‚’åĸ—ã‚„ã™ã¨éĄ”čĒč­˜ãŽį˛žåēĻが向上しぞすが、そぎäģŖã‚ã‚ŠãĢéĄ”ãŒäēēį‰Šã¨ã—ãĻčĒč­˜ã•ã‚ŒãĒい可čƒŊ性もéĢ˜ããĒりぞす。", + "machine_learning_ocr": "OCR", + "machine_learning_ocr_description": "į”ģ像内ぎ文字をčĒč­˜ã™ã‚‹ãŸã‚ãĢ抟æĸ°å­Ļįŋ’ã‚’äŊŋį”¨ã™ã‚‹", + "machine_learning_ocr_enabled": "OCRを有劚ãĢする", + "machine_learning_ocr_enabled_description": "į„ĄåŠšãĢすると、į”ģ像は文字čĒč­˜ã•ã‚Œãžã›ã‚“.", + "machine_learning_ocr_max_resolution": "æœ€å¤§č§ŖåƒåēĻ", + "machine_learning_ocr_max_resolution_description": "ã“ãŽč§ŖåƒåēĻをčļ…えるプãƒŦビãƒĨãƒŧは、ã‚ĸ゚ペクト比をįļ­æŒã—ãĒがらã‚ĩイã‚ēãŒå¤‰æ›´ã•ã‚Œãžã™ã€‚å€¤ã‚’å¤§ããã™ã‚‹ã¨į˛žåēĻは向上しぞすが、å‡ĻᐆãĢæ™‚é–“ãŒã‹ã‹ã‚Šã€ãƒĄãƒĸãƒĒäŊŋį”¨é‡ã‚‚åĸ—加しぞす。", + "machine_learning_ocr_min_detection_score": "検å‡ēã‚šã‚ŗã‚ĸぎ最äŊŽå€¤", + "machine_learning_ocr_min_detection_score_description": "検å‡ēするテキ゚トぎ最小äŋĄé ŧåēĻã‚šã‚ŗã‚ĸを0から1ãŽį¯„å›˛ã§č¨­åŽšã—ãžã™ã€‚å€¤ãŒäŊŽã„ãģお多くぎテキ゚トが検å‡ēされぞすが、čĒ¤æ¤œå‡ēがį™ēį”Ÿã™ã‚‹å¯čƒŊ性がありぞす。", + "machine_learning_ocr_min_recognition_score": "čĒč­˜ã‚šã‚ŗã‚ĸぎ最小値", + "machine_learning_ocr_min_score_recognition_description": "検å‡ēされたテキ゚トをčĒč­˜ã™ã‚‹ãŸã‚ãŽæœ€äŊŽäŋĄé ŧã‚šã‚ŗã‚ĸを0から1ãŽį¯„å›˛ã§č¨­åŽšã—ãžã™ã€‚ã€‚å€¤ãŒäŊŽã„ãģお多くぎテキ゚トがčĒč­˜ã•ã‚Œãžã™ãŒã€čĒ¤æ¤œå‡ēがį™ēį”Ÿã™ã‚‹å¯čƒŊ性がありぞす。", + "machine_learning_ocr_model": "OCRãƒĸデãƒĢ", + "machine_learning_ocr_model_description": "ã‚ĩãƒŧバãƒŧãƒĸデãƒĢはãƒĸバイãƒĢãƒĸデãƒĢã‚ˆã‚Šã‚‚æ­Ŗįĸēですが、å‡ĻᐆãĢæ™‚é–“ãŒã‹ã‹ã‚Šã€ãƒĄãƒĸãƒĒも多くäŊŋį”¨ã—ãžã™ã€‚", "machine_learning_settings": "抟æĸ°å­Ļįŋ’設åޚ", "machine_learning_settings_description": "抟æĸ°å­Ļįŋ’ぎ抟čƒŊã¨č¨­åŽšã‚’įŽĄį†ã—ãžã™", "machine_learning_smart_search": "゚マãƒŧトã‚ĩãƒŧチ", @@ -160,6 +171,10 @@ "machine_learning_smart_search_enabled": "゚マãƒŧトã‚ĩãƒŧチを有劚ãĢしぞす", "machine_learning_smart_search_enabled_description": "į„ĄåŠšãĢすると、į”ģ像ぱマãƒŧトã‚ĩãƒŧãƒį”¨ãĢã‚¨ãƒŗã‚ŗãƒŧドされぞせん。", "machine_learning_url_description": "抟æĸ°å­Ļįŋ’ã‚ĩãƒŧバãƒŧぎURLã€‚č¤‡æ•°ãŽURLãŒč¨­åŽšã•ã‚ŒãŸå ´åˆã¯1つずつã‚ĩãƒŧバãƒŧãŒæ­Ŗå¸¸ãĢåŋœį­”するぞでæŽĨįļšã‚’čŠĻãŋぞす。åŋœį­”ぎãĒいã‚ĩãƒŧバãƒŧはã‚ĒãƒŗãƒŠã‚¤ãƒŗãĢãĒã‚‹ãžã§ä¸€æ™‚įš„ãĢį„ĄčĻ–ã•ã‚Œãžã™ã€‚", + "maintenance_settings": "ãƒĄãƒŗãƒ†ãƒŠãƒŗã‚š", + "maintenance_settings_description": "Immichã‚’ãƒĄãƒŗãƒ†ãƒŠãƒŗã‚šãƒĸãƒŧドãĢする。", + "maintenance_start": "ãƒĄãƒŗãƒ†ãƒŠãƒŗã‚šãƒĸãƒŧドを開始する", + "maintenance_start_error": "ãƒĄãƒŗãƒ†ãƒŠãƒŗã‚šãƒĸãƒŧドぎ開始ãĢå¤ąæ•—ã—ãžã—ãŸã€‚", "manage_concurrency": "åŒæ™‚åŽŸčĄŒæ•°ãŽįŽĄį†", "manage_log_settings": "ãƒ­ã‚°č¨­åŽšã‚’įŽĄį†ã—ãžã™", "map_dark_style": "ダãƒŧクãƒĸãƒŧド", @@ -210,6 +225,8 @@ "notification_email_ignore_certificate_errors_description": "TLSč¨ŧ明書ぎ検č¨ŧエナãƒŧã‚’į„ĄčĻ–ã—ãžã™īŧˆéžæŽ¨åĨ¨īŧ‰", "notification_email_password_description": "ãƒĄãƒŧãƒĢã‚ĩãƒŧバãƒŧでぎčĒč¨ŧ時ãĢäŊŋį”¨ã™ã‚‹ãƒ‘ã‚šãƒ¯ãƒŧãƒ‰ã‚’č¨­åŽšã—ãžã™", "notification_email_port_description": "ãƒĄãƒŧãƒĢã‚ĩãƒŧバãƒŧぎポãƒŧトį•Ēåˇã‚’æŒ‡åŽšã—ãžã™īŧˆäž‹īŧš25, 465, 587īŧ‰", + "notification_email_secure": "SMTPS", + "notification_email_secure_description": "SMTPSをäŊŋᔍ (SMTP over TLS)", "notification_email_sent_test_email_button": "ãƒ†ã‚šãƒˆãƒĄãƒŧãƒĢを送äŋĄã—ãĻč¨­åŽšã‚’äŋå­˜", "notification_email_setting_description": "ãƒĄãƒŧãƒĢ通įŸĨぎ送äŋĄč¨­åޚ", "notification_email_test_email": "ãƒ†ã‚šãƒˆãƒĄãƒŧãƒĢを送äŋĄ", @@ -242,6 +259,7 @@ "oauth_storage_quota_default_description": "クãƒŦãƒŧムが提䞛されãĻいãĒい場合ãĢäŊŋį”¨ã•ã‚Œã‚‹ã‚¯ã‚Šãƒŧã‚ŋをGiB単äŊã§č¨­åŽšã—ãžã™ã€‚", "oauth_timeout": "ãƒĒクエ゚トã‚ŋイムã‚ĸã‚Ļト", "oauth_timeout_description": "ãƒĒクエ゚トぎã‚ŋイムã‚ĸã‚Ļトぞでぎ時間(ms)", + "ocr_job_description": "抟æĸ°å­Ļįŋ’ã‚’äŊŋį”¨ã—ãĻį”ģ像内ぎテキ゚トをčĒč­˜ã™ã‚‹", "password_enable_description": "ãƒĄãƒŧãƒĢã‚ĸドãƒŦ゚とパ゚ワãƒŧãƒ‰ã§ãƒ­ã‚°ã‚¤ãƒŗ", "password_settings": "パ゚ワãƒŧド ãƒ­ã‚°ã‚¤ãƒŗ", "password_settings_description": "パ゚ワãƒŧド ãƒ­ã‚°ã‚¤ãƒŗč¨­åŽšã‚’įŽĄį†ã—ãžã™", @@ -332,7 +350,7 @@ "transcoding_max_b_frames": "最大BフãƒŦãƒŧム", "transcoding_max_b_frames_description": "値をéĢ˜ãã™ã‚‹ã¨åœ§į¸ŽåŠšįŽ‡ãŒå‘ä¸Šã—ãžã™ãŒã€ã‚¨ãƒŗã‚ŗãƒŧド速åēĻが遅くãĒりぞす。古いデバイ゚ぎハãƒŧドã‚Ļェã‚ĸã‚ĸクã‚ģナãƒŦãƒŧã‚ˇãƒ§ãƒŗã§ã¯å¯žåŋœã—ãĻいãĒい場合がありぞす。\"0\" はBフãƒŦãƒŧãƒ ã‚’į„ĄåŠšãĢし、\"-1\" はこぎ値をč‡Ēå‹•įš„ãĢč¨­åŽšã—ãžã™ã€‚", "transcoding_max_bitrate": "最大ビットãƒŦãƒŧト", - "transcoding_max_bitrate_description": "最大ビットãƒŦãƒŧãƒˆã‚’č¨­åŽšã™ã‚‹ã¨ã€å“čŗĒãĢわずかãĒåŊąéŸŋを与えãĒãŒã‚‰ã‚‚ã€ãƒ•ã‚Ąã‚¤ãƒĢã‚ĩイã‚ēをä爿¸ŦしやすくãĒりぞす。720pぎ場合、一čˆŦįš„ãĒ値は VP9 や HEVC で \"2600 kbit/s\"、H.264 で \"4500 kbit/s\" です。\"0\" ãĢč¨­åŽšã™ã‚‹ã¨į„ĄåŠšãĢãĒりぞす。", + "transcoding_max_bitrate_description": "最大ビットãƒŦãƒŧãƒˆã‚’č¨­åŽšã™ã‚‹ã¨ã€å“čŗĒãĢわずかãĒåŊąéŸŋを与えãĒãŒã‚‰ã‚‚ã€ãƒ•ã‚Ąã‚¤ãƒĢã‚ĩイã‚ēをä爿¸ŦしやすくãĒりぞす。720pぎ場合、一čˆŦįš„ãĒ値は VP9 や HEVC で \"2600 kbit/s\"、H.264 で \"4500 kbit/s\" です。\"0\" ãĢč¨­åŽšã™ã‚‹ã¨į„ĄåŠšãĢãĒりぞす。単äŊãŒæŒ‡åŽšã•ã‚ŒãĻいãĒい場合、k(kbit/s)ãŒéŠį”¨ã•ã‚Œãžã™ã€‚ã—ãŸãŒãŖãĻ5000、5000k、5M(5Mbit/s)ã¯į­‰ã—ã„č¨­åŽšå€¤ã§ã™ã€‚", "transcoding_max_keyframe_interval": "最大キãƒŧフãƒŦãƒŧム間隔", "transcoding_max_keyframe_interval_description": "キãƒŧフãƒŦãƒŧム間ぎ最大フãƒŦãƒŧãƒ é–“éš”ã‚’č¨­åŽšã—ãžã™ã€‚å€¤ã‚’äŊŽãã™ã‚‹ã¨åœ§į¸ŽåŠšįŽ‡ãŒæ‚ĒåŒ–ã—ãžã™ãŒã€ã‚ˇãƒŧã‚¯æ™‚é–“ãŒæ”šå–„ã•ã‚Œã€å‹•ããŽé€Ÿã„ã‚ˇãƒŧãƒŗãŽå“čŗĒが向上する場合がありぞす。\"0\" ãĢč¨­åŽšã™ã‚‹ã¨ã€ã“ãŽå€¤ãŒč‡Ēå‹•įš„ãĢč¨­åŽšã•ã‚Œãžã™ã€‚", "transcoding_optimal_description": "č¨­åŽšč§ŖåƒåēĻをčļ…える動į”ģ、ぞたは厚čĒã•ã‚ŒãĻいãĒいåŊĸåŧãŽå‹•į”ģ", @@ -350,7 +368,7 @@ "transcoding_target_resolution": "č§ŖåƒåēĻ", "transcoding_target_resolution_description": "č§ŖåƒåēĻをéĢ˜ãã™ã‚‹ã¨į´°ã‹ãĒãƒ‡ã‚Ŗãƒ†ãƒŧãƒĢをäŋæŒã§ããžã™ãŒã€ã‚¨ãƒŗã‚ŗãƒŧドãĢæ™‚é–“ãŒã‹ã‹ã‚Šã€ãƒ•ã‚Ąã‚¤ãƒĢã‚ĩイã‚ēが大きくãĒり、ã‚ĸプãƒĒぎåŋœį­”性がäŊŽä¸‹ã™ã‚‹å¯čƒŊ性がありぞす。", "transcoding_temporal_aq": "遊åŋœįš„量子化(Temporal AQ)", - "transcoding_temporal_aq_description": "NVEncãĢぎãŋéŠį”¨ã•ã‚Œãžã™ã€‚éĢ˜į˛žį´°ã§å‹•ããŽå°‘ãĒã„ã‚ˇãƒŧãƒŗãŽį”ģčŗĒを向上させぞす。古いデバイ゚とぎäē’æ›æ€§ã¯ã‚りぞせん。", + "transcoding_temporal_aq_description": "NVEncãĢぎãŋéŠį”¨ã•ã‚Œãžã™ã€‚Temporal AQはéĢ˜į˛žį´°ã§å‹•ããŽå°‘ãĒã„ã‚ˇãƒŧãƒŗãŽį”ģčŗĒを向上させぞす。古いデバイ゚とぎäē’æ›æ€§ã¯ã‚りぞせん。", "transcoding_threads": "゚ãƒŦッド数", "transcoding_threads_description": "値をéĢ˜ãã™ã‚‹ã¨ã‚¨ãƒŗã‚ŗãƒŧド速åēĻが速くãĒりぞすが、ã‚ĸã‚¯ãƒ†ã‚Ŗãƒ–ãĒ間はã‚ĩãƒŧバãƒŧがäģ–ぎã‚ŋ゚クをå‡Ļį†ã™ã‚‹äŊ™čŖ•が少ãĒくãĒりぞす。こぎ値はCPUãŽã‚ŗã‚ĸ数をčļ…えãĒいようãĢするåŋ…čĻãŒã‚ã‚Šãžã™ã€‚\"0\" ãĢč¨­åŽšã™ã‚‹ã¨ã€æœ€å¤§é™åˆŠį”¨ã•ã‚Œãžã™ã€‚", "transcoding_tone_mapping": "トãƒŧãƒŗãƒžãƒƒãƒ”ãƒŗã‚°", @@ -401,11 +419,11 @@ "advanced_settings_prefer_remote_subtitle": "デバイ゚ãĢã‚ˆãŖãĻは、デバイ゚上ãĢあるã‚ĩムネイãƒĢぎロãƒŧドãĢ非常ãĢ時間がかかることがありぞす。こぎã‚Ēãƒ—ã‚ˇãƒ§ãƒŗã‚’æœ‰åŠšãĢするäē‹ãĢより、ã‚ĩãƒŧバãƒŧã‹ã‚‰į›´æŽĨį”ģ像をロãƒŧドすることが可čƒŊです。", "advanced_settings_prefer_remote_title": "ãƒĒãƒĸãƒŧトをå„Ē先する", "advanced_settings_proxy_headers_subtitle": "ãƒ—ãƒ­ã‚­ã‚ˇãƒ˜ãƒƒãƒ€ã‚’č¨­åŽšã™ã‚‹", - "advanced_settings_proxy_headers_title": "ãƒ—ãƒ­ã‚­ã‚ˇãƒ˜ãƒƒãƒ€", + "advanced_settings_proxy_headers_title": "ã‚Ģ゚ã‚ŋãƒ ãƒ—ãƒ­ã‚­ã‚ˇãƒ˜ãƒƒãƒ€ [åŽŸé¨“įš„]", "advanced_settings_readonly_mode_subtitle": "čĒ­ãŋå–ã‚Šå°‚į”¨ãƒĸãƒŧドを有劚ãĢã™ã‚‹ã¨ã€å†™įœŸãŽč¤‡æ•°é¸æŠžã‚„ã€å…ąæœ‰ã€å‰Šé™¤ã€ã‚­ãƒŖã‚šãƒˆæŠŸčƒŊãŒį„ĄåŠšãĢãĒã‚Šãžã™ã€‚ãƒĄã‚¤ãƒŗã‚šã‚¯ãƒĒãƒŧãƒŗãŽãƒĻãƒŧã‚ļãƒŧã‚ĸバã‚ŋãƒŧから有劚īŧį„ĄåŠšã‚’åˆ‡ã‚Šæ›ŋえられぞす", "advanced_settings_readonly_mode_title": "čĒ­ãŋå–ã‚Šå°‚į”¨ãƒĸãƒŧド", "advanced_settings_self_signed_ssl_subtitle": "SSLぎチェックを゚キップする。č‡ĒåˇąįŊ˛åč¨ŧ明書がåŋ…čĻã§ã™ã€‚", - "advanced_settings_self_signed_ssl_title": "č‡ĒåˇąįŊ˛åč¨ŧæ˜Žæ›¸ã‚’č¨ąå¯ã™ã‚‹", + "advanced_settings_self_signed_ssl_title": "č‡ĒåˇąįŊ˛åč¨ŧæ˜Žæ›¸ã‚’č¨ąå¯ã™ã‚‹ [åŽŸé¨“įš„]", "advanced_settings_sync_remote_deletions_subtitle": "Webでこぎ操äŊœã‚’čĄŒãŖãŸéš›ãĢ、č‡Ēå‹•įš„ãĢこぎデバイ゚上からåŊ“čОã‚ĸã‚ģットを削除ぞたは垊元する", "advanced_settings_sync_remote_deletions_title": "ãƒĒãƒĸãƒŧト削除ぎ同期 [čŠĻ鍓運ᔍ]", "advanced_settings_tile_subtitle": "čŋŊ加ãƒĻãƒŧã‚ļãƒŧč¨­åŽš", @@ -414,6 +432,7 @@ "age_months": "į”ŸåžŒ {months,plural, one {#か月} other {#か月}}", "age_year_months": "1æ­ŗ{months,plural, one {#か月} other {#か月}}", "age_years": "{years,plural, one {#æ­ŗ} other {#æ­ŗ}}", + "album": "ã‚ĸãƒĢバム", "album_added": "ã‚ĸãƒĢバムčŋŊ加", "album_added_notification_setting_description": "å…ąæœ‰ã‚ĸãƒĢバムãĢčŋŊ加されたときEãƒĄãƒŧãƒĢ通įŸĨを受äŋĄã™ã‚‹", "album_cover_updated": "ã‚ĸãƒĢバムã‚Ģバãƒŧ更新", @@ -459,6 +478,7 @@ "allow_edits": "įˇ¨é›†ã‚’č¨ąå¯", "allow_public_user_to_download": "一čˆŦãƒĻãƒŧã‚ļãƒŧãĢよるダã‚Ļãƒŗãƒ­ãƒŧãƒ‰ã‚’č¨ąå¯", "allow_public_user_to_upload": "一čˆŦãƒĻãƒŧã‚ļãƒŧãĢよるã‚ĸップロãƒŧãƒ‰ã‚’č¨ąå¯", + "allowed": "č¨ąå¯ã•ã‚ŒãĻいる", "alt_text_qr_code": "QRã‚ŗãƒŧドį”ģ像", "anti_clockwise": "åæ™‚č¨ˆå›žã‚Š", "api_key": "APIキãƒŧ", @@ -468,7 +488,10 @@ "app_bar_signout_dialog_content": "ã‚ĩã‚¤ãƒŗã‚ĸã‚ĻトしぞすかīŧŸ", "app_bar_signout_dialog_ok": "はい", "app_bar_signout_dialog_title": "ã‚ĩã‚¤ãƒŗã‚ĸã‚Ļト", + "app_download_links": "ã‚ĸプãƒĒぎダã‚Ļãƒŗãƒ­ãƒŧドãƒĒãƒŗã‚¯", "app_settings": "ã‚ĸプãƒĒč¨­åŽš", + "app_stores": "ã‚ĸプãƒĒ゚トã‚ĸ", + "app_update_available": "ã‚ĸプãƒĒぎã‚ĸップデãƒŧãƒˆãŒåˆŠį”¨å¯čƒŊです", "appears_in": "これらãĢåĢぞれぞす", "apply_count": "éŠį”¨ ({count, number})", "archive": "ã‚ĸãƒŧã‚Ģイブ", @@ -538,7 +561,7 @@ "autoplay_slideshow": "ã‚šãƒŠã‚¤ãƒ‰ã‚ˇãƒ§ãƒŧをč‡Ēå‹•å†į”Ÿ", "back": "æˆģる", "back_close_deselect": "æˆģã‚‹ã€é–‰ã˜ã‚‹ã€é¸æŠžč§Ŗé™¤", - "background_backup_running_error": "バックグナã‚Ļãƒŗãƒ‰ãŽãƒãƒƒã‚¯ã‚ĸップがすでãĢčĄŒã‚ã‚ŒãĻいる最中です。そぎため、マニãƒĨã‚ĸãƒĢでぎバックã‚ĸップを開始することはできぞせん。", + "background_backup_running_error": "バックグナã‚Ļãƒŗãƒ‰ãŽãƒãƒƒã‚¯ã‚ĸップがすでãĢčĄŒã‚ã‚ŒãĻいる最中です。そぎため、マニãƒĨã‚ĸãƒĢでぎバックã‚ĸップを開始することはできぞせん", "background_location_permission": "バックグナã‚Ļãƒŗãƒ‰äŊįŊŽæƒ…å ąã‚ĸクã‚ģ゚", "background_location_permission_content": "æ­Ŗå¸¸ãĢWi-Fiぎ名前(SSID)ã‚’į˛åž—ã™ã‚‹ãĢはã‚ĸプãƒĒが常ãĢčŠŗį´°ãĒäŊįŊŽæƒ…å ąãĢã‚ĸクã‚ģ゚できるåŋ…čĻãŒã‚ã‚Šãžã™", "background_options": "バックグナã‚Ļãƒŗãƒ‰ãŽå‹•äŊœã‚Ēãƒ—ã‚ˇãƒ§ãƒŗ", @@ -552,6 +575,7 @@ "backup_albums_sync": "ã‚ĸãƒĢバム同期įŠļ態をバックã‚ĸップ", "backup_all": "すずãĻ", "backup_background_service_backup_failed_message": "ã‚ĸップロãƒŧドãĢå¤ąæ•—ã—ãžã—ãŸã€‚ãƒĒトナイ中â€Ļ", + "backup_background_service_complete_notification": "ã‚ĸã‚ģットぎバックã‚ĸップが厌äē†ã—ぞした", "backup_background_service_connection_failed_message": "ã‚ĩãƒŧバãƒŧãĢæŽĨįļšã§ããžã›ã‚“。ãƒĒトナイ中â€Ļ", "backup_background_service_current_upload_notification": "{filename}をã‚ĸップロãƒŧド中", "backup_background_service_default_notification": "æ–°ã—ã„å†™įœŸã‚’įĸēčĒä¸­â€Ļ", @@ -661,6 +685,8 @@ "change_password_description": "これは、初めãĻぎã‚ĩã‚¤ãƒŗã‚¤ãƒŗã§ã‚ã‚‹ã‹ã€ãƒ‘ã‚šãƒ¯ãƒŧドぎ変更čĻæą‚ãŒčĄŒã‚ã‚ŒãŸã‹ãŽã„ãšã‚Œã‹ã§ã™ã€‚ 新しいパ゚ワãƒŧドを下ãĢå…Ĩ力しãĻください。", "change_password_form_confirm_password": "įĸē厚", "change_password_form_description": "{name}さん こんãĢãĄã¯\n\nã‚ĩãƒŧバãƒŧãĢã‚ĸクã‚ģ゚するぎが初めãĻか、パ゚ワãƒŧドãƒĒã‚ģットぎãƒĒクエ゚トがされぞした。新しいパ゚ワãƒŧドをå…Ĩ力しãĻください。", + "change_password_form_log_out": "äģ–ぎ全ãĻぎデバイ゚からログã‚ĸã‚Ļトさせる", + "change_password_form_log_out_description": "äģ–ぎすずãĻぎデバイ゚からログã‚ĸã‚Ļトすることをお勧めしぞす", "change_password_form_new_password": "新しいパ゚ワãƒŧド", "change_password_form_password_mismatch": "パ゚ワãƒŧãƒ‰ãŒä¸€č‡´ã—ãžã›ã‚“", "change_password_form_reenter_new_password": "再åēĻパ゚ワãƒŧドをå…Ĩ力しãĻください", @@ -687,8 +713,8 @@ "client_cert_import_success_msg": "クナイã‚ĸãƒŗãƒˆč¨ŧ明書が導å…Ĩされぞした", "client_cert_invalid_msg": "パ゚ワãƒŧãƒ‰ãŒé–“é•ãŖãĻいるかč¨ŧæ˜Žæ›¸ãŒį„ĄåŠšã§ã™", "client_cert_remove_msg": "クナイã‚ĸãƒŗãƒˆč¨ŧ明書が削除されぞした", - "client_cert_subtitle": "PKCS12 (.p12 .pfx) フりãƒŧマットぎãŋ寞åŋœã•れãĻぞす。č¨ŧ明書ぎ導å…Ĩã‚„å‰Šé™¤ã¯ãƒ­ã‚°ã‚¤ãƒŗå‰ãŽãŋčĄŒãˆãžã™", - "client_cert_title": "SSLクナイã‚ĸãƒŗãƒˆč¨ŧ明書", + "client_cert_subtitle": "PKCS12 (.p12 .pfx) フりãƒŧマットぎãŋ寞åŋœã—ãĻいぞす。č¨ŧ明書ぎ導å…Ĩã‚„å‰Šé™¤ã¯ãƒ­ã‚°ã‚¤ãƒŗå‰ãŽãŋčĄŒãˆãžã™", + "client_cert_title": "SSLクナイã‚ĸãƒŗãƒˆč¨ŧ明書 [åŽŸé¨“įš„]", "clockwise": "æ™‚č¨ˆå›žã‚Š", "close": "閉じる", "collapse": "åą•é–‹", @@ -738,6 +764,7 @@ "create": "äŊœæˆ", "create_album": "ã‚ĸãƒĢバムをäŊœæˆ", "create_album_page_untitled": "į„ĄéĄŒãŽã‚ŋイトãƒĢ", + "create_api_key": "APIキãƒŧをäŊœæˆ", "create_library": "ナイブナãƒĒをäŊœæˆ", "create_link": "ãƒĒãƒŗã‚¯ã‚’äŊœã‚‹", "create_link_to_share": "å…ąæœ‰ãƒĒãƒŗã‚¯ã‚’äŊœã‚‹", @@ -767,6 +794,7 @@ "daily_title_text_date_year": "yyyy MM DD, EE", "dark": "ダãƒŧクãƒĸãƒŧド", "dark_theme": "ダãƒŧクãƒĸãƒŧド切りæ›ŋえ", + "date": "æ—Ĩäģ˜", "date_after": "こぎæ—ĨäģĨ降", "date_and_time": "æ—Ĩäģ˜ã¨æ™‚é–“", "date_before": "こぎæ—ĨäģĨ前", @@ -869,8 +897,6 @@ "edit_description_prompt": "新しいčĒŦ明文を選んでください:", "edit_exclusion_pattern": "除外パã‚ŋãƒŧãƒŗã‚’įˇ¨é›†", "edit_faces": "éĄ”ã‚’įˇ¨é›†", - "edit_import_path": "ã‚¤ãƒŗãƒãƒŧãƒˆãƒ‘ã‚šã‚’įˇ¨é›†", - "edit_import_paths": "ã‚¤ãƒŗãƒãƒŧãƒˆãƒ‘ã‚šã‚’įˇ¨é›†", "edit_key": "キãƒŧã‚’įˇ¨é›†", "edit_link": "ãƒĒãƒŗã‚¯ã‚’įˇ¨é›†ã™ã‚‹", "edit_location": "äŊįŊŽæƒ…å ąã‚’įˇ¨é›†", @@ -942,7 +968,6 @@ "failed_to_stack_assets": "ã‚ĸã‚ģットを゚ã‚ŋックできぞせんでした", "failed_to_unstack_assets": "ã‚ĸã‚ģットを゚ã‚ŋãƒƒã‚¯ã‹ã‚‰č§Ŗé™¤ã™ã‚‹ã“ã¨ãŒã§ããžã›ã‚“ã§ã—ãŸ", "failed_to_update_notification_status": "通įŸĨ゚テãƒŧã‚ŋ゚ぎ更新ãĢå¤ąæ•—ã—ãžã—ãŸ", - "import_path_already_exists": "ã“ãŽã‚¤ãƒŗãƒãƒŧトパ゚はæ—ĸãĢ存在しぞす。", "incorrect_email_or_password": "ãƒĄãƒŧãƒĢã‚ĸドãƒŦ゚ぞたはパ゚ワãƒŧãƒ‰ãŒé–“é•ãŖãĻいぞす", "paths_validation_failed": "{paths, plural, one {#個} other {#個}}ぎパ゚ぎ検č¨ŧãĢå¤ąæ•—ã—ãžã—ãŸ", "profile_picture_transparent_pixels": "ãƒ—ãƒ­ãƒ•ã‚ŖãƒŧãƒĢå†™įœŸãĢは透明ピクã‚ģãƒĢをåĢめることはできぞせん。į”ģåƒã‚’æ‹Ąå¤§/į¸Žå°ã—ãŸã‚Šį§ģ動しãĻください。", @@ -952,7 +977,6 @@ "unable_to_add_assets_to_shared_link": "ã‚ĸã‚ģãƒƒãƒˆã‚’å…ąæœ‰ãƒĒãƒŗã‚¯ãĢčŋŊ加できぞせん", "unable_to_add_comment": "ã‚ŗãƒĄãƒŗãƒˆã‚’čŋŊ加できぞせん", "unable_to_add_exclusion_pattern": "除外パã‚ŋãƒŧãƒŗã‚’čŋŊ加できぞせん", - "unable_to_add_import_path": "ã‚¤ãƒŗãƒãƒŧトパ゚をčŋŊ加できぞせん", "unable_to_add_partners": "パãƒŧトナãƒŧをčŋŊ加できぞせん", "unable_to_add_remove_archive": "ã‚ĸãƒŧã‚Ģイブ{archived, select, true {からã‚ĸã‚ģットを削除} other {ãĢã‚ĸã‚ģットをčŋŊ加}}できぞせん", "unable_to_add_remove_favorites": "é …į›Žã‚’ãŠæ°—ãĢå…Ĩり{favorite, select, true {ãĢčŋŊ加} other {ãŽč§Ŗé™¤}}できぞせんでした", @@ -975,12 +999,10 @@ "unable_to_delete_asset": "é …į›Žã‚’å‰Šé™¤ã§ããžã›ã‚“", "unable_to_delete_assets": "é …į›Žã‚’å‰Šé™¤ä¸­ãŽã‚¨ãƒŠãƒŧ", "unable_to_delete_exclusion_pattern": "除外パã‚ŋãƒŧãƒŗã‚’å‰Šé™¤ã§ããžã›ã‚“", - "unable_to_delete_import_path": "ã‚¤ãƒŗãƒãƒŧトパ゚を削除できぞせん", "unable_to_delete_shared_link": "å…ąæœ‰ãƒĒãƒŗã‚¯ã‚’å‰Šé™¤ã§ããžã›ã‚“", "unable_to_delete_user": "ãƒĻãƒŧã‚ļãƒŧを削除できぞせん", "unable_to_download_files": "ãƒ•ã‚Ąã‚¤ãƒĢをダã‚Ļãƒŗãƒ­ãƒŧドできぞせん", "unable_to_edit_exclusion_pattern": "除外パã‚ŋãƒŧãƒŗã‚’įˇ¨é›†ã§ããžã›ã‚“", - "unable_to_edit_import_path": "ã‚¤ãƒŗãƒãƒŧãƒˆãƒ‘ã‚šã‚’įˇ¨é›†ã§ããžã›ã‚“", "unable_to_empty_trash": "ã‚´ãƒŸįŽąã‚’įŠēãĢできぞせん", "unable_to_enter_fullscreen": "フãƒĢ゚クãƒĒãƒŧãƒŗãĢできぞせん", "unable_to_exit_fullscreen": "フãƒĢ゚クãƒĒãƒŧãƒŗã‚’č§Ŗé™¤ã§ããžã›ã‚“", @@ -1036,6 +1058,7 @@ "exif_bottom_sheet_description_error": "čĒŦ明文をã‚ĸップデãƒŧトできぞせんでした", "exif_bottom_sheet_details": "čŠŗį´°", "exif_bottom_sheet_location": "æ’ŽåŊąå ´æ‰€", + "exif_bottom_sheet_no_description": "čĒŦ明ãĒし", "exif_bottom_sheet_people": "äēēį‰Š", "exif_bottom_sheet_person_add_person": "名前をčŋŊ加", "exit_slideshow": "ã‚šãƒŠã‚¤ãƒ‰ã‚ˇãƒ§ãƒŧをįĩ‚わる", @@ -1074,6 +1097,7 @@ "features_setting_description": "ã‚ĸプãƒĒぎ抟čƒŊã‚’įŽĄį†ã™ã‚‹", "file_name": "ãƒ•ã‚Ąã‚¤ãƒĢ名", "file_name_or_extension": "ãƒ•ã‚Ąã‚¤ãƒĢåãžãŸã¯æ‹Ąåŧĩ子", + "file_size": "ãƒ•ã‚Ąã‚¤ãƒĢã‚ĩイã‚ē", "filename": "ãƒ•ã‚Ąã‚¤ãƒĢ名", "filetype": "ãƒ•ã‚Ąã‚¤ãƒĢã‚ŋイプ", "filter": "ãƒ•ã‚ŖãƒĢã‚ŋãƒŧ", @@ -1169,6 +1193,7 @@ "import_path": "ã‚¤ãƒŗãƒãƒŧトパ゚", "in_albums": "{count, plural, one {#äģļぎã‚ĸãƒĢバム} other {#äģļぎã‚ĸãƒĢバム}}ぎ中", "in_archive": "ã‚ĸãƒŧã‚Ģイブ済ãŋ", + "in_year": "{year}åš´", "include_archived": "ã‚ĸãƒŧã‚Ģイブ済ãŋをåĢめる", "include_shared_albums": "å…ąæœ‰ã‚ĸãƒĢバムをåĢめる", "include_shared_partner_assets": "パãƒŧトナãƒŧãŒã‚ˇã‚§ã‚ĸしたã‚ĸã‚ģットをåĢめる", @@ -1237,6 +1262,7 @@ "local_media_summary": "ロãƒŧã‚ĢãƒĢãƒĄãƒ‡ã‚Ŗã‚ĸぎぞとめ", "local_network": "ロãƒŧã‚ĢãƒĢネットワãƒŧク", "local_network_sheet_info": "ã‚ĸプãƒĒは指厚されたWi-FiãĢįš‹ãŒãŖãĻいる時ã‚ĩãƒŧバãƒŧへぎæŽĨįļšã‚’ä¸‹č¨˜ãŽURLã§čĄŒã„ãžã™", + "location": "äŊįŊŽæƒ…å ą", "location_permission": "äŊįŊŽæƒ…å ąæ¨Šé™", "location_permission_content": "č‡Ē動URL切りæ›ŋえをäŊŋį”¨ã™ã‚‹ãĢはWi-Fiぎ名前(SSID)を取垗するåŋ…čĻãŒã‚ã‚Šã€æ­Ŗå¸¸ãĢ抟čƒŊするãĢはã‚ĸプãƒĒが常ãĢčŠŗį´°ãĒäŊįŊŽæƒ…å ąãĢã‚ĸクã‚ģ゚できるåŋ…čĻãŒã‚ã‚Šãžã™", "location_picker_choose_on_map": "マップを選択", @@ -1284,8 +1310,16 @@ "loop_videos_description": "有劚ãĢã™ã‚‹ã¨čŠŗį´°čĄ¨į¤ēでč‡Ēå‹•įš„ãĢ動į”ģがãƒĢãƒŧプしぞす。", "main_branch_warning": "開į™ēį‰ˆã‚’äŊŋãŖãĻいるようです。ãƒĒãƒĒãƒŧã‚šį‰ˆãŽäŊŋį”¨ã‚’åŧˇãæŽ¨åĨ¨ã—ぞす!", "main_menu": "ãƒĄã‚¤ãƒŗãƒĄãƒ‹ãƒĨãƒŧ", + "maintenance_description": "Immich は ãƒĄãƒŗãƒ†ãƒŠãƒŗã‚šãƒĸãƒŧド中です。", + "maintenance_end": "ãƒĄãƒŗãƒ†ãƒŠãƒŗã‚šãƒĸãƒŧドをįĩ‚äē†ã™ã‚‹", + "maintenance_end_error": "ãƒĄãƒŗãƒ†ãƒŠãƒŗã‚šãƒĸãƒŧドぎįĩ‚äē†ãĢå¤ąæ•—ã—ãžã—ãŸã€‚", + "maintenance_logged_in_as": "įžåœ¨ {user}としãĻãƒ­ã‚°ã‚¤ãƒŗã—ãĻいぞす", + "maintenance_title": "ä¸€æ™‚įš„ãĢåˆŠį”¨ä¸å¯čƒŊ", "make": "ãƒĄãƒŧã‚Ģãƒŧ", "manage_geolocation": "äŊįŊŽæƒ…å ąã‚’įˇ¨é›†", + "manage_media_access_settings": "č¨­åŽšã‚’é–‹ã", + "manage_media_access_subtitle": "Immichã‚ĸプãƒĒãĢãƒĄãƒ‡ã‚Ŗã‚ĸãƒ•ã‚Ąã‚¤ãƒĢãŽįŽĄį†ã¨į§ģå‹•ã‚’č¨ąå¯ã™ã‚‹ã€‚", + "manage_media_access_title": "ãƒĄãƒ‡ã‚Ŗã‚ĸįŽĄį†ã‚ĸクã‚ģ゚", "manage_shared_links": "å…ąæœ‰æ¸ˆãŋぎãƒĒãƒŗã‚¯ã‚’įŽĄį†", "manage_sharing_with_partners": "パãƒŧトナãƒŧã¨ãŽå…ąæœ‰ã‚’įŽĄį†ã—ãžã™", "manage_the_app_settings": "ã‚ĸプãƒĒãŽč¨­åŽšã‚’įŽĄį†ã—ãžã™", @@ -1341,12 +1375,15 @@ "minute": "分", "minutes": "分", "missing": "æŦ čŊ", + "mobile_app": "ãƒĸバイãƒĢã‚ĸプãƒĒ", + "mobile_app_download_onboarding_note": "äģĨ下ぎã‚Ēãƒ—ã‚ˇãƒ§ãƒŗã‚’äŊŋį”¨ã—ãĻã‚ŗãƒŗãƒ‘ãƒ‹ã‚ĒãƒŗãƒĸバイãƒĢã‚ĸプãƒĒをダã‚Ļãƒŗãƒ­ãƒŧドしãĻください", "model": "ãƒĸデãƒĢ", "month": "月", "monthly_title_text_date_format": "yyyy MM", "more": "ã‚‚ãŖã¨čĄ¨į¤ē", "move": "į§ģ動", "move_off_locked_folder": "éĩäģ˜ããƒ•りãƒĢダãƒŧからå‡ēす", + "move_to": "į§ģ動先は", "move_to_lock_folder_action_prompt": "{count}é …į›Žã‚’éĩäģ˜ããƒ•りãƒĢダãƒŧãĢčŋŊ加しぞした", "move_to_locked_folder": "éĩäģ˜ããƒ•りãƒĢダãƒŧへį§ģ動", "move_to_locked_folder_confirmation": "ã“ã‚Œã‚‰ãŽå†™įœŸã‚„å‹•į”ģはすずãĻぎã‚ĸãƒĢバムから外され、éĩäģ˜ããƒ•りãƒĢダãƒŧ内でぎãŋ閲čĻ§å¯čƒŊãĢãĒりぞす", @@ -1359,6 +1396,7 @@ "my_albums": "į§ãŽã‚ĸãƒĢバム", "name": "名前", "name_or_nickname": "名前ぞたはニックネãƒŧム", + "navigate": "ãƒŠãƒ“ã‚˛ãƒŧト", "network_requirement_photos_upload": "ãƒĸバイãƒĢ通äŋĄã‚’äŊŋį”¨ã—ãĻå†™įœŸãŽãƒãƒƒã‚¯ã‚ĸãƒƒãƒ—ã‚’čĄŒã†", "network_requirement_videos_upload": "ãƒĸバイãƒĢ通äŋĄã‚’äŊŋį”¨ã—ãĻ動į”ģぎバックã‚ĸãƒƒãƒ—ã‚’čĄŒã†", "network_requirements": "ネットワãƒŧクぎčρäģļ", @@ -1368,11 +1406,13 @@ "never": "čĄŒã‚ãĒい", "new_album": "新たãĒã‚ĸãƒĢバム", "new_api_key": "新しいAPI キãƒŧ", + "new_date_range": "新しいæ—Ĩäģ˜į¯„回", "new_password": "新しいパ゚ワãƒŧド", "new_person": "新しいäēēį‰Š", "new_pin_code": "新しいPINã‚ŗãƒŧド", "new_pin_code_subtitle": "éĩäģ˜ããƒ•りãƒĢダãƒŧã‚’åˆŠį”¨ã™ã‚‹ãŽãŒåˆã‚ãĻぎようです。PINã‚ŗãƒŧドをäŊœæˆã—ãĻください", "new_timeline": "新たãĒã‚ŋã‚¤ãƒ ãƒŠã‚¤ãƒŗ", + "new_update": "新たãĒ更新", "new_user_created": "新しいãƒĻãƒŧã‚ļãƒŧがäŊœæˆã•れぞした", "new_version_available": "新しいバãƒŧã‚¸ãƒ§ãƒŗãŒåˆŠį”¨å¯čƒŊ", "newest_first": "最新順", @@ -1388,6 +1428,7 @@ "no_cast_devices_found": "ã‚­ãƒŖã‚šãƒˆå…ˆãŽãƒ‡ãƒã‚¤ã‚šãŒčĻ‹ã¤ã‹ã‚Šãžã›ã‚“", "no_checksum_local": "チェックã‚ĩムがčĻ‹ã¤ã‹ã‚Šãžã›ã‚“ - ãƒ‡ãƒã‚¤ã‚šä¸ŠãŽé …į›Žã‚’å–åž—ã§ããĒいようです", "no_checksum_remote": "チェックã‚ĩムがčĻ‹ã¤ã‹ã‚Šãžã›ã‚“ - ã‚ĩãƒŧバãƒŧä¸ŠãŽé …į›Žã‚’å–åž—ã§ããĒいようです", + "no_devices": "č¨ąå¯ã•ã‚ŒãŸãƒ‡ãƒã‚¤ã‚šãŒã‚ã‚Šãžã›ã‚“", "no_duplicates_found": "é‡č¤‡ã¯čĻ‹ã¤ã‹ã‚Šãžã›ã‚“ã§ã—ãŸã€‚", "no_exif_info_available": "exifæƒ…å ąãŒåˆŠį”¨ã§ããžã›ã‚“", "no_explore_results_message": "ã‚ŗãƒŦã‚¯ã‚ˇãƒ§ãƒŗã‚’æŽĸį´ĸするãĢはさらãĢå†™įœŸã‚’ã‚ĸップロãƒŧドしãĻください。", @@ -1404,6 +1445,7 @@ "no_results_description": "åŒįžŠčĒžã‚„ã‚ˆã‚Šä¸€čˆŦįš„ãĒキãƒŧワãƒŧドをčŠĻしãĻください", "no_shared_albums_message": "ã‚ĸãƒĢバムをäŊœæˆã—ãĻå†™įœŸã‚„å‹•į”ģã‚’å…ąæœ‰ã—ãžã—ã‚‡ã†", "no_uploads_in_progress": "ã‚ĸップロãƒŧãƒ‰ã¯čĄŒã‚ã‚ŒãĻいぞせん", + "not_allowed": "č¨ąå¯ã•ã‚ŒãĻいぞせん", "not_available": "éŠį”¨ãĒし", "not_in_any_album": "おぎã‚ĸãƒĢバムãĢもå…ĨãŖãĻいãĒい", "not_selected": "選択ãĒし", @@ -1418,6 +1460,9 @@ "notifications": "通įŸĨ", "notifications_setting_description": "通įŸĨã‚’įŽĄį†ã—ãžã™", "oauth": "OAuth", + "obtainium_configurator": "ObtainiumãŽč¨­åŽš", + "obtainium_configurator_instructions": "ObtainiumをäŊŋį”¨ã™ã‚‹ã¨ã€Immich GitHubぎãƒĒãƒĒãƒŧã‚šã‹ã‚‰į›´æŽĨAndroidã‚ĸプãƒĒã‚’ã‚¤ãƒŗã‚šãƒˆãƒŧãƒĢãŠã‚ˆãŗã‚ĸップデãƒŧトできぞす。APIキãƒŧをäŊœæˆã—、バãƒĒã‚ĸãƒŗãƒˆã‚’é¸æŠžã—ãĻObtainiumãŽč¨­åŽšãƒĒãƒŗã‚¯ã‚’äŊœæˆã—ãĻください", + "ocr": "OCR", "official_immich_resources": "å…ŦåŧImmichãƒĒã‚Ŋãƒŧ゚", "offline": "ã‚Ēãƒ•ãƒŠã‚¤ãƒŗ", "offset": "ã‚Ēフã‚ģット", @@ -1511,6 +1556,7 @@ "photos_count": "{count, plural, one {{count, number}æžšãŽå†™įœŸ} other {{count, number}æžšãŽå†™įœŸ}}", "photos_from_previous_years": "äģĨå‰ãŽåš´ãŽå†™įœŸ", "pick_a_location": "場所を選択", + "pick_date_range": "æ—Ĩäģ˜į¯„å›˛ãŽé¸æŠž", "pin_code_changed_successfully": "PINã‚ŗãƒŧドを変更しぞした", "pin_code_reset_successfully": "PINã‚ŗãƒŧドをãƒĒã‚ģットしぞした", "pin_code_setup_successfully": "PINã‚ŗãƒŧドをã‚ģットã‚ĸップしぞした", @@ -1522,6 +1568,9 @@ "play_memories": "ãƒĄãƒĸãƒĒãƒŧã‚’å†į”Ÿ", "play_motion_photo": "ãƒĸãƒŧã‚ˇãƒ§ãƒŗãƒ“ãƒ‡ã‚Ēã‚’å†į”Ÿ", "play_or_pause_video": "動į”ģã‚’å†į”ŸãžãŸã¯ä¸€æ™‚åœæ­ĸ", + "play_original_video": "ã‚ĒãƒĒジナãƒĢぎ動į”ģã‚’å†į”Ÿ", + "play_original_video_setting_description": "ãƒˆãƒŠãƒŗã‚šã‚ŗãƒŧドされた動į”ģよりも、ã‚ĒãƒĒジナãƒĢぎ動į”ģをå„Ē先しãĻå†į”Ÿã—ãžã™ã€‚ã‚ĒãƒĒジナãƒĢぎã‚ĸã‚ģットがäē’æ›æ€§ãŒãĒã„å ´åˆã€æ­Ŗã—ãå†į”Ÿã•ã‚ŒãĒい可čƒŊ性がありぞす。", + "play_transcoded_video": "ãƒˆãƒŠãƒŗã‚šã‚ŗãƒŧド済ãŋぎ動į”ģã‚’å†į”Ÿã™ã‚‹", "please_auth_to_access": "ã‚ĸクã‚ģ゚するãĢはčĒč¨ŧがåŋ…čĻã§ã™", "port": "ポãƒŧトãƒŦãƒŧト", "preferences_settings_subtitle": "ã‚ĸプãƒĒãĢé–ĸã™ã‚‹č¨­åŽš", @@ -1658,6 +1707,7 @@ "reset_sqlite_confirmation": "SQLiteをæœŦåŊ“ãĢãƒĒã‚ģットしぞすかīŧŸãƒ‡ãƒŧã‚ŋã‚’å†ãŗåŒæœŸã™ã‚‹ãŸã‚ãĢログã‚ĸã‚Ļãƒˆã—å†ãƒ­ã‚°ã‚¤ãƒŗã‚’ã™ã‚‹åŋ…čĻãŒã‚ã‚Šãžã™", "reset_sqlite_success": "SQLiteデãƒŧã‚ŋベãƒŧ゚ぎãƒĒã‚ģットãĢ成功しぞした", "reset_to_default": "デフりãƒĢトãĢãƒĒã‚ģット", + "resolution": "č§ŖåƒåēĻ", "resolve_duplicates": "é‡č¤‡ã‚’č§Ŗæąēする", "resolved_all_duplicates": "全ãĻãŽé‡č¤‡ã‚’č§Ŗæąēしぞした", "restore": "垊元", @@ -1676,6 +1726,7 @@ "running": "åŽŸčĄŒä¸­", "save": "äŋå­˜", "save_to_gallery": "ã‚ŽãƒŖãƒŠãƒĒãƒŧãĢäŋå­˜", + "saved": "äŋå­˜ã—ぞした", "saved_api_key": "APIキãƒŧをäŋå­˜ã—ぞした", "saved_profile": "ãƒ—ãƒ­ãƒ•ã‚ŖãƒŧãƒĢをäŋå­˜ã—ぞした", "saved_settings": "č¨­åŽšã‚’äŋå­˜ã—ぞした", @@ -1692,6 +1743,9 @@ "search_by_description_example": "ã‚ĩãƒ‘ã§ãƒã‚¤ã‚­ãƒŗã‚°ã—ãŸæ—Ĩ", "search_by_filename": "ãƒ•ã‚Ąã‚¤ãƒĢåã‚‚ã—ãã¯æ‹Ąåŧĩ子で検į´ĸ", "search_by_filename_example": "例: IMG_1234.JPG もしくは PNG", + "search_by_ocr": "OCR検į´ĸ", + "search_by_ocr_example": "おčŒļ", + "search_camera_lens_model": "ãƒŦãƒŗã‚ēãƒĸデãƒĢで検į´ĸâ€Ļ", "search_camera_make": "ã‚ĢãƒĄãƒŠãƒĄãƒŧã‚Ģãƒŧを検į´ĸâ€Ļ", "search_camera_model": "ã‚ĢãƒĄãƒŠãŽãƒĸデãƒĢを検į´ĸâ€Ļ", "search_city": "市į”ē村を検į´ĸâ€Ļ", @@ -1708,6 +1762,7 @@ "search_filter_location_title": "場所を選択", "search_filter_media_type": "ãƒĄãƒ‡ã‚Ŗã‚ĸãŽį¨ŽéĄž", "search_filter_media_type_title": "ãƒĄãƒ‡ã‚Ŗã‚ĸãŽį¨ŽéĄžã‚’é¸æŠž", + "search_filter_ocr": "OCRで検į´ĸ", "search_filter_people_title": "äēēį‰Šã‚’é¸æŠž", "search_for": "検į´ĸ", "search_for_existing_person": "æ—ĸ存ぎäēēį‰Šã‚’æ¤œį´ĸ", @@ -1769,7 +1824,10 @@ "server_offline": "ã‚ĩãƒŧバãƒŧがã‚Ēãƒ•ãƒŠã‚¤ãƒŗã§ã™", "server_online": "ã‚ĩãƒŧバãƒŧがã‚ĒãƒŗãƒŠã‚¤ãƒŗã§ã™", "server_privacy": "ã‚ĩãƒŧバãƒŧãƒ—ãƒŠã‚¤ãƒã‚ˇãƒŧ", + "server_restarting_description": "こぎペãƒŧジはすぐãĢ更新されぞす。", + "server_restarting_title": "ã‚ĩãƒŧバãƒŧは再čĩˇå‹•しãĻいぞす", "server_stats": "ã‚ĩãƒŧバãƒŧįĩąč¨ˆ", + "server_update_available": "ã‚ĩãƒŧバãƒŧぎã‚ĸップデãƒŧãƒˆãŒåˆŠį”¨å¯čƒŊです", "server_version": "ã‚ĩãƒŧバãƒŧバãƒŧã‚¸ãƒ§ãƒŗ", "set": "č¨­åŽš", "set_as_album_cover": "ã‚ĸãƒĢバムã‚ĢバãƒŧとしãĻč¨­åŽš", @@ -1798,6 +1856,8 @@ "setting_notifications_subtitle": "通įŸĨč¨­åŽšã‚’å¤‰æ›´ã™ã‚‹", "setting_notifications_total_progress_subtitle": "ã‚ĸップロãƒŧãƒ‰ãŽé€˛čĄŒįŠļæŗ (厌ä熿¸ˆãŋ/全äŊ“æžšæ•°)", "setting_notifications_total_progress_title": "全äŊ“ぎバックã‚ĸãƒƒãƒ—ãŽé€˛čĄŒįŠļæŗã‚’čĄ¨į¤ē", + "setting_video_viewer_auto_play_subtitle": "動į”ģを開くとč‡Ēå‹•ã§å†į”Ÿã•ã‚Œãžã™", + "setting_video_viewer_auto_play_title": "動į”ģぎč‡Ēå‹•å†į”Ÿ", "setting_video_viewer_looping_title": "動į”ģをãƒĢãƒŧプする", "setting_video_viewer_original_video_subtitle": "動į”ģを゚トãƒĒãƒŧãƒŸãƒŗã‚°ã™ã‚‹éš›ãĢã€ãƒˆãƒŠãƒŗã‚šã‚ŗãƒŧドされた動į”ģが存在しãĻいãĻも、あえãĻã‚ĒãƒĒジナãƒĢį”ģčŗĒぎ動į”ģã‚’å†į”Ÿã—ãžã™ã€‚ã‚šãƒˆãƒĒãƒŧãƒŸãƒŗã‚°ãĢåž…ãĄæ™‚é–“ãŒį”Ÿã˜ã‚‹ã‹ã‚‚ã—ã‚Œãžã›ã‚“ã€‚ãĒお、デバイ゚上ãĢäŋå­˜ã•れãĻいる動į”ģã¯ã“ãŽč¨­åŽšãŽæœ‰į„ĄãĢé–ĸわらず、ã‚ĒãƒĒジナãƒĢį”ģčŗĒぎ動į”ģã‚’å†į”Ÿã—ãžã™ã€‚", "setting_video_viewer_original_video_title": "常ãĢã‚ĒãƒĒジナãƒĢį”ģčŗĒぎ動į”ģã‚’å†į”Ÿã™ã‚‹", @@ -1977,7 +2037,9 @@ "theme_setting_three_stage_loading_title": "三æŽĩ階čĒ­ãŋčžŧãŋをã‚ĒãƒŗãĢする", "they_will_be_merged_together": "ã“ã‚Œã‚‰ã¯ä¸€įˇ’ãĢįĩąåˆã•れぞす", "third_party_resources": "ã‚ĩãƒŧドパãƒŧãƒ†ã‚ŖãƒŧãƒĒã‚Ŋãƒŧ゚", + "time": "時åˆģ", "time_based_memories": "過åŽģぎ思いå‡ē", + "time_based_memories_duration": "å„å†™įœŸã‚’čĄ¨į¤ēã™ã‚‹į§’æ•°ã€‚", "timeline": "ã‚ŋã‚¤ãƒ ãƒŠã‚¤ãƒŗ", "timezone": "ã‚ŋイムゞãƒŧãƒŗ", "to_archive": "ã‚ĸãƒŧã‚Ģイブ", @@ -2009,6 +2071,7 @@ "troubleshoot": "トナブãƒĢã‚ˇãƒĨãƒŧãƒ†ã‚Ŗãƒŗã‚°", "type": "ã‚ŋイプ", "unable_to_change_pin_code": "PINã‚ŗãƒŧドを変更できぞせんでした", + "unable_to_check_version": "ã‚ĸプãƒĒぞたはã‚ĩãƒŧバãƒŧぎバãƒŧã‚¸ãƒ§ãƒŗã‚’ãƒã‚§ãƒƒã‚¯ã§ããžã›ã‚“ã§ã—ãŸ", "unable_to_setup_pin_code": "PINã‚ŗãƒŧドをã‚ģットã‚ĸップできぞせんでした", "unarchive": "ã‚ĸãƒŧã‚Ģã‚¤ãƒ–ã‚’č§Ŗé™¤", "unarchive_action_prompt": "{count}é …į›Žã‚’ã‚ĸãƒŧã‚Ģイブから除きぞした", @@ -2117,6 +2180,7 @@ "welcome": "ようこそ", "welcome_to_immich": "ImmichãĢようこそ", "wifi_name": "Wi-Fiぎ名前(SSID)", + "workflow": "ワãƒŧクフロãƒŧ", "wrong_pin_code": "PINã‚ŗãƒŧãƒ‰ãŒé–“é•ãŖãĻいぞす", "year": "åš´", "years_ago": "{years, plural, one {#åš´} other {#åš´}}前", diff --git a/i18n/ka.json b/i18n/ka.json index 063419db11..c756b9b708 100644 --- a/i18n/ka.json +++ b/i18n/ka.json @@ -16,7 +16,6 @@ "add_a_title": "áƒ“áƒáƒáƒĄáƒáƒ—áƒáƒŖáƒ áƒ”", "add_birthday": "დაბადების დáƒĻიქ დამაáƒĸება", "add_exclusion_pattern": "დაამაáƒĸე გამონაკლისი áƒœáƒ˜áƒ›áƒŖáƒ¨áƒ˜", - "add_import_path": "დაამაáƒĸე საიმპორáƒĸო მისამართი", "add_location": "დაამაáƒĸე ადგილი", "add_more_users": "დაამაáƒĸე მომხმარებლები", "add_partner": "დაამაáƒĸე პარáƒĸნიორი", @@ -73,7 +72,6 @@ "image_thumbnail_title": "მინიაáƒĸáƒŖáƒ áƒ˜áƒĄ პარამეáƒĸრები", "library_created": "შეიáƒĨმნა ბიბლიოთეკა: {library}", "library_deleted": "ბიბლიოთეკა áƒŦაიშალა", - "library_import_path_description": "აირჩიე დასაიმპორáƒĸებელი ქაáƒĨაáƒĻალდე. ფოáƒĸოები და ვიდეოები მოიáƒĢებნება ამ ქაáƒĨაáƒĻალდესა და მასში áƒáƒ áƒĄáƒ”áƒ‘áƒŖáƒš ქაáƒĨაáƒĻალდეებში.", "library_settings": "გარე ბიბლიოთეკა", "library_settings_description": "გარე ბიბლიოთეკების პარამეáƒĸრების მართვა", "logging_settings": "áƒŸáƒŖáƒ áƒœáƒáƒšáƒ˜", diff --git a/i18n/km.json b/i18n/km.json new file mode 100644 index 0000000000..0967ef424b --- /dev/null +++ b/i18n/km.json @@ -0,0 +1 @@ +{} diff --git a/i18n/kn.json b/i18n/kn.json index 111c802a1e..6bef39c34c 100644 --- a/i18n/kn.json +++ b/i18n/kn.json @@ -17,7 +17,6 @@ "add_birthday": "ā˛œā˛¨āŗā˛Žā˛Ļā˛ŋ➍ ➏⺇➰ā˛ŋ➏ā˛ŋ", "add_endpoint": "ā˛Žā˛‚ā˛Ąāŗâ€Œā˛Ēā˛žā˛¯ā˛ŋā˛‚ā˛Ÿāŗ ➏⺇➰ā˛ŋ➏ā˛ŋ", "add_exclusion_pattern": "ā˛šāŗŠā˛°ā˛—ā˛ŋā˛Ąāŗā˛ĩā˛ŋ➕⺆ ā˛Žā˛žā˛Ļ➰ā˛ŋā˛¯ā˛¨āŗā˛¨āŗ ➏⺇➰ā˛ŋ➏ā˛ŋ", - "add_import_path": "ā˛†ā˛Žā˛Ļ⺁ ā˛Žā˛žā˛°āŗā˛—ā˛ĩā˛¨āŗā˛¨āŗ ➏⺇➰ā˛ŋ➏ā˛ŋ", "add_location": "ā˛¸āŗā˛Ĩ➺ ➏⺇➰ā˛ŋ➏ā˛ŋ", "add_more_users": "ā˛šāŗ†ā˛šāŗā˛šā˛ŋ➍ ā˛Ŧ➺➕⺆ā˛Ļā˛žā˛°ā˛°ā˛¨āŗā˛¨āŗ ➏⺇➰ā˛ŋ➏ā˛ŋ", "add_partner": "ā˛Ēā˛žā˛˛āŗā˛Ļā˛žā˛°ā˛°ā˛¨āŗā˛¨āŗ ➏⺇➰ā˛ŋ➏ā˛ŋ", diff --git a/i18n/ko.json b/i18n/ko.json index 8a4094c4b0..782069b939 100644 --- a/i18n/ko.json +++ b/i18n/ko.json @@ -17,7 +17,6 @@ "add_birthday": "ėƒėŧ ėļ”ę°€", "add_endpoint": "ė—”ë“œíŦė¸íŠ¸ ėļ”ę°€", "add_exclusion_pattern": "ė œė™¸ ęˇœėš™ ėļ”ę°€", - "add_import_path": "氀렏ė˜Ŧ ę˛Ŋ로 ėļ”ę°€", "add_location": "ėœ„ėš˜ ėļ”ę°€", "add_more_users": "다ëĨ¸ ė‚ŦėšŠėž ėļ”ę°€", "add_partner": "파트너 ėļ”ę°€", @@ -33,7 +32,7 @@ "add_to_albums": "ė—ŦëŸŦ ė•¨ë˛”ė— ėļ”ę°€", "add_to_albums_count": "ė—ŦëŸŦ ė•¨ë˛”ė— ėļ”ę°€ ({count})", "add_to_shared_album": "ęŗĩ뜠 ė•¨ë˛”ė— ėļ”ę°€", - "add_upload_to_stack": "ėŠ¤íƒė— ė—…ëĄœë“œ ėļ”ę°€", + "add_upload_to_stack": "ėŠ¤íƒė— 항ëĒŠ ė—…ëĄœë“œ", "add_url": "URL ėļ”ę°€", "added_to_archive": "ëŗ´ę´€í•¨ėœŧ로 ė´ë™ë˜ė—ˆėŠĩ니다.", "added_to_favorites": "ėĻę˛¨ė°žę¸°ė— ėļ”ę°€ë˜ė—ˆėŠĩ니다.", @@ -63,13 +62,13 @@ "config_set_by_file": "ė„¤ė •ė´ ęĩŦė„ą 파ėŧė„ í†ĩ해 관ëĻŦë˜ęŗ  ėžˆėŠĩ니다.", "confirm_delete_library": "{library} ëŧė´ë¸ŒëŸŦëĻŦëĨŧ ė‚­ė œí•˜ė‹œę˛ ėŠĩ니까?", "confirm_delete_library_assets": "ė´ ëŧė´ë¸ŒëŸŦëĻŦëĨŧ ė‚­ė œí•˜ė‹œę˛ ėŠĩ니까? Immichė—ė„œ {count, plural, one {항ëĒŠ #개가} other {항ëĒŠ #개가}} ė‚­ė œë˜ëŠ° 되돌ëĻ´ 눘 ė—†ėŠĩ니다. ė›ëŗ¸ 파ėŧė€ ë””ėŠ¤íŦ뗐 ë‚¨ė•„ ėžˆėŠĩ니다.", - "confirm_email_below": "ęŗ„ė†í•˜ë ¤ëŠ´ ė•„ëž˜ė— \"{email}\"ė„(ëĨŧ) ėž…ë Ĩí•˜ė„¸ėš”.", + "confirm_email_below": "ęŗ„ė† ė§„í–‰í•˜ë ¤ëŠ´ ė•„ëž˜ė— \"{email}\" ėž…ë Ĩ", "confirm_reprocess_all_faces": "ëĒ¨ë“  ė–ŧęĩ´ė„ ë‹¤ė‹œ 래ëĻŦí•˜ė‹œę˛ ėŠĩ니까? ė´ëĻ„ė´ ė§€ė •ëœ ė¸ëŦŧ도 ė´ˆę¸°í™”ëŠë‹ˆë‹¤.", "confirm_user_password_reset": "{user}ë‹˜ė˜ 비밀번호ëĨŧ ė´ˆę¸°í™”í•˜ė‹œę˛ ėŠĩ니까?", "confirm_user_pin_code_reset": "{user}ë‹˜ė˜ PIN ėŊ”드ëĨŧ ė´ˆę¸°í™”í•˜ė‹œę˛ ėŠĩ니까?", "create_job": "냈 ėž‘ė—…", "cron_expression": "Cron í‘œí˜„ė‹", - "cron_expression_description": "Cron í‘œí˜„ė‹ėœŧ로 늤ėē” ėŖŧ기ëĨŧ ė„¤ė •í•Šë‹ˆë‹¤. ėžė„¸í•œ ë‚´ėšŠė€ ë‹¤ėŒė„ ė°¸ėĄ°í•˜ė„¸ėš”, Crontab Guru", + "cron_expression_description": "Cron í‘œí˜„ė‹ėœŧ로 늤ėē” ėŖŧ기ëĨŧ ė„¤ė •í•Šë‹ˆë‹¤. ėžė„¸í•œ ë‚´ėšŠė€ ë‹¤ėŒ 링íŦëĨŧ í™•ė¸í•˜ė„¸ėš”. Crontab Guru", "cron_expression_presets": "Cron í‘œí˜„ė‹ 프ëĻŦė…‹", "disable_login": "ëĄœęˇ¸ė¸ ëš„í™œė„ąí™”", "duplicate_detection_job_description": "揰溄 학ėŠĩėœŧ로 뜠ė‚Ŧ한 ė´ë¯¸ė§€ëĨŧ ę°ė§€í•Šë‹ˆë‹¤. ėŠ¤ë§ˆíŠ¸ ę˛€ėƒ‰ė´ í™œė„ąí™”ë˜ė–´ ėžˆė–´ė•ŧ 합니다.", @@ -78,7 +77,7 @@ "face_detection": "ė–ŧęĩ´ 氐맀", "face_detection_description": "揰溄 학ėŠĩėœŧ로 항ëĒŠė—ė„œ ė–ŧęĩ´ė„ ę°ė§€í•Šë‹ˆë‹¤. ë™ė˜ėƒė˜ ę˛Ŋ뚰 ė„Ŧ네ėŧ만 ëļ„ė„ė— ė‚ŦėšŠëŠë‹ˆë‹¤. \"ėƒˆëĄœęŗ ėš¨\"ė€ ëĒ¨ë“  항ëĒŠė„ (ėžŦ)래ëĻŦ하며, \"ė´ˆę¸°í™”\"는 현ėžŦ ëĒ¨ë“  ė–ŧęĩ´ ë°ė´í„°ëĨŧ ėļ”ę°€ëĄœ ė‚­ė œí•Šë‹ˆë‹¤. \"누ëŊ\"ė€ 땄링 래ëĻŦë˜ė§€ ė•Šė€ 항ëĒŠė„ ëŒ€ę¸°ė—´ė— ėļ”ę°€í•Šë‹ˆë‹¤. ė–ŧęĩ´ 氐맀氀 ė™„ëŖŒë˜ëŠ´ ė–ŧęĩ´ ė¸ė‹ ë‹¨ęŗ„ëĄœ ë„˜ė–´ę°€ ę¸°ėĄ´ ė¸ëŦŧė´ë‚˜ ėƒˆëĄœėš´ ė¸ëŦŧ로 ęˇ¸ëŖší™”í•Šë‹ˆë‹¤.", "facial_recognition_job_description": "ę°ė§€ëœ ė–ŧęĩ´ė„ ė¸ëŦŧëŗ„ëĄœ ęˇ¸ëŖší™”í•Šë‹ˆë‹¤. ė´ ėž‘ė—…ė€ ė–ŧęĩ´ 氐맀 ėž‘ė—…ė´ ė™„ëŖŒëœ 후 ė§„í–‰ëŠë‹ˆë‹¤. \"ė´ˆę¸°í™”\"는 ëĒ¨ë“  ė–ŧęĩ´ė„ ë‹¤ė‹œ ęˇ¸ëŖší™”í•Šë‹ˆë‹¤. \"누ëŊ\"ė€ ęˇ¸ëŖší™”ë˜ė§€ ė•Šė€ ė–ŧęĩ´ė„ ëŒ€ę¸°ė—´ė— ėļ”ę°€í•Šë‹ˆë‹¤.", - "failed_job_command": "{job} ėž‘ė—…ė—ė„œ {command} ė‹¤íŒ¨", + "failed_job_command": "{job} ėž‘ė—…ė˜ {command} ė‹¤íŒ¨", "force_delete_user_warning": "ę˛Ŋęŗ : ė´ ėž‘ė—…ė€ 해당 ė‚ŦėšŠėžė˜ ęŗ„ė •ęŗŧ ëĒ¨ë“  항ëĒŠė„ ėĻ‰ė‹œ ė‚­ė œí•Šë‹ˆë‹¤. ė´ ėž‘ė—…ė€ 되돌ëĻ´ 눘 ė—†ėœŧ늰 ė‚­ė œëœ 파ėŧė€ ëŗĩęĩŦ할 눘 ė—†ėŠĩ니다.", "image_format": "í˜•ė‹", "image_format_description": "WebP는 JPEGëŗ´ë‹¤ 파ėŧ íŦ기가 ėž‘ė§€ë§Œ ė¸ėŊ”딊 ė†ë„ę°€ 느ëĻŊ니다.", @@ -112,7 +111,6 @@ "jobs_failed": "{jobCount, plural, other {#氜}} ė‹¤íŒ¨", "library_created": "{library} ëŧė´ë¸ŒëŸŦëĻŦëĨŧ ėƒė„ąí–ˆėŠĩ니다.", "library_deleted": "ëŧė´ë¸ŒëŸŦëĻŦ가 ė‚­ė œë˜ė—ˆėŠĩ니다.", - "library_import_path_description": "氀렏ė˜Ŧ 폴더ëĨŧ ė§€ė •í•˜ė„¸ėš”. 해당 í´ë”ė™€ ëĒ¨ë“  í•˜ėœ„ í´ë”ė—ė„œ ė´ë¯¸ė§€ė™€ ë™ė˜ėƒė„ 늤ėē”핊니다.", "library_scanning": "ėŖŧę¸°ė ė¸ 늤ėē”", "library_scanning_description": "ėŖŧę¸°ė ė¸ ëŧė´ë¸ŒëŸŦëĻŦ 늤ėē”ė„ ęĩŦė„ąí•Šë‹ˆë‹¤.", "library_scanning_enable_description": "ėŖŧę¸°ė ė¸ ëŧė´ë¸ŒëŸŦëĻŦ 늤ėē” í™œė„ąí™”", @@ -158,6 +156,7 @@ "machine_learning_ocr_description": "揰溄 학ėŠĩėœŧ로 ė´ë¯¸ė§€ė—ė„œ í…ėŠ¤íŠ¸ëĨŧ ė¸ė‹í•Šë‹ˆë‹¤.", "machine_learning_ocr_enabled": "OCR í™œė„ąí™”", "machine_learning_ocr_min_detection_score": "ėĩœė†Œ ė‹ ëĸ°ë„ 렐눘", + "machine_learning_ocr_model": "OCR ëĒ¨ë¸", "machine_learning_settings": "揰溄 학ėŠĩ 네렕", "machine_learning_settings_description": "揰溄 학ėŠĩ ė‹œ ė‚ŦėšŠí•  ëĒ¨ë¸ęŗŧ 넏ëļ€ ė„¤ė •ė„ 관ëĻŦ합니다.", "machine_learning_smart_search": "ėŠ¤ë§ˆíŠ¸ ę˛€ėƒ‰", @@ -241,7 +240,7 @@ "oauth_settings": "OAuth", "oauth_settings_description": "OAuth ëĄœęˇ¸ė¸ ė„¤ė •ė„ 관ëĻŦ합니다.", "oauth_settings_more_details": "ė´ 기ëŠĨ뗐 대한 ėžė„¸í•œ ë‚´ėšŠė€ ëŦ¸ė„œëĨŧ ė°¸ėĄ°í•˜ė„¸ėš”.", - "oauth_storage_label_claim": "ėŠ¤í† ëĻŦė§€ ëŧ벨 í´ë ˆėž„", + "oauth_storage_label_claim": "ėŠ¤í† ëĻŦė§€ ë ˆė´ë¸” í´ë ˆėž„", "oauth_storage_label_claim_description": "í´ë ˆėž„ė˜ ę°’ė„ ė‚ŦėšŠėž ėŠ¤í† ëĻŦė§€ ë ˆė´ë¸”ëĄœ ėžë™ ė„¤ė •í•Šë‹ˆë‹¤.", "oauth_storage_quota_claim": "ėŠ¤í† ëĻŦė§€ ėšŠëŸ‰ í´ë ˆėž„", "oauth_storage_quota_claim_description": "ėš”ė˛­í•œ ę°’ė„ ė‚ŦėšŠėž ėŠ¤í† ëĻŦė§€ 할당량ėœŧ로 ėžë™ ė„¤ė •í•Šë‹ˆë‹¤.", @@ -249,6 +248,7 @@ "oauth_storage_quota_default_description": "ėž…ë Ĩí•˜ė§€ ė•Šė€ ę˛Ŋ뚰 ė‚ŦėšŠí•  GiB ë‹¨ėœ„ė˜ 할당량", "oauth_timeout": "ėš”ė˛­ íƒ€ėž„ė•„ė›ƒ", "oauth_timeout_description": "ėš”ė˛­ íƒ€ėž„ė•„ė›ƒ (밀ëĻŦ봈 ë‹¨ėœ„)", + "ocr_job_description": "揰溄 학ėŠĩėœŧ로 ė´ë¯¸ė§€ė—ė„œ í…ėŠ¤íŠ¸ëĨŧ ė¸ė‹í•Šë‹ˆë‹¤.", "password_enable_description": "ė´ëŠ”ėŧęŗŧ 비밀번호로 ëĄœęˇ¸ė¸", "password_settings": "비밀번호 ëĄœęˇ¸ė¸", "password_settings_description": "비밀번호 ëĄœęˇ¸ė¸ ė„¤ė •ė„ 관ëĻŦ합니다.", @@ -882,8 +882,6 @@ "edit_description_prompt": "냈 네ëĒ…ė„ ėž…ë Ĩí•˜ė„¸ėš”:", "edit_exclusion_pattern": "ė œė™¸ ęˇœėš™ ėˆ˜ė •", "edit_faces": "ė–ŧęĩ´ ėˆ˜ė •", - "edit_import_path": "氀렏ė˜Ŧ ę˛Ŋ로 ėˆ˜ė •", - "edit_import_paths": "氀렏ė˜Ŧ ę˛Ŋ로 ėˆ˜ė •", "edit_key": "키 ėˆ˜ė •", "edit_link": "링íŦ ėˆ˜ė •", "edit_location": "ėœ„ėš˜ ëŗ€ę˛Ŋ", @@ -955,7 +953,6 @@ "failed_to_stack_assets": "항ëĒŠ ėŠ¤íƒė— ė‹¤íŒ¨í–ˆėŠĩ니다.", "failed_to_unstack_assets": "항ëĒŠ ėŠ¤íƒ í’€ę¸°ė— ė‹¤íŒ¨í–ˆėŠĩ니다.", "failed_to_update_notification_status": "ė•ŒëĻŧ ėƒíƒœ ė—…ë°ė´íŠ¸ ė‹¤íŒ¨", - "import_path_already_exists": "ė´ 氀렏ė˜Ŧ ę˛Ŋ로는 ė´ë¯¸ ėĄ´ėžŦ합니다.", "incorrect_email_or_password": "ėž˜ëĒģ된 ė´ëŠ”ėŧ 또는 비밀번호", "paths_validation_failed": "{paths, plural, one {ę˛Ŋ로 #氜} other {ę˛Ŋ로 #氜}}가 ėœ íš¨ė„ą 검ė‚Ŧ뗐 ė‹¤íŒ¨í–ˆėŠĩ니다.", "profile_picture_transparent_pixels": "프로필 ė‚Ŧ맄뗐 íˆŦëĒ… í”Ŋė…€ė„ ė‚ŦėšŠí•  눘 ė—†ėŠĩ니다. ė‚Ŧė§„ė„ 확대하거나 ė´ë™í•˜ė„¸ėš”.", @@ -965,7 +962,6 @@ "unable_to_add_assets_to_shared_link": "항ëĒŠė„ ęŗĩ뜠 링íŦ뗐 ėļ”가할 눘 ė—†ėŠĩ니다.", "unable_to_add_comment": "ëŒ“ę¸€ė„ ėļ”가할 눘 ė—†ėŠĩ니다.", "unable_to_add_exclusion_pattern": "ė œė™¸ ęˇœėš™ė„ ėļ”가할 눘 ė—†ėŠĩ니다.", - "unable_to_add_import_path": "氀렏ė˜Ŧ ę˛Ŋ로ëĨŧ ėļ”가할 눘 ė—†ėŠĩ니다.", "unable_to_add_partners": "파트너ëĨŧ ėļ”가할 눘 ė—†ėŠĩ니다.", "unable_to_add_remove_archive": "{archived, select, true {ëŗ´ę´€í•¨ė—ė„œ 항ëĒŠė„ ė œęą°í• } other {ëŗ´ę´€í•¨ėœŧ로 항ëĒŠė„ ė´ë™í• }} 눘 ė—†ėŠĩ니다.", "unable_to_add_remove_favorites": "ėĻę˛¨ė°žę¸°ė— 항ëĒŠė„ {favorite, select, true {ėļ”ę°€} other {ė œęą°}}할 눘 ė—†ėŠĩ니다", @@ -988,12 +984,10 @@ "unable_to_delete_asset": "항ëĒŠė„ ė‚­ė œí•  눘 ė—†ėŠĩ니다.", "unable_to_delete_assets": "항ëĒŠ ė‚­ė œ 뤑 똤ëĨ˜ ë°œėƒ", "unable_to_delete_exclusion_pattern": "ė œė™¸ ęˇœėš™ė„ ė‚­ė œí•  눘 ė—†ėŠĩ니다.", - "unable_to_delete_import_path": "氀렏ė˜Ŧ ę˛Ŋ로ëĨŧ ė‚­ė œí•  눘 ė—†ėŠĩ니다.", "unable_to_delete_shared_link": "ęŗĩ뜠 링íŦëĨŧ ė‚­ė œí•  눘 ė—†ėŠĩ니다.", "unable_to_delete_user": "ė‚ŦėšŠėžëĨŧ ė‚­ė œí•  눘 ė—†ėŠĩ니다.", "unable_to_download_files": "파ėŧė„ ë‹¤ėš´ëĄœë“œí•  눘 ė—†ėŠĩ니다.", "unable_to_edit_exclusion_pattern": "ė œė™¸ ęˇœėš™ė„ ėˆ˜ė •í•  눘 ė—†ėŠĩ니다.", - "unable_to_edit_import_path": "氀렏ė˜Ŧ ę˛Ŋ로ëĨŧ ėˆ˜ė •í•  눘 ė—†ėŠĩ니다.", "unable_to_empty_trash": "íœ´ė§€í†ĩė„ ëš„ėš¸ 눘 ė—†ėŠĩ니다.", "unable_to_enter_fullscreen": "렄랴 화면ėœŧ로 ė „í™˜í•  눘 ė—†ėŠĩ니다.", "unable_to_exit_fullscreen": "렄랴 í™”ëŠ´ė„ ėĸ…ëŖŒí•  눘 ė—†ėŠĩ니다.", diff --git a/i18n/lt.json b/i18n/lt.json index 56f8333bef..38b86e6bae 100644 --- a/i18n/lt.json +++ b/i18n/lt.json @@ -17,7 +17,6 @@ "add_birthday": "Pridėti gimimo diena", "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ę", "add_more_users": "Pridėti daugiau naudotojÅŗ", "add_partner": "Pridėti partnerį", @@ -28,6 +27,7 @@ "add_to_album": "Pridėti į albumą", "add_to_album_bottom_sheet_added": "Pridėta į {album}", "add_to_album_bottom_sheet_already_exists": "Jau yra albume {album}", + "add_to_album_bottom_sheet_some_local_assets": "Dalis vietiniÅŗ elementÅŗ negalėjo bÅĢti pridėti į albumą", "add_to_album_toggle": "Perjungti paÅžymėjimus albumui {album}", "add_to_albums": "Pridėti į albumus", "add_to_albums_count": "Pridėti į albumus ({count})", @@ -110,7 +110,6 @@ "jobs_failed": "{jobCount, plural, other {# nepavyko}}", "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.", "library_scanning": "Periodinis skenavimas", "library_scanning_description": "KonfigÅĢruoti periodinį bibliotekos skanavimą", "library_scanning_enable_description": "ÄŽgalinti periodinį bibliotekos skenavimą", @@ -152,6 +151,8 @@ "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_ocr_description": "Naudoti maÅĄininį mokymąsį, teksto atpaÅžinimui nuotraukose", + "machine_learning_ocr_max_resolution": "Maksimali skiriamoji geba", "machine_learning_settings": "MaÅĄininio mokymosi nustatymai", "machine_learning_settings_description": "Tvarkyti maÅĄininio mokymosi funkcijas ir nustatymus", "machine_learning_smart_search": "IÅĄmanioji paieÅĄka", @@ -241,6 +242,7 @@ "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", + "ocr_job_description": "Naudoti maÅĄininį mokymąsi teksto atpaÅžinimui nuotraukose", "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", @@ -865,8 +867,6 @@ "edit_description_prompt": "PraÅĄome pasirinkti naują apraÅĄymą:", "edit_exclusion_pattern": "Redaguoti iÅĄimčiÅŗ ÅĄabloną", "edit_faces": "Redaguoti veidus", - "edit_import_path": "Redaguoti importavimo kelią", - "edit_import_paths": "Redaguoti importavimo kelius", "edit_key": "Redaguoti raktą", "edit_link": "Redaguoti nuorodą", "edit_location": "Redaguoti vietovę", @@ -938,7 +938,6 @@ "failed_to_stack_assets": "Nepavyko sugrupuoti elementÅŗ", "failed_to_unstack_assets": "Nepavyko iÅĄgrupuoti elementÅŗ", "failed_to_update_notification_status": "Nepavyko atnaujinti praneÅĄimo statuso", - "import_path_already_exists": "Å is importavimo kelias jau egzistuoja.", "incorrect_email_or_password": "Neteisingas el. paÅĄto adresas arba slaptaÅžodis", "paths_validation_failed": "Nepavyko {paths, plural, one {# kelio} other {# keliÅŗ}} patvirtinimas", "profile_picture_transparent_pixels": "Profilio nuotrauka negali turėti permatomÅŗ pikseliÅŗ. PraÅĄome priartinti ir/arba perkelkite nuotrauką.", @@ -948,7 +947,6 @@ "unable_to_add_assets_to_shared_link": "Nepavyko į bendrinimo nuorodą pridėti elementÅŗ", "unable_to_add_comment": "Nepavyksta pridėti komentaro", "unable_to_add_exclusion_pattern": "Nepavyksta pridėti iÅĄimčiÅŗ ÅĄablono", - "unable_to_add_import_path": "Nepavyksta pridėti importavimo kelio", "unable_to_add_partners": "Nepavyksta pridėti partneriÅŗ", "unable_to_add_remove_archive": "Nepavyko {archived, select, true {iÅĄtraukti iÅĄ} other {pridėti prie}} arcyhvo", "unable_to_add_remove_favorites": "Nepavyko {favorite, select, true {įtraukti elemento į mėgstamiausius} other {paÅĄalinti elemento iÅĄ mėgstamiausiÅŗ}}", @@ -971,12 +969,10 @@ "unable_to_delete_asset": "Nepavyko iÅĄtrinti elemento", "unable_to_delete_assets": "Klaida trinant elementus", "unable_to_delete_exclusion_pattern": "Nepavyksta iÅĄtrinti iÅĄimčiÅŗ ÅĄablono", - "unable_to_delete_import_path": "Nepavyksta iÅĄtrinti importavimo kelio", "unable_to_delete_shared_link": "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_empty_trash": "Nepavyko iÅĄtrinti ÅĄiukÅĄliadėŞės", "unable_to_enter_fullscreen": "Nepavyksta pereiti į viso ekrano reÅžimą", "unable_to_exit_fullscreen": "Nepavyksta iÅĄeiti iÅĄ viso ekrano reÅžimo", @@ -1071,6 +1067,7 @@ "features_setting_description": "Valdyti aplikacijos funkcijas", "file_name": "Failo pavadinimas", "file_name_or_extension": "Failo pavadinimas arba plėtinys", + "file_size": "Failo dydis", "filename": "Failopavadinimas", "filetype": "Failo tipas", "filter": "Filtras", @@ -1338,6 +1335,7 @@ "minute": "Minutė", "minutes": "Minutės", "missing": "TrÅĢkstami", + "mobile_app": "Mobili aplikacija", "model": "Modelis", "month": "Mėnesis", "monthly_title_text_date_format": "MMMM y", @@ -1523,6 +1521,7 @@ "port": "Portas", "preferences_settings_subtitle": "Tvarkyti programos nuostatas", "preferences_settings_title": "Nuostatos", + "preparing": "RuoÅĄiama", "preset": "Å ablonas", "preview": "PerÅžiÅĢra", "previous": "Buvęs", @@ -1578,6 +1577,7 @@ "rating_count": "{count, plural, one {# įvertinimas} few {# įvertinimai} other {# įvertinimÅŗ}}", "rating_description": "Rodyti EXIF įvertinimus informacijos skydelyje", "read_changelog": "Skaityti pakeitimÅŗ sąraÅĄÄ…", + "ready_for_upload": "ParuoÅĄta įkėlimui", "recent-albums": "Naujausi albumai", "recent_searches": "Naujausios paieÅĄkos", "recently_added": "Neseniai pridėta", @@ -1599,11 +1599,13 @@ "remove_assets_title": "PaÅĄalinti elementus?", "remove_deleted_assets": "PaÅĄalinti IÅĄtrintus Elemenuts", "remove_from_album": "PaÅĄalinti iÅĄ albumo", + "remove_from_album_action_prompt": "{count} paÅĄalinta iÅĄ albumo", "remove_from_favorites": "PaÅĄalinti iÅĄ mėgstamiausiÅŗ", "remove_from_lock_folder_action_prompt": "{count} iÅĄtraukta iÅĄ uÅžrakinto aplanko", "remove_from_locked_folder": "IÅĄimti iÅĄ uÅžrakinto aplanko", "remove_from_locked_folder_confirmation": "Ar tikrai norite perkelti ÅĄias nuotraukas ir vaizdo įraÅĄus iÅĄ uÅžrakinto aplanko? Jie taps matomi jÅĢsÅŗ galerijoje.", "remove_from_shared_link": "PaÅĄalinti iÅĄ bendrinimo nuorodos", + "remove_tag": "PaÅĄalinti Åžymę", "remove_user": "PaÅĄalinti naudotoją", "removed_api_key": "PaÅĄalintas API Raktas: {name}", "removed_from_archive": "PaÅĄalinta iÅĄ archyvo", diff --git a/i18n/lv.json b/i18n/lv.json index 6ff1c4e4ad..4af37ac5ba 100644 --- a/i18n/lv.json +++ b/i18n/lv.json @@ -17,7 +17,6 @@ "add_birthday": "Pievienot dzimÅĄanas dienu", "add_endpoint": "Pievienot galapunktu", "add_exclusion_pattern": "Pievienot izslēgÅĄanas ÅĄablonu", - "add_import_path": "Pievienot importa ceÄŧu", "add_location": "Pievienot lokāciju", "add_more_users": "Pievienot vēl lietotājus", "add_partner": "Pievienot partneri", @@ -110,7 +109,6 @@ "job_status": "Uzdevumu statuss", "library_created": "Izveidoja bibliotēku: {library}", "library_deleted": "Bibliotēka dzēsta", - "library_import_path_description": "Norādi importējamo mapi. Å ÄĢ mape un tās apakÅĄmapes tiks pārbaudÄĢta, lai atrastu attēlus un videoklipus.", "library_scanning": "Periodiska skenÄ“ÅĄana", "library_scanning_description": "Konfigurē periodisku bibliotēku skenÄ“ÅĄanu", "library_scanning_enable_description": "Iespējot periodisku bibliotēku skenÄ“ÅĄanu", @@ -717,8 +715,6 @@ "edit_description_prompt": "LÅĢdzu, izvēlies jaunu aprakstu:", "edit_exclusion_pattern": "Labot izslēgÅĄanas ÅĄablonu", "edit_faces": "Labot sejas", - "edit_import_path": "Labot importa ceÄŧu", - "edit_import_paths": "Labot importa ceÄŧus", "edit_key": "Labot atslēgu", "edit_link": "RediÄŖÄ“t saiti", "edit_location": "RediÄŖÄ“t AtraÅĄanās Vietu", @@ -769,7 +765,6 @@ "failed_to_stack_assets": "Neizdevās apvienot failus kaudzē", "failed_to_unstack_assets": "Neizdevās atcelt failu apvienoÅĄanu kaudzē", "failed_to_update_notification_status": "Neizdevās mainÄĢt paziņojuma statusu", - "import_path_already_exists": "Å is importa ceÄŧÅĄ jau pastāv.", "incorrect_email_or_password": "Nepareizs e-pasts vai parole", "profile_picture_transparent_pixels": "Profila attēlos nevar bÅĢt caurspÄĢdÄĢgi pikseÄŧi. LÅĢdzu, palielini un/vai pārvieto attēlu.", "something_went_wrong": "Kaut kas nogāja greizi", @@ -1300,6 +1295,7 @@ "role_viewer": "SkatÄĢtājs", "save": "Saglabāt", "save_to_gallery": "Saglabāt galerijā", + "saved": "Saglabāts", "saved_api_key": "API atslēga saglabāta", "saved_profile": "Profils saglabāts", "saved_settings": "IestatÄĢjumi saglabāti", diff --git a/i18n/mk.json b/i18n/mk.json index e81694e63e..c866b313fd 100644 --- a/i18n/mk.json +++ b/i18n/mk.json @@ -17,7 +17,6 @@ "add_birthday": "Додади Ņ€ĐžĐ´ĐĩĐŊĐ´ĐĩĐŊ", "add_endpoint": "Додади ĐēŅ€Đ°Ņ˜ĐŊа Ņ‚ĐžŅ‡Đēа", "add_exclusion_pattern": "Додади ŅˆĐ°ĐąĐģĐžĐŊ Са Đ¸ŅĐēĐģŅƒŅ‡ŅƒĐ˛Đ°ŅšĐĩ", - "add_import_path": "Додади ĐŋĐ°Ņ‚ĐĩĐēа Са иĐŧĐŋĐžŅ€Ņ‚Đ¸Ņ€Đ°ŅšĐĩ", "add_location": "Додади ĐģĐžĐēĐ°Ņ†Đ¸Ņ˜Đ°", "add_more_users": "Додади ŅƒŅˆŅ‚Đĩ ĐēĐžŅ€Đ¸ŅĐŊĐ¸Ņ†Đ¸", "add_partner": "Додади ĐŋĐ°Ņ€Ņ‚ĐŊĐĩŅ€", @@ -94,7 +93,6 @@ "job_status": "ĐĄŅ‚Đ°Ņ‚ŅƒŅ ĐŊа ĐˇĐ°Đ´Đ°Ņ‡Đ¸", "library_created": "ĐšŅ€ĐĩĐ¸Ņ€Đ°ĐŊа йийĐģĐ¸ĐžŅ‚ĐĩĐēа: {library}", "library_deleted": "БибĐģĐ¸ĐžŅ‚ĐĩĐēĐ°Ņ‚Đ° Đĩ Đ¸ĐˇĐąŅ€Đ¸ŅˆĐ°ĐŊа", - "library_import_path_description": "ĐŸŅ€ĐĩĐ´ĐģĐžĐļи ĐŋаĐŋĐēа Са вĐŊĐĩҁ. Оваа ĐŋаĐŋĐēа, вĐēĐģŅƒŅ‡ŅƒĐ˛Đ° и ĐŋОд ĐŋаĐŋĐēи, ҜĐĩ йидĐĩ ҁĐēĐĩĐŊĐ¸Ņ€Đ°ĐŊа Са ҁĐģиĐēи и видĐĩа.", "library_scanning": "ПĐĩŅ€Đ¸ĐžĐ´Đ¸Ņ‡ĐŊĐž ҁĐēĐĩĐŊĐ¸Ņ€Đ°ŅšĐĩ", "library_scanning_description": "ПодĐĩŅĐ¸ ĐŋĐĩŅ€Đ¸ĐžĐ´Đ¸Ņ‡ĐŊĐž ҁĐēĐĩĐŊĐ¸Ņ€Đ°ĐŊҘĐĩ ĐŊа йийĐģĐ¸ĐžŅ‚ĐĩĐēĐ°Ņ‚Đ°", "library_scanning_enable_description": "ОвозĐŧĐžĐļи ĐŋĐĩŅ€Đ¸ĐžĐ´Đ¸Ņ‡ĐŊĐž ҁĐēĐĩĐŊĐ¸Ņ€Đ°ĐŊҘĐĩ ĐŊа йийĐģĐ¸ĐžŅ‚ĐĩĐēĐ°Ņ‚Đ°", diff --git a/i18n/ml.json b/i18n/ml.json index ec9eba2794..8847103508 100644 --- a/i18n/ml.json +++ b/i18n/ml.json @@ -17,7 +17,6 @@ "add_birthday": "ⴜⴍāĩā´Žā´Ļā´ŋⴍⴂ ⴚāĩ‡āĩŧā´•āĩā´•āĩā´•", "add_endpoint": "ā´Žāĩģā´Ąāĩâ€Œā´Ēāĩ‹ā´¯ā´ŋā´¨āĩā´ąāĩ ⴚāĩ‡āĩŧā´•āĩā´•āĩā´•", "add_exclusion_pattern": "ā´’ā´´ā´ŋā´ĩā´žā´•āĩā´•āĩŊ ā´Ēā´žā´ąāĩā´ąāĩ‡āĩē ⴚāĩ‡āĩŧā´•āĩā´•āĩā´•", - "add_import_path": "ā´‡ā´Žāĩā´Ēāĩ‹āĩŧⴟāĩā´Ÿāĩ ā´Ēā´žā´¤āĩā´¤āĩ ⴚāĩ‡āĩŧā´•āĩā´•āĩā´•", "add_location": "ā´¸āĩā´Ĩā´žā´¨ā´‚ ⴚāĩ‡āĩŧā´•āĩā´•āĩā´•", "add_more_users": "ā´•āĩ‚ā´Ÿāĩā´¤āĩŊ ā´‰ā´Ēā´¯āĩ‹ā´•āĩā´¤ā´žā´•āĩā´•ā´ŗāĩ† ⴚāĩ‡āĩŧā´•āĩā´•āĩā´•", "add_partner": "ā´Ēā´™āĩā´•ā´žā´ŗā´ŋā´¯āĩ† ⴚāĩ‡āĩŧā´•āĩā´•āĩā´•", @@ -111,7 +110,6 @@ "jobs_failed": "{jobCount, plural, one {# ⴜāĩ‹ā´˛ā´ŋ ā´Ēā´°ā´žā´œā´¯ā´Ēāĩā´Ēāĩ†ā´Ÿāĩā´Ÿāĩ} other {# ⴜāĩ‹ā´˛ā´ŋā´•āĩž ā´Ēā´°ā´žā´œā´¯ā´Ēāĩā´Ēāĩ†ā´Ÿāĩā´Ÿāĩ}}", "library_created": "{library} ā´Žā´¨āĩā´¨ ā´˛āĩˆā´Ŧāĩā´°ā´ąā´ŋ ā´¸āĩƒā´ˇāĩā´Ÿā´ŋⴚāĩā´šāĩ", "library_deleted": "ā´˛āĩˆā´Ŧāĩā´°ā´ąā´ŋ ⴇⴞāĩā´˛ā´žā´¤ā´žā´•āĩā´•ā´ŋ", - "library_import_path_description": "ā´‡ā´Žāĩā´Ēāĩ‹āĩŧⴟāĩā´Ÿāĩā´šāĩ†ā´¯āĩā´¯ā´žāĩģ ā´’ā´°āĩ ā´Ģāĩ‹āĩžā´Ąāĩŧ ā´ĩāĩā´¯ā´•āĩā´¤ā´Žā´žā´•āĩā´•āĩā´•. ā´¸ā´Ŧāĩā´Ģāĩ‹āĩžā´Ąā´ąāĩā´•āĩž ā´‰āĩžā´Ēāĩā´Ēāĩ†ā´Ÿāĩ† ⴈ ā´Ģāĩ‹āĩžā´Ąāĩŧ ⴚā´ŋā´¤āĩā´°ā´™āĩā´™āĩžā´•āĩā´•āĩā´‚ ā´ĩāĩ€ā´Ąā´ŋā´¯āĩ‹ā´•āĩžā´•āĩā´•āĩā´Žā´žā´¯ā´ŋ ā´¸āĩā´•ā´žāĩģ ⴚāĩ†ā´¯āĩā´¯āĩā´‚.", "library_scanning": "ⴆⴍāĩā´•ā´žā´˛ā´ŋā´• ā´¸āĩā´•ā´žā´¨ā´ŋā´‚ā´—āĩ", "library_scanning_description": "ⴆⴍāĩā´•ā´žā´˛ā´ŋā´• ā´˛āĩˆā´Ŧāĩā´°ā´ąā´ŋ ā´¸āĩā´•ā´žā´¨ā´ŋā´‚ā´—āĩ ā´•āĩ‹āĩēā´Ģā´ŋā´—āĩŧ ⴚāĩ†ā´¯āĩā´¯āĩā´•", "library_scanning_enable_description": "ⴆⴍāĩā´•ā´žā´˛ā´ŋā´• ā´˛āĩˆā´Ŧāĩā´°ā´ąā´ŋ ā´¸āĩā´•ā´žā´¨ā´ŋā´‚ā´—āĩ ā´Ēāĩā´°ā´ĩāĩŧā´¤āĩā´¤ā´¨ā´•āĩā´ˇā´Žā´Žā´žā´•āĩā´•āĩā´•", @@ -869,8 +867,6 @@ "edit_description_prompt": "ā´Ļā´¯ā´ĩā´žā´¯ā´ŋ ā´’ā´°āĩ ā´Ēāĩā´¤ā´ŋā´¯ ā´ĩā´ŋā´ĩā´°ā´Ŗā´‚ ā´¤ā´ŋā´°ā´žāĩā´žāĩ†ā´Ÿāĩā´•āĩā´•āĩā´•:", "edit_exclusion_pattern": "ā´’ā´´ā´ŋā´ĩā´žā´•āĩā´•āĩŊ ā´Ēā´žā´ąāĩā´ąāĩ‡āĩē ā´Žā´Ąā´ŋā´ąāĩā´ąāĩā´šāĩ†ā´¯āĩā´¯āĩā´•", "edit_faces": "ā´Žāĩā´–ā´™āĩā´™āĩž ā´Žā´Ąā´ŋā´ąāĩā´ąāĩā´šāĩ†ā´¯āĩā´¯āĩā´•", - "edit_import_path": "ā´‡ā´Žāĩā´Ēāĩ‹āĩŧⴟāĩā´Ÿāĩ ā´Ēā´žā´¤āĩā´¤āĩ ā´Žā´Ąā´ŋā´ąāĩā´ąāĩā´šāĩ†ā´¯āĩā´¯āĩā´•", - "edit_import_paths": "ā´‡ā´Žāĩā´Ēāĩ‹āĩŧⴟāĩā´Ÿāĩ ā´Ēā´žā´¤āĩā´¤āĩā´•āĩž ā´Žā´Ąā´ŋā´ąāĩā´ąāĩā´šāĩ†ā´¯āĩā´¯āĩā´•", "edit_key": "ā´•āĩ€ ā´Žā´Ąā´ŋā´ąāĩā´ąāĩā´šāĩ†ā´¯āĩā´¯āĩā´•", "edit_link": "ā´˛ā´ŋā´™āĩā´•āĩ ā´Žā´Ąā´ŋā´ąāĩā´ąāĩā´šāĩ†ā´¯āĩā´¯āĩā´•", "edit_location": "ā´¸āĩā´Ĩā´žā´¨ā´‚ ā´Žā´Ąā´ŋā´ąāĩā´ąāĩā´šāĩ†ā´¯āĩā´¯āĩā´•", @@ -942,7 +938,6 @@ "failed_to_stack_assets": "ā´…ā´¸ā´ąāĩā´ąāĩā´•āĩž ā´¸āĩā´ąāĩā´ąā´žā´•āĩā´•āĩ ⴚāĩ†ā´¯āĩā´¯āĩā´¨āĩā´¨ā´¤ā´ŋāĩŊ ā´Ēā´°ā´žā´œā´¯ā´Ēāĩā´Ēāĩ†ā´Ÿāĩā´Ÿāĩ", "failed_to_unstack_assets": "ā´…ā´¸ā´ąāĩā´ąāĩā´•āĩž ā´…āĩē-ā´¸āĩā´ąāĩā´ąā´žā´•āĩā´•āĩ ⴚāĩ†ā´¯āĩā´¯āĩā´¨āĩā´¨ā´¤ā´ŋāĩŊ ā´Ēā´°ā´žā´œā´¯ā´Ēāĩā´Ēāĩ†ā´Ÿāĩā´Ÿāĩ", "failed_to_update_notification_status": "ā´…ā´ąā´ŋā´¯ā´ŋā´Ēāĩā´Ēā´ŋā´¨āĩā´ąāĩ† ā´¨ā´ŋā´˛ ā´…ā´Ēāĩā´Ąāĩ‡ā´ąāĩā´ąāĩ ⴚāĩ†ā´¯āĩā´¯āĩā´¨āĩā´¨ā´¤ā´ŋāĩŊ ā´Ēā´°ā´žā´œā´¯ā´Ēāĩā´Ēāĩ†ā´Ÿāĩā´Ÿāĩ", - "import_path_already_exists": "ⴈ ā´‡ā´Žāĩā´Ēāĩ‹āĩŧⴟāĩā´Ÿāĩ ā´Ēā´žā´¤āĩā´¤āĩ ⴇⴤā´ŋⴍⴕⴂ ā´¨ā´ŋā´˛ā´ĩā´ŋā´˛āĩā´Ŗāĩā´Ÿāĩ.", "incorrect_email_or_password": "ā´¤āĩ†ā´ąāĩā´ąā´žā´¯ ā´‡ā´Žāĩ†ā´¯ā´ŋāĩŊ ā´…ā´˛āĩā´˛āĩ†ā´™āĩā´•ā´ŋāĩŊ ā´Ēā´žā´¸āĩâ€Œā´ĩāĩ‡ā´Ąāĩ", "paths_validation_failed": "{paths, plural, one {# ā´Ēā´žā´¤āĩā´¤āĩ} other {# ā´Ēā´žā´¤āĩā´¤āĩā´•āĩž}} ā´¸ā´žā´§āĩ‚ā´•ā´°ā´Ŗā´¤āĩā´¤ā´ŋāĩŊ ā´Ēā´°ā´žā´œā´¯ā´Ēāĩā´Ēāĩ†ā´Ÿāĩā´Ÿāĩ", "profile_picture_transparent_pixels": "ā´Ēāĩā´°āĩŠā´ĢāĩˆāĩŊ ⴚā´ŋā´¤āĩā´°ā´™āĩā´™āĩžā´•āĩā´•āĩ ā´¸āĩā´¤ā´žā´°āĩā´¯ā´Žā´žā´¯ ā´Ēā´ŋā´•āĩā´¸ā´˛āĩā´•āĩž ⴉ⴪āĩā´Ÿā´žā´•ā´°āĩā´¤āĩ. ā´Ļā´¯ā´ĩā´žā´¯ā´ŋ ā´¸āĩ‚ā´‚ ā´‡āĩģ ⴚāĩ†ā´¯āĩā´¯āĩā´• ā´•āĩ‚ā´Ÿā´žā´¤āĩ†/ā´…ā´˛āĩā´˛āĩ†ā´™āĩā´•ā´ŋāĩŊ ⴚā´ŋā´¤āĩā´°ā´‚ ā´¨āĩ€ā´•āĩā´•āĩā´•.", @@ -952,7 +947,6 @@ "unable_to_add_assets_to_shared_link": "ā´Ēā´™āĩā´•ā´ŋⴟāĩā´Ÿ ā´˛ā´ŋā´™āĩā´•ā´ŋā´˛āĩ‡ā´•āĩā´•āĩ ā´…ā´¸ā´ąāĩā´ąāĩā´•āĩž ⴚāĩ‡āĩŧā´•āĩā´•ā´žāĩģ ā´•ā´´ā´ŋā´¯ā´ŋā´˛āĩā´˛", "unable_to_add_comment": "ā´…ā´­ā´ŋā´Ēāĩā´°ā´žā´¯ā´‚ ⴚāĩ‡āĩŧā´•āĩā´•ā´žāĩģ ā´•ā´´ā´ŋā´¯ā´ŋā´˛āĩā´˛", "unable_to_add_exclusion_pattern": "ā´’ā´´ā´ŋā´ĩā´žā´•āĩā´•āĩŊ ā´Ēā´žā´ąāĩā´ąāĩ‡āĩē ⴚāĩ‡āĩŧā´•āĩā´•ā´žāĩģ ā´•ā´´ā´ŋā´¯ā´ŋā´˛āĩā´˛", - "unable_to_add_import_path": "ā´‡ā´Žāĩā´Ēāĩ‹āĩŧⴟāĩā´Ÿāĩ ā´Ēā´žā´¤āĩā´¤āĩ ⴚāĩ‡āĩŧā´•āĩā´•ā´žāĩģ ā´•ā´´ā´ŋā´¯ā´ŋā´˛āĩā´˛", "unable_to_add_partners": "ā´Ēā´™āĩā´•ā´žā´ŗā´ŋā´•ā´ŗāĩ† ⴚāĩ‡āĩŧā´•āĩā´•ā´žāĩģ ā´•ā´´ā´ŋā´¯ā´ŋā´˛āĩā´˛", "unable_to_add_remove_archive": "ā´†āĩŧā´•āĩā´•āĩˆā´ĩā´ŋāĩŊ {archived, select, true {ā´¨ā´ŋā´¨āĩā´¨āĩ ā´…ā´¸ā´ąāĩā´ąāĩ ā´¨āĩ€ā´•āĩā´•ā´‚ā´šāĩ†ā´¯āĩā´¯ā´žāĩģ} other {ā´˛āĩ‡ā´•āĩā´•āĩ ā´…ā´¸ā´ąāĩā´ąāĩ ⴚāĩ‡āĩŧā´•āĩā´•ā´žāĩģ}} ā´•ā´´ā´ŋā´¯ā´ŋā´˛āĩā´˛", "unable_to_add_remove_favorites": "ā´Ēāĩā´°ā´ŋā´¯ā´Ēāĩā´Ēāĩ†ā´Ÿāĩā´Ÿā´ĩā´¯ā´ŋā´˛āĩ‡ā´•āĩā´•āĩ {favorite, select, true {ā´…ā´¸ā´ąāĩā´ąāĩ ⴚāĩ‡āĩŧā´•āĩā´•ā´žāĩģ} other {ā´¨ā´ŋā´¨āĩā´¨āĩ ā´…ā´¸ā´ąāĩā´ąāĩ ā´¨āĩ€ā´•āĩā´•ā´‚ā´šāĩ†ā´¯āĩā´¯ā´žāĩģ}} ā´•ā´´ā´ŋā´¯ā´ŋā´˛āĩā´˛", @@ -975,12 +969,10 @@ "unable_to_delete_asset": "ā´…ā´¸ā´ąāĩā´ąāĩ ⴇⴞāĩā´˛ā´žā´¤ā´žā´•āĩā´•ā´žāĩģ ā´•ā´´ā´ŋā´¯ā´ŋā´˛āĩā´˛", "unable_to_delete_assets": "ā´…ā´¸ā´ąāĩā´ąāĩā´•āĩž ⴇⴞāĩā´˛ā´žā´¤ā´žā´•āĩā´•āĩā´¨āĩā´¨ā´¤ā´ŋāĩŊ ā´Ēā´ŋā´ļā´•āĩ", "unable_to_delete_exclusion_pattern": "ā´’ā´´ā´ŋā´ĩā´žā´•āĩā´•āĩŊ ā´Ēā´žā´ąāĩā´ąāĩ‡āĩē ⴇⴞāĩā´˛ā´žā´¤ā´žā´•āĩā´•ā´žāĩģ ā´•ā´´ā´ŋā´¯ā´ŋā´˛āĩā´˛", - "unable_to_delete_import_path": "ā´‡ā´Žāĩā´Ēāĩ‹āĩŧⴟāĩā´Ÿāĩ ā´Ēā´žā´¤āĩā´¤āĩ ⴇⴞāĩā´˛ā´žā´¤ā´žā´•āĩā´•ā´žāĩģ ā´•ā´´ā´ŋā´¯ā´ŋā´˛āĩā´˛", "unable_to_delete_shared_link": "ā´Ēā´™āĩā´•ā´ŋⴟāĩā´Ÿ ā´˛ā´ŋā´™āĩā´•āĩ ⴇⴞāĩā´˛ā´žā´¤ā´žā´•āĩā´•ā´žāĩģ ā´•ā´´ā´ŋā´¯ā´ŋā´˛āĩā´˛", "unable_to_delete_user": "ā´‰ā´Ēā´¯āĩ‹ā´•āĩā´¤ā´žā´ĩā´ŋā´¨āĩ† ⴇⴞāĩā´˛ā´žā´¤ā´žā´•āĩā´•ā´žāĩģ ā´•ā´´ā´ŋā´¯ā´ŋā´˛āĩā´˛", "unable_to_download_files": "ā´Ģⴝⴞāĩā´•āĩž ā´Ąāĩ—āĩēā´˛āĩ‹ā´Ąāĩ ⴚāĩ†ā´¯āĩā´¯ā´žāĩģ ā´•ā´´ā´ŋā´¯ā´ŋā´˛āĩā´˛", "unable_to_edit_exclusion_pattern": "ā´’ā´´ā´ŋā´ĩā´žā´•āĩā´•āĩŊ ā´Ēā´žā´ąāĩā´ąāĩ‡āĩē ā´Žā´Ąā´ŋā´ąāĩā´ąāĩā´šāĩ†ā´¯āĩā´¯ā´žāĩģ ā´•ā´´ā´ŋā´¯ā´ŋā´˛āĩā´˛", - "unable_to_edit_import_path": "ā´‡ā´Žāĩā´Ēāĩ‹āĩŧⴟāĩā´Ÿāĩ ā´Ēā´žā´¤āĩā´¤āĩ ā´Žā´Ąā´ŋā´ąāĩā´ąāĩā´šāĩ†ā´¯āĩā´¯ā´žāĩģ ā´•ā´´ā´ŋā´¯ā´ŋā´˛āĩā´˛", "unable_to_empty_trash": "ⴟāĩā´°ā´žā´ˇāĩ ā´ļāĩ‚ā´¨āĩā´¯ā´Žā´žā´•āĩā´•ā´žāĩģ ā´•ā´´ā´ŋā´¯ā´ŋā´˛āĩā´˛", "unable_to_enter_fullscreen": "ā´Ģāĩāĩžā´¸āĩā´•āĩā´°āĩ€ā´¨ā´ŋāĩŊ ā´Ēāĩā´°ā´ĩāĩ‡ā´ļā´ŋā´•āĩā´•ā´žāĩģ ā´•ā´´ā´ŋā´¯ā´ŋā´˛āĩā´˛", "unable_to_exit_fullscreen": "ā´Ģāĩāĩžā´¸āĩā´•āĩā´°āĩ€ā´¨ā´ŋāĩŊ ā´¨ā´ŋā´¨āĩā´¨āĩ ā´Ēāĩā´ąā´¤āĩā´¤āĩā´•ā´Ÿā´•āĩā´•ā´žāĩģ ā´•ā´´ā´ŋā´¯ā´ŋā´˛āĩā´˛", diff --git a/i18n/mn.json b/i18n/mn.json index 85092fef0d..62e40274af 100644 --- a/i18n/mn.json +++ b/i18n/mn.json @@ -15,7 +15,6 @@ "add_a_name": "ĐŅŅ€ ĶŠĐŗĶŠŅ…", "add_a_title": "Đ“Đ°Ņ€Ņ‡Đ¸Đŗ ĐžŅ€ŅƒŅƒĐģĐ°Ņ…", "add_endpoint": "Endpoint ĐŊŅĐŧŅŅ…", - "add_import_path": "ИĐŧĐŋĐžŅ€Ņ‚ĐģĐžŅ… СаĐŧ ĐŊŅĐŧŅŅ…", "add_location": "Đ‘Đ°ĐšŅ€ŅˆĐ¸Đģ ĐžŅ€ŅƒŅƒĐģĐ°Ņ…", "add_more_users": "Ķ¨ĶŠŅ€ Ņ…ŅŅ€ŅĐŗĐģŅĐŗŅ‡Đ¸Đ´ ĐŊŅĐŧŅŅ…", "add_partner": "ĐĨаĐŧŅ‚Ņ€Đ°ĐŗŅ‡ ĐŊŅĐŧŅŅ…", diff --git a/i18n/mr.json b/i18n/mr.json index 54cac4b0dc..8404983db1 100644 --- a/i18n/mr.json +++ b/i18n/mr.json @@ -17,7 +17,6 @@ "add_birthday": "⤜⤍āĨā¤Žā¤Ļā¤ŋā¤ĩ⤏ ⤍āĨ‹ā¤‚ā¤Ļā¤ĩā¤ž", "add_endpoint": "ā¤ā¤‚ā¤Ąā¤ĒāĨ‰ā¤‡ā¤‚ā¤Ÿ ⤜āĨ‹ā¤Ąā¤ž", "add_exclusion_pattern": "⤅ā¤Ēā¤ĩā¤žā¤Ļ ā¤¨ā¤ŽāĨā¤¨ā¤ž ⤜āĨ‹ā¤Ąā¤ž", - "add_import_path": "ā¤†ā¤¯ā¤žā¤¤ ā¤Žā¤žā¤°āĨā¤— ā¤Ÿā¤žā¤•ā¤ž", "add_location": "⤏āĨā¤Ĩ⤺ ā¤Ÿā¤žā¤•ā¤ž", "add_more_users": "⤅⤧ā¤ŋ⤕ ā¤ĩā¤žā¤Ē⤰⤕⤰āĨā¤¤āĨ‡ ⤜āĨ‹ā¤Ąā¤ž", "add_partner": "ā¤­ā¤žā¤—āĨ€ā¤Ļā¤žā¤° ⤜āĨ‹ā¤Ąā¤ž", @@ -32,7 +31,9 @@ "add_to_album_toggle": "{album} ā¤¸ā¤žā¤ āĨ€ ⤍ā¤ŋā¤ĩā¤Ą ā¤Ŧā¤Ļā¤˛ā¤ž", "add_to_albums": "⤅⤞āĨā¤Ŧā¤Žā¤Žā¤§āĨā¤¯āĨ‡ ⤜āĨ‹ā¤Ąā¤ž", "add_to_albums_count": "⤅⤞āĨā¤Ŧā¤Žā¤žā¤‚ā¤Žā¤§āĨā¤¯āĨ‡ ⤜āĨ‹ā¤Ąā¤ž ({count})", + "add_to_bottom_bar": "ā¤Žā¤§āĨā¤¯āĨ‡ ⤜āĨ‹ā¤Ąā¤ž", "add_to_shared_album": "ā¤¸ā¤žā¤Žā¤žā¤¯ā¤ŋ⤕ ⤏⤂⤗āĨā¤°ā¤šā¤žā¤¤ ā¤Ÿā¤žā¤•ā¤ž", + "add_upload_to_stack": "⤏āĨā¤ŸāĨ…ā¤•ā¤Žā¤§āĨā¤¯āĨ‡ ⤅ā¤Ē⤞āĨ‹ā¤Ą ⤜āĨ‹ā¤Ąā¤ž", "add_url": "URL ā¤ĒāĨā¤°ā¤ĩā¤ŋ⤎āĨā¤Ÿ ā¤•ā¤°ā¤ž", "added_to_archive": "⤏⤂⤗āĨā¤°ā¤šā¤ŋ⤤ ⤕āĨ‡ā¤˛āĨ‡", "added_to_favorites": "⤆ā¤ĩā¤Ąā¤¤āĨā¤¯ā¤ž ⤏⤂⤗āĨā¤°ā¤šā¤žā¤¤ ⤜āĨ‹ā¤Ąā¤˛āĨ‡", @@ -48,7 +49,7 @@ "background_task_job": "ā¤ĒāĨƒā¤ˇāĨā¤ ā¤­āĨ‚ā¤Žā¤ŋ ā¤•ā¤žā¤°āĨā¤¯", "backup_database": "ā¤ĄāĨ‡ā¤Ÿā¤žā¤ŦāĨ‡ā¤¸ ā¤Ąā¤‚ā¤Ē ā¤¤ā¤¯ā¤žā¤° ā¤•ā¤°ā¤ž", "backup_database_enable_description": "ā¤ĄāĨ‡ā¤Ÿā¤žā¤ŦāĨ‡ā¤¸ ā¤Ąā¤‚ā¤Ē ⤏⤕āĨā¤ˇā¤Ž ā¤•ā¤°ā¤ž", - "backup_keep_last_amount": "ā¤ĒāĨ‚⤰āĨā¤ĩāĨ€ā¤šāĨā¤¯ā¤ž ⤕ā¤ŋ⤤āĨ€ ā¤ĒāĨā¤°ā¤¤ā¤ŋ⤞ā¤ŋā¤ĒāĨ€ ⤠āĨ‡ā¤ĩā¤žā¤¯ā¤šāĨā¤¯ā¤ž", + "backup_keep_last_amount": "ā¤ĒāĨ‚⤰āĨā¤ĩāĨ€ā¤šāĨā¤¯ā¤ž ⤕ā¤ŋ⤤āĨ€ ā¤Ąā¤‚ā¤ĒāĨā¤¸ ⤠āĨ‡ā¤ĩā¤žā¤¯ā¤šāĨ‡", "backup_onboarding_1_description": "⤕āĨā¤˛ā¤žā¤Šā¤Ąā¤Žā¤§āĨā¤¯āĨ‡ ⤕ā¤ŋ⤂ā¤ĩā¤ž ⤇⤤⤰ ⤕āĨ‹ā¤Ŗā¤¤āĨā¤¯ā¤žā¤šāĨ€ ⤭āĨŒā¤¤ā¤ŋ⤕ ⤠ā¤ŋā¤•ā¤žā¤ŖāĨ€ ⤠āĨ‡ā¤ĩ⤞āĨ‡ā¤˛āĨ€ ⤑ā¤Ģā¤¸ā¤žā¤‡ā¤Ÿ ā¤ĒāĨā¤°ā¤¤.", "backup_onboarding_2_description": "ā¤ĩā¤ŋā¤ĩā¤ŋ⤧ ⤉ā¤Ēā¤•ā¤°ā¤Ŗā¤žā¤‚ā¤ĩ⤰ ⤏āĨā¤Ĩā¤žā¤¨ā¤ŋ⤕ ā¤ĒāĨā¤°ā¤¤āĨ€ ⤠āĨ‡ā¤ĩ⤞āĨ€ ā¤œā¤žā¤¤ā¤žā¤¤. ā¤¯ā¤žā¤Žā¤§āĨā¤¯āĨ‡ ā¤ŽāĨā¤–āĨā¤¯ ā¤Ģā¤žā¤‡ā¤˛āĨā¤¸ ⤆⤪ā¤ŋ ⤤āĨā¤¯ā¤žā¤‚ā¤šāĨā¤¯ā¤ž ⤏āĨā¤Ĩā¤žā¤¨ā¤ŋ⤕ ā¤ŦāĨ…⤕⤅ā¤Ēā¤šā¤ž ā¤¸ā¤Žā¤žā¤ĩāĨ‡ā¤ļ ā¤†ā¤šāĨ‡.", "backup_onboarding_3_description": "ā¤ŽāĨā¤ŗ ā¤Ģā¤žā¤‡ā¤˛āĨā¤¸ā¤¸ā¤šā¤ŋ⤤ ⤤āĨā¤Žā¤šāĨā¤¯ā¤ž ā¤ĄāĨ‡ā¤Ÿā¤žā¤šāĨā¤¯ā¤ž ā¤ā¤•āĨ‚⤪ ā¤ĒāĨā¤°ā¤¤āĨā¤¯ā¤ž. ā¤¯ā¤žā¤Žā¤§āĨā¤¯āĨ‡ 1 ⤑ā¤Ģā¤¸ā¤žā¤‡ā¤Ÿ ā¤ĒāĨā¤°ā¤¤ ⤆⤪ā¤ŋ 2 ⤏āĨā¤Ĩā¤žā¤¨ā¤ŋ⤕ ā¤ĒāĨā¤°ā¤¤ā¤žā¤‚ā¤šā¤ž ā¤¸ā¤Žā¤žā¤ĩāĨ‡ā¤ļ ā¤†ā¤šāĨ‡.", @@ -56,7 +57,7 @@ "backup_onboarding_footer": "Immich ā¤šā¤ž ā¤ŦāĨ…⤕⤅ā¤Ē ā¤•ā¤¸ā¤ž ⤘āĨā¤¯ā¤žā¤ĩā¤ž ā¤¯ā¤žā¤Ŧā¤ĻāĨā¤Ļ⤞ ⤅⤧ā¤ŋ⤕ ā¤Žā¤žā¤šā¤ŋ⤤āĨ€ā¤¸ā¤žā¤ āĨ€, ⤕āĨƒā¤Ēā¤¯ā¤ž ā¤Ļ⤏āĨā¤¤ā¤ā¤ĩ⤜āĨ€ā¤•⤰⤪ ā¤Ēā¤žā¤šā¤ž.", "backup_onboarding_parts_title": "3-2-1 ā¤ŦāĨ…⤕⤅ā¤Ēā¤Žā¤§āĨā¤¯āĨ‡ ā¤¸ā¤Žā¤žā¤ĩā¤ŋ⤎āĨā¤Ÿ ā¤†ā¤šāĨ‡:", "backup_onboarding_title": "ā¤ŦāĨ…⤕⤅ā¤Ē", - "backup_settings": "ā¤ĒāĨā¤°ā¤¤ā¤ŋ⤞ā¤ŋā¤ĒāĨ€ ā¤ĩāĨā¤¯ā¤ĩ⤏āĨā¤Ĩā¤ž", + "backup_settings": "ā¤ĄāĨ‡ā¤Ÿā¤žā¤ŦāĨ‡ā¤¸ ā¤Ąā¤‚ā¤Ē ⤏āĨ‡ā¤Ÿā¤ŋ⤂⤗āĨā¤œ", "backup_settings_description": "ā¤Žā¤žā¤šā¤ŋ⤤āĨ€ ā¤¸ā¤‚ā¤šā¤¯ ā¤ĒāĨā¤°ā¤¤ā¤ŋ⤞ā¤ŋā¤ĒāĨ€ ā¤ĩāĨā¤¯ā¤ĩ⤏āĨā¤Ĩā¤žā¤Ē⤍", "cleared_jobs": "{job}: ⤚āĨā¤¯ā¤ž ā¤•ā¤žā¤°āĨā¤¯ā¤ĩā¤žā¤šāĨā¤¯ā¤ž ā¤•ā¤žā¤ĸ⤞āĨā¤¯ā¤ž", "config_set_by_file": "ā¤¸ā¤‚ā¤°ā¤šā¤¨ā¤ž ⤏⤧āĨā¤¯ā¤ž ā¤¸ā¤‚ā¤°ā¤šā¤¨ā¤ž ā¤–ā¤¤ā¤žā¤ĩ⤪āĨ€ā¤ĻāĨā¤ĩā¤žā¤°āĨ‡ ⤍ā¤ŋā¤ļāĨā¤šā¤ŋ⤤ ⤕āĨ‡ā¤˛āĨ€ ā¤†ā¤šāĨ‡", @@ -111,7 +112,6 @@ "jobs_failed": "{jobCount, plural, other {# ⤅⤝ā¤ļ⤏āĨā¤ĩāĨ€}}", "library_created": "⤏⤂⤗āĨā¤°ā¤š ā¤¤ā¤¯ā¤žā¤° ⤕āĨ‡ā¤˛ā¤ž: {library}", "library_deleted": "⤏⤂⤗āĨā¤°ā¤š ā¤šā¤Ÿā¤ĩā¤˛ā¤ž", - "library_import_path_description": "ā¤†ā¤¯ā¤žā¤¤ ⤕⤰⤪āĨā¤¯ā¤žā¤¸ā¤žā¤ āĨ€ ā¤ĢāĨ‹ā¤˛āĨā¤Ąā¤° ⤍ā¤ŋā¤ĩā¤Ąā¤ž. ā¤šā¤ž ā¤ĢāĨ‹ā¤˛āĨā¤Ąā¤° ⤆⤪ā¤ŋ ⤤āĨā¤¯ā¤žā¤Žā¤§āĨ€ā¤˛ ⤉ā¤Ēā¤ĢāĨ‹ā¤˛āĨā¤Ąā¤°āĨā¤¸ ā¤ĒāĨā¤°ā¤¤ā¤ŋā¤Žā¤ž ā¤ĩ ā¤ĩāĨā¤šā¤ŋā¤Ąā¤ŋā¤“ā¤‚ā¤¸ā¤žā¤ āĨ€ ⤏āĨā¤•āĨ…⤍ ⤕āĨ‡ā¤˛āĨ‡ ā¤œā¤žā¤¤āĨ€ā¤˛.", "library_scanning": "⤍ā¤ŋā¤¯ā¤Žā¤ŋ⤤ ⤏āĨā¤•āĨ…⤍ā¤ŋ⤂⤗", "library_scanning_description": "⤍ā¤ŋā¤¯ā¤Žā¤ŋ⤤ ā¤˛ā¤žā¤¯ā¤ŦāĨā¤°ā¤°āĨ€ ⤏āĨā¤•āĨ…⤍ā¤ŋ⤂⤗ ⤕āĨ‰ā¤¨āĨā¤Ģā¤ŋ⤗⤰ ā¤•ā¤°ā¤ž", "library_scanning_enable_description": "⤍ā¤ŋā¤¯ā¤Žā¤ŋ⤤ ā¤˛ā¤žā¤¯ā¤ŦāĨā¤°ā¤°āĨ€ ⤏āĨā¤•āĨ…⤍ā¤ŋ⤂⤗ ā¤šā¤žā¤˛āĨ‚ ā¤•ā¤°ā¤ž", @@ -124,6 +124,13 @@ "logging_enable_description": "⤞āĨ‰ā¤—ā¤ŋ⤂⤗ ⤏⤕āĨā¤ˇā¤Ž ā¤•ā¤°ā¤ž", "logging_level_description": "⤏⤕āĨā¤ˇā¤Ž ā¤ā¤žā¤˛āĨā¤¯ā¤žā¤ĩ⤰ ā¤ĩā¤žā¤Ē⤰⤪āĨā¤¯ā¤žā¤¸ā¤žā¤ āĨ€ ⤕āĨ‹ā¤Ŗā¤¤ā¤ž ⤞āĨ‰ā¤— ⤏āĨā¤¤ā¤° ⤍ā¤ŋā¤ĩā¤Ąā¤ž.", "logging_settings": "⤞āĨ‰ā¤—ā¤ŋ⤂⤗", + "machine_learning_availability_checks": "⤉ā¤Ē⤞ā¤ŦāĨā¤§ā¤¤ā¤ž ⤤ā¤Ēā¤žā¤¸ā¤ŖāĨ€", + "machine_learning_availability_checks_description": "⤉ā¤Ē⤞ā¤ŦāĨā¤§ ā¤Žā¤ļāĨ€ā¤¨ ⤞⤰āĨā¤¨ā¤ŋ⤂⤗ ⤏⤰āĨā¤ĩāĨā¤šā¤° ⤆ā¤ĒāĨ‹ā¤†ā¤Ē ā¤ļāĨ‹ā¤§ā¤ž ⤆⤪ā¤ŋ ⤤āĨā¤¯ā¤žā¤‚ā¤¨ā¤ž ā¤ĒāĨā¤°ā¤žā¤§ā¤žā¤¨āĨā¤¯ ā¤ĻāĨā¤¯ā¤ž", + "machine_learning_availability_checks_enabled": "⤉ā¤Ē⤞ā¤ŦāĨā¤§ā¤¤ā¤ž ⤤ā¤Ēā¤žā¤¸ā¤ŖāĨ€ ⤏⤕āĨā¤ˇā¤Ž ā¤•ā¤°ā¤ž", + "machine_learning_availability_checks_interval": "⤤ā¤Ēā¤žā¤¸ā¤ŖāĨ€ ⤅⤂⤤⤰", + "machine_learning_availability_checks_interval_description": "⤉ā¤Ē⤞ā¤ŦāĨā¤§ā¤¤ā¤ž ⤤ā¤Ēā¤žā¤¸ā¤ŖāĨā¤¯ā¤žā¤‚ā¤Žā¤§āĨ€ā¤˛ ⤅⤂⤤⤰ (ā¤Žā¤ŋ⤞āĨ€ā¤¸āĨ‡ā¤•⤂ā¤Ļā¤žā¤‚ā¤¤)", + "machine_learning_availability_checks_timeout": "ā¤ĩā¤ŋ⤍⤂⤤āĨ€ ā¤ĩāĨ‡ā¤ŗā¤Žā¤°āĨā¤¯ā¤žā¤Ļā¤ž", + "machine_learning_availability_checks_timeout_description": "⤉ā¤Ē⤞ā¤ŦāĨā¤§ā¤¤ā¤ž ⤤ā¤Ēā¤žā¤¸ā¤ŖāĨ€ā¤¸ā¤žā¤ āĨ€ ā¤ĩāĨ‡ā¤ŗā¤Žā¤°āĨā¤¯ā¤žā¤Ļā¤ž (ā¤Žā¤ŋ⤞āĨ€ā¤¸āĨ‡ā¤•⤂ā¤Ļā¤žā¤‚ā¤¤)", "machine_learning_clip_model": "CLIP ā¤ŽāĨ‰ā¤ĄāĨ‡ā¤˛", "machine_learning_clip_model_description": "⤏āĨ‚ā¤šāĨ€ā¤Ŧā¤ĻāĨā¤§ CLIP ā¤ŽāĨ‰ā¤ĄāĨ‡ā¤˛ā¤šāĨ‡ ā¤¨ā¤žā¤ĩ ⤝āĨ‡ā¤ĨāĨ‡. ā¤ŽāĨ‰ā¤ĄāĨ‡ā¤˛ ā¤Ŧā¤Ļ⤞⤞āĨā¤¯ā¤žā¤ĩ⤰ ⤏⤰āĨā¤ĩ ā¤ĒāĨā¤°ā¤¤ā¤ŋā¤Žā¤žā¤‚ā¤¸ā¤žā¤ āĨ€ â€˜ā¤¸āĨā¤Žā¤žā¤°āĨā¤Ÿ ā¤ļāĨ‹ā¤§â€™ ⤍āĨ‹ā¤•⤰āĨ€ ā¤ĒāĨā¤¨āĨā¤šā¤ž ā¤šā¤žā¤˛ā¤ĩā¤ž.", "machine_learning_duplicate_detection": "ā¤ĒāĨā¤°ā¤¤ā¤ŋ⤞ā¤ŋā¤ĒāĨ€ ā¤ļāĨ‹ā¤§", @@ -146,6 +153,18 @@ "machine_learning_min_detection_score_description": "⤚āĨ‡ā¤šā¤°ā¤ž ā¤ļāĨ‹ā¤§ā¤ŖāĨā¤¯ā¤žā¤¸ā¤žā¤ āĨ€ ⤕ā¤ŋā¤Žā¤žā¤¨ ⤆⤤āĨā¤Žā¤ĩā¤ŋā¤ļāĨā¤ĩā¤žā¤¸ ⤗āĨā¤Ŗā¤žā¤‚⤕ 0 ⤤āĨ‡ 1 ā¤Ļā¤°ā¤ŽāĨā¤¯ā¤žā¤¨ ā¤…ā¤¸ā¤žā¤ĩā¤ž. ā¤•ā¤ŽāĨ€ ā¤ŽāĨ‚⤞āĨā¤¯āĨ‡ ⤅⤧ā¤ŋ⤕ ⤚āĨ‡ā¤šā¤°āĨ‡ ā¤ļāĨ‹ā¤§ā¤¤āĨ€ā¤˛, ā¤Ē⤰⤂⤤āĨ ⤖āĨ‹ā¤ŸāĨ‡ ā¤¸ā¤•ā¤žā¤°ā¤žā¤¤āĨā¤Žā¤• ā¤ĻāĨ‡ā¤–āĨ€ā¤˛ ā¤šāĨ‹ā¤Š ā¤ļā¤•ā¤¤ā¤žā¤¤.", "machine_learning_min_recognized_faces": "⤕ā¤ŋā¤Žā¤žā¤¨ ⤓⤺⤖⤞āĨ‡ā¤˛āĨ‡ ⤚āĨ‡ā¤šā¤°āĨ‡", "machine_learning_min_recognized_faces_description": "ā¤ĩāĨā¤¯ā¤•āĨā¤¤āĨ€ ā¤¤ā¤¯ā¤žā¤° ⤕⤰⤪āĨā¤¯ā¤žā¤¸ā¤žā¤ āĨ€ ⤓⤺⤖⤞āĨā¤¯ā¤ž ⤗āĨ‡ā¤˛āĨ‡ā¤˛āĨā¤¯ā¤ž ⤚āĨ‡ā¤šā¤°āĨā¤¯ā¤žā¤‚ā¤šāĨ€ ⤕ā¤ŋā¤Žā¤žā¤¨ ⤏⤂⤖āĨā¤¯ā¤ž. ā¤šāĨ‡ ā¤ĩā¤žā¤ĸā¤ĩ⤞āĨā¤¯ā¤žā¤¸ ⤚āĨ‡ā¤šā¤°ā¤ž ā¤ā¤•ā¤ž ā¤ĩāĨā¤¯ā¤•āĨā¤¤āĨ€ā¤˛ā¤ž ⤍ ⤜āĨ‹ā¤Ąā¤˛ā¤ž ā¤œā¤žā¤ŖāĨā¤¯ā¤žā¤šāĨ€ ā¤ļ⤕āĨā¤¯ā¤¤ā¤ž ā¤•ā¤ŽāĨ€ ā¤šāĨ‹ā¤¤āĨ‡, ā¤Ē⤰⤂⤤āĨ ⤚āĨā¤•āĨ€ā¤šāĨā¤¯ā¤ž ā¤ĩāĨā¤¯ā¤•āĨā¤¤āĨ€ ā¤ā¤•ā¤¤āĨā¤° ⤕āĨ‡ā¤˛āĨā¤¯ā¤žā¤šāĨ‡ ā¤Ē⤰ā¤ŋā¤Ŗā¤žā¤Ž ā¤ĩā¤žā¤ĸāĨ‚ ā¤ļā¤•ā¤¤ā¤žā¤¤.", + "machine_learning_ocr": "⤓.⤏āĨ€.⤆⤰", + "machine_learning_ocr_description": "ā¤ĒāĨā¤°ā¤¤ā¤ŋā¤Žā¤žā¤‚ā¤Žā¤§āĨ€ā¤˛ ā¤Žā¤œā¤•āĨ‚⤰ ⤓⤺⤖⤪āĨā¤¯ā¤žā¤¸ā¤žā¤ āĨ€ ā¤Žā¤ļāĨ€ā¤¨ ⤞⤰āĨā¤¨ā¤ŋ⤂⤗ ā¤ĩā¤žā¤Ēā¤°ā¤ž", + "machine_learning_ocr_enabled": "⤓.⤏āĨ€.⤆⤰ ⤏⤕āĨā¤ˇā¤Ž ā¤•ā¤°ā¤ž", + "machine_learning_ocr_enabled_description": "ā¤šāĨ‡ ā¤Ŧ⤂ā¤Ļ ⤅⤏⤞āĨā¤¯ā¤žā¤¸, ā¤ĒāĨā¤°ā¤¤ā¤ŋā¤Žā¤žā¤‚ā¤ĩ⤰ ā¤Žā¤œā¤•āĨ‚⤰ ⤓⤺⤖ ā¤ĒāĨā¤°ā¤•āĨā¤°ā¤ŋā¤¯ā¤ž ā¤šāĨ‹ā¤Ŗā¤žā¤° ā¤¨ā¤žā¤šāĨ€.", + "machine_learning_ocr_max_resolution": "ā¤•ā¤Žā¤žā¤˛ ⤰ā¤ŋā¤āĨ‹ā¤˛āĨā¤¯āĨ‚ā¤ļ⤍", + "machine_learning_ocr_max_resolution_description": "ā¤¯ā¤ž ⤰ā¤ŋā¤āĨ‹ā¤˛āĨā¤¯āĨ‚ā¤ļ⤍ā¤ĒāĨ‡ā¤•āĨā¤ˇā¤ž ā¤ŽāĨ‹ā¤ āĨā¤¯ā¤ž ā¤ĒāĨ‚⤰āĨā¤ĩā¤ĻāĨƒā¤ļāĨā¤¯ā¤žā¤‚ā¤šāĨ‡ ā¤†ā¤•ā¤žā¤°ā¤—āĨā¤ŖāĨ‹ā¤¤āĨā¤¤ā¤° ⤍ ā¤Ŧā¤Ļā¤˛ā¤¤ā¤ž ā¤†ā¤•ā¤žā¤° ā¤Ŧā¤Ļ⤞⤞āĨ‡ ā¤œā¤žā¤¤āĨ€ā¤˛. ā¤œā¤žā¤¸āĨā¤¤ ā¤ŽāĨ‚⤞āĨā¤¯āĨ‡ ⤅⤧ā¤ŋ⤕ ā¤…ā¤šāĨ‚⤕ ā¤…ā¤¸ā¤¤ā¤žā¤¤, ā¤Ē⤪ ā¤ĒāĨā¤°ā¤•āĨā¤°ā¤ŋā¤¯ā¤ž ⤕⤰⤪āĨā¤¯ā¤žā¤¸ ā¤œā¤žā¤¸āĨā¤¤ ā¤ĩāĨ‡ā¤ŗ ⤘āĨ‡ā¤¤ā¤žā¤¤ ⤆⤪ā¤ŋ ⤅⤧ā¤ŋ⤕ ā¤ŽāĨ‡ā¤Žā¤°āĨ€ ā¤ĩā¤žā¤Ēā¤°ā¤¤ā¤žā¤¤.", + "machine_learning_ocr_min_detection_score": "⤕ā¤ŋā¤Žā¤žā¤¨ ā¤Ąā¤ŋ⤟āĨ‡ā¤•āĨā¤ļ⤍ ⤏āĨā¤•āĨ‹ā¤…⤰", + "machine_learning_ocr_min_detection_score_description": "ā¤Žā¤œā¤•āĨ‚⤰ ⤓⤺⤖⤪āĨā¤¯ā¤žā¤¸ā¤žā¤ āĨ€ āĨĻ–āĨ§ ā¤Žā¤§āĨ€ā¤˛ ⤕ā¤ŋā¤Žā¤žā¤¨ ā¤ĩā¤ŋā¤ļāĨā¤ĩā¤žā¤¸ ⤏āĨā¤•āĨ‹ā¤…⤰. ā¤•ā¤ŽāĨ€ ā¤ŽāĨ‚⤞āĨā¤¯ā¤žā¤‚ā¤ĩ⤰ ⤅⤧ā¤ŋ⤕ ā¤Žā¤œā¤•āĨ‚⤰ ā¤¸ā¤žā¤Ēā¤ĄāĨ‡ā¤˛, ā¤Ē⤪ ⤚āĨā¤•āĨ€ā¤šāĨ‡ ā¤¸ā¤•ā¤žā¤°ā¤žā¤¤āĨā¤Žā¤• ⤍ā¤ŋā¤•ā¤žā¤˛ (false positives) ⤝āĨ‡ā¤Š ā¤ļā¤•ā¤¤ā¤žā¤¤.", + "machine_learning_ocr_min_recognition_score": "⤕ā¤ŋā¤Žā¤žā¤¨ ⤓⤺⤖ ⤏āĨā¤•āĨ‹ā¤…⤰", + "machine_learning_ocr_min_score_recognition_description": "⤓⤺⤖⤞āĨ‡ā¤˛ā¤ž ā¤Žā¤œā¤•āĨ‚⤰ ⤅⤂⤤ā¤ŋā¤Ž ā¤Žā¤žā¤¨ā¤ŖāĨā¤¯ā¤žā¤¸ā¤žā¤ āĨ€ āĨĻ–āĨ§ ā¤Žā¤§āĨ€ā¤˛ ⤕ā¤ŋā¤Žā¤žā¤¨ ā¤ĩā¤ŋā¤ļāĨā¤ĩā¤žā¤¸ ⤏āĨā¤•āĨ‹ā¤…⤰. ā¤•ā¤ŽāĨ€ ā¤ŽāĨ‚⤞āĨā¤¯ā¤žā¤‚ā¤ĩ⤰ ⤅⤧ā¤ŋ⤕ ā¤Žā¤œā¤•āĨ‚⤰ ā¤“ā¤ŗā¤–ā¤˛ā¤ž ā¤œā¤žā¤ˆā¤˛, ā¤Ē⤪ ⤚āĨā¤•āĨ€ā¤šāĨ‡ ā¤¸ā¤•ā¤žā¤°ā¤žā¤¤āĨā¤Žā¤• ⤍ā¤ŋā¤•ā¤žā¤˛ (false positives) ⤝āĨ‡ā¤Š ā¤ļā¤•ā¤¤ā¤žā¤¤.", + "machine_learning_ocr_model": "⤓⤏āĨ€ā¤†ā¤° ā¤ŽāĨ‰ā¤ĄāĨ‡ā¤˛", + "machine_learning_ocr_model_description": "⤏⤰āĨā¤ĩāĨā¤šā¤° ā¤ŽāĨ‰ā¤ĄāĨ‡ā¤˛ ā¤ŽāĨ‹ā¤Ŧā¤žā¤ˆā¤˛ ā¤ŽāĨ‰ā¤ĄāĨ‡ā¤˛ā¤ĒāĨ‡ā¤•āĨā¤ˇā¤ž ⤅⤧ā¤ŋ⤕ ā¤…ā¤šāĨ‚⤕ ā¤…ā¤¸ā¤¤ā¤žā¤¤, ā¤Ē⤪ ā¤ĒāĨā¤°ā¤•āĨā¤°ā¤ŋā¤¯ā¤ž ⤕⤰⤪āĨā¤¯ā¤žā¤¸ ā¤œā¤žā¤¸āĨā¤¤ ā¤ĩāĨ‡ā¤ŗ ⤘āĨ‡ā¤¤ā¤žā¤¤ ⤆⤪ā¤ŋ ⤅⤧ā¤ŋ⤕ ā¤ŽāĨ‡ā¤Žā¤°āĨ€ ā¤ĩā¤žā¤Ēā¤°ā¤¤ā¤žā¤¤.", "machine_learning_settings": "ā¤Žā¤ļāĨ€ā¤¨ ⤞⤰āĨā¤¨ā¤ŋ⤂⤗ ⤏āĨ‡ā¤Ÿā¤ŋ⤂⤗āĨā¤œ", "machine_learning_settings_description": "ā¤Žā¤ļāĨ€ā¤¨ ⤞⤰āĨā¤¨ā¤ŋ⤂⤗ ā¤ĩāĨˆā¤ļā¤ŋ⤎āĨā¤ŸāĨā¤¯āĨ‡ ⤆⤪ā¤ŋ ⤏āĨ‡ā¤Ÿā¤ŋ⤂⤗āĨā¤œ ā¤ĩāĨā¤¯ā¤ĩ⤏āĨā¤Ĩā¤žā¤Ēā¤ŋ⤤ ā¤•ā¤°ā¤ž", "machine_learning_smart_search": "⤏āĨā¤Žā¤žā¤°āĨā¤Ÿ ā¤ļāĨ‹ā¤§", @@ -531,8 +550,10 @@ "autoplay_slideshow": "⤏āĨā¤ĩā¤¯ā¤‚ā¤šā¤˛ā¤ŋ⤤ ⤏āĨā¤˛ā¤žā¤‡ā¤Ąā¤ļāĨ‹", "back": "ā¤Žā¤žā¤—āĨ‡", "back_close_deselect": "ā¤Žā¤žā¤—āĨ‡ ⤕ā¤ŋ⤂ā¤ĩā¤ž ā¤Ŧ⤂ā¤Ļ ā¤•ā¤°ā¤ž / ⤍ā¤ŋā¤ĩā¤Ą ⤰ā¤ĻāĨā¤Ļ ā¤•ā¤°ā¤ž", + "background_backup_running_error": "ā¤Ēā¤žā¤°āĨā¤ļāĨā¤ĩ⤭āĨ‚ā¤ŽāĨ€ ā¤ŦāĨ…⤕⤅ā¤Ē ⤏⤧āĨā¤¯ā¤ž ā¤šā¤žā¤˛āĨ‚ ā¤†ā¤šāĨ‡, ā¤ŽāĨ…⤍āĨā¤¯āĨā¤…⤞ ā¤ŦāĨ…⤕⤅ā¤Ē ⤏āĨā¤°āĨ‚ ⤕⤰āĨ‚ ā¤ļ⤕⤤ ā¤¨ā¤žā¤šāĨ€", "background_location_permission": "ā¤ŦāĨ…⤕⤗āĨā¤°ā¤žā¤‰ā¤‚ā¤Ąā¤Žā¤§āĨā¤¯āĨ‡ ⤏āĨā¤Ĩā¤žā¤¨ ā¤Ē⤰ā¤ĩā¤žā¤¨ā¤—āĨ€ ā¤ĻāĨā¤¯ā¤ž", "background_location_permission_content": "ā¤ŦāĨ…⤕⤗āĨā¤°ā¤žā¤‰ā¤‚ā¤Ąā¤Žā¤§āĨā¤¯āĨ‡ ⤍āĨ‡ā¤Ÿā¤ĩ⤰āĨā¤• ⤏āĨā¤ĩā¤ŋ⤚ ⤕⤰⤪āĨā¤¯ā¤žā¤¸ā¤žā¤ āĨ€ Immich ā¤˛ā¤ž ⤍āĨ‡ā¤šā¤ŽāĨ€ ā¤…ā¤šāĨ‚⤕ ⤏āĨā¤Ĩā¤žā¤¨ ā¤Žā¤žā¤šā¤ŋ⤤āĨ€ (Wi-Fi ā¤¨ā¤žā¤ĩ) ā¤Ēā¤žā¤šā¤ŋ⤜āĨ‡", + "background_options": "ā¤Ēā¤žā¤°āĨā¤ļāĨā¤ĩ⤭āĨ‚ā¤ŽāĨ€ ā¤Ē⤰āĨā¤¯ā¤žā¤¯", "backup": "ā¤ŦāĨ…⤕⤅ā¤Ē", "backup_album_selection_page_albums_device": "⤉ā¤Ēā¤•ā¤°ā¤Ŗā¤žā¤ĩ⤰āĨ€ā¤˛ ⤅⤞āĨā¤Ŧā¤Ž ({count})", "backup_album_selection_page_albums_tap": "ā¤¸ā¤Žā¤žā¤ĩā¤ŋ⤎āĨā¤Ÿ ⤕⤰⤪āĨā¤¯ā¤žā¤¸ā¤žā¤ āĨ€ ā¤ā¤•ā¤Ļā¤žā¤š ⤟āĨ…ā¤Ē ā¤•ā¤°ā¤ž; ā¤ĩ⤗⤺⤪āĨā¤¯ā¤žā¤¸ā¤žā¤ āĨ€ ā¤Ąā¤Ŧ⤞ ⤟āĨ…ā¤Ē ā¤•ā¤°ā¤ž", @@ -540,8 +561,10 @@ "backup_album_selection_page_select_albums": "⤅⤞āĨā¤Ŧā¤Ž ⤍ā¤ŋā¤ĩā¤Ąā¤ž", "backup_album_selection_page_selection_info": "⤍ā¤ŋā¤ĩā¤Ą ā¤Žā¤žā¤šā¤ŋ⤤āĨ€", "backup_album_selection_page_total_assets": "ā¤ā¤•āĨ‚⤪ ⤏āĨā¤ĩ⤤⤂⤤āĨā¤° ā¤Ģā¤žā¤ˆā¤˛āĨā¤¸", + "backup_albums_sync": "ā¤ŦāĨ…⤕⤅ā¤Ē ⤅⤞āĨā¤Ŧā¤Ž ā¤¸ā¤Žā¤•āĨā¤°ā¤Žā¤Ŗ", "backup_all": "⤏⤰āĨā¤ĩ", "backup_background_service_backup_failed_message": "ā¤ŦāĨ…⤕⤅ā¤Ē ⤅⤝ā¤ļ⤏āĨā¤ĩāĨ€. ā¤ĒāĨā¤¨āĨā¤šā¤ž ā¤ĒāĨā¤°ā¤¯ā¤¤āĨā¤¨ ⤕⤰⤤ ā¤†ā¤šāĨ‡â€Ļ", + "backup_background_service_complete_notification": "⤅āĨ…⤏āĨ‡ā¤Ÿā¤šā¤ž ā¤ŦāĨ…⤕⤅ā¤Ē ā¤ĒāĨ‚⤰āĨā¤Ŗ ā¤ā¤žā¤˛ā¤ž", "backup_background_service_connection_failed_message": "⤏⤰āĨā¤ĩāĨā¤šā¤°ā¤ļāĨ€ ⤕⤍āĨ‡ā¤•āĨā¤Ÿ ⤕⤰⤪āĨā¤¯ā¤žā¤¤ ⤅⤝ā¤ļ⤏āĨā¤ĩāĨ€. ā¤ĒāĨā¤¨āĨā¤šā¤ž ā¤ĒāĨā¤°ā¤¯ā¤¤āĨā¤¨ ⤕⤰⤤ ā¤†ā¤šāĨ‡â€Ļ", "backup_background_service_current_upload_notification": "{filename} ⤅ā¤Ē⤞āĨ‹ā¤Ą ⤕⤰⤤ ā¤†ā¤šāĨ‡", "backup_background_service_default_notification": "⤍ā¤ĩāĨ€ā¤¨ ā¤Ģā¤žā¤ˆā¤˛āĨā¤¸ ā¤ļāĨ‹ā¤§ā¤¤ ā¤†ā¤šāĨ‡â€Ļ", @@ -856,8 +879,6 @@ "edit_description_prompt": "⤍ā¤ĩāĨ€ā¤¨ ā¤ĩ⤰āĨā¤Ŗā¤¨ ⤍ā¤ŋā¤ĩā¤Ąā¤ž:", "edit_exclusion_pattern": "ā¤ĩā¤—ā¤ŗā¤ž ā¤ĒāĨ…ā¤Ÿā¤°āĨā¤¨ ⤏⤂ā¤Ēā¤žā¤Ļā¤ŋ⤤ ā¤•ā¤°ā¤ž", "edit_faces": "⤚āĨ‡ā¤šā¤ąāĨā¤¯ā¤žā¤‚ā¤ĩ⤰ ⤏⤂ā¤Ēā¤žā¤Ļ⤍ ā¤•ā¤°ā¤ž", - "edit_import_path": "ā¤†ā¤¯ā¤žā¤¤ ā¤Žā¤žā¤°āĨā¤— ⤏⤂ā¤Ēā¤žā¤Ļā¤ŋ⤤ ā¤•ā¤°ā¤ž", - "edit_import_paths": "ā¤†ā¤¯ā¤žā¤¤ ā¤Žā¤žā¤°āĨā¤—āĨ‡ ⤏⤂ā¤Ēā¤žā¤Ļā¤ŋ⤤ ā¤•ā¤°ā¤ž", "edit_key": "⤕āĨ€ ⤏⤂ā¤Ēā¤žā¤Ļā¤ŋ⤤ ā¤•ā¤°ā¤ž", "edit_link": "⤞ā¤ŋ⤂⤕ ⤏⤂ā¤Ēā¤žā¤Ļā¤ŋ⤤ ā¤•ā¤°ā¤ž", "edit_location": "⤏āĨā¤Ĩā¤žā¤¨ ⤏⤂ā¤Ēā¤žā¤Ļā¤ŋ⤤ ā¤•ā¤°ā¤ž", @@ -925,7 +946,6 @@ "failed_to_stack_assets": "ā¤Ģā¤žā¤ˆā¤˛āĨā¤¸ ā¤ā¤•ā¤¤āĨā¤° ā¤•ā¤°ā¤¤ā¤ž ⤆⤞āĨā¤¯ā¤ž ā¤¨ā¤žā¤šāĨ€ā¤¤", "failed_to_unstack_assets": "ā¤Ģā¤žā¤ˆā¤˛āĨā¤¸ ā¤ĩā¤ŋā¤­ā¤žā¤œā¤ŋ⤤ ā¤•ā¤°ā¤¤ā¤ž ⤆⤞āĨā¤¯ā¤ž ā¤¨ā¤žā¤šāĨ€ā¤¤", "failed_to_update_notification_status": "⤏āĨ‚ā¤šā¤¨ā¤ž ⤏āĨā¤Ĩā¤ŋ⤤āĨ€ ⤅ā¤Ēā¤ĄāĨ‡ā¤Ÿ ⤕⤰⤪āĨā¤¯ā¤žā¤¤ ⤅⤝ā¤ļ⤏āĨā¤ĩāĨ€", - "import_path_already_exists": "ā¤šā¤ž ā¤†ā¤¯ā¤žā¤¤ ā¤Žā¤žā¤°āĨā¤— ⤆⤧āĨ€ā¤š ⤅⤏āĨā¤¤ā¤ŋ⤤āĨā¤ĩā¤žā¤¤ ā¤†ā¤šāĨ‡āĨ¤", "incorrect_email_or_password": "⤚āĨā¤•āĨ€ā¤šā¤ž ā¤ˆā¤ŽāĨ‡ā¤˛ ⤕ā¤ŋ⤂ā¤ĩā¤ž ⤏⤂⤕āĨ‡ā¤¤ā¤ļā¤ŦāĨā¤Ļ", "paths_validation_failed": "{paths, plural, one {ā¤ā¤• ā¤Žā¤žā¤°āĨā¤— ā¤ĩāĨˆā¤§ ā¤¨ā¤žā¤šāĨ€} other {# ā¤Žā¤žā¤°āĨā¤— ā¤ĩāĨˆā¤§ ā¤¨ā¤žā¤šāĨ€ā¤¤}}", "profile_picture_transparent_pixels": "ā¤ĒāĨā¤°āĨ‹ā¤Ģā¤žā¤‡ā¤˛ ⤚ā¤ŋ⤤āĨā¤°ā¤žā¤¤ ā¤Ēā¤žā¤°ā¤Ļ⤰āĨā¤ļ⤕ ā¤Ēā¤ŋ⤕āĨā¤¸āĨ‡ā¤˛ ⤅⤏āĨ‚ ā¤ļ⤕⤤ ā¤¨ā¤žā¤šāĨ€ā¤¤. ⤕āĨƒā¤Ēā¤¯ā¤ž ā¤āĨ‚ā¤Ž ā¤•ā¤°ā¤ž ⤕ā¤ŋ⤂ā¤ĩā¤ž ā¤ĒāĨā¤°ā¤¤ā¤ŋā¤Žā¤ž ā¤šā¤˛ā¤ĩā¤ž.", @@ -934,7 +954,6 @@ "unable_to_add_assets_to_shared_link": "ā¤ļāĨ‡ā¤…⤰ ⤞ā¤ŋā¤‚ā¤•ā¤Žā¤§āĨā¤¯āĨ‡ ā¤Ģā¤žā¤ˆā¤˛āĨā¤¸ ⤜āĨ‹ā¤Ąā¤¤ā¤ž ⤆⤞āĨ‡ ā¤¨ā¤žā¤šāĨ€ā¤¤", "unable_to_add_comment": "⤟ā¤ŋā¤ĒāĨā¤Ē⤪āĨ€ ⤜āĨ‹ā¤Ąā¤¤ā¤ž ⤆⤞āĨ‡ ā¤¨ā¤žā¤šāĨ€", "unable_to_add_exclusion_pattern": "ā¤ĩ⤗⤺⤪āĨā¤¯ā¤žā¤šāĨ‡ ā¤ĒāĨ…ā¤Ÿā¤°āĨā¤¨ ⤜āĨ‹ā¤Ąā¤¤ā¤ž ⤆⤞āĨ‡ ā¤¨ā¤žā¤šāĨ€", - "unable_to_add_import_path": "ā¤†ā¤¯ā¤žā¤¤ ā¤Žā¤žā¤°āĨā¤— ⤜āĨ‹ā¤Ąā¤¤ā¤ž ⤆⤞āĨ‡ ā¤¨ā¤žā¤šāĨ€", "unable_to_add_partners": "ā¤¸ā¤šā¤¯āĨ‹ā¤—āĨ€ ⤜āĨ‹ā¤Ąā¤¤ā¤ž ⤆⤞āĨ‡ ā¤¨ā¤žā¤šāĨ€ā¤¤", "unable_to_add_remove_archive": "{archived, select, true{⤅⤰āĨā¤•ā¤žā¤‡ā¤ĩāĨā¤šā¤Žā¤§āĨ‚⤍ ā¤Ģā¤žā¤ˆā¤˛ ā¤•ā¤žā¤ĸā¤¤ā¤ž ⤆⤞āĨ‡ ā¤¨ā¤žā¤šāĨ€} other{⤅⤰āĨā¤•ā¤žā¤‡ā¤ĩāĨā¤šā¤Žā¤§āĨā¤¯āĨ‡ ā¤Ģā¤žā¤ˆā¤˛ ⤜āĨ‹ā¤Ąā¤¤ā¤ž ⤆⤞āĨ‡ ā¤¨ā¤žā¤šāĨ€}}", "unable_to_add_remove_favorites": "{favorite, select, true{ā¤Ģā¤žā¤ˆā¤˛ ⤆ā¤ĩā¤Ąā¤¤āĨā¤¯ā¤ž ā¤Žā¤§āĨā¤¯āĨ‡ ⤜āĨ‹ā¤Ąā¤¤ā¤ž ⤆⤞āĨ‡ ā¤¨ā¤žā¤šāĨ€} other{ā¤Ģā¤žā¤ˆā¤˛ ⤆ā¤ĩā¤Ąā¤¤āĨā¤¯ā¤ž ā¤Žā¤§āĨ‚⤍ ā¤•ā¤žā¤ĸā¤¤ā¤ž ⤆⤞āĨ‡ ā¤¨ā¤žā¤šāĨ€}}", @@ -957,12 +976,10 @@ "unable_to_delete_asset": "ā¤Ģā¤žā¤ˆā¤˛ ā¤šā¤Ÿā¤ĩā¤¤ā¤ž ⤆⤞āĨ€ ā¤¨ā¤žā¤šāĨ€", "unable_to_delete_assets": "ā¤Ģā¤žā¤ˆā¤˛āĨā¤¸ ā¤šā¤Ÿā¤ĩā¤¤ā¤žā¤¨ā¤ž ⤤āĨā¤°āĨā¤ŸāĨ€", "unable_to_delete_exclusion_pattern": "ā¤ĩ⤗⤺⤪āĨ€ ā¤ĒāĨ…ā¤Ÿā¤°āĨā¤¨ ā¤šā¤Ÿā¤ĩā¤¤ā¤ž ā¤†ā¤˛ā¤ž ā¤¨ā¤žā¤šāĨ€", - "unable_to_delete_import_path": "ā¤†ā¤¯ā¤žā¤¤ ā¤Žā¤žā¤°āĨā¤— ā¤šā¤Ÿā¤ĩā¤¤ā¤ž ā¤†ā¤˛ā¤ž ā¤¨ā¤žā¤šāĨ€", "unable_to_delete_shared_link": "ā¤ļāĨ‡ā¤…⤰ ⤞ā¤ŋ⤂⤕ ā¤šā¤Ÿā¤ĩā¤¤ā¤ž ā¤†ā¤˛ā¤ž ā¤¨ā¤žā¤šāĨ€", "unable_to_delete_user": "ā¤ĩā¤žā¤Ē⤰⤕⤰āĨā¤¤ā¤ž ā¤šā¤Ÿā¤ĩā¤¤ā¤ž ā¤†ā¤˛ā¤ž ā¤¨ā¤žā¤šāĨ€", "unable_to_download_files": "ā¤Ģā¤žā¤ˆā¤˛āĨā¤¸ ā¤Ąā¤žā¤‰ā¤¨ā¤˛āĨ‹ā¤Ą ā¤•ā¤°ā¤¤ā¤ž ⤆⤞āĨā¤¯ā¤ž ā¤¨ā¤žā¤šāĨ€ā¤¤", "unable_to_edit_exclusion_pattern": "ā¤ĩ⤗⤺⤪āĨ€ ā¤ĒāĨ…ā¤Ÿā¤°āĨā¤¨ ⤏⤂ā¤Ēā¤žā¤Ļā¤ŋ⤤ ā¤•ā¤°ā¤¤ā¤ž ā¤†ā¤˛ā¤ž ā¤¨ā¤žā¤šāĨ€", - "unable_to_edit_import_path": "ā¤†ā¤¯ā¤žā¤¤ ā¤Žā¤žā¤°āĨā¤— ⤏⤂ā¤Ēā¤žā¤Ļā¤ŋ⤤ ā¤•ā¤°ā¤¤ā¤ž ā¤†ā¤˛ā¤ž ā¤¨ā¤žā¤šāĨ€", "unable_to_empty_trash": "⤟āĨā¤°āĨ…ā¤ļ ⤰ā¤ŋā¤•ā¤žā¤Žā¤ž ā¤•ā¤°ā¤¤ā¤ž ā¤†ā¤˛ā¤ž ā¤¨ā¤žā¤šāĨ€", "unable_to_enter_fullscreen": "ā¤ĢāĨā¤˛ā¤¸āĨā¤•āĨā¤°āĨ€ā¤¨ ā¤ŽāĨ‹ā¤Ąā¤Žā¤§āĨā¤¯āĨ‡ ā¤œā¤žā¤Š ā¤ļ⤕⤤ ā¤¨ā¤žā¤šāĨ€", "unable_to_exit_fullscreen": "ā¤ĢāĨā¤˛ā¤¸āĨā¤•āĨā¤°āĨ€ā¤¨ ā¤ŽāĨ‹ā¤Ąā¤Žā¤§āĨ‚⤍ ā¤Ŧā¤žā¤šāĨ‡ā¤° ā¤Ēā¤Ąā¤¤ā¤ž ā¤†ā¤˛ā¤ž ā¤¨ā¤žā¤šāĨ€", @@ -1137,6 +1154,284 @@ "image_alt_text_date_4_or_more_people": "{isVideo, select, true {ā¤ĩāĨā¤šā¤ŋā¤Ąā¤ŋ⤓} other {ā¤ĢāĨ‹ā¤ŸāĨ‹}} {person1}, {person2} ⤆⤪ā¤ŋ ⤆⤪⤖āĨ€ {additionalCount, number} ā¤œā¤Ŗā¤žā¤‚ā¤¸āĨ‹ā¤Ŧ⤤ {date} ā¤˛ā¤ž ⤘āĨ‡ā¤¤ā¤˛āĨ‡", "image_alt_text_date_place": "{isVideo, select, true {ā¤ĩāĨā¤šā¤ŋā¤Ąā¤ŋ⤓} other {ā¤ĢāĨ‹ā¤ŸāĨ‹}} {city}, {country} ⤝āĨ‡ā¤ĨāĨ‡ {date} ā¤˛ā¤ž ⤘āĨ‡ā¤¤ā¤˛āĨ‡", "image_alt_text_date_place_1_person": "{isVideo, select, true {ā¤ĩāĨā¤šā¤ŋā¤Ąā¤ŋ⤓} other {ā¤ĢāĨ‹ā¤ŸāĨ‹}} {city}, {country} ⤝āĨ‡ā¤ĨāĨ‡ {person1} ⤏āĨ‹ā¤Ŧ⤤ {date} ā¤˛ā¤ž ⤘āĨ‡ā¤¤ā¤˛āĨ‡", + "image_alt_text_date_place_2_people": "{isVideo, select, true {ā¤ĩāĨā¤šā¤ŋā¤Ąā¤ŋ⤓} other {ā¤ĢāĨ‹ā¤ŸāĨ‹}} {city}, {country} ⤝āĨ‡ā¤ĨāĨ‡ {person1} ⤆⤪ā¤ŋ {person2} ⤏āĨ‹ā¤Ŧ⤤ {date} ⤰āĨ‹ā¤œāĨ€ ⤘āĨ‡ā¤¤ā¤˛āĨ‡ā¤˛ā¤ž", + "image_alt_text_date_place_3_people": "{isVideo, select, true {ā¤ĩāĨā¤šā¤ŋā¤Ąā¤ŋ⤓} other {ā¤ĢāĨ‹ā¤ŸāĨ‹}} {city}, {country} ⤝āĨ‡ā¤ĨāĨ‡ {person1}, {person2} ⤆⤪ā¤ŋ {person3} ⤏āĨ‹ā¤Ŧ⤤ {date} ⤰āĨ‹ā¤œāĨ€ ⤘āĨ‡ā¤¤ā¤˛āĨ‡ā¤˛ā¤ž", + "image_alt_text_date_place_4_or_more_people": "{isVideo, select, true {ā¤ĩāĨā¤šā¤ŋā¤Ąā¤ŋ⤓} other {ā¤ĢāĨ‹ā¤ŸāĨ‹}} {city}, {country} ⤝āĨ‡ā¤ĨāĨ‡ {person1}, {person2} ⤆⤪ā¤ŋ ⤇⤤⤰ {additionalCount, number} ā¤œā¤Ŗā¤žā¤‚ā¤¸āĨ‹ā¤Ŧ⤤ {date} ⤰āĨ‹ā¤œāĨ€ ⤘āĨ‡ā¤¤ā¤˛āĨ‡ā¤˛ā¤ž", + "image_saved_successfully": "ā¤ĒāĨā¤°ā¤¤ā¤ŋā¤Žā¤ž ⤜⤤⤍ ⤕āĨ‡ā¤˛āĨ€", + "image_viewer_page_state_provider_download_started": "ā¤Ąā¤žā¤‰ā¤¨ā¤˛āĨ‹ā¤Ą ⤏āĨā¤°āĨ‚ ā¤ā¤žā¤˛āĨ‡", + "image_viewer_page_state_provider_download_success": "ā¤Ąā¤žā¤‰ā¤¨ā¤˛āĨ‹ā¤Ą ⤝ā¤ļ⤏āĨā¤ĩāĨ€ ā¤ā¤žā¤˛āĨ‡", + "image_viewer_page_state_provider_share_error": "ā¤ļāĨ‡ā¤…⤰ ā¤•ā¤°ā¤¤ā¤žā¤¨ā¤ž ⤤āĨā¤°āĨā¤ŸāĨ€", + "immich_logo": "Immich ⤞āĨ‹ā¤—āĨ‹", + "immich_web_interface": "Immich ā¤ĩāĨ‡ā¤Ŧ ā¤‡ā¤‚ā¤Ÿā¤°ā¤ĢāĨ‡ā¤¸", + "import_from_json": "JSON ā¤Žā¤§āĨ‚⤍ ā¤†ā¤¯ā¤žā¤¤ ā¤•ā¤°ā¤ž", + "import_path": "ā¤‡ā¤ŽāĨā¤ĒāĨ‹ā¤°āĨā¤Ÿ ā¤Ēā¤žā¤Ĩ", + "in_albums": "{count, plural, one {# album} other {# albums}} ā¤Žā¤§āĨā¤¯āĨ‡", + "in_archive": "⤆⤰āĨā¤•ā¤žā¤‡ā¤ĩāĨā¤šā¤Žā¤§āĨā¤¯āĨ‡", + "in_year": "{year} ā¤Žā¤§āĨā¤¯āĨ‡", + "in_year_selector": "ā¤Žā¤§āĨā¤¯āĨ‡", + "include_archived": "⤆⤰āĨā¤•ā¤žā¤‡ā¤ĩāĨā¤š ⤕āĨ‡ā¤˛āĨ‡ā¤˛āĨ‡ ā¤¸ā¤Žā¤žā¤ĩā¤ŋ⤎āĨā¤Ÿ ā¤•ā¤°ā¤ž", + "include_shared_albums": "ā¤ļāĨ‡ā¤…⤰āĨā¤Ą ⤅⤞āĨā¤Ŧā¤Ž ā¤¸ā¤Žā¤žā¤ĩā¤ŋ⤎āĨā¤Ÿ ā¤•ā¤°ā¤ž", + "include_shared_partner_assets": "ā¤­ā¤žā¤—āĨ€ā¤Ļā¤žā¤°ā¤žā¤šāĨ‡ ā¤ļāĨ‡ā¤…⤰āĨā¤Ą ⤅āĨ…⤏āĨ‡ā¤ŸāĨā¤¸ ā¤¸ā¤Žā¤žā¤ĩā¤ŋ⤎āĨā¤Ÿ ā¤•ā¤°ā¤ž", + "individual_share": "ā¤ĩāĨˆā¤¯ā¤•āĨā¤¤ā¤ŋ⤕ ā¤ļāĨ‡ā¤…⤰", + "individual_shares": "ā¤ĩāĨˆā¤¯ā¤•āĨā¤¤ā¤ŋ⤕ ā¤ļāĨ‡ā¤…⤰āĨā¤¸", + "info": "ā¤Žā¤žā¤šā¤ŋ⤤āĨ€", + "interval": { + "day_at_onepm": "ā¤Ļ⤰⤰āĨ‹ā¤œ ā¤ĻāĨā¤Ēā¤žā¤°āĨ€ āĨ§ ā¤ĩā¤žā¤œā¤¤ā¤ž", + "hours": "ā¤Ļ⤰ {hours, plural, one {hour} other {{hours, number} hours}}", + "night_at_midnight": "ā¤Ļ⤰⤰āĨ‹ā¤œ ā¤Žā¤§āĨā¤¯ā¤°ā¤žā¤¤āĨā¤°āĨ€", + "night_at_twoam": "ā¤Ļ⤰⤰āĨ‹ā¤œ ā¤°ā¤žā¤¤āĨā¤°āĨ€ āĨ¨ ā¤ĩā¤žā¤œā¤¤ā¤ž" + }, + "invalid_date": "⤅ā¤ĩāĨˆā¤§ ā¤¤ā¤žā¤°āĨ€ā¤–", + "invalid_date_format": "⤅ā¤ĩāĨˆā¤§ ā¤¤ā¤žā¤°āĨ€ā¤– ⤏āĨā¤ĩ⤰āĨ‚ā¤Ē", + "invite_people": "⤞āĨ‹ā¤•ā¤žā¤‚ā¤¨ā¤ž ā¤†ā¤Žā¤‚ā¤¤āĨā¤°ā¤ŋ⤤ ā¤•ā¤°ā¤ž", + "invite_to_album": "⤅⤞āĨā¤Ŧā¤Žā¤Žā¤§āĨā¤¯āĨ‡ ā¤†ā¤Žā¤‚ā¤¤āĨā¤°ā¤ŋ⤤ ā¤•ā¤°ā¤ž", + "ios_debug_info_fetch_ran_at": "ā¤ĢāĨ‡ā¤š {dateTime} ā¤˛ā¤ž ā¤šā¤žā¤˛ā¤˛āĨ‡", + "ios_debug_info_last_sync_at": "ā¤ļāĨ‡ā¤ĩ⤟⤚āĨ‡ ā¤¸ā¤Žā¤•āĨā¤°ā¤Žā¤Ŗ {dateTime} ā¤˛ā¤ž", + "ios_debug_info_no_processes_queued": "⤕āĨ‹ā¤Ŗā¤¤āĨā¤¯ā¤žā¤šāĨ€ ā¤Ēā¤žā¤°āĨā¤ļāĨā¤ĩ⤭āĨ‚ā¤ŽāĨ€ ā¤ĒāĨā¤°ā¤•āĨā¤°ā¤ŋā¤¯ā¤ž ā¤ĒāĨā¤°ā¤¤āĨ€ā¤•āĨā¤ˇāĨ‡ā¤¤ ā¤¨ā¤žā¤šāĨ€ā¤¤", + "ios_debug_info_no_sync_yet": "ā¤…ā¤œāĨ‚⤍ ⤕āĨ‹ā¤Ŗā¤¤ā¤žā¤šāĨ€ ā¤Ēā¤žā¤°āĨā¤ļāĨā¤ĩ⤭āĨ‚ā¤ŽāĨ€ ⤏ā¤ŋ⤂⤕ ⤜āĨ‰ā¤Ŧ ā¤šā¤žā¤˛ā¤˛āĨ‡ā¤˛ā¤ž ā¤¨ā¤žā¤šāĨ€", + "ios_debug_info_processes_queued": "{count, plural, one {{count} ā¤Ēā¤žā¤°āĨā¤ļāĨā¤ĩ⤭āĨ‚ā¤ŽāĨ€ ā¤ĒāĨā¤°ā¤•āĨā¤°ā¤ŋā¤¯ā¤ž ā¤ĒāĨā¤°ā¤¤āĨ€ā¤•āĨā¤ˇāĨ‡ā¤¤} other {{count} ā¤Ēā¤žā¤°āĨā¤ļāĨā¤ĩ⤭āĨ‚ā¤ŽāĨ€ ā¤ĒāĨā¤°ā¤•āĨā¤°ā¤ŋā¤¯ā¤ž ā¤ĒāĨā¤°ā¤¤āĨ€ā¤•āĨā¤ˇāĨ‡ā¤¤}}", + "ios_debug_info_processing_ran_at": "ā¤ĒāĨā¤°āĨ‹ā¤¸āĨ‡ā¤¸ā¤ŋ⤂⤗ {dateTime} ā¤˛ā¤ž ā¤šā¤žā¤˛ā¤˛āĨ‡", + "items_count": "{count, plural, one {# ā¤†ā¤¯ā¤Ÿā¤Ž} other {# ā¤†ā¤¯ā¤Ÿā¤Ž} }", + "jobs": "⤜āĨ‰ā¤ŦāĨā¤¸", + "keep": "⤠āĨ‡ā¤ĩā¤ž", + "keep_all": "⤏⤗⤺āĨ‡ ⤠āĨ‡ā¤ĩā¤ž", + "keep_this_delete_others": "ā¤šāĨ‡ ⤠āĨ‡ā¤ĩā¤ž, ⤇⤤⤰ ā¤šā¤Ÿā¤ĩā¤ž", + "kept_this_deleted_others": "ā¤šāĨ‡ ⤅āĨ…⤏āĨ‡ā¤Ÿ ⤠āĨ‡ā¤ĩ⤞āĨ‡ ⤆⤪ā¤ŋ {count, plural, one {⤇⤤⤰ # ⤅āĨ…⤏āĨ‡ā¤Ÿ ā¤šā¤Ÿā¤ĩ⤞āĨ‡} other {⤇⤤⤰ # ⤅āĨ…⤏āĨ‡ā¤ŸāĨā¤¸ ā¤šā¤Ÿā¤ĩ⤞āĨ‡}}", + "keyboard_shortcuts": "⤕āĨ€ā¤ŦāĨ‹ā¤°āĨā¤Ą ā¤ļāĨ‰ā¤°āĨā¤Ÿā¤•ā¤ŸāĨā¤¸", + "language": "ā¤­ā¤žā¤ˇā¤ž", + "language_no_results_subtitle": "⤤āĨā¤Žā¤šā¤ž ā¤ļāĨ‹ā¤§ ā¤ļā¤ŦāĨā¤Ļ ā¤Ŧā¤Ļ⤞āĨ‚⤍ ā¤Ēā¤žā¤šā¤ž", + "language_no_results_title": "⤕āĨ‹ā¤Ŗā¤¤āĨ€ā¤šāĨ€ ā¤­ā¤žā¤ˇā¤ž ā¤¸ā¤žā¤Ēā¤Ąā¤˛āĨ€ ā¤¨ā¤žā¤šāĨ€", + "language_search_hint": "ā¤­ā¤žā¤ˇā¤ž ā¤ļāĨ‹ā¤§ā¤ž...", + "language_setting_description": "⤆ā¤Ē⤞āĨ€ ā¤Ē⤏⤂⤤āĨ€ā¤šāĨ€ ā¤­ā¤žā¤ˇā¤ž ⤍ā¤ŋā¤ĩā¤Ąā¤ž", + "large_files": "ā¤ŽāĨ‹ā¤ āĨā¤¯ā¤ž ā¤Ģā¤žā¤ˆā¤˛āĨā¤¸", + "last": "ā¤ļāĨ‡ā¤ĩ⤟⤚āĨ‡", + "last_months": "{count, plural, one {ā¤Žā¤žā¤—āĨ€ā¤˛ ā¤Žā¤šā¤ŋā¤¨ā¤ž} other {ā¤Žā¤žā¤—āĨ€ā¤˛ # ā¤Žā¤šā¤ŋ⤍āĨ‡}}", + "last_seen": "ā¤ļāĨ‡ā¤ĩ⤟⤚āĨ‡ ā¤Ēā¤žā¤šā¤ŋ⤞āĨ‡", + "latest_version": "⤍ā¤ĩāĨ€ā¤¨ā¤¤ā¤Ž ⤆ā¤ĩāĨƒā¤¤āĨā¤¤āĨ€", + "latitude": "⤅⤕āĨā¤ˇā¤žā¤‚ā¤ļ", + "leave": "⤏āĨ‹ā¤Ąā¤ž", + "leave_album": "⤅⤞āĨā¤Ŧā¤Ž ⤏āĨ‹ā¤Ąā¤ž", + "lens_model": "⤞āĨ‡ā¤¨āĨā¤¸ ā¤ŽāĨ‰ā¤ĄāĨ‡ā¤˛", + "let_others_respond": "ā¤‡ā¤¤ā¤°ā¤žā¤‚ā¤¨ā¤ž ā¤ĒāĨā¤°ā¤¤ā¤ŋā¤¸ā¤žā¤Ļ ā¤ĻāĨ‡ā¤Š ā¤ĻāĨā¤¯ā¤ž", + "level": "ā¤Ēā¤žā¤¤ā¤ŗāĨ€", + "library": "ā¤˛ā¤žā¤¯ā¤ŦāĨā¤°ā¤°āĨ€", + "library_add_folder": "ā¤ĢāĨ‹ā¤˛āĨā¤Ąā¤° ⤜āĨ‹ā¤Ąā¤ž", + "library_edit_folder": "ā¤ĢāĨ‹ā¤˛āĨā¤Ąā¤° ⤏⤂ā¤Ēā¤žā¤Ļā¤ŋ⤤ ā¤•ā¤°ā¤ž", + "library_options": "ā¤˛ā¤žā¤¯ā¤ŦāĨā¤°ā¤°āĨ€ ā¤Ē⤰āĨā¤¯ā¤žā¤¯", + "library_page_device_albums": "ā¤Ąā¤ŋā¤ĩāĨā¤šā¤žā¤‡ā¤¸ā¤ĩ⤰āĨ€ā¤˛ ⤅⤞āĨā¤Ŧā¤ŽāĨā¤¸", + "library_page_new_album": "⤍ā¤ĩāĨ€ā¤¨ ⤅⤞āĨā¤Ŧā¤Ž", + "library_page_sort_asset_count": "⤅āĨ…⤏āĨ‡ā¤ŸāĨā¤¸ā¤šāĨ€ ⤏⤂⤖āĨā¤¯ā¤ž", + "library_page_sort_created": "ā¤¤ā¤¯ā¤žā¤° ⤕āĨ‡ā¤˛āĨ‡ā¤˛āĨ€ ā¤¤ā¤žā¤°āĨ€ā¤–", + "library_page_sort_last_modified": "ā¤ļāĨ‡ā¤ĩā¤Ÿā¤šā¤ž ā¤Ŧā¤Ļ⤞", + "library_page_sort_title": "⤅⤞āĨā¤Ŧā¤Žā¤šāĨ‡ ā¤ļāĨ€ā¤°āĨā¤ˇā¤•", + "licenses": "ā¤Ē⤰ā¤ĩā¤žā¤¨āĨ‡", + "light": "ā¤˛ā¤žā¤‡ā¤Ÿ", + "like": "ā¤˛ā¤žā¤ˆā¤•", + "like_deleted": "ā¤˛ā¤žā¤ˆā¤• ā¤•ā¤žā¤ĸāĨ‚⤍ ā¤Ÿā¤žā¤•ā¤˛āĨ‡", + "link_motion_video": "ā¤ŽāĨ‹ā¤ļ⤍ ā¤ĩāĨā¤šā¤ŋā¤Ąā¤ŋ⤓ ⤞ā¤ŋ⤂⤕ ā¤•ā¤°ā¤ž", + "link_to_oauth": "OAuth ā¤ļāĨ€ ⤞ā¤ŋ⤂⤕ ā¤•ā¤°ā¤ž", + "linked_oauth_account": "⤞ā¤ŋ⤂⤕ ⤕āĨ‡ā¤˛āĨ‡ā¤˛āĨ‡ OAuth ā¤–ā¤žā¤¤āĨ‡", + "list": "ā¤¯ā¤žā¤ĻāĨ€", + "loading": "⤞āĨ‹ā¤Ą ā¤šāĨ‹ā¤¤ ā¤†ā¤šāĨ‡", + "loading_search_results_failed": "ā¤ļāĨ‹ā¤§ ⤍ā¤ŋā¤•ā¤žā¤˛ ⤞āĨ‹ā¤Ą ⤕⤰⤪āĨā¤¯ā¤žā¤¤ ⤅⤝ā¤ļ⤏āĨā¤ĩāĨ€", + "local": "⤏āĨā¤Ĩā¤žā¤¨ā¤ŋ⤕", + "local_asset_cast_failed": "⤏⤰āĨā¤ĩāĨā¤šā¤°ā¤ĩ⤰ ⤅ā¤Ē⤞āĨ‹ā¤Ą ⤍ ⤕āĨ‡ā¤˛āĨ‡ā¤˛āĨ‡ ⤅āĨ…⤏āĨ‡ā¤Ÿ ā¤•ā¤žā¤¸āĨā¤Ÿ ⤕⤰āĨ‚ ā¤ļ⤕⤤ ā¤¨ā¤žā¤šāĨ€", + "local_assets": "⤏āĨā¤Ĩā¤žā¤¨ā¤ŋ⤕ ⤅āĨ…⤏āĨ‡ā¤ŸāĨā¤¸", + "local_media_summary": "⤏āĨā¤Ĩā¤žā¤¨ā¤ŋ⤕ ā¤ŽāĨ€ā¤Ąā¤ŋā¤¯ā¤žā¤šā¤ž ā¤¸ā¤žā¤°ā¤žā¤‚ā¤ļ", + "local_network": "⤏āĨā¤Ĩā¤žā¤¨ā¤ŋ⤕ ⤍āĨ‡ā¤Ÿā¤ĩ⤰āĨā¤•", + "local_network_sheet_info": "ā¤Ļā¤ŋ⤞āĨ‡ā¤˛āĨā¤¯ā¤ž Wi-Fi ⤍āĨ‡ā¤Ÿā¤ĩ⤰āĨā¤•ā¤ĩ⤰ ā¤…ā¤¸ā¤¤ā¤žā¤¨ā¤ž ⤅āĨ…ā¤Ē ā¤¯ā¤ž URL ā¤ĻāĨā¤ĩā¤žā¤°āĨ‡ ⤏⤰āĨā¤ĩāĨā¤šā¤°ā¤ļāĨ€ ⤜āĨ‹ā¤ĄāĨ‡ā¤˛", + "location": "⤞āĨ‹ā¤•āĨ‡ā¤ļ⤍", + "location_permission": "⤞āĨ‹ā¤•āĨ‡ā¤ļ⤍ ā¤Ē⤰ā¤ĩā¤žā¤¨ā¤—āĨ€", + "location_permission_content": "ā¤‘ā¤ŸāĨ‹-⤏āĨā¤ĩā¤ŋ⤚ā¤ŋ⤂⤗ ā¤ĢāĨ€ā¤šā¤° ā¤ĩā¤žā¤Ē⤰⤪āĨā¤¯ā¤žā¤¸ā¤žā¤ āĨ€ Immich ā¤˛ā¤ž ā¤…ā¤šāĨ‚⤕ ⤞āĨ‹ā¤•āĨ‡ā¤ļ⤍ ā¤Ē⤰ā¤ĩā¤žā¤¨ā¤—āĨ€ ā¤šā¤ĩāĨ€, ā¤ŽāĨā¤šā¤Ŗā¤œāĨ‡ ⤤āĨ‡ ⤏⤧āĨā¤¯ā¤žā¤šāĨā¤¯ā¤ž Wi-Fi ⤍āĨ‡ā¤Ÿā¤ĩ⤰āĨā¤•ā¤šāĨ‡ ā¤¨ā¤žā¤ĩ ā¤ĩā¤žā¤šāĨ‚ ā¤ļ⤕āĨ‡ā¤˛", + "location_picker_choose_on_map": "ā¤¨ā¤•ā¤žā¤ļā¤žā¤ĩ⤰ ⤍ā¤ŋā¤ĩā¤Ąā¤ž", + "location_picker_latitude_error": "⤝āĨ‹ā¤—āĨā¤¯ ⤅⤕āĨā¤ˇā¤žā¤‚ā¤ļ ā¤­ā¤°ā¤ž", + "location_picker_latitude_hint": "⤝āĨ‡ā¤ĨāĨ‡ ⤤āĨā¤Žā¤šā¤ž ⤅⤕āĨā¤ˇā¤žā¤‚ā¤ļ ā¤­ā¤°ā¤ž", + "location_picker_longitude_error": "⤝āĨ‹ā¤—āĨā¤¯ ⤰āĨ‡ā¤–ā¤žā¤‚ā¤ļ ā¤­ā¤°ā¤ž", + "location_picker_longitude_hint": "⤝āĨ‡ā¤ĨāĨ‡ ⤤āĨā¤Žā¤šā¤ž ⤰āĨ‡ā¤–ā¤žā¤‚ā¤ļ ā¤­ā¤°ā¤ž", + "lock": "⤞āĨ‰ā¤•", + "locked_folder": "⤞āĨ‰ā¤• ⤕āĨ‡ā¤˛āĨ‡ā¤˛ā¤ž ā¤ĢāĨ‹ā¤˛āĨā¤Ąā¤°", + "log_detail_title": "⤞āĨ‰ā¤— ⤤ā¤Ēā¤ļāĨ€ā¤˛", + "log_out": "⤞āĨ‰ā¤— ā¤†ā¤Šā¤Ÿ", + "log_out_all_devices": "⤏⤰āĨā¤ĩ ā¤Ąā¤ŋā¤ĩāĨā¤šā¤žā¤‡ā¤¸ā¤ĩ⤰āĨ‚⤍ ⤞āĨ‰ā¤— ā¤†ā¤Šā¤Ÿ ā¤•ā¤°ā¤ž", + "logged_in_as": "{user} ā¤ŽāĨā¤šā¤ŖāĨ‚⤍ ⤞āĨ‰ā¤— ⤇⤍", + "logged_out_all_devices": "⤏⤰āĨā¤ĩ ā¤Ąā¤ŋā¤ĩāĨā¤šā¤žā¤‡ā¤¸ā¤ĩ⤰āĨ‚⤍ ⤞āĨ‰ā¤— ā¤†ā¤Šā¤Ÿ ā¤ā¤žā¤˛āĨ‡", + "logged_out_device": "ā¤Ąā¤ŋā¤ĩāĨā¤šā¤žā¤‡ā¤¸ā¤ĩ⤰āĨ‚⤍ ⤞āĨ‰ā¤— ā¤†ā¤Šā¤Ÿ ā¤ā¤žā¤˛āĨ‡", + "login": "⤞āĨ‰ā¤—ā¤ŋ⤍", + "login_disabled": "⤞āĨ‰ā¤—ā¤ŋ⤍ ā¤Ŧ⤂ā¤Ļ ⤕āĨ‡ā¤˛āĨ‡ ā¤†ā¤šāĨ‡", + "login_form_api_exception": "API ⤅ā¤Ēā¤ĩā¤žā¤Ļ. ⤕āĨƒā¤Ēā¤¯ā¤ž ⤏⤰āĨā¤ĩāĨā¤šā¤° URL ⤤ā¤Ēā¤žā¤¸ā¤ž ⤆⤪ā¤ŋ ā¤ĒāĨā¤¨āĨā¤šā¤ž ā¤ĒāĨā¤°ā¤¯ā¤¤āĨā¤¨ ā¤•ā¤°ā¤ž.", + "login_form_back_button_text": "ā¤Žā¤žā¤—āĨ‡", + "login_form_email_hint": "youremail@email.com", + "login_form_endpoint_hint": "http://⤤āĨā¤Žā¤šā¤ž-⤏⤰āĨā¤ĩāĨā¤šā¤°-IP:ā¤ĒāĨ‹ā¤°āĨā¤Ÿ", + "login_form_endpoint_url": "⤏⤰āĨā¤ĩāĨā¤šā¤° ā¤ā¤‚ā¤Ąā¤ĒāĨ‰ā¤‡ā¤‚ā¤Ÿ URL", + "login_form_err_http": "⤕āĨƒā¤Ēā¤¯ā¤ž http:// ⤕ā¤ŋ⤂ā¤ĩā¤ž https:// ā¤¨ā¤ŽāĨ‚ā¤Ļ ā¤•ā¤°ā¤ž", + "login_form_err_invalid_email": "⤅ā¤ĩāĨˆā¤§ ā¤ˆā¤ŽāĨ‡ā¤˛", + "login_form_err_invalid_url": "⤅ā¤ĩāĨˆā¤§ URL", + "login_form_err_leading_whitespace": "⤏āĨā¤°āĨā¤ĩā¤žā¤¤āĨ€ā¤˛ā¤ž ⤏āĨā¤ĒāĨ‡ā¤¸ ā¤†ā¤šāĨ‡", + "login_form_err_trailing_whitespace": "ā¤ļāĨ‡ā¤ĩ⤟āĨ€ ⤏āĨā¤ĒāĨ‡ā¤¸ ā¤†ā¤šāĨ‡", + "login_form_failed_get_oauth_server_config": "OAuth ā¤ĩā¤žā¤Ē⤰āĨ‚⤍ ⤞āĨ‰ā¤—ā¤ŋ⤍ ā¤•ā¤°ā¤¤ā¤žā¤¨ā¤ž ⤤āĨā¤°āĨā¤ŸāĨ€, ⤏⤰āĨā¤ĩāĨā¤šā¤° URL ⤤ā¤Ēā¤žā¤¸ā¤ž", + "login_form_failed_get_oauth_server_disable": "ā¤¯ā¤ž ⤏⤰āĨā¤ĩāĨā¤šā¤°ā¤ĩ⤰ OAuth ⤏āĨā¤ĩā¤ŋā¤§ā¤ž ⤉ā¤Ē⤞ā¤ŦāĨā¤§ ā¤¨ā¤žā¤šāĨ€", + "login_form_failed_login": "⤞āĨ‰ā¤—ā¤ŋ⤍ ā¤•ā¤°ā¤¤ā¤žā¤¨ā¤ž ⤤āĨā¤°āĨā¤ŸāĨ€, ⤏⤰āĨā¤ĩāĨā¤šā¤° URL, ā¤ˆā¤ŽāĨ‡ā¤˛ ⤆⤪ā¤ŋ ā¤Ēā¤žā¤¸ā¤ĩ⤰āĨā¤Ą ⤤ā¤Ēā¤žā¤¸ā¤ž", + "login_form_handshake_exception": "⤏⤰āĨā¤ĩāĨā¤šā¤°ā¤¸ā¤š handshake exception ⤆⤞āĨ€. ⤤āĨā¤ŽāĨā¤šāĨ€ self-signed ā¤ĒāĨā¤°ā¤Žā¤žā¤Ŗā¤Ē⤤āĨā¤° ā¤ĩā¤žā¤Ē⤰⤤ ā¤…ā¤¸ā¤žā¤˛ ⤤⤰ ⤏āĨ‡ā¤Ÿā¤ŋ⤂⤗āĨā¤œā¤Žā¤§āĨā¤¯āĨ‡ self-signed ā¤ĒāĨā¤°ā¤Žā¤žā¤Ŗā¤Ē⤤āĨā¤° ā¤¸ā¤Žā¤°āĨā¤Ĩ⤍ ⤏⤕āĨā¤ˇā¤Ž ā¤•ā¤°ā¤ž.", + "login_form_password_hint": "ā¤Ēā¤žā¤¸ā¤ĩ⤰āĨā¤Ą", + "login_form_save_login": "⤞āĨ‰ā¤—ā¤ŋ⤍ ⤠āĨ‡ā¤ĩāĨ‚⤍ ā¤ĻāĨā¤¯ā¤ž", + "login_form_server_empty": "⤏⤰āĨā¤ĩāĨā¤šā¤° URL ā¤­ā¤°ā¤ž.", + "login_form_server_error": "⤏⤰āĨā¤ĩāĨā¤šā¤°ā¤ļāĨ€ ⤜āĨ‹ā¤Ąā¤¤ā¤ž ⤆⤞āĨ‡ ā¤¨ā¤žā¤šāĨ€.", + "login_has_been_disabled": "⤞āĨ‰ā¤—ā¤ŋ⤍ ā¤Ŧ⤂ā¤Ļ ⤕āĨ‡ā¤˛āĨ‡ ā¤†ā¤šāĨ‡.", + "login_password_changed_error": "⤤āĨā¤Žā¤šā¤ž ā¤Ēā¤žā¤¸ā¤ĩ⤰āĨā¤Ą ⤅ā¤Ēā¤ĄāĨ‡ā¤Ÿ ā¤•ā¤°ā¤¤ā¤žā¤¨ā¤ž ⤤āĨā¤°āĨā¤ŸāĨ€ ⤆⤞āĨ€", + "login_password_changed_success": "ā¤Ēā¤žā¤¸ā¤ĩ⤰āĨā¤Ą ⤝ā¤ļ⤏āĨā¤ĩāĨ€ā¤Ē⤪āĨ‡ ⤅ā¤Ēā¤ĄāĨ‡ā¤Ÿ ā¤ā¤žā¤˛ā¤ž.", + "logout_all_device_confirmation": "⤤āĨā¤ŽāĨā¤šā¤žā¤˛ā¤ž ⤍⤕āĨā¤•āĨ€ ⤏⤰āĨā¤ĩ ā¤Ąā¤ŋā¤ĩāĨā¤šā¤žā¤‡ā¤¸ā¤ĩ⤰āĨ‚⤍ ⤞āĨ‰ā¤— ā¤†ā¤Šā¤Ÿ ā¤•ā¤°ā¤žā¤¯ā¤šāĨ‡ ā¤†ā¤šāĨ‡ ā¤•ā¤ž?", + "logout_this_device_confirmation": "⤤āĨā¤ŽāĨā¤šā¤žā¤˛ā¤ž ⤍⤕āĨā¤•āĨ€ ā¤¯ā¤ž ā¤Ąā¤ŋā¤ĩāĨā¤šā¤žā¤‡ā¤¸ā¤ĩ⤰āĨ‚⤍ ⤞āĨ‰ā¤— ā¤†ā¤Šā¤Ÿ ā¤•ā¤°ā¤žā¤¯ā¤šāĨ‡ ā¤†ā¤šāĨ‡ ā¤•ā¤ž?", + "logs": "⤞āĨ‰ā¤—āĨā¤¸", + "longitude": "⤰āĨ‡ā¤–ā¤žā¤‚ā¤ļ", + "look": "⤞āĨ‚⤕", + "loop_videos": "ā¤ĩāĨā¤šā¤ŋā¤Ąā¤ŋ⤓ ⤞āĨ‚ā¤Ē ā¤•ā¤°ā¤ž", + "loop_videos_description": "⤤ā¤Ēā¤ļāĨ€ā¤˛ ā¤ĻāĨƒā¤ļāĨā¤¯ā¤žā¤¤ ā¤ĩāĨā¤šā¤ŋā¤Ąā¤ŋ⤓ ⤆ā¤ĒāĨ‹ā¤†ā¤Ē ⤞āĨ‚ā¤Ē ā¤šāĨ‹ā¤ŖāĨā¤¯ā¤žā¤¸ā¤žā¤ āĨ€ ā¤šāĨ‡ ⤏⤕āĨā¤ˇā¤Ž ā¤•ā¤°ā¤ž.", + "main_branch_warning": "⤤āĨā¤ŽāĨā¤šāĨ€ development ⤆ā¤ĩāĨƒā¤¤āĨā¤¤āĨ€ ā¤ĩā¤žā¤Ē⤰⤤ ā¤†ā¤šā¤žā¤¤; ā¤†ā¤ŽāĨā¤šāĨ€ ā¤ ā¤žā¤Žā¤Ē⤪āĨ‡ release ⤆ā¤ĩāĨƒā¤¤āĨā¤¤āĨ€ ā¤ĩā¤žā¤Ē⤰⤪āĨā¤¯ā¤žā¤šāĨ€ ā¤ļā¤ŋā¤Ģā¤žā¤°ā¤¸ ⤕⤰⤤āĨ‹!", + "main_menu": "ā¤ŽāĨā¤–āĨā¤¯ ā¤ŽāĨ‡ā¤¨āĨ‚", + "maintenance_description": "Immich ā¤˛ā¤ž ā¤ĻāĨ‡ā¤–ā¤­ā¤žā¤˛ ā¤ŽāĨ‹ā¤Ą ā¤Žā¤§āĨā¤¯āĨ‡ ⤠āĨ‡ā¤ĩ⤞āĨ‡ ā¤†ā¤šāĨ‡.", + "maintenance_end": "ā¤ĻāĨ‡ā¤–ā¤­ā¤žā¤˛ ā¤ŽāĨ‹ā¤Ą ā¤¸ā¤Žā¤žā¤ĒāĨā¤¤ ā¤•ā¤°ā¤ž", + "maintenance_end_error": "ā¤ĻāĨ‡ā¤–ā¤­ā¤žā¤˛ ā¤ŽāĨ‹ā¤Ą ⤏⤂ā¤Ēā¤ĩ⤪āĨā¤¯ā¤žā¤¤ ⤅⤝ā¤ļ⤏āĨā¤ĩāĨ€.", + "maintenance_logged_in_as": "⤏⤧āĨā¤¯ā¤ž {user} ā¤ŽāĨā¤šā¤ŖāĨ‚⤍ ⤞āĨ‰ā¤— ⤇⤍ ā¤†ā¤šāĨ‡", + "maintenance_title": "ā¤¤ā¤žā¤¤āĨā¤ĒāĨā¤°ā¤¤āĨ‡ ⤉ā¤Ē⤞ā¤ŦāĨā¤§ ā¤¨ā¤žā¤šāĨ€", + "make": "ā¤¤ā¤¯ā¤žā¤° ā¤•ā¤°ā¤ž", + "manage_geolocation": "⤞āĨ‹ā¤•āĨ‡ā¤ļ⤍ ā¤ĩāĨā¤¯ā¤ĩ⤏āĨā¤Ĩā¤žā¤Ēā¤ŋ⤤ ā¤•ā¤°ā¤ž", + "manage_media_access_rationale": "⤅āĨ…⤏āĨ‡ā¤ŸāĨā¤¸ ā¤•ā¤šā¤ąāĨā¤¯ā¤žā¤¤ ā¤šā¤˛ā¤ĩ⤪āĨ‡ ⤆⤪ā¤ŋ ⤤ā¤ŋā¤ĨāĨ‚⤍ ā¤Ē⤰⤤ ⤆⤪⤪āĨ‡ ⤝āĨ‹ā¤—āĨā¤¯ ā¤ĒāĨā¤°ā¤•ā¤žā¤°āĨ‡ ā¤šā¤žā¤¤ā¤žā¤ŗā¤ŖāĨā¤¯ā¤žā¤¸ā¤žā¤ āĨ€ ā¤šāĨ€ ā¤Ē⤰ā¤ĩā¤žā¤¨ā¤—āĨ€ ⤆ā¤ĩā¤ļāĨā¤¯ā¤• ā¤†ā¤šāĨ‡.", + "manage_media_access_settings": "⤏āĨ‡ā¤Ÿā¤ŋ⤂⤗āĨā¤œ ā¤‰ā¤˜ā¤Ąā¤ž", + "manage_media_access_subtitle": "Immich ⤅āĨ…ā¤Ēā¤˛ā¤ž ā¤ŽāĨ€ā¤Ąā¤ŋā¤¯ā¤ž ā¤Ģā¤žā¤‡ā¤˛āĨā¤¸ ā¤ĩāĨā¤¯ā¤ĩ⤏āĨā¤Ĩā¤žā¤Ēā¤ŋ⤤ ā¤ĩ ā¤šā¤˛ā¤ĩ⤪āĨā¤¯ā¤žā¤šāĨ€ ā¤Ē⤰ā¤ĩā¤žā¤¨ā¤—āĨ€ ā¤ĻāĨā¤¯ā¤ž.", + "manage_media_access_title": "ā¤ŽāĨ€ā¤Ąā¤ŋā¤¯ā¤ž ā¤ŽāĨ…⤍āĨ‡ā¤œā¤ŽāĨ‡ā¤‚ā¤Ÿ ā¤ĒāĨā¤°ā¤ĩāĨ‡ā¤ļ", + "manage_shared_links": "ā¤ļāĨ‡ā¤…⤰āĨā¤Ą ⤞ā¤ŋ⤂⤕ ā¤ĩāĨā¤¯ā¤ĩ⤏āĨā¤Ĩā¤žā¤Ēā¤ŋ⤤ ā¤•ā¤°ā¤ž", + "manage_sharing_with_partners": "ā¤Ēā¤žā¤°āĨā¤Ÿā¤¨ā¤°āĨā¤¸ā¤¸āĨ‹ā¤Ŧ⤤ ā¤ļāĨ‡ā¤…⤰āĨ€ā¤‚⤗ ā¤ĩāĨā¤¯ā¤ĩ⤏āĨā¤Ĩā¤žā¤Ēā¤ŋ⤤ ā¤•ā¤°ā¤ž", + "manage_the_app_settings": "⤅āĨ…ā¤Ē ⤏āĨ‡ā¤Ÿā¤ŋ⤂⤗āĨā¤œ ā¤ĩāĨā¤¯ā¤ĩ⤏āĨā¤Ĩā¤žā¤Ēā¤ŋ⤤ ā¤•ā¤°ā¤ž", + "manage_your_account": "⤤āĨā¤Žā¤šāĨ‡ ā¤–ā¤žā¤¤āĨ‡ ā¤ĩāĨā¤¯ā¤ĩ⤏āĨā¤Ĩā¤žā¤Ēā¤ŋ⤤ ā¤•ā¤°ā¤ž", + "manage_your_api_keys": "⤤āĨā¤Žā¤šāĨā¤¯ā¤ž API ⤕āĨ€ā¤œ ā¤ĩāĨā¤¯ā¤ĩ⤏āĨā¤Ĩā¤žā¤Ēā¤ŋ⤤ ā¤•ā¤°ā¤ž", + "manage_your_devices": "⤤āĨā¤Žā¤šāĨ€ ⤞āĨ‰ā¤—ā¤ŋ⤍ ⤅⤏⤞āĨ‡ā¤˛āĨ€ ā¤Ąā¤ŋā¤ĩāĨā¤šā¤žā¤‡ā¤¸āĨ‡ā¤¸ ā¤ĩāĨā¤¯ā¤ĩ⤏āĨā¤Ĩā¤žā¤Ēā¤ŋ⤤ ā¤•ā¤°ā¤ž", + "manage_your_oauth_connection": "⤤āĨā¤Žā¤šāĨ‡ OAuth ⤕⤍āĨ‡ā¤•āĨā¤ļ⤍ ā¤ĩāĨā¤¯ā¤ĩ⤏āĨā¤Ĩā¤žā¤Ēā¤ŋ⤤ ā¤•ā¤°ā¤ž", + "map": "ā¤¨ā¤•ā¤žā¤ļā¤ž", + "map_assets_in_bounds": "{count, plural, =0 {ā¤¯ā¤ž ā¤­ā¤žā¤—ā¤žā¤¤ ⤕āĨ‹ā¤Ŗā¤¤āĨ‡ā¤šāĨ€ ā¤ĢāĨ‹ā¤ŸāĨ‹ ā¤¨ā¤žā¤šāĨ€ā¤¤} one {# ā¤ĢāĨ‹ā¤ŸāĨ‹} other {# ā¤ĢāĨ‹ā¤ŸāĨ‹}}", + "map_cannot_get_user_location": "ā¤ĩā¤žā¤Ē⤰⤕⤰āĨā¤¤āĨā¤¯ā¤žā¤šāĨ‡ ⤞āĨ‹ā¤•āĨ‡ā¤ļ⤍ ā¤Žā¤ŋ⤺āĨ‚ ā¤ļ⤕⤞āĨ‡ ā¤¨ā¤žā¤šāĨ€", + "map_location_dialog_yes": "ā¤šāĨ‹ā¤¯", + "map_location_picker_page_use_location": "ā¤šāĨ‡ ⤞āĨ‹ā¤•āĨ‡ā¤ļ⤍ ā¤ĩā¤žā¤Ēā¤°ā¤ž", + "map_location_service_disabled_content": "⤏⤧āĨā¤¯ā¤žā¤šāĨā¤¯ā¤ž ⤞āĨ‹ā¤•āĨ‡ā¤ļ⤍ā¤ĩ⤰āĨ€ā¤˛ ⤅āĨ…⤏āĨ‡ā¤ŸāĨā¤¸ ā¤Ļā¤žā¤–ā¤ĩ⤪āĨā¤¯ā¤žā¤¸ā¤žā¤ āĨ€ ⤞āĨ‹ā¤•āĨ‡ā¤ļ⤍ ⤏āĨ‡ā¤ĩā¤ž ⤏⤕āĨā¤ˇā¤Ž ⤅⤏⤪āĨ‡ ⤆ā¤ĩā¤ļāĨā¤¯ā¤• ā¤†ā¤šāĨ‡. ⤤āĨā¤ŽāĨā¤šā¤žā¤˛ā¤ž ⤤āĨ€ ⤆⤤āĨā¤¤ā¤ž ⤏⤕āĨā¤ˇā¤Ž ā¤•ā¤°ā¤žā¤¯ā¤šāĨ€ ā¤†ā¤šāĨ‡ ā¤•ā¤ž?", + "map_location_service_disabled_title": "⤞āĨ‹ā¤•āĨ‡ā¤ļ⤍ ⤏āĨ‡ā¤ĩā¤ž ā¤Ŧ⤂ā¤Ļ ā¤†ā¤šāĨ‡", + "map_marker_for_images": "{city}, {country} ⤝āĨ‡ā¤ĨāĨ‡ ⤘āĨ‡ā¤¤ā¤˛āĨ‡ā¤˛āĨā¤¯ā¤ž ā¤ĒāĨā¤°ā¤¤ā¤ŋā¤Žā¤žā¤‚ā¤¸ā¤žā¤ āĨ€ ā¤¨ā¤•ā¤žā¤ļā¤ž ā¤Žā¤žā¤°āĨā¤•⤰", + "map_marker_with_image": "ā¤ĒāĨā¤°ā¤¤ā¤ŋā¤ŽāĨ‡ā¤¸ā¤š ā¤¨ā¤•ā¤žā¤ļā¤ž ā¤Žā¤žā¤°āĨā¤•⤰", + "map_no_location_permission_content": "⤏⤧āĨā¤¯ā¤žā¤šāĨā¤¯ā¤ž ⤞āĨ‹ā¤•āĨ‡ā¤ļ⤍ā¤ĩ⤰āĨ€ā¤˛ ⤅āĨ…⤏āĨ‡ā¤ŸāĨā¤¸ ā¤Ļā¤žā¤–ā¤ĩ⤪āĨā¤¯ā¤žā¤¸ā¤žā¤ āĨ€ ⤞āĨ‹ā¤•āĨ‡ā¤ļ⤍ ā¤Ē⤰ā¤ĩā¤žā¤¨ā¤—āĨ€ ⤆ā¤ĩā¤ļāĨā¤¯ā¤• ā¤†ā¤šāĨ‡. ⤤āĨā¤ŽāĨā¤šā¤žā¤˛ā¤ž ⤤āĨ€ ā¤Ē⤰ā¤ĩā¤žā¤¨ā¤—āĨ€ ⤆⤤āĨā¤¤ā¤ž ā¤ĻāĨā¤¯ā¤žā¤¯ā¤šāĨ€ ā¤†ā¤šāĨ‡ ā¤•ā¤ž?", + "map_no_location_permission_title": "⤞āĨ‹ā¤•āĨ‡ā¤ļ⤍ ā¤Ē⤰ā¤ĩā¤žā¤¨ā¤—āĨ€ ā¤¨ā¤žā¤•ā¤žā¤°ā¤˛āĨ€", + "map_settings": "ā¤¨ā¤•ā¤žā¤ļā¤ž ⤏āĨ‡ā¤Ÿā¤ŋ⤂⤗āĨā¤œ", + "map_settings_dark_mode": "ā¤Ąā¤žā¤°āĨā¤• ā¤ŽāĨ‹ā¤Ą", + "map_settings_date_range_option_day": "ā¤Žā¤žā¤—āĨ€ā¤˛ āĨ¨āĨĒ ā¤¤ā¤žā¤¸", + "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_include_show_archived": "⤆⤰āĨā¤•ā¤žā¤‡ā¤ĩāĨā¤š ⤕āĨ‡ā¤˛āĨ‡ā¤˛āĨ‡ ā¤¸ā¤Žā¤žā¤ĩā¤ŋ⤎āĨā¤Ÿ ā¤•ā¤°ā¤ž", + "map_settings_include_show_partners": "ā¤Ēā¤žā¤°āĨā¤Ÿā¤¨ā¤°āĨā¤¸ ā¤¸ā¤Žā¤žā¤ĩā¤ŋ⤎āĨā¤Ÿ ā¤•ā¤°ā¤ž", + "map_settings_only_show_favorites": "ā¤Ģ⤕āĨā¤¤ ⤆ā¤ĩā¤Ąā¤¤āĨ‡ ā¤Ļā¤žā¤–ā¤ĩā¤ž", + "map_settings_theme_settings": "ā¤¨ā¤•ā¤žā¤ļā¤ž ā¤ĨāĨ€ā¤Ž", + "map_zoom_to_see_photos": "ā¤ĢāĨ‹ā¤ŸāĨ‹ ā¤Ēā¤žā¤šā¤ŖāĨā¤¯ā¤žā¤¸ā¤žā¤ āĨ€ ā¤āĨ‚ā¤Ž ā¤†ā¤‰ā¤Ÿ ā¤•ā¤°ā¤ž", + "mark_all_as_read": "⤏⤰āĨā¤ĩ ā¤ĩā¤žā¤šā¤˛āĨ‡ ā¤ŽāĨā¤šā¤ŖāĨ‚⤍ ⤚ā¤ŋ⤍āĨā¤šā¤žā¤‚⤕ā¤ŋ⤤ ā¤•ā¤°ā¤ž", + "mark_as_read": "ā¤ĩā¤žā¤šā¤˛āĨ‡ ā¤ŽāĨā¤šā¤ŖāĨ‚⤍ ⤚ā¤ŋ⤍āĨā¤šā¤žā¤‚⤕ā¤ŋ⤤ ā¤•ā¤°ā¤ž", + "marked_all_as_read": "⤏⤰āĨā¤ĩ ā¤ĩā¤žā¤šā¤˛āĨ‡ ā¤ŽāĨā¤šā¤ŖāĨ‚⤍ ⤚ā¤ŋ⤍āĨā¤šā¤žā¤‚⤕ā¤ŋ⤤ ⤕āĨ‡ā¤˛āĨ‡", + "matches": "⤜āĨā¤ŗā¤Ŗā¤žā¤°āĨ‡", + "matching_assets": "⤜āĨā¤ŗā¤Ŗā¤žā¤°āĨ‡ ⤅āĨ…⤏āĨ‡ā¤ŸāĨā¤¸", + "media_type": "ā¤ŽāĨ€ā¤Ąā¤ŋā¤¯ā¤ž ā¤ĒāĨā¤°ā¤•ā¤žā¤°", + "memories": "⤆⤠ā¤ĩ⤪āĨ€", + "memories_all_caught_up": "⤏⤗⤺āĨ‡ ā¤Ēā¤žā¤šāĨ‚⤍ ā¤ā¤žā¤˛āĨ‡", + "memories_check_back_tomorrow": "⤆⤪⤖āĨ€ ⤆⤠ā¤ĩ⤪āĨ€ā¤‚ā¤¸ā¤žā¤ āĨ€ ⤉ā¤ĻāĨā¤¯ā¤ž ā¤Ē⤰⤤ ā¤Ēā¤šā¤ž", + "memories_setting_description": "⤆⤠ā¤ĩ⤪āĨ€ā¤¤ ā¤•ā¤žā¤¯ ā¤Ļā¤ŋ⤏āĨ‡ā¤˛ ⤤āĨ‡ ā¤ĩāĨā¤¯ā¤ĩ⤏āĨā¤Ĩā¤žā¤Ēā¤ŋ⤤ ā¤•ā¤°ā¤ž", + "memories_start_over": "ā¤ĒāĨā¤¨āĨā¤šā¤ž ⤏āĨā¤°āĨ‚ ā¤•ā¤°ā¤ž", + "memories_swipe_to_close": "ā¤Ŧ⤂ā¤Ļ ⤕⤰⤪āĨā¤¯ā¤žā¤¸ā¤žā¤ āĨ€ ā¤ĩ⤰ ⤏āĨā¤ĩā¤žā¤‡ā¤Ē ā¤•ā¤°ā¤ž", + "memory": "⤆⤠ā¤ĩ⤪", + "memory_lane_title": "ā¤ŽāĨ‡ā¤Žā¤°āĨ€ ⤞āĨ‡ā¤¨ {title}", + "menu": "ā¤ŽāĨ‡ā¤¨āĨ‚", + "merge": "ā¤Žā¤°āĨā¤œ ā¤•ā¤°ā¤ž", + "merge_people": "⤞āĨ‹ā¤• ā¤Žā¤°āĨā¤œ ā¤•ā¤°ā¤ž", + "merge_people_limit": "⤤āĨā¤ŽāĨā¤šāĨ€ ā¤ā¤•ā¤žā¤ĩāĨ‡ā¤ŗāĨ€ ā¤œā¤žā¤¸āĨā¤¤āĨ€ā¤¤ ā¤œā¤žā¤¸āĨā¤¤ āĨĢ ā¤šāĨ‡ā¤šā¤°āĨ‡ā¤š ā¤Žā¤°āĨā¤œ ⤕⤰āĨ‚ ā¤ļā¤•ā¤¤ā¤ž", + "merge_people_prompt": "⤤āĨā¤ŽāĨā¤šā¤žā¤˛ā¤ž ā¤šāĨ‡ ⤞āĨ‹ā¤• ā¤Žā¤°āĨā¤œ ā¤•ā¤°ā¤žā¤¯ā¤šāĨ‡ ā¤†ā¤šāĨ‡ā¤¤ ā¤•ā¤ž? ā¤šāĨ€ ⤕āĨā¤°ā¤ŋā¤¯ā¤ž ā¤Ē⤰⤤ ā¤Ŧā¤Ļā¤˛ā¤¤ā¤ž ⤝āĨ‡ā¤Ŗā¤žā¤° ā¤¨ā¤žā¤šāĨ€.", + "merge_people_successfully": "⤞āĨ‹ā¤• ⤝ā¤ļ⤏āĨā¤ĩāĨ€ā¤Ē⤪āĨ‡ ā¤Žā¤°āĨā¤œ ⤕āĨ‡ā¤˛āĨ‡", + "merged_people_count": "{count, plural, one {# ā¤ĩāĨā¤¯ā¤•āĨā¤¤āĨ€ ā¤Žā¤°āĨā¤œ ⤕āĨ‡ā¤˛āĨ€} other {# ā¤ĩāĨā¤¯ā¤•āĨā¤¤āĨ€ ā¤Žā¤°āĨā¤œ ⤕āĨ‡ā¤˛āĨā¤¯ā¤ž}}", + "minimize": "ā¤Žā¤ŋ⤍ā¤ŋā¤Žā¤žā¤ˆā¤œ ā¤•ā¤°ā¤ž", + "minute": "ā¤Žā¤ŋ⤍ā¤ŋ⤟", + "minutes": "ā¤Žā¤ŋ⤍ā¤ŋ⤟āĨ‡", + "missing": "ā¤Žā¤ŋ⤏ā¤ŋ⤂⤗", + "mobile_app": "ā¤ŽāĨ‹ā¤Ŧā¤žā¤ˆā¤˛ ⤅āĨ…ā¤Ē", + "mobile_app_download_onboarding_note": "ā¤–ā¤žā¤˛āĨ€ ā¤Ļā¤ŋ⤞āĨ‡ā¤˛āĨā¤¯ā¤ž ā¤Ē⤰āĨā¤¯ā¤žā¤¯ā¤žā¤‚ā¤šā¤ž ā¤ĩā¤žā¤Ē⤰ ⤕⤰āĨ‚⤍ ā¤¸ā¤žā¤ĨāĨ€ā¤Ļā¤žā¤° ā¤ŽāĨ‹ā¤Ŧā¤žā¤ˆā¤˛ ⤅āĨ…ā¤Ē ā¤Ąā¤žā¤‰ā¤¨ā¤˛āĨ‹ā¤Ą ā¤•ā¤°ā¤ž", + "model": "ā¤ŽāĨ‰ā¤ĄāĨ‡ā¤˛", + "month": "ā¤Žā¤šā¤ŋā¤¨ā¤ž", + "monthly_title_text_date_format": "ā¤ā¤Žā¤ā¤Žā¤ā¤Žā¤ā¤Ž ā¤ĩā¤žā¤ˆ", + "more": "⤅⤧ā¤ŋ⤕", + "move": "ā¤šā¤˛ā¤ĩā¤ž", + "move_off_locked_folder": "⤞āĨ‰ā¤• ā¤ĢāĨ‹ā¤˛āĨā¤Ąā¤°ā¤šāĨā¤¯ā¤ž ā¤Ŧā¤žā¤šāĨ‡ā¤° ā¤šā¤˛ā¤ĩā¤ž", + "move_to": "⤝āĨ‡ā¤ĨāĨ‡ ā¤šā¤˛ā¤ĩā¤ž", + "move_to_lock_folder_action_prompt": "{count} ⤞āĨ‰ā¤• ā¤ĢāĨ‹ā¤˛āĨā¤Ąā¤°ā¤Žā¤§āĨā¤¯āĨ‡ ⤜āĨ‹ā¤Ąā¤˛āĨ‡", + "move_to_locked_folder": "⤞āĨ‰ā¤• ā¤ĢāĨ‹ā¤˛āĨā¤Ąā¤°ā¤Žā¤§āĨā¤¯āĨ‡ ā¤šā¤˛ā¤ĩā¤ž", + "move_to_locked_folder_confirmation": "ā¤šāĨ‡ ā¤ĢāĨ‹ā¤ŸāĨ‹ ⤆⤪ā¤ŋ ā¤ĩāĨā¤šā¤ŋā¤Ąā¤ŋ⤓ ⤏⤰āĨā¤ĩ ⤅⤞āĨā¤Ŧā¤Žā¤Žā¤§āĨ‚⤍ ā¤•ā¤žā¤ĸ⤞āĨ‡ ā¤œā¤žā¤¤āĨ€ā¤˛ ⤆⤪ā¤ŋ ā¤Ģ⤕āĨā¤¤ ⤞āĨ‰ā¤• ā¤ĢāĨ‹ā¤˛āĨā¤Ąā¤°ā¤Žā¤§āĨ‚ā¤¨ā¤š ā¤Ļā¤ŋ⤏⤤āĨ€ā¤˛", + "moved_to_archive": "{count, plural, one {# ⤅āĨ…⤏āĨ‡ā¤Ÿ ⤆⤰āĨā¤•ā¤žā¤‡ā¤ĩāĨā¤šā¤Žā¤§āĨā¤¯āĨ‡ ā¤šā¤˛ā¤ĩā¤˛ā¤ž} other {# ⤅āĨ…⤏āĨ‡ā¤ŸāĨā¤¸ ⤆⤰āĨā¤•ā¤žā¤‡ā¤ĩāĨā¤šā¤Žā¤§āĨā¤¯āĨ‡ ā¤šā¤˛ā¤ĩ⤞āĨ‡}}", + "moved_to_library": "{count, plural, one {# ⤅āĨ…⤏āĨ‡ā¤Ÿ ā¤˛ā¤žā¤¯ā¤ŦāĨā¤°ā¤°āĨ€ā¤¤ ā¤šā¤˛ā¤ĩā¤˛ā¤ž} other {# ⤅āĨ…⤏āĨ‡ā¤ŸāĨā¤¸ ā¤˛ā¤žā¤¯ā¤ŦāĨā¤°ā¤°āĨ€ā¤¤ ā¤šā¤˛ā¤ĩ⤞āĨ‡}}", + "moved_to_trash": "ā¤•ā¤šā¤°ā¤žā¤ĒāĨ‡ā¤ŸāĨ€ā¤¤ ā¤šā¤˛ā¤ĩ⤞āĨ‡", + "multiselect_grid_edit_date_time_err_read_only": "ā¤Ģ⤕āĨā¤¤-ā¤ĩā¤žā¤šā¤¨ (read-only) ⤅āĨ…⤏āĨ‡ā¤Ÿā¤šāĨ€ ā¤¤ā¤žā¤°āĨ€ā¤– ā¤Ŧā¤Ļ⤞āĨ‚ ā¤ļ⤕⤤ ā¤¨ā¤žā¤šāĨ€, ā¤ĩ⤗⤺⤤ ā¤†ā¤šāĨ‹ā¤¤", + "multiselect_grid_edit_gps_err_read_only": "ā¤Ģ⤕āĨā¤¤-ā¤ĩā¤žā¤šā¤¨ (read-only) ⤅āĨ…⤏āĨ‡ā¤Ÿā¤šāĨ‡ ⤞āĨ‹ā¤•āĨ‡ā¤ļ⤍ ā¤Ŧā¤Ļ⤞āĨ‚ ā¤ļ⤕⤤ ā¤¨ā¤žā¤šāĨ€, ā¤ĩ⤗⤺⤤ ā¤†ā¤šāĨ‹ā¤¤", + "mute_memories": "⤆⤠ā¤ĩ⤪āĨ€ ā¤ŽāĨā¤¯āĨ‚ā¤Ÿ ā¤•ā¤°ā¤ž", + "my_albums": "ā¤Žā¤žā¤āĨ‡ ⤅⤞āĨā¤Ŧā¤ŽāĨā¤¸", + "name": "ā¤¨ā¤žā¤ĩ", + "name_or_nickname": "ā¤¨ā¤žā¤ĩ ⤕ā¤ŋ⤂ā¤ĩā¤ž ⤟āĨ‹ā¤Ēā¤Ŗā¤¨ā¤žā¤ĩ", + "navigate": "⤍āĨ‡ā¤ĩāĨā¤šā¤ŋ⤗āĨ‡ā¤Ÿ ā¤•ā¤°ā¤ž", + "navigate_to_time": "ā¤ĩāĨ‡ā¤ŗāĨ‡ā¤•ā¤ĄāĨ‡ ⤍āĨ‡ā¤ĩāĨā¤šā¤ŋ⤗āĨ‡ā¤Ÿ ā¤•ā¤°ā¤ž", + "network_requirement_photos_upload": "ā¤ĢāĨ‹ā¤ŸāĨ‹ ā¤ŦāĨ…⤕⤅ā¤Ēā¤¸ā¤žā¤ āĨ€ ⤏āĨ‡ā¤˛āĨā¤¯āĨā¤˛ā¤° ā¤ĄāĨ‡ā¤Ÿā¤ž ā¤ĩā¤žā¤Ēā¤°ā¤ž", + "network_requirement_videos_upload": "ā¤ĩāĨā¤šā¤ŋā¤Ąā¤ŋ⤓ ā¤ŦāĨ…⤕⤅ā¤Ēā¤¸ā¤žā¤ āĨ€ ⤏āĨ‡ā¤˛āĨā¤¯āĨā¤˛ā¤° ā¤ĄāĨ‡ā¤Ÿā¤ž ā¤ĩā¤žā¤Ēā¤°ā¤ž", + "network_requirements": "⤍āĨ‡ā¤Ÿā¤ĩ⤰āĨā¤• ⤆ā¤ĩā¤ļāĨā¤¯ā¤•ā¤¤ā¤ž", + "network_requirements_updated": "⤍āĨ‡ā¤Ÿā¤ĩ⤰āĨā¤• ⤆ā¤ĩā¤ļāĨā¤¯ā¤•ā¤¤ā¤ž ā¤Ŧā¤Ļ⤞⤞āĨā¤¯ā¤ž, ā¤ŦāĨ…⤕⤅ā¤Ē ⤕āĨā¤¯āĨ‚ ⤰āĨ€ā¤¸āĨ‡ā¤Ÿ ⤕⤰⤤ ā¤†ā¤šāĨ‹ā¤¤", + "networking_settings": "⤍āĨ‡ā¤Ÿā¤ĩ⤰āĨā¤•ā¤ŋ⤂⤗", + "networking_subtitle": "⤏⤰āĨā¤ĩāĨā¤šā¤° ā¤ā¤‚ā¤Ąā¤ĒāĨ‰ā¤‡ā¤‚ā¤Ÿ ⤏āĨ‡ā¤Ÿā¤ŋ⤂⤗āĨā¤œ ā¤ĩāĨā¤¯ā¤ĩ⤏āĨā¤Ĩā¤žā¤Ēā¤ŋ⤤ ā¤•ā¤°ā¤ž", + "never": "⤕⤧āĨ€ā¤š ā¤¨ā¤žā¤šāĨ€", + "new_album": "⤍ā¤ĩāĨ€ā¤¨ ⤅⤞āĨā¤Ŧā¤Ž", + "new_api_key": "⤍ā¤ĩāĨ€ā¤¨ API ⤕āĨ€", + "new_date_range": "⤍ā¤ĩāĨ€ā¤¨ ā¤¤ā¤žā¤°āĨ€ā¤– ā¤ļāĨā¤°āĨ‡ā¤ŖāĨ€", + "new_password": "⤍ā¤ĩāĨ€ā¤¨ ā¤Ēā¤žā¤¸ā¤ĩ⤰āĨā¤Ą", + "new_person": "⤍ā¤ĩāĨ€ā¤¨ ā¤ĩāĨā¤¯ā¤•āĨā¤¤āĨ€", + "new_pin_code": "⤍ā¤ĩāĨ€ā¤¨ PIN ⤕āĨ‹ā¤Ą", + "new_pin_code_subtitle": "⤤āĨā¤ŽāĨā¤šāĨ€ ā¤ĒāĨā¤°ā¤Ĩā¤Žā¤š ⤞āĨ‰ā¤• ā¤ĢāĨ‹ā¤˛āĨā¤Ąā¤° ā¤‰ā¤˜ā¤Ąā¤¤ ā¤†ā¤šā¤žā¤¤. ā¤šāĨ‡ ā¤Ēā¤žā¤¨ ⤏āĨā¤°ā¤•āĨā¤ˇā¤ŋ⤤ā¤Ē⤪āĨ‡ ā¤‰ā¤˜ā¤Ąā¤ŖāĨā¤¯ā¤žā¤¸ā¤žā¤ āĨ€ ā¤ā¤• PIN ⤕āĨ‹ā¤Ą ā¤¤ā¤¯ā¤žā¤° ā¤•ā¤°ā¤ž", + "new_timeline": "⤍ā¤ĩāĨ€ā¤¨ ā¤Ÿā¤žā¤‡ā¤Žā¤˛ā¤žā¤‡ā¤¨", + "new_update": "⤍ā¤ĩāĨ€ā¤¨ ⤅ā¤Ēā¤ĄāĨ‡ā¤Ÿ", + "new_user_created": "⤍ā¤ĩāĨ€ā¤¨ ā¤ĩā¤žā¤Ē⤰⤕⤰āĨā¤¤ā¤ž ā¤¤ā¤¯ā¤žā¤° ā¤ā¤žā¤˛ā¤ž", + "new_version_available": "⤍ā¤ĩāĨ€ā¤¨ ⤆ā¤ĩāĨƒā¤¤āĨā¤¤āĨ€ ⤉ā¤Ē⤞ā¤ŦāĨā¤§", + "newest_first": "⤏⤰āĨā¤ĩā¤žā¤¤ ⤍ā¤ĩāĨ€ ā¤ĒāĨā¤°ā¤Ĩā¤Ž", + "next": "ā¤ĒāĨā¤ĸāĨ‡", + "next_memory": "ā¤ĒāĨā¤ĸāĨ€ā¤˛ ⤆⤠ā¤ĩ⤪", + "no": "ā¤¨ā¤žā¤šāĨ€", + "no_albums_message": "⤤āĨā¤Žā¤šāĨ‡ ā¤ĢāĨ‹ā¤ŸāĨ‹ ⤆⤪ā¤ŋ ā¤ĩāĨā¤šā¤ŋā¤Ąā¤ŋ⤓ ā¤ĩāĨā¤¯ā¤ĩ⤏āĨā¤Ĩā¤ŋ⤤ ⤕⤰⤪āĨā¤¯ā¤žā¤¸ā¤žā¤ āĨ€ ā¤ā¤• ⤅⤞āĨā¤Ŧā¤Ž ā¤¤ā¤¯ā¤žā¤° ā¤•ā¤°ā¤ž", + "no_albums_with_name_yet": "ā¤¯ā¤ž ā¤¨ā¤žā¤ĩā¤žā¤šā¤ž ā¤…ā¤œāĨ‚⤍ ⤕āĨ‹ā¤Ŗā¤¤ā¤žā¤šāĨ€ ⤅⤞āĨā¤Ŧā¤Ž ā¤¨ā¤žā¤šāĨ€ ⤅⤏āĨ‡ ā¤Ļā¤ŋ⤏⤤āĨ‡.", + "no_albums_yet": "ā¤…ā¤œāĨ‚⤍ ⤤āĨā¤Žā¤šāĨā¤¯ā¤žā¤•ā¤ĄāĨ‡ ⤕āĨ‹ā¤Ŗā¤¤āĨ‡ā¤šāĨ€ ⤅⤞āĨā¤Ŧā¤Ž ā¤¨ā¤žā¤šāĨ€ā¤¤ ⤅⤏āĨ‡ ā¤Ļā¤ŋ⤏⤤āĨ‡.", + "no_archived_assets_message": "⤤āĨā¤Žā¤šāĨā¤¯ā¤ž ā¤ĢāĨ‹ā¤ŸāĨ‹ ā¤ĻāĨƒā¤ļāĨā¤¯ā¤žā¤¤āĨ‚⤍ ⤞ā¤Ēā¤ĩ⤪āĨā¤¯ā¤žā¤¸ā¤žā¤ āĨ€ ā¤ĢāĨ‹ā¤ŸāĨ‹ ⤆⤪ā¤ŋ ā¤ĩāĨā¤šā¤ŋā¤Ąā¤ŋ⤓ ⤆⤰āĨā¤•ā¤žā¤‡ā¤ĩāĨā¤š ā¤•ā¤°ā¤ž", + "no_assets_message": "⤤āĨā¤Žā¤šā¤ž ā¤Ēā¤šā¤ŋā¤˛ā¤ž ā¤ĢāĨ‹ā¤ŸāĨ‹ ⤅ā¤Ē⤞āĨ‹ā¤Ą ⤕⤰⤪āĨā¤¯ā¤žā¤¸ā¤žā¤ āĨ€ ⤕āĨā¤˛ā¤ŋ⤕ ā¤•ā¤°ā¤ž", + "no_assets_to_show": "ā¤Ļā¤žā¤–ā¤ĩ⤪āĨā¤¯ā¤žā¤¸ā¤žā¤ āĨ€ ⤕āĨ‹ā¤Ŗā¤¤āĨ‡ā¤šāĨ€ ⤅āĨ…⤏āĨ‡ā¤Ÿ ā¤¨ā¤žā¤šāĨ€ā¤¤", + "no_cast_devices_found": "⤕āĨ‹ā¤Ŗā¤¤āĨ‡ā¤šāĨ€ ā¤•ā¤žā¤¸āĨā¤Ÿ ā¤Ąā¤ŋā¤ĩāĨā¤šā¤žā¤‡ā¤¸ ā¤¸ā¤žā¤Ēā¤Ąā¤˛āĨ‡ ā¤¨ā¤žā¤šāĨ€", + "no_checksum_local": "⤚āĨ‡ā¤•ā¤¸ā¤Ž ⤉ā¤Ē⤞ā¤ŦāĨā¤§ ā¤¨ā¤žā¤šāĨ€ — ⤏āĨā¤Ĩā¤žā¤¨ā¤ŋ⤕ ⤅āĨ…⤏āĨ‡ā¤ŸāĨā¤¸ ⤆⤪āĨ‚ ā¤ļ⤕⤤ ā¤¨ā¤žā¤šāĨ€", + "no_checksum_remote": "⤚āĨ‡ā¤•ā¤¸ā¤Ž ⤉ā¤Ē⤞ā¤ŦāĨā¤§ ā¤¨ā¤žā¤šāĨ€ — ⤰ā¤ŋā¤ŽāĨ‹ā¤Ÿ ⤅āĨ…⤏āĨ‡ā¤Ÿ ⤆⤪āĨ‚ ā¤ļ⤕⤤ ā¤¨ā¤žā¤šāĨ€", + "no_devices": "⤕āĨ‹ā¤Ŗā¤¤āĨ€ā¤šāĨ€ ⤅⤧ā¤ŋ⤕āĨƒā¤¤ ā¤Ąā¤ŋā¤ĩāĨā¤šā¤žā¤‡ā¤¸āĨ‡ā¤¸ ā¤¨ā¤žā¤šāĨ€ā¤¤", + "no_duplicates_found": "⤕āĨ‹ā¤Ŗā¤¤āĨ‡ā¤šāĨ€ ā¤ĄāĨā¤ĒāĨā¤˛ā¤ŋ⤕āĨ‡ā¤ŸāĨā¤¸ ā¤¸ā¤žā¤Ēā¤Ąā¤˛āĨ‡ ā¤¨ā¤žā¤šāĨ€ā¤¤.", + "no_exif_info_available": "EXIF ā¤Žā¤žā¤šā¤ŋ⤤āĨ€ ⤉ā¤Ē⤞ā¤ŦāĨā¤§ ā¤¨ā¤žā¤šāĨ€", + "no_explore_results_message": "⤤āĨā¤Žā¤šā¤ž ⤏⤂⤗āĨā¤°ā¤š ā¤ā¤•āĨā¤¸ā¤ĒāĨā¤˛āĨ‹ā¤° ⤕⤰⤪āĨā¤¯ā¤žā¤¸ā¤žā¤ āĨ€ ⤆⤪⤖āĨ€ ā¤ĢāĨ‹ā¤ŸāĨ‹ ⤅ā¤Ē⤞āĨ‹ā¤Ą ā¤•ā¤°ā¤ž.", + "no_favorites_message": "⤤āĨā¤Žā¤šāĨ‡ ⤏⤰āĨā¤ĩāĨ‹ā¤¤āĨā¤¤ā¤Ž ā¤ĢāĨ‹ā¤ŸāĨ‹ ⤆⤪ā¤ŋ ā¤ĩāĨā¤šā¤ŋā¤Ąā¤ŋ⤓ ā¤Ēā¤Ÿā¤•ā¤¨ ā¤ļāĨ‹ā¤§ā¤ŖāĨā¤¯ā¤žā¤¸ā¤žā¤ āĨ€ ⤤āĨā¤¯ā¤žā¤‚ā¤¨ā¤ž ⤆ā¤ĩā¤Ąā¤¤āĨā¤¯ā¤žā¤‚⤤ ⤜āĨ‹ā¤Ąā¤ž", + "no_libraries_message": "⤤āĨā¤Žā¤šāĨ‡ ā¤ĢāĨ‹ā¤ŸāĨ‹ ⤆⤪ā¤ŋ ā¤ĩāĨā¤šā¤ŋā¤Ąā¤ŋ⤓ ā¤Ēā¤žā¤šā¤ŖāĨā¤¯ā¤žā¤¸ā¤žā¤ āĨ€ ā¤Ŧā¤žā¤šāĨā¤¯ ā¤˛ā¤žā¤¯ā¤ŦāĨā¤°ā¤°āĨ€ ā¤¤ā¤¯ā¤žā¤° ā¤•ā¤°ā¤ž", + "no_local_assets_found": "ā¤¯ā¤ž ⤚āĨ‡ā¤•ā¤¸ā¤Žā¤¸ā¤š ⤕āĨ‹ā¤Ŗā¤¤āĨ‡ā¤šāĨ€ ⤏āĨā¤Ĩā¤žā¤¨ā¤ŋ⤕ ⤅āĨ…⤏āĨ‡ā¤Ÿ ā¤¸ā¤žā¤Ēā¤Ąā¤˛āĨ‡ ā¤¨ā¤žā¤šāĨ€", + "no_locked_photos_message": "⤞āĨ‰ā¤• ā¤ĢāĨ‹ā¤˛āĨā¤Ąā¤°ā¤Žā¤§āĨ€ā¤˛ ā¤ĢāĨ‹ā¤ŸāĨ‹ ⤆⤪ā¤ŋ ā¤ĩāĨā¤šā¤ŋā¤Ąā¤ŋ⤓ ⤞ā¤Ēā¤ĩ⤞āĨ‡ā¤˛āĨ‡ ā¤†ā¤šāĨ‡ā¤¤ ⤆⤪ā¤ŋ ā¤˛ā¤žā¤¯ā¤ŦāĨā¤°ā¤°āĨ€ ā¤ŦāĨā¤°ā¤žā¤‰ā¤œ ⤕ā¤ŋ⤂ā¤ĩā¤ž ā¤ļāĨ‹ā¤§ā¤¤ā¤žā¤¨ā¤ž ā¤Ļā¤ŋā¤¸ā¤Ŗā¤žā¤° ā¤¨ā¤žā¤šāĨ€ā¤¤.", + "no_name": "ā¤¨ā¤žā¤ĩ ā¤¨ā¤žā¤šāĨ€", + "no_notifications": "⤕āĨ‹ā¤Ŗā¤¤āĨā¤¯ā¤žā¤šāĨ€ ⤏āĨ‚ā¤šā¤¨ā¤ž ā¤¨ā¤žā¤šāĨ€ā¤¤", + "no_people_found": "⤜āĨā¤ŗā¤Ŗā¤žā¤°āĨ‡ ⤕āĨ‹ā¤Ŗā¤¤āĨ‡ā¤šāĨ€ ⤞āĨ‹ā¤• ā¤¸ā¤žā¤Ēā¤Ąā¤˛āĨ‡ ā¤¨ā¤žā¤šāĨ€ā¤¤", + "no_places": "⤕āĨ‹ā¤Ŗā¤¤āĨ€ā¤šāĨ€ ⤠ā¤ŋā¤•ā¤žā¤ŖāĨ‡ ā¤¨ā¤žā¤šāĨ€ā¤¤", + "no_remote_assets_found": "ā¤¯ā¤ž ⤚āĨ‡ā¤•ā¤¸ā¤Žā¤¸ā¤š ⤕āĨ‹ā¤Ŗā¤¤āĨ‡ā¤šāĨ€ ⤰ā¤ŋā¤ŽāĨ‹ā¤Ÿ ⤅āĨ…⤏āĨ‡ā¤Ÿ ā¤¸ā¤žā¤Ēā¤Ąā¤˛āĨ‡ ā¤¨ā¤žā¤šāĨ€", + "no_results": "⤕āĨ‹ā¤Ŗā¤¤āĨ‡ā¤šāĨ€ ⤍ā¤ŋā¤•ā¤žā¤˛ ā¤¨ā¤žā¤šāĨ€ā¤¤", + "no_results_description": "ā¤¸ā¤Žā¤žā¤°āĨā¤Ĩ⤕ ā¤ļā¤ŦāĨā¤Ļ ⤕ā¤ŋ⤂ā¤ĩā¤ž ⤅⤧ā¤ŋ⤕ ⤏⤰āĨā¤ĩā¤¸ā¤žā¤§ā¤žā¤°ā¤Ŗ ⤕āĨ€ā¤ĩ⤰āĨā¤Ą ā¤ĩā¤žā¤Ē⤰āĨ‚⤍ ā¤Ēā¤žā¤šā¤ž", + "no_shared_albums_message": "⤤āĨā¤Žā¤šāĨā¤¯ā¤ž ⤍āĨ‡ā¤Ÿā¤ĩ⤰āĨā¤•ā¤Žā¤§āĨ€ā¤˛ ⤞āĨ‹ā¤•ā¤žā¤‚ā¤ļāĨ€ ā¤ĢāĨ‹ā¤ŸāĨ‹ ⤆⤪ā¤ŋ ā¤ĩāĨā¤šā¤ŋā¤Ąā¤ŋ⤓ ā¤ļāĨ‡ā¤…⤰ ⤕⤰⤪āĨā¤¯ā¤žā¤¸ā¤žā¤ āĨ€ ⤅⤞āĨā¤Ŧā¤Ž ā¤¤ā¤¯ā¤žā¤° ā¤•ā¤°ā¤ž", + "no_uploads_in_progress": "⤕āĨ‹ā¤Ŗā¤¤āĨ‡ā¤šāĨ€ ⤅ā¤Ē⤞āĨ‹ā¤Ą ⤏āĨā¤°āĨ‚ ā¤¨ā¤žā¤šāĨ€", + "not_allowed": "ā¤Ē⤰ā¤ĩā¤žā¤¨ā¤—āĨ€ ā¤¨ā¤žā¤šāĨ€", + "not_available": "⤉ā¤Ē⤞ā¤ŦāĨā¤§ ā¤¨ā¤žā¤šāĨ€", + "not_in_any_album": "⤕āĨ‹ā¤Ŗā¤¤āĨā¤¯ā¤žā¤šāĨ€ ⤅⤞āĨā¤Ŧā¤Žā¤Žā¤§āĨā¤¯āĨ‡ ā¤¨ā¤žā¤šāĨ€", + "not_selected": "⤍ā¤ŋā¤ĩā¤Ąā¤˛āĨ‡ā¤˛āĨ‡ ā¤¨ā¤žā¤šāĨ€", + "note_apply_storage_label_to_previously_uploaded assets": "⤍āĨ‹ā¤Ÿ: ⤆⤧āĨ€ ⤅ā¤Ē⤞āĨ‹ā¤Ą ⤕āĨ‡ā¤˛āĨ‡ā¤˛āĨā¤¯ā¤ž ⤅āĨ…⤏āĨ‡ā¤ŸāĨā¤¸ā¤ĩ⤰ ⤏āĨā¤ŸāĨ‹ā¤°āĨ‡ā¤œ ⤞āĨ‡ā¤Ŧ⤞ ā¤˛ā¤žā¤—āĨ‚ ⤕⤰⤪āĨā¤¯ā¤žā¤¸ā¤žā¤ āĨ€ ā¤šā¤ž ⤆ā¤ĻāĨ‡ā¤ļ ā¤šā¤žā¤˛ā¤ĩā¤ž", + "notes": "⤍āĨ‹ā¤ŸāĨā¤¸", + "nothing_here_yet": "⤇ā¤ĨāĨ‡ ā¤…ā¤œāĨ‚⤍ ā¤•ā¤žā¤šāĨ€ ā¤¨ā¤žā¤šāĨ€", "notification_permission_dialog_content": "⤏āĨ‚ā¤šā¤¨ā¤ž ⤏⤕āĨā¤ˇā¤Ž ⤕⤰⤪āĨā¤¯ā¤žā¤¸ā¤žā¤ āĨ€ ⤏āĨ‡ā¤Ÿā¤ŋ⤂⤗āĨā¤œā¤Žā¤§āĨā¤¯āĨ‡ ā¤œā¤ž ⤆⤪ā¤ŋ ⤅⤍āĨā¤Žā¤¤āĨ€ ā¤ĻāĨā¤¯ā¤ž.", "notification_permission_list_tile_content": "⤏āĨ‚ā¤šā¤¨ā¤ž ⤏⤕āĨā¤ˇā¤Ž ⤕⤰⤪āĨā¤¯ā¤žā¤¸ā¤žā¤ āĨ€ ā¤Ē⤰ā¤ĩā¤žā¤¨ā¤—āĨ€ ā¤ĻāĨā¤¯ā¤ž.", "notification_permission_list_tile_enable_button": "⤏āĨ‚ā¤šā¤¨ā¤ž ⤏⤕āĨā¤ˇā¤Ž ā¤•ā¤°ā¤ž", diff --git a/i18n/ms.json b/i18n/ms.json index c72b1ff688..0491e3953c 100644 --- a/i18n/ms.json +++ b/i18n/ms.json @@ -17,7 +17,6 @@ "add_birthday": "Tambah hari jadi", "add_endpoint": "Tambah titik akhir", "add_exclusion_pattern": "Tambahkan corak pengecualian", - "add_import_path": "Tambahkan laluan import", "add_location": "Tambah lokasi", "add_more_users": "Tambah user lagi", "add_partner": "Tambah rakan", @@ -105,7 +104,6 @@ "jobs_failed": "{jobCount, plural, other {# gagal}}", "library_created": "Pustaka dicipta: {library}", "library_deleted": "Pustaka dipadamkan", - "library_import_path_description": "Tentukan folder untuk diimport. Folder ini, termasuk subfolder, akan diimbas untuk imej dan video.", "library_scanning": "Pengimbasan Berkala", "library_scanning_description": "Konfigurasikan pengimbasan perpustakaan berkala", "library_scanning_enable_description": "Dayakan pengimbasan perpustakaan berkala", diff --git a/i18n/nb_NO.json b/i18n/nb_NO.json index 071dd27a16..4476f905d3 100644 --- a/i18n/nb_NO.json +++ b/i18n/nb_NO.json @@ -17,7 +17,6 @@ "add_birthday": "Legg til bursdag", "add_endpoint": "API endepunkt", "add_exclusion_pattern": "Legg til ekskluderingsmønster", - "add_import_path": "Legg til importsti", "add_location": "Legg til sted", "add_more_users": "Legg til flere brukere", "add_partner": "Legg til partner", @@ -32,6 +31,7 @@ "add_to_album_toggle": "Avhuking for {album}", "add_to_albums": "Legg til i album", "add_to_albums_count": "Legg til i album ({count})", + "add_to_bottom_bar": "Legg til i", "add_to_shared_album": "Legg til delt album", "add_upload_to_stack": "Legg til opplasting i stakken", "add_url": "Legg til URL", @@ -112,13 +112,15 @@ "jobs_failed": "{jobCount, plural, other {# mislyktes}}", "library_created": "Opprettet bibliotek: {library}", "library_deleted": "Bibliotek slettet", - "library_import_path_description": "Spesifiser en mappe for importering. Denne mappen, inkludert undermapper, vil bli skannet for bilder og videoer.", + "library_details": "Bibliotekdetaljer", + "library_remove_folder_prompt": "Er du sikker pÃĨ at du vil fjerne denne import-mappen?", "library_scanning": "Periodisk skanning", "library_scanning_description": "Konfigurer periodisk skanning av bibliotek", "library_scanning_enable_description": "Aktiver periodisk skanning av bibliotek", "library_settings": "Eksternt bibliotek", "library_settings_description": "Administrer innstillinger for eksterne bibliotek", "library_tasks_description": "Skann eksterne biblioteker for nye og/eller endrede ressurser", + "library_updated": "Oppdatert bibliotek", "library_watching_enable_description": "OvervÃĨk eksterne bibliotek for filendringer", "library_watching_settings": "OvervÃĨkning av bibliotek [EKSPERIMENTELL]", "library_watching_settings_description": "Se automatisk etter endrede filer", @@ -154,9 +156,9 @@ "machine_learning_min_detection_score_description": "Minimum tillitspoeng for at et ansikt skal bli oppdaget, pÃĨ en skala fra 0 til 1. Lavere verdier vil oppdage flere ansikter, men kan føre til falske positiver.", "machine_learning_min_recognized_faces": "Minimum antall gjenkjente ansikter", "machine_learning_min_recognized_faces_description": "Det minste antallet gjenkjente ansikter som kreves for ÃĨ opprette en person. Å øke dette gjør ansiktsgjenkjenning mer presis pÃĨ bekostning av ÃĨ øke sjansen for at et ansikt ikke tilordnes til en person.", - "machine_learning_ocr": "OCR", + "machine_learning_ocr": "Tekstgjenkjenning", "machine_learning_ocr_description": "Bruk maskinlÃĻring til ÃĨ gjenkjenne tekst i bilder", - "machine_learning_ocr_enabled": "Aktiver OCR", + "machine_learning_ocr_enabled": "Aktiver tekstgjenkjenning", "machine_learning_ocr_enabled_description": "Hvis deaktivert, vil ikke bilder bli tekstgjenkjent.", "machine_learning_ocr_max_resolution": "Maksimal oppløsning", "machine_learning_ocr_max_resolution_description": "ForhÃĨndsvisninger over denne oppløsningen vil bli endret i størrelse samtidig som sideforholdet bevares. Høyere verdier er mer nøyaktige, men tar lengre tid ÃĨ behandle og bruker mer minne.", @@ -164,7 +166,7 @@ "machine_learning_ocr_min_detection_score_description": "Minimum konfidenspoeng for at tekst skal kunne oppdages er fra 0–1. Lavere verdier vil oppdage mer tekst, men kan føre til falske positiver.", "machine_learning_ocr_min_recognition_score": "Minste deteksjonspoengsum", "machine_learning_ocr_min_score_recognition_description": "Minste deteksjonspoengsum for at tekst skal bli gjenkjent fra 0-1. Lavere verdier vil gjenkjenne mer tekst, men kan gi falske positiver.", - "machine_learning_ocr_model": "OCR modell", + "machine_learning_ocr_model": "Tekstgjenkjenningsmodell", "machine_learning_ocr_model_description": "Server modeller er mer nøyaktige enn mobilmodeller, men de bruker lengre tid og mer minne.", "machine_learning_settings": "Innstillinger for maskinlÃĻring", "machine_learning_settings_description": "Administrer maskinlÃĻringsfunksjoner og innstillinger", @@ -173,6 +175,9 @@ "machine_learning_smart_search_enabled": "Aktiver smart søk", "machine_learning_smart_search_enabled_description": "Hvis deaktivert, vil bilder ikke bli enkodet for smart søk.", "machine_learning_url_description": "URL til maskinlÃĻrings-serveren. Hvis mer enn en URL er lagt inn, hver server vill bli forsøkt en om gangen frem til en svarer suksessfullt, i rekkefølge fra først til sist. Servere som ikke svarer vil midlertidig bli oversett frem til dem svarer igjen.", + "maintenance_settings": "Vedlikehold", + "maintenance_settings_description": "Sett Immich i vedlikeholds modus.", + "maintenance_start": "Start vedlikeholdsmodus", "manage_concurrency": "Administrer samtidighet", "manage_log_settings": "Administrer logginnstillinger", "map_dark_style": "Mørk stil", @@ -475,6 +480,7 @@ "allow_edits": "Tillat redigering", "allow_public_user_to_download": "Tillat uautentiserte brukere ÃĨ laste ned", "allow_public_user_to_upload": "Tillat uautentiserte brukere ÃĨ laste opp", + "allowed": "Tillatt", "alt_text_qr_code": "QR-kodebilde", "anti_clockwise": "Mot klokken", "api_key": "API-nøkkel", @@ -894,8 +900,6 @@ "edit_description_prompt": "Vennligst velg en ny beskrivelse:", "edit_exclusion_pattern": "Rediger utelukkelsesmønster", "edit_faces": "Rediger ansikter", - "edit_import_path": "Rediger importsti", - "edit_import_paths": "Rediger importstier", "edit_key": "Rediger nøkkel", "edit_link": "Endre lenke", "edit_location": "Rediger sted", @@ -967,7 +971,6 @@ "failed_to_stack_assets": "Mislyktes med ÃĨ stable bilder", "failed_to_unstack_assets": "Mislyktes med ÃĨ avstable bilder", "failed_to_update_notification_status": "Kunne ikke oppdatere varslingsstatusen", - "import_path_already_exists": "Denne importstien eksisterer allerede.", "incorrect_email_or_password": "Feil epost eller passord", "paths_validation_failed": "{paths, plural, one {# sti} other {# sti}} mislyktes validering", "profile_picture_transparent_pixels": "Profil bilde kan ikke ha gjennomsiktige piksler. Vennligst zoom inn og/eller flytt bilde.", @@ -977,7 +980,6 @@ "unable_to_add_assets_to_shared_link": "Kunne ikke legge til bilder til delt lenke", "unable_to_add_comment": "Kunne ikke legge til kommentar", "unable_to_add_exclusion_pattern": "Kunne ikke legge til eksklusjonsmønster", - "unable_to_add_import_path": "Kunne ikke legge til importsti", "unable_to_add_partners": "Kunne ikke legge til partnere", "unable_to_add_remove_archive": "Kunne ikke {archived, select, true {fjerne element fra} other {flytte element til}} arkivet", "unable_to_add_remove_favorites": "Kunne ikke {favorite, select, true {legge til element til} other {fjerne element fra}} favoritter", @@ -1000,12 +1002,10 @@ "unable_to_delete_asset": "Kunne ikke slette filen", "unable_to_delete_assets": "Feil med ÃĨ slette bilde", "unable_to_delete_exclusion_pattern": "Kunne ikke slette eksklusjonsmønster", - "unable_to_delete_import_path": "Kunne ikke slette importsti", "unable_to_delete_shared_link": "Kunne ikke slette delt lenke", "unable_to_delete_user": "Kunne ikke slette bruker", "unable_to_download_files": "Kunne ikke laste ned filer", "unable_to_edit_exclusion_pattern": "Kunne ikke redigere eksklusjonsmønster", - "unable_to_edit_import_path": "Kunne ikke redigere importsti", "unable_to_empty_trash": "Kunne ikke Tømme papirkurven", "unable_to_enter_fullscreen": "Kunne ikke gÃĨ inn i fullskjerm", "unable_to_exit_fullscreen": "Kunne ikke gÃĨ ut fra fullskjerm", @@ -1196,6 +1196,8 @@ "import_path": "Import-sti", "in_albums": "I {count, plural, one {# album} other {# albums}}", "in_archive": "I arkiv", + "in_year": "Om {year}", + "in_year_selector": "Om", "include_archived": "Inkluder arkiverte", "include_shared_albums": "Inkluder delte album", "include_shared_partner_assets": "Inkluder delte partnerfiler", @@ -1232,6 +1234,7 @@ "language_setting_description": "Velg ditt foretrukne sprÃĨk", "large_files": "Store Filer", "last": "Siste", + "last_months": "{count, plural, one {sist mÃĨned} other {siste # mÃĨned}}", "last_seen": "Sist sett", "latest_version": "Siste versjon", "latitude": "Breddegrad", @@ -1314,6 +1317,10 @@ "main_menu": "Hovedmeny", "make": "Merke", "manage_geolocation": "Administrer plassering", + "manage_media_access_rationale": "Denne tillatelsen er nødvendig for riktig hÃĨndtering av flytting av objekter til papirkurven og gjenoppretting av dem fra den.", + "manage_media_access_settings": "Åpne innstillinger", + "manage_media_access_subtitle": "Tillatt Immich appen ÃĨ hÃĨndtere og flytte mediefiler.", + "manage_media_access_title": "Media hÃĨndteringstilgang", "manage_shared_links": "HÃĨndter delte linker", "manage_sharing_with_partners": "Administrer deling med partnere", "manage_the_app_settings": "Administrer appinnstillingene", @@ -1406,6 +1413,7 @@ "new_pin_code": "Ny PIN-kode", "new_pin_code_subtitle": "Dette er første gang du ÃĨpner den lÃĨste mappen. Lag en PIN-kode for ÃĨ sikre tilgangen til denne siden", "new_timeline": "Ny tidslinje", + "new_update": "Ny oppdatering", "new_user_created": "Ny bruker opprettet", "new_version_available": "NY VERSJON TILGJENGELIG", "newest_first": "Nyeste først", @@ -1421,6 +1429,7 @@ "no_cast_devices_found": "Ingen caste-enheter oppdaget", "no_checksum_local": "Ingen sjekksum tilgjengelig - Kunne ikke hente lokale elementer", "no_checksum_remote": "Ingen sjekksum tilgjengelig - Kunne ikke hente eksterne elementer", + "no_devices": "Ingen autoriserte enheter", "no_duplicates_found": "Ingen duplikater ble funnet.", "no_exif_info_available": "Ingen EXIF-informasjon tilgjengelig", "no_explore_results_message": "Last opp flere bilder for ÃĨ utforske samlingen din.", @@ -1437,6 +1446,7 @@ "no_results_description": "Prøv et synonym eller mer generelt søkeord", "no_shared_albums_message": "Opprett et album for ÃĨ dele bilder og videoer med personer i nettverket ditt", "no_uploads_in_progress": "Ingen opplasting pÃĨgÃĨr", + "not_allowed": "Ikke tillatt", "not_available": "Ikke tilgjengelig", "not_in_any_album": "Ikke i noe album", "not_selected": "Ikke valgt", @@ -1453,7 +1463,7 @@ "oauth": "OAuth", "obtainium_configurator": "Obtainium konfigurator", "obtainium_configurator_instructions": "Bruk Obtainium for ÃĨ installere og oppdatere Android appen direkte fra Immich sin Github utgivelse. Opprett en API nøkkel og velg en variant for ÃĨ lage din Obtainium konfigurasjonslink", - "ocr": "OCR", + "ocr": "Tekstgjenkjenning", "official_immich_resources": "Offisielle Immich-ressurser", "offline": "Frakoblet", "offset": "Forskyving", @@ -1547,6 +1557,8 @@ "photos_count": "{count, plural, one {{count, number} Bilde} other {{count, number} Bilder}}", "photos_from_previous_years": "Bilder fra tidliger ÃĨr", "pick_a_location": "Velg et sted", + "pick_custom_range": "Tilpasset omrÃĨde", + "pick_date_range": "Velg ett datoomrÃĨde", "pin_code_changed_successfully": "Endring av PIN kode vellykket", "pin_code_reset_successfully": "Vellykket resatt PIN kode", "pin_code_setup_successfully": "Vellykket oppsett av PIN kode", @@ -1752,7 +1764,7 @@ "search_filter_location_title": "Velg lokasjon", "search_filter_media_type": "Medietype", "search_filter_media_type_title": "Velg medietype", - "search_filter_ocr": "Søk med OCR", + "search_filter_ocr": "Søk etter tekst i bilde", "search_filter_people_title": "Velg mennesker", "search_for": "Søk etter", "search_for_existing_person": "Søk etter eksisterende person", @@ -2027,6 +2039,7 @@ "third_party_resources": "Tredjeparts Ressurser", "time": "Tid", "time_based_memories": "Tidsbaserte minner", + "time_based_memories_duration": "Antall sekunder ÃĨ vise hvert bilde.", "timeline": "Tidslinje", "timezone": "Tidssone", "to_archive": "Arkiv", diff --git a/i18n/nl.json b/i18n/nl.json index 62be7e4a15..12d99f18da 100644 --- a/i18n/nl.json +++ b/i18n/nl.json @@ -17,7 +17,6 @@ "add_birthday": "Voeg een verjaardag toe", "add_endpoint": "Server toevoegen", "add_exclusion_pattern": "Uitsluitingspatroon toevoegen", - "add_import_path": "Import-pad toevoegen", "add_location": "Locatie toevoegen", "add_more_users": "Meer gebruikers toevoegen", "add_partner": "Partner toevoegen", @@ -32,6 +31,7 @@ "add_to_album_toggle": "Selectie inschakelen voor {album}", "add_to_albums": "Toevoegen aan albums", "add_to_albums_count": "Toevoegen aan albums ({count})", + "add_to_bottom_bar": "Toevoegen aan", "add_to_shared_album": "Aan gedeeld album toevoegen", "add_upload_to_stack": "Voeg upload toe aan stack", "add_url": "URL toevoegen", @@ -112,13 +112,17 @@ "jobs_failed": "{jobCount, plural, other {# mislukt}}", "library_created": "Bibliotheek aangemaakt: {library}", "library_deleted": "Bibliotheek verwijderd", - "library_import_path_description": "Voer een map in om te importeren. Deze map, inclusief submappen, wordt gescand op afbeeldingen en video's.", + "library_details": "Bibliotheek details", + "library_folder_description": "Kies een map om te importeren. Deze map, waaronder subfolders, zal gescand worden voor afbeeldingen en video's.", + "library_remove_exclusion_pattern_prompt": "Weet je zeker dat je dit uitsluitingspatroon wilt verwijderen?", + "library_remove_folder_prompt": "Weet je zeker dat je deze importeer map wilt verwijderen?", "library_scanning": "Periodiek scannen", "library_scanning_description": "Periodieke bibliotheekscan beheren", "library_scanning_enable_description": "Periodieke bibliotheekscan aanzetten", "library_settings": "Externe bibliotheek", "library_settings_description": "Externe bibliotheekinstellingen beheren", "library_tasks_description": "Scan externe bibliotheken op nieuwe en/of gewijzigde media", + "library_updated": "Bijgewerkte bibliotheek", "library_watching_enable_description": "Externe bibliotheken monitoren op bestandswijzigingen", "library_watching_settings": "Bibliotheek monitoren [EXPERIMENTEEL]", "library_watching_settings_description": "Automatisch gewijzigde bestanden bijhouden", @@ -173,6 +177,10 @@ "machine_learning_smart_search_enabled": "Slim zoeken inschakelen", "machine_learning_smart_search_enabled_description": "Indien uitgeschakeld, worden afbeeldingen niet verwerkt voor slim zoeken.", "machine_learning_url_description": "De URL van de machine learning server. Als er meer dan ÊÊn URL is opgegeven, wordt elke server geprobeerd totdat er een succesvol reageert, op volgorde van eerste tot laatste. Servers die geen reactie geven zullen tijdelijk genegeerd worden tot zij terug online komen.", + "maintenance_settings": "Onderhoud", + "maintenance_settings_description": "Zet Immich in onderhouds­modus.", + "maintenance_start": "Onderhouds­modus starten", + "maintenance_start_error": "Onderhouds­modus starten mislukt.", "manage_concurrency": "Beheer gelijktijdigheid", "manage_log_settings": "Beheer logboekinstellingen", "map_dark_style": "Donkere stijl", @@ -430,6 +438,7 @@ "age_months": "Leeftijd {months, plural, one {# maand} other {# maanden}}", "age_year_months": "Leeftijd 1 jaar, {months, plural, one {# maand} other {# maanden}}", "age_years": "{years, plural, other {Leeftijd #}}", + "album": "Album", "album_added": "Album toegevoegd", "album_added_notification_setting_description": "Ontvang een e-mailmelding wanneer je aan een gedeeld album wordt toegevoegd", "album_cover_updated": "Albumomslag is bijgewerkt", @@ -475,6 +484,7 @@ "allow_edits": "Bewerkingen toestaan", "allow_public_user_to_download": "Sta openbare gebruiker toe om te downloaden", "allow_public_user_to_upload": "Sta openbare gebruiker toe om te uploaden", + "allowed": "Toegestaan", "alt_text_qr_code": "QR-codeafbeelding", "anti_clockwise": "Linksom", "api_key": "API-sleutel", @@ -558,7 +568,7 @@ "autoplay_slideshow": "Diavoorstelling automatisch afspelen", "back": "Terug", "back_close_deselect": "Terug, sluiten of deselecteren", - "background_backup_running_error": "Achtergrond backup draait, handmatige backup kan niet worden gestart", + "background_backup_running_error": "Back-up draait op de achtergrond, handmatige back-up kan niet worden gestart", "background_location_permission": "Achtergrond locatie toestemming", "background_location_permission_content": "Om van netwerk te wisselen terwijl de app op de achtergrond draait, heeft Immich *altijd* toegang tot de exacte locatie nodig om de naam van het WiFi-netwerk te kunnen lezen", "background_options": "Achtergrond opties", @@ -639,7 +649,7 @@ "birthdate_set_description": "De geboortedatum wordt gebruikt om de leeftijd van deze persoon op het moment van de foto te berekenen.", "blurred_background": "Vervaagde achtergrond", "bugs_and_feature_requests": "Bugs & functieverzoeken", - "build": "Bouwen", + "build": "Build", "build_image": "Build image", "bulk_delete_duplicates_confirmation": "Weet je zeker dat je {count, plural, one {# dubbel item} other {# dubbele items}} in bulk wilt verwijderen? Dit zal de grootste item van elke groep behouden en alle andere duplicaten permanent verwijderen. Je kunt deze actie niet ongedaan maken!", "bulk_keep_duplicates_confirmation": "Weet je zeker dat je {count, plural, one {# dubbel item} other {# dubbele items}} wilt behouden? Dit zal alle groepen met duplicaten oplossen zonder iets te verwijderen.", @@ -790,7 +800,8 @@ "daily_title_text_date": "E dd MMM", "daily_title_text_date_year": "E dd MMM yyyy", "dark": "Donker", - "dark_theme": "Wissel naar donker thema", + "dark_theme": "Donker thema in- of uitschakelen", + "date": "Datum", "date_after": "Datum na", "date_and_time": "Datum en tijd", "date_before": "Datum voor", @@ -893,8 +904,6 @@ "edit_description_prompt": "Selecteer een nieuwe beschrijving:", "edit_exclusion_pattern": "Uitsluitingspatroon bewerken", "edit_faces": "Gezichten bewerken", - "edit_import_path": "Import-pad bewerken", - "edit_import_paths": "Import-paden bewerken", "edit_key": "Key bewerken", "edit_link": "Link bewerken", "edit_location": "Locatie bewerken", @@ -966,8 +975,8 @@ "failed_to_stack_assets": "Fout bij stapelen van items", "failed_to_unstack_assets": "Fout bij ontstapelen van items", "failed_to_update_notification_status": "Kon notificatiestatus niet updaten", - "import_path_already_exists": "Dit import-pad bestaat al.", "incorrect_email_or_password": "Onjuist e-mailadres of wachtwoord", + "library_folder_already_exists": "Dit importpad bestaat al.", "paths_validation_failed": "validatie van {paths, plural, one {# pad} other {# paden}} mislukt", "profile_picture_transparent_pixels": "Profielfoto's kunnen geen transparante pixels bevatten. Zoom in en/of verplaats de afbeelding.", "quota_higher_than_disk_size": "Je hebt een opslaglimiet ingesteld die hoger is dan de schijfgrootte", @@ -976,7 +985,6 @@ "unable_to_add_assets_to_shared_link": "Kan items niet aan gedeelde link toevoegen", "unable_to_add_comment": "Kan geen opmerking toevoegen", "unable_to_add_exclusion_pattern": "Kan geen uitsluitingspatroon toevoegen", - "unable_to_add_import_path": "Kan geen import-pad toevoegen", "unable_to_add_partners": "Kan geen partners toevoegen", "unable_to_add_remove_archive": "Kan items niet {archived, select, true {verwijderen uit} other {toevoegen aan}} archief", "unable_to_add_remove_favorites": "Kan items niet {favorite, select, true {toevoegen aan} other {verwijderen uit}} favorieten", @@ -999,12 +1007,10 @@ "unable_to_delete_asset": "Kan item niet verwijderen", "unable_to_delete_assets": "Fout bij verwijderen items", "unable_to_delete_exclusion_pattern": "Kan uitsluitingspatroon niet verwijderen", - "unable_to_delete_import_path": "Kan import-pad niet verwijderen", "unable_to_delete_shared_link": "Kan gedeelde link niet verwijderen", "unable_to_delete_user": "Kan gebruiker niet verwijderen", "unable_to_download_files": "Kan bestanden niet downloaden", "unable_to_edit_exclusion_pattern": "Kan uitsluitingspatroon niet bewerken", - "unable_to_edit_import_path": "Kan import-pad niet bewerken", "unable_to_empty_trash": "Kan prullenbak niet legen", "unable_to_enter_fullscreen": "Kan volledig scherm niet openen", "unable_to_exit_fullscreen": "Kan volledig scherm niet afsluiten", @@ -1055,6 +1061,7 @@ "unable_to_update_user": "Kan gebruiker niet bijwerken", "unable_to_upload_file": "Kan bestand niet uploaden" }, + "exclusion_pattern": "Uitsluitingspatroon", "exif": "Exif", "exif_bottom_sheet_description": "Beschrijving toevoegen...", "exif_bottom_sheet_description_error": "Fout bij het bijwerken van de beschrijving", @@ -1099,6 +1106,7 @@ "features_setting_description": "Beheer de app functies", "file_name": "Bestandsnaam", "file_name_or_extension": "Bestandsnaam of extensie", + "file_size": "Bestandsgrootte", "filename": "Bestandsnaam", "filetype": "Bestandstype", "filter": "Filter", @@ -1194,6 +1202,8 @@ "import_path": "Import-pad", "in_albums": "In {count, plural, one {# album} other {# albums}}", "in_archive": "In archief", + "in_year": "In {year}", + "in_year_selector": "In", "include_archived": "Toon gearchiveerde", "include_shared_albums": "Toon gedeelde albums", "include_shared_partner_assets": "Toon items van gedeelde partner", @@ -1230,6 +1240,7 @@ "language_setting_description": "Selecteer je voorkeurstaal", "large_files": "Grote bestanden", "last": "Laatste", + "last_months": "{count, plural, one {Vorige maand} other {Laatste # maanden}}", "last_seen": "Laatst gezien", "latest_version": "Nieuwste versie", "latitude": "Breedtegraad", @@ -1239,6 +1250,8 @@ "let_others_respond": "Laat anderen reageren", "level": "Niveau", "library": "Bibliotheek", + "library_add_folder": "Map toevoegen", + "library_edit_folder": "Map bewerken", "library_options": "Bibliotheek opties", "library_page_device_albums": "Albums op apparaat", "library_page_new_album": "Nieuw album", @@ -1262,6 +1275,7 @@ "local_media_summary": "Lokale media samenvatting", "local_network": "Lokaal netwerk", "local_network_sheet_info": "De app maakt verbinding met de server via deze URL wanneer het opgegeven WiFi-netwerk wordt gebruikt", + "location": "Locatie", "location_permission": "Locatietoestemming", "location_permission_content": "Om de functie voor automatische serverwissel te gebruiken, heeft Immich toegang tot de exacte locatie nodig om de naam van het huidige WiFi-netwerk te kunnen bepalen", "location_picker_choose_on_map": "Kies op kaart", @@ -1309,8 +1323,17 @@ "loop_videos_description": "Inschakelen om video's automatisch te herhalen in de detailweergave.", "main_branch_warning": "Je gebruikt een ontwikkelingsversie. We raden je ten zeerste aan een releaseversie te gebruiken!", "main_menu": "Hoofdmenu", + "maintenance_description": "Immich is in de onderhouds­modus gezet.", + "maintenance_end": "Onderhouds­modus beÃĢindigen", + "maintenance_end_error": "Onderhouds­modus beÃĢindigen mislukt.", + "maintenance_logged_in_as": "Momenteel ingelogd als {user}", + "maintenance_title": "TÄŗdelÄŗk niet beschikbaar", "make": "Merk", "manage_geolocation": "Beheer locatie", + "manage_media_access_rationale": "Deze rechten zijn nodig om items op een goede manier te verwijderen en te verplaatsen.", + "manage_media_access_settings": "Open instellingen", + "manage_media_access_subtitle": "Toestaan dat de Immich app mediabestanden mag beheren en verplaatsen.", + "manage_media_access_title": "Toegang tot mediabeheer", "manage_shared_links": "Beheer gedeelde links", "manage_sharing_with_partners": "Beheer delen met partners", "manage_the_app_settings": "Beheer de appinstellingen", @@ -1374,6 +1397,7 @@ "more": "Meer", "move": "Verplaats", "move_off_locked_folder": "Verplaats uit vergrendelde map", + "move_to": "Verplaatsen naar", "move_to_lock_folder_action_prompt": "{count} item(s) toegevoegd aan de vergrendelde map", "move_to_locked_folder": "Verplaats naar vergrendelde map", "move_to_locked_folder_confirmation": "Deze foto’s en video’s worden uit alle albums verwijderd en zijn alleen te bekijken in de vergrendelde map", @@ -1403,6 +1427,7 @@ "new_pin_code": "Nieuwe pincode", "new_pin_code_subtitle": "Dit is de eerste keer dat u de vergrendelde map opent. Stel een pincode in om deze pagina veilig te openen", "new_timeline": "Nieuwe tijdlijn", + "new_update": "Nieuwe update", "new_user_created": "Nieuwe gebruiker aangemaakt", "new_version_available": "NIEUWE VERSIE BESCHIKBAAR", "newest_first": "Nieuwste eerst", @@ -1418,6 +1443,7 @@ "no_cast_devices_found": "Geen cast-apparaten gevonden", "no_checksum_local": "Geen checksum beschikbaar - kan lokale assets niet ophalen", "no_checksum_remote": "Geen checksum beschikbaar - kan online assets niet ophalen", + "no_devices": "Geen geautoriseerde apparaten", "no_duplicates_found": "Er zijn geen duplicaten gevonden.", "no_exif_info_available": "Geen exif info beschikbaar", "no_explore_results_message": "Upload meer foto's om je verzameling te verkennen.", @@ -1434,6 +1460,7 @@ "no_results_description": "Probeer een synoniem of een algemener zoekwoord", "no_shared_albums_message": "Maak een album om foto's en video's te delen met mensen in je netwerk", "no_uploads_in_progress": "Geen uploads bezig", + "not_allowed": "Niet toegestaan", "not_available": "n.v.t.", "not_in_any_album": "Niet in een album", "not_selected": "Niet geselecteerd", @@ -1544,6 +1571,8 @@ "photos_count": "{count, plural, one {{count, number} foto} other {{count, number} foto's}}", "photos_from_previous_years": "Foto's van voorgaande jaren", "pick_a_location": "Kies een locatie", + "pick_custom_range": "Aangepast bereik", + "pick_date_range": "Selecteer een datumbereik", "pin_code_changed_successfully": "Pincode succesvol gewijzigd", "pin_code_reset_successfully": "Pincode succesvol gereset", "pin_code_setup_successfully": "Pincode succesvol ingesteld", @@ -1694,6 +1723,7 @@ "reset_sqlite_confirmation": "Ben je zeker dat je de SQLite database wilt resetten? Je zal moeten uitloggen om de data opnieuw te synchroniseren", "reset_sqlite_success": "De SQLite database is succesvol gereset", "reset_to_default": "Resetten naar standaard", + "resolution": "Resolutie", "resolve_duplicates": "Duplicaten oplossen", "resolved_all_duplicates": "Alle duplicaten opgelost", "restore": "Herstellen", @@ -1712,6 +1742,7 @@ "running": "Actief", "save": "Opslaan", "save_to_gallery": "Opslaan in galerij", + "saved": "Opgeslagen", "saved_api_key": "API-sleutel opgeslagen", "saved_profile": "Profiel opgeslagen", "saved_settings": "Instellingen opgeslagen", @@ -1809,6 +1840,8 @@ "server_offline": "Server offline", "server_online": "Server online", "server_privacy": "Serverprivacy", + "server_restarting_description": "Deze pagina wordt zometeen ververst.", + "server_restarting_title": "Server is aan het herstarten", "server_stats": "Serverstatistieken", "server_update_available": "Server update is beschikbaar", "server_version": "Serverversie", @@ -2020,7 +2053,9 @@ "theme_setting_three_stage_loading_title": "Laden in drie fasen inschakelen", "they_will_be_merged_together": "Zij zullen worden samengevoegd", "third_party_resources": "Bronnen van derden", + "time": "Tijd", "time_based_memories": "Tijdgebaseerde herinneringen", + "time_based_memories_duration": "Aantal seconden dat elke afbeelding wordt weergegeven.", "timeline": "Tijdlijn", "timezone": "Tijdzone", "to_archive": "Archiveren", @@ -2128,7 +2163,7 @@ "variables": "Variabelen", "version": "Versie", "version_announcement_closing": "Je vriend, Alex", - "version_announcement_message": "Hallo! Er is een nieuwe versie van Immich beschikbaar. Neem even de tijd om de release notes te lezen en zorg ervoor dat je setup up-to-date is om misconfiguraties te voorkomen, vooral als je WatchTower of een andere update-mechanisme gebruikt.", + "version_announcement_message": "Hallo! Er is een nieuwe versie van Immich beschikbaar. Neem even de tijd om de release notes te lezen en zorg ervoor dat je setup up-to-date is om misconfiguraties te voorkomen, vooral als je WatchTower of een ander update-mechanisme gebruikt.", "version_history": "Versiegeschiedenis", "version_history_item": "{version} geïnstalleerd op {date}", "video": "Video", @@ -2161,6 +2196,7 @@ "welcome": "Welkom", "welcome_to_immich": "Welkom bij Immich", "wifi_name": "WiFi-naam", + "workflow": "Workflow", "wrong_pin_code": "Onjuiste pincode", "year": "Jaar", "years_ago": "{years, plural, one {# jaar} other {# jaar}} geleden", diff --git a/i18n/nn.json b/i18n/nn.json index 2cfb31bede..b9a59c8d78 100644 --- a/i18n/nn.json +++ b/i18n/nn.json @@ -17,7 +17,6 @@ "add_birthday": "Legg til ein fødselsdag", "add_endpoint": "Legg til endepunkt", "add_exclusion_pattern": "Legg til unnlatingsmønster", - "add_import_path": "Legg til sti for importering", "add_location": "Legg til stad", "add_more_users": "Legg til fleire brukarar", "add_partner": "Legg til partnar", @@ -109,7 +108,6 @@ "jobs_failed": "{jobCount, plural, other {# mislykkast}}", "library_created": "Opprett bibliotek: {library}", "library_deleted": "Bibliotek sletta", - "library_import_path_description": "Angje ei mappe ÃĨ importere. Mappa, inkludert undermapper, bli skanna for bilete og videoar.", "library_scanning": "Regelbunden skanning", "library_scanning_description": "Sett opp regelbunden skanning av biblioteket", "library_scanning_enable_description": "Aktiver regelbunden skanning av biblioteket", diff --git a/i18n/pa.json b/i18n/pa.json index 0801a54351..52b1430134 100644 --- a/i18n/pa.json +++ b/i18n/pa.json @@ -15,7 +15,6 @@ "add_birthday": "ā¨œā¨¨ā¨Žā¨Ļā¨ŋ⍍ ⍏ā¨ŧā¨žā¨Žā¨˛ ā¨•ā¨°āŠ‹", "add_endpoint": "ā¨ā¨‚ā¨Ąā¨ĒāŠā¨†ā¨‡āŠ°ā¨Ÿ ⍏ā¨ŧā¨žā¨Žā¨˛ ā¨•ā¨°āŠ‹", "add_exclusion_pattern": "ā¨…ā¨˛ā¨šā¨ŋā¨Ļā¨—āŠ€ ā¨ĒāŠˆā¨Ÿā¨°ā¨¨ ⍏ā¨ŧā¨žā¨Žā¨˛ ā¨•ā¨°āŠ‹", - "add_import_path": "ā¨†ā¨¯ā¨žā¨¤ ā¨Žā¨žā¨°ā¨— ⍏ā¨ŧā¨žā¨Žā¨˛ ā¨•ā¨°āŠ‹", "add_location": "⍏ā¨Ĩā¨žā¨¨ ⍏ā¨ŧā¨žā¨Žā¨˛ ā¨•ā¨°āŠ‹", "add_more_users": "ā¨šāŠ‹ā¨° ⍉ā¨Ēā¨­āŠ‹ā¨—ā¨¤ā¨ž ⍏ā¨ŧā¨žā¨Žā¨˛ ā¨•ā¨°āŠ‹" } diff --git a/i18n/pl.json b/i18n/pl.json index 8bbefef148..443b807115 100644 --- a/i18n/pl.json +++ b/i18n/pl.json @@ -17,7 +17,6 @@ "add_birthday": "Dodaj datę urodzin", "add_endpoint": "Dodaj punkt końcowy", "add_exclusion_pattern": "Dodaj wzÃŗr wykluczający", - "add_import_path": "Dodaj ścieÅŧkę importu", "add_location": "Dodaj lokalizację", "add_more_users": "Dodaj więcej uÅŧytkownikÃŗw", "add_partner": "Dodaj partnera", @@ -32,6 +31,7 @@ "add_to_album_toggle": "Przełącz wybieranie dla {album}", "add_to_albums": "Dodaj do albumÃŗw", "add_to_albums_count": "Dodaj do albumÃŗw ({count})", + "add_to_bottom_bar": "Dodaj do", "add_to_shared_album": "Dodaj do udostępnionego albumu", "add_upload_to_stack": "Dodaj przesłane do stosu", "add_url": "Dodaj URL", @@ -112,13 +112,17 @@ "jobs_failed": "{jobCount, plural, one {# nieudany} few {# nieudane} other {# nieudanych}}", "library_created": "Utworzono bibliotekę: {library}", "library_deleted": "Biblioteka usunięta", - "library_import_path_description": "Określ folder do załadowania plikÃŗw. Ten folder, łącznie z podfolderami, zostanie przeskanowany w poszukiwaniu obrazÃŗw i filmÃŗw.", + "library_details": "SzczegÃŗÅ‚y biblioteki", + "library_folder_description": "WskaÅŧ folder do zaimportowania. Ten folder, wraz z podfolderami, zostanie przeskanowany w poszukiwaniu obrazÃŗw i filmÃŗw.", + "library_remove_exclusion_pattern_prompt": "Czy na pewno chcesz usunąć ten szablon wykluczeń?", + "library_remove_folder_prompt": "Czy na pewno chcesz usunąć ten folder importu?", "library_scanning": "Okresowe Skanowanie", "library_scanning_description": "Skonfiguruj okresowe skanowania bibliotek", "library_scanning_enable_description": "Włącz okresowe skanowanie bibliotek", "library_settings": "Zewnętrzne Biblioteki", "library_settings_description": "Zarządzaj ustawieniami zewnętrznych bibliotek", "library_tasks_description": "Wyszukiwanie nowych lub zmienionych pozycji w zewnętrznych bibliotekach", + "library_updated": "Zaktualizowana biblioteka", "library_watching_enable_description": "Przejrzyj zewnętrzne biblioteki w poszukiwaniu zmienionych plikÃŗw", "library_watching_settings": "Obserwowanie bibliotek [EKSPERYMENTALNE]", "library_watching_settings_description": "Automatycznie obserwuj zmienione pliki", @@ -173,6 +177,10 @@ "machine_learning_smart_search_enabled": "Włącz inteligentne wyszukiwanie", "machine_learning_smart_search_enabled_description": "JeÅŧeli wyłączone, obrazy nie będą przygotowywane do inteligentnego wyszukiwania.", "machine_learning_url_description": "URL serwera uczenia maszynowego. JeÅŧeli podano więcej niÅŧ jeden URL, do kaÅŧdego serwera po kolei będzie wysłane Åŧądanie dopÃŗki chociaÅŧ jeden nie odpowie, w kolejności od pierwszego do ostatniego. Serwery ktÃŗre nie odpowiedzą, zostaną tymczasowo ignorowane aÅŧ do momentu ich przejścia w stan online.", + "maintenance_settings": "Konserwacja", + "maintenance_settings_description": "Przełącza Immich w tryb konserwacji.", + "maintenance_start": "Uruchom tryb konserwacji", + "maintenance_start_error": "Nie udało się uruchomić trybu konserwacji.", "manage_concurrency": "Zarządzaj wspÃŗÅ‚bieÅŧnością zadań", "manage_log_settings": "Zarządzaj ustawieniami logÃŗw", "map_dark_style": "Styl ciemny", @@ -430,6 +438,7 @@ "age_months": "Wiek {months, plural, one {# miesiąc} few {# miesiące} many {# miesięcy} other {# miesięcy}}", "age_year_months": "Wiek 1 rok, {months, plural, one {# miesiąc} few {# miesiące} many {# miesięcy} other {# miesięcy}}", "age_years": "{years, plural, other {Wiek #}}", + "album": "Album", "album_added": "Album udostępniony", "album_added_notification_setting_description": "Otrzymaj powiadomienie email, gdy zostanie Ci udostępniony album", "album_cover_updated": "Okładka albumu została zaktualizowana", @@ -475,6 +484,7 @@ "allow_edits": "PozwÃŗl edytować", "allow_public_user_to_download": "ZezwÃŗl uÅŧytkownikowi publicznemu na pobieranie", "allow_public_user_to_upload": "ZezwÃŗl uÅŧytkownikowi publicznemu na przesyłanie plikÃŗw", + "allowed": "Dozwolone", "alt_text_qr_code": "Obrazek kodu QR", "anti_clockwise": "Przeciwnie do ruchu wskazÃŗwek zegara", "api_key": "Klucz API", @@ -894,8 +904,6 @@ "edit_description_prompt": "Wybierz nowy opis:", "edit_exclusion_pattern": "Edytuj wzÃŗr wykluczający", "edit_faces": "Edytuj twarze", - "edit_import_path": "Edytuj ścieÅŧkę importu", - "edit_import_paths": "Edytuj ścieÅŧki importu", "edit_key": "Edytuj klucz", "edit_link": "Edytuj link", "edit_location": "Edytuj lokalizację", @@ -967,8 +975,8 @@ "failed_to_stack_assets": "Nie udało się utworzyć stosu z zasobÃŗw", "failed_to_unstack_assets": "Nie udało się rozdzielić zasobÃŗw", "failed_to_update_notification_status": "Nie udało się zaktualizować stanu powiadomienia", - "import_path_already_exists": "Ta ścieÅŧka importu juÅŧ istnieje.", "incorrect_email_or_password": "Nieprawidłowy e-mail lub hasło", + "library_folder_already_exists": "Ta ścieÅŧka importu juÅŧ istnieje.", "paths_validation_failed": "{paths, plural, one {# ścieÅŧka} few {# ścieÅŧki} other {# ścieÅŧek}}", "profile_picture_transparent_pixels": "Zdjęcia profilowe nie mogą mieć przezroczystych pikseli. Powiększ i/lub przesuń obraz.", "quota_higher_than_disk_size": "Ustawiony przez ciebie limit większy niÅŧ rozmiar dysku", @@ -977,7 +985,6 @@ "unable_to_add_assets_to_shared_link": "Nie moÅŧna dodać zasobÃŗw do udostępnionego linku", "unable_to_add_comment": "Nie moÅŧna dodać komentarza", "unable_to_add_exclusion_pattern": "Nie moÅŧna dodać wzoru wykluczającego", - "unable_to_add_import_path": "Nie moÅŧna dodać ścieÅŧki importu", "unable_to_add_partners": "Nie moÅŧna dodać partnerÃŗw", "unable_to_add_remove_archive": "Nie moÅŧna {archived, select, true {usunąć zasobu z} other {dodać zasobu do}} archiwum", "unable_to_add_remove_favorites": "Nie moÅŧna {favorite, select, true {dodać zasobu do} other {usunąć zasobu z }} ulubionych", @@ -1000,12 +1007,10 @@ "unable_to_delete_asset": "Nie moÅŧna usunąć zasobu", "unable_to_delete_assets": "Błąd podczas usuwania zasobÃŗw", "unable_to_delete_exclusion_pattern": "Nie moÅŧna usunąć wzoru wykluczającego", - "unable_to_delete_import_path": "Nie moÅŧna usunąć ścieÅŧki importu", "unable_to_delete_shared_link": "Nie moÅŧna usunąć udostępnionego linku", "unable_to_delete_user": "Nie moÅŧna usunąć uÅŧytkownika", "unable_to_download_files": "Nie moÅŧna pobrać plikÃŗw", "unable_to_edit_exclusion_pattern": "Nie moÅŧna zmienić wzoru wykluczającego", - "unable_to_edit_import_path": "Nie moÅŧna edytować ścieÅŧki importu", "unable_to_empty_trash": "Nie moÅŧna oprÃŗÅŧnić kosza", "unable_to_enter_fullscreen": "Nie moÅŧna przejść na pełny ekran", "unable_to_exit_fullscreen": "Nie moÅŧna wyjść z pełnego ekranu", @@ -1056,6 +1061,7 @@ "unable_to_update_user": "Nie moÅŧna zmienić uÅŧytkownika", "unable_to_upload_file": "Nie moÅŧna przesłać pliku" }, + "exclusion_pattern": "Szablon wykluczeń", "exif": "Metadane EXIF", "exif_bottom_sheet_description": "Dodaj Opis...", "exif_bottom_sheet_description_error": "Wystąpił błąd podczas aktualizacji opisu", @@ -1196,6 +1202,8 @@ "import_path": "ŚcieÅŧka importu", "in_albums": "W {count, plural, one {# albumie} other {# albumach}}", "in_archive": "W archiwum", + "in_year": "W {year}", + "in_year_selector": "W", "include_archived": "Uwzględnij zarchiwizowane", "include_shared_albums": "Uwzględnij udostępnione albumy", "include_shared_partner_assets": "Uwzględnij udostępnione zasoby partnera", @@ -1232,6 +1240,7 @@ "language_setting_description": "Wybierz swÃŗj preferowany język", "large_files": "DuÅŧe pliki", "last": "Ostatni", + "last_months": "{count, plural, one {Zeszły miesiąc} few {# zeszłe miesiące} other {# zeszłych miesięcy}}", "last_seen": "Ostatnio widziane", "latest_version": "Najnowsza wersja", "latitude": "Szerokość geograficzna", @@ -1241,6 +1250,8 @@ "let_others_respond": "PozwÃŗl innym reagować", "level": "Poziom", "library": "Biblioteka", + "library_add_folder": "Dodaj folder", + "library_edit_folder": "Edytuj folder", "library_options": "Opcje biblioteki", "library_page_device_albums": "Albumy na Urządzeniu", "library_page_new_album": "Nowy album", @@ -1312,8 +1323,17 @@ "loop_videos_description": "Włącz automatyczne odtwarzanie w pętli filmu w widoku szczegÃŗÅ‚owym.", "main_branch_warning": "UÅŧywasz wersji deweloperskiej. Zdecydowanie zalecamy korzystanie z wydanej wersji aplikacji!", "main_menu": "Menu gÅ‚Ãŗwne", + "maintenance_description": "Immich został przełączony w tryb konserwacji.", + "maintenance_end": "Zakończ tryb konserwacji", + "maintenance_end_error": "Nie udało się zakończyć trybu konserwacji.", + "maintenance_logged_in_as": "Obecnie zalogowano jako {user}", + "maintenance_title": "Tymczasowo niedostępne", "make": "Marka", "manage_geolocation": "Zarządzaj lokalizacją", + "manage_media_access_rationale": "To uprawnienie jest wymagane do prawidłowej obsługi przenoszenia zasobÃŗw do kosza i przywracania ich z niego.", + "manage_media_access_settings": "OtwÃŗrz ustawienia", + "manage_media_access_subtitle": "ZezwÃŗl aplikacji Immich na zarządzanie plikami multimedialnymi i przenoszenie ich.", + "manage_media_access_title": "Dostęp do zarządzania mediami", "manage_shared_links": "Zarządzaj udostępnionymi linkami", "manage_sharing_with_partners": "Zarządzaj dzieleniem z partnerami", "manage_the_app_settings": "Zarządzaj ustawieniami aplikacji", @@ -1377,6 +1397,7 @@ "more": "Więcej", "move": "Przenieś", "move_off_locked_folder": "Przenieś z folderu zablokowanego", + "move_to": "Przenieś do", "move_to_lock_folder_action_prompt": "{count} dodanych do folderu zablokowanego", "move_to_locked_folder": "Przenieś do folderu zablokowanego", "move_to_locked_folder_confirmation": "Te zdjęcia i filmy zostaną usunięte ze wszystkich albumÃŗw i będą widzialne tylko w folderze zablokowanym", @@ -1406,6 +1427,7 @@ "new_pin_code": "Nowy kod PIN", "new_pin_code_subtitle": "Jest to pierwszy raz, kiedy wchodzisz do folderu zablokowanego. UtwÃŗrz kod PIN, aby bezpiecznie korzystać z tej strony", "new_timeline": "Nowa oś czasu", + "new_update": "Nowa aktualizacja", "new_user_created": "Pomyślnie stworzono nowego uÅŧytkownika", "new_version_available": "NOWA WERSJA DOSTĘPNA", "newest_first": "Od najnowszych", @@ -1421,6 +1443,7 @@ "no_cast_devices_found": "Nie znaleziono urządzeń do przesyłania strumieniowego", "no_checksum_local": "Brak sumy kontrolnej - nie moÅŧna pobrać lokalnych zasobÃŗw", "no_checksum_remote": "Brak sumy kontrolnej - nie moÅŧna pobrać zdalnego zasobu", + "no_devices": "Brak autoryzowanych urządzeń", "no_duplicates_found": "Nie znaleziono duplikatÃŗw.", "no_exif_info_available": "Nie znaleziono informacji exif", "no_explore_results_message": "Prześlij więcej zdjęć, aby przeglądać swÃŗj zbiÃŗr.", @@ -1437,6 +1460,7 @@ "no_results_description": "SprÃŗbuj uÅŧyć synonimu lub bardziej ogÃŗlnego słowa kluczowego", "no_shared_albums_message": "StwÃŗrz album aby udostępnić zdjęcia i filmy osobom w Twojej sieci", "no_uploads_in_progress": "Brak przesyłań w toku", + "not_allowed": "Niedozwolone", "not_available": "Nie dotyczy", "not_in_any_album": "Bez albumu", "not_selected": "Nie wybrano", @@ -1547,6 +1571,8 @@ "photos_count": "{count, plural, one {{count, number} Zdjęcie} few {{count, number} Zdjęcia} other {{count, number} Zdjęć}}", "photos_from_previous_years": "Zdjęcia z ubiegłych lat", "pick_a_location": "Oznacz lokalizację", + "pick_custom_range": "Zakres niestandardowy", + "pick_date_range": "Wybierz zakres dat", "pin_code_changed_successfully": "Pomyślnie zmieniono kod PIN", "pin_code_reset_successfully": "Pomyślnie zresetowano kod PIN", "pin_code_setup_successfully": "Pomyślnie ustawiono kod PIN", @@ -1767,7 +1793,7 @@ "search_page_no_places": "Brak informacji o miejscu", "search_page_screenshots": "Zrzuty ekranu", "search_page_search_photos_videos": "Wyszukaj swoje zdjęcia i filmy", - "search_page_selfies": "Selfi", + "search_page_selfies": "Selfiki", "search_page_things": "Rzeczy", "search_page_view_all_button": "PokaÅŧ wszystkie", "search_page_your_activity": "Twoja aktywność", @@ -1814,6 +1840,8 @@ "server_offline": "Serwer Offline", "server_online": "Serwer Online", "server_privacy": "Ochrona prywatności serwera", + "server_restarting_description": "Ta strona zostanie za chwilę odświeÅŧona.", + "server_restarting_title": "Trwa ponowne uruchamianie serwera", "server_stats": "Statystyki serwera", "server_update_available": "Dostępna jest aktualizacja serwera", "server_version": "Wersja serwera", @@ -2027,6 +2055,7 @@ "third_party_resources": "Zasoby stron trzecich", "time": "Czas", "time_based_memories": "Wspomnienia oparte na czasie", + "time_based_memories_duration": "Ilość sekund, przez jaką wyświetlane jest poszczegÃŗlne zdjęcie.", "timeline": "Oś czasu", "timezone": "Strefa czasowa", "to_archive": "Zarchiwizuj", @@ -2167,6 +2196,7 @@ "welcome": "Witaj", "welcome_to_immich": "Witamy w immich", "wifi_name": "Nazwa Wi-Fi", + "workflow": "Przepływ pracy", "wrong_pin_code": "Nieprawidłowy kod PIN", "year": "Rok", "years_ago": "{years, plural, one {# rok} few {# lata} other {# lat}} temu", diff --git a/i18n/pt.json b/i18n/pt.json index 4e04331ad3..512f4dc20b 100644 --- a/i18n/pt.json +++ b/i18n/pt.json @@ -17,7 +17,6 @@ "add_birthday": "Definir aniversÃĄrio", "add_endpoint": "Adicionar URL", "add_exclusion_pattern": "Adicionar um padrÃŖo de exclusÃŖo", - "add_import_path": "Adicionar um caminho de importaÃ§ÃŖo", "add_location": "Adicionar localizaÃ§ÃŖo", "add_more_users": "Adicionar mais utilizadores", "add_partner": "Adicionar parceiro", @@ -32,6 +31,7 @@ "add_to_album_toggle": "Alternar seleÃ§ÃŖo para {album}", "add_to_albums": "Adicionar aos ÃĄlbuns", "add_to_albums_count": "Adicionar aos ÃĄlbuns ({count})", + "add_to_bottom_bar": "Adicionar a", "add_to_shared_album": "Adicionar ao ÃĄlbum partilhado", "add_upload_to_stack": "Adicionar carregamento à fila", "add_url": "Adicionar URL", @@ -69,7 +69,7 @@ "confirm_user_pin_code_reset": "Tem a certeza de que quer repor o cÃŗdigo PIN de {user}?", "create_job": "Criar tarefa", "cron_expression": "ExpressÃŖo Cron", - "cron_expression_description": "Definir o intervalo de anÃĄlise utilizando o formato Cron. Para mais informaçÃĩes, por favor veja o Crontab Guru", + "cron_expression_description": "Definir o intervalo de anÃĄlise utilizando o formato Cron. Para mais informaçÃĩes, por favor consulte o Crontab Guru", "cron_expression_presets": "PredefiniçÃĩes das expressÃĩes Cron", "disable_login": "Desativar inicio de sessÃŖo", "duplicate_detection_job_description": "Executa a aprendizagem de mÃĄquina em ficheiros para detetar imagens semelhantes. Depende da Pesquisa Inteligente", @@ -90,7 +90,7 @@ "image_prefer_embedded_preview": "Preferir visualizaÃ§ÃŖo incorporada", "image_prefer_embedded_preview_setting_description": "Utilizar visualizaçÃĩes incorporadas em fotos RAW como entrada para processamento de imagem e quando disponível. Isto pode produzir cores mais precisas para algumas imagens, mas a qualidade da visualizaÃ§ÃŖo depende da cÃĸmara e a imagem pode ter mais artefatos de compressÃŖo.", "image_prefer_wide_gamut": "Prefira ampla gama", - "image_prefer_wide_gamut_setting_description": "Utilizar Display P3 para miniaturas. Isso preserva melhor a vibrÃĸncia das imagens com espaços de cores amplos, mas as imagens podem aparecer de maneira diferente em dispositivos antigos com uma versÃŖo antiga do navegador. As imagens sRGB sÃŖo mantidas como sRGB para evitar mudanças de cores.", + "image_prefer_wide_gamut_setting_description": "Utilizar Display P3 para miniaturas. Isto preserva melhor a vibrÃĸncia das imagens com espaços de cores amplos, mas as imagens podem aparecer de maneira diferente em dispositivos antigos com uma versÃŖo antiga do navegador. As imagens sRGB sÃŖo mantidas como sRGB para evitar mudanças de cores.", "image_preview_description": "Imagem de tamanho mÊdio sem metadados, utilizada ao visualizar um Ãēnico ficheiro e pela aprendizagem de mÃĄquina", "image_preview_quality_description": "Qualidade de prÊ-visualizaÃ§ÃŖo de 1 a 100. Maior Ê melhor, mas produz ficheiros maiores e pode reduzir a capacidade de resposta da aplicaÃ§ÃŖo. Definir um valor demasiado baixo pode afetar a qualidade da aprendizagem de mÃĄquina.", "image_preview_title": "DefiniçÃĩes de PrÊ-visualizaÃ§ÃŖo", @@ -106,19 +106,23 @@ "job_created": "Tarefa criada", "job_not_concurrency_safe": "Esta tarefa nÃŖo pode ser executada em simultÃĸneo.", "job_settings": "DefiniçÃĩes de Tarefas", - "job_settings_description": "Gerir tarefas em simultÃĸneo", + "job_settings_description": "Gerir tarefas executadas em simultÃĸneo", "job_status": "Estado das Tarefas", "jobs_delayed": "{jobCount, plural, one {# adiado} other {# adiados}}", "jobs_failed": "{jobCount, plural, one {# falhou} other {# falharam}}", "library_created": "Criada biblioteca: {library}", "library_deleted": "Biblioteca eliminada", - "library_import_path_description": "Especifique uma pasta para importar. Esta pasta, incluindo sub-pastas, serÃĄ analisada por imagens e vídeos.", + "library_details": "Detalhes de Biblioteca", + "library_folder_description": "Especifique uma pasta para importar. Esta pasta, incluindo subpastas, serÃĄ analisada para procurar imagens e vídeos.", + "library_remove_exclusion_pattern_prompt": "Tem a certeza que pretende remover este padrÃŖo de exclusÃŖo?", + "library_remove_folder_prompt": "Tem a certeza que quer remover esta pasta de importaÃ§ÃŖo?", "library_scanning": "AnÃĄlise periÃŗdica", "library_scanning_description": "Configurar a anÃĄlise periÃŗdica da biblioteca", "library_scanning_enable_description": "Ativar anÃĄlise periÃŗdica da biblioteca", "library_settings": "Biblioteca Externa", "library_settings_description": "Gerir definiçÃĩes de biblioteca externa", "library_tasks_description": "Pesquisa bibliotecas externas em busca de itens novos e/ou alterados", + "library_updated": "Biblioteca atualizada", "library_watching_enable_description": "Analisar bibliotecas externas por alteraçÃĩes de ficheiros", "library_watching_settings": "AnÃĄlise de biblioteca [EXPERIMENTAL]", "library_watching_settings_description": "Analise automaticamente por ficheiros alterados", @@ -173,6 +177,10 @@ "machine_learning_smart_search_enabled": "Ativar a Pesquisa Inteligente", "machine_learning_smart_search_enabled_description": "Se desativado, as imagens nÃŖo serÃŖo codificadas para Pesquisa Inteligente.", "machine_learning_url_description": "A URL do servidor de aprendizagem de mÃĄquina. Se for fornecido mais do que um URL, cada servidor serÃĄ testado, um a um, atÊ um deles responder com sucesso, por ordem do primeiro ao Ãēltimo. Servidores que nÃŖo responderem serÃŖo temporariamente ignorados atÊ voltarem a estar online.", + "maintenance_settings": "ManutenÃ§ÃŖo", + "maintenance_settings_description": "Colocar o Immich no modo de manutenÃ§ÃŖo.", + "maintenance_start": "Iniciar modo de manutenÃ§ÃŖo", + "maintenance_start_error": "Ocorreu um erro ao iniciar o modo de manutenÃ§ÃŖo.", "manage_concurrency": "Gerir simultaneidade", "manage_log_settings": "Gerir definiçÃĩes de registo", "map_dark_style": "Tema Escuro", @@ -214,7 +222,7 @@ "nightly_tasks_sync_quota_usage_setting_description": "Atualizar quotas de armazenamento de utilizadores, com base na utilizaÃ§ÃŖo atual", "no_paths_added": "Nenhum caminho adicionado", "no_pattern_added": "Nenhum padrÃŖo adicionado", - "note_apply_storage_label_previous_assets": "ObservaÃ§ÃŖo: Para aplicar o RÃŗtulo de Armazenamento a ficheiros carregados anteriormente, execute o", + "note_apply_storage_label_previous_assets": "ObservaÃ§ÃŖo: Para aplicar o RÃŗtulo de Armazenamento a ficheiros carregados anteriormente, execute a", "note_cannot_be_changed_later": "NOTA: Isto nÃŖo pode ser alterado posteriormente!", "notification_email_from_address": "A partir do endereço", "notification_email_from_address_description": "Endereço de e-mail do remetente, por exemplo: \"Servidor de Fotos Immich \". Certifique-se de que utiliza um endereço atravÊs do qual pode enviar e-mails.", @@ -285,10 +293,10 @@ "sidecar_job_description": "Descobrir ou sincronizar metadados secundÃĄrios a partir do sistema de ficheiros", "slideshow_duration_description": "Tempo em segundos para exibir cada imagem", "smart_search_job_description": "Execute a aprendizagem automÃĄtica em ficheiros para oferecer apoio à Pesquisa Inteligente", - "storage_template_date_time_description": "O registo de data e hora de criaÃ§ÃŖo do ficheiro Ê usado para fornecer essas informaçÃĩes", - "storage_template_date_time_sample": "Exemplo de tempo {date}", + "storage_template_date_time_description": "O registo de data e hora de criaÃ§ÃŖo do ficheiro Ê utilizado para preencher estas informaçÃĩes", + "storage_template_date_time_sample": "Exemplo de data/hora {date}", "storage_template_enable_description": "Ativar mecanismo de modelo de armazenamento", - "storage_template_hash_verification_enabled": "VerificaÃ§ÃŖo de hash ativada", + "storage_template_hash_verification_enabled": "Ativar verificaÃ§ÃŖo de hash", "storage_template_hash_verification_enabled_description": "Ativa a verificaÃ§ÃŖo de hash, nÃŖo desative esta opÃ§ÃŖo a menos que tenha a certeza das implicaçÃĩes", "storage_template_migration": "MigraÃ§ÃŖo de modelo de armazenamento", "storage_template_migration_description": "Aplica o {template} atual para ficheiros previamente carregados", @@ -300,7 +308,7 @@ "storage_template_settings": "Modelo de Armazenamento", "storage_template_settings_description": "Gerir a estrutura de pastas e o nome do ficheiro carregado", "storage_template_user_label": "{label} Ê o RÃŗtulo do Armazenamento do utilizador", - "system_settings": "DefiniçÃĩes de Sistema", + "system_settings": "DefiniçÃĩes do Sistema", "tag_cleanup_job": "Limpeza de etiquetas", "template_email_available_tags": "Pode usar as seguintes variÃĄveis no modelo: {tags}", "template_email_if_empty": "Se o modelo estiver em branco, o modelo de e-mail padrÃŖo serÃĄ utilizado.", @@ -430,6 +438,7 @@ "age_months": "Idade {months, plural, one {# mÃĒs} other {# meses}}", "age_year_months": "Idade 1 ano, {months, plural, one {# mÃĒs} other {# meses}}", "age_years": "{years, plural, one{# ano} other {# anos}}", + "album": "Álbum", "album_added": "Álbum adicionado", "album_added_notification_setting_description": "Receber uma notificaÃ§ÃŖo por e-mail quando for adicionado a um ÃĄlbum partilhado", "album_cover_updated": "Capa do ÃĄlbum atualizada", @@ -475,6 +484,7 @@ "allow_edits": "Permitir ediçÃĩes", "allow_public_user_to_download": "Permitir que utilizadores pÃēblicos façam transferÃĒncias", "allow_public_user_to_upload": "Permitir que utilizadores pÃēblicos façam carregamentos", + "allowed": "Permitido", "alt_text_qr_code": "Imagem do cÃŗdigo QR", "anti_clockwise": "Sentido anti-horÃĄrio", "api_key": "Chave de API", @@ -852,7 +862,7 @@ "display_options": "OpçÃĩes de exibiÃ§ÃŖo", "display_order": "Ordem de exibiÃ§ÃŖo", "display_original_photos": "Exibir fotos originais", - "display_original_photos_setting_description": "Preferir a exibiÃ§ÃŖo da foto original ao visualizar um ficheiro em vez de miniaturas quando o ficheiro original Ê compatível com a web. Isso pode diminuir a velocidade de exibiÃ§ÃŖo das fotos.", + "display_original_photos_setting_description": "Preferir a exibiÃ§ÃŖo da foto original ao visualizar um ficheiro em vez de miniaturas quando o ficheiro original Ê compatível com a web. Isto pode diminuir a velocidade de exibiÃ§ÃŖo das fotos.", "do_not_show_again": "NÃŖo mostrar esta mensagem novamente", "documentation": "DocumentaÃ§ÃŖo", "done": "Feito", @@ -870,13 +880,13 @@ "download_paused": "Pausado", "download_settings": "Transferir", "download_settings_description": "Gerir definiçÃĩes relacionadas com a transferÃĒncia de ficheiros", - "download_started": "Iniciando", + "download_started": "Descarregamento iniciado", "download_sucess": "Baixado com sucesso", "download_sucess_android": "O ficheiro foi descarregado para a pasta DCIM/Immich", "download_waiting_to_retry": "Tentando novamente", "downloading": "A transferir", "downloading_asset_filename": "A transferir o ficheiro {filename}", - "downloading_media": "Baixando mídia", + "downloading_media": "A descarregar ficheiro", "drop_files_to_upload": "Solte os ficheiros em qualquer lugar para os enviar", "duplicates": "Itens duplicados", "duplicates_description": "Marque cada grupo indicando quais ficheiros, se algum, sÃŖo duplicados", @@ -894,8 +904,6 @@ "edit_description_prompt": "Por favor selecione uma nova descriÃ§ÃŖo:", "edit_exclusion_pattern": "Editar o padrÃŖo de exclusÃŖo", "edit_faces": "Editar rostos", - "edit_import_path": "Editar caminho de importaÃ§ÃŖo", - "edit_import_paths": "Editar caminhos de importaÃ§ÃŖo", "edit_key": "Editar chave", "edit_link": "Editar link", "edit_location": "Editar LocalizaÃ§ÃŖo", @@ -967,8 +975,8 @@ "failed_to_stack_assets": "Ocorreu um erro ao empilhar os ficheiros", "failed_to_unstack_assets": "Ocorreu um erro ao desempilhar ficheiros", "failed_to_update_notification_status": "Ocorreu um erro ao atualizar o estado das notificaçÃĩes", - "import_path_already_exists": "Este caminho de importaÃ§ÃŖo jÃĄ existe.", "incorrect_email_or_password": "Email ou palavra-passe incorretos", + "library_folder_already_exists": "Este caminho de importaÃ§ÃŖo jÃĄ existe.", "paths_validation_failed": "Ocorreu um erro na validaÃ§ÃŖo de {paths, plural, one {# caminho} other {# caminhos}}", "profile_picture_transparent_pixels": "Imagem de perfil nÃŖo pode ter pixeis transparentes. Por favor amplie e/ou mova a imagem.", "quota_higher_than_disk_size": "Definiu uma quota maior do que o tamanho do disco", @@ -977,7 +985,6 @@ "unable_to_add_assets_to_shared_link": "NÃŖo foi possível adicionar os ficheiros ao link partilhado", "unable_to_add_comment": "NÃŖo foi possível adicionar o comentÃĄrio", "unable_to_add_exclusion_pattern": "NÃŖo foi possível adicionar o padrÃŖo de exclusÃŖo", - "unable_to_add_import_path": "NÃŖo foi possível adicionar o caminho de importaÃ§ÃŖo", "unable_to_add_partners": "NÃŖo foi possível adicionar parceiros", "unable_to_add_remove_archive": "NÃŖo foi possível {archived, select, true {remover o ficheiro de} other {adicionar o ficheiro}}", "unable_to_add_remove_favorites": "NÃŖo foi possível {favorite, select, true {adicionar ficheiro aos} other {remover ficheiro dos}} favoritos", @@ -1000,12 +1007,10 @@ "unable_to_delete_asset": "NÃŖo foi possível eliminar o ficheiro", "unable_to_delete_assets": "Erro ao eliminar ficheiros", "unable_to_delete_exclusion_pattern": "NÃŖo foi possível eliminar o padrÃŖo de exclusÃŖo", - "unable_to_delete_import_path": "NÃŖo foi possível eliminar o caminho de importaÃ§ÃŖo", "unable_to_delete_shared_link": "NÃŖo foi possível eliminar o link compartilhado", "unable_to_delete_user": "NÃŖo foi possível eliminar o utilizador", "unable_to_download_files": "NÃŖo foi possível transferir ficheiros", "unable_to_edit_exclusion_pattern": "NÃŖo foi possível editar o padrÃŖo de exclusÃŖo", - "unable_to_edit_import_path": "NÃŖo foi possível editar o caminho de importaÃ§ÃŖo", "unable_to_empty_trash": "NÃŖo foi possível esvaziar a reciclagem", "unable_to_enter_fullscreen": "NÃŖo foi possível entrar em modo de ecrÃŖ inteiro", "unable_to_exit_fullscreen": "NÃŖo foi possível sair do modo de ecrÃŖ inteiro", @@ -1056,6 +1061,7 @@ "unable_to_update_user": "NÃŖo foi possível atualizar o utilizador", "unable_to_upload_file": "NÃŖo foi possível carregar o ficheiro" }, + "exclusion_pattern": "PadrÃŖo de exclusÃŖo", "exif": "Exif", "exif_bottom_sheet_description": "Adicionar DescriÃ§ÃŖo...", "exif_bottom_sheet_description_error": "Ocorreu um erro ao alterar a descriÃ§ÃŖo", @@ -1115,6 +1121,7 @@ "folders_feature_description": "Navegar na vista de pastas por fotos e vídeos no sistema de ficheiros", "forgot_pin_code_question": "Esqueceu-se do seu PIN?", "forward": "Para a frente", + "full_path": "Caminho completo:{path}", "gcast_enabled": "Google Cast", "gcast_enabled_description": "Esta funcionalidade requer o carregamento de recursos externos da Google para poder funcionar.", "general": "Geral", @@ -1187,7 +1194,7 @@ "image_alt_text_date_place_3_people": "{isVideo, select, true {Vídeo gravado} other {Foto tirada}} em {city}, {country} com {person1}, {person2}, e {person3} em {date}", "image_alt_text_date_place_4_or_more_people": "{isVideo, select, true {Vídeo gravado} other {Foto tirada}} em {city}, {country} com {person1}, {person2}, e outras {additionalCount, number} pessoas em {date}", "image_saved_successfully": "Imagem salva", - "image_viewer_page_state_provider_download_started": "A descarregar ficheiro", + "image_viewer_page_state_provider_download_started": "Descarregamento Iniciado", "image_viewer_page_state_provider_download_success": "Baixado com sucesso", "image_viewer_page_state_provider_share_error": "Erro ao compartilhar", "immich_logo": "Logotipo do Immich", @@ -1196,6 +1203,8 @@ "import_path": "Caminho de importaÃ§ÃŖo", "in_albums": "Em {count, plural, one {# ÃĄlbum} other {# ÃĄlbuns}}", "in_archive": "Arquivado", + "in_year": "Em {year}", + "in_year_selector": "Em", "include_archived": "Incluir arquivados", "include_shared_albums": "Incluir ÃĄlbuns partilhados", "include_shared_partner_assets": "Incluir ficheiros partilhados por parceiros", @@ -1232,6 +1241,7 @@ "language_setting_description": "Selecione o seu Idioma preferido", "large_files": "Ficheiros Grandes", "last": "Último", + "last_months": "{count, plural, one {No Ãēltimo mÃĒs} other {Nos Ãēltimos # meses}}", "last_seen": "Visto pela ultima vez", "latest_version": "VersÃŖo mais recente", "latitude": "Latitude", @@ -1241,6 +1251,8 @@ "let_others_respond": "Permitir respostas", "level": "Nível", "library": "Biblioteca", + "library_add_folder": "Adicionar pasta", + "library_edit_folder": "Editar pasta", "library_options": "OpçÃĩes da biblioteca", "library_page_device_albums": "Álbuns no dispositivo", "library_page_new_album": "Novo ÃĄlbum", @@ -1284,7 +1296,7 @@ "login_disabled": "Início de sessÃŖo desativado", "login_form_api_exception": "Erro de API. Verifique a URL do servidor e tente novamente.", "login_form_back_button_text": "Voltar", - "login_form_email_hint": "seuemail@email.com", + "login_form_email_hint": "oseuemail@email.com", "login_form_endpoint_hint": "http://ip-do-seu-servidor:porta", "login_form_endpoint_url": "URL do servidor", "login_form_err_http": "Por favor especifique http:// ou https://", @@ -1312,8 +1324,17 @@ "loop_videos_description": "Ativar para repetir os vídeos automaticamente durante a exibiÃ§ÃŖo.", "main_branch_warning": "EstÃĄ a usar uma versÃŖo de desenvolvimento; recomendamos vivamente que use uma versÃŖo de lançamento!", "main_menu": "Menu Principal", + "maintenance_description": "O Immich foi colocado em modo de manutenÃ§ÃŖo.", + "maintenance_end": "Desativar modo de manutenÃ§ÃŖo", + "maintenance_end_error": "Ocorreu um erro ao desativar o modo de manutenÃ§ÃŖo.", + "maintenance_logged_in_as": "SessÃŖo iniciada como {user}", + "maintenance_title": "Temporariamente Indisponível", "make": "Marca", "manage_geolocation": "Gerir localizaÃ§ÃŖo", + "manage_media_access_rationale": "Esta autorizaÃ§ÃŖo Ê necessÃĄria para a correta gestÃŖo e envio de ficheiros para a reciclagem, e para os restaurar da mesma.", + "manage_media_access_settings": "Abrir definiçÃĩes", + "manage_media_access_subtitle": "Autorizar que aplicaÃ§ÃŖo Immich faça a gestÃŖo e movimente ficheiros.", + "manage_media_access_title": "Acesso à GestÃŖo de Ficheiros", "manage_shared_links": "Gerir links partilhados", "manage_sharing_with_partners": "Gerir partilha com parceiros", "manage_the_app_settings": "Gerir definiçÃĩes da aplicaÃ§ÃŖo", @@ -1377,6 +1398,7 @@ "more": "Mais", "move": "Mover", "move_off_locked_folder": "Mover para fora da pasta trancada", + "move_to": "Mover para", "move_to_lock_folder_action_prompt": "{count} adicionados à pasta trancada", "move_to_locked_folder": "Mover para a pasta trancada", "move_to_locked_folder_confirmation": "Estas fotos e vídeos serÃŖo removidas de todos os ÃĄlbuns, e sÃŗ serÃŖo visíveis na pasta trancada", @@ -1406,6 +1428,7 @@ "new_pin_code": "Novo cÃŗdigo PIN", "new_pin_code_subtitle": "Esta Ê a primeira vez que acede à pasta trancada. Crie um cÃŗdigo PIN para aceder a esta pÃĄgina de forma segura", "new_timeline": "Nova Linha do Tempo", + "new_update": "Nova atualizaÃ§ÃŖo", "new_user_created": "Novo utilizador criado", "new_version_available": "NOVA VERSÃO DISPONÍVEL", "newest_first": "Mais recente primeiro", @@ -1421,12 +1444,14 @@ "no_cast_devices_found": "Nenhum dispositivo de transmissÃŖo encontrado", "no_checksum_local": "Sem cÃĄlculo de verificaÃ§ÃŖo disponível - nÃŖo pode capturar conteÃēdos locais", "no_checksum_remote": "Soma de verificaÃ§ÃŖo (checksum) nÃŖo disponível - nÃŖo Ê possível obter o recurso remoto", + "no_devices": "Nenhum dispositivo autorizado", "no_duplicates_found": "Nenhum item duplicado foi encontrado.", "no_exif_info_available": "Sem informaçÃĩes exif disponíveis", "no_explore_results_message": "Carregue mais fotos para explorar a sua coleÃ§ÃŖo.", "no_favorites_message": "Adicione aos favoritos para encontrar as suas melhores fotos e vídeos rapidamente", "no_libraries_message": "Crie uma biblioteca externa para ver as suas fotos e vídeos", "no_local_assets_found": "Sem cÃĄlculo de verificaÃ§ÃŖo disponível", + "no_location_set": "Sem localizaÃ§ÃŖo definida", "no_locked_photos_message": "Fotos e vídeos na pasta trancada estÃŖo ocultos e nÃŖo serÃŖo exibidos enquanto explora ou pesquisa na biblioteca.", "no_name": "Sem nome", "no_notifications": "Sem notificaçÃĩes", @@ -1437,6 +1462,7 @@ "no_results_description": "Tente um sinÃŗnimo ou uma palavra-chave mais comum", "no_shared_albums_message": "Crie um ÃĄlbum para partilhar fotos e vídeos com pessoas na sua rede", "no_uploads_in_progress": "Nenhum carregamento em curso", + "not_allowed": "NÃŖo permitido", "not_available": "N/A", "not_in_any_album": "NÃŖo estÃĄ em nenhum ÃĄlbum", "not_selected": "NÃŖo selecionado", @@ -1483,7 +1509,7 @@ "other_devices": "Outros dispositivos", "other_entities": "Outras entidades", "other_variables": "Outras variÃĄveis", - "owned": "Seu", + "owned": "Seus", "owner": "Dono", "partner": "Parceiro", "partner_can_access": "{partner} pode aceder", @@ -1547,6 +1573,8 @@ "photos_count": "{count, plural, one {{count, number} Foto} other {{count, number} Fotos}}", "photos_from_previous_years": "Fotos de anos anteriores", "pick_a_location": "Selecione uma localizaÃ§ÃŖo", + "pick_custom_range": "Intervalo personalizado", + "pick_date_range": "Selecione um intervalo de datas", "pin_code_changed_successfully": "CÃŗdigo PIN alterado com sucesso", "pin_code_reset_successfully": "CÃŗdigo PIN reposto com sucesso", "pin_code_setup_successfully": "CÃŗdigo PIN configurado com sucesso", @@ -1734,14 +1762,14 @@ "search_by_filename": "Pesquisar por nome de ficheiro ou extensÃŖo", "search_by_filename_example": "por exemplo, IMG_1234.JPG ou PNG", "search_by_ocr": "Pesquisar por OCR", - "search_by_ocr_example": "Latte", + "search_by_ocr_example": "GalÃŖo", "search_camera_lens_model": "Pesquisar por modelo de lente...", "search_camera_make": "Pesquisar por marca da cÃĸmara...", "search_camera_model": "Pesquisar por modelo da cÃĸmara...", "search_city": "Pesquisar cidade...", "search_country": "Pesquisar país...", "search_filter_apply": "Aplicar filtro", - "search_filter_camera_title": "Selecione o tipo de cÃĸmera", + "search_filter_camera_title": "Selecione o tipo de cÃĸmara", "search_filter_date": "Data", "search_filter_date_interval": "{start} atÊ {end}", "search_filter_date_title": "Selecione a data", @@ -1750,8 +1778,8 @@ "search_filter_filename": "Pesquisar por nome do ficheiro", "search_filter_location": "LocalizaÃ§ÃŖo", "search_filter_location_title": "Selecione a localizaÃ§ÃŖo", - "search_filter_media_type": "Tipo da mídia", - "search_filter_media_type_title": "Selecione o tipo da mídia", + "search_filter_media_type": "Tipo de ficheiro", + "search_filter_media_type_title": "Selecione o tipo do ficheiro", "search_filter_ocr": "Pesquisar por OCR", "search_filter_people_title": "Selecionar pessoas", "search_for": "Pesquisar por", @@ -1776,7 +1804,7 @@ "search_places": "Pesquisar lugares", "search_rating": "Pesquisar por classificaÃ§ÃŖo...", "search_result_page_new_search_hint": "Nova Pesquisa", - "search_settings": "DefiniçÃĩes de pesquisa", + "search_settings": "Pesquisar nas DefiniçÃĩes", "search_state": "Pesquisar estado/distrito...", "search_suggestion_list_smart_search_hint_1": "A pesquisa inteligente estÃĄ ativada por omissÃŖo. Para pesquisar por metadados, utilize a sintaxe ", "search_suggestion_list_smart_search_hint_2": "m:a-sua-pesquisa", @@ -1814,6 +1842,8 @@ "server_offline": "Servidor Offline", "server_online": "Servidor Online", "server_privacy": "Privacidade do Servidor", + "server_restarting_description": "A pÃĄgina irÃĄ atualizar dentro de momentos.", + "server_restarting_title": "O servidor estÃĄ a reiniciar", "server_stats": "Estado do servidor", "server_update_available": "EstÃĄ disponível uma atualizaÃ§ÃŖo do servidor", "server_version": "VersÃŖo do servidor", @@ -1906,12 +1936,12 @@ "shared_links": "Links partilhados", "shared_links_description": "Partilhar fotos e videos com um link", "shared_photos_and_videos_count": "{assetCount, plural, other {# Fotos & videos partilhados.}}", - "shared_with_me": "Compartilhado comigo", + "shared_with_me": "Partilhado comigo", "shared_with_partner": "Partilhado com {partner}", "sharing": "Partilha", "sharing_enter_password": "Por favor, insira a palavra-passe para ver esta pÃĄgina.", - "sharing_page_album": "Álbuns compartilhados", - "sharing_page_description": "Crie ÃĄlbuns compartilhados para compartilhar fotos e vídeos com pessoas da sua rede.", + "sharing_page_album": "Álbuns partilhados", + "sharing_page_description": "Crie ÃĄlbuns partilhados para partilhar fotos e vídeos com pessoas da sua rede.", "sharing_page_empty_list": "LISTA VAZIA", "sharing_sidebar_description": "Exibe o link para Partilhar na barra lateral", "sharing_silver_appbar_create_shared_album": "Criar ÃĄlbum partilhado", @@ -1932,7 +1962,7 @@ "show_password": "Mostrar palavra-passe", "show_person_options": "Exibir opçÃĩes da pessoa", "show_progress_bar": "Exibir barra de progresso", - "show_search_options": "Exibir opçÃĩes de pesquisa", + "show_search_options": "Mostrar opçÃĩes de pesquisa", "show_shared_links": "Mostrar links partilhados", "show_slideshow_transition": "Mostrar transiçÃĩes no Modo de ApresentaÃ§ÃŖo", "show_supporter_badge": "Emblema de apoiante", @@ -2027,6 +2057,7 @@ "third_party_resources": "Recursos de terceiros", "time": "Hora", "time_based_memories": "MemÃŗrias baseadas no tempo", + "time_based_memories_duration": "NÃēmero de segundos para exibir cada imagem.", "timeline": "Linha de tempo", "timezone": "Fuso horÃĄrio", "to_archive": "Arquivar", @@ -2085,7 +2116,7 @@ "unstack": "Desempilhar", "unstack_action_prompt": "{count} desempilhados", "unstacked_assets_count": "Desempilhados {count, plural, one {# ficheiro} other {# ficheiros}}", - "untagged": "Marcador removido", + "untagged": "Sem etiqueta", "up_next": "A seguir", "update_location_action_prompt": "Atualize a localizaÃ§ÃŖo de {count} ficheiros selecionados com:", "updated_at": "Atualizado a", @@ -2122,7 +2153,7 @@ "user_purchase_settings": "Comprar", "user_purchase_settings_description": "Gerir a sua compra", "user_role_set": "Definir {user} como {role}", - "user_usage_detail": "Detalhes de utilizaÃ§ÃŖo do utilizador", + "user_usage_detail": "Detalhes de utilizaÃ§ÃŖo por utilizador", "user_usage_stats": "Estatísticas de utilizaÃ§ÃŖo de conta", "user_usage_stats_description": "Ver estatísticas de utilizaÃ§ÃŖo de conta", "username": "Nome de utilizador", @@ -2167,6 +2198,7 @@ "welcome": "Bem-vindo(a)", "welcome_to_immich": "Bem-vindo(a) ao Immich", "wifi_name": "Nome da rede Wi-Fi", + "workflow": "Fluxo de trabalho", "wrong_pin_code": "CÃŗdigo PIN errado", "year": "Ano", "years_ago": "HÃĄ {years, plural, one {# ano} other {# anos}}", diff --git a/i18n/pt_BR.json b/i18n/pt_BR.json index 61dd5a7b75..c915344c55 100644 --- a/i18n/pt_BR.json +++ b/i18n/pt_BR.json @@ -17,7 +17,6 @@ "add_birthday": "Definir aniversÃĄrio", "add_endpoint": "Adicionar URL", "add_exclusion_pattern": "Adicionar padrÃŖo de exclusÃŖo", - "add_import_path": "Adicionar caminho de importaÃ§ÃŖo", "add_location": "Adicionar local", "add_more_users": "Adicionar mais usuÃĄrios", "add_partner": "Adicionar parceiro", @@ -28,12 +27,13 @@ "add_to_album": "Adicionar ao ÃĄlbum", "add_to_album_bottom_sheet_added": "Adicionado ao {album}", "add_to_album_bottom_sheet_already_exists": "JÃĄ existe em {album}", - "add_to_album_bottom_sheet_some_local_assets": "Alguns arquivos / mídias nÃŖo puderam ser adicionados ao ÃĄlbum", + "add_to_album_bottom_sheet_some_local_assets": "Alguns arquivos nÃŖo puderam ser adicionados ao ÃĄlbum", "add_to_album_toggle": "Alternar a seleÃ§ÃŖo de {album}", "add_to_albums": "Adicionar aos ÃĄlbuns", "add_to_albums_count": "Adicionar aos ÃĄlbuns ({count})", + "add_to_bottom_bar": "Incluir em", "add_to_shared_album": "Adicionar ao ÃĄlbum compartilhado", - "add_upload_to_stack": "Adicionar upload ao grupo", + "add_upload_to_stack": "Adicionar ao grupo", "add_url": "Adicionar URL", "added_to_archive": "Adicionado ao arquivo", "added_to_favorites": "Adicionado aos favoritos", @@ -112,13 +112,17 @@ "jobs_failed": "{jobCount, plural, one {# falhou} other {# falharam}}", "library_created": "Criado biblioteca: {library}", "library_deleted": "Biblioteca excluída", - "library_import_path_description": "Especifique uma pasta para importar. Esta pasta, incluindo subpastas, serÃĄ escaneada em busca de imagens e vídeos.", + "library_details": "Detalhes da biblioteca", + "library_folder_description": "Escolha uma pasta para importar. Esta pasta e todas suas sub pastas serÃŖo analisadas em busca de imagens e vídeos.", + "library_remove_exclusion_pattern_prompt": "Tem certeza de que deseja remover esse padrÃŖo de exclusÃŖo?", + "library_remove_folder_prompt": "Tem certeza de que deseja remover esta pasta de importaÃ§ÃŖo?", "library_scanning": "VerificaÃ§ÃŖo PeriÃŗdica", "library_scanning_description": "Configurar verificaÃ§ÃŖo periÃŗdica da biblioteca", "library_scanning_enable_description": "Habilitar verificaÃ§ÃŖo periÃŗdica da biblioteca", "library_settings": "Biblioteca Externa", "library_settings_description": "Gerenciar configuraçÃĩes de biblioteca externa", "library_tasks_description": "Verificar se hÃĄ arquivos novos ou modificados nas bibliotecas externas", + "library_updated": "Biblioteca atualizada", "library_watching_enable_description": "Observe bibliotecas externas para alteraçÃĩes de arquivos", "library_watching_settings": "ObservaÃ§ÃŖo de biblioteca [EXPERIMENTAL]", "library_watching_settings_description": "Observe automaticamente os arquivos alterados", @@ -155,15 +159,17 @@ "machine_learning_min_recognized_faces": "Mínimo de rostos reconhecidos", "machine_learning_min_recognized_faces_description": "O nÃēmero mínimo de rostos reconhecidos para uma pessoa ser criada. Aumentar isso torna o Reconhecimento Facial mais preciso, ao custo de aumentar a chance de um rosto nÃŖo ser atribuído a uma pessoa.", "machine_learning_ocr": "OCR", - "machine_learning_ocr_description": "Usar machine learning para reconhecer textos em imagens", + "machine_learning_ocr_description": "Usar aprendizado de mÃĄquina para reconhecer textos em imagens", "machine_learning_ocr_enabled": "Habilitar OCR", - "machine_learning_ocr_enabled_description": "Se desabilitado, imagens nÃŖo serÃŖo submetidas a reconhecimento de texto.", + "machine_learning_ocr_enabled_description": "Se desabilitado, imagens nÃŖo serÃŖo processadas pelo reconhecimento de texto.", "machine_learning_ocr_max_resolution": "ResoluÃ§ÃŖo mÃĄxima", - "machine_learning_ocr_max_resolution_description": "PrÊvias acima dessa resoluÃ§ÃŖo serÃŖo redimensionadas com a preservaÃ§ÃŖo da proporÃ§ÃŖo da imagem. Valores maiores sÃŖo mais precisos, mas levam mais tempo para serem processados e usam mais memÃŗria.", + "machine_learning_ocr_max_resolution_description": "PrÊvias acima dessa resoluÃ§ÃŖo serÃŖo redimensionadas preservando a proporÃ§ÃŖo da imagem. Valores maiores sÃŖo mais precisos, mas levam mais tempo para serem processados e usam mais memÃŗria.", "machine_learning_ocr_min_detection_score": "PontuaÃ§ÃŖo mínima para detecÃ§ÃŖo", - "machine_learning_ocr_min_detection_score_description": "PontuaÃ§ÃŖo mínima de confianÃ§ÃĄ para o texto ser detectado de 0 a 1. Valores mais baixos detectarÃŖo mais texto mas podem resultar em falsos positivos.", + "machine_learning_ocr_min_detection_score_description": "PontuaÃ§ÃŖo mínima de confiança para o texto ser detectado de 0 a 1. Valores mais baixos detectarÃŖo mais texto mas podem resultar em falsos positivos.", "machine_learning_ocr_min_recognition_score": "PontuaÃ§ÃŖo mínima de reconhecimento", "machine_learning_ocr_min_score_recognition_description": "PontuaÃ§ÃŖo mínima de confiança para o texto ser detectado de 0 a 1. Valores mais baixos reconhecerÃŖo mais textos mas podem resultar em falsos positivos.", + "machine_learning_ocr_model": "Modelo OCR", + "machine_learning_ocr_model_description": "Os modelos do servidor sÃŖo mais precisos do que os modelos do dispositivo mÃŗvel, mas demoram mais para processar e usam mais memÃŗria.", "machine_learning_settings": "ConfiguraçÃĩes de aprendizado de mÃĄquina", "machine_learning_settings_description": "Gerenciar recursos e configuraçÃĩes do aprendizado de mÃĄquina", "machine_learning_smart_search": "Pesquisa Inteligente", @@ -171,6 +177,10 @@ "machine_learning_smart_search_enabled": "Habilitar a Pesquisa Inteligente", "machine_learning_smart_search_enabled_description": "Se desativado, as imagens nÃŖo serÃŖo codificadas para pesquisa inteligente.", "machine_learning_url_description": "A URL do servidor de aprendizado de mÃĄquina. Se mais de uma URL for fornecida, elas serÃŖo tentadas, uma de cada vez e na ordem indicada, atÊ que uma responda com sucesso. Servidores que nÃŖo responderem serÃŖo ignorados temporariamente atÊ voltarem a estar conectados.", + "maintenance_settings": "ManutenÃ§ÃŖo", + "maintenance_settings_description": "Coloque o Immich em modo de manutenÃ§ÃŖo.", + "maintenance_start": "Iniciar modo de manutenÃ§ÃŖo", + "maintenance_start_error": "Ocorreu um erro ao iniciar o modo de manutenÃ§ÃŖo.", "manage_concurrency": "Gerenciar simultaneidade", "manage_log_settings": "Gerenciar configuraçÃĩes de log", "map_dark_style": "Tema Escuro", @@ -255,6 +265,7 @@ "oauth_storage_quota_default_description": "Cota em GiB que serÃĄ usada caso esta declaraÃ§ÃŖo nÃŖo seja fornecida.", "oauth_timeout": "Tempo Limite de RequisiÃ§ÃŖo", "oauth_timeout_description": "Tempo limite para requisiçÃĩes, em milissegundos", + "ocr_job_description": "Usa machine learning para reconhecer texto em imagens", "password_enable_description": "Login com e-mail e senha", "password_settings": "Senha de acesso", "password_settings_description": "Gerenciar configuraçÃĩes de login e senha", @@ -427,6 +438,7 @@ "age_months": "Idade {months, plural, one {# mÃĒs} other {# meses}}", "age_year_months": "Idade 1 ano e {months, plural, one {# mÃĒs} other {# meses}}", "age_years": "{years, plural, other {Idade #}}", + "album": "Álbum", "album_added": "Álbum adicionado", "album_added_notification_setting_description": "Receba uma notificaÃ§ÃŖo por e-mail quando vocÃĒ for adicionado a um ÃĄlbum compartilhado", "album_cover_updated": "Capa do ÃĄlbum atualizada", @@ -472,6 +484,7 @@ "allow_edits": "Permitir ediçÃĩes", "allow_public_user_to_download": "Permitir que usuÃĄrios pÃēblicos baixem os arquivos", "allow_public_user_to_upload": "Permitir que usuÃĄrios pÃēblicos enviem novos arquivos", + "allowed": "Permitido", "alt_text_qr_code": "Imagem do cÃŗdigo QR", "anti_clockwise": "Anti-horÃĄrio", "api_key": "Chave de API", @@ -482,10 +495,10 @@ "app_bar_signout_dialog_content": "Tem certeza de que deseja sair?", "app_bar_signout_dialog_ok": "Sim", "app_bar_signout_dialog_title": "Sair", - "app_download_links": "Links de Download de App", + "app_download_links": "Links para baixar o aplicativo", "app_settings": "ConfiguraçÃĩes do Aplicativo", "app_stores": "Loja de Aplicativos", - "app_update_available": "AtualizaçÃĩes de apps disponíveis", + "app_update_available": "Uma atualizaÃ§ÃŖo para o aplicativo estÃĄ disponível", "appears_in": "Aparece em", "apply_count": "Aplicar ({count, number})", "archive": "Arquivar", @@ -493,7 +506,7 @@ "archive_or_unarchive_photo": "Arquivar ou desarquivar foto", "archive_page_no_archived_assets": "Nenhum arquivo encontrado", "archive_page_title": "Arquivados ({count})", - "archive_size": "Tamanho do arquivo", + "archive_size": "Tamanho do arquivamento", "archive_size_description": "Configure o tamanho do arquivo para baixar (em GiB)", "archived": "Arquivado", "archived_count": "{count, plural, one {# Arquivado} other {# Arquivados}}", @@ -558,7 +571,7 @@ "background_backup_running_error": "NÃŖo Ê possível iniciar o backup manual agora pois o backup em segundo plano jÃĄ estÃĄ sendo executado", "background_location_permission": "PermissÃŖo de localizaÃ§ÃŖo em segundo plano", "background_location_permission_content": "Para que seja possível trocar o endereço quando estiver executando em segundo plano, o Immich deve *sempre* ter a permissÃŖo de localizaÃ§ÃŖo precisa para que o aplicativo consiga ler o nome da rede Wi-Fi", - "background_options": "OpçÃĩes de Plano de Fundo", + "background_options": "OpçÃĩes de segundo plano", "backup": "Backup", "backup_album_selection_page_albums_device": "Álbuns no dispositivo ({count})", "backup_album_selection_page_albums_tap": "Toque para incluir, toque duas vezes para excluir", @@ -569,7 +582,7 @@ "backup_albums_sync": "Backup de sincronizaÃ§ÃŖo de ÃĄlbuns", "backup_all": "Todos", "backup_background_service_backup_failed_message": "Falha ao fazer backup. Tentando novamenteâ€Ļ", - "backup_background_service_complete_notification": "Backup de ativo completado", + "backup_background_service_complete_notification": "Backup dos arquivos concluído", "backup_background_service_connection_failed_message": "Falha na conexÃŖo com o servidor. Tentando novamenteâ€Ļ", "backup_background_service_current_upload_notification": "Enviando {filename}", "backup_background_service_default_notification": "Verificando se hÃĄ novos arquivosâ€Ļ", @@ -679,6 +692,8 @@ "change_password_description": "Esta Ê a primeira vez que vocÃĒ estÃĄ acessando o sistema ou foi feita uma solicitaÃ§ÃŖo para alterar sua senha. Por favor, insira a nova senha abaixo.", "change_password_form_confirm_password": "Confirme a senha", "change_password_form_description": "OlÃĄ {name},\n\nEsta Ê a primeira vez que vocÃĒ estÃĄ acessando o sistema ou foi feita uma solicitaÃ§ÃŖo para alterar sua senha. Por favor, insira a nova senha abaixo.", + "change_password_form_log_out": "Desconectar todos os outros dispositivos", + "change_password_form_log_out_description": "É recomendÃĄvel desconectar todos os outros dispositivos", "change_password_form_new_password": "Nova Senha", "change_password_form_password_mismatch": "As senhas nÃŖo estÃŖo iguais", "change_password_form_reenter_new_password": "Confirme a nova senha", @@ -686,7 +701,7 @@ "change_your_password": "Alterar sua senha", "changed_visibility_successfully": "Visibilidade alterada com sucesso", "charging": "Carregando", - "charging_requirement_mobile_backup": "Backups em plano de fundo requerem que o dispositivo esteja sendo carregado", + "charging_requirement_mobile_backup": "Backups em segundo plano requerem que o dispositivo esteja sendo carregado", "check_corrupt_asset_backup": "Verifique se hÃĄ backups corrompidos", "check_corrupt_asset_backup_button": "Verificar", "check_corrupt_asset_backup_description": "Execute esta verificaÃ§ÃŖo somente em uma rede Wi-Fi e quando o backup de todos os arquivos jÃĄ estiver concluído. O processo demora alguns minutos.", @@ -786,6 +801,7 @@ "daily_title_text_date_year": "E, dd MMM, yyyy", "dark": "Escuro", "dark_theme": "Usar tema escuro", + "date": "Data", "date_after": "Data apÃŗs", "date_and_time": "Data e Hora", "date_before": "Data antes", @@ -888,8 +904,6 @@ "edit_description_prompt": "Por favor selecione uma nova descriÃ§ÃŖo:", "edit_exclusion_pattern": "Editar o padrÃŖo de exclusÃŖo", "edit_faces": "Editar rostos", - "edit_import_path": "Editar caminho de importaÃ§ÃŖo", - "edit_import_paths": "Editar caminhos de importaÃ§ÃŖo", "edit_key": "Editar chave", "edit_link": "Editar link", "edit_location": "Editar LocalizaÃ§ÃŖo", @@ -961,8 +975,8 @@ "failed_to_stack_assets": "Falha ao agrupar arquivos", "failed_to_unstack_assets": "Falha ao remover arquivos do grupo", "failed_to_update_notification_status": "Falha ao atualizar o status da notificaÃ§ÃŖo", - "import_path_already_exists": "Este caminho de importaÃ§ÃŖo jÃĄ existe.", "incorrect_email_or_password": "E-mail ou senha incorretos", + "library_folder_already_exists": "Este caminho de importaÃ§ÃŖo jÃĄ existe.", "paths_validation_failed": "A validaÃ§ÃŖo de {paths, plural, one {# caminho falhou} other {# caminhos falharam}}", "profile_picture_transparent_pixels": "As imagens de perfil nÃŖo podem ter pixels transparentes. Aumente o zoom e/ou mova a imagem.", "quota_higher_than_disk_size": "VocÃĒ definiu uma cota maior do que o tamanho do disco", @@ -971,7 +985,6 @@ "unable_to_add_assets_to_shared_link": "NÃŖo Ê possível adicionar arquivos ao link compartilhado", "unable_to_add_comment": "NÃŖo foi possível adicionar o comentÃĄrio", "unable_to_add_exclusion_pattern": "NÃŖo foi possível adicionar o padrÃŖo de exclusÃŖo", - "unable_to_add_import_path": "NÃŖo foi possível adicionar o caminho de importaÃ§ÃŖo", "unable_to_add_partners": "NÃŖo foi possível adicionar parceiros", "unable_to_add_remove_archive": "NÃŖo Ê possível {archived, select, true {remove asset from} other {add asset to}} arquivar", "unable_to_add_remove_favorites": "NÃŖo foi possível {favorite, select, true {adicionar o arquivo aos} other {remover o arquivo dos}} favoritos", @@ -994,12 +1007,10 @@ "unable_to_delete_asset": "NÃŖo foi possível deletar o arquivo", "unable_to_delete_assets": "Erro ao excluir arquivos", "unable_to_delete_exclusion_pattern": "NÃŖo foi possível deletar o padrÃŖo de exclusÃŖo", - "unable_to_delete_import_path": "NÃŖo foi possível deletar o caminho de importaÃ§ÃŖo", "unable_to_delete_shared_link": "NÃŖo foi possível deletar o link compartilhado", "unable_to_delete_user": "NÃŖo foi possível deletar o usuÃĄrio", "unable_to_download_files": "NÃŖo foi possível baixar os arquivos", "unable_to_edit_exclusion_pattern": "NÃŖo foi possível editar o padrÃŖo de exclusÃŖo", - "unable_to_edit_import_path": "NÃŖo foi possível editar o caminho de importaÃ§ÃŖo", "unable_to_empty_trash": "NÃŖo foi possível esvaziar a lixeira", "unable_to_enter_fullscreen": "NÃŖo foi possível entrar em modo de tela cheia", "unable_to_exit_fullscreen": "NÃŖo foi possível sair do modo de tela cheia", @@ -1050,6 +1061,7 @@ "unable_to_update_user": "NÃŖo foi possível atualizar o usuÃĄrio", "unable_to_upload_file": "NÃŖo foi possível enviar o arquivo" }, + "exclusion_pattern": "PadrÃŖo de exclusÃŖo", "exif": "Exif", "exif_bottom_sheet_description": "Adicionar descriÃ§ÃŖo...", "exif_bottom_sheet_description_error": "Erro ao alterar a descriÃ§ÃŖo", @@ -1094,6 +1106,7 @@ "features_setting_description": "Gerenciar as funcionalidades da aplicaÃ§ÃŖo", "file_name": "Nome do arquivo", "file_name_or_extension": "Nome do arquivo ou extensÃŖo", + "file_size": "Tamanho do arquivo", "filename": "Nome do arquivo", "filetype": "Tipo de arquivo", "filter": "Filtro", @@ -1189,6 +1202,8 @@ "import_path": "Caminho de importaÃ§ÃŖo", "in_albums": "Em {count, plural, one {# ÃĄlbum} other {# ÃĄlbuns}}", "in_archive": "Arquivado", + "in_year": "Em {year}", + "in_year_selector": "Em", "include_archived": "Incluir arquivados", "include_shared_albums": "Incluir ÃĄlbuns compartilhados", "include_shared_partner_assets": "Incluir arquivos compartilhados por parceiros", @@ -1225,6 +1240,7 @@ "language_setting_description": "Selecione seu Idioma preferido", "large_files": "Arquivos Grandes", "last": "Último", + "last_months": "{count, plural, one {Last month} other {Last # months}}", "last_seen": "Visto pela ultima vez", "latest_version": "VersÃŖo mais recente", "latitude": "Latitude", @@ -1234,6 +1250,8 @@ "let_others_respond": "Permitir respostas", "level": "Nível", "library": "Biblioteca", + "library_add_folder": "Adicionar pasta", + "library_edit_folder": "Editar pasta", "library_options": "OpçÃĩes da biblioteca", "library_page_device_albums": "Álbuns no Dispositivo", "library_page_new_album": "Novo album", @@ -1257,6 +1275,7 @@ "local_media_summary": "Resumo das mídias locais", "local_network": "Rede local", "local_network_sheet_info": "O aplicativo irÃĄ se conectar ao servidor atravÊs deste endereço quando estiver na rede Wi-Fi especificada", + "location": "LocalizaÃ§ÃŖo", "location_permission": "PermissÃŖo de localizaÃ§ÃŖo", "location_permission_content": "Para utilizar a funÃ§ÃŖo de troca automÃĄtica de URL Ê necessÃĄrio a permissÃŖo de localizaÃ§ÃŖo precisa, para que seja possível ler o nome da rede Wi-Fi", "location_picker_choose_on_map": "Escolha no mapa", @@ -1272,7 +1291,7 @@ "logged_in_as": "UsuÃĄrio atual: {user}", "logged_out_all_devices": "Saiu de todos os dispositivos", "logged_out_device": "Dispositivo desconectado", - "login": "Iniciar sessÃŖo", + "login": "Entrar", "login_disabled": "Login desativado", "login_form_api_exception": "Erro de API. Verifique a URL do servidor e tente novamente.", "login_form_back_button_text": "Voltar", @@ -1297,21 +1316,30 @@ "login_password_changed_success": "Senha atualizada com sucesso", "logout_all_device_confirmation": "Tem certeza de que deseja sair de todos os dispositivos?", "logout_this_device_confirmation": "Tem certeza de que deseja sair deste dispositivo?", - "logs": "Logs", + "logs": "Registros", "longitude": "Longitude", "look": "Estilo", "loop_videos": "Repetir vídeos", "loop_videos_description": "Ative para repetir os vídeos automaticamente durante a exibiÃ§ÃŖo.", "main_branch_warning": "VocÃĒ estÃĄ utilizando uma versÃŖo de desenvolvimento. É fortemente recomendado que utilize uma versÃŖo estÃĄvel!", "main_menu": "Menu Principal", + "maintenance_description": "O Immich foi colocado em modo de manutenÃ§ÃŖo.", + "maintenance_end": "Desativar modo de manutenÃ§ÃŖo", + "maintenance_end_error": "Ocorreu um erro ao desativar o modo de manutenÃ§ÃŖo.", + "maintenance_logged_in_as": "UsuÃĄrio atual: {user}", + "maintenance_title": "Temporariamente Indisponível", "make": "Marca", "manage_geolocation": "Gerenciar localizaÃ§ÃŖo", + "manage_media_access_rationale": "Essa permissÃŖo Ê necessÃĄria para o correto gerenciamento da movimentaÃ§ÃŖo de mídias para a lixeira e para a sua restauraÃ§ÃŖo a partir dela.", + "manage_media_access_settings": "Abrir configuraçÃĩes", + "manage_media_access_subtitle": "Permita que o aplicativo Immich gerencie e mova arquivos de mídia.", + "manage_media_access_title": "Acesso para gerenciar mídias", "manage_shared_links": "Gerir links partilhados", "manage_sharing_with_partners": "Gerenciar compartilhamento com parceiros", "manage_the_app_settings": "Gerenciar configuraçÃĩes do app", "manage_your_account": "Gerenciar sua conta", "manage_your_api_keys": "Gerenciar suas Chaves de API", - "manage_your_devices": "Gerenciar seus dispositivos logados", + "manage_your_devices": "Gerenciar seus dispositivos conectados", "manage_your_oauth_connection": "Gerenciar sua conexÃŖo OAuth", "map": "Mapa", "map_assets_in_bounds": "{count, plural, =0 {Sem fotos nesta ÃĄrea} one {# foto} other {# fotos}}", @@ -1369,6 +1397,7 @@ "more": "Mais", "move": "Mover", "move_off_locked_folder": "Mover para fora da pasta com senha", + "move_to": "Mover para", "move_to_lock_folder_action_prompt": "{count} adicionados à pasta com senha", "move_to_locked_folder": "Mover para a pasta com senha", "move_to_locked_folder_confirmation": "Estas fotos e vídeos serÃŖo removidos de todos os ÃĄlbuns e somente poderÃŖo ser visualizados de dentro da pasta com senha", @@ -1398,6 +1427,7 @@ "new_pin_code": "Novo cÃŗdigo PIN", "new_pin_code_subtitle": "Esta Ê a primeira vez que estÃĄ acessando a pasta com senha. Crie um cÃŗdigo PIN para acessar esta pÃĄgina de forma segura", "new_timeline": "Nova Linha do Tempo", + "new_update": "Nova atualizaÃ§ÃŖo", "new_user_created": "Novo usuÃĄrio criado", "new_version_available": "NOVA VERSÃO DISPONÍVEL", "newest_first": "Mais recente primeiro", @@ -1413,6 +1443,7 @@ "no_cast_devices_found": "Nenhum dispositivo encontrado", "no_checksum_local": "Nenhum checksum disponível - nÃŖo foi possível carregar os arquivos locais", "no_checksum_remote": "Nenhum checksum disponível - nÃŖo foi possível carregar os arquivos remotos", + "no_devices": "Nenhum dispostivio autorizado", "no_duplicates_found": "Nenhuma duplicidade foi encontrada.", "no_exif_info_available": "Sem informaçÃĩes exif disponíveis", "no_explore_results_message": "Envie mais fotos para explorar sua coleÃ§ÃŖo.", @@ -1429,6 +1460,7 @@ "no_results_description": "Tente um sinônimo ou uma palavra-chave mais geral", "no_shared_albums_message": "Crie um ÃĄlbum para compartilhar fotos e vídeos com pessoas em sua rede", "no_uploads_in_progress": "Nenhum envio em progresso", + "not_allowed": "NÃŖo permitido", "not_available": "N/A", "not_in_any_album": "Fora de ÃĄlbum", "not_selected": "NÃŖo selecionado", @@ -1445,6 +1477,7 @@ "oauth": "OAuth", "obtainium_configurator": "Configurador Obtainium", "obtainium_configurator_instructions": "Use o Obtainium para instalar e atualizar o aplicativo Android diretamente do lançamento do Immich no GitHub. Crie uma chave API e selecione a variante para criar o seu link de configuraÃ§ÃŖo Obtainium", + "ocr": "OCR", "official_immich_resources": "Recursos oficiais do Immich", "offline": "Desconectado", "offset": "Deslocamento", @@ -1538,6 +1571,8 @@ "photos_count": "{count, plural, one {{count, number} Foto} other {{count, number} Fotos}}", "photos_from_previous_years": "Fotos de anos anteriores", "pick_a_location": "Selecione uma localizaÃ§ÃŖo", + "pick_custom_range": "Intervalo customizado", + "pick_date_range": "Selecione o intervalo de datas", "pin_code_changed_successfully": "CÃŗdigo PIN alterado com sucesso", "pin_code_reset_successfully": "CÃŗdigo PIN redefinido com sucesso", "pin_code_setup_successfully": "CÃŗdigo PIN criado com sucesso", @@ -1568,7 +1603,7 @@ "primary": "PrimÃĄrio", "privacy": "Privacidade", "profile": "Perfil", - "profile_drawer_app_logs": "Logs", + "profile_drawer_app_logs": "Registros", "profile_drawer_client_server_up_to_date": "Cliente e Servidor estÃŖo atualizados", "profile_drawer_github": "GitHub", "profile_drawer_readonly_mode": "Modo apenas leitura habilidato. DÃĒ um toque prolongado na foto do usuÃĄrio para sair deste modo.", @@ -1618,7 +1653,7 @@ "read_changelog": "Ler Novidades", "readonly_mode_disabled": "Modo apenas visualizaÃ§ÃŖo desativado", "readonly_mode_enabled": "Modo apenas visualizaÃ§ÃŖo ativado", - "ready_for_upload": "Pronto para upload", + "ready_for_upload": "Pronto para enviar", "reassign": "Reatribuir", "reassigned_assets_to_existing_person": "{count, plural, one {# arquivo reatribuído} other {# arquivos reatribuídos}} a {name, select, null {uma pessoa} other {{name}}}", "reassigned_assets_to_new_person": "{count, plural, one {# arquivo reatribuído} other {# arquivos reatribuídos}} a uma nova pessoa", @@ -1688,6 +1723,7 @@ "reset_sqlite_confirmation": "Realmente deseja redefinir o banco de dados SQLite? SerÃĄ necessÃĄrio sair e entrar em sua conta novamente para ressincronizar os dados", "reset_sqlite_success": "Banco de dados SQLite redefinido com sucesso", "reset_to_default": "Redefinir para a configuraÃ§ÃŖo padrÃŖo", + "resolution": "ResoluÃ§ÃŖo", "resolve_duplicates": "Resolver duplicatas", "resolved_all_duplicates": "Todas duplicidades resolvidas", "restore": "Restaurar", @@ -1706,6 +1742,7 @@ "running": "Executando", "save": "Salvar", "save_to_gallery": "Salvar na galeria", + "saved": "Salvo", "saved_api_key": "Chave de API salva", "saved_profile": "Perfil Salvo", "saved_settings": "ConfiguraçÃĩes salvas", @@ -1722,6 +1759,8 @@ "search_by_description_example": "Dia de caminhada no Ibirapuera", "search_by_filename": "Pesquisa por nome de arquivo ou extensÃŖo", "search_by_filename_example": "Por exemplo, IMG_1234.JPG ou PNG", + "search_by_ocr": "Buscar por OCR", + "search_by_ocr_example": "CafÊ com leite", "search_camera_lens_model": "Buscar por modelo de lente...", "search_camera_make": "Pesquisar cÃĸmeras da marca...", "search_camera_model": "Pesquisar cÃĸmera do modelo...", @@ -1739,6 +1778,7 @@ "search_filter_location_title": "Selecione a localizaÃ§ÃŖo", "search_filter_media_type": "Tipo de mídia", "search_filter_media_type_title": "Selecione o tipo de mídia", + "search_filter_ocr": "Buscar por OCR", "search_filter_people_title": "Selecione pessoas", "search_for": "Pesquisar por", "search_for_existing_person": "Pesquisar por pessoas", @@ -1762,7 +1802,7 @@ "search_places": "Pesquisar lugares", "search_rating": "Pesquisar por classificaÃ§ÃŖo...", "search_result_page_new_search_hint": "Nova pesquisa", - "search_settings": "ConfiguraçÃĩes de pesquisa", + "search_settings": "Pesquisar nas ConfiguraçÃĩes", "search_state": "Pesquisar estado...", "search_suggestion_list_smart_search_hint_1": "A pesquisa inteligente Ê utilizada por padrÃŖo, para pesquisar por metadados, use a sintaxe ", "search_suggestion_list_smart_search_hint_2": "m:seu-termo-de-pesquisa", @@ -1800,6 +1840,8 @@ "server_offline": "Servidor Indisponível", "server_online": "Servidor Disponível", "server_privacy": "Privacidade do servidor", + "server_restarting_description": "Esta pÃĄgina serÃĄ atualizada em breve.", + "server_restarting_title": "O servidor estÃĄ reiniciando", "server_stats": "Status do servidor", "server_update_available": "Uma atualizaÃ§ÃŖo para o servidor estÃĄ disponível", "server_version": "VersÃŖo do servidor", @@ -2011,7 +2053,9 @@ "theme_setting_three_stage_loading_title": "Ative o carregamento em trÃĒs estÃĄgios", "they_will_be_merged_together": "Eles serÃŖo mesclados", "third_party_resources": "Recursos de terceiros", + "time": "Hora", "time_based_memories": "MemÃŗrias baseadas no tempo", + "time_based_memories_duration": "NÃēmero de segundos para exibir cada imagem.", "timeline": "Linha do tempo", "timezone": "Fuso horÃĄrio", "to_archive": "Arquivar", @@ -2152,6 +2196,7 @@ "welcome": "Bem-vindo(a)", "welcome_to_immich": "Bem-vindo(a) ao Immich", "wifi_name": "Nome do Wi-Fi", + "workflow": "AutomaÃ§ÃŖo", "wrong_pin_code": "CÃŗdigo PIN incorreto", "year": "Ano", "years_ago": "{years, plural, one {# ano} other {# anos}} atrÃĄs", diff --git a/i18n/ro.json b/i18n/ro.json index 3d08b27d75..fc53f3caac 100644 --- a/i18n/ro.json +++ b/i18n/ro.json @@ -17,7 +17,6 @@ "add_birthday": "Adaugă zi de naștere", "add_endpoint": "Adaugă punct final", "add_exclusion_pattern": "Adăugă un model de excludere", - "add_import_path": "Adaugă o cale de import", "add_location": "Adaugă locație", "add_more_users": "Adaugă mai mulți utilizatori", "add_partner": "Adaugă partener", @@ -112,7 +111,6 @@ "jobs_failed": "{jobCount, plural, other {# eșuat}}", "library_created": "Librărie creată: {library}", "library_deleted": "Bibliotecă ștearsă", - "library_import_path_description": "Specificați un folder pentru a ÃŽl importa. Acest folder, inclusiv sub-folderele, vor fi scanate pentru imagini și videoclipuri.", "library_scanning": "Scanare periodică", "library_scanning_description": "Configurează scanarea periodică pentru bibliotecă", "library_scanning_enable_description": "Activează scanarea periodică pentru bibliotecă", @@ -348,7 +346,7 @@ "transcoding_max_b_frames": "Număr maxim de cadre B", "transcoding_max_b_frames_description": "Valorile mai mari ÃŽmbunătățesc eficiența compresiei, dar ÃŽncetinesc codarea. Este posibil să nu fie compatibile cu accelerarea hardware pe dispozitivele mai vechi. 0 dezactivează cadrele B, ÃŽn timp ce -1 setează această valoare automat.", "transcoding_max_bitrate": "Rata de biți maximă", - "transcoding_max_bitrate_description": "Setarea unei rate maxime de biți poate face dimensiunile fișierelor mai previzibile, cu un cost minor asupra calității. La 720p, valorile tipice sunt 2600 kbit/s pentru VP9 sau HEVC, sau 4500 kbit/s pentru H.264. Dezactivat dacă este setat la 0.", + "transcoding_max_bitrate_description": "Setarea unei rate maxime de biți poate face dimensiunile fișierelor mai previzibile, cu un cost minor asupra calității. La 720p, valorile tipice sunt 2600 kbit/s pentru VP9 sau HEVC, sau 4500 kbit/s pentru H.264. Dezactivat dacă este setat la 0. Cand o unitate nu este specificata, k (pentru kbit/s) este asumat.In acest caz 5000,5000k si 5M (pentru Mbit/s) sunt echivalente.", "transcoding_max_keyframe_interval": "Interval maxim ÃŽntre cadre cheie", "transcoding_max_keyframe_interval_description": "Setează distanța maximă ÃŽntre cadrele cheie. Valorile mai mici reduc eficiența compresiei, dar ÃŽmbunătățesc timpii de căutare și pot ÃŽmbunătăți calitatea ÃŽn scenele cu mișcare rapidă. 0 setează această valoare automat.", "transcoding_optimal_description": "Videoclipuri cu rezoluție mai mare decÃĸt cea țintă sau care nu sunt ÃŽntr-un format acceptat", @@ -366,7 +364,7 @@ "transcoding_target_resolution": "Rezoluția țintă", "transcoding_target_resolution_description": "Rezoluțiile mai mari pot păstra mai multe detalii, dar necesită mai mult timp pentru codare, au dimensiuni mai mari ale fișierelor și pot reduce răspunsul aplicației.", "transcoding_temporal_aq": "AQ temporal", - "transcoding_temporal_aq_description": "Se aplică doar la NVENC. Îmbunătățește calitatea scenelor cu detalii mari și mișcare redusă. Poate să nu fie compatibil cu dispozitivele mai vechi.", + "transcoding_temporal_aq_description": "Se aplică doar la NVENC.Cuantificarea adaptivă temporală imbunătățește calitatea scenelor cu detalii mari și mișcare redusă. Poate să nu fie compatibil cu dispozitivele mai vechi.", "transcoding_threads": "Fire", "transcoding_threads_description": "Valorile mai mari conduc la o codare mai rapidă, dar lasă mai puțin spațiu serverului pentru a procesa alte sarcini ÃŽn timp ce este activ. Această valoare nu ar trebui să fie mai mare decÃĸt numărul de nuclee CPU. Maximizați utilizarea dacă este setat la 0.", "transcoding_tone_mapping": "Mapare tonuri", @@ -417,11 +415,11 @@ "advanced_settings_prefer_remote_subtitle": "Unele dispozitive ÃŽncarcă extrem de lent miniaturile din resursele locale. Activați această setare pentru a ÃŽncărca imagini la distanță.", "advanced_settings_prefer_remote_title": "Preferă fotografii la distanță", "advanced_settings_proxy_headers_subtitle": "Definește antetele proxy pe care Immich ar trebui să le trimită cu fiecare solicitare de rețea", - "advanced_settings_proxy_headers_title": "Headere proxy personalizate", + "advanced_settings_proxy_headers_title": "Headere proxy personalizate [EXPERIMENTAL]", "advanced_settings_readonly_mode_subtitle": "Activează modul doar-citire, ÃŽn care fotografiile pot fi doar vizualizate, iar acțiuni precum selectarea mai multor imagini, partajarea, redarea pe alt dispozitiv sau ștergerea sunt dezactivate. Activează/Dezactivează modul doar-citire din avatarul utilizatorului de pe ecranul principal", "advanced_settings_readonly_mode_title": "Mod doar citire", "advanced_settings_self_signed_ssl_subtitle": "Omite verificare certificate SSL pentru distinația server-ului, necesar pentru certificate auto-semnate.", - "advanced_settings_self_signed_ssl_title": "Permite certificate SSL auto-semnate", + "advanced_settings_self_signed_ssl_title": "Permite certificate SSL auto-semnate [EXPERIMENTAL]", "advanced_settings_sync_remote_deletions_subtitle": "Ștergeți sau restaurați automat un element de pe acest dispozitiv atunci cÃĸnd acțiunea este efectuată pe web", "advanced_settings_sync_remote_deletions_title": "Sincronizează stergerile efectuate la distanță [EXPERIMENTAL]", "advanced_settings_tile_subtitle": "Setări avansate pentru utilizator", @@ -475,6 +473,7 @@ "allow_edits": "Permite editări", "allow_public_user_to_download": "Permite utilizatorului public să descarce", "allow_public_user_to_upload": "Permite utilizatorului public să ÃŽncarce", + "allowed": "Permis", "alt_text_qr_code": "Cod QR", "anti_clockwise": "În sens invers acelor de ceasornic", "api_key": "Cheie API", @@ -488,7 +487,7 @@ "app_download_links": "Linkuri de descărcare ÃŽn aplicație", "app_settings": "Setări aplicație", "app_stores": "Magazine de aplicații", - "app_update_available": "Este disponibilă o actualizare a aplicației", + "app_update_available": "Actualizarea aplicației disponibilă", "appears_in": "Apare ÃŽn", "apply_count": "Aplică ({count, number})", "archive": "Arhivă", @@ -711,7 +710,7 @@ "client_cert_invalid_msg": "Fisier cu certificat invalid sau parola este greșită", "client_cert_remove_msg": "Certificatul de client este șters", "client_cert_subtitle": "Este suportat doar formatul PKCS12 (.p12, .pfx). Importul/ștergerea certificatului este disponibil(ă) doar ÃŽnainte de autentificare", - "client_cert_title": "Certificat SSL pentru client", + "client_cert_title": "Certificat SSL pentru client [EXPERIMENTAL]", "clockwise": "În sensul acelor de ceas", "close": "Închideți", "collapse": "RestrÃĸngeți", @@ -894,8 +893,6 @@ "edit_description_prompt": "Vă rugăm să selectați o descriere nouă:", "edit_exclusion_pattern": "Editarea modelului de excludere", "edit_faces": "Editare fețe", - "edit_import_path": "Editare cale de import", - "edit_import_paths": "Editare căi de import", "edit_key": "Tastă de editare", "edit_link": "Editare link", "edit_location": "Editare locație", @@ -967,7 +964,6 @@ "failed_to_stack_assets": "Eșec la combinarea resurselor", "failed_to_unstack_assets": "Eșec la desfășurarea resurselor", "failed_to_update_notification_status": "Nu s-a putut actualiza starea notificării", - "import_path_already_exists": "Această cale de import există deja.", "incorrect_email_or_password": "E-mail sau parolă incorect/ă", "paths_validation_failed": "{paths, plural, one {# cale} other {# căi}} nu a trecut validarea", "profile_picture_transparent_pixels": "Pozele de profil nu pot avea pixeli transparenți. Te rugăm să mărești imaginea și/sau să o muți.", @@ -977,7 +973,6 @@ "unable_to_add_assets_to_shared_link": "Imposibil de adăugat resurse la link-ul partajat", "unable_to_add_comment": "Imposibil de adăugat comentariu", "unable_to_add_exclusion_pattern": "Nu se poate adăuga modelul de excludere", - "unable_to_add_import_path": "Imposibil de adăugat calea de import", "unable_to_add_partners": "Nu se pot adăuga parteneri", "unable_to_add_remove_archive": "Nu se poate {archived, select, true {ÃŽndepărta resursa din} other {adăuga resursa ÃŽn}} arhivă", "unable_to_add_remove_favorites": "Nu se poate {favorite, select, true {adăuga resursa ÃŽn} other {ÃŽndepărta resursa din}} favorite", @@ -1000,12 +995,10 @@ "unable_to_delete_asset": "Nu poate fi ștearsă resursa", "unable_to_delete_assets": "Eroare la ștergerea resurselor", "unable_to_delete_exclusion_pattern": "Nu se poate șterge modelul de excludere", - "unable_to_delete_import_path": "Nu se poate șterge calea de import", "unable_to_delete_shared_link": "Nu se poate șterge linkul partajat", "unable_to_delete_user": "Nu se poate șterge userul", "unable_to_download_files": "Nu se pot descărca fișierele", "unable_to_edit_exclusion_pattern": "Nu se poate edita modelul de excludere", - "unable_to_edit_import_path": "Nu se poate edita calea de import", "unable_to_empty_trash": "Nu se poate goli coșul de gunoi", "unable_to_enter_fullscreen": "Nu se poate accesa ecranul complet", "unable_to_exit_fullscreen": "Imposibil de părăsit ecranul complet", @@ -1140,7 +1133,7 @@ "hash_asset": "Hash-ul resursei", "hashed_assets": "Resurse hashed", "hashing": "Generare hash", - "header_settings_add_header_tip": "Adăugați antet", + "header_settings_add_header_tip": "Adăugați header", "header_settings_field_validator_msg": "Valoarea nu poate fi goală", "header_settings_header_name_input": "Numele antetului", "header_settings_header_value_input": "Valoarea antetului", @@ -1389,8 +1382,8 @@ "my_albums": "Albumele mele", "name": "Nume", "name_or_nickname": "Nume sau poreclĮŽ", - "navigate": "Navighează/Navigare", - "navigate_to_time": "Mergi la Timp", + "navigate": "Navighează", + "navigate_to_time": "Navigheaza la Timp", "network_requirement_photos_upload": "Utilizați datele mobile pentru a face copii de rezervă ale fotografiilor", "network_requirement_videos_upload": "Utilizați datele mobile pentru a face copii de rezervă ale videoclipurilor", "network_requirements": "Cerințe privind rețeaua", diff --git a/i18n/ru.json b/i18n/ru.json index 52cd3adbc3..f6a342b735 100644 --- a/i18n/ru.json +++ b/i18n/ru.json @@ -17,7 +17,6 @@ "add_birthday": "ĐŖĐēĐ°ĐˇĐ°Ņ‚ŅŒ Đ´Đ°Ņ‚Ņƒ Ņ€ĐžĐļĐ´ĐĩĐŊĐ¸Ņ", "add_endpoint": "Đ”ĐžĐąĐ°Đ˛Đ¸Ņ‚ŅŒ Đ°Đ´Ņ€Đĩҁ", "add_exclusion_pattern": "Đ”ĐžĐąĐ°Đ˛Đ¸Ņ‚ŅŒ ŅˆĐ°ĐąĐģĐžĐŊ Đ¸ŅĐēĐģŅŽŅ‡ĐĩĐŊĐ¸Ņ", - "add_import_path": "Đ”ĐžĐąĐ°Đ˛Đ¸Ņ‚ŅŒ ĐŋŅƒŅ‚ŅŒ иĐŧĐŋĐžŅ€Ņ‚Đ°", "add_location": "Đ”ĐžĐąĐ°Đ˛Đ¸Ņ‚ŅŒ ĐŧĐĩŅŅ‚ĐžĐŋĐžĐģĐžĐļĐĩĐŊиĐĩ", "add_more_users": "Đ”ĐžĐąĐ°Đ˛Đ¸Ņ‚ŅŒ Đĩ҉ґ ĐŋĐžĐģŅŒĐˇĐžĐ˛Đ°Ņ‚ĐĩĐģĐĩĐš", "add_partner": "Đ”ĐžĐąĐ°Đ˛Đ¸Ņ‚ŅŒ ĐŋĐ°Ņ€Ņ‚ĐŊŅ‘Ņ€Đ°", @@ -32,6 +31,7 @@ "add_to_album_toggle": "ПĐĩŅ€ĐĩĐēĐģŅŽŅ‡Đ¸Ņ‚ŅŒ Đ˛Ņ‹Đ´ĐĩĐģĐĩĐŊиĐĩ Đ´ĐģŅ аĐģŅŒĐąĐžĐŧа {album}", "add_to_albums": "Đ”ĐžĐąĐ°Đ˛Đ¸Ņ‚ŅŒ в аĐģŅŒĐąĐžĐŧŅ‹", "add_to_albums_count": "Đ”ĐžĐąĐ°Đ˛Đ¸Ņ‚ŅŒ в аĐģŅŒĐąĐžĐŧŅ‹ ({count})", + "add_to_bottom_bar": "Đ”ĐžĐąĐ°Đ˛Đ¸Ņ‚ŅŒ в", "add_to_shared_album": "Đ”ĐžĐąĐ°Đ˛Đ¸Ņ‚ŅŒ в ĐžĐąŅ‰Đ¸Đš аĐģŅŒĐąĐžĐŧ", "add_upload_to_stack": "Đ—Đ°ĐŗŅ€ŅƒĐˇĐ¸Ņ‚ŅŒ и Đ´ĐžĐąĐ°Đ˛Đ¸Ņ‚ŅŒ в ĐŗŅ€ŅƒĐŋĐŋ҃", "add_url": "Đ”ĐžĐąĐ°Đ˛Đ¸Ņ‚ŅŒ URL", @@ -52,7 +52,7 @@ "backup_keep_last_amount": "КоĐģĐ¸Ņ‡ĐĩŅŅ‚Đ˛Đž Ņ…Ņ€Đ°ĐŊиĐŧҋ҅ Ņ€ĐĩСĐĩŅ€Đ˛ĐŊҋ҅ ĐēĐžĐŋиК ĐąĐ°ĐˇŅ‹ даĐŊĐŊҋ҅", "backup_onboarding_1_description": "Ņ…Ņ€Đ°ĐŊĐĩĐŊиĐĩ Đ´ĐžĐŋĐžĐģĐŊĐ¸Ņ‚ĐĩĐģҌĐŊОК вĐŊĐĩ҈ĐŊĐĩĐš ĐēĐžĐŋии в ОйĐģаĐēĐĩ иĐģи Đ´Ņ€ŅƒĐŗĐžĐŧ Ņ„Đ¸ĐˇĐ¸Ņ‡ĐĩҁĐēĐžĐŧ ĐŧĐĩҁ҂Đĩ.", "backup_onboarding_2_description": "Ņ…Ņ€Đ°ĐŊĐĩĐŊиĐĩ ĐžŅĐŊОвĐŊҋ҅ Ņ„Đ°ĐšĐģОв и Đ¸Ņ… ĐģĐžĐēаĐģҌĐŊОК ĐēĐžĐŋии ĐŊа Đ´Đ˛ŅƒŅ… Ņ€Đ°ĐˇĐŊҋ҅ Ņ‚Đ¸ĐŋĐ°Ņ… ĐŊĐžŅĐ¸Ņ‚ĐĩĐģĐĩĐš.", - "backup_onboarding_3_description": "ŅĐžĐˇĐ´Đ°ĐŊиĐĩ ҂Ҁґ҅ ĐēĐžĐŋиК даĐŊĐŊҋ҅, вĐēĐģŅŽŅ‡Đ°Ņ Đ¸ŅŅ…ĐžĐ´ĐŊŅ‹Đĩ Ņ„Đ°ĐšĐģŅ‹. 2 ĐģĐžĐēаĐģҌĐŊҋ҅ ĐēĐžĐŋии и 1 вĐŊĐĩ҈ĐŊŅŽŅŽ.", + "backup_onboarding_3_description": "ŅĐžĐˇĐ´Đ°ĐŊиĐĩ ҂Ҁґ҅ ĐēĐžĐŋиК даĐŊĐŊҋ҅, вĐēĐģŅŽŅ‡Đ°Ņ Đ¸ŅŅ…ĐžĐ´ĐŊŅ‹Đĩ Ņ„Đ°ĐšĐģŅ‹: 2 ĐģĐžĐēаĐģҌĐŊҋ҅ ĐēĐžĐŋии и 1 вĐŊĐĩ҈ĐŊŅŽŅŽ.", "backup_onboarding_description": "ДĐģŅ ĐŊĐ°Đ´Ņ‘ĐļĐŊОК ĐˇĐ°Ņ‰Đ¸Ņ‚Ņ‹ Ņ€ĐĩĐēĐžĐŧĐĩĐŊĐ´ŅƒĐĩŅ‚ŅŅ Đ¸ŅĐŋĐžĐģŅŒĐˇĐžĐ˛Đ°Ņ‚ŅŒ ŅŅ‚Ņ€Đ°Ņ‚ĐĩĐŗĐ¸ŅŽ Ņ€ĐĩСĐĩŅ€Đ˛Đ¸Ņ€ĐžĐ˛Đ°ĐŊĐ¸Ņ даĐŊĐŊҋ҅ 3-2-1. ДĐĩĐģĐ°ĐšŅ‚Đĩ ĐēĐžĐŋии ĐēаĐē ĐˇĐ°ĐŗŅ€ŅƒĐļĐĩĐŊĐŊҋ҅ Ņ„ĐžŅ‚ĐžĐŗŅ€Đ°Ņ„Đ¸Đš и видĐĩĐž, Ņ‚Đ°Đē и ĐąĐ°ĐˇŅ‹ даĐŊĐŊҋ҅ Immich.", "backup_onboarding_footer": "ДоĐŋĐžĐģĐŊĐ¸Ņ‚ĐĩĐģҌĐŊĐ°Ņ иĐŊŅ„ĐžŅ€ĐŧĐ°Ņ†Đ¸Ņ ĐŋĐž Ņ€ĐĩСĐĩŅ€Đ˛ĐŊĐžĐŧ҃ ĐēĐžĐŋĐ¸Ņ€ĐžĐ˛Đ°ĐŊĐ¸ŅŽ Immich Đ´ĐžŅŅ‚ŅƒĐŋĐŊа в Đ´ĐžĐē҃ĐŧĐĩĐŊŅ‚Đ°Ņ†Đ¸Đ¸.", "backup_onboarding_parts_title": "ĐĄŅ‚Ņ€Đ°Ņ‚ĐĩĐŗĐ¸Ņ 3-2-1 ĐŋĐžĐ´Ņ€Đ°ĐˇŅƒĐŧĐĩваĐĩŅ‚:", @@ -112,13 +112,17 @@ "jobs_failed": "{jobCount, plural, other {# ĐŊĐĩ ŅƒĐ´Đ°ĐģĐžŅŅŒ Đ˛Ņ‹ĐŋĐžĐģĐŊĐ¸Ņ‚ŅŒ}}", "library_created": "ХОСдаĐŊа ĐŊĐžĐ˛Đ°Ņ йийĐģĐ¸ĐžŅ‚ĐĩĐēа: {library}", "library_deleted": "БибĐģĐ¸ĐžŅ‚ĐĩĐēа ŅƒĐ´Đ°ĐģĐĩĐŊа", - "library_import_path_description": "ĐŖĐēаĐļĐ¸Ņ‚Đĩ ĐŋаĐŋĐē҃ Đ´ĐģŅ иĐŧĐŋĐžŅ€Ņ‚Đ°. Đ­Ņ‚Đ° ĐŋаĐŋĐēа и Đ˛ŅĐĩ вĐģĐžĐļĐĩĐŊĐŊŅ‹Đĩ ĐąŅƒĐ´ŅƒŅ‚ ĐŋŅ€ĐžŅĐēаĐŊĐ¸Ņ€ĐžĐ˛Đ°ĐŊŅ‹ ĐŊа ĐŊаĐģĐ¸Ņ‡Đ¸Đĩ Ņ„ĐžŅ‚Đž и видĐĩĐž.", + "library_details": "ĐŸĐ°Ņ€Đ°ĐŧĐĩ҂Ҁҋ йийĐģĐ¸ĐžŅ‚ĐĩĐēи", + "library_folder_description": "ĐŖĐēаĐļĐ¸Ņ‚Đĩ ĐŋŅƒŅ‚ŅŒ Đē ĐŋаĐŋĐēĐĩ Đ´ĐģŅ иĐŧĐŋĐžŅ€Ņ‚Đ°. Đ­Ņ‚Đ° ĐŋаĐŋĐēа, вĐēĐģŅŽŅ‡Đ°Ņ ĐŋОдĐŋаĐŋĐēи, ĐąŅƒĐ´ĐĩŅ‚ ĐŋŅ€ĐžŅĐēаĐŊĐ¸Ņ€ĐžĐ˛Đ°ĐŊа ĐŊа ĐŊаĐģĐ¸Ņ‡Đ¸Đĩ Ņ„ĐžŅ‚Đž и видĐĩĐž.", + "library_remove_exclusion_pattern_prompt": "ĐŖĐ´Đ°ĐģĐ¸Ņ‚ŅŒ ŅŅ‚ĐžŅ‚ ŅˆĐ°ĐąĐģĐžĐŊ Đ¸ŅĐēĐģŅŽŅ‡ĐĩĐŊĐ¸Ņ?", + "library_remove_folder_prompt": "ĐŖĐ´Đ°ĐģĐ¸Ņ‚ŅŒ ŅŅ‚Ņƒ ĐŋаĐŋĐē҃ иС ҁĐŋĐ¸ŅĐēа?", "library_scanning": "ПĐĩŅ€Đ¸ĐžĐ´Đ¸Ņ‡ĐĩҁĐēĐžĐĩ ҁĐēаĐŊĐ¸Ņ€ĐžĐ˛Đ°ĐŊиĐĩ", "library_scanning_description": "ĐĐ°ŅŅ‚Ņ€ĐžĐ¸Ņ‚ŅŒ ĐŋĐĩŅ€Đ¸ĐžĐ´Đ¸Ņ‡ĐĩҁĐēĐžĐĩ ҁĐēаĐŊĐ¸Ņ€ĐžĐ˛Đ°ĐŊиĐĩ йийĐģĐ¸ĐžŅ‚ĐĩĐēи", "library_scanning_enable_description": "ВĐēĐģŅŽŅ‡Đ¸Ņ‚ŅŒ ĐŋĐĩŅ€Đ¸ĐžĐ´Đ¸Ņ‡ĐĩҁĐēĐžĐĩ ҁĐēаĐŊĐ¸Ņ€ĐžĐ˛Đ°ĐŊиĐĩ йийĐģĐ¸ĐžŅ‚ĐĩĐēи", "library_settings": "ВĐŊĐĩ҈ĐŊŅŅ йийĐģĐ¸ĐžŅ‚ĐĩĐēа", "library_settings_description": "ĐŖĐŋŅ€Đ°Đ˛ĐģĐĩĐŊиĐĩ вĐŊĐĩ҈ĐŊиĐŧи йийĐģĐ¸ĐžŅ‚ĐĩĐēаĐŧи", "library_tasks_description": "ĐĄĐēаĐŊĐ¸Ņ€ĐžĐ˛Đ°ĐŊиĐĩ вĐŊĐĩ҈ĐŊĐ¸Ņ… йийĐģĐ¸ĐžŅ‚ĐĩĐē ĐŊа ĐŊаĐģĐ¸Ņ‡Đ¸Đĩ ĐŊĐžĐ˛Ņ‹Ņ… и/иĐģи иСĐŧĐĩĐŊŅ‘ĐŊĐŊҋ҅ ĐžĐąŅŠĐĩĐēŅ‚ĐžĐ˛", + "library_updated": "БибĐģĐ¸ĐžŅ‚ĐĩĐēа ОйĐŊОвĐģĐĩĐŊа", "library_watching_enable_description": "ĐžŅ‚ŅĐģĐĩĐļĐ¸Đ˛Đ°Ņ‚ŅŒ иСĐŧĐĩĐŊĐĩĐŊĐ¸Ņ Ņ„Đ°ĐšĐģОв вО вĐŊĐĩ҈ĐŊĐ¸Ņ… йийĐģĐ¸ĐžŅ‚ĐĩĐēĐ°Ņ…", "library_watching_settings": "[ЭКСПЕРИМЕНĐĸАЛĐŦНО] ĐĄĐģĐĩĐļĐĩĐŊиĐĩ Са йийĐģĐ¸ĐžŅ‚ĐĩĐēОК", "library_watching_settings_description": "ĐĐ˛Ņ‚ĐžĐŧĐ°Ņ‚Đ¸Ņ‡ĐĩҁĐēи ҁĐģĐĩĐ´Đ¸Ņ‚ŅŒ Са иСĐŧĐĩĐŊĐĩĐŊĐ¸ŅĐŧи Ņ„Đ°ĐšĐģОв", @@ -173,6 +177,10 @@ "machine_learning_smart_search_enabled": "ВĐēĐģŅŽŅ‡Đ¸Ņ‚ŅŒ иĐŊŅ‚ĐĩĐģĐģĐĩĐēŅ‚ŅƒĐ°ĐģҌĐŊŅ‹Đš ĐŋĐžĐ¸ŅĐē", "machine_learning_smart_search_enabled_description": "ĐŸŅ€Đ¸ ĐžŅ‚ĐēĐģŅŽŅ‡ĐĩĐŊии ŅŅ‚ĐžĐš Ņ„ŅƒĐŊĐēŅ†Đ¸Đ¸ Đ¸ĐˇĐžĐąŅ€Đ°ĐļĐĩĐŊĐ¸Ņ ĐŊĐĩ ĐąŅƒĐ´ŅƒŅ‚ ĐēĐžĐ´Đ¸Ņ€ĐžĐ˛Đ°Ņ‚ŅŒŅŅ Đ´ĐģŅ иĐŊŅ‚ĐĩĐģĐģĐĩĐēŅ‚ŅƒĐ°ĐģҌĐŊĐžĐŗĐž ĐŋĐžĐ¸ŅĐēа.", "machine_learning_url_description": "URL-Đ°Đ´Ņ€Đĩҁ ҁĐĩŅ€Đ˛ĐĩŅ€Đ° ĐŧĐ°ŅˆĐ¸ĐŊĐŊĐžĐŗĐž ĐžĐąŅƒŅ‡ĐĩĐŊĐ¸Ņ. Đ•ŅĐģи ҃ĐēаСаĐŊĐž ĐŊĐĩҁĐēĐžĐģҌĐēĐž, СаĐŋŅ€ĐžŅŅ‹ ĐąŅƒĐ´ŅƒŅ‚ ĐžŅ‚ĐŋŅ€Đ°Đ˛ĐģŅŅ‚ŅŒŅŅ ĐŋĐž ĐžŅ‡ĐĩŅ€Đĩди ĐŊа ĐēаĐļĐ´Ņ‹Đš, ĐŋĐžĐēа ĐžŅ‚ ОдĐŊĐžĐŗĐž иС ĐŊĐ¸Ņ… ĐŊĐĩ ĐąŅƒĐ´ĐĩŅ‚ ĐŋĐžĐģŅƒŅ‡ĐĩĐŊ ҃ҁĐŋĐĩ҈ĐŊŅ‹Đš ĐžŅ‚Đ˛ĐĩŅ‚. ĐĄĐĩŅ€Đ˛ĐĩҀҋ, ĐēĐžŅ‚ĐžŅ€Ņ‹Đĩ ĐŊĐĩ ĐžŅ‚Đ˛ĐĩŅ‡Đ°ŅŽŅ‚, ĐąŅƒĐ´ŅƒŅ‚ Đ˛Ņ€ĐĩĐŧĐĩĐŊĐŊĐž Đ¸ĐŗĐŊĐžŅ€Đ¸Ņ€ĐžĐ˛Đ°Ņ‚ŅŒŅŅ Đ´Đž Ņ‚ĐĩŅ… ĐŋĐžŅ€, ĐŋĐžĐēа ĐŊĐĩ ŅŅ‚Đ°ĐŊŅƒŅ‚ ҁĐŊОва Đ´ĐžŅŅ‚ŅƒĐŋĐŊŅ‹.", + "maintenance_settings": "ĐžĐąŅĐģ҃ĐļиваĐŊиĐĩ", + "maintenance_settings_description": "ПĐĩŅ€ĐĩвОд ҁĐĩŅ€Đ˛ĐĩŅ€Đ° Immich в Ņ€ĐĩĐļиĐŧ ĐžĐąŅĐģ҃ĐļиваĐŊĐ¸Ņ.", + "maintenance_start": "ВĐēĐģŅŽŅ‡Đ¸Ņ‚ŅŒ Ņ€ĐĩĐļиĐŧ ĐžĐąŅĐģ҃ĐļиваĐŊĐ¸Ņ", + "maintenance_start_error": "НĐĩ ŅƒĐ´Đ°ĐģĐžŅŅŒ ĐŋĐĩŅ€ĐĩĐšŅ‚Đ¸ в Ņ€ĐĩĐļиĐŧ ĐžĐąŅĐģ҃ĐļиваĐŊĐ¸Ņ.", "manage_concurrency": "ĐŖĐŋŅ€Đ°Đ˛ĐģĐĩĐŊиĐĩ ĐŋĐ°Ņ€Đ°ĐģĐģĐĩĐģҌĐŊĐžŅŅ‚ŅŒŅŽ", "manage_log_settings": "ĐŖĐŋŅ€Đ°Đ˛ĐģĐĩĐŊиĐĩ ĐŊĐ°ŅŅ‚Ņ€ĐžĐšĐēаĐŧи ĐļŅƒŅ€ĐŊаĐģа", "map_dark_style": "ĐĸŅ‘ĐŧĐŊŅ‹Đš ŅŅ‚Đ¸ĐģҌ", @@ -266,7 +274,7 @@ "quota_size_gib": "РаСĐŧĐĩŅ€ ĐēĐ˛ĐžŅ‚Ņ‹ (GiB)", "refreshing_all_libraries": "ОбĐŊОвĐģĐĩĐŊиĐĩ Đ˛ŅĐĩŅ… йийĐģĐ¸ĐžŅ‚ĐĩĐē", "registration": "Đ ĐĩĐŗĐ¸ŅŅ‚Ņ€Đ°Ņ†Đ¸Ņ адĐŧиĐŊĐ¸ŅŅ‚Ņ€Đ°Ņ‚ĐžŅ€Đ°", - "registration_description": "ПĐĩŅ€Đ˛Ņ‹Đš ĐˇĐ°Ņ€ĐĩĐŗĐ¸ŅŅ‚Ņ€Đ¸Ņ€ĐžĐ˛Đ°ĐŊĐŊŅ‹Đš ĐŋĐžĐģŅŒĐˇĐžĐ˛Đ°Ņ‚ĐĩĐģҌ ĐąŅƒĐ´ĐĩŅ‚ ĐŊаСĐŊĐ°Ņ‡ĐĩĐŊ адĐŧиĐŊĐ¸ŅŅ‚Ņ€Đ°Ņ‚ĐžŅ€ĐžĐŧ. В даĐģҌĐŊĐĩĐšŅˆĐĩĐŧ ŅŅ‚ĐžĐš ŅƒŅ‡ĐĩŅ‚ĐŊОК СаĐŋĐ¸ŅĐ¸ ĐąŅƒĐ´ĐĩŅ‚ Đ´ĐžŅŅ‚ŅƒĐŋĐŊĐž ŅĐžĐˇĐ´Đ°ĐŊиĐĩ Đ´ĐžĐŋĐžĐģĐŊĐ¸Ņ‚ĐĩĐģҌĐŊҋ҅ ĐŋĐžĐģŅŒĐˇĐžĐ˛Đ°Ņ‚ĐĩĐģĐĩĐš и ҃ĐŋŅ€Đ°Đ˛ĐģĐĩĐŊиĐĩ ҁĐĩŅ€Đ˛ĐĩŅ€ĐžĐŧ.", + "registration_description": "ПĐĩŅ€Đ˛Ņ‹Đš ĐˇĐ°Ņ€ĐĩĐŗĐ¸ŅŅ‚Ņ€Đ¸Ņ€ĐžĐ˛Đ°ĐŊĐŊŅ‹Đš ĐŋĐžĐģŅŒĐˇĐžĐ˛Đ°Ņ‚ĐĩĐģҌ ĐąŅƒĐ´ĐĩŅ‚ ĐŊаСĐŊĐ°Ņ‡ĐĩĐŊ адĐŧиĐŊĐ¸ŅŅ‚Ņ€Đ°Ņ‚ĐžŅ€ĐžĐŧ. ОĐŊ ҁĐŧĐžĐļĐĩŅ‚ ҃ĐŋŅ€Đ°Đ˛ĐģŅŅ‚ŅŒ ҁĐĩŅ€Đ˛ĐĩŅ€ĐžĐŧ и ŅĐžĐˇĐ´Đ°Đ˛Đ°Ņ‚ŅŒ Đ´ĐžĐŋĐžĐģĐŊĐ¸Ņ‚ĐĩĐģҌĐŊҋ҅ ĐŋĐžĐģŅŒĐˇĐžĐ˛Đ°Ņ‚ĐĩĐģĐĩĐš.", "require_password_change_on_login": "ĐĸŅ€ĐĩĐąĐžĐ˛Đ°Ņ‚ŅŒ ҁĐŧĐĩĐŊ҃ ĐŋĐ°Ņ€ĐžĐģŅ ĐŋŅ€Đ¸ ĐŋĐĩŅ€Đ˛ĐžĐŧ Đ˛Ņ…ĐžĐ´Đĩ", "reset_settings_to_default": "ĐĄĐąŅ€ĐžŅ ĐŊĐ°ŅŅ‚Ņ€ĐžĐĩĐē Đ´Đž СĐŊĐ°Ņ‡ĐĩĐŊиК ĐŋĐž ҃ĐŧĐžĐģŅ‡Đ°ĐŊĐ¸ŅŽ", "reset_settings_to_recent_saved": "НĐĩ ŅĐžŅ…Ņ€Đ°ĐŊŅ‘ĐŊĐŊŅ‹Đĩ иСĐŧĐĩĐŊĐĩĐŊĐ¸Ņ ŅĐąŅ€ĐžŅˆĐĩĐŊŅ‹ Đē ĐŋĐžŅĐģĐĩĐ´ĐŊиĐŧ ŅĐžŅ…Ņ€Đ°ĐŊĐĩĐŊĐŊŅ‹Đŧ СĐŊĐ°Ņ‡ĐĩĐŊĐ¸ŅĐŧ", @@ -283,7 +291,7 @@ "server_welcome_message_description": "ĐĄĐžĐžĐąŅ‰ĐĩĐŊиĐĩ, ĐēĐžŅ‚ĐžŅ€ĐžĐĩ ĐąŅƒĐ´ĐĩŅ‚ ĐžŅ‚ĐžĐąŅ€Đ°ĐļĐ°Ņ‚ŅŒŅŅ ĐŊа ŅŅ‚Ņ€Đ°ĐŊĐ¸Ņ†Đĩ Đ˛Ņ…ĐžĐ´Đ°.", "sidecar_job": "МĐĩŅ‚Đ°Đ´Đ°ĐŊĐŊŅ‹Đĩ иС sidecar-Ņ„Đ°ĐšĐģОв", "sidecar_job_description": "ОбĐŊĐ°Ņ€ŅƒĐļиваĐĩŅ‚ и ŅĐ¸ĐŊŅ…Ņ€ĐžĐŊĐ¸ĐˇĐ¸Ņ€ŅƒĐĩŅ‚ ĐŧĐĩŅ‚Đ°Đ´Đ°ĐŊĐŊŅ‹Đĩ иС sidecar-Ņ„Đ°ĐšĐģОв", - "slideshow_duration_description": "КоĐģĐ¸Ņ‡ĐĩŅŅ‚Đ˛Đž ҁĐĩĐē҃ĐŊĐ´ Đ´ĐģŅ ĐžŅ‚ĐžĐąŅ€Đ°ĐļĐĩĐŊĐ¸Ņ ĐēаĐļĐ´ĐžĐŗĐž Đ¸ĐˇĐžĐąŅ€Đ°ĐļĐĩĐŊĐ¸Ņ", + "slideshow_duration_description": "ДĐģĐ¸Ņ‚ĐĩĐģҌĐŊĐžŅŅ‚ŅŒ ĐŋĐžĐēаСа ҁĐģаКдОв в ҁĐĩĐē҃ĐŊĐ´Đ°Ņ…", "smart_search_job_description": "Đ Đ°ŅĐŋОСĐŊаĐĩŅ‚ ŅĐžĐ´ĐĩŅ€ĐļиĐŧĐžĐĩ ĐŧĐĩĐ´Đ¸Đ°Ņ„Đ°ĐšĐģОв Đ´ĐģŅ ҃ĐŧĐŊĐžĐŗĐž ĐŋĐžĐ¸ŅĐēа", "storage_template_date_time_description": "В ĐēĐ°Ņ‡ĐĩŅŅ‚Đ˛Đĩ Đ´Đ°Ņ‚Ņ‹ Đ¸ŅĐŋĐžĐģŅŒĐˇŅƒĐĩŅ‚ŅŅ иĐŊŅ„ĐžŅ€ĐŧĐ°Ņ†Đ¸Ņ Đž Đ˛Ņ€ĐĩĐŧĐĩĐŊи ŅŅŠŅ‘ĐŧĐēи иС даĐŊĐŊҋ҅ ĐžĐąŅŠĐĩĐēŅ‚Đ°", "storage_template_date_time_sample": "Đ”Đ°Ņ‚Đ° Đ´ĐģŅ ĐŋŅ€Đ¸ĐŧĐĩŅ€Đ°: {date}", @@ -295,7 +303,7 @@ "storage_template_migration_info": "Đ Đ°ŅŅˆĐ¸Ņ€ĐĩĐŊĐ¸Ņ Ņ„Đ°ĐšĐģОв Đ˛ŅĐĩĐŗĐ´Đ° ĐąŅƒĐ´ŅƒŅ‚ ŅĐžŅ…Ņ€Đ°ĐŊŅŅ‚ŅŒŅŅ в ĐŊиĐļĐŊĐĩĐŧ Ņ€ĐĩĐŗĐ¸ŅŅ‚Ņ€Đĩ. ИСĐŧĐĩĐŊĐĩĐŊĐ¸Ņ в ŅˆĐ°ĐąĐģĐžĐŊĐĩ ĐąŅƒĐ´ŅƒŅ‚ ĐŋŅ€Đ¸ĐŧĐĩĐŊŅŅ‚ŅŒŅŅ Ņ‚ĐžĐģҌĐēĐž Đē ĐŊĐžĐ˛Ņ‹Đŧ ĐžĐąŅŠĐĩĐēŅ‚Đ°Đŧ. Đ§Ņ‚ĐžĐąŅ‹ ĐŋŅ€Đ¸ĐŧĐĩĐŊĐ¸Ņ‚ŅŒ ŅˆĐ°ĐąĐģĐžĐŊ Đē Ņ€Đ°ĐŊĐĩĐĩ ĐˇĐ°ĐŗŅ€ŅƒĐļĐĩĐŊĐŊŅ‹Đŧ ĐžĐąŅŠĐĩĐēŅ‚Đ°Đŧ, СаĐŋŅƒŅŅ‚Đ¸Ņ‚Đĩ {job}.", "storage_template_migration_job": "Đ—Đ°Đ´Đ°Ņ‡Đ° ĐŋĐž ĐŋŅ€Đ¸ĐŧĐĩĐŊĐĩĐŊĐ¸ŅŽ ŅˆĐ°ĐąĐģĐžĐŊа Ņ…Ņ€Đ°ĐŊиĐģĐ¸Ņ‰Đ°", "storage_template_more_details": "ДĐģŅ ĐŋĐžĐģŅƒŅ‡ĐĩĐŊĐ¸Ņ Đ´ĐžĐŋĐžĐģĐŊĐ¸Ņ‚ĐĩĐģҌĐŊОК иĐŊŅ„ĐžŅ€ĐŧĐ°Ņ†Đ¸Đ¸ Ой ŅŅ‚ĐžĐš Ņ„ŅƒĐŊĐēŅ†Đ¸Đ¸ ĐžĐąŅ€Đ°Ņ‚Đ¸Ņ‚ĐĩҁҌ Đē Ņ€Đ°ĐˇĐ´ĐĩĐģаĐŧ Đ´ĐžĐē҃ĐŧĐĩĐŊŅ‚Đ°Ņ†Đ¸Đ¸ ШайĐģĐžĐŊ Ņ…Ņ€Đ°ĐŊиĐģĐ¸Ņ‰Đ° и ĐĄŅ‚Ņ€ŅƒĐēŅ‚ŅƒŅ€Đ° Ņ…Ņ€Đ°ĐŊĐĩĐŊĐ¸Ņ Ņ„Đ°ĐšĐģОв", - "storage_template_onboarding_description_v2": "Đ•ŅĐģи ŅŅ‚Đ° Ņ„ŅƒĐŊĐēŅ†Đ¸Ņ вĐēĐģŅŽŅ‡ĐĩĐŊа, ĐžĐŊа Đ°Đ˛Ņ‚ĐžĐŧĐ°Ņ‚Đ¸Ņ‡ĐĩҁĐēи ĐžŅ€ĐŗĐ°ĐŊĐ¸ĐˇŅƒĐĩŅ‚ Ņ„Đ°ĐšĐģŅ‹ ĐŊа ĐžŅĐŊОвĐĩ СадаĐŊĐŊĐžĐŗĐž ĐŋĐžĐģŅŒĐˇĐžĐ˛Đ°Ņ‚ĐĩĐģĐĩĐŧ ŅˆĐ°ĐąĐģĐžĐŊа. ДĐģŅ ĐŋĐžĐģŅƒŅ‡ĐĩĐŊĐ¸Ņ Đ´ĐžĐŋĐžĐģĐŊĐ¸Ņ‚ĐĩĐģҌĐŊОК иĐŊŅ„ĐžŅ€ĐŧĐ°Ņ†Đ¸Đ¸ ĐžĐąŅ€Đ°Ņ‚Đ¸Ņ‚ĐĩҁҌ Đē Đ´ĐžĐē҃ĐŧĐĩĐŊŅ‚Đ°Ņ†Đ¸Đ¸.", + "storage_template_onboarding_description_v2": "ĐŸŅ€Đ¸ вĐēĐģŅŽŅ‡ĐĩĐŊии ŅŅ‚ĐžĐš Ņ„ŅƒĐŊĐēŅ†Đ¸Đ¸ Ņ„Đ°ĐšĐģŅ‹ ĐąŅƒĐ´ŅƒŅ‚ Đ°Đ˛Ņ‚ĐžĐŧĐ°Ņ‚Đ¸Ņ‡ĐĩҁĐēи ĐŋĐĩŅ€ĐĩиĐŧĐĩĐŊĐžĐ˛Ņ‹Đ˛Đ°Ņ‚ŅŒŅŅ и Ņ€Đ°ŅĐŋŅ€ĐĩĐ´ĐĩĐģŅŅ‚ŅŒŅŅ ĐŋĐž ĐŋаĐŋĐēаĐŧ ĐŊа ĐžŅĐŊОваĐŊии СадаĐŊĐŊĐžĐŗĐž ŅˆĐ°ĐąĐģĐžĐŊа. ДоĐŋĐžĐģĐŊĐ¸Ņ‚ĐĩĐģҌĐŊĐ°Ņ иĐŊŅ„ĐžŅ€ĐŧĐ°Ņ†Đ¸Ņ Đ´ĐžŅŅ‚ŅƒĐŋĐŊа в Đ´ĐžĐē҃ĐŧĐĩĐŊŅ‚Đ°Ņ†Đ¸Đ¸.", "storage_template_path_length": "ĐŸŅ€Đ¸ĐŧĐĩŅ€ĐŊŅ‹Đš ĐŋŅ€ĐĩĐ´ĐĩĐģ Đ´ĐģиĐŊŅ‹ ĐŋŅƒŅ‚Đ¸: {length, number}/{limit, number}", "storage_template_settings": "ШайĐģĐžĐŊ Ņ…Ņ€Đ°ĐŊиĐģĐ¸Ņ‰Đ°", "storage_template_settings_description": "ĐŖĐŋŅ€Đ°Đ˛ĐģĐĩĐŊиĐĩ ŅŅ‚Ņ€ŅƒĐēŅ‚ŅƒŅ€ĐžĐš ĐŋаĐŋĐžĐē и иĐŧĐĩĐŊаĐŧи ĐˇĐ°ĐŗŅ€ŅƒĐļĐĩĐŊĐŊҋ҅ Ņ„Đ°ĐšĐģОв", @@ -430,6 +438,7 @@ "age_months": "{months, plural, one {# ĐŧĐĩŅŅŅ†} many {# ĐŧĐĩŅŅŅ†Đĩв} other {# ĐŧĐĩŅŅŅ†Đ°}}", "age_year_months": "1 ĐŗĐžĐ´ {months, plural, one {# ĐŧĐĩŅŅŅ†} many {# ĐŧĐĩŅŅŅ†Đĩв} other {# ĐŧĐĩŅŅŅ†Đ°}}", "age_years": "{years, plural, one {# ĐŗĐžĐ´} many {# ĐģĐĩŅ‚} other {# ĐŗĐžĐ´Đ°}}", + "album": "АĐģŅŒĐąĐžĐŧ", "album_added": "АĐģŅŒĐąĐžĐŧ дОйавĐģĐĩĐŊ", "album_added_notification_setting_description": "ПоĐģŅƒŅ‡Đ°Ņ‚ŅŒ ŅƒĐ˛ĐĩĐ´ĐžĐŧĐģĐĩĐŊиĐĩ ĐŋĐž ŅĐģĐĩĐēŅ‚Ņ€ĐžĐŊĐŊОК ĐŋĐžŅ‡Ņ‚Đĩ, ĐēĐžĐŗĐ´Đ° ваĐŧ ĐŋŅ€ĐĩĐ´ĐžŅŅ‚Đ°Đ˛Đ¸Đģи Đ´ĐžŅŅ‚ŅƒĐŋ в ĐžĐąŅ‰Đ¸Đš аĐģŅŒĐąĐžĐŧ", "album_cover_updated": "ОбĐģĐžĐļĐēа аĐģŅŒĐąĐžĐŧа ОйĐŊОвĐģĐĩĐŊа", @@ -475,6 +484,7 @@ "allow_edits": "Đ Đ°ĐˇŅ€ĐĩŅˆĐ¸Ņ‚ŅŒ Ņ€ĐĩдаĐēŅ‚Đ¸Ņ€ĐžĐ˛Đ°ĐŊиĐĩ", "allow_public_user_to_download": "Đ Đ°ĐˇŅ€ĐĩŅˆĐ¸Ņ‚ŅŒ ҁĐēĐ°Ņ‡Đ¸Đ˛Đ°ĐŊиĐĩ", "allow_public_user_to_upload": "Đ Đ°ĐˇŅ€ĐĩŅˆĐ¸Ņ‚ŅŒ дОйавĐģĐĩĐŊиĐĩ Ņ„Đ°ĐšĐģОв", + "allowed": "Đ Đ°ĐˇŅ€Đĩ҈ĐĩĐŊĐž", "alt_text_qr_code": "QR-ĐēОд", "anti_clockwise": "ĐŸŅ€ĐžŅ‚Đ¸Đ˛ Ņ‡Đ°ŅĐžĐ˛ĐžĐš", "api_key": "API ĐēĐģŅŽŅ‡", @@ -485,7 +495,7 @@ "app_bar_signout_dialog_content": "Đ’Ņ‹ ŅƒĐ˛ĐĩŅ€ĐĩĐŊŅ‹, Ņ‡Ņ‚Đž Ņ…ĐžŅ‚Đ¸Ņ‚Đĩ Đ˛Ņ‹ĐšŅ‚Đ¸?", "app_bar_signout_dialog_ok": "Да", "app_bar_signout_dialog_title": "Đ’Ņ‹ĐšŅ‚Đ¸", - "app_download_links": "ĐĄŅŅ‹ĐģĐēи ĐŊа ĐˇĐ°ĐŗŅ€ŅƒĐˇĐē҃ ĐŧОйиĐģҌĐŊĐžĐŗĐž ĐŋŅ€Đ¸ĐģĐžĐļĐĩĐŊĐ¸Ņ", + "app_download_links": "ĐĄŅŅ‹ĐģĐēи Đ´ĐģŅ ĐˇĐ°ĐŗŅ€ŅƒĐˇĐēи ĐŧОйиĐģҌĐŊĐžĐŗĐž ĐŋŅ€Đ¸ĐģĐžĐļĐĩĐŊĐ¸Ņ", "app_settings": "ĐŸĐ°Ņ€Đ°ĐŧĐĩ҂Ҁҋ ĐŋŅ€Đ¸ĐģĐžĐļĐĩĐŊĐ¸Ņ", "app_stores": "ĐœĐ°ĐŗĐ°ĐˇĐ¸ĐŊŅ‹ ĐŋŅ€Đ¸ĐģĐžĐļĐĩĐŊиК", "app_update_available": "Đ”ĐžŅŅ‚ŅƒĐŋĐŊа ĐŊĐžĐ˛Đ°Ņ вĐĩŅ€ŅĐ¸Ņ ĐŋŅ€Đ¸ĐģĐžĐļĐĩĐŊĐ¸Ņ", @@ -555,7 +565,7 @@ "authorized_devices": "ĐĐ˛Ņ‚ĐžŅ€Đ¸ĐˇĐžĐ˛Đ°ĐŊĐŊŅ‹Đĩ ŅƒŅŅ‚Ņ€ĐžĐšŅŅ‚Đ˛Đ°", "automatic_endpoint_switching_subtitle": "ПодĐēĐģŅŽŅ‡Đ°Ņ‚ŅŒŅŅ ĐģĐžĐēаĐģҌĐŊĐž ĐŋĐž Đ˛Ņ‹ĐąŅ€Đ°ĐŊĐŊОК ҁĐĩŅ‚Đ¸ и Đ¸ŅĐŋĐžĐģŅŒĐˇĐžĐ˛Đ°Ņ‚ŅŒ аĐģŅŒŅ‚ĐĩŅ€ĐŊĐ°Ņ‚Đ¸Đ˛ĐŊŅ‹Đĩ Đ°Đ´Ņ€ĐĩŅĐ° в иĐŊĐžĐŧ ҁĐģŅƒŅ‡Đ°Đĩ", "automatic_endpoint_switching_title": "ĐĐ˛Ņ‚ĐžĐŧĐ°Ņ‚Đ¸Ņ‡ĐĩҁĐēĐ°Ņ ҁĐŧĐĩĐŊа URL", - "autoplay_slideshow": "ĐĐ˛Ņ‚ĐžĐ˛ĐžŅĐŋŅ€ĐžĐ¸ĐˇĐ˛ĐĩĐ´ĐĩĐŊиĐĩ ҁĐģĐ°ĐšĐ´ŅˆĐžŅƒ", + "autoplay_slideshow": "ĐĐ˛Ņ‚ĐžĐ˛ĐžŅĐŋŅ€ĐžĐ¸ĐˇĐ˛ĐĩĐ´ĐĩĐŊиĐĩ", "back": "Назад", "back_close_deselect": "Назад, СаĐēŅ€Ņ‹Ņ‚ŅŒ иĐģи ĐžŅ‚ĐŧĐĩĐŊĐ¸Ņ‚ŅŒ Đ˛Ņ‹ĐąĐžŅ€", "background_backup_running_error": "Đ’Ņ‹ĐŋĐžĐģĐŊŅĐĩŅ‚ŅŅ Ņ„ĐžĐŊОвОĐĩ Ņ€ĐĩСĐĩŅ€Đ˛ĐŊĐžĐĩ ĐēĐžĐŋĐ¸Ņ€ĐžĐ˛Đ°ĐŊиĐĩ, СаĐŋ҃ҁĐē Đ˛Ņ€ŅƒŅ‡ĐŊŅƒŅŽ ĐŋĐžĐēа ĐŊĐĩвОСĐŧĐžĐļĐĩĐŊ", @@ -725,7 +735,7 @@ "common_create_new_album": "ĐĄĐžĐˇĐ´Đ°Ņ‚ŅŒ ĐŊĐžĐ˛Ņ‹Đš аĐģŅŒĐąĐžĐŧ", "completed": "ЗавĐĩŅ€ŅˆĐĩĐŊĐž", "confirm": "ĐŸĐžĐ´Ņ‚Đ˛ĐĩŅ€Đ´Đ¸Ņ‚ŅŒ", - "confirm_admin_password": "ĐŸĐžĐ´Ņ‚Đ˛ĐĩŅ€Đ´Đ¸Ņ‚Đĩ ĐŋĐ°Ņ€ĐžĐģҌ адĐŧиĐŊĐ¸ŅŅ‚Ņ€Đ°Ņ‚ĐžŅ€Đ°", + "confirm_admin_password": "ĐŸĐžĐ´Ņ‚Đ˛ĐĩŅ€ĐļĐ´ĐĩĐŊиĐĩ ĐŋĐ°Ņ€ĐžĐģŅ адĐŧиĐŊĐ¸ŅŅ‚Ņ€Đ°Ņ‚ĐžŅ€Đ°", "confirm_delete_face": "ĐŖĐ´Đ°ĐģĐ¸Ņ‚ŅŒ ĐģĐ¸Ņ†Đž ҇ĐĩĐģОвĐĩĐēа {name} иС ŅŅ‚ĐžĐŗĐž ĐžĐąŅŠĐĩĐēŅ‚Đ°?", "confirm_delete_shared_link": "Đ’Ņ‹ Đ´ĐĩĐšŅŅ‚Đ˛Đ¸Ņ‚ĐĩĐģҌĐŊĐž Ņ…ĐžŅ‚Đ¸Ņ‚Đĩ ŅƒĐ´Đ°ĐģĐ¸Ņ‚ŅŒ ŅŅ‚Ņƒ ĐŋŅƒĐąĐģĐ¸Ņ‡ĐŊŅƒŅŽ ҁҁҋĐģĐē҃?", "confirm_keep_this_delete_others": "Đ’ŅĐĩ ĐžĐąŅŠĐĩĐē҂ҋ в ĐŗŅ€ŅƒĐŋĐŋĐĩ ĐēŅ€ĐžĐŧĐĩ Ņ‚ĐĩĐēŅƒŅ‰ĐĩĐŗĐž ĐąŅƒĐ´ŅƒŅ‚ ŅƒĐ´Đ°ĐģĐĩĐŊŅ‹. ĐŸŅ€ĐžĐ´ĐžĐģĐļĐ¸Ņ‚ŅŒ?", @@ -735,7 +745,7 @@ "confirm_tag_face_unnamed": "ĐĨĐžŅ‚Đ¸Ņ‚Đĩ ĐžŅ‚ĐŧĐĩŅ‚Đ¸Ņ‚ŅŒ ŅŅ‚ĐžĐŗĐž ҇ĐĩĐģОвĐĩĐēа?", "connected_device": "ПодĐēĐģŅŽŅ‡ĐĩĐŊĐŊĐžĐĩ ŅƒŅŅ‚Ņ€ĐžĐšŅŅ‚Đ˛Đž", "connected_to": "ПодĐēĐģŅŽŅ‡ĐĩĐŊĐž Đē", - "contain": "ВĐŧĐĩŅŅ‚Đ¸Ņ‚ŅŒ", + "contain": "ВĐŋĐ¸ŅĐ°Ņ‚ŅŒ", "context": "КоĐŊŅ‚ĐĩĐēҁ҂", "continue": "ĐŸŅ€ĐžĐ´ĐžĐģĐļĐ¸Ņ‚ŅŒ", "control_bottom_app_bar_create_new_album": "ĐĄĐžĐˇĐ´Đ°Ņ‚ŅŒ аĐģŅŒĐąĐžĐŧ", @@ -756,7 +766,7 @@ "copy_password": "ĐĄĐēĐžĐŋĐ¸Ņ€ĐžĐ˛Đ°Ņ‚ŅŒ ĐŋĐ°Ņ€ĐžĐģҌ", "copy_to_clipboard": "ĐĄĐēĐžĐŋĐ¸Ņ€ĐžĐ˛Đ°Ņ‚ŅŒ в ĐąŅƒŅ„ĐĩŅ€ ОйĐŧĐĩĐŊа", "country": "ĐĄŅ‚Ņ€Đ°ĐŊа", - "cover": "ОбĐģĐžĐļĐēа", + "cover": "ĐžĐąŅ€ĐĩĐˇĐ°Ņ‚ŅŒ", "covers": "ОбĐģĐžĐļĐēи", "create": "ĐĄĐžĐˇĐ´Đ°Ņ‚ŅŒ", "create_album": "ĐĄĐžĐˇĐ´Đ°Ņ‚ŅŒ аĐģŅŒĐąĐžĐŧ", @@ -894,8 +904,6 @@ "edit_description_prompt": "ĐŖĐēаĐļĐ¸Ņ‚Đĩ ĐŊОвОĐĩ ĐžĐŋĐ¸ŅĐ°ĐŊиĐĩ:", "edit_exclusion_pattern": "Đ ĐĩдаĐēŅ‚Đ¸Ņ€ĐžĐ˛Đ°ĐŊиĐĩ ŅˆĐ°ĐąĐģĐžĐŊа Đ¸ŅĐēĐģŅŽŅ‡ĐĩĐŊĐ¸Ņ", "edit_faces": "Đ ĐĩдаĐēŅ‚Đ¸Ņ€ĐžĐ˛Đ°ĐŊиĐĩ ĐģĐ¸Ņ†", - "edit_import_path": "ИСĐŧĐĩĐŊĐ¸Ņ‚ŅŒ ĐŋŅƒŅ‚ŅŒ иĐŧĐŋĐžŅ€Ņ‚Đ°", - "edit_import_paths": "ИСĐŧĐĩĐŊĐ¸Ņ‚ŅŒ ĐŋŅƒŅ‚ŅŒ иĐŧĐŋĐžŅ€Ņ‚Đ°", "edit_key": "ИСĐŧĐĩĐŊĐ¸Ņ‚ŅŒ ĐēĐģŅŽŅ‡", "edit_link": "ИСĐŧĐĩĐŊĐ¸Ņ‚ŅŒ ҁҁҋĐģĐē҃", "edit_location": "ИСĐŧĐĩĐŊĐ¸Ņ‚ŅŒ ĐŧĐĩŅŅ‚ĐžĐŋĐžĐģĐžĐļĐĩĐŊиĐĩ", @@ -967,8 +975,8 @@ "failed_to_stack_assets": "НĐĩ ŅƒĐ´Đ°ĐģĐžŅŅŒ ŅĐŗŅ€ŅƒĐŋĐŋĐ¸Ņ€ĐžĐ˛Đ°Ņ‚ŅŒ ĐžĐąŅŠĐĩĐē҂ҋ", "failed_to_unstack_assets": "НĐĩ ŅƒĐ´Đ°ĐģĐžŅŅŒ Ņ€Đ°ĐˇĐŗŅ€ŅƒĐŋĐŋĐ¸Ņ€ĐžĐ˛Đ°Ņ‚ŅŒ ĐžĐąŅŠĐĩĐē҂ҋ", "failed_to_update_notification_status": "НĐĩ ŅƒĐ´Đ°ĐģĐžŅŅŒ ОйĐŊĐžĐ˛Đ¸Ņ‚ŅŒ ŅŅ‚Đ°Ņ‚ŅƒŅ ŅƒĐ˛ĐĩĐ´ĐžĐŧĐģĐĩĐŊĐ¸Ņ", - "import_path_already_exists": "Đ­Ņ‚ĐžŅ‚ ĐŋŅƒŅ‚ŅŒ иĐŧĐŋĐžŅ€Ņ‚Đ° ҃ĐļĐĩ ŅŅƒŅ‰ĐĩŅŅ‚Đ˛ŅƒĐĩŅ‚.", "incorrect_email_or_password": "НĐĩвĐĩŅ€ĐŊŅ‹Đš Đ°Đ´Ņ€Đĩҁ ŅĐģĐĩĐēŅ‚Ņ€ĐžĐŊĐŊОК ĐŋĐžŅ‡Ņ‚Ņ‹ иĐģи ĐŋĐ°Ņ€ĐžĐģҌ", + "library_folder_already_exists": "ĐĸаĐēĐ°Ņ ĐŋаĐŋĐēа ҃ĐļĐĩ ĐĩŅŅ‚ŅŒ в ҁĐŋĐ¸ŅĐēĐĩ.", "paths_validation_failed": "{paths, plural, one {# ĐŋŅƒŅ‚ŅŒ ĐŊĐĩ ĐŋŅ€ĐžŅˆŅ‘Đģ} many {# ĐŋŅƒŅ‚ĐĩĐš ĐŊĐĩ ĐŋŅ€ĐžŅˆĐģи} other {# ĐŋŅƒŅ‚Đ¸ ĐŊĐĩ ĐŋŅ€ĐžŅˆĐģи}} ĐŋŅ€ĐžĐ˛ĐĩŅ€Đē҃", "profile_picture_transparent_pixels": "Đ¤ĐžŅ‚ĐžĐŗŅ€Đ°Ņ„Đ¸Ņ ĐŋŅ€ĐžŅ„Đ¸ĐģŅ ĐŊĐĩ Đ´ĐžĐģĐļĐŊа ŅĐžĐ´ĐĩŅ€ĐļĐ°Ņ‚ŅŒ ĐŋŅ€ĐžĐˇŅ€Đ°Ņ‡ĐŊҋ҅ ĐŋиĐēҁĐĩĐģĐĩĐš. ПоĐŋŅ€ĐžĐąŅƒĐšŅ‚Đĩ ŅƒĐ˛ĐĩĐģĐ¸Ņ‡Đ¸Ņ‚ŅŒ и/иĐģи ĐŋĐĩŅ€ĐĩĐŧĐĩŅŅ‚Đ¸Ņ‚ŅŒ Đ¸ĐˇĐžĐąŅ€Đ°ĐļĐĩĐŊиĐĩ.", "quota_higher_than_disk_size": "Đ’Ņ‹ ŅƒŅŅ‚Đ°ĐŊОвиĐģи ĐēĐ˛ĐžŅ‚Ņƒ, ĐŋŅ€ĐĩĐ˛Ņ‹ŅˆĐ°ŅŽŅ‰ŅƒŅŽ Ņ€Đ°ĐˇĐŧĐĩŅ€ Đ´Đ¸ŅĐēа", @@ -977,7 +985,6 @@ "unable_to_add_assets_to_shared_link": "НĐĩ ŅƒĐ´Đ°ĐģĐžŅŅŒ Đ´ĐžĐąĐ°Đ˛Đ¸Ņ‚ŅŒ ĐžĐąŅŠĐĩĐē҂ҋ Đē ĐŋŅƒĐąĐģĐ¸Ņ‡ĐŊОК ҁҁҋĐģĐēĐĩ", "unable_to_add_comment": "НĐĩ ŅƒĐ´Đ°ĐģĐžŅŅŒ Đ´ĐžĐąĐ°Đ˛Đ¸Ņ‚ŅŒ ĐēĐžĐŧĐŧĐĩĐŊŅ‚Đ°Ņ€Đ¸Đš", "unable_to_add_exclusion_pattern": "НĐĩ ŅƒĐ´Đ°ĐģĐžŅŅŒ Đ´ĐžĐąĐ°Đ˛Đ¸Ņ‚ŅŒ ŅˆĐ°ĐąĐģĐžĐŊ Đ¸ŅĐēĐģŅŽŅ‡ĐĩĐŊĐ¸Ņ", - "unable_to_add_import_path": "НĐĩ ŅƒĐ´Đ°ĐģĐžŅŅŒ Đ´ĐžĐąĐ°Đ˛Đ¸Ņ‚ŅŒ ĐŋŅƒŅ‚ŅŒ иĐŧĐŋĐžŅ€Ņ‚Đ°", "unable_to_add_partners": "НĐĩ ŅƒĐ´Đ°ĐģĐžŅŅŒ Đ´ĐžĐąĐ°Đ˛Đ¸Ņ‚ŅŒ ĐŋĐ°Ņ€Ņ‚ĐŊŅ‘Ņ€ĐžĐ˛", "unable_to_add_remove_archive": "НĐĩ ŅƒĐ´Đ°ĐģĐžŅŅŒ {archived, select, true {ŅƒĐ´Đ°ĐģĐ¸Ņ‚ŅŒ ĐžĐąŅŠĐĩĐēŅ‚ иС Đ°Ņ€Ņ…Đ¸Đ˛Đ°} other {Đ´ĐžĐąĐ°Đ˛Đ¸Ņ‚ŅŒ ĐžĐąŅŠĐĩĐēŅ‚ в Đ°Ņ€Ņ…Đ¸Đ˛}}", "unable_to_add_remove_favorites": "НĐĩ ŅƒĐ´Đ°ĐģĐžŅŅŒ {favorite, select, true {Đ´ĐžĐąĐ°Đ˛Đ¸Ņ‚ŅŒ ĐžĐąŅŠĐĩĐēŅ‚ в Đ¸ĐˇĐąŅ€Đ°ĐŊĐŊĐžĐĩ} other {ŅƒĐ´Đ°ĐģĐ¸Ņ‚ŅŒ ĐžĐąŅŠĐĩĐēŅ‚ иС Đ¸ĐˇĐąŅ€Đ°ĐŊĐŊĐžĐŗĐž}}", @@ -1000,12 +1007,10 @@ "unable_to_delete_asset": "НĐĩ ŅƒĐ´Đ°ĐģĐžŅŅŒ ŅƒĐ´Đ°ĐģĐ¸Ņ‚ŅŒ ĐžĐąŅŠĐĩĐēŅ‚", "unable_to_delete_assets": "ĐžŅˆĐ¸ĐąĐēа ĐŋŅ€Đ¸ ŅƒĐ´Đ°ĐģĐĩĐŊии ĐžĐąŅŠĐĩĐēŅ‚ĐžĐ˛", "unable_to_delete_exclusion_pattern": "НĐĩ ŅƒĐ´Đ°ĐģĐžŅŅŒ ŅƒĐ´Đ°ĐģĐ¸Ņ‚ŅŒ ŅˆĐ°ĐąĐģĐžĐŊ Đ¸ŅĐēĐģŅŽŅ‡ĐĩĐŊĐ¸Ņ", - "unable_to_delete_import_path": "НĐĩ ŅƒĐ´Đ°ĐģĐžŅŅŒ ŅƒĐ´Đ°ĐģĐ¸Ņ‚ŅŒ ĐŋŅƒŅ‚ŅŒ иĐŧĐŋĐžŅ€Ņ‚Đ°", "unable_to_delete_shared_link": "НĐĩ ŅƒĐ´Đ°ĐģĐžŅŅŒ ŅƒĐ´Đ°ĐģĐ¸Ņ‚ŅŒ ĐŋŅƒĐąĐģĐ¸Ņ‡ĐŊŅƒŅŽ ҁҁҋĐģĐē҃", "unable_to_delete_user": "НĐĩ ŅƒĐ´Đ°ĐģĐžŅŅŒ ŅƒĐ´Đ°ĐģĐ¸Ņ‚ŅŒ ĐŋĐžĐģŅŒĐˇĐžĐ˛Đ°Ņ‚ĐĩĐģŅ", "unable_to_download_files": "НĐĩ ŅƒĐ´Đ°ĐģĐžŅŅŒ ҁĐēĐ°Ņ‡Đ°Ņ‚ŅŒ Ņ„Đ°ĐšĐģŅ‹", "unable_to_edit_exclusion_pattern": "НĐĩ ŅƒĐ´Đ°ĐģĐžŅŅŒ ĐžŅ‚Ņ€ĐĩдаĐēŅ‚Đ¸Ņ€ĐžĐ˛Đ°Ņ‚ŅŒ ŅˆĐ°ĐąĐģĐžĐŊ Đ¸ŅĐēĐģŅŽŅ‡ĐĩĐŊĐ¸Ņ", - "unable_to_edit_import_path": "НĐĩ ŅƒĐ´Đ°ĐģĐžŅŅŒ ĐžŅ‚Ņ€ĐĩдаĐēŅ‚Đ¸Ņ€ĐžĐ˛Đ°Ņ‚ŅŒ ĐŋŅƒŅ‚ŅŒ иĐŧĐŋĐžŅ€Ņ‚Đ°", "unable_to_empty_trash": "НĐĩ ŅƒĐ´Đ°ĐģĐžŅŅŒ ĐžŅ‡Đ¸ŅŅ‚Đ¸Ņ‚ŅŒ ĐēĐžŅ€ĐˇĐ¸ĐŊ҃", "unable_to_enter_fullscreen": "НĐĩ ŅƒĐ´Đ°ĐģĐžŅŅŒ ĐŋĐĩŅ€ĐĩĐēĐģŅŽŅ‡Đ¸Ņ‚ŅŒŅŅ в ĐŋĐžĐģĐŊĐžŅĐēŅ€Đ°ĐŊĐŊŅ‹Đš Ņ€ĐĩĐļиĐŧ", "unable_to_exit_fullscreen": "НĐĩ ŅƒĐ´Đ°ĐģĐžŅŅŒ Đ˛Ņ‹ĐšŅ‚Đ¸ иС ĐŋĐžĐģĐŊĐžŅĐēŅ€Đ°ĐŊĐŊĐžĐŗĐž Ņ€ĐĩĐļиĐŧа", @@ -1056,6 +1061,7 @@ "unable_to_update_user": "НĐĩ ŅƒĐ´Đ°ĐģĐžŅŅŒ ОйĐŊĐžĐ˛Đ¸Ņ‚ŅŒ ĐŋĐžĐģŅŒĐˇĐžĐ˛Đ°Ņ‚ĐĩĐģŅ", "unable_to_upload_file": "НĐĩ ŅƒĐ´Đ°ĐģĐžŅŅŒ ĐˇĐ°ĐŗŅ€ŅƒĐˇĐ¸Ņ‚ŅŒ Ņ„Đ°ĐšĐģ" }, + "exclusion_pattern": "ШайĐģĐžĐŊŅ‹ Đ¸ŅĐēĐģŅŽŅ‡ĐĩĐŊиК", "exif": "Exif", "exif_bottom_sheet_description": "Đ”ĐžĐąĐ°Đ˛Đ¸Ņ‚ŅŒ ĐžĐŋĐ¸ŅĐ°ĐŊиĐĩ...", "exif_bottom_sheet_description_error": "НĐĩ ŅƒĐ´Đ°ĐģĐžŅŅŒ ОйĐŊĐžĐ˛Đ¸Ņ‚ŅŒ ĐžĐŋĐ¸ŅĐ°ĐŊиĐĩ", @@ -1115,6 +1121,7 @@ "folders_feature_description": "ĐŸŅ€ĐžŅĐŧĐžŅ‚Ņ€ ĐŋаĐŋĐžĐē ҁ Ņ„ĐžŅ‚Đž и видĐĩĐž в Ņ„Đ°ĐšĐģОвОК ŅĐ¸ŅŅ‚ĐĩĐŧĐĩ", "forgot_pin_code_question": "Đ—Đ°ĐąŅ‹Đģи PIN-ĐēОд?", "forward": "ВĐŋĐĩŅ€Ņ‘Đ´", + "full_path": "ПоĐģĐŊŅ‹Đš ĐŋŅƒŅ‚ŅŒ: {path}", "gcast_enabled": "Google Cast", "gcast_enabled_description": "ДĐģŅ Ņ€Đ°ĐąĐžŅ‚Ņ‹ ҂ҀĐĩĐąŅƒĐĩŅ‚ŅŅ ĐˇĐ°ĐŗŅ€ŅƒĐˇĐēа вĐŊĐĩ҈ĐŊĐ¸Ņ… Ņ€ĐĩŅŅƒŅ€ŅĐžĐ˛ ҁ ҁĐĩŅ€Đ˛ĐĩŅ€ĐžĐ˛ Google.", "general": "ĐžĐąŅ‰Đ¸Đĩ", @@ -1196,6 +1203,8 @@ "import_path": "ĐŸŅƒŅ‚ŅŒ иĐŧĐŋĐžŅ€Ņ‚Đ°", "in_albums": "В {count, plural, one {# аĐģŅŒĐąĐžĐŧĐĩ} other {# аĐģŅŒĐąĐžĐŧĐ°Ņ…}}", "in_archive": "В Đ°Ņ€Ņ…Đ¸Đ˛Đĩ", + "in_year": "{year} Đŗ.", + "in_year_selector": "В", "include_archived": "ĐžŅ‚ĐžĐąŅ€Đ°ĐļĐ°Ņ‚ŅŒ Đ°Ņ€Ņ…Đ¸Đ˛", "include_shared_albums": "ВĐēĐģŅŽŅ‡Đ°Ņ‚ŅŒ ĐžĐąŅŠĐĩĐē҂ҋ ĐžĐąŅ‰Đ¸Ņ… аĐģŅŒĐąĐžĐŧОв", "include_shared_partner_assets": "ВĐēĐģŅŽŅ‡Đ°Ņ‚ŅŒ ĐžĐąŅŠĐĩĐē҂ҋ ĐŋĐ°Ņ€Ņ‚ĐŊŅ‘Ņ€ĐžĐ˛", @@ -1232,6 +1241,7 @@ "language_setting_description": "Đ’Ņ‹ĐąĐĩŅ€Đ¸Ņ‚Đĩ ĐŋŅ€ĐĩĐ´ĐŋĐžŅ‡Đ¸Ņ‚Đ°ĐĩĐŧŅ‹Đš ваĐŧи ŅĐˇŅ‹Đē", "large_files": "ФаКĐģŅ‹ ĐŊаийОĐģҌ҈ĐĩĐŗĐž Ņ€Đ°ĐˇĐŧĐĩŅ€Đ°", "last": "ĐŸĐžŅĐģĐĩĐ´ĐŊиК", + "last_months": "{count, plural, one {ĐŸĐžŅĐģĐĩĐ´ĐŊиК ĐŧĐĩŅŅŅ†} many {# ĐŋĐžŅĐģĐĩĐ´ĐŊĐ¸Ņ… ĐŧĐĩŅŅŅ†Đĩв} other {# ĐŋĐžŅĐģĐĩĐ´ĐŊĐ¸Ņ… ĐŧĐĩŅŅŅ†Đ°}}", "last_seen": "ĐŸĐžŅĐģĐĩĐ´ĐŊиК Đ´ĐžŅŅ‚ŅƒĐŋ", "latest_version": "ĐŸĐžŅĐģĐĩĐ´ĐŊŅŅ вĐĩŅ€ŅĐ¸Ņ", "latitude": "Đ¨Đ¸Ņ€ĐžŅ‚Đ°", @@ -1241,6 +1251,8 @@ "let_others_respond": "Đ Đ°ĐˇŅ€ĐĩŅˆĐ¸Ņ‚ŅŒ Đ´Ņ€ŅƒĐŗĐ¸Đŧ ĐŋĐžĐģŅŒĐˇĐžĐ˛Đ°Ņ‚ĐĩĐģŅĐŧ дОйавĐģŅŅ‚ŅŒ ĐēĐžĐŧĐŧĐĩĐŊŅ‚Đ°Ņ€Đ¸Đ¸ и ĐžŅ‚ĐŧĐĩŅ‚Đēи \"ĐŊŅ€Đ°Đ˛Đ¸Ņ‚ŅŅ\"", "level": "ĐŖŅ€ĐžĐ˛ĐĩĐŊҌ", "library": "БибĐģĐ¸ĐžŅ‚ĐĩĐēа", + "library_add_folder": "Đ”ĐžĐąĐ°Đ˛Đ¸Ņ‚ŅŒ ĐŋаĐŋĐē҃", + "library_edit_folder": "ИСĐŧĐĩĐŊĐ¸Ņ‚ŅŒ ĐŋŅƒŅ‚ŅŒ Đē ĐŋаĐŋĐēĐĩ", "library_options": "ДĐĩĐšŅŅ‚Đ˛Đ¸Ņ ҁ йийĐģĐ¸ĐžŅ‚ĐĩĐēОК", "library_page_device_albums": "АĐģŅŒĐąĐžĐŧŅ‹ ĐŊа ŅƒŅŅ‚Ņ€ĐžĐšŅŅ‚Đ˛Đĩ", "library_page_new_album": "ĐĐžĐ˛Ņ‹Đš аĐģŅŒĐąĐžĐŧ", @@ -1312,8 +1324,17 @@ "loop_videos_description": "ВĐēĐģŅŽŅ‡Đ¸Ņ‚ŅŒ Đ°Đ˛Ņ‚ĐžĐŧĐ°Ņ‚Đ¸Ņ‡ĐĩҁĐēиК ĐŋĐžĐ˛Ņ‚ĐžŅ€ видĐĩĐž ĐŋŅ€Đ¸ ĐŋŅ€ĐžŅĐŧĐžŅ‚Ņ€Đĩ.", "main_branch_warning": "Đ’Ņ‹ Đ¸ŅĐŋĐžĐģŅŒĐˇŅƒĐĩŅ‚Đĩ вĐĩŅ€ŅĐ¸ŅŽ ĐŋŅ€Đ¸ĐģĐžĐļĐĩĐŊĐ¸Ņ Đ´ĐģŅ Ņ€Đ°ĐˇŅ€Đ°ĐąĐžŅ‚Đēи. ĐĐ°ŅŅ‚ĐžŅŅ‚ĐĩĐģҌĐŊĐž Ņ€ĐĩĐēĐžĐŧĐĩĐŊĐ´ŅƒĐĩŅ‚ŅŅ ĐŋĐĩŅ€ĐĩĐšŅ‚Đ¸ ĐŊа Ņ€ĐĩĐģиСĐŊŅƒŅŽ вĐĩŅ€ŅĐ¸ŅŽ ĐŋŅ€Đ¸ĐģĐžĐļĐĩĐŊĐ¸Ņ!", "main_menu": "ГĐģавĐŊĐžĐĩ ĐŧĐĩĐŊŅŽ", + "maintenance_description": "ĐĄĐĩŅ€Đ˛ĐĩŅ€ Immich ĐŋĐĩŅ€ĐĩвĐĩĐ´Ņ‘ĐŊ в Ņ€ĐĩĐļиĐŧ ĐžĐąŅĐģ҃ĐļиваĐŊĐ¸Ņ.", + "maintenance_end": "ĐžŅ‚ĐēĐģŅŽŅ‡Đ¸Ņ‚ŅŒ Ņ€ĐĩĐļиĐŧ ĐžĐąŅĐģ҃ĐļиваĐŊĐ¸Ņ", + "maintenance_end_error": "НĐĩ ŅƒĐ´Đ°ĐģĐžŅŅŒ ĐžŅ‚ĐēĐģŅŽŅ‡Đ¸Ņ‚ŅŒ Ņ€ĐĩĐļиĐŧ ĐžĐąŅĐģ҃ĐļиваĐŊĐ¸Ņ.", + "maintenance_logged_in_as": "В ĐŊĐ°ŅŅ‚ĐžŅŅ‰ĐĩĐĩ Đ˛Ņ€ĐĩĐŧŅ Đ˛Ņ‹ Đ˛ĐžŅˆĐģи в ŅĐ¸ŅŅ‚ĐĩĐŧ҃ ĐēаĐē {user}", + "maintenance_title": "Đ’Ņ€ĐĩĐŧĐĩĐŊĐŊĐž ĐŊĐĩĐ´ĐžŅŅ‚ŅƒĐŋĐŊĐž", "make": "ĐŸŅ€ĐžĐ¸ĐˇĐ˛ĐžĐ´Đ¸Ņ‚ĐĩĐģҌ", "manage_geolocation": "ĐŖĐŋŅ€Đ°Đ˛ĐģĐĩĐŊиĐĩ ĐŧĐĩŅŅ‚Đ°Đŧи ŅŅŠŅ‘ĐŧĐēи", + "manage_media_access_rationale": "Đ­Ņ‚Đž Ņ€Đ°ĐˇŅ€Đĩ҈ĐĩĐŊиĐĩ ĐŊĐĩĐžĐąŅ…ĐžĐ´Đ¸ĐŧĐž Đ´ĐģŅ ĐēĐžŅ€Ņ€ĐĩĐēŅ‚ĐŊĐžĐŗĐž ĐŋĐĩŅ€ĐĩĐŧĐĩ҉ĐĩĐŊĐ¸Ņ ĐžĐąŅŠĐĩĐēŅ‚ĐžĐ˛ в ĐēĐžŅ€ĐˇĐ¸ĐŊ҃ и Đ˛ĐžŅŅŅ‚Đ°ĐŊОвĐģĐĩĐŊĐ¸Ņ Đ¸Ņ… иС ĐŊĐĩŅ‘.", + "manage_media_access_settings": "ПĐĩŅ€ĐĩĐšŅ‚Đ¸ Đē ĐŊĐ°ŅŅ‚Ņ€ĐžĐšĐēаĐŧ", + "manage_media_access_subtitle": "Đ Đ°ĐˇŅ€ĐĩŅˆĐ¸Ņ‚Đĩ ĐŋŅ€Đ¸ĐģĐžĐļĐĩĐŊĐ¸ŅŽ Immich ҃ĐŋŅ€Đ°Đ˛ĐģŅŅ‚ŅŒ ĐŧĐĩĐ´Đ¸Đ°Ņ„Đ°ĐšĐģаĐŧи.", + "manage_media_access_title": "Đ”ĐžŅŅ‚ŅƒĐŋ Đē ҃ĐŋŅ€Đ°Đ˛ĐģĐĩĐŊĐ¸ŅŽ ĐŧĐĩĐ´Đ¸Đ°Ņ„Đ°ĐšĐģаĐŧи", "manage_shared_links": "ĐŖĐŋŅ€Đ°Đ˛ĐģĐĩĐŊиĐĩ ĐŋŅƒĐąĐģĐ¸Ņ‡ĐŊŅ‹Đŧи ҁҁҋĐģĐēаĐŧи", "manage_sharing_with_partners": "Đ¤ŅƒĐŊĐēŅ†Đ¸Ņ ŅĐžĐ˛ĐŧĐĩҁ҂ĐŊĐžĐŗĐž Đ´ĐžŅŅ‚ŅƒĐŋа Đē Ņ„ĐžŅ‚Đž и видĐĩĐž, ĐŋОСвОĐģŅŅŽŅ‰Đ°Ņ видĐĩŅ‚ŅŒ ĐžĐąŅŠĐĩĐē҂ҋ ĐŋĐ°Ņ€Ņ‚ĐŊŅ‘Ņ€ĐžĐ˛, а Ņ‚Đ°ĐēĐļĐĩ ĐŋŅ€ĐĩĐ´ĐžŅŅ‚Đ°Đ˛ĐģŅŅ‚ŅŒ Đ´ĐžŅŅ‚ŅƒĐŋ Đē ŅĐ˛ĐžĐ¸Đŧ", "manage_the_app_settings": "ĐŖĐŋŅ€Đ°Đ˛ĐģĐĩĐŊиĐĩ ĐŊĐ°ŅŅ‚Ņ€ĐžĐšĐēаĐŧи ĐŋŅ€Đ¸ĐģĐžĐļĐĩĐŊĐ¸Ņ", @@ -1377,6 +1398,7 @@ "more": "ДоĐŋĐžĐģĐŊĐ¸Ņ‚ĐĩĐģҌĐŊŅ‹Đĩ Đ´ĐĩĐšŅŅ‚Đ˛Đ¸Ņ", "move": "ПĐĩŅ€ĐĩĐŧĐĩŅŅ‚Đ¸Ņ‚ŅŒ", "move_off_locked_folder": "ĐŖĐąŅ€Đ°Ņ‚ŅŒ иС ĐģĐ¸Ņ‡ĐŊОК ĐŋаĐŋĐēи", + "move_to": "ПĐĩŅ€ĐĩĐŧĐĩŅŅ‚Đ¸Ņ‚ŅŒ в", "move_to_lock_folder_action_prompt": "ĐžĐąŅŠĐĩĐē҂ҋ дОйавĐģĐĩĐŊŅ‹ в ĐģĐ¸Ņ‡ĐŊŅƒŅŽ ĐŋаĐŋĐē҃ ({count} ŅˆŅ‚.)", "move_to_locked_folder": "В ĐģĐ¸Ņ‡ĐŊŅƒŅŽ ĐŋаĐŋĐē҃", "move_to_locked_folder_confirmation": "Đ­Ņ‚Đ¸ Ņ„ĐžŅ‚Đž и видĐĩĐž ĐąŅƒĐ´ŅƒŅ‚ ŅƒĐ´Đ°ĐģĐĩĐŊŅ‹ иС Đ˛ŅĐĩŅ… аĐģŅŒĐąĐžĐŧОв и ĐąŅƒĐ´ŅƒŅ‚ Đ´ĐžŅŅ‚ŅƒĐŋĐŊŅ‹ Ņ‚ĐžĐģҌĐēĐž в ĐģĐ¸Ņ‡ĐŊОК ĐŋаĐŋĐēĐĩ", @@ -1406,13 +1428,14 @@ "new_pin_code": "ĐĐžĐ˛Ņ‹Đš PIN-ĐēОд", "new_pin_code_subtitle": "Đ­Ņ‚Đž Đ˛Đ°Ņˆ ĐŋĐĩŅ€Đ˛Ņ‹Đš Đ´ĐžŅŅ‚ŅƒĐŋ Đē ĐģĐ¸Ņ‡ĐŊОК ĐŋаĐŋĐēĐĩ. ĐĄĐžĐˇĐ´Đ°ĐšŅ‚Đĩ PIN-ĐēОд Đ´ĐģŅ ĐˇĐ°Ņ‰Đ¸Ņ‰ĐĩĐŊĐŊĐžĐŗĐž Đ´ĐžŅŅ‚ŅƒĐŋа Đē ŅŅ‚ĐžĐš ŅŅ‚Ņ€Đ°ĐŊĐ¸Ņ†Đĩ.", "new_timeline": "ĐĐžĐ˛Đ°Ņ ĐģĐĩĐŊŅ‚Đ°", + "new_update": "НовоĐĩ ОйĐŊОвĐģĐĩĐŊиĐĩ", "new_user_created": "ĐĐžĐ˛Ņ‹Đš ĐŋĐžĐģŅŒĐˇĐžĐ˛Đ°Ņ‚ĐĩĐģҌ ŅĐžĐˇĐ´Đ°ĐŊ", "new_version_available": "ДОСĐĸĐŖĐŸĐĐ ĐĐžĐ’ĐĐ¯ Đ’Đ•Đ ĐĄĐ˜Đ¯", "newest_first": "ĐĄĐŊĐ°Ņ‡Đ°Đģа ĐŊĐžĐ˛Ņ‹Đĩ", "next": "ДаĐģĐĩĐĩ", "next_memory": "ĐĄĐģĐĩĐ´ŅƒŅŽŅ‰ĐĩĐĩ Đ˛ĐžŅĐŋĐžĐŧиĐŊаĐŊиĐĩ", "no": "НĐĩŅ‚", - "no_albums_message": "ĐĄĐžĐˇĐ´Đ°ĐšŅ‚Đĩ аĐģŅŒĐąĐžĐŧ Đ´ĐģŅ ŅĐ¸ŅŅ‚ĐĩĐŧĐ°Ņ‚Đ¸ĐˇĐ°Ņ†Đ¸Đ¸ Đ˛Đ°ŅˆĐ¸Ņ… Ņ„ĐžŅ‚ĐžĐŗŅ€Đ°Ņ„Đ¸Đš и видĐĩĐž", + "no_albums_message": "ĐĄĐžĐˇĐ´Đ°Đ˛Đ°ĐšŅ‚Đĩ аĐģŅŒĐąĐžĐŧŅ‹ Đ´ĐģŅ ŅĐ¸ŅŅ‚ĐĩĐŧĐ°Ņ‚Đ¸ĐˇĐ°Ņ†Đ¸Đ¸ Đ˛Đ°ŅˆĐ¸Ņ… Ņ„ĐžŅ‚ĐžĐŗŅ€Đ°Ņ„Đ¸Đš и видĐĩĐž", "no_albums_with_name_yet": "ĐŸĐžŅ…ĐžĐļĐĩ, ҃ Đ˛Đ°Ņ ĐŋĐžĐēа ĐŊĐĩŅ‚ аĐģŅŒĐąĐžĐŧОв ҁ Ņ‚Đ°ĐēиĐŧ ĐŊаСваĐŊиĐĩĐŧ.", "no_albums_yet": "ĐŸĐžŅ…ĐžĐļĐĩ, ҃ Đ˛Đ°Ņ ĐŋĐžĐēа ĐŊĐĩŅ‚ аĐģŅŒĐąĐžĐŧОв.", "no_archived_assets_message": "ĐŅ€Ņ…Đ¸Đ˛Đ¸Ņ€ŅƒĐšŅ‚Đĩ Ņ„ĐžŅ‚ĐžĐŗŅ€Đ°Ņ„Đ¸Đ¸ и видĐĩĐž, Ņ‡Ņ‚ĐžĐąŅ‹ ҁĐēŅ€Ņ‹Ņ‚ŅŒ Đ¸Ņ… ĐŋŅ€Đ¸ ĐžĐąŅ‰ĐĩĐŧ ĐŋŅ€ĐžŅĐŧĐžŅ‚Ņ€Đĩ", @@ -1421,12 +1444,14 @@ "no_cast_devices_found": "НĐĩ ĐŊаКдĐĩĐŊĐž ŅƒŅŅ‚Ņ€ĐžĐšŅŅ‚Đ˛ Đ´ĐģŅ Ņ‚Ņ€Đ°ĐŊҁĐģŅŅ†Đ¸Đ¸", "no_checksum_local": "КоĐŊŅ‚Ņ€ĐžĐģҌĐŊŅ‹Đĩ ҁ҃ĐŧĐŧŅ‹ ĐžŅ‚ŅŅƒŅ‚ŅŅ‚Đ˛ŅƒŅŽŅ‚ - ĐŊĐĩвОСĐŧĐžĐļĐŊĐž ĐŋĐžĐģŅƒŅ‡Đ¸Ņ‚ŅŒ ĐžĐąŅŠĐĩĐē҂ҋ ĐŊа ŅƒŅŅ‚Ņ€ĐžĐšŅŅ‚Đ˛Đĩ", "no_checksum_remote": "КоĐŊŅ‚Ņ€ĐžĐģҌĐŊŅ‹Đĩ ҁ҃ĐŧĐŧŅ‹ ĐžŅ‚ŅŅƒŅ‚ŅŅ‚Đ˛ŅƒŅŽŅ‚ - ĐŊĐĩвОСĐŧĐžĐļĐŊĐž ĐŋĐžĐģŅƒŅ‡Đ¸Ņ‚ŅŒ ĐžĐąŅŠĐĩĐē҂ҋ ҁ ҁĐĩŅ€Đ˛ĐĩŅ€Đ°", + "no_devices": "НĐĩŅ‚ Đ°Đ˛Ņ‚ĐžŅ€Đ¸ĐˇĐžĐ˛Đ°ĐŊĐŊҋ҅ ŅƒŅŅ‚Ņ€ĐžĐšŅŅ‚Đ˛", "no_duplicates_found": "Đ”ŅƒĐąĐģиĐēĐ°Ņ‚ĐžĐ˛ ĐŊĐĩ ОйĐŊĐ°Ņ€ŅƒĐļĐĩĐŊĐž.", "no_exif_info_available": "НĐĩŅ‚ Đ´ĐžŅŅ‚ŅƒĐŋĐŊОК иĐŊŅ„ĐžŅ€ĐŧĐ°Ņ†Đ¸Đ¸ exif", "no_explore_results_message": "Đ—Đ°ĐŗŅ€ŅƒĐļĐ°ĐšŅ‚Đĩ йОĐģҌ҈Đĩ Ņ„ĐžŅ‚ĐžĐŗŅ€Đ°Ņ„Đ¸Đš, Ņ‡Ņ‚ĐžĐąŅ‹ ĐŊĐ°ŅĐģаĐļĐ´Đ°Ņ‚ŅŒŅŅ Đ˛Đ°ŅˆĐĩĐš ĐēĐžĐģĐģĐĩĐēŅ†Đ¸ĐĩĐš.", "no_favorites_message": "ДобавĐģŅĐšŅ‚Đĩ ĐžĐąŅŠĐĩĐē҂ҋ в Đ¸ĐˇĐąŅ€Đ°ĐŊĐŊĐžĐĩ, Ņ‡Ņ‚ĐžĐąŅ‹ ĐąŅ‹ŅŅ‚Ņ€ĐĩĐĩ ĐŊĐ°Ņ…ĐžĐ´Đ¸Ņ‚ŅŒ ŅĐ˛ĐžĐ¸ ĐģŅƒŅ‡ŅˆĐ¸Đĩ Ņ„ĐžŅ‚Đž и видĐĩĐž", "no_libraries_message": "ĐĄĐžĐˇĐ´Đ°ĐšŅ‚Đĩ вĐŊĐĩ҈ĐŊŅŽŅŽ йийĐģĐ¸ĐžŅ‚ĐĩĐē҃ Đ´ĐģŅ ĐŋŅ€ĐžŅĐŧĐžŅ‚Ņ€Đ° в Immich ŅŅ‚ĐžŅ€ĐžĐŊĐŊĐ¸Ņ… Ņ„ĐžŅ‚ĐžĐŗŅ€Đ°Ņ„Đ¸Đš и видĐĩĐž", "no_local_assets_found": "На ŅƒŅŅ‚Ņ€ĐžĐšŅŅ‚Đ˛Đĩ ĐŊĐĩ ĐŊаКдĐĩĐŊĐž ĐžĐąŅŠĐĩĐēŅ‚ĐžĐ˛ ҁ Ņ‚Đ°ĐēОК ĐēĐžĐŊŅ‚Ņ€ĐžĐģҌĐŊОК ҁ҃ĐŧĐŧОК", + "no_location_set": "МĐĩŅŅ‚ĐžĐŋĐžĐģĐžĐļĐĩĐŊиĐĩ ĐŊĐĩ ŅƒŅŅ‚Đ°ĐŊОвĐģĐĩĐŊĐž", "no_locked_photos_message": "Đ¤ĐžŅ‚Đž и видĐĩĐž, ĐŋĐĩŅ€ĐĩĐŧĐĩ҉ĐĩĐŊĐŊŅ‹Đĩ в ĐģĐ¸Ņ‡ĐŊŅƒŅŽ ĐŋаĐŋĐē҃, ҁĐēҀҋ҂ҋ и ĐŊĐĩ ĐžŅ‚ĐžĐąŅ€Đ°ĐļĐ°ŅŽŅ‚ŅŅ ĐŋŅ€Đ¸ ĐŋŅ€ĐžŅĐŧĐžŅ‚Ņ€Đĩ йийĐģĐ¸ĐžŅ‚ĐĩĐēи.", "no_name": "НĐĩŅ‚ иĐŧĐĩĐŊи", "no_notifications": "НĐĩŅ‚ ŅƒĐ˛ĐĩĐ´ĐžĐŧĐģĐĩĐŊиК", @@ -1434,9 +1459,10 @@ "no_places": "НĐĩŅ‚ ĐŧĐĩҁ҂", "no_remote_assets_found": "На ҁĐĩŅ€Đ˛ĐĩŅ€Đĩ ĐŊĐĩ ĐŊаКдĐĩĐŊĐž ĐžĐąŅŠĐĩĐēŅ‚ĐžĐ˛ ҁ Ņ‚Đ°ĐēОК ĐēĐžĐŊŅ‚Ņ€ĐžĐģҌĐŊОК ҁ҃ĐŧĐŧОК", "no_results": "НĐĩŅ‚ Ņ€ĐĩĐˇŅƒĐģŅŒŅ‚Đ°Ņ‚ĐžĐ˛", - "no_results_description": "ПоĐŋŅ€ĐžĐąŅƒĐšŅ‚Đĩ Đ¸ŅĐŋĐžĐģŅŒĐˇĐžĐ˛Đ°Ņ‚ŅŒ ŅĐ¸ĐŊĐžĐŊиĐŧ иĐģи йОĐģĐĩĐĩ ĐžĐąŅ‰ĐĩĐĩ ĐēĐģŅŽŅ‡ĐĩвОĐĩ ҁĐģОвО", - "no_shared_albums_message": "ĐĄĐžĐˇĐ´Đ°ĐšŅ‚Đĩ аĐģŅŒĐąĐžĐŧ Đ´ĐģŅ ОйĐŧĐĩĐŊа Ņ„ĐžŅ‚ĐžĐŗŅ€Đ°Ņ„Đ¸ŅĐŧи и видĐĩОСаĐŋĐ¸ŅŅĐŧи ҁ ĐģŅŽĐ´ŅŒĐŧи в Đ˛Đ°ŅˆĐĩĐš ҁĐĩŅ‚Đ¸", + "no_results_description": "ПоĐŋŅ€ĐžĐąŅƒĐšŅ‚Đĩ Đ¸ŅĐŋĐžĐģŅŒĐˇĐžĐ˛Đ°Ņ‚ŅŒ ŅĐ¸ĐŊĐžĐŊиĐŧŅ‹ иĐģи йОĐģĐĩĐĩ ĐžĐąŅ‰Đ¸Đĩ ҁĐģОва", + "no_shared_albums_message": "ĐĄĐžĐˇĐ´Đ°Đ˛Đ°ĐšŅ‚Đĩ аĐģŅŒĐąĐžĐŧŅ‹ Đ´ĐģŅ ОйĐŧĐĩĐŊа Ņ„ĐžŅ‚ĐžĐŗŅ€Đ°Ņ„Đ¸ŅĐŧи и видĐĩОСаĐŋĐ¸ŅŅĐŧи ҁ ĐģŅŽĐ´ŅŒĐŧи в Đ˛Đ°ŅˆĐĩĐš ҁĐĩŅ‚Đ¸", "no_uploads_in_progress": "НĐĩŅ‚ аĐēŅ‚Đ¸Đ˛ĐŊҋ҅ ĐˇĐ°ĐŗŅ€ŅƒĐˇĐžĐē", + "not_allowed": "ЗаĐŋŅ€Đĩ҉ĐĩĐŊĐž", "not_available": "НĐĩŅ‚ даĐŊĐŊҋ҅", "not_in_any_album": "Ни в ОдĐŊĐžĐŧ аĐģŅŒĐąĐžĐŧĐĩ", "not_selected": "НĐĩ Đ˛Ņ‹ĐąŅ€Đ°ĐŊĐž", @@ -1453,7 +1479,7 @@ "oauth": "OAuth", "obtainium_configurator": "ĐĐ°ŅŅ‚Ņ€ĐžĐšĐēа Obtainium", "obtainium_configurator_instructions": "ДĐģŅ ŅƒŅŅ‚Đ°ĐŊОвĐēи и ОйĐŊОвĐģĐĩĐŊĐ¸Ņ Android ĐŋŅ€Đ¸ĐģĐžĐļĐĩĐŊĐ¸Ņ Immich ĐŊаĐŋŅ€ŅĐŧŅƒŅŽ иС Đ¸ŅŅ‚ĐžŅ‡ĐŊиĐēОв ĐŊа GitHub (ĐŧиĐŊŅƒŅ ĐŧĐ°ĐŗĐ°ĐˇĐ¸ĐŊŅ‹ ĐŋŅ€Đ¸ĐģĐžĐļĐĩĐŊиК) ĐŧĐžĐļĐŊĐž Đ¸ŅĐŋĐžĐģŅŒĐˇĐžĐ˛Đ°Ņ‚ŅŒ Obtainium. ĐĄĐžĐˇĐ´Đ°ĐšŅ‚Đĩ ĐŊĐžĐ˛Ņ‹Đš API ĐēĐģŅŽŅ‡ и ҃ĐēаĐļĐ¸Ņ‚Đĩ Đ°Ņ€Ņ…Đ¸Ņ‚ĐĩĐēŅ‚ŅƒŅ€Ņƒ ĐŋŅ€Đ¸ĐģĐžĐļĐĩĐŊĐ¸Ņ Đ´ĐģŅ Ņ„ĐžŅ€ĐŧĐ¸Ņ€ĐžĐ˛Đ°ĐŊĐ¸Ņ ҁҁҋĐģĐēи Đ´ĐģŅ Obtainium.", - "ocr": "OCR", + "ocr": "ĐĸĐĩĐēҁ҂ (OCR)", "official_immich_resources": "ĐžŅ„Đ¸Ņ†Đ¸Đ°ĐģҌĐŊŅ‹Đĩ Ņ€ĐĩŅŅƒŅ€ŅŅ‹ Immich", "offline": "НĐĩĐ´ĐžŅŅ‚ŅƒĐŋĐĩĐŊ", "offset": "ĐĄĐŧĐĩ҉ĐĩĐŊиĐĩ", @@ -1461,10 +1487,10 @@ "oldest_first": "ĐĄĐŊĐ°Ņ‡Đ°Đģа ŅŅ‚Đ°Ņ€Ņ‹Đĩ", "on_this_device": "На ŅŅ‚ĐžĐŧ ŅƒŅŅ‚Ņ€ĐžĐšŅŅ‚Đ˛Đĩ", "onboarding": "ĐĐ°Ņ‡Đ°ĐģĐž Ņ€Đ°ĐąĐžŅ‚Ņ‹", - "onboarding_locale_description": "Đ’Ņ‹ĐąĐĩŅ€Đ¸Ņ‚Đĩ ŅĐˇŅ‹Đē ĐŋŅ€Đ¸ĐģĐžĐļĐĩĐŊĐ¸Ņ. ĐŸŅ€Đ¸ ĐŊĐĩĐžĐąŅ…ĐžĐ´Đ¸ĐŧĐžŅŅ‚Đ¸ ĐĩĐŗĐž ĐŋĐžŅ‚ĐžĐŧ ĐŧĐžĐļĐŊĐž ĐąŅƒĐ´ĐĩŅ‚ иСĐŧĐĩĐŊĐ¸Ņ‚ŅŒ в ĐŊĐ°ŅŅ‚Ņ€ĐžĐšĐēĐ°Ņ….", + "onboarding_locale_description": "Đ’Ņ‹ĐąĐĩŅ€Đ¸Ņ‚Đĩ ŅĐˇŅ‹Đē ĐŋŅ€Đ¸ĐģĐžĐļĐĩĐŊĐ¸Ņ (ĐŧĐžĐļĐŊĐž ĐŋОСĐļĐĩ иСĐŧĐĩĐŊĐ¸Ņ‚ŅŒ в ĐŊĐ°ŅŅ‚Ņ€ĐžĐšĐēĐ°Ņ…).", "onboarding_privacy_description": "ĐĄĐģĐĩĐ´ŅƒŅŽŅ‰Đ¸Đĩ ĐŊĐĩĐžĐąŅĐˇĐ°Ņ‚ĐĩĐģҌĐŊŅ‹Đĩ Ņ„ŅƒĐŊĐēŅ†Đ¸Đ¸ ĐˇĐ°Đ˛Đ¸ŅŅŅ‚ ĐžŅ‚ вĐŊĐĩ҈ĐŊĐ¸Ņ… ҁĐĩŅ€Đ˛Đ¸ŅĐžĐ˛ и в ĐģŅŽĐąĐžĐĩ Đ˛Ņ€ĐĩĐŧŅ ĐŧĐžĐŗŅƒŅ‚ ĐąŅ‹Ņ‚ŅŒ ĐžŅ‚ĐēĐģŅŽŅ‡ĐĩĐŊŅ‹ в ĐŊĐ°ŅŅ‚Ņ€ĐžĐšĐēĐ°Ņ….", - "onboarding_server_welcome_description": "Đ”Đ°Đ˛Đ°ĐšŅ‚Đĩ ĐŊĐ°ŅŅ‚Ņ€ĐžĐ¸Đŧ Đ˛Đ°Ņˆ ŅĐēСĐĩĐŧĐŋĐģŅŅ€ ҁ ĐŋĐžĐŧĐžŅ‰ŅŒŅŽ ĐŊĐĩĐēĐžŅ‚ĐžŅ€Ņ‹Ņ… ĐžĐąŅ‰Đ¸Ņ… ĐŋĐ°Ņ€Đ°ĐŧĐĩŅ‚Ņ€ĐžĐ˛.", - "onboarding_theme_description": "Đ’Ņ‹ĐąĐĩŅ€Đ¸Ņ‚Đĩ Ņ‚ĐĩĐŧ҃. Đ’Ņ‹ Ņ‚Đ°ĐēĐļĐĩ ҁĐŧĐžĐļĐĩŅ‚Đĩ иСĐŧĐĩĐŊĐ¸Ņ‚ŅŒ ĐĩŅ‘ ĐŋОСĐļĐĩ в ĐŊĐ°ŅŅ‚Ņ€ĐžĐšĐēĐ°Ņ….", + "onboarding_server_welcome_description": "Đ”Đ°Đ˛Đ°ĐšŅ‚Đĩ ĐŊĐ°Ņ‡ĐŊŅ‘Đŧ ҁ ĐŊĐ°ŅŅ‚Ņ€ĐžĐšĐēи ĐŊĐĩҁĐēĐžĐģҌĐēĐ¸Ņ… ĐŋĐ°Ņ€Đ°ĐŧĐĩŅ‚Ņ€ĐžĐ˛ Đ˛Đ°ŅˆĐĩĐŗĐž ҁĐĩŅ€Đ˛ĐĩŅ€Đ°.", + "onboarding_theme_description": "Đ’Ņ‹ĐąĐĩŅ€Đ¸Ņ‚Đĩ Ņ‚ĐĩĐŧ҃ (ĐŧĐžĐļĐŊĐž ĐŋОСĐļĐĩ иСĐŧĐĩĐŊĐ¸Ņ‚ŅŒ в ĐŊĐ°ŅŅ‚Ņ€ĐžĐšĐēĐ°Ņ…).", "onboarding_user_welcome_description": "Đ”Đ°Đ˛Đ°ĐšŅ‚Đĩ ĐŊĐ°Ņ‡ĐŊĐĩĐŧ!", "onboarding_welcome_user": "Đ”ĐžĐąŅ€Đž ĐŋĐžĐļаĐģĐžĐ˛Đ°Ņ‚ŅŒ, {user}", "online": "Đ”ĐžŅŅ‚ŅƒĐŋĐĩĐŊ", @@ -1547,6 +1573,8 @@ "photos_count": "{count, plural, one {{count, number} Ņ„ĐžŅ‚Đž} other {{count, number} Ņ„ĐžŅ‚Đž}}", "photos_from_previous_years": "Đ¤ĐžŅ‚ĐžĐŗŅ€Đ°Ņ„Đ¸Đ¸ ĐŋŅ€ĐžŅˆĐģҋ҅ ĐģĐĩŅ‚ в ŅŅ‚ĐžŅ‚ Đ´ĐĩĐŊҌ", "pick_a_location": "Đ’Ņ‹ĐąŅ€Đ°Ņ‚ŅŒ ĐŧĐĩŅŅ‚ĐžĐŋĐžĐģĐžĐļĐĩĐŊиĐĩ", + "pick_custom_range": "ĐŸŅ€ĐžĐ¸ĐˇĐ˛ĐžĐģҌĐŊŅ‹Đš ĐŋĐĩŅ€Đ¸ĐžĐ´", + "pick_date_range": "Đ’Ņ‹ĐąĐĩŅ€Đ¸Ņ‚Đĩ ĐŋĐĩŅ€Đ¸ĐžĐ´", "pin_code_changed_successfully": "PIN-ĐēОд ҃ҁĐŋĐĩ҈ĐŊĐž иСĐŧĐĩĐŊŅ‘ĐŊ", "pin_code_reset_successfully": "PIN-ĐēОд ҃ҁĐŋĐĩ҈ĐŊĐž ŅĐąŅ€ĐžŅˆĐĩĐŊ", "pin_code_setup_successfully": "PIN-ĐēОд ҃ҁĐŋĐĩ҈ĐŊĐž ŅƒŅŅ‚Đ°ĐŊОвĐģĐĩĐŊ", @@ -1814,6 +1842,8 @@ "server_offline": "ĐžŅ„Ņ„ĐģаКĐŊ", "server_online": "ĐĄĐĩŅ€Đ˛ĐĩŅ€ в ҁĐĩŅ‚Đ¸", "server_privacy": "КоĐŊŅ„Đ¸Đ´ĐĩĐŊŅ†Đ¸Đ°ĐģҌĐŊĐžŅŅ‚ŅŒ ҁĐĩŅ€Đ˛ĐĩŅ€Đ°", + "server_restarting_description": "ĐĄŅ‚Ņ€Đ°ĐŊĐ¸Ņ†Đ° ҁĐēĐžŅ€Đž ОйĐŊĐžĐ˛Đ¸Ņ‚ŅŅ.", + "server_restarting_title": "ĐĄĐĩŅ€Đ˛ĐĩŅ€ ĐŋĐĩŅ€ĐĩСаĐŋ҃ҁĐēаĐĩŅ‚ŅŅ", "server_stats": "ĐĄŅ‚Đ°Ņ‚Đ¸ŅŅ‚Đ¸Đēа ҁĐĩŅ€Đ˛ĐĩŅ€Đ°", "server_update_available": "Đ”ĐžŅŅ‚ŅƒĐŋĐŊа ĐŊĐžĐ˛Đ°Ņ вĐĩŅ€ŅĐ¸Ņ ҁĐĩŅ€Đ˛ĐĩŅ€Đ°", "server_version": "ВĐĩŅ€ŅĐ¸Ņ ҁĐĩŅ€Đ˛ĐĩŅ€Đ°", @@ -1931,10 +1961,10 @@ "show_or_hide_info": "ПоĐēĐ°ĐˇĐ°Ņ‚ŅŒ иĐģи ҁĐēŅ€Ņ‹Ņ‚ŅŒ иĐŊŅ„ĐžŅ€ĐŧĐ°Ņ†Đ¸ŅŽ", "show_password": "ПоĐēĐ°ĐˇĐ°Ņ‚ŅŒ ĐŋĐ°Ņ€ĐžĐģҌ", "show_person_options": "ДĐĩĐšŅŅ‚Đ˛Đ¸Ņ ҁ ҇ĐĩĐģОвĐĩĐēĐžĐŧ", - "show_progress_bar": "ПоĐēĐ°ĐˇĐ°Ņ‚ŅŒ ИĐŊдиĐēĐ°Ņ‚ĐžŅ€ Đ’Ņ‹ĐŋĐžĐģĐŊĐĩĐŊĐ¸Ņ", + "show_progress_bar": "ĐžŅ‚ĐžĐąŅ€Đ°ĐļĐ°Ņ‚ŅŒ иĐŊдиĐēĐ°Ņ‚ĐžŅ€ Đ˛Ņ‹ĐŋĐžĐģĐŊĐĩĐŊĐ¸Ņ", "show_search_options": "ПоĐēĐ°ĐˇĐ°Ņ‚ŅŒ ĐŋĐ°Ņ€Đ°ĐŧĐĩ҂Ҁҋ ĐŋĐžĐ¸ŅĐēа", "show_shared_links": "ПоĐēĐ°ĐˇĐ°Ņ‚ŅŒ ĐŋŅƒĐąĐģĐ¸Ņ‡ĐŊŅ‹Đĩ ҁҁҋĐģĐēи", - "show_slideshow_transition": "ПоĐēĐ°ĐˇĐ°Ņ‚ŅŒ ҁĐģаКд-ŅˆĐžŅƒ ĐŋĐĩŅ€ĐĩŅ…ĐžĐ´", + "show_slideshow_transition": "ПĐģавĐŊŅ‹Đš ĐŋĐĩŅ€ĐĩŅ…ĐžĐ´", "show_supporter_badge": "ЗĐŊĐ°Ņ‡ĐžĐē ĐŋОддĐĩŅ€ĐļĐēи", "show_supporter_badge_description": "ПоĐēĐ°ĐˇĐ°Ņ‚ŅŒ СĐŊĐ°Ņ‡ĐžĐē ĐŋОддĐĩŅ€ĐļĐēи", "show_text_search_menu": "ПоĐēĐ°ĐˇĐ°Ņ‚ŅŒ ĐŧĐĩĐŊŅŽ Ņ‚ĐĩĐēŅŅ‚ĐžĐ˛ĐžĐŗĐž ĐŋĐžĐ¸ŅĐēа", @@ -2027,6 +2057,7 @@ "third_party_resources": "ĐĄŅ‚ĐžŅ€ĐžĐŊĐŊиĐĩ Ņ€ĐĩŅŅƒŅ€ŅŅ‹", "time": "Đ’Ņ€ĐĩĐŧŅ", "time_based_memories": "Đ’ĐžŅĐŋĐžĐŧиĐŊаĐŊĐ¸Ņ, ĐžŅĐŊОваĐŊĐŊŅ‹Đĩ ĐŊа Đ˛Ņ€ĐĩĐŧĐĩĐŊи", + "time_based_memories_duration": "ДĐģĐ¸Ņ‚ĐĩĐģҌĐŊĐžŅŅ‚ŅŒ ĐŋĐžĐēаСа ҁĐģаКдОв в ҁĐĩĐē҃ĐŊĐ´Đ°Ņ…", "timeline": "Đ’Ņ€ĐĩĐŧĐĩĐŊĐŊĐ°Ņ ҈ĐēаĐģа", "timezone": "Đ§Đ°ŅĐžĐ˛ĐžĐš ĐŋĐžŅŅ", "to_archive": "В Đ°Ņ€Ņ…Đ¸Đ˛", @@ -2167,6 +2198,7 @@ "welcome": "Đ”ĐžĐąŅ€Đž ĐŋĐžĐļаĐģĐžĐ˛Đ°Ņ‚ŅŒ", "welcome_to_immich": "Đ”ĐžĐąŅ€Đž ĐŋĐžĐļаĐģĐžĐ˛Đ°Ņ‚ŅŒ в Immich", "wifi_name": "ИĐŧŅ ҁĐĩŅ‚Đ¸", + "workflow": "Đ Đ°ĐąĐžŅ‡Đ¸Đš ĐŋŅ€ĐžŅ†Đĩҁҁ", "wrong_pin_code": "НĐĩвĐĩŅ€ĐŊŅ‹Đš PIN-ĐēОд", "year": "Год", "years_ago": "{years, plural, one {# ĐŗĐžĐ´} few {# ĐŗĐžĐ´Đ°} many {# ĐģĐĩŅ‚} other {# ĐŗĐžĐ´Đ°}} ĐŊаСад", diff --git a/i18n/si.json b/i18n/si.json new file mode 100644 index 0000000000..0967ef424b --- /dev/null +++ b/i18n/si.json @@ -0,0 +1 @@ +{} diff --git a/i18n/sk.json b/i18n/sk.json index 010ee89b3a..5deadabec0 100644 --- a/i18n/sk.json +++ b/i18n/sk.json @@ -17,7 +17,6 @@ "add_birthday": "PridaÅĨ narodeniny", "add_endpoint": "PridaÅĨ koncovÃŊ bod", "add_exclusion_pattern": "PridaÅĨ vzor vylÃēčenia", - "add_import_path": "PridaÅĨ cestu pre import", "add_location": "PridaÅĨ polohu", "add_more_users": "PridaÅĨ viac pouŞívateÄžov", "add_partner": "PridaÅĨ partnera", @@ -32,6 +31,7 @@ "add_to_album_toggle": "PrepnÃēÅĨ vÃŊber pre {album}", "add_to_albums": "PridaÅĨ do albumov", "add_to_albums_count": "PridaÅĨ do albumov ({count})", + "add_to_bottom_bar": "PridaÅĨ do", "add_to_shared_album": "PridaÅĨ do zdieÄžanÊho albumu", "add_upload_to_stack": "NahraÅĨ a pridaÅĨ do zoskupenÃŊch", "add_url": "PridaÅĨ URL", @@ -112,13 +112,17 @@ "jobs_failed": "{jobCount, plural, one {# neÃēspeÅĄnÃŊ} few {# neÃēspeÅĄnÊ} other {# neÃēspeÅĄnÃŊch}}", "library_created": "VytvorenÃĄ kniÅžnica: {library}", "library_deleted": "KniÅžnica bola vymazanÃĄ", - "library_import_path_description": "ZvoÄžte priečinok na importovanie. Tento priečinok vrÃĄtane podpriečinkov bude skenovanÃŊ pre obrÃĄzky a videÃĄ.", + "library_details": "Podrobnosti o kniÅžnici", + "library_folder_description": "Určite priečinok, ktorÃŊ chcete importovaÅĨ. Tento priečinok vrÃĄtane podpriečinkov bude prehÄžadanÃŊ na prítomnosÅĨ obrÃĄzkov a videí.", + "library_remove_exclusion_pattern_prompt": "Naozaj chcete odstrÃĄniÅĨ tento vzor vylÃēčenia?", + "library_remove_folder_prompt": "Naozaj chcete odstrÃĄniÅĨ tento importovanÃŊ priečinok?", "library_scanning": "PravidelnÊ skenovanie", "library_scanning_description": "NastaviÅĨ pravidelnÊ skenovanie kniÅžnice", "library_scanning_enable_description": "ZapnÃēÅĨ pravidelnÊ skenovanie kniÅžnice", "library_settings": "ExternÃĄ kniÅžnica", "library_settings_description": "SpravovaÅĨ nastavenia externej kniÅžnice", "library_tasks_description": "VyhÄžadajte novÊ alebo zmenenÊ mÊdiÃĄ v externÃŊch kniÅžniciach", + "library_updated": "AktualizovanÃĄ kniÅžnica", "library_watching_enable_description": "SledovaÅĨ externÊ kniÅžnice pre zmeny v sÃēboroch", "library_watching_settings": "Sledovanie kniÅžnice [EXPERIMENTÁLNE]", "library_watching_settings_description": "Automaticky sledovaÅĨ zmenenÊ sÃēbory", @@ -173,6 +177,10 @@ "machine_learning_smart_search_enabled": "PovoliÅĨ inteligentnÊ vyhÄžadÃĄvanie", "machine_learning_smart_search_enabled_description": "Ak je vypnutÊ, obrÃĄzky nebudÃē spracovanÊ pre inteligentnÊ vyhÄžadÃĄvanie.", "machine_learning_url_description": "URL adresa servera strojovÊho učenia. Ak je zadanÃŊch viacero adries URL, kaÅždÃŊ server bude testovanÃŊ postupne, kÃŊm jeden z nich neodpovie ÃēspeÅĄne, v poradí od prvÊho po poslednÃŊ. Servery, ktorÊ neodpovedajÃē, budÃē dočasne ignorovanÊ, kÃŊm nebudÃē opäÅĨ online.", + "maintenance_settings": "ÚdrÅžba", + "maintenance_settings_description": "PrepnÃēÅĨ Immich do reÅžimu ÃēdrÅžby.", + "maintenance_start": "SpustiÅĨ reÅžim ÃēdrÅžby", + "maintenance_start_error": "Nepodarilo sa spustiÅĨ reÅžim ÃēdrÅžby.", "manage_concurrency": "SpravovaÅĨ sÃēbeÅžnosÅĨ", "manage_log_settings": "SpravovaÅĨ nastavenia ukladania zÃĄznamov", "map_dark_style": "TmavÃŊ ÅĄtÃŊl", @@ -430,6 +438,7 @@ "age_months": "Vek {months, plural, one {# mesiac} few {# mesiace} other {# mesiacov}}", "age_year_months": "Vek 1 rok, {months, plural, one {# mesiac} few {# mesiace} other {# mesiacov}}", "age_years": "{years, plural, other {Vek #}}", + "album": "Album", "album_added": "Album bol pridanÃŊ", "album_added_notification_setting_description": "ObdrÅžaÅĨ upozornenie emailom, keď vÃĄs pridajÃē do zdieÄžanÊho albumu", "album_cover_updated": "Obal albumu aktualizovanÃŊ", @@ -475,6 +484,7 @@ "allow_edits": "PovoliÅĨ Ãēpravy", "allow_public_user_to_download": "PovoliÅĨ verejnÊmu pouŞívateÄžovi stiahnutie", "allow_public_user_to_upload": "UmoÅžniÅĨ verejnÊmu pouŞívateÄžovi nahraÅĨ", + "allowed": "PovolenÊ", "alt_text_qr_code": "ObrÃĄzok QR kÃŗdu", "anti_clockwise": "Proti smeru hodinovÃŊch ručičiek", "api_key": "API KlÃēč", @@ -894,8 +904,6 @@ "edit_description_prompt": "Vyberte prosím novÃŊ popis:", "edit_exclusion_pattern": "UpraviÅĨ vzor vylÃēčenia", "edit_faces": "UpraviÅĨ tvÃĄre", - "edit_import_path": "UpraviÅĨ cestu importu", - "edit_import_paths": "UpraviÅĨ cesty importu", "edit_key": "UpraviÅĨ kÄžÃēč", "edit_link": "UpraviÅĨ odkaz", "edit_location": "UpraviÅĨ polohu", @@ -967,8 +975,8 @@ "failed_to_stack_assets": "Nepodarilo sa zoskupiÅĨ poloÅžky", "failed_to_unstack_assets": "Nepodarilo sa zruÅĄiÅĨ zoskupenie poloÅžiek", "failed_to_update_notification_status": "Nepodarilo sa aktualizovaÅĨ stav oznÃĄmenia", - "import_path_already_exists": "TÃĄto cesta importu uÅž existuje.", "incorrect_email_or_password": "NesprÃĄvny e-mail alebo heslo", + "library_folder_already_exists": "TÃĄto cesta importu uÅž existuje.", "paths_validation_failed": "{paths, plural, one {# cesta zlyhala} few {# cesty zlyhali} other {# ciest zlyhalo}} pri validÃĄcii", "profile_picture_transparent_pixels": "ProfilovÊ obrÃĄzky nemôŞu maÅĨ priehÄžadnÊ pixely. Prosím priblíŞte a/alebo posuňte obrÃĄzok.", "quota_higher_than_disk_size": "Nastavili ste kvÃŗtu vyÅĄÅĄiu ako je veÄžkosÅĨ disku", @@ -977,7 +985,6 @@ "unable_to_add_assets_to_shared_link": "Nie je moÅžnÊ pridaÅĨ poloÅžky k zdieÄžanÊmu odkazu", "unable_to_add_comment": "Nie je moÅžnÊ pridaÅĨ komentÃĄr", "unable_to_add_exclusion_pattern": "Nie je moÅžnÊ pridaÅĨ vzor vylÃēčenia", - "unable_to_add_import_path": "Nie je moÅžnÊ pridaÅĨ cestu importu", "unable_to_add_partners": "Nie je moÅžnÊ pridaÅĨ partnerov", "unable_to_add_remove_archive": "Nie je moÅžnÊ {archived, select, true {odstrÃĄniÅĨ poloÅžku z} other {pridaÅĨ poloÅžku do}} archívu", "unable_to_add_remove_favorites": "Nepodarilo sa {favorite, select, true {pridaÅĨ poloÅžku do} other {odstrÃĄniÅĨ poloÅžku z}} obÄžÃēbenÃŊch", @@ -1000,12 +1007,10 @@ "unable_to_delete_asset": "Nie je moÅžnÊ vymazaÅĨ poloÅžku", "unable_to_delete_assets": "Chyba pri odstraňovaní poloÅžiek", "unable_to_delete_exclusion_pattern": "Nie je moÅžnÊ vymazaÅĨ vylučovací vzor", - "unable_to_delete_import_path": "Nie je moÅžnÊ odstrÃĄniÅĨ cestu importu", "unable_to_delete_shared_link": "Nie je moÅžnÊ vymazaÅĨ zdieÄžanÃŊ odkaz", "unable_to_delete_user": "Nie je moÅžnÊ vymazaÅĨ pouŞívateÄža", "unable_to_download_files": "Nie je moÅžnÊ stiahnuÅĨ sÃēbory", "unable_to_edit_exclusion_pattern": "Nie je moÅžnÊ upraviÅĨ vzorec vylÃēčenia", - "unable_to_edit_import_path": "Nie je moÅžnÊ upraviÅĨ cestu importu", "unable_to_empty_trash": "Nie je moÅžnÊ vyprÃĄzdniÅĨ kÃ´ÅĄ", "unable_to_enter_fullscreen": "Nie je moÅžnÊ prejsÅĨ do reÅžimu celej obrazovky", "unable_to_exit_fullscreen": "Nie je moÅžnÊ opustiÅĨ reÅžim celej obrazovky", @@ -1056,6 +1061,7 @@ "unable_to_update_user": "Nie je moÅžnÊ aktualizovaÅĨ pouŞívateÄža", "unable_to_upload_file": "Nie je moÅžnÊ nahraÅĨ sÃēbor" }, + "exclusion_pattern": "Vzor vylÃēčenia", "exif": "Exif", "exif_bottom_sheet_description": "PridaÅĨ popis...", "exif_bottom_sheet_description_error": "Chyba pri aktualizÃĄcii popisu", @@ -1115,6 +1121,7 @@ "folders_feature_description": "Prezeranie zobrazenia priečinkov fotografií a videí v systÊme sÃēborov", "forgot_pin_code_question": "Zabudli ste svoj PIN kÃŗd?", "forward": "Dopredu", + "full_path": "CelÃĄ cesta: {path}", "gcast_enabled": "Google Cast", "gcast_enabled_description": "TÃĄto funkcia načítava externÊ zdroje zo spoločnosti Google, aby mohla fungovaÅĨ.", "general": "VÅĄeobecnÊ", @@ -1196,6 +1203,8 @@ "import_path": "Cesta na import", "in_albums": "V {count, plural, one {# albume} other {# albumoch}}", "in_archive": "V archíve", + "in_year": "V {year}", + "in_year_selector": "V", "include_archived": "ZahrnÃēÅĨ archivovanÊ", "include_shared_albums": "ZahrnÃēÅĨ zdieÄžanÊ albumy", "include_shared_partner_assets": "VrÃĄtane zdieÄžanÃŊch poloÅžiek partnera", @@ -1232,6 +1241,7 @@ "language_setting_description": "Vyberte poÅžadovanÃŊ jazyk", "large_files": "VeÄžkÊ sÃēbory", "last": "PoslednÊ", + "last_months": "{count, plural, one {MinulÃŊ mesiac} few {PoslednÊ # mesiace} other {PoslednÃŊch # mesiacov}}", "last_seen": "Naposledy videnÊ", "latest_version": "NajnovÅĄia verzia", "latitude": "ZemepisnÃĄ ÅĄÃ­rka", @@ -1241,6 +1251,8 @@ "let_others_respond": "Nechajte ostatnÃŊch reagovaÅĨ", "level": "Úroveň", "library": "KniÅžnica", + "library_add_folder": "PridaÅĨ priečinok", + "library_edit_folder": "UpraviÅĨ priečinok", "library_options": "MoÅžnosti kniÅžnice", "library_page_device_albums": "Albumy v zariadení", "library_page_new_album": "NovÃŊ album", @@ -1312,8 +1324,17 @@ "loop_videos_description": "Povolí prehrÃĄvanie videí v slučke v detailnom zobrazení.", "main_branch_warning": "PouŞívate vÃŊvojÃĄrsku verziu; dôrazne odporÃēčame pouŞívaÅĨ vydanÊ verzie!", "main_menu": "HlavnÃĄ ponuka", + "maintenance_description": "Immich bol prepnutÃŊ do reÅžimu ÃēdrÅžby.", + "maintenance_end": "UkončiÅĨ reÅžim ÃēdrÅžby", + "maintenance_end_error": "Nepodarilo sa ukončiÅĨ reÅžim ÃēdrÅžby.", + "maintenance_logged_in_as": "AktuÃĄlne prihlÃĄsenÃŊ ako {user}", + "maintenance_title": "Dočasne nedostupnÊ", "make": "VÃŊrobca", "manage_geolocation": "SpravovaÅĨ polohu", + "manage_media_access_rationale": "Toto povolenie je potrebnÊ na sprÃĄvne presÃēvanie sÃēborov do koÅĄa a ich obnovenie z neho.", + "manage_media_access_settings": "OtvoriÅĨ nastavenia", + "manage_media_access_subtitle": "PovoliÅĨ aplikÃĄcii Immich spravovaÅĨ a presÃēvaÅĨ mediÃĄlne sÃēbory.", + "manage_media_access_title": "Prístup k sprÃĄve mÊdií", "manage_shared_links": "SpravovaÅĨ zdieÄžanÊ odkazy", "manage_sharing_with_partners": "SpravovaÅĨ zdieÄžanie s partnermi", "manage_the_app_settings": "SpravovaÅĨ nastavenia aplikÃĄcie", @@ -1377,6 +1398,7 @@ "more": "Viac", "move": "PresunÃēÅĨ", "move_off_locked_folder": "PresunÃēÅĨ zo zamknutÊho priečinka", + "move_to": "PresunÃēÅĨ do", "move_to_lock_folder_action_prompt": "{count} pridanÃŊch do zamknutÊho priečinka", "move_to_locked_folder": "PresunÃēÅĨ do zamknutÊho priečinka", "move_to_locked_folder_confirmation": "Tieto fotografie a videÃĄ budÃē odobranÊ zo vÅĄetkÃŊch albumov a bude ich moÅžnÊ zobraziÅĨ len v zamknutom priečinku", @@ -1406,6 +1428,7 @@ "new_pin_code": "NovÃŊ PIN kÃŗd", "new_pin_code_subtitle": "Toto je vÃĄÅĄ prvÃŊ prístup k zamknutÊmu priečinku. Vytvorte si PIN kÃŗd na bezpečnÃŊ prístup k tejto strÃĄnke", "new_timeline": "NovÃĄ časovÃĄ os", + "new_update": "NovÃĄ aktualizÃĄcia", "new_user_created": "NovÃŊ pouŞívateÄž vytvorenÃŊ", "new_version_available": "JE DOSTUPNÁ NOVÁ VERZIA", "newest_first": "Najprv najnovÅĄie", @@ -1421,12 +1444,14 @@ "no_cast_devices_found": "NenaÅĄli sa Åžiadne zariadenia na prenos", "no_checksum_local": "Kontrola sÃēčtu nie je k dispozícii – nie je moÅžnÊ načítaÅĨ lokÃĄlne poloÅžky", "no_checksum_remote": "Kontrola sÃēčtu nie je k dispozícii – nie je moÅžnÊ načítaÅĨ vzdialenÊ poloÅžky", + "no_devices": "ÅŊiadne autorizovanÊ zariadenia", "no_duplicates_found": "NenaÅĄli sa Åžiadne duplicity.", "no_exif_info_available": "Nie sÃē dostupnÊ exif Ãēdaje", "no_explore_results_message": "Nahrajte viac fotiek na objavovanie vaÅĄej zbierky.", "no_favorites_message": "Pridajte si obÄžÃēbenÊ, aby ste rÃŊchlo naÅĄli svoje najlepÅĄie obrÃĄzky a videÃĄ", "no_libraries_message": "Vytvorte externÃē kniÅžnicu na prezeranie fotiek a videí", "no_local_assets_found": "Neboli nÃĄjdenÊ Åžiadne lokÃĄlne poloÅžky s touto kontrolnou sumou", + "no_location_set": "Nie je nastavenÃĄ Åžiadna poloha", "no_locked_photos_message": "Fotografie a videÃĄ v zamknutom priečinku sÃē skrytÊ a nezobrazujÃē sa pri prehÄžadÃĄvaní alebo vyhÄžadÃĄvaní v kniÅžnici.", "no_name": "Bez mena", "no_notifications": "ÅŊiadne oznÃĄmenia", @@ -1437,6 +1462,7 @@ "no_results_description": "SkÃēste synonymum alebo vÅĄeobecnejÅĄÃ­ vÃŊraz", "no_shared_albums_message": "Vytvorte album na zdieÄžanie fotiek a videí s Äžuďmi vo vaÅĄej sieti", "no_uploads_in_progress": "ÅŊiadne prebiehajÃēce nahrÃĄvanie", + "not_allowed": "NepovolenÊ", "not_available": "NedostupnÊ", "not_in_any_album": "Nie je v Åžiadnom albume", "not_selected": "NevybranÊ", @@ -1547,6 +1573,8 @@ "photos_count": "{count, plural, one {{count, number} fotka} few {{count, number} fotky} other {{count, number} fotiek}}", "photos_from_previous_years": "Fotky z minulÃŊch rokov", "pick_a_location": "Vyberte polohu", + "pick_custom_range": "VlastnÃŊ rozsah", + "pick_date_range": "VybraÅĨ rozsah dÃĄtumov", "pin_code_changed_successfully": "ÚspeÅĄne ste zmenili PIN kÃŗd", "pin_code_reset_successfully": "ÚspeÅĄne ste obnovili PIN kÃŗd", "pin_code_setup_successfully": "ÚspeÅĄne ste nastavili PIN kÃŗd", @@ -1814,6 +1842,8 @@ "server_offline": "Server je Offline", "server_online": "Server je Online", "server_privacy": "ZÃĄsady ochrany osobnÃŊch Ãēdajov servera", + "server_restarting_description": "TÃĄto strÃĄnka sa o chvíĞu obnoví.", + "server_restarting_title": "Server sa reÅĄtartuje", "server_stats": "Å tatistiky servera", "server_update_available": "AktualizÃĄcia servera je k dispozícii", "server_version": "Verzia servera", @@ -2027,6 +2057,7 @@ "third_party_resources": "Zdroje tretích strÃĄn", "time": "Čas", "time_based_memories": "ČasovÊ spomienky", + "time_based_memories_duration": "Počet sekÃēnd zobrazenia jednotlivÃŊch obrÃĄzkov.", "timeline": "ČasovÃĄ os", "timezone": "ČasovÊ pÃĄsmo", "to_archive": "ArchivovaÅĨ", @@ -2167,6 +2198,7 @@ "welcome": "Vitajte", "welcome_to_immich": "Vitajte v Immich", "wifi_name": "NÃĄzov Wi-Fi", + "workflow": "PracovnÃŊ postup", "wrong_pin_code": "NesprÃĄvny PIN kÃŗd", "year": "Rok", "years_ago": "pred {years, plural, one {# rokom} other {# rokmi}}", diff --git a/i18n/sl.json b/i18n/sl.json index 9ae16549f5..5a7887c365 100644 --- a/i18n/sl.json +++ b/i18n/sl.json @@ -17,7 +17,6 @@ "add_birthday": "Dodaj rojstni dan", "add_endpoint": "Dodaj končno točko", "add_exclusion_pattern": "Dodaj vzorec izključitve", - "add_import_path": "Dodaj pot uvoza", "add_location": "Dodaj lokacijo", "add_more_users": "Dodaj več uporabnikov", "add_partner": "Dodaj partnerja", @@ -32,6 +31,7 @@ "add_to_album_toggle": "Preklopi izbiro za {album}", "add_to_albums": "Dodaj v albume", "add_to_albums_count": "Dodaj v albume ({count})", + "add_to_bottom_bar": "Dodaj v", "add_to_shared_album": "Dodaj k deljenemu albumu", "add_upload_to_stack": "Dodaj nalaganje v sklad", "add_url": "Dodaj URL", @@ -112,13 +112,17 @@ "jobs_failed": "{jobCount, plural, other {# neuspeÅĄni}}", "library_created": "Ustvarjena knjiÅžnica: {library}", "library_deleted": "KnjiÅžnica izbrisana", - "library_import_path_description": "Določi mapo za uvoz. Ta mapa in njene podmape bodo pregledane za slike in video posnetke.", + "library_details": "Podrobnosti o knjiÅžnici", + "library_folder_description": "Določite mapo za uvoz. Ta mapa, vključno s podmapami, bo pregledana za slike in videoposnetke.", + "library_remove_exclusion_pattern_prompt": "Ali ste prepričani, da Åželite odstraniti ta vzorec izključitve?", + "library_remove_folder_prompt": "Ali ste prepričani, da Åželite odstraniti to mapo za uvoz?", "library_scanning": "Periodični pregledi", "library_scanning_description": "Nastavi periodični pregled knjiÅžnic", "library_scanning_enable_description": "Omogoči periodični pregled knjiÅžnic", "library_settings": "Zunanja knjiÅžnica", "library_settings_description": "Uredi nastavitve zunanje knjiÅžnice", "library_tasks_description": "Izvedi nalogo knjiÅžnice", + "library_updated": "Posodobljena knjiÅžnica", "library_watching_enable_description": "Opazuj spremembe datotek v zunanji knjiÅžnici", "library_watching_settings": "Opazovanje knjiÅžnice [POSKUSNO]", "library_watching_settings_description": "Samodejno opazuj spremembo datotek", @@ -173,6 +177,10 @@ "machine_learning_smart_search_enabled": "Omogoči pametno iskanje", "machine_learning_smart_search_enabled_description": "Če je onemogočeno, slike ne bodo kodirane za pametno iskanje.", "machine_learning_url_description": "URL streÅžnika za strojno učenje. Če je na voljo več kot en URL, bo vsak streÅžnik poskusen posamično, dokler se eden ne odzove uspeÅĄno, v vrstnem redu od prvega do zadnjega. StreÅžniki, ki se ne odzovejo, bodo začasno prezrti, dokler se spet ne vzpostavijo.", + "maintenance_settings": "VzdrÅževanje", + "maintenance_settings_description": "Preklopite Immich v vzdrÅževalni način.", + "maintenance_start": "ZaÅženi način vzdrÅževanja", + "maintenance_start_error": "VzdrÅževalnega načina ni bilo mogoče zagnati.", "manage_concurrency": "Upravljanje sočasnosti", "manage_log_settings": "Upravljanje nastavitev dnevnika", "map_dark_style": "Temni način", @@ -430,6 +438,7 @@ "age_months": "Starost {months, plural, one {# mesec} two {# meseca} few {# mesece} other {# mesecev}}", "age_year_months": "Starost 1 leto, {months, plural, one {# mesec} two {# meseca} few {# mesece} other {# mesecev}}", "age_years": "Starost {years, plural, one {# leto} two {# leti} few {# leta} other {# let}}", + "album": "Album", "album_added": "Album dodan", "album_added_notification_setting_description": "Prejmite e-poÅĄtno obvestilo, ko ste dodani v album v skupni rabi", "album_cover_updated": "Naslovnica albuma posodobljena", @@ -475,6 +484,7 @@ "allow_edits": "Dovoli urejanja", "allow_public_user_to_download": "Dovoli javnemu uporabniku prenos", "allow_public_user_to_upload": "Dovolite javnemu uporabniku nalaganje", + "allowed": "Dovoljeno", "alt_text_qr_code": "Slika QR kode", "anti_clockwise": "V nasprotni smeri urinega kazalca", "api_key": "API ključ", @@ -894,8 +904,6 @@ "edit_description_prompt": "Izberite nov opis:", "edit_exclusion_pattern": "Uredi vzorec izključitve", "edit_faces": "Uredi obraze", - "edit_import_path": "Uredi uvozno pot", - "edit_import_paths": "Uredi uvozne poti", "edit_key": "Uredi ključ", "edit_link": "Uredi povezavo", "edit_location": "Uredi lokacijo", @@ -967,8 +975,8 @@ "failed_to_stack_assets": "Zlaganje sredstev ni uspelo", "failed_to_unstack_assets": "Sredstev ni bilo mogoče razloÅžiti", "failed_to_update_notification_status": "Stanja obvestila ni bilo mogoče posodobiti", - "import_path_already_exists": "Ta uvozna pot Åže obstaja.", "incorrect_email_or_password": "Napačen e-poÅĄtni naslov ali geslo", + "library_folder_already_exists": "Ta pot uvoza Åže obstaja.", "paths_validation_failed": "{paths, plural, one {# pot ni bila uspeÅĄno preverjena} two {# poti nista bili uspeÅĄno preverjeni} few {# poti niso bile uspeÅĄno preverjene} other {# poti ni bilo uspeÅĄno preverjenih}}", "profile_picture_transparent_pixels": "Profilne slike ne smejo imeti prosojnih slikovnih pik. Povečajte in/ali premaknite sliko.", "quota_higher_than_disk_size": "Nastavili ste kvoto, ki je viÅĄja od velikosti diska", @@ -977,7 +985,6 @@ "unable_to_add_assets_to_shared_link": "Povezavi v skupni rabi ni mogoče dodati sredstev", "unable_to_add_comment": "Ni mogoče dodati komentarja", "unable_to_add_exclusion_pattern": "Vzorca izključitve ni mogoče dodati", - "unable_to_add_import_path": "Uvozne poti ni mogoče dodati", "unable_to_add_partners": "Partnerjev ni mogoče dodati", "unable_to_add_remove_archive": "Ni mogoče {archived, select, true {odstraniti sredstva iz} other {ter dodati sredstvo v}} archive", "unable_to_add_remove_favorites": "Ni mogoče {favorite, select, true {dodati sredstva v} other {ter ga odstraniti iz}} priljubljenih", @@ -1000,12 +1007,10 @@ "unable_to_delete_asset": "Sredstva ni mogoče izbrisati", "unable_to_delete_assets": "Napaka pri brisanju sredstev", "unable_to_delete_exclusion_pattern": "Vzorca izključitve ni mogoče izbrisati", - "unable_to_delete_import_path": "Uvozne poti ni mogoče izbrisati", "unable_to_delete_shared_link": "Povezave v skupni rabi ni mogoče izbrisati", "unable_to_delete_user": "Uporabnika ni mogoče izbrisati", "unable_to_download_files": "Ni mogoče prenesti datotek", "unable_to_edit_exclusion_pattern": "Vzorca izključitve ni mogoče urediti", - "unable_to_edit_import_path": "Uvozne poti ni mogoče urediti", "unable_to_empty_trash": "Smetnjaka ni mogoče izprazniti", "unable_to_enter_fullscreen": "Celozaslonski način ni mogoč", "unable_to_exit_fullscreen": "Ni mogoče zapreti celozaslonskega načina", @@ -1056,6 +1061,7 @@ "unable_to_update_user": "Uporabnika ni mogoče posodobiti", "unable_to_upload_file": "Datoteke ni mogoče naloÅžiti" }, + "exclusion_pattern": "Vzorec izključitve", "exif": "Exif", "exif_bottom_sheet_description": "Dodaj opis..", "exif_bottom_sheet_description_error": "Napaka pri posodabljanju opisa", @@ -1115,6 +1121,7 @@ "folders_feature_description": "Brskanje po pogledu mape za fotografije in videoposnetke v datotečnem sistemu", "forgot_pin_code_question": "Ste pozabili PIN?", "forward": "Naprej", + "full_path": "Celotna pot: {path}", "gcast_enabled": "Google Cast", "gcast_enabled_description": "Ta funkcija za delovanje nalaga zunanje vire iz Googla.", "general": "SploÅĄno", @@ -1151,6 +1158,7 @@ "hide_named_person": "Skrij osebo {name}", "hide_password": "Skrij geslo", "hide_person": "Skrij osebo", + "hide_text_recognition": "Skrij prepoznavanje besedila", "hide_unnamed_people": "Skrij osebe brez imen", "home_page_add_to_album_conflicts": "Dodanih {added} sredstev v album {album}. {failed} sredstev je Åže v albumu.", "home_page_add_to_album_err_local": "Lokalnih sredstev ÅĄe ni mogoče dodati v albume, preskakujem", @@ -1196,6 +1204,8 @@ "import_path": "Pot uvoza", "in_albums": "V {count, plural, one {# album} two {# albuma} few {# albume} other {# albumov}}", "in_archive": "V arhiv", + "in_year": "V {year}", + "in_year_selector": "V", "include_archived": "Vključi arhivirano", "include_shared_albums": "Vključite skupne albume", "include_shared_partner_assets": "Vključite partnerjeva skupna sredstva", @@ -1232,6 +1242,7 @@ "language_setting_description": "Izberite Åželeni jezik", "large_files": "Velike datoteke", "last": "Zadnji", + "last_months": "{count, plural, one {Zadnji mesec} two {Zadnja # meseca} few {Zadnje # mesece} other {Zadnjih # mesecev}}", "last_seen": "Nazadnje viden", "latest_version": "NajnovejÅĄa različica", "latitude": "Zemljepisna ÅĄirina", @@ -1241,6 +1252,8 @@ "let_others_respond": "Naj drugi odgovorijo", "level": "Raven", "library": "KnjiÅžnica", + "library_add_folder": "Dodaj mapo", + "library_edit_folder": "Uredi mapo", "library_options": "MoÅžnosti knjiÅžnice", "library_page_device_albums": "Albumi v napravi", "library_page_new_album": "Nov album", @@ -1312,8 +1325,17 @@ "loop_videos_description": "Omogočite samodejno ponavljanje videoposnetka v pregledovalniku podrobnosti.", "main_branch_warning": "Uporabljate razvojno različico; močno priporočamo uporabo izdajne različice!", "main_menu": "Glavni meni", + "maintenance_description": "Immich je bil preklopljen v vzdrÅževalni način.", + "maintenance_end": "Konec vzdrÅževalnega načina", + "maintenance_end_error": "VzdrÅževalnega načina ni bilo mogoče končati.", + "maintenance_logged_in_as": "Trenutno prijavljen kot {user}", + "maintenance_title": "Trenutno ni na voljo", "make": "Izdelava", "manage_geolocation": "Upravljanje lokacije", + "manage_media_access_rationale": "To dovoljenje je potrebno za pravilno premikanje sredstev v koÅĄ in njihovo obnovitev iz njega.", + "manage_media_access_settings": "Odpri nastavitve", + "manage_media_access_subtitle": "Dovolite aplikaciji Immich upravljanje in premikanje medijskih datotek.", + "manage_media_access_title": "Dostop do upravljanja medijev", "manage_shared_links": "Upravljanje povezav v skupni rabi", "manage_sharing_with_partners": "Upravljajte skupno rabo s partnerji", "manage_the_app_settings": "Upravljajte nastavitve aplikacije", @@ -1377,6 +1399,7 @@ "more": "Več", "move": "Premakni", "move_off_locked_folder": "Premakni iz zaklenjene mape", + "move_to": "Premakni v", "move_to_lock_folder_action_prompt": "V zaklenjeno mapo je bilo dodanih {count}", "move_to_locked_folder": "Premakni v zaklenjeno mapo", "move_to_locked_folder_confirmation": "Te fotografije in videoposnetki bodo odstranjeni iz vseh albumov in si jih bo mogoče ogledati le v zaklenjeni mapi", @@ -1406,6 +1429,7 @@ "new_pin_code": "Nova PIN koda", "new_pin_code_subtitle": "To je vaÅĄ prvi dostop do zaklenjene mape. Ustvarite PIN kodo za varen dostop do te strani", "new_timeline": "Nova časovnica", + "new_update": "Nova posodobitev", "new_user_created": "Nov uporabnik ustvarjen", "new_version_available": "NA VOLJO JE NOVA RAZLIČICA", "newest_first": "Najprej najnovejÅĄe", @@ -1421,12 +1445,14 @@ "no_cast_devices_found": "Naprav za predvajanje ni bilo mogoče najti", "no_checksum_local": "Kontrolna vsota ni na voljo – lokalnih sredstev ni mogoče pridobiti", "no_checksum_remote": "Kontrolna vsota ni na voljo – oddaljenega sredstva ni mogoče pridobiti", + "no_devices": "Ni pooblaÅĄÄenih naprav", "no_duplicates_found": "Najden ni bil noben dvojnik.", "no_exif_info_available": "Podatki o exif niso na voljo", "no_explore_results_message": "NaloÅžite več fotografij, da raziÅĄÄete svojo zbirko.", "no_favorites_message": "Dodajte priljubljene, da hitreje najdete svoje najboljÅĄe slike in videoposnetke", "no_libraries_message": "Ustvarite zunanjo knjiÅžnico za ogled svojih fotografij in videoposnetkov", "no_local_assets_found": "S to kontrolno vsoto ni bilo najdenih lokalnih sredstev", + "no_location_set": "Lokacija ni nastavljena", "no_locked_photos_message": "Fotografije in videoposnetki v zaklenjeni mapi so skriti in se ne bodo prikazali med brskanjem ali iskanjem po knjiÅžnici.", "no_name": "Brez imena", "no_notifications": "Ni obvestil", @@ -1437,6 +1463,7 @@ "no_results_description": "Poskusite s sinonimom ali bolj sploÅĄno ključno besedo", "no_shared_albums_message": "Ustvarite album za skupno rabo fotografij in videoposnetkov z osebami v vaÅĄem omreÅžju", "no_uploads_in_progress": "Ni nalaganj v teku", + "not_allowed": "Ni dovoljeno", "not_available": "Ni na voljo", "not_in_any_album": "Ni v nobenem albumu", "not_selected": "Ni izbrano", @@ -1547,6 +1574,8 @@ "photos_count": "{count, plural, one {{count, number} slika} two {{count, number} sliki} few {{count, number} slike} other {{count, number} slik}}", "photos_from_previous_years": "Fotografije iz prejÅĄnjih let", "pick_a_location": "Izberi lokacijo", + "pick_custom_range": "Obseg po meri", + "pick_date_range": "Izberi datumsko obdobje", "pin_code_changed_successfully": "PIN koda je bila uspeÅĄno spremenjena", "pin_code_reset_successfully": "PIN koda je bila uspeÅĄno ponastavljena", "pin_code_setup_successfully": "UspeÅĄno nastavljena PIN koda", @@ -1814,6 +1843,8 @@ "server_offline": "StreÅžnik nima povezave", "server_online": "StreÅžnik povezan", "server_privacy": "Zasebnost streÅžnika", + "server_restarting_description": "Ta stran se bo za trenutek osveÅžila.", + "server_restarting_title": "StreÅžnik se znova zaganja", "server_stats": "Statistika streÅžnika", "server_update_available": "Posodobitev streÅžnika je na voljo", "server_version": "Različica streÅžnika", @@ -1937,6 +1968,7 @@ "show_slideshow_transition": "PrikaÅži prehod diaprojekcije", "show_supporter_badge": "Značka podpornika", "show_supporter_badge_description": "PrikaÅži značko podpornika", + "show_text_recognition": "PrikaÅži prepoznavanje besedila", "show_text_search_menu": "PrikaÅži meni za iskanje po besedilu", "shuffle": "Naključno", "sidebar": "Stranska vrstica", @@ -2007,6 +2039,7 @@ "tags": "Oznake", "tap_to_run_job": "Dotaknite se za zagon opravila", "template": "Predloga", + "text_recognition": "Prepoznavanje besedila", "theme": "Tema", "theme_selection": "Izbira teme", "theme_selection_description": "Samodejno nastavi temo na svetlo ali temno glede na sistemske nastavitve brskalnika", @@ -2027,6 +2060,7 @@ "third_party_resources": "Viri tretjih oseb", "time": "Čas", "time_based_memories": "Časovni spomini", + "time_based_memories_duration": "Å tevilo sekund za prikaz vsake slike.", "timeline": "Časovnica", "timezone": "Časovni pas", "to_archive": "Arhiv", @@ -2167,6 +2201,7 @@ "welcome": "DobrodoÅĄli", "welcome_to_immich": "DobrodoÅĄli v Immich", "wifi_name": "Wi-Fi ime", + "workflow": "Potek dela", "wrong_pin_code": "Napačna PIN koda", "year": "Leto", "years_ago": "{years, plural, one {# leto} two {# leti} few {# leta} other {# let}} nazaj", diff --git a/i18n/sq.json b/i18n/sq.json index de7c5faa27..cd521122df 100644 --- a/i18n/sq.json +++ b/i18n/sq.json @@ -17,7 +17,6 @@ "add_birthday": "Shto njÃĢ ditÃĢlindje", "add_endpoint": "Shto njÃĢ endpoint", "add_exclusion_pattern": "Shto model pÃĢrjashtimi", - "add_import_path": "Shto vÃĢnd importimi", "add_location": "Shto vendndodhje", "add_more_users": "Shto mÃĢ shumÃĢ pÃĢrdorues", "add_partner": "Shto partner", diff --git a/i18n/sr_Cyrl.json b/i18n/sr_Cyrl.json index 8a14e18de5..8c3f25a3cf 100644 --- a/i18n/sr_Cyrl.json +++ b/i18n/sr_Cyrl.json @@ -17,7 +17,6 @@ "add_birthday": "Đ”ĐžĐ´Đ°Ņ˜ Ņ€ĐžŅ’ĐĩĐŊдаĐŊ", "add_endpoint": "Đ”ĐžĐ´Đ°Ņ˜ Đ°Đ´Ņ€Đĩҁ҃", "add_exclusion_pattern": "Đ”ĐžĐ´Đ°Ņ˜ ĐžĐąŅ€Đ°ĐˇĐ°Ņ† Đ¸ĐˇŅƒĐˇĐ¸ĐŧĐ°ŅšĐ°", - "add_import_path": "Đ”ĐžĐ´Đ°Ņ˜ ĐŋŅƒŅ‚Đ°ŅšŅƒ ŅƒĐ˛ĐžĐˇĐ°", "add_location": "Đ”ĐžĐ´Đ°Ņ˜ ĐģĐžĐēĐ°Ņ†Đ¸Ņ˜Ņƒ", "add_more_users": "Đ”ĐžĐ´Đ°Ņ˜ ĐēĐžŅ€Đ¸ŅĐŊиĐēĐĩ", "add_partner": "Đ”ĐžĐ´Đ°Ņ˜ ĐŋĐ°Ņ€Ņ‚ĐŊĐĩŅ€Đ°", @@ -107,7 +106,6 @@ "jobs_failed": "{jobCount, plural, one {# ĐŊĐĩ҃ҁĐŋĐĩ҈ĐŊи} few {# ĐŊĐĩ҃ҁĐŋĐĩ҈ĐŊа} other {# ĐŊĐĩ҃ҁĐŋĐĩ҈ĐŊĐ¸Ņ…}}", "library_created": "НаĐŋŅ€Đ°Đ˛Ņ™ĐĩĐŊа йийĐģĐ¸ĐžŅ‚ĐĩĐēа: {library}", "library_deleted": "БибĐģĐ¸ĐžŅ‚ĐĩĐēа ҘĐĩ Đ¸ĐˇĐąŅ€Đ¸ŅĐ°ĐŊа", - "library_import_path_description": "ĐžĐ´Ņ€ĐĩĐ´Đ¸Ņ‚Đĩ Ņ„Đ°ŅŅ†Đ¸ĐēĐģ҃ Са ŅƒĐ˛ĐžĐˇ. Ова Ņ„Đ°ŅŅ†Đ¸ĐēĐģа, ҃ĐēŅ™ŅƒŅ‡ŅƒŅ˜ŅƒŅ›Đ¸ ĐŋĐžĐ´Ņ„Đ°ŅŅ†Đ¸ĐēĐģĐĩ, ĐąĐ¸Ņ›Đĩ ҁĐēĐĩĐŊĐ¸Ņ€Đ°ĐŊа Са ҁĐģиĐēĐĩ и видĐĩĐž СаĐŋĐ¸ŅĐĩ.", "library_scanning": "ПĐĩŅ€Đ¸ĐžĐ´Đ¸Ņ‡ĐŊĐž ҁĐēĐĩĐŊĐ¸Ņ€Đ°ŅšĐĩ", "library_scanning_description": "КоĐŊŅ„Đ¸ĐŗŅƒŅ€Đ¸ŅˆĐ¸Ņ‚Đĩ ĐŋĐĩŅ€Đ¸ĐžĐ´Đ¸Ņ‡ĐŊĐž ҁĐēĐĩĐŊĐ¸Ņ€Đ°ŅšĐĩ йийĐģĐ¸ĐžŅ‚ĐĩĐēĐĩ", "library_scanning_enable_description": "ОĐŧĐžĐŗŅƒŅ›Đ¸ ĐŋĐĩŅ€Đ¸ĐžĐ´Đ¸Ņ‡ĐŊĐž ҁĐēĐĩĐŊĐ¸Ņ€Đ°ŅšĐĩ йийĐģĐ¸ĐžŅ‚ĐĩĐēĐĩ", @@ -814,8 +812,6 @@ "edit_description": "ИСĐŧĐĩĐŊи ĐžĐŋĐ¸Ņ", "edit_exclusion_pattern": "ИСĐŧĐĩĐŊĐ¸Ņ‚Đĩ ĐžĐąŅ€Đ°ĐˇĐ°Ņ† Đ¸ĐˇŅƒĐˇĐ¸ĐŧĐ°ŅšĐ°", "edit_faces": "ĐŖŅ€Đĩди ĐģĐ¸Ņ†Đ°", - "edit_import_path": "ĐŖŅ€Đĩди ĐŋŅƒŅ‚Đ°ŅšŅƒ Са ĐŋŅ€ĐĩŅƒĐˇĐ¸ĐŧĐ°ŅšĐĩ", - "edit_import_paths": "ĐŖŅ€Đĩди ĐŸŅƒŅ‚Đ°ŅšĐĩ Са ĐŸŅ€ĐĩŅƒĐˇĐ¸ĐŧĐ°ŅšĐĩ", "edit_key": "ИСĐŧĐĩĐŊи ĐēŅ™ŅƒŅ‡", "edit_link": "ĐŖŅ€Đĩди вĐĩĐˇŅƒ", "edit_location": "ĐŖŅ€Đĩди ĐģĐžĐēĐ°Ņ†Đ¸Ņ˜Ņƒ", @@ -878,7 +874,6 @@ "failed_to_stack_assets": "ĐĄĐģĐ°ĐŗĐ°ŅšĐĩ Đ´Đ°Ņ‚ĐžŅ‚ĐĩĐēа ĐŊĐ¸Ņ˜Đĩ ҃ҁĐŋĐĩĐģĐž", "failed_to_unstack_assets": "Đ Đ°ĐˇĐŗŅ€ŅƒĐŋĐ¸ŅĐ°ŅšĐĩ Đ´Đ°Ņ‚ĐžŅ‚ĐĩĐēа ĐŊĐ¸Ņ˜Đĩ ҃ҁĐŋĐĩĐģĐž", "failed_to_update_notification_status": "АĐļŅƒŅ€Đ¸Ņ€Đ°ŅšĐĩ ŅŅ‚Đ°Ņ‚ŅƒŅĐ° ОйавĐĩŅˆŅ‚ĐĩŅšĐ° ĐŊĐ¸Ņ˜Đĩ ҃ҁĐŋĐĩĐģĐž", - "import_path_already_exists": "Ова ĐŋŅƒŅ‚Đ°ŅšĐ° ŅƒĐ˛ĐžĐˇĐ° вĐĩŅ› ĐŋĐžŅŅ‚ĐžŅ˜Đ¸.", "incorrect_email_or_password": "НĐĩĐ¸ŅĐŋŅ€Đ°Đ˛Đ°ĐŊ e-mail иĐģи ĐģОСиĐŊĐēа", "paths_validation_failed": "{paths, plural, one {# ĐŋŅƒŅ‚Đ°ŅšĐ° ĐŊĐ¸Ņ˜Đĩ ĐŋŅ€ĐžŅˆĐģа} other {# ĐŋŅƒŅ‚Đ°Ņše ĐŊĐ¸ŅŅƒ ĐŋŅ€ĐžŅˆĐģĐĩ}} ĐŋŅ€ĐžĐ˛ĐĩŅ€Ņƒ Đ˛Đ°Ņ™Đ°ĐŊĐžŅŅ‚Đ¸", "profile_picture_transparent_pixels": "ĐĄĐģиĐēĐĩ ĐŋŅ€ĐžŅ„Đ¸Đģа ĐŊĐĩ ĐŧĐžĐŗŅƒ иĐŧĐ°Ņ‚Đ¸ ĐŋŅ€ĐžĐˇĐ¸Ņ€ĐŊĐĩ ĐŋиĐēҁĐĩĐģĐĩ. МоĐģиĐŧĐž ŅƒĐ˛ĐĩŅ›Đ°Ņ˜Ņ‚Đĩ и/иĐģи ĐŋĐžĐŧĐĩŅ€Đ¸Ņ‚Đĩ ҁĐģиĐē҃.", @@ -887,7 +882,6 @@ "unable_to_add_assets_to_shared_link": "ĐĐ¸Ņ˜Đĩ ĐŧĐžĐŗŅƒŅ›Đĩ Đ´ĐžĐ´Đ°Ņ‚Đ¸ Đ´Đ°Ņ‚ĐžŅ‚ĐĩĐēĐĩ Đ´ĐĩŅ™ĐĩĐŊĐžŅ˜ вĐĩСи", "unable_to_add_comment": "ĐĐ¸Ņ˜Đĩ ĐŧĐžĐŗŅƒŅ›Đĩ Đ´ĐžĐ´Đ°Ņ‚Đ¸ ĐēĐžĐŧĐĩĐŊŅ‚Đ°Ņ€", "unable_to_add_exclusion_pattern": "ĐĐ¸Ņ˜Đĩ ĐŧĐžĐŗŅƒŅ›Đĩ Đ´ĐžĐ´Đ°Ņ‚Đ¸ ĐžĐąŅ€Đ°ĐˇĐ°Ņ† Đ¸ĐˇŅƒĐˇĐ¸ĐŧĐ°ŅšĐ°", - "unable_to_add_import_path": "ĐĐ¸Ņ˜Đĩ ĐŧĐžĐŗŅƒŅ›Đĩ Đ´ĐžĐ´Đ°Ņ‚Đ¸ ĐŋŅƒŅ‚Đ°ŅšŅƒ Са ŅƒĐ˛ĐžĐˇ", "unable_to_add_partners": "ĐĐ¸Ņ˜Đĩ ĐŧĐžĐŗŅƒŅ›Đĩ Đ´ĐžĐ´Đ°Ņ‚Đ¸ ĐŋĐ°Ņ€Ņ‚ĐŊĐĩŅ€Đĩ", "unable_to_add_remove_archive": "ĐĐ¸Ņ˜Đĩ ĐŧĐžĐŗŅƒŅ›Đĩ {archived, select, true {҃ĐēĐģĐžĐŊĐ¸Ņ‚Đ¸ Đ´Đ°Ņ‚ĐžŅ‚ĐĩĐēĐĩ иС} other {Đ´ĐžĐ´Đ°Ņ‚Đ¸ Đ´Đ°Ņ‚ĐžŅ‚ĐĩĐēĐĩ ҃}} Đ°Ņ€Ņ…Đ¸Đ˛Ņƒ", "unable_to_add_remove_favorites": "ĐĐ¸Ņ˜Đĩ ĐŧĐžĐŗŅƒŅ›Đĩ {favorite, select, true {Đ´ĐžĐ´Đ°Ņ‚Đ¸ Đ´Đ°Ņ‚ĐžŅ‚ĐĩĐēĐĩ ҃} other {҃ĐēĐģĐžĐŊĐ¸Ņ‚Đ¸ Đ´Đ°Ņ‚ĐžŅ‚ĐĩĐēĐĩ иС}} Ņ„Đ°Đ˛ĐžŅ€Đ¸Ņ‚Đĩ", @@ -909,12 +903,10 @@ "unable_to_delete_asset": "ĐĐ¸Ņ˜Đĩ ĐŧĐžĐŗŅƒŅ›Đĩ Đ¸ĐˇĐąŅ€Đ¸ŅĐ°Ņ‚Đ¸ Đ´Đ°Ņ‚ĐžŅ‚ĐĩĐēĐĩ", "unable_to_delete_assets": "Đ“Ņ€Đĩ҈Đēа ĐŋŅ€Đ¸ ĐąŅ€Đ¸ŅĐ°ŅšŅƒ Đ´Đ°Ņ‚ĐžŅ‚ĐĩĐēа", "unable_to_delete_exclusion_pattern": "ĐĐ¸Ņ˜Đĩ ĐŧĐžĐŗŅƒŅ›Đĩ Đ¸ĐˇĐąŅ€Đ¸ŅĐ°Ņ‚Đ¸ ĐžĐąŅ€Đ°ĐˇĐ°Ņ† Đ¸ĐˇŅƒĐˇĐ¸ĐŧĐ°ŅšĐ°", - "unable_to_delete_import_path": "ĐĐ¸Ņ˜Đĩ ĐŧĐžĐŗŅƒŅ›Đĩ Đ¸ĐˇĐąŅ€Đ¸ŅĐ°Ņ‚Đ¸ ĐŋŅƒŅ‚Đ°ŅšŅƒ Са ŅƒĐ˛ĐžĐˇ", "unable_to_delete_shared_link": "ĐĐ¸Ņ˜Đĩ ĐŧĐžĐŗŅƒŅ›Đĩ Đ¸ĐˇĐąŅ€Đ¸ŅĐ°Ņ‚Đ¸ Đ´ĐĩŅ™ĐĩĐŊи link", "unable_to_delete_user": "ĐĐ¸Ņ˜Đĩ ĐŧĐžĐŗŅƒŅ›Đĩ Đ¸ĐˇĐąŅ€Đ¸ŅĐ°Ņ‚Đ¸ ĐēĐžŅ€Đ¸ŅĐŊиĐēа", "unable_to_download_files": "ĐĐ¸Ņ˜Đĩ ĐŧĐžĐŗŅƒŅ›Đĩ ĐŋŅ€ĐĩŅƒĐˇĐĩŅ‚Đ¸ Đ´Đ°Ņ‚ĐžŅ‚ĐĩĐēĐĩ", "unable_to_edit_exclusion_pattern": "ĐĐ¸Ņ˜Đĩ ĐŧĐžĐŗŅƒŅ›Đĩ иСĐŧĐĩĐŊĐ¸Ņ‚Đ¸ ĐžĐąŅ€Đ°ĐˇĐ°Ņ† Đ¸ĐˇŅƒĐˇĐ¸ĐŧĐ°ŅšĐ°", - "unable_to_edit_import_path": "ĐĐ¸Ņ˜Đĩ ĐŧĐžĐŗŅƒŅ›Đĩ иСĐŧĐĩĐŊĐ¸Ņ‚Đ¸ ĐŋŅƒŅ‚Đ°ŅšŅƒ ŅƒĐ˛ĐžĐˇĐ°", "unable_to_empty_trash": "ĐĐ¸Ņ˜Đĩ ĐŧĐžĐŗŅƒŅ›Đĩ Đ¸ŅĐŋŅ€Đ°ĐˇĐŊĐ¸Ņ‚Đ¸ ĐžŅ‚Đŋад", "unable_to_enter_fullscreen": "ĐĐ¸Ņ˜Đĩ ĐŧĐžĐŗŅƒŅ›Đĩ ĐžŅ‚Đ˛ĐžŅ€Đ¸Ņ‚Đ¸ ĐŋŅ€ĐĩĐēĐž ҆ĐĩĐģĐžĐŗ ĐĩĐēŅ€Đ°ĐŊа", "unable_to_exit_fullscreen": "ĐĐ¸Ņ˜Đĩ ĐŧĐžĐŗŅƒŅ›Đĩ Đ¸ĐˇĐ°Ņ›Đ¸ иС ҆ĐĩĐģĐžĐŗ ĐĩĐēŅ€Đ°ĐŊа", diff --git a/i18n/sr_Latn.json b/i18n/sr_Latn.json index aa895cd20c..f17de2c8b1 100644 --- a/i18n/sr_Latn.json +++ b/i18n/sr_Latn.json @@ -17,7 +17,6 @@ "add_birthday": "Dodaj rođendan", "add_endpoint": "Dodajte krajnju tačku", "add_exclusion_pattern": "Dodajte obrazac izuzimanja", - "add_import_path": "Dodaj putanju za preuzimanje", "add_location": "Dodaj lokaciju", "add_more_users": "Dodaj korisnike", "add_partner": "Dodaj partner", @@ -110,7 +109,6 @@ "jobs_failed": "{jobCount, plural, one {# neuspeÅĄni} few {# neuspeÅĄna} other {# neuspeÅĄnih}}", "library_created": "Napravljena biblioteka: {library}", "library_deleted": "Biblioteka je izbrisana", - "library_import_path_description": "Odredite fasciklu za uvoz. Ova fascikla, uključujucˁi podfascikle, bicˁe skenirana za slike i video zapise.", "library_scanning": "Periodično skeniranje", "library_scanning_description": "KonfiguriÅĄite periodično skeniranje biblioteke", "library_scanning_enable_description": "Omogucˁite periodično skeniranje biblioteke", @@ -787,8 +785,6 @@ "edit_date_and_time": "Uredi datum i vreme", "edit_exclusion_pattern": "Izmenite obrazac izuzimanja", "edit_faces": "Uredi lica", - "edit_import_path": "Uredi putanju za preuzimanje", - "edit_import_paths": "Uredi Putanje za Preuzimanje", "edit_key": "Izmeni ključ", "edit_link": "Uredi vezu", "edit_location": "Uredi lokaciju", @@ -851,7 +847,6 @@ "failed_to_stack_assets": "Slaganje datoteka nije uspelo", "failed_to_unstack_assets": "Rasklapanje datoteka nije uspelo", "failed_to_update_notification_status": "AÅžuriranje statusa obaveÅĄtenja nije uspelo", - "import_path_already_exists": "Ova putanja uvoza vecˁ postoji.", "incorrect_email_or_password": "Neispravan e-mail ili lozinka", "paths_validation_failed": "{paths, plural, one {# putanja nije proÅĄla} few {# putanje nisu proÅĄle} other {# putanja nisu proÅĄle}} proveru valjanosti", "profile_picture_transparent_pixels": "Slike profila ne mogu imati prozirne piksele. Molimo uvecˁajte i/ili pomerite sliku.", @@ -860,7 +855,6 @@ "unable_to_add_assets_to_shared_link": "Nije mogucˁe dodati elemente deljenoj vezi", "unable_to_add_comment": "Nije mogucˁe dodati komentar", "unable_to_add_exclusion_pattern": "Nije mogucˁe dodati obrazac izuzimanja", - "unable_to_add_import_path": "Nije mogucˁe dodati putanju za uvoz", "unable_to_add_partners": "Nije mogucˁe dodati partnere", "unable_to_add_remove_archive": "Nije mogucˁe {archived, select, true {ukloniti datoteke iz} other {dodati datoteke u}} arhivu", "unable_to_add_remove_favorites": "Nije mogucˁe {favorite, select, true {dodati datoteke u} other {ukloniti datoteke iz}} favorite", @@ -882,12 +876,10 @@ "unable_to_delete_asset": "Nije mogucˁe izbrisati datoteke", "unable_to_delete_assets": "GreÅĄka pri brisanju datoteka", "unable_to_delete_exclusion_pattern": "Nije mogucˁe izbrisati obrazac izuzimanja", - "unable_to_delete_import_path": "Nije mogucˁe izbrisati putanju za uvoz", "unable_to_delete_shared_link": "Nije mogucˁe izbrisati deljeni link", "unable_to_delete_user": "Nije mogucˁe izbrisati korisnika", "unable_to_download_files": "Nije mogucˁe preuzeti datoteke", "unable_to_edit_exclusion_pattern": "Nije mogucˁe izmeniti obrazac izuzimanja", - "unable_to_edit_import_path": "Nije mogucˁe izmeniti putanju uvoza", "unable_to_empty_trash": "Nije mogucˁe isprazniti otpad", "unable_to_enter_fullscreen": "Nije mogucˁe otvoriti preko celog ekrana", "unable_to_exit_fullscreen": "Nije mogucˁe izacˁi iz celog ekrana", diff --git a/i18n/sv.json b/i18n/sv.json index d8f45465af..0abe751be5 100644 --- a/i18n/sv.json +++ b/i18n/sv.json @@ -9,7 +9,7 @@ "active": "Aktiva", "activity": "Aktivitet", "activity_changed": "Aktiviteten är {enabled, select, true {aktiverad} other {inaktiverad}}", - "add": "Lägg till", + "add": "Tillägga", "add_a_description": "Lägg till en beskrivning", "add_a_location": "Lägg till en plats", "add_a_name": "Lägg till ett namn", @@ -17,7 +17,6 @@ "add_birthday": "Lägg till fÃļdelsedag", "add_endpoint": "Lägg till ändpunkt", "add_exclusion_pattern": "Lägg till uteslutningsmÃļnster", - "add_import_path": "Lägg till importsÃļkväg", "add_location": "Lägg till plats", "add_more_users": "Lägg till fler användare", "add_partner": "Lägg till partner", @@ -32,6 +31,7 @@ "add_to_album_toggle": "Växla val fÃļr {album}", "add_to_albums": "Lägg till i album", "add_to_albums_count": "Lägg till i album ({count})", + "add_to_bottom_bar": "Lägg till", "add_to_shared_album": "Lägg till i delat album", "add_upload_to_stack": "Lägg till uppladdning till stack", "add_url": "Lägg till URL", @@ -112,7 +112,6 @@ "jobs_failed": "{jobCount, plural, other {# misslyckades}}", "library_created": "Skapat bibliotek: {library}", "library_deleted": "Biblioteket har tagits bort", - "library_import_path_description": "Ange en mapp att importera. Den här mappen, inklusive undermappar, skannas efter bilder och videor.", "library_scanning": "Periodisk skanning", "library_scanning_description": "Konfigurera periodisk biblioteksskanning", "library_scanning_enable_description": "Aktivera periodisk biblioteksskanning", @@ -164,8 +163,8 @@ "machine_learning_ocr_min_detection_score_description": "Lägsta konfidenspoäng fÃļr att text ska kunna detekteras är mellan 0 och 1. Lägre värden kommer att detektera mer text men kan resultera i falska positiva resultat.", "machine_learning_ocr_min_recognition_score": "Lägsta igenkänningspoäng", "machine_learning_ocr_min_score_recognition_description": "Lägsta konfidenspoäng fÃļr att detekterad text ska kunna identifieras är 0–1. Lägre värden identifierar mer text men kan resultera i falska positiva resultat.", - "machine_learning_ocr_model": "OCR modell", - "machine_learning_ocr_model_description": "Servermodeller är mer exakta än mobilmodeller, men tar längre tid att bearbeta och använder mer minne.", + "machine_learning_ocr_model": "OCR-modell", + "machine_learning_ocr_model_description": "Servermodeller är mer exakta än mobilmodeller men tar längre tid att bearbeta och använder mer minne.", "machine_learning_settings": "Inställningar FÃļr Maskininlärning", "machine_learning_settings_description": "Hantera funktioner och inställningar fÃļr maskininlärning", "machine_learning_smart_search": "Smart SÃļkning", @@ -430,6 +429,7 @@ "age_months": "Ålder {months, plural, one {# mÃĨnad} other {# mÃĨnader}}", "age_year_months": "Ålder 1 ÃĨr, {months, plural, one {# mÃĨnad} other {# mÃĨnader}}", "age_years": "{years, plural, other {Ålder #}}", + "album": "Album", "album_added": "Albumet har lagts till", "album_added_notification_setting_description": "FÃĨ ett e-postmeddelande när du läggs till i ett delat album", "album_cover_updated": "Albumomslaget uppdaterat", @@ -461,7 +461,7 @@ "album_viewer_appbar_share_to": "Dela Till", "album_viewer_page_share_add_users": "Lägg till användare", "album_with_link_access": "LÃĨt alla med länken se foton och personer i det här albumet.", - "albums": "Album", + "albums": "Albumen", "albums_count": "{count, plural, one {{count, number} Album} other {{count, number} Album}}", "albums_default_sort_order": "Standard sorteringsordning fÃļr album", "albums_default_sort_order_description": "Standard sorteringsordning fÃļr mediefiler vid skapande av nytt album.", @@ -475,6 +475,7 @@ "allow_edits": "TillÃĨt redigeringar", "allow_public_user_to_download": "TillÃĨt offentlig användare att ladda ner", "allow_public_user_to_upload": "TillÃĨt en offentlig användare att ladda upp", + "allowed": "TillÃĨten", "alt_text_qr_code": "QR-kod", "anti_clockwise": "Moturs", "api_key": "API Nyckel", @@ -894,8 +895,6 @@ "edit_description_prompt": "Vänligen välj en ny beskrivning:", "edit_exclusion_pattern": "Redigera uteslutningsmÃļnster", "edit_faces": "Redigera ansikten", - "edit_import_path": "Redigera importsÃļkvägar", - "edit_import_paths": "Redigera importsÃļkvägar", "edit_key": "Redigera nyckel", "edit_link": "Redigera länk", "edit_location": "Redigera plats", @@ -967,7 +966,6 @@ "failed_to_stack_assets": "Det gick inte att stapla objekt", "failed_to_unstack_assets": "Det gick inte att avstapla objekt", "failed_to_update_notification_status": "Misslyckades med att uppdatera aviseringens status", - "import_path_already_exists": "Denna importsÃļkväg finns redan.", "incorrect_email_or_password": "Felaktig e-postadress eller lÃļsenord", "paths_validation_failed": "{paths, plural, one {# path} other {# paths}} misslyckades valideringen", "profile_picture_transparent_pixels": "Profilbilder kan inte ha genomskinliga pixlar. Zooma in och/eller flytta bilden.", @@ -977,7 +975,6 @@ "unable_to_add_assets_to_shared_link": "Det gÃĨr inte att lägga till objekt till delad länk", "unable_to_add_comment": "Kunde inte lägga till kommentar", "unable_to_add_exclusion_pattern": "Det gick inte att lägga till uteslutningsmÃļnster", - "unable_to_add_import_path": "Det gick inte att lägga till importsÃļkväg", "unable_to_add_partners": "Kunde inte lägga till partners", "unable_to_add_remove_archive": "Det gÃĨr inte att {archived, select, true {ta bort objekt frÃĨn} other {lägga till objekt till}} arkiv", "unable_to_add_remove_favorites": "Det gÃĨr inte att {favorite, select, true {add asset to} other {remove asset from}} favoriter", @@ -1000,12 +997,10 @@ "unable_to_delete_asset": "Det gick inte att ta bort objekt", "unable_to_delete_assets": "Det gick inte att ta bort objekt", "unable_to_delete_exclusion_pattern": "Det gick inte att ta bort uteslutningsmÃļnster", - "unable_to_delete_import_path": "Det gick inte att ta bort importsÃļkvägen", "unable_to_delete_shared_link": "Det gick inte att ta bort delad länk", "unable_to_delete_user": "Kunde inte ta bort användare", "unable_to_download_files": "Det gÃĨr inte att ladda ner filer", "unable_to_edit_exclusion_pattern": "Det gick inte att redigera uteslutningsmÃļnster", - "unable_to_edit_import_path": "Det gick inte att redigera importsÃļkvägen", "unable_to_empty_trash": "Kunde inte tÃļmma papperskorgen", "unable_to_enter_fullscreen": "Kunde inte växla till fullskärm", "unable_to_exit_fullscreen": "Kunde inte avsluta fullskärm", @@ -1196,6 +1191,8 @@ "import_path": "ImportsÃļkväg", "in_albums": "I {count, plural, one {# album} other {# albums}}", "in_archive": "I arkivet", + "in_year": "I {year}", + "in_year_selector": "In", "include_archived": "Inkludera arkiverade", "include_shared_albums": "Inkludera delade album", "include_shared_partner_assets": "Inkludera delade partners tillgÃĨngar", @@ -1232,6 +1229,7 @@ "language_setting_description": "Välj Ãļnskat sprÃĨk", "large_files": "Stora filer", "last": "Sista", + "last_months": "{count, plural, one {Senaste mÃĨnaden} other {Senaste # mÃĨnaderna}}", "last_seen": "Senast sedd", "latest_version": "Senaste versionen", "latitude": "Latitud", @@ -1264,8 +1262,8 @@ "local_media_summary": "Sammanfattning av lokala medier", "local_network": "Lokalt nätverk", "local_network_sheet_info": "Appen kommer ansluta till servern via denna URL när det specificerade WiFi-nätverket används", - "location": "Position", - "location_permission": "Plats-rättighet", + "location": "Plats", + "location_permission": "Platsrättighet", "location_permission_content": "FÃļr att använda funktionen fÃļr automatisk växling behÃļver Immich behÃļrighet till exakt plats sÃĨ att appen kan läsa av det aktuella Wi-Fi-nätverkets namn", "location_picker_choose_on_map": "Välj pÃĨ karta", "location_picker_latitude_error": "Ange en giltig latitud", @@ -1314,6 +1312,10 @@ "main_menu": "Huvudmeny", "make": "Tillverkare", "manage_geolocation": "Hantera plats", + "manage_media_access_rationale": "Denna behÃļrighet krävs fÃļr korrekt hantering av att flytta tillgÃĨngar till papperskorgen och ÃĨterställa dem frÃĨn den.", + "manage_media_access_settings": "Öppna inställningar", + "manage_media_access_subtitle": "TillÃĨt Immich-appen att hantera och flytta mediefiler.", + "manage_media_access_title": "Åtkomst till mediehantering", "manage_shared_links": "Hantera Delade länkar", "manage_sharing_with_partners": "Hantera delning med partner", "manage_the_app_settings": "Hantera appinställningarna", @@ -1377,6 +1379,7 @@ "more": "Mer", "move": "Flytta", "move_off_locked_folder": "Flytta frÃĨn lÃĨst mapp", + "move_to": "Flytta till", "move_to_lock_folder_action_prompt": "{count} adderades till lÃĨst mapp", "move_to_locked_folder": "Flytta till lÃĨst mapp", "move_to_locked_folder_confirmation": "Dessa foton och videor kommer tas bort frÃĨn alla album och gÃĨr endast se i lÃĨsta mappen", @@ -1406,6 +1409,7 @@ "new_pin_code": "Ny PIN-kod", "new_pin_code_subtitle": "Det här är fÃļrsta gÃĨngen du Ãļppnar den lÃĨsta mappen. Skapa en PIN-kod fÃļr att säkert fÃĨ ÃĨtkomst till den här sidan", "new_timeline": "Ny tidslinje", + "new_update": "Ny uppdatering", "new_user_created": "Ny användare skapad", "new_version_available": "NY VERSION TILLGÄNGLIG", "newest_first": "Nyast fÃļrst", @@ -1421,6 +1425,7 @@ "no_cast_devices_found": "Inga Cast-enheter hittades", "no_checksum_local": "Ingen kontrollsumma tillgänglig - kan inte hämta lokala tillgÃĨngar", "no_checksum_remote": "Ingen kontrollsumma tillgänglig - kan inte hämta fjärrtillgÃĨng", + "no_devices": "Inga auktoriserade enheter", "no_duplicates_found": "Inga dubbletter hittades.", "no_exif_info_available": "EXIF-information ej tillgänglig", "no_explore_results_message": "Ladda upp fler bilder fÃļr att utforska din samling.", @@ -1437,6 +1442,7 @@ "no_results_description": "PrÃļva en synonym eller ett annat mer allmänt sÃļkord", "no_shared_albums_message": "Skapa ett album fÃļr att dela bilder och videor med andra personer", "no_uploads_in_progress": "Inga uppladdningar pÃĨgÃĨr", + "not_allowed": "Inte tillÃĨten", "not_available": "N/A", "not_in_any_album": "Inte i nÃĨgot album", "not_selected": "Ej vald", @@ -1547,6 +1553,8 @@ "photos_count": "{count, plural, one {{count, number} Foto} other {{count, number} Foton}}", "photos_from_previous_years": "Foton frÃĨn tidigare ÃĨr", "pick_a_location": "Välj en plats", + "pick_custom_range": "Anpassat intervall", + "pick_date_range": "Välj ett datumintervall", "pin_code_changed_successfully": "Lyckades ändra PIN-koden", "pin_code_reset_successfully": "Lyckades ÃĨterställa PIN-kod", "pin_code_setup_successfully": "Lyckades skapa PIN-kod", @@ -2027,6 +2035,7 @@ "third_party_resources": "Tredjepartsresurser", "time": "Tid", "time_based_memories": "Tidsbaserade minnen", + "time_based_memories_duration": "Antal sekunder att visa varje bild.", "timeline": "Tidslinje", "timezone": "Tidszon", "to_archive": "Arkivera", @@ -2167,6 +2176,7 @@ "welcome": "Välkommen", "welcome_to_immich": "Välkommen till Immich", "wifi_name": "Wi-Fi-namn", + "workflow": "ArbetsflÃļde", "wrong_pin_code": "Fel pinkod", "year": "År", "years_ago": "{years, plural, one {# ÃĨr} other {# ÃĨr}} sedan", diff --git a/i18n/ta.json b/i18n/ta.json index 90a7f8e214..55f674ee79 100644 --- a/i18n/ta.json +++ b/i18n/ta.json @@ -17,7 +17,6 @@ "add_birthday": "āŽĒāŽŋāŽąāŽ¨ā¯āŽ¤āŽ¨āŽžāŽŗā¯ˆāŽšā¯ āŽšā¯‡āŽ°ā¯āŽ•ā¯āŽ•āŽĩā¯āŽŽā¯", "add_endpoint": "āŽšā¯‡āŽĩ❈ āŽ¨āŽŋāŽ°āŽ˛ā¯ˆ āŽšā¯‡āŽ°ā¯", "add_exclusion_pattern": "āŽĩāŽŋāŽ˛āŽ•ā¯āŽ•ā¯ āŽĩāŽŸāŽŋāŽĩāŽ¤ā¯āŽ¤ā¯ˆāŽšā¯ āŽšā¯‡āŽ°ā¯āŽ•ā¯āŽ•āŽĩā¯āŽŽā¯", - "add_import_path": "āŽ‡āŽąāŽ•ā¯āŽ•ā¯āŽŽāŽ¤āŽŋ āŽĒāŽžāŽ¤ā¯ˆāŽ¯ā¯ˆ (āŽ‡āŽŽā¯āŽĒā¯‹āŽ°ā¯āŽŸā¯ āŽĒāŽžāŽ¤ā¯) āŽšā¯‡āŽ°ā¯āŽ•ā¯āŽ•āŽĩā¯āŽŽā¯", "add_location": "āŽ‡āŽŸāŽ¤ā¯āŽ¤ā¯ˆāŽšā¯ āŽšā¯‡āŽ°ā¯āŽ•ā¯āŽ•āŽĩā¯āŽŽā¯", "add_more_users": "āŽŽā¯‡āŽ˛ā¯āŽŽā¯ āŽĒāŽ¯āŽŠāŽ°ā¯āŽ•āŽŗā¯ˆ āŽšā¯‡āŽ°ā¯āŽ•ā¯āŽ•āŽĩā¯āŽŽā¯", "add_partner": "āŽ¤ā¯āŽŖā¯ˆāŽ¯ā¯ˆ āŽšā¯‡āŽ°ā¯āŽ•ā¯āŽ•āŽĩā¯āŽŽā¯", @@ -112,7 +111,6 @@ "jobs_failed": "{jobCount, plural, other {# āŽ¤ā¯‹āŽ˛ā¯āŽĩāŽŋāŽ¯ā¯āŽąā¯āŽąāŽ¤ā¯}}", "library_created": "āŽ‰āŽ°ā¯āŽĩāŽžāŽ•ā¯āŽ•āŽĒā¯āŽĒāŽŸā¯āŽŸ āŽĒā¯āŽ•ā¯ˆāŽĒā¯āŽĒāŽŸ āŽ¨ā¯‚āŽ˛āŽ•āŽŽā¯: {library}", "library_deleted": "āŽĒā¯āŽ•ā¯ˆāŽĒā¯āŽĒāŽŸ āŽ¨ā¯‚āŽ˛āŽ•āŽŽā¯ āŽ¨ā¯€āŽ•ā¯āŽ•āŽĒā¯āŽĒāŽŸā¯āŽŸāŽ¤ā¯", - "library_import_path_description": "āŽ‡āŽąāŽ•ā¯āŽ•ā¯āŽŽāŽ¤āŽŋ āŽšā¯†āŽ¯ā¯āŽ¯ āŽ’āŽ°ā¯ āŽ•ā¯‹āŽĒā¯āŽĒā¯āŽąā¯ˆāŽ¯ā¯ˆāŽ•ā¯ āŽ•ā¯āŽąāŽŋāŽĒā¯āŽĒāŽŋāŽŸāŽĩā¯āŽŽā¯. āŽ¤ā¯āŽŖā¯ˆāŽ•ā¯ āŽ•ā¯‹āŽĒā¯āŽĒā¯āŽąā¯ˆāŽ•āŽŗā¯ āŽ‰āŽŸā¯āŽĒāŽŸ āŽ‡āŽ¨ā¯āŽ¤āŽ•ā¯ āŽ•ā¯‹āŽĒā¯āŽĒā¯āŽąā¯ˆ āŽĒāŽŸāŽ™ā¯āŽ•āŽŗā¯ āŽŽāŽąā¯āŽąā¯āŽŽā¯ āŽĩā¯€āŽŸāŽŋāŽ¯ā¯‹āŽ•ā¯āŽ•āŽŗā¯āŽ•ā¯āŽ•āŽžāŽ• āŽ¸ā¯āŽ•ā¯‡āŽŠā¯ āŽšā¯†āŽ¯ā¯āŽ¯āŽĒā¯āŽĒāŽŸā¯āŽŽā¯.", "library_scanning": "āŽ…āŽĩā¯āŽĩāŽĒā¯āŽĒā¯‹āŽ¤ā¯ āŽ¸ā¯āŽ•ā¯‡āŽŠāŽŋāŽ™ā¯", "library_scanning_description": "āŽ¨āŽŋāŽ¯āŽŽāŽŋāŽ•ā¯āŽ•āŽĒā¯āŽĒāŽŸā¯āŽŸ āŽĒā¯āŽ•ā¯ˆāŽĒā¯āŽĒāŽŸ āŽ¨ā¯‚āŽ˛āŽ• āŽ¸ā¯āŽ•ā¯‡āŽŠāŽŋāŽ™ā¯āŽ•ā¯ˆ āŽ…āŽŽā¯ˆāŽ•ā¯āŽ•āŽĩā¯āŽŽā¯", "library_scanning_enable_description": "āŽ¨āŽŋāŽ¯āŽŽāŽŋāŽ•ā¯āŽ•āŽĒā¯āŽĒāŽŸā¯āŽŸ āŽĒā¯āŽ•ā¯ˆāŽĒā¯āŽĒāŽŸ āŽ¨ā¯‚āŽ˛āŽ• āŽ¸ā¯āŽ•ā¯‡āŽŠāŽŋāŽ™ā¯āŽ•ā¯ˆ āŽ‡āŽ¯āŽ•ā¯āŽ•ā¯", @@ -475,6 +473,7 @@ "allow_edits": "āŽ¤āŽŋāŽ°ā¯āŽ¤ā¯āŽ¤āŽ™ā¯āŽ•āŽŗā¯ˆ āŽ…āŽŠā¯āŽŽāŽ¤āŽŋāŽ•ā¯āŽ•āŽĩā¯āŽŽā¯", "allow_public_user_to_download": "āŽĒā¯ŠāŽ¤ā¯ āŽĒāŽ¯āŽŠāŽ°ā¯ˆ āŽĒāŽ¤āŽŋāŽĩāŽŋāŽąāŽ•ā¯āŽ•āŽŽā¯ āŽšā¯†āŽ¯ā¯āŽ¯ āŽ…āŽŠā¯āŽŽāŽ¤āŽŋāŽ•ā¯āŽ•āŽĩā¯āŽŽā¯", "allow_public_user_to_upload": "āŽĒā¯ŠāŽ¤ā¯ āŽĒāŽ¯āŽŠāŽ°ā¯ˆ āŽĒāŽ¤āŽŋāŽĩā¯‡āŽąā¯āŽą āŽ…āŽŠā¯āŽŽāŽ¤āŽŋāŽ•ā¯āŽ•āŽĩā¯āŽŽā¯", + "allowed": "āŽ…āŽŠā¯āŽŽāŽ¤āŽŋāŽ¤ā¯āŽ¤", "alt_text_qr_code": "QR āŽ•ā¯āŽąāŽŋāŽ¯ā¯€āŽŸā¯ āŽĒāŽŸāŽŽā¯", "anti_clockwise": "āŽ•āŽŸāŽŋāŽ•āŽžāŽ° āŽŽāŽ¤āŽŋāŽ°ā¯āŽĒā¯āŽĒ❁", "api_key": "āŽĒāŽ¨āŽŋāŽ‡ āŽĩāŽŋāŽšā¯ˆ", @@ -894,8 +893,6 @@ "edit_description_prompt": "āŽĒā¯āŽ¤āŽŋāŽ¯ āŽĩāŽŋāŽŗāŽ•ā¯āŽ•āŽ¤ā¯āŽ¤ā¯ˆāŽ¤ā¯ āŽ¤ā¯‡āŽ°ā¯āŽ¨ā¯āŽ¤ā¯†āŽŸā¯āŽ•ā¯āŽ•āŽĩā¯āŽŽā¯:", "edit_exclusion_pattern": "āŽĩāŽŋāŽ˛āŽ•ā¯āŽ•ā¯ āŽŽā¯āŽąā¯ˆāŽ¯ā¯ˆāŽ¤ā¯ āŽ¤āŽŋāŽ°ā¯āŽ¤ā¯āŽ¤āŽĩā¯āŽŽā¯", "edit_faces": "āŽŽā¯āŽ•āŽ™ā¯āŽ•āŽŗā¯ˆāŽ¤ā¯ āŽ¤āŽŋāŽ°ā¯āŽ¤ā¯āŽ¤āŽĩā¯āŽŽā¯", - "edit_import_path": "āŽ‡āŽąāŽ•ā¯āŽ•ā¯āŽŽāŽ¤āŽŋ āŽĒāŽžāŽ¤ā¯ˆāŽ¯ā¯ˆāŽ¤ā¯ āŽ¤āŽŋāŽ°ā¯āŽ¤ā¯āŽ¤ā¯", - "edit_import_paths": "āŽ‡āŽąāŽ•ā¯āŽ•ā¯āŽŽāŽ¤āŽŋ āŽĒāŽžāŽ¤ā¯ˆāŽ•āŽŗā¯ˆāŽ¤ā¯ āŽ¤āŽŋāŽ°ā¯āŽ¤ā¯āŽ¤āŽĩā¯āŽŽā¯", "edit_key": "āŽ¤āŽŋāŽąāŽŠā¯ˆāŽ¤ā¯ āŽ¤āŽŋāŽ°ā¯āŽ¤ā¯āŽ¤ā¯", "edit_link": "āŽ‡āŽŖā¯ˆāŽĒā¯āŽĒā¯ˆāŽ¤ā¯ āŽ¤āŽŋāŽ°ā¯āŽ¤ā¯āŽ¤ā¯", "edit_location": "āŽ‡āŽ°ā¯āŽĒā¯āŽĒāŽŋāŽŸāŽ¤ā¯āŽ¤ā¯ˆāŽ¤ā¯ āŽ¤āŽŋāŽ°ā¯āŽ¤ā¯āŽ¤āŽĩā¯āŽŽā¯", @@ -967,7 +964,6 @@ "failed_to_stack_assets": "āŽšā¯ŠāŽ¤ā¯āŽ¤ā¯āŽ•ā¯āŽ•āŽŗā¯ˆ āŽ…āŽŸā¯āŽ•ā¯āŽ•āŽŋ āŽĩ❈āŽĒā¯āŽĒāŽ¤āŽŋāŽ˛ā¯ āŽ¤ā¯‹āŽ˛ā¯āŽĩāŽŋ", "failed_to_unstack_assets": "āŽ…āŽŠā¯-āŽšā¯āŽŸāŽžāŽ•ā¯ āŽšā¯ŠāŽ¤ā¯āŽ¤ā¯āŽ•ā¯āŽ•āŽŗāŽŋāŽ˛ā¯ āŽ¤ā¯‹āŽ˛ā¯āŽĩāŽŋāŽ¯ā¯āŽąā¯āŽąāŽ¤ā¯", "failed_to_update_notification_status": "āŽ…āŽąāŽŋāŽĩāŽŋāŽĒā¯āŽĒ❁ āŽ¨āŽŋāŽ˛ā¯ˆāŽ¯ā¯ˆāŽĒā¯ āŽĒā¯āŽ¤ā¯āŽĒā¯āŽĒāŽŋāŽ•ā¯āŽ•āŽ¤ā¯ āŽ¤āŽĩāŽąāŽŋāŽĩāŽŋāŽŸā¯āŽŸāŽ¤ā¯", - "import_path_already_exists": "āŽ‡āŽ¨ā¯āŽ¤ āŽ‡āŽąāŽ•ā¯āŽ•ā¯āŽŽāŽ¤āŽŋ āŽĒāŽžāŽ¤ā¯ˆ āŽāŽąā¯āŽ•āŽŠāŽĩ❇ āŽ‰āŽŗā¯āŽŗāŽ¤ā¯.", "incorrect_email_or_password": "āŽ¤āŽĩāŽąāŽžāŽŠ āŽŽāŽŋāŽŠā¯āŽŠāŽžā¯āŽšāŽ˛ā¯ āŽ…āŽ˛ā¯āŽ˛āŽ¤ā¯ āŽ•āŽŸāŽĩā¯āŽšā¯āŽšā¯ŠāŽ˛ā¯", "paths_validation_failed": "āŽ¤ā¯‹āŽ˛ā¯āŽĩāŽŋāŽ¯ā¯āŽąā¯āŽą āŽšāŽ°āŽŋāŽĒāŽžāŽ°ā¯āŽĒā¯āŽĒ❁ {paths, plural, one {# āŽĒāŽžāŽ¤ā¯ˆ} other {# āŽĒāŽžāŽ¤ā¯ˆāŽ•āŽŗā¯}}", "profile_picture_transparent_pixels": "āŽšā¯āŽ¯āŽĩāŽŋāŽĩāŽ°āŽĒā¯ āŽĒāŽŸāŽ™ā¯āŽ•āŽŗā¯āŽ•ā¯āŽ•ā¯ āŽĩā¯†āŽŗāŽŋāŽĒā¯āŽĒāŽŸā¯ˆāŽ¯āŽžāŽŠ āŽĒāŽŸāŽĒā¯āŽĒā¯āŽŗā¯āŽŗāŽŋāŽ•āŽŗā¯ āŽ‡āŽ°ā¯āŽ•ā¯āŽ• āŽŽā¯āŽŸāŽŋāŽ¯āŽžāŽ¤ā¯. āŽ¤āŽ¯āŽĩā¯āŽšā¯†āŽ¯ā¯āŽ¤ā¯ āŽĒā¯†āŽ°āŽŋāŽ¤āŽžāŽ•ā¯āŽ•āŽĩā¯āŽŽā¯/āŽ…āŽ˛ā¯āŽ˛āŽ¤ā¯ āŽĒāŽŸāŽ¤ā¯āŽ¤ā¯ˆ āŽ¨āŽ•āŽ°ā¯āŽ¤ā¯āŽ¤āŽĩā¯āŽŽā¯.", @@ -977,7 +973,6 @@ "unable_to_add_assets_to_shared_link": "āŽĒāŽ•āŽŋāŽ°āŽĒā¯āŽĒāŽŸā¯āŽŸ āŽ‡āŽŖā¯ˆāŽĒā¯āŽĒā¯āŽ•ā¯āŽ•ā¯ āŽšā¯ŠāŽ¤ā¯āŽ¤ā¯āŽ•ā¯āŽ•āŽŗā¯ˆāŽšā¯ āŽšā¯‡āŽ°ā¯āŽ•ā¯āŽ• āŽŽā¯āŽŸāŽŋāŽ¯āŽĩāŽŋāŽ˛ā¯āŽ˛ā¯ˆ", "unable_to_add_comment": "āŽ•āŽ°ā¯āŽ¤ā¯āŽ¤ā¯ āŽšā¯‡āŽ°ā¯āŽ•ā¯āŽ• āŽŽā¯āŽŸāŽŋāŽ¯āŽĩāŽŋāŽ˛ā¯āŽ˛ā¯ˆ", "unable_to_add_exclusion_pattern": "āŽĩāŽŋāŽ˛āŽ•ā¯āŽ•ā¯ āŽŽā¯āŽąā¯ˆāŽ¯ā¯ˆāŽšā¯ āŽšā¯‡āŽ°ā¯āŽ•ā¯āŽ• āŽŽā¯āŽŸāŽŋāŽ¯āŽĩāŽŋāŽ˛ā¯āŽ˛ā¯ˆ", - "unable_to_add_import_path": "āŽ‡āŽąāŽ•ā¯āŽ•ā¯āŽŽāŽ¤āŽŋ āŽĒāŽžāŽ¤ā¯ˆāŽ¯ā¯ˆāŽšā¯ āŽšā¯‡āŽ°ā¯āŽ•ā¯āŽ• āŽŽā¯āŽŸāŽŋāŽ¯āŽĩāŽŋāŽ˛ā¯āŽ˛ā¯ˆ", "unable_to_add_partners": "āŽ•ā¯‚āŽŸā¯āŽŸāŽžāŽŗāŽ°ā¯āŽ•āŽŗā¯ˆāŽšā¯ āŽšā¯‡āŽ°ā¯āŽ•ā¯āŽ• āŽŽā¯āŽŸāŽŋāŽ¯āŽĩāŽŋāŽ˛ā¯āŽ˛ā¯ˆ", "unable_to_add_remove_archive": "āŽ•āŽžāŽĒā¯āŽĒāŽ•āŽ¤ā¯āŽ¤āŽŋāŽ˛ā¯ {archived, select, true {āŽ‡āŽ°ā¯āŽ¨ā¯āŽ¤ā¯ āŽšā¯ŠāŽ¤ā¯āŽ¤ā¯ˆ āŽ…āŽ•āŽąā¯āŽą} other {āŽšā¯ŠāŽ¤ā¯āŽ¤ā¯ˆāŽšā¯ āŽšā¯‡āŽ°ā¯āŽ•ā¯āŽ•}} āŽŽā¯āŽŸāŽŋāŽ¯āŽĩāŽŋāŽ˛ā¯āŽ˛ā¯ˆ", "unable_to_add_remove_favorites": "āŽĒāŽŋāŽŸāŽŋāŽ¤ā¯āŽ¤āŽĩā¯ˆāŽ¯āŽŋāŽ˛ā¯ {favorite, select, true {āŽšā¯ŠāŽ¤ā¯āŽ¤ā¯ˆāŽšā¯ āŽšā¯‡āŽ°ā¯āŽ•ā¯āŽ•} other {āŽšā¯ŠāŽ¤ā¯āŽ¤ā¯ˆ āŽ…āŽ•āŽąā¯āŽą}} āŽŽā¯āŽŸāŽŋāŽ¯āŽĩāŽŋāŽ˛ā¯āŽ˛ā¯ˆ", @@ -1000,12 +995,10 @@ "unable_to_delete_asset": "āŽšā¯ŠāŽ¤ā¯āŽ¤ā¯ˆ āŽ¨ā¯€āŽ•ā¯āŽ• āŽŽā¯āŽŸāŽŋāŽ¯āŽĩāŽŋāŽ˛ā¯āŽ˛ā¯ˆ", "unable_to_delete_assets": "āŽšā¯ŠāŽ¤ā¯āŽ¤ā¯āŽ•ā¯āŽ•āŽŗā¯ˆ āŽ¨ā¯€āŽ•ā¯āŽ•ā¯āŽĩāŽ¤āŽŋāŽ˛ā¯ āŽĒāŽŋāŽ´ā¯ˆ", "unable_to_delete_exclusion_pattern": "āŽĩāŽŋāŽ˛āŽ•ā¯āŽ•ā¯ āŽŽā¯āŽąā¯ˆāŽ¯ā¯ˆ āŽ¨ā¯€āŽ•ā¯āŽ• āŽŽā¯āŽŸāŽŋāŽ¯āŽĩāŽŋāŽ˛ā¯āŽ˛ā¯ˆ", - "unable_to_delete_import_path": "āŽ‡āŽąāŽ•ā¯āŽ•ā¯āŽŽāŽ¤āŽŋ āŽĒāŽžāŽ¤ā¯ˆāŽ¯ā¯ˆ āŽ¨ā¯€āŽ•ā¯āŽ• āŽŽā¯āŽŸāŽŋāŽ¯āŽĩāŽŋāŽ˛ā¯āŽ˛ā¯ˆ", "unable_to_delete_shared_link": "āŽĒāŽ•āŽŋāŽ°āŽĒā¯āŽĒāŽŸā¯āŽŸ āŽ‡āŽŖā¯ˆāŽĒā¯āŽĒ❈ āŽ¨ā¯€āŽ•ā¯āŽ• āŽŽā¯āŽŸāŽŋāŽ¯āŽĩāŽŋāŽ˛ā¯āŽ˛ā¯ˆ", "unable_to_delete_user": "āŽĒāŽ¯āŽŠāŽ°ā¯ˆ āŽ¨ā¯€āŽ•ā¯āŽ• āŽŽā¯āŽŸāŽŋāŽ¯āŽĩāŽŋāŽ˛ā¯āŽ˛ā¯ˆ", "unable_to_download_files": "āŽ•ā¯‹āŽĒā¯āŽĒā¯āŽ•āŽŗā¯ˆāŽĒā¯ āŽĒāŽ¤āŽŋāŽĩāŽŋāŽąāŽ•ā¯āŽ• āŽŽā¯āŽŸāŽŋāŽ¯āŽĩāŽŋāŽ˛ā¯āŽ˛ā¯ˆ", "unable_to_edit_exclusion_pattern": "āŽĩāŽŋāŽ˛āŽ•ā¯āŽ•ā¯ āŽŽā¯āŽąā¯ˆāŽ¯ā¯ˆāŽ¤ā¯ āŽ¤āŽŋāŽ°ā¯āŽ¤ā¯āŽ¤ āŽŽā¯āŽŸāŽŋāŽ¯āŽĩāŽŋāŽ˛ā¯āŽ˛ā¯ˆ", - "unable_to_edit_import_path": "āŽ‡āŽąāŽ•ā¯āŽ•ā¯āŽŽāŽ¤āŽŋ āŽĒāŽžāŽ¤ā¯ˆāŽ¯ā¯ˆāŽ¤ā¯ āŽ¤āŽŋāŽ°ā¯āŽ¤ā¯āŽ¤ āŽŽā¯āŽŸāŽŋāŽ¯āŽĩāŽŋāŽ˛ā¯āŽ˛ā¯ˆ", "unable_to_empty_trash": "āŽ•ā¯āŽĒā¯āŽĒā¯ˆāŽ•āŽŗā¯ˆ āŽĩā¯†āŽąā¯āŽąā¯ āŽšā¯†āŽ¯ā¯āŽ¯ āŽŽā¯āŽŸāŽŋāŽ¯āŽĩāŽŋāŽ˛ā¯āŽ˛ā¯ˆ", "unable_to_enter_fullscreen": "āŽŽā¯āŽ´ā¯āŽ¤ā¯ āŽ¤āŽŋāŽ°ā¯ˆāŽ¯āŽŋāŽ˛ā¯ āŽ¨ā¯āŽ´ā¯ˆāŽ¯ āŽŽā¯āŽŸāŽŋāŽ¯āŽĩāŽŋāŽ˛ā¯āŽ˛ā¯ˆ", "unable_to_exit_fullscreen": "āŽŽā¯āŽ´ā¯āŽ¤ā¯āŽ¤āŽŋāŽ°ā¯ˆ āŽĩā¯†āŽŗāŽŋāŽ¯ā¯‡āŽą āŽŽā¯āŽŸāŽŋāŽ¯āŽĩāŽŋāŽ˛ā¯āŽ˛ā¯ˆ", @@ -1196,6 +1189,8 @@ "import_path": "āŽ‡āŽąāŽ•ā¯āŽ•ā¯āŽŽāŽ¤āŽŋ āŽĒāŽžāŽ¤ā¯ˆ", "in_albums": "{count, plural, one {# āŽšā¯†āŽ°ā¯āŽ•ā¯‡āŽŸā¯} other {# āŽšā¯†āŽ°ā¯āŽ•ā¯‡āŽŸā¯āŽ•āŽŗā¯}} āŽ‡āŽ˛ā¯", "in_archive": "āŽ•āŽžāŽĒā¯āŽĒāŽ•āŽ¤ā¯āŽ¤āŽŋāŽ˛ā¯", + "in_year": "{year} āŽ‡āŽ˛ā¯", + "in_year_selector": "āŽ‰āŽŗā¯āŽŗā¯‡", "include_archived": "āŽ•āŽžāŽĒā¯āŽĒāŽ•āŽĒā¯āŽĒāŽŸā¯āŽ¤ā¯āŽ¤āŽĒā¯āŽĒāŽŸā¯āŽŸāŽĩāŽ°ā¯", "include_shared_albums": "āŽĒāŽ•āŽŋāŽ°āŽĒā¯āŽĒāŽŸā¯āŽŸ āŽ†āŽ˛ā¯āŽĒāŽ™ā¯āŽ•āŽŗā¯ˆāŽšā¯ āŽšā¯‡āŽ°ā¯āŽ•ā¯āŽ•āŽĩā¯āŽŽā¯", "include_shared_partner_assets": "āŽĒāŽ•āŽŋāŽ°āŽĒā¯āŽĒāŽŸā¯āŽŸ āŽ•ā¯‚āŽŸā¯āŽŸāŽžāŽŗāŽ°ā¯ āŽšā¯ŠāŽ¤ā¯āŽ¤ā¯āŽ•ā¯āŽ•āŽŗā¯ˆāŽšā¯ āŽšā¯‡āŽ°ā¯āŽ•ā¯āŽ•āŽĩā¯āŽŽā¯", @@ -1232,6 +1227,7 @@ "language_setting_description": "āŽ‰āŽ™ā¯āŽ•āŽŗā¯āŽ•ā¯āŽ•ā¯ āŽĩāŽŋāŽ°ā¯āŽĒā¯āŽĒāŽŽāŽžāŽŠ āŽŽā¯ŠāŽ´āŽŋāŽ¯ā¯ˆāŽ¤ā¯ āŽ¤ā¯‡āŽ°ā¯āŽ¨ā¯āŽ¤ā¯†āŽŸā¯āŽ•ā¯āŽ•āŽĩā¯āŽŽā¯", "large_files": "āŽĒā¯†āŽ°āŽŋāŽ¯ āŽ•ā¯‹āŽĒā¯āŽĒā¯āŽ•āŽŗā¯", "last": "āŽ•āŽŸā¯ˆāŽšāŽŋ", + "last_months": "{count, plural, one {āŽ•āŽŸāŽ¨ā¯āŽ¤ āŽŽāŽžāŽ¤āŽŽā¯} other {āŽ•āŽŸāŽ¨ā¯āŽ¤ # āŽŽāŽžāŽ¤āŽ™ā¯āŽ•āŽŗā¯}}", "last_seen": "āŽ•āŽŸā¯ˆāŽšāŽŋāŽ¯āŽžāŽ• āŽĒāŽžāŽ°ā¯āŽ¤ā¯āŽ¤ā¯‡āŽŠā¯", "latest_version": "āŽ…āŽŖā¯āŽŽā¯ˆāŽ•ā¯ āŽ•āŽžāŽ˛ āŽĒāŽ¤āŽŋāŽĒā¯āŽĒ❁", "latitude": "āŽ…āŽ•āŽ˛āŽžāŽ™ā¯āŽ•ā¯", @@ -1314,6 +1310,10 @@ "main_menu": "āŽĒāŽŸā¯āŽŸāŽŋāŽ¯āŽ˛ā¯ āŽĩāŽŋāŽŗā¯ˆāŽ¯āŽžāŽŸā¯āŽ™ā¯āŽ•āŽŗā¯", "make": "āŽ‰āŽ°ā¯āŽĩāŽžāŽ•ā¯āŽ•ā¯", "manage_geolocation": "āŽ‡āŽ°ā¯āŽĒā¯āŽĒāŽŋāŽŸāŽ¤ā¯āŽ¤ā¯ˆ āŽ¨āŽŋāŽ°ā¯āŽĩāŽ•āŽŋāŽ•ā¯āŽ•āŽĩā¯āŽŽā¯", + "manage_media_access_rationale": "āŽĒāŽŸāŽ™ā¯āŽ•āŽŗā¯ˆ āŽ•ā¯āŽĒā¯āŽĒā¯ˆāŽ•ā¯āŽ•ā¯ āŽ¨āŽ•āŽ°ā¯āŽ¤ā¯āŽ¤ā¯āŽĩāŽ¤ā¯ˆ āŽŽā¯āŽąā¯ˆāŽ¯āŽžāŽ•āŽ•ā¯ āŽ•ā¯ˆāŽ¯āŽžāŽŗā¯āŽĩāŽ¤āŽąā¯āŽ•ā¯āŽŽā¯ āŽ…āŽ¤āŽŋāŽ˛āŽŋāŽ°ā¯āŽ¨ā¯āŽ¤ā¯ āŽ…āŽĩāŽąā¯āŽąā¯ˆ āŽŽā¯€āŽŸā¯āŽŸā¯†āŽŸā¯āŽĒā¯āŽĒāŽ¤āŽąā¯āŽ•ā¯āŽŽā¯ āŽ‡āŽ¨ā¯āŽ¤ āŽ…āŽŠā¯āŽŽāŽ¤āŽŋ āŽ¤ā¯‡āŽĩ❈.", + "manage_media_access_settings": "āŽ…āŽŽā¯ˆāŽĒā¯āŽĒā¯āŽ•āŽŗā¯ˆāŽ¤ā¯ āŽ¤āŽŋāŽą", + "manage_media_access_subtitle": "āŽ‡āŽŽā¯āŽŽāŽŋāŽ•ā¯ āŽšā¯†āŽ¯āŽ˛āŽŋ āŽŽā¯€āŽŸāŽŋāŽ¯āŽž āŽ•ā¯‹āŽĒā¯āŽĒā¯āŽ•āŽŗā¯ˆ āŽ¨āŽŋāŽ°ā¯āŽĩāŽ•āŽŋāŽ•ā¯āŽ•āŽĩā¯āŽŽā¯ āŽ¨āŽ•āŽ°ā¯āŽ¤ā¯āŽ¤āŽĩā¯āŽŽā¯ āŽ…āŽŠā¯āŽŽāŽ¤āŽŋāŽ•ā¯āŽ•āŽĩā¯āŽŽā¯.", + "manage_media_access_title": "āŽŽā¯€āŽŸāŽŋāŽ¯āŽž āŽŽā¯‡āŽ˛āŽžāŽŖā¯āŽŽā¯ˆ āŽ…āŽŖā¯āŽ•āŽ˛ā¯", "manage_shared_links": "āŽĒāŽ•āŽŋāŽ°āŽĒā¯āŽĒāŽŸā¯āŽŸ āŽ‡āŽŖā¯ˆāŽĒā¯āŽĒā¯āŽ•āŽŗā¯ˆ āŽ¨āŽŋāŽ°ā¯āŽĩāŽ•āŽŋāŽ•ā¯āŽ•āŽĩā¯āŽŽā¯", "manage_sharing_with_partners": "āŽ•ā¯‚āŽŸā¯āŽŸāŽžāŽŗāŽ°ā¯āŽ•āŽŗā¯āŽŸāŽŠā¯ āŽĒāŽ•āŽŋāŽ°ā¯āŽĩ❈ āŽ¨āŽŋāŽ°ā¯āŽĩāŽ•āŽŋāŽ•ā¯āŽ•āŽĩā¯āŽŽā¯", "manage_the_app_settings": "āŽĒāŽ¯āŽŠā¯āŽĒāŽžāŽŸā¯āŽŸā¯ āŽ…āŽŽā¯ˆāŽĒā¯āŽĒā¯āŽ•āŽŗā¯ˆ āŽ¨āŽŋāŽ°ā¯āŽĩāŽ•āŽŋāŽ•ā¯āŽ•āŽĩā¯āŽŽā¯", @@ -1406,6 +1406,7 @@ "new_pin_code": "āŽĒā¯āŽ¤āŽŋāŽ¯ āŽŽā¯āŽŗā¯ āŽ•ā¯āŽąāŽŋāŽ¯ā¯€āŽŸā¯", "new_pin_code_subtitle": "āŽĒā¯‚āŽŸā¯āŽŸāŽĒā¯āŽĒāŽŸā¯āŽŸ āŽ•ā¯‹āŽĒā¯āŽĒā¯āŽąā¯ˆāŽ¯ā¯ˆ āŽ…āŽŖā¯āŽ• āŽ‡āŽ¤ā¯ āŽ‰āŽ™ā¯āŽ•āŽŗā¯ āŽŽā¯āŽ¤āŽ˛ā¯ āŽŽā¯āŽąā¯ˆāŽ¯āŽžāŽ•ā¯āŽŽā¯. āŽ‡āŽ¨ā¯āŽ¤ āŽĒāŽ•ā¯āŽ•āŽ¤ā¯āŽ¤ā¯ˆ āŽĒāŽžāŽ¤ā¯āŽ•āŽžāŽĒā¯āŽĒāŽžāŽ• āŽ…āŽŖā¯āŽ• āŽ’āŽ°ā¯ āŽŽā¯āŽŗā¯ āŽ•ā¯āŽąāŽŋāŽ¯ā¯€āŽŸā¯āŽŸā¯ˆ āŽ‰āŽ°ā¯āŽĩāŽžāŽ•ā¯āŽ•āŽĩā¯āŽŽā¯", "new_timeline": "āŽĒā¯āŽ¤āŽŋāŽ¯ āŽ•āŽžāŽ˛āŽĩāŽ°āŽŋāŽšā¯ˆ", + "new_update": "āŽĒā¯āŽ¤āŽŋāŽ¯ āŽĒā¯āŽ¤ā¯āŽĒā¯āŽĒāŽŋāŽĒā¯āŽĒ❁", "new_user_created": "āŽĒā¯āŽ¤āŽŋāŽ¯ āŽĒāŽ¯āŽŠāŽ°ā¯ āŽ‰āŽ°ā¯āŽĩāŽžāŽ•ā¯āŽ•āŽĒā¯āŽĒāŽŸā¯āŽŸāŽ¤ā¯", "new_version_available": "āŽĒā¯āŽ¤āŽŋāŽ¯ āŽĒāŽ¤āŽŋāŽĒā¯āŽĒ❁ āŽ•āŽŋāŽŸā¯ˆāŽ•ā¯āŽ•āŽŋāŽąāŽ¤ā¯", "newest_first": "āŽĒā¯āŽ¤āŽŋāŽ¯ āŽŽā¯āŽ¤āŽ˛ā¯", @@ -1421,6 +1422,7 @@ "no_cast_devices_found": "āŽ¨āŽŸāŽŋāŽ•āŽ°ā¯āŽ•āŽŗā¯ āŽšāŽžāŽ¤āŽŠāŽ™ā¯āŽ•āŽŗā¯ āŽŽāŽ¤ā¯āŽĩā¯āŽŽā¯ āŽ•āŽŋāŽŸā¯ˆāŽ•ā¯āŽ•āŽĩāŽŋāŽ˛ā¯āŽ˛ā¯ˆ", "no_checksum_local": "āŽšā¯†āŽ•ā¯āŽšāŽŽā¯ āŽŽāŽ¤ā¯āŽĩā¯āŽŽā¯ āŽ•āŽŋāŽŸā¯ˆāŽ•ā¯āŽ•āŽĩāŽŋāŽ˛ā¯āŽ˛ā¯ˆ - āŽ‰āŽŗā¯āŽŗāŽ• āŽšā¯ŠāŽ¤ā¯āŽ¤ā¯āŽ•ā¯āŽ•āŽŗā¯ˆāŽĒā¯ āŽĒā¯†āŽą āŽŽā¯āŽŸāŽŋāŽ¯āŽžāŽ¤ā¯", "no_checksum_remote": "āŽšā¯†āŽ•ā¯āŽšāŽŽā¯ āŽŽāŽ¤ā¯āŽĩā¯āŽŽā¯ āŽ•āŽŋāŽŸā¯ˆāŽ•ā¯āŽ•āŽĩāŽŋāŽ˛ā¯āŽ˛ā¯ˆ - āŽ¤ā¯ŠāŽ˛ā¯ˆ āŽšā¯ŠāŽ¤ā¯āŽ¤ā¯ āŽĒā¯†āŽą āŽŽā¯āŽŸāŽŋāŽ¯āŽžāŽ¤ā¯", + "no_devices": "āŽ…āŽ™ā¯āŽ•ā¯€āŽ•āŽ°āŽŋāŽ•ā¯āŽ•āŽĒā¯āŽĒāŽŸā¯āŽŸ āŽšāŽžāŽ¤āŽŠāŽ™ā¯āŽ•āŽŗā¯ āŽ‡āŽ˛ā¯āŽ˛ā¯ˆ", "no_duplicates_found": "āŽ¨āŽ•āŽ˛ā¯āŽ•āŽŗā¯ āŽŽāŽ¤ā¯āŽĩā¯āŽŽā¯ āŽ•āŽžāŽŖāŽĒā¯āŽĒāŽŸāŽĩāŽŋāŽ˛ā¯āŽ˛ā¯ˆ.", "no_exif_info_available": "EXIF āŽšā¯†āŽ¯ā¯āŽ¤āŽŋ āŽŽāŽ¤ā¯āŽĩā¯āŽŽā¯ āŽ•āŽŋāŽŸā¯ˆāŽ•ā¯āŽ•āŽĩāŽŋāŽ˛ā¯āŽ˛ā¯ˆ", "no_explore_results_message": "āŽ‰āŽ™ā¯āŽ•āŽŗā¯ āŽ¤ā¯ŠāŽ•ā¯āŽĒā¯āŽĒ❈ āŽ†āŽ°āŽžāŽ¯ āŽ•ā¯‚āŽŸā¯āŽ¤āŽ˛ā¯ āŽĒā¯āŽ•ā¯ˆāŽĒā¯āŽĒāŽŸāŽ™ā¯āŽ•āŽŗā¯ˆ āŽĒāŽ¤āŽŋāŽĩā¯‡āŽąā¯āŽąāŽĩā¯āŽŽā¯.", @@ -1437,6 +1439,7 @@ "no_results_description": "āŽ’āŽ°ā¯ āŽ’āŽ¤ā¯āŽ¤ āŽ…āŽ˛ā¯āŽ˛āŽ¤ā¯ āŽĒā¯ŠāŽ¤ā¯āŽĩāŽžāŽŠ āŽŽā¯āŽ•ā¯āŽ•āŽŋāŽ¯ āŽšā¯ŠāŽ˛ā¯āŽ˛ā¯ˆ āŽŽā¯āŽ¯āŽąā¯āŽšāŽŋāŽ•ā¯āŽ•āŽĩā¯āŽŽā¯", "no_shared_albums_message": "āŽ‰āŽ™ā¯āŽ•āŽŗā¯ āŽ¨ā¯†āŽŸā¯āŽĩā¯ŠāŽ°ā¯āŽ•ā¯āŽ•āŽŋāŽ˛ā¯ āŽ‰āŽŗā¯āŽŗāŽĩāŽ°ā¯āŽ•āŽŗā¯āŽŸāŽŠā¯ āŽĒā¯āŽ•ā¯ˆāŽĒā¯āŽĒāŽŸāŽ™ā¯āŽ•āŽŗā¯ˆāŽ¯ā¯āŽŽā¯ āŽĩā¯€āŽŸāŽŋāŽ¯ā¯‹āŽ•ā¯āŽ•āŽŗā¯ˆāŽ¯ā¯āŽŽā¯ āŽĒāŽ•āŽŋāŽ°ā¯āŽ¨ā¯āŽ¤ā¯ āŽ•ā¯ŠāŽŗā¯āŽŗ āŽ’āŽ°ā¯ āŽ†āŽ˛ā¯āŽĒāŽ¤ā¯āŽ¤ā¯ˆ āŽ‰āŽ°ā¯āŽĩāŽžāŽ•ā¯āŽ•āŽĩā¯āŽŽā¯", "no_uploads_in_progress": "āŽĒāŽ¤āŽŋāŽĩā¯‡āŽąā¯āŽąāŽ™ā¯āŽ•āŽŗā¯ āŽŽā¯āŽŠā¯āŽŠā¯‡āŽąā¯āŽąāŽ¤ā¯āŽ¤āŽŋāŽ˛ā¯ āŽ‡āŽ˛ā¯āŽ˛ā¯ˆ", + "not_allowed": "āŽ…āŽŠā¯āŽŽāŽ¤āŽŋāŽ•ā¯āŽ•āŽĒā¯āŽĒāŽŸāŽĩāŽŋāŽ˛ā¯āŽ˛ā¯ˆ", "not_available": "āŽ‡āŽ¤āŽąā¯āŽ•āŽŋāŽ˛ā¯āŽ˛ā¯ˆ", "not_in_any_album": "āŽŽāŽ¨ā¯āŽ¤ āŽ†āŽ˛ā¯āŽĒāŽ¤ā¯āŽ¤āŽŋāŽ˛ā¯āŽŽā¯ āŽ‡āŽ˛ā¯āŽ˛ā¯ˆ", "not_selected": "āŽ¤ā¯‡āŽ°ā¯āŽ¨ā¯āŽ¤ā¯†āŽŸā¯āŽ•ā¯āŽ•āŽĒā¯āŽĒāŽŸāŽĩāŽŋāŽ˛ā¯āŽ˛ā¯ˆ", @@ -1547,6 +1550,8 @@ "photos_count": "{count, plural, one {{count, number} āŽĒāŽŸāŽŽā¯} other {{count, number} āŽĒāŽŸāŽ™ā¯āŽ•āŽŗā¯}}", "photos_from_previous_years": "āŽŽā¯āŽ¨ā¯āŽ¤ā¯ˆāŽ¯ āŽ†āŽŖā¯āŽŸā¯āŽ•āŽŗāŽŋāŽŠā¯ āŽĒā¯āŽ•ā¯ˆāŽĒā¯āŽĒāŽŸāŽ™ā¯āŽ•āŽŗā¯", "pick_a_location": "āŽ’āŽ°ā¯ āŽ‡āŽŸāŽ¤ā¯āŽ¤ā¯ˆāŽ¤ā¯ āŽ¤ā¯‡āŽ°ā¯āŽ¨ā¯āŽ¤ā¯†āŽŸā¯āŽ™ā¯āŽ•āŽŗā¯", + "pick_custom_range": "āŽ¤āŽŠāŽŋāŽĒā¯āŽĒāŽ¯āŽŠā¯ āŽĩāŽ°āŽŽā¯āŽĒ❁", + "pick_date_range": "āŽ¤ā¯‡āŽ¤āŽŋ āŽĩāŽ°āŽŽā¯āŽĒā¯ˆāŽ¤ā¯ āŽ¤ā¯‡āŽ°ā¯āŽ¨ā¯āŽ¤ā¯†āŽŸā¯āŽ•ā¯āŽ•āŽĩā¯āŽŽā¯", "pin_code_changed_successfully": "āŽŽā¯āŽŗā¯ āŽ•ā¯āŽąāŽŋāŽ¯ā¯€āŽŸā¯āŽŸā¯ˆ āŽĩā¯†āŽąā¯āŽąāŽŋāŽ•āŽ°āŽŽāŽžāŽ• āŽŽāŽžāŽąā¯āŽąāŽŋāŽ¯āŽ¤ā¯", "pin_code_reset_successfully": "āŽŽā¯āŽŗā¯ āŽ•ā¯āŽąāŽŋāŽ¯ā¯€āŽŸā¯āŽŸā¯ˆ āŽĩā¯†āŽąā¯āŽąāŽŋāŽ•āŽ°āŽŽāŽžāŽ• āŽŽā¯€āŽŸā¯āŽŸāŽŽā¯ˆāŽ•ā¯āŽ•āŽĩā¯āŽŽā¯", "pin_code_setup_successfully": "āŽŽā¯āŽŗā¯ āŽ•ā¯āŽąāŽŋāŽ¯ā¯€āŽŸā¯āŽŸā¯ˆ āŽĩā¯†āŽąā¯āŽąāŽŋāŽ•āŽ°āŽŽāŽžāŽ• āŽ…āŽŽā¯ˆāŽ•ā¯āŽ•āŽĩā¯āŽŽā¯", @@ -2027,6 +2032,7 @@ "third_party_resources": "āŽŽā¯‚āŽŠā¯āŽąāŽžāŽŽā¯ āŽ¤āŽ°āŽĒā¯āŽĒ❁ āŽĩāŽŗāŽ™ā¯āŽ•āŽŗā¯", "time": "āŽ¨ā¯‡āŽ°āŽŽā¯", "time_based_memories": "āŽ¨ā¯‡āŽ° āŽ…āŽŸāŽŋāŽĒā¯āŽĒāŽŸā¯ˆāŽ¯āŽŋāŽ˛āŽžāŽŠ āŽ¨āŽŋāŽŠā¯ˆāŽĩā¯āŽ•āŽŗā¯", + "time_based_memories_duration": "āŽ’āŽĩā¯āŽĩā¯ŠāŽ°ā¯ āŽĒāŽŸāŽ¤ā¯āŽ¤ā¯ˆāŽ¯ā¯āŽŽā¯ āŽ•āŽžāŽŖā¯āŽĒāŽŋāŽ•ā¯āŽ• āŽ¤ā¯‡āŽĩ❈āŽĒā¯āŽĒāŽŸā¯āŽŽā¯ āŽĩāŽŋāŽŠāŽžāŽŸāŽŋāŽ•āŽŗā¯.", "timeline": "āŽ•āŽžāŽ˛āŽĩāŽ°āŽŋāŽšā¯ˆ", "timezone": "āŽ¨ā¯‡āŽ° āŽŽāŽŖā¯āŽŸāŽ˛āŽŽā¯", "to_archive": "āŽ•āŽžāŽĒā¯āŽĒāŽ•āŽŽā¯", diff --git a/i18n/te.json b/i18n/te.json index 3cbe6e36bd..98f722da2b 100644 --- a/i18n/te.json +++ b/i18n/te.json @@ -14,17 +14,20 @@ "add_a_location": "ā°¸āąā°Ĩā°žā°¨ā°žā°¨āąā°¨ā°ŋ ā°œāą‹ā°Ąā°ŋā°‚ā°šā°‚ā°Ąā°ŋ", "add_a_name": "ā°Ēāą‡ā°°āąā°¨āą ā°œāą‹ā°Ąā°ŋā°‚ā°šā°‚ā°Ąā°ŋ", "add_a_title": "ā°ļāą€ā°°āąā°ˇā°ŋā°•ā°¨āą ā°œāą‹ā°Ąā°ŋā°‚ā°šā°‚ā°Ąā°ŋ", + "add_birthday": "ā°Ēāąā°Ÿāąā°Ÿā°ŋā°¨ā°°āą‹ā°œāąā°¨āą ā°œāą‹ā°Ąā°ŋā°‚ā°šā°‚ā°Ąā°ŋ", + "add_endpoint": "ā°Žāąā°—ā°ŋā°‚ā°Ēāą ā°Ŧā°ŋā°‚ā°Ļāąā°ĩāąā°¨āą ā°œāą‹ā°Ąā°ŋā°‚ā°šā°‚ā°Ąā°ŋ", "add_exclusion_pattern": "ā°Žā°ŋā°¨ā°šā°žā°¯ā°ŋā°‚ā°Ēāą ā°¨ā°Žāą‚ā°¨ā°žā°¨āą ā°œāą‹ā°Ąā°ŋā°‚ā°šā°‚ā°Ąā°ŋ", - "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": "ā°†ā°˛āąā°Ŧā°Žāąā°•āą ā°œāą‹ā°Ąā°ŋā°‚ā°šā°Ŧā°Ąā°ŋā°‚ā°Ļā°ŋ", "add_to_album_bottom_sheet_already_exists": "ā°†ā°˛āąā°Ŧā°Žāąâ€Œā°˛āą‹ ā°‡ā°Ēāąā°ĒⰟā°ŋā°•āą‡ ā°œāą‹ā°Ąā°ŋā°‚ā°šā°Ŧā°Ąā°ŋā°‚ā°Ļā°ŋ", + "add_to_album_bottom_sheet_some_local_assets": "ā°•āąŠā°¨āąā°¨ā°ŋ ā°¸āąā°Ĩā°žā°¨ā°ŋā°• ā°†ā°¸āąā°¤āąā°˛ā°¨āą ā°†ā°˛āąā°Ŧā°Žāąâ€Œā°•āą ā°œāą‹ā°Ąā°ŋā°‚ā°šā°Ąā°‚ ā°¸ā°žā°§āąā°¯ā°‚ ā°•ā°žā°˛āą‡ā°Ļāą.", "add_to_shared_album": "ā°­ā°žā°—ā°¸āąā°ĩā°žā°Žāąā°¯ ā°†ā°˛āąā°Ŧā°Žāąâ€Œā°•āą ā°œāą‹ā°Ąā°ŋā°‚ā°šā°‚ā°Ąā°ŋ", "add_url": "URLā°¨ā°ŋ ā°œāą‹ā°Ąā°ŋā°‚ā°šā°‚ā°Ąā°ŋ", "added_to_archive": "ā°†ā°°āąā°•āąˆā°ĩāąâ€Œā°•ā°ŋ ā°œāą‹ā°Ąā°ŋā°‚ā°šā°Ŧā°Ąā°ŋā°‚ā°Ļā°ŋ", @@ -92,7 +95,6 @@ "jobs_failed": "{jobCount, plural, other {# ā°ĩā°ŋā°Ģā°˛ā°Žāąˆā°‚ā°Ļā°ŋ}}", "library_created": "ā°˛āąˆā°Ŧāąā°°ā°°āą€ ā°¸āąƒā°ˇāąā°Ÿā°ŋā°‚ā°šā°Ŧā°Ąā°ŋā°‚ā°Ļā°ŋ: {library}", "library_deleted": "ā°˛āąˆā°Ŧāąā°°ā°°āą€ ā°¤āąŠā°˛ā°—ā°ŋā°‚ā°šā°Ŧā°Ąā°ŋā°‚ā°Ļā°ŋ", - "library_import_path_description": "ā°Ļā°ŋā°—āąā°Žā°¤ā°ŋ ā°šāą‡ā°¯ā°Ąā°žā°¨ā°ŋā°•ā°ŋ ā°Ģāą‹ā°˛āąā°Ąā°°āąâ€Œā°¨āą ā°Ēāą‡ā°°āąā°•āąŠā°¨ā°‚ā°Ąā°ŋ. ā°¸ā°Ŧāą ā°Ģāą‹ā°˛āąā°Ąā°°āąâ€Œā°˛ā°¤āą‹ ā°¸ā°šā°ž Ⰸ ā°Ģāą‹ā°˛āąā°Ąā°°āą Ⱊā°ŋā°¤āąā°°ā°žā°˛āą ā°Žā°°ā°ŋā°¯āą ā°ĩāą€ā°Ąā°ŋā°¯āą‹ā°˛ ā°•āą‹ā°¸ā°‚ ā°¸āąā°•ā°žā°¨āą ā°šāą‡ā°¯ā°Ŧā°Ąāąā°¤āąā°‚ā°Ļā°ŋ.", "library_scanning": "ā°†ā°ĩā°°āąā°¤ā°¨ ā°¸āąā°•ā°žā°¨ā°ŋā°‚ā°—āą", "library_scanning_description": "ā°†ā°ĩā°°āąā°¤ā°¨ ā°˛āąˆā°Ŧāąā°°ā°°āą€ ā°¸āąā°•ā°žā°¨ā°ŋā°‚ā°—āąâ€Œā°¨ā°ŋ ā°•ā°žā°¨āąā°Ģā°ŋā°—ā°°āą ā°šāą‡ā°¯ā°‚ā°Ąā°ŋ", "library_scanning_enable_description": "ā°†ā°ĩā°°āąā°¤ā°¨ ā°˛āąˆā°Ŧāąā°°ā°°āą€ ā°¸āąā°•ā°žā°¨ā°ŋā°‚ā°—āąâ€Œā°¨ā°ŋ ā°Ēāąā°°ā°žā°°ā°‚ā°­ā°ŋā°‚ā°šā°‚ā°Ąā°ŋ", @@ -563,8 +565,6 @@ "edit_date_and_time": "ā°¤āą‡ā°Ļāą€ ā°Žā°°ā°ŋā°¯āą ā°¸ā°Žā°¯ā°žā°¨āąā°¨ā°ŋ ā°¸ā°ĩā°°ā°ŋā°‚ā°šāą", "edit_exclusion_pattern": "ā°Žā°ŋā°¨ā°šā°žā°¯ā°ŋā°‚ā°Ēāą ā°¨ā°Žāą‚ā°¨ā°žā°¨āą ā°¸ā°ĩā°°ā°ŋā°‚ā°šāą", "edit_faces": "ā°Žāąā°–ā°žā°˛ā°¨āą ā°¸ā°ĩā°°ā°ŋā°‚ā°šāą", - "edit_import_path": "ā°Ļā°ŋā°—āąā°Žā°¤ā°ŋ ā°Žā°žā°°āąā°—ā°žā°¨āąā°¨ā°ŋ ā°¸ā°ĩā°°ā°ŋā°‚ā°šāą", - "edit_import_paths": "ā°Ļā°ŋā°—āąā°Žā°¤ā°ŋ ā°Žā°žā°°āąā°—ā°žā°˛ā°¨āą ā°¸ā°ĩā°°ā°ŋā°‚ā°šāą", "edit_key": "ā°•āą€ā°¨ā°ŋ ā°¸ā°ĩā°°ā°ŋā°‚ā°šāą", "edit_link": "ā°˛ā°ŋā°‚ā°•āąâ€Œā°¨āą ā°¸ā°ĩā°°ā°ŋā°‚ā°šāą", "edit_location": "ā°¸āąā°Ĩā°žā°¨ā°žā°¨āąā°¨ā°ŋ ā°¸ā°ĩā°°ā°ŋā°‚ā°šāą", @@ -618,7 +618,6 @@ "failed_to_remove_product_key": "ā°‰ā°¤āąā°Ēā°¤āąā°¤ā°ŋ ā°•āą€ā°¨ā°ŋ ā°¤āą€ā°¸ā°ŋā°ĩāą‡ā°¯ā°Ąā°‚ā°˛āą‹ ā°ĩā°ŋā°Ģā°˛ā°Žāąˆā°‚ā°Ļā°ŋ", "failed_to_stack_assets": "ā°†ā°¸āąā°¤āąā°˛ā°¨āą ā°Ēāą‡ā°°āąā°šā°Ąā°‚ā°˛āą‹ ā°ĩā°ŋā°Ģā°˛ā°Žāąˆā°‚ā°Ļā°ŋ", "failed_to_unstack_assets": "ā°†ā°¸āąā°¤āąā°˛ā°¨āą ā°…ā°¨āą-ā°¸āąā°Ÿā°žā°•āą ā°šāą‡ā°¯ā°Ąā°‚ā°˛āą‹ ā°ĩā°ŋā°Ģā°˛ā°Žāąˆā°‚ā°Ļā°ŋ", - "import_path_already_exists": "Ⰸ ā°Ļā°ŋā°—āąā°Žā°¤ā°ŋ ā°Žā°žā°°āąā°—ā°‚ ā°‡ā°Ēāąā°ĒⰟā°ŋā°•āą‡ ⰉⰂā°Ļā°ŋ.", "incorrect_email_or_password": "ā°¤ā°Ēāąā°Ēāą ā°‡ā°Žāą†ā°¯ā°ŋā°˛āą ā°˛āą‡ā°Ļā°ž ā°Ēā°žā°¸āąâ€Œā°ĩā°°āąā°Ąāą", "paths_validation_failed": "{paths, plural, one {# path} other {# paths}} ā°§āąā°°āąā°ĩāą€ā°•ā°°ā°Ŗ ā°ĩā°ŋā°Ģā°˛ā°Žāąˆā°‚ā°Ļā°ŋ", "profile_picture_transparent_pixels": "ā°Ēāąā°°āąŠā°Ģāąˆā°˛āą Ⱊā°ŋā°¤āąā°°ā°žā°˛ā°˛āą‹ ā°Ēā°žā°°ā°Ļā°°āąā°ļā°• ā°Ēā°ŋā°•āąā°¸āą†ā°˛āąâ€Œā°˛āą ā°‰ā°‚ā°Ąā°•āą‚ā°Ąā°Ļāą. ā°Ļā°¯ā°šāą‡ā°¸ā°ŋ Ⱊā°ŋā°¤āąā°°ā°žā°¨āąā°¨ā°ŋ ā°œāą‚ā°Žāą ā°šāą‡ā°¯ā°‚ā°Ąā°ŋ ā°Žā°°ā°ŋā°¯āą/ā°˛āą‡ā°Ļā°ž ⰤⰰⰞā°ŋā°‚ā°šā°‚ā°Ąā°ŋ.", @@ -627,7 +626,6 @@ "unable_to_add_assets_to_shared_link": "ā°ˇāą‡ā°°āą ā°šāą‡ā°¸ā°ŋā°¨ ā°˛ā°ŋā°‚ā°•āąâ€Œā°•āą ā°†ā°¸āąā°¤āąā°˛ā°¨āą ā°œāą‹ā°Ąā°ŋā°‚ā°šā°Ąā°‚ ā°¸ā°žā°§āąā°¯ā°‚ ā°•ā°žā°˛āą‡ā°Ļāą", "unable_to_add_comment": "ā°ĩāąā°¯ā°žā°–āąā°¯ā°¨āą ā°œāą‹ā°Ąā°ŋā°‚ā°šā°Ąā°‚ ā°¸ā°žā°§āąā°¯ā°‚ ā°•ā°žā°˛āą‡ā°Ļāą", "unable_to_add_exclusion_pattern": "ā°Žā°ŋā°¨ā°šā°žā°¯ā°ŋā°‚ā°Ēāą ā°¨ā°Žāą‚ā°¨ā°žā°¨āą ā°œāą‹ā°Ąā°ŋā°‚ā°šā°Ąā°‚ ā°¸ā°žā°§āąā°¯ā°‚ ā°•ā°žā°˛āą‡ā°Ļāą", - "unable_to_add_import_path": "ā°Ļā°ŋā°—āąā°Žā°¤ā°ŋ ā°Žā°žā°°āąā°—ā°žā°¨āąā°¨ā°ŋ ā°œāą‹ā°Ąā°ŋā°‚ā°šā°Ąā°‚ ā°¸ā°žā°§āąā°¯ā°‚ ā°•ā°žā°˛āą‡ā°Ļāą", "unable_to_add_partners": "ā°­ā°žā°—ā°¸āąā°ĩā°žā°Žāąā°˛ā°¨āą ā°œāą‹ā°Ąā°ŋā°‚ā°šā°Ąā°‚ ā°¸ā°žā°§āąā°¯ā°‚ ā°•ā°žā°˛āą‡ā°Ļāą", "unable_to_add_remove_archive": "ā°†ā°°āąā°•āąˆā°ĩāą ā°šāą‡ā°¯ā°Ąā°‚ {archived, select, true {remove asset from} other {add asset to}} ā°¸ā°žā°§āąā°¯ā°‚ ā°•ā°žā°˛āą‡ā°Ļāą", "unable_to_add_remove_favorites": "ā°‡ā°ˇāąā°Ÿā°Žāąˆā°¨ā°ĩā°ŋā°—ā°ž {favorite, select, true {add asset to} other {remove asset from}} ā°¸ā°žā°§āąā°¯ā°‚ ā°•ā°žā°˛āą‡ā°Ļāą", @@ -649,12 +647,10 @@ "unable_to_delete_asset": "ā°†ā°¸āąā°¤ā°ŋā°¨ā°ŋ ā°¤āąŠā°˛ā°—ā°ŋā°‚ā°šā°Ąā°‚ ā°¸ā°žā°§āąā°¯ā°‚ ā°•ā°žā°˛āą‡ā°Ļāą", "unable_to_delete_assets": "ā°†ā°¸āąā°¤āąā°˛ā°¨āą ā°¤āąŠā°˛ā°—ā°ŋā°‚ā°šā°Ąā°‚ā°˛āą‹ ā°˛āą‹ā°Ēā°‚ ā°ā°°āąā°Ēā°Ąā°ŋā°‚ā°Ļā°ŋ", "unable_to_delete_exclusion_pattern": "ā°Žā°ŋā°¨ā°šā°žā°¯ā°ŋā°‚ā°Ēāą ā°¨ā°Žāą‚ā°¨ā°žā°¨āą ā°¤āąŠā°˛ā°—ā°ŋā°‚ā°šā°Ąā°‚ ā°¸ā°žā°§āąā°¯ā°‚ ā°•ā°žā°˛āą‡ā°Ļāą", - "unable_to_delete_import_path": "ā°Ļā°ŋā°—āąā°Žā°¤ā°ŋ ā°Žā°žā°°āąā°—ā°žā°¨āąā°¨ā°ŋ ā°¤āąŠā°˛ā°—ā°ŋā°‚ā°šā°˛āą‡ā°•ā°Ēāą‹ā°¯ā°ŋā°‚ā°Ļā°ŋ", "unable_to_delete_shared_link": "ā°ˇāą‡ā°°āą ā°šāą‡ā°¸ā°ŋā°¨ ā°˛ā°ŋā°‚ā°•āąâ€Œā°¨āą ā°¤āąŠā°˛ā°—ā°ŋā°‚ā°šā°Ąā°‚ ā°¸ā°žā°§āąā°¯ā°‚ ā°•ā°žā°˛āą‡ā°Ļāą", "unable_to_delete_user": "ā°ĩā°ŋā°¨ā°ŋā°¯āą‹ā°—ā°Ļā°žā°°āąā°¨ā°ŋ ā°¤āąŠā°˛ā°—ā°ŋā°‚ā°šā°Ąā°‚ ā°¸ā°žā°§āąā°¯ā°‚ ā°•ā°žā°˛āą‡ā°Ļāą", "unable_to_download_files": "ā°Ģāąˆā°ŗāąā°˛ā°¨āą ā°ĄāąŒā°¨āąâ€Œā°˛āą‹ā°Ąāą ā°šāą‡ā°¯ā°Ąā°‚ ā°¸ā°žā°§āąā°¯ā°‚ ā°•ā°žā°˛āą‡ā°Ļāą", "unable_to_edit_exclusion_pattern": "ā°Žā°ŋā°¨ā°šā°žā°¯ā°ŋā°‚ā°Ēāą ā°¨ā°Žāą‚ā°¨ā°žā°¨āą ā°¸ā°ĩā°°ā°ŋā°‚ā°šā°Ąā°‚ ā°¸ā°žā°§āąā°¯ā°‚ ā°•ā°žā°˛āą‡ā°Ļāą", - "unable_to_edit_import_path": "ā°Ļā°ŋā°—āąā°Žā°¤ā°ŋ ā°Žā°žā°°āąā°—ā°žā°¨āąā°¨ā°ŋ ā°¸ā°ĩā°°ā°ŋā°‚ā°šā°Ąā°‚ ā°¸ā°žā°§āąā°¯ā°‚ ā°•ā°žā°˛āą‡ā°Ļāą", "unable_to_empty_trash": "ā°Ÿāąā°°ā°žā°ˇāąâ€Œā°¨āą ā°–ā°žā°ŗāą€ ā°šāą‡ā°¯ā°Ąā°‚ ā°¸ā°žā°§āąā°¯ā°‚ ā°•ā°žā°˛āą‡ā°Ļāą", "unable_to_enter_fullscreen": "ā°Ēāą‚ā°°āąā°¤ā°ŋ ā°¸āąā°•āąā°°āą€ā°¨āąâ€Œā°˛āą‹ā°•ā°ŋ ā°Ēāąā°°ā°ĩāą‡ā°ļā°ŋā°‚ā°šā°Ąā°‚ ā°¸ā°žā°§āąā°¯ā°‚ ā°•ā°žā°˛āą‡ā°Ļāą", "unable_to_exit_fullscreen": "ā°Ēāą‚ā°°āąā°¤ā°ŋ ā°¸āąā°•āąā°°āą€ā°¨āą ā°¨āąā°‚ā°Ąā°ŋ ā°¨ā°ŋā°ˇāąā°•āąā°°ā°Žā°ŋā°‚ā°šā°Ąā°‚ ā°¸ā°žā°§āąā°¯ā°‚ ā°•ā°žā°˛āą‡ā°Ļāą", diff --git a/i18n/th.json b/i18n/th.json index 759b09363d..9bbb6f706c 100644 --- a/i18n/th.json +++ b/i18n/th.json @@ -17,7 +17,6 @@ "add_birthday": "āš€ā¸žā¸´āšˆā¸Ąā¸§ā¸ąā¸™āš€ā¸ā¸´ā¸”", "add_endpoint": "āš€ā¸žā¸´āšˆā¸Ąā¸›ā¸Ĩ⏞ā¸ĸ⏗⏞⏇", "add_exclusion_pattern": "āš€ā¸žā¸´āšˆā¸Ąā¸‚āš‰ā¸­ā¸ĸā¸āš€ā¸§āš‰ā¸™", - "add_import_path": "āš€ā¸žā¸´āšˆā¸Ąāš€ā¸Ēāš‰ā¸™ā¸—ā¸˛ā¸‡ā¸™ā¸ŗāš€ā¸‚āš‰ā¸˛", "add_location": "āš€ā¸žā¸´āšˆā¸Ąā¸•ā¸ŗāšā¸Ģā¸™āšˆā¸‡", "add_more_users": "āš€ā¸žā¸´āšˆā¸Ąā¸œā¸šāš‰āšƒā¸Šāš‰ā¸‡ā¸˛ā¸™", "add_partner": "āš€ā¸žā¸´āšˆā¸Ąā¸„ā¸šāšˆā¸Ģā¸š", @@ -32,6 +31,7 @@ "add_to_albums": "āš€ā¸žā¸´āšˆā¸Ąāš€ā¸‚āš‰ā¸˛āšƒā¸™ā¸­ā¸ąā¸Ĩā¸šā¸ąāš‰ā¸Ą", "add_to_albums_count": "āš€ā¸žā¸´āšˆā¸Ąāš„ā¸›ā¸ĸā¸ąā¸‡ā¸­ā¸ąā¸Ĩā¸šā¸ąāš‰ā¸Ą ({count})", "add_to_shared_album": "āš€ā¸žā¸´āšˆā¸Ąāš„ā¸›ā¸ĸā¸ąā¸‡ā¸­ā¸ąā¸Ĩā¸šā¸ąāš‰ā¸Ąā¸—ā¸ĩāšˆāšā¸Šā¸ŖāšŒā¸ā¸ąā¸™", + "add_upload_to_stack": "āš€ā¸žā¸´āšˆā¸Ąā¸—ā¸ĩāšˆā¸­ā¸ąā¸›āš‚ā¸Ģā¸Ĩā¸”āš€ā¸‚āš‰ā¸˛ stack", "add_url": "āš€ā¸žā¸´āšˆā¸Ą URL", "added_to_archive": "āš€ā¸žā¸´āšˆā¸Ąāš„ā¸›ā¸ĸā¸ąā¸‡ā¸—ā¸ĩāšˆā¸ˆā¸ąā¸”āš€ā¸āš‡ā¸šā¸–ā¸˛ā¸§ā¸Ŗ", "added_to_favorites": "āš€ā¸žā¸´āšˆā¸Ąāš€ā¸‚āš‰ā¸˛ā¸Ŗā¸˛ā¸ĸā¸ā¸˛ā¸Ŗāš‚ā¸›ā¸Ŗā¸”", @@ -48,7 +48,12 @@ "backup_database": "ā¸Ēā¸ŗā¸Ŗā¸­ā¸‡ā¸ā¸˛ā¸™ā¸‚āš‰ā¸­ā¸Ąā¸šā¸Ĩ", "backup_database_enable_description": "āš€ā¸›ā¸´ā¸”āšƒā¸Šāš‰ā¸‡ā¸˛ā¸™ā¸Ēā¸ŗā¸Ŗā¸­ā¸‡ā¸ā¸˛ā¸™ā¸‚āš‰ā¸­ā¸Ąā¸šā¸Ĩ", "backup_keep_last_amount": "ā¸ˆā¸ŗā¸™ā¸§ā¸™ā¸‚āš‰ā¸­ā¸Ąā¸šā¸Ĩā¸Ēā¸ŗā¸Ŗā¸­ā¸‡ā¸āšˆā¸­ā¸™ā¸Ģā¸™āš‰ā¸˛ā¸—ā¸ĩāšˆā¸•āš‰ā¸­ā¸‡āš€ā¸āš‡ā¸šāš„ā¸§āš‰", + "backup_onboarding_1_description": "ā¸Ēā¸ŗāš€ā¸™ā¸˛ā¸™ā¸­ā¸ā¸Ē⏖⏞⏙⏗ā¸ĩāšˆā¸šā¸™ā¸„ā¸Ĩā¸˛ā¸§ā¸”āšŒā¸Ģ⏪⏎⏭⏗ā¸ĩāšˆā¸•ā¸ąāš‰ā¸‡ā¸­ā¸ˇāšˆā¸™", + "backup_onboarding_2_description": "ā¸Ēā¸ŗāš€ā¸™ā¸˛ā¸—ā¸ĩāšˆā¸­ā¸ĸā¸šāšˆā¸šā¸™āš€ā¸„ā¸Ŗā¸ˇāšˆā¸­ā¸‡ā¸•āšˆā¸˛ā¸‡ā¸ā¸ąā¸™ ⏋ā¸ļāšˆā¸‡ā¸Ŗā¸§ā¸Ąā¸–ā¸ļā¸‡āš„ā¸Ÿā¸ĨāšŒā¸Ģā¸Ĩā¸ąā¸āšā¸Ĩā¸°āš„ā¸Ÿā¸ĨāšŒā¸Ēā¸ŗā¸Ŗā¸­ā¸‡ā¸šā¸™āš€ā¸„ā¸Ŗā¸ˇāšˆā¸­ā¸‡", + "backup_onboarding_3_description": "ā¸ˆā¸ŗā¸™ā¸§ā¸™ā¸Šā¸¸ā¸”ā¸‚ā¸­ā¸‡ā¸‚āš‰ā¸­ā¸Ąā¸šā¸Ĩā¸—ā¸ąāš‰ā¸‡ā¸Ģā¸Ąā¸” ā¸Ŗā¸§ā¸Ąā¸–ā¸ļā¸‡āš„ā¸Ÿā¸ĨāšŒāš€ā¸”ā¸´ā¸Ą ⏋ā¸ļāšˆā¸‡ā¸Ŗā¸§ā¸Ąā¸–ā¸ļ⏇ 1 ā¸Šā¸¸ā¸”ā¸—ā¸ĩāšˆā¸•ā¸ąāš‰ā¸‡ā¸­ā¸ĸā¸šāšˆā¸„ā¸™ā¸Ĩā¸°ā¸–ā¸´āšˆā¸™ āšā¸Ĩ⏰ā¸Ēā¸ŗāš€ā¸™ā¸˛ā¸šā¸™āš€ā¸„ā¸Ŗā¸ˇāšˆā¸­ā¸‡ 2 ā¸Šā¸¸ā¸”", + "backup_onboarding_description": "āšā¸™ā¸°ā¸™ā¸ŗāšƒā¸Ģāš‰āšƒā¸Šāš‰ ⏁⏞⏪ā¸Ēā¸ŗā¸Ŗā¸­ā¸‡ā¸‚āš‰ā¸­ā¸Ąā¸šā¸Ĩāšā¸šā¸š 3-2-1āš€ā¸žā¸ˇāšˆā¸­ā¸›ā¸ā¸›āš‰ā¸­ā¸‡ā¸‚āš‰ā¸­ā¸Ąā¸šā¸Ĩ ā¸„ā¸§ā¸Ŗāš€ā¸āš‡ā¸šā¸Ēā¸ŗāš€ā¸™ā¸˛ā¸‚ā¸­ā¸‡ā¸Ŗā¸šā¸›ā¸ ā¸˛ā¸ž/⏧⏴⏔ā¸ĩāš‚ā¸­ā¸—ā¸ĩāšˆā¸­ā¸ąā¸›āš‚ā¸Ģā¸Ĩā¸”āšā¸Ĩā¸°ā¸ā¸˛ā¸™ā¸‚āš‰ā¸­ā¸Ąā¸šā¸Ĩ⏂⏭⏇ Immich āš€ā¸žā¸ˇāšˆā¸­ā¸Ēā¸ŗā¸Ŗā¸­ā¸‡ā¸‚āš‰ā¸­ā¸Ąā¸šā¸Ĩāš„ā¸”āš‰ā¸­ā¸ĸāšˆā¸˛ā¸‡ā¸—ā¸ąāšˆā¸§ā¸–ā¸ļ⏇", "backup_onboarding_footer": "ā¸Ē⏺ā¸Ģā¸Ŗā¸ąā¸šā¸‚āš‰ā¸­ā¸Ąā¸šā¸Ĩāš€ā¸žā¸´āšˆā¸Ąāš€ā¸•ā¸´ā¸Ąā¸—ā¸ĩāšˆāš€ā¸ā¸ĩāšˆā¸ĸā¸§ā¸ā¸ąā¸šā¸ā¸˛ā¸Ŗā¸Ēā¸ŗā¸Ŗā¸­ā¸‡ā¸‚āš‰ā¸­ā¸Ąā¸šā¸Ĩ⏂⏭⏇ Immich āš‚ā¸›ā¸Ŗā¸”ā¸”ā¸šā¸—ā¸ĩāšˆ documentation", + "backup_onboarding_parts_title": "⏁⏞⏪ā¸Ēā¸ŗā¸Ŗā¸­ā¸‡ā¸‚āš‰ā¸­ā¸Ąā¸šā¸Ĩāšā¸šā¸š 3-2-1 ā¸›ā¸Ŗā¸°ā¸ā¸­ā¸šāš„ā¸›ā¸”āš‰ā¸§ā¸ĸ:", "backup_onboarding_title": "ā¸Ēā¸ŗā¸Ŗā¸­ā¸‡ā¸‚āš‰ā¸­ā¸Ąā¸šā¸Ĩ", "backup_settings": "ā¸•ā¸ąāš‰ā¸‡ā¸„āšˆā¸˛ā¸ā¸˛ā¸Ŗā¸Ēā¸ŗā¸Ŗā¸­ā¸‡ā¸‚āš‰ā¸­ā¸Ąā¸šā¸Ĩ", "backup_settings_description": "ā¸ˆā¸ąā¸”ā¸ā¸˛ā¸Ŗā¸ā¸˛ā¸Ŗā¸•ā¸ąāš‰ā¸‡ā¸„āšˆā¸˛ā¸ā¸˛ā¸Ŗā¸Ēā¸ŗā¸Ŗā¸­ā¸‡ā¸ā¸˛ā¸™ā¸‚āš‰ā¸­ā¸Ąā¸šā¸Ĩ", @@ -105,19 +110,24 @@ "jobs_failed": "{jobCount, plural, other {# ā¸Ĩāš‰ā¸Ąāš€ā¸Ģā¸Ĩ⏧}}", "library_created": "ā¸Ēā¸Ŗāš‰ā¸˛ā¸‡ā¸„ā¸Ĩā¸ąā¸‡ā¸ ā¸˛ā¸ž: {library}", "library_deleted": "⏄ā¸Ĩā¸ąā¸‡ā¸ ā¸˛ā¸žā¸–ā¸šā¸ā¸Ĩ⏚", - "library_import_path_description": "ā¸Ŗā¸°ā¸šā¸¸āš‚ā¸Ÿā¸Ĩāš€ā¸”ā¸­ā¸ŖāšŒāš€ā¸žā¸ˇāšˆā¸­ā¸™āšā¸˛āš€ā¸‚āš‰ā¸˛ āš‚ā¸Ÿā¸Ĩāš€ā¸”ā¸­ā¸ŖāšŒā¸™ā¸ĩāš‰āšā¸Ĩā¸°āš‚ā¸Ÿā¸Ĩāš€ā¸”ā¸­ā¸ŖāšŒā¸ĸāšˆā¸­ā¸ĸā¸ˆā¸°ā¸–ā¸šā¸ā¸„āš‰ā¸™ā¸Ģā¸˛ā¸ ā¸˛ā¸žāšā¸Ĩ⏰⏧⏴⏔ā¸ĩāš‚ā¸­.", + "library_details": "⏪⏞ā¸ĸā¸Ĩā¸°āš€ā¸­ā¸ĩā¸ĸ⏔⏄ā¸Ĩā¸ąā¸‡ā¸ ā¸˛ā¸ž", + "library_folder_description": "āš€ā¸Ĩā¸ˇā¸­ā¸āš‚ā¸Ÿā¸ĨāšŒāš€ā¸”ā¸­ā¸ŖāšŒāš€ā¸žā¸ˇāšˆā¸­ā¸™ā¸ŗāš€ā¸‚āš‰ā¸˛ āš‚ā¸Ÿā¸Ĩāš€ā¸”ā¸­ā¸ŖāšŒā¸™ā¸ĩāš‰ ā¸Ŗā¸§ā¸Ąā¸–ā¸ļā¸‡āš‚ā¸Ÿā¸Ĩāš€ā¸”ā¸­ā¸ŖāšŒā¸ĸāšˆā¸­ā¸ĸā¸ˆā¸°ā¸–ā¸šā¸ā¸Ēāšā¸ā¸™āš€ā¸žā¸ˇāšˆā¸­ā¸Ŗā¸šā¸›ā¸ ā¸˛ā¸žāšā¸Ĩ⏰⏧⏴⏔ā¸ĩāš‚ā¸­", + "library_remove_exclusion_pattern_prompt": "ā¸„ā¸¸ā¸“āšā¸™āšˆāšƒā¸ˆā¸§āšˆā¸˛ā¸•āš‰ā¸­ā¸‡ā¸ā¸˛ā¸Ŗā¸Ĩā¸šā¸Ŗā¸šā¸›āšā¸šā¸šā¸‚āš‰ā¸­ā¸ĸā¸āš€ā¸§āš‰ā¸™ā¸™ā¸ĩāš‰ā¸­ā¸­ā¸ā¸Ģā¸Ŗā¸ˇā¸­āš„ā¸Ąāšˆ?", + "library_remove_folder_prompt": "ā¸„ā¸¸ā¸“āšā¸™āšˆāšƒā¸ˆā¸§āšˆā¸˛ā¸•āš‰ā¸­ā¸‡ā¸ā¸˛ā¸Ŗā¸Ĩā¸šāš‚ā¸Ÿā¸ĨāšŒāš€ā¸”ā¸­ā¸ŖāšŒā¸™ā¸ŗāš€ā¸‚āš‰ā¸˛ā¸™ā¸ĩāš‰ā¸Ģā¸Ŗā¸ˇā¸­āš„ā¸Ąāšˆ?", "library_scanning": "⏁⏞⏪ā¸Ēāšā¸ā¸™āš€ā¸›āš‡ā¸™ā¸Ŗā¸°ā¸ĸ⏰", "library_scanning_description": "ā¸•ā¸ąāš‰ā¸‡ā¸„āšˆā¸˛ā¸ā¸˛ā¸Ŗā¸Ēāšā¸ā¸™ā¸„ā¸Ĩā¸ąā¸‡ā¸ ā¸˛ā¸žāš€ā¸›āš‡ā¸™ā¸Ŗā¸°ā¸ĸ⏰", "library_scanning_enable_description": "āš€ā¸›ā¸´ā¸”ā¸ā¸˛ā¸Ŗā¸Ēāšā¸ā¸™ā¸„ā¸Ĩā¸ąā¸‡ā¸ ā¸˛ā¸žāš€ā¸›āš‡ā¸™ā¸Ŗā¸°ā¸ĸ⏰", "library_settings": "⏄ā¸Ĩā¸ąā¸‡ā¸ ā¸˛ā¸žā¸ ā¸˛ā¸ĸ⏙⏭⏁", "library_settings_description": "ā¸ˆā¸ąā¸”ā¸ā¸˛ā¸Ŗā¸ā¸˛ā¸Ŗā¸•ā¸ąāš‰ā¸‡ā¸„āšˆā¸˛ā¸„ā¸Ĩā¸ąā¸‡ā¸ ā¸˛ā¸žā¸ ā¸˛ā¸ĸ⏙⏭⏁", "library_tasks_description": "ā¸Ēāšā¸ā¸™ā¸„ā¸Ĩā¸ąā¸‡ā¸ ā¸˛ā¸žā¸ ā¸˛ā¸ĸ⏙⏭⏁ā¸Ē⏺ā¸Ģā¸Ŗā¸ąā¸šā¸—ā¸Ŗā¸ąā¸žā¸ĸā¸˛ā¸ā¸Ŗāšƒā¸Ģā¸Ąāšˆāšā¸Ĩ⏰/ā¸Ģ⏪⏎⏭⏗ā¸ĩāšˆāš€ā¸›ā¸Ĩā¸ĩāšˆā¸ĸā¸™āšā¸›ā¸Ĩ⏇", + "library_updated": "⏄ā¸Ĩā¸ąā¸‡ā¸ ā¸˛ā¸žā¸–ā¸šā¸ā¸­ā¸ąā¸›āš€ā¸”ā¸•", "library_watching_enable_description": "ā¸”ā¸šā¸„ā¸Ĩā¸ąā¸‡ā¸ ā¸˛ā¸žā¸ ā¸˛ā¸ĸ⏙⏭⏁ā¸Ē⏺ā¸Ģā¸Ŗā¸ąā¸šā¸ā¸˛ā¸Ŗāš€ā¸›ā¸Ĩā¸ĩāšˆā¸ĸā¸™āšā¸›ā¸Ĩā¸‡ā¸‚ā¸­ā¸‡āš„ā¸Ÿā¸ĨāšŒ", - "library_watching_settings": "ā¸ā¸˛ā¸Ŗā¸”ā¸šā¸„ā¸Ĩā¸ąā¸‡ā¸ ā¸˛ā¸žā¸ ā¸˛ā¸ĸ⏙⏭⏁ (⏟ā¸ĩāš€ā¸ˆā¸­ā¸ŖāšŒā¸—ā¸”ā¸Ĩ⏭⏇)", + "library_watching_settings": "ā¸ā¸˛ā¸Ŗā¸”ā¸šā¸„ā¸Ĩā¸ąā¸‡ā¸ ā¸˛ā¸ž [⏟ā¸ĩāš€ā¸ˆā¸­ā¸ŖāšŒā¸—ā¸”ā¸Ĩ⏭⏇]", "library_watching_settings_description": "ā¸Ģā¸˛āš„ā¸Ÿā¸ĨāšŒā¸—ā¸ĩāšˆāš€ā¸›ā¸Ĩā¸ĩāšˆā¸ĸā¸™āšā¸›ā¸Ĩā¸‡āš‚ā¸”ā¸ĸā¸­ā¸ąā¸•āš‚ā¸™ā¸Ąā¸ąā¸•ā¸´", "logging_enable_description": "āš€ā¸›ā¸´ā¸”ā¸ā¸˛ā¸Ŗā¸šā¸ąā¸™ā¸—ā¸ļ⏁", "logging_level_description": "āš€ā¸Ąā¸ˇāšˆā¸­āš€ā¸›ā¸´ā¸”āšƒā¸Šāš‰ā¸‡ā¸˛ā¸™ āšƒā¸Šāš‰ā¸Ŗā¸°ā¸”ā¸ąā¸šā¸ā¸˛ā¸Ŗā¸šā¸ąā¸™ā¸—ā¸ļā¸ā¸­ā¸°āš„ā¸Ŗ", "logging_settings": "ā¸ā¸˛ā¸Ŗā¸šā¸ąā¸™ā¸—ā¸ļ⏁", + "machine_learning_availability_checks_description": "ā¸•ā¸Ŗā¸§ā¸ˆā¸ˆā¸ąā¸šāšā¸Ĩā¸°āš€ā¸Ĩā¸ˇā¸­ā¸āšƒā¸Šāš‰āš€ā¸‹ā¸´ā¸ŖāšŒā¸Ÿāš€ā¸§ā¸­ā¸ŖāšŒ machine learning āš‚ā¸”ā¸ĸā¸­ā¸ąā¸•āš‚ā¸™ā¸Ąā¸ąā¸•ā¸´", "machine_learning_clip_model": "āš‚ā¸Ąāš€ā¸”ā¸Ĩ Clip", "machine_learning_clip_model_description": "ā¸Šā¸ˇāšˆā¸­ā¸‚ā¸­ā¸‡āš‚ā¸Ąāš€ā¸”ā¸Ĩ CLIP ⏗ā¸ĩāšˆā¸Ŗā¸°ā¸šā¸¸ā¸•ā¸Ŗā¸‡ā¸™ā¸ĩāš‰ āš‚ā¸›ā¸Ŗā¸”ā¸—ā¸Ŗā¸˛ā¸šā¸§āšˆā¸˛ā¸ˆā¸ŗāš€ā¸›āš‡ā¸™ā¸•āš‰ā¸­ā¸‡ā¸”ā¸ŗāš€ā¸™ā¸´ā¸™ā¸‡ā¸˛ā¸™ 'ā¸„āš‰ā¸™ā¸Ģā¸˛ā¸­ā¸ąā¸ˆā¸‰ā¸Ŗā¸´ā¸ĸ⏰' āšƒā¸Ģā¸Ąāšˆā¸Ē⏺ā¸Ģā¸Ŗā¸ąā¸šā¸—ā¸¸ā¸ā¸Ŗā¸šā¸›āš€ā¸Ąā¸ˇāšˆā¸­āš€ā¸›ā¸Ĩā¸ĩāšˆā¸ĸā¸™āš‚ā¸Ąāš€ā¸”ā¸Ĩ", "machine_learning_duplicate_detection": "ā¸•ā¸Ŗā¸§ā¸ˆā¸ˆā¸ąā¸šā¸ā¸˛ā¸Ŗā¸‹āš‰ā¸ŗā¸ā¸ąā¸™", @@ -140,6 +150,15 @@ "machine_learning_min_detection_score_description": "ā¸„āšˆā¸˛ā¸„ā¸§ā¸˛ā¸Ąā¸Ąā¸ąāšˆā¸™āšƒā¸ˆāšƒā¸™ā¸ā¸˛ā¸Ŗā¸•ā¸Ŗā¸§ā¸ˆā¸ˆā¸ąā¸šāšƒā¸šā¸Ģā¸™āš‰ā¸˛ ⏈⏞⏁ 0-1 ā¸„āšˆā¸˛ā¸ĸā¸´āšˆā¸‡ā¸•āšˆā¸ŗā¸ˆā¸°ā¸ĸā¸´āšˆā¸‡ā¸•ā¸Ŗā¸§ā¸ˆā¸ˆā¸ąā¸šāšƒā¸šā¸Ģā¸™āš‰ā¸˛ā¸Ąā¸˛ā¸ā¸‚ā¸ļāš‰ā¸™ āšā¸•āšˆā¸­ā¸˛ā¸ˆā¸Ąā¸ĩ⏜ā¸Ĩā¸œā¸´ā¸”ā¸žā¸Ĩ⏞⏔", "machine_learning_min_recognized_faces": "ā¸ˆā¸”ā¸ˆā¸ŗāšƒā¸šā¸Ģā¸™āš‰ā¸˛ā¸‚ā¸ąāš‰ā¸™ā¸•āšˆā¸ŗ", "machine_learning_min_recognized_faces_description": "ā¸ˆā¸ŗā¸™ā¸§ā¸™āšƒā¸šā¸Ģā¸™āš‰ā¸˛ā¸‚ā¸ąāš‰ā¸™ā¸•āšˆā¸ŗā¸—ā¸ĩāšˆā¸ˆā¸°ā¸Ēā¸Ŗāš‰ā¸˛ā¸‡ā¸„ā¸™ā¸‚ā¸ļāš‰ā¸™ā¸Ąā¸˛ ā¸ā¸˛ā¸Ŗāš€ā¸žā¸´āšˆā¸Ąā¸„āšˆā¸˛ā¸™ā¸ĩāš‰ā¸ˆā¸°ā¸—ā¸ŗāšƒā¸Ģāš‰ā¸ā¸˛ā¸Ŗā¸ˆā¸”ā¸ˆā¸ŗāšƒā¸šā¸Ģā¸™āš‰ā¸˛āšā¸Ąāšˆā¸™ā¸ĸā¸ŗā¸ā¸§āšˆā¸˛āšā¸•āšˆāš€ā¸žā¸´āšˆā¸Ąāš‚ā¸­ā¸ā¸˛ā¸Ē⏗ā¸ĩāšˆāšƒā¸šā¸Ģā¸™āš‰ā¸˛ā¸ˆā¸°āš„ā¸Ąāšˆā¸–ā¸šā¸ā¸Ąā¸­ā¸šā¸Ģā¸Ąā¸˛ā¸ĸāšƒā¸Ģāš‰ā¸ā¸ąā¸šā¸šā¸¸ā¸„ā¸„ā¸Ĩ", + "machine_learning_ocr": "OCR", + "machine_learning_ocr_description": "āšƒā¸Šāš‰ machine learning ā¸•ā¸Ŗā¸§ā¸ˆā¸ˆā¸ąā¸šā¸‚āš‰ā¸­ā¸„ā¸§ā¸˛ā¸Ąāšƒā¸™ā¸ ā¸˛ā¸ž", + "machine_learning_ocr_enabled": "āš€ā¸›ā¸´ā¸”āšƒā¸Šāš‰ā¸‡ā¸˛ā¸™ OCR", + "machine_learning_ocr_enabled_description": "ā¸–āš‰ā¸˛ā¸›ā¸´ā¸” ā¸ ā¸˛ā¸žā¸ˆā¸°āš„ā¸Ąāšˆā¸–ā¸šā¸ā¸™ā¸ŗāš€ā¸‚āš‰ā¸˛ā¸ā¸Ŗā¸°ā¸šā¸§ā¸™ā¸ā¸˛ā¸Ŗā¸•ā¸Ŗā¸§ā¸ˆā¸ˆā¸ąā¸šā¸‚āš‰ā¸­ā¸„ā¸§ā¸˛ā¸Ą", + "machine_learning_ocr_max_resolution": "ā¸„ā¸§ā¸˛ā¸Ąā¸Ĩā¸°āš€ā¸­ā¸ĩā¸ĸ⏔ā¸Ēā¸šā¸‡ā¸Ē⏏⏔", + "machine_learning_ocr_max_resolution_description": "Preview ⏗ā¸ĩāšˆā¸Ąā¸ĩā¸„ā¸§ā¸˛ā¸Ąā¸Ĩā¸°āš€ā¸­ā¸ĩā¸ĸ⏔ā¸Ēā¸šā¸‡ā¸ā¸§āšˆā¸˛ā¸„āšˆā¸˛ā¸™ā¸ĩāš‰ā¸ˆā¸°ā¸–ā¸šā¸ā¸›ā¸Ŗā¸ąā¸šā¸‚ā¸™ā¸˛ā¸”āš‚ā¸”ā¸ĸā¸„ā¸‡ā¸­ā¸ąā¸•ā¸Ŗā¸˛ā¸Ēāšˆā¸§ā¸™ā¸‚ā¸­ā¸‡ā¸ ā¸˛ā¸žāš„ā¸§āš‰ ā¸„āšˆā¸˛ā¸—ā¸ĩāšˆā¸Ēā¸šā¸‡ā¸ˆā¸°ā¸—ā¸ŗāšƒā¸Ģāš‰ā¸Ąā¸ĩā¸„ā¸§ā¸˛ā¸Ąāšā¸Ąāšˆā¸™ā¸ĸā¸ŗā¸Ąā¸˛ā¸ā¸‚ā¸ļāš‰ā¸™āšā¸•āšˆā¸ˆā¸°āšƒā¸Šāš‰āš€ā¸§ā¸Ĩā¸˛ā¸›ā¸Ŗā¸°ā¸Ąā¸§ā¸Ĩ⏜ā¸Ĩāšā¸Ĩ⏰ā¸Ģā¸™āšˆā¸§ā¸ĸā¸„ā¸§ā¸˛ā¸Ąā¸ˆā¸ŗā¸Ąā¸˛ā¸ā¸‚ā¸ļāš‰ā¸™", + "machine_learning_ocr_min_detection_score": "ā¸„ā¸°āšā¸™ā¸™ā¸ā¸˛ā¸Ŗā¸•ā¸Ŗā¸§ā¸ˆā¸ˆā¸ąā¸šā¸•āšˆā¸ŗā¸Ē⏏⏔", + "machine_learning_ocr_min_detection_score_description": "ā¸„ā¸°āšā¸™ā¸™ā¸ā¸˛ā¸Ŗā¸•ā¸Ŗā¸§ā¸ˆā¸ˆā¸ąā¸šā¸•āšˆā¸ŗā¸Ē⏏⏔⏗ā¸ĩāšˆā¸‚āš‰ā¸­ā¸„ā¸§ā¸˛ā¸Ąā¸ˆā¸°ā¸–ā¸šā¸ā¸•ā¸Ŗā¸§ā¸ˆā¸ˆā¸ąā¸š ā¸„āšˆā¸˛ā¸Ŗā¸°ā¸Ģā¸§āšˆā¸˛ā¸‡ 0-1 ā¸„āšˆā¸˛ā¸—ā¸ĩāšˆā¸•āšˆā¸ŗā¸ˆā¸°ā¸—ā¸ŗāšƒā¸Ģāš‰ā¸‚āš‰ā¸­ā¸„ā¸§ā¸˛ā¸Ąā¸–ā¸šā¸ā¸•ā¸Ŗā¸§ā¸ˆā¸ˆā¸ąā¸šā¸Ąā¸˛ā¸ā¸‚ā¸ļāš‰ā¸™āšā¸•āšˆā¸­ā¸˛ā¸ˆā¸—ā¸ŗāšƒā¸Ģāš‰ā¸œā¸Ĩā¸šā¸§ā¸ā¸›ā¸Ĩā¸­ā¸Ąā¸Ąā¸˛ā¸ā¸‚ā¸ļāš‰ā¸™", + "machine_learning_ocr_model": "āš‚ā¸Ąāš€ā¸”ā¸Ĩ OCR", "machine_learning_settings": "ā¸ā¸˛ā¸Ŗā¸•ā¸ąāš‰ā¸‡ā¸„āšˆā¸˛ machine learning", "machine_learning_settings_description": "ā¸ˆā¸ąā¸”ā¸ā¸˛ā¸Ŗā¸ā¸˛ā¸Ŗā¸•ā¸ąāš‰ā¸‡ā¸„āšˆā¸˛ machine learning", "machine_learning_smart_search": "ā¸ā¸˛ā¸Ŗā¸„āš‰ā¸™ā¸Ģā¸˛ā¸­ā¸ąā¸ˆā¸‰ā¸Ŗā¸´ā¸ĸ⏰", @@ -799,8 +818,6 @@ "edit_description_prompt": "āš‚ā¸›ā¸Ŗā¸”āš€ā¸Ĩā¸ˇāšˆā¸­ā¸ā¸„ā¸ŗā¸­ā¸˜ā¸´ā¸šā¸˛ā¸ĸāšƒā¸Ģā¸Ąāšˆ", "edit_exclusion_pattern": "āšā¸āš‰āš„ā¸‚ā¸‚āš‰ā¸­ā¸ĸā¸āš€ā¸§āš‰ā¸™", "edit_faces": "āšā¸āš‰āš„ā¸‚ā¸Ģā¸™āš‰ā¸˛", - "edit_import_path": "āšā¸āš‰āš„ā¸‚ā¸žā¸˛ā¸˜ā¸™āšā¸˛āš€ā¸‚āš‰ā¸˛", - "edit_import_paths": "āšā¸āš‰āš„ā¸‚ā¸žā¸˛ā¸˜ā¸™āšā¸˛āš€ā¸‚āš‰ā¸˛", "edit_key": "āšā¸āš‰āš„ā¸‚ā¸ā¸¸ā¸āšā¸ˆ", "edit_link": "āšā¸āš‰āš„ā¸‚ā¸Ĩā¸´ā¸‡ā¸āšŒ", "edit_location": "āšā¸āš‰āš„ā¸‚ā¸•ā¸ŗāšā¸Ģā¸™āšˆā¸‡", @@ -867,7 +884,6 @@ "failed_to_stack_assets": "Failed to stack assets", "failed_to_unstack_assets": "Failed to un-stack assets", "failed_to_update_notification_status": "ā¸­ā¸ąā¸žāš€ā¸”ā¸—ā¸Ēā¸–ā¸˛ā¸™ā¸°ā¸ā¸˛ā¸Ŗāšā¸ˆāš‰ā¸‡āš€ā¸•ā¸ˇā¸­ā¸™āš„ā¸Ąāšˆā¸Ēā¸ŗāš€ā¸Ŗāš‡ā¸ˆ", - "import_path_already_exists": "ā¸žā¸˛ā¸˜ā¸™ā¸ŗāš€ā¸‚āš‰ā¸˛ā¸™ā¸ĩāš‰ā¸Ąā¸ĩ⏭ā¸ĸā¸šāšˆāšā¸Ĩāš‰ā¸§", "incorrect_email_or_password": "⏭ā¸ĩāš€ā¸Ąā¸Ĩā¸Ģ⏪⏎⏭⏪ā¸Ģā¸ąā¸Ēā¸œāšˆā¸˛ā¸™āš„ā¸Ąāšˆā¸–ā¸šā¸ā¸•āš‰ā¸­ā¸‡", "paths_validation_failed": "ā¸ā¸˛ā¸Ŗā¸•ā¸Ŗā¸§ā¸ˆā¸Ē⏭⏚ {paths, plural, one {# path} other {# paths}} ā¸Ĩāš‰ā¸Ąāš€ā¸Ģā¸Ĩ⏧", "profile_picture_transparent_pixels": "ā¸Ŗā¸šā¸›āš‚ā¸›ā¸Ŗāš„ā¸Ÿā¸ĨāšŒāš„ā¸Ąāšˆā¸Ēā¸˛ā¸Ąā¸˛ā¸Ŗā¸–ā¸Ąā¸ĩā¸žā¸´ā¸āš€ā¸‹ā¸Ĩāš‚ā¸›ā¸Ŗāšˆā¸‡āšƒā¸Ēāš„ā¸”āš‰ āš‚ā¸›ā¸Ŗā¸”ā¸‹ā¸šā¸Ąāš€ā¸‚āš‰ā¸˛āšā¸Ĩ⏰/ā¸Ģ⏪⏎⏭ā¸ĸāš‰ā¸˛ā¸ĸā¸Ŗā¸šā¸›ā¸ ā¸˛ā¸ž", @@ -876,7 +892,6 @@ "unable_to_add_assets_to_shared_link": "āš„ā¸Ąāšˆā¸Ēā¸˛ā¸Ąā¸˛ā¸Ŗā¸–āš€ā¸žā¸´āšˆā¸Ąā¸Ĩā¸‡āšƒā¸™ā¸Ĩā¸´ā¸‡ā¸āšŒā¸—ā¸ĩāšˆāšā¸Šā¸ŖāšŒāš„ā¸”āš‰", "unable_to_add_comment": "āš„ā¸Ąāšˆā¸Ēā¸˛ā¸Ąā¸˛ā¸Ŗā¸–āš€ā¸žā¸´āšˆā¸Ąā¸„ā¸§ā¸˛ā¸Ąāš€ā¸Ģāš‡ā¸™āš„ā¸”āš‰", "unable_to_add_exclusion_pattern": "āš„ā¸Ąāšˆā¸Ēā¸˛ā¸Ąā¸˛ā¸Ŗā¸–āš€ā¸žā¸´āšˆā¸Ąā¸Ŗā¸šā¸›āšā¸šā¸šā¸‚āš‰ā¸­ā¸ĸā¸āš€ā¸§āš‰ā¸™āš„ā¸”āš‰", - "unable_to_add_import_path": "āš„ā¸Ąāšˆā¸Ēā¸˛ā¸Ąā¸˛ā¸Ŗā¸–āš€ā¸žā¸´āšˆā¸Ąāš€ā¸Ēāš‰ā¸™ā¸—ā¸˛ā¸‡ā¸™ā¸ŗāš€ā¸‚āš‰ā¸˛āš„ā¸”āš‰", "unable_to_add_partners": "āš„ā¸Ąāšˆā¸Ēā¸˛ā¸Ąā¸˛ā¸Ŗā¸–āš€ā¸žā¸´āšˆā¸Ąā¸„ā¸šāšˆā¸Ģā¸šāš„ā¸”āš‰", "unable_to_add_remove_archive": "āš„ā¸Ąāšˆā¸Ēā¸˛ā¸Ąā¸˛ā¸Ŗā¸–ā¸ˆā¸ąā¸”āš€ā¸āš‡ā¸šā¸Ŗā¸˛ā¸ĸ⏁⏞⏪ {archived, select, true {remove asset from} other {add asset to}} āš„ā¸›ā¸ĸā¸ąā¸‡ā¸ā¸˛ā¸Ŗā¸ˆā¸ąā¸”āš€ā¸āš‡ā¸šā¸–ā¸˛ā¸§ā¸Ŗāš„ā¸”āš‰", "unable_to_add_remove_favorites": "āš„ā¸Ąāšˆā¸Ēā¸˛ā¸Ąā¸˛ā¸Ŗā¸–ā¸—ā¸ŗā¸Ŗā¸˛ā¸ĸ⏁⏞⏪ {favorite, select, true {add asset to} other {remove asset from}} āš€ā¸‚āš‰ā¸˛ā¸Ŗā¸˛ā¸ĸā¸ā¸˛ā¸Ŗāš‚ā¸›ā¸Ŗā¸”āš„ā¸”āš‰", @@ -899,12 +914,10 @@ "unable_to_delete_asset": "āš„ā¸Ąāšˆā¸Ēā¸˛ā¸Ąā¸˛ā¸Ŗā¸–ā¸Ĩ⏚ā¸Ēā¸ˇāšˆā¸­āš„ā¸”āš‰", "unable_to_delete_assets": "āš€ā¸ā¸´ā¸”ā¸œā¸´ā¸”ā¸žā¸Ĩā¸˛ā¸”āšƒā¸™ā¸ā¸˛ā¸Ŗā¸Ĩ⏚", "unable_to_delete_exclusion_pattern": "āš„ā¸Ąāšˆā¸Ēā¸˛ā¸Ąā¸˛ā¸Ŗā¸–ā¸Ĩā¸šā¸Ŗā¸šā¸›āšā¸šā¸šā¸—ā¸ĩāšˆā¸ĸā¸āš€ā¸§āš‰ā¸™", - "unable_to_delete_import_path": "āš„ā¸Ąāšˆā¸Ēā¸˛ā¸Ąā¸˛ā¸Ŗā¸–ā¸Ĩā¸šāš€ā¸Ēāš‰ā¸™ā¸—ā¸˛ā¸‡ā¸™ā¸ŗāš€ā¸‚āš‰ā¸˛āš„ā¸”āš‰", "unable_to_delete_shared_link": "āš„ā¸Ąāšˆā¸Ēā¸˛ā¸Ąā¸˛ā¸Ŗā¸–ā¸Ĩ⏚ā¸Ĩā¸´ā¸‡ā¸āšŒā¸—ā¸ĩāšˆāšā¸Šā¸ŖāšŒāš„ā¸”āš‰", "unable_to_delete_user": "āš„ā¸Ąāšˆā¸Ēā¸˛ā¸Ąā¸˛ā¸Ŗā¸–ā¸Ĩā¸šā¸œā¸šāš‰āšƒā¸Šāš‰āš„ā¸”āš‰", "unable_to_download_files": "āš„ā¸Ąāšˆā¸Ēā¸˛ā¸Ąā¸˛ā¸Ŗā¸–ā¸”ā¸˛ā¸§ā¸™āšŒāš‚ā¸Ģā¸Ĩā¸”āš„ā¸Ÿā¸ĨāšŒāš„ā¸”āš‰", "unable_to_edit_exclusion_pattern": "āš„ā¸Ąāšˆā¸Ēā¸˛ā¸Ąā¸˛ā¸Ŗā¸–āšā¸āš‰āš„ā¸‚ā¸Ŗā¸šā¸›āšā¸šā¸šā¸ĸā¸āš€ā¸§āš‰ā¸™āš„ā¸”āš‰", - "unable_to_edit_import_path": "āš„ā¸Ąāšˆā¸Ēā¸˛ā¸Ąā¸˛ā¸Ŗā¸–āšā¸āš‰āš„ā¸‚āš€ā¸Ēāš‰ā¸™ā¸—ā¸˛ā¸‡ā¸™ā¸ŗāš€ā¸‚āš‰ā¸˛āš„ā¸”āš‰", "unable_to_empty_trash": "āš„ā¸Ąāšˆā¸Ēā¸˛ā¸Ąā¸˛ā¸Ŗā¸–ā¸Ĩā¸šā¸–ā¸ąā¸‡ā¸‚ā¸ĸā¸°āš„ā¸”āš‰", "unable_to_enter_fullscreen": "āš„ā¸Ąāšˆā¸Ēā¸˛ā¸Ąā¸˛ā¸Ŗā¸–āš€ā¸›ā¸´ā¸”āš€ā¸•āš‡ā¸Ąā¸ˆā¸­āš„ā¸”āš‰", "unable_to_exit_fullscreen": "āš„ā¸Ąāšˆā¸Ēā¸˛ā¸Ąā¸˛ā¸Ŗā¸–ā¸­ā¸­ā¸āš‚ā¸Ģā¸Ąā¸”āš€ā¸•āš‡ā¸Ąā¸ˆā¸­āš„ā¸”āš‰", @@ -1082,6 +1095,7 @@ "include_shared_albums": "ā¸Ŗā¸§ā¸Ąā¸­ā¸ąā¸Ĩā¸šā¸ąāš‰ā¸Ąā¸—ā¸ĩāšˆāšā¸Šā¸ŖāšŒā¸ā¸ąā¸™", "include_shared_partner_assets": "ā¸Ŗā¸§ā¸Ąā¸Ēā¸ˇāšˆā¸­ā¸—ā¸ĩāšˆāšā¸Šā¸ŖāšŒā¸ā¸ąā¸šā¸„ā¸šāšˆā¸Ģā¸š", "individual_share": "āšā¸Šā¸ŖāšŒā¸Ēāšˆā¸§ā¸™ā¸•ā¸ąā¸§", + "individual_shares": "ā¸ā¸˛ā¸Ŗāšā¸Šā¸ŖāšŒāš€ā¸”ā¸ĩāšˆā¸ĸ⏧", "info": "ā¸‚āš‰ā¸­ā¸Ąā¸šā¸Ĩ", "interval": { "day_at_onepm": "ā¸—ā¸¸ā¸ā¸§ā¸ąā¸™āš€ā¸§ā¸Ĩā¸˛ā¸šāšˆā¸˛ā¸ĸāš‚ā¸Ąā¸‡", @@ -1099,7 +1113,7 @@ "ios_debug_info_no_sync_yet": "ā¸ĸā¸ąā¸‡āš„ā¸Ąāšˆā¸Ąā¸ĩā¸‡ā¸˛ā¸™ā¸‹ā¸´ā¸‡ā¸„āšŒā¸Ŗā¸ąā¸™āšƒā¸™ā¸žā¸ˇāš‰ā¸™ā¸Ģā¸Ĩā¸ąā¸‡", "ios_debug_info_processes_queued": "{count} āš‚ā¸žā¸Ŗāš€ā¸‹ā¸Ēā¸Ŗā¸­ā¸„ā¸´ā¸§āšƒā¸™ā¸žā¸ˇāš‰ā¸™ā¸Ģā¸Ĩā¸ąā¸‡", "ios_debug_info_processing_ran_at": "āš‚ā¸žā¸Ŗāš€ā¸‹ā¸Ēā¸Ŗā¸ąā¸™āš€ā¸Ąā¸ˇāšˆā¸­ {dateTime}", - "items_count": "{count, plural, one {# ⏪⏞ā¸ĸ⏁⏞⏪} other {#⏪⏞ā¸ĸ⏁⏞⏪}}", + "items_count": "{count, plural, one {# ⏪⏞ā¸ĸ⏁⏞⏪} other {# ⏪⏞ā¸ĸ⏁⏞⏪}}", "jobs": "⏇⏞⏙", "keep": "āš€ā¸āš‡ā¸š", "keep_all": "āš€ā¸āš‡ā¸šā¸—ā¸ąāš‰ā¸‡ā¸Ģā¸Ąā¸”", @@ -1111,6 +1125,7 @@ "language_no_results_title": "āš„ā¸Ąāšˆā¸žā¸šā¸ ā¸˛ā¸Šā¸˛", "language_search_hint": "ā¸„āš‰ā¸™ā¸Ģā¸˛ā¸ ā¸˛ā¸Šā¸˛...", "language_setting_description": "āš€ā¸Ĩā¸ˇā¸­ā¸ā¸ ā¸˛ā¸Šā¸˛ā¸—ā¸ĩāšˆā¸•āš‰ā¸­ā¸‡ā¸ā¸˛ā¸Ŗ", + "large_files": "āš„ā¸Ÿā¸ĨāšŒā¸‚ā¸™ā¸˛ā¸”āšƒā¸Ģā¸āšˆ", "last_seen": "āš€ā¸Ģāš‡ā¸™ā¸Ĩāšˆā¸˛ā¸Ē⏏⏔", "latest_version": "āš€ā¸§ā¸­ā¸ŖāšŒā¸Šā¸ąā¸™ā¸Ĩāšˆā¸˛ā¸Ē⏏⏔", "latitude": "ā¸Ĩā¸°ā¸•ā¸´ā¸ˆā¸šā¸”", @@ -1137,7 +1152,7 @@ "local_asset_cast_failed": "āš„ā¸Ąāšˆā¸Ēā¸˛ā¸Ąā¸˛ā¸Ŗā¸–āšā¸„ā¸Ēā¸Ēā¸ˇāšˆā¸­ā¸—ā¸ĩāšˆāš„ā¸Ąāšˆā¸–ā¸šā¸ā¸­ā¸ąā¸žāš‚ā¸Ģā¸Ĩā¸”āš„ā¸›ā¸ĸā¸ąā¸‡āš€ā¸‹ā¸´ā¸ŖāšŒā¸Ÿāš€ā¸§ā¸­ā¸ŖāšŒ", "local_network": "āš€ā¸„ā¸Ŗā¸ˇā¸­ā¸‚āšˆā¸˛ā¸ĸ⏪⏰ā¸ĸā¸°āšƒā¸ā¸Ĩāš‰", "local_network_sheet_info": "āšā¸­ā¸žā¸ˆā¸°ā¸—ā¸ŗā¸ā¸˛ā¸Ŗāš€ā¸Šā¸ˇāšˆā¸­ā¸Ąā¸•āšˆā¸­āš„ā¸›ā¸ĸā¸ąā¸‡āš€ā¸‹ā¸´ā¸ŖāšŒā¸Ÿāš€ā¸§ā¸­ā¸ŖāšŒā¸œāšˆā¸˛ā¸™ URL ⏙ā¸ĩāš‰āš€ā¸Ąā¸ˇāšˆā¸­āš€ā¸Šā¸ˇāšˆā¸­ā¸•āšˆā¸­ā¸ā¸ąā¸š Wi-Fi ⏗ā¸ĩāšˆāš€ā¸Ĩā¸ˇā¸­ā¸āš„ā¸§āš‰", - "location_permission": "ā¸ā¸˛ā¸Ŗā¸­ā¸™ā¸¸ā¸ā¸˛ā¸•ā¸•ā¸ŗāšā¸Ģā¸™āšˆā¸‡", + "location_permission": "ā¸ā¸˛ā¸Ŗā¸­ā¸™ā¸¸ā¸ā¸˛ā¸•āš€ā¸‚āš‰ā¸˛ā¸–ā¸ļā¸‡ā¸•ā¸ŗāšā¸Ģā¸™āšˆā¸‡", "location_permission_content": "āš€ā¸žā¸ˇāšˆā¸­āšƒā¸Šāš‰ā¸Ÿā¸ĩāš€ā¸ˆā¸­ā¸ŖāšŒā¸ā¸˛ā¸Ŗā¸Ēā¸ąā¸šāš‚ā¸”ā¸ĸā¸­ā¸ąā¸•āš‚ā¸™ā¸Ąā¸ąā¸•ā¸´ Immich ā¸•āš‰ā¸­ā¸‡ā¸ā¸˛ā¸Ŗā¸ā¸˛ā¸Ŗā¸­ā¸™ā¸¸ā¸ā¸˛ā¸•āš€ā¸‚āš‰ā¸˛ā¸–ā¸ļā¸‡ā¸•āšˆā¸ŗāšā¸Ģā¸™āšˆā¸‡ā¸—ā¸ĩāšˆāšā¸Ąāšˆā¸™ā¸ĸā¸ŗāš€ā¸žā¸ˇāšˆā¸­ā¸­āšˆā¸˛ā¸™ā¸Šā¸ˇāšˆā¸­ Wi-Fi ⏗ā¸ĩāšˆāš€ā¸Šā¸ˇāšˆā¸­ā¸Ąā¸•āšˆā¸­ā¸­ā¸ĸā¸šāšˆ", "location_picker_choose_on_map": "āš€ā¸Ĩā¸ˇā¸­ā¸ā¸šā¸™āšā¸œā¸™ā¸—ā¸ĩāšˆ", "location_picker_latitude_error": "ā¸ā¸Ŗā¸¸ā¸“ā¸˛āš€ā¸žā¸´āšˆā¸Ąā¸Ĩā¸°ā¸•ā¸´ā¸ˆā¸šā¸•ā¸—ā¸ĩāšˆā¸–ā¸šā¸ā¸•āš‰ā¸­ā¸‡", @@ -1183,6 +1198,7 @@ "main_branch_warning": "⏄⏏⏓⏁⏺ā¸Ĩā¸ąā¸‡āšƒā¸Šāš‰āš€ā¸§ā¸­ā¸ŖāšŒā¸Šā¸ąā¸™ā¸ā¸˛ā¸Ŗā¸žā¸ąā¸’ā¸™ā¸˛ āš€ā¸Ŗā¸˛ā¸‚ā¸­āšā¸™ā¸°ā¸™ā¸ŗā¸­ā¸ĸāšˆā¸˛ā¸‡ā¸ĸā¸´āšˆā¸‡āšƒā¸Ģāš‰āšƒā¸Šāš‰āš€ā¸§ā¸­ā¸ŖāšŒā¸Šā¸ąā¸™āš€ā¸Ē⏖ā¸ĩā¸ĸ⏪ !", "main_menu": "āš€ā¸Ąā¸™ā¸šā¸Ģā¸Ĩā¸ąā¸", "make": "ā¸Ēā¸Ŗāš‰ā¸˛ā¸‡", + "manage_geolocation": "ā¸ˆā¸ąā¸”ā¸ā¸˛ā¸Ŗā¸•ā¸ŗāšā¸Ģā¸™āšˆā¸‡", "manage_shared_links": "ā¸ˆā¸ąā¸”ā¸ā¸˛ā¸Ŗā¸Ĩā¸´ā¸‡ā¸āšŒā¸—ā¸ĩāšˆāšā¸Šā¸ŖāšŒ", "manage_sharing_with_partners": "ā¸ˆā¸ąā¸”ā¸ā¸˛ā¸Ŗā¸ā¸˛ā¸Ŗāšā¸Šā¸ŖāšŒā¸ā¸ąā¸šā¸„ā¸šāšˆā¸Ģā¸š", "manage_the_app_settings": "ā¸ˆā¸ąā¸”ā¸ā¸˛ā¸Ŗā¸ā¸˛ā¸Ŗā¸•ā¸ąāš‰ā¸‡ā¸„āšˆā¸˛āšā¸­ā¸›", @@ -1485,6 +1501,7 @@ "resume": "⏁ā¸Ĩā¸ąā¸šā¸„ā¸ˇā¸™", "retry_upload": "ā¸Ĩā¸­ā¸‡ā¸­ā¸ąā¸›āš‚ā¸Ģā¸Ĩā¸”āšƒā¸Ģā¸Ąāšˆ", "review_duplicates": "ā¸•ā¸Ŗā¸§ā¸ˆā¸Ē⏭⏚⏪⏞ā¸ĸ⏁⏞⏪⏗ā¸ĩāšˆā¸‹āš‰ā¸ŗā¸ā¸ąā¸™", + "review_large_files": "ā¸•ā¸Ŗā¸§ā¸ˆā¸Ēā¸­ā¸šāš„ā¸Ÿā¸ĨāšŒā¸—ā¸ĩāšˆā¸Ąā¸ĩā¸‚ā¸™ā¸˛ā¸”āšƒā¸Ģā¸āšˆ", "role": "ā¸šā¸—ā¸šā¸˛ā¸—", "role_editor": "āš€ā¸„ā¸Ŗā¸ˇāšˆā¸­ā¸‡ā¸Ąā¸ˇā¸­āšā¸āš‰āš„ā¸‚", "role_viewer": "ā¸”ā¸š", diff --git a/i18n/tr.json b/i18n/tr.json index 1c1f4c7354..8fb386b9e7 100644 --- a/i18n/tr.json +++ b/i18n/tr.json @@ -17,7 +17,6 @@ "add_birthday": "Doğum gÃŧnÃŧ ekle", "add_endpoint": "Uç nokta ekle", "add_exclusion_pattern": "Hariç tutma deseni ekle", - "add_import_path": "İçe aktarma yolu ekle", "add_location": "Konum ekle", "add_more_users": "Daha fazla kullanÄącÄą ekle", "add_partner": "Ortak ekle", @@ -32,6 +31,7 @@ "add_to_album_toggle": "{album} için seçimi değiştir", "add_to_albums": "AlbÃŧmlere ekle", "add_to_albums_count": "{count} albÃŧmlerine ekle", + "add_to_bottom_bar": "Şuraya ekle", "add_to_shared_album": "PaylaÅŸÄąlan albÃŧme ekle", "add_upload_to_stack": "YÃŧklemeyi yığına ekle", "add_url": "URL ekle", @@ -112,13 +112,17 @@ "jobs_failed": "{jobCount, plural, other {# BaşarÄąsÄąz}}", "library_created": "Oluşturulan kÃŧtÃŧphane : {library}", "library_deleted": "KÃŧtÃŧphane silindi", - "library_import_path_description": "Belirtilecek klasÃļrÃŧ içe aktarÄąn. Bu klasÃļr, alt klasÃļrler dahil olmak Ãŧzere, gÃļrÃŧntÃŧler ve videolar için taranacaktÄąr.", + "library_details": "KÃŧtÃŧphane detaylarÄą", + "library_folder_description": "İçe aktarÄąlacak klasÃļrÃŧ belirtin. Bu klasÃļr, alt klasÃļrler dahil olmak Ãŧzere, resim ve videolar için taranacaktÄąr.", + "library_remove_exclusion_pattern_prompt": "Bu hariç tutma modelini kaldÄąrmak istediğinizden emin misiniz?", + "library_remove_folder_prompt": "Bu içe aktarma klasÃļrÃŧnÃŧ kaldÄąrmak istediğinizden emin misiniz?", "library_scanning": "Periyodik Tarama", "library_scanning_description": "Periyodik kÃŧtÃŧphane taramasÄąnÄą yÃļnet", "library_scanning_enable_description": "Periyodik kÃŧtÃŧphane taramasÄąnÄą etkinleştir", "library_settings": "Harici KÃŧtÃŧphane", "library_settings_description": "Harici kÃŧtÃŧphane ayarlarÄąnÄą yÃļnet", "library_tasks_description": "Yeni yada değiştirilmiş Ãļğeler için dÄąÅŸ kÃŧtÃŧphaneleri tara", + "library_updated": "GÃŧncellenmiş kÃŧtÃŧphane", "library_watching_enable_description": "Harici kÃŧtÃŧphanelerdeki dosya değişikliklerini izle", "library_watching_settings": "KÃŧtÃŧphane izleme [DENEYSEL]", "library_watching_settings_description": "Değişen dosyalar için otomatik olarak izle", @@ -155,15 +159,17 @@ "machine_learning_min_recognized_faces": "Minimum tanÄąnan yÃŧzler", "machine_learning_min_recognized_faces_description": "Kişi oluşturulmasÄą için gereken minimum yÃŧzler. Bu değeri yÃŧkseltmek yÃŧz tanÄąma doğruluğunu arttÄąrÄąr fakat yÃŧzÃŧn bir kişiye atanmama olasÄąlığınÄą arttÄąrÄąr.", "machine_learning_ocr": "OCR", - "machine_learning_ocr_description": "İmajladaki metinleri tanÄąmak için makine Ãļğrenmesi kullan", - "machine_learning_ocr_enabled": "OCR'Äą etkileştir", + "machine_learning_ocr_description": "Resimlerdeki metni tanÄąmak için makine Ãļğrenimini kullan", + "machine_learning_ocr_enabled": "OCR'yi etkinleştir", "machine_learning_ocr_enabled_description": "Devre dÄąÅŸÄą bÄąrakÄąlÄąrsa, resimler metin tanÄąma işleminden geçmeyecektir.", "machine_learning_ocr_max_resolution": "En yÃŧksek çÃļzÃŧnÃŧrlÃŧk", "machine_learning_ocr_max_resolution_description": "Bu çÃļzÃŧnÃŧrlÃŧğÃŧn Ãŧzerindeki Ãļnizlemeler, en-boy oranÄą korunarak yeniden boyutlandÄąrÄąlacaktÄąr. Daha yÃŧksek değerler daha doğru sonuç verir, ancak işlemesi daha uzun sÃŧrer ve daha fazla bellek kullanÄąr.", "machine_learning_ocr_min_detection_score": "En dÃŧşÃŧk tespit puanÄą", "machine_learning_ocr_min_detection_score_description": "Metnin tespit edilmesi için minimum gÃŧven puanÄą 0-1 arasÄąndadÄąr. DÃŧşÃŧk değerler daha fazla metin tespit eder, ancak yanlÄąÅŸ pozitif sonuçlara yol açabilir.", "machine_learning_ocr_min_recognition_score": "Minimum tespit puanÄą", + "machine_learning_ocr_min_score_recognition_description": "AlgÄąlanan metnin tanÄąnmasÄą için minimum gÃŧven puanÄą 0-1 arasÄąndadÄąr. Daha dÃŧşÃŧk değerler daha fazla metni tanÄąr, ancak yanlÄąÅŸ pozitif sonuçlara neden olabilir.", "machine_learning_ocr_model": "OCR modeli", + "machine_learning_ocr_model_description": "Sunucu modelleri mobil modellerden daha doğrudur, ancak işlenmesi daha uzun sÃŧrer ve daha fazla bellek kullanÄąr.", "machine_learning_settings": "Makine Öğrenmesi ayarlarÄą", "machine_learning_settings_description": "Makine Ãļğrenmesi Ãļzelliklerini ve ayarlarÄąnÄą yÃļnet", "machine_learning_smart_search": "AkÄąllÄą Arama", @@ -171,6 +177,10 @@ "machine_learning_smart_search_enabled": "AkÄąllÄą aramayÄą etkinleştir", "machine_learning_smart_search_enabled_description": "Eğer devre dÄąÅŸÄą bÄąrakÄąlÄąrsa fotoğraflar akÄąllÄą arama için işlenmeyecek.", "machine_learning_url_description": "Makine Ãļğrenimi sunucusunun URL’si. Birden fazla URL sağlanÄąrsa, her sunucu sÄąrayla tek tek denenir ve biri başarÄąlÄą yanÄąt verene kadar devam edilir. YanÄąt vermeyen sunucular, çevrimiçi duruma gelene kadar geçici olarak yok sayÄąlÄąr.", + "maintenance_settings": "BakÄąm", + "maintenance_settings_description": "Immich'i bakÄąm moduna alÄąn.", + "maintenance_start": "BakÄąm modunu başlat", + "maintenance_start_error": "BakÄąm modu başlatÄąlamadÄą.", "manage_concurrency": "AynÄą anda çalÄąÅŸmayÄą yÃļnet", "manage_log_settings": "GÃŧnlÃŧk ayarlarÄąnÄą yÃļnet", "map_dark_style": "Koyu mod", @@ -255,6 +265,7 @@ "oauth_storage_quota_default_description": "Değer (en: OAuth claim) mevcut değilse GiB cinsinden konulacak kota.", "oauth_timeout": "İstek Zaman AÅŸÄąmÄą", "oauth_timeout_description": "Milisaniye cinsinden istek zaman aÅŸÄąmÄą", + "ocr_job_description": "Resimlerdeki metni tanÄąmak için makine Ãļğrenimini kullan", "password_enable_description": "E-posta ve şifre ile giriş yapÄąn", "password_settings": "Şifre ile Giriş", "password_settings_description": "Şifre giriş ayarlarÄąnÄą yÃļnet", @@ -427,6 +438,7 @@ "age_months": "Yaş {months, plural, one {# ay} other {# ay}}", "age_year_months": "1 yaş, {months, plural, one {# ay} other {# ay}}", "age_years": "{years, plural, other {Yaş #}}", + "album": "AlbÃŧm", "album_added": "AlbÃŧm eklendi", "album_added_notification_setting_description": "PaylaÅŸÄąlan bir albÃŧme eklendiğinizde e-posta bildirimi alÄąn", "album_cover_updated": "AlbÃŧm kapağı gÃŧncellendi", @@ -472,6 +484,7 @@ "allow_edits": "DÃŧzenlemeye izin ver", "allow_public_user_to_download": "Genel kullanÄącÄąnÄąn indirmesine aç", "allow_public_user_to_upload": "Genel kullanÄącÄąnÄąn yÃŧklemesine aç", + "allowed": "İzin verildi", "alt_text_qr_code": "QR kodu gÃļrseli", "anti_clockwise": "Saat yÃļnÃŧnÃŧn tersine", "api_key": "API AnahtarÄą", @@ -679,6 +692,8 @@ "change_password_description": "Bu sisteme ilk kez giriş yapÄąyorsunuz veya şifrenizi değiştirmek için bir istekte bulunuldu. LÃŧtfen aşağıya yeni şifrenizi girin.", "change_password_form_confirm_password": "Şifreyi Onayla", "change_password_form_description": "Merhaba {name},\n\nBu sisteme ilk kez giriş yapÄąyorsunuz veya şifrenizi değiştirmek için bir istekte bulunuldu. LÃŧtfen aşağıya yeni şifrenizi girin.", + "change_password_form_log_out": "Diğer tÃŧm cihazlardan Ã§ÄąkÄąÅŸ yap", + "change_password_form_log_out_description": "Diğer tÃŧm cihazlardan Ã§ÄąkÄąÅŸ yapmanÄąz Ãļnerilir", "change_password_form_new_password": "Yeni Şifre", "change_password_form_password_mismatch": "Şifreler eşleşmiyor", "change_password_form_reenter_new_password": "Yeni Şifreyi Tekrar Giriniz", @@ -889,8 +904,6 @@ "edit_description_prompt": "LÃŧtfen yeni bir aÃ§Äąklama seçin:", "edit_exclusion_pattern": "Hariç tutma desenini dÃŧzenle", "edit_faces": "YÃŧzleri DÃŧzenleyin", - "edit_import_path": "İçe aktarma yolunu dÃŧzenleyin", - "edit_import_paths": "İçe Aktarma YollarÄąnÄą DÃŧzenle", "edit_key": "AnahtarÄą dÃŧzenle", "edit_link": "BağlantÄąyÄą dÃŧzenle", "edit_location": "Lokasyonu dÃŧzenleyin", @@ -962,8 +975,8 @@ "failed_to_stack_assets": "Öğeler yığınlanamadÄą", "failed_to_unstack_assets": "Öğelerin yığınÄą kaldÄąrÄąlamadÄą", "failed_to_update_notification_status": "Bildirim durumu gÃŧncellenemedi", - "import_path_already_exists": "Bu içe aktarma yolu halihazÄąrda mevcut.", "incorrect_email_or_password": "YanlÄąÅŸ e-posta veya şifre", + "library_folder_already_exists": "Bu içe aktarma yolu zaten mevcut.", "paths_validation_failed": "{paths, plural, one {# Yol} other {# Yollar}} doğrulanamadÄą", "profile_picture_transparent_pixels": "Profil resimleri şeffaf piksele sahip olamaz. LÃŧtfen resme yakÄąnlaştÄąrÄąn ve/veya resmi hareket ettirin.", "quota_higher_than_disk_size": "Disk boyutundan daha yÃŧksek bir kota belirlediniz", @@ -972,7 +985,6 @@ "unable_to_add_assets_to_shared_link": "Öğeler paylaÅŸÄąlan bağlantÄąya eklenemiyor", "unable_to_add_comment": "Yorum eklenemiyor", "unable_to_add_exclusion_pattern": "Hariç tutma modeli eklenemiyor", - "unable_to_add_import_path": "İçe aktarma yolu eklenemiyor", "unable_to_add_partners": "Ortaklar eklenemiyor", "unable_to_add_remove_archive": "Arşive {archived, select, true {dosyayÄą kaldÄąr} other {dosya ekle}} işlemi yapÄąlamÄąyor", "unable_to_add_remove_favorites": "Favorilere {favorite, select, true {dosya ekle} other {dosyayÄą kaldÄąr}} işlemi yapÄąlamÄąyor", @@ -995,12 +1007,10 @@ "unable_to_delete_asset": "Öğe silinemiyor", "unable_to_delete_assets": "Öğeler silinemiyor", "unable_to_delete_exclusion_pattern": "Hariç tutma deseni silinemiyor", - "unable_to_delete_import_path": "İçe aktarma yolu silinemiyor", "unable_to_delete_shared_link": "PaylaÅŸÄąlan bağlantÄą silinemiyor", "unable_to_delete_user": "KullanÄącÄą silinemiyor", "unable_to_download_files": "Dosyalar indirilemiyor", "unable_to_edit_exclusion_pattern": "Hariç tutma deseni dÃŧzenlenemiyor", - "unable_to_edit_import_path": "İçe aktarma yolu dÃŧzenlenemiyor", "unable_to_empty_trash": "ÇÃļp boşaltÄąlamÄąyor", "unable_to_enter_fullscreen": "Tam ekran yapÄąlamÄąyor", "unable_to_exit_fullscreen": "Tam ekrandan Ã§ÄąkÄąlamÄąyor", @@ -1051,6 +1061,7 @@ "unable_to_update_user": "KullanÄącÄą gÃŧncellenemiyor", "unable_to_upload_file": "Dosya yÃŧklenemiyor" }, + "exclusion_pattern": "Hariç tutma modeli", "exif": "EXIF", "exif_bottom_sheet_description": "AÃ§Äąklama Ekle...", "exif_bottom_sheet_description_error": "AÃ§Äąklama gÃŧncelleme hatasÄą", @@ -1110,6 +1121,7 @@ "folders_feature_description": "Dosya sistemindeki fotoğraf ve videolarÄą klasÃļr gÃļrÃŧnÃŧmÃŧyle keşfedin", "forgot_pin_code_question": "PIN kodunuzu mu unuttunuz?", "forward": "İleri", + "full_path": "Tam yol: {path}", "gcast_enabled": "Google Cast", "gcast_enabled_description": "Bu Ãļzellik, çalÄąÅŸabilmek için Google'dan harici kaynaklar yÃŧkler.", "general": "Genel", @@ -1191,6 +1203,8 @@ "import_path": "İçe aktarma yolu", "in_albums": "{count, plural, one {# AlbÃŧm} other {# AlbÃŧmde}}", "in_archive": "Arşivde", + "in_year": "{year} yÄąlÄą içinde", + "in_year_selector": "İçinde", "include_archived": "Arşivlenenleri dahil et", "include_shared_albums": "PaylaÅŸÄąlmÄąÅŸ albÃŧmleri dahil et", "include_shared_partner_assets": "PaylaÅŸÄąlan ortak Ãļğeleri dahil et", @@ -1227,6 +1241,7 @@ "language_setting_description": "Tercih ettiğiniz dili seçiniz", "large_files": "BÃŧyÃŧk Dosyalar", "last": "Son", + "last_months": "{count, plural, one {Geçen ay} other {Son # ay}}", "last_seen": "Son gÃļrÃŧlme", "latest_version": "En Son SÃŧrÃŧm", "latitude": "Enlem", @@ -1236,6 +1251,8 @@ "let_others_respond": "Diğerlerinin yanÄąt vermesine izin ver", "level": "Seviye", "library": "KÃŧtÃŧphane", + "library_add_folder": "KlasÃļr ekle", + "library_edit_folder": "KlasÃļrÃŧ dÃŧzenle", "library_options": "KÃŧtÃŧphane ayarlarÄą", "library_page_device_albums": "Cihazdaki AlbÃŧmler", "library_page_new_album": "Yeni albÃŧm", @@ -1259,6 +1276,7 @@ "local_media_summary": "Yerel Medya Özeti", "local_network": "Yerel ağ", "local_network_sheet_info": "Uygulama belirlenmiş Wi-Fi ağınÄą kullanÄąrken bu URL Ãŧzerinden sunucuya bağlanacaktÄąr", + "location": "Konum", "location_permission": "Konum izni", "location_permission_content": "Otomatik geçiş Ãļzelliğinin çalÄąÅŸabilmesi için Immich'in mevcut Wi-Fi ağınÄąn adÄąnÄą bilmesi, bunu sağlamak için de tam konum iznine ihtiyacÄą vardÄąr", "location_picker_choose_on_map": "Haritada seç", @@ -1301,13 +1319,22 @@ "logout_this_device_confirmation": "Bu cihazda oturum kapatmak istediğinizden emin misiniz?", "logs": "KayÄątlar", "longitude": "Boylam", - "look": "GÃļrÃŧnÃŧm", + "look": "GÃļrÃŧnÃŧş", "loop_videos": "VideolarÄą dÃļngÃŧye al", "loop_videos_description": "AyrÄąntÄą gÃļrÃŧnÃŧmÃŧnde videolarÄąn otomatik dÃļngÃŧye alÄąnmasÄąnÄą etkinleştir.", "main_branch_warning": "Geliştirme sÃŧrÃŧmÃŧ kullanÄąyorsunuz. YayÄąnlanan bir sÃŧrÃŧm kullanmanÄązÄą Ãļnemle tavsiye ederiz!", "main_menu": "Ana menÃŧ", + "maintenance_description": "Immich, bakÄąm moduna alÄąnmÄąÅŸtÄąr.", + "maintenance_end": "BakÄąm modunu sonlandÄąr", + "maintenance_end_error": "BakÄąm modu sonlandÄąrÄąlamadÄą.", + "maintenance_logged_in_as": "Şu anda {user} olarak oturum aÃ§ÄąlmÄąÅŸ durumda", + "maintenance_title": "Geçici Olarak KullanÄąlamÄąyor", "make": "Marka", "manage_geolocation": "Konumu yÃļnet", + "manage_media_access_rationale": "Bu izin, Ãļğelerin çÃļp kutusuna taÅŸÄąnmasÄą ve çÃļp kutusundan geri yÃŧklenmesi için gereklidir.", + "manage_media_access_settings": "AyarlarÄą aç", + "manage_media_access_subtitle": "Immich uygulamasÄąnÄąn medya dosyalarÄąnÄą yÃļnetmesine ve taÅŸÄąmasÄąna izin verin.", + "manage_media_access_title": "Medya YÃļnetimi Erişimi", "manage_shared_links": "PaylaÅŸÄąlan bağlantÄąlarÄą yÃļnet", "manage_sharing_with_partners": "Ortaklarla paylaÅŸÄąmÄą yÃļnet", "manage_the_app_settings": "Uygulama ayarlarÄąnÄą yÃļnet", @@ -1371,6 +1398,7 @@ "more": "Daha fazla", "move": "TaÅŸÄą", "move_off_locked_folder": "Kilitli klasÃļrden taÅŸÄą", + "move_to": "Şuraya taÅŸÄą", "move_to_lock_folder_action_prompt": "{count} kilitli klasÃļre eklendi", "move_to_locked_folder": "Kilitli klasÃļre taÅŸÄą", "move_to_locked_folder_confirmation": "Bu fotoğraflar ve videolar tÃŧm albÃŧmlerden kaldÄąrÄąlacak ve yalnÄązca kilitli klasÃļrden gÃļrÃŧntÃŧlenebilecektir", @@ -1400,6 +1428,7 @@ "new_pin_code": "Yeni PIN kodu", "new_pin_code_subtitle": "Kilitli klasÃļre ilk kez erişiyorsunuz. Bu sayfaya gÃŧvenli erişim için bir PIN kodu oluşturun", "new_timeline": "Yeni Zaman Çizelgesi", + "new_update": "Yeni gÃŧncelleme", "new_user_created": "Yeni kullanÄącÄą oluşturuldu", "new_version_available": "YENİ SÜRÜM MEVCUT", "newest_first": "Önce en yeniler", @@ -1415,12 +1444,14 @@ "no_cast_devices_found": "YansÄątÄąlacak cihaz bulunamadÄą", "no_checksum_local": "Sağlama toplamÄą mevcut değil - yerel varlÄąklarÄą alamÄąyor", "no_checksum_remote": "Sağlama toplamÄą mevcut değil - uzak varlÄąk alÄąnamÄąyor", + "no_devices": "Yetkili cihaz yok", "no_duplicates_found": "Hiçbir kopya bulunamadÄą.", "no_exif_info_available": "EXIF bilgisi mevcut değil", "no_explore_results_message": "Koleksiyonunuzu keşfetmek için daha fazla fotoğraf yÃŧkleyin.", "no_favorites_message": "En sevdiğiniz fotoğraf ve videolarÄą hÄązlÄąca bulmak için favorilere ekleyin", "no_libraries_message": "Fotoğraf ve videolarÄąnÄązÄą gÃļrmek için bir harici kÃŧtÃŧphane oluşturun", "no_local_assets_found": "Bu sağlama toplamÄą ile yerel varlÄąk bulunamadÄą", + "no_location_set": "Konum ayarlanmadÄą", "no_locked_photos_message": "Kilitli klasÃļrdeki fotoğraf ve videolar gizlidir; kitaplığınÄązda gezinirken veya arama yaparken gÃļrÃŧnmezler.", "no_name": "İsim Yok", "no_notifications": "Bildirim yok", @@ -1431,6 +1462,7 @@ "no_results_description": "Eş anlamlÄą ya da daha genel anlamlÄą bir kelime deneyin", "no_shared_albums_message": "FotoğraflarÄą ve videolarÄą ağınÄązdaki kişilerle paylaşmak için bir albÃŧm oluşturun", "no_uploads_in_progress": "YÃŧkleme işlemi yok", + "not_allowed": "İzin verilmiyor", "not_available": "YOK", "not_in_any_album": "Hiçbir albÃŧmde değil", "not_selected": "Seçilmedi", @@ -1513,7 +1545,7 @@ "people_feature_description": "Kişilere gÃļre gruplanmÄąÅŸ fotoğraflarÄą ve videolarÄą inceleyin", "people_sidebar_description": "Yan panelde kişilere hÄązlÄą erişim bağlantÄąsÄą gÃļster", "permanent_deletion_warning": "KalÄącÄą silme uyarÄąsÄą", - "permanent_deletion_warning_setting_description": "Nesneleri kalÄącÄą olarak silerken uyarÄą gÃļster", + "permanent_deletion_warning_setting_description": "Öğeleri kalÄącÄą olarak silerken uyarÄą gÃļster", "permanently_delete": "KalÄącÄą olarak sil", "permanently_delete_assets_count": "{count, plural, one {Ãļğe} other {Ãļğe}} kalÄącÄą olarak silindi", "permanently_delete_assets_prompt": "Bu {count, plural, one {Ãļğeyi} other {# Ãļğeleri}} kalÄącÄą olarak silmek istediğinizden emin misiniz? Bu işlem {count, plural, one {bu Ãļğeyi} other {bu Ãļğeleri}} albÃŧmlerinizden de kaldÄąrÄąr.", @@ -1541,11 +1573,13 @@ "photos_count": "{count, plural, one {{count, number} fotoğraf} other {{count, number} fotoğraf}}", "photos_from_previous_years": "Önceki yÄąllardan fotoğraflar", "pick_a_location": "Bir konum seçin", + "pick_custom_range": "Özel aralÄąk", + "pick_date_range": "Bir tarih aralığı seçin", "pin_code_changed_successfully": "PIN kodu başarÄąyla değiştirildi", "pin_code_reset_successfully": "PIN kodu başarÄąyla sÄąfÄąrlandÄą", "pin_code_setup_successfully": "PIN kodu başarÄąyla ayarlandÄą", "pin_verification": "PIN kodu doğrulama", - "place": "Konum", + "place": "Yer", "places": "Konumlar", "places_count": "{count, plural, one {{count, number} yer} other {{count, number} yer}}", "play": "Oynat", @@ -1648,8 +1682,8 @@ "remote_assets": "Uzak Öğeler", "remote_media_summary": "Uzaktan Medya Özeti", "remove": "KaldÄąr", - "remove_assets_album_confirmation": "{count, plural, one {# Ãļğeyi} other {# Ãļğeleri}} albÃŧmden Ã§Äąkarmak istediğinizden emin misiniz?", - "remove_assets_shared_link_confirmation": "{count, plural, one {# Ãļğeyi} other {# Ãļğeleri}} bu paylaÅŸÄąlan bağlantÄądan Ã§Äąkarmak istediğinizden emin misiniz?", + "remove_assets_album_confirmation": "{count, plural, one {# Ãļğe} other {# Ãļğeler}} albÃŧmden Ã§Äąkarmak istediğinizden emin misiniz?", + "remove_assets_shared_link_confirmation": "{count, plural, one {# Ãļğe} other {# Ãļğeler}} bu paylaÅŸÄąlan bağlantÄądan Ã§Äąkarmak istediğinizden emin misiniz?", "remove_assets_title": "Öğeleri Ã§Äąkar?", "remove_custom_date_range": "Özel tarih aralığınÄą kaldÄąr", "remove_deleted_assets": "Silinen Öğeleri KaldÄąr", @@ -1710,6 +1744,7 @@ "running": "ÇalÄąÅŸÄąyor", "save": "Kaydet", "save_to_gallery": "Fotoğraflar'a kaydet", + "saved": "Kaydedildi", "saved_api_key": "API anahtarÄą kaydedildi", "saved_profile": "Profil kaydedildi", "saved_settings": "Kaydedilen ayarlar", @@ -1726,6 +1761,8 @@ "search_by_description_example": "Sapa'da yÃŧrÃŧyÃŧş gÃŧnÃŧ", "search_by_filename": "Dosya adÄąna veya uzantÄąsÄąna gÃļre ara", "search_by_filename_example": "Örn. IMG_1234.JPG veya PNG", + "search_by_ocr": "OCR'ye gÃļre ara", + "search_by_ocr_example": "SÃŧtlÃŧ Kahve", "search_camera_lens_model": "Lens modelini ara...", "search_camera_make": "Kamera markasÄąna gÃļre ara...", "search_camera_model": "Kamera modeline gÃļre ara...", @@ -1743,6 +1780,7 @@ "search_filter_location_title": "Konum seç", "search_filter_media_type": "Medya TÃŧrÃŧ", "search_filter_media_type_title": "Medya tÃŧrÃŧ seç", + "search_filter_ocr": "OCR'ye gÃļre ara", "search_filter_people_title": "Kişi seç", "search_for": "AraştÄąr", "search_for_existing_person": "Mevcut bir kişiyi ara", @@ -1804,6 +1842,8 @@ "server_offline": "Sunucu çevrimdÄąÅŸÄą", "server_online": "Sunucu çevrimiçi", "server_privacy": "Sunucu Gizliliği", + "server_restarting_description": "Bu sayfa kÄąsa bir sÃŧre içinde yenilenecektir.", + "server_restarting_title": "Sunucu yeniden başlatÄąlÄąyor", "server_stats": "Sunucu istatistikleri", "server_update_available": "Sunucu gÃŧncellemesi mevcut", "server_version": "Sunucu SÃŧrÃŧmÃŧ", @@ -1817,9 +1857,9 @@ "set_stack_primary_asset": "Birincil Ãļğe olarak ayarla", "setting_image_viewer_help": "GÃļrÃŧntÃŧleyici Ãļnce kÃŧçÃŧk resmi gÃļsterir, ardÄąndan orta boy Ãļnizlemeyi (etkinleştirilmişse) ve son olarak orijinali (etkinleştirilmişse) gÃļsterir.", "setting_image_viewer_original_subtitle": "Orijinal tam çÃļzÃŧnÃŧrlÃŧklÃŧ gÃļrÃŧntÃŧyÃŧ (bÃŧyÃŧk!) yÃŧklemek için etkinleştirin. Veri kullanÄąmÄąnÄą azaltmak için devre dÄąÅŸÄą bÄąrakÄąn (hem ağ hem de cihaz Ãļnbelleği).", - "setting_image_viewer_original_title": "Orijinal gÃļrÃŧntÃŧyÃŧ gÃļster", + "setting_image_viewer_original_title": "Orijinal gÃļrÃŧntÃŧyÃŧ yÃŧkle", "setting_image_viewer_preview_subtitle": "Orta çÃļzÃŧnÃŧrlÃŧklÃŧ bir gÃļrÃŧntÃŧ gÃļstermek için etkinleştirin. Orijinali doğrudan gÃļstermek veya yalnÄązca kÃŧçÃŧk resmi kullanmak için devre dÄąÅŸÄą bÄąrakÄąn.", - "setting_image_viewer_preview_title": "Önizleme gÃļrÃŧntÃŧsÃŧ gÃļster", + "setting_image_viewer_preview_title": "Önizleme gÃļrÃŧntÃŧsÃŧnÃŧ yÃŧkle", "setting_image_viewer_title": "Resimler", "setting_languages_apply": "Uygula", "setting_languages_subtitle": "Uygulama dilini değiştir", @@ -1830,10 +1870,10 @@ "setting_notifications_notify_never": "hiçbir zaman", "setting_notifications_notify_seconds": "{count} saniye", "setting_notifications_single_progress_subtitle": "Öğe baÅŸÄąna ayrÄąntÄąlÄą yÃŧkleme ilerleme bilgisi", - "setting_notifications_single_progress_title": "Arkaplan yedeklemesi ayrÄąntÄąlÄą ilerlemesini gÃļster", + "setting_notifications_single_progress_title": "Arka plan yedeklemesi ayrÄąntÄąlÄą ilerlemesini gÃļster", "setting_notifications_subtitle": "Bildirim tercihlerinizi dÃŧzenleyin", "setting_notifications_total_progress_subtitle": "Toplam yÃŧkleme ilerlemesi (tamamlanan/toplam)", - "setting_notifications_total_progress_title": "Arkaplan yedeklemesi toplam ilerlemesini gÃļster", + "setting_notifications_total_progress_title": "Arka plan yedeklemesi toplam ilerlemesini gÃļster", "setting_video_viewer_auto_play_subtitle": "Videolar aÃ§Äąldığında otomatik olarak oynatmaya başla", "setting_video_viewer_auto_play_title": "VideolarÄą otomatik oynat", "setting_video_viewer_looping_title": "DÃļngÃŧ", @@ -1903,7 +1943,7 @@ "sharing_page_album": "PaylaÅŸÄąlan albÃŧmler", "sharing_page_description": "AğınÄązdaki kişilerle fotoğraf ve video paylaşmak için paylaÅŸÄąmlÄą albÃŧmler oluşturun.", "sharing_page_empty_list": "LİSTEYİ BOŞALT", - "sharing_sidebar_description": "Yan panelde paylaÅŸÄąlanlara kÄąsa yol gÃļster", + "sharing_sidebar_description": "Yan panelde PaylaÅŸÄąm bağlantÄąsÄąnÄą gÃļster", "sharing_silver_appbar_create_shared_album": "Yeni paylaÅŸÄąlan albÃŧm", "sharing_silver_appbar_share_partner": "Ortakla paylaş", "shift_to_permanent_delete": "Öğeyi kalÄącÄą olarak silmek için ⇧ tuşuna basÄąn", @@ -1915,29 +1955,29 @@ "show_gallery": "Galeriyi gÃļster", "show_hidden_people": "Gizli kişileri gÃļster", "show_in_timeline": "Zaman çizelgesinde gÃļster", - "show_in_timeline_setting_description": "Bu kullanÄącÄąnÄąn fotoğraf ve videolarÄąnÄą zaman çizelgenizde gÃļster", + "show_in_timeline_setting_description": "Bu kullanÄącÄąnÄąn fotoğraf ve videolarÄąnÄą zaman çizelgenizde gÃļsterin", "show_keyboard_shortcuts": "Klavye kÄąsayollarÄąnÄą gÃļster", "show_metadata": "Meta verileri gÃļster", - "show_or_hide_info": "Bilgiyi gÃļster veya gizle", + "show_or_hide_info": "Bilgileri gÃļster veya gizle", "show_password": "Şifreyi gÃļster", - "show_person_options": "Kişi ayarlarÄąnÄą gÃļster", - "show_progress_bar": "İlerleme çubuğunu gÃļster", - "show_search_options": "Arama ayarlarÄąnÄą gÃļster", + "show_person_options": "Kişi seçeneklerini gÃļster", + "show_progress_bar": "İlerleme Çubuğunu GÃļster", + "show_search_options": "Arama seçeneklerini gÃļster", "show_shared_links": "PaylaÅŸÄąlan bağlantÄąlarÄą gÃļster", - "show_slideshow_transition": "Slayt geçişini gÃļster", + "show_slideshow_transition": "Slayt gÃļsterisi geçişini gÃļster", "show_supporter_badge": "Destekçi rozeti", "show_supporter_badge_description": "Destekçi rozetini gÃļster", "show_text_search_menu": "Metin arama menÃŧsÃŧnÃŧ gÃļster", "shuffle": "KarÄąÅŸtÄąr", "sidebar": "Yan panel", - "sidebar_display_description": "Yan panelde gÃļrÃŧnÃŧme kÄąsa yol gÃļster", + "sidebar_display_description": "Yan panelde gÃļrÃŧnÃŧme bir bağlantÄą gÃļster", "sign_out": "Oturumu Kapat", "sign_up": "Kaydol", "size": "Boyut", "skip_to_content": "İçeriğe atla", "skip_to_folders": "KlasÃļrlere atla", "skip_to_tags": "Etiketlere atla", - "slideshow": "Slayt gÃļsteriisi", + "slideshow": "Slayt gÃļsterisi", "slideshow_settings": "Slayt gÃļsterisi ayarlarÄą", "sort_albums_by": "AlbÃŧmleri sÄąrala...", "sort_created": "Oluşturulma tarihi", @@ -2017,6 +2057,7 @@ "third_party_resources": "ÜçÃŧncÃŧ taraf kaynaklar", "time": "Zaman", "time_based_memories": "Zaman bazlÄą anÄąlar", + "time_based_memories_duration": "Her gÃļrÃŧntÃŧnÃŧn gÃļsterileceği saniye sayÄąsÄą.", "timeline": "Zaman Çizelgesi", "timezone": "Zaman dilimi", "to_archive": "Arşivle", @@ -2132,7 +2173,7 @@ "video_hover_setting_description": "Öğe Ãŧzerinde fareyle durulduğunda video kÃŧçÃŧk resmini oynatÄąr. Bu Ãļzellik devre dÄąÅŸÄąyken, oynatma simgesine fareyle gidilerek oynatma başlatÄąlabilir.", "videos": "Videolar", "videos_count": "{count, plural, one {# video} other {# video}}", - "view": "GÃļrÃŧntÃŧle", + "view": "GÃļrÃŧnÃŧm", "view_album": "AlbÃŧmÃŧ gÃļrÃŧntÃŧle", "view_all": "TÃŧmÃŧnÃŧ gÃļr", "view_all_users": "TÃŧm kullanÄącÄąlarÄą gÃļrÃŧntÃŧle", @@ -2140,7 +2181,7 @@ "view_in_timeline": "Zaman çizelgesinde gÃļrÃŧntÃŧle", "view_link": "BağlantÄąyÄą gÃļster", "view_links": "BağlantÄąlarÄą gÃļster", - "view_name": "GÃļster", + "view_name": "GÃļrÃŧnÃŧm", "view_next_asset": "Sonraki Ãļğeyi gÃļrÃŧntÃŧle", "view_previous_asset": "Önceki Ãļğeyi gÃļrÃŧntÃŧle", "view_qr_code": "QR kodu gÃļrÃŧntÃŧle", @@ -2157,6 +2198,7 @@ "welcome": "Hoş geldiniz", "welcome_to_immich": "Immich'e hoş geldiniz", "wifi_name": "Wi-Fi AdÄą", + "workflow": "İş akÄąÅŸÄą", "wrong_pin_code": "YanlÄąÅŸ PIN kodu", "year": "YÄąl", "years_ago": "{years, plural, one {bir yÄąl} other {# yÄąl}} Ãļnce", diff --git a/i18n/uk.json b/i18n/uk.json index a34e6b8350..3fbdc0daba 100644 --- a/i18n/uk.json +++ b/i18n/uk.json @@ -17,7 +17,6 @@ "add_birthday": "Đ”ĐžĐ´Đ°Ņ‚Đ¸ Đ´ĐĩĐŊҌ ĐŊĐ°Ņ€ĐžĐ´ĐļĐĩĐŊĐŊŅ", "add_endpoint": "Đ”ĐžĐ´Đ°Ņ‚Đ¸ Đ°Đ´Ņ€Đĩҁ҃ ҁĐĩŅ€Đ˛ĐĩŅ€Ņƒ", "add_exclusion_pattern": "Đ”ĐžĐ´Đ°Ņ‚Đ¸ ŅˆĐ°ĐąĐģĐžĐŊ виĐēĐģŅŽŅ‡ĐĩĐŊĐŊŅ", - "add_import_path": "Đ”ĐžĐ´Đ°Ņ‚Đ¸ ҈ĐģŅŅ… Ņ–ĐŧĐŋĐžŅ€Ņ‚Ņƒ", "add_location": "Đ”ĐžĐ´Đ°Ņ‚Đ¸ ĐŧҖҁ҆ĐĩСĐŊĐ°Ņ…ĐžĐ´ĐļĐĩĐŊĐŊŅ", "add_more_users": "Đ”ĐžĐ´Đ°Ņ‚Đ¸ ĐēĐžŅ€Đ¸ŅŅ‚ŅƒĐ˛Đ°Ņ‡Ņ–Đ˛", "add_partner": "Đ”ĐžĐ´Đ°Ņ‚Đ¸ ĐŋĐ°Ņ€Ņ‚ĐŊĐĩŅ€Đ°", @@ -32,6 +31,7 @@ "add_to_album_toggle": "ПĐĩŅ€ĐĩĐŧиĐēаĐŊĐŊŅ Đ˛Đ¸ĐąĐžŅ€Ņƒ Đ´ĐģŅ {album}", "add_to_albums": "Đ”ĐžĐ´Đ°Ņ‚Đ¸ Đ´Đž аĐģŅŒĐąĐžĐŧŅ–Đ˛", "add_to_albums_count": "Đ”ĐžĐ´Đ°Ņ‚Đ¸ Đ´Đž аĐģŅŒĐąĐžĐŧŅ–Đ˛ ({count})", + "add_to_bottom_bar": "Đ”ĐžĐ´Đ°Ņ‚Đ¸ Đ´Đž", "add_to_shared_album": "Đ”ĐžĐ´Đ°Ņ‚Đ¸ ҃ ҁĐŋŅ–ĐģҌĐŊиК аĐģŅŒĐąĐžĐŧ", "add_upload_to_stack": "Đ”ĐžĐ´Đ°Ņ‚Đ¸ СаваĐŊŅ‚Đ°ĐļĐĩĐŊĐŊŅ Đ´Đž ҁ҂ĐĩĐē҃", "add_url": "Đ”ĐžĐ´Đ°Ņ‚Đ¸ URL", @@ -112,13 +112,17 @@ "jobs_failed": "{jobCount, plural, other {# ĐŊĐĩ вдаĐģĐžŅŅ}}", "library_created": "ĐĄŅ‚Đ˛ĐžŅ€ĐĩĐŊа ĐąŅ–ĐąĐģŅ–ĐžŅ‚ĐĩĐēа: {library}", "library_deleted": "Đ‘Ņ–ĐąĐģŅ–ĐžŅ‚ĐĩĐē҃ видаĐģĐĩĐŊĐž", - "library_import_path_description": "ВĐēаĐļŅ–Ņ‚ŅŒ ĐŋаĐŋĐē҃ Đ´ĐģŅ Ņ–ĐŧĐŋĐžŅ€Ņ‚Ņƒ. ĐĻŅŽ ĐŋаĐŋĐē҃, вĐēĐģŅŽŅ‡ĐŊĐž С ĐŋŅ–Đ´ĐŋаĐŋĐēаĐŧи, ĐąŅƒĐ´Đĩ ĐŋŅ€ĐžŅĐēаĐŊОваĐŊĐž ĐŊа ĐŊĐ°ŅĐ˛ĐŊŅ–ŅŅ‚ŅŒ ĐˇĐžĐąŅ€Đ°ĐļĐĩĐŊҌ Ņ– Đ˛Ņ–Đ´ĐĩĐž.", + "library_details": "ДĐĩŅ‚Đ°ĐģŅ– ĐąŅ–ĐąĐģŅ–ĐžŅ‚ĐĩĐēи", + "library_folder_description": "ВĐēаĐļŅ–Ņ‚ŅŒ ĐŋаĐŋĐē҃ Đ´ĐģŅ Ņ–ĐŧĐŋĐžŅ€Ņ‚Ņƒ. ĐĻŅ ĐŋаĐŋĐēа, вĐēĐģŅŽŅ‡Đ°ŅŽŅ‡Đ¸ ĐŋŅ–Đ´ĐŋаĐŋĐēи, ĐąŅƒĐ´Đĩ ĐŋŅ€ĐžŅĐēаĐŊОваĐŊа ĐŊа ĐŊĐ°ŅĐ˛ĐŊŅ–ŅŅ‚ŅŒ ĐˇĐžĐąŅ€Đ°ĐļĐĩĐŊҌ Ņ‚Đ° Đ˛Ņ–Đ´ĐĩĐž.", + "library_remove_exclusion_pattern_prompt": "Ви вĐŋĐĩвĐŊĐĩĐŊŅ–, Ņ‰Đž Ņ…ĐžŅ‡ĐĩŅ‚Đĩ видаĐģĐ¸Ņ‚Đ¸ ҆ĐĩĐš ŅˆĐ°ĐąĐģĐžĐŊ виĐēĐģŅŽŅ‡ĐĩĐŊĐŊŅ?", + "library_remove_folder_prompt": "Ви вĐŋĐĩвĐŊĐĩĐŊŅ–, Ņ‰Đž Ņ…ĐžŅ‡ĐĩŅ‚Đĩ виĐģŅƒŅ‡Đ¸Ņ‚Đ¸ Ņ†ŅŽ ĐŋаĐŋĐē҃ Ņ–ĐŧĐŋĐžŅ€Ņ‚Ņƒ?", "library_scanning": "ПĐĩŅ€Ņ–ĐžĐ´Đ¸Ņ‡ĐŊĐĩ ҁĐēаĐŊŅƒĐ˛Đ°ĐŊĐŊŅ", "library_scanning_description": "НаĐģĐ°ŅˆŅ‚ŅƒĐ˛Đ°Ņ‚Đ¸ ĐŋĐĩŅ€Ņ–ĐžĐ´Đ¸Ņ‡ĐŊĐĩ ҁĐēаĐŊŅƒĐ˛Đ°ĐŊĐŊŅ ĐąŅ–ĐąĐģŅ–ĐžŅ‚ĐĩĐēи", "library_scanning_enable_description": "ĐŖĐ˛Ņ–ĐŧĐēĐŊŅƒŅ‚Đ¸ ĐŋĐĩŅ€Ņ–ĐžĐ´Đ¸Ņ‡ĐŊĐĩ ҁĐēаĐŊŅƒĐ˛Đ°ĐŊĐŊŅ ĐąŅ–ĐąĐģŅ–ĐžŅ‚ĐĩĐēи", "library_settings": "ЗовĐŊŅ–ŅˆĐŊŅ ĐąŅ–ĐąĐģŅ–ĐžŅ‚ĐĩĐēа", "library_settings_description": "КĐĩŅ€ŅƒĐ˛Đ°ĐŊĐŊŅ ĐŊаĐģĐ°ŅˆŅ‚ŅƒĐ˛Đ°ĐŊĐŊŅĐŧи СОвĐŊŅ–ŅˆĐŊŅ–Ņ… ĐąŅ–ĐąĐģŅ–ĐžŅ‚ĐĩĐē", "library_tasks_description": "ĐĄĐēаĐŊŅƒĐ˛Đ°Ņ‚Đ¸ СОвĐŊŅ–ŅˆĐŊŅ– ĐąŅ–ĐąĐģŅ–ĐžŅ‚ĐĩĐēи ĐŊа ĐŊĐ°ŅĐ˛ĐŊŅ–ŅŅ‚ŅŒ ĐŊĐžĐ˛Đ¸Ņ… Ņ–/айО СĐŧŅ–ĐŊĐĩĐŊĐ¸Ņ… Ņ€ĐĩŅŅƒŅ€ŅŅ–Đ˛", + "library_updated": "ОĐŊОвĐģĐĩĐŊа ĐąŅ–ĐąĐģŅ–ĐžŅ‚ĐĩĐēа", "library_watching_enable_description": "ĐĄĐģŅ–Đ´ĐēŅƒĐšŅ‚Đĩ Са СĐŧŅ–ĐŊаĐŧи Ņ„Đ°ĐšĐģŅ–Đ˛ ҃ СОвĐŊŅ–ŅˆĐŊŅ–Ņ… ĐąŅ–ĐąĐģŅ–ĐžŅ‚ĐĩĐēĐ°Ņ…", "library_watching_settings": "ĐĄĐŋĐžŅŅ‚ĐĩŅ€ĐĩĐļĐĩĐŊĐŊŅ Са ĐąŅ–ĐąĐģŅ–ĐžŅ‚ĐĩĐēĐžŅŽ [ЕКСПЕРИМЕНĐĸАЛĐŦНЕ]", "library_watching_settings_description": "ĐĐ˛Ņ‚ĐžĐŧĐ°Ņ‚Đ¸Ņ‡ĐŊĐĩ ҁĐŋĐžŅŅ‚ĐĩŅ€ĐĩĐļĐĩĐŊĐŊŅ Са СĐŧŅ–ĐŊĐĩĐŊиĐŧи Ņ„Đ°ĐšĐģаĐŧи", @@ -154,6 +158,18 @@ "machine_learning_min_detection_score_description": "ĐœŅ–ĐŊŅ–ĐŧаĐģҌĐŊиК Ņ€Ņ–Đ˛ĐĩĐŊҌ вĐŋĐĩвĐŊĐĩĐŊĐžŅŅ‚Ņ– Đ´ĐģŅ Đ˛Đ¸ŅĐ˛ĐģĐĩĐŊĐŊŅ ОйĐģĐ¸Ņ‡Ņ‡Ņ Đ˛Ņ–Đ´ 0 Đ´Đž 1. НиĐļ҇Җ СĐŊĐ°Ņ‡ĐĩĐŊĐŊŅ дОСвОĐģŅŅ‚ŅŒ Đ˛Đ¸ŅĐ˛ĐģŅŅ‚Đ¸ ĐąŅ–ĐģҌ҈Đĩ ОйĐģĐ¸Ņ‡, аĐģĐĩ ĐŧĐžĐļŅƒŅ‚ŅŒ ĐŋŅ€Đ¸ĐˇĐ˛ĐžĐ´Đ¸Ņ‚Đ¸ Đ´Đž ĐŋĐžĐŧиĐģĐēĐžĐ˛Đ¸Ņ… Đ˛Đ¸ŅĐ˛ĐģĐĩĐŊҌ.", "machine_learning_min_recognized_faces": "ĐœŅ–ĐŊŅ–Đŧ҃Đŧ Ņ€ĐžĐˇĐŋŅ–ĐˇĐŊаĐŊĐ¸Ņ… ОйĐģĐ¸Ņ‡", "machine_learning_min_recognized_faces_description": "ĐœŅ–ĐŊŅ–ĐŧаĐģҌĐŊа ĐēŅ–ĐģҌĐēŅ–ŅŅ‚ŅŒ Ņ€ĐžĐˇĐŋŅ–ĐˇĐŊаĐŊĐ¸Ņ… ОйĐģĐ¸Ņ‡ Đ´ĐģŅ ŅŅ‚Đ˛ĐžŅ€ĐĩĐŊĐŊŅ ĐžŅĐžĐąĐ¸. Đ—ĐąŅ–ĐģҌ҈ĐĩĐŊĐŊŅ Ņ†ŅŒĐžĐŗĐž ĐŋĐ°Ņ€Đ°ĐŧĐĩŅ‚Ņ€Ņƒ Ņ€ĐžĐąĐ¸Ņ‚ŅŒ Ņ€ĐžĐˇĐŋŅ–ĐˇĐŊаваĐŊĐŊŅ ОйĐģĐ¸Ņ‡ Ņ‚ĐžŅ‡ĐŊŅ–ŅˆĐ¸Đŧ, аĐģĐĩ ĐŧĐžĐļĐĩ ĐˇĐąŅ–ĐģŅŒŅˆĐ¸Ņ‚Đ¸ Ņ€Đ¸ĐˇĐ¸Đē Ņ‚ĐžĐŗĐž, Ņ‰Đž ОйĐģĐ¸Ņ‡Ņ‡Ņ ĐŊĐĩ ĐąŅƒĐ´Đĩ ĐŋŅ€Đ¸ĐˇĐŊĐ°Ņ‡ĐĩĐŊĐž ĐžŅĐžĐąŅ–.", + "machine_learning_ocr": "OCR", + "machine_learning_ocr_description": "ВиĐēĐžŅ€Đ¸ŅŅ‚ĐžĐ˛ŅƒĐšŅ‚Đĩ ĐŧĐ°ŅˆĐ¸ĐŊĐŊĐĩ ĐŊĐ°Đ˛Ņ‡Đ°ĐŊĐŊŅ Đ´ĐģŅ Ņ€ĐžĐˇĐŋŅ–ĐˇĐŊаваĐŊĐŊŅ Ņ‚ĐĩĐēŅŅ‚Ņƒ ĐŊа ĐˇĐžĐąŅ€Đ°ĐļĐĩĐŊĐŊŅŅ…", + "machine_learning_ocr_enabled": "ĐŖĐ˛Ņ–ĐŧĐēĐŊŅƒŅ‚Đ¸ OCR", + "machine_learning_ocr_enabled_description": "Đ¯ĐēŅ‰Đž виĐŧĐēĐŊĐĩĐŊĐž, ĐˇĐžĐąŅ€Đ°ĐļĐĩĐŊĐŊŅ ĐŊĐĩ Ņ€ĐžĐˇĐŋŅ–ĐˇĐŊĐ°Đ˛Đ°Ņ‚Đ¸ĐŧŅƒŅ‚ŅŒŅŅ Са Đ´ĐžĐŋĐžĐŧĐžĐŗĐžŅŽ Ņ‚ĐĩĐēŅŅ‚Ņƒ.", + "machine_learning_ocr_max_resolution": "МаĐēŅĐ¸ĐŧаĐģҌĐŊа Ņ€ĐžĐˇĐ´Ņ–ĐģҌĐŊа ĐˇĐ´Đ°Ņ‚ĐŊŅ–ŅŅ‚ŅŒ", + "machine_learning_ocr_max_resolution_description": "РОСĐŧŅ–Ņ€ ĐŋĐžĐŋĐĩŅ€ĐĩĐ´ĐŊŅŒĐžĐŗĐž ĐŋĐĩŅ€ĐĩĐŗĐģŅĐ´Ņƒ С Ņ€ĐžĐˇĐ´Ņ–ĐģҌĐŊĐžŅŽ ĐˇĐ´Đ°Ņ‚ĐŊŅ–ŅŅ‚ŅŽ Đ˛Đ¸Ņ‰Đĩ ҆ҖҔҗ ĐąŅƒĐ´Đĩ СĐŧŅ–ĐŊĐĩĐŊĐž ĐˇŅ– СйĐĩŅ€ĐĩĐļĐĩĐŊĐŊŅĐŧ ҁĐŋŅ–Đ˛Đ˛Ņ–Đ´ĐŊĐžŅˆĐĩĐŊĐŊŅ ŅŅ‚ĐžŅ€Ņ–ĐŊ. Đ’Đ¸Ņ‰Ņ– СĐŊĐ°Ņ‡ĐĩĐŊĐŊŅ Ņ‚ĐžŅ‡ĐŊŅ–ŅˆŅ–, аĐģĐĩ ĐžĐąŅ€ĐžĐąĐģŅŅŽŅ‚ŅŒŅŅ Đ´ĐžĐ˛ŅˆĐĩ Ņ‚Đ° виĐēĐžŅ€Đ¸ŅŅ‚ĐžĐ˛ŅƒŅŽŅ‚ŅŒ ĐąŅ–ĐģҌ҈Đĩ ĐŋаĐŧâ€™ŅŅ‚Ņ–.", + "machine_learning_ocr_min_detection_score": "ĐœŅ–ĐŊŅ–ĐŧаĐģҌĐŊиК йаĐģ Đ˛Đ¸ŅĐ˛ĐģĐĩĐŊĐŊŅ", + "machine_learning_ocr_min_detection_score_description": "ĐœŅ–ĐŊŅ–ĐŧаĐģҌĐŊиК йаĐģ Đ´ĐžŅŅ‚ĐžĐ˛Ņ–Ņ€ĐŊĐžŅŅ‚Ņ– Đ´ĐģŅ Đ˛Đ¸ŅĐ˛ĐģĐĩĐŊĐŊŅ Ņ‚ĐĩĐēŅŅ‚Ņƒ ŅŅ‚Đ°ĐŊĐžĐ˛Đ¸Ņ‚ŅŒ Đ˛Ņ–Đ´ 0 Đ´Đž 1. НиĐļ҇Җ СĐŊĐ°Ņ‡ĐĩĐŊĐŊŅ дОСвОĐģŅŅ‚ŅŒ Đ˛Đ¸ŅĐ˛Đ¸Ņ‚Đ¸ ĐąŅ–ĐģҌ҈Đĩ Ņ‚ĐĩĐēŅŅ‚Ņƒ, аĐģĐĩ ĐŧĐžĐļŅƒŅ‚ŅŒ ĐŋŅ€Đ¸ĐˇĐ˛ĐĩŅŅ‚Đ¸ Đ´Đž Ņ…Đ¸ĐąĐŊĐžĐŋĐžĐˇĐ¸Ņ‚Đ¸Đ˛ĐŊĐ¸Ņ… Ņ€ĐĩĐˇŅƒĐģŅŒŅ‚Đ°Ņ‚Ņ–Đ˛.", + "machine_learning_ocr_min_recognition_score": "ĐœŅ–ĐŊŅ–ĐŧаĐģҌĐŊиК йаĐģ Ņ€ĐžĐˇĐŋŅ–ĐˇĐŊаваĐŊĐŊŅ", + "machine_learning_ocr_min_score_recognition_description": "ĐœŅ–ĐŊŅ–ĐŧаĐģҌĐŊиК йаĐģ Đ´ĐžŅŅ‚ĐžĐ˛Ņ–Ņ€ĐŊĐžŅŅ‚Ņ– Đ´ĐģŅ Ņ€ĐžĐˇĐŋŅ–ĐˇĐŊаваĐŊĐŊŅ Đ˛Đ¸ŅĐ˛ĐģĐĩĐŊĐžĐŗĐž Ņ‚ĐĩĐēŅŅ‚Ņƒ ŅŅ‚Đ°ĐŊĐžĐ˛Đ¸Ņ‚ŅŒ Đ˛Ņ–Đ´ 0 Đ´Đž 1. НиĐļ҇Җ СĐŊĐ°Ņ‡ĐĩĐŊĐŊŅ Ņ€ĐžĐˇĐŋŅ–ĐˇĐŊĐ°ŅŽŅ‚ŅŒ ĐąŅ–ĐģҌ҈Đĩ Ņ‚ĐĩĐēŅŅ‚Ņƒ, аĐģĐĩ ĐŧĐžĐļŅƒŅ‚ŅŒ ĐŋŅ€Đ¸ĐˇĐ˛ĐĩŅŅ‚Đ¸ Đ´Đž Ņ…Đ¸ĐąĐŊĐžĐŋĐžĐˇĐ¸Ņ‚Đ¸Đ˛ĐŊĐ¸Ņ… Ņ€ĐĩĐˇŅƒĐģŅŒŅ‚Đ°Ņ‚Ņ–Đ˛.", + "machine_learning_ocr_model": "МодĐĩĐģҌ OCR", + "machine_learning_ocr_model_description": "ĐĄĐĩŅ€Đ˛ĐĩŅ€ĐŊŅ– ĐŧОдĐĩĐģŅ– Ņ‚ĐžŅ‡ĐŊŅ–ŅˆŅ– Са ĐŧĐžĐąŅ–ĐģҌĐŊŅ–, аĐģĐĩ ĐžĐąŅ€ĐžĐąĐģŅŅŽŅ‚ŅŒ даĐŊŅ– Đ´ĐžĐ˛ŅˆĐĩ Ņ‚Đ° виĐēĐžŅ€Đ¸ŅŅ‚ĐžĐ˛ŅƒŅŽŅ‚ŅŒ ĐąŅ–ĐģҌ҈Đĩ ĐŋаĐŧ'ŅŅ‚Ņ–.", "machine_learning_settings": "НаĐģĐ°ŅˆŅ‚ŅƒĐ˛Đ°ĐŊĐŊŅ ĐŧĐ°ŅˆĐ¸ĐŊĐŊĐžĐŗĐž ĐŊĐ°Đ˛Ņ‡Đ°ĐŊĐŊŅ", "machine_learning_settings_description": "ĐŖĐŋŅ€Đ°Đ˛ĐģŅ–ĐŊĐŊŅ Ņ„ŅƒĐŊĐēŅ†Ņ–ŅĐŧи Ņ‚Đ° ĐŊаĐģĐ°ŅˆŅ‚ŅƒĐ˛Đ°ĐŊĐŊŅĐŧи ĐŧĐ°ŅˆĐ¸ĐŊĐŊĐžĐŗĐž ĐŊĐ°Đ˛Ņ‡Đ°ĐŊĐŊŅ", "machine_learning_smart_search": "Đ ĐžĐˇŅƒĐŧĐŊиК ĐŋĐžŅˆŅƒĐē", @@ -161,6 +177,10 @@ "machine_learning_smart_search_enabled": "ĐŖĐ˛Ņ–ĐŧĐēĐŊŅƒŅ‚Đ¸ Ņ€ĐžĐˇŅƒĐŧĐŊиК ĐŋĐžŅˆŅƒĐē", "machine_learning_smart_search_enabled_description": "Đ¯ĐēŅ‰Đž Ņ†Ņ Ņ„ŅƒĐŊĐēŅ†Ņ–Ņ виĐŧĐēĐŊĐĩĐŊа, ĐˇĐžĐąŅ€Đ°ĐļĐĩĐŊĐŊŅ ĐŊĐĩ ĐąŅƒĐ´ŅƒŅ‚ŅŒ ĐēĐžĐ´ŅƒĐ˛Đ°Ņ‚Đ¸ŅŅ Đ´ĐģŅ Ņ€ĐžĐˇŅƒĐŧĐŊĐžĐŗĐž ĐŋĐžŅˆŅƒĐē҃.", "machine_learning_url_description": "URL ҁĐĩŅ€Đ˛ĐĩŅ€Đ° ĐŧĐ°ŅˆĐ¸ĐŊĐŊĐžĐŗĐž ĐŊĐ°Đ˛Ņ‡Đ°ĐŊĐŊŅ. Đ¯ĐēŅ‰Đž ĐŊадаĐŊĐž ĐąŅ–ĐģҌ҈Đĩ ОдĐŊĐžĐŗĐž URL, ҁĐĩŅ€Đ˛ĐĩŅ€Đ¸ ĐąŅƒĐ´ŅƒŅ‚ŅŒ ĐžĐŋĐ¸Ņ‚ŅƒĐ˛Đ°Ņ‚Đ¸ŅŅ ĐŋĐž ҇ĐĩŅ€ĐˇŅ–, ĐŋĐžĐēи ОдиĐŊ С ĐŊĐ¸Ņ… ĐŊĐĩ Đ˛Ņ–Đ´ĐŋĐžĐ˛Ņ–ŅŅ‚ŅŒ ҃ҁĐŋŅ–ŅˆĐŊĐž, ҃ ĐŋĐžŅ€ŅĐ´Đē҃ Đ˛Ņ–Đ´ ĐŋĐĩŅ€ŅˆĐžĐŗĐž Đ´Đž ĐžŅŅ‚Đ°ĐŊĐŊŅŒĐžĐŗĐž. ĐĄĐĩŅ€Đ˛ĐĩŅ€Đ¸, ŅĐēŅ– ĐŊĐĩ Đ˛Ņ–Đ´ĐŋĐžĐ˛Ņ–Đ´Đ°ŅŽŅ‚ŅŒ, ĐąŅƒĐ´ŅƒŅ‚ŅŒ Ņ‚Đ¸ĐŧŅ‡Đ°ŅĐžĐ˛Đž Ņ–ĐŗĐŊĐžŅ€ŅƒĐ˛Đ°Ņ‚Đ¸ŅŅ, ĐŋĐžĐēи ĐŊĐĩ С'ŅĐ˛ĐģŅŅ‚ŅŒŅŅ ĐžĐŊĐģаКĐŊ.", + "maintenance_settings": "ĐĸĐĩŅ…ĐŊҖ҇ĐŊĐĩ ĐžĐąŅĐģŅƒĐŗĐžĐ˛ŅƒĐ˛Đ°ĐŊĐŊŅ", + "maintenance_settings_description": "ПĐĩŅ€ĐĩвĐĩĐ´Ņ–Ņ‚ŅŒ Immich в Ņ€ĐĩĐļиĐŧ Ņ‚ĐĩŅ…ĐŊҖ҇ĐŊĐžĐŗĐž ĐžĐąŅĐģŅƒĐŗĐžĐ˛ŅƒĐ˛Đ°ĐŊĐŊŅ.", + "maintenance_start": "РОСĐŋĐžŅ‡Đ°Ņ‚Đ¸ Ņ€ĐĩĐļиĐŧ ĐžĐąŅĐģŅƒĐŗĐžĐ˛ŅƒĐ˛Đ°ĐŊĐŊŅ", + "maintenance_start_error": "НĐĩ вдаĐģĐžŅŅ СаĐŋŅƒŅŅ‚Đ¸Ņ‚Đ¸ Ņ€ĐĩĐļиĐŧ ĐžĐąŅĐģŅƒĐŗĐžĐ˛ŅƒĐ˛Đ°ĐŊĐŊŅ.", "manage_concurrency": "КĐĩŅ€ŅƒĐ˛Đ°ĐŊĐŊŅ ĐŋĐ°Ņ€Đ°ĐģĐĩĐģҌĐŊŅ–ŅŅ‚ŅŽ СавдаĐŊҌ", "manage_log_settings": "КĐĩŅ€ŅƒĐ˛Đ°ĐŊĐŊŅ ĐŊаĐģĐ°ŅˆŅ‚ŅƒĐ˛Đ°ĐŊĐŊŅĐŧи ĐļŅƒŅ€ĐŊаĐģ҃", "map_dark_style": "ĐĸĐĩĐŧĐŊиК ŅŅ‚Đ¸ĐģҌ", @@ -245,6 +265,7 @@ "oauth_storage_quota_default_description": "ĐšĐ˛ĐžŅ‚Đ° в GiB, Ņ‰Đž виĐēĐžŅ€Đ¸ŅŅ‚ĐžĐ˛ŅƒŅ”Ņ‚ŅŒŅŅ, ĐēĐžĐģи ĐŊаĐģĐ°ŅˆŅ‚ŅƒĐ˛Đ°ĐŊĐŊŅ ĐŊĐĩ ĐŊадаĐŊĐž.", "oauth_timeout": "ĐĸаКĐŧ-Đ°ŅƒŅ‚ Đ´ĐģŅ СаĐŋĐ¸Ņ‚Ņ–Đ˛", "oauth_timeout_description": "МаĐēŅĐ¸ĐŧаĐģҌĐŊиК Ņ‡Đ°Ņ ĐžŅ‡Ņ–ĐēŅƒĐ˛Đ°ĐŊĐŊŅ Đ˛Ņ–Đ´ĐŋĐžĐ˛Ņ–Đ´Ņ– в ĐŧŅ–ĐģҖҁĐĩĐē҃ĐŊĐ´Đ°Ņ…", + "ocr_job_description": "ВиĐēĐžŅ€Đ¸ŅŅ‚ĐžĐ˛ŅƒĐšŅ‚Đĩ ĐŧĐ°ŅˆĐ¸ĐŊĐŊĐĩ ĐŊĐ°Đ˛Ņ‡Đ°ĐŊĐŊŅ Đ´ĐģŅ Ņ€ĐžĐˇĐŋŅ–ĐˇĐŊаваĐŊĐŊŅ Ņ‚ĐĩĐēŅŅ‚Ņƒ ĐŊа ĐˇĐžĐąŅ€Đ°ĐļĐĩĐŊĐŊŅŅ…", "password_enable_description": "ĐŖĐ˛Ņ–ĐšŅ‚Đ¸ Са ĐĩĐģĐĩĐēŅ‚Ņ€ĐžĐŊĐŊĐžŅŽ ĐŋĐžŅˆŅ‚ĐžŅŽ Ņ‚Đ° ĐŋĐ°Ņ€ĐžĐģĐĩĐŧ", "password_settings": "НаĐģĐ°ŅˆŅ‚ŅƒĐ˛Đ°ĐŊĐŊŅ Đ˛Ņ…ĐžĐ´Ņƒ С ĐŋĐ°Ņ€ĐžĐģĐĩĐŧ", "password_settings_description": "КĐĩŅ€ŅƒĐ˛Đ°ĐŊĐŊŅ ĐŊаĐģĐ°ŅˆŅ‚ŅƒĐ˛Đ°ĐŊĐŊŅĐŧи Đ˛Ņ…ĐžĐ´Ņƒ Са ĐŋĐ°Ņ€ĐžĐģĐĩĐŧ", @@ -417,6 +438,7 @@ "age_months": "Đ’Ņ–Đē {months, plural, one {# ĐŧŅ–ŅŅŅ†ŅŒ} few {# ĐŧŅ–ŅŅŅ†Ņ–} many {# ĐŧŅ–ŅŅŅ†Ņ–Đ˛} other {# ĐŧŅ–ŅŅŅ†Ņ–Đ˛}}", "age_year_months": "Đ’Ņ–Đē 1 ҀҖĐē, {months, plural, one {# ĐŧŅ–ŅŅŅ†ŅŒ} few {# ĐŧŅ–ŅŅŅ†Ņ–} many {# ĐŧŅ–ŅŅŅ†Ņ–Đ˛} other {# ĐŧŅ–ŅŅŅ†Ņ–Đ˛}}", "age_years": "{years, plural, other {Đ’Ņ–Đē #}}", + "album": "АĐģŅŒĐąĐžĐŧ", "album_added": "АĐģŅŒĐąĐžĐŧ дОдаĐŊĐž", "album_added_notification_setting_description": "ĐžŅ‚Ņ€Đ¸ĐŧŅƒĐ˛Đ°Ņ‚Đ¸ ĐŋĐžĐ˛Ņ–Đ´ĐžĐŧĐģĐĩĐŊĐŊŅ ĐŋĐž ĐĩĐģĐĩĐēŅ‚Ņ€ĐžĐŊĐŊŅ–Đš ĐŋĐžŅˆŅ‚Ņ–, ĐēĐžĐģи Đ˛Đ°Ņ Đ´ĐžĐ´Đ°ŅŽŅ‚ŅŒ Đ´Đž ҁĐŋŅ–ĐģҌĐŊĐžĐŗĐž аĐģŅŒĐąĐžĐŧ҃", "album_cover_updated": "ОбĐēĐģадиĐŊĐēа аĐģŅŒĐąĐžĐŧ҃ ĐžĐŊОвĐģĐĩĐŊа", @@ -462,6 +484,7 @@ "allow_edits": "ДозвоĐģĐ¸Ņ‚Đ¸ Ņ€ĐĩĐ´Đ°ĐŗŅƒĐ˛Đ°ĐŊĐŊŅ", "allow_public_user_to_download": "ДозвоĐģĐ¸Ņ‚Đ¸ ĐŋŅƒĐąĐģҖ҇ĐŊĐžĐŧ҃ ĐēĐžŅ€Đ¸ŅŅ‚ŅƒĐ˛Đ°Ņ‡ĐĩĐ˛Ņ– СаваĐŊŅ‚Đ°ĐļŅƒĐ˛Đ°Ņ‚Đ¸ Ņ„Đ°ĐšĐģи", "allow_public_user_to_upload": "ДозвоĐģĐ¸Ņ‚Đ¸ ĐŋŅƒĐąĐģҖ҇ĐŊиĐŧ ĐēĐžŅ€Đ¸ŅŅ‚ŅƒĐ˛Đ°Ņ‡Đ°Đŧ СаваĐŊŅ‚Đ°ĐļŅƒĐ˛Đ°Ņ‚Đ¸", + "allowed": "ДозвоĐģĐĩĐŊĐž", "alt_text_qr_code": "Đ—ĐžĐąŅ€Đ°ĐļĐĩĐŊĐŊŅ QR-ĐēĐžĐ´Ņƒ", "anti_clockwise": "ĐŸŅ€ĐžŅ‚Đ¸ ĐŗĐžĐ´Đ¸ĐŊĐŊиĐēĐžĐ˛ĐžŅ— ҁ҂ҀҖĐģĐēи", "api_key": "КĐģŅŽŅ‡ API", @@ -669,6 +692,8 @@ "change_password_description": "ĐĻĐĩ айО ĐŋĐĩŅ€ŅˆĐ¸Đš Ņ€Đ°Đˇ, ĐēĐžĐģи ви ŅƒĐ˛Ņ–ĐšŅˆĐģи в ŅĐ¸ŅŅ‚ĐĩĐŧ҃, айО ĐąŅƒĐģĐž ĐˇŅ€ĐžĐąĐģĐĩĐŊĐž СаĐŋĐ¸Ņ‚ ĐŊа СĐŧŅ–ĐŊ҃ Đ˛Đ°ŅˆĐžĐŗĐž ĐŋĐ°Ņ€ĐžĐģŅ. Đ‘ŅƒĐ´ŅŒ ĐģĐ°ŅĐēа, ввĐĩĐ´Ņ–Ņ‚ŅŒ ĐŊОвиК ĐŋĐ°Ņ€ĐžĐģҌ ĐŊиĐļ҇Đĩ.", "change_password_form_confirm_password": "ĐŸŅ–Đ´Ņ‚Đ˛ĐĩŅ€Đ´Đ¸Ņ‚Đ¸ ĐŋĐ°Ņ€ĐžĐģҌ", "change_password_form_description": "ĐŸŅ€Đ¸Đ˛Ņ–Ņ‚, {name},\n\nĐĻĐĩ айО Đ˛Đ°Ņˆ ĐŋĐĩŅ€ŅˆĐ¸Đš Đ˛Ņ…Ņ–Đ´ ҃ ŅĐ¸ŅŅ‚ĐĩĐŧ҃, айО ĐąŅƒĐģĐž ĐŊĐ°Đ´Ņ–ŅĐģаĐŊĐž СаĐŋĐ¸Ņ‚ ĐŊа СĐŧŅ–ĐŊ҃ ĐŋĐ°Ņ€ĐžĐģŅ. Đ‘ŅƒĐ´ŅŒ ĐģĐ°ŅĐēа, ввĐĩĐ´Ņ–Ņ‚ŅŒ ĐŊОвиК ĐŋĐ°Ņ€ĐžĐģҌ ĐŊиĐļ҇Đĩ.", + "change_password_form_log_out": "Đ’Đ¸ĐšĐ´Ņ–Ņ‚ŅŒ Ņ–Đˇ ŅĐ¸ŅŅ‚ĐĩĐŧи ĐŊа Đ˛ŅŅ–Ņ… Ņ–ĐŊŅˆĐ¸Ņ… ĐŋŅ€Đ¸ŅŅ‚Ņ€ĐžŅŅ…", + "change_password_form_log_out_description": "Đ ĐĩĐēĐžĐŧĐĩĐŊĐ´ŅƒŅ”Ņ‚ŅŒŅŅ Đ˛Đ¸ĐšŅ‚Đ¸ С ŅƒŅŅ–Ņ… Ņ–ĐŊŅˆĐ¸Ņ… ĐŋŅ€Đ¸ŅŅ‚Ņ€ĐžŅ—Đ˛", "change_password_form_new_password": "Новий ĐŋĐ°Ņ€ĐžĐģҌ", "change_password_form_password_mismatch": "ĐŸĐ°Ņ€ĐžĐģŅ– ĐŊĐĩ ҁĐŋŅ–Đ˛ĐŋĐ°Đ´Đ°ŅŽŅ‚ŅŒ", "change_password_form_reenter_new_password": "ĐŸĐžĐ˛Ņ‚ĐžŅ€Ņ–Ņ‚ŅŒ ĐŊОвиК ĐŋĐ°Ņ€ĐžĐģҌ", @@ -776,6 +801,7 @@ "daily_title_text_date_year": "Е, МММ Đ´Đ´, ҀҀҀҀ", "dark": "ĐĸĐĩĐŧĐŊа", "dark_theme": "ĐŖĐ˛Ņ–ĐŧĐēĐŊŅƒŅ‚Đ¸ Ņ‚ĐĩĐŧĐŊ҃ Ņ‚ĐĩĐŧ҃", + "date": "Đ”Đ°Ņ‚Đ°", "date_after": "Đ”Đ°Ņ‚Đ° ĐŋҖҁĐģŅ", "date_and_time": "Đ”Đ°Ņ‚Đ° Ņ– Ņ‡Đ°Ņ", "date_before": "Đ”Đ°Ņ‚Đ° Đ´Đž", @@ -878,8 +904,6 @@ "edit_description_prompt": "Đ‘ŅƒĐ´ŅŒ ĐģĐ°ŅĐēа, вийĐĩŅ€Ņ–Ņ‚ŅŒ ĐŊОвиК ĐžĐŋĐ¸Ņ:", "edit_exclusion_pattern": "Đ ĐĩĐ´Đ°ĐŗŅƒĐ˛Đ°Ņ‚Đ¸ ŅˆĐ°ĐąĐģĐžĐŊ виĐēĐģŅŽŅ‡ĐĩĐŊҌ", "edit_faces": "Đ ĐĩĐ´Đ°ĐŗŅƒĐ˛Đ°ĐŊĐŊŅ ОйĐģĐ¸Ņ‡", - "edit_import_path": "ЗĐŧŅ–ĐŊĐ¸Ņ‚Đ¸ ҈ĐģŅŅ… Ņ–ĐŧĐŋĐžŅ€Ņ‚Ņƒ", - "edit_import_paths": "Đ ĐĩĐ´Đ°ĐŗŅƒĐ˛Đ°Ņ‚Đ¸ ҈ĐģŅŅ… Ņ–ĐŧĐŋĐžŅ€Ņ‚Ņƒ", "edit_key": "ЗĐŧŅ–ĐŊĐ¸Ņ‚Đ¸ ĐēĐģŅŽŅ‡", "edit_link": "Đ ĐĩĐ´Đ°ĐŗŅƒĐ˛Đ°Ņ‚Đ¸ ĐŋĐžŅĐ¸ĐģаĐŊĐŊŅ", "edit_location": "Đ ĐĩĐ´Đ°ĐŗŅƒĐ˛Đ°Ņ‚Đ¸ ĐŧҖҁ҆ĐĩСĐŊĐ°Ņ…ĐžĐ´ĐļĐĩĐŊĐŊŅ", @@ -951,8 +975,8 @@ "failed_to_stack_assets": "НĐĩ вдаĐģĐžŅŅ ĐˇĐŗĐžŅ€ĐŊŅƒŅ‚Đ¸ Ņ€ĐĩŅŅƒŅ€ŅĐ¸", "failed_to_unstack_assets": "НĐĩ вдаĐģĐžŅŅ Ņ€ĐžĐˇĐŗĐžŅ€ĐŊŅƒŅ‚Đ¸ Ņ€ĐĩŅŅƒŅ€ŅĐ¸", "failed_to_update_notification_status": "НĐĩ вдаĐģĐžŅŅ ĐžĐŊĐžĐ˛Đ¸Ņ‚Đ¸ ŅŅ‚Đ°Ņ‚ŅƒŅ ҁĐŋĐžĐ˛Ņ–Ņ‰ĐĩĐŊĐŊŅ", - "import_path_already_exists": "ĐĻĐĩĐš ҈ĐģŅŅ… Ņ–ĐŧĐŋĐžŅ€Ņ‚Ņƒ вĐļĐĩ ҖҁĐŊŅƒŅ”.", "incorrect_email_or_password": "НĐĩĐŋŅ€Đ°Đ˛Đ¸ĐģҌĐŊа Đ°Đ´Ņ€ĐĩŅĐ° ĐĩĐģĐĩĐēŅ‚Ņ€ĐžĐŊĐŊĐžŅ— ĐŋĐžŅˆŅ‚Đ¸ айО ĐŋĐ°Ņ€ĐžĐģҌ", + "library_folder_already_exists": "ĐĻĐĩĐš ҈ĐģŅŅ… Ņ–ĐŧĐŋĐžŅ€Ņ‚Ņƒ вĐļĐĩ ҖҁĐŊŅƒŅ”.", "paths_validation_failed": "{paths, plural, one {# ҈ĐģŅŅ…} few {# ҈ĐģŅŅ…Đ¸} many {# ҈ĐģŅŅ…Ņ–Đ˛} other {# ҈ĐģŅŅ…Ņƒ}} ĐŊĐĩ ĐŋŅ€ĐžĐšŅˆĐģĐž ĐŋĐĩŅ€ĐĩĐ˛Ņ–Ņ€Đē҃", "profile_picture_transparent_pixels": "Đ—ĐžĐąŅ€Đ°ĐļĐĩĐŊĐŊŅ ĐŋŅ€ĐžŅ„Ņ–ĐģŅŽ ĐŊĐĩ ĐŧĐžĐļĐĩ ĐŧŅ–ŅŅ‚Đ¸Ņ‚Đ¸ ĐŋŅ€ĐžĐˇĐžŅ€Đ¸Ņ… ĐŋŅ–ĐēҁĐĩĐģŅ–Đ˛. Đ‘ŅƒĐ´ŅŒ ĐģĐ°ŅĐēа, ĐˇĐąŅ–ĐģŅŒŅˆŅ–Ņ‚ŅŒ ĐŧĐ°ŅŅˆŅ‚Đ°Đą Ņ‚Đ°/айО ĐŋĐĩŅ€ĐĩĐŧŅ–ŅŅ‚Ņ–Ņ‚ŅŒ ĐˇĐžĐąŅ€Đ°ĐļĐĩĐŊĐŊŅ.", "quota_higher_than_disk_size": "Ви Đ˛ŅŅ‚Đ°ĐŊОвиĐģи ĐēĐ˛ĐžŅ‚Ņƒ, Ņ‰Đž ĐŋĐĩŅ€ĐĩĐ˛Đ¸Ņ‰ŅƒŅ” Ņ€ĐžĐˇĐŧŅ–Ņ€ Đ´Đ¸ŅĐēа", @@ -961,7 +985,6 @@ "unable_to_add_assets_to_shared_link": "НĐĩ Đ˛Đ´Đ°Ņ”Ņ‚ŅŒŅŅ Đ´ĐžĐ´Đ°Ņ‚Đ¸ Ņ€ĐĩŅŅƒŅ€ŅĐ¸ Đ´Đž ҁĐŋŅ–ĐģҌĐŊĐžĐŗĐž ĐŋĐžŅĐ¸ĐģаĐŊĐŊŅ", "unable_to_add_comment": "НĐĩĐŧĐžĐļĐģивО Đ´ĐžĐ´Đ°Ņ‚Đ¸ ĐēĐžĐŧĐĩĐŊŅ‚Đ°Ņ€", "unable_to_add_exclusion_pattern": "НĐĩ Đ˛Đ´Đ°Ņ”Ņ‚ŅŒŅŅ Đ´ĐžĐ´Đ°Ņ‚Đ¸ ŅˆĐ°ĐąĐģĐžĐŊ виĐēĐģŅŽŅ‡ĐĩĐŊĐŊŅ", - "unable_to_add_import_path": "НĐĩ Đ˛Đ´Đ°Ņ”Ņ‚ŅŒŅŅ Đ´ĐžĐ´Đ°Ņ‚Đ¸ ҈ĐģŅŅ… Đ´Đž Ņ–ĐŧĐŋĐžŅ€Ņ‚Ņƒ", "unable_to_add_partners": "НĐĩ Đ˛Đ´Đ°Ņ”Ņ‚ŅŒŅŅ Đ´ĐžĐ´Đ°Ņ‚Đ¸ ĐŋĐ°Ņ€Ņ‚ĐŊĐĩŅ€Ņ–Đ˛", "unable_to_add_remove_archive": "НĐĩĐŧĐžĐļĐģивО {archived, select, true {виĐģŅƒŅ‡Đ¸Ņ‚Đ¸ Ņ€ĐĩŅŅƒŅ€Ņ Ņ–Đˇ} other {Đ´ĐžĐ´Đ°Ņ‚Đ¸ Ņ€ĐĩŅŅƒŅ€Ņ Đ´Đž}} Đ°Ņ€Ņ…Ņ–Đ˛Ņƒ", "unable_to_add_remove_favorites": "НĐĩĐŧĐžĐļĐģивО {favorite, select, true {Đ´ĐžĐ´Đ°Ņ‚Đ¸ Ņ€ĐĩŅŅƒŅ€Ņ Đ´Đž} other {виĐģŅƒŅ‡Đ¸Ņ‚Đ¸ Ņ€ĐĩŅŅƒŅ€Ņ Ņ–Đˇ}} ĐžĐąŅ€Đ°ĐŊĐ¸Ņ…", @@ -984,12 +1007,10 @@ "unable_to_delete_asset": "НĐĩ Đ˛Đ´Đ°Ņ”Ņ‚ŅŒŅŅ видаĐģĐ¸Ņ‚Đ¸ Ņ€ĐĩŅŅƒŅ€Ņ", "unable_to_delete_assets": "ПоĐŧиĐģĐēа видаĐģĐĩĐŊĐŊŅ Ņ€ĐĩŅŅƒŅ€ŅŅ–Đ˛", "unable_to_delete_exclusion_pattern": "НĐĩ вдаĐģĐžŅŅ видаĐģĐ¸Ņ‚Đ¸ ŅˆĐ°ĐąĐģĐžĐŊ виĐēĐģŅŽŅ‡ĐĩĐŊĐŊŅ", - "unable_to_delete_import_path": "НĐĩ вдаĐģĐžŅŅ видаĐģĐ¸Ņ‚Đ¸ ҈ĐģŅŅ… Ņ–ĐŧĐŋĐžŅ€Ņ‚Ņƒ", "unable_to_delete_shared_link": "НĐĩ вдаĐģĐžŅŅ видаĐģĐ¸Ņ‚Đ¸ ҁĐŋŅ–ĐģҌĐŊĐĩ ĐŋĐžŅĐ¸ĐģаĐŊĐŊŅ", "unable_to_delete_user": "НĐĩ Đ˛Đ´Đ°Ņ”Ņ‚ŅŒŅŅ видаĐģĐ¸Ņ‚Đ¸ ĐēĐžŅ€Đ¸ŅŅ‚ŅƒĐ˛Đ°Ņ‡Đ°", "unable_to_download_files": "НĐĩĐŧĐžĐļĐģивО СаваĐŊŅ‚Đ°ĐļĐ¸Ņ‚Đ¸ Ņ„Đ°ĐšĐģи", "unable_to_edit_exclusion_pattern": "НĐĩ вдаĐģĐžŅŅ Ņ€ĐĩĐ´Đ°ĐŗŅƒĐ˛Đ°Ņ‚Đ¸ ŅˆĐ°ĐąĐģĐžĐŊ виĐēĐģŅŽŅ‡ĐĩĐŊĐŊŅ", - "unable_to_edit_import_path": "НĐĩĐŧĐžĐļĐģивО Đ˛Ņ–Đ´Ņ€ĐĩĐ´Đ°ĐŗŅƒĐ˛Đ°Ņ‚Đ¸ ҈ĐģŅŅ… Ņ–ĐŧĐŋĐžŅ€Ņ‚Ņƒ", "unable_to_empty_trash": "НĐĩĐŧĐžĐļĐģивО ĐžŅ‡Đ¸ŅŅ‚Đ¸Ņ‚Đ¸ ĐēĐžŅˆĐ¸Đē", "unable_to_enter_fullscreen": "НĐĩĐŧĐžĐļĐģивО ŅƒĐ˛Ņ–ĐšŅ‚Đ¸ в ĐŋОвĐŊĐžĐĩĐēŅ€Đ°ĐŊĐŊиК Ņ€ĐĩĐļиĐŧ", "unable_to_exit_fullscreen": "НĐĩĐŧĐžĐļĐģивО Đ˛Đ¸ĐšŅ‚Đ¸ С ĐŋОвĐŊĐžĐĩĐēŅ€Đ°ĐŊĐŊĐžĐŗĐž Ņ€ĐĩĐļиĐŧ҃", @@ -1040,6 +1061,7 @@ "unable_to_update_user": "НĐĩĐŧĐžĐļĐģивО ĐžĐŊĐžĐ˛Đ¸Ņ‚Đ¸ даĐŊŅ– ĐēĐžŅ€Đ¸ŅŅ‚ŅƒĐ˛Đ°Ņ‡Đ°", "unable_to_upload_file": "НĐĩ вдаĐģĐžŅŅ СаваĐŊŅ‚Đ°ĐļĐ¸Ņ‚Đ¸ Ņ„Đ°ĐšĐģ" }, + "exclusion_pattern": "ШайĐģĐžĐŊ виĐēĐģŅŽŅ‡ĐĩĐŊĐŊŅ", "exif": "Exif'", "exif_bottom_sheet_description": "Đ”ĐžĐ´Đ°Ņ‚Đ¸ ĐžĐŋĐ¸Ņ...", "exif_bottom_sheet_description_error": "ПоĐŧиĐģĐēа ĐŋŅ–Đ´ Ņ‡Đ°Ņ ĐžĐŊОвĐģĐĩĐŊĐŊŅ ĐžĐŋĐ¸ŅŅƒ", @@ -1084,6 +1106,7 @@ "features_setting_description": "КĐĩŅ€ŅƒĐ˛Đ°ĐŊĐŊŅ Đ´ĐžĐ´Đ°Ņ‚ĐēОвиĐŧи ĐŧĐžĐļĐģĐ¸Đ˛ĐžŅŅ‚ŅĐŧи ĐˇĐ°ŅŅ‚ĐžŅŅƒĐŊĐē҃", "file_name": "ІĐŧ'Ņ Ņ„Đ°ĐšĐģ҃", "file_name_or_extension": "ІĐŧ'Ņ Ņ„Đ°ĐšĐģ҃ айО Ņ€ĐžĐˇŅˆĐ¸Ņ€ĐĩĐŊĐŊŅ", + "file_size": "РОСĐŧŅ–Ņ€ Ņ„Đ°ĐšĐģ҃", "filename": "ІĐŧ'Ņ Ņ„Đ°ĐšĐģ҃", "filetype": "ĐĸиĐŋ Ņ„Đ°ĐšĐģ҃", "filter": "Đ¤Ņ–ĐģŅŒŅ‚Ņ€", @@ -1098,6 +1121,7 @@ "folders_feature_description": "ПĐĩŅ€ĐĩĐŗĐģŅĐ´ ĐŋĐĩŅ€ĐĩĐŗĐģŅĐ´Ņƒ ĐŋаĐŋĐžĐē Đ´ĐģŅ Ņ„ĐžŅ‚ĐžĐŗŅ€Đ°Ņ„Ņ–Đš Ņ– Đ˛Ņ–Đ´ĐĩĐž ҃ Ņ„Đ°ĐšĐģĐžĐ˛Ņ–Đš ŅĐ¸ŅŅ‚ĐĩĐŧŅ–", "forgot_pin_code_question": "Đ—Đ°ĐąŅƒĐģи ŅĐ˛Ņ–Đš PIN-ĐēОд?", "forward": "ПĐĩŅ€ĐĩҁĐģĐ°Ņ‚Đ¸", + "full_path": "ПовĐŊиК ҈ĐģŅŅ…: {path}", "gcast_enabled": "Google Cast'", "gcast_enabled_description": "ĐĻŅ Ņ„ŅƒĐŊĐēŅ†Ņ–Ņ СаваĐŊŅ‚Đ°ĐļŅƒŅ” СОвĐŊŅ–ŅˆĐŊŅ– Ņ€ĐĩŅŅƒŅ€ŅĐ¸ С Google Đ´ĐģŅ ŅĐ˛ĐžŅ”Ņ— Ņ€ĐžĐąĐžŅ‚Đ¸.", "general": "Đ—Đ°ĐŗĐ°ĐģҌĐŊŅ–", @@ -1134,6 +1158,7 @@ "hide_named_person": "ĐŸŅ€Đ¸Ņ…ĐžĐ˛Đ°Ņ‚Đ¸ {name}", "hide_password": "ĐŸŅ€Đ¸Ņ…ĐžĐ˛Đ°Ņ‚Đ¸ ĐŋĐ°Ņ€ĐžĐģҌ", "hide_person": "ĐŸŅ€Đ¸Ņ…ĐžĐ˛Đ°Ņ‚Đ¸ ĐģŅŽĐ´Đ¸ĐŊ҃", + "hide_text_recognition": "ĐŸŅ€Đ¸Ņ…ĐžĐ˛Đ°Ņ‚Đ¸ Ņ€ĐžĐˇĐŋŅ–ĐˇĐŊаваĐŊĐŊŅ Ņ‚ĐĩĐēŅŅ‚Ņƒ", "hide_unnamed_people": "ĐŸŅ€Đ¸Ņ…ĐžĐ˛Đ°Ņ‚Đ¸ ĐģŅŽĐ´ĐĩĐš ĐąĐĩС Ņ–Đŧ'Ņ", "home_page_add_to_album_conflicts": "ДодаĐŊĐž {added} ĐĩĐģĐĩĐŧĐĩĐŊŅ‚Ņ–Đ˛ ҃ аĐģŅŒĐąĐžĐŧ {album}. {failed} ĐĩĐģĐĩĐŧĐĩĐŊŅ‚Ņ–Đ˛ вĐļĐĩ ĐąŅƒĐģĐž в аĐģŅŒĐąĐžĐŧŅ–.", "home_page_add_to_album_err_local": "НĐĩĐŧĐžĐļĐģивО Đ´ĐžĐ´Đ°Ņ‚Đ¸ ĐģĐžĐēаĐģҌĐŊŅ– ĐĩĐģĐĩĐŧĐĩĐŊŅ‚Đ¸ Đ´Đž аĐģŅŒĐąĐžĐŧŅ–Đ˛, ĐŋŅ€ĐžĐŋŅƒŅ‰ĐĩĐŊĐž", @@ -1179,6 +1204,8 @@ "import_path": "ШĐģŅŅ… Ņ–ĐŧĐŋĐžŅ€Ņ‚Ņƒ", "in_albums": "ĐŖ {count, plural, one {# аĐģŅŒĐąĐžĐŧŅ–} other {# аĐģŅŒĐąĐžĐŧĐ°Ņ…}}", "in_archive": "В Đ°Ņ€Ņ…Ņ–Đ˛Ņ–", + "in_year": "ĐŖ {year}", + "in_year_selector": "ĐŖ", "include_archived": "Đ’Ņ–Đ´ĐžĐąŅ€Đ°ĐļĐ°Ņ‚Đ¸ Đ°Ņ€Ņ…Ņ–Đ˛", "include_shared_albums": "ВĐēĐģŅŽŅ‡Đ¸Ņ‚Đ¸ ҁĐŋŅ–ĐģҌĐŊŅ– аĐģŅŒĐąĐžĐŧи", "include_shared_partner_assets": "ВĐēĐģŅŽŅ‡Đ°ĐšŅ‚Đĩ ҁĐŋŅ–ĐģҌĐŊŅ– ĐŋĐ°Ņ€Ņ‚ĐŊĐĩŅ€ŅŅŒĐēŅ– Ņ€ĐĩŅŅƒŅ€ŅĐ¸", @@ -1215,6 +1242,7 @@ "language_setting_description": "ВибĐĩŅ€Ņ–Ņ‚ŅŒ ĐŧĐžĐ˛Ņƒ, ŅĐēŅ–Đš ви ĐŊĐ°Đ´Đ°Ņ”Ņ‚Đĩ ĐŋĐĩŅ€ĐĩĐ˛Đ°ĐŗŅƒ", "large_files": "ВĐĩĐģиĐēŅ– Ņ„Đ°ĐšĐģи", "last": "ĐžŅŅ‚Đ°ĐŊĐŊŅ–Đš", + "last_months": "{count, plural, one {МиĐŊ҃ĐģĐžĐŗĐž ĐŧŅ–ŅŅŅ†Ņ} other {ĐžŅŅ‚Đ°ĐŊĐŊŅ– # ĐŧŅ–ŅŅŅ†Ņ–}}", "last_seen": "Đ’ĐžŅŅ‚Đ°ĐŊĐŊŅ” ĐąĐ°Ņ‡Đ¸Đģи", "latest_version": "ĐžŅŅ‚Đ°ĐŊĐŊŅ вĐĩŅ€ŅŅ–Ņ", "latitude": "Đ¨Đ¸Ņ€ĐžŅ‚Đ°", @@ -1224,6 +1252,8 @@ "let_others_respond": "ДозвоĐģĐ¸Ņ‚Đ¸ Ņ–ĐŊŅˆĐ¸Đŧ Đ˛Ņ–Đ´ĐŋĐžĐ˛Ņ–Đ´Đ°Ņ‚Đ¸", "level": "Đ Ņ–Đ˛ĐĩĐŊҌ", "library": "Đ‘Ņ–ĐąĐģŅ–ĐžŅ‚ĐĩĐēа", + "library_add_folder": "Đ”ĐžĐ´Đ°Ņ‚Đ¸ ĐŋаĐŋĐē҃", + "library_edit_folder": "Đ ĐĩĐ´Đ°ĐŗŅƒĐ˛Đ°Ņ‚Đ¸ ĐŋаĐŋĐē҃", "library_options": "ĐŸĐ°Ņ€Đ°ĐŧĐĩŅ‚Ņ€Đ¸ ĐąŅ–ĐąĐģŅ–ĐžŅ‚ĐĩĐēи", "library_page_device_albums": "АĐģŅŒĐąĐžĐŧи ĐŊа ĐŋŅ€Đ¸ŅŅ‚Ņ€ĐžŅ—", "library_page_new_album": "Новий аĐģŅŒĐąĐžĐŧ", @@ -1247,6 +1277,7 @@ "local_media_summary": "ЗвĐĩĐ´ĐĩĐŊĐŊŅ ĐŧҖҁ҆ĐĩĐ˛Đ¸Ņ… ЗМІ", "local_network": "ЛоĐēаĐģҌĐŊа ĐŧĐĩŅ€ĐĩĐļа", "local_network_sheet_info": "Đ—Đ°ŅŅ‚ĐžŅŅƒĐŊĐžĐē ĐŋŅ–Đ´ĐēĐģŅŽŅ‡Đ°Ņ‚Đ¸ĐŧĐĩŅ‚ŅŒŅŅ Đ´Đž ҁĐĩŅ€Đ˛ĐĩŅ€Đ° ҇ĐĩŅ€ĐĩС ҆ĐĩĐš URL, ĐēĐžĐģи виĐēĐžŅ€Đ¸ŅŅ‚ĐžĐ˛ŅƒŅ”Ņ‚ŅŒŅŅ вĐēаСаĐŊа Wi-Fi ĐŧĐĩŅ€ĐĩĐļа", + "location": "Đ ĐžĐˇŅ‚Đ°ŅˆŅƒĐ˛Đ°ĐŊĐŊŅ", "location_permission": "Đ”ĐžĐˇĐ˛Ņ–Đģ Đ´Đž ĐŧҖҁ҆ĐĩСĐŊĐ°Ņ…ĐžĐ´ĐļĐĩĐŊĐŊŅ", "location_permission_content": "ЊОй ĐŋĐĩŅ€ĐĩĐŧиĐēĐ°Ņ‚Đ¸ ĐŧĐĩŅ€ĐĩĐļŅ– ҃ Ņ„ĐžĐŊОвОĐŧ҃ Ņ€ĐĩĐļиĐŧŅ–, Immich ĐŧĐ°Ņ” СавĐļди ĐŧĐ°Ņ‚Đ¸ Đ´ĐžŅŅ‚ŅƒĐŋ Đ´Đž Ņ‚ĐžŅ‡ĐŊĐžŅ— ĐŗĐĩĐžĐģĐžĐēĐ°Ņ†Ņ–Ņ—, Ņ‰ĐžĐą ĐˇŅ‡Đ¸Ņ‚ŅƒĐ˛Đ°Ņ‚Đ¸ ĐŊĐ°ĐˇĐ˛Ņƒ Wi-Fi ĐŧĐĩŅ€ĐĩĐļŅ–", "location_picker_choose_on_map": "ĐžĐąŅ€Đ°Ņ‚Đ¸ ĐŊа ĐŧаĐŋŅ–", @@ -1294,8 +1325,17 @@ "loop_videos_description": "ĐŖĐ˛Ņ–ĐŧĐēĐŊŅƒŅ‚Đ¸ Ņ†Đ¸ĐēĐģҖ҇ĐŊĐĩ Đ˛Ņ–Đ´Ņ‚Đ˛ĐžŅ€ĐĩĐŊĐŊŅ Đ˛Ņ–Đ´ĐĩĐž.", "main_branch_warning": "Ви виĐēĐžŅ€Đ¸ŅŅ‚ĐžĐ˛ŅƒŅ”Ņ‚Đĩ вĐĩŅ€ŅŅ–ŅŽ Đ´ĐģŅ Ņ€ĐžĐˇŅ€ĐžĐąĐŊиĐēŅ–Đ˛; ĐŊĐ°ŅŅ‚Ņ–ĐšĐŊĐž Ņ€ĐĩĐēĐžĐŧĐĩĐŊĐ´ŅƒŅ”ĐŧĐž виĐēĐžŅ€Đ¸ŅŅ‚ĐžĐ˛ŅƒĐ˛Đ°Ņ‚Đ¸ Ņ€ĐĩĐģŅ–ĐˇĐŊ҃ вĐĩŅ€ŅŅ–ŅŽ!", "main_menu": "ГоĐģОвĐŊĐĩ ĐŧĐĩĐŊŅŽ", + "maintenance_description": "Immich ĐŋĐĩŅ€ĐĩвĐĩĐ´ĐĩĐŊĐž в Ņ€ĐĩĐļиĐŧ Ņ‚ĐĩŅ…ĐŊҖ҇ĐŊĐžĐŗĐž ĐžĐąŅĐģŅƒĐŗĐžĐ˛ŅƒĐ˛Đ°ĐŊĐŊŅ.", + "maintenance_end": "ЗавĐĩŅ€ŅˆĐ¸Ņ‚Đ¸ Ņ€ĐĩĐļиĐŧ Ņ‚ĐĩŅ…ĐŊҖ҇ĐŊĐžĐŗĐž ĐžĐąŅĐģŅƒĐŗĐžĐ˛ŅƒĐ˛Đ°ĐŊĐŊŅ", + "maintenance_end_error": "НĐĩ вдаĐģĐžŅŅ СавĐĩŅ€ŅˆĐ¸Ņ‚Đ¸ Ņ€ĐĩĐļиĐŧ ĐžĐąŅĐģŅƒĐŗĐžĐ˛ŅƒĐ˛Đ°ĐŊĐŊŅ.", + "maintenance_logged_in_as": "ĐĐ°Ņ€Đ°ĐˇŅ– ви Đ˛Đ˛Ņ–ĐšŅˆĐģи ŅĐē {user}", + "maintenance_title": "ĐĸиĐŧŅ‡Đ°ŅĐžĐ˛Đž ĐŊĐĩĐ´ĐžŅŅ‚ŅƒĐŋĐŊĐž", "make": "Đ’Đ¸Ņ€ĐžĐąĐŊиĐē", "manage_geolocation": "КĐĩŅ€ŅƒĐ˛Đ°Ņ‚Đ¸ ĐŧҖҁ҆ĐĩСĐŊĐ°Ņ…ĐžĐ´ĐļĐĩĐŊĐŊŅĐŧ", + "manage_media_access_rationale": "ĐĻĐĩĐš Đ´ĐžĐˇĐ˛Ņ–Đģ ĐŋĐžŅ‚Ņ€Ņ–ĐąĐĩĐŊ Đ´ĐģŅ ĐŊаĐģĐĩĐļĐŊĐžĐŗĐž ĐŋĐĩŅ€ĐĩĐŧҖ҉ĐĩĐŊĐŊŅ Ņ€ĐĩŅŅƒŅ€ŅŅ–Đ˛ Đ´Đž ĐēĐžŅˆĐ¸Đēа Ņ‚Đ° Ņ—Ņ… Đ˛Ņ–Đ´ĐŊОвĐģĐĩĐŊĐŊŅ С ĐŊŅŒĐžĐŗĐž.", + "manage_media_access_settings": "Đ’Ņ–Đ´ĐēŅ€Đ¸Ņ‚Đ¸ ĐŊаĐģĐ°ŅˆŅ‚ŅƒĐ˛Đ°ĐŊĐŊŅ", + "manage_media_access_subtitle": "ДозвоĐģŅŒŅ‚Đĩ ĐŋŅ€ĐžĐŗŅ€Đ°ĐŧŅ– Immich ĐēĐĩŅ€ŅƒĐ˛Đ°Ņ‚Đ¸ ĐŧĐĩĐ´Ņ–Đ°Ņ„Đ°ĐšĐģаĐŧи Ņ‚Đ° ĐŋĐĩŅ€ĐĩĐŧŅ–Ņ‰ŅƒĐ˛Đ°Ņ‚Đ¸ Ņ—Ņ….", + "manage_media_access_title": "Đ”ĐžŅŅ‚ŅƒĐŋ Đ´Đž ĐēĐĩŅ€ŅƒĐ˛Đ°ĐŊĐŊŅ ĐŧĐĩĐ´Ņ–Đ°", "manage_shared_links": "КĐĩŅ€ŅƒĐ˛Đ°ĐŊĐŊŅ ҁĐŋŅ–ĐģҌĐŊиĐŧи ĐŋĐžŅĐ¸ĐģаĐŊĐŊŅĐŧи", "manage_sharing_with_partners": "КĐĩŅ€ŅƒĐšŅ‚Đĩ ҁĐŋŅ–ĐģҌĐŊиĐŧ виĐēĐžŅ€Đ¸ŅŅ‚Đ°ĐŊĐŊŅĐŧ С ĐŋĐ°Ņ€Ņ‚ĐŊĐĩŅ€Đ°Đŧи", "manage_the_app_settings": "КĐĩŅ€ŅƒĐ˛Đ°ĐŊĐŊŅ ĐŊаĐģĐ°ŅˆŅ‚ŅƒĐ˛Đ°ĐŊĐŊŅĐŧи ĐŋŅ€ĐžĐŗŅ€Đ°Đŧи", @@ -1359,6 +1399,7 @@ "more": "Đ‘Ņ–ĐģҌ҈Đĩ", "move": "ПĐĩŅ€ĐĩĐŧŅ–ŅŅ‚Đ¸Ņ‚Đ¸", "move_off_locked_folder": "Đ’Đ¸ĐšŅ‚Đ¸ С ĐžŅĐžĐąĐ¸ŅŅ‚ĐžŅ— ĐŋаĐŋĐēи", + "move_to": "ПĐĩŅ€ĐĩĐŧŅ–ŅŅ‚Đ¸Ņ‚Đ¸ Đ´Đž", "move_to_lock_folder_action_prompt": "{count} дОдаĐŊĐž Đ´Đž ĐˇĐ°Ņ…Đ¸Ņ‰ĐĩĐŊĐžŅ— Ņ‚ĐĩĐēи", "move_to_locked_folder": "ПĐĩŅ€ĐĩĐŧŅ–ŅŅ‚Đ¸Ņ‚Đ¸ Đ´Đž ĐžŅĐžĐąĐ¸ŅŅ‚ĐžŅ— ĐŋаĐŋĐēи", "move_to_locked_folder_confirmation": "ĐĻŅ– Ņ„ĐžŅ‚Đž Ņ‚Đ° Đ˛Ņ–Đ´ĐĩĐž ĐąŅƒĐ´Đĩ видаĐģĐĩĐŊĐž ĐˇŅ– Đ˛ŅŅ–Ņ… аĐģŅŒĐąĐžĐŧŅ–Đ˛ Ņ– Ņ—Ņ… ĐŧĐžĐļĐŊа ĐąŅƒĐ´Đĩ ĐŋĐĩŅ€ĐĩĐŗĐģŅĐ´Đ°Ņ‚Đ¸ ĐģĐ¸ŅˆĐĩ в ĐžŅĐžĐąĐ¸ŅŅ‚Ņ–Đš ĐŋаĐŋ҆Җ", @@ -1388,6 +1429,7 @@ "new_pin_code": "Новий PIN-ĐēОд", "new_pin_code_subtitle": "Ви вĐŋĐĩŅ€ŅˆĐĩ ĐžŅ‚Ņ€Đ¸ĐŧŅƒŅ”Ņ‚Đĩ Đ´ĐžŅŅ‚ŅƒĐŋ Đ´Đž ĐžŅĐžĐąĐ¸ŅŅ‚ĐžŅ— ĐŋаĐŋĐēи. ĐĄŅ‚Đ˛ĐžŅ€Ņ–Ņ‚ŅŒ PIN-ĐēОд Đ´ĐģŅ ĐąĐĩСĐŋĐĩ҇ĐŊĐžĐŗĐž Đ´ĐžŅŅ‚ŅƒĐŋ҃ Đ´Đž ҆ҖҔҗ ŅŅ‚ĐžŅ€Ņ–ĐŊĐēи", "new_timeline": "Нова Ņ…Ņ€ĐžĐŊĐžĐģĐžĐŗŅ–Ņ", + "new_update": "НовĐĩ ĐžĐŊОвĐģĐĩĐŊĐŊŅ", "new_user_created": "ĐĄŅ‚Đ˛ĐžŅ€ĐĩĐŊĐž ĐŊĐžĐ˛ĐžĐŗĐž ĐēĐžŅ€Đ¸ŅŅ‚ŅƒĐ˛Đ°Ņ‡Đ°", "new_version_available": "ДОСĐĸĐŖĐŸĐĐ НОВА Đ’Đ•Đ ĐĄĐ†Đ¯", "newest_first": "ĐĄĐŋĐžŅ‡Đ°Ņ‚Đē҃ ĐŊĐžĐ˛Ņ–", @@ -1403,12 +1445,14 @@ "no_cast_devices_found": "ĐŸŅ€Đ¸ŅŅ‚Ņ€ĐžŅ— Đ´ĐģŅ Ņ‚Ņ€Đ°ĐŊҁĐģŅŅ†Ņ–Ņ— ĐŊĐĩ СĐŊаКдĐĩĐŊĐž", "no_checksum_local": "КоĐŊŅ‚Ņ€ĐžĐģҌĐŊа ҁ҃Đŧа ĐŊĐĩĐ´ĐžŅŅ‚ŅƒĐŋĐŊа – ĐŊĐĩĐŧĐžĐļĐģивО ĐžŅ‚Ņ€Đ¸ĐŧĐ°Ņ‚Đ¸ ĐģĐžĐēаĐģҌĐŊŅ– Ņ€ĐĩŅŅƒŅ€ŅĐ¸", "no_checksum_remote": "КоĐŊŅ‚Ņ€ĐžĐģҌĐŊа ҁ҃Đŧа ĐŊĐĩĐ´ĐžŅŅ‚ŅƒĐŋĐŊа – ĐŊĐĩĐŧĐžĐļĐģивО ĐžŅ‚Ņ€Đ¸ĐŧĐ°Ņ‚Đ¸ Đ˛Ņ–Đ´Đ´Đ°ĐģĐĩĐŊиК Ņ€ĐĩŅŅƒŅ€Ņ", + "no_devices": "НĐĩĐŧĐ°Ņ” Đ°Đ˛Ņ‚ĐžŅ€Đ¸ĐˇĐžĐ˛Đ°ĐŊĐ¸Ņ… ĐŋŅ€Đ¸ŅŅ‚Ņ€ĐžŅ—Đ˛", "no_duplicates_found": "Đ”ŅƒĐąĐģŅ–ĐēĐ°Ņ‚Ņ–Đ˛ ĐŊĐĩ Đ˛Đ¸ŅĐ˛ĐģĐĩĐŊĐž.", "no_exif_info_available": "Đ’Ņ–Đ´ŅŅƒŅ‚ĐŊŅ Ņ–ĐŊŅ„ĐžŅ€ĐŧĐ°Ņ†Ņ–Ņ ĐŋŅ€Đž exif", "no_explore_results_message": "ЗаваĐŊŅ‚Đ°ĐļŅƒĐšŅ‚Đĩ ĐąŅ–ĐģҌ҈Đĩ Ņ„ĐžŅ‚ĐžĐŗŅ€Đ°Ņ„Ņ–Đš, Ņ‰ĐžĐą ĐŊĐ°ŅĐžĐģОдĐļŅƒĐ˛Đ°Ņ‚Đ¸ŅŅ Đ˛Đ°ŅˆĐžŅŽ ĐēĐžĐģĐĩĐēŅ†Ņ–Ņ”ŅŽ.", "no_favorites_message": "Đ”ĐžĐ´Đ°Đ˛Đ°ĐšŅ‚Đĩ ҃ĐģŅŽĐąĐģĐĩĐŊŅ– Ņ„Đ°ĐšĐģи, Ņ‰ĐžĐą ŅˆĐ˛Đ¸Đ´ĐēĐž СĐŊĐ°Ņ…ĐžĐ´Đ¸Ņ‚Đ¸ Đ˛Đ°ŅˆŅ– ĐŊаКĐēŅ€Đ°Ņ‰Ņ– ĐˇĐžĐąŅ€Đ°ĐļĐĩĐŊĐŊŅ Ņ‚Đ° Đ˛Ņ–Đ´ĐĩĐž", "no_libraries_message": "ĐĄŅ‚Đ˛ĐžŅ€Ņ–Ņ‚ŅŒ СОвĐŊŅ–ŅˆĐŊŅŽ ĐąŅ–ĐąĐģŅ–ĐžŅ‚ĐĩĐē҃ Đ´ĐģŅ ĐŋĐĩŅ€ĐĩĐŗĐģŅĐ´Ņƒ Ņ„ĐžŅ‚ĐžĐŗŅ€Đ°Ņ„Ņ–Đš Ņ– Đ˛Ņ–Đ´ĐĩĐž", "no_local_assets_found": "З Ņ†Ņ–Ņ”ŅŽ ĐēĐžĐŊŅ‚Ņ€ĐžĐģҌĐŊĐžŅŽ ҁ҃ĐŧĐžŅŽ ĐŊĐĩ СĐŊаКдĐĩĐŊĐž ĐģĐžĐēаĐģҌĐŊĐ¸Ņ… Ņ€ĐĩŅŅƒŅ€ŅŅ–Đ˛", + "no_location_set": "ĐœŅ–ŅŅ†ĐĩСĐŊĐ°Ņ…ĐžĐ´ĐļĐĩĐŊĐŊŅ ĐŊĐĩ Đ˛ŅŅ‚Đ°ĐŊОвĐģĐĩĐŊĐž", "no_locked_photos_message": "Đ¤ĐžŅ‚Đž Ņ‚Đ° Đ˛Ņ–Đ´ĐĩĐž в ĐžŅĐžĐąĐ¸ŅŅ‚Ņ–Đš ĐŋаĐŋ҆Җ ĐŋŅ€Đ¸Ņ…ĐžĐ˛Đ°ĐŊŅ– Ņ– ĐŊĐĩ Đ˛Ņ–Đ´ĐžĐąŅ€Đ°ĐļĐ°ŅŽŅ‚ŅŒŅŅ ĐŋŅ–Đ´ Ņ‡Đ°Ņ ĐŋĐĩŅ€ĐĩĐŗĐģŅĐ´Ņƒ Ņ‡Đ¸ ĐŋĐžŅˆŅƒĐē҃ ҃ Đ˛Đ°ŅˆŅ–Đš ĐąŅ–ĐąĐģŅ–ĐžŅ‚Đĩ҆Җ.", "no_name": "БĐĩС Ņ–ĐŧĐĩĐŊŅ–", "no_notifications": "НĐĩĐŧĐ°Ņ” ҁĐŋĐžĐ˛Ņ–Ņ‰ĐĩĐŊҌ", @@ -1419,6 +1463,7 @@ "no_results_description": "ĐĄĐŋŅ€ĐžĐąŅƒĐšŅ‚Đĩ виĐēĐžŅ€Đ¸ŅŅ‚ĐžĐ˛ŅƒĐ˛Đ°Ņ‚Đ¸ ŅĐ¸ĐŊĐžĐŊŅ–Đŧ айО ĐąŅ–ĐģҌ҈ ĐˇĐ°ĐŗĐ°ĐģҌĐŊĐĩ ĐēĐģŅŽŅ‡ĐžĐ˛Đĩ ҁĐģОвО", "no_shared_albums_message": "ĐĄŅ‚Đ˛ĐžŅ€Ņ–Ņ‚ŅŒ аĐģŅŒĐąĐžĐŧ, Ņ‰ĐžĐą Đ´Ņ–ĐģĐ¸Ņ‚Đ¸ŅŅ Ņ„ĐžŅ‚ĐžĐŗŅ€Đ°Ņ„Ņ–ŅĐŧи Ņ‚Đ° Đ˛Ņ–Đ´ĐĩĐž С ĐģŅŽĐ´ŅŒĐŧи ҃ Đ˛Đ°ŅˆŅ–Đš ĐŧĐĩŅ€ĐĩĐļŅ–", "no_uploads_in_progress": "НĐĩĐŧĐ°Ņ” аĐēŅ‚Đ¸Đ˛ĐŊĐ¸Ņ… СаваĐŊŅ‚Đ°ĐļĐĩĐŊҌ", + "not_allowed": "НĐĩ дОСвОĐģĐĩĐŊĐž", "not_available": "НĐĩĐŧĐ°Ņ” даĐŊĐ¸Ņ…", "not_in_any_album": "ĐŖ ĐļОдĐŊĐžĐŧ҃ аĐģŅŒĐąĐžĐŧŅ–", "not_selected": "НĐĩ Đ˛Đ¸ĐąŅ€Đ°ĐŊĐž", @@ -1435,6 +1480,7 @@ "oauth": "OAuth", "obtainium_configurator": "КоĐŊŅ„Ņ–ĐŗŅƒŅ€Đ°Ņ‚ĐžŅ€ Obtainium", "obtainium_configurator_instructions": "ВиĐēĐžŅ€Đ¸ŅŅ‚ĐžĐ˛ŅƒĐšŅ‚Đĩ Obtainium Đ´ĐģŅ Đ˛ŅŅ‚Đ°ĐŊОвĐģĐĩĐŊĐŊŅ Ņ‚Đ° ĐžĐŊОвĐģĐĩĐŊĐŊŅ ĐŋŅ€ĐžĐŗŅ€Đ°Đŧи Android ĐąĐĩСĐŋĐžŅĐĩŅ€ĐĩĐ´ĐŊŅŒĐž С Ņ€ĐĩĐģŅ–ĐˇŅƒ Immich ĐŊа GitHub. ĐĄŅ‚Đ˛ĐžŅ€Ņ–Ņ‚ŅŒ ĐēĐģŅŽŅ‡ API Ņ‚Đ° вийĐĩŅ€Ņ–Ņ‚ŅŒ Đ˛Đ°Ņ€Ņ–Đ°ĐŊŅ‚, Ņ‰ĐžĐą ŅŅ‚Đ˛ĐžŅ€Đ¸Ņ‚Đ¸ ĐŋĐžŅĐ¸ĐģаĐŊĐŊŅ ĐŊа ĐēĐžĐŊŅ„Ņ–ĐŗŅƒŅ€Đ°Ņ†Ņ–ŅŽ Obtainium", + "ocr": "OCR", "official_immich_resources": "ĐžŅ„Ņ–Ņ†Ņ–ĐšĐŊŅ– Ņ€ĐĩŅŅƒŅ€ŅĐ¸ Immich", "offline": "ĐžŅ„ĐģаКĐŊ", "offset": "Đ—ŅŅƒĐ˛", @@ -1528,6 +1574,8 @@ "photos_count": "{count, plural, one {{count, number} Đ¤ĐžŅ‚ĐžĐŗŅ€Đ°Ņ„Ņ–Ņ} few {{count, number} Đ¤ĐžŅ‚ĐžĐŗŅ€Đ°Ņ„Ņ–Ņ—} many {{count, number} Đ¤ĐžŅ‚ĐžĐŗŅ€Đ°Ņ„Ņ–Đš} other {{count, number} Đ¤ĐžŅ‚ĐžĐŗŅ€Đ°Ņ„Ņ–Đš}}", "photos_from_previous_years": "Đ¤ĐžŅ‚ĐžĐŗŅ€Đ°Ņ„Ņ–Ņ— ĐŧиĐŊ҃ĐģĐ¸Ņ… Ņ€ĐžĐēŅ–Đ˛ ҃ ҆ĐĩĐš Đ´ĐĩĐŊҌ", "pick_a_location": "ВибĐĩŅ€Ņ–Ņ‚ŅŒ ĐŧҖҁ҆Đĩ Ņ€ĐžĐˇŅ‚Đ°ŅˆŅƒĐ˛Đ°ĐŊĐŊŅ", + "pick_custom_range": "ĐšĐžŅ€Đ¸ŅŅ‚ŅƒĐ˛Đ°Ņ†ŅŒĐēиК Đ´Ņ–Đ°ĐŋаСОĐŊ", + "pick_date_range": "ВибĐĩŅ€Ņ–Ņ‚ŅŒ Đ´Ņ–Đ°ĐŋаСОĐŊ Đ´Đ°Ņ‚", "pin_code_changed_successfully": "PIN-ĐēОд ҃ҁĐŋŅ–ŅˆĐŊĐž СĐŧŅ–ĐŊĐĩĐŊĐž", "pin_code_reset_successfully": "PIN-ĐēОд ҃ҁĐŋŅ–ŅˆĐŊĐž ҁĐēиĐŊŅƒŅ‚Đž", "pin_code_setup_successfully": "PIN-ĐēОд ҃ҁĐŋŅ–ŅˆĐŊĐž ĐŊаĐģĐ°ŅˆŅ‚ĐžĐ˛Đ°ĐŊĐž", @@ -1678,6 +1726,7 @@ "reset_sqlite_confirmation": "Ви вĐŋĐĩвĐŊĐĩĐŊŅ–, Ņ‰Đž Ņ…ĐžŅ‡ĐĩŅ‚Đĩ ĐžŅ‡Đ¸ŅŅ‚Đ¸Ņ‚Đ¸ ĐąĐ°ĐˇŅƒ даĐŊĐ¸Ņ… SQLite? ĐŸŅ–ŅĐģŅ Ņ†ŅŒĐžĐŗĐž ĐŋĐžŅ‚Ņ€Ņ–ĐąĐŊĐž ĐąŅƒĐ´Đĩ Đ˛Đ¸ĐšŅ‚Đ¸ С аĐēĐ°ŅƒĐŊŅ‚Đ° Ņ‚Đ° ŅƒĐ˛Ņ–ĐšŅ‚Đ¸ СĐŊĐžĐ˛Ņƒ Đ´ĐģŅ ĐŋĐžĐ˛Ņ‚ĐžŅ€ĐŊĐžŅ— ŅĐ¸ĐŊŅ…Ņ€ĐžĐŊŅ–ĐˇĐ°Ņ†Ņ–Ņ— даĐŊĐ¸Ņ…", "reset_sqlite_success": "Đ‘Đ°ĐˇŅƒ даĐŊĐ¸Ņ… SQLite ҃ҁĐŋŅ–ŅˆĐŊĐž ĐžŅ‡Đ¸Ņ‰ĐĩĐŊĐž", "reset_to_default": "ĐĄĐēидаĐŊĐŊŅ Đ´Đž ĐŊаĐģĐ°ŅˆŅ‚ŅƒĐ˛Đ°ĐŊҌ Са СаĐŧĐžĐ˛Ņ‡ŅƒĐ˛Đ°ĐŊĐŊŅĐŧ", + "resolution": "Đ ĐžĐˇĐ´Ņ–ĐģҌĐŊа Đ—Đ´Đ°Ņ‚ĐŊŅ–ŅŅ‚ŅŒ", "resolve_duplicates": "ĐŖŅŅƒĐŊŅƒŅ‚Đ¸ Đ´ŅƒĐąĐģŅ–ĐēĐ°Ņ‚Đ¸", "resolved_all_duplicates": "ĐŖŅŅ– Đ´ŅƒĐąĐģŅ–ĐēĐ°Ņ‚Đ¸ ҃ҁ҃ĐŊŅƒŅ‚Đž", "restore": "Đ’Ņ–Đ´ĐŊĐžĐ˛Đ¸Ņ‚Đ¸", @@ -1696,6 +1745,7 @@ "running": "ВиĐēĐžĐŊŅƒŅ”Ņ‚ŅŒŅŅ", "save": "ЗбĐĩŅ€ĐĩĐŗŅ‚Đ¸", "save_to_gallery": "ЗбĐĩŅ€ĐĩĐŗŅ‚Đ¸ в ĐŗĐ°ĐģĐĩŅ€ĐĩŅŽ", + "saved": "ЗбĐĩŅ€ĐĩĐļĐĩĐŊĐž", "saved_api_key": "ЗбĐĩŅ€ĐĩĐļĐĩĐŊŅ– ĐēĐģŅŽŅ‡Ņ– API", "saved_profile": "ĐŸŅ€ĐžŅ„Ņ–ĐģҌ СйĐĩŅ€ĐĩĐļĐĩĐŊĐž", "saved_settings": "НаĐģĐ°ŅˆŅ‚ŅƒĐ˛Đ°ĐŊĐŊŅ СйĐĩŅ€ĐĩĐļĐĩĐŊĐž", @@ -1712,6 +1762,8 @@ "search_by_description_example": "ĐŸĐžŅ…Ņ–Đ´ĐŊиК Đ´ĐĩĐŊҌ ҃ ХаĐŋŅ–", "search_by_filename": "ĐŸĐžŅˆŅƒĐē Са ĐŊĐ°ĐˇĐ˛ĐžŅŽ айО Ņ€ĐžĐˇŅˆĐ¸Ņ€ĐĩĐŊĐŊŅĐŧ Ņ„Đ°ĐšĐģ҃", "search_by_filename_example": "НаĐŋŅ€Đ¸ĐēĐģад, IMG_1234.JPG айО PNG", + "search_by_ocr": "ĐŸĐžŅˆŅƒĐē Са OCR", + "search_by_ocr_example": "Đ›Đ°Ņ‚Ņ‚Đĩ", "search_camera_lens_model": "ĐŸĐžŅˆŅƒĐē ĐŧОдĐĩĐģŅ– ĐžĐąâ€™Ņ”ĐēŅ‚Đ¸Đ˛Đ°â€Ļ", "search_camera_make": "ĐŸĐžŅˆŅƒĐē Đ˛Đ¸Ņ€ĐžĐąĐŊиĐēа ĐēаĐŧĐĩŅ€Đ¸...", "search_camera_model": "ĐŸĐžŅˆŅƒĐē ĐŧОдĐĩĐģŅ– ĐēаĐŧĐĩŅ€Đ¸...", @@ -1729,6 +1781,7 @@ "search_filter_location_title": "ВибĐĩŅ€Ņ–Ņ‚ŅŒ ĐŧҖҁ҆ĐĩСĐŊĐ°Ņ…ĐžĐ´ĐļĐĩĐŊĐŊŅ", "search_filter_media_type": "ĐĸиĐŋ ĐŧĐĩĐ´Ņ–Đ°", "search_filter_media_type_title": "ВибĐĩŅ€Ņ–Ņ‚ŅŒ Ņ‚Đ¸Đŋ ĐŧĐĩĐ´Ņ–Đ°", + "search_filter_ocr": "ĐŸĐžŅˆŅƒĐē Са OCR", "search_filter_people_title": "ВибĐĩŅ€Ņ–Ņ‚ŅŒ ĐģŅŽĐ´ĐĩĐš", "search_for": "Đ¨ŅƒĐēĐ°Ņ‚Đ¸ Đ´ĐģŅ", "search_for_existing_person": "ĐŸĐžŅˆŅƒĐē ҖҁĐŊŅƒŅŽŅ‡ĐžŅ— ĐžŅĐžĐąĐ¸", @@ -1790,6 +1843,8 @@ "server_offline": "ĐĄĐĩŅ€Đ˛ĐĩŅ€ ĐžŅ„ĐģаКĐŊ", "server_online": "ĐĄĐĩŅ€Đ˛ĐĩŅ€ ĐžĐŊĐģаКĐŊ", "server_privacy": "КоĐŊŅ„Ņ–Đ´ĐĩĐŊŅ†Ņ–ĐšĐŊŅ–ŅŅ‚ŅŒ ҁĐĩŅ€Đ˛ĐĩŅ€Đ°", + "server_restarting_description": "ĐĻŅ ŅŅ‚ĐžŅ€Ņ–ĐŊĐēа ĐžĐŊĐžĐ˛Đ¸Ņ‚ŅŒŅŅ ĐŧĐ¸Ņ‚Ņ‚Ņ”Đ˛Đž.", + "server_restarting_title": "ĐĄĐĩŅ€Đ˛ĐĩŅ€ ĐŋĐĩŅ€ĐĩСаваĐŊŅ‚Đ°ĐļŅƒŅ”Ņ‚ŅŒŅŅ", "server_stats": "ĐĄŅ‚Đ°Ņ‚Đ¸ŅŅ‚Đ¸Đēа ҁĐĩŅ€Đ˛ĐĩŅ€Đ°", "server_update_available": "ОĐŊОвĐģĐĩĐŊĐŊŅ ҁĐĩŅ€Đ˛ĐĩŅ€Đ° Đ´ĐžŅŅ‚ŅƒĐŋĐŊĐĩ", "server_version": "ВĐĩŅ€ŅŅ–Ņ ҁĐĩŅ€Đ˛ĐĩŅ€Đ°", @@ -1913,6 +1968,7 @@ "show_slideshow_transition": "ПоĐēĐ°ĐˇĐ°Ņ‚Đ¸ ĐŋĐĩŅ€ĐĩŅ…Ņ–Đ´ ҁĐģаКд-ŅˆĐžŅƒ", "show_supporter_badge": "ЗĐŊĐ°Ņ‡ĐžĐē ĐŋŅ–Đ´Ņ‚Ņ€Đ¸ĐŧĐēи", "show_supporter_badge_description": "ПоĐēĐ°ĐˇĐ°Ņ‚Đ¸ СĐŊĐ°Ņ‡ĐžĐē ĐŋŅ–Đ´Ņ‚Ņ€Đ¸ĐŧĐēи", + "show_text_recognition": "ПоĐēĐ°ĐˇĐ°Ņ‚Đ¸ Ņ€ĐžĐˇĐŋŅ–ĐˇĐŊаваĐŊĐŊŅ Ņ‚ĐĩĐēŅŅ‚Ņƒ", "show_text_search_menu": "ПоĐēĐ°ĐˇĐ°Ņ‚Đ¸ ĐŧĐĩĐŊŅŽ Ņ‚ĐĩĐēŅŅ‚ĐžĐ˛ĐžĐŗĐž ĐŋĐžŅˆŅƒĐē҃", "shuffle": "ПĐĩŅ€ĐĩĐŧŅ–ŅˆĐ°Ņ‚Đ¸", "sidebar": "Đ‘Ņ–Ņ‡ĐŊа ĐŋаĐŊĐĩĐģҌ", @@ -1983,6 +2039,7 @@ "tags": "ĐĸĐĩĐŗĐ¸", "tap_to_run_job": "ĐĸĐžŅ€ĐēĐŊŅ–Ņ‚ŅŒŅŅ, Ņ‰ĐžĐą СаĐŋŅƒŅŅ‚Đ¸Ņ‚Đ¸ СавдаĐŊĐŊŅ", "template": "ШайĐģĐžĐŊ", + "text_recognition": "РОСĐŋŅ–ĐˇĐŊаваĐŊĐŊŅ Ņ‚ĐĩĐēŅŅ‚Ņƒ", "theme": "ĐĸĐĩĐŧа", "theme_selection": "Đ’Đ¸ĐąŅ–Ņ€ Ņ‚ĐĩĐŧи", "theme_selection_description": "ĐĐ˛Ņ‚ĐžĐŧĐ°Ņ‚Đ¸Ņ‡ĐŊĐž Đ˛ŅŅ‚Đ°ĐŊОвĐģŅŽĐ˛Đ°Ņ‚Đ¸ Ņ‚ĐĩĐŧ҃ ĐŊа ŅĐ˛Ņ–Ņ‚Đģ҃ айО Ņ‚ĐĩĐŧĐŊ҃ СаĐģĐĩĐļĐŊĐž Đ˛Ņ–Đ´ ŅĐ¸ŅŅ‚ĐĩĐŧĐŊĐ¸Ņ… ĐŊаĐģĐ°ŅˆŅ‚ŅƒĐ˛Đ°ĐŊҌ Đ˛Đ°ŅˆĐžĐŗĐž ĐąŅ€Đ°ŅƒĐˇĐĩŅ€Đ°", @@ -2001,7 +2058,9 @@ "theme_setting_three_stage_loading_title": "ĐŖĐ˛Ņ–ĐŧĐēĐŊŅƒŅ‚Đ¸ Ņ‚Ņ€Đ¸ĐĩŅ‚Đ°ĐŋĐŊĐĩ СаваĐŊŅ‚Đ°ĐļĐĩĐŊĐŊŅ", "they_will_be_merged_together": "ВоĐŊи ĐąŅƒĐ´ŅƒŅ‚ŅŒ Ой'Ņ”Đ´ĐŊаĐŊŅ– Ņ€Đ°ĐˇĐžĐŧ", "third_party_resources": "Đ ĐĩŅŅƒŅ€ŅĐ¸ ҂ҀĐĩ҂Җ҅ ŅŅ‚ĐžŅ€Ņ–ĐŊ", + "time": "Đ§Đ°Ņ", "time_based_memories": "ĐĄĐŋĐžĐŗĐ°Đ´Đ¸, Ņ‰Đž ĐąĐ°ĐˇŅƒŅŽŅ‚ŅŒŅŅ ĐŊа Ņ‡Đ°ŅŅ–", + "time_based_memories_duration": "ĐšŅ–ĐģҌĐēŅ–ŅŅ‚ŅŒ ҁĐĩĐē҃ĐŊĐ´ Đ´ĐģŅ Đ˛Ņ–Đ´ĐžĐąŅ€Đ°ĐļĐĩĐŊĐŊŅ ĐēĐžĐļĐŊĐžĐŗĐž ĐˇĐžĐąŅ€Đ°ĐļĐĩĐŊĐŊŅ.", "timeline": "ĐĨŅ€ĐžĐŊĐžĐģĐžĐŗŅ–Ņ", "timezone": "Đ§Đ°ŅĐžĐ˛Đ¸Đš ĐŋĐžŅŅ", "to_archive": "ĐŅ€Ņ…Ņ–Đ˛", @@ -2142,6 +2201,7 @@ "welcome": "Đ›Đ°ŅĐēавО ĐŋŅ€ĐžŅĐ¸ĐŧĐž", "welcome_to_immich": "Đ›Đ°ŅĐēавО ĐŋŅ€ĐžŅĐ¸ĐŧĐž Đ´Đž Immich", "wifi_name": "Назва Wi-Fi", + "workflow": "Đ ĐžĐąĐžŅ‡Đ¸Đš ĐŋŅ€ĐžŅ†Đĩҁ", "wrong_pin_code": "НĐĩĐŋŅ€Đ°Đ˛Đ¸ĐģҌĐŊиК PIN-ĐēОд", "year": "Đ Ņ–Đē", "years_ago": "{years, plural, one {# ҀҖĐē} few {# Ņ€ĐžĐēи} many {# Ņ€ĐžĐēŅ–Đ˛} other {# Ņ€ĐžĐēŅ–Đ˛}} Ņ‚ĐžĐŧ҃", diff --git a/i18n/ur.json b/i18n/ur.json index 357d0b6304..6d6c5232e9 100644 --- a/i18n/ur.json +++ b/i18n/ur.json @@ -17,7 +17,6 @@ "add_birthday": "ØŗØ§Ų„Ú¯ØąÛ Ø´Ø§Ų…Ų„ ÚŠØąÛŒÚē", "add_endpoint": "Ø§ÛŒŲ†Úˆ ŲžŲˆØ§ØĻŲ†Ųš Ø¯ØąØŦ ÚŠØąÛŒÚē", "add_exclusion_pattern": "ØŽØ§ØąØŦ ÚŠØąŲ†Û’ ڊا Ų†Ų…ŲˆŲ†Û Ø´Ø§Ų…Ų„ ÚŠØąÛŒÚē", - "add_import_path": "Ø¯ØąØĸŲ…Ø¯ ڊا ØąØ§ØŗØĒہ Ø´Ø§Ų…Ų„ ÚŠØąÛŒÚē", "add_location": "ØŦگہ Ø¯ØąØŦ ÚŠØąÛŒÚē", "add_more_users": "Ų…Ø˛ÛŒØ¯ ØĩØ§ØąŲÛŒŲ† Ø´Ø§Ų…Ų„ ÚŠØąÛŒÚē", "add_partner": "ØŗØ§ØĒÚžÛŒ Ø´Ø§Ų…Ų„ ÚŠØąÛŒÚē", diff --git a/i18n/uz.json b/i18n/uz.json new file mode 100644 index 0000000000..0967ef424b --- /dev/null +++ b/i18n/uz.json @@ -0,0 +1 @@ +{} diff --git a/i18n/vi.json b/i18n/vi.json index ad584d7155..00c46a5baf 100644 --- a/i18n/vi.json +++ b/i18n/vi.json @@ -8,7 +8,7 @@ "actions": "hành đáģ™ng", "active": "Đang hoáēĄt đáģ™ng", "activity": "HoáēĄt đáģ™ng", - "activity_changed": "HoáēĄt đáģ™ng Ä‘ÃŖ đưáģŖc {enabled, select, true {báē­t} other {táē¯t}}", + "activity_changed": "HoáēĄt đáģ™ng Ä‘ÃŖ đưáģŖc {báē­t, cháģn, báē­t khÃĄc {táē¯t}}", "add": "ThÃĒm", "add_a_description": "ThÃĒm mô táēŖ", "add_a_location": "ThÃĒm đáģ‹a điáģƒm", @@ -17,7 +17,6 @@ "add_birthday": "ThÃĒm ngày sinh", "add_endpoint": "ThÃĒm endpoint", "add_exclusion_pattern": "ThÃĒm quy táē¯c loáēĄi tráģĢ", - "add_import_path": "ThÃĒm đưáģng dáēĢn nháē­p", "add_location": "ThÃĒm đáģ‹a điáģƒm", "add_more_users": "ThÃĒm ngưáģi dÚng", "add_partner": "ThÃĒm ngưáģi thÃĸn", @@ -31,6 +30,7 @@ "add_to_album_toggle": "Báē­t táē¯t tÚy cháģn cho {album}", "add_to_albums": "ThÃĒm vào albums", "add_to_albums_count": "ÄÃŖ thÃĒm {count} vào albums", + "add_to_bottom_bar": "ThÃĒm vào", "add_to_shared_album": "ThÃĒm vào album chia sáēģ", "add_url": "ThÃĒm URL", "added_to_archive": "ÄÃŖ lưu tráģ¯", @@ -48,6 +48,9 @@ "backup_database": "TáēĄo báēŖn sao lưu CSDL", "backup_database_enable_description": "Báē­t sao lưu cÆĄ sáģŸ dáģ¯ liáģ‡u", "backup_keep_last_amount": "Sáģ‘ lưáģŖng cÃĄc báēŖn sao lưu CSDL trưáģ›c Ä‘Ãŗ đưáģŖc giáģ¯ láēĄi", + "backup_onboarding_footer": "Đáģƒ biáēŋt thÃĒm thông tin váģ sao lưu Immich, hÃŖy xem hưáģ›ng dáēĢn.", + "backup_onboarding_parts_title": "PhÆ°ÆĄng phÃĄp sao lưu 3-2-1 bao gáģ“m:", + "backup_onboarding_title": "Sao lưu", "backup_settings": "Cài đáēˇt sao lưu cÆĄ sáģŸ dáģ¯ liáģ‡u", "backup_settings_description": "QuáēŖn lÃŊ cài đáēˇt sao lưu CSDL.", "cleared_jobs": "ÄÃŖ xoÃĄ cÃĄc tÃĄc váģĨ: {job}", @@ -103,7 +106,6 @@ "jobs_failed": "{jobCount, plural, other {# tÃĄc váģĨ báģ‹ tháēĨt báēĄi}}", "library_created": "ÄÃŖ táēĄo thư viáģ‡n: {library}", "library_deleted": "Thư viáģ‡n Ä‘ÃŖ báģ‹ xoÃĄ", - "library_import_path_description": "Cháģn thư máģĨc đáģƒ nháē­p. áģ¨ng dáģĨng sáēŊ quÊt táēĨt cáēŖ hÃŦnh áēŖnh và video trong thư máģĨc này bao gáģ“m cÃĄc thư máģĨc con.", "library_scanning": "QuÊt đáģ‹nh káģŗ", "library_scanning_description": "CáēĨu hÃŦnh quÊt thư viáģ‡n đáģ‹nh káģŗ", "library_scanning_enable_description": "Báē­t quÊt thư viáģ‡n đáģ‹nh káģŗ", @@ -116,6 +118,7 @@ "logging_enable_description": "Báē­t ghi nháē­t kÃŊ", "logging_level_description": "Khi đưáģŖc báē­t, thiáēŋt láē­p máģŠc ghi nháē­t kÃŊ.", "logging_settings": "Ghi nháē­t kÃŊ", + "machine_learning_availability_checks_description": "Táģą Ä‘áģ™ng phÃĄt hiáģ‡n và ưu tiÃĒn mÃĄy cháģ§ háģc mÃĄy kháēŖ dáģĨng", "machine_learning_clip_model": "Mô hÃŦnh CLIP", "machine_learning_clip_model_description": "TÃĒn cáģ§a mô hÃŦnh CLIP đưáģŖc liáģ‡t kÃĒ táēĄi đÃĸy. BáēĄn cáē§n cháēĄy láēĄi tÃĄc váģĨ \"TÃŦm kiáēŋm thông minh\" cho táēĨt cáēŖ hÃŦnh áēŖnh sau khi thay đáģ•i mô hÃŦnh.", "machine_learning_duplicate_detection": "PhÃĄt hiáģ‡n TrÚng láēˇp", @@ -138,6 +141,12 @@ "machine_learning_min_detection_score_description": "MáģŠc điáģƒm tin cáē­y táģ‘i thiáģƒu đáģƒ phÃĄt hiáģ‡n khuôn máēˇt, táģĢ 0 đáēŋn 1. GiÃĄ tráģ‹ càng tháēĨp, nhiáģu khuôn máēˇt sáēŊ đưáģŖc phÃĄt hiáģ‡n nhưng cÃŗ tháģƒ tăng kháēŖ năng phÃĄt hiáģ‡n sai.", "machine_learning_min_recognized_faces": "Sáģ‘ khuôn máēˇt táģ‘i thiáģƒu đáģƒ nháē­n dáēĄng", "machine_learning_min_recognized_faces_description": "Sáģ‘ khuôn máēˇt táģ‘i thiáģƒu cáē§n nháē­n dáēĄng đáģƒ táēĄo thành máģ™t ngưáģi. Tăng sáģ‘ lưáģŖng này sáēŊ làm cho Nháē­n dáēĄng khuôn máēˇt chính xÃĄc hÆĄn, nhưng sáēŊ tăng kháēŖ năng máģ™t khuôn máēˇt không đưáģŖc gÃĄn cho ngưáģi phÚ háģŖp.", + "machine_learning_ocr_description": "DÚng háģc mÃĄy đáģƒ nháē­n diáģ‡n cháģ¯ trong áēŖnh", + "machine_learning_ocr_enabled": "Báē­t OCR", + "machine_learning_ocr_enabled_description": "Náēŋu táē¯t, cháģ¯ viáēŋt trong áēŖnh sáēŊ không đưáģŖc nháē­n diáģ‡n.", + "machine_learning_ocr_max_resolution": "Đáģ™ phÃĸn giáēŖi táģ‘i đa", + "machine_learning_ocr_min_detection_score_description": "MáģŠc điáģƒm tin cáē­y táģ‘i thiáģƒu đáģƒ phÃĄt hiáģ‡n cháģ¯ viáēŋt, táģĢ 0 đáēŋn 1. GiÃĄ tráģ‹ càng tháēĨp, càng nhiáģu cháģ¯ viáēŋt sáēŊ đưáģŖc phÃĄt hiáģ‡n nhưng cÃŗ tháģƒ tăng kháēŖ năng phÃĄt hiáģ‡n sai (dÆ°ÆĄng tính giáēŖ).", + "machine_learning_ocr_model": "Mô hÃŦnh OCR", "machine_learning_settings": "Cài đáēˇt Háģc mÃĄy", "machine_learning_settings_description": "QuáēŖn lÃŊ cÃĄc tính năng và cài đáēˇt háģc mÃĄy", "machine_learning_smart_search": "TÃŦm kiáēŋm Thông minh", @@ -170,6 +179,9 @@ "metadata_settings_description": "QuáēŖn lÃŊ cài đáēˇt Metadata", "migration_job": "Di chuyáģƒn dáģ¯ liáģ‡u", "migration_job_description": "Di chuyáģƒn hÃŦnh thu nháģ cáģ§a cÃĄc áēŖnh và khuôn máēˇt sang cáēĨu trÃēc thư máģĨc máģ›i", + "nightly_tasks_cluster_faces_setting_description": "CháēĄy nháē­n diáģ‡n khuôn máēˇt trÃĒn nháģ¯ng khuôn máēˇt máģ›i đưáģŖc phÃĄt hiáģ‡n", + "nightly_tasks_settings": "Cài đáēˇt cÃĄc nhiáģ‡m váģĨ hàng đÃĒm", + "nightly_tasks_settings_description": "QuáēŖn lÃŊ cÃĄc nhiáģ‡m váģĨ hàng đÃĒm", "no_paths_added": "Không cÃŗ đưáģng dáēĢn nào đưáģŖc thÃĒm vào", "no_pattern_added": "Không cÃŗ quy táē¯c nào đưáģŖc thÃĒm vào", "note_apply_storage_label_previous_assets": "Lưu ÃŊ: Đáģƒ ÃĄp dáģĨng NhÃŖn lưu tráģ¯ cho náģ™i dung Ä‘ÃŖ táēŖi lÃĒn trưáģ›c Ä‘Ãŗ, hÃŖy cháēĄy", @@ -367,6 +379,7 @@ "advanced_settings_prefer_remote_title": "Ưu tiÃĒn áēŖnh táģĢ mÃĄy cháģ§", "advanced_settings_proxy_headers_subtitle": "XÃĄc đáģ‹nh cÃĄc tiÃĒu đáģ proxy Immich sáēŊ gáģ­i kèm máģ—i yÃĒu cáē§u máēĄng", "advanced_settings_proxy_headers_title": "TiÃĒu đáģ proxy", + "advanced_settings_readonly_mode_title": "Cháēŋ đáģ™ cháģ‰ Ä‘áģc", "advanced_settings_self_signed_ssl_subtitle": "Báģ qua xÃĄc minh cháģŠng cháģ‰ SSL cho mÃĄy cháģ§ cuáģ‘i. YÃĒu cáē§u cho cháģŠng cháģ‰ táģą kÃŊ.", "advanced_settings_self_signed_ssl_title": "Cho phÊp cháģŠng cháģ‰ SSL táģą kÃŊ", "advanced_settings_sync_remote_deletions_subtitle": "Táģą Ä‘áģ™ng xÃŗa hoáēˇc khôi pháģĨc dáģ¯ liáģ‡u trÃĒn thiáēŋt báģ‹ này khi báēĄn thao tÃĄc trÃĒn web", @@ -547,6 +560,7 @@ "backup_controller_page_turn_on": "Báē­t sao lưu khi máģŸ áģŠng dáģĨng", "backup_controller_page_uploading_file_info": "Thông tin táģ‡p đang táēŖi lÃĒn", "backup_err_only_album": "Không tháģƒ xÃŗa album duy nháēĨt", + "backup_error_sync_failed": "Đáģ“ng báģ™ tháēĨt báēĄi. Không tháģƒ tiáēŋn hành sao lưu.", "backup_info_card_assets": "áēŖnh", "backup_manual_cancelled": "ÄÃŖ háģ§y", "backup_manual_in_progress": "Đang táēŖi lÃĒn. Vui lÃ˛ng tháģ­ láēĄi sau", @@ -715,6 +729,7 @@ "date_of_birth_saved": "Ngày sinh Ä‘ÃŖ đưáģŖc lưu thành công", "date_range": "KhoáēŖng tháģi gian", "day": "Ngày", + "days": "Ngày", "deduplicate_all": "XÃŗa táēĨt cáēŖ máģĨc trÚng láēˇp", "deduplication_criteria_1": "Kích thưáģ›c hÃŦnh áēŖnh theo byte", "deduplication_criteria_2": "Sáģ‘ lưáģŖng dáģ¯ liáģ‡u EXIF", @@ -797,8 +812,6 @@ "edit_description_prompt": "Vui lÃ˛ng cháģn máģ™t mô táēŖ máģ›i:", "edit_exclusion_pattern": "Cháģ‰nh sáģ­a quy táē¯c loáēĄi tráģĢ", "edit_faces": "Cháģ‰nh sáģ­a khuôn máēˇt", - "edit_import_path": "Cháģ‰nh sáģ­a đưáģng dáēĢn nháē­p", - "edit_import_paths": "Cháģ‰nh sáģ­a cÃĄc đưáģng dáēĢn nháē­p", "edit_key": "Cháģ‰nh sáģ­a khÃŗa", "edit_link": "Cháģ‰nh sáģ­a liÃĒn káēŋt", "edit_location": "Cháģ‰nh sáģ­a váģ‹ trí", @@ -865,7 +878,6 @@ "failed_to_stack_assets": "Không tháģƒ nhÃŗm cÃĄc áēŖnh", "failed_to_unstack_assets": "Không tháģƒ huáģˇ xáēŋp nhÃŗm cÃĄc áēŖnh", "failed_to_update_notification_status": "Cáē­p nháē­t tráēĄng thÃĄi thông bÃĄo tháēĨt báēĄi", - "import_path_already_exists": "Đưáģng dáēĢn nháē­p này Ä‘ÃŖ táģ“n táēĄi.", "incorrect_email_or_password": "Email hoáēˇc máē­t kháēŠu không chính xÃĄc", "paths_validation_failed": "{paths, plural, one {# đưáģng dáēĢn} other {# đưáģng dáēĢn}} không háģŖp láģ‡", "profile_picture_transparent_pixels": "áēĸnh đáēĄi diáģ‡n không tháģƒ cÃŗ điáģƒm áēŖnh trong suáģ‘t. Vui lÃ˛ng phÃŗng to và/hoáēˇc di chuyáģƒn hÃŦnh áēŖnh.", @@ -874,7 +886,6 @@ "unable_to_add_assets_to_shared_link": "Không tháģƒ thÃĒm áēŖnh vào liÃĒn káēŋt chia sáēģ", "unable_to_add_comment": "Không tháģƒ thÃĒm bÃŦnh luáē­n", "unable_to_add_exclusion_pattern": "Không tháģƒ thÃĒm quy táē¯c loáēĄi tráģĢ", - "unable_to_add_import_path": "Không tháģƒ thÃĒm đưáģng dáēĢn nháē­p", "unable_to_add_partners": "Không tháģƒ thÃĒm ngưáģi thÃĸn", "unable_to_add_remove_archive": "Không tháģƒ {archived, select, true {xÃŗa áēŖnh kháģi} other {thÃĒm áēŖnh vào}} Kho lưu tráģ¯", "unable_to_add_remove_favorites": "Không tháģƒ {favorite, select, true {thÃĒm áēŖnh vào} other {xÃŗa áēŖnh kháģi}} MáģĨc yÃĒu thích", @@ -897,12 +908,10 @@ "unable_to_delete_asset": "Không tháģƒ xÃŗa áēŖnh", "unable_to_delete_assets": "Láģ—i khi xÃŗa cÃĄc áēŖnh", "unable_to_delete_exclusion_pattern": "Không tháģƒ xÃŗa quy táē¯c loáēĄi tráģĢ", - "unable_to_delete_import_path": "Không tháģƒ xÃŗa đưáģng dáēĢn nháē­p", "unable_to_delete_shared_link": "Không tháģƒ xÃŗa liÃĒn káēŋt chia sáēģ", "unable_to_delete_user": "Không tháģƒ xÃŗa ngưáģi dÚng", "unable_to_download_files": "Không tháģƒ táēŖi xuáģ‘ng táē­p tin", "unable_to_edit_exclusion_pattern": "Không tháģƒ cháģ‰nh sáģ­a quy táē¯c loáēĄi tráģĢ", - "unable_to_edit_import_path": "Không tháģƒ cháģ‰nh sáģ­a đưáģng dáēĢn nháē­p", "unable_to_empty_trash": "Không tháģƒ dáģn sáēĄch thÚng rÃĄc", "unable_to_enter_fullscreen": "Không tháģƒ vào cháēŋ đáģ™ toàn màn hÃŦnh", "unable_to_exit_fullscreen": "Không tháģƒ thoÃĄt cháēŋ đáģ™ toàn màn hÃŦnh", @@ -1002,6 +1011,7 @@ "folder_not_found": "Không tÃŦm tháēĨy thư máģĨc", "folders": "Thư máģĨc", "folders_feature_description": "Duyáģ‡t áēŖnh và video theo thư máģĨc trÃĒn háģ‡ tháģ‘ng táē­p tin", + "forgot_pin_code_question": "QuÃĒn mÃŖ PIN cáģ§a báēĄn?", "forward": "Tiáēŋn váģ phía trưáģ›c", "gcast_enabled": "Google Cast", "gcast_enabled_description": "Tính năng này táēŖi cÃĄc tài nguyÃĒn bÃĒn ngoài táģĢ Google đáģƒ hoáēĄt đáģ™ng.", @@ -1052,6 +1062,7 @@ "home_page_upload_err_limit": "Cháģ‰ cÃŗ tháģƒ táēŖi lÃĒn táģ‘i đa 30 áēŖnh cÚng máģ™t lÃēc, báģ qua", "host": "MÃĄy cháģ§", "hour": "Giáģ", + "hours": "Giáģ", "id": "ID", "ignore_icloud_photos": "Báģ qua áēŖnh iCloud", "ignore_icloud_photos_description": "áēĸnh đưáģŖc lưu tráģ¯ trÃĒn iCloud sáēŊ không đưáģŖc táēŖi lÃĒn mÃĄy cháģ§ Immich", @@ -1110,6 +1121,7 @@ "language_no_results_title": "Không tÃŦm tháēĨy ngôn ngáģ¯", "language_search_hint": "TÃŦm kiáēŋm ngôn ngáģ¯...", "language_setting_description": "Cháģn ngôn ngáģ¯ Æ°a thích cáģ§a báēĄn", + "large_files": "Táģ‡p láģ›n", "last_seen": "Láē§n cuáģ‘i nhÃŦn tháēĨy", "latest_version": "PhiÃĒn báēŖn máģ›i nháēĨt", "latitude": "VÄŠ đáģ™", @@ -1118,6 +1130,8 @@ "let_others_respond": "Cho phÊp bÃŦnh luáē­n", "level": "CáēĨp đáģ™", "library": "Thư viáģ‡n", + "library_add_folder": "ThÃĒm thư máģĨc", + "library_edit_folder": "Sáģ­a thư máģĨc", "library_options": "TÚy cháģn thư viáģ‡n", "library_page_device_albums": "Album trÃĒn thiáēŋt báģ‹", "library_page_new_album": "Album máģ›i", @@ -1127,6 +1141,7 @@ "library_page_sort_title": "TiÃĒu đáģ album", "licenses": "GiáēĨy phÊp", "light": "SÃĄng", + "like": "Thích", "like_deleted": "ÄÃŖ xoÃĄ thích", "link_motion_video": "LiÃĒn káēŋt video chuyáģƒn đáģ™ng", "link_to_oauth": "LiÃĒn káēŋt đáēŋn OAuth", @@ -1136,6 +1151,7 @@ "loading_search_results_failed": "TáēŖi káēŋt quáēŖ tÃŦm kiáēŋm không thành công", "local_network": "MáēĄng náģ™i báģ™", "local_network_sheet_info": "áģ¨ng dáģĨng sáēŊ káēŋt náģ‘i váģ›i mÃĄy cháģ§ qua URL này khi sáģ­ dáģĨng máēĄng Wi-Fi đưáģŖc cháģ‰ Ä‘áģ‹nh", + "location": "Đáģ‹a điáģƒm", "location_permission": "Quyáģn truy cáē­p váģ‹ trí", "location_permission_content": "Đáģƒ sáģ­ dáģĨng tính năng táģą Ä‘áģ™ng chuyáģƒn đáģ•i, Immich cáē§n cÃŗ quyáģn váģ‹ trí chính xÃĄc đáģƒ cÃŗ tháģƒ Ä‘áģc tÃĒn cáģ§a máēĄng Wi-Fi hiáģ‡n táēĄi", "location_picker_choose_on_map": "Cháģn trÃĒn báēŖn đáģ“", @@ -1180,7 +1196,9 @@ "loop_videos_description": "Báē­t đáģƒ video táģą Ä‘áģ™ng láēˇp láēĄi trong trÃŦnh xem chi tiáēŋt.", "main_branch_warning": "BáēĄn đang dÚng phiÃĒn báēŖn đang phÃĄt triáģƒn; chÃēng tôi khuyÃĒn báēĄn nÃĒn dÚng phiÃĒn báēŖn phÃĄt hành!", "main_menu": "Menu chính", + "maintenance_title": "TáēĄm tháģi không kháēŖ dáģĨng", "make": "ThÆ°ÆĄng hiáģ‡u", + "manage_geolocation": "QuáēŖn lÃŊ đáģ‹a điáģƒm", "manage_shared_links": "QuáēŖn lÃŊ liÃĒn káēŋt chia sáēģ", "manage_sharing_with_partners": "QuáēŖn lÃŊ chia sáēģ váģ›i ngưáģi thÃĸn", "manage_the_app_settings": "QuáēŖn lÃŊ cài đáēˇt áģŠng dáģĨng", @@ -1264,6 +1282,7 @@ "new_person": "Ngưáģi máģ›i", "new_pin_code": "MÃŖ PIN máģ›i", "new_pin_code_subtitle": "ĐÃĸy là láē§n đáē§u báēĄn vào thư máģĨc KhÃŗa. HÃŖy táēĄo mÃŖ PIN đáģƒ truy cáē­p an toàn", + "new_update": "Cáē­p nháē­t máģ›i", "new_user_created": "Ngưáģi dÚng máģ›i Ä‘ÃŖ đưáģŖc táēĄo", "new_version_available": "CÓ PHIÊN BáēĸN MáģšI", "newest_first": "Máģ›i nháēĨt trưáģ›c", @@ -1281,6 +1300,7 @@ "no_explore_results_message": "TáēŖi thÃĒm áēŖnh lÃĒn đáģƒ khÃĄm phÃĄ báģ™ sưu táē­p cáģ§a báēĄn.", "no_favorites_message": "ThÃĒm áēŖnh yÃĒu thích đáģƒ nhanh chÃŗng tÃŦm tháēĨy nháģ¯ng báģŠc áēŖnh và video đáēšp nháēĨt cáģ§a báēĄn", "no_libraries_message": "TáēĄo máģ™t thư viáģ‡n bÃĒn ngoài đáģƒ xem áēŖnh và video cáģ§a báēĄn", + "no_location_set": "Chưa cÃŗ đáģ‹a điáģƒm đưáģŖc đáēˇt", "no_locked_photos_message": "áēĸnh và video trong thư máģĨc KhÃŗa sáēŊ đưáģŖc áēŠn đi và không hiáģƒn tháģ‹ khi báēĄn duyáģ‡t hay tÃŦm kiáēŋm trong thư viáģ‡n.", "no_name": "Không cÃŗ tÃĒn", "no_notifications": "Không cÃŗ thông bÃĄo", @@ -1289,6 +1309,7 @@ "no_results": "Không cÃŗ káēŋt quáēŖ", "no_results_description": "Tháģ­ máģ™t táģĢ Ä‘áģ“ng nghÄŠa hoáēˇc táģĢ khÃŗa táģ•ng quÃĄt hÆĄn", "no_shared_albums_message": "TáēĄo máģ™t album đáģƒ chia sáēģ áēŖnh và video váģ›i máģi ngưáģi trong máēĄng cáģ§a báēĄn", + "not_available": "Thiáēŋu", "not_in_any_album": "Không thuáģ™c album nào", "not_selected": "Không đưáģŖc cháģn", "note_apply_storage_label_to_previously_uploaded assets": "Lưu ÃŊ: Đáģƒ ÃĄp dáģĨng NhÃŖn lưu tráģ¯ cho cÃĄc áēŖnh Ä‘ÃŖ táēŖi lÃĒn trưáģ›c Ä‘Ãŗ, hÃŖy cháēĄy", @@ -1304,6 +1325,7 @@ "oauth": "OAuth", "official_immich_resources": "Tài nguyÃĒn chính tháģŠc cáģ§a Immich", "offline": "NgoáēĄi tuyáēŋn", + "offset": "Đáģ™ láģ‡ch", "ok": "Đáģ“ng ÃŊ", "oldest_first": "CÅŠ nháēĨt trưáģ›c", "on_this_device": "TrÃĒn mÃĄy này", @@ -1516,6 +1538,7 @@ "reset_password": "Đáēˇt láēĄi máē­t kháēŠu", "reset_people_visibility": "Đáēˇt láēĄi tráēĄng thÃĄi hiáģƒn tháģ‹ cáģ§a máģi ngưáģi", "reset_pin_code": "Đáēˇt láēĄi mÃŖ PIN", + "reset_pin_code_with_password": "BáēĄn luôn cÃŗ tháģƒ Ä‘áēˇt láēĄi mÃŖ PIN cáģ§a báēĄn báēąng máē­t kháēŠu cáģ§a báēĄn", "reset_to_default": "Đáēˇt láēĄi váģ máēˇc đáģ‹nh", "resolve_duplicates": "Xáģ­ lÃŊ cÃĄc báēŖn trÚng láēˇp", "resolved_all_duplicates": "ÄÃŖ xáģ­ lÃŊ táēĨt cáēŖ cÃĄc báēŖn trÚng láēˇp", @@ -1623,6 +1646,7 @@ "server_offline": "MÃĄy cháģ§ ngoáēĄi tuyáēŋn", "server_online": "PhiÃĒn báēŖn", "server_privacy": "Quyáģn riÃĒng tư mÃĄy cháģ§", + "server_restarting_title": "MÃĄy cháģ§ Ä‘ang kháģŸi đáģ™ng láēĄi", "server_stats": "Tháģ‘ng kÃĒ mÃĄy cháģ§", "server_version": "PhiÃĒn báēŖn mÃĄy cháģ§", "set": "Đáēˇt", @@ -1790,6 +1814,7 @@ "sync": "Đáģ“ng báģ™", "sync_albums": "Đáģ“ng báģ™ album", "sync_albums_manual_subtitle": "Đáģ“ng báģ™ hÃŗa táēĨt cáēŖ video và áēŖnh Ä‘ÃŖ táēŖi lÃĒn vào album sao lưu Ä‘ÃŖ cháģn", + "sync_status_subtitle": "Xem và quáēŖn lÃŊ háģ‡ tháģ‘ng đáģ“ng báģ™", "sync_upload_album_setting_subtitle": "TáēĄo và táēŖi lÃĒn áēŖnh và video cáģ§a báēĄn vào album Ä‘ÃŖ cháģn trÃĒn Immich", "tag": "Tháēģ", "tag_assets": "Gáē¯n tháēģ", @@ -1877,6 +1902,7 @@ "upload_dialog_info": "BáēĄn cÃŗ muáģ‘n sao lưu nháģ¯ng máģĨc Ä‘ÃŖ cháģn táģ›i mÃĄy cháģ§ không?", "upload_dialog_title": "TáēŖi lÃĒn áēŖnh", "upload_errors": "TáēŖi lÃĒn Ä‘ÃŖ hoàn táēĨt váģ›i {count, plural, one {# láģ—i} other {# láģ—i}}, làm máģ›i trang đáģƒ xem cÃĄc áēŖnh máģ›i táēŖi lÃĒn.", + "upload_finished": "ÄÃŖ hoàn táēĨt táēŖi lÃĒn", "upload_progress": "CÃ˛n láēĄi {remaining, number} - ÄÃŖ xáģ­ lÃŊ {processed, number}/{total, number}", "upload_skipped_duplicates": "ÄÃŖ báģ qua {count, plural, one {# máģĨc trÚng láēˇp} other {# máģĨc trÚng láēˇp}}", "upload_status_duplicates": "MáģĨc trÚng láēˇp", @@ -1923,6 +1949,7 @@ "view_album": "Xem Album", "view_all": "Xem táēĨt cáēŖ", "view_all_users": "Xem táēĨt cáēŖ ngưáģi dÚng", + "view_details": "Xem thông tin chi tiáēŋt", "view_in_timeline": "Xem trong dÃ˛ng tháģi gian", "view_link": "Xem liÃĒn káēŋt", "view_links": "Xem cÃĄc liÃĒn káēŋt", @@ -1930,6 +1957,7 @@ "view_next_asset": "Xem áēŖnh tiáēŋp theo", "view_previous_asset": "Xem áēŖnh trưáģ›c Ä‘Ãŗ", "view_qr_code": "Xem mÃŖ QR", + "view_similar_photos": "Xem áēŖnh tÆ°ÆĄng táģą", "view_stack": "Xem nhÃŗm áēŖnh", "view_user": "Xem Ngưáģi dÚng", "viewer_remove_from_stack": "XoÃĄ kháģi nhÃŗm", diff --git a/i18n/yue_Hant.json b/i18n/yue_Hant.json new file mode 100644 index 0000000000..0967ef424b --- /dev/null +++ b/i18n/yue_Hant.json @@ -0,0 +1 @@ +{} diff --git a/i18n/zh_Hant.json b/i18n/zh_Hant.json index 8baeaec7d8..ca066bedb3 100644 --- a/i18n/zh_Hant.json +++ b/i18n/zh_Hant.json @@ -17,7 +17,6 @@ "add_birthday": "新åĸžį”Ÿæ—Ĩ", "add_endpoint": "新åĸžį̝éģž", "add_exclusion_pattern": "加å…Ĩį¯Šé¸æĸäģļ", - "add_import_path": "新åĸžåŒ¯å…Ĩčˇ¯åž‘", "add_location": "新åĸžåœ°éģž", "add_more_users": "新åĸžå…ļäģ–äŊŋᔍ者", "add_partner": "新åĸžčĻĒæœ‹åĨŊ友", @@ -32,6 +31,7 @@ "add_to_album_toggle": "é¸æ“‡į›¸į°ŋ{album}", "add_to_albums": "加å…Ĩᛏį°ŋ", "add_to_albums_count": "將 ({count}) å€‹é …į›ŽåŠ å…Ĩᛏį°ŋ", + "add_to_bottom_bar": "新åĸžåˆ°", "add_to_shared_album": "åŠ åˆ°å…ąäēĢᛏį°ŋ", "add_upload_to_stack": "新åĸžä¸Šå‚ŗåˆ°å †į–Š", "add_url": "新åĸž URL", @@ -112,7 +112,6 @@ "jobs_failed": "{jobCount, plural, other {# 項äģģå‹™åˇ˛å¤ąæ•—}}", "library_created": "厞åģēįĢ‹åĒ’éĢ”åēĢīŧš{library}", "library_deleted": "åĒ’éĢ”åēĢ厞åˆĒ除", - "library_import_path_description": "指厚čρ匝å…Ĩįš„čŗ‡æ–™å¤žã€‚įŗģįĩ࿜ƒæŽƒææ­¤čŗ‡æ–™å¤žåŠå…ļå­čŗ‡æ–™å¤žä¸­įš„æ‰€æœ‰åŊąåƒčˆ‡åŊąį‰‡ã€‚", "library_scanning": "厚期掃描", "library_scanning_description": "厚期åĒ’éĢ”åēĢæŽƒæč¨­åޚ", "library_scanning_enable_description": "å•Ÿį”¨åĒ’éĢ”åēĢ厚期掃描", @@ -156,6 +155,16 @@ "machine_learning_min_recognized_faces_description": "åģēįĢ‹æ–°äēēį‰Šæ‰€éœ€įš„æœ€äŊŽåˇ˛čž¨č­˜č‡‰å­”數量。提éĢ˜æ­¤æ•¸å€ŧå¯čŽ“č‡‰å­”čž¨č­˜æ›´į˛žįĸēīŧŒäŊ†åŒæ™‚會åĸžåР臉孔æœĒčĸĢæŒ‡æ´žįĩĻäģģäŊ•äēēį‰Šįš„å¯čƒŊ性。", "machine_learning_ocr": "æ–‡å­—čž¨č­˜(OCR)", "machine_learning_ocr_description": "äŊŋį”¨æŠŸå™¨å­¸įŋ’äž†č­˜åˆĨåœ–į‰‡ä¸­įš„æ–‡å­—", + "machine_learning_ocr_enabled": "å•Ÿį”¨OCR", + "machine_learning_ocr_enabled_description": "åĻ‚æžœįρᔍīŧŒåŊąåƒå°‡ä¸æœƒé€˛čĄŒæ–‡å­—č­˜åˆĨ。", + "machine_learning_ocr_max_resolution": "æœ€å¤§åˆ†čž¯įŽ‡", + "machine_learning_ocr_max_resolution_description": "é̘æ–ŧæ­¤åˆ†čž¯įŽ‡įš„é čĻŊ將čĒŋ整大小īŧŒåŒæ™‚äŋæŒį¸ąæŠĢ比。 更éĢ˜įš„å€ŧ更æē–įĸēīŧŒäŊ†č™•į†æ™‚é–“æ›´é•ˇīŧŒäŊ”į”¨æ›´å¤šč¨˜æ†ļéĢ”ã€‚", + "machine_learning_ocr_min_detection_score": "最äŊŽæĒĸæ¸Ŧ分數", + "machine_learning_ocr_min_detection_score_description": "čρæĒĸæ¸Ŧįš„æ–‡å­—įš„æœ€å°įŊŽäŋĄåēĻ分數į‚ē0-1。 čŧƒäŊŽįš„å€ŧ將æĒĸæ¸Ŧåˆ°æ›´å¤šįš„æ–‡å­—īŧŒäŊ†å¯čƒŊæœƒå°Žč‡´čĒ¤å ąã€‚", + "machine_learning_ocr_min_recognition_score": "最äŊŽč­˜åˆĨ分數", + "machine_learning_ocr_min_score_recognition_description": "æĒĸæ¸Ŧåˆ°įš„æ–‡å­—įš„æœ€å°įŊŽäŋĄåēĻ垗分į‚ē0-1。 čŧƒäŊŽįš„å€ŧå°‡č­˜åˆĨæ›´å¤šįš„æ–‡å­—īŧŒäŊ†å¯čƒŊæœƒå°Žč‡´čĒ¤å ąã€‚", + "machine_learning_ocr_model": "OCRæ¨Ąåž‹", + "machine_learning_ocr_model_description": "æœå‹™å™¨æ¨Ąåž‹æ¯”į§ģå‹•æ¨Ąåž‹æ›´æē–įĸēīŧŒäŊ†éœ€čĻæ›´é•ˇįš„æ™‚é–“äž†č™•į†å’ŒäŊŋį”¨æ›´å¤šįš„č¨˜æ†ļéĢ”ã€‚", "machine_learning_settings": "抟器學įŋ’設åޚ", "machine_learning_settings_description": "įŽĄį†æŠŸå™¨å­¸įŋ’įš„åŠŸčƒŊå’Œč¨­åŽš", "machine_learning_smart_search": "æ™ē慧搜尋", @@ -163,6 +172,10 @@ "machine_learning_smart_search_enabled": "å•Ÿį”¨æ™ē慧搜尋", "machine_learning_smart_search_enabled_description": "åĻ‚æžœåœį”¨īŧŒåŊąåƒå°‡ä¸æœƒčĸĢᎍįĸŧäģĨ進行æ™ē慧搜尋。", "machine_learning_url_description": "抟器學įŋ’äŧ翜å™¨įš„ URL。č‹Ĩ提䞛多個 URLīŧŒįŗģįĩ࿜ƒäžåēé€ä¸€å˜—čŠĻīŧŒį›´åˆ°å…ļ中一č‡ē成功回應į‚ēæ­ĸīŧˆį”ąå‰åˆ°åžŒīŧ‰ã€‚æœĒå›žæ‡‰įš„äŧ翜å™¨å°‡čĸĢæšĢ時åŋŊį•ĨīŧŒį›´åˆ°å…ļé‡æ–°ä¸Šįˇšã€‚", + "maintenance_settings": "įļ­č­ˇ", + "maintenance_settings_description": "將ImmichįŊŽæ–ŧįļ­č­ˇæ¨Ąåŧã€‚", + "maintenance_start": "啟動įļ­č­ˇæ¨Ąåŧ", + "maintenance_start_error": "啟動įļ­č­ˇæ¨Ąåŧå¤ąæ•—。", "manage_concurrency": "įŽĄį†äŊĩį™ŧ", "manage_log_settings": "įŽĄį†æ—ĨčĒŒč¨­åŽš", "map_dark_style": "æˇąč‰˛æ¨Ŗåŧ", @@ -247,7 +260,7 @@ "oauth_storage_quota_default_description": "æœĒæäž›åŽŖå‘Šæ™‚æ‰€äŊŋį”¨įš„é…éĄīŧˆGiBīŧ‰ã€‚", "oauth_timeout": "čĢ‹æą‚é€žæ™‚", "oauth_timeout_description": "čĢ‹æą‚įš„é€žæ™‚æ™‚é–“īŧˆæ¯Ģį§’īŧ‰", - "ocr_job_description": "äŊŋį”¨æŠŸå™¨å­¸įŋ’äž†č­˜åˆĨåœ–åƒä¸­įš„æ–‡å­—", + "ocr_job_description": "äŊŋį”¨æŠŸå™¨å­¸įŋ’äž†č­˜åˆĨåœ–į‰‡ä¸­įš„æ–‡å­—", "password_enable_description": "äŊŋᔍé›ģ子éƒĩäģļ和密įĸŧį™ģå…Ĩ", "password_settings": "密įĸŧį™ģå…Ĩ", "password_settings_description": "įŽĄį†å¯†įĸŧį™ģå…Ĩč¨­åŽš", @@ -420,6 +433,7 @@ "age_months": "{months, plural, one {# 個月} other {# 個月}}", "age_year_months": "1 æ­˛īŧŒ{months, plural, one {# 個月} other {# 個月}}", "age_years": "{years, plural, other {# æ­˛}}", + "album": "ᛏį°ŋ", "album_added": "čĸĢ加å…Ĩåˆ°į›¸į°ŋ", "album_added_notification_setting_description": "į•ļ我čĸĢ加å…Ĩå…ąäēĢᛏį°ŋ時īŧŒį”¨é›ģ子éƒĩäģļ通įŸĨ我", "album_cover_updated": "åˇ˛æ›´æ–°į›¸į°ŋ封éĸ", @@ -465,6 +479,7 @@ "allow_edits": "å…č¨ąįˇ¨čŧ¯", "allow_public_user_to_download": "å…č¨ąå…Ŧ開äŊŋᔍ者䏋čŧ‰", "allow_public_user_to_upload": "å…č¨ąå…Ŧ開äŊŋį”¨č€…ä¸Šå‚ŗ", + "allowed": "å…č¨ą", "alt_text_qr_code": "QR code åœ–į‰‡", "anti_clockwise": "逆時針", "api_key": "API 金鑰", @@ -672,6 +687,8 @@ "change_password_description": "這是您éĻ–æŦĄį™ģå…ĨįŗģįĩąīŧŒæˆ–æ˜¯åˇ˛æ”ļåˆ°čŽŠæ›´å¯†įĸŧįš„čĢ‹æą‚ã€‚čĢ‹åœ¨ä¸‹æ–ščŧ¸å…Ĩ新密įĸŧ。", "change_password_form_confirm_password": "įĸēčĒå¯†įĸŧ", "change_password_form_description": "您åĨŊ {name}īŧŒ\n\n這是您éĻ–æŦĄį™ģå…ĨįŗģįĩąīŧŒæˆ–æ˜¯åˇ˛æ”ļåˆ°čŽŠæ›´å¯†įĸŧįš„čĢ‹æą‚ã€‚čĢ‹åœ¨ä¸‹æ–ščŧ¸å…Ĩ新密įĸŧ。", + "change_password_form_log_out": "č¨ģéŠˇæ‰€æœ‰å…ļäģ–荭備", + "change_password_form_log_out_description": "åģē議退å‡ē所有å…ļäģ–荭備", "change_password_form_new_password": "新密įĸŧ", "change_password_form_password_mismatch": "密įĸŧ不一致", "change_password_form_reenter_new_password": "再æŦĄčŧ¸å…Ĩ新密įĸŧ", @@ -779,6 +796,7 @@ "daily_title_text_date_year": "YYYY åš´ M 月 D æ—Ĩ (E)", "dark": "æˇąč‰˛", "dark_theme": "åˆ‡æ›æˇąč‰˛ä¸ģ題", + "date": "æ—Ĩ期", "date_after": "čĩˇå§‹æ—Ĩ期", "date_and_time": "æ—ĨæœŸčˆ‡æ™‚é–“", "date_before": "įĩæŸæ—Ĩ期", @@ -881,8 +899,6 @@ "edit_description_prompt": "čĢ‹é¸æ“‡æ–°įš„æčŋ°īŧš", "edit_exclusion_pattern": "ᎍčŧ¯æŽ’除æĸäģļ", "edit_faces": "ᎍčŧ¯č‡‰å­”", - "edit_import_path": "ᎍčŧ¯åŒ¯å…Ĩčˇ¯åž‘", - "edit_import_paths": "ᎍčŧ¯åŒ¯å…Ĩčˇ¯åž‘", "edit_key": "ᎍčŧ¯é‡‘é‘°", "edit_link": "ᎍčŧ¯é€Ŗįĩ", "edit_location": "ᎍčŧ¯äŊįŊŽ", @@ -954,7 +970,6 @@ "failed_to_stack_assets": "į„Ąæŗ•åĒ’éĢ”å †į–Š", "failed_to_unstack_assets": "觪除åĒ’éĢ”å †į–Šå¤ąæ•—", "failed_to_update_notification_status": "į„Ąæŗ•æ›´æ–°é€šįŸĨį‹€æ…‹", - "import_path_already_exists": "此匯å…Ĩčˇ¯åž‘åˇ˛å­˜åœ¨ã€‚", "incorrect_email_or_password": "é›ģ子éƒĩäģ￈–密įĸŧ錯čǤ", "paths_validation_failed": "{paths, plural, one {# å€‹čˇ¯åž‘} other {# å€‹čˇ¯åž‘}} éŠ—č­‰å¤ąæ•—", "profile_picture_transparent_pixels": "個äēēčŗ‡æ–™åœ–į‰‡ä¸čƒŊ有透明į•Ģį´ ã€‚čĢ‹æ”žå¤§ä¸Ļ/或į§ģ動åŊąåƒã€‚", @@ -964,7 +979,6 @@ "unable_to_add_assets_to_shared_link": "į„Ąæŗ•åŠ å…ĨåĒ’éĢ”åˆ°å…ąäēĢ逪įĩ", "unable_to_add_comment": "į„Ąæŗ•æ–°åĸžį•™č¨€", "unable_to_add_exclusion_pattern": "į„Ąæŗ•æ–°åĸžį¯Šé¸æĸäģļ", - "unable_to_add_import_path": "į„Ąæŗ•æ–°åĸžåŒ¯å…Ĩčˇ¯åž‘", "unable_to_add_partners": "į„Ąæŗ•æ–°åĸžčĻĒæœ‹åĨŊ友", "unable_to_add_remove_archive": "į„Ąæŗ•{archived, select, true {垞封存中į§ģ除åĒ’éĢ”} other {將æĒ”æĄˆåŠ å…ĨåĒ’éĢ”}}", "unable_to_add_remove_favorites": "į„Ąæŗ•å°‡åĒ’éĢ”{favorite, select, true {加å…Ĩæ”ļ藏} other {åžžæ”ļ藏中į§ģ除}}", @@ -987,12 +1001,10 @@ "unable_to_delete_asset": "į„Ąæŗ•åˆĒ除åĒ’éĢ”", "unable_to_delete_assets": "åˆĒ除åĒ’éĢ”æ™‚į™ŧį”ŸéŒ¯čǤ", "unable_to_delete_exclusion_pattern": "į„Ąæŗ•åˆĒé™¤į¯Šé¸æĸäģļ", - "unable_to_delete_import_path": "į„Ąæŗ•åˆĒ除匯å…Ĩčˇ¯åž‘", "unable_to_delete_shared_link": "åˆĒé™¤å…ąäēĢ逪įĩå¤ąæ•—", "unable_to_delete_user": "į„Ąæŗ•åˆĒ除äŊŋᔍ者", "unable_to_download_files": "į„Ąæŗ•ä¸‹čŧ‰æĒ”æĄˆ", "unable_to_edit_exclusion_pattern": "į„Ąæŗ•įˇ¨čŧ¯į¯Šé¸æĸäģļ", - "unable_to_edit_import_path": "į„Ąæŗ•įˇ¨čŧ¯åŒ¯å…Ĩčˇ¯åž‘", "unable_to_empty_trash": "į„Ąæŗ•æ¸…įŠē垃圞æĄļ", "unable_to_enter_fullscreen": "į„Ąæŗ•é€˛å…Ĩ全čžĸåš•", "unable_to_exit_fullscreen": "į„Ąæŗ•įĩæŸå…¨čžĸåš•", @@ -1087,6 +1099,7 @@ "features_setting_description": "įŽĄį†æ‡‰į”¨į¨‹åŧåŠŸčƒŊ", "file_name": "æĒ”æĄˆåį¨ą", "file_name_or_extension": "æĒ”æĄˆåį¨ąæˆ–å‰¯æĒ”名", + "file_size": "文äģļ大小", "filename": "æĒ”æĄˆåį¨ą", "filetype": "æĒ”æĄˆéĄžåž‹", "filter": "æŋžéĄ", @@ -1182,6 +1195,8 @@ "import_path": "匯å…Ĩčˇ¯åž‘", "in_albums": "在 {count, plural, one {# æœŦᛏį°ŋ} other {# æœŦᛏį°ŋ}}中", "in_archive": "在封存中", + "in_year": "{year}åš´", + "in_year_selector": "在", "include_archived": "包åĢ厞封存", "include_shared_albums": "包åĢå…ąäēĢᛏį°ŋ", "include_shared_partner_assets": "包æ‹Ŧå…ąäēĢčĻĒæœ‹åĨŊå‹įš„åĒ’éĢ”", @@ -1218,6 +1233,7 @@ "language_setting_description": "é¸æ“‡æ‚¨įš„éϖ遏čĒžč¨€", "large_files": "大型æĒ”æĄˆ", "last": "最垌一個", + "last_months": "{count, plural, one {上個月} other {最čŋ‘ # 個月}}", "last_seen": "æœ€åžŒä¸Šįˇš", "latest_version": "æœ€æ–°į‰ˆæœŦ", "latitude": "᎝åēĻ", @@ -1250,6 +1266,7 @@ "local_media_summary": "æœŦ抟åĒ’éĢ”æ‘˜čρ", "local_network": "æœŦ抟įļ˛čˇ¯", "local_network_sheet_info": "į•ļäŊŋį”¨æŒ‡åŽšįš„ Wi-Fi įļ˛čˇ¯æ™‚īŧŒæ‡‰į”¨į¨‹åŧå°‡é€éŽæ­¤įļ˛å€é€Ŗįˇšč‡ŗäŧ翜å™¨", + "location": "äŊįŊŽ", "location_permission": "äŊįŊŽæŦŠé™", "location_permission_content": "äŊŋᔍč‡Ē動切換功čƒŊīŧŒImmich 需čĻį˛žįĸēäŊįŊŽæŦŠé™īŧŒäģĨå–åž—åˇ˛é€Ŗįˇšįš„ Wi-Fi įļ˛čˇ¯åį¨ą", "location_picker_choose_on_map": "在地圖上選擇", @@ -1297,8 +1314,17 @@ "loop_videos_description": "å•Ÿį”¨åžŒīŧŒåŊąį‰‡įĩæŸæœƒč‡Ē動重播。", "main_branch_warning": "æ‚¨įžåœ¨äŊŋį”¨įš„æ˜¯é–‹į™ŧį‰ˆæœŦīŧ›æˆ‘們åŧˇįƒˆæ‚¨åģēč­°äŊŋį”¨æ­Ŗåŧį™ŧčĄŒį‰ˆīŧ", "main_menu": "ä¸ģ選喎", + "maintenance_description": "Immich厞逞å…Ĩįļ­č­ˇæ¨Ąåŧã€‚", + "maintenance_end": "įĩæŸįļ­č­ˇæ¨Ąåŧ", + "maintenance_end_error": "æœĒčƒŊįĩæŸįļ­č­ˇæ¨Ąåŧã€‚", + "maintenance_logged_in_as": "į•ļ前äģĨ{user}čēĢäģŊį™ģå…Ĩ", + "maintenance_title": "æšĢæ™‚ä¸å¯į”¨", "make": "čŖŊ造商", "manage_geolocation": "įŽĄį†äŊįŊŽ", + "manage_media_access_rationale": "æ­Ŗįĸē處ᐆ將躇į”ĸį§ģč‡ŗåžƒåœžæĄļä¸Ļ將å…ļ垞垃圞æĄļ中æĸ垊需čĻæ­¤č¨ąå¯ã€‚", + "manage_media_access_settings": "æ‰“é–‹č¨­åŽš", + "manage_media_access_subtitle": "å…č¨ąImmichæ‡‰į”¨į¨‹åēįŽĄį†å’Œį§ģ動åĒ’éĢ”æĒ”æĄˆã€‚", + "manage_media_access_title": "åĒ’éĢ”įŽĄį†č¨Ē問", "manage_shared_links": "įŽĄį†å…ąäēĢ逪įĩ", "manage_sharing_with_partners": "įŽĄį†čˆ‡čĻĒæœ‹åĨŊå‹įš„åˆ†äēĢ", "manage_the_app_settings": "įŽĄį†æ‡‰į”¨į¨‹åŧč¨­åޚ", @@ -1362,6 +1388,7 @@ "more": "更多", "move": "į§ģ動", "move_off_locked_folder": "į§ģå‡ēéŽ–åŽšįš„čŗ‡æ–™å¤ž", + "move_to": "į§ģ動到", "move_to_lock_folder_action_prompt": "{count} åˇ˛æ–°åĸžč‡ŗéŽ–åŽšįš„čŗ‡æ–™å¤žä¸­", "move_to_locked_folder": "į§ģč‡ŗéŽ–åŽšįš„čŗ‡æ–™å¤ž", "move_to_locked_folder_confirmation": "這äē›į…§į‰‡å’ŒåŊąį‰‡å°‡åžžæ‰€æœ‰į›¸į°ŋ中į§ģ除īŧŒä¸Ļåƒ…å¯åžžéŽ–åŽšįš„čŗ‡æ–™å¤žæĒĸčĻ–", @@ -1391,6 +1418,7 @@ "new_pin_code": "新 PIN įĸŧ", "new_pin_code_subtitle": "這是您įŦŦ一æŦĄå­˜å–éŽ–åŽšįš„čŗ‡æ–™å¤žã€‚åģēįĢ‹ PIN įĸŧäģĨ厉全存取此頁éĸ", "new_timeline": "新時間čģ¸", + "new_update": "新更新", "new_user_created": "厞åģēįĢ‹æ–°äŊŋᔍ者", "new_version_available": "æ–°į‰ˆæœŦ厞į™ŧ布", "newest_first": "最新å„Ē先", @@ -1406,6 +1434,7 @@ "no_cast_devices_found": "扞不到 Google Cast čŖįŊŽ", "no_checksum_local": "æ˛’æœ‰å¯į”¨įš„æ ĄéŠ—å’Œ - į„Ąæŗ•å–åž—æœŦæŠŸčŗ‡į”ĸ", "no_checksum_remote": "æ˛’æœ‰å¯į”¨įš„æ ĄéŠ—å’Œ - į„Ąæŗ•å–åž—é į̝躇į”ĸ", + "no_devices": "į„ĄæŽˆæŦŠč¨­å‚™", "no_duplicates_found": "æ˛’į™ŧįžé‡č¤‡é …į›Žã€‚", "no_exif_info_available": "æ˛’æœ‰å¯į”¨įš„ Exif čŗ‡č¨Š", "no_explore_results_message": "ä¸Šå‚ŗæ›´å¤šį…§į‰‡äģĨ刊æŽĸį´ĸ。", @@ -1422,6 +1451,7 @@ "no_results_description": "čŠĻčŠĻåŒįžŠčŠžæˆ–æ›´é€šį”¨įš„é—œéĩ字吧", "no_shared_albums_message": "åģēį̋ᛏį°ŋ分äēĢį…§į‰‡å’ŒåŊąį‰‡", "no_uploads_in_progress": "æ˛’æœ‰æ­Ŗåœ¨ä¸Šå‚ŗįš„é …į›Ž", + "not_allowed": "ä¸å…č¨ą", "not_available": "ä¸éŠį”¨", "not_in_any_album": "不在äģģäŊ•ᛏį°ŋ中", "not_selected": "æœĒ選擇", @@ -1438,6 +1468,7 @@ "oauth": "OAuth", "obtainium_configurator": "Obtainium配寘器", "obtainium_configurator_instructions": "äŊŋᔍObtainiumį›´æŽĨåžžImmich GitHubįš„į‰ˆæœŦåŽ‰čŖå’Œæ›´æ–°Androidæ‡‰į”¨į¨‹åēã€‚ å‰ĩåģē一個API金鑰ä¸Ļé¸æ“‡ä¸€å€‹čŽŠéĢ”äž†å‰ĩåģēæ‚¨įš„Obtainiumé…å¯˜é€Ŗįĩ", + "ocr": "OCR", "official_immich_resources": "厘斚 Immich čŗ‡æē", "offline": "é›ĸ᎚", "offset": "į§ģ動", @@ -1531,6 +1562,8 @@ "photos_count": "{count, plural, other {{count, number} åŧĩᅧቇ}}", "photos_from_previous_years": "åž€åš´įš„į…§į‰‡", "pick_a_location": "選擇äŊįŊŽ", + "pick_custom_range": "č‡ĒåŽšįžŠį¯„åœ", + "pick_date_range": "選擇æ—ĨæœŸį¯„åœ", "pin_code_changed_successfully": "čŽŠæ›´ PIN įĸŧ成功", "pin_code_reset_successfully": "重設 PIN įĸŧ成功", "pin_code_setup_successfully": "č¨­åŽš PIN įĸŧ成功", @@ -1681,6 +1714,7 @@ "reset_sqlite_confirmation": "įĸē厚čĻé‡č¨­ SQLite čŗ‡æ–™åēĢ嗎īŧŸé–Ŗä¸‹éœ€į™ģå‡ēä¸Ļ重新į™ģå…Ĩ才čƒŊ重新同æ­Ĩčŗ‡æ–™", "reset_sqlite_success": "åˇ˛æˆåŠŸé‡č¨­ SQLite čŗ‡æ–™åēĢ", "reset_to_default": "é‡č¨­å›žé č¨­", + "resolution": "åˆ†čž¯įŽ‡", "resolve_duplicates": "č§Ŗæąē重複項", "resolved_all_duplicates": "厞觪æąēæ‰€æœ‰é‡č¤‡é …į›Ž", "restore": "還原", @@ -1699,6 +1733,7 @@ "running": "åŸˇčĄŒä¸­", "save": "å„˛å­˜", "save_to_gallery": "å„˛å­˜åˆ°į›¸į°ŋ", + "saved": "厞äŋå­˜", "saved_api_key": "åˇ˛å„˛å­˜ API 金鑰", "saved_profile": "åˇ˛å„˛å­˜å€‹äēēčŗ‡æ–™", "saved_settings": "åˇ˛å„˛å­˜č¨­åŽš", @@ -1715,6 +1750,8 @@ "search_by_description_example": "åœ¨æ˛™åŖŠįš„åĨ行之æ—Ĩ", "search_by_filename": "äģĨæĒ”名或副æĒ”名搜尋", "search_by_filename_example": "åĻ‚ IMG_1234.JPG 或 PNG", + "search_by_ocr": "通過OCR蒐į´ĸ", + "search_by_ocr_example": "æ‹ŋéĩ", "search_camera_lens_model": "蒐į´ĸéĄé ­åž‹č™Ÿ...", "search_camera_make": "æœå°‹į›¸æŠŸčŖŊ造商â€Ļ", "search_camera_model": "æœå°‹į›¸æŠŸåž‹č™Ÿâ€Ļ", @@ -1732,6 +1769,7 @@ "search_filter_location_title": "選擇äŊįŊŽ", "search_filter_media_type": "åĒ’éĢ”éĄžåž‹", "search_filter_media_type_title": "選擇åĒ’éĢ”éĄžåž‹", + "search_filter_ocr": "通過OCR蒐į´ĸ", "search_filter_people_title": "選擇äēēį‰Š", "search_for": "搜尋", "search_for_existing_person": "æœå°‹įžæœ‰įš„äēēį‰Š", @@ -1793,6 +1831,8 @@ "server_offline": "äŧ翜å™¨åˇ˛é›ĸ᎚", "server_online": "äŧ翜å™¨åˇ˛ä¸Šįˇš", "server_privacy": "äŧ翜å™¨éšąį§", + "server_restarting_description": "此頁éĸ將įĢ‹åŗé‡įšĒ。", + "server_restarting_title": "æœå‹™å™¨æ­Ŗåœ¨é‡æ–°å•Ÿå‹•", "server_stats": "äŧ翜å™¨įĩąč¨ˆ", "server_update_available": "æœå‹™å™¨æ›´æ–°å¯į”¨", "server_version": "į›Žå‰į‰ˆæœŦ", @@ -2004,7 +2044,9 @@ "theme_setting_three_stage_loading_title": "å•Ÿį”¨ä¸‰æŽĩåŧčŧ‰å…Ĩ", "they_will_be_merged_together": "厃們將會čĸĢ合äŊĩ在一čĩˇ", "third_party_resources": "įŦŦä¸‰æ–ščŗ‡æē", + "time": "時間", "time_based_memories": "䞝時間回æ†ļ", + "time_based_memories_duration": "éĄ¯į¤ē每åŧĩåŊąåƒįš„į§’æ•¸ã€‚", "timeline": "時間čģ¸", "timezone": "時區", "to_archive": "封存", @@ -2145,6 +2187,7 @@ "welcome": "æ­ĄčŋŽ", "welcome_to_immich": "æ­ĄčŋŽäŊŋᔍ Immich", "wifi_name": "Wi-Fi åį¨ą", + "workflow": "åˇĨäŊœæĩį¨‹", "wrong_pin_code": "PIN įĸŧ錯čǤ", "year": "åš´", "years_ago": "{years, plural, other {# åš´}}前", diff --git a/i18n/zh_SIMPLIFIED.json b/i18n/zh_SIMPLIFIED.json index 6d7ea6ae39..f799a803a3 100644 --- a/i18n/zh_SIMPLIFIED.json +++ b/i18n/zh_SIMPLIFIED.json @@ -17,7 +17,6 @@ "add_birthday": "æˇģåŠ į”Ÿæ—Ĩ", "add_endpoint": "æˇģåŠ æœåŠĄå™¨ URL", "add_exclusion_pattern": "æˇģåŠ æŽ’é™¤č§„åˆ™", - "add_import_path": "æˇģ加å¯ŧå…Ĩčˇ¯åž„", "add_location": "æˇģåŠ åœ°į‚š", "add_more_users": "æˇģåŠ æ›´å¤šį”¨æˆˇ", "add_partner": "æˇģ加同äŧ´", @@ -32,6 +31,7 @@ "add_to_album_toggle": "é€‰æ‹Šį›¸å†Œ {album}", "add_to_albums": "æˇģåŠ åˆ°į›¸å†Œ", "add_to_albums_count": "æˇģåŠ åˆ°į›¸å†Œīŧˆ{count}ä¸Ēīŧ‰", + "add_to_bottom_bar": "æˇģ加到", "add_to_shared_album": "æˇģåŠ åˆ°å…ąäēĢį›¸å†Œ", "add_upload_to_stack": "上äŧ éĄšį›Žč‡ŗå †å ", "add_url": "æˇģ加 URL", @@ -112,13 +112,17 @@ "jobs_failed": "{jobCount, plural, other {#éĄšå¤ąč´Ĩ}}", "library_created": "åˇ˛åˆ›åģē回åē“īŧš{library}", "library_deleted": "回åē“åˇ˛åˆ é™¤", - "library_import_path_description": "指厚一ä¸Ēčρå¯ŧå…Ĩįš„æ–‡äģļ多。将æ‰Ģ描此文äģļ多īŧˆåŒ…æ‹Ŧ子文äģļ多īŧ‰ä¸­įš„å›žåƒå’Œč§†éĸ‘。", + "library_details": "回åē“č¯Ļ情", + "library_folder_description": "指厚čρå¯ŧå…Ĩįš„æ–‡äģļ多。将寚č¯Ĩ文äģļ多īŧˆåŒ…æ‹Ŧ子文äģļ多īŧ‰čŋ›čĄŒå›žåƒå’Œč§†éĸ‘æ‰Ģ描。", + "library_remove_exclusion_pattern_prompt": "æ‚¨įĄŽåŽščĻåˆ é™¤æ­¤æŽ’é™¤č§„åˆ™å—īŧŸ", + "library_remove_folder_prompt": "æ‚¨įĄŽåŽščĻåˆ é™¤æ­¤å¯ŧå…Ĩ文äģļ多吗īŧŸ", "library_scanning": "厚期æ‰Ģ描", "library_scanning_description": "配įŊŽåŽšæœŸæ‰Ģ描回åē“", "library_scanning_enable_description": "å¯į”¨åŽšæœŸæ‰Ģ描回åē“", "library_settings": "外部回åē“", "library_settings_description": "įŽĄį†å¤–éƒ¨å›žåē“莞įŊŽ", "library_tasks_description": "æ‰Ģ描外部åē“īŧŒæŸĨ扞新åĸžæˆ–äŋŽæ”šįš„éĄšį›Ž", + "library_updated": "åˇ˛æ›´æ–°įš„å›žåē“", "library_watching_enable_description": "į›‘æŽ§å¤–éƒ¨å›žå瓿–‡äģļ变化", "library_watching_settings": "į›‘æŽ§å›žåē“[厞éĒŒæ€§]", "library_watching_settings_description": "č‡ĒåŠ¨į›‘æŽ§æ–‡äģļ变化", @@ -173,6 +177,10 @@ "machine_learning_smart_search_enabled": "吝ᔍæ™ēčƒŊ搜į´ĸ", "machine_learning_smart_search_enabled_description": "åĻ‚æžœįρᔍīŧŒåˆ™ä¸äŧšå¯šå›žåƒįŧ–᠁äģĨᔍäēŽæ™ēčƒŊ搜į´ĸ。", "machine_learning_url_description": "æœē器å­Ļäš æœåŠĄå™¨įš„ URL。åĻ‚æžœæäž›å¤šä¸Ē URLīŧŒåˆ™å°†æŒ‰äžæŦĄå°č¯•čŋžæŽĨ每ä¸ĒæœåŠĄå™¨īŧŒį›´åˆ°æœ‰ä¸€ä¸ĒæœåŠĄå™¨æˆåŠŸå“åē”ä¸ēæ­ĸ。不响åē”įš„æœåŠĄå™¨å°†čĸĢæš‚æ—ļåŋŊį•ĨīŧŒį›´åˆ°åރäģŦé‡æ–°č”æœē。", + "maintenance_settings": "įģ´æŠ¤æ¨Ąåŧ", + "maintenance_settings_description": "将ImmichįŊŽäēŽįģ´æŠ¤æ¨Ąåŧã€‚", + "maintenance_start": "åŧ€å¯įģ´æŠ¤æ¨Ąåŧ", + "maintenance_start_error": "åŧ€å¯įģ´æŠ¤æ¨Ąåŧå¤ąč´Ĩ。", "manage_concurrency": "įŽĄį†äģģåŠĄåšļ发", "manage_log_settings": "įŽĄį†æ—Ĩåŋ—莞įŊŽ", "map_dark_style": "æˇąč‰˛æ¨Ąåŧ", @@ -430,6 +438,7 @@ "age_months": "{months, plural, one {#ä¸Ē月} other {#ä¸Ē月}}", "age_year_months": "1垁{months, plural, one {#ä¸Ē月} other {#ä¸Ē月}}", "age_years": "{years, plural, other {#垁}}", + "album": "į›¸å†Œ", "album_added": "čĸĢæˇģåŠ åˆ°į›¸å†Œ", "album_added_notification_setting_description": "åŊ“您čĸĢæˇģåŠ åˆ°å…ąäēĢį›¸å†Œæ—ļīŧŒæŽĨæ”ļé‚ŽįŽąé€šįŸĨ", "album_cover_updated": "į›¸å†Œå°éĸåˇ˛æ›´æ–°", @@ -475,6 +484,7 @@ "allow_edits": "å…čŽ¸įŧ–čž‘", "allow_public_user_to_download": "å…čŽ¸æ‰€æœ‰į”¨æˆˇä¸‹čŊŊ", "allow_public_user_to_upload": "å…čŽ¸æ‰€æœ‰į”¨æˆˇä¸Šäŧ ", + "allowed": "å…čŽ¸", "alt_text_qr_code": "äēŒįģ´į å›žį‰‡", "anti_clockwise": "逆æ—ļ针", "api_key": "API 密é’Ĩ", @@ -894,8 +904,6 @@ "edit_description_prompt": "č¯ˇé€‰æ‹Šæ–°įš„æčŋ°īŧš", "edit_exclusion_pattern": "įŧ–čž‘æŽ’é™¤č§„åˆ™", "edit_faces": "įŧ–čž‘äēē脸", - "edit_import_path": "įŧ–čž‘å¯ŧå…Ĩčˇ¯åž„", - "edit_import_paths": "įŧ–čž‘å¯ŧå…Ĩčˇ¯åž„", "edit_key": "įŧ–čž‘ API 密é’Ĩ", "edit_link": "įŧ–螑铞æŽĨ", "edit_location": "įŧ–čž‘äŊįŊŽ", @@ -967,8 +975,8 @@ "failed_to_stack_assets": "æ— æŗ•å †å éĄšį›Ž", "failed_to_unstack_assets": "æ— æŗ•å–æļˆå †å éĄšį›Ž", "failed_to_update_notification_status": "更新通įŸĨįŠļæ€å¤ąč´Ĩ", - "import_path_already_exists": "æ­¤å¯ŧå…Ĩčˇ¯åž„åˇ˛å­˜åœ¨ã€‚", "incorrect_email_or_password": "é‚ŽįŽąæˆ–å¯†į é”™č¯¯", + "library_folder_already_exists": "å¯ŧå…Ĩčˇ¯åž„åˇ˛å­˜åœ¨ã€‚", "paths_validation_failed": "{paths, plural, one {#æĄčˇ¯åž„} other {#æĄčˇ¯åž„}} æ ĄéĒŒå¤ąč´Ĩ", "profile_picture_transparent_pixels": "ä¸Ēäēēčĩ„æ–™å›žį‰‡ä¸å¯äģĨ包åĢé€æ˜Žåƒį´ ã€‚č¯ˇæ”žå¤§æˆ–į§ģåŠ¨æ­¤å›žį‰‡ã€‚", "quota_higher_than_disk_size": "莞įŊŽįš„配éĸå¤§äēŽįŖį›˜åŽšé‡", @@ -977,7 +985,6 @@ "unable_to_add_assets_to_shared_link": "æ— æŗ•æˇģåŠ éĄšį›Žåˆ°å…ąäēĢ链æŽĨ", "unable_to_add_comment": "æ— æŗ•æˇģåŠ č¯„čŽē", "unable_to_add_exclusion_pattern": "æ— æŗ•æˇģåŠ æŽ’é™¤č§„åˆ™", - "unable_to_add_import_path": "æ— æŗ•æˇģ加å¯ŧå…Ĩčˇ¯åž„", "unable_to_add_partners": "æ— æŗ•æˇģ加同äŧ´", "unable_to_add_remove_archive": "æ— æŗ•{archived, select, true {äģŽåŊ’æĄŖä¸­į§ģ除} other {æˇģåŠ éĄšį›Žåˆ°åŊ’æĄŖ}}", "unable_to_add_remove_favorites": "æ— æŗ•{favorite, select, true {æˇģåŠ éĄšį›Žåˆ°æ”ļ藏} other {äģŽæ”ļ藏中į§ģ除}}", @@ -1000,12 +1007,10 @@ "unable_to_delete_asset": "æ— æŗ•åˆ é™¤éĄšį›Ž", "unable_to_delete_assets": "æ— æŗ•åˆ é™¤éĄšį›Ž", "unable_to_delete_exclusion_pattern": "æ— æŗ•åˆ é™¤æŽ’é™¤č§„åˆ™", - "unable_to_delete_import_path": "æ— æŗ•åˆ é™¤å¯ŧå…Ĩčˇ¯åž„", "unable_to_delete_shared_link": "æ— æŗ•åˆ é™¤å…ąäēĢ链æŽĨ", "unable_to_delete_user": "æ— æŗ•åˆ é™¤į”¨æˆˇ", "unable_to_download_files": "æ— æŗ•ä¸‹čŊŊ文äģļ", "unable_to_edit_exclusion_pattern": "æ— æŗ•įŧ–čž‘æŽ’é™¤č§„åˆ™", - "unable_to_edit_import_path": "æ— æŗ•įŧ–čž‘å¯ŧå…Ĩčˇ¯åž„", "unable_to_empty_trash": "æ— æŗ•æ¸…įŠē回æ”ļįĢ™", "unable_to_enter_fullscreen": "æ— æŗ•čŋ›å…Ĩå…¨åą", "unable_to_exit_fullscreen": "æ— æŗ•é€€å‡ēå…¨åą", @@ -1056,6 +1061,7 @@ "unable_to_update_user": "æ— æŗ•æ›´æ–°į”¨æˆˇ", "unable_to_upload_file": "æ— æŗ•ä¸Šäŧ æ–‡äģļ" }, + "exclusion_pattern": "æŽ’é™¤č§„åˆ™", "exif": "Exif äŋĄæ¯", "exif_bottom_sheet_description": "æˇģ加描čŋ°...", "exif_bottom_sheet_description_error": "更新描čŋ°æ—ļå‡ē错", @@ -1115,6 +1121,7 @@ "folders_feature_description": "在文äģļå¤šč§†å›žä¸­æĩč§ˆæ–‡äģļįŗģįģŸä¸Šįš„į…§į‰‡å’Œč§†éĸ‘", "forgot_pin_code_question": "åŋ˜čŽ°æ‚¨įš„PIN᠁äē†īŧŸ", "forward": "向前", + "full_path": "åŽŒæ•´čˇ¯åž„īŧš{path}", "gcast_enabled": "Google Cast æŠ•åą", "gcast_enabled_description": "č¯Ĩ功čƒŊ需čρ加čŊŊæĨč‡Ē Google įš„å¤–éƒ¨čĩ„æēã€‚", "general": "é€šį”¨", @@ -1196,6 +1203,8 @@ "import_path": "å¯ŧå…Ĩčˇ¯åž„", "in_albums": "在{count, plural, one {#ä¸Ēį›¸å†Œ} other {#ä¸Ēį›¸å†Œ}}中", "in_archive": "在åŊ’æĄŖä¸­", + "in_year": "{year}åš´", + "in_year_selector": "在", "include_archived": "包æ‹Ŧ厞åŊ’æĄŖ", "include_shared_albums": "包æ‹Ŧå…ąäēĢį›¸å†Œ", "include_shared_partner_assets": "包æ‹Ŧ同äŧ´å…ąäēĢéĄšį›Ž", @@ -1232,6 +1241,7 @@ "language_setting_description": "é€‰æ‹Šæ‚¨įš„č¯­č¨€ååĨŊ", "large_files": "大文äģļ", "last": "最后一ä¸Ē", + "last_months": "{count, plural, one {上ä¸Ē月} other {最čŋ‘ # ä¸Ē月}}", "last_seen": "最后上įēŋäēŽ", "latest_version": "æœ€æ–°į‰ˆæœŦ", "latitude": "įēŦåēĻ", @@ -1241,6 +1251,8 @@ "let_others_respond": "å…čŽ¸äģ–äēē回åē”", "level": "į­‰įē§", "library": "回åē“", + "library_add_folder": "æˇģ加文äģļ多", + "library_edit_folder": "įŧ–čž‘æ–‡äģļ多", "library_options": "回åē“选饚", "library_page_device_albums": "čŽžå¤‡ä¸Šįš„į›¸å†Œ", "library_page_new_album": "新åģēį›¸å†Œ", @@ -1312,8 +1324,17 @@ "loop_videos_description": "å¯į”¨åœ¨č¯Ļįģ†äŋĄæ¯ä¸­č‡Ē动åžĒįŽ¯æ’­æ”žč§†éĸ‘。", "main_branch_warning": "您åŊ“前äŊŋį”¨įš„æ˜¯åŧ€å‘į‰ˆīŧ›æˆ‘äģŦåŧē჈åģēčŽŽæ‚¨äŊŋį”¨æ­Ŗåŧå‘čĄŒį‰ˆīŧˆreleaseį‰ˆīŧ‰īŧ", "main_menu": "ä¸ģčœå•", + "maintenance_description": "Immich厞čŋ›å…Ĩįģ´æŠ¤æ¨Ąåŧã€‚", + "maintenance_end": "退å‡ēįģ´æŠ¤æ¨Ąåŧ", + "maintenance_end_error": "退å‡ēįģ´æŠ¤æ¨Ąåŧå¤ąč´Ĩ。", + "maintenance_logged_in_as": "åŊ“前äģĨ{user}čēĢäģŊį™ģåŊ•", + "maintenance_title": "暂æ—ļä¸å¯į”¨", "make": "å“į‰Œ", "manage_geolocation": "įŽĄį†åæ ‡äŊįŊŽ", + "manage_media_access_rationale": "æ­ŖįĄŽå¤„į†å°†čĩ„äē§į§ģč‡ŗåžƒåœžæĄļåšļ将å…ļäģŽåžƒåœžæĄļ中æĸ复需čĻæ­¤čŽ¸å¯ã€‚", + "manage_media_access_settings": "打åŧ€čŽžįŊŽ", + "manage_media_access_subtitle": "å…čŽ¸Immichåē”ᔍፋåēįŽĄį†å’Œį§ģ动åĒ’äŊ“æ–‡äģļ。", + "manage_media_access_title": "åĒ’äŊ“įŽĄį†čŽŋ问", "manage_shared_links": "įŽĄį†å…ąäēĢ链æŽĨ", "manage_sharing_with_partners": "įŽĄį†ä¸ŽåŒäŧ´įš„å…ąäēĢ", "manage_the_app_settings": "įŽĄį†åē”į”¨čŽžįŊŽ", @@ -1377,6 +1398,7 @@ "more": "更多", "move": "į§ģ动", "move_off_locked_folder": "į§ģå‡ē锁厚文äģļ多", + "move_to": "į§ģ动到", "move_to_lock_folder_action_prompt": "厞将 {count} 饚æˇģ加到锁厚文äģļ多", "move_to_locked_folder": "į§ģ动到锁厚文äģļ多", "move_to_locked_folder_confirmation": "čŋ™äē›į…§į‰‡å’Œč§†éĸ‘å°†äģŽæ‰€æœ‰į›¸å†Œä¸­į§ģ除īŧŒåĒčƒŊ在锁厚文äģļ多中æŸĨįœ‹", @@ -1406,6 +1428,7 @@ "new_pin_code": "æ–°įš„PIN᠁", "new_pin_code_subtitle": "čŋ™æ˜¯æ‚¨įŦŦ一æŦĄčŽŋ闎此锁厚文äģļ多。创åģē一ä¸ĒPIN᠁äģĨ厉全čŽŋé—Žæ­¤éĄĩéĸ", "new_timeline": "切æĸåˆ°æ–°į‰ˆæ—ļ间įēŋ", + "new_update": "æ–°į‰ˆæœŦ", "new_user_created": "åˇ˛åˆ›åģēæ–°į”¨æˆˇ", "new_version_available": "æœ‰æ–°į‰ˆæœŦ发布å•Ļ", "newest_first": "最新äŧ˜å…ˆ", @@ -1421,22 +1444,25 @@ "no_cast_devices_found": "æœĒæ‰žåˆ°æŠ•æ”žčŽžå¤‡", "no_checksum_local": "æ˛Ąæœ‰å¯į”¨įš„æ ĄéĒŒå’Œ-æ— æŗ•čŽˇå–æœŦ地čĩ„äē§", "no_checksum_remote": "æ˛Ąæœ‰å¯į”¨įš„æ ĄéĒŒå’Œ-æ— æŗ•čŽˇå–čŋœį¨‹čĩ„äē§", + "no_devices": "æ— æŽˆæƒčŽžå¤‡", "no_duplicates_found": "æœĒå‘įŽ°é‡å¤éĄšã€‚", "no_exif_info_available": "æ˛Ąæœ‰å¯į”¨įš„ EXIF äŋĄæ¯", "no_explore_results_message": "上äŧ æ›´å¤šį…§į‰‡æĨæŽĸį´ĸ。", "no_favorites_message": "æˇģ加到æ”ļč—å¤šīŧŒåŋĢ速æŸĨ扞最äŊŗå›žį‰‡å’Œč§†éĸ‘", "no_libraries_message": "创åģē外部回å瓿ĨæŸĨįœ‹æ‚¨įš„į…§į‰‡å’Œč§†éĸ‘", "no_local_assets_found": "æœĒæ‰žåˆ°å…ˇæœ‰æ­¤æ ĄéĒŒå’Œįš„æœŦ地čĩ„äē§", + "no_location_set": "æœĒ莞įŊŽåœ°į‚š", "no_locked_photos_message": "锁厚文äģļå¤šä¸­įš„į…§į‰‡å’Œč§†éĸ‘å°†čĸĢ隐藏īŧŒä¸äŧšåœ¨æ‚¨æĩč§ˆã€æœį´ĸ回å瓿—ļå‡ēįŽ°ã€‚", "no_name": "æœĒå‘Ŋ名", "no_notifications": "æ˛Ąæœ‰é€šįŸĨ", "no_people_found": "æœĒæ‰žåˆ°åŒšé…įš„äēēį‰Š", "no_places": "无äŊįŊŽ", "no_remote_assets_found": "æœĒæ‰žåˆ°å…ˇæœ‰æ­¤æ ĄéĒŒå’Œįš„čŋœį¨‹čĩ„äē§", - "no_results": "无į쓿žœ", + "no_results": "无搜į´ĸį쓿žœ", "no_results_description": "å°č¯•äŊŋį”¨åŒäš‰č¯æˆ–æ›´é€šį”¨įš„å…ŗé”Žč¯", "no_shared_albums_message": "创åģēį›¸å†ŒäģĨå…ąäēĢį…§į‰‡å’Œč§†éĸ‘", "no_uploads_in_progress": "æ˛Ąæœ‰æ­Ŗåœ¨čŋ›čĄŒįš„上äŧ ", + "not_allowed": "ä¸å…čŽ¸", "not_available": "ä¸é€‚į”¨", "not_in_any_album": "不在äģģäŊ•į›¸å†Œä¸­", "not_selected": "æœĒ选拊", @@ -1547,6 +1573,8 @@ "photos_count": "{count, plural, one {{count, number}åŧ į…§į‰‡} other {{count, number}åŧ į…§į‰‡}}", "photos_from_previous_years": "čŋ‡åž€įš„ä슿˜”įžŦ间", "pick_a_location": "选拊äŊįŊŽ", + "pick_custom_range": "č‡ĒåŽšäš‰čŒƒå›´", + "pick_date_range": "选拊æ—ĨæœŸčŒƒå›´", "pin_code_changed_successfully": "äŋŽæ”šPINį æˆåŠŸ", "pin_code_reset_successfully": "重įŊŽPINį æˆåŠŸ", "pin_code_setup_successfully": "莞įŊŽPINį æˆåŠŸ", @@ -1814,6 +1842,8 @@ "server_offline": "æœåŠĄå™¨įĻģįēŋ", "server_online": "æœåŠĄå™¨åœ¨įēŋ", "server_privacy": "æœåŠĄå™¨éšį§", + "server_restarting_description": "æ­¤éĄĩéĸ将įĢ‹åŗåˆˇæ–°ã€‚", + "server_restarting_title": "æœåŠĄå™¨æ­Ŗåœ¨é‡æ–°å¯åŠ¨", "server_stats": "æœåŠĄå™¨įŠļ态", "server_update_available": "æœåŠĄå™¨æ›´æ–°å¯į”¨", "server_version": "æœåŠĄå™¨į‰ˆæœŦ", @@ -2027,6 +2057,7 @@ "third_party_resources": "įŦŦ三斚čĩ„æē", "time": "æ—ļ间", "time_based_memories": "é‚Ŗåš´ä슿—Ĩ", + "time_based_memories_duration": "昞į¤ē每åŧ å›žåƒįš„į§’æ•°ã€‚", "timeline": "æ—ļ间įēŋ", "timezone": "æ—ļåŒē", "to_archive": "åŊ’æĄŖ", @@ -2167,6 +2198,7 @@ "welcome": "æŦĸčŋŽ", "welcome_to_immich": "æŦĸčŋŽäŊŋᔍ Immich", "wifi_name": "Wi-Fi åį§°", + "workflow": "æĩį¨‹", "wrong_pin_code": "é”™č¯¯įš„PIN᠁", "year": "åš´", "years_ago": "{years, plural, one {#åš´} other {#åš´}}前", diff --git a/machine-learning/pyproject.toml b/machine-learning/pyproject.toml index a93ab1c2af..436dbb7db1 100644 --- a/machine-learning/pyproject.toml +++ b/machine-learning/pyproject.toml @@ -1,6 +1,6 @@ [project] name = "immich-ml" -version = "2.2.3" +version = "2.3.1" description = "" authors = [{ name = "Hau Tran", email = "alex.tran1502@gmail.com" }] requires-python = ">=3.10,<4.0" diff --git a/mobile/android/fastlane/Fastfile b/mobile/android/fastlane/Fastfile index 6b9ce07465..b2e6c568c2 100644 --- a/mobile/android/fastlane/Fastfile +++ b/mobile/android/fastlane/Fastfile @@ -35,8 +35,8 @@ platform :android do task: 'bundle', build_type: 'Release', properties: { - "android.injected.version.code" => 3026, - "android.injected.version.name" => "2.2.3", + "android.injected.version.code" => 3028, + "android.injected.version.name" => "2.3.1", } ) upload_to_play_store(skip_upload_apk: true, skip_upload_images: true, skip_upload_screenshots: true, aab: '../build/app/outputs/bundle/release/app-release.aab') diff --git a/mobile/lib/domain/models/exif.model.dart b/mobile/lib/domain/models/exif.model.dart index 6e94c44650..84456b6dcc 100644 --- a/mobile/lib/domain/models/exif.model.dart +++ b/mobile/lib/domain/models/exif.model.dart @@ -3,8 +3,6 @@ class ExifInfo { final int? fileSize; final String? description; final bool isFlipped; - final double? width; - final double? height; final String? orientation; final String? timeZone; final DateTime? dateTimeOriginal; @@ -46,8 +44,6 @@ class ExifInfo { this.fileSize, this.description, this.orientation, - this.width, - this.height, this.timeZone, this.dateTimeOriginal, this.isFlipped = false, @@ -72,8 +68,6 @@ class ExifInfo { return other.fileSize == fileSize && other.description == description && other.isFlipped == isFlipped && - other.width == width && - other.height == height && other.orientation == orientation && other.timeZone == timeZone && other.dateTimeOriginal == dateTimeOriginal && @@ -98,8 +92,6 @@ class ExifInfo { description.hashCode ^ orientation.hashCode ^ isFlipped.hashCode ^ - width.hashCode ^ - height.hashCode ^ timeZone.hashCode ^ dateTimeOriginal.hashCode ^ latitude.hashCode ^ @@ -123,8 +115,6 @@ class ExifInfo { fileSize: ${fileSize ?? 'NA'}, description: ${description ?? 'NA'}, orientation: ${orientation ?? 'NA'}, -width: ${width ?? 'NA'}, -height: ${height ?? 'NA'}, isFlipped: $isFlipped, timeZone: ${timeZone ?? 'NA'}, dateTimeOriginal: ${dateTimeOriginal ?? 'NA'}, diff --git a/mobile/lib/domain/services/asset.service.dart b/mobile/lib/domain/services/asset.service.dart index 7f8ade313c..33661105e4 100644 --- a/mobile/lib/domain/services/asset.service.dart +++ b/mobile/lib/domain/services/asset.service.dart @@ -65,8 +65,8 @@ class AssetService { if (asset.hasRemote) { final exif = await getExif(asset); isFlipped = ExifDtoConverter.isOrientationFlipped(exif?.orientation); - width = exif?.width ?? asset.width?.toDouble(); - height = exif?.height ?? asset.height?.toDouble(); + width = asset.width?.toDouble(); + height = asset.height?.toDouble(); } else if (asset is LocalAsset) { isFlipped = CurrentPlatform.isAndroid && (asset.orientation == 90 || asset.orientation == 270); width = asset.width?.toDouble(); diff --git a/mobile/lib/domain/services/background_worker.service.dart b/mobile/lib/domain/services/background_worker.service.dart index 28c87293f9..8a237f801a 100644 --- a/mobile/lib/domain/services/background_worker.service.dart +++ b/mobile/lib/domain/services/background_worker.service.dart @@ -177,6 +177,12 @@ class BackgroundWorkerBgService extends BackgroundWorkerFlutterApi { } Future _cleanup() async { + await runZonedGuarded(_handleCleanup, (error, stack) { + dPrint(() => "Error during background worker cleanup: $error, $stack"); + }); + } + + Future _handleCleanup() async { // If ref is null, it means the service was never initialized properly if (_isCleanedUp || _ref == null) { return; @@ -186,11 +192,16 @@ class BackgroundWorkerBgService extends BackgroundWorkerFlutterApi { _isCleanedUp = true; final backgroundSyncManager = _ref?.read(backgroundSyncProvider); final nativeSyncApi = _ref?.read(nativeSyncApiProvider); + + await _drift.close(); + await _driftLogger.close(); + _ref?.dispose(); _ref = null; _cancellationToken.cancel(); _logger.info("Cleaning up background worker"); + final cleanupFutures = [ nativeSyncApi?.cancelHashing(), workerManagerPatch.dispose().catchError((_) async { @@ -199,8 +210,7 @@ class BackgroundWorkerBgService extends BackgroundWorkerFlutterApi { }), LogService.I.dispose(), Store.dispose(), - _drift.close(), - _driftLogger.close(), + backgroundSyncManager?.cancel(), ]; diff --git a/mobile/lib/infrastructure/entities/exif.entity.dart b/mobile/lib/infrastructure/entities/exif.entity.dart index 9c7f9e9975..f858e8b463 100644 --- a/mobile/lib/infrastructure/entities/exif.entity.dart +++ b/mobile/lib/infrastructure/entities/exif.entity.dart @@ -165,8 +165,6 @@ extension RemoteExifEntityDataDomainEx on RemoteExifEntityData { f: fNumber?.toDouble(), mm: focalLength?.toDouble(), lens: lens, - width: width?.toDouble(), - height: height?.toDouble(), isFlipped: ExifDtoConverter.isOrientationFlipped(orientation), ); } diff --git a/mobile/lib/infrastructure/repositories/sync_stream.repository.dart b/mobile/lib/infrastructure/repositories/sync_stream.repository.dart index 8e087f836f..5ab1844571 100644 --- a/mobile/lib/infrastructure/repositories/sync_stream.repository.dart +++ b/mobile/lib/infrastructure/repositories/sync_stream.repository.dart @@ -219,8 +219,6 @@ class SyncStreamRepository extends DriftDatabaseRepository { country: Value(exif.country), dateTimeOriginal: Value(exif.dateTimeOriginal), description: Value(exif.description), - height: Value(exif.exifImageHeight), - width: Value(exif.exifImageWidth), exposureTime: Value(exif.exposureTime), fNumber: Value(exif.fNumber), fileSize: Value(exif.fileSizeInByte), @@ -244,6 +242,16 @@ class SyncStreamRepository extends DriftDatabaseRepository { ); } }); + + await _db.batch((batch) { + for (final exif in data) { + batch.update( + _db.remoteAssetEntity, + RemoteAssetEntityCompanion(width: Value(exif.exifImageWidth), height: Value(exif.exifImageHeight)), + where: (row) => row.id.equals(exif.assetId), + ); + } + }); } catch (error, stack) { _logger.severe('Error: updateAssetsExifV1 - $debugLabel', error, stack); rethrow; diff --git a/mobile/lib/presentation/pages/drift_asset_troubleshoot.page.dart b/mobile/lib/presentation/pages/drift_asset_troubleshoot.page.dart index 7a899f4e72..752ab5ba37 100644 --- a/mobile/lib/presentation/pages/drift_asset_troubleshoot.page.dart +++ b/mobile/lib/presentation/pages/drift_asset_troubleshoot.page.dart @@ -161,8 +161,6 @@ class _AssetPropertiesSectionState extends ConsumerState<_AssetPropertiesSection value: exif.fileSize != null ? '${(exif.fileSize! / 1024 / 1024).toStringAsFixed(2)} MB' : null, ), _PropertyItem(label: 'Description', value: exif.description), - _PropertyItem(label: 'EXIF Width', value: exif.width?.toString()), - _PropertyItem(label: 'EXIF Height', value: exif.height?.toString()), _PropertyItem(label: 'Date Taken', value: exif.dateTimeOriginal?.toString()), _PropertyItem(label: 'Time Zone', value: exif.timeZone), _PropertyItem(label: 'Camera Make', value: exif.make), diff --git a/mobile/lib/presentation/widgets/asset_viewer/bottom_sheet.widget.dart b/mobile/lib/presentation/widgets/asset_viewer/bottom_sheet.widget.dart index d29e09a247..582a33136a 100644 --- a/mobile/lib/presentation/widgets/asset_viewer/bottom_sheet.widget.dart +++ b/mobile/lib/presentation/widgets/asset_viewer/bottom_sheet.widget.dart @@ -4,7 +4,6 @@ import 'package:auto_route/auto_route.dart'; import 'package:collection/collection.dart'; import 'package:easy_localization/easy_localization.dart'; import 'package:flutter/material.dart'; -import 'package:flutter/services.dart'; import 'package:hooks_riverpod/hooks_riverpod.dart'; import 'package:immich_mobile/constants/enums.dart'; import 'package:immich_mobile/domain/models/asset/base_asset.model.dart'; @@ -16,8 +15,8 @@ import 'package:immich_mobile/presentation/widgets/album/album_tile.dart'; import 'package:immich_mobile/presentation/widgets/asset_viewer/asset_viewer.state.dart'; import 'package:immich_mobile/presentation/widgets/asset_viewer/bottom_sheet/sheet_location_details.widget.dart'; import 'package:immich_mobile/presentation/widgets/asset_viewer/bottom_sheet/sheet_people_details.widget.dart'; +import 'package:immich_mobile/presentation/widgets/asset_viewer/sheet_tile.widget.dart'; import 'package:immich_mobile/presentation/widgets/bottom_sheet/base_bottom_sheet.widget.dart'; -import 'package:immich_mobile/providers/haptic_feedback.provider.dart'; import 'package:immich_mobile/providers/infrastructure/action.provider.dart'; import 'package:immich_mobile/providers/infrastructure/album.provider.dart'; import 'package:immich_mobile/providers/infrastructure/asset_viewer/current_asset.provider.dart'; @@ -97,8 +96,8 @@ class _AssetDetailBottomSheet extends ConsumerWidget { } String _getFileInfo(BaseAsset asset, ExifInfo? exifInfo) { - final height = asset.height ?? exifInfo?.height; - final width = asset.width ?? exifInfo?.width; + final height = asset.height; + final width = asset.width; final resolution = (width != null && height != null) ? "${width.toInt()} x ${height.toInt()}" : null; final fileSize = exifInfo?.fileSize != null ? formatBytes(exifInfo!.fileSize!) : null; @@ -181,7 +180,7 @@ class _AssetDetailBottomSheet extends ConsumerWidget { spacing: 12, children: [ if (albums.isNotEmpty) - _SheetTile( + SheetTile( title: 'appears_in'.t(context: context).toUpperCase(), titleStyle: context.textTheme.labelMedium?.copyWith( color: context.textTheme.labelMedium?.color?.withAlpha(200), @@ -233,7 +232,7 @@ class _AssetDetailBottomSheet extends ConsumerWidget { future: assetMediaRepository.getOriginalFilename(asset.id), builder: (context, snapshot) { final displayName = snapshot.data ?? asset.name; - return _SheetTile( + return SheetTile( title: displayName, titleStyle: context.textTheme.labelLarge, leading: Icon( @@ -250,7 +249,7 @@ class _AssetDetailBottomSheet extends ConsumerWidget { ); } else { // For remote assets, use the name directly - return _SheetTile( + return SheetTile( title: asset.name, titleStyle: context.textTheme.labelLarge, leading: Icon( @@ -269,7 +268,7 @@ class _AssetDetailBottomSheet extends ConsumerWidget { return SliverList.list( children: [ // Asset Date and Time - _SheetTile( + SheetTile( title: _getDateTime(context, asset), titleStyle: context.textTheme.bodyMedium?.copyWith(fontWeight: FontWeight.w600), trailing: asset.hasRemote && isOwner ? const Icon(Icons.edit, size: 18) : null, @@ -279,7 +278,7 @@ class _AssetDetailBottomSheet extends ConsumerWidget { const SheetPeopleDetails(), const SheetLocationDetails(), // Details header - _SheetTile( + SheetTile( title: 'exif_bottom_sheet_details'.t(context: context), titleStyle: context.textTheme.labelMedium?.copyWith( color: context.textTheme.labelMedium?.color?.withAlpha(200), @@ -290,7 +289,7 @@ class _AssetDetailBottomSheet extends ConsumerWidget { buildFileInfoTile(), // Camera info if (cameraTitle != null) - _SheetTile( + SheetTile( title: cameraTitle, titleStyle: context.textTheme.labelLarge, leading: Icon(Icons.camera_alt_outlined, size: 24, color: context.textTheme.labelLarge?.color), @@ -301,7 +300,7 @@ class _AssetDetailBottomSheet extends ConsumerWidget { ), // Lens info if (lensTitle != null) - _SheetTile( + SheetTile( title: lensTitle, titleStyle: context.textTheme.labelLarge, leading: Icon(Icons.camera_outlined, size: 24, color: context.textTheme.labelLarge?.color), @@ -319,77 +318,6 @@ class _AssetDetailBottomSheet extends ConsumerWidget { } } -class _SheetTile extends ConsumerWidget { - final String title; - final Widget? leading; - final Widget? trailing; - final String? subtitle; - final TextStyle? titleStyle; - final TextStyle? subtitleStyle; - final VoidCallback? onTap; - - const _SheetTile({ - required this.title, - this.titleStyle, - this.leading, - this.subtitle, - this.subtitleStyle, - this.trailing, - this.onTap, - }); - - void copyTitle(BuildContext context, WidgetRef ref) { - Clipboard.setData(ClipboardData(text: title)); - ImmichToast.show( - context: context, - msg: 'copied_to_clipboard'.t(context: context), - toastType: ToastType.info, - ); - ref.read(hapticFeedbackProvider.notifier).selectionClick(); - } - - @override - Widget build(BuildContext context, WidgetRef ref) { - final Widget titleWidget; - if (leading == null) { - titleWidget = LimitedBox( - maxWidth: double.infinity, - child: Text(title, style: titleStyle), - ); - } else { - titleWidget = Container( - width: double.infinity, - padding: const EdgeInsets.only(left: 15), - child: Text(title, style: titleStyle), - ); - } - - final Widget? subtitleWidget; - if (leading == null && subtitle != null) { - subtitleWidget = Text(subtitle!, style: subtitleStyle); - } else if (leading != null && subtitle != null) { - subtitleWidget = Padding( - padding: const EdgeInsets.only(left: 15), - child: Text(subtitle!, style: subtitleStyle), - ); - } else { - subtitleWidget = null; - } - - return ListTile( - dense: true, - visualDensity: VisualDensity.compact, - title: GestureDetector(onLongPress: () => copyTitle(context, ref), child: titleWidget), - titleAlignment: ListTileTitleAlignment.center, - leading: leading, - trailing: trailing, - contentPadding: leading == null ? null : const EdgeInsets.only(left: 25), - subtitle: subtitleWidget, - onTap: onTap, - ); - } -} - class _SheetAssetDescription extends ConsumerStatefulWidget { final ExifInfo exif; final bool isEditable; diff --git a/mobile/lib/presentation/widgets/asset_viewer/bottom_sheet/sheet_location_details.widget.dart b/mobile/lib/presentation/widgets/asset_viewer/bottom_sheet/sheet_location_details.widget.dart index ab57ea4d8b..05d19476c6 100644 --- a/mobile/lib/presentation/widgets/asset_viewer/bottom_sheet/sheet_location_details.widget.dart +++ b/mobile/lib/presentation/widgets/asset_viewer/bottom_sheet/sheet_location_details.widget.dart @@ -1,9 +1,12 @@ import 'package:flutter/material.dart'; import 'package:hooks_riverpod/hooks_riverpod.dart'; +import 'package:immich_mobile/constants/enums.dart'; import 'package:immich_mobile/domain/models/asset/base_asset.model.dart'; import 'package:immich_mobile/domain/models/exif.model.dart'; import 'package:immich_mobile/extensions/build_context_extensions.dart'; import 'package:immich_mobile/extensions/translate_extensions.dart'; +import 'package:immich_mobile/presentation/widgets/asset_viewer/sheet_tile.widget.dart'; +import 'package:immich_mobile/providers/infrastructure/action.provider.dart'; import 'package:immich_mobile/providers/infrastructure/asset_viewer/current_asset.provider.dart'; import 'package:immich_mobile/widgets/asset_viewer/detail_panel/exif_map.dart'; import 'package:maplibre_gl/maplibre_gl.dart'; @@ -16,8 +19,6 @@ class SheetLocationDetails extends ConsumerStatefulWidget { } class _SheetLocationDetailsState extends ConsumerState { - BaseAsset? asset; - ExifInfo? exifInfo; MapLibreMapController? _mapController; String? _getLocationName(ExifInfo? exifInfo) { @@ -39,14 +40,11 @@ class _SheetLocationDetailsState extends ConsumerState { } void _onExifChanged(AsyncValue? previous, AsyncValue current) { - asset = ref.read(currentAssetNotifier); - setState(() { - exifInfo = current.valueOrNull; - final hasCoordinates = exifInfo?.hasCoordinates ?? false; - if (exifInfo != null && hasCoordinates) { - _mapController?.moveCamera(CameraUpdate.newLatLng(LatLng(exifInfo!.latitude!, exifInfo!.longitude!))); - } - }); + final currentExif = current.valueOrNull; + + if (currentExif != null && currentExif.hasCoordinates) { + _mapController?.moveCamera(CameraUpdate.newLatLng(LatLng(currentExif.latitude!, currentExif.longitude!))); + } } @override @@ -55,45 +53,71 @@ class _SheetLocationDetailsState extends ConsumerState { ref.listenManual(currentAssetExifProvider, _onExifChanged, fireImmediately: true); } + void editLocation() async { + await ref.read(actionProvider.notifier).editLocation(ActionSource.viewer, context); + } + @override Widget build(BuildContext context) { + final asset = ref.watch(currentAssetNotifier); + final exifInfo = ref.watch(currentAssetExifProvider).valueOrNull; final hasCoordinates = exifInfo?.hasCoordinates ?? false; - // Guard no lat/lng - if (!hasCoordinates || (asset != null && asset is LocalAsset && asset!.hasRemote)) { + // Guard local assets + if (asset != null && asset is LocalAsset && asset.hasRemote) { return const SizedBox.shrink(); } - final remoteId = asset is LocalAsset ? (asset as LocalAsset).remoteId : (asset as RemoteAsset).id; + final remoteId = asset is LocalAsset ? asset.remoteId : (asset as RemoteAsset).id; final locationName = _getLocationName(exifInfo); - final coordinates = "${exifInfo!.latitude!.toStringAsFixed(4)}, ${exifInfo!.longitude!.toStringAsFixed(4)}"; + final coordinates = "${exifInfo?.latitude?.toStringAsFixed(4)}, ${exifInfo?.longitude?.toStringAsFixed(4)}"; return Padding( - padding: EdgeInsets.symmetric(vertical: 16.0, horizontal: context.isMobile ? 16.0 : 56.0), + padding: const EdgeInsets.only(bottom: 12), child: Column( crossAxisAlignment: CrossAxisAlignment.start, children: [ - Padding( - padding: const EdgeInsets.only(bottom: 16), - child: Text( - "exif_bottom_sheet_location".t(context: context), - style: context.textTheme.labelMedium?.copyWith( - color: context.textTheme.labelMedium?.color?.withAlpha(200), - fontWeight: FontWeight.w600, + SheetTile( + title: 'exif_bottom_sheet_location'.t(context: context), + titleStyle: context.textTheme.labelMedium?.copyWith( + color: context.textTheme.labelMedium?.color?.withAlpha(200), + fontWeight: FontWeight.w600, + ), + trailing: hasCoordinates ? const Icon(Icons.edit_location_alt, size: 20) : null, + onTap: editLocation, + ), + if (hasCoordinates) + Padding( + padding: EdgeInsets.symmetric(horizontal: context.isMobile ? 16.0 : 56.0), + child: Column( + crossAxisAlignment: CrossAxisAlignment.start, + children: [ + ExifMap(exifInfo: exifInfo!, markerId: remoteId, onMapCreated: _onMapCreated), + const SizedBox(height: 16), + if (locationName != null) + Padding( + padding: const EdgeInsets.only(bottom: 4.0), + child: Text(locationName, style: context.textTheme.labelLarge), + ), + Text( + coordinates, + style: context.textTheme.labelMedium?.copyWith( + color: context.textTheme.labelMedium?.color?.withAlpha(150), + ), + ), + ], ), ), - ), - ExifMap(exifInfo: exifInfo!, markerId: remoteId, onMapCreated: _onMapCreated), - const SizedBox(height: 15), - if (locationName != null) - Padding( - padding: const EdgeInsets.only(bottom: 4.0), - child: Text(locationName, style: context.textTheme.labelLarge), + if (!hasCoordinates) + SheetTile( + title: "add_a_location".t(context: context), + titleStyle: context.textTheme.bodyMedium?.copyWith( + fontWeight: FontWeight.w600, + color: context.primaryColor, + ), + leading: const Icon(Icons.location_off), + onTap: editLocation, ), - Text( - coordinates, - style: context.textTheme.labelMedium?.copyWith(color: context.textTheme.labelMedium?.color?.withAlpha(150)), - ), ], ), ); diff --git a/mobile/lib/presentation/widgets/asset_viewer/sheet_tile.widget.dart b/mobile/lib/presentation/widgets/asset_viewer/sheet_tile.widget.dart new file mode 100644 index 0000000000..e78aa926aa --- /dev/null +++ b/mobile/lib/presentation/widgets/asset_viewer/sheet_tile.widget.dart @@ -0,0 +1,78 @@ +import 'package:flutter/material.dart'; +import 'package:flutter/services.dart'; +import 'package:hooks_riverpod/hooks_riverpod.dart'; +import 'package:immich_mobile/extensions/translate_extensions.dart'; +import 'package:immich_mobile/providers/haptic_feedback.provider.dart'; +import 'package:immich_mobile/widgets/common/immich_toast.dart'; + +class SheetTile extends ConsumerWidget { + final String title; + final Widget? leading; + final Widget? trailing; + final String? subtitle; + final TextStyle? titleStyle; + final TextStyle? subtitleStyle; + final VoidCallback? onTap; + + const SheetTile({ + super.key, + required this.title, + this.titleStyle, + this.leading, + this.subtitle, + this.subtitleStyle, + this.trailing, + this.onTap, + }); + + void copyTitle(BuildContext context, WidgetRef ref) { + Clipboard.setData(ClipboardData(text: title)); + ImmichToast.show( + context: context, + msg: 'copied_to_clipboard'.t(context: context), + toastType: ToastType.info, + ); + ref.read(hapticFeedbackProvider.notifier).selectionClick(); + } + + @override + Widget build(BuildContext context, WidgetRef ref) { + final Widget titleWidget; + if (leading == null) { + titleWidget = LimitedBox( + maxWidth: double.infinity, + child: Text(title, style: titleStyle), + ); + } else { + titleWidget = Container( + width: double.infinity, + padding: const EdgeInsets.only(left: 15), + child: Text(title, style: titleStyle), + ); + } + + final Widget? subtitleWidget; + if (leading == null && subtitle != null) { + subtitleWidget = Text(subtitle!, style: subtitleStyle); + } else if (leading != null && subtitle != null) { + subtitleWidget = Padding( + padding: const EdgeInsets.only(left: 15), + child: Text(subtitle!, style: subtitleStyle), + ); + } else { + subtitleWidget = null; + } + + return ListTile( + dense: true, + visualDensity: VisualDensity.compact, + title: GestureDetector(onLongPress: () => copyTitle(context, ref), child: titleWidget), + titleAlignment: ListTileTitleAlignment.center, + leading: leading, + trailing: trailing, + contentPadding: leading == null ? null : const EdgeInsets.only(left: 25), + subtitle: subtitleWidget, + onTap: onTap, + ); + } +} diff --git a/mobile/lib/providers/infrastructure/action.provider.dart b/mobile/lib/providers/infrastructure/action.provider.dart index 659bd05db9..d4d850d8c1 100644 --- a/mobile/lib/providers/infrastructure/action.provider.dart +++ b/mobile/lib/providers/infrastructure/action.provider.dart @@ -301,6 +301,13 @@ class ActionNotifier extends Notifier { return null; } + // This must be called since editing location + // does not update the currentAsset which means + // the exif provider will not be refreshed automatically + if (source == ActionSource.viewer) { + ref.invalidate(currentAssetExifProvider); + } + return ActionResult(count: ids.length, success: true); } catch (error, stack) { _logger.severe('Failed to edit location for assets', error, stack); diff --git a/mobile/lib/utils/migration.dart b/mobile/lib/utils/migration.dart index 2ed6d9549f..b0d7ea6013 100644 --- a/mobile/lib/utils/migration.dart +++ b/mobile/lib/utils/migration.dart @@ -29,7 +29,7 @@ import 'package:isar/isar.dart'; // ignore: import_rule_photo_manager import 'package:photo_manager/photo_manager.dart'; -const int targetVersion = 17; +const int targetVersion = 18; Future migrateDatabaseIfNeeded(Isar db, Drift drift) async { final hasVersion = Store.tryGet(StoreKey.version) != null; @@ -63,7 +63,8 @@ Future migrateDatabaseIfNeeded(Isar db, Drift drift) async { await Store.populateCache(); } - await handleBetaMigration(version, await _isNewInstallation(db, drift), SyncStreamRepository(drift)); + final syncStreamRepository = SyncStreamRepository(drift); + await handleBetaMigration(version, await _isNewInstallation(db, drift), syncStreamRepository); if (version < 17 && Store.isBetaTimelineEnabled) { final delay = Store.get(StoreKey.backupTriggerDelay, AppSettingsEnum.backupTriggerDelay.defaultValue); @@ -72,6 +73,11 @@ Future migrateDatabaseIfNeeded(Isar db, Drift drift) async { } } + if (version < 18 && Store.isBetaTimelineEnabled) { + await syncStreamRepository.reset(); + await Store.put(StoreKey.shouldResetSync, true); + } + if (targetVersion >= 12) { await Store.put(StoreKey.version, targetVersion); return; diff --git a/mobile/lib/widgets/common/location_picker.dart b/mobile/lib/widgets/common/location_picker.dart index 1f63299dd7..4736b182ed 100644 --- a/mobile/lib/widgets/common/location_picker.dart +++ b/mobile/lib/widgets/common/location_picker.dart @@ -5,7 +5,6 @@ import 'package:flutter/services.dart'; import 'package:flutter_hooks/flutter_hooks.dart'; import 'package:immich_mobile/extensions/build_context_extensions.dart'; import 'package:immich_mobile/extensions/string_extensions.dart'; -import 'package:immich_mobile/widgets/map/map_thumbnail.dart'; import 'package:immich_mobile/routing/router.dart'; import 'package:maplibre_gl/maplibre_gl.dart'; @@ -17,19 +16,36 @@ Future showLocationPicker({required BuildContext context, LatLng? initi ); } -enum _LocationPickerMode { map, manual } - class _LocationPicker extends HookWidget { final LatLng? initialLatLng; const _LocationPicker({this.initialLatLng}); + bool _validateLat(String value) { + final l = double.tryParse(value); + return l != null && l > -90 && l < 90; + } + + bool _validateLong(String value) { + final l = double.tryParse(value); + return l != null && l > -180 && l < 180; + } + @override Widget build(BuildContext context) { final latitude = useState(initialLatLng?.latitude ?? 0.0); final longitude = useState(initialLatLng?.longitude ?? 0.0); final latlng = LatLng(latitude.value, longitude.value); - final pickerMode = useState(_LocationPickerMode.map); + final latitiudeFocusNode = useFocusNode(); + final longitudeFocusNode = useFocusNode(); + final latitudeController = useTextEditingController(text: latitude.value.toStringAsFixed(4)); + final longitudeController = useTextEditingController(text: longitude.value.toStringAsFixed(4)); + + useEffect(() { + latitudeController.text = latitude.value.toStringAsFixed(4); + longitudeController.text = longitude.value.toStringAsFixed(4); + return null; + }, [latitude.value, longitude.value]); Future onMapTap() async { final newLatLng = await context.pushRoute(MapLocationPickerRoute(initialLatLng: latlng)); @@ -39,23 +55,55 @@ class _LocationPicker extends HookWidget { } } + void onLatitudeUpdated(double value) { + latitude.value = value; + longitudeFocusNode.requestFocus(); + } + + void onLongitudeEditingCompleted(double value) { + longitude.value = value; + longitudeFocusNode.unfocus(); + } + return AlertDialog( contentPadding: const EdgeInsets.all(30), alignment: Alignment.center, content: SingleChildScrollView( - child: pickerMode.value == _LocationPickerMode.map - ? _MapPicker( - key: ValueKey(latlng), - latlng: latlng, - onModeSwitch: () => pickerMode.value = _LocationPickerMode.manual, - onMapTap: onMapTap, - ) - : _ManualPicker( - latlng: latlng, - onModeSwitch: () => pickerMode.value = _LocationPickerMode.map, - onLatUpdated: (value) => latitude.value = value, - onLonUpdated: (value) => longitude.value = value, + child: Column( + mainAxisSize: MainAxisSize.min, + crossAxisAlignment: CrossAxisAlignment.start, + children: [ + Text("edit_location_dialog_title", style: context.textTheme.titleMedium).tr(), + Align( + alignment: Alignment.center, + child: TextButton.icon( + icon: const Text("location_picker_choose_on_map").tr(), + label: const Icon(Icons.map_outlined, size: 16), + onPressed: onMapTap, ), + ), + const SizedBox(height: 12), + _ManualPickerInput( + controller: latitudeController, + decorationText: "latitude", + hintText: "location_picker_latitude_hint", + errorText: "location_picker_latitude_error", + focusNode: latitiudeFocusNode, + validator: _validateLat, + onUpdated: onLatitudeUpdated, + ), + const SizedBox(height: 24), + _ManualPickerInput( + controller: longitudeController, + decorationText: "longitude", + hintText: "location_picker_longitude_hint", + errorText: "location_picker_longitude_error", + focusNode: longitudeFocusNode, + validator: _validateLong, + onUpdated: onLongitudeEditingCompleted, + ), + ], + ), ), actions: [ TextButton( @@ -81,7 +129,7 @@ class _LocationPicker extends HookWidget { } class _ManualPickerInput extends HookWidget { - final String initialValue; + final TextEditingController controller; final String decorationText; final String hintText; final String errorText; @@ -90,7 +138,7 @@ class _ManualPickerInput extends HookWidget { final Function(double value) onUpdated; const _ManualPickerInput({ - required this.initialValue, + required this.controller, required this.decorationText, required this.hintText, required this.errorText, @@ -101,7 +149,6 @@ class _ManualPickerInput extends HookWidget { @override Widget build(BuildContext context) { final isValid = useState(true); - final controller = useTextEditingController(text: initialValue); void onEditingComplete() { isValid.value = validator(controller.text); @@ -131,109 +178,3 @@ class _ManualPickerInput extends HookWidget { ); } } - -class _ManualPicker extends HookWidget { - final LatLng latlng; - final Function() onModeSwitch; - final Function(double) onLatUpdated; - final Function(double) onLonUpdated; - - const _ManualPicker({ - required this.latlng, - required this.onModeSwitch, - required this.onLatUpdated, - required this.onLonUpdated, - }); - - bool _validateLat(String value) { - final l = double.tryParse(value); - return l != null && l > -90 && l < 90; - } - - bool _validateLong(String value) { - final l = double.tryParse(value); - return l != null && l > -180 && l < 180; - } - - @override - Widget build(BuildContext context) { - final latitiudeFocusNode = useFocusNode(); - final longitudeFocusNode = useFocusNode(); - - void onLatitudeUpdated(double value) { - onLatUpdated(value); - longitudeFocusNode.requestFocus(); - } - - void onLongitudeEditingCompleted(double value) { - onLonUpdated(value); - longitudeFocusNode.unfocus(); - } - - return Column( - mainAxisSize: MainAxisSize.min, - children: [ - const Text("edit_location_dialog_title", textAlign: TextAlign.center).tr(), - const SizedBox(height: 12), - TextButton.icon( - icon: const Text("location_picker_choose_on_map").tr(), - label: const Icon(Icons.map_outlined, size: 16), - onPressed: onModeSwitch, - ), - const SizedBox(height: 12), - _ManualPickerInput( - initialValue: latlng.latitude.toStringAsFixed(4), - decorationText: "latitude", - hintText: "location_picker_latitude_hint", - errorText: "location_picker_latitude_error", - focusNode: latitiudeFocusNode, - validator: _validateLat, - onUpdated: onLatitudeUpdated, - ), - const SizedBox(height: 24), - _ManualPickerInput( - initialValue: latlng.longitude.toStringAsFixed(4), - decorationText: "longitude", - hintText: "location_picker_longitude_hint", - errorText: "location_picker_longitude_error", - focusNode: longitudeFocusNode, - validator: _validateLong, - onUpdated: onLongitudeEditingCompleted, - ), - ], - ); - } -} - -class _MapPicker extends StatelessWidget { - final LatLng latlng; - final Function() onModeSwitch; - final Function() onMapTap; - - const _MapPicker({required this.latlng, required this.onModeSwitch, required this.onMapTap, super.key}); - - @override - Widget build(BuildContext context) { - return Column( - mainAxisSize: MainAxisSize.min, - children: [ - const Text("edit_location_dialog_title", textAlign: TextAlign.center).tr(), - const SizedBox(height: 12), - TextButton.icon( - icon: Text("${latlng.latitude.toStringAsFixed(4)}, ${latlng.longitude.toStringAsFixed(4)}"), - label: const Icon(Icons.edit_outlined, size: 16), - onPressed: onModeSwitch, - ), - const SizedBox(height: 12), - MapThumbnail( - centre: latlng, - height: 200, - width: 200, - zoom: 8, - showMarkerPin: true, - onTap: (_, __) => onMapTap(), - ), - ], - ); - } -} diff --git a/mobile/openapi/README.md b/mobile/openapi/README.md index fd94b993ce..97e6860aca 100644 --- a/mobile/openapi/README.md +++ b/mobile/openapi/README.md @@ -3,7 +3,7 @@ Immich API This Dart package is automatically generated by the [OpenAPI Generator](https://openapi-generator.tech) project: -- API version: 2.2.3 +- API version: 2.3.1 - Generator version: 7.8.0 - Build package: org.openapitools.codegen.languages.DartClientCodegen diff --git a/mobile/pubspec.lock b/mobile/pubspec.lock index 59b23f23ca..6a067f509f 100644 --- a/mobile/pubspec.lock +++ b/mobile/pubspec.lock @@ -452,10 +452,11 @@ packages: drift: dependency: "direct main" description: - name: drift - sha256: "14a61af39d4584faf1d73b5b35e4b758a43008cf4c0fdb0576ec8e7032c0d9a5" - url: "https://pub.dev" - source: hosted + path: drift + ref: "53ef7e9f19fe8f68416251760b4b99fe43f1c575" + resolved-ref: "53ef7e9f19fe8f68416251760b4b99fe43f1c575" + url: "https://github.com/immich-app/drift" + source: git version: "2.26.0" drift_dev: dependency: "direct dev" diff --git a/mobile/pubspec.yaml b/mobile/pubspec.yaml index 3dce49e4e1..a49a012031 100644 --- a/mobile/pubspec.yaml +++ b/mobile/pubspec.yaml @@ -2,7 +2,7 @@ name: immich_mobile description: Immich - selfhosted backup media file on mobile phone publish_to: 'none' -version: 2.2.3+3026 +version: 2.3.1+3028 environment: sdk: '>=3.8.0 <4.0.0' @@ -113,6 +113,13 @@ dev_dependencies: riverpod_generator: ^2.6.1 riverpod_lint: ^2.6.1 +dependency_overrides: + drift: + git: + url: https://github.com/immich-app/drift + ref: '53ef7e9f19fe8f68416251760b4b99fe43f1c575' + path: drift/ + flutter: uses-material-design: true assets: diff --git a/open-api/immich-openapi-specs.json b/open-api/immich-openapi-specs.json index 5f8cfee38b..e3c01e51c3 100644 --- a/open-api/immich-openapi-specs.json +++ b/open-api/immich-openapi-specs.json @@ -14090,7 +14090,7 @@ "info": { "title": "Immich", "description": "Immich API", - "version": "2.2.3", + "version": "2.3.1", "contact": {} }, "tags": [ diff --git a/open-api/typescript-sdk/package.json b/open-api/typescript-sdk/package.json index 8716378d87..6804f0a4fd 100644 --- a/open-api/typescript-sdk/package.json +++ b/open-api/typescript-sdk/package.json @@ -1,6 +1,6 @@ { "name": "@immich/sdk", - "version": "2.2.3", + "version": "2.3.1", "description": "Auto-generated TypeScript SDK for the Immich API", "type": "module", "main": "./build/index.js", diff --git a/open-api/typescript-sdk/src/fetch-client.ts b/open-api/typescript-sdk/src/fetch-client.ts index 609ae150c8..28e3af3d87 100644 --- a/open-api/typescript-sdk/src/fetch-client.ts +++ b/open-api/typescript-sdk/src/fetch-client.ts @@ -1,6 +1,6 @@ /** * Immich - * 2.2.3 + * 2.3.1 * DO NOT MODIFY - This file has been generated using oazapfts. * See https://www.npmjs.com/package/oazapfts */ diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 20bc1de6ce..4a00b6755a 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -195,6 +195,9 @@ importers: '@eslint/js': specifier: ^9.8.0 version: 9.38.0 + '@faker-js/faker': + specifier: ^10.1.0 + version: 10.1.0 '@immich/cli': specifier: file:../cli version: link:../cli @@ -225,6 +228,9 @@ importers: '@types/supertest': specifier: ^6.0.2 version: 6.0.3 + dotenv: + specifier: ^17.2.3 + version: 17.2.3 eslint: specifier: ^9.14.0 version: 9.38.0(jiti@2.6.1) diff --git a/server/Dockerfile b/server/Dockerfile index c73574a05f..3b2d885149 100644 --- a/server/Dockerfile +++ b/server/Dockerfile @@ -55,7 +55,9 @@ COPY --from=ghcr.io/jdx/mise:2025.11.3@sha256:ac26f5978c0e2783f3e68e58ce75eddb83 WORKDIR /usr/src/app COPY ./plugins/mise.toml ./plugins/ ENV MISE_TRUSTED_CONFIG_PATHS=/usr/src/app/plugins/mise.toml -RUN mise install --cd plugins +ENV MISE_DATA_DIR=/buildcache/mise +RUN --mount=type=cache,id=mise-tools,target=/buildcache/mise \ + mise install --cd plugins COPY ./plugins ./plugins/ # Build plugins @@ -64,6 +66,7 @@ RUN --mount=type=cache,id=pnpm-plugins,target=/buildcache/pnpm-store \ --mount=type=bind,source=.pnpmfile.cjs,target=.pnpmfile.cjs \ --mount=type=bind,source=pnpm-lock.yaml,target=pnpm-lock.yaml \ --mount=type=bind,source=pnpm-workspace.yaml,target=pnpm-workspace.yaml \ + --mount=type=cache,id=mise-tools,target=/buildcache/mise \ cd plugins && mise run build FROM ghcr.io/immich-app/base-server-prod:202511041104@sha256:57c0379977fd5521d83cdf661aecd1497c83a9a661ebafe0a5243a09fc1064cb diff --git a/server/package.json b/server/package.json index d995dee90c..b54ff53f1f 100644 --- a/server/package.json +++ b/server/package.json @@ -1,6 +1,6 @@ { "name": "immich", - "version": "2.2.3", + "version": "2.3.1", "description": "", "author": "", "private": true, diff --git a/server/src/repositories/media.repository.ts b/server/src/repositories/media.repository.ts index d98e018efb..a8e96709ff 100644 --- a/server/src/repositories/media.repository.ts +++ b/server/src/repositories/media.repository.ts @@ -121,6 +121,23 @@ export class MediaRepository { } } + async copyTagGroup(tagGroup: string, source: string, target: string): Promise { + try { + await exiftool.write( + target, + {}, + { + ignoreMinorErrors: true, + writeArgs: ['-TagsFromFile', source, `-${tagGroup}:all>${tagGroup}:all`, '-overwrite_original'], + }, + ); + return true; + } catch (error: any) { + this.logger.warn(`Could not copy tag data to image: ${error.message}`); + return false; + } + } + decodeImage(input: string | Buffer, options: DecodeToBufferOptions) { return this.getImageDecodingPipeline(input, options).raw().toBuffer({ resolveWithObject: true }); } diff --git a/server/src/services/media.service.spec.ts b/server/src/services/media.service.spec.ts index ad52b0e8b0..8617930534 100644 --- a/server/src/services/media.service.spec.ts +++ b/server/src/services/media.service.spec.ts @@ -865,6 +865,7 @@ describe(MediaService.name, () => { mocks.systemMetadata.get.mockResolvedValue({ image: { fullsize: { enabled: false } } }); mocks.media.extract.mockResolvedValue({ buffer: extractedBuffer, format: RawExtractedFormat.Jpeg }); mocks.media.getImageDimensions.mockResolvedValue({ width: 3840, height: 2160 }); + mocks.media.copyTagGroup.mockResolvedValue(true); mocks.assetJob.getForGenerateThumbnailJob.mockResolvedValue(assetStub.panoramaTif); @@ -890,6 +891,13 @@ describe(MediaService.name, () => { }, expect.any(String), ); + + expect(mocks.media.copyTagGroup).toHaveBeenCalledTimes(2); + expect(mocks.media.copyTagGroup).toHaveBeenCalledWith( + 'XMP-GPano', + assetStub.panoramaTif.originalPath, + expect.any(String), + ); }); it('should respect encoding options when generating full-size preview', async () => { diff --git a/server/src/services/media.service.ts b/server/src/services/media.service.ts index 6caa682f5e..82f041c111 100644 --- a/server/src/services/media.service.ts +++ b/server/src/services/media.service.ts @@ -316,6 +316,16 @@ export class MediaService extends BaseService { const outputs = await Promise.all(promises); + if (asset.exifInfo.projectionType === 'EQUIRECTANGULAR') { + const promises = [ + this.mediaRepository.copyTagGroup('XMP-GPano', asset.originalPath, previewPath), + fullsizePath + ? this.mediaRepository.copyTagGroup('XMP-GPano', asset.originalPath, fullsizePath) + : Promise.resolve(), + ]; + await Promise.all(promises); + } + return { previewPath, thumbnailPath, fullsizePath, thumbhash: outputs[0] as Buffer }; } diff --git a/server/test/repositories/media.repository.mock.ts b/server/test/repositories/media.repository.mock.ts index c6ab11aaa1..b6b1e82b52 100644 --- a/server/test/repositories/media.repository.mock.ts +++ b/server/test/repositories/media.repository.mock.ts @@ -6,6 +6,7 @@ export const newMediaRepositoryMock = (): Mocked Promise.resolve()), writeExif: vitest.fn().mockImplementation(() => Promise.resolve()), + copyTagGroup: vitest.fn().mockImplementation(() => Promise.resolve()), generateThumbhash: vitest.fn().mockResolvedValue(Buffer.from('')), decodeImage: vitest.fn().mockResolvedValue({ data: Buffer.from(''), info: {} }), extract: vitest.fn().mockResolvedValue(null), diff --git a/web/package.json b/web/package.json index 2a93230c24..27454f7e88 100644 --- a/web/package.json +++ b/web/package.json @@ -1,6 +1,6 @@ { "name": "immich-web", - "version": "2.2.3", + "version": "2.3.1", "license": "GNU Affero General Public License version 3", "type": "module", "scripts": { diff --git a/web/src/lib/actions/zoom-image.ts b/web/src/lib/actions/zoom-image.ts index 29074fc7b0..e67d3e1928 100644 --- a/web/src/lib/actions/zoom-image.ts +++ b/web/src/lib/actions/zoom-image.ts @@ -2,7 +2,7 @@ import { photoZoomState } from '$lib/stores/zoom-image.store'; import { useZoomImageWheel } from '@zoom-image/svelte'; import { get } from 'svelte/store'; -export const zoomImageAction = (node: HTMLElement) => { +export const zoomImageAction = (node: HTMLElement, options?: { disabled?: boolean }) => { const { createZoomImage, zoomImageState, setZoomImageState } = useZoomImageWheel(); createZoomImage(node, { @@ -14,9 +14,32 @@ export const zoomImageAction = (node: HTMLElement) => { setZoomImageState(state); } + // Store original event handlers so we can prevent them when disabled + const wheelHandler = (event: WheelEvent) => { + if (options?.disabled) { + event.stopImmediatePropagation(); + } + }; + + const pointerDownHandler = (event: PointerEvent) => { + if (options?.disabled) { + event.stopImmediatePropagation(); + } + }; + + // Add handlers at capture phase with higher priority + node.addEventListener('wheel', wheelHandler, { capture: true }); + node.addEventListener('pointerdown', pointerDownHandler, { capture: true }); + const unsubscribes = [photoZoomState.subscribe(setZoomImageState), zoomImageState.subscribe(photoZoomState.set)]; + return { + update(newOptions?: { disabled?: boolean }) { + options = newOptions; + }, destroy() { + node.removeEventListener('wheel', wheelHandler, { capture: true }); + node.removeEventListener('pointerdown', pointerDownHandler, { capture: true }); for (const unsubscribe of unsubscribes) { unsubscribe(); } diff --git a/web/src/lib/assets/empty-folders.svg b/web/src/lib/assets/empty-folders.svg new file mode 100644 index 0000000000..b4a58cf245 --- /dev/null +++ b/web/src/lib/assets/empty-folders.svg @@ -0,0 +1 @@ + diff --git a/web/src/lib/components/asset-viewer/asset-viewer-nav-bar.svelte b/web/src/lib/components/asset-viewer/asset-viewer-nav-bar.svelte index 7daade6379..0dad2793bf 100644 --- a/web/src/lib/components/asset-viewer/asset-viewer-nav-bar.svelte +++ b/web/src/lib/components/asset-viewer/asset-viewer-nav-bar.svelte @@ -25,12 +25,12 @@ import MenuOption from '$lib/components/shared-components/context-menu/menu-option.svelte'; import { AppRoute } from '$lib/constants'; import { featureFlagsManager } from '$lib/managers/feature-flags-manager.svelte'; + import { handleReplaceAsset } from '$lib/services/asset.service'; import { photoViewerImgElement } from '$lib/stores/assets-store.svelte'; import { user } from '$lib/stores/user.store'; import { photoZoomState } from '$lib/stores/zoom-image.store'; import { getAssetJobName, getSharedLink } from '$lib/utils'; import { canCopyImageToClipboard } from '$lib/utils/asset-utils'; - import { openFileUploadDialog } from '$lib/utils/file-uploader'; import { toTimelineAsset } from '$lib/utils/timeline-util'; import { AssetJobName, @@ -227,7 +227,7 @@ openFileUploadDialog({ multiple: false, assetId: asset.id })} + onClick={() => handleReplaceAsset(asset.id)} text={$t('replace_with_upload')} /> {#if !asset.isArchived && !asset.isTrashed} diff --git a/web/src/lib/components/asset-viewer/asset-viewer.svelte b/web/src/lib/components/asset-viewer/asset-viewer.svelte index 8ff7a00710..0af27e8373 100644 --- a/web/src/lib/components/asset-viewer/asset-viewer.svelte +++ b/web/src/lib/components/asset-viewer/asset-viewer.svelte @@ -1,16 +1,19 @@ + +
{/if} + {#if $slideshowState === SlideshowState.None && isShared && ((album && album.isActivityEnabled) || activityManager.commentCount > 0) && !activityManager.isLoading}
{/if} + + {#if $slideshowState === SlideshowState.None && asset.type === AssetTypeEnum.Image && !isShowEditor && ocrManager.hasOcrData} +
+ +
+ {/if} {/key} {/if} diff --git a/web/src/lib/components/asset-viewer/detail-panel.svelte b/web/src/lib/components/asset-viewer/detail-panel.svelte index a9c447e498..2ee4496830 100644 --- a/web/src/lib/components/asset-viewer/detail-panel.svelte +++ b/web/src/lib/components/asset-viewer/detail-panel.svelte @@ -503,7 +503,7 @@ {/if} {#if albums.length > 0} -
+

{$t('appears_in')}

{#each albums as album (album.id)} diff --git a/web/src/lib/components/asset-viewer/ocr-bounding-box.svelte b/web/src/lib/components/asset-viewer/ocr-bounding-box.svelte new file mode 100644 index 0000000000..e64b674ac1 --- /dev/null +++ b/web/src/lib/components/asset-viewer/ocr-bounding-box.svelte @@ -0,0 +1,36 @@ + + +
+ +
+ + +
+ {ocrBox.text} +
+
diff --git a/web/src/lib/components/asset-viewer/ocr-button.svelte b/web/src/lib/components/asset-viewer/ocr-button.svelte new file mode 100644 index 0000000000..9f8966e64a --- /dev/null +++ b/web/src/lib/components/asset-viewer/ocr-button.svelte @@ -0,0 +1,17 @@ + + + ocrManager.toggleOcrBoundingBox()} +/> diff --git a/web/src/lib/components/asset-viewer/photo-viewer.spec.ts b/web/src/lib/components/asset-viewer/photo-viewer.spec.ts index 9e9f8fae62..fd1a40e4db 100644 --- a/web/src/lib/components/asset-viewer/photo-viewer.spec.ts +++ b/web/src/lib/components/asset-viewer/photo-viewer.spec.ts @@ -1,7 +1,7 @@ import { getAnimateMock } from '$lib/__mocks__/animate.mock'; import PhotoViewer from '$lib/components/asset-viewer/photo-viewer.svelte'; import * as utils from '$lib/utils'; -import { AssetMediaSize } from '@immich/sdk'; +import { AssetMediaSize, AssetTypeEnum } from '@immich/sdk'; import { assetFactory } from '@test-data/factories/asset-factory'; import { sharedLinkFactory } from '@test-data/factories/shared-link-factory'; import { render } from '@testing-library/svelte'; @@ -65,7 +65,11 @@ describe('PhotoViewer component', () => { }); it('loads the thumbnail', () => { - const asset = assetFactory.build({ originalPath: 'image.jpg', originalMimeType: 'image/jpeg' }); + const asset = assetFactory.build({ + originalPath: 'image.jpg', + originalMimeType: 'image/jpeg', + type: AssetTypeEnum.Image, + }); render(PhotoViewer, { asset }); expect(getAssetThumbnailUrlSpy).toBeCalledWith({ @@ -76,16 +80,89 @@ describe('PhotoViewer component', () => { expect(getAssetOriginalUrlSpy).not.toBeCalled(); }); - it('loads the original image for gifs', () => { - const asset = assetFactory.build({ originalPath: 'image.gif', originalMimeType: 'image/gif' }); + it('loads the thumbnail image for static gifs', () => { + const asset = assetFactory.build({ + originalPath: 'image.gif', + originalMimeType: 'image/gif', + type: AssetTypeEnum.Image, + }); + render(PhotoViewer, { asset }); + + expect(getAssetThumbnailUrlSpy).toBeCalledWith({ + id: asset.id, + size: AssetMediaSize.Preview, + cacheKey: asset.thumbhash, + }); + expect(getAssetOriginalUrlSpy).not.toBeCalled(); + }); + + it('loads the thumbnail image for static webp images', () => { + const asset = assetFactory.build({ + originalPath: 'image.webp', + originalMimeType: 'image/webp', + type: AssetTypeEnum.Image, + }); + render(PhotoViewer, { asset }); + + expect(getAssetThumbnailUrlSpy).toBeCalledWith({ + id: asset.id, + size: AssetMediaSize.Preview, + cacheKey: asset.thumbhash, + }); + expect(getAssetOriginalUrlSpy).not.toBeCalled(); + }); + + it('loads the original image for animated gifs', () => { + const asset = assetFactory.build({ + originalPath: 'image.gif', + originalMimeType: 'image/gif', + type: AssetTypeEnum.Image, + duration: '2.0', + }); render(PhotoViewer, { asset }); expect(getAssetThumbnailUrlSpy).not.toBeCalled(); expect(getAssetOriginalUrlSpy).toBeCalledWith({ id: asset.id, cacheKey: asset.thumbhash }); }); - it('loads original for shared link when download permission is true and showMetadata permission is true', () => { - const asset = assetFactory.build({ originalPath: 'image.gif', originalMimeType: 'image/gif' }); + it('loads the original image for animated webp images', () => { + const asset = assetFactory.build({ + originalPath: 'image.webp', + originalMimeType: 'image/webp', + type: AssetTypeEnum.Image, + duration: '2.0', + }); + render(PhotoViewer, { asset }); + + expect(getAssetThumbnailUrlSpy).not.toBeCalled(); + expect(getAssetOriginalUrlSpy).toBeCalledWith({ id: asset.id, cacheKey: asset.thumbhash }); + }); + + it('not loads original static image in shared link even when download permission is true and showMetadata permission is true', () => { + const asset = assetFactory.build({ + originalPath: 'image.gif', + originalMimeType: 'image/gif', + type: AssetTypeEnum.Image, + }); + const sharedLink = sharedLinkFactory.build({ allowDownload: true, showMetadata: true, assets: [asset] }); + render(PhotoViewer, { asset, sharedLink }); + + expect(getAssetThumbnailUrlSpy).toBeCalledWith({ + id: asset.id, + size: AssetMediaSize.Preview, + cacheKey: asset.thumbhash, + }); + + expect(getAssetOriginalUrlSpy).not.toBeCalled(); + }); + + it('loads original animated image in shared link when download permission is true and showMetadata permission is true', () => { + const asset = assetFactory.build({ + originalPath: 'image.gif', + originalMimeType: 'image/gif', + type: AssetTypeEnum.Image, + duration: '2.0', + }); const sharedLink = sharedLinkFactory.build({ allowDownload: true, showMetadata: true, assets: [asset] }); render(PhotoViewer, { asset, sharedLink }); @@ -93,8 +170,13 @@ describe('PhotoViewer component', () => { expect(getAssetOriginalUrlSpy).toBeCalledWith({ id: asset.id, cacheKey: asset.thumbhash }); }); - it('not loads original image when shared link download permission is false', () => { - const asset = assetFactory.build({ originalPath: 'image.gif', originalMimeType: 'image/gif' }); + it('not loads original animated image when shared link download permission is false', () => { + const asset = assetFactory.build({ + originalPath: 'image.gif', + originalMimeType: 'image/gif', + type: AssetTypeEnum.Image, + duration: '2.0', + }); const sharedLink = sharedLinkFactory.build({ allowDownload: false, assets: [asset] }); render(PhotoViewer, { asset, sharedLink }); @@ -107,8 +189,13 @@ describe('PhotoViewer component', () => { expect(getAssetOriginalUrlSpy).not.toBeCalled(); }); - it('not loads original image when shared link showMetadata permission is false', () => { - const asset = assetFactory.build({ originalPath: 'image.gif', originalMimeType: 'image/gif' }); + it('not loads original animated image when shared link showMetadata permission is false', () => { + const asset = assetFactory.build({ + originalPath: 'image.gif', + originalMimeType: 'image/gif', + type: AssetTypeEnum.Image, + duration: '2.0', + }); const sharedLink = sharedLinkFactory.build({ showMetadata: false, assets: [asset] }); render(PhotoViewer, { asset, sharedLink }); diff --git a/web/src/lib/components/asset-viewer/photo-viewer.svelte b/web/src/lib/components/asset-viewer/photo-viewer.svelte index d88609f7bb..261f194d34 100644 --- a/web/src/lib/components/asset-viewer/photo-viewer.svelte +++ b/web/src/lib/components/asset-viewer/photo-viewer.svelte @@ -2,12 +2,14 @@ import { shortcuts } from '$lib/actions/shortcut'; import { zoomImageAction } from '$lib/actions/zoom-image'; import FaceEditor from '$lib/components/asset-viewer/face-editor/face-editor.svelte'; + import OcrBoundingBox from '$lib/components/asset-viewer/ocr-bounding-box.svelte'; import BrokenAsset from '$lib/components/assets/broken-asset.svelte'; import { assetViewerFadeDuration } from '$lib/constants'; import { castManager } from '$lib/managers/cast-manager.svelte'; import type { TimelineAsset } from '$lib/managers/timeline-manager/types'; import { photoViewerImgElement } from '$lib/stores/assets-store.svelte'; import { isFaceEditMode } from '$lib/stores/face-edit.svelte'; + import { ocrManager } from '$lib/stores/ocr.svelte'; import { boundingBoxesArray } from '$lib/stores/people.store'; import { alwaysLoadOriginalFile } from '$lib/stores/preferences.store'; import { SlideshowLook, SlideshowState, slideshowLookCssMapping, slideshowStore } from '$lib/stores/slideshow.store'; @@ -15,11 +17,12 @@ import { getAssetOriginalUrl, getAssetThumbnailUrl, handlePromiseError } from '$lib/utils'; import { canCopyImageToClipboard, copyImageToClipboard, isWebCompatibleImage } from '$lib/utils/asset-utils'; import { handleError } from '$lib/utils/handle-error'; + import { getOcrBoundingBoxes } from '$lib/utils/ocr-utils'; import { getBoundingBox } from '$lib/utils/people-utils'; import { cancelImageUrl } from '$lib/utils/sw-messaging'; import { getAltText } from '$lib/utils/thumbnail-util'; import { toTimelineAsset } from '$lib/utils/timeline-util'; - import { AssetMediaSize, type AssetResponseDto, type SharedLinkResponseDto } from '@immich/sdk'; + import { AssetMediaSize, AssetTypeEnum, type AssetResponseDto, type SharedLinkResponseDto } from '@immich/sdk'; import { LoadingSpinner, toastManager } from '@immich/ui'; import { onDestroy, onMount } from 'svelte'; import { useSwipe, type SwipeCustomEvent } from 'svelte-gestures'; @@ -71,6 +74,14 @@ $boundingBoxesArray = []; }); + let ocrBoxes = $derived( + ocrManager.showOverlay && $photoViewerImgElement + ? getOcrBoundingBoxes(ocrManager.data, $photoZoomState, $photoViewerImgElement) + : [], + ); + + let isOcrActive = $derived(ocrManager.showOverlay); + const preload = (targetSize: AssetMediaSize | 'original', preloadAssets?: TimelineAsset[]) => { for (const preloadAsset of preloadAssets || []) { if (preloadAsset.isImage) { @@ -130,16 +141,25 @@ if ($photoZoomState.currentZoom > 1) { return; } + + if (ocrManager.showOverlay) { + return; + } + if (onNextAsset && event.detail.direction === 'left') { onNextAsset(); } + if (onPreviousAsset && event.detail.direction === 'right') { onPreviousAsset(); } }; // when true, will force loading of the original image - let forceUseOriginal: boolean = $derived(asset.originalMimeType === 'image/gif' || $photoZoomState.currentZoom > 1); + let forceUseOriginal: boolean = $derived( + (asset.type === AssetTypeEnum.Image && asset.duration && !asset.duration.includes('0:00:00.000')) || + $photoZoomState.currentZoom > 1, + ); const targetImageSize = $derived.by(() => { if ($alwaysLoadOriginalFile || forceUseOriginal || originalImageLoaded) { @@ -232,7 +252,7 @@ {:else if !imageError}
{/each} + + {#each ocrBoxes as ocrBox (ocrBox.id)} + + {/each} {#if isFaceEditMode.value} diff --git a/web/src/lib/components/assets/thumbnail/thumbnail.svelte b/web/src/lib/components/assets/thumbnail/thumbnail.svelte index dd13d613b2..261829cfc6 100644 --- a/web/src/lib/components/assets/thumbnail/thumbnail.svelte +++ b/web/src/lib/components/assets/thumbnail/thumbnail.svelte @@ -282,7 +282,7 @@ {/if} - {#if asset.isImage && asset.duration} + {#if asset.isImage && asset.duration && !asset.duration.includes('0:00:00.000')}
@@ -351,7 +351,7 @@ playbackOnIconHover={!$playVideoThumbnailOnHover} />
- {:else if asset.isImage && asset.duration && mouseOver} + {:else if asset.isImage && asset.duration && !asset.duration.includes('0:00:00.000') && mouseOver}
diff --git a/web/src/lib/components/forms/library-import-paths-form.svelte b/web/src/lib/components/forms/library-import-paths-form.svelte deleted file mode 100644 index 02f82504a7..0000000000 --- a/web/src/lib/components/forms/library-import-paths-form.svelte +++ /dev/null @@ -1,207 +0,0 @@ - - -
- - - {#each validatedPaths as validatedPath, listIndex (validatedPath.importPath)} - - - - - - - {/each} - - - - - -
- {#if validatedPath.isValid} - - {:else} - - {/if} - {validatedPath.importPath} - onEditImportPath(listIndex)} - size="small" - /> -
- {#if importPaths.length === 0} - {$t('admin.no_paths_added')} - {/if} - -
-
-
- -
-
- - -
-
-
diff --git a/web/src/lib/components/forms/library-scan-settings-form.svelte b/web/src/lib/components/forms/library-scan-settings-form.svelte deleted file mode 100644 index fde3849599..0000000000 --- a/web/src/lib/components/forms/library-scan-settings-form.svelte +++ /dev/null @@ -1,151 +0,0 @@ - - -
- - - {#each exclusionPatterns as exclusionPattern, listIndex (exclusionPattern)} - - - - - {/each} - - - - - -
{exclusionPattern} - onEditExclusionPattern(listIndex)} - aria-label={$t('edit_exclusion_pattern')} - size="small" - /> -
- {#if exclusionPatterns.length === 0} - {$t('admin.no_pattern_added')} - {/if} - - -
- -
- - -
-
diff --git a/web/src/lib/components/shared-components/empty-placeholder.svelte b/web/src/lib/components/shared-components/empty-placeholder.svelte index ae7f9aab6a..78c675c93b 100644 --- a/web/src/lib/components/shared-components/empty-placeholder.svelte +++ b/web/src/lib/components/shared-components/empty-placeholder.svelte @@ -7,9 +7,10 @@ fullWidth?: boolean; src?: string; title?: string; + class?: string; } - let { onClick = undefined, text, fullWidth = false, src = empty1Url, title }: Props = $props(); + let { onClick = undefined, text, fullWidth = false, src = empty1Url, title, class: className }: Props = $props(); let width = $derived(fullWidth ? 'w-full' : 'w-1/2'); @@ -22,7 +23,7 @@ diff --git a/web/src/lib/components/shared-components/side-bar/purchase-info.svelte b/web/src/lib/components/shared-components/side-bar/purchase-info.svelte index 8c16e3ba38..629326c41b 100644 --- a/web/src/lib/components/shared-components/side-bar/purchase-info.svelte +++ b/web/src/lib/components/shared-components/side-bar/purchase-info.svelte @@ -74,10 +74,10 @@ {#if $isPurchased && $preferences.purchase.showSupportBadge} {:else if !$isPurchased && showBuyButton && getAccountAge() > 14} + + + + diff --git a/web/src/lib/modals/LibraryExclusionPatternEditModal.svelte b/web/src/lib/modals/LibraryExclusionPatternEditModal.svelte new file mode 100644 index 0000000000..56207c8cf4 --- /dev/null +++ b/web/src/lib/modals/LibraryExclusionPatternEditModal.svelte @@ -0,0 +1,45 @@ + + + + +
+ {$t('admin.exclusion_pattern_description')} + + + + +
+
+ + + + + + + +
diff --git a/web/src/lib/modals/LibraryExclusionPatternModal.svelte b/web/src/lib/modals/LibraryExclusionPatternModal.svelte deleted file mode 100644 index fe5da01c45..0000000000 --- a/web/src/lib/modals/LibraryExclusionPatternModal.svelte +++ /dev/null @@ -1,78 +0,0 @@ - - - - -
-

- {$t('admin.exclusion_pattern_description')} -

- {$t('admin.add_exclusion_pattern_description')} -

-
- - -
-
- {#if isDuplicate} -

{$t('errors.exclusion_pattern_already_exists')}

- {/if} -
-
-
- - - - {#if isEditing} - - {/if} - - - -
diff --git a/web/src/lib/modals/LibraryFolderAddModal.svelte b/web/src/lib/modals/LibraryFolderAddModal.svelte new file mode 100644 index 0000000000..67ae5bf773 --- /dev/null +++ b/web/src/lib/modals/LibraryFolderAddModal.svelte @@ -0,0 +1,44 @@ + + + + +
+ {$t('admin.library_folder_description')} + + + + +
+
+ + + + + + + +
diff --git a/web/src/lib/modals/LibraryFolderEditModal.svelte b/web/src/lib/modals/LibraryFolderEditModal.svelte new file mode 100644 index 0000000000..c1ab657275 --- /dev/null +++ b/web/src/lib/modals/LibraryFolderEditModal.svelte @@ -0,0 +1,45 @@ + + + + +
+ {$t('admin.library_folder_description')} + + + + +
+
+ + + + + + + +
diff --git a/web/src/lib/modals/LibraryImportPathModal.svelte b/web/src/lib/modals/LibraryImportPathModal.svelte deleted file mode 100644 index 5c1454fdd9..0000000000 --- a/web/src/lib/modals/LibraryImportPathModal.svelte +++ /dev/null @@ -1,75 +0,0 @@ - - - - -
-

{$t('admin.library_import_path_description')}

- -
- - -
- -
- {#if isDuplicate} -

{$t('errors.import_path_already_exists')}

- {/if} -
-
-
- - - - - {#if isEditing} - - {/if} - - - -
diff --git a/web/src/lib/modals/LibraryRenameModal.svelte b/web/src/lib/modals/LibraryRenameModal.svelte index af204cdf0e..0a7d675b11 100644 --- a/web/src/lib/modals/LibraryRenameModal.svelte +++ b/web/src/lib/modals/LibraryRenameModal.svelte @@ -1,21 +1,25 @@ diff --git a/web/src/lib/modals/NavigateToDateModal.svelte b/web/src/lib/modals/NavigateToDateModal.svelte index 4b83c66bc6..365cbdb21c 100644 --- a/web/src/lib/modals/NavigateToDateModal.svelte +++ b/web/src/lib/modals/NavigateToDateModal.svelte @@ -1,6 +1,6 @@ + + {page.data.meta?.title || 'Web'} - Immich diff --git a/web/src/routes/admin/library-management/+page.svelte b/web/src/routes/admin/library-management/+page.svelte index 600b6ff048..37153d5003 100644 --- a/web/src/routes/admin/library-management/+page.svelte +++ b/web/src/routes/admin/library-management/+page.svelte @@ -1,36 +1,17 @@ + + {#snippet buttons()}
{#if libraries.length > 0} - + {/if} - +
{/snippet}
-
+
{#if libraries.length > 0} - +
@@ -276,91 +84,36 @@ - {#each libraries as library, index (library.id)} + {#each libraries as library (library.id + library.name)} + {@const { photos, usage, videos } = statistics[library.id]} + {@const [diskUsage, diskUsageUnit] = getBytesWithUnit(usage, 0)} - - {#if editImportPaths === index} - -
- handleUpdate(lib, index)} - onCancel={() => (editImportPaths = undefined)} - /> -
- {/if} - {#if editScanSettings === index} - -
- handleUpdate(lib, index)} - onCancel={() => (editScanSettings = undefined)} - /> -
- {/if} {/each}
{library.name} - {#if owner[index] == undefined} - - {:else}{owner[index].name}{/if} + {owners[library.id].name} - {#if photos[index] == undefined} - - {:else} - {photos[index].toLocaleString($locale)} - {/if} + {photos.toLocaleString($locale)} - {#if videos[index] == undefined} - - {:else} - {videos[index].toLocaleString($locale)} - {/if} + {videos.toLocaleString($locale)} - {#if diskUsage[index] == undefined} - - {:else} - {diskUsage[index]} - {diskUsageUnit[index]} - {/if} + {diskUsage} + {diskUsageUnit} - - onScanClicked(library)} text={$t('scan_library')} /> -
- onRenameClicked(index)} text={$t('rename')} /> - onEditImportPathClicked(index)} text={$t('edit_import_paths')} /> - onScanSettingClicked(index)} text={$t('scan_settings')} /> -
- handleDelete(library, index)} - activeColor="bg-red-200" - textColor="text-red-600" - text={$t('delete_library')} - /> -
+
+
- - {:else} - + {/if}
diff --git a/web/src/routes/admin/library-management/+page.ts b/web/src/routes/admin/library-management/+page.ts index 735c7fac92..cb7190b0e4 100644 --- a/web/src/routes/admin/library-management/+page.ts +++ b/web/src/routes/admin/library-management/+page.ts @@ -1,6 +1,6 @@ import { authenticate, requestServerInfo } from '$lib/utils/auth'; import { getFormatter } from '$lib/utils/i18n'; -import { searchUsersAdmin } from '@immich/sdk'; +import { getAllLibraries, getLibraryStatistics, getUserAdmin, searchUsersAdmin } from '@immich/sdk'; import type { PageLoad } from './$types'; export const load = (async ({ url }) => { @@ -9,8 +9,19 @@ export const load = (async ({ url }) => { const allUsers = await searchUsersAdmin({ withDeleted: false }); const $t = await getFormatter(); + const libraries = await getAllLibraries(); + const statistics = await Promise.all( + libraries.map(async ({ id }) => [id, await getLibraryStatistics({ id })] as const), + ); + const owners = await Promise.all( + libraries.map(async ({ id, ownerId }) => [id, await getUserAdmin({ id: ownerId })] as const), + ); + return { allUsers, + libraries, + statistics: Object.fromEntries(statistics), + owners: Object.fromEntries(owners), meta: { title: $t('admin.external_library_management'), }, diff --git a/web/src/routes/admin/library-management/[id]/+page.svelte b/web/src/routes/admin/library-management/[id]/+page.svelte new file mode 100644 index 0000000000..c6fffbbd95 --- /dev/null +++ b/web/src/routes/admin/library-management/[id]/+page.svelte @@ -0,0 +1,131 @@ + + + (library = newLibrary)} + onLibraryDelete={({ id }) => id === library.id && goto(AppRoute.ADMIN_LIBRARY_MANAGEMENT)} +/> + + + {#snippet buttons()} +
+ + + +
+ {/snippet} + +
+ {library.name} +
+ + + +
+ + +
+
+ + {$t('folders')} +
+ +
+
+ +
+ {#if library.importPaths.length === 0} + modalManager.show(LibraryFolderAddModal, { library })} + /> + {:else} + + + {#each library.importPaths as folder (folder)} + {@const { Edit, Delete } = getLibraryFolderActions($t, library, folder)} + + + + + {/each} + +
+ {folder} + + + +
+ {/if} +
+
+
+ + +
+
+ + {$t('exclusion_pattern')} +
+ +
+
+ +
+ + + {#each library.exclusionPatterns as exclusionPattern (exclusionPattern)} + {@const { Edit, Delete } = getLibraryExclusionPatternActions($t, library, exclusionPattern)} + + + + + {/each} + +
+ {exclusionPattern} + + + +
+
+
+
+
+
+
diff --git a/web/src/routes/admin/library-management/[id]/+page.ts b/web/src/routes/admin/library-management/[id]/+page.ts new file mode 100644 index 0000000000..77ce1eb1c8 --- /dev/null +++ b/web/src/routes/admin/library-management/[id]/+page.ts @@ -0,0 +1,28 @@ +import { AppRoute } from '$lib/constants'; +import { authenticate } from '$lib/utils/auth'; +import { getFormatter } from '$lib/utils/i18n'; +import { getLibrary, getLibraryStatistics, type LibraryResponseDto } from '@immich/sdk'; +import { redirect } from '@sveltejs/kit'; +import type { PageLoad } from './$types'; + +export const load = (async ({ params: { id }, url }) => { + await authenticate(url, { admin: true }); + let library: LibraryResponseDto; + + try { + library = await getLibrary({ id }); + } catch { + redirect(302, AppRoute.ADMIN_LIBRARY_MANAGEMENT); + } + + const statistics = await getLibraryStatistics({ id }); + const $t = await getFormatter(); + + return { + library, + statistics, + meta: { + title: $t('admin.library_details'), + }, + }; +}) satisfies PageLoad; diff --git a/web/src/routes/admin/users/+page.svelte b/web/src/routes/admin/users/+page.svelte index c4c1012774..307fbe1ba4 100644 --- a/web/src/routes/admin/users/+page.svelte +++ b/web/src/routes/admin/users/+page.svelte @@ -1,46 +1,36 @@ - + {#snippet buttons()} @@ -102,7 +115,7 @@ {/if} -
+
{user.name}