Compare commits
235 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
| 259f5d127d | |||
| 876893c823 | |||
| c6e1dbec5c | |||
| f40269bc3e | |||
| 95297cd024 | |||
| b6937c5e03 | |||
| 98c9ae1f7d | |||
| 1d8673eb3b | |||
| 026482099a | |||
| c17c174149 | |||
| cfba7f7701 | |||
| ad510dd6fd | |||
| a3712e40bd | |||
| 34fae31fd4 | |||
| f8bbc6eabe | |||
| 69e50d0d27 | |||
| 3a2e30e30e | |||
| 53940f7d42 | |||
| b66c53bef3 | |||
| 1737013e66 | |||
| bcd17c2ebe | |||
| b031a8cac1 | |||
| 41f138d3c8 | |||
| 6b5defc27b | |||
| 2604940f09 | |||
| 32f908baf1 | |||
| 944ea7dbcd | |||
| 4b5657c21e | |||
| f5c4af73aa | |||
| 24ae4ecff1 | |||
| 64a7baec8c | |||
| caf6c0996d | |||
| 6729782c3f | |||
| a60209db3e | |||
| d1169e3b2f | |||
| df972ef711 | |||
| 33263cf9f3 | |||
| 1b5811d992 | |||
| 1fa0122eda | |||
| d1085e8a02 | |||
| d6a70bc7e5 | |||
| d3fe238eef | |||
| 35f24270fe | |||
| 1f1a4ab1a3 | |||
| 0b3742cf13 | |||
| 9203a61709 | |||
| 11403abfbc | |||
| 5a2af558fb | |||
| de993289ad | |||
| c58bd307ce | |||
| 333ca8827e | |||
| 3dad19883d | |||
| 4ca27a3e7f | |||
| b0bb11f9e0 | |||
| ecb8349085 | |||
| e1feba2198 | |||
| 53a7ac3868 | |||
| f2e950d89c | |||
| 8ba2c99b08 | |||
| 93346496fc | |||
| a9525de356 | |||
| 31a1e64b58 | |||
| e17bd8efc6 | |||
| 2f9019c0e1 | |||
| dfa8a8a6e1 | |||
| b9a0c3c79f | |||
| bda97c4e0e | |||
| e3426c880f | |||
| d4ca7d0075 | |||
| f1c9b763cf | |||
| 5097c92494 | |||
| 7aacc92699 | |||
| 00d6cc86ad | |||
| 54d881e5c6 | |||
| edce096680 | |||
| 5c31acbcf0 | |||
| 6b49104d59 | |||
| 97dbe3236b | |||
| 586393f178 | |||
| f3e88ea2fa | |||
| c8b46802d6 | |||
| 7534098596 | |||
| ec5b7c266b | |||
| e84ad084d5 | |||
| dc2de47204 | |||
| 2fe6607aea | |||
| 64831e2328 | |||
| 6053214e75 | |||
| 599b489f81 | |||
| 0b98c5e3c4 | |||
| b238b69689 | |||
| decbc741e2 | |||
| 564449a555 | |||
| f4741c70f3 | |||
| be2b76be8c | |||
| cff0b95f4c | |||
| 1321a393c1 | |||
| a9fc840d65 | |||
| ebf06dc12e | |||
| 8d8becd0f7 | |||
| 3b5f5ec57a | |||
| b29e4ec39f | |||
| f1b8a9374f | |||
| 497b3d995e | |||
| 9fd425dd5c | |||
| 442d4e5e1c | |||
| 7134d26a19 | |||
| 42ee7f1290 | |||
| 5d7a04367c | |||
| 06e0ba29f8 | |||
| b36de7d7d4 | |||
| d456d35510 | |||
| c383e115af | |||
| 5edbb93a4d | |||
| 1d55b5bfc0 | |||
| 60afd7b400 | |||
| 3f99ef90ec | |||
| 380fc06979 | |||
| d34d92dca3 | |||
| 3551407d95 | |||
| 6bfc20ef95 | |||
| eadcbd52fb | |||
| fed882a28a | |||
| cdabd08139 | |||
| b95bc32310 | |||
| b9096f3e99 | |||
| 5ac236d6fd | |||
| 458f2acf42 | |||
| 5b2cd704d3 | |||
| 0130052de5 | |||
| 16027678ee | |||
| 343cdcfeed | |||
| a28b92b3cc | |||
| 066682f48d | |||
| 7d933ec97a | |||
| 30d42e571c | |||
| 318ab756cb | |||
| 9d75c5b999 | |||
| 40fbef50cf | |||
| 7961435d36 | |||
| 92ad03615c | |||
| 33409a8cd0 | |||
| 244c8cb4d4 | |||
| 0d62ff11f1 | |||
| ae2992a6d8 | |||
| 952c6be6ea | |||
| 0f668fd5c6 | |||
| 19eb3ed8b9 | |||
| 2efba6326d | |||
| 0230dc284b | |||
| a39a1cfffa | |||
| f776e049e9 | |||
| 37e437a568 | |||
| 2c86da07c6 | |||
| 4b9e460db5 | |||
| 143ee0bc34 | |||
| 68a4cc25dc | |||
| e74ddca6c0 | |||
| 02819dc079 | |||
| 6a011a4595 | |||
| e029190a5d | |||
| 00dd9419a5 | |||
| 96e97278d3 | |||
| e1d968d1b3 | |||
| db69361f19 | |||
| 490fcc5591 | |||
| 921b7cbc8d | |||
| 044c3e93f8 | |||
| 8449e78c8f | |||
| f8a2bcee79 | |||
| 9204cd6a21 | |||
| 988d527212 | |||
| a70ed7c7f6 | |||
| 88d85eff0a | |||
| d95b474e58 | |||
| 43d18ccc36 | |||
| fb995816a1 | |||
| 151ba9f1d9 | |||
| bc06863d28 | |||
| 5d9b4b4532 | |||
| a1dd587590 | |||
| 7e9fb5df5e | |||
| 1ec9a60e41 | |||
| a76c39812f | |||
| c124cf9ace | |||
| 110546bab2 | |||
| a93fda8e0d | |||
| d455a547cc | |||
| 1ef2804d20 | |||
| d40cbe4c5f | |||
| e98acc976e | |||
| 62e0658e5a | |||
| 0d4a18151d | |||
| 45c86e95e8 | |||
| 13d2febc33 | |||
| 0cb9c0d20d | |||
| c6227b49ff | |||
| 84e6e276bf | |||
| e6a666f1d3 | |||
| 16f2364e93 | |||
| 21d7cf6de6 | |||
| c77345637b | |||
| b7cd770831 | |||
| 791c37d2cc | |||
| d137fc3eb6 | |||
| b411e30796 | |||
| 56bebd01df | |||
| 45517ab7ae | |||
| ee0130a58b | |||
| 62e55f3db9 | |||
| 8c38d22f42 | |||
| 39b571a95c | |||
| c9c0212ca9 | |||
| 4a2a7b7735 | |||
| 76c0b964eb | |||
| e1e3ae811d | |||
| 3fb5adb31c | |||
| b1149881bd | |||
| 12628b80bc | |||
| 23646f0d55 | |||
| c8f672f494 | |||
| 0eabb3ef80 | |||
| 6b2f23b5a3 | |||
| 57704ba5a7 | |||
| 274381deaa | |||
| 7011231c4c | |||
| e3fc4d7b0a | |||
| d9949434f6 | |||
| 3d971f69dc | |||
| bb694aeeeb | |||
| 3f663106e8 | |||
| 79acbc1d7b | |||
| 01a9cda15d | |||
| 8ac40a933a | |||
| 51d4899cd1 |
@@ -0,0 +1,2 @@
|
|||||||
|
ARG BASEIMAGE=mcr.microsoft.com/devcontainers/typescript-node:22@sha256:dc2c3654370fe92a55daeefe9d2d95839d85bdc1f68f7fd4ab86621f49e5818a
|
||||||
|
FROM ${BASEIMAGE}
|
||||||
@@ -0,0 +1,20 @@
|
|||||||
|
{
|
||||||
|
"name": "Immich devcontainers",
|
||||||
|
"build": {
|
||||||
|
"dockerfile": "Dockerfile",
|
||||||
|
"args": {
|
||||||
|
"BASEIMAGE": "mcr.microsoft.com/devcontainers/typescript-node:22"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"customizations": {
|
||||||
|
"vscode": {
|
||||||
|
"extensions": [
|
||||||
|
"svelte.svelte-vscode"
|
||||||
|
]
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"forwardPorts": [],
|
||||||
|
"postCreateCommand": "make install-all",
|
||||||
|
"remoteUser": "node"
|
||||||
|
}
|
||||||
|
|
||||||
@@ -35,7 +35,7 @@ jobs:
|
|||||||
steps:
|
steps:
|
||||||
- name: Clean temporary images
|
- name: Clean temporary images
|
||||||
if: "${{ env.TOKEN != '' }}"
|
if: "${{ env.TOKEN != '' }}"
|
||||||
uses: stumpylog/image-cleaner-action/ephemeral@v0.8.0
|
uses: stumpylog/image-cleaner-action/ephemeral@v0.9.0
|
||||||
with:
|
with:
|
||||||
token: "${{ env.TOKEN }}"
|
token: "${{ env.TOKEN }}"
|
||||||
owner: "immich-app"
|
owner: "immich-app"
|
||||||
@@ -64,7 +64,7 @@ jobs:
|
|||||||
steps:
|
steps:
|
||||||
- name: Clean untagged images
|
- name: Clean untagged images
|
||||||
if: "${{ env.TOKEN != '' }}"
|
if: "${{ env.TOKEN != '' }}"
|
||||||
uses: stumpylog/image-cleaner-action/untagged@v0.8.0
|
uses: stumpylog/image-cleaner-action/untagged@v0.9.0
|
||||||
with:
|
with:
|
||||||
token: "${{ env.TOKEN }}"
|
token: "${{ env.TOKEN }}"
|
||||||
owner: "immich-app"
|
owner: "immich-app"
|
||||||
|
|||||||
@@ -33,6 +33,7 @@ jobs:
|
|||||||
- 'server/**'
|
- 'server/**'
|
||||||
- 'openapi/**'
|
- 'openapi/**'
|
||||||
- 'web/**'
|
- 'web/**'
|
||||||
|
- 'i18n/**'
|
||||||
machine-learning:
|
machine-learning:
|
||||||
- 'machine-learning/**'
|
- 'machine-learning/**'
|
||||||
|
|
||||||
|
|||||||
@@ -0,0 +1,52 @@
|
|||||||
|
name: Fix formatting
|
||||||
|
|
||||||
|
on:
|
||||||
|
pull_request:
|
||||||
|
types: [labeled]
|
||||||
|
|
||||||
|
jobs:
|
||||||
|
fix-formatting:
|
||||||
|
runs-on: ubuntu-latest
|
||||||
|
if: ${{ github.event.label.name == 'fix:formatting' }}
|
||||||
|
permissions:
|
||||||
|
pull-requests: write
|
||||||
|
steps:
|
||||||
|
- name: Generate a token
|
||||||
|
id: generate-token
|
||||||
|
uses: actions/create-github-app-token@v1
|
||||||
|
with:
|
||||||
|
app-id: ${{ secrets.PUSH_O_MATIC_APP_ID }}
|
||||||
|
private-key: ${{ secrets.PUSH_O_MATIC_APP_KEY }}
|
||||||
|
|
||||||
|
- name: 'Checkout'
|
||||||
|
uses: actions/checkout@v4
|
||||||
|
with:
|
||||||
|
ref: ${{ github.event.pull_request.head.ref }}
|
||||||
|
token: ${{ steps.generate-token.outputs.token }}
|
||||||
|
|
||||||
|
- name: Setup Node
|
||||||
|
uses: actions/setup-node@v4
|
||||||
|
with:
|
||||||
|
node-version-file: './server/.nvmrc'
|
||||||
|
|
||||||
|
- name: Fix formatting
|
||||||
|
run: make install-all && make format-all
|
||||||
|
|
||||||
|
- name: Commit and push
|
||||||
|
uses: EndBug/add-and-commit@v9
|
||||||
|
with:
|
||||||
|
default_author: github_actions
|
||||||
|
message: 'chore: fix formatting'
|
||||||
|
|
||||||
|
- name: Remove label
|
||||||
|
uses: actions/github-script@v7
|
||||||
|
if: always()
|
||||||
|
with:
|
||||||
|
script: |
|
||||||
|
github.rest.issues.removeLabel({
|
||||||
|
issue_number: context.payload.pull_request.number,
|
||||||
|
owner: context.repo.owner,
|
||||||
|
repo: context.repo.repo,
|
||||||
|
name: 'fix:formatting'
|
||||||
|
})
|
||||||
|
|
||||||
@@ -9,7 +9,7 @@ jobs:
|
|||||||
runs-on: ubuntu-latest
|
runs-on: ubuntu-latest
|
||||||
steps:
|
steps:
|
||||||
- name: PR Conventional Commit Validation
|
- name: PR Conventional Commit Validation
|
||||||
uses: ytanikin/PRConventionalCommits@1.2.0
|
uses: ytanikin/PRConventionalCommits@1.3.0
|
||||||
with:
|
with:
|
||||||
task_types: '["feat","fix","docs","test","ci","refactor","perf","chore","revert"]'
|
task_types: '["feat","fix","docs","test","ci","refactor","perf","chore","revert"]'
|
||||||
add_label: 'false'
|
add_label: 'false'
|
||||||
|
|||||||
@@ -30,6 +30,7 @@ jobs:
|
|||||||
filters: |
|
filters: |
|
||||||
web:
|
web:
|
||||||
- 'web/**'
|
- 'web/**'
|
||||||
|
- 'i18n/**'
|
||||||
- 'open-api/typescript-sdk/**'
|
- 'open-api/typescript-sdk/**'
|
||||||
server:
|
server:
|
||||||
- 'server/**'
|
- 'server/**'
|
||||||
|
|||||||
@@ -39,7 +39,7 @@ attach-server:
|
|||||||
renovate:
|
renovate:
|
||||||
LOG_LEVEL=debug npx renovate --platform=local --repository-cache=reset
|
LOG_LEVEL=debug npx renovate --platform=local --repository-cache=reset
|
||||||
|
|
||||||
MODULES = e2e server web cli sdk
|
MODULES = e2e server web cli sdk docs
|
||||||
|
|
||||||
audit-%:
|
audit-%:
|
||||||
npm --prefix $(subst sdk,open-api/typescript-sdk,$*) audit fix
|
npm --prefix $(subst sdk,open-api/typescript-sdk,$*) audit fix
|
||||||
@@ -48,11 +48,9 @@ install-%:
|
|||||||
build-cli: build-sdk
|
build-cli: build-sdk
|
||||||
build-web: build-sdk
|
build-web: build-sdk
|
||||||
build-%: install-%
|
build-%: install-%
|
||||||
npm --prefix $(subst sdk,open-api/typescript-sdk,$*) run | grep 'build' >/dev/null \
|
npm --prefix $(subst sdk,open-api/typescript-sdk,$*) run build
|
||||||
&& npm --prefix $(subst sdk,open-api/typescript-sdk,$*) run build || true
|
|
||||||
format-%:
|
format-%:
|
||||||
npm --prefix $(subst sdk,open-api/typescript-sdk,$*) run | grep 'format:fix' >/dev/null \
|
npm --prefix $* run format:fix
|
||||||
&& npm --prefix $(subst sdk,open-api/typescript-sdk,$*) run format:fix || true
|
|
||||||
lint-%:
|
lint-%:
|
||||||
npm --prefix $* run lint:fix
|
npm --prefix $* run lint:fix
|
||||||
check-%:
|
check-%:
|
||||||
@@ -79,14 +77,14 @@ test-medium:
|
|||||||
test-medium-dev:
|
test-medium-dev:
|
||||||
docker exec -it immich_server /bin/sh -c "npm run test:medium"
|
docker exec -it immich_server /bin/sh -c "npm run test:medium"
|
||||||
|
|
||||||
build-all: $(foreach M,$(MODULES),build-$M) ;
|
build-all: $(foreach M,$(filter-out e2e,$(MODULES)),build-$M) ;
|
||||||
install-all: $(foreach M,$(MODULES),install-$M) ;
|
install-all: $(foreach M,$(MODULES),install-$M) ;
|
||||||
check-all: $(foreach M,$(MODULES),check-$M) ;
|
check-all: $(foreach M,$(filter-out sdk cli docs,$(MODULES)),check-$M) ;
|
||||||
lint-all: $(foreach M,$(MODULES),lint-$M) ;
|
lint-all: $(foreach M,$(filter-out sdk docs,$(MODULES)),lint-$M) ;
|
||||||
format-all: $(foreach M,$(MODULES),format-$M) ;
|
format-all: $(foreach M,$(filter-out sdk,$(MODULES)),format-$M) ;
|
||||||
audit-all: $(foreach M,$(MODULES),audit-$M) ;
|
audit-all: $(foreach M,$(MODULES),audit-$M) ;
|
||||||
hygiene-all: lint-all format-all check-all sql audit-all;
|
hygiene-all: lint-all format-all check-all sql audit-all;
|
||||||
test-all: $(foreach M,$(MODULES),test-$M) ;
|
test-all: $(foreach M,$(filter-out sdk docs,$(MODULES)),test-$M) ;
|
||||||
|
|
||||||
clean:
|
clean:
|
||||||
find . -name "node_modules" -type d -prune -exec rm -rf '{}' +
|
find . -name "node_modules" -type d -prune -exec rm -rf '{}' +
|
||||||
|
|||||||
@@ -17,24 +17,24 @@
|
|||||||
<img src="design/immich-screenshots.png" title="Main Screenshot">
|
<img src="design/immich-screenshots.png" title="Main Screenshot">
|
||||||
</a>
|
</a>
|
||||||
<br/>
|
<br/>
|
||||||
|
|
||||||
<p align="center">
|
<p align="center">
|
||||||
|
<a href="readme_i18n/README_ca_ES.md">Català</a>
|
||||||
<a href="readme_i18n/README_ca_ES.md">Català</a>
|
<a href="readme_i18n/README_es_ES.md">Español</a>
|
||||||
<a href="readme_i18n/README_es_ES.md">Español</a>
|
<a href="readme_i18n/README_fr_FR.md">Français</a>
|
||||||
<a href="readme_i18n/README_fr_FR.md">Français</a>
|
<a href="readme_i18n/README_it_IT.md">Italiano</a>
|
||||||
<a href="readme_i18n/README_it_IT.md">Italiano</a>
|
<a href="readme_i18n/README_ja_JP.md">日本語</a>
|
||||||
<a href="readme_i18n/README_ja_JP.md">日本語</a>
|
<a href="readme_i18n/README_ko_KR.md">한국어</a>
|
||||||
<a href="readme_i18n/README_ko_KR.md">한국어</a>
|
<a href="readme_i18n/README_de_DE.md">Deutsch</a>
|
||||||
<a href="readme_i18n/README_de_DE.md">Deutsch</a>
|
<a href="readme_i18n/README_nl_NL.md">Nederlands</a>
|
||||||
<a href="readme_i18n/README_nl_NL.md">Nederlands</a>
|
<a href="readme_i18n/README_tr_TR.md">Türkçe</a>
|
||||||
<a href="readme_i18n/README_tr_TR.md">Türkçe</a>
|
<a href="readme_i18n/README_zh_CN.md">中文</a>
|
||||||
<a href="readme_i18n/README_zh_CN.md">中文</a>
|
<a href="readme_i18n/README_ru_RU.md">Русский</a>
|
||||||
<a href="readme_i18n/README_ru_RU.md">Русский</a>
|
<a href="readme_i18n/README_pt_BR.md">Português Brasileiro</a>
|
||||||
<a href="readme_i18n/README_pt_BR.md">Português Brasileiro</a>
|
<a href="readme_i18n/README_sv_SE.md">Svenska</a>
|
||||||
<a href="readme_i18n/README_sv_SE.md">Svenska</a>
|
<a href="readme_i18n/README_ar_JO.md">العربية</a>
|
||||||
<a href="readme_i18n/README_ar_JO.md">العربية</a>
|
<a href="readme_i18n/README_vi_VN.md">Tiếng Việt</a>
|
||||||
<a href="readme_i18n/README_vi_VN.md">Tiếng Việt</a>
|
<a href="readme_i18n/README_th_TH.md">ภาษาไทย</a>
|
||||||
|
|
||||||
</p>
|
</p>
|
||||||
|
|
||||||
## Disclaimer
|
## Disclaimer
|
||||||
@@ -102,6 +102,8 @@ For the mobile app, you can use `https://demo.immich.app/api` for the `Server En
|
|||||||
| Offline support | Yes | No |
|
| Offline support | Yes | No |
|
||||||
| Read-only gallery | Yes | Yes |
|
| Read-only gallery | Yes | Yes |
|
||||||
| Stacked Photos | Yes | Yes |
|
| Stacked Photos | Yes | Yes |
|
||||||
|
| Tags | No | Yes |
|
||||||
|
| Folder View | No | Yes |
|
||||||
|
|
||||||
## Translations
|
## Translations
|
||||||
|
|
||||||
|
|||||||
@@ -1 +1 @@
|
|||||||
20.18.0
|
22.11.0
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
FROM node:20.18.0-alpine3.20@sha256:c13b26e7e602ef2f1074aef304ce6e9b7dd284c419b35d89fcf3cc8e44a8def9 AS core
|
FROM node:22.11.0-alpine3.20@sha256:b64ced2e7cd0a4816699fe308ce6e8a08ccba463c757c00c14cd372e3d2c763e AS core
|
||||||
|
|
||||||
WORKDIR /usr/src/open-api/typescript-sdk
|
WORKDIR /usr/src/open-api/typescript-sdk
|
||||||
COPY open-api/typescript-sdk/package*.json open-api/typescript-sdk/tsconfig*.json ./
|
COPY open-api/typescript-sdk/package*.json open-api/typescript-sdk/tsconfig*.json ./
|
||||||
|
|||||||
@@ -1,12 +1,12 @@
|
|||||||
{
|
{
|
||||||
"name": "@immich/cli",
|
"name": "@immich/cli",
|
||||||
"version": "2.2.26",
|
"version": "2.2.32",
|
||||||
"lockfileVersion": 3,
|
"lockfileVersion": 3,
|
||||||
"requires": true,
|
"requires": true,
|
||||||
"packages": {
|
"packages": {
|
||||||
"": {
|
"": {
|
||||||
"name": "@immich/cli",
|
"name": "@immich/cli",
|
||||||
"version": "2.2.26",
|
"version": "2.2.32",
|
||||||
"license": "GNU Affero General Public License version 3",
|
"license": "GNU Affero General Public License version 3",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"fast-glob": "^3.3.2",
|
"fast-glob": "^3.3.2",
|
||||||
@@ -24,7 +24,7 @@
|
|||||||
"@types/cli-progress": "^3.11.0",
|
"@types/cli-progress": "^3.11.0",
|
||||||
"@types/lodash-es": "^4.17.12",
|
"@types/lodash-es": "^4.17.12",
|
||||||
"@types/mock-fs": "^4.13.1",
|
"@types/mock-fs": "^4.13.1",
|
||||||
"@types/node": "^20.16.11",
|
"@types/node": "^22.9.0",
|
||||||
"@typescript-eslint/eslint-plugin": "^8.0.0",
|
"@typescript-eslint/eslint-plugin": "^8.0.0",
|
||||||
"@typescript-eslint/parser": "^8.0.0",
|
"@typescript-eslint/parser": "^8.0.0",
|
||||||
"@vitest/coverage-v8": "^2.0.5",
|
"@vitest/coverage-v8": "^2.0.5",
|
||||||
@@ -43,7 +43,7 @@
|
|||||||
"vite": "^5.0.12",
|
"vite": "^5.0.12",
|
||||||
"vite-tsconfig-paths": "^5.0.0",
|
"vite-tsconfig-paths": "^5.0.0",
|
||||||
"vitest": "^2.0.5",
|
"vitest": "^2.0.5",
|
||||||
"vitest-fetch-mock": "^0.3.0",
|
"vitest-fetch-mock": "^0.4.0",
|
||||||
"yaml": "^2.3.1"
|
"yaml": "^2.3.1"
|
||||||
},
|
},
|
||||||
"engines": {
|
"engines": {
|
||||||
@@ -52,14 +52,14 @@
|
|||||||
},
|
},
|
||||||
"../open-api/typescript-sdk": {
|
"../open-api/typescript-sdk": {
|
||||||
"name": "@immich/sdk",
|
"name": "@immich/sdk",
|
||||||
"version": "1.118.2",
|
"version": "1.121.0",
|
||||||
"dev": true,
|
"dev": true,
|
||||||
"license": "GNU Affero General Public License version 3",
|
"license": "GNU Affero General Public License version 3",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"@oazapfts/runtime": "^1.0.2"
|
"@oazapfts/runtime": "^1.0.2"
|
||||||
},
|
},
|
||||||
"devDependencies": {
|
"devDependencies": {
|
||||||
"@types/node": "^20.16.11",
|
"@types/node": "^22.9.0",
|
||||||
"typescript": "^5.3.3"
|
"typescript": "^5.3.3"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
@@ -173,19 +173,21 @@
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/@babel/helper-string-parser": {
|
"node_modules/@babel/helper-string-parser": {
|
||||||
"version": "7.24.8",
|
"version": "7.25.9",
|
||||||
"resolved": "https://registry.npmjs.org/@babel/helper-string-parser/-/helper-string-parser-7.24.8.tgz",
|
"resolved": "https://registry.npmjs.org/@babel/helper-string-parser/-/helper-string-parser-7.25.9.tgz",
|
||||||
"integrity": "sha512-pO9KhhRcuUyGnJWwyEgnRJTSIZHiT+vMD0kPeD+so0l7mxkMT19g3pjY9GTnHySck/hDzq+dtW/4VgnMkippsQ==",
|
"integrity": "sha512-4A/SCr/2KLd5jrtOMFzaKjVtAei3+2r/NChoBNoZ3EyP/+GlhoaEGoWOZUmFmoITP7zOJyHIMm+DYRd8o3PvHA==",
|
||||||
"dev": true,
|
"dev": true,
|
||||||
|
"license": "MIT",
|
||||||
"engines": {
|
"engines": {
|
||||||
"node": ">=6.9.0"
|
"node": ">=6.9.0"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/@babel/helper-validator-identifier": {
|
"node_modules/@babel/helper-validator-identifier": {
|
||||||
"version": "7.24.7",
|
"version": "7.25.9",
|
||||||
"resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.24.7.tgz",
|
"resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.25.9.tgz",
|
||||||
"integrity": "sha512-rR+PBcQ1SMQDDyF6X0wxtG8QyLCgUB0eRAGguqRLfkCA87l7yAP7ehq8SNj96OOGTO8OBV70KhuFYcIkHXOg0w==",
|
"integrity": "sha512-Ed61U6XJc3CVRfkERJWDz4dJwKe7iLmmJsbOGu9wSloNSFttHV0I8g6UAgb7qnK5ly5bGLPd4oXZlxCdANBOWQ==",
|
||||||
"dev": true,
|
"dev": true,
|
||||||
|
"license": "MIT",
|
||||||
"engines": {
|
"engines": {
|
||||||
"node": ">=6.9.0"
|
"node": ">=6.9.0"
|
||||||
}
|
}
|
||||||
@@ -276,12 +278,13 @@
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/@babel/parser": {
|
"node_modules/@babel/parser": {
|
||||||
"version": "7.25.3",
|
"version": "7.26.2",
|
||||||
"resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.25.3.tgz",
|
"resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.26.2.tgz",
|
||||||
"integrity": "sha512-iLTJKDbJ4hMvFPgQwwsVoxtHyWpKKPBrxkANrSYewDPaPpT5py5yeVkgPIJ7XYXhndxJpaA3PyALSXQ7u8e/Dw==",
|
"integrity": "sha512-DWMCZH9WA4Maitz2q21SRKHo9QXZxkDsbNZoVD62gusNtNBBqDg9i7uOhASfTfIGNzW+O+r7+jAlM8dwphcJKQ==",
|
||||||
"dev": true,
|
"dev": true,
|
||||||
|
"license": "MIT",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"@babel/types": "^7.25.2"
|
"@babel/types": "^7.26.0"
|
||||||
},
|
},
|
||||||
"bin": {
|
"bin": {
|
||||||
"parser": "bin/babel-parser.js"
|
"parser": "bin/babel-parser.js"
|
||||||
@@ -291,14 +294,14 @@
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/@babel/types": {
|
"node_modules/@babel/types": {
|
||||||
"version": "7.25.2",
|
"version": "7.26.0",
|
||||||
"resolved": "https://registry.npmjs.org/@babel/types/-/types-7.25.2.tgz",
|
"resolved": "https://registry.npmjs.org/@babel/types/-/types-7.26.0.tgz",
|
||||||
"integrity": "sha512-YTnYtra7W9e6/oAZEHj0bJehPRUlLH9/fbpT5LfB0NhQXyALCRkRs3zH9v07IYhkgpqX6Z78FnuccZr/l4Fs4Q==",
|
"integrity": "sha512-Z/yiTPj+lDVnF7lWeKCIJzaIkI0vYO87dMpZ4bg4TDrFe4XXLFWL1TbXU27gBP3QccxV9mZICCrnjnYlJjXHOA==",
|
||||||
"dev": true,
|
"dev": true,
|
||||||
|
"license": "MIT",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"@babel/helper-string-parser": "^7.24.8",
|
"@babel/helper-string-parser": "^7.25.9",
|
||||||
"@babel/helper-validator-identifier": "^7.24.7",
|
"@babel/helper-validator-identifier": "^7.25.9"
|
||||||
"to-fast-properties": "^2.0.0"
|
|
||||||
},
|
},
|
||||||
"engines": {
|
"engines": {
|
||||||
"node": ">=6.9.0"
|
"node": ">=6.9.0"
|
||||||
@@ -766,9 +769,9 @@
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/@eslint/core": {
|
"node_modules/@eslint/core": {
|
||||||
"version": "0.6.0",
|
"version": "0.7.0",
|
||||||
"resolved": "https://registry.npmjs.org/@eslint/core/-/core-0.6.0.tgz",
|
"resolved": "https://registry.npmjs.org/@eslint/core/-/core-0.7.0.tgz",
|
||||||
"integrity": "sha512-8I2Q8ykA4J0x0o7cg67FPVnehcqWTBehu/lmY+bolPFHGjh49YzGBMXTvpqVgEbBdvNCSxj6iFgiIyHzf03lzg==",
|
"integrity": "sha512-xp5Jirz5DyPYlPiKat8jaq0EmYvDXKKpzTbxXMpT9eqlRJkRKIz9AGMdlvYjih+im+QlhWrpvVjl8IPC/lHlUw==",
|
||||||
"dev": true,
|
"dev": true,
|
||||||
"license": "Apache-2.0",
|
"license": "Apache-2.0",
|
||||||
"engines": {
|
"engines": {
|
||||||
@@ -835,9 +838,9 @@
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/@eslint/js": {
|
"node_modules/@eslint/js": {
|
||||||
"version": "9.12.0",
|
"version": "9.13.0",
|
||||||
"resolved": "https://registry.npmjs.org/@eslint/js/-/js-9.12.0.tgz",
|
"resolved": "https://registry.npmjs.org/@eslint/js/-/js-9.13.0.tgz",
|
||||||
"integrity": "sha512-eohesHH8WFRUprDNyEREgqP6beG6htMeUYeCpkEgBCieCMme5r9zFWjzAJp//9S+Kub4rqE+jXe9Cp1a7IYIIA==",
|
"integrity": "sha512-IFLyoY4d72Z5y/6o/BazFBezupzI/taV8sGumxTAVw3lXG9A6md1Dc34T9s1FoD/an9pJH8RHbAxsaEbBed9lA==",
|
||||||
"dev": true,
|
"dev": true,
|
||||||
"license": "MIT",
|
"license": "MIT",
|
||||||
"engines": {
|
"engines": {
|
||||||
@@ -1378,13 +1381,13 @@
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/@types/node": {
|
"node_modules/@types/node": {
|
||||||
"version": "20.16.11",
|
"version": "22.9.0",
|
||||||
"resolved": "https://registry.npmjs.org/@types/node/-/node-20.16.11.tgz",
|
"resolved": "https://registry.npmjs.org/@types/node/-/node-22.9.0.tgz",
|
||||||
"integrity": "sha512-y+cTCACu92FyA5fgQSAI8A1H429g7aSK2HsO7K4XYUWc4dY5IUz55JSDIYT6/VsOLfGy8vmvQYC2hfb0iF16Uw==",
|
"integrity": "sha512-vuyHg81vvWA1Z1ELfvLko2c8f34gyA0zaic0+Rllc5lbCnbSyuvb2Oxpm6TAUAC/2xZN3QGqxBNggD1nNR2AfQ==",
|
||||||
"dev": true,
|
"dev": true,
|
||||||
"license": "MIT",
|
"license": "MIT",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"undici-types": "~6.19.2"
|
"undici-types": "~6.19.8"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/@types/normalize-package-data": {
|
"node_modules/@types/normalize-package-data": {
|
||||||
@@ -1394,17 +1397,17 @@
|
|||||||
"dev": true
|
"dev": true
|
||||||
},
|
},
|
||||||
"node_modules/@typescript-eslint/eslint-plugin": {
|
"node_modules/@typescript-eslint/eslint-plugin": {
|
||||||
"version": "8.8.1",
|
"version": "8.12.2",
|
||||||
"resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-8.8.1.tgz",
|
"resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-8.12.2.tgz",
|
||||||
"integrity": "sha512-xfvdgA8AP/vxHgtgU310+WBnLB4uJQ9XdyP17RebG26rLtDrQJV3ZYrcopX91GrHmMoH8bdSwMRh2a//TiJ1jQ==",
|
"integrity": "sha512-gQxbxM8mcxBwaEmWdtLCIGLfixBMHhQjBqR8sVWNTPpcj45WlYL2IObS/DNMLH1DBP0n8qz+aiiLTGfopPEebw==",
|
||||||
"dev": true,
|
"dev": true,
|
||||||
"license": "MIT",
|
"license": "MIT",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"@eslint-community/regexpp": "^4.10.0",
|
"@eslint-community/regexpp": "^4.10.0",
|
||||||
"@typescript-eslint/scope-manager": "8.8.1",
|
"@typescript-eslint/scope-manager": "8.12.2",
|
||||||
"@typescript-eslint/type-utils": "8.8.1",
|
"@typescript-eslint/type-utils": "8.12.2",
|
||||||
"@typescript-eslint/utils": "8.8.1",
|
"@typescript-eslint/utils": "8.12.2",
|
||||||
"@typescript-eslint/visitor-keys": "8.8.1",
|
"@typescript-eslint/visitor-keys": "8.12.2",
|
||||||
"graphemer": "^1.4.0",
|
"graphemer": "^1.4.0",
|
||||||
"ignore": "^5.3.1",
|
"ignore": "^5.3.1",
|
||||||
"natural-compare": "^1.4.0",
|
"natural-compare": "^1.4.0",
|
||||||
@@ -1428,16 +1431,16 @@
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/@typescript-eslint/parser": {
|
"node_modules/@typescript-eslint/parser": {
|
||||||
"version": "8.8.1",
|
"version": "8.12.2",
|
||||||
"resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-8.8.1.tgz",
|
"resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-8.12.2.tgz",
|
||||||
"integrity": "sha512-hQUVn2Lij2NAxVFEdvIGxT9gP1tq2yM83m+by3whWFsWC+1y8pxxxHUFE1UqDu2VsGi2i6RLcv4QvouM84U+ow==",
|
"integrity": "sha512-MrvlXNfGPLH3Z+r7Tk+Z5moZAc0dzdVjTgUgwsdGweH7lydysQsnSww3nAmsq8blFuRD5VRlAr9YdEFw3e6PBw==",
|
||||||
"dev": true,
|
"dev": true,
|
||||||
"license": "BSD-2-Clause",
|
"license": "BSD-2-Clause",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"@typescript-eslint/scope-manager": "8.8.1",
|
"@typescript-eslint/scope-manager": "8.12.2",
|
||||||
"@typescript-eslint/types": "8.8.1",
|
"@typescript-eslint/types": "8.12.2",
|
||||||
"@typescript-eslint/typescript-estree": "8.8.1",
|
"@typescript-eslint/typescript-estree": "8.12.2",
|
||||||
"@typescript-eslint/visitor-keys": "8.8.1",
|
"@typescript-eslint/visitor-keys": "8.12.2",
|
||||||
"debug": "^4.3.4"
|
"debug": "^4.3.4"
|
||||||
},
|
},
|
||||||
"engines": {
|
"engines": {
|
||||||
@@ -1457,14 +1460,14 @@
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/@typescript-eslint/scope-manager": {
|
"node_modules/@typescript-eslint/scope-manager": {
|
||||||
"version": "8.8.1",
|
"version": "8.12.2",
|
||||||
"resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-8.8.1.tgz",
|
"resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-8.12.2.tgz",
|
||||||
"integrity": "sha512-X4JdU+66Mazev/J0gfXlcC/dV6JI37h+93W9BRYXrSn0hrE64IoWgVkO9MSJgEzoWkxONgaQpICWg8vAN74wlA==",
|
"integrity": "sha512-gPLpLtrj9aMHOvxJkSbDBmbRuYdtiEbnvO25bCMza3DhMjTQw0u7Y1M+YR5JPbMsXXnSPuCf5hfq0nEkQDL/JQ==",
|
||||||
"dev": true,
|
"dev": true,
|
||||||
"license": "MIT",
|
"license": "MIT",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"@typescript-eslint/types": "8.8.1",
|
"@typescript-eslint/types": "8.12.2",
|
||||||
"@typescript-eslint/visitor-keys": "8.8.1"
|
"@typescript-eslint/visitor-keys": "8.12.2"
|
||||||
},
|
},
|
||||||
"engines": {
|
"engines": {
|
||||||
"node": "^18.18.0 || ^20.9.0 || >=21.1.0"
|
"node": "^18.18.0 || ^20.9.0 || >=21.1.0"
|
||||||
@@ -1475,14 +1478,14 @@
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/@typescript-eslint/type-utils": {
|
"node_modules/@typescript-eslint/type-utils": {
|
||||||
"version": "8.8.1",
|
"version": "8.12.2",
|
||||||
"resolved": "https://registry.npmjs.org/@typescript-eslint/type-utils/-/type-utils-8.8.1.tgz",
|
"resolved": "https://registry.npmjs.org/@typescript-eslint/type-utils/-/type-utils-8.12.2.tgz",
|
||||||
"integrity": "sha512-qSVnpcbLP8CALORf0za+vjLYj1Wp8HSoiI8zYU5tHxRVj30702Z1Yw4cLwfNKhTPWp5+P+k1pjmD5Zd1nhxiZA==",
|
"integrity": "sha512-bwuU4TAogPI+1q/IJSKuD4shBLc/d2vGcRT588q+jzayQyjVK2X6v/fbR4InY2U2sgf8MEvVCqEWUzYzgBNcGQ==",
|
||||||
"dev": true,
|
"dev": true,
|
||||||
"license": "MIT",
|
"license": "MIT",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"@typescript-eslint/typescript-estree": "8.8.1",
|
"@typescript-eslint/typescript-estree": "8.12.2",
|
||||||
"@typescript-eslint/utils": "8.8.1",
|
"@typescript-eslint/utils": "8.12.2",
|
||||||
"debug": "^4.3.4",
|
"debug": "^4.3.4",
|
||||||
"ts-api-utils": "^1.3.0"
|
"ts-api-utils": "^1.3.0"
|
||||||
},
|
},
|
||||||
@@ -1500,9 +1503,9 @@
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/@typescript-eslint/types": {
|
"node_modules/@typescript-eslint/types": {
|
||||||
"version": "8.8.1",
|
"version": "8.12.2",
|
||||||
"resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-8.8.1.tgz",
|
"resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-8.12.2.tgz",
|
||||||
"integrity": "sha512-WCcTP4SDXzMd23N27u66zTKMuEevH4uzU8C9jf0RO4E04yVHgQgW+r+TeVTNnO1KIfrL8ebgVVYYMMO3+jC55Q==",
|
"integrity": "sha512-VwDwMF1SZ7wPBUZwmMdnDJ6sIFk4K4s+ALKLP6aIQsISkPv8jhiw65sAK6SuWODN/ix+m+HgbYDkH+zLjrzvOA==",
|
||||||
"dev": true,
|
"dev": true,
|
||||||
"license": "MIT",
|
"license": "MIT",
|
||||||
"engines": {
|
"engines": {
|
||||||
@@ -1514,14 +1517,14 @@
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/@typescript-eslint/typescript-estree": {
|
"node_modules/@typescript-eslint/typescript-estree": {
|
||||||
"version": "8.8.1",
|
"version": "8.12.2",
|
||||||
"resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-8.8.1.tgz",
|
"resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-8.12.2.tgz",
|
||||||
"integrity": "sha512-A5d1R9p+X+1js4JogdNilDuuq+EHZdsH9MjTVxXOdVFfTJXunKJR/v+fNNyO4TnoOn5HqobzfRlc70NC6HTcdg==",
|
"integrity": "sha512-mME5MDwGe30Pq9zKPvyduyU86PH7aixwqYR2grTglAdB+AN8xXQ1vFGpYaUSJ5o5P/5znsSBeNcs5g5/2aQwow==",
|
||||||
"dev": true,
|
"dev": true,
|
||||||
"license": "BSD-2-Clause",
|
"license": "BSD-2-Clause",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"@typescript-eslint/types": "8.8.1",
|
"@typescript-eslint/types": "8.12.2",
|
||||||
"@typescript-eslint/visitor-keys": "8.8.1",
|
"@typescript-eslint/visitor-keys": "8.12.2",
|
||||||
"debug": "^4.3.4",
|
"debug": "^4.3.4",
|
||||||
"fast-glob": "^3.3.2",
|
"fast-glob": "^3.3.2",
|
||||||
"is-glob": "^4.0.3",
|
"is-glob": "^4.0.3",
|
||||||
@@ -1543,16 +1546,16 @@
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/@typescript-eslint/utils": {
|
"node_modules/@typescript-eslint/utils": {
|
||||||
"version": "8.8.1",
|
"version": "8.12.2",
|
||||||
"resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-8.8.1.tgz",
|
"resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-8.12.2.tgz",
|
||||||
"integrity": "sha512-/QkNJDbV0bdL7H7d0/y0qBbV2HTtf0TIyjSDTvvmQEzeVx8jEImEbLuOA4EsvE8gIgqMitns0ifb5uQhMj8d9w==",
|
"integrity": "sha512-UTTuDIX3fkfAz6iSVa5rTuSfWIYZ6ATtEocQ/umkRSyC9O919lbZ8dcH7mysshrCdrAM03skJOEYaBugxN+M6A==",
|
||||||
"dev": true,
|
"dev": true,
|
||||||
"license": "MIT",
|
"license": "MIT",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"@eslint-community/eslint-utils": "^4.4.0",
|
"@eslint-community/eslint-utils": "^4.4.0",
|
||||||
"@typescript-eslint/scope-manager": "8.8.1",
|
"@typescript-eslint/scope-manager": "8.12.2",
|
||||||
"@typescript-eslint/types": "8.8.1",
|
"@typescript-eslint/types": "8.12.2",
|
||||||
"@typescript-eslint/typescript-estree": "8.8.1"
|
"@typescript-eslint/typescript-estree": "8.12.2"
|
||||||
},
|
},
|
||||||
"engines": {
|
"engines": {
|
||||||
"node": "^18.18.0 || ^20.9.0 || >=21.1.0"
|
"node": "^18.18.0 || ^20.9.0 || >=21.1.0"
|
||||||
@@ -1566,13 +1569,13 @@
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/@typescript-eslint/visitor-keys": {
|
"node_modules/@typescript-eslint/visitor-keys": {
|
||||||
"version": "8.8.1",
|
"version": "8.12.2",
|
||||||
"resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-8.8.1.tgz",
|
"resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-8.12.2.tgz",
|
||||||
"integrity": "sha512-0/TdC3aeRAsW7MDvYRwEc1Uwm0TIBfzjPFgg60UU2Haj5qsCs9cc3zNgY71edqE3LbWfF/WoZQd3lJoDXFQpag==",
|
"integrity": "sha512-PChz8UaKQAVNHghsHcPyx1OMHoFRUEA7rJSK/mDhdq85bk+PLsUHUBqTQTFt18VJZbmxBovM65fezlheQRsSDA==",
|
||||||
"dev": true,
|
"dev": true,
|
||||||
"license": "MIT",
|
"license": "MIT",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"@typescript-eslint/types": "8.8.1",
|
"@typescript-eslint/types": "8.12.2",
|
||||||
"eslint-visitor-keys": "^3.4.3"
|
"eslint-visitor-keys": "^3.4.3"
|
||||||
},
|
},
|
||||||
"engines": {
|
"engines": {
|
||||||
@@ -1584,21 +1587,21 @@
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/@vitest/coverage-v8": {
|
"node_modules/@vitest/coverage-v8": {
|
||||||
"version": "2.1.2",
|
"version": "2.1.4",
|
||||||
"resolved": "https://registry.npmjs.org/@vitest/coverage-v8/-/coverage-v8-2.1.2.tgz",
|
"resolved": "https://registry.npmjs.org/@vitest/coverage-v8/-/coverage-v8-2.1.4.tgz",
|
||||||
"integrity": "sha512-b7kHrFrs2urS0cOk5N10lttI8UdJ/yP3nB4JYTREvR5o18cR99yPpK4gK8oQgI42BVv0ILWYUSYB7AXkAUDc0g==",
|
"integrity": "sha512-FPKQuJfR6VTfcNMcGpqInmtJuVXFSCd9HQltYncfR01AzXhLucMEtQ5SinPdZxsT5x/5BK7I5qFJ5/ApGCmyTQ==",
|
||||||
"dev": true,
|
"dev": true,
|
||||||
"license": "MIT",
|
"license": "MIT",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"@ampproject/remapping": "^2.3.0",
|
"@ampproject/remapping": "^2.3.0",
|
||||||
"@bcoe/v8-coverage": "^0.2.3",
|
"@bcoe/v8-coverage": "^0.2.3",
|
||||||
"debug": "^4.3.6",
|
"debug": "^4.3.7",
|
||||||
"istanbul-lib-coverage": "^3.2.2",
|
"istanbul-lib-coverage": "^3.2.2",
|
||||||
"istanbul-lib-report": "^3.0.1",
|
"istanbul-lib-report": "^3.0.1",
|
||||||
"istanbul-lib-source-maps": "^5.0.6",
|
"istanbul-lib-source-maps": "^5.0.6",
|
||||||
"istanbul-reports": "^3.1.7",
|
"istanbul-reports": "^3.1.7",
|
||||||
"magic-string": "^0.30.11",
|
"magic-string": "^0.30.12",
|
||||||
"magicast": "^0.3.4",
|
"magicast": "^0.3.5",
|
||||||
"std-env": "^3.7.0",
|
"std-env": "^3.7.0",
|
||||||
"test-exclude": "^7.0.1",
|
"test-exclude": "^7.0.1",
|
||||||
"tinyrainbow": "^1.2.0"
|
"tinyrainbow": "^1.2.0"
|
||||||
@@ -1607,8 +1610,8 @@
|
|||||||
"url": "https://opencollective.com/vitest"
|
"url": "https://opencollective.com/vitest"
|
||||||
},
|
},
|
||||||
"peerDependencies": {
|
"peerDependencies": {
|
||||||
"@vitest/browser": "2.1.2",
|
"@vitest/browser": "2.1.4",
|
||||||
"vitest": "2.1.2"
|
"vitest": "2.1.4"
|
||||||
},
|
},
|
||||||
"peerDependenciesMeta": {
|
"peerDependenciesMeta": {
|
||||||
"@vitest/browser": {
|
"@vitest/browser": {
|
||||||
@@ -1617,15 +1620,15 @@
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/@vitest/expect": {
|
"node_modules/@vitest/expect": {
|
||||||
"version": "2.1.2",
|
"version": "2.1.4",
|
||||||
"resolved": "https://registry.npmjs.org/@vitest/expect/-/expect-2.1.2.tgz",
|
"resolved": "https://registry.npmjs.org/@vitest/expect/-/expect-2.1.4.tgz",
|
||||||
"integrity": "sha512-FEgtlN8mIUSEAAnlvn7mP8vzaWhEaAEvhSXCqrsijM7K6QqjB11qoRZYEd4AKSCDz8p0/+yH5LzhZ47qt+EyPg==",
|
"integrity": "sha512-DOETT0Oh1avie/D/o2sgMHGrzYUFFo3zqESB2Hn70z6QB1HrS2IQ9z5DfyTqU8sg4Bpu13zZe9V4+UTNQlUeQA==",
|
||||||
"dev": true,
|
"dev": true,
|
||||||
"license": "MIT",
|
"license": "MIT",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"@vitest/spy": "2.1.2",
|
"@vitest/spy": "2.1.4",
|
||||||
"@vitest/utils": "2.1.2",
|
"@vitest/utils": "2.1.4",
|
||||||
"chai": "^5.1.1",
|
"chai": "^5.1.2",
|
||||||
"tinyrainbow": "^1.2.0"
|
"tinyrainbow": "^1.2.0"
|
||||||
},
|
},
|
||||||
"funding": {
|
"funding": {
|
||||||
@@ -1633,22 +1636,21 @@
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/@vitest/mocker": {
|
"node_modules/@vitest/mocker": {
|
||||||
"version": "2.1.2",
|
"version": "2.1.4",
|
||||||
"resolved": "https://registry.npmjs.org/@vitest/mocker/-/mocker-2.1.2.tgz",
|
"resolved": "https://registry.npmjs.org/@vitest/mocker/-/mocker-2.1.4.tgz",
|
||||||
"integrity": "sha512-ExElkCGMS13JAJy+812fw1aCv2QO/LBK6CyO4WOPAzLTmve50gydOlWhgdBJPx2ztbADUq3JVI0C5U+bShaeEA==",
|
"integrity": "sha512-Ky/O1Lc0QBbutJdW0rqLeFNbuLEyS+mIPiNdlVlp2/yhJ0SbyYqObS5IHdhferJud8MbbwMnexg4jordE5cCoQ==",
|
||||||
"dev": true,
|
"dev": true,
|
||||||
"license": "MIT",
|
"license": "MIT",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"@vitest/spy": "^2.1.0-beta.1",
|
"@vitest/spy": "2.1.4",
|
||||||
"estree-walker": "^3.0.3",
|
"estree-walker": "^3.0.3",
|
||||||
"magic-string": "^0.30.11"
|
"magic-string": "^0.30.12"
|
||||||
},
|
},
|
||||||
"funding": {
|
"funding": {
|
||||||
"url": "https://opencollective.com/vitest"
|
"url": "https://opencollective.com/vitest"
|
||||||
},
|
},
|
||||||
"peerDependencies": {
|
"peerDependencies": {
|
||||||
"@vitest/spy": "2.1.2",
|
"msw": "^2.4.9",
|
||||||
"msw": "^2.3.5",
|
|
||||||
"vite": "^5.0.0"
|
"vite": "^5.0.0"
|
||||||
},
|
},
|
||||||
"peerDependenciesMeta": {
|
"peerDependenciesMeta": {
|
||||||
@@ -1661,9 +1663,9 @@
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/@vitest/pretty-format": {
|
"node_modules/@vitest/pretty-format": {
|
||||||
"version": "2.1.2",
|
"version": "2.1.4",
|
||||||
"resolved": "https://registry.npmjs.org/@vitest/pretty-format/-/pretty-format-2.1.2.tgz",
|
"resolved": "https://registry.npmjs.org/@vitest/pretty-format/-/pretty-format-2.1.4.tgz",
|
||||||
"integrity": "sha512-FIoglbHrSUlOJPDGIrh2bjX1sNars5HbxlcsFKCtKzu4+5lpsRhOCVcuzp0fEhAGHkPZRIXVNzPcpSlkoZ3LuA==",
|
"integrity": "sha512-L95zIAkEuTDbUX1IsjRl+vyBSLh3PwLLgKpghl37aCK9Jvw0iP+wKwIFhfjdUtA2myLgjrG6VU6JCFLv8q/3Ww==",
|
||||||
"dev": true,
|
"dev": true,
|
||||||
"license": "MIT",
|
"license": "MIT",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
@@ -1674,13 +1676,13 @@
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/@vitest/runner": {
|
"node_modules/@vitest/runner": {
|
||||||
"version": "2.1.2",
|
"version": "2.1.4",
|
||||||
"resolved": "https://registry.npmjs.org/@vitest/runner/-/runner-2.1.2.tgz",
|
"resolved": "https://registry.npmjs.org/@vitest/runner/-/runner-2.1.4.tgz",
|
||||||
"integrity": "sha512-UCsPtvluHO3u7jdoONGjOSil+uON5SSvU9buQh3lP7GgUXHp78guN1wRmZDX4wGK6J10f9NUtP6pO+SFquoMlw==",
|
"integrity": "sha512-sKRautINI9XICAMl2bjxQM8VfCMTB0EbsBc/EDFA57V6UQevEKY/TOPOF5nzcvCALltiLfXWbq4MaAwWx/YxIA==",
|
||||||
"dev": true,
|
"dev": true,
|
||||||
"license": "MIT",
|
"license": "MIT",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"@vitest/utils": "2.1.2",
|
"@vitest/utils": "2.1.4",
|
||||||
"pathe": "^1.1.2"
|
"pathe": "^1.1.2"
|
||||||
},
|
},
|
||||||
"funding": {
|
"funding": {
|
||||||
@@ -1688,14 +1690,14 @@
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/@vitest/snapshot": {
|
"node_modules/@vitest/snapshot": {
|
||||||
"version": "2.1.2",
|
"version": "2.1.4",
|
||||||
"resolved": "https://registry.npmjs.org/@vitest/snapshot/-/snapshot-2.1.2.tgz",
|
"resolved": "https://registry.npmjs.org/@vitest/snapshot/-/snapshot-2.1.4.tgz",
|
||||||
"integrity": "sha512-xtAeNsZ++aRIYIUsek7VHzry/9AcxeULlegBvsdLncLmNCR6tR8SRjn8BbDP4naxtccvzTqZ+L1ltZlRCfBZFA==",
|
"integrity": "sha512-3Kab14fn/5QZRog5BPj6Rs8dc4B+mim27XaKWFWHWA87R56AKjHTGcBFKpvZKDzC4u5Wd0w/qKsUIio3KzWW4Q==",
|
||||||
"dev": true,
|
"dev": true,
|
||||||
"license": "MIT",
|
"license": "MIT",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"@vitest/pretty-format": "2.1.2",
|
"@vitest/pretty-format": "2.1.4",
|
||||||
"magic-string": "^0.30.11",
|
"magic-string": "^0.30.12",
|
||||||
"pathe": "^1.1.2"
|
"pathe": "^1.1.2"
|
||||||
},
|
},
|
||||||
"funding": {
|
"funding": {
|
||||||
@@ -1703,27 +1705,27 @@
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/@vitest/spy": {
|
"node_modules/@vitest/spy": {
|
||||||
"version": "2.1.2",
|
"version": "2.1.4",
|
||||||
"resolved": "https://registry.npmjs.org/@vitest/spy/-/spy-2.1.2.tgz",
|
"resolved": "https://registry.npmjs.org/@vitest/spy/-/spy-2.1.4.tgz",
|
||||||
"integrity": "sha512-GSUi5zoy+abNRJwmFhBDC0yRuVUn8WMlQscvnbbXdKLXX9dE59YbfwXxuJ/mth6eeqIzofU8BB5XDo/Ns/qK2A==",
|
"integrity": "sha512-4JOxa+UAizJgpZfaCPKK2smq9d8mmjZVPMt2kOsg/R8QkoRzydHH1qHxIYNvr1zlEaFj4SXiaaJWxq/LPLKaLg==",
|
||||||
"dev": true,
|
"dev": true,
|
||||||
"license": "MIT",
|
"license": "MIT",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"tinyspy": "^3.0.0"
|
"tinyspy": "^3.0.2"
|
||||||
},
|
},
|
||||||
"funding": {
|
"funding": {
|
||||||
"url": "https://opencollective.com/vitest"
|
"url": "https://opencollective.com/vitest"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/@vitest/utils": {
|
"node_modules/@vitest/utils": {
|
||||||
"version": "2.1.2",
|
"version": "2.1.4",
|
||||||
"resolved": "https://registry.npmjs.org/@vitest/utils/-/utils-2.1.2.tgz",
|
"resolved": "https://registry.npmjs.org/@vitest/utils/-/utils-2.1.4.tgz",
|
||||||
"integrity": "sha512-zMO2KdYy6mx56btx9JvAqAZ6EyS3g49krMPPrgOp1yxGZiA93HumGk+bZ5jIZtOg5/VBYl5eBmGRQHqq4FG6uQ==",
|
"integrity": "sha512-MXDnZn0Awl2S86PSNIim5PWXgIAx8CIkzu35mBdSApUip6RFOGXBCf3YFyeEu8n1IHk4bWD46DeYFu9mQlFIRg==",
|
||||||
"dev": true,
|
"dev": true,
|
||||||
"license": "MIT",
|
"license": "MIT",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"@vitest/pretty-format": "2.1.2",
|
"@vitest/pretty-format": "2.1.4",
|
||||||
"loupe": "^3.1.1",
|
"loupe": "^3.1.2",
|
||||||
"tinyrainbow": "^1.2.0"
|
"tinyrainbow": "^1.2.0"
|
||||||
},
|
},
|
||||||
"funding": {
|
"funding": {
|
||||||
@@ -1930,9 +1932,9 @@
|
|||||||
]
|
]
|
||||||
},
|
},
|
||||||
"node_modules/chai": {
|
"node_modules/chai": {
|
||||||
"version": "5.1.1",
|
"version": "5.1.2",
|
||||||
"resolved": "https://registry.npmjs.org/chai/-/chai-5.1.1.tgz",
|
"resolved": "https://registry.npmjs.org/chai/-/chai-5.1.2.tgz",
|
||||||
"integrity": "sha512-pT1ZgP8rPNqUgieVaEY+ryQr6Q4HXNg8Ei9UnLUrjN4IA7dvQC5JB+/kxVcPNDHyBcc/26CXPkbNzq3qwrOEKA==",
|
"integrity": "sha512-aGtmf24DW6MLHHG5gCx4zaI3uBq3KRtxeVs0DjFH6Z0rDNbsvTxFASFvdj79pxjxZ8/5u3PIiN3IwEIQkiiuPw==",
|
||||||
"dev": true,
|
"dev": true,
|
||||||
"license": "MIT",
|
"license": "MIT",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
@@ -2067,15 +2069,6 @@
|
|||||||
"url": "https://opencollective.com/core-js"
|
"url": "https://opencollective.com/core-js"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/cross-fetch": {
|
|
||||||
"version": "4.0.0",
|
|
||||||
"resolved": "https://registry.npmjs.org/cross-fetch/-/cross-fetch-4.0.0.tgz",
|
|
||||||
"integrity": "sha512-e4a5N8lVvuLgAWgnCrLr2PP0YyDOTHa9H/Rj54dirp61qXnNq46m82bRhNqIA5VccJtWBvPTFRV3TtvHUKPB1g==",
|
|
||||||
"dev": true,
|
|
||||||
"dependencies": {
|
|
||||||
"node-fetch": "^2.6.12"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"node_modules/cross-spawn": {
|
"node_modules/cross-spawn": {
|
||||||
"version": "7.0.3",
|
"version": "7.0.3",
|
||||||
"resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.3.tgz",
|
"resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.3.tgz",
|
||||||
@@ -2091,12 +2084,13 @@
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/debug": {
|
"node_modules/debug": {
|
||||||
"version": "4.3.6",
|
"version": "4.3.7",
|
||||||
"resolved": "https://registry.npmjs.org/debug/-/debug-4.3.6.tgz",
|
"resolved": "https://registry.npmjs.org/debug/-/debug-4.3.7.tgz",
|
||||||
"integrity": "sha512-O/09Bd4Z1fBrU4VzkhFqVgpPzaGbw6Sm9FEkBT1A/YBXQFGuuSxa1dN2nxgxS34JmKXqYx8CZAwEVoJFImUXIg==",
|
"integrity": "sha512-Er2nc/H7RrMXZBFCEim6TCmMk02Z8vLC2Rbi1KEBggpo0fS6l0S1nnapwmIi3yW/+GOJap1Krg4w0Hg80oCqgQ==",
|
||||||
"dev": true,
|
"dev": true,
|
||||||
|
"license": "MIT",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"ms": "2.1.2"
|
"ms": "^2.1.3"
|
||||||
},
|
},
|
||||||
"engines": {
|
"engines": {
|
||||||
"node": ">=6.0"
|
"node": ">=6.0"
|
||||||
@@ -2211,18 +2205,18 @@
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/eslint": {
|
"node_modules/eslint": {
|
||||||
"version": "9.12.0",
|
"version": "9.13.0",
|
||||||
"resolved": "https://registry.npmjs.org/eslint/-/eslint-9.12.0.tgz",
|
"resolved": "https://registry.npmjs.org/eslint/-/eslint-9.13.0.tgz",
|
||||||
"integrity": "sha512-UVIOlTEWxwIopRL1wgSQYdnVDcEvs2wyaO6DGo5mXqe3r16IoCNWkR29iHhyaP4cICWjbgbmFUGAhh0GJRuGZw==",
|
"integrity": "sha512-EYZK6SX6zjFHST/HRytOdA/zE72Cq/bfw45LSyuwrdvcclb/gqV8RRQxywOBEWO2+WDpva6UZa4CcDeJKzUCFA==",
|
||||||
"dev": true,
|
"dev": true,
|
||||||
"license": "MIT",
|
"license": "MIT",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"@eslint-community/eslint-utils": "^4.2.0",
|
"@eslint-community/eslint-utils": "^4.2.0",
|
||||||
"@eslint-community/regexpp": "^4.11.0",
|
"@eslint-community/regexpp": "^4.11.0",
|
||||||
"@eslint/config-array": "^0.18.0",
|
"@eslint/config-array": "^0.18.0",
|
||||||
"@eslint/core": "^0.6.0",
|
"@eslint/core": "^0.7.0",
|
||||||
"@eslint/eslintrc": "^3.1.0",
|
"@eslint/eslintrc": "^3.1.0",
|
||||||
"@eslint/js": "9.12.0",
|
"@eslint/js": "9.13.0",
|
||||||
"@eslint/plugin-kit": "^0.2.0",
|
"@eslint/plugin-kit": "^0.2.0",
|
||||||
"@humanfs/node": "^0.16.5",
|
"@humanfs/node": "^0.16.5",
|
||||||
"@humanwhocodes/module-importer": "^1.0.1",
|
"@humanwhocodes/module-importer": "^1.0.1",
|
||||||
@@ -2396,9 +2390,9 @@
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/eslint/node_modules/eslint-visitor-keys": {
|
"node_modules/eslint/node_modules/eslint-visitor-keys": {
|
||||||
"version": "4.1.0",
|
"version": "4.2.0",
|
||||||
"resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-4.1.0.tgz",
|
"resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-4.2.0.tgz",
|
||||||
"integrity": "sha512-Q7lok0mqMUSf5a/AdAZkA5a/gHcO6snwQClVNNvFKCAVlxXucdU8pKydU5ZVZjBx5xr37vGbFFWtLQYreLzrZg==",
|
"integrity": "sha512-UyLnSehNt62FFhSwjZlHmeokpRK59rcz29j+F1/aDgbkbRTk7wIc9XzdoasMUbRNKDM0qQt/+BJ4BrpFeABemw==",
|
||||||
"dev": true,
|
"dev": true,
|
||||||
"license": "Apache-2.0",
|
"license": "Apache-2.0",
|
||||||
"engines": {
|
"engines": {
|
||||||
@@ -2505,6 +2499,16 @@
|
|||||||
"node": ">=0.10.0"
|
"node": ">=0.10.0"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
"node_modules/expect-type": {
|
||||||
|
"version": "1.1.0",
|
||||||
|
"resolved": "https://registry.npmjs.org/expect-type/-/expect-type-1.1.0.tgz",
|
||||||
|
"integrity": "sha512-bFi65yM+xZgk+u/KRIpekdSYkTB5W1pEf0Lt8Q8Msh7b+eQ7LXVtIB1Bkm4fvclDEL1b2CZkMhv2mOeF8tMdkA==",
|
||||||
|
"dev": true,
|
||||||
|
"license": "Apache-2.0",
|
||||||
|
"engines": {
|
||||||
|
"node": ">=12.0.0"
|
||||||
|
}
|
||||||
|
},
|
||||||
"node_modules/fast-deep-equal": {
|
"node_modules/fast-deep-equal": {
|
||||||
"version": "3.1.3",
|
"version": "3.1.3",
|
||||||
"resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz",
|
"resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz",
|
||||||
@@ -3061,22 +3065,24 @@
|
|||||||
"dev": true
|
"dev": true
|
||||||
},
|
},
|
||||||
"node_modules/magic-string": {
|
"node_modules/magic-string": {
|
||||||
"version": "0.30.11",
|
"version": "0.30.12",
|
||||||
"resolved": "https://registry.npmjs.org/magic-string/-/magic-string-0.30.11.tgz",
|
"resolved": "https://registry.npmjs.org/magic-string/-/magic-string-0.30.12.tgz",
|
||||||
"integrity": "sha512-+Wri9p0QHMy+545hKww7YAu5NyzF8iomPL/RQazugQ9+Ez4Ic3mERMd8ZTX5rfK944j+560ZJi8iAwgak1Ac7A==",
|
"integrity": "sha512-Ea8I3sQMVXr8JhN4z+H/d8zwo+tYDgHE9+5G4Wnrwhs0gaK9fXTKx0Tw5Xwsd/bCPTTZNRAdpyzvoeORe9LYpw==",
|
||||||
"dev": true,
|
"dev": true,
|
||||||
|
"license": "MIT",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"@jridgewell/sourcemap-codec": "^1.5.0"
|
"@jridgewell/sourcemap-codec": "^1.5.0"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/magicast": {
|
"node_modules/magicast": {
|
||||||
"version": "0.3.4",
|
"version": "0.3.5",
|
||||||
"resolved": "https://registry.npmjs.org/magicast/-/magicast-0.3.4.tgz",
|
"resolved": "https://registry.npmjs.org/magicast/-/magicast-0.3.5.tgz",
|
||||||
"integrity": "sha512-TyDF/Pn36bBji9rWKHlZe+PZb6Mx5V8IHCSxk7X4aljM4e/vyDvZZYwHewdVaqiA0nb3ghfHU/6AUpDxWoER2Q==",
|
"integrity": "sha512-L0WhttDl+2BOsybvEOLK7fW3UA0OQ0IQ2d6Zl2x/a6vVRs3bAY0ECOSHHeL5jD+SbOpOCUEi0y1DgHEn9Qn1AQ==",
|
||||||
"dev": true,
|
"dev": true,
|
||||||
|
"license": "MIT",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"@babel/parser": "^7.24.4",
|
"@babel/parser": "^7.25.4",
|
||||||
"@babel/types": "^7.24.0",
|
"@babel/types": "^7.25.4",
|
||||||
"source-map-js": "^1.2.0"
|
"source-map-js": "^1.2.0"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
@@ -3150,9 +3156,9 @@
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/mock-fs": {
|
"node_modules/mock-fs": {
|
||||||
"version": "5.3.0",
|
"version": "5.4.1",
|
||||||
"resolved": "https://registry.npmjs.org/mock-fs/-/mock-fs-5.3.0.tgz",
|
"resolved": "https://registry.npmjs.org/mock-fs/-/mock-fs-5.4.1.tgz",
|
||||||
"integrity": "sha512-IMvz1X+RF7vf+ur7qUenXMR7/FSKSIqS3HqFHXcyNI7G0FbpFO8L5lfsUJhl+bhK1AiulVHWKUSxebWauPA+xQ==",
|
"integrity": "sha512-sz/Q8K1gXXXHR+qr0GZg2ysxCRr323kuN10O7CtQjraJsFDJ4SJ+0I5MzALz7aRp9lHk8Cc/YdsT95h9Ka1aFw==",
|
||||||
"dev": true,
|
"dev": true,
|
||||||
"license": "MIT",
|
"license": "MIT",
|
||||||
"engines": {
|
"engines": {
|
||||||
@@ -3160,10 +3166,11 @@
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/ms": {
|
"node_modules/ms": {
|
||||||
"version": "2.1.2",
|
"version": "2.1.3",
|
||||||
"resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz",
|
"resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz",
|
||||||
"integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==",
|
"integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==",
|
||||||
"dev": true
|
"dev": true,
|
||||||
|
"license": "MIT"
|
||||||
},
|
},
|
||||||
"node_modules/nanoid": {
|
"node_modules/nanoid": {
|
||||||
"version": "3.3.7",
|
"version": "3.3.7",
|
||||||
@@ -3189,26 +3196,6 @@
|
|||||||
"integrity": "sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw==",
|
"integrity": "sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw==",
|
||||||
"dev": true
|
"dev": true
|
||||||
},
|
},
|
||||||
"node_modules/node-fetch": {
|
|
||||||
"version": "2.7.0",
|
|
||||||
"resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-2.7.0.tgz",
|
|
||||||
"integrity": "sha512-c4FRfUm/dbcWZ7U+1Wq0AwCyFL+3nt2bEw05wfxSz+DWpWsitgmSgYmy2dQdWyKC1694ELPqMs/YzUSNozLt8A==",
|
|
||||||
"dev": true,
|
|
||||||
"dependencies": {
|
|
||||||
"whatwg-url": "^5.0.0"
|
|
||||||
},
|
|
||||||
"engines": {
|
|
||||||
"node": "4.x || >=6.0.0"
|
|
||||||
},
|
|
||||||
"peerDependencies": {
|
|
||||||
"encoding": "^0.1.0"
|
|
||||||
},
|
|
||||||
"peerDependenciesMeta": {
|
|
||||||
"encoding": {
|
|
||||||
"optional": true
|
|
||||||
}
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"node_modules/node-releases": {
|
"node_modules/node-releases": {
|
||||||
"version": "2.0.14",
|
"version": "2.0.14",
|
||||||
"resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.14.tgz",
|
"resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.14.tgz",
|
||||||
@@ -4000,17 +3987,18 @@
|
|||||||
"license": "MIT"
|
"license": "MIT"
|
||||||
},
|
},
|
||||||
"node_modules/tinyexec": {
|
"node_modules/tinyexec": {
|
||||||
"version": "0.3.0",
|
"version": "0.3.1",
|
||||||
"resolved": "https://registry.npmjs.org/tinyexec/-/tinyexec-0.3.0.tgz",
|
"resolved": "https://registry.npmjs.org/tinyexec/-/tinyexec-0.3.1.tgz",
|
||||||
"integrity": "sha512-tVGE0mVJPGb0chKhqmsoosjsS+qUnJVGJpZgsHYQcGoPlG3B51R3PouqTgEGH2Dc9jjFyOqOpix6ZHNMXp1FZg==",
|
"integrity": "sha512-WiCJLEECkO18gwqIp6+hJg0//p23HXp4S+gGtAKu3mI2F2/sXC4FvHvXvB0zJVVaTPhx1/tOwdbRsa1sOBIKqQ==",
|
||||||
"dev": true,
|
"dev": true,
|
||||||
"license": "MIT"
|
"license": "MIT"
|
||||||
},
|
},
|
||||||
"node_modules/tinypool": {
|
"node_modules/tinypool": {
|
||||||
"version": "1.0.0",
|
"version": "1.0.1",
|
||||||
"resolved": "https://registry.npmjs.org/tinypool/-/tinypool-1.0.0.tgz",
|
"resolved": "https://registry.npmjs.org/tinypool/-/tinypool-1.0.1.tgz",
|
||||||
"integrity": "sha512-KIKExllK7jp3uvrNtvRBYBWBOAXSX8ZvoaD8T+7KB/QHIuoJW3Pmr60zucywjAlMb5TeXUkcs/MWeWLu0qvuAQ==",
|
"integrity": "sha512-URZYihUbRPcGv95En+sz6MfghfIc2OJ1sv/RmhWZLouPY0/8Vo80viwPvg3dlaS9fuq7fQMEfgRRK7BBZThBEA==",
|
||||||
"dev": true,
|
"dev": true,
|
||||||
|
"license": "MIT",
|
||||||
"engines": {
|
"engines": {
|
||||||
"node": "^18.0.0 || >=20.0.0"
|
"node": "^18.0.0 || >=20.0.0"
|
||||||
}
|
}
|
||||||
@@ -4034,15 +4022,6 @@
|
|||||||
"node": ">=14.0.0"
|
"node": ">=14.0.0"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/to-fast-properties": {
|
|
||||||
"version": "2.0.0",
|
|
||||||
"resolved": "https://registry.npmjs.org/to-fast-properties/-/to-fast-properties-2.0.0.tgz",
|
|
||||||
"integrity": "sha512-/OaKK0xYrs3DmxRYqL/yDc+FxFUVYhDlXMhRmv3z915w2HF1tnN1omB354j8VUGO/hbRzyD6Y3sA7v7GS/ceog==",
|
|
||||||
"dev": true,
|
|
||||||
"engines": {
|
|
||||||
"node": ">=4"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"node_modules/to-regex-range": {
|
"node_modules/to-regex-range": {
|
||||||
"version": "5.0.1",
|
"version": "5.0.1",
|
||||||
"resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz",
|
"resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz",
|
||||||
@@ -4054,12 +4033,6 @@
|
|||||||
"node": ">=8.0"
|
"node": ">=8.0"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/tr46": {
|
|
||||||
"version": "0.0.3",
|
|
||||||
"resolved": "https://registry.npmjs.org/tr46/-/tr46-0.0.3.tgz",
|
|
||||||
"integrity": "sha512-N3WMsuqV66lT30CrXNbEjx4GEwlow3v6rr4mCcv6prnfwhS01rkgyFdjPNBYd9br7LpXV1+Emh01fHnq2Gdgrw==",
|
|
||||||
"dev": true
|
|
||||||
},
|
|
||||||
"node_modules/ts-api-utils": {
|
"node_modules/ts-api-utils": {
|
||||||
"version": "1.3.0",
|
"version": "1.3.0",
|
||||||
"resolved": "https://registry.npmjs.org/ts-api-utils/-/ts-api-utils-1.3.0.tgz",
|
"resolved": "https://registry.npmjs.org/ts-api-utils/-/ts-api-utils-1.3.0.tgz",
|
||||||
@@ -4181,9 +4154,9 @@
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/vite": {
|
"node_modules/vite": {
|
||||||
"version": "5.4.8",
|
"version": "5.4.10",
|
||||||
"resolved": "https://registry.npmjs.org/vite/-/vite-5.4.8.tgz",
|
"resolved": "https://registry.npmjs.org/vite/-/vite-5.4.10.tgz",
|
||||||
"integrity": "sha512-FqrItQ4DT1NC4zCUqMB4c4AZORMKIa0m8/URVCZ77OZ/QSNeJ54bU1vrFADbDsuwfIPcgknRkmqakQcgnL4GiQ==",
|
"integrity": "sha512-1hvaPshuPUtxeQ0hsVH3Mud0ZanOLwVTneA1EgbAM5LhaZEqyPWGRQ7BtaMvUrTDeEaC8pxtj6a6jku3x4z6SQ==",
|
||||||
"dev": true,
|
"dev": true,
|
||||||
"license": "MIT",
|
"license": "MIT",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
@@ -4241,14 +4214,14 @@
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/vite-node": {
|
"node_modules/vite-node": {
|
||||||
"version": "2.1.2",
|
"version": "2.1.4",
|
||||||
"resolved": "https://registry.npmjs.org/vite-node/-/vite-node-2.1.2.tgz",
|
"resolved": "https://registry.npmjs.org/vite-node/-/vite-node-2.1.4.tgz",
|
||||||
"integrity": "sha512-HPcGNN5g/7I2OtPjLqgOtCRu/qhVvBxTUD3qzitmL0SrG1cWFzxzhMDWussxSbrRYWqnKf8P2jiNhPMSN+ymsQ==",
|
"integrity": "sha512-kqa9v+oi4HwkG6g8ufRnb5AeplcRw8jUF6/7/Qz1qRQOXHImG8YnLbB+LLszENwFnoBl9xIf9nVdCFzNd7GQEg==",
|
||||||
"dev": true,
|
"dev": true,
|
||||||
"license": "MIT",
|
"license": "MIT",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"cac": "^6.7.14",
|
"cac": "^6.7.14",
|
||||||
"debug": "^4.3.6",
|
"debug": "^4.3.7",
|
||||||
"pathe": "^1.1.2",
|
"pathe": "^1.1.2",
|
||||||
"vite": "^5.0.0"
|
"vite": "^5.0.0"
|
||||||
},
|
},
|
||||||
@@ -4283,30 +4256,31 @@
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/vitest": {
|
"node_modules/vitest": {
|
||||||
"version": "2.1.2",
|
"version": "2.1.4",
|
||||||
"resolved": "https://registry.npmjs.org/vitest/-/vitest-2.1.2.tgz",
|
"resolved": "https://registry.npmjs.org/vitest/-/vitest-2.1.4.tgz",
|
||||||
"integrity": "sha512-veNjLizOMkRrJ6xxb+pvxN6/QAWg95mzcRjtmkepXdN87FNfxAss9RKe2far/G9cQpipfgP2taqg0KiWsquj8A==",
|
"integrity": "sha512-eDjxbVAJw1UJJCHr5xr/xM86Zx+YxIEXGAR+bmnEID7z9qWfoxpHw0zdobz+TQAFOLT+nEXz3+gx6nUJ7RgmlQ==",
|
||||||
"dev": true,
|
"dev": true,
|
||||||
"license": "MIT",
|
"license": "MIT",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"@vitest/expect": "2.1.2",
|
"@vitest/expect": "2.1.4",
|
||||||
"@vitest/mocker": "2.1.2",
|
"@vitest/mocker": "2.1.4",
|
||||||
"@vitest/pretty-format": "^2.1.2",
|
"@vitest/pretty-format": "^2.1.4",
|
||||||
"@vitest/runner": "2.1.2",
|
"@vitest/runner": "2.1.4",
|
||||||
"@vitest/snapshot": "2.1.2",
|
"@vitest/snapshot": "2.1.4",
|
||||||
"@vitest/spy": "2.1.2",
|
"@vitest/spy": "2.1.4",
|
||||||
"@vitest/utils": "2.1.2",
|
"@vitest/utils": "2.1.4",
|
||||||
"chai": "^5.1.1",
|
"chai": "^5.1.2",
|
||||||
"debug": "^4.3.6",
|
"debug": "^4.3.7",
|
||||||
"magic-string": "^0.30.11",
|
"expect-type": "^1.1.0",
|
||||||
|
"magic-string": "^0.30.12",
|
||||||
"pathe": "^1.1.2",
|
"pathe": "^1.1.2",
|
||||||
"std-env": "^3.7.0",
|
"std-env": "^3.7.0",
|
||||||
"tinybench": "^2.9.0",
|
"tinybench": "^2.9.0",
|
||||||
"tinyexec": "^0.3.0",
|
"tinyexec": "^0.3.1",
|
||||||
"tinypool": "^1.0.0",
|
"tinypool": "^1.0.1",
|
||||||
"tinyrainbow": "^1.2.0",
|
"tinyrainbow": "^1.2.0",
|
||||||
"vite": "^5.0.0",
|
"vite": "^5.0.0",
|
||||||
"vite-node": "2.1.2",
|
"vite-node": "2.1.4",
|
||||||
"why-is-node-running": "^2.3.0"
|
"why-is-node-running": "^2.3.0"
|
||||||
},
|
},
|
||||||
"bin": {
|
"bin": {
|
||||||
@@ -4321,8 +4295,8 @@
|
|||||||
"peerDependencies": {
|
"peerDependencies": {
|
||||||
"@edge-runtime/vm": "*",
|
"@edge-runtime/vm": "*",
|
||||||
"@types/node": "^18.0.0 || >=20.0.0",
|
"@types/node": "^18.0.0 || >=20.0.0",
|
||||||
"@vitest/browser": "2.1.2",
|
"@vitest/browser": "2.1.4",
|
||||||
"@vitest/ui": "2.1.2",
|
"@vitest/ui": "2.1.4",
|
||||||
"happy-dom": "*",
|
"happy-dom": "*",
|
||||||
"jsdom": "*"
|
"jsdom": "*"
|
||||||
},
|
},
|
||||||
@@ -4348,36 +4322,18 @@
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/vitest-fetch-mock": {
|
"node_modules/vitest-fetch-mock": {
|
||||||
"version": "0.3.0",
|
"version": "0.4.1",
|
||||||
"resolved": "https://registry.npmjs.org/vitest-fetch-mock/-/vitest-fetch-mock-0.3.0.tgz",
|
"resolved": "https://registry.npmjs.org/vitest-fetch-mock/-/vitest-fetch-mock-0.4.1.tgz",
|
||||||
"integrity": "sha512-g6upWcL8/32fXL43/5f4VHcocuwQIi9Fj5othcK9gPO8XqSEGtnIZdenr2IaipDr61ReRFt+vaOEgo8jiUUX5w==",
|
"integrity": "sha512-Y6VEV2AgJps1t9NUdhID/vUwarAuhOkPHShfoEruIlQr5+O31hgJ4YmZpU8kVWD3KQjEyZqPeMibWehd7rMq+A==",
|
||||||
"dev": true,
|
"dev": true,
|
||||||
"dependencies": {
|
"license": "MIT",
|
||||||
"cross-fetch": "^4.0.0"
|
|
||||||
},
|
|
||||||
"engines": {
|
"engines": {
|
||||||
"node": ">=14.14.0"
|
"node": ">=18.0.0"
|
||||||
},
|
},
|
||||||
"peerDependencies": {
|
"peerDependencies": {
|
||||||
"vitest": ">=2.0.0"
|
"vitest": ">=2.0.0"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/webidl-conversions": {
|
|
||||||
"version": "3.0.1",
|
|
||||||
"resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-3.0.1.tgz",
|
|
||||||
"integrity": "sha512-2JAn3z8AR6rjK8Sm8orRC0h/bcl/DqL7tRPdGZ4I1CjdF+EaMLmYxBHyXuKL849eucPFhvBoxMsflfOb8kxaeQ==",
|
|
||||||
"dev": true
|
|
||||||
},
|
|
||||||
"node_modules/whatwg-url": {
|
|
||||||
"version": "5.0.0",
|
|
||||||
"resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-5.0.0.tgz",
|
|
||||||
"integrity": "sha512-saE57nupxk6v3HY35+jzBwYa0rKSy0XR8JSxZPwgLr7ys0IBzhGviA1/TUGJLmSVqs8pb9AnvICXEuOHLprYTw==",
|
|
||||||
"dev": true,
|
|
||||||
"dependencies": {
|
|
||||||
"tr46": "~0.0.3",
|
|
||||||
"webidl-conversions": "^3.0.0"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"node_modules/which": {
|
"node_modules/which": {
|
||||||
"version": "2.0.2",
|
"version": "2.0.2",
|
||||||
"resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz",
|
"resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz",
|
||||||
@@ -4507,9 +4463,9 @@
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/yaml": {
|
"node_modules/yaml": {
|
||||||
"version": "2.5.1",
|
"version": "2.6.0",
|
||||||
"resolved": "https://registry.npmjs.org/yaml/-/yaml-2.5.1.tgz",
|
"resolved": "https://registry.npmjs.org/yaml/-/yaml-2.6.0.tgz",
|
||||||
"integrity": "sha512-bLQOjaX/ADgQ20isPJRvF0iRUHIxVhYvr53Of7wGcWlO2jvtUlH5m87DsmulFVxRpNLOnI4tB6p/oh8D7kpn9Q==",
|
"integrity": "sha512-a6ae//JvKDEra2kdi1qzCyrJW/WZCgFi8ydDV+eXExl95t+5R+ijnqHJbz9tmMh8FUjx3iv2fCQ4dclAQlO2UQ==",
|
||||||
"dev": true,
|
"dev": true,
|
||||||
"license": "ISC",
|
"license": "ISC",
|
||||||
"bin": {
|
"bin": {
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
{
|
{
|
||||||
"name": "@immich/cli",
|
"name": "@immich/cli",
|
||||||
"version": "2.2.26",
|
"version": "2.2.32",
|
||||||
"description": "Command Line Interface (CLI) for Immich",
|
"description": "Command Line Interface (CLI) for Immich",
|
||||||
"type": "module",
|
"type": "module",
|
||||||
"exports": "./dist/index.js",
|
"exports": "./dist/index.js",
|
||||||
@@ -20,7 +20,7 @@
|
|||||||
"@types/cli-progress": "^3.11.0",
|
"@types/cli-progress": "^3.11.0",
|
||||||
"@types/lodash-es": "^4.17.12",
|
"@types/lodash-es": "^4.17.12",
|
||||||
"@types/mock-fs": "^4.13.1",
|
"@types/mock-fs": "^4.13.1",
|
||||||
"@types/node": "^20.16.11",
|
"@types/node": "^22.9.0",
|
||||||
"@typescript-eslint/eslint-plugin": "^8.0.0",
|
"@typescript-eslint/eslint-plugin": "^8.0.0",
|
||||||
"@typescript-eslint/parser": "^8.0.0",
|
"@typescript-eslint/parser": "^8.0.0",
|
||||||
"@vitest/coverage-v8": "^2.0.5",
|
"@vitest/coverage-v8": "^2.0.5",
|
||||||
@@ -39,7 +39,7 @@
|
|||||||
"vite": "^5.0.12",
|
"vite": "^5.0.12",
|
||||||
"vite-tsconfig-paths": "^5.0.0",
|
"vite-tsconfig-paths": "^5.0.0",
|
||||||
"vitest": "^2.0.5",
|
"vitest": "^2.0.5",
|
||||||
"vitest-fetch-mock": "^0.3.0",
|
"vitest-fetch-mock": "^0.4.0",
|
||||||
"yaml": "^2.3.1"
|
"yaml": "^2.3.1"
|
||||||
},
|
},
|
||||||
"scripts": {
|
"scripts": {
|
||||||
@@ -67,6 +67,6 @@
|
|||||||
"lodash-es": "^4.17.21"
|
"lodash-es": "^4.17.21"
|
||||||
},
|
},
|
||||||
"volta": {
|
"volta": {
|
||||||
"node": "20.18.0"
|
"node": "22.11.0"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,5 +1,6 @@
|
|||||||
import {
|
import {
|
||||||
Action,
|
Action,
|
||||||
|
AssetBulkUploadCheckItem,
|
||||||
AssetBulkUploadCheckResult,
|
AssetBulkUploadCheckResult,
|
||||||
AssetMediaResponseDto,
|
AssetMediaResponseDto,
|
||||||
AssetMediaStatus,
|
AssetMediaStatus,
|
||||||
@@ -11,7 +12,7 @@ import {
|
|||||||
getSupportedMediaTypes,
|
getSupportedMediaTypes,
|
||||||
} from '@immich/sdk';
|
} from '@immich/sdk';
|
||||||
import byteSize from 'byte-size';
|
import byteSize from 'byte-size';
|
||||||
import { Presets, SingleBar } from 'cli-progress';
|
import { MultiBar, Presets, SingleBar } from 'cli-progress';
|
||||||
import { chunk } from 'lodash-es';
|
import { chunk } from 'lodash-es';
|
||||||
import { Stats, createReadStream } from 'node:fs';
|
import { Stats, createReadStream } from 'node:fs';
|
||||||
import { stat, unlink } from 'node:fs/promises';
|
import { stat, unlink } from 'node:fs/promises';
|
||||||
@@ -90,23 +91,23 @@ export const checkForDuplicates = async (files: string[], { concurrency, skipHas
|
|||||||
return { newFiles: files, duplicates: [] };
|
return { newFiles: files, duplicates: [] };
|
||||||
}
|
}
|
||||||
|
|
||||||
const progressBar = new SingleBar(
|
const multiBar = new MultiBar(
|
||||||
{ format: 'Checking files | {bar} | {percentage}% | ETA: {eta}s | {value}/{total} assets' },
|
{ format: '{message} | {bar} | {percentage}% | ETA: {eta}s | {value}/{total} assets' },
|
||||||
Presets.shades_classic,
|
Presets.shades_classic,
|
||||||
);
|
);
|
||||||
|
|
||||||
progressBar.start(files.length, 0);
|
const hashProgressBar = multiBar.create(files.length, 0, { message: 'Hashing files ' });
|
||||||
|
const checkProgressBar = multiBar.create(files.length, 0, { message: 'Checking for duplicates' });
|
||||||
|
|
||||||
const newFiles: string[] = [];
|
const newFiles: string[] = [];
|
||||||
const duplicates: Asset[] = [];
|
const duplicates: Asset[] = [];
|
||||||
|
|
||||||
const queue = new Queue<string[], AssetBulkUploadCheckResults>(
|
const checkBulkUploadQueue = new Queue<AssetBulkUploadCheckItem[], void>(
|
||||||
async (filepaths: string[]) => {
|
async (assets: AssetBulkUploadCheckItem[]) => {
|
||||||
const dto = await Promise.all(
|
const response = await checkBulkUpload({ assetBulkUploadCheckDto: { assets } });
|
||||||
filepaths.map(async (filepath) => ({ id: filepath, checksum: await sha1(filepath) })),
|
|
||||||
);
|
|
||||||
const response = await checkBulkUpload({ assetBulkUploadCheckDto: { assets: dto } });
|
|
||||||
const results = response.results as AssetBulkUploadCheckResults;
|
const results = response.results as AssetBulkUploadCheckResults;
|
||||||
|
|
||||||
for (const { id: filepath, assetId, action } of results) {
|
for (const { id: filepath, assetId, action } of results) {
|
||||||
if (action === Action.Accept) {
|
if (action === Action.Accept) {
|
||||||
newFiles.push(filepath);
|
newFiles.push(filepath);
|
||||||
@@ -115,19 +116,46 @@ export const checkForDuplicates = async (files: string[], { concurrency, skipHas
|
|||||||
duplicates.push({ id: assetId as string, filepath });
|
duplicates.push({ id: assetId as string, filepath });
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
progressBar.increment(filepaths.length);
|
|
||||||
|
checkProgressBar.increment(assets.length);
|
||||||
|
},
|
||||||
|
{ concurrency, retry: 3 },
|
||||||
|
);
|
||||||
|
|
||||||
|
const results: { id: string; checksum: string }[] = [];
|
||||||
|
let checkBulkUploadRequests: AssetBulkUploadCheckItem[] = [];
|
||||||
|
|
||||||
|
const queue = new Queue<string, AssetBulkUploadCheckItem[]>(
|
||||||
|
async (filepath: string): Promise<AssetBulkUploadCheckItem[]> => {
|
||||||
|
const dto = { id: filepath, checksum: await sha1(filepath) };
|
||||||
|
|
||||||
|
results.push(dto);
|
||||||
|
checkBulkUploadRequests.push(dto);
|
||||||
|
if (checkBulkUploadRequests.length === 5000) {
|
||||||
|
const batch = checkBulkUploadRequests;
|
||||||
|
checkBulkUploadRequests = [];
|
||||||
|
void checkBulkUploadQueue.push(batch);
|
||||||
|
}
|
||||||
|
|
||||||
|
hashProgressBar.increment();
|
||||||
return results;
|
return results;
|
||||||
},
|
},
|
||||||
{ concurrency, retry: 3 },
|
{ concurrency, retry: 3 },
|
||||||
);
|
);
|
||||||
|
|
||||||
for (const items of chunk(files, concurrency)) {
|
for (const item of files) {
|
||||||
await queue.push(items);
|
void queue.push(item);
|
||||||
}
|
}
|
||||||
|
|
||||||
await queue.drained();
|
await queue.drained();
|
||||||
|
|
||||||
progressBar.stop();
|
if (checkBulkUploadRequests.length > 0) {
|
||||||
|
void checkBulkUploadQueue.push(checkBulkUploadRequests);
|
||||||
|
}
|
||||||
|
|
||||||
|
await checkBulkUploadQueue.drained();
|
||||||
|
|
||||||
|
multiBar.stop();
|
||||||
|
|
||||||
console.log(`Found ${newFiles.length} new files and ${duplicates.length} duplicate${s(duplicates.length)}`);
|
console.log(`Found ${newFiles.length} new files and ${duplicates.length} duplicate${s(duplicates.length)}`);
|
||||||
|
|
||||||
@@ -201,8 +229,8 @@ export const uploadFiles = async (files: string[], { dryRun, concurrency }: Uplo
|
|||||||
{ concurrency, retry: 3 },
|
{ concurrency, retry: 3 },
|
||||||
);
|
);
|
||||||
|
|
||||||
for (const filepath of files) {
|
for (const item of files) {
|
||||||
await queue.push(filepath);
|
void queue.push(item);
|
||||||
}
|
}
|
||||||
|
|
||||||
await queue.drained();
|
await queue.drained();
|
||||||
|
|||||||
@@ -72,8 +72,8 @@ export class Queue<T, R> {
|
|||||||
* @returns Promise<void> - The returned Promise will be resolved when all tasks in the queue have been processed by a worker.
|
* @returns Promise<void> - The returned Promise will be resolved when all tasks in the queue have been processed by a worker.
|
||||||
* This promise could be ignored as it will not lead to a `unhandledRejection`.
|
* This promise could be ignored as it will not lead to a `unhandledRejection`.
|
||||||
*/
|
*/
|
||||||
async drained(): Promise<void> {
|
drained(): Promise<void> {
|
||||||
await this.queue.drain();
|
return this.queue.drained();
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|||||||
@@ -2,37 +2,37 @@
|
|||||||
# Manual edits may be lost in future updates.
|
# Manual edits may be lost in future updates.
|
||||||
|
|
||||||
provider "registry.opentofu.org/cloudflare/cloudflare" {
|
provider "registry.opentofu.org/cloudflare/cloudflare" {
|
||||||
version = "4.44.0"
|
version = "4.46.0"
|
||||||
constraints = "4.44.0"
|
constraints = "4.46.0"
|
||||||
hashes = [
|
hashes = [
|
||||||
"h1:2kgcFIKdPgw/22FoLI+54G2+Np3L0np8ost6e8VwAhU=",
|
"h1:3U4N3bbMacXTAdyaEwT305kETMETh1jZmGApmN6gdyE=",
|
||||||
"h1:5FQNWKXde8kkfEJHeu5yBaC0NxCzeOKs2K0QMGTicAQ=",
|
"h1:3fhZhGNgtS9ugcZ2CIH6kk8LzN6yPxqOdkDUZqkP3+w=",
|
||||||
"h1:8rq9U72Ieus2zn1M1FVKgEnEO2f+ZFx/ISMefIEt6kc=",
|
"h1:JWluJxBRSr8GVUhWVv83xse9SmbpwCLctCDddMXUnVk=",
|
||||||
"h1:MeMGdavako/OPTU/qAgKRIQKD49x9tn4PGrOTWi9tFE=",
|
"h1:KDHwakGt+3iBKXaoALCCAolPaJgpEHbkh3BfjnpuqoM=",
|
||||||
"h1:PIP4W0AHpcV+jnKMlZmNd6MtfXMJlKjBdR2DYOX8rTs=",
|
"h1:QFFZshAvwr9L5TQmsNQC6/sDqokk5pjbP8Ae4BQqMLQ=",
|
||||||
"h1:TSWZWvxliZCajkWOq5wOSsB6TJdu3nhhaaAcFL6aBdM=",
|
"h1:Qdi+vXwzDNii7ytSaOQtnlqhjZ3ZlRoUkFoi6CD2COI=",
|
||||||
"h1:VKuCmJyi+i9UlIHl2ezQkmGZgZMm8E+WHkxTheDGcFc=",
|
"h1:TPcJXcVb/+C91hUuu8CEn98QUoNgLtnHfd4sgAOV+5k=",
|
||||||
"h1:WL/GOSfwJuTfyGnl17hXxBA24Pe+pG5o6ONKfGdAesM=",
|
"h1:WDy5wiNroXaCnw+r8rJnCP+J1RVsm2Qu3AOZ/iV4lLo=",
|
||||||
"h1:XicUpPrAY/QJvE3qncz/LtAfeS43fXgI5lihOBmWzpI=",
|
"h1:hMuL+dwHj3JbePqYcDrn/ZQN9R0WzeJX0AIDJ02Iteo=",
|
||||||
"h1:YftzVnHzmOxfK9an5wzHnB7kLAEMzoNnEgRffntMIFI=",
|
"h1:hQKCaUEARzJKbFt1CePP06E/+CiHWe/H6lc1AwK7y6w=",
|
||||||
"h1:ZQrgBiB//NLYh3K6gOT1nJp5ezBqUQJ1Qx5eTpMpBB4=",
|
"h1:l4DQ3WXmSzR/GBel3m2CRKWtaziVjBoxvUgL63t1GK0=",
|
||||||
"h1:cRV923M29H/H3NfvlVGsGkvyn8P7ovsMU5BNb9U1d+o=",
|
"h1:nN9uVSLyrb/DjfZl6rPtCq5j0TX+6WypzNDexdzCQ08=",
|
||||||
"h1:qivroEJiR4Vycmc4E4DherPkBCAm4xfet2Sr87uIXhY=",
|
"h1:rAX7njl6lKT9XIKMk6pLjVi7u/42wafRolWWgMHMkI0=",
|
||||||
"h1:z2119TMCuS7zEYg2oDYff5EnHWtYSVv0mcOJ25wl3i8=",
|
"h1:t2IQYNu8YNykqYlEB+TTX+XpUd5z2flwGw8km9UgbnQ=",
|
||||||
"zh:0cae95e8c9d2d979669712745251dcf5720cee2a59bb81d8ad2c2dcf0e6e0c7a",
|
"zh:2ee426ef3389022db0026792fdc4f2980dcf2600e31adf5a31b4bddfa8d68343",
|
||||||
"zh:1220aee9549e7938648f6a36237929ead0de8244c6a00f8e8cded559f4b65a2f",
|
"zh:2f993edb23df55dc1c18150fa187d80aa7d87e6439698ee34b6a6aad23ac2dd7",
|
||||||
"zh:23ae1862e5fe5b583b8ec2c96f80a5ba0e3883be8e1169a0484a45106cc238ce",
|
"zh:3d6601333975e55979b1b454e50ff9a482ce4e0269dd6c72a50202163a8f4463",
|
||||||
"zh:3034654c6f34e419c53dcd6ea558b715e1150fbcc70c93209c5ee88a03025072",
|
"zh:4e5f48dce22f7a6d618018d65d1d443bb718defa23f514d5c6385860541fbe79",
|
||||||
"zh:3b64a66f3ddeb04345511262ad9376eb3c26e0683a78f47a3fd7f5e71f3f7e27",
|
"zh:5ebf5aea960fc30de381ffd6db20876d249673cf938fe67f1dfb6b9caa1db418",
|
||||||
"zh:4b29435e1e8f970b92bb38eca52820f7a8362c16235334aef9a83be32bd00094",
|
"zh:80ed3fb901141f53b4b56ddb7eea5f2e0c0830d501387539d2c2b8e0cc7e587a",
|
||||||
"zh:4f8fe69db7f54bce0e78a4c671aa5db20515114626035051f387d9833f4a5a91",
|
|
||||||
"zh:86776bfbdabd2095975be9b3ca999c2f47ca5194ece6c58c69130ccfa2e3c97d",
|
|
||||||
"zh:890df766e9b839623b1f0437355032a3c006226a6c200cd911e15ee1a9014e9f",
|
"zh:890df766e9b839623b1f0437355032a3c006226a6c200cd911e15ee1a9014e9f",
|
||||||
"zh:9d50271a09ee01a7105c06e582c52743a3baaf46f298d52bfc9e64cd7bfaa712",
|
"zh:9aeae8b3be4a577ced46987fd9159262c5b4c54a510f66592fbcdb40fef55b10",
|
||||||
"zh:a1e12d1c3472d457140de0e8b77a4b09e5cdcd3e2f6c0be0fe0dae0526d368db",
|
"zh:a0479ef2d308c4a7894f1fe77467cd07e04c7b40d281088f4f204af1bdf94ac6",
|
||||||
"zh:ad638e2c91490367d55ec6fe46ee34a9f7c151ca6e3cc52e5bad9f358e77f1aa",
|
"zh:a2bdc0c25130665af0b9559942b9813a1ba4889513e7185d4abc9c02e9bb99bd",
|
||||||
"zh:cc4c496f2c594994a9d966f7ebe00a797eca9b924ac1bbe5aef26ec83ec7f833",
|
"zh:b10be9755fe80395ced6f0bbda38b8c8681714cf1eca1d895be239c75c2ffc2a",
|
||||||
"zh:e74d5a3695deb38c2858d1c99c424495900e9b298ca8961c0a2fc1b3714c4c77",
|
"zh:ba3d55e722d9f48646574ce7c448f0084fe21fa884b5f8b6d6146a82a99c4baa",
|
||||||
"zh:f4b6efa4c2b4c85c92171dc0824dbf42af9dde5250131494de803e0b9fe1ea3c",
|
"zh:ec1fd0ecaedc787a77d5342b51ae8dea8362a67f1e19123f6521a0e8e012d9e8",
|
||||||
|
"zh:ed49590e69faef14550179f965b4451b31415b8f6be6d33427ad48f65c76b6cf",
|
||||||
|
"zh:f4baa3a2dac719ad20dcfa525bc3f737ad95650b8d0de0c648dc9a87f993b2c3",
|
||||||
]
|
]
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -5,7 +5,7 @@ terraform {
|
|||||||
required_providers {
|
required_providers {
|
||||||
cloudflare = {
|
cloudflare = {
|
||||||
source = "cloudflare/cloudflare"
|
source = "cloudflare/cloudflare"
|
||||||
version = "4.44.0"
|
version = "4.46.0"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -2,37 +2,37 @@
|
|||||||
# Manual edits may be lost in future updates.
|
# Manual edits may be lost in future updates.
|
||||||
|
|
||||||
provider "registry.opentofu.org/cloudflare/cloudflare" {
|
provider "registry.opentofu.org/cloudflare/cloudflare" {
|
||||||
version = "4.44.0"
|
version = "4.46.0"
|
||||||
constraints = "4.44.0"
|
constraints = "4.46.0"
|
||||||
hashes = [
|
hashes = [
|
||||||
"h1:2kgcFIKdPgw/22FoLI+54G2+Np3L0np8ost6e8VwAhU=",
|
"h1:3U4N3bbMacXTAdyaEwT305kETMETh1jZmGApmN6gdyE=",
|
||||||
"h1:5FQNWKXde8kkfEJHeu5yBaC0NxCzeOKs2K0QMGTicAQ=",
|
"h1:3fhZhGNgtS9ugcZ2CIH6kk8LzN6yPxqOdkDUZqkP3+w=",
|
||||||
"h1:8rq9U72Ieus2zn1M1FVKgEnEO2f+ZFx/ISMefIEt6kc=",
|
"h1:JWluJxBRSr8GVUhWVv83xse9SmbpwCLctCDddMXUnVk=",
|
||||||
"h1:MeMGdavako/OPTU/qAgKRIQKD49x9tn4PGrOTWi9tFE=",
|
"h1:KDHwakGt+3iBKXaoALCCAolPaJgpEHbkh3BfjnpuqoM=",
|
||||||
"h1:PIP4W0AHpcV+jnKMlZmNd6MtfXMJlKjBdR2DYOX8rTs=",
|
"h1:QFFZshAvwr9L5TQmsNQC6/sDqokk5pjbP8Ae4BQqMLQ=",
|
||||||
"h1:TSWZWvxliZCajkWOq5wOSsB6TJdu3nhhaaAcFL6aBdM=",
|
"h1:Qdi+vXwzDNii7ytSaOQtnlqhjZ3ZlRoUkFoi6CD2COI=",
|
||||||
"h1:VKuCmJyi+i9UlIHl2ezQkmGZgZMm8E+WHkxTheDGcFc=",
|
"h1:TPcJXcVb/+C91hUuu8CEn98QUoNgLtnHfd4sgAOV+5k=",
|
||||||
"h1:WL/GOSfwJuTfyGnl17hXxBA24Pe+pG5o6ONKfGdAesM=",
|
"h1:WDy5wiNroXaCnw+r8rJnCP+J1RVsm2Qu3AOZ/iV4lLo=",
|
||||||
"h1:XicUpPrAY/QJvE3qncz/LtAfeS43fXgI5lihOBmWzpI=",
|
"h1:hMuL+dwHj3JbePqYcDrn/ZQN9R0WzeJX0AIDJ02Iteo=",
|
||||||
"h1:YftzVnHzmOxfK9an5wzHnB7kLAEMzoNnEgRffntMIFI=",
|
"h1:hQKCaUEARzJKbFt1CePP06E/+CiHWe/H6lc1AwK7y6w=",
|
||||||
"h1:ZQrgBiB//NLYh3K6gOT1nJp5ezBqUQJ1Qx5eTpMpBB4=",
|
"h1:l4DQ3WXmSzR/GBel3m2CRKWtaziVjBoxvUgL63t1GK0=",
|
||||||
"h1:cRV923M29H/H3NfvlVGsGkvyn8P7ovsMU5BNb9U1d+o=",
|
"h1:nN9uVSLyrb/DjfZl6rPtCq5j0TX+6WypzNDexdzCQ08=",
|
||||||
"h1:qivroEJiR4Vycmc4E4DherPkBCAm4xfet2Sr87uIXhY=",
|
"h1:rAX7njl6lKT9XIKMk6pLjVi7u/42wafRolWWgMHMkI0=",
|
||||||
"h1:z2119TMCuS7zEYg2oDYff5EnHWtYSVv0mcOJ25wl3i8=",
|
"h1:t2IQYNu8YNykqYlEB+TTX+XpUd5z2flwGw8km9UgbnQ=",
|
||||||
"zh:0cae95e8c9d2d979669712745251dcf5720cee2a59bb81d8ad2c2dcf0e6e0c7a",
|
"zh:2ee426ef3389022db0026792fdc4f2980dcf2600e31adf5a31b4bddfa8d68343",
|
||||||
"zh:1220aee9549e7938648f6a36237929ead0de8244c6a00f8e8cded559f4b65a2f",
|
"zh:2f993edb23df55dc1c18150fa187d80aa7d87e6439698ee34b6a6aad23ac2dd7",
|
||||||
"zh:23ae1862e5fe5b583b8ec2c96f80a5ba0e3883be8e1169a0484a45106cc238ce",
|
"zh:3d6601333975e55979b1b454e50ff9a482ce4e0269dd6c72a50202163a8f4463",
|
||||||
"zh:3034654c6f34e419c53dcd6ea558b715e1150fbcc70c93209c5ee88a03025072",
|
"zh:4e5f48dce22f7a6d618018d65d1d443bb718defa23f514d5c6385860541fbe79",
|
||||||
"zh:3b64a66f3ddeb04345511262ad9376eb3c26e0683a78f47a3fd7f5e71f3f7e27",
|
"zh:5ebf5aea960fc30de381ffd6db20876d249673cf938fe67f1dfb6b9caa1db418",
|
||||||
"zh:4b29435e1e8f970b92bb38eca52820f7a8362c16235334aef9a83be32bd00094",
|
"zh:80ed3fb901141f53b4b56ddb7eea5f2e0c0830d501387539d2c2b8e0cc7e587a",
|
||||||
"zh:4f8fe69db7f54bce0e78a4c671aa5db20515114626035051f387d9833f4a5a91",
|
|
||||||
"zh:86776bfbdabd2095975be9b3ca999c2f47ca5194ece6c58c69130ccfa2e3c97d",
|
|
||||||
"zh:890df766e9b839623b1f0437355032a3c006226a6c200cd911e15ee1a9014e9f",
|
"zh:890df766e9b839623b1f0437355032a3c006226a6c200cd911e15ee1a9014e9f",
|
||||||
"zh:9d50271a09ee01a7105c06e582c52743a3baaf46f298d52bfc9e64cd7bfaa712",
|
"zh:9aeae8b3be4a577ced46987fd9159262c5b4c54a510f66592fbcdb40fef55b10",
|
||||||
"zh:a1e12d1c3472d457140de0e8b77a4b09e5cdcd3e2f6c0be0fe0dae0526d368db",
|
"zh:a0479ef2d308c4a7894f1fe77467cd07e04c7b40d281088f4f204af1bdf94ac6",
|
||||||
"zh:ad638e2c91490367d55ec6fe46ee34a9f7c151ca6e3cc52e5bad9f358e77f1aa",
|
"zh:a2bdc0c25130665af0b9559942b9813a1ba4889513e7185d4abc9c02e9bb99bd",
|
||||||
"zh:cc4c496f2c594994a9d966f7ebe00a797eca9b924ac1bbe5aef26ec83ec7f833",
|
"zh:b10be9755fe80395ced6f0bbda38b8c8681714cf1eca1d895be239c75c2ffc2a",
|
||||||
"zh:e74d5a3695deb38c2858d1c99c424495900e9b298ca8961c0a2fc1b3714c4c77",
|
"zh:ba3d55e722d9f48646574ce7c448f0084fe21fa884b5f8b6d6146a82a99c4baa",
|
||||||
"zh:f4b6efa4c2b4c85c92171dc0824dbf42af9dde5250131494de803e0b9fe1ea3c",
|
"zh:ec1fd0ecaedc787a77d5342b51ae8dea8362a67f1e19123f6521a0e8e012d9e8",
|
||||||
|
"zh:ed49590e69faef14550179f965b4451b31415b8f6be6d33427ad48f65c76b6cf",
|
||||||
|
"zh:f4baa3a2dac719ad20dcfa525bc3f737ad95650b8d0de0c648dc9a87f993b2c3",
|
||||||
]
|
]
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -5,7 +5,7 @@ terraform {
|
|||||||
required_providers {
|
required_providers {
|
||||||
cloudflare = {
|
cloudflare = {
|
||||||
source = "cloudflare/cloudflare"
|
source = "cloudflare/cloudflare"
|
||||||
version = "4.44.0"
|
version = "4.46.0"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -66,6 +66,7 @@ services:
|
|||||||
- 24678:24678
|
- 24678:24678
|
||||||
volumes:
|
volumes:
|
||||||
- ../web:/usr/src/app
|
- ../web:/usr/src/app
|
||||||
|
- ../i18n:/usr/src/i18n
|
||||||
- ../open-api/:/usr/src/open-api/
|
- ../open-api/:/usr/src/open-api/
|
||||||
- /usr/src/app/node_modules
|
- /usr/src/app/node_modules
|
||||||
ulimits:
|
ulimits:
|
||||||
@@ -102,7 +103,7 @@ services:
|
|||||||
|
|
||||||
redis:
|
redis:
|
||||||
container_name: immich_redis
|
container_name: immich_redis
|
||||||
image: redis:6.2-alpine@sha256:2ba50e1ac3a0ea17b736ce9db2b0a9f6f8b85d4c27d5f5accc6a416d8f42c6d5
|
image: redis:6.2-alpine@sha256:eaba718fecd1196d88533de7ba49bf903ad33664a92debb24660a922ecd9cac8
|
||||||
healthcheck:
|
healthcheck:
|
||||||
test: redis-cli ping || exit 1
|
test: redis-cli ping || exit 1
|
||||||
|
|
||||||
@@ -142,7 +143,7 @@ services:
|
|||||||
'wal_compression=on',
|
'wal_compression=on',
|
||||||
]
|
]
|
||||||
|
|
||||||
# set IMMICH_METRICS=true in .env to enable metrics
|
# set IMMICH_TELEMETRY_INCLUDE=all in .env to enable metrics
|
||||||
# immich-prometheus:
|
# immich-prometheus:
|
||||||
# container_name: immich_prometheus
|
# container_name: immich_prometheus
|
||||||
# ports:
|
# ports:
|
||||||
|
|||||||
@@ -47,7 +47,7 @@ services:
|
|||||||
|
|
||||||
redis:
|
redis:
|
||||||
container_name: immich_redis
|
container_name: immich_redis
|
||||||
image: redis:6.2-alpine@sha256:2ba50e1ac3a0ea17b736ce9db2b0a9f6f8b85d4c27d5f5accc6a416d8f42c6d5
|
image: redis:6.2-alpine@sha256:eaba718fecd1196d88533de7ba49bf903ad33664a92debb24660a922ecd9cac8
|
||||||
healthcheck:
|
healthcheck:
|
||||||
test: redis-cli ping || exit 1
|
test: redis-cli ping || exit 1
|
||||||
restart: always
|
restart: always
|
||||||
@@ -89,12 +89,12 @@ services:
|
|||||||
]
|
]
|
||||||
restart: always
|
restart: always
|
||||||
|
|
||||||
# set IMMICH_METRICS=true in .env to enable metrics
|
# set IMMICH_TELEMETRY_INCLUDE=all in .env to enable metrics
|
||||||
immich-prometheus:
|
immich-prometheus:
|
||||||
container_name: immich_prometheus
|
container_name: immich_prometheus
|
||||||
ports:
|
ports:
|
||||||
- 9090:9090
|
- 9090:9090
|
||||||
image: prom/prometheus@sha256:f6639335d34a77d9d9db382b92eeb7fc00934be8eae81dbc03b31cfe90411a94
|
image: prom/prometheus@sha256:3b9b2a15d376334da8c286d995777d3b9315aa666d2311170ada6059a517b74f
|
||||||
volumes:
|
volumes:
|
||||||
- ./prometheus.yml:/etc/prometheus/prometheus.yml
|
- ./prometheus.yml:/etc/prometheus/prometheus.yml
|
||||||
- prometheus-data:/prometheus
|
- prometheus-data:/prometheus
|
||||||
@@ -106,7 +106,7 @@ services:
|
|||||||
command: ['./run.sh', '-disable-reporting']
|
command: ['./run.sh', '-disable-reporting']
|
||||||
ports:
|
ports:
|
||||||
- 3000:3000
|
- 3000:3000
|
||||||
image: grafana/grafana:11.2.2-ubuntu@sha256:2bef00403c18d27919ff19d64fd6253fa713b3880304e92f69109e14221ac843
|
image: grafana/grafana:11.3.0-ubuntu@sha256:51587e148ac0214d7938e7f3fe8512182e4eb6141892a3ffb88bba1901b49285
|
||||||
volumes:
|
volumes:
|
||||||
- grafana-data:/var/lib/grafana
|
- grafana-data:/var/lib/grafana
|
||||||
|
|
||||||
|
|||||||
@@ -48,7 +48,7 @@ services:
|
|||||||
|
|
||||||
redis:
|
redis:
|
||||||
container_name: immich_redis
|
container_name: immich_redis
|
||||||
image: docker.io/redis:6.2-alpine@sha256:2ba50e1ac3a0ea17b736ce9db2b0a9f6f8b85d4c27d5f5accc6a416d8f42c6d5
|
image: docker.io/redis:6.2-alpine@sha256:eaba718fecd1196d88533de7ba49bf903ad33664a92debb24660a922ecd9cac8
|
||||||
healthcheck:
|
healthcheck:
|
||||||
test: redis-cli ping || exit 1
|
test: redis-cli ping || exit 1
|
||||||
restart: always
|
restart: always
|
||||||
|
|||||||
@@ -1 +1 @@
|
|||||||
20.18.0
|
22.11.0
|
||||||
|
|||||||
@@ -15,12 +15,21 @@ Immich saves [file paths in the database](https://github.com/immich-app/immich/d
|
|||||||
Refer to the official [postgres documentation](https://www.postgresql.org/docs/current/backup.html) for details about backing up and restoring a postgres database.
|
Refer to the official [postgres documentation](https://www.postgresql.org/docs/current/backup.html) for details about backing up and restoring a postgres database.
|
||||||
:::
|
:::
|
||||||
|
|
||||||
The recommended way to backup and restore the Immich database is to use the `pg_dumpall` command. When restoring, you need to delete the `DB_DATA_LOCATION` folder (if it exists) to reset the database.
|
|
||||||
|
|
||||||
:::caution
|
:::caution
|
||||||
It is not recommended to directly backup the `DB_DATA_LOCATION` folder. Doing so while the database is running can lead to a corrupted backup that cannot be restored.
|
It is not recommended to directly backup the `DB_DATA_LOCATION` folder. Doing so while the database is running can lead to a corrupted backup that cannot be restored.
|
||||||
:::
|
:::
|
||||||
|
|
||||||
|
### Automatic Database Backups
|
||||||
|
|
||||||
|
Immich will automatically create database backups by default. The backups are stored in `UPLOAD_LOCATION/backups`.
|
||||||
|
You can adjust the schedule and amount of kept backups in the [admin settings](http://my.immich.app/admin/system-settings?isOpen=backup).
|
||||||
|
By default, Immich will keep the last 14 backups and create a new backup every day at 2:00 AM.
|
||||||
|
|
||||||
|
#### Restoring
|
||||||
|
|
||||||
|
We hope to make restoring simpler in future versions, for now you can find the backups in the `UPLOAD_LOCATION/backups` folder on your host.
|
||||||
|
Then please follow the steps in the following section for restoring the database.
|
||||||
|
|
||||||
### Manual Backup and Restore
|
### Manual Backup and Restore
|
||||||
|
|
||||||
<Tabs>
|
<Tabs>
|
||||||
@@ -49,7 +58,7 @@ docker compose up -d # Start remainder of Immich apps
|
|||||||
<TabItem value="Windows system (PowerShell)" label="Windows system (PowerShell)">
|
<TabItem value="Windows system (PowerShell)" label="Windows system (PowerShell)">
|
||||||
|
|
||||||
```powershell title='Backup'
|
```powershell title='Backup'
|
||||||
docker exec -t immich_postgres pg_dumpall --clean --if-exists --username=postgres | Set-Content -Encoding utf8 "C:\path\to\backup\dump.sql"
|
[System.IO.File]::WriteAllLines("C:\absolute\path\to\backup\dump.sql", (docker exec -t immich_postgres pg_dumpall --clean --if-exists --username=postgres))
|
||||||
```
|
```
|
||||||
|
|
||||||
```powershell title='Restore'
|
```powershell title='Restore'
|
||||||
@@ -68,53 +77,10 @@ docker compose up -d # Start remainder of Immich apps
|
|||||||
</TabItem>
|
</TabItem>
|
||||||
</Tabs>
|
</Tabs>
|
||||||
|
|
||||||
Note that for the database restore to proceed properly, it requires a completely fresh install (i.e. the Immich server has never run since creating the Docker containers). If the Immich app has run, Postgres conflicts may be encountered upon database restoration (relation already exists, violated foreign key constraints, multiple primary keys, etc.).
|
Note that for the database restore to proceed properly, it requires a completely fresh install (i.e. the Immich server has never run since creating the Docker containers). If the Immich app has run, Postgres conflicts may be encountered upon database restoration (relation already exists, violated foreign key constraints, multiple primary keys, etc.), in which case you need to delete the `DB_DATA_LOCATION` folder to reset the database.
|
||||||
|
|
||||||
:::tip
|
:::tip
|
||||||
Some deployment methods make it difficult to start the database without also starting the server or microservices. In these cases, you may set the environmental variable `DB_SKIP_MIGRATIONS=true` before starting the services. This will prevent the server from running migrations that interfere with the restore process. Note that both the server and microservices must have this variable set to prevent the migrations from running. Be sure to remove this variable and restart the services after the database is restored.
|
Some deployment methods make it difficult to start the database without also starting the server. In these cases, you may set the environment variable `DB_SKIP_MIGRATIONS=true` before starting the services. This will prevent the server from running migrations that interfere with the restore process. Be sure to remove this variable and restart the services after the database is restored.
|
||||||
:::
|
|
||||||
|
|
||||||
### Automatic Database Backups
|
|
||||||
|
|
||||||
The database dumps can also be automated (using [this image](https://github.com/prodrigestivill/docker-postgres-backup-local)) by editing the docker compose file to match the following:
|
|
||||||
|
|
||||||
```yaml
|
|
||||||
services:
|
|
||||||
...
|
|
||||||
backup:
|
|
||||||
container_name: immich_db_dumper
|
|
||||||
image: prodrigestivill/postgres-backup-local:14
|
|
||||||
restart: always
|
|
||||||
env_file:
|
|
||||||
- .env
|
|
||||||
environment:
|
|
||||||
POSTGRES_HOST: database
|
|
||||||
POSTGRES_CLUSTER: 'TRUE'
|
|
||||||
POSTGRES_USER: ${DB_USERNAME}
|
|
||||||
POSTGRES_PASSWORD: ${DB_PASSWORD}
|
|
||||||
POSTGRES_DB: ${DB_DATABASE_NAME}
|
|
||||||
SCHEDULE: "@daily"
|
|
||||||
POSTGRES_EXTRA_OPTS: '--clean --if-exists'
|
|
||||||
BACKUP_DIR: /db_dumps
|
|
||||||
volumes:
|
|
||||||
- ./db_dumps:/db_dumps
|
|
||||||
depends_on:
|
|
||||||
- database
|
|
||||||
```
|
|
||||||
|
|
||||||
Then you can restore with the same command but pointed at the latest dump.
|
|
||||||
|
|
||||||
```bash title='Automated Restore'
|
|
||||||
# Be sure to check the username if you changed it from default
|
|
||||||
gunzip < db_dumps/last/immich-latest.sql.gz \
|
|
||||||
| sed "s/SELECT pg_catalog.set_config('search_path', '', false);/SELECT pg_catalog.set_config('search_path', 'public, pg_catalog', true);/g" \
|
|
||||||
| docker exec -i immich_postgres psql --username=postgres
|
|
||||||
```
|
|
||||||
|
|
||||||
:::note
|
|
||||||
If you see the error `ERROR: type "earth" does not exist`, or you have problems with Reverse Geocoding after a restore, add the following `sed` fragment to your restore command.
|
|
||||||
|
|
||||||
Example: `gunzip < "/path/to/backup/dump.sql.gz" | sed "s/SELECT pg_catalog.set_config('search_path', '', false);/SELECT pg_catalog.set_config('search_path', 'public, pg_catalog', true);/g" | docker exec -i immich_postgres psql --username=postgres`
|
|
||||||
:::
|
:::
|
||||||
|
|
||||||
## Filesystem
|
## Filesystem
|
||||||
|
|||||||
@@ -1,5 +1,9 @@
|
|||||||
# Repair Page
|
# Repair Page
|
||||||
|
|
||||||
|
:::warning
|
||||||
|
This feature is currently disabled and will be reworked in the near future.
|
||||||
|
:::
|
||||||
|
|
||||||
The repair page is designed to give information to the system administrator about files that are not tracked, or offline paths.
|
The repair page is designed to give information to the system administrator about files that are not tracked, or offline paths.
|
||||||
|
|
||||||
## Natural State
|
## Natural State
|
||||||
|
|||||||
@@ -40,6 +40,26 @@ server {
|
|||||||
}
|
}
|
||||||
```
|
```
|
||||||
|
|
||||||
|
#### Compatibility with Let's Encrypt
|
||||||
|
|
||||||
|
In the event that your nginx configuration includes a section for Let's Encrypt, it's likely that you have a segment similar to the following:
|
||||||
|
|
||||||
|
```nginx
|
||||||
|
location ~ /.well-known {
|
||||||
|
...
|
||||||
|
}
|
||||||
|
```
|
||||||
|
|
||||||
|
This particular `location` directive can inadvertently prevent mobile clients from reaching the `/.well-known/immich` path, which is crucial for discovery. Usual error message for this case is: "Your app major version is not compatible with the server". To remedy this, you should introduce an additional location block specifically for this path, ensuring that requests are correctly proxied to the Immich server:
|
||||||
|
|
||||||
|
```nginx
|
||||||
|
location = /.well-known/immich {
|
||||||
|
proxy_pass http://<backend_url>:2283;
|
||||||
|
}
|
||||||
|
```
|
||||||
|
|
||||||
|
By doing so, you'll maintain the functionality of Let's Encrypt while allowing mobile clients to access the necessary Immich path without obstruction.
|
||||||
|
|
||||||
### Caddy example config
|
### Caddy example config
|
||||||
|
|
||||||
As an alternative to nginx, you can also use [Caddy](https://caddyserver.com/) as a reverse proxy (with automatic HTTPS configuration). Below is an example config.
|
As an alternative to nginx, you can also use [Caddy](https://caddyserver.com/) as a reverse proxy (with automatic HTTPS configuration). Below is an example config.
|
||||||
|
|||||||
@@ -7,7 +7,7 @@ If a storage quota has been defined for the user, the usage number will be displ
|
|||||||
:::
|
:::
|
||||||
|
|
||||||
:::info External library
|
:::info External library
|
||||||
External library is not included in the storage quota.
|
External libraries are not included in the storage quota.
|
||||||
:::
|
:::
|
||||||
|
|
||||||
<img src={require('./img/server-stats.png').default} title="server statistic" />
|
<img src={require('./img/server-stats.png').default} title="server statistic" />
|
||||||
|
|||||||
@@ -3,7 +3,7 @@
|
|||||||
## Folder checks
|
## Folder checks
|
||||||
|
|
||||||
:::info
|
:::info
|
||||||
The folders considered for these checks include: `upload/`, `library/`, `thumbs/`, `encoded-video/`, `profile/`
|
The folders considered for these checks include: `upload/`, `library/`, `thumbs/`, `encoded-video/`, `profile/`, `backups/`
|
||||||
:::
|
:::
|
||||||
|
|
||||||
When Immich starts, it performs a series of checks in order to validate that it can read and write files to the volume mounts used by the storage system. If it cannot perform all the required operations, it will fail to start. The checks include:
|
When Immich starts, it performs a series of checks in order to validate that it can read and write files to the volume mounts used by the storage system. If it cannot perform all the required operations, it will fail to start. The checks include:
|
||||||
@@ -40,7 +40,9 @@ The above error messages show that the server has previously (successfully) writ
|
|||||||
|
|
||||||
### Ignoring the checks
|
### Ignoring the checks
|
||||||
|
|
||||||
The checks are designed to catch common problems that we have seen users have in the past, but if you want to disable them you can set the following environment variable:
|
:::warning
|
||||||
|
The checks are designed to catch common problems that we have seen users have in the past, and often indicate there's something wrong that you should solve. If you know what you're doing and you want to disable them you can set the following environment variable:
|
||||||
|
:::
|
||||||
|
|
||||||
```
|
```
|
||||||
IMMICH_IGNORE_MOUNT_CHECK_ERRORS=true
|
IMMICH_IGNORE_MOUNT_CHECK_ERRORS=true
|
||||||
|
|||||||
@@ -15,7 +15,7 @@ Our [GitHub Repository](https://github.com/immich-app/immich) is a [monorepo](ht
|
|||||||
| `design/` | Screenshots and logos for the README |
|
| `design/` | Screenshots and logos for the README |
|
||||||
| `docs/` | Source code for the [https://immich.app](https://immich.app) website |
|
| `docs/` | Source code for the [https://immich.app](https://immich.app) website |
|
||||||
| `machine-learning/` | Source code for the `immich-machine-learning` docker image |
|
| `machine-learning/` | Source code for the `immich-machine-learning` docker image |
|
||||||
| `misc/release/` | Scripts for version pumps and draft releases |
|
| `misc/release/` | Scripts for version bumps and draft releases |
|
||||||
| `mobile/` | Source code for the mobile app, both Android and iOS |
|
| `mobile/` | Source code for the mobile app, both Android and iOS |
|
||||||
| `server/` | Source code for the `immich-server` docker image |
|
| `server/` | Source code for the `immich-server` docker image |
|
||||||
| `web/` | Source code for the `web` |
|
| `web/` | Source code for the `web` |
|
||||||
|
|||||||
@@ -1,5 +1,9 @@
|
|||||||
# PR Checklist
|
# PR Checklist
|
||||||
|
|
||||||
|
A minimal devcontainer is supplied with this repository. All commands can be executed directly inside this container to avoid tedious installation of the environment.
|
||||||
|
:::warning
|
||||||
|
The provided devcontainer isn't complete at the moment. At least all dockerized steps in the Makefile won't work (`make dev`, ....). Feel free to contribute!
|
||||||
|
:::
|
||||||
When contributing code through a pull request, please check the following:
|
When contributing code through a pull request, please check the following:
|
||||||
|
|
||||||
## Web Checks
|
## Web Checks
|
||||||
|
|||||||
@@ -76,7 +76,7 @@ Setting these in the IDE give a better developer experience, auto-formatting cod
|
|||||||
|
|
||||||
### Dart Code Metrics
|
### Dart Code Metrics
|
||||||
|
|
||||||
The mobile app uses DCM (Dart Code Metrics) for linting and metrics calculation. Please refer to the [Getting Started](https://dcm.dev/docs/getting-started/#installation) page for more information on setting up DCM
|
The mobile app uses DCM (Dart Code Metrics) for linting and metrics calculation. Please refer to the [Getting Started](https://dcm.dev/docs/) page for more information on setting up DCM
|
||||||
|
|
||||||
Note: Activating the license is not required.
|
Note: Activating the license is not required.
|
||||||
|
|
||||||
|
|||||||
@@ -1,7 +1,7 @@
|
|||||||
# Hardware Transcoding [Experimental]
|
# Hardware Transcoding [Experimental]
|
||||||
|
|
||||||
This feature allows you to use a GPU to accelerate transcoding and reduce CPU load.
|
This feature allows you to use a GPU to accelerate transcoding and reduce CPU load.
|
||||||
Note that hardware transcoding is much less efficient for file sizes.
|
Note that hardware transcoding produces significantly larger videos than software transcoding with similar settings, typically with lower quality. Using slow presets and preferring more efficient codecs can narrow this gap.
|
||||||
As this is a new feature, it is still experimental and may not work on all systems.
|
As this is a new feature, it is still experimental and may not work on all systems.
|
||||||
|
|
||||||
:::info
|
:::info
|
||||||
@@ -23,7 +23,7 @@ You do not need to redo any transcoding jobs after enabling hardware acceleratio
|
|||||||
- Raspberry Pi is currently not supported.
|
- Raspberry Pi is currently not supported.
|
||||||
- Two-pass mode is only supported for NVENC. Other APIs will ignore this setting.
|
- Two-pass mode is only supported for NVENC. Other APIs will ignore this setting.
|
||||||
- By default, only encoding is currently hardware accelerated. This means the CPU is still used for software decoding and tone-mapping.
|
- By default, only encoding is currently hardware accelerated. This means the CPU is still used for software decoding and tone-mapping.
|
||||||
- NVENC and RKMPP can be fully accelerated by enabling hardware decoding in the video transcoding settings.
|
- You can benefit from end-to-end acceleration by enabling hardware decoding in the video transcoding settings.
|
||||||
- Hardware dependent
|
- Hardware dependent
|
||||||
- Codec support varies, but H.264 and HEVC are usually supported.
|
- Codec support varies, but H.264 and HEVC are usually supported.
|
||||||
- Notably, NVIDIA and AMD GPUs do not support VP9 encoding.
|
- Notably, NVIDIA and AMD GPUs do not support VP9 encoding.
|
||||||
@@ -62,11 +62,14 @@ For RKMPP to work:
|
|||||||
1. If you do not already have it, download the latest [`hwaccel.transcoding.yml`][hw-file] file and ensure it's in the same folder as the `docker-compose.yml`.
|
1. If you do not already have it, download the latest [`hwaccel.transcoding.yml`][hw-file] file and ensure it's in the same folder as the `docker-compose.yml`.
|
||||||
2. In the `docker-compose.yml` under `immich-server`, uncomment the `extends` section and change `cpu` to the appropriate backend.
|
2. In the `docker-compose.yml` under `immich-server`, uncomment the `extends` section and change `cpu` to the appropriate backend.
|
||||||
|
|
||||||
- For VAAPI on WSL2, be sure to use `vaapi-wsl` rather than `vaapi`
|
Note: For VAAPI on WSL2, be sure to use `vaapi-wsl` rather than `vaapi`
|
||||||
|
|
||||||
3. Redeploy the `immich-server` container with these updated settings.
|
3. Redeploy the `immich-server` container with these updated settings.
|
||||||
4. In the Admin page under `Video transcoding settings`, change the hardware acceleration setting to the appropriate option and save.
|
4. In the Admin page under `Video transcoding settings`, change the hardware acceleration setting to the appropriate option and save.
|
||||||
5. (Optional) If using a compatible backend, you may enable hardware decoding for optimal performance.
|
|
||||||
|
Note: For Jasper Lake and Elkhart Lake CPUs, you will need to set the `Hardware Acceleration` -> `Constant quality mode` to `CQP`
|
||||||
|
|
||||||
|
5. (Optional) Enable hardware decoding for optimal performance.
|
||||||
|
|
||||||
#### Single Compose File
|
#### Single Compose File
|
||||||
|
|
||||||
|
|||||||
|
After Width: | Height: | Size: 1.5 MiB |
|
After Width: | Height: | Size: 379 KiB |
|
After Width: | Height: | Size: 2.1 MiB |
@@ -149,6 +149,22 @@ If you get an error here, please rename the other external library to something
|
|||||||
|
|
||||||
Within seconds, the assets from the old-pics and videos folders should show up in the main timeline.
|
Within seconds, the assets from the old-pics and videos folders should show up in the main timeline.
|
||||||
|
|
||||||
|
### Folder view
|
||||||
|
|
||||||
|
:::info
|
||||||
|
This feature also exists for assets uploaded other than through external libraries.
|
||||||
|
:::tip
|
||||||
|
You can use the storage template migration feature for the best experience with uploaded assets in this view.
|
||||||
|
:::
|
||||||
|
|
||||||
|
You can browse your photos and videos by folder like in a file explorer.
|
||||||
|
|
||||||
|
Enable this feature from the Users Settings > Features > Folders.
|
||||||
|
|
||||||
|
The UI is currently only available for the web; mobile will come in a subsequent release.
|
||||||
|
|
||||||
|
<img src={require('./img/folder-view.png').default} width="75%" title='Folder-view' />
|
||||||
|
|
||||||
### Set Custom Scan Interval
|
### Set Custom Scan Interval
|
||||||
|
|
||||||
:::note
|
:::note
|
||||||
|
|||||||
@@ -1,6 +1,9 @@
|
|||||||
|
import Icon from '@mdi/react';
|
||||||
|
import { mdiCloudOffOutline, mdiCloudCheckOutline } from '@mdi/js';
|
||||||
import MobileAppDownload from '/docs/partials/_mobile-app-download.md';
|
import MobileAppDownload from '/docs/partials/_mobile-app-download.md';
|
||||||
import MobileAppLogin from '/docs/partials/_mobile-app-login.md';
|
import MobileAppLogin from '/docs/partials/_mobile-app-login.md';
|
||||||
import MobileAppBackup from '/docs/partials/_mobile-app-backup.md';
|
import MobileAppBackup from '/docs/partials/_mobile-app-backup.md';
|
||||||
|
import { cloudDonePath, cloudOffPath } from '@site/src/components/svg-paths';
|
||||||
|
|
||||||
# Mobile App
|
# Mobile App
|
||||||
|
|
||||||
@@ -27,3 +30,63 @@ The beta release channel allows users to test upcoming changes before they are o
|
|||||||
:::info
|
:::info
|
||||||
You can enable automatic backup on supported devices. For more information see [Automatic Backup](/docs/features/automatic-backup.md).
|
You can enable automatic backup on supported devices. For more information see [Automatic Backup](/docs/features/automatic-backup.md).
|
||||||
:::
|
:::
|
||||||
|
|
||||||
|
## Sync only selected photos
|
||||||
|
|
||||||
|
If you have a large number of photos on the device, and you would prefer not to backup all the photos, then it might be prudent to only backup selected photos from device to the Immich server.
|
||||||
|
|
||||||
|
First, you need to enable the Storage Indicator in your app's settings. Navigate to **<ins>Settings -> Photo Grid</ins>** and enable **"Show Storage indicator on asset tiles"**; this makes it easy to distinguish local-only assets and synced assets.
|
||||||
|
:::note
|
||||||
|
This will enable a small cloud icon on the bottom right corner of the asset tile, indicating that the asset is synced to the server:
|
||||||
|
|
||||||
|
1. <Icon path={mdiCloudOffOutline} size={1} /> - Local-only asset; not synced to the server
|
||||||
|
2. <Icon path={mdiCloudCheckOutline} size={1} /> - Asset is synced to the server :::
|
||||||
|
|
||||||
|
Now make sure that the local album is selected in the backup screen (steps 1-2 above). You can find these albums listed in **<ins>Library -> On this device</ins>**. To selectively upload photos from these albums, simply select the local-only photos and tap on "Upload" button in the dynamic bottom menu.
|
||||||
|
|
||||||
|
<img
|
||||||
|
src={require('./img/mobile-upload-open-photo.png').default}
|
||||||
|
width="50%"
|
||||||
|
title="Upload button on local asset preview"
|
||||||
|
/>
|
||||||
|
<img
|
||||||
|
src={require('./img/mobile-upload-selected-photos.png').default}
|
||||||
|
width="40%"
|
||||||
|
title="Upload button after photos selection"
|
||||||
|
/>
|
||||||
|
|
||||||
|
## Album Sync
|
||||||
|
|
||||||
|
You can sync or mirror an album from your phone to the Immich server on your account. For example, if you select Recents, Camera and Videos album for backup, the corresponding album with the same name will be created on the server. Once the assets from those albums are uploaded, they will be put into the target albums automatically.
|
||||||
|
|
||||||
|
### Album Synchronization Highlights
|
||||||
|
|
||||||
|
- **One-Way Sync:** Synchronization is one-way, from the device to the server.
|
||||||
|
|
||||||
|
- **Name Matching:** If an album on the server has the same name as the album on the device, images from the device will be merged with the existing images in the server album.
|
||||||
|
|
||||||
|
- **Shared Albums:** If the matching album on the server is shared, the new photos merged into the album will also be shared.
|
||||||
|
|
||||||
|
- **Album Structure:** When an album is created for the first time, its structure is based on the initial state. Future updates made on the phone (such as deleting or repositioning photos) will not be reflected in Immich.
|
||||||
|
|
||||||
|
- **User-Specific Sync:** Album synchronization is unique to each server user and does not sync between different users or partners.
|
||||||
|
|
||||||
|
- **Mobile-Only Feature:** Album synchronization is currently only available on mobile. For similar options on a computer, refer to [Libraries](/docs/features/libraries) for further details.
|
||||||
|
|
||||||
|
### Synchronizing albums from the past
|
||||||
|
|
||||||
|
Albums can be synchronized to the server even if they did not exist on the server before. In order to apply this setting you have to:
|
||||||
|
Enter the cloud on the top right -> cog wheel on the top right -> select the sync option under Sync albums.
|
||||||
|
|
||||||
|
:::info Sync albums delete/move photos
|
||||||
|
If you delete/move photos in the local album on your device, it will not be reflected in the album on the server **even if** you click Sync albums
|
||||||
|
It will only reflect files you add.
|
||||||
|
:::
|
||||||
|
|
||||||
|
If the same asset is in more than one album it will only sync to the first album it's in, after that it won't sync again even if the user clicks sync albums manually.
|
||||||
|
To overcome this limitation, the files must be removed from the blacklist by
|
||||||
|
App settings -> Advanced -> Duplicate Assets -> Clear
|
||||||
|
|
||||||
|
:::info
|
||||||
|
Cleaning duplicate assets from the list will cause all the previously uploaded duplicate files to be re-uploaded, the files will not actually be uploaded and will be rejected on the server side (due to duplication) but will be synchronized to the album and at the end will be added to the black list again at the end of the synchronization.
|
||||||
|
:::
|
||||||
|
|||||||
@@ -25,10 +25,10 @@ The metrics in immich are grouped into API (endpoint calls and response times),
|
|||||||
|
|
||||||
### Configuration
|
### Configuration
|
||||||
|
|
||||||
Immich will not expose an endpoint for metrics by default. To enable this endpoint, you can add the `IMMICH_METRICS=true` environmental variable to your `.env` file. Note that only the server and microservices containers currently use this variable.
|
Immich will not expose an endpoint for metrics by default. To enable this endpoint, you can add the `IMMICH_TELEMETRY_INCLUDE=all` environmental variable to your `.env` file. Note that only the server container currently use this variable.
|
||||||
|
|
||||||
:::tip
|
:::tip
|
||||||
`IMMICH_METRICS` enables all metrics, but there are also [environmental variables](/docs/install/environment-variables.md#prometheus) to toggle specific metric groups. If you'd like to only expose certain kinds of metrics, you can set only those environmental variables to `true`. Explicitly setting the environmental variable for a metric group overrides `IMMICH_METRICS` for that group. For example, setting `IMMICH_METRICS=true` and `IMMICH_API_METRICS=false` will enable all metrics except API metrics.
|
`IMMICH_TELEMETRY_INCLUDE=all` enables all metrics. For a more granular configuration you can enumerate the telemetry metrics that should be included as a comma separated list (e.g. `IMMICH_TELEMETRY_INCLUDE=repo,api`). Alternatively, you can also exclude specific metrics with `IMMICH_TELEMETRY_EXCLUDE`. For more information refer to the [environment section](/docs/install/environment-variables.md#prometheus).
|
||||||
:::
|
:::
|
||||||
|
|
||||||
The next step is to configure a new or existing Prometheus instance to scrape this endpoint. The following steps assume that you do not have an existing Prometheus instance, but the steps will be similar either way.
|
The next step is to configure a new or existing Prometheus instance to scrape this endpoint. The following steps assume that you do not have an existing Prometheus instance, but the steps will be similar either way.
|
||||||
|
|||||||
@@ -1,15 +1,15 @@
|
|||||||
# Files Custom Locations
|
# Files Custom Locations
|
||||||
|
|
||||||
This guide explains storing generated and raw files with docker's volume mount in different locations.
|
This guide explains how to store generated and raw files with docker's volume mount in different locations.
|
||||||
|
|
||||||
:::caution Backup
|
:::caution Backup
|
||||||
It is important to remember to update the backup settings after following the guide to back up the new backup paths if using automatic backup tools, especially `profile/`.
|
It is important to remember to update the backup settings after following the guide to back up the new backup paths if using automatic backup tools, especially `profile/`.
|
||||||
:::
|
:::
|
||||||
|
|
||||||
In our `.env` file, we will define variables that will help us in the future when we want to move to a more advanced server in the future
|
In our `.env` file, we will define variables that will help us in the future when we want to move to a more advanced server
|
||||||
|
|
||||||
```diff title=".env"
|
```diff title=".env"
|
||||||
# You can find documentation for all the supported env variables [here](/docs/install/environment-variables)
|
# You can find documentation for all the supported environment variables [here](/docs/install/environment-variables)
|
||||||
|
|
||||||
# Custom location where your uploaded, thumbnails, and transcoded video files are stored
|
# Custom location where your uploaded, thumbnails, and transcoded video files are stored
|
||||||
- UPLOAD_LOCATION=./library
|
- UPLOAD_LOCATION=./library
|
||||||
@@ -17,10 +17,11 @@ In our `.env` file, we will define variables that will help us in the future whe
|
|||||||
+ THUMB_LOCATION=/custom/path/immich/thumbs
|
+ THUMB_LOCATION=/custom/path/immich/thumbs
|
||||||
+ ENCODED_VIDEO_LOCATION=/custom/path/immich/encoded-video
|
+ ENCODED_VIDEO_LOCATION=/custom/path/immich/encoded-video
|
||||||
+ PROFILE_LOCATION=/custom/path/immich/profile
|
+ PROFILE_LOCATION=/custom/path/immich/profile
|
||||||
|
+ BACKUP_LOCATION=/custom/path/immich/backups
|
||||||
...
|
...
|
||||||
```
|
```
|
||||||
|
|
||||||
After defining the locations for these files, we will edit the `docker-compose.yml` file accordingly and add the new variables to the `immich-server` container.
|
After defining the locations of these files, we will edit the `docker-compose.yml` file accordingly and add the new variables to the `immich-server` container.
|
||||||
|
|
||||||
```diff title="docker-compose.yml"
|
```diff title="docker-compose.yml"
|
||||||
services:
|
services:
|
||||||
@@ -30,6 +31,7 @@ services:
|
|||||||
+ - ${THUMB_LOCATION}:/usr/src/app/upload/thumbs
|
+ - ${THUMB_LOCATION}:/usr/src/app/upload/thumbs
|
||||||
+ - ${ENCODED_VIDEO_LOCATION}:/usr/src/app/upload/encoded-video
|
+ - ${ENCODED_VIDEO_LOCATION}:/usr/src/app/upload/encoded-video
|
||||||
+ - ${PROFILE_LOCATION}:/usr/src/app/upload/profile
|
+ - ${PROFILE_LOCATION}:/usr/src/app/upload/profile
|
||||||
|
+ - ${BACKUP_LOCATION}:/usr/src/app/upload/backups
|
||||||
- /etc/localtime:/etc/localtime:ro
|
- /etc/localtime:/etc/localtime:ro
|
||||||
```
|
```
|
||||||
|
|
||||||
@@ -41,12 +43,11 @@ docker compose up -d
|
|||||||
|
|
||||||
:::note
|
:::note
|
||||||
Because of the underlying properties of docker bind mounts, it is not recommended to mount the `upload/` and `library/` folders as separate bind mounts if they are on the same device.
|
Because of the underlying properties of docker bind mounts, it is not recommended to mount the `upload/` and `library/` folders as separate bind mounts if they are on the same device.
|
||||||
For this reason, we mount the HDD or network storage to `/usr/src/app/upload` and then mount the folders we want quick access to below this folder.
|
For this reason, we mount the HDD or the network storage (NAS) to `/usr/src/app/upload` and then mount the folders we want to access under that folder.
|
||||||
|
|
||||||
The `thumbs/` folder contains both the small thumbnails shown in the timeline, and the larger previews shown when clicking into an image. These cannot be split up.
|
The `thumbs/` folder contains both the small thumbnails displayed in the timeline and the larger previews shown when clicking into an image. These cannot be separated.
|
||||||
|
|
||||||
The storage metrics of the Immich server will track the storage available at `UPLOAD_LOCATION`,
|
The storage metrics of the Immich server will track available storage at `UPLOAD_LOCATION`, so the administrator must set up some sort of monitoring to ensure the storage does not run out of space. The `profile/` folder is much smaller, usually less than 1 MB.
|
||||||
so the administrator should setup some kind of monitoring to make sure the SSD does not run out of space. The `profile/` folder is much smaller, typically less than 1 MB.
|
|
||||||
:::
|
:::
|
||||||
|
|
||||||
Thanks to [Jrasm91](https://github.com/immich-app/immich/discussions/2110#discussioncomment-5477767) for writing the guide.
|
Thanks to [Jrasm91](https://github.com/immich-app/immich/discussions/2110#discussioncomment-5477767) for writing the guide.
|
||||||
|
|||||||
@@ -98,6 +98,10 @@ SELECT * FROM "move_history";
|
|||||||
SELECT * FROM "users";
|
SELECT * FROM "users";
|
||||||
```
|
```
|
||||||
|
|
||||||
|
```sql title="Get owner info from asset ID"
|
||||||
|
SELECT "users".* FROM "users" JOIN "assets" ON "users"."id" = "assets"."ownerId" WHERE "assets"."id" = 'fa310b01-2f26-4b7a-9042-d578226e021f';
|
||||||
|
```
|
||||||
|
|
||||||
## System Config
|
## System Config
|
||||||
|
|
||||||
```sql title="Custom settings"
|
```sql title="Custom settings"
|
||||||
|
|||||||
@@ -6,6 +6,15 @@ 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.
|
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 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.
|
||||||
|
|
||||||
|
If you are using this script, it is therefore safe to turn off the built-in automatic database backups from your admin panel to save storage space.
|
||||||
|
:::
|
||||||
|
|
||||||
### Prerequisites
|
### Prerequisites
|
||||||
|
|
||||||
- Borg needs to be installed on your server as well as the remote machine. You can find instructions to install Borg [here](https://borgbackup.readthedocs.io/en/latest/installation.html).
|
- Borg needs to be installed on your server as well as the remote machine. You can find instructions to install Borg [here](https://borgbackup.readthedocs.io/en/latest/installation.html).
|
||||||
|
|||||||
@@ -19,14 +19,13 @@ The default configuration looks like this:
|
|||||||
"targetVideoCodec": "h264",
|
"targetVideoCodec": "h264",
|
||||||
"acceptedVideoCodecs": ["h264"],
|
"acceptedVideoCodecs": ["h264"],
|
||||||
"targetAudioCodec": "aac",
|
"targetAudioCodec": "aac",
|
||||||
"acceptedAudioCodecs": ["aac", "mp3", "libopus"],
|
"acceptedAudioCodecs": ["aac", "mp3", "libopus", "pcm_s16le"],
|
||||||
"acceptedContainers": ["mov", "ogg", "webm"],
|
"acceptedContainers": ["mov", "ogg", "webm"],
|
||||||
"targetResolution": "720",
|
"targetResolution": "720",
|
||||||
"maxBitrate": "0",
|
"maxBitrate": "0",
|
||||||
"bframes": -1,
|
"bframes": -1,
|
||||||
"refs": 0,
|
"refs": 0,
|
||||||
"gopSize": 0,
|
"gopSize": 0,
|
||||||
"npl": 0,
|
|
||||||
"temporalAQ": false,
|
"temporalAQ": false,
|
||||||
"cqMode": "auto",
|
"cqMode": "auto",
|
||||||
"twoPass": false,
|
"twoPass": false,
|
||||||
@@ -36,6 +35,13 @@ The default configuration looks like this:
|
|||||||
"accel": "disabled",
|
"accel": "disabled",
|
||||||
"accelDecode": false
|
"accelDecode": false
|
||||||
},
|
},
|
||||||
|
"backup": {
|
||||||
|
"database": {
|
||||||
|
"enabled": true,
|
||||||
|
"cronExpression": "0 02 * * *",
|
||||||
|
"keepLastAmount": 14
|
||||||
|
}
|
||||||
|
},
|
||||||
"job": {
|
"job": {
|
||||||
"backgroundTask": {
|
"backgroundTask": {
|
||||||
"concurrency": 5
|
"concurrency": 5
|
||||||
|
|||||||
@@ -148,23 +148,24 @@ Redis (Sentinel) URL example JSON before encoding:
|
|||||||
|
|
||||||
## Machine Learning
|
## Machine Learning
|
||||||
|
|
||||||
| Variable | Description | Default | Containers |
|
| Variable | Description | Default | Containers |
|
||||||
| :-------------------------------------------------------- | :-------------------------------------------------------------------------------------------------- | :-----------------------------------: | :--------------- |
|
| :-------------------------------------------------------- | :-------------------------------------------------------------------------------------------------- | :-----------------------------: | :--------------- |
|
||||||
| `MACHINE_LEARNING_MODEL_TTL` | Inactivity time (s) before a model is unloaded (disabled if \<= 0) | `300` | machine learning |
|
| `MACHINE_LEARNING_MODEL_TTL` | Inactivity time (s) before a model is unloaded (disabled if \<= 0) | `300` | machine learning |
|
||||||
| `MACHINE_LEARNING_MODEL_TTL_POLL_S` | Interval (s) between checks for the model TTL (disabled if \<= 0) | `10` | machine learning |
|
| `MACHINE_LEARNING_MODEL_TTL_POLL_S` | Interval (s) between checks for the model TTL (disabled if \<= 0) | `10` | machine learning |
|
||||||
| `MACHINE_LEARNING_CACHE_FOLDER` | Directory where models are downloaded | `/cache` | machine learning |
|
| `MACHINE_LEARNING_CACHE_FOLDER` | Directory where models are downloaded | `/cache` | machine learning |
|
||||||
| `MACHINE_LEARNING_REQUEST_THREADS`<sup>\*1</sup> | Thread count of the request thread pool (disabled if \<= 0) | number of CPU cores | machine learning |
|
| `MACHINE_LEARNING_REQUEST_THREADS`<sup>\*1</sup> | Thread count of the request thread pool (disabled if \<= 0) | number of CPU cores | machine learning |
|
||||||
| `MACHINE_LEARNING_MODEL_INTER_OP_THREADS` | Number of parallel model operations | `1` | machine learning |
|
| `MACHINE_LEARNING_MODEL_INTER_OP_THREADS` | Number of parallel model operations | `1` | machine learning |
|
||||||
| `MACHINE_LEARNING_MODEL_INTRA_OP_THREADS` | Number of threads for each model operation | `2` | machine learning |
|
| `MACHINE_LEARNING_MODEL_INTRA_OP_THREADS` | Number of threads for each model operation | `2` | machine learning |
|
||||||
| `MACHINE_LEARNING_WORKERS`<sup>\*2</sup> | Number of worker processes to spawn | `1` | machine learning |
|
| `MACHINE_LEARNING_WORKERS`<sup>\*2</sup> | Number of worker processes to spawn | `1` | machine learning |
|
||||||
| `MACHINE_LEARNING_HTTP_KEEPALIVE_TIMEOUT_S`<sup>\*3</sup> | HTTP Keep-alive time in seconds | `2` | machine learning |
|
| `MACHINE_LEARNING_HTTP_KEEPALIVE_TIMEOUT_S`<sup>\*3</sup> | HTTP Keep-alive time in seconds | `2` | machine learning |
|
||||||
| `MACHINE_LEARNING_WORKER_TIMEOUT` | Maximum time (s) of unresponsiveness before a worker is killed | `120` (`300` if using OpenVINO image) | machine learning |
|
| `MACHINE_LEARNING_WORKER_TIMEOUT` | Maximum time (s) of unresponsiveness before a worker is killed | `120` (`300` if using OpenVINO) | machine learning |
|
||||||
| `MACHINE_LEARNING_PRELOAD__CLIP` | Name of a CLIP model to be preloaded and kept in cache | | machine learning |
|
| `MACHINE_LEARNING_PRELOAD__CLIP` | Name of a CLIP model to be preloaded and kept in cache | | machine learning |
|
||||||
| `MACHINE_LEARNING_PRELOAD__FACIAL_RECOGNITION` | Name of a facial recognition model to be preloaded and kept in cache | | machine learning |
|
| `MACHINE_LEARNING_PRELOAD__FACIAL_RECOGNITION` | Name of a facial recognition model to be preloaded and kept in cache | | machine learning |
|
||||||
| `MACHINE_LEARNING_ANN` | Enable ARM-NN hardware acceleration if supported | `True` | machine learning |
|
| `MACHINE_LEARNING_ANN` | Enable ARM-NN hardware acceleration if supported | `True` | machine learning |
|
||||||
| `MACHINE_LEARNING_ANN_FP16_TURBO` | Execute operations in FP16 precision: increasing speed, reducing precision (applies only to ARM-NN) | `False` | machine learning |
|
| `MACHINE_LEARNING_ANN_FP16_TURBO` | Execute operations in FP16 precision: increasing speed, reducing precision (applies only to ARM-NN) | `False` | machine learning |
|
||||||
| `MACHINE_LEARNING_ANN_TUNING_LEVEL` | ARM-NN GPU tuning level (1: rapid, 2: normal, 3: exhaustive) | `2` | machine learning |
|
| `MACHINE_LEARNING_ANN_TUNING_LEVEL` | ARM-NN GPU tuning level (1: rapid, 2: normal, 3: exhaustive) | `2` | machine learning |
|
||||||
| `MACHINE_LEARNING_DEVICE_IDS`<sup>\*4</sup> | Device IDs to use in multi-GPU environments | `0` | machine learning |
|
| `MACHINE_LEARNING_DEVICE_IDS`<sup>\*4</sup> | Device IDs to use in multi-GPU environments | `0` | machine learning |
|
||||||
|
| `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 |
|
||||||
|
|
||||||
\*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.
|
\*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.
|
||||||
|
|
||||||
@@ -182,15 +183,10 @@ Other machine learning parameters can be tuned from the admin UI.
|
|||||||
|
|
||||||
## Prometheus
|
## Prometheus
|
||||||
|
|
||||||
| Variable | Description | Default | Containers | Workers |
|
| Variable | Description | Default | Containers | Workers |
|
||||||
| :----------------------------- | :-------------------------------------------------------------------------------------------- | :-----: | :--------- | :----------------- |
|
| :------------------------- | :-------------------------------------------------------------------------------------------------------------------- | :-----: | :--------- | :----------------- |
|
||||||
| `IMMICH_METRICS`<sup>\*1</sup> | Toggle all metrics (one of [`true`, `false`]) | | server | api, microservices |
|
| `IMMICH_TELEMETRY_INCLUDE` | Collect these telemetries. List of `host`, `api`, `io`, `repo`, `job`. Note: You can also specify `all` to enable all | | server | api, microservices |
|
||||||
| `IMMICH_API_METRICS` | Toggle metrics for endpoints and response times (one of [`true`, `false`]) | | server | api, microservices |
|
| `IMMICH_TELEMETRY_EXCLUDE` | Do not collect these telemetries. List of `host`, `api`, `io`, `repo`, `job` | | server | api, microservices |
|
||||||
| `IMMICH_HOST_METRICS` | Toggle metrics for CPU and memory utilization for host and process (one of [`true`, `false`]) | | server | api, microservices |
|
|
||||||
| `IMMICH_IO_METRICS` | Toggle metrics for database queries, image processing, etc. (one of [`true`, `false`]) | | server | api, microservices |
|
|
||||||
| `IMMICH_JOB_METRICS` | Toggle metrics for jobs and queues (one of [`true`, `false`]) | | server | api, microservices |
|
|
||||||
|
|
||||||
\*1: Overridden for a metric group when its corresponding environmental variable is set.
|
|
||||||
|
|
||||||
## Docker Secrets
|
## Docker Secrets
|
||||||
|
|
||||||
|
|||||||
|
Before Width: | Height: | Size: 8.7 KiB After Width: | Height: | Size: 9.4 KiB |
|
Before Width: | Height: | Size: 86 KiB After Width: | Height: | Size: 127 KiB |
|
Before Width: | Height: | Size: 20 KiB After Width: | Height: | Size: 35 KiB |
|
Before Width: | Height: | Size: 79 KiB After Width: | Height: | Size: 128 KiB |
|
Before Width: | Height: | Size: 6.0 KiB After Width: | Height: | Size: 23 KiB |
|
Before Width: | Height: | Size: 4.0 KiB After Width: | Height: | Size: 5.5 KiB |
|
Before Width: | Height: | Size: 19 KiB After Width: | Height: | Size: 63 KiB |
|
Before Width: | Height: | Size: 6.2 KiB After Width: | Height: | Size: 24 KiB |
|
Before Width: | Height: | Size: 9.9 KiB After Width: | Height: | Size: 12 KiB |
|
After Width: | Height: | Size: 16 KiB |
|
After Width: | Height: | Size: 4.9 KiB |
|
After Width: | Height: | Size: 19 KiB |
@@ -8,7 +8,7 @@ Hardware and software requirements for Immich:
|
|||||||
|
|
||||||
## Software
|
## Software
|
||||||
|
|
||||||
- [Docker](https://docs.docker.com/get-docker/)
|
- [Docker](https://docs.docker.com/engine/install/)
|
||||||
- [Docker Compose](https://docs.docker.com/compose/install/)
|
- [Docker Compose](https://docs.docker.com/compose/install/)
|
||||||
|
|
||||||
:::note
|
:::note
|
||||||
|
|||||||
@@ -7,7 +7,9 @@ sidebar_position: 80
|
|||||||
:::note
|
:::note
|
||||||
This is a community contribution and not officially supported by the Immich team, but included here for convenience.
|
This is a community contribution and not officially supported by the Immich team, but included here for convenience.
|
||||||
|
|
||||||
**Please report issues to the corresponding [Github Repository](https://github.com/truenas/charts/tree/master/community/immich).**
|
Community support can be found in the dedicated channel on the [Discord Server](https://discord.immich.app/).
|
||||||
|
|
||||||
|
**Please report app issues to the corresponding [Github Repository](https://github.com/truenas/charts/tree/master/community/immich).**
|
||||||
:::
|
:::
|
||||||
|
|
||||||
Immich can easily be installed on TrueNAS SCALE via the **Community** train application.
|
Immich can easily be installed on TrueNAS SCALE via the **Community** train application.
|
||||||
@@ -20,18 +22,26 @@ TrueNAS SCALE makes installing and updating Immich easy, but you must use the Im
|
|||||||
The Immich app in TrueNAS SCALE installs, completes the initial configuration, then starts the Immich web portal.
|
The Immich app in TrueNAS SCALE installs, completes the initial configuration, then starts the Immich web portal.
|
||||||
When updates become available, SCALE alerts and provides easy updates.
|
When updates become available, SCALE alerts and provides easy updates.
|
||||||
|
|
||||||
Before installing the Immich app in SCALE, review the [Environment Variables](/docs/install/environment-variables.md) documentation to see if you want to configure any during installation.
|
Before installing the Immich app in SCALE, review the [Environment Variables](#environment-variables) documentation to see if you want to configure any during installation.
|
||||||
You can configure environment variables at any time after deploying the application.
|
You may also configure environment variables at any time after deploying the application.
|
||||||
|
|
||||||
You can allow SCALE to create the datasets Immich requires automatically during app installation.
|
### Setting up Storage Datasets
|
||||||
Or before beginning app installation, [create the datasets](https://www.truenas.com/docs/scale/scaletutorials/storage/datasets/datasetsscale/) to use in the **Storage Configuration** section during installation.
|
|
||||||
Immich requires seven datasets: **library**, **pgBackup**, **pgData**, **profile**, **thumbs**, **uploads**, and **video**.
|
Before beginning app installation, [create the datasets](https://www.truenas.com/docs/scale/scaletutorials/storage/datasets/datasetsscale/) to use in the **Storage Configuration** section during installation.
|
||||||
You can organize these as one parent with seven child datasets, for example `mnt/tank/immich/library`, `mnt/tank/immich/pgBackup`, and so on.
|
Immich requires seven datasets: `library`, `upload`, `thumbs`, `profile`, `video`, `backups`, and `pgData`.
|
||||||
|
You can organize these as one parent with seven child datasets, for example `/mnt/tank/immich/library`, `/mnt/tank/immich/upload`, and so on.
|
||||||
|
|
||||||
|
<img
|
||||||
|
src={require('./img/truenas12.png').default}
|
||||||
|
width="30%"
|
||||||
|
alt="Immich App Widget"
|
||||||
|
className="border rounded-xl"
|
||||||
|
/>
|
||||||
|
|
||||||
:::info Permissions
|
:::info Permissions
|
||||||
The **pgData** dataset must be owned by the user `netdata` (UID 999) for postgres to start. The other datasets must be owned by the user `root` (UID 0) or a group that includes the user `root` (UID 0) for immich to have the necessary permissions.
|
The **pgData** dataset must be owned by the user `netdata` (UID 999) for postgres to start. The other datasets must be owned by the user `root` (UID 0) or a group that includes the user `root` (UID 0) for immich to have the necessary permissions.
|
||||||
|
|
||||||
The **library** dataset must have [ACL mode](https://www.truenas.com/docs/core/coretutorials/storage/pools/permissions/#access-control-lists) set to `Passthrough` if you plan on using a [storage template](/docs/administration/storage-template.mdx) and the dataset is configured for network sharing (its ACL type is set to `SMB/NFSv4`). When the template is applied and files need to be moved from **uploads** to **library**, immich performs `chmod` internally and needs to be allowed to execute the command.
|
If the **library** dataset uses ACL it must have [ACL mode](https://www.truenas.com/docs/core/coretutorials/storage/pools/permissions/#access-control-lists) set to `Passthrough` if you plan on using a [storage template](/docs/administration/storage-template.mdx) and the dataset is configured for network sharing (its ACL type is set to `SMB/NFSv4`). When the template is applied and files need to be moved from **upload** to **library**, immich performs `chmod` internally and needs to be allowed to execute the command. [More info.](https://github.com/immich-app/immich/pull/13017)
|
||||||
:::
|
:::
|
||||||
|
|
||||||
## Installing the Immich Application
|
## Installing the Immich Application
|
||||||
@@ -47,6 +57,8 @@ className="border rounded-xl"
|
|||||||
|
|
||||||
Click on the widget to open the **Immich** application details screen.
|
Click on the widget to open the **Immich** application details screen.
|
||||||
|
|
||||||
|
<br/><br/>
|
||||||
|
|
||||||
<img
|
<img
|
||||||
src={require('./img/truenas02.png').default}
|
src={require('./img/truenas02.png').default}
|
||||||
width="100%"
|
width="100%"
|
||||||
@@ -56,9 +68,13 @@ className="border rounded-xl"
|
|||||||
|
|
||||||
Click **Install** to open the Immich application configuration screen.
|
Click **Install** to open the Immich application configuration screen.
|
||||||
|
|
||||||
|
<br/><br/>
|
||||||
|
|
||||||
Application configuration settings are presented in several sections, each explained below.
|
Application configuration settings are presented in several sections, each explained below.
|
||||||
To find specific fields click in the **Search Input Fields** search field, scroll down to a particular section or click on the section heading on the navigation area in the upper-right corner.
|
To find specific fields click in the **Search Input Fields** search field, scroll down to a particular section or click on the section heading on the navigation area in the upper-right corner.
|
||||||
|
|
||||||
|
### Application Name and Version
|
||||||
|
|
||||||
<img
|
<img
|
||||||
src={require('./img/truenas03.png').default}
|
src={require('./img/truenas03.png').default}
|
||||||
width="100%"
|
width="100%"
|
||||||
@@ -66,21 +82,123 @@ alt="Install Immich Screen"
|
|||||||
className="border rounded-xl"
|
className="border rounded-xl"
|
||||||
/>
|
/>
|
||||||
|
|
||||||
Accept the default values in **Application Name** and **Version**.
|
Accept the default value or enter a name in **Application Name** field.
|
||||||
|
In most cases use the default name, but if adding a second deployment of the application you must change this name.
|
||||||
|
|
||||||
|
Accept the default version number in **Version**.
|
||||||
|
When a new version becomes available, the application has an update badge.
|
||||||
|
The **Installed Applications** screen shows the option to update applications.
|
||||||
|
|
||||||
|
### Immich Configuration
|
||||||
|
|
||||||
|
<img
|
||||||
|
src={require('./img/truenas05.png').default}
|
||||||
|
width="40%"
|
||||||
|
alt="Configuration Settings"
|
||||||
|
className="border rounded-xl"
|
||||||
|
/>
|
||||||
|
|
||||||
Accept the default value in **Timezone** or change to match your local timezone.
|
Accept the default value in **Timezone** or change to match your local timezone.
|
||||||
**Timezone** is only used by the Immich `exiftool` microservice if it cannot be determined from the image metadata.
|
**Timezone** is only used by the Immich `exiftool` microservice if it cannot be determined from the image metadata.
|
||||||
|
|
||||||
Accept the default port in **Web Port**.
|
Untick **Enable Machine Learning** if you will not use face recognition, image search, and smart duplicate detection.
|
||||||
|
|
||||||
|
Accept the default option or select the **Machine Learning Image Type** for your hardware based on the [Hardware-Accelerated Machine Learning Supported Backends](/docs/features/ml-hardware-acceleration.md#supported-backends).
|
||||||
|
|
||||||
|
Immich's default is `postgres` but you should consider setting the **Database Password** to a custom value using only the characters `A-Za-z0-9`.
|
||||||
|
|
||||||
|
The **Redis Password** should be set to a custom value using only the characters `A-Za-z0-9`.
|
||||||
|
|
||||||
|
Accept the **Log Level** default of **Log**.
|
||||||
|
|
||||||
|
Leave **Hugging Face Endpoint** blank. (This is for downloading ML models from a different source.)
|
||||||
|
|
||||||
|
Leave **Additional Environment Variables** blank or see [Environment Variables](#environment-variables) to set before installing.
|
||||||
|
|
||||||
|
### Network Configuration
|
||||||
|
|
||||||
|
<img
|
||||||
|
src={require('./img/truenas06.png').default}
|
||||||
|
width="40%"
|
||||||
|
alt="Networking Settings"
|
||||||
|
className="border rounded-xl"
|
||||||
|
/>
|
||||||
|
|
||||||
|
Accept the default port `30041` in **WebUI Port** or enter a custom port number.
|
||||||
|
:::info Allowed Port Numbers
|
||||||
|
Only numbers within the range 9000-65535 may be used on SCALE versions below TrueNAS Scale 24.10 Electric Eel.
|
||||||
|
|
||||||
|
Regardless of version, to avoid port conflicts, don't use [ports on this list](https://www.truenas.com/docs/references/defaultports/).
|
||||||
|
:::
|
||||||
|
|
||||||
|
### Storage Configuration
|
||||||
|
|
||||||
Immich requires seven storage datasets.
|
Immich requires seven storage datasets.
|
||||||
You can allow SCALE to create them for you, or use the dataset(s) created in [First Steps](#first-steps).
|
|
||||||
Select the storage options you want to use for **Immich Uploads Storage**, **Immich Library Storage**, **Immich Thumbs Storage**, **Immich Profile Storage**, **Immich Video Storage**, **Immich Postgres Data Storage**, **Immich Postgres Backup Storage**.
|
|
||||||
Select **ixVolume (dataset created automatically by the system)** in **Type** to let SCALE create the dataset or select **Host Path** to use the existing datasets created on the system.
|
|
||||||
|
|
||||||
Accept the defaults in Resources or change the CPU and memory limits to suit your use case.
|
<img
|
||||||
|
src={require('./img/truenas07.png').default}
|
||||||
|
width="20%"
|
||||||
|
alt="Configure Storage ixVolumes"
|
||||||
|
className="border rounded-xl"
|
||||||
|
/>
|
||||||
|
|
||||||
Click **Install**.
|
:::note Default Setting (Not recommended)
|
||||||
|
The default setting for datasets is **ixVolume (dataset created automatically by the system)** but this results in your data being harder to access manually and can result in data loss if you delete the immich app. (Not recommended)
|
||||||
|
:::
|
||||||
|
|
||||||
|
For each Storage option select **Host Path (Path that already exists on the system)** and then select the matching dataset [created before installing the app](#setting-up-storage-datasets): **Immich Library Storage**: `library`, **Immich Uploads Storage**: `upload`, **Immich Thumbs Storage**: `thumbs`, **Immich Profile Storage**: `profile`, **Immich Video Storage**: `video`, **Immich Backups Storage**: `backups`, **Postgres Data Storage**: `pgData`.
|
||||||
|
|
||||||
|
<img
|
||||||
|
src={require('./img/truenas08.png').default}
|
||||||
|
width="40%"
|
||||||
|
alt="Configure Storage Host Paths"
|
||||||
|
className="border rounded-xl"
|
||||||
|
/>
|
||||||
|
The image above has example values.
|
||||||
|
|
||||||
|
<br/>
|
||||||
|
|
||||||
|
### Additional Storage [(External Libraries)](/docs/features/libraries)
|
||||||
|
|
||||||
|
<img
|
||||||
|
src={require('./img/truenas10.png').default}
|
||||||
|
width="40%"
|
||||||
|
alt="Configure Storage Host Paths"
|
||||||
|
className="border rounded-xl"
|
||||||
|
/>
|
||||||
|
|
||||||
|
You may configure [External Libraries](/docs/features/libraries) by mounting them using **Additional Storage**.
|
||||||
|
The **Mount Path** is the loaction you will need to copy and paste into the External Library settings within Immich.
|
||||||
|
The **Host Path** is the location on the TrueNAS SCALE server where your external library is located.
|
||||||
|
|
||||||
|
<!-- A section for Labels would go here but I don't know what they do. -->
|
||||||
|
|
||||||
|
### Resources Configuration
|
||||||
|
|
||||||
|
<img
|
||||||
|
src={require('./img/truenas09.png').default}
|
||||||
|
width="40%"
|
||||||
|
alt="Resource Limits"
|
||||||
|
className="border rounded-xl"
|
||||||
|
/>
|
||||||
|
|
||||||
|
Accept the default **CPU** limit of `2` threads or specify the number of threads (CPUs with Multi-/Hyper-threading have 2 threads per core).
|
||||||
|
|
||||||
|
Accept the default **Memory** limit of `4096` MB or specify the number of MB of RAM. If you're using Machine Learning you should probably set this above 8000 MB.
|
||||||
|
|
||||||
|
:::info Older SCALE Versions
|
||||||
|
Before TrueNAS SCALE version 24.10 Electric Eel:
|
||||||
|
|
||||||
|
The **CPU** value was specified in a different format with a default of `4000m` which is 4 threads.
|
||||||
|
|
||||||
|
The **Memory** value was specified in a different format with a default of `8Gi` which is 8 GiB of RAM. The value was specified in bytes or a number with a measurement suffix. Examples: `129M`, `123Mi`, `1000000000`
|
||||||
|
:::
|
||||||
|
|
||||||
|
Enable **GPU Configuration** options if you have a GPU that you will use for [Hardware Transcoding](/docs/features/hardware-transcoding) and/or [Hardware-Accelerated Machine Learning](/docs/features/ml-hardware-acceleration.md). More info: [GPU Passtrough Docs for TrueNAS Apps](https://www.truenas.com/docs/truenasapps/#gpu-passthrough)
|
||||||
|
|
||||||
|
### Install
|
||||||
|
|
||||||
|
Finally, click **Install**.
|
||||||
The system opens the **Installed Applications** screen with the Immich app in the **Deploying** state.
|
The system opens the **Installed Applications** screen with the Immich app in the **Deploying** state.
|
||||||
When the installation completes it changes to **Running**.
|
When the installation completes it changes to **Running**.
|
||||||
|
|
||||||
@@ -97,102 +215,41 @@ Click **Web Portal** on the **Application Info** widget to open the Immich web i
|
|||||||
For more information on how to use the application once installed, please refer to the [Post Install](/docs/install/post-install.mdx) guide.
|
For more information on how to use the application once installed, please refer to the [Post Install](/docs/install/post-install.mdx) guide.
|
||||||
:::
|
:::
|
||||||
|
|
||||||
## Editing Environment Variables
|
## Edit App Settings
|
||||||
|
|
||||||
Go to the **Installed Applications** screen and select Immich from the list of installed applications.
|
- Go to the **Installed Applications** screen and select Immich from the list of installed applications.
|
||||||
Click **Edit** on the **Application Info** widget to open the **Edit Immich** screen.
|
- Click **Edit** on the **Application Info** widget to open the **Edit Immich** screen.
|
||||||
The settings on the edit screen are the same as on the install screen.
|
- Change any settings you would like to change.
|
||||||
You cannot edit **Storage Configuration** paths after the initial app install.
|
- The settings on the edit screen are the same as on the install screen.
|
||||||
|
- Click **Update** at the very bottom of the page to save changes.
|
||||||
|
- TrueNAS automatically updates, recreates, and redeploys the Immich container with the updated settings.
|
||||||
|
|
||||||
Click **Update** to save changes.
|
## Environment Variables
|
||||||
TrueNAS automatically updates, recreates, and redeploys the Immich container with the updated environment variables.
|
|
||||||
|
You can set [Environment Variables](/docs/install/environment-variables) by clicking **Add** on the **Additional Environment Variables** option and filling in the **Name** and **Value**.
|
||||||
|
|
||||||
|
<img
|
||||||
|
src={require('./img/truenas11.png').default}
|
||||||
|
width="40%"
|
||||||
|
alt="Environment Variables"
|
||||||
|
className="border rounded-xl"
|
||||||
|
/>
|
||||||
|
|
||||||
|
:::info
|
||||||
|
Some Environment Variables are not available for the TrueNAS SCALE app. This is mainly because they can be configured through GUI options in the [Edit Immich screen](#edit-app-settings).
|
||||||
|
|
||||||
|
Some examples are: `IMMICH_VERSION`, `UPLOAD_LOCATION`, `DB_DATA_LOCATION`, `TZ`, `IMMICH_LOG_LEVEL`, `DB_PASSWORD`, `REDIS_PASSWORD`.
|
||||||
|
:::
|
||||||
|
|
||||||
## Updating the App
|
## Updating the App
|
||||||
|
|
||||||
When updates become available, SCALE alerts and provides easy updates.
|
When updates become available, SCALE alerts and provides easy updates.
|
||||||
To update the app to the latest version, click **Update** on the **Application Info** widget from the **Installed Applications** screen.
|
To update the app to the latest version:
|
||||||
|
|
||||||
Update opens an update window for the application that includes two selectable options, Images (to be updated) and Changelog. Click on the down arrow to see the options available for each.
|
- Go to the **Installed Applications** screen and select Immich from the list of installed applications.
|
||||||
|
- Click **Update** on the **Application Info** widget from the **Installed Applications** screen.
|
||||||
Click **Upgrade** to begin the process and open a counter dialog that shows the upgrade progress. When complete, the update badge and buttons disappear and the application Update state on the Installed screen changes from Update Available to Up to date.
|
- This opens an update window with some options
|
||||||
|
- You may select an Image update too.
|
||||||
## Understanding Immich Settings in TrueNAS SCALE
|
- You may view the Changelog.
|
||||||
|
- Click **Upgrade** to begin the process and open a counter dialog that shows the upgrade progress.
|
||||||
Accept the default value or enter a name in **Application Name** field.
|
- When complete, the update badge and buttons disappear and the application Update state on the Installed screen changes from Update Available to Up to date.
|
||||||
In most cases use the default name, but if adding a second deployment of the application you must change this name.
|
|
||||||
|
|
||||||
Accept the default version number in **Version**.
|
|
||||||
When a new version becomes available, the application has an update badge.
|
|
||||||
The **Installed Applications** screen shows the option to update applications.
|
|
||||||
|
|
||||||
### Immich Configuration Settings
|
|
||||||
|
|
||||||
You can accept the defaults in the **Immich Configuration** settings, or enter the settings you want to use.
|
|
||||||
|
|
||||||
<img
|
|
||||||
src={require('./img/truenas05.png').default}
|
|
||||||
width="100%"
|
|
||||||
alt="Configuration Settings"
|
|
||||||
className="border rounded-xl"
|
|
||||||
/>
|
|
||||||
|
|
||||||
Accept the default setting in **Timezone** or change to match your local timezone.
|
|
||||||
**Timezone** is only used by the Immich `exiftool` microservice if it cannot be determined from the image metadata.
|
|
||||||
|
|
||||||
You can enter a **Public Login Message** to display on the login page, or leave it blank.
|
|
||||||
|
|
||||||
### Networking Settings
|
|
||||||
|
|
||||||
Accept the default port numbers in **Web Port**.
|
|
||||||
The SCALE Immich app listens on port **30041**.
|
|
||||||
|
|
||||||
Refer to the TrueNAS [default port list](https://www.truenas.com/docs/references/defaultports/) for a list of assigned port numbers.
|
|
||||||
To change the port numbers, enter a number within the range 9000-65535.
|
|
||||||
|
|
||||||
<img
|
|
||||||
src={require('./img/truenas06.png').default}
|
|
||||||
width="100%"
|
|
||||||
alt="Networking Settings"
|
|
||||||
className="border rounded-xl"
|
|
||||||
/>
|
|
||||||
|
|
||||||
### Storage Settings
|
|
||||||
|
|
||||||
You can install Immich using the default setting **ixVolume (dataset created automatically by the system)** or use the host path option with datasets [created before installing the app](#first-steps).
|
|
||||||
|
|
||||||
<img
|
|
||||||
src={require('./img/truenas07.png').default}
|
|
||||||
width="100%"
|
|
||||||
alt="Configure Storage ixVolumes"
|
|
||||||
className="border rounded-xl"
|
|
||||||
/>
|
|
||||||
|
|
||||||
Select **Host Path (Path that already exists on the system)** to browse to and select the datasets.
|
|
||||||
|
|
||||||
<img
|
|
||||||
src={require('./img/truenas08.png').default}
|
|
||||||
width="100%"
|
|
||||||
alt="Configure Storage Host Paths"
|
|
||||||
className="border rounded-xl"
|
|
||||||
/>
|
|
||||||
|
|
||||||
### Resource Configuration Settings
|
|
||||||
|
|
||||||
Accept the default values in **Resources Configuration** or enter new CPU and memory values
|
|
||||||
By default, this application is limited to use no more than 4 CPU cores and 8 Gigabytes available memory. The application might use considerably less system resources.
|
|
||||||
|
|
||||||
<img
|
|
||||||
src={require('./img/truenas09.png').default}
|
|
||||||
width="100%"
|
|
||||||
alt="Resource Limits"
|
|
||||||
className="border rounded-xl"
|
|
||||||
/>
|
|
||||||
|
|
||||||
To customize the CPU and memory allocated to the container Immich uses, enter new CPU values as a plain integer value followed by the suffix m (milli).
|
|
||||||
Default is 4000m.
|
|
||||||
|
|
||||||
Accept the default value 8Gi allocated memory or enter a new limit in bytes.
|
|
||||||
Enter a plain integer followed by the measurement suffix, for example 129M or 123Mi.
|
|
||||||
|
|
||||||
Systems with compatible GPU(s) display devices in **GPU Configuration**.
|
|
||||||
See [Managing GPUs](https://www.truenas.com/docs/scale/scaletutorials/systemsettings/advanced/managegpuscale/) for more information about allocating isolated GPU devices in TrueNAS SCALE.
|
|
||||||
|
|||||||
@@ -77,6 +77,7 @@ alt="Select Plugins > Compose.Manager > Add New Stack > Label it Immich"
|
|||||||
7. Paste the entire contents of the [Immich example.env](https://github.com/immich-app/immich/releases/latest/download/example.env) file into the Unraid editor, then **before saving** edit the following:
|
7. Paste the entire contents of the [Immich example.env](https://github.com/immich-app/immich/releases/latest/download/example.env) file into the Unraid editor, then **before saving** edit the following:
|
||||||
|
|
||||||
- `UPLOAD_LOCATION`: Create a folder in your Images Unraid share and place the **absolute** location here > For example my _"images"_ share has a folder within it called _"immich"_. If I browse to this directory in the terminal and type `pwd` the output is `/mnt/user/images/immich`. This is the exact value I need to enter as my `UPLOAD_LOCATION`
|
- `UPLOAD_LOCATION`: Create a folder in your Images Unraid share and place the **absolute** location here > For example my _"images"_ share has a folder within it called _"immich"_. If I browse to this directory in the terminal and type `pwd` the output is `/mnt/user/images/immich`. This is the exact value I need to enter as my `UPLOAD_LOCATION`
|
||||||
|
- `DB_DATA_LOCATION`: Change this to use an Unraid share (preferably a cache pool, e.g. `/mnt/user/appdata`). If left at default it will try to use Unraid's `/boot/config/plugins/compose.manager/projects/[stack_name]/postgres` folder which it doesn't have permissions to, resulting in this container continuously restarting.
|
||||||
|
|
||||||
<img
|
<img
|
||||||
src={require('./img/unraid05.webp').default}
|
src={require('./img/unraid05.webp').default}
|
||||||
|
|||||||
@@ -56,6 +56,7 @@ import MobileAppBackup from '/docs/partials/_mobile-app-backup.md';
|
|||||||
|
|
||||||
The backup time differs depending on how many photos are on your mobile device. Large uploads may
|
The backup time differs depending on how many photos are on your mobile device. Large uploads may
|
||||||
take quite a while.
|
take quite a while.
|
||||||
|
To quickly get going, you can selectively upload few photos first, by following this [guide](/docs/features/mobile-app#sync-only-selected-photos).
|
||||||
|
|
||||||
You can select the **Jobs** tab to see Immich processing your photos.
|
You can select the **Jobs** tab to see Immich processing your photos.
|
||||||
|
|
||||||
|
|||||||
@@ -16,5 +16,9 @@ Support the project by localizing on [Weblate](https://hosted.weblate.org/projec
|
|||||||
|
|
||||||
If you are a programmer or developer, take a look at Immich's [technology stack](/docs/developer/architecture.mdx) and consider fixing bugs or building new features. The team and I are always looking for new contributors. For information about how to contribute as a developer, see the [Developer](/docs/developer/architecture.mdx) section.
|
If you are a programmer or developer, take a look at Immich's [technology stack](/docs/developer/architecture.mdx) and consider fixing bugs or building new features. The team and I are always looking for new contributors. For information about how to contribute as a developer, see the [Developer](/docs/developer/architecture.mdx) section.
|
||||||
|
|
||||||
|
## Purchase Immich
|
||||||
|
|
||||||
|
You can also [purchase Immich](https://buy.immich.app), for either one user or your entire server. Building Immich takes a lot of time and effort, and we have full-time engineers working on it to make it as good as we possibly can, so any support is greatly appreciated. Don't worry, all features will be free, forever! Nothing will ever be put behind any paywalls.
|
||||||
|
|
||||||
[github-issue]: https://github.com/immich-app/immich/issues/new/choose
|
[github-issue]: https://github.com/immich-app/immich/issues/new/choose
|
||||||
[github-langs]: https://github.com/immich-app/immich/tree/main/mobile/assets/i18n
|
[github-langs]: https://github.com/immich-app/immich/tree/main/mobile/assets/i18n
|
||||||
|
|||||||
@@ -1,9 +1,9 @@
|
|||||||
Navigate to the backup screen by clicking on the cloud icon in the top right corner of the screen.
|
1. Navigate to the backup screen by clicking on the cloud icon in the top right corner of the screen.
|
||||||
|
|
||||||
<img src={require('./img/backup-header.png').default} width='50%' title='Backup button' />
|
<img src={require('./img/backup-header.png').default} width='50%' title='Backup button' />
|
||||||
|
|
||||||
You can select which album(s) you want to back up to the Immich server from the backup screen.
|
2. You can select which album(s) you want to back up to the Immich server from the backup screen.
|
||||||
|
|
||||||
<img src={require('./img/album-selection.png').default} width='50%' title='Backup button' />
|
<img src={require('./img/album-selection.png').default} width='50%' title='Backup button' />
|
||||||
|
|
||||||
Scroll down to the bottom and press "**Start Backup**" to start the backup process.
|
3. Scroll down to the bottom and press "**Start Backup**" to start the backup process. This will upload all the assets in the selected albums.
|
||||||
|
|||||||
@@ -31,5 +31,5 @@ Immich also provides a mechanism to migrate between templates so that if the tem
|
|||||||
If you want to store assets in album folders, but you also have assets that do not belong to any album, you can use `{{#if album}}`, `{{else}}` and `{{/if}}` to create a conditional statement. For example, the following template will store assets in album folders if they belong to an album, and in a folder named "Other/Month" if they do not belong to an album:
|
If you want to store assets in album folders, but you also have assets that do not belong to any album, you can use `{{#if album}}`, `{{else}}` and `{{/if}}` to create a conditional statement. For example, the following template will store assets in album folders if they belong to an album, and in a folder named "Other/Month" if they do not belong to an album:
|
||||||
|
|
||||||
```
|
```
|
||||||
{{y}}/{{#if album}}{{album}}{{else}}Other/{{MM}}{{/if}}/{{filename}}
|
{{y}}/{{#if album}}{{album}}{{else}}Other{{/if}}/{{MM}}/{{filename}}
|
||||||
```
|
```
|
||||||
|
|||||||
@@ -3006,9 +3006,10 @@
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/@mdx-js/react": {
|
"node_modules/@mdx-js/react": {
|
||||||
"version": "3.0.1",
|
"version": "3.1.0",
|
||||||
"resolved": "https://registry.npmjs.org/@mdx-js/react/-/react-3.0.1.tgz",
|
"resolved": "https://registry.npmjs.org/@mdx-js/react/-/react-3.1.0.tgz",
|
||||||
"integrity": "sha512-9ZrPIU4MGf6et1m1ov3zKf+q9+deetI51zprKB1D/z3NOb+rUxxtEl3mCjW5wTGh6VhRdwPueh1oRzi6ezkA8A==",
|
"integrity": "sha512-QjHtSaoameoalGnKDT3FoIl4+9RwyTmo9ZJGBdLOks/YOiWHoRDI3PUwEzOE7kEmGcV3AFcp9K6dYu9rEuKLAQ==",
|
||||||
|
"license": "MIT",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"@types/mdx": "^2.0.0"
|
"@types/mdx": "^2.0.0"
|
||||||
},
|
},
|
||||||
@@ -16092,9 +16093,9 @@
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/tailwindcss": {
|
"node_modules/tailwindcss": {
|
||||||
"version": "3.4.13",
|
"version": "3.4.14",
|
||||||
"resolved": "https://registry.npmjs.org/tailwindcss/-/tailwindcss-3.4.13.tgz",
|
"resolved": "https://registry.npmjs.org/tailwindcss/-/tailwindcss-3.4.14.tgz",
|
||||||
"integrity": "sha512-KqjHOJKogOUt5Bs752ykCeiwvi0fKVkr5oqsFNt/8px/tA8scFPIlkygsf6jXrfCqGHz7VflA6+yytWuM+XhFw==",
|
"integrity": "sha512-IcSvOcTRcUtQQ7ILQL5quRDg7Xs93PdJEk1ZLbhhvJc7uj/OAhYOnruEiwnGgBvUtaUAJ8/mhSw1o8L2jCiENA==",
|
||||||
"license": "MIT",
|
"license": "MIT",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"@alloc/quick-lru": "^5.2.0",
|
"@alloc/quick-lru": "^5.2.0",
|
||||||
|
|||||||
@@ -56,6 +56,6 @@
|
|||||||
"node": ">=20"
|
"node": ">=20"
|
||||||
},
|
},
|
||||||
"volta": {
|
"volta": {
|
||||||
"node": "20.18.0"
|
"node": "22.11.0"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -35,19 +35,24 @@ const guides: CommunityGuidesProps[] = [
|
|||||||
},
|
},
|
||||||
{
|
{
|
||||||
title: 'Google Photos import + albums',
|
title: 'Google Photos import + albums',
|
||||||
description: 'Import your Google Photos files into Immich and add your albums',
|
description: 'Import your Google Photos files into Immich and add your albums.',
|
||||||
url: 'https://github.com/immich-app/immich/discussions/1340',
|
url: 'https://github.com/immich-app/immich/discussions/1340',
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
title: 'Access Immich with custom domain',
|
title: 'Access Immich with custom domain',
|
||||||
description: 'Access your local Immich installation over the internet using your own 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',
|
url: 'https://github.com/ppr88/immich-guides/blob/main/open-immich-custom-domain.md',
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
title: 'Nginx caching map server',
|
title: 'Nginx caching map server',
|
||||||
description: 'Increase privacy by using nginx as a caching proxy in front of a map tile 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',
|
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',
|
||||||
|
},
|
||||||
];
|
];
|
||||||
|
|
||||||
function CommunityGuide({ title, description, url }: CommunityGuidesProps): JSX.Element {
|
function CommunityGuide({ title, description, url }: CommunityGuidesProps): JSX.Element {
|
||||||
|
|||||||
@@ -83,6 +83,12 @@ const projects: CommunityProjectProps[] = [
|
|||||||
description: 'Power tools for organizing your immich library.',
|
description: 'Power tools for organizing your immich library.',
|
||||||
url: 'https://github.com/varun-raj/immich-power-tools',
|
url: 'https://github.com/varun-raj/immich-power-tools',
|
||||||
},
|
},
|
||||||
|
{
|
||||||
|
title: 'Immich Public Proxy',
|
||||||
|
description:
|
||||||
|
'Share your Immich photos and albums in a safe way without exposing your Immich instance to the public.',
|
||||||
|
url: 'https://github.com/alangrainger/immich-public-proxy',
|
||||||
|
},
|
||||||
];
|
];
|
||||||
|
|
||||||
function CommunityProject({ title, description, url }: CommunityProjectProps): JSX.Element {
|
function CommunityProject({ title, description, url }: CommunityProjectProps): JSX.Element {
|
||||||
|
|||||||
@@ -49,7 +49,7 @@ export function Timeline({ items }: Props): JSX.Element {
|
|||||||
<div className="flex flex-col flex-grow justify-between gap-2">
|
<div className="flex flex-col flex-grow justify-between gap-2">
|
||||||
<div className="flex gap-2 items-center">
|
<div className="flex gap-2 items-center">
|
||||||
{cardIcon === 'immich' ? (
|
{cardIcon === 'immich' ? (
|
||||||
<img src="img/immich-logo.svg" height="30" className="rounded-none" />
|
<img src="/img/immich-logo.svg" height="30" className="rounded-none" />
|
||||||
) : (
|
) : (
|
||||||
<Icon path={cardIcon} size={1} color={item.iconColor} />
|
<Icon path={cardIcon} size={1} color={item.iconColor} />
|
||||||
)}
|
)}
|
||||||
|
|||||||
@@ -74,12 +74,14 @@ import {
|
|||||||
mdiFaceRecognition,
|
mdiFaceRecognition,
|
||||||
mdiVideo,
|
mdiVideo,
|
||||||
mdiWeb,
|
mdiWeb,
|
||||||
|
mdiDatabaseOutline,
|
||||||
} from '@mdi/js';
|
} from '@mdi/js';
|
||||||
import Layout from '@theme/Layout';
|
import Layout from '@theme/Layout';
|
||||||
import React from 'react';
|
import React from 'react';
|
||||||
import { Item, Timeline } from '../components/timeline';
|
import { Item, Timeline } from '../components/timeline';
|
||||||
|
|
||||||
const releases = {
|
const releases = {
|
||||||
|
'v1.120.0': new Date(2024, 10, 6),
|
||||||
'v1.114.0': new Date(2024, 8, 6),
|
'v1.114.0': new Date(2024, 8, 6),
|
||||||
'v1.113.0': new Date(2024, 7, 30),
|
'v1.113.0': new Date(2024, 7, 30),
|
||||||
'v1.112.0': new Date(2024, 7, 14),
|
'v1.112.0': new Date(2024, 7, 14),
|
||||||
@@ -151,6 +153,9 @@ const weirdTags = {
|
|||||||
'v1.2.0': 'v0.2-dev ',
|
'v1.2.0': 'v0.2-dev ',
|
||||||
};
|
};
|
||||||
|
|
||||||
|
const title = 'Roadmap';
|
||||||
|
const description = 'A list of future plans and goals, as well as past achievements and milestones.';
|
||||||
|
|
||||||
const withLanguage = (date: Date) => (language: string) => date.toLocaleDateString(language);
|
const withLanguage = (date: Date) => (language: string) => date.toLocaleDateString(language);
|
||||||
|
|
||||||
type Base = { icon: string; iconColor?: React.CSSProperties['color']; title: string; description: string };
|
type Base = { icon: string; iconColor?: React.CSSProperties['color']; title: string; description: string };
|
||||||
@@ -175,6 +180,38 @@ const withRelease = ({
|
|||||||
};
|
};
|
||||||
|
|
||||||
const roadmap: Item[] = [
|
const roadmap: Item[] = [
|
||||||
|
{
|
||||||
|
done: false,
|
||||||
|
icon: mdiFlash,
|
||||||
|
iconColor: 'gold',
|
||||||
|
title: 'Workflows',
|
||||||
|
description: 'Automate tasks with workflows',
|
||||||
|
getDateLabel: () => 'Planned for 2025',
|
||||||
|
},
|
||||||
|
{
|
||||||
|
done: false,
|
||||||
|
icon: mdiTableKey,
|
||||||
|
iconColor: 'gray',
|
||||||
|
title: 'Fine grained access controls',
|
||||||
|
description: 'Granular access controls for users and api keys',
|
||||||
|
getDateLabel: () => 'Planned for 2025',
|
||||||
|
},
|
||||||
|
{
|
||||||
|
done: false,
|
||||||
|
icon: mdiImageEdit,
|
||||||
|
iconColor: 'rebeccapurple',
|
||||||
|
title: 'Basic editor',
|
||||||
|
description: 'Basic photo editing capabilities',
|
||||||
|
getDateLabel: () => 'Planned for 2025',
|
||||||
|
},
|
||||||
|
{
|
||||||
|
done: false,
|
||||||
|
icon: mdiRocketLaunch,
|
||||||
|
iconColor: 'indianred',
|
||||||
|
title: 'Stable release',
|
||||||
|
description: 'Immich goes stable',
|
||||||
|
getDateLabel: () => 'Planned for early 2025',
|
||||||
|
},
|
||||||
{
|
{
|
||||||
done: false,
|
done: false,
|
||||||
icon: mdiLockOutline,
|
icon: mdiLockOutline,
|
||||||
@@ -183,14 +220,6 @@ const roadmap: Item[] = [
|
|||||||
description: 'Private assets with extra protections',
|
description: 'Private assets with extra protections',
|
||||||
getDateLabel: () => 'Planned for 2024',
|
getDateLabel: () => 'Planned for 2024',
|
||||||
},
|
},
|
||||||
{
|
|
||||||
done: false,
|
|
||||||
icon: mdiRocketLaunch,
|
|
||||||
iconColor: 'indianred',
|
|
||||||
title: 'Stable release',
|
|
||||||
description: 'Immich goes stable',
|
|
||||||
getDateLabel: () => 'Planned for 2024',
|
|
||||||
},
|
|
||||||
{
|
{
|
||||||
done: false,
|
done: false,
|
||||||
icon: mdiCloudUploadOutline,
|
icon: mdiCloudUploadOutline,
|
||||||
@@ -199,30 +228,6 @@ const roadmap: Item[] = [
|
|||||||
description: 'Rework background backups to be more reliable',
|
description: 'Rework background backups to be more reliable',
|
||||||
getDateLabel: () => 'Planned for 2024',
|
getDateLabel: () => 'Planned for 2024',
|
||||||
},
|
},
|
||||||
{
|
|
||||||
done: false,
|
|
||||||
icon: mdiImageEdit,
|
|
||||||
iconColor: 'rebeccapurple',
|
|
||||||
title: 'Basic editor',
|
|
||||||
description: 'Basic photo editing capabilities',
|
|
||||||
getDateLabel: () => 'Planned for 2024',
|
|
||||||
},
|
|
||||||
{
|
|
||||||
done: false,
|
|
||||||
icon: mdiFlash,
|
|
||||||
iconColor: 'gold',
|
|
||||||
title: 'Workflows',
|
|
||||||
description: 'Automate tasks with workflows',
|
|
||||||
getDateLabel: () => 'Planned for 2024',
|
|
||||||
},
|
|
||||||
{
|
|
||||||
done: false,
|
|
||||||
icon: mdiTableKey,
|
|
||||||
iconColor: 'gray',
|
|
||||||
title: 'Fine grained access controls',
|
|
||||||
description: 'Granular access controls for users and api keys',
|
|
||||||
getDateLabel: () => 'Planned for 2024',
|
|
||||||
},
|
|
||||||
{
|
{
|
||||||
done: false,
|
done: false,
|
||||||
icon: mdiCameraBurst,
|
icon: mdiCameraBurst,
|
||||||
@@ -234,6 +239,20 @@ const roadmap: Item[] = [
|
|||||||
];
|
];
|
||||||
|
|
||||||
const milestones: Item[] = [
|
const milestones: Item[] = [
|
||||||
|
withRelease({
|
||||||
|
icon: mdiDatabaseOutline,
|
||||||
|
iconColor: 'brown',
|
||||||
|
title: 'Automatic database backups',
|
||||||
|
description: 'Database backups are now integrated into the Immich server',
|
||||||
|
release: 'v1.120.0',
|
||||||
|
}),
|
||||||
|
{
|
||||||
|
icon: mdiStar,
|
||||||
|
iconColor: 'gold',
|
||||||
|
title: '50,000 Stars',
|
||||||
|
description: 'Reached 50K Stars on GitHub!',
|
||||||
|
getDateLabel: withLanguage(new Date(2024, 10, 1)),
|
||||||
|
},
|
||||||
withRelease({
|
withRelease({
|
||||||
icon: mdiFaceRecognition,
|
icon: mdiFaceRecognition,
|
||||||
title: 'Metadata Face Import',
|
title: 'Metadata Face Import',
|
||||||
@@ -853,14 +872,12 @@ const milestones: Item[] = [
|
|||||||
|
|
||||||
export default function MilestonePage(): JSX.Element {
|
export default function MilestonePage(): JSX.Element {
|
||||||
return (
|
return (
|
||||||
<Layout title="Milestones" description="History of Immich">
|
<Layout title={title} description={description}>
|
||||||
<section className="my-8">
|
<section className="my-8">
|
||||||
<h1 className="md:text-6xl text-center mb-10 text-immich-primary dark:text-immich-dark-primary px-2">
|
<h1 className="md:text-6xl text-center mb-10 text-immich-primary dark:text-immich-dark-primary px-2">
|
||||||
Roadmap
|
{title}
|
||||||
</h1>
|
</h1>
|
||||||
<p className="text-center text-xl px-2">
|
<p className="text-center text-xl px-2">{description}</p>
|
||||||
A list of future plans and goals, as well as past achievements and milestones.
|
|
||||||
</p>
|
|
||||||
<div className="flex justify-around mt-8 w-full max-w-full">
|
<div className="flex justify-around mt-8 w-full max-w-full">
|
||||||
<Timeline items={[...roadmap, ...milestones]} />
|
<Timeline items={[...roadmap, ...milestones]} />
|
||||||
</div>
|
</div>
|
||||||
|
|||||||
@@ -1,4 +1,28 @@
|
|||||||
[
|
[
|
||||||
|
{
|
||||||
|
"label": "v1.121.0",
|
||||||
|
"url": "https://v1.121.0.archive.immich.app"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"label": "v1.120.2",
|
||||||
|
"url": "https://v1.120.2.archive.immich.app"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"label": "v1.120.1",
|
||||||
|
"url": "https://v1.120.1.archive.immich.app"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"label": "v1.120.0",
|
||||||
|
"url": "https://v1.120.0.archive.immich.app"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"label": "v1.119.1",
|
||||||
|
"url": "https://v1.119.1.archive.immich.app"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"label": "v1.119.0",
|
||||||
|
"url": "https://v1.119.0.archive.immich.app"
|
||||||
|
},
|
||||||
{
|
{
|
||||||
"label": "v1.118.2",
|
"label": "v1.118.2",
|
||||||
"url": "https://v1.118.2.archive.immich.app"
|
"url": "https://v1.118.2.archive.immich.app"
|
||||||
|
|||||||
@@ -1 +1 @@
|
|||||||
20.18.0
|
22.11.0
|
||||||
|
|||||||
@@ -19,7 +19,7 @@ services:
|
|||||||
- DB_PASSWORD=postgres
|
- DB_PASSWORD=postgres
|
||||||
- DB_DATABASE_NAME=immich
|
- DB_DATABASE_NAME=immich
|
||||||
- IMMICH_MACHINE_LEARNING_ENABLED=false
|
- IMMICH_MACHINE_LEARNING_ENABLED=false
|
||||||
- IMMICH_METRICS=true
|
- IMMICH_TELEMETRY_INCLUDE=all
|
||||||
- IMMICH_ENV=testing
|
- IMMICH_ENV=testing
|
||||||
- IMMICH_PORT=2285
|
- IMMICH_PORT=2285
|
||||||
- IMMICH_IGNORE_MOUNT_CHECK_ERRORS=true
|
- IMMICH_IGNORE_MOUNT_CHECK_ERRORS=true
|
||||||
@@ -34,7 +34,7 @@ services:
|
|||||||
- 2285:2285
|
- 2285:2285
|
||||||
|
|
||||||
redis:
|
redis:
|
||||||
image: redis:6.2-alpine@sha256:2ba50e1ac3a0ea17b736ce9db2b0a9f6f8b85d4c27d5f5accc6a416d8f42c6d5
|
image: redis:6.2-alpine@sha256:eaba718fecd1196d88533de7ba49bf903ad33664a92debb24660a922ecd9cac8
|
||||||
|
|
||||||
database:
|
database:
|
||||||
image: tensorchord/pgvecto-rs:pg14-v0.2.0@sha256:90724186f0a3517cf6914295b5ab410db9ce23190a2d9d0b9dd6463e3fa298f0
|
image: tensorchord/pgvecto-rs:pg14-v0.2.0@sha256:90724186f0a3517cf6914295b5ab410db9ce23190a2d9d0b9dd6463e3fa298f0
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
{
|
{
|
||||||
"name": "immich-e2e",
|
"name": "immich-e2e",
|
||||||
"version": "1.118.2",
|
"version": "1.121.0",
|
||||||
"description": "",
|
"description": "",
|
||||||
"main": "index.js",
|
"main": "index.js",
|
||||||
"type": "module",
|
"type": "module",
|
||||||
@@ -25,7 +25,7 @@
|
|||||||
"@immich/sdk": "file:../open-api/typescript-sdk",
|
"@immich/sdk": "file:../open-api/typescript-sdk",
|
||||||
"@playwright/test": "^1.44.1",
|
"@playwright/test": "^1.44.1",
|
||||||
"@types/luxon": "^3.4.2",
|
"@types/luxon": "^3.4.2",
|
||||||
"@types/node": "^20.16.11",
|
"@types/node": "^22.9.0",
|
||||||
"@types/oidc-provider": "^8.5.1",
|
"@types/oidc-provider": "^8.5.1",
|
||||||
"@types/pg": "^8.11.0",
|
"@types/pg": "^8.11.0",
|
||||||
"@types/pngjs": "^6.0.4",
|
"@types/pngjs": "^6.0.4",
|
||||||
@@ -53,6 +53,6 @@
|
|||||||
"vitest": "^2.0.5"
|
"vitest": "^2.0.5"
|
||||||
},
|
},
|
||||||
"volta": {
|
"volta": {
|
||||||
"node": "20.18.0"
|
"node": "22.11.0"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -141,6 +141,7 @@ describe('/albums', () => {
|
|||||||
expect(body).toEqual({
|
expect(body).toEqual({
|
||||||
...user1Albums[0],
|
...user1Albums[0],
|
||||||
assets: [expect.objectContaining({ isFavorite: false })],
|
assets: [expect.objectContaining({ isFavorite: false })],
|
||||||
|
lastModifiedAssetTimestamp: expect.any(String),
|
||||||
});
|
});
|
||||||
});
|
});
|
||||||
|
|
||||||
@@ -297,6 +298,7 @@ describe('/albums', () => {
|
|||||||
expect(body).toEqual({
|
expect(body).toEqual({
|
||||||
...user1Albums[0],
|
...user1Albums[0],
|
||||||
assets: [expect.objectContaining({ id: user1Albums[0].assets[0].id })],
|
assets: [expect.objectContaining({ id: user1Albums[0].assets[0].id })],
|
||||||
|
lastModifiedAssetTimestamp: expect.any(String),
|
||||||
});
|
});
|
||||||
});
|
});
|
||||||
|
|
||||||
@@ -327,6 +329,7 @@ describe('/albums', () => {
|
|||||||
expect(body).toEqual({
|
expect(body).toEqual({
|
||||||
...user1Albums[0],
|
...user1Albums[0],
|
||||||
assets: [expect.objectContaining({ id: user1Albums[0].assets[0].id })],
|
assets: [expect.objectContaining({ id: user1Albums[0].assets[0].id })],
|
||||||
|
lastModifiedAssetTimestamp: expect.any(String),
|
||||||
});
|
});
|
||||||
});
|
});
|
||||||
|
|
||||||
@@ -340,6 +343,7 @@ describe('/albums', () => {
|
|||||||
...user1Albums[0],
|
...user1Albums[0],
|
||||||
assets: [],
|
assets: [],
|
||||||
assetCount: 1,
|
assetCount: 1,
|
||||||
|
lastModifiedAssetTimestamp: expect.any(String),
|
||||||
});
|
});
|
||||||
});
|
});
|
||||||
});
|
});
|
||||||
|
|||||||
@@ -1148,6 +1148,78 @@ describe('/asset', () => {
|
|||||||
},
|
},
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
|
{
|
||||||
|
input: 'formats/raw/Canon/PowerShot_G12.CR2',
|
||||||
|
expected: {
|
||||||
|
type: AssetTypeEnum.Image,
|
||||||
|
originalFileName: 'PowerShot_G12.CR2',
|
||||||
|
fileCreatedAt: '2015-12-27T09:55:40.000Z',
|
||||||
|
exifInfo: {
|
||||||
|
make: 'Canon',
|
||||||
|
model: 'Canon PowerShot G12',
|
||||||
|
exifImageHeight: 2736,
|
||||||
|
exifImageWidth: 3648,
|
||||||
|
exposureTime: '1/1000',
|
||||||
|
fNumber: 4,
|
||||||
|
focalLength: 18.098,
|
||||||
|
iso: 80,
|
||||||
|
lensModel: null,
|
||||||
|
fileSizeInByte: 11_113_617,
|
||||||
|
dateTimeOriginal: '2015-12-27T09:55:40.000Z',
|
||||||
|
latitude: null,
|
||||||
|
longitude: null,
|
||||||
|
orientation: '1',
|
||||||
|
},
|
||||||
|
},
|
||||||
|
},
|
||||||
|
{
|
||||||
|
input: 'formats/raw/Fujifilm/X100V_compressed.RAF',
|
||||||
|
expected: {
|
||||||
|
type: AssetTypeEnum.Image,
|
||||||
|
originalFileName: 'X100V_compressed.RAF',
|
||||||
|
fileCreatedAt: '2024-10-12T21:01:01.000Z',
|
||||||
|
exifInfo: {
|
||||||
|
make: 'FUJIFILM',
|
||||||
|
model: 'X100V',
|
||||||
|
exifImageHeight: 4160,
|
||||||
|
exifImageWidth: 6240,
|
||||||
|
exposureTime: '1/4000',
|
||||||
|
fNumber: 16,
|
||||||
|
focalLength: 23,
|
||||||
|
iso: 160,
|
||||||
|
lensModel: null,
|
||||||
|
fileSizeInByte: 13_551_312,
|
||||||
|
dateTimeOriginal: '2024-10-12T21:01:01.000Z',
|
||||||
|
latitude: null,
|
||||||
|
longitude: null,
|
||||||
|
orientation: '6',
|
||||||
|
},
|
||||||
|
},
|
||||||
|
},
|
||||||
|
{
|
||||||
|
input: 'formats/raw/Ricoh/GR3/Ricoh_GR3-450.DNG',
|
||||||
|
expected: {
|
||||||
|
type: AssetTypeEnum.Image,
|
||||||
|
originalFileName: 'Ricoh_GR3-450.DNG',
|
||||||
|
fileCreatedAt: '2024-06-08T13:48:39.000Z',
|
||||||
|
exifInfo: {
|
||||||
|
dateTimeOriginal: '2024-06-08T13:48:39.000Z',
|
||||||
|
exifImageHeight: 4064,
|
||||||
|
exifImageWidth: 6112,
|
||||||
|
exposureTime: '1/400',
|
||||||
|
fNumber: 5,
|
||||||
|
fileSizeInByte: 31_175_472,
|
||||||
|
focalLength: 18.3,
|
||||||
|
iso: 100,
|
||||||
|
latitude: 36.613_24,
|
||||||
|
lensModel: 'GR LENS 18.3mm F2.8',
|
||||||
|
longitude: -121.897_85,
|
||||||
|
make: 'RICOH IMAGING COMPANY, LTD.',
|
||||||
|
model: 'RICOH GR III',
|
||||||
|
orientation: '1',
|
||||||
|
},
|
||||||
|
},
|
||||||
|
},
|
||||||
];
|
];
|
||||||
|
|
||||||
it(`should upload and generate a thumbnail for different file types`, async () => {
|
it(`should upload and generate a thumbnail for different file types`, async () => {
|
||||||
|
|||||||
@@ -633,6 +633,29 @@ describe('/libraries', () => {
|
|||||||
});
|
});
|
||||||
});
|
});
|
||||||
|
|
||||||
|
it("should fail if path isn't absolute", async () => {
|
||||||
|
const pathToTest = `relative/path`;
|
||||||
|
|
||||||
|
const cwd = process.cwd();
|
||||||
|
// Create directory in cwd
|
||||||
|
utils.createDirectory(`${cwd}/${pathToTest}`);
|
||||||
|
|
||||||
|
const response = await utils.validateLibrary(admin.accessToken, library.id, {
|
||||||
|
importPaths: [pathToTest],
|
||||||
|
});
|
||||||
|
|
||||||
|
utils.removeDirectory(`${cwd}/${pathToTest}`);
|
||||||
|
|
||||||
|
expect(response.importPaths?.length).toEqual(1);
|
||||||
|
const pathResponse = response?.importPaths?.at(0);
|
||||||
|
|
||||||
|
expect(pathResponse).toEqual({
|
||||||
|
importPath: pathToTest,
|
||||||
|
isValid: false,
|
||||||
|
message: expect.stringMatching('Import path must be absolute, try /usr/src/app/relative/path'),
|
||||||
|
});
|
||||||
|
});
|
||||||
|
|
||||||
it('should fail if path is a file', async () => {
|
it('should fail if path is a file', async () => {
|
||||||
const pathToTest = `${testAssetDirInternal}/albums/nature/el_torcal_rocks.jpg`;
|
const pathToTest = `${testAssetDirInternal}/albums/nature/el_torcal_rocks.jpg`;
|
||||||
|
|
||||||
|
|||||||
@@ -473,10 +473,7 @@ describe('/search', () => {
|
|||||||
.get('/search/explore')
|
.get('/search/explore')
|
||||||
.set('Authorization', `Bearer ${admin.accessToken}`);
|
.set('Authorization', `Bearer ${admin.accessToken}`);
|
||||||
expect(status).toBe(200);
|
expect(status).toBe(200);
|
||||||
expect(body).toEqual([
|
expect(body).toEqual([{ fieldName: 'exifInfo.city', items: [] }]);
|
||||||
{ fieldName: 'exifInfo.city', items: [] },
|
|
||||||
{ fieldName: 'smartInfo.tags', items: [] },
|
|
||||||
]);
|
|
||||||
});
|
});
|
||||||
});
|
});
|
||||||
|
|
||||||
|
|||||||
@@ -163,11 +163,15 @@ describe('/server', () => {
|
|||||||
expect(body).toEqual({
|
expect(body).toEqual({
|
||||||
photos: 0,
|
photos: 0,
|
||||||
usage: 0,
|
usage: 0,
|
||||||
|
usagePhotos: 0,
|
||||||
|
usageVideos: 0,
|
||||||
usageByUser: [
|
usageByUser: [
|
||||||
{
|
{
|
||||||
quotaSizeInBytes: null,
|
quotaSizeInBytes: null,
|
||||||
photos: 0,
|
photos: 0,
|
||||||
usage: 0,
|
usage: 0,
|
||||||
|
usagePhotos: 0,
|
||||||
|
usageVideos: 0,
|
||||||
userName: 'Immich Admin',
|
userName: 'Immich Admin',
|
||||||
userId: admin.userId,
|
userId: admin.userId,
|
||||||
videos: 0,
|
videos: 0,
|
||||||
@@ -176,6 +180,8 @@ describe('/server', () => {
|
|||||||
quotaSizeInBytes: null,
|
quotaSizeInBytes: null,
|
||||||
photos: 0,
|
photos: 0,
|
||||||
usage: 0,
|
usage: 0,
|
||||||
|
usagePhotos: 0,
|
||||||
|
usageVideos: 0,
|
||||||
userName: 'User 1',
|
userName: 'User 1',
|
||||||
userId: nonAdmin.userId,
|
userId: nonAdmin.userId,
|
||||||
videos: 0,
|
videos: 0,
|
||||||
|
|||||||
@@ -103,7 +103,7 @@ describe(`immich upload`, () => {
|
|||||||
describe(`immich upload /path/to/file.jpg`, () => {
|
describe(`immich upload /path/to/file.jpg`, () => {
|
||||||
it('should upload a single file', async () => {
|
it('should upload a single file', async () => {
|
||||||
const { stderr, stdout, exitCode } = await immichCli(['upload', `${testAssetDir}/albums/nature/silver_fir.jpg`]);
|
const { stderr, stdout, exitCode } = await immichCli(['upload', `${testAssetDir}/albums/nature/silver_fir.jpg`]);
|
||||||
expect(stderr).toBe('');
|
expect(stderr).toContain('{message}');
|
||||||
expect(stdout.split('\n')).toEqual(
|
expect(stdout.split('\n')).toEqual(
|
||||||
expect.arrayContaining([expect.stringContaining('Successfully uploaded 1 new asset')]),
|
expect.arrayContaining([expect.stringContaining('Successfully uploaded 1 new asset')]),
|
||||||
);
|
);
|
||||||
@@ -126,7 +126,7 @@ describe(`immich upload`, () => {
|
|||||||
const expectedCount = Object.entries(files).filter((entry) => entry[1]).length;
|
const expectedCount = Object.entries(files).filter((entry) => entry[1]).length;
|
||||||
|
|
||||||
const { stderr, stdout, exitCode } = await immichCli(['upload', ...commandLine]);
|
const { stderr, stdout, exitCode } = await immichCli(['upload', ...commandLine]);
|
||||||
expect(stderr).toBe('');
|
expect(stderr).toContain('{message}');
|
||||||
expect(stdout.split('\n')).toEqual(
|
expect(stdout.split('\n')).toEqual(
|
||||||
expect.arrayContaining([expect.stringContaining(`Successfully uploaded ${expectedCount} new asset`)]),
|
expect.arrayContaining([expect.stringContaining(`Successfully uploaded ${expectedCount} new asset`)]),
|
||||||
);
|
);
|
||||||
@@ -154,7 +154,7 @@ describe(`immich upload`, () => {
|
|||||||
cpSync(`${testAssetDir}/albums/nature/silver_fir.jpg`, testPaths[1]);
|
cpSync(`${testAssetDir}/albums/nature/silver_fir.jpg`, testPaths[1]);
|
||||||
|
|
||||||
const { stderr, stdout, exitCode } = await immichCli(['upload', ...testPaths]);
|
const { stderr, stdout, exitCode } = await immichCli(['upload', ...testPaths]);
|
||||||
expect(stderr).toBe('');
|
expect(stderr).toContain('{message}');
|
||||||
expect(stdout.split('\n')).toEqual(
|
expect(stdout.split('\n')).toEqual(
|
||||||
expect.arrayContaining([expect.stringContaining('Successfully uploaded 2 new assets')]),
|
expect.arrayContaining([expect.stringContaining('Successfully uploaded 2 new assets')]),
|
||||||
);
|
);
|
||||||
@@ -169,7 +169,7 @@ describe(`immich upload`, () => {
|
|||||||
|
|
||||||
it('should skip a duplicate file', async () => {
|
it('should skip a duplicate file', async () => {
|
||||||
const first = await immichCli(['upload', `${testAssetDir}/albums/nature/silver_fir.jpg`]);
|
const first = await immichCli(['upload', `${testAssetDir}/albums/nature/silver_fir.jpg`]);
|
||||||
expect(first.stderr).toBe('');
|
expect(first.stderr).toContain('{message}');
|
||||||
expect(first.stdout.split('\n')).toEqual(
|
expect(first.stdout.split('\n')).toEqual(
|
||||||
expect.arrayContaining([expect.stringContaining('Successfully uploaded 1 new asset')]),
|
expect.arrayContaining([expect.stringContaining('Successfully uploaded 1 new asset')]),
|
||||||
);
|
);
|
||||||
@@ -179,7 +179,7 @@ describe(`immich upload`, () => {
|
|||||||
expect(assets.total).toBe(1);
|
expect(assets.total).toBe(1);
|
||||||
|
|
||||||
const second = await immichCli(['upload', `${testAssetDir}/albums/nature/silver_fir.jpg`]);
|
const second = await immichCli(['upload', `${testAssetDir}/albums/nature/silver_fir.jpg`]);
|
||||||
expect(second.stderr).toBe('');
|
expect(second.stderr).toContain('{message}');
|
||||||
expect(second.stdout.split('\n')).toEqual(
|
expect(second.stdout.split('\n')).toEqual(
|
||||||
expect.arrayContaining([
|
expect.arrayContaining([
|
||||||
expect.stringContaining('Found 0 new files and 1 duplicate'),
|
expect.stringContaining('Found 0 new files and 1 duplicate'),
|
||||||
@@ -205,7 +205,7 @@ describe(`immich upload`, () => {
|
|||||||
`${testAssetDir}/albums/nature/silver_fir.jpg`,
|
`${testAssetDir}/albums/nature/silver_fir.jpg`,
|
||||||
'--dry-run',
|
'--dry-run',
|
||||||
]);
|
]);
|
||||||
expect(stderr).toBe('');
|
expect(stderr).toContain('{message}');
|
||||||
expect(stdout.split('\n')).toEqual(
|
expect(stdout.split('\n')).toEqual(
|
||||||
expect.arrayContaining([expect.stringContaining('Would have uploaded 1 asset')]),
|
expect.arrayContaining([expect.stringContaining('Would have uploaded 1 asset')]),
|
||||||
);
|
);
|
||||||
@@ -217,7 +217,7 @@ describe(`immich upload`, () => {
|
|||||||
|
|
||||||
it('dry run should handle duplicates', async () => {
|
it('dry run should handle duplicates', async () => {
|
||||||
const first = await immichCli(['upload', `${testAssetDir}/albums/nature/silver_fir.jpg`]);
|
const first = await immichCli(['upload', `${testAssetDir}/albums/nature/silver_fir.jpg`]);
|
||||||
expect(first.stderr).toBe('');
|
expect(first.stderr).toContain('{message}');
|
||||||
expect(first.stdout.split('\n')).toEqual(
|
expect(first.stdout.split('\n')).toEqual(
|
||||||
expect.arrayContaining([expect.stringContaining('Successfully uploaded 1 new asset')]),
|
expect.arrayContaining([expect.stringContaining('Successfully uploaded 1 new asset')]),
|
||||||
);
|
);
|
||||||
@@ -227,7 +227,7 @@ describe(`immich upload`, () => {
|
|||||||
expect(assets.total).toBe(1);
|
expect(assets.total).toBe(1);
|
||||||
|
|
||||||
const second = await immichCli(['upload', `${testAssetDir}/albums/nature/`, '--dry-run']);
|
const second = await immichCli(['upload', `${testAssetDir}/albums/nature/`, '--dry-run']);
|
||||||
expect(second.stderr).toBe('');
|
expect(second.stderr).toContain('{message}');
|
||||||
expect(second.stdout.split('\n')).toEqual(
|
expect(second.stdout.split('\n')).toEqual(
|
||||||
expect.arrayContaining([
|
expect.arrayContaining([
|
||||||
expect.stringContaining('Found 8 new files and 1 duplicate'),
|
expect.stringContaining('Found 8 new files and 1 duplicate'),
|
||||||
@@ -241,7 +241,7 @@ describe(`immich upload`, () => {
|
|||||||
describe('immich upload --recursive', () => {
|
describe('immich upload --recursive', () => {
|
||||||
it('should upload a folder recursively', async () => {
|
it('should upload a folder recursively', async () => {
|
||||||
const { stderr, stdout, exitCode } = await immichCli(['upload', `${testAssetDir}/albums/nature/`, '--recursive']);
|
const { stderr, stdout, exitCode } = await immichCli(['upload', `${testAssetDir}/albums/nature/`, '--recursive']);
|
||||||
expect(stderr).toBe('');
|
expect(stderr).toContain('{message}');
|
||||||
expect(stdout.split('\n')).toEqual(
|
expect(stdout.split('\n')).toEqual(
|
||||||
expect.arrayContaining([expect.stringContaining('Successfully uploaded 9 new assets')]),
|
expect.arrayContaining([expect.stringContaining('Successfully uploaded 9 new assets')]),
|
||||||
);
|
);
|
||||||
@@ -267,7 +267,7 @@ describe(`immich upload`, () => {
|
|||||||
expect.stringContaining('Successfully updated 9 assets'),
|
expect.stringContaining('Successfully updated 9 assets'),
|
||||||
]),
|
]),
|
||||||
);
|
);
|
||||||
expect(stderr).toBe('');
|
expect(stderr).toContain('{message}');
|
||||||
expect(exitCode).toBe(0);
|
expect(exitCode).toBe(0);
|
||||||
|
|
||||||
const assets = await getAssetStatistics({}, { headers: asKeyAuth(key) });
|
const assets = await getAssetStatistics({}, { headers: asKeyAuth(key) });
|
||||||
@@ -283,7 +283,7 @@ describe(`immich upload`, () => {
|
|||||||
expect(response1.stdout.split('\n')).toEqual(
|
expect(response1.stdout.split('\n')).toEqual(
|
||||||
expect.arrayContaining([expect.stringContaining('Successfully uploaded 9 new assets')]),
|
expect.arrayContaining([expect.stringContaining('Successfully uploaded 9 new assets')]),
|
||||||
);
|
);
|
||||||
expect(response1.stderr).toBe('');
|
expect(response1.stderr).toContain('{message}');
|
||||||
expect(response1.exitCode).toBe(0);
|
expect(response1.exitCode).toBe(0);
|
||||||
|
|
||||||
const assets1 = await getAssetStatistics({}, { headers: asKeyAuth(key) });
|
const assets1 = await getAssetStatistics({}, { headers: asKeyAuth(key) });
|
||||||
@@ -299,7 +299,7 @@ describe(`immich upload`, () => {
|
|||||||
expect.stringContaining('Successfully updated 9 assets'),
|
expect.stringContaining('Successfully updated 9 assets'),
|
||||||
]),
|
]),
|
||||||
);
|
);
|
||||||
expect(response2.stderr).toBe('');
|
expect(response2.stderr).toContain('{message}');
|
||||||
expect(response2.exitCode).toBe(0);
|
expect(response2.exitCode).toBe(0);
|
||||||
|
|
||||||
const assets2 = await getAssetStatistics({}, { headers: asKeyAuth(key) });
|
const assets2 = await getAssetStatistics({}, { headers: asKeyAuth(key) });
|
||||||
@@ -325,7 +325,7 @@ describe(`immich upload`, () => {
|
|||||||
expect.stringContaining('Would have updated albums of 9 assets'),
|
expect.stringContaining('Would have updated albums of 9 assets'),
|
||||||
]),
|
]),
|
||||||
);
|
);
|
||||||
expect(stderr).toBe('');
|
expect(stderr).toContain('{message}');
|
||||||
expect(exitCode).toBe(0);
|
expect(exitCode).toBe(0);
|
||||||
|
|
||||||
const assets = await getAssetStatistics({}, { headers: asKeyAuth(key) });
|
const assets = await getAssetStatistics({}, { headers: asKeyAuth(key) });
|
||||||
@@ -351,7 +351,7 @@ describe(`immich upload`, () => {
|
|||||||
expect.stringContaining('Successfully updated 9 assets'),
|
expect.stringContaining('Successfully updated 9 assets'),
|
||||||
]),
|
]),
|
||||||
);
|
);
|
||||||
expect(stderr).toBe('');
|
expect(stderr).toContain('{message}');
|
||||||
expect(exitCode).toBe(0);
|
expect(exitCode).toBe(0);
|
||||||
|
|
||||||
const assets = await getAssetStatistics({}, { headers: asKeyAuth(key) });
|
const assets = await getAssetStatistics({}, { headers: asKeyAuth(key) });
|
||||||
@@ -377,7 +377,7 @@ describe(`immich upload`, () => {
|
|||||||
expect.stringContaining('Would have updated albums of 9 assets'),
|
expect.stringContaining('Would have updated albums of 9 assets'),
|
||||||
]),
|
]),
|
||||||
);
|
);
|
||||||
expect(stderr).toBe('');
|
expect(stderr).toContain('{message}');
|
||||||
expect(exitCode).toBe(0);
|
expect(exitCode).toBe(0);
|
||||||
|
|
||||||
const assets = await getAssetStatistics({}, { headers: asKeyAuth(key) });
|
const assets = await getAssetStatistics({}, { headers: asKeyAuth(key) });
|
||||||
@@ -408,7 +408,7 @@ describe(`immich upload`, () => {
|
|||||||
expect.stringContaining('Deleting assets that have been uploaded'),
|
expect.stringContaining('Deleting assets that have been uploaded'),
|
||||||
]),
|
]),
|
||||||
);
|
);
|
||||||
expect(stderr).toBe('');
|
expect(stderr).toContain('{message}');
|
||||||
expect(exitCode).toBe(0);
|
expect(exitCode).toBe(0);
|
||||||
|
|
||||||
const assets = await getAssetStatistics({}, { headers: asKeyAuth(key) });
|
const assets = await getAssetStatistics({}, { headers: asKeyAuth(key) });
|
||||||
@@ -434,7 +434,7 @@ describe(`immich upload`, () => {
|
|||||||
expect.stringContaining('Would have deleted 9 local assets'),
|
expect.stringContaining('Would have deleted 9 local assets'),
|
||||||
]),
|
]),
|
||||||
);
|
);
|
||||||
expect(stderr).toBe('');
|
expect(stderr).toContain('{message}');
|
||||||
expect(exitCode).toBe(0);
|
expect(exitCode).toBe(0);
|
||||||
|
|
||||||
const assets = await getAssetStatistics({}, { headers: asKeyAuth(key) });
|
const assets = await getAssetStatistics({}, { headers: asKeyAuth(key) });
|
||||||
@@ -493,7 +493,7 @@ describe(`immich upload`, () => {
|
|||||||
'2',
|
'2',
|
||||||
]);
|
]);
|
||||||
|
|
||||||
expect(stderr).toBe('');
|
expect(stderr).toContain('{message}');
|
||||||
expect(stdout.split('\n')).toEqual(
|
expect(stdout.split('\n')).toEqual(
|
||||||
expect.arrayContaining([
|
expect.arrayContaining([
|
||||||
'Found 9 new files and 0 duplicates',
|
'Found 9 new files and 0 duplicates',
|
||||||
@@ -534,7 +534,7 @@ describe(`immich upload`, () => {
|
|||||||
'silver_fir.jpg',
|
'silver_fir.jpg',
|
||||||
]);
|
]);
|
||||||
|
|
||||||
expect(stderr).toBe('');
|
expect(stderr).toContain('{message}');
|
||||||
expect(stdout.split('\n')).toEqual(
|
expect(stdout.split('\n')).toEqual(
|
||||||
expect.arrayContaining([
|
expect.arrayContaining([
|
||||||
'Found 8 new files and 0 duplicates',
|
'Found 8 new files and 0 duplicates',
|
||||||
@@ -555,7 +555,7 @@ describe(`immich upload`, () => {
|
|||||||
'!(*_*_*).jpg',
|
'!(*_*_*).jpg',
|
||||||
]);
|
]);
|
||||||
|
|
||||||
expect(stderr).toBe('');
|
expect(stderr).toContain('{message}');
|
||||||
expect(stdout.split('\n')).toEqual(
|
expect(stdout.split('\n')).toEqual(
|
||||||
expect.arrayContaining([
|
expect.arrayContaining([
|
||||||
'Found 1 new files and 0 duplicates',
|
'Found 1 new files and 0 duplicates',
|
||||||
@@ -577,7 +577,7 @@ describe(`immich upload`, () => {
|
|||||||
'--dry-run',
|
'--dry-run',
|
||||||
]);
|
]);
|
||||||
|
|
||||||
expect(stderr).toBe('');
|
expect(stderr).toContain('{message}');
|
||||||
expect(stdout.split('\n')).toEqual(
|
expect(stdout.split('\n')).toEqual(
|
||||||
expect.arrayContaining([
|
expect.arrayContaining([
|
||||||
'Found 8 new files and 0 duplicates',
|
'Found 8 new files and 0 duplicates',
|
||||||
|
|||||||
@@ -9,9 +9,11 @@ describe(`immich-admin`, () => {
|
|||||||
|
|
||||||
describe('list-users', () => {
|
describe('list-users', () => {
|
||||||
it('should list the admin user', async () => {
|
it('should list the admin user', async () => {
|
||||||
const { stdout, stderr, exitCode } = await immichAdmin(['list-users']).promise;
|
const { stdout, exitCode } = await immichAdmin(['list-users']).promise;
|
||||||
expect(exitCode).toBe(0);
|
expect(exitCode).toBe(0);
|
||||||
expect(stderr).toBe('');
|
|
||||||
|
// TODO: Vitest needs upgrade to Node 22.x to fix the failed check
|
||||||
|
// expect(stderr).toBe('');
|
||||||
expect(stdout).toContain("email: 'admin@immich.cloud'");
|
expect(stdout).toContain("email: 'admin@immich.cloud'");
|
||||||
expect(stdout).toContain("name: 'Immich Admin'");
|
expect(stdout).toContain("name: 'Immich Admin'");
|
||||||
});
|
});
|
||||||
@@ -29,9 +31,10 @@ describe(`immich-admin`, () => {
|
|||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|
||||||
const { stderr, stdout, exitCode } = await promise;
|
const { stdout, exitCode } = await promise;
|
||||||
expect(exitCode).toBe(0);
|
expect(exitCode).toBe(0);
|
||||||
expect(stderr).toBe('');
|
// TODO: Vitest needs upgrade to Node 22.x to fix the failed check
|
||||||
|
// expect(stderr).toBe('');
|
||||||
expect(stdout).toContain('The admin password has been updated to:');
|
expect(stdout).toContain('The admin password has been updated to:');
|
||||||
});
|
});
|
||||||
});
|
});
|
||||||
|
|||||||
@@ -11,6 +11,7 @@ import {
|
|||||||
PersonCreateDto,
|
PersonCreateDto,
|
||||||
SharedLinkCreateDto,
|
SharedLinkCreateDto,
|
||||||
UserAdminCreateDto,
|
UserAdminCreateDto,
|
||||||
|
UserPreferencesUpdateDto,
|
||||||
ValidateLibraryDto,
|
ValidateLibraryDto,
|
||||||
checkExistingAssets,
|
checkExistingAssets,
|
||||||
createAlbum,
|
createAlbum,
|
||||||
@@ -19,6 +20,7 @@ import {
|
|||||||
createPartner,
|
createPartner,
|
||||||
createPerson,
|
createPerson,
|
||||||
createSharedLink,
|
createSharedLink,
|
||||||
|
createStack,
|
||||||
createUserAdmin,
|
createUserAdmin,
|
||||||
deleteAssets,
|
deleteAssets,
|
||||||
getAllJobsStatus,
|
getAllJobsStatus,
|
||||||
@@ -28,10 +30,13 @@ import {
|
|||||||
searchMetadata,
|
searchMetadata,
|
||||||
setBaseUrl,
|
setBaseUrl,
|
||||||
signUpAdmin,
|
signUpAdmin,
|
||||||
|
tagAssets,
|
||||||
updateAdminOnboarding,
|
updateAdminOnboarding,
|
||||||
updateAlbumUser,
|
updateAlbumUser,
|
||||||
updateAssets,
|
updateAssets,
|
||||||
updateConfig,
|
updateConfig,
|
||||||
|
updateMyPreferences,
|
||||||
|
upsertTags,
|
||||||
validate,
|
validate,
|
||||||
} from '@immich/sdk';
|
} from '@immich/sdk';
|
||||||
import { BrowserContext } from '@playwright/test';
|
import { BrowserContext } from '@playwright/test';
|
||||||
@@ -444,6 +449,18 @@ export const utils = {
|
|||||||
|
|
||||||
createPartner: (accessToken: string, id: string) => createPartner({ id }, { headers: asBearerAuth(accessToken) }),
|
createPartner: (accessToken: string, id: string) => createPartner({ id }, { headers: asBearerAuth(accessToken) }),
|
||||||
|
|
||||||
|
updateMyPreferences: (accessToken: string, userPreferencesUpdateDto: UserPreferencesUpdateDto) =>
|
||||||
|
updateMyPreferences({ userPreferencesUpdateDto }, { headers: asBearerAuth(accessToken) }),
|
||||||
|
|
||||||
|
createStack: (accessToken: string, assetIds: string[]) =>
|
||||||
|
createStack({ stackCreateDto: { assetIds } }, { headers: asBearerAuth(accessToken) }),
|
||||||
|
|
||||||
|
upsertTags: (accessToken: string, tags: string[]) =>
|
||||||
|
upsertTags({ tagUpsertDto: { tags } }, { headers: asBearerAuth(accessToken) }),
|
||||||
|
|
||||||
|
tagAssets: (accessToken: string, tagId: string, assetIds: string[]) =>
|
||||||
|
tagAssets({ id: tagId, bulkIdsDto: { ids: assetIds } }, { headers: asBearerAuth(accessToken) }),
|
||||||
|
|
||||||
setAuthCookies: async (context: BrowserContext, accessToken: string, domain = '127.0.0.1') =>
|
setAuthCookies: async (context: BrowserContext, accessToken: string, domain = '127.0.0.1') =>
|
||||||
await context.addCookies([
|
await context.addCookies([
|
||||||
{
|
{
|
||||||
|
|||||||
@@ -0,0 +1,66 @@
|
|||||||
|
import { AssetMediaResponseDto, LoginResponseDto } from '@immich/sdk';
|
||||||
|
import { expect, Page, test } from '@playwright/test';
|
||||||
|
import { utils } from 'src/utils';
|
||||||
|
|
||||||
|
async function ensureDetailPanelVisible(page: Page) {
|
||||||
|
await page.waitForSelector('#immich-asset-viewer');
|
||||||
|
|
||||||
|
const isVisible = await page.locator('#detail-panel').isVisible();
|
||||||
|
if (!isVisible) {
|
||||||
|
await page.keyboard.press('i');
|
||||||
|
await page.waitForSelector('#detail-panel');
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
test.describe('Asset Viewer stack', () => {
|
||||||
|
let admin: LoginResponseDto;
|
||||||
|
let assetOne: AssetMediaResponseDto;
|
||||||
|
let assetTwo: AssetMediaResponseDto;
|
||||||
|
|
||||||
|
test.beforeAll(async () => {
|
||||||
|
utils.initSdk();
|
||||||
|
await utils.resetDatabase();
|
||||||
|
admin = await utils.adminSetup();
|
||||||
|
await utils.updateMyPreferences(admin.accessToken, { tags: { enabled: true } });
|
||||||
|
|
||||||
|
assetOne = await utils.createAsset(admin.accessToken);
|
||||||
|
assetTwo = await utils.createAsset(admin.accessToken);
|
||||||
|
await utils.createStack(admin.accessToken, [assetOne.id, assetTwo.id]);
|
||||||
|
|
||||||
|
const tags = await utils.upsertTags(admin.accessToken, ['test/1', 'test/2']);
|
||||||
|
const tagOne = tags.find((tag) => tag.value === 'test/1')!;
|
||||||
|
const tagTwo = tags.find((tag) => tag.value === 'test/2')!;
|
||||||
|
await utils.tagAssets(admin.accessToken, tagOne.id, [assetOne.id]);
|
||||||
|
await utils.tagAssets(admin.accessToken, tagTwo.id, [assetTwo.id]);
|
||||||
|
});
|
||||||
|
|
||||||
|
test('stack slideshow is visible', async ({ page, context }) => {
|
||||||
|
await utils.setAuthCookies(context, admin.accessToken);
|
||||||
|
await page.goto(`/photos/${assetOne.id}`);
|
||||||
|
|
||||||
|
const stackAssets = page.locator('#stack-slideshow [data-asset]');
|
||||||
|
await expect(stackAssets.first()).toBeVisible();
|
||||||
|
await expect(stackAssets.nth(1)).toBeVisible();
|
||||||
|
});
|
||||||
|
|
||||||
|
test('tags of primary asset are visible', async ({ page, context }) => {
|
||||||
|
await utils.setAuthCookies(context, admin.accessToken);
|
||||||
|
await page.goto(`/photos/${assetOne.id}`);
|
||||||
|
await ensureDetailPanelVisible(page);
|
||||||
|
|
||||||
|
const tags = page.getByTestId('detail-panel-tags').getByRole('link');
|
||||||
|
await expect(tags.first()).toHaveText('test/1');
|
||||||
|
});
|
||||||
|
|
||||||
|
test('tags of second asset are visible', async ({ page, context }) => {
|
||||||
|
await utils.setAuthCookies(context, admin.accessToken);
|
||||||
|
await page.goto(`/photos/${assetOne.id}`);
|
||||||
|
await ensureDetailPanelVisible(page);
|
||||||
|
|
||||||
|
const stackAssets = page.locator('#stack-slideshow [data-asset]');
|
||||||
|
await stackAssets.nth(1).click();
|
||||||
|
|
||||||
|
const tags = page.getByTestId('detail-panel-tags').getByRole('link');
|
||||||
|
await expect(tags.first()).toHaveText('test/2');
|
||||||
|
});
|
||||||
|
});
|
||||||
@@ -34,6 +34,11 @@
|
|||||||
"authentication_settings_disable_all": "هل أنت متأكد أنك تريد تعطيل جميع وسائل تسجيل الدخول؟ سيتم تعطيل تسجيل الدخول بالكامل.",
|
"authentication_settings_disable_all": "هل أنت متأكد أنك تريد تعطيل جميع وسائل تسجيل الدخول؟ سيتم تعطيل تسجيل الدخول بالكامل.",
|
||||||
"authentication_settings_reenable": "لإعادة التفعيل، استخدم <link>أمر الخادم</link>.",
|
"authentication_settings_reenable": "لإعادة التفعيل، استخدم <link>أمر الخادم</link>.",
|
||||||
"background_task_job": "المهام الخلفية",
|
"background_task_job": "المهام الخلفية",
|
||||||
|
"backup_database": "قاعدة البيانات الاحتياطية",
|
||||||
|
"backup_database_enable_description": "تمكين النسخ الاحتياطي لقاعدة البيانات",
|
||||||
|
"backup_keep_last_amount": "مقدار النسخ الاحتياطية السابقة للاحتفاظ بها",
|
||||||
|
"backup_settings": "إعدادات النسخ الاحتياطي",
|
||||||
|
"backup_settings_description": "إدارة إعدادات النسخ الاحتياطي لقاعدة البيانات",
|
||||||
"check_all": "اختر الكل",
|
"check_all": "اختر الكل",
|
||||||
"cleared_jobs": "تم إخلاء مهام: {job}",
|
"cleared_jobs": "تم إخلاء مهام: {job}",
|
||||||
"config_set_by_file": "الإعدادات حاليًا معينة عن طريق ملف الاعدادات",
|
"config_set_by_file": "الإعدادات حاليًا معينة عن طريق ملف الاعدادات",
|
||||||
@@ -43,16 +48,17 @@
|
|||||||
"confirm_reprocess_all_faces": "هل أنت متأكد أنك تريد إعادة معالجة جميع الوجوه؟ سيخلي هذا كل الأشخاص الذين سَميتَهم.",
|
"confirm_reprocess_all_faces": "هل أنت متأكد أنك تريد إعادة معالجة جميع الوجوه؟ سيخلي هذا كل الأشخاص الذين سَميتَهم.",
|
||||||
"confirm_user_password_reset": "هل أنت متأكد أنك تريد إعادة تعيين كلمة مرور {user}؟",
|
"confirm_user_password_reset": "هل أنت متأكد أنك تريد إعادة تعيين كلمة مرور {user}؟",
|
||||||
"create_job": "إنشاء وظيفة",
|
"create_job": "إنشاء وظيفة",
|
||||||
"crontab_guru": "",
|
"cron_expression": "تعبير Cron",
|
||||||
|
"cron_expression_description": "اضبط الفاصل الزمني للفحص باستخدام تنسيق cron. لمزيد من المعلومات يُرجى الرجوع إلى <link>Crontab Guru</link> على سبيل المثال",
|
||||||
|
"cron_expression_presets": "الإعدادات المسبقة لتعبير Cron",
|
||||||
"disable_login": "تعطيل تسجيل الدخول",
|
"disable_login": "تعطيل تسجيل الدخول",
|
||||||
"disabled": "",
|
|
||||||
"duplicate_detection_job_description": "بدء التعلم الآلي على المحتوى للعثور على الصور المتشابهة. يعتمد على البحث الذكي",
|
"duplicate_detection_job_description": "بدء التعلم الآلي على المحتوى للعثور على الصور المتشابهة. يعتمد على البحث الذكي",
|
||||||
"exclusion_pattern_description": "تتيح لك أنماط الاستبعاد تجاهل الملفات والمجلدات عند فحص مكتبتك. يعد هذا مفيدًا إذا كان لديك مجلدات تحتوي على ملفات لا تريد استيرادها، مثل ملفات RAW.",
|
"exclusion_pattern_description": "تتيح لك أنماط الاستبعاد تجاهل الملفات والمجلدات عند فحص مكتبتك. يعد هذا مفيدًا إذا كان لديك مجلدات تحتوي على ملفات لا تريد استيرادها، مثل ملفات RAW.",
|
||||||
"external_library_created_at": "مكتبة خارجية (أُنشئت في {date})",
|
"external_library_created_at": "مكتبة خارجية (أُنشئت في {date})",
|
||||||
"external_library_management": "إدارة المكتبة الخارجية",
|
"external_library_management": "إدارة المكتبة الخارجية",
|
||||||
"face_detection": "إكتشاف الوجوه",
|
"face_detection": "إكتشاف الوجوه",
|
||||||
"face_detection_description": "اكتشف الوجوه في المحتويات باستخدام التعلم الآلي. بالنسبة للفيديوهات، سيتم فقط استخدام الصورة المصغرة. خيار \"الكل\" يعيد معالجة كل المحتويات. خيار \"مفقود\" يضع في قائمة الإنتظار المحتويات التي لم تعالج بعد. سيتم وضع الوجوه المكتشفة في قائمة إنتظار التعرف على الوجه بعد اكتمال اكتشاف الوجه، مما يجمعها بأشخاص موجودين أو جدد.",
|
"face_detection_description": "اكتشف الوجوه في الأصول باستخدام التعلم الآلي. بالنسبة لمقاطع الفيديو، يتم اعتبار الصورة المصغرة فقط. \"تحديث\" (إعادة) معالجة جميع الأصول. \"إعادة تعيين\" تمسح أيضًا جميع بيانات الوجوه الحالية. \"مفقود\" يضع الأصول التي لم تتم معالجتها بعد في قائمة الانتظار. سيتم وضع الوجوه المكتشفة في قائمة الانتظار للتعرف على الوجه بعد اكتمال اكتشاف الوجه، وتجميعها في أشخاص موجودين أو جدد.",
|
||||||
"facial_recognition_job_description": "تجميع الوجوه المكتشفة كأشخاص. يتم تنفيذ هذه الخطوة بعد اكتمال اكتشاف الوجه. خيار \"الكل\" يعيد تجميع جميع الوجوه. خيار \"المفقود\" يضع في قائمة الانتظار الوجوه التي لم يتم تعيين شخص لها.",
|
"facial_recognition_job_description": "تجميع الوجوه المكتشفة كأشخاص. يتم تنفيذ هذه الخطوة بعد اكتمال اكتشاف الوجه. خيار \"إعادة التعيين\" يعيد تجميع جميع الوجوه. خيار \"المفقود\" يضع في قائمة الانتظار الوجوه التي لم يتم تعيين شخص لها.",
|
||||||
"failed_job_command": "فشل الأمر {command} للمهمة: {job}",
|
"failed_job_command": "فشل الأمر {command} للمهمة: {job}",
|
||||||
"force_delete_user_warning": "تحذير: سيؤدي ذلك إلى إزالة المستخدم وجميع محتوياته على الفور. لا يمكن التراجع عن هذا الإجراء ولا يمكن استرداد الملفات.",
|
"force_delete_user_warning": "تحذير: سيؤدي ذلك إلى إزالة المستخدم وجميع محتوياته على الفور. لا يمكن التراجع عن هذا الإجراء ولا يمكن استرداد الملفات.",
|
||||||
"forcing_refresh_library_files": "إجبار التحديث لجميع ملفات المكتبة",
|
"forcing_refresh_library_files": "إجبار التحديث لجميع ملفات المكتبة",
|
||||||
@@ -63,22 +69,15 @@
|
|||||||
"image_prefer_wide_gamut": "تفضيل نطاق الألوان الواسع",
|
"image_prefer_wide_gamut": "تفضيل نطاق الألوان الواسع",
|
||||||
"image_prefer_wide_gamut_setting_description": "استخدم Display P3 للصور المصغرة. يحافظ هذا على حيوية الصور ذات مساحات الألوان الواسعة بشكل أفضل، ولكن قد تظهر الصور بشكل مختلف على الأجهزة القديمة ذات إصدار متصفح قديم. يتم الاحتفاظ بصور sRGB بتنسيق sRGB لتجنب تغيرات اللون.",
|
"image_prefer_wide_gamut_setting_description": "استخدم Display P3 للصور المصغرة. يحافظ هذا على حيوية الصور ذات مساحات الألوان الواسعة بشكل أفضل، ولكن قد تظهر الصور بشكل مختلف على الأجهزة القديمة ذات إصدار متصفح قديم. يتم الاحتفاظ بصور sRGB بتنسيق sRGB لتجنب تغيرات اللون.",
|
||||||
"image_preview_description": "صورة متوسطة الحجم مع بيانات وصفية مجردة، تُستخدم عند عرض أصل واحد وللتعلم الآلي",
|
"image_preview_description": "صورة متوسطة الحجم مع بيانات وصفية مجردة، تُستخدم عند عرض أصل واحد وللتعلم الآلي",
|
||||||
"image_preview_format": "تنسيق المعاينة",
|
|
||||||
"image_preview_quality_description": "جودة المعاينة من 1 إلى 100. كلما كانت القيمة أعلى كان ذلك أفضل، ولكنها تنتج ملفات أكبر وقد تقلل من استجابة التطبيق. قد يؤثر ضبط قيمة منخفضة على جودة التعلم الآلي.",
|
"image_preview_quality_description": "جودة المعاينة من 1 إلى 100. كلما كانت القيمة أعلى كان ذلك أفضل، ولكنها تنتج ملفات أكبر وقد تقلل من استجابة التطبيق. قد يؤثر ضبط قيمة منخفضة على جودة التعلم الآلي.",
|
||||||
"image_preview_resolution": "معاينة الدقّة",
|
|
||||||
"image_preview_resolution_description": "يُستخدم عند عرض صورة واحدة وللتعلم الآلي. ستحافظ الدقاتُ العالية على المزيد من التفاصيل ولكنها ستستغرق وقتًا أطول للترميز، ولها أحجام ملفات أكبر، ويمكن أن تقلل من استجابة التطبيق.",
|
|
||||||
"image_preview_title": "إعدادات المعاينة",
|
"image_preview_title": "إعدادات المعاينة",
|
||||||
"image_quality": "الجودة",
|
"image_quality": "الجودة",
|
||||||
"image_quality_description": "جودة الصورة من 1-100. الأعلى هو الأفضل من حيث الجودة ولكنه ينتج ملفات أكبر، ويؤثر هذا الخيار على صور المعاينة والصور المصغرة.",
|
|
||||||
"image_resolution": "الدقة",
|
"image_resolution": "الدقة",
|
||||||
"image_resolution_description": "يمكن للدقة العالية الحفاظ على مزيد من التفاصيل ولكنها تستغرق وقتًا أطول للترميز، وتحتوي على أحجام ملفات أكبر ويمكن أن تقلل من استجابة التطبيق.",
|
"image_resolution_description": "يمكن للدقة العالية الحفاظ على مزيد من التفاصيل ولكنها تستغرق وقتًا أطول للترميز، وتحتوي على أحجام ملفات أكبر ويمكن أن تقلل من استجابة التطبيق.",
|
||||||
"image_settings": "إعدادات الصور",
|
"image_settings": "إعدادات الصور",
|
||||||
"image_settings_description": "إدارة جودة ودقة الصور التي تم إنشاؤها",
|
"image_settings_description": "إدارة جودة ودقة الصور التي تم إنشاؤها",
|
||||||
"image_thumbnail_description": "صورة مصغرة صغيرة مع بيانات وصفية مجردة، تُستخدم عند عرض مجموعات من الصور مثل الجدول الزمني الرئيسي",
|
"image_thumbnail_description": "صورة مصغرة صغيرة مع بيانات وصفية مجردة، تُستخدم عند عرض مجموعات من الصور مثل الجدول الزمني الرئيسي",
|
||||||
"image_thumbnail_format": "تنسيق الصور المصغّرة",
|
|
||||||
"image_thumbnail_quality_description": "تتراوح جودة الصورة المصغرة من 1 إلى 100. كلما كانت الجودة أعلى كان ذلك أفضل، ولكنها تنتج ملفات أكبر وقد تقلل من استجابة التطبيق.",
|
"image_thumbnail_quality_description": "تتراوح جودة الصورة المصغرة من 1 إلى 100. كلما كانت الجودة أعلى كان ذلك أفضل، ولكنها تنتج ملفات أكبر وقد تقلل من استجابة التطبيق.",
|
||||||
"image_thumbnail_resolution": "دقة الصور المصغّرة",
|
|
||||||
"image_thumbnail_resolution_description": "يُستخدم عند عرض مجموعات من الصور (المخطط الزمني الرئيسي، عرض الألبوم، وما إلى ذلك). ستحافظ الدقاتُ العالية على المزيد من التفاصيل ولكنها ستستغرق وقتًا أطول للترميز، ولها أحجام ملفات أكبر، ويمكن أن تقلل من استجابة التطبيق.",
|
|
||||||
"image_thumbnail_title": "إعدادات الصورة المصغرة",
|
"image_thumbnail_title": "إعدادات الصورة المصغرة",
|
||||||
"job_concurrency": "تزامن {job}",
|
"job_concurrency": "تزامن {job}",
|
||||||
"job_created": "تم إنشاء الوظيفة",
|
"job_created": "تم إنشاء الوظيفة",
|
||||||
@@ -89,9 +88,6 @@
|
|||||||
"jobs_delayed": "{jobCount, plural, other {# مؤجلة}}",
|
"jobs_delayed": "{jobCount, plural, other {# مؤجلة}}",
|
||||||
"jobs_failed": "{jobCount, plural, other {# فشلت}}",
|
"jobs_failed": "{jobCount, plural, other {# فشلت}}",
|
||||||
"library_created": "تم إنشاء المكتبة: {library}",
|
"library_created": "تم إنشاء المكتبة: {library}",
|
||||||
"library_cron_expression": "تعبير Cron",
|
|
||||||
"library_cron_expression_description": "\"اضبط فواصلَ زمنِ الفحص باستخدام صيغة cron. للمزيد من المعلومات، يرجى الرجوع إلى <link>Crontab Guru</link>\"",
|
|
||||||
"library_cron_expression_presets": "إعدادات مسبقة لتعبير Cron",
|
|
||||||
"library_deleted": "تم حذف المكتبة",
|
"library_deleted": "تم حذف المكتبة",
|
||||||
"library_import_path_description": "حدد مجلدًا للاستيراد. سيتم فحص هذا المجلد، بما في ذلك المجلدات الفرعية، بحثًا عن الصور ومقاطع الفيديو.",
|
"library_import_path_description": "حدد مجلدًا للاستيراد. سيتم فحص هذا المجلد، بما في ذلك المجلدات الفرعية، بحثًا عن الصور ومقاطع الفيديو.",
|
||||||
"library_scanning": "الفحص الدوري",
|
"library_scanning": "الفحص الدوري",
|
||||||
@@ -215,7 +211,6 @@
|
|||||||
"refreshing_all_libraries": "تحديث كافة المكتبات",
|
"refreshing_all_libraries": "تحديث كافة المكتبات",
|
||||||
"registration": "تسجيل المدير",
|
"registration": "تسجيل المدير",
|
||||||
"registration_description": "بما أنك أول مستخدم في النظام، سيتم تعيينك كمسؤول وستكون مسؤولًا عن المهام الإدارية، وسيتم إنشاء مستخدمين إضافيين بواسطتك.",
|
"registration_description": "بما أنك أول مستخدم في النظام، سيتم تعيينك كمسؤول وستكون مسؤولًا عن المهام الإدارية، وسيتم إنشاء مستخدمين إضافيين بواسطتك.",
|
||||||
"removing_deleted_files": "إزالة الملفات غير المتصلة",
|
|
||||||
"repair_all": "إصلاح الكل",
|
"repair_all": "إصلاح الكل",
|
||||||
"repair_matched_items": "تمت مطابقة {count, plural, one {# عنصر} other {# عناصر}}",
|
"repair_matched_items": "تمت مطابقة {count, plural, one {# عنصر} other {# عناصر}}",
|
||||||
"repaired_items": "تم إصلاح {count, plural, one {# عنصر} other {# عناصر}}",
|
"repaired_items": "تم إصلاح {count, plural, one {# عنصر} other {# عناصر}}",
|
||||||
@@ -223,8 +218,6 @@
|
|||||||
"reset_settings_to_default": "إعادة ضبط الإعدادات إلى الوضع الافتراضي",
|
"reset_settings_to_default": "إعادة ضبط الإعدادات إلى الوضع الافتراضي",
|
||||||
"reset_settings_to_recent_saved": "إعادة ضبط الإعدادات إلى الإعدادات المحفوظة مؤخرًا",
|
"reset_settings_to_recent_saved": "إعادة ضبط الإعدادات إلى الإعدادات المحفوظة مؤخرًا",
|
||||||
"scanning_library": "مسح المكتبة",
|
"scanning_library": "مسح المكتبة",
|
||||||
"scanning_library_for_changed_files": "فحص المكتبة لاكتشاف الملفات التي تم تغييرها",
|
|
||||||
"scanning_library_for_new_files": "فحص المكتبة للبحث عن ملفات جديدة",
|
|
||||||
"search_jobs": "البحث عن وظائف...",
|
"search_jobs": "البحث عن وظائف...",
|
||||||
"send_welcome_email": "إرسال بريد ترحيبي",
|
"send_welcome_email": "إرسال بريد ترحيبي",
|
||||||
"server_external_domain_settings": "إسم النطاق الخارجي",
|
"server_external_domain_settings": "إسم النطاق الخارجي",
|
||||||
@@ -261,7 +254,6 @@
|
|||||||
"these_files_matched_by_checksum": "تتم مطابقة هذه الملفات من خلال المجاميع الاختبارية الخاصة بهم",
|
"these_files_matched_by_checksum": "تتم مطابقة هذه الملفات من خلال المجاميع الاختبارية الخاصة بهم",
|
||||||
"thumbnail_generation_job": "إنشاء الصور المصغرة",
|
"thumbnail_generation_job": "إنشاء الصور المصغرة",
|
||||||
"thumbnail_generation_job_description": "إنشاء صور مصغرة كبيرة وصغيرة وغير واضحة لكل أصل، بالإضافة إلى صور مصغرة لكل شخص",
|
"thumbnail_generation_job_description": "إنشاء صور مصغرة كبيرة وصغيرة وغير واضحة لكل أصل، بالإضافة إلى صور مصغرة لكل شخص",
|
||||||
"transcode_policy_description": "",
|
|
||||||
"transcoding_acceleration_api": "واجهة برمجة التطبيقات للتسريع",
|
"transcoding_acceleration_api": "واجهة برمجة التطبيقات للتسريع",
|
||||||
"transcoding_acceleration_api_description": "الواجهة البرمجية التي ستتفاعل مع جهازك لتسريع التحويل. هذا الإعداد هو \"أفضل محاولة\": سيعود إلى التحويل البرمجي في حالة الفشل. قد لا يعمل VP9 اعتمادًا على عتادك.",
|
"transcoding_acceleration_api_description": "الواجهة البرمجية التي ستتفاعل مع جهازك لتسريع التحويل. هذا الإعداد هو \"أفضل محاولة\": سيعود إلى التحويل البرمجي في حالة الفشل. قد لا يعمل VP9 اعتمادًا على عتادك.",
|
||||||
"transcoding_acceleration_nvenc": "NVENC (يتطلب GPU من NVIDIA)",
|
"transcoding_acceleration_nvenc": "NVENC (يتطلب GPU من NVIDIA)",
|
||||||
@@ -313,8 +305,6 @@
|
|||||||
"transcoding_threads_description": "تؤدي القيم الأعلى إلى تشفير أسرع، ولكنها تترك مساحة أقل للخادم لمعالجة المهام الأخرى أثناء النشاط. يجب ألا تزيد هذه القيمة عن عدد مراكز وحدة المعالجة المركزية. يزيد من الإستغلال إذا تم ضبطه على 0.",
|
"transcoding_threads_description": "تؤدي القيم الأعلى إلى تشفير أسرع، ولكنها تترك مساحة أقل للخادم لمعالجة المهام الأخرى أثناء النشاط. يجب ألا تزيد هذه القيمة عن عدد مراكز وحدة المعالجة المركزية. يزيد من الإستغلال إذا تم ضبطه على 0.",
|
||||||
"transcoding_tone_mapping": "رسم الخرائط النغمية",
|
"transcoding_tone_mapping": "رسم الخرائط النغمية",
|
||||||
"transcoding_tone_mapping_description": "تحاول الحفاظ على مظهر مقاطع الفيديو HDR عند تحويلها إلى SDR. يقدم كل خوارزمية تنازلات مختلفة بين اللون والتفاصيل والسطوع. Hable تحافظ على التفاصيل، Mobius تحافظ على الألوان، و Reinhard تحافظ على السطوع.",
|
"transcoding_tone_mapping_description": "تحاول الحفاظ على مظهر مقاطع الفيديو HDR عند تحويلها إلى SDR. يقدم كل خوارزمية تنازلات مختلفة بين اللون والتفاصيل والسطوع. Hable تحافظ على التفاصيل، Mobius تحافظ على الألوان، و Reinhard تحافظ على السطوع.",
|
||||||
"transcoding_tone_mapping_npl": "تحويل الصور من نطاق الإضاءة العالية",
|
|
||||||
"transcoding_tone_mapping_npl_description": "سيتم ضبط الألوان لتبدو طبيعية على شاشة بهذه السطوع. على عكس المتوقع، تزيد القيم الأقل من سطوع الفيديو والعكس بسبب تعويضها لسطوع الشاشة. قيمة 0 تضبط هذه القيمة تلقائيًا.",
|
|
||||||
"transcoding_transcode_policy": "سياسة الترميز",
|
"transcoding_transcode_policy": "سياسة الترميز",
|
||||||
"transcoding_transcode_policy_description": "سياسة تحديد متى يجب ترميز الفيديو. سيتم دائمًا ترميز مقاطع الفيديو HDR (ما لم يتم تعطيل الترميز).",
|
"transcoding_transcode_policy_description": "سياسة تحديد متى يجب ترميز الفيديو. سيتم دائمًا ترميز مقاطع الفيديو HDR (ما لم يتم تعطيل الترميز).",
|
||||||
"transcoding_two_pass_encoding": "الترميز بمرورين",
|
"transcoding_two_pass_encoding": "الترميز بمرورين",
|
||||||
@@ -395,7 +385,6 @@
|
|||||||
"archive_or_unarchive_photo": "أرشفة الصورة أو إلغاء أرشفتها",
|
"archive_or_unarchive_photo": "أرشفة الصورة أو إلغاء أرشفتها",
|
||||||
"archive_size": "حجم الأرشيف",
|
"archive_size": "حجم الأرشيف",
|
||||||
"archive_size_description": "تكوين حجم الأرشيف للتنزيلات (بالجيجابايت)",
|
"archive_size_description": "تكوين حجم الأرشيف للتنزيلات (بالجيجابايت)",
|
||||||
"archived": "",
|
|
||||||
"archived_count": "{count, plural, other {الأرشيف #}}",
|
"archived_count": "{count, plural, other {الأرشيف #}}",
|
||||||
"are_these_the_same_person": "هل هؤلاء هم نفس الشخص؟",
|
"are_these_the_same_person": "هل هؤلاء هم نفس الشخص؟",
|
||||||
"are_you_sure_to_do_this": "هل انت متأكد من أنك تريد أن تفعل هذا؟",
|
"are_you_sure_to_do_this": "هل انت متأكد من أنك تريد أن تفعل هذا؟",
|
||||||
@@ -445,10 +434,6 @@
|
|||||||
"cannot_merge_people": "لا يمكن دمج الأشخاص",
|
"cannot_merge_people": "لا يمكن دمج الأشخاص",
|
||||||
"cannot_undo_this_action": "لا يمكنك التراجع عن هذا الإجراء!",
|
"cannot_undo_this_action": "لا يمكنك التراجع عن هذا الإجراء!",
|
||||||
"cannot_update_the_description": "لا يمكن تحديث الوصف",
|
"cannot_update_the_description": "لا يمكن تحديث الوصف",
|
||||||
"cant_apply_changes": "",
|
|
||||||
"cant_get_faces": "",
|
|
||||||
"cant_search_people": "",
|
|
||||||
"cant_search_places": "",
|
|
||||||
"change_date": "غيّر التاريخ",
|
"change_date": "غيّر التاريخ",
|
||||||
"change_expiration_time": "تغيير وقت انتهاء الصلاحية",
|
"change_expiration_time": "تغيير وقت انتهاء الصلاحية",
|
||||||
"change_location": "غيّر الموقع",
|
"change_location": "غيّر الموقع",
|
||||||
@@ -562,13 +547,6 @@
|
|||||||
"duplicates": "التكرارات",
|
"duplicates": "التكرارات",
|
||||||
"duplicates_description": "قم بحل كل مجموعة من خلال الإشارة إلى التكرارات، إن وجدت",
|
"duplicates_description": "قم بحل كل مجموعة من خلال الإشارة إلى التكرارات، إن وجدت",
|
||||||
"duration": "المدة",
|
"duration": "المدة",
|
||||||
"durations": {
|
|
||||||
"days": "",
|
|
||||||
"hours": "",
|
|
||||||
"minutes": "",
|
|
||||||
"months": "",
|
|
||||||
"years": ""
|
|
||||||
},
|
|
||||||
"edit": "تعديل",
|
"edit": "تعديل",
|
||||||
"edit_album": "تعديل الألبوم",
|
"edit_album": "تعديل الألبوم",
|
||||||
"edit_avatar": "تعديل الصورة الشخصية",
|
"edit_avatar": "تعديل الصورة الشخصية",
|
||||||
@@ -593,8 +571,6 @@
|
|||||||
"editor_crop_tool_h2_aspect_ratios": "نسب العرض إلى الارتفاع",
|
"editor_crop_tool_h2_aspect_ratios": "نسب العرض إلى الارتفاع",
|
||||||
"editor_crop_tool_h2_rotation": "التدوير",
|
"editor_crop_tool_h2_rotation": "التدوير",
|
||||||
"email": "البريد الإلكتروني",
|
"email": "البريد الإلكتروني",
|
||||||
"empty": "",
|
|
||||||
"empty_album": "",
|
|
||||||
"empty_trash": "أفرغ سلة المهملات",
|
"empty_trash": "أفرغ سلة المهملات",
|
||||||
"empty_trash_confirmation": "هل أنت متأكد أنك تريد إفراغ سلة المهملات؟ سيؤدي هذا إلى إزالة جميع المحتويات الموجودة في سلة المهملات بشكل نهائي من Immich.\nلا يمكنك التراجع عن هذا الإجراء!",
|
"empty_trash_confirmation": "هل أنت متأكد أنك تريد إفراغ سلة المهملات؟ سيؤدي هذا إلى إزالة جميع المحتويات الموجودة في سلة المهملات بشكل نهائي من Immich.\nلا يمكنك التراجع عن هذا الإجراء!",
|
||||||
"enable": "تفعيل",
|
"enable": "تفعيل",
|
||||||
@@ -655,8 +631,6 @@
|
|||||||
"unable_to_change_location": "غير قادر على تغيير الموقع",
|
"unable_to_change_location": "غير قادر على تغيير الموقع",
|
||||||
"unable_to_change_password": "غير قادر على تغيير كلمة المرور",
|
"unable_to_change_password": "غير قادر على تغيير كلمة المرور",
|
||||||
"unable_to_change_visibility": "غير قادر على تغيير الظهور لـ {count, plural, one {# شخص} other {# أشخاص}}",
|
"unable_to_change_visibility": "غير قادر على تغيير الظهور لـ {count, plural, one {# شخص} other {# أشخاص}}",
|
||||||
"unable_to_check_item": "",
|
|
||||||
"unable_to_check_items": "",
|
|
||||||
"unable_to_complete_oauth_login": "غير قادر على إكمال تسجيل الدخول عبر OAuth",
|
"unable_to_complete_oauth_login": "غير قادر على إكمال تسجيل الدخول عبر OAuth",
|
||||||
"unable_to_connect": "غير قادر على الإتصال",
|
"unable_to_connect": "غير قادر على الإتصال",
|
||||||
"unable_to_connect_to_server": "غير قادر على الإتصال بالسيرفر",
|
"unable_to_connect_to_server": "غير قادر على الإتصال بالسيرفر",
|
||||||
@@ -697,12 +671,10 @@
|
|||||||
"unable_to_remove_album_users": "تعذر إزالة المستخدمين من الألبوم",
|
"unable_to_remove_album_users": "تعذر إزالة المستخدمين من الألبوم",
|
||||||
"unable_to_remove_api_key": "تعذر إزالة مفتاح API",
|
"unable_to_remove_api_key": "تعذر إزالة مفتاح API",
|
||||||
"unable_to_remove_assets_from_shared_link": "غير قادر على إزالة المحتويات من الرابط المشترك",
|
"unable_to_remove_assets_from_shared_link": "غير قادر على إزالة المحتويات من الرابط المشترك",
|
||||||
"unable_to_remove_comment": "",
|
|
||||||
"unable_to_remove_deleted_assets": "غير قادر على إزالة الملفات غير المتصلة",
|
"unable_to_remove_deleted_assets": "غير قادر على إزالة الملفات غير المتصلة",
|
||||||
"unable_to_remove_library": "غير قادر على إزالة المكتبة",
|
"unable_to_remove_library": "غير قادر على إزالة المكتبة",
|
||||||
"unable_to_remove_partner": "غير قادر على إزالة الشريك",
|
"unable_to_remove_partner": "غير قادر على إزالة الشريك",
|
||||||
"unable_to_remove_reaction": "غير قادر على إزالة رد الفعل",
|
"unable_to_remove_reaction": "غير قادر على إزالة رد الفعل",
|
||||||
"unable_to_remove_user": "",
|
|
||||||
"unable_to_repair_items": "غير قادر على إصلاح العناصر",
|
"unable_to_repair_items": "غير قادر على إصلاح العناصر",
|
||||||
"unable_to_reset_password": "غير قادر على إعادة تعيين كلمة المرور",
|
"unable_to_reset_password": "غير قادر على إعادة تعيين كلمة المرور",
|
||||||
"unable_to_resolve_duplicate": "غير قادر على حل التكرارات",
|
"unable_to_resolve_duplicate": "غير قادر على حل التكرارات",
|
||||||
@@ -732,10 +704,6 @@
|
|||||||
"unable_to_update_user": "غير قادر على تحديث المستخدم",
|
"unable_to_update_user": "غير قادر على تحديث المستخدم",
|
||||||
"unable_to_upload_file": "تعذر رفع الملف"
|
"unable_to_upload_file": "تعذر رفع الملف"
|
||||||
},
|
},
|
||||||
"every_day_at_onepm": "",
|
|
||||||
"every_night_at_midnight": "",
|
|
||||||
"every_night_at_twoam": "",
|
|
||||||
"every_six_hours": "",
|
|
||||||
"exif": "Exif (صيغة ملف صوري قابل للتبادل)",
|
"exif": "Exif (صيغة ملف صوري قابل للتبادل)",
|
||||||
"exit_slideshow": "خروج من العرض التقديمي",
|
"exit_slideshow": "خروج من العرض التقديمي",
|
||||||
"expand_all": "توسيع الكل",
|
"expand_all": "توسيع الكل",
|
||||||
@@ -750,33 +718,27 @@
|
|||||||
"external": "خارجي",
|
"external": "خارجي",
|
||||||
"external_libraries": "المكتبات الخارجية",
|
"external_libraries": "المكتبات الخارجية",
|
||||||
"face_unassigned": "غير معين",
|
"face_unassigned": "غير معين",
|
||||||
"failed_to_get_people": "",
|
|
||||||
"favorite": "مفضل",
|
"favorite": "مفضل",
|
||||||
"favorite_or_unfavorite_photo": "تفضيل أو إلغاء تفضيل الصورة",
|
"favorite_or_unfavorite_photo": "تفضيل أو إلغاء تفضيل الصورة",
|
||||||
"favorites": "المفضلة",
|
"favorites": "المفضلة",
|
||||||
"feature": "",
|
|
||||||
"feature_photo_updated": "تم تحديث الصورة المميزة",
|
"feature_photo_updated": "تم تحديث الصورة المميزة",
|
||||||
"featurecollection": "",
|
|
||||||
"features": "الميزات",
|
"features": "الميزات",
|
||||||
"features_setting_description": "إدارة ميزات التطبيق",
|
"features_setting_description": "إدارة ميزات التطبيق",
|
||||||
"file_name": "إسم الملف",
|
"file_name": "إسم الملف",
|
||||||
"file_name_or_extension": "اسم الملف أو امتداده",
|
"file_name_or_extension": "اسم الملف أو امتداده",
|
||||||
"filename": "اسم الملف",
|
"filename": "اسم الملف",
|
||||||
"files": "",
|
|
||||||
"filetype": "نوع الملف",
|
"filetype": "نوع الملف",
|
||||||
"filter_people": "تصفية الاشخاص",
|
"filter_people": "تصفية الاشخاص",
|
||||||
"find_them_fast": "يمكنك العثور عليها بسرعة بالاسم من خلال البحث",
|
"find_them_fast": "يمكنك العثور عليها بسرعة بالاسم من خلال البحث",
|
||||||
"fix_incorrect_match": "إصلاح المطابقة غير الصحيحة",
|
"fix_incorrect_match": "إصلاح المطابقة غير الصحيحة",
|
||||||
"folders": "المجلدات",
|
"folders": "المجلدات",
|
||||||
"folders_feature_description": "تصفح عرض المجلد للصور ومقاطع الفيديو الموجودة على نظام الملفات",
|
"folders_feature_description": "تصفح عرض المجلد للصور ومقاطع الفيديو الموجودة على نظام الملفات",
|
||||||
"force_re-scan_library_files": "فرض إعادة فحص جميع ملفات المكتبة",
|
|
||||||
"forward": "إلى الأمام",
|
"forward": "إلى الأمام",
|
||||||
"general": "عام",
|
"general": "عام",
|
||||||
"get_help": "الحصول على المساعدة",
|
"get_help": "الحصول على المساعدة",
|
||||||
"getting_started": "البدء",
|
"getting_started": "البدء",
|
||||||
"go_back": "الرجوع للخلف",
|
"go_back": "الرجوع للخلف",
|
||||||
"go_to_search": "اذهب إلى البحث",
|
"go_to_search": "اذهب إلى البحث",
|
||||||
"go_to_share_page": "انتقل إلى صفحة المشاركة",
|
|
||||||
"group_albums_by": "تجميع الألبومات حسب...",
|
"group_albums_by": "تجميع الألبومات حسب...",
|
||||||
"group_no": "بدون تجميع",
|
"group_no": "بدون تجميع",
|
||||||
"group_owner": "تجميع حسب المالك",
|
"group_owner": "تجميع حسب المالك",
|
||||||
@@ -802,10 +764,6 @@
|
|||||||
"image_alt_text_date_place_2_people": "{isVideo, select, true {Video} other {Image}} تم التقاطها في {city}، {country} مع {person1} و{person2} في {date}",
|
"image_alt_text_date_place_2_people": "{isVideo, select, true {Video} other {Image}} تم التقاطها في {city}، {country} مع {person1} و{person2} في {date}",
|
||||||
"image_alt_text_date_place_3_people": "{isVideo, select, true {Video} other {Image}} تم التقاطها في {city}، {country} مع {person1}، {person2}، و{person3} في {date}",
|
"image_alt_text_date_place_3_people": "{isVideo, select, true {Video} other {Image}} تم التقاطها في {city}، {country} مع {person1}، {person2}، و{person3} في {date}",
|
||||||
"image_alt_text_date_place_4_or_more_people": "{isVideo, select, true {Video} other {Image}} تم التقاطها في {city}, {country} with {person1}, {person2}, مع {additionalCount, number} آخرين في {date}",
|
"image_alt_text_date_place_4_or_more_people": "{isVideo, select, true {Video} other {Image}} تم التقاطها في {city}, {country} with {person1}, {person2}, مع {additionalCount, number} آخرين في {date}",
|
||||||
"image_alt_text_people": "{count, plural, =1 {مع {person1}} =2 {مع {person1} و {person2}} =3 {مع {person1} و {person2} و {person3}} other {مع {person1} و {person2} و {others, number} آخرين}}",
|
|
||||||
"image_alt_text_place": "في {city}, {country}",
|
|
||||||
"image_taken": "{isVideo, select, true {تم التقاط الفيديو} other {تم التقاط الصورة}}",
|
|
||||||
"img": "",
|
|
||||||
"immich_logo": "شعار immich",
|
"immich_logo": "شعار immich",
|
||||||
"immich_web_interface": "واجهة ويب immich",
|
"immich_web_interface": "واجهة ويب immich",
|
||||||
"import_from_json": "استيراد من JSON",
|
"import_from_json": "استيراد من JSON",
|
||||||
@@ -826,7 +784,6 @@
|
|||||||
"invite_people": "دعوة الأشخاص",
|
"invite_people": "دعوة الأشخاص",
|
||||||
"invite_to_album": "دعوة إلى الألبوم",
|
"invite_to_album": "دعوة إلى الألبوم",
|
||||||
"items_count": "{count, plural, one {# عنصر} other {# عناصر}}",
|
"items_count": "{count, plural, one {# عنصر} other {# عناصر}}",
|
||||||
"job_settings_description": "",
|
|
||||||
"jobs": "الوظائف",
|
"jobs": "الوظائف",
|
||||||
"keep": "احتفظ",
|
"keep": "احتفظ",
|
||||||
"keep_all": "احتفظ بالكل",
|
"keep_all": "احتفظ بالكل",
|
||||||
@@ -841,31 +798,6 @@
|
|||||||
"level": "المستوى",
|
"level": "المستوى",
|
||||||
"library": "مكتبة",
|
"library": "مكتبة",
|
||||||
"library_options": "خيارات المكتبة",
|
"library_options": "خيارات المكتبة",
|
||||||
"license_account_info": "حسابك مرخص",
|
|
||||||
"license_activated_subtitle": "شكرا بدعمك لـ Immich وبرمجيات المصدر المفتوح",
|
|
||||||
"license_activated_title": "رخصتك نُشطت بنجاح",
|
|
||||||
"license_button_activate": "تنشيط",
|
|
||||||
"license_button_buy": "شراء",
|
|
||||||
"license_button_buy_license": "اشتر رخصة",
|
|
||||||
"license_button_select": "إختر",
|
|
||||||
"license_failed_activation": "فشل في تفعيل الترخيص. يرجى التحقق من بريدك الإلكتروني للحصول على مفتاح الترخيص الصحيح!",
|
|
||||||
"license_individual_description_1": "رخصة واحدة لكل مستخدم على أي خادم",
|
|
||||||
"license_individual_title": "رخصة فردية",
|
|
||||||
"license_info_licensed": "مُرَخص",
|
|
||||||
"license_info_unlicensed": "غير مُرَخص",
|
|
||||||
"license_input_suggestion": "لديك رخصة؟ أدخِل الرمز بالأسفل",
|
|
||||||
"license_license_subtitle": "اشتر رخصةً لدعم Immich",
|
|
||||||
"license_license_title": "الرخصة",
|
|
||||||
"license_lifetime_description": "رخصة مدى الحياة",
|
|
||||||
"license_per_server": "لكل خادم",
|
|
||||||
"license_per_user": "لكل مستحدم",
|
|
||||||
"license_server_description_1": "رخصة واحدة لكل خادم",
|
|
||||||
"license_server_description_2": "رخصة لكل المستخدمين على الخادم",
|
|
||||||
"license_server_title": "رخصة خادم",
|
|
||||||
"license_trial_info_1": "أنت تستخدم نسخةً غير مرخصة ل Immich",
|
|
||||||
"license_trial_info_2": "لقد استخدمتَ Immich تقريبا لمدة",
|
|
||||||
"license_trial_info_3": "{accountAge, plural, one {# يوم} other {# أيام}}",
|
|
||||||
"license_trial_info_4": "يُرجى التفكير في شراء رخصة لدعم التطوير المستمر للخدمة",
|
|
||||||
"light": "المضيئ",
|
"light": "المضيئ",
|
||||||
"like_deleted": "تم حذف الإعجاب",
|
"like_deleted": "تم حذف الإعجاب",
|
||||||
"link_motion_video": "رابط فيديو الحركة",
|
"link_motion_video": "رابط فيديو الحركة",
|
||||||
@@ -887,6 +819,7 @@
|
|||||||
"look": "الشكل",
|
"look": "الشكل",
|
||||||
"loop_videos": "تكرار مقاطع الفيديو",
|
"loop_videos": "تكرار مقاطع الفيديو",
|
||||||
"loop_videos_description": "فَعْل لتكرار مقطع فيديو تلقائيًا في عارض التفاصيل.",
|
"loop_videos_description": "فَعْل لتكرار مقطع فيديو تلقائيًا في عارض التفاصيل.",
|
||||||
|
"main_branch_warning": "أنت تستخدم إصداراً تطويرياً؛ ونحن نوصي بشدة باستخدام إصدار النشر!",
|
||||||
"make": "صنع",
|
"make": "صنع",
|
||||||
"manage_shared_links": "إدارة الروابط المشتركة",
|
"manage_shared_links": "إدارة الروابط المشتركة",
|
||||||
"manage_sharing_with_partners": "إدارة المشاركة مع الشركاء",
|
"manage_sharing_with_partners": "إدارة المشاركة مع الشركاء",
|
||||||
@@ -969,7 +902,6 @@
|
|||||||
"onboarding_welcome_user": "مرحبا، {user}",
|
"onboarding_welcome_user": "مرحبا، {user}",
|
||||||
"online": "متصل",
|
"online": "متصل",
|
||||||
"only_favorites": "المفضلة فقط",
|
"only_favorites": "المفضلة فقط",
|
||||||
"only_refreshes_modified_files": "تحديث الملفات المعدلة فقط",
|
|
||||||
"open_in_map_view": "فتح في عرض الخريطة",
|
"open_in_map_view": "فتح في عرض الخريطة",
|
||||||
"open_in_openstreetmap": "فتح في OpenStreetMap",
|
"open_in_openstreetmap": "فتح في OpenStreetMap",
|
||||||
"open_the_search_filters": "افتح مرشحات البحث",
|
"open_the_search_filters": "افتح مرشحات البحث",
|
||||||
@@ -1007,7 +939,6 @@
|
|||||||
"people_edits_count": "تم تعديل {count, plural, one {# شخص } other {# أشخاص }}",
|
"people_edits_count": "تم تعديل {count, plural, one {# شخص } other {# أشخاص }}",
|
||||||
"people_feature_description": "تصفح الصور ومقاطع الفيديو المجمعة حسب الأشخاص",
|
"people_feature_description": "تصفح الصور ومقاطع الفيديو المجمعة حسب الأشخاص",
|
||||||
"people_sidebar_description": "عرض رابط للأشخاص في الشريط الجانبي",
|
"people_sidebar_description": "عرض رابط للأشخاص في الشريط الجانبي",
|
||||||
"perform_library_tasks": "",
|
|
||||||
"permanent_deletion_warning": "تحذير الحذف الدائم",
|
"permanent_deletion_warning": "تحذير الحذف الدائم",
|
||||||
"permanent_deletion_warning_setting_description": "إظهار تحذير عند حذف المحتويات نهائيًا",
|
"permanent_deletion_warning_setting_description": "إظهار تحذير عند حذف المحتويات نهائيًا",
|
||||||
"permanently_delete": "حذف بشكل دائم",
|
"permanently_delete": "حذف بشكل دائم",
|
||||||
@@ -1029,7 +960,6 @@
|
|||||||
"play_memories": "تشغيل الذكريات",
|
"play_memories": "تشغيل الذكريات",
|
||||||
"play_motion_photo": "تشغيل الصور المتحركة",
|
"play_motion_photo": "تشغيل الصور المتحركة",
|
||||||
"play_or_pause_video": "تشغيل الفيديو أو إيقافه مؤقتًا",
|
"play_or_pause_video": "تشغيل الفيديو أو إيقافه مؤقتًا",
|
||||||
"point": "",
|
|
||||||
"port": "المنفذ",
|
"port": "المنفذ",
|
||||||
"preset": "الإعداد المسبق",
|
"preset": "الإعداد المسبق",
|
||||||
"preview": "معاينة",
|
"preview": "معاينة",
|
||||||
@@ -1074,12 +1004,10 @@
|
|||||||
"purchase_server_description_2": "حالة الداعم",
|
"purchase_server_description_2": "حالة الداعم",
|
||||||
"purchase_server_title": "الخادم",
|
"purchase_server_title": "الخادم",
|
||||||
"purchase_settings_server_activated": "يتم إدارة مفتاح منتج الخادم من قبل مدير النظام",
|
"purchase_settings_server_activated": "يتم إدارة مفتاح منتج الخادم من قبل مدير النظام",
|
||||||
"range": "",
|
|
||||||
"rating": "تقييم نجمي",
|
"rating": "تقييم نجمي",
|
||||||
"rating_clear": "مسح التقييم",
|
"rating_clear": "مسح التقييم",
|
||||||
"rating_count": "{count, plural, one {# نجمة} other {# نجوم}}",
|
"rating_count": "{count, plural, one {# نجمة} other {# نجوم}}",
|
||||||
"rating_description": "اعرض تقييم EXIF في لوحة المعلومات",
|
"rating_description": "اعرض تقييم EXIF في لوحة المعلومات",
|
||||||
"raw": "",
|
|
||||||
"reaction_options": "خيارات رد الفعل",
|
"reaction_options": "خيارات رد الفعل",
|
||||||
"read_changelog": "قراءة سجل التغيير",
|
"read_changelog": "قراءة سجل التغيير",
|
||||||
"reassign": "إعادة التعيين",
|
"reassign": "إعادة التعيين",
|
||||||
@@ -1090,11 +1018,13 @@
|
|||||||
"recent_searches": "عمليات البحث الأخيرة",
|
"recent_searches": "عمليات البحث الأخيرة",
|
||||||
"refresh": "تحديث",
|
"refresh": "تحديث",
|
||||||
"refresh_encoded_videos": "تحديث مقاطع الفيديو المشفرة",
|
"refresh_encoded_videos": "تحديث مقاطع الفيديو المشفرة",
|
||||||
|
"refresh_faces": "تحديث الوجوه",
|
||||||
"refresh_metadata": "تحديث البيانات الوصفية",
|
"refresh_metadata": "تحديث البيانات الوصفية",
|
||||||
"refresh_thumbnails": "تحديث الصور المصغرة",
|
"refresh_thumbnails": "تحديث الصور المصغرة",
|
||||||
"refreshed": "تم التحديث",
|
"refreshed": "تم التحديث",
|
||||||
"refreshes_every_file": "إعادة قراءة كافة الملفات الموجودة والجديدة",
|
"refreshes_every_file": "إعادة قراءة كافة الملفات الموجودة والجديدة",
|
||||||
"refreshing_encoded_video": "جارٍ تحديث الفيديو المرمز",
|
"refreshing_encoded_video": "جارٍ تحديث الفيديو المرمز",
|
||||||
|
"refreshing_faces": "جاري تحديث الوجوه",
|
||||||
"refreshing_metadata": "جارٍ تحديث البيانات الوصفية",
|
"refreshing_metadata": "جارٍ تحديث البيانات الوصفية",
|
||||||
"regenerating_thumbnails": "جارٍ تجديد الصور المصغرة",
|
"regenerating_thumbnails": "جارٍ تجديد الصور المصغرة",
|
||||||
"remove": "إزالة",
|
"remove": "إزالة",
|
||||||
@@ -1122,7 +1052,6 @@
|
|||||||
"reset": "إعادة ضبط",
|
"reset": "إعادة ضبط",
|
||||||
"reset_password": "إعادة تعيين كلمة المرور",
|
"reset_password": "إعادة تعيين كلمة المرور",
|
||||||
"reset_people_visibility": "إعادة ضبط ظهور الأشخاص",
|
"reset_people_visibility": "إعادة ضبط ظهور الأشخاص",
|
||||||
"reset_settings_to_default": "",
|
|
||||||
"reset_to_default": "إعادة التعيين إلى الافتراضي",
|
"reset_to_default": "إعادة التعيين إلى الافتراضي",
|
||||||
"resolve_duplicates": "معالجة النسخ المكررة",
|
"resolve_duplicates": "معالجة النسخ المكررة",
|
||||||
"resolved_all_duplicates": "تم حل جميع التكرارات",
|
"resolved_all_duplicates": "تم حل جميع التكرارات",
|
||||||
@@ -1142,9 +1071,7 @@
|
|||||||
"saved_settings": "تم حفظ الإعدادات",
|
"saved_settings": "تم حفظ الإعدادات",
|
||||||
"say_something": "قل شيئًا",
|
"say_something": "قل شيئًا",
|
||||||
"scan_all_libraries": "فحص كل المكتبات",
|
"scan_all_libraries": "فحص كل المكتبات",
|
||||||
"scan_all_library_files": "إعادة فحص كافة ملفات المكتبة",
|
|
||||||
"scan_library": "مسح",
|
"scan_library": "مسح",
|
||||||
"scan_new_library_files": "فحص ملفات المكتبة الجديدة",
|
|
||||||
"scan_settings": "إعدادات الفحص",
|
"scan_settings": "إعدادات الفحص",
|
||||||
"scanning_for_album": "جارٍ الفحص عن ألبوم...",
|
"scanning_for_album": "جارٍ الفحص عن ألبوم...",
|
||||||
"search": "بحث",
|
"search": "بحث",
|
||||||
@@ -1187,7 +1114,6 @@
|
|||||||
"selected_count": "{count, plural, other {# محددة }}",
|
"selected_count": "{count, plural, other {# محددة }}",
|
||||||
"send_message": "أرسل رسالة",
|
"send_message": "أرسل رسالة",
|
||||||
"send_welcome_email": "أرسل بريدًا إلكترونيًا ترحيبيًا",
|
"send_welcome_email": "أرسل بريدًا إلكترونيًا ترحيبيًا",
|
||||||
"server": "الخادم",
|
|
||||||
"server_offline": "الخادم غير متصل",
|
"server_offline": "الخادم غير متصل",
|
||||||
"server_online": "الخادم متصل",
|
"server_online": "الخادم متصل",
|
||||||
"server_stats": "إحصائيات الخادم",
|
"server_stats": "إحصائيات الخادم",
|
||||||
@@ -1301,7 +1227,6 @@
|
|||||||
"to_trash": "حذف",
|
"to_trash": "حذف",
|
||||||
"toggle_settings": "الإعدادات",
|
"toggle_settings": "الإعدادات",
|
||||||
"toggle_theme": "تبديل المظهر الداكن",
|
"toggle_theme": "تبديل المظهر الداكن",
|
||||||
"toggle_visibility": "تبديل الرؤية",
|
|
||||||
"total_usage": "الاستخدام الإجمالي",
|
"total_usage": "الاستخدام الإجمالي",
|
||||||
"trash": "المهملات",
|
"trash": "المهملات",
|
||||||
"trash_all": "نقل الكل إلى سلة المهملات",
|
"trash_all": "نقل الكل إلى سلة المهملات",
|
||||||
@@ -1311,12 +1236,10 @@
|
|||||||
"trashed_items_will_be_permanently_deleted_after": "سيتم حذفُ العناصر المحذوفة نِهائيًا بعد {days, plural, one {# يوم} other {# أيام }}.",
|
"trashed_items_will_be_permanently_deleted_after": "سيتم حذفُ العناصر المحذوفة نِهائيًا بعد {days, plural, one {# يوم} other {# أيام }}.",
|
||||||
"type": "النوع",
|
"type": "النوع",
|
||||||
"unarchive": "أخرج من الأرشيف",
|
"unarchive": "أخرج من الأرشيف",
|
||||||
"unarchived": "",
|
|
||||||
"unarchived_count": "{count, plural, other {غير مؤرشفة #}}",
|
"unarchived_count": "{count, plural, other {غير مؤرشفة #}}",
|
||||||
"unfavorite": "أزل التفضيل",
|
"unfavorite": "أزل التفضيل",
|
||||||
"unhide_person": "أظهر الشخص",
|
"unhide_person": "أظهر الشخص",
|
||||||
"unknown": "غير معروف",
|
"unknown": "غير معروف",
|
||||||
"unknown_album": "",
|
|
||||||
"unknown_year": "سنة غير معروفة",
|
"unknown_year": "سنة غير معروفة",
|
||||||
"unlimited": "غير محدود",
|
"unlimited": "غير محدود",
|
||||||
"unlink_motion_video": "إلغاء ربط فيديو الحركة",
|
"unlink_motion_video": "إلغاء ربط فيديو الحركة",
|
||||||
@@ -1348,8 +1271,6 @@
|
|||||||
"use_custom_date_range": "استخدم النطاق الزمني المخصص بدلاً من ذلك",
|
"use_custom_date_range": "استخدم النطاق الزمني المخصص بدلاً من ذلك",
|
||||||
"user": "مستخدم",
|
"user": "مستخدم",
|
||||||
"user_id": "معرف المستخدم",
|
"user_id": "معرف المستخدم",
|
||||||
"user_license_settings": "رخصة",
|
|
||||||
"user_license_settings_description": "ادر رخصتك",
|
|
||||||
"user_liked": "قام {user} بالإعجاب {type, select, photo {بهذه الصورة} video {بهذا الفيديو} asset {بهذا المحتوى} other {بها}}",
|
"user_liked": "قام {user} بالإعجاب {type, select, photo {بهذه الصورة} video {بهذا الفيديو} asset {بهذا المحتوى} other {بها}}",
|
||||||
"user_purchase_settings": "الشراء",
|
"user_purchase_settings": "الشراء",
|
||||||
"user_purchase_settings_description": "إدارة عملية الشراء الخاصة بك",
|
"user_purchase_settings_description": "إدارة عملية الشراء الخاصة بك",
|
||||||
@@ -1363,6 +1284,8 @@
|
|||||||
"version": "الإصدار",
|
"version": "الإصدار",
|
||||||
"version_announcement_closing": "صديقك، أليكس",
|
"version_announcement_closing": "صديقك، أليكس",
|
||||||
"version_announcement_message": "مرحباً يا صديقي، هنالك نسخة جديدة من التطبيق. خذ وقتك لزيارة <link>ملاحظات الإصدار</link> والتأكد من أن ملف <code>docker-compose.yml</code> وإعداد <code>.env</code> مُحدّثين لتجنب أي إعدادات خاطئة، خاصةً إذا كنت تستخدم WatchTower أو أي آلية تقوم بتحديث التطبيق تلقائياً.",
|
"version_announcement_message": "مرحباً يا صديقي، هنالك نسخة جديدة من التطبيق. خذ وقتك لزيارة <link>ملاحظات الإصدار</link> والتأكد من أن ملف <code>docker-compose.yml</code> وإعداد <code>.env</code> مُحدّثين لتجنب أي إعدادات خاطئة، خاصةً إذا كنت تستخدم WatchTower أو أي آلية تقوم بتحديث التطبيق تلقائياً.",
|
||||||
|
"version_history": "تاريخ الإصدار",
|
||||||
|
"version_history_item": "تم تثبيت {version} في {date}",
|
||||||
"video": "فيديو",
|
"video": "فيديو",
|
||||||
"video_hover_setting": "تشغيل الصورة المصغرة للفيديو عند التمرير",
|
"video_hover_setting": "تشغيل الصورة المصغرة للفيديو عند التمرير",
|
||||||
"video_hover_setting_description": "تشغيل الصورة المصغرة للفيديو عند تحريك الماوس فوق العنصر. حتى عند التعطيل، يمكن بدء التشغيل عن طريق التمرير فوق رمز التشغيل.",
|
"video_hover_setting_description": "تشغيل الصورة المصغرة للفيديو عند تحريك الماوس فوق العنصر. حتى عند التعطيل، يمكن بدء التشغيل عن طريق التمرير فوق رمز التشغيل.",
|
||||||
@@ -1377,7 +1300,6 @@
|
|||||||
"view_next_asset": "عرض المحتوى التالي",
|
"view_next_asset": "عرض المحتوى التالي",
|
||||||
"view_previous_asset": "عرض المحتوى السابق",
|
"view_previous_asset": "عرض المحتوى السابق",
|
||||||
"view_stack": "عرض التكديس",
|
"view_stack": "عرض التكديس",
|
||||||
"viewer": "",
|
|
||||||
"visibility_changed": "الرؤية تغيرت لـ {count, plural, one {شخص واحد} other {# عدة أشخاص}}",
|
"visibility_changed": "الرؤية تغيرت لـ {count, plural, one {شخص واحد} other {# عدة أشخاص}}",
|
||||||
"waiting": "في الانتظار",
|
"waiting": "في الانتظار",
|
||||||
"warning": "تحذير",
|
"warning": "تحذير",
|
||||||
@@ -54,9 +54,6 @@
|
|||||||
"jobs_delayed": "{jobCount, plural, other {# gecikməli}}",
|
"jobs_delayed": "{jobCount, plural, other {# gecikməli}}",
|
||||||
"jobs_failed": "{jobCount, plural, other {# uğursuz}}",
|
"jobs_failed": "{jobCount, plural, other {# uğursuz}}",
|
||||||
"library_created": "{library} kitabxanası yaradıldı",
|
"library_created": "{library} kitabxanası yaradıldı",
|
||||||
"library_cron_expression": "Kron zamanlaması",
|
|
||||||
"library_cron_expression_description": "Kron zamanlama formatından istifadə edərək skan intervalının təyin edin. Daha çox məlumat üçün <link>Crontab Guru</link>",
|
|
||||||
"library_cron_expression_presets": "Kron zamanlamasının ilkin parametrləri",
|
|
||||||
"library_deleted": "Kitabxana silindi",
|
"library_deleted": "Kitabxana silindi",
|
||||||
"library_import_path_description": "İdxal olunacaq qovluöu seçin. Bu qovluq, alt qovluqlar daxil olmaqla şəkil və videolar üçün skan ediləcəkdir.",
|
"library_import_path_description": "İdxal olunacaq qovluöu seçin. Bu qovluq, alt qovluqlar daxil olmaqla şəkil və videolar üçün skan ediləcəkdir.",
|
||||||
"library_scanning": "Periodik skan",
|
"library_scanning": "Periodik skan",
|
||||||
@@ -0,0 +1,32 @@
|
|||||||
|
{
|
||||||
|
"about": "Пра праграму",
|
||||||
|
"account": "Уліковы запіс",
|
||||||
|
"account_settings": "Налады акаўнта",
|
||||||
|
"acknowledge": "Пацвердзіць",
|
||||||
|
"action": "Дзеянне",
|
||||||
|
"actions": "Дзеянні",
|
||||||
|
"active": "Актыўны",
|
||||||
|
"activity": "Актыўнасць",
|
||||||
|
"activity_changed": "Актыўнасць {enabled, select, true {уключана} other {адключана}}",
|
||||||
|
"add": "Дадаць",
|
||||||
|
"add_a_description": "Дадаць апісанне",
|
||||||
|
"add_a_location": "Дадаць месца",
|
||||||
|
"add_a_name": "Дадаць імя",
|
||||||
|
"add_a_title": "Дадаць загаловак",
|
||||||
|
"add_exclusion_pattern": "Дадаць шаблон выключэння",
|
||||||
|
"add_import_path": "Дадаць шлях імпарту",
|
||||||
|
"add_location": "Дадайце месца",
|
||||||
|
"add_more_users": "Дадаць больш карыстальнікаў",
|
||||||
|
"add_partner": "Дадаць партнёра",
|
||||||
|
"add_path": "Дадаць шлях",
|
||||||
|
"add_photos": "Дадаць фота",
|
||||||
|
"add_to": "Дадаць у...",
|
||||||
|
"add_to_album": "Дадаць у альбом",
|
||||||
|
"add_to_shared_album": "Дадаць у агульны альбом",
|
||||||
|
"added_to_archive": "Дададзена ў архіў",
|
||||||
|
"added_to_favorites": "Дададзена ў абраныя",
|
||||||
|
"added_to_favorites_count": "Дададзена {count, number} да абранага",
|
||||||
|
"admin": {
|
||||||
|
"add_exclusion_pattern_description": "Дадайце шаблоны выключэнняў. Падтрымліваецца выкарыстанне сімвалаў * , ** і ?. Каб ігнараваць усе файлы ў любой дырэкторыі з назвай \"Raw\", выкарыстоўвайце \"**/Raw/**\". Каб ігнараваць усе файлы, якія заканчваюцца на \".tif\", выкарыстоўвайце \"**/.tif\". Каб ігнараваць абсолютны шлях, выкарыстоўвайце \"/path/to/ignore/**\"."
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -34,6 +34,7 @@
|
|||||||
"authentication_settings_disable_all": "Сигурни ли сте, че искате да деактивирате всички методи за вписване? Вписването ще бъде напълно деактивирано.",
|
"authentication_settings_disable_all": "Сигурни ли сте, че искате да деактивирате всички методи за вписване? Вписването ще бъде напълно деактивирано.",
|
||||||
"authentication_settings_reenable": "За да реактивирате, изполвайте <link>Server Command</link>.",
|
"authentication_settings_reenable": "За да реактивирате, изполвайте <link>Server Command</link>.",
|
||||||
"background_task_job": "Процеси на заден фон",
|
"background_task_job": "Процеси на заден фон",
|
||||||
|
"backup_database": "Резервна База данни",
|
||||||
"check_all": "Провери всичко",
|
"check_all": "Провери всичко",
|
||||||
"cleared_jobs": "Изчистени задачи от тип: {job}",
|
"cleared_jobs": "Изчистени задачи от тип: {job}",
|
||||||
"config_set_by_file": "Конфигурацията е зададена от файл",
|
"config_set_by_file": "Конфигурацията е зададена от файл",
|
||||||
@@ -59,16 +60,9 @@
|
|||||||
"image_prefer_embedded_preview_setting_description": "Използване на вградените прегледи в RAW снимките като вход за обработка на изображенията, когато има такива. Това може да доведе до по-точни цветове за някои изображения, но качеството на прегледите зависи от камерата и изображението може да има повече компресионни артефакти.",
|
"image_prefer_embedded_preview_setting_description": "Използване на вградените прегледи в RAW снимките като вход за обработка на изображенията, когато има такива. Това може да доведе до по-точни цветове за някои изображения, но качеството на прегледите зависи от камерата и изображението може да има повече компресионни артефакти.",
|
||||||
"image_prefer_wide_gamut": "Предпочитане на широка гама",
|
"image_prefer_wide_gamut": "Предпочитане на широка гама",
|
||||||
"image_prefer_wide_gamut_setting_description": "Използване на Display P3 за миниатюри. Това запазва по-добре жизнеността на изображенията с широки цветови пространства, но изображенията може да изглеждат по различен начин на стари устройства със стара версия на браузъра. sRGB изображенията се запазват като sRGB, за да се избегнат цветови промени.",
|
"image_prefer_wide_gamut_setting_description": "Използване на Display P3 за миниатюри. Това запазва по-добре жизнеността на изображенията с широки цветови пространства, но изображенията може да изглеждат по различен начин на стари устройства със стара версия на браузъра. sRGB изображенията се запазват като sRGB, за да се избегнат цветови промени.",
|
||||||
"image_preview_format": "Формат на прегледите",
|
|
||||||
"image_preview_resolution": "Резолюция на прегледите",
|
|
||||||
"image_preview_resolution_description": "Използва се при разглеждане на единична снимка и за машинно обучение. По-високите резолюции могат да запазят повече детайли, но отнемат повече време за кодиране, имат по-големи размери на файловете и могат да намалят отзивчивостта на приложението.",
|
|
||||||
"image_quality": "Качество",
|
"image_quality": "Качество",
|
||||||
"image_quality_description": "Качество на изображението от 1-100. По-голяма стойност води до по-добро качество, но създава по-големи файлове. Тази настройка засяга изображенията от тип преглед и миниатюра.",
|
|
||||||
"image_settings": "Настройки за изображенията",
|
"image_settings": "Настройки за изображенията",
|
||||||
"image_settings_description": "Управляване качеството и резолюцията на създадените изображения",
|
"image_settings_description": "Управляване качеството и резолюцията на създадените изображения",
|
||||||
"image_thumbnail_format": "Формат на миниатюрните изображения",
|
|
||||||
"image_thumbnail_resolution": "Резолюция на миниатюрните изображения",
|
|
||||||
"image_thumbnail_resolution_description": "Използва се при разглеждане на групи от снимки (основна времева линия, изглед на албум и др.). По-високите резолюции могат да запазят повече детайли, но отнемат повече време за кодиране, имат по-големи размери на файловете и могат да намалят отзивчивостта на приложението.",
|
|
||||||
"job_concurrency": "Паралелност на {job}",
|
"job_concurrency": "Паралелност на {job}",
|
||||||
"job_created": "Задачата е създадена",
|
"job_created": "Задачата е създадена",
|
||||||
"job_not_concurrency_safe": "Тази задача не е безопасна за паралелно изпълнение.",
|
"job_not_concurrency_safe": "Тази задача не е безопасна за паралелно изпълнение.",
|
||||||
@@ -78,9 +72,6 @@
|
|||||||
"jobs_delayed": "{jobCount, plural, other {# delayed}}",
|
"jobs_delayed": "{jobCount, plural, other {# delayed}}",
|
||||||
"jobs_failed": "{jobCount, plural, other {# failed}}",
|
"jobs_failed": "{jobCount, plural, other {# failed}}",
|
||||||
"library_created": "Създадена библиотека: {library}",
|
"library_created": "Създадена библиотека: {library}",
|
||||||
"library_cron_expression": "Cron израз",
|
|
||||||
"library_cron_expression_description": "Задайте интервала за сканиране чрез cron интервал. За повече информация, вижте например <link>Crontab Guru</link>",
|
|
||||||
"library_cron_expression_presets": "Предварителни настройки на Cron израза",
|
|
||||||
"library_deleted": "Библиотека е изтрита",
|
"library_deleted": "Библиотека е изтрита",
|
||||||
"library_import_path_description": "Посочете папка за импортиране. Тази папка, включително подпапките, ще бъдат сканирани за изображения и видеоклипове.",
|
"library_import_path_description": "Посочете папка за импортиране. Тази папка, включително подпапките, ще бъдат сканирани за изображения и видеоклипове.",
|
||||||
"library_scanning": "Периодично сканиране",
|
"library_scanning": "Периодично сканиране",
|
||||||
@@ -203,7 +194,6 @@
|
|||||||
"refreshing_all_libraries": "Опресняване на всички библиотеки",
|
"refreshing_all_libraries": "Опресняване на всички библиотеки",
|
||||||
"registration": "Администраторска регистрация",
|
"registration": "Администраторска регистрация",
|
||||||
"registration_description": "Тъй като сте първият потребител в системата, ще бъдете назначен като администратор и ще отговаряте за административните задачи, а допълнителните потребители ще бъдат създадени от вас.",
|
"registration_description": "Тъй като сте първият потребител в системата, ще бъдете назначен като администратор и ще отговаряте за административните задачи, а допълнителните потребители ще бъдат създадени от вас.",
|
||||||
"removing_deleted_files": "Премахване на офлайн файлове",
|
|
||||||
"repair_all": "Поправяне на всичко",
|
"repair_all": "Поправяне на всичко",
|
||||||
"repair_matched_items": "{count, plural, one {Съвпадащ елемент (#)} other {Съвпадащи елементи (#)}}",
|
"repair_matched_items": "{count, plural, one {Съвпадащ елемент (#)} other {Съвпадащи елементи (#)}}",
|
||||||
"repaired_items": "{count, plural, one {Поправен елемент (#)} other {Поправени елементи (#)}}",
|
"repaired_items": "{count, plural, one {Поправен елемент (#)} other {Поправени елементи (#)}}",
|
||||||
@@ -211,8 +201,6 @@
|
|||||||
"reset_settings_to_default": "Възстановяване на настройките по подразбиране",
|
"reset_settings_to_default": "Възстановяване на настройките по подразбиране",
|
||||||
"reset_settings_to_recent_saved": "Възстановяване на настройките до последните запазени настройки",
|
"reset_settings_to_recent_saved": "Възстановяване на настройките до последните запазени настройки",
|
||||||
"scanning_library": "Сканиране на библиотеката",
|
"scanning_library": "Сканиране на библиотеката",
|
||||||
"scanning_library_for_changed_files": "Сканиране на библиотеката за променени файлове",
|
|
||||||
"scanning_library_for_new_files": "Сканиране на библиотеката за нови файлове",
|
|
||||||
"search_jobs": "Търсене на задачи...",
|
"search_jobs": "Търсене на задачи...",
|
||||||
"send_welcome_email": "Изпращане на имейл за добре дошли",
|
"send_welcome_email": "Изпращане на имейл за добре дошли",
|
||||||
"server_external_domain_settings": "Външен домейн",
|
"server_external_domain_settings": "Външен домейн",
|
||||||
@@ -299,8 +287,6 @@
|
|||||||
"transcoding_threads_description": "По-високите стойности водят до по-бързо разкодиране, но оставят по-малко място за сървъра да обработва други задачи, докато е активен. Тази стойност не трябва да надвишава броя на процесорните ядра. Увеличава максимално използването, ако е зададено на 0.",
|
"transcoding_threads_description": "По-високите стойности водят до по-бързо разкодиране, но оставят по-малко място за сървъра да обработва други задачи, докато е активен. Тази стойност не трябва да надвишава броя на процесорните ядра. Увеличава максимално използването, ако е зададено на 0.",
|
||||||
"transcoding_tone_mapping": "",
|
"transcoding_tone_mapping": "",
|
||||||
"transcoding_tone_mapping_description": "Опитва се да запази външния вид на HDR видеоклипове, когато се преобразува в SDR. Всеки алгоритъм прави различни компромиси за цвят, детайлност и яркост. Hable запазва детайлите, Mobius запазва цвета, а Reinhard запазва яркостта.",
|
"transcoding_tone_mapping_description": "Опитва се да запази външния вид на HDR видеоклипове, когато се преобразува в SDR. Всеки алгоритъм прави различни компромиси за цвят, детайлност и яркост. Hable запазва детайлите, Mobius запазва цвета, а Reinhard запазва яркостта.",
|
||||||
"transcoding_tone_mapping_npl": "",
|
|
||||||
"transcoding_tone_mapping_npl_description": "Цветовете ще бъдат коригирани, за да изглеждат нормално за дисплей с тази яркост. Противоинтуитивно, по-ниските стойности увеличават яркостта на видеото и обратно, тъй като компенсират яркостта на дисплея. 0 задава тази стойност автоматично.",
|
|
||||||
"transcoding_transcode_policy": "Правила за транскодиране",
|
"transcoding_transcode_policy": "Правила за транскодиране",
|
||||||
"transcoding_transcode_policy_description": "Правила за това кога видеоклипът трябва да бъде транскодиран. HDR видеоклиповете винаги ще бъдат транскодирани (освен ако транскодирането е деактивирано).",
|
"transcoding_transcode_policy_description": "Правила за това кога видеоклипът трябва да бъде транскодиран. HDR видеоклиповете винаги ще бъдат транскодирани (освен ако транскодирането е деактивирано).",
|
||||||
"transcoding_two_pass_encoding": "Кодиране с двойно минаване",
|
"transcoding_two_pass_encoding": "Кодиране с двойно минаване",
|
||||||
@@ -376,14 +362,12 @@
|
|||||||
"archive_or_unarchive_photo": "Архивиране или деархивиране на снимка",
|
"archive_or_unarchive_photo": "Архивиране или деархивиране на снимка",
|
||||||
"archive_size": "Размер на архива",
|
"archive_size": "Размер на архива",
|
||||||
"archive_size_description": "Конфигурирайте размера на архива за изтегляния (в GiB)",
|
"archive_size_description": "Конфигурирайте размера на архива за изтегляния (в GiB)",
|
||||||
"archived": "",
|
|
||||||
"are_these_the_same_person": "Това едно и също лице ли е?",
|
"are_these_the_same_person": "Това едно и също лице ли е?",
|
||||||
"asset_offline": "Ресурсът е офлайн",
|
"asset_offline": "Ресурсът е офлайн",
|
||||||
"asset_skipped": "Пропуснато",
|
"asset_skipped": "Пропуснато",
|
||||||
"asset_uploaded": "Качено",
|
"asset_uploaded": "Качено",
|
||||||
"asset_uploading": "Качване...",
|
"asset_uploading": "Качване...",
|
||||||
"assets": "Ресурси",
|
"assets": "Ресурси",
|
||||||
"assets_moved_to_trash": "",
|
|
||||||
"authorized_devices": "Удостоверени устройства",
|
"authorized_devices": "Удостоверени устройства",
|
||||||
"back": "Назад",
|
"back": "Назад",
|
||||||
"back_close_deselect": "Назад, затваряне или премахване на избора",
|
"back_close_deselect": "Назад, затваряне или премахване на избора",
|
||||||
@@ -403,10 +387,6 @@
|
|||||||
"cannot_merge_people": "Не може да обединява хора",
|
"cannot_merge_people": "Не може да обединява хора",
|
||||||
"cannot_undo_this_action": "Не можете да отмените това действие!",
|
"cannot_undo_this_action": "Не можете да отмените това действие!",
|
||||||
"cannot_update_the_description": "Описанието не може да бъде актуализирано",
|
"cannot_update_the_description": "Описанието не може да бъде актуализирано",
|
||||||
"cant_apply_changes": "",
|
|
||||||
"cant_get_faces": "",
|
|
||||||
"cant_search_people": "",
|
|
||||||
"cant_search_places": "",
|
|
||||||
"change_date": "Промени датата",
|
"change_date": "Промени датата",
|
||||||
"change_expiration_time": "Променете времето на изтичане",
|
"change_expiration_time": "Променете времето на изтичане",
|
||||||
"change_location": "Промени локацията",
|
"change_location": "Промени локацията",
|
||||||
@@ -650,7 +630,6 @@
|
|||||||
"external": "Външно",
|
"external": "Външно",
|
||||||
"external_libraries": "Външни библиотеки",
|
"external_libraries": "Външни библиотеки",
|
||||||
"face_unassigned": "Незададено",
|
"face_unassigned": "Незададено",
|
||||||
"failed_to_get_people": "",
|
|
||||||
"favorite": "Любим",
|
"favorite": "Любим",
|
||||||
"favorite_or_unfavorite_photo": "",
|
"favorite_or_unfavorite_photo": "",
|
||||||
"favorites": "Любими",
|
"favorites": "Любими",
|
||||||
@@ -662,14 +641,12 @@
|
|||||||
"filter_people": "Филтриране на хора",
|
"filter_people": "Филтриране на хора",
|
||||||
"find_them_fast": "Намерете ги бързо по име с търсене",
|
"find_them_fast": "Намерете ги бързо по име с търсене",
|
||||||
"fix_incorrect_match": "Поправяне на неправилно съвпадение",
|
"fix_incorrect_match": "Поправяне на неправилно съвпадение",
|
||||||
"force_re-scan_library_files": "Принудително повторно сканиране на всички библиотечни файлове",
|
|
||||||
"forward": "Напред",
|
"forward": "Напред",
|
||||||
"general": "Общи",
|
"general": "Общи",
|
||||||
"get_help": "Помощ",
|
"get_help": "Помощ",
|
||||||
"getting_started": "",
|
"getting_started": "",
|
||||||
"go_back": "Връщане назад",
|
"go_back": "Връщане назад",
|
||||||
"go_to_search": "Преминаване към търсене",
|
"go_to_search": "Преминаване към търсене",
|
||||||
"go_to_share_page": "",
|
|
||||||
"group_albums_by": "Групирай албум по...",
|
"group_albums_by": "Групирай албум по...",
|
||||||
"group_owner": "Групиране по собственик",
|
"group_owner": "Групиране по собственик",
|
||||||
"group_year": "Групиране по година",
|
"group_year": "Групиране по година",
|
||||||
@@ -685,7 +662,6 @@
|
|||||||
"hour": "Час",
|
"hour": "Час",
|
||||||
"image": "Изображение",
|
"image": "Изображение",
|
||||||
"image_alt_text_date": "на {date}",
|
"image_alt_text_date": "на {date}",
|
||||||
"image_alt_text_place": "в {city}, {country}",
|
|
||||||
"immich_logo": "Immich лого",
|
"immich_logo": "Immich лого",
|
||||||
"immich_web_interface": "",
|
"immich_web_interface": "",
|
||||||
"import_from_json": "Импортиране от JSON",
|
"import_from_json": "Импортиране от JSON",
|
||||||
@@ -718,29 +694,6 @@
|
|||||||
"level": "Ниво",
|
"level": "Ниво",
|
||||||
"library": "Библиотека",
|
"library": "Библиотека",
|
||||||
"library_options": "Опции на библиотеката",
|
"library_options": "Опции на библиотеката",
|
||||||
"license_account_info": "Вашият акаунт е лицензиран",
|
|
||||||
"license_activated_title": "Вашият лиценз е активиран успешно",
|
|
||||||
"license_button_activate": "Активирай",
|
|
||||||
"license_button_buy": "Купи",
|
|
||||||
"license_button_buy_license": "Купи лиценз",
|
|
||||||
"license_button_select": "Избери",
|
|
||||||
"license_failed_activation": "Неуспешно активиране на лиценз. Моля, проверете имейла си за правилния лицензен ключ!",
|
|
||||||
"license_individual_description_1": "1 лиценз за потребител на всеки сървър",
|
|
||||||
"license_individual_title": "Индивидуален лиценз",
|
|
||||||
"license_info_licensed": "Лицензиран",
|
|
||||||
"license_info_unlicensed": "Не лицензиран",
|
|
||||||
"license_input_suggestion": "Имате лиценз? Въведете ключа по-долу",
|
|
||||||
"license_license_subtitle": "Купете лиценз, за да подкрепите Immich",
|
|
||||||
"license_license_title": "ЛИЦЕНЗ",
|
|
||||||
"license_lifetime_description": "Доживотен лиценз",
|
|
||||||
"license_per_server": "За сървър",
|
|
||||||
"license_per_user": "За потребител",
|
|
||||||
"license_server_description_1": "1 лиценз за сървър",
|
|
||||||
"license_server_description_2": "Лиценз за всички потребители на сървъра",
|
|
||||||
"license_server_title": "Лиценз за сървър",
|
|
||||||
"license_trial_info_1": "Работите с нелицензирана версия на Immich",
|
|
||||||
"license_trial_info_2": "Използвали сте Immich за приблизително",
|
|
||||||
"license_trial_info_4": "Моля, помислете за закупуване на лиценз, за да подкрепите по-нататъшното развитие на услугата",
|
|
||||||
"light": "Светло",
|
"light": "Светло",
|
||||||
"link_options": "Опции на линк за споделяне",
|
"link_options": "Опции на линк за споделяне",
|
||||||
"link_to_oauth": "",
|
"link_to_oauth": "",
|
||||||
@@ -832,7 +785,6 @@
|
|||||||
"onboarding_welcome_user": "Добре дошъл, {user}",
|
"onboarding_welcome_user": "Добре дошъл, {user}",
|
||||||
"online": "Онлайн",
|
"online": "Онлайн",
|
||||||
"only_favorites": "Само любими",
|
"only_favorites": "Само любими",
|
||||||
"only_refreshes_modified_files": "Опреснява само модифицирани файлове",
|
|
||||||
"open_the_search_filters": "Отваряне на филтрите за търсене",
|
"open_the_search_filters": "Отваряне на филтрите за търсене",
|
||||||
"options": "Настройки",
|
"options": "Настройки",
|
||||||
"or": "или",
|
"or": "или",
|
||||||
@@ -870,7 +822,6 @@
|
|||||||
"permanent_deletion_warning_setting_description": "Показване на предупреждение при трайно изтриване на активи",
|
"permanent_deletion_warning_setting_description": "Показване на предупреждение при трайно изтриване на активи",
|
||||||
"permanently_delete": "Трайно изтриване",
|
"permanently_delete": "Трайно изтриване",
|
||||||
"permanently_deleted_asset": "",
|
"permanently_deleted_asset": "",
|
||||||
"permanently_deleted_assets": "",
|
|
||||||
"person": "Човек",
|
"person": "Човек",
|
||||||
"photos": "Снимки",
|
"photos": "Снимки",
|
||||||
"photos_count": "",
|
"photos_count": "",
|
||||||
@@ -931,8 +882,6 @@
|
|||||||
"saved_settings": "",
|
"saved_settings": "",
|
||||||
"say_something": "",
|
"say_something": "",
|
||||||
"scan_all_libraries": "",
|
"scan_all_libraries": "",
|
||||||
"scan_all_library_files": "",
|
|
||||||
"scan_new_library_files": "",
|
|
||||||
"scan_settings": "",
|
"scan_settings": "",
|
||||||
"scanning_for_album": "",
|
"scanning_for_album": "",
|
||||||
"search": "Търсене",
|
"search": "Търсене",
|
||||||
@@ -967,7 +916,6 @@
|
|||||||
"selected": "Избрано",
|
"selected": "Избрано",
|
||||||
"send_message": "Изпратете съобщение",
|
"send_message": "Изпратете съобщение",
|
||||||
"send_welcome_email": "Изпратете имейл за добре дошли",
|
"send_welcome_email": "Изпратете имейл за добре дошли",
|
||||||
"server": "Сървър",
|
|
||||||
"server_offline": "Сървър офлайн",
|
"server_offline": "Сървър офлайн",
|
||||||
"server_online": "Сървър онлайн",
|
"server_online": "Сървър онлайн",
|
||||||
"server_stats": "Статус на сървъра",
|
"server_stats": "Статус на сървъра",
|
||||||
@@ -1070,7 +1018,6 @@
|
|||||||
"to_trash": "Кошче",
|
"to_trash": "Кошче",
|
||||||
"toggle_settings": "Превключване на настройките",
|
"toggle_settings": "Превключване на настройките",
|
||||||
"toggle_theme": "Превключване на тема",
|
"toggle_theme": "Превключване на тема",
|
||||||
"toggle_visibility": "",
|
|
||||||
"total_usage": "Общо използвано",
|
"total_usage": "Общо използвано",
|
||||||
"trash": "кошче",
|
"trash": "кошче",
|
||||||
"trash_all": "Изхвърли всички",
|
"trash_all": "Изхвърли всички",
|
||||||
@@ -1079,7 +1026,6 @@
|
|||||||
"trashed_items_will_be_permanently_deleted_after": "Изхвърлените в кошчето елементи ще бъдат изтрити за постоянно след {days, plural, one {# day} other {# days}}.",
|
"trashed_items_will_be_permanently_deleted_after": "Изхвърлените в кошчето елементи ще бъдат изтрити за постоянно след {days, plural, one {# day} other {# days}}.",
|
||||||
"type": "Тип",
|
"type": "Тип",
|
||||||
"unarchive": "Разархивирай",
|
"unarchive": "Разархивирай",
|
||||||
"unarchived": "",
|
|
||||||
"unfavorite": "Премахване от любимите",
|
"unfavorite": "Премахване от любимите",
|
||||||
"unhide_person": "",
|
"unhide_person": "",
|
||||||
"unknown": "Неизвестно",
|
"unknown": "Неизвестно",
|
||||||
@@ -1135,13 +1081,12 @@
|
|||||||
"view_next_asset": "Преглед на следващия файл",
|
"view_next_asset": "Преглед на следващия файл",
|
||||||
"view_previous_asset": "Преглед на предишния файл",
|
"view_previous_asset": "Преглед на предишния файл",
|
||||||
"view_stack": "Покажи в стек",
|
"view_stack": "Покажи в стек",
|
||||||
"viewer": "",
|
|
||||||
"visibility_changed": "Видимостта е променена за {count, plural, one {# person} other {# people}}",
|
"visibility_changed": "Видимостта е променена за {count, plural, one {# person} other {# people}}",
|
||||||
"waiting": "в изчакване",
|
"waiting": "в изчакване",
|
||||||
"warning": "Внимание",
|
"warning": "Внимание",
|
||||||
"week": "Седмица",
|
"week": "Седмица",
|
||||||
"welcome": "Добре дошли",
|
"welcome": "Добре дошли",
|
||||||
"welcome_to_immich": "Добре дошли в immich",
|
"welcome_to_immich": "Добре дошли в Immich",
|
||||||
"year": "Година",
|
"year": "Година",
|
||||||
"yes": "Да",
|
"yes": "Да",
|
||||||
"you_dont_have_any_shared_links": "Нямате споделени връзки",
|
"you_dont_have_any_shared_links": "Нямате споделени връзки",
|
||||||
@@ -33,7 +33,6 @@
|
|||||||
"confirm_email_below": "",
|
"confirm_email_below": "",
|
||||||
"confirm_reprocess_all_faces": "",
|
"confirm_reprocess_all_faces": "",
|
||||||
"confirm_user_password_reset": "",
|
"confirm_user_password_reset": "",
|
||||||
"crontab_guru": "",
|
|
||||||
"disable_login": "",
|
"disable_login": "",
|
||||||
"duplicate_detection_job_description": "",
|
"duplicate_detection_job_description": "",
|
||||||
"exclusion_pattern_description": "",
|
"exclusion_pattern_description": "",
|
||||||
@@ -49,16 +48,9 @@
|
|||||||
"image_prefer_embedded_preview_setting_description": "",
|
"image_prefer_embedded_preview_setting_description": "",
|
||||||
"image_prefer_wide_gamut": "",
|
"image_prefer_wide_gamut": "",
|
||||||
"image_prefer_wide_gamut_setting_description": "",
|
"image_prefer_wide_gamut_setting_description": "",
|
||||||
"image_preview_format": "",
|
|
||||||
"image_preview_resolution": "",
|
|
||||||
"image_preview_resolution_description": "",
|
|
||||||
"image_quality": "",
|
"image_quality": "",
|
||||||
"image_quality_description": "",
|
|
||||||
"image_settings": "",
|
"image_settings": "",
|
||||||
"image_settings_description": "",
|
"image_settings_description": "",
|
||||||
"image_thumbnail_format": "",
|
|
||||||
"image_thumbnail_resolution": "",
|
|
||||||
"image_thumbnail_resolution_description": "",
|
|
||||||
"job_concurrency": "",
|
"job_concurrency": "",
|
||||||
"job_not_concurrency_safe": "",
|
"job_not_concurrency_safe": "",
|
||||||
"job_settings": "",
|
"job_settings": "",
|
||||||
@@ -67,8 +59,6 @@
|
|||||||
"jobs_delayed": "",
|
"jobs_delayed": "",
|
||||||
"jobs_failed": "",
|
"jobs_failed": "",
|
||||||
"library_created": "",
|
"library_created": "",
|
||||||
"library_cron_expression": "",
|
|
||||||
"library_cron_expression_presets": "",
|
|
||||||
"library_deleted": "",
|
"library_deleted": "",
|
||||||
"library_import_path_description": "",
|
"library_import_path_description": "",
|
||||||
"library_scanning": "",
|
"library_scanning": "",
|
||||||
@@ -172,15 +162,12 @@
|
|||||||
"paths_validated_successfully": "",
|
"paths_validated_successfully": "",
|
||||||
"quota_size_gib": "",
|
"quota_size_gib": "",
|
||||||
"refreshing_all_libraries": "",
|
"refreshing_all_libraries": "",
|
||||||
"removing_deleted_files": "",
|
|
||||||
"repair_all": "",
|
"repair_all": "",
|
||||||
"repair_matched_items": "",
|
"repair_matched_items": "",
|
||||||
"repaired_items": "",
|
"repaired_items": "",
|
||||||
"require_password_change_on_login": "",
|
"require_password_change_on_login": "",
|
||||||
"reset_settings_to_default": "",
|
"reset_settings_to_default": "",
|
||||||
"reset_settings_to_recent_saved": "",
|
"reset_settings_to_recent_saved": "",
|
||||||
"scanning_library_for_changed_files": "",
|
|
||||||
"scanning_library_for_new_files": "",
|
|
||||||
"send_welcome_email": "",
|
"send_welcome_email": "",
|
||||||
"server_external_domain_settings": "",
|
"server_external_domain_settings": "",
|
||||||
"server_external_domain_settings_description": "",
|
"server_external_domain_settings_description": "",
|
||||||
@@ -255,8 +242,6 @@
|
|||||||
"transcoding_threads_description": "",
|
"transcoding_threads_description": "",
|
||||||
"transcoding_tone_mapping": "",
|
"transcoding_tone_mapping": "",
|
||||||
"transcoding_tone_mapping_description": "",
|
"transcoding_tone_mapping_description": "",
|
||||||
"transcoding_tone_mapping_npl": "",
|
|
||||||
"transcoding_tone_mapping_npl_description": "",
|
|
||||||
"transcoding_transcode_policy": "",
|
"transcoding_transcode_policy": "",
|
||||||
"transcoding_transcode_policy_description": "",
|
"transcoding_transcode_policy_description": "",
|
||||||
"transcoding_two_pass_encoding": "",
|
"transcoding_two_pass_encoding": "",
|
||||||
@@ -308,7 +293,6 @@
|
|||||||
"appears_in": "",
|
"appears_in": "",
|
||||||
"archive": "",
|
"archive": "",
|
||||||
"archive_or_unarchive_photo": "",
|
"archive_or_unarchive_photo": "",
|
||||||
"archived": "",
|
|
||||||
"asset_offline": "",
|
"asset_offline": "",
|
||||||
"assets": "",
|
"assets": "",
|
||||||
"authorized_devices": "",
|
"authorized_devices": "",
|
||||||
@@ -322,10 +306,6 @@
|
|||||||
"cancel_search": "",
|
"cancel_search": "",
|
||||||
"cannot_merge_people": "",
|
"cannot_merge_people": "",
|
||||||
"cannot_update_the_description": "",
|
"cannot_update_the_description": "",
|
||||||
"cant_apply_changes": "",
|
|
||||||
"cant_get_faces": "",
|
|
||||||
"cant_search_people": "",
|
|
||||||
"cant_search_places": "",
|
|
||||||
"change_date": "",
|
"change_date": "",
|
||||||
"change_expiration_time": "",
|
"change_expiration_time": "",
|
||||||
"change_location": "",
|
"change_location": "",
|
||||||
@@ -411,13 +391,6 @@
|
|||||||
"download": "",
|
"download": "",
|
||||||
"downloading": "",
|
"downloading": "",
|
||||||
"duration": "",
|
"duration": "",
|
||||||
"durations": {
|
|
||||||
"days": "",
|
|
||||||
"hours": "",
|
|
||||||
"minutes": "",
|
|
||||||
"months": "",
|
|
||||||
"years": ""
|
|
||||||
},
|
|
||||||
"edit_album": "",
|
"edit_album": "",
|
||||||
"edit_avatar": "",
|
"edit_avatar": "",
|
||||||
"edit_date": "",
|
"edit_date": "",
|
||||||
@@ -436,7 +409,6 @@
|
|||||||
"edited": "",
|
"edited": "",
|
||||||
"editor": "",
|
"editor": "",
|
||||||
"email": "",
|
"email": "",
|
||||||
"empty_album": "",
|
|
||||||
"empty_trash": "",
|
"empty_trash": "",
|
||||||
"enable": "",
|
"enable": "",
|
||||||
"enabled": "",
|
"enabled": "",
|
||||||
@@ -522,7 +494,6 @@
|
|||||||
"extension": "",
|
"extension": "",
|
||||||
"external": "",
|
"external": "",
|
||||||
"external_libraries": "",
|
"external_libraries": "",
|
||||||
"failed_to_get_people": "",
|
|
||||||
"favorite": "",
|
"favorite": "",
|
||||||
"favorite_or_unfavorite_photo": "",
|
"favorite_or_unfavorite_photo": "",
|
||||||
"favorites": "",
|
"favorites": "",
|
||||||
@@ -534,14 +505,12 @@
|
|||||||
"filter_people": "",
|
"filter_people": "",
|
||||||
"find_them_fast": "",
|
"find_them_fast": "",
|
||||||
"fix_incorrect_match": "",
|
"fix_incorrect_match": "",
|
||||||
"force_re-scan_library_files": "",
|
|
||||||
"forward": "",
|
"forward": "",
|
||||||
"general": "",
|
"general": "",
|
||||||
"get_help": "",
|
"get_help": "",
|
||||||
"getting_started": "",
|
"getting_started": "",
|
||||||
"go_back": "",
|
"go_back": "",
|
||||||
"go_to_search": "",
|
"go_to_search": "",
|
||||||
"go_to_share_page": "",
|
|
||||||
"group_albums_by": "",
|
"group_albums_by": "",
|
||||||
"has_quota": "",
|
"has_quota": "",
|
||||||
"hide_gallery": "",
|
"hide_gallery": "",
|
||||||
@@ -656,7 +625,6 @@
|
|||||||
"oldest_first": "",
|
"oldest_first": "",
|
||||||
"online": "",
|
"online": "",
|
||||||
"only_favorites": "",
|
"only_favorites": "",
|
||||||
"only_refreshes_modified_files": "",
|
|
||||||
"open_the_search_filters": "",
|
"open_the_search_filters": "",
|
||||||
"options": "",
|
"options": "",
|
||||||
"organize_your_library": "",
|
"organize_your_library": "",
|
||||||
@@ -745,8 +713,6 @@
|
|||||||
"saved_settings": "",
|
"saved_settings": "",
|
||||||
"say_something": "",
|
"say_something": "",
|
||||||
"scan_all_libraries": "",
|
"scan_all_libraries": "",
|
||||||
"scan_all_library_files": "",
|
|
||||||
"scan_new_library_files": "",
|
|
||||||
"scan_settings": "",
|
"scan_settings": "",
|
||||||
"search": "",
|
"search": "",
|
||||||
"search_albums": "",
|
"search_albums": "",
|
||||||
@@ -777,7 +743,6 @@
|
|||||||
"selected": "",
|
"selected": "",
|
||||||
"send_message": "",
|
"send_message": "",
|
||||||
"send_welcome_email": "",
|
"send_welcome_email": "",
|
||||||
"server": "",
|
|
||||||
"server_stats": "",
|
"server_stats": "",
|
||||||
"set": "",
|
"set": "",
|
||||||
"set_as_album_cover": "",
|
"set_as_album_cover": "",
|
||||||
@@ -847,7 +812,6 @@
|
|||||||
"to_favorite": "",
|
"to_favorite": "",
|
||||||
"toggle_settings": "",
|
"toggle_settings": "",
|
||||||
"toggle_theme": "",
|
"toggle_theme": "",
|
||||||
"toggle_visibility": "",
|
|
||||||
"total_usage": "",
|
"total_usage": "",
|
||||||
"trash": "",
|
"trash": "",
|
||||||
"trash_all": "",
|
"trash_all": "",
|
||||||
@@ -855,11 +819,9 @@
|
|||||||
"trashed_items_will_be_permanently_deleted_after": "",
|
"trashed_items_will_be_permanently_deleted_after": "",
|
||||||
"type": "",
|
"type": "",
|
||||||
"unarchive": "",
|
"unarchive": "",
|
||||||
"unarchived": "",
|
|
||||||
"unfavorite": "",
|
"unfavorite": "",
|
||||||
"unhide_person": "",
|
"unhide_person": "",
|
||||||
"unknown": "",
|
"unknown": "",
|
||||||
"unknown_album": "",
|
|
||||||
"unknown_year": "",
|
"unknown_year": "",
|
||||||
"unlimited": "",
|
"unlimited": "",
|
||||||
"unlink_oauth": "",
|
"unlink_oauth": "",
|
||||||
@@ -893,7 +855,6 @@
|
|||||||
"view_links": "",
|
"view_links": "",
|
||||||
"view_next_asset": "",
|
"view_next_asset": "",
|
||||||
"view_previous_asset": "",
|
"view_previous_asset": "",
|
||||||
"viewer": "",
|
|
||||||
"waiting": "",
|
"waiting": "",
|
||||||
"week": "",
|
"week": "",
|
||||||
"welcome_to_immich": "",
|
"welcome_to_immich": "",
|
||||||
@@ -1,5 +1,5 @@
|
|||||||
{
|
{
|
||||||
"about": "Quant a",
|
"about": "Refrescar",
|
||||||
"account": "Compte",
|
"account": "Compte",
|
||||||
"account_settings": "Configuració del compte",
|
"account_settings": "Configuració del compte",
|
||||||
"acknowledge": "Reconeix",
|
"acknowledge": "Reconeix",
|
||||||
@@ -14,11 +14,11 @@
|
|||||||
"add_a_name": "Afegir un nom",
|
"add_a_name": "Afegir un nom",
|
||||||
"add_a_title": "Afegir un títol",
|
"add_a_title": "Afegir un títol",
|
||||||
"add_exclusion_pattern": "Afegir un patró d'exclusió",
|
"add_exclusion_pattern": "Afegir un patró d'exclusió",
|
||||||
"add_import_path": "Afegir un camí d'importació",
|
"add_import_path": "Afegir una ruta d'importació",
|
||||||
"add_location": "Afegir la ubicació",
|
"add_location": "Afegir la ubicació",
|
||||||
"add_more_users": "Afegir més usuaris",
|
"add_more_users": "Afegir més usuaris",
|
||||||
"add_partner": "Afegir company/a",
|
"add_partner": "Afegir company/a",
|
||||||
"add_path": "Afegir un camí",
|
"add_path": "Afegir una ruta",
|
||||||
"add_photos": "Afegir fotografies",
|
"add_photos": "Afegir fotografies",
|
||||||
"add_to": "Afegir a...",
|
"add_to": "Afegir a...",
|
||||||
"add_to_album": "Afegir a un l'àlbum",
|
"add_to_album": "Afegir a un l'àlbum",
|
||||||
@@ -27,13 +27,18 @@
|
|||||||
"added_to_favorites": "Afegit als preferits",
|
"added_to_favorites": "Afegit als preferits",
|
||||||
"added_to_favorites_count": "{count, number} afegits als preferits",
|
"added_to_favorites_count": "{count, number} afegits als preferits",
|
||||||
"admin": {
|
"admin": {
|
||||||
"add_exclusion_pattern_description": "Afegeix patrons d'eclusió. És permès de l'ús de *, **, i ? (globbing). Per a ignorar els fitxers de qualsevol directori anomenat \"Raw\" introduïu \"**/Raw/**\". Per a ignorar els fitxers acabats en \".tif\" introduïu \"**/*.tif\". Per a ignorar un camí absolut, utilitzeu \"/camí/a/ignorar/**\".",
|
"add_exclusion_pattern_description": "Afegeix patrons d'exclusió. Es permet englobar fent ús de *, **, i ?. Per a ignorar els fitxers de qualsevol directori anomenat \"Raw\" introduïu \"**/Raw/**\". Per a ignorar els fitxers acabats en \".tif\" introduïu \"**/*.tif\". Per a ignorar una ruta absoluta, utilitzeu \"/ruta/a/ignorar/**\".",
|
||||||
"asset_offline_description": "Aquest recurs de la biblioteca externa ja no es troba al disc i s'ha mogut a la paperera. Si el fitxer s'ha mogut dins de la biblioteca, comproveu la vostra línia de temps per trobar el nou recurs corresponent. Per restaurar aquest recurs, assegureu-vos que Immich pugui accedir a la ruta del fitxer següent i escanegeu la biblioteca.",
|
"asset_offline_description": "Aquest recurs de la biblioteca externa ja no es troba al disc i s'ha mogut a la paperera. Si el fitxer s'ha mogut dins de la biblioteca, comproveu la vostra línia de temps per trobar el nou recurs corresponent. Per restaurar aquest recurs, assegureu-vos que Immich pugui accedir a la ruta del fitxer següent i escanegeu la biblioteca.",
|
||||||
"authentication_settings": "Configuració de l'autenticació",
|
"authentication_settings": "Configuració de l'autenticació",
|
||||||
"authentication_settings_description": "Gestiona la contrasenya, OAuth i altres configuracions de l'autenticació",
|
"authentication_settings_description": "Gestiona la contrasenya, OAuth i altres configuracions de l'autenticació",
|
||||||
"authentication_settings_disable_all": "Estàs segur que vols desactivar tots els mètodes d'inici de sessió? L'inici de sessió quedarà completament desactivat.",
|
"authentication_settings_disable_all": "Estàs segur que vols desactivar tots els mètodes d'inici de sessió? L'inici de sessió quedarà completament desactivat.",
|
||||||
"authentication_settings_reenable": "Per a tornar a habilitar, empra una <link>Comanda de Servidor</link>.",
|
"authentication_settings_reenable": "Per a tornar a habilitar, empra una <link>Comanda de Servidor</link>.",
|
||||||
"background_task_job": "Tasques en segon pla",
|
"background_task_job": "Tasques en segon pla",
|
||||||
|
"backup_database": "Còpia de la base de dades",
|
||||||
|
"backup_database_enable_description": "Habilitar còpies de la base de dades",
|
||||||
|
"backup_keep_last_amount": "Quantitat de còpies de seguretat anteriors per conservar",
|
||||||
|
"backup_settings": "Ajustes de les còpies de seguretat",
|
||||||
|
"backup_settings_description": "Gestionar la configuració de la còpia de seguretat de la base de dades",
|
||||||
"check_all": "Marca-ho tot",
|
"check_all": "Marca-ho tot",
|
||||||
"cleared_jobs": "Tasques esborrades per a: {job}",
|
"cleared_jobs": "Tasques esborrades per a: {job}",
|
||||||
"config_set_by_file": "La configuració està definida per un fitxer de configuració",
|
"config_set_by_file": "La configuració està definida per un fitxer de configuració",
|
||||||
@@ -43,9 +48,10 @@
|
|||||||
"confirm_reprocess_all_faces": "Esteu segur que voleu reprocessar totes les cares? Això també esborrarà la gent que heu anomenat.",
|
"confirm_reprocess_all_faces": "Esteu segur que voleu reprocessar totes les cares? Això també esborrarà la gent que heu anomenat.",
|
||||||
"confirm_user_password_reset": "Esteu segur que voleu reinicialitzar la contrasenya de l'usuari {user}?",
|
"confirm_user_password_reset": "Esteu segur que voleu reinicialitzar la contrasenya de l'usuari {user}?",
|
||||||
"create_job": "Crear tasca",
|
"create_job": "Crear tasca",
|
||||||
"crontab_guru": "Crontab Guru",
|
"cron_expression": "Expressió Cron",
|
||||||
|
"cron_expression_description": "Estableix l'interval d'escaneig amb el format cron. Per obtenir més informació, consulteu, p.e <link>Crontab Guru</link>",
|
||||||
|
"cron_expression_presets": "Ajustos predefinits d'expressions Cron",
|
||||||
"disable_login": "Deshabiliteu l'inici de sessió",
|
"disable_login": "Deshabiliteu l'inici de sessió",
|
||||||
"disabled": "Deshabilitat",
|
|
||||||
"duplicate_detection_job_description": "Executa l'aprenentatge automàtic en els elements per a detectar imatges semblants. Fa servir l'Smart Search",
|
"duplicate_detection_job_description": "Executa l'aprenentatge automàtic en els elements per a detectar imatges semblants. Fa servir l'Smart Search",
|
||||||
"exclusion_pattern_description": "Els patrons d'exclusió permeten ignorar fitxers i carpetes quan escanegeu una llibreria. Això és útil si teniu carpetes que contenen fitxer que no voleu importar, com els fitxers RAW.",
|
"exclusion_pattern_description": "Els patrons d'exclusió permeten ignorar fitxers i carpetes quan escanegeu una llibreria. Això és útil si teniu carpetes que contenen fitxer que no voleu importar, com els fitxers RAW.",
|
||||||
"external_library_created_at": "Llibreria externa (creada el {date})",
|
"external_library_created_at": "Llibreria externa (creada el {date})",
|
||||||
@@ -63,22 +69,15 @@
|
|||||||
"image_prefer_wide_gamut": "Prefereix àmplia gamma",
|
"image_prefer_wide_gamut": "Prefereix àmplia gamma",
|
||||||
"image_prefer_wide_gamut_setting_description": "Uitlitza Display P3 per a les miniatures. Això preserva més bé la vitalitat de les imatges amb espais de color àmplis, però les imatges es poden veure diferent en aparells antics amb una versió antiga del navegador. Les imatges sRGB romandran com a sRGB per a evitar canvis de color.",
|
"image_prefer_wide_gamut_setting_description": "Uitlitza Display P3 per a les miniatures. Això preserva més bé la vitalitat de les imatges amb espais de color àmplis, però les imatges es poden veure diferent en aparells antics amb una versió antiga del navegador. Les imatges sRGB romandran com a sRGB per a evitar canvis de color.",
|
||||||
"image_preview_description": "Imatge de mida mitjana amb metadades eliminades, que s'utilitza quan es visualitza un sol recurs i per a l'aprenentatge automàtic",
|
"image_preview_description": "Imatge de mida mitjana amb metadades eliminades, que s'utilitza quan es visualitza un sol recurs i per a l'aprenentatge automàtic",
|
||||||
"image_preview_format": "Format de previsualització",
|
|
||||||
"image_preview_quality_description": "Vista prèvia de la qualitat de l'1 al 100. Més alt és millor, però produeix fitxers més grans i pot reduir la capacitat de resposta de l'aplicació. Establir un valor baix pot afectar la qualitat de l'aprenentatge automàtic.",
|
"image_preview_quality_description": "Vista prèvia de la qualitat de l'1 al 100. Més alt és millor, però produeix fitxers més grans i pot reduir la capacitat de resposta de l'aplicació. Establir un valor baix pot afectar la qualitat de l'aprenentatge automàtic.",
|
||||||
"image_preview_resolution": "Resolució de previsualització",
|
|
||||||
"image_preview_resolution_description": "S'empra al visualitzar una única fotografia i per a l'Aprenentatge Automàtic. L'alta resolució por preservar més detalls però es triga més a codificar, té fitxers més pesats i pot reduir la resposta de l'aplicació.",
|
|
||||||
"image_preview_title": "Paràmetres de previsualització",
|
"image_preview_title": "Paràmetres de previsualització",
|
||||||
"image_quality": "Qualitat",
|
"image_quality": "Qualitat",
|
||||||
"image_quality_description": "Qualitat d'imatge de 1 a 100. Un valor més alt millora la qualitat però genera fitxers més pesats.",
|
|
||||||
"image_resolution": "Resolució",
|
"image_resolution": "Resolució",
|
||||||
"image_resolution_description": "Les resolucions més altes poden conservar més detalls però triguen més a codificar-se, tenen mides de fitxer més grans i poden reduir la capacitat de resposta de l'aplicació.",
|
"image_resolution_description": "Les resolucions més altes poden conservar més detalls però triguen més a codificar-se, tenen mides de fitxer més grans i poden reduir la capacitat de resposta de l'aplicació.",
|
||||||
"image_settings": "Configuració d'imatges",
|
"image_settings": "Configuració d'imatges",
|
||||||
"image_settings_description": "Gestiona la qualitat i resolució de les imatges generades",
|
"image_settings_description": "Gestiona la qualitat i resolució de les imatges generades",
|
||||||
"image_thumbnail_description": "Miniatura petita amb metadades eliminades, que s'utilitza quan es visualitzen grups de fotos com la línia de temps principal",
|
"image_thumbnail_description": "Miniatura petita amb metadades eliminades, que s'utilitza quan es visualitzen grups de fotos com la línia de temps principal",
|
||||||
"image_thumbnail_format": "Format de la miniatura",
|
|
||||||
"image_thumbnail_quality_description": "Qualitat de miniatura d'1 a 100. Més alt és millor, però produeix fitxers més grans i pot reduir la capacitat de resposta de l'aplicació.",
|
"image_thumbnail_quality_description": "Qualitat de miniatura d'1 a 100. Més alt és millor, però produeix fitxers més grans i pot reduir la capacitat de resposta de l'aplicació.",
|
||||||
"image_thumbnail_resolution": "Resolució de la miniatura",
|
|
||||||
"image_thumbnail_resolution_description": "S'empra per a veure grups de fotos (cronologia, vista d'àlbum, etc.). L'alta resolució pot preservar més detalls però triguen més en codificar-se, tenen fitxers més pesats i poden reduir la reactivitat de l'aplicació.",
|
|
||||||
"image_thumbnail_title": "Configuració de miniatures",
|
"image_thumbnail_title": "Configuració de miniatures",
|
||||||
"job_concurrency": "{job} concurrència",
|
"job_concurrency": "{job} concurrència",
|
||||||
"job_created": "Tasca creada",
|
"job_created": "Tasca creada",
|
||||||
@@ -89,9 +88,6 @@
|
|||||||
"jobs_delayed": "{jobCount, plural, other {# posposades}}",
|
"jobs_delayed": "{jobCount, plural, other {# posposades}}",
|
||||||
"jobs_failed": "{jobCount, plural, other {# fallides}}",
|
"jobs_failed": "{jobCount, plural, other {# fallides}}",
|
||||||
"library_created": "Bilbioteca creada: {library}",
|
"library_created": "Bilbioteca creada: {library}",
|
||||||
"library_cron_expression": "Expressió cron",
|
|
||||||
"library_cron_expression_description": "Estableix l'interval d'escaneig utilitzant el format cron. Per a més informació, consulta per exemple, <link>Crontab Guru</link>",
|
|
||||||
"library_cron_expression_presets": "Expressions cron predeterminades",
|
|
||||||
"library_deleted": "Bilbioteca eliminada",
|
"library_deleted": "Bilbioteca eliminada",
|
||||||
"library_import_path_description": "Especifiqueu una carpeta a importar. Aquesta carpeta, incloses les seves subcarpetes, serà escanejada per cercar-hi imatges i vídeos.",
|
"library_import_path_description": "Especifiqueu una carpeta a importar. Aquesta carpeta, incloses les seves subcarpetes, serà escanejada per cercar-hi imatges i vídeos.",
|
||||||
"library_scanning": "Escaneig periòdic",
|
"library_scanning": "Escaneig periòdic",
|
||||||
@@ -158,7 +154,7 @@
|
|||||||
"metadata_settings_description": "Administrar la configuració de les metadades",
|
"metadata_settings_description": "Administrar la configuració de les metadades",
|
||||||
"migration_job": "Migració",
|
"migration_job": "Migració",
|
||||||
"migration_job_description": "Migra les miniatures d'elements i cares cap a la nova estructura de carpetes",
|
"migration_job_description": "Migra les miniatures d'elements i cares cap a la nova estructura de carpetes",
|
||||||
"no_paths_added": "Cap camí afegit",
|
"no_paths_added": "No s'ha afegit cap ruta",
|
||||||
"no_pattern_added": "Cap patró aplicat",
|
"no_pattern_added": "Cap patró aplicat",
|
||||||
"note_apply_storage_label_previous_assets": "Nota: Per aplicar l'etiquetatge d'emmagatzematge a elements pujats prèviament, executeu la",
|
"note_apply_storage_label_previous_assets": "Nota: Per aplicar l'etiquetatge d'emmagatzematge a elements pujats prèviament, executeu la",
|
||||||
"note_cannot_be_changed_later": "NOTA: Això és irreversible!",
|
"note_cannot_be_changed_later": "NOTA: Això és irreversible!",
|
||||||
@@ -209,13 +205,12 @@
|
|||||||
"password_enable_description": "Inicia sessió amb correu electrònic i contrasenya",
|
"password_enable_description": "Inicia sessió amb correu electrònic i contrasenya",
|
||||||
"password_settings": "Inici de sessió amb contrasenya",
|
"password_settings": "Inici de sessió amb contrasenya",
|
||||||
"password_settings_description": "Gestiona la configuració de l'inici de sessió amb contrasenya",
|
"password_settings_description": "Gestiona la configuració de l'inici de sessió amb contrasenya",
|
||||||
"paths_validated_successfully": "Tots els camins han estat validats amb èxit",
|
"paths_validated_successfully": "Totes les rutes han estat validades amb èxit",
|
||||||
"person_cleanup_job": "Neteja de persona",
|
"person_cleanup_job": "Neteja de persona",
|
||||||
"quota_size_gib": "Tamany de la quota (GiB)",
|
"quota_size_gib": "Tamany de la quota (GiB)",
|
||||||
"refreshing_all_libraries": "Actualitzant totes les biblioteques",
|
"refreshing_all_libraries": "Actualitzant totes les biblioteques",
|
||||||
"registration": "Registre d'administrador",
|
"registration": "Registre d'administrador",
|
||||||
"registration_description": "Com que ets el primer usuari del sistema, seràs designat com a administrador i seràs responsable de les tasques administratives. També seràs l'encarregat de crear usuaris addicionals.",
|
"registration_description": "Com que ets el primer usuari del sistema, seràs designat com a administrador i seràs responsable de les tasques administratives. També seràs l'encarregat de crear usuaris addicionals.",
|
||||||
"removing_deleted_files": "Eliminant fitxers fora de línia",
|
|
||||||
"repair_all": "Reparar tot",
|
"repair_all": "Reparar tot",
|
||||||
"repair_matched_items": "Coincidència {count, plural, one {# element} other {# elements}}",
|
"repair_matched_items": "Coincidència {count, plural, one {# element} other {# elements}}",
|
||||||
"repaired_items": "Corregit {count, plural, one {# element} other {# elements}}",
|
"repaired_items": "Corregit {count, plural, one {# element} other {# elements}}",
|
||||||
@@ -223,8 +218,6 @@
|
|||||||
"reset_settings_to_default": "Restablir configuracions per defecte",
|
"reset_settings_to_default": "Restablir configuracions per defecte",
|
||||||
"reset_settings_to_recent_saved": "Restablir la configuració guardada més recent",
|
"reset_settings_to_recent_saved": "Restablir la configuració guardada més recent",
|
||||||
"scanning_library": "Escanejant biblioteca",
|
"scanning_library": "Escanejant biblioteca",
|
||||||
"scanning_library_for_changed_files": "Escanejant llibreria per trobar fitxers modificats",
|
|
||||||
"scanning_library_for_new_files": "Escanejant llibreria per trobar fitxers nous",
|
|
||||||
"search_jobs": "Tasques de cerca...",
|
"search_jobs": "Tasques de cerca...",
|
||||||
"send_welcome_email": "Enviar correu electrònic de benvinguda",
|
"send_welcome_email": "Enviar correu electrònic de benvinguda",
|
||||||
"server_external_domain_settings": "Domini extern",
|
"server_external_domain_settings": "Domini extern",
|
||||||
@@ -261,7 +254,6 @@
|
|||||||
"these_files_matched_by_checksum": "Aquests fitxers coincideixen amb els seus checksums",
|
"these_files_matched_by_checksum": "Aquests fitxers coincideixen amb els seus checksums",
|
||||||
"thumbnail_generation_job": "Generar miniatures",
|
"thumbnail_generation_job": "Generar miniatures",
|
||||||
"thumbnail_generation_job_description": "Genera miniatures grans, petites i borroses per a cada element, així com miniatures per a cada persona",
|
"thumbnail_generation_job_description": "Genera miniatures grans, petites i borroses per a cada element, així com miniatures per a cada persona",
|
||||||
"transcode_policy_description": "",
|
|
||||||
"transcoding_acceleration_api": "API d'acceleració",
|
"transcoding_acceleration_api": "API d'acceleració",
|
||||||
"transcoding_acceleration_api_description": "L'API que interactuarà amb el vostre dispositiu per accelerar la transcodificació. Aquesta configuració és \"millor esforç\": tornarà a la transcodificació del programari en cas d'error. VP9 pot funcionar o no depenent del vostre maquinari.",
|
"transcoding_acceleration_api_description": "L'API que interactuarà amb el vostre dispositiu per accelerar la transcodificació. Aquesta configuració és \"millor esforç\": tornarà a la transcodificació del programari en cas d'error. VP9 pot funcionar o no depenent del vostre maquinari.",
|
||||||
"transcoding_acceleration_nvenc": "NVENC (requereix GPU d'NVIDIA)",
|
"transcoding_acceleration_nvenc": "NVENC (requereix GPU d'NVIDIA)",
|
||||||
@@ -287,7 +279,7 @@
|
|||||||
"transcoding_hardware_acceleration": "Acceleració de maquinari",
|
"transcoding_hardware_acceleration": "Acceleració de maquinari",
|
||||||
"transcoding_hardware_acceleration_description": "Experimental. Molt més ràpid, però tindrà una qualitat més baixa amb la mateixa taxa de bits",
|
"transcoding_hardware_acceleration_description": "Experimental. Molt més ràpid, però tindrà una qualitat més baixa amb la mateixa taxa de bits",
|
||||||
"transcoding_hardware_decoding": "Descodificació de maquinari",
|
"transcoding_hardware_decoding": "Descodificació de maquinari",
|
||||||
"transcoding_hardware_decoding_setting_description": "S'aplica només a NVENC, QSV i RKMPP. Permet l'acceleració d'extrem a extrem en lloc d'accelerar només la codificació. És possible que no funcioni en tots els vídeos.",
|
"transcoding_hardware_decoding_setting_description": "Habilita l'acceleració d'extrem a extrem en lloc d'accelerar només la codificació. És possible que no funcioni en tots els vídeos.",
|
||||||
"transcoding_hevc_codec": "Còdec HEVC",
|
"transcoding_hevc_codec": "Còdec HEVC",
|
||||||
"transcoding_max_b_frames": "Nombre màxim de B-frames",
|
"transcoding_max_b_frames": "Nombre màxim de B-frames",
|
||||||
"transcoding_max_b_frames_description": "Els valors més alts milloren l'eficiència de la compressió, però alenteixen la codificació. És possible que no sigui compatible amb l'acceleració de maquinari en dispositius antics. 0 desactiva els B-frames, mentre que -1 estableix aquest valor automàticament.",
|
"transcoding_max_b_frames_description": "Els valors més alts milloren l'eficiència de la compressió, però alenteixen la codificació. És possible que no sigui compatible amb l'acceleració de maquinari en dispositius antics. 0 desactiva els B-frames, mentre que -1 estableix aquest valor automàticament.",
|
||||||
@@ -313,8 +305,6 @@
|
|||||||
"transcoding_threads_description": "Els valors més alts condueixen a una codificació més ràpida, però deixen menys espai perquè el servidor processi altres tasques mentre està actiu. Aquest valor no hauria de ser superior al nombre de nuclis de CPU. Maximitza la utilització si s'estableix a 0.",
|
"transcoding_threads_description": "Els valors més alts condueixen a una codificació més ràpida, però deixen menys espai perquè el servidor processi altres tasques mentre està actiu. Aquest valor no hauria de ser superior al nombre de nuclis de CPU. Maximitza la utilització si s'estableix a 0.",
|
||||||
"transcoding_tone_mapping": "Mapeig de to",
|
"transcoding_tone_mapping": "Mapeig de to",
|
||||||
"transcoding_tone_mapping_description": "Intenta preservar l'aspecte dels vídeos HDR quan es converteixen a SDR. Cada algorisme fa diferents compensacions pel color, el detall i la brillantor. Hable conserva els detalls, Mobius conserva el color i Reinhard conserva la brillantor.",
|
"transcoding_tone_mapping_description": "Intenta preservar l'aspecte dels vídeos HDR quan es converteixen a SDR. Cada algorisme fa diferents compensacions pel color, el detall i la brillantor. Hable conserva els detalls, Mobius conserva el color i Reinhard conserva la brillantor.",
|
||||||
"transcoding_tone_mapping_npl": "NPL de mapatge de to",
|
|
||||||
"transcoding_tone_mapping_npl_description": "Els colors s'ajustaran perquè semblin normals per a exposicions amb aquesta brillantor. Contra intuïtivament, els valors més baixos augmenten la brillantor del vídeo i viceversa, ja que compensa la brillantor de la pantalla. 0 estableix aquest valor automàticament.",
|
|
||||||
"transcoding_transcode_policy": "Política de transcodificació",
|
"transcoding_transcode_policy": "Política de transcodificació",
|
||||||
"transcoding_transcode_policy_description": "Política sobre quan s'ha de transcodificar un vídeo. Els vídeos HDR sempre es transcodificaran (excepte si la transcodificació està desactivada).",
|
"transcoding_transcode_policy_description": "Política sobre quan s'ha de transcodificar un vídeo. Els vídeos HDR sempre es transcodificaran (excepte si la transcodificació està desactivada).",
|
||||||
"transcoding_two_pass_encoding": "Codificació de dues passades",
|
"transcoding_two_pass_encoding": "Codificació de dues passades",
|
||||||
@@ -395,7 +385,6 @@
|
|||||||
"archive_or_unarchive_photo": "Arxivar o desarxivar fotografia",
|
"archive_or_unarchive_photo": "Arxivar o desarxivar fotografia",
|
||||||
"archive_size": "Mida de l'arxiu",
|
"archive_size": "Mida de l'arxiu",
|
||||||
"archive_size_description": "Configureu la mida de l'arxiu de les descàrregues (en GiB)",
|
"archive_size_description": "Configureu la mida de l'arxiu de les descàrregues (en GiB)",
|
||||||
"archived": "Arxivat",
|
|
||||||
"archived_count": "{count, plural, one {Arxivat #} other {Arxivats #}}",
|
"archived_count": "{count, plural, one {Arxivat #} other {Arxivats #}}",
|
||||||
"are_these_the_same_person": "Són la mateixa persona?",
|
"are_these_the_same_person": "Són la mateixa persona?",
|
||||||
"are_you_sure_to_do_this": "Esteu segurs que voleu fer-ho?",
|
"are_you_sure_to_do_this": "Esteu segurs que voleu fer-ho?",
|
||||||
@@ -445,10 +434,6 @@
|
|||||||
"cannot_merge_people": "No es pot fusionar gent",
|
"cannot_merge_people": "No es pot fusionar gent",
|
||||||
"cannot_undo_this_action": "Aquesta acció no es pot desfer!",
|
"cannot_undo_this_action": "Aquesta acció no es pot desfer!",
|
||||||
"cannot_update_the_description": "No es pot actualitzar la descripció",
|
"cannot_update_the_description": "No es pot actualitzar la descripció",
|
||||||
"cant_apply_changes": "No es poden aplicar els canvis",
|
|
||||||
"cant_get_faces": "No es poden obtenir les cares",
|
|
||||||
"cant_search_people": "No es pot buscar gent",
|
|
||||||
"cant_search_places": "No es poden cercar llocs",
|
|
||||||
"change_date": "Canvia la data",
|
"change_date": "Canvia la data",
|
||||||
"change_expiration_time": "Canvia la data d'expiració",
|
"change_expiration_time": "Canvia la data d'expiració",
|
||||||
"change_location": "Canvia la ubicació",
|
"change_location": "Canvia la ubicació",
|
||||||
@@ -562,13 +547,6 @@
|
|||||||
"duplicates": "Duplicats",
|
"duplicates": "Duplicats",
|
||||||
"duplicates_description": "Resol cada grup indicant quins, si n'hi ha, són duplicats",
|
"duplicates_description": "Resol cada grup indicant quins, si n'hi ha, són duplicats",
|
||||||
"duration": "Duració",
|
"duration": "Duració",
|
||||||
"durations": {
|
|
||||||
"days": "",
|
|
||||||
"hours": "",
|
|
||||||
"minutes": "",
|
|
||||||
"months": "",
|
|
||||||
"years": ""
|
|
||||||
},
|
|
||||||
"edit": "Editar",
|
"edit": "Editar",
|
||||||
"edit_album": "Edita l'àlbum",
|
"edit_album": "Edita l'àlbum",
|
||||||
"edit_avatar": "Edita l'avatar",
|
"edit_avatar": "Edita l'avatar",
|
||||||
@@ -576,8 +554,8 @@
|
|||||||
"edit_date_and_time": "Edita data i hora",
|
"edit_date_and_time": "Edita data i hora",
|
||||||
"edit_exclusion_pattern": "Edita patró d'exclusió",
|
"edit_exclusion_pattern": "Edita patró d'exclusió",
|
||||||
"edit_faces": "Edita les cares",
|
"edit_faces": "Edita les cares",
|
||||||
"edit_import_path": "Edita el camí d'importació",
|
"edit_import_path": "Edita la ruta d'importació",
|
||||||
"edit_import_paths": "Edita camins d'importació",
|
"edit_import_paths": "Edita les rutes d'importació",
|
||||||
"edit_key": "Edita clau",
|
"edit_key": "Edita clau",
|
||||||
"edit_link": "Edita enllaç",
|
"edit_link": "Edita enllaç",
|
||||||
"edit_location": "Edita ubicació",
|
"edit_location": "Edita ubicació",
|
||||||
@@ -593,8 +571,6 @@
|
|||||||
"editor_crop_tool_h2_aspect_ratios": "Relació d'aspecte",
|
"editor_crop_tool_h2_aspect_ratios": "Relació d'aspecte",
|
||||||
"editor_crop_tool_h2_rotation": "Rotació",
|
"editor_crop_tool_h2_rotation": "Rotació",
|
||||||
"email": "Correu electrònic",
|
"email": "Correu electrònic",
|
||||||
"empty": "",
|
|
||||||
"empty_album": "",
|
|
||||||
"empty_trash": "Buidar la paperera",
|
"empty_trash": "Buidar la paperera",
|
||||||
"empty_trash_confirmation": "Esteu segur que voleu buidar la paperera? Això eliminarà tots els recursos a la paperera permanentment d'Immich.\nNo podeu desfer aquesta acció!",
|
"empty_trash_confirmation": "Esteu segur que voleu buidar la paperera? Això eliminarà tots els recursos a la paperera permanentment d'Immich.\nNo podeu desfer aquesta acció!",
|
||||||
"enable": "Activar",
|
"enable": "Activar",
|
||||||
@@ -634,7 +610,7 @@
|
|||||||
"failed_to_remove_product_key": "No s'ha pogut eliminar la clau del producte",
|
"failed_to_remove_product_key": "No s'ha pogut eliminar la clau del producte",
|
||||||
"failed_to_stack_assets": "No s'han pogut apilar els elements",
|
"failed_to_stack_assets": "No s'han pogut apilar els elements",
|
||||||
"failed_to_unstack_assets": "No s'han pogut desapilar els elements",
|
"failed_to_unstack_assets": "No s'han pogut desapilar els elements",
|
||||||
"import_path_already_exists": "Aquest camí d'importació ja existeix.",
|
"import_path_already_exists": "Aquesta ruta d'importació ja existeix.",
|
||||||
"incorrect_email_or_password": "Correu electrònic o contrasenya incorrectes",
|
"incorrect_email_or_password": "Correu electrònic o contrasenya incorrectes",
|
||||||
"paths_validation_failed": "{paths, plural, one {# ruta} other {# rutes}} no ha pogut validar",
|
"paths_validation_failed": "{paths, plural, one {# ruta} other {# rutes}} no ha pogut validar",
|
||||||
"profile_picture_transparent_pixels": "Les fotos de perfil no poden tenir píxels transparents. Per favor, feu zoom in, mogueu la imatge o ambdues.",
|
"profile_picture_transparent_pixels": "Les fotos de perfil no poden tenir píxels transparents. Per favor, feu zoom in, mogueu la imatge o ambdues.",
|
||||||
@@ -644,7 +620,7 @@
|
|||||||
"unable_to_add_assets_to_shared_link": "No s'han pogut afegir els elements a l'enllaç compartit",
|
"unable_to_add_assets_to_shared_link": "No s'han pogut afegir els elements a l'enllaç compartit",
|
||||||
"unable_to_add_comment": "No es pot afegir el comentari",
|
"unable_to_add_comment": "No es pot afegir el comentari",
|
||||||
"unable_to_add_exclusion_pattern": "No s'ha pogut afegir el patró d’exclusió",
|
"unable_to_add_exclusion_pattern": "No s'ha pogut afegir el patró d’exclusió",
|
||||||
"unable_to_add_import_path": "No s'ha pogut afegir el camí d'importació",
|
"unable_to_add_import_path": "No s'ha pogut afegir la ruta d'importació",
|
||||||
"unable_to_add_partners": "No es poden afegir companys",
|
"unable_to_add_partners": "No es poden afegir companys",
|
||||||
"unable_to_add_remove_archive": "No s'ha pogut {archived, select, true {eliminar l'element de} other {afegir l'element a}} l'arxiu",
|
"unable_to_add_remove_archive": "No s'ha pogut {archived, select, true {eliminar l'element de} other {afegir l'element a}} l'arxiu",
|
||||||
"unable_to_add_remove_favorites": "No s'ha pogut {favorite, select, true {afegir l'element als} other {eliminar l'element dels}} preferits",
|
"unable_to_add_remove_favorites": "No s'ha pogut {favorite, select, true {afegir l'element als} other {eliminar l'element dels}} preferits",
|
||||||
@@ -655,8 +631,6 @@
|
|||||||
"unable_to_change_location": "No es pot canviar la ubicació",
|
"unable_to_change_location": "No es pot canviar la ubicació",
|
||||||
"unable_to_change_password": "No es pot canviar la contrasenya",
|
"unable_to_change_password": "No es pot canviar la contrasenya",
|
||||||
"unable_to_change_visibility": "No es pot canviar la visibilitat de {count, plural, one {# persona} other {# persones}}",
|
"unable_to_change_visibility": "No es pot canviar la visibilitat de {count, plural, one {# persona} other {# persones}}",
|
||||||
"unable_to_check_item": "",
|
|
||||||
"unable_to_check_items": "",
|
|
||||||
"unable_to_complete_oauth_login": "No es pot completar l'inici de sessió OAuth",
|
"unable_to_complete_oauth_login": "No es pot completar l'inici de sessió OAuth",
|
||||||
"unable_to_connect": "No pot connectar",
|
"unable_to_connect": "No pot connectar",
|
||||||
"unable_to_connect_to_server": "No es pot connectar al servidor",
|
"unable_to_connect_to_server": "No es pot connectar al servidor",
|
||||||
@@ -697,12 +671,10 @@
|
|||||||
"unable_to_remove_album_users": "No es poden eliminar usuaris de l'àlbum",
|
"unable_to_remove_album_users": "No es poden eliminar usuaris de l'àlbum",
|
||||||
"unable_to_remove_api_key": "No es pot eliminar la clau de l'API",
|
"unable_to_remove_api_key": "No es pot eliminar la clau de l'API",
|
||||||
"unable_to_remove_assets_from_shared_link": "No es poden eliminar recursos de l'enllaç compartit",
|
"unable_to_remove_assets_from_shared_link": "No es poden eliminar recursos de l'enllaç compartit",
|
||||||
"unable_to_remove_comment": "",
|
|
||||||
"unable_to_remove_deleted_assets": "No es poden eliminar els fitxers fora de línia",
|
"unable_to_remove_deleted_assets": "No es poden eliminar els fitxers fora de línia",
|
||||||
"unable_to_remove_library": "No es pot eliminar la biblioteca",
|
"unable_to_remove_library": "No es pot eliminar la biblioteca",
|
||||||
"unable_to_remove_partner": "No es pot eliminar company/a",
|
"unable_to_remove_partner": "No es pot eliminar company/a",
|
||||||
"unable_to_remove_reaction": "No es pot eliminar la reacció",
|
"unable_to_remove_reaction": "No es pot eliminar la reacció",
|
||||||
"unable_to_remove_user": "",
|
|
||||||
"unable_to_repair_items": "No es poden reparar els elements",
|
"unable_to_repair_items": "No es poden reparar els elements",
|
||||||
"unable_to_reset_password": "No es pot restablir la contrasenya",
|
"unable_to_reset_password": "No es pot restablir la contrasenya",
|
||||||
"unable_to_resolve_duplicate": "No es pot resoldre el duplicat",
|
"unable_to_resolve_duplicate": "No es pot resoldre el duplicat",
|
||||||
@@ -732,10 +704,6 @@
|
|||||||
"unable_to_update_user": "No es pot actualitzar l'usuari",
|
"unable_to_update_user": "No es pot actualitzar l'usuari",
|
||||||
"unable_to_upload_file": "No es pot carregar el fitxer"
|
"unable_to_upload_file": "No es pot carregar el fitxer"
|
||||||
},
|
},
|
||||||
"every_day_at_onepm": "",
|
|
||||||
"every_night_at_midnight": "",
|
|
||||||
"every_night_at_twoam": "",
|
|
||||||
"every_six_hours": "",
|
|
||||||
"exif": "Exif",
|
"exif": "Exif",
|
||||||
"exit_slideshow": "Surt de la presentació de diapositives",
|
"exit_slideshow": "Surt de la presentació de diapositives",
|
||||||
"expand_all": "Ampliar-ho tot",
|
"expand_all": "Ampliar-ho tot",
|
||||||
@@ -750,33 +718,27 @@
|
|||||||
"external": "Extern",
|
"external": "Extern",
|
||||||
"external_libraries": "Llibreries externes",
|
"external_libraries": "Llibreries externes",
|
||||||
"face_unassigned": "Sense assignar",
|
"face_unassigned": "Sense assignar",
|
||||||
"failed_to_get_people": "",
|
|
||||||
"favorite": "Preferit",
|
"favorite": "Preferit",
|
||||||
"favorite_or_unfavorite_photo": "Foto preferida o no preferida",
|
"favorite_or_unfavorite_photo": "Foto preferida o no preferida",
|
||||||
"favorites": "Preferits",
|
"favorites": "Preferits",
|
||||||
"feature": "",
|
|
||||||
"feature_photo_updated": "Foto destacada actualitzada",
|
"feature_photo_updated": "Foto destacada actualitzada",
|
||||||
"featurecollection": "",
|
|
||||||
"features": "Característiques",
|
"features": "Característiques",
|
||||||
"features_setting_description": "Administrar les funcions de l'aplicació",
|
"features_setting_description": "Administrar les funcions de l'aplicació",
|
||||||
"file_name": "Nom de l'arxiu",
|
"file_name": "Nom de l'arxiu",
|
||||||
"file_name_or_extension": "Nom de l'arxiu o extensió",
|
"file_name_or_extension": "Nom de l'arxiu o extensió",
|
||||||
"filename": "Nom del fitxer",
|
"filename": "Nom del fitxer",
|
||||||
"files": "",
|
|
||||||
"filetype": "Tipus d'arxiu",
|
"filetype": "Tipus d'arxiu",
|
||||||
"filter_people": "Filtra persones",
|
"filter_people": "Filtra persones",
|
||||||
"find_them_fast": "Trobeu-los ràpidament pel nom amb la cerca",
|
"find_them_fast": "Trobeu-los ràpidament pel nom amb la cerca",
|
||||||
"fix_incorrect_match": "Corregiu la coincidència incorrecta",
|
"fix_incorrect_match": "Corregiu la coincidència incorrecta",
|
||||||
"folders": "Carpetes",
|
"folders": "Carpetes",
|
||||||
"folders_feature_description": "Explorar la vista de carpetes per les fotos i vídeos del sistema d'arxius",
|
"folders_feature_description": "Explorar la vista de carpetes per les fotos i vídeos del sistema d'arxius",
|
||||||
"force_re-scan_library_files": "Força a tornar a escanejar tots els fitxers de la biblioteca",
|
|
||||||
"forward": "Endavant",
|
"forward": "Endavant",
|
||||||
"general": "General",
|
"general": "General",
|
||||||
"get_help": "Aconseguir ajuda",
|
"get_help": "Aconseguir ajuda",
|
||||||
"getting_started": "Començant",
|
"getting_started": "Començant",
|
||||||
"go_back": "Torna",
|
"go_back": "Torna",
|
||||||
"go_to_search": "Vés a cercar",
|
"go_to_search": "Vés a cercar",
|
||||||
"go_to_share_page": "Vés a la pàgina de compartir",
|
|
||||||
"group_albums_by": "Agrupa àlbums per...",
|
"group_albums_by": "Agrupa àlbums per...",
|
||||||
"group_no": "Cap agrupació",
|
"group_no": "Cap agrupació",
|
||||||
"group_owner": "Agrupar per propietari",
|
"group_owner": "Agrupar per propietari",
|
||||||
@@ -802,7 +764,6 @@
|
|||||||
"image_alt_text_date_place_2_people": "{isVideo, select, true {Video} other {Image}} pres/a a {city}, {country} amb {person1} i {person2} el {date}",
|
"image_alt_text_date_place_2_people": "{isVideo, select, true {Video} other {Image}} pres/a a {city}, {country} amb {person1} i {person2} el {date}",
|
||||||
"image_alt_text_date_place_3_people": "{isVideo, select, true {Video} other {Image}} pres/a a {city}, {country} amb {person1}, {person2}, i {person3} el {date}",
|
"image_alt_text_date_place_3_people": "{isVideo, select, true {Video} other {Image}} pres/a a {city}, {country} amb {person1}, {person2}, i {person3} el {date}",
|
||||||
"image_alt_text_date_place_4_or_more_people": "{isVideo, select, true {Video} other {Image}} pres/a a {city}, {country} amb {person1}, {person2}, i {additionalCount, number} altres el {date}",
|
"image_alt_text_date_place_4_or_more_people": "{isVideo, select, true {Video} other {Image}} pres/a a {city}, {country} amb {person1}, {person2}, i {additionalCount, number} altres el {date}",
|
||||||
"img": "",
|
|
||||||
"immich_logo": "Logotip d'Immich",
|
"immich_logo": "Logotip d'Immich",
|
||||||
"immich_web_interface": "Interfície web Immich",
|
"immich_web_interface": "Interfície web Immich",
|
||||||
"import_from_json": "Importar des de JSON",
|
"import_from_json": "Importar des de JSON",
|
||||||
@@ -823,7 +784,6 @@
|
|||||||
"invite_people": "Convida gent",
|
"invite_people": "Convida gent",
|
||||||
"invite_to_album": "Convida a l'àlbum",
|
"invite_to_album": "Convida a l'àlbum",
|
||||||
"items_count": "{count, plural, one {# element} other {# elements}}",
|
"items_count": "{count, plural, one {# element} other {# elements}}",
|
||||||
"job_settings_description": "",
|
|
||||||
"jobs": "Tasques",
|
"jobs": "Tasques",
|
||||||
"keep": "Mantenir",
|
"keep": "Mantenir",
|
||||||
"keep_all": "Mantenir-ho tot",
|
"keep_all": "Mantenir-ho tot",
|
||||||
@@ -838,19 +798,6 @@
|
|||||||
"level": "Nivell",
|
"level": "Nivell",
|
||||||
"library": "Bibilioteca",
|
"library": "Bibilioteca",
|
||||||
"library_options": "Opcions de biblioteca",
|
"library_options": "Opcions de biblioteca",
|
||||||
"license_activated_title": "La vostra llicència ha estat activada amb èxit",
|
|
||||||
"license_button_activate": "Activar",
|
|
||||||
"license_button_buy": "Comprar",
|
|
||||||
"license_button_select": "Seleccionar",
|
|
||||||
"license_individual_title": "Llicència individual",
|
|
||||||
"license_info_unlicensed": "Sense llicència",
|
|
||||||
"license_license_title": "LLICÈNCIA",
|
|
||||||
"license_per_server": "Per servidor",
|
|
||||||
"license_per_user": "Per usuari",
|
|
||||||
"license_server_description_1": "1 llicència per servidor",
|
|
||||||
"license_server_title": "Llicència de servidor",
|
|
||||||
"license_trial_info_2": "Heu utilitzat l'Immich durant uns",
|
|
||||||
"license_trial_info_3": "{accountAge, plural, one {# dia} other {# dies}}",
|
|
||||||
"light": "Llum",
|
"light": "Llum",
|
||||||
"like_deleted": "M'agrada suprimit",
|
"like_deleted": "M'agrada suprimit",
|
||||||
"link_motion_video": "Enllaçar vídeo en moviment",
|
"link_motion_video": "Enllaçar vídeo en moviment",
|
||||||
@@ -872,8 +819,9 @@
|
|||||||
"look": "Aspecte",
|
"look": "Aspecte",
|
||||||
"loop_videos": "Vídeos en bucle",
|
"loop_videos": "Vídeos en bucle",
|
||||||
"loop_videos_description": "Habilita la reproducció en bucle del vídeo en els detalls.",
|
"loop_videos_description": "Habilita la reproducció en bucle del vídeo en els detalls.",
|
||||||
|
"main_branch_warning": "Esteu usant una versió de desenvolupaent. Recomanem fer servir una versió publicada!",
|
||||||
"make": "Fabricant",
|
"make": "Fabricant",
|
||||||
"manage_shared_links": "Spravovat sdílené odkazy",
|
"manage_shared_links": "Administrar enllaços compartits",
|
||||||
"manage_sharing_with_partners": "Gestiona la compartició amb els companys",
|
"manage_sharing_with_partners": "Gestiona la compartició amb els companys",
|
||||||
"manage_the_app_settings": "Gestioneu la configuració de l'aplicació",
|
"manage_the_app_settings": "Gestioneu la configuració de l'aplicació",
|
||||||
"manage_your_account": "Gestiona el teu compte",
|
"manage_your_account": "Gestiona el teu compte",
|
||||||
@@ -954,7 +902,6 @@
|
|||||||
"onboarding_welcome_user": "Benvingut, {user}",
|
"onboarding_welcome_user": "Benvingut, {user}",
|
||||||
"online": "En línia",
|
"online": "En línia",
|
||||||
"only_favorites": "Només preferits",
|
"only_favorites": "Només preferits",
|
||||||
"only_refreshes_modified_files": "Només actualitza els fitxers modificats",
|
|
||||||
"open_in_map_view": "Obrir a la vista del mapa",
|
"open_in_map_view": "Obrir a la vista del mapa",
|
||||||
"open_in_openstreetmap": "Obre a OpenStreetMap",
|
"open_in_openstreetmap": "Obre a OpenStreetMap",
|
||||||
"open_the_search_filters": "Obriu els filtres de cerca",
|
"open_the_search_filters": "Obriu els filtres de cerca",
|
||||||
@@ -992,7 +939,6 @@
|
|||||||
"people_edits_count": "{count, plural, one {# persona editada} other {# persones editades}}",
|
"people_edits_count": "{count, plural, one {# persona editada} other {# persones editades}}",
|
||||||
"people_feature_description": "Explorar fotos i vídeos agrupades per persona",
|
"people_feature_description": "Explorar fotos i vídeos agrupades per persona",
|
||||||
"people_sidebar_description": "Mostrar un enllaç a Persones a la barra lateral",
|
"people_sidebar_description": "Mostrar un enllaç a Persones a la barra lateral",
|
||||||
"perform_library_tasks": "",
|
|
||||||
"permanent_deletion_warning": "Avís d'eliminació permanent",
|
"permanent_deletion_warning": "Avís d'eliminació permanent",
|
||||||
"permanent_deletion_warning_setting_description": "Mostrar un avís quan s'eliminin els elements permanentment",
|
"permanent_deletion_warning_setting_description": "Mostrar un avís quan s'eliminin els elements permanentment",
|
||||||
"permanently_delete": "Eliminar permanentment",
|
"permanently_delete": "Eliminar permanentment",
|
||||||
@@ -1014,7 +960,6 @@
|
|||||||
"play_memories": "Reproduir records",
|
"play_memories": "Reproduir records",
|
||||||
"play_motion_photo": "Reproduir Fotos en Moviment",
|
"play_motion_photo": "Reproduir Fotos en Moviment",
|
||||||
"play_or_pause_video": "Reproduir o posar en pausa el vídeo",
|
"play_or_pause_video": "Reproduir o posar en pausa el vídeo",
|
||||||
"point": "",
|
|
||||||
"port": "Port",
|
"port": "Port",
|
||||||
"preset": "Preestablert",
|
"preset": "Preestablert",
|
||||||
"preview": "Previsualització",
|
"preview": "Previsualització",
|
||||||
@@ -1059,12 +1004,10 @@
|
|||||||
"purchase_server_description_2": "Estat del contribuent",
|
"purchase_server_description_2": "Estat del contribuent",
|
||||||
"purchase_server_title": "Servidor",
|
"purchase_server_title": "Servidor",
|
||||||
"purchase_settings_server_activated": "La clau de producte del servidor la gestiona l'administrador",
|
"purchase_settings_server_activated": "La clau de producte del servidor la gestiona l'administrador",
|
||||||
"range": "",
|
|
||||||
"rating": "Valoració",
|
"rating": "Valoració",
|
||||||
"rating_clear": "Esborrar valoració",
|
"rating_clear": "Esborrar valoració",
|
||||||
"rating_count": "{count, plural, one {# estrella} other {# estrelles}}",
|
"rating_count": "{count, plural, one {# estrella} other {# estrelles}}",
|
||||||
"rating_description": "Mostrar la valoració EXIF al panell d'informació",
|
"rating_description": "Mostrar la valoració EXIF al panell d'informació",
|
||||||
"raw": "",
|
|
||||||
"reaction_options": "Opcions de reacció",
|
"reaction_options": "Opcions de reacció",
|
||||||
"read_changelog": "Llegeix el registre de canvis",
|
"read_changelog": "Llegeix el registre de canvis",
|
||||||
"reassign": "Reassignar",
|
"reassign": "Reassignar",
|
||||||
@@ -1109,7 +1052,6 @@
|
|||||||
"reset": "Restablir",
|
"reset": "Restablir",
|
||||||
"reset_password": "Restablir contrasenya",
|
"reset_password": "Restablir contrasenya",
|
||||||
"reset_people_visibility": "Restablir la visibilitat de les persones",
|
"reset_people_visibility": "Restablir la visibilitat de les persones",
|
||||||
"reset_settings_to_default": "",
|
|
||||||
"reset_to_default": "Restableix els valors predeterminats",
|
"reset_to_default": "Restableix els valors predeterminats",
|
||||||
"resolve_duplicates": "Resoldre duplicats",
|
"resolve_duplicates": "Resoldre duplicats",
|
||||||
"resolved_all_duplicates": "Tots els duplicats resolts",
|
"resolved_all_duplicates": "Tots els duplicats resolts",
|
||||||
@@ -1129,9 +1071,7 @@
|
|||||||
"saved_settings": "Configuració guardada",
|
"saved_settings": "Configuració guardada",
|
||||||
"say_something": "Digues quelcom",
|
"say_something": "Digues quelcom",
|
||||||
"scan_all_libraries": "Escanejar totes les llibreries",
|
"scan_all_libraries": "Escanejar totes les llibreries",
|
||||||
"scan_all_library_files": "Re-escanejar tots els fitxers de la llibreria",
|
|
||||||
"scan_library": "Escaneja",
|
"scan_library": "Escaneja",
|
||||||
"scan_new_library_files": "Escanejar nous fitxers de la llibreria",
|
|
||||||
"scan_settings": "Configuració d'escaneig",
|
"scan_settings": "Configuració d'escaneig",
|
||||||
"scanning_for_album": "S'està buscant l'àlbum...",
|
"scanning_for_album": "S'està buscant l'àlbum...",
|
||||||
"search": "Cerca",
|
"search": "Cerca",
|
||||||
@@ -1174,7 +1114,6 @@
|
|||||||
"selected_count": "{count, plural, one {# seleccionat} other {# seleccionats}}",
|
"selected_count": "{count, plural, one {# seleccionat} other {# seleccionats}}",
|
||||||
"send_message": "Envia missatge",
|
"send_message": "Envia missatge",
|
||||||
"send_welcome_email": "Envia correu de benvinguda",
|
"send_welcome_email": "Envia correu de benvinguda",
|
||||||
"server": "Servidor",
|
|
||||||
"server_offline": "Servidor fora de línia",
|
"server_offline": "Servidor fora de línia",
|
||||||
"server_online": "Servidor en línia",
|
"server_online": "Servidor en línia",
|
||||||
"server_stats": "Estadístiques del servidor",
|
"server_stats": "Estadístiques del servidor",
|
||||||
@@ -1288,7 +1227,6 @@
|
|||||||
"to_trash": "Paperera",
|
"to_trash": "Paperera",
|
||||||
"toggle_settings": "Canvia configuració",
|
"toggle_settings": "Canvia configuració",
|
||||||
"toggle_theme": "Alternar tema",
|
"toggle_theme": "Alternar tema",
|
||||||
"toggle_visibility": "Canvia visibilitat",
|
|
||||||
"total_usage": "Ús total",
|
"total_usage": "Ús total",
|
||||||
"trash": "Paperera",
|
"trash": "Paperera",
|
||||||
"trash_all": "Envia-ho tot a la paperera",
|
"trash_all": "Envia-ho tot a la paperera",
|
||||||
@@ -1298,12 +1236,10 @@
|
|||||||
"trashed_items_will_be_permanently_deleted_after": "Els elements que s'enviïn a la paperera s'eliminaran permanentment després de {days, plural, one {# dia} other {# dies}}.",
|
"trashed_items_will_be_permanently_deleted_after": "Els elements que s'enviïn a la paperera s'eliminaran permanentment després de {days, plural, one {# dia} other {# dies}}.",
|
||||||
"type": "Tipus",
|
"type": "Tipus",
|
||||||
"unarchive": "Desarxivar",
|
"unarchive": "Desarxivar",
|
||||||
"unarchived": "Desarxivat",
|
|
||||||
"unarchived_count": "{count, plural, other {# elements desarxivats}}",
|
"unarchived_count": "{count, plural, other {# elements desarxivats}}",
|
||||||
"unfavorite": "Reverteix preferit",
|
"unfavorite": "Reverteix preferit",
|
||||||
"unhide_person": "Mostra persona",
|
"unhide_person": "Mostra persona",
|
||||||
"unknown": "Desconegut",
|
"unknown": "Desconegut",
|
||||||
"unknown_album": "Àlbum desconegut",
|
|
||||||
"unknown_year": "Any desconegut",
|
"unknown_year": "Any desconegut",
|
||||||
"unlimited": "Il·limitat",
|
"unlimited": "Il·limitat",
|
||||||
"unlink_motion_video": "Desvincular vídeo en moviment",
|
"unlink_motion_video": "Desvincular vídeo en moviment",
|
||||||
@@ -1335,7 +1271,6 @@
|
|||||||
"use_custom_date_range": "Fes servir un rang de dates personalitzat",
|
"use_custom_date_range": "Fes servir un rang de dates personalitzat",
|
||||||
"user": "Usuari",
|
"user": "Usuari",
|
||||||
"user_id": "ID d'usuari",
|
"user_id": "ID d'usuari",
|
||||||
"user_license_settings": "Llicència",
|
|
||||||
"user_liked": "A {user} li ha agradat {type, select, photo {aquesta foto} video {aquest vídeo} asset {aquest recurs} other {}}",
|
"user_liked": "A {user} li ha agradat {type, select, photo {aquesta foto} video {aquest vídeo} asset {aquest recurs} other {}}",
|
||||||
"user_purchase_settings": "Compra",
|
"user_purchase_settings": "Compra",
|
||||||
"user_purchase_settings_description": "Gestiona la teva compra",
|
"user_purchase_settings_description": "Gestiona la teva compra",
|
||||||
@@ -1348,7 +1283,7 @@
|
|||||||
"variables": "Variables",
|
"variables": "Variables",
|
||||||
"version": "Versió",
|
"version": "Versió",
|
||||||
"version_announcement_closing": "El teu amic Alex",
|
"version_announcement_closing": "El teu amic Alex",
|
||||||
"version_announcement_message": "Hola amic, hi ha una nova versió de l'aplicació, si us plau, preneu-vos el temps per visitar les <link>release notes</link> i assegureu-vos que el vostre <code>docker-compose.yml</code> i <code>.env</code> estàn actualitzats per evitar qualsevol configuració incorrecta, especialment si utilitzeu WatchTower o qualsevol mecanisme que gestioni l'actualització automàtica de la vostra aplicació.",
|
"version_announcement_message": "Hola! Hi ha una nova versió d'Immich, si us plau, preneu-vos una estona per llegir les <link>notes de llançament</link> per assegurar que la teva configuració estigui actualitzada per evitar qualsevol error de configuració, especialment si utilitzeu WatchTower o qualsevol mecanisme que gestioni l'actualització automàtica de la vostra instància Immich.",
|
||||||
"version_history": "Historial de versions",
|
"version_history": "Historial de versions",
|
||||||
"version_history_item": "Instal·lat {version} el {date}",
|
"version_history_item": "Instal·lat {version} el {date}",
|
||||||
"video": "Vídeo",
|
"video": "Vídeo",
|
||||||
@@ -1365,7 +1300,6 @@
|
|||||||
"view_next_asset": "Mostra el següent element",
|
"view_next_asset": "Mostra el següent element",
|
||||||
"view_previous_asset": "Mostra l'element anterior",
|
"view_previous_asset": "Mostra l'element anterior",
|
||||||
"view_stack": "Veure la pila",
|
"view_stack": "Veure la pila",
|
||||||
"viewer": "Visualitzador",
|
|
||||||
"visibility_changed": "La visibilitat ha canviat per {count, plural, one {# persona} other {# persones}}",
|
"visibility_changed": "La visibilitat ha canviat per {count, plural, one {# persona} other {# persones}}",
|
||||||
"waiting": "Esperant",
|
"waiting": "Esperant",
|
||||||
"warning": "Avís",
|
"warning": "Avís",
|
||||||
@@ -34,6 +34,11 @@
|
|||||||
"authentication_settings_disable_all": "Opravdu chcete zakázat všechny metody přihlášení? Přihlašování bude úplně zakázáno.",
|
"authentication_settings_disable_all": "Opravdu chcete zakázat všechny metody přihlášení? Přihlašování bude úplně zakázáno.",
|
||||||
"authentication_settings_reenable": "Pro opětovné povolení použijte příkaz <link>Příkaz serveru</link>.",
|
"authentication_settings_reenable": "Pro opětovné povolení použijte příkaz <link>Příkaz serveru</link>.",
|
||||||
"background_task_job": "Úkoly na pozadí",
|
"background_task_job": "Úkoly na pozadí",
|
||||||
|
"backup_database": "Zálohování databáze",
|
||||||
|
"backup_database_enable_description": "Povolit zálohování databáze",
|
||||||
|
"backup_keep_last_amount": "Počet předchozích záloh k uchování",
|
||||||
|
"backup_settings": "Nastavení zálohování",
|
||||||
|
"backup_settings_description": "Správa nastavení zálohování databáze",
|
||||||
"check_all": "Vše zkontrolovat",
|
"check_all": "Vše zkontrolovat",
|
||||||
"cleared_jobs": "Hotové úlohy pro: {job}",
|
"cleared_jobs": "Hotové úlohy pro: {job}",
|
||||||
"config_set_by_file": "Konfigurace je aktuálně prováděna konfiguračním souborem",
|
"config_set_by_file": "Konfigurace je aktuálně prováděna konfiguračním souborem",
|
||||||
@@ -43,9 +48,10 @@
|
|||||||
"confirm_reprocess_all_faces": "Opravdu chcete znovu zpracovat všechny obličeje? Tím se vymažou i pojmenované osoby.",
|
"confirm_reprocess_all_faces": "Opravdu chcete znovu zpracovat všechny obličeje? Tím se vymažou i pojmenované osoby.",
|
||||||
"confirm_user_password_reset": "Opravdu chcete obnovit heslo uživatele {user}?",
|
"confirm_user_password_reset": "Opravdu chcete obnovit heslo uživatele {user}?",
|
||||||
"create_job": "Vytvořit úlohu",
|
"create_job": "Vytvořit úlohu",
|
||||||
"crontab_guru": "Crontab Guru",
|
"cron_expression": "Výraz cron",
|
||||||
|
"cron_expression_description": "Nastavte interval prohledávání pomocí cron formátu. Další informace naleznete např. v <link>Crontab Guru</link>",
|
||||||
|
"cron_expression_presets": "Předvolby výrazů cron",
|
||||||
"disable_login": "Zakázat přihlášení",
|
"disable_login": "Zakázat přihlášení",
|
||||||
"disabled": "Zakázáno",
|
|
||||||
"duplicate_detection_job_description": "Spuštění strojového učení na položkách za účelem detekce podobných obrázků. Spoléhá na Chytré vyhledávání",
|
"duplicate_detection_job_description": "Spuštění strojového učení na položkách za účelem detekce podobných obrázků. Spoléhá na Chytré vyhledávání",
|
||||||
"exclusion_pattern_description": "Vzory vyloučení umožňují při prohledávání knihovny ignorovat soubory a složky. To je užitečné, pokud máte složky obsahující soubory, které nechcete importovat, například RAW soubory.",
|
"exclusion_pattern_description": "Vzory vyloučení umožňují při prohledávání knihovny ignorovat soubory a složky. To je užitečné, pokud máte složky obsahující soubory, které nechcete importovat, například RAW soubory.",
|
||||||
"external_library_created_at": "Externí knihovna (vytvořena {date})",
|
"external_library_created_at": "Externí knihovna (vytvořena {date})",
|
||||||
@@ -63,22 +69,15 @@
|
|||||||
"image_prefer_wide_gamut": "Preferovat široký gamut",
|
"image_prefer_wide_gamut": "Preferovat široký gamut",
|
||||||
"image_prefer_wide_gamut_setting_description": "Použít Display P3 pro miniatury. To lépe zachovává živost obrázků s širokým barevným prostorem, ale obrázky se mohou na starých zařízeních se starou verzí prohlížeče zobrazovat jinak. sRGB obrázky jsou ponechány jako sRGB, aby se zabránilo posunům barev.",
|
"image_prefer_wide_gamut_setting_description": "Použít Display P3 pro miniatury. To lépe zachovává živost obrázků s širokým barevným prostorem, ale obrázky se mohou na starých zařízeních se starou verzí prohlížeče zobrazovat jinak. sRGB obrázky jsou ponechány jako sRGB, aby se zabránilo posunům barev.",
|
||||||
"image_preview_description": "Středně velký obrázek se zbavenými metadaty, který se používá při prohlížení jedné položky a pro strojové učení",
|
"image_preview_description": "Středně velký obrázek se zbavenými metadaty, který se používá při prohlížení jedné položky a pro strojové učení",
|
||||||
"image_preview_format": "Formát náhledů",
|
|
||||||
"image_preview_quality_description": "Kvalita náhledu od 1 do 100. Vyšší je lepší, ale vytváří větší soubory a může snížit responzivitu aplikace. Nastavení nízké hodnoty může ovlivnit kvalitu strojového učení.",
|
"image_preview_quality_description": "Kvalita náhledu od 1 do 100. Vyšší je lepší, ale vytváří větší soubory a může snížit responzivitu aplikace. Nastavení nízké hodnoty může ovlivnit kvalitu strojového učení.",
|
||||||
"image_preview_resolution": "Rozlišení náhledů",
|
|
||||||
"image_preview_resolution_description": "Používá se při prohlížení jedné fotografie a pro strojové učení. Vyšší rozlišení mohou zachovat více detailů, ale jejich kódování trvá déle, mají větší velikost souboru a mohou snížit odezvu aplikace.",
|
|
||||||
"image_preview_title": "Náhledy",
|
"image_preview_title": "Náhledy",
|
||||||
"image_quality": "Kvalita",
|
"image_quality": "Kvalita",
|
||||||
"image_quality_description": "Kvalita obrazu od 1 do 100. Vyšší kvalita je lepší, ale vytváří větší soubory, tato volba ovlivňuje náhled a miniatury obrázků.",
|
|
||||||
"image_resolution": "Rozlišení",
|
"image_resolution": "Rozlišení",
|
||||||
"image_resolution_description": "Vyšší rozlišení mohou zachovat více detailů, ale jejich kódování trvá déle, mají větší velikost souboru a mohou snížit odezvu aplikace.",
|
"image_resolution_description": "Vyšší rozlišení mohou zachovat více detailů, ale jejich kódování trvá déle, mají větší velikost souboru a mohou snížit odezvu aplikace.",
|
||||||
"image_settings": "Obrázky",
|
"image_settings": "Obrázky",
|
||||||
"image_settings_description": "Správa kvality a rozlišení generovaných obrázků",
|
"image_settings_description": "Správa kvality a rozlišení generovaných obrázků",
|
||||||
"image_thumbnail_description": "Malá miniatura s odstraněnými metadaty, který se používá při prohlížení skupin fotografií, jako je hlavní časová osa",
|
"image_thumbnail_description": "Malá miniatura s odstraněnými metadaty, který se používá při prohlížení skupin fotografií, jako je hlavní časová osa",
|
||||||
"image_thumbnail_format": "Formát miniatur",
|
|
||||||
"image_thumbnail_quality_description": "Kvalita miniatur od 1 do 100. Vyšší je lepší, ale vytváří větší soubory a může snížit odezvu aplikace.",
|
"image_thumbnail_quality_description": "Kvalita miniatur od 1 do 100. Vyšší je lepší, ale vytváří větší soubory a může snížit odezvu aplikace.",
|
||||||
"image_thumbnail_resolution": "Rozlišení miniatur",
|
|
||||||
"image_thumbnail_resolution_description": "Používá se při prohlížení skupin fotografií (hlavní časová osa, zobrazení alba atd.). Vyšší rozlišení může zachovat více detailů, ale trvá déle, než se zakóduje, má větší velikost souboru a může snížit odezvu aplikace.",
|
|
||||||
"image_thumbnail_title": "Miniatury",
|
"image_thumbnail_title": "Miniatury",
|
||||||
"job_concurrency": "Souběžnost úlohy {job}",
|
"job_concurrency": "Souběžnost úlohy {job}",
|
||||||
"job_created": "Úloha vytvořena",
|
"job_created": "Úloha vytvořena",
|
||||||
@@ -89,9 +88,6 @@
|
|||||||
"jobs_delayed": "{jobCount, plural, one {# zpožděný} few {# zpožděné} other {# zpožděných}}",
|
"jobs_delayed": "{jobCount, plural, one {# zpožděný} few {# zpožděné} other {# zpožděných}}",
|
||||||
"jobs_failed": "{jobCount, plural, one {# neúspěšný} few {# neúspěšné} other {# neúspěšných}}",
|
"jobs_failed": "{jobCount, plural, one {# neúspěšný} few {# neúspěšné} other {# neúspěšných}}",
|
||||||
"library_created": "Vytvořena knihovna: {library}",
|
"library_created": "Vytvořena knihovna: {library}",
|
||||||
"library_cron_expression": "Výraz pro Cron",
|
|
||||||
"library_cron_expression_description": "Nastavte interval prohledávání pomocí formátu cron. Další informace naleznete např. v <link>Crontab Guru</link>",
|
|
||||||
"library_cron_expression_presets": "Předvolby výrazu pro Cron",
|
|
||||||
"library_deleted": "Knihovna smazána",
|
"library_deleted": "Knihovna smazána",
|
||||||
"library_import_path_description": "Zadejte složku, kterou chcete importovat. Tato složka bude prohledána včetně podsložek a budou v ní hledány obrázky a videa.",
|
"library_import_path_description": "Zadejte složku, kterou chcete importovat. Tato složka bude prohledána včetně podsložek a budou v ní hledány obrázky a videa.",
|
||||||
"library_scanning": "Pravidelné prohledávání",
|
"library_scanning": "Pravidelné prohledávání",
|
||||||
@@ -110,7 +106,7 @@
|
|||||||
"machine_learning_clip_model_description": "Název CLIP modelu je uvedený <link>zde</link>. Pamatujte, že při změně modelu je nutné znovu spustit úlohu 'Chytré vyhledávání' pro všechny obrázky.",
|
"machine_learning_clip_model_description": "Název CLIP modelu je uvedený <link>zde</link>. Pamatujte, že při změně modelu je nutné znovu spustit úlohu 'Chytré vyhledávání' pro všechny obrázky.",
|
||||||
"machine_learning_duplicate_detection": "Kontrola duplicit",
|
"machine_learning_duplicate_detection": "Kontrola duplicit",
|
||||||
"machine_learning_duplicate_detection_enabled": "Povolit kontrolu duplicit",
|
"machine_learning_duplicate_detection_enabled": "Povolit kontrolu duplicit",
|
||||||
"machine_learning_duplicate_detection_enabled_description": "Pokud je tato funkce vypnuta, budou identické položky stále duplikovány.",
|
"machine_learning_duplicate_detection_enabled_description": "Pokud je tato funkce vypnuta, budou identické položky stále deduplikovány.",
|
||||||
"machine_learning_duplicate_detection_setting_description": "Použít CLIP embeddings k nalezení pravděpodobných duplicit",
|
"machine_learning_duplicate_detection_setting_description": "Použít CLIP embeddings k nalezení pravděpodobných duplicit",
|
||||||
"machine_learning_enabled": "Povolit strojové učení",
|
"machine_learning_enabled": "Povolit strojové učení",
|
||||||
"machine_learning_enabled_description": "Pokud je vypnuto, budou všechny funkce strojového učení vypnuty bez ohledu na níže uvedená nastavení.",
|
"machine_learning_enabled_description": "Pokud je vypnuto, budou všechny funkce strojového učení vypnuty bez ohledu na níže uvedená nastavení.",
|
||||||
@@ -215,7 +211,6 @@
|
|||||||
"refreshing_all_libraries": "Obnovení všech knihoven",
|
"refreshing_all_libraries": "Obnovení všech knihoven",
|
||||||
"registration": "Registrace správce",
|
"registration": "Registrace správce",
|
||||||
"registration_description": "Vzhledem k tomu, že jste prvním uživatelem v systému, budete přiřazen jako správce a budete zodpovědný za úkoly správy a další uživatelé budou vytvořeni vámi.",
|
"registration_description": "Vzhledem k tomu, že jste prvním uživatelem v systému, budete přiřazen jako správce a budete zodpovědný za úkoly správy a další uživatelé budou vytvořeni vámi.",
|
||||||
"removing_deleted_files": "Odstranění offline souborů",
|
|
||||||
"repair_all": "Opravit vše",
|
"repair_all": "Opravit vše",
|
||||||
"repair_matched_items": "Shoda {count, plural, one {# položky} other {# položek}}",
|
"repair_matched_items": "Shoda {count, plural, one {# položky} other {# položek}}",
|
||||||
"repaired_items": "{count, plural, one {Opravena # položka} few {Opraveny # položky} other {Opraveno # položek}}",
|
"repaired_items": "{count, plural, one {Opravena # položka} few {Opraveny # položky} other {Opraveno # položek}}",
|
||||||
@@ -223,8 +218,6 @@
|
|||||||
"reset_settings_to_default": "Obnovení výchozího nastavení",
|
"reset_settings_to_default": "Obnovení výchozího nastavení",
|
||||||
"reset_settings_to_recent_saved": "Obnovit poslední uložené nastavení",
|
"reset_settings_to_recent_saved": "Obnovit poslední uložené nastavení",
|
||||||
"scanning_library": "Prohledat knihovnu",
|
"scanning_library": "Prohledat knihovnu",
|
||||||
"scanning_library_for_changed_files": "Hledání změněných souborů v knihovně",
|
|
||||||
"scanning_library_for_new_files": "Hledání nových souborů v knihovně",
|
|
||||||
"search_jobs": "Hledat úlohy...",
|
"search_jobs": "Hledat úlohy...",
|
||||||
"send_welcome_email": "Odeslat uvítací e-mail",
|
"send_welcome_email": "Odeslat uvítací e-mail",
|
||||||
"server_external_domain_settings": "Externí doména",
|
"server_external_domain_settings": "Externí doména",
|
||||||
@@ -261,7 +254,6 @@
|
|||||||
"these_files_matched_by_checksum": "Tyto soubory jsou porovnávány podle jejich kontrolních součtů",
|
"these_files_matched_by_checksum": "Tyto soubory jsou porovnávány podle jejich kontrolních součtů",
|
||||||
"thumbnail_generation_job": "Generování miniatur",
|
"thumbnail_generation_job": "Generování miniatur",
|
||||||
"thumbnail_generation_job_description": "Generování velkých, malých a rozmazaných miniatur pro každý obrázek a miniatur pro každou osobu",
|
"thumbnail_generation_job_description": "Generování velkých, malých a rozmazaných miniatur pro každý obrázek a miniatur pro každou osobu",
|
||||||
"transcode_policy_description": "Zásady, kdy má být video překódováno. Videa HDR budou překódována vždy (kromě případů, kdy je překódování zakázáno).",
|
|
||||||
"transcoding_acceleration_api": "API pro akceleraci",
|
"transcoding_acceleration_api": "API pro akceleraci",
|
||||||
"transcoding_acceleration_api_description": "Rozhraní, které bude komunikovat se zařízením a urychlovat překódování. Toto nastavení je 'best effort': při selhání se vrátí k softwarovému překódování. VP9 může, ale nemusí fungovat v závislosti na vašem hardwaru.",
|
"transcoding_acceleration_api_description": "Rozhraní, které bude komunikovat se zařízením a urychlovat překódování. Toto nastavení je 'best effort': při selhání se vrátí k softwarovému překódování. VP9 může, ale nemusí fungovat v závislosti na vašem hardwaru.",
|
||||||
"transcoding_acceleration_nvenc": "NVENC (vyžaduje NVIDIA GPU)",
|
"transcoding_acceleration_nvenc": "NVENC (vyžaduje NVIDIA GPU)",
|
||||||
@@ -287,7 +279,7 @@
|
|||||||
"transcoding_hardware_acceleration": "Hardwarová akcelerace",
|
"transcoding_hardware_acceleration": "Hardwarová akcelerace",
|
||||||
"transcoding_hardware_acceleration_description": "Experimentální; mnohem rychlejší, ale při stejném datovém toku bude mít nižší kvalitu",
|
"transcoding_hardware_acceleration_description": "Experimentální; mnohem rychlejší, ale při stejném datovém toku bude mít nižší kvalitu",
|
||||||
"transcoding_hardware_decoding": "Hardwarové dekódování",
|
"transcoding_hardware_decoding": "Hardwarové dekódování",
|
||||||
"transcoding_hardware_decoding_setting_description": "Platí pouze pro NVENC, QSV a RKMPP. Povoluje kompletní akceleraci namísto akcelerace pouze kódování. Nemusí fungovat u všech videí.",
|
"transcoding_hardware_decoding_setting_description": "Povoluje kompletní akceleraci namísto akcelerace pouze kódování. Nemusí fungovat u všech videí.",
|
||||||
"transcoding_hevc_codec": "Kodek HEVC",
|
"transcoding_hevc_codec": "Kodek HEVC",
|
||||||
"transcoding_max_b_frames": "Maximální počet B-snímků",
|
"transcoding_max_b_frames": "Maximální počet B-snímků",
|
||||||
"transcoding_max_b_frames_description": "Vyšší hodnoty zvyšují účinnost komprese, ale zpomalují kódování. Nemusí být kompatibilní s hardwarovou akcelerací na starších zařízeních. Hodnota 0 zakáže B-snímky, zatímco -1 tuto hodnotu nastaví automaticky.",
|
"transcoding_max_b_frames_description": "Vyšší hodnoty zvyšují účinnost komprese, ale zpomalují kódování. Nemusí být kompatibilní s hardwarovou akcelerací na starších zařízeních. Hodnota 0 zakáže B-snímky, zatímco -1 tuto hodnotu nastaví automaticky.",
|
||||||
@@ -313,8 +305,6 @@
|
|||||||
"transcoding_threads_description": "Vyšší hodnoty vedou k rychlejšímu kódování, ale ponechávají serveru méně prostoru pro zpracování jiných úloh. Tato hodnota by neměla být vyšší než počet jader procesoru. Maximalizuje využití, pokud je nastavena na 0.",
|
"transcoding_threads_description": "Vyšší hodnoty vedou k rychlejšímu kódování, ale ponechávají serveru méně prostoru pro zpracování jiných úloh. Tato hodnota by neměla být vyšší než počet jader procesoru. Maximalizuje využití, pokud je nastavena na 0.",
|
||||||
"transcoding_tone_mapping": "Tone-mapping",
|
"transcoding_tone_mapping": "Tone-mapping",
|
||||||
"transcoding_tone_mapping_description": "Snaží se zachovat vzhled videí HDR při převodu na SDR. Každý algoritmus dělá různé kompromisy v oblasti barev, detailů a jasu. Hable zachovává detaily, Mobius zachovává barvy a Reinhard zachovává jas.",
|
"transcoding_tone_mapping_description": "Snaží se zachovat vzhled videí HDR při převodu na SDR. Každý algoritmus dělá různé kompromisy v oblasti barev, detailů a jasu. Hable zachovává detaily, Mobius zachovává barvy a Reinhard zachovává jas.",
|
||||||
"transcoding_tone_mapping_npl": "Tone-mapping NPL",
|
|
||||||
"transcoding_tone_mapping_npl_description": "Barvy budou upraveny tak, aby vypadaly normálně pro displej s tímto jasem. Nižší hodnoty naopak zvyšují jas videa a naopak, protože kompenzují jas displeje. Hodnota 0 nastavuje tuto hodnotu automaticky.",
|
|
||||||
"transcoding_transcode_policy": "Zásady překódování",
|
"transcoding_transcode_policy": "Zásady překódování",
|
||||||
"transcoding_transcode_policy_description": "Zásady, kdy má být video překódováno. Videa HDR budou překódována vždy (kromě případů, kdy je překódování zakázáno).",
|
"transcoding_transcode_policy_description": "Zásady, kdy má být video překódováno. Videa HDR budou překódována vždy (kromě případů, kdy je překódování zakázáno).",
|
||||||
"transcoding_two_pass_encoding": "Dvouprůchodové kódování",
|
"transcoding_two_pass_encoding": "Dvouprůchodové kódování",
|
||||||
@@ -382,7 +372,7 @@
|
|||||||
"all_videos": "Všechna videa",
|
"all_videos": "Všechna videa",
|
||||||
"allow_dark_mode": "Povolit tmavý režim",
|
"allow_dark_mode": "Povolit tmavý režim",
|
||||||
"allow_edits": "Povolit úpravy",
|
"allow_edits": "Povolit úpravy",
|
||||||
"allow_public_user_to_download": "Povolit veřejnosti stahování",
|
"allow_public_user_to_download": "Povolit veřejnosti stahovat",
|
||||||
"allow_public_user_to_upload": "Povolit veřejnosti nahrávat",
|
"allow_public_user_to_upload": "Povolit veřejnosti nahrávat",
|
||||||
"anti_clockwise": "Proti směru hodinových ručiček",
|
"anti_clockwise": "Proti směru hodinových ručiček",
|
||||||
"api_key": "API klíč",
|
"api_key": "API klíč",
|
||||||
@@ -395,7 +385,6 @@
|
|||||||
"archive_or_unarchive_photo": "Archivovat nebo odarchivovat fotku",
|
"archive_or_unarchive_photo": "Archivovat nebo odarchivovat fotku",
|
||||||
"archive_size": "Velikost archivu",
|
"archive_size": "Velikost archivu",
|
||||||
"archive_size_description": "Nastavte velikost archivu pro stahování (v GiB)",
|
"archive_size_description": "Nastavte velikost archivu pro stahování (v GiB)",
|
||||||
"archived": "Archivováno",
|
|
||||||
"archived_count": "{count, plural, other {Archivováno #}}",
|
"archived_count": "{count, plural, other {Archivováno #}}",
|
||||||
"are_these_the_same_person": "Jedná se o stejnou osobu?",
|
"are_these_the_same_person": "Jedná se o stejnou osobu?",
|
||||||
"are_you_sure_to_do_this": "Opravdu to chcete udělat?",
|
"are_you_sure_to_do_this": "Opravdu to chcete udělat?",
|
||||||
@@ -416,7 +405,6 @@
|
|||||||
"assets_added_to_album_count": "Do alba {count, plural, one {byla přidána # položka} few {byly přidány # položky} other {bylo přidáno # položek}}",
|
"assets_added_to_album_count": "Do alba {count, plural, one {byla přidána # položka} few {byly přidány # položky} other {bylo přidáno # položek}}",
|
||||||
"assets_added_to_name_count": "{count, plural, one {Přidána # položka} few {Přidány # položky} other {Přidáno # položek}} do {hasName, select, true {alba <b>{name}</b>} other {nového alba}}",
|
"assets_added_to_name_count": "{count, plural, one {Přidána # položka} few {Přidány # položky} other {Přidáno # položek}} do {hasName, select, true {alba <b>{name}</b>} other {nového alba}}",
|
||||||
"assets_count": "{count, plural, one {# položka} few {# položky} other {# položek}}",
|
"assets_count": "{count, plural, one {# položka} few {# položky} other {# položek}}",
|
||||||
"assets_moved_to_trash": "{count, plural, one {# položka přesunuta} few {# položky přesunuty} other {# položek přesunuto}} do koše",
|
|
||||||
"assets_moved_to_trash_count": "Do koše {count, plural, one {přesunuta # položka} few {přesunuty # položky} other {přesunuto # položek}}",
|
"assets_moved_to_trash_count": "Do koše {count, plural, one {přesunuta # položka} few {přesunuty # položky} other {přesunuto # položek}}",
|
||||||
"assets_permanently_deleted_count": "Trvale {count, plural, one {smazána # položka} few {smazány # položky} other {smazáno # položek}}",
|
"assets_permanently_deleted_count": "Trvale {count, plural, one {smazána # položka} few {smazány # položky} other {smazáno # položek}}",
|
||||||
"assets_removed_count": "{count, plural, one {Odstraněna # položka} few {Odstraněny # položky} other {Odstraněno # položek}}",
|
"assets_removed_count": "{count, plural, one {Odstraněna # položka} few {Odstraněny # položky} other {Odstraněno # položek}}",
|
||||||
@@ -446,10 +434,6 @@
|
|||||||
"cannot_merge_people": "Nelze sloučit osoby",
|
"cannot_merge_people": "Nelze sloučit osoby",
|
||||||
"cannot_undo_this_action": "Tuto akci nelze vrátit zpět!",
|
"cannot_undo_this_action": "Tuto akci nelze vrátit zpět!",
|
||||||
"cannot_update_the_description": "Nelze aktualizovat popis",
|
"cannot_update_the_description": "Nelze aktualizovat popis",
|
||||||
"cant_apply_changes": "Nelze uplatnit změny",
|
|
||||||
"cant_get_faces": "Nelze získat obličeje",
|
|
||||||
"cant_search_people": "Nelze vyhledávat lidi",
|
|
||||||
"cant_search_places": "Nelze vyhledávat místa",
|
|
||||||
"change_date": "Změnit datum",
|
"change_date": "Změnit datum",
|
||||||
"change_expiration_time": "Změna konce platnosti",
|
"change_expiration_time": "Změna konce platnosti",
|
||||||
"change_location": "Změna polohy",
|
"change_location": "Změna polohy",
|
||||||
@@ -481,6 +465,7 @@
|
|||||||
"confirm": "Potvrdit",
|
"confirm": "Potvrdit",
|
||||||
"confirm_admin_password": "Potvrzení hesla správce",
|
"confirm_admin_password": "Potvrzení hesla správce",
|
||||||
"confirm_delete_shared_link": "Opravdu chcete odstranit tento sdílený odkaz?",
|
"confirm_delete_shared_link": "Opravdu chcete odstranit tento sdílený odkaz?",
|
||||||
|
"confirm_keep_this_delete_others": "Všechny ostatní položky v tomto uskupení mimo této budou odstraněny. Opravdu chcete pokračovat?",
|
||||||
"confirm_password": "Potvrzení hesla",
|
"confirm_password": "Potvrzení hesla",
|
||||||
"contain": "Obsah",
|
"contain": "Obsah",
|
||||||
"context": "Kontext",
|
"context": "Kontext",
|
||||||
@@ -530,6 +515,7 @@
|
|||||||
"delete_key": "Smazat klíč",
|
"delete_key": "Smazat klíč",
|
||||||
"delete_library": "Smazat knihovnu",
|
"delete_library": "Smazat knihovnu",
|
||||||
"delete_link": "Smazat odkaz",
|
"delete_link": "Smazat odkaz",
|
||||||
|
"delete_others": "Odstranit ostatní",
|
||||||
"delete_shared_link": "Smazat sdílený odkaz",
|
"delete_shared_link": "Smazat sdílený odkaz",
|
||||||
"delete_tag": "Smazat značku",
|
"delete_tag": "Smazat značku",
|
||||||
"delete_tag_confirmation_prompt": "Opravdu chcete odstranit značku {tagName}?",
|
"delete_tag_confirmation_prompt": "Opravdu chcete odstranit značku {tagName}?",
|
||||||
@@ -563,13 +549,6 @@
|
|||||||
"duplicates": "Duplicity",
|
"duplicates": "Duplicity",
|
||||||
"duplicates_description": "Vyřešte každou skupinu tak, že uvedete, které skupiny jsou duplicitní",
|
"duplicates_description": "Vyřešte každou skupinu tak, že uvedete, které skupiny jsou duplicitní",
|
||||||
"duration": "Doba trvání",
|
"duration": "Doba trvání",
|
||||||
"durations": {
|
|
||||||
"days": "{days, plural, one {den} few {{days, number} dny} other {{days, number} dní}}",
|
|
||||||
"hours": "{hours, plural, one {hodina} few {{hours, number} hodiny} other {{hours, number} hodin}}",
|
|
||||||
"minutes": "{minutes, plural, one {minuta} few {{minutes, number} minuty} other {{minutes, number} minut}}",
|
|
||||||
"months": "{months, plural, one {měsíc} few {{months, number} měsíce} other {{months, number} měsíců}}",
|
|
||||||
"years": "{years, plural, one {rok} few {{years, number} roky} other {{years, number} let}}"
|
|
||||||
},
|
|
||||||
"edit": "Upravit",
|
"edit": "Upravit",
|
||||||
"edit_album": "Upravit album",
|
"edit_album": "Upravit album",
|
||||||
"edit_avatar": "Upravit avatar",
|
"edit_avatar": "Upravit avatar",
|
||||||
@@ -594,8 +573,6 @@
|
|||||||
"editor_crop_tool_h2_aspect_ratios": "Poměr stran",
|
"editor_crop_tool_h2_aspect_ratios": "Poměr stran",
|
||||||
"editor_crop_tool_h2_rotation": "Otočení",
|
"editor_crop_tool_h2_rotation": "Otočení",
|
||||||
"email": "E-mail",
|
"email": "E-mail",
|
||||||
"empty": "Prázdné",
|
|
||||||
"empty_album": "Prázdné album",
|
|
||||||
"empty_trash": "Vyprázdnit koš",
|
"empty_trash": "Vyprázdnit koš",
|
||||||
"empty_trash_confirmation": "Opravdu chcete vysypat koš? Tím se z Immiche trvale odstraní všechny položky v koši.\nTuto akci nelze vrátit zpět!",
|
"empty_trash_confirmation": "Opravdu chcete vysypat koš? Tím se z Immiche trvale odstraní všechny položky v koši.\nTuto akci nelze vrátit zpět!",
|
||||||
"enable": "Povolit",
|
"enable": "Povolit",
|
||||||
@@ -629,6 +606,7 @@
|
|||||||
"failed_to_create_shared_link": "Nepodařilo se vytvořit sdílený odkaz",
|
"failed_to_create_shared_link": "Nepodařilo se vytvořit sdílený odkaz",
|
||||||
"failed_to_edit_shared_link": "Nepodařilo se upravit sdílený odkaz",
|
"failed_to_edit_shared_link": "Nepodařilo se upravit sdílený odkaz",
|
||||||
"failed_to_get_people": "Nepodařilo se načíst lidi",
|
"failed_to_get_people": "Nepodařilo se načíst lidi",
|
||||||
|
"failed_to_keep_this_delete_others": "Nepodařilo se zachovat tuto položku a odstranit ostatní položky",
|
||||||
"failed_to_load_asset": "Nepodařilo se načíst položku",
|
"failed_to_load_asset": "Nepodařilo se načíst položku",
|
||||||
"failed_to_load_assets": "Nepodařilo se načíst položky",
|
"failed_to_load_assets": "Nepodařilo se načíst položky",
|
||||||
"failed_to_load_people": "Chyba načítání osob",
|
"failed_to_load_people": "Chyba načítání osob",
|
||||||
@@ -656,8 +634,6 @@
|
|||||||
"unable_to_change_location": "Nelze změnit polohu",
|
"unable_to_change_location": "Nelze změnit polohu",
|
||||||
"unable_to_change_password": "Nelze změnit heslo",
|
"unable_to_change_password": "Nelze změnit heslo",
|
||||||
"unable_to_change_visibility": "Nelze změnit viditelnost u {count, plural, one {# osoby} few {# osob} other {# lidí}}",
|
"unable_to_change_visibility": "Nelze změnit viditelnost u {count, plural, one {# osoby} few {# osob} other {# lidí}}",
|
||||||
"unable_to_check_item": "Nelze zkontrolovat položku",
|
|
||||||
"unable_to_check_items": "Nelze zkontrolovat položky",
|
|
||||||
"unable_to_complete_oauth_login": "Nelze dokončit OAuth přihlášení",
|
"unable_to_complete_oauth_login": "Nelze dokončit OAuth přihlášení",
|
||||||
"unable_to_connect": "Nelze se připojit",
|
"unable_to_connect": "Nelze se připojit",
|
||||||
"unable_to_connect_to_server": "Nepodařilo se připojit k serveru",
|
"unable_to_connect_to_server": "Nepodařilo se připojit k serveru",
|
||||||
@@ -698,12 +674,10 @@
|
|||||||
"unable_to_remove_album_users": "Nelze odebrat uživatele z alba",
|
"unable_to_remove_album_users": "Nelze odebrat uživatele z alba",
|
||||||
"unable_to_remove_api_key": "Nelze odstranit API klíč",
|
"unable_to_remove_api_key": "Nelze odstranit API klíč",
|
||||||
"unable_to_remove_assets_from_shared_link": "Nelze odstranit položky ze sdíleného odkazu",
|
"unable_to_remove_assets_from_shared_link": "Nelze odstranit položky ze sdíleného odkazu",
|
||||||
"unable_to_remove_comment": "Nelze odstranit komentář",
|
|
||||||
"unable_to_remove_deleted_assets": "Nelze odstranit offline soubory",
|
"unable_to_remove_deleted_assets": "Nelze odstranit offline soubory",
|
||||||
"unable_to_remove_library": "Nelze odstranit knihovnu",
|
"unable_to_remove_library": "Nelze odstranit knihovnu",
|
||||||
"unable_to_remove_partner": "Nelze odebrat partnera",
|
"unable_to_remove_partner": "Nelze odebrat partnera",
|
||||||
"unable_to_remove_reaction": "Nelze odstranit reakci",
|
"unable_to_remove_reaction": "Nelze odstranit reakci",
|
||||||
"unable_to_remove_user": "Nelze odebrat uživatele",
|
|
||||||
"unable_to_repair_items": "Nelze opravit položky",
|
"unable_to_repair_items": "Nelze opravit položky",
|
||||||
"unable_to_reset_password": "Nelze obnovit heslo",
|
"unable_to_reset_password": "Nelze obnovit heslo",
|
||||||
"unable_to_resolve_duplicate": "Nelze vyřešit duplicitu",
|
"unable_to_resolve_duplicate": "Nelze vyřešit duplicitu",
|
||||||
@@ -733,10 +707,6 @@
|
|||||||
"unable_to_update_user": "Nelze aktualizovat uživatele",
|
"unable_to_update_user": "Nelze aktualizovat uživatele",
|
||||||
"unable_to_upload_file": "Nepodařilo se nahrát soubor"
|
"unable_to_upload_file": "Nepodařilo se nahrát soubor"
|
||||||
},
|
},
|
||||||
"every_day_at_onepm": "Každý den ve 13:00",
|
|
||||||
"every_night_at_midnight": "Každý den o půlnoci",
|
|
||||||
"every_night_at_twoam": "Každou noc ve 2:00",
|
|
||||||
"every_six_hours": "Každých 6 hodin",
|
|
||||||
"exif": "Exif",
|
"exif": "Exif",
|
||||||
"exit_slideshow": "Ukončit prezentaci",
|
"exit_slideshow": "Ukončit prezentaci",
|
||||||
"expand_all": "Rozbalit vše",
|
"expand_all": "Rozbalit vše",
|
||||||
@@ -751,33 +721,27 @@
|
|||||||
"external": "Externí",
|
"external": "Externí",
|
||||||
"external_libraries": "Externí knihovny",
|
"external_libraries": "Externí knihovny",
|
||||||
"face_unassigned": "Nepřiřazena",
|
"face_unassigned": "Nepřiřazena",
|
||||||
"failed_to_get_people": "Nepodařilo se načíst lidi",
|
|
||||||
"favorite": "Oblíbit",
|
"favorite": "Oblíbit",
|
||||||
"favorite_or_unfavorite_photo": "Oblíbit nebo zrušit oblíbení fotky",
|
"favorite_or_unfavorite_photo": "Oblíbit nebo zrušit oblíbení fotky",
|
||||||
"favorites": "Oblíbené",
|
"favorites": "Oblíbené",
|
||||||
"feature": "Funkce",
|
|
||||||
"feature_photo_updated": "Hlavní fotka aktualizována",
|
"feature_photo_updated": "Hlavní fotka aktualizována",
|
||||||
"featurecollection": "Kolekce Funkcí",
|
|
||||||
"features": "Funkce",
|
"features": "Funkce",
|
||||||
"features_setting_description": "Správa funkcí aplikace",
|
"features_setting_description": "Správa funkcí aplikace",
|
||||||
"file_name": "Název souboru",
|
"file_name": "Název souboru",
|
||||||
"file_name_or_extension": "Název nebo přípona souboru",
|
"file_name_or_extension": "Název nebo přípona souboru",
|
||||||
"filename": "Filename",
|
"filename": "Filename",
|
||||||
"files": "",
|
|
||||||
"filetype": "Filetype",
|
"filetype": "Filetype",
|
||||||
"filter_people": "Filtrovat lidi",
|
"filter_people": "Filtrovat lidi",
|
||||||
"find_them_fast": "Najděte je rychle vyhledáním jejich jména",
|
"find_them_fast": "Najděte je rychle vyhledáním jejich jména",
|
||||||
"fix_incorrect_match": "Opravit nesprávnou shodu",
|
"fix_incorrect_match": "Opravit nesprávnou shodu",
|
||||||
"folders": "Složky",
|
"folders": "Složky",
|
||||||
"folders_feature_description": "Procházení zobrazení složek s fotografiemi a videi v souborovém systému",
|
"folders_feature_description": "Procházení zobrazení složek s fotografiemi a videi v souborovém systému",
|
||||||
"force_re-scan_library_files": "Vynucené prohledání všech souborů knihovny",
|
|
||||||
"forward": "Dopředu",
|
"forward": "Dopředu",
|
||||||
"general": "Obecné",
|
"general": "Obecné",
|
||||||
"get_help": "Získat pomoc",
|
"get_help": "Získat pomoc",
|
||||||
"getting_started": "Začínáme",
|
"getting_started": "Začínáme",
|
||||||
"go_back": "Přejít zpět",
|
"go_back": "Přejít zpět",
|
||||||
"go_to_search": "Přejít na vyhledávání",
|
"go_to_search": "Přejít na vyhledávání",
|
||||||
"go_to_share_page": "Přejít na stránku sdílení",
|
|
||||||
"group_albums_by": "Seskupit alba podle...",
|
"group_albums_by": "Seskupit alba podle...",
|
||||||
"group_no": "Neseskupovat",
|
"group_no": "Neseskupovat",
|
||||||
"group_owner": "Seskupit podle uživatele",
|
"group_owner": "Seskupit podle uživatele",
|
||||||
@@ -803,10 +767,6 @@
|
|||||||
"image_alt_text_date_place_2_people": "{isVideo, select, true {Video pořízeno} other {Obrázek požízen}} {date} v místě {city}, {country} uživateli {person1} a {person2}",
|
"image_alt_text_date_place_2_people": "{isVideo, select, true {Video pořízeno} other {Obrázek požízen}} {date} v místě {city}, {country} uživateli {person1} a {person2}",
|
||||||
"image_alt_text_date_place_3_people": "{isVideo, select, true {Video pořízeno} other {Obrázek požízen}} {date} v místě {city}, {country} uživateli {person1}, {person2} a {person3}",
|
"image_alt_text_date_place_3_people": "{isVideo, select, true {Video pořízeno} other {Obrázek požízen}} {date} v místě {city}, {country} uživateli {person1}, {person2} a {person3}",
|
||||||
"image_alt_text_date_place_4_or_more_people": "{isVideo, select, true {Video pořízeno} other {Obrázek požízen}} {date} v místě {city}, {country} uživateli {person1}, {person2} a {additionalCount, plural, one {dalším # uživatelem} other {dalšími # uživateli}}",
|
"image_alt_text_date_place_4_or_more_people": "{isVideo, select, true {Video pořízeno} other {Obrázek požízen}} {date} v místě {city}, {country} uživateli {person1}, {person2} a {additionalCount, plural, one {dalším # uživatelem} other {dalšími # uživateli}}",
|
||||||
"image_alt_text_people": "{count, plural, =1 {a {person1}} =2 {s {person1} a {person2}} =3 {s {person1}, {person2}, a {person3}} other {s {person1}, {person2}, a {others, number} dalšími}}",
|
|
||||||
"image_alt_text_place": "v {city}, {country}",
|
|
||||||
"image_taken": "{isVideo, select, true {Video pořízeno} other {Obrázek požízen}}",
|
|
||||||
"img": "Img",
|
|
||||||
"immich_logo": "Immich Logo",
|
"immich_logo": "Immich Logo",
|
||||||
"immich_web_interface": "Webové rozhraní Immich",
|
"immich_web_interface": "Webové rozhraní Immich",
|
||||||
"import_from_json": "Import z JSONu",
|
"import_from_json": "Import z JSONu",
|
||||||
@@ -827,10 +787,11 @@
|
|||||||
"invite_people": "Pozvat lidi",
|
"invite_people": "Pozvat lidi",
|
||||||
"invite_to_album": "Pozvat do alba",
|
"invite_to_album": "Pozvat do alba",
|
||||||
"items_count": "{count, plural, one {# položka} few {# položky} other {# položek}}",
|
"items_count": "{count, plural, one {# položka} few {# položky} other {# položek}}",
|
||||||
"job_settings_description": "Správa souběhu úloh",
|
|
||||||
"jobs": "Úlohy",
|
"jobs": "Úlohy",
|
||||||
"keep": "Ponechat",
|
"keep": "Ponechat",
|
||||||
"keep_all": "Ponechat vše",
|
"keep_all": "Ponechat vše",
|
||||||
|
"keep_this_delete_others": "Ponechat tuto, odstranit ostatní",
|
||||||
|
"kept_this_deleted_others": "Ponechána tato položka a {count, plural, one {odstraněna # položka} few {odstraněny # položky} other {odstraněno # položek}}",
|
||||||
"keyboard_shortcuts": "Klávesové zkratky",
|
"keyboard_shortcuts": "Klávesové zkratky",
|
||||||
"language": "Jazyk",
|
"language": "Jazyk",
|
||||||
"language_setting_description": "Vyberte upřednostňovaný jazyk",
|
"language_setting_description": "Vyberte upřednostňovaný jazyk",
|
||||||
@@ -842,31 +803,6 @@
|
|||||||
"level": "Úroveň",
|
"level": "Úroveň",
|
||||||
"library": "Knihovna",
|
"library": "Knihovna",
|
||||||
"library_options": "Možnosti knihovny",
|
"library_options": "Možnosti knihovny",
|
||||||
"license_account_info": "Váš účet je licencován",
|
|
||||||
"license_activated_subtitle": "Děkujeme vám za podporu aplikace Immich a open-source softwaru",
|
|
||||||
"license_activated_title": "Vaše licence byla úspěšně aktivována",
|
|
||||||
"license_button_activate": "Aktivovat",
|
|
||||||
"license_button_buy": "Koupit",
|
|
||||||
"license_button_buy_license": "Koupit licenci",
|
|
||||||
"license_button_select": "Vybrat",
|
|
||||||
"license_failed_activation": "Nepodařilo se aktivovat licenci. Zkontrolujte prosím svůj e-mail pro správný licenční klíč!",
|
|
||||||
"license_individual_description_1": "1 licence za uživatele na libovolném serveru",
|
|
||||||
"license_individual_title": "Individuální licence",
|
|
||||||
"license_info_licensed": "Licencováno",
|
|
||||||
"license_info_unlicensed": "Nelicencováno",
|
|
||||||
"license_input_suggestion": "Máte licenci? Zadejte klíč níže",
|
|
||||||
"license_license_subtitle": "Koupí licence podpoříte Immich",
|
|
||||||
"license_license_title": "LICENCE",
|
|
||||||
"license_lifetime_description": "Doživotní licence",
|
|
||||||
"license_per_server": "Za server",
|
|
||||||
"license_per_user": "Za uživatele",
|
|
||||||
"license_server_description_1": "1 licence za každý server",
|
|
||||||
"license_server_description_2": "Licence za všechny uživatele na serveru",
|
|
||||||
"license_server_title": "Serverová licence",
|
|
||||||
"license_trial_info_1": "Používáte nelicencovanou verzi aplikace Immich",
|
|
||||||
"license_trial_info_2": "Immich používáte přibližně",
|
|
||||||
"license_trial_info_3": "{accountAge, plural, one {# den} few {# dny} other {# dní}}",
|
|
||||||
"license_trial_info_4": "Zvažte prosím zakoupení licence na podporu dalšího rozvoje služby",
|
|
||||||
"light": "Světlý",
|
"light": "Světlý",
|
||||||
"like_deleted": "Lajk smazán",
|
"like_deleted": "Lajk smazán",
|
||||||
"link_motion_video": "Připojit pohyblivé video",
|
"link_motion_video": "Připojit pohyblivé video",
|
||||||
@@ -888,6 +824,7 @@
|
|||||||
"look": "Zobrazení",
|
"look": "Zobrazení",
|
||||||
"loop_videos": "Videa ve smyčce",
|
"loop_videos": "Videa ve smyčce",
|
||||||
"loop_videos_description": "Povolit automatickou smyčku videa v prohlížeči.",
|
"loop_videos_description": "Povolit automatickou smyčku videa v prohlížeči.",
|
||||||
|
"main_branch_warning": "Používáte vývojovou verzi; důrazně doporučujeme používat verzi z vydání!",
|
||||||
"make": "Výrobce",
|
"make": "Výrobce",
|
||||||
"manage_shared_links": "Spravovat sdílené odkazy",
|
"manage_shared_links": "Spravovat sdílené odkazy",
|
||||||
"manage_sharing_with_partners": "Správa sdílení s partnery",
|
"manage_sharing_with_partners": "Správa sdílení s partnery",
|
||||||
@@ -965,13 +902,11 @@
|
|||||||
"oldest_first": "Nejstarší první",
|
"oldest_first": "Nejstarší první",
|
||||||
"onboarding": "Zahájení",
|
"onboarding": "Zahájení",
|
||||||
"onboarding_privacy_description": "Následující (volitelné) funkce jsou závislé na externích službách a lze je kdykoli zakázat v nastavení správy.",
|
"onboarding_privacy_description": "Následující (volitelné) funkce jsou závislé na externích službách a lze je kdykoli zakázat v nastavení správy.",
|
||||||
"onboarding_storage_template_description": "Pokud je tato funkce povolena, automaticky uspořádá soubory na základě uživatelem definované šablony. Vzhledem k problémům se stabilitou byla tato funkce ve výchozím nastavení vypnuta. Další informace naleznete v [dokumentaci].",
|
|
||||||
"onboarding_theme_description": "Zvolte si barevné téma pro svou instanci. Můžete to později změnit v nastavení.",
|
"onboarding_theme_description": "Zvolte si barevné téma pro svou instanci. Můžete to později změnit v nastavení.",
|
||||||
"onboarding_welcome_description": "Nastavíme vaši instanci pomocí několika běžných nastavení.",
|
"onboarding_welcome_description": "Nastavíme vaši instanci pomocí několika běžných nastavení.",
|
||||||
"onboarding_welcome_user": "Vítej, {user}",
|
"onboarding_welcome_user": "Vítej, {user}",
|
||||||
"online": "Online",
|
"online": "Online",
|
||||||
"only_favorites": "Pouze oblíbené",
|
"only_favorites": "Pouze oblíbené",
|
||||||
"only_refreshes_modified_files": "Obnovuje pouze změněné soubory",
|
|
||||||
"open_in_map_view": "Otevřít v zobrazení mapy",
|
"open_in_map_view": "Otevřít v zobrazení mapy",
|
||||||
"open_in_openstreetmap": "Otevřít v OpenStreetMap",
|
"open_in_openstreetmap": "Otevřít v OpenStreetMap",
|
||||||
"open_the_search_filters": "Otevřít vyhledávací filtry",
|
"open_the_search_filters": "Otevřít vyhledávací filtry",
|
||||||
@@ -988,7 +923,7 @@
|
|||||||
"partner_can_access": "{partner} má přístup",
|
"partner_can_access": "{partner} má přístup",
|
||||||
"partner_can_access_assets": "Všechny vaše fotky a videa kromě těch, které jsou v sekcích Archivováno a Smazáno",
|
"partner_can_access_assets": "Všechny vaše fotky a videa kromě těch, které jsou v sekcích Archivováno a Smazáno",
|
||||||
"partner_can_access_location": "Místo, kde byly vaše fotografie pořízeny",
|
"partner_can_access_location": "Místo, kde byly vaše fotografie pořízeny",
|
||||||
"partner_sharing": "Sdílení partnerů",
|
"partner_sharing": "Sdílení mezi partnery",
|
||||||
"partners": "Partneři",
|
"partners": "Partneři",
|
||||||
"password": "Heslo",
|
"password": "Heslo",
|
||||||
"password_does_not_match": "Heslo se neshoduje",
|
"password_does_not_match": "Heslo se neshoduje",
|
||||||
@@ -1009,14 +944,12 @@
|
|||||||
"people_edits_count": "Upraveno {count, plural, one {# osoba} few {# osoby} other {# lidí}}",
|
"people_edits_count": "Upraveno {count, plural, one {# osoba} few {# osoby} other {# lidí}}",
|
||||||
"people_feature_description": "Procházení fotografií a videí seskupených podle osob",
|
"people_feature_description": "Procházení fotografií a videí seskupených podle osob",
|
||||||
"people_sidebar_description": "Zobrazit sekci Lidé v postranním panelu",
|
"people_sidebar_description": "Zobrazit sekci Lidé v postranním panelu",
|
||||||
"perform_library_tasks": "",
|
|
||||||
"permanent_deletion_warning": "Upozornění na trvalé smazání",
|
"permanent_deletion_warning": "Upozornění na trvalé smazání",
|
||||||
"permanent_deletion_warning_setting_description": "Zobrazit varování při trvalém odstranění položek",
|
"permanent_deletion_warning_setting_description": "Zobrazit varování při trvalém odstranění položek",
|
||||||
"permanently_delete": "Trvale odstranit",
|
"permanently_delete": "Trvale odstranit",
|
||||||
"permanently_delete_assets_count": "Trvale vymazat {count, plural, one {položku} other {položky}}",
|
"permanently_delete_assets_count": "Trvale smazat {count, plural, one {položku} other {položky}}",
|
||||||
"permanently_delete_assets_prompt": "Opravdu chcete trvale smazat {count, plural, one {tuto položku} few {tyto <b>#</b> položky} other {těchto <b>#</b> položek}}? Tím {count, plural, one {ji také odstraníte z jejích} other {je také odstraníte z jejich}} alb.",
|
"permanently_delete_assets_prompt": "Opravdu chcete trvale smazat {count, plural, one {tuto položku} few {tyto <b>#</b> položky} other {těchto <b>#</b> položek}}? Tím {count, plural, one {ji také odstraníte z jejích} other {je také odstraníte z jejich}} alb.",
|
||||||
"permanently_deleted_asset": "Položka trvale odstraněna",
|
"permanently_deleted_asset": "Položka trvale odstraněna",
|
||||||
"permanently_deleted_assets": "Trvale {count, plural, one {odstraněna # položka} few {odstraněny # položky} other {odstraněno # položek}}",
|
|
||||||
"permanently_deleted_assets_count": "{count, plural, one {Položka trvale vymazána} other {Položky trvale vymazány}}",
|
"permanently_deleted_assets_count": "{count, plural, one {Položka trvale vymazána} other {Položky trvale vymazány}}",
|
||||||
"person": "Osoba",
|
"person": "Osoba",
|
||||||
"person_hidden": "{name}{hidden, select, true { (skryto)} other {}}",
|
"person_hidden": "{name}{hidden, select, true { (skryto)} other {}}",
|
||||||
@@ -1032,7 +965,6 @@
|
|||||||
"play_memories": "Přehrát vzpomníky",
|
"play_memories": "Přehrát vzpomníky",
|
||||||
"play_motion_photo": "Přehrát pohybovou fotografii",
|
"play_motion_photo": "Přehrát pohybovou fotografii",
|
||||||
"play_or_pause_video": "Přehrát nebo pozastavit video",
|
"play_or_pause_video": "Přehrát nebo pozastavit video",
|
||||||
"point": "Bod",
|
|
||||||
"port": "Port",
|
"port": "Port",
|
||||||
"preset": "Přednastavení",
|
"preset": "Přednastavení",
|
||||||
"preview": "Náhled",
|
"preview": "Náhled",
|
||||||
@@ -1056,19 +988,19 @@
|
|||||||
"purchase_button_reminder": "Připomenout za 30 dní",
|
"purchase_button_reminder": "Připomenout za 30 dní",
|
||||||
"purchase_button_remove_key": "Odstranit klíč",
|
"purchase_button_remove_key": "Odstranit klíč",
|
||||||
"purchase_button_select": "Vybrat",
|
"purchase_button_select": "Vybrat",
|
||||||
"purchase_failed_activation": "Aktivace se nezdařila! Zkontrolujte prosím svůj e-mail pro správný produktový klíč!",
|
"purchase_failed_activation": "Aktivace se nezdařila! Zkontrolujte prosím svůj e-mail zda je zadaný produktový klíč bez chyb!",
|
||||||
"purchase_individual_description_1": "Pro jednotlivce",
|
"purchase_individual_description_1": "Pro jednotlivce",
|
||||||
"purchase_individual_description_2": "Stav podporovatele",
|
"purchase_individual_description_2": "Stav podporovatele",
|
||||||
"purchase_individual_title": "Individuální",
|
"purchase_individual_title": "Individuální",
|
||||||
"purchase_input_suggestion": "Máte produktový klíč? Zadejte klíč níže",
|
"purchase_input_suggestion": "Máte produktový klíč? Zadejte ho níže",
|
||||||
"purchase_license_subtitle": "Koupit Immich na podporu dalšího rozvoje služby",
|
"purchase_license_subtitle": "Koupit Immich a podpořit další rozvoj služby",
|
||||||
"purchase_lifetime_description": "Doživotní platnost",
|
"purchase_lifetime_description": "Doživotní platnost",
|
||||||
"purchase_option_title": "MOŽNOSTI NÁKUPU",
|
"purchase_option_title": "MOŽNOSTI ZAKOUPENÍ",
|
||||||
"purchase_panel_info_1": "Tvorba aplikace Immich vyžaduje spoustu času a úsilí, a proto na ní pracují vývojáři na plný úvazek, aby byla co nejlepší. Naším cílem je, aby se software s otevřeným zdrojovým kódem a etické obchodní postupy staly udržitelným zdrojem příjmů pro vývojáře a aby vznikl ekosystém respektující soukromí se skutečnými alternativami k ziskuchtivým službám.",
|
"purchase_panel_info_1": "Tvorba aplikace Immich vyžaduje spoustu času a úsilí, a proto na ní pracují vývojáři na plný úvazek, aby byla co nejlepší. Naším cílem je, aby se software s otevřeným zdrojovým kódem a etické obchodní postupy staly udržitelným zdrojem příjmů pro vývojáře a aby vznikl ekosystém respektující soukromí se skutečnými alternativami k ziskuchtivým službám.",
|
||||||
"purchase_panel_info_2": "Protože jsme se zavázali, že nebudeme zavádět paywally, nezískáte tímto nákupem žádné další funkce v aplikaci Immich. Spoléháme na uživatele, jako jste vy, že podpoří neustálý vývoj aplikace.",
|
"purchase_panel_info_2": "Protože jsme se zavázali, že nebudeme zavádět paywally, nezískáte tímto nákupem žádné další funkce v aplikaci Immich. Spoléháme na uživatele, jako jste vy, že podpoří neustálý vývoj aplikace.",
|
||||||
"purchase_panel_title": "Podpora projektu",
|
"purchase_panel_title": "Podpořit projekt",
|
||||||
"purchase_per_server": "Na server",
|
"purchase_per_server": "Za server",
|
||||||
"purchase_per_user": "Na uživatele",
|
"purchase_per_user": "Za uživatele",
|
||||||
"purchase_remove_product_key": "Odstranění produktového klíče",
|
"purchase_remove_product_key": "Odstranění produktového klíče",
|
||||||
"purchase_remove_product_key_prompt": "Opravdu chcete odebrat produktový klíč?",
|
"purchase_remove_product_key_prompt": "Opravdu chcete odebrat produktový klíč?",
|
||||||
"purchase_remove_server_product_key": "Odstranění serverového produktového klíče",
|
"purchase_remove_server_product_key": "Odstranění serverového produktového klíče",
|
||||||
@@ -1077,12 +1009,10 @@
|
|||||||
"purchase_server_description_2": "Stav podporovatele",
|
"purchase_server_description_2": "Stav podporovatele",
|
||||||
"purchase_server_title": "Server",
|
"purchase_server_title": "Server",
|
||||||
"purchase_settings_server_activated": "Produktový klíč serveru spravuje správce",
|
"purchase_settings_server_activated": "Produktový klíč serveru spravuje správce",
|
||||||
"range": "Rozsah",
|
|
||||||
"rating": "Hodnocení hvězdičkami",
|
"rating": "Hodnocení hvězdičkami",
|
||||||
"rating_clear": "Vyčistit hodnocení",
|
"rating_clear": "Vyčistit hodnocení",
|
||||||
"rating_count": "{count, plural, one {# hvězdička} few {# hvězdičky} other {# hvězdček}}",
|
"rating_count": "{count, plural, one {# hvězdička} few {# hvězdičky} other {# hvězdček}}",
|
||||||
"rating_description": "Zobrazit EXIF hodnocení v informačním panelu",
|
"rating_description": "Zobrazit EXIF hodnocení v informačním panelu",
|
||||||
"raw": "Raw",
|
|
||||||
"reaction_options": "Možnosti reakce",
|
"reaction_options": "Možnosti reakce",
|
||||||
"read_changelog": "Přečtěte si seznam změn",
|
"read_changelog": "Přečtěte si seznam změn",
|
||||||
"reassign": "Přeřadit",
|
"reassign": "Přeřadit",
|
||||||
@@ -1127,7 +1057,6 @@
|
|||||||
"reset": "Výchozí",
|
"reset": "Výchozí",
|
||||||
"reset_password": "Obnovit heslo",
|
"reset_password": "Obnovit heslo",
|
||||||
"reset_people_visibility": "Obnovit viditelnost lidí",
|
"reset_people_visibility": "Obnovit viditelnost lidí",
|
||||||
"reset_settings_to_default": "Obnovit výchozí nastavení",
|
|
||||||
"reset_to_default": "Obnovit výchozí nastavení",
|
"reset_to_default": "Obnovit výchozí nastavení",
|
||||||
"resolve_duplicates": "Vyřešit duplicity",
|
"resolve_duplicates": "Vyřešit duplicity",
|
||||||
"resolved_all_duplicates": "Vyřešeny všechny duplicity",
|
"resolved_all_duplicates": "Vyřešeny všechny duplicity",
|
||||||
@@ -1147,9 +1076,7 @@
|
|||||||
"saved_settings": "Nastavení uloženo",
|
"saved_settings": "Nastavení uloženo",
|
||||||
"say_something": "Řekněte něco",
|
"say_something": "Řekněte něco",
|
||||||
"scan_all_libraries": "Prohledat všechny knihovny",
|
"scan_all_libraries": "Prohledat všechny knihovny",
|
||||||
"scan_all_library_files": "Prohledání všech souborů knihovny",
|
|
||||||
"scan_library": "Prohledat",
|
"scan_library": "Prohledat",
|
||||||
"scan_new_library_files": "Hledat nové soubory v knihovně",
|
|
||||||
"scan_settings": "Nastavení prohledávání",
|
"scan_settings": "Nastavení prohledávání",
|
||||||
"scanning_for_album": "Prohledávání alba...",
|
"scanning_for_album": "Prohledávání alba...",
|
||||||
"search": "Hledat",
|
"search": "Hledat",
|
||||||
@@ -1192,7 +1119,6 @@
|
|||||||
"selected_count": "{count, plural, one {# vybraný} few {# vybrané} other {# vybraných}}",
|
"selected_count": "{count, plural, one {# vybraný} few {# vybrané} other {# vybraných}}",
|
||||||
"send_message": "Odeslat zprávu",
|
"send_message": "Odeslat zprávu",
|
||||||
"send_welcome_email": "Poslat uvítací e-mail",
|
"send_welcome_email": "Poslat uvítací e-mail",
|
||||||
"server": "Server",
|
|
||||||
"server_offline": "Server offline",
|
"server_offline": "Server offline",
|
||||||
"server_online": "Server online",
|
"server_online": "Server online",
|
||||||
"server_stats": "Statistiky serveru",
|
"server_stats": "Statistiky serveru",
|
||||||
@@ -1303,11 +1229,9 @@
|
|||||||
"to_favorite": "Oblíbit",
|
"to_favorite": "Oblíbit",
|
||||||
"to_login": "Přihlásit",
|
"to_login": "Přihlásit",
|
||||||
"to_parent": "Přejít k rodiči",
|
"to_parent": "Přejít k rodiči",
|
||||||
"to_root": "Přejít ke kořenu",
|
|
||||||
"to_trash": "Vyhodit",
|
"to_trash": "Vyhodit",
|
||||||
"toggle_settings": "Přepnout nastavení",
|
"toggle_settings": "Přepnout nastavení",
|
||||||
"toggle_theme": "Přepnout tmavý motiv",
|
"toggle_theme": "Přepnout tmavý motiv",
|
||||||
"toggle_visibility": "Přepnout viditelnost",
|
|
||||||
"total_usage": "Celkové využití",
|
"total_usage": "Celkové využití",
|
||||||
"trash": "Koš",
|
"trash": "Koš",
|
||||||
"trash_all": "Vyhodit vše",
|
"trash_all": "Vyhodit vše",
|
||||||
@@ -1317,12 +1241,10 @@
|
|||||||
"trashed_items_will_be_permanently_deleted_after": "Smazané položky budou trvale odstraněny po {days, plural, one {# dni} other {# dnech}}.",
|
"trashed_items_will_be_permanently_deleted_after": "Smazané položky budou trvale odstraněny po {days, plural, one {# dni} other {# dnech}}.",
|
||||||
"type": "Typ",
|
"type": "Typ",
|
||||||
"unarchive": "Odarchivovat",
|
"unarchive": "Odarchivovat",
|
||||||
"unarchived": "Odarchivováno",
|
|
||||||
"unarchived_count": "{count, plural, one {Odarchivována #} few {Odarchivovány #} other {Odarchivováno #}}",
|
"unarchived_count": "{count, plural, one {Odarchivována #} few {Odarchivovány #} other {Odarchivováno #}}",
|
||||||
"unfavorite": "Zrušit oblíbení",
|
"unfavorite": "Zrušit oblíbení",
|
||||||
"unhide_person": "Zrušit skrytí osoby",
|
"unhide_person": "Zrušit skrytí osoby",
|
||||||
"unknown": "Neznámý",
|
"unknown": "Neznámý",
|
||||||
"unknown_album": "Neznámé album",
|
|
||||||
"unknown_year": "Neznámý rok",
|
"unknown_year": "Neznámý rok",
|
||||||
"unlimited": "Neomezeně",
|
"unlimited": "Neomezeně",
|
||||||
"unlink_motion_video": "Odpojit pohyblivé video",
|
"unlink_motion_video": "Odpojit pohyblivé video",
|
||||||
@@ -1330,7 +1252,7 @@
|
|||||||
"unlinked_oauth_account": "OAuth účet odpojen",
|
"unlinked_oauth_account": "OAuth účet odpojen",
|
||||||
"unnamed_album": "Nepojmenované album",
|
"unnamed_album": "Nepojmenované album",
|
||||||
"unnamed_album_delete_confirmation": "Opravdu chcete toto album smazat?",
|
"unnamed_album_delete_confirmation": "Opravdu chcete toto album smazat?",
|
||||||
"unnamed_share": "Nejmenované sdílení",
|
"unnamed_share": "Nepojmenované sdílení",
|
||||||
"unsaved_change": "Neuložená změna",
|
"unsaved_change": "Neuložená změna",
|
||||||
"unselect_all": "Zrušit výběr všech",
|
"unselect_all": "Zrušit výběr všech",
|
||||||
"unselect_all_duplicates": "Zrušit výběr všech duplicit",
|
"unselect_all_duplicates": "Zrušit výběr všech duplicit",
|
||||||
@@ -1354,8 +1276,6 @@
|
|||||||
"use_custom_date_range": "Použít vlastní rozsah dat",
|
"use_custom_date_range": "Použít vlastní rozsah dat",
|
||||||
"user": "Uživatel",
|
"user": "Uživatel",
|
||||||
"user_id": "ID uživatele",
|
"user_id": "ID uživatele",
|
||||||
"user_license_settings": "Licence",
|
|
||||||
"user_license_settings_description": "Správa licence",
|
|
||||||
"user_liked": "Uživateli {user} se {type, select, photo {líbila tato fotka} video {líbilo toto video} asset {líbila tato položka} other {to líbilo}}",
|
"user_liked": "Uživateli {user} se {type, select, photo {líbila tato fotka} video {líbilo toto video} asset {líbila tato položka} other {to líbilo}}",
|
||||||
"user_purchase_settings": "Nákup",
|
"user_purchase_settings": "Nákup",
|
||||||
"user_purchase_settings_description": "Správa vašeho nákupu",
|
"user_purchase_settings_description": "Správa vašeho nákupu",
|
||||||
@@ -1368,7 +1288,7 @@
|
|||||||
"variables": "Proměnné",
|
"variables": "Proměnné",
|
||||||
"version": "Verze",
|
"version": "Verze",
|
||||||
"version_announcement_closing": "Váš přítel Alex",
|
"version_announcement_closing": "Váš přítel Alex",
|
||||||
"version_announcement_message": "Ahoj příteli, je tu nová verze aplikace, věnuj prosím čas přečtení <link>poznámek k vydání</link> a zajisti si, aby <code>docker-compose.yml</code> a nastavení <code>.env</code> bylo aktuální, a aby nedošlo k chybné konfiguraci, zejména pokud používáš WatchTower nebo jiný mechanismus, který se stará o automatickou aktualizaci aplikace.",
|
"version_announcement_message": "Ahoj! K dispozici je nová verze aplikace Immich. Věnujte prosím chvíli přečtení <link>poznámek k vydání</link> a ujistěte se, že je vaše nastavení aktuální, abyste předešli případným chybným konfiguracím, zejména pokud používáte WatchTower nebo jiný mechanismus, který se stará o automatickou aktualizaci instance aplikace Immich.",
|
||||||
"version_history": "Historie verzí",
|
"version_history": "Historie verzí",
|
||||||
"version_history_item": "Nainstalováno {version} dne {date}",
|
"version_history_item": "Nainstalováno {version} dne {date}",
|
||||||
"video": "Video",
|
"video": "Video",
|
||||||
@@ -1385,7 +1305,6 @@
|
|||||||
"view_next_asset": "Zobrazit další položku",
|
"view_next_asset": "Zobrazit další položku",
|
||||||
"view_previous_asset": "Zobrazit předchozí položku",
|
"view_previous_asset": "Zobrazit předchozí položku",
|
||||||
"view_stack": "Zobrazit seskupení",
|
"view_stack": "Zobrazit seskupení",
|
||||||
"viewer": "Prohlížeč",
|
|
||||||
"visibility_changed": "Viditelnost změněna u {count, plural, one {# osoby} few {# osob} other {# lidí}}",
|
"visibility_changed": "Viditelnost změněna u {count, plural, one {# osoby} few {# osob} other {# lidí}}",
|
||||||
"waiting": "Čekající",
|
"waiting": "Čekající",
|
||||||
"warning": "Upozornění",
|
"warning": "Upozornění",
|
||||||
@@ -33,12 +33,16 @@
|
|||||||
"check_all": "Пурне те тӗрӗслӗр",
|
"check_all": "Пурне те тӗрӗслӗр",
|
||||||
"cleared_jobs": "Ӗҫсене тасатнӑ:{job}",
|
"cleared_jobs": "Ӗҫсене тасатнӑ:{job}",
|
||||||
"confirm_email_below": "Ҫирӗплетес тесен, аяларах «{email}» кӗртӗр",
|
"confirm_email_below": "Ҫирӗплетес тесен, аяларах «{email}» кӗртӗр",
|
||||||
|
"confirm_reprocess_all_faces": "Пӗтӗм сӑнӗсене тепӗр хут палӑртас килет тесе шанатӑр-и? Ҫавӑн пекех ятсене пур ҫынран та хуратӗҫ.",
|
||||||
"create_job": "Ӗҫе ту",
|
"create_job": "Ӗҫе ту",
|
||||||
"disable_login": "Кӗме чарӑр",
|
"disable_login": "Кӗме чарӑр",
|
||||||
"duplicate_detection_job_description": "Пӗр пек ӳкерчӗксене тупма машинӑллӑ вӗренӗве ӗҫлеттерӗр. Ӑслӑ шыравпа усӑ кураҫҫӗ",
|
"duplicate_detection_job_description": "Пӗр пек ӳкерчӗксене тупма машинӑллӑ вӗренӗве ӗҫлеттерӗр. Ӑслӑ шыравпа усӑ кураҫҫӗ",
|
||||||
"face_detection": "Пит-куҫа тупасси",
|
"face_detection": "Пит-куҫа тупасси",
|
||||||
"force_delete_user_warning": "ПУЛТАРУЛӐХ: Ку усӑ куракана тата мӗнпур ресурса ҫийӗнчех кӑларса пӑрахасси патне илсе ҫитерӗ. Кӑна пӑрахӑҫлама май ҫук, файлсене те юсаса пӗтереймеҫҫӗ.",
|
"force_delete_user_warning": "ПУЛТАРУЛӐХ: Ку усӑ куракана тата мӗнпур ресурса ҫийӗнчех кӑларса пӑрахасси патне илсе ҫитерӗ. Кӑна пӑрахӑҫлама май ҫук, файлсене те юсаса пӗтереймеҫҫӗ.",
|
||||||
"image_format": "Тулашлăх",
|
"image_format": "Тулашлăх",
|
||||||
|
"image_preview_description": "Вӑтам пысӑкӑш ӳкерчӗк, уйрӑм метаданнӑйсем, пӗр объекта пӑхнӑ чухне тата машинӑллӑ вӗренӳре усӑ кураҫҫӗ",
|
||||||
|
"image_preview_quality_description": "1-100 таран малтанхи пахалӑх. Ҫӳллӗреххи лайӑхрах, анчах та пысӑкрах файлсем туса кӑларать тата приложенисен хуравлӑхне чакарма пултарать. Пӗчӗк хак лартни машинӑллӑ вӗренӳ пахалӑхне витӗм кӳме пултарать.",
|
||||||
|
"image_preview_title": "Малтанлӑха пӑхмалли ӗнерлевсем",
|
||||||
"image_quality": "Пахалӑх",
|
"image_quality": "Пахалӑх",
|
||||||
"image_resolution": "Виҫе"
|
"image_resolution": "Виҫе"
|
||||||
}
|
}
|
||||||
@@ -2,7 +2,7 @@
|
|||||||
"about": "Om",
|
"about": "Om",
|
||||||
"account": "Konto",
|
"account": "Konto",
|
||||||
"account_settings": "Kontoindstillinger",
|
"account_settings": "Kontoindstillinger",
|
||||||
"acknowledge": "Anerkend",
|
"acknowledge": "Godkend",
|
||||||
"action": "Handling",
|
"action": "Handling",
|
||||||
"actions": "Handlinger",
|
"actions": "Handlinger",
|
||||||
"active": "Aktive",
|
"active": "Aktive",
|
||||||
@@ -28,11 +28,17 @@
|
|||||||
"added_to_favorites_count": "Tilføjet {count, number} til favoritter",
|
"added_to_favorites_count": "Tilføjet {count, number} til favoritter",
|
||||||
"admin": {
|
"admin": {
|
||||||
"add_exclusion_pattern_description": "Tilføj udelukkelsesmønstre. Globbing ved hjælp af *, ** og ? understøttes. For at ignorere alle filer i enhver mappe med navnet \"Raw\", brug \"**/Raw/**\". For at ignorere alle filer, der slutter på \".tif\", brug \"**/*.tif\". For at ignorere en absolut sti, brug \"/sti/til/ignoreret/**\".",
|
"add_exclusion_pattern_description": "Tilføj udelukkelsesmønstre. Globbing ved hjælp af *, ** og ? understøttes. For at ignorere alle filer i enhver mappe med navnet \"Raw\", brug \"**/Raw/**\". For at ignorere alle filer, der slutter på \".tif\", brug \"**/*.tif\". For at ignorere en absolut sti, brug \"/sti/til/ignoreret/**\".",
|
||||||
|
"asset_offline_description": "Denne eksterne biblioteksressource findes ikke længere på disken og er blevet flyttet til papirkurven. Hvis filen blev flyttet inde i biblioteket, skal du tjekke din tidslinje for den nye tilsvarende ressource. For at gendanne denne ressource skal du sikre, at filstien nedenfor kan tilgås af Immich og scanne biblioteket.",
|
||||||
"authentication_settings": "Godkendelsesindstillinger",
|
"authentication_settings": "Godkendelsesindstillinger",
|
||||||
"authentication_settings_description": "Administrer adgangskode, OAuth og andre godkendelsesindstillinger",
|
"authentication_settings_description": "Administrer adgangskode, OAuth og andre godkendelsesindstillinger",
|
||||||
"authentication_settings_disable_all": "Er du sikker på at du vil deaktivere alle loginmuligheder? Login vil blive helt deaktiveret.",
|
"authentication_settings_disable_all": "Er du sikker på at du vil deaktivere alle loginmuligheder? Login vil blive helt deaktiveret.",
|
||||||
"authentication_settings_reenable": "Brug en <link>server-kommando</link> for at genaktivere.",
|
"authentication_settings_reenable": "Brug en <link>server-kommando</link> for at genaktivere.",
|
||||||
"background_task_job": "Baggrundsopgaver",
|
"background_task_job": "Baggrundsopgaver",
|
||||||
|
"backup_database": "Backup Database",
|
||||||
|
"backup_database_enable_description": "Slå database-backup til",
|
||||||
|
"backup_keep_last_amount": "Mængde af tidligere backups, der skal gemmes",
|
||||||
|
"backup_settings": "Backup-indstillinger",
|
||||||
|
"backup_settings_description": "Administrer backupindstillinger for database",
|
||||||
"check_all": "Tjek Alle",
|
"check_all": "Tjek Alle",
|
||||||
"cleared_jobs": "Ryddet jobs til: {job}",
|
"cleared_jobs": "Ryddet jobs til: {job}",
|
||||||
"config_set_by_file": "konfigurationen er i øjeblikket indstillet af en konfigurations fil",
|
"config_set_by_file": "konfigurationen er i øjeblikket indstillet af en konfigurations fil",
|
||||||
@@ -41,9 +47,8 @@
|
|||||||
"confirm_email_below": "For at bekræfte, skriv \"{email}\" herunder",
|
"confirm_email_below": "For at bekræfte, skriv \"{email}\" herunder",
|
||||||
"confirm_reprocess_all_faces": "Er du sikker på, at du vil genbehandle alle ansigter? Dette vil også rydde navngivne personer.",
|
"confirm_reprocess_all_faces": "Er du sikker på, at du vil genbehandle alle ansigter? Dette vil også rydde navngivne personer.",
|
||||||
"confirm_user_password_reset": "Er du sikker på, at du vil nulstille {user}s adgangskode?",
|
"confirm_user_password_reset": "Er du sikker på, at du vil nulstille {user}s adgangskode?",
|
||||||
"crontab_guru": "Crontab Guru",
|
"create_job": "Opret job",
|
||||||
"disable_login": "Deaktiver login",
|
"disable_login": "Deaktiver login",
|
||||||
"disabled": "",
|
|
||||||
"duplicate_detection_job_description": "Kør maskinlæring på mediefiler for at opdage lignende billeder. Er afhængig af Smart Søgning",
|
"duplicate_detection_job_description": "Kør maskinlæring på mediefiler for at opdage lignende billeder. Er afhængig af Smart Søgning",
|
||||||
"exclusion_pattern_description": "Ekskluderingsmønstre lader dig ignorere filer og mapper, når du scanner dit bibliotek. Dette er nyttigt, hvis du har mapper, der indeholder filer, du ikke vil importere, såsom RAW-filer.",
|
"exclusion_pattern_description": "Ekskluderingsmønstre lader dig ignorere filer og mapper, når du scanner dit bibliotek. Dette er nyttigt, hvis du har mapper, der indeholder filer, du ikke vil importere, såsom RAW-filer.",
|
||||||
"external_library_created_at": "Eksternt bibliotek (oprettet {date})",
|
"external_library_created_at": "Eksternt bibliotek (oprettet {date})",
|
||||||
@@ -54,21 +59,20 @@
|
|||||||
"failed_job_command": "Kommando {command} mislykkedes for job: {job}",
|
"failed_job_command": "Kommando {command} mislykkedes for job: {job}",
|
||||||
"force_delete_user_warning": "ADVARSEL: Dette vil øjeblikkeligt fjerne brugeren og alle Billeder/Videoer. Dette kan ikke fortrydes, og filerne kan ikke gendannes.",
|
"force_delete_user_warning": "ADVARSEL: Dette vil øjeblikkeligt fjerne brugeren og alle Billeder/Videoer. Dette kan ikke fortrydes, og filerne kan ikke gendannes.",
|
||||||
"forcing_refresh_library_files": "Tvinger genopfriskning af alle biblioteksfiler",
|
"forcing_refresh_library_files": "Tvinger genopfriskning af alle biblioteksfiler",
|
||||||
|
"image_format": "Format",
|
||||||
"image_format_description": "WebP producerer mindre filer end JPEG, men er langsommere at komprimere.",
|
"image_format_description": "WebP producerer mindre filer end JPEG, men er langsommere at komprimere.",
|
||||||
"image_prefer_embedded_preview": "Foretræk indlejret forhåndsvisning",
|
"image_prefer_embedded_preview": "Foretræk indlejret forhåndsvisning",
|
||||||
"image_prefer_embedded_preview_setting_description": "Brug indlejrede forhåndsvisninger i RAW fotos som input til billedbehandling, når det er tilgængeligt. Dette kan give mere nøjagtige farver for nogle billeder, men kvaliteten af forhåndsvisningen er kameraafhængig, og billedet kan have flere komprimeringsartefakter.",
|
"image_prefer_embedded_preview_setting_description": "Brug indlejrede forhåndsvisninger i RAW fotos som input til billedbehandling, når det er tilgængeligt. Dette kan give mere nøjagtige farver for nogle billeder, men kvaliteten af forhåndsvisningen er kameraafhængig, og billedet kan have flere komprimeringsartefakter.",
|
||||||
"image_prefer_wide_gamut": "Foretrækker bred farveskala",
|
"image_prefer_wide_gamut": "Foretrækker bred farveskala",
|
||||||
"image_prefer_wide_gamut_setting_description": "Brug Display P3 til miniaturebilleder. Dette bevarer billeder med brede farveskalaers dynamik bedre, men billeder kan komme til at se anderledes ud på gamle enheder med en gammel browserversion. sRGB-billeder bliver beholdt som sRGB for at undgå farveskift.",
|
"image_prefer_wide_gamut_setting_description": "Brug Display P3 til miniaturebilleder. Dette bevarer billeder med brede farveskalaers dynamik bedre, men billeder kan komme til at se anderledes ud på gamle enheder med en gammel browserversion. sRGB-billeder bliver beholdt som sRGB for at undgå farveskift.",
|
||||||
"image_preview_format": "Forhåndsvisningsformat",
|
"image_preview_description": "Mellemstørrelse billede med fjernet metadata, der bruges, når du ser en enkelt mediefil og til machine learning",
|
||||||
"image_preview_resolution": "Forhåndsvisnings opløsning",
|
"image_preview_quality_description": "Kvalitet af forhåndsvisning fra 1-100. Højere er bedre, men producerer større filer og kan reducere apprespons. Valg af en lav værdi kan påvirke kvaliteten af machine learning.",
|
||||||
"image_preview_resolution_description": "Bliver brugt når et enkelt billede betragtes og ved maskinlæring. Højere opløsninger kan bevare flere detaljer, men tager længere tid at indkode, har større filstørrelser, og kan gøre appoplevelsen sløvere.",
|
"image_preview_title": "Indstillinger for forhåndsvisning",
|
||||||
"image_quality": "Kvalitet",
|
"image_quality": "Kvalitet",
|
||||||
"image_quality_description": "Billedkvalitet fra 1-100. Højere er bedre for kvaliteten, men producerer større filer. Denne indstilling påvirker forhåndsvisningen og miniaturebillederne.",
|
"image_resolution": "Opløsning",
|
||||||
"image_settings": "Billedindstillinger",
|
"image_settings": "Billedindstillinger",
|
||||||
"image_settings_description": "Administrer kvaliteten og opløsningen af genererede billeder",
|
"image_settings_description": "Administrer kvaliteten og opløsningen af genererede billeder",
|
||||||
"image_thumbnail_format": "Miniatureformat",
|
"image_thumbnail_title": "Thumbnail-indstillinger",
|
||||||
"image_thumbnail_resolution": "Miniature opløsning",
|
|
||||||
"image_thumbnail_resolution_description": "Bruges ved visning af grupper af billeder (hovedtidslinje, albumvisning osv.). Højere opløsninger kan bevare flere detaljer, men det tager længere tid at kode, har større filstørrelser og kan reducere appens reaktionsevne.",
|
|
||||||
"job_concurrency": "{job} samtidighed",
|
"job_concurrency": "{job} samtidighed",
|
||||||
"job_not_concurrency_safe": "Denne opgave er ikke sikker at køre samtidigt med andre.",
|
"job_not_concurrency_safe": "Denne opgave er ikke sikker at køre samtidigt med andre.",
|
||||||
"job_settings": "Jobindstillinger",
|
"job_settings": "Jobindstillinger",
|
||||||
@@ -77,9 +81,6 @@
|
|||||||
"jobs_delayed": "{jobCount, plural, one {# forsinket} other {# forsinkede}}",
|
"jobs_delayed": "{jobCount, plural, one {# forsinket} other {# forsinkede}}",
|
||||||
"jobs_failed": "{jobCount, plural, one {# fejlet} other {# fejlede}}",
|
"jobs_failed": "{jobCount, plural, one {# fejlet} other {# fejlede}}",
|
||||||
"library_created": "Skabte bibliotek: {library}",
|
"library_created": "Skabte bibliotek: {library}",
|
||||||
"library_cron_expression": "Cron-udtryk",
|
|
||||||
"library_cron_expression_description": "Sæt skannings interval ved at bruge cron formatet. For mere information se dokumentation her <link>Crontab Guru</link>",
|
|
||||||
"library_cron_expression_presets": "Cron-udtryksforudindstillinger",
|
|
||||||
"library_deleted": "Bibliotek slettet",
|
"library_deleted": "Bibliotek slettet",
|
||||||
"library_import_path_description": "Angiv en mappe, der skal importeres. Denne mappe, inklusive undermapper, vil blive scannet for billeder og videoer.",
|
"library_import_path_description": "Angiv en mappe, der skal importeres. Denne mappe, inklusive undermapper, vil blive scannet for billeder og videoer.",
|
||||||
"library_scanning": "Periodisk scanning",
|
"library_scanning": "Periodisk scanning",
|
||||||
@@ -198,19 +199,18 @@
|
|||||||
"password_settings": "Adgangskodelogin",
|
"password_settings": "Adgangskodelogin",
|
||||||
"password_settings_description": "Administrer indstillinger for adgangskodelogin",
|
"password_settings_description": "Administrer indstillinger for adgangskodelogin",
|
||||||
"paths_validated_successfully": "Alle stier valideret med succes",
|
"paths_validated_successfully": "Alle stier valideret med succes",
|
||||||
|
"person_cleanup_job": "Person-oprydning",
|
||||||
"quota_size_gib": "Kvotestørrelse (GiB)",
|
"quota_size_gib": "Kvotestørrelse (GiB)",
|
||||||
"refreshing_all_libraries": "Opdaterer alle biblioteker",
|
"refreshing_all_libraries": "Opdaterer alle biblioteker",
|
||||||
"registration": "Administratorregistrering",
|
"registration": "Administratorregistrering",
|
||||||
"registration_description": "Da du er den første bruger i systemet, får du tildelt rollen som administrator og ansvar for administration og oprettelsen af nye brugere.",
|
"registration_description": "Da du er den første bruger i systemet, får du tildelt rollen som administrator og ansvar for administration og oprettelsen af nye brugere.",
|
||||||
"removing_deleted_files": "Fjerner offline-filer",
|
|
||||||
"repair_all": "Reparér alle",
|
"repair_all": "Reparér alle",
|
||||||
"repair_matched_items": "Har parret {count, plural, one {# element} other {# elementer}}",
|
"repair_matched_items": "Har parret {count, plural, one {# element} other {# elementer}}",
|
||||||
"repaired_items": "Reparerede {count, plural, one {# element} other {# elementer}}",
|
"repaired_items": "Reparerede {count, plural, one {# element} other {# elementer}}",
|
||||||
"require_password_change_on_login": "Kræv at brugeren skifter adgangskode ved første login",
|
"require_password_change_on_login": "Kræv at brugeren skifter adgangskode ved første login",
|
||||||
"reset_settings_to_default": "Nulstil indstillingerne til standard",
|
"reset_settings_to_default": "Nulstil indstillingerne til standard",
|
||||||
"reset_settings_to_recent_saved": "Nulstil indstillinger til de senest gemte indstillinger",
|
"reset_settings_to_recent_saved": "Nulstil indstillinger til de senest gemte indstillinger",
|
||||||
"scanning_library_for_changed_files": "Skanner bibliotek efter ændrede filer",
|
"scanning_library": "Scanner bibliotek",
|
||||||
"scanning_library_for_new_files": "Skanner bibliotek efter nye filer",
|
|
||||||
"send_welcome_email": "Send velkomst-email",
|
"send_welcome_email": "Send velkomst-email",
|
||||||
"server_external_domain_settings": "Eksternt domæne",
|
"server_external_domain_settings": "Eksternt domæne",
|
||||||
"server_external_domain_settings_description": "Domæne til offentligt delte links, inklusiv http(s)://",
|
"server_external_domain_settings_description": "Domæne til offentligt delte links, inklusiv http(s)://",
|
||||||
@@ -245,7 +245,6 @@
|
|||||||
"these_files_matched_by_checksum": "Disse filer er blevet matchet med deres checksummer",
|
"these_files_matched_by_checksum": "Disse filer er blevet matchet med deres checksummer",
|
||||||
"thumbnail_generation_job": "Generér miniaturebilleder",
|
"thumbnail_generation_job": "Generér miniaturebilleder",
|
||||||
"thumbnail_generation_job_description": "Generér store, små og slørede miniaturebilleder for hver mediefil, såvel som miniaturebilleder for hver person",
|
"thumbnail_generation_job_description": "Generér store, små og slørede miniaturebilleder for hver mediefil, såvel som miniaturebilleder for hver person",
|
||||||
"transcode_policy_description": "",
|
|
||||||
"transcoding_acceleration_api": "Accelerations-API",
|
"transcoding_acceleration_api": "Accelerations-API",
|
||||||
"transcoding_acceleration_api_description": "API'en som interagerer med din enhed for at accelerere transkodning. Denne er indstilling er \"i bedste fald\": Den vil falde tilbage til software-transkodning ved svigt. VP9 virker måske, måske ikke, afhængigt af dit hardware.",
|
"transcoding_acceleration_api_description": "API'en som interagerer med din enhed for at accelerere transkodning. Denne er indstilling er \"i bedste fald\": Den vil falde tilbage til software-transkodning ved svigt. VP9 virker måske, måske ikke, afhængigt af dit hardware.",
|
||||||
"transcoding_acceleration_nvenc": "NVENC (kræver NVIDIA GPU)",
|
"transcoding_acceleration_nvenc": "NVENC (kræver NVIDIA GPU)",
|
||||||
@@ -297,8 +296,6 @@
|
|||||||
"transcoding_threads_description": "Højere værdier medfører hurtigere indkodning, men efterlader mindre plads til at serveren kan foretage andre opgaver når aktiv. Denne værdi bør ikke være større end antallet af CPU-kerner. Maksimerer udnyttelse hvis sat til 0.",
|
"transcoding_threads_description": "Højere værdier medfører hurtigere indkodning, men efterlader mindre plads til at serveren kan foretage andre opgaver når aktiv. Denne værdi bør ikke være større end antallet af CPU-kerner. Maksimerer udnyttelse hvis sat til 0.",
|
||||||
"transcoding_tone_mapping": "Tone-kortlægning",
|
"transcoding_tone_mapping": "Tone-kortlægning",
|
||||||
"transcoding_tone_mapping_description": "Forsøger at bevare HDR-videoers udseende når konverteret til SDR. Hver algoritme har forskellige afvejninger af farve, detalje og lysstyrke. Hable bevarer farve og Reinhard bevarer lysstyrke.",
|
"transcoding_tone_mapping_description": "Forsøger at bevare HDR-videoers udseende når konverteret til SDR. Hver algoritme har forskellige afvejninger af farve, detalje og lysstyrke. Hable bevarer farve og Reinhard bevarer lysstyrke.",
|
||||||
"transcoding_tone_mapping_npl": "Tone-kortlægning NPL",
|
|
||||||
"transcoding_tone_mapping_npl_description": "Farver vil blive justeret til at se normale ud for en skærm med denne lysstyrke. Ulogisk nok øger lavere værdier videoens lysstyrke og omvendt, siden det kompenserer for skærmens lysstyrke. 0 sætter debbe værdi automatisk.",
|
|
||||||
"transcoding_transcode_policy": "Transkodningspolitik",
|
"transcoding_transcode_policy": "Transkodningspolitik",
|
||||||
"transcoding_transcode_policy_description": "Politik for hvornår en video skal transkodes. HDR videoer vil altid blive transkodet (bortset fra, hvis transkodning er slået fra).",
|
"transcoding_transcode_policy_description": "Politik for hvornår en video skal transkodes. HDR videoer vil altid blive transkodet (bortset fra, hvis transkodning er slået fra).",
|
||||||
"transcoding_two_pass_encoding": "To-omgangsindkodning",
|
"transcoding_two_pass_encoding": "To-omgangsindkodning",
|
||||||
@@ -312,6 +309,7 @@
|
|||||||
"trash_settings_description": "Administrér skraldeindstillinger",
|
"trash_settings_description": "Administrér skraldeindstillinger",
|
||||||
"untracked_files": "Utrackede filer",
|
"untracked_files": "Utrackede filer",
|
||||||
"untracked_files_description": "Applikationen holder ikke styr på disse filer. De kan være resultatet af mislykkede flytninger, afbrudte uploads eller være efterladt på grund af en fejl",
|
"untracked_files_description": "Applikationen holder ikke styr på disse filer. De kan være resultatet af mislykkede flytninger, afbrudte uploads eller være efterladt på grund af en fejl",
|
||||||
|
"user_cleanup_job": "Bruger-oprydning",
|
||||||
"user_delete_delay": "<b>{user}</b>'s konto og mediefiler vil blive planlagt til permanent sletning om {delay, plural, one {# dag} other {# dage}}.",
|
"user_delete_delay": "<b>{user}</b>'s konto og mediefiler vil blive planlagt til permanent sletning om {delay, plural, one {# dag} other {# dage}}.",
|
||||||
"user_delete_delay_settings": "Slet forsinkelse",
|
"user_delete_delay_settings": "Slet forsinkelse",
|
||||||
"user_delete_delay_settings_description": "Antal dage efter fjernelse for permanent at slette en brugers konto og mediefiler. Opgaven for sletning af brugere kører ved midnat for at tjekke efter brugere, der er klar til sletning. Ændringer i denne indstilling vil blive evalueret ved næste udførelse.",
|
"user_delete_delay_settings_description": "Antal dage efter fjernelse for permanent at slette en brugers konto og mediefiler. Opgaven for sletning af brugere kører ved midnat for at tjekke efter brugere, der er klar til sletning. Ændringer i denne indstilling vil blive evalueret ved næste udførelse.",
|
||||||
@@ -356,6 +354,7 @@
|
|||||||
"album_updated_setting_description": "Modtag en emailnotifikation når et delt album får nye mediefiler",
|
"album_updated_setting_description": "Modtag en emailnotifikation når et delt album får nye mediefiler",
|
||||||
"album_user_left": "Forlod {album}",
|
"album_user_left": "Forlod {album}",
|
||||||
"album_user_removed": "Fjernede {user}",
|
"album_user_removed": "Fjernede {user}",
|
||||||
|
"album_with_link_access": "Lad alle med linket se billeder og personer i dette album.",
|
||||||
"albums": "Albummer",
|
"albums": "Albummer",
|
||||||
"albums_count": "{count, plural, one {{count, number} Album} other {{count, number} Albummer}}",
|
"albums_count": "{count, plural, one {{count, number} Album} other {{count, number} Albummer}}",
|
||||||
"all": "Alt",
|
"all": "Alt",
|
||||||
@@ -377,8 +376,17 @@
|
|||||||
"archive_or_unarchive_photo": "Arkivér eller dearkivér billede",
|
"archive_or_unarchive_photo": "Arkivér eller dearkivér billede",
|
||||||
"archive_size": "Arkiv størelse",
|
"archive_size": "Arkiv størelse",
|
||||||
"archive_size_description": "Konfigurer arkivstørrelsen for downloads (i GiB)",
|
"archive_size_description": "Konfigurer arkivstørrelsen for downloads (i GiB)",
|
||||||
"archived": "Arkiveret",
|
"are_these_the_same_person": "Er disse den samme person?",
|
||||||
|
"are_you_sure_to_do_this": "Er du sikker på, at du vil gøre det her?",
|
||||||
|
"asset_added_to_album": "Tilføjet til album",
|
||||||
|
"asset_adding_to_album": "Tilføjer til album...",
|
||||||
|
"asset_description_updated": "Mediefilsbeskrivelse er blevet opdateret",
|
||||||
|
"asset_filename_is_offline": "Mediefil {filename} er offline",
|
||||||
"asset_offline": "Mediefil offline",
|
"asset_offline": "Mediefil offline",
|
||||||
|
"asset_offline_description": "Denne eksterne mediefil kan ikke længere findes på drevet. Kontakt venligst din Immich-administrator for hjælp.",
|
||||||
|
"asset_skipped": "Sprunget over",
|
||||||
|
"asset_uploaded": "Uploaded",
|
||||||
|
"asset_uploading": "Uploader...",
|
||||||
"assets": "elementer",
|
"assets": "elementer",
|
||||||
"authorized_devices": "Tilladte enheder",
|
"authorized_devices": "Tilladte enheder",
|
||||||
"back": "Tilbage",
|
"back": "Tilbage",
|
||||||
@@ -389,6 +397,7 @@
|
|||||||
"build_image": "Byggefil",
|
"build_image": "Byggefil",
|
||||||
"bulk_delete_duplicates_confirmation": "Er du sikker på, at du vil slette alle {count, plural, one {# duplicate asset} other {# duplicate assets}}? Dette vil beholde den største fil i hver gruppe og slette alle dubletter. Denne handling kan ikke fortrydes!",
|
"bulk_delete_duplicates_confirmation": "Er du sikker på, at du vil slette alle {count, plural, one {# duplicate asset} other {# duplicate assets}}? Dette vil beholde den største fil i hver gruppe og slette alle dubletter. Denne handling kan ikke fortrydes!",
|
||||||
"bulk_keep_duplicates_confirmation": "Er du sikker på, at du vil beholde {count, plural, one {# duplicate asset} other {# duplicate assets}}? Dette vil løse alle dubletgrupper uden at slette noget.",
|
"bulk_keep_duplicates_confirmation": "Er du sikker på, at du vil beholde {count, plural, one {# duplicate asset} other {# duplicate assets}}? Dette vil løse alle dubletgrupper uden at slette noget.",
|
||||||
|
"buy": "Køb Immich",
|
||||||
"camera": "Kamera",
|
"camera": "Kamera",
|
||||||
"camera_brand": "Kameramærke",
|
"camera_brand": "Kameramærke",
|
||||||
"camera_model": "Kameramodel",
|
"camera_model": "Kameramodel",
|
||||||
@@ -397,10 +406,6 @@
|
|||||||
"cannot_merge_people": "Kan ikke sammenflette personer",
|
"cannot_merge_people": "Kan ikke sammenflette personer",
|
||||||
"cannot_undo_this_action": "Du kan ikke fortryde denne handling!",
|
"cannot_undo_this_action": "Du kan ikke fortryde denne handling!",
|
||||||
"cannot_update_the_description": "Kan ikke opdatere beskrivelsen",
|
"cannot_update_the_description": "Kan ikke opdatere beskrivelsen",
|
||||||
"cant_apply_changes": "Kan ikke anvende ændringer",
|
|
||||||
"cant_get_faces": "Kan ikke hente ansigter",
|
|
||||||
"cant_search_people": "Kan ikke søge i personer",
|
|
||||||
"cant_search_places": "Kan ikke søge i steder",
|
|
||||||
"change_date": "Ændr dato",
|
"change_date": "Ændr dato",
|
||||||
"change_expiration_time": "Ændr udløbstidspunkt",
|
"change_expiration_time": "Ændr udløbstidspunkt",
|
||||||
"change_location": "Ændr sted",
|
"change_location": "Ændr sted",
|
||||||
@@ -425,7 +430,9 @@
|
|||||||
"collapse_all": "Klap alle sammen",
|
"collapse_all": "Klap alle sammen",
|
||||||
"color": "Farve",
|
"color": "Farve",
|
||||||
"color_theme": "Farvetema",
|
"color_theme": "Farvetema",
|
||||||
|
"comment_deleted": "Kommentar slettet",
|
||||||
"comment_options": "Kommentarindstillinger",
|
"comment_options": "Kommentarindstillinger",
|
||||||
|
"comments_and_likes": "Kommentarer og likes",
|
||||||
"comments_are_disabled": "Kommentarer er slået fra",
|
"comments_are_disabled": "Kommentarer er slået fra",
|
||||||
"confirm": "Bekræft",
|
"confirm": "Bekræft",
|
||||||
"confirm_admin_password": "Bekræft administratoradgangskode",
|
"confirm_admin_password": "Bekræft administratoradgangskode",
|
||||||
@@ -481,6 +488,7 @@
|
|||||||
"direction": "Retning",
|
"direction": "Retning",
|
||||||
"disabled": "Deaktiveret",
|
"disabled": "Deaktiveret",
|
||||||
"disallow_edits": "Deaktivér redigeringer",
|
"disallow_edits": "Deaktivér redigeringer",
|
||||||
|
"discord": "Discord",
|
||||||
"discover": "Opdag",
|
"discover": "Opdag",
|
||||||
"dismiss_all_errors": "Afvis alle fejl",
|
"dismiss_all_errors": "Afvis alle fejl",
|
||||||
"dismiss_error": "Afvis fejl",
|
"dismiss_error": "Afvis fejl",
|
||||||
@@ -488,6 +496,7 @@
|
|||||||
"display_order": "Display-rækkefølge",
|
"display_order": "Display-rækkefølge",
|
||||||
"display_original_photos": "Vis originale billeder",
|
"display_original_photos": "Vis originale billeder",
|
||||||
"display_original_photos_setting_description": "Foretræk at vise det originale billede frem for miniaturebilleder når den originale fil er web-kompatibelt. Dette kan gøre billedvisning langsommere.",
|
"display_original_photos_setting_description": "Foretræk at vise det originale billede frem for miniaturebilleder når den originale fil er web-kompatibelt. Dette kan gøre billedvisning langsommere.",
|
||||||
|
"do_not_show_again": "Vis ikke denne besked igen",
|
||||||
"done": "Færdig",
|
"done": "Færdig",
|
||||||
"download": "Hent",
|
"download": "Hent",
|
||||||
"download_settings": "Download",
|
"download_settings": "Download",
|
||||||
@@ -495,13 +504,7 @@
|
|||||||
"downloading": "Downloader",
|
"downloading": "Downloader",
|
||||||
"duplicates": "Duplikater",
|
"duplicates": "Duplikater",
|
||||||
"duration": "Varighed",
|
"duration": "Varighed",
|
||||||
"durations": {
|
"edit": "Rediger",
|
||||||
"days": "{days, plural, one {dag} other {{days, number} dage}}",
|
|
||||||
"hours": "{hours, plural, one {time} other {{hours, number} timer}}",
|
|
||||||
"minutes": "{minutes, plural, one {minut} other {{minutes, number} minutter}}",
|
|
||||||
"months": "{months, plural, one {måned} other {{months, number} måneder}}",
|
|
||||||
"years": "{years, plural, one {år} other {{years, number} år}}"
|
|
||||||
},
|
|
||||||
"edit_album": "Redigér album",
|
"edit_album": "Redigér album",
|
||||||
"edit_avatar": "Redigér avatar",
|
"edit_avatar": "Redigér avatar",
|
||||||
"edit_date": "Redigér dato",
|
"edit_date": "Redigér dato",
|
||||||
@@ -519,21 +522,40 @@
|
|||||||
"edit_user": "Redigér bruger",
|
"edit_user": "Redigér bruger",
|
||||||
"edited": "Redigeret",
|
"edited": "Redigeret",
|
||||||
"editor": "Redaktør",
|
"editor": "Redaktør",
|
||||||
|
"editor_close_without_save_prompt": "Ændringerne vil ikke blive gemt",
|
||||||
|
"editor_close_without_save_title": "Luk editor?",
|
||||||
|
"editor_crop_tool_h2_rotation": "Rotation",
|
||||||
"email": "E-mail",
|
"email": "E-mail",
|
||||||
"empty": "",
|
|
||||||
"empty_album": "Tomt album",
|
|
||||||
"empty_trash": "Tøm papirkurv",
|
"empty_trash": "Tøm papirkurv",
|
||||||
"enable": "Aktivér",
|
"enable": "Aktivér",
|
||||||
"enabled": "Aktiveret",
|
"enabled": "Aktiveret",
|
||||||
"end_date": "Slutdato",
|
"end_date": "Slutdato",
|
||||||
"error": "Fejl",
|
"error": "Fejl",
|
||||||
"error_loading_image": "Fejl ved indlæsning af billede",
|
"error_loading_image": "Fejl ved indlæsning af billede",
|
||||||
|
"error_title": "Fejl - Noget gik galt",
|
||||||
"errors": {
|
"errors": {
|
||||||
|
"cannot_navigate_next_asset": "Kan ikke navigere til næste mediefil",
|
||||||
|
"cannot_navigate_previous_asset": "Kan ikke navigere til forrige mediefil",
|
||||||
"cleared_jobs": "Ryddede opgaver for: {job}",
|
"cleared_jobs": "Ryddede opgaver for: {job}",
|
||||||
|
"error_adding_assets_to_album": "Fejl i tilføjelse af mediefiler til album",
|
||||||
|
"error_adding_users_to_album": "Fejl i tilføjelse af brugere til album",
|
||||||
|
"error_deleting_shared_user": "Fejl i sletning af delt bruger",
|
||||||
|
"error_downloading": "Fejl i download af {filename}",
|
||||||
|
"error_hiding_buy_button": "Fejl i skjulning af køb-knap",
|
||||||
|
"error_removing_assets_from_album": "Fejl i fjernelse af mediefiler fra album. Tjek konsol for flere detaljer",
|
||||||
"exclusion_pattern_already_exists": "Denne udelukkelsesmønster findes allerede.",
|
"exclusion_pattern_already_exists": "Denne udelukkelsesmønster findes allerede.",
|
||||||
"failed_job_command": "Kommando {command} slog fejl for opgave: {job}",
|
"failed_job_command": "Kommando {command} slog fejl for opgave: {job}",
|
||||||
|
"failed_to_create_album": "Oprettelse af album mislykkedes",
|
||||||
|
"failed_to_create_shared_link": "Oprettelse af delt link mislykkedes",
|
||||||
|
"failed_to_edit_shared_link": "Redigering af delt link mislykkedes",
|
||||||
|
"failed_to_load_asset": "Indlæsning af mediefil mislykkedes",
|
||||||
|
"failed_to_load_assets": "Indlæsning af mediefiler mislykkedes",
|
||||||
|
"failed_to_load_people": "Indlæsning af personer mislykkedes",
|
||||||
|
"failed_to_remove_product_key": "Fjernelse af produktnøgle mislykkedes",
|
||||||
"import_path_already_exists": "Denne importsti findes allerede.",
|
"import_path_already_exists": "Denne importsti findes allerede.",
|
||||||
|
"incorrect_email_or_password": "Forkert email eller kodeord",
|
||||||
"paths_validation_failed": "{paths, plural, one {# sti} other {# stier}} slog fejl ved validering",
|
"paths_validation_failed": "{paths, plural, one {# sti} other {# stier}} slog fejl ved validering",
|
||||||
|
"profile_picture_transparent_pixels": "Profilbilleder kan ikke have gennemsigtige pixels. Zoom venligst ind og/eller flyt billedet.",
|
||||||
"quota_higher_than_disk_size": "Du har sat en kvote der er større end disken",
|
"quota_higher_than_disk_size": "Du har sat en kvote der er større end disken",
|
||||||
"repair_unable_to_check_items": "Kunne ikke tjekke {count, select, one {element} other {elementer}}",
|
"repair_unable_to_check_items": "Kunne ikke tjekke {count, select, one {element} other {elementer}}",
|
||||||
"unable_to_add_album_users": "Ikke i stand til at tilføje brugere til album",
|
"unable_to_add_album_users": "Ikke i stand til at tilføje brugere til album",
|
||||||
@@ -545,8 +567,6 @@
|
|||||||
"unable_to_change_date": "Ikke i stand til at ændre dato",
|
"unable_to_change_date": "Ikke i stand til at ændre dato",
|
||||||
"unable_to_change_location": "Ikke i stand til at ændre sted",
|
"unable_to_change_location": "Ikke i stand til at ændre sted",
|
||||||
"unable_to_change_password": "Kunne ikke ændre adgangskode",
|
"unable_to_change_password": "Kunne ikke ændre adgangskode",
|
||||||
"unable_to_check_item": "",
|
|
||||||
"unable_to_check_items": "",
|
|
||||||
"unable_to_copy_to_clipboard": "Kan ikke kopiere til udklipsholder, sørg for at du tilgår siden gennem https",
|
"unable_to_copy_to_clipboard": "Kan ikke kopiere til udklipsholder, sørg for at du tilgår siden gennem https",
|
||||||
"unable_to_create_admin_account": "",
|
"unable_to_create_admin_account": "",
|
||||||
"unable_to_create_api_key": "Kunne ikke oprette ny API-nøgle",
|
"unable_to_create_api_key": "Kunne ikke oprette ny API-nøgle",
|
||||||
@@ -554,6 +574,7 @@
|
|||||||
"unable_to_create_user": "Ikke i stand til at oprette bruger",
|
"unable_to_create_user": "Ikke i stand til at oprette bruger",
|
||||||
"unable_to_delete_album": "Ikke i stand til at slette album",
|
"unable_to_delete_album": "Ikke i stand til at slette album",
|
||||||
"unable_to_delete_asset": "Kan ikke slette mediefil",
|
"unable_to_delete_asset": "Kan ikke slette mediefil",
|
||||||
|
"unable_to_delete_assets": "Fejl i sletning af mediefiler",
|
||||||
"unable_to_delete_exclusion_pattern": "Kunne ikke slette udelukkelsesmønster",
|
"unable_to_delete_exclusion_pattern": "Kunne ikke slette udelukkelsesmønster",
|
||||||
"unable_to_delete_import_path": "Kunne ikke slette importsti",
|
"unable_to_delete_import_path": "Kunne ikke slette importsti",
|
||||||
"unable_to_delete_shared_link": "Kunne ikke slette delt link",
|
"unable_to_delete_shared_link": "Kunne ikke slette delt link",
|
||||||
@@ -573,12 +594,10 @@
|
|||||||
"unable_to_refresh_user": "Ikke i stand til at genopfriske bruger",
|
"unable_to_refresh_user": "Ikke i stand til at genopfriske bruger",
|
||||||
"unable_to_remove_album_users": "Ikke i stand til at fjerne brugere fra album",
|
"unable_to_remove_album_users": "Ikke i stand til at fjerne brugere fra album",
|
||||||
"unable_to_remove_api_key": "Kunne ikke fjerne API-nøgle",
|
"unable_to_remove_api_key": "Kunne ikke fjerne API-nøgle",
|
||||||
"unable_to_remove_comment": "",
|
|
||||||
"unable_to_remove_deleted_assets": "Kunne ikke fjerne offlinefiler",
|
"unable_to_remove_deleted_assets": "Kunne ikke fjerne offlinefiler",
|
||||||
"unable_to_remove_library": "Ikke i stand til at fjerne bibliotek",
|
"unable_to_remove_library": "Ikke i stand til at fjerne bibliotek",
|
||||||
"unable_to_remove_partner": "Ikke i stand til at fjerne partner",
|
"unable_to_remove_partner": "Ikke i stand til at fjerne partner",
|
||||||
"unable_to_remove_reaction": "Ikke i stand til at reaktion",
|
"unable_to_remove_reaction": "Ikke i stand til at reaktion",
|
||||||
"unable_to_remove_user": "",
|
|
||||||
"unable_to_repair_items": "Ikke i stand til at reparere ting",
|
"unable_to_repair_items": "Ikke i stand til at reparere ting",
|
||||||
"unable_to_reset_password": "Ikke i stand til at nulstille adgangskode",
|
"unable_to_reset_password": "Ikke i stand til at nulstille adgangskode",
|
||||||
"unable_to_resolve_duplicate": "Kunne ikke opklare duplikat",
|
"unable_to_resolve_duplicate": "Kunne ikke opklare duplikat",
|
||||||
@@ -602,52 +621,51 @@
|
|||||||
"unable_to_update_timeline_display_status": "Kunne ikke opdate status for tidslinjevisning",
|
"unable_to_update_timeline_display_status": "Kunne ikke opdate status for tidslinjevisning",
|
||||||
"unable_to_update_user": "Ikke i stand til at opdatere bruger"
|
"unable_to_update_user": "Ikke i stand til at opdatere bruger"
|
||||||
},
|
},
|
||||||
"every_day_at_onepm": "",
|
"exif": "Exif",
|
||||||
"every_night_at_midnight": "",
|
|
||||||
"every_night_at_twoam": "",
|
|
||||||
"every_six_hours": "",
|
|
||||||
"exit_slideshow": "Forlad slideshow",
|
"exit_slideshow": "Forlad slideshow",
|
||||||
"expand_all": "Udvid alle",
|
"expand_all": "Udvid alle",
|
||||||
"expire_after": "Udløb efter",
|
"expire_after": "Udløb efter",
|
||||||
"expired": "Udløbet",
|
"expired": "Udløbet",
|
||||||
|
"expires_date": "Udløber {date}",
|
||||||
"explore": "Udforsk",
|
"explore": "Udforsk",
|
||||||
"export": "Eksportér",
|
"export": "Eksportér",
|
||||||
"export_as_json": "Eksportér som JSON",
|
"export_as_json": "Eksportér som JSON",
|
||||||
"extension": "Udvidelse",
|
"extension": "Udvidelse",
|
||||||
"external": "Ekstern",
|
"external": "Ekstern",
|
||||||
"external_libraries": "Eksterne biblioteker",
|
"external_libraries": "Eksterne biblioteker",
|
||||||
"failed_to_get_people": "At hente personer slog fejl",
|
|
||||||
"favorite": "Favorit",
|
"favorite": "Favorit",
|
||||||
"favorite_or_unfavorite_photo": "Tilføj eller fjern fra yndlingsbilleder",
|
"favorite_or_unfavorite_photo": "Tilføj eller fjern fra yndlingsbilleder",
|
||||||
"favorites": "Favoritter",
|
"favorites": "Favoritter",
|
||||||
"feature": "",
|
|
||||||
"feature_photo_updated": "Forsidebillede uploadet",
|
"feature_photo_updated": "Forsidebillede uploadet",
|
||||||
"featurecollection": "",
|
"features": "Funktioner",
|
||||||
|
"features_setting_description": "Administrer app-funktioner",
|
||||||
"file_name": "Filnavn",
|
"file_name": "Filnavn",
|
||||||
"file_name_or_extension": "Filnavn eller filtype",
|
"file_name_or_extension": "Filnavn eller filtype",
|
||||||
"filename": "Filnavn",
|
"filename": "Filnavn",
|
||||||
"files": "",
|
|
||||||
"filetype": "Filtype",
|
"filetype": "Filtype",
|
||||||
"filter_people": "Filtrér personer",
|
"filter_people": "Filtrér personer",
|
||||||
"find_them_fast": "Find dem hurtigt med søgning via navn",
|
"find_them_fast": "Find dem hurtigt med søgning via navn",
|
||||||
"fix_incorrect_match": "Fix forkert match",
|
"fix_incorrect_match": "Fix forkert match",
|
||||||
"force_re-scan_library_files": "Tving genskanning af alle biblioteksfiler",
|
"folders": "Mapper",
|
||||||
"forward": "Fremad",
|
"forward": "Fremad",
|
||||||
"general": "Generel",
|
"general": "Generel",
|
||||||
"get_help": "Få hjælp",
|
"get_help": "Få hjælp",
|
||||||
"getting_started": "Kom godt i gang",
|
"getting_started": "Kom godt i gang",
|
||||||
"go_back": "Gå tilbage",
|
"go_back": "Gå tilbage",
|
||||||
"go_to_search": "Gå til søgning",
|
"go_to_search": "Gå til søgning",
|
||||||
"go_to_share_page": "Gå til delingsside",
|
|
||||||
"group_albums_by": "Gruppér albummer efter...",
|
"group_albums_by": "Gruppér albummer efter...",
|
||||||
|
"group_no": "Ingen gruppering",
|
||||||
"has_quota": "Har kvote",
|
"has_quota": "Har kvote",
|
||||||
|
"hi_user": "Hej {name} ({email})",
|
||||||
|
"hide_all_people": "Skjul alle personer",
|
||||||
"hide_gallery": "Gem galleri",
|
"hide_gallery": "Gem galleri",
|
||||||
|
"hide_named_person": "Skjul person {name}",
|
||||||
"hide_password": "Gem adgangskode",
|
"hide_password": "Gem adgangskode",
|
||||||
"hide_person": "Gem person",
|
"hide_person": "Gem person",
|
||||||
|
"hide_unnamed_people": "Skjul unavngivne personer",
|
||||||
"host": "Host",
|
"host": "Host",
|
||||||
"hour": "Time",
|
"hour": "Time",
|
||||||
"image": "Billede",
|
"image": "Billede",
|
||||||
"img": "",
|
|
||||||
"immich_logo": "Immich logo",
|
"immich_logo": "Immich logo",
|
||||||
"immich_web_interface": "Immich webinterface",
|
"immich_web_interface": "Immich webinterface",
|
||||||
"import_from_json": "Importér fra JSON",
|
"import_from_json": "Importér fra JSON",
|
||||||
@@ -666,13 +684,14 @@
|
|||||||
},
|
},
|
||||||
"invite_people": "Inviter personer",
|
"invite_people": "Inviter personer",
|
||||||
"invite_to_album": "Inviter til album",
|
"invite_to_album": "Inviter til album",
|
||||||
"job_settings_description": "",
|
|
||||||
"jobs": "Opgaver",
|
"jobs": "Opgaver",
|
||||||
"keep": "Behold",
|
"keep": "Behold",
|
||||||
|
"keep_all": "Behold alle",
|
||||||
"keyboard_shortcuts": "Tastaturgenveje",
|
"keyboard_shortcuts": "Tastaturgenveje",
|
||||||
"language": "Sprog",
|
"language": "Sprog",
|
||||||
"language_setting_description": "Vælg dit foretrukne sprog",
|
"language_setting_description": "Vælg dit foretrukne sprog",
|
||||||
"last_seen": "Sidst set",
|
"last_seen": "Sidst set",
|
||||||
|
"latest_version": "Seneste version",
|
||||||
"leave": "Forlad",
|
"leave": "Forlad",
|
||||||
"let_others_respond": "Lad andre svare",
|
"let_others_respond": "Lad andre svare",
|
||||||
"level": "Niveau",
|
"level": "Niveau",
|
||||||
@@ -687,7 +706,12 @@
|
|||||||
"loading_search_results_failed": "At loade søgeresultater slog fejl",
|
"loading_search_results_failed": "At loade søgeresultater slog fejl",
|
||||||
"log_out": "Log ud",
|
"log_out": "Log ud",
|
||||||
"log_out_all_devices": "Log ud af alle enheder",
|
"log_out_all_devices": "Log ud af alle enheder",
|
||||||
|
"logged_out_all_devices": "Logget ud af alle enheder",
|
||||||
|
"logged_out_device": "Logget ud af enhed",
|
||||||
|
"login": "Log ind",
|
||||||
"login_has_been_disabled": "Login er blevet deaktiveret.",
|
"login_has_been_disabled": "Login er blevet deaktiveret.",
|
||||||
|
"logout_all_device_confirmation": "Er du sikker på, at du vil logge ud af alle enheder?",
|
||||||
|
"logout_this_device_confirmation": "Er du sikker på, at du vil logge denne enhed ud?",
|
||||||
"look": "Kig",
|
"look": "Kig",
|
||||||
"loop_videos": "Gentag videoer",
|
"loop_videos": "Gentag videoer",
|
||||||
"loop_videos_description": "Aktivér for at genafspille videoer automatisk i detaljeret visning.",
|
"loop_videos_description": "Aktivér for at genafspille videoer automatisk i detaljeret visning.",
|
||||||
@@ -721,15 +745,19 @@
|
|||||||
"name": "Navn",
|
"name": "Navn",
|
||||||
"name_or_nickname": "Navn eller kælenavn",
|
"name_or_nickname": "Navn eller kælenavn",
|
||||||
"never": "aldrig",
|
"never": "aldrig",
|
||||||
|
"new_album": "Nyt album",
|
||||||
"new_api_key": "Ny API-nøgle",
|
"new_api_key": "Ny API-nøgle",
|
||||||
"new_password": "Ny adgangskode",
|
"new_password": "Ny adgangskode",
|
||||||
"new_person": "Ny person",
|
"new_person": "Ny person",
|
||||||
"new_user_created": "Ny bruger oprettet",
|
"new_user_created": "Ny bruger oprettet",
|
||||||
|
"new_version_available": "NY VERSION TILGÆNGELIG",
|
||||||
"newest_first": "Nyeste først",
|
"newest_first": "Nyeste først",
|
||||||
"next": "Næste",
|
"next": "Næste",
|
||||||
"next_memory": "Næste minde",
|
"next_memory": "Næste minde",
|
||||||
"no": "Nej",
|
"no": "Nej",
|
||||||
"no_albums_message": "Opret et album for at organisere dine billeder og videoer",
|
"no_albums_message": "Opret et album for at organisere dine billeder og videoer",
|
||||||
|
"no_albums_with_name_yet": "Det ser ud til, at du ikke har noget album med dette navn endnu.",
|
||||||
|
"no_albums_yet": "Det ser ud til, at du ikke har nogen album endnu.",
|
||||||
"no_archived_assets_message": "Arkivér billeder og fotos for at gemme dem væk fra dit Billed-view",
|
"no_archived_assets_message": "Arkivér billeder og fotos for at gemme dem væk fra dit Billed-view",
|
||||||
"no_assets_message": "KLIK FOR AT UPLOADE DIT FØRSTE BILLEDE",
|
"no_assets_message": "KLIK FOR AT UPLOADE DIT FØRSTE BILLEDE",
|
||||||
"no_duplicates_found": "Ingen duplikater fundet.",
|
"no_duplicates_found": "Ingen duplikater fundet.",
|
||||||
@@ -740,6 +768,7 @@
|
|||||||
"no_name": "Intet navn",
|
"no_name": "Intet navn",
|
||||||
"no_places": "Ingen steder",
|
"no_places": "Ingen steder",
|
||||||
"no_results": "Ingen resultater",
|
"no_results": "Ingen resultater",
|
||||||
|
"no_results_description": "Prøv et synonym eller et mere generelt søgeord",
|
||||||
"no_shared_albums_message": "Opret et album for at dele billeder og videoer med personer i dit netværk",
|
"no_shared_albums_message": "Opret et album for at dele billeder og videoer med personer i dit netværk",
|
||||||
"not_in_any_album": "Ikke i noget album",
|
"not_in_any_album": "Ikke i noget album",
|
||||||
"note_apply_storage_label_to_previously_uploaded assets": "Bemærk: For at anvende Lagringsmærkat på tidligere uploadede medier, kør",
|
"note_apply_storage_label_to_previously_uploaded assets": "Bemærk: For at anvende Lagringsmærkat på tidligere uploadede medier, kør",
|
||||||
@@ -749,17 +778,23 @@
|
|||||||
"notifications": "Notifikationer",
|
"notifications": "Notifikationer",
|
||||||
"notifications_setting_description": "Administrér notifikationer",
|
"notifications_setting_description": "Administrér notifikationer",
|
||||||
"oauth": "OAuth",
|
"oauth": "OAuth",
|
||||||
|
"official_immich_resources": "Officielle Immich-ressourcer",
|
||||||
"offline": "Offline",
|
"offline": "Offline",
|
||||||
"offline_paths": "Offline-stier",
|
"offline_paths": "Offline-stier",
|
||||||
"offline_paths_description": "Disse resultater kan være på grund af manuel sletning af filer, som ikke er en del af et eksternt bibliotek.",
|
"offline_paths_description": "Disse resultater kan være på grund af manuel sletning af filer, som ikke er en del af et eksternt bibliotek.",
|
||||||
"ok": "Ok",
|
"ok": "Ok",
|
||||||
"oldest_first": "Ældste først",
|
"oldest_first": "Ældste først",
|
||||||
|
"onboarding_privacy_description": "Følgende (valgfrie) funktioner er afhængige af eksterne tjenester, og kan til enhver tid deaktiveres i administrationsindstillingerne.",
|
||||||
|
"onboarding_welcome_user": "Velkommen, {user}",
|
||||||
"online": "Online",
|
"online": "Online",
|
||||||
"only_favorites": "Kun favoritter",
|
"only_favorites": "Kun favoritter",
|
||||||
"only_refreshes_modified_files": "Kun genopfrisk ændrede filer",
|
"open_in_map_view": "Åben i kortvisning",
|
||||||
|
"open_in_openstreetmap": "Åben i OpenStreetMap",
|
||||||
"open_the_search_filters": "Åbn søgefiltre",
|
"open_the_search_filters": "Åbn søgefiltre",
|
||||||
"options": "Handlinger",
|
"options": "Handlinger",
|
||||||
|
"or": "eller",
|
||||||
"organize_your_library": "Organisér dit bibliotek",
|
"organize_your_library": "Organisér dit bibliotek",
|
||||||
|
"original": "original",
|
||||||
"other": "Andet",
|
"other": "Andet",
|
||||||
"other_devices": "Andre enheder",
|
"other_devices": "Andre enheder",
|
||||||
"other_variables": "Andre variable",
|
"other_variables": "Andre variable",
|
||||||
@@ -787,11 +822,11 @@
|
|||||||
"pending": "Afventer",
|
"pending": "Afventer",
|
||||||
"people": "Personer",
|
"people": "Personer",
|
||||||
"people_sidebar_description": "Vis et link til Personer i sidepanelet",
|
"people_sidebar_description": "Vis et link til Personer i sidepanelet",
|
||||||
"perform_library_tasks": "",
|
|
||||||
"permanent_deletion_warning": "Advarsel om permanent sletning",
|
"permanent_deletion_warning": "Advarsel om permanent sletning",
|
||||||
"permanent_deletion_warning_setting_description": "Vis en advarsel, når medier slettes permanent",
|
"permanent_deletion_warning_setting_description": "Vis en advarsel, når medier slettes permanent",
|
||||||
"permanently_delete": "Slet permanent",
|
"permanently_delete": "Slet permanent",
|
||||||
"permanently_deleted_asset": "Permanent slettet medie",
|
"permanently_deleted_asset": "Permanent slettet medie",
|
||||||
|
"person": "Person",
|
||||||
"photos": "Billeder",
|
"photos": "Billeder",
|
||||||
"photos_count": "{count, plural, one {{count, number} Billede} other {{count, number} Billeder}}",
|
"photos_count": "{count, plural, one {{count, number} Billede} other {{count, number} Billeder}}",
|
||||||
"photos_from_previous_years": "Billeder fra tidligere år",
|
"photos_from_previous_years": "Billeder fra tidligere år",
|
||||||
@@ -802,7 +837,6 @@
|
|||||||
"play_memories": "Afspil minder",
|
"play_memories": "Afspil minder",
|
||||||
"play_motion_photo": "Afspil bevægelsesbillede",
|
"play_motion_photo": "Afspil bevægelsesbillede",
|
||||||
"play_or_pause_video": "Afspil eller paus video",
|
"play_or_pause_video": "Afspil eller paus video",
|
||||||
"point": "",
|
|
||||||
"port": "Port",
|
"port": "Port",
|
||||||
"preset": "Forudindstilling",
|
"preset": "Forudindstilling",
|
||||||
"preview": "Forhåndsvisning",
|
"preview": "Forhåndsvisning",
|
||||||
@@ -812,8 +846,6 @@
|
|||||||
"primary": "Primære",
|
"primary": "Primære",
|
||||||
"profile_picture_set": "Profilbillede sat.",
|
"profile_picture_set": "Profilbillede sat.",
|
||||||
"public_share": "Offentlig deling",
|
"public_share": "Offentlig deling",
|
||||||
"range": "",
|
|
||||||
"raw": "",
|
|
||||||
"reaction_options": "Reaktionsindstillinger",
|
"reaction_options": "Reaktionsindstillinger",
|
||||||
"read_changelog": "Læs ændringslog",
|
"read_changelog": "Læs ændringslog",
|
||||||
"recent": "For nylig",
|
"recent": "For nylig",
|
||||||
@@ -836,7 +868,6 @@
|
|||||||
"reset": "Nulstil",
|
"reset": "Nulstil",
|
||||||
"reset_password": "Nulstil adgangskode",
|
"reset_password": "Nulstil adgangskode",
|
||||||
"reset_people_visibility": "Nulstil personsynlighed",
|
"reset_people_visibility": "Nulstil personsynlighed",
|
||||||
"reset_settings_to_default": "",
|
|
||||||
"restore": "Gendan",
|
"restore": "Gendan",
|
||||||
"restore_all": "Gendan alle",
|
"restore_all": "Gendan alle",
|
||||||
"restore_user": "Gendan bruger",
|
"restore_user": "Gendan bruger",
|
||||||
@@ -850,8 +881,6 @@
|
|||||||
"saved_settings": "Gemte indstillinger",
|
"saved_settings": "Gemte indstillinger",
|
||||||
"say_something": "Skriv noget",
|
"say_something": "Skriv noget",
|
||||||
"scan_all_libraries": "Skan gennem alle biblioteker",
|
"scan_all_libraries": "Skan gennem alle biblioteker",
|
||||||
"scan_all_library_files": "Genskan alle biblioteksfiler",
|
|
||||||
"scan_new_library_files": "Skan nye biblioteksfiler",
|
|
||||||
"scan_settings": "Skanningsindstillinger",
|
"scan_settings": "Skanningsindstillinger",
|
||||||
"search": "Søg",
|
"search": "Søg",
|
||||||
"search_albums": "Søg i albummer",
|
"search_albums": "Søg i albummer",
|
||||||
@@ -882,7 +911,6 @@
|
|||||||
"selected": "Valgt",
|
"selected": "Valgt",
|
||||||
"send_message": "Send besked",
|
"send_message": "Send besked",
|
||||||
"send_welcome_email": "Send velkomstemail",
|
"send_welcome_email": "Send velkomstemail",
|
||||||
"server": "Server",
|
|
||||||
"server_stats": "Serverstatus",
|
"server_stats": "Serverstatus",
|
||||||
"set": "Sæt",
|
"set": "Sæt",
|
||||||
"set_as_album_cover": "Sæt som albumcover",
|
"set_as_album_cover": "Sæt som albumcover",
|
||||||
@@ -953,7 +981,6 @@
|
|||||||
"to_favorite": "Gør til favorit",
|
"to_favorite": "Gør til favorit",
|
||||||
"toggle_settings": "Slå indstillinger til eller fra",
|
"toggle_settings": "Slå indstillinger til eller fra",
|
||||||
"toggle_theme": "Slå mørkt tema til eller fra",
|
"toggle_theme": "Slå mørkt tema til eller fra",
|
||||||
"toggle_visibility": "Slå synlighed til eller fra",
|
|
||||||
"total_usage": "Samlet forbrug",
|
"total_usage": "Samlet forbrug",
|
||||||
"trash": "Papirkurv",
|
"trash": "Papirkurv",
|
||||||
"trash_all": "Smid alle ud",
|
"trash_all": "Smid alle ud",
|
||||||
@@ -961,11 +988,9 @@
|
|||||||
"trashed_items_will_be_permanently_deleted_after": "Mediefiler i skraldespanden vil blive slettet permanent efter {days, plural, one {# dag} other {# dage}}.",
|
"trashed_items_will_be_permanently_deleted_after": "Mediefiler i skraldespanden vil blive slettet permanent efter {days, plural, one {# dag} other {# dage}}.",
|
||||||
"type": "Type",
|
"type": "Type",
|
||||||
"unarchive": "Afakivér",
|
"unarchive": "Afakivér",
|
||||||
"unarchived": "Uarkiveret",
|
|
||||||
"unfavorite": "Fjern favorit",
|
"unfavorite": "Fjern favorit",
|
||||||
"unhide_person": "Hold op med at gemme person væk",
|
"unhide_person": "Hold op med at gemme person væk",
|
||||||
"unknown": "Ukendt",
|
"unknown": "Ukendt",
|
||||||
"unknown_album": "Ukendt album",
|
|
||||||
"unknown_year": "Ukendt år",
|
"unknown_year": "Ukendt år",
|
||||||
"unlimited": "Ubegrænset",
|
"unlimited": "Ubegrænset",
|
||||||
"unlink_oauth": "Frakobl OAuth",
|
"unlink_oauth": "Frakobl OAuth",
|
||||||
@@ -999,7 +1024,6 @@
|
|||||||
"view_links": "Vis links",
|
"view_links": "Vis links",
|
||||||
"view_next_asset": "Se næste medie",
|
"view_next_asset": "Se næste medie",
|
||||||
"view_previous_asset": "Se forrige medie",
|
"view_previous_asset": "Se forrige medie",
|
||||||
"viewer": "Viewer",
|
|
||||||
"waiting": "Venter",
|
"waiting": "Venter",
|
||||||
"week": "Uge",
|
"week": "Uge",
|
||||||
"welcome": "Velkommen",
|
"welcome": "Velkommen",
|
||||||
@@ -1,5 +1,5 @@
|
|||||||
{
|
{
|
||||||
"about": "Über Immich",
|
"about": "Aktualisieren",
|
||||||
"account": "Konto",
|
"account": "Konto",
|
||||||
"account_settings": "Kontoeinstellungen",
|
"account_settings": "Kontoeinstellungen",
|
||||||
"acknowledge": "Bestätigen",
|
"acknowledge": "Bestätigen",
|
||||||
@@ -28,31 +28,37 @@
|
|||||||
"added_to_favorites_count": "{count, number} zu Favoriten hinzugefügt",
|
"added_to_favorites_count": "{count, number} zu Favoriten hinzugefügt",
|
||||||
"admin": {
|
"admin": {
|
||||||
"add_exclusion_pattern_description": "Ausschlussmuster hinzufügen. Platzhalter, wie *, **, und ? werden unterstützt. Um alle Dateien in einem Verzeichnis namens „Raw\" zu ignorieren, „**/Raw/**“ verwenden. Um alle Dateien zu ignorieren, die auf „.tif“ enden, „**/*.tif“ verwenden. Um einen absoluten Pfad zu ignorieren, „/pfad/zum/ignorieren/**“ verwenden.",
|
"add_exclusion_pattern_description": "Ausschlussmuster hinzufügen. Platzhalter, wie *, **, und ? werden unterstützt. Um alle Dateien in einem Verzeichnis namens „Raw\" zu ignorieren, „**/Raw/**“ verwenden. Um alle Dateien zu ignorieren, die auf „.tif“ enden, „**/*.tif“ verwenden. Um einen absoluten Pfad zu ignorieren, „/pfad/zum/ignorieren/**“ verwenden.",
|
||||||
"asset_offline_description": "Diese Datei einer externen Bibliotheks befindet sich nicht mehr auf der Festplatte und wurde in den Papierkorb verschoben. Wenn die Datei innerhalb der Bibliothek verschoben wurde, überprüfe deine Zeitleiste auf die neue entsprechende Datei. Um diese Datei wiederherzustellen, stelle bitte sicher, dass Immich auf den unten stehenden Dateipfad zugreifen und die Bibliothek scannen kann.",
|
"asset_offline_description": "Diese Datei einer externen Bibliothek befindet sich nicht mehr auf der Festplatte und wurde in den Papierkorb verschoben. Falls die Datei innerhalb der Bibliothek verschoben wurde, überprüfe deine Zeitleiste auf die neue entsprechende Datei. Um diese Datei wiederherzustellen, stelle bitte sicher, dass Immich auf den unten stehenden Dateipfad zugreifen kann und scanne die Bibliothek.",
|
||||||
"authentication_settings": "Authentifizierungseinstellungen",
|
"authentication_settings": "Authentifizierungseinstellungen",
|
||||||
"authentication_settings_description": "Passwort-, OAuth- und sonstigen Authentifizierungseinstellungen verwalten",
|
"authentication_settings_description": "Passwort-, OAuth- und sonstigen Authentifizierungseinstellungen verwalten",
|
||||||
"authentication_settings_disable_all": "Bist du sicher, dass du alle Anmeldemethoden deaktivieren willst? Die Anmeldung wird vollständig deaktiviert.",
|
"authentication_settings_disable_all": "Bist du sicher, dass du alle Anmeldemethoden deaktivieren willst? Die Anmeldung wird vollständig deaktiviert.",
|
||||||
"authentication_settings_reenable": "Nutze einen <link>Server-Befehl</link> zur Reaktivierung.",
|
"authentication_settings_reenable": "Nutze einen <link>Server-Befehl</link> zur Reaktivierung.",
|
||||||
"background_task_job": "Hintergrund-Aufgaben",
|
"background_task_job": "Hintergrund-Aufgaben",
|
||||||
|
"backup_database": "Datenbank sichern",
|
||||||
|
"backup_database_enable_description": "Sicherung der Datenbank aktivieren",
|
||||||
|
"backup_keep_last_amount": "Anzahl der aufzubewahrenden früheren Sicherungen",
|
||||||
|
"backup_settings": "Datensicherungs-Einstellungen",
|
||||||
|
"backup_settings_description": "Datensicherungs-Einstellungen verwalten",
|
||||||
"check_all": "Alle überprüfen",
|
"check_all": "Alle überprüfen",
|
||||||
"cleared_jobs": "Folgende Aufgaben zurückgesetzt: {job}",
|
"cleared_jobs": "Folgende Aufgaben zurückgesetzt: {job}",
|
||||||
"config_set_by_file": "Ist derzeit in einer Konfigurationsdatei festgelegt",
|
"config_set_by_file": "Ist derzeit in einer Konfigurationsdatei festgelegt",
|
||||||
"confirm_delete_library": "Bist du sicher, dass du die Bibliothek {library} löschen willst?",
|
"confirm_delete_library": "Bist du sicher, dass du die Bibliothek {library} löschen willst?",
|
||||||
"confirm_delete_library_assets": "Bist du sicher, dass du diese Bibliothek löschen willst? Dies löscht alle {count, plural, one {# enthaltenes Objekt} other {alle # enthaltenen Objekte}} aus Immich und kann nicht rückgängig gemacht werden. Die Dateien bleiben auf der Festplatte erhalten.",
|
"confirm_delete_library_assets": "Bist du sicher, dass du diese Bibliothek löschen willst? Dies löscht {count, plural, one {# enthaltenes Objekt} other {alle # enthaltenen Objekte}} aus Immich und kann nicht rückgängig gemacht werden. Die Dateien bleiben auf der Festplatte erhalten.",
|
||||||
"confirm_email_below": "Bestätige, indem du \"{email}\" unten eingibst",
|
"confirm_email_below": "Bestätige, indem du unten \"{email}\" eingibst",
|
||||||
"confirm_reprocess_all_faces": "Bist du sicher, dass du alle Gesichter erneut verarbeiten möchtest? Dies löscht auch alle bereits benannten Personen.",
|
"confirm_reprocess_all_faces": "Bist du sicher, dass du alle Gesichter erneut verarbeiten möchtest? Dies löscht auch alle bereits benannten Personen.",
|
||||||
"confirm_user_password_reset": "Bist du sicher, dass du das Passwort für {user} zurücksetzen möchtest?",
|
"confirm_user_password_reset": "Bist du sicher, dass du das Passwort für {user} zurücksetzen möchtest?",
|
||||||
"create_job": "Aufgabe erstellen",
|
"create_job": "Aufgabe erstellen",
|
||||||
"crontab_guru": "Crontab Guru",
|
"cron_expression": "Cron-Ausdruck",
|
||||||
|
"cron_expression_description": "Stellen Sie das Scanintervall im Cron-Format ein. Weitere Informationen finden Sie beispielsweise unter <link>Crontab Guru</link>",
|
||||||
|
"cron_expression_presets": "Cron-Ausdruck-Vorlagen",
|
||||||
"disable_login": "Login deaktvieren",
|
"disable_login": "Login deaktvieren",
|
||||||
"disabled": "Deaktiviert",
|
"duplicate_detection_job_description": "Diese Aufgabe führt das maschinelle Lernen für jede Datei aus, um Duplikate zu finden. Diese Aufgabe beruht auf der intelligenten Suche",
|
||||||
"duplicate_detection_job_description": "Diese Aufgabe führt das maschinelle Lernen für jede Datei aus, um Duplikate zu finden. Diese Aufgabe beruht auf der Smart Search Technologie",
|
"exclusion_pattern_description": "Mit Ausschlussmustern können Dateien und Ordner beim Scannen Ihrer Bibliothek ignoriert werden. Dies ist nützlich, wenn du Ordner hast, die Dateien enthalten, die du nicht importieren möchtest, wie z. B. RAW-Dateien.",
|
||||||
"exclusion_pattern_description": "Mit Ausschlussmustern können Dateien und Ordner beim Scannen Ihrer Bibliothek ignoriert werden. Dies ist nützlich, wenn Sie Ordner haben, die Dateien enthalten, die Sie nicht importieren möchten, wie z. B. RAW-Dateien.",
|
|
||||||
"external_library_created_at": "Externe Bibliothek (erstellt am {date})",
|
"external_library_created_at": "Externe Bibliothek (erstellt am {date})",
|
||||||
"external_library_management": "Externe Bibliotheksverwaltung",
|
"external_library_management": "Verwaltung externer Bibliotheken",
|
||||||
"face_detection": "Gesichtserkennung",
|
"face_detection": "Gesichtserkennung",
|
||||||
"face_detection_description": "Diese Aufgabe erkennt Gesichter in Dateien mittels maschinellen Lernens. Bei Videos wird nur die Miniaturansicht verwendet. „Aktualisieren“ verarbeitet alle Dateien neu. „Zurücksetzen“ setzt zusätzlich alle Gesichter zurück. „Fehlende“ stellt nur nicht verarbeitete Dateien in die Warteschlange. Erkannte Gesichter werden zur Gruppierung in bestehende oder neue Personen in die Warteschlange gestellt.",
|
"face_detection_description": "Diese Aufgabe erkennt Gesichter in Dateien mittels maschinellen Lernens. Bei Videos wird nur die Miniaturansicht verwendet. „Aktualisieren“ verarbeitet alle Dateien neu. „Zurücksetzen“ setzt zusätzlich alle Gesichter zurück. „Fehlende“ stellt nur nicht verarbeitete Dateien in die Warteschlange. Erkannte Gesichter werden zur Gruppierung in bestehende oder neue Personen in die Warteschlange gestellt.",
|
||||||
"facial_recognition_job_description": "Diese Aufgabe gruppiert erkannte Gesichter zu Personen nach der Gesichtserkennung. „Zurücksetzen“ clustert alle Gesichter neu, während „Fehlende“ Gesichter ohne Zuordnung in die Warteschlange stellt.",
|
"facial_recognition_job_description": "Diese Aufgabe gruppiert im Anschluss an die Gesichtserkennung die erkannten Gesichter zu Personen. „Zurücksetzen“ gruppiert alle Gesichter neu, während „Fehlende“ Gesichter ohne Zuordnung in die Warteschlange stellt.",
|
||||||
"failed_job_command": "Befehl {command} ist für Aufgabe {job} fehlgeschlagen",
|
"failed_job_command": "Befehl {command} ist für Aufgabe {job} fehlgeschlagen",
|
||||||
"force_delete_user_warning": "WARNUNG: Diese Aktion löscht sofort den Benutzer und all seine Dateien. Dies kann nicht rückgängig gemacht werden und die Dateien können nicht wiederhergestellt werden.",
|
"force_delete_user_warning": "WARNUNG: Diese Aktion löscht sofort den Benutzer und all seine Dateien. Dies kann nicht rückgängig gemacht werden und die Dateien können nicht wiederhergestellt werden.",
|
||||||
"forcing_refresh_library_files": "Erneutes Laden aller Bibliotheksdateien erzwingen",
|
"forcing_refresh_library_files": "Erneutes Laden aller Bibliotheksdateien erzwingen",
|
||||||
@@ -63,38 +69,28 @@
|
|||||||
"image_prefer_wide_gamut": "Breites Spektrum bevorzugen",
|
"image_prefer_wide_gamut": "Breites Spektrum bevorzugen",
|
||||||
"image_prefer_wide_gamut_setting_description": "Verwendung von Display P3 (DCI-P3) für Miniaturansichten. Dadurch bleibt die Lebendigkeit von Bildern mit breiten Farbräumen besser erhalten, aber die Bilder können auf älteren Geräten mit einer älteren Browserversion etwas anders aussehen. sRGB-Bilder werden im sRGB-Format belassen, um Farbverschiebungen zu vermeiden.",
|
"image_prefer_wide_gamut_setting_description": "Verwendung von Display P3 (DCI-P3) für Miniaturansichten. Dadurch bleibt die Lebendigkeit von Bildern mit breiten Farbräumen besser erhalten, aber die Bilder können auf älteren Geräten mit einer älteren Browserversion etwas anders aussehen. sRGB-Bilder werden im sRGB-Format belassen, um Farbverschiebungen zu vermeiden.",
|
||||||
"image_preview_description": "Mittelgroßes Bild mit entfernten Metadaten, das bei der Betrachtung einer einzelnen Datei und für maschinelles Lernen verwendet wird",
|
"image_preview_description": "Mittelgroßes Bild mit entfernten Metadaten, das bei der Betrachtung einer einzelnen Datei und für maschinelles Lernen verwendet wird",
|
||||||
"image_preview_format": "Vorschauformat",
|
|
||||||
"image_preview_quality_description": "Vorschauqualität von 1-100. Ein höherer Wert ist besser, erzeugt dadurch aber größere Dateien und kann die Reaktionsfähigkeit der App beeinträchtigen. Die Einstellung eines niedrigen Wertes kann dafür aber die Qualität des maschinellen Lernens beeinträchtigen.",
|
"image_preview_quality_description": "Vorschauqualität von 1-100. Ein höherer Wert ist besser, erzeugt dadurch aber größere Dateien und kann die Reaktionsfähigkeit der App beeinträchtigen. Die Einstellung eines niedrigen Wertes kann dafür aber die Qualität des maschinellen Lernens beeinträchtigen.",
|
||||||
"image_preview_resolution": "Vorschau-Auflösung",
|
|
||||||
"image_preview_resolution_description": "Dies wird beim Anzeigen eines einzelnen Fotos und für das maschinelle Lernen verwendet. Höhere Auflösungen können mehr Details beibehalten, benötigen aber mehr Zeit für die Kodierung, haben größere Dateigrößen und können die Reaktionsfähigkeit der App beeinträchtigen.",
|
|
||||||
"image_preview_title": "Vorschaueinstellungen",
|
"image_preview_title": "Vorschaueinstellungen",
|
||||||
"image_quality": "Qualität",
|
"image_quality": "Qualität",
|
||||||
"image_quality_description": "Bildqualität von 1-100. Höher bedeutet bessere Qualität, erzeugt aber größere Dateien. Diese Option betrifft die Vorschaubilder und Miniaturansichten.",
|
|
||||||
"image_resolution": "Auflösung",
|
"image_resolution": "Auflösung",
|
||||||
"image_resolution_description": "Höhere Auflösungen können mehr Details erhalten, benötigen aber mehr Zeit für die Kodierung, haben größere Dateigrößen und können die Reaktionsfähigkeit von Anwendungen beeinträchtigen.",
|
"image_resolution_description": "Höhere Auflösungen können mehr Details erhalten, benötigen aber mehr Zeit für die Kodierung, haben größere Dateigrößen und können die Reaktionsfähigkeit von Anwendungen beeinträchtigen.",
|
||||||
"image_settings": "Bildeinstellungen",
|
"image_settings": "Bildeinstellungen",
|
||||||
"image_settings_description": "Qualität und Auflösung von generierten Bildern verwalten",
|
"image_settings_description": "Qualität und Auflösung von generierten Bildern verwalten",
|
||||||
"image_thumbnail_description": "Kleine Miniaturansicht mit entfernten Metadaten, die bei der Anzeige von Sammlungen von Fotos wie der Zeitleiste verwendet wird",
|
"image_thumbnail_description": "Kleine Miniaturansicht mit entfernten Metadaten, die bei der Anzeige von Sammlungen von Fotos wie der Zeitleiste verwendet wird",
|
||||||
"image_thumbnail_format": "Miniaturansichts-Format",
|
|
||||||
"image_thumbnail_quality_description": "Qualität der Miniaturansicht von 1-100. Höher ist besser, erzeugt aber größere Dateien und kann die Reaktionsfähigkeit der App beeinträchtigen.",
|
"image_thumbnail_quality_description": "Qualität der Miniaturansicht von 1-100. Höher ist besser, erzeugt aber größere Dateien und kann die Reaktionsfähigkeit der App beeinträchtigen.",
|
||||||
"image_thumbnail_resolution": "Miniaturansichts-Auflösung",
|
|
||||||
"image_thumbnail_resolution_description": "Dies wird bei der Anzeige von Bildergruppen („Zeitleiste“, „Albumansicht“ usw.) verwendet. Höhere Auflösungen können mehr Details beibehalten, benötigen aber mehr Zeit für die Kodierung, haben größere Dateigrößen und können die Reaktionsfähigkeit der App beeinträchtigen.",
|
|
||||||
"image_thumbnail_title": "Miniaturansicht-Einstellungen",
|
"image_thumbnail_title": "Miniaturansicht-Einstellungen",
|
||||||
"job_concurrency": "{job} - (Anzahl gleichzeitiger Prozesse)",
|
"job_concurrency": "{job} (Anzahl gleichzeitiger Prozesse)",
|
||||||
"job_created": "Job erstellt",
|
"job_created": "Aufgabe erstellt",
|
||||||
"job_not_concurrency_safe": "Dieser Job ist nicht parallelisierungssicher.",
|
"job_not_concurrency_safe": "Diese Aufgabe ist nicht parallelisierungssicher.",
|
||||||
"job_settings": "Job-Einstellungen",
|
"job_settings": "Aufgaben-Einstellungen",
|
||||||
"job_settings_description": "Gleichzeitige Job-Prozessen verwalten",
|
"job_settings_description": "Gleichzeitige Aufgaben-Prozesse verwalten",
|
||||||
"job_status": "Job-Status",
|
"job_status": "Aufgaben-Status",
|
||||||
"jobs_delayed": "{jobCount, plural, other {# verzögert}}",
|
"jobs_delayed": "{jobCount, plural, other {# verzögert}}",
|
||||||
"jobs_failed": "{jobCount, plural, other {# fehlgeschlagen}}",
|
"jobs_failed": "{jobCount, plural, other {# fehlgeschlagen}}",
|
||||||
"library_created": "Bibliothek erstellt: {library}",
|
"library_created": "Bibliothek erstellt: {library}",
|
||||||
"library_cron_expression": "Cron-Ausdruck",
|
|
||||||
"library_cron_expression_description": "Legen Sie das Überprüfungsintervall mit Hilfe des cron-Formats fest. Für weitere Informationen siehe z.B. <link>Crontab Guru</link>",
|
|
||||||
"library_cron_expression_presets": "Cron-Expression Voreinstellungen",
|
|
||||||
"library_deleted": "Bibliothek gelöscht",
|
"library_deleted": "Bibliothek gelöscht",
|
||||||
"library_import_path_description": "Gib einen Ordner für den Import an. Dieser Ordner, einschließlich der Unterordner, wird nach Bildern und Videos durchsucht.",
|
"library_import_path_description": "Gib einen Ordner für den Import an. Dieser Ordner, einschließlich der Unterordner, wird nach Bildern und Videos durchsucht.",
|
||||||
"library_scanning": "Periodisches scannen",
|
"library_scanning": "Periodisches Scannen",
|
||||||
"library_scanning_description": "Regelmäßiges Durchsuchen der Bibliothek einstellen",
|
"library_scanning_description": "Regelmäßiges Durchsuchen der Bibliothek einstellen",
|
||||||
"library_scanning_enable_description": "Regelmäßiges Scannen der Bibliothek aktivieren",
|
"library_scanning_enable_description": "Regelmäßiges Scannen der Bibliothek aktivieren",
|
||||||
"library_settings": "Externe Bibliothek",
|
"library_settings": "Externe Bibliothek",
|
||||||
@@ -104,12 +100,12 @@
|
|||||||
"library_watching_settings": "Bibliotheksüberwachung (EXPERIMENTELL)",
|
"library_watching_settings": "Bibliotheksüberwachung (EXPERIMENTELL)",
|
||||||
"library_watching_settings_description": "Automatisch auf geänderte Dateien prüfen",
|
"library_watching_settings_description": "Automatisch auf geänderte Dateien prüfen",
|
||||||
"logging_enable_description": "Aktiviere Logging",
|
"logging_enable_description": "Aktiviere Logging",
|
||||||
"logging_level_description": "Wenn aktiviert, welches Log Level genutzt wird.",
|
"logging_level_description": "Wenn aktiviert, welches Log-Level genutzt wird.",
|
||||||
"logging_settings": "Protokollierung",
|
"logging_settings": "Protokollierung",
|
||||||
"machine_learning_clip_model": "CLIP-Modell",
|
"machine_learning_clip_model": "CLIP-Modell",
|
||||||
"machine_learning_clip_model_description": "Der Name eines CLIP-Modells, welches <link>\"hier\"</link> aufgeführt ist. Beachte, dass du den Job \"Intelligente Suche\" für alle Bilder erneut ausführen musst, wenn du das Modell wechselst.",
|
"machine_learning_clip_model_description": "Der Name eines CLIP-Modells, welches <link>hier</link> aufgeführt ist. Beachte, dass du die Aufgabe \"Intelligente Suche\" für alle Bilder erneut ausführen musst, wenn du das Modell wechselst.",
|
||||||
"machine_learning_duplicate_detection": "Duplikats-Erkennung",
|
"machine_learning_duplicate_detection": "Duplikaterkennung",
|
||||||
"machine_learning_duplicate_detection_enabled": "Duplikat-Erkennung aktivieren",
|
"machine_learning_duplicate_detection_enabled": "Duplikaterkennung aktivieren",
|
||||||
"machine_learning_duplicate_detection_enabled_description": "Falls diese Option deaktiviert ist, werden exakt identische Dateien dennoch de-dupliziert.",
|
"machine_learning_duplicate_detection_enabled_description": "Falls diese Option deaktiviert ist, werden exakt identische Dateien dennoch de-dupliziert.",
|
||||||
"machine_learning_duplicate_detection_setting_description": "Verwendung von CLIP-Embeddings zum Erkennen möglicher Duplikate",
|
"machine_learning_duplicate_detection_setting_description": "Verwendung von CLIP-Embeddings zum Erkennen möglicher Duplikate",
|
||||||
"machine_learning_enabled": "Maschinelles Lernen aktivieren",
|
"machine_learning_enabled": "Maschinelles Lernen aktivieren",
|
||||||
@@ -117,21 +113,21 @@
|
|||||||
"machine_learning_facial_recognition": "Gesichtsidentifikation",
|
"machine_learning_facial_recognition": "Gesichtsidentifikation",
|
||||||
"machine_learning_facial_recognition_description": "Erkenne, identifiziere und gruppiere Gesichter in Bildern",
|
"machine_learning_facial_recognition_description": "Erkenne, identifiziere und gruppiere Gesichter in Bildern",
|
||||||
"machine_learning_facial_recognition_model": "Gesichtserkennungs-Modell",
|
"machine_learning_facial_recognition_model": "Gesichtserkennungs-Modell",
|
||||||
"machine_learning_facial_recognition_model_description": "Die Modelle sind in absteigender Reihenfolge ihrer Größe aufgeführt. Größere Modelle sind langsamer und verbrauchen mehr Speicher, liefern aber bessere Ergebnisse. Bitte beachte dabei, dass du den Gesichtserkennungsjob für alle Bilder neu starten musst, wenn du ein Modell änderst.",
|
"machine_learning_facial_recognition_model_description": "Die Modelle sind in absteigender Reihenfolge ihrer Größe aufgeführt. Größere Modelle sind langsamer und verbrauchen mehr Speicher, liefern aber bessere Ergebnisse. Bitte beachte dabei, dass du die Gesichtserkennungsaufgabe für alle Bilder neu starten musst, wenn du ein Modell änderst.",
|
||||||
"machine_learning_facial_recognition_setting": "Gesichtserkennung aktivieren",
|
"machine_learning_facial_recognition_setting": "Gesichtserkennung aktivieren",
|
||||||
"machine_learning_facial_recognition_setting_description": "Wenn diese Option deaktiviert ist, werden die Bilder nicht für die Gesichtserkennung kodiert und der Abschnitt „Personen“ auf der Seite „Erkunden“ wird nicht dargestellt.",
|
"machine_learning_facial_recognition_setting_description": "Wenn diese Option deaktiviert ist, werden die Bilder nicht für die Gesichtserkennung kodiert und der Abschnitt „Personen“ auf der Seite „Erkunden“ wird nicht dargestellt.",
|
||||||
"machine_learning_max_detection_distance": "Maximaler Erkennungsabstand",
|
"machine_learning_max_detection_distance": "Maximaler Erkennungsabstand",
|
||||||
"machine_learning_max_detection_distance_description": "Maximaler Unterschied zwischen zwei Bildern, um sie als Duplikate zu betrachten, im Bereich von 0,001-0,1. Bei höheren Werten werden mehr Duplikate erkannt, aber es kann zu falsch positiven Ergebnissen kommen.",
|
"machine_learning_max_detection_distance_description": "Maximaler Unterschied zwischen zwei Bildern, um sie als Duplikate zu betrachten, im Bereich von 0,001-0,1. Bei höheren Werten werden mehr Duplikate erkannt, aber es kann zu falsch-positiven Ergebnissen kommen.",
|
||||||
"machine_learning_max_recognition_distance": "Maximaler Erkennungsabstand",
|
"machine_learning_max_recognition_distance": "Maximaler Erkennungsabstand",
|
||||||
"machine_learning_max_recognition_distance_description": "Maximaler Abstand zwischen zwei Gesichtern, die als dieselbe Person angesehen werden, von 0-2. Ein niedrigerer Wert kann verhindern, dass zwei Personen als dieselbe Person eingestuft werden, während ein höherer Wert verhindern kann, dass ein und dieselbe Person als zwei verschiedene Personen eingestuft wird. Bitte beachte dabei, dass es einfacher ist, zwei Personen zu verschmelzen, als eine Person in zwei zu teilen, also wähle nach Möglichkeit einen niedrigeren Schwellenwert.",
|
"machine_learning_max_recognition_distance_description": "Maximaler Abstand zwischen zwei Gesichtern, die als dieselbe Person angesehen werden, von 0-2. Ein niedrigerer Wert kann verhindern, dass zwei Personen als dieselbe Person eingestuft werden, während ein höherer Wert verhindern kann, dass ein und dieselbe Person als zwei verschiedene Personen eingestuft wird. Bitte beachte dabei, dass es einfacher ist, zwei Personen zu verschmelzen, als eine Person in zwei zu teilen, also wähle nach Möglichkeit einen niedrigeren Schwellenwert.",
|
||||||
"machine_learning_min_detection_score": "Minimale Erkennungsrate",
|
"machine_learning_min_detection_score": "Minimale Erkennungsrate",
|
||||||
"machine_learning_min_detection_score_description": "Minimale Konfidenzrate für die Erkennung eines Gesichts von 0-1. Bei niedrigeren Werten werden mehr Gesichter erkannt, aber es kann zu falsch-positiven Ergebnissen kommen.",
|
"machine_learning_min_detection_score_description": "Minimale Konfidenzrate für die Erkennung eines Gesichts von 0-1. Bei niedrigeren Werten werden mehr Gesichter erkannt, aber es kann zu falsch-positiven Ergebnissen kommen.",
|
||||||
"machine_learning_min_recognized_faces": "Mindestens erkannte Gesichter",
|
"machine_learning_min_recognized_faces": "Mindestens erkannte Gesichter",
|
||||||
"machine_learning_min_recognized_faces_description": "Die Mindestanzahl von erkannten Gesichtern, damit eine Person erstellt werden kann. Eine Erhöhung dieses Wertes macht die Gesichtserkennung präziser, erhöht aber die Wahrscheinlichkeit, dass ein Gesicht nicht zu einer Person zugeordnet werden kann.",
|
"machine_learning_min_recognized_faces_description": "Die Mindestanzahl von erkannten Gesichtern, damit eine Person erstellt werden kann. Eine Erhöhung dieses Wertes macht die Gesichtserkennung präziser, erhöht aber die Wahrscheinlichkeit, dass ein Gesicht nicht zu einer Person zugeordnet wird.",
|
||||||
"machine_learning_settings": "Einstellungen für maschinelles Lernen",
|
"machine_learning_settings": "Einstellungen für maschinelles Lernen",
|
||||||
"machine_learning_settings_description": "Funktionen und Einstellungen für das maschinelle Lernen verwalten",
|
"machine_learning_settings_description": "Funktionen und Einstellungen des maschinellen Lernens verwalten",
|
||||||
"machine_learning_smart_search": "Intelligente Suche",
|
"machine_learning_smart_search": "Intelligente Suche",
|
||||||
"machine_learning_smart_search_description": "Semantische Bildsuche mit CLIP-Einbettungen",
|
"machine_learning_smart_search_description": "Semantische Bildsuche mittels CLIP-Einbettungen",
|
||||||
"machine_learning_smart_search_enabled": "Intelligente Suche aktivieren",
|
"machine_learning_smart_search_enabled": "Intelligente Suche aktivieren",
|
||||||
"machine_learning_smart_search_enabled_description": "Ist diese Option deaktiviert, werden die Bilder nicht für die intelligente Suche verwendet.",
|
"machine_learning_smart_search_enabled_description": "Ist diese Option deaktiviert, werden die Bilder nicht für die intelligente Suche verwendet.",
|
||||||
"machine_learning_url_description": "Server-URL für maschinelles Lernen",
|
"machine_learning_url_description": "Server-URL für maschinelles Lernen",
|
||||||
@@ -139,31 +135,31 @@
|
|||||||
"manage_log_settings": "Log-Einstellungen verwalten",
|
"manage_log_settings": "Log-Einstellungen verwalten",
|
||||||
"map_dark_style": "Dunkler Stil",
|
"map_dark_style": "Dunkler Stil",
|
||||||
"map_enable_description": "Kartenfunktionen aktivieren",
|
"map_enable_description": "Kartenfunktionen aktivieren",
|
||||||
"map_gps_settings": "Karten & GPS Einstellungen",
|
"map_gps_settings": "Karten- & GPS-Einstellungen",
|
||||||
"map_gps_settings_description": "Karten & GPS Einstellungen verwalten",
|
"map_gps_settings_description": "Karten- & GPS-Einstellungen verwalten",
|
||||||
"map_implications": "Die Kartenfunktion verwendet einen externen Tile-Service (tiles.immich.cloud)",
|
"map_implications": "Die Kartenfunktion verwendet einen externen Tile-Service (tiles.immich.cloud)",
|
||||||
"map_light_style": "Heller Stil",
|
"map_light_style": "Heller Stil",
|
||||||
"map_manage_reverse_geocoding_settings": "Einstellungen für die <link>Umgekehrte Geokodierung</link> verwalten",
|
"map_manage_reverse_geocoding_settings": "Einstellungen für die <link>umgekehrte Geokodierung</link> verwalten",
|
||||||
"map_reverse_geocoding": "Umgekehrte Geokodierung",
|
"map_reverse_geocoding": "Umgekehrte Geokodierung",
|
||||||
"map_reverse_geocoding_enable_description": "Umgekehrte Geokodierung aktivieren",
|
"map_reverse_geocoding_enable_description": "Umgekehrte Geokodierung aktivieren",
|
||||||
"map_reverse_geocoding_settings": "Einstellungen für Umgekehrte Geokodierung",
|
"map_reverse_geocoding_settings": "Einstellungen für umgekehrte Geokodierung",
|
||||||
"map_settings": "Karten",
|
"map_settings": "Karte",
|
||||||
"map_settings_description": "Karten- und GPS Einstellungen verwalten",
|
"map_settings_description": "Karten- und GPS-Einstellungen verwalten",
|
||||||
"map_style_description": "URL zu einem style.json Karten-Theme",
|
"map_style_description": "URL zu einem style.json Karten-Theme",
|
||||||
"metadata_extraction_job": "Metadaten extrahieren",
|
"metadata_extraction_job": "Metadaten extrahieren",
|
||||||
"metadata_extraction_job_description": "Extrahieren von Metadaten, wie zum Beispiel GPS, Gesichtern und Auflösung aus jeder Datei",
|
"metadata_extraction_job_description": "Extrahieren von Metadaten, wie zum Beispiel GPS, Gesichtern und Auflösung aus jeder Datei",
|
||||||
"metadata_faces_import_setting": "Import von Gesichtern aktivieren",
|
"metadata_faces_import_setting": "Import von Gesichtern aktivieren",
|
||||||
"metadata_faces_import_setting_description": "Gesichter aus EXIF Daten des Bildes und Sidecar Dateien importieren",
|
"metadata_faces_import_setting_description": "Gesichter aus EXIF-Daten des Bildes und Sidecar-Dateien importieren",
|
||||||
"metadata_settings": "Metadaten Einstellungen",
|
"metadata_settings": "Metadaten-Einstellungen",
|
||||||
"metadata_settings_description": "Metadaten Einstellungen verwalten",
|
"metadata_settings_description": "Metadaten-Einstellungen verwalten",
|
||||||
"migration_job": "Migration",
|
"migration_job": "Migration",
|
||||||
"migration_job_description": "Diese Aufgabe migriert Miniaturansichten für Dateien und Gesichter in die neueste Ordnerstruktur",
|
"migration_job_description": "Diese Aufgabe migriert Miniaturansichten für Dateien und Gesichter in die neueste Ordnerstruktur",
|
||||||
"no_paths_added": "Keine Pfade hinzugefügt",
|
"no_paths_added": "Keine Pfade hinzugefügt",
|
||||||
"no_pattern_added": "Kein Pattern hinzugefügt",
|
"no_pattern_added": "Kein Ausschlussmuster hinzugefügt",
|
||||||
"note_apply_storage_label_previous_assets": "Hinweis: Um das Storage Label auf die vorher hochgeladenen Dateien anzuwenden, starte den",
|
"note_apply_storage_label_previous_assets": "Hinweis: Um den Speicherpfad auf die vorher hochgeladenen Dateien anzuwenden, starte den",
|
||||||
"note_cannot_be_changed_later": "HINWEIS: Dies kann später nicht mehr geändert werden!",
|
"note_cannot_be_changed_later": "HINWEIS: Dies kann später nicht mehr geändert werden!",
|
||||||
"note_unlimited_quota": "Hinweis: 0 eingeben für unlimitiertes Kontingent",
|
"note_unlimited_quota": "Hinweis: 0 eingeben für unlimitiertes Kontingent",
|
||||||
"notification_email_from_address": "Von",
|
"notification_email_from_address": "Absenderadresse",
|
||||||
"notification_email_from_address_description": "E-Mail-Adresse des Senders, zum Beispiel: \"Immich Photo Server <noreply@example.com>\"",
|
"notification_email_from_address_description": "E-Mail-Adresse des Senders, zum Beispiel: \"Immich Photo Server <noreply@example.com>\"",
|
||||||
"notification_email_host_description": "Host des E-Mail-Servers (z.B. smtp.immich.app)",
|
"notification_email_host_description": "Host des E-Mail-Servers (z.B. smtp.immich.app)",
|
||||||
"notification_email_ignore_certificate_errors": "Ignoriere Zertifikats-Fehler",
|
"notification_email_ignore_certificate_errors": "Ignoriere Zertifikats-Fehler",
|
||||||
@@ -178,13 +174,13 @@
|
|||||||
"notification_email_username_description": "Benutzername, der bei der Anmeldung am E-Mail-Server verwendet wird",
|
"notification_email_username_description": "Benutzername, der bei der Anmeldung am E-Mail-Server verwendet wird",
|
||||||
"notification_enable_email_notifications": "E-Mail-Benachrichtigungen aktivieren",
|
"notification_enable_email_notifications": "E-Mail-Benachrichtigungen aktivieren",
|
||||||
"notification_settings": "Benachrichtigungseinstellungen",
|
"notification_settings": "Benachrichtigungseinstellungen",
|
||||||
"notification_settings_description": "Eenachrichtigungseinstellungen (inkl. E-Mail) verwalten",
|
"notification_settings_description": "Benachrichtigungseinstellungen (inkl. E-Mail) verwalten",
|
||||||
"oauth_auto_launch": "Auto-Start",
|
"oauth_auto_launch": "Auto-Start",
|
||||||
"oauth_auto_launch_description": "Automatischer Start des OAuth-Anmeldevorgangs beim Aufrufen der Anmeldeseite",
|
"oauth_auto_launch_description": "Automatischer Start des OAuth-Anmeldevorgangs beim Aufrufen der Anmeldeseite",
|
||||||
"oauth_auto_register": "Automatische Registrierung",
|
"oauth_auto_register": "Automatische Registrierung",
|
||||||
"oauth_auto_register_description": "Automatische Registrierung neuer Benutzer nach der OAuth-Anmeldung",
|
"oauth_auto_register_description": "Automatische Registrierung neuer Benutzer nach der OAuth-Anmeldung",
|
||||||
"oauth_button_text": "Button Text",
|
"oauth_button_text": "Button-Text",
|
||||||
"oauth_client_id": "Client ID",
|
"oauth_client_id": "Client-ID",
|
||||||
"oauth_client_secret": "Client-Geheimnis",
|
"oauth_client_secret": "Client-Geheimnis",
|
||||||
"oauth_enable_description": "Anmeldung mit OAuth",
|
"oauth_enable_description": "Anmeldung mit OAuth",
|
||||||
"oauth_issuer_url": "Aussteller-URL",
|
"oauth_issuer_url": "Aussteller-URL",
|
||||||
@@ -192,7 +188,7 @@
|
|||||||
"oauth_mobile_redirect_uri_override": "Mobile Umleitungs-URI überschreiben",
|
"oauth_mobile_redirect_uri_override": "Mobile Umleitungs-URI überschreiben",
|
||||||
"oauth_mobile_redirect_uri_override_description": "Einschalten, wenn der OAuth-Provider keine mobile URI wie '{callback}' erlaubt",
|
"oauth_mobile_redirect_uri_override_description": "Einschalten, wenn der OAuth-Provider keine mobile URI wie '{callback}' erlaubt",
|
||||||
"oauth_profile_signing_algorithm": "Algorithmus zur Profilsignierung",
|
"oauth_profile_signing_algorithm": "Algorithmus zur Profilsignierung",
|
||||||
"oauth_profile_signing_algorithm_description": "Dieser Algorithmus wird für die für die Signatur des Benutzerprofils verwendet.",
|
"oauth_profile_signing_algorithm_description": "Dieser Algorithmus wird für die Signatur des Benutzerprofils verwendet.",
|
||||||
"oauth_scope": "Umfang",
|
"oauth_scope": "Umfang",
|
||||||
"oauth_settings": "OAuth",
|
"oauth_settings": "OAuth",
|
||||||
"oauth_settings_description": "OAuth-Anmeldeeinstellungen verwalten",
|
"oauth_settings_description": "OAuth-Anmeldeeinstellungen verwalten",
|
||||||
@@ -203,11 +199,11 @@
|
|||||||
"oauth_storage_quota_claim": "Speicherkontingentangabe",
|
"oauth_storage_quota_claim": "Speicherkontingentangabe",
|
||||||
"oauth_storage_quota_claim_description": "Setzen Sie das Speicherkontingent des Benutzers automatisch auf den angegebenen Wert.",
|
"oauth_storage_quota_claim_description": "Setzen Sie das Speicherkontingent des Benutzers automatisch auf den angegebenen Wert.",
|
||||||
"oauth_storage_quota_default": "Standard-Speicherplatzkontingent (GiB)",
|
"oauth_storage_quota_default": "Standard-Speicherplatzkontingent (GiB)",
|
||||||
"oauth_storage_quota_default_description": "Kontingent in GiB, welcher verwendet werden kann, wenn kein Anspruch erhoben wurde (Gib 0 für einen unbegrenzten Speicherkontingent ein).",
|
"oauth_storage_quota_default_description": "Kontingent in GiB, das verwendet werden soll, wenn keines übermittelt wird (gib 0 für ein unbegrenztes Kontingent ein).",
|
||||||
"offline_paths": "Offline-Pfade",
|
"offline_paths": "Offline-Pfade",
|
||||||
"offline_paths_description": "Die Ergebnisse könnten durch manuelles Löschen von Dateien, die nicht Teil einer externen Bibliothek sind, verursacht sein.",
|
"offline_paths_description": "Die Ergebnisse könnten durch manuelles Löschen von Dateien, die nicht Teil einer externen Bibliothek sind, verursacht sein.",
|
||||||
"password_enable_description": "Login mit E-Mail und Passwort",
|
"password_enable_description": "Login mit E-Mail und Passwort",
|
||||||
"password_settings": "Passwort Login",
|
"password_settings": "Passwort-Login",
|
||||||
"password_settings_description": "Passwort-Anmeldeeinstellungen verwalten",
|
"password_settings_description": "Passwort-Anmeldeeinstellungen verwalten",
|
||||||
"paths_validated_successfully": "Alle Pfade wurden erfolgreich validiert",
|
"paths_validated_successfully": "Alle Pfade wurden erfolgreich validiert",
|
||||||
"person_cleanup_job": "Personen aufräumen",
|
"person_cleanup_job": "Personen aufräumen",
|
||||||
@@ -215,7 +211,6 @@
|
|||||||
"refreshing_all_libraries": "Alle Bibliotheken aktualisieren",
|
"refreshing_all_libraries": "Alle Bibliotheken aktualisieren",
|
||||||
"registration": "Admin-Registrierung",
|
"registration": "Admin-Registrierung",
|
||||||
"registration_description": "Da du der erste Benutzer im System bist, wirst du als Admin zugewiesen und bist für administrative Aufgaben zuständig. Weitere Benutzer werden von dir erstellt.",
|
"registration_description": "Da du der erste Benutzer im System bist, wirst du als Admin zugewiesen und bist für administrative Aufgaben zuständig. Weitere Benutzer werden von dir erstellt.",
|
||||||
"removing_deleted_files": "Offline-Dateien entfernen",
|
|
||||||
"repair_all": "Alle reparieren",
|
"repair_all": "Alle reparieren",
|
||||||
"repair_matched_items": "{count, plural, one {# Eintrag} other {# Einträge}} gefunden",
|
"repair_matched_items": "{count, plural, one {# Eintrag} other {# Einträge}} gefunden",
|
||||||
"repaired_items": "{count, plural, one {# Eintrag} other {# Einträge}} repariert",
|
"repaired_items": "{count, plural, one {# Eintrag} other {# Einträge}} repariert",
|
||||||
@@ -223,9 +218,7 @@
|
|||||||
"reset_settings_to_default": "Einstellungen auf Standard zurücksetzen",
|
"reset_settings_to_default": "Einstellungen auf Standard zurücksetzen",
|
||||||
"reset_settings_to_recent_saved": "Einstellungen auf die zuletzt gespeicherten Einstellungen zurücksetzen",
|
"reset_settings_to_recent_saved": "Einstellungen auf die zuletzt gespeicherten Einstellungen zurücksetzen",
|
||||||
"scanning_library": "Bibliothek scannen",
|
"scanning_library": "Bibliothek scannen",
|
||||||
"scanning_library_for_changed_files": "Untersuche Bibliothek auf geänderte Dateien",
|
"search_jobs": "Aufgaben suchen...",
|
||||||
"scanning_library_for_new_files": "Untersuche Bibliothek auf neue Dateien",
|
|
||||||
"search_jobs": "Jobs suchen...",
|
|
||||||
"send_welcome_email": "Begrüssungsmail senden",
|
"send_welcome_email": "Begrüssungsmail senden",
|
||||||
"server_external_domain_settings": "Externe Domain",
|
"server_external_domain_settings": "Externe Domain",
|
||||||
"server_external_domain_settings_description": "Domäne für öffentlich freigegebene Links, einschließlich http(s)://",
|
"server_external_domain_settings_description": "Domäne für öffentlich freigegebene Links, einschließlich http(s)://",
|
||||||
@@ -236,7 +229,7 @@
|
|||||||
"sidecar_job": "Filialdatei-Metadaten",
|
"sidecar_job": "Filialdatei-Metadaten",
|
||||||
"sidecar_job_description": "Durch diese Aufgabe werden Filialdatei-Metadaten im Dateisystem entdeckt oder synchronisiert",
|
"sidecar_job_description": "Durch diese Aufgabe werden Filialdatei-Metadaten im Dateisystem entdeckt oder synchronisiert",
|
||||||
"slideshow_duration_description": "Dauer der Anzeige jedes Bildes in Sekunden",
|
"slideshow_duration_description": "Dauer der Anzeige jedes Bildes in Sekunden",
|
||||||
"smart_search_job_description": "Diese Aufgabe wendet das maschinelles Lernen auf Dateien an, um die intelligente Suche zu ermöglichen",
|
"smart_search_job_description": "Diese Aufgabe wendet das maschinelle Lernen auf Dateien an, um die intelligente Suche zu ermöglichen",
|
||||||
"storage_template_date_time_description": "Der Erstellungszeitstempel der Datei wird für die Datums- und Uhrzeitinformation verwendet",
|
"storage_template_date_time_description": "Der Erstellungszeitstempel der Datei wird für die Datums- und Uhrzeitinformation verwendet",
|
||||||
"storage_template_date_time_sample": "Beispielzeitpunkt {date}",
|
"storage_template_date_time_sample": "Beispielzeitpunkt {date}",
|
||||||
"storage_template_enable_description": "Speichervorlagen-Engine aktivieren",
|
"storage_template_enable_description": "Speichervorlagen-Engine aktivieren",
|
||||||
@@ -245,13 +238,13 @@
|
|||||||
"storage_template_migration": "Migration von Speichervorlagen",
|
"storage_template_migration": "Migration von Speichervorlagen",
|
||||||
"storage_template_migration_description": "Diese Aufgabe wendet die aktuelle <link>{template}</link> auf zuvor hochgeladene Dateien an",
|
"storage_template_migration_description": "Diese Aufgabe wendet die aktuelle <link>{template}</link> auf zuvor hochgeladene Dateien an",
|
||||||
"storage_template_migration_info": "Vorlagenänderungen gelten nur für neue Dateien. Um die Vorlage rückwirkend auf bereits hochgeladene Assets anzuwenden, führe den <link>{job}</link> aus.",
|
"storage_template_migration_info": "Vorlagenänderungen gelten nur für neue Dateien. Um die Vorlage rückwirkend auf bereits hochgeladene Assets anzuwenden, führe den <link>{job}</link> aus.",
|
||||||
"storage_template_migration_job": "Speichervorlagenmigrations-Job",
|
"storage_template_migration_job": "Speichervorlagenmigrations-Aufgabe",
|
||||||
"storage_template_more_details": "Weitere Details zu dieser Funktion finden Sie unter <template-link>Speichervorlage</template-link> und dessen <implications-link>Implikationen</implications-link>",
|
"storage_template_more_details": "Weitere Details zu dieser Funktion findest du unter <template-link>Speichervorlage</template-link> und dessen <implications-link>Implikationen</implications-link>",
|
||||||
"storage_template_onboarding_description": "Wenn aktiviert, sortiert diese Funktion Dateien automatisch basierend auf einer benutzerdefinierten Vorlage. Aufgrund von Stabilitätsproblemen ist die Funktion standardmäßig deaktiviert. Weitere Informationen findest du in der <link>Dokumentation</link>.",
|
"storage_template_onboarding_description": "Wenn aktiviert, sortiert diese Funktion Dateien automatisch basierend auf einer benutzerdefinierten Vorlage. Aufgrund von Stabilitätsproblemen ist die Funktion standardmäßig deaktiviert. Weitere Informationen findest du in der <link>Dokumentation</link>.",
|
||||||
"storage_template_path_length": "Ungefähres Pfad Längen Limit: <b>{length, number}</b>/{limit, number}",
|
"storage_template_path_length": "Ungefähres Pfadlängen-Limit: <b>{length, number}</b>/{limit, number}",
|
||||||
"storage_template_settings": "Speichervorlage",
|
"storage_template_settings": "Speichervorlage",
|
||||||
"storage_template_settings_description": "Die Ordnerstruktur und den Dateinamen der hochgeladenen Datei verwalten",
|
"storage_template_settings_description": "Die Ordnerstruktur und den Dateinamen der hochgeladenen Datei verwalten",
|
||||||
"storage_template_user_label": "<code>{label}</code> is das Speicher-Label des Benutzers",
|
"storage_template_user_label": "<code>{label}</code> is die Speicherpfadbezeichnung des Benutzers",
|
||||||
"system_settings": "Systemeinstellungen",
|
"system_settings": "Systemeinstellungen",
|
||||||
"tag_cleanup_job": "Tags aufräumen",
|
"tag_cleanup_job": "Tags aufräumen",
|
||||||
"theme_custom_css_settings": "Benutzerdefiniertes CSS",
|
"theme_custom_css_settings": "Benutzerdefiniertes CSS",
|
||||||
@@ -261,7 +254,6 @@
|
|||||||
"these_files_matched_by_checksum": "Diese Dateien wurden anhand ihrer Prüfsummen abgeglichen",
|
"these_files_matched_by_checksum": "Diese Dateien wurden anhand ihrer Prüfsummen abgeglichen",
|
||||||
"thumbnail_generation_job": "Miniaturansichten generieren",
|
"thumbnail_generation_job": "Miniaturansichten generieren",
|
||||||
"thumbnail_generation_job_description": "Diese Aufgabe erzeugt große, kleine und unscharfe Miniaturansichten für jede einzelne Datei, sowie Miniaturansichten für jede Person",
|
"thumbnail_generation_job_description": "Diese Aufgabe erzeugt große, kleine und unscharfe Miniaturansichten für jede einzelne Datei, sowie Miniaturansichten für jede Person",
|
||||||
"transcode_policy_description": "Richtlinien, wann ein Video transkodiert werden soll. HDR-Videos werden immer transkodiert (außer wenn die Transkodierung deaktiviert ist).",
|
|
||||||
"transcoding_acceleration_api": "Beschleunigungs-API",
|
"transcoding_acceleration_api": "Beschleunigungs-API",
|
||||||
"transcoding_acceleration_api_description": "Die Schnittstelle welche mit dem Gerät interagiert, um die Transkodierung zu beschleunigen. Bei dieser Einstellung handelt es sich um die \"bestmögliche Lösung\": Bei einem Fehler wird auf die Software-Transkodierung zurückgegriffen. Abhängig von der verwendeten Hardware kann VP9 funktionieren oder auch nicht.",
|
"transcoding_acceleration_api_description": "Die Schnittstelle welche mit dem Gerät interagiert, um die Transkodierung zu beschleunigen. Bei dieser Einstellung handelt es sich um die \"bestmögliche Lösung\": Bei einem Fehler wird auf die Software-Transkodierung zurückgegriffen. Abhängig von der verwendeten Hardware kann VP9 funktionieren oder auch nicht.",
|
||||||
"transcoding_acceleration_nvenc": "NVENC (NVIDIA-GPU erforderlich)",
|
"transcoding_acceleration_nvenc": "NVENC (NVIDIA-GPU erforderlich)",
|
||||||
@@ -287,7 +279,7 @@
|
|||||||
"transcoding_hardware_acceleration": "Hardware-Beschleunigung",
|
"transcoding_hardware_acceleration": "Hardware-Beschleunigung",
|
||||||
"transcoding_hardware_acceleration_description": "Experimentell; viel schneller, aber bei gleicher Bitrate mit geringerer Qualität",
|
"transcoding_hardware_acceleration_description": "Experimentell; viel schneller, aber bei gleicher Bitrate mit geringerer Qualität",
|
||||||
"transcoding_hardware_decoding": "Hardware-Dekodierung",
|
"transcoding_hardware_decoding": "Hardware-Dekodierung",
|
||||||
"transcoding_hardware_decoding_setting_description": "Nur gültig für NVENC, QSV und RKMPP. Ermöglicht eine Ende-zu-Ende-Beschleunigung, anstatt nur die Codierung zu beschleunigen. Dies funktioniert möglicherweise nicht bei allen Videos.",
|
"transcoding_hardware_decoding_setting_description": "Ermöglicht eine Ende-zu-Ende-Beschleunigung, anstatt nur die Codierung zu beschleunigen. Dies funktioniert möglicherweise nicht bei allen Videos.",
|
||||||
"transcoding_hevc_codec": "HEVC-Codec",
|
"transcoding_hevc_codec": "HEVC-Codec",
|
||||||
"transcoding_max_b_frames": "Maximale B-Frames",
|
"transcoding_max_b_frames": "Maximale B-Frames",
|
||||||
"transcoding_max_b_frames_description": "Höhere Werte verbessern die Komprimierungseffizienz, verlangsamen aber die Kodierung. Ist möglicherweise nicht mit der Hardware-Beschleunigung älterer Geräte kompatibel. 0 deaktiviert die B-Frames, während -1 diesen Wert automatisch setzt.",
|
"transcoding_max_b_frames_description": "Höhere Werte verbessern die Komprimierungseffizienz, verlangsamen aber die Kodierung. Ist möglicherweise nicht mit der Hardware-Beschleunigung älterer Geräte kompatibel. 0 deaktiviert die B-Frames, während -1 diesen Wert automatisch setzt.",
|
||||||
@@ -313,8 +305,6 @@
|
|||||||
"transcoding_threads_description": "Höhere Werte führen zu einer schnelleren Codierung, lassen dem Server aber weniger Spielraum für die Verarbeitung anderer Aufgaben, solange dies aktiv ist. Dieser Wert sollte nicht höher sein als die Anzahl der CPU-Kerne. Nutzt die maximale Auslastung, wenn der Wert auf 0 gesetzt ist.",
|
"transcoding_threads_description": "Höhere Werte führen zu einer schnelleren Codierung, lassen dem Server aber weniger Spielraum für die Verarbeitung anderer Aufgaben, solange dies aktiv ist. Dieser Wert sollte nicht höher sein als die Anzahl der CPU-Kerne. Nutzt die maximale Auslastung, wenn der Wert auf 0 gesetzt ist.",
|
||||||
"transcoding_tone_mapping": "Farbton-Mapping",
|
"transcoding_tone_mapping": "Farbton-Mapping",
|
||||||
"transcoding_tone_mapping_description": "Versucht, das Aussehen von HDR-Videos bei der Konvertierung in SDR beizubehalten. Jeder Algorithmus geht unterschiedliche Kompromisse bei Farbe, Details und Helligkeit ein. Hable bewahrt Details, Mobius bewahrt die Farbe und Reinhard bewahrt die Helligkeit.",
|
"transcoding_tone_mapping_description": "Versucht, das Aussehen von HDR-Videos bei der Konvertierung in SDR beizubehalten. Jeder Algorithmus geht unterschiedliche Kompromisse bei Farbe, Details und Helligkeit ein. Hable bewahrt Details, Mobius bewahrt die Farbe und Reinhard bewahrt die Helligkeit.",
|
||||||
"transcoding_tone_mapping_npl": "Farbton-Mapping NPL",
|
|
||||||
"transcoding_tone_mapping_npl_description": "Die Farben werden so angepasst, dass sie für einen Bildschirm mit entsprechender Helligkeit normal aussehen. Entgegen der Annahme, dass niedrigere Werte die Helligkeit des Videos erhöhen und umgekehrt, wird die Helligkeit des Bildschirms ausgeglichen. Mit 0 wird dieser Wert automatisch eingestellt.",
|
|
||||||
"transcoding_transcode_policy": "Transcodierungsrichtlinie",
|
"transcoding_transcode_policy": "Transcodierungsrichtlinie",
|
||||||
"transcoding_transcode_policy_description": "Richtlinie, wann ein Video transkodiert werden soll. HDR-Videos werden immer transkodiert (außer wenn die Transkodierung deaktiviert ist).",
|
"transcoding_transcode_policy_description": "Richtlinie, wann ein Video transkodiert werden soll. HDR-Videos werden immer transkodiert (außer wenn die Transkodierung deaktiviert ist).",
|
||||||
"transcoding_two_pass_encoding": "Two-Pass Codierung",
|
"transcoding_two_pass_encoding": "Two-Pass Codierung",
|
||||||
@@ -327,7 +317,7 @@
|
|||||||
"trash_settings": "Papierkorb-Einstellungen",
|
"trash_settings": "Papierkorb-Einstellungen",
|
||||||
"trash_settings_description": "Papierkorb-Einstellungen verwalten",
|
"trash_settings_description": "Papierkorb-Einstellungen verwalten",
|
||||||
"untracked_files": "Unverfolgte Dateien",
|
"untracked_files": "Unverfolgte Dateien",
|
||||||
"untracked_files_description": "Diese Dateien werden nicht von der Application getrackt. Sie können das Ergebnis fehlgeschlagener Verschiebungen, unterbrochener Uploads oder aufgrund eines Fehlers sein",
|
"untracked_files_description": "Diese Dateien werden nicht von der Anwendung getrackt. Sie können das Ergebnis fehlgeschlagener Verschiebungen, unterbrochener Uploads oder aufgrund eines Fehlers sein",
|
||||||
"user_cleanup_job": "Benutzer aufräumen",
|
"user_cleanup_job": "Benutzer aufräumen",
|
||||||
"user_delete_delay": "Das Konto und die Dateien von <b>{user}</b> werden in {delay, plural, one {einem Tag} other {# Tagen}} für eine permanente Löschung geplant.",
|
"user_delete_delay": "Das Konto und die Dateien von <b>{user}</b> werden in {delay, plural, one {einem Tag} other {# Tagen}} für eine permanente Löschung geplant.",
|
||||||
"user_delete_delay_settings": "Verzögerung für das Löschen von Benutzern",
|
"user_delete_delay_settings": "Verzögerung für das Löschen von Benutzern",
|
||||||
@@ -360,12 +350,12 @@
|
|||||||
"album_added_notification_setting_description": "Erhalte eine E-Mail-Benachrichtigung, wenn du zu einem freigegebenen Album hinzugefügt wurdest",
|
"album_added_notification_setting_description": "Erhalte eine E-Mail-Benachrichtigung, wenn du zu einem freigegebenen Album hinzugefügt wurdest",
|
||||||
"album_cover_updated": "Album-Cover aktualisiert",
|
"album_cover_updated": "Album-Cover aktualisiert",
|
||||||
"album_delete_confirmation": "Bist du sicher, dass du das Album {album} löschen willst?",
|
"album_delete_confirmation": "Bist du sicher, dass du das Album {album} löschen willst?",
|
||||||
"album_delete_confirmation_description": "Wenn dieses Album geteilt wurde, können andere Benutzer nicht mehr darauf zugreifen.",
|
"album_delete_confirmation_description": "Falls dieses Album geteilt wurde, können andere Benutzer nicht mehr darauf zugreifen.",
|
||||||
"album_info_updated": "Album-Infos aktualisiert",
|
"album_info_updated": "Album-Infos aktualisiert",
|
||||||
"album_leave": "Album verlassen?",
|
"album_leave": "Album verlassen?",
|
||||||
"album_leave_confirmation": "Bist du sicher, dass du das Album {album} verlassen willst?",
|
"album_leave_confirmation": "Bist du sicher, dass du das Album {album} verlassen willst?",
|
||||||
"album_name": "Album Name",
|
"album_name": "Albumname",
|
||||||
"album_options": "Album Optionen",
|
"album_options": "Albumoptionen",
|
||||||
"album_remove_user": "Nutzer entfernen?",
|
"album_remove_user": "Nutzer entfernen?",
|
||||||
"album_remove_user_confirmation": "Bist du sicher, dass du {user} entfernen willst?",
|
"album_remove_user_confirmation": "Bist du sicher, dass du {user} entfernen willst?",
|
||||||
"album_share_no_users": "Es sieht so aus, als hättest du dieses Album mit allen Benutzern geteilt oder du hast keine Benutzer, mit denen du teilen kannst.",
|
"album_share_no_users": "Es sieht so aus, als hättest du dieses Album mit allen Benutzern geteilt oder du hast keine Benutzer, mit denen du teilen kannst.",
|
||||||
@@ -373,7 +363,7 @@
|
|||||||
"album_updated_setting_description": "Erhalte eine E-Mail-Benachrichtigung, wenn ein freigegebenes Album neue Dateien enthält",
|
"album_updated_setting_description": "Erhalte eine E-Mail-Benachrichtigung, wenn ein freigegebenes Album neue Dateien enthält",
|
||||||
"album_user_left": "{album} verlassen",
|
"album_user_left": "{album} verlassen",
|
||||||
"album_user_removed": "{user} entfernt",
|
"album_user_removed": "{user} entfernt",
|
||||||
"album_with_link_access": "Lass jeden mit dem Link Fotos und Personen in diesem Album sehen.",
|
"album_with_link_access": "Lass jeden mit dem Link die Fotos und Personen in diesem Album sehen.",
|
||||||
"albums": "Alben",
|
"albums": "Alben",
|
||||||
"albums_count": "{count, plural, one {{count, number} Album} other {{count, number} Alben}}",
|
"albums_count": "{count, plural, one {{count, number} Album} other {{count, number} Alben}}",
|
||||||
"all": "Alle",
|
"all": "Alle",
|
||||||
@@ -395,8 +385,7 @@
|
|||||||
"archive_or_unarchive_photo": "Foto archivieren bzw. Archivierung aufheben",
|
"archive_or_unarchive_photo": "Foto archivieren bzw. Archivierung aufheben",
|
||||||
"archive_size": "Archivgröße",
|
"archive_size": "Archivgröße",
|
||||||
"archive_size_description": "Archivgröße für Downloads konfigurieren (in GiB)",
|
"archive_size_description": "Archivgröße für Downloads konfigurieren (in GiB)",
|
||||||
"archived": "Archiviert",
|
"archived_count": "{count, plural, other {# archiviert}}",
|
||||||
"archived_count": "{count, plural, other {# Archiviert}}",
|
|
||||||
"are_these_the_same_person": "Ist das dieselbe Person?",
|
"are_these_the_same_person": "Ist das dieselbe Person?",
|
||||||
"are_you_sure_to_do_this": "Bist du sicher, dass du das tun willst?",
|
"are_you_sure_to_do_this": "Bist du sicher, dass du das tun willst?",
|
||||||
"asset_added_to_album": "Zum Album hinzugefügt",
|
"asset_added_to_album": "Zum Album hinzugefügt",
|
||||||
@@ -414,9 +403,8 @@
|
|||||||
"assets": "Dateien",
|
"assets": "Dateien",
|
||||||
"assets_added_count": "{count, plural, one {# Datei} other {# Dateien}} hinzugefügt",
|
"assets_added_count": "{count, plural, one {# Datei} other {# Dateien}} hinzugefügt",
|
||||||
"assets_added_to_album_count": "{count, plural, one {# Datei} other {# Dateien}} zum Album hinzugefügt",
|
"assets_added_to_album_count": "{count, plural, one {# Datei} other {# Dateien}} zum Album hinzugefügt",
|
||||||
"assets_added_to_name_count": "{count, plural, one {# Element} other {# Elemente}} zu {hasName, select, true {<b>{name}</b>} other {neuen Album}} hinzugefügt",
|
"assets_added_to_name_count": "{count, plural, one {# Element} other {# Elemente}} zu {hasName, select, true {<b>{name}</b>} other {neuem Album}} hinzugefügt",
|
||||||
"assets_count": "{count, plural, one {# Datei} other {# Dateien}}",
|
"assets_count": "{count, plural, one {# Datei} other {# Dateien}}",
|
||||||
"assets_moved_to_trash": "{count, plural, one {# Datei} other {# Dateien}} in den Papierkorb verschoben",
|
|
||||||
"assets_moved_to_trash_count": "{count, plural, one {# Datei} other {# Dateien}} in den Papierkorb verschoben",
|
"assets_moved_to_trash_count": "{count, plural, one {# Datei} other {# Dateien}} in den Papierkorb verschoben",
|
||||||
"assets_permanently_deleted_count": "{count, plural, one {# Datei} other {# Dateien}} dauerhaft gelöscht",
|
"assets_permanently_deleted_count": "{count, plural, one {# Datei} other {# Dateien}} dauerhaft gelöscht",
|
||||||
"assets_removed_count": "{count, plural, one {# Datei} other {# Dateien}} entfernt",
|
"assets_removed_count": "{count, plural, one {# Datei} other {# Dateien}} entfernt",
|
||||||
@@ -427,16 +415,16 @@
|
|||||||
"authorized_devices": "Verwendete Geräte",
|
"authorized_devices": "Verwendete Geräte",
|
||||||
"back": "Zurück",
|
"back": "Zurück",
|
||||||
"back_close_deselect": "Zurück, Schließen oder Abwählen",
|
"back_close_deselect": "Zurück, Schließen oder Abwählen",
|
||||||
"backward": "Zurück",
|
"backward": "Rückwärts",
|
||||||
"birthdate_saved": "Geburtsdatum erfolgreich gespeichert",
|
"birthdate_saved": "Geburtsdatum erfolgreich gespeichert",
|
||||||
"birthdate_set_description": "Das Geburtsdatum wird verwendet, um das Alter dieser Person zum Zeitpunkt eines Fotos zu berechnen.",
|
"birthdate_set_description": "Das Geburtsdatum wird verwendet, um das Alter dieser Person zum Zeitpunkt eines Fotos zu berechnen.",
|
||||||
"blurred_background": "Unscharfer Hintergrund",
|
"blurred_background": "Unscharfer Hintergrund",
|
||||||
"bugs_and_feature_requests": "Fehler & Verbesserungsvorschläge",
|
"bugs_and_feature_requests": "Fehler & Verbesserungsvorschläge",
|
||||||
"build": "Build",
|
"build": "Build",
|
||||||
"build_image": "Build Abbild",
|
"build_image": "Build Abbild",
|
||||||
"bulk_delete_duplicates_confirmation": "Bist du sicher, dass du {count, plural, one {# duplizierte Datei} other {# duplizierte Dateien}} gemeinsam löschen möchtest? Dabei wird die größte Datei jeder Gruppe behalten und alle anderen Duplikate dauerhaft gelöscht. Diese Aktion kann nicht rückgängig gemacht werden!",
|
"bulk_delete_duplicates_confirmation": "Bist du sicher, dass du {count, plural, one {# duplizierte Datei} other {# duplizierte Dateien gemeinsam}} löschen möchtest? Dabei wird die größte Datei jeder Gruppe behalten und alle anderen Duplikate dauerhaft gelöscht. Diese Aktion kann nicht rückgängig gemacht werden!",
|
||||||
"bulk_keep_duplicates_confirmation": "Bist du sicher, dass du {count, plural, one {# duplizierte Datei} other {# duplizierte Dateien}} behalten möchtest? Dies wird alle Duplikat-Gruppen auflösen ohne etwas zu löschen.",
|
"bulk_keep_duplicates_confirmation": "Bist du sicher, dass du {count, plural, one {# duplizierte Datei} other {# duplizierte Dateien}} behalten möchtest? Dies wird alle Duplikat-Gruppen auflösen ohne etwas zu löschen.",
|
||||||
"bulk_trash_duplicates_confirmation": "Bist du sicher, dass du {count, plural, one {# duplizierte Datei} other {# duplizierte Dateien}} gemeinsam in den Papierkorb verschieben möchtest? Dies wird die größte Datei jeder Gruppe behalten und alle anderen Duplikate in den Papierkorb verschieben.",
|
"bulk_trash_duplicates_confirmation": "Bist du sicher, dass du {count, plural, one {# duplizierte Datei} other {# duplizierte Dateien gemeinsam}} in den Papierkorb verschieben möchtest? Dies wird die größte Datei jeder Gruppe behalten und alle anderen Duplikate in den Papierkorb verschieben.",
|
||||||
"buy": "Immich erwerben",
|
"buy": "Immich erwerben",
|
||||||
"camera": "Kamera",
|
"camera": "Kamera",
|
||||||
"camera_brand": "Kamera-Marke",
|
"camera_brand": "Kamera-Marke",
|
||||||
@@ -446,16 +434,12 @@
|
|||||||
"cannot_merge_people": "Personen können nicht zusammengeführt werden",
|
"cannot_merge_people": "Personen können nicht zusammengeführt werden",
|
||||||
"cannot_undo_this_action": "Diese Aktion kann nicht rückgängig gemacht werden!",
|
"cannot_undo_this_action": "Diese Aktion kann nicht rückgängig gemacht werden!",
|
||||||
"cannot_update_the_description": "Beschreibung kann nicht aktualisiert werden",
|
"cannot_update_the_description": "Beschreibung kann nicht aktualisiert werden",
|
||||||
"cant_apply_changes": "Änderungen können nicht übernommen werden",
|
|
||||||
"cant_get_faces": "Es konnten keine Gesichter festgestellt werden",
|
|
||||||
"cant_search_people": "Es konnte nicht nach Personen gesucht werden",
|
|
||||||
"cant_search_places": "Es konnte nicht nach Orten gesucht werden",
|
|
||||||
"change_date": "Datum ändern",
|
"change_date": "Datum ändern",
|
||||||
"change_expiration_time": "Verfallszeitpunkt ändern",
|
"change_expiration_time": "Verfallszeitpunkt ändern",
|
||||||
"change_location": "Ort ändern",
|
"change_location": "Ort ändern",
|
||||||
"change_name": "Name ändern",
|
"change_name": "Name ändern",
|
||||||
"change_name_successfully": "Name wurde erfolgreich geändert",
|
"change_name_successfully": "Name wurde erfolgreich geändert",
|
||||||
"change_password": "Passwort Ändern",
|
"change_password": "Passwort ändern",
|
||||||
"change_password_description": "Dies ist entweder das erste Mal, dass du dich im System anmeldest, oder es wurde eine Anfrage zur Änderung deines Passworts gestellt. Bitte gib unten dein neues Passwort ein.",
|
"change_password_description": "Dies ist entweder das erste Mal, dass du dich im System anmeldest, oder es wurde eine Anfrage zur Änderung deines Passworts gestellt. Bitte gib unten dein neues Passwort ein.",
|
||||||
"change_your_password": "Ändere dein Passwort",
|
"change_your_password": "Ändere dein Passwort",
|
||||||
"changed_visibility_successfully": "Die Sichtbarkeit wurde erfolgreich geändert",
|
"changed_visibility_successfully": "Die Sichtbarkeit wurde erfolgreich geändert",
|
||||||
@@ -471,11 +455,11 @@
|
|||||||
"clockwise": "Im Uhrzeigersinn",
|
"clockwise": "Im Uhrzeigersinn",
|
||||||
"close": "Schließen",
|
"close": "Schließen",
|
||||||
"collapse": "Zusammenklappen",
|
"collapse": "Zusammenklappen",
|
||||||
"collapse_all": "Alles aufklappen",
|
"collapse_all": "Alle zusammenklappen",
|
||||||
"color": "Farbe",
|
"color": "Farbe",
|
||||||
"color_theme": "Farb-Theme",
|
"color_theme": "Farb-Theme",
|
||||||
"comment_deleted": "Kommentar gelöscht",
|
"comment_deleted": "Kommentar gelöscht",
|
||||||
"comment_options": "Kommentar-Optionen",
|
"comment_options": "Kommentaroptionen",
|
||||||
"comments_and_likes": "Kommentare & Likes",
|
"comments_and_likes": "Kommentare & Likes",
|
||||||
"comments_are_disabled": "Kommentare sind deaktiviert",
|
"comments_are_disabled": "Kommentare sind deaktiviert",
|
||||||
"confirm": "Bestätigen",
|
"confirm": "Bestätigen",
|
||||||
@@ -486,7 +470,7 @@
|
|||||||
"context": "Kontext",
|
"context": "Kontext",
|
||||||
"continue": "Fortsetzen",
|
"continue": "Fortsetzen",
|
||||||
"copied_image_to_clipboard": "Das Bild wurde in die Zwischenablage kopiert.",
|
"copied_image_to_clipboard": "Das Bild wurde in die Zwischenablage kopiert.",
|
||||||
"copied_to_clipboard": "In Zwischenablage kopiert!",
|
"copied_to_clipboard": "In die Zwischenablage kopiert!",
|
||||||
"copy_error": "Kopier-Fehler",
|
"copy_error": "Kopier-Fehler",
|
||||||
"copy_file_path": "Dateipfad kopieren",
|
"copy_file_path": "Dateipfad kopieren",
|
||||||
"copy_image": "Bild kopieren",
|
"copy_image": "Bild kopieren",
|
||||||
@@ -507,7 +491,7 @@
|
|||||||
"create_new_person_hint": "Ausgewählte Dateien einer neuen Person zuweisen",
|
"create_new_person_hint": "Ausgewählte Dateien einer neuen Person zuweisen",
|
||||||
"create_new_user": "Neuen Nutzer erstellen",
|
"create_new_user": "Neuen Nutzer erstellen",
|
||||||
"create_tag": "Tag erstellen",
|
"create_tag": "Tag erstellen",
|
||||||
"create_tag_description": "Erstelle einen neuen Tag. Für verschachtelte Tags, gib den gesamten Pfad inklusive Slash an.",
|
"create_tag_description": "Erstelle einen neuen Tag. Für verschachtelte Tags, gib den gesamten Pfad inklusive Schrägstrich an.",
|
||||||
"create_user": "Nutzer erstellen",
|
"create_user": "Nutzer erstellen",
|
||||||
"created": "Erstellt",
|
"created": "Erstellt",
|
||||||
"current_device": "Aktuelles Gerät",
|
"current_device": "Aktuelles Gerät",
|
||||||
@@ -548,28 +532,21 @@
|
|||||||
"display_options": "Anzeigeoptionen",
|
"display_options": "Anzeigeoptionen",
|
||||||
"display_order": "Anzeigereihenfolge",
|
"display_order": "Anzeigereihenfolge",
|
||||||
"display_original_photos": "Originale Fotos anzeigen",
|
"display_original_photos": "Originale Fotos anzeigen",
|
||||||
"display_original_photos_setting_description": "Bei der Anzeige eines Bildes wird bevorzugt das Originalfoto statt der Miniaturansicht angezeigt, sofern das Original webkompatibel ist. Dies kann zu einer langsameren Ladezeit der Fotos führen.",
|
"display_original_photos_setting_description": "Bei der Anzeige eines Bildes wird bevorzugt das Originalfoto statt der Miniaturansicht angezeigt, sofern das Original webkompatibel ist. Dies kann zu einer längeren Ladezeit der Fotos führen.",
|
||||||
"do_not_show_again": "Diese Nachricht nicht erneut anzeigen",
|
"do_not_show_again": "Diese Nachricht nicht erneut anzeigen",
|
||||||
"documentation": "Dokumentation",
|
"documentation": "Dokumentation",
|
||||||
"done": "Fertig",
|
"done": "Fertig",
|
||||||
"download": "Download",
|
"download": "Herunterladen",
|
||||||
"download_include_embedded_motion_videos": "Eingebettete Videos",
|
"download_include_embedded_motion_videos": "Eingebettete Videos",
|
||||||
"download_include_embedded_motion_videos_description": "Videos, die in Bewegungsfotos eingebettet sind, als separate Datei einfügen",
|
"download_include_embedded_motion_videos_description": "Videos, die in Bewegungsfotos eingebettet sind, als separate Datei einfügen",
|
||||||
"download_settings": "Download",
|
"download_settings": "Download",
|
||||||
"download_settings_description": "Einstellungen für den Dateidownload verwalten",
|
"download_settings_description": "Einstellungen für das Herunterladen von Dateien verwalten",
|
||||||
"downloading": "Downloaden",
|
"downloading": "Herunterladen",
|
||||||
"downloading_asset_filename": "Datei {filename} wird heruntergeladen",
|
"downloading_asset_filename": "Datei {filename} wird heruntergeladen",
|
||||||
"drop_files_to_upload": "Lade Dateien hoch, indem du sie hierhin ziehst",
|
"drop_files_to_upload": "Lade Dateien hoch, indem du sie hierhin ziehst",
|
||||||
"duplicates": "Duplikate",
|
"duplicates": "Duplikate",
|
||||||
"duplicates_description": "Löse jede Gruppe auf, indem du angibst, welche, wenn überhaupt, Duplikate sind",
|
"duplicates_description": "Löse jede Gruppe auf, indem du angibst, welche, wenn überhaupt, Duplikate sind",
|
||||||
"duration": "Dauer",
|
"duration": "Dauer",
|
||||||
"durations": {
|
|
||||||
"days": "{days, plural, one {Tag} other {{days, number} Tage}}",
|
|
||||||
"hours": "{hours, plural, one {eine Stunde} other {{hours, number} Stunden}}",
|
|
||||||
"minutes": "{minutes, plural, one {eine minute} other {{minutes, number} minuten}}",
|
|
||||||
"months": "{months, plural, one {ein Monat} other {{months, number} Monate}}",
|
|
||||||
"years": "{years, plural, one {ein Jahr} other {{years, number} Jahre}}"
|
|
||||||
},
|
|
||||||
"edit": "Bearbeiten",
|
"edit": "Bearbeiten",
|
||||||
"edit_album": "Album bearbeiten",
|
"edit_album": "Album bearbeiten",
|
||||||
"edit_avatar": "Avatar bearbeiten",
|
"edit_avatar": "Avatar bearbeiten",
|
||||||
@@ -589,13 +566,11 @@
|
|||||||
"edit_user": "Nutzer bearbeiten",
|
"edit_user": "Nutzer bearbeiten",
|
||||||
"edited": "Bearbeitet",
|
"edited": "Bearbeitet",
|
||||||
"editor": "Bearbeiter",
|
"editor": "Bearbeiter",
|
||||||
"editor_close_without_save_prompt": "Diese Änderungen werden nicht gespeichert",
|
"editor_close_without_save_prompt": "Die Änderungen werden nicht gespeichert",
|
||||||
"editor_close_without_save_title": "Editor schließen?",
|
"editor_close_without_save_title": "Editor schließen?",
|
||||||
"editor_crop_tool_h2_aspect_ratios": "Seitenverhältnisse",
|
"editor_crop_tool_h2_aspect_ratios": "Seitenverhältnisse",
|
||||||
"editor_crop_tool_h2_rotation": "Rotation",
|
"editor_crop_tool_h2_rotation": "Drehung",
|
||||||
"email": "E-Mail",
|
"email": "E-Mail",
|
||||||
"empty": "Leer",
|
|
||||||
"empty_album": "Leeres Album",
|
|
||||||
"empty_trash": "Papierkorb leeren",
|
"empty_trash": "Papierkorb leeren",
|
||||||
"empty_trash_confirmation": "Bist du sicher, dass du den Papierkorb leeren willst?\nDies entfernt alle Dateien im Papierkorb permanent aus Immich und kann nicht rückgängig gemacht werden!",
|
"empty_trash_confirmation": "Bist du sicher, dass du den Papierkorb leeren willst?\nDies entfernt alle Dateien im Papierkorb permanent aus Immich und kann nicht rückgängig gemacht werden!",
|
||||||
"enable": "Aktivieren",
|
"enable": "Aktivieren",
|
||||||
@@ -639,7 +614,7 @@
|
|||||||
"incorrect_email_or_password": "Ungültige E-Mail oder Passwort",
|
"incorrect_email_or_password": "Ungültige E-Mail oder Passwort",
|
||||||
"paths_validation_failed": "{paths, plural, one {# Pfad konnte} other {# Pfade konnten}} nicht validiert werden",
|
"paths_validation_failed": "{paths, plural, one {# Pfad konnte} other {# Pfade konnten}} nicht validiert werden",
|
||||||
"profile_picture_transparent_pixels": "Profilbilder dürfen keine transparenten Pixel haben. Bitte zoome heran und/oder verschiebe das Bild.",
|
"profile_picture_transparent_pixels": "Profilbilder dürfen keine transparenten Pixel haben. Bitte zoome heran und/oder verschiebe das Bild.",
|
||||||
"quota_higher_than_disk_size": "Dein festgelegtes Kontingent ist grösser als der verfügbare Speicher",
|
"quota_higher_than_disk_size": "Dein festgelegtes Kontingent ist größer als der verfügbare Speicher",
|
||||||
"repair_unable_to_check_items": "{count, select, one {Eintrag konnte} other {Einträge konnten}} nicht überprüft werden",
|
"repair_unable_to_check_items": "{count, select, one {Eintrag konnte} other {Einträge konnten}} nicht überprüft werden",
|
||||||
"unable_to_add_album_users": "Benutzer konnten nicht zum Album hinzugefügt werden",
|
"unable_to_add_album_users": "Benutzer konnten nicht zum Album hinzugefügt werden",
|
||||||
"unable_to_add_assets_to_shared_link": "Datei konnte nicht zum geteilten Link hinzugefügt werden",
|
"unable_to_add_assets_to_shared_link": "Datei konnte nicht zum geteilten Link hinzugefügt werden",
|
||||||
@@ -656,12 +631,10 @@
|
|||||||
"unable_to_change_location": "Ort kann nicht verändert werden",
|
"unable_to_change_location": "Ort kann nicht verändert werden",
|
||||||
"unable_to_change_password": "Passwort konnte nicht geändert werden",
|
"unable_to_change_password": "Passwort konnte nicht geändert werden",
|
||||||
"unable_to_change_visibility": "Sichtbarkeit von {count, plural, one {einer Person} other {# Personen}} konnte nicht geändert werden",
|
"unable_to_change_visibility": "Sichtbarkeit von {count, plural, one {einer Person} other {# Personen}} konnte nicht geändert werden",
|
||||||
"unable_to_check_item": "Objekt kann nicht überprüft werden",
|
|
||||||
"unable_to_check_items": "Objekte konnten nicht überprüft werden",
|
|
||||||
"unable_to_complete_oauth_login": "OAuth-Anmeldung konnte nicht abgeschlossen werden",
|
"unable_to_complete_oauth_login": "OAuth-Anmeldung konnte nicht abgeschlossen werden",
|
||||||
"unable_to_connect": "Verbindung konnte nicht hergestellt werden",
|
"unable_to_connect": "Verbindung konnte nicht hergestellt werden",
|
||||||
"unable_to_connect_to_server": "Verbindung zum Server konnte nicht hergestellt werden",
|
"unable_to_connect_to_server": "Verbindung zum Server konnte nicht hergestellt werden",
|
||||||
"unable_to_copy_to_clipboard": "Konnte nicht in die Zwischenablage kopieren, stelle sicher, dass du per https auf die Seite zugreiffst",
|
"unable_to_copy_to_clipboard": "Konnte nicht in die Zwischenablage kopieren, stelle sicher, dass du per https auf die Seite zugreifst",
|
||||||
"unable_to_create_admin_account": "Administratorkonto konnte nicht erstellt werden",
|
"unable_to_create_admin_account": "Administratorkonto konnte nicht erstellt werden",
|
||||||
"unable_to_create_api_key": "Es konnte kein API-Schlüssel erstellt werden",
|
"unable_to_create_api_key": "Es konnte kein API-Schlüssel erstellt werden",
|
||||||
"unable_to_create_library": "Bibliothek konnte nicht erstellt werden",
|
"unable_to_create_library": "Bibliothek konnte nicht erstellt werden",
|
||||||
@@ -682,7 +655,7 @@
|
|||||||
"unable_to_get_comments_number": "Anzahl der Kommentare konnte nicht abgerufen werden",
|
"unable_to_get_comments_number": "Anzahl der Kommentare konnte nicht abgerufen werden",
|
||||||
"unable_to_get_shared_link": "Fehler beim Abrufen des Freigabelinks",
|
"unable_to_get_shared_link": "Fehler beim Abrufen des Freigabelinks",
|
||||||
"unable_to_hide_person": "Person kann nicht versteckt werden",
|
"unable_to_hide_person": "Person kann nicht versteckt werden",
|
||||||
"unable_to_link_motion_video": "Bewegungsvideo kann nicht verlinkt werden",
|
"unable_to_link_motion_video": "Bewegungsvideo kann nicht verknüpft werden",
|
||||||
"unable_to_link_oauth_account": "OAuth-Konto kann nicht verknüpft werden",
|
"unable_to_link_oauth_account": "OAuth-Konto kann nicht verknüpft werden",
|
||||||
"unable_to_load_album": "Album kann nicht geladen werden",
|
"unable_to_load_album": "Album kann nicht geladen werden",
|
||||||
"unable_to_load_asset_activity": "Foto-Aktivität konnte nicht geladen werden",
|
"unable_to_load_asset_activity": "Foto-Aktivität konnte nicht geladen werden",
|
||||||
@@ -698,12 +671,10 @@
|
|||||||
"unable_to_remove_album_users": "Mitglieder der Alben können nicht entfernt werden",
|
"unable_to_remove_album_users": "Mitglieder der Alben können nicht entfernt werden",
|
||||||
"unable_to_remove_api_key": "API-Schlüssel konnte nicht entfernt werden",
|
"unable_to_remove_api_key": "API-Schlüssel konnte nicht entfernt werden",
|
||||||
"unable_to_remove_assets_from_shared_link": "Dateien konnten nicht von geteiltem Link entfernt werden",
|
"unable_to_remove_assets_from_shared_link": "Dateien konnten nicht von geteiltem Link entfernt werden",
|
||||||
"unable_to_remove_comment": "Kommentar kann nicht entfernt werden",
|
|
||||||
"unable_to_remove_deleted_assets": "Offline-Dateien konnten nicht entfernt werden",
|
"unable_to_remove_deleted_assets": "Offline-Dateien konnten nicht entfernt werden",
|
||||||
"unable_to_remove_library": "Bibliothek kann nicht entfernt werden",
|
"unable_to_remove_library": "Bibliothek kann nicht entfernt werden",
|
||||||
"unable_to_remove_partner": "Partner kann nicht entfernt werden",
|
"unable_to_remove_partner": "Partner kann nicht entfernt werden",
|
||||||
"unable_to_remove_reaction": "Reaktion kann nicht entfernt werden",
|
"unable_to_remove_reaction": "Reaktion kann nicht entfernt werden",
|
||||||
"unable_to_remove_user": "Benutzer kann nicht entfernt werden",
|
|
||||||
"unable_to_repair_items": "Objekte können nicht repariert werden",
|
"unable_to_repair_items": "Objekte können nicht repariert werden",
|
||||||
"unable_to_reset_password": "Passwort kann nicht zurückgesetzt werden",
|
"unable_to_reset_password": "Passwort kann nicht zurückgesetzt werden",
|
||||||
"unable_to_resolve_duplicate": "Duplikate können nicht aufgelöst werden",
|
"unable_to_resolve_duplicate": "Duplikate können nicht aufgelöst werden",
|
||||||
@@ -720,10 +691,10 @@
|
|||||||
"unable_to_scan_library": "Bibliothek konnte nicht gescannt werden",
|
"unable_to_scan_library": "Bibliothek konnte nicht gescannt werden",
|
||||||
"unable_to_set_feature_photo": "Hauptfoto konnte nicht festgelegt werden",
|
"unable_to_set_feature_photo": "Hauptfoto konnte nicht festgelegt werden",
|
||||||
"unable_to_set_profile_picture": "Profilbild konnte nicht gesetzt werden",
|
"unable_to_set_profile_picture": "Profilbild konnte nicht gesetzt werden",
|
||||||
"unable_to_submit_job": "Auftrag konnte nicht übermittelt werden",
|
"unable_to_submit_job": "Aufgabe konnte nicht eingereicht werden",
|
||||||
"unable_to_trash_asset": "Objekte konnten nicht gelöscht werden",
|
"unable_to_trash_asset": "Objekte konnten nicht gelöscht werden",
|
||||||
"unable_to_unlink_account": "Die Verknüpfung des Kontos kann nicht aufgehoben werden",
|
"unable_to_unlink_account": "Die Verknüpfung des Kontos kann nicht aufgehoben werden",
|
||||||
"unable_to_unlink_motion_video": "Verlinkung zum Bewegungsvideo kann nicht aufgehoben werden",
|
"unable_to_unlink_motion_video": "Verknüpfung zum Bewegungsvideo kann nicht aufgehoben werden",
|
||||||
"unable_to_update_album_cover": "Album-Cover konnte nicht aktualisiert werden",
|
"unable_to_update_album_cover": "Album-Cover konnte nicht aktualisiert werden",
|
||||||
"unable_to_update_album_info": "Album-Info konnte nicht aktualisiert werden",
|
"unable_to_update_album_info": "Album-Info konnte nicht aktualisiert werden",
|
||||||
"unable_to_update_library": "Die Bibliothek konnte nicht aktualisiert werden",
|
"unable_to_update_library": "Die Bibliothek konnte nicht aktualisiert werden",
|
||||||
@@ -733,13 +704,9 @@
|
|||||||
"unable_to_update_user": "Der Nutzer konnte nicht aktualisiert werden",
|
"unable_to_update_user": "Der Nutzer konnte nicht aktualisiert werden",
|
||||||
"unable_to_upload_file": "Datei konnte nicht hochgeladen werden"
|
"unable_to_upload_file": "Datei konnte nicht hochgeladen werden"
|
||||||
},
|
},
|
||||||
"every_day_at_onepm": "Täglich 13.00 Uhr",
|
|
||||||
"every_night_at_midnight": "Täglich um Mitternacht",
|
|
||||||
"every_night_at_twoam": "Jede Nacht um 2.00 Uhr",
|
|
||||||
"every_six_hours": "Alle 6 Stunden",
|
|
||||||
"exif": "EXIF",
|
"exif": "EXIF",
|
||||||
"exit_slideshow": "Diashow beenden",
|
"exit_slideshow": "Diashow beenden",
|
||||||
"expand_all": "Alle erweitern",
|
"expand_all": "Alle aufklappen",
|
||||||
"expire_after": "Verfällt nach",
|
"expire_after": "Verfällt nach",
|
||||||
"expired": "Verfallen",
|
"expired": "Verfallen",
|
||||||
"expires_date": "Läuft am {date} ab",
|
"expires_date": "Läuft am {date} ab",
|
||||||
@@ -751,33 +718,27 @@
|
|||||||
"external": "Extern",
|
"external": "Extern",
|
||||||
"external_libraries": "Externe Bibliotheken",
|
"external_libraries": "Externe Bibliotheken",
|
||||||
"face_unassigned": "Nicht zugewiesen",
|
"face_unassigned": "Nicht zugewiesen",
|
||||||
"failed_to_get_people": "Personen konnten nicht ermittelt werden",
|
|
||||||
"favorite": "Favorit",
|
"favorite": "Favorit",
|
||||||
"favorite_or_unfavorite_photo": "Favorisiertes oder nicht favorisiertes Foto",
|
"favorite_or_unfavorite_photo": "Favorisiertes oder nicht favorisiertes Foto",
|
||||||
"favorites": "Favoriten",
|
"favorites": "Favoriten",
|
||||||
"feature": "Funktion",
|
|
||||||
"feature_photo_updated": "Profilbild aktualisiert",
|
"feature_photo_updated": "Profilbild aktualisiert",
|
||||||
"featurecollection": "Funktionssammlung",
|
|
||||||
"features": "Funktionen",
|
"features": "Funktionen",
|
||||||
"features_setting_description": "Funktionen der App verwalten",
|
"features_setting_description": "Funktionen der App verwalten",
|
||||||
"file_name": "Dateiname",
|
"file_name": "Dateiname",
|
||||||
"file_name_or_extension": "Dateiname oder -erweiterung",
|
"file_name_or_extension": "Dateiname oder -erweiterung",
|
||||||
"filename": "Dateiname",
|
"filename": "Dateiname",
|
||||||
"files": "",
|
|
||||||
"filetype": "Dateityp",
|
"filetype": "Dateityp",
|
||||||
"filter_people": "Personen filtern",
|
"filter_people": "Personen filtern",
|
||||||
"find_them_fast": "Finde sie schneller mit der Suche nach Namen",
|
"find_them_fast": "Finde sie schneller mit der Suche nach Namen",
|
||||||
"fix_incorrect_match": "Fehlerhafte Übereinstimmung beheben",
|
"fix_incorrect_match": "Fehlerhafte Übereinstimmung beheben",
|
||||||
"folders": "Ordner",
|
"folders": "Ordner",
|
||||||
"folders_feature_description": "Durchsuchen der Ordneransicht für Fotos und Videos im Dateisystem",
|
"folders_feature_description": "Durchsuchen der Ordneransicht für Fotos und Videos im Dateisystem",
|
||||||
"force_re-scan_library_files": "Erzwingen des erneuten Scannens aller Bibliotheksdateien",
|
"forward": "Vorwärts",
|
||||||
"forward": "Weiterleiten",
|
|
||||||
"general": "Allgemein",
|
"general": "Allgemein",
|
||||||
"get_help": "Hilfe erhalten",
|
"get_help": "Hilfe erhalten",
|
||||||
"getting_started": "Erste Schritte",
|
"getting_started": "Erste Schritte",
|
||||||
"go_back": "Zurück",
|
"go_back": "Zurück",
|
||||||
"go_to_search": "Zur Suche gehen",
|
"go_to_search": "Zur Suche gehen",
|
||||||
"go_to_share_page": "Zur Freigabeseite gehen",
|
|
||||||
"group_albums_by": "Alben gruppieren nach...",
|
"group_albums_by": "Alben gruppieren nach...",
|
||||||
"group_no": "Keine Gruppierung",
|
"group_no": "Keine Gruppierung",
|
||||||
"group_owner": "Gruppierung nach Besitzer",
|
"group_owner": "Gruppierung nach Besitzer",
|
||||||
@@ -803,12 +764,8 @@
|
|||||||
"image_alt_text_date_place_2_people": "{isVideo, select, true {Video} other {Bild}} aufgenommen in {city}, {country} mit {person1} und {person2} am {date}",
|
"image_alt_text_date_place_2_people": "{isVideo, select, true {Video} other {Bild}} aufgenommen in {city}, {country} mit {person1} und {person2} am {date}",
|
||||||
"image_alt_text_date_place_3_people": "{isVideo, select, true {Video} other {Bild}} aufgenommen in {city}, {country} mit {person1}, {person2}, und {person3} am {date}",
|
"image_alt_text_date_place_3_people": "{isVideo, select, true {Video} other {Bild}} aufgenommen in {city}, {country} mit {person1}, {person2}, und {person3} am {date}",
|
||||||
"image_alt_text_date_place_4_or_more_people": "{isVideo, select, true {Video} other {Bild}} aufgenommen in {city}, {country} mit {person1}, {person2}, und {additionalCount, number} anderen am {date}",
|
"image_alt_text_date_place_4_or_more_people": "{isVideo, select, true {Video} other {Bild}} aufgenommen in {city}, {country} mit {person1}, {person2}, und {additionalCount, number} anderen am {date}",
|
||||||
"image_alt_text_people": "{count, plural, =1 {mit {person1}} =2 {mit {person1} und {person2}} =3 {mit {person1}, {person2} und {person3}} other {mit {person1}, {person2} und {others, number} anderen}}",
|
|
||||||
"image_alt_text_place": "in {city}, {country}",
|
|
||||||
"image_taken": "{isVideo, select, true {Video aufgenommen} other {Bild aufgenommen}}",
|
|
||||||
"img": "Img",
|
|
||||||
"immich_logo": "Immich-Logo",
|
"immich_logo": "Immich-Logo",
|
||||||
"immich_web_interface": "Immich Webschnittstelle",
|
"immich_web_interface": "Immich-Web-Oberfläche",
|
||||||
"import_from_json": "Aus JSON importieren",
|
"import_from_json": "Aus JSON importieren",
|
||||||
"import_path": "Importpfad",
|
"import_path": "Importpfad",
|
||||||
"in_albums": "In {count, plural, one {# Album} other {# Alben}}",
|
"in_albums": "In {count, plural, one {# Album} other {# Alben}}",
|
||||||
@@ -819,15 +776,14 @@
|
|||||||
"individual_share": "Individuelle Freigabe",
|
"individual_share": "Individuelle Freigabe",
|
||||||
"info": "Info",
|
"info": "Info",
|
||||||
"interval": {
|
"interval": {
|
||||||
"day_at_onepm": "Täglich 13.00 Uhr",
|
"day_at_onepm": "Täglich um 13:00 Uhr",
|
||||||
"hours": "{hours, plural, one {Jede Stunde} other {Alle {hours, number} Stunden}}",
|
"hours": "{hours, plural, one {Jede Stunde} other {Alle {hours, number} Stunden}}",
|
||||||
"night_at_midnight": "Täglich um Mitternacht",
|
"night_at_midnight": "Täglich um Mitternacht",
|
||||||
"night_at_twoam": "Täglich Nachts um 2.00 Uhr"
|
"night_at_twoam": "Täglich nachts um 2:00 Uhr"
|
||||||
},
|
},
|
||||||
"invite_people": "Personen einladen",
|
"invite_people": "Personen einladen",
|
||||||
"invite_to_album": "Zum Album einladen",
|
"invite_to_album": "Zum Album einladen",
|
||||||
"items_count": "{count, plural, one {# Eintrag} other {# Einträge}}",
|
"items_count": "{count, plural, one {# Eintrag} other {# Einträge}}",
|
||||||
"job_settings_description": "Parallelität von Jobs verwalten",
|
|
||||||
"jobs": "Aufgaben",
|
"jobs": "Aufgaben",
|
||||||
"keep": "Behalten",
|
"keep": "Behalten",
|
||||||
"keep_all": "Alle behalten",
|
"keep_all": "Alle behalten",
|
||||||
@@ -842,34 +798,9 @@
|
|||||||
"level": "Level",
|
"level": "Level",
|
||||||
"library": "Bibliothek",
|
"library": "Bibliothek",
|
||||||
"library_options": "Bibliotheksoptionen",
|
"library_options": "Bibliotheksoptionen",
|
||||||
"license_account_info": "Dein Account ist lizensiert",
|
|
||||||
"license_activated_subtitle": "Wir danken dir für die Unterstützung von Immich und Open-Source-Software",
|
|
||||||
"license_activated_title": "Deine Lizenz wurde erfolgreich aktiviert",
|
|
||||||
"license_button_activate": "Aktivieren",
|
|
||||||
"license_button_buy": "Kaufen",
|
|
||||||
"license_button_buy_license": "Lizenz erwerben",
|
|
||||||
"license_button_select": "Auswählen",
|
|
||||||
"license_failed_activation": "Die Aktivierung der Lizenz ist fehlgeschlagen. Bitte überprüfe deine E-Mail, um den korrekten Lizenzschlüssel zu finden!",
|
|
||||||
"license_individual_description_1": "1 Lizenz pro Benutzer auf einem beliebigen Server",
|
|
||||||
"license_individual_title": "Individuelle Lizenz",
|
|
||||||
"license_info_licensed": "Lizensiert",
|
|
||||||
"license_info_unlicensed": "Unlizensiert",
|
|
||||||
"license_input_suggestion": "Hast du bereits eine Lizenz? Gib den Key unten ein",
|
|
||||||
"license_license_subtitle": "Erwerbe eine Lizenz zur Unterstützung von Immich",
|
|
||||||
"license_license_title": "LIZENZ",
|
|
||||||
"license_lifetime_description": "Lebenslange Lizenz",
|
|
||||||
"license_per_server": "Pro Server",
|
|
||||||
"license_per_user": "Pro Nutzer",
|
|
||||||
"license_server_description_1": "1 Lizenz pro Server",
|
|
||||||
"license_server_description_2": "Lizenz für alle Nutzer des Servers",
|
|
||||||
"license_server_title": "Serverlizenz",
|
|
||||||
"license_trial_info_1": "Du verwendest eine unlizenzierte Version von Immich",
|
|
||||||
"license_trial_info_2": "Du benutzt Immich seit ungefähr",
|
|
||||||
"license_trial_info_3": "{accountAge, plural, one {# Tag} other {# Tage}}",
|
|
||||||
"license_trial_info_4": "Bitte erwäge den Kauf einer Lizenz, um die kontinuierliche Weiterentwicklung des Dienstes zu unterstützen",
|
|
||||||
"light": "Hell",
|
"light": "Hell",
|
||||||
"like_deleted": "Like gelöscht",
|
"like_deleted": "Like gelöscht",
|
||||||
"link_motion_video": "Link Bewegungsvideo",
|
"link_motion_video": "Bewegungsvideo verknüpfen",
|
||||||
"link_options": "Link-Optionen",
|
"link_options": "Link-Optionen",
|
||||||
"link_to_oauth": "Link zu OAuth",
|
"link_to_oauth": "Link zu OAuth",
|
||||||
"linked_oauth_account": "Verknüpftes OAuth-Konto",
|
"linked_oauth_account": "Verknüpftes OAuth-Konto",
|
||||||
@@ -888,6 +819,7 @@
|
|||||||
"look": "Erscheinungsbild",
|
"look": "Erscheinungsbild",
|
||||||
"loop_videos": "Loop-Videos",
|
"loop_videos": "Loop-Videos",
|
||||||
"loop_videos_description": "Aktiviere diese Option, um eine automatische Videoschleife in der Detailansicht zu erstellen.",
|
"loop_videos_description": "Aktiviere diese Option, um eine automatische Videoschleife in der Detailansicht zu erstellen.",
|
||||||
|
"main_branch_warning": "Du benutzt eine Entwicklungsversion. Wir empfehlen dringend, eine Release-Version zu verwenden!",
|
||||||
"make": "Marke",
|
"make": "Marke",
|
||||||
"manage_shared_links": "Freigegebene Links verwalten",
|
"manage_shared_links": "Freigegebene Links verwalten",
|
||||||
"manage_sharing_with_partners": "Gemeinsame Nutzung mit Partnern verwalten",
|
"manage_sharing_with_partners": "Gemeinsame Nutzung mit Partnern verwalten",
|
||||||
@@ -897,8 +829,8 @@
|
|||||||
"manage_your_devices": "Deine eingeloggten Geräte verwalten",
|
"manage_your_devices": "Deine eingeloggten Geräte verwalten",
|
||||||
"manage_your_oauth_connection": "Deine OAuth-Verbindung verwalten",
|
"manage_your_oauth_connection": "Deine OAuth-Verbindung verwalten",
|
||||||
"map": "Karte",
|
"map": "Karte",
|
||||||
"map_marker_for_images": "Kartemarkierung für Bilder, die in {city}, {country} aufgenommen wurden",
|
"map_marker_for_images": "Kartenmarkierung für Bilder, die in {city}, {country} aufgenommen wurden",
|
||||||
"map_marker_with_image": "Kartenmarker mit Bild",
|
"map_marker_with_image": "Kartenmarkierung mit Bild",
|
||||||
"map_settings": "Karteneinstellungen",
|
"map_settings": "Karteneinstellungen",
|
||||||
"matches": "Treffer",
|
"matches": "Treffer",
|
||||||
"media_type": "Medientyp",
|
"media_type": "Medientyp",
|
||||||
@@ -939,9 +871,9 @@
|
|||||||
"no_albums_yet": "Es sieht so aus, als hättest du noch keine Alben.",
|
"no_albums_yet": "Es sieht so aus, als hättest du noch keine Alben.",
|
||||||
"no_archived_assets_message": "Archiviere Fotos und Videos, um sie aus deiner Fotoansicht zu entfernen",
|
"no_archived_assets_message": "Archiviere Fotos und Videos, um sie aus deiner Fotoansicht zu entfernen",
|
||||||
"no_assets_message": "KLICKE, UM DEIN ERSTES FOTO HOCHZULADEN",
|
"no_assets_message": "KLICKE, UM DEIN ERSTES FOTO HOCHZULADEN",
|
||||||
"no_duplicates_found": "Keine Duplikate wurden gefunden.",
|
"no_duplicates_found": "Es wurden keine Duplikate gefunden.",
|
||||||
"no_exif_info_available": "Keine Exif-Informationen vorhanden",
|
"no_exif_info_available": "Keine EXIF-Informationen vorhanden",
|
||||||
"no_explore_results_message": "Lade weitere Fotos hoch, um deine Sammlung zu vergrößern.",
|
"no_explore_results_message": "Lade weitere Fotos hoch, um deine Sammlung zu erkunden.",
|
||||||
"no_favorites_message": "Füge Favoriten hinzu, um deine besten Bilder und Videos schnell zu finden",
|
"no_favorites_message": "Füge Favoriten hinzu, um deine besten Bilder und Videos schnell zu finden",
|
||||||
"no_libraries_message": "Eine externe Bibliothek erstellen, um deine Fotos und Videos anzusehen",
|
"no_libraries_message": "Eine externe Bibliothek erstellen, um deine Fotos und Videos anzusehen",
|
||||||
"no_name": "Kein Name",
|
"no_name": "Kein Name",
|
||||||
@@ -950,7 +882,7 @@
|
|||||||
"no_results_description": "Versuche es mit einem Synonym oder einem allgemeineren Stichwort",
|
"no_results_description": "Versuche es mit einem Synonym oder einem allgemeineren Stichwort",
|
||||||
"no_shared_albums_message": "Erstelle ein Album, um Fotos und Videos mit Personen in deinem Netzwerk zu teilen",
|
"no_shared_albums_message": "Erstelle ein Album, um Fotos und Videos mit Personen in deinem Netzwerk zu teilen",
|
||||||
"not_in_any_album": "In keinem Album",
|
"not_in_any_album": "In keinem Album",
|
||||||
"note_apply_storage_label_to_previously_uploaded assets": "Hinweis: Um ein Storage-Label zu verwenden, starte den",
|
"note_apply_storage_label_to_previously_uploaded assets": "Hinweis: Um eine Speicherpfadbezeichnung anzuwenden, starte den",
|
||||||
"note_unlimited_quota": "Hinweis: Verwende 0 für ein unlimitiertes Kontingent",
|
"note_unlimited_quota": "Hinweis: Verwende 0 für ein unlimitiertes Kontingent",
|
||||||
"notes": "Notizen",
|
"notes": "Notizen",
|
||||||
"notification_toggle_setting_description": "E-Mail-Benachrichtigungen aktivieren",
|
"notification_toggle_setting_description": "E-Mail-Benachrichtigungen aktivieren",
|
||||||
@@ -970,7 +902,6 @@
|
|||||||
"onboarding_welcome_user": "Willkommen, {user}",
|
"onboarding_welcome_user": "Willkommen, {user}",
|
||||||
"online": "Online",
|
"online": "Online",
|
||||||
"only_favorites": "Nur Favoriten",
|
"only_favorites": "Nur Favoriten",
|
||||||
"only_refreshes_modified_files": "Nur geänderte Dateien aktualisieren",
|
|
||||||
"open_in_map_view": "In Kartenansicht öffnen",
|
"open_in_map_view": "In Kartenansicht öffnen",
|
||||||
"open_in_openstreetmap": "In OpenStreetMap öffnen",
|
"open_in_openstreetmap": "In OpenStreetMap öffnen",
|
||||||
"open_the_search_filters": "Die Suchfilter öffnen",
|
"open_the_search_filters": "Die Suchfilter öffnen",
|
||||||
@@ -979,7 +910,7 @@
|
|||||||
"organize_your_library": "Organisiere deine Bibliothek",
|
"organize_your_library": "Organisiere deine Bibliothek",
|
||||||
"original": "Original",
|
"original": "Original",
|
||||||
"other": "Sonstiges",
|
"other": "Sonstiges",
|
||||||
"other_devices": "Sonstige Geräte",
|
"other_devices": "Andere Geräte",
|
||||||
"other_variables": "Sonstige Variablen",
|
"other_variables": "Sonstige Variablen",
|
||||||
"owned": "Eigenes",
|
"owned": "Eigenes",
|
||||||
"owner": "Besitzer",
|
"owner": "Besitzer",
|
||||||
@@ -1006,16 +937,14 @@
|
|||||||
"pending": "Ausstehend",
|
"pending": "Ausstehend",
|
||||||
"people": "Personen",
|
"people": "Personen",
|
||||||
"people_edits_count": "{count, plural, one {# Person} other {# Personen}} bearbeitet",
|
"people_edits_count": "{count, plural, one {# Person} other {# Personen}} bearbeitet",
|
||||||
"people_feature_description": "Durchsuchen von Fotos und Videos nach Personen gruppiert",
|
"people_feature_description": "Fotos und Videos nach Personen gruppiert durchsuchen",
|
||||||
"people_sidebar_description": "Eine Verknüpfung zu Personen in der Seitenleiste anzeigen",
|
"people_sidebar_description": "Eine Verknüpfung zu Personen in der Seitenleiste anzeigen",
|
||||||
"perform_library_tasks": "",
|
|
||||||
"permanent_deletion_warning": "Warnung vor endgültiger Löschung",
|
"permanent_deletion_warning": "Warnung vor endgültiger Löschung",
|
||||||
"permanent_deletion_warning_setting_description": "Anzeige einer Warnung beim permanenten Löschen von Objekten",
|
"permanent_deletion_warning_setting_description": "Anzeige einer Warnung beim permanenten Löschen von Objekten",
|
||||||
"permanently_delete": "Dauerhaft löschen",
|
"permanently_delete": "Dauerhaft löschen",
|
||||||
"permanently_delete_assets_count": "{count, plural, one {Datei} other {Dateien}} dauerhaft gelöscht",
|
"permanently_delete_assets_count": "{count, plural, one {Datei} other {Dateien}} dauerhaft gelöscht",
|
||||||
"permanently_delete_assets_prompt": "Bist du sicher, dass {count, plural, one {diese Datei} other {diese <b>#</b> Dateien}} dauerhaft gelöscht werden soll? Dadurch werden diese auch aus deinen Alben entfernt.",
|
"permanently_delete_assets_prompt": "Bist du sicher, dass {count, plural, one {diese Datei} other {diese <b>#</b> Dateien}} dauerhaft gelöscht werden soll? Dadurch {count, plural, one {wird} other {werden}} diese auch aus deinen Alben entfernt.",
|
||||||
"permanently_deleted_asset": "Dauerhaft gelöschtes Objekt",
|
"permanently_deleted_asset": "Dauerhaft gelöschtes Objekt",
|
||||||
"permanently_deleted_assets": "{count, plural, one {# Objekt} other {# Objekte}} dauerhaft gelöscht",
|
|
||||||
"permanently_deleted_assets_count": "{count, plural, one {# Datei} other {# Dateien}} dauerhaft gelöscht",
|
"permanently_deleted_assets_count": "{count, plural, one {# Datei} other {# Dateien}} dauerhaft gelöscht",
|
||||||
"person": "Person",
|
"person": "Person",
|
||||||
"person_hidden": "{name}{hidden, select, true { (verborgen)} other {}}",
|
"person_hidden": "{name}{hidden, select, true { (verborgen)} other {}}",
|
||||||
@@ -1024,14 +953,13 @@
|
|||||||
"photos_and_videos": "Fotos & Videos",
|
"photos_and_videos": "Fotos & Videos",
|
||||||
"photos_count": "{count, plural, one {{count, number} Foto} other {{count, number} Fotos}}",
|
"photos_count": "{count, plural, one {{count, number} Foto} other {{count, number} Fotos}}",
|
||||||
"photos_from_previous_years": "Fotos von vorherigen Jahren",
|
"photos_from_previous_years": "Fotos von vorherigen Jahren",
|
||||||
"pick_a_location": "Wählen einen Ort",
|
"pick_a_location": "Wähle einen Ort",
|
||||||
"place": "Ort",
|
"place": "Ort",
|
||||||
"places": "Orte",
|
"places": "Orte",
|
||||||
"play": "Abspielen",
|
"play": "Abspielen",
|
||||||
"play_memories": "Erinnerungen abspielen",
|
"play_memories": "Erinnerungen abspielen",
|
||||||
"play_motion_photo": "Bewegte Bilder abspielen",
|
"play_motion_photo": "Bewegte Bilder abspielen",
|
||||||
"play_or_pause_video": "Video Abspielen oder Pausieren",
|
"play_or_pause_video": "Video abspielen oder pausieren",
|
||||||
"point": "Hinweis",
|
|
||||||
"port": "Port",
|
"port": "Port",
|
||||||
"preset": "Voreinstellung",
|
"preset": "Voreinstellung",
|
||||||
"preview": "Vorschau",
|
"preview": "Vorschau",
|
||||||
@@ -1043,7 +971,7 @@
|
|||||||
"profile_image_of_user": "Profilbild von {user}",
|
"profile_image_of_user": "Profilbild von {user}",
|
||||||
"profile_picture_set": "Profilbild gesetzt.",
|
"profile_picture_set": "Profilbild gesetzt.",
|
||||||
"public_album": "Öffentliches Album",
|
"public_album": "Öffentliches Album",
|
||||||
"public_share": "Öffentliche Teilung",
|
"public_share": "Öffentliche Freigabe",
|
||||||
"purchase_account_info": "Unterstützer",
|
"purchase_account_info": "Unterstützer",
|
||||||
"purchase_activated_subtitle": "Danke für die Unterstützung von Immich und Open-Source Software",
|
"purchase_activated_subtitle": "Danke für die Unterstützung von Immich und Open-Source Software",
|
||||||
"purchase_activated_time": "Aktiviert am {date, date}",
|
"purchase_activated_time": "Aktiviert am {date, date}",
|
||||||
@@ -1060,44 +988,42 @@
|
|||||||
"purchase_individual_description_2": "Unterstützerstatus",
|
"purchase_individual_description_2": "Unterstützerstatus",
|
||||||
"purchase_individual_title": "Einzelperson",
|
"purchase_individual_title": "Einzelperson",
|
||||||
"purchase_input_suggestion": "Besitzen Sie bereits einen Produktschlüssel? Bitte geben Sie diesen unten ein",
|
"purchase_input_suggestion": "Besitzen Sie bereits einen Produktschlüssel? Bitte geben Sie diesen unten ein",
|
||||||
"purchase_license_subtitle": "Kaufe Immich um eine fortlaufende Entwicklung zu unterstützen",
|
"purchase_license_subtitle": "Kaufe Immich, um die fortlaufende Entwicklung zu unterstützen",
|
||||||
"purchase_lifetime_description": "Lebenslange Gültigkeit",
|
"purchase_lifetime_description": "Lebenslange Gültigkeit",
|
||||||
"purchase_option_title": "KAUF OPTIONEN",
|
"purchase_option_title": "KAUFOPTIONEN",
|
||||||
"purchase_panel_info_1": "Die Entwicklung von Immich erfordert viel Zeit und Mühe, und wir haben Vollzeit- Entwickler, die so gut wie möglich daran arbeiten. Unser Ziel ist es, dass Open-Source-Software und moralische Geschäftsmethoden zu einer nachhaltigen Einkommensquelle für Entwickler werden und ein datenschutzfreundliches Ökosystem mit echten Alternativen zu ausbeuterischen Cloud-Diensten geschaffen wird.",
|
"purchase_panel_info_1": "Die Entwicklung von Immich erfordert viel Zeit und Mühe, und wir haben Vollzeit-Entwickler, die daran arbeiten es möglichst perfekt zu machen. Unser Ziel ist es, dass Open-Source-Software und moralische Geschäftsmethoden zu einer nachhaltigen Einkommensquelle für Entwickler werden und ein datenschutzfreundliches Ökosystem mit echten Alternativen zu ausbeuterischen Cloud-Diensten geschaffen wird.",
|
||||||
"purchase_panel_info_2": "Weil wir davon überzeugt sind keine Paywalls zu haben, wird dieser Kauf keine zusätzlichen Funktionen in Immich freischalten. Wir verlassen uns auf Nutzende wie dich, um Entwicklung von Immich zu unterstützen.",
|
"purchase_panel_info_2": "Weil wir davon überzeugt sind keine Paywalls zu haben, wird dieser Kauf keine zusätzlichen Funktionen in Immich freischalten. Wir verlassen uns auf Nutzende wie dich, um die Entwicklung von Immich zu unterstützen.",
|
||||||
"purchase_panel_title": "Das Projekt unterstützen",
|
"purchase_panel_title": "Das Projekt unterstützen",
|
||||||
"purchase_per_server": "Pro Server",
|
"purchase_per_server": "Pro Server",
|
||||||
"purchase_per_user": "Pro Benutzer",
|
"purchase_per_user": "Pro Benutzer",
|
||||||
"purchase_remove_product_key": "Produktschlüssel entfernen",
|
"purchase_remove_product_key": "Produktschlüssel entfernen",
|
||||||
"purchase_remove_product_key_prompt": "Sicher, dass der Produktschlüssel entfernt werden soll?",
|
"purchase_remove_product_key_prompt": "Sicher, dass der Produktschlüssel entfernt werden soll?",
|
||||||
"purchase_remove_server_product_key": "Server Produktschlüssel entfernen",
|
"purchase_remove_server_product_key": "Server-Produktschlüssel entfernen",
|
||||||
"purchase_remove_server_product_key_prompt": "Sicher, dass der Server Produktschlüssel entfernt werden soll?",
|
"purchase_remove_server_product_key_prompt": "Sicher, dass der Server-Produktschlüssel entfernt werden soll?",
|
||||||
"purchase_server_description_1": "Für den gesamten Server",
|
"purchase_server_description_1": "Für den gesamten Server",
|
||||||
"purchase_server_description_2": "Unterstützerstatus",
|
"purchase_server_description_2": "Unterstützerstatus",
|
||||||
"purchase_server_title": "Server",
|
"purchase_server_title": "Server",
|
||||||
"purchase_settings_server_activated": "Der Server Produktschlüssel wird durch den Administrator verwaltet",
|
"purchase_settings_server_activated": "Der Server-Produktschlüssel wird durch den Administrator verwaltet",
|
||||||
"range": "Reichweite",
|
|
||||||
"rating": "Bewertung",
|
"rating": "Bewertung",
|
||||||
"rating_clear": "Bewertung löschen",
|
"rating_clear": "Bewertung löschen",
|
||||||
"rating_count": "{count, plural, one {# Stern} other {# Sterne}}",
|
"rating_count": "{count, plural, one {# Stern} other {# Sterne}}",
|
||||||
"rating_description": "Stellt die EXIF-Bewertung im Informationsbereich dar",
|
"rating_description": "Stellt die EXIF-Bewertung im Informationsbereich dar",
|
||||||
"raw": "RAW",
|
|
||||||
"reaction_options": "Reaktionsmöglichkeiten",
|
"reaction_options": "Reaktionsmöglichkeiten",
|
||||||
"read_changelog": "Changelog lesen",
|
"read_changelog": "Changelog lesen",
|
||||||
"reassign": "Neu zuweisen",
|
"reassign": "Neu zuweisen",
|
||||||
"reassigned_assets_to_existing_person": "{count, plural, one {# Datei} other {# Dateien}} wurden {name, select, null {einer vorhandenen Person} other {{name}}} zugewiesen",
|
"reassigned_assets_to_existing_person": "{count, plural, one {# Datei wurde} other {# Dateien wurden}} {name, select, null {einer vorhandenen Person} other {{name}}} zugewiesen",
|
||||||
"reassigned_assets_to_new_person": "{count, plural, one {# Datei} other {# Dateien}} wurden einer neuen Person zugewiesen",
|
"reassigned_assets_to_new_person": "{count, plural, one {# Datei wurde} other {# Dateien wurden}} einer neuen Person zugewiesen",
|
||||||
"reassing_hint": "Markierte Dateien einer vorhandenen Person zuweisen",
|
"reassing_hint": "Markierte Dateien einer vorhandenen Person zuweisen",
|
||||||
"recent": "Neuste",
|
"recent": "Neuste",
|
||||||
"recent_searches": "Letzte Suchen",
|
"recent_searches": "Letzte Suchen",
|
||||||
"refresh": "Aktualisieren",
|
"refresh": "Aktualisieren",
|
||||||
"refresh_encoded_videos": "Codierte Videos aktualisieren",
|
"refresh_encoded_videos": "Kodierte Videos aktualisieren",
|
||||||
"refresh_faces": "Gesichter aktualisieren",
|
"refresh_faces": "Gesichter aktualisieren",
|
||||||
"refresh_metadata": "Metadaten aktualisieren",
|
"refresh_metadata": "Metadaten aktualisieren",
|
||||||
"refresh_thumbnails": "Miniaturansichten aktualisieren",
|
"refresh_thumbnails": "Miniaturansichten aktualisieren",
|
||||||
"refreshed": "Aktualisiert",
|
"refreshed": "Aktualisiert",
|
||||||
"refreshes_every_file": "Alle bestehenden und neuen Dateien erneut einlesen",
|
"refreshes_every_file": "Alle bestehenden und neuen Dateien erneut einlesen",
|
||||||
"refreshing_encoded_video": "Codierte Videos werden aktualisiert",
|
"refreshing_encoded_video": "Kodierte Videos werden aktualisiert",
|
||||||
"refreshing_faces": "Gesichter werden aktualisiert",
|
"refreshing_faces": "Gesichter werden aktualisiert",
|
||||||
"refreshing_metadata": "Metadaten werden aktualisiert",
|
"refreshing_metadata": "Metadaten werden aktualisiert",
|
||||||
"regenerating_thumbnails": "Miniaturansichten werden neu erstellt",
|
"regenerating_thumbnails": "Miniaturansichten werden neu erstellt",
|
||||||
@@ -1109,12 +1035,12 @@
|
|||||||
"remove_deleted_assets": "Offline-Dateien entfernen",
|
"remove_deleted_assets": "Offline-Dateien entfernen",
|
||||||
"remove_from_album": "Aus Album entfernen",
|
"remove_from_album": "Aus Album entfernen",
|
||||||
"remove_from_favorites": "Aus Favoriten entfernen",
|
"remove_from_favorites": "Aus Favoriten entfernen",
|
||||||
"remove_from_shared_link": "Aus geteilten Link entfernen",
|
"remove_from_shared_link": "Aus geteiltem Link entfernen",
|
||||||
"remove_user": "Nutzer entfernen",
|
"remove_user": "Nutzer entfernen",
|
||||||
"removed_api_key": "API-Schlüssel {name} wurde entfernt",
|
"removed_api_key": "API-Schlüssel {name} wurde entfernt",
|
||||||
"removed_from_archive": "Aus dem Archiv entfernt",
|
"removed_from_archive": "Aus dem Archiv entfernt",
|
||||||
"removed_from_favorites": "Von Favoriten entfernt",
|
"removed_from_favorites": "Aus den Favoriten entfernt",
|
||||||
"removed_from_favorites_count": "{count, plural, other {#}} von Favoriten entfernt",
|
"removed_from_favorites_count": "{count, plural, other {#}} aus den Favoriten entfernt",
|
||||||
"removed_tagged_assets": "Tag von {count, plural, one {# Datei} other {# Dateien}} entfernt",
|
"removed_tagged_assets": "Tag von {count, plural, one {# Datei} other {# Dateien}} entfernt",
|
||||||
"rename": "Umbenennen",
|
"rename": "Umbenennen",
|
||||||
"repair": "Reparatur",
|
"repair": "Reparatur",
|
||||||
@@ -1126,7 +1052,6 @@
|
|||||||
"reset": "Zurücksetzen",
|
"reset": "Zurücksetzen",
|
||||||
"reset_password": "Passwort zurücksetzen",
|
"reset_password": "Passwort zurücksetzen",
|
||||||
"reset_people_visibility": "Sichtbarkeit von Personen zurücksetzen",
|
"reset_people_visibility": "Sichtbarkeit von Personen zurücksetzen",
|
||||||
"reset_settings_to_default": "Einstellungen auf Standardwerte zurücksetzen",
|
|
||||||
"reset_to_default": "Auf Standard zurücksetzen",
|
"reset_to_default": "Auf Standard zurücksetzen",
|
||||||
"resolve_duplicates": "Duplikate entfernen",
|
"resolve_duplicates": "Duplikate entfernen",
|
||||||
"resolved_all_duplicates": "Alle Duplikate aufgelöst",
|
"resolved_all_duplicates": "Alle Duplikate aufgelöst",
|
||||||
@@ -1146,9 +1071,7 @@
|
|||||||
"saved_settings": "Einstellungen gespeichert",
|
"saved_settings": "Einstellungen gespeichert",
|
||||||
"say_something": "Etwas sagen",
|
"say_something": "Etwas sagen",
|
||||||
"scan_all_libraries": "Alle Bibliotheken scannen",
|
"scan_all_libraries": "Alle Bibliotheken scannen",
|
||||||
"scan_all_library_files": "Alle Bibliotheksdateien erneut scannen",
|
|
||||||
"scan_library": "Scannen",
|
"scan_library": "Scannen",
|
||||||
"scan_new_library_files": "Neue Bibliotheksdateien scannen",
|
|
||||||
"scan_settings": "Scan-Einstellungen",
|
"scan_settings": "Scan-Einstellungen",
|
||||||
"scanning_for_album": "Nach Alben scannen...",
|
"scanning_for_album": "Nach Alben scannen...",
|
||||||
"search": "Suche",
|
"search": "Suche",
|
||||||
@@ -1186,14 +1109,13 @@
|
|||||||
"select_library_owner": "Bibliotheksbesitzer auswählen",
|
"select_library_owner": "Bibliotheksbesitzer auswählen",
|
||||||
"select_new_face": "Neues Gesicht auswählen",
|
"select_new_face": "Neues Gesicht auswählen",
|
||||||
"select_photos": "Fotos auswählen",
|
"select_photos": "Fotos auswählen",
|
||||||
"select_trash_all": "Alle Löschen",
|
"select_trash_all": "Alle löschen",
|
||||||
"selected": "Ausgewählt",
|
"selected": "Ausgewählt",
|
||||||
"selected_count": "{count, plural, other {# ausgewählt}}",
|
"selected_count": "{count, plural, other {# ausgewählt}}",
|
||||||
"send_message": "Nachricht senden",
|
"send_message": "Nachricht senden",
|
||||||
"send_welcome_email": "Begrüssungsmail senden",
|
"send_welcome_email": "Begrüssungsmail senden",
|
||||||
"server": "Server",
|
"server_offline": "Server offline",
|
||||||
"server_offline": "Server Offline",
|
"server_online": "Server online",
|
||||||
"server_online": "Server Online",
|
|
||||||
"server_stats": "Server-Statistiken",
|
"server_stats": "Server-Statistiken",
|
||||||
"server_version": "Server-Version",
|
"server_version": "Server-Version",
|
||||||
"set": "Speichern",
|
"set": "Speichern",
|
||||||
@@ -1208,7 +1130,7 @@
|
|||||||
"shared": "Geteilt",
|
"shared": "Geteilt",
|
||||||
"shared_by": "Geteilt von",
|
"shared_by": "Geteilt von",
|
||||||
"shared_by_user": "Von {user} geteilt",
|
"shared_by_user": "Von {user} geteilt",
|
||||||
"shared_by_you": "Geteilt von dir",
|
"shared_by_you": "Von dir geteilt",
|
||||||
"shared_from_partner": "Fotos von {partner}",
|
"shared_from_partner": "Fotos von {partner}",
|
||||||
"shared_link_options": "Optionen für geteilten Link",
|
"shared_link_options": "Optionen für geteilten Link",
|
||||||
"shared_links": "Geteilte Links",
|
"shared_links": "Geteilte Links",
|
||||||
@@ -1226,7 +1148,7 @@
|
|||||||
"show_gallery": "Galerie anzeigen",
|
"show_gallery": "Galerie anzeigen",
|
||||||
"show_hidden_people": "Ausgeblendete Personen anzeigen",
|
"show_hidden_people": "Ausgeblendete Personen anzeigen",
|
||||||
"show_in_timeline": "In Zeitleiste anzeigen",
|
"show_in_timeline": "In Zeitleiste anzeigen",
|
||||||
"show_in_timeline_setting_description": "Fotos und Videos dieses Benutzers in deiner Timeline anzeigen",
|
"show_in_timeline_setting_description": "Fotos und Videos dieses Benutzers in deiner Zeitleiste anzeigen",
|
||||||
"show_keyboard_shortcuts": "Tastaturkürzel anzeigen",
|
"show_keyboard_shortcuts": "Tastaturkürzel anzeigen",
|
||||||
"show_metadata": "Metadaten anzeigen",
|
"show_metadata": "Metadaten anzeigen",
|
||||||
"show_or_hide_info": "Informationen ein- oder ausblenden",
|
"show_or_hide_info": "Informationen ein- oder ausblenden",
|
||||||
@@ -1239,7 +1161,7 @@
|
|||||||
"show_supporter_badge_description": "Zeige Unterstützerabzeichen",
|
"show_supporter_badge_description": "Zeige Unterstützerabzeichen",
|
||||||
"shuffle": "Durchmischen",
|
"shuffle": "Durchmischen",
|
||||||
"sidebar": "Seitenleiste",
|
"sidebar": "Seitenleiste",
|
||||||
"sidebar_display_description": "Zeigt einen Link zu der Ansicht in der Seitenleiste an",
|
"sidebar_display_description": "Zeige einen Link zu der Ansicht in der Seitenleiste an",
|
||||||
"sign_out": "Abmelden",
|
"sign_out": "Abmelden",
|
||||||
"sign_up": "Registrieren",
|
"sign_up": "Registrieren",
|
||||||
"size": "Größe",
|
"size": "Größe",
|
||||||
@@ -1247,7 +1169,7 @@
|
|||||||
"skip_to_folders": "Springe zu Ordnern",
|
"skip_to_folders": "Springe zu Ordnern",
|
||||||
"skip_to_tags": "Springe zu Tags",
|
"skip_to_tags": "Springe zu Tags",
|
||||||
"slideshow": "Diashow",
|
"slideshow": "Diashow",
|
||||||
"slideshow_settings": "Diashow Einstellungen",
|
"slideshow_settings": "Diashow-Einstellungen",
|
||||||
"sort_albums_by": "Alben sortieren nach...",
|
"sort_albums_by": "Alben sortieren nach...",
|
||||||
"sort_created": "Erstellungsdatum",
|
"sort_created": "Erstellungsdatum",
|
||||||
"sort_items": "Anzahl der Einträge",
|
"sort_items": "Anzahl der Einträge",
|
||||||
@@ -1270,7 +1192,7 @@
|
|||||||
"stop_photo_sharing": "Deine Fotos nicht mehr teilen?",
|
"stop_photo_sharing": "Deine Fotos nicht mehr teilen?",
|
||||||
"stop_photo_sharing_description": "{partner} wird keinen Zugriff mehr auf deine Fotos haben.",
|
"stop_photo_sharing_description": "{partner} wird keinen Zugriff mehr auf deine Fotos haben.",
|
||||||
"stop_sharing_photos_with_user": "Aufhören Fotos mit diesem Benutzer zu teilen",
|
"stop_sharing_photos_with_user": "Aufhören Fotos mit diesem Benutzer zu teilen",
|
||||||
"storage": "Speicher",
|
"storage": "Speicherplatz",
|
||||||
"storage_label": "Speicherpfad",
|
"storage_label": "Speicherpfad",
|
||||||
"storage_usage": "{used} von {available} verwendet",
|
"storage_usage": "{used} von {available} verwendet",
|
||||||
"submit": "Bestätigen",
|
"submit": "Bestätigen",
|
||||||
@@ -1278,7 +1200,7 @@
|
|||||||
"sunrise_on_the_beach": "Sonnenaufgang am Strand",
|
"sunrise_on_the_beach": "Sonnenaufgang am Strand",
|
||||||
"support": "Unterstützung",
|
"support": "Unterstützung",
|
||||||
"support_and_feedback": "Unterstützung & Feedback",
|
"support_and_feedback": "Unterstützung & Feedback",
|
||||||
"support_third_party_description": "Deine immich-Installation wurde von einem Drittanbieter zusammengestellt. Probleme, die bei dir auftreten, können durch dieses Paket verursacht werden. Bitte wende dich daher in erster Linie an diesen Anbieter, indem du die unten stehenden Links verwendest.",
|
"support_third_party_description": "Deine Immich-Installation wurde von einem Drittanbieter zusammengestellt. Probleme, die bei dir auftreten, können durch dieses Paket verursacht werden. Bitte wende dich daher in erster Linie an diesen Anbieter, indem du die unten stehenden Links verwendest.",
|
||||||
"swap_merge_direction": "Vertauschen der Zusammenführungsrichtung",
|
"swap_merge_direction": "Vertauschen der Zusammenführungsrichtung",
|
||||||
"sync": "Synchronisieren",
|
"sync": "Synchronisieren",
|
||||||
"tag": "Tag",
|
"tag": "Tag",
|
||||||
@@ -1302,34 +1224,30 @@
|
|||||||
"to_favorite": "Zu Favoriten hinzufügen",
|
"to_favorite": "Zu Favoriten hinzufügen",
|
||||||
"to_login": "Anmelden",
|
"to_login": "Anmelden",
|
||||||
"to_parent": "Gehe zum Übergeordneten",
|
"to_parent": "Gehe zum Übergeordneten",
|
||||||
"to_root": "Zur Wurzel",
|
"to_trash": "In den Papierkorb verschieben",
|
||||||
"to_trash": "Zum Papierkorb verschieben",
|
|
||||||
"toggle_settings": "Einstellungen umschalten",
|
"toggle_settings": "Einstellungen umschalten",
|
||||||
"toggle_theme": "Dunkles Theme umschalten",
|
"toggle_theme": "Dunkles Theme umschalten",
|
||||||
"toggle_visibility": "Sichtbarkeit umschalten",
|
|
||||||
"total_usage": "Gesamtnutzung",
|
"total_usage": "Gesamtnutzung",
|
||||||
"trash": "Papierkorb",
|
"trash": "Papierkorb",
|
||||||
"trash_all": "Alles im Papierkorb",
|
"trash_all": "Alle löschen",
|
||||||
"trash_count": "Papierkorb {count, number}",
|
"trash_count": "Papierkorb {count, number}",
|
||||||
"trash_delete_asset": "Datei löschen/in den Papierkorb verschieben",
|
"trash_delete_asset": "Datei löschen/in den Papierkorb verschieben",
|
||||||
"trash_no_results_message": "Gelöschte Fotos und Videos werden hier angezeigt.",
|
"trash_no_results_message": "Gelöschte Fotos und Videos werden hier angezeigt.",
|
||||||
"trashed_items_will_be_permanently_deleted_after": "Gelöschte Objekte werden nach {days, plural, one {# Tag} other {# Tagen}} endgültig gelöscht.",
|
"trashed_items_will_be_permanently_deleted_after": "Gelöschte Objekte werden nach {days, plural, one {# Tag} other {# Tagen}} endgültig gelöscht.",
|
||||||
"type": "Typ",
|
"type": "Typ",
|
||||||
"unarchive": "Unarchivieren",
|
"unarchive": "Entarchivieren",
|
||||||
"unarchived": "Unarchiviert",
|
"unarchived_count": "{count, plural, other {# entarchiviert}}",
|
||||||
"unarchived_count": "{count, plural, other {# Entarchiviert}}",
|
|
||||||
"unfavorite": "Entfavorisieren",
|
"unfavorite": "Entfavorisieren",
|
||||||
"unhide_person": "Person einblenden",
|
"unhide_person": "Person einblenden",
|
||||||
"unknown": "Unbekannt",
|
"unknown": "Unbekannt",
|
||||||
"unknown_album": "Unbekanntes Album",
|
|
||||||
"unknown_year": "Unbekanntes Jahr",
|
"unknown_year": "Unbekanntes Jahr",
|
||||||
"unlimited": "Unlimitiert",
|
"unlimited": "Unlimitiert",
|
||||||
"unlink_motion_video": "Verlinkung zum Bewegungsvideo aufheben",
|
"unlink_motion_video": "Verknüpfung zum Bewegungsvideo aufheben",
|
||||||
"unlink_oauth": "OAuth entfernen",
|
"unlink_oauth": "OAuth entfernen",
|
||||||
"unlinked_oauth_account": "Nicht verknüpftes OAuth-Konto",
|
"unlinked_oauth_account": "Nicht verknüpftes OAuth-Konto",
|
||||||
"unnamed_album": "Unbenanntes Album",
|
"unnamed_album": "Unbenanntes Album",
|
||||||
"unnamed_album_delete_confirmation": "Bist du sicher, dass du dieses Album löschen willst?",
|
"unnamed_album_delete_confirmation": "Bist du sicher, dass du dieses Album löschen willst?",
|
||||||
"unnamed_share": "Unbenannte Teilung",
|
"unnamed_share": "Unbenannte Freigabe",
|
||||||
"unsaved_change": "Ungespeicherte Änderung",
|
"unsaved_change": "Ungespeicherte Änderung",
|
||||||
"unselect_all": "Alles abwählen",
|
"unselect_all": "Alles abwählen",
|
||||||
"unselect_all_duplicates": "Alle Duplikate abwählen",
|
"unselect_all_duplicates": "Alle Duplikate abwählen",
|
||||||
@@ -1341,7 +1259,7 @@
|
|||||||
"updated_password": "Passwort aktualisiert",
|
"updated_password": "Passwort aktualisiert",
|
||||||
"upload": "Hochladen",
|
"upload": "Hochladen",
|
||||||
"upload_concurrency": "Parallelität beim Hochladen",
|
"upload_concurrency": "Parallelität beim Hochladen",
|
||||||
"upload_errors": "Hochladen abgeschlossen mit {count, plural, one {# Fehler} other {# Fehlern}}, aktualisiere die Seite, um neu hochgeladene Dateien zu sehen.",
|
"upload_errors": "Hochladen mit {count, plural, one {# Fehler} other {# Fehlern}} abgeschlossen, aktualisiere die Seite, um neu hochgeladene Dateien zu sehen.",
|
||||||
"upload_progress": "{remaining, number} verbleibend - {processed, number}/{total, number} verarbeitet",
|
"upload_progress": "{remaining, number} verbleibend - {processed, number}/{total, number} verarbeitet",
|
||||||
"upload_skipped_duplicates": "{count, plural, one {# doppelte Datei} other {# doppelte Dateien}} ausgelassen",
|
"upload_skipped_duplicates": "{count, plural, one {# doppelte Datei} other {# doppelte Dateien}} ausgelassen",
|
||||||
"upload_status_duplicates": "Duplikate",
|
"upload_status_duplicates": "Duplikate",
|
||||||
@@ -1353,8 +1271,6 @@
|
|||||||
"use_custom_date_range": "Stattdessen einen benutzerdefinierten Datumsbereich verwenden",
|
"use_custom_date_range": "Stattdessen einen benutzerdefinierten Datumsbereich verwenden",
|
||||||
"user": "Nutzer",
|
"user": "Nutzer",
|
||||||
"user_id": "Nutzer-ID",
|
"user_id": "Nutzer-ID",
|
||||||
"user_license_settings": "Lizenz",
|
|
||||||
"user_license_settings_description": "Verwalte deine Lizenz",
|
|
||||||
"user_liked": "{type, select, photo {Dieses Foto} video {Dieses Video} asset {Diese Datei} other {Dies}} gefällt {user}",
|
"user_liked": "{type, select, photo {Dieses Foto} video {Dieses Video} asset {Diese Datei} other {Dies}} gefällt {user}",
|
||||||
"user_purchase_settings": "Kauf",
|
"user_purchase_settings": "Kauf",
|
||||||
"user_purchase_settings_description": "Kauf verwalten",
|
"user_purchase_settings_description": "Kauf verwalten",
|
||||||
@@ -1367,7 +1283,7 @@
|
|||||||
"variables": "Variablen",
|
"variables": "Variablen",
|
||||||
"version": "Version",
|
"version": "Version",
|
||||||
"version_announcement_closing": "Dein Freund, Alex",
|
"version_announcement_closing": "Dein Freund, Alex",
|
||||||
"version_announcement_message": "Hallo Freund, es gibt eine neue Version dieser Anwendung. Bitte nimm dir Zeit, die <link>Versionshinweise</link> zu lesen und stelle sicher, dass deine <code>docker-compose.yml</code>- und <code>.env</code>-Konfiguration auf dem neuesten Stand ist, um Fehlkonfigurationen zu vermeiden, insbesondere wenn du WatchTower oder ein anderes Verfahren verwendest, das deine Anwendung automatisch aktualisiert.",
|
"version_announcement_message": "Hi! Es gibt eine neue Version von Immich. Bitte nimm dir Zeit, die <link>Versionshinweise</link> zu lesen, um Fehlkonfigurationen zu vermeiden, insbesondere wenn du WatchTower oder ein anderes Verfahren verwendest, das Immich automatisch aktualisiert.",
|
||||||
"version_history": "Versionshistorie",
|
"version_history": "Versionshistorie",
|
||||||
"version_history_item": "{version} am {date} installiert",
|
"version_history_item": "{version} am {date} installiert",
|
||||||
"video": "Video",
|
"video": "Video",
|
||||||
@@ -1384,9 +1300,8 @@
|
|||||||
"view_next_asset": "Nächste Datei anzeigen",
|
"view_next_asset": "Nächste Datei anzeigen",
|
||||||
"view_previous_asset": "Vorherige Datei anzeigen",
|
"view_previous_asset": "Vorherige Datei anzeigen",
|
||||||
"view_stack": "Stapel anzeigen",
|
"view_stack": "Stapel anzeigen",
|
||||||
"viewer": "Zuschauer",
|
|
||||||
"visibility_changed": "Sichtbarkeit für {count, plural, one {# Person} other {# Personen}} geändert",
|
"visibility_changed": "Sichtbarkeit für {count, plural, one {# Person} other {# Personen}} geändert",
|
||||||
"waiting": "Warte",
|
"waiting": "Wartend",
|
||||||
"warning": "Warnung",
|
"warning": "Warnung",
|
||||||
"week": "Woche",
|
"week": "Woche",
|
||||||
"welcome": "Willkommen",
|
"welcome": "Willkommen",
|
||||||
@@ -1,5 +1,5 @@
|
|||||||
{
|
{
|
||||||
"about": "About",
|
"about": "Refresh",
|
||||||
"account": "Account",
|
"account": "Account",
|
||||||
"account_settings": "Account Settings",
|
"account_settings": "Account Settings",
|
||||||
"acknowledge": "Acknowledge",
|
"acknowledge": "Acknowledge",
|
||||||
@@ -34,6 +34,11 @@
|
|||||||
"authentication_settings_disable_all": "Are you sure you want to disable all login methods? Login will be completely disabled.",
|
"authentication_settings_disable_all": "Are you sure you want to disable all login methods? Login will be completely disabled.",
|
||||||
"authentication_settings_reenable": "To re-enable, use a <link>Server Command</link>.",
|
"authentication_settings_reenable": "To re-enable, use a <link>Server Command</link>.",
|
||||||
"background_task_job": "Background Tasks",
|
"background_task_job": "Background Tasks",
|
||||||
|
"backup_database": "Backup Database",
|
||||||
|
"backup_database_enable_description": "Enable database backups",
|
||||||
|
"backup_keep_last_amount": "Amount of previous backups to keep",
|
||||||
|
"backup_settings": "Backup Settings",
|
||||||
|
"backup_settings_description": "Manage database backup settings",
|
||||||
"check_all": "Check All",
|
"check_all": "Check All",
|
||||||
"cleared_jobs": "Cleared jobs for: {job}",
|
"cleared_jobs": "Cleared jobs for: {job}",
|
||||||
"config_set_by_file": "Config is currently set by a config file",
|
"config_set_by_file": "Config is currently set by a config file",
|
||||||
@@ -43,6 +48,9 @@
|
|||||||
"confirm_reprocess_all_faces": "Are you sure you want to reprocess all faces? This will also clear named people.",
|
"confirm_reprocess_all_faces": "Are you sure you want to reprocess all faces? This will also clear named people.",
|
||||||
"confirm_user_password_reset": "Are you sure you want to reset {user}'s password?",
|
"confirm_user_password_reset": "Are you sure you want to reset {user}'s password?",
|
||||||
"create_job": "Create job",
|
"create_job": "Create job",
|
||||||
|
"cron_expression": "Cron expression",
|
||||||
|
"cron_expression_description": "Set the scanning interval using the cron format. For more information please refer to e.g. <link>Crontab Guru</link>",
|
||||||
|
"cron_expression_presets": "Cron expression presets",
|
||||||
"disable_login": "Disable login",
|
"disable_login": "Disable login",
|
||||||
"duplicate_detection_job_description": "Run machine learning on assets to detect similar images. Relies on Smart Search",
|
"duplicate_detection_job_description": "Run machine learning on assets to detect similar images. Relies on Smart Search",
|
||||||
"exclusion_pattern_description": "Exclusion patterns lets you ignore files and folders when scanning your library. This is useful if you have folders that contain files you don't want to import, such as RAW files.",
|
"exclusion_pattern_description": "Exclusion patterns lets you ignore files and folders when scanning your library. This is useful if you have folders that contain files you don't want to import, such as RAW files.",
|
||||||
@@ -80,9 +88,6 @@
|
|||||||
"jobs_delayed": "{jobCount, plural, other {# delayed}}",
|
"jobs_delayed": "{jobCount, plural, other {# delayed}}",
|
||||||
"jobs_failed": "{jobCount, plural, other {# failed}}",
|
"jobs_failed": "{jobCount, plural, other {# failed}}",
|
||||||
"library_created": "Created library: {library}",
|
"library_created": "Created library: {library}",
|
||||||
"library_cron_expression": "Cron expression",
|
|
||||||
"library_cron_expression_description": "Set the scanning interval using the cron format. For more information please refer to e.g. <link>Crontab Guru</link>",
|
|
||||||
"library_cron_expression_presets": "Cron expression presets",
|
|
||||||
"library_deleted": "Library deleted",
|
"library_deleted": "Library deleted",
|
||||||
"library_import_path_description": "Specify a folder to import. This folder, including subfolders, will be scanned for images and videos.",
|
"library_import_path_description": "Specify a folder to import. This folder, including subfolders, will be scanned for images and videos.",
|
||||||
"library_scanning": "Periodic Scanning",
|
"library_scanning": "Periodic Scanning",
|
||||||
@@ -274,7 +279,7 @@
|
|||||||
"transcoding_hardware_acceleration": "Hardware Acceleration",
|
"transcoding_hardware_acceleration": "Hardware Acceleration",
|
||||||
"transcoding_hardware_acceleration_description": "Experimental; much faster, but will have lower quality at the same bitrate",
|
"transcoding_hardware_acceleration_description": "Experimental; much faster, but will have lower quality at the same bitrate",
|
||||||
"transcoding_hardware_decoding": "Hardware decoding",
|
"transcoding_hardware_decoding": "Hardware decoding",
|
||||||
"transcoding_hardware_decoding_setting_description": "Applies only to NVENC, QSV and RKMPP. Enables end-to-end acceleration instead of only accelerating encoding. May not work on all videos.",
|
"transcoding_hardware_decoding_setting_description": "Enables end-to-end acceleration instead of only accelerating encoding. May not work on all videos.",
|
||||||
"transcoding_hevc_codec": "HEVC codec",
|
"transcoding_hevc_codec": "HEVC codec",
|
||||||
"transcoding_max_b_frames": "Maximum B-frames",
|
"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_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.",
|
||||||
@@ -300,8 +305,6 @@
|
|||||||
"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_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",
|
"transcoding_tone_mapping": "Tone-mapping",
|
||||||
"transcoding_tone_mapping_description": "Attempts to preserve the appearance of HDR videos when converted to SDR. Each algorithm makes different tradeoffs for color, detail and brightness. Hable preserves detail, Mobius preserves color, and Reinhard preserves brightness.",
|
"transcoding_tone_mapping_description": "Attempts to preserve the appearance of HDR videos when converted to SDR. Each algorithm makes different tradeoffs for color, detail and brightness. Hable preserves detail, Mobius preserves color, and Reinhard preserves brightness.",
|
||||||
"transcoding_tone_mapping_npl": "Tone-mapping NPL",
|
|
||||||
"transcoding_tone_mapping_npl_description": "Colors will be adjusted to look normal for a display of this brightness. Counter-intuitively, lower values increase the brightness of the video and vice versa since it compensates for the brightness of the display. 0 sets this value automatically.",
|
|
||||||
"transcoding_transcode_policy": "Transcode policy",
|
"transcoding_transcode_policy": "Transcode policy",
|
||||||
"transcoding_transcode_policy_description": "Policy for when a video should be transcoded. HDR videos will always be transcoded (except if transcoding is disabled).",
|
"transcoding_transcode_policy_description": "Policy for when a video should be transcoded. HDR videos will always be transcoded (except if transcoding is disabled).",
|
||||||
"transcoding_two_pass_encoding": "Two-pass encoding",
|
"transcoding_two_pass_encoding": "Two-pass encoding",
|
||||||
@@ -462,6 +465,7 @@
|
|||||||
"confirm": "Confirm",
|
"confirm": "Confirm",
|
||||||
"confirm_admin_password": "Confirm Admin Password",
|
"confirm_admin_password": "Confirm Admin Password",
|
||||||
"confirm_delete_shared_link": "Are you sure you want to delete this shared link?",
|
"confirm_delete_shared_link": "Are you sure you want to delete this shared link?",
|
||||||
|
"confirm_keep_this_delete_others": "All other assets in the stack will be deleted except for this asset. Are you sure you want to continue?",
|
||||||
"confirm_password": "Confirm password",
|
"confirm_password": "Confirm password",
|
||||||
"contain": "Contain",
|
"contain": "Contain",
|
||||||
"context": "Context",
|
"context": "Context",
|
||||||
@@ -511,6 +515,7 @@
|
|||||||
"delete_key": "Delete key",
|
"delete_key": "Delete key",
|
||||||
"delete_library": "Delete Library",
|
"delete_library": "Delete Library",
|
||||||
"delete_link": "Delete link",
|
"delete_link": "Delete link",
|
||||||
|
"delete_others": "Delete others",
|
||||||
"delete_shared_link": "Delete shared link",
|
"delete_shared_link": "Delete shared link",
|
||||||
"delete_tag": "Delete tag",
|
"delete_tag": "Delete tag",
|
||||||
"delete_tag_confirmation_prompt": "Are you sure you want to delete {tagName} tag?",
|
"delete_tag_confirmation_prompt": "Are you sure you want to delete {tagName} tag?",
|
||||||
@@ -601,6 +606,7 @@
|
|||||||
"failed_to_create_shared_link": "Failed to create shared link",
|
"failed_to_create_shared_link": "Failed to create shared link",
|
||||||
"failed_to_edit_shared_link": "Failed to edit shared link",
|
"failed_to_edit_shared_link": "Failed to edit shared link",
|
||||||
"failed_to_get_people": "Failed to get people",
|
"failed_to_get_people": "Failed to get people",
|
||||||
|
"failed_to_keep_this_delete_others": "Failed to keep this asset and delete the other assets",
|
||||||
"failed_to_load_asset": "Failed to load asset",
|
"failed_to_load_asset": "Failed to load asset",
|
||||||
"failed_to_load_assets": "Failed to load assets",
|
"failed_to_load_assets": "Failed to load assets",
|
||||||
"failed_to_load_people": "Failed to load people",
|
"failed_to_load_people": "Failed to load people",
|
||||||
@@ -784,6 +790,8 @@
|
|||||||
"jobs": "Jobs",
|
"jobs": "Jobs",
|
||||||
"keep": "Keep",
|
"keep": "Keep",
|
||||||
"keep_all": "Keep All",
|
"keep_all": "Keep All",
|
||||||
|
"keep_this_delete_others": "Keep this, delete others",
|
||||||
|
"kept_this_deleted_others": "Kept this asset and deleted {count, plural, one {# asset} other {# assets}}",
|
||||||
"keyboard_shortcuts": "Keyboard shortcuts",
|
"keyboard_shortcuts": "Keyboard shortcuts",
|
||||||
"language": "Language",
|
"language": "Language",
|
||||||
"language_setting_description": "Select your preferred language",
|
"language_setting_description": "Select your preferred language",
|
||||||
@@ -816,6 +824,7 @@
|
|||||||
"look": "Look",
|
"look": "Look",
|
||||||
"loop_videos": "Loop videos",
|
"loop_videos": "Loop videos",
|
||||||
"loop_videos_description": "Enable to automatically loop a video in the detail viewer.",
|
"loop_videos_description": "Enable to automatically loop a video in the detail viewer.",
|
||||||
|
"main_branch_warning": "You’re using a development version; we strongly recommend using a release version!",
|
||||||
"make": "Make",
|
"make": "Make",
|
||||||
"manage_shared_links": "Manage shared links",
|
"manage_shared_links": "Manage shared links",
|
||||||
"manage_sharing_with_partners": "Manage sharing with partners",
|
"manage_sharing_with_partners": "Manage sharing with partners",
|
||||||
@@ -1196,7 +1205,7 @@
|
|||||||
"sunrise_on_the_beach": "Sunrise on the beach",
|
"sunrise_on_the_beach": "Sunrise on the beach",
|
||||||
"support": "Support",
|
"support": "Support",
|
||||||
"support_and_feedback": "Support & Feedback",
|
"support_and_feedback": "Support & Feedback",
|
||||||
"support_third_party_description": "Your immich installation was packaged by a third-party. Issues you experience may be caused by that package, so please raise issues with them in the first instance using the links below.",
|
"support_third_party_description": "Your Immich installation was packaged by a third-party. Issues you experience may be caused by that package, so please raise issues with them in the first instance using the links below.",
|
||||||
"swap_merge_direction": "Swap merge direction",
|
"swap_merge_direction": "Swap merge direction",
|
||||||
"sync": "Sync",
|
"sync": "Sync",
|
||||||
"tag": "Tag",
|
"tag": "Tag",
|
||||||
@@ -1279,7 +1288,7 @@
|
|||||||
"variables": "Variables",
|
"variables": "Variables",
|
||||||
"version": "Version",
|
"version": "Version",
|
||||||
"version_announcement_closing": "Your friend, Alex",
|
"version_announcement_closing": "Your friend, Alex",
|
||||||
"version_announcement_message": "Hi friend, there is a new version of the application please take your time to visit the <link>release notes</link> and ensure your <code>docker-compose.yml</code>, and <code>.env</code> setup is up-to-date to prevent any misconfigurations, especially if you use WatchTower or any mechanism that handles updating your application automatically.",
|
"version_announcement_message": "Hi there! A new version of Immich is available. Please take some time to read the <link>release notes</link> to ensure your setup is up-to-date to prevent any misconfigurations, especially if you use WatchTower or any mechanism that handles updating your Immich instance automatically.",
|
||||||
"version_history": "Version History",
|
"version_history": "Version History",
|
||||||
"version_history_item": "Installed {version} on {date}",
|
"version_history_item": "Installed {version} on {date}",
|
||||||
"video": "Video",
|
"video": "Video",
|
||||||
@@ -1301,7 +1310,7 @@
|
|||||||
"warning": "Warning",
|
"warning": "Warning",
|
||||||
"week": "Week",
|
"week": "Week",
|
||||||
"welcome": "Welcome",
|
"welcome": "Welcome",
|
||||||
"welcome_to_immich": "Welcome to immich",
|
"welcome_to_immich": "Welcome to Immich",
|
||||||
"year": "Year",
|
"year": "Year",
|
||||||
"years_ago": "{years, plural, one {# year} other {# years}} ago",
|
"years_ago": "{years, plural, one {# year} other {# years}} ago",
|
||||||
"yes": "Yes",
|
"yes": "Yes",
|
||||||
@@ -1,5 +1,5 @@
|
|||||||
{
|
{
|
||||||
"about": "Acerca de",
|
"about": "Actualizar",
|
||||||
"account": "Cuenta",
|
"account": "Cuenta",
|
||||||
"account_settings": "Ajustes de la cuenta",
|
"account_settings": "Ajustes de la cuenta",
|
||||||
"acknowledge": "De acuerdo",
|
"acknowledge": "De acuerdo",
|
||||||
@@ -7,50 +7,56 @@
|
|||||||
"actions": "Acciones",
|
"actions": "Acciones",
|
||||||
"active": "Activo",
|
"active": "Activo",
|
||||||
"activity": "Actividad",
|
"activity": "Actividad",
|
||||||
"activity_changed": "La actividad {enabled, select, true {activada} other {desactivada}}",
|
"activity_changed": "La actividad está {enabled, select, true {activada} other {desactivada}}",
|
||||||
"add": "Añadir",
|
"add": "Agregar",
|
||||||
"add_a_description": "Añadir una descripción",
|
"add_a_description": "Agregar descripción",
|
||||||
"add_a_location": "Añadir una ubicación",
|
"add_a_location": "Agregar ubicación",
|
||||||
"add_a_name": "Añadir un nombre",
|
"add_a_name": "Agregar nombre",
|
||||||
"add_a_title": "Añadir un título",
|
"add_a_title": "Agregar título",
|
||||||
"add_exclusion_pattern": "Añadir patrón de exclusión",
|
"add_exclusion_pattern": "Agregar patrón de exclusión",
|
||||||
"add_import_path": "Añadir ruta de importación",
|
"add_import_path": "Agregar ruta de importación",
|
||||||
"add_location": "Añadir ubicación",
|
"add_location": "Agregar ubicación",
|
||||||
"add_more_users": "Añadir más usuarios",
|
"add_more_users": "Agregar más usuarios",
|
||||||
"add_partner": "Añadir invitado",
|
"add_partner": "Agregar invitado",
|
||||||
"add_path": "Añadir ruta",
|
"add_path": "Agregar ruta",
|
||||||
"add_photos": "Añadir fotos",
|
"add_photos": "Agregar fotos",
|
||||||
"add_to": "Añadir a...",
|
"add_to": "Agregar a...",
|
||||||
"add_to_album": "Añadir a un álbum",
|
"add_to_album": "Agregar a un álbum",
|
||||||
"add_to_shared_album": "Añadir a un álbum compartido",
|
"add_to_shared_album": "Agregar a un álbum compartido",
|
||||||
"added_to_archive": "Archivar",
|
"added_to_archive": "Archivado",
|
||||||
"added_to_favorites": "Añadido a favoritos",
|
"added_to_favorites": "Agregado a favoritos",
|
||||||
"added_to_favorites_count": "Añadido {count, number} a favoritos",
|
"added_to_favorites_count": "Agregado {count, number} a favoritos",
|
||||||
"admin": {
|
"admin": {
|
||||||
"add_exclusion_pattern_description": "Añade patrones de exclusión. Puedes utilizar los caracteres *, ** y ? (globbing). Para ignorar los archivos en cualquier ruta llamada \"Raw\", utiliza \"**/Raw/**\". Para ignorar todos los archivos que terminan en \".tif\", utiliza \"**/*.tif\". Para ignorar una ruta desde la raíz, utiliza \"/carpeta/a/ignorar/**\".",
|
"add_exclusion_pattern_description": "Agrega patrones de exclusión. Puedes utilizar los caracteres *, ** y ? (globbing). Para ignorar todos los archivos en cualquier directorio llamado \"Raw\", utiliza \"**/Raw/**\". Para ignorar todos los archivos que terminan en \".tif\", utiliza \"**/*.tif\". Para ignorar una ruta absoluta, utiliza \"/carpeta/a/ignorar/**\".",
|
||||||
"asset_offline_description": "Este elemento de biblioteca externa ya no está en el disco y se ha movido a la papelera. Si el archivo se ha movido dentro de la biblioteca, consulte la línea de tiempo para encontrar un nuevo elemento coincidente. Para restaurar este elemento, asegúrese de que Immich pueda acceder a la ruta del archivo siguiente y busque en la biblioteca.",
|
"asset_offline_description": "Este recurso externo de la biblioteca ya no se encuentra en el disco y se ha movido a la papelera. Si el archivo se movió dentro de la biblioteca, comprueba la línea de tiempo para el nuevo recurso correspondiente. Para restaurar este recurso, asegúrate de que Immich puede acceder a la siguiente ruta de archivo y escanear la biblioteca.",
|
||||||
"authentication_settings": "Configuración de autenticación",
|
"authentication_settings": "Parámetros de autenticación",
|
||||||
"authentication_settings_description": "Gestionar clave, Oauth y otros configuraciones de autenticación",
|
"authentication_settings_description": "Gestionar contraseñas, OAuth y otros parámetros de autenticación",
|
||||||
"authentication_settings_disable_all": "¿Estás seguro de que deseas desactivar todos los métodos de inicio de sesión? Se desactivará el inicio de sesión.",
|
"authentication_settings_disable_all": "¿Está seguro de que deseas desactivar todos los métodos de inicio de sesión? El inicio de sesión se desactivará por completo.",
|
||||||
"authentication_settings_reenable": "Para volver a habilitar, utilice un <link> Comando del servidor </link> .",
|
"authentication_settings_reenable": "Para volver a activarlo, utiliza un <link> Comando del servidor </link>.",
|
||||||
"background_task_job": "Tareas en segundo plano",
|
"background_task_job": "Tareas en segundo plano",
|
||||||
"check_all": "Comprobar todo",
|
"backup_database": "Respaldar base de datos",
|
||||||
"cleared_jobs": "Trabajos realizados para: {job}",
|
"backup_database_enable_description": "Activar respaldo de base de datos",
|
||||||
"config_set_by_file": "La configuración está fijada actualmente en base a un archivo",
|
"backup_keep_last_amount": "Cantidad de respaldos previos a mantener",
|
||||||
|
"backup_settings": "Ajustes de respaldo",
|
||||||
|
"backup_settings_description": "Administrar configuración de respaldo de base de datos",
|
||||||
|
"check_all": "Verificar todo",
|
||||||
|
"cleared_jobs": "Trabajos borrados para: {job}",
|
||||||
|
"config_set_by_file": "La configuración está definida por un archivo de configuración",
|
||||||
"confirm_delete_library": "¿Estás seguro de que quieres eliminar la biblioteca {library}?",
|
"confirm_delete_library": "¿Estás seguro de que quieres eliminar la biblioteca {library}?",
|
||||||
"confirm_delete_library_assets": "¿Estás seguro de que quieras eliminar esta biblioteca? Esto eliminará los {count, plural, one {# contained asset} other {all # contained assets}} elementos en Immich y no puede deshacerse. Los archivos permanecerán en tu almacenamiento.",
|
"confirm_delete_library_assets": "¿Estás seguro de que quieras eliminar esta biblioteca? Esto eliminará los {count, plural, one {# contained asset} other {all # contained assets}} elementos en Immich y no puede deshacerse. Los archivos permanecerán en tu almacenamiento.",
|
||||||
"confirm_email_below": "Para confirmar, escribe \"{email}\" debajo",
|
"confirm_email_below": "Para confirmar, escribe \"{email}\" a continuación",
|
||||||
"confirm_reprocess_all_faces": "¿Estás seguro de que quieres volver a procesar todas las caras? Esto también eliminará las personas a las que le hayas asignado nombre.",
|
"confirm_reprocess_all_faces": "¿Estás seguro de que deseas reprocesar todas las caras? Esto borrará a todas las personas que nombraste.",
|
||||||
"confirm_user_password_reset": "¿Estás seguro de que quieres resetear la contraseña de {user}?",
|
"confirm_user_password_reset": "¿Estás seguro de que quieres restablecer la contraseña de {user}?",
|
||||||
"create_job": "Crear trabajo",
|
"create_job": "Crear trabajo",
|
||||||
"crontab_guru": "Crontab Guru",
|
"cron_expression": "Expresión CRON",
|
||||||
|
"cron_expression_description": "Establece el intervalo de escaneo utilizando el formato CRON. Para más información puede consultar, por ejemplo, <link> Crontab Guru</link>",
|
||||||
|
"cron_expression_presets": "Valores predefinidos de expresión cron",
|
||||||
"disable_login": "Deshabilitar inicio de sesión",
|
"disable_login": "Deshabilitar inicio de sesión",
|
||||||
"disabled": "Deshabilitado",
|
"duplicate_detection_job_description": "Ejecuta aprendizaje automático sobre los activos para detectar imágenes similares. Se basa en la búsqueda inteligente",
|
||||||
"duplicate_detection_job_description": "Lanza el aprendizaje automático para detectar imágenes similares. Necesita que esté activa la Búsqueda Inteligente",
|
"exclusion_pattern_description": "Los patrones de exclusión te permiten ignorar archivos y carpetas al escanear tu biblioteca. Esto es útil si tienes carpetas que contienen archivos que no deseas importar, como archivos RAW.",
|
||||||
"exclusion_pattern_description": "Los patrones de exclusión te permiten ignorar archivos y carpetas al escanear tu biblioteca. Esto es útil hay carpetas que contienen archivos que no quieres importar (por ejemplo los ficheros RAW).",
|
"external_library_created_at": "Biblioteca externa (creada el {date})",
|
||||||
"external_library_created_at": "Biblioteca externa (creado el {date})",
|
|
||||||
"external_library_management": "Gestión de bibliotecas externas",
|
"external_library_management": "Gestión de bibliotecas externas",
|
||||||
"face_detection": "Detección de caras",
|
"face_detection": "Detección de rostros",
|
||||||
"face_detection_description": "Detectar las caras en los activos mediante aprendizaje automático. En el caso de los vídeos, solo se tiene en cuenta la miniatura. \"Actualizar\" (re)procesar todos los activos. \"Restablecer\" borra además todos los datos de caras actuales. \"Falta\" pone en cola los activos que aún no se han procesado. Los rostros detectados se pondrán en cola para el reconocimiento facial una vez finalizada la detección facial, agrupándolos en personas existentes o nuevas.",
|
"face_detection_description": "Detectar las caras en los activos mediante aprendizaje automático. En el caso de los vídeos, solo se tiene en cuenta la miniatura. \"Actualizar\" (re)procesar todos los activos. \"Restablecer\" borra además todos los datos de caras actuales. \"Falta\" pone en cola los activos que aún no se han procesado. Los rostros detectados se pondrán en cola para el reconocimiento facial una vez finalizada la detección facial, agrupándolos en personas existentes o nuevas.",
|
||||||
"facial_recognition_job_description": "Agrupa los rostros detectados en personas. Este paso se ejecuta una vez finalizada la detección de caras. \"Restablecer\" (re)agrupa todas las caras. \"Falta\" pone en cola los rostros que no tienen asignada una persona.",
|
"facial_recognition_job_description": "Agrupa los rostros detectados en personas. Este paso se ejecuta una vez finalizada la detección de caras. \"Restablecer\" (re)agrupa todas las caras. \"Falta\" pone en cola los rostros que no tienen asignada una persona.",
|
||||||
"failed_job_command": "El comando {command} ha fallado para la tarea: {job}",
|
"failed_job_command": "El comando {command} ha fallado para la tarea: {job}",
|
||||||
@@ -63,22 +69,15 @@
|
|||||||
"image_prefer_wide_gamut": "Preferir gama amplia",
|
"image_prefer_wide_gamut": "Preferir gama amplia",
|
||||||
"image_prefer_wide_gamut_setting_description": "Usar \"Display P3\" para las miniaturas. Esto preserva mejor la vivacidad de las imágenes con espacios de color amplios, pero las imágenes pueden aparecer de manera diferente en dispositivos antiguos con una versión antigua del navegador. Las imágenes sRGB se mantienen como sRGB para evitar cambios de color.",
|
"image_prefer_wide_gamut_setting_description": "Usar \"Display P3\" para las miniaturas. Esto preserva mejor la vivacidad de las imágenes con espacios de color amplios, pero las imágenes pueden aparecer de manera diferente en dispositivos antiguos con una versión antigua del navegador. Las imágenes sRGB se mantienen como sRGB para evitar cambios de color.",
|
||||||
"image_preview_description": "Imagen de tamaño mediano con metadatos eliminados, utilizada al visualizar un solo activo y para aprendizaje automático",
|
"image_preview_description": "Imagen de tamaño mediano con metadatos eliminados, utilizada al visualizar un solo activo y para aprendizaje automático",
|
||||||
"image_preview_format": "Formato de previsualización",
|
|
||||||
"image_preview_quality_description": "Calidad de vista previa de 1 a 100. Cuanto más alta sea la calidad, mejor, pero genera archivos más grandes y puede reducir la capacidad de respuesta de la aplicación. Establecer un valor bajo puede afectar la calidad del aprendizaje automático.",
|
"image_preview_quality_description": "Calidad de vista previa de 1 a 100. Cuanto más alta sea la calidad, mejor, pero genera archivos más grandes y puede reducir la capacidad de respuesta de la aplicación. Establecer un valor bajo puede afectar la calidad del aprendizaje automático.",
|
||||||
"image_preview_resolution": "Resolución de previsualización",
|
|
||||||
"image_preview_resolution_description": "Se utiliza al ver una sola foto y para el aprendizaje automático. Las resoluciones más altas pueden preservar más detalles, pero tardan más en codificarse, tienen tamaños de archivo más grandes y pueden reducir la capacidad de respuesta de la aplicación.",
|
|
||||||
"image_preview_title": "Ajustes de la vista previa",
|
"image_preview_title": "Ajustes de la vista previa",
|
||||||
"image_quality": "Calidad",
|
"image_quality": "Calidad",
|
||||||
"image_quality_description": "Calidad de imagen de 1 a 100. Un valor más alto mejora la calidad pero genera archivos más grandes.",
|
|
||||||
"image_resolution": "Resolución",
|
"image_resolution": "Resolución",
|
||||||
"image_resolution_description": "Las resoluciones más altas pueden conservar más detalles, pero requieren más tiempo para codificar, tienen tamaños de archivo más grandes y pueden afectar la capacidad de respuesta de la aplicación.",
|
"image_resolution_description": "Las resoluciones más altas pueden conservar más detalles, pero requieren más tiempo para codificar, tienen tamaños de archivo más grandes y pueden afectar la capacidad de respuesta de la aplicación.",
|
||||||
"image_settings": "Ajustes de imagen",
|
"image_settings": "Ajustes de imagen",
|
||||||
"image_settings_description": "Administrar la calidad y resolución de las imágenes generadas",
|
"image_settings_description": "Administrar la calidad y resolución de las imágenes generadas",
|
||||||
"image_thumbnail_description": "Miniatura pequeña con metadatos eliminados, que se utiliza al visualizar grupos de fotos como la línea de tiempo principal",
|
"image_thumbnail_description": "Miniatura pequeña con metadatos eliminados, que se utiliza al visualizar grupos de fotos como la línea de tiempo principal",
|
||||||
"image_thumbnail_format": "Formato de las miniaturas",
|
|
||||||
"image_thumbnail_quality_description": "Calidad de miniatura de 1 a 100. Cuanto más alta, mejor, pero genera archivos más grandes y puede reducir la capacidad de respuesta de la aplicación.",
|
"image_thumbnail_quality_description": "Calidad de miniatura de 1 a 100. Cuanto más alta, mejor, pero genera archivos más grandes y puede reducir la capacidad de respuesta de la aplicación.",
|
||||||
"image_thumbnail_resolution": "Resolución de las miniaturas",
|
|
||||||
"image_thumbnail_resolution_description": "Se utiliza para ver grupos de fotos (cronología, vista de álbum, etc.). Las resoluciones más altas pueden conservar más detalles, pero tardan más en codificarse, tienen archivos de mayor tamaño y pueden reducir la reactividad de la aplicación.",
|
|
||||||
"image_thumbnail_title": "Ajustes de las miniaturas",
|
"image_thumbnail_title": "Ajustes de las miniaturas",
|
||||||
"job_concurrency": "{job}: Procesos simultáneos",
|
"job_concurrency": "{job}: Procesos simultáneos",
|
||||||
"job_created": "Trabajo creado",
|
"job_created": "Trabajo creado",
|
||||||
@@ -89,9 +88,6 @@
|
|||||||
"jobs_delayed": "{jobCount, plural, one {# retrasado} other {# retrasados}}",
|
"jobs_delayed": "{jobCount, plural, one {# retrasado} other {# retrasados}}",
|
||||||
"jobs_failed": "{jobCount, plural, one {# fallido} other {# fallidos}}",
|
"jobs_failed": "{jobCount, plural, one {# fallido} other {# fallidos}}",
|
||||||
"library_created": "La biblioteca ha sido creada: {library}",
|
"library_created": "La biblioteca ha sido creada: {library}",
|
||||||
"library_cron_expression": "Expresión cron",
|
|
||||||
"library_cron_expression_description": "Establece el intervalo de escaneo utilizando el formato cron. Para más información puede consultar, por ejemplo, <link> Crontab Guru</link>",
|
|
||||||
"library_cron_expression_presets": "Valores predefinidos de expresión cron",
|
|
||||||
"library_deleted": "Biblioteca eliminada",
|
"library_deleted": "Biblioteca eliminada",
|
||||||
"library_import_path_description": "Indica una carpeta para importar. Esta carpeta, incluidas las subcarpetas, serán escaneadas en busca de multimedia.",
|
"library_import_path_description": "Indica una carpeta para importar. Esta carpeta, incluidas las subcarpetas, serán escaneadas en busca de multimedia.",
|
||||||
"library_scanning": "Escaneado periódico",
|
"library_scanning": "Escaneado periódico",
|
||||||
@@ -215,7 +211,6 @@
|
|||||||
"refreshing_all_libraries": "Actualizar todas las bibliotecas",
|
"refreshing_all_libraries": "Actualizar todas las bibliotecas",
|
||||||
"registration": "Registrar administrador",
|
"registration": "Registrar administrador",
|
||||||
"registration_description": "Dado que eres el primer usuario del sistema, se te asignará como Admin y serás responsable de las tareas administrativas, y de crear a los usuarios adicionales.",
|
"registration_description": "Dado que eres el primer usuario del sistema, se te asignará como Admin y serás responsable de las tareas administrativas, y de crear a los usuarios adicionales.",
|
||||||
"removing_deleted_files": "Eliminando archivos sin conexión",
|
|
||||||
"repair_all": "Reparar todo",
|
"repair_all": "Reparar todo",
|
||||||
"repair_matched_items": "Coincidencia {count, plural, one {# elemento} other {# elementos}}",
|
"repair_matched_items": "Coincidencia {count, plural, one {# elemento} other {# elementos}}",
|
||||||
"repaired_items": "Reparado {count, plural, one {# elemento} other {# elementos}}",
|
"repaired_items": "Reparado {count, plural, one {# elemento} other {# elementos}}",
|
||||||
@@ -223,8 +218,6 @@
|
|||||||
"reset_settings_to_default": "Restablecer la configuración predeterminada",
|
"reset_settings_to_default": "Restablecer la configuración predeterminada",
|
||||||
"reset_settings_to_recent_saved": "Restablecer la configuración a la configuración guardada recientemente",
|
"reset_settings_to_recent_saved": "Restablecer la configuración a la configuración guardada recientemente",
|
||||||
"scanning_library": "Escaneando la biblioteca",
|
"scanning_library": "Escaneando la biblioteca",
|
||||||
"scanning_library_for_changed_files": "Escanear archivos modificados en biblioteca",
|
|
||||||
"scanning_library_for_new_files": "Escanear nuevos archivos en biblioteca",
|
|
||||||
"search_jobs": "Buscar trabajo...",
|
"search_jobs": "Buscar trabajo...",
|
||||||
"send_welcome_email": "Enviar correo de bienvenida",
|
"send_welcome_email": "Enviar correo de bienvenida",
|
||||||
"server_external_domain_settings": "Dominio externo",
|
"server_external_domain_settings": "Dominio externo",
|
||||||
@@ -261,7 +254,6 @@
|
|||||||
"these_files_matched_by_checksum": "Estos archivos coinciden con sus checksums",
|
"these_files_matched_by_checksum": "Estos archivos coinciden con sus checksums",
|
||||||
"thumbnail_generation_job": "Generar Miniaturas",
|
"thumbnail_generation_job": "Generar Miniaturas",
|
||||||
"thumbnail_generation_job_description": "Genere miniaturas grandes, pequeñas y borrosas para cada archivo, así como miniaturas para cada persona",
|
"thumbnail_generation_job_description": "Genere miniaturas grandes, pequeñas y borrosas para cada archivo, así como miniaturas para cada persona",
|
||||||
"transcode_policy_description": "Política sobre cuándo se debe transcodificar un vídeo. Los vídeos HDR siempre se transcodificarán (excepto si la transcodificación está desactivada).",
|
|
||||||
"transcoding_acceleration_api": "API Aceleración",
|
"transcoding_acceleration_api": "API Aceleración",
|
||||||
"transcoding_acceleration_api_description": "La API que interactuará con su dispositivo para acelerar la transcodificación. Esta configuración es el \"mejor esfuerzo\": recurrirá a la transcodificación del software en caso de error. VP9 puede funcionar o no dependiendo de su hardware.",
|
"transcoding_acceleration_api_description": "La API que interactuará con su dispositivo para acelerar la transcodificación. Esta configuración es el \"mejor esfuerzo\": recurrirá a la transcodificación del software en caso de error. VP9 puede funcionar o no dependiendo de su hardware.",
|
||||||
"transcoding_acceleration_nvenc": "NVENC (requiere GPU NVIDIA)",
|
"transcoding_acceleration_nvenc": "NVENC (requiere GPU NVIDIA)",
|
||||||
@@ -278,7 +270,7 @@
|
|||||||
"transcoding_audio_codec": "Codec de audio",
|
"transcoding_audio_codec": "Codec de audio",
|
||||||
"transcoding_audio_codec_description": "Opus es la opción de mayor calidad, pero tiene menor compatibilidad con dispositivos o software antiguos.",
|
"transcoding_audio_codec_description": "Opus es la opción de mayor calidad, pero tiene menor compatibilidad con dispositivos o software antiguos.",
|
||||||
"transcoding_bitrate_description": "Vídeos con una tasa de bits superior a la máxima o que no están en un formato aceptado",
|
"transcoding_bitrate_description": "Vídeos con una tasa de bits superior a la máxima o que no están en un formato aceptado",
|
||||||
"transcoding_codecs_learn_more": "Para obtener más información sobre la terminología utilizada aquí, consulte la documentación de FFmpeg para <h264-link>H.264 codec</h264-link>, <hevc-link>HEVC codec</hevc-link> y <vp9-link>VP9 codec</vp9-link>.",
|
"transcoding_codecs_learn_more": "Para obtener más información sobre la terminología utilizada aquí, consulte la documentación de FFmpeg sobre los codecs <h264-link>H.264</h264-link>, <hevc-link>HEVC</hevc-link> y <vp9-link>VP9</vp9-link>.",
|
||||||
"transcoding_constant_quality_mode": "Modo de calidad constante",
|
"transcoding_constant_quality_mode": "Modo de calidad constante",
|
||||||
"transcoding_constant_quality_mode_description": "ICQ es mejor que CQP, pero algunos dispositivos de aceleración de hardware no admiten este modo. Al configurar esta opción, se preferirá el modo especificado cuando se utilice codificación basada en calidad. NVENC lo ignora porque no es compatible con ICQ.",
|
"transcoding_constant_quality_mode_description": "ICQ es mejor que CQP, pero algunos dispositivos de aceleración de hardware no admiten este modo. Al configurar esta opción, se preferirá el modo especificado cuando se utilice codificación basada en calidad. NVENC lo ignora porque no es compatible con ICQ.",
|
||||||
"transcoding_constant_rate_factor": "Factor de tasa constante (-crf)",
|
"transcoding_constant_rate_factor": "Factor de tasa constante (-crf)",
|
||||||
@@ -287,7 +279,7 @@
|
|||||||
"transcoding_hardware_acceleration": "Aceleración por Hardware",
|
"transcoding_hardware_acceleration": "Aceleración por Hardware",
|
||||||
"transcoding_hardware_acceleration_description": "Experimental; mucho más rápido, pero tendrá menor calidad con la misma tasa de bits",
|
"transcoding_hardware_acceleration_description": "Experimental; mucho más rápido, pero tendrá menor calidad con la misma tasa de bits",
|
||||||
"transcoding_hardware_decoding": "Decodificación por hardware",
|
"transcoding_hardware_decoding": "Decodificación por hardware",
|
||||||
"transcoding_hardware_decoding_setting_description": "Se aplica únicamente a NVENC, QSV y RKMPP. Habilita la aceleración de un extremo a otro en lugar de solo acelerar la codificación. Puede que no funcione en todos los vídeos.",
|
"transcoding_hardware_decoding_setting_description": "Permite la aceleración de extremo a extremo en lugar de acelerar únicamente la codificación. Puede que no funcione en todos los vídeos.",
|
||||||
"transcoding_hevc_codec": "Codec HEVC",
|
"transcoding_hevc_codec": "Codec HEVC",
|
||||||
"transcoding_max_b_frames": "Maximos B-frames",
|
"transcoding_max_b_frames": "Maximos B-frames",
|
||||||
"transcoding_max_b_frames_description": "Los valores más altos mejoran la eficiencia de la compresión, pero ralentizan la codificación. Puede que no sea compatible con la aceleración de hardware en dispositivos más antiguos. 0 desactiva los fotogramas B, mientras que -1 establece este valor automáticamente.",
|
"transcoding_max_b_frames_description": "Los valores más altos mejoran la eficiencia de la compresión, pero ralentizan la codificación. Puede que no sea compatible con la aceleración de hardware en dispositivos más antiguos. 0 desactiva los fotogramas B, mientras que -1 establece este valor automáticamente.",
|
||||||
@@ -313,8 +305,6 @@
|
|||||||
"transcoding_threads_description": "Los valores más altos conducen a una codificación más rápida, pero dejan menos espacio para que el servidor procese otras tareas mientras está activo. Este valor no debe ser mayor que la cantidad de núcleos de CPU. Maximiza la utilización si se establece en 0.",
|
"transcoding_threads_description": "Los valores más altos conducen a una codificación más rápida, pero dejan menos espacio para que el servidor procese otras tareas mientras está activo. Este valor no debe ser mayor que la cantidad de núcleos de CPU. Maximiza la utilización si se establece en 0.",
|
||||||
"transcoding_tone_mapping": "Mapeo de tonos",
|
"transcoding_tone_mapping": "Mapeo de tonos",
|
||||||
"transcoding_tone_mapping_description": "Intenta preservar la apariencia de los videos HDR cuando se convierten a SDR. Cada algoritmo realiza diferentes compensaciones en cuanto a color, detalle y brillo. Hable conserva los detalles, Mobius conserva el color y Reinhard conserva el brillo.",
|
"transcoding_tone_mapping_description": "Intenta preservar la apariencia de los videos HDR cuando se convierten a SDR. Cada algoritmo realiza diferentes compensaciones en cuanto a color, detalle y brillo. Hable conserva los detalles, Mobius conserva el color y Reinhard conserva el brillo.",
|
||||||
"transcoding_tone_mapping_npl": "Mapeo de tonos NPL",
|
|
||||||
"transcoding_tone_mapping_npl_description": "Los colores se ajustarán para que parezcan normales en una pantalla con este brillo. Contrariamente a la intuición, los valores más bajos aumentan el brillo del vídeo y viceversa, ya que compensan el brillo de la pantalla. 0 establece este valor automáticamente.",
|
|
||||||
"transcoding_transcode_policy": "Políticas de transcodificación",
|
"transcoding_transcode_policy": "Políticas de transcodificación",
|
||||||
"transcoding_transcode_policy_description": "Política sobre cuándo se debe transcodificar un vídeo. Los vídeos HDR siempre se transcodificarán (excepto si la transcodificación está desactivada).",
|
"transcoding_transcode_policy_description": "Política sobre cuándo se debe transcodificar un vídeo. Los vídeos HDR siempre se transcodificarán (excepto si la transcodificación está desactivada).",
|
||||||
"transcoding_two_pass_encoding": "Codificación en dos pasadas",
|
"transcoding_two_pass_encoding": "Codificación en dos pasadas",
|
||||||
@@ -395,7 +385,6 @@
|
|||||||
"archive_or_unarchive_photo": "Archivar o restaurar foto",
|
"archive_or_unarchive_photo": "Archivar o restaurar foto",
|
||||||
"archive_size": "Tamaño del archivo",
|
"archive_size": "Tamaño del archivo",
|
||||||
"archive_size_description": "Configure el tamaño del archivo para descargas (en GB)",
|
"archive_size_description": "Configure el tamaño del archivo para descargas (en GB)",
|
||||||
"archived": "Archivado",
|
|
||||||
"archived_count": "{count, plural, one {# archivado} other {# archivados}}",
|
"archived_count": "{count, plural, one {# archivado} other {# archivados}}",
|
||||||
"are_these_the_same_person": "¿Son la misma persona?",
|
"are_these_the_same_person": "¿Son la misma persona?",
|
||||||
"are_you_sure_to_do_this": "¿Estas seguro de que quieres hacer esto?",
|
"are_you_sure_to_do_this": "¿Estas seguro de que quieres hacer esto?",
|
||||||
@@ -416,8 +405,7 @@
|
|||||||
"assets_added_to_album_count": "Añadido {count, plural, one {# asset} other {# assets}} al álbum",
|
"assets_added_to_album_count": "Añadido {count, plural, one {# asset} other {# assets}} al álbum",
|
||||||
"assets_added_to_name_count": "Añadido {count, plural, one {# asset} other {# assets}} a {hasName, select, true {<b>{name}</b>} other {new album}}",
|
"assets_added_to_name_count": "Añadido {count, plural, one {# asset} other {# assets}} a {hasName, select, true {<b>{name}</b>} other {new album}}",
|
||||||
"assets_count": "{count, plural, one {# activo} other {# activos}}",
|
"assets_count": "{count, plural, one {# activo} other {# activos}}",
|
||||||
"assets_moved_to_trash": "Se movió {count, plural, one {# activo} other {# activos}} a la papelera",
|
"assets_moved_to_trash_count": "{count, plural, one {# elemento movido} other {# elementos movidos}} a la papelera",
|
||||||
"assets_moved_to_trash_count": "Movido {count, plural, one {# elemento} other {# elementos}} a la papelera",
|
|
||||||
"assets_permanently_deleted_count": "Eliminado permanentemente {count, plural, one {# elemento} other {# elementos}}",
|
"assets_permanently_deleted_count": "Eliminado permanentemente {count, plural, one {# elemento} other {# elementos}}",
|
||||||
"assets_removed_count": "Eliminado {count, plural, one {# elemento} other {# elementos}}",
|
"assets_removed_count": "Eliminado {count, plural, one {# elemento} other {# elementos}}",
|
||||||
"assets_restore_confirmation": "¿Estás seguro de que quieres restaurar todos tus activos eliminados? ¡No puede deshacer esta acción! Tenga en cuenta que los archivos sin conexión no se pueden restaurar de esta manera.",
|
"assets_restore_confirmation": "¿Estás seguro de que quieres restaurar todos tus activos eliminados? ¡No puede deshacer esta acción! Tenga en cuenta que los archivos sin conexión no se pueden restaurar de esta manera.",
|
||||||
@@ -433,7 +421,7 @@
|
|||||||
"blurred_background": "Fondo borroso",
|
"blurred_background": "Fondo borroso",
|
||||||
"bugs_and_feature_requests": "Errores y solicitudes de funciones",
|
"bugs_and_feature_requests": "Errores y solicitudes de funciones",
|
||||||
"build": "Compilación",
|
"build": "Compilación",
|
||||||
"build_image": "Construir Imagen",
|
"build_image": "Imagen",
|
||||||
"bulk_delete_duplicates_confirmation": "¿Estás seguro de que deseas eliminar de forma masiva {count, plural, one {# elemento duplicado} other {# elementos duplicados}}? Esto mantendrá el activo más grande de cada grupo y eliminará permanentemente todos los demás duplicados. ¡Esta acción no se puede deshacer!",
|
"bulk_delete_duplicates_confirmation": "¿Estás seguro de que deseas eliminar de forma masiva {count, plural, one {# elemento duplicado} other {# elementos duplicados}}? Esto mantendrá el activo más grande de cada grupo y eliminará permanentemente todos los demás duplicados. ¡Esta acción no se puede deshacer!",
|
||||||
"bulk_keep_duplicates_confirmation": "¿Estas seguro de que desea mantener {count, plural, one {# duplicate asset} other {# duplicate assets}} archivos duplicados? Esto resolverá todos los grupos duplicados sin borrar nada.",
|
"bulk_keep_duplicates_confirmation": "¿Estas seguro de que desea mantener {count, plural, one {# duplicate asset} other {# duplicate assets}} archivos duplicados? Esto resolverá todos los grupos duplicados sin borrar nada.",
|
||||||
"bulk_trash_duplicates_confirmation": "¿Estas seguro de que desea eliminar masivamente {count, plural, one {# duplicate asset} other {# duplicate assets}} archivos duplicados? Esto mantendrá el archivo más grande de cada grupo y eliminará todos los demás duplicados.",
|
"bulk_trash_duplicates_confirmation": "¿Estas seguro de que desea eliminar masivamente {count, plural, one {# duplicate asset} other {# duplicate assets}} archivos duplicados? Esto mantendrá el archivo más grande de cada grupo y eliminará todos los demás duplicados.",
|
||||||
@@ -446,13 +434,9 @@
|
|||||||
"cannot_merge_people": "No se pueden fusionar personas",
|
"cannot_merge_people": "No se pueden fusionar personas",
|
||||||
"cannot_undo_this_action": "¡No puedes deshacer esta acción!",
|
"cannot_undo_this_action": "¡No puedes deshacer esta acción!",
|
||||||
"cannot_update_the_description": "No se puede actualizar la descripción",
|
"cannot_update_the_description": "No se puede actualizar la descripción",
|
||||||
"cant_apply_changes": "No se pueden aplicar los cambios",
|
|
||||||
"cant_get_faces": "No se encuentran rostros",
|
|
||||||
"cant_search_people": "No se pueden buscar personas",
|
|
||||||
"cant_search_places": "No se pueden buscar lugares",
|
|
||||||
"change_date": "Cambiar fecha",
|
"change_date": "Cambiar fecha",
|
||||||
"change_expiration_time": "Cambiar fecha de caducidad",
|
"change_expiration_time": "Cambiar fecha de caducidad",
|
||||||
"change_location": "Cambiar localización",
|
"change_location": "Cambiar ubicación",
|
||||||
"change_name": "Cambiar nombre",
|
"change_name": "Cambiar nombre",
|
||||||
"change_name_successfully": "Nombre cambiado correctamente",
|
"change_name_successfully": "Nombre cambiado correctamente",
|
||||||
"change_password": "Cambiar Contraseña",
|
"change_password": "Cambiar Contraseña",
|
||||||
@@ -481,6 +465,7 @@
|
|||||||
"confirm": "Confirmar",
|
"confirm": "Confirmar",
|
||||||
"confirm_admin_password": "Confirmar Contraseña de Administrador",
|
"confirm_admin_password": "Confirmar Contraseña de Administrador",
|
||||||
"confirm_delete_shared_link": "¿Estás seguro de que deseas eliminar este enlace compartido?",
|
"confirm_delete_shared_link": "¿Estás seguro de que deseas eliminar este enlace compartido?",
|
||||||
|
"confirm_keep_this_delete_others": "Todos los demás activos de la pila se eliminarán excepto este activo. ¿Está seguro de que quiere continuar?",
|
||||||
"confirm_password": "Confirmar contraseña",
|
"confirm_password": "Confirmar contraseña",
|
||||||
"contain": "Incluido",
|
"contain": "Incluido",
|
||||||
"context": "Contexto",
|
"context": "Contexto",
|
||||||
@@ -530,6 +515,7 @@
|
|||||||
"delete_key": "Eliminar clave",
|
"delete_key": "Eliminar clave",
|
||||||
"delete_library": "Eliminar biblioteca",
|
"delete_library": "Eliminar biblioteca",
|
||||||
"delete_link": "Eliminar enlace",
|
"delete_link": "Eliminar enlace",
|
||||||
|
"delete_others": "Eliminar otros",
|
||||||
"delete_shared_link": "Eliminar enlace compartido",
|
"delete_shared_link": "Eliminar enlace compartido",
|
||||||
"delete_tag": "Eliminar etiqueta",
|
"delete_tag": "Eliminar etiqueta",
|
||||||
"delete_tag_confirmation_prompt": "¿Estás seguro de que deseas eliminar la etiqueta {tagName} ?",
|
"delete_tag_confirmation_prompt": "¿Estás seguro de que deseas eliminar la etiqueta {tagName} ?",
|
||||||
@@ -563,13 +549,6 @@
|
|||||||
"duplicates": "Duplicados",
|
"duplicates": "Duplicados",
|
||||||
"duplicates_description": "Resuelva cada grupo indicando, en cada caso, cuales están duplicados",
|
"duplicates_description": "Resuelva cada grupo indicando, en cada caso, cuales están duplicados",
|
||||||
"duration": "Duración",
|
"duration": "Duración",
|
||||||
"durations": {
|
|
||||||
"days": "{days, plural, one {día} other {{days, number} días}}",
|
|
||||||
"hours": "{hours, plural, one {hora} other {{hours, number} horas}}",
|
|
||||||
"minutes": "{minutes, plural, one {minuto} other {{minutes, number} minutos}}",
|
|
||||||
"months": "{months, plural, one {mes} other {{months, number} meses}}",
|
|
||||||
"years": "{years, plural, one {año} other {{years, number} años}}"
|
|
||||||
},
|
|
||||||
"edit": "Editar",
|
"edit": "Editar",
|
||||||
"edit_album": "Editar album",
|
"edit_album": "Editar album",
|
||||||
"edit_avatar": "Editar avatar",
|
"edit_avatar": "Editar avatar",
|
||||||
@@ -594,8 +573,6 @@
|
|||||||
"editor_crop_tool_h2_aspect_ratios": "Proporciones del aspecto",
|
"editor_crop_tool_h2_aspect_ratios": "Proporciones del aspecto",
|
||||||
"editor_crop_tool_h2_rotation": "Rotación",
|
"editor_crop_tool_h2_rotation": "Rotación",
|
||||||
"email": "Correo",
|
"email": "Correo",
|
||||||
"empty": "",
|
|
||||||
"empty_album": "Álbum vacío",
|
|
||||||
"empty_trash": "Vaciar papelera",
|
"empty_trash": "Vaciar papelera",
|
||||||
"empty_trash_confirmation": "¿Estás seguro de que quieres vaciar la papelera? Esto eliminará permanentemente todos los archivos de la basura de Immich.\n¡No puedes deshacer esta acción!",
|
"empty_trash_confirmation": "¿Estás seguro de que quieres vaciar la papelera? Esto eliminará permanentemente todos los archivos de la basura de Immich.\n¡No puedes deshacer esta acción!",
|
||||||
"enable": "Habilitar",
|
"enable": "Habilitar",
|
||||||
@@ -629,6 +606,7 @@
|
|||||||
"failed_to_create_shared_link": "Error al crear el enlace compartido",
|
"failed_to_create_shared_link": "Error al crear el enlace compartido",
|
||||||
"failed_to_edit_shared_link": "Error al editar el enlace compartido",
|
"failed_to_edit_shared_link": "Error al editar el enlace compartido",
|
||||||
"failed_to_get_people": "Error al obtener personas",
|
"failed_to_get_people": "Error al obtener personas",
|
||||||
|
"failed_to_keep_this_delete_others": "No se pudo conservar este activo y eliminar los demás",
|
||||||
"failed_to_load_asset": "Error al cargar el elemento",
|
"failed_to_load_asset": "Error al cargar el elemento",
|
||||||
"failed_to_load_assets": "Error al cargar los elementos",
|
"failed_to_load_assets": "Error al cargar los elementos",
|
||||||
"failed_to_load_people": "Error al cargar a los usuarios",
|
"failed_to_load_people": "Error al cargar a los usuarios",
|
||||||
@@ -656,8 +634,6 @@
|
|||||||
"unable_to_change_location": "No se puede cambiar de ubicación",
|
"unable_to_change_location": "No se puede cambiar de ubicación",
|
||||||
"unable_to_change_password": "No se puede cambiar la contraseña",
|
"unable_to_change_password": "No se puede cambiar la contraseña",
|
||||||
"unable_to_change_visibility": "No se puede cambiar la visibilidad de {count, plural, one {# persona} other {# personas}}",
|
"unable_to_change_visibility": "No se puede cambiar la visibilidad de {count, plural, one {# persona} other {# personas}}",
|
||||||
"unable_to_check_item": "",
|
|
||||||
"unable_to_check_items": "",
|
|
||||||
"unable_to_complete_oauth_login": "No se puede completar el inicio de sesión de OAuth",
|
"unable_to_complete_oauth_login": "No se puede completar el inicio de sesión de OAuth",
|
||||||
"unable_to_connect": "No puede conectarse",
|
"unable_to_connect": "No puede conectarse",
|
||||||
"unable_to_connect_to_server": "Error al conectar al servidor",
|
"unable_to_connect_to_server": "Error al conectar al servidor",
|
||||||
@@ -698,12 +674,10 @@
|
|||||||
"unable_to_remove_album_users": "No se pueden eliminar usuarios del álbum",
|
"unable_to_remove_album_users": "No se pueden eliminar usuarios del álbum",
|
||||||
"unable_to_remove_api_key": "No se puede eliminar la clave API",
|
"unable_to_remove_api_key": "No se puede eliminar la clave API",
|
||||||
"unable_to_remove_assets_from_shared_link": "No se pueden eliminar archivos desde el enlace compartido",
|
"unable_to_remove_assets_from_shared_link": "No se pueden eliminar archivos desde el enlace compartido",
|
||||||
"unable_to_remove_comment": "",
|
|
||||||
"unable_to_remove_deleted_assets": "No se pueden eliminar archivos sin conexión",
|
"unable_to_remove_deleted_assets": "No se pueden eliminar archivos sin conexión",
|
||||||
"unable_to_remove_library": "No se puede eliminar la biblioteca",
|
"unable_to_remove_library": "No se puede eliminar la biblioteca",
|
||||||
"unable_to_remove_partner": "No se puede eliminar el invitado",
|
"unable_to_remove_partner": "No se puede eliminar el invitado",
|
||||||
"unable_to_remove_reaction": "No se puede eliminar la reacción",
|
"unable_to_remove_reaction": "No se puede eliminar la reacción",
|
||||||
"unable_to_remove_user": "",
|
|
||||||
"unable_to_repair_items": "No se pueden reparar los items",
|
"unable_to_repair_items": "No se pueden reparar los items",
|
||||||
"unable_to_reset_password": "No se puede restablecer la contraseña",
|
"unable_to_reset_password": "No se puede restablecer la contraseña",
|
||||||
"unable_to_resolve_duplicate": "No se resolver duplicado",
|
"unable_to_resolve_duplicate": "No se resolver duplicado",
|
||||||
@@ -733,10 +707,6 @@
|
|||||||
"unable_to_update_user": "No se puede actualizar el usuario",
|
"unable_to_update_user": "No se puede actualizar el usuario",
|
||||||
"unable_to_upload_file": "Error al subir el archivo"
|
"unable_to_upload_file": "Error al subir el archivo"
|
||||||
},
|
},
|
||||||
"every_day_at_onepm": "",
|
|
||||||
"every_night_at_midnight": "",
|
|
||||||
"every_night_at_twoam": "",
|
|
||||||
"every_six_hours": "",
|
|
||||||
"exif": "EXIF",
|
"exif": "EXIF",
|
||||||
"exit_slideshow": "Salir de la presentación",
|
"exit_slideshow": "Salir de la presentación",
|
||||||
"expand_all": "Expandir todo",
|
"expand_all": "Expandir todo",
|
||||||
@@ -751,33 +721,27 @@
|
|||||||
"external": "Externo",
|
"external": "Externo",
|
||||||
"external_libraries": "Bibliotecas Externas",
|
"external_libraries": "Bibliotecas Externas",
|
||||||
"face_unassigned": "Sin asignar",
|
"face_unassigned": "Sin asignar",
|
||||||
"failed_to_get_people": "No se pudo encontrar a personas",
|
|
||||||
"favorite": "Favorito",
|
"favorite": "Favorito",
|
||||||
"favorite_or_unfavorite_photo": "Foto favorita o no favorita",
|
"favorite_or_unfavorite_photo": "Foto favorita o no favorita",
|
||||||
"favorites": "Favoritos",
|
"favorites": "Favoritos",
|
||||||
"feature": "",
|
|
||||||
"feature_photo_updated": "Foto destacada actualizada",
|
"feature_photo_updated": "Foto destacada actualizada",
|
||||||
"featurecollection": "",
|
|
||||||
"features": "Características",
|
"features": "Características",
|
||||||
"features_setting_description": "Administrar las funciones de la aplicación",
|
"features_setting_description": "Administrar las funciones de la aplicación",
|
||||||
"file_name": "Nombre de archivo",
|
"file_name": "Nombre de archivo",
|
||||||
"file_name_or_extension": "Nombre del archivo o extensión",
|
"file_name_or_extension": "Nombre del archivo o extensión",
|
||||||
"filename": "Nombre del archivo",
|
"filename": "Nombre del archivo",
|
||||||
"files": "",
|
|
||||||
"filetype": "Tipo de archivo",
|
"filetype": "Tipo de archivo",
|
||||||
"filter_people": "Filtrar personas",
|
"filter_people": "Filtrar personas",
|
||||||
"find_them_fast": "Encuéntrelos rápidamente por nombre con la búsqueda",
|
"find_them_fast": "Encuéntrelos rápidamente por nombre con la búsqueda",
|
||||||
"fix_incorrect_match": "Corregir coincidencia incorrecta",
|
"fix_incorrect_match": "Corregir coincidencia incorrecta",
|
||||||
"folders": "Carpetas",
|
"folders": "Carpetas",
|
||||||
"folders_feature_description": "Explorar la vista de carpetas para las fotos y los videos en el sistema de archivos",
|
"folders_feature_description": "Explorar la vista de carpetas para las fotos y los videos en el sistema de archivos",
|
||||||
"force_re-scan_library_files": "Forzar reescaneo de todos los archivos de la biblioteca",
|
|
||||||
"forward": "Reenviar",
|
"forward": "Reenviar",
|
||||||
"general": "General",
|
"general": "General",
|
||||||
"get_help": "Solicitar ayuda",
|
"get_help": "Solicitar ayuda",
|
||||||
"getting_started": "Comenzamos",
|
"getting_started": "Comenzamos",
|
||||||
"go_back": "Volver atrás",
|
"go_back": "Volver atrás",
|
||||||
"go_to_search": "Ir a búsqueda",
|
"go_to_search": "Ir a búsqueda",
|
||||||
"go_to_share_page": "Ir a compartir página",
|
|
||||||
"group_albums_by": "Agrupar albums por...",
|
"group_albums_by": "Agrupar albums por...",
|
||||||
"group_no": "Sin agrupación",
|
"group_no": "Sin agrupación",
|
||||||
"group_owner": "Agrupar por propietario",
|
"group_owner": "Agrupar por propietario",
|
||||||
@@ -803,10 +767,6 @@
|
|||||||
"image_alt_text_date_place_2_people": "{isVideo, select, true {Video} other {Image}} tomada en {city}, {country} con {person1} y {person2} el {date}",
|
"image_alt_text_date_place_2_people": "{isVideo, select, true {Video} other {Image}} tomada en {city}, {country} con {person1} y {person2} el {date}",
|
||||||
"image_alt_text_date_place_3_people": "{isVideo, select, true {Video} other {Image}} tomada en {city}, {country} con {person1}, {person2}, y {person3} el {date}",
|
"image_alt_text_date_place_3_people": "{isVideo, select, true {Video} other {Image}} tomada en {city}, {country} con {person1}, {person2}, y {person3} el {date}",
|
||||||
"image_alt_text_date_place_4_or_more_people": "{isVideo, select, true {Video} other {Image}} tomada en {city}, {country} con {person1}, {person2}, y {additionalCount, number} más el {date}",
|
"image_alt_text_date_place_4_or_more_people": "{isVideo, select, true {Video} other {Image}} tomada en {city}, {country} con {person1}, {person2}, y {additionalCount, number} más el {date}",
|
||||||
"image_alt_text_people": "{count, plural, =1 {with {person1}} =2 {with {person1} and {person2}} =3 {with {person1}, {person2}, and {person3}} other {with {person1}, {person2}, y {others, number} others}}",
|
|
||||||
"image_alt_text_place": "En {city}, {country}",
|
|
||||||
"image_taken": "{isVideo, select, true {Video taken} other {Image taken}}",
|
|
||||||
"img": "",
|
|
||||||
"immich_logo": "Logo de Immich",
|
"immich_logo": "Logo de Immich",
|
||||||
"immich_web_interface": "Interfaz Web de Immich",
|
"immich_web_interface": "Interfaz Web de Immich",
|
||||||
"import_from_json": "Importar desde JSON",
|
"import_from_json": "Importar desde JSON",
|
||||||
@@ -827,10 +787,11 @@
|
|||||||
"invite_people": "Invitar a Personas",
|
"invite_people": "Invitar a Personas",
|
||||||
"invite_to_album": "Invitar al álbum",
|
"invite_to_album": "Invitar al álbum",
|
||||||
"items_count": "{count, plural, one {# elemento} other {# elementos}}",
|
"items_count": "{count, plural, one {# elemento} other {# elementos}}",
|
||||||
"job_settings_description": "",
|
|
||||||
"jobs": "Tareas",
|
"jobs": "Tareas",
|
||||||
"keep": "Conservar",
|
"keep": "Conservar",
|
||||||
"keep_all": "Conservar Todo",
|
"keep_all": "Conservar Todo",
|
||||||
|
"keep_this_delete_others": "Mantener este, eliminar los otros",
|
||||||
|
"kept_this_deleted_others": "Mantuvo este activo y eliminó {count, plural, one {# activo} other {# activos}}",
|
||||||
"keyboard_shortcuts": "Atajos de teclado",
|
"keyboard_shortcuts": "Atajos de teclado",
|
||||||
"language": "Idioma",
|
"language": "Idioma",
|
||||||
"language_setting_description": "Selecciona tu idioma preferido",
|
"language_setting_description": "Selecciona tu idioma preferido",
|
||||||
@@ -842,31 +803,6 @@
|
|||||||
"level": "Nivel",
|
"level": "Nivel",
|
||||||
"library": "Biblioteca",
|
"library": "Biblioteca",
|
||||||
"library_options": "Opciones de biblioteca",
|
"library_options": "Opciones de biblioteca",
|
||||||
"license_account_info": "Tu cuenta tiene licencia",
|
|
||||||
"license_activated_subtitle": "Gracias por apoyar a Immich y al software de código abierto",
|
|
||||||
"license_activated_title": "Tu licencia ha sido activada exitosamente",
|
|
||||||
"license_button_activate": "Activar",
|
|
||||||
"license_button_buy": "Comprar",
|
|
||||||
"license_button_buy_license": "Comprar una licencia",
|
|
||||||
"license_button_select": "Seleccionar",
|
|
||||||
"license_failed_activation": "No se pudo activar la licencia. ¡Por favor, revisa tu correo electrónico para obtener la clave de licencia correcta!",
|
|
||||||
"license_individual_description_1": "1 licencia por usuario en cualquier servidor",
|
|
||||||
"license_individual_title": "Licencia individual",
|
|
||||||
"license_info_licensed": "Con licencia",
|
|
||||||
"license_info_unlicensed": "Sin licencia",
|
|
||||||
"license_input_suggestion": "¿Tienes una licencia? Introduzca la clave a continuación",
|
|
||||||
"license_license_subtitle": "Comprar una licencia para apoyar a Immich",
|
|
||||||
"license_license_title": "LICENCIA",
|
|
||||||
"license_lifetime_description": "Licencia de por vida",
|
|
||||||
"license_per_server": "Por servidor",
|
|
||||||
"license_per_user": "Por usuario",
|
|
||||||
"license_server_description_1": "1 licencia por servidor",
|
|
||||||
"license_server_description_2": "Licencia para todos los usuarios del servidor",
|
|
||||||
"license_server_title": "Licencia del servidor",
|
|
||||||
"license_trial_info_1": "Está ejecutando una versión sin licencia de Immich",
|
|
||||||
"license_trial_info_2": "Llevas utilizando Immich aproximadamente",
|
|
||||||
"license_trial_info_3": "{accountAge, plural, one {# día} other {# días}}",
|
|
||||||
"license_trial_info_4": "Por favor, considera la compra de una licencia para apoyar el desarrollo continuo del servicio",
|
|
||||||
"light": "Claro",
|
"light": "Claro",
|
||||||
"like_deleted": "Me gusta eliminado",
|
"like_deleted": "Me gusta eliminado",
|
||||||
"link_motion_video": "Enlazar vídeo en movimiento",
|
"link_motion_video": "Enlazar vídeo en movimiento",
|
||||||
@@ -888,6 +824,7 @@
|
|||||||
"look": "Mirar",
|
"look": "Mirar",
|
||||||
"loop_videos": "Vídeos en bucle",
|
"loop_videos": "Vídeos en bucle",
|
||||||
"loop_videos_description": "Habilite la reproducción automática de un video en el visor de detalles.",
|
"loop_videos_description": "Habilite la reproducción automática de un video en el visor de detalles.",
|
||||||
|
"main_branch_warning": "Estás ejecutando una compilación desde la rama principal. ¡Recomendamos encarecidamente usar una versión de lanzamiento!",
|
||||||
"make": "Marca",
|
"make": "Marca",
|
||||||
"manage_shared_links": "Administrar enlaces compartidos",
|
"manage_shared_links": "Administrar enlaces compartidos",
|
||||||
"manage_sharing_with_partners": "Administrar el uso compartido con invitados",
|
"manage_sharing_with_partners": "Administrar el uso compartido con invitados",
|
||||||
@@ -949,7 +886,7 @@
|
|||||||
"no_results": "Sin resultados",
|
"no_results": "Sin resultados",
|
||||||
"no_results_description": "Pruebe con un sinónimo o una palabra clave más general",
|
"no_results_description": "Pruebe con un sinónimo o una palabra clave más general",
|
||||||
"no_shared_albums_message": "Crea un álbum para compartir fotos y vídeos con personas de tu red",
|
"no_shared_albums_message": "Crea un álbum para compartir fotos y vídeos con personas de tu red",
|
||||||
"not_in_any_album": "Nada en ningún álbum",
|
"not_in_any_album": "Sin álbum",
|
||||||
"note_apply_storage_label_to_previously_uploaded assets": "Nota: Para aplicar la etiqueta de almacenamiento a los archivos cargados previamente, ejecute el",
|
"note_apply_storage_label_to_previously_uploaded assets": "Nota: Para aplicar la etiqueta de almacenamiento a los archivos cargados previamente, ejecute el",
|
||||||
"note_unlimited_quota": "Nota: Ingrese 0 para cuota ilimitada",
|
"note_unlimited_quota": "Nota: Ingrese 0 para cuota ilimitada",
|
||||||
"notes": "Notas",
|
"notes": "Notas",
|
||||||
@@ -970,7 +907,6 @@
|
|||||||
"onboarding_welcome_user": "Bienvenido, {user}",
|
"onboarding_welcome_user": "Bienvenido, {user}",
|
||||||
"online": "En línea",
|
"online": "En línea",
|
||||||
"only_favorites": "Solo favoritos",
|
"only_favorites": "Solo favoritos",
|
||||||
"only_refreshes_modified_files": "Solo actualiza los archivos modificados",
|
|
||||||
"open_in_map_view": "Abrir en la vista del mapa",
|
"open_in_map_view": "Abrir en la vista del mapa",
|
||||||
"open_in_openstreetmap": "Abrir en OpenStreetMap",
|
"open_in_openstreetmap": "Abrir en OpenStreetMap",
|
||||||
"open_the_search_filters": "Abre los filtros de búsqueda",
|
"open_the_search_filters": "Abre los filtros de búsqueda",
|
||||||
@@ -1008,21 +944,19 @@
|
|||||||
"people_edits_count": "Editada {count, plural, one {# persona} other {# personas}}",
|
"people_edits_count": "Editada {count, plural, one {# persona} other {# personas}}",
|
||||||
"people_feature_description": "Explorar fotos y vídeos agrupados por personas",
|
"people_feature_description": "Explorar fotos y vídeos agrupados por personas",
|
||||||
"people_sidebar_description": "Mostrar un enlace a Personas en la barra lateral",
|
"people_sidebar_description": "Mostrar un enlace a Personas en la barra lateral",
|
||||||
"perform_library_tasks": "",
|
|
||||||
"permanent_deletion_warning": "Advertencia de eliminación permanente",
|
"permanent_deletion_warning": "Advertencia de eliminación permanente",
|
||||||
"permanent_deletion_warning_setting_description": "Mostrar una advertencia al eliminar archivos permanentemente",
|
"permanent_deletion_warning_setting_description": "Mostrar una advertencia al eliminar archivos permanentemente",
|
||||||
"permanently_delete": "Borrar permanentemente",
|
"permanently_delete": "Borrar permanentemente",
|
||||||
"permanently_delete_assets_count": "Eliminar permanentemente {count, plural, one {elemento} other {elementos}}",
|
"permanently_delete_assets_count": "Eliminar permanentemente {count, plural, one {elemento} other {elementos}}",
|
||||||
"permanently_delete_assets_prompt": "¿Está seguro de que desea eliminar permanentemente {count, plural, one {este activo?} other {estos <b>#</b> activos?}} Esto también eliminará {count, plural, one {de tu} other {de tus}} álbum(es).",
|
"permanently_delete_assets_prompt": "¿Está seguro de que desea eliminar permanentemente {count, plural, one {este activo?} other {estos <b>#</b> activos?}} Esto también eliminará {count, plural, one {de tu} other {de tus}} álbum(es).",
|
||||||
"permanently_deleted_asset": "Archivo eliminado permanentemente",
|
"permanently_deleted_asset": "Archivo eliminado permanentemente",
|
||||||
"permanently_deleted_assets": "Eliminado permanentemente {count, plural, one {# activo} other {# activos}}",
|
|
||||||
"permanently_deleted_assets_count": "Eliminado permanentemente {count, plural, one {# elemento} other {# elementos}}",
|
"permanently_deleted_assets_count": "Eliminado permanentemente {count, plural, one {# elemento} other {# elementos}}",
|
||||||
"person": "Persona",
|
"person": "Persona",
|
||||||
"person_hidden": "{name}{hidden, select, true { (oculto)} other {}}",
|
"person_hidden": "{name}{hidden, select, true { (oculto)} other {}}",
|
||||||
"photo_shared_all_users": "Parece que compartiste tus fotos con todos los usuarios o no tienes ningún usuario con quien compartirlas.",
|
"photo_shared_all_users": "Parece que compartiste tus fotos con todos los usuarios o no tienes ningún usuario con quien compartirlas.",
|
||||||
"photos": "Fotos",
|
"photos": "Fotos",
|
||||||
"photos_and_videos": "Fotos y Videos",
|
"photos_and_videos": "Fotos y Videos",
|
||||||
"photos_count": "{count, plural, one {{count, number} foto} other {{count, number} fotos}}",
|
"photos_count": "{count, plural, one {{count, number} Foto} other {{count, number} Fotos}}",
|
||||||
"photos_from_previous_years": "Fotos de años anteriores",
|
"photos_from_previous_years": "Fotos de años anteriores",
|
||||||
"pick_a_location": "Elige una ubicación",
|
"pick_a_location": "Elige una ubicación",
|
||||||
"place": "Lugar",
|
"place": "Lugar",
|
||||||
@@ -1031,7 +965,6 @@
|
|||||||
"play_memories": "Reproducir recuerdos",
|
"play_memories": "Reproducir recuerdos",
|
||||||
"play_motion_photo": "Reproducir foto en movimiento",
|
"play_motion_photo": "Reproducir foto en movimiento",
|
||||||
"play_or_pause_video": "Reproducir o pausar vídeo",
|
"play_or_pause_video": "Reproducir o pausar vídeo",
|
||||||
"point": "",
|
|
||||||
"port": "Puerto",
|
"port": "Puerto",
|
||||||
"preset": "Preestablecido",
|
"preset": "Preestablecido",
|
||||||
"preview": "Posterior",
|
"preview": "Posterior",
|
||||||
@@ -1076,12 +1009,10 @@
|
|||||||
"purchase_server_description_2": "Estado del soporte",
|
"purchase_server_description_2": "Estado del soporte",
|
||||||
"purchase_server_title": "Servidor",
|
"purchase_server_title": "Servidor",
|
||||||
"purchase_settings_server_activated": "La clave del producto del servidor la administra el administrador",
|
"purchase_settings_server_activated": "La clave del producto del servidor la administra el administrador",
|
||||||
"range": "",
|
|
||||||
"rating": "Valoración",
|
"rating": "Valoración",
|
||||||
"rating_clear": "Borrar calificación",
|
"rating_clear": "Borrar calificación",
|
||||||
"rating_count": "{count, plural, one {# estrella} other {# estrellas}}",
|
"rating_count": "{count, plural, one {# estrella} other {# estrellas}}",
|
||||||
"rating_description": "Mostrar la clasificación exif en el panel de información",
|
"rating_description": "Mostrar la clasificación exif en el panel de información",
|
||||||
"raw": "",
|
|
||||||
"reaction_options": "Opciones de reacción",
|
"reaction_options": "Opciones de reacción",
|
||||||
"read_changelog": "Leer registro de cambios",
|
"read_changelog": "Leer registro de cambios",
|
||||||
"reassign": "Reasignar",
|
"reassign": "Reasignar",
|
||||||
@@ -1092,8 +1023,8 @@
|
|||||||
"recent_searches": "Búsquedas recientes",
|
"recent_searches": "Búsquedas recientes",
|
||||||
"refresh": "Actualizar",
|
"refresh": "Actualizar",
|
||||||
"refresh_encoded_videos": "Recargar los vídeos codificados",
|
"refresh_encoded_videos": "Recargar los vídeos codificados",
|
||||||
"refresh_faces": "Refrescar caras",
|
"refresh_faces": "Actualizar caras",
|
||||||
"refresh_metadata": "Recargar los metadatos",
|
"refresh_metadata": "Recargar metadatos",
|
||||||
"refresh_thumbnails": "Recargar miniaturas",
|
"refresh_thumbnails": "Recargar miniaturas",
|
||||||
"refreshed": "Recargado",
|
"refreshed": "Recargado",
|
||||||
"refreshes_every_file": "Recargar todos los archivos nuevos y existentes",
|
"refreshes_every_file": "Recargar todos los archivos nuevos y existentes",
|
||||||
@@ -1126,7 +1057,6 @@
|
|||||||
"reset": "Reiniciar",
|
"reset": "Reiniciar",
|
||||||
"reset_password": "Restablecer la contraseña",
|
"reset_password": "Restablecer la contraseña",
|
||||||
"reset_people_visibility": "Restablecer la visibilidad de las personas",
|
"reset_people_visibility": "Restablecer la visibilidad de las personas",
|
||||||
"reset_settings_to_default": "",
|
|
||||||
"reset_to_default": "Restablecer los valores predeterminados",
|
"reset_to_default": "Restablecer los valores predeterminados",
|
||||||
"resolve_duplicates": "Resolver duplicados",
|
"resolve_duplicates": "Resolver duplicados",
|
||||||
"resolved_all_duplicates": "Todos los duplicados resueltos",
|
"resolved_all_duplicates": "Todos los duplicados resueltos",
|
||||||
@@ -1146,9 +1076,7 @@
|
|||||||
"saved_settings": "Configuraciones guardadas",
|
"saved_settings": "Configuraciones guardadas",
|
||||||
"say_something": "Comenta algo",
|
"say_something": "Comenta algo",
|
||||||
"scan_all_libraries": "Escanear todas las bibliotecas",
|
"scan_all_libraries": "Escanear todas las bibliotecas",
|
||||||
"scan_all_library_files": "Vuelva a escanear todos los archivos de la biblioteca",
|
|
||||||
"scan_library": "Escanear",
|
"scan_library": "Escanear",
|
||||||
"scan_new_library_files": "Escanear nuevos archivos de biblioteca",
|
|
||||||
"scan_settings": "Configuración de escaneo",
|
"scan_settings": "Configuración de escaneo",
|
||||||
"scanning_for_album": "Buscando álbum...",
|
"scanning_for_album": "Buscando álbum...",
|
||||||
"search": "Buscar",
|
"search": "Buscar",
|
||||||
@@ -1182,19 +1110,18 @@
|
|||||||
"select_face": "Seleccionar cara",
|
"select_face": "Seleccionar cara",
|
||||||
"select_featured_photo": "Seleccionar foto principal",
|
"select_featured_photo": "Seleccionar foto principal",
|
||||||
"select_from_computer": "Seleccionar desde el PC",
|
"select_from_computer": "Seleccionar desde el PC",
|
||||||
"select_keep_all": "Mantener toda la selección",
|
"select_keep_all": "Conservar todo",
|
||||||
"select_library_owner": "Seleccionar propietario de la biblioteca",
|
"select_library_owner": "Seleccionar propietario de la biblioteca",
|
||||||
"select_new_face": "Seleccionar nueva cara",
|
"select_new_face": "Seleccionar nueva cara",
|
||||||
"select_photos": "Seleccionar Fotos",
|
"select_photos": "Seleccionar Fotos",
|
||||||
"select_trash_all": "Enviar la selección a la papelera",
|
"select_trash_all": "Descartar todo",
|
||||||
"selected": "Seleccionado",
|
"selected": "Seleccionado",
|
||||||
"selected_count": "{count, plural, one {# seleccionado} other {# seleccionados}}",
|
"selected_count": "{count, plural, one {# seleccionado} other {# seleccionados}}",
|
||||||
"send_message": "Enviar mensaje",
|
"send_message": "Enviar mensaje",
|
||||||
"send_welcome_email": "Enviar correo de bienvenida",
|
"send_welcome_email": "Enviar correo de bienvenida",
|
||||||
"server": "Servidor",
|
|
||||||
"server_offline": "Servidor desconectado",
|
"server_offline": "Servidor desconectado",
|
||||||
"server_online": "Servidor en línea",
|
"server_online": "Servidor en línea",
|
||||||
"server_stats": "Estadísticas Servidor",
|
"server_stats": "Estadísticas del servidor",
|
||||||
"server_version": "Versión del servidor",
|
"server_version": "Versión del servidor",
|
||||||
"set": "Establecer",
|
"set": "Establecer",
|
||||||
"set_as_album_cover": "Establecer portada del álbum",
|
"set_as_album_cover": "Establecer portada del álbum",
|
||||||
@@ -1255,7 +1182,7 @@
|
|||||||
"sort_oldest": "Foto más antigua",
|
"sort_oldest": "Foto más antigua",
|
||||||
"sort_recent": "Foto más reciente",
|
"sort_recent": "Foto más reciente",
|
||||||
"sort_title": "Título",
|
"sort_title": "Título",
|
||||||
"source": "Fuente",
|
"source": "Origen",
|
||||||
"stack": "Apilar",
|
"stack": "Apilar",
|
||||||
"stack_duplicates": "Apilar duplicados",
|
"stack_duplicates": "Apilar duplicados",
|
||||||
"stack_select_one_photo": "Selecciona una imagen principal para la pila",
|
"stack_select_one_photo": "Selecciona una imagen principal para la pila",
|
||||||
@@ -1302,26 +1229,22 @@
|
|||||||
"to_favorite": "A los favoritos",
|
"to_favorite": "A los favoritos",
|
||||||
"to_login": "Iniciar Sesión",
|
"to_login": "Iniciar Sesión",
|
||||||
"to_parent": "Ir a los padres",
|
"to_parent": "Ir a los padres",
|
||||||
"to_root": "Para root",
|
"to_trash": "Descartar",
|
||||||
"to_trash": "Papelera",
|
|
||||||
"toggle_settings": "Alternar ajustes",
|
"toggle_settings": "Alternar ajustes",
|
||||||
"toggle_theme": "Alternar tema oscuro",
|
"toggle_theme": "Alternar tema oscuro",
|
||||||
"toggle_visibility": "Alternar visibilidad",
|
|
||||||
"total_usage": "Uso total",
|
"total_usage": "Uso total",
|
||||||
"trash": "Papelera",
|
"trash": "Papelera",
|
||||||
"trash_all": "Enviar todo a la papelera",
|
"trash_all": "Descartar todo",
|
||||||
"trash_count": "Papelera {count, number}",
|
"trash_count": "Descartar {count, number}",
|
||||||
"trash_delete_asset": "Borrar/Eliminar archivo",
|
"trash_delete_asset": "Borrar/Eliminar archivo",
|
||||||
"trash_no_results_message": "Las fotos y videos que se envíen a la papelera aparecerán aquí.",
|
"trash_no_results_message": "Las fotos y videos que se envíen a la papelera aparecerán aquí.",
|
||||||
"trashed_items_will_be_permanently_deleted_after": "Los elementos en la papelera serán eliminados permanentemente tras {days, plural, one {# día} other {# días}}.",
|
"trashed_items_will_be_permanently_deleted_after": "Los elementos en la papelera serán eliminados permanentemente tras {days, plural, one {# día} other {# días}}.",
|
||||||
"type": "Tipo",
|
"type": "Tipo",
|
||||||
"unarchive": "Desarchivar",
|
"unarchive": "Desarchivar",
|
||||||
"unarchived": "Restaurado",
|
|
||||||
"unarchived_count": "{count, plural, one {# No archivado} other {# No archivados}}",
|
"unarchived_count": "{count, plural, one {# No archivado} other {# No archivados}}",
|
||||||
"unfavorite": "Retirar favorito",
|
"unfavorite": "Retirar favorito",
|
||||||
"unhide_person": "Mostrar persona",
|
"unhide_person": "Mostrar persona",
|
||||||
"unknown": "Desconocido",
|
"unknown": "Desconocido",
|
||||||
"unknown_album": "Álbum desconocido",
|
|
||||||
"unknown_year": "Año desconocido",
|
"unknown_year": "Año desconocido",
|
||||||
"unlimited": "Ilimitado",
|
"unlimited": "Ilimitado",
|
||||||
"unlink_motion_video": "Desvincular vídeo en movimiento",
|
"unlink_motion_video": "Desvincular vídeo en movimiento",
|
||||||
@@ -1353,8 +1276,6 @@
|
|||||||
"use_custom_date_range": "Usa un intervalo de fechas personalizado",
|
"use_custom_date_range": "Usa un intervalo de fechas personalizado",
|
||||||
"user": "Usuario",
|
"user": "Usuario",
|
||||||
"user_id": "ID de usuario",
|
"user_id": "ID de usuario",
|
||||||
"user_license_settings": "Licencia",
|
|
||||||
"user_license_settings_description": "Gestionar tu licencia",
|
|
||||||
"user_liked": "{user} le gustó {type, select, photo {this photo} video {this video} asset {this asset} other {it}}",
|
"user_liked": "{user} le gustó {type, select, photo {this photo} video {this video} asset {this asset} other {it}}",
|
||||||
"user_purchase_settings": "Compra",
|
"user_purchase_settings": "Compra",
|
||||||
"user_purchase_settings_description": "Gestiona tu compra",
|
"user_purchase_settings_description": "Gestiona tu compra",
|
||||||
@@ -1367,7 +1288,7 @@
|
|||||||
"variables": "Variables",
|
"variables": "Variables",
|
||||||
"version": "Versión",
|
"version": "Versión",
|
||||||
"version_announcement_closing": "Tu amigo, Alex",
|
"version_announcement_closing": "Tu amigo, Alex",
|
||||||
"version_announcement_message": "Hola Amigo: Hay una nueva versión de la aplicación, por favor, tómate tu tiempo para visitar las notas de la <link>versión</link> y asegúrate de que tu <code>docker-compose.yml</code> y la configuración <code>.env</code> estén actualizadas para evitar cualquier configuración incorrecta, especialmente si usas WatchTower o cualquier mecanismo que maneje la actualización automática de tu aplicación.",
|
"version_announcement_message": "¡Hola! Hay una nueva versión de Immich disponible. Tómese un tiempo para leer las <link> notas de la versión </link> para asegurarse de que su configuración esté actualizada y evitar errores de configuración, especialmente si utiliza WatchTower o cualquier mecanismo que se encargue de actualizar su instancia de Immich automáticamente.",
|
||||||
"version_history": "Historial de versiones",
|
"version_history": "Historial de versiones",
|
||||||
"version_history_item": "Instalada la {version} el {date}",
|
"version_history_item": "Instalada la {version} el {date}",
|
||||||
"video": "Vídeo",
|
"video": "Vídeo",
|
||||||
@@ -1384,13 +1305,12 @@
|
|||||||
"view_next_asset": "Mostrar siguiente elemento",
|
"view_next_asset": "Mostrar siguiente elemento",
|
||||||
"view_previous_asset": "Mostrar elemento anterior",
|
"view_previous_asset": "Mostrar elemento anterior",
|
||||||
"view_stack": "Ver Pila",
|
"view_stack": "Ver Pila",
|
||||||
"viewer": "Visualizador",
|
|
||||||
"visibility_changed": "Visibilidad cambiada para {count, plural, one {# persona} other {# personas}}",
|
"visibility_changed": "Visibilidad cambiada para {count, plural, one {# persona} other {# personas}}",
|
||||||
"waiting": "Esperando",
|
"waiting": "Esperando",
|
||||||
"warning": "Advertencia",
|
"warning": "Advertencia",
|
||||||
"week": "Semana",
|
"week": "Semana",
|
||||||
"welcome": "Bienvenido",
|
"welcome": "Bienvenido",
|
||||||
"welcome_to_immich": "Bienvenido a immich",
|
"welcome_to_immich": "Bienvenido a Immich",
|
||||||
"year": "Año",
|
"year": "Año",
|
||||||
"years_ago": "Hace {years, plural, one {# año} other {# años}}",
|
"years_ago": "Hace {years, plural, one {# año} other {# años}}",
|
||||||
"yes": "Sí",
|
"yes": "Sí",
|
||||||
@@ -1,5 +1,5 @@
|
|||||||
{
|
{
|
||||||
"about": "Teave",
|
"about": "Värskenda",
|
||||||
"account": "Konto",
|
"account": "Konto",
|
||||||
"account_settings": "Konto seaded",
|
"account_settings": "Konto seaded",
|
||||||
"acknowledge": "Sain aru",
|
"acknowledge": "Sain aru",
|
||||||
@@ -34,6 +34,11 @@
|
|||||||
"authentication_settings_disable_all": "Kas oled kindel, et soovid kõik sisselogimismeetodid välja lülitada? Sisselogimine lülitatakse täielikult välja.",
|
"authentication_settings_disable_all": "Kas oled kindel, et soovid kõik sisselogimismeetodid välja lülitada? Sisselogimine lülitatakse täielikult välja.",
|
||||||
"authentication_settings_reenable": "Et taas lubada, kasuta <link>serveri käsku</link>.",
|
"authentication_settings_reenable": "Et taas lubada, kasuta <link>serveri käsku</link>.",
|
||||||
"background_task_job": "Tausttegumid",
|
"background_task_job": "Tausttegumid",
|
||||||
|
"backup_database": "Varunda andmebaas",
|
||||||
|
"backup_database_enable_description": "Luba andmebaasi varundamine",
|
||||||
|
"backup_keep_last_amount": "Varukoopiate arv, mida alles hoida",
|
||||||
|
"backup_settings": "Varundamise seaded",
|
||||||
|
"backup_settings_description": "Halda andmebaasi varundamise seadeid",
|
||||||
"check_all": "Märgi kõik",
|
"check_all": "Märgi kõik",
|
||||||
"cleared_jobs": "Tööted eemaldatud: {job}",
|
"cleared_jobs": "Tööted eemaldatud: {job}",
|
||||||
"config_set_by_file": "Konfiguratsioon on määratud konfifaili abil",
|
"config_set_by_file": "Konfiguratsioon on määratud konfifaili abil",
|
||||||
@@ -43,6 +48,9 @@
|
|||||||
"confirm_reprocess_all_faces": "Kas oled kindel, et soovid kõik näod uuesti töödelda? See eemaldab kõik nimega isikud.",
|
"confirm_reprocess_all_faces": "Kas oled kindel, et soovid kõik näod uuesti töödelda? See eemaldab kõik nimega isikud.",
|
||||||
"confirm_user_password_reset": "Kas oled kindel, et soovid kasutaja {user} parooli lähtestada?",
|
"confirm_user_password_reset": "Kas oled kindel, et soovid kasutaja {user} parooli lähtestada?",
|
||||||
"create_job": "Lisa tööde",
|
"create_job": "Lisa tööde",
|
||||||
|
"cron_expression": "Cron avaldis",
|
||||||
|
"cron_expression_description": "Sea skaneerimise intervall cron formaadis. Rohkema info jaoks vaata nt. <link>Crontab Guru</link>",
|
||||||
|
"cron_expression_presets": "Eelseadistatud cron avaldised",
|
||||||
"disable_login": "Keela sisselogimine",
|
"disable_login": "Keela sisselogimine",
|
||||||
"duplicate_detection_job_description": "Rakenda üksustele masinõpet, et leida sarnaseid pilte. Kasutab nutiotsingut",
|
"duplicate_detection_job_description": "Rakenda üksustele masinõpet, et leida sarnaseid pilte. Kasutab nutiotsingut",
|
||||||
"exclusion_pattern_description": "Välistamismustrid võimaldavad ignoreerida faile ja kaustu kogu skaneerimisel. See on kasulik, kui sul on kaustu, mis sisaldavad faile, mida sa ei soovi importida, nagu RAW failid.",
|
"exclusion_pattern_description": "Välistamismustrid võimaldavad ignoreerida faile ja kaustu kogu skaneerimisel. See on kasulik, kui sul on kaustu, mis sisaldavad faile, mida sa ei soovi importida, nagu RAW failid.",
|
||||||
@@ -61,22 +69,15 @@
|
|||||||
"image_prefer_wide_gamut": "Eelista laia värvigammat",
|
"image_prefer_wide_gamut": "Eelista laia värvigammat",
|
||||||
"image_prefer_wide_gamut_setting_description": "Kasuta pisipiltide jaoks Display P3. See säilitab paremini laia värviruumiga piltide erksuse, aga vanematel seadmetel ja vanemate brauseritega võivad pildid teistsugused välja näha. sRGB pildid säilitatakse värvinihete vältimiseks.",
|
"image_prefer_wide_gamut_setting_description": "Kasuta pisipiltide jaoks Display P3. See säilitab paremini laia värviruumiga piltide erksuse, aga vanematel seadmetel ja vanemate brauseritega võivad pildid teistsugused välja näha. sRGB pildid säilitatakse värvinihete vältimiseks.",
|
||||||
"image_preview_description": "Keskmise suurusega pilt ilma metaandmeteta, kasutusel üksiku üksuse vaatamise ja masinõppe jaoks",
|
"image_preview_description": "Keskmise suurusega pilt ilma metaandmeteta, kasutusel üksiku üksuse vaatamise ja masinõppe jaoks",
|
||||||
"image_preview_format": "Eelvaate formaat",
|
|
||||||
"image_preview_quality_description": "Eelvaate kvaliteet vahemikus 1-100. Kõrgem väärtus on parem, aga tekitab suuremaid faile ning võib mõjutada rakenduse töökiirust. Madala väärtuse seadmine võib mõjutada masinõppe kvaliteeti.",
|
"image_preview_quality_description": "Eelvaate kvaliteet vahemikus 1-100. Kõrgem väärtus on parem, aga tekitab suuremaid faile ning võib mõjutada rakenduse töökiirust. Madala väärtuse seadmine võib mõjutada masinõppe kvaliteeti.",
|
||||||
"image_preview_resolution": "Eelvaate resolutsioon",
|
|
||||||
"image_preview_resolution_description": "Kasutusel üksiku foto vaatamisel ja masinõppe jaoks. Kõrgem resolutsioon säilitab rohkem detaile, aga kodeerimine võtab rohkem aega, tekitab suurema faili ning võib mõjutada rakenduse töökiirust.",
|
|
||||||
"image_preview_title": "Eelvaate seaded",
|
"image_preview_title": "Eelvaate seaded",
|
||||||
"image_quality": "Kvaliteet",
|
"image_quality": "Kvaliteet",
|
||||||
"image_quality_description": "Pildikvaliteet vahemikus 1-100. Kõrgem väärtus tähendab paremat kvaliteeti ja suuremaid faile. See valik mõjutab eelvaateid ja pisipilte.",
|
|
||||||
"image_resolution": "Resolutsioon",
|
"image_resolution": "Resolutsioon",
|
||||||
"image_resolution_description": "Kõrgemad resolutsioonid säilitavad rohkem detaile, aga kodeerimine võtab kauem aega, tekitab suuremaid faile ning võib mõjutada rakenduse töökiirust.",
|
"image_resolution_description": "Kõrgemad resolutsioonid säilitavad rohkem detaile, aga kodeerimine võtab kauem aega, tekitab suuremaid faile ning võib mõjutada rakenduse töökiirust.",
|
||||||
"image_settings": "Pildi seaded",
|
"image_settings": "Pildi seaded",
|
||||||
"image_settings_description": "Halda genereeritud piltide kvaliteeti ja resolutsiooni",
|
"image_settings_description": "Halda genereeritud piltide kvaliteeti ja resolutsiooni",
|
||||||
"image_thumbnail_description": "Väike pisipilt ilma metaandmeteta, kasutusel fotode grupikaupa vaatamisel, näiteks ajajoonel",
|
"image_thumbnail_description": "Väike pisipilt ilma metaandmeteta, kasutusel fotode grupikaupa vaatamisel, näiteks ajajoonel",
|
||||||
"image_thumbnail_format": "Pisipildi formaat",
|
|
||||||
"image_thumbnail_quality_description": "Pisipildi kvaliteet vahemikus 1-100. Kõrgem väärtus on parem, aga tekitab suuremaid faile ning võib mõjutada rakenduse töökiirust.",
|
"image_thumbnail_quality_description": "Pisipildi kvaliteet vahemikus 1-100. Kõrgem väärtus on parem, aga tekitab suuremaid faile ning võib mõjutada rakenduse töökiirust.",
|
||||||
"image_thumbnail_resolution": "Pisipildi resolutsioon",
|
|
||||||
"image_thumbnail_resolution_description": "Kasutusel fotode mitmekaupa vaatamisel (ajajoon, albumi vaade, jne). Kõrgem resolutsioon säilitab rohkem detaile, aga kodeerimine võtab rohkem aega, tekitab suurema faili ning võib mõjutada rakenduse töökiirust.",
|
|
||||||
"image_thumbnail_title": "Pisipildi seaded",
|
"image_thumbnail_title": "Pisipildi seaded",
|
||||||
"job_concurrency": "{job} samaaegsus",
|
"job_concurrency": "{job} samaaegsus",
|
||||||
"job_created": "Tööde lisatud",
|
"job_created": "Tööde lisatud",
|
||||||
@@ -87,9 +88,6 @@
|
|||||||
"jobs_delayed": "{jobCount, plural, other {# edasi lükatud}}",
|
"jobs_delayed": "{jobCount, plural, other {# edasi lükatud}}",
|
||||||
"jobs_failed": "{jobCount, plural, other {# ebaõnnestus}}",
|
"jobs_failed": "{jobCount, plural, other {# ebaõnnestus}}",
|
||||||
"library_created": "Lisatud kogu: {library}",
|
"library_created": "Lisatud kogu: {library}",
|
||||||
"library_cron_expression": "Cron avaldis",
|
|
||||||
"library_cron_expression_description": "Sea skaneerimise intervall cron formaadis. Rohkema info jaoks vaata nt. <link>Crontab Guru</link>",
|
|
||||||
"library_cron_expression_presets": "Eelseadistatud cron avaldised",
|
|
||||||
"library_deleted": "Kogu kustutatud",
|
"library_deleted": "Kogu kustutatud",
|
||||||
"library_import_path_description": "Määra kaust, mida importida. Sellest kaustast ning alamkaustadest otsitakse pilte ja videosid.",
|
"library_import_path_description": "Määra kaust, mida importida. Sellest kaustast ning alamkaustadest otsitakse pilte ja videosid.",
|
||||||
"library_scanning": "Perioodiline skaneerimine",
|
"library_scanning": "Perioodiline skaneerimine",
|
||||||
@@ -220,8 +218,6 @@
|
|||||||
"reset_settings_to_default": "Lähtesta seaded",
|
"reset_settings_to_default": "Lähtesta seaded",
|
||||||
"reset_settings_to_recent_saved": "Taasta hiljuti salvestatud seaded",
|
"reset_settings_to_recent_saved": "Taasta hiljuti salvestatud seaded",
|
||||||
"scanning_library": "Kogu skaneerimine",
|
"scanning_library": "Kogu skaneerimine",
|
||||||
"scanning_library_for_changed_files": "Kogu muutunud failide skaneerimine",
|
|
||||||
"scanning_library_for_new_files": "Kogu uute failide skaneerimine",
|
|
||||||
"search_jobs": "Otsi töödet...",
|
"search_jobs": "Otsi töödet...",
|
||||||
"send_welcome_email": "Saada tervituskiri",
|
"send_welcome_email": "Saada tervituskiri",
|
||||||
"server_external_domain_settings": "Väline domeen",
|
"server_external_domain_settings": "Väline domeen",
|
||||||
@@ -283,7 +279,7 @@
|
|||||||
"transcoding_hardware_acceleration": "Riistvaraline kiirendus",
|
"transcoding_hardware_acceleration": "Riistvaraline kiirendus",
|
||||||
"transcoding_hardware_acceleration_description": "Eksperimentaalne; palju kiirem, aga sama bitisageduse juures madalam kvaliteet",
|
"transcoding_hardware_acceleration_description": "Eksperimentaalne; palju kiirem, aga sama bitisageduse juures madalam kvaliteet",
|
||||||
"transcoding_hardware_decoding": "Riistvaraline dekodeerimine",
|
"transcoding_hardware_decoding": "Riistvaraline dekodeerimine",
|
||||||
"transcoding_hardware_decoding_setting_description": "Rakendub ainult NVENC, QSV ja RKMPP puhul. Võimaldab protsessi läbivalt kiirendada, mitte ainult kodeerimist. Ei pruugi kõigi videote puhul töötada.",
|
"transcoding_hardware_decoding_setting_description": "Võimaldab protsessi läbivalt kiirendada, mitte ainult kodeerimist. Ei pruugi kõigi videote puhul töötada.",
|
||||||
"transcoding_hevc_codec": "HEVC koodek",
|
"transcoding_hevc_codec": "HEVC koodek",
|
||||||
"transcoding_max_b_frames": "Maksimaalne B-kaadrite arv",
|
"transcoding_max_b_frames": "Maksimaalne B-kaadrite arv",
|
||||||
"transcoding_max_b_frames_description": "Kõrgemad väärtused parandavad pakkimise efektiivsust, aga aeglustavad kodeerimist. See valik ei pruugi olla ühilduv riistvaralise kiirendusega vanematel seadmetel. 0 lülitab B-kaadrid välja, -1 määrab väärtuse automaatselt.",
|
"transcoding_max_b_frames_description": "Kõrgemad väärtused parandavad pakkimise efektiivsust, aga aeglustavad kodeerimist. See valik ei pruugi olla ühilduv riistvaralise kiirendusega vanematel seadmetel. 0 lülitab B-kaadrid välja, -1 määrab väärtuse automaatselt.",
|
||||||
@@ -309,8 +305,6 @@
|
|||||||
"transcoding_threads_description": "Kõrgem väärtus tähendab kiiremat kodeerimist, aga jätab serverile muude tegevuste jaoks vähem ressursse. See väärtus ei tohiks olla suurem kui protsessori tuumade arv. Väärtus 0 tähendab maksimaalset kasutust.",
|
"transcoding_threads_description": "Kõrgem väärtus tähendab kiiremat kodeerimist, aga jätab serverile muude tegevuste jaoks vähem ressursse. See väärtus ei tohiks olla suurem kui protsessori tuumade arv. Väärtus 0 tähendab maksimaalset kasutust.",
|
||||||
"transcoding_tone_mapping": "Toonivastendus",
|
"transcoding_tone_mapping": "Toonivastendus",
|
||||||
"transcoding_tone_mapping_description": "Üritab säilitada HDR videote kvaliteeti SDR-iks teisendamisel. Iga algoritm teeb värvi, detailide ja ereduse osas erinevaid kompromisse. Hable säilitab detaile, Mobius säilitab värve ning Reinhard säilitab eredust.",
|
"transcoding_tone_mapping_description": "Üritab säilitada HDR videote kvaliteeti SDR-iks teisendamisel. Iga algoritm teeb värvi, detailide ja ereduse osas erinevaid kompromisse. Hable säilitab detaile, Mobius säilitab värve ning Reinhard säilitab eredust.",
|
||||||
"transcoding_tone_mapping_npl": "Toonivastendus NPL",
|
|
||||||
"transcoding_tone_mapping_npl_description": "Muudab värve, et need paistaksid sellise eredusega ekraanil normaalsed. Madalamad väärtused suurendavad video eredust ja vastupidi, kuna see kompenseerib ekraani eredust. 0 määrab väärtuse automaatselt.",
|
|
||||||
"transcoding_transcode_policy": "Transkodeerimise reegel",
|
"transcoding_transcode_policy": "Transkodeerimise reegel",
|
||||||
"transcoding_transcode_policy_description": "Reegel, millal tuleks videot transkodeerida. HDR-videosid transkodeeritakse alati (v.a. kui transkodeerimine on keelatud).",
|
"transcoding_transcode_policy_description": "Reegel, millal tuleks videot transkodeerida. HDR-videosid transkodeeritakse alati (v.a. kui transkodeerimine on keelatud).",
|
||||||
"transcoding_two_pass_encoding": "Kahekäiguline kodeerimine",
|
"transcoding_two_pass_encoding": "Kahekäiguline kodeerimine",
|
||||||
@@ -386,7 +380,7 @@
|
|||||||
"api_key_empty": "Su API võtme nimi ei tohiks olla tühi",
|
"api_key_empty": "Su API võtme nimi ei tohiks olla tühi",
|
||||||
"api_keys": "API võtmed",
|
"api_keys": "API võtmed",
|
||||||
"app_settings": "Rakenduse seaded",
|
"app_settings": "Rakenduse seaded",
|
||||||
"appears_in": "Kuvatud",
|
"appears_in": "Albumid",
|
||||||
"archive": "Arhiiv",
|
"archive": "Arhiiv",
|
||||||
"archive_or_unarchive_photo": "Arhiveeri või taasta foto",
|
"archive_or_unarchive_photo": "Arhiveeri või taasta foto",
|
||||||
"archive_size": "Arhiivi suurus",
|
"archive_size": "Arhiivi suurus",
|
||||||
@@ -471,6 +465,7 @@
|
|||||||
"confirm": "Kinnita",
|
"confirm": "Kinnita",
|
||||||
"confirm_admin_password": "Kinnita administraatori parool",
|
"confirm_admin_password": "Kinnita administraatori parool",
|
||||||
"confirm_delete_shared_link": "Kas oled kindel, et soovid selle jagatud lingi kustutada?",
|
"confirm_delete_shared_link": "Kas oled kindel, et soovid selle jagatud lingi kustutada?",
|
||||||
|
"confirm_keep_this_delete_others": "Kõik muud üksused selles virnas kustutatakse. Kas oled kindel, et soovid jätkata?",
|
||||||
"confirm_password": "Kinnita parool",
|
"confirm_password": "Kinnita parool",
|
||||||
"contain": "Mahuta ära",
|
"contain": "Mahuta ära",
|
||||||
"context": "Kontekst",
|
"context": "Kontekst",
|
||||||
@@ -520,6 +515,7 @@
|
|||||||
"delete_key": "Kustuta võti",
|
"delete_key": "Kustuta võti",
|
||||||
"delete_library": "Kustuta kogu",
|
"delete_library": "Kustuta kogu",
|
||||||
"delete_link": "Kustuta link",
|
"delete_link": "Kustuta link",
|
||||||
|
"delete_others": "Kustuta teised",
|
||||||
"delete_shared_link": "Kustuta jagatud link",
|
"delete_shared_link": "Kustuta jagatud link",
|
||||||
"delete_tag": "Kustuta silt",
|
"delete_tag": "Kustuta silt",
|
||||||
"delete_tag_confirmation_prompt": "Kas oled kindel, et soovid sildi {tagName} kustutada?",
|
"delete_tag_confirmation_prompt": "Kas oled kindel, et soovid sildi {tagName} kustutada?",
|
||||||
@@ -561,7 +557,7 @@
|
|||||||
"edit_exclusion_pattern": "Muuda välistamismustrit",
|
"edit_exclusion_pattern": "Muuda välistamismustrit",
|
||||||
"edit_faces": "Muuda nägusid",
|
"edit_faces": "Muuda nägusid",
|
||||||
"edit_import_path": "Muuda imporditeed",
|
"edit_import_path": "Muuda imporditeed",
|
||||||
"edit_import_paths": "Muud imporditeid",
|
"edit_import_paths": "Muuda imporditeid",
|
||||||
"edit_key": "Muuda võtit",
|
"edit_key": "Muuda võtit",
|
||||||
"edit_link": "Muuda linki",
|
"edit_link": "Muuda linki",
|
||||||
"edit_location": "Muuda asukohta",
|
"edit_location": "Muuda asukohta",
|
||||||
@@ -610,6 +606,7 @@
|
|||||||
"failed_to_create_shared_link": "Jagatud lingi lisamine ebaõnnestus",
|
"failed_to_create_shared_link": "Jagatud lingi lisamine ebaõnnestus",
|
||||||
"failed_to_edit_shared_link": "Jagatud lingi muutmine ebaõnnestus",
|
"failed_to_edit_shared_link": "Jagatud lingi muutmine ebaõnnestus",
|
||||||
"failed_to_get_people": "Isikute pärimine ebaõnnestus",
|
"failed_to_get_people": "Isikute pärimine ebaõnnestus",
|
||||||
|
"failed_to_keep_this_delete_others": "Selle üksuse säilitamine ja ülejäänute kustutamine ebaõnnestus",
|
||||||
"failed_to_load_asset": "Üksuse laadimine ebaõnnestus",
|
"failed_to_load_asset": "Üksuse laadimine ebaõnnestus",
|
||||||
"failed_to_load_assets": "Üksuste laadimine ebaõnnestus",
|
"failed_to_load_assets": "Üksuste laadimine ebaõnnestus",
|
||||||
"failed_to_load_people": "Isikute laadimine ebaõnnestus",
|
"failed_to_load_people": "Isikute laadimine ebaõnnestus",
|
||||||
@@ -705,6 +702,7 @@
|
|||||||
"unable_to_update_library": "Kogu uuendamine ebaõnnestus",
|
"unable_to_update_library": "Kogu uuendamine ebaõnnestus",
|
||||||
"unable_to_update_location": "Asukoha muutmine ebaõnnestus",
|
"unable_to_update_location": "Asukoha muutmine ebaõnnestus",
|
||||||
"unable_to_update_settings": "Seadete muutmine ebaõnnestus",
|
"unable_to_update_settings": "Seadete muutmine ebaõnnestus",
|
||||||
|
"unable_to_update_timeline_display_status": "Ajajoonel kuvamise uuendamine ebaõnnestus",
|
||||||
"unable_to_update_user": "Kasutaja muutmine ebaõnnestus",
|
"unable_to_update_user": "Kasutaja muutmine ebaõnnestus",
|
||||||
"unable_to_upload_file": "Faili üleslaadimine ebaõnnestus"
|
"unable_to_upload_file": "Faili üleslaadimine ebaõnnestus"
|
||||||
},
|
},
|
||||||
@@ -734,7 +732,6 @@
|
|||||||
"find_them_fast": "Leia teda kiiresti nime järgi otsides",
|
"find_them_fast": "Leia teda kiiresti nime järgi otsides",
|
||||||
"folders": "Kaustad",
|
"folders": "Kaustad",
|
||||||
"folders_feature_description": "Kaustavaate abil failisüsteemis olevate fotode ja videote sirvimine",
|
"folders_feature_description": "Kaustavaate abil failisüsteemis olevate fotode ja videote sirvimine",
|
||||||
"force_re-scan_library_files": "Sundskaneeri kogu kõik failid uuesti",
|
|
||||||
"forward": "Edasi",
|
"forward": "Edasi",
|
||||||
"general": "Üldine",
|
"general": "Üldine",
|
||||||
"get_help": "Küsi abi",
|
"get_help": "Küsi abi",
|
||||||
@@ -789,6 +786,8 @@
|
|||||||
"jobs": "Tööted",
|
"jobs": "Tööted",
|
||||||
"keep": "Jäta alles",
|
"keep": "Jäta alles",
|
||||||
"keep_all": "Jäta kõik alles",
|
"keep_all": "Jäta kõik alles",
|
||||||
|
"keep_this_delete_others": "Säilita see, kustuta ülejäänud",
|
||||||
|
"kept_this_deleted_others": "See üksus säilitatud ning {count, plural, one {# üksus} other {# üksust}} kustutatud",
|
||||||
"keyboard_shortcuts": "Kiirklahvid",
|
"keyboard_shortcuts": "Kiirklahvid",
|
||||||
"language": "Keel",
|
"language": "Keel",
|
||||||
"language_setting_description": "Vali oma eelistatud keel",
|
"language_setting_description": "Vali oma eelistatud keel",
|
||||||
@@ -820,6 +819,7 @@
|
|||||||
"look": "Välimus",
|
"look": "Välimus",
|
||||||
"loop_videos": "Taasesita videod",
|
"loop_videos": "Taasesita videod",
|
||||||
"loop_videos_description": "Lülita sisse, et detailvaates videot automaatselt taasesitada.",
|
"loop_videos_description": "Lülita sisse, et detailvaates videot automaatselt taasesitada.",
|
||||||
|
"main_branch_warning": "Sa kasutad arendusversiooni; soovitame tungivalt kasutada väljalaskeversiooni!",
|
||||||
"make": "Mark",
|
"make": "Mark",
|
||||||
"manage_shared_links": "Halda jagatud linke",
|
"manage_shared_links": "Halda jagatud linke",
|
||||||
"manage_sharing_with_partners": "Halda partneritega jagamist",
|
"manage_sharing_with_partners": "Halda partneritega jagamist",
|
||||||
@@ -832,6 +832,7 @@
|
|||||||
"map_marker_for_images": "Kaardimarker kohas {city}, {country} tehtud piltide jaoks",
|
"map_marker_for_images": "Kaardimarker kohas {city}, {country} tehtud piltide jaoks",
|
||||||
"map_marker_with_image": "Kaardimarker pildiga",
|
"map_marker_with_image": "Kaardimarker pildiga",
|
||||||
"map_settings": "Kaardi seaded",
|
"map_settings": "Kaardi seaded",
|
||||||
|
"matches": "Ühtivad failid",
|
||||||
"media_type": "Meedia tüüp",
|
"media_type": "Meedia tüüp",
|
||||||
"memories": "Mälestused",
|
"memories": "Mälestused",
|
||||||
"memories_setting_description": "Halda, mida sa oma mälestustes näed",
|
"memories_setting_description": "Halda, mida sa oma mälestustes näed",
|
||||||
@@ -874,6 +875,8 @@
|
|||||||
"no_explore_results_message": "Oma kogu avastamiseks laadi üles rohkem fotosid.",
|
"no_explore_results_message": "Oma kogu avastamiseks laadi üles rohkem fotosid.",
|
||||||
"no_favorites_message": "Lisa lemmikud, et oma parimaid fotosid ja videosid kiiresti leida",
|
"no_favorites_message": "Lisa lemmikud, et oma parimaid fotosid ja videosid kiiresti leida",
|
||||||
"no_libraries_message": "Lisa väline kogu oma fotode ja videote vaatamiseks",
|
"no_libraries_message": "Lisa väline kogu oma fotode ja videote vaatamiseks",
|
||||||
|
"no_name": "Nimetu",
|
||||||
|
"no_places": "Kohti ei ole",
|
||||||
"no_results": "Vasteid pole",
|
"no_results": "Vasteid pole",
|
||||||
"no_results_description": "Proovi sünonüümi või üldisemat märksõna",
|
"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_shared_albums_message": "Lisa album, et fotosid ja videosid teistega jagada",
|
||||||
@@ -894,10 +897,10 @@
|
|||||||
"onboarding": "Kasutuselevõtt",
|
"onboarding": "Kasutuselevõtt",
|
||||||
"onboarding_privacy_description": "Järgnevad (valikulised) funktsioonid sõltuvad välistest teenustest ning neid saab igal ajal administraatori seadetes välja lülitada.",
|
"onboarding_privacy_description": "Järgnevad (valikulised) funktsioonid sõltuvad välistest teenustest ning neid saab igal ajal administraatori seadetes välja lülitada.",
|
||||||
"onboarding_theme_description": "Vali oma serverile värviteema. Saad seda hiljem seadetes muuta.",
|
"onboarding_theme_description": "Vali oma serverile värviteema. Saad seda hiljem seadetes muuta.",
|
||||||
|
"onboarding_welcome_description": "Algväärtustame mõned levinumad seaded.",
|
||||||
"onboarding_welcome_user": "Tere tulemast, {user}",
|
"onboarding_welcome_user": "Tere tulemast, {user}",
|
||||||
"online": "Ühendatud",
|
"online": "Ühendatud",
|
||||||
"only_favorites": "Ainult lemmikud",
|
"only_favorites": "Ainult lemmikud",
|
||||||
"only_refreshes_modified_files": "Värskendab ainult muudetud failid",
|
|
||||||
"open_in_map_view": "Ava kaardi vaates",
|
"open_in_map_view": "Ava kaardi vaates",
|
||||||
"open_in_openstreetmap": "Ava OpenStreetMap",
|
"open_in_openstreetmap": "Ava OpenStreetMap",
|
||||||
"open_the_search_filters": "Ava otsingufiltrid",
|
"open_the_search_filters": "Ava otsingufiltrid",
|
||||||
@@ -962,6 +965,7 @@
|
|||||||
"previous": "Eelmine",
|
"previous": "Eelmine",
|
||||||
"previous_memory": "Eelmine mälestus",
|
"previous_memory": "Eelmine mälestus",
|
||||||
"previous_or_next_photo": "Eelmine või järgmine foto",
|
"previous_or_next_photo": "Eelmine või järgmine foto",
|
||||||
|
"primary": "Peamine",
|
||||||
"privacy": "Privaatsus",
|
"privacy": "Privaatsus",
|
||||||
"profile_image_of_user": "Kasutaja {user} profiilipilt",
|
"profile_image_of_user": "Kasutaja {user} profiilipilt",
|
||||||
"profile_picture_set": "Profiilipilt määratud.",
|
"profile_picture_set": "Profiilipilt määratud.",
|
||||||
@@ -1051,17 +1055,18 @@
|
|||||||
"restore_user": "Taasta kasutaja",
|
"restore_user": "Taasta kasutaja",
|
||||||
"restored_asset": "Üksus taastatud",
|
"restored_asset": "Üksus taastatud",
|
||||||
"resume": "Jätka",
|
"resume": "Jätka",
|
||||||
|
"retry_upload": "Proovi üleslaadimist uuesti",
|
||||||
"review_duplicates": "Vaata duplikaadid läbi",
|
"review_duplicates": "Vaata duplikaadid läbi",
|
||||||
"role": "Roll",
|
"role": "Roll",
|
||||||
|
"role_editor": "Muutja",
|
||||||
|
"role_viewer": "Vaataja",
|
||||||
"save": "Salvesta",
|
"save": "Salvesta",
|
||||||
"saved_api_key": "API võti salvestatud",
|
"saved_api_key": "API võti salvestatud",
|
||||||
"saved_profile": "Profiil salvestatud",
|
"saved_profile": "Profiil salvestatud",
|
||||||
"saved_settings": "Seaded salvestatud",
|
"saved_settings": "Seaded salvestatud",
|
||||||
"say_something": "Ütle midagi",
|
"say_something": "Ütle midagi",
|
||||||
"scan_all_libraries": "Skaneeri kõik kogud",
|
"scan_all_libraries": "Skaneeri kõik kogud",
|
||||||
"scan_all_library_files": "Skaneeri kogu kõik failid uuesti",
|
|
||||||
"scan_library": "Skaneeri",
|
"scan_library": "Skaneeri",
|
||||||
"scan_new_library_files": "Skaneeri kogu uued failid",
|
|
||||||
"scan_settings": "Skaneerimise seaded",
|
"scan_settings": "Skaneerimise seaded",
|
||||||
"scanning_for_album": "Albumi skaneerimine...",
|
"scanning_for_album": "Albumi skaneerimine...",
|
||||||
"search": "Otsi",
|
"search": "Otsi",
|
||||||
@@ -1106,6 +1111,7 @@
|
|||||||
"server_online": "Server ühendatud",
|
"server_online": "Server ühendatud",
|
||||||
"server_stats": "Serveri statistika",
|
"server_stats": "Serveri statistika",
|
||||||
"server_version": "Serveri versioon",
|
"server_version": "Serveri versioon",
|
||||||
|
"set": "Määra",
|
||||||
"set_as_album_cover": "Sea albumi kaanepildiks",
|
"set_as_album_cover": "Sea albumi kaanepildiks",
|
||||||
"set_as_profile_picture": "Sea profiilipildiks",
|
"set_as_profile_picture": "Sea profiilipildiks",
|
||||||
"set_date_of_birth": "Määra sünnikuupäev",
|
"set_date_of_birth": "Määra sünnikuupäev",
|
||||||
@@ -1171,6 +1177,7 @@
|
|||||||
"stack_selected_photos": "Virnasta valitud fotod",
|
"stack_selected_photos": "Virnasta valitud fotod",
|
||||||
"stacked_assets_count": "{count, plural, one {# üksus} other {# üksust}} virnastatud",
|
"stacked_assets_count": "{count, plural, one {# üksus} other {# üksust}} virnastatud",
|
||||||
"stacktrace": "Pinujälg",
|
"stacktrace": "Pinujälg",
|
||||||
|
"start": "Alusta",
|
||||||
"start_date": "Alguskuupäev",
|
"start_date": "Alguskuupäev",
|
||||||
"state": "Osariik",
|
"state": "Osariik",
|
||||||
"status": "Staatus",
|
"status": "Staatus",
|
||||||
@@ -1183,8 +1190,10 @@
|
|||||||
"storage_usage": "{used}/{available} kasutatud",
|
"storage_usage": "{used}/{available} kasutatud",
|
||||||
"suggestions": "Soovitused",
|
"suggestions": "Soovitused",
|
||||||
"sunrise_on_the_beach": "Päikesetõus rannal",
|
"sunrise_on_the_beach": "Päikesetõus rannal",
|
||||||
|
"support": "Tugi",
|
||||||
"support_and_feedback": "Tugi ja tagasiside",
|
"support_and_feedback": "Tugi ja tagasiside",
|
||||||
"support_third_party_description": "Sinu Immich'i install on kolmanda osapoole pakendatud. Probleemid, mida täheldad, võivad olla põhjustatud selle pakendamise poolt, seega võta esmajärjekorras nendega ühendust, kasutades allolevaid linke.",
|
"support_third_party_description": "Sinu Immich'i install on kolmanda osapoole pakendatud. Probleemid, mida täheldad, võivad olla põhjustatud selle pakendamise poolt, seega võta esmajärjekorras nendega ühendust, kasutades allolevaid linke.",
|
||||||
|
"swap_merge_direction": "Muuda ühendamise suunda",
|
||||||
"sync": "Sünkrooni",
|
"sync": "Sünkrooni",
|
||||||
"tag": "Silt",
|
"tag": "Silt",
|
||||||
"tag_assets": "Sildista üksuseid",
|
"tag_assets": "Sildista üksuseid",
|
||||||
@@ -1198,6 +1207,7 @@
|
|||||||
"theme": "Teema",
|
"theme": "Teema",
|
||||||
"theme_selection": "Teema valik",
|
"theme_selection": "Teema valik",
|
||||||
"theme_selection_description": "Sea automaatselt hele või tume teema vastavalt veebilehitseja eelistustele",
|
"theme_selection_description": "Sea automaatselt hele või tume teema vastavalt veebilehitseja eelistustele",
|
||||||
|
"they_will_be_merged_together": "Nad ühendatakse kokku",
|
||||||
"third_party_resources": "Kolmanda osapoole ressursid",
|
"third_party_resources": "Kolmanda osapoole ressursid",
|
||||||
"time_based_memories": "Ajapõhised mälestused",
|
"time_based_memories": "Ajapõhised mälestused",
|
||||||
"timezone": "Ajavöönd",
|
"timezone": "Ajavöönd",
|
||||||
@@ -1209,6 +1219,7 @@
|
|||||||
"toggle_theme": "Lülita tume teema",
|
"toggle_theme": "Lülita tume teema",
|
||||||
"total_usage": "Kogukasutus",
|
"total_usage": "Kogukasutus",
|
||||||
"trash": "Prügikast",
|
"trash": "Prügikast",
|
||||||
|
"trash_all": "Kõik prügikasti",
|
||||||
"trash_count": "Liiguta {count, number} prügikasti",
|
"trash_count": "Liiguta {count, number} prügikasti",
|
||||||
"trash_delete_asset": "Kustuta üksus",
|
"trash_delete_asset": "Kustuta üksus",
|
||||||
"trash_no_results_message": "Siia ilmuvad prügikasti liigutatud fotod ja videod.",
|
"trash_no_results_message": "Siia ilmuvad prügikasti liigutatud fotod ja videod.",
|
||||||
@@ -1216,6 +1227,7 @@
|
|||||||
"type": "Tüüp",
|
"type": "Tüüp",
|
||||||
"unarchive": "Taasta arhiivist",
|
"unarchive": "Taasta arhiivist",
|
||||||
"unarchived_count": "{count, plural, other {# arhiivist taastatud}}",
|
"unarchived_count": "{count, plural, other {# arhiivist taastatud}}",
|
||||||
|
"unfavorite": "Eemalda lemmikutest",
|
||||||
"unhide_person": "Ära peida isikut",
|
"unhide_person": "Ära peida isikut",
|
||||||
"unknown": "Teadmata",
|
"unknown": "Teadmata",
|
||||||
"unknown_year": "Teadmata aasta",
|
"unknown_year": "Teadmata aasta",
|
||||||
@@ -1229,10 +1241,12 @@
|
|||||||
"unstacked_assets_count": "{count, plural, one {# üksus} other {# üksust}} eraldatud",
|
"unstacked_assets_count": "{count, plural, one {# üksus} other {# üksust}} eraldatud",
|
||||||
"untracked_files": "Mittejälgitavad failid",
|
"untracked_files": "Mittejälgitavad failid",
|
||||||
"untracked_files_decription": "Rakendus ei jälgi neid faile. Need võivad olla põhjustatud ebaõnnestunud liigutamisest, katkestatud üleslaadimisest või rakenduse veast",
|
"untracked_files_decription": "Rakendus ei jälgi neid faile. Need võivad olla põhjustatud ebaõnnestunud liigutamisest, katkestatud üleslaadimisest või rakenduse veast",
|
||||||
|
"up_next": "Järgmine",
|
||||||
"updated_password": "Parool muudetud",
|
"updated_password": "Parool muudetud",
|
||||||
"upload": "Laadi üles",
|
"upload": "Laadi üles",
|
||||||
"upload_concurrency": "Üleslaadimise samaaegsus",
|
"upload_concurrency": "Üleslaadimise samaaegsus",
|
||||||
"upload_errors": "Üleslaadimine lõpetatud {count, plural, one {# veaga} other {# veaga}}, uute üksuste nägemiseks värskenda lehte.",
|
"upload_errors": "Üleslaadimine lõpetatud {count, plural, one {# veaga} other {# veaga}}, uute üksuste nägemiseks värskenda lehte.",
|
||||||
|
"upload_progress": "Ootel {remaining, number} - Töödeldud {processed, number}/{total, number}",
|
||||||
"upload_skipped_duplicates": "{count, plural, one {# dubleeritud üksus} other {# dubleeritud üksust}} vahele jäetud",
|
"upload_skipped_duplicates": "{count, plural, one {# dubleeritud üksus} other {# dubleeritud üksust}} vahele jäetud",
|
||||||
"upload_status_duplicates": "Duplikaadid",
|
"upload_status_duplicates": "Duplikaadid",
|
||||||
"upload_status_errors": "Vead",
|
"upload_status_errors": "Vead",
|
||||||
@@ -1255,7 +1269,7 @@
|
|||||||
"variables": "Muutujad",
|
"variables": "Muutujad",
|
||||||
"version": "Versioon",
|
"version": "Versioon",
|
||||||
"version_announcement_closing": "Sinu sõber, Alex",
|
"version_announcement_closing": "Sinu sõber, Alex",
|
||||||
"version_announcement_message": "Hei sõber, saadaval on rakenduse uus versioon. Palun võta aega, et lugeda <link>väljalasketeadet</link> ning veendu, et su <code>docker-compose.yml</code> ja <code>.env</code> failid on ajakohased, et vältida konfiguratsiooniprobleeme, eriti kui kasutad WatchTower'it või muud mehhanismi, mis rakendust automaatselt uuendab.",
|
"version_announcement_message": "Hei! Saadaval on uus Immich'i versioon. Palun võta aega, et lugeda <link>väljalasketeadet</link> ning veendu, et su seadistus on ajakohane, et vältida konfiguratsiooniprobleeme, eriti kui kasutad WatchTower'it või muud mehhanismi, mis Immich'it automaatselt uuendab.",
|
||||||
"version_history": "Versiooniajalugu",
|
"version_history": "Versiooniajalugu",
|
||||||
"version_history_item": "Versioon {version} paigaldatud {date}",
|
"version_history_item": "Versioon {version} paigaldatud {date}",
|
||||||
"video": "Video",
|
"video": "Video",
|
||||||
@@ -56,16 +56,9 @@
|
|||||||
"image_prefer_embedded_preview_setting_description": "استفاده از پیشنمایش داخلی در عکسهای RAW به عنوان ورودی پردازش تصویر هنگامی که در دسترس باشد. این میتواند رنگهای دقیقتری را برای برخی تصاویر تولید کند، اما کیفیت پیشنمایش به دوربین بستگی دارد و ممکن است تصویر آثار فشردهسازی بیشتری داشته باشد.",
|
"image_prefer_embedded_preview_setting_description": "استفاده از پیشنمایش داخلی در عکسهای RAW به عنوان ورودی پردازش تصویر هنگامی که در دسترس باشد. این میتواند رنگهای دقیقتری را برای برخی تصاویر تولید کند، اما کیفیت پیشنمایش به دوربین بستگی دارد و ممکن است تصویر آثار فشردهسازی بیشتری داشته باشد.",
|
||||||
"image_prefer_wide_gamut": "ترجیحات گستره رنگی وسیع",
|
"image_prefer_wide_gamut": "ترجیحات گستره رنگی وسیع",
|
||||||
"image_prefer_wide_gamut_setting_description": "برای تصاویر کوچک از فضای رنگی Display P3 استفاده کنید. این کار باعث حفظ زنده بودن رنگها در تصاویر با گستره رنگی وسیع میشود، اما ممکن است تصاویر در دستگاههای قدیمی با نسخههای قدیمی مرورگر به شکل متفاوتی نمایش داده شوند. تصاویر با فضای رنگی sRGB به همان حالت sRGB نگه داشته میشوند تا از تغییرات رنگی جلوگیری شود.",
|
"image_prefer_wide_gamut_setting_description": "برای تصاویر کوچک از فضای رنگی Display P3 استفاده کنید. این کار باعث حفظ زنده بودن رنگها در تصاویر با گستره رنگی وسیع میشود، اما ممکن است تصاویر در دستگاههای قدیمی با نسخههای قدیمی مرورگر به شکل متفاوتی نمایش داده شوند. تصاویر با فضای رنگی sRGB به همان حالت sRGB نگه داشته میشوند تا از تغییرات رنگی جلوگیری شود.",
|
||||||
"image_preview_format": "فرمت نمایش",
|
|
||||||
"image_preview_resolution": "وضوح پیش نمایش",
|
|
||||||
"image_preview_resolution_description": "از این فرمت برای مشاهده یک عکس و همچنین برای یادگیری ماشین استفاده میشود. وضوح بالاتر میتواند جزئیات بیشتری را حفظ کند، اما زمان بیشتری برای رمزگذاری نیاز دارد، حجم فایلها را بزرگتر میکند و ممکن است باعث کاهش پاسخگویی برنامه شود.",
|
|
||||||
"image_quality": "کیفیت",
|
"image_quality": "کیفیت",
|
||||||
"image_quality_description": "کیفیت تصویر از 1 تا 100. هرچه بالاتر باشد، کیفیت بهتر است اما فایلهای بزرگتری تولید میکند. این گزینه بر روی تصاویر پیشنمایش و بندانگشتی تأثیر میگذارد.",
|
|
||||||
"image_settings": "تنظیمات عکس",
|
"image_settings": "تنظیمات عکس",
|
||||||
"image_settings_description": "مدیریت کیفیت و وضوح تصاویر تولید شده",
|
"image_settings_description": "مدیریت کیفیت و وضوح تصاویر تولید شده",
|
||||||
"image_thumbnail_format": "قالب تصویر بندانگشتی",
|
|
||||||
"image_thumbnail_resolution": "وضوح تصویر بندانگشتی",
|
|
||||||
"image_thumbnail_resolution_description": "از این فرمت برای مشاهده گروهی عکسها (مانند صفحه اصلی، نمایش آلبوم و غیره) استفاده میشود. وضوح بالاتر میتواند جزئیات بیشتری را حفظ کند، اما زمان بیشتری برای رمزگذاری نیاز دارد، حجم فایلها را بزرگتر میکند و ممکن است باعث کاهش پاسخگویی برنامه شود.",
|
|
||||||
"job_concurrency": "همزمانی {job}",
|
"job_concurrency": "همزمانی {job}",
|
||||||
"job_not_concurrency_safe": "این کار ایمنی همزمانی را تضمین نمیکند.",
|
"job_not_concurrency_safe": "این کار ایمنی همزمانی را تضمین نمیکند.",
|
||||||
"job_settings": "تنظیمات کار",
|
"job_settings": "تنظیمات کار",
|
||||||
@@ -74,9 +67,6 @@
|
|||||||
"jobs_delayed": "",
|
"jobs_delayed": "",
|
||||||
"jobs_failed": "",
|
"jobs_failed": "",
|
||||||
"library_created": "کتابخانه ایجاد شده: {library}",
|
"library_created": "کتابخانه ایجاد شده: {library}",
|
||||||
"library_cron_expression": "عبارت کرون",
|
|
||||||
"library_cron_expression_description": "تنظیم فاصله زمانی اسکن با استفاده از فرمت کرون. برای اطلاعات بیشتر لطفا به مثالهای <link>Crontab Guru</link> مراجعه کنید",
|
|
||||||
"library_cron_expression_presets": "پیشتنظیمات عبارت Cron",
|
|
||||||
"library_deleted": "کتابخانه حذف شد",
|
"library_deleted": "کتابخانه حذف شد",
|
||||||
"library_import_path_description": "یک پوشه برای وارد کردن مشخص کنید. این پوشه، به همراه زیرپوشهها، برای یافتن تصاویر و ویدیوها اسکن خواهد شد.",
|
"library_import_path_description": "یک پوشه برای وارد کردن مشخص کنید. این پوشه، به همراه زیرپوشهها، برای یافتن تصاویر و ویدیوها اسکن خواهد شد.",
|
||||||
"library_scanning": "اسکن دوره ای",
|
"library_scanning": "اسکن دوره ای",
|
||||||
@@ -194,15 +184,12 @@
|
|||||||
"refreshing_all_libraries": "بروز رسانی همه کتابخانه ها",
|
"refreshing_all_libraries": "بروز رسانی همه کتابخانه ها",
|
||||||
"registration": "ثبت نام مدیر",
|
"registration": "ثبت نام مدیر",
|
||||||
"registration_description": "از آنجایی که شما اولین کاربر در سیستم هستید، به عنوان مدیر تعیین شدهاید و مسئولیت انجام وظایف مدیریتی بر عهده شما خواهد بود و کاربران اضافی توسط شما ایجاد خواهند شد.",
|
"registration_description": "از آنجایی که شما اولین کاربر در سیستم هستید، به عنوان مدیر تعیین شدهاید و مسئولیت انجام وظایف مدیریتی بر عهده شما خواهد بود و کاربران اضافی توسط شما ایجاد خواهند شد.",
|
||||||
"removing_deleted_files": "حذف فایلهای آفلاین",
|
|
||||||
"repair_all": "بازسازی همه",
|
"repair_all": "بازسازی همه",
|
||||||
"repair_matched_items": "",
|
"repair_matched_items": "",
|
||||||
"repaired_items": "",
|
"repaired_items": "",
|
||||||
"require_password_change_on_login": "الزام کاربر به تغییر گذرواژه در اولین ورود",
|
"require_password_change_on_login": "الزام کاربر به تغییر گذرواژه در اولین ورود",
|
||||||
"reset_settings_to_default": "بازنشانی تنظیمات به حالت پیشفرض",
|
"reset_settings_to_default": "بازنشانی تنظیمات به حالت پیشفرض",
|
||||||
"reset_settings_to_recent_saved": "بازنشانی تنظیمات به آخرین تنظیمات ذخیره شده",
|
"reset_settings_to_recent_saved": "بازنشانی تنظیمات به آخرین تنظیمات ذخیره شده",
|
||||||
"scanning_library_for_changed_files": "اسکن کتابخانه برای فایلهای تغییر یافته",
|
|
||||||
"scanning_library_for_new_files": "اسکن کتابخانه برای یافتن فایل های جدید",
|
|
||||||
"send_welcome_email": "ارسال ایمیل خوش آمد گویی",
|
"send_welcome_email": "ارسال ایمیل خوش آمد گویی",
|
||||||
"server_external_domain_settings": "دامنه خارجی",
|
"server_external_domain_settings": "دامنه خارجی",
|
||||||
"server_external_domain_settings_description": "دامنه برای لینک های عمومی به اشتراک گذاشته شده، شامل //:(s)http",
|
"server_external_domain_settings_description": "دامنه برای لینک های عمومی به اشتراک گذاشته شده، شامل //:(s)http",
|
||||||
@@ -288,8 +275,6 @@
|
|||||||
"transcoding_threads_description": "مقادیر بالاتر منجر به رمزگذاری سریع تر می شود، اما فضای کمتری برای پردازش سایر وظایف سرور در حین فعالیت باقی می گذارد. این مقدار نباید بیشتر از تعداد هسته های CPU باشد. اگر روی 0 تنظیم شود، بیشترین استفاده را خواهد داشت.",
|
"transcoding_threads_description": "مقادیر بالاتر منجر به رمزگذاری سریع تر می شود، اما فضای کمتری برای پردازش سایر وظایف سرور در حین فعالیت باقی می گذارد. این مقدار نباید بیشتر از تعداد هسته های CPU باشد. اگر روی 0 تنظیم شود، بیشترین استفاده را خواهد داشت.",
|
||||||
"transcoding_tone_mapping": "",
|
"transcoding_tone_mapping": "",
|
||||||
"transcoding_tone_mapping_description": "تلاش برای حفظ ظاهر ویدیوهای HDR هنگام تبدیل به SDR. هر الگوریتم تعادل های متفاوتی را برای رنگ، جزئیات و روشنایی ایجاد می کند. Hable جزئیات را حفظ می کند، Mobius رنگ را حفظ می کند و Reinhard روشنایی را حفظ می کند.",
|
"transcoding_tone_mapping_description": "تلاش برای حفظ ظاهر ویدیوهای HDR هنگام تبدیل به SDR. هر الگوریتم تعادل های متفاوتی را برای رنگ، جزئیات و روشنایی ایجاد می کند. Hable جزئیات را حفظ می کند، Mobius رنگ را حفظ می کند و Reinhard روشنایی را حفظ می کند.",
|
||||||
"transcoding_tone_mapping_npl": "",
|
|
||||||
"transcoding_tone_mapping_npl_description": "رنگ ها برای ظاهر طبیعی در یک نمایشگر با این روشنایی تنظیم خواهند شد. برخلاف انتظار، مقادیر پایین تر باعث افزایش روشنایی ویدیو و برعکس می شوند، زیرا آن را برای روشنایی نمایشگر جبران می کند. مقدار 0 این مقدار را به طور خودکار تنظیم می کند.",
|
|
||||||
"transcoding_transcode_policy": "سیاست رمزگذاری",
|
"transcoding_transcode_policy": "سیاست رمزگذاری",
|
||||||
"transcoding_transcode_policy_description": "سیاست برای زمانی که ویدیویی باید مجددا تبدیل (رمزگذاری) شود. ویدیوهای HDR همیشه تبدیل (رمزگذاری) مجدد خواهند شد (مگر رمزگذاری مجدد غیرفعال باشد).",
|
"transcoding_transcode_policy_description": "سیاست برای زمانی که ویدیویی باید مجددا تبدیل (رمزگذاری) شود. ویدیوهای HDR همیشه تبدیل (رمزگذاری) مجدد خواهند شد (مگر رمزگذاری مجدد غیرفعال باشد).",
|
||||||
"transcoding_two_pass_encoding": "تبدیل (رمزگذاری) دو مرحله ای",
|
"transcoding_two_pass_encoding": "تبدیل (رمزگذاری) دو مرحله ای",
|
||||||
@@ -349,10 +334,8 @@
|
|||||||
"archive_or_unarchive_photo": "",
|
"archive_or_unarchive_photo": "",
|
||||||
"archive_size": "",
|
"archive_size": "",
|
||||||
"archive_size_description": "",
|
"archive_size_description": "",
|
||||||
"archived": "",
|
|
||||||
"asset_offline": "",
|
"asset_offline": "",
|
||||||
"assets": "",
|
"assets": "",
|
||||||
"assets_moved_to_trash": "",
|
|
||||||
"authorized_devices": "",
|
"authorized_devices": "",
|
||||||
"back": "",
|
"back": "",
|
||||||
"backward": "",
|
"backward": "",
|
||||||
@@ -367,10 +350,6 @@
|
|||||||
"cancel_search": "",
|
"cancel_search": "",
|
||||||
"cannot_merge_people": "",
|
"cannot_merge_people": "",
|
||||||
"cannot_update_the_description": "",
|
"cannot_update_the_description": "",
|
||||||
"cant_apply_changes": "",
|
|
||||||
"cant_get_faces": "",
|
|
||||||
"cant_search_people": "",
|
|
||||||
"cant_search_places": "",
|
|
||||||
"change_date": "",
|
"change_date": "",
|
||||||
"change_expiration_time": "",
|
"change_expiration_time": "",
|
||||||
"change_location": "",
|
"change_location": "",
|
||||||
@@ -561,7 +540,6 @@
|
|||||||
"extension": "",
|
"extension": "",
|
||||||
"external": "",
|
"external": "",
|
||||||
"external_libraries": "",
|
"external_libraries": "",
|
||||||
"failed_to_get_people": "",
|
|
||||||
"favorite": "",
|
"favorite": "",
|
||||||
"favorite_or_unfavorite_photo": "",
|
"favorite_or_unfavorite_photo": "",
|
||||||
"favorites": "",
|
"favorites": "",
|
||||||
@@ -573,14 +551,12 @@
|
|||||||
"filter_people": "",
|
"filter_people": "",
|
||||||
"find_them_fast": "",
|
"find_them_fast": "",
|
||||||
"fix_incorrect_match": "",
|
"fix_incorrect_match": "",
|
||||||
"force_re-scan_library_files": "",
|
|
||||||
"forward": "",
|
"forward": "",
|
||||||
"general": "",
|
"general": "",
|
||||||
"get_help": "",
|
"get_help": "",
|
||||||
"getting_started": "",
|
"getting_started": "",
|
||||||
"go_back": "",
|
"go_back": "",
|
||||||
"go_to_search": "",
|
"go_to_search": "",
|
||||||
"go_to_share_page": "",
|
|
||||||
"group_albums_by": "",
|
"group_albums_by": "",
|
||||||
"has_quota": "",
|
"has_quota": "",
|
||||||
"hide_gallery": "",
|
"hide_gallery": "",
|
||||||
@@ -701,7 +677,6 @@
|
|||||||
"oldest_first": "",
|
"oldest_first": "",
|
||||||
"online": "",
|
"online": "",
|
||||||
"only_favorites": "",
|
"only_favorites": "",
|
||||||
"only_refreshes_modified_files": "",
|
|
||||||
"open_the_search_filters": "",
|
"open_the_search_filters": "",
|
||||||
"options": "",
|
"options": "",
|
||||||
"organize_your_library": "",
|
"organize_your_library": "",
|
||||||
@@ -737,7 +712,6 @@
|
|||||||
"permanent_deletion_warning_setting_description": "",
|
"permanent_deletion_warning_setting_description": "",
|
||||||
"permanently_delete": "",
|
"permanently_delete": "",
|
||||||
"permanently_deleted_asset": "",
|
"permanently_deleted_asset": "",
|
||||||
"permanently_deleted_assets": "",
|
|
||||||
"person": "",
|
"person": "",
|
||||||
"photos": "",
|
"photos": "",
|
||||||
"photos_count": "",
|
"photos_count": "",
|
||||||
@@ -794,8 +768,6 @@
|
|||||||
"saved_settings": "",
|
"saved_settings": "",
|
||||||
"say_something": "",
|
"say_something": "",
|
||||||
"scan_all_libraries": "",
|
"scan_all_libraries": "",
|
||||||
"scan_all_library_files": "",
|
|
||||||
"scan_new_library_files": "",
|
|
||||||
"scan_settings": "",
|
"scan_settings": "",
|
||||||
"scanning_for_album": "",
|
"scanning_for_album": "",
|
||||||
"search": "",
|
"search": "",
|
||||||
@@ -827,7 +799,6 @@
|
|||||||
"selected": "",
|
"selected": "",
|
||||||
"send_message": "",
|
"send_message": "",
|
||||||
"send_welcome_email": "",
|
"send_welcome_email": "",
|
||||||
"server": "",
|
|
||||||
"server_stats": "",
|
"server_stats": "",
|
||||||
"set": "",
|
"set": "",
|
||||||
"set_as_album_cover": "",
|
"set_as_album_cover": "",
|
||||||
@@ -899,7 +870,6 @@
|
|||||||
"to_trash": "",
|
"to_trash": "",
|
||||||
"toggle_settings": "",
|
"toggle_settings": "",
|
||||||
"toggle_theme": "",
|
"toggle_theme": "",
|
||||||
"toggle_visibility": "",
|
|
||||||
"total_usage": "",
|
"total_usage": "",
|
||||||
"trash": "",
|
"trash": "",
|
||||||
"trash_all": "",
|
"trash_all": "",
|
||||||
@@ -908,7 +878,6 @@
|
|||||||
"trashed_items_will_be_permanently_deleted_after": "",
|
"trashed_items_will_be_permanently_deleted_after": "",
|
||||||
"type": "",
|
"type": "",
|
||||||
"unarchive": "",
|
"unarchive": "",
|
||||||
"unarchived": "",
|
|
||||||
"unfavorite": "",
|
"unfavorite": "",
|
||||||
"unhide_person": "",
|
"unhide_person": "",
|
||||||
"unknown": "",
|
"unknown": "",
|
||||||
@@ -949,7 +918,6 @@
|
|||||||
"view_links": "",
|
"view_links": "",
|
||||||
"view_next_asset": "",
|
"view_next_asset": "",
|
||||||
"view_previous_asset": "",
|
"view_previous_asset": "",
|
||||||
"viewer": "",
|
|
||||||
"waiting": "",
|
"waiting": "",
|
||||||
"week": "",
|
"week": "",
|
||||||
"welcome": "",
|
"welcome": "",
|
||||||
@@ -1,5 +1,5 @@
|
|||||||
{
|
{
|
||||||
"about": "Tietoja",
|
"about": "Päivitä",
|
||||||
"account": "Tili",
|
"account": "Tili",
|
||||||
"account_settings": "Tilin asetukset",
|
"account_settings": "Tilin asetukset",
|
||||||
"acknowledge": "Tiedostan",
|
"acknowledge": "Tiedostan",
|
||||||
@@ -17,7 +17,7 @@
|
|||||||
"add_import_path": "Lisää tuontipolku",
|
"add_import_path": "Lisää tuontipolku",
|
||||||
"add_location": "Lisää sijainti",
|
"add_location": "Lisää sijainti",
|
||||||
"add_more_users": "Lisää käyttäjiä",
|
"add_more_users": "Lisää käyttäjiä",
|
||||||
"add_partner": "Lisää kaveri",
|
"add_partner": "Lisää kumppani",
|
||||||
"add_path": "Lisää polku",
|
"add_path": "Lisää polku",
|
||||||
"add_photos": "Lisää kuvia",
|
"add_photos": "Lisää kuvia",
|
||||||
"add_to": "Lisää...",
|
"add_to": "Lisää...",
|
||||||
@@ -34,6 +34,11 @@
|
|||||||
"authentication_settings_disable_all": "Haluatko varmasti poistaa kaikki kirjautumistavat käytöstä? Kirjautuminen on tämän jälkeen mahdotonta.",
|
"authentication_settings_disable_all": "Haluatko varmasti poistaa kaikki kirjautumistavat käytöstä? Kirjautuminen on tämän jälkeen mahdotonta.",
|
||||||
"authentication_settings_reenable": "Ottaaksesi uudestaan käyttöön, käytä <link>Palvelin Komentoa</link>.",
|
"authentication_settings_reenable": "Ottaaksesi uudestaan käyttöön, käytä <link>Palvelin Komentoa</link>.",
|
||||||
"background_task_job": "Taustatyöt",
|
"background_task_job": "Taustatyöt",
|
||||||
|
"backup_database": "Varmuuskopioi Tietokanta",
|
||||||
|
"backup_database_enable_description": "Ota käyttöön tietokannan varmuuskopiointi",
|
||||||
|
"backup_keep_last_amount": "Varmuuskopioiden lukumäärä",
|
||||||
|
"backup_settings": "Varmuuskopioinnin asetukset",
|
||||||
|
"backup_settings_description": "Hallitse tietokannan varmuuskopioiden asetuksia",
|
||||||
"check_all": "Tarkista kaikki",
|
"check_all": "Tarkista kaikki",
|
||||||
"cleared_jobs": "Työn {job} tehtävät tyhjennetty",
|
"cleared_jobs": "Työn {job} tehtävät tyhjennetty",
|
||||||
"config_set_by_file": "Asetukset on tällä hetkellä määritelty tiedostosta",
|
"config_set_by_file": "Asetukset on tällä hetkellä määritelty tiedostosta",
|
||||||
@@ -43,14 +48,15 @@
|
|||||||
"confirm_reprocess_all_faces": "Haluatko varmasti käsitellä uudelleen kaikki kasvot? Tämä poistaa myös nimetyt henkilöt.",
|
"confirm_reprocess_all_faces": "Haluatko varmasti käsitellä uudelleen kaikki kasvot? Tämä poistaa myös nimetyt henkilöt.",
|
||||||
"confirm_user_password_reset": "Haluatko varmasti nollata käyttäjän {user} salasanan?",
|
"confirm_user_password_reset": "Haluatko varmasti nollata käyttäjän {user} salasanan?",
|
||||||
"create_job": "Luo tehtävä",
|
"create_job": "Luo tehtävä",
|
||||||
"crontab_guru": "Crontab Guru",
|
"cron_expression": "Cron-lauseke",
|
||||||
|
"cron_expression_description": "Aseta skannausväli käyttämällä cron-formaattia. Lisätietoja linkistä. <link>Crontab Guru</link>",
|
||||||
|
"cron_expression_presets": "Esiasetetut Cron-lausekkeet",
|
||||||
"disable_login": "Poista kirjautuminen käytöstä",
|
"disable_login": "Poista kirjautuminen käytöstä",
|
||||||
"disabled": "Ei käytössä",
|
|
||||||
"duplicate_detection_job_description": "Tunnista samankaltaiset kuvat käyttäen koneoppimista. Tukeutuu Smart Search:iin",
|
"duplicate_detection_job_description": "Tunnista samankaltaiset kuvat käyttäen koneoppimista. Tukeutuu Smart Search:iin",
|
||||||
"exclusion_pattern_description": "Poissulkevat määritteet mahdollistavat tiettyjen tiedostojen ja kansioiden jättämisen pois kirjastoasi skannatessa. Tästä on hyötyä jos kansiot sisältävät tiedostoja mitä et halua tuoda, kuten RAW-tiedostot.",
|
"exclusion_pattern_description": "Poissulkemismallit mahdollistavat tiettyjen tiedostojen ja kansioiden jättämisen pois kirjastoasi skannatessa. Tästä on hyötyä jos kansiot sisältävät tiedostoja mitä et halua tuoda, kuten RAW-tiedostot.",
|
||||||
"external_library_created_at": "Ulkoinen kirjasto (luotu {date})",
|
"external_library_created_at": "Ulkoinen kirjasto (luotu {date})",
|
||||||
"external_library_management": "Ulkoisen kirjaston hallinta",
|
"external_library_management": "Ulkoisen kirjaston hallinta",
|
||||||
"face_detection": "Kasvojen haitseminen",
|
"face_detection": "Kasvojen havaitseminen",
|
||||||
"face_detection_description": "Tunnista sisällön kasvoja käyttäen koneoppimista. Videoiden osalta vain pikkukuva tunnistetaan. \"Päivitä\" (uudelleen)prosessoi koko sisällön.\"Nollaa\" lisäksi puhdistaa kaiken kasvo-datan. \"Puuttuvat\" prosessoi sisällön, jota ei vielä ole käyty läpi. Havaitut kasvot ryhmitellään jo tunnistettujen kanssa, tai lisätään uusina henkilöinä.",
|
"face_detection_description": "Tunnista sisällön kasvoja käyttäen koneoppimista. Videoiden osalta vain pikkukuva tunnistetaan. \"Päivitä\" (uudelleen)prosessoi koko sisällön.\"Nollaa\" lisäksi puhdistaa kaiken kasvo-datan. \"Puuttuvat\" prosessoi sisällön, jota ei vielä ole käyty läpi. Havaitut kasvot ryhmitellään jo tunnistettujen kanssa, tai lisätään uusina henkilöinä.",
|
||||||
"facial_recognition_job_description": "Ryhmitä havaitut kasvot henkilöihin. Tämä vaihe suoritetaan, kun kasvot on ensin havaittu. \"Nollaus\" (uudelleen-)ryhmittelee kaikki kasvot. \"Puuttuvat\" vain ne, joille ei ole määritetty henkilöä.",
|
"facial_recognition_job_description": "Ryhmitä havaitut kasvot henkilöihin. Tämä vaihe suoritetaan, kun kasvot on ensin havaittu. \"Nollaus\" (uudelleen-)ryhmittelee kaikki kasvot. \"Puuttuvat\" vain ne, joille ei ole määritetty henkilöä.",
|
||||||
"failed_job_command": "Komento {command} epäonnistui työlle {job}",
|
"failed_job_command": "Komento {command} epäonnistui työlle {job}",
|
||||||
@@ -63,24 +69,17 @@
|
|||||||
"image_prefer_wide_gamut": "Suosi laajaa väriskaalaa",
|
"image_prefer_wide_gamut": "Suosi laajaa väriskaalaa",
|
||||||
"image_prefer_wide_gamut_setting_description": "Käytä Display P3 -nimiavaruutta pikkukuville. Tämä säilöö värien vivahteet paremmin, mutta kuvat saattavat näyttää erilaisilta vanhemmissa laitteissa. sRGB-kuvat pidetään muuttumattomina, jottei värit muuttuisi.",
|
"image_prefer_wide_gamut_setting_description": "Käytä Display P3 -nimiavaruutta pikkukuville. Tämä säilöö värien vivahteet paremmin, mutta kuvat saattavat näyttää erilaisilta vanhemmissa laitteissa. sRGB-kuvat pidetään muuttumattomina, jottei värit muuttuisi.",
|
||||||
"image_preview_description": "Keskikokoinen kuva, josta metatiedot on poistettu, käytetään yksittäisen resurssin katseluun ja koneoppimiseen",
|
"image_preview_description": "Keskikokoinen kuva, josta metatiedot on poistettu, käytetään yksittäisen resurssin katseluun ja koneoppimiseen",
|
||||||
"image_preview_format": "Esikatselun muoto",
|
|
||||||
"image_preview_quality_description": "Esikatselulaatu 1-100. Korkeampi arvo on parempi, mutta tuottaa suurempia tiedostoja ja voi heikentää sovelluksen reagointikykyä. Matalan arvon asettaminen voi vaikuttaa koneoppimisen laatuun.",
|
"image_preview_quality_description": "Esikatselulaatu 1-100. Korkeampi arvo on parempi, mutta tuottaa suurempia tiedostoja ja voi heikentää sovelluksen reagointikykyä. Matalan arvon asettaminen voi vaikuttaa koneoppimisen laatuun.",
|
||||||
"image_preview_resolution": "Esikatselun resoluutio",
|
"image_preview_title": "Esikatselun asetukset",
|
||||||
"image_preview_resolution_description": "Käytetään kun katsellaan yksittäisiä kuvia, tai koneoppimiseen. Suurempi resoluutio voi säilyttää paremmin yksityiskohtia. Tosin koodaus kestää kauemmin, tiedostokoko kasvaa, ja se saattaa hidastaa sovelluksen responsiivisuutta.",
|
|
||||||
"image_preview_title": "Esikatselu asetukset",
|
|
||||||
"image_quality": "Laatu",
|
"image_quality": "Laatu",
|
||||||
"image_quality_description": "Kuvan laatu välillä 1-100. Suurempi arvo on paremman laatuinen, mutta tuottaa kookkaampia tiedostoja. Tämä asetus vaikuttaa esikatselu- ja pikkukuviin.",
|
|
||||||
"image_resolution": "Resoluutio",
|
"image_resolution": "Resoluutio",
|
||||||
"image_resolution_description": "Korkeammat resoluutiot voivat säilyttää enemmän yksityiskohtia, mutta niiden koodaus kestää kauemmin, tiedostokoot ovat suurempia ja ne voivat heikentää sovelluksen reagointikykyä.",
|
"image_resolution_description": "Korkeammat resoluutiot voivat säilyttää enemmän yksityiskohtia, mutta niiden koodaus kestää kauemmin, tiedostokoot ovat suurempia ja ne voivat heikentää sovelluksen reagointikykyä.",
|
||||||
"image_settings": "Kuva-asetukset",
|
"image_settings": "Kuva-asetukset",
|
||||||
"image_settings_description": "Hallitse luotujen kuvien laatua ja resolutiota",
|
"image_settings_description": "Hallitse luotujen kuvien laatua ja resoluutiota",
|
||||||
"image_thumbnail_description": "Pieni pikkukuva, josta metatiedot on poistettu, käytetään valokuvaryhmien katseluun, kuten pääaikajanalla",
|
"image_thumbnail_description": "Pieni pikkukuva, josta metatiedot on poistettu, käytetään valokuvaryhmien katseluun, kuten pääaikajanalla",
|
||||||
"image_thumbnail_format": "Pikkukuvien muoto",
|
|
||||||
"image_thumbnail_quality_description": "Pikkukuvan laatu 1-100. Korkeampi arvo on parempi, mutta tuottaa suurempia tiedostoja ja voi heikentää sovelluksen reagointikykyä.",
|
"image_thumbnail_quality_description": "Pikkukuvan laatu 1-100. Korkeampi arvo on parempi, mutta tuottaa suurempia tiedostoja ja voi heikentää sovelluksen reagointikykyä.",
|
||||||
"image_thumbnail_resolution": "Pikkukuvien resoluutio",
|
|
||||||
"image_thumbnail_resolution_description": "Käytetään katsottaessa useita kuvia kerralla (aikajana, albuminäkymä, jne.) Korkeampi resoluutio antaa enemmän yksityiskohtia, mutta niiden luonti kestää kauemmin, tiedostokoot ovat isompia ja voivat heikentää sovelluksen responsiivisuutta.",
|
|
||||||
"image_thumbnail_title": "Pikkukuva-asetukset",
|
"image_thumbnail_title": "Pikkukuva-asetukset",
|
||||||
"job_concurrency": "{job} yhtäaikaisuus",
|
"job_concurrency": "Tehtävän \"{job}\" samanaikaisuus",
|
||||||
"job_created": "Tehtävä luotu",
|
"job_created": "Tehtävä luotu",
|
||||||
"job_not_concurrency_safe": "Tätä tehtävää ei ole turvallista ajaa yhtäaikaisesti.",
|
"job_not_concurrency_safe": "Tätä tehtävää ei ole turvallista ajaa yhtäaikaisesti.",
|
||||||
"job_settings": "Tehtävän asetukset",
|
"job_settings": "Tehtävän asetukset",
|
||||||
@@ -89,9 +88,6 @@
|
|||||||
"jobs_delayed": "{jobCount, plural, other {# viivästynyttä}}",
|
"jobs_delayed": "{jobCount, plural, other {# viivästynyttä}}",
|
||||||
"jobs_failed": "{jobCount, plural, other {# epäonnistunutta}}",
|
"jobs_failed": "{jobCount, plural, other {# epäonnistunutta}}",
|
||||||
"library_created": "Kirjasto {library} luotu",
|
"library_created": "Kirjasto {library} luotu",
|
||||||
"library_cron_expression": "Cron-lauseke",
|
|
||||||
"library_cron_expression_description": "Anna skannaustiheys cron-formaatissa. Saadaksesi lisätietoja katso esimerkiksi <link>Crontab Guru</link>",
|
|
||||||
"library_cron_expression_presets": "Cron-lausekkeen esiasetukset",
|
|
||||||
"library_deleted": "Kirjasto poistettu",
|
"library_deleted": "Kirjasto poistettu",
|
||||||
"library_import_path_description": "Määritä kansio joka tuodaan. Kuvat ja videot skannataan tästä kansiosta, sekä alikansioista.",
|
"library_import_path_description": "Määritä kansio joka tuodaan. Kuvat ja videot skannataan tästä kansiosta, sekä alikansioista.",
|
||||||
"library_scanning": "Ajoittainen skannaus",
|
"library_scanning": "Ajoittainen skannaus",
|
||||||
@@ -111,7 +107,7 @@
|
|||||||
"machine_learning_duplicate_detection": "Kaksoiskappaleiden tunnistus",
|
"machine_learning_duplicate_detection": "Kaksoiskappaleiden tunnistus",
|
||||||
"machine_learning_duplicate_detection_enabled": "Ota käyttöön kaksoiskappaleiden tunnistus",
|
"machine_learning_duplicate_detection_enabled": "Ota käyttöön kaksoiskappaleiden tunnistus",
|
||||||
"machine_learning_duplicate_detection_enabled_description": "Jos ei käytössä, täsmälleen samojen aineistojen kaksoiskappaleet tullaan silti poistamaan.",
|
"machine_learning_duplicate_detection_enabled_description": "Jos ei käytössä, täsmälleen samojen aineistojen kaksoiskappaleet tullaan silti poistamaan.",
|
||||||
"machine_learning_duplicate_detection_setting_description": "Etsi todennäköisiä kaksoiskappaleita CLIP upotuksien avulla",
|
"machine_learning_duplicate_detection_setting_description": "Etsi todennäköisiä kaksoiskappaleita CLIP-upotuksien avulla",
|
||||||
"machine_learning_enabled": "Ota käyttöön koneoppiminen",
|
"machine_learning_enabled": "Ota käyttöön koneoppiminen",
|
||||||
"machine_learning_enabled_description": "Jos poistettu käytöstä, kaikki koneoppimistoiminnot ovat pois käytöstä riippumatta alla olevista asetuksista.",
|
"machine_learning_enabled_description": "Jos poistettu käytöstä, kaikki koneoppimistoiminnot ovat pois käytöstä riippumatta alla olevista asetuksista.",
|
||||||
"machine_learning_facial_recognition": "Kasvojen tunnistus",
|
"machine_learning_facial_recognition": "Kasvojen tunnistus",
|
||||||
@@ -131,7 +127,7 @@
|
|||||||
"machine_learning_settings": "Koneoppimisen asetukset",
|
"machine_learning_settings": "Koneoppimisen asetukset",
|
||||||
"machine_learning_settings_description": "Koneoppimisen ominaisuudet ja asetukset",
|
"machine_learning_settings_description": "Koneoppimisen ominaisuudet ja asetukset",
|
||||||
"machine_learning_smart_search": "Älykäs etsintä",
|
"machine_learning_smart_search": "Älykäs etsintä",
|
||||||
"machine_learning_smart_search_description": "Etsi kuvia merkityksellisemmin käyttäen CLIP upotuksia",
|
"machine_learning_smart_search_description": "Etsi kuvia merkityksellisemmin käyttäen CLIP-upotuksia",
|
||||||
"machine_learning_smart_search_enabled": "Ota käyttöön älykäs haku",
|
"machine_learning_smart_search_enabled": "Ota käyttöön älykäs haku",
|
||||||
"machine_learning_smart_search_enabled_description": "Jos ei käytössä, kuvia ei koodata älykkäälle etsinnälle.",
|
"machine_learning_smart_search_enabled_description": "Jos ei käytössä, kuvia ei koodata älykkäälle etsinnälle.",
|
||||||
"machine_learning_url_description": "Koneoppimispalvelimen URL",
|
"machine_learning_url_description": "Koneoppimispalvelimen URL",
|
||||||
@@ -139,17 +135,17 @@
|
|||||||
"manage_log_settings": "Hallitse lokien asetuksia",
|
"manage_log_settings": "Hallitse lokien asetuksia",
|
||||||
"map_dark_style": "Tumma teema",
|
"map_dark_style": "Tumma teema",
|
||||||
"map_enable_description": "Ota käyttöön karttatoiminnot",
|
"map_enable_description": "Ota käyttöön karttatoiminnot",
|
||||||
"map_gps_settings": "Kartta & GPS- asetukset",
|
"map_gps_settings": "Kartta- ja GPS-asetukset",
|
||||||
"map_gps_settings_description": "Hallitse Kartan & GPS (Käänteinen Geokoodaus) Asetuksia",
|
"map_gps_settings_description": "Hallitse kartan ja GPS:n (käänteisen geokoodauksen) asetuksia",
|
||||||
"map_implications": "Kartta -ominaisuus käyttää ulkoista karttapalvelua",
|
"map_implications": "Karttaominaisuus käyttää ulkoista karttapalvelua (tiles.immich.cloud)",
|
||||||
"map_light_style": "Vaalea teema",
|
"map_light_style": "Vaalea teema",
|
||||||
"map_manage_reverse_geocoding_settings": "Hallitse <link>käänteisen geokoodauksen</link> asetuksia",
|
"map_manage_reverse_geocoding_settings": "Hallitse <link>käänteisen geokoodauksen</link> asetuksia",
|
||||||
"map_reverse_geocoding": "Käänteinen Geokoodaus",
|
"map_reverse_geocoding": "Käänteinen Geokoodaus",
|
||||||
"map_reverse_geocoding_enable_description": "Ota käyttöön osoitteiden poiminta karttakoordinaateista",
|
"map_reverse_geocoding_enable_description": "Ota käyttöön osoitteiden poiminta karttakoordinaateista",
|
||||||
"map_reverse_geocoding_settings": "Käänteisen Geokoodauksen asetukset",
|
"map_reverse_geocoding_settings": "Käänteisen geokoodauksen asetukset",
|
||||||
"map_settings": "Kartta",
|
"map_settings": "Kartta",
|
||||||
"map_settings_description": "Hallitse kartan asetuksia",
|
"map_settings_description": "Hallitse kartan asetuksia",
|
||||||
"map_style_description": "style.json -karttateeman URL",
|
"map_style_description": "style.json-karttateeman URL",
|
||||||
"metadata_extraction_job": "Kerää metadata",
|
"metadata_extraction_job": "Kerää metadata",
|
||||||
"metadata_extraction_job_description": "Poimi metatiedot aineistoista, kuten GPS, kasvot ja resoluutio",
|
"metadata_extraction_job_description": "Poimi metatiedot aineistoista, kuten GPS, kasvot ja resoluutio",
|
||||||
"metadata_faces_import_setting": "Ota käyttöön kasvojen tuonti",
|
"metadata_faces_import_setting": "Ota käyttöön kasvojen tuonti",
|
||||||
@@ -164,10 +160,10 @@
|
|||||||
"note_cannot_be_changed_later": "Huom: Tätä ei voi enää myöhemmin vaihtaa!",
|
"note_cannot_be_changed_later": "Huom: Tätä ei voi enää myöhemmin vaihtaa!",
|
||||||
"note_unlimited_quota": "Huom: Määritä 0 rajoittamattomaksi kiintiöksi",
|
"note_unlimited_quota": "Huom: Määritä 0 rajoittamattomaksi kiintiöksi",
|
||||||
"notification_email_from_address": "Lähettäjän osoite",
|
"notification_email_from_address": "Lähettäjän osoite",
|
||||||
"notification_email_from_address_description": "Lähettäjän sähköpostiosoite. Esimerkiksi \"Immich Kuvapalvelin <noreply@example.com>\"",
|
"notification_email_from_address_description": "Lähettäjän sähköpostiosoite. Esimerkiksi \"Immich-kuvapalvelin <noreply@example.com>\"",
|
||||||
"notification_email_host_description": "Sähköpostipalvelin (esim. smtp.immich.app)",
|
"notification_email_host_description": "Sähköpostipalvelin (esim. smtp.immich.app)",
|
||||||
"notification_email_ignore_certificate_errors": "Älä huomioi sertifikaattivirheitä",
|
"notification_email_ignore_certificate_errors": "Älä huomioi varmennevirheitä",
|
||||||
"notification_email_ignore_certificate_errors_description": "Älä huomioi TLS sertifikaattien validointivirheitä (ei suositeltu)",
|
"notification_email_ignore_certificate_errors_description": "Älä huomioi TLS-varmenteiden validointivirheitä (ei suositeltu)",
|
||||||
"notification_email_password_description": "Sähköpostipalvelimen salasana",
|
"notification_email_password_description": "Sähköpostipalvelimen salasana",
|
||||||
"notification_email_port_description": "Sähköpostipalvelimen portti (esim. 25, 465, tai 587)",
|
"notification_email_port_description": "Sähköpostipalvelimen portti (esim. 25, 465, tai 587)",
|
||||||
"notification_email_sent_test_email_button": "Lähetä testaussähköposti ja tallenna",
|
"notification_email_sent_test_email_button": "Lähetä testaussähköposti ja tallenna",
|
||||||
@@ -180,13 +176,13 @@
|
|||||||
"notification_settings": "Ilmoitusasetukset",
|
"notification_settings": "Ilmoitusasetukset",
|
||||||
"notification_settings_description": "Hallitse ilmoitusasetuksia, myös sähköpostin",
|
"notification_settings_description": "Hallitse ilmoitusasetuksia, myös sähköpostin",
|
||||||
"oauth_auto_launch": "Automaattinen käynnistys",
|
"oauth_auto_launch": "Automaattinen käynnistys",
|
||||||
"oauth_auto_launch_description": "Aloita OAuth kirjautuminen heti kun saavutaan kirjautumissivulle",
|
"oauth_auto_launch_description": "Aloita OAuth-kirjautumisvuo heti kun saavutaan kirjautumissivulle",
|
||||||
"oauth_auto_register": "Automaattinen rekisteröinti",
|
"oauth_auto_register": "Automaattinen rekisteröinti",
|
||||||
"oauth_auto_register_description": "Rekisteröi uudet OAuth:lla kirjautuvat käyttäjät automaattisesti",
|
"oauth_auto_register_description": "Rekisteröi uudet OAuth:lla kirjautuvat käyttäjät automaattisesti",
|
||||||
"oauth_button_text": "Painikkeen teksti",
|
"oauth_button_text": "Painikkeen teksti",
|
||||||
"oauth_client_id": "Client ID",
|
"oauth_client_id": "Client ID",
|
||||||
"oauth_client_secret": "Client Secret",
|
"oauth_client_secret": "Client Secret",
|
||||||
"oauth_enable_description": "Kirjaudu käyttäen OAuth:ia",
|
"oauth_enable_description": "Kirjaudu käyttäen OAuthia",
|
||||||
"oauth_issuer_url": "Toimitsijan URL",
|
"oauth_issuer_url": "Toimitsijan URL",
|
||||||
"oauth_mobile_redirect_uri": "Mobiilin uudellenohjaus-URI",
|
"oauth_mobile_redirect_uri": "Mobiilin uudellenohjaus-URI",
|
||||||
"oauth_mobile_redirect_uri_override": "Ohita mobiilin uudelleenohjaus-URI",
|
"oauth_mobile_redirect_uri_override": "Ohita mobiilin uudelleenohjaus-URI",
|
||||||
@@ -195,7 +191,7 @@
|
|||||||
"oauth_profile_signing_algorithm_description": "Algoritmi, jota käytetään käyttäjäprofiilin allekirjoittamiseen.",
|
"oauth_profile_signing_algorithm_description": "Algoritmi, jota käytetään käyttäjäprofiilin allekirjoittamiseen.",
|
||||||
"oauth_scope": "Skooppi (Scope)",
|
"oauth_scope": "Skooppi (Scope)",
|
||||||
"oauth_settings": "OAuth",
|
"oauth_settings": "OAuth",
|
||||||
"oauth_settings_description": "Hallitse OAuth kirjautumisen asetuksia",
|
"oauth_settings_description": "Hallitse OAuth-kirjautumisen asetuksia",
|
||||||
"oauth_settings_more_details": "Saadaksesi lisätietoja tästä toiminnosta, katso <link>dokumentaatio</link>.",
|
"oauth_settings_more_details": "Saadaksesi lisätietoja tästä toiminnosta, katso <link>dokumentaatio</link>.",
|
||||||
"oauth_signing_algorithm": "Allekirjoitusalgoritmi",
|
"oauth_signing_algorithm": "Allekirjoitusalgoritmi",
|
||||||
"oauth_storage_label_claim": "Tallennustilan nimikkeen valtuutusväittämä (claim)",
|
"oauth_storage_label_claim": "Tallennustilan nimikkeen valtuutusväittämä (claim)",
|
||||||
@@ -215,7 +211,6 @@
|
|||||||
"refreshing_all_libraries": "Virkistetään kaikki kirjastot",
|
"refreshing_all_libraries": "Virkistetään kaikki kirjastot",
|
||||||
"registration": "Pääkäyttäjän rekisteröinti",
|
"registration": "Pääkäyttäjän rekisteröinti",
|
||||||
"registration_description": "Pääkäyttäjänä olet vastuussa järjestelmän hallinnallisista tehtävistä ja uusien käyttäjien luomisesta.",
|
"registration_description": "Pääkäyttäjänä olet vastuussa järjestelmän hallinnallisista tehtävistä ja uusien käyttäjien luomisesta.",
|
||||||
"removing_deleted_files": "Poistetaan Offline-tiedostot",
|
|
||||||
"repair_all": "Korjaa kaikki",
|
"repair_all": "Korjaa kaikki",
|
||||||
"repair_matched_items": "Löytyi {count, plural, one {# osuma} other {# osumaa}}",
|
"repair_matched_items": "Löytyi {count, plural, one {# osuma} other {# osumaa}}",
|
||||||
"repaired_items": "Korjattiin {count, plural, one {# kohta} other {# kohtaa}}",
|
"repaired_items": "Korjattiin {count, plural, one {# kohta} other {# kohtaa}}",
|
||||||
@@ -223,8 +218,6 @@
|
|||||||
"reset_settings_to_default": "Nollaa asetukset oletuksille",
|
"reset_settings_to_default": "Nollaa asetukset oletuksille",
|
||||||
"reset_settings_to_recent_saved": "Palauta aiemmin tallennetut asetukset",
|
"reset_settings_to_recent_saved": "Palauta aiemmin tallennetut asetukset",
|
||||||
"scanning_library": "Kirjastoa skannataan",
|
"scanning_library": "Kirjastoa skannataan",
|
||||||
"scanning_library_for_changed_files": "Etsitään kirjaston muuttuneita tiedostoja",
|
|
||||||
"scanning_library_for_new_files": "Etsitään uusia tiedostoja",
|
|
||||||
"search_jobs": "Etsi tehtäviä...",
|
"search_jobs": "Etsi tehtäviä...",
|
||||||
"send_welcome_email": "Lähetä tervetuloviesti",
|
"send_welcome_email": "Lähetä tervetuloviesti",
|
||||||
"server_external_domain_settings": "Ulkoinen osoite",
|
"server_external_domain_settings": "Ulkoinen osoite",
|
||||||
@@ -241,9 +234,9 @@
|
|||||||
"storage_template_date_time_sample": "Esimerkki päivämäärä {date}",
|
"storage_template_date_time_sample": "Esimerkki päivämäärä {date}",
|
||||||
"storage_template_enable_description": "Ota käyttöön tallennustilan mallit",
|
"storage_template_enable_description": "Ota käyttöön tallennustilan mallit",
|
||||||
"storage_template_hash_verification_enabled": "Tarkistussumman varmennus käytössä",
|
"storage_template_hash_verification_enabled": "Tarkistussumman varmennus käytössä",
|
||||||
"storage_template_hash_verification_enabled_description": "Ottaa käyttöön varmistussummien laskennan. Älä poista käytöstä jollet ole aivan varma seurauksista",
|
"storage_template_hash_verification_enabled_description": "Ottaa käyttöön tarkistussummien laskennan. Älä poista käytöstä, ellet ole aivan varma seurauksista",
|
||||||
"storage_template_migration": "Tallennustilan mallien migraatio",
|
"storage_template_migration": "Tallennustilan mallien migraatio",
|
||||||
"storage_template_migration_description": "Käytä nykyistä <link>{template}:a</link> aikaisemmin lähetettyihin kohteisiin",
|
"storage_template_migration_description": "Käytä nykyistä <link>{template}a</link> aikaisemmin lähetettyihin kohteisiin",
|
||||||
"storage_template_migration_info": "Malli vaikuttaa vain uusiin kohteisiin. Käyttääksesi mallia jo olemassa oleviin kohteisiin, aja <link>{job}</link>.",
|
"storage_template_migration_info": "Malli vaikuttaa vain uusiin kohteisiin. Käyttääksesi mallia jo olemassa oleviin kohteisiin, aja <link>{job}</link>.",
|
||||||
"storage_template_migration_job": "Tallennustilan mallin muutostyö",
|
"storage_template_migration_job": "Tallennustilan mallin muutostyö",
|
||||||
"storage_template_more_details": "Saadaksesi lisätietoa tästä ominaisuudesta, katso <template-link>Tallennustilan Mallit</template-link> sekä <implications-link>mihin se vaikuttaa</implications-link>",
|
"storage_template_more_details": "Saadaksesi lisätietoa tästä ominaisuudesta, katso <template-link>Tallennustilan Mallit</template-link> sekä <implications-link>mihin se vaikuttaa</implications-link>",
|
||||||
@@ -255,13 +248,12 @@
|
|||||||
"system_settings": "Järjestelmäasetukset",
|
"system_settings": "Järjestelmäasetukset",
|
||||||
"tag_cleanup_job": "Merkintäpuhdistus",
|
"tag_cleanup_job": "Merkintäpuhdistus",
|
||||||
"theme_custom_css_settings": "Mukautettu CSS",
|
"theme_custom_css_settings": "Mukautettu CSS",
|
||||||
"theme_custom_css_settings_description": "Kustomoi Immichin ulkoasua Cascading Style Sheets:llä.",
|
"theme_custom_css_settings_description": "Mukauta Immichin ulkoasua CSS:llä.",
|
||||||
"theme_settings": "Teeman asetukset",
|
"theme_settings": "Teeman asetukset",
|
||||||
"theme_settings_description": "Kustomoi Immichin web-käyttöliittymää",
|
"theme_settings_description": "Kustomoi Immichin web-käyttöliittymää",
|
||||||
"these_files_matched_by_checksum": "Näillä tiedostoilla on yhteinen tarkistussumma",
|
"these_files_matched_by_checksum": "Näillä tiedostoilla on yhteinen tarkistussumma",
|
||||||
"thumbnail_generation_job": "Generoi pikkukuvat",
|
"thumbnail_generation_job": "Generoi pikkukuvat",
|
||||||
"thumbnail_generation_job_description": "Generoi isot, pienet sekä sumeat pikkukuvat jokaisesta aineistosta, kuten myös henkilöistä",
|
"thumbnail_generation_job_description": "Generoi isot, pienet sekä sumeat pikkukuvat jokaisesta aineistosta, kuten myös henkilöistä",
|
||||||
"transcode_policy_description": "",
|
|
||||||
"transcoding_acceleration_api": "Kiihdytysrajapinta",
|
"transcoding_acceleration_api": "Kiihdytysrajapinta",
|
||||||
"transcoding_acceleration_api_description": "Rajapinta, jolla keskustellaan laittesi kanssa nopeuttaaksemme koodausta. Tämä asetus on paras mahdollinen: Mikäli ongelmia ilmenee, palataan käyttämään ohjelmistopohjaista koodausta. VP9 voi toimia tai ei, riippuen laitteistosi kokoonpanosta.",
|
"transcoding_acceleration_api_description": "Rajapinta, jolla keskustellaan laittesi kanssa nopeuttaaksemme koodausta. Tämä asetus on paras mahdollinen: Mikäli ongelmia ilmenee, palataan käyttämään ohjelmistopohjaista koodausta. VP9 voi toimia tai ei, riippuen laitteistosi kokoonpanosta.",
|
||||||
"transcoding_acceleration_nvenc": "NVENC (vaatii NVIDIA:n grafiikkasuorittimen)",
|
"transcoding_acceleration_nvenc": "NVENC (vaatii NVIDIA:n grafiikkasuorittimen)",
|
||||||
@@ -278,7 +270,7 @@
|
|||||||
"transcoding_audio_codec": "Äänikoodekki",
|
"transcoding_audio_codec": "Äänikoodekki",
|
||||||
"transcoding_audio_codec_description": "Opus on paras laadultaan, mutta ei välttämättä ole yhteensopiva vanhempien laitteiden tai sovellusten kanssa.",
|
"transcoding_audio_codec_description": "Opus on paras laadultaan, mutta ei välttämättä ole yhteensopiva vanhempien laitteiden tai sovellusten kanssa.",
|
||||||
"transcoding_bitrate_description": "Videot, jotka ylittävät enimmäisbittinopeuden tai eivät ole hyväksytyssä muodossa",
|
"transcoding_bitrate_description": "Videot, jotka ylittävät enimmäisbittinopeuden tai eivät ole hyväksytyssä muodossa",
|
||||||
"transcoding_codecs_learn_more": "Oppiaksesi lisää tässä käytetystä terminologiasta, tutustu FFmpeg- dokumentaatioon <h264-link>H.264 koodaaja</h264-link>, <hevc-link>HEVC koodaaja</hevc-link> sekä <vp9-link>VP9 koodaaja</vp9-link>.",
|
"transcoding_codecs_learn_more": "Oppiaksesi lisää käytetystä terminologiasta, tutustu FFmpeg-dokumentaatioon: <h264-link>H.264-koodaaja</h264-link>, <hevc-link>HEVC-koodaaja</hevc-link> ja <vp9-link>VP9-koodaaja</vp9-link>.",
|
||||||
"transcoding_constant_quality_mode": "Tasaisen laadun tyyppi",
|
"transcoding_constant_quality_mode": "Tasaisen laadun tyyppi",
|
||||||
"transcoding_constant_quality_mode_description": "ICQ on parempi kuin CQP, mutta jotkut laitteistokiihdyttimet eivät tue sitä. Tätä asetusta käytetään oletuksena laatuun pohjautuvissa muunnoksissa, paitsi NVENC mikä ei tue ICQ:ta.",
|
"transcoding_constant_quality_mode_description": "ICQ on parempi kuin CQP, mutta jotkut laitteistokiihdyttimet eivät tue sitä. Tätä asetusta käytetään oletuksena laatuun pohjautuvissa muunnoksissa, paitsi NVENC mikä ei tue ICQ:ta.",
|
||||||
"transcoding_constant_rate_factor": "Vakionopeustekijä",
|
"transcoding_constant_rate_factor": "Vakionopeustekijä",
|
||||||
@@ -287,7 +279,7 @@
|
|||||||
"transcoding_hardware_acceleration": "Laitteistokiihdytys",
|
"transcoding_hardware_acceleration": "Laitteistokiihdytys",
|
||||||
"transcoding_hardware_acceleration_description": "Kokeellinen. Paljon nopeampi, mutta huonompaa laatua samalla bittinopeudella",
|
"transcoding_hardware_acceleration_description": "Kokeellinen. Paljon nopeampi, mutta huonompaa laatua samalla bittinopeudella",
|
||||||
"transcoding_hardware_decoding": "Laitteiston dekoodaus",
|
"transcoding_hardware_decoding": "Laitteiston dekoodaus",
|
||||||
"transcoding_hardware_decoding_setting_description": "Vaikuttaa vain NVENC ja RKMPP -moottoreihin. Ottaa käyttöön end-to-end kiihdytyksen pelkän muuntamisen sijasta. Ei välttämättä toimi kaikissa videoissa.",
|
"transcoding_hardware_decoding_setting_description": "Ottaa käyttöön end-to-end kiihdytyksen pelkän muuntamisen sijasta. Ei välttämättä toimi kaikissa videoissa.",
|
||||||
"transcoding_hevc_codec": "HEVC koodekki",
|
"transcoding_hevc_codec": "HEVC koodekki",
|
||||||
"transcoding_max_b_frames": "B-kehysten enimmäismäärä",
|
"transcoding_max_b_frames": "B-kehysten enimmäismäärä",
|
||||||
"transcoding_max_b_frames_description": "Korkeampi arvo parantaa pakkausta, mutta hidastaa enkoodausta. Ei välttämättä ole yhteensopiva vanhempien laitteiden kanssa. 0 poistaa B-kehykset käytöstä, -1 määrittää arvon automaattisesti.",
|
"transcoding_max_b_frames_description": "Korkeampi arvo parantaa pakkausta, mutta hidastaa enkoodausta. Ei välttämättä ole yhteensopiva vanhempien laitteiden kanssa. 0 poistaa B-kehykset käytöstä, -1 määrittää arvon automaattisesti.",
|
||||||
@@ -313,8 +305,6 @@
|
|||||||
"transcoding_threads_description": "Korkeampi arvo nopeuttaa enkoodausta, mutta vie tilaa palvelimen muilta tehtäviltä. Tämä arvo ei tulisi olla suurempi mitä suorittimen ytimien määrä. Suurin mahdollinen käyttö, mikäli arvo on 0.",
|
"transcoding_threads_description": "Korkeampi arvo nopeuttaa enkoodausta, mutta vie tilaa palvelimen muilta tehtäviltä. Tämä arvo ei tulisi olla suurempi mitä suorittimen ytimien määrä. Suurin mahdollinen käyttö, mikäli arvo on 0.",
|
||||||
"transcoding_tone_mapping": "Sävykartoitus",
|
"transcoding_tone_mapping": "Sävykartoitus",
|
||||||
"transcoding_tone_mapping_description": "Pyrkii säilömään HDR-kuvien ulkonäön, kun muunnetaan peruskuvaksi. Jokaisella algoritmilla on omat heikkoutensa värien, yksityiskohtien tai kirkkauksien kesken. Hable säilöö yksityiskohdat, Mobius värit ja Reinhard kirkkaudet.",
|
"transcoding_tone_mapping_description": "Pyrkii säilömään HDR-kuvien ulkonäön, kun muunnetaan peruskuvaksi. Jokaisella algoritmilla on omat heikkoutensa värien, yksityiskohtien tai kirkkauksien kesken. Hable säilöö yksityiskohdat, Mobius värit ja Reinhard kirkkaudet.",
|
||||||
"transcoding_tone_mapping_npl": "Sävykartoitus (NPL)",
|
|
||||||
"transcoding_tone_mapping_npl_description": "Värejä säädetään niin, että ne näyttävät luonnollisilta tällä kirkkaudella. Päinvastoin kuin luulisi, alempi arvo nostaa kirkkautta ja päinvastoin, koska se kompensoi näytön kirkkautta. 0 määrittää tason automaattisesti.",
|
|
||||||
"transcoding_transcode_policy": "Transkoodauskäytäntö",
|
"transcoding_transcode_policy": "Transkoodauskäytäntö",
|
||||||
"transcoding_transcode_policy_description": "Käytäntö miten video tulisi transkoodata. HDR videot transkoodataan aina, paitsi jos transkoodaus on poistettu käytöstä.",
|
"transcoding_transcode_policy_description": "Käytäntö miten video tulisi transkoodata. HDR videot transkoodataan aina, paitsi jos transkoodaus on poistettu käytöstä.",
|
||||||
"transcoding_two_pass_encoding": "Two-pass enkoodaus",
|
"transcoding_two_pass_encoding": "Two-pass enkoodaus",
|
||||||
@@ -323,7 +313,7 @@
|
|||||||
"transcoding_video_codec_description": "VP9 on tehokkain ja web-yhteensopiva, mutta muuntaminen kestää kauemmin. HEVC suoriutuu yhtäläisesti, mutta ei ole ihan yhtä yhteensopiva. H.264 on hyvin yhteensopiva ja nopea muuntaa, mutta tuottaa paljon suurempia tiedostoja. AV1 on kaikkein tehokkain koodekki, mutta vanhemmat laitteet eivät sitä tue.",
|
"transcoding_video_codec_description": "VP9 on tehokkain ja web-yhteensopiva, mutta muuntaminen kestää kauemmin. HEVC suoriutuu yhtäläisesti, mutta ei ole ihan yhtä yhteensopiva. H.264 on hyvin yhteensopiva ja nopea muuntaa, mutta tuottaa paljon suurempia tiedostoja. AV1 on kaikkein tehokkain koodekki, mutta vanhemmat laitteet eivät sitä tue.",
|
||||||
"trash_enabled_description": "Ota käyttöön roskakori",
|
"trash_enabled_description": "Ota käyttöön roskakori",
|
||||||
"trash_number_of_days": "Päivien lukumäärä",
|
"trash_number_of_days": "Päivien lukumäärä",
|
||||||
"trash_number_of_days_description": "Montako päivää aineistoja pidetään roskakorissa ennen pysyvää poistamista",
|
"trash_number_of_days_description": "Kuinka monta päivää aineistoja pidetään roskakorissa ennen pysyvää poistamista",
|
||||||
"trash_settings": "Roskakorin asetukset",
|
"trash_settings": "Roskakorin asetukset",
|
||||||
"trash_settings_description": "Hallitse roskakoriasetuksia",
|
"trash_settings_description": "Hallitse roskakoriasetuksia",
|
||||||
"untracked_files": "Tiedostot joita ei seurata",
|
"untracked_files": "Tiedostot joita ei seurata",
|
||||||
@@ -331,7 +321,7 @@
|
|||||||
"user_cleanup_job": "Käyttäjien puhdistus",
|
"user_cleanup_job": "Käyttäjien puhdistus",
|
||||||
"user_delete_delay": "Käyttäjän <b>{user}</b> tili ja aineistot aikataulutetaan poistettavaksi ajan kuluttua: {delay, plural, one {# day} other {# days}}.",
|
"user_delete_delay": "Käyttäjän <b>{user}</b> tili ja aineistot aikataulutetaan poistettavaksi ajan kuluttua: {delay, plural, one {# day} other {# days}}.",
|
||||||
"user_delete_delay_settings": "Poiston viive",
|
"user_delete_delay_settings": "Poiston viive",
|
||||||
"user_delete_delay_settings_description": "Montako päivää poistamisen jälkeen käyttäjä ja hänen aineistonsa poistetaan pysyvästi. Joka keskiyö käydään läpi poistetuiksi merkityt käyttäjät. Tämä muutos astuu voimaan seuraavalla ajokerralla.",
|
"user_delete_delay_settings_description": "Kuinka monta päivää poistamisen jälkeen käyttäjä ja hänen aineistonsa poistetaan pysyvästi. Joka keskiyö käydään läpi poistettavaksi merkityt käyttäjät. Tämä muutos astuu voimaan seuraavalla ajokerralla.",
|
||||||
"user_delete_immediately": "<b>{user}</b>:n tili ja sen kohteet on ajastettu poistettavaksi <b>heti</b>.",
|
"user_delete_immediately": "<b>{user}</b>:n tili ja sen kohteet on ajastettu poistettavaksi <b>heti</b>.",
|
||||||
"user_delete_immediately_checkbox": "Aseta tili ja sen kohteet jonoon välitöntä poistoa varten",
|
"user_delete_immediately_checkbox": "Aseta tili ja sen kohteet jonoon välitöntä poistoa varten",
|
||||||
"user_management": "Käyttäjien hallinta",
|
"user_management": "Käyttäjien hallinta",
|
||||||
@@ -343,7 +333,7 @@
|
|||||||
"user_settings_description": "Hallitse käyttäjäasetuksia",
|
"user_settings_description": "Hallitse käyttäjäasetuksia",
|
||||||
"user_successfully_removed": "Käyttäjä {email} on poistettu.",
|
"user_successfully_removed": "Käyttäjä {email} on poistettu.",
|
||||||
"version_check_enabled_description": "Ota käyttöön versiotarkastus",
|
"version_check_enabled_description": "Ota käyttöön versiotarkastus",
|
||||||
"version_check_implications": "Versiontarkistus vaatii säännöllisen yhteyden github.com:iin",
|
"version_check_implications": "Versiotarkistus vaatii säännöllisen yhteyden github.comiin",
|
||||||
"version_check_settings": "Versiotarkistus",
|
"version_check_settings": "Versiotarkistus",
|
||||||
"version_check_settings_description": "Ota käyttöön ilmoitukset, kun uusi versio on saatavilla",
|
"version_check_settings_description": "Ota käyttöön ilmoitukset, kun uusi versio on saatavilla",
|
||||||
"video_conversion_job": "Transkoodaa videot",
|
"video_conversion_job": "Transkoodaa videot",
|
||||||
@@ -395,7 +385,6 @@
|
|||||||
"archive_or_unarchive_photo": "Arkistoi kuva tai palauta arkistosta",
|
"archive_or_unarchive_photo": "Arkistoi kuva tai palauta arkistosta",
|
||||||
"archive_size": "Arkiston koko",
|
"archive_size": "Arkiston koko",
|
||||||
"archive_size_description": "Määritä arkiston koko latauksissa (Gt)",
|
"archive_size_description": "Määritä arkiston koko latauksissa (Gt)",
|
||||||
"archived": "Arkistoitu",
|
|
||||||
"archived_count": "{count, plural, other {Arkistoitu #}}",
|
"archived_count": "{count, plural, other {Arkistoitu #}}",
|
||||||
"are_these_the_same_person": "Ovatko he sama henkilö?",
|
"are_these_the_same_person": "Ovatko he sama henkilö?",
|
||||||
"are_you_sure_to_do_this": "Haluatko varmasti tehdä tämän?",
|
"are_you_sure_to_do_this": "Haluatko varmasti tehdä tämän?",
|
||||||
@@ -416,7 +405,6 @@
|
|||||||
"assets_added_to_album_count": "Albumiin lisätty {count, plural, one {# kohde} other {# kohdetta}}",
|
"assets_added_to_album_count": "Albumiin lisätty {count, plural, one {# kohde} other {# kohdetta}}",
|
||||||
"assets_added_to_name_count": "Lisätty {count, plural, one {# kohde} other {# kohdetta}} {hasName, select, true {<b>{name}</b>} other {uuteen albumiin}}",
|
"assets_added_to_name_count": "Lisätty {count, plural, one {# kohde} other {# kohdetta}} {hasName, select, true {<b>{name}</b>} other {uuteen albumiin}}",
|
||||||
"assets_count": "{count, plural, one {# media} other {# mediaa}}",
|
"assets_count": "{count, plural, one {# media} other {# mediaa}}",
|
||||||
"assets_moved_to_trash": "Siirretty {count, plural, one {# aineisto} other {# aineistoa}} roskakoriin",
|
|
||||||
"assets_moved_to_trash_count": "Siirretty {count, plural, one {# media} other {# mediaa}} roskakoriin",
|
"assets_moved_to_trash_count": "Siirretty {count, plural, one {# media} other {# mediaa}} roskakoriin",
|
||||||
"assets_permanently_deleted_count": "{count, plural, one {# media} other {# mediaa}} poistettu pysyvästi",
|
"assets_permanently_deleted_count": "{count, plural, one {# media} other {# mediaa}} poistettu pysyvästi",
|
||||||
"assets_removed_count": "{count, plural, one {# media} other {# mediaa}} poistettu",
|
"assets_removed_count": "{count, plural, one {# media} other {# mediaa}} poistettu",
|
||||||
@@ -424,7 +412,7 @@
|
|||||||
"assets_restored_count": "{count, plural, one {# media} other {# mediaa}} palautettu",
|
"assets_restored_count": "{count, plural, one {# media} other {# mediaa}} palautettu",
|
||||||
"assets_trashed_count": "{count, plural, one {# media} other {# mediaa}} siirretty roskakoriin",
|
"assets_trashed_count": "{count, plural, one {# media} other {# mediaa}} siirretty roskakoriin",
|
||||||
"assets_were_part_of_album_count": "{count, plural, one {Media oli} other {Mediat olivat}} jo albumissa",
|
"assets_were_part_of_album_count": "{count, plural, one {Media oli} other {Mediat olivat}} jo albumissa",
|
||||||
"authorized_devices": "Auktorisoidut laitteet",
|
"authorized_devices": "Valtuutetut laitteet",
|
||||||
"back": "Takaisin",
|
"back": "Takaisin",
|
||||||
"back_close_deselect": "Palaa, sulje tai poista valinnat",
|
"back_close_deselect": "Palaa, sulje tai poista valinnat",
|
||||||
"backward": "Taaksepäin",
|
"backward": "Taaksepäin",
|
||||||
@@ -432,8 +420,8 @@
|
|||||||
"birthdate_set_description": "Syntymäaikaa käytetään laskemaan henkilön ikä kuvanottohetkellä.",
|
"birthdate_set_description": "Syntymäaikaa käytetään laskemaan henkilön ikä kuvanottohetkellä.",
|
||||||
"blurred_background": "Sumennettu tausta",
|
"blurred_background": "Sumennettu tausta",
|
||||||
"bugs_and_feature_requests": "Bugit ja ominaisuuspyynnöt",
|
"bugs_and_feature_requests": "Bugit ja ominaisuuspyynnöt",
|
||||||
"build": "Rakenna",
|
"build": "Koontiversio",
|
||||||
"build_image": "Rakenna kuva",
|
"build_image": "Koontiversion kuva",
|
||||||
"bulk_delete_duplicates_confirmation": "Haluatko varmasti poistaa {count, plural, one {# kaksoiskappaleen} other {# kaksoiskappaleet}} kerralla? Tämä säilyttää kustakin mediasta kookkaimman ja poistaa loput pysyvästi. Et voi perua tätä!",
|
"bulk_delete_duplicates_confirmation": "Haluatko varmasti poistaa {count, plural, one {# kaksoiskappaleen} other {# kaksoiskappaleet}} kerralla? Tämä säilyttää kustakin mediasta kookkaimman ja poistaa loput pysyvästi. Et voi perua tätä!",
|
||||||
"bulk_keep_duplicates_confirmation": "Haluatko varmasti säilyttää {count, plural, one {# kaksoiskappaleen} other {# kaksoiskappaleet}}? Tämä merkitsee kaikki kaksoiskappaleet ratkaistuiksi, eikä poista mitään.",
|
"bulk_keep_duplicates_confirmation": "Haluatko varmasti säilyttää {count, plural, one {# kaksoiskappaleen} other {# kaksoiskappaleet}}? Tämä merkitsee kaikki kaksoiskappaleet ratkaistuiksi, eikä poista mitään.",
|
||||||
"bulk_trash_duplicates_confirmation": "Haluatko varmasti siirtää {count, plural, one {# kaksoiskappaleen} other {# kaksoiskappaleet}} roskakoriin? Tämä säilyttää kustakin mediasta kookkaimman ja siirtää loput roskakoriin.",
|
"bulk_trash_duplicates_confirmation": "Haluatko varmasti siirtää {count, plural, one {# kaksoiskappaleen} other {# kaksoiskappaleet}} roskakoriin? Tämä säilyttää kustakin mediasta kookkaimman ja siirtää loput roskakoriin.",
|
||||||
@@ -446,10 +434,6 @@
|
|||||||
"cannot_merge_people": "Ihmisiä ei voitu yhdistää",
|
"cannot_merge_people": "Ihmisiä ei voitu yhdistää",
|
||||||
"cannot_undo_this_action": "Et voi perua tätä toimintoa!",
|
"cannot_undo_this_action": "Et voi perua tätä toimintoa!",
|
||||||
"cannot_update_the_description": "Kuvausta ei voi päivittää",
|
"cannot_update_the_description": "Kuvausta ei voi päivittää",
|
||||||
"cant_apply_changes": "Asetuksia ei voitu määrittää",
|
|
||||||
"cant_get_faces": "Kasvoja ei voinut hakea",
|
|
||||||
"cant_search_people": "Ihmisiä ei voinut etsiä",
|
|
||||||
"cant_search_places": "Sijainteja ei voinut etsiä",
|
|
||||||
"change_date": "Vaihda päiväys",
|
"change_date": "Vaihda päiväys",
|
||||||
"change_expiration_time": "Muuta erääntymisaikaa",
|
"change_expiration_time": "Muuta erääntymisaikaa",
|
||||||
"change_location": "Vaihda sijainti",
|
"change_location": "Vaihda sijainti",
|
||||||
@@ -507,7 +491,7 @@
|
|||||||
"create_new_person_hint": "Määritä valitut mediat uudelle henkilölle",
|
"create_new_person_hint": "Määritä valitut mediat uudelle henkilölle",
|
||||||
"create_new_user": "Luo uusi käyttäjä",
|
"create_new_user": "Luo uusi käyttäjä",
|
||||||
"create_tag": "Luo tunniste",
|
"create_tag": "Luo tunniste",
|
||||||
"create_tag_description": "Luo uusi tunniste. Sisäkkäisiä tunnisteita varten, syötä tunnisteen täydellinen polku kauttaviiva mukaanluettuna.",
|
"create_tag_description": "Luo uusi tunniste. Sisäkkäisiä tunnisteita varten syötä tunnisteen täydellinen polku kauttaviivat mukaan luettuna.",
|
||||||
"create_user": "Luo käyttäjä",
|
"create_user": "Luo käyttäjä",
|
||||||
"created": "Luotu",
|
"created": "Luotu",
|
||||||
"current_device": "Nykyinen laite",
|
"current_device": "Nykyinen laite",
|
||||||
@@ -532,7 +516,7 @@
|
|||||||
"delete_link": "Poista linkki",
|
"delete_link": "Poista linkki",
|
||||||
"delete_shared_link": "Poista jaettu linkki",
|
"delete_shared_link": "Poista jaettu linkki",
|
||||||
"delete_tag": "Poista tunniste",
|
"delete_tag": "Poista tunniste",
|
||||||
"delete_tag_confirmation_prompt": "Haluatko varmasti poistaa {tagName}-tunnisteen?",
|
"delete_tag_confirmation_prompt": "Haluatko varmasti poistaa tunnisteen {tagName}?",
|
||||||
"delete_user": "Poista käyttäjä",
|
"delete_user": "Poista käyttäjä",
|
||||||
"deleted_shared_link": "Jaettu linkki poistettu",
|
"deleted_shared_link": "Jaettu linkki poistettu",
|
||||||
"deletes_missing_assets": "Poistaa levyltä puuttuvat resurssit",
|
"deletes_missing_assets": "Poistaa levyltä puuttuvat resurssit",
|
||||||
@@ -563,13 +547,6 @@
|
|||||||
"duplicates": "Kaksoiskappaleet",
|
"duplicates": "Kaksoiskappaleet",
|
||||||
"duplicates_description": "Selvitä jokaisen kohdalla mitkä (jos yksikään) ovat kaksoiskappaleita",
|
"duplicates_description": "Selvitä jokaisen kohdalla mitkä (jos yksikään) ovat kaksoiskappaleita",
|
||||||
"duration": "Kesto",
|
"duration": "Kesto",
|
||||||
"durations": {
|
|
||||||
"days": "",
|
|
||||||
"hours": "",
|
|
||||||
"minutes": "",
|
|
||||||
"months": "",
|
|
||||||
"years": ""
|
|
||||||
},
|
|
||||||
"edit": "Muokkaa",
|
"edit": "Muokkaa",
|
||||||
"edit_album": "Muokkaa albumia",
|
"edit_album": "Muokkaa albumia",
|
||||||
"edit_avatar": "Muokkaa avataria",
|
"edit_avatar": "Muokkaa avataria",
|
||||||
@@ -594,8 +571,6 @@
|
|||||||
"editor_crop_tool_h2_aspect_ratios": "Kuvasuhteet",
|
"editor_crop_tool_h2_aspect_ratios": "Kuvasuhteet",
|
||||||
"editor_crop_tool_h2_rotation": "Rotaatio",
|
"editor_crop_tool_h2_rotation": "Rotaatio",
|
||||||
"email": "Sähköposti",
|
"email": "Sähköposti",
|
||||||
"empty": "",
|
|
||||||
"empty_album": "",
|
|
||||||
"empty_trash": "Tyhjennä roskakori",
|
"empty_trash": "Tyhjennä roskakori",
|
||||||
"empty_trash_confirmation": "Haluatko varmasti tyhjentää roskakorin? Tämä poistaa pysyvästi kaikki tiedostot Immich:stä.\nToimintoa ei voi perua!",
|
"empty_trash_confirmation": "Haluatko varmasti tyhjentää roskakorin? Tämä poistaa pysyvästi kaikki tiedostot Immich:stä.\nToimintoa ei voi perua!",
|
||||||
"enable": "Ota käyttöön",
|
"enable": "Ota käyttöön",
|
||||||
@@ -644,7 +619,7 @@
|
|||||||
"unable_to_add_album_users": "Käyttäjiä ei voi lisätä albumiin",
|
"unable_to_add_album_users": "Käyttäjiä ei voi lisätä albumiin",
|
||||||
"unable_to_add_assets_to_shared_link": "Medioiden lisääminen jaettuun linkkiin epäonnistui",
|
"unable_to_add_assets_to_shared_link": "Medioiden lisääminen jaettuun linkkiin epäonnistui",
|
||||||
"unable_to_add_comment": "Kommentin lisääminen epäonnistui",
|
"unable_to_add_comment": "Kommentin lisääminen epäonnistui",
|
||||||
"unable_to_add_exclusion_pattern": "Ei voida lisätä poissulkuohjetta",
|
"unable_to_add_exclusion_pattern": "Ei voida lisätä poissulkemismallia",
|
||||||
"unable_to_add_import_path": "Tuontipolkua ei voitu lisätä",
|
"unable_to_add_import_path": "Tuontipolkua ei voitu lisätä",
|
||||||
"unable_to_add_partners": "Kumppaneita ei voitu lisätä",
|
"unable_to_add_partners": "Kumppaneita ei voitu lisätä",
|
||||||
"unable_to_add_remove_archive": "Ei voida {archived, select, true {poistaa kohdetta arkistosta} other {lisätä kohdetta arkistoon}}",
|
"unable_to_add_remove_archive": "Ei voida {archived, select, true {poistaa kohdetta arkistosta} other {lisätä kohdetta arkistoon}}",
|
||||||
@@ -656,8 +631,6 @@
|
|||||||
"unable_to_change_location": "Sijainnin muuttaminen epäonnistui",
|
"unable_to_change_location": "Sijainnin muuttaminen epäonnistui",
|
||||||
"unable_to_change_password": "Salasanan vaihto epäonnistui",
|
"unable_to_change_password": "Salasanan vaihto epäonnistui",
|
||||||
"unable_to_change_visibility": "Ei voida muuttaa näkyvyyttä {count, plural, one {# henkilölle} other {# henkilölle}}",
|
"unable_to_change_visibility": "Ei voida muuttaa näkyvyyttä {count, plural, one {# henkilölle} other {# henkilölle}}",
|
||||||
"unable_to_check_item": "",
|
|
||||||
"unable_to_check_items": "",
|
|
||||||
"unable_to_complete_oauth_login": "OAuth-kirjautumista ei voitu suorittaa loppuun",
|
"unable_to_complete_oauth_login": "OAuth-kirjautumista ei voitu suorittaa loppuun",
|
||||||
"unable_to_connect": "Yhteyttä ei voitu muodostaa",
|
"unable_to_connect": "Yhteyttä ei voitu muodostaa",
|
||||||
"unable_to_connect_to_server": "Palvelimeen ei saatu yhteyttä",
|
"unable_to_connect_to_server": "Palvelimeen ei saatu yhteyttä",
|
||||||
@@ -669,12 +642,12 @@
|
|||||||
"unable_to_delete_album": "Albumin poistaminen epäonnistui",
|
"unable_to_delete_album": "Albumin poistaminen epäonnistui",
|
||||||
"unable_to_delete_asset": "Kohteen poistaminen epäonnistui",
|
"unable_to_delete_asset": "Kohteen poistaminen epäonnistui",
|
||||||
"unable_to_delete_assets": "Virhe kohteen poistamisessa",
|
"unable_to_delete_assets": "Virhe kohteen poistamisessa",
|
||||||
"unable_to_delete_exclusion_pattern": "Ei voida poistaa poissulkuohjetta",
|
"unable_to_delete_exclusion_pattern": "Ei voida poistaa poissulkemismallia",
|
||||||
"unable_to_delete_import_path": "Tuontipolkua ei voitu poistaa",
|
"unable_to_delete_import_path": "Tuontipolkua ei voitu poistaa",
|
||||||
"unable_to_delete_shared_link": "Jaetun linkin poistaminen epäonnistui",
|
"unable_to_delete_shared_link": "Jaetun linkin poistaminen epäonnistui",
|
||||||
"unable_to_delete_user": "Käyttäjän poistaminen epäonnistui",
|
"unable_to_delete_user": "Käyttäjän poistaminen epäonnistui",
|
||||||
"unable_to_download_files": "Tiedostojen lataaminen epäonnistui",
|
"unable_to_download_files": "Tiedostojen lataaminen epäonnistui",
|
||||||
"unable_to_edit_exclusion_pattern": "Ei voida muokata poissulkuohjetta",
|
"unable_to_edit_exclusion_pattern": "Ei voida muokata poissulkemismallia",
|
||||||
"unable_to_edit_import_path": "Tuontipolkua ei voitu muokata",
|
"unable_to_edit_import_path": "Tuontipolkua ei voitu muokata",
|
||||||
"unable_to_empty_trash": "Roskakorin tyhjentäminen epäonnistui",
|
"unable_to_empty_trash": "Roskakorin tyhjentäminen epäonnistui",
|
||||||
"unable_to_enter_fullscreen": "Koko ruudun tilaan siirtyminen epäonnistui",
|
"unable_to_enter_fullscreen": "Koko ruudun tilaan siirtyminen epäonnistui",
|
||||||
@@ -698,13 +671,10 @@
|
|||||||
"unable_to_remove_album_users": "Käyttäjien poistaminen albumista epäonnistui",
|
"unable_to_remove_album_users": "Käyttäjien poistaminen albumista epäonnistui",
|
||||||
"unable_to_remove_api_key": "API-avaimen poistaminen epäonnistui",
|
"unable_to_remove_api_key": "API-avaimen poistaminen epäonnistui",
|
||||||
"unable_to_remove_assets_from_shared_link": "kohteiden poistaminen jaetusta linkistä epäonnistui",
|
"unable_to_remove_assets_from_shared_link": "kohteiden poistaminen jaetusta linkistä epäonnistui",
|
||||||
"unable_to_remove_comment": "",
|
|
||||||
"unable_to_remove_deleted_assets": "Offline-tiedostoja ei voitu poistaa",
|
"unable_to_remove_deleted_assets": "Offline-tiedostoja ei voitu poistaa",
|
||||||
"unable_to_remove_library": "Kirjaston poistaminen epäonnistui",
|
"unable_to_remove_library": "Kirjaston poistaminen epäonnistui",
|
||||||
"unable_to_remove_offline_files": "Offline-tiedostojen poistaminen epäonnistui",
|
|
||||||
"unable_to_remove_partner": "Kumppanin poistaminen epäonnistui",
|
"unable_to_remove_partner": "Kumppanin poistaminen epäonnistui",
|
||||||
"unable_to_remove_reaction": "Reaktion poistaminen epäonnistui",
|
"unable_to_remove_reaction": "Reaktion poistaminen epäonnistui",
|
||||||
"unable_to_remove_user": "",
|
|
||||||
"unable_to_repair_items": "Kohteiden korjaaminen epäonnistui",
|
"unable_to_repair_items": "Kohteiden korjaaminen epäonnistui",
|
||||||
"unable_to_reset_password": "Salasanan nollaaminen epäonnistui",
|
"unable_to_reset_password": "Salasanan nollaaminen epäonnistui",
|
||||||
"unable_to_resolve_duplicate": "Virheilmoitus näkyy, kun palvelin palauttaa virheen painettaessa roskakorin tai säilytä-painiketta.",
|
"unable_to_resolve_duplicate": "Virheilmoitus näkyy, kun palvelin palauttaa virheen painettaessa roskakorin tai säilytä-painiketta.",
|
||||||
@@ -734,10 +704,6 @@
|
|||||||
"unable_to_update_user": "Käyttäjän muokkaus epäonnistui",
|
"unable_to_update_user": "Käyttäjän muokkaus epäonnistui",
|
||||||
"unable_to_upload_file": "Tiedostoa ei voitu ladata"
|
"unable_to_upload_file": "Tiedostoa ei voitu ladata"
|
||||||
},
|
},
|
||||||
"every_day_at_onepm": "",
|
|
||||||
"every_night_at_midnight": "",
|
|
||||||
"every_night_at_twoam": "",
|
|
||||||
"every_six_hours": "",
|
|
||||||
"exif": "Exif",
|
"exif": "Exif",
|
||||||
"exit_slideshow": "Poistu diaesityksestä",
|
"exit_slideshow": "Poistu diaesityksestä",
|
||||||
"expand_all": "Laajenna kaikki",
|
"expand_all": "Laajenna kaikki",
|
||||||
@@ -745,40 +711,34 @@
|
|||||||
"expired": "Voimassaolo päättynyt",
|
"expired": "Voimassaolo päättynyt",
|
||||||
"expires_date": "Vanhenee {date}",
|
"expires_date": "Vanhenee {date}",
|
||||||
"explore": "Tutki",
|
"explore": "Tutki",
|
||||||
"explorer": "Tutkija",
|
"explorer": "Selain",
|
||||||
"export": "Vie",
|
"export": "Vie",
|
||||||
"export_as_json": "Vie JSON-muodossa",
|
"export_as_json": "Vie JSON-muodossa",
|
||||||
"extension": "Tiedostopääte",
|
"extension": "Tiedostopääte",
|
||||||
"external": "Ulkoisesta",
|
"external": "Ulkoisesta",
|
||||||
"external_libraries": "Ulkoiset kirjastot",
|
"external_libraries": "Ulkoiset kirjastot",
|
||||||
"face_unassigned": "Ei määritelty",
|
"face_unassigned": "Ei määritelty",
|
||||||
"failed_to_get_people": "",
|
|
||||||
"favorite": "Suosikki",
|
"favorite": "Suosikki",
|
||||||
"favorite_or_unfavorite_photo": "Suosikki- tai ei-suosikkikuva",
|
"favorite_or_unfavorite_photo": "Suosikki- tai ei-suosikkikuva",
|
||||||
"favorites": "Suosikit",
|
"favorites": "Suosikit",
|
||||||
"feature": "",
|
|
||||||
"feature_photo_updated": "Kansikuva ladattu",
|
"feature_photo_updated": "Kansikuva ladattu",
|
||||||
"featurecollection": "",
|
|
||||||
"features": "Ominaisuudet",
|
"features": "Ominaisuudet",
|
||||||
"features_setting_description": "Hallitse sovelluksen ominaisuuksia",
|
"features_setting_description": "Hallitse sovelluksen ominaisuuksia",
|
||||||
"file_name": "Tiedoston nimi",
|
"file_name": "Tiedoston nimi",
|
||||||
"file_name_or_extension": "Tiedostonimi tai tiedostopääte",
|
"file_name_or_extension": "Tiedostonimi tai tiedostopääte",
|
||||||
"filename": "Tiedostonimi",
|
"filename": "Tiedostonimi",
|
||||||
"files": "",
|
|
||||||
"filetype": "Tiedostotyyppi",
|
"filetype": "Tiedostotyyppi",
|
||||||
"filter_people": "Suodata henkilöt",
|
"filter_people": "Suodata henkilöt",
|
||||||
"find_them_fast": "Löydä nopeasti hakemalla nimellä",
|
"find_them_fast": "Löydä nopeasti hakemalla nimellä",
|
||||||
"fix_incorrect_match": "Korjaa virheellinen osuma",
|
"fix_incorrect_match": "Korjaa virheellinen osuma",
|
||||||
"folders": "Kansiot",
|
"folders": "Kansiot",
|
||||||
"folders_feature_description": "Käytetään kansionäkymää valokuvien ja videoiden selaamiseen järjestelmässä",
|
"folders_feature_description": "Käytetään kansionäkymää valokuvien ja videoiden selaamiseen järjestelmässä",
|
||||||
"force_re-scan_library_files": "Pakota kaikkien kirjastotiedostojen uudelleenskannaus",
|
|
||||||
"forward": "Eteenpäin",
|
"forward": "Eteenpäin",
|
||||||
"general": "Yleinen",
|
"general": "Yleinen",
|
||||||
"get_help": "Hae apua",
|
"get_help": "Hae apua",
|
||||||
"getting_started": "Aloittaminen",
|
"getting_started": "Aloittaminen",
|
||||||
"go_back": "Palaa",
|
"go_back": "Palaa",
|
||||||
"go_to_search": "Siirry hakuun",
|
"go_to_search": "Siirry hakuun",
|
||||||
"go_to_share_page": "",
|
|
||||||
"group_albums_by": "Ryhmitä albumi...",
|
"group_albums_by": "Ryhmitä albumi...",
|
||||||
"group_no": "Ei ryhmitystä",
|
"group_no": "Ei ryhmitystä",
|
||||||
"group_owner": "Ryhmitä omistajan mukaan",
|
"group_owner": "Ryhmitä omistajan mukaan",
|
||||||
@@ -804,9 +764,8 @@
|
|||||||
"image_alt_text_date_place_2_people": "{isVideo, select, true {Video} other {Kuva}} otettu {city}ssä, {country}ssä {person1}n ja {person2}n kanssa {date}",
|
"image_alt_text_date_place_2_people": "{isVideo, select, true {Video} other {Kuva}} otettu {city}ssä, {country}ssä {person1}n ja {person2}n kanssa {date}",
|
||||||
"image_alt_text_date_place_3_people": "{isVideo, select, true {Video} other {Kuva}} otettu {city}ssä, {country}ssä {person1}n, {person2}n ja {person3}n kanssa {date}",
|
"image_alt_text_date_place_3_people": "{isVideo, select, true {Video} other {Kuva}} otettu {city}ssä, {country}ssä {person1}n, {person2}n ja {person3}n kanssa {date}",
|
||||||
"image_alt_text_date_place_4_or_more_people": "{isVideo, select, true {Video} other {Kuva}} otettu {city}ssä, {country}ssä {person1}n, {person2}n ja {additionalCount, number} muun kanssa {date}",
|
"image_alt_text_date_place_4_or_more_people": "{isVideo, select, true {Video} other {Kuva}} otettu {city}ssä, {country}ssä {person1}n, {person2}n ja {additionalCount, number} muun kanssa {date}",
|
||||||
"img": "",
|
"immich_logo": "Immich-logo",
|
||||||
"immich_logo": "Immich Logo",
|
"immich_web_interface": "Immich-verkkokäyttöliittymä",
|
||||||
"immich_web_interface": "Immich verkkoliittymä",
|
|
||||||
"import_from_json": "Tuo JSON-tiedostosta",
|
"import_from_json": "Tuo JSON-tiedostosta",
|
||||||
"import_path": "Tuontipolku",
|
"import_path": "Tuontipolku",
|
||||||
"in_albums": "{count, plural, one {# Albumissa} other {# albumissa}}",
|
"in_albums": "{count, plural, one {# Albumissa} other {# albumissa}}",
|
||||||
@@ -825,7 +784,6 @@
|
|||||||
"invite_people": "Kutsu ihmisiä",
|
"invite_people": "Kutsu ihmisiä",
|
||||||
"invite_to_album": "Kutsu albumiin",
|
"invite_to_album": "Kutsu albumiin",
|
||||||
"items_count": "{count, plural, one {# kpl} other {# kpl}}",
|
"items_count": "{count, plural, one {# kpl} other {# kpl}}",
|
||||||
"job_settings_description": "",
|
|
||||||
"jobs": "Taustatehtävät",
|
"jobs": "Taustatehtävät",
|
||||||
"keep": "Säilytä",
|
"keep": "Säilytä",
|
||||||
"keep_all": "Säilytä kaikki",
|
"keep_all": "Säilytä kaikki",
|
||||||
@@ -840,8 +798,6 @@
|
|||||||
"level": "Taso",
|
"level": "Taso",
|
||||||
"library": "Kirjasto",
|
"library": "Kirjasto",
|
||||||
"library_options": "Kirjastovaihtoehdot",
|
"library_options": "Kirjastovaihtoehdot",
|
||||||
"license_button_buy": "Osta",
|
|
||||||
"license_button_select": "Valitse",
|
|
||||||
"light": "Vaalea",
|
"light": "Vaalea",
|
||||||
"like_deleted": "Tykkäys poistettu",
|
"like_deleted": "Tykkäys poistettu",
|
||||||
"link_motion_video": "Linkitä liikevideo",
|
"link_motion_video": "Linkitä liikevideo",
|
||||||
@@ -863,6 +819,7 @@
|
|||||||
"look": "Tyyli",
|
"look": "Tyyli",
|
||||||
"loop_videos": "Toista videot uudelleen",
|
"loop_videos": "Toista videot uudelleen",
|
||||||
"loop_videos_description": "Ota käyttöön videon automaattinen toisto tarkemmassa näkymässä.",
|
"loop_videos_description": "Ota käyttöön videon automaattinen toisto tarkemmassa näkymässä.",
|
||||||
|
"main_branch_warning": "Käytät kehitysversiota; suosittelemme vahvasti käyttämään julkaisuversiota!",
|
||||||
"make": "Valmistaja",
|
"make": "Valmistaja",
|
||||||
"manage_shared_links": "Hallitse jaettuja linkkejä",
|
"manage_shared_links": "Hallitse jaettuja linkkejä",
|
||||||
"manage_sharing_with_partners": "Hallitse jakamista kumppaneille",
|
"manage_sharing_with_partners": "Hallitse jakamista kumppaneille",
|
||||||
@@ -872,7 +829,7 @@
|
|||||||
"manage_your_devices": "Hallitse sisäänkirjautuneita laitteitasi",
|
"manage_your_devices": "Hallitse sisäänkirjautuneita laitteitasi",
|
||||||
"manage_your_oauth_connection": "Hallitse OAuth-yhteyttäsi",
|
"manage_your_oauth_connection": "Hallitse OAuth-yhteyttäsi",
|
||||||
"map": "Kartta",
|
"map": "Kartta",
|
||||||
"map_marker_for_images": "Karttamarkerointi kuville, jotka on otettu {city}ssä, {country}ssä",
|
"map_marker_for_images": "Karttamarkerointi kuville, jotka on otettu kaupungissa {city}, maassa {country}",
|
||||||
"map_marker_with_image": "Karttamarkerointi kuvalla",
|
"map_marker_with_image": "Karttamarkerointi kuvalla",
|
||||||
"map_settings": "Kartta-asetukset",
|
"map_settings": "Kartta-asetukset",
|
||||||
"matches": "Osumia",
|
"matches": "Osumia",
|
||||||
@@ -900,7 +857,7 @@
|
|||||||
"name_or_nickname": "Nimi tai lempinimi",
|
"name_or_nickname": "Nimi tai lempinimi",
|
||||||
"never": "ei koskaan",
|
"never": "ei koskaan",
|
||||||
"new_album": "Uusi Albumi",
|
"new_album": "Uusi Albumi",
|
||||||
"new_api_key": "Uusi API Key",
|
"new_api_key": "Uusi API-avain",
|
||||||
"new_password": "Uusi salasana",
|
"new_password": "Uusi salasana",
|
||||||
"new_person": "Uusi henkilö",
|
"new_person": "Uusi henkilö",
|
||||||
"new_user_created": "Uusi käyttäjä lisätty",
|
"new_user_created": "Uusi käyttäjä lisätty",
|
||||||
@@ -928,7 +885,7 @@
|
|||||||
"note_apply_storage_label_to_previously_uploaded assets": "Huom: Jotta voit soveltaa tallennustunnistetta aiemmin ladattuihin kohteisiin, suorita",
|
"note_apply_storage_label_to_previously_uploaded assets": "Huom: Jotta voit soveltaa tallennustunnistetta aiemmin ladattuihin kohteisiin, suorita",
|
||||||
"note_unlimited_quota": "Huomio: Syötä 0 rajoittamatonta kiintiötä varten",
|
"note_unlimited_quota": "Huomio: Syötä 0 rajoittamatonta kiintiötä varten",
|
||||||
"notes": "Muistiinpanot",
|
"notes": "Muistiinpanot",
|
||||||
"notification_toggle_setting_description": "Ota sähköpostilmoitukset käyttöön",
|
"notification_toggle_setting_description": "Ota sähköposti-ilmoitukset käyttöön",
|
||||||
"notifications": "Ilmoitukset",
|
"notifications": "Ilmoitukset",
|
||||||
"notifications_setting_description": "Hallitse ilmoituksia",
|
"notifications_setting_description": "Hallitse ilmoituksia",
|
||||||
"oauth": "OAuth",
|
"oauth": "OAuth",
|
||||||
@@ -945,7 +902,6 @@
|
|||||||
"onboarding_welcome_user": "Tervetuloa {user}",
|
"onboarding_welcome_user": "Tervetuloa {user}",
|
||||||
"online": "Online",
|
"online": "Online",
|
||||||
"only_favorites": "Vain suosikit",
|
"only_favorites": "Vain suosikit",
|
||||||
"only_refreshes_modified_files": "Päivittää vain muakatut tiedostot",
|
|
||||||
"open_in_map_view": "Avaa karttanäkymässä",
|
"open_in_map_view": "Avaa karttanäkymässä",
|
||||||
"open_in_openstreetmap": "Avaa OpenStreetMapissa",
|
"open_in_openstreetmap": "Avaa OpenStreetMapissa",
|
||||||
"open_the_search_filters": "Avaa hakusuodattimet",
|
"open_the_search_filters": "Avaa hakusuodattimet",
|
||||||
@@ -983,7 +939,6 @@
|
|||||||
"people_edits_count": "Muokattu {count, plural, one {# henkilö} other {# henkilöä}}",
|
"people_edits_count": "Muokattu {count, plural, one {# henkilö} other {# henkilöä}}",
|
||||||
"people_feature_description": "Selataan valokuvia ja videoita, jotka on ryhmitelty henkilöiden mukaan",
|
"people_feature_description": "Selataan valokuvia ja videoita, jotka on ryhmitelty henkilöiden mukaan",
|
||||||
"people_sidebar_description": "Näytä linkki Henkilöihin sivupalkissa",
|
"people_sidebar_description": "Näytä linkki Henkilöihin sivupalkissa",
|
||||||
"perform_library_tasks": "",
|
|
||||||
"permanent_deletion_warning": "Pysyvän poiston varoitus",
|
"permanent_deletion_warning": "Pysyvän poiston varoitus",
|
||||||
"permanent_deletion_warning_setting_description": "Näytä varoitus, kun poistat kohteita pysyvästi",
|
"permanent_deletion_warning_setting_description": "Näytä varoitus, kun poistat kohteita pysyvästi",
|
||||||
"permanently_delete": "Poista pysyvästi",
|
"permanently_delete": "Poista pysyvästi",
|
||||||
@@ -1005,7 +960,6 @@
|
|||||||
"play_memories": "Toista muistot",
|
"play_memories": "Toista muistot",
|
||||||
"play_motion_photo": "Toista Liikekuva",
|
"play_motion_photo": "Toista Liikekuva",
|
||||||
"play_or_pause_video": "Toista tai keskeytä video",
|
"play_or_pause_video": "Toista tai keskeytä video",
|
||||||
"point": "",
|
|
||||||
"port": "Portti",
|
"port": "Portti",
|
||||||
"preset": "Asetus",
|
"preset": "Asetus",
|
||||||
"preview": "Esikatselu",
|
"preview": "Esikatselu",
|
||||||
@@ -1040,7 +994,7 @@
|
|||||||
"purchase_panel_info_1": "Immichin rakentaminen vie paljon aikaa ja vaivannäköä, ja meillä on kokopäiväisiä insinöörejä työskentelemässä sen parissa, jotta voimme tehdä siitä mahdollisimman hyvän. Missiomme on, että avoimen lähdekoodin ohjelmistosta ja eettisistä liiketoimintakäytännöistä tulee kestävä tulonlähde kehittäjille, sekä luoda yksityisyyttä kunnioittava ekosysteemi, jossa on todellisia vaihtoehtoja hyväksikäyttöön perustuville pilvipalveluille.",
|
"purchase_panel_info_1": "Immichin rakentaminen vie paljon aikaa ja vaivannäköä, ja meillä on kokopäiväisiä insinöörejä työskentelemässä sen parissa, jotta voimme tehdä siitä mahdollisimman hyvän. Missiomme on, että avoimen lähdekoodin ohjelmistosta ja eettisistä liiketoimintakäytännöistä tulee kestävä tulonlähde kehittäjille, sekä luoda yksityisyyttä kunnioittava ekosysteemi, jossa on todellisia vaihtoehtoja hyväksikäyttöön perustuville pilvipalveluille.",
|
||||||
"purchase_panel_info_2": "Koska olemme sitoutuneet siihen, ettemme lisää maksumuuria, tämä osto ei anna sinulle mitään lisäominaisuuksia Immichissa. Luotamme kaltaisiisi käyttäjiin tukeaksemme Immichin jatkuvaa kehittämistä.",
|
"purchase_panel_info_2": "Koska olemme sitoutuneet siihen, ettemme lisää maksumuuria, tämä osto ei anna sinulle mitään lisäominaisuuksia Immichissa. Luotamme kaltaisiisi käyttäjiin tukeaksemme Immichin jatkuvaa kehittämistä.",
|
||||||
"purchase_panel_title": "Tue projektia",
|
"purchase_panel_title": "Tue projektia",
|
||||||
"purchase_per_server": "Per serveri",
|
"purchase_per_server": "Per palvelin",
|
||||||
"purchase_per_user": "Per käyttäjä",
|
"purchase_per_user": "Per käyttäjä",
|
||||||
"purchase_remove_product_key": "Poista Tuoteavain",
|
"purchase_remove_product_key": "Poista Tuoteavain",
|
||||||
"purchase_remove_product_key_prompt": "Haluatko varmasti poistaa tuoteavaimen?",
|
"purchase_remove_product_key_prompt": "Haluatko varmasti poistaa tuoteavaimen?",
|
||||||
@@ -1048,14 +1002,12 @@
|
|||||||
"purchase_remove_server_product_key_prompt": "Haluatko varmasti poistaa palvelimen tuoteavaimen?",
|
"purchase_remove_server_product_key_prompt": "Haluatko varmasti poistaa palvelimen tuoteavaimen?",
|
||||||
"purchase_server_description_1": "Koko palvelimelle",
|
"purchase_server_description_1": "Koko palvelimelle",
|
||||||
"purchase_server_description_2": "Tukijan tila",
|
"purchase_server_description_2": "Tukijan tila",
|
||||||
"purchase_server_title": "Serveri",
|
"purchase_server_title": "Palvelin",
|
||||||
"purchase_settings_server_activated": "Palvelimen tuoteavainta hallinnoi ylläpitäjä",
|
"purchase_settings_server_activated": "Palvelimen tuoteavainta hallinnoi ylläpitäjä",
|
||||||
"range": "",
|
|
||||||
"rating": "Tähtiarvostelu",
|
"rating": "Tähtiarvostelu",
|
||||||
"rating_clear": "Tyhjennä arvostelu",
|
"rating_clear": "Tyhjennä arvostelu",
|
||||||
"rating_count": "{count, plural, one {# tähti} other {# tähteä}}",
|
"rating_count": "{count, plural, one {# tähti} other {# tähteä}}",
|
||||||
"rating_description": "Näytä EXIF-arvosana tiedot-paneelissa",
|
"rating_description": "Näytä EXIF-arvosana lisätietopaneelissa",
|
||||||
"raw": "",
|
|
||||||
"reaction_options": "Reaktioasetukset",
|
"reaction_options": "Reaktioasetukset",
|
||||||
"read_changelog": "Lue muutosloki",
|
"read_changelog": "Lue muutosloki",
|
||||||
"reassign": "Määritä uudelleen",
|
"reassign": "Määritä uudelleen",
|
||||||
@@ -1085,7 +1037,7 @@
|
|||||||
"remove_from_favorites": "Poista suosikeista",
|
"remove_from_favorites": "Poista suosikeista",
|
||||||
"remove_from_shared_link": "Poista jakolinkistä",
|
"remove_from_shared_link": "Poista jakolinkistä",
|
||||||
"remove_user": "Poista käyttäjä",
|
"remove_user": "Poista käyttäjä",
|
||||||
"removed_api_key": "API Key {name} poistettu",
|
"removed_api_key": "API-avain {name} poistettu",
|
||||||
"removed_from_archive": "Poistettu arkistosta",
|
"removed_from_archive": "Poistettu arkistosta",
|
||||||
"removed_from_favorites": "Poistettu suosikeista",
|
"removed_from_favorites": "Poistettu suosikeista",
|
||||||
"removed_from_favorites_count": "{count, plural, other {Poistettu #}} suosikeista",
|
"removed_from_favorites_count": "{count, plural, other {Poistettu #}} suosikeista",
|
||||||
@@ -1100,7 +1052,6 @@
|
|||||||
"reset": "Nollaa",
|
"reset": "Nollaa",
|
||||||
"reset_password": "Nollaa salasana",
|
"reset_password": "Nollaa salasana",
|
||||||
"reset_people_visibility": "Nollaa henkilöiden näkyvyysasetukset",
|
"reset_people_visibility": "Nollaa henkilöiden näkyvyysasetukset",
|
||||||
"reset_settings_to_default": "",
|
|
||||||
"reset_to_default": "Palauta oletusasetukset",
|
"reset_to_default": "Palauta oletusasetukset",
|
||||||
"resolve_duplicates": "Ratkaise kaksoiskappaleet",
|
"resolve_duplicates": "Ratkaise kaksoiskappaleet",
|
||||||
"resolved_all_duplicates": "Kaikki kaksoiskappaleet selvitetty",
|
"resolved_all_duplicates": "Kaikki kaksoiskappaleet selvitetty",
|
||||||
@@ -1115,14 +1066,12 @@
|
|||||||
"role_editor": "Editori",
|
"role_editor": "Editori",
|
||||||
"role_viewer": "Toistin",
|
"role_viewer": "Toistin",
|
||||||
"save": "Tallenna",
|
"save": "Tallenna",
|
||||||
"saved_api_key": "API Key tallennettu",
|
"saved_api_key": "API-avain tallennettu",
|
||||||
"saved_profile": "Profiili tallennettu",
|
"saved_profile": "Profiili tallennettu",
|
||||||
"saved_settings": "Asetukset tallennettu",
|
"saved_settings": "Asetukset tallennettu",
|
||||||
"say_something": "Sano jotain",
|
"say_something": "Sano jotain",
|
||||||
"scan_all_libraries": "Skannaa kaikki kirjastot",
|
"scan_all_libraries": "Skannaa kaikki kirjastot",
|
||||||
"scan_all_library_files": "Skannaa uudelleen kaikki kirjastotiedostot",
|
|
||||||
"scan_library": "Skannaa",
|
"scan_library": "Skannaa",
|
||||||
"scan_new_library_files": "Skannaa uusia kirjastotiedostoja",
|
|
||||||
"scan_settings": "Skannausasetukset",
|
"scan_settings": "Skannausasetukset",
|
||||||
"scanning_for_album": "Etsitään albumia...",
|
"scanning_for_album": "Etsitään albumia...",
|
||||||
"search": "Haku",
|
"search": "Haku",
|
||||||
@@ -1142,7 +1091,7 @@
|
|||||||
"search_places": "Etsi paikkoja",
|
"search_places": "Etsi paikkoja",
|
||||||
"search_settings": "Hakuasetukset",
|
"search_settings": "Hakuasetukset",
|
||||||
"search_state": "Etsi tilaa...",
|
"search_state": "Etsi tilaa...",
|
||||||
"search_tags": "Haku tageja...",
|
"search_tags": "Etsi tunnisteita...",
|
||||||
"search_timezone": "Etsi aikavyöhyke...",
|
"search_timezone": "Etsi aikavyöhyke...",
|
||||||
"search_type": "Etsinnän tyyppi",
|
"search_type": "Etsinnän tyyppi",
|
||||||
"search_your_photos": "Etsi kuvia",
|
"search_your_photos": "Etsi kuvia",
|
||||||
@@ -1165,9 +1114,8 @@
|
|||||||
"selected_count": "{count, plural, other {# valittu}}",
|
"selected_count": "{count, plural, other {# valittu}}",
|
||||||
"send_message": "Lähetä viesti",
|
"send_message": "Lähetä viesti",
|
||||||
"send_welcome_email": "Lähetä tervetuloviesti",
|
"send_welcome_email": "Lähetä tervetuloviesti",
|
||||||
"server": "Palvelin",
|
"server_offline": "Palvelin Offline-tilassa",
|
||||||
"server_offline": "Serveri Offline-tilassa",
|
"server_online": "Palvelin Online-tilassa",
|
||||||
"server_online": "Palvelin on linjalla",
|
|
||||||
"server_stats": "Palvelimen tilastot",
|
"server_stats": "Palvelimen tilastot",
|
||||||
"server_version": "Palvelimen versio",
|
"server_version": "Palvelimen versio",
|
||||||
"set": "Aseta",
|
"set": "Aseta",
|
||||||
@@ -1183,11 +1131,11 @@
|
|||||||
"shared_by": "Jakanut",
|
"shared_by": "Jakanut",
|
||||||
"shared_by_user": "Käyttäjän {user} jakama",
|
"shared_by_user": "Käyttäjän {user} jakama",
|
||||||
"shared_by_you": "Sinun jakamasi",
|
"shared_by_you": "Sinun jakamasi",
|
||||||
"shared_from_partner": "{partner}n kuvia",
|
"shared_from_partner": "Kumppanin {partner} kuvia",
|
||||||
"shared_link_options": "Jaetun linkin vaihtoehdot",
|
"shared_link_options": "Jaetun linkin vaihtoehdot",
|
||||||
"shared_links": "Jaetut linkit",
|
"shared_links": "Jaetut linkit",
|
||||||
"shared_photos_and_videos_count": "{assetCount, plural, other {# jaettua kuvaa ja videota.}}",
|
"shared_photos_and_videos_count": "{assetCount, plural, other {# jaettua kuvaa ja videota.}}",
|
||||||
"shared_with_partner": "Jaa {partner} kanssa",
|
"shared_with_partner": "Jaa kumppanin {partner} kanssa",
|
||||||
"sharing": "Jakaminen",
|
"sharing": "Jakaminen",
|
||||||
"sharing_enter_password": "Nähdäksesi sivun sinun tulee antaa salasana.",
|
"sharing_enter_password": "Nähdäksesi sivun sinun tulee antaa salasana.",
|
||||||
"sharing_sidebar_description": "Näytä jakamislinkki sivupalkissa",
|
"sharing_sidebar_description": "Näytä jakamislinkki sivupalkissa",
|
||||||
@@ -1219,7 +1167,7 @@
|
|||||||
"size": "Koko",
|
"size": "Koko",
|
||||||
"skip_to_content": "Siirry sisältöön",
|
"skip_to_content": "Siirry sisältöön",
|
||||||
"skip_to_folders": "Siirry kansioihin",
|
"skip_to_folders": "Siirry kansioihin",
|
||||||
"skip_to_tags": "Siirry tageihin",
|
"skip_to_tags": "Siirry tunnisteisiin",
|
||||||
"slideshow": "Diaesitys",
|
"slideshow": "Diaesitys",
|
||||||
"slideshow_settings": "Diaesityksen asetukset",
|
"slideshow_settings": "Diaesityksen asetukset",
|
||||||
"sort_albums_by": "Järjestä albumit...",
|
"sort_albums_by": "Järjestä albumit...",
|
||||||
@@ -1229,7 +1177,7 @@
|
|||||||
"sort_oldest": "Vanhin kuva",
|
"sort_oldest": "Vanhin kuva",
|
||||||
"sort_recent": "Tuorein kuva",
|
"sort_recent": "Tuorein kuva",
|
||||||
"sort_title": "Otsikko",
|
"sort_title": "Otsikko",
|
||||||
"source": "Lähde",
|
"source": "Lähdekoodi",
|
||||||
"stack": "Pinoa",
|
"stack": "Pinoa",
|
||||||
"stack_duplicates": "Pinoa kaksoiskappaleet",
|
"stack_duplicates": "Pinoa kaksoiskappaleet",
|
||||||
"stack_select_one_photo": "Valitse yksi pääkuva pinolle",
|
"stack_select_one_photo": "Valitse yksi pääkuva pinolle",
|
||||||
@@ -1237,7 +1185,7 @@
|
|||||||
"stacked_assets_count": "Pinottu {count, plural, one {# media} other {# mediaa}}",
|
"stacked_assets_count": "Pinottu {count, plural, one {# media} other {# mediaa}}",
|
||||||
"stacktrace": "Vianetsintätiedot",
|
"stacktrace": "Vianetsintätiedot",
|
||||||
"start": "Aloita",
|
"start": "Aloita",
|
||||||
"start_date": "Alkupäivämäärä",
|
"start_date": "Alkupäivä",
|
||||||
"state": "Maakunta/osavaltio",
|
"state": "Maakunta/osavaltio",
|
||||||
"status": "Tila",
|
"status": "Tila",
|
||||||
"stop_motion_photo": "Pysäytä liikkuva kuva",
|
"stop_motion_photo": "Pysäytä liikkuva kuva",
|
||||||
@@ -1255,14 +1203,14 @@
|
|||||||
"support_third_party_description": "Immich-asennuksesi on pakattu kolmannen osapuolen toimesta. Kohtaamasi ongelmat saattavat johtua tästä paketista, joten ilmoita niistä ensisijaisesti heille alla olevien linkkien kautta.",
|
"support_third_party_description": "Immich-asennuksesi on pakattu kolmannen osapuolen toimesta. Kohtaamasi ongelmat saattavat johtua tästä paketista, joten ilmoita niistä ensisijaisesti heille alla olevien linkkien kautta.",
|
||||||
"swap_merge_direction": "Käännä yhdistämissuunta",
|
"swap_merge_direction": "Käännä yhdistämissuunta",
|
||||||
"sync": "Synkronoi",
|
"sync": "Synkronoi",
|
||||||
"tag": "Tagi",
|
"tag": "Lisää tunniste",
|
||||||
"tag_assets": "Merkitse kohde",
|
"tag_assets": "Lisää tunnisteita",
|
||||||
"tag_created": "Luotu tunniste: {tag}",
|
"tag_created": "Luotu tunniste: {tag}",
|
||||||
"tag_feature_description": "Selaa valokuvia ja videoita, jotka on ryhmitelty loogisten tagiotsikoiden mukaan",
|
"tag_feature_description": "Selaa valokuvia ja videoita, jotka on ryhmitelty loogisten tunnisteotsikoiden mukaan",
|
||||||
"tag_not_found_question": "Etkö löydä tunnistetta? <link> Luo uusi tunniste </link>",
|
"tag_not_found_question": "Etkö löydä tunnistetta? <link> Luo uusi tunniste </link>",
|
||||||
"tag_updated": "Päivitetty tunniste: {tag}",
|
"tag_updated": "Päivitetty tunniste: {tag}",
|
||||||
"tagged_assets": "Tunnistettu {count, plural, one {# kohde} other {# kohdetta}}",
|
"tagged_assets": "Tunnistettu {count, plural, one {# kohde} other {# kohdetta}}",
|
||||||
"tags": "Tagit",
|
"tags": "Tunnisteet",
|
||||||
"template": "Template",
|
"template": "Template",
|
||||||
"theme": "Teema",
|
"theme": "Teema",
|
||||||
"theme_selection": "Teeman valinta",
|
"theme_selection": "Teeman valinta",
|
||||||
@@ -1279,7 +1227,6 @@
|
|||||||
"to_trash": "Roskakoriin",
|
"to_trash": "Roskakoriin",
|
||||||
"toggle_settings": "Määritä asetukset",
|
"toggle_settings": "Määritä asetukset",
|
||||||
"toggle_theme": "Aseta tumma teema",
|
"toggle_theme": "Aseta tumma teema",
|
||||||
"toggle_visibility": "Aseta näkyvyys",
|
|
||||||
"total_usage": "Käyttö yhteensä",
|
"total_usage": "Käyttö yhteensä",
|
||||||
"trash": "Roskakori",
|
"trash": "Roskakori",
|
||||||
"trash_all": "Vie kaikki roskakoriin",
|
"trash_all": "Vie kaikki roskakoriin",
|
||||||
@@ -1289,12 +1236,10 @@
|
|||||||
"trashed_items_will_be_permanently_deleted_after": "Roskakorin kohteet poistetaan pysyvästi {days, plural, one {# päivän} other {# päivän}} päästä.",
|
"trashed_items_will_be_permanently_deleted_after": "Roskakorin kohteet poistetaan pysyvästi {days, plural, one {# päivän} other {# päivän}} päästä.",
|
||||||
"type": "Tyyppi",
|
"type": "Tyyppi",
|
||||||
"unarchive": "Palauta arkistosta",
|
"unarchive": "Palauta arkistosta",
|
||||||
"unarchived": "",
|
|
||||||
"unarchived_count": "{count, plural, other {# poistettu arkistosta}}",
|
"unarchived_count": "{count, plural, other {# poistettu arkistosta}}",
|
||||||
"unfavorite": "Poista suosikeista",
|
"unfavorite": "Poista suosikeista",
|
||||||
"unhide_person": "Poista henkilö piilosta",
|
"unhide_person": "Poista henkilö piilosta",
|
||||||
"unknown": "Tuntematon",
|
"unknown": "Tuntematon",
|
||||||
"unknown_album": "",
|
|
||||||
"unknown_year": "Tuntematon vuosi",
|
"unknown_year": "Tuntematon vuosi",
|
||||||
"unlimited": "Rajoittamaton",
|
"unlimited": "Rajoittamaton",
|
||||||
"unlink_motion_video": "Poista liikevideon linkitys",
|
"unlink_motion_video": "Poista liikevideon linkitys",
|
||||||
@@ -1338,8 +1283,8 @@
|
|||||||
"variables": "Muuttujat",
|
"variables": "Muuttujat",
|
||||||
"version": "Versio",
|
"version": "Versio",
|
||||||
"version_announcement_closing": "Ystäväsi Alex",
|
"version_announcement_closing": "Ystäväsi Alex",
|
||||||
"version_announcement_message": "Hei! Sovelluksen uusi versio on saatavilla. Käythän vilkaisemassa <link>julkaisun tiedot</link> ja varmistathan, että <code>docker-compose.yml</code> ja <code>.env</code> määritykset ovat ajan tasalla. Näin varmistat järjestelmän toimivuuden, varsinkin jos käytät WatchToweria tai muuta automaattista päivitysjärjestelmää.",
|
"version_announcement_message": "Hei! Sovelluksen uusi versio on saatavilla. Käythän vilkaisemassa <link>julkaisun tiedot</link> ja varmistathan, että ohjelman määritykset ovat ajan tasalla. Erityisesti, jos käytössä on Watchtower tai jokin muu mekanismi Immich-sovelluksen automaattista päivitystä varten.",
|
||||||
"version_history": "Versio historia",
|
"version_history": "Versiohistoria",
|
||||||
"version_history_item": "Asennettu {version} päivänä {date}",
|
"version_history_item": "Asennettu {version} päivänä {date}",
|
||||||
"video": "Video",
|
"video": "Video",
|
||||||
"video_hover_setting": "Toista esikatselun video kun kursori viedään sen päälle",
|
"video_hover_setting": "Toista esikatselun video kun kursori viedään sen päälle",
|
||||||
@@ -1355,7 +1300,6 @@
|
|||||||
"view_next_asset": "Näytä seuraava",
|
"view_next_asset": "Näytä seuraava",
|
||||||
"view_previous_asset": "Näytä edellinen",
|
"view_previous_asset": "Näytä edellinen",
|
||||||
"view_stack": "Näytä pinona",
|
"view_stack": "Näytä pinona",
|
||||||
"viewer": "",
|
|
||||||
"visibility_changed": "{count, plural, one {# henkilön} other {# henkilöiden}} näkyvyys vaihdettu",
|
"visibility_changed": "{count, plural, one {# henkilön} other {# henkilöiden}} näkyvyys vaihdettu",
|
||||||
"waiting": "Odottaa",
|
"waiting": "Odottaa",
|
||||||
"warning": "Varoitus",
|
"warning": "Varoitus",
|
||||||