Compare commits
179 Commits
fix/timeli
...
feat/stati
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
6fd39767db | ||
|
|
fc5fc58759 | ||
|
|
9bb2fc238a | ||
|
|
76f5036026 | ||
|
|
032de9ff2f | ||
|
|
c3a533ab40 | ||
|
|
dbd6dcb786 | ||
|
|
9dffbaea98 | ||
|
|
70bda45551 | ||
|
|
d9452e485c | ||
|
|
85e9ced68d | ||
|
|
04e2e42c88 | ||
|
|
bcfdb2f9df | ||
|
|
23a34bee6f | ||
|
|
6f31f27218 | ||
|
|
b102f94e97 | ||
|
|
becb56e1b1 | ||
|
|
05f174a180 | ||
|
|
476bb1cacd | ||
|
|
24fe62ff9d | ||
|
|
a390e44402 | ||
|
|
08f81eb3c6 | ||
|
|
13d33f834f | ||
|
|
58f9659cf6 | ||
|
|
e14d5fb277 | ||
|
|
06151ad173 | ||
|
|
0700758621 | ||
|
|
f26db8053b | ||
|
|
4836047e50 | ||
|
|
0979528a05 | ||
|
|
24a6757630 | ||
|
|
67f093f75b | ||
|
|
3174a27902 | ||
|
|
e7d6a066f8 | ||
|
|
73da80394e | ||
|
|
471cc74ff2 | ||
|
|
ca745d00ee | ||
|
|
3ea8d140a2 | ||
|
|
8b8012f89d | ||
|
|
4b7f851428 | ||
|
|
cc1cd299f3 | ||
|
|
3163afd24a | ||
|
|
95889a69c9 | ||
|
|
81554e5ad1 | ||
|
|
505e16c37c | ||
|
|
24bfdf3263 | ||
|
|
a23dfff6cf | ||
|
|
2919ee4c65 | ||
|
|
d0eae97037 | ||
|
|
9d639607c7 | ||
|
|
74a9be4a0e | ||
|
|
26e877cba7 | ||
|
|
7b7d91a5e1 | ||
|
|
b3055d2e94 | ||
|
|
f1e03d0022 | ||
|
|
9b5855f848 | ||
|
|
7d0228a159 | ||
|
|
c18df7ae25 | ||
|
|
72f5ca4420 | ||
|
|
02beb85642 | ||
|
|
1b62c2ef55 | ||
|
|
43eccca86a | ||
|
|
e6b9cc09c2 | ||
|
|
b484a52252 | ||
|
|
d778286777 | ||
|
|
4d41fa08ad | ||
|
|
6d00930082 | ||
|
|
e4d2c4926c | ||
|
|
dbee133764 | ||
|
|
8473dab684 | ||
|
|
146973b072 | ||
|
|
e8ca7f235c | ||
|
|
d411594c84 | ||
|
|
cf52b879b1 | ||
|
|
46869f664d | ||
|
|
f2b553182a | ||
|
|
8fe54a4de1 | ||
|
|
ce4e8fa6ba | ||
|
|
efa21af6f9 | ||
|
|
ea610760ee | ||
|
|
a5e0d83d9f | ||
|
|
9793828dc7 | ||
|
|
aed7bb53aa | ||
|
|
1fdbe2c6b8 | ||
|
|
84302dc14c | ||
|
|
f7250f24fe | ||
|
|
53680d9643 | ||
|
|
b2d00405f1 | ||
|
|
cf60f4cdcd | ||
|
|
d764a59011 | ||
|
|
7ee1b977c1 | ||
|
|
9838634067 | ||
|
|
eee793bfe4 | ||
|
|
b3342323de | ||
|
|
6f3cb4f1bb | ||
|
|
54ed78d0bf | ||
|
|
265ed0b38f | ||
|
|
63c2f4415b | ||
|
|
a7cfd7f183 | ||
|
|
ee4c45d5d3 | ||
|
|
24334aa3df | ||
|
|
882baecf21 | ||
|
|
f16327d0ab | ||
|
|
8353db6a50 | ||
|
|
5270107926 | ||
|
|
740ca14a68 | ||
|
|
966ab22065 | ||
|
|
78fbe0fd49 | ||
|
|
5862c454b7 | ||
|
|
8ee495b08f | ||
|
|
83db851b00 | ||
|
|
70037018c8 | ||
|
|
796444d211 | ||
|
|
0d66a15d9b | ||
|
|
3cf8ed5f2d | ||
|
|
ff01af2450 | ||
|
|
2de1b832e5 | ||
|
|
25142bb6c6 | ||
|
|
01660b20fd | ||
|
|
9affee1ea0 | ||
|
|
d02a82b618 | ||
|
|
ad87dff18d | ||
|
|
b7e06e7b6f | ||
|
|
21f49572b1 | ||
|
|
2b7d28528d | ||
|
|
cf4cf56ac0 | ||
|
|
50ac27238e | ||
|
|
b06b8ceef6 | ||
|
|
119f92bb20 | ||
|
|
6973683ea7 | ||
|
|
42f46b11f4 | ||
|
|
0fd16a3c46 | ||
|
|
43b06a036d | ||
|
|
55ad83d80d | ||
|
|
a80b9be07c | ||
|
|
24234bedf1 | ||
|
|
51150a3ed1 | ||
|
|
075436a5d1 | ||
|
|
9da138e01e | ||
|
|
1a2a46014e | ||
|
|
29acf89979 | ||
|
|
bb72d723e2 | ||
|
|
295e406a17 | ||
|
|
3f6b0f3127 | ||
|
|
27665801e9 | ||
|
|
2e16a88f38 | ||
|
|
d59f8e68be | ||
|
|
212649edf9 | ||
|
|
3c5a125762 | ||
|
|
60b1faac0f | ||
|
|
3af0f0c8ad | ||
|
|
2594cd47ab | ||
|
|
28958ba48a | ||
|
|
7dc9cb121f | ||
|
|
ca8a6e5f95 | ||
|
|
1086623457 | ||
|
|
a2b25b7a74 | ||
|
|
950f268cb0 | ||
|
|
5ece0e5e56 | ||
|
|
00ce6354f0 | ||
|
|
9b938d8954 | ||
|
|
e4234af3b3 | ||
|
|
1618902ebd | ||
|
|
83e783bbc2 | ||
|
|
7dbdc7a635 | ||
|
|
7a4bfc21c9 | ||
|
|
b3f38301bf | ||
|
|
1f7201fbd3 | ||
|
|
6c67bbd528 | ||
|
|
8f1bc7e821 | ||
|
|
f1f8c8e7a3 | ||
|
|
d0a872622a | ||
|
|
a498166cb6 | ||
|
|
de6d91946d | ||
|
|
58344f520b | ||
|
|
44284b4351 | ||
|
|
75b9bd163e | ||
|
|
ee3c07d049 | ||
|
|
fea5e6783c |
@@ -6,28 +6,35 @@ services:
|
|||||||
- IMMICH_SERVER_URL=http://127.0.0.1:2283/
|
- IMMICH_SERVER_URL=http://127.0.0.1:2283/
|
||||||
volumes: !override # bind mount host to /workspaces/immich
|
volumes: !override # bind mount host to /workspaces/immich
|
||||||
- ..:/workspaces/immich
|
- ..:/workspaces/immich
|
||||||
- cli_node_modules:/workspaces/immich/cli/node_modules
|
- ${UPLOAD_LOCATION:-upload-devcontainer-volume}${UPLOAD_LOCATION:+/photos}:/data
|
||||||
- e2e_node_modules:/workspaces/immich/e2e/node_modules
|
- pnpm-store:/usr/src/app/.pnpm-store
|
||||||
- open_api_node_modules:/workspaces/immich/open-api/typescript-sdk/node_modules
|
- server-node_modules:/usr/src/app/server/node_modules
|
||||||
- server_node_modules:/workspaces/immich/server/node_modules
|
- web-node_modules:/usr/src/app/web/node_modules
|
||||||
- web_node_modules:/workspaces/immich/web/node_modules
|
- github-node_modules:/usr/src/app/.github/node_modules
|
||||||
- ${UPLOAD_LOCATION}/photos:/data
|
- cli-node_modules:/usr/src/app/cli/node_modules
|
||||||
|
- docs-node_modules:/usr/src/app/docs/node_modules
|
||||||
|
- e2e-node_modules:/usr/src/app/e2e/node_modules
|
||||||
|
- sdk-node_modules:/usr/src/app/open-api/typescript-sdk/node_modules
|
||||||
|
- app-node_modules:/usr/src/app/node_modules
|
||||||
|
- sveltekit:/usr/src/app/web/.svelte-kit
|
||||||
|
- coverage:/usr/src/app/web/coverage
|
||||||
- /etc/localtime:/etc/localtime:ro
|
- /etc/localtime:/etc/localtime:ro
|
||||||
|
immich-web:
|
||||||
|
env_file: !reset []
|
||||||
|
immich-machine-learning:
|
||||||
|
env_file: !reset []
|
||||||
database:
|
database:
|
||||||
|
env_file: !reset []
|
||||||
|
environment: !override
|
||||||
|
POSTGRES_PASSWORD: ${DB_PASSWORD-postgres}
|
||||||
|
POSTGRES_USER: ${DB_USERNAME-postgres}
|
||||||
|
POSTGRES_DB: ${DB_DATABASE_NAME-immich}
|
||||||
|
POSTGRES_INITDB_ARGS: '--data-checksums'
|
||||||
|
POSTGRES_HOST_AUTH_METHOD: md5
|
||||||
volumes:
|
volumes:
|
||||||
- ${UPLOAD_LOCATION}/postgres:/var/lib/postgresql/data
|
- ${UPLOAD_LOCATION:-postgres-devcontainer-volume}${UPLOAD_LOCATION:+/postgres}:/var/lib/postgresql/data
|
||||||
|
redis:
|
||||||
|
env_file: !reset []
|
||||||
volumes:
|
volumes:
|
||||||
# Node modules for each service to avoid conflicts and ensure consistent dependencies
|
upload-devcontainer-volume:
|
||||||
cli_node_modules:
|
postgres-devcontainer-volume:
|
||||||
e2e_node_modules:
|
|
||||||
open_api_node_modules:
|
|
||||||
server_node_modules:
|
|
||||||
web_node_modules:
|
|
||||||
|
|
||||||
# UPLOAD_LOCATION must be set to a absolute path or vol-upload
|
|
||||||
vol-upload:
|
|
||||||
|
|
||||||
# DB_DATA_LOCATION must be set to a absolute path or vol-database
|
|
||||||
vol-database:
|
|
||||||
|
|||||||
@@ -40,7 +40,7 @@
|
|||||||
"userEnvProbe": "loginInteractiveShell",
|
"userEnvProbe": "loginInteractiveShell",
|
||||||
"remoteEnv": {
|
"remoteEnv": {
|
||||||
// The location where your uploaded files are stored
|
// The location where your uploaded files are stored
|
||||||
"UPLOAD_LOCATION": "${localEnv:UPLOAD_LOCATION:./Library}",
|
"UPLOAD_LOCATION": "${localEnv:UPLOAD_LOCATION:./library}",
|
||||||
// Connection secret for postgres. You should change it to a random password
|
// Connection secret for postgres. You should change it to a random password
|
||||||
// Please use only the characters `A-Za-z0-9`, without special characters or spaces
|
// Please use only the characters `A-Za-z0-9`, without special characters or spaces
|
||||||
"DB_PASSWORD": "${localEnv:DB_PASSWORD:postgres}",
|
"DB_PASSWORD": "${localEnv:DB_PASSWORD:postgres}",
|
||||||
|
|||||||
2
.github/.nvmrc
vendored
@@ -1 +1 @@
|
|||||||
22.19.0
|
22.20.0
|
||||||
|
|||||||
24
.github/workflows/build-mobile.yml
vendored
@@ -34,10 +34,17 @@ jobs:
|
|||||||
outputs:
|
outputs:
|
||||||
should_run: ${{ steps.check.outputs.should_run }}
|
should_run: ${{ steps.check.outputs.should_run }}
|
||||||
steps:
|
steps:
|
||||||
|
- id: token
|
||||||
|
uses: immich-app/devtools/actions/create-workflow-token@da177fa133657503ddb7503f8ba53dccefec5da1 # create-workflow-token-action-v1.0.0
|
||||||
|
with:
|
||||||
|
app-id: ${{ secrets.PUSH_O_MATIC_APP_ID }}
|
||||||
|
private-key: ${{ secrets.PUSH_O_MATIC_APP_KEY }}
|
||||||
|
|
||||||
- name: Check what should run
|
- name: Check what should run
|
||||||
id: check
|
id: check
|
||||||
uses: immich-app/devtools/actions/pre-job@5f91b52dfbb92b8d96ca411ab59c896cd59714ca # pre-job-action-v1.1.0
|
uses: immich-app/devtools/actions/pre-job@08bac802a312fc89808e0dd589271ca0974087b5 # pre-job-action-v2.0.0
|
||||||
with:
|
with:
|
||||||
|
github-token: ${{ steps.token.outputs.token }}
|
||||||
filters: |
|
filters: |
|
||||||
mobile:
|
mobile:
|
||||||
- 'mobile/**'
|
- 'mobile/**'
|
||||||
@@ -55,10 +62,17 @@ jobs:
|
|||||||
runs-on: mich
|
runs-on: mich
|
||||||
|
|
||||||
steps:
|
steps:
|
||||||
- uses: actions/checkout@08eba0b27e820071cde6df949e0beb9ba4906955 # v4.3.0
|
- id: token
|
||||||
|
uses: immich-app/devtools/actions/create-workflow-token@da177fa133657503ddb7503f8ba53dccefec5da1 # create-workflow-token-action-v1.0.0
|
||||||
|
with:
|
||||||
|
app-id: ${{ secrets.PUSH_O_MATIC_APP_ID }}
|
||||||
|
private-key: ${{ secrets.PUSH_O_MATIC_APP_KEY }}
|
||||||
|
|
||||||
|
- uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0
|
||||||
with:
|
with:
|
||||||
ref: ${{ inputs.ref || github.sha }}
|
ref: ${{ inputs.ref || github.sha }}
|
||||||
persist-credentials: false
|
persist-credentials: false
|
||||||
|
token: ${{ steps.token.outputs.token }}
|
||||||
|
|
||||||
- name: Create the Keystore
|
- name: Create the Keystore
|
||||||
env:
|
env:
|
||||||
@@ -66,14 +80,14 @@ jobs:
|
|||||||
working-directory: ./mobile
|
working-directory: ./mobile
|
||||||
run: printf "%s" $KEY_JKS | base64 -d > android/key.jks
|
run: printf "%s" $KEY_JKS | base64 -d > android/key.jks
|
||||||
|
|
||||||
- uses: actions/setup-java@c5195efecf7bdfc987ee8bae7a71cb8b11521c00 # v4.7.1
|
- uses: actions/setup-java@dded0888837ed1f317902acf8a20df0ad188d165 # v5.0.0
|
||||||
with:
|
with:
|
||||||
distribution: 'zulu'
|
distribution: 'zulu'
|
||||||
java-version: '17'
|
java-version: '17'
|
||||||
|
|
||||||
- name: Restore Gradle Cache
|
- name: Restore Gradle Cache
|
||||||
id: cache-gradle-restore
|
id: cache-gradle-restore
|
||||||
uses: actions/cache/restore@0057852bfaa89a56745cba8c7296529d2fc39830 # v4
|
uses: actions/cache/restore@0057852bfaa89a56745cba8c7296529d2fc39830 # v4.3.0
|
||||||
with:
|
with:
|
||||||
path: |
|
path: |
|
||||||
~/.gradle/caches
|
~/.gradle/caches
|
||||||
@@ -130,7 +144,7 @@ jobs:
|
|||||||
|
|
||||||
- name: Save Gradle Cache
|
- name: Save Gradle Cache
|
||||||
id: cache-gradle-save
|
id: cache-gradle-save
|
||||||
uses: actions/cache/save@0057852bfaa89a56745cba8c7296529d2fc39830 # v4
|
uses: actions/cache/save@0057852bfaa89a56745cba8c7296529d2fc39830 # v4.3.0
|
||||||
if: github.ref == 'refs/heads/main'
|
if: github.ref == 'refs/heads/main'
|
||||||
with:
|
with:
|
||||||
path: |
|
path: |
|
||||||
|
|||||||
11
.github/workflows/cache-cleanup.yml
vendored
@@ -18,14 +18,21 @@ jobs:
|
|||||||
contents: read
|
contents: read
|
||||||
actions: write
|
actions: write
|
||||||
steps:
|
steps:
|
||||||
|
- id: token
|
||||||
|
uses: immich-app/devtools/actions/create-workflow-token@da177fa133657503ddb7503f8ba53dccefec5da1 # create-workflow-token-action-v1.0.0
|
||||||
|
with:
|
||||||
|
app-id: ${{ secrets.PUSH_O_MATIC_APP_ID }}
|
||||||
|
private-key: ${{ secrets.PUSH_O_MATIC_APP_KEY }}
|
||||||
|
|
||||||
- name: Check out code
|
- name: Check out code
|
||||||
uses: actions/checkout@08eba0b27e820071cde6df949e0beb9ba4906955 # v4.3.0
|
uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0
|
||||||
with:
|
with:
|
||||||
persist-credentials: false
|
persist-credentials: false
|
||||||
|
token: ${{ steps.token.outputs.token }}
|
||||||
|
|
||||||
- name: Cleanup
|
- name: Cleanup
|
||||||
env:
|
env:
|
||||||
GH_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
GH_TOKEN: ${{ steps.token.outputs.token }}
|
||||||
REF: ${{ github.ref }}
|
REF: ${{ github.ref }}
|
||||||
run: |
|
run: |
|
||||||
gh extension install actions/gh-actions-cache
|
gh extension install actions/gh-actions-cache
|
||||||
|
|||||||
29
.github/workflows/cli.yml
vendored
@@ -29,15 +29,22 @@ jobs:
|
|||||||
working-directory: ./cli
|
working-directory: ./cli
|
||||||
|
|
||||||
steps:
|
steps:
|
||||||
- uses: actions/checkout@08eba0b27e820071cde6df949e0beb9ba4906955 # v4.3.0
|
- id: token
|
||||||
|
uses: immich-app/devtools/actions/create-workflow-token@da177fa133657503ddb7503f8ba53dccefec5da1 # create-workflow-token-action-v1.0.0
|
||||||
|
with:
|
||||||
|
app-id: ${{ secrets.PUSH_O_MATIC_APP_ID }}
|
||||||
|
private-key: ${{ secrets.PUSH_O_MATIC_APP_KEY }}
|
||||||
|
|
||||||
|
- uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0
|
||||||
with:
|
with:
|
||||||
persist-credentials: false
|
persist-credentials: false
|
||||||
|
token: ${{ steps.token.outputs.token }}
|
||||||
|
|
||||||
- name: Setup pnpm
|
- name: Setup pnpm
|
||||||
uses: pnpm/action-setup@a7487c7e89a18df4991f7f222e4898a00d66ddda # v4.1.0
|
uses: pnpm/action-setup@41ff72655975bd51cab0327fa583b6e92b6d3061 # v4.2.0
|
||||||
|
|
||||||
- name: Setup Node
|
- name: Setup Node
|
||||||
uses: actions/setup-node@49933ea5288caeca8642d1e84afbd3f7d6820020 # v4.4.0
|
uses: actions/setup-node@a0853c24544627f65ddf259abe73b1d18a591444 # v5.0.0
|
||||||
with:
|
with:
|
||||||
node-version-file: './cli/.nvmrc'
|
node-version-file: './cli/.nvmrc'
|
||||||
registry-url: 'https://registry.npmjs.org'
|
registry-url: 'https://registry.npmjs.org'
|
||||||
@@ -50,7 +57,7 @@ jobs:
|
|||||||
|
|
||||||
- run: pnpm install --frozen-lockfile
|
- run: pnpm install --frozen-lockfile
|
||||||
- run: pnpm build
|
- run: pnpm build
|
||||||
- run: pnpm publish
|
- run: pnpm publish --no-git-checks
|
||||||
if: ${{ github.event_name == 'release' }}
|
if: ${{ github.event_name == 'release' }}
|
||||||
env:
|
env:
|
||||||
NODE_AUTH_TOKEN: ${{ secrets.NPM_TOKEN }}
|
NODE_AUTH_TOKEN: ${{ secrets.NPM_TOKEN }}
|
||||||
@@ -64,10 +71,17 @@ jobs:
|
|||||||
needs: publish
|
needs: publish
|
||||||
|
|
||||||
steps:
|
steps:
|
||||||
|
- id: token
|
||||||
|
uses: immich-app/devtools/actions/create-workflow-token@da177fa133657503ddb7503f8ba53dccefec5da1 # create-workflow-token-action-v1.0.0
|
||||||
|
with:
|
||||||
|
app-id: ${{ secrets.PUSH_O_MATIC_APP_ID }}
|
||||||
|
private-key: ${{ secrets.PUSH_O_MATIC_APP_KEY }}
|
||||||
|
|
||||||
- name: Checkout
|
- name: Checkout
|
||||||
uses: actions/checkout@08eba0b27e820071cde6df949e0beb9ba4906955 # v4.3.0
|
uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0
|
||||||
with:
|
with:
|
||||||
persist-credentials: false
|
persist-credentials: false
|
||||||
|
token: ${{ steps.token.outputs.token }}
|
||||||
|
|
||||||
- name: Set up QEMU
|
- name: Set up QEMU
|
||||||
uses: docker/setup-qemu-action@29109295f81e9208d7d86ff1c6c12d2833863392 # v3.6.0
|
uses: docker/setup-qemu-action@29109295f81e9208d7d86ff1c6c12d2833863392 # v3.6.0
|
||||||
@@ -76,12 +90,12 @@ jobs:
|
|||||||
uses: docker/setup-buildx-action@e468171a9de216ec08956ac3ada2f0791b6bd435 # v3.11.1
|
uses: docker/setup-buildx-action@e468171a9de216ec08956ac3ada2f0791b6bd435 # v3.11.1
|
||||||
|
|
||||||
- name: Login to GitHub Container Registry
|
- name: Login to GitHub Container Registry
|
||||||
uses: docker/login-action@184bdaa0721073962dff0199f1fb9940f07167d1 # v3.5.0
|
uses: docker/login-action@5e57cd118135c172c3672efd75eb46360885c0ef # v3.6.0
|
||||||
if: ${{ !github.event.pull_request.head.repo.fork }}
|
if: ${{ !github.event.pull_request.head.repo.fork }}
|
||||||
with:
|
with:
|
||||||
registry: ghcr.io
|
registry: ghcr.io
|
||||||
username: ${{ github.repository_owner }}
|
username: ${{ github.repository_owner }}
|
||||||
password: ${{ secrets.GITHUB_TOKEN }}
|
password: ${{ steps.token.outputs.token }}
|
||||||
|
|
||||||
- name: Get package version
|
- name: Get package version
|
||||||
id: package-version
|
id: package-version
|
||||||
@@ -111,3 +125,4 @@ jobs:
|
|||||||
cache-to: type=gha,mode=max
|
cache-to: type=gha,mode=max
|
||||||
tags: ${{ steps.metadata.outputs.tags }}
|
tags: ${{ steps.metadata.outputs.tags }}
|
||||||
labels: ${{ steps.metadata.outputs.labels }}
|
labels: ${{ steps.metadata.outputs.labels }}
|
||||||
|
github-token: ${{ steps.token.outputs.token }}
|
||||||
|
|||||||
2
.github/workflows/close-duplicates.yml
vendored
@@ -35,7 +35,7 @@ jobs:
|
|||||||
needs: [get_body, should_run]
|
needs: [get_body, should_run]
|
||||||
if: ${{ needs.should_run.outputs.should_run == 'true' }}
|
if: ${{ needs.should_run.outputs.should_run == 'true' }}
|
||||||
container:
|
container:
|
||||||
image: ghcr.io/immich-app/mdq:main@sha256:d8ae47cf2e6cf4e2559bd57a60b73674fe44f897cba2c2bddff2987a05be10a4
|
image: ghcr.io/immich-app/mdq:main@sha256:6b8450bfc06770af1af66bce9bf2ced7d1d9b90df1a59fc4c83a17777a9f6723
|
||||||
outputs:
|
outputs:
|
||||||
checked: ${{ steps.get_checkbox.outputs.checked }}
|
checked: ${{ steps.get_checkbox.outputs.checked }}
|
||||||
steps:
|
steps:
|
||||||
|
|||||||
15
.github/workflows/codeql-analysis.yml
vendored
@@ -43,14 +43,21 @@ jobs:
|
|||||||
# Learn more about CodeQL language support at https://aka.ms/codeql-docs/language-support
|
# Learn more about CodeQL language support at https://aka.ms/codeql-docs/language-support
|
||||||
|
|
||||||
steps:
|
steps:
|
||||||
|
- id: token
|
||||||
|
uses: immich-app/devtools/actions/create-workflow-token@da177fa133657503ddb7503f8ba53dccefec5da1 # create-workflow-token-action-v1.0.0
|
||||||
|
with:
|
||||||
|
app-id: ${{ secrets.PUSH_O_MATIC_APP_ID }}
|
||||||
|
private-key: ${{ secrets.PUSH_O_MATIC_APP_KEY }}
|
||||||
|
|
||||||
- name: Checkout repository
|
- name: Checkout repository
|
||||||
uses: actions/checkout@08eba0b27e820071cde6df949e0beb9ba4906955 # v4.3.0
|
uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0
|
||||||
with:
|
with:
|
||||||
persist-credentials: false
|
persist-credentials: false
|
||||||
|
token: ${{ steps.token.outputs.token }}
|
||||||
|
|
||||||
# Initializes the CodeQL tools for scanning.
|
# Initializes the CodeQL tools for scanning.
|
||||||
- name: Initialize CodeQL
|
- name: Initialize CodeQL
|
||||||
uses: github/codeql-action/init@192325c86100d080feab897ff886c34abd4c83a3 # v3.30.3
|
uses: github/codeql-action/init@755f44910c12a3d7ca0d8c6e42c048b3362f7cec # v3.30.8
|
||||||
with:
|
with:
|
||||||
languages: ${{ matrix.language }}
|
languages: ${{ matrix.language }}
|
||||||
# If you wish to specify custom queries, you can do so here or in a config file.
|
# If you wish to specify custom queries, you can do so here or in a config file.
|
||||||
@@ -63,7 +70,7 @@ jobs:
|
|||||||
# Autobuild attempts to build any compiled languages (C/C++, C#, or Java).
|
# Autobuild attempts to build any compiled languages (C/C++, C#, or Java).
|
||||||
# If this step fails, then you should remove it and run the build manually (see below)
|
# If this step fails, then you should remove it and run the build manually (see below)
|
||||||
- name: Autobuild
|
- name: Autobuild
|
||||||
uses: github/codeql-action/autobuild@192325c86100d080feab897ff886c34abd4c83a3 # v3.30.3
|
uses: github/codeql-action/autobuild@755f44910c12a3d7ca0d8c6e42c048b3362f7cec # v3.30.8
|
||||||
|
|
||||||
# ℹ️ Command-line programs to run using the OS shell.
|
# ℹ️ Command-line programs to run using the OS shell.
|
||||||
# 📚 See https://docs.github.com/en/actions/using-workflows/workflow-syntax-for-github-actions#jobsjob_idstepsrun
|
# 📚 See https://docs.github.com/en/actions/using-workflows/workflow-syntax-for-github-actions#jobsjob_idstepsrun
|
||||||
@@ -76,6 +83,6 @@ jobs:
|
|||||||
# ./location_of_script_within_repo/buildscript.sh
|
# ./location_of_script_within_repo/buildscript.sh
|
||||||
|
|
||||||
- name: Perform CodeQL Analysis
|
- name: Perform CodeQL Analysis
|
||||||
uses: github/codeql-action/analyze@192325c86100d080feab897ff886c34abd4c83a3 # v3.30.3
|
uses: github/codeql-action/analyze@755f44910c12a3d7ca0d8c6e42c048b3362f7cec # v3.30.8
|
||||||
with:
|
with:
|
||||||
category: '/language:${{matrix.language}}'
|
category: '/language:${{matrix.language}}'
|
||||||
|
|||||||
19
.github/workflows/docker.yml
vendored
@@ -22,10 +22,17 @@ jobs:
|
|||||||
outputs:
|
outputs:
|
||||||
should_run: ${{ steps.check.outputs.should_run }}
|
should_run: ${{ steps.check.outputs.should_run }}
|
||||||
steps:
|
steps:
|
||||||
|
- id: token
|
||||||
|
uses: immich-app/devtools/actions/create-workflow-token@da177fa133657503ddb7503f8ba53dccefec5da1 # create-workflow-token-action-v1.0.0
|
||||||
|
with:
|
||||||
|
app-id: ${{ secrets.PUSH_O_MATIC_APP_ID }}
|
||||||
|
private-key: ${{ secrets.PUSH_O_MATIC_APP_KEY }}
|
||||||
|
|
||||||
- name: Check what should run
|
- name: Check what should run
|
||||||
id: check
|
id: check
|
||||||
uses: immich-app/devtools/actions/pre-job@5f91b52dfbb92b8d96ca411ab59c896cd59714ca # pre-job-action-v1.1.0
|
uses: immich-app/devtools/actions/pre-job@08bac802a312fc89808e0dd589271ca0974087b5 # pre-job-action-v2.0.0
|
||||||
with:
|
with:
|
||||||
|
github-token: ${{ steps.token.outputs.token }}
|
||||||
filters: |
|
filters: |
|
||||||
server:
|
server:
|
||||||
- 'server/**'
|
- 'server/**'
|
||||||
@@ -53,11 +60,12 @@ jobs:
|
|||||||
suffix: ['', '-cuda', '-rocm', '-openvino', '-armnn', '-rknn']
|
suffix: ['', '-cuda', '-rocm', '-openvino', '-armnn', '-rknn']
|
||||||
steps:
|
steps:
|
||||||
- name: Login to GitHub Container Registry
|
- name: Login to GitHub Container Registry
|
||||||
uses: docker/login-action@184bdaa0721073962dff0199f1fb9940f07167d1 # v3.5.0
|
uses: docker/login-action@5e57cd118135c172c3672efd75eb46360885c0ef # v3.6.0
|
||||||
with:
|
with:
|
||||||
registry: ghcr.io
|
registry: ghcr.io
|
||||||
username: ${{ github.repository_owner }}
|
username: ${{ github.repository_owner }}
|
||||||
password: ${{ secrets.GITHUB_TOKEN }}
|
password: ${{ secrets.GITHUB_TOKEN }}
|
||||||
|
|
||||||
- name: Re-tag image
|
- name: Re-tag image
|
||||||
env:
|
env:
|
||||||
REGISTRY_NAME: 'ghcr.io'
|
REGISTRY_NAME: 'ghcr.io'
|
||||||
@@ -82,11 +90,12 @@ jobs:
|
|||||||
suffix: ['']
|
suffix: ['']
|
||||||
steps:
|
steps:
|
||||||
- name: Login to GitHub Container Registry
|
- name: Login to GitHub Container Registry
|
||||||
uses: docker/login-action@184bdaa0721073962dff0199f1fb9940f07167d1 # v3.5.0
|
uses: docker/login-action@5e57cd118135c172c3672efd75eb46360885c0ef # v3.6.0
|
||||||
with:
|
with:
|
||||||
registry: ghcr.io
|
registry: ghcr.io
|
||||||
username: ${{ github.repository_owner }}
|
username: ${{ github.repository_owner }}
|
||||||
password: ${{ secrets.GITHUB_TOKEN }}
|
password: ${{ secrets.GITHUB_TOKEN }}
|
||||||
|
|
||||||
- name: Re-tag image
|
- name: Re-tag image
|
||||||
env:
|
env:
|
||||||
REGISTRY_NAME: 'ghcr.io'
|
REGISTRY_NAME: 'ghcr.io'
|
||||||
@@ -124,7 +133,7 @@ jobs:
|
|||||||
tag-suffix: '-rocm'
|
tag-suffix: '-rocm'
|
||||||
platforms: linux/amd64
|
platforms: linux/amd64
|
||||||
runner-mapping: '{"linux/amd64": "mich"}'
|
runner-mapping: '{"linux/amd64": "mich"}'
|
||||||
uses: immich-app/devtools/.github/workflows/multi-runner-build.yml@129aeda75a450666ce96e8bc8126652e717917a7 # multi-runner-build-workflow-0.1.1
|
uses: immich-app/devtools/.github/workflows/multi-runner-build.yml@946acac326940f8badf09ccf591d9cb345d6a689 # multi-runner-build-workflow-v0.2.1
|
||||||
permissions:
|
permissions:
|
||||||
contents: read
|
contents: read
|
||||||
actions: read
|
actions: read
|
||||||
@@ -147,7 +156,7 @@ jobs:
|
|||||||
name: Build and Push Server
|
name: Build and Push Server
|
||||||
needs: pre-job
|
needs: pre-job
|
||||||
if: ${{ fromJSON(needs.pre-job.outputs.should_run).server == true }}
|
if: ${{ fromJSON(needs.pre-job.outputs.should_run).server == true }}
|
||||||
uses: immich-app/devtools/.github/workflows/multi-runner-build.yml@129aeda75a450666ce96e8bc8126652e717917a7 # multi-runner-build-workflow-0.1.1
|
uses: immich-app/devtools/.github/workflows/multi-runner-build.yml@946acac326940f8badf09ccf591d9cb345d6a689 # multi-runner-build-workflow-v0.2.1
|
||||||
permissions:
|
permissions:
|
||||||
contents: read
|
contents: read
|
||||||
actions: read
|
actions: read
|
||||||
|
|||||||
22
.github/workflows/docs-build.yml
vendored
@@ -20,10 +20,17 @@ jobs:
|
|||||||
outputs:
|
outputs:
|
||||||
should_run: ${{ steps.check.outputs.should_run }}
|
should_run: ${{ steps.check.outputs.should_run }}
|
||||||
steps:
|
steps:
|
||||||
|
- id: token
|
||||||
|
uses: immich-app/devtools/actions/create-workflow-token@da177fa133657503ddb7503f8ba53dccefec5da1 # create-workflow-token-action-v1.0.0
|
||||||
|
with:
|
||||||
|
app-id: ${{ secrets.PUSH_O_MATIC_APP_ID }}
|
||||||
|
private-key: ${{ secrets.PUSH_O_MATIC_APP_KEY }}
|
||||||
|
|
||||||
- name: Check what should run
|
- name: Check what should run
|
||||||
id: check
|
id: check
|
||||||
uses: immich-app/devtools/actions/pre-job@5f91b52dfbb92b8d96ca411ab59c896cd59714ca # pre-job-action-v1.1.0
|
uses: immich-app/devtools/actions/pre-job@08bac802a312fc89808e0dd589271ca0974087b5 # pre-job-action-v2.0.0
|
||||||
with:
|
with:
|
||||||
|
github-token: ${{ steps.token.outputs.token }}
|
||||||
filters: |
|
filters: |
|
||||||
docs:
|
docs:
|
||||||
- 'docs/**'
|
- 'docs/**'
|
||||||
@@ -46,16 +53,23 @@ jobs:
|
|||||||
working-directory: ./docs
|
working-directory: ./docs
|
||||||
|
|
||||||
steps:
|
steps:
|
||||||
|
- id: token
|
||||||
|
uses: immich-app/devtools/actions/create-workflow-token@da177fa133657503ddb7503f8ba53dccefec5da1 # create-workflow-token-action-v1.0.0
|
||||||
|
with:
|
||||||
|
app-id: ${{ secrets.PUSH_O_MATIC_APP_ID }}
|
||||||
|
private-key: ${{ secrets.PUSH_O_MATIC_APP_KEY }}
|
||||||
|
|
||||||
- name: Checkout code
|
- name: Checkout code
|
||||||
uses: actions/checkout@08eba0b27e820071cde6df949e0beb9ba4906955 # v4.3.0
|
uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0
|
||||||
with:
|
with:
|
||||||
persist-credentials: false
|
persist-credentials: false
|
||||||
|
token: ${{ steps.token.outputs.token }}
|
||||||
|
|
||||||
- name: Setup pnpm
|
- name: Setup pnpm
|
||||||
uses: pnpm/action-setup@a7487c7e89a18df4991f7f222e4898a00d66ddda # v4.1.0
|
uses: pnpm/action-setup@41ff72655975bd51cab0327fa583b6e92b6d3061 # v4.2.0
|
||||||
|
|
||||||
- name: Setup Node
|
- name: Setup Node
|
||||||
uses: actions/setup-node@49933ea5288caeca8642d1e84afbd3f7d6820020 # v4.4.0
|
uses: actions/setup-node@a0853c24544627f65ddf259abe73b1d18a591444 # v5.0.0
|
||||||
with:
|
with:
|
||||||
node-version-file: './docs/.nvmrc'
|
node-version-file: './docs/.nvmrc'
|
||||||
cache: 'pnpm'
|
cache: 'pnpm'
|
||||||
|
|||||||
55
.github/workflows/docs-deploy.yml
vendored
@@ -16,12 +16,19 @@ jobs:
|
|||||||
parameters: ${{ steps.parameters.outputs.result }}
|
parameters: ${{ steps.parameters.outputs.result }}
|
||||||
artifact: ${{ steps.get-artifact.outputs.result }}
|
artifact: ${{ steps.get-artifact.outputs.result }}
|
||||||
steps:
|
steps:
|
||||||
|
- id: token
|
||||||
|
uses: immich-app/devtools/actions/create-workflow-token@da177fa133657503ddb7503f8ba53dccefec5da1 # create-workflow-token-action-v1.0.0
|
||||||
|
with:
|
||||||
|
app-id: ${{ secrets.PUSH_O_MATIC_APP_ID }}
|
||||||
|
private-key: ${{ secrets.PUSH_O_MATIC_APP_KEY }}
|
||||||
|
|
||||||
- if: ${{ github.event.workflow_run.conclusion != 'success' }}
|
- if: ${{ github.event.workflow_run.conclusion != 'success' }}
|
||||||
run: echo 'The triggering workflow did not succeed' && exit 1
|
run: echo 'The triggering workflow did not succeed' && exit 1
|
||||||
- name: Get artifact
|
- name: Get artifact
|
||||||
id: get-artifact
|
id: get-artifact
|
||||||
uses: actions/github-script@f28e40c7f34bde8b3046d885e986cb6290c5673b # v7.1.0
|
uses: actions/github-script@ed597411d8f924073f98dfc5c65a23a2325f34cd # v8.0.0
|
||||||
with:
|
with:
|
||||||
|
github-token: ${{ steps.token.outputs.token }}
|
||||||
script: |
|
script: |
|
||||||
let allArtifacts = await github.rest.actions.listWorkflowRunArtifacts({
|
let allArtifacts = await github.rest.actions.listWorkflowRunArtifacts({
|
||||||
owner: context.repo.owner,
|
owner: context.repo.owner,
|
||||||
@@ -38,10 +45,11 @@ jobs:
|
|||||||
return { found: true, id: matchArtifact.id };
|
return { found: true, id: matchArtifact.id };
|
||||||
- name: Determine deploy parameters
|
- name: Determine deploy parameters
|
||||||
id: parameters
|
id: parameters
|
||||||
uses: actions/github-script@f28e40c7f34bde8b3046d885e986cb6290c5673b # v7.1.0
|
uses: actions/github-script@ed597411d8f924073f98dfc5c65a23a2325f34cd # v8.0.0
|
||||||
env:
|
env:
|
||||||
HEAD_SHA: ${{ github.event.workflow_run.head_sha }}
|
HEAD_SHA: ${{ github.event.workflow_run.head_sha }}
|
||||||
with:
|
with:
|
||||||
|
github-token: ${{ steps.token.outputs.token }}
|
||||||
script: |
|
script: |
|
||||||
const eventType = context.payload.workflow_run.event;
|
const eventType = context.payload.workflow_run.event;
|
||||||
const isFork = context.payload.workflow_run.repository.fork;
|
const isFork = context.payload.workflow_run.repository.fork;
|
||||||
@@ -107,17 +115,28 @@ jobs:
|
|||||||
pull-requests: write
|
pull-requests: write
|
||||||
if: ${{ fromJson(needs.checks.outputs.artifact).found && fromJson(needs.checks.outputs.parameters).shouldDeploy }}
|
if: ${{ fromJson(needs.checks.outputs.artifact).found && fromJson(needs.checks.outputs.parameters).shouldDeploy }}
|
||||||
steps:
|
steps:
|
||||||
|
- id: token
|
||||||
|
uses: immich-app/devtools/actions/create-workflow-token@da177fa133657503ddb7503f8ba53dccefec5da1 # create-workflow-token-action-v1.0.0
|
||||||
|
with:
|
||||||
|
app-id: ${{ secrets.PUSH_O_MATIC_APP_ID }}
|
||||||
|
private-key: ${{ secrets.PUSH_O_MATIC_APP_KEY }}
|
||||||
|
|
||||||
- name: Checkout code
|
- name: Checkout code
|
||||||
uses: actions/checkout@08eba0b27e820071cde6df949e0beb9ba4906955 # v4.3.0
|
uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0
|
||||||
with:
|
with:
|
||||||
persist-credentials: false
|
persist-credentials: false
|
||||||
|
token: ${{ steps.token.outputs.token }}
|
||||||
|
|
||||||
|
- name: Setup Mise
|
||||||
|
uses: immich-app/devtools/actions/use-mise@cd24790a7f5f6439ac32cc94f5523cb2de8bfa8c # use-mise-action-v1.1.0
|
||||||
|
|
||||||
- name: Load parameters
|
- name: Load parameters
|
||||||
id: parameters
|
id: parameters
|
||||||
uses: actions/github-script@f28e40c7f34bde8b3046d885e986cb6290c5673b # v7.1.0
|
uses: actions/github-script@ed597411d8f924073f98dfc5c65a23a2325f34cd # v8.0.0
|
||||||
env:
|
env:
|
||||||
PARAM_JSON: ${{ needs.checks.outputs.parameters }}
|
PARAM_JSON: ${{ needs.checks.outputs.parameters }}
|
||||||
with:
|
with:
|
||||||
|
github-token: ${{ steps.token.outputs.token }}
|
||||||
script: |
|
script: |
|
||||||
const parameters = JSON.parse(process.env.PARAM_JSON);
|
const parameters = JSON.parse(process.env.PARAM_JSON);
|
||||||
core.setOutput("event", parameters.event);
|
core.setOutput("event", parameters.event);
|
||||||
@@ -125,10 +144,11 @@ jobs:
|
|||||||
core.setOutput("shouldDeploy", parameters.shouldDeploy);
|
core.setOutput("shouldDeploy", parameters.shouldDeploy);
|
||||||
|
|
||||||
- name: Download artifact
|
- name: Download artifact
|
||||||
uses: actions/github-script@f28e40c7f34bde8b3046d885e986cb6290c5673b # v7.1.0
|
uses: actions/github-script@ed597411d8f924073f98dfc5c65a23a2325f34cd # v8.0.0
|
||||||
env:
|
env:
|
||||||
ARTIFACT_JSON: ${{ needs.checks.outputs.artifact }}
|
ARTIFACT_JSON: ${{ needs.checks.outputs.artifact }}
|
||||||
with:
|
with:
|
||||||
|
github-token: ${{ steps.token.outputs.token }}
|
||||||
script: |
|
script: |
|
||||||
let artifact = JSON.parse(process.env.ARTIFACT_JSON);
|
let artifact = JSON.parse(process.env.ARTIFACT_JSON);
|
||||||
let download = await github.rest.actions.downloadArtifact({
|
let download = await github.rest.actions.downloadArtifact({
|
||||||
@@ -150,12 +170,8 @@ jobs:
|
|||||||
CLOUDFLARE_API_TOKEN: ${{ secrets.CLOUDFLARE_API_TOKEN }}
|
CLOUDFLARE_API_TOKEN: ${{ secrets.CLOUDFLARE_API_TOKEN }}
|
||||||
CLOUDFLARE_ACCOUNT_ID: ${{ secrets.CLOUDFLARE_ACCOUNT_ID }}
|
CLOUDFLARE_ACCOUNT_ID: ${{ secrets.CLOUDFLARE_ACCOUNT_ID }}
|
||||||
TF_STATE_POSTGRES_CONN_STR: ${{ secrets.TF_STATE_POSTGRES_CONN_STR }}
|
TF_STATE_POSTGRES_CONN_STR: ${{ secrets.TF_STATE_POSTGRES_CONN_STR }}
|
||||||
uses: gruntwork-io/terragrunt-action@aee21a7df999be8b471c2a8564c6cd853cb674e1 # v2.1.8
|
working-directory: 'deployment/modules/cloudflare/docs'
|
||||||
with:
|
run: 'mise run tf apply'
|
||||||
tg_version: '0.58.12'
|
|
||||||
tofu_version: '1.7.1'
|
|
||||||
tg_dir: 'deployment/modules/cloudflare/docs'
|
|
||||||
tg_command: 'apply'
|
|
||||||
|
|
||||||
- name: Deploy Docs Subdomain Output
|
- name: Deploy Docs Subdomain Output
|
||||||
id: docs-output
|
id: docs-output
|
||||||
@@ -165,12 +181,8 @@ jobs:
|
|||||||
CLOUDFLARE_API_TOKEN: ${{ secrets.CLOUDFLARE_API_TOKEN }}
|
CLOUDFLARE_API_TOKEN: ${{ secrets.CLOUDFLARE_API_TOKEN }}
|
||||||
CLOUDFLARE_ACCOUNT_ID: ${{ secrets.CLOUDFLARE_ACCOUNT_ID }}
|
CLOUDFLARE_ACCOUNT_ID: ${{ secrets.CLOUDFLARE_ACCOUNT_ID }}
|
||||||
TF_STATE_POSTGRES_CONN_STR: ${{ secrets.TF_STATE_POSTGRES_CONN_STR }}
|
TF_STATE_POSTGRES_CONN_STR: ${{ secrets.TF_STATE_POSTGRES_CONN_STR }}
|
||||||
uses: gruntwork-io/terragrunt-action@aee21a7df999be8b471c2a8564c6cd853cb674e1 # v2.1.8
|
working-directory: 'deployment/modules/cloudflare/docs'
|
||||||
with:
|
run: 'mise run tf output -- -json'
|
||||||
tg_version: '0.58.12'
|
|
||||||
tofu_version: '1.7.1'
|
|
||||||
tg_dir: 'deployment/modules/cloudflare/docs'
|
|
||||||
tg_command: 'output -json'
|
|
||||||
|
|
||||||
- name: Output Cleaning
|
- name: Output Cleaning
|
||||||
id: clean
|
id: clean
|
||||||
@@ -199,17 +211,14 @@ jobs:
|
|||||||
CLOUDFLARE_API_TOKEN: ${{ secrets.CLOUDFLARE_API_TOKEN }}
|
CLOUDFLARE_API_TOKEN: ${{ secrets.CLOUDFLARE_API_TOKEN }}
|
||||||
CLOUDFLARE_ACCOUNT_ID: ${{ secrets.CLOUDFLARE_ACCOUNT_ID }}
|
CLOUDFLARE_ACCOUNT_ID: ${{ secrets.CLOUDFLARE_ACCOUNT_ID }}
|
||||||
TF_STATE_POSTGRES_CONN_STR: ${{ secrets.TF_STATE_POSTGRES_CONN_STR }}
|
TF_STATE_POSTGRES_CONN_STR: ${{ secrets.TF_STATE_POSTGRES_CONN_STR }}
|
||||||
uses: gruntwork-io/terragrunt-action@aee21a7df999be8b471c2a8564c6cd853cb674e1 # v2.1.8
|
working-directory: 'deployment/modules/cloudflare/docs-release'
|
||||||
with:
|
run: 'mise run tf apply'
|
||||||
tg_version: '0.58.12'
|
|
||||||
tofu_version: '1.7.1'
|
|
||||||
tg_dir: 'deployment/modules/cloudflare/docs-release'
|
|
||||||
tg_command: 'apply'
|
|
||||||
|
|
||||||
- name: Comment
|
- name: Comment
|
||||||
uses: actions-cool/maintain-one-comment@4b2dbf086015f892dcb5e8c1106f5fccd6c1476b # v3.2.0
|
uses: actions-cool/maintain-one-comment@4b2dbf086015f892dcb5e8c1106f5fccd6c1476b # v3.2.0
|
||||||
if: ${{ steps.parameters.outputs.event == 'pr' }}
|
if: ${{ steps.parameters.outputs.event == 'pr' }}
|
||||||
with:
|
with:
|
||||||
|
token: ${{ steps.token.outputs.token }}
|
||||||
number: ${{ fromJson(needs.checks.outputs.parameters).pr_number }}
|
number: ${{ fromJson(needs.checks.outputs.parameters).pr_number }}
|
||||||
body: |
|
body: |
|
||||||
📖 Documentation deployed to [${{ fromJson(steps.clean.outputs.output).immich_app_branch_subdomain.value }}](https://${{ fromJson(steps.clean.outputs.output).immich_app_branch_subdomain.value }})
|
📖 Documentation deployed to [${{ fromJson(steps.clean.outputs.output).immich_app_branch_subdomain.value }}](https://${{ fromJson(steps.clean.outputs.output).immich_app_branch_subdomain.value }})
|
||||||
|
|||||||
21
.github/workflows/docs-destroy.yml
vendored
@@ -13,10 +13,20 @@ jobs:
|
|||||||
contents: read
|
contents: read
|
||||||
pull-requests: write
|
pull-requests: write
|
||||||
steps:
|
steps:
|
||||||
|
- id: token
|
||||||
|
uses: immich-app/devtools/actions/create-workflow-token@da177fa133657503ddb7503f8ba53dccefec5da1 # create-workflow-token-action-v1.0.0
|
||||||
|
with:
|
||||||
|
app-id: ${{ secrets.PUSH_O_MATIC_APP_ID }}
|
||||||
|
private-key: ${{ secrets.PUSH_O_MATIC_APP_KEY }}
|
||||||
|
|
||||||
- name: Checkout code
|
- name: Checkout code
|
||||||
uses: actions/checkout@08eba0b27e820071cde6df949e0beb9ba4906955 # v4.3.0
|
uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0
|
||||||
with:
|
with:
|
||||||
persist-credentials: false
|
persist-credentials: false
|
||||||
|
token: ${{ steps.token.outputs.token }}
|
||||||
|
|
||||||
|
- name: Setup Mise
|
||||||
|
uses: immich-app/devtools/actions/use-mise@cd24790a7f5f6439ac32cc94f5523cb2de8bfa8c # use-mise-action-v1.1.0
|
||||||
|
|
||||||
- name: Destroy Docs Subdomain
|
- name: Destroy Docs Subdomain
|
||||||
env:
|
env:
|
||||||
@@ -25,16 +35,13 @@ jobs:
|
|||||||
CLOUDFLARE_API_TOKEN: ${{ secrets.CLOUDFLARE_API_TOKEN }}
|
CLOUDFLARE_API_TOKEN: ${{ secrets.CLOUDFLARE_API_TOKEN }}
|
||||||
CLOUDFLARE_ACCOUNT_ID: ${{ secrets.CLOUDFLARE_ACCOUNT_ID }}
|
CLOUDFLARE_ACCOUNT_ID: ${{ secrets.CLOUDFLARE_ACCOUNT_ID }}
|
||||||
TF_STATE_POSTGRES_CONN_STR: ${{ secrets.TF_STATE_POSTGRES_CONN_STR }}
|
TF_STATE_POSTGRES_CONN_STR: ${{ secrets.TF_STATE_POSTGRES_CONN_STR }}
|
||||||
uses: gruntwork-io/terragrunt-action@aee21a7df999be8b471c2a8564c6cd853cb674e1 # v2.1.8
|
working-directory: 'deployment/modules/cloudflare/docs'
|
||||||
with:
|
run: 'mise run tf destroy -- -refresh=false'
|
||||||
tg_version: '0.58.12'
|
|
||||||
tofu_version: '1.7.1'
|
|
||||||
tg_dir: 'deployment/modules/cloudflare/docs'
|
|
||||||
tg_command: 'destroy -refresh=false'
|
|
||||||
|
|
||||||
- name: Comment
|
- name: Comment
|
||||||
uses: actions-cool/maintain-one-comment@4b2dbf086015f892dcb5e8c1106f5fccd6c1476b # v3.2.0
|
uses: actions-cool/maintain-one-comment@4b2dbf086015f892dcb5e8c1106f5fccd6c1476b # v3.2.0
|
||||||
with:
|
with:
|
||||||
|
token: ${{ steps.token.outputs.token }}
|
||||||
number: ${{ github.event.number }}
|
number: ${{ github.event.number }}
|
||||||
delete: true
|
delete: true
|
||||||
body-include: '<!-- Docs PR URL -->'
|
body-include: '<!-- Docs PR URL -->'
|
||||||
|
|||||||
9
.github/workflows/fix-format.yml
vendored
@@ -22,17 +22,17 @@ jobs:
|
|||||||
private-key: ${{ secrets.PUSH_O_MATIC_APP_KEY }}
|
private-key: ${{ secrets.PUSH_O_MATIC_APP_KEY }}
|
||||||
|
|
||||||
- name: 'Checkout'
|
- name: 'Checkout'
|
||||||
uses: actions/checkout@08eba0b27e820071cde6df949e0beb9ba4906955 # v4.3.0
|
uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0
|
||||||
with:
|
with:
|
||||||
ref: ${{ github.event.pull_request.head.ref }}
|
ref: ${{ github.event.pull_request.head.ref }}
|
||||||
token: ${{ steps.generate-token.outputs.token }}
|
token: ${{ steps.generate-token.outputs.token }}
|
||||||
persist-credentials: true
|
persist-credentials: true
|
||||||
|
|
||||||
- name: Setup pnpm
|
- name: Setup pnpm
|
||||||
uses: pnpm/action-setup@a7487c7e89a18df4991f7f222e4898a00d66ddda # v4.1.0
|
uses: pnpm/action-setup@41ff72655975bd51cab0327fa583b6e92b6d3061 # v4.2.0
|
||||||
|
|
||||||
- name: Setup Node
|
- name: Setup Node
|
||||||
uses: actions/setup-node@49933ea5288caeca8642d1e84afbd3f7d6820020 # v4.4.0
|
uses: actions/setup-node@a0853c24544627f65ddf259abe73b1d18a591444 # v5.0.0
|
||||||
with:
|
with:
|
||||||
node-version-file: './server/.nvmrc'
|
node-version-file: './server/.nvmrc'
|
||||||
cache: 'pnpm'
|
cache: 'pnpm'
|
||||||
@@ -48,9 +48,10 @@ jobs:
|
|||||||
message: 'chore: fix formatting'
|
message: 'chore: fix formatting'
|
||||||
|
|
||||||
- name: Remove label
|
- name: Remove label
|
||||||
uses: actions/github-script@f28e40c7f34bde8b3046d885e986cb6290c5673b # v7.1.0
|
uses: actions/github-script@ed597411d8f924073f98dfc5c65a23a2325f34cd # v8.0.0
|
||||||
if: always()
|
if: always()
|
||||||
with:
|
with:
|
||||||
|
github-token: ${{ steps.generate-token.outputs.token }}
|
||||||
script: |
|
script: |
|
||||||
github.rest.issues.removeLabel({
|
github.rest.issues.removeLabel({
|
||||||
issue_number: context.payload.pull_request.number,
|
issue_number: context.payload.pull_request.number,
|
||||||
|
|||||||
18
.github/workflows/merge-translations.yml
vendored
@@ -28,11 +28,19 @@ jobs:
|
|||||||
permissions:
|
permissions:
|
||||||
pull-requests: write
|
pull-requests: write
|
||||||
steps:
|
steps:
|
||||||
|
- name: Generate a token
|
||||||
|
id: generate_token
|
||||||
|
if: ${{ inputs.skip != true }}
|
||||||
|
uses: actions/create-github-app-token@67018539274d69449ef7c02e8e71183d1719ab42 # v2.1.4
|
||||||
|
with:
|
||||||
|
app-id: ${{ secrets.PUSH_O_MATIC_APP_ID }}
|
||||||
|
private-key: ${{ secrets.PUSH_O_MATIC_APP_KEY }}
|
||||||
|
|
||||||
- name: Find translation PR
|
- name: Find translation PR
|
||||||
id: find_pr
|
id: find_pr
|
||||||
if: ${{ inputs.skip != true }}
|
if: ${{ inputs.skip != true }}
|
||||||
env:
|
env:
|
||||||
GH_TOKEN: ${{ github.token }}
|
GH_TOKEN: ${{ steps.generate_token.outputs.token }}
|
||||||
run: |
|
run: |
|
||||||
set -euo pipefail
|
set -euo pipefail
|
||||||
|
|
||||||
@@ -55,14 +63,6 @@ jobs:
|
|||||||
exit 1
|
exit 1
|
||||||
fi
|
fi
|
||||||
|
|
||||||
- name: Generate a token
|
|
||||||
id: generate_token
|
|
||||||
if: ${{ inputs.skip != true }}
|
|
||||||
uses: actions/create-github-app-token@67018539274d69449ef7c02e8e71183d1719ab42 # v2.1.4
|
|
||||||
with:
|
|
||||||
app-id: ${{ secrets.PUSH_O_MATIC_APP_ID }}
|
|
||||||
private-key: ${{ secrets.PUSH_O_MATIC_APP_KEY }}
|
|
||||||
|
|
||||||
- name: Lock weblate
|
- name: Lock weblate
|
||||||
if: ${{ inputs.skip != true }}
|
if: ${{ inputs.skip != true }}
|
||||||
env:
|
env:
|
||||||
|
|||||||
7
.github/workflows/pr-label-validation.yml
vendored
@@ -13,9 +13,16 @@ jobs:
|
|||||||
issues: write
|
issues: write
|
||||||
pull-requests: write
|
pull-requests: write
|
||||||
steps:
|
steps:
|
||||||
|
- id: token
|
||||||
|
uses: immich-app/devtools/actions/create-workflow-token@da177fa133657503ddb7503f8ba53dccefec5da1 # create-workflow-token-action-v1.0.0
|
||||||
|
with:
|
||||||
|
app-id: ${{ secrets.PUSH_O_MATIC_APP_ID }}
|
||||||
|
private-key: ${{ secrets.PUSH_O_MATIC_APP_KEY }}
|
||||||
|
|
||||||
- name: Require PR to have a changelog label
|
- name: Require PR to have a changelog label
|
||||||
uses: mheap/github-action-required-labels@8afbe8ae6ab7647d0c9f0cfa7c2f939650d22509 # v5.5.1
|
uses: mheap/github-action-required-labels@8afbe8ae6ab7647d0c9f0cfa7c2f939650d22509 # v5.5.1
|
||||||
with:
|
with:
|
||||||
|
token: ${{ steps.token.outputs.token }}
|
||||||
mode: exactly
|
mode: exactly
|
||||||
count: 1
|
count: 1
|
||||||
use_regex: true
|
use_regex: true
|
||||||
|
|||||||
10
.github/workflows/pr-labeler.yml
vendored
@@ -11,4 +11,12 @@ jobs:
|
|||||||
pull-requests: write
|
pull-requests: write
|
||||||
runs-on: ubuntu-latest
|
runs-on: ubuntu-latest
|
||||||
steps:
|
steps:
|
||||||
- uses: actions/labeler@8558fd74291d67161a8a78ce36a881fa63b766a9 # v5.0.0
|
- id: token
|
||||||
|
uses: immich-app/devtools/actions/create-workflow-token@da177fa133657503ddb7503f8ba53dccefec5da1 # create-workflow-token-action-v1.0.0
|
||||||
|
with:
|
||||||
|
app-id: ${{ secrets.PUSH_O_MATIC_APP_ID }}
|
||||||
|
private-key: ${{ secrets.PUSH_O_MATIC_APP_KEY }}
|
||||||
|
|
||||||
|
- uses: actions/labeler@634933edcd8ababfe52f92936142cc22ac488b1b # v6.0.1
|
||||||
|
with:
|
||||||
|
repo-token: ${{ steps.token.outputs.token }}
|
||||||
|
|||||||
15
.github/workflows/prepare-release.yml
vendored
@@ -55,20 +55,20 @@ jobs:
|
|||||||
private-key: ${{ secrets.PUSH_O_MATIC_APP_KEY }}
|
private-key: ${{ secrets.PUSH_O_MATIC_APP_KEY }}
|
||||||
|
|
||||||
- name: Checkout
|
- name: Checkout
|
||||||
uses: actions/checkout@08eba0b27e820071cde6df949e0beb9ba4906955 # v4.3.0
|
uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0
|
||||||
with:
|
with:
|
||||||
token: ${{ steps.generate-token.outputs.token }}
|
token: ${{ steps.generate-token.outputs.token }}
|
||||||
persist-credentials: true
|
persist-credentials: true
|
||||||
ref: main
|
ref: main
|
||||||
|
|
||||||
- name: Install uv
|
- name: Install uv
|
||||||
uses: astral-sh/setup-uv@d4b2f3b6ecc6e67c4457f6d3e41ec42d3d0fcb86 # v5.4.2
|
uses: astral-sh/setup-uv@d0cc045d04ccac9d8b7881df0226f9e82c39688e # v6.8.0
|
||||||
|
|
||||||
- name: Setup pnpm
|
- name: Setup pnpm
|
||||||
uses: pnpm/action-setup@a7487c7e89a18df4991f7f222e4898a00d66ddda # v4.1.0
|
uses: pnpm/action-setup@41ff72655975bd51cab0327fa583b6e92b6d3061 # v4.2.0
|
||||||
|
|
||||||
- name: Setup Node
|
- name: Setup Node
|
||||||
uses: actions/setup-node@49933ea5288caeca8642d1e84afbd3f7d6820020 # v4.4.0
|
uses: actions/setup-node@a0853c24544627f65ddf259abe73b1d18a591444 # v5.0.0
|
||||||
with:
|
with:
|
||||||
node-version-file: './server/.nvmrc'
|
node-version-file: './server/.nvmrc'
|
||||||
cache: 'pnpm'
|
cache: 'pnpm'
|
||||||
@@ -117,18 +117,19 @@ jobs:
|
|||||||
private-key: ${{ secrets.PUSH_O_MATIC_APP_KEY }}
|
private-key: ${{ secrets.PUSH_O_MATIC_APP_KEY }}
|
||||||
|
|
||||||
- name: Checkout
|
- name: Checkout
|
||||||
uses: actions/checkout@08eba0b27e820071cde6df949e0beb9ba4906955 # v4.3.0
|
uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0
|
||||||
with:
|
with:
|
||||||
token: ${{ steps.generate-token.outputs.token }}
|
token: ${{ steps.generate-token.outputs.token }}
|
||||||
persist-credentials: false
|
persist-credentials: false
|
||||||
|
|
||||||
- name: Download APK
|
- name: Download APK
|
||||||
uses: actions/download-artifact@d3f86a106a0bac45b974a628896c90dbdf5c8093 # v4.3.0
|
uses: actions/download-artifact@634f93cb2916e3fdff6788551b99b062d0335ce0 # v5.0.0
|
||||||
with:
|
with:
|
||||||
name: release-apk-signed
|
name: release-apk-signed
|
||||||
|
github-token: ${{ steps.generate-token.outputs.token }}
|
||||||
|
|
||||||
- name: Create draft release
|
- name: Create draft release
|
||||||
uses: softprops/action-gh-release@6cbd405e2c4e67a21c47fa9e383d020e4e28b836 # v2.3.3
|
uses: softprops/action-gh-release@6da8fa9354ddfdc4aeace5fc48d7f679b5214090 # v2.4.1
|
||||||
with:
|
with:
|
||||||
draft: true
|
draft: true
|
||||||
tag_name: ${{ env.IMMICH_VERSION }}
|
tag_name: ${{ env.IMMICH_VERSION }}
|
||||||
|
|||||||
20
.github/workflows/preview-label.yaml
vendored
@@ -13,10 +13,17 @@ jobs:
|
|||||||
permissions:
|
permissions:
|
||||||
pull-requests: write
|
pull-requests: write
|
||||||
steps:
|
steps:
|
||||||
|
- id: token
|
||||||
|
uses: immich-app/devtools/actions/create-workflow-token@da177fa133657503ddb7503f8ba53dccefec5da1 # create-workflow-token-action-v1.0.0
|
||||||
|
with:
|
||||||
|
app-id: ${{ secrets.PUSH_O_MATIC_APP_ID }}
|
||||||
|
private-key: ${{ secrets.PUSH_O_MATIC_APP_KEY }}
|
||||||
|
|
||||||
- uses: mshick/add-pr-comment@b8f338c590a895d50bcbfa6c5859251edc8952fc # v2.8.2
|
- uses: mshick/add-pr-comment@b8f338c590a895d50bcbfa6c5859251edc8952fc # v2.8.2
|
||||||
with:
|
with:
|
||||||
|
github-token: ${{ steps.token.outputs.token }}
|
||||||
message-id: 'preview-status'
|
message-id: 'preview-status'
|
||||||
message: 'Deploying preview environment to https://pr-${{ github.event.pull_request.number }}.preview.internal.immich.cloud/'
|
message: 'Deploying preview environment to https://pr-${{ github.event.pull_request.number }}.preview.internal.immich.build/'
|
||||||
|
|
||||||
remove-label:
|
remove-label:
|
||||||
runs-on: ubuntu-latest
|
runs-on: ubuntu-latest
|
||||||
@@ -24,8 +31,15 @@ jobs:
|
|||||||
permissions:
|
permissions:
|
||||||
pull-requests: write
|
pull-requests: write
|
||||||
steps:
|
steps:
|
||||||
- uses: actions/github-script@f28e40c7f34bde8b3046d885e986cb6290c5673b # v7.1.0
|
- id: token
|
||||||
|
uses: immich-app/devtools/actions/create-workflow-token@da177fa133657503ddb7503f8ba53dccefec5da1 # create-workflow-token-action-v1.0.0
|
||||||
with:
|
with:
|
||||||
|
app-id: ${{ secrets.PUSH_O_MATIC_APP_ID }}
|
||||||
|
private-key: ${{ secrets.PUSH_O_MATIC_APP_KEY }}
|
||||||
|
|
||||||
|
- uses: actions/github-script@ed597411d8f924073f98dfc5c65a23a2325f34cd # v8.0.0
|
||||||
|
with:
|
||||||
|
github-token: ${{ steps.token.outputs.token }}
|
||||||
script: |
|
script: |
|
||||||
github.rest.issues.removeLabel({
|
github.rest.issues.removeLabel({
|
||||||
issue_number: context.payload.pull_request.number,
|
issue_number: context.payload.pull_request.number,
|
||||||
@@ -37,11 +51,13 @@ jobs:
|
|||||||
- uses: mshick/add-pr-comment@b8f338c590a895d50bcbfa6c5859251edc8952fc # v2.8.2
|
- uses: mshick/add-pr-comment@b8f338c590a895d50bcbfa6c5859251edc8952fc # v2.8.2
|
||||||
if: ${{ github.event.pull_request.head.repo.fork }}
|
if: ${{ github.event.pull_request.head.repo.fork }}
|
||||||
with:
|
with:
|
||||||
|
github-token: ${{ steps.token.outputs.token }}
|
||||||
message-id: 'preview-status'
|
message-id: 'preview-status'
|
||||||
message: 'PRs from forks cannot have preview environments.'
|
message: 'PRs from forks cannot have preview environments.'
|
||||||
|
|
||||||
- uses: mshick/add-pr-comment@b8f338c590a895d50bcbfa6c5859251edc8952fc # v2.8.2
|
- uses: mshick/add-pr-comment@b8f338c590a895d50bcbfa6c5859251edc8952fc # v2.8.2
|
||||||
if: ${{ !github.event.pull_request.head.repo.fork }}
|
if: ${{ !github.event.pull_request.head.repo.fork }}
|
||||||
with:
|
with:
|
||||||
|
github-token: ${{ steps.token.outputs.token }}
|
||||||
message-id: 'preview-status'
|
message-id: 'preview-status'
|
||||||
message: 'Preview environment has been removed.'
|
message: 'Preview environment has been removed.'
|
||||||
|
|||||||
15
.github/workflows/sdk.yml
vendored
@@ -16,15 +16,22 @@ jobs:
|
|||||||
run:
|
run:
|
||||||
working-directory: ./open-api/typescript-sdk
|
working-directory: ./open-api/typescript-sdk
|
||||||
steps:
|
steps:
|
||||||
- uses: actions/checkout@08eba0b27e820071cde6df949e0beb9ba4906955 # v4.3.0
|
- id: token
|
||||||
|
uses: immich-app/devtools/actions/create-workflow-token@da177fa133657503ddb7503f8ba53dccefec5da1 # create-workflow-token-action-v1.0.0
|
||||||
|
with:
|
||||||
|
app-id: ${{ secrets.PUSH_O_MATIC_APP_ID }}
|
||||||
|
private-key: ${{ secrets.PUSH_O_MATIC_APP_KEY }}
|
||||||
|
|
||||||
|
- uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0
|
||||||
with:
|
with:
|
||||||
persist-credentials: false
|
persist-credentials: false
|
||||||
|
token: ${{ steps.token.outputs.token }}
|
||||||
|
|
||||||
- name: Setup pnpm
|
- name: Setup pnpm
|
||||||
uses: pnpm/action-setup@a7487c7e89a18df4991f7f222e4898a00d66ddda # v4.1.0
|
uses: pnpm/action-setup@41ff72655975bd51cab0327fa583b6e92b6d3061 # v4.2.0
|
||||||
|
|
||||||
# Setup .npmrc file to publish to npm
|
# Setup .npmrc file to publish to npm
|
||||||
- uses: actions/setup-node@49933ea5288caeca8642d1e84afbd3f7d6820020 # v4.4.0
|
- uses: actions/setup-node@a0853c24544627f65ddf259abe73b1d18a591444 # v5.0.0
|
||||||
with:
|
with:
|
||||||
node-version-file: './open-api/typescript-sdk/.nvmrc'
|
node-version-file: './open-api/typescript-sdk/.nvmrc'
|
||||||
registry-url: 'https://registry.npmjs.org'
|
registry-url: 'https://registry.npmjs.org'
|
||||||
@@ -35,6 +42,6 @@ jobs:
|
|||||||
- name: Build
|
- name: Build
|
||||||
run: pnpm build
|
run: pnpm build
|
||||||
- name: Publish
|
- name: Publish
|
||||||
run: pnpm publish
|
run: pnpm publish --no-git-checks
|
||||||
env:
|
env:
|
||||||
NODE_AUTH_TOKEN: ${{ secrets.NPM_TOKEN }}
|
NODE_AUTH_TOKEN: ${{ secrets.NPM_TOKEN }}
|
||||||
|
|||||||
20
.github/workflows/static_analysis.yml
vendored
@@ -19,10 +19,17 @@ jobs:
|
|||||||
outputs:
|
outputs:
|
||||||
should_run: ${{ steps.check.outputs.should_run }}
|
should_run: ${{ steps.check.outputs.should_run }}
|
||||||
steps:
|
steps:
|
||||||
|
- id: token
|
||||||
|
uses: immich-app/devtools/actions/create-workflow-token@da177fa133657503ddb7503f8ba53dccefec5da1 # create-workflow-token-action-v1.0.0
|
||||||
|
with:
|
||||||
|
app-id: ${{ secrets.PUSH_O_MATIC_APP_ID }}
|
||||||
|
private-key: ${{ secrets.PUSH_O_MATIC_APP_KEY }}
|
||||||
|
|
||||||
- name: Check what should run
|
- name: Check what should run
|
||||||
id: check
|
id: check
|
||||||
uses: immich-app/devtools/actions/pre-job@5f91b52dfbb92b8d96ca411ab59c896cd59714ca # pre-job-action-v1.1.0
|
uses: immich-app/devtools/actions/pre-job@08bac802a312fc89808e0dd589271ca0974087b5 # pre-job-action-v2.0.0
|
||||||
with:
|
with:
|
||||||
|
github-token: ${{ steps.token.outputs.token }}
|
||||||
filters: |
|
filters: |
|
||||||
mobile:
|
mobile:
|
||||||
- 'mobile/**'
|
- 'mobile/**'
|
||||||
@@ -41,10 +48,17 @@ jobs:
|
|||||||
run:
|
run:
|
||||||
working-directory: ./mobile
|
working-directory: ./mobile
|
||||||
steps:
|
steps:
|
||||||
|
- id: token
|
||||||
|
uses: immich-app/devtools/actions/create-workflow-token@da177fa133657503ddb7503f8ba53dccefec5da1 # create-workflow-token-action-v1.0.0
|
||||||
|
with:
|
||||||
|
app-id: ${{ secrets.PUSH_O_MATIC_APP_ID }}
|
||||||
|
private-key: ${{ secrets.PUSH_O_MATIC_APP_KEY }}
|
||||||
|
|
||||||
- name: Checkout code
|
- name: Checkout code
|
||||||
uses: actions/checkout@08eba0b27e820071cde6df949e0beb9ba4906955 # v4.3.0
|
uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0
|
||||||
with:
|
with:
|
||||||
persist-credentials: false
|
persist-credentials: false
|
||||||
|
token: ${{ steps.token.outputs.token }}
|
||||||
|
|
||||||
- name: Setup Flutter SDK
|
- name: Setup Flutter SDK
|
||||||
uses: subosito/flutter-action@fd55f4c5af5b953cc57a2be44cb082c8f6635e8e # v2.21.0
|
uses: subosito/flutter-action@fd55f4c5af5b953cc57a2be44cb082c8f6635e8e # v2.21.0
|
||||||
@@ -58,7 +72,7 @@ jobs:
|
|||||||
- name: Install DCM
|
- name: Install DCM
|
||||||
uses: CQLabs/setup-dcm@8697ae0790c0852e964a6ef1d768d62a6675481a # v2.0.1
|
uses: CQLabs/setup-dcm@8697ae0790c0852e964a6ef1d768d62a6675481a # v2.0.1
|
||||||
with:
|
with:
|
||||||
github-token: ${{ secrets.GITHUB_TOKEN }}
|
github-token: ${{ steps.token.outputs.token }}
|
||||||
version: auto
|
version: auto
|
||||||
working-directory: ./mobile
|
working-directory: ./mobile
|
||||||
|
|
||||||
|
|||||||
214
.github/workflows/test.yml
vendored
@@ -16,10 +16,17 @@ jobs:
|
|||||||
outputs:
|
outputs:
|
||||||
should_run: ${{ steps.check.outputs.should_run }}
|
should_run: ${{ steps.check.outputs.should_run }}
|
||||||
steps:
|
steps:
|
||||||
|
- id: token
|
||||||
|
uses: immich-app/devtools/actions/create-workflow-token@da177fa133657503ddb7503f8ba53dccefec5da1 # create-workflow-token-action-v1.0.0
|
||||||
|
with:
|
||||||
|
app-id: ${{ secrets.PUSH_O_MATIC_APP_ID }}
|
||||||
|
private-key: ${{ secrets.PUSH_O_MATIC_APP_KEY }}
|
||||||
|
|
||||||
- name: Check what should run
|
- name: Check what should run
|
||||||
id: check
|
id: check
|
||||||
uses: immich-app/devtools/actions/pre-job@5f91b52dfbb92b8d96ca411ab59c896cd59714ca # pre-job-action-v1.1.0
|
uses: immich-app/devtools/actions/pre-job@08bac802a312fc89808e0dd589271ca0974087b5 # pre-job-action-v2.0.0
|
||||||
with:
|
with:
|
||||||
|
github-token: ${{ steps.token.outputs.token }}
|
||||||
filters: |
|
filters: |
|
||||||
i18n:
|
i18n:
|
||||||
- 'i18n/**'
|
- 'i18n/**'
|
||||||
@@ -55,14 +62,22 @@ jobs:
|
|||||||
run:
|
run:
|
||||||
working-directory: ./server
|
working-directory: ./server
|
||||||
steps:
|
steps:
|
||||||
|
- id: token
|
||||||
|
uses: immich-app/devtools/actions/create-workflow-token@da177fa133657503ddb7503f8ba53dccefec5da1 # create-workflow-token-action-v1.0.0
|
||||||
|
with:
|
||||||
|
app-id: ${{ secrets.PUSH_O_MATIC_APP_ID }}
|
||||||
|
private-key: ${{ secrets.PUSH_O_MATIC_APP_KEY }}
|
||||||
|
|
||||||
- name: Checkout code
|
- name: Checkout code
|
||||||
uses: actions/checkout@08eba0b27e820071cde6df949e0beb9ba4906955 # v4.3.0
|
uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0
|
||||||
with:
|
with:
|
||||||
persist-credentials: false
|
persist-credentials: false
|
||||||
|
token: ${{ steps.token.outputs.token }}
|
||||||
|
|
||||||
- name: Setup pnpm
|
- name: Setup pnpm
|
||||||
uses: pnpm/action-setup@a7487c7e89a18df4991f7f222e4898a00d66ddda # v4.1.0
|
uses: pnpm/action-setup@41ff72655975bd51cab0327fa583b6e92b6d3061 # v4.2.0
|
||||||
- name: Setup Node
|
- name: Setup Node
|
||||||
uses: actions/setup-node@49933ea5288caeca8642d1e84afbd3f7d6820020 # v4.4.0
|
uses: actions/setup-node@a0853c24544627f65ddf259abe73b1d18a591444 # v5.0.0
|
||||||
with:
|
with:
|
||||||
node-version-file: './server/.nvmrc'
|
node-version-file: './server/.nvmrc'
|
||||||
cache: 'pnpm'
|
cache: 'pnpm'
|
||||||
@@ -92,14 +107,21 @@ jobs:
|
|||||||
run:
|
run:
|
||||||
working-directory: ./cli
|
working-directory: ./cli
|
||||||
steps:
|
steps:
|
||||||
|
- id: token
|
||||||
|
uses: immich-app/devtools/actions/create-workflow-token@da177fa133657503ddb7503f8ba53dccefec5da1 # create-workflow-token-action-v1.0.0
|
||||||
|
with:
|
||||||
|
app-id: ${{ secrets.PUSH_O_MATIC_APP_ID }}
|
||||||
|
private-key: ${{ secrets.PUSH_O_MATIC_APP_KEY }}
|
||||||
|
|
||||||
- name: Checkout code
|
- name: Checkout code
|
||||||
uses: actions/checkout@08eba0b27e820071cde6df949e0beb9ba4906955 # v4.3.0
|
uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0
|
||||||
with:
|
with:
|
||||||
persist-credentials: false
|
persist-credentials: false
|
||||||
|
token: ${{ steps.token.outputs.token }}
|
||||||
- name: Setup pnpm
|
- name: Setup pnpm
|
||||||
uses: pnpm/action-setup@a7487c7e89a18df4991f7f222e4898a00d66ddda # v4.1.0
|
uses: pnpm/action-setup@41ff72655975bd51cab0327fa583b6e92b6d3061 # v4.2.0
|
||||||
- name: Setup Node
|
- name: Setup Node
|
||||||
uses: actions/setup-node@49933ea5288caeca8642d1e84afbd3f7d6820020 # v4.4.0
|
uses: actions/setup-node@a0853c24544627f65ddf259abe73b1d18a591444 # v5.0.0
|
||||||
with:
|
with:
|
||||||
node-version-file: './cli/.nvmrc'
|
node-version-file: './cli/.nvmrc'
|
||||||
cache: 'pnpm'
|
cache: 'pnpm'
|
||||||
@@ -132,14 +154,21 @@ jobs:
|
|||||||
run:
|
run:
|
||||||
working-directory: ./cli
|
working-directory: ./cli
|
||||||
steps:
|
steps:
|
||||||
|
- id: token
|
||||||
|
uses: immich-app/devtools/actions/create-workflow-token@da177fa133657503ddb7503f8ba53dccefec5da1 # create-workflow-token-action-v1.0.0
|
||||||
|
with:
|
||||||
|
app-id: ${{ secrets.PUSH_O_MATIC_APP_ID }}
|
||||||
|
private-key: ${{ secrets.PUSH_O_MATIC_APP_KEY }}
|
||||||
|
|
||||||
- name: Checkout code
|
- name: Checkout code
|
||||||
uses: actions/checkout@08eba0b27e820071cde6df949e0beb9ba4906955 # v4.3.0
|
uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0
|
||||||
with:
|
with:
|
||||||
persist-credentials: false
|
persist-credentials: false
|
||||||
|
token: ${{ steps.token.outputs.token }}
|
||||||
- name: Setup pnpm
|
- name: Setup pnpm
|
||||||
uses: pnpm/action-setup@a7487c7e89a18df4991f7f222e4898a00d66ddda # v4.1.0
|
uses: pnpm/action-setup@41ff72655975bd51cab0327fa583b6e92b6d3061 # v4.2.0
|
||||||
- name: Setup Node
|
- name: Setup Node
|
||||||
uses: actions/setup-node@49933ea5288caeca8642d1e84afbd3f7d6820020 # v4.4.0
|
uses: actions/setup-node@a0853c24544627f65ddf259abe73b1d18a591444 # v5.0.0
|
||||||
with:
|
with:
|
||||||
node-version-file: './cli/.nvmrc'
|
node-version-file: './cli/.nvmrc'
|
||||||
cache: 'pnpm'
|
cache: 'pnpm'
|
||||||
@@ -167,14 +196,21 @@ jobs:
|
|||||||
run:
|
run:
|
||||||
working-directory: ./web
|
working-directory: ./web
|
||||||
steps:
|
steps:
|
||||||
|
- id: token
|
||||||
|
uses: immich-app/devtools/actions/create-workflow-token@da177fa133657503ddb7503f8ba53dccefec5da1 # create-workflow-token-action-v1.0.0
|
||||||
|
with:
|
||||||
|
app-id: ${{ secrets.PUSH_O_MATIC_APP_ID }}
|
||||||
|
private-key: ${{ secrets.PUSH_O_MATIC_APP_KEY }}
|
||||||
|
|
||||||
- name: Checkout code
|
- name: Checkout code
|
||||||
uses: actions/checkout@08eba0b27e820071cde6df949e0beb9ba4906955 # v4.3.0
|
uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0
|
||||||
with:
|
with:
|
||||||
persist-credentials: false
|
persist-credentials: false
|
||||||
|
token: ${{ steps.token.outputs.token }}
|
||||||
- name: Setup pnpm
|
- name: Setup pnpm
|
||||||
uses: pnpm/action-setup@a7487c7e89a18df4991f7f222e4898a00d66ddda # v4.1.0
|
uses: pnpm/action-setup@41ff72655975bd51cab0327fa583b6e92b6d3061 # v4.2.0
|
||||||
- name: Setup Node
|
- name: Setup Node
|
||||||
uses: actions/setup-node@49933ea5288caeca8642d1e84afbd3f7d6820020 # v4.4.0
|
uses: actions/setup-node@a0853c24544627f65ddf259abe73b1d18a591444 # v5.0.0
|
||||||
with:
|
with:
|
||||||
node-version-file: './web/.nvmrc'
|
node-version-file: './web/.nvmrc'
|
||||||
cache: 'pnpm'
|
cache: 'pnpm'
|
||||||
@@ -185,7 +221,7 @@ jobs:
|
|||||||
- name: Run pnpm install
|
- name: Run pnpm install
|
||||||
run: pnpm rebuild && pnpm install --frozen-lockfile
|
run: pnpm rebuild && pnpm install --frozen-lockfile
|
||||||
- name: Run linter
|
- name: Run linter
|
||||||
run: pnpm lint:p
|
run: pnpm lint
|
||||||
if: ${{ !cancelled() }}
|
if: ${{ !cancelled() }}
|
||||||
- name: Run formatter
|
- name: Run formatter
|
||||||
run: pnpm format
|
run: pnpm format
|
||||||
@@ -204,14 +240,21 @@ jobs:
|
|||||||
run:
|
run:
|
||||||
working-directory: ./web
|
working-directory: ./web
|
||||||
steps:
|
steps:
|
||||||
|
- id: token
|
||||||
|
uses: immich-app/devtools/actions/create-workflow-token@da177fa133657503ddb7503f8ba53dccefec5da1 # create-workflow-token-action-v1.0.0
|
||||||
|
with:
|
||||||
|
app-id: ${{ secrets.PUSH_O_MATIC_APP_ID }}
|
||||||
|
private-key: ${{ secrets.PUSH_O_MATIC_APP_KEY }}
|
||||||
|
|
||||||
- name: Checkout code
|
- name: Checkout code
|
||||||
uses: actions/checkout@08eba0b27e820071cde6df949e0beb9ba4906955 # v4.3.0
|
uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0
|
||||||
with:
|
with:
|
||||||
persist-credentials: false
|
persist-credentials: false
|
||||||
|
token: ${{ steps.token.outputs.token }}
|
||||||
- name: Setup pnpm
|
- name: Setup pnpm
|
||||||
uses: pnpm/action-setup@a7487c7e89a18df4991f7f222e4898a00d66ddda # v4.1.0
|
uses: pnpm/action-setup@41ff72655975bd51cab0327fa583b6e92b6d3061 # v4.2.0
|
||||||
- name: Setup Node
|
- name: Setup Node
|
||||||
uses: actions/setup-node@49933ea5288caeca8642d1e84afbd3f7d6820020 # v4.4.0
|
uses: actions/setup-node@a0853c24544627f65ddf259abe73b1d18a591444 # v5.0.0
|
||||||
with:
|
with:
|
||||||
node-version-file: './web/.nvmrc'
|
node-version-file: './web/.nvmrc'
|
||||||
cache: 'pnpm'
|
cache: 'pnpm'
|
||||||
@@ -235,14 +278,21 @@ jobs:
|
|||||||
permissions:
|
permissions:
|
||||||
contents: read
|
contents: read
|
||||||
steps:
|
steps:
|
||||||
|
- id: token
|
||||||
|
uses: immich-app/devtools/actions/create-workflow-token@da177fa133657503ddb7503f8ba53dccefec5da1 # create-workflow-token-action-v1.0.0
|
||||||
|
with:
|
||||||
|
app-id: ${{ secrets.PUSH_O_MATIC_APP_ID }}
|
||||||
|
private-key: ${{ secrets.PUSH_O_MATIC_APP_KEY }}
|
||||||
|
|
||||||
- name: Checkout code
|
- name: Checkout code
|
||||||
uses: actions/checkout@08eba0b27e820071cde6df949e0beb9ba4906955 # v4.3.0
|
uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0
|
||||||
with:
|
with:
|
||||||
persist-credentials: false
|
persist-credentials: false
|
||||||
|
token: ${{ steps.token.outputs.token }}
|
||||||
- name: Setup pnpm
|
- name: Setup pnpm
|
||||||
uses: pnpm/action-setup@a7487c7e89a18df4991f7f222e4898a00d66ddda # v4.1.0
|
uses: pnpm/action-setup@41ff72655975bd51cab0327fa583b6e92b6d3061 # v4.2.0
|
||||||
- name: Setup Node
|
- name: Setup Node
|
||||||
uses: actions/setup-node@49933ea5288caeca8642d1e84afbd3f7d6820020 # v4.4.0
|
uses: actions/setup-node@a0853c24544627f65ddf259abe73b1d18a591444 # v5.0.0
|
||||||
with:
|
with:
|
||||||
node-version-file: './web/.nvmrc'
|
node-version-file: './web/.nvmrc'
|
||||||
cache: 'pnpm'
|
cache: 'pnpm'
|
||||||
@@ -276,14 +326,21 @@ jobs:
|
|||||||
run:
|
run:
|
||||||
working-directory: ./e2e
|
working-directory: ./e2e
|
||||||
steps:
|
steps:
|
||||||
|
- id: token
|
||||||
|
uses: immich-app/devtools/actions/create-workflow-token@da177fa133657503ddb7503f8ba53dccefec5da1 # create-workflow-token-action-v1.0.0
|
||||||
|
with:
|
||||||
|
app-id: ${{ secrets.PUSH_O_MATIC_APP_ID }}
|
||||||
|
private-key: ${{ secrets.PUSH_O_MATIC_APP_KEY }}
|
||||||
|
|
||||||
- name: Checkout code
|
- name: Checkout code
|
||||||
uses: actions/checkout@08eba0b27e820071cde6df949e0beb9ba4906955 # v4.3.0
|
uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0
|
||||||
with:
|
with:
|
||||||
persist-credentials: false
|
persist-credentials: false
|
||||||
|
token: ${{ steps.token.outputs.token }}
|
||||||
- name: Setup pnpm
|
- name: Setup pnpm
|
||||||
uses: pnpm/action-setup@a7487c7e89a18df4991f7f222e4898a00d66ddda # v4.1.0
|
uses: pnpm/action-setup@41ff72655975bd51cab0327fa583b6e92b6d3061 # v4.2.0
|
||||||
- name: Setup Node
|
- name: Setup Node
|
||||||
uses: actions/setup-node@49933ea5288caeca8642d1e84afbd3f7d6820020 # v4.4.0
|
uses: actions/setup-node@a0853c24544627f65ddf259abe73b1d18a591444 # v5.0.0
|
||||||
with:
|
with:
|
||||||
node-version-file: './e2e/.nvmrc'
|
node-version-file: './e2e/.nvmrc'
|
||||||
cache: 'pnpm'
|
cache: 'pnpm'
|
||||||
@@ -315,14 +372,21 @@ jobs:
|
|||||||
run:
|
run:
|
||||||
working-directory: ./server
|
working-directory: ./server
|
||||||
steps:
|
steps:
|
||||||
|
- id: token
|
||||||
|
uses: immich-app/devtools/actions/create-workflow-token@da177fa133657503ddb7503f8ba53dccefec5da1 # create-workflow-token-action-v1.0.0
|
||||||
|
with:
|
||||||
|
app-id: ${{ secrets.PUSH_O_MATIC_APP_ID }}
|
||||||
|
private-key: ${{ secrets.PUSH_O_MATIC_APP_KEY }}
|
||||||
|
|
||||||
- name: Checkout code
|
- name: Checkout code
|
||||||
uses: actions/checkout@08eba0b27e820071cde6df949e0beb9ba4906955 # v4.3.0
|
uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0
|
||||||
with:
|
with:
|
||||||
persist-credentials: false
|
persist-credentials: false
|
||||||
|
token: ${{ steps.token.outputs.token }}
|
||||||
- name: Setup pnpm
|
- name: Setup pnpm
|
||||||
uses: pnpm/action-setup@a7487c7e89a18df4991f7f222e4898a00d66ddda # v4.1.0
|
uses: pnpm/action-setup@41ff72655975bd51cab0327fa583b6e92b6d3061 # v4.2.0
|
||||||
- name: Setup Node
|
- name: Setup Node
|
||||||
uses: actions/setup-node@49933ea5288caeca8642d1e84afbd3f7d6820020 # v4.4.0
|
uses: actions/setup-node@a0853c24544627f65ddf259abe73b1d18a591444 # v5.0.0
|
||||||
with:
|
with:
|
||||||
node-version-file: './server/.nvmrc'
|
node-version-file: './server/.nvmrc'
|
||||||
cache: 'pnpm'
|
cache: 'pnpm'
|
||||||
@@ -346,15 +410,22 @@ jobs:
|
|||||||
matrix:
|
matrix:
|
||||||
runner: [ubuntu-latest, ubuntu-24.04-arm]
|
runner: [ubuntu-latest, ubuntu-24.04-arm]
|
||||||
steps:
|
steps:
|
||||||
|
- id: token
|
||||||
|
uses: immich-app/devtools/actions/create-workflow-token@da177fa133657503ddb7503f8ba53dccefec5da1 # create-workflow-token-action-v1.0.0
|
||||||
|
with:
|
||||||
|
app-id: ${{ secrets.PUSH_O_MATIC_APP_ID }}
|
||||||
|
private-key: ${{ secrets.PUSH_O_MATIC_APP_KEY }}
|
||||||
|
|
||||||
- name: Checkout code
|
- name: Checkout code
|
||||||
uses: actions/checkout@08eba0b27e820071cde6df949e0beb9ba4906955 # v4.3.0
|
uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0
|
||||||
with:
|
with:
|
||||||
persist-credentials: false
|
persist-credentials: false
|
||||||
submodules: 'recursive'
|
submodules: 'recursive'
|
||||||
|
token: ${{ steps.token.outputs.token }}
|
||||||
- name: Setup pnpm
|
- name: Setup pnpm
|
||||||
uses: pnpm/action-setup@a7487c7e89a18df4991f7f222e4898a00d66ddda # v4.1.0
|
uses: pnpm/action-setup@41ff72655975bd51cab0327fa583b6e92b6d3061 # v4.2.0
|
||||||
- name: Setup Node
|
- name: Setup Node
|
||||||
uses: actions/setup-node@49933ea5288caeca8642d1e84afbd3f7d6820020 # v4.4.0
|
uses: actions/setup-node@a0853c24544627f65ddf259abe73b1d18a591444 # v5.0.0
|
||||||
with:
|
with:
|
||||||
node-version-file: './e2e/.nvmrc'
|
node-version-file: './e2e/.nvmrc'
|
||||||
cache: 'pnpm'
|
cache: 'pnpm'
|
||||||
@@ -394,15 +465,22 @@ jobs:
|
|||||||
matrix:
|
matrix:
|
||||||
runner: [ubuntu-latest, ubuntu-24.04-arm]
|
runner: [ubuntu-latest, ubuntu-24.04-arm]
|
||||||
steps:
|
steps:
|
||||||
|
- id: token
|
||||||
|
uses: immich-app/devtools/actions/create-workflow-token@da177fa133657503ddb7503f8ba53dccefec5da1 # create-workflow-token-action-v1.0.0
|
||||||
|
with:
|
||||||
|
app-id: ${{ secrets.PUSH_O_MATIC_APP_ID }}
|
||||||
|
private-key: ${{ secrets.PUSH_O_MATIC_APP_KEY }}
|
||||||
|
|
||||||
- name: Checkout code
|
- name: Checkout code
|
||||||
uses: actions/checkout@08eba0b27e820071cde6df949e0beb9ba4906955 # v4.3.0
|
uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0
|
||||||
with:
|
with:
|
||||||
persist-credentials: false
|
persist-credentials: false
|
||||||
submodules: 'recursive'
|
submodules: 'recursive'
|
||||||
|
token: ${{ steps.token.outputs.token }}
|
||||||
- name: Setup pnpm
|
- name: Setup pnpm
|
||||||
uses: pnpm/action-setup@a7487c7e89a18df4991f7f222e4898a00d66ddda # v4.1.0
|
uses: pnpm/action-setup@41ff72655975bd51cab0327fa583b6e92b6d3061 # v4.2.0
|
||||||
- name: Setup Node
|
- name: Setup Node
|
||||||
uses: actions/setup-node@49933ea5288caeca8642d1e84afbd3f7d6820020 # v4.4.0
|
uses: actions/setup-node@a0853c24544627f65ddf259abe73b1d18a591444 # v5.0.0
|
||||||
with:
|
with:
|
||||||
node-version-file: './e2e/.nvmrc'
|
node-version-file: './e2e/.nvmrc'
|
||||||
cache: 'pnpm'
|
cache: 'pnpm'
|
||||||
@@ -441,9 +519,16 @@ jobs:
|
|||||||
permissions:
|
permissions:
|
||||||
contents: read
|
contents: read
|
||||||
steps:
|
steps:
|
||||||
- uses: actions/checkout@08eba0b27e820071cde6df949e0beb9ba4906955 # v4.3.0
|
- id: token
|
||||||
|
uses: immich-app/devtools/actions/create-workflow-token@da177fa133657503ddb7503f8ba53dccefec5da1 # create-workflow-token-action-v1.0.0
|
||||||
|
with:
|
||||||
|
app-id: ${{ secrets.PUSH_O_MATIC_APP_ID }}
|
||||||
|
private-key: ${{ secrets.PUSH_O_MATIC_APP_KEY }}
|
||||||
|
|
||||||
|
- uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0
|
||||||
with:
|
with:
|
||||||
persist-credentials: false
|
persist-credentials: false
|
||||||
|
token: ${{ steps.token.outputs.token }}
|
||||||
- name: Setup Flutter SDK
|
- name: Setup Flutter SDK
|
||||||
uses: subosito/flutter-action@fd55f4c5af5b953cc57a2be44cb082c8f6635e8e # v2.21.0
|
uses: subosito/flutter-action@fd55f4c5af5b953cc57a2be44cb082c8f6635e8e # v2.21.0
|
||||||
with:
|
with:
|
||||||
@@ -466,12 +551,19 @@ jobs:
|
|||||||
run:
|
run:
|
||||||
working-directory: ./machine-learning
|
working-directory: ./machine-learning
|
||||||
steps:
|
steps:
|
||||||
- uses: actions/checkout@08eba0b27e820071cde6df949e0beb9ba4906955 # v4.3.0
|
- id: token
|
||||||
|
uses: immich-app/devtools/actions/create-workflow-token@da177fa133657503ddb7503f8ba53dccefec5da1 # create-workflow-token-action-v1.0.0
|
||||||
|
with:
|
||||||
|
app-id: ${{ secrets.PUSH_O_MATIC_APP_ID }}
|
||||||
|
private-key: ${{ secrets.PUSH_O_MATIC_APP_KEY }}
|
||||||
|
|
||||||
|
- uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0
|
||||||
with:
|
with:
|
||||||
persist-credentials: false
|
persist-credentials: false
|
||||||
|
token: ${{ steps.token.outputs.token }}
|
||||||
- name: Install uv
|
- name: Install uv
|
||||||
uses: astral-sh/setup-uv@d4b2f3b6ecc6e67c4457f6d3e41ec42d3d0fcb86 # v5.4.2
|
uses: astral-sh/setup-uv@d0cc045d04ccac9d8b7881df0226f9e82c39688e # v6.8.0
|
||||||
- uses: actions/setup-python@a26af69be951a213d495a4c3e4e4022e16d87065 # v5.6.0
|
- uses: actions/setup-python@e797f83bcb11b83ae66e0230d6156d7c80228e7c # v6.0.0
|
||||||
# TODO: add caching when supported (https://github.com/actions/setup-python/pull/818)
|
# TODO: add caching when supported (https://github.com/actions/setup-python/pull/818)
|
||||||
# with:
|
# with:
|
||||||
# python-version: 3.11
|
# python-version: 3.11
|
||||||
@@ -502,14 +594,21 @@ jobs:
|
|||||||
run:
|
run:
|
||||||
working-directory: ./.github
|
working-directory: ./.github
|
||||||
steps:
|
steps:
|
||||||
|
- id: token
|
||||||
|
uses: immich-app/devtools/actions/create-workflow-token@da177fa133657503ddb7503f8ba53dccefec5da1 # create-workflow-token-action-v1.0.0
|
||||||
|
with:
|
||||||
|
app-id: ${{ secrets.PUSH_O_MATIC_APP_ID }}
|
||||||
|
private-key: ${{ secrets.PUSH_O_MATIC_APP_KEY }}
|
||||||
|
|
||||||
- name: Checkout code
|
- name: Checkout code
|
||||||
uses: actions/checkout@08eba0b27e820071cde6df949e0beb9ba4906955 # v4.3.0
|
uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0
|
||||||
with:
|
with:
|
||||||
persist-credentials: false
|
persist-credentials: false
|
||||||
|
token: ${{ steps.token.outputs.token }}
|
||||||
- name: Setup pnpm
|
- name: Setup pnpm
|
||||||
uses: pnpm/action-setup@a7487c7e89a18df4991f7f222e4898a00d66ddda # v4.1.0
|
uses: pnpm/action-setup@41ff72655975bd51cab0327fa583b6e92b6d3061 # v4.2.0
|
||||||
- name: Setup Node
|
- name: Setup Node
|
||||||
uses: actions/setup-node@49933ea5288caeca8642d1e84afbd3f7d6820020 # v4.4.0
|
uses: actions/setup-node@a0853c24544627f65ddf259abe73b1d18a591444 # v5.0.0
|
||||||
with:
|
with:
|
||||||
node-version-file: './.github/.nvmrc'
|
node-version-file: './.github/.nvmrc'
|
||||||
cache: 'pnpm'
|
cache: 'pnpm'
|
||||||
@@ -525,9 +624,16 @@ jobs:
|
|||||||
permissions:
|
permissions:
|
||||||
contents: read
|
contents: read
|
||||||
steps:
|
steps:
|
||||||
- uses: actions/checkout@08eba0b27e820071cde6df949e0beb9ba4906955 # v4.3.0
|
- id: token
|
||||||
|
uses: immich-app/devtools/actions/create-workflow-token@da177fa133657503ddb7503f8ba53dccefec5da1 # create-workflow-token-action-v1.0.0
|
||||||
|
with:
|
||||||
|
app-id: ${{ secrets.PUSH_O_MATIC_APP_ID }}
|
||||||
|
private-key: ${{ secrets.PUSH_O_MATIC_APP_KEY }}
|
||||||
|
|
||||||
|
- uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0
|
||||||
with:
|
with:
|
||||||
persist-credentials: false
|
persist-credentials: false
|
||||||
|
token: ${{ steps.token.outputs.token }}
|
||||||
- name: Run ShellCheck
|
- name: Run ShellCheck
|
||||||
uses: ludeeus/action-shellcheck@00cae500b08a931fb5698e11e79bfbd38e612a38 # 2.0.0
|
uses: ludeeus/action-shellcheck@00cae500b08a931fb5698e11e79bfbd38e612a38 # 2.0.0
|
||||||
with:
|
with:
|
||||||
@@ -539,14 +645,21 @@ jobs:
|
|||||||
permissions:
|
permissions:
|
||||||
contents: read
|
contents: read
|
||||||
steps:
|
steps:
|
||||||
|
- id: token
|
||||||
|
uses: immich-app/devtools/actions/create-workflow-token@da177fa133657503ddb7503f8ba53dccefec5da1 # create-workflow-token-action-v1.0.0
|
||||||
|
with:
|
||||||
|
app-id: ${{ secrets.PUSH_O_MATIC_APP_ID }}
|
||||||
|
private-key: ${{ secrets.PUSH_O_MATIC_APP_KEY }}
|
||||||
|
|
||||||
- name: Checkout code
|
- name: Checkout code
|
||||||
uses: actions/checkout@08eba0b27e820071cde6df949e0beb9ba4906955 # v4.3.0
|
uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0
|
||||||
with:
|
with:
|
||||||
persist-credentials: false
|
persist-credentials: false
|
||||||
|
token: ${{ steps.token.outputs.token }}
|
||||||
- name: Setup pnpm
|
- name: Setup pnpm
|
||||||
uses: pnpm/action-setup@a7487c7e89a18df4991f7f222e4898a00d66ddda # v4.1.0
|
uses: pnpm/action-setup@41ff72655975bd51cab0327fa583b6e92b6d3061 # v4.2.0
|
||||||
- name: Setup Node
|
- name: Setup Node
|
||||||
uses: actions/setup-node@49933ea5288caeca8642d1e84afbd3f7d6820020 # v4.4.0
|
uses: actions/setup-node@a0853c24544627f65ddf259abe73b1d18a591444 # v5.0.0
|
||||||
with:
|
with:
|
||||||
node-version-file: './server/.nvmrc'
|
node-version-file: './server/.nvmrc'
|
||||||
cache: 'pnpm'
|
cache: 'pnpm'
|
||||||
@@ -581,7 +694,7 @@ jobs:
|
|||||||
contents: read
|
contents: read
|
||||||
services:
|
services:
|
||||||
postgres:
|
postgres:
|
||||||
image: ghcr.io/immich-app/postgres:14-vectorchord0.4.3@sha256:da52bbead5d818adaa8077c8dcdaad0aaf93038c31ad8348b51f9f0ec1310a4d
|
image: ghcr.io/immich-app/postgres:14-vectorchord0.4.3@sha256:dbf18b3ffea4a81434c65b71e20d27203baf903a0275f4341e4c16dfd901fd67
|
||||||
env:
|
env:
|
||||||
POSTGRES_PASSWORD: postgres
|
POSTGRES_PASSWORD: postgres
|
||||||
POSTGRES_USER: postgres
|
POSTGRES_USER: postgres
|
||||||
@@ -594,14 +707,21 @@ jobs:
|
|||||||
run:
|
run:
|
||||||
working-directory: ./server
|
working-directory: ./server
|
||||||
steps:
|
steps:
|
||||||
|
- id: token
|
||||||
|
uses: immich-app/devtools/actions/create-workflow-token@da177fa133657503ddb7503f8ba53dccefec5da1 # create-workflow-token-action-v1.0.0
|
||||||
|
with:
|
||||||
|
app-id: ${{ secrets.PUSH_O_MATIC_APP_ID }}
|
||||||
|
private-key: ${{ secrets.PUSH_O_MATIC_APP_KEY }}
|
||||||
|
|
||||||
- name: Checkout code
|
- name: Checkout code
|
||||||
uses: actions/checkout@08eba0b27e820071cde6df949e0beb9ba4906955 # v4.3.0
|
uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0
|
||||||
with:
|
with:
|
||||||
persist-credentials: false
|
persist-credentials: false
|
||||||
|
token: ${{ steps.token.outputs.token }}
|
||||||
- name: Setup pnpm
|
- name: Setup pnpm
|
||||||
uses: pnpm/action-setup@a7487c7e89a18df4991f7f222e4898a00d66ddda # v4.1.0
|
uses: pnpm/action-setup@41ff72655975bd51cab0327fa583b6e92b6d3061 # v4.2.0
|
||||||
- name: Setup Node
|
- name: Setup Node
|
||||||
uses: actions/setup-node@49933ea5288caeca8642d1e84afbd3f7d6820020 # v4.4.0
|
uses: actions/setup-node@a0853c24544627f65ddf259abe73b1d18a591444 # v5.0.0
|
||||||
with:
|
with:
|
||||||
node-version-file: './server/.nvmrc'
|
node-version-file: './server/.nvmrc'
|
||||||
cache: 'pnpm'
|
cache: 'pnpm'
|
||||||
|
|||||||
17
.github/workflows/weblate-lock.yml
vendored
@@ -23,10 +23,17 @@ jobs:
|
|||||||
outputs:
|
outputs:
|
||||||
should_run: ${{ steps.check.outputs.should_run }}
|
should_run: ${{ steps.check.outputs.should_run }}
|
||||||
steps:
|
steps:
|
||||||
|
- id: token
|
||||||
|
uses: immich-app/devtools/actions/create-workflow-token@da177fa133657503ddb7503f8ba53dccefec5da1 # create-workflow-token-action-v1.0.0
|
||||||
|
with:
|
||||||
|
app-id: ${{ secrets.PUSH_O_MATIC_APP_ID }}
|
||||||
|
private-key: ${{ secrets.PUSH_O_MATIC_APP_KEY }}
|
||||||
|
|
||||||
- name: Check what should run
|
- name: Check what should run
|
||||||
id: check
|
id: check
|
||||||
uses: immich-app/devtools/actions/pre-job@5f91b52dfbb92b8d96ca411ab59c896cd59714ca # pre-job-action-v1.1.0
|
uses: immich-app/devtools/actions/pre-job@08bac802a312fc89808e0dd589271ca0974087b5 # pre-job-action-v2.0.0
|
||||||
with:
|
with:
|
||||||
|
github-token: ${{ steps.token.outputs.token }}
|
||||||
filters: |
|
filters: |
|
||||||
i18n:
|
i18n:
|
||||||
- 'i18n/!(en)**\.json'
|
- 'i18n/!(en)**\.json'
|
||||||
@@ -40,10 +47,16 @@ jobs:
|
|||||||
permissions: {}
|
permissions: {}
|
||||||
if: ${{ fromJSON(needs.pre-job.outputs.should_run).i18n == true }}
|
if: ${{ fromJSON(needs.pre-job.outputs.should_run).i18n == true }}
|
||||||
steps:
|
steps:
|
||||||
|
- id: token
|
||||||
|
uses: immich-app/devtools/actions/create-workflow-token@da177fa133657503ddb7503f8ba53dccefec5da1 # create-workflow-token-action-v1.0.0
|
||||||
|
with:
|
||||||
|
app-id: ${{ secrets.PUSH_O_MATIC_APP_ID }}
|
||||||
|
private-key: ${{ secrets.PUSH_O_MATIC_APP_KEY }}
|
||||||
|
|
||||||
- name: Bot review status
|
- name: Bot review status
|
||||||
env:
|
env:
|
||||||
PR_NUMBER: ${{ github.event.pull_request.number || github.event.pull_request_review.pull_request.number }}
|
PR_NUMBER: ${{ github.event.pull_request.number || github.event.pull_request_review.pull_request.number }}
|
||||||
GH_TOKEN: ${{ github.token }}
|
GH_TOKEN: ${{ steps.token.outputs.token }}
|
||||||
run: |
|
run: |
|
||||||
# Then check for APPROVED by the bot, if absent fail
|
# Then check for APPROVED by the bot, if absent fail
|
||||||
gh pr view "$PR_NUMBER" --repo "$GITHUB_REPOSITORY" --json reviews | jq -e '.reviews | map(select(.author.login == env.BOT_NAME and .state == "APPROVED")) | length > 0' \
|
gh pr view "$PR_NUMBER" --repo "$GITHUB_REPOSITORY" --json reviews | jq -e '.reviews | map(select(.author.login == env.BOT_NAME and .state == "APPROVED")) | length > 0' \
|
||||||
|
|||||||
14
.vscode/launch.json
vendored
@@ -18,6 +18,20 @@
|
|||||||
"name": "Immich Workers",
|
"name": "Immich Workers",
|
||||||
"remoteRoot": "/usr/src/app/server",
|
"remoteRoot": "/usr/src/app/server",
|
||||||
"localRoot": "${workspaceFolder}/server"
|
"localRoot": "${workspaceFolder}/server"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"type": "node",
|
||||||
|
"request": "launch",
|
||||||
|
"name": "Immich CLI",
|
||||||
|
"program": "${workspaceFolder}/cli/dist/index.js",
|
||||||
|
"args": ["upload", "--help"],
|
||||||
|
"runtimeArgs": ["--enable-source-maps"],
|
||||||
|
"console": "integratedTerminal",
|
||||||
|
"resolveSourceMapLocations": ["${workspaceFolder}/cli/dist/**/*.js.map"],
|
||||||
|
"sourceMaps": true,
|
||||||
|
"outFiles": ["${workspaceFolder}/cli/dist/**/*.js"],
|
||||||
|
"skipFiles": ["<node_internals>/**"],
|
||||||
|
"preLaunchTask": "Build Immich CLI"
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
}
|
}
|
||||||
|
|||||||
8
.vscode/tasks.json
vendored
@@ -5,6 +5,7 @@
|
|||||||
"label": "Fix Permissions, Install Dependencies",
|
"label": "Fix Permissions, Install Dependencies",
|
||||||
"type": "shell",
|
"type": "shell",
|
||||||
"command": "[ -f /immich-devcontainer/container-start.sh ] && /immich-devcontainer/container-start.sh || exit 0",
|
"command": "[ -f /immich-devcontainer/container-start.sh ] && /immich-devcontainer/container-start.sh || exit 0",
|
||||||
|
"isBackground": true,
|
||||||
"presentation": {
|
"presentation": {
|
||||||
"echo": true,
|
"echo": true,
|
||||||
"reveal": "always",
|
"reveal": "always",
|
||||||
@@ -25,6 +26,7 @@
|
|||||||
"dependsOn": ["Fix Permissions, Install Dependencies"],
|
"dependsOn": ["Fix Permissions, Install Dependencies"],
|
||||||
"type": "shell",
|
"type": "shell",
|
||||||
"command": "[ -f /immich-devcontainer/container-start-backend.sh ] && /immich-devcontainer/container-start-backend.sh || exit 0",
|
"command": "[ -f /immich-devcontainer/container-start-backend.sh ] && /immich-devcontainer/container-start-backend.sh || exit 0",
|
||||||
|
"isBackground": true,
|
||||||
"presentation": {
|
"presentation": {
|
||||||
"echo": true,
|
"echo": true,
|
||||||
"reveal": "always",
|
"reveal": "always",
|
||||||
@@ -45,6 +47,7 @@
|
|||||||
"dependsOn": ["Fix Permissions, Install Dependencies"],
|
"dependsOn": ["Fix Permissions, Install Dependencies"],
|
||||||
"type": "shell",
|
"type": "shell",
|
||||||
"command": "[ -f /immich-devcontainer/container-start-frontend.sh ] && /immich-devcontainer/container-start-frontend.sh || exit 0",
|
"command": "[ -f /immich-devcontainer/container-start-frontend.sh ] && /immich-devcontainer/container-start-frontend.sh || exit 0",
|
||||||
|
"isBackground": true,
|
||||||
"presentation": {
|
"presentation": {
|
||||||
"echo": true,
|
"echo": true,
|
||||||
"reveal": "always",
|
"reveal": "always",
|
||||||
@@ -67,6 +70,11 @@
|
|||||||
"runOn": "folderOpen"
|
"runOn": "folderOpen"
|
||||||
},
|
},
|
||||||
"problemMatcher": []
|
"problemMatcher": []
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"label": "Build Immich CLI",
|
||||||
|
"type": "shell",
|
||||||
|
"command": "pnpm --filter cli build:dev"
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
}
|
}
|
||||||
|
|||||||
2
Makefile
@@ -91,8 +91,6 @@ format-%:
|
|||||||
pnpm --filter $(call map-package,$*) run format:fix
|
pnpm --filter $(call map-package,$*) run format:fix
|
||||||
lint-%:
|
lint-%:
|
||||||
pnpm --filter $(call map-package,$*) run lint:fix
|
pnpm --filter $(call map-package,$*) run lint:fix
|
||||||
lint-web:
|
|
||||||
pnpm --filter $(call map-package,$*) run lint:p
|
|
||||||
check-%:
|
check-%:
|
||||||
pnpm --filter $(call map-package,$*) run check
|
pnpm --filter $(call map-package,$*) run check
|
||||||
check-web:
|
check-web:
|
||||||
|
|||||||
24
README.md
@@ -28,7 +28,8 @@
|
|||||||
<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_zh_TW.md">正體中文</a>
|
||||||
<a href="readme_i18n/README_uk_UA.md">Українська</a>
|
<a href="readme_i18n/README_uk_UA.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>
|
||||||
@@ -38,26 +39,25 @@
|
|||||||
<a href="readme_i18n/README_th_TH.md">ภาษาไทย</a>
|
<a href="readme_i18n/README_th_TH.md">ภาษาไทย</a>
|
||||||
</p>
|
</p>
|
||||||
|
|
||||||
## Disclaimer
|
|
||||||
|
|
||||||
- ⚠️ The project is under **very active** development.
|
> [!WARNING]
|
||||||
- ⚠️ Expect bugs and breaking changes.
|
> ⚠️ Always follow [3-2-1](https://www.backblaze.com/blog/the-3-2-1-backup-strategy/) backup plan for your precious photos and videos!
|
||||||
- ⚠️ **Do not use the app as the only way to store your photos and videos.**
|
>
|
||||||
- ⚠️ Always follow [3-2-1](https://www.backblaze.com/blog/the-3-2-1-backup-strategy/) backup plan for your precious photos and videos!
|
|
||||||
|
|
||||||
> [!NOTE]
|
> [!NOTE]
|
||||||
> You can find the main documentation, including installation guides, at https://immich.app/.
|
> You can find the main documentation, including installation guides, at https://immich.app/.
|
||||||
|
|
||||||
## Links
|
## Links
|
||||||
|
|
||||||
- [Documentation](https://immich.app/docs)
|
- [Documentation](https://docs.immich.app/)
|
||||||
- [About](https://immich.app/docs/overview/introduction)
|
- [About](https://docs.immich.app/overview/introduction)
|
||||||
- [Installation](https://immich.app/docs/install/requirements)
|
- [Installation](https://docs.immich.app/install/requirements)
|
||||||
- [Roadmap](https://immich.app/roadmap)
|
- [Roadmap](https://immich.app/roadmap)
|
||||||
- [Demo](#demo)
|
- [Demo](#demo)
|
||||||
- [Features](#features)
|
- [Features](#features)
|
||||||
- [Translations](https://immich.app/docs/developer/translations)
|
- [Translations](https://docs.immich.app/developer/translations)
|
||||||
- [Contributing](https://immich.app/docs/overview/support-the-project)
|
- [Contributing](https://docs.immich.app/overview/support-the-project)
|
||||||
|
|
||||||
## Demo
|
## Demo
|
||||||
|
|
||||||
@@ -106,7 +106,7 @@ Access the demo [here](https://demo.immich.app). For the mobile app, you can use
|
|||||||
|
|
||||||
## Translations
|
## Translations
|
||||||
|
|
||||||
Read more about translations [here](https://immich.app/docs/developer/translations).
|
Read more about translations [here](https://docs.immich.app/developer/translations).
|
||||||
|
|
||||||
<a href="https://hosted.weblate.org/engage/immich/">
|
<a href="https://hosted.weblate.org/engage/immich/">
|
||||||
<img src="https://hosted.weblate.org/widget/immich/immich/multi-auto.svg" alt="Translation status" />
|
<img src="https://hosted.weblate.org/widget/immich/immich/multi-auto.svg" alt="Translation status" />
|
||||||
|
|||||||
@@ -1 +1 @@
|
|||||||
22.19.0
|
22.20.0
|
||||||
|
|||||||
@@ -1,30 +1,38 @@
|
|||||||
A command-line interface for interfacing with the self-hosted photo manager [Immich](https://immich.app/).
|
A command-line interface for interfacing with the self-hosted photo manager [Immich](https://immich.app/).
|
||||||
|
|
||||||
Please see the [Immich CLI documentation](https://immich.app/docs/features/command-line-interface).
|
Please see the [Immich CLI documentation](https://docs.immich.app/features/command-line-interface).
|
||||||
|
|
||||||
# For developers
|
# For developers
|
||||||
|
|
||||||
Before building the CLI, you must build the immich server and the open-api client. To build the server run the following in the server folder:
|
Before building the CLI, you must build the immich server and the open-api client. To build the server run the following in the server folder:
|
||||||
|
|
||||||
$ npm install
|
$ pnpm install
|
||||||
$ npm run build
|
$ pnpm run build
|
||||||
|
|
||||||
Then, to build the open-api client run the following in the open-api folder:
|
Then, to build the open-api client run the following in the open-api folder:
|
||||||
|
|
||||||
$ ./bin/generate-open-api.sh
|
$ ./bin/generate-open-api.sh
|
||||||
|
|
||||||
To run the Immich CLI from source, run the following in the cli folder:
|
## Run from build
|
||||||
|
|
||||||
$ npm install
|
Go to the cli folder and build it:
|
||||||
$ npm run build
|
|
||||||
$ ts-node .
|
|
||||||
|
|
||||||
You'll need ts-node, the easiest way to install it is to use npm:
|
$ pnpm install
|
||||||
|
$ pnpm run build
|
||||||
|
$ node dist/index.js
|
||||||
|
|
||||||
$ npm i -g ts-node
|
## Run and Debug from source (VSCode)
|
||||||
|
|
||||||
|
With VScode you can run and debug the Immich CLI. Go to the launch.json file, find the Immich CLI config and change this with the command you need to debug
|
||||||
|
|
||||||
|
`"args": ["upload", "--help"],`
|
||||||
|
|
||||||
|
replace that for the command of your choice.
|
||||||
|
|
||||||
|
## Install from build
|
||||||
|
|
||||||
You can also build and install the CLI using
|
You can also build and install the CLI using
|
||||||
|
|
||||||
$ npm run build
|
$ pnpm run build
|
||||||
$ npm install -g .
|
$ pnpm install -g .
|
||||||
****
|
****
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
{
|
{
|
||||||
"name": "@immich/cli",
|
"name": "@immich/cli",
|
||||||
"version": "2.2.92",
|
"version": "2.2.97",
|
||||||
"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/lodash-es": "^4.17.12",
|
"@types/lodash-es": "^4.17.12",
|
||||||
"@types/micromatch": "^4.0.9",
|
"@types/micromatch": "^4.0.9",
|
||||||
"@types/mock-fs": "^4.13.1",
|
"@types/mock-fs": "^4.13.1",
|
||||||
"@types/node": "^22.18.1",
|
"@types/node": "^22.18.10",
|
||||||
"@vitest/coverage-v8": "^3.0.0",
|
"@vitest/coverage-v8": "^3.0.0",
|
||||||
"byte-size": "^9.0.0",
|
"byte-size": "^9.0.0",
|
||||||
"cli-progress": "^3.12.0",
|
"cli-progress": "^3.12.0",
|
||||||
@@ -43,6 +43,7 @@
|
|||||||
},
|
},
|
||||||
"scripts": {
|
"scripts": {
|
||||||
"build": "vite build",
|
"build": "vite build",
|
||||||
|
"build:dev": "vite build --sourcemap true",
|
||||||
"lint": "eslint \"src/**/*.ts\" --max-warnings 0",
|
"lint": "eslint \"src/**/*.ts\" --max-warnings 0",
|
||||||
"lint:fix": "npm run lint -- --fix",
|
"lint:fix": "npm run lint -- --fix",
|
||||||
"prepack": "npm run build",
|
"prepack": "npm run build",
|
||||||
@@ -68,6 +69,6 @@
|
|||||||
"micromatch": "^4.0.8"
|
"micromatch": "^4.0.8"
|
||||||
},
|
},
|
||||||
"volta": {
|
"volta": {
|
||||||
"node": "22.19.0"
|
"node": "22.20.0"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,5 +1,5 @@
|
|||||||
#
|
#
|
||||||
# WARNING: To install Immich, follow our guide: https://immich.app/docs/install/docker-compose
|
# WARNING: To install Immich, follow our guide: https://docs.immich.app/install/docker-compose
|
||||||
#
|
#
|
||||||
# Make sure to use the docker-compose.yml of the current release:
|
# Make sure to use the docker-compose.yml of the current release:
|
||||||
#
|
#
|
||||||
@@ -8,8 +8,8 @@
|
|||||||
# The compose file on main may not be compatible with the latest release.
|
# The compose file on main may not be compatible with the latest release.
|
||||||
|
|
||||||
# For development see:
|
# For development see:
|
||||||
# - https://immich.app/docs/developer/setup
|
# - https://docs.immich.app/developer/setup
|
||||||
# - https://immich.app/docs/developer/troubleshooting
|
# - https://docs.immich.app/developer/troubleshooting
|
||||||
|
|
||||||
name: immich-dev
|
name: immich-dev
|
||||||
|
|
||||||
@@ -55,8 +55,8 @@ services:
|
|||||||
IMMICH_BUILD_IMAGE_URL: https://github.com/immich-app/immich/pkgs/container/immich-server
|
IMMICH_BUILD_IMAGE_URL: https://github.com/immich-app/immich/pkgs/container/immich-server
|
||||||
IMMICH_THIRD_PARTY_SOURCE_URL: https://github.com/immich-app/immich/
|
IMMICH_THIRD_PARTY_SOURCE_URL: https://github.com/immich-app/immich/
|
||||||
IMMICH_THIRD_PARTY_BUG_FEATURE_URL: https://github.com/immich-app/immich/issues
|
IMMICH_THIRD_PARTY_BUG_FEATURE_URL: https://github.com/immich-app/immich/issues
|
||||||
IMMICH_THIRD_PARTY_DOCUMENTATION_URL: https://immich.app/docs
|
IMMICH_THIRD_PARTY_DOCUMENTATION_URL: https://docs.immich.app
|
||||||
IMMICH_THIRD_PARTY_SUPPORT_URL: https://immich.app/docs/community-guides
|
IMMICH_THIRD_PARTY_SUPPORT_URL: https://docs.immich.app/community-guides
|
||||||
ulimits:
|
ulimits:
|
||||||
nofile:
|
nofile:
|
||||||
soft: 1048576
|
soft: 1048576
|
||||||
@@ -134,13 +134,13 @@ services:
|
|||||||
|
|
||||||
redis:
|
redis:
|
||||||
container_name: immich_redis
|
container_name: immich_redis
|
||||||
image: docker.io/valkey/valkey:8-bookworm@sha256:fea8b3e67b15729d4bb70589eb03367bab9ad1ee89c876f54327fc7c6e618571
|
image: docker.io/valkey/valkey:8@sha256:81db6d39e1bba3b3ff32bd3a1b19a6d69690f94a3954ec131277b9a26b95b3aa
|
||||||
healthcheck:
|
healthcheck:
|
||||||
test: redis-cli ping || exit 1
|
test: redis-cli ping || exit 1
|
||||||
|
|
||||||
database:
|
database:
|
||||||
container_name: immich_postgres
|
container_name: immich_postgres
|
||||||
image: ghcr.io/immich-app/postgres:14-vectorchord0.4.3-pgvectors0.2.0@sha256:41eacbe83eca995561fe43814fd4891e16e39632806253848efaf04d3c8a8b84
|
image: ghcr.io/immich-app/postgres:14-vectorchord0.4.3-pgvectors0.2.0@sha256:bcf63357191b76a916ae5eb93464d65c07511da41e3bf7a8416db519b40b1c23
|
||||||
env_file:
|
env_file:
|
||||||
- .env
|
- .env
|
||||||
environment:
|
environment:
|
||||||
|
|||||||
@@ -1,5 +1,5 @@
|
|||||||
#
|
#
|
||||||
# WARNING: To install Immich, follow our guide: https://immich.app/docs/install/docker-compose
|
# WARNING: To install Immich, follow our guide: https://docs.immich.app/install/docker-compose
|
||||||
#
|
#
|
||||||
# Make sure to use the docker-compose.yml of the current release:
|
# Make sure to use the docker-compose.yml of the current release:
|
||||||
#
|
#
|
||||||
@@ -56,14 +56,14 @@ services:
|
|||||||
|
|
||||||
redis:
|
redis:
|
||||||
container_name: immich_redis
|
container_name: immich_redis
|
||||||
image: docker.io/valkey/valkey:8-bookworm@sha256:fea8b3e67b15729d4bb70589eb03367bab9ad1ee89c876f54327fc7c6e618571
|
image: docker.io/valkey/valkey:8@sha256:81db6d39e1bba3b3ff32bd3a1b19a6d69690f94a3954ec131277b9a26b95b3aa
|
||||||
healthcheck:
|
healthcheck:
|
||||||
test: redis-cli ping || exit 1
|
test: redis-cli ping || exit 1
|
||||||
restart: always
|
restart: always
|
||||||
|
|
||||||
database:
|
database:
|
||||||
container_name: immich_postgres
|
container_name: immich_postgres
|
||||||
image: ghcr.io/immich-app/postgres:14-vectorchord0.4.3-pgvectors0.2.0@sha256:41eacbe83eca995561fe43814fd4891e16e39632806253848efaf04d3c8a8b84
|
image: ghcr.io/immich-app/postgres:14-vectorchord0.4.3-pgvectors0.2.0@sha256:bcf63357191b76a916ae5eb93464d65c07511da41e3bf7a8416db519b40b1c23
|
||||||
env_file:
|
env_file:
|
||||||
- .env
|
- .env
|
||||||
environment:
|
environment:
|
||||||
|
|||||||
@@ -1,5 +1,5 @@
|
|||||||
#
|
#
|
||||||
# WARNING: To install Immich, follow our guide: https://immich.app/docs/install/docker-compose
|
# WARNING: To install Immich, follow our guide: https://docs.immich.app/install/docker-compose
|
||||||
#
|
#
|
||||||
# Make sure to use the docker-compose.yml of the current release:
|
# Make sure to use the docker-compose.yml of the current release:
|
||||||
#
|
#
|
||||||
@@ -36,7 +36,7 @@ services:
|
|||||||
# For hardware acceleration, add one of -[armnn, cuda, rocm, openvino, rknn] to the image tag.
|
# For hardware acceleration, add one of -[armnn, cuda, rocm, openvino, rknn] to the image tag.
|
||||||
# Example tag: ${IMMICH_VERSION:-release}-cuda
|
# Example tag: ${IMMICH_VERSION:-release}-cuda
|
||||||
image: ghcr.io/immich-app/immich-machine-learning:${IMMICH_VERSION:-release}
|
image: ghcr.io/immich-app/immich-machine-learning:${IMMICH_VERSION:-release}
|
||||||
# extends: # uncomment this section for hardware acceleration - see https://immich.app/docs/features/ml-hardware-acceleration
|
# extends: # uncomment this section for hardware acceleration - see https://docs.immich.app/features/ml-hardware-acceleration
|
||||||
# file: hwaccel.ml.yml
|
# file: hwaccel.ml.yml
|
||||||
# service: cpu # set to one of [armnn, cuda, rocm, openvino, openvino-wsl, rknn] for accelerated inference - use the `-wsl` version for WSL2 where applicable
|
# service: cpu # set to one of [armnn, cuda, rocm, openvino, openvino-wsl, rknn] for accelerated inference - use the `-wsl` version for WSL2 where applicable
|
||||||
volumes:
|
volumes:
|
||||||
@@ -49,14 +49,14 @@ services:
|
|||||||
|
|
||||||
redis:
|
redis:
|
||||||
container_name: immich_redis
|
container_name: immich_redis
|
||||||
image: docker.io/valkey/valkey:8-bookworm@sha256:fea8b3e67b15729d4bb70589eb03367bab9ad1ee89c876f54327fc7c6e618571
|
image: docker.io/valkey/valkey:8@sha256:81db6d39e1bba3b3ff32bd3a1b19a6d69690f94a3954ec131277b9a26b95b3aa
|
||||||
healthcheck:
|
healthcheck:
|
||||||
test: redis-cli ping || exit 1
|
test: redis-cli ping || exit 1
|
||||||
restart: always
|
restart: always
|
||||||
|
|
||||||
database:
|
database:
|
||||||
container_name: immich_postgres
|
container_name: immich_postgres
|
||||||
image: ghcr.io/immich-app/postgres:14-vectorchord0.4.3-pgvectors0.2.0@sha256:41eacbe83eca995561fe43814fd4891e16e39632806253848efaf04d3c8a8b84
|
image: ghcr.io/immich-app/postgres:14-vectorchord0.4.3-pgvectors0.2.0@sha256:bcf63357191b76a916ae5eb93464d65c07511da41e3bf7a8416db519b40b1c23
|
||||||
environment:
|
environment:
|
||||||
POSTGRES_PASSWORD: ${DB_PASSWORD}
|
POSTGRES_PASSWORD: ${DB_PASSWORD}
|
||||||
POSTGRES_USER: ${DB_USERNAME}
|
POSTGRES_USER: ${DB_USERNAME}
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
# You can find documentation for all the supported env variables at https://immich.app/docs/install/environment-variables
|
# You can find documentation for all the supported env variables at https://docs.immich.app/install/environment-variables
|
||||||
|
|
||||||
# The location where your uploaded files are stored
|
# The location where your uploaded files are stored
|
||||||
UPLOAD_LOCATION=./library
|
UPLOAD_LOCATION=./library
|
||||||
|
|||||||
@@ -4,7 +4,7 @@
|
|||||||
# you can inline the config for a backend by copying its contents
|
# you can inline the config for a backend by copying its contents
|
||||||
# into the immich-machine-learning service in the docker-compose.yml file.
|
# into the immich-machine-learning service in the docker-compose.yml file.
|
||||||
|
|
||||||
# See https://immich.app/docs/features/ml-hardware-acceleration for info on usage.
|
# See https://docs.immich.app/features/ml-hardware-acceleration for info on usage.
|
||||||
|
|
||||||
services:
|
services:
|
||||||
armnn:
|
armnn:
|
||||||
|
|||||||
@@ -4,7 +4,7 @@
|
|||||||
# you can inline the config for a backend by copying its contents
|
# you can inline the config for a backend by copying its contents
|
||||||
# into the immich-microservices service in the docker-compose.yml file.
|
# into the immich-microservices service in the docker-compose.yml file.
|
||||||
|
|
||||||
# See https://immich.app/docs/features/hardware-transcoding for more info on using hardware transcoding.
|
# See https://docs.immich.app/features/hardware-transcoding for more info on using hardware transcoding.
|
||||||
|
|
||||||
services:
|
services:
|
||||||
cpu: {}
|
cpu: {}
|
||||||
|
|||||||
@@ -1 +1 @@
|
|||||||
22.19.0
|
22.20.0
|
||||||
|
|||||||
@@ -22,7 +22,7 @@ For organizations seeking to resell Immich, we have established the following gu
|
|||||||
|
|
||||||
- Do not misrepresent your reseller site or services as being officially affiliated with or endorsed by Immich or our development team.
|
- Do not misrepresent your reseller site or services as being officially affiliated with or endorsed by Immich or our development team.
|
||||||
|
|
||||||
- For small resellers who wish to contribute financially to Immich's development, we recommend directing your customers to purchase licenses directy from us rather than attempting to broker revenue-sharing arrangements. We ask that you refrain from misrepresenting reseller activities as directly supporting our development work.
|
- For small resellers who wish to contribute financially to Immich's development, we recommend directing your customers to purchase licenses directly from us rather than attempting to broker revenue-sharing arrangements. We ask that you refrain from misrepresenting reseller activities as directly supporting our development work.
|
||||||
|
|
||||||
When in doubt or if you have an edge case scenario, we encourage you to contact us directly via email to discuss the use of our trademark. We can provide clear guidance on what is acceptable and what is not. You can reach out at: questions@immich.app
|
When in doubt or if you have an edge case scenario, we encourage you to contact us directly via email to discuss the use of our trademark. We can provide clear guidance on what is acceptable and what is not. You can reach out at: questions@immich.app
|
||||||
|
|
||||||
|
|||||||
@@ -57,6 +57,7 @@ Then please follow the steps in the following section for restoring the database
|
|||||||
<TabItem value="Linux system" label="Linux system" default>
|
<TabItem value="Linux system" label="Linux system" default>
|
||||||
|
|
||||||
```bash title='Backup'
|
```bash title='Backup'
|
||||||
|
# Replace <DB_USERNAME> with the database username - usually postgres unless you have changed it.
|
||||||
docker exec -t immich_postgres pg_dumpall --clean --if-exists --username=<DB_USERNAME> | gzip > "/path/to/backup/dump.sql.gz"
|
docker exec -t immich_postgres pg_dumpall --clean --if-exists --username=<DB_USERNAME> | gzip > "/path/to/backup/dump.sql.gz"
|
||||||
```
|
```
|
||||||
|
|
||||||
@@ -69,16 +70,18 @@ docker compose create # Create Docker containers for Immich apps witho
|
|||||||
docker start immich_postgres # Start Postgres server
|
docker start immich_postgres # Start Postgres server
|
||||||
sleep 10 # Wait for Postgres server to start up
|
sleep 10 # Wait for Postgres server to start up
|
||||||
# Check the database user if you deviated from the default
|
# Check the database user if you deviated from the default
|
||||||
|
# Replace <DB_USERNAME> with the database username - usually postgres unless you have changed it.
|
||||||
gunzip --stdout "/path/to/backup/dump.sql.gz" \
|
gunzip --stdout "/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" \
|
| 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 --dbname=postgres --username=<DB_USERNAME> # Restore Backup
|
| docker exec -i immich_postgres psql --dbname=postgres --username=<DB_USERNAME> # Restore Backup
|
||||||
docker compose up -d # Start remainder of Immich apps
|
docker compose up -d # Start remainder of Immich apps
|
||||||
```
|
```
|
||||||
|
|
||||||
</TabItem>
|
</TabItem>
|
||||||
<TabItem value="Windows system (PowerShell)" label="Windows system (PowerShell)">
|
<TabItem value="Windows system (PowerShell)" label="Windows system (PowerShell)">
|
||||||
|
|
||||||
```powershell title='Backup'
|
```powershell title='Backup'
|
||||||
|
# Replace <DB_USERNAME> with the database username - usually postgres unless you have changed it.
|
||||||
[System.IO.File]::WriteAllLines("C:\absolute\path\to\backup\dump.sql", (docker exec -t immich_postgres pg_dumpall --clean --if-exists --username=<DB_USERNAME>))
|
[System.IO.File]::WriteAllLines("C:\absolute\path\to\backup\dump.sql", (docker exec -t immich_postgres pg_dumpall --clean --if-exists --username=<DB_USERNAME>))
|
||||||
```
|
```
|
||||||
|
|
||||||
@@ -92,13 +95,15 @@ docker compose create # Create Docker containers for
|
|||||||
docker start immich_postgres # Start Postgres server
|
docker start immich_postgres # Start Postgres server
|
||||||
sleep 10 # Wait for Postgres server to start up
|
sleep 10 # Wait for Postgres server to start up
|
||||||
docker exec -it immich_postgres bash # Enter the Docker shell and run the following command
|
docker exec -it immich_postgres bash # Enter the Docker shell and run the following command
|
||||||
# Check the database user if you deviated from the default. If your backup ends in `.gz`, replace `cat` with `gunzip --stdout`
|
# If your backup ends in `.gz`, replace `cat` with `gunzip --stdout`
|
||||||
|
# Replace <DB_USERNAME> with the database username - usually postgres unless you have changed it.
|
||||||
|
|
||||||
cat "/dump.sql" | sed "s/SELECT pg_catalog.set_config('search_path', '', false);/SELECT pg_catalog.set_config('search_path', 'public, pg_catalog', true);/g" | psql --dbname=postgres --username=<DB_USERNAME>
|
cat "/dump.sql" | sed "s/SELECT pg_catalog.set_config('search_path', '', false);/SELECT pg_catalog.set_config('search_path', 'public, pg_catalog', true);/g" | psql --dbname=postgres --username=<DB_USERNAME>
|
||||||
exit # Exit the Docker shell
|
exit # Exit the Docker shell
|
||||||
docker compose up -d # Start remainder of Immich apps
|
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.), in which case you need to delete the `DB_DATA_LOCATION` folder to reset the database.
|
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.
|
||||||
|
|||||||
@@ -55,3 +55,19 @@ Additionally, some jobs (such as memories generation) run on a schedule, which i
|
|||||||
:::note
|
:::note
|
||||||
Some jobs ([External Libraries](/features/libraries) scanning, Database Dump) are configured in their own sections in System Settings.
|
Some jobs ([External Libraries](/features/libraries) scanning, Database Dump) are configured in their own sections in System Settings.
|
||||||
:::
|
:::
|
||||||
|
|
||||||
|
## Job processing order
|
||||||
|
|
||||||
|
The below diagram shows the job run order for newly uploaded files
|
||||||
|
|
||||||
|
```mermaid
|
||||||
|
graph TD
|
||||||
|
A[Asset Upload] --> B[Metadata Extraction]
|
||||||
|
B --> C[Storage Template Migration]
|
||||||
|
C --> D["Thumbnail Generation (Large, small, blurred and person)"]
|
||||||
|
D --> E[Smart Search]
|
||||||
|
D --> F[Face Detection]
|
||||||
|
D --> G[Video Transcoding]
|
||||||
|
E --> H[Duplicate Detection]
|
||||||
|
F --> I[Facial Recognition]
|
||||||
|
```
|
||||||
|
|||||||
@@ -6,6 +6,10 @@ Users can deploy a custom reverse proxy that forwards requests to Immich. This w
|
|||||||
Immich does not support being served on a sub-path such as `location /immich {`. It has to be served on the root path of a (sub)domain.
|
Immich does not support being served on a sub-path such as `location /immich {`. It has to be served on the root path of a (sub)domain.
|
||||||
:::
|
:::
|
||||||
|
|
||||||
|
:::info
|
||||||
|
If your reverse proxy uses the [Let's Encrypt](https://letsencrypt.org/) [http-01 challenge](https://letsencrypt.org/docs/challenge-types/#http-01-challenge), you may want to verify that the Immich well-known endpoint (`/.well-known/immich`) gets correctly routed to Immich, otherwise it will likely be routed elsewhere and the mobile app may run into connection issues.
|
||||||
|
:::
|
||||||
|
|
||||||
### Nginx example config
|
### Nginx example config
|
||||||
|
|
||||||
Below is an example config for nginx. Make sure to set `public_url` to the front-facing URL of your instance, and `backend_url` to the path of the Immich server.
|
Below is an example config for nginx. Make sure to set `public_url` to the front-facing URL of your instance, and `backend_url` to the path of the Immich server.
|
||||||
@@ -37,29 +41,14 @@ server {
|
|||||||
location / {
|
location / {
|
||||||
proxy_pass http://<backend_url>:2283;
|
proxy_pass http://<backend_url>:2283;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
# useful when using Let's Encrypt http-01 challenge
|
||||||
|
# location = /.well-known/immich {
|
||||||
|
# proxy_pass http://<backend_url>:2283;
|
||||||
|
# }
|
||||||
}
|
}
|
||||||
```
|
```
|
||||||
|
|
||||||
#### 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.
|
||||||
|
|||||||
@@ -1,12 +0,0 @@
|
|||||||
# Community Guides
|
|
||||||
|
|
||||||
This page lists community guides that are written around Immich, but not officially supported by the development team.
|
|
||||||
|
|
||||||
:::warning
|
|
||||||
This list comes with no guarantees about security, performance, reliability, or accuracy. Use at your own risk.
|
|
||||||
:::
|
|
||||||
|
|
||||||
import CommunityGuides from '../src/components/community-guides.tsx';
|
|
||||||
import React from 'react';
|
|
||||||
|
|
||||||
<CommunityGuides />
|
|
||||||
@@ -1,12 +0,0 @@
|
|||||||
# Community Projects
|
|
||||||
|
|
||||||
This page lists community projects that are built around Immich, but not officially supported by the development team.
|
|
||||||
|
|
||||||
:::warning
|
|
||||||
This list comes with no guarantees about security, performance, reliability, or accuracy. Use at your own risk.
|
|
||||||
:::
|
|
||||||
|
|
||||||
import CommunityProjects from '../src/components/community-projects.tsx';
|
|
||||||
import React from 'react';
|
|
||||||
|
|
||||||
<CommunityProjects />
|
|
||||||
@@ -4,7 +4,7 @@ Immich supports the Google's Cast protocol so that photos and videos can be cast
|
|||||||
|
|
||||||
## Enable Google Cast Support
|
## Enable Google Cast Support
|
||||||
|
|
||||||
Google Cast support is disabled by default. The web UI uses Google-provided scripts and must retreive them from Google servers when the page loads. This is a privacy concern for some and is thus opt-in.
|
Google Cast support is disabled by default. The web UI uses Google-provided scripts and must retrieve them from Google servers when the page loads. This is a privacy concern for some and is thus opt-in.
|
||||||
|
|
||||||
You can enable Google Cast support through `Account Settings > Features > Cast > Google Cast`
|
You can enable Google Cast support through `Account Settings > Features > Cast > Google Cast`
|
||||||
|
|
||||||
|
|||||||
@@ -182,7 +182,7 @@ For example to get a list of files that would be uploaded for further
|
|||||||
processing:
|
processing:
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
immich upload --dry-run . | tail -n +4 | jq .newFiles[]
|
immich upload --dry-run . | tail -n +6 | jq .newFiles[]
|
||||||
```
|
```
|
||||||
|
|
||||||
### Obtain the API Key
|
### Obtain the API Key
|
||||||
|
|||||||
@@ -1,5 +1,9 @@
|
|||||||
# External Libraries
|
# External Libraries
|
||||||
|
|
||||||
|
:::info
|
||||||
|
Currently an external library can only belong to a single user which is selected when the library is initially created.
|
||||||
|
:::
|
||||||
|
|
||||||
External libraries track assets stored in the filesystem outside of Immich. When the external library is scanned, Immich will load videos and photos from disk and create the corresponding assets. These assets will then be shown in the main timeline, and they will look and behave like any other asset, including viewing on the map, adding to albums, etc. Later, if a file is modified outside of Immich, you need to scan the library for the changes to show up.
|
External libraries track assets stored in the filesystem outside of Immich. When the external library is scanned, Immich will load videos and photos from disk and create the corresponding assets. These assets will then be shown in the main timeline, and they will look and behave like any other asset, including viewing on the map, adding to albums, etc. Later, if a file is modified outside of Immich, you need to scan the library for the changes to show up.
|
||||||
|
|
||||||
If an external asset is deleted from disk, Immich will move it to trash on rescan. To restore the asset, you need to restore the original file. After 30 days the file will be removed from trash, and any changes to metadata within Immich will be lost.
|
If an external asset is deleted from disk, Immich will move it to trash on rescan. To restore the asset, you need to restore the original file. After 30 days the file will be removed from trash, and any changes to metadata within Immich will be lost.
|
||||||
|
|||||||
@@ -54,9 +54,25 @@ You do not need to redo any machine learning jobs after enabling hardware accele
|
|||||||
#### OpenVINO
|
#### OpenVINO
|
||||||
|
|
||||||
- Integrated GPUs are more likely to experience issues than discrete GPUs, especially for older processors or servers with low RAM.
|
- Integrated GPUs are more likely to experience issues than discrete GPUs, especially for older processors or servers with low RAM.
|
||||||
- Ensure the server's kernel version is new enough to use the device for hardware accceleration.
|
- Ensure the server's kernel version is new enough to use the device for hardware acceleration.
|
||||||
- Expect higher RAM usage when using OpenVINO compared to CPU processing.
|
- Expect higher RAM usage when using OpenVINO compared to CPU processing.
|
||||||
|
|
||||||
|
#### OpenVINO-WSL
|
||||||
|
|
||||||
|
- Ensure your container can access the /dev/dri directory, you can verify this by doing `docker exec -t immich_machine_learning ls -la /dev/dri`. If this is not the case execute `getent group render` and `getent group video` on the WSL host, then add those groups to hwaccel.ml.yaml
|
||||||
|
```yaml
|
||||||
|
openvino-wsl:
|
||||||
|
devices:
|
||||||
|
- /dev/dri:/dev/dri
|
||||||
|
- /dev/dxg:/dev/dxg
|
||||||
|
volumes:
|
||||||
|
- /dev/bus/usb:/dev/bus/usb
|
||||||
|
- /usr/lib/wsl:/usr/lib/wsl
|
||||||
|
group_add:
|
||||||
|
- 44 # Replace this number with the number you found with getent group video
|
||||||
|
- 992 # Replace this number with the number you found with getent group render
|
||||||
|
```
|
||||||
|
|
||||||
#### RKNN
|
#### RKNN
|
||||||
|
|
||||||
- You must have a supported Rockchip SoC: only RK3566, RK3568, RK3576 and RK3588 are supported at this moment.
|
- You must have a supported Rockchip SoC: only RK3566, RK3568, RK3576 and RK3588 are supported at this moment.
|
||||||
|
|||||||
@@ -3,7 +3,6 @@ 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
|
||||||
|
|
||||||
|
|||||||
@@ -28,7 +28,7 @@ You can read this guide to learn more about [partner sharing](/features/partner-
|
|||||||
|
|
||||||
## Public sharing
|
## Public sharing
|
||||||
|
|
||||||
You can create a public link to share a group of photos or videos, or an album, with anyone. The public link can be shared via email, social media, or any other method. There are a varierity of options to customize the public link, such as setting an expiration date, password protection, and more. Public shared link is handy when you want to share a group of photos or videos with someone who doesn't have an Immich account and allow the shared user to upload their photos or videos to your account.
|
You can create a public link to share a group of photos or videos, or an album, with anyone. The public link can be shared via email, social media, or any other method. There are a variety of options to customize the public link, such as setting an expiration date, password protection, and more. Public shared link is handy when you want to share a group of photos or videos with someone who doesn't have an Immich account and allow the shared user to upload their photos or videos to your account.
|
||||||
|
|
||||||
The public shared link is generated with a random URL, which acts as as a secret to avoid the link being guessed by unwanted parties, for instance.
|
The public shared link is generated with a random URL, which acts as as a secret to avoid the link being guessed by unwanted parties, for instance.
|
||||||
|
|
||||||
|
|||||||
@@ -21,6 +21,10 @@ Restart Immich by running `docker compose up -d`.
|
|||||||
|
|
||||||
# Create the library
|
# Create the library
|
||||||
|
|
||||||
|
:::info
|
||||||
|
External library management requires administrator access and the steps below assume you are using an admin account.
|
||||||
|
:::
|
||||||
|
|
||||||
In the Immich web UI:
|
In the Immich web UI:
|
||||||
|
|
||||||
- click the **Administration** link in the upper right corner.
|
- click the **Administration** link in the upper right corner.
|
||||||
@@ -33,7 +37,7 @@ In the Immich web UI:
|
|||||||
<img src={require('./img/create-external-library.webp').default} width="50%" title="Create Library button" />
|
<img src={require('./img/create-external-library.webp').default} width="50%" title="Create Library button" />
|
||||||
|
|
||||||
- In the dialog, select which user should own the new library
|
- In the dialog, select which user should own the new library
|
||||||
<img src={require('./img/library-owner.webp').default} width="50%" title="Library owner diaglog" />
|
<img src={require('./img/library-owner.webp').default} width="50%" title="Library owner dialog" />
|
||||||
|
|
||||||
- Click the three-dots menu and select **Edit Import Paths**
|
- Click the three-dots menu and select **Edit Import Paths**
|
||||||
<img src={require('./img/edit-import-paths.webp').default} width="50%" title="Edit Import Paths menu option" />
|
<img src={require('./img/edit-import-paths.webp').default} width="50%" title="Edit Import Paths menu option" />
|
||||||
|
|||||||
@@ -171,6 +171,7 @@ Redis (Sentinel) URL example JSON before encoding:
|
|||||||
| `MACHINE_LEARNING_MAX_BATCH_SIZE__FACIAL_RECOGNITION` | Set the maximum number of faces that will be processed at once by the facial recognition model | None (`1` if using OpenVINO) | machine learning |
|
| `MACHINE_LEARNING_MAX_BATCH_SIZE__FACIAL_RECOGNITION` | Set the maximum number of faces that will be processed at once by the facial recognition model | None (`1` if using OpenVINO) | machine learning |
|
||||||
| `MACHINE_LEARNING_RKNN` | Enable RKNN hardware acceleration if supported | `True` | machine learning |
|
| `MACHINE_LEARNING_RKNN` | Enable RKNN hardware acceleration if supported | `True` | machine learning |
|
||||||
| `MACHINE_LEARNING_RKNN_THREADS` | How many threads of RKNN runtime should be spinned up while inferencing. | `1` | machine learning |
|
| `MACHINE_LEARNING_RKNN_THREADS` | How many threads of RKNN runtime should be spinned up while inferencing. | `1` | machine learning |
|
||||||
|
| `MACHINE_LEARNING_MODEL_ARENA` | Pre-allocates CPU memory to avoid memory fragmentation | true | machine learning |
|
||||||
|
|
||||||
\*1: It is recommended to begin with this parameter when changing the concurrency levels of the machine learning service and then tune the other ones.
|
\*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.
|
||||||
|
|
||||||
|
|||||||
32
docs/docs/install/one-click.md
Normal file
@@ -0,0 +1,32 @@
|
|||||||
|
---
|
||||||
|
sidebar_position: 65
|
||||||
|
---
|
||||||
|
|
||||||
|
# One-Click [Cloud Service]
|
||||||
|
|
||||||
|
:::note
|
||||||
|
This version of Immich is provided via cloud service providers' one-click marketplaces. Hosting costs are set by the cloud service providers.
|
||||||
|
Support for these are provided by the individual cloud service providers.
|
||||||
|
|
||||||
|
**Please report issues to the corresponding [Github Repository][github].**
|
||||||
|
:::
|
||||||
|
|
||||||
|
## Installation
|
||||||
|
|
||||||
|
Go to the provider's marketplace and choose Immich, then follow the provided instructions.
|
||||||
|
|
||||||
|
## One-Click Immich marketplace providers
|
||||||
|
|
||||||
|
### DigitalOcean
|
||||||
|
|
||||||
|
https://marketplace.digitalocean.com/apps/immich
|
||||||
|
|
||||||
|
### Vultr
|
||||||
|
|
||||||
|
https://www.vultr.com/marketplace/apps/immich
|
||||||
|
|
||||||
|
## Issues
|
||||||
|
|
||||||
|
For issues, open an issue on the associated [GitHub Repository][github].
|
||||||
|
|
||||||
|
[github]: https://github.com/immich-app/immich/
|
||||||
@@ -16,7 +16,7 @@ Immich can easily be installed on a Synology NAS using Container Manager within
|
|||||||
|
|
||||||
## Step 1 - Download the required files
|
## Step 1 - Download the required files
|
||||||
|
|
||||||
Create a directory of your choice (e.g. `./immich-app`) to house Immich. In general, it's a best practice to have all Docker-based applications running under the `./docker` directory, so in this case, your directory structure will look like `./docker/immich-app`.
|
Create a directory of your choice (e.g. `./immich-app`) to house Immich. In general, it's best practice to have all Docker-based applications running under the `./docker` directory, so in this case, your directory structure will look like `./docker/immich-app`.
|
||||||
|
|
||||||
Now create a `./postgres` and `./library` directory as sub-directories of the `./docker/immich-app`.
|
Now create a `./postgres` and `./library` directory as sub-directories of the `./docker/immich-app`.
|
||||||
|
|
||||||
@@ -25,7 +25,7 @@ When you're all done, you should have the following:
|
|||||||
- `./docker/immich-app/postgres`
|
- `./docker/immich-app/postgres`
|
||||||
- `./docker/immich-app/library`
|
- `./docker/immich-app/library`
|
||||||
|
|
||||||
Download [`docker-compose.yml`](https://github.com/immich-app/immich/releases/latest/download/docker-compose.yml) and [`example.env`](https://github.com/immich-app/immich/releases/latest/download/example.env) to your computer. Upload the files to the `./docker/immich-app` directory, and rename `example.env` to `.env`.
|
Download [`docker-compose.yml`](https://github.com/immich-app/immich/releases/latest/download/docker-compose.yml) and [`example.env`](https://github.com/immich-app/immich/releases/latest/download/example.env) to your computer. Upload the files to the `./docker/immich-app` directory, and rename `example.env` to `.env`. Note: If you plan to use the Synology Text editor to edit the `.env` file on the NAS within File Station, you will need to rename it to a temporary name (e.g. `example.txt`) in order to see 'Open with Text Editor' in the file context menu. Once saved, rename it back to `.env`.
|
||||||
|
|
||||||
## Step 2 - Populate the .env file with custom values
|
## Step 2 - Populate the .env file with custom values
|
||||||
|
|
||||||
@@ -34,23 +34,23 @@ Follow [Step 2 in Docker Compose](/install/docker-compose#step-2---populate-the-
|
|||||||
## Step 3 - Create a new project in Container Manager
|
## Step 3 - Create a new project in Container Manager
|
||||||
|
|
||||||
Open Container Manager, and select the "**Project**" action on the left navigation bar and then click "**Create**".
|
Open Container Manager, and select the "**Project**" action on the left navigation bar and then click "**Create**".
|
||||||

|

|
||||||
|
|
||||||
In the settings of your new project, set "**Project name**" to a name you'll remember, such as _immich-app_. When setting the "**Path**", select the `./docker/immich-app` directory you created earlier. Doing so will prompt a message to use the existing `docker-compose.yml` already present in the directory for your project. Click "**OK**" to continue.
|
In the settings of your new project, set "**Project name**" to a name you'll remember, such as _immich-app_. When setting the "**Path**", select the `./docker/immich-app` directory you created earlier. Doing so will prompt a message to use the existing `docker-compose.yml` already present in the directory for your project. Click "**OK**" to continue.
|
||||||
|
|
||||||

|

|
||||||
|
|
||||||
The following screen will give you the option to further customize your `docker-compose.yml` file, giving you a warning regarding the `start_interval` property. Under the `healthcheck` heading, remove the `start_interval: 30s` completely and click "**Next**".
|
The following screen will give you the option to further customize your `docker-compose.yml` file. Take note of `DB_STORAGE_TYPE: 'HDD'` and uncomment if applicable for your Synology setup.
|
||||||
|
|
||||||

|

|
||||||
|
|
||||||
Skip the section asking to set-up a portal for Web Station, and then complete the wizard which will build and start the containers for your project.
|
Skip the section asking to set-up a portal for Web Station, and then complete the wizard which will build and start the containers for your project.
|
||||||
|
|
||||||
Once your containers are successfully running, navigate to the "**Container**" section of Container Manager, right-click on the "**immich-server**" container, and choose the "**Details**".
|
Once your containers are successfully running, navigate to the "**Container**" section of Container Manager, right-click on the "**immich-server**" container, and choose the "**Details**".
|
||||||
|
|
||||||
Scroll to the bottom of the "**Details**" section, and find the `IP Address` of the container, located in the `Network` section. Take note of the container's IP address as you will need it for **Step 4**.
|
Scroll to the bottom of the "**Details**" section and find the `IP Address` listed in the `Network` section. Take note of the container's IP address as you will need it for **Step 4**.
|
||||||
|
|
||||||

|

|
||||||
|
|
||||||
## Step 4 - Configure Firewall Settings
|
## Step 4 - Configure Firewall Settings
|
||||||
|
|
||||||
@@ -63,8 +63,66 @@ Open "**Control Panel**" on your Synology NAS, and select "**Security**". Naviga
|
|||||||
Click "**Edit Rules**" and add the following firewall rules:
|
Click "**Edit Rules**" and add the following firewall rules:
|
||||||
|
|
||||||
- Add a "**Source IP**" rule for the IP address of your container that you obtained in Step 3 above
|
- Add a "**Source IP**" rule for the IP address of your container that you obtained in Step 3 above
|
||||||
|
|
||||||
|

|
||||||
|
|
||||||
- Add a "**Ports**" rule for the port specified in the `docker-compose.yml`, which should be `2283`
|
- Add a "**Ports**" rule for the port specified in the `docker-compose.yml`, which should be `2283`
|
||||||
|
|
||||||
|

|
||||||
|
|
||||||
## Next Steps
|
## Next Steps
|
||||||
|
|
||||||
Read the [Post Installation](/install/post-install.mdx) steps and [upgrade instructions](/install/upgrading.md).
|
Read the [Post Installation](/install/post-install.mdx) steps and [upgrade instructions](/install/upgrading.md).
|
||||||
|
|
||||||
|
<details>
|
||||||
|
<summary>Updating Immich using Container Manager</summary>
|
||||||
|
Check the post installation and upgrade instructions at the links above before proceeding with this section.
|
||||||
|
|
||||||
|
## Step 1. Backup
|
||||||
|
|
||||||
|
Ensure your photos and videos are backed up. Your `.env` settings will define where they are stored. There is no need to delete any files or folders within the `docker` folder when doing a release upgrade unless instructed in the release notes.
|
||||||
|
|
||||||
|
## Step 2. Check release notes
|
||||||
|
|
||||||
|
Always check the [release notes](https://github.com/immich-app/immich/releases) before proceeding with an update!
|
||||||
|
|
||||||
|
## Step 3. Stop containers & clean up
|
||||||
|
|
||||||
|
Open **Container Manager**. Select **Project** then your Immich app
|
||||||
|
|
||||||
|

|
||||||
|
|
||||||
|
Select **Stop**
|
||||||
|
|
||||||
|

|
||||||
|
|
||||||
|
Select **Action** then **Clean**. This removes the containers.
|
||||||
|
|
||||||
|

|
||||||
|
|
||||||
|
Go to **Image** and select **Remove Unused Images**.
|
||||||
|
|
||||||
|

|
||||||
|
|
||||||
|
## Step 4. Build
|
||||||
|
|
||||||
|
Go to **Project**, select **Action** then **Build**. This will download, unpack, install and start the containers.
|
||||||
|
|
||||||
|

|
||||||
|
|
||||||
|
## Step 5. Update firewall rule
|
||||||
|
|
||||||
|
The default behavior is to automatically start the containers once installed. If `immich_server` runs for a few seconds and then stops, it may be because the firewall rule no longer matches the server IP address.
|
||||||
|
|
||||||
|
Go to the **Container** section. Click on `immich_server` and scroll down on **General** to find the IP address.
|
||||||
|

|
||||||
|
|
||||||
|
Go to Synology **Control Panel**. Select **Security** and **Firewall**.
|
||||||
|
|
||||||
|

|
||||||
|
|
||||||
|
In this example, the IP addresses mismatch and the firewall rule needs to be edited to match above.
|
||||||
|
|
||||||
|

|
||||||
|
|
||||||
|
</details>
|
||||||
|
|||||||
@@ -387,27 +387,35 @@ To migrate from the old storage configuration to the new one, you will need to c
|
|||||||
3. **Copy the data** from the old datasets to the new dataset. We advise using the `rsync` command to copy the data, as it will preserve the permissions and ownership of the files. The following commands are examples:
|
3. **Copy the data** from the old datasets to the new dataset. We advise using the `rsync` command to copy the data, as it will preserve the permissions and ownership of the files. The following commands are examples:
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
rsync -av /mnt/tank/immich/library/ /mnt/tank/immich/data/library/
|
sudo rsync -av /mnt/tank/immich/library/ /mnt/tank/immich/data/library/
|
||||||
rsync -av /mnt/tank/immich/upload/ /mnt/tank/immich/data/upload/
|
sudo rsync -av /mnt/tank/immich/upload/ /mnt/tank/immich/data/upload/
|
||||||
rsync -av /mnt/tank/immich/thumbs/ /mnt/tank/immich/data/thumbs/
|
sudo rsync -av /mnt/tank/immich/thumbs/ /mnt/tank/immich/data/thumbs/
|
||||||
rsync -av /mnt/tank/immich/profile/ /mnt/tank/immich/data/profile/
|
sudo rsync -av /mnt/tank/immich/profile/ /mnt/tank/immich/data/profile/
|
||||||
rsync -av /mnt/tank/immich/video/ /mnt/tank/immich/data/encoded-video/
|
sudo rsync -av /mnt/tank/immich/video/ /mnt/tank/immich/data/encoded-video/
|
||||||
rsync -av /mnt/tank/immich/backups/ /mnt/tank/immich/data/backups/
|
sudo rsync -av /mnt/tank/immich/backups/ /mnt/tank/immich/data/backups/
|
||||||
```
|
```
|
||||||
|
|
||||||
Make sure to replace `/mnt/tank/immich/` with the correct path to your old datasets and `/mnt/tank/immich/data/` with the correct path to your new dataset.
|
Make sure to replace `/mnt/tank/immich/` with the correct path to your old datasets and `/mnt/tank/immich/data/` with the correct path to your new dataset.
|
||||||
|
|
||||||
:::tip
|
:::tip
|
||||||
If you were using **ixVolume (dataset created automatically by the system)** for Immich data storage, the path to the data should be `/mnt/.ix-apps/app_mounts/immich/`. You have to use this path instead of `/mnt/tank/immich/` in the `rsync` command above, for example:
|
If you were using **ixVolume (dataset created automatically by the system)** for some of Immich data storage, the path to the data should be `/mnt/.ix-apps/app_mounts/immich/`. You have to use this path instead of `/mnt/tank/immich/` in the `rsync` command above, for example:
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
rsync -av /mnt/.ix-apps/app_mounts/immich/library/ /mnt/tank/immich/data/library/
|
sudo rsync -av /mnt/.ix-apps/app_mounts/immich/library/ /mnt/tank/immich/data/library/
|
||||||
```
|
```
|
||||||
|
|
||||||
|
If you also were storing your files in the **ixVolume**, the **_upload_** folder is named `uploads` instead of `upload`, so the command to run should be:
|
||||||
|
|
||||||
|
```bash
|
||||||
|
sudo rsync -av /mnt/.ix-apps/app_mounts/immich/uploads/ /mnt/tank/immich/data/upload/
|
||||||
|
```
|
||||||
|
|
||||||
|
This means that depending on your old storage configuration, you might have to use a mix of paths in the `rsync` commands above.
|
||||||
|
|
||||||
If you were also using an ixVolume for Postgres data storage, you also should, first create the pgData dataset, as described in the [Setting up Storage Datasets](#setting-up-storage-datasets) section above, and then you can use the following command to copy the Postgres data:
|
If you were also using an ixVolume for Postgres data storage, you also should, first create the pgData dataset, as described in the [Setting up Storage Datasets](#setting-up-storage-datasets) section above, and then you can use the following command to copy the Postgres data:
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
rsync -av /mnt/.ix-apps/app_mounts/immich/pgData/ /mnt/tank/immich/pgData/
|
sudo rsync -av /mnt/.ix-apps/app_mounts/immich/pgData/ /mnt/tank/immich/pgData/
|
||||||
```
|
```
|
||||||
|
|
||||||
:::
|
:::
|
||||||
@@ -416,7 +424,7 @@ rsync -av /mnt/.ix-apps/app_mounts/immich/pgData/ /mnt/tank/immich/pgData/
|
|||||||
Make sure that for each folder, the `.immich` file is copied as well, as it contains important metadata for Immich. If for some reason the `.immich` file is not copied, you can copy it manually with the `rsync` command, for example:
|
Make sure that for each folder, the `.immich` file is copied as well, as it contains important metadata for Immich. If for some reason the `.immich` file is not copied, you can copy it manually with the `rsync` command, for example:
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
rsync -av /mnt/tank/immich/library/.immich /mnt/tank/immich/data/library/
|
sudo rsync -av /mnt/tank/immich/library/.immich /mnt/tank/immich/data/library/
|
||||||
```
|
```
|
||||||
|
|
||||||
Replace `library` with the name of the folder where you are copying the file.
|
Replace `library` with the name of the folder where you are copying the file.
|
||||||
@@ -437,38 +445,37 @@ This will recreate the Immich container with the new storage configuration and s
|
|||||||
|
|
||||||
If everything went well, you should now be able to access Immich with the new storage configuration. You can verify that the data has been copied correctly by checking the Immich web interface and ensuring that all your photos and videos are still available. You may delete the old datasets, if you no longer need them, using the TrueNAS web interface.
|
If everything went well, you should now be able to access Immich with the new storage configuration. You can verify that the data has been copied correctly by checking the Immich web interface and ensuring that all your photos and videos are still available. You may delete the old datasets, if you no longer need them, using the TrueNAS web interface.
|
||||||
|
|
||||||
|
:::tip
|
||||||
If you were using **ixVolume (dataset created automatically by the system)** or folders for Immich data storage, you can delete the old datasets using the following commands:
|
If you were using **ixVolume (dataset created automatically by the system)** or folders for Immich data storage, you can delete the old datasets using the following commands:
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
rm -r /mnt/.ix-apps/app_mounts/immich/library
|
sudo rm -r /mnt/.ix-apps/app_mounts/immich/*
|
||||||
rm -r /mnt/.ix-apps/app_mounts/immich/uploads
|
|
||||||
rm -r /mnt/.ix-apps/app_mounts/immich/thumbs
|
|
||||||
rm -r /mnt/.ix-apps/app_mounts/immich/profile
|
|
||||||
rm -r /mnt/.ix-apps/app_mounts/immich/video
|
|
||||||
rm -r /mnt/.ix-apps/app_mounts/immich/backups
|
|
||||||
```
|
```
|
||||||
|
|
||||||
|
:::
|
||||||
|
|
||||||
</TabItem>
|
</TabItem>
|
||||||
<TabItem value="migrate-old-dataset" label="Keep the existing datasets">
|
<TabItem value="migrate-old-dataset" label="Keep the existing datasets">
|
||||||
|
|
||||||
To migrate from the old storage configuration to the new one without creating new datasets.
|
To migrate from the old storage configuration to the new one without creating new datasets.
|
||||||
|
|
||||||
1. **Stop the Immich app** from the TrueNAS web interface to ensure no data is being written while you are updating the app.
|
1. **Stop the Immich app** from the TrueNAS web interface to ensure no data is being written while you are updating the app.
|
||||||
2. **Update the datasets permissions**: Ensure that the datasets used for Immich data storage (`library`, `upload`, `thumbs`, `profile`, `video`, `backups`) have the correct permissions set for the user who will run Immich. The user should have ***modify*** permissions on these datasets. The default user for Immich is `apps` (UID 568) and the default group is `apps` (GID 568). If you are using a different user, make sure to set the permissions accordingly. You can do this from the TrueNAS web interface by going to the **Datasets** screen, selecting each dataset, clicking on the **Edit** button next to **Permissions**, and adding the user with ***modify*** permissions.
|
2. **Update the datasets permissions**: Ensure that the datasets used for Immich data storage (`library`, `upload`, `thumbs`, `profile`, `video`, `backups`) have the correct permissions set for the user who will run Immich. The user should have **_modify_** permissions on these datasets. The default user for Immich is `apps` (UID 568) and the default group is `apps` (GID 568). If you are using a different user, make sure to set the permissions accordingly. You can do this from the TrueNAS web interface by going to the **Datasets** screen, selecting each dataset, clicking on the **Edit** button next to **Permissions**, and adding the user with **_modify_** permissions.
|
||||||
3. **Update the Immich app** to use the existing datasets:
|
3. **Update the Immich app** to use the existing datasets:
|
||||||
- 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.
|
- Click **Edit** on the **Application Info** widget.
|
||||||
- In the **Storage Configuration** section, untick the **Use Old Storage Configuration (Deprecated)** checkbox.
|
- In the **Storage Configuration** section, untick the **Use Old Storage Configuration (Deprecated)** checkbox.
|
||||||
- For the **Data Storage**, you can keep the **ixVolume (dataset created automatically by the system)** as no data will be directly written to it. We recommend selecting **Host Path (Path that already exists on the system)** and then select a **new** dataset you created for Immich data storage, for example, `data`.
|
- For the **Data Storage**, you can keep the **ixVolume (dataset created automatically by the system)** as no data will be directly written to it. We recommend selecting **Host Path (Path that already exists on the system)** and then select a **new** dataset you created for Immich data storage, for example, `data`.
|
||||||
- For the **Postgres Data Storage**, keep **Host Path (Path that already exists on the system)** and then select the existing dataset you used for Postgres data storage, for example, `pgData`.
|
- For the **Postgres Data Storage**, keep **Host Path (Path that already exists on the system)** and then select the existing dataset you used for Postgres data storage, for example, `pgData`.
|
||||||
- Following the instructions in the [Multiple Datasets for Immich Storage](#additional-storage-advanced-users) section, you can add, **for each old dataset**, a new Additional Storage with the following settings:
|
- Following the instructions in the [Multiple Datasets for Immich Storage](#additional-storage-advanced-users) section, you can add, **for each old dataset**, a new Additional Storage with the following settings:
|
||||||
- **Type**: `Host Path (Path that already exists on the system)`
|
- **Type**: `Host Path (Path that already exists on the system)`
|
||||||
- **Mount Path**: `/data/<folder-name>` (e.g. `/data/library`)
|
- **Mount Path**: `/data/<folder-name>` (e.g. `/data/library`)
|
||||||
- **Host Path**: `/mnt/<your-pool-name>/<dataset-name>` (e.g. `/mnt/tank/immich/library`)
|
- **Host Path**: `/mnt/<your-pool-name>/<dataset-name>` (e.g. `/mnt/tank/immich/library`)
|
||||||
:::danger Ensure using the correct paths names
|
:::danger Ensure using the correct paths names
|
||||||
Make sure to replace `<folder-name>` with the actual name of the folder used by Immich: `library`, `upload`, `thumbs`, `profile`, `encoded-video`, and `backups`. Also, replace `<your-pool-name>` and `<dataset-name>` with the actual names of your pool and dataset.
|
Make sure to replace `<folder-name>` with the actual name of the folder used by Immich: `library`, `upload`, `thumbs`, `profile`, `encoded-video`, and `backups`. Also, replace `<your-pool-name>` and `<dataset-name>` with the actual names of your pool and dataset.
|
||||||
:::
|
:::
|
||||||
- **Read Only**: Keep it unticked as Immich needs to write to these datasets.
|
- **Read Only**: Keep it unticked as Immich needs to write to these datasets.
|
||||||
- Click **Update** at the bottom of the page to save changes.
|
- Click **Update** at the bottom of the page to save changes.
|
||||||
4. **Start the Immich app** from the TrueNAS web interface. This will recreate the Immich container with the new storage configuration and start the app. If everything went well, you should now be able to access Immich with the new storage configuration. You can verify that the data is still available by checking the Immich web interface and ensuring that all your photos and videos are still accessible.
|
4. **Start the Immich app** from the TrueNAS web interface. This will recreate the Immich container with the new storage configuration and start the app. If everything went well, you should now be able to access Immich with the new storage configuration. You can verify that the data is still available by checking the Immich web interface and ensuring that all your photos and videos are still accessible.
|
||||||
|
|
||||||
</TabItem>
|
</TabItem>
|
||||||
|
|||||||
@@ -4,9 +4,7 @@ sidebar_position: 95
|
|||||||
|
|
||||||
# Upgrading
|
# Upgrading
|
||||||
|
|
||||||
:::danger Read the release notes
|
:::tip Breaking changes
|
||||||
Immich is currently under heavy development, which means you can expect [breaking changes][breaking] and bugs. You should read the release notes prior to updating and take special care when using automated tools like [Watchtower][watchtower].
|
|
||||||
|
|
||||||
You can see versions that had breaking changes [here][breaking].
|
You can see versions that had breaking changes [here][breaking].
|
||||||
:::
|
:::
|
||||||
|
|
||||||
@@ -89,7 +87,7 @@ After making a backup, please modify your `docker-compose.yml` file with the fol
|
|||||||
If you deviated from the defaults of pg14 or pgvectors0.2.0, you must adjust the pg major version and pgvecto.rs version. If you are still using the default `docker.io/tensorchord/pgvecto-rs:pg14-v0.2.0` image, you can just follow the changes above. For example, if the previous image is `docker.io/tensorchord/pgvecto-rs:pg16-v0.3.0`, the new image should be `ghcr.io/immich-app/postgres:16-vectorchord0.3.0-pgvectors0.3.0` instead of the image specified in the diff.
|
If you deviated from the defaults of pg14 or pgvectors0.2.0, you must adjust the pg major version and pgvecto.rs version. If you are still using the default `docker.io/tensorchord/pgvecto-rs:pg14-v0.2.0` image, you can just follow the changes above. For example, if the previous image is `docker.io/tensorchord/pgvecto-rs:pg16-v0.3.0`, the new image should be `ghcr.io/immich-app/postgres:16-vectorchord0.3.0-pgvectors0.3.0` instead of the image specified in the diff.
|
||||||
:::
|
:::
|
||||||
|
|
||||||
After making these changes, you can start Immich as normal. Immich will make some changes to the DB during startup, which can take seconds to minutes to finish, depending on hardware and library size. In particular, it’s normal for the server logs to be seemingly stuck at `Reindexing clip_index` and `Reindexing face_index`for some time if you have over 100k assets in Immich and/or Immich is on a relatively weak server. If you see these logs and there are no errors, just give it time.
|
After making these changes, you can start Immich as normal. Immich will make some changes to the DB during startup, which can take seconds to minutes to finish, depending on hardware and library size. In particular, it’s normal for the server logs to be seemingly stuck at `Reindexing clip_index` and `Reindexing face_index` for some time if you have over 100k assets in Immich and/or Immich is on a relatively weak server. If you see these logs and there are no errors, just give it time.
|
||||||
|
|
||||||
:::danger
|
:::danger
|
||||||
After switching to VectorChord, you should not downgrade Immich below 1.133.0.
|
After switching to VectorChord, you should not downgrade Immich below 1.133.0.
|
||||||
|
|||||||
@@ -1,5 +1,6 @@
|
|||||||
The mobile app can be downloaded from the following places:
|
The mobile app can be downloaded from the following places:
|
||||||
|
|
||||||
|
- Obtainium: You can get your Obtainium config link from the [Utilities page of your Immich server](https://my.immich.app/utilities).
|
||||||
- [Google Play Store](https://play.google.com/store/apps/details?id=app.alextran.immich)
|
- [Google Play Store](https://play.google.com/store/apps/details?id=app.alextran.immich)
|
||||||
- [Apple App Store](https://apps.apple.com/us/app/immich/id1613945652)
|
- [Apple App Store](https://apps.apple.com/us/app/immich/id1613945652)
|
||||||
- [F-Droid](https://f-droid.org/packages/app.alextran.immich)
|
- [F-Droid](https://f-droid.org/packages/app.alextran.immich)
|
||||||
|
|||||||
@@ -1,7 +1,6 @@
|
|||||||
Now that you have imported some pictures, you should setup server backups to preserve your memories.
|
Now that you have imported some pictures, you should setup server backups to preserve your memories.
|
||||||
You can do so by following our [backup guide](/administration/backup-and-restore.md).
|
You can do so by following our [backup guide](/administration/backup-and-restore.md).
|
||||||
|
|
||||||
:::danger
|
:::info
|
||||||
Immich is still under heavy development _and_ handles very important data.
|
A 3-2-1 backup strategy is still crucial. The team has the responsibility to ensure that the application doesn’t cause loss of your precious memories; however, we cannot guarantee that hard drives will not fail, or an electrical event causes unexpected shutdown of your server/system, leading to data loss. Therefore, we still encourage users to follow best practices when safeguarding their data. Keep multiple copies of your most precious data: at least two local copies and one copy offsite in cold storage.
|
||||||
It is essential that you set up good backups, and test them.
|
|
||||||
:::
|
:::
|
||||||
|
|||||||
@@ -7,7 +7,7 @@ const prism = require('prism-react-renderer');
|
|||||||
const config = {
|
const config = {
|
||||||
title: 'Immich',
|
title: 'Immich',
|
||||||
tagline: 'High performance self-hosted photo and video backup solution directly from your mobile phone',
|
tagline: 'High performance self-hosted photo and video backup solution directly from your mobile phone',
|
||||||
url: 'https://immich.app',
|
url: 'https://docs.immich.app',
|
||||||
baseUrl: '/',
|
baseUrl: '/',
|
||||||
onBrokenLinks: 'throw',
|
onBrokenLinks: 'throw',
|
||||||
onBrokenMarkdownLinks: 'warn',
|
onBrokenMarkdownLinks: 'warn',
|
||||||
@@ -65,11 +65,6 @@ const config = {
|
|||||||
themeConfig:
|
themeConfig:
|
||||||
/** @type {import('@docusaurus/preset-classic').ThemeConfig} */
|
/** @type {import('@docusaurus/preset-classic').ThemeConfig} */
|
||||||
({
|
({
|
||||||
announcementBar: {
|
|
||||||
id: 'site_announcement_immich',
|
|
||||||
content: `⚠️ The project is under <strong>very active</strong> development. Expect bugs and changes. Do not use it as <strong>the only way</strong> to store your photos and videos!`,
|
|
||||||
isCloseable: false,
|
|
||||||
},
|
|
||||||
docs: {
|
docs: {
|
||||||
sidebar: {
|
sidebar: {
|
||||||
autoCollapseCategories: false,
|
autoCollapseCategories: false,
|
||||||
|
|||||||
@@ -17,9 +17,9 @@
|
|||||||
"write-heading-ids": "docusaurus write-heading-ids"
|
"write-heading-ids": "docusaurus write-heading-ids"
|
||||||
},
|
},
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"@docusaurus/core": "~3.8.0",
|
"@docusaurus/core": "~3.9.0",
|
||||||
"@docusaurus/preset-classic": "~3.8.0",
|
"@docusaurus/preset-classic": "~3.9.0",
|
||||||
"@docusaurus/theme-common": "~3.8.0",
|
"@docusaurus/theme-common": "~3.9.0",
|
||||||
"@mdi/js": "^7.3.67",
|
"@mdi/js": "^7.3.67",
|
||||||
"@mdi/react": "^1.6.1",
|
"@mdi/react": "^1.6.1",
|
||||||
"@mdx-js/react": "^3.0.0",
|
"@mdx-js/react": "^3.0.0",
|
||||||
@@ -35,7 +35,7 @@
|
|||||||
"url": "^0.11.0"
|
"url": "^0.11.0"
|
||||||
},
|
},
|
||||||
"devDependencies": {
|
"devDependencies": {
|
||||||
"@docusaurus/module-type-aliases": "~3.8.0",
|
"@docusaurus/module-type-aliases": "~3.9.0",
|
||||||
"@docusaurus/tsconfig": "^3.7.0",
|
"@docusaurus/tsconfig": "^3.7.0",
|
||||||
"@docusaurus/types": "^3.7.0",
|
"@docusaurus/types": "^3.7.0",
|
||||||
"prettier": "^3.2.4",
|
"prettier": "^3.2.4",
|
||||||
@@ -57,6 +57,6 @@
|
|||||||
"node": ">=20"
|
"node": ">=20"
|
||||||
},
|
},
|
||||||
"volta": {
|
"volta": {
|
||||||
"node": "22.19.0"
|
"node": "22.20.0"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,108 +0,0 @@
|
|||||||
import Link from '@docusaurus/Link';
|
|
||||||
import React from 'react';
|
|
||||||
|
|
||||||
interface CommunityGuidesProps {
|
|
||||||
title: string;
|
|
||||||
description: string;
|
|
||||||
url: string;
|
|
||||||
}
|
|
||||||
|
|
||||||
const guides: CommunityGuidesProps[] = [
|
|
||||||
{
|
|
||||||
title: 'Cloudflare Tunnels with SSO/OAuth',
|
|
||||||
description: `Setting up Cloudflare Tunnels and a SaaS App for Immich.`,
|
|
||||||
url: 'https://github.com/immich-app/immich/discussions/8299',
|
|
||||||
},
|
|
||||||
{
|
|
||||||
title: 'Database backup in TrueNAS',
|
|
||||||
description: `Create a database backup with pgAdmin in TrueNAS.`,
|
|
||||||
url: 'https://github.com/immich-app/immich/discussions/8809',
|
|
||||||
},
|
|
||||||
{
|
|
||||||
title: 'Unraid backup scripts',
|
|
||||||
description: `Back up your assets in Unraid with a pre-prepared script.`,
|
|
||||||
url: 'https://github.com/immich-app/immich/discussions/8416',
|
|
||||||
},
|
|
||||||
{
|
|
||||||
title: 'Sync folders with albums',
|
|
||||||
description: `synchronize folders in imported library with albums having the folders name.`,
|
|
||||||
url: 'https://github.com/immich-app/immich/discussions/3382',
|
|
||||||
},
|
|
||||||
{
|
|
||||||
title: 'Immich Podman Quadlets Handbook',
|
|
||||||
description:
|
|
||||||
'A rewrite of the original Immich Docker Compose file using Podman Quadlets, with a set of extra guides in the repository’s wiki.',
|
|
||||||
url: 'https://github.com/linux-universe/immich-podman-quadlets/blob/main/README.md',
|
|
||||||
},
|
|
||||||
{
|
|
||||||
title: 'Podman/Quadlets Install',
|
|
||||||
description: 'Documentation for simple podman setup using quadlets.',
|
|
||||||
url: 'https://github.com/tbelway/immich-podman-quadlets/blob/main/docs/install/podman-quadlet.md',
|
|
||||||
},
|
|
||||||
{
|
|
||||||
title: 'Google Photos import + albums',
|
|
||||||
description: 'Import your Google Photos files into Immich and add your albums.',
|
|
||||||
url: 'https://github.com/immich-app/immich/discussions/1340',
|
|
||||||
},
|
|
||||||
{
|
|
||||||
title: 'Access Immich with custom domain',
|
|
||||||
description: 'Access your local Immich installation over the internet using your own domain.',
|
|
||||||
url: 'https://github.com/ppr88/immich-guides/blob/main/open-immich-custom-domain.md',
|
|
||||||
},
|
|
||||||
{
|
|
||||||
title: 'Nginx caching map server',
|
|
||||||
description: 'Increase privacy by using nginx as a caching proxy in front of a map tile server.',
|
|
||||||
url: 'https://github.com/pcouy/pcouy.github.io/blob/main/_posts/2024-08-30-proxying-a-map-tile-server-for-increased-privacy.md',
|
|
||||||
},
|
|
||||||
{
|
|
||||||
title: 'fail2ban setup instructions',
|
|
||||||
description: 'How to configure an existing fail2ban installation to block incorrect login attempts.',
|
|
||||||
url: 'https://github.com/immich-app/immich/discussions/3243#discussioncomment-6681948',
|
|
||||||
},
|
|
||||||
{
|
|
||||||
title: 'Immich remote access with NordVPN Meshnet',
|
|
||||||
description: 'Access Immich with an end-to-end encrypted connection.',
|
|
||||||
url: 'https://meshnet.nordvpn.com/how-to/remote-files-media-access/immich-remote-access',
|
|
||||||
},
|
|
||||||
{
|
|
||||||
title: 'Trust Self Signed Certificates with Immich - OAuth Setup',
|
|
||||||
description:
|
|
||||||
'Set up Certificate Authority trust with Immich, and your private OAuth2/OpenID service, while using a private CA for HTTPS commication.',
|
|
||||||
url: 'https://github.com/immich-app/immich/discussions/18614',
|
|
||||||
},
|
|
||||||
];
|
|
||||||
|
|
||||||
function CommunityGuide({ title, description, url }: CommunityGuidesProps): JSX.Element {
|
|
||||||
return (
|
|
||||||
<section className="flex flex-col gap-4 justify-between dark:bg-immich-dark-gray bg-immich-gray dark:border-0 border-gray-200 border border-solid rounded-2xl px-4 py-6">
|
|
||||||
<div className="flex flex-col gap-2">
|
|
||||||
<p className="m-0 items-start flex gap-2 text-2xl font-bold text-immich-primary dark:text-immich-dark-primary">
|
|
||||||
<span>{title}</span>
|
|
||||||
</p>
|
|
||||||
|
|
||||||
<p className="m-0 text-sm text-gray-600 dark:text-gray-300">{description}</p>
|
|
||||||
<p className="m-0 text-sm text-gray-600 dark:text-gray-300 my-4">
|
|
||||||
<a href={url}>{url}</a>
|
|
||||||
</p>
|
|
||||||
</div>
|
|
||||||
<div className="flex">
|
|
||||||
<Link
|
|
||||||
className="px-4 py-2 bg-immich-primary/10 dark:bg-gray-300 rounded-xl text-sm hover:no-underline text-immich-primary dark:text-immich-dark-bg font-semibold"
|
|
||||||
to={url}
|
|
||||||
>
|
|
||||||
View Guide
|
|
||||||
</Link>
|
|
||||||
</div>
|
|
||||||
</section>
|
|
||||||
);
|
|
||||||
}
|
|
||||||
|
|
||||||
export default function CommunityGuides(): JSX.Element {
|
|
||||||
return (
|
|
||||||
<div className="grid grid-cols-1 xl:grid-cols-2 gap-4">
|
|
||||||
{guides.map((guides) => (
|
|
||||||
<CommunityGuide {...guides} />
|
|
||||||
))}
|
|
||||||
</div>
|
|
||||||
);
|
|
||||||
}
|
|
||||||
@@ -1,158 +0,0 @@
|
|||||||
import Link from '@docusaurus/Link';
|
|
||||||
import React from 'react';
|
|
||||||
|
|
||||||
interface CommunityProjectProps {
|
|
||||||
title: string;
|
|
||||||
description: string;
|
|
||||||
url: string;
|
|
||||||
}
|
|
||||||
|
|
||||||
const projects: CommunityProjectProps[] = [
|
|
||||||
{
|
|
||||||
title: 'immich-go',
|
|
||||||
description: `An alternative to the immich-CLI that doesn't depend on nodejs. It specializes in importing Google Photos Takeout archives.`,
|
|
||||||
url: 'https://github.com/simulot/immich-go',
|
|
||||||
},
|
|
||||||
{
|
|
||||||
title: 'ImmichFrame',
|
|
||||||
description: 'Run an Immich slideshow in a photo frame.',
|
|
||||||
url: 'https://github.com/3rob3/ImmichFrame',
|
|
||||||
},
|
|
||||||
{
|
|
||||||
title: 'API Album Sync',
|
|
||||||
description: 'A Python script to sync folders as albums.',
|
|
||||||
url: 'https://git.orenit.solutions/open/immichalbumpull',
|
|
||||||
},
|
|
||||||
{
|
|
||||||
title: 'Remove offline files',
|
|
||||||
description: 'A simple way to remove orphaned offline assets from the Immich database',
|
|
||||||
url: 'https://github.com/Thoroslives/immich_remove_offline_files',
|
|
||||||
},
|
|
||||||
{
|
|
||||||
title: 'Immich-Tools',
|
|
||||||
description: 'Provides scripts for handling problems on the repair page.',
|
|
||||||
url: 'https://github.com/clumsyCoder00/Immich-Tools',
|
|
||||||
},
|
|
||||||
{
|
|
||||||
title: 'Lightroom Publisher: mi.Immich.Publisher',
|
|
||||||
description: 'Lightroom plugin to publish photos from Lightroom collections to Immich albums.',
|
|
||||||
url: 'https://github.com/midzelis/mi.Immich.Publisher',
|
|
||||||
},
|
|
||||||
{
|
|
||||||
title: 'Lightroom Immich Plugin: lrc-immich-plugin',
|
|
||||||
description:
|
|
||||||
'Lightroom plugin to publish, export photos from Lightroom to Immich. Import from Immich to Lightroom is also supported.',
|
|
||||||
url: 'https://blog.fokuspunk.de/lrc-immich-plugin/',
|
|
||||||
},
|
|
||||||
{
|
|
||||||
title: 'Immich-Tiktok-Remover',
|
|
||||||
description: 'Script to search for and remove TikTok videos from your Immich library.',
|
|
||||||
url: 'https://github.com/mxc2/immich-tiktok-remover',
|
|
||||||
},
|
|
||||||
{
|
|
||||||
title: 'Immich Android TV',
|
|
||||||
description: 'Unofficial Immich Android TV app.',
|
|
||||||
url: 'https://github.com/giejay/Immich-Android-TV',
|
|
||||||
},
|
|
||||||
{
|
|
||||||
title: 'Create albums from folders',
|
|
||||||
description: 'A Python script to create albums based on the folder structure of an external library.',
|
|
||||||
url: 'https://github.com/Salvoxia/immich-folder-album-creator',
|
|
||||||
},
|
|
||||||
{
|
|
||||||
title: 'Powershell Module PSImmich',
|
|
||||||
description: 'Powershell Module for the Immich API',
|
|
||||||
url: 'https://github.com/hanpq/PSImmich',
|
|
||||||
},
|
|
||||||
{
|
|
||||||
title: 'Immich Distribution',
|
|
||||||
description: 'Snap package for easy install and zero-care auto updates of Immich. Self-hosted photo management.',
|
|
||||||
url: 'https://immich-distribution.nsg.cc',
|
|
||||||
},
|
|
||||||
{
|
|
||||||
title: 'Immich Kiosk',
|
|
||||||
description: 'Lightweight slideshow to run on kiosk devices and browsers.',
|
|
||||||
url: 'https://github.com/damongolding/immich-kiosk',
|
|
||||||
},
|
|
||||||
{
|
|
||||||
title: 'Immich Power Tools',
|
|
||||||
description: 'Power tools for organizing your immich library.',
|
|
||||||
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',
|
|
||||||
},
|
|
||||||
{
|
|
||||||
title: 'Immich Kodi',
|
|
||||||
description: 'Unofficial Kodi plugin for Immich.',
|
|
||||||
url: 'https://github.com/vladd11/immich-kodi',
|
|
||||||
},
|
|
||||||
{
|
|
||||||
title: 'Immich Downloader',
|
|
||||||
description: 'Downloads a configurable number of random photos based on people or album ID.',
|
|
||||||
url: 'https://github.com/jon6fingrs/immich-dl',
|
|
||||||
},
|
|
||||||
{
|
|
||||||
title: 'Immich Upload Optimizer',
|
|
||||||
description: 'Automatically optimize files uploaded to Immich in order to save storage space',
|
|
||||||
url: 'https://github.com/miguelangel-nubla/immich-upload-optimizer',
|
|
||||||
},
|
|
||||||
{
|
|
||||||
title: 'Immich Machine Learning Load Balancer',
|
|
||||||
description: 'Speed up your machine learning by load balancing your requests to multiple computers',
|
|
||||||
url: 'https://github.com/apetersson/immich_ml_balancer',
|
|
||||||
},
|
|
||||||
{
|
|
||||||
title: 'Immich Drop Uploader',
|
|
||||||
description: 'A tiny, zero-login web app for collecting photos/videos from anyone into your Immich server.',
|
|
||||||
url: 'https://github.com/Nasogaa/immich-drop',
|
|
||||||
},
|
|
||||||
{
|
|
||||||
title: 'Immich Birthday Sync',
|
|
||||||
description: 'Bulk-upload and -download birthdays, with CardDAV sync support',
|
|
||||||
url: 'https://github.com/sid3windr/immich-birthday',
|
|
||||||
},
|
|
||||||
{
|
|
||||||
title: 'Immich Stack',
|
|
||||||
description: 'Auto-stack photos with identical filenames and differing extensions (i.e. JPG+RAW)',
|
|
||||||
url: 'https://github.com/sid3windr/immich-stack',
|
|
||||||
},
|
|
||||||
];
|
|
||||||
|
|
||||||
function CommunityProject({ title, description, url }: CommunityProjectProps): JSX.Element {
|
|
||||||
return (
|
|
||||||
<section className="flex flex-col gap-4 justify-between dark:bg-immich-dark-gray bg-immich-gray dark:border-0 border-gray-200 border border-solid rounded-2xl px-4 py-6">
|
|
||||||
<div className="flex flex-col gap-2">
|
|
||||||
<p className="m-0 items-start flex gap-2 text-2xl font-bold text-immich-primary dark:text-immich-dark-primary">
|
|
||||||
<span>{title}</span>
|
|
||||||
</p>
|
|
||||||
|
|
||||||
<p className="m-0 text-sm text-gray-600 dark:text-gray-300">{description}</p>
|
|
||||||
<p className="m-0 text-sm text-gray-600 dark:text-gray-300 my-4">
|
|
||||||
<a href={url}>{url}</a>
|
|
||||||
</p>
|
|
||||||
</div>
|
|
||||||
<div className="flex">
|
|
||||||
<Link
|
|
||||||
className="px-4 py-2 bg-immich-primary/10 dark:bg-gray-300 rounded-xl text-sm hover:no-underline text-immich-primary dark:text-immich-dark-bg font-semibold"
|
|
||||||
to={url}
|
|
||||||
>
|
|
||||||
View Link
|
|
||||||
</Link>
|
|
||||||
</div>
|
|
||||||
</section>
|
|
||||||
);
|
|
||||||
}
|
|
||||||
|
|
||||||
export default function CommunityProjects(): JSX.Element {
|
|
||||||
return (
|
|
||||||
<div className="grid grid-cols-1 xl:grid-cols-2 gap-4">
|
|
||||||
{projects.map((project) => (
|
|
||||||
<CommunityProject {...project} />
|
|
||||||
))}
|
|
||||||
</div>
|
|
||||||
);
|
|
||||||
}
|
|
||||||
@@ -1,3 +0,0 @@
|
|||||||
export const discordPath =
|
|
||||||
'M81.15,0c-1.2376,2.1973-2.3489,4.4704-3.3591,6.794-9.5975-1.4396-19.3718-1.4396-28.9945,0-.985-2.3236-2.1216-4.5967-3.3591-6.794-9.0166,1.5407-17.8059,4.2431-26.1405,8.0568C2.779,32.5304-1.6914,56.3725.5312,79.8863c9.6732,7.1476,20.5083,12.603,32.0505,16.0884,2.6014-3.4854,4.8998-7.1981,6.8698-11.0623-3.738-1.3891-7.3497-3.1318-10.8098-5.1523.9092-.6567,1.7932-1.3386,2.6519-1.9953,20.281,9.547,43.7696,9.547,64.0758,0,.8587.7072,1.7427,1.3891,2.6519,1.9953-3.4601,2.0457-7.0718,3.7632-10.835,5.1776,1.97,3.8642,4.2683,7.5769,6.8698,11.0623,11.5419-3.4854,22.3769-8.9156,32.0509-16.0631,2.626-27.2771-4.496-50.9172-18.817-71.8548C98.9811,4.2684,90.1918,1.5659,81.1752.0505l-.0252-.0505ZM42.2802,65.4144c-6.2383,0-11.4159-5.6575-11.4159-12.6535s4.9755-12.6788,11.3907-12.6788,11.5169,5.708,11.4159,12.6788c-.101,6.9708-5.026,12.6535-11.3907,12.6535ZM84.3576,65.4144c-6.2637,0-11.3907-5.6575-11.3907-12.6535s4.9755-12.6788,11.3907-12.6788,11.4917,5.708,11.3906,12.6788c-.101,6.9708-5.026,12.6535-11.3906,12.6535Z';
|
|
||||||
export const discordViewBox = '0 0 126.644 96';
|
|
||||||
6
docs/static/_redirects
vendored
@@ -27,8 +27,10 @@
|
|||||||
/administration/password-login /administration/system-settings 307
|
/administration/password-login /administration/system-settings 307
|
||||||
/features/search /features/searching 307
|
/features/search /features/searching 307
|
||||||
/features/smart-search /features/searching 307
|
/features/smart-search /features/searching 307
|
||||||
/guides/api-album-sync /community-projects 307
|
/guides/api-album-sync https://awesome.immich.app/ 307
|
||||||
/guides/remove-offline-files /community-projects 307
|
/guides/remove-offline-files https://awesome.immich.app/ 307
|
||||||
|
/community-guides https://awesome.immich.app/ 307
|
||||||
|
/community-projects https://awesome.immich.app/ 307
|
||||||
/overview/introduction /overview/quick-start 307
|
/overview/introduction /overview/quick-start 307
|
||||||
/overview/welcome /overview/quick-start 307
|
/overview/welcome /overview/quick-start 307
|
||||||
/docs/* /:splat 307
|
/docs/* /:splat 307
|
||||||
|
|||||||
20
docs/static/archived-versions.json
vendored
@@ -1,4 +1,24 @@
|
|||||||
[
|
[
|
||||||
|
{
|
||||||
|
"label": "v2.1.0",
|
||||||
|
"url": "https://docs.v2.1.0.archive.immich.app"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"label": "v2.0.1",
|
||||||
|
"url": "https://docs.v2.0.1.archive.immich.app"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"label": "v2.0.0",
|
||||||
|
"url": "https://docs.v2.0.0.archive.immich.app"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"label": "v1.144.1",
|
||||||
|
"url": "https://docs.v1.144.1.archive.immich.app"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"label": "v1.144.0",
|
||||||
|
"url": "https://docs.v1.144.0.archive.immich.app"
|
||||||
|
},
|
||||||
{
|
{
|
||||||
"label": "v1.143.1",
|
"label": "v1.143.1",
|
||||||
"url": "https://docs.v1.143.1.archive.immich.app"
|
"url": "https://docs.v1.143.1.archive.immich.app"
|
||||||
|
|||||||
BIN
docs/static/img/synology-action-clean.png
vendored
Normal file
|
After Width: | Height: | Size: 140 KiB |
BIN
docs/static/img/synology-build.png
vendored
Normal file
|
After Width: | Height: | Size: 140 KiB |
BIN
docs/static/img/synology-container-ip.png
vendored
Normal file
|
After Width: | Height: | Size: 50 KiB |
|
Before Width: | Height: | Size: 50 KiB After Width: | Height: | Size: 153 KiB |
BIN
docs/static/img/synology-custom-port-firewall-rule.png
vendored
Normal file
|
After Width: | Height: | Size: 88 KiB |
BIN
docs/static/img/synology-fw-ipedit.png
vendored
Normal file
|
After Width: | Height: | Size: 29 KiB |
BIN
docs/static/img/synology-fw-rules.png
vendored
Normal file
|
After Width: | Height: | Size: 55 KiB |
BIN
docs/static/img/synology-ipaddress-firewall-rule.png
vendored
Normal file
|
After Width: | Height: | Size: 46 KiB |
BIN
docs/static/img/synology-project-stop.png
vendored
Normal file
|
After Width: | Height: | Size: 43 KiB |
BIN
docs/static/img/synology-remove-unused.png
vendored
Normal file
|
After Width: | Height: | Size: 35 KiB |
BIN
docs/static/img/synology-select-proj.png
vendored
Normal file
|
After Width: | Height: | Size: 26 KiB |
@@ -1 +1 @@
|
|||||||
22.19.0
|
22.20.0
|
||||||
|
|||||||
@@ -35,10 +35,10 @@ services:
|
|||||||
- 2285:2285
|
- 2285:2285
|
||||||
|
|
||||||
redis:
|
redis:
|
||||||
image: redis:6.2-alpine@sha256:7fe72c486b910f6b1a9769c937dad5d63648ddee82e056f47417542dd40825bb
|
image: redis:6.2-alpine@sha256:77697a75da9f94e9357b61fcaf8345f69e3d9d32e9d15032c8415c21263977dc
|
||||||
|
|
||||||
database:
|
database:
|
||||||
image: ghcr.io/immich-app/postgres:14-vectorchord0.3.0@sha256:11ced39d65a92a54d12890ced6a26cc2003f92697d6f0d4d944b98459dba7138
|
image: ghcr.io/immich-app/postgres:14-vectorchord0.3.0@sha256:6f3e9d2c2177af16c2988ff71425d79d89ca630ec2f9c8db03209ab716542338
|
||||||
command: -c fsync=off -c shared_preload_libraries=vchord.so -c config_file=/var/lib/postgresql/data/postgresql.conf
|
command: -c fsync=off -c shared_preload_libraries=vchord.so -c config_file=/var/lib/postgresql/data/postgresql.conf
|
||||||
environment:
|
environment:
|
||||||
POSTGRES_PASSWORD: postgres
|
POSTGRES_PASSWORD: postgres
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
{
|
{
|
||||||
"name": "immich-e2e",
|
"name": "immich-e2e",
|
||||||
"version": "1.143.1",
|
"version": "2.1.0",
|
||||||
"description": "",
|
"description": "",
|
||||||
"main": "index.js",
|
"main": "index.js",
|
||||||
"type": "module",
|
"type": "module",
|
||||||
@@ -25,7 +25,7 @@
|
|||||||
"@playwright/test": "^1.44.1",
|
"@playwright/test": "^1.44.1",
|
||||||
"@socket.io/component-emitter": "^3.1.2",
|
"@socket.io/component-emitter": "^3.1.2",
|
||||||
"@types/luxon": "^3.4.2",
|
"@types/luxon": "^3.4.2",
|
||||||
"@types/node": "^22.18.1",
|
"@types/node": "^22.18.10",
|
||||||
"@types/oidc-provider": "^9.0.0",
|
"@types/oidc-provider": "^9.0.0",
|
||||||
"@types/pg": "^8.15.1",
|
"@types/pg": "^8.15.1",
|
||||||
"@types/pngjs": "^6.0.4",
|
"@types/pngjs": "^6.0.4",
|
||||||
@@ -34,7 +34,7 @@
|
|||||||
"eslint-config-prettier": "^10.1.8",
|
"eslint-config-prettier": "^10.1.8",
|
||||||
"eslint-plugin-prettier": "^5.1.3",
|
"eslint-plugin-prettier": "^5.1.3",
|
||||||
"eslint-plugin-unicorn": "^60.0.0",
|
"eslint-plugin-unicorn": "^60.0.0",
|
||||||
"exiftool-vendored": "^28.3.1",
|
"exiftool-vendored": "^31.1.0",
|
||||||
"globals": "^16.0.0",
|
"globals": "^16.0.0",
|
||||||
"jose": "^5.6.3",
|
"jose": "^5.6.3",
|
||||||
"luxon": "^3.4.4",
|
"luxon": "^3.4.4",
|
||||||
@@ -43,7 +43,7 @@
|
|||||||
"pngjs": "^7.0.0",
|
"pngjs": "^7.0.0",
|
||||||
"prettier": "^3.2.5",
|
"prettier": "^3.2.5",
|
||||||
"prettier-plugin-organize-imports": "^4.0.0",
|
"prettier-plugin-organize-imports": "^4.0.0",
|
||||||
"sharp": "^0.34.3",
|
"sharp": "^0.34.4",
|
||||||
"socket.io-client": "^4.7.4",
|
"socket.io-client": "^4.7.4",
|
||||||
"supertest": "^7.0.0",
|
"supertest": "^7.0.0",
|
||||||
"typescript": "^5.3.3",
|
"typescript": "^5.3.3",
|
||||||
@@ -52,6 +52,6 @@
|
|||||||
"vitest": "^3.0.0"
|
"vitest": "^3.0.0"
|
||||||
},
|
},
|
||||||
"volta": {
|
"volta": {
|
||||||
"node": "22.19.0"
|
"node": "22.20.0"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -136,6 +136,7 @@ describe('/albums', () => {
|
|||||||
expect(body).toEqual({
|
expect(body).toEqual({
|
||||||
...user1Albums[0],
|
...user1Albums[0],
|
||||||
assets: [expect.objectContaining({ isFavorite: false })],
|
assets: [expect.objectContaining({ isFavorite: false })],
|
||||||
|
contributorCounts: [{ userId: user1.userId, assetCount: 1 }],
|
||||||
lastModifiedAssetTimestamp: expect.any(String),
|
lastModifiedAssetTimestamp: expect.any(String),
|
||||||
startDate: expect.any(String),
|
startDate: expect.any(String),
|
||||||
endDate: expect.any(String),
|
endDate: expect.any(String),
|
||||||
@@ -310,6 +311,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 })],
|
||||||
|
contributorCounts: [{ userId: user1.userId, assetCount: 1 }],
|
||||||
lastModifiedAssetTimestamp: expect.any(String),
|
lastModifiedAssetTimestamp: expect.any(String),
|
||||||
startDate: expect.any(String),
|
startDate: expect.any(String),
|
||||||
endDate: expect.any(String),
|
endDate: expect.any(String),
|
||||||
@@ -345,6 +347,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 })],
|
||||||
|
contributorCounts: [{ userId: user1.userId, assetCount: 1 }],
|
||||||
lastModifiedAssetTimestamp: expect.any(String),
|
lastModifiedAssetTimestamp: expect.any(String),
|
||||||
startDate: expect.any(String),
|
startDate: expect.any(String),
|
||||||
endDate: expect.any(String),
|
endDate: expect.any(String),
|
||||||
@@ -362,6 +365,7 @@ describe('/albums', () => {
|
|||||||
expect(body).toEqual({
|
expect(body).toEqual({
|
||||||
...user1Albums[0],
|
...user1Albums[0],
|
||||||
assets: [],
|
assets: [],
|
||||||
|
contributorCounts: [{ userId: user1.userId, assetCount: 1 }],
|
||||||
assetCount: 1,
|
assetCount: 1,
|
||||||
lastModifiedAssetTimestamp: expect.any(String),
|
lastModifiedAssetTimestamp: expect.any(String),
|
||||||
endDate: expect.any(String),
|
endDate: expect.any(String),
|
||||||
@@ -382,6 +386,7 @@ describe('/albums', () => {
|
|||||||
expect(body).toEqual({
|
expect(body).toEqual({
|
||||||
...user2Albums[0],
|
...user2Albums[0],
|
||||||
assets: [],
|
assets: [],
|
||||||
|
contributorCounts: [{ userId: user1.userId, assetCount: 1 }],
|
||||||
assetCount: 1,
|
assetCount: 1,
|
||||||
lastModifiedAssetTimestamp: expect.any(String),
|
lastModifiedAssetTimestamp: expect.any(String),
|
||||||
endDate: expect.any(String),
|
endDate: expect.any(String),
|
||||||
|
|||||||
@@ -119,5 +119,6 @@ export const deviceDto = {
|
|||||||
isPendingSyncReset: false,
|
isPendingSyncReset: false,
|
||||||
deviceOS: '',
|
deviceOS: '',
|
||||||
deviceType: '',
|
deviceType: '',
|
||||||
|
appVersion: null,
|
||||||
},
|
},
|
||||||
};
|
};
|
||||||
|
|||||||
@@ -38,6 +38,7 @@ test.describe('Registration', () => {
|
|||||||
await page.getByRole('button', { name: 'User Privacy' }).click();
|
await page.getByRole('button', { name: 'User Privacy' }).click();
|
||||||
await page.getByRole('button', { name: 'Storage Template' }).click();
|
await page.getByRole('button', { name: 'Storage Template' }).click();
|
||||||
await page.getByRole('button', { name: 'Backups' }).click();
|
await page.getByRole('button', { name: 'Backups' }).click();
|
||||||
|
await page.getByRole('button', { name: 'Mobile App' }).click();
|
||||||
await page.getByRole('button', { name: 'Done' }).click();
|
await page.getByRole('button', { name: 'Done' }).click();
|
||||||
|
|
||||||
// success
|
// success
|
||||||
@@ -85,6 +86,7 @@ test.describe('Registration', () => {
|
|||||||
await page.getByRole('button', { name: 'Theme' }).click();
|
await page.getByRole('button', { name: 'Theme' }).click();
|
||||||
await page.getByRole('button', { name: 'Language' }).click();
|
await page.getByRole('button', { name: 'Language' }).click();
|
||||||
await page.getByRole('button', { name: 'User Privacy' }).click();
|
await page.getByRole('button', { name: 'User Privacy' }).click();
|
||||||
|
await page.getByRole('button', { name: 'Mobile App' }).click();
|
||||||
await page.getByRole('button', { name: 'Done' }).click();
|
await page.getByRole('button', { name: 'Done' }).click();
|
||||||
|
|
||||||
// success
|
// success
|
||||||
|
|||||||
64
i18n/ar.json
@@ -28,10 +28,12 @@
|
|||||||
"add_to_album": "إضافة إلى ألبوم",
|
"add_to_album": "إضافة إلى ألبوم",
|
||||||
"add_to_album_bottom_sheet_added": "تمت الاضافة الى {album}",
|
"add_to_album_bottom_sheet_added": "تمت الاضافة الى {album}",
|
||||||
"add_to_album_bottom_sheet_already_exists": "موجود مسبقا في {album}",
|
"add_to_album_bottom_sheet_already_exists": "موجود مسبقا في {album}",
|
||||||
|
"add_to_album_bottom_sheet_some_local_assets": "لا يمكن إضافة بعض الأصول المحلية إلى الألبوم",
|
||||||
"add_to_album_toggle": "تبديل التحديد لـ{album}",
|
"add_to_album_toggle": "تبديل التحديد لـ{album}",
|
||||||
"add_to_albums": "إضافة الى البومات",
|
"add_to_albums": "إضافة الى البومات",
|
||||||
"add_to_albums_count": "إضافه إلى البومات ({count})",
|
"add_to_albums_count": "إضافه إلى البومات ({count})",
|
||||||
"add_to_shared_album": "إضافة إلى ألبوم مشارك",
|
"add_to_shared_album": "إضافة إلى ألبوم مشارك",
|
||||||
|
"add_upload_to_stack": "اضف رفع الى حزمة",
|
||||||
"add_url": "إضافة رابط",
|
"add_url": "إضافة رابط",
|
||||||
"added_to_archive": "أُضيفت للأرشيف",
|
"added_to_archive": "أُضيفت للأرشيف",
|
||||||
"added_to_favorites": "أُضيفت للمفضلات",
|
"added_to_favorites": "أُضيفت للمفضلات",
|
||||||
@@ -124,6 +126,12 @@
|
|||||||
"logging_level_description": "عند التفعيل، أي مستوى تسجيل سيستخدم.",
|
"logging_level_description": "عند التفعيل، أي مستوى تسجيل سيستخدم.",
|
||||||
"logging_settings": "تسجيل الاحداث",
|
"logging_settings": "تسجيل الاحداث",
|
||||||
"machine_learning_availability_checks": "تحقق من التوفر",
|
"machine_learning_availability_checks": "تحقق من التوفر",
|
||||||
|
"machine_learning_availability_checks_description": "تحديد خوادم التعلم الآلي المتاحة تلقائيًا وإعطاءها الأولوية",
|
||||||
|
"machine_learning_availability_checks_enabled": "تفعيل عمليات فحص التوفر",
|
||||||
|
"machine_learning_availability_checks_interval": "فترة التحقق",
|
||||||
|
"machine_learning_availability_checks_interval_description": "الفترة الزمنية بالمللي ثانية بين عمليات فحص التوفر",
|
||||||
|
"machine_learning_availability_checks_timeout": "انتهت مدة انتظار الطلب",
|
||||||
|
"machine_learning_availability_checks_timeout_description": "مدة انتظار (بالمللي ثانية) لاختبارات توفر الخدمة",
|
||||||
"machine_learning_clip_model": "نموذج CLIP",
|
"machine_learning_clip_model": "نموذج CLIP",
|
||||||
"machine_learning_clip_model_description": "اسم نموذج CLIP مدرجٌ <link>هنا</link>. يرجى ملاحظة أنه يجب إعادة تشغيل وظيفة \"البحث الذكي\" لجميع الصور بعد تغيير النموذج.",
|
"machine_learning_clip_model_description": "اسم نموذج CLIP مدرجٌ <link>هنا</link>. يرجى ملاحظة أنه يجب إعادة تشغيل وظيفة \"البحث الذكي\" لجميع الصور بعد تغيير النموذج.",
|
||||||
"machine_learning_duplicate_detection": "كشف التكرار",
|
"machine_learning_duplicate_detection": "كشف التكرار",
|
||||||
@@ -395,6 +403,7 @@
|
|||||||
"advanced_settings_prefer_remote_title": "تفضل الصور البعيدة",
|
"advanced_settings_prefer_remote_title": "تفضل الصور البعيدة",
|
||||||
"advanced_settings_proxy_headers_subtitle": "عرف عناوين الوكيل التي يستخدمها Immich لارسال كل طلب شبكي",
|
"advanced_settings_proxy_headers_subtitle": "عرف عناوين الوكيل التي يستخدمها Immich لارسال كل طلب شبكي",
|
||||||
"advanced_settings_proxy_headers_title": "عناوين الوكيل",
|
"advanced_settings_proxy_headers_title": "عناوين الوكيل",
|
||||||
|
"advanced_settings_readonly_mode_subtitle": "تتيح هذه الميزة وضع العرض فقط، حيث يمكن للمستخدم معاينة الصور فقط، بينما يتم تعطيل جميع الخيارات الأخرى مثل تحديد عدة صور، أو مشاركتها، أو بثها، أو حذفها. يمكن تفعيل/تعطيل وضع العرض فقط من خلال صورة المستخدم في الشاشة الرئيسية",
|
||||||
"advanced_settings_readonly_mode_title": "وضع القراءة فقط",
|
"advanced_settings_readonly_mode_title": "وضع القراءة فقط",
|
||||||
"advanced_settings_self_signed_ssl_subtitle": "تخطي التحقق من شهادة SSL لخادم النقطة النهائي. مكلوب للشهادات الموقعة ذاتيا.",
|
"advanced_settings_self_signed_ssl_subtitle": "تخطي التحقق من شهادة SSL لخادم النقطة النهائي. مكلوب للشهادات الموقعة ذاتيا.",
|
||||||
"advanced_settings_self_signed_ssl_title": "السماح بشهادات SSL الموقعة ذاتيًا",
|
"advanced_settings_self_signed_ssl_title": "السماح بشهادات SSL الموقعة ذاتيًا",
|
||||||
@@ -423,6 +432,7 @@
|
|||||||
"album_remove_user_confirmation": "هل أنت متأكد أنك تريد إزالة {user}؟",
|
"album_remove_user_confirmation": "هل أنت متأكد أنك تريد إزالة {user}؟",
|
||||||
"album_search_not_found": "لم يتم ايجاد البوم مطابق لبحثك",
|
"album_search_not_found": "لم يتم ايجاد البوم مطابق لبحثك",
|
||||||
"album_share_no_users": "يبدو أنك قمت بمشاركة هذا الألبوم مع جميع المستخدمين أو ليس لديك أي مستخدم للمشاركة معه.",
|
"album_share_no_users": "يبدو أنك قمت بمشاركة هذا الألبوم مع جميع المستخدمين أو ليس لديك أي مستخدم للمشاركة معه.",
|
||||||
|
"album_summary": "ملخص الألبوم",
|
||||||
"album_updated": "تم تحديث الألبوم",
|
"album_updated": "تم تحديث الألبوم",
|
||||||
"album_updated_setting_description": "تلقي إشعارًا عبر البريد الإلكتروني عندما يحتوي الألبوم المشترك على محتويات جديدة",
|
"album_updated_setting_description": "تلقي إشعارًا عبر البريد الإلكتروني عندما يحتوي الألبوم المشترك على محتويات جديدة",
|
||||||
"album_user_left": "تم ترك {album}",
|
"album_user_left": "تم ترك {album}",
|
||||||
@@ -461,6 +471,7 @@
|
|||||||
"app_bar_signout_dialog_title": "خروج",
|
"app_bar_signout_dialog_title": "خروج",
|
||||||
"app_settings": "إعدادات التطبيق",
|
"app_settings": "إعدادات التطبيق",
|
||||||
"appears_in": "يظهر في",
|
"appears_in": "يظهر في",
|
||||||
|
"apply_count": "تطبيق ({count, number})",
|
||||||
"archive": "الأرشيف",
|
"archive": "الأرشيف",
|
||||||
"archive_action_prompt": "{count} اضيف إلى الارشيف",
|
"archive_action_prompt": "{count} اضيف إلى الارشيف",
|
||||||
"archive_or_unarchive_photo": "أرشفة الصورة أو إلغاء أرشفتها",
|
"archive_or_unarchive_photo": "أرشفة الصورة أو إلغاء أرشفتها",
|
||||||
@@ -493,6 +504,8 @@
|
|||||||
"asset_restored_successfully": "تم استعادة الاصل بنجاح",
|
"asset_restored_successfully": "تم استعادة الاصل بنجاح",
|
||||||
"asset_skipped": "تم تخطيه",
|
"asset_skipped": "تم تخطيه",
|
||||||
"asset_skipped_in_trash": "في سلة المهملات",
|
"asset_skipped_in_trash": "في سلة المهملات",
|
||||||
|
"asset_trashed": "اصول محذوفة",
|
||||||
|
"asset_troubleshoot": "استكشاف مشاكل الأصول",
|
||||||
"asset_uploaded": "تم الرفع",
|
"asset_uploaded": "تم الرفع",
|
||||||
"asset_uploading": "جارٍ الرفع…",
|
"asset_uploading": "جارٍ الرفع…",
|
||||||
"asset_viewer_settings_subtitle": "إدارة إعدادات عارض المعرض الخاص بك",
|
"asset_viewer_settings_subtitle": "إدارة إعدادات عارض المعرض الخاص بك",
|
||||||
@@ -500,7 +513,9 @@
|
|||||||
"assets": "المحتويات",
|
"assets": "المحتويات",
|
||||||
"assets_added_count": "تمت إضافة {count, plural, one {# محتوى} other {# محتويات}}",
|
"assets_added_count": "تمت إضافة {count, plural, one {# محتوى} other {# محتويات}}",
|
||||||
"assets_added_to_album_count": "تمت إضافة {count, plural, one {# الأصل} other {# الأصول}} إلى الألبوم",
|
"assets_added_to_album_count": "تمت إضافة {count, plural, one {# الأصل} other {# الأصول}} إلى الألبوم",
|
||||||
|
"assets_added_to_albums_count": "تمت اضافة {assetTotal, plural, one {# اصل} other {# اصول}} to {albumTotal, plural, one {# البوم} other {# البومات}}",
|
||||||
"assets_cannot_be_added_to_album_count": "{count, plural, one {Asset} other {Assets}} لايمكن اضافته الى الالبوم",
|
"assets_cannot_be_added_to_album_count": "{count, plural, one {Asset} other {Assets}} لايمكن اضافته الى الالبوم",
|
||||||
|
"assets_cannot_be_added_to_albums": "{count, plural, one {اصل} other {اصول}} لا يمكن إضافته إلى أي من الألبومات",
|
||||||
"assets_count": "{count, plural, one {# محتوى} other {# محتويات}}",
|
"assets_count": "{count, plural, one {# محتوى} other {# محتويات}}",
|
||||||
"assets_deleted_permanently": "{count} الاص(و)ل المحذوف(ه) بشكل دائم",
|
"assets_deleted_permanently": "{count} الاص(و)ل المحذوف(ه) بشكل دائم",
|
||||||
"assets_deleted_permanently_from_server": "{count} الاص(و)ل المحذوف(ه) بشكل دائمي من خادم Immich",
|
"assets_deleted_permanently_from_server": "{count} الاص(و)ل المحذوف(ه) بشكل دائمي من خادم Immich",
|
||||||
@@ -517,14 +532,17 @@
|
|||||||
"assets_trashed_count": "تم إرسال {count, plural, one {# محتوى} other {# محتويات}} إلى سلة المهملات",
|
"assets_trashed_count": "تم إرسال {count, plural, one {# محتوى} other {# محتويات}} إلى سلة المهملات",
|
||||||
"assets_trashed_from_server": "{count} الاص(و)ل المنقولة الى سلة المهملات من خادم Immich",
|
"assets_trashed_from_server": "{count} الاص(و)ل المنقولة الى سلة المهملات من خادم Immich",
|
||||||
"assets_were_part_of_album_count": "{count, plural, one {هذا المحتوى} other {هذه المحتويات}} في الألبوم بالفعل",
|
"assets_were_part_of_album_count": "{count, plural, one {هذا المحتوى} other {هذه المحتويات}} في الألبوم بالفعل",
|
||||||
|
"assets_were_part_of_albums_count": "{count, plural, one {اصل هو} other {اصول هي}}بالفعل جزء من الألبومات",
|
||||||
"authorized_devices": "الأجهزه المخولة",
|
"authorized_devices": "الأجهزه المخولة",
|
||||||
"automatic_endpoint_switching_subtitle": "اتصل محليا من خلال شبكه Wi-Fi عند توفرها و استخدم اتصالات بديله في الاماكن الاخرى",
|
"automatic_endpoint_switching_subtitle": "اتصل محليا من خلال شبكه Wi-Fi عند توفرها و استخدم اتصالات بديله في الاماكن الاخرى",
|
||||||
"automatic_endpoint_switching_title": "تبديل URL تلقائي",
|
"automatic_endpoint_switching_title": "تبديل URL تلقائي",
|
||||||
"autoplay_slideshow": "تشغيل تلقائي لعرض الشرائح",
|
"autoplay_slideshow": "تشغيل تلقائي لعرض الشرائح",
|
||||||
"back": "خلف",
|
"back": "خلف",
|
||||||
"back_close_deselect": "الرجوع أو الإغلاق أو إلغاء التحديد",
|
"back_close_deselect": "الرجوع أو الإغلاق أو إلغاء التحديد",
|
||||||
|
"background_backup_running_error": "يتم تشغيل النسخ الاحتياطي في الخلفية حاليًا، ولا يمكن بدء النسخ الاحتياطي اليدوي",
|
||||||
"background_location_permission": "اذن الوصول للموقع في الخلفية",
|
"background_location_permission": "اذن الوصول للموقع في الخلفية",
|
||||||
"background_location_permission_content": "للتمكن من تبديل الشبكه بالخلفية، Immich يحتاج*دائما* للحصول على موقع دقيق ليتمكن التطبيق من قرائة اسم شبكة الWi-Fi",
|
"background_location_permission_content": "للتمكن من تبديل الشبكه بالخلفية، Immich يحتاج*دائما* للحصول على موقع دقيق ليتمكن التطبيق من قرائة اسم شبكة الWi-Fi",
|
||||||
|
"background_options": "خيارات الخلفية",
|
||||||
"backup": "نسخ احتياطي",
|
"backup": "نسخ احتياطي",
|
||||||
"backup_album_selection_page_albums_device": "الالبومات على الجهاز ({count})",
|
"backup_album_selection_page_albums_device": "الالبومات على الجهاز ({count})",
|
||||||
"backup_album_selection_page_albums_tap": "انقر للتضمين، وانقر نقرًا مزدوجًا للاستثناء",
|
"backup_album_selection_page_albums_tap": "انقر للتضمين، وانقر نقرًا مزدوجًا للاستثناء",
|
||||||
@@ -532,6 +550,7 @@
|
|||||||
"backup_album_selection_page_select_albums": "حدد الألبومات",
|
"backup_album_selection_page_select_albums": "حدد الألبومات",
|
||||||
"backup_album_selection_page_selection_info": "معلومات الاختيار",
|
"backup_album_selection_page_selection_info": "معلومات الاختيار",
|
||||||
"backup_album_selection_page_total_assets": "إجمالي الأصول الفريدة",
|
"backup_album_selection_page_total_assets": "إجمالي الأصول الفريدة",
|
||||||
|
"backup_albums_sync": "مزامنة ألبومات النسخ الاحتياطي",
|
||||||
"backup_all": "الجميع",
|
"backup_all": "الجميع",
|
||||||
"backup_background_service_backup_failed_message": "فشل في النسخ الاحتياطي للأصول. جارٍ إعادة المحاولة…",
|
"backup_background_service_backup_failed_message": "فشل في النسخ الاحتياطي للأصول. جارٍ إعادة المحاولة…",
|
||||||
"backup_background_service_connection_failed_message": "فشل في الاتصال بالخادم. جارٍ إعادة المحاولة…",
|
"backup_background_service_connection_failed_message": "فشل في الاتصال بالخادم. جارٍ إعادة المحاولة…",
|
||||||
@@ -581,6 +600,7 @@
|
|||||||
"backup_controller_page_turn_on": "قم بتشغيل النسخ الاحتياطي المقدمة",
|
"backup_controller_page_turn_on": "قم بتشغيل النسخ الاحتياطي المقدمة",
|
||||||
"backup_controller_page_uploading_file_info": "تحميل معلومات الملف",
|
"backup_controller_page_uploading_file_info": "تحميل معلومات الملف",
|
||||||
"backup_err_only_album": "لا يمكن إزالة الألبوم الوحيد",
|
"backup_err_only_album": "لا يمكن إزالة الألبوم الوحيد",
|
||||||
|
"backup_error_sync_failed": "فشل المزامنة. لا يمكن معالجة النسخ الاحتياطي.",
|
||||||
"backup_info_card_assets": "أصول",
|
"backup_info_card_assets": "أصول",
|
||||||
"backup_manual_cancelled": "ملغي",
|
"backup_manual_cancelled": "ملغي",
|
||||||
"backup_manual_in_progress": "قيد التحميل حاول مره اخرى",
|
"backup_manual_in_progress": "قيد التحميل حاول مره اخرى",
|
||||||
@@ -648,6 +668,8 @@
|
|||||||
"change_pin_code": "تغيير رمز PIN",
|
"change_pin_code": "تغيير رمز PIN",
|
||||||
"change_your_password": "غير كلمة المرور الخاصة بك",
|
"change_your_password": "غير كلمة المرور الخاصة بك",
|
||||||
"changed_visibility_successfully": "تم تغيير الرؤية بنجاح",
|
"changed_visibility_successfully": "تم تغيير الرؤية بنجاح",
|
||||||
|
"charging": "الشحن",
|
||||||
|
"charging_requirement_mobile_backup": "يتطلب النسخ الاحتياطي في الخلفية أن يكون الجهاز قيد الشحن",
|
||||||
"check_corrupt_asset_backup": "التحقق من وجود نسخ احتياطية فاسدة للاصول",
|
"check_corrupt_asset_backup": "التحقق من وجود نسخ احتياطية فاسدة للاصول",
|
||||||
"check_corrupt_asset_backup_button": "اجراء فحص",
|
"check_corrupt_asset_backup_button": "اجراء فحص",
|
||||||
"check_corrupt_asset_backup_description": "قم بإجراء هذا الفحص فقط عبر شبكة Wi-Fi وبعد نسخ جميع الأصول احتياطيًا. قد يستغرق الإجراء بضع دقائق.",
|
"check_corrupt_asset_backup_description": "قم بإجراء هذا الفحص فقط عبر شبكة Wi-Fi وبعد نسخ جميع الأصول احتياطيًا. قد يستغرق الإجراء بضع دقائق.",
|
||||||
@@ -734,6 +756,7 @@
|
|||||||
"create_user": "إنشاء مستخدم",
|
"create_user": "إنشاء مستخدم",
|
||||||
"created": "تم الإنشاء",
|
"created": "تم الإنشاء",
|
||||||
"created_at": "مخلوق",
|
"created_at": "مخلوق",
|
||||||
|
"creating_linked_albums": "جاري إنشاء الألبومات المرتبطة...",
|
||||||
"crop": "قص",
|
"crop": "قص",
|
||||||
"curated_object_page_title": "أشياء",
|
"curated_object_page_title": "أشياء",
|
||||||
"current_device": "الجهاز الحالي",
|
"current_device": "الجهاز الحالي",
|
||||||
@@ -883,7 +906,9 @@
|
|||||||
"error": "خطأ",
|
"error": "خطأ",
|
||||||
"error_change_sort_album": "فشل في تغيير ترتيب الألبوم",
|
"error_change_sort_album": "فشل في تغيير ترتيب الألبوم",
|
||||||
"error_delete_face": "حدث خطأ في حذف الوجه من الأصول",
|
"error_delete_face": "حدث خطأ في حذف الوجه من الأصول",
|
||||||
|
"error_getting_places": "خطأ أثناء استرجاع بيانات المواقع",
|
||||||
"error_loading_image": "حدث خطأ أثناء تحميل الصورة",
|
"error_loading_image": "حدث خطأ أثناء تحميل الصورة",
|
||||||
|
"error_loading_partners": "خطأ بتحميل بيانات الشركاء: {error}",
|
||||||
"error_saving_image": "خطأ: {error}",
|
"error_saving_image": "خطأ: {error}",
|
||||||
"error_tag_face_bounding_box": "خطأ في وضع علامة على الوجه - لا يمكن الحصول على إحداثيات المربع المحيط",
|
"error_tag_face_bounding_box": "خطأ في وضع علامة على الوجه - لا يمكن الحصول على إحداثيات المربع المحيط",
|
||||||
"error_title": "خطأ - حدث خللٌ ما",
|
"error_title": "خطأ - حدث خللٌ ما",
|
||||||
@@ -1048,6 +1073,7 @@
|
|||||||
"favorites_page_no_favorites": "لم يتم العثور على الأصول المفضلة",
|
"favorites_page_no_favorites": "لم يتم العثور على الأصول المفضلة",
|
||||||
"feature_photo_updated": "تم تحديث الصورة المميزة",
|
"feature_photo_updated": "تم تحديث الصورة المميزة",
|
||||||
"features": "الميزات",
|
"features": "الميزات",
|
||||||
|
"features_in_development": "الميزات قيد التطوير",
|
||||||
"features_setting_description": "إدارة ميزات التطبيق",
|
"features_setting_description": "إدارة ميزات التطبيق",
|
||||||
"file_name": "إسم الملف",
|
"file_name": "إسم الملف",
|
||||||
"file_name_or_extension": "اسم الملف أو امتداده",
|
"file_name_or_extension": "اسم الملف أو امتداده",
|
||||||
@@ -1068,12 +1094,15 @@
|
|||||||
"gcast_enabled": "كوكل كاست",
|
"gcast_enabled": "كوكل كاست",
|
||||||
"gcast_enabled_description": "تقوم هذه الميزة بتحميل الموارد الخارجية من Google حتى تعمل.",
|
"gcast_enabled_description": "تقوم هذه الميزة بتحميل الموارد الخارجية من Google حتى تعمل.",
|
||||||
"general": "عام",
|
"general": "عام",
|
||||||
|
"geolocation_instruction_location": "انقر على الاصل الذي يحتوي على إحداثيات نظام تحديد المواقع لاستخدام موقعه، أو اختر الموقع مباشرة من الخريطة",
|
||||||
"get_help": "الحصول على المساعدة",
|
"get_help": "الحصول على المساعدة",
|
||||||
"get_wifiname_error": "تعذر الحصول على اسم شبكة Wi-Fi. تأكد من منح الأذونات اللازمة واتصالك بشبكة Wi-Fi",
|
"get_wifiname_error": "تعذر الحصول على اسم شبكة Wi-Fi. تأكد من منح الأذونات اللازمة واتصالك بشبكة Wi-Fi",
|
||||||
"getting_started": "البدء",
|
"getting_started": "البدء",
|
||||||
"go_back": "الرجوع للخلف",
|
"go_back": "الرجوع للخلف",
|
||||||
"go_to_folder": "اذهب إلى المجلد",
|
"go_to_folder": "اذهب إلى المجلد",
|
||||||
"go_to_search": "اذهب إلى البحث",
|
"go_to_search": "اذهب إلى البحث",
|
||||||
|
"gps": "نظام تحديد المواقع",
|
||||||
|
"gps_missing": "لا يوجد نظام تحديد المواقع",
|
||||||
"grant_permission": "منح الاذن",
|
"grant_permission": "منح الاذن",
|
||||||
"group_albums_by": "تجميع الألبومات حسب...",
|
"group_albums_by": "تجميع الألبومات حسب...",
|
||||||
"group_country": "مجموعة البلد",
|
"group_country": "مجموعة البلد",
|
||||||
@@ -1209,6 +1238,7 @@
|
|||||||
"local": "محلّي",
|
"local": "محلّي",
|
||||||
"local_asset_cast_failed": "غير قادر على بث أصل لم يتم تحميله إلى الخادم",
|
"local_asset_cast_failed": "غير قادر على بث أصل لم يتم تحميله إلى الخادم",
|
||||||
"local_assets": "أُصول (ملفات) محلية",
|
"local_assets": "أُصول (ملفات) محلية",
|
||||||
|
"local_media_summary": "ملخص الملفات المحلية",
|
||||||
"local_network": "شبكة محلية",
|
"local_network": "شبكة محلية",
|
||||||
"local_network_sheet_info": "سيتصل التطبيق بالخادم من خلال عنوان URL هذا عند استخدام شبكة Wi-Fi المحددة",
|
"local_network_sheet_info": "سيتصل التطبيق بالخادم من خلال عنوان URL هذا عند استخدام شبكة Wi-Fi المحددة",
|
||||||
"location_permission": "اذن الموقع",
|
"location_permission": "اذن الموقع",
|
||||||
@@ -1220,6 +1250,7 @@
|
|||||||
"location_picker_longitude_hint": "أدخل خط الطول هنا",
|
"location_picker_longitude_hint": "أدخل خط الطول هنا",
|
||||||
"lock": "قفل",
|
"lock": "قفل",
|
||||||
"locked_folder": "مجلد مقفول",
|
"locked_folder": "مجلد مقفول",
|
||||||
|
"log_detail_title": "تفاصيل السجل",
|
||||||
"log_out": "تسجيل خروج",
|
"log_out": "تسجيل خروج",
|
||||||
"log_out_all_devices": "تسجيل الخروج من كافة الأجهزة",
|
"log_out_all_devices": "تسجيل الخروج من كافة الأجهزة",
|
||||||
"logged_in_as": "تم تسجيل الدخول باسم {user}",
|
"logged_in_as": "تم تسجيل الدخول باسم {user}",
|
||||||
@@ -1250,6 +1281,7 @@
|
|||||||
"login_password_changed_success": "تم تحديث كلمة السر بنجاح",
|
"login_password_changed_success": "تم تحديث كلمة السر بنجاح",
|
||||||
"logout_all_device_confirmation": "هل أنت متأكد أنك تريد تسجيل الخروج من جميع الأجهزة؟",
|
"logout_all_device_confirmation": "هل أنت متأكد أنك تريد تسجيل الخروج من جميع الأجهزة؟",
|
||||||
"logout_this_device_confirmation": "هل أنت متأكد أنك تريد تسجيل الخروج من هذا الجهاز؟",
|
"logout_this_device_confirmation": "هل أنت متأكد أنك تريد تسجيل الخروج من هذا الجهاز؟",
|
||||||
|
"logs": "السجلات",
|
||||||
"longitude": "خط الطول",
|
"longitude": "خط الطول",
|
||||||
"look": "الشكل",
|
"look": "الشكل",
|
||||||
"loop_videos": "تكرار مقاطع الفيديو",
|
"loop_videos": "تكرار مقاطع الفيديو",
|
||||||
@@ -1257,6 +1289,7 @@
|
|||||||
"main_branch_warning": "أنت تستخدم إصداراً قيد التطوير؛ ونحن نوصي بشدة باستخدام إصدار النشر!",
|
"main_branch_warning": "أنت تستخدم إصداراً قيد التطوير؛ ونحن نوصي بشدة باستخدام إصدار النشر!",
|
||||||
"main_menu": "القائمة الرئيسية",
|
"main_menu": "القائمة الرئيسية",
|
||||||
"make": "صنع",
|
"make": "صنع",
|
||||||
|
"manage_geolocation": "إدارة الموقع",
|
||||||
"manage_shared_links": "إدارة الروابط المشتركة",
|
"manage_shared_links": "إدارة الروابط المشتركة",
|
||||||
"manage_sharing_with_partners": "إدارة المشاركة مع الشركاء",
|
"manage_sharing_with_partners": "إدارة المشاركة مع الشركاء",
|
||||||
"manage_the_app_settings": "إدارة إعدادات التطبيق",
|
"manage_the_app_settings": "إدارة إعدادات التطبيق",
|
||||||
@@ -1291,6 +1324,7 @@
|
|||||||
"mark_as_read": "تحديد كمقروء",
|
"mark_as_read": "تحديد كمقروء",
|
||||||
"marked_all_as_read": "تم تحديد الكل كمقروء",
|
"marked_all_as_read": "تم تحديد الكل كمقروء",
|
||||||
"matches": "تطابقات",
|
"matches": "تطابقات",
|
||||||
|
"matching_assets": "الاصول المطابقة",
|
||||||
"media_type": "نوع الوسائط",
|
"media_type": "نوع الوسائط",
|
||||||
"memories": "الذكريات",
|
"memories": "الذكريات",
|
||||||
"memories_all_caught_up": "كل شيء محدث",
|
"memories_all_caught_up": "كل شيء محدث",
|
||||||
@@ -1331,6 +1365,7 @@
|
|||||||
"name_or_nickname": "الاسم أو اللقب",
|
"name_or_nickname": "الاسم أو اللقب",
|
||||||
"network_requirement_photos_upload": "استخدام بيانات الهاتف المحمول لعمل نسخة احتياطية للصور",
|
"network_requirement_photos_upload": "استخدام بيانات الهاتف المحمول لعمل نسخة احتياطية للصور",
|
||||||
"network_requirement_videos_upload": "استخدام بيانات الهاتف المحمول لعمل نسخة احتياطية لمقاطع الفيديو",
|
"network_requirement_videos_upload": "استخدام بيانات الهاتف المحمول لعمل نسخة احتياطية لمقاطع الفيديو",
|
||||||
|
"network_requirements": "متطلبات الشبكة",
|
||||||
"network_requirements_updated": "تم تغيير متطلبات الشبكة، يتم إعادة تعيين قائمة انتظار النسخ الاحتياطي",
|
"network_requirements_updated": "تم تغيير متطلبات الشبكة، يتم إعادة تعيين قائمة انتظار النسخ الاحتياطي",
|
||||||
"networking_settings": "الشبكات",
|
"networking_settings": "الشبكات",
|
||||||
"networking_subtitle": "إدارة إعدادات نقطة الخادم النهائية",
|
"networking_subtitle": "إدارة إعدادات نقطة الخادم النهائية",
|
||||||
@@ -1341,6 +1376,7 @@
|
|||||||
"new_person": "شخص جديد",
|
"new_person": "شخص جديد",
|
||||||
"new_pin_code": "رمز PIN الجديد",
|
"new_pin_code": "رمز PIN الجديد",
|
||||||
"new_pin_code_subtitle": "هذه أول مرة تدخل فيها إلى المجلد المقفل. أنشئ رمزًا PIN للوصول بامان إلى هذه الصفحة",
|
"new_pin_code_subtitle": "هذه أول مرة تدخل فيها إلى المجلد المقفل. أنشئ رمزًا PIN للوصول بامان إلى هذه الصفحة",
|
||||||
|
"new_timeline": "الخط الزمني الجديد",
|
||||||
"new_user_created": "تم إنشاء مستخدم جديد",
|
"new_user_created": "تم إنشاء مستخدم جديد",
|
||||||
"new_version_available": "إصدار جديد متاح",
|
"new_version_available": "إصدار جديد متاح",
|
||||||
"newest_first": "الأحدث أولاً",
|
"newest_first": "الأحدث أولاً",
|
||||||
@@ -1354,20 +1390,25 @@
|
|||||||
"no_assets_message": "انقر لتحميل صورتك الأولى",
|
"no_assets_message": "انقر لتحميل صورتك الأولى",
|
||||||
"no_assets_to_show": "لا توجد أصول لعرضها",
|
"no_assets_to_show": "لا توجد أصول لعرضها",
|
||||||
"no_cast_devices_found": "لم يتم ايجاد جهاز بث",
|
"no_cast_devices_found": "لم يتم ايجاد جهاز بث",
|
||||||
|
"no_checksum_local": "لا توجد بيانات تحقق متاحة - يتعذر تحميل الاصول المحلية",
|
||||||
|
"no_checksum_remote": "لا يوجد رمز تحقق متاح - يتعذر تحميل الاصل من الموقع البعيد",
|
||||||
"no_duplicates_found": "لم يتم العثور على أي تكرارات.",
|
"no_duplicates_found": "لم يتم العثور على أي تكرارات.",
|
||||||
"no_exif_info_available": "لا تتوفر معلومات exif",
|
"no_exif_info_available": "لا تتوفر معلومات exif",
|
||||||
"no_explore_results_message": "قم برفع المزيد من الصور لاستكشاف مجموعتك.",
|
"no_explore_results_message": "قم برفع المزيد من الصور لاستكشاف مجموعتك.",
|
||||||
"no_favorites_message": "أضف المفضلة للعثور بسرعة على أفضل الصور ومقاطع الفيديو",
|
"no_favorites_message": "أضف المفضلة للعثور بسرعة على أفضل الصور ومقاطع الفيديو",
|
||||||
"no_libraries_message": "إنشاء مكتبة خارجية لعرض الصور ومقاطع الفيديو الخاصة بك",
|
"no_libraries_message": "إنشاء مكتبة خارجية لعرض الصور ومقاطع الفيديو الخاصة بك",
|
||||||
|
"no_local_assets_found": "لم يتم العثور على أي اصول محلية تتطابق مع قيمة التحقق هذه",
|
||||||
"no_locked_photos_message": "الصور والفديوهات في المجلد المقفل مخفية ولن تصهر في التصفح او البحث في مكتبتك.",
|
"no_locked_photos_message": "الصور والفديوهات في المجلد المقفل مخفية ولن تصهر في التصفح او البحث في مكتبتك.",
|
||||||
"no_name": "لا اسم",
|
"no_name": "لا اسم",
|
||||||
"no_notifications": "لا توجد تنبيهات",
|
"no_notifications": "لا توجد تنبيهات",
|
||||||
"no_people_found": "لم يتم العثور على اشخاص مطابقين",
|
"no_people_found": "لم يتم العثور على اشخاص مطابقين",
|
||||||
"no_places": "لا أماكن",
|
"no_places": "لا أماكن",
|
||||||
|
"no_remote_assets_found": "لم يتم العثور على أي اصول بعيدة تتطابق مع رمز التحقق هذل",
|
||||||
"no_results": "لا يوجد نتائج",
|
"no_results": "لا يوجد نتائج",
|
||||||
"no_results_description": "جرب كلمة رئيسية مرادفة أو أكثر عمومية",
|
"no_results_description": "جرب كلمة رئيسية مرادفة أو أكثر عمومية",
|
||||||
"no_shared_albums_message": "قم بإنشاء ألبوم لمشاركة الصور ومقاطع الفيديو مع الأشخاص في شبكتك",
|
"no_shared_albums_message": "قم بإنشاء ألبوم لمشاركة الصور ومقاطع الفيديو مع الأشخاص في شبكتك",
|
||||||
"no_uploads_in_progress": "لا يوجد اي ملفات قيد الرفع",
|
"no_uploads_in_progress": "لا يوجد اي ملفات قيد الرفع",
|
||||||
|
"not_available": "غير متاح",
|
||||||
"not_in_any_album": "ليست في أي ألبوم",
|
"not_in_any_album": "ليست في أي ألبوم",
|
||||||
"not_selected": "لم يختار",
|
"not_selected": "لم يختار",
|
||||||
"note_apply_storage_label_to_previously_uploaded assets": "ملاحظة: لتطبيق سمة التخزين على المحتويات التي تم رفعها مسبقًا، قم بتشغيل",
|
"note_apply_storage_label_to_previously_uploaded assets": "ملاحظة: لتطبيق سمة التخزين على المحتويات التي تم رفعها مسبقًا، قم بتشغيل",
|
||||||
@@ -1402,6 +1443,8 @@
|
|||||||
"open_the_search_filters": "افتح مرشحات البحث",
|
"open_the_search_filters": "افتح مرشحات البحث",
|
||||||
"options": "خيارات",
|
"options": "خيارات",
|
||||||
"or": "أو",
|
"or": "أو",
|
||||||
|
"organize_into_albums": "ترتيب في ألبومات",
|
||||||
|
"organize_into_albums_description": "أضف الصور الموجودة إلى الألبومات باستخدام إعدادات النسخ المتزامن الحالية",
|
||||||
"organize_your_library": "تنظيم مكتبتك",
|
"organize_your_library": "تنظيم مكتبتك",
|
||||||
"original": "أصلي",
|
"original": "أصلي",
|
||||||
"other": "أخرى",
|
"other": "أخرى",
|
||||||
@@ -1487,6 +1530,7 @@
|
|||||||
"port": "المنفذ",
|
"port": "المنفذ",
|
||||||
"preferences_settings_subtitle": "ادارة تفضيلات التطبيق",
|
"preferences_settings_subtitle": "ادارة تفضيلات التطبيق",
|
||||||
"preferences_settings_title": "التفضيلات",
|
"preferences_settings_title": "التفضيلات",
|
||||||
|
"preparing": "قيد التحضير",
|
||||||
"preset": "الإعداد المسبق",
|
"preset": "الإعداد المسبق",
|
||||||
"preview": "معاينة",
|
"preview": "معاينة",
|
||||||
"previous": "السابق",
|
"previous": "السابق",
|
||||||
@@ -1503,6 +1547,7 @@
|
|||||||
"profile_drawer_client_out_of_date_minor": "تطبيق الهاتف المحمول قديم.يرجى التحديث إلى أحدث إصدار صغير.",
|
"profile_drawer_client_out_of_date_minor": "تطبيق الهاتف المحمول قديم.يرجى التحديث إلى أحدث إصدار صغير.",
|
||||||
"profile_drawer_client_server_up_to_date": "العميل والخادم محدثان",
|
"profile_drawer_client_server_up_to_date": "العميل والخادم محدثان",
|
||||||
"profile_drawer_github": "Github",
|
"profile_drawer_github": "Github",
|
||||||
|
"profile_drawer_readonly_mode": "تم تفعيل وضع القراءة فقط. اضغط مطولا على رمز صورة المستخدم للخروج.",
|
||||||
"profile_drawer_server_out_of_date_major": "الخادم قديم.يرجى التحديث إلى أحدث إصدار رئيسي.",
|
"profile_drawer_server_out_of_date_major": "الخادم قديم.يرجى التحديث إلى أحدث إصدار رئيسي.",
|
||||||
"profile_drawer_server_out_of_date_minor": "الخادم قديم.يرجى التحديث إلى أحدث إصدار صغير.",
|
"profile_drawer_server_out_of_date_minor": "الخادم قديم.يرجى التحديث إلى أحدث إصدار صغير.",
|
||||||
"profile_image_of_user": "صورة الملف الشخصي لـ {user}",
|
"profile_image_of_user": "صورة الملف الشخصي لـ {user}",
|
||||||
@@ -1541,6 +1586,7 @@
|
|||||||
"purchase_server_description_2": "حالة الداعم",
|
"purchase_server_description_2": "حالة الداعم",
|
||||||
"purchase_server_title": "الخادم",
|
"purchase_server_title": "الخادم",
|
||||||
"purchase_settings_server_activated": "يتم إدارة مفتاح منتج الخادم من قبل مدير النظام",
|
"purchase_settings_server_activated": "يتم إدارة مفتاح منتج الخادم من قبل مدير النظام",
|
||||||
|
"query_asset_id": "استعلام عن معرف الأصل",
|
||||||
"queue_status": "يتم الاضافة الى قائمة انتظار النسخ الاحتياطي {count}/{total}",
|
"queue_status": "يتم الاضافة الى قائمة انتظار النسخ الاحتياطي {count}/{total}",
|
||||||
"rating": "تقييم نجمي",
|
"rating": "تقييم نجمي",
|
||||||
"rating_clear": "مسح التقييم",
|
"rating_clear": "مسح التقييم",
|
||||||
@@ -1548,6 +1594,9 @@
|
|||||||
"rating_description": "اعرض تقييم EXIF في لوحة المعلومات",
|
"rating_description": "اعرض تقييم EXIF في لوحة المعلومات",
|
||||||
"reaction_options": "خيارات رد الفعل",
|
"reaction_options": "خيارات رد الفعل",
|
||||||
"read_changelog": "قراءة سجل التغيير",
|
"read_changelog": "قراءة سجل التغيير",
|
||||||
|
"readonly_mode_disabled": "تم تعطيل وضع القراءة فقط",
|
||||||
|
"readonly_mode_enabled": "تم تفعيل وضع القراءة فقط",
|
||||||
|
"ready_for_upload": "جاهز للرفع",
|
||||||
"reassign": "إعادة التعيين",
|
"reassign": "إعادة التعيين",
|
||||||
"reassigned_assets_to_existing_person": "تمت إعادة تعيين {count, plural, one {# الأصل} other {# الاصول}} إلى {name, select, null {شخص موجود } other {{name}}}",
|
"reassigned_assets_to_existing_person": "تمت إعادة تعيين {count, plural, one {# الأصل} other {# الاصول}} إلى {name, select, null {شخص موجود } other {{name}}}",
|
||||||
"reassigned_assets_to_new_person": "تمت إعادة تعيين {count, plural, one {# المحتوى} other {# المحتويات}} إلى شخص جديد",
|
"reassigned_assets_to_new_person": "تمت إعادة تعيين {count, plural, one {# المحتوى} other {# المحتويات}} إلى شخص جديد",
|
||||||
@@ -1572,6 +1621,7 @@
|
|||||||
"regenerating_thumbnails": "جارٍ تجديد الصور المصغرة",
|
"regenerating_thumbnails": "جارٍ تجديد الصور المصغرة",
|
||||||
"remote": "بعيد",
|
"remote": "بعيد",
|
||||||
"remote_assets": "الأُصول البعيدة",
|
"remote_assets": "الأُصول البعيدة",
|
||||||
|
"remote_media_summary": "ملخص الملفات البعيدة",
|
||||||
"remove": "إزالة",
|
"remove": "إزالة",
|
||||||
"remove_assets_album_confirmation": "هل أنت متأكد أنك تريد إزالة {count, plural, one {# المحتوى} other {# المحتويات}} من الألبوم ؟",
|
"remove_assets_album_confirmation": "هل أنت متأكد أنك تريد إزالة {count, plural, one {# المحتوى} other {# المحتويات}} من الألبوم ؟",
|
||||||
"remove_assets_shared_link_confirmation": "هل أنت متأكد أنك تريد إزالة {count, plural, one {# المحتوى} other {# المحتويات}} من رابط المشاركة هذا؟",
|
"remove_assets_shared_link_confirmation": "هل أنت متأكد أنك تريد إزالة {count, plural, one {# المحتوى} other {# المحتويات}} من رابط المشاركة هذا؟",
|
||||||
@@ -1624,6 +1674,7 @@
|
|||||||
"restore_user": "استعادة المستخدم",
|
"restore_user": "استعادة المستخدم",
|
||||||
"restored_asset": "المحتويات المستعادة",
|
"restored_asset": "المحتويات المستعادة",
|
||||||
"resume": "استئناف",
|
"resume": "استئناف",
|
||||||
|
"resume_paused_jobs": "استكمال {count, plural, one {# وظيفة معلقة} other {# وظائف معلقة}}",
|
||||||
"retry_upload": "أعد محاولة الرفع",
|
"retry_upload": "أعد محاولة الرفع",
|
||||||
"review_duplicates": "مراجعة التكرارات",
|
"review_duplicates": "مراجعة التكرارات",
|
||||||
"review_large_files": "مراجعة الملفات الكبيرة",
|
"review_large_files": "مراجعة الملفات الكبيرة",
|
||||||
@@ -1717,6 +1768,7 @@
|
|||||||
"select_user_for_sharing_page_err_album": "فشل في إنشاء ألبوم",
|
"select_user_for_sharing_page_err_album": "فشل في إنشاء ألبوم",
|
||||||
"selected": "التحديد",
|
"selected": "التحديد",
|
||||||
"selected_count": "{count, plural, other {# محددة }}",
|
"selected_count": "{count, plural, other {# محددة }}",
|
||||||
|
"selected_gps_coordinates": "إحداثيات نظام تحديد المواقع المختارة",
|
||||||
"send_message": "إرسال رسالة",
|
"send_message": "إرسال رسالة",
|
||||||
"send_welcome_email": "إرسال بريدًا إلكترونيًا ترحيبيًا",
|
"send_welcome_email": "إرسال بريدًا إلكترونيًا ترحيبيًا",
|
||||||
"server_endpoint": "نقطة نهاية الخادم",
|
"server_endpoint": "نقطة نهاية الخادم",
|
||||||
@@ -1845,6 +1897,7 @@
|
|||||||
"show_slideshow_transition": "إظهار انتقال عرض الشرائح",
|
"show_slideshow_transition": "إظهار انتقال عرض الشرائح",
|
||||||
"show_supporter_badge": "شارة المؤيد",
|
"show_supporter_badge": "شارة المؤيد",
|
||||||
"show_supporter_badge_description": "إظهار شارة المؤيد",
|
"show_supporter_badge_description": "إظهار شارة المؤيد",
|
||||||
|
"show_text_search_menu": "عرض قائمة خيارات البحث في النص",
|
||||||
"shuffle": "خلط",
|
"shuffle": "خلط",
|
||||||
"sidebar": "الشريط الجانبي",
|
"sidebar": "الشريط الجانبي",
|
||||||
"sidebar_display_description": "عرض رابط للعرض في الشريط الجانبي",
|
"sidebar_display_description": "عرض رابط للعرض في الشريط الجانبي",
|
||||||
@@ -1875,6 +1928,7 @@
|
|||||||
"stacktrace": "تتّبُع التكديس",
|
"stacktrace": "تتّبُع التكديس",
|
||||||
"start": "ابدأ",
|
"start": "ابدأ",
|
||||||
"start_date": "تاريخ البدء",
|
"start_date": "تاريخ البدء",
|
||||||
|
"start_date_before_end_date": "يجب أن يكون تاريخ بدء الفترة قبل تاريخ نهايتها",
|
||||||
"state": "الولاية",
|
"state": "الولاية",
|
||||||
"status": "الحالة",
|
"status": "الحالة",
|
||||||
"stop_casting": "ايقاف البث",
|
"stop_casting": "ايقاف البث",
|
||||||
@@ -1899,6 +1953,8 @@
|
|||||||
"sync_albums_manual_subtitle": "مزامنة جميع الفديوهات والصور المرفوعة الى البومات الخزن الاحتياطي المختارة",
|
"sync_albums_manual_subtitle": "مزامنة جميع الفديوهات والصور المرفوعة الى البومات الخزن الاحتياطي المختارة",
|
||||||
"sync_local": "مزامنة الملفات المحلية",
|
"sync_local": "مزامنة الملفات المحلية",
|
||||||
"sync_remote": "مزامنة الملفات البعيدة",
|
"sync_remote": "مزامنة الملفات البعيدة",
|
||||||
|
"sync_status": "حالة النسخ المتزامن",
|
||||||
|
"sync_status_subtitle": "عرض وإدارة نظام النسخ المتزامن",
|
||||||
"sync_upload_album_setting_subtitle": "انشئ و ارفع صورك و فديوهاتك الالبومات المختارة في Immich",
|
"sync_upload_album_setting_subtitle": "انشئ و ارفع صورك و فديوهاتك الالبومات المختارة في Immich",
|
||||||
"tag": "العلامة",
|
"tag": "العلامة",
|
||||||
"tag_assets": "أصول العلامة",
|
"tag_assets": "أصول العلامة",
|
||||||
@@ -1936,7 +1992,9 @@
|
|||||||
"to_change_password": "تغيير كلمة المرور",
|
"to_change_password": "تغيير كلمة المرور",
|
||||||
"to_favorite": "تفضيل",
|
"to_favorite": "تفضيل",
|
||||||
"to_login": "تسجيل الدخول",
|
"to_login": "تسجيل الدخول",
|
||||||
|
"to_multi_select": "للتحديد المتعدد",
|
||||||
"to_parent": "انتقل إلى الوالد",
|
"to_parent": "انتقل إلى الوالد",
|
||||||
|
"to_select": "للتحديد",
|
||||||
"to_trash": "حذف",
|
"to_trash": "حذف",
|
||||||
"toggle_settings": "الإعدادات",
|
"toggle_settings": "الإعدادات",
|
||||||
"total": "الإجمالي",
|
"total": "الإجمالي",
|
||||||
@@ -1956,6 +2014,7 @@
|
|||||||
"trash_page_select_assets_btn": "اختر الأصول",
|
"trash_page_select_assets_btn": "اختر الأصول",
|
||||||
"trash_page_title": "سلة المهملات ({count})",
|
"trash_page_title": "سلة المهملات ({count})",
|
||||||
"trashed_items_will_be_permanently_deleted_after": "سيتم حذفُ العناصر المحذوفة نِهائيًا بعد {days, plural, one {# يوم} other {# أيام }}.",
|
"trashed_items_will_be_permanently_deleted_after": "سيتم حذفُ العناصر المحذوفة نِهائيًا بعد {days, plural, one {# يوم} other {# أيام }}.",
|
||||||
|
"troubleshoot": "استكشاف المشاكل",
|
||||||
"type": "النوع",
|
"type": "النوع",
|
||||||
"unable_to_change_pin_code": "تفيير رمز PIN غير ممكن",
|
"unable_to_change_pin_code": "تفيير رمز PIN غير ممكن",
|
||||||
"unable_to_setup_pin_code": "انشاء رمز PIN غير ممكن",
|
"unable_to_setup_pin_code": "انشاء رمز PIN غير ممكن",
|
||||||
@@ -1986,6 +2045,7 @@
|
|||||||
"unstacked_assets_count": "تم إخراج {count, plural, one {# الأصل} other {# الأصول}} من التكديس",
|
"unstacked_assets_count": "تم إخراج {count, plural, one {# الأصل} other {# الأصول}} من التكديس",
|
||||||
"untagged": "غير مُعَلَّم",
|
"untagged": "غير مُعَلَّم",
|
||||||
"up_next": "التالي",
|
"up_next": "التالي",
|
||||||
|
"update_location_action_prompt": "تحديث موقع {count} عناصر محددة على النحو التالي:",
|
||||||
"updated_at": "تم التحديث",
|
"updated_at": "تم التحديث",
|
||||||
"updated_password": "تم تحديث كلمة المرور",
|
"updated_password": "تم تحديث كلمة المرور",
|
||||||
"upload": "رفع",
|
"upload": "رفع",
|
||||||
@@ -2052,6 +2112,7 @@
|
|||||||
"view_next_asset": "عرض المحتوى التالي",
|
"view_next_asset": "عرض المحتوى التالي",
|
||||||
"view_previous_asset": "عرض المحتوى السابق",
|
"view_previous_asset": "عرض المحتوى السابق",
|
||||||
"view_qr_code": "عرض رمز الاستجابة السريعة",
|
"view_qr_code": "عرض رمز الاستجابة السريعة",
|
||||||
|
"view_similar_photos": "عرض صور مشابهة",
|
||||||
"view_stack": "عرض التكديس",
|
"view_stack": "عرض التكديس",
|
||||||
"view_user": "عرض المستخدم",
|
"view_user": "عرض المستخدم",
|
||||||
"viewer_remove_from_stack": "حذف من الكومه أو المجموعة",
|
"viewer_remove_from_stack": "حذف من الكومه أو المجموعة",
|
||||||
@@ -2070,5 +2131,6 @@
|
|||||||
"yes": "نعم",
|
"yes": "نعم",
|
||||||
"you_dont_have_any_shared_links": "ليس لديك أي روابط مشتركة",
|
"you_dont_have_any_shared_links": "ليس لديك أي روابط مشتركة",
|
||||||
"your_wifi_name": "اسم شبكة Wi-Fi الخاص بك",
|
"your_wifi_name": "اسم شبكة Wi-Fi الخاص بك",
|
||||||
"zoom_image": "تكبير الصورة"
|
"zoom_image": "تكبير الصورة",
|
||||||
|
"zoom_to_bounds": "تكبير حتى حدود المنطقة"
|
||||||
}
|
}
|
||||||
|
|||||||
26
i18n/az.json
@@ -1,7 +1,7 @@
|
|||||||
{
|
{
|
||||||
"about": "Haqqında",
|
"about": "Haqqında",
|
||||||
"account": "Hesab",
|
"account": "Hesab",
|
||||||
"account_settings": "Hesab parametrləri",
|
"account_settings": "Hesab Parametrləri",
|
||||||
"acknowledge": "Təsdiq et",
|
"acknowledge": "Təsdiq et",
|
||||||
"action": "Əməliyyat",
|
"action": "Əməliyyat",
|
||||||
"action_common_update": "Yenilə",
|
"action_common_update": "Yenilə",
|
||||||
@@ -16,8 +16,8 @@
|
|||||||
"add_a_title": "Başlıq əlavə et",
|
"add_a_title": "Başlıq əlavə et",
|
||||||
"add_birthday": "Doğum günü əlavə et",
|
"add_birthday": "Doğum günü əlavə et",
|
||||||
"add_endpoint": "Son nöqtə əlavə et",
|
"add_endpoint": "Son nöqtə əlavə et",
|
||||||
"add_exclusion_pattern": "İstisna nümunəsi əlavə et",
|
"add_exclusion_pattern": "Çıxarma nümunəsi əlavə et",
|
||||||
"add_import_path": "Import yolunu əlavə et",
|
"add_import_path": "İdxal yolu əlavə et",
|
||||||
"add_location": "Məkan əlavə et",
|
"add_location": "Məkan əlavə et",
|
||||||
"add_more_users": "Daha çox istifadəçi əlavə et",
|
"add_more_users": "Daha çox istifadəçi əlavə et",
|
||||||
"add_partner": "Partnyor əlavə et",
|
"add_partner": "Partnyor əlavə et",
|
||||||
@@ -25,20 +25,21 @@
|
|||||||
"add_photos": "Şəkillər əlavə et",
|
"add_photos": "Şəkillər əlavə et",
|
||||||
"add_tag": "Etiket əlavə et",
|
"add_tag": "Etiket əlavə et",
|
||||||
"add_to": "Bura əlavə et…",
|
"add_to": "Bura əlavə et…",
|
||||||
"add_to_album": "Albom əlavə et",
|
"add_to_album": "Alboma əlavə et",
|
||||||
"add_to_album_bottom_sheet_added": "{album} albomuna əlavə edildi",
|
"add_to_album_bottom_sheet_added": "{album} albomuna əlavə edildi",
|
||||||
"add_to_album_bottom_sheet_already_exists": "Artıq {album} albomunda var",
|
"add_to_album_bottom_sheet_already_exists": "Artıq {album} albomunda var",
|
||||||
|
"add_to_album_bottom_sheet_some_local_assets": "Bəzi lokal resurslar alboma əlavə edilə bilmədi",
|
||||||
"add_to_album_toggle": "{album} üçün seçimi dəyişin",
|
"add_to_album_toggle": "{album} üçün seçimi dəyişin",
|
||||||
"add_to_albums": "Albomlara əlavə et",
|
"add_to_albums": "Albomlara əlavə et",
|
||||||
"add_to_albums_count": "Albomlara əlavə et ({count})",
|
"add_to_albums_count": "({count}) albomlarına əlavə et",
|
||||||
"add_to_shared_album": "Paylaşılan alboma əlavə et",
|
"add_to_shared_album": "Paylaşılan alboma əlavə et",
|
||||||
"add_url": "URL əlavə et",
|
"add_url": "URL əlavə et",
|
||||||
"added_to_archive": "Arxivə əlavə edildi",
|
"added_to_archive": "Arxivə əlavə edildi",
|
||||||
"added_to_favorites": "Sevimlilələrə əlavə edildi",
|
"added_to_favorites": "Sevimlilələrə əlavə edildi",
|
||||||
"added_to_favorites_count": "{count, number} şəkil sevimlilələrə əlavə edildi",
|
"added_to_favorites_count": "{count, number} şəkil sevimlilələrə əlavə edildi",
|
||||||
"admin": {
|
"admin": {
|
||||||
"add_exclusion_pattern_description": "İstisna şablonlarını əlavə edin. *, ** və ? ilə Globbing dəstəklənir. Məs.: \"Raw\" adlanan hər hansısa bir qovluqda bütün faylları saymamaq üçün \"**/Raw/**\"-dan istifadə edin. \".tif\" ilə bitən bütün faylları saymamaq üçün \"**/*.tif\"-dən istifadə edin. Faylı mütləq yoldan istifadə etməklə saymamaq istəyirsinizsə \"/path/to/ignore/**\"-dan istifadə edin.",
|
"add_exclusion_pattern_description": "Çıxarma nümunələri əlavə et. *, ** və ? istifadə edilərək globbing dəstəklənir. Hər hansı bir \"Raw\" adlı qovluqdakı bütün faylları görməməzlikdən gəlmək üçün **/Raw/** istifadə et. “.tif” ilə bitən bütün faylları görməməzlikdən gəlmək üçün **/*.tif istifadə et. Tam yolu görməməzlikdən gəlmək üçün /path/to/ignore/** istifadə et.",
|
||||||
"admin_user": "Admin İstifadəçi",
|
"admin_user": "İdarəçi İstifadəçi",
|
||||||
"asset_offline_description": "Bu xarici kitabxana varlığı diskdə artıq tapılmadı və zibil qutusuna köçürüldü. Əgər fayl kitabxana içərisində köçürülübsə, zaman şkalanızı yeni uyğun gələn varlıq üçün yoxlayın. Varlığı yenidən qaytarmaq üçün aşağıda verilmiş fayl yolunun Immich tərəfindən əlçatan olduğundan əmin olduqdan sonra kitabxananı skan edin.",
|
"asset_offline_description": "Bu xarici kitabxana varlığı diskdə artıq tapılmadı və zibil qutusuna köçürüldü. Əgər fayl kitabxana içərisində köçürülübsə, zaman şkalanızı yeni uyğun gələn varlıq üçün yoxlayın. Varlığı yenidən qaytarmaq üçün aşağıda verilmiş fayl yolunun Immich tərəfindən əlçatan olduğundan əmin olduqdan sonra kitabxananı skan edin.",
|
||||||
"authentication_settings": "Səlahiyyətləndirmə parametrləri",
|
"authentication_settings": "Səlahiyyətləndirmə parametrləri",
|
||||||
"authentication_settings_description": "Şifrə, OAuth və digər səlahiyyətləndirmə parametrləri",
|
"authentication_settings_description": "Şifrə, OAuth və digər səlahiyyətləndirmə parametrləri",
|
||||||
@@ -48,8 +49,15 @@
|
|||||||
"backup_database": "Verilənlər bazasının dump-ını yaradın",
|
"backup_database": "Verilənlər bazasının dump-ını yaradın",
|
||||||
"backup_database_enable_description": "Verilənlər bazasının artıq nüsxələrini aktiv et",
|
"backup_database_enable_description": "Verilənlər bazasının artıq nüsxələrini aktiv et",
|
||||||
"backup_keep_last_amount": "Tutulması gərəkən nüsxələrin sayı",
|
"backup_keep_last_amount": "Tutulması gərəkən nüsxələrin sayı",
|
||||||
"backup_settings": "Ehtiyat Nüsxə Parametrləri",
|
"backup_onboarding_1_description": "buludda və ya başqa fiziki yerdə saytdan kənar surət.",
|
||||||
|
"backup_onboarding_2_description": "müxtəlif cihazlarda yerli nüsxələr. Bura əsas fayllar və həmin faylların ehtiyat lokal nüsxəsi daxildir.",
|
||||||
|
"backup_onboarding_3_description": "orijinal fayllar da daxil olmaqla məlumatlarınızın ümumi surətləri. Buraya 1 kənar nüsxə və 2 lokal nüsxə daxildir.",
|
||||||
|
"backup_onboarding_footer": "Immich-in ehtiyat nüsxəsini çıxarmaq haqqında ətraflı məlumat üçün <link>sənədlərə</link> müraciət edin.",
|
||||||
|
"backup_onboarding_parts_title": "3-2-1 ehtiyat nüsxəsinə aşağıdakılar daxildir:",
|
||||||
|
"backup_onboarding_title": "Ehtiyat surətlər",
|
||||||
|
"backup_settings": "Bazanın Dump Parametrləri",
|
||||||
"backup_settings_description": "Verilənlər bazasının ehtiyat nüsxə parametrlərini idarə et",
|
"backup_settings_description": "Verilənlər bazasının ehtiyat nüsxə parametrlərini idarə et",
|
||||||
|
"cleared_jobs": "{job} üçün tapşırıqlar silindi",
|
||||||
"config_set_by_file": "Konfiqurasiya hal-hazırda konfiqurasiya faylı ilə təyin olunub",
|
"config_set_by_file": "Konfiqurasiya hal-hazırda konfiqurasiya faylı ilə təyin olunub",
|
||||||
"confirm_delete_library": "{library} kitabxanasını silmək istədiyinizdən əminmisiniz?",
|
"confirm_delete_library": "{library} kitabxanasını silmək istədiyinizdən əminmisiniz?",
|
||||||
"confirm_email_below": "Təsdiqləmək üçün aşağıya {email} yazın",
|
"confirm_email_below": "Təsdiqləmək üçün aşağıya {email} yazın",
|
||||||
@@ -69,7 +77,7 @@
|
|||||||
"image_thumbnail_title": "Önizləmə parametrləri",
|
"image_thumbnail_title": "Önizləmə parametrləri",
|
||||||
"job_concurrency": "{job}paralellik",
|
"job_concurrency": "{job}paralellik",
|
||||||
"job_created": "Tapşırıq yaradıldı",
|
"job_created": "Tapşırıq yaradıldı",
|
||||||
"job_not_concurrency_safe": "Bu tapşırıq parallel fəaliyyət üçün uyğun deyil",
|
"job_not_concurrency_safe": "Bu iş eyni vaxtda icra üçün təhlükəsiz deyil.",
|
||||||
"job_settings": "Tapşırıq parametrləri",
|
"job_settings": "Tapşırıq parametrləri",
|
||||||
"job_settings_description": "Parallel şəkildə fəaliyyət göstərən tapşırıqları idarə et",
|
"job_settings_description": "Parallel şəkildə fəaliyyət göstərən tapşırıqları idarə et",
|
||||||
"job_status": "Tapşırıq statusu",
|
"job_status": "Tapşırıq statusu",
|
||||||
|
|||||||
12
i18n/be.json
@@ -28,6 +28,8 @@
|
|||||||
"add_to_album": "Дадаць у альбом",
|
"add_to_album": "Дадаць у альбом",
|
||||||
"add_to_album_bottom_sheet_added": "Дададзена да {album}",
|
"add_to_album_bottom_sheet_added": "Дададзена да {album}",
|
||||||
"add_to_album_bottom_sheet_already_exists": "Ужо знаходзіцца ў {album}",
|
"add_to_album_bottom_sheet_already_exists": "Ужо знаходзіцца ў {album}",
|
||||||
|
"add_to_album_bottom_sheet_some_local_assets": "Некаторыя лакальныя актывы не могуць быць дададзены ў альбом",
|
||||||
|
"add_to_album_toggle": "Пераключыць выбар для {album}",
|
||||||
"add_to_albums": "Дадаць у альбомы",
|
"add_to_albums": "Дадаць у альбомы",
|
||||||
"add_to_albums_count": "Дадаць у альбомы ({count})",
|
"add_to_albums_count": "Дадаць у альбомы ({count})",
|
||||||
"add_to_shared_album": "Дадаць у агульны альбом",
|
"add_to_shared_album": "Дадаць у агульны альбом",
|
||||||
@@ -49,6 +51,9 @@
|
|||||||
"backup_keep_last_amount": "Колькасць папярэдніх рэзервовых копій для захавання",
|
"backup_keep_last_amount": "Колькасць папярэдніх рэзервовых копій для захавання",
|
||||||
"backup_onboarding_1_description": "зняшняя копія ў воблаку або ў іншым фізічным месцы.",
|
"backup_onboarding_1_description": "зняшняя копія ў воблаку або ў іншым фізічным месцы.",
|
||||||
"backup_onboarding_2_description": "лакальныя копіі на іншых прыладах. Гэта ўключае ў сябе асноўныя файлы і лакальную рэзервовую копію гэтых файлаў.",
|
"backup_onboarding_2_description": "лакальныя копіі на іншых прыладах. Гэта ўключае ў сябе асноўныя файлы і лакальную рэзервовую копію гэтых файлаў.",
|
||||||
|
"backup_onboarding_3_description": "поўная колькасць копій вашых данных, у тым ліку зыходных файлаў. Гэта ўключае 1 пазаштатную копію і 2 лакальныя копіі.",
|
||||||
|
"backup_onboarding_description": "<backblaze-link> стратэгія рэзервавання 3-2-1 </backblaze-link> рэкамендавана для аховы вашых данных. Вы павінны захоўваць копіі вашых загружаных фота / відэа гэтак жа добра, як базу данных Immich для вычарпальна поўнага рэзервовага капіявання.",
|
||||||
|
"backup_onboarding_footer": "Каб атрымаць дадатковую інфармацыю пра рэзервовае капіраванне Immich, звярніцеся да <link>дакументацыі</link>.",
|
||||||
"backup_onboarding_parts_title": "Рэзервовая копія «3-2-1» уключае ў сябе:",
|
"backup_onboarding_parts_title": "Рэзервовая копія «3-2-1» уключае ў сябе:",
|
||||||
"backup_onboarding_title": "Рэзервовыя копіі",
|
"backup_onboarding_title": "Рэзервовыя копіі",
|
||||||
"backup_settings": "Налады рэзервовага капіявання",
|
"backup_settings": "Налады рэзервовага капіявання",
|
||||||
@@ -91,6 +96,8 @@
|
|||||||
"image_resolution": "Раздзяляльнасць",
|
"image_resolution": "Раздзяляльнасць",
|
||||||
"image_settings": "Налады відарыса",
|
"image_settings": "Налады відарыса",
|
||||||
"image_settings_description": "Кіруйце якасцю і раздзяляльнасцю сгенерыраваных відарысаў",
|
"image_settings_description": "Кіруйце якасцю і раздзяляльнасцю сгенерыраваных відарысаў",
|
||||||
|
"image_thumbnail_description": "Маленькая мініяцюра з выдаленымі метададзенымі, якая выкарыстоўваецца пры праглядзе груп фатаграфій, такіх як асноўная хроніка",
|
||||||
|
"image_thumbnail_quality_description": "Якасць мініяцюр ад 1 да 100. Чым вышэй якасць, тым лепш, але пры гэтым ствараюцца файлы большага памеру і можа знізіцца хуткасць водгуку прыкладання.",
|
||||||
"image_thumbnail_title": "Налады мініяцюр",
|
"image_thumbnail_title": "Налады мініяцюр",
|
||||||
"job_concurrency": "{job} канкурэнтнасць",
|
"job_concurrency": "{job} канкурэнтнасць",
|
||||||
"job_created": "Заданне створана",
|
"job_created": "Заданне створана",
|
||||||
@@ -98,6 +105,8 @@
|
|||||||
"job_settings": "Налады заданняў",
|
"job_settings": "Налады заданняў",
|
||||||
"job_settings_description": "Кіраваць наладамі адначасовага (паралельнага) выканання задання",
|
"job_settings_description": "Кіраваць наладамі адначасовага (паралельнага) выканання задання",
|
||||||
"job_status": "Становішча задання",
|
"job_status": "Становішча задання",
|
||||||
|
"jobs_delayed": "{jobCount, plural, other {# адкладзена}}",
|
||||||
|
"jobs_failed": "{jobCount, plural, other {# не выканалася}}",
|
||||||
"library_created": "Створана бібліятэка: {library}",
|
"library_created": "Створана бібліятэка: {library}",
|
||||||
"library_deleted": "Бібліятэка выдалена",
|
"library_deleted": "Бібліятэка выдалена",
|
||||||
"library_scanning": "Сканаванне па раскладзе",
|
"library_scanning": "Сканаванне па раскладзе",
|
||||||
@@ -154,6 +163,9 @@
|
|||||||
"trash_settings": "Налады сметніцы",
|
"trash_settings": "Налады сметніцы",
|
||||||
"trash_settings_description": "Кіраванне наладамі сметніцы",
|
"trash_settings_description": "Кіраванне наладамі сметніцы",
|
||||||
"user_cleanup_job": "Ачыстка карыстальніка",
|
"user_cleanup_job": "Ачыстка карыстальніка",
|
||||||
|
"user_delete_delay": "Уліковы запіс <b>{user}</b> і актывы будуць запланаваны для канчатковага выдалення праз {delay, plural, one {# дзень} few {# дні} many {# дзён} other {# дзён}}.",
|
||||||
|
"user_delete_delay_settings_description": "Колькасць дзён пасля выдалення, па заканчэнні якіх уліковы запіс карыстальніка і яго актывы будуць выдаленыя незваротна. Заданне на выдаленне карыстальніка запускаецца апоўначы для праверкі гатоўнасці карыстальнікаў да выдалення. Змены ў гэтым параметры будуць улічаныя пры наступным выкананні.",
|
||||||
|
"user_delete_immediately": "Уліковы запіс <b>{user}</b> і актывы будуць <b>неадкладна</b> змешчаны ў чаргу на канчатковае выдаленне.",
|
||||||
"user_management": "Кіраванне карыстальнікамі",
|
"user_management": "Кіраванне карыстальнікамі",
|
||||||
"user_password_has_been_reset": "Пароль карыстальніка быў скінуты:",
|
"user_password_has_been_reset": "Пароль карыстальніка быў скінуты:",
|
||||||
"user_password_reset_description": "Задайце карыстальніку часовы пароль і паведаміце яму, што пры наступным уваходзе ў сістэму яму трэба будзе змяніць пароль.",
|
"user_password_reset_description": "Задайце карыстальніку часовы пароль і паведаміце яму, што пры наступным уваходзе ў сістэму яму трэба будзе змяніць пароль.",
|
||||||
|
|||||||
24
i18n/bg.json
@@ -28,6 +28,7 @@
|
|||||||
"add_to_album": "Добави към албум",
|
"add_to_album": "Добави към албум",
|
||||||
"add_to_album_bottom_sheet_added": "Добавено в {album}",
|
"add_to_album_bottom_sheet_added": "Добавено в {album}",
|
||||||
"add_to_album_bottom_sheet_already_exists": "Вече е в {album}",
|
"add_to_album_bottom_sheet_already_exists": "Вече е в {album}",
|
||||||
|
"add_to_album_bottom_sheet_some_local_assets": "Някои локални файлове не успяха да се добавят към албума",
|
||||||
"add_to_album_toggle": "Сменете избора за {album}",
|
"add_to_album_toggle": "Сменете избора за {album}",
|
||||||
"add_to_albums": "Добавяне в албуми",
|
"add_to_albums": "Добавяне в албуми",
|
||||||
"add_to_albums_count": "Добавяне в албуми ({count})",
|
"add_to_albums_count": "Добавяне в албуми ({count})",
|
||||||
@@ -123,6 +124,13 @@
|
|||||||
"logging_enable_description": "Включване на запис (логове)",
|
"logging_enable_description": "Включване на запис (логове)",
|
||||||
"logging_level_description": "Когато е включено, какво ниво на записване да се използва.",
|
"logging_level_description": "Когато е включено, какво ниво на записване да се използва.",
|
||||||
"logging_settings": "Записване",
|
"logging_settings": "Записване",
|
||||||
|
"machine_learning_availability_checks": "Проверки за наличност",
|
||||||
|
"machine_learning_availability_checks_description": "Автоматично откриване и предпочитане на налични сървъри за машинно обучение",
|
||||||
|
"machine_learning_availability_checks_enabled": "Активиране на проверки за наличност",
|
||||||
|
"machine_learning_availability_checks_interval": "Интервал на проверяване",
|
||||||
|
"machine_learning_availability_checks_interval_description": "Време в милисекунди между проверките за наличност",
|
||||||
|
"machine_learning_availability_checks_timeout": "Време за изчакване на отговор",
|
||||||
|
"machine_learning_availability_checks_timeout_description": "Време за изчакване на отговор в милисекунди при проверка на наличност",
|
||||||
"machine_learning_clip_model": "CLIP модел",
|
"machine_learning_clip_model": "CLIP модел",
|
||||||
"machine_learning_clip_model_description": "Името на CLIP модела, посочен <link>тук</link>. Имайте предвид, че при промяна на модела трябва да стартирате отново задачата \"Интелигентно Търсене\" за всички изображения.",
|
"machine_learning_clip_model_description": "Името на CLIP модела, посочен <link>тук</link>. Имайте предвид, че при промяна на модела трябва да стартирате отново задачата \"Интелигентно Търсене\" за всички изображения.",
|
||||||
"machine_learning_duplicate_detection": "Откриване на дубликати",
|
"machine_learning_duplicate_detection": "Откриване на дубликати",
|
||||||
@@ -591,6 +599,7 @@
|
|||||||
"backup_controller_page_turn_on": "Включи архивиране в активен режим",
|
"backup_controller_page_turn_on": "Включи архивиране в активен режим",
|
||||||
"backup_controller_page_uploading_file_info": "Инфо за архивирания файл",
|
"backup_controller_page_uploading_file_info": "Инфо за архивирания файл",
|
||||||
"backup_err_only_album": "Не може да се премахне единствения албум",
|
"backup_err_only_album": "Не може да се премахне единствения албум",
|
||||||
|
"backup_error_sync_failed": "Синхронизацията е неуспешна. Резервното копие не може да се обработи.",
|
||||||
"backup_info_card_assets": "обекта",
|
"backup_info_card_assets": "обекта",
|
||||||
"backup_manual_cancelled": "Отменено",
|
"backup_manual_cancelled": "Отменено",
|
||||||
"backup_manual_in_progress": "Върви архивиране. Опитай след малко",
|
"backup_manual_in_progress": "Върви архивиране. Опитай след малко",
|
||||||
@@ -1228,7 +1237,7 @@
|
|||||||
"local": "Локално",
|
"local": "Локално",
|
||||||
"local_asset_cast_failed": "Не може да се предава обект, който още не е качен на сървъра",
|
"local_asset_cast_failed": "Не може да се предава обект, който още не е качен на сървъра",
|
||||||
"local_assets": "Локални обекти",
|
"local_assets": "Локални обекти",
|
||||||
"local_media_summary": "Обобщение на локалните медийни файлове",
|
"local_media_summary": "Обобщение на локалните файлове",
|
||||||
"local_network": "Локална мрежа",
|
"local_network": "Локална мрежа",
|
||||||
"local_network_sheet_info": "Приложението ще се свърже със сървъра на този URL, когато устройството е свързано към зададената Wi-Fi мрежа",
|
"local_network_sheet_info": "Приложението ще се свърже със сървъра на този URL, когато устройството е свързано към зададената Wi-Fi мрежа",
|
||||||
"location_permission": "Разрешение за местоположение",
|
"location_permission": "Разрешение за местоположение",
|
||||||
@@ -1337,7 +1346,7 @@
|
|||||||
"missing": "Липсващи",
|
"missing": "Липсващи",
|
||||||
"model": "Модел",
|
"model": "Модел",
|
||||||
"month": "Месец",
|
"month": "Месец",
|
||||||
"monthly_title_text_date_format": "MMMM y",
|
"monthly_title_text_date_format": "MMMM г",
|
||||||
"more": "Още",
|
"more": "Още",
|
||||||
"move": "Премести",
|
"move": "Премести",
|
||||||
"move_off_locked_folder": "Извади от заключената папка",
|
"move_off_locked_folder": "Извади от заключената папка",
|
||||||
@@ -1520,6 +1529,7 @@
|
|||||||
"port": "Порт",
|
"port": "Порт",
|
||||||
"preferences_settings_subtitle": "Управление на предпочитанията на приложението",
|
"preferences_settings_subtitle": "Управление на предпочитанията на приложението",
|
||||||
"preferences_settings_title": "Предпочитания",
|
"preferences_settings_title": "Предпочитания",
|
||||||
|
"preparing": "Подготовка",
|
||||||
"preset": "Шаблон",
|
"preset": "Шаблон",
|
||||||
"preview": "Прегледи",
|
"preview": "Прегледи",
|
||||||
"previous": "Предишно",
|
"previous": "Предишно",
|
||||||
@@ -1532,13 +1542,13 @@
|
|||||||
"privacy": "Поверителност",
|
"privacy": "Поверителност",
|
||||||
"profile": "Профил",
|
"profile": "Профил",
|
||||||
"profile_drawer_app_logs": "Дневник",
|
"profile_drawer_app_logs": "Дневник",
|
||||||
"profile_drawer_client_out_of_date_major": "Мобилното приложение е остаряло. Моля, актуализирай до най-новата основна версия.",
|
"profile_drawer_client_out_of_date_major": "Мобилното приложение е остаряло. Моля, актуализирайте до най-новата основна версия.",
|
||||||
"profile_drawer_client_out_of_date_minor": "Мобилното приложение е остаряло. Моля, актуализирай до най-новата версия.",
|
"profile_drawer_client_out_of_date_minor": "Мобилното приложение е остаряло. Моля, актуализирайте до най-новата версия.",
|
||||||
"profile_drawer_client_server_up_to_date": "Клиента и сървъра са обновени",
|
"profile_drawer_client_server_up_to_date": "Клиента и сървъра са обновени",
|
||||||
"profile_drawer_github": "GitHub",
|
"profile_drawer_github": "GitHub",
|
||||||
"profile_drawer_readonly_mode": "Режима само за четене е активиран. С дълго натискане върху картиката-аватар на потребителя ще деактивирате само за четене.",
|
"profile_drawer_readonly_mode": "Режима само за четене е активиран. С дълго натискане върху картиката-аватар на потребителя ще деактивирате само за четене.",
|
||||||
"profile_drawer_server_out_of_date_major": "Версията на сървъра е остаряла. Моля, актуализирай поне до последната главна версия.",
|
"profile_drawer_server_out_of_date_major": "Версията на сървъра е остаряла. Моля, актуализирайте поне до последната главна версия.",
|
||||||
"profile_drawer_server_out_of_date_minor": "Версията на сървъра е остаряла. Моля, актуализирай до последната версия.",
|
"profile_drawer_server_out_of_date_minor": "Версията на сървъра е остаряла. Моля, актуализирайте до последната версия.",
|
||||||
"profile_image_of_user": "Профилна снимка на {user}",
|
"profile_image_of_user": "Профилна снимка на {user}",
|
||||||
"profile_picture_set": "Профилната снимка е сложена.",
|
"profile_picture_set": "Профилната снимка е сложена.",
|
||||||
"public_album": "Публичен албум",
|
"public_album": "Публичен албум",
|
||||||
@@ -1585,6 +1595,7 @@
|
|||||||
"read_changelog": "Прочети промените",
|
"read_changelog": "Прочети промените",
|
||||||
"readonly_mode_disabled": "Режима само за четене е деактивиран",
|
"readonly_mode_disabled": "Режима само за четене е деактивиран",
|
||||||
"readonly_mode_enabled": "Режима само за четене е активиран",
|
"readonly_mode_enabled": "Режима само за четене е активиран",
|
||||||
|
"ready_for_upload": "Готово за качване",
|
||||||
"reassign": "Преназначаване",
|
"reassign": "Преназначаване",
|
||||||
"reassigned_assets_to_existing_person": "Преназначени {count, plural, one {# елемент} other {# елемента}} на {name, select, null {съществуващ човек} other {{name}}}",
|
"reassigned_assets_to_existing_person": "Преназначени {count, plural, one {# елемент} other {# елемента}} на {name, select, null {съществуващ човек} other {{name}}}",
|
||||||
"reassigned_assets_to_new_person": "Преназначени {count, plural, one {# елемент} other {# елемента}} на нов човек",
|
"reassigned_assets_to_new_person": "Преназначени {count, plural, one {# елемент} other {# елемента}} на нов човек",
|
||||||
@@ -1916,6 +1927,7 @@
|
|||||||
"stacktrace": "Следа на събраните",
|
"stacktrace": "Следа на събраните",
|
||||||
"start": "Старт",
|
"start": "Старт",
|
||||||
"start_date": "Начална дата",
|
"start_date": "Начална дата",
|
||||||
|
"start_date_before_end_date": "Началната дата трябва да бъде преди крайната дата",
|
||||||
"state": "Щат",
|
"state": "Щат",
|
||||||
"status": "Статус",
|
"status": "Статус",
|
||||||
"stop_casting": "Спри предаването",
|
"stop_casting": "Спри предаването",
|
||||||
|
|||||||
@@ -28,6 +28,7 @@
|
|||||||
"add_to_album": "এলবাম এ যোগ করুন",
|
"add_to_album": "এলবাম এ যোগ করুন",
|
||||||
"add_to_album_bottom_sheet_added": "{album} এ যোগ করা হয়েছে",
|
"add_to_album_bottom_sheet_added": "{album} এ যোগ করা হয়েছে",
|
||||||
"add_to_album_bottom_sheet_already_exists": "{album} এ আগে থেকেই আছে",
|
"add_to_album_bottom_sheet_already_exists": "{album} এ আগে থেকেই আছে",
|
||||||
|
"add_to_album_bottom_sheet_some_local_assets": "কিছু স্থানীয় ছবি বা ভিডিও অ্যালবামে যোগ করা যায়নি",
|
||||||
"add_to_album_toggle": "{album} - এর নির্বাচন পরিবর্তন করুন",
|
"add_to_album_toggle": "{album} - এর নির্বাচন পরিবর্তন করুন",
|
||||||
"add_to_albums": "অ্যালবামে যোগ করুন",
|
"add_to_albums": "অ্যালবামে যোগ করুন",
|
||||||
"add_to_albums_count": "অ্যালবামে যোগ করুন ({count})",
|
"add_to_albums_count": "অ্যালবামে যোগ করুন ({count})",
|
||||||
@@ -123,6 +124,11 @@
|
|||||||
"logging_enable_description": "লগিং এনাবল/সক্ষম করুন",
|
"logging_enable_description": "লগিং এনাবল/সক্ষম করুন",
|
||||||
"logging_level_description": "সক্রিয় থাকাকালীন, কোন লগ স্তর ব্যবহার করতে হবে।",
|
"logging_level_description": "সক্রিয় থাকাকালীন, কোন লগ স্তর ব্যবহার করতে হবে।",
|
||||||
"logging_settings": "লগিং",
|
"logging_settings": "লগিং",
|
||||||
|
"machine_learning_availability_checks": "প্রাপ্যতা পরীক্ষা",
|
||||||
|
"machine_learning_availability_checks_description": "স্বয়ংক্রিয়ভাবে উপলব্ধ মেশিন লার্নিং সার্ভারগুলি সনাক্ত করুন এবং পছন্দ করুন",
|
||||||
|
"machine_learning_availability_checks_enabled": "প্রাপ্যতা পরীক্ষা সক্ষম করুন",
|
||||||
|
"machine_learning_availability_checks_interval": "চেক ব্যবধান",
|
||||||
|
"machine_learning_availability_checks_interval_description": "প্রাপ্যতা পরীক্ষাগুলির মধ্যে ব্যবধান মিলিসেকেন্ডে",
|
||||||
"machine_learning_clip_model": "CLIP মডেল",
|
"machine_learning_clip_model": "CLIP মডেল",
|
||||||
"machine_learning_clip_model_description": "<link>এখানে</link> তালিকাভুক্ত একটি CLIP মডেলের নাম। মনে রাখবেন, মডেল পরিবর্তনের পর সব ছবির জন্য অবশ্যই ‘Smart Search’ কাজটি আবার চালাতে হবে।",
|
"machine_learning_clip_model_description": "<link>এখানে</link> তালিকাভুক্ত একটি CLIP মডেলের নাম। মনে রাখবেন, মডেল পরিবর্তনের পর সব ছবির জন্য অবশ্যই ‘Smart Search’ কাজটি আবার চালাতে হবে।",
|
||||||
"machine_learning_duplicate_detection": "পুনরাবৃত্তি সনাক্তকরণ",
|
"machine_learning_duplicate_detection": "পুনরাবৃত্তি সনাক্তকরণ",
|
||||||
|
|||||||
33
i18n/ca.json
@@ -28,12 +28,14 @@
|
|||||||
"add_to_album": "Afegir a un l'àlbum",
|
"add_to_album": "Afegir a un l'àlbum",
|
||||||
"add_to_album_bottom_sheet_added": "Afegit a {album}",
|
"add_to_album_bottom_sheet_added": "Afegit a {album}",
|
||||||
"add_to_album_bottom_sheet_already_exists": "Ja està a {album}",
|
"add_to_album_bottom_sheet_already_exists": "Ja està a {album}",
|
||||||
|
"add_to_album_bottom_sheet_some_local_assets": "Alguns recursos locals no s'han pogut afegir a l'àlbum",
|
||||||
"add_to_album_toggle": "Commutar selecció de {album}",
|
"add_to_album_toggle": "Commutar selecció de {album}",
|
||||||
"add_to_albums": "Afegir als àlbums",
|
"add_to_albums": "Afegir als àlbums",
|
||||||
"add_to_albums_count": "Afegir als àlbums ({count})",
|
"add_to_albums_count": "Afegir als àlbums ({count})",
|
||||||
"add_to_shared_album": "Afegir a un àlbum compartit",
|
"add_to_shared_album": "Afegir a un àlbum compartit",
|
||||||
|
"add_upload_to_stack": "Afegeix la càrrega a la pila",
|
||||||
"add_url": "Afegir URL",
|
"add_url": "Afegir URL",
|
||||||
"added_to_archive": "Afegit als arxivats",
|
"added_to_archive": "Afegir a l'arxiu",
|
||||||
"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": {
|
||||||
@@ -548,6 +550,7 @@
|
|||||||
"backup_album_selection_page_select_albums": "Selecciona àlbums",
|
"backup_album_selection_page_select_albums": "Selecciona àlbums",
|
||||||
"backup_album_selection_page_selection_info": "Informació de la selecció",
|
"backup_album_selection_page_selection_info": "Informació de la selecció",
|
||||||
"backup_album_selection_page_total_assets": "Total d'elements únics",
|
"backup_album_selection_page_total_assets": "Total d'elements únics",
|
||||||
|
"backup_albums_sync": "Sincronització d'àlbums de còpia de seguretat",
|
||||||
"backup_all": "Tots",
|
"backup_all": "Tots",
|
||||||
"backup_background_service_backup_failed_message": "No s'ha pogut copiar els elements. Tornant a intentar…",
|
"backup_background_service_backup_failed_message": "No s'ha pogut copiar els elements. Tornant a intentar…",
|
||||||
"backup_background_service_connection_failed_message": "No s'ha pogut connectar al servidor. Tornant a intentar…",
|
"backup_background_service_connection_failed_message": "No s'ha pogut connectar al servidor. Tornant a intentar…",
|
||||||
@@ -597,6 +600,7 @@
|
|||||||
"backup_controller_page_turn_on": "Activa la còpia de seguretat",
|
"backup_controller_page_turn_on": "Activa la còpia de seguretat",
|
||||||
"backup_controller_page_uploading_file_info": "S'està pujant la informació del fitxer",
|
"backup_controller_page_uploading_file_info": "S'està pujant la informació del fitxer",
|
||||||
"backup_err_only_album": "No es pot eliminar l'únic àlbum",
|
"backup_err_only_album": "No es pot eliminar l'únic àlbum",
|
||||||
|
"backup_error_sync_failed": "Sincronització malament, No es pot fer backup.",
|
||||||
"backup_info_card_assets": "elements",
|
"backup_info_card_assets": "elements",
|
||||||
"backup_manual_cancelled": "Cancel·lat",
|
"backup_manual_cancelled": "Cancel·lat",
|
||||||
"backup_manual_in_progress": "La pujada ja està en curs. Torneu-ho a provar més tard",
|
"backup_manual_in_progress": "La pujada ja està en curs. Torneu-ho a provar més tard",
|
||||||
@@ -665,6 +669,7 @@
|
|||||||
"change_your_password": "Canvia la teva contrasenya",
|
"change_your_password": "Canvia la teva contrasenya",
|
||||||
"changed_visibility_successfully": "Visibilitat canviada amb èxit",
|
"changed_visibility_successfully": "Visibilitat canviada amb èxit",
|
||||||
"charging": "Carregant",
|
"charging": "Carregant",
|
||||||
|
"charging_requirement_mobile_backup": "La còpia de seguretat en segon pla requereix que el dispositiu estigui carregant",
|
||||||
"check_corrupt_asset_backup": "Comprovar les còpies de seguretat corruptes",
|
"check_corrupt_asset_backup": "Comprovar les còpies de seguretat corruptes",
|
||||||
"check_corrupt_asset_backup_button": "Realitzar comprovació",
|
"check_corrupt_asset_backup_button": "Realitzar comprovació",
|
||||||
"check_corrupt_asset_backup_description": "Executeu aquesta comprovació només mitjançant Wi-Fi i un cop s'hagi fet una còpia de seguretat de tots els actius. El procediment pot trigar uns minuts.",
|
"check_corrupt_asset_backup_description": "Executeu aquesta comprovació només mitjançant Wi-Fi i un cop s'hagi fet una còpia de seguretat de tots els actius. El procediment pot trigar uns minuts.",
|
||||||
@@ -903,6 +908,7 @@
|
|||||||
"error_delete_face": "Error esborrant cara de les cares reconegudes",
|
"error_delete_face": "Error esborrant cara de les cares reconegudes",
|
||||||
"error_getting_places": "S'ha produït un error en obtenir els llocs",
|
"error_getting_places": "S'ha produït un error en obtenir els llocs",
|
||||||
"error_loading_image": "Error carregant la imatge",
|
"error_loading_image": "Error carregant la imatge",
|
||||||
|
"error_loading_partners": "No s'han pogut carregar les parelles: {error}",
|
||||||
"error_saving_image": "Error: {error}",
|
"error_saving_image": "Error: {error}",
|
||||||
"error_tag_face_bounding_box": "Error a l'etiquetar la cara - no s'han pogut obtenir les coordenades de l'àrea",
|
"error_tag_face_bounding_box": "Error a l'etiquetar la cara - no s'han pogut obtenir les coordenades de l'àrea",
|
||||||
"error_title": "Error - Quelcom ha anat malament",
|
"error_title": "Error - Quelcom ha anat malament",
|
||||||
@@ -1109,7 +1115,7 @@
|
|||||||
"has_quota": "Quota",
|
"has_quota": "Quota",
|
||||||
"hash_asset": "Hash del recurs",
|
"hash_asset": "Hash del recurs",
|
||||||
"hashed_assets": "Recursos amb hash",
|
"hashed_assets": "Recursos amb hash",
|
||||||
"hashing": "Hashing",
|
"hashing": "Generant el hash",
|
||||||
"header_settings_add_header_tip": "Afegeix Capçalera",
|
"header_settings_add_header_tip": "Afegeix Capçalera",
|
||||||
"header_settings_field_validator_msg": "El valor no pot estar buit",
|
"header_settings_field_validator_msg": "El valor no pot estar buit",
|
||||||
"header_settings_header_name_input": "Nom de la capçalera",
|
"header_settings_header_name_input": "Nom de la capçalera",
|
||||||
@@ -1232,6 +1238,7 @@
|
|||||||
"local": "Local",
|
"local": "Local",
|
||||||
"local_asset_cast_failed": "No es pot convertir un actiu que no s'ha penjat al servidor",
|
"local_asset_cast_failed": "No es pot convertir un actiu que no s'ha penjat al servidor",
|
||||||
"local_assets": "Recursos Locals",
|
"local_assets": "Recursos Locals",
|
||||||
|
"local_media_summary": "Resum de Mitjans Locals",
|
||||||
"local_network": "Xarxa local",
|
"local_network": "Xarxa local",
|
||||||
"local_network_sheet_info": "L'aplicació es connectarà al servidor mitjançant aquest URL quan utilitzeu la xarxa Wi-Fi especificada",
|
"local_network_sheet_info": "L'aplicació es connectarà al servidor mitjançant aquest URL quan utilitzeu la xarxa Wi-Fi especificada",
|
||||||
"location_permission": "Permís d'ubicació",
|
"location_permission": "Permís d'ubicació",
|
||||||
@@ -1243,6 +1250,7 @@
|
|||||||
"location_picker_longitude_hint": "Introdueix aquí la longitud",
|
"location_picker_longitude_hint": "Introdueix aquí la longitud",
|
||||||
"lock": "Bloqueja",
|
"lock": "Bloqueja",
|
||||||
"locked_folder": "Carpeta bloquejada",
|
"locked_folder": "Carpeta bloquejada",
|
||||||
|
"log_detail_title": "Detall de Registres",
|
||||||
"log_out": "Tanca la sessió",
|
"log_out": "Tanca la sessió",
|
||||||
"log_out_all_devices": "Tanqueu la sessió de tots els dispositius",
|
"log_out_all_devices": "Tanqueu la sessió de tots els dispositius",
|
||||||
"logged_in_as": "Sessió iniciada com a {user}",
|
"logged_in_as": "Sessió iniciada com a {user}",
|
||||||
@@ -1273,6 +1281,7 @@
|
|||||||
"login_password_changed_success": "La contrasenya s'ha canviat correctament",
|
"login_password_changed_success": "La contrasenya s'ha canviat correctament",
|
||||||
"logout_all_device_confirmation": "Esteu segur que voleu tancar la sessió de tots els dispositius?",
|
"logout_all_device_confirmation": "Esteu segur que voleu tancar la sessió de tots els dispositius?",
|
||||||
"logout_this_device_confirmation": "Esteu segur que voleu tancar la sessió d'aquest dispositiu?",
|
"logout_this_device_confirmation": "Esteu segur que voleu tancar la sessió d'aquest dispositiu?",
|
||||||
|
"logs": "Registres",
|
||||||
"longitude": "Longitud",
|
"longitude": "Longitud",
|
||||||
"look": "Aspecte",
|
"look": "Aspecte",
|
||||||
"loop_videos": "Vídeos en bucle",
|
"loop_videos": "Vídeos en bucle",
|
||||||
@@ -1315,6 +1324,7 @@
|
|||||||
"mark_as_read": "Marcar com ha llegit",
|
"mark_as_read": "Marcar com ha llegit",
|
||||||
"marked_all_as_read": "Marcat tot com a llegit",
|
"marked_all_as_read": "Marcat tot com a llegit",
|
||||||
"matches": "Coincidències",
|
"matches": "Coincidències",
|
||||||
|
"matching_assets": "Recursos Coincidents",
|
||||||
"media_type": "Tipus de mitjà",
|
"media_type": "Tipus de mitjà",
|
||||||
"memories": "Records",
|
"memories": "Records",
|
||||||
"memories_all_caught_up": "Posat al dia",
|
"memories_all_caught_up": "Posat al dia",
|
||||||
@@ -1355,6 +1365,7 @@
|
|||||||
"name_or_nickname": "Nom o sobrenom",
|
"name_or_nickname": "Nom o sobrenom",
|
||||||
"network_requirement_photos_upload": "Fes servir dades mòbils per a còpies de seguretat de fotos",
|
"network_requirement_photos_upload": "Fes servir dades mòbils per a còpies de seguretat de fotos",
|
||||||
"network_requirement_videos_upload": "Fes servir dades mòbils per a còpies de seguretat de videos",
|
"network_requirement_videos_upload": "Fes servir dades mòbils per a còpies de seguretat de videos",
|
||||||
|
"network_requirements": "Requeriments de Xarxa",
|
||||||
"network_requirements_updated": "Han canviat els requeriments de xarxa, reiniciant la cua",
|
"network_requirements_updated": "Han canviat els requeriments de xarxa, reiniciant la cua",
|
||||||
"networking_settings": "Xarxes",
|
"networking_settings": "Xarxes",
|
||||||
"networking_subtitle": "Gestiona la configuració del endpoint del servidor",
|
"networking_subtitle": "Gestiona la configuració del endpoint del servidor",
|
||||||
@@ -1365,6 +1376,7 @@
|
|||||||
"new_person": "Persona nova",
|
"new_person": "Persona nova",
|
||||||
"new_pin_code": "Nou codi PIN",
|
"new_pin_code": "Nou codi PIN",
|
||||||
"new_pin_code_subtitle": "Aquesta és la primera vegada que accedeixes a la carpeta bloquejada. Crea una codi PIN i accedeix de manera segura a aquesta pàgina",
|
"new_pin_code_subtitle": "Aquesta és la primera vegada que accedeixes a la carpeta bloquejada. Crea una codi PIN i accedeix de manera segura a aquesta pàgina",
|
||||||
|
"new_timeline": "Nova Línia de Temps",
|
||||||
"new_user_created": "Nou usuari creat",
|
"new_user_created": "Nou usuari creat",
|
||||||
"new_version_available": "NOVA VERSIÓ DISPONIBLE",
|
"new_version_available": "NOVA VERSIÓ DISPONIBLE",
|
||||||
"newest_first": "El més nou primer",
|
"newest_first": "El més nou primer",
|
||||||
@@ -1378,20 +1390,25 @@
|
|||||||
"no_assets_message": "FEU CLIC PER PUJAR LA VOSTRA PRIMERA FOTO",
|
"no_assets_message": "FEU CLIC PER PUJAR LA VOSTRA PRIMERA FOTO",
|
||||||
"no_assets_to_show": "No hi ha elements per mostrar",
|
"no_assets_to_show": "No hi ha elements per mostrar",
|
||||||
"no_cast_devices_found": "No s'han trobat dispositius per transmetre",
|
"no_cast_devices_found": "No s'han trobat dispositius per transmetre",
|
||||||
|
"no_checksum_local": "Cap checksum disponible - no s'han pogut carregar els recursos locals",
|
||||||
|
"no_checksum_remote": "Cap checksum disponible - no s'ha pogut obtenir el recurs remot",
|
||||||
"no_duplicates_found": "No s'han trobat duplicats.",
|
"no_duplicates_found": "No s'han trobat duplicats.",
|
||||||
"no_exif_info_available": "No hi ha informació d'exif disponible",
|
"no_exif_info_available": "No hi ha informació d'exif disponible",
|
||||||
"no_explore_results_message": "Penja més fotos per explorar la teva col·lecció.",
|
"no_explore_results_message": "Penja més fotos per explorar la teva col·lecció.",
|
||||||
"no_favorites_message": "Afegiu preferits per trobar les millors fotos i vídeos a l'instant",
|
"no_favorites_message": "Afegiu preferits per trobar les millors fotos i vídeos a l'instant",
|
||||||
"no_libraries_message": "Creeu una llibreria externa per veure les vostres fotos i vídeos",
|
"no_libraries_message": "Creeu una llibreria externa per veure les vostres fotos i vídeos",
|
||||||
|
"no_local_assets_found": "No s'ha trobat cap recurs local amb aquest checksum",
|
||||||
"no_locked_photos_message": "Les fotos i vídeos d'aquesta carpeta estan ocultes, i no es mostraran a mesura que navegues o cerques a la teva biblioteca.",
|
"no_locked_photos_message": "Les fotos i vídeos d'aquesta carpeta estan ocultes, i no es mostraran a mesura que navegues o cerques a la teva biblioteca.",
|
||||||
"no_name": "Sense nom",
|
"no_name": "Sense nom",
|
||||||
"no_notifications": "No hi ha notificacions",
|
"no_notifications": "No hi ha notificacions",
|
||||||
"no_people_found": "No s'han trobat coincidències de persones",
|
"no_people_found": "No s'han trobat coincidències de persones",
|
||||||
"no_places": "No hi ha llocs",
|
"no_places": "No hi ha llocs",
|
||||||
|
"no_remote_assets_found": "No s'ha trobat cap recurs remot amb aquest checksum",
|
||||||
"no_results": "Sense resultats",
|
"no_results": "Sense resultats",
|
||||||
"no_results_description": "Proveu un sinònim o una paraula clau més general",
|
"no_results_description": "Proveu un sinònim o una paraula clau més general",
|
||||||
"no_shared_albums_message": "Creeu un àlbum per compartir fotos i vídeos amb persones a la vostra xarxa",
|
"no_shared_albums_message": "Creeu un àlbum per compartir fotos i vídeos amb persones a la vostra xarxa",
|
||||||
"no_uploads_in_progress": "Cap pujada en progrés",
|
"no_uploads_in_progress": "Cap pujada en progrés",
|
||||||
|
"not_available": "N/A",
|
||||||
"not_in_any_album": "En cap àlbum",
|
"not_in_any_album": "En cap àlbum",
|
||||||
"not_selected": "No seleccionat",
|
"not_selected": "No seleccionat",
|
||||||
"note_apply_storage_label_to_previously_uploaded assets": "Nota: per aplicar l'etiqueta d'emmagatzematge als actius penjats anteriorment, executeu el",
|
"note_apply_storage_label_to_previously_uploaded assets": "Nota: per aplicar l'etiqueta d'emmagatzematge als actius penjats anteriorment, executeu el",
|
||||||
@@ -1513,6 +1530,7 @@
|
|||||||
"port": "Port",
|
"port": "Port",
|
||||||
"preferences_settings_subtitle": "Gestiona les preferències de l'aplicació",
|
"preferences_settings_subtitle": "Gestiona les preferències de l'aplicació",
|
||||||
"preferences_settings_title": "Preferències",
|
"preferences_settings_title": "Preferències",
|
||||||
|
"preparing": "Preparant",
|
||||||
"preset": "Preestablert",
|
"preset": "Preestablert",
|
||||||
"preview": "Previsualització",
|
"preview": "Previsualització",
|
||||||
"previous": "Anterior",
|
"previous": "Anterior",
|
||||||
@@ -1578,6 +1596,7 @@
|
|||||||
"read_changelog": "Llegeix el registre de canvis",
|
"read_changelog": "Llegeix el registre de canvis",
|
||||||
"readonly_mode_disabled": "Mode de només lectura desactivat",
|
"readonly_mode_disabled": "Mode de només lectura desactivat",
|
||||||
"readonly_mode_enabled": "Mode de només lectura activat",
|
"readonly_mode_enabled": "Mode de només lectura activat",
|
||||||
|
"ready_for_upload": "Llest per a pujar",
|
||||||
"reassign": "Reassignar",
|
"reassign": "Reassignar",
|
||||||
"reassigned_assets_to_existing_person": "{count, plural, one {S'ha reassignat # recurs} other {S'han reassignat # recursos}} a {name, select, null {una persona existent} other {{name}}}",
|
"reassigned_assets_to_existing_person": "{count, plural, one {S'ha reassignat # recurs} other {S'han reassignat # recursos}} a {name, select, null {una persona existent} other {{name}}}",
|
||||||
"reassigned_assets_to_new_person": "{count, plural, one {S'ha reassignat # recurs} other {S'han reassignat # recursos}} a una persona nova",
|
"reassigned_assets_to_new_person": "{count, plural, one {S'ha reassignat # recurs} other {S'han reassignat # recursos}} a una persona nova",
|
||||||
@@ -1602,6 +1621,7 @@
|
|||||||
"regenerating_thumbnails": "Regenerant les miniatures",
|
"regenerating_thumbnails": "Regenerant les miniatures",
|
||||||
"remote": "Remot",
|
"remote": "Remot",
|
||||||
"remote_assets": "Recursos Remots",
|
"remote_assets": "Recursos Remots",
|
||||||
|
"remote_media_summary": "Resum de Mitjans Remots",
|
||||||
"remove": "Eliminar",
|
"remove": "Eliminar",
|
||||||
"remove_assets_album_confirmation": "Confirmes que vols eliminar {count, plural, one {# recurs} other {# recursos}} de l'àlbum?",
|
"remove_assets_album_confirmation": "Confirmes que vols eliminar {count, plural, one {# recurs} other {# recursos}} de l'àlbum?",
|
||||||
"remove_assets_shared_link_confirmation": "Esteu segur que voleu eliminar {count, plural, one {# recurs} other {# recursos}} d'aquest enllaç compartit?",
|
"remove_assets_shared_link_confirmation": "Esteu segur que voleu eliminar {count, plural, one {# recurs} other {# recursos}} d'aquest enllaç compartit?",
|
||||||
@@ -1654,6 +1674,7 @@
|
|||||||
"restore_user": "Restaurar l'usuari",
|
"restore_user": "Restaurar l'usuari",
|
||||||
"restored_asset": "Element restaurat",
|
"restored_asset": "Element restaurat",
|
||||||
"resume": "Reprendre",
|
"resume": "Reprendre",
|
||||||
|
"resume_paused_jobs": "Reprèn {count, plural, one {# treball pausat} other {# treballs pausats}}",
|
||||||
"retry_upload": "Torna a provar de pujar",
|
"retry_upload": "Torna a provar de pujar",
|
||||||
"review_duplicates": "Revisar duplicats",
|
"review_duplicates": "Revisar duplicats",
|
||||||
"review_large_files": "Revisar fitxers grans",
|
"review_large_files": "Revisar fitxers grans",
|
||||||
@@ -1876,6 +1897,7 @@
|
|||||||
"show_slideshow_transition": "Mostra la transició de la presentació de diapositives",
|
"show_slideshow_transition": "Mostra la transició de la presentació de diapositives",
|
||||||
"show_supporter_badge": "Insígnia de contribuent",
|
"show_supporter_badge": "Insígnia de contribuent",
|
||||||
"show_supporter_badge_description": "Mostra una insígnia de contributor",
|
"show_supporter_badge_description": "Mostra una insígnia de contributor",
|
||||||
|
"show_text_search_menu": "Mostra el menú de cerca amb text",
|
||||||
"shuffle": "Mescla",
|
"shuffle": "Mescla",
|
||||||
"sidebar": "Barra lateral",
|
"sidebar": "Barra lateral",
|
||||||
"sidebar_display_description": "Mostra un enllaç a la vista a la barra lateral",
|
"sidebar_display_description": "Mostra un enllaç a la vista a la barra lateral",
|
||||||
@@ -1906,6 +1928,7 @@
|
|||||||
"stacktrace": "Traça de pila",
|
"stacktrace": "Traça de pila",
|
||||||
"start": "Inicia",
|
"start": "Inicia",
|
||||||
"start_date": "Data inicial",
|
"start_date": "Data inicial",
|
||||||
|
"start_date_before_end_date": "La data d'inici ha de ser abans de la data de fi",
|
||||||
"state": "Regió",
|
"state": "Regió",
|
||||||
"status": "Estat",
|
"status": "Estat",
|
||||||
"stop_casting": "Atura la transmisió",
|
"stop_casting": "Atura la transmisió",
|
||||||
@@ -1930,6 +1953,8 @@
|
|||||||
"sync_albums_manual_subtitle": "Sincronitza tots els vídeos i fotos penjats amb els àlbums de còpia de seguretat seleccionats",
|
"sync_albums_manual_subtitle": "Sincronitza tots els vídeos i fotos penjats amb els àlbums de còpia de seguretat seleccionats",
|
||||||
"sync_local": "Sincronitza Local",
|
"sync_local": "Sincronitza Local",
|
||||||
"sync_remote": "Sincronitza Remot",
|
"sync_remote": "Sincronitza Remot",
|
||||||
|
"sync_status": "Estat de sincronització",
|
||||||
|
"sync_status_subtitle": "Observa i administra el sistema de sincronització",
|
||||||
"sync_upload_album_setting_subtitle": "Creeu i pugeu les seves fotos i vídeos als àlbums seleccionats a Immich",
|
"sync_upload_album_setting_subtitle": "Creeu i pugeu les seves fotos i vídeos als àlbums seleccionats a Immich",
|
||||||
"tag": "Etiqueta",
|
"tag": "Etiqueta",
|
||||||
"tag_assets": "Etiquetar actius",
|
"tag_assets": "Etiquetar actius",
|
||||||
@@ -1989,6 +2014,7 @@
|
|||||||
"trash_page_select_assets_btn": "Selecciona elements",
|
"trash_page_select_assets_btn": "Selecciona elements",
|
||||||
"trash_page_title": "Paperera ({count})",
|
"trash_page_title": "Paperera ({count})",
|
||||||
"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}}.",
|
||||||
|
"troubleshoot": "Solució de problemes",
|
||||||
"type": "Tipus",
|
"type": "Tipus",
|
||||||
"unable_to_change_pin_code": "No es pot canviar el codi PIN",
|
"unable_to_change_pin_code": "No es pot canviar el codi PIN",
|
||||||
"unable_to_setup_pin_code": "No s'ha pogut configurar el codi PIN",
|
"unable_to_setup_pin_code": "No s'ha pogut configurar el codi PIN",
|
||||||
@@ -2105,5 +2131,6 @@
|
|||||||
"yes": "Sí",
|
"yes": "Sí",
|
||||||
"you_dont_have_any_shared_links": "No tens cap enllaç compartit",
|
"you_dont_have_any_shared_links": "No tens cap enllaç compartit",
|
||||||
"your_wifi_name": "Nom del teu Wi-Fi",
|
"your_wifi_name": "Nom del teu Wi-Fi",
|
||||||
"zoom_image": "Ampliar Imatge"
|
"zoom_image": "Ampliar Imatge",
|
||||||
|
"zoom_to_bounds": "Amplia als límits"
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -28,10 +28,12 @@
|
|||||||
"add_to_album": "Přidat do alba",
|
"add_to_album": "Přidat do alba",
|
||||||
"add_to_album_bottom_sheet_added": "Přidáno do {album}",
|
"add_to_album_bottom_sheet_added": "Přidáno do {album}",
|
||||||
"add_to_album_bottom_sheet_already_exists": "Je již v {album}",
|
"add_to_album_bottom_sheet_already_exists": "Je již v {album}",
|
||||||
|
"add_to_album_bottom_sheet_some_local_assets": "Některé místní položky nebylo možné přidat do alba",
|
||||||
"add_to_album_toggle": "Přepnout výběr pro {album}",
|
"add_to_album_toggle": "Přepnout výběr pro {album}",
|
||||||
"add_to_albums": "Přidat do alb",
|
"add_to_albums": "Přidat do alb",
|
||||||
"add_to_albums_count": "Přidat do alb ({count})",
|
"add_to_albums_count": "Přidat do alb ({count})",
|
||||||
"add_to_shared_album": "Přidat do sdíleného alba",
|
"add_to_shared_album": "Přidat do sdíleného alba",
|
||||||
|
"add_upload_to_stack": "Přidat nahrané do zásobníku",
|
||||||
"add_url": "Přidat URL",
|
"add_url": "Přidat URL",
|
||||||
"added_to_archive": "Přidáno do archivu",
|
"added_to_archive": "Přidáno do archivu",
|
||||||
"added_to_favorites": "Přidáno do oblíbených",
|
"added_to_favorites": "Přidáno do oblíbených",
|
||||||
@@ -128,8 +130,8 @@
|
|||||||
"machine_learning_availability_checks_enabled": "Povolit kontroly dostupnosti",
|
"machine_learning_availability_checks_enabled": "Povolit kontroly dostupnosti",
|
||||||
"machine_learning_availability_checks_interval": "Interval kontrol",
|
"machine_learning_availability_checks_interval": "Interval kontrol",
|
||||||
"machine_learning_availability_checks_interval_description": "Interval v milisekundách mezi kontrolami dostupnosti",
|
"machine_learning_availability_checks_interval_description": "Interval v milisekundách mezi kontrolami dostupnosti",
|
||||||
"machine_learning_availability_checks_timeout": "Vypršení požadavku",
|
"machine_learning_availability_checks_timeout": "Časový limit požadavku",
|
||||||
"machine_learning_availability_checks_timeout_description": "Časové vypršení požadavku v milisekundách u kontrol dostupnosti",
|
"machine_learning_availability_checks_timeout_description": "Časový limit v milisekundách pro kontrolu dostupnosti",
|
||||||
"machine_learning_clip_model": "Model CLIP",
|
"machine_learning_clip_model": "Model CLIP",
|
||||||
"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",
|
||||||
@@ -598,6 +600,7 @@
|
|||||||
"backup_controller_page_turn_on": "Povolit zálohování na popředí",
|
"backup_controller_page_turn_on": "Povolit zálohování na popředí",
|
||||||
"backup_controller_page_uploading_file_info": "Informace o nahraném souboru",
|
"backup_controller_page_uploading_file_info": "Informace o nahraném souboru",
|
||||||
"backup_err_only_album": "Nelze odstranit jediné vybrané album",
|
"backup_err_only_album": "Nelze odstranit jediné vybrané album",
|
||||||
|
"backup_error_sync_failed": "Synchronizace selhala. Nelze zpracovat zálohu.",
|
||||||
"backup_info_card_assets": "položek",
|
"backup_info_card_assets": "položek",
|
||||||
"backup_manual_cancelled": "Zrušeno",
|
"backup_manual_cancelled": "Zrušeno",
|
||||||
"backup_manual_in_progress": "Nahrávání již probíhá. Zkuste to znovu později",
|
"backup_manual_in_progress": "Nahrávání již probíhá. Zkuste to znovu později",
|
||||||
|
|||||||
@@ -28,6 +28,7 @@
|
|||||||
"add_to_album": "Tilføj til album",
|
"add_to_album": "Tilføj til album",
|
||||||
"add_to_album_bottom_sheet_added": "Tilføjet til {album}",
|
"add_to_album_bottom_sheet_added": "Tilføjet til {album}",
|
||||||
"add_to_album_bottom_sheet_already_exists": "Allerede i {album}",
|
"add_to_album_bottom_sheet_already_exists": "Allerede i {album}",
|
||||||
|
"add_to_album_bottom_sheet_some_local_assets": "Nogle lokale elementer kunne ikke føjes til albummet",
|
||||||
"add_to_album_toggle": "Skift selektion for {album}",
|
"add_to_album_toggle": "Skift selektion for {album}",
|
||||||
"add_to_albums": "Tilføj til albummer",
|
"add_to_albums": "Tilføj til albummer",
|
||||||
"add_to_albums_count": "Tilføj til albummer({count})",
|
"add_to_albums_count": "Tilføj til albummer({count})",
|
||||||
@@ -598,6 +599,7 @@
|
|||||||
"backup_controller_page_turn_on": "Slå sikkerhedskopiering til",
|
"backup_controller_page_turn_on": "Slå sikkerhedskopiering til",
|
||||||
"backup_controller_page_uploading_file_info": "Uploader filinformation",
|
"backup_controller_page_uploading_file_info": "Uploader filinformation",
|
||||||
"backup_err_only_album": "Kan ikke slette det eneste album",
|
"backup_err_only_album": "Kan ikke slette det eneste album",
|
||||||
|
"backup_error_sync_failed": "Synkroniseringen mislykkedes. Sikkerhedskopieringen kunne ikke behandles.",
|
||||||
"backup_info_card_assets": "objekter",
|
"backup_info_card_assets": "objekter",
|
||||||
"backup_manual_cancelled": "Annulleret",
|
"backup_manual_cancelled": "Annulleret",
|
||||||
"backup_manual_in_progress": "Upload er allerede undervejs. Prøv igen efter noget tid",
|
"backup_manual_in_progress": "Upload er allerede undervejs. Prøv igen efter noget tid",
|
||||||
@@ -649,7 +651,7 @@
|
|||||||
"cast": "Caste",
|
"cast": "Caste",
|
||||||
"cast_description": "Konfigurer tilgængelige cast destinationer",
|
"cast_description": "Konfigurer tilgængelige cast destinationer",
|
||||||
"change_date": "Ændr dato",
|
"change_date": "Ændr dato",
|
||||||
"change_description": "Beskrivelse af ændringer",
|
"change_description": "Ændr beskrivelse",
|
||||||
"change_display_order": "Ændrer visningsrækkefølge",
|
"change_display_order": "Ændrer visningsrækkefølge",
|
||||||
"change_expiration_time": "Ændr udløbstidspunkt",
|
"change_expiration_time": "Ændr udløbstidspunkt",
|
||||||
"change_location": "Ændr sted",
|
"change_location": "Ændr sted",
|
||||||
@@ -1383,7 +1385,7 @@
|
|||||||
"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_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_albums_yet": "Det ser ud til, at du ikke har nogen album endnu.",
|
||||||
"no_archived_assets_message": "Arkivér billeder og videoer for at gemme dem væk fra din Billede oversigt",
|
"no_archived_assets_message": "Arkivér billeder og videoer for at gemme dem væk fra din billedoversigt",
|
||||||
"no_assets_message": "KLIK FOR AT UPLOADE DIT FØRSTE BILLEDE",
|
"no_assets_message": "KLIK FOR AT UPLOADE DIT FØRSTE BILLEDE",
|
||||||
"no_assets_to_show": "Ingen elementer at vise",
|
"no_assets_to_show": "Ingen elementer at vise",
|
||||||
"no_cast_devices_found": "Ingen Cast-enheder fundet",
|
"no_cast_devices_found": "Ingen Cast-enheder fundet",
|
||||||
|
|||||||
42
i18n/de.json
@@ -28,10 +28,12 @@
|
|||||||
"add_to_album": "Zu Album hinzufügen",
|
"add_to_album": "Zu Album hinzufügen",
|
||||||
"add_to_album_bottom_sheet_added": "Zu {album} hinzugefügt",
|
"add_to_album_bottom_sheet_added": "Zu {album} hinzugefügt",
|
||||||
"add_to_album_bottom_sheet_already_exists": "Bereits in {album}",
|
"add_to_album_bottom_sheet_already_exists": "Bereits in {album}",
|
||||||
|
"add_to_album_bottom_sheet_some_local_assets": "Einige lokale Dateien konnten nicht zum Album hinzugefügt werden",
|
||||||
"add_to_album_toggle": "Auswahl umschalten für {album}",
|
"add_to_album_toggle": "Auswahl umschalten für {album}",
|
||||||
"add_to_albums": "Zu Alben hinzufügen",
|
"add_to_albums": "Zu Alben hinzufügen",
|
||||||
"add_to_albums_count": "Zu Alben hinzufügen ({count})",
|
"add_to_albums_count": "Zu Alben hinzufügen ({count})",
|
||||||
"add_to_shared_album": "Zu geteiltem Album hinzufügen",
|
"add_to_shared_album": "Zu geteiltem Album hinzufügen",
|
||||||
|
"add_upload_to_stack": "Upload zum Stapel hinzufügen",
|
||||||
"add_url": "URL hinzufügen",
|
"add_url": "URL hinzufügen",
|
||||||
"added_to_archive": "Zum Archiv hinzugefügt",
|
"added_to_archive": "Zum Archiv hinzugefügt",
|
||||||
"added_to_favorites": "Zu Favoriten hinzugefügt",
|
"added_to_favorites": "Zu Favoriten hinzugefügt",
|
||||||
@@ -47,14 +49,14 @@
|
|||||||
"background_task_job": "Hintergrundaufgaben",
|
"background_task_job": "Hintergrundaufgaben",
|
||||||
"backup_database": "Datenbanksicherung erstellen",
|
"backup_database": "Datenbanksicherung erstellen",
|
||||||
"backup_database_enable_description": "Datenbank regelmäßig sichern",
|
"backup_database_enable_description": "Datenbank regelmäßig sichern",
|
||||||
"backup_keep_last_amount": "Anzahl der aufzubewahrenden früheren Backups",
|
"backup_keep_last_amount": "Anzahl der aufzubewahrenden früheren Sicherungen",
|
||||||
"backup_onboarding_1_description": "Offsite-Kopie in der Cloud oder an einem anderen physischen Ort.",
|
"backup_onboarding_1_description": "Offsite-Kopie in der Cloud oder an einem anderen physischen Ort.",
|
||||||
"backup_onboarding_2_description": "Lokale Kopien auf verschiedenen Geräten. Dazu gehören die Hauptdateien und eine lokale Sicherung dieser Dateien.",
|
"backup_onboarding_2_description": "lokale Kopien auf verschiedenen Geräten. Dazu gehören die Hauptdateien und eine lokale Sicherung dieser Dateien.",
|
||||||
"backup_onboarding_3_description": "3 komplette Kopien deiner Daten, inkl. der Originaldateien. Dies umfasst 1 Kopie an einem anderen Ort und 2 lokale Kopie.",
|
"backup_onboarding_3_description": "Kopien deiner Daten inklusive Originaldateien. Dies umfasst 1 Kopie an einem anderen Ort und 2 lokale Kopien.",
|
||||||
"backup_onboarding_description": "Eine <backblaze-link>3-2-1 Backup-Strategie</backblaze-link> wird empfohlen, um deine Daten zu schützen. Du solltest sowohl Kopien deiner hochgeladenen Fotos/Videos als auch der Immich-Datenbank aufbewahren, um eine umfassende Backup-Lösung zu haben.",
|
"backup_onboarding_description": "Eine <backblaze-link>3-2-1 Sicherungssrategie</backblaze-link> wird empfohlen, um deine Daten zu schützen. Du solltest sowohl Kopien deiner hochgeladenen Fotos/Videos als auch der Immich-Datenbank aufbewahren, um eine umfassende Sicherungslösung zu haben.",
|
||||||
"backup_onboarding_footer": "Weitere Informationen zum Sichern von Immich findest du in der <link>Dokumentation</link>.",
|
"backup_onboarding_footer": "Weitere Informationen zum Sichern von Immich findest du in der <link>Dokumentation</link>.",
|
||||||
"backup_onboarding_parts_title": "Eine 3-2-1-Sicherung umfasst:",
|
"backup_onboarding_parts_title": "Eine 3-2-1-Sicherung umfasst:",
|
||||||
"backup_onboarding_title": "Backups",
|
"backup_onboarding_title": "Sicherungen",
|
||||||
"backup_settings": "Einstellungen für Datenbanksicherung",
|
"backup_settings": "Einstellungen für Datenbanksicherung",
|
||||||
"backup_settings_description": "Einstellungen zur regelmäßigen Sicherung der Datenbank. Hinweis: Diese Jobs werden nicht überwacht und du wirst nicht über Fehler informiert.",
|
"backup_settings_description": "Einstellungen zur regelmäßigen Sicherung der Datenbank. Hinweis: Diese Jobs werden nicht überwacht und du wirst nicht über Fehler informiert.",
|
||||||
"cleared_jobs": "Folgende Aufgaben zurückgesetzt: {job}",
|
"cleared_jobs": "Folgende Aufgaben zurückgesetzt: {job}",
|
||||||
@@ -66,9 +68,9 @@
|
|||||||
"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?",
|
||||||
"confirm_user_pin_code_reset": "Bist du sicher, dass du den PIN Code von {user} zurücksetzen möchtest?",
|
"confirm_user_pin_code_reset": "Bist du sicher, dass du den PIN Code von {user} zurücksetzen möchtest?",
|
||||||
"create_job": "Aufgabe erstellen",
|
"create_job": "Aufgabe erstellen",
|
||||||
"cron_expression": "Cron Zeitangabe",
|
"cron_expression": "Cron-Zeitangabe",
|
||||||
"cron_expression_description": "Setze ein Intervall für die Sicherung mittels cron. Hilfe mit dem Format bietet dir dabei z. B. der <link>Crontab Guru</link>",
|
"cron_expression_description": "Setze das Scanintervall im Cron-Format. Hilfe mit dem Format bietet dir dabei z. B. der <link>Crontab Guru</link>",
|
||||||
"cron_expression_presets": "Nützliche Zeitangaben für Cron",
|
"cron_expression_presets": "Vorlagen für Cron-Zeitangabe",
|
||||||
"disable_login": "Login deaktivieren",
|
"disable_login": "Login deaktivieren",
|
||||||
"duplicate_detection_job_description": "Diese Aufgabe führt das maschinelle Lernen für jede Datei aus, um Duplikate zu finden. Diese Aufgabe beruht auf der intelligenten Suche",
|
"duplicate_detection_job_description": "Diese Aufgabe führt das maschinelle Lernen für jede Datei aus, um Duplikate zu finden. Diese Aufgabe beruht auf der intelligenten Suche",
|
||||||
"exclusion_pattern_description": "Mit Ausschlussmustern können Dateien und Ordner beim Scannen Ihrer Bibliothek ignoriert werden. Dies ist nützlich, wenn du Ordner hast, die Dateien enthalten, die du nicht importieren möchtest, wie z. B. RAW-Dateien.",
|
"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.",
|
||||||
@@ -285,13 +287,13 @@
|
|||||||
"storage_template_user_label": "<code>{label}</code> is die Speicherpfadbezeichnung 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",
|
||||||
"template_email_available_tags": "In deiner Vorlage kannst du die folgenden Variablen verwenden: {tags}",
|
"template_email_available_tags": "Du kannst die folgenden Variablen in deiner Vorlage verwenden: {tags}",
|
||||||
"template_email_if_empty": "Wenn die Vorlage leer ist, wird die Standard-E-Mail verwendet.",
|
"template_email_if_empty": "Wenn die Vorlage leer ist, wird die Standard-E-Mail-Vorlage verwendet.",
|
||||||
"template_email_invite_album": "E-Mail-Vorlage: Einladung zu Album",
|
"template_email_invite_album": "Einladung zu Album",
|
||||||
"template_email_preview": "Vorschau",
|
"template_email_preview": "Vorschau",
|
||||||
"template_email_settings": "E-Mail-Vorlagen",
|
"template_email_settings": "E-Mail-Vorlagen",
|
||||||
"template_email_update_album": "Album-Vorlage aktualisieren",
|
"template_email_update_album": "Aktualisiertes Album",
|
||||||
"template_email_welcome": "Willkommen bei den E-Mail-Vorlagen",
|
"template_email_welcome": "Willkommens-E-Mail",
|
||||||
"template_settings": "Benachrichtigungsvorlagen",
|
"template_settings": "Benachrichtigungsvorlagen",
|
||||||
"template_settings_description": "Benutzerdefinierte Vorlagen für Benachrichtigungen verwalten",
|
"template_settings_description": "Benutzerdefinierte Vorlagen für Benachrichtigungen verwalten",
|
||||||
"theme_custom_css_settings": "Benutzerdefiniertes CSS",
|
"theme_custom_css_settings": "Benutzerdefiniertes CSS",
|
||||||
@@ -537,18 +539,18 @@
|
|||||||
"autoplay_slideshow": "Automatische Diashow",
|
"autoplay_slideshow": "Automatische Diashow",
|
||||||
"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",
|
||||||
"background_backup_running_error": "Hintergrund Sicherung läuft, kann manuelle Sicherung nicht starten",
|
"background_backup_running_error": "Sicherung läuft im Hintergrund. Manuelle Sicherung kann nicht gestartet werden",
|
||||||
"background_location_permission": "Hintergrund Standortfreigabe",
|
"background_location_permission": "Hintergrund Standortfreigabe",
|
||||||
"background_location_permission_content": "Um im Hintergrund zwischen den Netzwerken wechseln zu können, muss Immich *immer* Zugriff auf den genauen Standort haben, damit die App den Namen des WLAN-Netzwerks ermitteln kann",
|
"background_location_permission_content": "Um im Hintergrund zwischen den Netzwerken wechseln zu können, muss Immich *immer* Zugriff auf den genauen Standort haben, damit die App den Namen des WLAN-Netzwerks ermitteln kann",
|
||||||
"background_options": "Hintergrund Optionen",
|
"background_options": "Hintergrund Optionen",
|
||||||
"backup": "Sicherung",
|
"backup": "Sicherung",
|
||||||
"backup_album_selection_page_albums_device": "Alben auf dem Gerät ({count})",
|
"backup_album_selection_page_albums_device": "Alben auf dem Gerät ({count})",
|
||||||
"backup_album_selection_page_albums_tap": "Einmalig das Album antippen um es zu sichern, doppelt antippen um es nicht mehr zu sichern",
|
"backup_album_selection_page_albums_tap": "Antippen zum sichern, erneut antippen zum Ausschließen",
|
||||||
"backup_album_selection_page_assets_scatter": "Elemente (Fotos / Videos) können sich über mehrere Alben verteilen. Daher können diese vor der Sicherung eingeschlossen oder ausgeschlossen werden.",
|
"backup_album_selection_page_assets_scatter": "Elemente (Fotos / Videos) können sich über mehrere Alben verteilen. Daher können diese vor der Sicherung eingeschlossen oder ausgeschlossen werden.",
|
||||||
"backup_album_selection_page_select_albums": "Alben auswählen",
|
"backup_album_selection_page_select_albums": "Alben auswählen",
|
||||||
"backup_album_selection_page_selection_info": "Information",
|
"backup_album_selection_page_selection_info": "Auswahlinformation",
|
||||||
"backup_album_selection_page_total_assets": "Elemente",
|
"backup_album_selection_page_total_assets": "Elemente gesamt",
|
||||||
"backup_albums_sync": "Synchronisation von Alben beim Backup",
|
"backup_albums_sync": "Synchronisation der Sicherungsalben",
|
||||||
"backup_all": "Alle",
|
"backup_all": "Alle",
|
||||||
"backup_background_service_backup_failed_message": "Es trat ein Fehler bei der Sicherung auf. Erneuter Versuch…",
|
"backup_background_service_backup_failed_message": "Es trat ein Fehler bei der Sicherung auf. Erneuter Versuch…",
|
||||||
"backup_background_service_connection_failed_message": "Es konnte keine Verbindung zum Server hergestellt werden. Erneuter Versuch…",
|
"backup_background_service_connection_failed_message": "Es konnte keine Verbindung zum Server hergestellt werden. Erneuter Versuch…",
|
||||||
@@ -598,6 +600,7 @@
|
|||||||
"backup_controller_page_turn_on": "Sicherung im Vordergrund einschalten",
|
"backup_controller_page_turn_on": "Sicherung im Vordergrund einschalten",
|
||||||
"backup_controller_page_uploading_file_info": "Informationen",
|
"backup_controller_page_uploading_file_info": "Informationen",
|
||||||
"backup_err_only_album": "Das einzige Album kann nicht entfernt werden",
|
"backup_err_only_album": "Das einzige Album kann nicht entfernt werden",
|
||||||
|
"backup_error_sync_failed": "Synchronisierung fehlgeschlagen. Sicherung kann nicht verarbeitet werden.",
|
||||||
"backup_info_card_assets": "Elemente",
|
"backup_info_card_assets": "Elemente",
|
||||||
"backup_manual_cancelled": "Abgebrochen",
|
"backup_manual_cancelled": "Abgebrochen",
|
||||||
"backup_manual_in_progress": "Sicherung läuft bereits. Bitte versuche es später erneut",
|
"backup_manual_in_progress": "Sicherung läuft bereits. Bitte versuche es später erneut",
|
||||||
@@ -1036,6 +1039,7 @@
|
|||||||
"exif_bottom_sheet_description_error": "Fehler bei der Aktualisierung der Beschreibung",
|
"exif_bottom_sheet_description_error": "Fehler bei der Aktualisierung der Beschreibung",
|
||||||
"exif_bottom_sheet_details": "DETAILS",
|
"exif_bottom_sheet_details": "DETAILS",
|
||||||
"exif_bottom_sheet_location": "STANDORT",
|
"exif_bottom_sheet_location": "STANDORT",
|
||||||
|
"exif_bottom_sheet_no_description": "Keine Beschreibung",
|
||||||
"exif_bottom_sheet_people": "PERSONEN",
|
"exif_bottom_sheet_people": "PERSONEN",
|
||||||
"exif_bottom_sheet_person_add_person": "Namen hinzufügen",
|
"exif_bottom_sheet_person_add_person": "Namen hinzufügen",
|
||||||
"exit_slideshow": "Diashow beenden",
|
"exit_slideshow": "Diashow beenden",
|
||||||
@@ -1952,7 +1956,7 @@
|
|||||||
"sync_remote": "mit Server synchronisieren",
|
"sync_remote": "mit Server synchronisieren",
|
||||||
"sync_status": "Synchronisierungstatus",
|
"sync_status": "Synchronisierungstatus",
|
||||||
"sync_status_subtitle": "Synchronisierungssystem anzeigen und bearbeiten",
|
"sync_status_subtitle": "Synchronisierungssystem anzeigen und bearbeiten",
|
||||||
"sync_upload_album_setting_subtitle": "Erstelle deine ausgewählten Alben in Immich und lade die Fotos und Videos dort hoch",
|
"sync_upload_album_setting_subtitle": "Erstelle und lade deine ausgewählten Fotos und Videos in die ausgewählten Alben auf Immich hoch",
|
||||||
"tag": "Tag",
|
"tag": "Tag",
|
||||||
"tag_assets": "Dateien taggen",
|
"tag_assets": "Dateien taggen",
|
||||||
"tag_created": "Tag erstellt: {tag}",
|
"tag_created": "Tag erstellt: {tag}",
|
||||||
|
|||||||
56
i18n/el.json
@@ -28,10 +28,12 @@
|
|||||||
"add_to_album": "Προσθήκη σε άλμπουμ",
|
"add_to_album": "Προσθήκη σε άλμπουμ",
|
||||||
"add_to_album_bottom_sheet_added": "Προστέθηκε στο {album}",
|
"add_to_album_bottom_sheet_added": "Προστέθηκε στο {album}",
|
||||||
"add_to_album_bottom_sheet_already_exists": "Ήδη στο {album}",
|
"add_to_album_bottom_sheet_already_exists": "Ήδη στο {album}",
|
||||||
|
"add_to_album_bottom_sheet_some_local_assets": "Ορισμένοι τοπικά στοιχεία δεν μπόρεσαν να προστεθούν στο άλμπουμ",
|
||||||
"add_to_album_toggle": "Εναλλαγή επιλογής για το {album}",
|
"add_to_album_toggle": "Εναλλαγή επιλογής για το {album}",
|
||||||
"add_to_albums": "Προσθήκη στα άλμπουμ",
|
"add_to_albums": "Προσθήκη στα άλμπουμ",
|
||||||
"add_to_albums_count": "Προσθήκη στα άλμπουμ ({count})",
|
"add_to_albums_count": "Προσθήκη στα άλμπουμ ({count})",
|
||||||
"add_to_shared_album": "Προσθήκη σε κοινόχρηστο άλμπουμ",
|
"add_to_shared_album": "Προσθήκη σε κοινόχρηστο άλμπουμ",
|
||||||
|
"add_upload_to_stack": "Προσθήκη αρχείου στην ουρά",
|
||||||
"add_url": "Προσθήκη Συνδέσμου",
|
"add_url": "Προσθήκη Συνδέσμου",
|
||||||
"added_to_archive": "Προστέθηκε στο αρχείο",
|
"added_to_archive": "Προστέθηκε στο αρχείο",
|
||||||
"added_to_favorites": "Προστέθηκε στα αγαπημένα",
|
"added_to_favorites": "Προστέθηκε στα αγαπημένα",
|
||||||
@@ -401,6 +403,8 @@
|
|||||||
"advanced_settings_prefer_remote_title": "Προτίμηση απομακρυσμένων εικόνων",
|
"advanced_settings_prefer_remote_title": "Προτίμηση απομακρυσμένων εικόνων",
|
||||||
"advanced_settings_proxy_headers_subtitle": "Καθορισμός κεφαλίδων διακομιστή μεσολάβησης που το Immich πρέπει να στέλνει με κάθε αίτημα δικτύου",
|
"advanced_settings_proxy_headers_subtitle": "Καθορισμός κεφαλίδων διακομιστή μεσολάβησης που το Immich πρέπει να στέλνει με κάθε αίτημα δικτύου",
|
||||||
"advanced_settings_proxy_headers_title": "Κεφαλίδες διακομιστή μεσολάβησης",
|
"advanced_settings_proxy_headers_title": "Κεφαλίδες διακομιστή μεσολάβησης",
|
||||||
|
"advanced_settings_readonly_mode_subtitle": "Ενεργοποιεί τη λειτουργία μόνο-για-ανάγνωση, όπου οι φωτογραφίες μπορούν μόνο να προβληθούν. Ενέργειες όπως επιλογή πολλών εικόνων, κοινή χρήση, αποστολή (casting) και διαγραφή είναι απενεργοποιημένες. Η ενεργοποίηση/απενεργοποίηση της λειτουργίας μόνο-για-ανάγνωση γίνεται μέσω της εικόνας του χρήστη από την κεντρική οθόνη",
|
||||||
|
"advanced_settings_readonly_mode_title": "Λειτουργία μόνο-για-ανάγνωση",
|
||||||
"advanced_settings_self_signed_ssl_subtitle": "Παρακάμπτει τον έλεγχο πιστοποιητικού SSL του διακομιστή. Απαραίτητο για αυτο-υπογεγραμμένα πιστοποιητικά.",
|
"advanced_settings_self_signed_ssl_subtitle": "Παρακάμπτει τον έλεγχο πιστοποιητικού SSL του διακομιστή. Απαραίτητο για αυτο-υπογεγραμμένα πιστοποιητικά.",
|
||||||
"advanced_settings_self_signed_ssl_title": "Να επιτρέπονται αυτο-υπογεγραμμένα πιστοποιητικά SSL",
|
"advanced_settings_self_signed_ssl_title": "Να επιτρέπονται αυτο-υπογεγραμμένα πιστοποιητικά SSL",
|
||||||
"advanced_settings_sync_remote_deletions_subtitle": "Αυτόματη διαγραφή ή επαναφορά ενός περιουσιακού στοιχείου σε αυτή τη συσκευή, όταν η ενέργεια αυτή πραγματοποιείται στο διαδίκτυο",
|
"advanced_settings_sync_remote_deletions_subtitle": "Αυτόματη διαγραφή ή επαναφορά ενός περιουσιακού στοιχείου σε αυτή τη συσκευή, όταν η ενέργεια αυτή πραγματοποιείται στο διαδίκτυο",
|
||||||
@@ -428,6 +432,7 @@
|
|||||||
"album_remove_user_confirmation": "Είστε σίγουροι ότι θέλετε να αφαιρέσετε τον/την {user};",
|
"album_remove_user_confirmation": "Είστε σίγουροι ότι θέλετε να αφαιρέσετε τον/την {user};",
|
||||||
"album_search_not_found": "Δε βρέθηκαν άλμπουμ που να ταιριάζουν με την αναζήτησή σας",
|
"album_search_not_found": "Δε βρέθηκαν άλμπουμ που να ταιριάζουν με την αναζήτησή σας",
|
||||||
"album_share_no_users": "Φαίνεται ότι έχετε κοινοποιήσει αυτό το άλμπουμ σε όλους τους χρήστες ή δεν έχετε χρήστες για να το κοινοποιήσετε.",
|
"album_share_no_users": "Φαίνεται ότι έχετε κοινοποιήσει αυτό το άλμπουμ σε όλους τους χρήστες ή δεν έχετε χρήστες για να το κοινοποιήσετε.",
|
||||||
|
"album_summary": "Περίληψη άλμπουμ",
|
||||||
"album_updated": "Το άλμπουμ, ενημερώθηκε",
|
"album_updated": "Το άλμπουμ, ενημερώθηκε",
|
||||||
"album_updated_setting_description": "Λάβετε ειδοποίηση μέσω email όταν ένα κοινόχρηστο άλμπουμ έχει νέα αρχεία",
|
"album_updated_setting_description": "Λάβετε ειδοποίηση μέσω email όταν ένα κοινόχρηστο άλμπουμ έχει νέα αρχεία",
|
||||||
"album_user_left": "Αποχωρήσατε από το {album}",
|
"album_user_left": "Αποχωρήσατε από το {album}",
|
||||||
@@ -466,6 +471,7 @@
|
|||||||
"app_bar_signout_dialog_title": "Αποσύνδεση",
|
"app_bar_signout_dialog_title": "Αποσύνδεση",
|
||||||
"app_settings": "Ρυθμίσεις εφαρμογής",
|
"app_settings": "Ρυθμίσεις εφαρμογής",
|
||||||
"appears_in": "Εμφανίζεται σε",
|
"appears_in": "Εμφανίζεται σε",
|
||||||
|
"apply_count": "Εφαρμογή ({count, number})",
|
||||||
"archive": "Αρχείο",
|
"archive": "Αρχείο",
|
||||||
"archive_action_prompt": "Προστέθηκαν {count} στο Αρχείο",
|
"archive_action_prompt": "Προστέθηκαν {count} στο Αρχείο",
|
||||||
"archive_or_unarchive_photo": "Αρχειοθέτηση ή αποαρχειοθέτηση φωτογραφίας",
|
"archive_or_unarchive_photo": "Αρχειοθέτηση ή αποαρχειοθέτηση φωτογραφίας",
|
||||||
@@ -498,6 +504,8 @@
|
|||||||
"asset_restored_successfully": "Το στοιχείο αποκαταστάθηκε με επιτυχία",
|
"asset_restored_successfully": "Το στοιχείο αποκαταστάθηκε με επιτυχία",
|
||||||
"asset_skipped": "Παραλείφθηκε",
|
"asset_skipped": "Παραλείφθηκε",
|
||||||
"asset_skipped_in_trash": "Στον κάδο απορριμμάτων",
|
"asset_skipped_in_trash": "Στον κάδο απορριμμάτων",
|
||||||
|
"asset_trashed": "Το στοιχείο διαγράφηκε",
|
||||||
|
"asset_troubleshoot": "Αντιμετώπιση προβλήματος στοιχείου",
|
||||||
"asset_uploaded": "Ανεβάστηκε",
|
"asset_uploaded": "Ανεβάστηκε",
|
||||||
"asset_uploading": "Ανεβάζεται…",
|
"asset_uploading": "Ανεβάζεται…",
|
||||||
"asset_viewer_settings_subtitle": "Διαχείριση ρυθμίσεων προβολής συλλογής",
|
"asset_viewer_settings_subtitle": "Διαχείριση ρυθμίσεων προβολής συλλογής",
|
||||||
@@ -531,8 +539,10 @@
|
|||||||
"autoplay_slideshow": "Αυτόματη αναπαραγωγή παρουσίασης",
|
"autoplay_slideshow": "Αυτόματη αναπαραγωγή παρουσίασης",
|
||||||
"back": "Πίσω",
|
"back": "Πίσω",
|
||||||
"back_close_deselect": "Πίσω, κλείσιμο ή αποεπιλογή",
|
"back_close_deselect": "Πίσω, κλείσιμο ή αποεπιλογή",
|
||||||
|
"background_backup_running_error": "Η δημιουργία αντιγράφων ασφάλειας στο παρασκήνιο εκτελείται ήδη, δεν μπορεί να ξεκινήσετε χειροκίνητο αντίγραφο ασφάλειας",
|
||||||
"background_location_permission": "Άδεια τοποθεσίας στο παρασκήνιο",
|
"background_location_permission": "Άδεια τοποθεσίας στο παρασκήνιο",
|
||||||
"background_location_permission_content": "Το Immich για να μπορεί να αλλάζει δίκτυα όταν τρέχει στο παρασκήνιο, πρέπει *πάντα* να έχει πρόσβαση στην ακριβή τοποθεσία ώστε η εφαρμογή να μπορεί να διαβάζει το όνομα του δικτύου Wi-Fi",
|
"background_location_permission_content": "Το Immich για να μπορεί να αλλάζει δίκτυα όταν τρέχει στο παρασκήνιο, πρέπει *πάντα* να έχει πρόσβαση στην ακριβή τοποθεσία ώστε η εφαρμογή να μπορεί να διαβάζει το όνομα του δικτύου Wi-Fi",
|
||||||
|
"background_options": "Επιλογές παρασκηνίου",
|
||||||
"backup": "Αντίγραφο ασφαλείας",
|
"backup": "Αντίγραφο ασφαλείας",
|
||||||
"backup_album_selection_page_albums_device": "Άλμπουμ στη συσκευή ({count})",
|
"backup_album_selection_page_albums_device": "Άλμπουμ στη συσκευή ({count})",
|
||||||
"backup_album_selection_page_albums_tap": "Πάτημα για συμπερίληψη, διπλό πάτημα για εξαίρεση",
|
"backup_album_selection_page_albums_tap": "Πάτημα για συμπερίληψη, διπλό πάτημα για εξαίρεση",
|
||||||
@@ -540,6 +550,7 @@
|
|||||||
"backup_album_selection_page_select_albums": "Επιλογή άλμπουμ",
|
"backup_album_selection_page_select_albums": "Επιλογή άλμπουμ",
|
||||||
"backup_album_selection_page_selection_info": "Πληροφορίες επιλογής",
|
"backup_album_selection_page_selection_info": "Πληροφορίες επιλογής",
|
||||||
"backup_album_selection_page_total_assets": "Συνολικά μοναδικά στοιχεία",
|
"backup_album_selection_page_total_assets": "Συνολικά μοναδικά στοιχεία",
|
||||||
|
"backup_albums_sync": "Συγχρονισμός αντιγράφων ασφαλείας άλμπουμ",
|
||||||
"backup_all": "Όλα",
|
"backup_all": "Όλα",
|
||||||
"backup_background_service_backup_failed_message": "Αποτυχία δημιουργίας αντιγράφων ασφαλείας. Επανάληψη…",
|
"backup_background_service_backup_failed_message": "Αποτυχία δημιουργίας αντιγράφων ασφαλείας. Επανάληψη…",
|
||||||
"backup_background_service_connection_failed_message": "Αποτυχία σύνδεσης με το διακομιστή. Επανάληψη…",
|
"backup_background_service_connection_failed_message": "Αποτυχία σύνδεσης με το διακομιστή. Επανάληψη…",
|
||||||
@@ -589,6 +600,7 @@
|
|||||||
"backup_controller_page_turn_on": "Ενεργοποίηση δημιουργίας αντιγράφου ασφαλείας στο προσκήνιο",
|
"backup_controller_page_turn_on": "Ενεργοποίηση δημιουργίας αντιγράφου ασφαλείας στο προσκήνιο",
|
||||||
"backup_controller_page_uploading_file_info": "Μεταφόρτωση πληροφοριών αρχείου",
|
"backup_controller_page_uploading_file_info": "Μεταφόρτωση πληροφοριών αρχείου",
|
||||||
"backup_err_only_album": "Δεν είναι δυνατή η αφαίρεση του μοναδικού άλμπουμ",
|
"backup_err_only_album": "Δεν είναι δυνατή η αφαίρεση του μοναδικού άλμπουμ",
|
||||||
|
"backup_error_sync_failed": "Ο συγχρονισμός απέτυχε. Δεν είναι δυνατή η επεξεργασία του αντιγράφου ασφαλείας.",
|
||||||
"backup_info_card_assets": "στοιχεία",
|
"backup_info_card_assets": "στοιχεία",
|
||||||
"backup_manual_cancelled": "Ακυρώθηκε",
|
"backup_manual_cancelled": "Ακυρώθηκε",
|
||||||
"backup_manual_in_progress": "Μεταφόρτωση σε εξέλιξη. Δοκιμάστε αργότερα",
|
"backup_manual_in_progress": "Μεταφόρτωση σε εξέλιξη. Δοκιμάστε αργότερα",
|
||||||
@@ -656,6 +668,8 @@
|
|||||||
"change_pin_code": "Αλλαγή κωδικού PIN",
|
"change_pin_code": "Αλλαγή κωδικού PIN",
|
||||||
"change_your_password": "Αλλάξτε τον κωδικό σας",
|
"change_your_password": "Αλλάξτε τον κωδικό σας",
|
||||||
"changed_visibility_successfully": "Η προβολή, άλλαξε με επιτυχία",
|
"changed_visibility_successfully": "Η προβολή, άλλαξε με επιτυχία",
|
||||||
|
"charging": "Φόρτιση",
|
||||||
|
"charging_requirement_mobile_backup": "Η δημιουργία αντιγράφων ασφάλειας στο παρασκήνιο απαιτεί η συσκευή να φορτίζει",
|
||||||
"check_corrupt_asset_backup": "Έλεγχος για κατεστραμμένα αντίγραφα ασφαλείας στοιχείων",
|
"check_corrupt_asset_backup": "Έλεγχος για κατεστραμμένα αντίγραφα ασφαλείας στοιχείων",
|
||||||
"check_corrupt_asset_backup_button": "Εκτέλεση ελέγχου",
|
"check_corrupt_asset_backup_button": "Εκτέλεση ελέγχου",
|
||||||
"check_corrupt_asset_backup_description": "Εκτέλεσε αυτόν τον έλεγχο μόνο μέσω Wi-Fi και αφού έχουν αποθηκευτεί όλα τα αντίγραφα ασφαλείας των στοιχείων. Η διαδικασία μπορεί να διαρκέσει μερικά λεπτά.",
|
"check_corrupt_asset_backup_description": "Εκτέλεσε αυτόν τον έλεγχο μόνο μέσω Wi-Fi και αφού έχουν αποθηκευτεί όλα τα αντίγραφα ασφαλείας των στοιχείων. Η διαδικασία μπορεί να διαρκέσει μερικά λεπτά.",
|
||||||
@@ -742,6 +756,7 @@
|
|||||||
"create_user": "Δημιουργία χρήστη",
|
"create_user": "Δημιουργία χρήστη",
|
||||||
"created": "Δημιουργήθηκε",
|
"created": "Δημιουργήθηκε",
|
||||||
"created_at": "Δημιουργήθηκε",
|
"created_at": "Δημιουργήθηκε",
|
||||||
|
"creating_linked_albums": "Δημιουργία συνδεδεμένων άλμπουμ...",
|
||||||
"crop": "Αποκοπή",
|
"crop": "Αποκοπή",
|
||||||
"curated_object_page_title": "Πράγματα",
|
"curated_object_page_title": "Πράγματα",
|
||||||
"current_device": "Τρέχουσα συσκευή",
|
"current_device": "Τρέχουσα συσκευή",
|
||||||
@@ -891,7 +906,9 @@
|
|||||||
"error": "Σφάλμα",
|
"error": "Σφάλμα",
|
||||||
"error_change_sort_album": "Απέτυχε η αλλαγή σειράς του άλμπουμ",
|
"error_change_sort_album": "Απέτυχε η αλλαγή σειράς του άλμπουμ",
|
||||||
"error_delete_face": "Σφάλμα διαγραφής προσώπου από το στοιχείο",
|
"error_delete_face": "Σφάλμα διαγραφής προσώπου από το στοιχείο",
|
||||||
|
"error_getting_places": "Σφάλμα κατά την ανάκτηση τοποθεσιών",
|
||||||
"error_loading_image": "Σφάλμα κατά τη φόρτωση της εικόνας",
|
"error_loading_image": "Σφάλμα κατά τη φόρτωση της εικόνας",
|
||||||
|
"error_loading_partners": "Σφάλμα κατά τη φόρτωση συνεργατών: {error}",
|
||||||
"error_saving_image": "Σφάλμα: {error}",
|
"error_saving_image": "Σφάλμα: {error}",
|
||||||
"error_tag_face_bounding_box": "Σφάλμα επισήμανσης προσώπου - δεν μπορούν να ληφθούν οι συντεταγμένες του πλαισίου οριοθέτησης",
|
"error_tag_face_bounding_box": "Σφάλμα επισήμανσης προσώπου - δεν μπορούν να ληφθούν οι συντεταγμένες του πλαισίου οριοθέτησης",
|
||||||
"error_title": "Σφάλμα - Κάτι πήγε στραβά",
|
"error_title": "Σφάλμα - Κάτι πήγε στραβά",
|
||||||
@@ -1056,6 +1073,7 @@
|
|||||||
"favorites_page_no_favorites": "Δεν βρέθηκαν αγαπημένα στοιχεία",
|
"favorites_page_no_favorites": "Δεν βρέθηκαν αγαπημένα στοιχεία",
|
||||||
"feature_photo_updated": "Η φωτογραφία προβολής ενημερώθηκε",
|
"feature_photo_updated": "Η φωτογραφία προβολής ενημερώθηκε",
|
||||||
"features": "Χαρακτηριστικά",
|
"features": "Χαρακτηριστικά",
|
||||||
|
"features_in_development": "Λειτουργίες υπό Ανάπτυξη",
|
||||||
"features_setting_description": "Διαχειριστείτε τα χαρακτηριστικά της εφαρμογής",
|
"features_setting_description": "Διαχειριστείτε τα χαρακτηριστικά της εφαρμογής",
|
||||||
"file_name": "Όνομα αρχείου",
|
"file_name": "Όνομα αρχείου",
|
||||||
"file_name_or_extension": "Όνομα αρχείου ή επέκταση",
|
"file_name_or_extension": "Όνομα αρχείου ή επέκταση",
|
||||||
@@ -1076,12 +1094,15 @@
|
|||||||
"gcast_enabled": "Μετάδοση περιεχομένου Google Cast",
|
"gcast_enabled": "Μετάδοση περιεχομένου Google Cast",
|
||||||
"gcast_enabled_description": "Αυτό το χαρακτηριστικό φορτώνει εξωτερικούς πόρους από τη Google για να λειτουργήσει.",
|
"gcast_enabled_description": "Αυτό το χαρακτηριστικό φορτώνει εξωτερικούς πόρους από τη Google για να λειτουργήσει.",
|
||||||
"general": "Γενικά",
|
"general": "Γενικά",
|
||||||
|
"geolocation_instruction_location": "Κάνε κλικ σε ένα στοιχείο με συντεταγμένες GPS για να χρησιμοποιήσεις την τοποθεσία του, ή επίλεξε απευθείας μια τοποθεσία από τον χάρτη",
|
||||||
"get_help": "Ζητήστε βοήθεια",
|
"get_help": "Ζητήστε βοήθεια",
|
||||||
"get_wifiname_error": "Δεν ήταν δυνατή η λήψη του ονόματος Wi-Fi. Βεβαιωθείτε ότι έχετε δώσει τις απαραίτητες άδειες και ότι είστε συνδεδεμένοι σε δίκτυο Wi-Fi",
|
"get_wifiname_error": "Δεν ήταν δυνατή η λήψη του ονόματος Wi-Fi. Βεβαιωθείτε ότι έχετε δώσει τις απαραίτητες άδειες και ότι είστε συνδεδεμένοι σε δίκτυο Wi-Fi",
|
||||||
"getting_started": "Ξεκινώντας",
|
"getting_started": "Ξεκινώντας",
|
||||||
"go_back": "Πηγαίνετε πίσω",
|
"go_back": "Πηγαίνετε πίσω",
|
||||||
"go_to_folder": "Μετάβαση στο φάκελο",
|
"go_to_folder": "Μετάβαση στο φάκελο",
|
||||||
"go_to_search": "Πηγαίνετε στην αναζήτηση",
|
"go_to_search": "Πηγαίνετε στην αναζήτηση",
|
||||||
|
"gps": "GPS",
|
||||||
|
"gps_missing": "Χωρίς GPS",
|
||||||
"grant_permission": "Επιτρέψτε την άδεια",
|
"grant_permission": "Επιτρέψτε την άδεια",
|
||||||
"group_albums_by": "Ομαδοποίηση άλμπουμ κατά...",
|
"group_albums_by": "Ομαδοποίηση άλμπουμ κατά...",
|
||||||
"group_country": "Ομαδοποίηση κατά χώρα",
|
"group_country": "Ομαδοποίηση κατά χώρα",
|
||||||
@@ -1217,6 +1238,7 @@
|
|||||||
"local": "Τοπικά",
|
"local": "Τοπικά",
|
||||||
"local_asset_cast_failed": "Αδυναμία μετάδοσης στοιχείου που δεν έχει ανέβει στον διακομιστή",
|
"local_asset_cast_failed": "Αδυναμία μετάδοσης στοιχείου που δεν έχει ανέβει στον διακομιστή",
|
||||||
"local_assets": "Τοπικά στοιχεία",
|
"local_assets": "Τοπικά στοιχεία",
|
||||||
|
"local_media_summary": "Περίληψη τοπικών πολυμέσων",
|
||||||
"local_network": "Τοπικό δίκτυο",
|
"local_network": "Τοπικό δίκτυο",
|
||||||
"local_network_sheet_info": "Η εφαρμογή θα συνδεθεί με τον διακομιστή μέσω αυτού του URL όταν χρησιμοποιείται το καθορισμένο δίκτυο Wi-Fi",
|
"local_network_sheet_info": "Η εφαρμογή θα συνδεθεί με τον διακομιστή μέσω αυτού του URL όταν χρησιμοποιείται το καθορισμένο δίκτυο Wi-Fi",
|
||||||
"location_permission": "Άδεια τοποθεσίας",
|
"location_permission": "Άδεια τοποθεσίας",
|
||||||
@@ -1228,6 +1250,7 @@
|
|||||||
"location_picker_longitude_hint": "Εισαγάγετε εδώ το γεωγραφικό σας μήκος",
|
"location_picker_longitude_hint": "Εισαγάγετε εδώ το γεωγραφικό σας μήκος",
|
||||||
"lock": "Κλείδωμα",
|
"lock": "Κλείδωμα",
|
||||||
"locked_folder": "Κλειδωμένος φάκελος",
|
"locked_folder": "Κλειδωμένος φάκελος",
|
||||||
|
"log_detail_title": "Λεπτομέρεια καταγραφής",
|
||||||
"log_out": "Αποσύνδεση",
|
"log_out": "Αποσύνδεση",
|
||||||
"log_out_all_devices": "Αποσύνδεση από Όλες τις Συσκευές",
|
"log_out_all_devices": "Αποσύνδεση από Όλες τις Συσκευές",
|
||||||
"logged_in_as": "Συνδεδεμένος ως {user}",
|
"logged_in_as": "Συνδεδεμένος ως {user}",
|
||||||
@@ -1258,6 +1281,7 @@
|
|||||||
"login_password_changed_success": "Ο κωδικός πρόσβασης ενημερώθηκε με επιτυχία",
|
"login_password_changed_success": "Ο κωδικός πρόσβασης ενημερώθηκε με επιτυχία",
|
||||||
"logout_all_device_confirmation": "Είστε βέβαιοι ότι θέλετε να αποσυνδεθείτε από όλες τις συσκευές;",
|
"logout_all_device_confirmation": "Είστε βέβαιοι ότι θέλετε να αποσυνδεθείτε από όλες τις συσκευές;",
|
||||||
"logout_this_device_confirmation": "Είστε βέβαιοι ότι θέλετε να αποσυνδεθείτε από αυτήν τη συσκευή;",
|
"logout_this_device_confirmation": "Είστε βέβαιοι ότι θέλετε να αποσυνδεθείτε από αυτήν τη συσκευή;",
|
||||||
|
"logs": "Καταγραφές",
|
||||||
"longitude": "Γεωγραφικό μήκος",
|
"longitude": "Γεωγραφικό μήκος",
|
||||||
"look": "Εμφάνιση",
|
"look": "Εμφάνιση",
|
||||||
"loop_videos": "Επανάληψη βίντεο",
|
"loop_videos": "Επανάληψη βίντεο",
|
||||||
@@ -1265,6 +1289,7 @@
|
|||||||
"main_branch_warning": "Χρησιμοποιείτε μια έκδοση σε ανάπτυξη· συνιστούμε ανεπιφύλακτα τη χρήση μιας τελικής έκδοσης!",
|
"main_branch_warning": "Χρησιμοποιείτε μια έκδοση σε ανάπτυξη· συνιστούμε ανεπιφύλακτα τη χρήση μιας τελικής έκδοσης!",
|
||||||
"main_menu": "Κύριο μενού",
|
"main_menu": "Κύριο μενού",
|
||||||
"make": "Κατασκευαστής",
|
"make": "Κατασκευαστής",
|
||||||
|
"manage_geolocation": "Διαχείριση τοποθεσίας",
|
||||||
"manage_shared_links": "Διαχείριση κοινόχρηστων συνδέσμων",
|
"manage_shared_links": "Διαχείριση κοινόχρηστων συνδέσμων",
|
||||||
"manage_sharing_with_partners": "Διαχειριστείτε την κοινή χρήση με συνεργάτες",
|
"manage_sharing_with_partners": "Διαχειριστείτε την κοινή χρήση με συνεργάτες",
|
||||||
"manage_the_app_settings": "Διαχειριστείτε τις ρυθμίσεις της εφαρμογής",
|
"manage_the_app_settings": "Διαχειριστείτε τις ρυθμίσεις της εφαρμογής",
|
||||||
@@ -1299,6 +1324,7 @@
|
|||||||
"mark_as_read": "Επισήμανση ως αναγνωσμένο",
|
"mark_as_read": "Επισήμανση ως αναγνωσμένο",
|
||||||
"marked_all_as_read": "Όλα επισημάνθηκαν ως αναγνωσμένα",
|
"marked_all_as_read": "Όλα επισημάνθηκαν ως αναγνωσμένα",
|
||||||
"matches": "Αντιστοιχίες",
|
"matches": "Αντιστοιχίες",
|
||||||
|
"matching_assets": "Αντιστοιχία στοιχείων",
|
||||||
"media_type": "Τύπος πολυμέσου",
|
"media_type": "Τύπος πολυμέσου",
|
||||||
"memories": "Αναμνήσεις",
|
"memories": "Αναμνήσεις",
|
||||||
"memories_all_caught_up": "Συγχρονισμένα",
|
"memories_all_caught_up": "Συγχρονισμένα",
|
||||||
@@ -1339,6 +1365,7 @@
|
|||||||
"name_or_nickname": "Όνομα ή ψευδώνυμο",
|
"name_or_nickname": "Όνομα ή ψευδώνυμο",
|
||||||
"network_requirement_photos_upload": "Χρήση δεδομένων κινητής τηλεφωνίας για τη δημιουργία αντιγράφων ασφαλείας των φωτογραφιών",
|
"network_requirement_photos_upload": "Χρήση δεδομένων κινητής τηλεφωνίας για τη δημιουργία αντιγράφων ασφαλείας των φωτογραφιών",
|
||||||
"network_requirement_videos_upload": "Χρήση δεδομένων κινητής τηλεφωνίας για τη δημιουργία αντιγράφων ασφαλείας των βίντεο",
|
"network_requirement_videos_upload": "Χρήση δεδομένων κινητής τηλεφωνίας για τη δημιουργία αντιγράφων ασφαλείας των βίντεο",
|
||||||
|
"network_requirements": "Απαιτήσεις Δυκτίου",
|
||||||
"network_requirements_updated": "Οι απαιτήσεις δικτύου άλλαξαν, γίνεται επαναφορά της ουράς αντιγράφων ασφαλείας",
|
"network_requirements_updated": "Οι απαιτήσεις δικτύου άλλαξαν, γίνεται επαναφορά της ουράς αντιγράφων ασφαλείας",
|
||||||
"networking_settings": "Δικτύωση",
|
"networking_settings": "Δικτύωση",
|
||||||
"networking_subtitle": "Διαχείριση ρυθμίσεων τελικών σημείων διακομιστή",
|
"networking_subtitle": "Διαχείριση ρυθμίσεων τελικών σημείων διακομιστή",
|
||||||
@@ -1349,6 +1376,7 @@
|
|||||||
"new_person": "Νέο άτομο",
|
"new_person": "Νέο άτομο",
|
||||||
"new_pin_code": "Νέος κωδικός PIN",
|
"new_pin_code": "Νέος κωδικός PIN",
|
||||||
"new_pin_code_subtitle": "Αυτή είναι η πρώτη φορά που αποκτάτε πρόσβαση στον κλειδωμένο φάκελο. Δημιουργήστε έναν κωδικό PIN για ασφαλή πρόσβαση σε αυτή τη σελίδα",
|
"new_pin_code_subtitle": "Αυτή είναι η πρώτη φορά που αποκτάτε πρόσβαση στον κλειδωμένο φάκελο. Δημιουργήστε έναν κωδικό PIN για ασφαλή πρόσβαση σε αυτή τη σελίδα",
|
||||||
|
"new_timeline": "Νέο Χρονολόγιο",
|
||||||
"new_user_created": "Ο νέος χρήστης δημιουργήθηκε",
|
"new_user_created": "Ο νέος χρήστης δημιουργήθηκε",
|
||||||
"new_version_available": "ΔΙΑΘΕΣΙΜΗ ΝΕΑ ΕΚΔΟΣΗ",
|
"new_version_available": "ΔΙΑΘΕΣΙΜΗ ΝΕΑ ΕΚΔΟΣΗ",
|
||||||
"newest_first": "Τα νεότερα πρώτα",
|
"newest_first": "Τα νεότερα πρώτα",
|
||||||
@@ -1362,20 +1390,25 @@
|
|||||||
"no_assets_message": "ΚΑΝΤΕ ΚΛΙΚ ΓΙΑ ΝΑ ΑΝΕΒΑΣΕΤΕ ΤΗΝ ΠΡΩΤΗ ΣΑΣ ΦΩΤΟΓΡΑΦΙΑ",
|
"no_assets_message": "ΚΑΝΤΕ ΚΛΙΚ ΓΙΑ ΝΑ ΑΝΕΒΑΣΕΤΕ ΤΗΝ ΠΡΩΤΗ ΣΑΣ ΦΩΤΟΓΡΑΦΙΑ",
|
||||||
"no_assets_to_show": "Δεν υπάρχουν στοιχεία προς εμφάνιση",
|
"no_assets_to_show": "Δεν υπάρχουν στοιχεία προς εμφάνιση",
|
||||||
"no_cast_devices_found": "Δε βρέθηκαν συσκευές μετάδοσης",
|
"no_cast_devices_found": "Δε βρέθηκαν συσκευές μετάδοσης",
|
||||||
|
"no_checksum_local": "Δεν υπάρχει διαθέσιμο checksum για έλεγχο ακεραιότητας – δεν μπορούν να ανακτηθούν τα τοπικά στοιχεία",
|
||||||
|
"no_checksum_remote": "Δεν υπάρχει διαθέσιμο checksum για έλεγχο ακεραιότητας – δεν μπορούν να ανακτηθούν τα απομακρυσμένα στοιχεία",
|
||||||
"no_duplicates_found": "Δεν βρέθηκαν διπλότυπα.",
|
"no_duplicates_found": "Δεν βρέθηκαν διπλότυπα.",
|
||||||
"no_exif_info_available": "Καμία πληροφορία exif διαθέσιμη",
|
"no_exif_info_available": "Καμία πληροφορία exif διαθέσιμη",
|
||||||
"no_explore_results_message": "Ανεβάστε περισσότερες φωτογραφίες για να περιηγηθείτε στη συλλογή σας.",
|
"no_explore_results_message": "Ανεβάστε περισσότερες φωτογραφίες για να περιηγηθείτε στη συλλογή σας.",
|
||||||
"no_favorites_message": "Προσθέστε αγαπημένα για να βρείτε γρήγορα τις καλύτερες φωτογραφίες και τα βίντεό σας",
|
"no_favorites_message": "Προσθέστε αγαπημένα για να βρείτε γρήγορα τις καλύτερες φωτογραφίες και τα βίντεό σας",
|
||||||
"no_libraries_message": "Δημιουργήστε μια εξωτερική βιβλιοθήκη για να προβάλετε τις φωτογραφίες και τα βίντεό σας",
|
"no_libraries_message": "Δημιουργήστε μια εξωτερική βιβλιοθήκη για να προβάλετε τις φωτογραφίες και τα βίντεό σας",
|
||||||
|
"no_local_assets_found": "Δεν βρέθηκαν τοπικά στοιχεία με αυτό το checksum",
|
||||||
"no_locked_photos_message": "Οι φωτογραφίες και τα βίντεο στον κλειδωμένο φάκελο, είναι κρυμμένες και δεν θα εμφανίζονται κατά την περιήγηση ή την αναζήτηση στη βιβλιοθήκη σας.",
|
"no_locked_photos_message": "Οι φωτογραφίες και τα βίντεο στον κλειδωμένο φάκελο, είναι κρυμμένες και δεν θα εμφανίζονται κατά την περιήγηση ή την αναζήτηση στη βιβλιοθήκη σας.",
|
||||||
"no_name": "Χωρίς Όνομα",
|
"no_name": "Χωρίς Όνομα",
|
||||||
"no_notifications": "Καμία ειδοποίηση",
|
"no_notifications": "Καμία ειδοποίηση",
|
||||||
"no_people_found": "Δεν βρέθηκαν άτομα που να ταιριάζουν",
|
"no_people_found": "Δεν βρέθηκαν άτομα που να ταιριάζουν",
|
||||||
"no_places": "Καμία τοποθεσία",
|
"no_places": "Καμία τοποθεσία",
|
||||||
|
"no_remote_assets_found": "Δεν βρέθηκαν απομακρυσμένα στοιχεία με αυτό το checksum",
|
||||||
"no_results": "Κανένα αποτέλεσμα",
|
"no_results": "Κανένα αποτέλεσμα",
|
||||||
"no_results_description": "Δοκιμάστε ένα συνώνυμο ή πιο γενική λέξη-κλειδί",
|
"no_results_description": "Δοκιμάστε ένα συνώνυμο ή πιο γενική λέξη-κλειδί",
|
||||||
"no_shared_albums_message": "Δημιουργήστε ένα άλμπουμ για να μοιράζεστε φωτογραφίες και βίντεο με άτομα στο δίκτυό σας",
|
"no_shared_albums_message": "Δημιουργήστε ένα άλμπουμ για να μοιράζεστε φωτογραφίες και βίντεο με άτομα στο δίκτυό σας",
|
||||||
"no_uploads_in_progress": "Καμία μεταφόρτωση σε εξέλιξη",
|
"no_uploads_in_progress": "Καμία μεταφόρτωση σε εξέλιξη",
|
||||||
|
"not_available": "Μ/Δ (Μη Διαθέσιμο)",
|
||||||
"not_in_any_album": "Σε κανένα άλμπουμ",
|
"not_in_any_album": "Σε κανένα άλμπουμ",
|
||||||
"not_selected": "Δεν επιλέχθηκε",
|
"not_selected": "Δεν επιλέχθηκε",
|
||||||
"note_apply_storage_label_to_previously_uploaded assets": "Σημείωση: Για να εφαρμόσετε την Ετικέτα Αποθήκευσης σε στοιχεία που έχουν μεταφορτωθεί προηγουμένως, εκτελέστε το",
|
"note_apply_storage_label_to_previously_uploaded assets": "Σημείωση: Για να εφαρμόσετε την Ετικέτα Αποθήκευσης σε στοιχεία που έχουν μεταφορτωθεί προηγουμένως, εκτελέστε το",
|
||||||
@@ -1410,6 +1443,8 @@
|
|||||||
"open_the_search_filters": "Ανοίξτε τα φίλτρα αναζήτησης",
|
"open_the_search_filters": "Ανοίξτε τα φίλτρα αναζήτησης",
|
||||||
"options": "Επιλογές",
|
"options": "Επιλογές",
|
||||||
"or": "ή",
|
"or": "ή",
|
||||||
|
"organize_into_albums": "Οργάνωση σε άλμπουμ",
|
||||||
|
"organize_into_albums_description": "Τοποθετείστε τις υπάρχουσες φωτογραφίες σε άλμπουμ χρησιμοποιώντας τις τρέχουσες ρυθμίσεις συγχρονισμού",
|
||||||
"organize_your_library": "Οργανώστε τη βιβλιοθήκη σας",
|
"organize_your_library": "Οργανώστε τη βιβλιοθήκη σας",
|
||||||
"original": "πρωτότυπο",
|
"original": "πρωτότυπο",
|
||||||
"other": "Άλλες",
|
"other": "Άλλες",
|
||||||
@@ -1495,6 +1530,7 @@
|
|||||||
"port": "Θύρα",
|
"port": "Θύρα",
|
||||||
"preferences_settings_subtitle": "Διαχειριστείτε τις προτιμήσεις της εφαρμογής",
|
"preferences_settings_subtitle": "Διαχειριστείτε τις προτιμήσεις της εφαρμογής",
|
||||||
"preferences_settings_title": "Προτιμήσεις",
|
"preferences_settings_title": "Προτιμήσεις",
|
||||||
|
"preparing": "Προετοιμασία",
|
||||||
"preset": "Προκαθορισμένη ρύθμιση",
|
"preset": "Προκαθορισμένη ρύθμιση",
|
||||||
"preview": "Προεπισκόπηση",
|
"preview": "Προεπισκόπηση",
|
||||||
"previous": "Προηγούμενο",
|
"previous": "Προηγούμενο",
|
||||||
@@ -1511,6 +1547,7 @@
|
|||||||
"profile_drawer_client_out_of_date_minor": "Παρακαλώ ενημερώστε την εφαρμογή στην πιο πρόσφατη δευτερεύουσα έκδοση.",
|
"profile_drawer_client_out_of_date_minor": "Παρακαλώ ενημερώστε την εφαρμογή στην πιο πρόσφατη δευτερεύουσα έκδοση.",
|
||||||
"profile_drawer_client_server_up_to_date": "Ο πελάτης και ο διακομιστής είναι ενημερωμένοι",
|
"profile_drawer_client_server_up_to_date": "Ο πελάτης και ο διακομιστής είναι ενημερωμένοι",
|
||||||
"profile_drawer_github": "GitHub",
|
"profile_drawer_github": "GitHub",
|
||||||
|
"profile_drawer_readonly_mode": "Η λειτουργία μόνο-για-ανάγνωση ενεργοποιήθηκε. Κρατήστε πατημένο το εικονίδιο του χρήστη για απενεργοποίηση.",
|
||||||
"profile_drawer_server_out_of_date_major": "Παρακαλώ ενημερώστε τον διακομιστή στην πιο πρόσφατη κύρια έκδοση.",
|
"profile_drawer_server_out_of_date_major": "Παρακαλώ ενημερώστε τον διακομιστή στην πιο πρόσφατη κύρια έκδοση.",
|
||||||
"profile_drawer_server_out_of_date_minor": "Παρακαλώ ενημερώστε τον διακομιστή στην πιο πρόσφατη δευτερεύουσα έκδοση.",
|
"profile_drawer_server_out_of_date_minor": "Παρακαλώ ενημερώστε τον διακομιστή στην πιο πρόσφατη δευτερεύουσα έκδοση.",
|
||||||
"profile_image_of_user": "Εικόνα προφίλ του χρήστη {user}",
|
"profile_image_of_user": "Εικόνα προφίλ του χρήστη {user}",
|
||||||
@@ -1549,6 +1586,7 @@
|
|||||||
"purchase_server_description_2": "Κατάσταση υποστηρικτή",
|
"purchase_server_description_2": "Κατάσταση υποστηρικτή",
|
||||||
"purchase_server_title": "Διακομιστής",
|
"purchase_server_title": "Διακομιστής",
|
||||||
"purchase_settings_server_activated": "Η διαχείριση του κλειδιού προϊόντος του διακομιστή γίνεται από τον διαχειριστή",
|
"purchase_settings_server_activated": "Η διαχείριση του κλειδιού προϊόντος του διακομιστή γίνεται από τον διαχειριστή",
|
||||||
|
"query_asset_id": "Αναζήτηση ID Στοιχείου",
|
||||||
"queue_status": "Τοποθέτηση στη ουρά {count} από {total}",
|
"queue_status": "Τοποθέτηση στη ουρά {count} από {total}",
|
||||||
"rating": "Αξιολόγηση με αστέρια",
|
"rating": "Αξιολόγηση με αστέρια",
|
||||||
"rating_clear": "Εκκαθάριση αξιολόγησης",
|
"rating_clear": "Εκκαθάριση αξιολόγησης",
|
||||||
@@ -1556,6 +1594,9 @@
|
|||||||
"rating_description": "Εμφάνιση της αξιολόγησης EXIF στον πίνακα πληροφοριών",
|
"rating_description": "Εμφάνιση της αξιολόγησης EXIF στον πίνακα πληροφοριών",
|
||||||
"reaction_options": "Επιλογές αντίδρασης",
|
"reaction_options": "Επιλογές αντίδρασης",
|
||||||
"read_changelog": "Διαβάστε το Αρχείο Καταγραφής Αλλαγών",
|
"read_changelog": "Διαβάστε το Αρχείο Καταγραφής Αλλαγών",
|
||||||
|
"readonly_mode_disabled": "Η λειτουργία μόνο-για-ανάγνωση απενεργοποιήθηκε",
|
||||||
|
"readonly_mode_enabled": "Η λειτουργία μόνο-για-ανάγνωση ενεργοποιήθηκε",
|
||||||
|
"ready_for_upload": "Έτοιμο για μεταφόρτωση",
|
||||||
"reassign": "Ανάθεση",
|
"reassign": "Ανάθεση",
|
||||||
"reassigned_assets_to_existing_person": "Η ανάθεση {count, plural, one {# αρχείου} other {# αρχείων}} στον/στην {name, select, null {έναν/μία υπάρχοντα/ουσα χρήστη} other {{name}}}",
|
"reassigned_assets_to_existing_person": "Η ανάθεση {count, plural, one {# αρχείου} other {# αρχείων}} στον/στην {name, select, null {έναν/μία υπάρχοντα/ουσα χρήστη} other {{name}}}",
|
||||||
"reassigned_assets_to_new_person": "Η ανάθεση {count, plural, one {# αρχείου} other {# αρχείων}} σε νέο άτομο",
|
"reassigned_assets_to_new_person": "Η ανάθεση {count, plural, one {# αρχείου} other {# αρχείων}} σε νέο άτομο",
|
||||||
@@ -1580,6 +1621,7 @@
|
|||||||
"regenerating_thumbnails": "Οι μικρογραφίες αναγεννώνται",
|
"regenerating_thumbnails": "Οι μικρογραφίες αναγεννώνται",
|
||||||
"remote": "Απομακρυσμένος",
|
"remote": "Απομακρυσμένος",
|
||||||
"remote_assets": "Απομακρυσμένα στοιχεία",
|
"remote_assets": "Απομακρυσμένα στοιχεία",
|
||||||
|
"remote_media_summary": "Περίληψη απομακρυσμένων πολυμέσων",
|
||||||
"remove": "Αφαίρεση",
|
"remove": "Αφαίρεση",
|
||||||
"remove_assets_album_confirmation": "Είστε σίγουροι ότι θέλετε να αφαιρέσετε {count, plural, one {# στοιχείο} other {# στοιχεία}} από το άλμπουμ;",
|
"remove_assets_album_confirmation": "Είστε σίγουροι ότι θέλετε να αφαιρέσετε {count, plural, one {# στοιχείο} other {# στοιχεία}} από το άλμπουμ;",
|
||||||
"remove_assets_shared_link_confirmation": "Είστε σίγουροι ότι θέλετε να αφαιρέσετε {count, plural, one {# στοιχείο} other {# στοιχεία}} από αυτόν τον κοινόχρηστο σύνδεσμο;",
|
"remove_assets_shared_link_confirmation": "Είστε σίγουροι ότι θέλετε να αφαιρέσετε {count, plural, one {# στοιχείο} other {# στοιχεία}} από αυτόν τον κοινόχρηστο σύνδεσμο;",
|
||||||
@@ -1632,6 +1674,7 @@
|
|||||||
"restore_user": "Επαναφορά χρήστη",
|
"restore_user": "Επαναφορά χρήστη",
|
||||||
"restored_asset": "Ανακτήθηκε το αρχείο",
|
"restored_asset": "Ανακτήθηκε το αρχείο",
|
||||||
"resume": "Συνέχιση",
|
"resume": "Συνέχιση",
|
||||||
|
"resume_paused_jobs": "Συνέχιση {count, plural, one {# σε παύση εργασία} other {# σε παύση εργασίες}}",
|
||||||
"retry_upload": "Επανάληψη ανεβάσματος",
|
"retry_upload": "Επανάληψη ανεβάσματος",
|
||||||
"review_duplicates": "Προβολή διπλότυπων",
|
"review_duplicates": "Προβολή διπλότυπων",
|
||||||
"review_large_files": "Επισκόπηση μεγάλων αρχείων",
|
"review_large_files": "Επισκόπηση μεγάλων αρχείων",
|
||||||
@@ -1725,6 +1768,7 @@
|
|||||||
"select_user_for_sharing_page_err_album": "Αποτυχία δημιουργίας άλπουμ",
|
"select_user_for_sharing_page_err_album": "Αποτυχία δημιουργίας άλπουμ",
|
||||||
"selected": "Επιλεγμένοι",
|
"selected": "Επιλεγμένοι",
|
||||||
"selected_count": "{count, plural, other {# επιλεγμένοι}}",
|
"selected_count": "{count, plural, other {# επιλεγμένοι}}",
|
||||||
|
"selected_gps_coordinates": "Επιλεγμένες συντεταγμένες GPS",
|
||||||
"send_message": "Αποστολή μηνύματος",
|
"send_message": "Αποστολή μηνύματος",
|
||||||
"send_welcome_email": "Αποστολή email καλωσορίσματος",
|
"send_welcome_email": "Αποστολή email καλωσορίσματος",
|
||||||
"server_endpoint": "Τελικό σημείο Διακομιστή",
|
"server_endpoint": "Τελικό σημείο Διακομιστή",
|
||||||
@@ -1853,6 +1897,7 @@
|
|||||||
"show_slideshow_transition": "Εμφάνιση μετάβασης παρουσίασης",
|
"show_slideshow_transition": "Εμφάνιση μετάβασης παρουσίασης",
|
||||||
"show_supporter_badge": "Σήμα υποστηρικτή",
|
"show_supporter_badge": "Σήμα υποστηρικτή",
|
||||||
"show_supporter_badge_description": "Εμφάνιση σήματος υποστηρικτή",
|
"show_supporter_badge_description": "Εμφάνιση σήματος υποστηρικτή",
|
||||||
|
"show_text_search_menu": "Εμφάνιση μενού αναζήτησης κειμένου",
|
||||||
"shuffle": "Ανάμειξη",
|
"shuffle": "Ανάμειξη",
|
||||||
"sidebar": "Πλαϊνή μπάρα",
|
"sidebar": "Πλαϊνή μπάρα",
|
||||||
"sidebar_display_description": "Εμφάνιση συνδέσμου για προβολή στην πλαϊνή μπάρα",
|
"sidebar_display_description": "Εμφάνιση συνδέσμου για προβολή στην πλαϊνή μπάρα",
|
||||||
@@ -1883,6 +1928,7 @@
|
|||||||
"stacktrace": "Καταγραφή στοίβας",
|
"stacktrace": "Καταγραφή στοίβας",
|
||||||
"start": "Έναρξη",
|
"start": "Έναρξη",
|
||||||
"start_date": "Από",
|
"start_date": "Από",
|
||||||
|
"start_date_before_end_date": "Η ημερομηνία έναρξης πρέπει να είναι πριν από την ημερομηνία λήξης",
|
||||||
"state": "Νομός",
|
"state": "Νομός",
|
||||||
"status": "Κατάσταση",
|
"status": "Κατάσταση",
|
||||||
"stop_casting": "Διακοπή μετάδοσης",
|
"stop_casting": "Διακοπή μετάδοσης",
|
||||||
@@ -1907,6 +1953,8 @@
|
|||||||
"sync_albums_manual_subtitle": "Συγχρονίστε όλα τα μεταφορτωμένα βίντεο και φωτογραφίες με τα επιλεγμένα εφεδρικά άλμπουμ",
|
"sync_albums_manual_subtitle": "Συγχρονίστε όλα τα μεταφορτωμένα βίντεο και φωτογραφίες με τα επιλεγμένα εφεδρικά άλμπουμ",
|
||||||
"sync_local": "Τοπικός Συγχρονισμός",
|
"sync_local": "Τοπικός Συγχρονισμός",
|
||||||
"sync_remote": "Απομακρυσμένος Συγχρονισμός",
|
"sync_remote": "Απομακρυσμένος Συγχρονισμός",
|
||||||
|
"sync_status": "Κατάσταση συγχρονισμού",
|
||||||
|
"sync_status_subtitle": "Προβολή και διαχείριση του συστήματος συγχρονισμού",
|
||||||
"sync_upload_album_setting_subtitle": "Δημιουργήστε και ανεβάστε τις φωτογραφίες και τα βίντεό σας στα επιλεγμένα άλμπουμ στο Immich",
|
"sync_upload_album_setting_subtitle": "Δημιουργήστε και ανεβάστε τις φωτογραφίες και τα βίντεό σας στα επιλεγμένα άλμπουμ στο Immich",
|
||||||
"tag": "Ετικέτα",
|
"tag": "Ετικέτα",
|
||||||
"tag_assets": "Ετικετοποίηση στοιχείων",
|
"tag_assets": "Ετικετοποίηση στοιχείων",
|
||||||
@@ -1944,7 +1992,9 @@
|
|||||||
"to_change_password": "Αλλαγή κωδικού πρόσβασης",
|
"to_change_password": "Αλλαγή κωδικού πρόσβασης",
|
||||||
"to_favorite": "Αγαπημένο",
|
"to_favorite": "Αγαπημένο",
|
||||||
"to_login": "Είσοδος",
|
"to_login": "Είσοδος",
|
||||||
|
"to_multi_select": "για πολλαπλή επιλογή",
|
||||||
"to_parent": "Μεταβείτε στο γονικό φάκελο",
|
"to_parent": "Μεταβείτε στο γονικό φάκελο",
|
||||||
|
"to_select": "για επιλογή",
|
||||||
"to_trash": "Κάδος απορριμμάτων",
|
"to_trash": "Κάδος απορριμμάτων",
|
||||||
"toggle_settings": "Εναλλαγή ρυθμίσεων",
|
"toggle_settings": "Εναλλαγή ρυθμίσεων",
|
||||||
"total": "Σύνολο",
|
"total": "Σύνολο",
|
||||||
@@ -1964,6 +2014,7 @@
|
|||||||
"trash_page_select_assets_btn": "Επιλέξτε στοιχεία",
|
"trash_page_select_assets_btn": "Επιλέξτε στοιχεία",
|
||||||
"trash_page_title": "Κάδος Απορριμμάτων ({count})",
|
"trash_page_title": "Κάδος Απορριμμάτων ({count})",
|
||||||
"trashed_items_will_be_permanently_deleted_after": "Τα στοιχεία που βρίσκονται στον κάδο απορριμμάτων θα διαγραφούν οριστικά μετά από {days, plural, one {# ημέρα} other {# ημέρες}}.",
|
"trashed_items_will_be_permanently_deleted_after": "Τα στοιχεία που βρίσκονται στον κάδο απορριμμάτων θα διαγραφούν οριστικά μετά από {days, plural, one {# ημέρα} other {# ημέρες}}.",
|
||||||
|
"troubleshoot": "Επίλυση προβλημάτων",
|
||||||
"type": "Τύπος",
|
"type": "Τύπος",
|
||||||
"unable_to_change_pin_code": "Αδυναμία αλλαγής κωδικού PIN",
|
"unable_to_change_pin_code": "Αδυναμία αλλαγής κωδικού PIN",
|
||||||
"unable_to_setup_pin_code": "Αδυναμία ρύθμισης κωδικού PIN",
|
"unable_to_setup_pin_code": "Αδυναμία ρύθμισης κωδικού PIN",
|
||||||
@@ -1994,6 +2045,7 @@
|
|||||||
"unstacked_assets_count": "Αποστοιβάξατε {count, plural, one {# στοιχείο} other {# στοιχεία}}",
|
"unstacked_assets_count": "Αποστοιβάξατε {count, plural, one {# στοιχείο} other {# στοιχεία}}",
|
||||||
"untagged": "Χωρίς ετικέτα",
|
"untagged": "Χωρίς ετικέτα",
|
||||||
"up_next": "Ακολουθεί",
|
"up_next": "Ακολουθεί",
|
||||||
|
"update_location_action_prompt": "Ενημέρωση τοποθεσίας για {count} επιλεγμένα στοιχεία με:",
|
||||||
"updated_at": "Ενημερωμένο",
|
"updated_at": "Ενημερωμένο",
|
||||||
"updated_password": "Ο κωδικός πρόσβασης ενημερώθηκε",
|
"updated_password": "Ο κωδικός πρόσβασης ενημερώθηκε",
|
||||||
"upload": "Μεταφόρτωση",
|
"upload": "Μεταφόρτωση",
|
||||||
@@ -2060,6 +2112,7 @@
|
|||||||
"view_next_asset": "Προβολή επόμενου στοιχείου",
|
"view_next_asset": "Προβολή επόμενου στοιχείου",
|
||||||
"view_previous_asset": "Προβολή προηγούμενου στοιχείου",
|
"view_previous_asset": "Προβολή προηγούμενου στοιχείου",
|
||||||
"view_qr_code": "Προβολή κωδικού QR",
|
"view_qr_code": "Προβολή κωδικού QR",
|
||||||
|
"view_similar_photos": "Προβολή παρόμοιων φωτογραφιών",
|
||||||
"view_stack": "Προβολή της στοίβας",
|
"view_stack": "Προβολή της στοίβας",
|
||||||
"view_user": "Προβολή Χρήστη",
|
"view_user": "Προβολή Χρήστη",
|
||||||
"viewer_remove_from_stack": "Κατάργηση από τη Στοίβα",
|
"viewer_remove_from_stack": "Κατάργηση από τη Στοίβα",
|
||||||
@@ -2078,5 +2131,6 @@
|
|||||||
"yes": "Ναι",
|
"yes": "Ναι",
|
||||||
"you_dont_have_any_shared_links": "Δεν έχετε κοινόχρηστους συνδέσμους",
|
"you_dont_have_any_shared_links": "Δεν έχετε κοινόχρηστους συνδέσμους",
|
||||||
"your_wifi_name": "Το όνομα του Wi-Fi σας",
|
"your_wifi_name": "Το όνομα του Wi-Fi σας",
|
||||||
"zoom_image": "Ζουμ Εικόνας"
|
"zoom_image": "Ζουμ Εικόνας",
|
||||||
|
"zoom_to_bounds": "Εστίαση στα όρια"
|
||||||
}
|
}
|
||||||
|
|||||||
46
i18n/en.json
@@ -33,6 +33,7 @@
|
|||||||
"add_to_albums": "Add to albums",
|
"add_to_albums": "Add to albums",
|
||||||
"add_to_albums_count": "Add to albums ({count})",
|
"add_to_albums_count": "Add to albums ({count})",
|
||||||
"add_to_shared_album": "Add to shared album",
|
"add_to_shared_album": "Add to shared album",
|
||||||
|
"add_upload_to_stack": "Add upload to stack",
|
||||||
"add_url": "Add URL",
|
"add_url": "Add URL",
|
||||||
"added_to_archive": "Added to archive",
|
"added_to_archive": "Added to archive",
|
||||||
"added_to_favorites": "Added to favorites",
|
"added_to_favorites": "Added to favorites",
|
||||||
@@ -119,7 +120,7 @@
|
|||||||
"library_settings_description": "Manage external library settings",
|
"library_settings_description": "Manage external library settings",
|
||||||
"library_tasks_description": "Scan external libraries for new and/or changed assets",
|
"library_tasks_description": "Scan external libraries for new and/or changed assets",
|
||||||
"library_watching_enable_description": "Watch external libraries for file changes",
|
"library_watching_enable_description": "Watch external libraries for file changes",
|
||||||
"library_watching_settings": "Library watching (EXPERIMENTAL)",
|
"library_watching_settings": "Library watching [EXPERIMENTAL]",
|
||||||
"library_watching_settings_description": "Automatically watch for changed files",
|
"library_watching_settings_description": "Automatically watch for changed files",
|
||||||
"logging_enable_description": "Enable logging",
|
"logging_enable_description": "Enable logging",
|
||||||
"logging_level_description": "When enabled, what log level to use.",
|
"logging_level_description": "When enabled, what log level to use.",
|
||||||
@@ -210,6 +211,8 @@
|
|||||||
"notification_email_ignore_certificate_errors_description": "Ignore TLS certificate validation errors (not recommended)",
|
"notification_email_ignore_certificate_errors_description": "Ignore TLS certificate validation errors (not recommended)",
|
||||||
"notification_email_password_description": "Password to use when authenticating with the email server",
|
"notification_email_password_description": "Password to use when authenticating with the email server",
|
||||||
"notification_email_port_description": "Port of the email server (e.g 25, 465, or 587)",
|
"notification_email_port_description": "Port of the email server (e.g 25, 465, or 587)",
|
||||||
|
"notification_email_secure": "SMTPS",
|
||||||
|
"notification_email_secure_description": "Use SMTPS (SMTP over TLS)",
|
||||||
"notification_email_sent_test_email_button": "Send test email and save",
|
"notification_email_sent_test_email_button": "Send test email and save",
|
||||||
"notification_email_setting_description": "Settings for sending email notifications",
|
"notification_email_setting_description": "Settings for sending email notifications",
|
||||||
"notification_email_test_email": "Send test email",
|
"notification_email_test_email": "Send test email",
|
||||||
@@ -332,7 +335,7 @@
|
|||||||
"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.",
|
||||||
"transcoding_max_bitrate": "Maximum bitrate",
|
"transcoding_max_bitrate": "Maximum bitrate",
|
||||||
"transcoding_max_bitrate_description": "Setting a max bitrate can make file sizes more predictable at a minor cost to quality. At 720p, typical values are 2600 kbit/s for VP9 or HEVC, or 4500 kbit/s for H.264. Disabled if set to 0.",
|
"transcoding_max_bitrate_description": "Setting a max bitrate can make file sizes more predictable at a minor cost to quality. At 720p, typical values are 2600 kbit/s for VP9 or HEVC, or 4500 kbit/s for H.264. Disabled if set to 0. When no unit is specified, k (for kbit/s) is assumed; therefore 5000, 5000k, and 5M (for Mbit/s) are equivalent.",
|
||||||
"transcoding_max_keyframe_interval": "Maximum keyframe interval",
|
"transcoding_max_keyframe_interval": "Maximum keyframe interval",
|
||||||
"transcoding_max_keyframe_interval_description": "Sets the maximum frame distance between keyframes. Lower values worsen compression efficiency, but improve seek times and may improve quality in scenes with fast movement. 0 sets this value automatically.",
|
"transcoding_max_keyframe_interval_description": "Sets the maximum frame distance between keyframes. Lower values worsen compression efficiency, but improve seek times and may improve quality in scenes with fast movement. 0 sets this value automatically.",
|
||||||
"transcoding_optimal_description": "Videos higher than target resolution or not in an accepted format",
|
"transcoding_optimal_description": "Videos higher than target resolution or not in an accepted format",
|
||||||
@@ -350,7 +353,7 @@
|
|||||||
"transcoding_target_resolution": "Target resolution",
|
"transcoding_target_resolution": "Target resolution",
|
||||||
"transcoding_target_resolution_description": "Higher resolutions can preserve more detail but take longer to encode, have larger file sizes, and can reduce app responsiveness.",
|
"transcoding_target_resolution_description": "Higher resolutions can preserve more detail but take longer to encode, have larger file sizes, and can reduce app responsiveness.",
|
||||||
"transcoding_temporal_aq": "Temporal AQ",
|
"transcoding_temporal_aq": "Temporal AQ",
|
||||||
"transcoding_temporal_aq_description": "Applies only to NVENC. Increases quality of high-detail, low-motion scenes. May not be compatible with older devices.",
|
"transcoding_temporal_aq_description": "Applies only to NVENC. Temporal Adaptive Quantization increases quality of high-detail, low-motion scenes. May not be compatible with older devices.",
|
||||||
"transcoding_threads": "Threads",
|
"transcoding_threads": "Threads",
|
||||||
"transcoding_threads_description": "Higher values lead to faster encoding, but leave less room for the server to process other tasks while active. This value should not be more than the number of CPU cores. Maximizes utilization if set to 0.",
|
"transcoding_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",
|
||||||
@@ -401,11 +404,11 @@
|
|||||||
"advanced_settings_prefer_remote_subtitle": "Some devices are painfully slow to load thumbnails from local assets. Activate this setting to load remote images instead.",
|
"advanced_settings_prefer_remote_subtitle": "Some devices are painfully slow to load thumbnails from local assets. Activate this setting to load remote images instead.",
|
||||||
"advanced_settings_prefer_remote_title": "Prefer remote images",
|
"advanced_settings_prefer_remote_title": "Prefer remote images",
|
||||||
"advanced_settings_proxy_headers_subtitle": "Define proxy headers Immich should send with each network request",
|
"advanced_settings_proxy_headers_subtitle": "Define proxy headers Immich should send with each network request",
|
||||||
"advanced_settings_proxy_headers_title": "Proxy Headers",
|
"advanced_settings_proxy_headers_title": "Custom proxy headers [EXPERIMENTAL]",
|
||||||
"advanced_settings_readonly_mode_subtitle": "Enables the read-only mode where the photos can be only viewed, things like selecting multiple images, sharing, casting, delete are all disabled. Enable/Disable read-only via user avatar from the main screen",
|
"advanced_settings_readonly_mode_subtitle": "Enables the read-only mode where the photos can be only viewed, things like selecting multiple images, sharing, casting, delete are all disabled. Enable/Disable read-only via user avatar from the main screen",
|
||||||
"advanced_settings_readonly_mode_title": "Read-only Mode",
|
"advanced_settings_readonly_mode_title": "Read-only mode",
|
||||||
"advanced_settings_self_signed_ssl_subtitle": "Skips SSL certificate verification for the server endpoint. Required for self-signed certificates.",
|
"advanced_settings_self_signed_ssl_subtitle": "Skips SSL certificate verification for the server endpoint. Required for self-signed certificates.",
|
||||||
"advanced_settings_self_signed_ssl_title": "Allow self-signed SSL certificates",
|
"advanced_settings_self_signed_ssl_title": "Allow self-signed SSL certificates [EXPERIMENTAL]",
|
||||||
"advanced_settings_sync_remote_deletions_subtitle": "Automatically delete or restore an asset on this device when that action is taken on the web",
|
"advanced_settings_sync_remote_deletions_subtitle": "Automatically delete or restore an asset on this device when that action is taken on the web",
|
||||||
"advanced_settings_sync_remote_deletions_title": "Sync remote deletions [EXPERIMENTAL]",
|
"advanced_settings_sync_remote_deletions_title": "Sync remote deletions [EXPERIMENTAL]",
|
||||||
"advanced_settings_tile_subtitle": "Advanced user's settings",
|
"advanced_settings_tile_subtitle": "Advanced user's settings",
|
||||||
@@ -465,10 +468,14 @@
|
|||||||
"api_key_description": "This value will only be shown once. Please be sure to copy it before closing the window.",
|
"api_key_description": "This value will only be shown once. Please be sure to copy it before closing the window.",
|
||||||
"api_key_empty": "Your API Key name shouldn't be empty",
|
"api_key_empty": "Your API Key name shouldn't be empty",
|
||||||
"api_keys": "API Keys",
|
"api_keys": "API Keys",
|
||||||
|
"app_architecture_variant": "Variant (Architecture)",
|
||||||
"app_bar_signout_dialog_content": "Are you sure you want to sign out?",
|
"app_bar_signout_dialog_content": "Are you sure you want to sign out?",
|
||||||
"app_bar_signout_dialog_ok": "Yes",
|
"app_bar_signout_dialog_ok": "Yes",
|
||||||
"app_bar_signout_dialog_title": "Sign out",
|
"app_bar_signout_dialog_title": "Sign out",
|
||||||
|
"app_download_links": "App Download Links",
|
||||||
"app_settings": "App Settings",
|
"app_settings": "App Settings",
|
||||||
|
"app_stores": "App Stores",
|
||||||
|
"app_update_available": "App update is available",
|
||||||
"appears_in": "Appears in",
|
"appears_in": "Appears in",
|
||||||
"apply_count": "Apply ({count, number})",
|
"apply_count": "Apply ({count, number})",
|
||||||
"archive": "Archive",
|
"archive": "Archive",
|
||||||
@@ -552,6 +559,7 @@
|
|||||||
"backup_albums_sync": "Backup albums synchronization",
|
"backup_albums_sync": "Backup albums synchronization",
|
||||||
"backup_all": "All",
|
"backup_all": "All",
|
||||||
"backup_background_service_backup_failed_message": "Failed to backup assets. Retrying…",
|
"backup_background_service_backup_failed_message": "Failed to backup assets. Retrying…",
|
||||||
|
"backup_background_service_complete_notification": "Asset backup complete",
|
||||||
"backup_background_service_connection_failed_message": "Failed to connect to the server. Retrying…",
|
"backup_background_service_connection_failed_message": "Failed to connect to the server. Retrying…",
|
||||||
"backup_background_service_current_upload_notification": "Uploading {filename}",
|
"backup_background_service_current_upload_notification": "Uploading {filename}",
|
||||||
"backup_background_service_default_notification": "Checking for new assets…",
|
"backup_background_service_default_notification": "Checking for new assets…",
|
||||||
@@ -599,6 +607,7 @@
|
|||||||
"backup_controller_page_turn_on": "Turn on foreground backup",
|
"backup_controller_page_turn_on": "Turn on foreground backup",
|
||||||
"backup_controller_page_uploading_file_info": "Uploading file info",
|
"backup_controller_page_uploading_file_info": "Uploading file info",
|
||||||
"backup_err_only_album": "Cannot remove the only album",
|
"backup_err_only_album": "Cannot remove the only album",
|
||||||
|
"backup_error_sync_failed": "Sync failed. Cannot process backup.",
|
||||||
"backup_info_card_assets": "assets",
|
"backup_info_card_assets": "assets",
|
||||||
"backup_manual_cancelled": "Cancelled",
|
"backup_manual_cancelled": "Cancelled",
|
||||||
"backup_manual_in_progress": "Upload already in progress. Try after sometime",
|
"backup_manual_in_progress": "Upload already in progress. Try after sometime",
|
||||||
@@ -686,8 +695,8 @@
|
|||||||
"client_cert_import_success_msg": "Client certificate is imported",
|
"client_cert_import_success_msg": "Client certificate is imported",
|
||||||
"client_cert_invalid_msg": "Invalid certificate file or wrong password",
|
"client_cert_invalid_msg": "Invalid certificate file or wrong password",
|
||||||
"client_cert_remove_msg": "Client certificate is removed",
|
"client_cert_remove_msg": "Client certificate is removed",
|
||||||
"client_cert_subtitle": "Supports PKCS12 (.p12, .pfx) format only. Certificate Import/Remove is available only before login",
|
"client_cert_subtitle": "Supports PKCS12 (.p12, .pfx) format only. Certificate import/removal is available only before login",
|
||||||
"client_cert_title": "SSL Client Certificate",
|
"client_cert_title": "SSL client certificate [EXPERIMENTAL]",
|
||||||
"clockwise": "Сlockwise",
|
"clockwise": "Сlockwise",
|
||||||
"close": "Close",
|
"close": "Close",
|
||||||
"collapse": "Collapse",
|
"collapse": "Collapse",
|
||||||
@@ -699,7 +708,6 @@
|
|||||||
"comments_and_likes": "Comments & likes",
|
"comments_and_likes": "Comments & likes",
|
||||||
"comments_are_disabled": "Comments are disabled",
|
"comments_are_disabled": "Comments are disabled",
|
||||||
"common_create_new_album": "Create new album",
|
"common_create_new_album": "Create new album",
|
||||||
"common_server_error": "Please check your network connection, make sure the server is reachable and app/server versions are compatible.",
|
|
||||||
"completed": "Completed",
|
"completed": "Completed",
|
||||||
"confirm": "Confirm",
|
"confirm": "Confirm",
|
||||||
"confirm_admin_password": "Confirm Admin Password",
|
"confirm_admin_password": "Confirm Admin Password",
|
||||||
@@ -738,6 +746,7 @@
|
|||||||
"create": "Create",
|
"create": "Create",
|
||||||
"create_album": "Create album",
|
"create_album": "Create album",
|
||||||
"create_album_page_untitled": "Untitled",
|
"create_album_page_untitled": "Untitled",
|
||||||
|
"create_api_key": "Create API key",
|
||||||
"create_library": "Create Library",
|
"create_library": "Create Library",
|
||||||
"create_link": "Create link",
|
"create_link": "Create link",
|
||||||
"create_link_to_share": "Create link to share",
|
"create_link_to_share": "Create link to share",
|
||||||
@@ -1037,6 +1046,7 @@
|
|||||||
"exif_bottom_sheet_description_error": "Error updating description",
|
"exif_bottom_sheet_description_error": "Error updating description",
|
||||||
"exif_bottom_sheet_details": "DETAILS",
|
"exif_bottom_sheet_details": "DETAILS",
|
||||||
"exif_bottom_sheet_location": "LOCATION",
|
"exif_bottom_sheet_location": "LOCATION",
|
||||||
|
"exif_bottom_sheet_no_description": "No description",
|
||||||
"exif_bottom_sheet_people": "PEOPLE",
|
"exif_bottom_sheet_people": "PEOPLE",
|
||||||
"exif_bottom_sheet_person_add_person": "Add name",
|
"exif_bottom_sheet_person_add_person": "Add name",
|
||||||
"exit_slideshow": "Exit Slideshow",
|
"exit_slideshow": "Exit Slideshow",
|
||||||
@@ -1114,11 +1124,10 @@
|
|||||||
"hash_asset": "Hash asset",
|
"hash_asset": "Hash asset",
|
||||||
"hashed_assets": "Hashed assets",
|
"hashed_assets": "Hashed assets",
|
||||||
"hashing": "Hashing",
|
"hashing": "Hashing",
|
||||||
"header_settings_add_header_tip": "Add Header",
|
"header_settings_add_header_tip": "Add header",
|
||||||
"header_settings_field_validator_msg": "Value cannot be empty",
|
"header_settings_field_validator_msg": "Value cannot be empty",
|
||||||
"header_settings_header_name_input": "Header name",
|
"header_settings_header_name_input": "Header name",
|
||||||
"header_settings_header_value_input": "Header value",
|
"header_settings_header_value_input": "Header value",
|
||||||
"headers_settings_tile_subtitle": "Define proxy headers the app should send with each network request",
|
|
||||||
"headers_settings_tile_title": "Custom proxy headers",
|
"headers_settings_tile_title": "Custom proxy headers",
|
||||||
"hi_user": "Hi {name} ({email})",
|
"hi_user": "Hi {name} ({email})",
|
||||||
"hide_all_people": "Hide all people",
|
"hide_all_people": "Hide all people",
|
||||||
@@ -1343,6 +1352,8 @@
|
|||||||
"minute": "Minute",
|
"minute": "Minute",
|
||||||
"minutes": "Minutes",
|
"minutes": "Minutes",
|
||||||
"missing": "Missing",
|
"missing": "Missing",
|
||||||
|
"mobile_app": "Mobile App",
|
||||||
|
"mobile_app_download_onboarding_note": "Download the companion mobile app using the following options",
|
||||||
"model": "Model",
|
"model": "Model",
|
||||||
"month": "Month",
|
"month": "Month",
|
||||||
"monthly_title_text_date_format": "MMMM y",
|
"monthly_title_text_date_format": "MMMM y",
|
||||||
@@ -1361,6 +1372,8 @@
|
|||||||
"my_albums": "My albums",
|
"my_albums": "My albums",
|
||||||
"name": "Name",
|
"name": "Name",
|
||||||
"name_or_nickname": "Name or nickname",
|
"name_or_nickname": "Name or nickname",
|
||||||
|
"navigate": "Navigate",
|
||||||
|
"navigate_to_time": "Navigate to Time",
|
||||||
"network_requirement_photos_upload": "Use cellular data to backup photos",
|
"network_requirement_photos_upload": "Use cellular data to backup photos",
|
||||||
"network_requirement_videos_upload": "Use cellular data to backup videos",
|
"network_requirement_videos_upload": "Use cellular data to backup videos",
|
||||||
"network_requirements": "Network Requirements",
|
"network_requirements": "Network Requirements",
|
||||||
@@ -1370,6 +1383,7 @@
|
|||||||
"never": "Never",
|
"never": "Never",
|
||||||
"new_album": "New Album",
|
"new_album": "New Album",
|
||||||
"new_api_key": "New API Key",
|
"new_api_key": "New API Key",
|
||||||
|
"new_date_range": "New date range",
|
||||||
"new_password": "New password",
|
"new_password": "New password",
|
||||||
"new_person": "New person",
|
"new_person": "New person",
|
||||||
"new_pin_code": "New PIN code",
|
"new_pin_code": "New PIN code",
|
||||||
@@ -1420,6 +1434,8 @@
|
|||||||
"notifications": "Notifications",
|
"notifications": "Notifications",
|
||||||
"notifications_setting_description": "Manage notifications",
|
"notifications_setting_description": "Manage notifications",
|
||||||
"oauth": "OAuth",
|
"oauth": "OAuth",
|
||||||
|
"obtainium_configurator": "Obtainium Configurator",
|
||||||
|
"obtainium_configurator_instructions": "Use Obtainium to install and update the Android app directly from Immich GitHub's release. Create an API key and select a variant to create your Obtainium configuration link",
|
||||||
"official_immich_resources": "Official Immich Resources",
|
"official_immich_resources": "Official Immich Resources",
|
||||||
"offline": "Offline",
|
"offline": "Offline",
|
||||||
"offset": "Offset",
|
"offset": "Offset",
|
||||||
@@ -1541,13 +1557,9 @@
|
|||||||
"privacy": "Privacy",
|
"privacy": "Privacy",
|
||||||
"profile": "Profile",
|
"profile": "Profile",
|
||||||
"profile_drawer_app_logs": "Logs",
|
"profile_drawer_app_logs": "Logs",
|
||||||
"profile_drawer_client_out_of_date_major": "Mobile App is out of date. Please update to the latest major version.",
|
|
||||||
"profile_drawer_client_out_of_date_minor": "Mobile App is out of date. Please update to the latest minor version.",
|
|
||||||
"profile_drawer_client_server_up_to_date": "Client and Server are up-to-date",
|
"profile_drawer_client_server_up_to_date": "Client and Server are up-to-date",
|
||||||
"profile_drawer_github": "GitHub",
|
"profile_drawer_github": "GitHub",
|
||||||
"profile_drawer_readonly_mode": "Read-only mode enabled. Long-press the user avatar icon to exit.",
|
"profile_drawer_readonly_mode": "Read-only mode enabled. Long-press the user avatar icon to exit.",
|
||||||
"profile_drawer_server_out_of_date_major": "Server is out of date. Please update to the latest major version.",
|
|
||||||
"profile_drawer_server_out_of_date_minor": "Server is out of date. Please update to the latest minor version.",
|
|
||||||
"profile_image_of_user": "Profile image of {user}",
|
"profile_image_of_user": "Profile image of {user}",
|
||||||
"profile_picture_set": "Profile picture set.",
|
"profile_picture_set": "Profile picture set.",
|
||||||
"public_album": "Public album",
|
"public_album": "Public album",
|
||||||
@@ -1776,6 +1788,7 @@
|
|||||||
"server_online": "Server Online",
|
"server_online": "Server Online",
|
||||||
"server_privacy": "Server Privacy",
|
"server_privacy": "Server Privacy",
|
||||||
"server_stats": "Server Stats",
|
"server_stats": "Server Stats",
|
||||||
|
"server_update_available": "Server update is available",
|
||||||
"server_version": "Server Version",
|
"server_version": "Server Version",
|
||||||
"set": "Set",
|
"set": "Set",
|
||||||
"set_as_album_cover": "Set as album cover",
|
"set_as_album_cover": "Set as album cover",
|
||||||
@@ -1804,6 +1817,8 @@
|
|||||||
"setting_notifications_subtitle": "Adjust your notification preferences",
|
"setting_notifications_subtitle": "Adjust your notification preferences",
|
||||||
"setting_notifications_total_progress_subtitle": "Overall upload progress (done/total assets)",
|
"setting_notifications_total_progress_subtitle": "Overall upload progress (done/total assets)",
|
||||||
"setting_notifications_total_progress_title": "Show background backup total progress",
|
"setting_notifications_total_progress_title": "Show background backup total progress",
|
||||||
|
"setting_video_viewer_auto_play_subtitle": "Automatically start playing videos when they are opened",
|
||||||
|
"setting_video_viewer_auto_play_title": "Auto play videos",
|
||||||
"setting_video_viewer_looping_title": "Looping",
|
"setting_video_viewer_looping_title": "Looping",
|
||||||
"setting_video_viewer_original_video_subtitle": "When streaming a video from the server, play the original even when a transcode is available. May lead to buffering. Videos available locally are played in original quality regardless of this setting.",
|
"setting_video_viewer_original_video_subtitle": "When streaming a video from the server, play the original even when a transcode is available. May lead to buffering. Videos available locally are played in original quality regardless of this setting.",
|
||||||
"setting_video_viewer_original_video_title": "Force original video",
|
"setting_video_viewer_original_video_title": "Force original video",
|
||||||
@@ -2015,6 +2030,7 @@
|
|||||||
"troubleshoot": "Troubleshoot",
|
"troubleshoot": "Troubleshoot",
|
||||||
"type": "Type",
|
"type": "Type",
|
||||||
"unable_to_change_pin_code": "Unable to change PIN code",
|
"unable_to_change_pin_code": "Unable to change PIN code",
|
||||||
|
"unable_to_check_version": "Unable to check app or server version",
|
||||||
"unable_to_setup_pin_code": "Unable to setup PIN code",
|
"unable_to_setup_pin_code": "Unable to setup PIN code",
|
||||||
"unarchive": "Unarchive",
|
"unarchive": "Unarchive",
|
||||||
"unarchive_action_prompt": "{count} removed from Archive",
|
"unarchive_action_prompt": "{count} removed from Archive",
|
||||||
|
|||||||
@@ -28,10 +28,12 @@
|
|||||||
"add_to_album": "Incluir en álbum",
|
"add_to_album": "Incluir en álbum",
|
||||||
"add_to_album_bottom_sheet_added": "Agregado a {album}",
|
"add_to_album_bottom_sheet_added": "Agregado a {album}",
|
||||||
"add_to_album_bottom_sheet_already_exists": "Ya se encuentra en {album}",
|
"add_to_album_bottom_sheet_already_exists": "Ya se encuentra en {album}",
|
||||||
|
"add_to_album_bottom_sheet_some_local_assets": "Algunos recursos locales no se pudieron añadir al álbum",
|
||||||
"add_to_album_toggle": "Alternar selección para el {album}",
|
"add_to_album_toggle": "Alternar selección para el {album}",
|
||||||
"add_to_albums": "Incluir en álbumes",
|
"add_to_albums": "Incluir en álbumes",
|
||||||
"add_to_albums_count": "Incluir en {count} álbumes",
|
"add_to_albums_count": "Incluir en {count} álbumes",
|
||||||
"add_to_shared_album": "Incluir en álbum compartido",
|
"add_to_shared_album": "Incluir en álbum compartido",
|
||||||
|
"add_upload_to_stack": "Añadir archivo y apilar",
|
||||||
"add_url": "Agregar URL",
|
"add_url": "Agregar URL",
|
||||||
"added_to_archive": "Agregado al Archivado",
|
"added_to_archive": "Agregado al Archivado",
|
||||||
"added_to_favorites": "Agregado a favoritos",
|
"added_to_favorites": "Agregado a favoritos",
|
||||||
@@ -598,6 +600,7 @@
|
|||||||
"backup_controller_page_turn_on": "Activar la copia de seguridad",
|
"backup_controller_page_turn_on": "Activar la copia de seguridad",
|
||||||
"backup_controller_page_uploading_file_info": "Subiendo información del archivo",
|
"backup_controller_page_uploading_file_info": "Subiendo información del archivo",
|
||||||
"backup_err_only_album": "No se puede eliminar el único álbum",
|
"backup_err_only_album": "No se puede eliminar el único álbum",
|
||||||
|
"backup_error_sync_failed": "La sincronización falló. No es posible procesar la copia de seguridad.",
|
||||||
"backup_info_card_assets": "elementos",
|
"backup_info_card_assets": "elementos",
|
||||||
"backup_manual_cancelled": "Cancelado",
|
"backup_manual_cancelled": "Cancelado",
|
||||||
"backup_manual_in_progress": "Subida ya en progreso. Vuelve a intentarlo más tarde",
|
"backup_manual_in_progress": "Subida ya en progreso. Vuelve a intentarlo más tarde",
|
||||||
@@ -1087,7 +1090,7 @@
|
|||||||
"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",
|
||||||
"forgot_pin_code_question": "¿Olvidaste tu código PIN?",
|
"forgot_pin_code_question": "¿Olvidaste tu código PIN?",
|
||||||
"forward": "Reenviar",
|
"forward": "Avanzar",
|
||||||
"gcast_enabled": "Google Cast",
|
"gcast_enabled": "Google Cast",
|
||||||
"gcast_enabled_description": "Esta funcionalidad carga recursos externos desde Google para poder funcionar.",
|
"gcast_enabled_description": "Esta funcionalidad carga recursos externos desde Google para poder funcionar.",
|
||||||
"general": "General",
|
"general": "General",
|
||||||
@@ -1904,7 +1907,7 @@
|
|||||||
"skip_to_content": "Saltar al contenido",
|
"skip_to_content": "Saltar al contenido",
|
||||||
"skip_to_folders": "Ir a las carpetas",
|
"skip_to_folders": "Ir a las carpetas",
|
||||||
"skip_to_tags": "Ir a las etiquetas",
|
"skip_to_tags": "Ir a las etiquetas",
|
||||||
"slideshow": "Diapositivas",
|
"slideshow": "Pase de diapositivas",
|
||||||
"slideshow_settings": "Ajustes de diapositivas",
|
"slideshow_settings": "Ajustes de diapositivas",
|
||||||
"sort_albums_by": "Ordenar álbumes por…",
|
"sort_albums_by": "Ordenar álbumes por…",
|
||||||
"sort_created": "Fecha de creación",
|
"sort_created": "Fecha de creación",
|
||||||
|
|||||||
12
i18n/et.json
@@ -28,10 +28,12 @@
|
|||||||
"add_to_album": "Lisa albumisse",
|
"add_to_album": "Lisa albumisse",
|
||||||
"add_to_album_bottom_sheet_added": "Lisatud albumisse {album}",
|
"add_to_album_bottom_sheet_added": "Lisatud albumisse {album}",
|
||||||
"add_to_album_bottom_sheet_already_exists": "On juba albumis {album}",
|
"add_to_album_bottom_sheet_already_exists": "On juba albumis {album}",
|
||||||
|
"add_to_album_bottom_sheet_some_local_assets": "Kõiki lokaalseid üksuseid ei õnnestunud albumisse lisada",
|
||||||
"add_to_album_toggle": "Muuda albumi {album} valikut",
|
"add_to_album_toggle": "Muuda albumi {album} valikut",
|
||||||
"add_to_albums": "Lisa albumitesse",
|
"add_to_albums": "Lisa albumitesse",
|
||||||
"add_to_albums_count": "Lisa albumitesse ({count})",
|
"add_to_albums_count": "Lisa albumitesse ({count})",
|
||||||
"add_to_shared_album": "Lisa jagatud albumisse",
|
"add_to_shared_album": "Lisa jagatud albumisse",
|
||||||
|
"add_upload_to_stack": "Virnasta üleslaaditud üksus",
|
||||||
"add_url": "Lisa URL",
|
"add_url": "Lisa URL",
|
||||||
"added_to_archive": "Lisatud arhiivi",
|
"added_to_archive": "Lisatud arhiivi",
|
||||||
"added_to_favorites": "Lisatud lemmikutesse",
|
"added_to_favorites": "Lisatud lemmikutesse",
|
||||||
@@ -598,6 +600,7 @@
|
|||||||
"backup_controller_page_turn_on": "Lülita esiplaanil varundus sisse",
|
"backup_controller_page_turn_on": "Lülita esiplaanil varundus sisse",
|
||||||
"backup_controller_page_uploading_file_info": "Faili info üleslaadimine",
|
"backup_controller_page_uploading_file_info": "Faili info üleslaadimine",
|
||||||
"backup_err_only_album": "Ei saa ainsat albumit eemaldada",
|
"backup_err_only_album": "Ei saa ainsat albumit eemaldada",
|
||||||
|
"backup_error_sync_failed": "Sünkroonimine ebaõnnestus. Varundust ei saa töödelda.",
|
||||||
"backup_info_card_assets": "üksused",
|
"backup_info_card_assets": "üksused",
|
||||||
"backup_manual_cancelled": "Tühistatud",
|
"backup_manual_cancelled": "Tühistatud",
|
||||||
"backup_manual_in_progress": "Üleslaadimine juba käib. Proovi hiljem uuesti",
|
"backup_manual_in_progress": "Üleslaadimine juba käib. Proovi hiljem uuesti",
|
||||||
@@ -1036,6 +1039,7 @@
|
|||||||
"exif_bottom_sheet_description_error": "Viga kirjelduse muutmisel",
|
"exif_bottom_sheet_description_error": "Viga kirjelduse muutmisel",
|
||||||
"exif_bottom_sheet_details": "ÜKSIKASJAD",
|
"exif_bottom_sheet_details": "ÜKSIKASJAD",
|
||||||
"exif_bottom_sheet_location": "ASUKOHT",
|
"exif_bottom_sheet_location": "ASUKOHT",
|
||||||
|
"exif_bottom_sheet_no_description": "Kirjeldus puudub",
|
||||||
"exif_bottom_sheet_people": "ISIKUD",
|
"exif_bottom_sheet_people": "ISIKUD",
|
||||||
"exif_bottom_sheet_person_add_person": "Lisa nimi",
|
"exif_bottom_sheet_person_add_person": "Lisa nimi",
|
||||||
"exit_slideshow": "Sulge slaidiesitlus",
|
"exit_slideshow": "Sulge slaidiesitlus",
|
||||||
@@ -1322,7 +1326,7 @@
|
|||||||
"marked_all_as_read": "Kõik märgiti loetuks",
|
"marked_all_as_read": "Kõik märgiti loetuks",
|
||||||
"matches": "Ühtivad failid",
|
"matches": "Ühtivad failid",
|
||||||
"matching_assets": "Ühtivad üksused",
|
"matching_assets": "Ühtivad üksused",
|
||||||
"media_type": "Meediumi tüüp",
|
"media_type": "Üksuse tüüp",
|
||||||
"memories": "Mälestused",
|
"memories": "Mälestused",
|
||||||
"memories_all_caught_up": "Ongi kõik",
|
"memories_all_caught_up": "Ongi kõik",
|
||||||
"memories_check_back_tomorrow": "Vaata homme juba uusi mälestusi",
|
"memories_check_back_tomorrow": "Vaata homme juba uusi mälestusi",
|
||||||
@@ -1405,6 +1409,7 @@
|
|||||||
"no_results_description": "Proovi sünonüümi või üldisemat märksõna",
|
"no_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",
|
||||||
"no_uploads_in_progress": "Üleslaadimisi käimas ei ole",
|
"no_uploads_in_progress": "Üleslaadimisi käimas ei ole",
|
||||||
|
"not_available": "Pole saadaval",
|
||||||
"not_in_any_album": "Pole üheski albumis",
|
"not_in_any_album": "Pole üheski albumis",
|
||||||
"not_selected": "Ei ole valitud",
|
"not_selected": "Ei ole valitud",
|
||||||
"note_apply_storage_label_to_previously_uploaded assets": "Märkus: Et rakendada talletussilt varem üleslaaditud üksustele, käivita",
|
"note_apply_storage_label_to_previously_uploaded assets": "Märkus: Et rakendada talletussilt varem üleslaaditud üksustele, käivita",
|
||||||
@@ -1582,6 +1587,7 @@
|
|||||||
"purchase_server_description_2": "Toetaja staatus",
|
"purchase_server_description_2": "Toetaja staatus",
|
||||||
"purchase_server_title": "Server",
|
"purchase_server_title": "Server",
|
||||||
"purchase_settings_server_activated": "Serveri tootevõtit haldab administraator",
|
"purchase_settings_server_activated": "Serveri tootevõtit haldab administraator",
|
||||||
|
"query_asset_id": "Päringu üksuse ID",
|
||||||
"queue_status": "Järjekorras {count}/{total}",
|
"queue_status": "Järjekorras {count}/{total}",
|
||||||
"rating": "Hinnang",
|
"rating": "Hinnang",
|
||||||
"rating_clear": "Tühjenda hinnang",
|
"rating_clear": "Tühjenda hinnang",
|
||||||
@@ -1709,8 +1715,8 @@
|
|||||||
"search_filter_filename": "Otsi failinime alusel",
|
"search_filter_filename": "Otsi failinime alusel",
|
||||||
"search_filter_location": "Asukoht",
|
"search_filter_location": "Asukoht",
|
||||||
"search_filter_location_title": "Vali asukoht",
|
"search_filter_location_title": "Vali asukoht",
|
||||||
"search_filter_media_type": "Meediumi tüüp",
|
"search_filter_media_type": "Üksuse tüüp",
|
||||||
"search_filter_media_type_title": "Vali meediumi tüüp",
|
"search_filter_media_type_title": "Vali üksuse tüüp",
|
||||||
"search_filter_people_title": "Vali isikud",
|
"search_filter_people_title": "Vali isikud",
|
||||||
"search_for": "Otsi",
|
"search_for": "Otsi",
|
||||||
"search_for_existing_person": "Otsi olemasolevat isikut",
|
"search_for_existing_person": "Otsi olemasolevat isikut",
|
||||||
|
|||||||
@@ -13,6 +13,7 @@
|
|||||||
"add_a_location": "افزودن یک مکان",
|
"add_a_location": "افزودن یک مکان",
|
||||||
"add_a_name": "افزودن نام",
|
"add_a_name": "افزودن نام",
|
||||||
"add_a_title": "افزودن عنوان",
|
"add_a_title": "افزودن عنوان",
|
||||||
|
"add_birthday": "افزودن تاریخ تولد",
|
||||||
"add_exclusion_pattern": "افزودن الگوی استثنا",
|
"add_exclusion_pattern": "افزودن الگوی استثنا",
|
||||||
"add_import_path": "افزودن مسیر ورودی",
|
"add_import_path": "افزودن مسیر ورودی",
|
||||||
"add_location": "افزودن مکان",
|
"add_location": "افزودن مکان",
|
||||||
@@ -22,10 +23,13 @@
|
|||||||
"add_photos": "افزودن عکس ها",
|
"add_photos": "افزودن عکس ها",
|
||||||
"add_to": "افزودن به …",
|
"add_to": "افزودن به …",
|
||||||
"add_to_album": "افزودن به آلبوم",
|
"add_to_album": "افزودن به آلبوم",
|
||||||
|
"add_to_album_bottom_sheet_added": "به آلبوم {album} اضافه شد",
|
||||||
|
"add_to_album_bottom_sheet_already_exists": "قبلا در آلبوم {album} موجود است",
|
||||||
|
"add_to_album_bottom_sheet_some_local_assets": "برخی از محتواهای محلی را نشد به آلبوم اضافه کرد",
|
||||||
"add_to_shared_album": "افزودن به آلبوم اشتراکی",
|
"add_to_shared_album": "افزودن به آلبوم اشتراکی",
|
||||||
"added_to_archive": "به آرشیو اضافه شد",
|
"added_to_archive": "به آرشیو اضافه شد",
|
||||||
"added_to_favorites": "به علاقه مندی ها اضافه شد",
|
"added_to_favorites": "به علاقه مندی ها اضافه شد",
|
||||||
"added_to_favorites_count": "{count} تا اضافه شد به علاقه مندی ها",
|
"added_to_favorites_count": "{count, number} تا به علاقه مندی ها اضافه شد",
|
||||||
"admin": {
|
"admin": {
|
||||||
"add_exclusion_pattern_description": "الگوهای استثنا را اضافه کنید. پشتیبانی از گلابینگ با استفاده از *, ** و ? وجود دارد. برای نادیده گرفتن تمام فایلها در هر دایرکتوری با نام \"Raw\"، از \"**/Raw/**\" استفاده کنید. برای نادیده گرفتن تمام فایلهایی که با \".tif\" پایان مییابند، از \"**/*.tif\" استفاده کنید. برای نادیده گرفتن یک مسیر مطلق، از \"/path/to/ignore/**\" استفاده کنید.",
|
"add_exclusion_pattern_description": "الگوهای استثنا را اضافه کنید. پشتیبانی از گلابینگ با استفاده از *, ** و ? وجود دارد. برای نادیده گرفتن تمام فایلها در هر دایرکتوری با نام \"Raw\"، از \"**/Raw/**\" استفاده کنید. برای نادیده گرفتن تمام فایلهایی که با \".tif\" پایان مییابند، از \"**/*.tif\" استفاده کنید. برای نادیده گرفتن یک مسیر مطلق، از \"/path/to/ignore/**\" استفاده کنید.",
|
||||||
"authentication_settings": "تنظیمات احراز هویت",
|
"authentication_settings": "تنظیمات احراز هویت",
|
||||||
|
|||||||
135
i18n/fi.json
@@ -28,6 +28,7 @@
|
|||||||
"add_to_album": "Lisää albumiin",
|
"add_to_album": "Lisää albumiin",
|
||||||
"add_to_album_bottom_sheet_added": "Lisätty albumiin {album}",
|
"add_to_album_bottom_sheet_added": "Lisätty albumiin {album}",
|
||||||
"add_to_album_bottom_sheet_already_exists": "Kohde on jo albumissa {album}",
|
"add_to_album_bottom_sheet_already_exists": "Kohde on jo albumissa {album}",
|
||||||
|
"add_to_album_bottom_sheet_some_local_assets": "Joitakin osia paikallisesta sisällöstä ei pystytty lisämään albumiin",
|
||||||
"add_to_album_toggle": "Vaihda albumin {album} valintaa",
|
"add_to_album_toggle": "Vaihda albumin {album} valintaa",
|
||||||
"add_to_albums": "Lisää albumeihin",
|
"add_to_albums": "Lisää albumeihin",
|
||||||
"add_to_albums_count": "Lisää albumeihin ({count})",
|
"add_to_albums_count": "Lisää albumeihin ({count})",
|
||||||
@@ -39,7 +40,7 @@
|
|||||||
"admin": {
|
"admin": {
|
||||||
"add_exclusion_pattern_description": "Lisää mallit, jonka mukaan jätetään tiedostoja pois. Jokerimerkit *, ** ja ? ovat tuettuna. Jättääksesi pois kaikki tiedostot mistä tahansa löytyvästä kansiosta \"Raw\" käytä \"**/Raw/**\". Jättääksesi pois kaikki \". tif\" päätteiset tiedot, käytä \"**/*.tif\". Jättääksesi pois tarkan tiedostopolun, käytä \"/path/to/ignore/**\".",
|
"add_exclusion_pattern_description": "Lisää mallit, jonka mukaan jätetään tiedostoja pois. Jokerimerkit *, ** ja ? ovat tuettuna. Jättääksesi pois kaikki tiedostot mistä tahansa löytyvästä kansiosta \"Raw\" käytä \"**/Raw/**\". Jättääksesi pois kaikki \". tif\" päätteiset tiedot, käytä \"**/*.tif\". Jättääksesi pois tarkan tiedostopolun, käytä \"/path/to/ignore/**\".",
|
||||||
"admin_user": "Ylläpitäjä",
|
"admin_user": "Ylläpitäjä",
|
||||||
"asset_offline_description": "Ulkoista kirjaston resurssia ei enää löydy levyltä, ja se on siirretty roskakoriin. Jos tiedosto siirrettiin kirjaston sisällä, tarkista aikajanaltasi uusi vastaava resurssi. Palautaaksesi tämän resurssin, varmista, että alla oleva tiedostopolku on Immichin käytettävissä ja skannaa kirjasto uudelleen.",
|
"asset_offline_description": "Ulkoista kirjaston resurssia ei enää löydy levyltä, ja se on siirretty roskakoriin. Jos tiedosto siirrettiin kirjaston sisällä, tarkista aikajanaltasi uusi vastaava resurssi. Palauttaaksesi tämän resurssin, varmista, että alla oleva tiedostopolku on Immichin käytettävissä ja skannaa kirjasto uudelleen.",
|
||||||
"authentication_settings": "Autentikointiasetukset",
|
"authentication_settings": "Autentikointiasetukset",
|
||||||
"authentication_settings_description": "Hallitse salasana-, OAuth- ja muut autentikoinnin asetukset",
|
"authentication_settings_description": "Hallitse salasana-, OAuth- ja muut autentikoinnin asetukset",
|
||||||
"authentication_settings_disable_all": "Haluatko varmasti poistaa kaikki kirjautumistavat käytöstä? Kirjautuminen on tämän jälkeen mahdotonta.",
|
"authentication_settings_disable_all": "Haluatko varmasti poistaa kaikki kirjautumistavat käytöstä? Kirjautuminen on tämän jälkeen mahdotonta.",
|
||||||
@@ -123,7 +124,13 @@
|
|||||||
"logging_enable_description": "Ota lokikirjaus käyttöön",
|
"logging_enable_description": "Ota lokikirjaus käyttöön",
|
||||||
"logging_level_description": "Kun käytössä, mitä lokituksen tasoa käytetään.",
|
"logging_level_description": "Kun käytössä, mitä lokituksen tasoa käytetään.",
|
||||||
"logging_settings": "Lokit",
|
"logging_settings": "Lokit",
|
||||||
"machine_learning_availability_checks": "Saatavyystarkastukset",
|
"machine_learning_availability_checks": "Saatavuustarkastukset",
|
||||||
|
"machine_learning_availability_checks_description": "Automaattisesti havaitse ja suosi vapaita koneoppimisen palvelimia",
|
||||||
|
"machine_learning_availability_checks_enabled": "Laita päälle saatavuus tarkistukset",
|
||||||
|
"machine_learning_availability_checks_interval": "Tarkastusväli",
|
||||||
|
"machine_learning_availability_checks_interval_description": "Aikaväli millisekunneissa saavutettavuus tarkistuksille",
|
||||||
|
"machine_learning_availability_checks_timeout": "Pyynnön aikakatkaisu",
|
||||||
|
"machine_learning_availability_checks_timeout_description": "Aikakatkaisu aika millisekunneissa saatavuus tarkistuksille",
|
||||||
"machine_learning_clip_model": "CLIP-malli",
|
"machine_learning_clip_model": "CLIP-malli",
|
||||||
"machine_learning_clip_model_description": "Käytettävän CLIP-mallin nimi <link>toimivien mallien listasta</link>. Huomaa että sinun täytyy suorittaa \"Älykäs etsintä\"-työ uudelleen vaihdettuasi käytettävää mallia.",
|
"machine_learning_clip_model_description": "Käytettävän CLIP-mallin nimi <link>toimivien mallien listasta</link>. Huomaa että sinun täytyy suorittaa \"Älykäs etsintä\"-työ uudelleen vaihdettuasi käytettävää mallia.",
|
||||||
"machine_learning_duplicate_detection": "Kaksoiskappaleiden tunnistus",
|
"machine_learning_duplicate_detection": "Kaksoiskappaleiden tunnistus",
|
||||||
@@ -143,7 +150,7 @@
|
|||||||
"machine_learning_max_recognition_distance": "Suurin kasvojen eroavaisuus",
|
"machine_learning_max_recognition_distance": "Suurin kasvojen eroavaisuus",
|
||||||
"machine_learning_max_recognition_distance_description": "Kahden kasvon suurin eroavaisuus, milloin ne vielä mielletään samaksi henkilöksi, välillä 0-2. Arvoa alentamalla voidaan ehkäistä kahden saman näköisen henkilön mieltäminen samaksi henkilöksi, kun taas korottamalla voidaan ehkäistä saman henkilön mieltäminen kahdeksi erilliseksi henkilöksi. Huomaa että on helpompaa yhdistää kaksi, kuin erottaa, joten suosi mahdollisimman matalaa arvoa.",
|
"machine_learning_max_recognition_distance_description": "Kahden kasvon suurin eroavaisuus, milloin ne vielä mielletään samaksi henkilöksi, välillä 0-2. Arvoa alentamalla voidaan ehkäistä kahden saman näköisen henkilön mieltäminen samaksi henkilöksi, kun taas korottamalla voidaan ehkäistä saman henkilön mieltäminen kahdeksi erilliseksi henkilöksi. Huomaa että on helpompaa yhdistää kaksi, kuin erottaa, joten suosi mahdollisimman matalaa arvoa.",
|
||||||
"machine_learning_min_detection_score": "Tunnistuksen vähimmäistulos",
|
"machine_learning_min_detection_score": "Tunnistuksen vähimmäistulos",
|
||||||
"machine_learning_min_detection_score_description": "Pienin kasvojen tunnistamisessa saatu vahvuusarvo välillä 0-1. Matalammalla arvolla havaitaan enemmän kascoja, mutta voi lisätä virhearvioiden määrää.",
|
"machine_learning_min_detection_score_description": "Pienin kasvojen tunnistamisessa saatu vahvuusarvo välillä 0-1. Matalammalla arvolla havaitaan enemmän kasvoja, mutta voi lisätä virhearvioiden määrää.",
|
||||||
"machine_learning_min_recognized_faces": "Tunnistettujen kasvojen vähimmäismäärä",
|
"machine_learning_min_recognized_faces": "Tunnistettujen kasvojen vähimmäismäärä",
|
||||||
"machine_learning_min_recognized_faces_description": "Luotavan käyttäjän kasvojen vähimmäismäärä. Arvoa nostamalla kasvojentunnistuksen tarkkuus paranee, mutta todennäköisyys sille, että kasvoja ei osata yhdistää henkilöön kasvaa.",
|
"machine_learning_min_recognized_faces_description": "Luotavan käyttäjän kasvojen vähimmäismäärä. Arvoa nostamalla kasvojentunnistuksen tarkkuus paranee, mutta todennäköisyys sille, että kasvoja ei osata yhdistää henkilöön kasvaa.",
|
||||||
"machine_learning_settings": "Koneoppimisen asetukset",
|
"machine_learning_settings": "Koneoppimisen asetukset",
|
||||||
@@ -177,7 +184,7 @@
|
|||||||
"metadata_settings": "Metatietoasetukset",
|
"metadata_settings": "Metatietoasetukset",
|
||||||
"metadata_settings_description": "Hallitse metatietoja",
|
"metadata_settings_description": "Hallitse metatietoja",
|
||||||
"migration_job": "Migraatio",
|
"migration_job": "Migraatio",
|
||||||
"migration_job_description": "Migroi aineiston pikkukuvat ja kasvot uusimpaan kansiorakenteeseen",
|
"migration_job_description": "Migratoi aineiston pikkukuvat ja kasvot uusimpaan kansiorakenteeseen",
|
||||||
"nightly_tasks_cluster_faces_setting_description": "Aja kasvojen tunnistus uusiin tunnistettuihin kasvoihin",
|
"nightly_tasks_cluster_faces_setting_description": "Aja kasvojen tunnistus uusiin tunnistettuihin kasvoihin",
|
||||||
"nightly_tasks_cluster_new_faces_setting": "Kokoa uudet kasvot",
|
"nightly_tasks_cluster_new_faces_setting": "Kokoa uudet kasvot",
|
||||||
"nightly_tasks_database_cleanup_setting": "Tietokannan puhdistuksen tehtävät",
|
"nightly_tasks_database_cleanup_setting": "Tietokannan puhdistuksen tehtävät",
|
||||||
@@ -197,7 +204,7 @@
|
|||||||
"note_apply_storage_label_previous_assets": "Huom: Asettaaksesi nimikkeen aiemmin ladatulle aineistolle, aja",
|
"note_apply_storage_label_previous_assets": "Huom: Asettaaksesi nimikkeen aiemmin ladatulle aineistolle, aja",
|
||||||
"note_cannot_be_changed_later": "Huom: Tätä ei voi enää myöhemmin vaihtaa!",
|
"note_cannot_be_changed_later": "Huom: Tätä ei voi enää myöhemmin vaihtaa!",
|
||||||
"notification_email_from_address": "Lähettäjän osoite",
|
"notification_email_from_address": "Lähettäjän osoite",
|
||||||
"notification_email_from_address_description": "Lähettäjän sähköpostiosoite. Esimerkiksi \"Immich-kuvapalvelin <noreply@example.com>\". Varmista, että käytetystä osoiteesta on lupa lähettää sähköposteja.",
|
"notification_email_from_address_description": "Lähettäjän sähköpostiosoite. Esimerkiksi \"Immich-kuvapalvelin <noreply@example.com>\". Varmista, että käytetystä osoitteesta on lupa lähettää sähköposteja.",
|
||||||
"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 varmennevirheitä",
|
"notification_email_ignore_certificate_errors": "Älä huomioi varmennevirheitä",
|
||||||
"notification_email_ignore_certificate_errors_description": "Älä huomioi TLS-varmenteiden validointivirheitä (ei suositeltu)",
|
"notification_email_ignore_certificate_errors_description": "Älä huomioi TLS-varmenteiden validointivirheitä (ei suositeltu)",
|
||||||
@@ -219,9 +226,9 @@
|
|||||||
"oauth_button_text": "Painikkeen teksti",
|
"oauth_button_text": "Painikkeen teksti",
|
||||||
"oauth_client_secret_description": "Vaaditaan, jos OAuth-palveluntarjoaja ei tue PKCE:tä (Proof Key for Code Exchange)",
|
"oauth_client_secret_description": "Vaaditaan, jos OAuth-palveluntarjoaja ei tue PKCE:tä (Proof Key for Code Exchange)",
|
||||||
"oauth_enable_description": "Kirjaudu käyttäen OAuthia",
|
"oauth_enable_description": "Kirjaudu käyttäen OAuthia",
|
||||||
"oauth_mobile_redirect_uri": "Mobiilin uudellenohjaus-URI",
|
"oauth_mobile_redirect_uri": "Mobiilin uudelleenohjaus-URI",
|
||||||
"oauth_mobile_redirect_uri_override": "Ohita mobiilin uudelleenohjaus-URI",
|
"oauth_mobile_redirect_uri_override": "Ohita mobiilin uudelleenohjaus-URI",
|
||||||
"oauth_mobile_redirect_uri_override_description": "Ota käyttöön kun OAuth tarjoaja ei salli mobiili URI:a, kuten ''{callback}''",
|
"oauth_mobile_redirect_uri_override_description": "Ota käyttöön kun OAuth-tarjoaja ei salli mobiili-URI:a, kuten ''{callback}''",
|
||||||
"oauth_role_claim": "Roolin vaatimus",
|
"oauth_role_claim": "Roolin vaatimus",
|
||||||
"oauth_role_claim_description": "Salli pääkäyttäjän pääsyoikeus automaattisesti tämän vaatimuksen perusteella. Vaatimus voi sisältää, joko 'käyttäjän' tai 'pääkäyttäjän'.",
|
"oauth_role_claim_description": "Salli pääkäyttäjän pääsyoikeus automaattisesti tämän vaatimuksen perusteella. Vaatimus voi sisältää, joko 'käyttäjän' tai 'pääkäyttäjän'.",
|
||||||
"oauth_settings": "OAuth",
|
"oauth_settings": "OAuth",
|
||||||
@@ -272,7 +279,7 @@
|
|||||||
"storage_template_migration_info": "Tallennusmalli muuntaa kaikki tiedostopäätteet pieniksi kirjaimiksi. Mallipohjan muutokset koskevat vain uusia resursseja. Jos haluat käyttää mallipohjaa takautuvasti aiemmin ladattuihin resursseihin, suorita <link>{job}</link>.",
|
"storage_template_migration_info": "Tallennusmalli muuntaa kaikki tiedostopäätteet pieniksi kirjaimiksi. Mallipohjan muutokset koskevat vain uusia resursseja. Jos haluat käyttää mallipohjaa takautuvasti aiemmin ladattuihin resursseihin, suorita <link>{job}</link>.",
|
||||||
"storage_template_migration_job": "Tallennustilan mallin muutostyö",
|
"storage_template_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>",
|
||||||
"storage_template_onboarding_description_v2": "Päälle kytkettynä, toiminto järjestestelee tiedostot automaattisesti käyttäjän määrittämän mallin mukaisesti. Lisätietoja <link>dokumentaatiosta</link>..",
|
"storage_template_onboarding_description_v2": "Päälle kytkettynä toiminto järjestelee tiedostot automaattisesti käyttäjän määrittämän mallin mukaisesti. Lisätietoja <link>dokumentaatiosta</link>..",
|
||||||
"storage_template_path_length": "Arvioitu tiedostopolun pituusrajoitus: <b>{length, number}</b>/{limit, number}",
|
"storage_template_path_length": "Arvioitu tiedostopolun pituusrajoitus: <b>{length, number}</b>/{limit, number}",
|
||||||
"storage_template_settings": "Tallennustilan malli",
|
"storage_template_settings": "Tallennustilan malli",
|
||||||
"storage_template_settings_description": "Hallitse palvelimelle ladatun aineiston kansiorakennetta ja tiedostonimiä",
|
"storage_template_settings_description": "Hallitse palvelimelle ladatun aineiston kansiorakennetta ja tiedostonimiä",
|
||||||
@@ -295,17 +302,17 @@
|
|||||||
"thumbnail_generation_job": "Luo pikkukuvat",
|
"thumbnail_generation_job": "Luo 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ä",
|
||||||
"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 laitteesi 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)",
|
||||||
"transcoding_acceleration_qsv": "Quick Sync (Vaatii vähintään gen7 Intel prosessorin)",
|
"transcoding_acceleration_qsv": "Quick Sync (Vaatii vähintään gen7 Intel prosessorin)",
|
||||||
"transcoding_acceleration_rkmpp": "RKMPP (vain Rockchip SOCt)",
|
"transcoding_acceleration_rkmpp": "RKMPP (vain Rockchip SOCt)",
|
||||||
"transcoding_acceleration_vaapi": "VAAPI",
|
"transcoding_acceleration_vaapi": "VAAPI",
|
||||||
"transcoding_accepted_audio_codecs": "Sallitut äänikoodekit",
|
"transcoding_accepted_audio_codecs": "Sallitut äänikoodekit",
|
||||||
"transcoding_accepted_audio_codecs_description": "Valitse mitä äänikoodekkeja ei tarvitse muuntaa. Käytetään vain tiettyjen koodauskäytäntöjen kanssa.",
|
"transcoding_accepted_audio_codecs_description": "Valitse, mitä äänikoodekkeja ei tarvitse muuntaa. Käytetään vain tiettyjen koodauskäytäntöjen kanssa.",
|
||||||
"transcoding_accepted_containers": "Hyväksytyt kontit",
|
"transcoding_accepted_containers": "Sallitut säiliömuodot",
|
||||||
"transcoding_accepted_containers_description": "Valitse, mitä formaatteja ei tarvitse kääntää MP4- muotoon. Käytössä vain tietyille muunnos säännöille.",
|
"transcoding_accepted_containers_description": "Valitse, mitä säiliömuotoja ei tarvitse muuntaa MP4-muotoon. Käytetään vain tiettyjen koodauskäytäntöjen kanssa.",
|
||||||
"transcoding_accepted_video_codecs": "Sallitut videokoodekit",
|
"transcoding_accepted_video_codecs": "Sallitut videokoodekit",
|
||||||
"transcoding_accepted_video_codecs_description": "Valitse mitä videokoodekkeja ei tarvitse muuntaa. Käytetään vain tiettyjen koodauskäytäntöjen kanssa.",
|
"transcoding_accepted_video_codecs_description": "Valitse, mitä videokoodekkeja ei tarvitse muuntaa. Käytetään vain tiettyjen koodauskäytäntöjen kanssa.",
|
||||||
"transcoding_advanced_options_description": "Asetukset, joita useimpien käyttäjien ei tulisi muuttaa",
|
"transcoding_advanced_options_description": "Asetukset, joita useimpien käyttäjien ei tulisi muuttaa",
|
||||||
"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.",
|
||||||
@@ -332,7 +339,7 @@
|
|||||||
"transcoding_policy": "Transkoodauskäytäntö",
|
"transcoding_policy": "Transkoodauskäytäntö",
|
||||||
"transcoding_policy_description": "Aseta milloin video transkoodataan",
|
"transcoding_policy_description": "Aseta milloin video transkoodataan",
|
||||||
"transcoding_preferred_hardware_device": "Ensisijainen laite",
|
"transcoding_preferred_hardware_device": "Ensisijainen laite",
|
||||||
"transcoding_preferred_hardware_device_description": "On voimassa vain VAAPI ja QSV -määritteille. Asettaa laitteistokoodauksessa käytetyn DRI noodin.",
|
"transcoding_preferred_hardware_device_description": "On voimassa vain VAAPI- ja QSV-määritteille. Asettaa laitteistokoodauksessa käytetyn DRI-noodin.",
|
||||||
"transcoding_preset_preset": "Esiasetus (-asetus)",
|
"transcoding_preset_preset": "Esiasetus (-asetus)",
|
||||||
"transcoding_preset_preset_description": "Pakkausnopeus. Hitaampi tuottaa pienempiä tiedostoja ja parantaa laatua, kun kohdistetaan tiettyyn bittinopeuteen. VP9 ei huomioi korkeampaa kuin 'faster'.",
|
"transcoding_preset_preset_description": "Pakkausnopeus. Hitaampi tuottaa pienempiä tiedostoja ja parantaa laatua, kun kohdistetaan tiettyyn bittinopeuteen. VP9 ei huomioi korkeampaa kuin 'faster'.",
|
||||||
"transcoding_reference_frames": "Kehysviitteet",
|
"transcoding_reference_frames": "Kehysviitteet",
|
||||||
@@ -349,7 +356,7 @@
|
|||||||
"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_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",
|
||||||
"transcoding_two_pass_encoding_setting_description": "Transkoodaa kahdessa vaiheessa tuottaaksesi paremmin koodattuja videoita. Kun maksimibittinopeus on käytössä (vaaditaan H.264- ja HEVC-koodaukselle), tämä tila käyttää bittinopeusaluetta, joka perustuu maksimibittinopeuteen ja ohittaa CRF. VP9 osalta CRF:ää voidaan käyttää, jos maksimibittinopeus on poistettu käytöstä.",
|
"transcoding_two_pass_encoding_setting_description": "Transkoodaa kahdessa vaiheessa tuottaaksesi paremmin koodattuja videoita. Kun maksimibittinopeus on käytössä (vaaditaan H.264- ja HEVC-koodaukselle), tämä tila käyttää bittinopeusaluetta, joka perustuu maksimibittinopeuteen ja ohittaa CRF. VP9 osalta CRF:ää voidaan käyttää, jos maksimibittinopeus on poistettu käytöstä.",
|
||||||
"transcoding_video_codec": "Videokoodekki",
|
"transcoding_video_codec": "Videokoodekki",
|
||||||
@@ -424,11 +431,12 @@
|
|||||||
"album_remove_user_confirmation": "Oletko varma että haluat poistaa {user}?",
|
"album_remove_user_confirmation": "Oletko varma että haluat poistaa {user}?",
|
||||||
"album_search_not_found": "Haullasi ei löytynyt yhtään albumia",
|
"album_search_not_found": "Haullasi ei löytynyt yhtään albumia",
|
||||||
"album_share_no_users": "Näyttää että olet jakanut tämän albumin kaikkien kanssa, tai sinulla ei ole käyttäjiä joille jakaa.",
|
"album_share_no_users": "Näyttää että olet jakanut tämän albumin kaikkien kanssa, tai sinulla ei ole käyttäjiä joille jakaa.",
|
||||||
|
"album_summary": "Albumi tiivistelmä",
|
||||||
"album_updated": "Albumi päivitetty",
|
"album_updated": "Albumi päivitetty",
|
||||||
"album_updated_setting_description": "Saa sähköpostia kun jaetussa albumissa on uutta sisältöä",
|
"album_updated_setting_description": "Saa sähköpostia kun jaetussa albumissa on uutta sisältöä",
|
||||||
"album_user_left": "Poistuttiin albumista {album}",
|
"album_user_left": "Poistuttiin albumista {album}",
|
||||||
"album_user_removed": "{user} poistettu",
|
"album_user_removed": "{user} poistettu",
|
||||||
"album_viewer_appbar_delete_confirm": "Haluatko varmast poistaa tämän albumin tililtäsi?",
|
"album_viewer_appbar_delete_confirm": "Haluatko varmasti poistaa tämän albumin tililtäsi?",
|
||||||
"album_viewer_appbar_share_err_delete": "Albumin poistaminen epäonnistui",
|
"album_viewer_appbar_share_err_delete": "Albumin poistaminen epäonnistui",
|
||||||
"album_viewer_appbar_share_err_leave": "Albumista poistuminen epäonnistui",
|
"album_viewer_appbar_share_err_leave": "Albumista poistuminen epäonnistui",
|
||||||
"album_viewer_appbar_share_err_remove": "Ongelmia kohteiden poistamisessa albumista",
|
"album_viewer_appbar_share_err_remove": "Ongelmia kohteiden poistamisessa albumista",
|
||||||
@@ -474,7 +482,7 @@
|
|||||||
"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?",
|
||||||
"asset_action_delete_err_read_only": "Vain luku-tilassa olevia kohteita ei voitu poistaa, ohitetaan",
|
"asset_action_delete_err_read_only": "Vain luku -tilassa olevia kohteita ei voitu poistaa, ohitetaan",
|
||||||
"asset_action_share_err_offline": "Verkottomassa tilassa olevia kohteita ei voitu noutaa, ohitetaan",
|
"asset_action_share_err_offline": "Verkottomassa tilassa olevia kohteita ei voitu noutaa, ohitetaan",
|
||||||
"asset_added_to_album": "Lisätty albumiin",
|
"asset_added_to_album": "Lisätty albumiin",
|
||||||
"asset_adding_to_album": "Lisätään albumiin…",
|
"asset_adding_to_album": "Lisätään albumiin…",
|
||||||
@@ -495,6 +503,8 @@
|
|||||||
"asset_restored_successfully": "Kohde palautettu onnistuneesti",
|
"asset_restored_successfully": "Kohde palautettu onnistuneesti",
|
||||||
"asset_skipped": "Ohitettu",
|
"asset_skipped": "Ohitettu",
|
||||||
"asset_skipped_in_trash": "Roskakorissa",
|
"asset_skipped_in_trash": "Roskakorissa",
|
||||||
|
"asset_trashed": "Kohde poistettu",
|
||||||
|
"asset_troubleshoot": "Sisällön vian paikannus",
|
||||||
"asset_uploaded": "Lähetetty",
|
"asset_uploaded": "Lähetetty",
|
||||||
"asset_uploading": "Ladataan…",
|
"asset_uploading": "Ladataan…",
|
||||||
"asset_viewer_settings_subtitle": "Galleriakatseluohjelman asetusten hallinta",
|
"asset_viewer_settings_subtitle": "Galleriakatseluohjelman asetusten hallinta",
|
||||||
@@ -502,7 +512,7 @@
|
|||||||
"assets": "Kohteet",
|
"assets": "Kohteet",
|
||||||
"assets_added_count": "Lisätty {count, plural, one {# kohde} other {# kohdetta}}",
|
"assets_added_count": "Lisätty {count, plural, one {# kohde} other {# kohdetta}}",
|
||||||
"assets_added_to_album_count": "Albumiin lisätty {count, plural, one {# kohde} other {# kohdetta}}",
|
"assets_added_to_album_count": "Albumiin lisätty {count, plural, one {# kohde} other {# kohdetta}}",
|
||||||
"assets_added_to_albums_count": "Lisätty {assetTotal, plural, one {# aineisto} other {# aaineistoa}} {albumTotal, plural, one {# albumiin} other {# albumeihin}}",
|
"assets_added_to_albums_count": "Lisätty {assetTotal, plural, one {# kohde} other {# kohdetta}} {albumTotal, plural, one {# albumiin} other {# albumiin}}",
|
||||||
"assets_cannot_be_added_to_album_count": "{count, plural, one {Kohdetta} other {Kohdetta}} ei voida lisätä albumiin",
|
"assets_cannot_be_added_to_album_count": "{count, plural, one {Kohdetta} other {Kohdetta}} ei voida lisätä albumiin",
|
||||||
"assets_cannot_be_added_to_albums": "{count, plural, one {Aineisto} other {Aineistoa}} ei voi lisätä mihinkään albumiin",
|
"assets_cannot_be_added_to_albums": "{count, plural, one {Aineisto} other {Aineistoa}} ei voi lisätä mihinkään albumiin",
|
||||||
"assets_count": "{count, plural, one {# media} other {# mediaa}}",
|
"assets_count": "{count, plural, one {# media} other {# mediaa}}",
|
||||||
@@ -528,8 +538,10 @@
|
|||||||
"autoplay_slideshow": "Toista diaesitys automaattisesti",
|
"autoplay_slideshow": "Toista diaesitys automaattisesti",
|
||||||
"back": "Takaisin",
|
"back": "Takaisin",
|
||||||
"back_close_deselect": "Palaa, sulje tai poista valinnat",
|
"back_close_deselect": "Palaa, sulje tai poista valinnat",
|
||||||
|
"background_backup_running_error": "Tausta varmuuskopiointi on aktiivinen, ei voida aloittaa manuaalista varmuuskopiointia",
|
||||||
"background_location_permission": "Taustasijainnin käyttöoikeus",
|
"background_location_permission": "Taustasijainnin käyttöoikeus",
|
||||||
"background_location_permission_content": "Jotta sovellus voi vaihtaa verkkoa taustalla toimiessaan, Immichillä on *aina* oltava pääsy tarkkaan sijaintiin, jotta se voi lukea Wi-Fi-verkon nimen",
|
"background_location_permission_content": "Jotta sovellus voi vaihtaa verkkoa taustalla toimiessaan, Immichillä on *aina* oltava pääsy tarkkaan sijaintiin, jotta se voi lukea Wi-Fi-verkon nimen",
|
||||||
|
"background_options": "Tausta valinnat",
|
||||||
"backup": "Varmuuskopiointi",
|
"backup": "Varmuuskopiointi",
|
||||||
"backup_album_selection_page_albums_device": "Laitteen albumit ({count})",
|
"backup_album_selection_page_albums_device": "Laitteen albumit ({count})",
|
||||||
"backup_album_selection_page_albums_tap": "Napauta sisällyttääksesi, kaksoisnapauta jättääksesi pois",
|
"backup_album_selection_page_albums_tap": "Napauta sisällyttääksesi, kaksoisnapauta jättääksesi pois",
|
||||||
@@ -537,6 +549,7 @@
|
|||||||
"backup_album_selection_page_select_albums": "Valitse albumit",
|
"backup_album_selection_page_select_albums": "Valitse albumit",
|
||||||
"backup_album_selection_page_selection_info": "Valintatiedot",
|
"backup_album_selection_page_selection_info": "Valintatiedot",
|
||||||
"backup_album_selection_page_total_assets": "Ainulaatuisia kohteita yhteensä",
|
"backup_album_selection_page_total_assets": "Ainulaatuisia kohteita yhteensä",
|
||||||
|
"backup_albums_sync": "Varmuuskopioitujen albumeiden synkronointi",
|
||||||
"backup_all": "Kaikki",
|
"backup_all": "Kaikki",
|
||||||
"backup_background_service_backup_failed_message": "Kohteiden varmuuskopiointi epäonnistui. Yritetään uudelleen…",
|
"backup_background_service_backup_failed_message": "Kohteiden varmuuskopiointi epäonnistui. Yritetään uudelleen…",
|
||||||
"backup_background_service_connection_failed_message": "Palvelimeen ei saatu yhteyttä. Yritetään uudelleen…",
|
"backup_background_service_connection_failed_message": "Palvelimeen ei saatu yhteyttä. Yritetään uudelleen…",
|
||||||
@@ -586,7 +599,8 @@
|
|||||||
"backup_controller_page_turn_on": "Varmuuskopiointi päälle",
|
"backup_controller_page_turn_on": "Varmuuskopiointi päälle",
|
||||||
"backup_controller_page_uploading_file_info": "Tiedostojen lähetystiedot",
|
"backup_controller_page_uploading_file_info": "Tiedostojen lähetystiedot",
|
||||||
"backup_err_only_album": "Vähintään yhden albumin tulee olla valittuna",
|
"backup_err_only_album": "Vähintään yhden albumin tulee olla valittuna",
|
||||||
"backup_info_card_assets": "kohteet",
|
"backup_error_sync_failed": "Synkronointi epäonnistui. Varmuuskopion käsittely ei onnistu.",
|
||||||
|
"backup_info_card_assets": "kohdetta",
|
||||||
"backup_manual_cancelled": "Peruutettu",
|
"backup_manual_cancelled": "Peruutettu",
|
||||||
"backup_manual_in_progress": "Lähetys palvelimelle on jo käynnissä. Kokeile myöhemmin uudelleen",
|
"backup_manual_in_progress": "Lähetys palvelimelle on jo käynnissä. Kokeile myöhemmin uudelleen",
|
||||||
"backup_manual_success": "Onnistui",
|
"backup_manual_success": "Onnistui",
|
||||||
@@ -621,7 +635,7 @@
|
|||||||
"cache_settings_statistics_thumbnail": "Esikatselukuvat",
|
"cache_settings_statistics_thumbnail": "Esikatselukuvat",
|
||||||
"cache_settings_statistics_title": "Välimuistin käyttö",
|
"cache_settings_statistics_title": "Välimuistin käyttö",
|
||||||
"cache_settings_subtitle": "Hallitse Immich-mobiilisovelluksen välimuistin käyttöä",
|
"cache_settings_subtitle": "Hallitse Immich-mobiilisovelluksen välimuistin käyttöä",
|
||||||
"cache_settings_tile_subtitle": "Hallitse paikallista tallenustilaa",
|
"cache_settings_tile_subtitle": "Hallitse paikallista tallennustilaa",
|
||||||
"cache_settings_tile_title": "Paikallinen tallennustila",
|
"cache_settings_tile_title": "Paikallinen tallennustila",
|
||||||
"cache_settings_title": "Välimuistin asetukset",
|
"cache_settings_title": "Välimuistin asetukset",
|
||||||
"camera": "Kamera",
|
"camera": "Kamera",
|
||||||
@@ -653,6 +667,8 @@
|
|||||||
"change_pin_code": "Vaihda PIN-koodi",
|
"change_pin_code": "Vaihda PIN-koodi",
|
||||||
"change_your_password": "Vaihda salasanasi",
|
"change_your_password": "Vaihda salasanasi",
|
||||||
"changed_visibility_successfully": "Näkyvyys vaihdettu",
|
"changed_visibility_successfully": "Näkyvyys vaihdettu",
|
||||||
|
"charging": "Ladataan laitetta",
|
||||||
|
"charging_requirement_mobile_backup": "Varmuuskopiointi taustalla vaatii laitteen latautumista",
|
||||||
"check_corrupt_asset_backup": "Vioittuneiden varmuuskopioiden tarkistaminen",
|
"check_corrupt_asset_backup": "Vioittuneiden varmuuskopioiden tarkistaminen",
|
||||||
"check_corrupt_asset_backup_button": "Suorita tarkistus",
|
"check_corrupt_asset_backup_button": "Suorita tarkistus",
|
||||||
"check_corrupt_asset_backup_description": "Suorita tämä tarkistus vain Wi-Fi-yhteyden kautta ja vasta, kun kaikki kohteet on varmuuskopioitu. Toimenpide voi kestää muutamia minuutteja.",
|
"check_corrupt_asset_backup_description": "Suorita tämä tarkistus vain Wi-Fi-yhteyden kautta ja vasta, kun kaikki kohteet on varmuuskopioitu. Toimenpide voi kestää muutamia minuutteja.",
|
||||||
@@ -739,6 +755,7 @@
|
|||||||
"create_user": "Luo käyttäjä",
|
"create_user": "Luo käyttäjä",
|
||||||
"created": "Luotu",
|
"created": "Luotu",
|
||||||
"created_at": "Luotu",
|
"created_at": "Luotu",
|
||||||
|
"creating_linked_albums": "Luodaan linkattuja albumeita...",
|
||||||
"crop": "Rajaa",
|
"crop": "Rajaa",
|
||||||
"curated_object_page_title": "Asiat",
|
"curated_object_page_title": "Asiat",
|
||||||
"current_device": "Nykyinen laite",
|
"current_device": "Nykyinen laite",
|
||||||
@@ -763,7 +780,7 @@
|
|||||||
"deduplication_criteria_1": "Kuvan koko tavuina",
|
"deduplication_criteria_1": "Kuvan koko tavuina",
|
||||||
"deduplication_criteria_2": "EXIF-datan määrä",
|
"deduplication_criteria_2": "EXIF-datan määrä",
|
||||||
"deduplication_info": "Deduplikaatiotieto",
|
"deduplication_info": "Deduplikaatiotieto",
|
||||||
"deduplication_info_description": "Jotta voimme automaattisesti esivalita aineistot ja poistaa duplikaatit suurina erinä, tarkastelemme:",
|
"deduplication_info_description": "Jotta voimme automaattisesti esivalita aineistot ja poistaa kaksoiskappaleet suurina erinä, tarkastelemme:",
|
||||||
"default_locale": "Oletuskieliasetus",
|
"default_locale": "Oletuskieliasetus",
|
||||||
"default_locale_description": "Muotoile päivämäärät ja numerot selaimesi kielen mukaan",
|
"default_locale_description": "Muotoile päivämäärät ja numerot selaimesi kielen mukaan",
|
||||||
"delete": "Poista",
|
"delete": "Poista",
|
||||||
@@ -838,7 +855,7 @@
|
|||||||
"downloading_media": "Median lataaminen",
|
"downloading_media": "Median lataaminen",
|
||||||
"drop_files_to_upload": "Pudota tiedostot mihin tahansa ladataksesi ne",
|
"drop_files_to_upload": "Pudota tiedostot mihin tahansa ladataksesi ne",
|
||||||
"duplicates": "Kaksoiskappaleet",
|
"duplicates": "Kaksoiskappaleet",
|
||||||
"duplicates_description": "Selvitä jokaisen kohdalla mitkä (jos yksikään) ovat kaksoiskappaleita",
|
"duplicates_description": "Selvitä jokaisen kohdalla mitkä (jos mitkään) ovat kaksoiskappaleita",
|
||||||
"duration": "Kesto",
|
"duration": "Kesto",
|
||||||
"edit": "Muokkaa",
|
"edit": "Muokkaa",
|
||||||
"edit_album": "Muokkaa albumia",
|
"edit_album": "Muokkaa albumia",
|
||||||
@@ -888,7 +905,9 @@
|
|||||||
"error": "Virhe",
|
"error": "Virhe",
|
||||||
"error_change_sort_album": "Albumin lajittelujärjestyksen muuttaminen epäonnistui",
|
"error_change_sort_album": "Albumin lajittelujärjestyksen muuttaminen epäonnistui",
|
||||||
"error_delete_face": "Virhe kasvojen poistamisessa kohteesta",
|
"error_delete_face": "Virhe kasvojen poistamisessa kohteesta",
|
||||||
|
"error_getting_places": "Ongelma paikkojen haussa",
|
||||||
"error_loading_image": "Kuvan lataus ei onnistunut",
|
"error_loading_image": "Kuvan lataus ei onnistunut",
|
||||||
|
"error_loading_partners": "Ongelma partnerin haussa: {error}",
|
||||||
"error_saving_image": "Virhe: {error}",
|
"error_saving_image": "Virhe: {error}",
|
||||||
"error_tag_face_bounding_box": "Kasvojen merkitseminen epäonnistui – rajausruudun koordinaatteja ei löydy",
|
"error_tag_face_bounding_box": "Kasvojen merkitseminen epäonnistui – rajausruudun koordinaatteja ei löydy",
|
||||||
"error_title": "Virhe - Jotain meni pieleen",
|
"error_title": "Virhe - Jotain meni pieleen",
|
||||||
@@ -1048,11 +1067,12 @@
|
|||||||
"failed_to_load_folder": "Kansion lataaminen epäonnistui",
|
"failed_to_load_folder": "Kansion lataaminen epäonnistui",
|
||||||
"favorite": "Suosikki",
|
"favorite": "Suosikki",
|
||||||
"favorite_action_prompt": "{count} lisätty suosikkeihin",
|
"favorite_action_prompt": "{count} lisätty suosikkeihin",
|
||||||
"favorite_or_unfavorite_photo": "Suosikki- tai ei-suosikkikuva",
|
"favorite_or_unfavorite_photo": "Lisää tai poista kuva suosikeista",
|
||||||
"favorites": "Suosikit",
|
"favorites": "Suosikit",
|
||||||
"favorites_page_no_favorites": "Suosikkikohteita ei löytynyt",
|
"favorites_page_no_favorites": "Suosikkikohteita ei löytynyt",
|
||||||
"feature_photo_updated": "Kansikuva ladattu",
|
"feature_photo_updated": "Kansikuva ladattu",
|
||||||
"features": "Ominaisuudet",
|
"features": "Ominaisuudet",
|
||||||
|
"features_in_development": "Kehityksessä olevat 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",
|
||||||
@@ -1080,6 +1100,8 @@
|
|||||||
"go_back": "Palaa",
|
"go_back": "Palaa",
|
||||||
"go_to_folder": "Mene kansioon",
|
"go_to_folder": "Mene kansioon",
|
||||||
"go_to_search": "Siirry hakuun",
|
"go_to_search": "Siirry hakuun",
|
||||||
|
"gps": "GPS",
|
||||||
|
"gps_missing": "Ei GPS:ää",
|
||||||
"grant_permission": "Myönnä lupa",
|
"grant_permission": "Myönnä lupa",
|
||||||
"group_albums_by": "Ryhmitä albumi...",
|
"group_albums_by": "Ryhmitä albumi...",
|
||||||
"group_country": "Ryhmitä maan mukaan",
|
"group_country": "Ryhmitä maan mukaan",
|
||||||
@@ -1109,18 +1131,18 @@
|
|||||||
"home_page_add_to_album_conflicts": "Lisätty {added} kohdetta albumiin {album}. {failed} kohdetta on jo albumissa.",
|
"home_page_add_to_album_conflicts": "Lisätty {added} kohdetta albumiin {album}. {failed} kohdetta on jo albumissa.",
|
||||||
"home_page_add_to_album_err_local": "Paikallisten kohteiden lisääminen albumeihin ei ole mahdollista, ohitetaan",
|
"home_page_add_to_album_err_local": "Paikallisten kohteiden lisääminen albumeihin ei ole mahdollista, ohitetaan",
|
||||||
"home_page_add_to_album_success": "Lisätty {added} kohdetta albumiin {album}.",
|
"home_page_add_to_album_success": "Lisätty {added} kohdetta albumiin {album}.",
|
||||||
"home_page_album_err_partner": "Kumppanin kohteita ei voi vielä lisätä albumiin. Hypätään yli",
|
"home_page_album_err_partner": "Kumppanin kohteita ei voi vielä lisätä albumiin, ohitetaan",
|
||||||
"home_page_archive_err_local": "Paikallisten kohteiden arkistointi ei ole mahdollista, ohitetaan",
|
"home_page_archive_err_local": "Paikallisten kohteiden arkistointi ei ole mahdollista, ohitetaan",
|
||||||
"home_page_archive_err_partner": "Kumppanin kohteita ei voi arkistoida. Hypätään yli",
|
"home_page_archive_err_partner": "Kumppanin kohteita ei voi arkistoida, ohitetaan",
|
||||||
"home_page_building_timeline": "Rakennetaan aikajanaa",
|
"home_page_building_timeline": "Rakennetaan aikajanaa",
|
||||||
"home_page_delete_err_partner": "Kumppanin kohteita ei voi poistaa.Hypätään yli",
|
"home_page_delete_err_partner": "Kumppanin kohteita ei voi poistaa, ohitetaan",
|
||||||
"home_page_delete_remote_err_local": "Paikallisia kohteita etäkohdevalintojen joukossa, ohitetaan",
|
"home_page_delete_remote_err_local": "Paikallisia kohteita etäkohdevalintojen joukossa, ohitetaan",
|
||||||
"home_page_favorite_err_local": "Paikallisten kohteiden lisääminen suosikkeihin ei ole mahdollista, ohitetaan",
|
"home_page_favorite_err_local": "Paikallisten kohteiden lisääminen suosikkeihin ei ole mahdollista, ohitetaan",
|
||||||
"home_page_favorite_err_partner": "Kumppanin kohteita ei voi vielä merkitä suosikiksi. Hypätään yli",
|
"home_page_favorite_err_partner": "Kumppanin kohteita ei voi vielä merkitä suosikiksi, ohitetaan",
|
||||||
"home_page_first_time_notice": "Jos käytät sovellusta ensimmäistä kertaa, muista valita varmuuskopioitavat albumi(t), jotta aikajanalla voi olla kuvia ja videoita",
|
"home_page_first_time_notice": "Jos käytät sovellusta ensimmäistä kertaa, muista valita varmuuskopioitavat albumi(t), jotta aikajanalla voi olla kuvia ja videoita",
|
||||||
"home_page_locked_error_local": "Paikallisten kohteiden siirto lukittuun kansioon ei onnistu, ohitetaan",
|
"home_page_locked_error_local": "Paikallisten kohteiden siirto lukittuun kansioon ei onnistu, ohitetaan",
|
||||||
"home_page_locked_error_partner": "Kumppanin kohteita ei voi siirtää lukittuun kansioon, ohitetaan",
|
"home_page_locked_error_partner": "Kumppanin kohteita ei voi siirtää lukittuun kansioon, ohitetaan",
|
||||||
"home_page_share_err_local": "Paikallisia kohteita ei voitu jakaa linkkien avulla. Hypätään yli",
|
"home_page_share_err_local": "Paikallisia kohteita ei voitu jakaa linkkien avulla, ohitetaan",
|
||||||
"home_page_upload_err_limit": "Voit lähettää palvelimelle enintään 30 kohdetta kerrallaan, ohitetaan",
|
"home_page_upload_err_limit": "Voit lähettää palvelimelle enintään 30 kohdetta kerrallaan, ohitetaan",
|
||||||
"host": "Isäntä",
|
"host": "Isäntä",
|
||||||
"hour": "Tunti",
|
"hour": "Tunti",
|
||||||
@@ -1148,7 +1170,7 @@
|
|||||||
"immich_web_interface": "Immich-verkkokäyttöliittymä",
|
"immich_web_interface": "Immich-verkkokäyttöliittymä",
|
||||||
"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}}",
|
||||||
"in_archive": "Arkistossa",
|
"in_archive": "Arkistossa",
|
||||||
"include_archived": "Sisällytä arkistoidut",
|
"include_archived": "Sisällytä arkistoidut",
|
||||||
"include_shared_albums": "Sisällytä jaetut albumit",
|
"include_shared_albums": "Sisällytä jaetut albumit",
|
||||||
@@ -1157,10 +1179,10 @@
|
|||||||
"individual_shares": "Yksittäiset jaot",
|
"individual_shares": "Yksittäiset jaot",
|
||||||
"info": "Lisätietoja",
|
"info": "Lisätietoja",
|
||||||
"interval": {
|
"interval": {
|
||||||
"day_at_onepm": "Joka päivä klo 13:00",
|
"day_at_onepm": "Joka päivä klo 13.00",
|
||||||
"hours": "Joka {hours, plural, one {tunti} other {{hours, number} tuntia}}",
|
"hours": "Joka {hours, plural, one {tunti} other {{hours, number} tuntia}}",
|
||||||
"night_at_midnight": "Joka yö keskiyöllä",
|
"night_at_midnight": "Joka yö keskiyöllä",
|
||||||
"night_at_twoam": "Joka yö klo 02:00"
|
"night_at_twoam": "Joka yö klo 2.00"
|
||||||
},
|
},
|
||||||
"invalid_date": "Virheellinen päivämäärä",
|
"invalid_date": "Virheellinen päivämäärä",
|
||||||
"invalid_date_format": "Virheellinen päivämäärämuoto",
|
"invalid_date_format": "Virheellinen päivämäärämuoto",
|
||||||
@@ -1215,6 +1237,7 @@
|
|||||||
"local": "Paikallinen",
|
"local": "Paikallinen",
|
||||||
"local_asset_cast_failed": "Kohdetta, joka ei ole ladattuna palvelimelle, ei voida striimata",
|
"local_asset_cast_failed": "Kohdetta, joka ei ole ladattuna palvelimelle, ei voida striimata",
|
||||||
"local_assets": "Paikalliset kohteet",
|
"local_assets": "Paikalliset kohteet",
|
||||||
|
"local_media_summary": "Paikallisen median yhteenveto",
|
||||||
"local_network": "Lähiverkko",
|
"local_network": "Lähiverkko",
|
||||||
"local_network_sheet_info": "Sovellus muodostaa yhteyden palvelimeen tämän URL-osoitteen kautta, kun käytetään määritettyä Wi-Fi-verkkoa",
|
"local_network_sheet_info": "Sovellus muodostaa yhteyden palvelimeen tämän URL-osoitteen kautta, kun käytetään määritettyä Wi-Fi-verkkoa",
|
||||||
"location_permission": "Sijainnin käyttöoikeus",
|
"location_permission": "Sijainnin käyttöoikeus",
|
||||||
@@ -1226,6 +1249,7 @@
|
|||||||
"location_picker_longitude_hint": "Syötä pituusaste",
|
"location_picker_longitude_hint": "Syötä pituusaste",
|
||||||
"lock": "Lukitse",
|
"lock": "Lukitse",
|
||||||
"locked_folder": "Lukittu kansio",
|
"locked_folder": "Lukittu kansio",
|
||||||
|
"log_detail_title": "Lokin yksityiskohtaisuus",
|
||||||
"log_out": "Kirjaudu ulos",
|
"log_out": "Kirjaudu ulos",
|
||||||
"log_out_all_devices": "Kirjaudu ulos kaikilta laitteilta",
|
"log_out_all_devices": "Kirjaudu ulos kaikilta laitteilta",
|
||||||
"logged_in_as": "Kirjautunut käyttäjänä {user}",
|
"logged_in_as": "Kirjautunut käyttäjänä {user}",
|
||||||
@@ -1256,6 +1280,7 @@
|
|||||||
"login_password_changed_success": "Salasan päivitetty onnistuneesti",
|
"login_password_changed_success": "Salasan päivitetty onnistuneesti",
|
||||||
"logout_all_device_confirmation": "Haluatko varmasti kirjautua ulos kaikilta laitteilta?",
|
"logout_all_device_confirmation": "Haluatko varmasti kirjautua ulos kaikilta laitteilta?",
|
||||||
"logout_this_device_confirmation": "Haluatko varmasti kirjautua ulos näiltä laitteilta?",
|
"logout_this_device_confirmation": "Haluatko varmasti kirjautua ulos näiltä laitteilta?",
|
||||||
|
"logs": "Loki",
|
||||||
"longitude": "Pituusaste",
|
"longitude": "Pituusaste",
|
||||||
"look": "Tyyli",
|
"look": "Tyyli",
|
||||||
"loop_videos": "Toista videot uudelleen",
|
"loop_videos": "Toista videot uudelleen",
|
||||||
@@ -1263,6 +1288,7 @@
|
|||||||
"main_branch_warning": "Käytät kehitysversiota; suosittelemme vahvasti käyttämään julkaisuversiota!",
|
"main_branch_warning": "Käytät kehitysversiota; suosittelemme vahvasti käyttämään julkaisuversiota!",
|
||||||
"main_menu": "Päävalikko",
|
"main_menu": "Päävalikko",
|
||||||
"make": "Valmistaja",
|
"make": "Valmistaja",
|
||||||
|
"manage_geolocation": "Muokkaa sijaintia",
|
||||||
"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",
|
||||||
"manage_the_app_settings": "Hallitse sovelluksen asetuksia",
|
"manage_the_app_settings": "Hallitse sovelluksen asetuksia",
|
||||||
@@ -1297,6 +1323,7 @@
|
|||||||
"mark_as_read": "Merkitse luetuksi",
|
"mark_as_read": "Merkitse luetuksi",
|
||||||
"marked_all_as_read": "Merkitty kaikki luetuiksi",
|
"marked_all_as_read": "Merkitty kaikki luetuiksi",
|
||||||
"matches": "Osumia",
|
"matches": "Osumia",
|
||||||
|
"matching_assets": "Vastaava sisältö",
|
||||||
"media_type": "Median tyyppi",
|
"media_type": "Median tyyppi",
|
||||||
"memories": "Muistoja",
|
"memories": "Muistoja",
|
||||||
"memories_all_caught_up": "Kaikki ajan tasalla",
|
"memories_all_caught_up": "Kaikki ajan tasalla",
|
||||||
@@ -1330,13 +1357,14 @@
|
|||||||
"moved_to_library": "Siirretty {count, plural, one {# kohde} other {# kohdetta}} kirjastoon",
|
"moved_to_library": "Siirretty {count, plural, one {# kohde} other {# kohdetta}} kirjastoon",
|
||||||
"moved_to_trash": "Siirretty roskakoriin",
|
"moved_to_trash": "Siirretty roskakoriin",
|
||||||
"multiselect_grid_edit_date_time_err_read_only": "Vain luku -tilassa olevien kohteiden päivämäärää ei voitu muokata, ohitetaan",
|
"multiselect_grid_edit_date_time_err_read_only": "Vain luku -tilassa olevien kohteiden päivämäärää ei voitu muokata, ohitetaan",
|
||||||
"multiselect_grid_edit_gps_err_read_only": "Vain luku-tilassa olevien kohteiden sijantitietoja ei voitu muokata, ohitetaan",
|
"multiselect_grid_edit_gps_err_read_only": "Vain luku -tilassa olevien kohteiden sijantitietoja ei voitu muokata, ohitetaan",
|
||||||
"mute_memories": "Mykistä muistot",
|
"mute_memories": "Mykistä muistot",
|
||||||
"my_albums": "Omat albumit",
|
"my_albums": "Omat albumit",
|
||||||
"name": "Nimi",
|
"name": "Nimi",
|
||||||
"name_or_nickname": "Nimi tai lempinimi",
|
"name_or_nickname": "Nimi tai lempinimi",
|
||||||
"network_requirement_photos_upload": "Käytä mobiiliverkkoa kuvien varmuuskopioimiseksi",
|
"network_requirement_photos_upload": "Käytä mobiiliverkkoa kuvien varmuuskopioimiseksi",
|
||||||
"network_requirement_videos_upload": "Käytä mobiiliverkkoa videoiden varmuuskopioimiseksi",
|
"network_requirement_videos_upload": "Käytä mobiiliverkkoa videoiden varmuuskopioimiseksi",
|
||||||
|
"network_requirements": "Verkkovaatimukset",
|
||||||
"network_requirements_updated": "Verkkovaatimukset muuttuivat, nollataan varmuuskopiointijono",
|
"network_requirements_updated": "Verkkovaatimukset muuttuivat, nollataan varmuuskopiointijono",
|
||||||
"networking_settings": "Verkko",
|
"networking_settings": "Verkko",
|
||||||
"networking_subtitle": "Hallitse palvelinasetuksia",
|
"networking_subtitle": "Hallitse palvelinasetuksia",
|
||||||
@@ -1347,6 +1375,7 @@
|
|||||||
"new_person": "Uusi henkilö",
|
"new_person": "Uusi henkilö",
|
||||||
"new_pin_code": "Uusi PIN-koodi",
|
"new_pin_code": "Uusi PIN-koodi",
|
||||||
"new_pin_code_subtitle": "Tämä on ensimmäinen kerta, kun käytät lukittua kansiota. Luo PIN-koodi päästäksesi tähän sisältöön turvallisesti",
|
"new_pin_code_subtitle": "Tämä on ensimmäinen kerta, kun käytät lukittua kansiota. Luo PIN-koodi päästäksesi tähän sisältöön turvallisesti",
|
||||||
|
"new_timeline": "Uusi aikajana",
|
||||||
"new_user_created": "Uusi käyttäjä lisätty",
|
"new_user_created": "Uusi käyttäjä lisätty",
|
||||||
"new_version_available": "UUSI VERSIO SAATAVILLA",
|
"new_version_available": "UUSI VERSIO SAATAVILLA",
|
||||||
"newest_first": "Uusin ensin",
|
"newest_first": "Uusin ensin",
|
||||||
@@ -1357,23 +1386,28 @@
|
|||||||
"no_albums_with_name_yet": "Näyttää siltä, ettei sinulla ole yhtään tämän nimistä albumia.",
|
"no_albums_with_name_yet": "Näyttää siltä, ettei sinulla ole yhtään tämän nimistä albumia.",
|
||||||
"no_albums_yet": "Näyttää siltä, ettei sinulla ole vielä yhtään albumia.",
|
"no_albums_yet": "Näyttää siltä, ettei sinulla ole vielä yhtään albumia.",
|
||||||
"no_archived_assets_message": "Arkistoi kuvia ja videoita piilottaaksesi ne kuvat näkymästä",
|
"no_archived_assets_message": "Arkistoi kuvia ja videoita piilottaaksesi ne kuvat näkymästä",
|
||||||
"no_assets_message": "NAPAUTA LATAAKSESI ENSIMMÄISEN KUVASI",
|
"no_assets_message": "NAPAUTA LADATAKSESI ENSIMMÄINEN KUVASI",
|
||||||
"no_assets_to_show": "Ei näytettäviä kohteita",
|
"no_assets_to_show": "Ei näytettäviä kohteita",
|
||||||
"no_cast_devices_found": "Cast-laitteita ei löytynyt",
|
"no_cast_devices_found": "Cast-laitteita ei löytynyt",
|
||||||
|
"no_checksum_local": "Ei tarkistussummaa - paikallista sisältöä ei voida hakea",
|
||||||
|
"no_checksum_remote": "Ei tarkistussummaa - etänä olevaa sisältöä ei voida hakea",
|
||||||
"no_duplicates_found": "Kaksoiskappaleita ei löytynyt.",
|
"no_duplicates_found": "Kaksoiskappaleita ei löytynyt.",
|
||||||
"no_exif_info_available": "EXIF-tietoa ei saatavilla",
|
"no_exif_info_available": "EXIF-tietoa ei saatavilla",
|
||||||
"no_explore_results_message": "Lataa lisää kuvia tutkiaksesi kokoelmaasi.",
|
"no_explore_results_message": "Lataa lisää kuvia tutkiaksesi kokoelmaasi.",
|
||||||
"no_favorites_message": "Lisää suosikkeja löytääksesi nopeasti parhaat kuvasi ja videosi",
|
"no_favorites_message": "Lisää suosikkeja löytääksesi nopeasti parhaat kuvasi ja videosi",
|
||||||
"no_libraries_message": "Luo ulkoinen kirjasto nähdäksesi valokuvasi ja videot",
|
"no_libraries_message": "Luo ulkoinen kirjasto nähdäksesi valokuvasi ja videot",
|
||||||
|
"no_local_assets_found": "Paikallista sisältöä ei löytynyt tällä tarkistussummalla",
|
||||||
"no_locked_photos_message": "Kuvat ja videot lukitussa kansiossa ovat piilotettuja, eivätkä ne näy selatessasi tai etsiessäsi kirjastoasi.",
|
"no_locked_photos_message": "Kuvat ja videot lukitussa kansiossa ovat piilotettuja, eivätkä ne näy selatessasi tai etsiessäsi kirjastoasi.",
|
||||||
"no_name": "Ei nimeä",
|
"no_name": "Ei nimeä",
|
||||||
"no_notifications": "Ei ilmoituksia",
|
"no_notifications": "Ei ilmoituksia",
|
||||||
"no_people_found": "Ei vastaavia henkilöitä",
|
"no_people_found": "Ei vastaavia henkilöitä",
|
||||||
"no_places": "Ei paikkoja",
|
"no_places": "Ei paikkoja",
|
||||||
|
"no_remote_assets_found": "Etänä olevaa sisältöä ei löytynyt tällä tarkistussummalla",
|
||||||
"no_results": "Ei tuloksia",
|
"no_results": "Ei tuloksia",
|
||||||
"no_results_description": "Kokeile synonyymiä tai yleisempää avainsanaa",
|
"no_results_description": "Kokeile synonyymiä tai yleisempää avainsanaa",
|
||||||
"no_shared_albums_message": "Luo albumi, jotta voit jakaa kuvia ja videoita toisille",
|
"no_shared_albums_message": "Luo albumi, jotta voit jakaa kuvia ja videoita toisille",
|
||||||
"no_uploads_in_progress": "Ei käynnissä olevia latauksia",
|
"no_uploads_in_progress": "Ei käynnissä olevia latauksia",
|
||||||
|
"not_available": "N/A",
|
||||||
"not_in_any_album": "Ei yhdessäkään albumissa",
|
"not_in_any_album": "Ei yhdessäkään albumissa",
|
||||||
"not_selected": "Ei valittu",
|
"not_selected": "Ei valittu",
|
||||||
"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",
|
||||||
@@ -1408,6 +1442,8 @@
|
|||||||
"open_the_search_filters": "Avaa hakusuodattimet",
|
"open_the_search_filters": "Avaa hakusuodattimet",
|
||||||
"options": "Vaihtoehdot",
|
"options": "Vaihtoehdot",
|
||||||
"or": "tai",
|
"or": "tai",
|
||||||
|
"organize_into_albums": "Järjestä albumeihin",
|
||||||
|
"organize_into_albums_description": "Siirrä olemassa olevat kuvat albumeihin käyttäen nykyisiä synkronointiasetuksia",
|
||||||
"organize_your_library": "Järjestele kirjastosi",
|
"organize_your_library": "Järjestele kirjastosi",
|
||||||
"original": "alkuperäinen",
|
"original": "alkuperäinen",
|
||||||
"other": "Muut",
|
"other": "Muut",
|
||||||
@@ -1453,7 +1489,7 @@
|
|||||||
"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",
|
||||||
"permanently_delete_assets_count": "Poista pysyvästi {count, plural, one {kohde} other {kohteita}}",
|
"permanently_delete_assets_count": "Poista pysyvästi {count, plural, one {kohde} other {kohteita}}",
|
||||||
"permanently_delete_assets_prompt": "Haluatko varmasti poistaa pysyvästi {count, plural, one {tämän kohteen?} other {nämä <b>#</b> kohteet?}} Tämä poistaa myös {count, plural, one {sen} other {ne}} kaikista albumeista.",
|
"permanently_delete_assets_prompt": "Haluatko varmasti poistaa pysyvästi {count, plural, one {tämän kohteen?} other {nämä <b>#</b> kohteet?}} Tämä poistaa {count, plural, one {sen} other {ne}} myös kaikista albumeista.",
|
||||||
"permanently_deleted_asset": "Media poistettu pysyvästi",
|
"permanently_deleted_asset": "Media poistettu pysyvästi",
|
||||||
"permanently_deleted_assets_count": "{count, plural, one {# media} other {# mediaa}} poistettu pysyvästi",
|
"permanently_deleted_assets_count": "{count, plural, one {# media} other {# mediaa}} poistettu pysyvästi",
|
||||||
"permission": "Käyttöoikeus",
|
"permission": "Käyttöoikeus",
|
||||||
@@ -1493,6 +1529,7 @@
|
|||||||
"port": "Portti",
|
"port": "Portti",
|
||||||
"preferences_settings_subtitle": "Hallitse sovelluksen asetuksia",
|
"preferences_settings_subtitle": "Hallitse sovelluksen asetuksia",
|
||||||
"preferences_settings_title": "Asetukset",
|
"preferences_settings_title": "Asetukset",
|
||||||
|
"preparing": "Valmistellaan",
|
||||||
"preset": "Asetus",
|
"preset": "Asetus",
|
||||||
"preview": "Esikatselu",
|
"preview": "Esikatselu",
|
||||||
"previous": "Edellinen",
|
"previous": "Edellinen",
|
||||||
@@ -1509,6 +1546,7 @@
|
|||||||
"profile_drawer_client_out_of_date_minor": "Sovelluksen mobiiliversio on vanhentunut. Päivitä viimeisimpään versioon.",
|
"profile_drawer_client_out_of_date_minor": "Sovelluksen mobiiliversio on vanhentunut. Päivitä viimeisimpään versioon.",
|
||||||
"profile_drawer_client_server_up_to_date": "Asiakasohjelma ja palvelin ovat ajan tasalla",
|
"profile_drawer_client_server_up_to_date": "Asiakasohjelma ja palvelin ovat ajan tasalla",
|
||||||
"profile_drawer_github": "GitHub",
|
"profile_drawer_github": "GitHub",
|
||||||
|
"profile_drawer_readonly_mode": "Muokkaus on estetty. Paina käyttäjäkuvaketta pitkään palataksesi muokkaustilaan.",
|
||||||
"profile_drawer_server_out_of_date_major": "Palvelimen ohjelmistoversio on vanhentunut. Päivitä viimeisimpään merkittävään versioon.",
|
"profile_drawer_server_out_of_date_major": "Palvelimen ohjelmistoversio on vanhentunut. Päivitä viimeisimpään merkittävään versioon.",
|
||||||
"profile_drawer_server_out_of_date_minor": "Palvelimen ohjelmistoversio on vanhentunut. Päivitä viimeisimpään versioon.",
|
"profile_drawer_server_out_of_date_minor": "Palvelimen ohjelmistoversio on vanhentunut. Päivitä viimeisimpään versioon.",
|
||||||
"profile_image_of_user": "Käyttäjän {user} profiilikuva",
|
"profile_image_of_user": "Käyttäjän {user} profiilikuva",
|
||||||
@@ -1547,6 +1585,7 @@
|
|||||||
"purchase_server_description_2": "Tukijan tila",
|
"purchase_server_description_2": "Tukijan tila",
|
||||||
"purchase_server_title": "Palvelin",
|
"purchase_server_title": "Palvelin",
|
||||||
"purchase_settings_server_activated": "Palvelimen tuoteavainta hallinnoi ylläpitäjä",
|
"purchase_settings_server_activated": "Palvelimen tuoteavainta hallinnoi ylläpitäjä",
|
||||||
|
"query_asset_id": "Kysy sisällön ID:tä",
|
||||||
"queue_status": "Jonossa {count}/{total}",
|
"queue_status": "Jonossa {count}/{total}",
|
||||||
"rating": "Tähtiarvostelu",
|
"rating": "Tähtiarvostelu",
|
||||||
"rating_clear": "Tyhjennä arvostelu",
|
"rating_clear": "Tyhjennä arvostelu",
|
||||||
@@ -1554,6 +1593,9 @@
|
|||||||
"rating_description": "Näytä EXIF-arvosana lisätietopaneelissa",
|
"rating_description": "Näytä EXIF-arvosana lisätietopaneelissa",
|
||||||
"reaction_options": "Reaktioasetukset",
|
"reaction_options": "Reaktioasetukset",
|
||||||
"read_changelog": "Lue muutosloki",
|
"read_changelog": "Lue muutosloki",
|
||||||
|
"readonly_mode_disabled": "Muokkaustila päällä",
|
||||||
|
"readonly_mode_enabled": "Muokkaustila pois päältä",
|
||||||
|
"ready_for_upload": "Valmis lähetystä varten",
|
||||||
"reassign": "Määritä uudelleen",
|
"reassign": "Määritä uudelleen",
|
||||||
"reassigned_assets_to_existing_person": "Uudelleen määritetty {count, plural, one {# kohde} other {# kohdetta}} {name, select, null {olemassa olevalle henkilölle} other {{name}}}",
|
"reassigned_assets_to_existing_person": "Uudelleen määritetty {count, plural, one {# kohde} other {# kohdetta}} {name, select, null {olemassa olevalle henkilölle} other {{name}}}",
|
||||||
"reassigned_assets_to_new_person": "Määritetty {count, plural, one {# media} other {# mediaa}} uudelle henkilölle",
|
"reassigned_assets_to_new_person": "Määritetty {count, plural, one {# media} other {# mediaa}} uudelle henkilölle",
|
||||||
@@ -1578,6 +1620,7 @@
|
|||||||
"regenerating_thumbnails": "Regeneroidaan pikkukuvia",
|
"regenerating_thumbnails": "Regeneroidaan pikkukuvia",
|
||||||
"remote": "Etä",
|
"remote": "Etä",
|
||||||
"remote_assets": "Etäkohteet",
|
"remote_assets": "Etäkohteet",
|
||||||
|
"remote_media_summary": "Yhteenveto etänä olevasta mediasta",
|
||||||
"remove": "Poista",
|
"remove": "Poista",
|
||||||
"remove_assets_album_confirmation": "Haluatko varmasti poistaa {count, plural, one {# median} other {# mediaa}} albumista?",
|
"remove_assets_album_confirmation": "Haluatko varmasti poistaa {count, plural, one {# median} other {# mediaa}} albumista?",
|
||||||
"remove_assets_shared_link_confirmation": "Haluatko varmasti poistaa {count, plural, one {# median} other {# mediaa}} tästä jakolinkistä?",
|
"remove_assets_shared_link_confirmation": "Haluatko varmasti poistaa {count, plural, one {# median} other {# mediaa}} tästä jakolinkistä?",
|
||||||
@@ -1630,6 +1673,7 @@
|
|||||||
"restore_user": "Palauta käyttäjä",
|
"restore_user": "Palauta käyttäjä",
|
||||||
"restored_asset": "Palautettu media",
|
"restored_asset": "Palautettu media",
|
||||||
"resume": "Jatka",
|
"resume": "Jatka",
|
||||||
|
"resume_paused_jobs": "Jatka {count, plural, one {# paused job} other {# paused jobs}}",
|
||||||
"retry_upload": "Yritä latausta uudelleen",
|
"retry_upload": "Yritä latausta uudelleen",
|
||||||
"review_duplicates": "Tarkastele kaksoiskappaleita",
|
"review_duplicates": "Tarkastele kaksoiskappaleita",
|
||||||
"review_large_files": "Tarkista suuret tiedostot",
|
"review_large_files": "Tarkista suuret tiedostot",
|
||||||
@@ -1694,7 +1738,7 @@
|
|||||||
"search_places": "Etsi paikkoja",
|
"search_places": "Etsi paikkoja",
|
||||||
"search_rating": "Hae luokituksen mukaan...",
|
"search_rating": "Hae luokituksen mukaan...",
|
||||||
"search_result_page_new_search_hint": "Uusi haku",
|
"search_result_page_new_search_hint": "Uusi haku",
|
||||||
"search_settings": "Hakuasetukset",
|
"search_settings": "Etsi asetuksia",
|
||||||
"search_state": "Etsi maakuntaa...",
|
"search_state": "Etsi maakuntaa...",
|
||||||
"search_suggestion_list_smart_search_hint_1": "Älykäs haku on oletuksena käytössä. Käytä metatietojen etsimiseen syntaksia ",
|
"search_suggestion_list_smart_search_hint_1": "Älykäs haku on oletuksena käytössä. Käytä metatietojen etsimiseen syntaksia ",
|
||||||
"search_suggestion_list_smart_search_hint_2": "m:hakusana",
|
"search_suggestion_list_smart_search_hint_2": "m:hakusana",
|
||||||
@@ -1706,7 +1750,7 @@
|
|||||||
"second": "Toinen",
|
"second": "Toinen",
|
||||||
"see_all_people": "Näytä kaikki henkilöt",
|
"see_all_people": "Näytä kaikki henkilöt",
|
||||||
"select": "Valitse",
|
"select": "Valitse",
|
||||||
"select_album_cover": "Valitse albmin kansi",
|
"select_album_cover": "Valitse albumin kansi",
|
||||||
"select_all": "Valitse kaikki",
|
"select_all": "Valitse kaikki",
|
||||||
"select_all_duplicates": "Valitse kaikki kaksoiskappaleet",
|
"select_all_duplicates": "Valitse kaikki kaksoiskappaleet",
|
||||||
"select_all_in": "Valitse kaikki {group}",
|
"select_all_in": "Valitse kaikki {group}",
|
||||||
@@ -1723,6 +1767,7 @@
|
|||||||
"select_user_for_sharing_page_err_album": "Albumin luonti epäonnistui",
|
"select_user_for_sharing_page_err_album": "Albumin luonti epäonnistui",
|
||||||
"selected": "Valittu",
|
"selected": "Valittu",
|
||||||
"selected_count": "{count, plural, other {# valittu}}",
|
"selected_count": "{count, plural, other {# valittu}}",
|
||||||
|
"selected_gps_coordinates": "Valitut GPS-koordinaatit",
|
||||||
"send_message": "Lähetä viesti",
|
"send_message": "Lähetä viesti",
|
||||||
"send_welcome_email": "Lähetä tervetuloviesti",
|
"send_welcome_email": "Lähetä tervetuloviesti",
|
||||||
"server_endpoint": "Palvelinosoite",
|
"server_endpoint": "Palvelinosoite",
|
||||||
@@ -1764,7 +1809,7 @@
|
|||||||
"setting_video_viewer_original_video_subtitle": "Kun toistat videota palvelimelta, toista alkuperäinen, vaikka transkoodattu versio olisi saatavilla. Tämä voi johtaa puskurointiin. Paikalliset videot toistetaan aina alkuperäislaadulla.",
|
"setting_video_viewer_original_video_subtitle": "Kun toistat videota palvelimelta, toista alkuperäinen, vaikka transkoodattu versio olisi saatavilla. Tämä voi johtaa puskurointiin. Paikalliset videot toistetaan aina alkuperäislaadulla.",
|
||||||
"setting_video_viewer_original_video_title": "Pakota alkuperäinen video",
|
"setting_video_viewer_original_video_title": "Pakota alkuperäinen video",
|
||||||
"settings": "Asetukset",
|
"settings": "Asetukset",
|
||||||
"settings_require_restart": "Käynnistä Immich uudelleen ottaaksesti tämän asetuksen käyttöön",
|
"settings_require_restart": "Käynnistä Immich uudelleen ottaaksesi tämä asetus käyttöön",
|
||||||
"settings_saved": "Asetukset tallennettu",
|
"settings_saved": "Asetukset tallennettu",
|
||||||
"setup_pin_code": "Määritä PIN-koodi",
|
"setup_pin_code": "Määritä PIN-koodi",
|
||||||
"share": "Jaa",
|
"share": "Jaa",
|
||||||
@@ -1830,7 +1875,7 @@
|
|||||||
"sharing_sidebar_description": "Näytä jakamislinkki sivupalkissa",
|
"sharing_sidebar_description": "Näytä jakamislinkki sivupalkissa",
|
||||||
"sharing_silver_appbar_create_shared_album": "Luo jaettu albumi",
|
"sharing_silver_appbar_create_shared_album": "Luo jaettu albumi",
|
||||||
"sharing_silver_appbar_share_partner": "Jaa kumppanille",
|
"sharing_silver_appbar_share_partner": "Jaa kumppanille",
|
||||||
"shift_to_permanent_delete": "Paina ⇧ poistaaksesi median pysyvästi",
|
"shift_to_permanent_delete": "Paina ⇧ poistaaksesi media pysyvästi",
|
||||||
"show_album_options": "Näytä albumin asetukset",
|
"show_album_options": "Näytä albumin asetukset",
|
||||||
"show_albums": "Näytä albumit",
|
"show_albums": "Näytä albumit",
|
||||||
"show_all_people": "Näytä kaikki henkilöt",
|
"show_all_people": "Näytä kaikki henkilöt",
|
||||||
@@ -1851,6 +1896,7 @@
|
|||||||
"show_slideshow_transition": "Näytä diaesitys siirtymä",
|
"show_slideshow_transition": "Näytä diaesitys siirtymä",
|
||||||
"show_supporter_badge": "Kannattajan merkki",
|
"show_supporter_badge": "Kannattajan merkki",
|
||||||
"show_supporter_badge_description": "Näytä kannattajan merkki",
|
"show_supporter_badge_description": "Näytä kannattajan merkki",
|
||||||
|
"show_text_search_menu": "Näytä tekstihakuvalikko",
|
||||||
"shuffle": "Sekoita",
|
"shuffle": "Sekoita",
|
||||||
"sidebar": "Sivupalkki",
|
"sidebar": "Sivupalkki",
|
||||||
"sidebar_display_description": "Näytä linkki näkymään sivupalkissa",
|
"sidebar_display_description": "Näytä linkki näkymään sivupalkissa",
|
||||||
@@ -1881,6 +1927,7 @@
|
|||||||
"stacktrace": "Vianetsintätiedot",
|
"stacktrace": "Vianetsintätiedot",
|
||||||
"start": "Aloita",
|
"start": "Aloita",
|
||||||
"start_date": "Alkupäivä",
|
"start_date": "Alkupäivä",
|
||||||
|
"start_date_before_end_date": "Aloituspäivämäärän pitää olla ennen lopetuspäivämäärää",
|
||||||
"state": "Maakunta",
|
"state": "Maakunta",
|
||||||
"status": "Tila",
|
"status": "Tila",
|
||||||
"stop_casting": "Lopeta suoratoisto",
|
"stop_casting": "Lopeta suoratoisto",
|
||||||
@@ -1905,6 +1952,8 @@
|
|||||||
"sync_albums_manual_subtitle": "Synkronoi kaikki ladatut videot ja valokuvat valittuihin varmuuskopioalbumeihin",
|
"sync_albums_manual_subtitle": "Synkronoi kaikki ladatut videot ja valokuvat valittuihin varmuuskopioalbumeihin",
|
||||||
"sync_local": "Synkronoi paikallinen",
|
"sync_local": "Synkronoi paikallinen",
|
||||||
"sync_remote": "Synkronoi etä",
|
"sync_remote": "Synkronoi etä",
|
||||||
|
"sync_status": "Synkronoinnin status",
|
||||||
|
"sync_status_subtitle": "Näytä ja hallinnoi synkronointijärjestelmää",
|
||||||
"sync_upload_album_setting_subtitle": "Luo ja lataa valokuvasi ja videosi valittuihin albumeihin Immichissä",
|
"sync_upload_album_setting_subtitle": "Luo ja lataa valokuvasi ja videosi valittuihin albumeihin Immichissä",
|
||||||
"tag": "Tunniste",
|
"tag": "Tunniste",
|
||||||
"tag_assets": "Lisää tunnisteita",
|
"tag_assets": "Lisää tunnisteita",
|
||||||
@@ -1942,7 +1991,9 @@
|
|||||||
"to_change_password": "Vaihda salasana",
|
"to_change_password": "Vaihda salasana",
|
||||||
"to_favorite": "Aseta suosikiksi",
|
"to_favorite": "Aseta suosikiksi",
|
||||||
"to_login": "Kirjaudu sisään",
|
"to_login": "Kirjaudu sisään",
|
||||||
|
"to_multi_select": "usean valitsemiseksi",
|
||||||
"to_parent": "Siirry vanhempaan",
|
"to_parent": "Siirry vanhempaan",
|
||||||
|
"to_select": "valitsemiseksi",
|
||||||
"to_trash": "Roskakoriin",
|
"to_trash": "Roskakoriin",
|
||||||
"toggle_settings": "Määritä asetukset",
|
"toggle_settings": "Määritä asetukset",
|
||||||
"total": "Yhteensä",
|
"total": "Yhteensä",
|
||||||
@@ -1950,7 +2001,7 @@
|
|||||||
"trash": "Roskakori",
|
"trash": "Roskakori",
|
||||||
"trash_action_prompt": "{count} siirretty roskakoriin",
|
"trash_action_prompt": "{count} siirretty roskakoriin",
|
||||||
"trash_all": "Vie kaikki roskakoriin",
|
"trash_all": "Vie kaikki roskakoriin",
|
||||||
"trash_count": "Roskakori {count, number}",
|
"trash_count": "Vie {count, number} roskakoriin",
|
||||||
"trash_delete_asset": "Poista / vie roskakoriin",
|
"trash_delete_asset": "Poista / vie roskakoriin",
|
||||||
"trash_emptied": "Roskakori tyhjennetty",
|
"trash_emptied": "Roskakori tyhjennetty",
|
||||||
"trash_no_results_message": "Roskakorissa olevat kuvat ja videot näytetään täällä.",
|
"trash_no_results_message": "Roskakorissa olevat kuvat ja videot näytetään täällä.",
|
||||||
@@ -1962,6 +2013,7 @@
|
|||||||
"trash_page_select_assets_btn": "Valitse kohteet",
|
"trash_page_select_assets_btn": "Valitse kohteet",
|
||||||
"trash_page_title": "Roskakori ({count})",
|
"trash_page_title": "Roskakori ({count})",
|
||||||
"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ä.",
|
||||||
|
"troubleshoot": "Vianetsintä",
|
||||||
"type": "Tyyppi",
|
"type": "Tyyppi",
|
||||||
"unable_to_change_pin_code": "PIN-koodin vaihtaminen epäonnistui",
|
"unable_to_change_pin_code": "PIN-koodin vaihtaminen epäonnistui",
|
||||||
"unable_to_setup_pin_code": "PIN-koodin määrittäminen epäonnistui",
|
"unable_to_setup_pin_code": "PIN-koodin määrittäminen epäonnistui",
|
||||||
@@ -1992,6 +2044,7 @@
|
|||||||
"unstacked_assets_count": "Poistettu pinosta {count, plural, one {# kohde} other {# kohdetta}}",
|
"unstacked_assets_count": "Poistettu pinosta {count, plural, one {# kohde} other {# kohdetta}}",
|
||||||
"untagged": "Ilman tunnistetta",
|
"untagged": "Ilman tunnistetta",
|
||||||
"up_next": "Seuraavaksi",
|
"up_next": "Seuraavaksi",
|
||||||
|
"update_location_action_prompt": "Päivitä {count} kohteen sijaintia:",
|
||||||
"updated_at": "Päivitetty",
|
"updated_at": "Päivitetty",
|
||||||
"updated_password": "Salasana päivitetty",
|
"updated_password": "Salasana päivitetty",
|
||||||
"upload": "Siirrä palvelimelle",
|
"upload": "Siirrä palvelimelle",
|
||||||
@@ -2058,6 +2111,7 @@
|
|||||||
"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_qr_code": "Näytä QR-koodi",
|
"view_qr_code": "Näytä QR-koodi",
|
||||||
|
"view_similar_photos": "Näytä samankaltaiset kuvat",
|
||||||
"view_stack": "Näytä pinona",
|
"view_stack": "Näytä pinona",
|
||||||
"view_user": "Näytä käyttäjä",
|
"view_user": "Näytä käyttäjä",
|
||||||
"viewer_remove_from_stack": "Poista pinosta",
|
"viewer_remove_from_stack": "Poista pinosta",
|
||||||
@@ -2076,5 +2130,6 @@
|
|||||||
"yes": "Kyllä",
|
"yes": "Kyllä",
|
||||||
"you_dont_have_any_shared_links": "Sinulla ei ole jaettuja linkkejä",
|
"you_dont_have_any_shared_links": "Sinulla ei ole jaettuja linkkejä",
|
||||||
"your_wifi_name": "Wi-Fi-verkkosi nimi",
|
"your_wifi_name": "Wi-Fi-verkkosi nimi",
|
||||||
"zoom_image": "Zoomaa kuvaa"
|
"zoom_image": "Zoomaa kuvaa",
|
||||||
|
"zoom_to_bounds": "Zoomaa reunoihin"
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -28,10 +28,12 @@
|
|||||||
"add_to_album": "Ajouter à l'album",
|
"add_to_album": "Ajouter à l'album",
|
||||||
"add_to_album_bottom_sheet_added": "Ajouté à {album}",
|
"add_to_album_bottom_sheet_added": "Ajouté à {album}",
|
||||||
"add_to_album_bottom_sheet_already_exists": "Déjà dans {album}",
|
"add_to_album_bottom_sheet_already_exists": "Déjà dans {album}",
|
||||||
|
"add_to_album_bottom_sheet_some_local_assets": "Certains médias n'ont pas pu être ajoutés à l'album",
|
||||||
"add_to_album_toggle": "Basculer la sélection pour {album}",
|
"add_to_album_toggle": "Basculer la sélection pour {album}",
|
||||||
"add_to_albums": "Ajouter aux albums",
|
"add_to_albums": "Ajouter aux albums",
|
||||||
"add_to_albums_count": "Ajouter aux albums ({count})",
|
"add_to_albums_count": "Ajouter aux albums ({count})",
|
||||||
"add_to_shared_album": "Ajouter à l'album partagé",
|
"add_to_shared_album": "Ajouter à l'album partagé",
|
||||||
|
"add_upload_to_stack": "Ajouter les éléments téléversés à la pile",
|
||||||
"add_url": "Ajouter l'URL",
|
"add_url": "Ajouter l'URL",
|
||||||
"added_to_archive": "Ajouté à l'archive",
|
"added_to_archive": "Ajouté à l'archive",
|
||||||
"added_to_favorites": "Ajouté aux favoris",
|
"added_to_favorites": "Ajouté aux favoris",
|
||||||
@@ -598,7 +600,8 @@
|
|||||||
"backup_controller_page_turn_on": "Activer la sauvegarde au premier plan",
|
"backup_controller_page_turn_on": "Activer la sauvegarde au premier plan",
|
||||||
"backup_controller_page_uploading_file_info": "Envoi des informations du fichier",
|
"backup_controller_page_uploading_file_info": "Envoi des informations du fichier",
|
||||||
"backup_err_only_album": "Impossible de retirer le seul album",
|
"backup_err_only_album": "Impossible de retirer le seul album",
|
||||||
"backup_info_card_assets": "éléments",
|
"backup_error_sync_failed": "Échec de la synchronisation. Impossible d'exécuter la sauvegarde.",
|
||||||
|
"backup_info_card_assets": "médias",
|
||||||
"backup_manual_cancelled": "Annulé",
|
"backup_manual_cancelled": "Annulé",
|
||||||
"backup_manual_in_progress": "Envoi déjà en cours. Réessayez plus tard",
|
"backup_manual_in_progress": "Envoi déjà en cours. Réessayez plus tard",
|
||||||
"backup_manual_success": "Succès",
|
"backup_manual_success": "Succès",
|
||||||
|
|||||||
635
i18n/gl.json
56
i18n/he.json
@@ -15,7 +15,7 @@
|
|||||||
"add_a_name": "הוספת שם",
|
"add_a_name": "הוספת שם",
|
||||||
"add_a_title": "הוספת כותרת",
|
"add_a_title": "הוספת כותרת",
|
||||||
"add_birthday": "הוספת יום הולדת",
|
"add_birthday": "הוספת יום הולדת",
|
||||||
"add_endpoint": "הוסף נקודת קצה",
|
"add_endpoint": "הוסף כתובת URL",
|
||||||
"add_exclusion_pattern": "הוספת דפוס החרגה",
|
"add_exclusion_pattern": "הוספת דפוס החרגה",
|
||||||
"add_import_path": "הוספת נתיב יבוא",
|
"add_import_path": "הוספת נתיב יבוא",
|
||||||
"add_location": "הוספת מיקום",
|
"add_location": "הוספת מיקום",
|
||||||
@@ -28,9 +28,10 @@
|
|||||||
"add_to_album": "הוספה לאלבום",
|
"add_to_album": "הוספה לאלבום",
|
||||||
"add_to_album_bottom_sheet_added": "נוסף ל {album}",
|
"add_to_album_bottom_sheet_added": "נוסף ל {album}",
|
||||||
"add_to_album_bottom_sheet_already_exists": "כבר ב {album}",
|
"add_to_album_bottom_sheet_already_exists": "כבר ב {album}",
|
||||||
|
"add_to_album_bottom_sheet_some_local_assets": "לא ניתן היה להוסיף חלק מהקבצים המקומיים לאלבום",
|
||||||
"add_to_album_toggle": "החלפת מצב בחירה עבור {album}",
|
"add_to_album_toggle": "החלפת מצב בחירה עבור {album}",
|
||||||
"add_to_albums": "הוספה לאלבומים",
|
"add_to_albums": "הוספה לאלבומים",
|
||||||
"add_to_albums_count": "Add to albums ({count})",
|
"add_to_albums_count": "הוסף ({count}) לאלבום",
|
||||||
"add_to_shared_album": "הוספה לאלבום משותף",
|
"add_to_shared_album": "הוספה לאלבום משותף",
|
||||||
"add_url": "הוספת קישור",
|
"add_url": "הוספת קישור",
|
||||||
"added_to_archive": "נוסף לארכיון",
|
"added_to_archive": "נוסף לארכיון",
|
||||||
@@ -124,8 +125,12 @@
|
|||||||
"logging_level_description": "כאשר פועל, באיזה רמת יומן לתעד.",
|
"logging_level_description": "כאשר פועל, באיזה רמת יומן לתעד.",
|
||||||
"logging_settings": "רישום ביומן",
|
"logging_settings": "רישום ביומן",
|
||||||
"machine_learning_availability_checks": "בדיקת זמינות",
|
"machine_learning_availability_checks": "בדיקת זמינות",
|
||||||
|
"machine_learning_availability_checks_description": "זהה ותעדף אוטומטית שרתי למידת מכונה זמינים",
|
||||||
"machine_learning_availability_checks_enabled": "הפעלת בדיקות זמינות",
|
"machine_learning_availability_checks_enabled": "הפעלת בדיקות זמינות",
|
||||||
"machine_learning_availability_checks_interval": "תזמון בדיקה",
|
"machine_learning_availability_checks_interval": "תזמון בדיקה",
|
||||||
|
"machine_learning_availability_checks_interval_description": "מרווח זמן במילישניות בין בדיקות זמינות",
|
||||||
|
"machine_learning_availability_checks_timeout": "פסק זמן לבקשה",
|
||||||
|
"machine_learning_availability_checks_timeout_description": "פסק זמן במילישניות עבור בדיקות זמינות",
|
||||||
"machine_learning_clip_model": "מודל CLIP",
|
"machine_learning_clip_model": "מודל CLIP",
|
||||||
"machine_learning_clip_model_description": "שמו של מודל CLIP רשום <link>כאן</link>. שים לב שעליך להפעיל מחדש את המשימה 'חיפוש חכם' עבור כל התמונות בעת שינוי מודל.",
|
"machine_learning_clip_model_description": "שמו של מודל CLIP רשום <link>כאן</link>. שים לב שעליך להפעיל מחדש את המשימה 'חיפוש חכם' עבור כל התמונות בעת שינוי מודל.",
|
||||||
"machine_learning_duplicate_detection": "איתור כפילויות",
|
"machine_learning_duplicate_detection": "איתור כפילויות",
|
||||||
@@ -399,7 +404,7 @@
|
|||||||
"advanced_settings_proxy_headers_title": "כותרות פרוקסי",
|
"advanced_settings_proxy_headers_title": "כותרות פרוקסי",
|
||||||
"advanced_settings_readonly_mode_subtitle": "מאפשר את מצב לקריאה בלבד בו התמונות ניתנות לצפייה בלבד, דברים כמו בחירת תמונות מרובות, שיתוף, שידור, מחיקה הם כולם מושבתים. אפשר/השבת מצב לקריאה בלבד באמצעות יצגן המשתמש מהמסך הראשי",
|
"advanced_settings_readonly_mode_subtitle": "מאפשר את מצב לקריאה בלבד בו התמונות ניתנות לצפייה בלבד, דברים כמו בחירת תמונות מרובות, שיתוף, שידור, מחיקה הם כולם מושבתים. אפשר/השבת מצב לקריאה בלבד באמצעות יצגן המשתמש מהמסך הראשי",
|
||||||
"advanced_settings_readonly_mode_title": "מצב לקריאה בלבד",
|
"advanced_settings_readonly_mode_title": "מצב לקריאה בלבד",
|
||||||
"advanced_settings_self_signed_ssl_subtitle": "מדלג על אימות תעודת SSL עבור נקודת הקצה של השרת. דרוש עבור תעודות בחתימה עצמית.",
|
"advanced_settings_self_signed_ssl_subtitle": "מדלג על אימות תעודת SSL עבור כתובת URL של השרת. דרוש עבור תעודות בחתימה עצמית.",
|
||||||
"advanced_settings_self_signed_ssl_title": "התר תעודות SSL בחתימה עצמית",
|
"advanced_settings_self_signed_ssl_title": "התר תעודות SSL בחתימה עצמית",
|
||||||
"advanced_settings_sync_remote_deletions_subtitle": "מחק או שחזר תמונה במכשיר זה באופן אוטומטי כאשר פעולה זו נעשית בדפדפן",
|
"advanced_settings_sync_remote_deletions_subtitle": "מחק או שחזר תמונה במכשיר זה באופן אוטומטי כאשר פעולה זו נעשית בדפדפן",
|
||||||
"advanced_settings_sync_remote_deletions_title": "סנכרן מחיקות שבוצעו במכשירים אחרים [נסיוני]",
|
"advanced_settings_sync_remote_deletions_title": "סנכרן מחיקות שבוצעו במכשירים אחרים [נסיוני]",
|
||||||
@@ -498,6 +503,8 @@
|
|||||||
"asset_restored_successfully": "תמונה שוחזרה בהצלחה",
|
"asset_restored_successfully": "תמונה שוחזרה בהצלחה",
|
||||||
"asset_skipped": "דילג",
|
"asset_skipped": "דילג",
|
||||||
"asset_skipped_in_trash": "באשפה",
|
"asset_skipped_in_trash": "באשפה",
|
||||||
|
"asset_trashed": "התמונה הועברה לאשפה",
|
||||||
|
"asset_troubleshoot": "פתרון בעיות בתמונות",
|
||||||
"asset_uploaded": "הועלה",
|
"asset_uploaded": "הועלה",
|
||||||
"asset_uploading": "מעלה…",
|
"asset_uploading": "מעלה…",
|
||||||
"asset_viewer_settings_subtitle": "ניהול הגדרות מציג הגלריה שלך",
|
"asset_viewer_settings_subtitle": "ניהול הגדרות מציג הגלריה שלך",
|
||||||
@@ -531,8 +538,10 @@
|
|||||||
"autoplay_slideshow": "מצגת תמונות אוטומטית",
|
"autoplay_slideshow": "מצגת תמונות אוטומטית",
|
||||||
"back": "חזרה",
|
"back": "חזרה",
|
||||||
"back_close_deselect": "חזור, סגור, או בטל בחירה",
|
"back_close_deselect": "חזור, סגור, או בטל בחירה",
|
||||||
|
"background_backup_running_error": "גיבוי ברקע פועל כעת, לא ניתן להפעיל גיבוי ידני",
|
||||||
"background_location_permission": "הרשאת מיקום ברקע",
|
"background_location_permission": "הרשאת מיקום ברקע",
|
||||||
"background_location_permission_content": "כדי להחליף רשתות בעת ריצה ברקע, היישום צריך *תמיד* גישה למיקום מדויק על מנת לקרוא את השם של רשת האינטרנט האלחוטי",
|
"background_location_permission_content": "כדי להחליף רשתות בעת ריצה ברקע, היישום צריך *תמיד* גישה למיקום מדויק על מנת לקרוא את השם של רשת האינטרנט האלחוטי",
|
||||||
|
"background_options": "אפשרויות רקע",
|
||||||
"backup": "גיבוי",
|
"backup": "גיבוי",
|
||||||
"backup_album_selection_page_albums_device": "({count}) אלבומים במכשיר",
|
"backup_album_selection_page_albums_device": "({count}) אלבומים במכשיר",
|
||||||
"backup_album_selection_page_albums_tap": "הקש כדי לכלול, הקש פעמיים כדי להחריג",
|
"backup_album_selection_page_albums_tap": "הקש כדי לכלול, הקש פעמיים כדי להחריג",
|
||||||
@@ -540,6 +549,7 @@
|
|||||||
"backup_album_selection_page_select_albums": "בחירת אלבומים",
|
"backup_album_selection_page_select_albums": "בחירת אלבומים",
|
||||||
"backup_album_selection_page_selection_info": "פרטי בחירה",
|
"backup_album_selection_page_selection_info": "פרטי בחירה",
|
||||||
"backup_album_selection_page_total_assets": "סה״כ תמונות ייחודיות",
|
"backup_album_selection_page_total_assets": "סה״כ תמונות ייחודיות",
|
||||||
|
"backup_albums_sync": "סנכרון אלבומי גיבוי",
|
||||||
"backup_all": "הכל",
|
"backup_all": "הכל",
|
||||||
"backup_background_service_backup_failed_message": "נכשל בגיבוי תמונות. מנסה שוב…",
|
"backup_background_service_backup_failed_message": "נכשל בגיבוי תמונות. מנסה שוב…",
|
||||||
"backup_background_service_connection_failed_message": "נכשל בהתחברות לשרת. מנסה שוב…",
|
"backup_background_service_connection_failed_message": "נכשל בהתחברות לשרת. מנסה שוב…",
|
||||||
@@ -582,13 +592,14 @@
|
|||||||
"backup_controller_page_start_backup": "התחל גיבוי",
|
"backup_controller_page_start_backup": "התחל גיבוי",
|
||||||
"backup_controller_page_status_off": "גיבוי חזית אוטומטי כבוי",
|
"backup_controller_page_status_off": "גיבוי חזית אוטומטי כבוי",
|
||||||
"backup_controller_page_status_on": "גיבוי חזית אוטומטי מופעל",
|
"backup_controller_page_status_on": "גיבוי חזית אוטומטי מופעל",
|
||||||
"backup_controller_page_storage_format": "{used}מתוך {total} בשימוש",
|
"backup_controller_page_storage_format": "{used} מתוך {total} בשימוש",
|
||||||
"backup_controller_page_to_backup": "אלבומים לגבות",
|
"backup_controller_page_to_backup": "אלבומים לגבות",
|
||||||
"backup_controller_page_total_sub": "כל התמונות והסרטונים הייחודיים מאלבומים שנבחרו",
|
"backup_controller_page_total_sub": "כל התמונות והסרטונים הייחודיים מאלבומים שנבחרו",
|
||||||
"backup_controller_page_turn_off": "כיבוי גיבוי חזית",
|
"backup_controller_page_turn_off": "כיבוי גיבוי חזית",
|
||||||
"backup_controller_page_turn_on": "הפעל גיבוי חזית",
|
"backup_controller_page_turn_on": "הפעל גיבוי חזית",
|
||||||
"backup_controller_page_uploading_file_info": "מעלה מידע על הקובץ",
|
"backup_controller_page_uploading_file_info": "מעלה מידע על הקובץ",
|
||||||
"backup_err_only_album": "לא ניתן להסיר את האלבום היחיד",
|
"backup_err_only_album": "לא ניתן להסיר את האלבום היחיד",
|
||||||
|
"backup_error_sync_failed": "הסינכרון נכשל. לא ניתן להשלים את הגיבוי.",
|
||||||
"backup_info_card_assets": "תמונות",
|
"backup_info_card_assets": "תמונות",
|
||||||
"backup_manual_cancelled": "בוטל",
|
"backup_manual_cancelled": "בוטל",
|
||||||
"backup_manual_in_progress": "העלאה כבר בתהליך. נסה אחרי זמן מה",
|
"backup_manual_in_progress": "העלאה כבר בתהליך. נסה אחרי זמן מה",
|
||||||
@@ -656,6 +667,8 @@
|
|||||||
"change_pin_code": "שנה קוד PIN",
|
"change_pin_code": "שנה קוד PIN",
|
||||||
"change_your_password": "החלף את הסיסמה שלך",
|
"change_your_password": "החלף את הסיסמה שלך",
|
||||||
"changed_visibility_successfully": "הנראות שונתה בהצלחה",
|
"changed_visibility_successfully": "הנראות שונתה בהצלחה",
|
||||||
|
"charging": "טוען",
|
||||||
|
"charging_requirement_mobile_backup": "גיבוי ברקע דורש טעינה של המכשיר",
|
||||||
"check_corrupt_asset_backup": "בדוק גיבויים פגומים של תמונות",
|
"check_corrupt_asset_backup": "בדוק גיבויים פגומים של תמונות",
|
||||||
"check_corrupt_asset_backup_button": "בצע בדיקה",
|
"check_corrupt_asset_backup_button": "בצע בדיקה",
|
||||||
"check_corrupt_asset_backup_description": "הרץ בדיקה זו רק על Wi-Fi ולאחר שכל התמונות גובו. ההליך עשוי לקחת כמה דקות.",
|
"check_corrupt_asset_backup_description": "הרץ בדיקה זו רק על Wi-Fi ולאחר שכל התמונות גובו. ההליך עשוי לקחת כמה דקות.",
|
||||||
@@ -742,6 +755,7 @@
|
|||||||
"create_user": "צור משתמש",
|
"create_user": "צור משתמש",
|
||||||
"created": "נוצר",
|
"created": "נוצר",
|
||||||
"created_at": "נוצר",
|
"created_at": "נוצר",
|
||||||
|
"creating_linked_albums": "יוצר אלבומים מקושרים...",
|
||||||
"crop": "חתוך",
|
"crop": "חתוך",
|
||||||
"curated_object_page_title": "דברים",
|
"curated_object_page_title": "דברים",
|
||||||
"current_device": "מכשיר נוכחי",
|
"current_device": "מכשיר נוכחי",
|
||||||
@@ -891,7 +905,9 @@
|
|||||||
"error": "שגיאה",
|
"error": "שגיאה",
|
||||||
"error_change_sort_album": "שינוי סדר מיון אלבום נכשל",
|
"error_change_sort_album": "שינוי סדר מיון אלבום נכשל",
|
||||||
"error_delete_face": "שגיאה במחיקת פנים מתמונה",
|
"error_delete_face": "שגיאה במחיקת פנים מתמונה",
|
||||||
|
"error_getting_places": "שגיאה בקבלת מקומות",
|
||||||
"error_loading_image": "שגיאה בטעינת התמונה",
|
"error_loading_image": "שגיאה בטעינת התמונה",
|
||||||
|
"error_loading_partners": "שגיאה בטעינת שותפים: {error}",
|
||||||
"error_saving_image": "שגיאה: {error}",
|
"error_saving_image": "שגיאה: {error}",
|
||||||
"error_tag_face_bounding_box": "שגיאה בתיוג הפנים – לא ניתן לקבל את קואורדינטות המסגרת",
|
"error_tag_face_bounding_box": "שגיאה בתיוג הפנים – לא ניתן לקבל את קואורדינטות המסגרת",
|
||||||
"error_title": "שגיאה - משהו השתבש",
|
"error_title": "שגיאה - משהו השתבש",
|
||||||
@@ -1056,6 +1072,7 @@
|
|||||||
"favorites_page_no_favorites": "לא נמצאו תמונות מועדפים",
|
"favorites_page_no_favorites": "לא נמצאו תמונות מועדפים",
|
||||||
"feature_photo_updated": "תמונה מייצגת עודכנה",
|
"feature_photo_updated": "תמונה מייצגת עודכנה",
|
||||||
"features": "תכונות",
|
"features": "תכונות",
|
||||||
|
"features_in_development": "תכונות בפיתוח",
|
||||||
"features_setting_description": "ניהול תכונות היישום",
|
"features_setting_description": "ניהול תכונות היישום",
|
||||||
"file_name": "שם הקובץ",
|
"file_name": "שם הקובץ",
|
||||||
"file_name_or_extension": "שם קובץ או סיומת",
|
"file_name_or_extension": "שם קובץ או סיומת",
|
||||||
@@ -1220,6 +1237,7 @@
|
|||||||
"local": "מקומי",
|
"local": "מקומי",
|
||||||
"local_asset_cast_failed": "לא ניתן לשדר תמונה שלא הועלתה לשרת",
|
"local_asset_cast_failed": "לא ניתן לשדר תמונה שלא הועלתה לשרת",
|
||||||
"local_assets": "תמונות מקומיות",
|
"local_assets": "תמונות מקומיות",
|
||||||
|
"local_media_summary": "סיכום של מדיה מקומית",
|
||||||
"local_network": "רשת מקומית",
|
"local_network": "רשת מקומית",
|
||||||
"local_network_sheet_info": "היישום יתחבר לשרת דרך הכתובת הזאת כאשר משתמשים ברשת האינטרנט האלחוטי שמצוינת",
|
"local_network_sheet_info": "היישום יתחבר לשרת דרך הכתובת הזאת כאשר משתמשים ברשת האינטרנט האלחוטי שמצוינת",
|
||||||
"location_permission": "הרשאת מיקום",
|
"location_permission": "הרשאת מיקום",
|
||||||
@@ -1231,6 +1249,7 @@
|
|||||||
"location_picker_longitude_hint": "הזן את קו האורך שלך כאן",
|
"location_picker_longitude_hint": "הזן את קו האורך שלך כאן",
|
||||||
"lock": "נעל",
|
"lock": "נעל",
|
||||||
"locked_folder": "תיקיה נעולה",
|
"locked_folder": "תיקיה נעולה",
|
||||||
|
"log_detail_title": "פרטי יומן",
|
||||||
"log_out": "התנתק",
|
"log_out": "התנתק",
|
||||||
"log_out_all_devices": "התנתק מכל המכשירים",
|
"log_out_all_devices": "התנתק מכל המכשירים",
|
||||||
"logged_in_as": "מחובר כ {user}",
|
"logged_in_as": "מחובר כ {user}",
|
||||||
@@ -1242,7 +1261,7 @@
|
|||||||
"login_form_back_button_text": "חזרה",
|
"login_form_back_button_text": "חזרה",
|
||||||
"login_form_email_hint": "yourmail@email.com",
|
"login_form_email_hint": "yourmail@email.com",
|
||||||
"login_form_endpoint_hint": "http://your-server-ip:port",
|
"login_form_endpoint_hint": "http://your-server-ip:port",
|
||||||
"login_form_endpoint_url": "כתובת נקודת קצה השרת",
|
"login_form_endpoint_url": "כתובת URL של השרת",
|
||||||
"login_form_err_http": "נא לציין //:http או //:https",
|
"login_form_err_http": "נא לציין //:http או //:https",
|
||||||
"login_form_err_invalid_email": "דוא\"ל שגוי",
|
"login_form_err_invalid_email": "דוא\"ל שגוי",
|
||||||
"login_form_err_invalid_url": "כתובת לא חוקית",
|
"login_form_err_invalid_url": "כתובת לא חוקית",
|
||||||
@@ -1261,6 +1280,7 @@
|
|||||||
"login_password_changed_success": "סיסמה עודכנה בהצלחה",
|
"login_password_changed_success": "סיסמה עודכנה בהצלחה",
|
||||||
"logout_all_device_confirmation": "האם באמת ברצונך להתנתק מכל המכשירים?",
|
"logout_all_device_confirmation": "האם באמת ברצונך להתנתק מכל המכשירים?",
|
||||||
"logout_this_device_confirmation": "האם באמת ברצונך להתנתק מהמכשיר הזה?",
|
"logout_this_device_confirmation": "האם באמת ברצונך להתנתק מהמכשיר הזה?",
|
||||||
|
"logs": "יומנים",
|
||||||
"longitude": "קו אורך",
|
"longitude": "קו אורך",
|
||||||
"look": "מראה",
|
"look": "מראה",
|
||||||
"loop_videos": "הפעלה חוזרת של סרטונים",
|
"loop_videos": "הפעלה חוזרת של סרטונים",
|
||||||
@@ -1303,6 +1323,7 @@
|
|||||||
"mark_as_read": "סמן כנקרא",
|
"mark_as_read": "סמן כנקרא",
|
||||||
"marked_all_as_read": "כל ההתראות סומנו כנקראו",
|
"marked_all_as_read": "כל ההתראות סומנו כנקראו",
|
||||||
"matches": "התאמות",
|
"matches": "התאמות",
|
||||||
|
"matching_assets": "תמונות תואמות",
|
||||||
"media_type": "סוג מדיה",
|
"media_type": "סוג מדיה",
|
||||||
"memories": "זכרונות",
|
"memories": "זכרונות",
|
||||||
"memories_all_caught_up": "ראית הכל",
|
"memories_all_caught_up": "ראית הכל",
|
||||||
@@ -1343,9 +1364,10 @@
|
|||||||
"name_or_nickname": "שם או כינוי",
|
"name_or_nickname": "שם או כינוי",
|
||||||
"network_requirement_photos_upload": "השתמש בנתונים ניידים לגיבוי תמונות",
|
"network_requirement_photos_upload": "השתמש בנתונים ניידים לגיבוי תמונות",
|
||||||
"network_requirement_videos_upload": "השתמש בנתונים ניידים לגיבוי סרטונים",
|
"network_requirement_videos_upload": "השתמש בנתונים ניידים לגיבוי סרטונים",
|
||||||
|
"network_requirements": "דרישות רשת",
|
||||||
"network_requirements_updated": "דרישות הרשת השתנו, תור הגיבוי אופס",
|
"network_requirements_updated": "דרישות הרשת השתנו, תור הגיבוי אופס",
|
||||||
"networking_settings": "רשת",
|
"networking_settings": "רשת",
|
||||||
"networking_subtitle": "ניהול הגדרות נקודת קצה שרת",
|
"networking_subtitle": "ניהול הגדרות כתובת URL של השרת",
|
||||||
"never": "אף פעם",
|
"never": "אף פעם",
|
||||||
"new_album": "אלבום חדש",
|
"new_album": "אלבום חדש",
|
||||||
"new_api_key": "מפתח API חדש",
|
"new_api_key": "מפתח API חדש",
|
||||||
@@ -1353,6 +1375,7 @@
|
|||||||
"new_person": "אדם חדש",
|
"new_person": "אדם חדש",
|
||||||
"new_pin_code": "קוד PIN חדש",
|
"new_pin_code": "קוד PIN חדש",
|
||||||
"new_pin_code_subtitle": "זאת הפעם הראשונה שנכנסת לתיקיה הנעולה. צור קוד PIN כדי לאבטח את הגישה לדף זה",
|
"new_pin_code_subtitle": "זאת הפעם הראשונה שנכנסת לתיקיה הנעולה. צור קוד PIN כדי לאבטח את הגישה לדף זה",
|
||||||
|
"new_timeline": "ציר הזמן החדש",
|
||||||
"new_user_created": "משתמש חדש נוצר",
|
"new_user_created": "משתמש חדש נוצר",
|
||||||
"new_version_available": "גרסה חדשה זמינה",
|
"new_version_available": "גרסה חדשה זמינה",
|
||||||
"newest_first": "החדש ביותר ראשון",
|
"newest_first": "החדש ביותר ראשון",
|
||||||
@@ -1366,20 +1389,25 @@
|
|||||||
"no_assets_message": "לחץ כדי להעלות את התמונה הראשונה שלך",
|
"no_assets_message": "לחץ כדי להעלות את התמונה הראשונה שלך",
|
||||||
"no_assets_to_show": "אין תמונות להצגה",
|
"no_assets_to_show": "אין תמונות להצגה",
|
||||||
"no_cast_devices_found": "לא נמצאו מכשירי שידור",
|
"no_cast_devices_found": "לא נמצאו מכשירי שידור",
|
||||||
|
"no_checksum_local": "אין Checksum זמין - לא ניתן לאחזר תמונות מקומיות",
|
||||||
|
"no_checksum_remote": "אין Checksum זמין - לא ניתן לאחזר תמונות מהשרת",
|
||||||
"no_duplicates_found": "לא נמצאו כפילויות.",
|
"no_duplicates_found": "לא נמצאו כפילויות.",
|
||||||
"no_exif_info_available": "אין מידע זמין על מטא-נתונים (exif)",
|
"no_exif_info_available": "אין מידע זמין על מטא-נתונים (exif)",
|
||||||
"no_explore_results_message": "העלה תמונות נוספות כדי לחקור את האוסף שלך.",
|
"no_explore_results_message": "העלה תמונות נוספות כדי לחקור את האוסף שלך.",
|
||||||
"no_favorites_message": "הוסף מועדפים כדי למצוא במהירות את התמונות והסרטונים הכי טובים שלך",
|
"no_favorites_message": "הוסף מועדפים כדי למצוא במהירות את התמונות והסרטונים הכי טובים שלך",
|
||||||
"no_libraries_message": "צור ספרייה חיצונית כדי לראות את התמונות והסרטונים שלך",
|
"no_libraries_message": "צור ספרייה חיצונית כדי לראות את התמונות והסרטונים שלך",
|
||||||
|
"no_local_assets_found": "לא נמצאו תמונות עם Checksum זהה",
|
||||||
"no_locked_photos_message": "תמונות וסרטונים בתיקייה הנעולה מוסתרים ולא יופיעו בזמן הגלישה או החיפוש בספרייה שלך.",
|
"no_locked_photos_message": "תמונות וסרטונים בתיקייה הנעולה מוסתרים ולא יופיעו בזמן הגלישה או החיפוש בספרייה שלך.",
|
||||||
"no_name": "אין שם",
|
"no_name": "אין שם",
|
||||||
"no_notifications": "אין התראות",
|
"no_notifications": "אין התראות",
|
||||||
"no_people_found": "לא נמצאו אנשים תואמים",
|
"no_people_found": "לא נמצאו אנשים תואמים",
|
||||||
"no_places": "אין מקומות",
|
"no_places": "אין מקומות",
|
||||||
|
"no_remote_assets_found": "לא נמצאו תמונות בשרת עם Checksum זהה",
|
||||||
"no_results": "אין תוצאות",
|
"no_results": "אין תוצאות",
|
||||||
"no_results_description": "נסה להשתמש במילה נרדפת או במילת מפתח יותר כללית",
|
"no_results_description": "נסה להשתמש במילה נרדפת או במילת מפתח יותר כללית",
|
||||||
"no_shared_albums_message": "צור אלבום כדי לשתף תמונות וסרטונים עם אנשים ברשת שלך",
|
"no_shared_albums_message": "צור אלבום כדי לשתף תמונות וסרטונים עם אנשים ברשת שלך",
|
||||||
"no_uploads_in_progress": "אין העלאות בתהליך",
|
"no_uploads_in_progress": "אין העלאות בתהליך",
|
||||||
|
"not_available": "לא רלוונטי",
|
||||||
"not_in_any_album": "לא בשום אלבום",
|
"not_in_any_album": "לא בשום אלבום",
|
||||||
"not_selected": "לא נבחרו",
|
"not_selected": "לא נבחרו",
|
||||||
"note_apply_storage_label_to_previously_uploaded assets": "הערה: כדי להחיל את תווית האחסון על תמונות שהועלו בעבר, הפעל את",
|
"note_apply_storage_label_to_previously_uploaded assets": "הערה: כדי להחיל את תווית האחסון על תמונות שהועלו בעבר, הפעל את",
|
||||||
@@ -1475,7 +1503,7 @@
|
|||||||
"permission_onboarding_permission_limited": "הרשאה מוגבלת. כדי לתת ליישום לגבות ולנהל את כל אוסף הגלריה שלך, הענק הרשאה לתמונות וסרטונים בהגדרות.",
|
"permission_onboarding_permission_limited": "הרשאה מוגבלת. כדי לתת ליישום לגבות ולנהל את כל אוסף הגלריה שלך, הענק הרשאה לתמונות וסרטונים בהגדרות.",
|
||||||
"permission_onboarding_request": "היישום דורש הרשאה כדי לראות את התמונות והסרטונים שלך.",
|
"permission_onboarding_request": "היישום דורש הרשאה כדי לראות את התמונות והסרטונים שלך.",
|
||||||
"person": "אדם",
|
"person": "אדם",
|
||||||
"person_age_months": "בגיל {months, plural, one {חודש #} other {# חודשים}}",
|
"person_age_months": "{months, plural, one {חודש #} other {# חודשים}}",
|
||||||
"person_age_year_months": "בגיל שנה ו{months, plural, one {חודש #} other {# חודשים}}",
|
"person_age_year_months": "בגיל שנה ו{months, plural, one {חודש #} other {# חודשים}}",
|
||||||
"person_age_years": "בגיל {years, plural, other {# שנים}}",
|
"person_age_years": "בגיל {years, plural, other {# שנים}}",
|
||||||
"person_birthdate": "נולד בתאריך {date}",
|
"person_birthdate": "נולד בתאריך {date}",
|
||||||
@@ -1501,6 +1529,7 @@
|
|||||||
"port": "יציאה",
|
"port": "יציאה",
|
||||||
"preferences_settings_subtitle": "ניהול העדפות יישום",
|
"preferences_settings_subtitle": "ניהול העדפות יישום",
|
||||||
"preferences_settings_title": "העדפות",
|
"preferences_settings_title": "העדפות",
|
||||||
|
"preparing": "בהכנה",
|
||||||
"preset": "הגדרות קבועות מראש",
|
"preset": "הגדרות קבועות מראש",
|
||||||
"preview": "תצוגה מקדימה",
|
"preview": "תצוגה מקדימה",
|
||||||
"previous": "הקודם",
|
"previous": "הקודם",
|
||||||
@@ -1741,7 +1770,7 @@
|
|||||||
"selected_gps_coordinates": "קואורדינטות GPS שנבחרו",
|
"selected_gps_coordinates": "קואורדינטות GPS שנבחרו",
|
||||||
"send_message": "שלח הודעה",
|
"send_message": "שלח הודעה",
|
||||||
"send_welcome_email": "שלח דוא\"ל קבלת פנים",
|
"send_welcome_email": "שלח דוא\"ל קבלת פנים",
|
||||||
"server_endpoint": "נקודת קצה שרת",
|
"server_endpoint": "כתובת URL של השרת",
|
||||||
"server_info_box_app_version": "גרסת יישום",
|
"server_info_box_app_version": "גרסת יישום",
|
||||||
"server_info_box_server_url": "כתובת שרת",
|
"server_info_box_server_url": "כתובת שרת",
|
||||||
"server_offline": "השרת מנותק",
|
"server_offline": "השרת מנותק",
|
||||||
@@ -1867,6 +1896,7 @@
|
|||||||
"show_slideshow_transition": "הצג מעבר מצגת",
|
"show_slideshow_transition": "הצג מעבר מצגת",
|
||||||
"show_supporter_badge": "תג תומך",
|
"show_supporter_badge": "תג תומך",
|
||||||
"show_supporter_badge_description": "הצג תג תומך",
|
"show_supporter_badge_description": "הצג תג תומך",
|
||||||
|
"show_text_search_menu": "הצג תפריט חיפוש טקסט",
|
||||||
"shuffle": "ערבוב",
|
"shuffle": "ערבוב",
|
||||||
"sidebar": "סרגל צד",
|
"sidebar": "סרגל צד",
|
||||||
"sidebar_display_description": "הצג קישור לתצוגה בסרגל הצד",
|
"sidebar_display_description": "הצג קישור לתצוגה בסרגל הצד",
|
||||||
@@ -1897,6 +1927,7 @@
|
|||||||
"stacktrace": "Stack trace",
|
"stacktrace": "Stack trace",
|
||||||
"start": "התחל",
|
"start": "התחל",
|
||||||
"start_date": "תאריך התחלה",
|
"start_date": "תאריך התחלה",
|
||||||
|
"start_date_before_end_date": "תאריך ההתחלה חייב להיות לפני תאריך הסיום",
|
||||||
"state": "מדינה",
|
"state": "מדינה",
|
||||||
"status": "מצב",
|
"status": "מצב",
|
||||||
"stop_casting": "הפסקת שידור",
|
"stop_casting": "הפסקת שידור",
|
||||||
@@ -1920,8 +1951,8 @@
|
|||||||
"sync_albums": "סנכרן אלבומים",
|
"sync_albums": "סנכרן אלבומים",
|
||||||
"sync_albums_manual_subtitle": "סנכרן את כל הסרטונים והתמונות שהועלו לאלבומי הגיבוי שנבחרו",
|
"sync_albums_manual_subtitle": "סנכרן את כל הסרטונים והתמונות שהועלו לאלבומי הגיבוי שנבחרו",
|
||||||
"sync_local": "סנכרן מקומי",
|
"sync_local": "סנכרן מקומי",
|
||||||
"sync_remote": "סנכרן נקודת קצה מרוחקת",
|
"sync_remote": "סנכרן מהשרת",
|
||||||
"sync_status": "סנכרן מצב",
|
"sync_status": "סטטוס סנכרון",
|
||||||
"sync_status_subtitle": "הצג ונהל את מערכת הסנכרון",
|
"sync_status_subtitle": "הצג ונהל את מערכת הסנכרון",
|
||||||
"sync_upload_album_setting_subtitle": "צור והעלה תמונות וסרטונים שלך לאלבומים שנבחרו ביישום",
|
"sync_upload_album_setting_subtitle": "צור והעלה תמונות וסרטונים שלך לאלבומים שנבחרו ביישום",
|
||||||
"tag": "תג",
|
"tag": "תג",
|
||||||
@@ -2056,7 +2087,7 @@
|
|||||||
"users_added_to_album_count": "נוספו {count, plural, one {משתמש #} other {# משתמשים}} לאלבום",
|
"users_added_to_album_count": "נוספו {count, plural, one {משתמש #} other {# משתמשים}} לאלבום",
|
||||||
"utilities": "כלים",
|
"utilities": "כלים",
|
||||||
"validate": "לאמת",
|
"validate": "לאמת",
|
||||||
"validate_endpoint_error": "נא להזין כתובת תקנית",
|
"validate_endpoint_error": "נא להזין כתובת URL תקנית",
|
||||||
"variables": "משתנים",
|
"variables": "משתנים",
|
||||||
"version": "גרסה",
|
"version": "גרסה",
|
||||||
"version_announcement_closing": "החבר שלך, אלכס",
|
"version_announcement_closing": "החבר שלך, אלכס",
|
||||||
@@ -2099,5 +2130,6 @@
|
|||||||
"yes": "כן",
|
"yes": "כן",
|
||||||
"you_dont_have_any_shared_links": "אין לך קישורים משותפים",
|
"you_dont_have_any_shared_links": "אין לך קישורים משותפים",
|
||||||
"your_wifi_name": "שם אינטרנט אלחוטי שלך",
|
"your_wifi_name": "שם אינטרנט אלחוטי שלך",
|
||||||
"zoom_image": "זום לתמונה"
|
"zoom_image": "זום לתמונה",
|
||||||
|
"zoom_to_bounds": "התמקד באזור"
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -28,6 +28,7 @@
|
|||||||
"add_to_album": "एल्बम में डालें",
|
"add_to_album": "एल्बम में डालें",
|
||||||
"add_to_album_bottom_sheet_added": "{album} में डालें",
|
"add_to_album_bottom_sheet_added": "{album} में डालें",
|
||||||
"add_to_album_bottom_sheet_already_exists": "{album} में पहले से है",
|
"add_to_album_bottom_sheet_already_exists": "{album} में पहले से है",
|
||||||
|
"add_to_albums": "एकाधिक एल्बम में डाले",
|
||||||
"add_to_shared_album": "शेयर किए गए एल्बम में डालें",
|
"add_to_shared_album": "शेयर किए गए एल्बम में डालें",
|
||||||
"add_url": "URL डालें",
|
"add_url": "URL डालें",
|
||||||
"added_to_archive": "संग्रहीत कर दिया गया है",
|
"added_to_archive": "संग्रहीत कर दिया गया है",
|
||||||
|
|||||||
189
i18n/hr.json
@@ -15,9 +15,9 @@
|
|||||||
"add_a_name": "Dodaj ime",
|
"add_a_name": "Dodaj ime",
|
||||||
"add_a_title": "Dodaj naslov",
|
"add_a_title": "Dodaj naslov",
|
||||||
"add_birthday": "Dodaj rođendan",
|
"add_birthday": "Dodaj rođendan",
|
||||||
"add_endpoint": "Dodaj krajnju točnu",
|
"add_endpoint": "Dodaj krajnju točku",
|
||||||
"add_exclusion_pattern": "Dodaj uzorak izuzimanja",
|
"add_exclusion_pattern": "Dodaj uzorak izuzimanja",
|
||||||
"add_import_path": "Dodaj import folder",
|
"add_import_path": "Dodaj putanju uvoza",
|
||||||
"add_location": "Dodaj lokaciju",
|
"add_location": "Dodaj lokaciju",
|
||||||
"add_more_users": "Dodaj još korisnika",
|
"add_more_users": "Dodaj još korisnika",
|
||||||
"add_partner": "Dodaj partnera",
|
"add_partner": "Dodaj partnera",
|
||||||
@@ -28,35 +28,37 @@
|
|||||||
"add_to_album": "Dodaj u album",
|
"add_to_album": "Dodaj u album",
|
||||||
"add_to_album_bottom_sheet_added": "Dodano u {album}",
|
"add_to_album_bottom_sheet_added": "Dodano u {album}",
|
||||||
"add_to_album_bottom_sheet_already_exists": "Već u {album}",
|
"add_to_album_bottom_sheet_already_exists": "Već u {album}",
|
||||||
|
"add_to_album_bottom_sheet_some_local_assets": "Neke lokalne stavke nije moguće dodati u album",
|
||||||
"add_to_album_toggle": "Uključi/isključi odabir za {album}",
|
"add_to_album_toggle": "Uključi/isključi odabir za {album}",
|
||||||
"add_to_albums": "Dodaj u albume",
|
"add_to_albums": "Dodaj u albume",
|
||||||
"add_to_albums_count": "Dodaj u albume ({count})",
|
"add_to_albums_count": "Dodaj u albume ({count})",
|
||||||
"add_to_shared_album": "Dodaj u dijeljeni album",
|
"add_to_shared_album": "Dodaj u dijeljeni album",
|
||||||
|
"add_upload_to_stack": "Dodaj preneseno u skup",
|
||||||
"add_url": "Dodaj URL",
|
"add_url": "Dodaj URL",
|
||||||
"added_to_archive": "Dodano u arhivu",
|
"added_to_archive": "Dodano u arhivu",
|
||||||
"added_to_favorites": "Dodano u omiljeno",
|
"added_to_favorites": "Dodano u omiljeno",
|
||||||
"added_to_favorites_count": "Dodano {count, number} u omiljeno",
|
"added_to_favorites_count": "Dodano {count, number} u omiljeno",
|
||||||
"admin": {
|
"admin": {
|
||||||
"add_exclusion_pattern_description": "Dodajte uzorke izuzimanja. Globiranje pomoću *, ** i ? je podržano. Za ignoriranje svih datoteka u bilo kojem direktoriju pod nazivom \"Raw\", koristite \"**/Raw/**\". Da biste zanemarili sve datoteke koje završavaju na \".tif\", koristite \"**/*.tif\". Da biste zanemarili apsolutni put, koristite \"/path/to/ignore/**\".",
|
"add_exclusion_pattern_description": "Dodajte uzorke izuzimanja. Globiranje pomoću *, ** i ? je podržano. Za ignoriranje svih datoteka u bilo kojem direktoriju pod nazivom \"Raw\", koristite \"**/Raw/**\". Kako biste ignorirali sve datoteke koje završavaju na \".tif\", koristite \"**/*.tif\". Kako biste ignorirali apsolutnu putanju, koristite \"/putanja/za/ignoriranje/**\".",
|
||||||
"admin_user": "Administrator",
|
"admin_user": "Administrator",
|
||||||
"asset_offline_description": "Ovo sredstvo vanjske knjižnice više nije pronađeno na disku i premješteno je u smeće. Ako je datoteka premještena unutar biblioteke, provjerite svoju vremensku traku za novo odgovarajuće sredstvo. Da biste vratili ovo sredstvo, provjerite može li Immich pristupiti donjoj stazi datoteke i skenirajte biblioteku.",
|
"asset_offline_description": "Ova stavka vanjske biblioteke nije pronađena na disku i premještena je u smeće. Ako je datoteka premještena unutar biblioteke, provjerite svoju vremensku traku za novu odgovarajuću stavku. Da biste vratili ovu stavku, provjerite može li Immich pristupiti donjoj putanji datoteke i skenirajte biblioteku.",
|
||||||
"authentication_settings": "Postavke autentikacije",
|
"authentication_settings": "Postavke autentifikacije",
|
||||||
"authentication_settings_description": "Uredi lozinku, OAuth, i druge postavke autentikacije",
|
"authentication_settings_description": "Upravljajte lozinkom, OAuthom i drugim postavkama autentifikacije",
|
||||||
"authentication_settings_disable_all": "Jeste li sigurni da želite onemogućenit sve načine prijave? Prijava će biti potpuno onemogućena.",
|
"authentication_settings_disable_all": "Jeste li sigurni da želite onemogućiti sve načine prijave? Prijava će biti potpuno onemogućena.",
|
||||||
"authentication_settings_reenable": "Za ponovno uključivanje upotrijebite <link>naredbu poslužitelja</link>.",
|
"authentication_settings_reenable": "Za ponovno uključivanje upotrijebite <link>naredbu servera</link>.",
|
||||||
"background_task_job": "Pozadinski zadaci",
|
"background_task_job": "Pozadinski zadaci",
|
||||||
"backup_database": "Kreiraj sigurnosnu kopiju baze podataka",
|
"backup_database": "Kreiraj sigurnosnu kopiju baze podataka",
|
||||||
"backup_database_enable_description": "Omogućite sigurnosne kopije baze podataka",
|
"backup_database_enable_description": "Omogućite sigurnosne kopije baze podataka",
|
||||||
"backup_keep_last_amount": "Količina prethodnih sigurnosnih kopija za čuvanje",
|
"backup_keep_last_amount": "Količina prethodnih sigurnosnih kopija za čuvanje",
|
||||||
"backup_onboarding_1_description": "kopija izvan lokacije u oblaku ili na drugoj fizičkoj lokaciji.",
|
"backup_onboarding_1_description": "kopija izvan lokacije u oblaku ili na drugoj fizičkoj lokaciji.",
|
||||||
"backup_onboarding_2_description": "lokalne kopije na različitim uređajima. To uključuje glavne datoteke i sigurnosnu kopiju tih datoteka lokalno.",
|
"backup_onboarding_2_description": "lokalne kopije na različitim uređajima. To uključuje glavne datoteke i lokalnu sigurnosnu kopiju tih datoteka.",
|
||||||
"backup_onboarding_3_description": "ukupne kopije vaših podataka, uključujući izvorne datoteke. To uključuje 1 kopiju izvan lokacije i 2 lokalne kopije.",
|
"backup_onboarding_3_description": "ukupne kopije vaših podataka, uključujući izvorne datoteke. To uključuje 1 kopiju izvan lokacije i 2 lokalne kopije.",
|
||||||
"backup_onboarding_description": "Preporučuje se <backblaze-link>3-2-1 strategija sigurnosnog kopiranja</backblaze-link> za zaštitu vaših podataka. Trebali biste čuvati kopije svojih prenesenih fotografija/videozapisa kao i Immich bazu podataka za sveobuhvatno rješenje sigurnosne kopije.",
|
"backup_onboarding_description": "Preporučuje se <backblaze-link>3-2-1 strategija sigurnosnog kopiranja</backblaze-link> za zaštitu vaših podataka. Trebali biste čuvati kopije svojih prenesenih fotografija/videozapisa kao i Immich bazu podataka za sveobuhvatno rješenje sigurnosne kopije.",
|
||||||
"backup_onboarding_footer": "Za više informacija o sigurnosnom kopiranju Immich, molimo pogledajte <link>dokumentaciju</link>.",
|
"backup_onboarding_footer": "Za više informacija o sigurnosnom kopiranju Immicha, molimo pogledajte <link>dokumentaciju</link>.",
|
||||||
"backup_onboarding_parts_title": "3-2-1 sigurnosna kopija uključuje:",
|
"backup_onboarding_parts_title": "3-2-1 sigurnosna kopija uključuje:",
|
||||||
"backup_onboarding_title": "Sigurnosne kopije",
|
"backup_onboarding_title": "Sigurnosne kopije",
|
||||||
"backup_settings": "Postavke sigurnosne kopije",
|
"backup_settings": "Postavke sigurnosne kopije baze podataka",
|
||||||
"backup_settings_description": "Upravljajte postavkama izvoza baze podataka.",
|
"backup_settings_description": "Upravljajte postavkama sigurnosne kopije baze podataka.",
|
||||||
"cleared_jobs": "Izbrisani poslovi za: {job}",
|
"cleared_jobs": "Izbrisani poslovi za: {job}",
|
||||||
"config_set_by_file": "Konfiguracija je trenutno postavljena konfiguracijskom datotekom",
|
"config_set_by_file": "Konfiguracija je trenutno postavljena konfiguracijskom datotekom",
|
||||||
"confirm_delete_library": "Jeste li sigurni da želite izbrisati biblioteku {library}?",
|
"confirm_delete_library": "Jeste li sigurni da želite izbrisati biblioteku {library}?",
|
||||||
@@ -65,23 +67,23 @@
|
|||||||
"confirm_reprocess_all_faces": "Jeste li sigurni da želite ponovno obraditi sva lica? Ovo će također obrisati imenovane osobe.",
|
"confirm_reprocess_all_faces": "Jeste li sigurni da želite ponovno obraditi sva lica? Ovo će također obrisati imenovane osobe.",
|
||||||
"confirm_user_password_reset": "Jeste li sigurni da želite poništiti lozinku korisnika {user}?",
|
"confirm_user_password_reset": "Jeste li sigurni da želite poništiti lozinku korisnika {user}?",
|
||||||
"confirm_user_pin_code_reset": "Jeste li sigurni da želite resetirati PIN korisnika {user}?",
|
"confirm_user_pin_code_reset": "Jeste li sigurni da želite resetirati PIN korisnika {user}?",
|
||||||
"create_job": "Izradi zadatak",
|
"create_job": "Stvori posao",
|
||||||
"cron_expression": "Cron izraz (expression)",
|
"cron_expression": "Cron izraz",
|
||||||
"cron_expression_description": "Postavite interval skeniranja koristeći cron format. Za više informacija pogledajte npr. <link>Crontab Guru</link>",
|
"cron_expression_description": "Postavite interval skeniranja koristeći cron format. Za više informacija pogledajte npr. <link>Crontab Guru</link>",
|
||||||
"cron_expression_presets": "Cron unaprijed postavljene postavke izraza",
|
"cron_expression_presets": "Unaprijed postavljene postavke cron izraza",
|
||||||
"disable_login": "Onemogući prijavu",
|
"disable_login": "Onemogući prijavu",
|
||||||
"duplicate_detection_job_description": "Pokrenite strojno učenje na materijalima kako biste otkrili slične slike. Oslanja se na Pametno Pretraživanje",
|
"duplicate_detection_job_description": "Pokrenite strojno učenje na stavkama kako biste otkrili slične slike. Oslanja se na Pametno pretraživanje",
|
||||||
"exclusion_pattern_description": "Uzorci izuzimanja omogućuju vam da zanemarite datoteke i mape prilikom skeniranja svoje biblioteke. Ovo je korisno ako imate mape koje sadrže datoteke koje ne želite uvesti, kao što su RAW datoteke.",
|
"exclusion_pattern_description": "Uzorci izuzimanja omogućuju vam da ignorirate datoteke i mape prilikom skeniranja svoje biblioteke. Ovo je korisno ako imate mape koje sadrže datoteke koje ne želite uvesti, kao što su RAW datoteke.",
|
||||||
"external_library_management": "Upravljanje vanjskom knjižnicom",
|
"external_library_management": "Upravljanje vanjskom bibliotekom",
|
||||||
"face_detection": "Detekcija lica",
|
"face_detection": "Detekcija lica",
|
||||||
"face_detection_description": "Prepoznajte lica u sredstvima pomoću strojnog učenja. Za videozapise u obzir se uzima samo minijaturni prikaz. \"Sve\" (ponovno) obrađuje svu imovinu. \"Nedostaje\" stavlja u red čekanja sredstva koja još nisu obrađena. Otkrivena lica bit će stavljena u red čekanja za prepoznavanje lica nakon dovršetka prepoznavanja lica, grupirajući ih u postojeće ili nove osobe.",
|
"face_detection_description": "Detektirajte lica u stavkama pomoću strojnog učenja. Za videozapise se uzima u obzir samo sličica. \"Osvježi\" (ponovno) obrađuje sve stavke. \"Poništi\" dodatno briše sve trenutne podatke o licu. \"Nedostaje\" stavlja u red čekanja stavke koje još nisu obrađene. Detektirana lica bit će stavljena u red čekanja za Prepoznavanje lica nakon što se dovrši Detekcija lica, grupirajući ih u postojeće ili nove osobe.",
|
||||||
"facial_recognition_job_description": "Grupirajte otkrivena lica u osobe. Ovaj se korak pokreće nakon dovršetka prepoznavanja lica. \"Sve\" (ponovno) grupira sva lica. \"Nedostajuća\" lica u redovima kojima nije dodijeljena osoba.",
|
"facial_recognition_job_description": "Grupirajte otkrivena lica u osobe. Ovaj korak se izvršava nakon što je Detekcija lica dovršena. \"Resetiraj\" (ponovno) grupira sva lica. \"Nedostaje\" stavlja u red lica kojima nije dodijeljena osoba.",
|
||||||
"failed_job_command": "Naredba {command} nije uspjela za posao: {job}",
|
"failed_job_command": "Naredba {command} nije uspjela za posao: {job}",
|
||||||
"force_delete_user_warning": "UPOZORENJE: Ovo će odmah ukloniti korisnika i sve pripadajuće podatke. Ovo se ne može poništiti i datoteke se ne mogu vratiti.",
|
"force_delete_user_warning": "UPOZORENJE: Ovo će odmah ukloniti korisnika i sve pripadajuće stavke. Ovo se ne može poništiti i datoteke se ne mogu vratiti.",
|
||||||
"image_format": "Format",
|
"image_format": "Format",
|
||||||
"image_format_description": "WebP proizvodi manje datoteke od JPEG-a, ali se sporije kodira.",
|
"image_format_description": "WebP proizvodi manje datoteke od JPEG-a, ali se sporije kodira.",
|
||||||
"image_fullsize_description": "Slika pune veličine bez meta podataka, koristi se prilikom zumiranja",
|
"image_fullsize_description": "Slika pune veličine bez metapodataka, koristi se prilikom zumiranja",
|
||||||
"image_fullsize_enabled": "Omogući generiranje slike pune veličine",
|
"image_fullsize_enabled": "Omogući generiranje slika pune veličine",
|
||||||
"image_fullsize_enabled_description": "Generiraj sliku pune veličine za formate koji nisu prilagođeni webu. Kada je opcija \"Preferiraj ugrađeni pregled\" omogućena, ugrađeni pregledi koriste se izravno bez konverzije. Ne utječe na formate prilagođene webu kao što je JPEG.",
|
"image_fullsize_enabled_description": "Generiraj sliku pune veličine za formate koji nisu prilagođeni webu. Kada je opcija \"Preferiraj ugrađeni pregled\" omogućena, ugrađeni pregledi koriste se izravno bez konverzije. Ne utječe na formate prilagođene webu kao što je JPEG.",
|
||||||
"image_fullsize_quality_description": "Kvaliteta slike pune veličine od 1 do 100. Veća vrijednost znači bolja kvaliteta, ali stvara veće datoteke.",
|
"image_fullsize_quality_description": "Kvaliteta slike pune veličine od 1 do 100. Veća vrijednost znači bolja kvaliteta, ali stvara veće datoteke.",
|
||||||
"image_fullsize_title": "Postavke slike pune veličine",
|
"image_fullsize_title": "Postavke slike pune veličine",
|
||||||
@@ -89,7 +91,7 @@
|
|||||||
"image_prefer_embedded_preview_setting_description": "Koristite ugrađene preglede u RAW fotografije kao ulaz za obradu slike kada su dostupni. To može proizvesti preciznije boje za neke slike, ali kvaliteta pregleda ovisi o kameri i slika može imati više artifakta kompresije.",
|
"image_prefer_embedded_preview_setting_description": "Koristite ugrađene preglede u RAW fotografije kao ulaz za obradu slike kada su dostupni. To može proizvesti preciznije boje za neke slike, ali kvaliteta pregleda ovisi o kameri i slika može imati više artifakta kompresije.",
|
||||||
"image_prefer_wide_gamut": "Preferirajte široku gamu",
|
"image_prefer_wide_gamut": "Preferirajte široku gamu",
|
||||||
"image_prefer_wide_gamut_setting_description": "Koristite Display P3 za sličice. Ovo bolje čuva živost slika sa širokim prostorima boja, ali slike mogu izgledati drugačije na starim uređajima sa starom verzijom preglednika. sRGB slike čuvaju se kao sRGB kako bi se izbjegle promjene boja.",
|
"image_prefer_wide_gamut_setting_description": "Koristite Display P3 za sličice. Ovo bolje čuva živost slika sa širokim prostorima boja, ali slike mogu izgledati drugačije na starim uređajima sa starom verzijom preglednika. sRGB slike čuvaju se kao sRGB kako bi se izbjegle promjene boja.",
|
||||||
"image_preview_description": "Slika srednje veličine s ogoljenim metapodacima, koristi se prilikom pregledavanja jednog sredstva i za strojno učenje",
|
"image_preview_description": "Slika srednje veličine s uklonjenim metapodacima, koristi se prilikom pregledavanja jedne stavke i za strojno učenje",
|
||||||
"image_preview_quality_description": "Kvaliteta pregleda od 1-100. Više je bolje, ali proizvodi veće datoteke i može smanjiti odziv aplikacije. Postavljanje niske vrijednosti može utjecati na kvalitetu strojnog učenja.",
|
"image_preview_quality_description": "Kvaliteta pregleda od 1-100. Više je bolje, ali proizvodi veće datoteke i može smanjiti odziv aplikacije. Postavljanje niske vrijednosti može utjecati na kvalitetu strojnog učenja.",
|
||||||
"image_preview_title": "Postavke pregleda",
|
"image_preview_title": "Postavke pregleda",
|
||||||
"image_quality": "Kvaliteta",
|
"image_quality": "Kvaliteta",
|
||||||
@@ -116,27 +118,31 @@
|
|||||||
"library_scanning_enable_description": "Omogući periodično skeniranje biblioteke",
|
"library_scanning_enable_description": "Omogući periodično skeniranje biblioteke",
|
||||||
"library_settings": "Externa biblioteka",
|
"library_settings": "Externa biblioteka",
|
||||||
"library_settings_description": "Upravljajte postavkama vanjske biblioteke",
|
"library_settings_description": "Upravljajte postavkama vanjske biblioteke",
|
||||||
"library_tasks_description": "Skeniraj eksterne biblioteke za nove i/ili promijenjene resurse",
|
"library_tasks_description": "Skeniraj vanjske biblioteke za nove i/ili promijenjene stavke",
|
||||||
"library_watching_enable_description": "Pratite vanjske biblioteke za promjena datoteke",
|
"library_watching_enable_description": "Pratite vanjske biblioteke za promjena datoteke",
|
||||||
"library_watching_settings": "Gledanje biblioteke (EKSPERIMENTALNO)",
|
"library_watching_settings": "Gledanje biblioteke (EKSPERIMENTALNO)",
|
||||||
"library_watching_settings_description": "Automatsko praćenje promijenjenih datoteke",
|
"library_watching_settings_description": "Automatsko praćenje promijenjenih datoteke",
|
||||||
"logging_enable_description": "Omogući zapisivanje",
|
"logging_enable_description": "Omogući zapisivanje",
|
||||||
"logging_level_description": "Kada je omogućeno, koju razinu zapisivanja koristiti.",
|
"logging_level_description": "Kada je omogućeno, koju razinu zapisivanja koristiti.",
|
||||||
"logging_settings": "Zapisivanje",
|
"logging_settings": "Zapisivanje",
|
||||||
|
"machine_learning_availability_checks": "Provjere dostupnosti",
|
||||||
|
"machine_learning_availability_checks_enabled": "Omogući provjere dostupnosti",
|
||||||
|
"machine_learning_availability_checks_interval": "Provjeri interval",
|
||||||
|
"machine_learning_availability_checks_interval_description": "Interval u milisekundama između provjera dostupnosti",
|
||||||
"machine_learning_clip_model": "CLIP model",
|
"machine_learning_clip_model": "CLIP model",
|
||||||
"machine_learning_clip_model_description": "Naziv CLIP modela navedenog <link>ovdje</link>. Imajte na umu da morate ponovno pokrenuti posao 'Pametno Pretraživanje' za sve slike nakon promjene modela.",
|
"machine_learning_clip_model_description": "Naziv CLIP modela navedenog <link>ovdje</link>. Imajte na umu da morate ponovno pokrenuti posao 'Pametno Pretraživanje' za sve slike nakon promjene modela.",
|
||||||
"machine_learning_duplicate_detection": "Detekcija Duplikata",
|
"machine_learning_duplicate_detection": "Detekcija Duplikata",
|
||||||
"machine_learning_duplicate_detection_enabled": "Omogući detekciju duplikata",
|
"machine_learning_duplicate_detection_enabled": "Omogući detekciju duplikata",
|
||||||
"machine_learning_duplicate_detection_enabled_description": "Ako je onemogućeno, potpuno identična sredstva i dalje će biti deduplicirana.",
|
"machine_learning_duplicate_detection_enabled_description": "Ako je onemogućeno, potpuno identične stavke i dalje će biti deduplicirane.",
|
||||||
"machine_learning_duplicate_detection_setting_description": "Upotrijebite CLIP ugradnje da biste pronašli vjerojatne duplikate",
|
"machine_learning_duplicate_detection_setting_description": "Upotrijebite CLIP ugradnje da biste pronašli vjerojatne duplikate",
|
||||||
"machine_learning_enabled": "Uključi strojsko učenje",
|
"machine_learning_enabled": "Uključi strojsko učenje",
|
||||||
"machine_learning_enabled_description": "Ukoliko je ovo isključeno, sve funkcije strojnoga učenja biti će isključene bez obzira na postavke ispod.",
|
"machine_learning_enabled_description": "Ukoliko je ovo isključeno, sve funkcije strojnoga učenja biti će isključene bez obzira na postavke ispod.",
|
||||||
"machine_learning_facial_recognition": "Detekcija lica",
|
"machine_learning_facial_recognition": "Prepoznavanje lica",
|
||||||
"machine_learning_facial_recognition_description": "Detektiraj, prepoznaj i grupiraj lica u fotografijama",
|
"machine_learning_facial_recognition_description": "Detektiraj, prepoznaj i grupiraj lica u fotografijama",
|
||||||
"machine_learning_facial_recognition_model": "Model prepoznavanja lica",
|
"machine_learning_facial_recognition_model": "Model prepoznavanja lica",
|
||||||
"machine_learning_facial_recognition_model_description": "Modeli su navedeni silaznim redoslijedom veličine. Veći modeli su sporiji i koriste više memorije, ali daju bolje rezultate. Imajte na umu da morate ponovno pokrenuti posao detekcije lica za sve slike nakon promjene modela.",
|
"machine_learning_facial_recognition_model_description": "Modeli su navedeni silaznim redoslijedom veličine. Veći modeli su sporiji i koriste više memorije, ali daju bolje rezultate. Imajte na umu da morate ponovno pokrenuti posao detekcije lica za sve slike nakon promjene modela.",
|
||||||
"machine_learning_facial_recognition_setting": "Omogući prepoznavanje lica",
|
"machine_learning_facial_recognition_setting": "Omogući prepoznavanje lica",
|
||||||
"machine_learning_facial_recognition_setting_description": "Ako je onemogućeno, slike neće biti kodirane za prepoznavanje lica i neće popuniti odjeljak Ljudi na stranici Istraživanje.",
|
"machine_learning_facial_recognition_setting_description": "Ako je onemogućeno, slike neće biti kodirane za prepoznavanje lica i neće popuniti odjeljak Osobe na stranici Istraži.",
|
||||||
"machine_learning_max_detection_distance": "Maksimalna udaljenost za detektiranje",
|
"machine_learning_max_detection_distance": "Maksimalna udaljenost za detektiranje",
|
||||||
"machine_learning_max_detection_distance_description": "Maksimalna udaljenost između dvije slike da bi se smatrale duplikatima, u rasponu od 0,001-0,1. Više vrijednosti otkrit će više duplikata, ali mogu rezultirati netočnim rezultatima.",
|
"machine_learning_max_detection_distance_description": "Maksimalna udaljenost između dvije slike da bi se smatrale duplikatima, u rasponu od 0,001-0,1. Više vrijednosti otkrit će više duplikata, ali mogu rezultirati netočnim rezultatima.",
|
||||||
"machine_learning_max_recognition_distance": "Maksimalna udaljenost za detekciju",
|
"machine_learning_max_recognition_distance": "Maksimalna udaljenost za detekciju",
|
||||||
@@ -144,7 +150,7 @@
|
|||||||
"machine_learning_min_detection_score": "Minimalni rezultat otkrivanja",
|
"machine_learning_min_detection_score": "Minimalni rezultat otkrivanja",
|
||||||
"machine_learning_min_detection_score_description": "Minimalni rezultat pouzdanosti za detektirano lice od 0-1. Niže vrijednosti otkrit će više lica, ali mogu dovesti do lažno pozitivnih rezultata.",
|
"machine_learning_min_detection_score_description": "Minimalni rezultat pouzdanosti za detektirano lice od 0-1. Niže vrijednosti otkrit će više lica, ali mogu dovesti do lažno pozitivnih rezultata.",
|
||||||
"machine_learning_min_recognized_faces": "Minimum prepoznatih lica",
|
"machine_learning_min_recognized_faces": "Minimum prepoznatih lica",
|
||||||
"machine_learning_min_recognized_faces_description": "Najmanji broj prepoznatih lica za osobu koja se stvara. Povećanje toga čini prepoznavanje lica preciznijim po cijenu povećanja šanse da lice nije dodijeljeno osobi.",
|
"machine_learning_min_recognized_faces_description": "Najmanji broj prepoznatih lica za osobu koja se stvara. Povećanje toga čini Prepoznavanje lica preciznijim po cijenu povećanja šanse da lice nije dodijeljeno osobi.",
|
||||||
"machine_learning_settings": "Postavke strojnog učenja",
|
"machine_learning_settings": "Postavke strojnog učenja",
|
||||||
"machine_learning_settings_description": "Upravljajte značajkama i postavkama strojnog učenja",
|
"machine_learning_settings_description": "Upravljajte značajkama i postavkama strojnog učenja",
|
||||||
"machine_learning_smart_search": "Pametna pretraga",
|
"machine_learning_smart_search": "Pametna pretraga",
|
||||||
@@ -170,21 +176,21 @@
|
|||||||
"memory_cleanup_job": "Čišćenje memorije",
|
"memory_cleanup_job": "Čišćenje memorije",
|
||||||
"memory_generate_job": "Generiranje memorije",
|
"memory_generate_job": "Generiranje memorije",
|
||||||
"metadata_extraction_job": "Izdvoj metapodatke",
|
"metadata_extraction_job": "Izdvoj metapodatke",
|
||||||
"metadata_extraction_job_description": "Izdvojite podatke o metapodacima iz svakog sredstva, kao što su GPS, lica i rezolucija",
|
"metadata_extraction_job_description": "Izdvojite metapodatke iz svake stavke, kao što su GPS, lica i rezolucija",
|
||||||
"metadata_faces_import_setting": "Omogući uvoz lica",
|
"metadata_faces_import_setting": "Omogući uvoz lica",
|
||||||
"metadata_faces_import_setting_description": "Uvezite lica iz EXIF podataka slike i sidecar datoteka",
|
"metadata_faces_import_setting_description": "Uvezite lica iz EXIF podataka slike i sidecar datoteka",
|
||||||
"metadata_settings": "Postavke Metapodataka",
|
"metadata_settings": "Postavke Metapodataka",
|
||||||
"metadata_settings_description": "Upravljanje postavkama metapodataka",
|
"metadata_settings_description": "Upravljanje postavkama metapodataka",
|
||||||
"migration_job": "Migracija",
|
"migration_job": "Migracija",
|
||||||
"migration_job_description": "Premjestite minijature za sredstva i lica u najnoviju strukturu mapa",
|
"migration_job_description": "Premjestite sličice za stavke i lica u najnoviju strukturu mapa",
|
||||||
"nightly_tasks_cluster_faces_setting_description": "Pokreni prepoznavanje lica na novootkrivenim licima",
|
"nightly_tasks_cluster_faces_setting_description": "Pokreni prepoznavanje lica na novootkrivenim licima",
|
||||||
"nightly_tasks_cluster_new_faces_setting": "Grupiraj nova lica",
|
"nightly_tasks_cluster_new_faces_setting": "Grupiraj nova lica",
|
||||||
"nightly_tasks_database_cleanup_setting": "Zadaci čišćenja baze podataka",
|
"nightly_tasks_database_cleanup_setting": "Zadaci čišćenja baze podataka",
|
||||||
"nightly_tasks_database_cleanup_setting_description": "Očisti stare, istekle podatke iz baze podataka",
|
"nightly_tasks_database_cleanup_setting_description": "Očisti stare, istekle podatke iz baze podataka",
|
||||||
"nightly_tasks_generate_memories_setting": "Generiraj uspomene",
|
"nightly_tasks_generate_memories_setting": "Generiraj uspomene",
|
||||||
"nightly_tasks_generate_memories_setting_description": "Stvori nove uspomene iz sadržaja",
|
"nightly_tasks_generate_memories_setting_description": "Stvori nove uspomene iz stavki",
|
||||||
"nightly_tasks_missing_thumbnails_setting": "Generiraj nedostajuće sličice",
|
"nightly_tasks_missing_thumbnails_setting": "Generiraj nedostajuće sličice",
|
||||||
"nightly_tasks_missing_thumbnails_setting_description": "Stavi u red čekanja sadržaje bez sličica za generiranje sličica",
|
"nightly_tasks_missing_thumbnails_setting_description": "Stavke bez sličica stavi u red čekanja za generiranje sličica",
|
||||||
"nightly_tasks_settings": "Postavke noćnih zadataka",
|
"nightly_tasks_settings": "Postavke noćnih zadataka",
|
||||||
"nightly_tasks_settings_description": "Upravljanje noćnim zadacima",
|
"nightly_tasks_settings_description": "Upravljanje noćnim zadacima",
|
||||||
"nightly_tasks_start_time_setting": "Vrijeme početka",
|
"nightly_tasks_start_time_setting": "Vrijeme početka",
|
||||||
@@ -193,7 +199,7 @@
|
|||||||
"nightly_tasks_sync_quota_usage_setting_description": "Ažuriraj korisničku kvotu za pohranu na temelju trenutne potrošnje",
|
"nightly_tasks_sync_quota_usage_setting_description": "Ažuriraj korisničku kvotu za pohranu na temelju trenutne potrošnje",
|
||||||
"no_paths_added": "Nema dodanih putanja",
|
"no_paths_added": "Nema dodanih putanja",
|
||||||
"no_pattern_added": "Nije dodan uzorak",
|
"no_pattern_added": "Nije dodan uzorak",
|
||||||
"note_apply_storage_label_previous_assets": "Napomena: da biste primijenili Oznaku Pohrane na prethodno prenesena sredstva, pokrenite",
|
"note_apply_storage_label_previous_assets": "Napomena: Da biste primijenili Oznaku pohrane na prethodno prenesene stavke, pokrenite",
|
||||||
"note_cannot_be_changed_later": "NAPOMENA: Ovo se ne može promijeniti kasnije!",
|
"note_cannot_be_changed_later": "NAPOMENA: Ovo se ne može promijeniti kasnije!",
|
||||||
"notification_email_from_address": "Od adrese",
|
"notification_email_from_address": "Od adrese",
|
||||||
"notification_email_from_address_description": "E-mail adresa pošiljatelja, na primjer: \"Immich Photo Server <noreply@example.com>\". Obavezno koristite adresu s koje vam je dopušteno slanje e-pošte.",
|
"notification_email_from_address_description": "E-mail adresa pošiljatelja, na primjer: \"Immich Photo Server <noreply@example.com>\". Obavezno koristite adresu s koje vam je dopušteno slanje e-pošte.",
|
||||||
@@ -260,21 +266,21 @@
|
|||||||
"sidecar_job": "Sidecar metapodaci",
|
"sidecar_job": "Sidecar metapodaci",
|
||||||
"sidecar_job_description": "Otkrijte ili sinkronizirajte sidecar metapodatke iz datotečnog sustava",
|
"sidecar_job_description": "Otkrijte ili sinkronizirajte sidecar metapodatke iz datotečnog sustava",
|
||||||
"slideshow_duration_description": "Broj sekundi za prikaz svake slike",
|
"slideshow_duration_description": "Broj sekundi za prikaz svake slike",
|
||||||
"smart_search_job_description": "Pokrenite strojno učenje na sredstvima za podršku pametnog pretraživanja",
|
"smart_search_job_description": "Pokrenite strojno učenje na stavkama za korištenje Pametnog pretraživanja",
|
||||||
"storage_template_date_time_description": "Vremenska oznaka stvaranja sredstva koristi se za informacije o datumu i vremenu",
|
"storage_template_date_time_description": "Vremenska oznaka stvaranja stavke koristi se za informacije o datumu i vremenu",
|
||||||
"storage_template_date_time_sample": "Vrijeme uzorka {date}",
|
"storage_template_date_time_sample": "Vrijeme uzorka {date}",
|
||||||
"storage_template_enable_description": "Omogući mehanizam predloška za pohranu",
|
"storage_template_enable_description": "Omogući mehanizam predloška za pohranu",
|
||||||
"storage_template_hash_verification_enabled": "Omogućena hash provjera",
|
"storage_template_hash_verification_enabled": "Omogućena hash provjera",
|
||||||
"storage_template_hash_verification_enabled_description": "Omogućuje hash provjeru, nemojte je onemogućiti osim ako niste sigurni u implikacije",
|
"storage_template_hash_verification_enabled_description": "Omogućuje hash provjeru, nemojte je onemogućiti osim ako niste sigurni u implikacije",
|
||||||
"storage_template_migration": "Migracija predloška za pohranu",
|
"storage_template_migration": "Migracija predloška za pohranu",
|
||||||
"storage_template_migration_description": "Primijenite trenutni <link>{template}</link> na prethodno prenesena sredstva",
|
"storage_template_migration_description": "Primijenite trenutni <link>{template}</link> na prethodno prenesene stavke",
|
||||||
"storage_template_migration_info": "Predložak za pohranu će sve nastavke (ekstenzije) pretvoriti u mala slova. Promjene predloška primjenjivat će se samo na nova sredstva. Za retroaktivnu primjenu predloška na prethodno prenesena sredstva, pokrenite <link>{job}</link>.",
|
"storage_template_migration_info": "Predložak za pohranu pretvorit će sve datotečne nastavke u mala slova. Promjene predloška primijenit će se samo na nove stavke. Da biste retroaktivno primijenili predložak na prethodno prenesene stavke, pokrenite <link>{job}<link>.",
|
||||||
"storage_template_migration_job": "Posao Migracije Predloška Pohrane",
|
"storage_template_migration_job": "Posao Migracije Predloška Pohrane",
|
||||||
"storage_template_more_details": "Za više pojedinosti o ovoj značajci pogledajte <template-link>Predložak pohrane</template-link> i njegove <implications-link>implikacije</implications-link>",
|
"storage_template_more_details": "Za više pojedinosti o ovoj značajci pogledajte <template-link>Predložak pohrane</template-link> i njegove <implications-link>implikacije</implications-link>",
|
||||||
"storage_template_onboarding_description_v2": "Kada je omogućena, ova će značajka automatski organizira datoteke prema predlošku koji je definirao korisnik. Za više informacija pogledajte <link>dokumentaciju</link>.",
|
"storage_template_onboarding_description_v2": "Kada je omogućena, ova će značajka automatski organizira datoteke prema predlošku koji je definirao korisnik. Za više informacija pogledajte <link>dokumentaciju</link>.",
|
||||||
"storage_template_path_length": "Približno ograničenje duljine putanje: <b>{length, number}</b>/{limit, number}",
|
"storage_template_path_length": "Približno ograničenje duljine putanje: <b>{length, number}</b>/{limit, number}",
|
||||||
"storage_template_settings": "Predložak pohrane",
|
"storage_template_settings": "Predložak pohrane",
|
||||||
"storage_template_settings_description": "Upravljajte strukturom mape i nazivom datoteke učitanog sredstva",
|
"storage_template_settings_description": "Upravljajte strukturom mape i nazivom datoteke učitane stavke",
|
||||||
"storage_template_user_label": "<code>{label}</code> je korisnička oznaka za pohranu",
|
"storage_template_user_label": "<code>{label}</code> je korisnička oznaka za pohranu",
|
||||||
"system_settings": "Postavke Sustava",
|
"system_settings": "Postavke Sustava",
|
||||||
"tag_cleanup_job": "Čišćenje oznaka",
|
"tag_cleanup_job": "Čišćenje oznaka",
|
||||||
@@ -292,7 +298,7 @@
|
|||||||
"theme_settings": "Postavke tema",
|
"theme_settings": "Postavke tema",
|
||||||
"theme_settings_description": "Upravljajte prilagodbom Immich web sučelja",
|
"theme_settings_description": "Upravljajte prilagodbom Immich web sučelja",
|
||||||
"thumbnail_generation_job": "Generirajte sličice",
|
"thumbnail_generation_job": "Generirajte sličice",
|
||||||
"thumbnail_generation_job_description": "Generirajte velike, male i zamućene sličice za svaki materijal, kao i sličice za svaku osobu",
|
"thumbnail_generation_job_description": "Generirajte velike, male i zamućene sličice za svaku stavku, kao i sličice za svaku osobu",
|
||||||
"transcoding_acceleration_api": "API ubrzanja",
|
"transcoding_acceleration_api": "API ubrzanja",
|
||||||
"transcoding_acceleration_api_description": "API koji će komunicirati s vašim uređajem radi ubrzanja transkodiranja. Ova postavka je 'najveći trud': vratit će se na softversko transkodiranje u slučaju kvara. VP9 može ili ne mora raditi ovisno o vašem hardveru.",
|
"transcoding_acceleration_api_description": "API koji će komunicirati s vašim uređajem radi ubrzanja transkodiranja. Ova postavka je 'najveći trud': vratit će se na softversko transkodiranje u slučaju kvara. VP9 može ili ne mora raditi ovisno o vašem hardveru.",
|
||||||
"transcoding_acceleration_nvenc": "NVENC (zahtjeva NVIDIA GPU)",
|
"transcoding_acceleration_nvenc": "NVENC (zahtjeva NVIDIA GPU)",
|
||||||
@@ -355,20 +361,20 @@
|
|||||||
"transcoding_video_codec_description": "VP9 ima visoku učinkovitost i web-kompatibilnost, ali treba dulje za transkodiranje. HEVC ima sličnu izvedbu, ali ima slabiju web kompatibilnost. H.264 široko je kompatibilan i brzo se transkodira, ali proizvodi mnogo veće datoteke. AV1 je najučinkovitiji kodek, ali nema podršku na starijim uređajima.",
|
"transcoding_video_codec_description": "VP9 ima visoku učinkovitost i web-kompatibilnost, ali treba dulje za transkodiranje. HEVC ima sličnu izvedbu, ali ima slabiju web kompatibilnost. H.264 široko je kompatibilan i brzo se transkodira, ali proizvodi mnogo veće datoteke. AV1 je najučinkovitiji kodek, ali nema podršku na starijim uređajima.",
|
||||||
"trash_enabled_description": "Omogućite značajke Smeća",
|
"trash_enabled_description": "Omogućite značajke Smeća",
|
||||||
"trash_number_of_days": "Broj dana",
|
"trash_number_of_days": "Broj dana",
|
||||||
"trash_number_of_days_description": "Broj dana za držanje sredstava u smeću prije njihovog trajnog uklanjanja",
|
"trash_number_of_days_description": "Broj dana za čuvanje stavki u smeću prije njihovog trajnog uklanjanja",
|
||||||
"trash_settings": "Postavke Smeća",
|
"trash_settings": "Postavke Smeća",
|
||||||
"trash_settings_description": "Upravljanje postavkama smeća",
|
"trash_settings_description": "Upravljanje postavkama smeća",
|
||||||
"unlink_all_oauth_accounts": "Odspoji sve OAuth račune",
|
"unlink_all_oauth_accounts": "Odspoji sve OAuth račune",
|
||||||
"unlink_all_oauth_accounts_description": "Zapamtite da odspojite sve OAuth račune prije prelaska na novog pružatelja usluge.",
|
"unlink_all_oauth_accounts_description": "Zapamtite da odspojite sve OAuth račune prije prelaska na novog pružatelja usluge.",
|
||||||
"unlink_all_oauth_accounts_prompt": "Jeste li sigurni da želite odspojiti sve OAuth račune? Ovo će resetirati OAuth ID za svakog korisnika i ne može se poništiti.",
|
"unlink_all_oauth_accounts_prompt": "Jeste li sigurni da želite odspojiti sve OAuth račune? Ovo će resetirati OAuth ID za svakog korisnika i ne može se poništiti.",
|
||||||
"user_cleanup_job": "Čišćenje korisnika",
|
"user_cleanup_job": "Čišćenje korisnika",
|
||||||
"user_delete_delay": "Račun i sredstva korisnika <b>{user}</b> bit će zakazani za trajno brisanje za {delay, plural, one {# day} other {# days}}.",
|
"user_delete_delay": "Račun i stavke korisnika <b>{user}</b> bit će stavljeni u red čekanja trajnog brisanja za {delay, plural, one {# dan} other {# dana}}.",
|
||||||
"user_delete_delay_settings": "Brisanje odgode",
|
"user_delete_delay_settings": "Brisanje odgode",
|
||||||
"user_delete_delay_settings_description": "Broj dana nakon uklanjanja za trajno brisanje korisničkog računa i imovine. Posao brisanja korisnika pokreće se u ponoć kako bi se provjerili korisnici koji su spremni za brisanje. Promjene ove postavke bit će procijenjene pri sljedećem izvršavanju.",
|
"user_delete_delay_settings_description": "Broj dana nakon uklanjanja za trajno brisanje korisničkog računa i stavki. Posao brisanja korisnika pokreće se u ponoć kako bi se provjerili korisnici koji su spremni za brisanje. Promjene ove postavke bit će procijenjene pri sljedećem izvršavanju.",
|
||||||
"user_delete_immediately": "Račun i sredstva korisnika <b>{user}</b> bit će stavljeni u red čekanja za trajno brisanje <b>odmah</b>.",
|
"user_delete_immediately": "Račun i stavke korisnika <b>{user}</b> bit će stavljeni u red čekanja za trajno brisanje <b>odmah</b>.",
|
||||||
"user_delete_immediately_checkbox": "Stavite korisnika i imovinu u red za trenutačno brisanje",
|
"user_delete_immediately_checkbox": "Stavite korisnika i stavke u red čekanja za trenutno brisanje",
|
||||||
"user_details": "Detalji korisnika",
|
"user_details": "Detalji korisnika",
|
||||||
"user_management": "Upravljanje Korisnicima",
|
"user_management": "Upravljanje korisnicima",
|
||||||
"user_password_has_been_reset": "Korisnička lozinka je poništena:",
|
"user_password_has_been_reset": "Korisnička lozinka je poništena:",
|
||||||
"user_password_reset_description": "Molimo dostavite privremenu lozinku korisniku i obavijestite ga da će morati promijeniti lozinku pri sljedećoj prijavi.",
|
"user_password_reset_description": "Molimo dostavite privremenu lozinku korisniku i obavijestite ga da će morati promijeniti lozinku pri sljedećoj prijavi.",
|
||||||
"user_restore_description": "Račun korisnika <b>{user}</b> bit će vraćen.",
|
"user_restore_description": "Račun korisnika <b>{user}</b> bit će vraćen.",
|
||||||
@@ -390,13 +396,13 @@
|
|||||||
"advanced_settings_enable_alternate_media_filter_subtitle": "Koristite ovu opciju za filtriranje medija tijekom sinkronizacije na temelju alternativnih kriterija. Pokušajte ovo samo ako imate problema s aplikacijom koja ne prepoznaje sve albume.",
|
"advanced_settings_enable_alternate_media_filter_subtitle": "Koristite ovu opciju za filtriranje medija tijekom sinkronizacije na temelju alternativnih kriterija. Pokušajte ovo samo ako imate problema s aplikacijom koja ne prepoznaje sve albume.",
|
||||||
"advanced_settings_enable_alternate_media_filter_title": "[EKSPERIMENTALNO] Koristite alternativni filter za sinkronizaciju albuma na uređaju",
|
"advanced_settings_enable_alternate_media_filter_title": "[EKSPERIMENTALNO] Koristite alternativni filter za sinkronizaciju albuma na uređaju",
|
||||||
"advanced_settings_log_level_title": "Razina zapisivanja: {level}",
|
"advanced_settings_log_level_title": "Razina zapisivanja: {level}",
|
||||||
"advanced_settings_prefer_remote_subtitle": "Neki uređaji sporo učitavaju sličice s lokalnih resursa. Aktivirajte ovu postavku kako biste umjesto toga učitali slike s udaljenih izvora.",
|
"advanced_settings_prefer_remote_subtitle": "Neki uređaji sporo učitavaju sličice s lokalnih stavki. Aktivirajte ovu postavku kako biste umjesto toga učitali slike s udaljenih izvora.",
|
||||||
"advanced_settings_prefer_remote_title": "Preferiraj udaljene slike",
|
"advanced_settings_prefer_remote_title": "Preferiraj udaljene slike",
|
||||||
"advanced_settings_proxy_headers_subtitle": "Definirajte zaglavlja posrednika koja Immich treba slati sa svakim mrežnim zahtjevom.",
|
"advanced_settings_proxy_headers_subtitle": "Definirajte zaglavlja posrednika koja Immich treba slati sa svakim mrežnim zahtjevom.",
|
||||||
"advanced_settings_proxy_headers_title": "Proxy zaglavlja",
|
"advanced_settings_proxy_headers_title": "Proxy zaglavlja",
|
||||||
"advanced_settings_self_signed_ssl_subtitle": "Preskoči provjeru SSL certifikata za krajnju točku poslužitelja. Potrebno za samo-potpisane certifikate.",
|
"advanced_settings_self_signed_ssl_subtitle": "Preskoči provjeru SSL certifikata za krajnju točku poslužitelja. Potrebno za samo-potpisane certifikate.",
|
||||||
"advanced_settings_self_signed_ssl_title": "Dopusti samo-potpisane SSL certifikate",
|
"advanced_settings_self_signed_ssl_title": "Dopusti samo-potpisane SSL certifikate",
|
||||||
"advanced_settings_sync_remote_deletions_subtitle": "Automatski izbriši ili obnovi resurs na ovom uređaju kada se ta radnja izvrši na webu",
|
"advanced_settings_sync_remote_deletions_subtitle": "Automatski izbriši ili obnovi stavku na ovom uređaju kada se ta radnja izvrši na webu",
|
||||||
"advanced_settings_sync_remote_deletions_title": "Sinkroniziraj udaljena brisanja [EKSPERIMENTALNO]",
|
"advanced_settings_sync_remote_deletions_title": "Sinkroniziraj udaljena brisanja [EKSPERIMENTALNO]",
|
||||||
"advanced_settings_tile_subtitle": "Postavke za napredne korisnike",
|
"advanced_settings_tile_subtitle": "Postavke za napredne korisnike",
|
||||||
"advanced_settings_troubleshooting_subtitle": "Omogući dodatne značajke za rješavanje problema",
|
"advanced_settings_troubleshooting_subtitle": "Omogući dodatne značajke za rješavanje problema",
|
||||||
@@ -421,14 +427,15 @@
|
|||||||
"album_remove_user_confirmation": "Jeste li sigurni da želite ukloniti {user}?",
|
"album_remove_user_confirmation": "Jeste li sigurni da želite ukloniti {user}?",
|
||||||
"album_search_not_found": "Nema albuma koji odgovaraju vašem pretraživanju",
|
"album_search_not_found": "Nema albuma koji odgovaraju vašem pretraživanju",
|
||||||
"album_share_no_users": "Čini se da ste podijelili ovaj album sa svim korisnicima ili nemate nijednog korisnika s kojim biste ga dijelili.",
|
"album_share_no_users": "Čini se da ste podijelili ovaj album sa svim korisnicima ili nemate nijednog korisnika s kojim biste ga dijelili.",
|
||||||
|
"album_summary": "Sažetak albuma",
|
||||||
"album_updated": "Album ažuriran",
|
"album_updated": "Album ažuriran",
|
||||||
"album_updated_setting_description": "Primite obavijest e-poštom kada dijeljeni album ima nova sredstva",
|
"album_updated_setting_description": "Primite obavijest e-poštom kada dijeljeni album ima nove stavke",
|
||||||
"album_user_left": "Napušten {album}",
|
"album_user_left": "Napušten {album}",
|
||||||
"album_user_removed": "Uklonjen {user}",
|
"album_user_removed": "Uklonjen {user}",
|
||||||
"album_viewer_appbar_delete_confirm": "Jeste li sigurni da želite izbrisati ovaj album s vašeg računa?",
|
"album_viewer_appbar_delete_confirm": "Jeste li sigurni da želite izbrisati ovaj album s vašeg računa?",
|
||||||
"album_viewer_appbar_share_err_delete": "Neuspješno brisanje albuma",
|
"album_viewer_appbar_share_err_delete": "Neuspješno brisanje albuma",
|
||||||
"album_viewer_appbar_share_err_leave": "Neuspješno napuštanje albuma",
|
"album_viewer_appbar_share_err_leave": "Neuspješno napuštanje albuma",
|
||||||
"album_viewer_appbar_share_err_remove": "Postoje problemi s uklanjanjem resursa iz albuma",
|
"album_viewer_appbar_share_err_remove": "Postoje problemi s uklanjanjem stavki iz albuma",
|
||||||
"album_viewer_appbar_share_err_title": "Neuspješno mijenjanje naslova albuma",
|
"album_viewer_appbar_share_err_title": "Neuspješno mijenjanje naslova albuma",
|
||||||
"album_viewer_appbar_share_leave": "Napusti album",
|
"album_viewer_appbar_share_leave": "Napusti album",
|
||||||
"album_viewer_appbar_share_to": "Podijeli s",
|
"album_viewer_appbar_share_to": "Podijeli s",
|
||||||
@@ -437,8 +444,8 @@
|
|||||||
"albums": "Albumi",
|
"albums": "Albumi",
|
||||||
"albums_count": "{count, plural, one {{count, number} Album} other {{count, number} Albumi}}",
|
"albums_count": "{count, plural, one {{count, number} Album} other {{count, number} Albumi}}",
|
||||||
"albums_default_sort_order": "Zadani redoslijed sortiranja albuma",
|
"albums_default_sort_order": "Zadani redoslijed sortiranja albuma",
|
||||||
"albums_default_sort_order_description": "Početni redoslijed sortiranja elemenata prilikom izrade novih albuma.",
|
"albums_default_sort_order_description": "Početni redoslijed sortiranja stavki prilikom izrade novih albuma.",
|
||||||
"albums_feature_description": "Zbirke resursa koje se mogu dijeliti s drugim korisnicima.",
|
"albums_feature_description": "Zbirke stavki koje se mogu dijeliti s drugim korisnicima.",
|
||||||
"albums_on_device_count": "Albumi na uređaju ({count})",
|
"albums_on_device_count": "Albumi na uređaju ({count})",
|
||||||
"all": "Sve",
|
"all": "Sve",
|
||||||
"all_albums": "Svi albumi",
|
"all_albums": "Svi albumi",
|
||||||
@@ -457,58 +464,60 @@
|
|||||||
"app_bar_signout_dialog_content": "Jeste li sigurni da se želite odjaviti?",
|
"app_bar_signout_dialog_content": "Jeste li sigurni da se želite odjaviti?",
|
||||||
"app_bar_signout_dialog_ok": "Da",
|
"app_bar_signout_dialog_ok": "Da",
|
||||||
"app_bar_signout_dialog_title": "Odjavi se",
|
"app_bar_signout_dialog_title": "Odjavi se",
|
||||||
"app_settings": "Postavke Aplikacije",
|
"app_settings": "Postavke aplikacije",
|
||||||
"appears_in": "Pojavljuje se u",
|
"appears_in": "Pojavljuje se u",
|
||||||
"archive": "Arhiva",
|
"archive": "Arhiva",
|
||||||
"archive_action_prompt": "{count} dodano u arhivu",
|
"archive_action_prompt": "{count} dodano u arhivu",
|
||||||
"archive_or_unarchive_photo": "Arhivirajte ili dearhivirajte fotografiju",
|
"archive_or_unarchive_photo": "Arhivirajte ili dearhivirajte fotografiju",
|
||||||
"archive_page_no_archived_assets": "Nema arhiviranih resursa",
|
"archive_page_no_archived_assets": "Nema arhiviranih stavki",
|
||||||
"archive_page_title": "Arhiviraj ({count})",
|
"archive_page_title": "Arhiviraj ({count})",
|
||||||
"archive_size": "Veličina arhive",
|
"archive_size": "Veličina arhive",
|
||||||
"archive_size_description": "Konfigurirajte veličinu arhive za preuzimanja (u GiB)",
|
"archive_size_description": "Konfigurirajte veličinu arhive za preuzimanja (u GiB)",
|
||||||
"archived": "Ahrivirano",
|
"archived": "Arhivirano",
|
||||||
"archived_count": "{count, plural, other {Archived #}}",
|
"archived_count": "{count, plural, other {Archived #}}",
|
||||||
"are_these_the_same_person": "Je li ovo ista osoba?",
|
"are_these_the_same_person": "Je li ovo ista osoba?",
|
||||||
"are_you_sure_to_do_this": "Jeste li sigurni da to želite učiniti?",
|
"are_you_sure_to_do_this": "Jeste li sigurni da to želite učiniti?",
|
||||||
"asset_action_delete_err_read_only": "Nije moguće izbrisati resurse samo za čitanje, preskačem",
|
"asset_action_delete_err_read_only": "Nije moguće izbrisati stavke samo za čitanje, preskakanje",
|
||||||
"asset_action_share_err_offline": "Nije moguće dohvatiti izvanmrežne resurse, preskačem",
|
"asset_action_share_err_offline": "Nije moguće dohvatiti izvanmrežne stavke, preskakanje",
|
||||||
"asset_added_to_album": "Dodano u album",
|
"asset_added_to_album": "Dodano u album",
|
||||||
"asset_adding_to_album": "Dodavanje u album…",
|
"asset_adding_to_album": "Dodavanje u album…",
|
||||||
"asset_description_updated": "Opis imovine je ažuriran",
|
"asset_description_updated": "Opis stavke je ažuriran",
|
||||||
"asset_filename_is_offline": "Sredstvo {filename} je izvan mreže",
|
"asset_filename_is_offline": "Stavka {filename} je izvan mreže",
|
||||||
"asset_has_unassigned_faces": "Materijal ima nedodijeljena lica",
|
"asset_has_unassigned_faces": "Stavka ima nedodijeljena lica",
|
||||||
"asset_hashing": "Sažimanje…",
|
"asset_hashing": "Hashiranje…",
|
||||||
"asset_list_group_by_sub_title": "Grupiraj po",
|
"asset_list_group_by_sub_title": "Grupiraj po",
|
||||||
"asset_list_layout_settings_dynamic_layout_title": "Dinamički raspored",
|
"asset_list_layout_settings_dynamic_layout_title": "Dinamički raspored",
|
||||||
"asset_list_layout_settings_group_automatically": "Automatski",
|
"asset_list_layout_settings_group_automatically": "Automatski",
|
||||||
"asset_list_layout_settings_group_by": "Grupiraj resurse po",
|
"asset_list_layout_settings_group_by": "Grupiraj stavke po",
|
||||||
"asset_list_layout_settings_group_by_month_day": "Mjesec + dan",
|
"asset_list_layout_settings_group_by_month_day": "Mjesec + dan",
|
||||||
"asset_list_layout_sub_title": "Raspored",
|
"asset_list_layout_sub_title": "Raspored",
|
||||||
"asset_list_settings_subtitle": "Postavke izgleda mreže fotografija",
|
"asset_list_settings_subtitle": "Postavke izgleda Mreže fotografija",
|
||||||
"asset_list_settings_title": "Mreža Fotografija",
|
"asset_list_settings_title": "Mreža fotografija",
|
||||||
"asset_offline": "Sredstvo izvan mreže",
|
"asset_offline": "Stavka izvan mreže",
|
||||||
"asset_offline_description": "Ovaj materijal je izvan mreže. Immich ne može pristupiti lokaciji datoteke. Provjerite je li sredstvo dostupno, a zatim ponovno skenirajte biblioteku.",
|
"asset_offline_description": "Ova vanjska stavka nije pronađena na disku. Za pomoć se obratite Immich administratoru.",
|
||||||
"asset_restored_successfully": "Resurs uspješno obnovljen",
|
"asset_restored_successfully": "Stavka uspješno obnovljena",
|
||||||
"asset_skipped": "Preskočeno",
|
"asset_skipped": "Preskočeno",
|
||||||
"asset_skipped_in_trash": "U smeću",
|
"asset_skipped_in_trash": "U smeću",
|
||||||
"asset_uploaded": "Učitano",
|
"asset_trashed": "Stavka premještena u smeće",
|
||||||
"asset_uploading": "Šaljem…",
|
"asset_troubleshoot": "Rješavanje problema sa stavkom",
|
||||||
"asset_viewer_settings_subtitle": "Upravljajte postavkama preglednika vaše galerije",
|
"asset_uploaded": "Preneseno",
|
||||||
"asset_viewer_settings_title": "Preglednik Resursa",
|
"asset_uploading": "Prenošenje…",
|
||||||
"assets": "Sredstva",
|
"asset_viewer_settings_subtitle": "Upravljajte postavkama vašeg preglednika galerije",
|
||||||
"assets_added_count": "Dodano {count, plural, one {# asset} other {# assets}}",
|
"asset_viewer_settings_title": "Preglednik stavki",
|
||||||
"assets_added_to_album_count": "Dodano {count, plural, one {# asset} other {# assets}} u album",
|
"assets": "Stavke",
|
||||||
"assets_added_to_albums_count": "Dodano je {assetTotal} datoteka u {albumTotal} albuma",
|
"assets_added_count": "{count, plural, one {Dodana # stavka} few {Dodane # stavke} other {Dodano # stavki}}",
|
||||||
"assets_cannot_be_added_to_album_count": "{count, plural, one {Sadržaj se ne može dodati u album} other {{count} sadržaja se ne mogu dodati u album}}",
|
"assets_added_to_album_count": "{count, plural, one {Dodana # stavka} few {Dodane # stavke} other {Dodano # stavki}} u album",
|
||||||
"assets_cannot_be_added_to_albums": "{count, plural, one {Datoteka se ne može dodati ni u jedan album} few {Datoteke se ne mogu dodati ni u jedan album} other {Datoteka se ne može dodati ni u jedan album}}",
|
"assets_added_to_albums_count": "{assetTotal, plural, one {Dodana # stavka} other {Dodano # stavki}} u {albumTotal, plural, one {# album} other {# albuma}}",
|
||||||
"assets_count": "{count, plural, one {# asset} other {# assets}}",
|
"assets_cannot_be_added_to_album_count": "{count, plural, one {Stavka se ne može} other {Stavke se ne mogu}} dodati u album",
|
||||||
"assets_deleted_permanently": "{count} resurs(i) uspješno uklonjeni",
|
"assets_cannot_be_added_to_albums": "{count, plural, one {Stavka se ne može} few {Stavke se ne mogu} other {Stavki se ne može}} dodati ni u jedan album",
|
||||||
"assets_deleted_permanently_from_server": "{count} resurs(i) trajno obrisan(i) sa Immich poslužitelja",
|
"assets_count": "{count, plural, one {# stavka} few {# stavke} other {# stavki}}",
|
||||||
"assets_downloaded_failed": "{count, plural, one {Preuzeta # datoteka – {error} datoteka nije uspjela} other {Preuzeto je # datoteka – {error} datoteke nisu uspjele}}",
|
"assets_deleted_permanently": "Trajno {count, plural, one {izbrisana # stavka} few {izbrisane # stavke} other {izbrisano # stavki}}",
|
||||||
"assets_downloaded_successfully": "{count, plural, one {Uspješno preuzeta # datoteka} other {Uspješno preuzete # datoteke}}",
|
"assets_deleted_permanently_from_server": "Trajno {count, plural, one {izbrisana # stavka} few {izbrisane # stavke} other {izbrisano # stavki}} s Immich servera",
|
||||||
"assets_moved_to_trash_count": "{count, plural, one {# asset} other {# asset}} premješteno u smeće",
|
"assets_downloaded_failed": "{count, plural, one {Preuzeta # datoteka – {error} datoteka nije uspjela} few {Preuzete # datoteke - {error} datoteke nisu uspjele} other {Preuzeto # datoteka – {error} datoteke nisu uspjele}}",
|
||||||
"assets_permanently_deleted_count": "Trajno izbrisano {count, plural, one {# asset} other {# assets}}",
|
"assets_downloaded_successfully": "{count, plural, one {Uspješno preuzeta # datoteka} few {Uspješno preuzete # datoteke} other {Uspješno preueto # datoteka}}",
|
||||||
"assets_removed_count": "Uklonjeno {count, plural, one {# asset} other {# assets}}",
|
"assets_moved_to_trash_count": "{count, plural, one {# stavka premještena} few {# stavke premještene} other {# stavk premještenoi}} u smeće",
|
||||||
|
"assets_permanently_deleted_count": "Trajno {count, plural, one {izbrisana # stavka} few {izbrisane # stavke} other {izbrisano # stavki}}",
|
||||||
|
"assets_removed_count": "{count, plural, one {Uklonjena # stavka} few {Uklonjene # stavke} other {Uklonjeno # stavki}}",
|
||||||
"assets_removed_permanently_from_device": "{count} resurs(i) trajno uklonjen(i) s vašeg uređaja",
|
"assets_removed_permanently_from_device": "{count} resurs(i) trajno uklonjen(i) s vašeg uređaja",
|
||||||
"assets_restore_confirmation": "Jeste li sigurni da želite obnoviti sve svoje resurse bačene u otpad? Ne možete poništiti ovu radnju! Imajte na umu da se bilo koji izvanmrežni resursi ne mogu obnoviti na ovaj način.",
|
"assets_restore_confirmation": "Jeste li sigurni da želite obnoviti sve svoje resurse bačene u otpad? Ne možete poništiti ovu radnju! Imajte na umu da se bilo koji izvanmrežni resursi ne mogu obnoviti na ovaj način.",
|
||||||
"assets_restored_count": "Vraćeno {count, plural, one {# asset} other {# assets}}",
|
"assets_restored_count": "Vraćeno {count, plural, one {# asset} other {# assets}}",
|
||||||
@@ -518,7 +527,7 @@
|
|||||||
"assets_trashed_from_server": "{count} resurs(i) premješten(i) u smeće s Immich poslužitelja",
|
"assets_trashed_from_server": "{count} resurs(i) premješten(i) u smeće s Immich poslužitelja",
|
||||||
"assets_were_part_of_album_count": "{count, plural, one {Asset was} other {Assets were}} već dio albuma",
|
"assets_were_part_of_album_count": "{count, plural, one {Asset was} other {Assets were}} već dio albuma",
|
||||||
"assets_were_part_of_albums_count": "{count, plural, one {Datoteka je već bila dio albuma} few {Datoteke su već bile dio albuma} other {Datoteka je već bila dio albuma}}",
|
"assets_were_part_of_albums_count": "{count, plural, one {Datoteka je već bila dio albuma} few {Datoteke su već bile dio albuma} other {Datoteka je već bila dio albuma}}",
|
||||||
"authorized_devices": "Ovlašteni Uređaji",
|
"authorized_devices": "Ovlašteni uređaji",
|
||||||
"automatic_endpoint_switching_subtitle": "Povežite se lokalno preko naznačene Wi-Fi mreže kada je dostupna i koristite alternativne veze na drugim lokacijama",
|
"automatic_endpoint_switching_subtitle": "Povežite se lokalno preko naznačene Wi-Fi mreže kada je dostupna i koristite alternativne veze na drugim lokacijama",
|
||||||
"automatic_endpoint_switching_title": "Automatsko prebacivanje URL-a",
|
"automatic_endpoint_switching_title": "Automatsko prebacivanje URL-a",
|
||||||
"autoplay_slideshow": "Automatsko prikazivanje slajdova",
|
"autoplay_slideshow": "Automatsko prikazivanje slajdova",
|
||||||
@@ -1034,7 +1043,7 @@
|
|||||||
"export_database_description": "Izvezi SQLite bazu podataka",
|
"export_database_description": "Izvezi SQLite bazu podataka",
|
||||||
"extension": "Proširenje (Extension)",
|
"extension": "Proširenje (Extension)",
|
||||||
"external": "Vanjski",
|
"external": "Vanjski",
|
||||||
"external_libraries": "Vanjske Biblioteke",
|
"external_libraries": "Vanjske biblioteke",
|
||||||
"external_network": "Vanjska mreža",
|
"external_network": "Vanjska mreža",
|
||||||
"external_network_sheet_info": "Kada niste na željenoj Wi-Fi mreži, aplikacija će se povezati s poslužiteljem putem prve dostupne URL adrese s popisa ispod, redom od vrha prema dnu",
|
"external_network_sheet_info": "Kada niste na željenoj Wi-Fi mreži, aplikacija će se povezati s poslužiteljem putem prve dostupne URL adrese s popisa ispod, redom od vrha prema dnu",
|
||||||
"face_unassigned": "Nedodijeljeno",
|
"face_unassigned": "Nedodijeljeno",
|
||||||
@@ -1048,7 +1057,7 @@
|
|||||||
"favorites": "Omiljene",
|
"favorites": "Omiljene",
|
||||||
"favorites_page_no_favorites": "Nema pronađenih omiljenih stavki",
|
"favorites_page_no_favorites": "Nema pronađenih omiljenih stavki",
|
||||||
"feature_photo_updated": "Istaknuta fotografija ažurirana",
|
"feature_photo_updated": "Istaknuta fotografija ažurirana",
|
||||||
"features": "Značajke (Features)",
|
"features": "Značajke",
|
||||||
"features_setting_description": "Upravljajte značajkama aplikacije",
|
"features_setting_description": "Upravljajte značajkama aplikacije",
|
||||||
"file_name": "Naziv datoteke",
|
"file_name": "Naziv datoteke",
|
||||||
"file_name_or_extension": "Naziv ili ekstenzija datoteke",
|
"file_name_or_extension": "Naziv ili ekstenzija datoteke",
|
||||||
@@ -1220,7 +1229,7 @@
|
|||||||
"location_picker_longitude_error": "Unesite valjanu geografsku dužinu",
|
"location_picker_longitude_error": "Unesite valjanu geografsku dužinu",
|
||||||
"location_picker_longitude_hint": "Unesite ovdje svoju geografsku dužinu",
|
"location_picker_longitude_hint": "Unesite ovdje svoju geografsku dužinu",
|
||||||
"lock": "Zaključaj",
|
"lock": "Zaključaj",
|
||||||
"locked_folder": "Zaključana Mapa",
|
"locked_folder": "Zaključana mapa",
|
||||||
"log_out": "Odjavi se",
|
"log_out": "Odjavi se",
|
||||||
"log_out_all_devices": "Odjava sa svih uređaja",
|
"log_out_all_devices": "Odjava sa svih uređaja",
|
||||||
"logged_in_as": "Prijavljeni kao {user}",
|
"logged_in_as": "Prijavljeni kao {user}",
|
||||||
@@ -1900,6 +1909,8 @@
|
|||||||
"sync_albums_manual_subtitle": "Sinkroniziraj sve prenesene videozapise i fotografije u odabrane albume za sigurnosnu kopiju",
|
"sync_albums_manual_subtitle": "Sinkroniziraj sve prenesene videozapise i fotografije u odabrane albume za sigurnosnu kopiju",
|
||||||
"sync_local": "Sinkroniziraj lokalno",
|
"sync_local": "Sinkroniziraj lokalno",
|
||||||
"sync_remote": "Sinkroniziraj udaljeno",
|
"sync_remote": "Sinkroniziraj udaljeno",
|
||||||
|
"sync_status": "Status sinkronizacije",
|
||||||
|
"sync_status_subtitle": "Pregledajte i upravljajte sistemom sinkronizacije",
|
||||||
"sync_upload_album_setting_subtitle": "Kreiraj i prenesi svoje fotografije i videozapise u odabrane albume na Immichu",
|
"sync_upload_album_setting_subtitle": "Kreiraj i prenesi svoje fotografije i videozapise u odabrane albume na Immichu",
|
||||||
"tag": "Oznaka",
|
"tag": "Oznaka",
|
||||||
"tag_assets": "Označi stavke",
|
"tag_assets": "Označi stavke",
|
||||||
|
|||||||