diff --git a/.devcontainer/mobile/container-compose-overrides.yml b/.devcontainer/mobile/container-compose-overrides.yml
index d6cd95018f..99e41cbece 100644
--- a/.devcontainer/mobile/container-compose-overrides.yml
+++ b/.devcontainer/mobile/container-compose-overrides.yml
@@ -6,28 +6,35 @@ services:
- IMMICH_SERVER_URL=http://127.0.0.1:2283/
volumes: !override # bind mount host to /workspaces/immich
- ..:/workspaces/immich
- - cli_node_modules:/workspaces/immich/cli/node_modules
- - e2e_node_modules:/workspaces/immich/e2e/node_modules
- - open_api_node_modules:/workspaces/immich/open-api/typescript-sdk/node_modules
- - server_node_modules:/workspaces/immich/server/node_modules
- - web_node_modules:/workspaces/immich/web/node_modules
- - ${UPLOAD_LOCATION}/photos:/data
+ - ${UPLOAD_LOCATION:-upload-devcontainer-volume}${UPLOAD_LOCATION:+/photos}:/data
+ - pnpm-store:/usr/src/app/.pnpm-store
+ - server-node_modules:/usr/src/app/server/node_modules
+ - web-node_modules:/usr/src/app/web/node_modules
+ - github-node_modules:/usr/src/app/.github/node_modules
+ - cli-node_modules:/usr/src/app/cli/node_modules
+ - docs-node_modules:/usr/src/app/docs/node_modules
+ - e2e-node_modules:/usr/src/app/e2e/node_modules
+ - sdk-node_modules:/usr/src/app/open-api/typescript-sdk/node_modules
+ - app-node_modules:/usr/src/app/node_modules
+ - sveltekit:/usr/src/app/web/.svelte-kit
+ - coverage:/usr/src/app/web/coverage
- /etc/localtime:/etc/localtime:ro
-
+ immich-web:
+ env_file: !reset []
+ immich-machine-learning:
+ env_file: !reset []
database:
+ env_file: !reset []
+ environment: !override
+ POSTGRES_PASSWORD: ${DB_PASSWORD-postgres}
+ POSTGRES_USER: ${DB_USERNAME-postgres}
+ POSTGRES_DB: ${DB_DATABASE_NAME-immich}
+ POSTGRES_INITDB_ARGS: '--data-checksums'
+ POSTGRES_HOST_AUTH_METHOD: md5
volumes:
- - ${UPLOAD_LOCATION}/postgres:/var/lib/postgresql/data
-
+ - ${UPLOAD_LOCATION:-postgres-devcontainer-volume}${UPLOAD_LOCATION:+/postgres}:/var/lib/postgresql/data
+ redis:
+ env_file: !reset []
volumes:
- # Node modules for each service to avoid conflicts and ensure consistent dependencies
- cli_node_modules:
- e2e_node_modules:
- open_api_node_modules:
- server_node_modules:
- web_node_modules:
-
- # UPLOAD_LOCATION must be set to a absolute path or vol-upload
- vol-upload:
-
- # DB_DATA_LOCATION must be set to a absolute path or vol-database
- vol-database:
+ upload-devcontainer-volume:
+ postgres-devcontainer-volume:
diff --git a/.devcontainer/mobile/devcontainer.json b/.devcontainer/mobile/devcontainer.json
index 0dbcc8e9c8..140a2ecac3 100644
--- a/.devcontainer/mobile/devcontainer.json
+++ b/.devcontainer/mobile/devcontainer.json
@@ -40,7 +40,7 @@
"userEnvProbe": "loginInteractiveShell",
"remoteEnv": {
// The location where your uploaded files are stored
- "UPLOAD_LOCATION": "${localEnv:UPLOAD_LOCATION:./Library}",
+ "UPLOAD_LOCATION": "${localEnv:UPLOAD_LOCATION:./library}",
// Connection secret for postgres. You should change it to a random password
// Please use only the characters `A-Za-z0-9`, without special characters or spaces
"DB_PASSWORD": "${localEnv:DB_PASSWORD:postgres}",
diff --git a/.github/.nvmrc b/.github/.nvmrc
index e2228113dd..442c7587a9 100644
--- a/.github/.nvmrc
+++ b/.github/.nvmrc
@@ -1 +1 @@
-22.19.0
+22.20.0
diff --git a/.github/labeler.yml b/.github/labeler.yml
index c0c52f1d7e..d8923a3035 100644
--- a/.github/labeler.yml
+++ b/.github/labeler.yml
@@ -6,7 +6,6 @@ cli:
documentation:
- changed-files:
- any-glob-to-any-file:
- - docs/blob/**
- docs/docs/**
- docs/src/**
- docs/static/**
diff --git a/.github/workflows/build-mobile.yml b/.github/workflows/build-mobile.yml
index 1b57731b23..f7e9ad5731 100644
--- a/.github/workflows/build-mobile.yml
+++ b/.github/workflows/build-mobile.yml
@@ -36,7 +36,7 @@ jobs:
steps:
- name: Check what should run
id: check
- uses: immich-app/devtools/actions/pre-job@24820aa4ef67959b0dcf69a438cccf00d7c7042b # pre-job-action-v1.0.1
+ uses: immich-app/devtools/actions/pre-job@5f91b52dfbb92b8d96ca411ab59c896cd59714ca # pre-job-action-v1.1.0
with:
filters: |
mobile:
@@ -55,7 +55,7 @@ jobs:
runs-on: mich
steps:
- - uses: actions/checkout@08eba0b27e820071cde6df949e0beb9ba4906955 # v4.3.0
+ - uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0
with:
ref: ${{ inputs.ref || github.sha }}
persist-credentials: false
@@ -66,14 +66,14 @@ jobs:
working-directory: ./mobile
run: printf "%s" $KEY_JKS | base64 -d > android/key.jks
- - uses: actions/setup-java@c5195efecf7bdfc987ee8bae7a71cb8b11521c00 # v4.7.1
+ - uses: actions/setup-java@dded0888837ed1f317902acf8a20df0ad188d165 # v5.0.0
with:
distribution: 'zulu'
java-version: '17'
- name: Restore Gradle Cache
id: cache-gradle-restore
- uses: actions/cache/restore@0400d5f644dc74513175e3cd8d07132dd4860809 # v4
+ uses: actions/cache/restore@0057852bfaa89a56745cba8c7296529d2fc39830 # v4.3.0
with:
path: |
~/.gradle/caches
@@ -130,7 +130,7 @@ jobs:
- name: Save Gradle Cache
id: cache-gradle-save
- uses: actions/cache/save@0400d5f644dc74513175e3cd8d07132dd4860809 # v4
+ uses: actions/cache/save@0057852bfaa89a56745cba8c7296529d2fc39830 # v4.3.0
if: github.ref == 'refs/heads/main'
with:
path: |
diff --git a/.github/workflows/cache-cleanup.yml b/.github/workflows/cache-cleanup.yml
index cdff8ed931..0b4366ba04 100644
--- a/.github/workflows/cache-cleanup.yml
+++ b/.github/workflows/cache-cleanup.yml
@@ -19,7 +19,7 @@ jobs:
actions: write
steps:
- name: Check out code
- uses: actions/checkout@08eba0b27e820071cde6df949e0beb9ba4906955 # v4.3.0
+ uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0
with:
persist-credentials: false
diff --git a/.github/workflows/cli.yml b/.github/workflows/cli.yml
index 777f1898ec..51e023056d 100644
--- a/.github/workflows/cli.yml
+++ b/.github/workflows/cli.yml
@@ -29,15 +29,15 @@ jobs:
working-directory: ./cli
steps:
- - uses: actions/checkout@08eba0b27e820071cde6df949e0beb9ba4906955 # v4.3.0
+ - uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0
with:
persist-credentials: false
- name: Setup pnpm
- uses: pnpm/action-setup@a7487c7e89a18df4991f7f222e4898a00d66ddda # v4.1.0
+ uses: pnpm/action-setup@41ff72655975bd51cab0327fa583b6e92b6d3061 # v4.2.0
- name: Setup Node
- uses: actions/setup-node@49933ea5288caeca8642d1e84afbd3f7d6820020 # v4.4.0
+ uses: actions/setup-node@a0853c24544627f65ddf259abe73b1d18a591444 # v5.0.0
with:
node-version-file: './cli/.nvmrc'
registry-url: 'https://registry.npmjs.org'
@@ -50,7 +50,7 @@ jobs:
- run: pnpm install --frozen-lockfile
- run: pnpm build
- - run: pnpm publish
+ - run: pnpm publish --no-git-checks
if: ${{ github.event_name == 'release' }}
env:
NODE_AUTH_TOKEN: ${{ secrets.NPM_TOKEN }}
@@ -65,7 +65,7 @@ jobs:
steps:
- name: Checkout
- uses: actions/checkout@08eba0b27e820071cde6df949e0beb9ba4906955 # v4.3.0
+ uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0
with:
persist-credentials: false
@@ -76,7 +76,7 @@ jobs:
uses: docker/setup-buildx-action@e468171a9de216ec08956ac3ada2f0791b6bd435 # v3.11.1
- name: Login to GitHub Container Registry
- uses: docker/login-action@184bdaa0721073962dff0199f1fb9940f07167d1 # v3.5.0
+ uses: docker/login-action@5e57cd118135c172c3672efd75eb46360885c0ef # v3.6.0
if: ${{ !github.event.pull_request.head.repo.fork }}
with:
registry: ghcr.io
diff --git a/.github/workflows/close-duplicates.yml b/.github/workflows/close-duplicates.yml
index 8470e0e18c..ba360b50dc 100644
--- a/.github/workflows/close-duplicates.yml
+++ b/.github/workflows/close-duplicates.yml
@@ -35,7 +35,7 @@ jobs:
needs: [get_body, should_run]
if: ${{ needs.should_run.outputs.should_run == 'true' }}
container:
- image: ghcr.io/immich-app/mdq:main@sha256:d8ae47cf2e6cf4e2559bd57a60b73674fe44f897cba2c2bddff2987a05be10a4
+ image: ghcr.io/immich-app/mdq:main@sha256:6b8450bfc06770af1af66bce9bf2ced7d1d9b90df1a59fc4c83a17777a9f6723
outputs:
checked: ${{ steps.get_checkbox.outputs.checked }}
steps:
diff --git a/.github/workflows/codeql-analysis.yml b/.github/workflows/codeql-analysis.yml
index 503dd30d9a..c0cb9e1da1 100644
--- a/.github/workflows/codeql-analysis.yml
+++ b/.github/workflows/codeql-analysis.yml
@@ -44,13 +44,13 @@ jobs:
steps:
- name: Checkout repository
- uses: actions/checkout@08eba0b27e820071cde6df949e0beb9ba4906955 # v4.3.0
+ uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0
with:
persist-credentials: false
# Initializes the CodeQL tools for scanning.
- name: Initialize CodeQL
- uses: github/codeql-action/init@192325c86100d080feab897ff886c34abd4c83a3 # v3.30.3
+ uses: github/codeql-action/init@755f44910c12a3d7ca0d8c6e42c048b3362f7cec # v3.30.8
with:
languages: ${{ matrix.language }}
# If you wish to specify custom queries, you can do so here or in a config file.
@@ -63,7 +63,7 @@ jobs:
# Autobuild attempts to build any compiled languages (C/C++, C#, or Java).
# If this step fails, then you should remove it and run the build manually (see below)
- name: Autobuild
- uses: github/codeql-action/autobuild@192325c86100d080feab897ff886c34abd4c83a3 # v3.30.3
+ uses: github/codeql-action/autobuild@755f44910c12a3d7ca0d8c6e42c048b3362f7cec # v3.30.8
# ℹ️ Command-line programs to run using the OS shell.
# 📚 See https://docs.github.com/en/actions/using-workflows/workflow-syntax-for-github-actions#jobsjob_idstepsrun
@@ -76,6 +76,6 @@ jobs:
# ./location_of_script_within_repo/buildscript.sh
- name: Perform CodeQL Analysis
- uses: github/codeql-action/analyze@192325c86100d080feab897ff886c34abd4c83a3 # v3.30.3
+ uses: github/codeql-action/analyze@755f44910c12a3d7ca0d8c6e42c048b3362f7cec # v3.30.8
with:
category: '/language:${{matrix.language}}'
diff --git a/.github/workflows/docker.yml b/.github/workflows/docker.yml
index a630d27809..7175dc0a89 100644
--- a/.github/workflows/docker.yml
+++ b/.github/workflows/docker.yml
@@ -24,7 +24,7 @@ jobs:
steps:
- name: Check what should run
id: check
- uses: immich-app/devtools/actions/pre-job@24820aa4ef67959b0dcf69a438cccf00d7c7042b # pre-job-action-v1.0.1
+ uses: immich-app/devtools/actions/pre-job@5f91b52dfbb92b8d96ca411ab59c896cd59714ca # pre-job-action-v1.1.0
with:
filters: |
server:
@@ -53,7 +53,7 @@ jobs:
suffix: ['', '-cuda', '-rocm', '-openvino', '-armnn', '-rknn']
steps:
- name: Login to GitHub Container Registry
- uses: docker/login-action@184bdaa0721073962dff0199f1fb9940f07167d1 # v3.5.0
+ uses: docker/login-action@5e57cd118135c172c3672efd75eb46360885c0ef # v3.6.0
with:
registry: ghcr.io
username: ${{ github.repository_owner }}
@@ -82,7 +82,7 @@ jobs:
suffix: ['']
steps:
- name: Login to GitHub Container Registry
- uses: docker/login-action@184bdaa0721073962dff0199f1fb9940f07167d1 # v3.5.0
+ uses: docker/login-action@5e57cd118135c172c3672efd75eb46360885c0ef # v3.6.0
with:
registry: ghcr.io
username: ${{ github.repository_owner }}
@@ -124,7 +124,7 @@ jobs:
tag-suffix: '-rocm'
platforms: linux/amd64
runner-mapping: '{"linux/amd64": "mich"}'
- uses: immich-app/devtools/.github/workflows/multi-runner-build.yml@129aeda75a450666ce96e8bc8126652e717917a7 # multi-runner-build-workflow-0.1.1
+ uses: immich-app/devtools/.github/workflows/multi-runner-build.yml@946acac326940f8badf09ccf591d9cb345d6a689 # multi-runner-build-workflow-v0.2.1
permissions:
contents: read
actions: read
@@ -147,7 +147,7 @@ jobs:
name: Build and Push Server
needs: pre-job
if: ${{ fromJSON(needs.pre-job.outputs.should_run).server == true }}
- uses: immich-app/devtools/.github/workflows/multi-runner-build.yml@129aeda75a450666ce96e8bc8126652e717917a7 # multi-runner-build-workflow-0.1.1
+ uses: immich-app/devtools/.github/workflows/multi-runner-build.yml@946acac326940f8badf09ccf591d9cb345d6a689 # multi-runner-build-workflow-v0.2.1
permissions:
contents: read
actions: read
diff --git a/.github/workflows/docs-build.yml b/.github/workflows/docs-build.yml
index 9a35a0ae91..537282b789 100644
--- a/.github/workflows/docs-build.yml
+++ b/.github/workflows/docs-build.yml
@@ -22,7 +22,7 @@ jobs:
steps:
- name: Check what should run
id: check
- uses: immich-app/devtools/actions/pre-job@24820aa4ef67959b0dcf69a438cccf00d7c7042b # pre-job-action-v1.0.1
+ uses: immich-app/devtools/actions/pre-job@5f91b52dfbb92b8d96ca411ab59c896cd59714ca # pre-job-action-v1.1.0
with:
filters: |
docs:
@@ -47,15 +47,15 @@ jobs:
steps:
- name: Checkout code
- uses: actions/checkout@08eba0b27e820071cde6df949e0beb9ba4906955 # v4.3.0
+ uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0
with:
persist-credentials: false
- name: Setup pnpm
- uses: pnpm/action-setup@a7487c7e89a18df4991f7f222e4898a00d66ddda # v4.1.0
+ uses: pnpm/action-setup@41ff72655975bd51cab0327fa583b6e92b6d3061 # v4.2.0
- name: Setup Node
- uses: actions/setup-node@49933ea5288caeca8642d1e84afbd3f7d6820020 # v4.4.0
+ uses: actions/setup-node@a0853c24544627f65ddf259abe73b1d18a591444 # v5.0.0
with:
node-version-file: './docs/.nvmrc'
cache: 'pnpm'
diff --git a/.github/workflows/docs-deploy.yml b/.github/workflows/docs-deploy.yml
index b504b811e3..6643c5abfd 100644
--- a/.github/workflows/docs-deploy.yml
+++ b/.github/workflows/docs-deploy.yml
@@ -20,7 +20,7 @@ jobs:
run: echo 'The triggering workflow did not succeed' && exit 1
- name: Get artifact
id: get-artifact
- uses: actions/github-script@f28e40c7f34bde8b3046d885e986cb6290c5673b # v7.1.0
+ uses: actions/github-script@ed597411d8f924073f98dfc5c65a23a2325f34cd # v8.0.0
with:
script: |
let allArtifacts = await github.rest.actions.listWorkflowRunArtifacts({
@@ -38,7 +38,7 @@ jobs:
return { found: true, id: matchArtifact.id };
- name: Determine deploy parameters
id: parameters
- uses: actions/github-script@f28e40c7f34bde8b3046d885e986cb6290c5673b # v7.1.0
+ uses: actions/github-script@ed597411d8f924073f98dfc5c65a23a2325f34cd # v8.0.0
env:
HEAD_SHA: ${{ github.event.workflow_run.head_sha }}
with:
@@ -108,13 +108,13 @@ jobs:
if: ${{ fromJson(needs.checks.outputs.artifact).found && fromJson(needs.checks.outputs.parameters).shouldDeploy }}
steps:
- name: Checkout code
- uses: actions/checkout@08eba0b27e820071cde6df949e0beb9ba4906955 # v4.3.0
+ uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0
with:
persist-credentials: false
- name: Load parameters
id: parameters
- uses: actions/github-script@f28e40c7f34bde8b3046d885e986cb6290c5673b # v7.1.0
+ uses: actions/github-script@ed597411d8f924073f98dfc5c65a23a2325f34cd # v8.0.0
env:
PARAM_JSON: ${{ needs.checks.outputs.parameters }}
with:
@@ -125,7 +125,7 @@ jobs:
core.setOutput("shouldDeploy", parameters.shouldDeploy);
- name: Download artifact
- uses: actions/github-script@f28e40c7f34bde8b3046d885e986cb6290c5673b # v7.1.0
+ uses: actions/github-script@ed597411d8f924073f98dfc5c65a23a2325f34cd # v8.0.0
env:
ARTIFACT_JSON: ${{ needs.checks.outputs.artifact }}
with:
diff --git a/.github/workflows/docs-destroy.yml b/.github/workflows/docs-destroy.yml
index 37653c0990..c4b9a9fff3 100644
--- a/.github/workflows/docs-destroy.yml
+++ b/.github/workflows/docs-destroy.yml
@@ -14,7 +14,7 @@ jobs:
pull-requests: write
steps:
- name: Checkout code
- uses: actions/checkout@08eba0b27e820071cde6df949e0beb9ba4906955 # v4.3.0
+ uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0
with:
persist-credentials: false
diff --git a/.github/workflows/fix-format.yml b/.github/workflows/fix-format.yml
index bec34c2713..dd61764bbc 100644
--- a/.github/workflows/fix-format.yml
+++ b/.github/workflows/fix-format.yml
@@ -16,23 +16,23 @@ jobs:
steps:
- name: Generate a token
id: generate-token
- uses: actions/create-github-app-token@a8d616148505b5069dccd32f177bb87d7f39123b # v2.1.1
+ 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@08eba0b27e820071cde6df949e0beb9ba4906955 # v4.3.0
+ uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0
with:
ref: ${{ github.event.pull_request.head.ref }}
token: ${{ steps.generate-token.outputs.token }}
persist-credentials: true
- name: Setup pnpm
- uses: pnpm/action-setup@a7487c7e89a18df4991f7f222e4898a00d66ddda # v4.1.0
+ uses: pnpm/action-setup@41ff72655975bd51cab0327fa583b6e92b6d3061 # v4.2.0
- name: Setup Node
- uses: actions/setup-node@49933ea5288caeca8642d1e84afbd3f7d6820020 # v4.4.0
+ uses: actions/setup-node@a0853c24544627f65ddf259abe73b1d18a591444 # v5.0.0
with:
node-version-file: './server/.nvmrc'
cache: 'pnpm'
@@ -48,7 +48,7 @@ jobs:
message: 'chore: fix formatting'
- name: Remove label
- uses: actions/github-script@f28e40c7f34bde8b3046d885e986cb6290c5673b # v7.1.0
+ uses: actions/github-script@ed597411d8f924073f98dfc5c65a23a2325f34cd # v8.0.0
if: always()
with:
script: |
diff --git a/.github/workflows/merge-translations.yml b/.github/workflows/merge-translations.yml
index d65567d400..d494460320 100644
--- a/.github/workflows/merge-translations.yml
+++ b/.github/workflows/merge-translations.yml
@@ -58,7 +58,7 @@ jobs:
- name: Generate a token
id: generate_token
if: ${{ inputs.skip != true }}
- uses: actions/create-github-app-token@a8d616148505b5069dccd32f177bb87d7f39123b # v2.1.1
+ 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 }}
diff --git a/.github/workflows/pr-labeler.yml b/.github/workflows/pr-labeler.yml
index ad73c78cf8..af92a3e215 100644
--- a/.github/workflows/pr-labeler.yml
+++ b/.github/workflows/pr-labeler.yml
@@ -11,4 +11,4 @@ jobs:
pull-requests: write
runs-on: ubuntu-latest
steps:
- - uses: actions/labeler@8558fd74291d67161a8a78ce36a881fa63b766a9 # v5.0.0
+ - uses: actions/labeler@634933edcd8ababfe52f92936142cc22ac488b1b # v6.0.1
diff --git a/.github/workflows/prepare-release.yml b/.github/workflows/prepare-release.yml
index 835e88938f..5a369ad13b 100644
--- a/.github/workflows/prepare-release.yml
+++ b/.github/workflows/prepare-release.yml
@@ -49,26 +49,26 @@ jobs:
steps:
- name: Generate a token
id: generate-token
- uses: actions/create-github-app-token@a8d616148505b5069dccd32f177bb87d7f39123b # v2.1.1
+ 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@08eba0b27e820071cde6df949e0beb9ba4906955 # v4.3.0
+ uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0
with:
token: ${{ steps.generate-token.outputs.token }}
persist-credentials: true
ref: main
- name: Install uv
- uses: astral-sh/setup-uv@d4b2f3b6ecc6e67c4457f6d3e41ec42d3d0fcb86 # v5.4.2
+ uses: astral-sh/setup-uv@d0cc045d04ccac9d8b7881df0226f9e82c39688e # v6.8.0
- name: Setup pnpm
- uses: pnpm/action-setup@a7487c7e89a18df4991f7f222e4898a00d66ddda # v4.1.0
+ uses: pnpm/action-setup@41ff72655975bd51cab0327fa583b6e92b6d3061 # v4.2.0
- name: Setup Node
- uses: actions/setup-node@49933ea5288caeca8642d1e84afbd3f7d6820020 # v4.4.0
+ uses: actions/setup-node@a0853c24544627f65ddf259abe73b1d18a591444 # v5.0.0
with:
node-version-file: './server/.nvmrc'
cache: 'pnpm'
@@ -111,24 +111,24 @@ jobs:
steps:
- name: Generate a token
id: generate-token
- uses: actions/create-github-app-token@a8d616148505b5069dccd32f177bb87d7f39123b # v2.1.1
+ 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@08eba0b27e820071cde6df949e0beb9ba4906955 # v4.3.0
+ uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0
with:
token: ${{ steps.generate-token.outputs.token }}
persist-credentials: false
- name: Download APK
- uses: actions/download-artifact@d3f86a106a0bac45b974a628896c90dbdf5c8093 # v4.3.0
+ uses: actions/download-artifact@634f93cb2916e3fdff6788551b99b062d0335ce0 # v5.0.0
with:
name: release-apk-signed
- name: Create draft release
- uses: softprops/action-gh-release@6cbd405e2c4e67a21c47fa9e383d020e4e28b836 # v2.3.3
+ uses: softprops/action-gh-release@6da8fa9354ddfdc4aeace5fc48d7f679b5214090 # v2.4.1
with:
draft: true
tag_name: ${{ env.IMMICH_VERSION }}
diff --git a/.github/workflows/preview-label.yaml b/.github/workflows/preview-label.yaml
index 1d9a0060ad..594214f820 100644
--- a/.github/workflows/preview-label.yaml
+++ b/.github/workflows/preview-label.yaml
@@ -24,7 +24,7 @@ jobs:
permissions:
pull-requests: write
steps:
- - uses: actions/github-script@f28e40c7f34bde8b3046d885e986cb6290c5673b # v7.1.0
+ - uses: actions/github-script@ed597411d8f924073f98dfc5c65a23a2325f34cd # v8.0.0
with:
script: |
github.rest.issues.removeLabel({
diff --git a/.github/workflows/sdk.yml b/.github/workflows/sdk.yml
index 460e7da4a7..6d768efaaf 100644
--- a/.github/workflows/sdk.yml
+++ b/.github/workflows/sdk.yml
@@ -16,15 +16,15 @@ jobs:
run:
working-directory: ./open-api/typescript-sdk
steps:
- - uses: actions/checkout@08eba0b27e820071cde6df949e0beb9ba4906955 # v4.3.0
+ - uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0
with:
persist-credentials: false
- name: Setup pnpm
- uses: pnpm/action-setup@a7487c7e89a18df4991f7f222e4898a00d66ddda # v4.1.0
+ uses: pnpm/action-setup@41ff72655975bd51cab0327fa583b6e92b6d3061 # v4.2.0
# Setup .npmrc file to publish to npm
- - uses: actions/setup-node@49933ea5288caeca8642d1e84afbd3f7d6820020 # v4.4.0
+ - uses: actions/setup-node@a0853c24544627f65ddf259abe73b1d18a591444 # v5.0.0
with:
node-version-file: './open-api/typescript-sdk/.nvmrc'
registry-url: 'https://registry.npmjs.org'
@@ -35,6 +35,6 @@ jobs:
- name: Build
run: pnpm build
- name: Publish
- run: pnpm publish
+ run: pnpm publish --no-git-checks
env:
NODE_AUTH_TOKEN: ${{ secrets.NPM_TOKEN }}
diff --git a/.github/workflows/static_analysis.yml b/.github/workflows/static_analysis.yml
index f5e68fb42d..3e7223be74 100644
--- a/.github/workflows/static_analysis.yml
+++ b/.github/workflows/static_analysis.yml
@@ -21,7 +21,7 @@ jobs:
steps:
- name: Check what should run
id: check
- uses: immich-app/devtools/actions/pre-job@24820aa4ef67959b0dcf69a438cccf00d7c7042b # pre-job-action-v1.0.1
+ uses: immich-app/devtools/actions/pre-job@5f91b52dfbb92b8d96ca411ab59c896cd59714ca # pre-job-action-v1.1.0
with:
filters: |
mobile:
@@ -42,7 +42,7 @@ jobs:
working-directory: ./mobile
steps:
- name: Checkout code
- uses: actions/checkout@08eba0b27e820071cde6df949e0beb9ba4906955 # v4.3.0
+ uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0
with:
persist-credentials: false
diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml
index 773d14e171..d95ede71e4 100644
--- a/.github/workflows/test.yml
+++ b/.github/workflows/test.yml
@@ -18,7 +18,7 @@ jobs:
steps:
- name: Check what should run
id: check
- uses: immich-app/devtools/actions/pre-job@24820aa4ef67959b0dcf69a438cccf00d7c7042b # pre-job-action-v1.0.1
+ uses: immich-app/devtools/actions/pre-job@5f91b52dfbb92b8d96ca411ab59c896cd59714ca # pre-job-action-v1.1.0
with:
filters: |
i18n:
@@ -56,13 +56,13 @@ jobs:
working-directory: ./server
steps:
- name: Checkout code
- uses: actions/checkout@08eba0b27e820071cde6df949e0beb9ba4906955 # v4.3.0
+ uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0
with:
persist-credentials: false
- name: Setup pnpm
- uses: pnpm/action-setup@a7487c7e89a18df4991f7f222e4898a00d66ddda # v4.1.0
+ uses: pnpm/action-setup@41ff72655975bd51cab0327fa583b6e92b6d3061 # v4.2.0
- name: Setup Node
- uses: actions/setup-node@49933ea5288caeca8642d1e84afbd3f7d6820020 # v4.4.0
+ uses: actions/setup-node@a0853c24544627f65ddf259abe73b1d18a591444 # v5.0.0
with:
node-version-file: './server/.nvmrc'
cache: 'pnpm'
@@ -93,13 +93,13 @@ jobs:
working-directory: ./cli
steps:
- name: Checkout code
- uses: actions/checkout@08eba0b27e820071cde6df949e0beb9ba4906955 # v4.3.0
+ uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0
with:
persist-credentials: false
- name: Setup pnpm
- uses: pnpm/action-setup@a7487c7e89a18df4991f7f222e4898a00d66ddda # v4.1.0
+ uses: pnpm/action-setup@41ff72655975bd51cab0327fa583b6e92b6d3061 # v4.2.0
- name: Setup Node
- uses: actions/setup-node@49933ea5288caeca8642d1e84afbd3f7d6820020 # v4.4.0
+ uses: actions/setup-node@a0853c24544627f65ddf259abe73b1d18a591444 # v5.0.0
with:
node-version-file: './cli/.nvmrc'
cache: 'pnpm'
@@ -133,13 +133,13 @@ jobs:
working-directory: ./cli
steps:
- name: Checkout code
- uses: actions/checkout@08eba0b27e820071cde6df949e0beb9ba4906955 # v4.3.0
+ uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0
with:
persist-credentials: false
- name: Setup pnpm
- uses: pnpm/action-setup@a7487c7e89a18df4991f7f222e4898a00d66ddda # v4.1.0
+ uses: pnpm/action-setup@41ff72655975bd51cab0327fa583b6e92b6d3061 # v4.2.0
- name: Setup Node
- uses: actions/setup-node@49933ea5288caeca8642d1e84afbd3f7d6820020 # v4.4.0
+ uses: actions/setup-node@a0853c24544627f65ddf259abe73b1d18a591444 # v5.0.0
with:
node-version-file: './cli/.nvmrc'
cache: 'pnpm'
@@ -168,13 +168,13 @@ jobs:
working-directory: ./web
steps:
- name: Checkout code
- uses: actions/checkout@08eba0b27e820071cde6df949e0beb9ba4906955 # v4.3.0
+ uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0
with:
persist-credentials: false
- name: Setup pnpm
- uses: pnpm/action-setup@a7487c7e89a18df4991f7f222e4898a00d66ddda # v4.1.0
+ uses: pnpm/action-setup@41ff72655975bd51cab0327fa583b6e92b6d3061 # v4.2.0
- name: Setup Node
- uses: actions/setup-node@49933ea5288caeca8642d1e84afbd3f7d6820020 # v4.4.0
+ uses: actions/setup-node@a0853c24544627f65ddf259abe73b1d18a591444 # v5.0.0
with:
node-version-file: './web/.nvmrc'
cache: 'pnpm'
@@ -185,7 +185,7 @@ jobs:
- name: Run pnpm install
run: pnpm rebuild && pnpm install --frozen-lockfile
- name: Run linter
- run: pnpm lint:p
+ run: pnpm lint
if: ${{ !cancelled() }}
- name: Run formatter
run: pnpm format
@@ -205,13 +205,13 @@ jobs:
working-directory: ./web
steps:
- name: Checkout code
- uses: actions/checkout@08eba0b27e820071cde6df949e0beb9ba4906955 # v4.3.0
+ uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0
with:
persist-credentials: false
- name: Setup pnpm
- uses: pnpm/action-setup@a7487c7e89a18df4991f7f222e4898a00d66ddda # v4.1.0
+ uses: pnpm/action-setup@41ff72655975bd51cab0327fa583b6e92b6d3061 # v4.2.0
- name: Setup Node
- uses: actions/setup-node@49933ea5288caeca8642d1e84afbd3f7d6820020 # v4.4.0
+ uses: actions/setup-node@a0853c24544627f65ddf259abe73b1d18a591444 # v5.0.0
with:
node-version-file: './web/.nvmrc'
cache: 'pnpm'
@@ -236,13 +236,13 @@ jobs:
contents: read
steps:
- name: Checkout code
- uses: actions/checkout@08eba0b27e820071cde6df949e0beb9ba4906955 # v4.3.0
+ uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0
with:
persist-credentials: false
- name: Setup pnpm
- uses: pnpm/action-setup@a7487c7e89a18df4991f7f222e4898a00d66ddda # v4.1.0
+ uses: pnpm/action-setup@41ff72655975bd51cab0327fa583b6e92b6d3061 # v4.2.0
- name: Setup Node
- uses: actions/setup-node@49933ea5288caeca8642d1e84afbd3f7d6820020 # v4.4.0
+ uses: actions/setup-node@a0853c24544627f65ddf259abe73b1d18a591444 # v5.0.0
with:
node-version-file: './web/.nvmrc'
cache: 'pnpm'
@@ -277,13 +277,13 @@ jobs:
working-directory: ./e2e
steps:
- name: Checkout code
- uses: actions/checkout@08eba0b27e820071cde6df949e0beb9ba4906955 # v4.3.0
+ uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0
with:
persist-credentials: false
- name: Setup pnpm
- uses: pnpm/action-setup@a7487c7e89a18df4991f7f222e4898a00d66ddda # v4.1.0
+ uses: pnpm/action-setup@41ff72655975bd51cab0327fa583b6e92b6d3061 # v4.2.0
- name: Setup Node
- uses: actions/setup-node@49933ea5288caeca8642d1e84afbd3f7d6820020 # v4.4.0
+ uses: actions/setup-node@a0853c24544627f65ddf259abe73b1d18a591444 # v5.0.0
with:
node-version-file: './e2e/.nvmrc'
cache: 'pnpm'
@@ -316,13 +316,13 @@ jobs:
working-directory: ./server
steps:
- name: Checkout code
- uses: actions/checkout@08eba0b27e820071cde6df949e0beb9ba4906955 # v4.3.0
+ uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0
with:
persist-credentials: false
- name: Setup pnpm
- uses: pnpm/action-setup@a7487c7e89a18df4991f7f222e4898a00d66ddda # v4.1.0
+ uses: pnpm/action-setup@41ff72655975bd51cab0327fa583b6e92b6d3061 # v4.2.0
- name: Setup Node
- uses: actions/setup-node@49933ea5288caeca8642d1e84afbd3f7d6820020 # v4.4.0
+ uses: actions/setup-node@a0853c24544627f65ddf259abe73b1d18a591444 # v5.0.0
with:
node-version-file: './server/.nvmrc'
cache: 'pnpm'
@@ -347,14 +347,14 @@ jobs:
runner: [ubuntu-latest, ubuntu-24.04-arm]
steps:
- name: Checkout code
- uses: actions/checkout@08eba0b27e820071cde6df949e0beb9ba4906955 # v4.3.0
+ uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0
with:
persist-credentials: false
submodules: 'recursive'
- name: Setup pnpm
- uses: pnpm/action-setup@a7487c7e89a18df4991f7f222e4898a00d66ddda # v4.1.0
+ uses: pnpm/action-setup@41ff72655975bd51cab0327fa583b6e92b6d3061 # v4.2.0
- name: Setup Node
- uses: actions/setup-node@49933ea5288caeca8642d1e84afbd3f7d6820020 # v4.4.0
+ uses: actions/setup-node@a0853c24544627f65ddf259abe73b1d18a591444 # v5.0.0
with:
node-version-file: './e2e/.nvmrc'
cache: 'pnpm'
@@ -395,14 +395,14 @@ jobs:
runner: [ubuntu-latest, ubuntu-24.04-arm]
steps:
- name: Checkout code
- uses: actions/checkout@08eba0b27e820071cde6df949e0beb9ba4906955 # v4.3.0
+ uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0
with:
persist-credentials: false
submodules: 'recursive'
- name: Setup pnpm
- uses: pnpm/action-setup@a7487c7e89a18df4991f7f222e4898a00d66ddda # v4.1.0
+ uses: pnpm/action-setup@41ff72655975bd51cab0327fa583b6e92b6d3061 # v4.2.0
- name: Setup Node
- uses: actions/setup-node@49933ea5288caeca8642d1e84afbd3f7d6820020 # v4.4.0
+ uses: actions/setup-node@a0853c24544627f65ddf259abe73b1d18a591444 # v5.0.0
with:
node-version-file: './e2e/.nvmrc'
cache: 'pnpm'
@@ -441,7 +441,7 @@ jobs:
permissions:
contents: read
steps:
- - uses: actions/checkout@08eba0b27e820071cde6df949e0beb9ba4906955 # v4.3.0
+ - uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0
with:
persist-credentials: false
- name: Setup Flutter SDK
@@ -466,12 +466,12 @@ jobs:
run:
working-directory: ./machine-learning
steps:
- - uses: actions/checkout@08eba0b27e820071cde6df949e0beb9ba4906955 # v4.3.0
+ - uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0
with:
persist-credentials: false
- name: Install uv
- uses: astral-sh/setup-uv@d4b2f3b6ecc6e67c4457f6d3e41ec42d3d0fcb86 # v5.4.2
- - uses: actions/setup-python@a26af69be951a213d495a4c3e4e4022e16d87065 # v5.6.0
+ uses: astral-sh/setup-uv@d0cc045d04ccac9d8b7881df0226f9e82c39688e # v6.8.0
+ - uses: actions/setup-python@e797f83bcb11b83ae66e0230d6156d7c80228e7c # v6.0.0
# TODO: add caching when supported (https://github.com/actions/setup-python/pull/818)
# with:
# python-version: 3.11
@@ -503,13 +503,13 @@ jobs:
working-directory: ./.github
steps:
- name: Checkout code
- uses: actions/checkout@08eba0b27e820071cde6df949e0beb9ba4906955 # v4.3.0
+ uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0
with:
persist-credentials: false
- name: Setup pnpm
- uses: pnpm/action-setup@a7487c7e89a18df4991f7f222e4898a00d66ddda # v4.1.0
+ uses: pnpm/action-setup@41ff72655975bd51cab0327fa583b6e92b6d3061 # v4.2.0
- name: Setup Node
- uses: actions/setup-node@49933ea5288caeca8642d1e84afbd3f7d6820020 # v4.4.0
+ uses: actions/setup-node@a0853c24544627f65ddf259abe73b1d18a591444 # v5.0.0
with:
node-version-file: './.github/.nvmrc'
cache: 'pnpm'
@@ -525,7 +525,7 @@ jobs:
permissions:
contents: read
steps:
- - uses: actions/checkout@08eba0b27e820071cde6df949e0beb9ba4906955 # v4.3.0
+ - uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0
with:
persist-credentials: false
- name: Run ShellCheck
@@ -540,13 +540,13 @@ jobs:
contents: read
steps:
- name: Checkout code
- uses: actions/checkout@08eba0b27e820071cde6df949e0beb9ba4906955 # v4.3.0
+ uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0
with:
persist-credentials: false
- name: Setup pnpm
- uses: pnpm/action-setup@a7487c7e89a18df4991f7f222e4898a00d66ddda # v4.1.0
+ uses: pnpm/action-setup@41ff72655975bd51cab0327fa583b6e92b6d3061 # v4.2.0
- name: Setup Node
- uses: actions/setup-node@49933ea5288caeca8642d1e84afbd3f7d6820020 # v4.4.0
+ uses: actions/setup-node@a0853c24544627f65ddf259abe73b1d18a591444 # v5.0.0
with:
node-version-file: './server/.nvmrc'
cache: 'pnpm'
@@ -581,7 +581,7 @@ jobs:
contents: read
services:
postgres:
- image: ghcr.io/immich-app/postgres:14-vectorchord0.4.3@sha256:da52bbead5d818adaa8077c8dcdaad0aaf93038c31ad8348b51f9f0ec1310a4d
+ image: ghcr.io/immich-app/postgres:14-vectorchord0.4.3@sha256:dbf18b3ffea4a81434c65b71e20d27203baf903a0275f4341e4c16dfd901fd67
env:
POSTGRES_PASSWORD: postgres
POSTGRES_USER: postgres
@@ -595,13 +595,13 @@ jobs:
working-directory: ./server
steps:
- name: Checkout code
- uses: actions/checkout@08eba0b27e820071cde6df949e0beb9ba4906955 # v4.3.0
+ uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0
with:
persist-credentials: false
- name: Setup pnpm
- uses: pnpm/action-setup@a7487c7e89a18df4991f7f222e4898a00d66ddda # v4.1.0
+ uses: pnpm/action-setup@41ff72655975bd51cab0327fa583b6e92b6d3061 # v4.2.0
- name: Setup Node
- uses: actions/setup-node@49933ea5288caeca8642d1e84afbd3f7d6820020 # v4.4.0
+ uses: actions/setup-node@a0853c24544627f65ddf259abe73b1d18a591444 # v5.0.0
with:
node-version-file: './server/.nvmrc'
cache: 'pnpm'
diff --git a/.github/workflows/weblate-lock.yml b/.github/workflows/weblate-lock.yml
index 36544d4eed..d7deb244f9 100644
--- a/.github/workflows/weblate-lock.yml
+++ b/.github/workflows/weblate-lock.yml
@@ -25,7 +25,7 @@ jobs:
steps:
- name: Check what should run
id: check
- uses: immich-app/devtools/actions/pre-job@24820aa4ef67959b0dcf69a438cccf00d7c7042b # pre-job-action-v1.0.1
+ uses: immich-app/devtools/actions/pre-job@5f91b52dfbb92b8d96ca411ab59c896cd59714ca # pre-job-action-v1.1.0
with:
filters: |
i18n:
diff --git a/.vscode/launch.json b/.vscode/launch.json
index 0cc9b256ca..9ed2bb77b8 100644
--- a/.vscode/launch.json
+++ b/.vscode/launch.json
@@ -18,6 +18,20 @@
"name": "Immich Workers",
"remoteRoot": "/usr/src/app/server",
"localRoot": "${workspaceFolder}/server"
+ },
+ {
+ "type": "node",
+ "request": "launch",
+ "name": "Immich CLI",
+ "program": "${workspaceFolder}/cli/dist/index.js",
+ "args": ["upload", "--help"],
+ "runtimeArgs": ["--enable-source-maps"],
+ "console": "integratedTerminal",
+ "resolveSourceMapLocations": ["${workspaceFolder}/cli/dist/**/*.js.map"],
+ "sourceMaps": true,
+ "outFiles": ["${workspaceFolder}/cli/dist/**/*.js"],
+ "skipFiles": ["
-
-## OAuth Integration 🎉
-
-I want to borrow this chance to express my gratitude to [@EnricoBilla](https://github.com/EnricoBilla), who has been the trailblazer for this feature since the beginning days of Immich. His PR has sparked ideas, suggestions, and discussion among the team member on how to integrate this feature successfully into the app. Thank you so much for your work and your time.
-
-OAuth is now integrated into the system. Please follow the guide [here](https://immich.app/docs/usage/oauth) to set up your OAuth integration
-
-After setting up the correct environment variables in the `.env` file, as shown below
-
-| Key | Type | Default | Description |
-| ------------------- | ------- | -------------------- | ------------------------------------------------------------------------- |
-| OAUTH_ENABLED | boolean | false | Enable/disable OAuth2 |
-| OAUTH_ISSUER_URL | URL | (required) | Required. Self-discovery URL for client |
-| OAUTH_CLIENT_ID | string | (required) | Required. Client ID |
-| OAUTH_CLIENT_SECRET | string | (required) | Required. Client Secret |
-| OAUTH_SCOPE | string | openid email profile | Full list of scopes to send with the request (space delimited) |
-| OAUTH_AUTO_REGISTER | boolean | true | When true, will automatically register a user the first time they sign in |
-| OAUTH_BUTTON_TEXT | string | Login with OAuth | Text for the OAuth button on the web |
-
-```bash title="Authentik Example"
-OAUTH_ENABLED=true
-OAUTH_ISSUER_URL=http://10.1.15.216:9000/application/o/immich-test/
-OAUTH_CLIENT_ID=30596v8f78a4b6a97d5985c3076b6b4c4d12ddc33
-OAUTH_CLIENT_SECRET=50f1eafdec353b95b1c638db390db4ab67ef035a51212dbec2f56175e2eb272b5d572c099176e6fe116ecf47ffdd544bgdb9e2edc588307ee0339d25eeccd88
-OAUTH_BUTTON_TEXT=Login with Authentik
-```
-
-The web will have the option to sign in with OAuth.
-
-
-
-The mobile app will check if the server has OAuth enabled before displaying the OAuth
-sign-in button.
-
-
-
-## Support
-
-
-
-If you find the project helpful and it helps you in some ways, you can support the project [one time](https://github.com/sponsors/alextran1502?frequency=one-time&sponsor=alextran1502) or [monthly](https://github.com/sponsors/alextran1502) from GitHub Sponsor
-
-It is a great way to let me know that you want me to continue developing and working on this project for years to come.
-
-## Details
-
-For more details, please check out the [release note](https://github.com/immich-app/immich/releases/tag/v1.36.0_55-dev)
diff --git a/docs/blog/2023/06-24/update.mdx b/docs/blog/2023/06-24/update.mdx
deleted file mode 100644
index 464d3e44d9..0000000000
--- a/docs/blog/2023/06-24/update.mdx
+++ /dev/null
@@ -1,103 +0,0 @@
----
-title: Immich Update - June 2023
-authors: [alextran]
-tags: [update]
----
-
-Hello everybody, Alex here!
-
-I am back with another update on Immich. It has been only a month since my last update (May 18th, 2023), but it seems forever. I think the rapid releases of Immich and the amount of work make the perspective of time change in Immich’s world. We have some exciting updates that I think you will like.
-
-Before going into detail, on behalf of the core team, I would like to thank all of you for loving Immich and contributing to the project. Thank you for helping me make Immich an enjoyable alternative solution to Google Photos so that you have complete control of your data and privacy. I know we are still young and have a lot of work to do, but I am confident we will get there with help from the community. I appreciate all of you from the bottom of my heart!
-
-
-
-And now, to the exciting part, what is new in Immich’s world?
-
-- Initial support for existing gallery.
-- Memory feature.
-- Support XMP sidecar.
-- Support more raw formats.
-- Justified layout for web timeline and blurred thumbnail hash.
-- Mechanism to host machine learning on a completely different machine.
-
-## Support for existing gallery
-
-I know this is the most controversial feature when it comes to Immich’s way of ingesting photos and videos. For many users, having to upload photos and videos to Immich is simply not working. We listen, discuss, and digest this feature internally more than you imagine because it is not a simple feature to tackle while keeping the performance and the user experience at the top level, which is Immich’s primary goal.
-
-Thankfully, we have many great contributors and developers that want to make this come true. So we came up with an initial implementation of this feature in the form of a supporting read-only gallery.
-
-To be concise, Immich can now read in the gallery files, register the path into the database, and then generate necessary files and put them through Immich’s machine learning pipeline so you can use all the goodness of Immich without the need to upload them. Since this is the initial implementation, some actions/behavior are not yet supported, and we aim to build toward them in future releases, namely:
-
-- Assets are not automatically synced and must instead be manually synced with the CLI tool.
-- Only new files that are added to the gallery will be detected.
-- Deleted and moved files will not be detected.
-
-## Memory feature
-
-This is considered a fun feature that the team and I wanted to build for so long, but we had to put it off because of the refactoring of the code base. The code base is now in a good enough form to circle back and add more exciting features.
-
-This memory feature is very much similar to GPhotos' implementation of “x years since…”. We are aiming to add more categories of memories in the future, such as “Spotlight of the day” or “Day of the Week highlights”
-
-
-
-This feature is now available on the web and will be ported to the mobile app in the near future.
-
-## Support XMP Sidecar
-
-Immich can now import/upload XMP sidecars from the CLI and use the information as the metadata of assets.
-
-## Support more raw formats.
-
-With the recent updates on the dependencies of Immich, we are now extending and hardening support for multiple raw formats. So users with DSLR or mirrorless cameras can now upload their original files to Immich and have them displayed in high-quality thumbnails on the web and mobile view.
-
-## Justified layout for web timeline and blurred thumbnail hash
-
-This is an aesthetic improvement in user experience when browsing the timeline. Photos and videos are now displayed correctly with perspective orientation, making the browsing experience more pleasurable.
-
-To further improve the browsing experience, we now added a blur hash to the thumbnail, so the transition is more natural with a dreamy fade in effect, similar to how our brain goes from faded to vivid memory
-
-
-
-## Hosting machine learning container on a different machine
-
-With more capabilities Immich is building toward, machine learning will get more powerful and therefore require more resources to run effectively. However, we understand that users might not have the best server resources where they host the Immich instance. Therefore, we changed how machine learning interacts and receives the photos and videos to run through its inference pipeline.
-
-The machine learning container is now a headless system that can run on any machine. As long as your Immich instance can communicate with the system running the machine learning container, it can send the files and receive the required information to make Immich powerful in terms of searching and intelligence. This helps you to utilize a more powerful machine in your home/infrastructure to perform the CPU-intensive tasks while letting Immich only handle the I/O operations for a pleasant and smooth experience.
-
----
-
-So, those are the highlights for the team and the community after a busy month. There are a lot more changes and improvements. I encourage you to read some release notes, starting from version [v1.57.0](https://github.com/immich-app/immich/releases/tag/v1.57.0) to now.
-
-Thank you, and I am asking for your support for the project. I hope to be a full-time maintainer of Immich one day to dedicate myself to the project as my life works for the community and my family. You can find the support channels below:
-
-- Monthly donation via [GitHub Sponsors](https://github.com/sponsors/alextran1502)
-- One-time donation via [GitHub Sponsors](https://github.com/sponsors/alextran1502?frequency=one-time&sponsor=alextran1502)
-- [Liberapay](https://liberapay.com/alex.tran1502/)
-- [buymeacoffee](https://www.buymeacoffee.com/altran1502)
-- Bitcoin: 3QVAb9dCHutquVejeNXitPqZX26Yg5kxb7
-- Give a project a star - the contributors love gazing at the stars and seeing their creations shining in the sky.
-
-Join our friendly [Discord](https://discord.immich.app) to talk and discuss Immich, tech, or anything
-
-Cheer!
-
-Until next time!
-
-Alex
diff --git a/docs/blog/2023/07-29/images/web-shortcuts-panel.png b/docs/blog/2023/07-29/images/web-shortcuts-panel.png
deleted file mode 100644
index 5a16c9f289..0000000000
Binary files a/docs/blog/2023/07-29/images/web-shortcuts-panel.png and /dev/null differ
diff --git a/docs/blog/2023/07-29/update.mdx b/docs/blog/2023/07-29/update.mdx
deleted file mode 100644
index 6d50ddfdc0..0000000000
--- a/docs/blog/2023/07-29/update.mdx
+++ /dev/null
@@ -1,151 +0,0 @@
----
-title: Immich Update - July 2023
-authors: [alextran]
-tags: [update, v1.64.0-v1.71.0]
----
-
-Hello, Immich fans, another month, another milestone. We hope you are staying cool and safe in this scorching hot summer across the globe.
-
-Immich recently got some good recognition when getting to the front page of HackerNews, which helped to let more people know about the project's existence. The project will help more and more people find a solution to control the privacy of their most precious moments. And with the gain in popularity and recognition, we have gotten new users and more questions from the community than ever.
-
-I want to express my gratitude to all the contributors and the community who have been tremendously helpful to new users' questions and provided technical support.
-
-Below are the highlights of new features we added to the application over the past month, along with countless bug fixes and improvements across the board, from developer experience to resource optimization and UI/UX improvement. I hope you find these topics as exciting as I am.
-
-## Highlights
-
-- Memories feature.
-- Facial recognition improvements.
-- Improvements on multi selection behavior on the web.
-- Shortcuts for common actions on the web.
-- Support viewer for 360-panorama photos.
-
-
-
----
-
-### Memories feature
-
-We've added the memory feature on the mobile app, so you can reminisce about your past memories.
-
-
-
-### Facial recognition improvements
-
-Over the past few releases, we have added many UI improvements to the facial recognition feature to help you manage the recognized people better. Some of the highlights:
-
-#### Choose a new feature photo for a person.
-
-
-
-#### Hide and show faces.
-
-You can now select irrelevant faces to hide them. The hidden faces won’t be displayed in search results and the people section in the info panel.
-
-#### Merge faces.
-
-This is useful when you have multiple faces of the same person in your photos, and you want to merge them into one.
-
-
-
-We also added a nifty mechanism that when naming a face, similar names will prompt you a merge face option for the convenience.
-
-
-
-### Improvements on multi selection behavior on the web
-
-We have added a new multi selection behavior on the web to help you select multiple items easier. You can now select a range of photos and videos by holding the `Shift` key.
-
-
-
-### Shortcuts for common actions on the web.
-
-Some of us only navigate the world and the web with a keyboard (looking at you, Vim and Emacs users). So it would take away the sacred weapon of choice to require many clicks to perform repetitive actions. So we added quick shortcuts for the following action on the web.
-
-
-
-### Support viewer for 360-panorama photos.
-
-Photos with the EXIF property of `ProjectionType` will now have a special viewer on the web to view all the angles of the panorama.
-
-The thumbnail of the 360 degrees panoramas will have a special icon on the top right of the thumbnail
-
-
-
-
:::note
-Some jobs ([External Libraries](/docs/features/libraries) scanning, Database Dump) are configured in their own sections in System Settings.
+Some jobs ([External Libraries](/features/libraries) scanning, Database Dump) are configured in their own sections in System Settings.
:::
+
+## Job processing order
+
+The below diagram shows the job run order for newly uploaded files
+
+```mermaid
+graph TD
+ A[Asset Upload] --> B[Metadata Extraction]
+ B --> C[Storage Template Migration]
+ C --> D["Thumbnail Generation (Large, small, blurred and person)"]
+ D --> E[Smart Search]
+ D --> F[Face Detection]
+ D --> G[Video Transcoding]
+ E --> H[Duplicate Detection]
+ F --> I[Facial Recognition]
+```
diff --git a/docs/docs/administration/oauth.md b/docs/docs/administration/oauth.md
index 55a0ce9469..47f4a96c6a 100644
--- a/docs/docs/administration/oauth.md
+++ b/docs/docs/administration/oauth.md
@@ -28,7 +28,7 @@ Before enabling OAuth in Immich, a new client application needs to be configured
2. Configure Redirect URIs/Origins
The **Sign-in redirect URIs** should include:
- - `app.immich:///oauth-callback` - for logging in with OAuth from the [Mobile App](/docs/features/mobile-app.mdx)
+ - `app.immich:///oauth-callback` - for logging in with OAuth from the [Mobile App](/features/mobile-app.mdx)
- `http://DOMAIN:PORT/auth/login` - for logging in with OAuth from the Web Client
- `http://DOMAIN:PORT/user-settings` - for manually linking OAuth in the Web Client
@@ -98,7 +98,7 @@ The redirect URI for the mobile app is `app.immich:///oauth-callback`, which is
2. Whitelist the new endpoint as a valid redirect URI with your provider.
3. Specify the new endpoint as the `Mobile Redirect URI Override`, in the OAuth settings.
-With these steps in place, you should be able to use OAuth from the [Mobile App](/docs/features/mobile-app.mdx) without a custom scheme redirect URI.
+With these steps in place, you should be able to use OAuth from the [Mobile App](/features/mobile-app.mdx) without a custom scheme redirect URI.
:::info
Immich has a route (`/api/oauth/mobile-redirect`) that is already configured to forward requests to `app.immich:///oauth-callback`, and can be used for step 1.
diff --git a/docs/docs/administration/reverse-proxy.md b/docs/docs/administration/reverse-proxy.md
index f13814d91f..5c9e47b010 100644
--- a/docs/docs/administration/reverse-proxy.md
+++ b/docs/docs/administration/reverse-proxy.md
@@ -6,6 +6,10 @@ Users can deploy a custom reverse proxy that forwards requests to Immich. This w
Immich does not support being served on a sub-path such as `location /immich {`. It has to be served on the root path of a (sub)domain.
:::
+:::info
+If your reverse proxy uses the [Let's Encrypt](https://letsencrypt.org/) [http-01 challenge](https://letsencrypt.org/docs/challenge-types/#http-01-challenge), you may want to verify that the Immich well-known endpoint (`/.well-known/immich`) gets correctly routed to Immich, otherwise it will likely be routed elsewhere and the mobile app may run into connection issues.
+:::
+
### Nginx example config
Below is an example config for nginx. Make sure to set `public_url` to the front-facing URL of your instance, and `backend_url` to the path of the Immich server.
@@ -37,29 +41,14 @@ server {
location / {
proxy_pass http://
diff --git a/docs/docs/features/sharing.md b/docs/docs/features/sharing.md
index ff0a03beea..c19b4f48e1 100644
--- a/docs/docs/features/sharing.md
+++ b/docs/docs/features/sharing.md
@@ -24,11 +24,11 @@ After creating an album, you can access the sharing options by clicking on the s
Partner sharing allows you to share your _entire_ library with other users of your choice. They can then view your library and download the assets.
-You can read this guide to learn more about [partner sharing](/docs/features/partner-sharing).
+You can read this guide to learn more about [partner sharing](/features/partner-sharing).
## Public sharing
-You can create a public link to share a group of photos or videos, or an album, with anyone. The public link can be shared via email, social media, or any other method. There are a varierity of options to customize the public link, such as setting an expiration date, password protection, and more. Public shared link is handy when you want to share a group of photos or videos with someone who doesn't have an Immich account and allow the shared user to upload their photos or videos to your account.
+You can create a public link to share a group of photos or videos, or an album, with anyone. The public link can be shared via email, social media, or any other method. There are a variety of options to customize the public link, such as setting an expiration date, password protection, and more. Public shared link is handy when you want to share a group of photos or videos with someone who doesn't have an Immich account and allow the shared user to upload their photos or videos to your account.
The public shared link is generated with a random URL, which acts as as a secret to avoid the link being guessed by unwanted parties, for instance.
diff --git a/docs/docs/features/tags.md b/docs/docs/features/tags.md
index a5b6752c81..79a9696d9a 100644
--- a/docs/docs/features/tags.md
+++ b/docs/docs/features/tags.md
@@ -1,6 +1,6 @@
# Tags
-Immich supports hierarchical tags, with the ability to read existing tags from the XMP `TagsList` field and IPTC `Keywords` field. Any changes to tags made through Immich are also written back to a [sidecar](/docs/features/xmp-sidecars) file. You can re-run the metadata extraction jobs for all assets to import your existing tags.
+Immich supports hierarchical tags, with the ability to read existing tags from the XMP `TagsList` field and IPTC `Keywords` field. Any changes to tags made through Immich are also written back to a [sidecar](/features/xmp-sidecars) file. You can re-run the metadata extraction jobs for all assets to import your existing tags.
## Enable tags feature
diff --git a/docs/docs/features/user-settings.md b/docs/docs/features/user-settings.md
index a2d0308541..402105cd43 100644
--- a/docs/docs/features/user-settings.md
+++ b/docs/docs/features/user-settings.md
@@ -15,9 +15,9 @@ You can access the [user settings](https://my.immich.app/user-settings) by click
---
:::tip Reset Password
-The admin can reset a user password through the [User Management](/docs/administration/user-management.mdx) screen.
+The admin can reset a user password through the [User Management](/administration/user-management.mdx) screen.
:::
:::tip Reset Admin Password
-The admin password can be reset using a [Server Command](/docs/administration/server-commands.md)
+The admin password can be reset using a [Server Command](/administration/server-commands.md)
:::
diff --git a/docs/docs/guides/better-facial-clusters.md b/docs/docs/guides/better-facial-clusters.md
index f4409b441c..40796983a5 100644
--- a/docs/docs/guides/better-facial-clusters.md
+++ b/docs/docs/guides/better-facial-clusters.md
@@ -10,7 +10,7 @@ This guide explains how to optimize facial recognition in systems with large ima
- **Best Suited For:** Large image libraries after importing a significant number of images.
- **Warning:** This method deletes all previously assigned names.
-- **Tip:** **Always take a [backup](/docs/administration/backup-and-restore#database) before proceeding!**
+- **Tip:** **Always take a [backup](/administration/backup-and-restore#database) before proceeding!**
---
diff --git a/docs/docs/guides/custom-locations.md b/docs/docs/guides/custom-locations.md
index af8ca438e7..e0274d3bd9 100644
--- a/docs/docs/guides/custom-locations.md
+++ b/docs/docs/guides/custom-locations.md
@@ -9,7 +9,7 @@ It is important to remember to update the backup settings after following the gu
In our `.env` file, we will define the paths we want to use. Note that you don't have to define all of these: UPLOAD_LOCATION will be the base folder that files are stored in by default, with the other paths acting as overrides.
```diff title=".env"
-# You can find documentation for all the supported environment variables [here](/docs/install/environment-variables)
+# You can find documentation for all the supported environment variables [here](/install/environment-variables)
# Custom location where your uploaded, thumbnails, and transcoded video files are stored
- UPLOAD_LOCATION=./library
diff --git a/docs/docs/guides/database-queries.md b/docs/docs/guides/database-queries.md
index 1a5c2ed193..5cdcdc04c4 100644
--- a/docs/docs/guides/database-queries.md
+++ b/docs/docs/guides/database-queries.md
@@ -7,7 +7,7 @@ Keep in mind that mucking around in the database might set the Moon on fire. Avo
:::tip
Run `docker exec -it immich_postgres psql --dbname=
- In the dialog, select which user should own the new library
-
+
- Click the three-dots menu and select **Edit Import Paths**
diff --git a/docs/docs/guides/remote-access.md b/docs/docs/guides/remote-access.md
index 6f401dfc5a..518b003c3a 100644
--- a/docs/docs/guides/remote-access.md
+++ b/docs/docs/guides/remote-access.md
@@ -46,7 +46,7 @@ You can learn how to set up Tailscale together with Immich with the [tutorial vi
A reverse proxy is a service that sits between web servers and clients. A reverse proxy can either be hosted on the server itself or remotely. Clients can connect to the reverse proxy via https, and the proxy relays data to Immich. This setup makes most sense if you have your own domain and want to access your Immich instance just like any other website, from outside your LAN. You can also use a DDNS provider like DuckDNS or no-ip if you don't have a domain. This configuration allows the Immich Android and iphone apps to connect to your server without a VPN or tailscale app on the client side.
-If you're hosting your own reverse proxy, [Nginx](https://docs.nginx.com/nginx/admin-guide/web-server/reverse-proxy/) is a great option. An example configuration for Nginx is provided [here](/docs/administration/reverse-proxy.md).
+If you're hosting your own reverse proxy, [Nginx](https://docs.nginx.com/nginx/admin-guide/web-server/reverse-proxy/) is a great option. An example configuration for Nginx is provided [here](/administration/reverse-proxy.md).
You'll also need your own certificate to authenticate https connections. If you're making Immich publicly accessible, [Let's Encrypt](https://letsencrypt.org/) can provide a free certificate for your domain and is the recommended option. Alternatively, a [self-signed certificate](https://en.wikipedia.org/wiki/Self-signed_certificate) allows you to encrypt your connection to Immich, but it raises a security warning on the client's browser.
diff --git a/docs/docs/guides/remote-machine-learning.md b/docs/docs/guides/remote-machine-learning.md
index 72ae0e3fa1..0a8ddf2577 100644
--- a/docs/docs/guides/remote-machine-learning.md
+++ b/docs/docs/guides/remote-machine-learning.md
@@ -1,6 +1,6 @@
# Remote Machine Learning
-To alleviate [performance issues on low-memory systems](/docs/FAQ.mdx#why-is-immich-slow-on-low-memory-systems-like-the-raspberry-pi) like the Raspberry Pi, you may also host Immich's machine learning container on a more powerful system, such as your laptop or desktop computer. The server container will send requests containing the image preview to the remote machine learning container for processing. The machine learning container does not persist this data or associate it with a particular user.
+To alleviate [performance issues on low-memory systems](/FAQ.mdx#why-is-immich-slow-on-low-memory-systems-like-the-raspberry-pi) like the Raspberry Pi, you may also host Immich's machine learning container on a more powerful system, such as your laptop or desktop computer. The server container will send requests containing the image preview to the remote machine learning container for processing. The machine learning container does not persist this data or associate it with a particular user.
:::info
Smart Search and Face Detection will use this feature, but Facial Recognition will not. This is because Facial Recognition uses the _outputs_ of these models that have already been saved to the database. As such, its processing is between the server container and the database.
@@ -14,7 +14,7 @@ Image previews are sent to the remote machine learning container. Use this optio
2. Copy the following `docker-compose.yml` to the remote server
:::info
-If using hardware acceleration, the [hwaccel.ml.yml](https://github.com/immich-app/immich/releases/latest/download/hwaccel.ml.yml) file also needs to be added and the `docker-compose.yml` needs to be configured as described in the [hardware acceleration documentation](/docs/features/ml-hardware-acceleration)
+If using hardware acceleration, the [hwaccel.ml.yml](https://github.com/immich-app/immich/releases/latest/download/hwaccel.ml.yml) file also needs to be added and the `docker-compose.yml` needs to be configured as described in the [hardware acceleration documentation](/features/ml-hardware-acceleration)
:::
```yaml
diff --git a/docs/docs/guides/template-backup-script.md b/docs/docs/guides/template-backup-script.md
index 34381dd0ee..19647d4ae1 100644
--- a/docs/docs/guides/template-backup-script.md
+++ b/docs/docs/guides/template-backup-script.md
@@ -7,7 +7,7 @@ This script assumes you have a second hard drive connected to your server for on
The database is saved to your Immich upload folder in the `database-backup` subdirectory. The database is then backed up and versioned with your assets by Borg. This ensures that the database backup is in sync with your assets in every snapshot.
:::info
-This script makes backups of your database along with your photo/video library. This is redundant with the [automatic database backup tool](https://immich.app/docs/administration/backup-and-restore#automatic-database-backups) built into Immich. Using this script to backup your database has two advantages over the built-in backup tool:
+This script makes backups of your database along with your photo/video library. This is redundant with the [automatic database backup tool](/administration/backup-and-restore#automatic-database-dumps) built into Immich. Using this script to backup your database has two advantages over the built-in backup tool:
- This script uses storage more efficiently by versioning your backups instead of making multiple copies.
- The database backups are performed at the same time as the library backup, ensuring that the backups of your database and the library are always in sync.
diff --git a/docs/docs/install/config-file.md b/docs/docs/install/config-file.md
index 54d7c61bb3..3fb0687e4a 100644
--- a/docs/docs/install/config-file.md
+++ b/docs/docs/install/config-file.md
@@ -209,7 +209,7 @@ So you can just grab it from there, paste it into a file and you're pretty much
### Step 2 - Specify the file location
In your `.env` file, set the variable `IMMICH_CONFIG_FILE` to the path of your config.
-For more information, refer to the [Environment Variables](/docs/install/environment-variables.md) section.
+For more information, refer to the [Environment Variables](/install/environment-variables.md) section.
:::tip
YAML-formatted config files are also supported.
diff --git a/docs/docs/install/docker-compose.mdx b/docs/docs/install/docker-compose.mdx
index 7a0b566f5d..46b144eb4a 100644
--- a/docs/docs/install/docker-compose.mdx
+++ b/docs/docs/install/docker-compose.mdx
@@ -29,4 +29,4 @@ If you get an error `can't set healthcheck.start_interval as feature require Doc
## Next Steps
-Read the [Post Installation](/docs/install/post-install.mdx) steps and [upgrade instructions](/docs/install/upgrading.md).
+Read the [Post Installation](/install/post-install.mdx) steps and [upgrade instructions](/install/upgrading.md).
diff --git a/docs/docs/install/environment-variables.md b/docs/docs/install/environment-variables.md
index 4e081c8966..78a5289bf4 100644
--- a/docs/docs/install/environment-variables.md
+++ b/docs/docs/install/environment-variables.md
@@ -42,7 +42,7 @@ These environment variables are used by the `docker-compose.yml` file and do **N
| `IMMICH_MICROSERVICES_METRICS_PORT` | Port for the OTEL metrics | `8082` | server | microservices |
| `IMMICH_PROCESS_INVALID_IMAGES` | When `true`, generate thumbnails for invalid images | | server | microservices |
| `IMMICH_TRUSTED_PROXIES` | List of comma-separated IPs set as trusted proxies | | server | api |
-| `IMMICH_IGNORE_MOUNT_CHECK_ERRORS` | See [System Integrity](/docs/administration/system-integrity) | | server | api, microservices |
+| `IMMICH_IGNORE_MOUNT_CHECK_ERRORS` | See [System Integrity](/administration/system-integrity) | | server | api, microservices |
\*1: `TZ` should be set to a `TZ identifier` from [this list][tz-list]. For example, `TZ="Etc/UTC"`.
`TZ` is used by `exiftool` as a fallback in case the timezone cannot be determined from the image metadata. It is also used for logfile timestamps and cron job execution.
@@ -57,7 +57,7 @@ These environment variables are used by the `docker-compose.yml` file and do **N
| `IMMICH_WORKERS_EXCLUDE` | Do not run these workers. Matches against default workers, or `IMMICH_WORKERS_INCLUDE` if specified. | | server |
:::info
-Information on the current workers can be found [here](/docs/administration/jobs-workers).
+Information on the current workers can be found [here](/administration/jobs-workers).
:::
## Ports
@@ -171,6 +171,7 @@ Redis (Sentinel) URL example JSON before encoding:
| `MACHINE_LEARNING_MAX_BATCH_SIZE__FACIAL_RECOGNITION` | Set the maximum number of faces that will be processed at once by the facial recognition model | None (`1` if using OpenVINO) | machine learning |
| `MACHINE_LEARNING_RKNN` | Enable RKNN hardware acceleration if supported | `True` | machine learning |
| `MACHINE_LEARNING_RKNN_THREADS` | How many threads of RKNN runtime should be spinned up while inferencing. | `1` | machine learning |
+| `MACHINE_LEARNING_MODEL_ARENA` | Pre-allocates CPU memory to avoid memory fragmentation | true | machine learning |
\*1: It is recommended to begin with this parameter when changing the concurrency levels of the machine learning service and then tune the other ones.
diff --git a/docs/docs/install/one-click.md b/docs/docs/install/one-click.md
new file mode 100644
index 0000000000..53fcb20d21
--- /dev/null
+++ b/docs/docs/install/one-click.md
@@ -0,0 +1,32 @@
+---
+sidebar_position: 65
+---
+
+# One-Click [Cloud Service]
+
+:::note
+This version of Immich is provided via cloud service providers' one-click marketplaces. Hosting costs are set by the cloud service providers.
+Support for these are provided by the individual cloud service providers.
+
+**Please report issues to the corresponding [Github Repository][github].**
+:::
+
+## Installation
+
+Go to the provider's marketplace and choose Immich, then follow the provided instructions.
+
+## One-Click Immich marketplace providers
+
+### DigitalOcean
+
+https://marketplace.digitalocean.com/apps/immich
+
+### Vultr
+
+https://www.vultr.com/marketplace/apps/immich
+
+## Issues
+
+For issues, open an issue on the associated [GitHub Repository][github].
+
+[github]: https://github.com/immich-app/immich/
diff --git a/docs/docs/install/portainer.md b/docs/docs/install/portainer.md
index 916d89a0d5..07fd255292 100644
--- a/docs/docs/install/portainer.md
+++ b/docs/docs/install/portainer.md
@@ -45,5 +45,5 @@ alt="Dot Env Example"
11. Click on "**Deploy the stack**".
:::tip
-For more information on how to use the application, please refer to the [Post Installation](/docs/install/post-install.mdx) guide.
+For more information on how to use the application, please refer to the [Post Installation](/install/post-install.mdx) guide.
:::
diff --git a/docs/docs/install/post-install.mdx b/docs/docs/install/post-install.mdx
index 636274aaea..b30e91f3cd 100644
--- a/docs/docs/install/post-install.mdx
+++ b/docs/docs/install/post-install.mdx
@@ -44,6 +44,6 @@ A list of common steps to take after installing Immich include:
## Setting up optional features
-- [External Libraries](/docs/features/libraries.md): Adding your existing photo library to Immich
-- [Hardware Transcoding](/docs/features/hardware-transcoding.md): Speeding up video transcoding
-- [Hardware-Accelerated Machine Learning](/docs/features/ml-hardware-acceleration.md): Speeding up various machine learning tasks in Immich
+- [External Libraries](/features/libraries.md): Adding your existing photo library to Immich
+- [Hardware Transcoding](/features/hardware-transcoding.md): Speeding up video transcoding
+- [Hardware-Accelerated Machine Learning](/features/ml-hardware-acceleration.md): Speeding up various machine learning tasks in Immich
diff --git a/docs/docs/install/script.md b/docs/docs/install/script.md
index 93d1fb166c..ce05dc82d9 100644
--- a/docs/docs/install/script.md
+++ b/docs/docs/install/script.md
@@ -5,12 +5,12 @@ sidebar_position: 20
# Install script [Experimental]
:::caution
-This method is experimental and not currently recommended for production use. For production, please refer to installing with [Docker Compose](/docs/install/docker-compose.mdx).
+This method is experimental and not currently recommended for production use. For production, please refer to installing with [Docker Compose](/install/docker-compose.mdx).
:::
## Requirements
-Follow the [requirements page](/docs/install/requirements) to get started.
+Follow the [requirements page](/install/requirements) to get started.
The install script only supports Linux operating systems and requires Docker to be already installed on the system.
@@ -32,5 +32,5 @@ The web application and mobile app will be available at `http://
-
-## Welcome!
-
-Hello, I am glad you are here.
-
-My name is Alex. I am an Electrical Engineer by schooling, then turned into a Software Engineer by trade and the pure love of problem solving.
-
-We were lying in bed with our newborn, and my wife said, "We are starting to accumulate a lot of photos and videos of our baby, and I don't want to pay for **_App-Which-Must-Not-Be-Named_** anymore. You always want to build something for me, so why don't you build me an app which can do that?"
-
-That was how the idea started to grow in my head. After that, I began to find existing solutions in the self-hosting space with similar backup functionality and the performance level of the **_App-Which-Must-Not-Be-Named_**. I found that the current solutions mainly focus on the gallery-type application. However, I want a simple-to-use backup tool with a native mobile app that can view photos and videos efficiently. So I set sail on this journey as a hungry engineer on the hunt.
-
-Another motivation that pushed me to deliver my execution of the **_App-Which-Must-Not-Be-Named_** alternative or replacement is for contributing back to the open source community that I have greatly benefited from over the years.
-
-I'm proud to share this creation with you, which values privacy, memories, and the joy of looking back at those moments in an easy-to-use and friendly interface.
-
-If you like the application or it helps you in some way, please consider [supporting](./support-the-project.md) the project. It will help me to continue to develop and maintain the application.
diff --git a/docs/docs/partials/_mobile-app-download.md b/docs/docs/partials/_mobile-app-download.md
index 72a3053440..31cf62bf81 100644
--- a/docs/docs/partials/_mobile-app-download.md
+++ b/docs/docs/partials/_mobile-app-download.md
@@ -1,5 +1,6 @@
The mobile app can be downloaded from the following places:
+- Obtainium: You can get your Obtainium config link from the [Utilities page of your Immich server](https://my.immich.app/utilities).
- [Google Play Store](https://play.google.com/store/apps/details?id=app.alextran.immich)
- [Apple App Store](https://apps.apple.com/us/app/immich/id1613945652)
- [F-Droid](https://f-droid.org/packages/app.alextran.immich)
diff --git a/docs/docs/partials/_server-backup.md b/docs/docs/partials/_server-backup.md
index b9479600aa..34e09670e9 100644
--- a/docs/docs/partials/_server-backup.md
+++ b/docs/docs/partials/_server-backup.md
@@ -1,7 +1,6 @@
Now that you have imported some pictures, you should setup server backups to preserve your memories.
-You can do so by following our [backup guide](/docs/administration/backup-and-restore.md).
+You can do so by following our [backup guide](/administration/backup-and-restore.md).
-:::danger
-Immich is still under heavy development _and_ handles very important data.
-It is essential that you set up good backups, and test them.
+:::info
+A 3-2-1 backup strategy is still crucial. The team has the responsibility to ensure that the application doesn’t cause loss of your precious memories; however, we cannot guarantee that hard drives will not fail, or an electrical event causes unexpected shutdown of your server/system, leading to data loss. Therefore, we still encourage users to follow best practices when safeguarding their data. Keep multiple copies of your most precious data: at least two local copies and one copy offsite in cold storage.
:::
diff --git a/docs/docs/partials/_storage-template.md b/docs/docs/partials/_storage-template.md
index 20e9caac43..84236e0ac1 100644
--- a/docs/docs/partials/_storage-template.md
+++ b/docs/docs/partials/_storage-template.md
@@ -1,7 +1,7 @@
-Immich allows the admin user to set the uploaded filename pattern at the directory and filename level as well as the [storage label for a user](/docs/administration/user-management/#set-storage-label-for-user).
+Immich allows the admin user to set the uploaded filename pattern at the directory and filename level as well as the [storage label for a user](/administration/user-management/#set-storage-label-for-user).
:::tip
-You can read more about the differences between storage template engine on and off [here](/docs/administration/backup-and-restore#asset-types-and-storage-locations)
+You can read more about the differences between storage template engine on and off [here](/administration/backup-and-restore#asset-types-and-storage-locations)
:::
The admin user can set the template by using the template builder in the `Administration -> Settings -> Storage Template`. Immich provides a set of variables that you can use in constructing the template, along with additional custom text. If the template produces [multiple files with the same filename, they won't be overwritten](https://github.com/immich-app/immich/discussions/3324) as a sequence number is appended to the filename.
diff --git a/docs/docusaurus.config.js b/docs/docusaurus.config.js
index d612dda253..70e0189a00 100644
--- a/docs/docusaurus.config.js
+++ b/docs/docusaurus.config.js
@@ -7,7 +7,7 @@ const prism = require('prism-react-renderer');
const config = {
title: 'Immich',
tagline: 'High performance self-hosted photo and video backup solution directly from your mobile phone',
- url: 'https://immich.app',
+ url: 'https://docs.immich.app',
baseUrl: '/',
onBrokenLinks: 'throw',
onBrokenMarkdownLinks: 'warn',
@@ -42,26 +42,19 @@ const config = {
],
presets: [
[
- 'docusaurus-preset-openapi',
- /** @type {import('docusaurus-preset-openapi').Options} */
+ 'classic',
+ /** @type {import('@docusaurus/preset-classic').Options} */
({
docs: {
showLastUpdateAuthor: true,
showLastUpdateTime: true,
+ routeBasePath: '/',
sidebarPath: require.resolve('./sidebars.js'),
// Please change this to your repo.
// Remove this to remove the "edit this page" links.
editUrl: 'https://github.com/immich-app/immich/tree/main/docs/',
},
- api: {
- path: '../open-api/immich-openapi-specs.json',
- routeBasePath: '/docs/api',
- },
- // blog: {
- // showReadingTime: true,
- // editUrl: "https://github.com/immich-app/immich/tree/main/docs/",
- // },
theme: {
customCss: require.resolve('./src/css/custom.css'),
},
@@ -72,11 +65,6 @@ const config = {
themeConfig:
/** @type {import('@docusaurus/preset-classic').ThemeConfig} */
({
- announcementBar: {
- id: 'site_announcement_immich',
- content: `⚠️ The project is under very active development. Expect bugs and changes. Do not use it as the only way to store your photos and videos!`,
- isCloseable: false,
- },
docs: {
sidebar: {
autoCollapseCategories: false,
@@ -95,17 +83,17 @@ const config = {
position: 'right',
},
{
- to: '/docs/overview/welcome',
+ to: '/overview/quick-start',
position: 'right',
label: 'Docs',
},
{
- to: '/roadmap',
+ href: 'https://immich.app/roadmap',
position: 'right',
label: 'Roadmap',
},
{
- to: '/docs/api',
+ href: 'https://api.immich.app/',
position: 'right',
label: 'API',
},
@@ -139,16 +127,16 @@ const config = {
title: 'Overview',
items: [
{
- label: 'Welcome',
- to: '/docs/overview/welcome',
+ label: 'Quick start',
+ to: '/overview/quick-start',
},
{
label: 'Installation',
- to: '/docs/install/requirements',
+ to: '/install/requirements',
},
{
label: 'Contributing',
- to: '/docs/overview/support-the-project',
+ to: '/overview/support-the-project',
},
{
label: 'Privacy Policy',
@@ -161,15 +149,15 @@ const config = {
items: [
{
label: 'Roadmap',
- to: '/roadmap',
+ href: 'https://immich.app/roadmap',
},
{
label: 'API',
- to: '/docs/api',
+ href: 'https://api.immich.app/',
},
{
label: 'Cursed Knowledge',
- to: '/cursed-knowledge',
+ href: 'https://immich.app/cursed-knowledge',
},
],
},
diff --git a/docs/package.json b/docs/package.json
index 1a1dbcf84c..f45a4ec256 100644
--- a/docs/package.json
+++ b/docs/package.json
@@ -17,15 +17,14 @@
"write-heading-ids": "docusaurus write-heading-ids"
},
"dependencies": {
- "@docusaurus/core": "~3.8.0",
- "@docusaurus/preset-classic": "~3.8.0",
- "@docusaurus/theme-common": "~3.8.0",
+ "@docusaurus/core": "~3.9.0",
+ "@docusaurus/preset-classic": "~3.9.0",
+ "@docusaurus/theme-common": "~3.9.0",
"@mdi/js": "^7.3.67",
"@mdi/react": "^1.6.1",
"@mdx-js/react": "^3.0.0",
"autoprefixer": "^10.4.17",
"docusaurus-lunr-search": "^3.3.2",
- "docusaurus-preset-openapi": "^0.7.5",
"lunr": "^2.3.9",
"postcss": "^8.4.25",
"prism-react-renderer": "^2.3.1",
@@ -36,7 +35,7 @@
"url": "^0.11.0"
},
"devDependencies": {
- "@docusaurus/module-type-aliases": "~3.8.0",
+ "@docusaurus/module-type-aliases": "~3.9.0",
"@docusaurus/tsconfig": "^3.7.0",
"@docusaurus/types": "^3.7.0",
"prettier": "^3.2.4",
@@ -58,6 +57,6 @@
"node": ">=20"
},
"volta": {
- "node": "22.19.0"
+ "node": "22.20.0"
}
}
diff --git a/docs/src/components/community-guides.tsx b/docs/src/components/community-guides.tsx
deleted file mode 100644
index 08c8e096d9..0000000000
--- a/docs/src/components/community-guides.tsx
+++ /dev/null
@@ -1,108 +0,0 @@
-import Link from '@docusaurus/Link';
-import React from 'react';
-
-interface CommunityGuidesProps {
- title: string;
- description: string;
- url: string;
-}
-
-const guides: CommunityGuidesProps[] = [
- {
- title: 'Cloudflare Tunnels with SSO/OAuth',
- description: `Setting up Cloudflare Tunnels and a SaaS App for Immich.`,
- url: 'https://github.com/immich-app/immich/discussions/8299',
- },
- {
- title: 'Database backup in TrueNAS',
- description: `Create a database backup with pgAdmin in TrueNAS.`,
- url: 'https://github.com/immich-app/immich/discussions/8809',
- },
- {
- title: 'Unraid backup scripts',
- description: `Back up your assets in Unraid with a pre-prepared script.`,
- url: 'https://github.com/immich-app/immich/discussions/8416',
- },
- {
- title: 'Sync folders with albums',
- description: `synchronize folders in imported library with albums having the folders name.`,
- url: 'https://github.com/immich-app/immich/discussions/3382',
- },
- {
- title: 'Immich Podman Quadlets Handbook',
- description:
- 'A rewrite of the original Immich Docker Compose file using Podman Quadlets, with a set of extra guides in the repository’s wiki.',
- url: 'https://github.com/linux-universe/immich-podman-quadlets/blob/main/README.md',
- },
- {
- title: 'Podman/Quadlets Install',
- description: 'Documentation for simple podman setup using quadlets.',
- url: 'https://github.com/tbelway/immich-podman-quadlets/blob/main/docs/install/podman-quadlet.md',
- },
- {
- title: 'Google Photos import + albums',
- description: 'Import your Google Photos files into Immich and add your albums.',
- url: 'https://github.com/immich-app/immich/discussions/1340',
- },
- {
- title: 'Access Immich with custom domain',
- description: 'Access your local Immich installation over the internet using your own domain.',
- url: 'https://github.com/ppr88/immich-guides/blob/main/open-immich-custom-domain.md',
- },
- {
- title: 'Nginx caching map server',
- description: 'Increase privacy by using nginx as a caching proxy in front of a map tile server.',
- url: 'https://github.com/pcouy/pcouy.github.io/blob/main/_posts/2024-08-30-proxying-a-map-tile-server-for-increased-privacy.md',
- },
- {
- title: 'fail2ban setup instructions',
- description: 'How to configure an existing fail2ban installation to block incorrect login attempts.',
- url: 'https://github.com/immich-app/immich/discussions/3243#discussioncomment-6681948',
- },
- {
- title: 'Immich remote access with NordVPN Meshnet',
- description: 'Access Immich with an end-to-end encrypted connection.',
- url: 'https://meshnet.nordvpn.com/how-to/remote-files-media-access/immich-remote-access',
- },
- {
- title: 'Trust Self Signed Certificates with Immich - OAuth Setup',
- description:
- 'Set up Certificate Authority trust with Immich, and your private OAuth2/OpenID service, while using a private CA for HTTPS commication.',
- url: 'https://github.com/immich-app/immich/discussions/18614',
- },
-];
-
-function CommunityGuide({ title, description, url }: CommunityGuidesProps): JSX.Element {
- return (
- - Cursed knowledge we have learned as a result of building Immich that we wish we never knew. -
-- Self-hosted{' '} - - photo and - video management{' '} - - solution -
- -- Easily back up, organize, and manage your photos on your own server. Immich helps you - browse, search and organize your photos and videos with ease, without - sacrificing your privacy. -
-Download the mobile app
-- Download the Immich app and start backing up your photos and videos securely to your own server -
-This project is available under GNU AGPL v3 license.
-Privacy should not be a luxury
-{description}
-{label} is die Speicherpfadbezeichnung des Benutzers",
"system_settings": "Systemeinstellungen",
"tag_cleanup_job": "Tags aufräumen",
- "template_email_available_tags": "In deiner Vorlage kannst du die folgenden Variablen verwenden: {tags}",
- "template_email_if_empty": "Wenn die Vorlage leer ist, wird die Standard-E-Mail verwendet.",
- "template_email_invite_album": "E-Mail-Vorlage: Einladung zu Album",
+ "template_email_available_tags": "Du kannst die folgenden Variablen in deiner Vorlage verwenden: {tags}",
+ "template_email_if_empty": "Wenn die Vorlage leer ist, wird die Standard-E-Mail-Vorlage verwendet.",
+ "template_email_invite_album": "Einladung zu Album",
"template_email_preview": "Vorschau",
"template_email_settings": "E-Mail-Vorlagen",
- "template_email_update_album": "Album-Vorlage aktualisieren",
- "template_email_welcome": "Willkommen bei den E-Mail-Vorlagen",
+ "template_email_update_album": "Aktualisiertes Album",
+ "template_email_welcome": "Willkommens-E-Mail",
"template_settings": "Benachrichtigungsvorlagen",
"template_settings_description": "Benutzerdefinierte Vorlagen für Benachrichtigungen verwalten",
"theme_custom_css_settings": "Benutzerdefiniertes CSS",
@@ -537,18 +539,18 @@
"autoplay_slideshow": "Automatische Diashow",
"back": "Zurück",
"back_close_deselect": "Zurück, Schließen oder Abwählen",
- "background_backup_running_error": "Hintergrund Sicherung läuft, kann manuelle Sicherung nicht starten",
+ "background_backup_running_error": "Sicherung läuft im Hintergrund. Manuelle Sicherung kann nicht gestartet werden",
"background_location_permission": "Hintergrund Standortfreigabe",
"background_location_permission_content": "Um im Hintergrund zwischen den Netzwerken wechseln zu können, muss Immich *immer* Zugriff auf den genauen Standort haben, damit die App den Namen des WLAN-Netzwerks ermitteln kann",
"background_options": "Hintergrund Optionen",
"backup": "Sicherung",
"backup_album_selection_page_albums_device": "Alben auf dem Gerät ({count})",
- "backup_album_selection_page_albums_tap": "Einmalig das Album antippen um es zu sichern, doppelt antippen um es nicht mehr zu sichern",
+ "backup_album_selection_page_albums_tap": "Antippen zum sichern, erneut antippen zum Ausschließen",
"backup_album_selection_page_assets_scatter": "Elemente (Fotos / Videos) können sich über mehrere Alben verteilen. Daher können diese vor der Sicherung eingeschlossen oder ausgeschlossen werden.",
"backup_album_selection_page_select_albums": "Alben auswählen",
- "backup_album_selection_page_selection_info": "Information",
- "backup_album_selection_page_total_assets": "Elemente",
- "backup_albums_sync": "Synchronisation von Alben beim Backup",
+ "backup_album_selection_page_selection_info": "Auswahlinformation",
+ "backup_album_selection_page_total_assets": "Elemente gesamt",
+ "backup_albums_sync": "Synchronisation der Sicherungsalben",
"backup_all": "Alle",
"backup_background_service_backup_failed_message": "Es trat ein Fehler bei der Sicherung auf. Erneuter Versuch…",
"backup_background_service_connection_failed_message": "Es konnte keine Verbindung zum Server hergestellt werden. Erneuter Versuch…",
@@ -598,6 +600,7 @@
"backup_controller_page_turn_on": "Sicherung im Vordergrund einschalten",
"backup_controller_page_uploading_file_info": "Informationen",
"backup_err_only_album": "Das einzige Album kann nicht entfernt werden",
+ "backup_error_sync_failed": "Synchronisierung fehlgeschlagen. Sicherung kann nicht verarbeitet werden.",
"backup_info_card_assets": "Elemente",
"backup_manual_cancelled": "Abgebrochen",
"backup_manual_in_progress": "Sicherung läuft bereits. Bitte versuche es später erneut",
@@ -1036,6 +1039,7 @@
"exif_bottom_sheet_description_error": "Fehler bei der Aktualisierung der Beschreibung",
"exif_bottom_sheet_details": "DETAILS",
"exif_bottom_sheet_location": "STANDORT",
+ "exif_bottom_sheet_no_description": "Keine Beschreibung",
"exif_bottom_sheet_people": "PERSONEN",
"exif_bottom_sheet_person_add_person": "Namen hinzufügen",
"exit_slideshow": "Diashow beenden",
@@ -1952,7 +1956,7 @@
"sync_remote": "mit Server synchronisieren",
"sync_status": "Synchronisierungstatus",
"sync_status_subtitle": "Synchronisierungssystem anzeigen und bearbeiten",
- "sync_upload_album_setting_subtitle": "Erstelle deine ausgewählten Alben in Immich und lade die Fotos und Videos dort hoch",
+ "sync_upload_album_setting_subtitle": "Erstelle und lade deine ausgewählten Fotos und Videos in die ausgewählten Alben auf Immich hoch",
"tag": "Tag",
"tag_assets": "Dateien taggen",
"tag_created": "Tag erstellt: {tag}",
diff --git a/i18n/el.json b/i18n/el.json
index cb6708d711..6f6835b441 100644
--- a/i18n/el.json
+++ b/i18n/el.json
@@ -28,10 +28,12 @@
"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_album_toggle": "Εναλλαγή επιλογής για το {album}",
"add_to_albums": "Προσθήκη στα άλμπουμ",
"add_to_albums_count": "Προσθήκη στα άλμπουμ ({count})",
"add_to_shared_album": "Προσθήκη σε κοινόχρηστο άλμπουμ",
+ "add_upload_to_stack": "Προσθήκη αρχείου στην ουρά",
"add_url": "Προσθήκη Συνδέσμου",
"added_to_archive": "Προστέθηκε στο αρχείο",
"added_to_favorites": "Προστέθηκε στα αγαπημένα",
@@ -401,6 +403,8 @@
"advanced_settings_prefer_remote_title": "Προτίμηση απομακρυσμένων εικόνων",
"advanced_settings_proxy_headers_subtitle": "Καθορισμός κεφαλίδων διακομιστή μεσολάβησης που το Immich πρέπει να στέλνει με κάθε αίτημα δικτύου",
"advanced_settings_proxy_headers_title": "Κεφαλίδες διακομιστή μεσολάβησης",
+ "advanced_settings_readonly_mode_subtitle": "Ενεργοποιεί τη λειτουργία μόνο-για-ανάγνωση, όπου οι φωτογραφίες μπορούν μόνο να προβληθούν. Ενέργειες όπως επιλογή πολλών εικόνων, κοινή χρήση, αποστολή (casting) και διαγραφή είναι απενεργοποιημένες. Η ενεργοποίηση/απενεργοποίηση της λειτουργίας μόνο-για-ανάγνωση γίνεται μέσω της εικόνας του χρήστη από την κεντρική οθόνη",
+ "advanced_settings_readonly_mode_title": "Λειτουργία μόνο-για-ανάγνωση",
"advanced_settings_self_signed_ssl_subtitle": "Παρακάμπτει τον έλεγχο πιστοποιητικού SSL του διακομιστή. Απαραίτητο για αυτο-υπογεγραμμένα πιστοποιητικά.",
"advanced_settings_self_signed_ssl_title": "Να επιτρέπονται αυτο-υπογεγραμμένα πιστοποιητικά SSL",
"advanced_settings_sync_remote_deletions_subtitle": "Αυτόματη διαγραφή ή επαναφορά ενός περιουσιακού στοιχείου σε αυτή τη συσκευή, όταν η ενέργεια αυτή πραγματοποιείται στο διαδίκτυο",
@@ -428,6 +432,7 @@
"album_remove_user_confirmation": "Είστε σίγουροι ότι θέλετε να αφαιρέσετε τον/την {user};",
"album_search_not_found": "Δε βρέθηκαν άλμπουμ που να ταιριάζουν με την αναζήτησή σας",
"album_share_no_users": "Φαίνεται ότι έχετε κοινοποιήσει αυτό το άλμπουμ σε όλους τους χρήστες ή δεν έχετε χρήστες για να το κοινοποιήσετε.",
+ "album_summary": "Περίληψη άλμπουμ",
"album_updated": "Το άλμπουμ, ενημερώθηκε",
"album_updated_setting_description": "Λάβετε ειδοποίηση μέσω email όταν ένα κοινόχρηστο άλμπουμ έχει νέα αρχεία",
"album_user_left": "Αποχωρήσατε από το {album}",
@@ -466,6 +471,7 @@
"app_bar_signout_dialog_title": "Αποσύνδεση",
"app_settings": "Ρυθμίσεις εφαρμογής",
"appears_in": "Εμφανίζεται σε",
+ "apply_count": "Εφαρμογή ({count, number})",
"archive": "Αρχείο",
"archive_action_prompt": "Προστέθηκαν {count} στο Αρχείο",
"archive_or_unarchive_photo": "Αρχειοθέτηση ή αποαρχειοθέτηση φωτογραφίας",
@@ -498,6 +504,8 @@
"asset_restored_successfully": "Το στοιχείο αποκαταστάθηκε με επιτυχία",
"asset_skipped": "Παραλείφθηκε",
"asset_skipped_in_trash": "Στον κάδο απορριμμάτων",
+ "asset_trashed": "Το στοιχείο διαγράφηκε",
+ "asset_troubleshoot": "Αντιμετώπιση προβλήματος στοιχείου",
"asset_uploaded": "Ανεβάστηκε",
"asset_uploading": "Ανεβάζεται…",
"asset_viewer_settings_subtitle": "Διαχείριση ρυθμίσεων προβολής συλλογής",
@@ -531,8 +539,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,6 +550,7 @@
"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_connection_failed_message": "Αποτυχία σύνδεσης με το διακομιστή. Επανάληψη…",
@@ -589,6 +600,7 @@
"backup_controller_page_turn_on": "Ενεργοποίηση δημιουργίας αντιγράφου ασφαλείας στο προσκήνιο",
"backup_controller_page_uploading_file_info": "Μεταφόρτωση πληροφοριών αρχείου",
"backup_err_only_album": "Δεν είναι δυνατή η αφαίρεση του μοναδικού άλμπουμ",
+ "backup_error_sync_failed": "Ο συγχρονισμός απέτυχε. Δεν είναι δυνατή η επεξεργασία του αντιγράφου ασφαλείας.",
"backup_info_card_assets": "στοιχεία",
"backup_manual_cancelled": "Ακυρώθηκε",
"backup_manual_in_progress": "Μεταφόρτωση σε εξέλιξη. Δοκιμάστε αργότερα",
@@ -656,6 +668,8 @@
"change_pin_code": "Αλλαγή κωδικού PIN",
"change_your_password": "Αλλάξτε τον κωδικό σας",
"changed_visibility_successfully": "Η προβολή, άλλαξε με επιτυχία",
+ "charging": "Φόρτιση",
+ "charging_requirement_mobile_backup": "Η δημιουργία αντιγράφων ασφάλειας στο παρασκήνιο απαιτεί η συσκευή να φορτίζει",
"check_corrupt_asset_backup": "Έλεγχος για κατεστραμμένα αντίγραφα ασφαλείας στοιχείων",
"check_corrupt_asset_backup_button": "Εκτέλεση ελέγχου",
"check_corrupt_asset_backup_description": "Εκτέλεσε αυτόν τον έλεγχο μόνο μέσω Wi-Fi και αφού έχουν αποθηκευτεί όλα τα αντίγραφα ασφαλείας των στοιχείων. Η διαδικασία μπορεί να διαρκέσει μερικά λεπτά.",
@@ -742,6 +756,7 @@
"create_user": "Δημιουργία χρήστη",
"created": "Δημιουργήθηκε",
"created_at": "Δημιουργήθηκε",
+ "creating_linked_albums": "Δημιουργία συνδεδεμένων άλμπουμ...",
"crop": "Αποκοπή",
"curated_object_page_title": "Πράγματα",
"current_device": "Τρέχουσα συσκευή",
@@ -891,7 +906,9 @@
"error": "Σφάλμα",
"error_change_sort_album": "Απέτυχε η αλλαγή σειράς του άλμπουμ",
"error_delete_face": "Σφάλμα διαγραφής προσώπου από το στοιχείο",
+ "error_getting_places": "Σφάλμα κατά την ανάκτηση τοποθεσιών",
"error_loading_image": "Σφάλμα κατά τη φόρτωση της εικόνας",
+ "error_loading_partners": "Σφάλμα κατά τη φόρτωση συνεργατών: {error}",
"error_saving_image": "Σφάλμα: {error}",
"error_tag_face_bounding_box": "Σφάλμα επισήμανσης προσώπου - δεν μπορούν να ληφθούν οι συντεταγμένες του πλαισίου οριοθέτησης",
"error_title": "Σφάλμα - Κάτι πήγε στραβά",
@@ -1056,6 +1073,7 @@
"favorites_page_no_favorites": "Δεν βρέθηκαν αγαπημένα στοιχεία",
"feature_photo_updated": "Η φωτογραφία προβολής ενημερώθηκε",
"features": "Χαρακτηριστικά",
+ "features_in_development": "Λειτουργίες υπό Ανάπτυξη",
"features_setting_description": "Διαχειριστείτε τα χαρακτηριστικά της εφαρμογής",
"file_name": "Όνομα αρχείου",
"file_name_or_extension": "Όνομα αρχείου ή επέκταση",
@@ -1076,12 +1094,15 @@
"gcast_enabled": "Μετάδοση περιεχομένου Google Cast",
"gcast_enabled_description": "Αυτό το χαρακτηριστικό φορτώνει εξωτερικούς πόρους από τη Google για να λειτουργήσει.",
"general": "Γενικά",
+ "geolocation_instruction_location": "Κάνε κλικ σε ένα στοιχείο με συντεταγμένες GPS για να χρησιμοποιήσεις την τοποθεσία του, ή επίλεξε απευθείας μια τοποθεσία από τον χάρτη",
"get_help": "Ζητήστε βοήθεια",
"get_wifiname_error": "Δεν ήταν δυνατή η λήψη του ονόματος Wi-Fi. Βεβαιωθείτε ότι έχετε δώσει τις απαραίτητες άδειες και ότι είστε συνδεδεμένοι σε δίκτυο Wi-Fi",
"getting_started": "Ξεκινώντας",
"go_back": "Πηγαίνετε πίσω",
"go_to_folder": "Μετάβαση στο φάκελο",
"go_to_search": "Πηγαίνετε στην αναζήτηση",
+ "gps": "GPS",
+ "gps_missing": "Χωρίς GPS",
"grant_permission": "Επιτρέψτε την άδεια",
"group_albums_by": "Ομαδοποίηση άλμπουμ κατά...",
"group_country": "Ομαδοποίηση κατά χώρα",
@@ -1217,6 +1238,7 @@
"local": "Τοπικά",
"local_asset_cast_failed": "Αδυναμία μετάδοσης στοιχείου που δεν έχει ανέβει στον διακομιστή",
"local_assets": "Τοπικά στοιχεία",
+ "local_media_summary": "Περίληψη τοπικών πολυμέσων",
"local_network": "Τοπικό δίκτυο",
"local_network_sheet_info": "Η εφαρμογή θα συνδεθεί με τον διακομιστή μέσω αυτού του URL όταν χρησιμοποιείται το καθορισμένο δίκτυο Wi-Fi",
"location_permission": "Άδεια τοποθεσίας",
@@ -1228,6 +1250,7 @@
"location_picker_longitude_hint": "Εισαγάγετε εδώ το γεωγραφικό σας μήκος",
"lock": "Κλείδωμα",
"locked_folder": "Κλειδωμένος φάκελος",
+ "log_detail_title": "Λεπτομέρεια καταγραφής",
"log_out": "Αποσύνδεση",
"log_out_all_devices": "Αποσύνδεση από Όλες τις Συσκευές",
"logged_in_as": "Συνδεδεμένος ως {user}",
@@ -1258,6 +1281,7 @@
"login_password_changed_success": "Ο κωδικός πρόσβασης ενημερώθηκε με επιτυχία",
"logout_all_device_confirmation": "Είστε βέβαιοι ότι θέλετε να αποσυνδεθείτε από όλες τις συσκευές;",
"logout_this_device_confirmation": "Είστε βέβαιοι ότι θέλετε να αποσυνδεθείτε από αυτήν τη συσκευή;",
+ "logs": "Καταγραφές",
"longitude": "Γεωγραφικό μήκος",
"look": "Εμφάνιση",
"loop_videos": "Επανάληψη βίντεο",
@@ -1265,6 +1289,7 @@
"main_branch_warning": "Χρησιμοποιείτε μια έκδοση σε ανάπτυξη· συνιστούμε ανεπιφύλακτα τη χρήση μιας τελικής έκδοσης!",
"main_menu": "Κύριο μενού",
"make": "Κατασκευαστής",
+ "manage_geolocation": "Διαχείριση τοποθεσίας",
"manage_shared_links": "Διαχείριση κοινόχρηστων συνδέσμων",
"manage_sharing_with_partners": "Διαχειριστείτε την κοινή χρήση με συνεργάτες",
"manage_the_app_settings": "Διαχειριστείτε τις ρυθμίσεις της εφαρμογής",
@@ -1299,6 +1324,7 @@
"mark_as_read": "Επισήμανση ως αναγνωσμένο",
"marked_all_as_read": "Όλα επισημάνθηκαν ως αναγνωσμένα",
"matches": "Αντιστοιχίες",
+ "matching_assets": "Αντιστοιχία στοιχείων",
"media_type": "Τύπος πολυμέσου",
"memories": "Αναμνήσεις",
"memories_all_caught_up": "Συγχρονισμένα",
@@ -1339,6 +1365,7 @@
"name_or_nickname": "Όνομα ή ψευδώνυμο",
"network_requirement_photos_upload": "Χρήση δεδομένων κινητής τηλεφωνίας για τη δημιουργία αντιγράφων ασφαλείας των φωτογραφιών",
"network_requirement_videos_upload": "Χρήση δεδομένων κινητής τηλεφωνίας για τη δημιουργία αντιγράφων ασφαλείας των βίντεο",
+ "network_requirements": "Απαιτήσεις Δυκτίου",
"network_requirements_updated": "Οι απαιτήσεις δικτύου άλλαξαν, γίνεται επαναφορά της ουράς αντιγράφων ασφαλείας",
"networking_settings": "Δικτύωση",
"networking_subtitle": "Διαχείριση ρυθμίσεων τελικών σημείων διακομιστή",
@@ -1349,6 +1376,7 @@
"new_person": "Νέο άτομο",
"new_pin_code": "Νέος κωδικός PIN",
"new_pin_code_subtitle": "Αυτή είναι η πρώτη φορά που αποκτάτε πρόσβαση στον κλειδωμένο φάκελο. Δημιουργήστε έναν κωδικό PIN για ασφαλή πρόσβαση σε αυτή τη σελίδα",
+ "new_timeline": "Νέο Χρονολόγιο",
"new_user_created": "Ο νέος χρήστης δημιουργήθηκε",
"new_version_available": "ΔΙΑΘΕΣΙΜΗ ΝΕΑ ΕΚΔΟΣΗ",
"newest_first": "Τα νεότερα πρώτα",
@@ -1362,20 +1390,25 @@
"no_assets_message": "ΚΑΝΤΕ ΚΛΙΚ ΓΙΑ ΝΑ ΑΝΕΒΑΣΕΤΕ ΤΗΝ ΠΡΩΤΗ ΣΑΣ ΦΩΤΟΓΡΑΦΙΑ",
"no_assets_to_show": "Δεν υπάρχουν στοιχεία προς εμφάνιση",
"no_cast_devices_found": "Δε βρέθηκαν συσκευές μετάδοσης",
+ "no_checksum_local": "Δεν υπάρχει διαθέσιμο checksum για έλεγχο ακεραιότητας – δεν μπορούν να ανακτηθούν τα τοπικά στοιχεία",
+ "no_checksum_remote": "Δεν υπάρχει διαθέσιμο checksum για έλεγχο ακεραιότητας – δεν μπορούν να ανακτηθούν τα απομακρυσμένα στοιχεία",
"no_duplicates_found": "Δεν βρέθηκαν διπλότυπα.",
"no_exif_info_available": "Καμία πληροφορία exif διαθέσιμη",
"no_explore_results_message": "Ανεβάστε περισσότερες φωτογραφίες για να περιηγηθείτε στη συλλογή σας.",
"no_favorites_message": "Προσθέστε αγαπημένα για να βρείτε γρήγορα τις καλύτερες φωτογραφίες και τα βίντεό σας",
"no_libraries_message": "Δημιουργήστε μια εξωτερική βιβλιοθήκη για να προβάλετε τις φωτογραφίες και τα βίντεό σας",
+ "no_local_assets_found": "Δεν βρέθηκαν τοπικά στοιχεία με αυτό το checksum",
"no_locked_photos_message": "Οι φωτογραφίες και τα βίντεο στον κλειδωμένο φάκελο, είναι κρυμμένες και δεν θα εμφανίζονται κατά την περιήγηση ή την αναζήτηση στη βιβλιοθήκη σας.",
"no_name": "Χωρίς Όνομα",
"no_notifications": "Καμία ειδοποίηση",
"no_people_found": "Δεν βρέθηκαν άτομα που να ταιριάζουν",
"no_places": "Καμία τοποθεσία",
+ "no_remote_assets_found": "Δεν βρέθηκαν απομακρυσμένα στοιχεία με αυτό το checksum",
"no_results": "Κανένα αποτέλεσμα",
"no_results_description": "Δοκιμάστε ένα συνώνυμο ή πιο γενική λέξη-κλειδί",
"no_shared_albums_message": "Δημιουργήστε ένα άλμπουμ για να μοιράζεστε φωτογραφίες και βίντεο με άτομα στο δίκτυό σας",
"no_uploads_in_progress": "Καμία μεταφόρτωση σε εξέλιξη",
+ "not_available": "Μ/Δ (Μη Διαθέσιμο)",
"not_in_any_album": "Σε κανένα άλμπουμ",
"not_selected": "Δεν επιλέχθηκε",
"note_apply_storage_label_to_previously_uploaded assets": "Σημείωση: Για να εφαρμόσετε την Ετικέτα Αποθήκευσης σε στοιχεία που έχουν μεταφορτωθεί προηγουμένως, εκτελέστε το",
@@ -1410,6 +1443,8 @@
"open_the_search_filters": "Ανοίξτε τα φίλτρα αναζήτησης",
"options": "Επιλογές",
"or": "ή",
+ "organize_into_albums": "Οργάνωση σε άλμπουμ",
+ "organize_into_albums_description": "Τοποθετείστε τις υπάρχουσες φωτογραφίες σε άλμπουμ χρησιμοποιώντας τις τρέχουσες ρυθμίσεις συγχρονισμού",
"organize_your_library": "Οργανώστε τη βιβλιοθήκη σας",
"original": "πρωτότυπο",
"other": "Άλλες",
@@ -1495,6 +1530,7 @@
"port": "Θύρα",
"preferences_settings_subtitle": "Διαχειριστείτε τις προτιμήσεις της εφαρμογής",
"preferences_settings_title": "Προτιμήσεις",
+ "preparing": "Προετοιμασία",
"preset": "Προκαθορισμένη ρύθμιση",
"preview": "Προεπισκόπηση",
"previous": "Προηγούμενο",
@@ -1511,6 +1547,7 @@
"profile_drawer_client_out_of_date_minor": "Παρακαλώ ενημερώστε την εφαρμογή στην πιο πρόσφατη δευτερεύουσα έκδοση.",
"profile_drawer_client_server_up_to_date": "Ο πελάτης και ο διακομιστής είναι ενημερωμένοι",
"profile_drawer_github": "GitHub",
+ "profile_drawer_readonly_mode": "Η λειτουργία μόνο-για-ανάγνωση ενεργοποιήθηκε. Κρατήστε πατημένο το εικονίδιο του χρήστη για απενεργοποίηση.",
"profile_drawer_server_out_of_date_major": "Παρακαλώ ενημερώστε τον διακομιστή στην πιο πρόσφατη κύρια έκδοση.",
"profile_drawer_server_out_of_date_minor": "Παρακαλώ ενημερώστε τον διακομιστή στην πιο πρόσφατη δευτερεύουσα έκδοση.",
"profile_image_of_user": "Εικόνα προφίλ του χρήστη {user}",
@@ -1549,6 +1586,7 @@
"purchase_server_description_2": "Κατάσταση υποστηρικτή",
"purchase_server_title": "Διακομιστής",
"purchase_settings_server_activated": "Η διαχείριση του κλειδιού προϊόντος του διακομιστή γίνεται από τον διαχειριστή",
+ "query_asset_id": "Αναζήτηση ID Στοιχείου",
"queue_status": "Τοποθέτηση στη ουρά {count} από {total}",
"rating": "Αξιολόγηση με αστέρια",
"rating_clear": "Εκκαθάριση αξιολόγησης",
@@ -1556,6 +1594,9 @@
"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 {# αρχείου} other {# αρχείων}} στον/στην {name, select, null {έναν/μία υπάρχοντα/ουσα χρήστη} other {{name}}}",
"reassigned_assets_to_new_person": "Η ανάθεση {count, plural, one {# αρχείου} other {# αρχείων}} σε νέο άτομο",
@@ -1580,6 +1621,7 @@
"regenerating_thumbnails": "Οι μικρογραφίες αναγεννώνται",
"remote": "Απομακρυσμένος",
"remote_assets": "Απομακρυσμένα στοιχεία",
+ "remote_media_summary": "Περίληψη απομακρυσμένων πολυμέσων",
"remove": "Αφαίρεση",
"remove_assets_album_confirmation": "Είστε σίγουροι ότι θέλετε να αφαιρέσετε {count, plural, one {# στοιχείο} other {# στοιχεία}} από το άλμπουμ;",
"remove_assets_shared_link_confirmation": "Είστε σίγουροι ότι θέλετε να αφαιρέσετε {count, plural, one {# στοιχείο} other {# στοιχεία}} από αυτόν τον κοινόχρηστο σύνδεσμο;",
@@ -1632,6 +1674,7 @@
"restore_user": "Επαναφορά χρήστη",
"restored_asset": "Ανακτήθηκε το αρχείο",
"resume": "Συνέχιση",
+ "resume_paused_jobs": "Συνέχιση {count, plural, one {# σε παύση εργασία} other {# σε παύση εργασίες}}",
"retry_upload": "Επανάληψη ανεβάσματος",
"review_duplicates": "Προβολή διπλότυπων",
"review_large_files": "Επισκόπηση μεγάλων αρχείων",
@@ -1725,6 +1768,7 @@
"select_user_for_sharing_page_err_album": "Αποτυχία δημιουργίας άλπουμ",
"selected": "Επιλεγμένοι",
"selected_count": "{count, plural, other {# επιλεγμένοι}}",
+ "selected_gps_coordinates": "Επιλεγμένες συντεταγμένες GPS",
"send_message": "Αποστολή μηνύματος",
"send_welcome_email": "Αποστολή email καλωσορίσματος",
"server_endpoint": "Τελικό σημείο Διακομιστή",
@@ -1853,6 +1897,7 @@
"show_slideshow_transition": "Εμφάνιση μετάβασης παρουσίασης",
"show_supporter_badge": "Σήμα υποστηρικτή",
"show_supporter_badge_description": "Εμφάνιση σήματος υποστηρικτή",
+ "show_text_search_menu": "Εμφάνιση μενού αναζήτησης κειμένου",
"shuffle": "Ανάμειξη",
"sidebar": "Πλαϊνή μπάρα",
"sidebar_display_description": "Εμφάνιση συνδέσμου για προβολή στην πλαϊνή μπάρα",
@@ -1883,6 +1928,7 @@
"stacktrace": "Καταγραφή στοίβας",
"start": "Έναρξη",
"start_date": "Από",
+ "start_date_before_end_date": "Η ημερομηνία έναρξης πρέπει να είναι πριν από την ημερομηνία λήξης",
"state": "Νομός",
"status": "Κατάσταση",
"stop_casting": "Διακοπή μετάδοσης",
@@ -1907,6 +1953,8 @@
"sync_albums_manual_subtitle": "Συγχρονίστε όλα τα μεταφορτωμένα βίντεο και φωτογραφίες με τα επιλεγμένα εφεδρικά άλμπουμ",
"sync_local": "Τοπικός Συγχρονισμός",
"sync_remote": "Απομακρυσμένος Συγχρονισμός",
+ "sync_status": "Κατάσταση συγχρονισμού",
+ "sync_status_subtitle": "Προβολή και διαχείριση του συστήματος συγχρονισμού",
"sync_upload_album_setting_subtitle": "Δημιουργήστε και ανεβάστε τις φωτογραφίες και τα βίντεό σας στα επιλεγμένα άλμπουμ στο Immich",
"tag": "Ετικέτα",
"tag_assets": "Ετικετοποίηση στοιχείων",
@@ -1944,7 +1992,9 @@
"to_change_password": "Αλλαγή κωδικού πρόσβασης",
"to_favorite": "Αγαπημένο",
"to_login": "Είσοδος",
+ "to_multi_select": "για πολλαπλή επιλογή",
"to_parent": "Μεταβείτε στο γονικό φάκελο",
+ "to_select": "για επιλογή",
"to_trash": "Κάδος απορριμμάτων",
"toggle_settings": "Εναλλαγή ρυθμίσεων",
"total": "Σύνολο",
@@ -1964,6 +2014,7 @@
"trash_page_select_assets_btn": "Επιλέξτε στοιχεία",
"trash_page_title": "Κάδος Απορριμμάτων ({count})",
"trashed_items_will_be_permanently_deleted_after": "Τα στοιχεία που βρίσκονται στον κάδο απορριμμάτων θα διαγραφούν οριστικά μετά από {days, plural, one {# ημέρα} other {# ημέρες}}.",
+ "troubleshoot": "Επίλυση προβλημάτων",
"type": "Τύπος",
"unable_to_change_pin_code": "Αδυναμία αλλαγής κωδικού PIN",
"unable_to_setup_pin_code": "Αδυναμία ρύθμισης κωδικού PIN",
@@ -1994,6 +2045,7 @@
"unstacked_assets_count": "Αποστοιβάξατε {count, plural, one {# στοιχείο} other {# στοιχεία}}",
"untagged": "Χωρίς ετικέτα",
"up_next": "Ακολουθεί",
+ "update_location_action_prompt": "Ενημέρωση τοποθεσίας για {count} επιλεγμένα στοιχεία με:",
"updated_at": "Ενημερωμένο",
"updated_password": "Ο κωδικός πρόσβασης ενημερώθηκε",
"upload": "Μεταφόρτωση",
@@ -2060,6 +2112,7 @@
"view_next_asset": "Προβολή επόμενου στοιχείου",
"view_previous_asset": "Προβολή προηγούμενου στοιχείου",
"view_qr_code": "Προβολή κωδικού QR",
+ "view_similar_photos": "Προβολή παρόμοιων φωτογραφιών",
"view_stack": "Προβολή της στοίβας",
"view_user": "Προβολή Χρήστη",
"viewer_remove_from_stack": "Κατάργηση από τη Στοίβα",
@@ -2078,5 +2131,6 @@
"yes": "Ναι",
"you_dont_have_any_shared_links": "Δεν έχετε κοινόχρηστους συνδέσμους",
"your_wifi_name": "Το όνομα του Wi-Fi σας",
- "zoom_image": "Ζουμ Εικόνας"
+ "zoom_image": "Ζουμ Εικόνας",
+ "zoom_to_bounds": "Εστίαση στα όρια"
}
diff --git a/i18n/en.json b/i18n/en.json
index 23e1071a2d..d265c9b9d8 100644
--- a/i18n/en.json
+++ b/i18n/en.json
@@ -28,10 +28,12 @@
"add_to_album": "Add to album",
"add_to_album_bottom_sheet_added": "Added to {album}",
"add_to_album_bottom_sheet_already_exists": "Already in {album}",
+ "add_to_album_bottom_sheet_some_local_assets": "Some local assets could not be added to album",
"add_to_album_toggle": "Toggle selection for {album}",
"add_to_albums": "Add to albums",
"add_to_albums_count": "Add to albums ({count})",
"add_to_shared_album": "Add to shared album",
+ "add_upload_to_stack": "Add upload to stack",
"add_url": "Add URL",
"added_to_archive": "Added to archive",
"added_to_favorites": "Added to favorites",
@@ -209,6 +211,8 @@
"notification_email_ignore_certificate_errors_description": "Ignore TLS certificate validation errors (not recommended)",
"notification_email_password_description": "Password to use when authenticating with the email server",
"notification_email_port_description": "Port of the email server (e.g 25, 465, or 587)",
+ "notification_email_secure": "SMTPS",
+ "notification_email_secure_description": "Use SMTPS (SMTP over TLS)",
"notification_email_sent_test_email_button": "Send test email and save",
"notification_email_setting_description": "Settings for sending email notifications",
"notification_email_test_email": "Send test email",
@@ -331,7 +335,7 @@
"transcoding_max_b_frames": "Maximum B-frames",
"transcoding_max_b_frames_description": "Higher values improve compression efficiency, but slow down encoding. May not be compatible with hardware acceleration on older devices. 0 disables B-frames, while -1 sets this value automatically.",
"transcoding_max_bitrate": "Maximum bitrate",
- "transcoding_max_bitrate_description": "Setting a max bitrate can make file sizes more predictable at a minor cost to quality. At 720p, typical values are 2600 kbit/s for VP9 or HEVC, or 4500 kbit/s for H.264. Disabled if set to 0.",
+ "transcoding_max_bitrate_description": "Setting a max bitrate can make file sizes more predictable at a minor cost to quality. At 720p, typical values are 2600 kbit/s for VP9 or HEVC, or 4500 kbit/s for H.264. Disabled if set to 0. When no unit is specified, k (for kbit/s) is assumed; therefore 5000, 5000k, and 5M (for Mbit/s) are equivalent.",
"transcoding_max_keyframe_interval": "Maximum keyframe interval",
"transcoding_max_keyframe_interval_description": "Sets the maximum frame distance between keyframes. Lower values worsen compression efficiency, but improve seek times and may improve quality in scenes with fast movement. 0 sets this value automatically.",
"transcoding_optimal_description": "Videos higher than target resolution or not in an accepted format",
@@ -349,7 +353,7 @@
"transcoding_target_resolution": "Target resolution",
"transcoding_target_resolution_description": "Higher resolutions can preserve more detail but take longer to encode, have larger file sizes, and can reduce app responsiveness.",
"transcoding_temporal_aq": "Temporal AQ",
- "transcoding_temporal_aq_description": "Applies only to NVENC. Increases quality of high-detail, low-motion scenes. May not be compatible with older devices.",
+ "transcoding_temporal_aq_description": "Applies only to NVENC. Temporal Adaptive Quantization increases quality of high-detail, low-motion scenes. May not be compatible with older devices.",
"transcoding_threads": "Threads",
"transcoding_threads_description": "Higher values lead to faster encoding, but leave less room for the server to process other tasks while active. This value should not be more than the number of CPU cores. Maximizes utilization if set to 0.",
"transcoding_tone_mapping": "Tone-mapping",
@@ -464,9 +468,11 @@
"api_key_description": "This value will only be shown once. Please be sure to copy it before closing the window.",
"api_key_empty": "Your API Key name shouldn't be empty",
"api_keys": "API Keys",
+ "app_architecture_variant": "Variant (Architecture)",
"app_bar_signout_dialog_content": "Are you sure you want to sign out?",
"app_bar_signout_dialog_ok": "Yes",
"app_bar_signout_dialog_title": "Sign out",
+ "app_download_links": "App Download Links",
"app_settings": "App Settings",
"appears_in": "Appears in",
"apply_count": "Apply ({count, number})",
@@ -598,6 +604,7 @@
"backup_controller_page_turn_on": "Turn on foreground backup",
"backup_controller_page_uploading_file_info": "Uploading file info",
"backup_err_only_album": "Cannot remove the only album",
+ "backup_error_sync_failed": "Sync failed. Cannot process backup.",
"backup_info_card_assets": "assets",
"backup_manual_cancelled": "Cancelled",
"backup_manual_in_progress": "Upload already in progress. Try after sometime",
@@ -1036,6 +1043,7 @@
"exif_bottom_sheet_description_error": "Error updating description",
"exif_bottom_sheet_details": "DETAILS",
"exif_bottom_sheet_location": "LOCATION",
+ "exif_bottom_sheet_no_description": "No description",
"exif_bottom_sheet_people": "PEOPLE",
"exif_bottom_sheet_person_add_person": "Add name",
"exit_slideshow": "Exit Slideshow",
@@ -1342,6 +1350,8 @@
"minute": "Minute",
"minutes": "Minutes",
"missing": "Missing",
+ "mobile_app": "Mobile App",
+ "mobile_app_download_onboarding_note": "You can access these options again from the Utilities page.",
"model": "Model",
"month": "Month",
"monthly_title_text_date_format": "MMMM y",
@@ -1360,6 +1370,8 @@
"my_albums": "My albums",
"name": "Name",
"name_or_nickname": "Name or nickname",
+ "navigate": "Navigate",
+ "navigate_to_time": "Navigate to Time",
"network_requirement_photos_upload": "Use cellular data to backup photos",
"network_requirement_videos_upload": "Use cellular data to backup videos",
"network_requirements": "Network Requirements",
@@ -1369,6 +1381,7 @@
"never": "Never",
"new_album": "New Album",
"new_api_key": "New API Key",
+ "new_date_range": "New date range",
"new_password": "New password",
"new_person": "New person",
"new_pin_code": "New PIN code",
@@ -1419,6 +1432,8 @@
"notifications": "Notifications",
"notifications_setting_description": "Manage notifications",
"oauth": "OAuth",
+ "obtainium_configurator": "Obtainium Configurator",
+ "obtainium_configurator_instructions": "Please create an API key and select a variant to create your Obtainium configuration link.",
"official_immich_resources": "Official Immich Resources",
"offline": "Offline",
"offset": "Offset",
@@ -1803,6 +1818,8 @@
"setting_notifications_subtitle": "Adjust your notification preferences",
"setting_notifications_total_progress_subtitle": "Overall upload progress (done/total assets)",
"setting_notifications_total_progress_title": "Show background backup total progress",
+ "setting_video_viewer_auto_play_subtitle": "Automatically start playing videos when they are opened",
+ "setting_video_viewer_auto_play_title": "Auto play videos",
"setting_video_viewer_looping_title": "Looping",
"setting_video_viewer_original_video_subtitle": "When streaming a video from the server, play the original even when a transcode is available. May lead to buffering. Videos available locally are played in original quality regardless of this setting.",
"setting_video_viewer_original_video_title": "Force original video",
diff --git a/i18n/es.json b/i18n/es.json
index 40ea723ded..c08f93da08 100644
--- a/i18n/es.json
+++ b/i18n/es.json
@@ -28,10 +28,12 @@
"add_to_album": "Incluir en álbum",
"add_to_album_bottom_sheet_added": "Agregado a {album}",
"add_to_album_bottom_sheet_already_exists": "Ya se encuentra en {album}",
+ "add_to_album_bottom_sheet_some_local_assets": "Algunos recursos locales no se pudieron añadir al álbum",
"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_shared_album": "Incluir en álbum compartido",
+ "add_upload_to_stack": "Añadir archivo y apilar",
"add_url": "Agregar URL",
"added_to_archive": "Agregado al Archivado",
"added_to_favorites": "Agregado a favoritos",
@@ -598,6 +600,7 @@
"backup_controller_page_turn_on": "Activar la copia de seguridad",
"backup_controller_page_uploading_file_info": "Subiendo información del archivo",
"backup_err_only_album": "No se puede eliminar el único álbum",
+ "backup_error_sync_failed": "La sincronización falló. No es posible procesar la copia de seguridad.",
"backup_info_card_assets": "elementos",
"backup_manual_cancelled": "Cancelado",
"backup_manual_in_progress": "Subida ya en progreso. Vuelve a intentarlo más tarde",
@@ -1087,7 +1090,7 @@
"folders": "Carpetas",
"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": "Reenviar",
+ "forward": "Avanzar",
"gcast_enabled": "Google Cast",
"gcast_enabled_description": "Esta funcionalidad carga recursos externos desde Google para poder funcionar.",
"general": "General",
@@ -1904,7 +1907,7 @@
"skip_to_content": "Saltar al contenido",
"skip_to_folders": "Ir a las carpetas",
"skip_to_tags": "Ir a las etiquetas",
- "slideshow": "Diapositivas",
+ "slideshow": "Pase de diapositivas",
"slideshow_settings": "Ajustes de diapositivas",
"sort_albums_by": "Ordenar álbumes por…",
"sort_created": "Fecha de creación",
diff --git a/i18n/et.json b/i18n/et.json
index 3683f142f3..bfd083ad4e 100644
--- a/i18n/et.json
+++ b/i18n/et.json
@@ -28,10 +28,12 @@
"add_to_album": "Lisa albumisse",
"add_to_album_bottom_sheet_added": "Lisatud albumisse {album}",
"add_to_album_bottom_sheet_already_exists": "On juba albumis {album}",
+ "add_to_album_bottom_sheet_some_local_assets": "Kõiki lokaalseid üksuseid ei õnnestunud albumisse lisada",
"add_to_album_toggle": "Muuda albumi {album} valikut",
"add_to_albums": "Lisa albumitesse",
"add_to_albums_count": "Lisa albumitesse ({count})",
"add_to_shared_album": "Lisa jagatud albumisse",
+ "add_upload_to_stack": "Virnasta üleslaaditud üksus",
"add_url": "Lisa URL",
"added_to_archive": "Lisatud arhiivi",
"added_to_favorites": "Lisatud lemmikutesse",
@@ -598,6 +600,7 @@
"backup_controller_page_turn_on": "Lülita esiplaanil varundus sisse",
"backup_controller_page_uploading_file_info": "Faili info üleslaadimine",
"backup_err_only_album": "Ei saa ainsat albumit eemaldada",
+ "backup_error_sync_failed": "Sünkroonimine ebaõnnestus. Varundust ei saa töödelda.",
"backup_info_card_assets": "üksused",
"backup_manual_cancelled": "Tühistatud",
"backup_manual_in_progress": "Üleslaadimine juba käib. Proovi hiljem uuesti",
@@ -1036,6 +1039,7 @@
"exif_bottom_sheet_description_error": "Viga kirjelduse muutmisel",
"exif_bottom_sheet_details": "ÜKSIKASJAD",
"exif_bottom_sheet_location": "ASUKOHT",
+ "exif_bottom_sheet_no_description": "Kirjeldus puudub",
"exif_bottom_sheet_people": "ISIKUD",
"exif_bottom_sheet_person_add_person": "Lisa nimi",
"exit_slideshow": "Sulge slaidiesitlus",
@@ -1322,7 +1326,7 @@
"marked_all_as_read": "Kõik märgiti loetuks",
"matches": "Ühtivad failid",
"matching_assets": "Ühtivad üksused",
- "media_type": "Meediumi tüüp",
+ "media_type": "Üksuse tüüp",
"memories": "Mälestused",
"memories_all_caught_up": "Ongi kõik",
"memories_check_back_tomorrow": "Vaata homme juba uusi mälestusi",
@@ -1405,6 +1409,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_available": "Pole saadaval",
"not_in_any_album": "Pole üheski albumis",
"not_selected": "Ei ole valitud",
"note_apply_storage_label_to_previously_uploaded assets": "Märkus: Et rakendada talletussilt varem üleslaaditud üksustele, käivita",
@@ -1582,6 +1587,7 @@
"purchase_server_description_2": "Toetaja staatus",
"purchase_server_title": "Server",
"purchase_settings_server_activated": "Serveri tootevõtit haldab administraator",
+ "query_asset_id": "Päringu üksuse ID",
"queue_status": "Järjekorras {count}/{total}",
"rating": "Hinnang",
"rating_clear": "Tühjenda hinnang",
@@ -1709,8 +1715,8 @@
"search_filter_filename": "Otsi failinime alusel",
"search_filter_location": "Asukoht",
"search_filter_location_title": "Vali asukoht",
- "search_filter_media_type": "Meediumi tüüp",
- "search_filter_media_type_title": "Vali meediumi tüüp",
+ "search_filter_media_type": "Üksuse tüüp",
+ "search_filter_media_type_title": "Vali üksuse tüüp",
"search_filter_people_title": "Vali isikud",
"search_for": "Otsi",
"search_for_existing_person": "Otsi olemasolevat isikut",
diff --git a/i18n/fa.json b/i18n/fa.json
index 3b0be9a9b1..76f8d956fc 100644
--- a/i18n/fa.json
+++ b/i18n/fa.json
@@ -13,6 +13,7 @@
"add_a_location": "افزودن یک مکان",
"add_a_name": "افزودن نام",
"add_a_title": "افزودن عنوان",
+ "add_birthday": "افزودن تاریخ تولد",
"add_exclusion_pattern": "افزودن الگوی استثنا",
"add_import_path": "افزودن مسیر ورودی",
"add_location": "افزودن مکان",
@@ -22,10 +23,13 @@
"add_photos": "افزودن عکس ها",
"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_shared_album": "افزودن به آلبوم اشتراکی",
"added_to_archive": "به آرشیو اضافه شد",
"added_to_favorites": "به علاقه مندی ها اضافه شد",
- "added_to_favorites_count": "{count} تا اضافه شد به علاقه مندی ها",
+ "added_to_favorites_count": "{count, number} تا به علاقه مندی ها اضافه شد",
"admin": {
"add_exclusion_pattern_description": "الگوهای استثنا را اضافه کنید. پشتیبانی از گلابینگ با استفاده از *, ** و ? وجود دارد. برای نادیده گرفتن تمام فایلها در هر دایرکتوری با نام \"Raw\"، از \"**/Raw/**\" استفاده کنید. برای نادیده گرفتن تمام فایلهایی که با \".tif\" پایان مییابند، از \"**/*.tif\" استفاده کنید. برای نادیده گرفتن یک مسیر مطلق، از \"/path/to/ignore/**\" استفاده کنید.",
"authentication_settings": "تنظیمات احراز هویت",
diff --git a/i18n/fi.json b/i18n/fi.json
index d2b36cf4d3..a940493d95 100644
--- a/i18n/fi.json
+++ b/i18n/fi.json
@@ -28,6 +28,7 @@
"add_to_album": "Lisää albumiin",
"add_to_album_bottom_sheet_added": "Lisätty albumiin {album}",
"add_to_album_bottom_sheet_already_exists": "Kohde on jo albumissa {album}",
+ "add_to_album_bottom_sheet_some_local_assets": "Joitakin osia paikallisesta sisällöstä ei pystytty lisämään albumiin",
"add_to_album_toggle": "Vaihda albumin {album} valintaa",
"add_to_albums": "Lisää albumeihin",
"add_to_albums_count": "Lisää albumeihin ({count})",
@@ -39,7 +40,7 @@
"admin": {
"add_exclusion_pattern_description": "Lisää mallit, jonka mukaan jätetään tiedostoja pois. Jokerimerkit *, ** ja ? ovat tuettuna. Jättääksesi pois kaikki tiedostot mistä tahansa löytyvästä kansiosta \"Raw\" käytä \"**/Raw/**\". Jättääksesi pois kaikki \". tif\" päätteiset tiedot, käytä \"**/*.tif\". Jättääksesi pois tarkan tiedostopolun, käytä \"/path/to/ignore/**\".",
"admin_user": "Ylläpitäjä",
- "asset_offline_description": "Ulkoista kirjaston resurssia ei enää löydy levyltä, ja se on siirretty roskakoriin. Jos tiedosto siirrettiin kirjaston sisällä, tarkista aikajanaltasi uusi vastaava resurssi. Palautaaksesi tämän resurssin, varmista, että alla oleva tiedostopolku on Immichin käytettävissä ja skannaa kirjasto uudelleen.",
+ "asset_offline_description": "Ulkoista kirjaston resurssia ei enää löydy levyltä, ja se on siirretty roskakoriin. Jos tiedosto siirrettiin kirjaston sisällä, tarkista aikajanaltasi uusi vastaava resurssi. Palauttaaksesi tämän resurssin, varmista, että alla oleva tiedostopolku on Immichin käytettävissä ja skannaa kirjasto uudelleen.",
"authentication_settings": "Autentikointiasetukset",
"authentication_settings_description": "Hallitse salasana-, OAuth- ja muut autentikoinnin asetukset",
"authentication_settings_disable_all": "Haluatko varmasti poistaa kaikki kirjautumistavat käytöstä? Kirjautuminen on tämän jälkeen mahdotonta.",
@@ -123,7 +124,13 @@
"logging_enable_description": "Ota lokikirjaus käyttöön",
"logging_level_description": "Kun käytössä, mitä lokituksen tasoa käytetään.",
"logging_settings": "Lokit",
- "machine_learning_availability_checks": "Saatavyystarkastukset",
+ "machine_learning_availability_checks": "Saatavuustarkastukset",
+ "machine_learning_availability_checks_description": "Automaattisesti havaitse ja suosi vapaita koneoppimisen palvelimia",
+ "machine_learning_availability_checks_enabled": "Laita päälle saatavuus tarkistukset",
+ "machine_learning_availability_checks_interval": "Tarkastusväli",
+ "machine_learning_availability_checks_interval_description": "Aikaväli millisekunneissa saavutettavuus tarkistuksille",
+ "machine_learning_availability_checks_timeout": "Pyynnön aikakatkaisu",
+ "machine_learning_availability_checks_timeout_description": "Aikakatkaisu aika millisekunneissa saatavuus tarkistuksille",
"machine_learning_clip_model": "CLIP-malli",
"machine_learning_clip_model_description": "Käytettävän CLIP-mallin nimi toimivien mallien listasta. Huomaa että sinun täytyy suorittaa \"Älykäs etsintä\"-työ uudelleen vaihdettuasi käytettävää mallia.",
"machine_learning_duplicate_detection": "Kaksoiskappaleiden tunnistus",
@@ -143,7 +150,7 @@
"machine_learning_max_recognition_distance": "Suurin kasvojen eroavaisuus",
"machine_learning_max_recognition_distance_description": "Kahden kasvon suurin eroavaisuus, milloin ne vielä mielletään samaksi henkilöksi, välillä 0-2. Arvoa alentamalla voidaan ehkäistä kahden saman näköisen henkilön mieltäminen samaksi henkilöksi, kun taas korottamalla voidaan ehkäistä saman henkilön mieltäminen kahdeksi erilliseksi henkilöksi. Huomaa että on helpompaa yhdistää kaksi, kuin erottaa, joten suosi mahdollisimman matalaa arvoa.",
"machine_learning_min_detection_score": "Tunnistuksen vähimmäistulos",
- "machine_learning_min_detection_score_description": "Pienin kasvojen tunnistamisessa saatu vahvuusarvo välillä 0-1. Matalammalla arvolla havaitaan enemmän kascoja, mutta voi lisätä virhearvioiden määrää.",
+ "machine_learning_min_detection_score_description": "Pienin kasvojen tunnistamisessa saatu vahvuusarvo välillä 0-1. Matalammalla arvolla havaitaan enemmän kasvoja, mutta voi lisätä virhearvioiden määrää.",
"machine_learning_min_recognized_faces": "Tunnistettujen kasvojen vähimmäismäärä",
"machine_learning_min_recognized_faces_description": "Luotavan käyttäjän kasvojen vähimmäismäärä. Arvoa nostamalla kasvojentunnistuksen tarkkuus paranee, mutta todennäköisyys sille, että kasvoja ei osata yhdistää henkilöön kasvaa.",
"machine_learning_settings": "Koneoppimisen asetukset",
@@ -177,7 +184,7 @@
"metadata_settings": "Metatietoasetukset",
"metadata_settings_description": "Hallitse metatietoja",
"migration_job": "Migraatio",
- "migration_job_description": "Migroi aineiston pikkukuvat ja kasvot uusimpaan kansiorakenteeseen",
+ "migration_job_description": "Migratoi aineiston pikkukuvat ja kasvot uusimpaan kansiorakenteeseen",
"nightly_tasks_cluster_faces_setting_description": "Aja kasvojen tunnistus uusiin tunnistettuihin kasvoihin",
"nightly_tasks_cluster_new_faces_setting": "Kokoa uudet kasvot",
"nightly_tasks_database_cleanup_setting": "Tietokannan puhdistuksen tehtävät",
@@ -197,7 +204,7 @@
"note_apply_storage_label_previous_assets": "Huom: Asettaaksesi nimikkeen aiemmin ladatulle aineistolle, aja",
"note_cannot_be_changed_later": "Huom: Tätä ei voi enää myöhemmin vaihtaa!",
"notification_email_from_address": "Lähettäjän osoite",
- "notification_email_from_address_description": "Lähettäjän sähköpostiosoite. Esimerkiksi \"Immich-kuvapalvelin {label} é a Etiqueta de Almacenamento do usuario",
"system_settings": "Configuración do Sistema",
"tag_cleanup_job": "Limpeza de etiquetas",
- "template_email_available_tags": "Podes usar as seguintes variables no teu modelo: {tags}",
+ "template_email_available_tags": "Pode usar as seguintes variables no seu modelo: {tags}",
"template_email_if_empty": "Se o modelo está baleiro, usarase o correo electrónico predeterminado.",
"template_email_invite_album": "Modelo de Invitación a Álbum",
"template_email_preview": "Vista previa",
@@ -286,15 +294,15 @@
"template_email_update_album": "Modelo de Actualización de Álbum",
"template_email_welcome": "Modelo de correo electrónico de benvida",
"template_settings": "Modelos de Notificación",
- "template_settings_description": "Xestionar modelos personalizados para notificacións.",
+ "template_settings_description": "Xestionar modelos personalizados para notificacións",
"theme_custom_css_settings": "CSS Personalizado",
- "theme_custom_css_settings_description": "As Follas de Estilo en Cascada permiten personalizar o deseño de Immich.",
+ "theme_custom_css_settings_description": "As Follas de Estilo en Cascada (CSS) permiten personalizar o deseño de Immich.",
"theme_settings": "Configuración do Tema",
"theme_settings_description": "Xestionar a personalización da interface web de Immich",
"thumbnail_generation_job": "Xerar Miniaturas",
"thumbnail_generation_job_description": "Xerar miniaturas grandes, pequenas e borrosas para cada activo, así como miniaturas para cada persoa",
"transcoding_acceleration_api": "API de aceleración",
- "transcoding_acceleration_api_description": "A API que interactuará co teu dispositivo para acelerar a transcodificación. Esta configuración é de 'mellor esforzo': recurrirá á transcodificación por software en caso de fallo. VP9 pode funcionar ou non dependendo do teu hardware.",
+ "transcoding_acceleration_api_description": "A API que interactuará co seu dispositivo para acelerar a transcodificación. Esta configuración é de 'mellor esforzo': recurrirá á transcodificación por software en caso de fallo. VP9 pode funcionar ou non dependendo do seu hardware.",
"transcoding_acceleration_nvenc": "NVENC (require GPU NVIDIA)",
"transcoding_acceleration_qsv": "Quick Sync (require CPU Intel de 7ª xeración ou posterior)",
"transcoding_acceleration_rkmpp": "RKMPP (só en SOCs Rockchip)",
@@ -309,16 +317,16 @@
"transcoding_audio_codec": "Códec de audio",
"transcoding_audio_codec_description": "Opus é a opción de maior calidade, pero ten menor compatibilidade con dispositivos ou software antigos.",
"transcoding_bitrate_description": "Vídeos cun bitrate superior ao máximo ou que non estean nun formato aceptado",
- "transcoding_codecs_learn_more": "Para saber máis sobre a terminoloxía usada aquí, consulte a documentación de FFmpeg para {label} je korisnička oznaka za pohranu",
"system_settings": "Postavke Sustava",
"tag_cleanup_job": "Čišćenje oznaka",
@@ -292,7 +298,7 @@
"theme_settings": "Postavke tema",
"theme_settings_description": "Upravljajte prilagodbom Immich web sučelja",
"thumbnail_generation_job": "Generirajte sličice",
- "thumbnail_generation_job_description": "Generirajte velike, male i zamućene sličice za svaki materijal, kao i sličice za svaku osobu",
+ "thumbnail_generation_job_description": "Generirajte velike, male i zamućene sličice za svaku stavku, kao i sličice za svaku osobu",
"transcoding_acceleration_api": "API ubrzanja",
"transcoding_acceleration_api_description": "API koji će komunicirati s vašim uređajem radi ubrzanja transkodiranja. Ova postavka je 'najveći trud': vratit će se na softversko transkodiranje u slučaju kvara. VP9 može ili ne mora raditi ovisno o vašem hardveru.",
"transcoding_acceleration_nvenc": "NVENC (zahtjeva NVIDIA GPU)",
@@ -355,20 +361,20 @@
"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_number_of_days": "Broj dana",
- "trash_number_of_days_description": "Broj dana za držanje sredstava u smeću prije njihovog trajnog uklanjanja",
+ "trash_number_of_days_description": "Broj dana za čuvanje stavki u smeću prije njihovog trajnog uklanjanja",
"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.",
"unlink_all_oauth_accounts_prompt": "Jeste li sigurni da želite odspojiti sve OAuth račune? Ovo će resetirati OAuth ID za svakog korisnika i ne može se poništiti.",
"user_cleanup_job": "Čišćenje korisnika",
- "user_delete_delay": "Račun i sredstva korisnika {user} bit će zakazani za trajno brisanje za {delay, plural, one {# day} other {# days}}.",
+ "user_delete_delay": "Račun i stavke korisnika {user} bit će stavljeni u red čekanja trajnog brisanja za {delay, plural, one {# dan} other {# dana}}.",
"user_delete_delay_settings": "Brisanje odgode",
- "user_delete_delay_settings_description": "Broj dana nakon uklanjanja za trajno brisanje korisničkog računa i imovine. Posao brisanja korisnika pokreće se u ponoć kako bi se provjerili korisnici koji su spremni za brisanje. Promjene ove postavke bit će procijenjene pri sljedećem izvršavanju.",
- "user_delete_immediately": "Račun i sredstva korisnika {user} bit će stavljeni u red čekanja za trajno brisanje odmah.",
- "user_delete_immediately_checkbox": "Stavite korisnika i imovinu u red za trenutačno brisanje",
+ "user_delete_delay_settings_description": "Broj dana nakon uklanjanja za trajno brisanje korisničkog računa i stavki. Posao brisanja korisnika pokreće se u ponoć kako bi se provjerili korisnici koji su spremni za brisanje. Promjene ove postavke bit će procijenjene pri sljedećem izvršavanju.",
+ "user_delete_immediately": "Račun i stavke korisnika {user} bit će stavljeni u red čekanja za trajno brisanje odmah.",
+ "user_delete_immediately_checkbox": "Stavite korisnika i stavke u red čekanja za trenutno brisanje",
"user_details": "Detalji korisnika",
- "user_management": "Upravljanje Korisnicima",
+ "user_management": "Upravljanje korisnicima",
"user_password_has_been_reset": "Korisnička lozinka je poništena:",
"user_password_reset_description": "Molimo dostavite privremenu lozinku korisniku i obavijestite ga da će morati promijeniti lozinku pri sljedećoj prijavi.",
"user_restore_description": "Račun korisnika {user} bit će vraćen.",
@@ -390,13 +396,13 @@
"advanced_settings_enable_alternate_media_filter_subtitle": "Koristite ovu opciju za filtriranje medija tijekom sinkronizacije na temelju alternativnih kriterija. Pokušajte ovo samo ako imate problema s aplikacijom koja ne prepoznaje sve albume.",
"advanced_settings_enable_alternate_media_filter_title": "[EKSPERIMENTALNO] Koristite alternativni filter za sinkronizaciju albuma na uređaju",
"advanced_settings_log_level_title": "Razina zapisivanja: {level}",
- "advanced_settings_prefer_remote_subtitle": "Neki uređaji sporo učitavaju sličice s lokalnih resursa. Aktivirajte ovu postavku kako biste umjesto toga učitali slike s udaljenih izvora.",
+ "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_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_sync_remote_deletions_subtitle": "Automatski izbriši ili obnovi resurs na ovom uređaju kada se ta radnja izvrši na webu",
+ "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",
"advanced_settings_troubleshooting_subtitle": "Omogući dodatne značajke za rješavanje problema",
@@ -421,14 +427,15 @@
"album_remove_user_confirmation": "Jeste li sigurni da želite ukloniti {user}?",
"album_search_not_found": "Nema albuma koji odgovaraju vašem pretraživanju",
"album_share_no_users": "Čini se da ste podijelili ovaj album sa svim korisnicima ili nemate nijednog korisnika s kojim biste ga dijelili.",
+ "album_summary": "Sažetak albuma",
"album_updated": "Album ažuriran",
- "album_updated_setting_description": "Primite obavijest e-poštom kada dijeljeni album ima nova sredstva",
+ "album_updated_setting_description": "Primite obavijest e-poštom kada dijeljeni album ima nove stavke",
"album_user_left": "Napušten {album}",
"album_user_removed": "Uklonjen {user}",
"album_viewer_appbar_delete_confirm": "Jeste li sigurni da želite izbrisati ovaj album s vašeg računa?",
"album_viewer_appbar_share_err_delete": "Neuspješno brisanje albuma",
"album_viewer_appbar_share_err_leave": "Neuspješno napuštanje albuma",
- "album_viewer_appbar_share_err_remove": "Postoje problemi s uklanjanjem resursa iz albuma",
+ "album_viewer_appbar_share_err_remove": "Postoje problemi s uklanjanjem stavki iz albuma",
"album_viewer_appbar_share_err_title": "Neuspješno mijenjanje naslova albuma",
"album_viewer_appbar_share_leave": "Napusti album",
"album_viewer_appbar_share_to": "Podijeli s",
@@ -437,8 +444,8 @@
"albums": "Albumi",
"albums_count": "{count, plural, one {{count, number} Album} other {{count, number} Albumi}}",
"albums_default_sort_order": "Zadani redoslijed sortiranja albuma",
- "albums_default_sort_order_description": "Početni redoslijed sortiranja elemenata prilikom izrade novih albuma.",
- "albums_feature_description": "Zbirke resursa koje se mogu dijeliti s drugim korisnicima.",
+ "albums_default_sort_order_description": "Početni redoslijed sortiranja stavki prilikom izrade novih albuma.",
+ "albums_feature_description": "Zbirke stavki koje se mogu dijeliti s drugim korisnicima.",
"albums_on_device_count": "Albumi na uređaju ({count})",
"all": "Sve",
"all_albums": "Svi albumi",
@@ -457,58 +464,60 @@
"app_bar_signout_dialog_content": "Jeste li sigurni da se želite odjaviti?",
"app_bar_signout_dialog_ok": "Da",
"app_bar_signout_dialog_title": "Odjavi se",
- "app_settings": "Postavke Aplikacije",
+ "app_settings": "Postavke aplikacije",
"appears_in": "Pojavljuje se u",
"archive": "Arhiva",
"archive_action_prompt": "{count} dodano u arhivu",
"archive_or_unarchive_photo": "Arhivirajte ili dearhivirajte fotografiju",
- "archive_page_no_archived_assets": "Nema arhiviranih resursa",
+ "archive_page_no_archived_assets": "Nema arhiviranih stavki",
"archive_page_title": "Arhiviraj ({count})",
"archive_size": "Veličina arhive",
"archive_size_description": "Konfigurirajte veličinu arhive za preuzimanja (u GiB)",
- "archived": "Ahrivirano",
+ "archived": "Arhivirano",
"archived_count": "{count, plural, other {Archived #}}",
"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 resurse samo za čitanje, preskačem",
- "asset_action_share_err_offline": "Nije moguće dohvatiti izvanmrežne resurse, preskačem",
+ "asset_action_delete_err_read_only": "Nije moguće izbrisati stavke samo za čitanje, preskakanje",
+ "asset_action_share_err_offline": "Nije moguće dohvatiti izvanmrežne stavke, preskakanje",
"asset_added_to_album": "Dodano u album",
"asset_adding_to_album": "Dodavanje u album…",
- "asset_description_updated": "Opis imovine je ažuriran",
- "asset_filename_is_offline": "Sredstvo {filename} je izvan mreže",
- "asset_has_unassigned_faces": "Materijal ima nedodijeljena lica",
- "asset_hashing": "Sažimanje…",
+ "asset_description_updated": "Opis stavke je ažuriran",
+ "asset_filename_is_offline": "Stavka {filename} je izvan mreže",
+ "asset_has_unassigned_faces": "Stavka ima nedodijeljena lica",
+ "asset_hashing": "Hashiranje…",
"asset_list_group_by_sub_title": "Grupiraj po",
"asset_list_layout_settings_dynamic_layout_title": "Dinamički raspored",
"asset_list_layout_settings_group_automatically": "Automatski",
- "asset_list_layout_settings_group_by": "Grupiraj resurse po",
+ "asset_list_layout_settings_group_by": "Grupiraj stavke po",
"asset_list_layout_settings_group_by_month_day": "Mjesec + dan",
"asset_list_layout_sub_title": "Raspored",
- "asset_list_settings_subtitle": "Postavke izgleda mreže fotografija",
- "asset_list_settings_title": "Mreža Fotografija",
- "asset_offline": "Sredstvo izvan mreže",
- "asset_offline_description": "Ovaj materijal je izvan mreže. Immich ne može pristupiti lokaciji datoteke. Provjerite je li sredstvo dostupno, a zatim ponovno skenirajte biblioteku.",
- "asset_restored_successfully": "Resurs uspješno obnovljen",
+ "asset_list_settings_subtitle": "Postavke izgleda Mreže fotografija",
+ "asset_list_settings_title": "Mreža fotografija",
+ "asset_offline": "Stavka izvan mreže",
+ "asset_offline_description": "Ova vanjska stavka nije pronađena na disku. Za pomoć se obratite Immich administratoru.",
+ "asset_restored_successfully": "Stavka uspješno obnovljena",
"asset_skipped": "Preskočeno",
"asset_skipped_in_trash": "U smeću",
- "asset_uploaded": "Učitano",
- "asset_uploading": "Šaljem…",
- "asset_viewer_settings_subtitle": "Upravljajte postavkama preglednika vaše galerije",
- "asset_viewer_settings_title": "Preglednik Resursa",
- "assets": "Sredstva",
- "assets_added_count": "Dodano {count, plural, one {# asset} other {# assets}}",
- "assets_added_to_album_count": "Dodano {count, plural, one {# asset} other {# assets}} u album",
- "assets_added_to_albums_count": "Dodano je {assetTotal} datoteka u {albumTotal} albuma",
- "assets_cannot_be_added_to_album_count": "{count, plural, one {Sadržaj se ne može dodati u album} other {{count} sadržaja se ne mogu dodati u album}}",
- "assets_cannot_be_added_to_albums": "{count, plural, one {Datoteka se ne može dodati ni u jedan album} few {Datoteke se ne mogu dodati ni u jedan album} other {Datoteka se ne može dodati ni u jedan album}}",
- "assets_count": "{count, plural, one {# asset} other {# assets}}",
- "assets_deleted_permanently": "{count} resurs(i) uspješno uklonjeni",
- "assets_deleted_permanently_from_server": "{count} resurs(i) trajno obrisan(i) sa Immich poslužitelja",
- "assets_downloaded_failed": "{count, plural, one {Preuzeta # datoteka – {error} datoteka nije uspjela} other {Preuzeto je # datoteka – {error} datoteke nisu uspjele}}",
- "assets_downloaded_successfully": "{count, plural, one {Uspješno preuzeta # datoteka} other {Uspješno preuzete # datoteke}}",
- "assets_moved_to_trash_count": "{count, plural, one {# asset} other {# asset}} premješteno u smeće",
- "assets_permanently_deleted_count": "Trajno izbrisano {count, plural, one {# asset} other {# assets}}",
- "assets_removed_count": "Uklonjeno {count, plural, one {# asset} other {# assets}}",
+ "asset_trashed": "Stavka premještena u smeće",
+ "asset_troubleshoot": "Rješavanje problema sa stavkom",
+ "asset_uploaded": "Preneseno",
+ "asset_uploading": "Prenošenje…",
+ "asset_viewer_settings_subtitle": "Upravljajte postavkama vašeg preglednika galerije",
+ "asset_viewer_settings_title": "Preglednik stavki",
+ "assets": "Stavke",
+ "assets_added_count": "{count, plural, one {Dodana # stavka} few {Dodane # stavke} other {Dodano # stavki}}",
+ "assets_added_to_album_count": "{count, plural, one {Dodana # stavka} few {Dodane # stavke} other {Dodano # stavki}} u album",
+ "assets_added_to_albums_count": "{assetTotal, plural, one {Dodana # stavka} other {Dodano # stavki}} u {albumTotal, plural, one {# album} other {# albuma}}",
+ "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_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}}",
@@ -518,7 +527,7 @@
"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}}",
- "authorized_devices": "Ovlašteni Uređaji",
+ "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",
"autoplay_slideshow": "Automatsko prikazivanje slajdova",
@@ -1034,7 +1043,7 @@
"export_database_description": "Izvezi SQLite bazu podataka",
"extension": "Proširenje (Extension)",
"external": "Vanjski",
- "external_libraries": "Vanjske Biblioteke",
+ "external_libraries": "Vanjske biblioteke",
"external_network": "Vanjska mreža",
"external_network_sheet_info": "Kada niste na željenoj Wi-Fi mreži, aplikacija će se povezati s poslužiteljem putem prve dostupne URL adrese s popisa ispod, redom od vrha prema dnu",
"face_unassigned": "Nedodijeljeno",
@@ -1048,7 +1057,7 @@
"favorites": "Omiljene",
"favorites_page_no_favorites": "Nema pronađenih omiljenih stavki",
"feature_photo_updated": "Istaknuta fotografija ažurirana",
- "features": "Značajke (Features)",
+ "features": "Značajke",
"features_setting_description": "Upravljajte značajkama aplikacije",
"file_name": "Naziv datoteke",
"file_name_or_extension": "Naziv ili ekstenzija datoteke",
@@ -1220,7 +1229,7 @@
"location_picker_longitude_error": "Unesite valjanu geografsku dužinu",
"location_picker_longitude_hint": "Unesite ovdje svoju geografsku dužinu",
"lock": "Zaključaj",
- "locked_folder": "Zaključana Mapa",
+ "locked_folder": "Zaključana mapa",
"log_out": "Odjavi se",
"log_out_all_devices": "Odjava sa svih uređaja",
"logged_in_as": "Prijavljeni kao {user}",
@@ -1900,6 +1909,8 @@
"sync_albums_manual_subtitle": "Sinkroniziraj sve prenesene videozapise i fotografije u odabrane albume za sigurnosnu kopiju",
"sync_local": "Sinkroniziraj lokalno",
"sync_remote": "Sinkroniziraj udaljeno",
+ "sync_status": "Status sinkronizacije",
+ "sync_status_subtitle": "Pregledajte i upravljajte sistemom sinkronizacije",
"sync_upload_album_setting_subtitle": "Kreiraj i prenesi svoje fotografije i videozapise u odabrane albume na Immichu",
"tag": "Oznaka",
"tag_assets": "Označi stavke",
diff --git a/i18n/hu.json b/i18n/hu.json
index 131df91a79..081bc12f99 100644
--- a/i18n/hu.json
+++ b/i18n/hu.json
@@ -28,6 +28,7 @@
"add_to_album": "Felvétel albumba",
"add_to_album_bottom_sheet_added": "Hozzáadva a(z) \"{album}\" albumhoz",
"add_to_album_bottom_sheet_already_exists": "Már benne van a(z) \"{album}\" albumban",
+ "add_to_album_bottom_sheet_some_local_assets": "Néhány helyi elem nem adható hozzá az albumhoz",
"add_to_album_toggle": "{album} kijelölésének váltása",
"add_to_albums": "Hozzáadás albumokhoz",
"add_to_albums_count": "Hozzáadás albumokhoz ({count})",
@@ -175,7 +176,7 @@
"map_settings_description": "Térkép beállítások kezelése",
"map_style_description": "Egy style.json térképtémára mutató URL cím",
"memory_cleanup_job": "Memória takarítás",
- "memory_generate_job": "Emlék generálása",
+ "memory_generate_job": "Emlékek generálása",
"metadata_extraction_job": "Metaadatok kinyerése",
"metadata_extraction_job_description": "Metaadat információk (pl. GPS, arcok és felbontás) kinyerése minden elemből",
"metadata_faces_import_setting": "Arc importálás engedélyezése",
@@ -548,6 +549,7 @@
"backup_album_selection_page_select_albums": "Válassz albumokat",
"backup_album_selection_page_selection_info": "Összegzés",
"backup_album_selection_page_total_assets": "Összes egyedi elem",
+ "backup_albums_sync": "Backup albumok szinkronizálása",
"backup_all": "Összes",
"backup_background_service_backup_failed_message": "Az elemek mentése sikertelen. Újrapróbálkozás…",
"backup_background_service_connection_failed_message": "A szerverhez csatlakozás sikertelen. Újrapróbálkozás…",
@@ -597,6 +599,7 @@
"backup_controller_page_turn_on": "Előtérben mentés bekapcsolása",
"backup_controller_page_uploading_file_info": "Fájl információk feltöltése",
"backup_err_only_album": "Az utolsó albumot nem tudod törölni",
+ "backup_error_sync_failed": "A szinkronizálás nem sikerült. A biztonsági mentés nem elkészíthető.",
"backup_info_card_assets": "elemek",
"backup_manual_cancelled": "Megszakítva",
"backup_manual_in_progress": "Feltöltés már folyamatban. Próbáld meg később",
@@ -1386,20 +1389,25 @@
"no_assets_message": "KATTINTS AZ ELSŐ FÉNYKÉP FELTÖLTÉSÉHEZ",
"no_assets_to_show": "Nincs megjeleníthető elem",
"no_cast_devices_found": "Nem található eszköz vetítéshez",
+ "no_checksum_local": "Nincs elérhető ellenőrzőösszeg - a helyi eszközök nem kérhetők le",
+ "no_checksum_remote": "Nincs elérhető ellenőrzőösszeg - a távoli eszköz nem kérhető le",
"no_duplicates_found": "Nem találhatók duplikátumok.",
"no_exif_info_available": "Nincs elérhető Exif információ",
"no_explore_results_message": "Tölts fel több képet, hogy böngészhesd a gyűjteményed.",
"no_favorites_message": "Add hozzá a kedvencekhez, hogy gyorsan megtaláld a legjobb képeidet és videóidat",
"no_libraries_message": "Hozz létre külső képtárat a fényképeid és videóid megtekintéséhez",
+ "no_local_assets_found": "Nem találhatók helyi eszközök ezzel az ellenőrzőösszeggel",
"no_locked_photos_message": "A zárolt mappában elhelyezett fotók és videók rejtettek, és nem jelennek meg a könyvtárad böngészése vagy keresése közben sem.",
"no_name": "Nincs Név",
"no_notifications": "Nincsenek értesítések",
"no_people_found": "Nem található személy",
"no_places": "Nincsenek helyek",
+ "no_remote_assets_found": "Nem találhatók távoli eszközök ezzel az ellenőrzőösszeggel",
"no_results": "Nincs találat",
"no_results_description": "Próbálkozz szinonimákkal vagy általánosabb kulcsszavakkal",
"no_shared_albums_message": "Hozz létre egy új albumot, hogy megoszthasd fényképeid és videóid másokkal",
"no_uploads_in_progress": "Nincs folyamatban lévő feltöltés",
+ "not_available": "N/A",
"not_in_any_album": "Nincs albumban",
"not_selected": "Nincs kiválasztva",
"note_apply_storage_label_to_previously_uploaded assets": "Megjegyzés: a korábban feltöltött elemek Tárhely Címkézéséhez futtasd a(z)",
@@ -1434,6 +1442,8 @@
"open_the_search_filters": "Keresési szűrők megnyitása",
"options": "Beállítások",
"or": "vagy",
+ "organize_into_albums": "Albumokba rendezés",
+ "organize_into_albums_description": "Meglévő fotók albumokba helyezése, a jelenlegi szinkronizációs beállítások alapján",
"organize_your_library": "Rendszerezd a képtáradat",
"original": "eredeti",
"other": "Egyéb",
@@ -1519,6 +1529,7 @@
"port": "Port",
"preferences_settings_subtitle": "Alkalmazásbeállítások kezelése",
"preferences_settings_title": "Beállítások",
+ "preparing": "Előkészítés",
"preset": "Sablon",
"preview": "Előnézet",
"previous": "Előző",
@@ -1535,6 +1546,7 @@
"profile_drawer_client_out_of_date_minor": "A mobilalkalmazás elavult. Kérjük, frissítsd a legfrisebb alverzióra.",
"profile_drawer_client_server_up_to_date": "A Kliens és a Szerver is naprakész",
"profile_drawer_github": "GitHub",
+ "profile_drawer_readonly_mode": "Csak olvasható mód engedélyezve. A kilépéshez hosszan nyomja meg a felhasználói avatar ikont.",
"profile_drawer_server_out_of_date_major": "A szerver elavult. Kérjük, frissítsd a legfrisebb főverzióra.",
"profile_drawer_server_out_of_date_minor": "A szerver elavult. Kérjük, frissítsd a legfrisebb alverzióra.",
"profile_image_of_user": "{user} profilképe",
@@ -1573,6 +1585,7 @@
"purchase_server_description_2": "Támogató státusz",
"purchase_server_title": "Szerver",
"purchase_settings_server_activated": "A szerver termékkulcsot az admin kezeli",
+ "query_asset_id": "Lekérdezési eszköz azonosítója",
"queue_status": "Feldolgozva {count}/{total}",
"rating": "Értékelés csillagokkal",
"rating_clear": "Értékelés törlése",
@@ -1580,6 +1593,9 @@
"rating_description": "Exif értékelés megjelenítése az infópanelen",
"reaction_options": "Reakció lehetőségek",
"read_changelog": "Változásnapló Elolvasása",
+ "readonly_mode_disabled": "Csak olvasható mód kikapcsolva",
+ "readonly_mode_enabled": "Csak olvasható mód bekapcsolva",
+ "ready_for_upload": "Készen áll a feltöltésre",
"reassign": "Hozzárendel",
"reassigned_assets_to_existing_person": "{count, plural, other {# elem}} hozzárendelve{name, select, null { egy létező személyhez} other {: {name}}}",
"reassigned_assets_to_new_person": "{count, plural, other {# elem}} hozzárendelve egy új személyhez",
@@ -1604,6 +1620,7 @@
"regenerating_thumbnails": "Bélyegképek újragenerálása folyamatban",
"remote": "Távoli",
"remote_assets": "Távoli Elemek",
+ "remote_media_summary": "Távoli médiaösszefoglaló",
"remove": "Eltávolítás",
"remove_assets_album_confirmation": "Biztosan el szeretnél távolítani {count, plural, one {# elemet} other {# elemet}} az albumból?",
"remove_assets_shared_link_confirmation": "Biztosan el szeretnél távolítani {count, plural, one {# elemet} other {# elemet}} ebből a megosztott linkből?",
@@ -1656,6 +1673,7 @@
"restore_user": "Felhasználó visszaállítása",
"restored_asset": "Visszaállított elem",
"resume": "Folytatás",
+ "resume_paused_jobs": "Folytatás {count, plural, one {# paused job} other {# paused jobs}}",
"retry_upload": "Feltöltés újrapróbálása",
"review_duplicates": "Duplikátumok áttekintése",
"review_large_files": "Nagy fájlok áttekintése",
@@ -1749,6 +1767,7 @@
"select_user_for_sharing_page_err_album": "Az album létrehozása sikertelen",
"selected": "Kiválasztott",
"selected_count": "{count, plural, other {# kiválasztva}}",
+ "selected_gps_coordinates": "Kiválasztott GPS Kordináták",
"send_message": "Üzenet küldése",
"send_welcome_email": "Üdvözlő email küldése",
"server_endpoint": "Szerver Végpont",
@@ -1877,6 +1896,7 @@
"show_slideshow_transition": "Vetítés áttűnési effekt mutatása",
"show_supporter_badge": "Támogató jelvény",
"show_supporter_badge_description": "Támogató jelvény mutatása",
+ "show_text_search_menu": "Mutasd a szövegkeresési menüt",
"shuffle": "Véletlenszerű",
"sidebar": "Oldalsáv",
"sidebar_display_description": "Nézet link megjelenítése az oldalsávban",
@@ -1907,6 +1927,7 @@
"stacktrace": "Hiba leírása",
"start": "Elindít",
"start_date": "Kezdő dátum",
+ "start_date_before_end_date": "A kezdeti dátumnak a befejezési dátum előtt kell lennie",
"state": "Megye/Állam",
"status": "Állapot",
"stop_casting": "Vetítés megszüntetése",
@@ -1970,7 +1991,9 @@
"to_change_password": "Jelszó megváltoztatása",
"to_favorite": "Kedvenc",
"to_login": "Bejelentkezés",
+ "to_multi_select": "több elem kiválasztásához",
"to_parent": "Egy szinttel feljebb",
+ "to_select": "a kiválasztáshoz",
"to_trash": "Lomtárba helyezés",
"toggle_settings": "Beállítások átállítása",
"total": "Összesen",
@@ -1990,6 +2013,7 @@
"trash_page_select_assets_btn": "Elemek kiválasztása",
"trash_page_title": "Lomtár ({count})",
"trashed_items_will_be_permanently_deleted_after": "A lomtárban lévő elemek véglegesen törlésre kerülnek {days, plural, other {# nap}} múlva.",
+ "troubleshoot": "Hibaelhárítás",
"type": "Típus",
"unable_to_change_pin_code": "Sikertelen PIN kód változtatás",
"unable_to_setup_pin_code": "Sikertelen PIN kód beállítás",
@@ -2106,5 +2130,6 @@
"yes": "Igen",
"you_dont_have_any_shared_links": "Nincsenek megosztott linkjeid",
"your_wifi_name": "A Wi-Fi hálózatod neve",
- "zoom_image": "Kép Nagyítása"
+ "zoom_image": "Kép Nagyítása",
+ "zoom_to_bounds": "Nagyítás a határokhoz"
}
diff --git a/i18n/id.json b/i18n/id.json
index 8dba86752e..abf8ef4747 100644
--- a/i18n/id.json
+++ b/i18n/id.json
@@ -28,10 +28,12 @@
"add_to_album": "Tambahkan ke album",
"add_to_album_bottom_sheet_added": "Ditambahkan ke {album}",
"add_to_album_bottom_sheet_already_exists": "Sudah ada di {album}",
+ "add_to_album_bottom_sheet_some_local_assets": "Beberapa aset lokal tidak dapat ditambahkan ke album",
"add_to_album_toggle": "Masukkan ke {album} / Batalkan dari {album}",
"add_to_albums": "Tambahkan ke album",
"add_to_albums_count": "Tambahkan ke album ({count})",
"add_to_shared_album": "Tambahkan ke album terbagi",
+ "add_upload_to_stack": "Tambahkan unggahan ke tumpukan",
"add_url": "Tambahkan URL",
"added_to_archive": "Ditambahkan ke arsip",
"added_to_favorites": "Ditambahkan ke favorit",
@@ -598,6 +600,7 @@
"backup_controller_page_turn_on": "Aktifkan pencadangan latar depan",
"backup_controller_page_uploading_file_info": "Mengunggah info file",
"backup_err_only_album": "Tidak dapat menghapus album",
+ "backup_error_sync_failed": "Sinkronisasi gagal. Tidak dapat memproses cadangan.",
"backup_info_card_assets": "aset",
"backup_manual_cancelled": "Dibatalkan",
"backup_manual_in_progress": "Dalam proses unggah. Coba lagi nanti",
diff --git a/i18n/it.json b/i18n/it.json
index 39c296a0e7..b1aeabd33e 100644
--- a/i18n/it.json
+++ b/i18n/it.json
@@ -14,7 +14,7 @@
"add_a_location": "Aggiungi una posizione",
"add_a_name": "Aggiungi un nome",
"add_a_title": "Aggiungi un titolo",
- "add_birthday": "Aggiungi un compleanno",
+ "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",
@@ -28,10 +28,12 @@
"add_to_album": "Aggiungi all'album",
"add_to_album_bottom_sheet_added": "Aggiunto in {album}",
"add_to_album_bottom_sheet_already_exists": "Già presente in {album}",
+ "add_to_album_bottom_sheet_some_local_assets": "Alcune risorse locali non possono essere aggiunte all'album",
"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_shared_album": "Aggiungi ad album condiviso",
+ "add_upload_to_stack": "Aggiungi caricamento allo stack",
"add_url": "Aggiungi URL",
"added_to_archive": "Aggiunto all'archivio",
"added_to_favorites": "Aggiunto ai preferiti",
@@ -176,7 +178,7 @@
"map_style_description": "URL per un tema della mappa style.json",
"memory_cleanup_job": "Pulizia dei vecchi Ricordi",
"memory_generate_job": "Generazione dei Ricordi",
- "metadata_extraction_job": "Estrazione Metadata",
+ "metadata_extraction_job": "Estrazione Metadati",
"metadata_extraction_job_description": "Estrai informazioni dai metadati di ciascuna risorsa, come coordinate GPS, volti e risoluzione",
"metadata_faces_import_setting": "Abilita l'importazione dei volti",
"metadata_faces_import_setting_description": "Importa i volti dai dati EXIF dell'immagine e dai file sidecar",
@@ -307,11 +309,11 @@
"transcoding_acceleration_rkmpp": "RKMPP (Solo per SOC Rockchip)",
"transcoding_acceleration_vaapi": "VAAPI",
"transcoding_accepted_audio_codecs": "Codifiche audio accettate",
- "transcoding_accepted_audio_codecs_description": "Seleziona quali codifiche audio non devono essere trascodificate. Solo usato per alcune politiche di trascodifica.",
+ "transcoding_accepted_audio_codecs_description": "Seleziona quali codifiche audio non devono essere transcodificate. Solo usato per alcune politiche di transcodifica.",
"transcoding_accepted_containers": "Contenitori accettati",
"transcoding_accepted_containers_description": "Seleziona quali formati non hanno bisogno di essere remuxati in MP4. Usato solo per certe politiche di transcodifica.",
"transcoding_accepted_video_codecs": "Codifiche video accettate",
- "transcoding_accepted_video_codecs_description": "Seleziona quali codifiche video non devono essere trascodificate. Usato solo per alcune politiche di trascodifica.",
+ "transcoding_accepted_video_codecs_description": "Seleziona quali codifiche video non devono essere transcodificate. Usato solo per alcune politiche di transcodifica.",
"transcoding_advanced_options_description": "Impostazioni che la maggior parte degli utenti non dovrebbero cambiare",
"transcoding_audio_codec": "Codifica Audio",
"transcoding_audio_codec_description": "Opus è l'opzione con la qualità più alta, ma è meno compatibile con dispositivi o software vecchi.",
@@ -344,7 +346,7 @@
"transcoding_reference_frames": "Frame di riferimento",
"transcoding_reference_frames_description": "Il numero di frame da prendere in considerazione nel comprimere un determinato frame. Valori più alti migliorano l'efficienza di compressione, ma rallentano la codifica. 0 imposta questo valore automaticamente.",
"transcoding_required_description": "Solo video che non sono in un formato accettato",
- "transcoding_settings": "Impostazioni Trascodifica Video",
+ "transcoding_settings": "Impostazioni Transcodifica Video",
"transcoding_settings_description": "Gestisci quali video transcodificare e come processarli",
"transcoding_target_resolution": "Risoluzione desiderata",
"transcoding_target_resolution_description": "Risoluzioni più elevate possono preservare più dettagli ma richiedono più tempo per la codifica, producono file di dimensioni maggiori e possono ridurre la reattività dell'applicazione.",
@@ -355,11 +357,11 @@
"transcoding_tone_mapping": "Mappatura della tonalità",
"transcoding_tone_mapping_description": "Tenta di preservare l'aspetto dei video HDR quando convertiti in SDR. Ciascun algoritmo fa diversi compromessi per colore, dettaglio e luminosità. Hable conserva il dettaglio, Mobius conserva il colore e Reinhard conserva la luminosità.",
"transcoding_transcode_policy": "Politica di transcodifica",
- "transcoding_transcode_policy_description": "Politica che determina quando un video deve essere trascodificato. I video HDR verranno sempre trascodificati (eccetto quando la trascodifica è disabilitata).",
+ "transcoding_transcode_policy_description": "Politica che determina quando un video deve essere transcodificato. I video HDR verranno sempre transcodificati (eccetto quando la transcodifica è disabilitata).",
"transcoding_two_pass_encoding": "Codifica a due passaggi",
- "transcoding_two_pass_encoding_setting_description": "Trascodifica in due passaggi per produrre video codificati migliori. Quando il bitrate massimo è abilitato (necessario affinché funzioni con H.264 e HEVC), questa modalità utilizza un intervallo di bitrate basato sul bitrate massimo e ignora CRF. Per VP9, CRF può essere utilizzato se il bitrate massimo è disabilitato.",
+ "transcoding_two_pass_encoding_setting_description": "Transcodifica in due passaggi per produrre video codificati migliori. Quando il bitrate massimo è abilitato (necessario affinché funzioni con H.264 e HEVC), questa modalità utilizza un intervallo di bitrate basato sul bitrate massimo e ignora CRF. Per VP9, CRF può essere utilizzato se il bitrate massimo è disabilitato.",
"transcoding_video_codec": "Codec video",
- "transcoding_video_codec_description": "VP9 ha alta efficienza e compatibilità web, ma richiede più tempo per la trascodifica. HEVC ha prestazioni simili, ma una minore compatibilità web. H.264 è ampiamente compatibile e veloce da transcodificare, ma produce file molto più grandi. AV1 è il codec più efficiente, ma non è supportato sui dispositivi più vecchi.",
+ "transcoding_video_codec_description": "VP9 ha alta efficienza e compatibilità web, ma richiede più tempo per la transcodifica. HEVC ha prestazioni simili, ma una minore compatibilità web. H.264 è ampiamente compatibile e veloce da transcodificare, ma produce file molto più grandi. AV1 è il codec più efficiente, ma non è supportato sui dispositivi più vecchi.",
"trash_enabled_description": "Abilita Funzionalità Cestino",
"trash_number_of_days": "Numero di giorni",
"trash_number_of_days_description": "Numero di giorni per cui mantenere gli asset nel cestino prima di rimuoverli definitivamente",
@@ -387,8 +389,8 @@
"version_check_implications": "La funzione di controllo della versione fa uso di una comunicazione periodica con github.com",
"version_check_settings": "Controllo Versione",
"version_check_settings_description": "Abilita/disabilita la notifica per nuove versioni",
- "video_conversion_job": "Trascodifica video",
- "video_conversion_job_description": "Trascodifica video per maggiore compatibilità con browser e dispositivi"
+ "video_conversion_job": "Transcodifica video",
+ "video_conversion_job_description": "Transcodifica video per maggiore compatibilità con browser e dispositivi"
},
"admin_email": "Email Amministratore",
"admin_password": "Password Amministratore",
@@ -598,6 +600,7 @@
"backup_controller_page_turn_on": "Attiva backup",
"backup_controller_page_uploading_file_info": "Caricamento informazioni file",
"backup_err_only_album": "Non è possibile rimuovere l'unico album",
+ "backup_error_sync_failed": "Sincronizzazione non riuscita. Impossibile elaborare il backup.",
"backup_info_card_assets": "risorse",
"backup_manual_cancelled": "Annullato",
"backup_manual_in_progress": "Caricamento già in corso. Riprova più tardi",
@@ -617,7 +620,7 @@
"blurred_background": "Sfondo sfocato",
"bugs_and_feature_requests": "Bug & Richieste di nuove funzionalità",
"build": "Compilazione",
- "build_image": "Compila Immagine",
+ "build_image": "Immagine Compilata",
"bulk_delete_duplicates_confirmation": "Sei sicuro di voler cancellare {count, plural, one {# asset duplicato} other {# assets duplicati}}? Questa operazione manterrà l'asset più pesante di ogni gruppo e cancellerà permanentemente tutti gli altri duplicati. Non puoi annullare questa operazione!",
"bulk_keep_duplicates_confirmation": "Sei sicuro di voler tenere {count, plural, one {# asset duplicato} other {# assets duplicati}}? Questa operazione risolverà tutti i gruppi duplicati senza cancellare nulla.",
"bulk_trash_duplicates_confirmation": "Sei davvero sicuro di voler cancellare {count, plural, one {# asset duplicato} other {# assets duplicati}}? Questa operazione manterrà l'asset più pesante di ogni gruppo e cancellerà permanentemente tutti gli altri duplicati.",
@@ -733,7 +736,7 @@
"copy_to_clipboard": "Copia negli appunti",
"country": "Nazione",
"cover": "Riempi la finestra",
- "covers": "Copre",
+ "covers": "Copertine",
"create": "Crea",
"create_album": "Crea album",
"create_album_page_untitled": "Senza titolo",
@@ -766,9 +769,9 @@
"daily_title_text_date_year": "E, dd MMM, yyyy",
"dark": "Scuro",
"dark_theme": "Imposta tema scuro",
- "date_after": "Data dopo",
+ "date_after": "Dopo la data",
"date_and_time": "Data e ora",
- "date_before": "Data prima",
+ "date_before": "Prima della data",
"date_format": "E, d LLL, y • hh:mm",
"date_of_birth_saved": "Data di nascita salvata con successo",
"date_range": "Intervallo di date",
@@ -1036,6 +1039,7 @@
"exif_bottom_sheet_description_error": "Errore durante l'aggiornamento della descrizione",
"exif_bottom_sheet_details": "DETTAGLI",
"exif_bottom_sheet_location": "POSIZIONE",
+ "exif_bottom_sheet_no_description": "Nessuna descrizione",
"exif_bottom_sheet_people": "PERSONE",
"exif_bottom_sheet_person_add_person": "Aggiungi nome",
"exit_slideshow": "Esci dalla presentazione",
@@ -1172,7 +1176,7 @@
"in_archive": "In archivio",
"include_archived": "Includi Archiviati",
"include_shared_albums": "Includi album condivisi",
- "include_shared_partner_assets": "Includi asset condivisi del compagno",
+ "include_shared_partner_assets": "Includi elementi condivisi dai compagni",
"individual_share": "Condivisione individuale",
"individual_shares": "Condivisioni individuali",
"info": "Info",
@@ -1720,11 +1724,11 @@
"search_no_people": "Nessuna persona",
"search_no_people_named": "Nessuna persona chiamate \"{name}\"",
"search_no_result": "Nessun risultato trovato, prova con un termine o combinazione diversi",
- "search_options": "Opzioni Ricerca",
+ "search_options": "Opzioni di ricerca",
"search_page_categories": "Categoria",
"search_page_motion_photos": "Foto in movimento",
- "search_page_no_objects": "Nessuna informazione relativa all'oggetto disponibile",
- "search_page_no_places": "Nessun informazione sul luogo disponibile",
+ "search_page_no_objects": "Nessuna informazione sugli oggetti disponibile",
+ "search_page_no_places": "Nessuna informazione sui luoghi disponibile",
"search_page_screenshots": "Screenshot",
"search_page_search_photos_videos": "Ricerca le tue foto e i tuoi video",
"search_page_selfies": "Selfie",
@@ -1920,7 +1924,7 @@
"stack_action_prompt": "{count} elementi raggruppati",
"stack_duplicates": "Raggruppa i duplicati",
"stack_select_one_photo": "Seleziona una foto principale per il gruppo",
- "stack_selected_photos": "Impila foto selezionate",
+ "stack_selected_photos": "Raggruppa foto selezionate",
"stacked_assets_count": "{count, plural, one {Raggruppato # asset} other {Raggruppati # asset}}",
"stacktrace": "Traccia dell'errore",
"start": "Avvia",
@@ -2037,7 +2041,7 @@
"unselect_all": "Deseleziona tutto",
"unselect_all_duplicates": "Deseleziona tutti i duplicati",
"unselect_all_in": "Deseleziona tutto in {group}",
- "unstack": "Rimuovi dal gruppo",
+ "unstack": "Separa dal gruppo",
"unstack_action_prompt": "{count} separati",
"unstacked_assets_count": "{count, plural, one {Separato # asset} other {Separati # asset}}",
"untagged": "Senza tag",
@@ -2112,9 +2116,9 @@
"view_similar_photos": "Visualizza le foto simili",
"view_stack": "Visualizza Raggruppamento",
"view_user": "Visualizza Utente",
- "viewer_remove_from_stack": "Rimuovi dalla pila",
+ "viewer_remove_from_stack": "Rimuovi dal gruppo",
"viewer_stack_use_as_main_asset": "Usa come risorsa principale",
- "viewer_unstack": "Rimuovi dal gruppo",
+ "viewer_unstack": "Separa dal gruppo",
"visibility_changed": "Visibilità modificata per {count, plural, one {# persona} other {# persone}}",
"waiting": "In Attesa",
"warning": "Attenzione",
@@ -2125,8 +2129,8 @@
"wrong_pin_code": "Codice PIN errato",
"year": "Anno",
"years_ago": "{years, plural, one {# anno} other {# anni}} fa",
- "yes": "Si",
- "you_dont_have_any_shared_links": "Non è presente alcun link condiviso",
+ "yes": "Sì",
+ "you_dont_have_any_shared_links": "Non hai nessun link condiviso",
"your_wifi_name": "Nome della tua rete Wi-Fi",
"zoom_image": "Ingrandisci immagine",
"zoom_to_bounds": "Ingrandisci fino ai bordi"
diff --git a/i18n/ja.json b/i18n/ja.json
index b03614d65c..bec51aeca8 100644
--- a/i18n/ja.json
+++ b/i18n/ja.json
@@ -28,6 +28,7 @@
"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_album_toggle": "{album}の選択を切り替え",
"add_to_albums": "アルバムに追加",
"add_to_albums_count": "{count}つのアルバムへ追加",
@@ -598,6 +599,7 @@
"backup_controller_page_turn_on": "バックアップをオンにする",
"backup_controller_page_uploading_file_info": "アップロード中のファイル",
"backup_err_only_album": "最低1つのアルバムを選択してください",
+ "backup_error_sync_failed": "同期に失敗しました。バックアップができません。",
"backup_info_card_assets": "写真と動画",
"backup_manual_cancelled": "キャンセルされました",
"backup_manual_in_progress": "アップロードが進行中です。後でもう一度試してください",
diff --git a/i18n/ka.json b/i18n/ka.json
index 13b0e1d065..bc1c05492b 100644
--- a/i18n/ka.json
+++ b/i18n/ka.json
@@ -14,6 +14,7 @@
"add_a_location": "დაამატე ადგილი",
"add_a_name": "დაამატე სახელი",
"add_a_title": "დაასათაურე",
+ "add_birthday": "დაბადების დღის დამატება",
"add_exclusion_pattern": "დაამატე გამონაკლისი ნიმუში",
"add_import_path": "დაამატე საიმპორტო მისამართი",
"add_location": "დაამატე ადგილი",
@@ -21,16 +22,20 @@
"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_albums": "დაამატე ალბომებში",
+ "add_to_albums_count": "დაამატე ალბომში ({count})",
"add_to_shared_album": "დაამატე საზიარო ალბომში",
"add_url": "დაამატე URL",
"added_to_archive": "დაარქივდა",
"added_to_favorites": "დაამატე რჩეულებში",
"added_to_favorites_count": "{count, number} დაემატა რჩეულებში",
"admin": {
+ "admin_user": "ადმინ მომხმარებელი",
"asset_offline_description": "ეს საგარეო ბიბლიოთეკის აქტივი დისკზე ვერ მოიძებნა და სანაგვეში იქნა მოთავსებული. თუ ფაილი ბიბლიოთეკის შიგნით მდებარეობს, შეამოწმეთ შესაბამისი აქტივი ტაიმლაინზე. ამ აქტივის აღსადგენად, დარწმუნდით რომ ქვემოთ მოცემული ფაილის მისამართი Immich-ის მიერ წვდომადია და დაასკანერეთ ბიბლიოთეკა.",
"authentication_settings": "ავთენტიკაციის პარამეტრები",
"authentication_settings_description": "პაროლის, OAuth-ის და სხვა ავტენთიფიკაციის პარამეტრების მართვა",
@@ -41,7 +46,7 @@
"backup_database_enable_description": "ბაზის დამპების ჩართვა",
"backup_keep_last_amount": "წინა დამპების შესანარჩუნებელი რაოდენობა",
"backup_settings": "მონაცემთა ბაზის დამპის მორგება",
- "backup_settings_description": "მონაცემთა ბაზის პარამეტრების ამრთვა. შენიშვნა: ამ დავალებების მონიტორინგი არ ხდება და თქვენ არ მოგივათ შეტყობინება, თუ ის ჩავარდება.",
+ "backup_settings_description": "მონაცემთა ბაზის ასლის შექმნის პარამეტრების მრთვა.",
"cleared_jobs": "დავალებები {job}-ისათვის გაწმენდილია",
"config_set_by_file": "მიმდინარე კონფიგურაცია ფაილის მიერ არის დაყენებული",
"confirm_delete_library": "ნამდვილად გინდა {library} ბიბლიოთეკის წაშლა?",
@@ -58,6 +63,7 @@
"image_format_description": "WebP ფორმატი JPEG-ზე პატარა ფაილებს აწარმოებს, მაგრამ მის დამზადებას უფრო მეტი დრო სჭირდება.",
"image_fullsize_title": "სრული ზომის გამოსახულების პარამეტრები",
"image_prefer_wide_gamut": "უპირატესობა მიენიჭოს ფერის ფართე დიაპაზონს",
+ "image_preview_title": "გამოსახულების გადახედვის პარამეტრები",
"image_quality": "ხარისხი",
"image_resolution": "გაფართოება",
"image_settings": "გამოსახულების პარამეტრები",
@@ -68,6 +74,7 @@
"library_created": "შეიქმნა ბიბლიოთეკა: {library}",
"library_deleted": "ბიბლიოთეკა წაიშალა",
"library_import_path_description": "აირჩიე დასაიმპორტებელი საქაღალდე. ფოტოები და ვიდეოები მოიძებნება ამ საქაღალდესა და მასში არსებულ საქაღალდეებში.",
+ "library_settings": "გარე ბიბლიოთეკა",
"library_settings_description": "გარე ბიბლიოთეკების პარამეტრების მართვა",
"logging_settings": "ჟურნალი",
"map_settings": "რუკა",
diff --git a/i18n/kn.json b/i18n/kn.json
index 388f06704c..111c802a1e 100644
--- a/i18n/kn.json
+++ b/i18n/kn.json
@@ -8,11 +8,13 @@
"actions": "ಕ್ರಿಯೆಗಳು",
"active": "ಸಕ್ರಿಯ",
"activity": "ಚಟುವಟಿಕೆ",
+ "activity_changed": "ಚಟುವಟಿಕೆ {enabled, select, true{ಸಕ್ರಿಯಗೊಳಿಸಲಾಗಿದೆ} other {ನಿಷ್ಕ್ರಿಯಗೊಳಿಸಲಾಗಿದೆ}}",
"add": "ಸೇರಿಸಿ",
"add_a_description": "ವಿವರಣೆಯನ್ನು ಸೇರಿಸಿ",
"add_a_location": "ಸ್ಥಳವನ್ನು ಸೇರಿಸಿ",
"add_a_name": "ಹೆಸರನ್ನು ಸೇರಿಸಿ",
"add_a_title": "ಶೀರ್ಷಿಕೆಯನ್ನು ಸೇರಿಸಿ",
+ "add_birthday": "ಜನ್ಮದಿನ ಸೇರಿಸಿ",
"add_endpoint": "ಎಂಡ್ಪಾಯಿಂಟ್ ಸೇರಿಸಿ",
"add_exclusion_pattern": "ಹೊರಗಿಡುವಿಕೆ ಮಾದರಿಯನ್ನು ಸೇರಿಸಿ",
"add_import_path": "ಆಮದು ಮಾರ್ಗವನ್ನು ಸೇರಿಸಿ",
@@ -22,5 +24,6 @@
"add_path": "ಹಾದಿಯನ್ನು ಸೇರಿಸಿ",
"add_photos": "ಫೋಟೋಗಳನ್ನು ಸೇರಿಸಿ",
"add_to": "ಸೇರಿಸಿ…",
- "add_to_album": "ಆಲ್ಬಮ್ಗೆ ಸೇರಿಸಿ"
+ "add_to_album": "ಆಲ್ಬಮ್ಗೆ ಸೇರಿಸಿ",
+ "add_to_album_bottom_sheet_added": "{album}ಗೆ ಸೇರಿಸಿದೆ"
}
diff --git a/i18n/ko.json b/i18n/ko.json
index 815f1b2b2f..0c01c03263 100644
--- a/i18n/ko.json
+++ b/i18n/ko.json
@@ -8,7 +8,7 @@
"actions": "작업",
"active": "활성",
"activity": "활동",
- "activity_changed": "활동이 {enabled, select, true {활성화} other {비활성화}}되었습니다.",
+ "activity_changed": "활동이 {enabled, select, true {활성화} other {비활성화}}되었습니다",
"add": "추가",
"add_a_description": "설명 추가",
"add_a_location": "위치 추가",
@@ -28,20 +28,21 @@
"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_album_toggle": "{album} 선택/해제",
"add_to_albums": "여러 앨범에 추가",
"add_to_albums_count": "여러 앨범에 추가 ({count})",
"add_to_shared_album": "공유 앨범에 추가",
"add_url": "URL 추가",
- "added_to_archive": "보관함으로 이동되었습니다.",
- "added_to_favorites": "즐겨찾기에 추가되었습니다.",
+ "added_to_archive": "보관함으로 이동되었습니다",
+ "added_to_favorites": "즐겨찾기에 추가되었습니다",
"added_to_favorites_count": "즐겨찾기에 항목 {count, number}개 추가됨",
"admin": {
"add_exclusion_pattern_description": "*, **, ? 등의 glob 패턴을 사용할 수 있습니다. 예를 들어 \"Raw\" 폴더 내 모든 파일을 제외하려면 \"**/Raw/**\"를, .tif 파일을 제외하려면 \"**/*.tif\", 특정한 절대 경로를 제외하려면 \"/path/to/ignore/**\" 처럼 사용합니다.",
"admin_user": "관리자",
"asset_offline_description": "이 항목은 외부 라이브러리에 등록되었으나 디스크에서 찾을 수 없어 휴지통으로 이동했습니다. 파일이 라이브러리 경로 내에서 이동된 경우 타임라인에서 새로 인식된 항목이 있는지 확인해보세요. 이 항목을 복원하려면 아래 경로에 Immich가 접근할 수 있는지 확인하고 라이브러리를 다시 스캔하세요.",
"authentication_settings": "인증 설정",
- "authentication_settings_description": "비밀번호, OAuth 및 기타 인증 설정을 관리합니다.",
+ "authentication_settings_description": "비밀번호, OAuth 및 기타 인증 설정을 관리합니다",
"authentication_settings_disable_all": "모든 로그인 수단을 비활성화하시겠습니까? 더이상 로그인할 수 없습니다.",
"authentication_settings_reenable": "다시 활성화하려면 서버 명령어를 사용하세요.",
"background_task_job": "백그라운드 작업",
@@ -49,7 +50,7 @@
"backup_database_enable_description": "데이터베이스 덤프 활성화",
"backup_keep_last_amount": "보관할 이전 덤프 수",
"backup_onboarding_1_description": "개는 클라우드나 다른 물리적 위치에 보관합니다.",
- "backup_onboarding_2_description": "개는 서로 다른 로컬 장치에 보관하고,",
+ "backup_onboarding_2_description": "다른 기기의 로컬 사본. 메인 파일과 로컬 백업을 포함합니다.",
"backup_onboarding_3_description": "개의 데이터 사본을 만듭니다.",
"backup_onboarding_description": "소중한 데이터를 안전하게 보호하기 위해 {label} ir lietotāja glabātuves nosaukums",
"system_settings": "Sistēmas iestatījumi",
"template_email_available_tags": "Sagatavē var izmantot šos mainīgos: {tags}",
"template_email_if_empty": "Ja sagatave ir tukša, tiks izmantots noklusējuma e-pasts.",
@@ -199,15 +248,19 @@
"transcoding_acceleration_qsv": "Quick Sync (nepieciešams 7. paaudzes vai jaunāks Intel procesors)",
"transcoding_acceleration_rkmpp": "RKMPP (tikai Rockchip SOC)",
"transcoding_acceleration_vaapi": "VAAPI",
+ "transcoding_accepted_video_codecs": "Akceptētie video kodeki",
"transcoding_advanced_options_description": "Lielākajai daļai lietotāju nevajadzētu mainīt šīs opcijas",
"transcoding_audio_codec": "Audio kodeks",
+ "transcoding_audio_codec_description": "Opus ir augstākās kvalitātes izvēle, bet tā ir mazāk saderīga ar vecām ierīcēm vai programmatūru.",
"transcoding_codecs_learn_more": "Lai uzzinātu vairāk par šeit lietoto terminoloģiju, skatiet FFmpeg dokumentāciju par {label} എന്നത് ഉപയോക്താവിന്റെ സ്റ്റോറേജ് ലേബലാണ്",
+ "system_settings": "സിസ്റ്റം ക്രമീകരണങ്ങൾ",
+ "tag_cleanup_job": "ടാഗ് ക്ലീനപ്പ്",
+ "template_email_available_tags": "നിങ്ങളുടെ ടെംപ്ലേറ്റിൽ ഇനിപ്പറയുന്ന വേരിയബിളുകൾ ഉപയോഗിക്കാം: {tags}",
+ "template_email_if_empty": "ടെംപ്ലേറ്റ് ശൂന്യമാണെങ്കിൽ, ഡിഫോൾട്ട് ഇമെയിൽ ഉപയോഗിക്കും.",
+ "template_email_invite_album": "ആൽബം ക്ഷണിക്കാനുള്ള ടെംപ്ലേറ്റ്",
+ "template_email_preview": "പ്രിവ്യൂ",
+ "template_email_settings": "ഇമെയിൽ ടെംപ്ലേറ്റുകൾ",
+ "template_email_update_album": "ആൽബം അപ്ഡേറ്റ് ടെംപ്ലേറ്റ്",
+ "template_email_welcome": "സ്വാഗത ഇമെയിൽ ടെംപ്ലേറ്റ്",
+ "template_settings": "അറിയിപ്പ് ടെംപ്ലേറ്റുകൾ",
+ "template_settings_description": "അറിയിപ്പുകൾക്കായി ഇഷ്ടാനുസൃത ടെംപ്ലേറ്റുകൾ കൈകാര്യം ചെയ്യുക",
+ "theme_custom_css_settings": "കസ്റ്റം CSS",
+ "theme_custom_css_settings_description": "കാസ്കേഡിംഗ് സ്റ്റൈൽ ഷീറ്റുകൾ (CSS) Immich-ന്റെ ഡിസൈൻ ഇഷ്ടാനുസൃതമാക്കാൻ അനുവദിക്കുന്നു.",
+ "theme_settings": "തീം ക്രമീകരണങ്ങൾ",
+ "theme_settings_description": "Immich വെബ് ഇന്റർഫേസിന്റെ കസ്റ്റമൈസേഷൻ കൈകാര്യം ചെയ്യുക",
+ "thumbnail_generation_job": "തംബ്നെയിലുകൾ നിർമ്മിക്കുക",
+ "thumbnail_generation_job_description": "ഓരോ അസറ്റിനും വലുതും ചെറുതും മങ്ങിയതുമായ തംബ്നെയിലുകളും ഓരോ വ്യക്തിക്കും തംബ്നെയിലുകളും നിർമ്മിക്കുക",
+ "transcoding_acceleration_api": "ആക്സിലറേഷൻ API",
+ "transcoding_acceleration_api_description": "ട്രാൻസ്കോഡിംഗ് ത്വരിതപ്പെടുത്തുന്നതിന് നിങ്ങളുടെ ഉപകരണവുമായി സംവദിക്കുന്ന API. ഈ ക്രമീകരണം 'ബെസ്റ്റ് എഫേർട്ട്' ആണ്: പരാജയപ്പെട്ടാൽ സോഫ്റ്റ്വെയർ ട്രാൻസ്കോഡിംഗിലേക്ക് മാറും. നിങ്ങളുടെ ഹാർഡ്വെയർ അനുസരിച്ച് VP9 പ്രവർത്തിക്കുകയോ പ്രവർത്തിക്കാതിരിക്കുകയോ ചെയ്യാം.",
+ "transcoding_acceleration_nvenc": "NVENC (NVIDIA GPU ആവശ്യമാണ്)",
+ "transcoding_acceleration_qsv": "ക്വിക്ക് സിങ്ക് (7-ാം തലമുറ ഇന്റൽ സിപിയു അല്ലെങ്കിൽ അതിനുശേഷമുള്ളത് ആവശ്യമാണ്)",
+ "transcoding_acceleration_rkmpp": "RKMPP (Rockchip SOC-കളിൽ മാത്രം)",
+ "transcoding_acceleration_vaapi": "VAAPI",
+ "transcoding_accepted_audio_codecs": "അംഗീകൃത ഓഡിയോ കോഡെക്കുകൾ",
+ "transcoding_accepted_audio_codecs_description": "ട്രാൻസ്കോഡ് ചെയ്യേണ്ടാത്ത ഓഡിയോ കോഡെക്കുകൾ തിരഞ്ഞെടുക്കുക. ചില ട്രാൻസ്കോഡ് നയങ്ങൾക്ക് വേണ്ടി മാത്രം ഉപയോഗിക്കുന്നു.",
+ "transcoding_accepted_containers": "അംഗീകൃത കണ്ടെയ്നറുകൾ",
+ "transcoding_accepted_containers_description": "MP4-ലേക്ക് റീമക്സ് ചെയ്യേണ്ടാത്ത കണ്ടെയ്നർ ഫോർമാറ്റുകൾ തിരഞ്ഞെടുക്കുക. ചില ട്രാൻസ്കോഡ് നയങ്ങൾക്ക് വേണ്ടി മാത്രം ഉപയോഗിക്കുന്നു.",
+ "transcoding_accepted_video_codecs": "അംഗീകൃത വീഡിയോ കോഡെക്കുകൾ",
+ "transcoding_accepted_video_codecs_description": "ട്രാൻസ്കോഡ് ചെയ്യേണ്ടാത്ത വീഡിയോ കോഡെക്കുകൾ തിരഞ്ഞെടുക്കുക. ചില ട്രാൻസ്കോഡ് നയങ്ങൾക്ക് വേണ്ടി മാത്രം ഉപയോഗിക്കുന്നു.",
+ "transcoding_advanced_options_description": "മിക്ക ഉപയോക്താക്കളും മാറ്റം വരുത്തേണ്ടതില്ലാത്ത ഓപ്ഷനുകൾ",
+ "transcoding_audio_codec": "ഓഡിയോ കോഡെക്",
+ "transcoding_audio_codec_description": "Opus ഏറ്റവും ഉയർന്ന നിലവാരമുള്ള ഓപ്ഷനാണ്, പക്ഷേ പഴയ ഉപകരണങ്ങളുമായോ സോഫ്റ്റ്വെയറുമായോ ഇതിന് കുറഞ്ഞ അനുയോജ്യതയേ ഉള്ളൂ.",
+ "transcoding_bitrate_description": "പരമാവധി ബിറ്റ്റേറ്റിനേക്കാൾ ഉയർന്നതോ അംഗീകൃത ഫോർമാറ്റിൽ അല്ലാത്തതോ ആയ വീഡിയോകൾ",
+ "transcoding_codecs_learn_more": "ഇവിടെ ഉപയോഗിച്ചിരിക്കുന്ന പദങ്ങളെക്കുറിച്ച് കൂടുതലറിയാൻ, {label} este eticheta de stocare a utilizatorului",
"system_settings": "Setǎri de Sistem",
@@ -294,9 +297,9 @@
"template_settings_description": "Gestionați șabloanele personalizate pentru notificări",
"theme_custom_css_settings": "CSS personalizat",
"theme_custom_css_settings_description": "Foile de stil în cascadă (CSS) permit personalizarea designului Immich.",
- "theme_settings": "Setări Temă",
+ "theme_settings": "Setări temă",
"theme_settings_description": "Gestionează personalizarea interfeței web Immich",
- "thumbnail_generation_job": "Generare Miniaturi",
+ "thumbnail_generation_job": "Generare miniaturi",
"thumbnail_generation_job_description": "Generează miniaturi mari, mici și estompate pentru fiecare resursă, precum și miniaturi pentru fiecare persoană",
"transcoding_acceleration_api": "API de accelerare",
"transcoding_acceleration_api_description": "API-ul care va interacționa cu dispozitivul tău pentru a accelera transcodarea. Această setare este 'cel mai bun efort': va reveni la transcodarea software în caz de eșec. VP9 poate funcționa sau nu, în funcție de hardware-ul tău.",
@@ -322,7 +325,7 @@
"transcoding_disabled_description": "Nu transcodifică niciun videoclip; acest lucru poate afecta redarea pe anumite dispozitive",
"transcoding_encoding_options": "Opțiuni codificare",
"transcoding_encoding_options_description": "Setează codecuri , calitatea, rezoluția și alte opțiuni pentru videoclipuri codificare",
- "transcoding_hardware_acceleration": "Accelerare Hardware",
+ "transcoding_hardware_acceleration": "Accelerare hardware",
"transcoding_hardware_acceleration_description": "Experimental: transcodare mai rapidă, dar poate reduce calitatea la aceeași rată de biți",
"transcoding_hardware_decoding": "Decodare hardware",
"transcoding_hardware_decoding_setting_description": "Se aplică doar pentru NVENC, QSV și RKMPP. Activează accelerarea completă în loc de doar accelerarea codificării. S-ar putea să nu funcționeze pentru toate videoclipurile.",
@@ -342,7 +345,7 @@
"transcoding_reference_frames": "Cadre de referință",
"transcoding_reference_frames_description": "Numărul de cadre de referință atunci când se comprimă un cadru dat. Valorile mai mari îmbunătățesc eficiența compresiei, dar încetinesc codarea. 0 setează această valoare automat.",
"transcoding_required_description": "Numai videoclipuri care nu sunt într-un format acceptat",
- "transcoding_settings": "Setări de Transcodare Video",
+ "transcoding_settings": "Setări de transcodare video",
"transcoding_settings_description": "Gestionează care videoclipuri să transcodam și cum să le procesam",
"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.",
@@ -373,23 +376,23 @@
"user_delete_immediately": "Contul și resursele utilizatorului {user} vor fi puse în coadă pentru ștergere permanentă imediat.",
"user_delete_immediately_checkbox": "Pune utilizatorul și resursele în coadă pentru ștergere imediată",
"user_details": "Detalii utilizator",
- "user_management": "Gestionarea Utilizatorilor",
+ "user_management": "Gestionarea utilizatorilor",
"user_password_has_been_reset": "Parola utilizatorului a fost resetată:",
"user_password_reset_description": "Vă rugăm să furnizați utilizatorului parola temporară și să îi informați că va trebui să o schimbe la următoarea autentificare.",
"user_restore_description": "Contul utilizatorului {user} va fi restaurat.",
"user_restore_scheduled_removal": "Restaurare utilizator - ștergere programată pe {date, date, long}",
- "user_settings": "Setǎri Utilizator",
+ "user_settings": "Setǎri utilizator",
"user_settings_description": "Gestioneazǎ setǎrile utilizatorului",
"user_successfully_removed": "Utilizatorul {email} a fost eliminat cu succes.",
"version_check_enabled_description": "Activează verificarea versiunii",
"version_check_implications": "Funcția de verificare a versiunii se bazează pe comunicarea periodică cu github.com",
- "version_check_settings": "Verificare Versiune",
+ "version_check_settings": "Verificare versiune",
"version_check_settings_description": "Activeazǎ/dezactiveazǎ notificarea unei noi versiuni",
"video_conversion_job": "Transcodați videoclipuri",
"video_conversion_job_description": "Transcodați videoclipurile pentru o compatibilitate mai mare cu browserele și dispozitivele"
},
- "admin_email": "E-mail Administrator",
- "admin_password": "Parolă Administrator",
+ "admin_email": "E-mail administrator",
+ "admin_password": "Parolă administrator",
"administration": "Administrare",
"advanced": "Avansat",
"advanced_settings_enable_alternate_media_filter_subtitle": "Utilizați această opțiune pentru a filtra conținutul media în timpul sincronizării pe baza unor criterii alternative. Încercați numai dacă întâmpinați probleme cu aplicația la detectarea tuturor albumelor.",
@@ -399,7 +402,7 @@
"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": "Antete Proxy",
- "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_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",
@@ -465,7 +468,7 @@
"app_bar_signout_dialog_content": "Ești sigur că vrei să te deconectezi?",
"app_bar_signout_dialog_ok": "Da",
"app_bar_signout_dialog_title": "Deconectare",
- "app_settings": "Setări Aplicație",
+ "app_settings": "Setări aplicație",
"appears_in": "Apare în",
"apply_count": "Aplică ({count, number})",
"archive": "Arhivă",
@@ -476,7 +479,7 @@
"archive_size": "Mărime arhivă",
"archive_size_description": "Configurează dimensiunea arhivei pentru descărcări (în GiB)",
"archived": "Arhivat",
- "archived_count": "{count, plural, other {Arhivat/e#}}",
+ "archived_count": "{count, plural, one {Arhivat} few {# arhivate} other {# arhivate}}",
"are_these_the_same_person": "Sunt aceștia aceeași persoană?",
"are_you_sure_to_do_this": "Sunteți sigur că doriți să faceți acest lucru?",
"asset_action_delete_err_read_only": "Fișierele cu permisiuni doar de citire nu au putut fi șterse, omitere",
@@ -528,6 +531,7 @@
"assets_trashed_count": "Mutat în coșul de gunoi {count, plural, one {# resursă} other {# resurse}}",
"assets_trashed_from_server": "{count} resursă(e) eliminate de pe serverul Immich",
"assets_were_part_of_album_count": "{count, plural, one {Resursa era} other {Resursele erau}} deja parte din album",
+ "assets_were_part_of_albums_count": "{count, plural, one {Asset was} other {Assets were}} deja parte din albume",
"authorized_devices": "Dispozitive Autorizate",
"automatic_endpoint_switching_subtitle": "Conectează-te local prin rețeaua Wi‐Fi configurată când este valabilă și prin rețele alternative în caz contrar",
"automatic_endpoint_switching_title": "Alternare URL automată",
@@ -537,6 +541,7 @@
"background_backup_running_error": "Procesul de backup în fundal este activ, nu se poate porni backup manual",
"background_location_permission": "Permisiune locație în fundal",
"background_location_permission_content": "Pentru a putea schimba rețeaua activă în fundal, Immich are nevoie de acces *permanent* la locația precisă pentru a citi numele rețelei Wi-Fi",
+ "background_options": "Opțiuni de fundal",
"backup": "Backup",
"backup_album_selection_page_albums_device": "Albume în dispozitiv ({count})",
"backup_album_selection_page_albums_tap": "Apasă odata pentru a include, de două ori pentru a exclude",
@@ -544,6 +549,7 @@
"backup_album_selection_page_select_albums": "Selectează albume",
"backup_album_selection_page_selection_info": "Informații selecție",
"backup_album_selection_page_total_assets": "Total resurse unice",
+ "backup_albums_sync": "Sincronizarea albumelor de backup",
"backup_all": "Toate",
"backup_background_service_backup_failed_message": "Eșuare backup resurse. Reîncercare…",
"backup_background_service_connection_failed_message": "Conectare la server eșuată. Reîncercare…",
@@ -583,7 +589,7 @@
"backup_controller_page_remainder": "Rămas(e)",
"backup_controller_page_remainder_sub": "Fotografii și videoclipuri din selecție rămase pentru backup",
"backup_controller_page_server_storage": "Stocare server",
- "backup_controller_page_start_backup": "Începe backup",
+ "backup_controller_page_start_backup": "Începe copia de rezervă",
"backup_controller_page_status_off": "Backup-ul automat în prim-plan este oprit",
"backup_controller_page_status_on": "Backup-ul automat în prim-plan este pornit",
"backup_controller_page_storage_format": "{used} din {total} folosit",
@@ -593,12 +599,14 @@
"backup_controller_page_turn_on": "Activează backup-ul în prim-plan",
"backup_controller_page_uploading_file_info": "Informații încărcare fișier",
"backup_err_only_album": "Nu poți șterge singurul album",
+ "backup_error_sync_failed": "Sincronizarea a eșuat. Nu se poate procesa copia de rezervă.",
"backup_info_card_assets": "resurse",
"backup_manual_cancelled": "Anulat",
"backup_manual_in_progress": "Încărcarea este deja în curs. Încearcă din nou mai târziu",
"backup_manual_success": "Succes",
"backup_manual_title": "Status încărcare",
- "backup_options_page_title": "Opțiuni Backup",
+ "backup_options": "Opțiuni copie de rezervă",
+ "backup_options_page_title": "Opțiuni copie de rezervă",
"backup_setting_subtitle": "Schimbă opțiuni pentru backup în prim-plan și în fundal",
"backup_settings_subtitle": "Gestionați setările de încărcare",
"backward": "În sens invers",
@@ -609,7 +617,7 @@
"birthdate_saved": "Data nașterii salvată cu succes",
"birthdate_set_description": "Data nașterii este utilizată pentru a calcula vârsta acestei persoane la momentul realizării fotografiei.",
"blurred_background": "Fundal neclar",
- "bugs_and_feature_requests": "Erori și Solicitări de Caracteristici",
+ "bugs_and_feature_requests": "Erori și solicitări de caracteristici",
"build": "Versiunea",
"build_image": "Versiune Imagine",
"bulk_delete_duplicates_confirmation": "Ești sigur că vrei să ștergi în masă {count, plural, one {# resursă duplicată} other {# resurse duplicate}}? Aceasta va păstra cea mai mare resursă din fiecare grup și va șterge permanent toate celelalte duplicate. Nu poți anula această acțiune!",
@@ -659,6 +667,8 @@
"change_pin_code": "Schimbă codul PIN",
"change_your_password": "Schimbă-ți parola",
"changed_visibility_successfully": "Schimbare vizibilitate cu succes",
+ "charging": "Încărcare",
+ "charging_requirement_mobile_backup": "Pentru copia de rezervă în fundal, dispozitivul trebuie să fie în curs de încărcare",
"check_corrupt_asset_backup": "Verifică copii de rezervă a resurselor corupte",
"check_corrupt_asset_backup_button": "Efectuează verificarea",
"check_corrupt_asset_backup_description": "Rulează această verificare doar prin Wi-Fi și doar după ce toate resursele au fost salvate în copia de rezerva. Procedura poate dura câteva minute.",
@@ -710,7 +720,7 @@
"control_bottom_app_bar_delete_from_immich": "Șterge din Immich",
"control_bottom_app_bar_delete_from_local": "Șterge din dispozitiv",
"control_bottom_app_bar_edit_location": "Editează locație",
- "control_bottom_app_bar_edit_time": "Editează Data și Ora",
+ "control_bottom_app_bar_edit_time": "Editează data și ora",
"control_bottom_app_bar_share_link": "Partajează linkul",
"control_bottom_app_bar_share_to": "Distribuire către",
"control_bottom_app_bar_trash_from_immich": "Mută în coș",
@@ -745,6 +755,7 @@
"create_user": "Creează utilizator",
"created": "Creat",
"created_at": "Creat",
+ "creating_linked_albums": "Crearea albumelor cu link...",
"crop": "Decupează",
"curated_object_page_title": "Obiecte",
"current_device": "Dispozitiv curent",
@@ -764,6 +775,7 @@
"date_of_birth_saved": "Data nașterii salvată cu succes",
"date_range": "Interval de date",
"day": "Zi",
+ "days": "Zile",
"deduplicate_all": "Deduplicați Toate",
"deduplication_criteria_1": "Marimea imagini în octeți",
"deduplication_criteria_2": "Numărul de date EXIF",
@@ -848,10 +860,12 @@
"edit": "Editare",
"edit_album": "Editare album",
"edit_avatar": "Editare avatar",
- "edit_birthday": "Editează ziua de naștere",
+ "edit_birthday": "Modifică ziua de naștere",
"edit_date": "Editare dată",
"edit_date_and_time": "Editare dată și oră",
"edit_date_and_time_action_prompt": "{count} data și ora modificării",
+ "edit_date_and_time_by_offset": "Schimbă data prin decalaj",
+ "edit_date_and_time_by_offset_interval": "Noul interval de date: {from} - {to}",
"edit_description": "Editează descrierea",
"edit_description_prompt": "Vă rugăm să selectați o descriere nouă:",
"edit_exclusion_pattern": "Editarea modelului de excludere",
@@ -861,7 +875,7 @@
"edit_key": "Tastă de editare",
"edit_link": "Editare link",
"edit_location": "Editare locație",
- "edit_location_action_prompt": "{count} locație(i) editată(e)",
+ "edit_location_action_prompt": "{count} locație(i) modificată(e)",
"edit_location_dialog_title": "Locație",
"edit_name": "Editare nume",
"edit_people": "Editare persoane",
@@ -891,7 +905,9 @@
"error": "Eroare",
"error_change_sort_album": "Nu s-a putut modifica ordinea de sortare a albumului",
"error_delete_face": "Eroare la ștergerea feței din activ",
+ "error_getting_places": "Eroare la obținerea locațiilor",
"error_loading_image": "Eroare la încărcarea imaginii",
+ "error_loading_partners": "Eroare la încărcarea partenerilor: {error}",
"error_saving_image": "Eroare: {error}",
"error_tag_face_bounding_box": "Eroare la etichetarea feței - nu se pot obține coordonatele casetei de delimitare",
"error_title": "Eroare - ceva nu a mers",
@@ -924,6 +940,7 @@
"failed_to_load_notifications": "Nu s-au putut încărca notificările",
"failed_to_load_people": "Eșec la încărcarea persoanelor",
"failed_to_remove_product_key": "Eșec la eliminarea cheii de produs",
+ "failed_to_reset_pin_code": "Nu s-a reușit resetarea codului PIN",
"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",
@@ -932,6 +949,7 @@
"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.",
"quota_higher_than_disk_size": "Ați stabilit o valoare a spațiului de stocare mai mare decât dimensiunea discului",
+ "something_went_wrong": "Ceva nu a mers bine",
"unable_to_add_album_users": "Imposibil de adăugat utilizatori în album",
"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",
@@ -1039,7 +1057,7 @@
"export_database_description": "Exportați baza de date SQLite",
"extension": "Extensie",
"external": "Extern",
- "external_libraries": "Biblioteci Externe",
+ "external_libraries": "Biblioteci externe",
"external_network": "Rețea externă",
"external_network_sheet_info": "Când nu se află în rețeaua Wi-Fi preferată, aplicația se va conecta la server prin prima dintre adresele URL de mai jos pe care o poate accesa, începând de sus în jos",
"face_unassigned": "Nealocat",
@@ -1054,6 +1072,7 @@
"favorites_page_no_favorites": "Nu au fost găsite resurse favorite",
"feature_photo_updated": "Fotografie caracteristică actualizată",
"features": "Caracteristici",
+ "features_in_development": "Funcții în dezvoltare",
"features_setting_description": "Gestionați funcțiile aplicației",
"file_name": "Nume de fișier",
"file_name_or_extension": "Numele sau extensia fișierului",
@@ -1063,21 +1082,26 @@
"filter_people": "Filtrați persoanele",
"filter_places": "Filtrează locurile",
"find_them_fast": "Găsiți-le rapid prin căutare după nume",
+ "first": "Primul",
"fix_incorrect_match": "Remediați potrivirea incorectă",
"folder": "Dosar",
"folder_not_found": "Dosar negăsit",
- "folders": "Foldere",
+ "folders": "Fișiere",
"folders_feature_description": "Răsfoire în conținutul folderului pentru fotografiile și videoclipurile din sistemul de fișiere",
+ "forgot_pin_code_question": "Ai uitat codul PIN?",
"forward": "Redirecționare",
"gcast_enabled": "Google Cast",
"gcast_enabled_description": "Această funcție încarcă resurse externe de la Google pentru a funcționa.",
"general": "General",
+ "geolocation_instruction_location": "Apasă pe o resursă cu coordonate GPS pentru a folosi locația sa, sau selectează direct o locație de pe hartă",
"get_help": "Obțineți Ajutor",
"get_wifiname_error": "Nu s-a putut obține numele rețelei Wi-Fi. Asigurați-vă că ați acordat permisiunile necesare și că sunteți conectat la o rețea Wi-Fi",
"getting_started": "Noțiuni de Bază",
"go_back": "Întoarcere",
"go_to_folder": "Accesați folderul",
"go_to_search": "Spre căutare",
+ "gps": "GPS",
+ "gps_missing": "Fără GPS",
"grant_permission": "Acordați permisiunea",
"group_albums_by": "Grupați albume de...",
"group_country": "Grupare după țară",
@@ -1088,6 +1112,9 @@
"haptic_feedback_switch": "Activează feedback-ul haptic",
"haptic_feedback_title": "Feedback haptic",
"has_quota": "Are spațiu de stocare",
+ "hash_asset": "Hash-ul resursei",
+ "hashed_assets": "Resurse hashed",
+ "hashing": "Generare hash",
"header_settings_add_header_tip": "Adăugați antet",
"header_settings_field_validator_msg": "Valoarea nu poate fi goală",
"header_settings_header_name_input": "Numele antetului",
@@ -1114,11 +1141,12 @@
"home_page_favorite_err_partner": "Momentan nu se pot adăuga fișierele partenerului la favorite, omitere",
"home_page_first_time_notice": "Dacă este prima dată când utilizezi aplicația, te rugăm să te asiguri că alegi unul sau mai multe albume de backup, astfel încât cronologia să poată fi populată cu fotografiile și videoclipurile din aceste albume",
"home_page_locked_error_local": "Nu se pot muta resursele locale în folderul blocat, se omit",
- "home_page_locked_error_partner": "Nu se pot muta materialele partenerului în folderul blocat, se omit.",
+ "home_page_locked_error_partner": "Nu se pot muta resursele partenerului în folderul blocat, se omit.",
"home_page_share_err_local": "Nu se pot distribui fișiere locale prin link, omitere",
"home_page_upload_err_limit": "Se pot încărca maxim 30 de resurse odată, omitere",
"host": "Gazdă",
"hour": "Oră",
+ "hours": "Ore",
"id": "ID",
"idle": "Inactiv",
"ignore_icloud_photos": "Ignoră fotografiile din iCloud",
@@ -1178,10 +1206,13 @@
"language_no_results_title": "Nu au fost găsite limbi",
"language_search_hint": "Căutați limbi...",
"language_setting_description": "Selectați limba preferată",
+ "large_files": "Fișiere mari",
+ "last": "Ultimul",
"last_seen": "Văzut ultima dată",
"latest_version": "Ultima Versiune",
"latitude": "Latitudine",
"leave": "Părăsiți",
+ "leave_album": "Părăsește albumul",
"lens_model": "Model obiectiv",
"let_others_respond": "Permite altora să răspundă",
"level": "Nivel",
@@ -1195,6 +1226,7 @@
"library_page_sort_title": "Titlu album",
"licenses": "Licențe",
"light": "Lumină",
+ "like": "Îmi place",
"like_deleted": "Preferat șters",
"link_motion_video": "Link video în mișcare",
"link_to_oauth": "Link către OAuth",
@@ -1205,6 +1237,7 @@
"local": "Local",
"local_asset_cast_failed": "Nu se poate converti un element care nu este încărcat pe server",
"local_assets": "Asset-uri locale",
+ "local_media_summary": "Rezumatul fișierelor media locale",
"local_network": "Rețea locală",
"local_network_sheet_info": "Aplicația se va conecta la server prin intermediul acestei adrese URL atunci când utilizează rețeaua Wi-Fi specificată",
"location_permission": "Permisiunea de locație",
@@ -1216,6 +1249,7 @@
"location_picker_longitude_hint": "Introdu longitudinea aici",
"lock": "Blocare",
"locked_folder": "Dosar blocat",
+ "log_detail_title": "Detalii jurnal",
"log_out": "Deconectare",
"log_out_all_devices": "Deconectați-vă de la toate dispozitivele",
"logged_in_as": "Conectat ca {user}",
@@ -1246,13 +1280,15 @@
"login_password_changed_success": "Parola a fost actualizată cu succes",
"logout_all_device_confirmation": "Sigur doriți să deconectați toate dispozitivele?",
"logout_this_device_confirmation": "Sigur doriți să deconectați acest dispozitiv?",
+ "logs": "Jurnale",
"longitude": "Longitudine",
"look": "Examinare",
"loop_videos": "Buclă videoclipuri",
"loop_videos_description": "Activați pentru a rula in buclă automat un videoclip în vizualizatorul de detalii.",
"main_branch_warning": "Utilizați o versiune de dezvoltare; vă recomandăm insistent să utilizați o versiune de lansare!",
"main_menu": "Meniu principal",
- "make": "Face",
+ "make": "Marcă",
+ "manage_geolocation": "Gestionați locația",
"manage_shared_links": "Administrați link-urile distribuite",
"manage_sharing_with_partners": "Gestionați partajarea cu partenerii",
"manage_the_app_settings": "Gestionați setările aplicației",
@@ -1261,7 +1297,7 @@
"manage_your_devices": "Gestionați-vă dispozitivele conectate",
"manage_your_oauth_connection": "Gestionați-vă conexiunea OAuth",
"map": "Hartă",
- "map_assets_in_bounds": "{count, plural, one {# poză} other {# poze}}",
+ "map_assets_in_bounds": "{count, plural, =0 {Nu există fotografii în această zonă} one {# fotografie} other {# fotografii}}",
"map_cannot_get_user_location": "Nu se poate obține locația utilizatorului",
"map_location_dialog_yes": "Da",
"map_location_picker_page_use_location": "Folosește această locație",
@@ -1287,6 +1323,7 @@
"mark_as_read": "Marchează ca citit",
"marked_all_as_read": "Marcate toate ca citite",
"matches": "Corespunde",
+ "matching_assets": "Resurse similare",
"media_type": "Tip media",
"memories": "Amintiri",
"memories_all_caught_up": "Sunteți la zi",
@@ -1304,7 +1341,8 @@
"merge_people_successfully": "Persoane îmbinate cu succes",
"merged_people_count": "Imbinate {count, plural, one {# persoană} other {# persoane}}",
"minimize": "Minimizare",
- "minute": "Minute",
+ "minute": "Minut",
+ "minutes": "Minute",
"missing": "Lipsă",
"model": "Model",
"month": "Lună",
@@ -1324,6 +1362,10 @@
"my_albums": "Albumele mele",
"name": "Nume",
"name_or_nickname": "Nume sau poreclǎ",
+ "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",
+ "network_requirements_updated": "Cerințele rețelei s-au modificat, resetarea cozii copiei de rezervă",
"networking_settings": "Rețele",
"networking_subtitle": "Gestionați setările endpoint-ului serverului",
"never": "Niciodată",
@@ -1333,6 +1375,7 @@
"new_person": "Persoanǎ nouǎ",
"new_pin_code": "Cod PIN nou",
"new_pin_code_subtitle": "Aceasta este prima dată când accesați folderul blocat. Creați un cod PIN pentru a accesa în siguranță această pagină",
+ "new_timeline": "Noua cronologie",
"new_user_created": "Utilizator nou creat",
"new_version_available": "VERSIUNE NOUĂ DISPONIBILĂ",
"newest_first": "Cel mai nou primul",
@@ -1346,20 +1389,25 @@
"no_assets_message": "CLICK PENTRU A ÎNCĂRCA PRIMA TA FOTOGRAFIE",
"no_assets_to_show": "Nicio resursă de afișat",
"no_cast_devices_found": "Nu s-au găsit dispozitive de difuzare",
+ "no_checksum_local": "Nu există checksum – nu se pot prelua resursele locale",
+ "no_checksum_remote": "Nu există checksum – nu se pot prelua resursele la distanță",
"no_duplicates_found": "Nu au fost găsite duplicate.",
"no_exif_info_available": "Nu există informații exif disponibile",
"no_explore_results_message": "Încarcați mai multe fotografii pentru a vă explora colecția.",
"no_favorites_message": "Adăugați favorite pentru a găsi rapid cele mai bune fotografii și videoclipuri",
"no_libraries_message": "Creați o bibliotecă externă pentru a vă vizualiza fotografiile și videoclipurile",
+ "no_local_assets_found": "Nicio resursă locală găsită cu acest checksum",
"no_locked_photos_message": "Fotografiile și videoclipurile din folderul blocat sunt ascunse și nu vor apărea atunci când răsfoiți sau căutați în bibliotecă.",
"no_name": "Fără Nume",
"no_notifications": "Nicio notificare",
"no_people_found": "Nu au fost găsite persoane potrivite căutării",
"no_places": "Nu există locuri",
+ "no_remote_assets_found": "Nicio resursă de la distanță găsită cu acest checksum",
"no_results": "Fără rezultate",
"no_results_description": "Încercați un sinonim sau un cuvânt cheie mai general",
"no_shared_albums_message": "Creați un album pentru a partaja fotografii și videoclipuri cu persoanele din rețeaua dvs",
"no_uploads_in_progress": "Nicio încărcare în curs",
+ "not_available": "N/A",
"not_in_any_album": "Nu există în niciun album",
"not_selected": "Neselectat",
"note_apply_storage_label_to_previously_uploaded assets": "Notă: Pentru a aplica eticheta de stocare la resursele încărcate anterior, rulați",
@@ -1375,6 +1423,7 @@
"oauth": "OAuth",
"official_immich_resources": "Resurse Oficiale Immich",
"offline": "Offline",
+ "offset": "Decalaj",
"ok": "Bine",
"oldest_first": "Cel mai vechi mai întâi",
"on_this_device": "Pe acest dispozitiv",
@@ -1393,6 +1442,8 @@
"open_the_search_filters": "Deschideți filtrele de căutare",
"options": "Opțiuni",
"or": "sau",
+ "organize_into_albums": "Organizați în albume",
+ "organize_into_albums_description": "Pune fotografiile existente în albume folosind setările curente de sincronizare",
"organize_your_library": "Organizează-ți biblioteca",
"original": "original",
"other": "Alte",
@@ -1452,6 +1503,9 @@
"permission_onboarding_permission_limited": "Permisiune limitată. Pentru a permite Immich să facă copii de siguranță și să gestioneze întreaga colecție de galerii, acordă permisiuni pentru fotografii și videoclipuri în Setări.",
"permission_onboarding_request": "Immich necesită permisiunea de a vizualiza fotografiile și videoclipurile tale.",
"person": "Persoanǎ",
+ "person_age_months": "{months, plural, one {# lună} other {# luni}}",
+ "person_age_year_months": "1 an, {months, plural, one {# lună} other {# luni}}",
+ "person_age_years": "{years, plural, other {# years}} vechime",
"person_birthdate": "Născut pe {date}",
"person_hidden": "{name}{hidden, select, true { (ascuns)} other {}}",
"photo_shared_all_users": "Se pare că ți-ai partajat fotografiile tuturor utilizatorilor sau că nu ai niciun utilizator căruia să le distribui.",
@@ -1475,6 +1529,7 @@
"port": "Port",
"preferences_settings_subtitle": "Gestionați preferințele aplicației",
"preferences_settings_title": "Preferințe",
+ "preparing": "Se prepară",
"preset": "Presetat",
"preview": "Previzualizare",
"previous": "Anterior",
@@ -1491,6 +1546,7 @@
"profile_drawer_client_out_of_date_minor": "Aplicația nu folosește ultima versiune. Te rugăm să actualizezi la ultima versiune minoră.",
"profile_drawer_client_server_up_to_date": "Aplicația client și server-ul sunt actualizate",
"profile_drawer_github": "GitHub",
+ "profile_drawer_readonly_mode": "Mod doar citire activat. Ține apăsat pe pictograma avatarului utilizatorului pentru a ieși.",
"profile_drawer_server_out_of_date_major": "Server-ul nu folosește ultima versiune. Te rugăm să actualizezi la ultima versiune majoră.",
"profile_drawer_server_out_of_date_minor": "Server-ul nu folosește ultima versiune. Te rugăm să actulizezi la ultima versiune minoră.",
"profile_image_of_user": "Imagine de profil a lui {user}",
@@ -1529,6 +1585,7 @@
"purchase_server_description_2": "Statutul de suporter",
"purchase_server_title": "Server",
"purchase_settings_server_activated": "Cheia de produs a serverului este gestionată de administrator",
+ "query_asset_id": "Interoghează ID-ul resursei",
"queue_status": "Se pun în coadă {count}/{total}",
"rating": "Evaluare cu stele",
"rating_clear": "Anulați evaluarea",
@@ -1536,6 +1593,9 @@
"rating_description": "Afișați evaluarea EXIF în panoul de informații",
"reaction_options": "Opțiuni de reacție",
"read_changelog": "Citiți Jurnalul de Modificări",
+ "readonly_mode_disabled": "Modul doar citire dezactivat",
+ "readonly_mode_enabled": "Modul doar citire activat",
+ "ready_for_upload": "Pregătit pentru încărcare",
"reassign": "Reatribuiți",
"reassigned_assets_to_existing_person": "Re-alocat {count, plural, one {# resursă} other {# resurse}} to {name, select, null {unei persoane existente} other {{name}}}",
"reassigned_assets_to_new_person": "Re-alocat {count, plural, one {# resursă} other {# resurse}} unei noi persoane",
@@ -1560,6 +1620,7 @@
"regenerating_thumbnails": "Se regenerează miniaturile",
"remote": "De la distanță",
"remote_assets": "Elemente la distanță",
+ "remote_media_summary": "Rezumat media de la distanță",
"remove": "Eliminați",
"remove_assets_album_confirmation": "Sigur doriți să eliminați {count, plural, one {# resursă} other {# resurse}} din album?",
"remove_assets_shared_link_confirmation": "Sigur doriți să eliminați {count, plural, one {# resursă} other {# resurse}} din acest link comun?",
@@ -1597,6 +1658,9 @@
"reset_password": "Resetare parolă",
"reset_people_visibility": "Resetați vizibilitatea persoanelor",
"reset_pin_code": "Resetare cod PIN",
+ "reset_pin_code_description": "Dacă ți-ai uitat codul PIN, poți contacta administratorul serverului pentru a-l reseta",
+ "reset_pin_code_success": "Codul PIN a fost resetat cu succes",
+ "reset_pin_code_with_password": "Puteți reseta oricând codul PIN cu ajutorul parolei",
"reset_sqlite": "Resetare bază de date SQLite",
"reset_sqlite_confirmation": "Sigur doriți să resetați baza de date SQLite? Va trebui să vă deconectați și să vă conectați din nou pentru a resincroniza datele",
"reset_sqlite_success": "Resetarea cu succes a bazei de date SQLite",
@@ -1609,8 +1673,10 @@
"restore_user": "Restabiliți utilizatorul",
"restored_asset": "Resursă restaurată",
"resume": "Reluare",
+ "resume_paused_jobs": "Reluați {count, plural, one {# paused job} other {# paused jobs}}",
"retry_upload": "Reîncercați încărcarea",
"review_duplicates": "Examinați duplicatele",
+ "review_large_files": "Revizuirea fișierelor mari",
"role": "Rol",
"role_editor": "Editor",
"role_viewer": "Vizualizator",
@@ -1622,7 +1688,7 @@
"saved_settings": "Setări salvate",
"say_something": "Spuneți ceva",
"scaffold_body_error_occurred": "A apărut o eroare",
- "scan_all_libraries": "Scanați Toate Bibliotecile",
+ "scan_all_libraries": "Scanați toate bibliotecile",
"scan_library": "Scanare",
"scan_settings": "Setări Scanare",
"scanning_for_album": "Se scanează după album...",
@@ -1635,8 +1701,8 @@
"search_by_filename_example": "i.e. IMG_1234.JPG sau PNG",
"search_camera_make": "Se caută marca camerei...",
"search_camera_model": "Se caută modelul camerei...",
- "search_city": "Se caută orașul...",
- "search_country": "Se caută țara...",
+ "search_city": "Caută în orașul...",
+ "search_country": "Caută în țara...",
"search_filter_apply": "Aplicați filtrul",
"search_filter_camera_title": "Selectați tipul de cameră",
"search_filter_date": "Dată",
@@ -1651,7 +1717,7 @@
"search_filter_media_type_title": "Selectați tipul media",
"search_filter_people_title": "Selectați persoane",
"search_for": "Căutare după",
- "search_for_existing_person": "Se caută o persoană existentă",
+ "search_for_existing_person": "Caută o persoană existentă",
"search_no_more_result": "Nu mai există rezultate",
"search_no_people": "Fără persoane",
"search_no_people_named": "Nicio persoană numită \"{name}\"",
@@ -1673,7 +1739,7 @@
"search_rating": "Caută după notă...",
"search_result_page_new_search_hint": "Căutare nouă",
"search_settings": "Setări de căutare",
- "search_state": "Starea căutării...",
+ "search_state": "Caută în Stat/Județ...",
"search_suggestion_list_smart_search_hint_1": "Căutarea inteligentă este activată în mod implicit, pentru a căuta metadata, utilizează sintaxa ",
"search_suggestion_list_smart_search_hint_2": "m:termen-de-căutare",
"search_tags": "Căutați etichete...",
@@ -1701,6 +1767,7 @@
"select_user_for_sharing_page_err_album": "Creare album eșuată",
"selected": "Selectat",
"selected_count": "{count, plural, other {# selectat}}",
+ "selected_gps_coordinates": "Coordonate GPS selectate",
"send_message": "Trimiteți mesaj",
"send_welcome_email": "Trimiteți email de bun venit",
"server_endpoint": "Endpoint server",
@@ -1709,7 +1776,7 @@
"server_offline": "Serverul este offline",
"server_online": "Server online",
"server_privacy": "Confidențialitatea serverului",
- "server_stats": "Statistici Server",
+ "server_stats": "Statistici server",
"server_version": "Versiune Server",
"set": "Setați",
"set_as_album_cover": "Setați ca și copertă a albumului",
@@ -1768,6 +1835,7 @@
"shared_link_clipboard_copied_massage": "Copiat în clipboard",
"shared_link_clipboard_text": "Link: {link}\nParolă: {password}",
"shared_link_create_error": "Eroare în timpul creării linkului de distribuire",
+ "shared_link_custom_url_description": "Accesează acest link partajat cu un URL personalizat",
"shared_link_edit_description_hint": "Introdu descrierea distribuirii",
"shared_link_edit_expire_after_option_day": "1 zi",
"shared_link_edit_expire_after_option_days": "{count} zile",
@@ -1793,6 +1861,7 @@
"shared_link_info_chip_metadata": "EXIF",
"shared_link_manage_links": "Administrează link-urile distribuite",
"shared_link_options": "Opțiuni de link partajat",
+ "shared_link_password_description": "Solicită o parolă pentru a accesa acest link partajat",
"shared_links": "Link-uri distribuite",
"shared_links_description": "Partajare imagini și clipuri printr-un link",
"shared_photos_and_videos_count": "{assetCount, plural, other {# fotografii și videoclipuri partajate.}}",
@@ -1827,6 +1896,7 @@
"show_slideshow_transition": "Afișați tranziția de prezentare",
"show_supporter_badge": "Insigna suporterului",
"show_supporter_badge_description": "Arată o insignă de suporter",
+ "show_text_search_menu": "Afișează meniul de căutare text",
"shuffle": "Amestecați",
"sidebar": "Bara laterală",
"sidebar_display_description": "Afișați un link către vizualizare în bara laterală",
@@ -1842,6 +1912,7 @@
"sort_created": "Data creării",
"sort_items": "Numărul de articole",
"sort_modified": "Data modificării",
+ "sort_newest": "Cea mai nouă fotografie",
"sort_oldest": "Cea mai veche fotografie",
"sort_people_by_similarity": "Sortează oameni după asemanare",
"sort_recent": "Cea mai recentă fotografie",
@@ -1856,7 +1927,8 @@
"stacktrace": "Urmă stivă",
"start": "Început",
"start_date": "Data de începere",
- "state": "Situaţie",
+ "start_date_before_end_date": "Data de început trebuie să fie înainte de data de sfârșit",
+ "state": "Stat/Județ",
"status": "Stare",
"stop_casting": "Opriți difuzarea",
"stop_motion_photo": "Opriți Fotografia in Mișcare",
@@ -1880,6 +1952,8 @@
"sync_albums_manual_subtitle": "Sincronizează toate videoclipurile și fotografiile încărcate cu albumele de rezervă selectate",
"sync_local": "Sincronizare locală",
"sync_remote": "Sincronizare la distanță",
+ "sync_status": "Status-ul sincronizării",
+ "sync_status_subtitle": "Vizualizează și gestionează sistemul de sincronizare",
"sync_upload_album_setting_subtitle": "Creează și încarcă fotografiile și videoclipurile tale în albumele selectate de pe Immich",
"tag": "Etichetă",
"tag_assets": "Eticheta resurselor",
@@ -1917,7 +1991,9 @@
"to_change_password": "Schimbaţi parola",
"to_favorite": "Favorit",
"to_login": "Conectare",
+ "to_multi_select": "pentru selecție multiplă",
"to_parent": "Du-te la părinte",
+ "to_select": "a selecta",
"to_trash": "Coș de gunoi",
"toggle_settings": "Activați setările",
"total": "Total",
@@ -1937,6 +2013,7 @@
"trash_page_select_assets_btn": "Selectează resurse",
"trash_page_title": "Coș ({count})",
"trashed_items_will_be_permanently_deleted_after": "Elementele din coșul de gunoi vor fi șterse definitiv după {days, plural, one {# zi} other {# zile}}.",
+ "troubleshoot": "Depanați",
"type": "Tip",
"unable_to_change_pin_code": "Nu se poate schimba codul PIN",
"unable_to_setup_pin_code": "Nu se poate configura codul PIN",
@@ -1963,10 +2040,11 @@
"unselect_all_duplicates": "Deselectați toate duplicatele",
"unselect_all_in": "Deselectați toate din {group}",
"unstack": "Dezasamblați",
- "unstack_action_prompt": "{count} unstacked",
+ "unstack_action_prompt": "{count} neîmpachetate",
"unstacked_assets_count": "Nestivuit {count, plural, one {# resursă} other {# resurse}}",
"untagged": "Neetichetat",
"up_next": "Mai departe",
+ "update_location_action_prompt": "Actualizează locația pentru {count} resurse selectate cu:",
"updated_at": "Actualizat",
"updated_password": "Parolă actualizată",
"upload": "Încărcați",
@@ -2033,13 +2111,14 @@
"view_next_asset": "Vizualizați următoarea resursă",
"view_previous_asset": "Vizualizați resursa anterioară",
"view_qr_code": "Vezi cod QR",
+ "view_similar_photos": "Vizualizați poze similare",
"view_stack": "Vizualizați Stiva",
"view_user": "Vizualizare utilizator",
"viewer_remove_from_stack": "Șterge din grup",
"viewer_stack_use_as_main_asset": "Folosește ca resursă principală",
"viewer_unstack": "Anulează grup",
"visibility_changed": "Vizibilitatea schimbată pentru {count, plural, one {# persoană} other {# persoane}}",
- "waiting": "Așteptați",
+ "waiting": "În așteptare",
"warning": "Avertisment",
"week": "Sǎptǎmânǎ",
"welcome": "Bun venit",
@@ -2051,5 +2130,6 @@
"yes": "Da",
"you_dont_have_any_shared_links": "Nu aveți linkuri partajate",
"your_wifi_name": "Numele rețelei tale WiFi",
- "zoom_image": "Măriți Imaginea"
+ "zoom_image": "Măriți Imaginea",
+ "zoom_to_bounds": "Mărește la margini"
}
diff --git a/i18n/ru.json b/i18n/ru.json
index 60c271af16..17d6c804a2 100644
--- a/i18n/ru.json
+++ b/i18n/ru.json
@@ -28,10 +28,12 @@
"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_album_toggle": "Переключить выделение для альбома {album}",
"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": "Добавлено в избранное",
@@ -39,7 +41,7 @@
"admin": {
"add_exclusion_pattern_description": "Добавьте шаблоны исключений. Поддерживаются символы подстановки *, ** и ?. Чтобы игнорировать все файлы в любом каталоге с именем \"Raw\", укажите \"**/Raw/**\". Чтобы игнорировать все файлы, заканчивающиеся на \".tif\", используйте \"**/*.tif\". Чтобы игнорировать путь целиком, укажите \"/path/to/ignore/**\".",
"admin_user": "Администратор",
- "asset_offline_description": "Этот файл внешней библиотеки не был найден на диске и был перемещён в корзину. Если файл был перемещён внутри библиотеки, проверьте временную шкалу, чтобы найти новый соответствующий ресурс. Чтобы восстановить файл, убедитесь, что путь ниже доступен для Immich и выполните сканирование библиотеки.",
+ "asset_offline_description": "Этот объект из внешней библиотеки не был обнаружен на диске и поэтому перемещён в корзину. Если файл объекта был перемещён внутри библиотеки, проверьте временную шкалу, чтобы найти новый соответствующий объект. Чтобы восстановить файл, убедитесь, что следующий путь доступен для Immich, и выполните сканирование библиотеки.",
"authentication_settings": "Настройки аутентификации",
"authentication_settings_description": "Управление паролями, OAuth и другими настройками аутентификации",
"authentication_settings_disable_all": "Вы уверены, что хотите отключить все методы входа? Вход будет полностью отключен.",
@@ -77,7 +79,7 @@
"face_detection_description": "Обнаруживает лица на объектах с использованием машинного обучения. Для видео анализируется только миниатюра. Кнопка \"Обновить\" запускает повторную обработку всех объектов. \"Сброс\" — дополнительно удаляет все имеющиеся данные о лицах. \"Отсутствующие\" — ставит в очередь объекты, которые ещё не были обработаны. Обнаруженные лица помещаются в очередь для задачи Распознавание лиц и последующей их привязки к существующим или новым людям.",
"facial_recognition_job_description": "Группирует и назначает обнаруженные лица людям. Выполняется после завершения задачи Обнаружение лиц. Кнопка \"Сброс\" (пере)назначает все лица. \"Отсутствующие\" — добавляет в очередь обработки лица, не привязанные к человеку.",
"failed_job_command": "Команда {command} не выполнена для задачи: {job}",
- "force_delete_user_warning": "ПРЕДУПРЕЖДЕНИЕ: Это приведет к немедленному удалению пользователя и его ресурсов. Это действие невозможно отменить, и файлы не могут быть восстановлены.",
+ "force_delete_user_warning": "ПРЕДУПРЕЖДЕНИЕ: Это приведет к немедленному удалению пользователя и всех его объектов. Это действие невозможно отменить, файлы не смогут быть восстановлены.",
"image_format": "Формат",
"image_format_description": "WebP создает файлы меньшего размера, чем JPEG, но кодирует медленнее.",
"image_fullsize_description": "Полноразмерное изображение без метаданных, используется при увеличении",
@@ -275,7 +277,7 @@
"storage_template_hash_verification_enabled_description": "Включает проверку хеша, не отключайте её, если не уверены в последствиях",
"storage_template_migration": "Применение шаблона хранилища",
"storage_template_migration_description": "Применяет текущий {template} к ранее загруженным объектам",
- "storage_template_migration_info": "Расширения файлов всегда будут сохраняться в нижнем регистре. Изменения в шаблоне будут применяться только к новым ресурсам. Чтобы применить шаблон к ранее загруженным ресурсам, запустите {job}.",
+ "storage_template_migration_info": "Расширения файлов всегда будут сохраняться в нижнем регистре. Изменения в шаблоне будут применяться только к новым объектам. Чтобы применить шаблон к ранее загруженным объектам, запустите {job}.",
"storage_template_migration_job": "Задача по применению шаблона хранилища",
"storage_template_more_details": "Для получения дополнительной информации об этой функции обратитесь к разделам документации