Compare commits
136 Commits
postgres-q
...
feat/integ
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
5b0ea3397f | ||
|
|
14970c5539 | ||
|
|
adb17c4d58 | ||
|
|
56156b97e7 | ||
|
|
c411c1472a | ||
|
|
0bbe70e6a3 | ||
|
|
a65c905621 | ||
|
|
61d784f4e7 | ||
|
|
b63d6cdcd6 | ||
|
|
fa45a26cff | ||
|
|
8f045bc602 | ||
|
|
5353658114 | ||
|
|
21880aec14 | ||
|
|
48d746d9d5 | ||
|
|
8ab5040351 | ||
|
|
1219fd82a0 | ||
|
|
28d8357cc5 | ||
|
|
a9e7d0388b | ||
|
|
86d64f3483 | ||
|
|
c1150fe7e3 | ||
|
|
ecb66fdb2c | ||
|
|
c046651f23 | ||
|
|
6117329057 | ||
|
|
585997d46f | ||
|
|
7146ec99b1 | ||
|
|
b7b0b9b6d8 | ||
|
|
4935f3e0bb | ||
|
|
709a7b70aa | ||
|
|
6a4d21205f | ||
|
|
3a0ddfb92d | ||
|
|
cd03d0c0f2 | ||
|
|
117b263887 | ||
|
|
f357f3324f | ||
|
|
7d95bad5cb | ||
|
|
77b0505006 | ||
|
|
fac1beb7d8 | ||
|
|
3944f5d73b | ||
|
|
4445288758 | ||
|
|
4efc41d5d9 | ||
|
|
c9d45eee86 | ||
|
|
b3b774cfe5 | ||
|
|
15e894b9b5 | ||
|
|
ca06d0aa83 | ||
|
|
0cd51ae9c5 | ||
|
|
68f6111b77 | ||
|
|
668288ca20 | ||
|
|
3fdc1df89c | ||
|
|
989d9dbe51 | ||
|
|
48112d84a3 | ||
|
|
80dfe7a5e9 | ||
|
|
ce90a2ec1a | ||
|
|
dccbe0b3ed | ||
|
|
c0ad12f279 | ||
|
|
9c484b23a9 | ||
|
|
eed014482d | ||
|
|
d271e6a3ae | ||
|
|
60c43081ed | ||
|
|
81d959a27e | ||
|
|
bb775110ef | ||
|
|
7280331b76 | ||
|
|
93ee6ee0a5 | ||
|
|
7544a678ec | ||
|
|
3066c8198c | ||
|
|
eb8dfa283e | ||
|
|
41a127e2ab | ||
|
|
feb475561e | ||
|
|
4c4c67f0d2 | ||
|
|
381b66bf70 | ||
|
|
a89f3ad97c | ||
|
|
c473511133 | ||
|
|
0d66a6b51f | ||
|
|
66400b2e8e | ||
|
|
87cdf0ebd9 | ||
|
|
3f719bd8d7 | ||
|
|
55af925ab3 | ||
|
|
ff63b0fa8f | ||
|
|
f21fe8716c | ||
|
|
6a69dafd31 | ||
|
|
47b1938f17 | ||
|
|
2ffcfe06f3 | ||
|
|
89551edee5 | ||
|
|
cb6c541ae1 | ||
|
|
b1e1362246 | ||
|
|
ccc2b191dd | ||
|
|
bb7010b2bb | ||
|
|
8db666bc38 | ||
|
|
eace0f716d | ||
|
|
96743b6c33 | ||
|
|
ff181cf346 | ||
|
|
0cd5960007 | ||
|
|
698592c1b0 | ||
|
|
f75d853e9a | ||
|
|
3a1e3e82e7 | ||
|
|
0beb3ac4c1 | ||
|
|
894545aeed | ||
|
|
5250269fa4 | ||
|
|
a169fb6a79 | ||
|
|
09ced9a171 | ||
|
|
a6e5e4f625 | ||
|
|
bbd8de177b | ||
|
|
867f6e64f9 | ||
|
|
ec6379b0b2 | ||
|
|
2a80251dc3 | ||
|
|
d33ce13561 | ||
|
|
016d7a6ceb | ||
|
|
8ff25a4f7a | ||
|
|
61a3eba1bd | ||
|
|
7072e48cbe | ||
|
|
ece977d9ca | ||
|
|
2af8095880 | ||
|
|
30822fcd10 | ||
|
|
c578273e7a | ||
|
|
118a3fc9db | ||
|
|
1138f6dcce | ||
|
|
33f3751b72 | ||
|
|
b8509e6411 | ||
|
|
bd43edbcd7 | ||
|
|
c8b4a7e1f1 | ||
|
|
f34f83e164 | ||
|
|
df2cf5d106 | ||
|
|
52975eadb3 | ||
|
|
12610e4a9f | ||
|
|
2b3efa02d8 | ||
|
|
a21a997f21 | ||
|
|
7d61ed7ce4 | ||
|
|
8f7baf8336 | ||
|
|
44923acfd6 | ||
|
|
ab95881ebb | ||
|
|
8801ae5821 | ||
|
|
ea9f11bf39 | ||
|
|
62fc5b3c7d | ||
|
|
15d431ba6a | ||
|
|
5d21ba3166 | ||
|
|
da7a81b752 | ||
|
|
becdc3dcf5 | ||
|
|
84b51e3cbb |
2
.github/.nvmrc
vendored
2
.github/.nvmrc
vendored
@@ -1 +1 @@
|
||||
22.14.0
|
||||
22.15.0
|
||||
|
||||
118
.github/actions/image-build/action.yml
vendored
Normal file
118
.github/actions/image-build/action.yml
vendored
Normal file
@@ -0,0 +1,118 @@
|
||||
name: 'Single arch image build'
|
||||
description: 'Build single-arch image on platform appropriate runner'
|
||||
inputs:
|
||||
image:
|
||||
description: 'Name of the image to build'
|
||||
required: true
|
||||
ghcr-token:
|
||||
description: 'GitHub Container Registry token'
|
||||
required: true
|
||||
platform:
|
||||
description: 'Platform to build for'
|
||||
required: true
|
||||
artifact-key-base:
|
||||
description: 'Base key for artifact name'
|
||||
required: true
|
||||
context:
|
||||
description: 'Path to build context'
|
||||
required: true
|
||||
dockerfile:
|
||||
description: 'Path to Dockerfile'
|
||||
required: true
|
||||
build-args:
|
||||
description: 'Docker build arguments'
|
||||
required: false
|
||||
runs:
|
||||
using: 'composite'
|
||||
steps:
|
||||
- name: Prepare
|
||||
id: prepare
|
||||
shell: bash
|
||||
env:
|
||||
PLATFORM: ${{ inputs.platform }}
|
||||
run: |
|
||||
echo "platform-pair=${PLATFORM//\//-}" >> $GITHUB_OUTPUT
|
||||
|
||||
- name: Set up Docker Buildx
|
||||
uses: docker/setup-buildx-action@b5ca514318bd6ebac0fb2aedd5d36ec1b5c232a2 # v3.10.0
|
||||
|
||||
- name: Login to GitHub Container Registry
|
||||
uses: docker/login-action@74a5d142397b4f367a81961eba4e8cd7edddf772 # v3
|
||||
if: ${{ !github.event.pull_request.head.repo.fork }}
|
||||
with:
|
||||
registry: ghcr.io
|
||||
username: ${{ github.repository_owner }}
|
||||
password: ${{ inputs.ghcr-token }}
|
||||
|
||||
- name: Generate cache key suffix
|
||||
id: cache-key-suffix
|
||||
shell: bash
|
||||
env:
|
||||
REF: ${{ github.ref_name }}
|
||||
run: |
|
||||
if [[ "${{ github.event_name }}" == "pull_request" ]]; then
|
||||
echo "cache-key-suffix=pr-${{ github.event.number }}" >> $GITHUB_OUTPUT
|
||||
else
|
||||
SUFFIX=$(echo "${REF}" | sed 's/[^a-zA-Z0-9]/-/g')
|
||||
echo "suffix=${SUFFIX}" >> $GITHUB_OUTPUT
|
||||
fi
|
||||
|
||||
- name: Generate cache target
|
||||
id: cache-target
|
||||
shell: bash
|
||||
env:
|
||||
BUILD_ARGS: ${{ inputs.build-args }}
|
||||
IMAGE: ${{ inputs.image }}
|
||||
SUFFIX: ${{ steps.cache-key-suffix.outputs.suffix }}
|
||||
PLATFORM_PAIR: ${{ steps.prepare.outputs.platform-pair }}
|
||||
run: |
|
||||
HASH=$(sha256sum <<< "${BUILD_ARGS}" | cut -d' ' -f1)
|
||||
CACHE_KEY="${PLATFORM_PAIR}-${HASH}"
|
||||
echo "cache-key-base=${CACHE_KEY}" >> $GITHUB_OUTPUT
|
||||
if [[ "${{ github.event.pull_request.head.repo.fork }}" == "true" ]]; then
|
||||
# Essentially just ignore the cache output (forks can't write to registry cache)
|
||||
echo "cache-to=type=local,dest=/tmp/discard,ignore-error=true" >> $GITHUB_OUTPUT
|
||||
else
|
||||
echo "cache-to=type=registry,ref=${IMAGE}-build-cache:${CACHE_KEY}-${SUFFIX},mode=max,compression=zstd" >> $GITHUB_OUTPUT
|
||||
fi
|
||||
|
||||
- name: Generate docker image tags
|
||||
id: meta
|
||||
uses: docker/metadata-action@902fa8ec7d6ecbf8d84d538b9b233a880e428804 # v5
|
||||
env:
|
||||
DOCKER_METADATA_PR_HEAD_SHA: 'true'
|
||||
|
||||
- name: Build and push image
|
||||
id: build
|
||||
uses: docker/build-push-action@471d1dc4e07e5cdedd4c2171150001c434f0b7a4 # v6.15.0
|
||||
with:
|
||||
context: ${{ inputs.context }}
|
||||
file: ${{ inputs.dockerfile }}
|
||||
platforms: ${{ inputs.platform }}
|
||||
labels: ${{ steps.meta.outputs.labels }}
|
||||
cache-to: ${{ steps.cache-target.outputs.cache-to }}
|
||||
cache-from: |
|
||||
type=registry,ref=${{ inputs.image }}-build-cache:${{ steps.cache-target.outputs.cache-key-base }}-${{ steps.cache-key-suffix.outputs.suffix }}
|
||||
type=registry,ref=${{ inputs.image }}-build-cache:${{ steps.cache-target.outputs.cache-key-base }}-main
|
||||
outputs: type=image,"name=${{ inputs.image }}",push-by-digest=true,name-canonical=true,push=${{ !github.event.pull_request.head.repo.fork }}
|
||||
build-args: |
|
||||
BUILD_ID=${{ github.run_id }}
|
||||
BUILD_IMAGE=${{ github.event_name == 'release' && github.ref_name || steps.meta.outputs.tags }}
|
||||
BUILD_SOURCE_REF=${{ github.ref_name }}
|
||||
BUILD_SOURCE_COMMIT=${{ github.sha }}
|
||||
${{ inputs.build-args }}
|
||||
|
||||
- name: Export digest
|
||||
shell: bash
|
||||
run: | # zizmor: ignore[template-injection]
|
||||
mkdir -p ${{ runner.temp }}/digests
|
||||
digest="${{ steps.build.outputs.digest }}"
|
||||
touch "${{ runner.temp }}/digests/${digest#sha256:}"
|
||||
|
||||
- name: Upload digest
|
||||
uses: actions/upload-artifact@ea165f8d65b6e75b540449e92b4886f43607fa02 # v4
|
||||
with:
|
||||
name: ${{ inputs.artifact-key-base }}-${{ steps.cache-target.outputs.cache-key-base }}
|
||||
path: ${{ runner.temp }}/digests/*
|
||||
if-no-files-found: error
|
||||
retention-days: 1
|
||||
12
.github/workflows/build-mobile.yml
vendored
12
.github/workflows/build-mobile.yml
vendored
@@ -35,12 +35,12 @@ jobs:
|
||||
should_run: ${{ steps.found_paths.outputs.mobile == 'true' || steps.should_force.outputs.should_force == 'true' }}
|
||||
steps:
|
||||
- name: Checkout code
|
||||
uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4
|
||||
uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
|
||||
with:
|
||||
persist-credentials: false
|
||||
|
||||
- id: found_paths
|
||||
uses: dorny/paths-filter@de90cc6fb38fc0963ad72b210f1f284cd68cea36 # v3
|
||||
uses: dorny/paths-filter@de90cc6fb38fc0963ad72b210f1f284cd68cea36 # v3.0.2
|
||||
with:
|
||||
filters: |
|
||||
mobile:
|
||||
@@ -61,19 +61,19 @@ jobs:
|
||||
runs-on: macos-14
|
||||
|
||||
steps:
|
||||
- uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4
|
||||
- uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
|
||||
with:
|
||||
ref: ${{ inputs.ref || github.sha }}
|
||||
persist-credentials: false
|
||||
|
||||
- uses: actions/setup-java@c5195efecf7bdfc987ee8bae7a71cb8b11521c00 # v4
|
||||
- uses: actions/setup-java@c5195efecf7bdfc987ee8bae7a71cb8b11521c00 # v4.7.1
|
||||
with:
|
||||
distribution: 'zulu'
|
||||
java-version: '17'
|
||||
cache: 'gradle'
|
||||
|
||||
- name: Setup Flutter SDK
|
||||
uses: subosito/flutter-action@e938fdf56512cc96ef2f93601a5a40bde3801046 # v2
|
||||
uses: subosito/flutter-action@e938fdf56512cc96ef2f93601a5a40bde3801046 # v2.19.0
|
||||
with:
|
||||
channel: 'stable'
|
||||
flutter-version-file: ./mobile/pubspec.yaml
|
||||
@@ -104,7 +104,7 @@ jobs:
|
||||
flutter build apk --release --split-per-abi --target-platform android-arm,android-arm64,android-x64
|
||||
|
||||
- name: Publish Android Artifact
|
||||
uses: actions/upload-artifact@ea165f8d65b6e75b540449e92b4886f43607fa02 # v4
|
||||
uses: actions/upload-artifact@ea165f8d65b6e75b540449e92b4886f43607fa02 # v4.6.2
|
||||
with:
|
||||
name: release-apk-signed
|
||||
path: mobile/build/app/outputs/flutter-apk/*.apk
|
||||
|
||||
2
.github/workflows/cache-cleanup.yml
vendored
2
.github/workflows/cache-cleanup.yml
vendored
@@ -19,7 +19,7 @@ jobs:
|
||||
actions: write
|
||||
steps:
|
||||
- name: Check out code
|
||||
uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4
|
||||
uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
|
||||
with:
|
||||
persist-credentials: false
|
||||
|
||||
|
||||
10
.github/workflows/cli.yml
vendored
10
.github/workflows/cli.yml
vendored
@@ -29,12 +29,12 @@ jobs:
|
||||
working-directory: ./cli
|
||||
|
||||
steps:
|
||||
- uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4
|
||||
- uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
|
||||
with:
|
||||
persist-credentials: false
|
||||
|
||||
# Setup .npmrc file to publish to npm
|
||||
- uses: actions/setup-node@49933ea5288caeca8642d1e84afbd3f7d6820020 # v4
|
||||
- uses: actions/setup-node@49933ea5288caeca8642d1e84afbd3f7d6820020 # v4.4.0
|
||||
with:
|
||||
node-version-file: './cli/.nvmrc'
|
||||
registry-url: 'https://registry.npmjs.org'
|
||||
@@ -59,7 +59,7 @@ jobs:
|
||||
|
||||
steps:
|
||||
- name: Checkout
|
||||
uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4
|
||||
uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
|
||||
with:
|
||||
persist-credentials: false
|
||||
|
||||
@@ -70,7 +70,7 @@ jobs:
|
||||
uses: docker/setup-buildx-action@b5ca514318bd6ebac0fb2aedd5d36ec1b5c232a2 # v3.10.0
|
||||
|
||||
- name: Login to GitHub Container Registry
|
||||
uses: docker/login-action@74a5d142397b4f367a81961eba4e8cd7edddf772 # v3
|
||||
uses: docker/login-action@74a5d142397b4f367a81961eba4e8cd7edddf772 # v3.4.0
|
||||
if: ${{ !github.event.pull_request.head.repo.fork }}
|
||||
with:
|
||||
registry: ghcr.io
|
||||
@@ -85,7 +85,7 @@ jobs:
|
||||
|
||||
- name: Generate docker image tags
|
||||
id: metadata
|
||||
uses: docker/metadata-action@902fa8ec7d6ecbf8d84d538b9b233a880e428804 # v5
|
||||
uses: docker/metadata-action@902fa8ec7d6ecbf8d84d538b9b233a880e428804 # v5.7.0
|
||||
with:
|
||||
flavor: |
|
||||
latest=false
|
||||
|
||||
8
.github/workflows/codeql-analysis.yml
vendored
8
.github/workflows/codeql-analysis.yml
vendored
@@ -44,13 +44,13 @@ jobs:
|
||||
|
||||
steps:
|
||||
- name: Checkout repository
|
||||
uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4
|
||||
uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
|
||||
with:
|
||||
persist-credentials: false
|
||||
|
||||
# Initializes the CodeQL tools for scanning.
|
||||
- name: Initialize CodeQL
|
||||
uses: github/codeql-action/init@28deaeda66b76a05916b6923827895f2b14ab387 # v3
|
||||
uses: github/codeql-action/init@60168efe1c415ce0f5521ea06d5c2062adbeed1b # v3.28.17
|
||||
with:
|
||||
languages: ${{ matrix.language }}
|
||||
# If you wish to specify custom queries, you can do so here or in a config file.
|
||||
@@ -63,7 +63,7 @@ jobs:
|
||||
# Autobuild attempts to build any compiled languages (C/C++, C#, or Java).
|
||||
# If this step fails, then you should remove it and run the build manually (see below)
|
||||
- name: Autobuild
|
||||
uses: github/codeql-action/autobuild@28deaeda66b76a05916b6923827895f2b14ab387 # v3
|
||||
uses: github/codeql-action/autobuild@60168efe1c415ce0f5521ea06d5c2062adbeed1b # v3.28.17
|
||||
|
||||
# ℹ️ Command-line programs to run using the OS shell.
|
||||
# 📚 See https://docs.github.com/en/actions/using-workflows/workflow-syntax-for-github-actions#jobsjob_idstepsrun
|
||||
@@ -76,6 +76,6 @@ jobs:
|
||||
# ./location_of_script_within_repo/buildscript.sh
|
||||
|
||||
- name: Perform CodeQL Analysis
|
||||
uses: github/codeql-action/analyze@28deaeda66b76a05916b6923827895f2b14ab387 # v3
|
||||
uses: github/codeql-action/analyze@60168efe1c415ce0f5521ea06d5c2062adbeed1b # v3.28.17
|
||||
with:
|
||||
category: '/language:${{matrix.language}}'
|
||||
|
||||
463
.github/workflows/docker.yml
vendored
463
.github/workflows/docker.yml
vendored
@@ -24,11 +24,11 @@ jobs:
|
||||
should_run_ml: ${{ steps.found_paths.outputs.machine-learning == 'true' || steps.should_force.outputs.should_force == 'true' }}
|
||||
steps:
|
||||
- name: Checkout code
|
||||
uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4
|
||||
uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
|
||||
with:
|
||||
persist-credentials: false
|
||||
- id: found_paths
|
||||
uses: dorny/paths-filter@de90cc6fb38fc0963ad72b210f1f284cd68cea36 # v3
|
||||
uses: dorny/paths-filter@de90cc6fb38fc0963ad72b210f1f284cd68cea36 # v3.0.2
|
||||
with:
|
||||
filters: |
|
||||
server:
|
||||
@@ -40,6 +40,8 @@ jobs:
|
||||
- 'machine-learning/**'
|
||||
workflow:
|
||||
- '.github/workflows/docker.yml'
|
||||
- '.github/workflows/multi-runner-build.yml'
|
||||
- '.github/actions/image-build'
|
||||
|
||||
- name: Check if we should force jobs to run
|
||||
id: should_force
|
||||
@@ -58,7 +60,7 @@ jobs:
|
||||
suffix: ['', '-cuda', '-rocm', '-openvino', '-armnn', '-rknn']
|
||||
steps:
|
||||
- name: Login to GitHub Container Registry
|
||||
uses: docker/login-action@74a5d142397b4f367a81961eba4e8cd7edddf772 # v3
|
||||
uses: docker/login-action@74a5d142397b4f367a81961eba4e8cd7edddf772 # v3.4.0
|
||||
with:
|
||||
registry: ghcr.io
|
||||
username: ${{ github.repository_owner }}
|
||||
@@ -87,7 +89,7 @@ jobs:
|
||||
suffix: ['']
|
||||
steps:
|
||||
- name: Login to GitHub Container Registry
|
||||
uses: docker/login-action@74a5d142397b4f367a81961eba4e8cd7edddf772 # v3
|
||||
uses: docker/login-action@74a5d142397b4f367a81961eba4e8cd7edddf772 # v3.4.0
|
||||
with:
|
||||
registry: ghcr.io
|
||||
username: ${{ github.repository_owner }}
|
||||
@@ -103,429 +105,74 @@ jobs:
|
||||
docker buildx imagetools create -t "${REGISTRY_NAME}/${REPOSITORY}:${TAG_PR}" "${REGISTRY_NAME}/${REPOSITORY}:${TAG_OLD}"
|
||||
docker buildx imagetools create -t "${REGISTRY_NAME}/${REPOSITORY}:${TAG_COMMIT}" "${REGISTRY_NAME}/${REPOSITORY}:${TAG_OLD}"
|
||||
|
||||
build_and_push_ml:
|
||||
machine-learning:
|
||||
name: Build and Push ML
|
||||
needs: pre-job
|
||||
permissions:
|
||||
contents: read
|
||||
packages: write
|
||||
if: ${{ needs.pre-job.outputs.should_run_ml == 'true' }}
|
||||
runs-on: ${{ matrix.runner }}
|
||||
env:
|
||||
image: immich-machine-learning
|
||||
context: machine-learning
|
||||
file: machine-learning/Dockerfile
|
||||
GHCR_REPO: ghcr.io/${{ github.repository_owner }}/immich-machine-learning
|
||||
strategy:
|
||||
# Prevent a failure in one image from stopping the other builds
|
||||
fail-fast: false
|
||||
matrix:
|
||||
include:
|
||||
- platform: linux/amd64
|
||||
runner: ubuntu-latest
|
||||
device: cpu
|
||||
|
||||
- platform: linux/arm64
|
||||
runner: ubuntu-24.04-arm
|
||||
device: cpu
|
||||
|
||||
- platform: linux/amd64
|
||||
runner: ubuntu-latest
|
||||
device: cuda
|
||||
suffix: -cuda
|
||||
|
||||
- platform: linux/amd64
|
||||
runner: mich
|
||||
device: rocm
|
||||
suffix: -rocm
|
||||
|
||||
- platform: linux/amd64
|
||||
runner: ubuntu-latest
|
||||
device: openvino
|
||||
suffix: -openvino
|
||||
|
||||
- platform: linux/arm64
|
||||
runner: ubuntu-24.04-arm
|
||||
device: armnn
|
||||
suffix: -armnn
|
||||
|
||||
- platform: linux/arm64
|
||||
runner: ubuntu-24.04-arm
|
||||
device: rknn
|
||||
suffix: -rknn
|
||||
|
||||
steps:
|
||||
- name: Prepare
|
||||
run: |
|
||||
platform=${{ matrix.platform }}
|
||||
echo "PLATFORM_PAIR=${platform//\//-}" >> $GITHUB_ENV
|
||||
|
||||
- name: Checkout
|
||||
uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4
|
||||
with:
|
||||
persist-credentials: false
|
||||
|
||||
- name: Set up Docker Buildx
|
||||
uses: docker/setup-buildx-action@b5ca514318bd6ebac0fb2aedd5d36ec1b5c232a2 # v3.10.0
|
||||
|
||||
- name: Login to GitHub Container Registry
|
||||
uses: docker/login-action@74a5d142397b4f367a81961eba4e8cd7edddf772 # v3
|
||||
if: ${{ !github.event.pull_request.head.repo.fork }}
|
||||
with:
|
||||
registry: ghcr.io
|
||||
username: ${{ github.repository_owner }}
|
||||
password: ${{ secrets.GITHUB_TOKEN }}
|
||||
|
||||
- name: Generate cache key suffix
|
||||
env:
|
||||
REF: ${{ github.ref_name }}
|
||||
run: |
|
||||
if [[ "${{ github.event_name }}" == "pull_request" ]]; then
|
||||
echo "CACHE_KEY_SUFFIX=pr-${{ github.event.number }}" >> $GITHUB_ENV
|
||||
else
|
||||
SUFFIX=$(echo "${REF}" | sed 's/[^a-zA-Z0-9]/-/g')
|
||||
echo "CACHE_KEY_SUFFIX=${SUFFIX}" >> $GITHUB_ENV
|
||||
fi
|
||||
|
||||
- name: Generate cache target
|
||||
id: cache-target
|
||||
run: |
|
||||
if [[ "${{ github.event.pull_request.head.repo.fork }}" == "true" ]]; then
|
||||
# Essentially just ignore the cache output (forks can't write to registry cache)
|
||||
echo "cache-to=type=local,dest=/tmp/discard,ignore-error=true" >> $GITHUB_OUTPUT
|
||||
else
|
||||
echo "cache-to=type=registry,ref=${GHCR_REPO}-build-cache:${PLATFORM_PAIR}-${{ matrix.device }}-${CACHE_KEY_SUFFIX},mode=max,compression=zstd" >> $GITHUB_OUTPUT
|
||||
fi
|
||||
|
||||
- name: Generate docker image tags
|
||||
id: meta
|
||||
uses: docker/metadata-action@902fa8ec7d6ecbf8d84d538b9b233a880e428804 # v5
|
||||
env:
|
||||
DOCKER_METADATA_PR_HEAD_SHA: 'true'
|
||||
|
||||
- name: Build and push image
|
||||
id: build
|
||||
uses: docker/build-push-action@14487ce63c7a62a4a324b0bfb37086795e31c6c1 # v6.16.0
|
||||
with:
|
||||
context: ${{ env.context }}
|
||||
file: ${{ env.file }}
|
||||
platforms: ${{ matrix.platforms }}
|
||||
labels: ${{ steps.meta.outputs.labels }}
|
||||
cache-to: ${{ steps.cache-target.outputs.cache-to }}
|
||||
cache-from: |
|
||||
type=registry,ref=${{ env.GHCR_REPO }}-build-cache:${{ env.PLATFORM_PAIR }}-${{ matrix.device }}-${{ env.CACHE_KEY_SUFFIX }}
|
||||
type=registry,ref=${{ env.GHCR_REPO }}-build-cache:${{ env.PLATFORM_PAIR }}-${{ matrix.device }}-main
|
||||
outputs: type=image,"name=${{ env.GHCR_REPO }}",push-by-digest=true,name-canonical=true,push=${{ !github.event.pull_request.head.repo.fork }}
|
||||
build-args: |
|
||||
DEVICE=${{ matrix.device }}
|
||||
BUILD_ID=${{ github.run_id }}
|
||||
BUILD_IMAGE=${{ github.event_name == 'release' && github.ref_name || steps.metadata.outputs.tags }}
|
||||
BUILD_SOURCE_REF=${{ github.ref_name }}
|
||||
BUILD_SOURCE_COMMIT=${{ github.sha }}
|
||||
|
||||
- name: Export digest
|
||||
run: | # zizmor: ignore[template-injection]
|
||||
mkdir -p ${{ runner.temp }}/digests
|
||||
digest="${{ steps.build.outputs.digest }}"
|
||||
touch "${{ runner.temp }}/digests/${digest#sha256:}"
|
||||
|
||||
- name: Upload digest
|
||||
uses: actions/upload-artifact@ea165f8d65b6e75b540449e92b4886f43607fa02 # v4
|
||||
with:
|
||||
name: ml-digests-${{ matrix.device }}-${{ env.PLATFORM_PAIR }}
|
||||
path: ${{ runner.temp }}/digests/*
|
||||
if-no-files-found: error
|
||||
retention-days: 1
|
||||
|
||||
merge_ml:
|
||||
name: Merge & Push ML
|
||||
runs-on: ubuntu-latest
|
||||
permissions:
|
||||
contents: read
|
||||
actions: read
|
||||
packages: write
|
||||
if: ${{ needs.pre-job.outputs.should_run_ml == 'true' && !github.event.pull_request.head.repo.fork }}
|
||||
env:
|
||||
GHCR_REPO: ghcr.io/${{ github.repository_owner }}/immich-machine-learning
|
||||
DOCKER_REPO: altran1502/immich-machine-learning
|
||||
strategy:
|
||||
matrix:
|
||||
include:
|
||||
- device: cpu
|
||||
tag-suffix: ''
|
||||
- device: cuda
|
||||
suffix: -cuda
|
||||
- device: rocm
|
||||
suffix: -rocm
|
||||
tag-suffix: '-cuda'
|
||||
platforms: linux/amd64
|
||||
- device: openvino
|
||||
suffix: -openvino
|
||||
tag-suffix: '-openvino'
|
||||
platforms: linux/amd64
|
||||
- device: armnn
|
||||
suffix: -armnn
|
||||
tag-suffix: '-armnn'
|
||||
platforms: linux/arm64
|
||||
- device: rknn
|
||||
suffix: -rknn
|
||||
needs:
|
||||
- build_and_push_ml
|
||||
steps:
|
||||
- name: Download digests
|
||||
uses: actions/download-artifact@d3f86a106a0bac45b974a628896c90dbdf5c8093 # v4
|
||||
with:
|
||||
path: ${{ runner.temp }}/digests
|
||||
pattern: ml-digests-${{ matrix.device }}-*
|
||||
merge-multiple: true
|
||||
|
||||
- name: Login to Docker Hub
|
||||
if: ${{ github.event_name == 'release' }}
|
||||
uses: docker/login-action@74a5d142397b4f367a81961eba4e8cd7edddf772 # v3
|
||||
with:
|
||||
username: ${{ secrets.DOCKERHUB_USERNAME }}
|
||||
password: ${{ secrets.DOCKERHUB_TOKEN }}
|
||||
|
||||
- name: Login to GHCR
|
||||
uses: docker/login-action@74a5d142397b4f367a81961eba4e8cd7edddf772 # v3
|
||||
with:
|
||||
registry: ghcr.io
|
||||
username: ${{ github.repository_owner }}
|
||||
password: ${{ secrets.GITHUB_TOKEN }}
|
||||
|
||||
- name: Set up Docker Buildx
|
||||
uses: docker/setup-buildx-action@b5ca514318bd6ebac0fb2aedd5d36ec1b5c232a2 # v3
|
||||
|
||||
- name: Generate docker image tags
|
||||
id: meta
|
||||
uses: docker/metadata-action@902fa8ec7d6ecbf8d84d538b9b233a880e428804 # v5
|
||||
env:
|
||||
DOCKER_METADATA_PR_HEAD_SHA: 'true'
|
||||
with:
|
||||
flavor: |
|
||||
# Disable latest tag
|
||||
latest=false
|
||||
suffix=${{ matrix.suffix }}
|
||||
images: |
|
||||
name=${{ env.GHCR_REPO }}
|
||||
name=${{ env.DOCKER_REPO }},enable=${{ github.event_name == 'release' }}
|
||||
tags: |
|
||||
# Tag with branch name
|
||||
type=ref,event=branch
|
||||
# Tag with pr-number
|
||||
type=ref,event=pr
|
||||
# Tag with long commit sha hash
|
||||
type=sha,format=long,prefix=commit-
|
||||
# Tag with git tag on release
|
||||
type=ref,event=tag
|
||||
type=raw,value=release,enable=${{ github.event_name == 'release' }}
|
||||
|
||||
- name: Create manifest list and push
|
||||
working-directory: ${{ runner.temp }}/digests
|
||||
run: |
|
||||
# Process annotations
|
||||
declare -a ANNOTATIONS=()
|
||||
if [[ -n "$DOCKER_METADATA_OUTPUT_JSON" ]]; then
|
||||
while IFS= read -r annotation; do
|
||||
# Extract key and value by removing the manifest: prefix
|
||||
if [[ "$annotation" =~ ^manifest:(.+)=(.+)$ ]]; then
|
||||
key="${BASH_REMATCH[1]}"
|
||||
value="${BASH_REMATCH[2]}"
|
||||
# Use array to properly handle arguments with spaces
|
||||
ANNOTATIONS+=(--annotation "index:$key=$value")
|
||||
fi
|
||||
done < <(jq -r '.annotations[]' <<< "$DOCKER_METADATA_OUTPUT_JSON")
|
||||
fi
|
||||
|
||||
TAGS=$(jq -cr '.tags | map("-t " + .) | join(" ")' <<< "$DOCKER_METADATA_OUTPUT_JSON") \
|
||||
SOURCE_ARGS=$(printf "${GHCR_REPO}@sha256:%s " *)
|
||||
|
||||
docker buildx imagetools create $TAGS "${ANNOTATIONS[@]}" $SOURCE_ARGS
|
||||
|
||||
build_and_push_server:
|
||||
name: Build and Push Server
|
||||
runs-on: ${{ matrix.runner }}
|
||||
permissions:
|
||||
contents: read
|
||||
packages: write
|
||||
needs: pre-job
|
||||
if: ${{ needs.pre-job.outputs.should_run_server == 'true' }}
|
||||
env:
|
||||
image: immich-server
|
||||
context: .
|
||||
file: server/Dockerfile
|
||||
GHCR_REPO: ghcr.io/${{ github.repository_owner }}/immich-server
|
||||
strategy:
|
||||
fail-fast: false
|
||||
matrix:
|
||||
include:
|
||||
- platform: linux/amd64
|
||||
runner: ubuntu-latest
|
||||
- platform: linux/arm64
|
||||
runner: ubuntu-24.04-arm
|
||||
steps:
|
||||
- name: Prepare
|
||||
run: |
|
||||
platform=${{ matrix.platform }}
|
||||
echo "PLATFORM_PAIR=${platform//\//-}" >> $GITHUB_ENV
|
||||
|
||||
- name: Checkout
|
||||
uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4
|
||||
with:
|
||||
persist-credentials: false
|
||||
|
||||
- name: Set up Docker Buildx
|
||||
uses: docker/setup-buildx-action@b5ca514318bd6ebac0fb2aedd5d36ec1b5c232a2 # v3
|
||||
|
||||
- name: Login to GitHub Container Registry
|
||||
uses: docker/login-action@74a5d142397b4f367a81961eba4e8cd7edddf772 # v3
|
||||
if: ${{ !github.event.pull_request.head.repo.fork }}
|
||||
with:
|
||||
registry: ghcr.io
|
||||
username: ${{ github.repository_owner }}
|
||||
password: ${{ secrets.GITHUB_TOKEN }}
|
||||
|
||||
- name: Generate cache key suffix
|
||||
env:
|
||||
REF: ${{ github.ref_name }}
|
||||
run: |
|
||||
if [[ "${{ github.event_name }}" == "pull_request" ]]; then
|
||||
echo "CACHE_KEY_SUFFIX=pr-${{ github.event.number }}" >> $GITHUB_ENV
|
||||
else
|
||||
SUFFIX=$(echo "${REF}" | sed 's/[^a-zA-Z0-9]/-/g')
|
||||
echo "CACHE_KEY_SUFFIX=${SUFFIX}" >> $GITHUB_ENV
|
||||
fi
|
||||
|
||||
- name: Generate cache target
|
||||
id: cache-target
|
||||
run: |
|
||||
if [[ "${{ github.event.pull_request.head.repo.fork }}" == "true" ]]; then
|
||||
# Essentially just ignore the cache output (forks can't write to registry cache)
|
||||
echo "cache-to=type=local,dest=/tmp/discard,ignore-error=true" >> $GITHUB_OUTPUT
|
||||
else
|
||||
echo "cache-to=type=registry,ref=${GHCR_REPO}-build-cache:${PLATFORM_PAIR}-${CACHE_KEY_SUFFIX},mode=max,compression=zstd" >> $GITHUB_OUTPUT
|
||||
fi
|
||||
|
||||
- name: Generate docker image tags
|
||||
id: meta
|
||||
uses: docker/metadata-action@902fa8ec7d6ecbf8d84d538b9b233a880e428804 # v5
|
||||
env:
|
||||
DOCKER_METADATA_PR_HEAD_SHA: 'true'
|
||||
|
||||
- name: Build and push image
|
||||
id: build
|
||||
uses: docker/build-push-action@14487ce63c7a62a4a324b0bfb37086795e31c6c1 # v6.16.0
|
||||
with:
|
||||
context: ${{ env.context }}
|
||||
file: ${{ env.file }}
|
||||
platforms: ${{ matrix.platform }}
|
||||
labels: ${{ steps.meta.outputs.labels }}
|
||||
cache-to: ${{ steps.cache-target.outputs.cache-to }}
|
||||
cache-from: |
|
||||
type=registry,ref=${{ env.GHCR_REPO }}-build-cache:${{ env.PLATFORM_PAIR }}-${{ env.CACHE_KEY_SUFFIX }}
|
||||
type=registry,ref=${{ env.GHCR_REPO }}-build-cache:${{ env.PLATFORM_PAIR }}-main
|
||||
outputs: type=image,"name=${{ env.GHCR_REPO }}",push-by-digest=true,name-canonical=true,push=${{ !github.event.pull_request.head.repo.fork }}
|
||||
build-args: |
|
||||
DEVICE=cpu
|
||||
BUILD_ID=${{ github.run_id }}
|
||||
BUILD_IMAGE=${{ github.event_name == 'release' && github.ref_name || steps.metadata.outputs.tags }}
|
||||
BUILD_SOURCE_REF=${{ github.ref_name }}
|
||||
BUILD_SOURCE_COMMIT=${{ github.sha }}
|
||||
|
||||
- name: Export digest
|
||||
run: | # zizmor: ignore[template-injection]
|
||||
mkdir -p ${{ runner.temp }}/digests
|
||||
digest="${{ steps.build.outputs.digest }}"
|
||||
touch "${{ runner.temp }}/digests/${digest#sha256:}"
|
||||
|
||||
- name: Upload digest
|
||||
uses: actions/upload-artifact@ea165f8d65b6e75b540449e92b4886f43607fa02 # v4
|
||||
with:
|
||||
name: server-digests-${{ env.PLATFORM_PAIR }}
|
||||
path: ${{ runner.temp }}/digests/*
|
||||
if-no-files-found: error
|
||||
retention-days: 1
|
||||
|
||||
merge_server:
|
||||
name: Merge & Push Server
|
||||
runs-on: ubuntu-latest
|
||||
tag-suffix: '-rknn'
|
||||
platforms: linux/arm64
|
||||
- device: rocm
|
||||
tag-suffix: '-rocm'
|
||||
platforms: linux/amd64
|
||||
runner-mapping: '{"linux/amd64": "mich"}'
|
||||
uses: ./.github/workflows/multi-runner-build.yml
|
||||
permissions:
|
||||
contents: read
|
||||
actions: read
|
||||
packages: write
|
||||
if: ${{ needs.pre-job.outputs.should_run_server == 'true' && !github.event.pull_request.head.repo.fork }}
|
||||
env:
|
||||
GHCR_REPO: ghcr.io/${{ github.repository_owner }}/immich-server
|
||||
DOCKER_REPO: altran1502/immich-server
|
||||
needs:
|
||||
- build_and_push_server
|
||||
steps:
|
||||
- name: Download digests
|
||||
uses: actions/download-artifact@d3f86a106a0bac45b974a628896c90dbdf5c8093 # v4
|
||||
with:
|
||||
path: ${{ runner.temp }}/digests
|
||||
pattern: server-digests-*
|
||||
merge-multiple: true
|
||||
secrets:
|
||||
DOCKERHUB_USERNAME: ${{ secrets.DOCKERHUB_USERNAME }}
|
||||
DOCKERHUB_TOKEN: ${{ secrets.DOCKERHUB_TOKEN }}
|
||||
with:
|
||||
image: immich-machine-learning
|
||||
context: machine-learning
|
||||
dockerfile: machine-learning/Dockerfile
|
||||
platforms: ${{ matrix.platforms }}
|
||||
runner-mapping: ${{ matrix.runner-mapping }}
|
||||
tag-suffix: ${{ matrix.tag-suffix }}
|
||||
dockerhub-push: ${{ github.event_name == 'release' }}
|
||||
build-args: |
|
||||
DEVICE=${{ matrix.device }}
|
||||
|
||||
- name: Login to Docker Hub
|
||||
if: ${{ github.event_name == 'release' }}
|
||||
uses: docker/login-action@74a5d142397b4f367a81961eba4e8cd7edddf772 # v3
|
||||
with:
|
||||
username: ${{ secrets.DOCKERHUB_USERNAME }}
|
||||
password: ${{ secrets.DOCKERHUB_TOKEN }}
|
||||
|
||||
- name: Login to GHCR
|
||||
uses: docker/login-action@74a5d142397b4f367a81961eba4e8cd7edddf772 # v3
|
||||
with:
|
||||
registry: ghcr.io
|
||||
username: ${{ github.repository_owner }}
|
||||
password: ${{ secrets.GITHUB_TOKEN }}
|
||||
|
||||
- name: Set up Docker Buildx
|
||||
uses: docker/setup-buildx-action@b5ca514318bd6ebac0fb2aedd5d36ec1b5c232a2 # v3
|
||||
|
||||
- name: Generate docker image tags
|
||||
id: meta
|
||||
uses: docker/metadata-action@902fa8ec7d6ecbf8d84d538b9b233a880e428804 # v5
|
||||
env:
|
||||
DOCKER_METADATA_PR_HEAD_SHA: 'true'
|
||||
with:
|
||||
flavor: |
|
||||
# Disable latest tag
|
||||
latest=false
|
||||
suffix=${{ matrix.suffix }}
|
||||
images: |
|
||||
name=${{ env.GHCR_REPO }}
|
||||
name=${{ env.DOCKER_REPO }},enable=${{ github.event_name == 'release' }}
|
||||
tags: |
|
||||
# Tag with branch name
|
||||
type=ref,event=branch
|
||||
# Tag with pr-number
|
||||
type=ref,event=pr
|
||||
# Tag with long commit sha hash
|
||||
type=sha,format=long,prefix=commit-
|
||||
# Tag with git tag on release
|
||||
type=ref,event=tag
|
||||
type=raw,value=release,enable=${{ github.event_name == 'release' }}
|
||||
|
||||
- name: Create manifest list and push
|
||||
working-directory: ${{ runner.temp }}/digests
|
||||
run: |
|
||||
# Process annotations
|
||||
declare -a ANNOTATIONS=()
|
||||
if [[ -n "$DOCKER_METADATA_OUTPUT_JSON" ]]; then
|
||||
while IFS= read -r annotation; do
|
||||
# Extract key and value by removing the manifest: prefix
|
||||
if [[ "$annotation" =~ ^manifest:(.+)=(.+)$ ]]; then
|
||||
key="${BASH_REMATCH[1]}"
|
||||
value="${BASH_REMATCH[2]}"
|
||||
# Use array to properly handle arguments with spaces
|
||||
ANNOTATIONS+=(--annotation "index:$key=$value")
|
||||
fi
|
||||
done < <(jq -r '.annotations[]' <<< "$DOCKER_METADATA_OUTPUT_JSON")
|
||||
fi
|
||||
|
||||
TAGS=$(jq -cr '.tags | map("-t " + .) | join(" ")' <<< "$DOCKER_METADATA_OUTPUT_JSON") \
|
||||
SOURCE_ARGS=$(printf "${GHCR_REPO}@sha256:%s " *)
|
||||
|
||||
docker buildx imagetools create $TAGS "${ANNOTATIONS[@]}" $SOURCE_ARGS
|
||||
server:
|
||||
name: Build and Push Server
|
||||
needs: pre-job
|
||||
if: ${{ needs.pre-job.outputs.should_run_server == 'true' }}
|
||||
uses: ./.github/workflows/multi-runner-build.yml
|
||||
permissions:
|
||||
contents: read
|
||||
actions: read
|
||||
packages: write
|
||||
secrets:
|
||||
DOCKERHUB_USERNAME: ${{ secrets.DOCKERHUB_USERNAME }}
|
||||
DOCKERHUB_TOKEN: ${{ secrets.DOCKERHUB_TOKEN }}
|
||||
with:
|
||||
image: immich-server
|
||||
context: .
|
||||
dockerfile: server/Dockerfile
|
||||
dockerhub-push: ${{ github.event_name == 'release' }}
|
||||
build-args: |
|
||||
DEVICE=cpu
|
||||
|
||||
success-check-server:
|
||||
name: Docker Build & Push Server Success
|
||||
needs: [merge_server, retag_server]
|
||||
needs: [server, retag_server]
|
||||
permissions: {}
|
||||
runs-on: ubuntu-latest
|
||||
if: always()
|
||||
@@ -540,7 +187,7 @@ jobs:
|
||||
|
||||
success-check-ml:
|
||||
name: Docker Build & Push ML Success
|
||||
needs: [merge_ml, retag_ml]
|
||||
needs: [machine-learning, retag_ml]
|
||||
permissions: {}
|
||||
runs-on: ubuntu-latest
|
||||
if: always()
|
||||
|
||||
10
.github/workflows/docs-build.yml
vendored
10
.github/workflows/docs-build.yml
vendored
@@ -21,11 +21,11 @@ jobs:
|
||||
should_run: ${{ steps.found_paths.outputs.docs == 'true' || steps.should_force.outputs.should_force == 'true' }}
|
||||
steps:
|
||||
- name: Checkout code
|
||||
uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4
|
||||
uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
|
||||
with:
|
||||
persist-credentials: false
|
||||
- id: found_paths
|
||||
uses: dorny/paths-filter@de90cc6fb38fc0963ad72b210f1f284cd68cea36 # v3
|
||||
uses: dorny/paths-filter@de90cc6fb38fc0963ad72b210f1f284cd68cea36 # v3.0.2
|
||||
with:
|
||||
filters: |
|
||||
docs:
|
||||
@@ -49,12 +49,12 @@ jobs:
|
||||
|
||||
steps:
|
||||
- name: Checkout code
|
||||
uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4
|
||||
uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
|
||||
with:
|
||||
persist-credentials: false
|
||||
|
||||
- name: Setup Node
|
||||
uses: actions/setup-node@49933ea5288caeca8642d1e84afbd3f7d6820020 # v4
|
||||
uses: actions/setup-node@49933ea5288caeca8642d1e84afbd3f7d6820020 # v4.4.0
|
||||
with:
|
||||
node-version-file: './docs/.nvmrc'
|
||||
|
||||
@@ -68,7 +68,7 @@ jobs:
|
||||
run: npm run build
|
||||
|
||||
- name: Upload build output
|
||||
uses: actions/upload-artifact@ea165f8d65b6e75b540449e92b4886f43607fa02 # v4
|
||||
uses: actions/upload-artifact@ea165f8d65b6e75b540449e92b4886f43607fa02 # v4.6.2
|
||||
with:
|
||||
name: docs-build-output
|
||||
path: docs/build/
|
||||
|
||||
21
.github/workflows/docs-deploy.yml
vendored
21
.github/workflows/docs-deploy.yml
vendored
@@ -20,7 +20,7 @@ jobs:
|
||||
run: echo 'The triggering workflow did not succeed' && exit 1
|
||||
- name: Get artifact
|
||||
id: get-artifact
|
||||
uses: actions/github-script@60a0d83039c74a4aee543508d2ffcb1c3799cdea # v7
|
||||
uses: actions/github-script@60a0d83039c74a4aee543508d2ffcb1c3799cdea # v7.0.1
|
||||
with:
|
||||
script: |
|
||||
let allArtifacts = await github.rest.actions.listWorkflowRunArtifacts({
|
||||
@@ -38,7 +38,7 @@ jobs:
|
||||
return { found: true, id: matchArtifact.id };
|
||||
- name: Determine deploy parameters
|
||||
id: parameters
|
||||
uses: actions/github-script@60a0d83039c74a4aee543508d2ffcb1c3799cdea # v7
|
||||
uses: actions/github-script@60a0d83039c74a4aee543508d2ffcb1c3799cdea # v7.0.1
|
||||
env:
|
||||
HEAD_SHA: ${{ github.event.workflow_run.head_sha }}
|
||||
with:
|
||||
@@ -108,13 +108,13 @@ jobs:
|
||||
if: ${{ fromJson(needs.checks.outputs.artifact).found && fromJson(needs.checks.outputs.parameters).shouldDeploy }}
|
||||
steps:
|
||||
- name: Checkout code
|
||||
uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4
|
||||
uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
|
||||
with:
|
||||
persist-credentials: false
|
||||
|
||||
- name: Load parameters
|
||||
id: parameters
|
||||
uses: actions/github-script@60a0d83039c74a4aee543508d2ffcb1c3799cdea # v7
|
||||
uses: actions/github-script@60a0d83039c74a4aee543508d2ffcb1c3799cdea # v7.0.1
|
||||
env:
|
||||
PARAM_JSON: ${{ needs.checks.outputs.parameters }}
|
||||
with:
|
||||
@@ -125,7 +125,7 @@ jobs:
|
||||
core.setOutput("shouldDeploy", parameters.shouldDeploy);
|
||||
|
||||
- name: Download artifact
|
||||
uses: actions/github-script@60a0d83039c74a4aee543508d2ffcb1c3799cdea # v7
|
||||
uses: actions/github-script@60a0d83039c74a4aee543508d2ffcb1c3799cdea # v7.0.1
|
||||
env:
|
||||
ARTIFACT_JSON: ${{ needs.checks.outputs.artifact }}
|
||||
with:
|
||||
@@ -150,7 +150,7 @@ jobs:
|
||||
CLOUDFLARE_API_TOKEN: ${{ secrets.CLOUDFLARE_API_TOKEN }}
|
||||
CLOUDFLARE_ACCOUNT_ID: ${{ secrets.CLOUDFLARE_ACCOUNT_ID }}
|
||||
TF_STATE_POSTGRES_CONN_STR: ${{ secrets.TF_STATE_POSTGRES_CONN_STR }}
|
||||
uses: gruntwork-io/terragrunt-action@9559e51d05873b0ea467c42bbabcb5c067642ccc # v2
|
||||
uses: gruntwork-io/terragrunt-action@9559e51d05873b0ea467c42bbabcb5c067642ccc # v2.1.5
|
||||
with:
|
||||
tg_version: '0.58.12'
|
||||
tofu_version: '1.7.1'
|
||||
@@ -165,7 +165,7 @@ jobs:
|
||||
CLOUDFLARE_API_TOKEN: ${{ secrets.CLOUDFLARE_API_TOKEN }}
|
||||
CLOUDFLARE_ACCOUNT_ID: ${{ secrets.CLOUDFLARE_ACCOUNT_ID }}
|
||||
TF_STATE_POSTGRES_CONN_STR: ${{ secrets.TF_STATE_POSTGRES_CONN_STR }}
|
||||
uses: gruntwork-io/terragrunt-action@9559e51d05873b0ea467c42bbabcb5c067642ccc # v2
|
||||
uses: gruntwork-io/terragrunt-action@9559e51d05873b0ea467c42bbabcb5c067642ccc # v2.1.5
|
||||
with:
|
||||
tg_version: '0.58.12'
|
||||
tofu_version: '1.7.1'
|
||||
@@ -181,7 +181,8 @@ jobs:
|
||||
echo "output=$CLEANED" >> $GITHUB_OUTPUT
|
||||
|
||||
- name: Publish to Cloudflare Pages
|
||||
uses: cloudflare/pages-action@f0a1cd58cd66095dee69bfa18fa5efd1dde93bca # v1
|
||||
# TODO: Action is deprecated
|
||||
uses: cloudflare/pages-action@f0a1cd58cd66095dee69bfa18fa5efd1dde93bca # v1.5.0
|
||||
with:
|
||||
apiToken: ${{ secrets.CLOUDFLARE_API_TOKEN_PAGES_UPLOAD }}
|
||||
accountId: ${{ secrets.CLOUDFLARE_ACCOUNT_ID }}
|
||||
@@ -198,7 +199,7 @@ jobs:
|
||||
CLOUDFLARE_API_TOKEN: ${{ secrets.CLOUDFLARE_API_TOKEN }}
|
||||
CLOUDFLARE_ACCOUNT_ID: ${{ secrets.CLOUDFLARE_ACCOUNT_ID }}
|
||||
TF_STATE_POSTGRES_CONN_STR: ${{ secrets.TF_STATE_POSTGRES_CONN_STR }}
|
||||
uses: gruntwork-io/terragrunt-action@9559e51d05873b0ea467c42bbabcb5c067642ccc # v2
|
||||
uses: gruntwork-io/terragrunt-action@9559e51d05873b0ea467c42bbabcb5c067642ccc # v2.1.5
|
||||
with:
|
||||
tg_version: '0.58.12'
|
||||
tofu_version: '1.7.1'
|
||||
@@ -206,7 +207,7 @@ jobs:
|
||||
tg_command: 'apply'
|
||||
|
||||
- name: Comment
|
||||
uses: actions-cool/maintain-one-comment@4b2dbf086015f892dcb5e8c1106f5fccd6c1476b # v3
|
||||
uses: actions-cool/maintain-one-comment@4b2dbf086015f892dcb5e8c1106f5fccd6c1476b # v3.2.0
|
||||
if: ${{ steps.parameters.outputs.event == 'pr' }}
|
||||
with:
|
||||
number: ${{ fromJson(needs.checks.outputs.parameters).pr_number }}
|
||||
|
||||
6
.github/workflows/docs-destroy.yml
vendored
6
.github/workflows/docs-destroy.yml
vendored
@@ -14,7 +14,7 @@ jobs:
|
||||
pull-requests: write
|
||||
steps:
|
||||
- name: Checkout code
|
||||
uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4
|
||||
uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
|
||||
with:
|
||||
persist-credentials: false
|
||||
|
||||
@@ -25,7 +25,7 @@ jobs:
|
||||
CLOUDFLARE_API_TOKEN: ${{ secrets.CLOUDFLARE_API_TOKEN }}
|
||||
CLOUDFLARE_ACCOUNT_ID: ${{ secrets.CLOUDFLARE_ACCOUNT_ID }}
|
||||
TF_STATE_POSTGRES_CONN_STR: ${{ secrets.TF_STATE_POSTGRES_CONN_STR }}
|
||||
uses: gruntwork-io/terragrunt-action@9559e51d05873b0ea467c42bbabcb5c067642ccc # v2
|
||||
uses: gruntwork-io/terragrunt-action@9559e51d05873b0ea467c42bbabcb5c067642ccc # v2.1.5
|
||||
with:
|
||||
tg_version: '0.58.12'
|
||||
tofu_version: '1.7.1'
|
||||
@@ -33,7 +33,7 @@ jobs:
|
||||
tg_command: 'destroy -refresh=false'
|
||||
|
||||
- name: Comment
|
||||
uses: actions-cool/maintain-one-comment@4b2dbf086015f892dcb5e8c1106f5fccd6c1476b # v3
|
||||
uses: actions-cool/maintain-one-comment@4b2dbf086015f892dcb5e8c1106f5fccd6c1476b # v3.2.0
|
||||
with:
|
||||
number: ${{ github.event.number }}
|
||||
delete: true
|
||||
|
||||
10
.github/workflows/fix-format.yml
vendored
10
.github/workflows/fix-format.yml
vendored
@@ -16,20 +16,20 @@ jobs:
|
||||
steps:
|
||||
- name: Generate a token
|
||||
id: generate-token
|
||||
uses: actions/create-github-app-token@3ff1caaa28b64c9cc276ce0a02e2ff584f3900c5 # v2
|
||||
uses: actions/create-github-app-token@df432ceedc7162793a195dd1713ff69aefc7379e # v2.0.6
|
||||
with:
|
||||
app-id: ${{ secrets.PUSH_O_MATIC_APP_ID }}
|
||||
private-key: ${{ secrets.PUSH_O_MATIC_APP_KEY }}
|
||||
|
||||
- name: 'Checkout'
|
||||
uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4
|
||||
uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
|
||||
with:
|
||||
ref: ${{ github.event.pull_request.head.ref }}
|
||||
token: ${{ steps.generate-token.outputs.token }}
|
||||
persist-credentials: true
|
||||
|
||||
- name: Setup Node
|
||||
uses: actions/setup-node@49933ea5288caeca8642d1e84afbd3f7d6820020 # v4
|
||||
uses: actions/setup-node@49933ea5288caeca8642d1e84afbd3f7d6820020 # v4.4.0
|
||||
with:
|
||||
node-version-file: './server/.nvmrc'
|
||||
|
||||
@@ -37,13 +37,13 @@ jobs:
|
||||
run: make install-all && make format-all
|
||||
|
||||
- name: Commit and push
|
||||
uses: EndBug/add-and-commit@a94899bca583c204427a224a7af87c02f9b325d5 # v9
|
||||
uses: EndBug/add-and-commit@a94899bca583c204427a224a7af87c02f9b325d5 # v9.1.4
|
||||
with:
|
||||
default_author: github_actions
|
||||
message: 'chore: fix formatting'
|
||||
|
||||
- name: Remove label
|
||||
uses: actions/github-script@60a0d83039c74a4aee543508d2ffcb1c3799cdea # v7
|
||||
uses: actions/github-script@60a0d83039c74a4aee543508d2ffcb1c3799cdea # v7.0.1
|
||||
if: always()
|
||||
with:
|
||||
script: |
|
||||
|
||||
185
.github/workflows/multi-runner-build.yml
vendored
Normal file
185
.github/workflows/multi-runner-build.yml
vendored
Normal file
@@ -0,0 +1,185 @@
|
||||
name: 'Multi-runner container image build'
|
||||
on:
|
||||
workflow_call:
|
||||
inputs:
|
||||
image:
|
||||
description: 'Name of the image'
|
||||
type: string
|
||||
required: true
|
||||
context:
|
||||
description: 'Path to build context'
|
||||
type: string
|
||||
required: true
|
||||
dockerfile:
|
||||
description: 'Path to Dockerfile'
|
||||
type: string
|
||||
required: true
|
||||
tag-suffix:
|
||||
description: 'Suffix to append to the image tag'
|
||||
type: string
|
||||
default: ''
|
||||
dockerhub-push:
|
||||
description: 'Push to Docker Hub'
|
||||
type: boolean
|
||||
default: false
|
||||
build-args:
|
||||
description: 'Docker build arguments'
|
||||
type: string
|
||||
required: false
|
||||
platforms:
|
||||
description: 'Platforms to build for'
|
||||
type: string
|
||||
runner-mapping:
|
||||
description: 'Mapping from platforms to runners'
|
||||
type: string
|
||||
secrets:
|
||||
DOCKERHUB_USERNAME:
|
||||
required: false
|
||||
DOCKERHUB_TOKEN:
|
||||
required: false
|
||||
|
||||
env:
|
||||
GHCR_IMAGE: ghcr.io/${{ github.repository_owner }}/${{ inputs.image }}
|
||||
DOCKERHUB_IMAGE: altran1502/${{ inputs.image }}
|
||||
|
||||
jobs:
|
||||
matrix:
|
||||
name: 'Generate matrix'
|
||||
runs-on: ubuntu-latest
|
||||
outputs:
|
||||
matrix: ${{ steps.matrix.outputs.matrix }}
|
||||
key: ${{ steps.artifact-key.outputs.base }}
|
||||
steps:
|
||||
- name: Generate build matrix
|
||||
id: matrix
|
||||
shell: bash
|
||||
env:
|
||||
PLATFORMS: ${{ inputs.platforms || 'linux/amd64,linux/arm64' }}
|
||||
RUNNER_MAPPING: ${{ inputs.runner-mapping || '{"linux/amd64":"ubuntu-latest","linux/arm64":"ubuntu-24.04-arm"}' }}
|
||||
run: |
|
||||
matrix=$(jq -R -c \
|
||||
--argjson runner_mapping "${RUNNER_MAPPING}" \
|
||||
'split(",") | map({platform: ., runner: $runner_mapping[.]})' \
|
||||
<<< "${PLATFORMS}")
|
||||
echo "${matrix}"
|
||||
echo "matrix=${matrix}" >> $GITHUB_OUTPUT
|
||||
|
||||
- name: Determine artifact key
|
||||
id: artifact-key
|
||||
shell: bash
|
||||
env:
|
||||
IMAGE: ${{ inputs.image }}
|
||||
SUFFIX: ${{ inputs.tag-suffix }}
|
||||
run: |
|
||||
if [[ -n "${SUFFIX}" ]]; then
|
||||
base="${IMAGE}${SUFFIX}-digests"
|
||||
else
|
||||
base="${IMAGE}-digests"
|
||||
fi
|
||||
echo "${base}"
|
||||
echo "base=${base}" >> $GITHUB_OUTPUT
|
||||
|
||||
build:
|
||||
needs: matrix
|
||||
runs-on: ${{ matrix.runner }}
|
||||
permissions:
|
||||
contents: read
|
||||
packages: write
|
||||
strategy:
|
||||
fail-fast: false
|
||||
matrix:
|
||||
include: ${{ fromJson(needs.matrix.outputs.matrix) }}
|
||||
steps:
|
||||
- name: Checkout
|
||||
uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4
|
||||
with:
|
||||
persist-credentials: false
|
||||
|
||||
- uses: ./.github/actions/image-build
|
||||
with:
|
||||
context: ${{ inputs.context }}
|
||||
dockerfile: ${{ inputs.dockerfile }}
|
||||
image: ${{ env.GHCR_IMAGE }}
|
||||
ghcr-token: ${{ secrets.GITHUB_TOKEN }}
|
||||
platform: ${{ matrix.platform }}
|
||||
artifact-key-base: ${{ needs.matrix.outputs.key }}
|
||||
build-args: ${{ inputs.build-args }}
|
||||
|
||||
merge:
|
||||
needs: [matrix, build]
|
||||
runs-on: ubuntu-latest
|
||||
if: ${{ !github.event.pull_request.head.repo.fork }}
|
||||
permissions:
|
||||
contents: read
|
||||
actions: read
|
||||
packages: write
|
||||
steps:
|
||||
- name: Download digests
|
||||
uses: actions/download-artifact@95815c38cf2ff2164869cbab79da8d1f422bc89e # v4
|
||||
with:
|
||||
path: ${{ runner.temp }}/digests
|
||||
pattern: ${{ needs.matrix.outputs.key }}-*
|
||||
merge-multiple: true
|
||||
|
||||
- name: Login to Docker Hub
|
||||
if: ${{ inputs.dockerhub-push }}
|
||||
uses: docker/login-action@74a5d142397b4f367a81961eba4e8cd7edddf772 # v3
|
||||
with:
|
||||
username: ${{ secrets.DOCKERHUB_USERNAME }}
|
||||
password: ${{ secrets.DOCKERHUB_TOKEN }}
|
||||
|
||||
- name: Login to GHCR
|
||||
uses: docker/login-action@74a5d142397b4f367a81961eba4e8cd7edddf772 # v3
|
||||
with:
|
||||
registry: ghcr.io
|
||||
username: ${{ github.repository_owner }}
|
||||
password: ${{ secrets.GITHUB_TOKEN }}
|
||||
|
||||
- name: Set up Docker Buildx
|
||||
uses: docker/setup-buildx-action@b5ca514318bd6ebac0fb2aedd5d36ec1b5c232a2 # v3
|
||||
|
||||
- name: Generate docker image tags
|
||||
id: meta
|
||||
uses: docker/metadata-action@902fa8ec7d6ecbf8d84d538b9b233a880e428804 # v5
|
||||
env:
|
||||
DOCKER_METADATA_PR_HEAD_SHA: 'true'
|
||||
with:
|
||||
flavor: |
|
||||
# Disable latest tag
|
||||
latest=false
|
||||
suffix=${{ inputs.tag-suffix }}
|
||||
images: |
|
||||
name=${{ env.GHCR_IMAGE }}
|
||||
name=${{ env.DOCKERHUB_IMAGE }},enable=${{ inputs.dockerhub-push }}
|
||||
tags: |
|
||||
# Tag with branch name
|
||||
type=ref,event=branch
|
||||
# Tag with pr-number
|
||||
type=ref,event=pr
|
||||
# Tag with long commit sha hash
|
||||
type=sha,format=long,prefix=commit-
|
||||
# Tag with git tag on release
|
||||
type=ref,event=tag
|
||||
type=raw,value=release,enable=${{ github.event_name == 'release' }}
|
||||
|
||||
- name: Create manifest list and push
|
||||
working-directory: ${{ runner.temp }}/digests
|
||||
run: |
|
||||
# Process annotations
|
||||
declare -a ANNOTATIONS=()
|
||||
if [[ -n "$DOCKER_METADATA_OUTPUT_JSON" ]]; then
|
||||
while IFS= read -r annotation; do
|
||||
# Extract key and value by removing the manifest: prefix
|
||||
if [[ "$annotation" =~ ^manifest:(.+)=(.+)$ ]]; then
|
||||
key="${BASH_REMATCH[1]}"
|
||||
value="${BASH_REMATCH[2]}"
|
||||
# Use array to properly handle arguments with spaces
|
||||
ANNOTATIONS+=(--annotation "index:$key=$value")
|
||||
fi
|
||||
done < <(jq -r '.annotations[]' <<< "$DOCKER_METADATA_OUTPUT_JSON")
|
||||
fi
|
||||
|
||||
TAGS=$(jq -cr '.tags | map("-t " + .) | join(" ")' <<< "$DOCKER_METADATA_OUTPUT_JSON") \
|
||||
SOURCE_ARGS=$(printf "${GHCR_IMAGE}@sha256:%s " *)
|
||||
|
||||
docker buildx imagetools create $TAGS "${ANNOTATIONS[@]}" $SOURCE_ARGS
|
||||
2
.github/workflows/pr-label-validation.yml
vendored
2
.github/workflows/pr-label-validation.yml
vendored
@@ -14,7 +14,7 @@ jobs:
|
||||
pull-requests: write
|
||||
steps:
|
||||
- name: Require PR to have a changelog label
|
||||
uses: mheap/github-action-required-labels@388fd6af37b34cdfe5a23b37060e763217e58b03 # v5
|
||||
uses: mheap/github-action-required-labels@388fd6af37b34cdfe5a23b37060e763217e58b03 # v5.5.0
|
||||
with:
|
||||
mode: exactly
|
||||
count: 1
|
||||
|
||||
2
.github/workflows/pr-labeler.yml
vendored
2
.github/workflows/pr-labeler.yml
vendored
@@ -11,4 +11,4 @@ jobs:
|
||||
pull-requests: write
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- uses: actions/labeler@8558fd74291d67161a8a78ce36a881fa63b766a9 # v5
|
||||
- uses: actions/labeler@8558fd74291d67161a8a78ce36a881fa63b766a9 # v5.0.0
|
||||
|
||||
16
.github/workflows/prepare-release.yml
vendored
16
.github/workflows/prepare-release.yml
vendored
@@ -32,19 +32,19 @@ jobs:
|
||||
steps:
|
||||
- name: Generate a token
|
||||
id: generate-token
|
||||
uses: actions/create-github-app-token@3ff1caaa28b64c9cc276ce0a02e2ff584f3900c5 # v2
|
||||
uses: actions/create-github-app-token@df432ceedc7162793a195dd1713ff69aefc7379e # v2.0.6
|
||||
with:
|
||||
app-id: ${{ secrets.PUSH_O_MATIC_APP_ID }}
|
||||
private-key: ${{ secrets.PUSH_O_MATIC_APP_KEY }}
|
||||
|
||||
- name: Checkout
|
||||
uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4
|
||||
uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
|
||||
with:
|
||||
token: ${{ steps.generate-token.outputs.token }}
|
||||
persist-credentials: true
|
||||
|
||||
- name: Install uv
|
||||
uses: astral-sh/setup-uv@d4b2f3b6ecc6e67c4457f6d3e41ec42d3d0fcb86 # v5
|
||||
uses: astral-sh/setup-uv@d4b2f3b6ecc6e67c4457f6d3e41ec42d3d0fcb86 # v5.4.2
|
||||
|
||||
- name: Bump version
|
||||
env:
|
||||
@@ -54,7 +54,7 @@ jobs:
|
||||
|
||||
- name: Commit and tag
|
||||
id: push-tag
|
||||
uses: EndBug/add-and-commit@a94899bca583c204427a224a7af87c02f9b325d5 # v9
|
||||
uses: EndBug/add-and-commit@a94899bca583c204427a224a7af87c02f9b325d5 # v9.1.4
|
||||
with:
|
||||
default_author: github_actions
|
||||
message: 'chore: version ${{ env.IMMICH_VERSION }}'
|
||||
@@ -83,24 +83,24 @@ jobs:
|
||||
steps:
|
||||
- name: Generate a token
|
||||
id: generate-token
|
||||
uses: actions/create-github-app-token@3ff1caaa28b64c9cc276ce0a02e2ff584f3900c5 # v2
|
||||
uses: actions/create-github-app-token@df432ceedc7162793a195dd1713ff69aefc7379e # v2.0.6
|
||||
with:
|
||||
app-id: ${{ secrets.PUSH_O_MATIC_APP_ID }}
|
||||
private-key: ${{ secrets.PUSH_O_MATIC_APP_KEY }}
|
||||
|
||||
- name: Checkout
|
||||
uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4
|
||||
uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
|
||||
with:
|
||||
token: ${{ steps.generate-token.outputs.token }}
|
||||
persist-credentials: false
|
||||
|
||||
- name: Download APK
|
||||
uses: actions/download-artifact@d3f86a106a0bac45b974a628896c90dbdf5c8093 # v4
|
||||
uses: actions/download-artifact@d3f86a106a0bac45b974a628896c90dbdf5c8093 # v4.3.0
|
||||
with:
|
||||
name: release-apk-signed
|
||||
|
||||
- name: Create draft release
|
||||
uses: softprops/action-gh-release@da05d552573ad5aba039eaac05058a918a7bf631 # v2
|
||||
uses: softprops/action-gh-release@da05d552573ad5aba039eaac05058a918a7bf631 # v2.2.2
|
||||
with:
|
||||
draft: true
|
||||
tag_name: ${{ env.IMMICH_VERSION }}
|
||||
|
||||
4
.github/workflows/preview-label.yaml
vendored
4
.github/workflows/preview-label.yaml
vendored
@@ -13,7 +13,7 @@ jobs:
|
||||
permissions:
|
||||
pull-requests: write
|
||||
steps:
|
||||
- uses: mshick/add-pr-comment@b8f338c590a895d50bcbfa6c5859251edc8952fc # v2
|
||||
- uses: mshick/add-pr-comment@b8f338c590a895d50bcbfa6c5859251edc8952fc # v2.8.2
|
||||
with:
|
||||
message-id: 'preview-status'
|
||||
message: 'Deploying preview environment to https://pr-${{ github.event.pull_request.number }}.preview.internal.immich.cloud/'
|
||||
@@ -24,7 +24,7 @@ jobs:
|
||||
permissions:
|
||||
pull-requests: write
|
||||
steps:
|
||||
- uses: actions/github-script@60a0d83039c74a4aee543508d2ffcb1c3799cdea # v7
|
||||
- uses: actions/github-script@60a0d83039c74a4aee543508d2ffcb1c3799cdea # v7.0.1
|
||||
with:
|
||||
script: |
|
||||
github.rest.issues.removeLabel({
|
||||
|
||||
4
.github/workflows/sdk.yml
vendored
4
.github/workflows/sdk.yml
vendored
@@ -16,12 +16,12 @@ jobs:
|
||||
run:
|
||||
working-directory: ./open-api/typescript-sdk
|
||||
steps:
|
||||
- uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4
|
||||
- uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
|
||||
with:
|
||||
persist-credentials: false
|
||||
|
||||
# Setup .npmrc file to publish to npm
|
||||
- uses: actions/setup-node@49933ea5288caeca8642d1e84afbd3f7d6820020 # v4
|
||||
- uses: actions/setup-node@49933ea5288caeca8642d1e84afbd3f7d6820020 # v4.4.0
|
||||
with:
|
||||
node-version-file: './open-api/typescript-sdk/.nvmrc'
|
||||
registry-url: 'https://registry.npmjs.org'
|
||||
|
||||
16
.github/workflows/static_analysis.yml
vendored
16
.github/workflows/static_analysis.yml
vendored
@@ -20,11 +20,11 @@ jobs:
|
||||
should_run: ${{ steps.found_paths.outputs.mobile == 'true' || steps.should_force.outputs.should_force == 'true' }}
|
||||
steps:
|
||||
- name: Checkout code
|
||||
uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4
|
||||
uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
|
||||
with:
|
||||
persist-credentials: false
|
||||
- id: found_paths
|
||||
uses: dorny/paths-filter@de90cc6fb38fc0963ad72b210f1f284cd68cea36 # v3
|
||||
uses: dorny/paths-filter@de90cc6fb38fc0963ad72b210f1f284cd68cea36 # v3.0.2
|
||||
with:
|
||||
filters: |
|
||||
mobile:
|
||||
@@ -44,12 +44,12 @@ jobs:
|
||||
contents: read
|
||||
steps:
|
||||
- name: Checkout code
|
||||
uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4
|
||||
uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
|
||||
with:
|
||||
persist-credentials: false
|
||||
|
||||
- name: Setup Flutter SDK
|
||||
uses: subosito/flutter-action@e938fdf56512cc96ef2f93601a5a40bde3801046 # v2
|
||||
uses: subosito/flutter-action@e938fdf56512cc96ef2f93601a5a40bde3801046 # v2.19.0
|
||||
with:
|
||||
channel: 'stable'
|
||||
flutter-version-file: ./mobile/pubspec.yaml
|
||||
@@ -67,7 +67,7 @@ jobs:
|
||||
working-directory: ./mobile
|
||||
|
||||
- name: Find file changes
|
||||
uses: tj-actions/verify-changed-files@a1c6acee9df209257a246f2cc6ae8cb6581c1edf # v20
|
||||
uses: tj-actions/verify-changed-files@a1c6acee9df209257a246f2cc6ae8cb6581c1edf # v20.0.4
|
||||
id: verify-changed-files
|
||||
with:
|
||||
files: |
|
||||
@@ -105,12 +105,12 @@ jobs:
|
||||
actions: read
|
||||
steps:
|
||||
- name: Checkout repository
|
||||
uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4
|
||||
uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
|
||||
with:
|
||||
persist-credentials: false
|
||||
|
||||
- name: Install the latest version of uv
|
||||
uses: astral-sh/setup-uv@d4b2f3b6ecc6e67c4457f6d3e41ec42d3d0fcb86 # v5
|
||||
uses: astral-sh/setup-uv@d4b2f3b6ecc6e67c4457f6d3e41ec42d3d0fcb86 # v5.4.2
|
||||
|
||||
- name: Run zizmor 🌈
|
||||
run: uvx zizmor --format=sarif . > results.sarif
|
||||
@@ -118,7 +118,7 @@ jobs:
|
||||
GH_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
||||
|
||||
- name: Upload SARIF file
|
||||
uses: github/codeql-action/upload-sarif@28deaeda66b76a05916b6923827895f2b14ab387 # v3
|
||||
uses: github/codeql-action/upload-sarif@60168efe1c415ce0f5521ea06d5c2062adbeed1b # v3.28.17
|
||||
with:
|
||||
sarif_file: results.sarif
|
||||
category: zizmor
|
||||
|
||||
123
.github/workflows/test.yml
vendored
123
.github/workflows/test.yml
vendored
@@ -17,6 +17,7 @@ jobs:
|
||||
permissions:
|
||||
contents: read
|
||||
outputs:
|
||||
should_run_i18n: ${{ steps.found_paths.outputs.i18n == 'true' || steps.should_force.outputs.should_force == 'true' }}
|
||||
should_run_web: ${{ steps.found_paths.outputs.web == 'true' || steps.should_force.outputs.should_force == 'true' }}
|
||||
should_run_server: ${{ steps.found_paths.outputs.server == 'true' || steps.should_force.outputs.should_force == 'true' }}
|
||||
should_run_cli: ${{ steps.found_paths.outputs.cli == 'true' || steps.should_force.outputs.should_force == 'true' }}
|
||||
@@ -28,14 +29,16 @@ jobs:
|
||||
should_run_.github: ${{ steps.found_paths.outputs['.github'] == 'true' || steps.should_force.outputs.should_force == 'true' }} # redundant to have should_force but if someone changes the trigger then this won't have to be changed
|
||||
steps:
|
||||
- name: Checkout code
|
||||
uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4
|
||||
uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
|
||||
with:
|
||||
persist-credentials: false
|
||||
|
||||
- id: found_paths
|
||||
uses: dorny/paths-filter@de90cc6fb38fc0963ad72b210f1f284cd68cea36 # v3
|
||||
uses: dorny/paths-filter@de90cc6fb38fc0963ad72b210f1f284cd68cea36 # v3.0.2
|
||||
with:
|
||||
filters: |
|
||||
i18n:
|
||||
- 'i18n/**'
|
||||
web:
|
||||
- 'web/**'
|
||||
- 'i18n/**'
|
||||
@@ -73,12 +76,12 @@ jobs:
|
||||
|
||||
steps:
|
||||
- name: Checkout code
|
||||
uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4
|
||||
uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
|
||||
with:
|
||||
persist-credentials: false
|
||||
|
||||
- name: Setup Node
|
||||
uses: actions/setup-node@49933ea5288caeca8642d1e84afbd3f7d6820020 # v4
|
||||
uses: actions/setup-node@49933ea5288caeca8642d1e84afbd3f7d6820020 # v4.4.0
|
||||
with:
|
||||
node-version-file: './server/.nvmrc'
|
||||
|
||||
@@ -114,12 +117,12 @@ jobs:
|
||||
|
||||
steps:
|
||||
- name: Checkout code
|
||||
uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4
|
||||
uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
|
||||
with:
|
||||
persist-credentials: false
|
||||
|
||||
- name: Setup Node
|
||||
uses: actions/setup-node@49933ea5288caeca8642d1e84afbd3f7d6820020 # v4
|
||||
uses: actions/setup-node@49933ea5288caeca8642d1e84afbd3f7d6820020 # v4.4.0
|
||||
with:
|
||||
node-version-file: './cli/.nvmrc'
|
||||
|
||||
@@ -159,12 +162,12 @@ jobs:
|
||||
|
||||
steps:
|
||||
- name: Checkout code
|
||||
uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4
|
||||
uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
|
||||
with:
|
||||
persist-credentials: false
|
||||
|
||||
- name: Setup Node
|
||||
uses: actions/setup-node@49933ea5288caeca8642d1e84afbd3f7d6820020 # v4
|
||||
uses: actions/setup-node@49933ea5288caeca8642d1e84afbd3f7d6820020 # v4.4.0
|
||||
with:
|
||||
node-version-file: './cli/.nvmrc'
|
||||
|
||||
@@ -197,12 +200,12 @@ jobs:
|
||||
|
||||
steps:
|
||||
- name: Checkout code
|
||||
uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4
|
||||
uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
|
||||
with:
|
||||
persist-credentials: false
|
||||
|
||||
- name: Setup Node
|
||||
uses: actions/setup-node@49933ea5288caeca8642d1e84afbd3f7d6820020 # v4
|
||||
uses: actions/setup-node@49933ea5288caeca8642d1e84afbd3f7d6820020 # v4.4.0
|
||||
with:
|
||||
node-version-file: './web/.nvmrc'
|
||||
|
||||
@@ -238,12 +241,12 @@ jobs:
|
||||
|
||||
steps:
|
||||
- name: Checkout code
|
||||
uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4
|
||||
uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
|
||||
with:
|
||||
persist-credentials: false
|
||||
|
||||
- name: Setup Node
|
||||
uses: actions/setup-node@49933ea5288caeca8642d1e84afbd3f7d6820020 # v4
|
||||
uses: actions/setup-node@49933ea5288caeca8642d1e84afbd3f7d6820020 # v4.4.0
|
||||
with:
|
||||
node-version-file: './web/.nvmrc'
|
||||
|
||||
@@ -262,6 +265,46 @@ jobs:
|
||||
run: npm run test:cov
|
||||
if: ${{ !cancelled() }}
|
||||
|
||||
i18n-tests:
|
||||
name: Test i18n
|
||||
needs: pre-job
|
||||
if: ${{ needs.pre-job.outputs.should_run_i18n == 'true' }}
|
||||
runs-on: ubuntu-latest
|
||||
permissions:
|
||||
contents: read
|
||||
steps:
|
||||
- name: Checkout code
|
||||
uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
|
||||
with:
|
||||
persist-credentials: false
|
||||
|
||||
- name: Setup Node
|
||||
uses: actions/setup-node@49933ea5288caeca8642d1e84afbd3f7d6820020 # v4.4.0
|
||||
with:
|
||||
node-version-file: './web/.nvmrc'
|
||||
|
||||
- name: Install dependencies
|
||||
run: npm --prefix=web ci
|
||||
|
||||
- name: Format
|
||||
run: npm --prefix=web run format:i18n
|
||||
|
||||
- name: Find file changes
|
||||
uses: tj-actions/verify-changed-files@a1c6acee9df209257a246f2cc6ae8cb6581c1edf # v20.0.4
|
||||
id: verify-changed-files
|
||||
with:
|
||||
files: |
|
||||
i18n/**
|
||||
|
||||
- name: Verify files have not changed
|
||||
if: steps.verify-changed-files.outputs.files_changed == 'true'
|
||||
env:
|
||||
CHANGED_FILES: ${{ steps.verify-changed-files.outputs.changed_files }}
|
||||
run: |
|
||||
echo "ERROR: i18n files not up to date!"
|
||||
echo "Changed files: ${CHANGED_FILES}"
|
||||
exit 1
|
||||
|
||||
e2e-tests-lint:
|
||||
name: End-to-End Lint
|
||||
needs: pre-job
|
||||
@@ -275,12 +318,12 @@ jobs:
|
||||
|
||||
steps:
|
||||
- name: Checkout code
|
||||
uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4
|
||||
uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
|
||||
with:
|
||||
persist-credentials: false
|
||||
|
||||
- name: Setup Node
|
||||
uses: actions/setup-node@49933ea5288caeca8642d1e84afbd3f7d6820020 # v4
|
||||
uses: actions/setup-node@49933ea5288caeca8642d1e84afbd3f7d6820020 # v4.4.0
|
||||
with:
|
||||
node-version-file: './e2e/.nvmrc'
|
||||
|
||||
@@ -318,12 +361,12 @@ jobs:
|
||||
|
||||
steps:
|
||||
- name: Checkout code
|
||||
uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4
|
||||
uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
|
||||
with:
|
||||
persist-credentials: false
|
||||
|
||||
- name: Setup Node
|
||||
uses: actions/setup-node@49933ea5288caeca8642d1e84afbd3f7d6820020 # v4
|
||||
uses: actions/setup-node@49933ea5288caeca8642d1e84afbd3f7d6820020 # v4.4.0
|
||||
with:
|
||||
node-version-file: './server/.nvmrc'
|
||||
|
||||
@@ -346,17 +389,17 @@ jobs:
|
||||
working-directory: ./e2e
|
||||
strategy:
|
||||
matrix:
|
||||
runner: [mich, ubuntu-24.04-arm]
|
||||
runner: [ubuntu-latest, ubuntu-24.04-arm]
|
||||
|
||||
steps:
|
||||
- name: Checkout code
|
||||
uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4
|
||||
uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
|
||||
with:
|
||||
persist-credentials: false
|
||||
submodules: 'recursive'
|
||||
|
||||
- name: Setup Node
|
||||
uses: actions/setup-node@49933ea5288caeca8642d1e84afbd3f7d6820020 # v4
|
||||
uses: actions/setup-node@49933ea5288caeca8642d1e84afbd3f7d6820020 # v4.4.0
|
||||
with:
|
||||
node-version-file: './e2e/.nvmrc'
|
||||
|
||||
@@ -394,17 +437,17 @@ jobs:
|
||||
working-directory: ./e2e
|
||||
strategy:
|
||||
matrix:
|
||||
runner: [mich, ubuntu-24.04-arm]
|
||||
runner: [ubuntu-latest, ubuntu-24.04-arm]
|
||||
|
||||
steps:
|
||||
- name: Checkout code
|
||||
uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4
|
||||
uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
|
||||
with:
|
||||
persist-credentials: false
|
||||
submodules: 'recursive'
|
||||
|
||||
- name: Setup Node
|
||||
uses: actions/setup-node@49933ea5288caeca8642d1e84afbd3f7d6820020 # v4
|
||||
uses: actions/setup-node@49933ea5288caeca8642d1e84afbd3f7d6820020 # v4.4.0
|
||||
with:
|
||||
node-version-file: './e2e/.nvmrc'
|
||||
|
||||
@@ -452,12 +495,12 @@ jobs:
|
||||
permissions:
|
||||
contents: read
|
||||
steps:
|
||||
- uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4
|
||||
- uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
|
||||
with:
|
||||
persist-credentials: false
|
||||
|
||||
- name: Setup Flutter SDK
|
||||
uses: subosito/flutter-action@e938fdf56512cc96ef2f93601a5a40bde3801046 # v2
|
||||
uses: subosito/flutter-action@e938fdf56512cc96ef2f93601a5a40bde3801046 # v2.19.0
|
||||
with:
|
||||
channel: 'stable'
|
||||
flutter-version-file: ./mobile/pubspec.yaml
|
||||
@@ -476,13 +519,13 @@ jobs:
|
||||
run:
|
||||
working-directory: ./machine-learning
|
||||
steps:
|
||||
- uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4
|
||||
- uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
|
||||
with:
|
||||
persist-credentials: false
|
||||
|
||||
- name: Install uv
|
||||
uses: astral-sh/setup-uv@d4b2f3b6ecc6e67c4457f6d3e41ec42d3d0fcb86 # v5
|
||||
- uses: actions/setup-python@a26af69be951a213d495a4c3e4e4022e16d87065 # v5
|
||||
uses: astral-sh/setup-uv@d4b2f3b6ecc6e67c4457f6d3e41ec42d3d0fcb86 # v5.4.2
|
||||
- uses: actions/setup-python@a26af69be951a213d495a4c3e4e4022e16d87065 # v5.6.0
|
||||
# TODO: add caching when supported (https://github.com/actions/setup-python/pull/818)
|
||||
# with:
|
||||
# python-version: 3.11
|
||||
@@ -516,12 +559,12 @@ jobs:
|
||||
|
||||
steps:
|
||||
- name: Checkout code
|
||||
uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4
|
||||
uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
|
||||
with:
|
||||
persist-credentials: false
|
||||
|
||||
- name: Setup Node
|
||||
uses: actions/setup-node@49933ea5288caeca8642d1e84afbd3f7d6820020 # v4
|
||||
uses: actions/setup-node@49933ea5288caeca8642d1e84afbd3f7d6820020 # v4.4.0
|
||||
with:
|
||||
node-version-file: './.github/.nvmrc'
|
||||
|
||||
@@ -538,7 +581,7 @@ jobs:
|
||||
permissions:
|
||||
contents: read
|
||||
steps:
|
||||
- uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4
|
||||
- uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
|
||||
with:
|
||||
persist-credentials: false
|
||||
|
||||
@@ -557,12 +600,12 @@ jobs:
|
||||
contents: read
|
||||
steps:
|
||||
- name: Checkout code
|
||||
uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4
|
||||
uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
|
||||
with:
|
||||
persist-credentials: false
|
||||
|
||||
- name: Setup Node
|
||||
uses: actions/setup-node@49933ea5288caeca8642d1e84afbd3f7d6820020 # v4
|
||||
uses: actions/setup-node@49933ea5288caeca8642d1e84afbd3f7d6820020 # v4.4.0
|
||||
with:
|
||||
node-version-file: './server/.nvmrc'
|
||||
|
||||
@@ -576,7 +619,7 @@ jobs:
|
||||
run: make open-api
|
||||
|
||||
- name: Find file changes
|
||||
uses: tj-actions/verify-changed-files@a1c6acee9df209257a246f2cc6ae8cb6581c1edf # v20
|
||||
uses: tj-actions/verify-changed-files@a1c6acee9df209257a246f2cc6ae8cb6581c1edf # v20.0.4
|
||||
id: verify-changed-files
|
||||
with:
|
||||
files: |
|
||||
@@ -593,8 +636,8 @@ jobs:
|
||||
echo "Changed files: ${CHANGED_FILES}"
|
||||
exit 1
|
||||
|
||||
generated-typeorm-migrations-up-to-date:
|
||||
name: TypeORM Checks
|
||||
sql-schema-up-to-date:
|
||||
name: SQL Schema Checks
|
||||
runs-on: ubuntu-latest
|
||||
permissions:
|
||||
contents: read
|
||||
@@ -618,12 +661,12 @@ jobs:
|
||||
|
||||
steps:
|
||||
- name: Checkout code
|
||||
uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4
|
||||
uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
|
||||
with:
|
||||
persist-credentials: false
|
||||
|
||||
- name: Setup Node
|
||||
uses: actions/setup-node@49933ea5288caeca8642d1e84afbd3f7d6820020 # v4
|
||||
uses: actions/setup-node@49933ea5288caeca8642d1e84afbd3f7d6820020 # v4.4.0
|
||||
with:
|
||||
node-version-file: './server/.nvmrc'
|
||||
|
||||
@@ -641,10 +684,10 @@ jobs:
|
||||
|
||||
- name: Generate new migrations
|
||||
continue-on-error: true
|
||||
run: npm run migrations:generate TestMigration
|
||||
run: npm run migrations:generate src/TestMigration
|
||||
|
||||
- name: Find file changes
|
||||
uses: tj-actions/verify-changed-files@a1c6acee9df209257a246f2cc6ae8cb6581c1edf # v20
|
||||
uses: tj-actions/verify-changed-files@a1c6acee9df209257a246f2cc6ae8cb6581c1edf # v20.0.4
|
||||
id: verify-changed-files
|
||||
with:
|
||||
files: |
|
||||
@@ -665,7 +708,7 @@ jobs:
|
||||
DB_URL: postgres://postgres:postgres@localhost:5432/immich
|
||||
|
||||
- name: Find file changes
|
||||
uses: tj-actions/verify-changed-files@a1c6acee9df209257a246f2cc6ae8cb6581c1edf # v20
|
||||
uses: tj-actions/verify-changed-files@a1c6acee9df209257a246f2cc6ae8cb6581c1edf # v20.0.4
|
||||
id: verify-changed-sql-files
|
||||
with:
|
||||
files: |
|
||||
|
||||
6
.github/workflows/weblate-lock.yml
vendored
6
.github/workflows/weblate-lock.yml
vendored
@@ -15,11 +15,11 @@ jobs:
|
||||
should_run: ${{ steps.found_paths.outputs.i18n == 'true' && github.head_ref != 'chore/translations'}}
|
||||
steps:
|
||||
- name: Checkout code
|
||||
uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4
|
||||
uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
|
||||
with:
|
||||
persist-credentials: false
|
||||
- id: found_paths
|
||||
uses: dorny/paths-filter@de90cc6fb38fc0963ad72b210f1f284cd68cea36 # v3
|
||||
uses: dorny/paths-filter@de90cc6fb38fc0963ad72b210f1f284cd68cea36 # v3.0.2
|
||||
with:
|
||||
filters: |
|
||||
i18n:
|
||||
@@ -38,7 +38,7 @@ jobs:
|
||||
exit 1
|
||||
fi
|
||||
- name: Find Pull Request
|
||||
uses: juliangruber/find-pull-request-action@48b6133aa6c826f267ebd33aa2d29470f9d9e7d0 # v1
|
||||
uses: juliangruber/find-pull-request-action@48b6133aa6c826f267ebd33aa2d29470f9d9e7d0 # v1.9.0
|
||||
id: find-pr
|
||||
with:
|
||||
branch: chore/translations
|
||||
|
||||
@@ -1 +1 @@
|
||||
22.14.0
|
||||
22.15.0
|
||||
|
||||
1216
cli/package-lock.json
generated
1216
cli/package-lock.json
generated
File diff suppressed because it is too large
Load Diff
@@ -21,7 +21,7 @@
|
||||
"@types/lodash-es": "^4.17.12",
|
||||
"@types/micromatch": "^4.0.9",
|
||||
"@types/mock-fs": "^4.13.1",
|
||||
"@types/node": "^22.14.1",
|
||||
"@types/node": "^22.15.16",
|
||||
"@vitest/coverage-v8": "^3.0.0",
|
||||
"byte-size": "^9.0.0",
|
||||
"cli-progress": "^3.12.0",
|
||||
@@ -69,6 +69,6 @@
|
||||
"micromatch": "^4.0.8"
|
||||
},
|
||||
"volta": {
|
||||
"node": "22.14.0"
|
||||
"node": "22.15.0"
|
||||
}
|
||||
}
|
||||
|
||||
@@ -116,7 +116,7 @@ services:
|
||||
|
||||
redis:
|
||||
container_name: immich_redis
|
||||
image: docker.io/valkey/valkey:8-bookworm@sha256:c855f98e09d558a0d7cc1a4e56473231206a4c54c0114ada9c485b47aeb92ec8
|
||||
image: docker.io/valkey/valkey:8-bookworm@sha256:ff21bc0f8194dc9c105b769aeabf9585fea6a8ed649c0781caeac5cb3c247884
|
||||
healthcheck:
|
||||
test: redis-cli ping || exit 1
|
||||
|
||||
|
||||
@@ -56,7 +56,7 @@ services:
|
||||
|
||||
redis:
|
||||
container_name: immich_redis
|
||||
image: docker.io/valkey/valkey:8-bookworm@sha256:c855f98e09d558a0d7cc1a4e56473231206a4c54c0114ada9c485b47aeb92ec8
|
||||
image: docker.io/valkey/valkey:8-bookworm@sha256:ff21bc0f8194dc9c105b769aeabf9585fea6a8ed649c0781caeac5cb3c247884
|
||||
healthcheck:
|
||||
test: redis-cli ping || exit 1
|
||||
restart: always
|
||||
@@ -77,12 +77,22 @@ services:
|
||||
- 5432:5432
|
||||
healthcheck:
|
||||
test: >-
|
||||
pg_isready --dbname="$${POSTGRES_DB}" --username="$${POSTGRES_USER}" || exit 1; Chksum="$$(psql --dbname="$${POSTGRES_DB}" --username="$${POSTGRES_USER}" --tuples-only --no-align --command='SELECT COALESCE(SUM(checksum_failures), 0) FROM pg_stat_database')"; echo "checksum failure count is $$Chksum"; [ "$$Chksum" = '0' ] || exit 1
|
||||
pg_isready --dbname="$${POSTGRES_DB}" --username="$${POSTGRES_USER}" || exit 1;
|
||||
Chksum="$$(psql --dbname="$${POSTGRES_DB}" --username="$${POSTGRES_USER}" --tuples-only --no-align
|
||||
--command='SELECT COALESCE(SUM(checksum_failures), 0) FROM pg_stat_database')";
|
||||
echo "checksum failure count is $$Chksum";
|
||||
[ "$$Chksum" = '0' ] || exit 1
|
||||
interval: 5m
|
||||
start_interval: 30s
|
||||
start_period: 5m
|
||||
command: >-
|
||||
postgres -c shared_preload_libraries=vectors.so -c 'search_path="$$user", public, vectors' -c logging_collector=on -c max_wal_size=2GB -c shared_buffers=512MB -c wal_compression=on
|
||||
postgres
|
||||
-c shared_preload_libraries=vectors.so
|
||||
-c 'search_path="$$user", public, vectors'
|
||||
-c logging_collector=on
|
||||
-c max_wal_size=2GB
|
||||
-c shared_buffers=512MB
|
||||
-c wal_compression=on
|
||||
restart: always
|
||||
|
||||
# set IMMICH_TELEMETRY_INCLUDE=all in .env to enable metrics
|
||||
@@ -90,7 +100,7 @@ services:
|
||||
container_name: immich_prometheus
|
||||
ports:
|
||||
- 9090:9090
|
||||
image: prom/prometheus@sha256:339ce86a59413be18d0e445472891d022725b4803fab609069110205e79fb2f1
|
||||
image: prom/prometheus@sha256:e2b8aa62b64855956e3ec1e18b4f9387fb6203174a4471936f4662f437f04405
|
||||
volumes:
|
||||
- ./prometheus.yml:/etc/prometheus/prometheus.yml
|
||||
- prometheus-data:/prometheus
|
||||
|
||||
@@ -49,7 +49,7 @@ services:
|
||||
|
||||
redis:
|
||||
container_name: immich_redis
|
||||
image: docker.io/valkey/valkey:8-bookworm@sha256:c855f98e09d558a0d7cc1a4e56473231206a4c54c0114ada9c485b47aeb92ec8
|
||||
image: docker.io/valkey/valkey:8-bookworm@sha256:ff21bc0f8194dc9c105b769aeabf9585fea6a8ed649c0781caeac5cb3c247884
|
||||
healthcheck:
|
||||
test: redis-cli ping || exit 1
|
||||
restart: always
|
||||
@@ -67,12 +67,22 @@ services:
|
||||
- ${DB_DATA_LOCATION}:/var/lib/postgresql/data
|
||||
healthcheck:
|
||||
test: >-
|
||||
pg_isready --dbname="$${POSTGRES_DB}" --username="$${POSTGRES_USER}" || exit 1; Chksum="$$(psql --dbname="$${POSTGRES_DB}" --username="$${POSTGRES_USER}" --tuples-only --no-align --command='SELECT COALESCE(SUM(checksum_failures), 0) FROM pg_stat_database')"; echo "checksum failure count is $$Chksum"; [ "$$Chksum" = '0' ] || exit 1
|
||||
pg_isready --dbname="$${POSTGRES_DB}" --username="$${POSTGRES_USER}" || exit 1;
|
||||
Chksum="$$(psql --dbname="$${POSTGRES_DB}" --username="$${POSTGRES_USER}" --tuples-only --no-align
|
||||
--command='SELECT COALESCE(SUM(checksum_failures), 0) FROM pg_stat_database')";
|
||||
echo "checksum failure count is $$Chksum";
|
||||
[ "$$Chksum" = '0' ] || exit 1
|
||||
interval: 5m
|
||||
start_interval: 30s
|
||||
start_period: 5m
|
||||
command: >-
|
||||
postgres -c shared_preload_libraries=vectors.so -c 'search_path="$$user", public, vectors' -c logging_collector=on -c max_wal_size=2GB -c shared_buffers=512MB -c wal_compression=on
|
||||
postgres
|
||||
-c shared_preload_libraries=vectors.so
|
||||
-c 'search_path="$$user", public, vectors'
|
||||
-c logging_collector=on
|
||||
-c max_wal_size=2GB
|
||||
-c shared_buffers=512MB
|
||||
-c wal_compression=on
|
||||
restart: always
|
||||
|
||||
volumes:
|
||||
|
||||
@@ -1 +1 @@
|
||||
22.14.0
|
||||
22.15.0
|
||||
|
||||
@@ -22,7 +22,7 @@ server {
|
||||
client_max_body_size 50000M;
|
||||
|
||||
# Set headers
|
||||
proxy_set_header Host $http_host;
|
||||
proxy_set_header Host $host;
|
||||
proxy_set_header X-Real-IP $remote_addr;
|
||||
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
|
||||
proxy_set_header X-Forwarded-Proto $scheme;
|
||||
|
||||
@@ -121,6 +121,6 @@ Once this is done, you can continue to step 3 of "Basic Setup".
|
||||
|
||||
[hw-file]: https://github.com/immich-app/immich/releases/latest/download/hwaccel.transcoding.yml
|
||||
[nvct]: https://docs.nvidia.com/datacenter/cloud-native/container-toolkit/latest/install-guide.html
|
||||
[jellyfin-lp]: https://jellyfin.org/docs/general/administration/hardware-acceleration/intel/#configure-and-verify-lp-mode-on-linux
|
||||
[jellyfin-kernel-bug]: https://jellyfin.org/docs/general/administration/hardware-acceleration/intel/#known-issues-and-limitations
|
||||
[jellyfin-lp]: https://jellyfin.org/docs/general/post-install/transcoding/hardware-acceleration/intel#low-power-encoding
|
||||
[jellyfin-kernel-bug]: https://jellyfin.org/docs/general/post-install/transcoding/hardware-acceleration/intel#known-issues-and-limitations-on-linux
|
||||
[libmali-rockchip]: https://github.com/tsukumijima/libmali-rockchip/releases
|
||||
|
||||
@@ -72,7 +72,7 @@ In rare cases, the library watcher can hang, preventing Immich from starting up.
|
||||
|
||||
### Nightly job
|
||||
|
||||
There is an automatic scan job that is scheduled to run once a day. This job also cleans up any libraries stuck in deletion. It is possible to trigger the cleanup by clicking "Scan all libraries" in the library managment page.
|
||||
There is an automatic scan job that is scheduled to run once a day. This job also cleans up any libraries stuck in deletion. It is possible to trigger the cleanup by clicking "Scan all libraries" in the library management page.
|
||||
|
||||
## Usage
|
||||
|
||||
|
||||
@@ -92,7 +92,7 @@ Memory and execution time estimates were obtained without acceleration on a 7800
|
||||
|
||||
**Execution Time (ms)**: After warming up the model with one pass, the mean execution time of 100 passes with the same input.
|
||||
|
||||
**Memory (MiB)**: The peak RSS usage of the process afer performing the above timing benchmark. Does not include image decoding, concurrent processing, the web server, etc., which are relatively constant factors.
|
||||
**Memory (MiB)**: The peak RSS usage of the process after performing the above timing benchmark. Does not include image decoding, concurrent processing, the web server, etc., which are relatively constant factors.
|
||||
|
||||
**Recall (%)**: Evaluated on Crossmodal-3600, the average of the recall@1, recall@5 and recall@10 results for zeroshot image retrieval. Chinese (Simplified), English, French, German, Italian, Japanese, Korean, Polish, Russian, Spanish and Turkish are additionally tested on XTD-10. Chinese (Simplified) and English are additionally tested on Flickr30k. The recall metrics are the average across all tested datasets.
|
||||
|
||||
|
||||
@@ -2,53 +2,13 @@
|
||||
sidebar_position: 30
|
||||
---
|
||||
|
||||
import CodeBlock from '@theme/CodeBlock';
|
||||
import ExampleEnv from '!!raw-loader!../../../docker/example.env';
|
||||
|
||||
# Docker Compose [Recommended]
|
||||
|
||||
Docker Compose is the recommended method to run Immich in production. Below are the steps to deploy Immich with Docker Compose.
|
||||
|
||||
## Step 1 - Download the required files
|
||||
import DockerComposeSteps from '/docs/partials/_docker-compose-install-steps.mdx';
|
||||
|
||||
Create a directory of your choice (e.g. `./immich-app`) to hold the `docker-compose.yml` and `.env` files.
|
||||
|
||||
```bash title="Move to the directory you created"
|
||||
mkdir ./immich-app
|
||||
cd ./immich-app
|
||||
```
|
||||
|
||||
Download [`docker-compose.yml`][compose-file] and [`example.env`][env-file] by running the following commands:
|
||||
|
||||
```bash title="Get docker-compose.yml file"
|
||||
wget -O docker-compose.yml https://github.com/immich-app/immich/releases/latest/download/docker-compose.yml
|
||||
```
|
||||
|
||||
```bash title="Get .env file"
|
||||
wget -O .env https://github.com/immich-app/immich/releases/latest/download/example.env
|
||||
```
|
||||
|
||||
You can alternatively download these two files from your browser and move them to the directory that you created, in which case ensure that you rename `example.env` to `.env`.
|
||||
|
||||
## Step 2 - Populate the .env file with custom values
|
||||
|
||||
<CodeBlock language="bash" title="Default environmental variable content">
|
||||
{ExampleEnv}
|
||||
</CodeBlock>
|
||||
|
||||
- Populate `UPLOAD_LOCATION` with your preferred location for storing backup assets. It should be a new directory on the server with enough free space.
|
||||
- Consider changing `DB_PASSWORD` to a custom value. Postgres is not publicly exposed, so this password is only used for local authentication.
|
||||
To avoid issues with Docker parsing this value, it is best to use only the characters `A-Za-z0-9`. `pwgen` is a handy utility for this.
|
||||
- Set your timezone by uncommenting the `TZ=` line.
|
||||
- Populate custom database information if necessary.
|
||||
|
||||
## Step 3 - Start the containers
|
||||
|
||||
From the directory you created in Step 1 (which should now contain your customized `docker-compose.yml` and `.env` files), run the following command to start Immich as a background service:
|
||||
|
||||
```bash title="Start the containers"
|
||||
docker compose up -d
|
||||
```
|
||||
<DockerComposeSteps />
|
||||
|
||||
:::info Docker version
|
||||
If you get an error such as `unknown shorthand flag: 'd' in -d` or `open <location of your .env file>: permission denied`, you are probably running the wrong Docker version. (This happens, for example, with the docker.io package in Ubuntu 22.04.3 LTS.) You can correct the problem by following the complete [Docker Engine install](https://docs.docker.com/engine/install/) procedure for your distribution, crucially the "Uninstall old versions" and "Install using the apt/rpm repository" sections. These replace the distro's Docker packages with Docker's official ones.
|
||||
@@ -70,6 +30,3 @@ If you get an error `can't set healthcheck.start_interval as feature require Doc
|
||||
## Next Steps
|
||||
|
||||
Read the [Post Installation](/docs/install/post-install.mdx) steps and [upgrade instructions](/docs/install/upgrading.md).
|
||||
|
||||
[compose-file]: https://github.com/immich-app/immich/releases/latest/download/docker-compose.yml
|
||||
[env-file]: https://github.com/immich-app/immich/releases/latest/download/example.env
|
||||
|
||||
@@ -80,6 +80,7 @@ Information on the current workers can be found [here](/docs/administration/jobs
|
||||
| `DB_USERNAME` | Database user | `postgres` | server, database<sup>\*1</sup> |
|
||||
| `DB_PASSWORD` | Database password | `postgres` | server, database<sup>\*1</sup> |
|
||||
| `DB_DATABASE_NAME` | Database name | `immich` | server, database<sup>\*1</sup> |
|
||||
| `DB_SSL_MODE` | Database SSL mode | | server |
|
||||
| `DB_VECTOR_EXTENSION`<sup>\*2</sup> | Database vector extension (one of [`pgvector`, `pgvecto.rs`]) | `pgvecto.rs` | server |
|
||||
| `DB_SKIP_MIGRATIONS` | Whether to skip running migrations on startup (one of [`true`, `false`]) | `false` | server |
|
||||
|
||||
|
||||
@@ -29,7 +29,7 @@ Download [`docker-compose.yml`](https://github.com/immich-app/immich/releases/la
|
||||
|
||||
## Step 2 - Populate the .env file with custom values
|
||||
|
||||
Follow [Step 2 in Docker Compose](./docker-compose#step-2---populate-the-env-file-with-custom-values) for instructions on customizing the `.env` file, and then return back to this guide to continue.
|
||||
Follow [Step 2 in Docker Compose](/docs/install/docker-compose#step-2---populate-the-env-file-with-custom-values) for instructions on customizing the `.env` file, and then return back to this guide to continue.
|
||||
|
||||
## Step 3 - Create a new project in Container Manager
|
||||
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
sidebar_position: 80
|
||||
---
|
||||
|
||||
# TrueNAS SCALE [Community]
|
||||
# TrueNAS [Community]
|
||||
|
||||
:::note
|
||||
This is a community contribution and not officially supported by the Immich team, but included here for convenience.
|
||||
@@ -12,17 +12,17 @@ Community support can be found in the dedicated channel on the [Discord Server](
|
||||
**Please report app issues to the corresponding [Github Repository](https://github.com/truenas/charts/tree/master/community/immich).**
|
||||
:::
|
||||
|
||||
Immich can easily be installed on TrueNAS SCALE via the **Community** train application.
|
||||
Consider reviewing the TrueNAS [Apps tutorial](https://www.truenas.com/docs/scale/scaletutorials/apps/) if you have not previously configured applications on your system.
|
||||
Immich can easily be installed on TrueNAS Community Edition via the **Community** train application.
|
||||
Consider reviewing the TrueNAS [Apps resources](https://apps.truenas.com/getting-started/) if you have not previously configured applications on your system.
|
||||
|
||||
TrueNAS SCALE makes installing and updating Immich easy, but you must use the Immich web portal and mobile app to configure accounts and access libraries.
|
||||
TrueNAS Community Edition makes installing and updating Immich easy, but you must use the Immich web portal and mobile app to configure accounts and access libraries.
|
||||
|
||||
## First Steps
|
||||
|
||||
The Immich app in TrueNAS SCALE installs, completes the initial configuration, then starts the Immich web portal.
|
||||
When updates become available, SCALE alerts and provides easy updates.
|
||||
The Immich app in TrueNAS Community Edition installs, completes the initial configuration, then starts the Immich web portal.
|
||||
When updates become available, TrueNAS alerts and provides easy updates.
|
||||
|
||||
Before installing the Immich app in SCALE, review the [Environment Variables](#environment-variables) documentation to see if you want to configure any during installation.
|
||||
Before installing the Immich app in TrueNAS, review the [Environment Variables](#environment-variables) documentation to see if you want to configure any during installation.
|
||||
You may also configure environment variables at any time after deploying the application.
|
||||
|
||||
### Setting up Storage Datasets
|
||||
@@ -126,9 +126,9 @@ className="border rounded-xl"
|
||||
|
||||
Accept the default port `30041` in **WebUI Port** or enter a custom port number.
|
||||
:::info Allowed Port Numbers
|
||||
Only numbers within the range 9000-65535 may be used on SCALE versions below TrueNAS Scale 24.10 Electric Eel.
|
||||
Only numbers within the range 9000-65535 may be used on TrueNAS versions below TrueNAS Community Edition 24.10 Electric Eel.
|
||||
|
||||
Regardless of version, to avoid port conflicts, don't use [ports on this list](https://www.truenas.com/docs/references/defaultports/).
|
||||
Regardless of version, to avoid port conflicts, don't use [ports on this list](https://www.truenas.com/docs/solutions/optimizations/security/#truenas-default-ports).
|
||||
:::
|
||||
|
||||
### Storage Configuration
|
||||
@@ -173,7 +173,7 @@ className="border rounded-xl"
|
||||
|
||||
You may configure [External Libraries](/docs/features/libraries) by mounting them using **Additional Storage**.
|
||||
The **Mount Path** is the location you will need to copy and paste into the External Library settings within Immich.
|
||||
The **Host Path** is the location on the TrueNAS SCALE server where your external library is located.
|
||||
The **Host Path** is the location on the TrueNAS Community Edition server where your external library is located.
|
||||
|
||||
<!-- A section for Labels would go here but I don't know what they do. -->
|
||||
|
||||
@@ -188,17 +188,17 @@ className="border rounded-xl"
|
||||
|
||||
Accept the default **CPU** limit of `2` threads or specify the number of threads (CPUs with Multi-/Hyper-threading have 2 threads per core).
|
||||
|
||||
Accept the default **Memory** limit of `4096` MB or specify the number of MB of RAM. If you're using Machine Learning you should probably set this above 8000 MB.
|
||||
Specify the **Memory** limit in MB of RAM. Immich recommends at least 6000 MB (6GB). If you selected **Enable Machine Learning** in **Immich Configuration**, you should probably set this above 8000 MB.
|
||||
|
||||
:::info Older SCALE Versions
|
||||
Before TrueNAS SCALE version 24.10 Electric Eel:
|
||||
:::info Older TrueNAS Versions
|
||||
Before TrueNAS Community Edition version 24.10 Electric Eel:
|
||||
|
||||
The **CPU** value was specified in a different format with a default of `4000m` which is 4 threads.
|
||||
|
||||
The **Memory** value was specified in a different format with a default of `8Gi` which is 8 GiB of RAM. The value was specified in bytes or a number with a measurement suffix. Examples: `129M`, `123Mi`, `1000000000`
|
||||
:::
|
||||
|
||||
Enable **GPU Configuration** options if you have a GPU that you will use for [Hardware Transcoding](/docs/features/hardware-transcoding) and/or [Hardware-Accelerated Machine Learning](/docs/features/ml-hardware-acceleration.md). More info: [GPU Passthrough Docs for TrueNAS Apps](https://www.truenas.com/docs/truenasapps/#gpu-passthrough)
|
||||
Enable **GPU Configuration** options if you have a GPU that you will use for [Hardware Transcoding](/docs/features/hardware-transcoding) and/or [Hardware-Accelerated Machine Learning](/docs/features/ml-hardware-acceleration.md). More info: [GPU Passthrough Docs for TrueNAS Apps](https://apps.truenas.com/managing-apps/installing-apps/#gpu-passthrough)
|
||||
|
||||
### Install
|
||||
|
||||
@@ -240,7 +240,7 @@ className="border rounded-xl"
|
||||
/>
|
||||
|
||||
:::info
|
||||
Some Environment Variables are not available for the TrueNAS SCALE app. This is mainly because they can be configured through GUI options in the [Edit Immich screen](#edit-app-settings).
|
||||
Some Environment Variables are not available for the TrueNAS Community Edition app. This is mainly because they can be configured through GUI options in the [Edit Immich screen](#edit-app-settings).
|
||||
|
||||
Some examples are: `IMMICH_VERSION`, `UPLOAD_LOCATION`, `DB_DATA_LOCATION`, `TZ`, `IMMICH_LOG_LEVEL`, `DB_PASSWORD`, `REDIS_PASSWORD`.
|
||||
:::
|
||||
@@ -251,7 +251,7 @@ Some examples are: `IMMICH_VERSION`, `UPLOAD_LOCATION`, `DB_DATA_LOCATION`, `TZ`
|
||||
Make sure to read the general [upgrade instructions](/docs/install/upgrading.md).
|
||||
:::
|
||||
|
||||
When updates become available, SCALE alerts and provides easy updates.
|
||||
When updates become available, TrueNAS alerts and provides easy updates.
|
||||
To update the app to the latest version:
|
||||
|
||||
- Go to the **Installed Applications** screen and select Immich from the list of installed applications.
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
---
|
||||
sidebar_position: 2
|
||||
sidebar_position: 3
|
||||
---
|
||||
|
||||
# Comparison
|
||||
|
||||
BIN
docs/docs/overview/img/social-preview-light.webp
Normal file
BIN
docs/docs/overview/img/social-preview-light.webp
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 233 KiB |
@@ -1,5 +1,5 @@
|
||||
---
|
||||
sidebar_position: 3
|
||||
sidebar_position: 2
|
||||
---
|
||||
|
||||
# Quick start
|
||||
@@ -10,11 +10,20 @@ to install and use it.
|
||||
|
||||
## Requirements
|
||||
|
||||
Check the [requirements page](/docs/install/requirements) to get started.
|
||||
- A system with at least 4GB of RAM and 2 CPU cores.
|
||||
- [Docker](https://docs.docker.com/engine/install/)
|
||||
|
||||
> For a more detailed list of requirements, see the [requirements page](/docs/install/requirements).
|
||||
|
||||
---
|
||||
|
||||
## Set up the server
|
||||
|
||||
Follow the [Docker Compose (Recommended)](/docs/install/docker-compose) instructions to install the server.
|
||||
import DockerComposeSteps from '/docs/partials/_docker-compose-install-steps.mdx';
|
||||
|
||||
<DockerComposeSteps />
|
||||
|
||||
---
|
||||
|
||||
## Try the web app
|
||||
|
||||
@@ -26,6 +35,8 @@ Try uploading a picture from your browser.
|
||||
|
||||
<img src={require('./img/upload-button.webp').default} title="Upload button" />
|
||||
|
||||
---
|
||||
|
||||
## Try the mobile app
|
||||
|
||||
### Download the Mobile App
|
||||
@@ -56,6 +67,8 @@ You can select the **Jobs** tab to see Immich processing your photos.
|
||||
|
||||
<img src={require('/docs/guides/img/jobs-tab.webp').default} title="Jobs tab" width={300} />
|
||||
|
||||
---
|
||||
|
||||
## Review the database backup and restore process
|
||||
|
||||
Immich has built-in database backups. You can refer to the
|
||||
@@ -65,6 +78,8 @@ Immich has built-in database backups. You can refer to the
|
||||
The database only contains metadata and user information. You must setup manual backups of the images and videos stored in `UPLOAD_LOCATION`.
|
||||
:::
|
||||
|
||||
---
|
||||
|
||||
## Where to go from here?
|
||||
|
||||
You may decide you'd like to install the server a different way; the Install category on the left menu provides many options.
|
||||
|
||||
@@ -2,9 +2,13 @@
|
||||
sidebar_position: 1
|
||||
---
|
||||
|
||||
# Introduction
|
||||
# Welcome to Immich
|
||||
|
||||
<img src={require('./img/feature-panel.webp').default} alt="Immich - Self-hosted photos and videos backup tool" />
|
||||
<img
|
||||
src={require('./img/social-preview-light.webp').default}
|
||||
alt="Immich - Self-hosted photos and videos backup tool"
|
||||
data-theme="light"
|
||||
/>
|
||||
|
||||
## Welcome!
|
||||
|
||||
43
docs/docs/partials/_docker-compose-install-steps.mdx
Normal file
43
docs/docs/partials/_docker-compose-install-steps.mdx
Normal file
@@ -0,0 +1,43 @@
|
||||
import CodeBlock from '@theme/CodeBlock';
|
||||
import ExampleEnv from '!!raw-loader!../../../docker/example.env';
|
||||
|
||||
### Step 1 - Download the required files
|
||||
|
||||
Create a directory of your choice (e.g. `./immich-app`) to hold the `docker-compose.yml` and `.env` files.
|
||||
|
||||
```bash title="Move to the directory you created"
|
||||
mkdir ./immich-app
|
||||
cd ./immich-app
|
||||
```
|
||||
|
||||
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) by running the following commands:
|
||||
|
||||
```bash title="Get docker-compose.yml file"
|
||||
wget -O docker-compose.yml https://github.com/immich-app/immich/releases/latest/download/docker-compose.yml
|
||||
```
|
||||
|
||||
```bash title="Get .env file"
|
||||
wget -O .env https://github.com/immich-app/immich/releases/latest/download/example.env
|
||||
```
|
||||
|
||||
You can alternatively download these two files from your browser and move them to the directory that you created, in which case ensure that you rename `example.env` to `.env`.
|
||||
|
||||
### Step 2 - Populate the .env file with custom values
|
||||
|
||||
<CodeBlock language="bash" title="Default environmental variable content">
|
||||
{ExampleEnv}
|
||||
</CodeBlock>
|
||||
|
||||
- Populate `UPLOAD_LOCATION` with your preferred location for storing backup assets. It should be a new directory on the server with enough free space.
|
||||
- Consider changing `DB_PASSWORD` to a custom value. Postgres is not publicly exposed, so this password is only used for local authentication.
|
||||
To avoid issues with Docker parsing this value, it is best to use only the characters `A-Za-z0-9`. `pwgen` is a handy utility for this.
|
||||
- Set your timezone by uncommenting the `TZ=` line.
|
||||
- Populate custom database information if necessary.
|
||||
|
||||
### Step 3 - Start the containers
|
||||
|
||||
From the directory you created in Step 1 (which should now contain your customized `docker-compose.yml` and `.env` files), run the following command to start Immich as a background service:
|
||||
|
||||
```bash title="Start the containers"
|
||||
docker compose up -d
|
||||
```
|
||||
@@ -95,7 +95,7 @@ const config = {
|
||||
position: 'right',
|
||||
},
|
||||
{
|
||||
to: '/docs/overview/introduction',
|
||||
to: '/docs/overview/welcome',
|
||||
position: 'right',
|
||||
label: 'Docs',
|
||||
},
|
||||
@@ -124,6 +124,12 @@ const config = {
|
||||
label: 'Discord',
|
||||
position: 'right',
|
||||
},
|
||||
{
|
||||
type: 'html',
|
||||
position: 'right',
|
||||
value:
|
||||
'<a href="https://buy.immich.app" target="_blank" class="no-underline hover:no-underline"><button class="buy-button bg-immich-primary dark:bg-immich-dark-primary text-white dark:text-black rounded-xl">Buy Immich</button></a>',
|
||||
},
|
||||
],
|
||||
},
|
||||
footer: {
|
||||
@@ -134,7 +140,7 @@ const config = {
|
||||
items: [
|
||||
{
|
||||
label: 'Welcome',
|
||||
to: '/docs/overview/introduction',
|
||||
to: '/docs/overview/welcome',
|
||||
},
|
||||
{
|
||||
label: 'Installation',
|
||||
|
||||
@@ -57,6 +57,6 @@
|
||||
"node": ">=20"
|
||||
},
|
||||
"volta": {
|
||||
"node": "22.14.0"
|
||||
"node": "22.15.0"
|
||||
}
|
||||
}
|
||||
|
||||
@@ -7,14 +7,22 @@
|
||||
@tailwind components;
|
||||
@tailwind utilities;
|
||||
|
||||
@import url('https://fonts.googleapis.com/css2?family=Be+Vietnam+Pro:ital,wght@0,100;0,200;0,300;0,400;0,500;0,600;0,700;0,800;0,900;1,100;1,200;1,300;1,400;1,500;1,600;1,700;1,800;1,900&display=swap');
|
||||
|
||||
body {
|
||||
font-family: 'Be Vietnam Pro', serif;
|
||||
font-optical-sizing: auto;
|
||||
/* font-size: 1.125rem;
|
||||
@font-face {
|
||||
font-family: 'Overpass';
|
||||
src: url('/fonts/overpass/Overpass.ttf') format('truetype-variations');
|
||||
font-weight: 1 999;
|
||||
font-style: normal;
|
||||
ascent-override: 106.25%;
|
||||
size-adjust: 106.25%; */
|
||||
size-adjust: 106.25%;
|
||||
}
|
||||
|
||||
@font-face {
|
||||
font-family: 'Overpass Mono';
|
||||
src: url('/fonts/overpass/OverpassMono.ttf') format('truetype-variations');
|
||||
font-weight: 1 999;
|
||||
font-style: normal;
|
||||
ascent-override: 106.25%;
|
||||
size-adjust: 106.25%;
|
||||
}
|
||||
|
||||
.breadcrumbs__link {
|
||||
@@ -29,6 +37,7 @@ img {
|
||||
|
||||
/* You can override the default Infima variables here. */
|
||||
:root {
|
||||
font-family: 'Overpass', sans-serif;
|
||||
--ifm-color-primary: #4250af;
|
||||
--ifm-color-primary-dark: #4250af;
|
||||
--ifm-color-primary-darker: #4250af;
|
||||
@@ -59,14 +68,12 @@ div[class^='announcementBar_'] {
|
||||
}
|
||||
|
||||
.menu__link {
|
||||
padding: 10px;
|
||||
padding-left: 16px;
|
||||
padding: 10px 10px 10px 16px;
|
||||
border-radius: 24px;
|
||||
margin-right: 16px;
|
||||
}
|
||||
|
||||
.menu__list-item-collapsible {
|
||||
border-radius: 10px;
|
||||
margin-right: 16px;
|
||||
border-radius: 24px;
|
||||
}
|
||||
@@ -83,3 +90,12 @@ div[class*='navbar__items'] > li:has(a[class*='version-switcher-34ab39']) {
|
||||
code {
|
||||
font-weight: 600;
|
||||
}
|
||||
|
||||
.buy-button {
|
||||
padding: 8px 14px;
|
||||
border: 1px solid transparent;
|
||||
font-family: 'Overpass', sans-serif;
|
||||
font-weight: 500;
|
||||
cursor: pointer;
|
||||
box-shadow: 0 0 5px 2px rgba(181, 206, 254, 0.4);
|
||||
}
|
||||
|
||||
@@ -2,6 +2,7 @@ import {
|
||||
mdiBug,
|
||||
mdiCalendarToday,
|
||||
mdiCrosshairsOff,
|
||||
mdiCrop,
|
||||
mdiDatabase,
|
||||
mdiLeadPencil,
|
||||
mdiLockOff,
|
||||
@@ -22,6 +23,18 @@ const withLanguage = (date: Date) => (language: string) => date.toLocaleDateStri
|
||||
type Item = Omit<TimelineItem, 'done' | 'getDateLabel'> & { date: Date };
|
||||
|
||||
const items: Item[] = [
|
||||
{
|
||||
icon: mdiCrop,
|
||||
iconColor: 'tomato',
|
||||
title: 'Image dimensions in EXIF metadata are cursed',
|
||||
description:
|
||||
'The dimensions in EXIF metadata can be different from the actual dimensions of the image, causing issues with cropping and resizing.',
|
||||
link: {
|
||||
url: 'https://github.com/immich-app/immich/pull/17974',
|
||||
text: '#17974',
|
||||
},
|
||||
date: new Date(2025, 5, 5),
|
||||
},
|
||||
{
|
||||
icon: mdiMicrosoftWindows,
|
||||
iconColor: '#357EC7',
|
||||
|
||||
@@ -4,7 +4,7 @@ import Layout from '@theme/Layout';
|
||||
import { discordPath, discordViewBox } from '@site/src/components/svg-paths';
|
||||
import ThemedImage from '@theme/ThemedImage';
|
||||
import Icon from '@mdi/react';
|
||||
import { mdiAndroid } from '@mdi/js';
|
||||
|
||||
function HomepageHeader() {
|
||||
return (
|
||||
<header>
|
||||
@@ -13,11 +13,14 @@ function HomepageHeader() {
|
||||
<div className="w-full h-[120vh] absolute left-0 top-0 backdrop-blur-3xl bg-immich-bg/40 dark:bg-transparent"></div>
|
||||
</div>
|
||||
<section className="text-center pt-12 sm:pt-24 bg-immich-bg/50 dark:bg-immich-dark-bg/80">
|
||||
<ThemedImage
|
||||
sources={{ dark: 'img/logomark-dark.svg', light: 'img/logomark-light.svg' }}
|
||||
className="h-[115px] w-[115px] mb-2 antialiased rounded-none"
|
||||
alt="Immich logo"
|
||||
/>
|
||||
<a href="https://futo.org" target="_blank" rel="noopener noreferrer">
|
||||
<ThemedImage
|
||||
sources={{ dark: 'img/logomark-dark-with-futo.svg', light: 'img/logomark-light-with-futo.svg' }}
|
||||
className="h-[125px] w-[125px] mb-2 antialiased rounded-none"
|
||||
alt="Immich logo"
|
||||
/>
|
||||
</a>
|
||||
|
||||
<div className="mt-8">
|
||||
<p className="text-3xl md:text-5xl sm:leading-tight mb-1 font-extrabold text-black/90 dark:text-white px-4">
|
||||
Self-hosted{' '}
|
||||
@@ -28,7 +31,7 @@ function HomepageHeader() {
|
||||
solution<span className="block"></span>
|
||||
</p>
|
||||
|
||||
<p className="max-w-1/4 m-auto mt-4 px-4">
|
||||
<p className="max-w-1/4 m-auto mt-4 px-4 text-lg text-gray-700 dark:text-gray-100">
|
||||
Easily back up, organize, and manage your photos on your own server. Immich helps you
|
||||
<span className="sm:block"></span> browse, search and organize your photos and videos with ease, without
|
||||
sacrificing your privacy.
|
||||
@@ -36,27 +39,21 @@ function HomepageHeader() {
|
||||
</div>
|
||||
<div className="flex flex-col sm:flex-row place-items-center place-content-center mt-9 gap-4 ">
|
||||
<Link
|
||||
className="flex place-items-center place-content-center py-3 px-8 border bg-immich-primary dark:bg-immich-dark-primary rounded-xl no-underline hover:no-underline text-white hover:text-gray-50 dark:text-immich-dark-bg font-bold uppercase"
|
||||
to="docs/overview/introduction"
|
||||
className="flex place-items-center place-content-center py-3 px-8 border bg-immich-primary dark:bg-immich-dark-primary rounded-xl no-underline hover:no-underline text-white hover:text-gray-50 dark:text-immich-dark-bg font-bold"
|
||||
to="docs/overview/quick-start"
|
||||
>
|
||||
Get started
|
||||
Get Started
|
||||
</Link>
|
||||
|
||||
<Link
|
||||
className="flex place-items-center place-content-center py-3 px-8 border bg-immich-primary/10 dark:bg-gray-300 rounded-xl hover:no-underline text-immich-primary dark:text-immich-dark-bg font-bold uppercase"
|
||||
className="flex place-items-center place-content-center py-3 px-8 border bg-white/90 dark:bg-gray-300 rounded-xl hover:no-underline text-immich-primary dark:text-immich-dark-bg font-bold"
|
||||
to="https://demo.immich.app/"
|
||||
>
|
||||
Demo
|
||||
</Link>
|
||||
|
||||
<Link
|
||||
className="flex place-items-center place-content-center py-3 px-8 border bg-immich-primary/10 dark:bg-gray-300 rounded-xl hover:no-underline text-immich-primary dark:text-immich-dark-bg font-bold uppercase"
|
||||
to="https://immich.store"
|
||||
>
|
||||
Buy Merch
|
||||
Open Demo
|
||||
</Link>
|
||||
</div>
|
||||
<div className="my-12 flex gap-1 font-medium place-items-center place-content-center text-immich-primary dark:text-immich-dark-primary">
|
||||
|
||||
<div className="my-8 flex gap-1 font-medium place-items-center place-content-center text-immich-primary dark:text-immich-dark-primary">
|
||||
<Icon
|
||||
path={discordPath}
|
||||
viewBox={discordViewBox} /* viewBox may show an error in your IDE but it is normal. */
|
||||
@@ -119,7 +116,7 @@ export default function Home(): JSX.Element {
|
||||
<HomepageHeader />
|
||||
<div className="flex flex-col place-items-center text-center place-content-center dark:bg-immich-dark-bg py-8">
|
||||
<p>This project is available under GNU AGPL v3 license.</p>
|
||||
<p className="text-xs">Privacy should not be a luxury</p>
|
||||
<p className="text-sm">Privacy should not be a luxury</p>
|
||||
</div>
|
||||
</Layout>
|
||||
);
|
||||
|
||||
@@ -1,5 +1,4 @@
|
||||
import React from 'react';
|
||||
import Link from '@docusaurus/Link';
|
||||
import Layout from '@theme/Layout';
|
||||
function HomepageHeader() {
|
||||
return (
|
||||
|
||||
1
docs/static/_redirects
vendored
1
docs/static/_redirects
vendored
@@ -30,3 +30,4 @@
|
||||
/docs/guides/api-album-sync /docs/community-projects 307
|
||||
/docs/guides/remove-offline-files /docs/community-projects 307
|
||||
/milestones /roadmap 307
|
||||
/docs/overview/introduction /docs/overview/welcome 307
|
||||
164
docs/static/archived-versions.json
vendored
164
docs/static/archived-versions.json
vendored
@@ -3,50 +3,14 @@
|
||||
"label": "v1.132.3",
|
||||
"url": "https://v1.132.3.archive.immich.app"
|
||||
},
|
||||
{
|
||||
"label": "v1.132.2",
|
||||
"url": "https://v1.132.2.archive.immich.app"
|
||||
},
|
||||
{
|
||||
"label": "v1.132.1",
|
||||
"url": "https://v1.132.1.archive.immich.app"
|
||||
},
|
||||
{
|
||||
"label": "v1.132.0",
|
||||
"url": "https://v1.132.0.archive.immich.app"
|
||||
},
|
||||
{
|
||||
"label": "v1.131.3",
|
||||
"url": "https://v1.131.3.archive.immich.app"
|
||||
},
|
||||
{
|
||||
"label": "v1.131.2",
|
||||
"url": "https://v1.131.2.archive.immich.app"
|
||||
},
|
||||
{
|
||||
"label": "v1.131.1",
|
||||
"url": "https://v1.131.1.archive.immich.app"
|
||||
},
|
||||
{
|
||||
"label": "v1.131.0",
|
||||
"url": "https://v1.131.0.archive.immich.app"
|
||||
},
|
||||
{
|
||||
"label": "v1.130.3",
|
||||
"url": "https://v1.130.3.archive.immich.app"
|
||||
},
|
||||
{
|
||||
"label": "v1.130.2",
|
||||
"url": "https://v1.130.2.archive.immich.app"
|
||||
},
|
||||
{
|
||||
"label": "v1.130.1",
|
||||
"url": "https://v1.130.1.archive.immich.app"
|
||||
},
|
||||
{
|
||||
"label": "v1.130.0",
|
||||
"url": "https://v1.130.0.archive.immich.app"
|
||||
},
|
||||
{
|
||||
"label": "v1.129.0",
|
||||
"url": "https://v1.129.0.archive.immich.app"
|
||||
@@ -63,46 +27,14 @@
|
||||
"label": "v1.126.1",
|
||||
"url": "https://v1.126.1.archive.immich.app"
|
||||
},
|
||||
{
|
||||
"label": "v1.126.0",
|
||||
"url": "https://v1.126.0.archive.immich.app"
|
||||
},
|
||||
{
|
||||
"label": "v1.125.7",
|
||||
"url": "https://v1.125.7.archive.immich.app"
|
||||
},
|
||||
{
|
||||
"label": "v1.125.6",
|
||||
"url": "https://v1.125.6.archive.immich.app"
|
||||
},
|
||||
{
|
||||
"label": "v1.125.5",
|
||||
"url": "https://v1.125.5.archive.immich.app"
|
||||
},
|
||||
{
|
||||
"label": "v1.125.3",
|
||||
"url": "https://v1.125.3.archive.immich.app"
|
||||
},
|
||||
{
|
||||
"label": "v1.125.2",
|
||||
"url": "https://v1.125.2.archive.immich.app"
|
||||
},
|
||||
{
|
||||
"label": "v1.125.1",
|
||||
"url": "https://v1.125.1.archive.immich.app"
|
||||
},
|
||||
{
|
||||
"label": "v1.124.2",
|
||||
"url": "https://v1.124.2.archive.immich.app"
|
||||
},
|
||||
{
|
||||
"label": "v1.124.1",
|
||||
"url": "https://v1.124.1.archive.immich.app"
|
||||
},
|
||||
{
|
||||
"label": "v1.124.0",
|
||||
"url": "https://v1.124.0.archive.immich.app"
|
||||
},
|
||||
{
|
||||
"label": "v1.123.0",
|
||||
"url": "https://v1.123.0.archive.immich.app"
|
||||
@@ -111,18 +43,6 @@
|
||||
"label": "v1.122.3",
|
||||
"url": "https://v1.122.3.archive.immich.app"
|
||||
},
|
||||
{
|
||||
"label": "v1.122.2",
|
||||
"url": "https://v1.122.2.archive.immich.app"
|
||||
},
|
||||
{
|
||||
"label": "v1.122.1",
|
||||
"url": "https://v1.122.1.archive.immich.app"
|
||||
},
|
||||
{
|
||||
"label": "v1.122.0",
|
||||
"url": "https://v1.122.0.archive.immich.app"
|
||||
},
|
||||
{
|
||||
"label": "v1.121.0",
|
||||
"url": "https://v1.121.0.archive.immich.app"
|
||||
@@ -131,34 +51,14 @@
|
||||
"label": "v1.120.2",
|
||||
"url": "https://v1.120.2.archive.immich.app"
|
||||
},
|
||||
{
|
||||
"label": "v1.120.1",
|
||||
"url": "https://v1.120.1.archive.immich.app"
|
||||
},
|
||||
{
|
||||
"label": "v1.120.0",
|
||||
"url": "https://v1.120.0.archive.immich.app"
|
||||
},
|
||||
{
|
||||
"label": "v1.119.1",
|
||||
"url": "https://v1.119.1.archive.immich.app"
|
||||
},
|
||||
{
|
||||
"label": "v1.119.0",
|
||||
"url": "https://v1.119.0.archive.immich.app"
|
||||
},
|
||||
{
|
||||
"label": "v1.118.2",
|
||||
"url": "https://v1.118.2.archive.immich.app"
|
||||
},
|
||||
{
|
||||
"label": "v1.118.1",
|
||||
"url": "https://v1.118.1.archive.immich.app"
|
||||
},
|
||||
{
|
||||
"label": "v1.118.0",
|
||||
"url": "https://v1.118.0.archive.immich.app"
|
||||
},
|
||||
{
|
||||
"label": "v1.117.0",
|
||||
"url": "https://v1.117.0.archive.immich.app"
|
||||
@@ -167,14 +67,6 @@
|
||||
"label": "v1.116.2",
|
||||
"url": "https://v1.116.2.archive.immich.app"
|
||||
},
|
||||
{
|
||||
"label": "v1.116.1",
|
||||
"url": "https://v1.116.1.archive.immich.app"
|
||||
},
|
||||
{
|
||||
"label": "v1.116.0",
|
||||
"url": "https://v1.116.0.archive.immich.app"
|
||||
},
|
||||
{
|
||||
"label": "v1.115.0",
|
||||
"url": "https://v1.115.0.archive.immich.app"
|
||||
@@ -187,18 +79,10 @@
|
||||
"label": "v1.113.1",
|
||||
"url": "https://v1.113.1.archive.immich.app"
|
||||
},
|
||||
{
|
||||
"label": "v1.113.0",
|
||||
"url": "https://v1.113.0.archive.immich.app"
|
||||
},
|
||||
{
|
||||
"label": "v1.112.1",
|
||||
"url": "https://v1.112.1.archive.immich.app"
|
||||
},
|
||||
{
|
||||
"label": "v1.112.0",
|
||||
"url": "https://v1.112.0.archive.immich.app"
|
||||
},
|
||||
{
|
||||
"label": "v1.111.0",
|
||||
"url": "https://v1.111.0.archive.immich.app"
|
||||
@@ -211,14 +95,6 @@
|
||||
"label": "v1.109.2",
|
||||
"url": "https://v1.109.2.archive.immich.app"
|
||||
},
|
||||
{
|
||||
"label": "v1.109.1",
|
||||
"url": "https://v1.109.1.archive.immich.app"
|
||||
},
|
||||
{
|
||||
"label": "v1.109.0",
|
||||
"url": "https://v1.109.0.archive.immich.app"
|
||||
},
|
||||
{
|
||||
"label": "v1.108.0",
|
||||
"url": "https://v1.108.0.archive.immich.app"
|
||||
@@ -227,38 +103,14 @@
|
||||
"label": "v1.107.2",
|
||||
"url": "https://v1.107.2.archive.immich.app"
|
||||
},
|
||||
{
|
||||
"label": "v1.107.1",
|
||||
"url": "https://v1.107.1.archive.immich.app"
|
||||
},
|
||||
{
|
||||
"label": "v1.107.0",
|
||||
"url": "https://v1.107.0.archive.immich.app"
|
||||
},
|
||||
{
|
||||
"label": "v1.106.4",
|
||||
"url": "https://v1.106.4.archive.immich.app"
|
||||
},
|
||||
{
|
||||
"label": "v1.106.3",
|
||||
"url": "https://v1.106.3.archive.immich.app"
|
||||
},
|
||||
{
|
||||
"label": "v1.106.2",
|
||||
"url": "https://v1.106.2.archive.immich.app"
|
||||
},
|
||||
{
|
||||
"label": "v1.106.1",
|
||||
"url": "https://v1.106.1.archive.immich.app"
|
||||
},
|
||||
{
|
||||
"label": "v1.105.1",
|
||||
"url": "https://v1.105.1.archive.immich.app"
|
||||
},
|
||||
{
|
||||
"label": "v1.105.0",
|
||||
"url": "https://v1.105.0.archive.immich.app"
|
||||
},
|
||||
{
|
||||
"label": "v1.104.0",
|
||||
"url": "https://v1.104.0.archive.immich.app"
|
||||
@@ -267,26 +119,10 @@
|
||||
"label": "v1.103.1",
|
||||
"url": "https://v1.103.1.archive.immich.app"
|
||||
},
|
||||
{
|
||||
"label": "v1.103.0",
|
||||
"url": "https://v1.103.0.archive.immich.app"
|
||||
},
|
||||
{
|
||||
"label": "v1.102.3",
|
||||
"url": "https://v1.102.3.archive.immich.app"
|
||||
},
|
||||
{
|
||||
"label": "v1.102.2",
|
||||
"url": "https://v1.102.2.archive.immich.app"
|
||||
},
|
||||
{
|
||||
"label": "v1.102.1",
|
||||
"url": "https://v1.102.1.archive.immich.app"
|
||||
},
|
||||
{
|
||||
"label": "v1.102.0",
|
||||
"url": "https://v1.102.0.archive.immich.app"
|
||||
},
|
||||
{
|
||||
"label": "v1.101.0",
|
||||
"url": "https://v1.101.0.archive.immich.app"
|
||||
|
||||
BIN
docs/static/fonts/overpass/Overpass-Italic.ttf
vendored
Normal file
BIN
docs/static/fonts/overpass/Overpass-Italic.ttf
vendored
Normal file
Binary file not shown.
BIN
docs/static/fonts/overpass/Overpass.ttf
vendored
Normal file
BIN
docs/static/fonts/overpass/Overpass.ttf
vendored
Normal file
Binary file not shown.
BIN
docs/static/fonts/overpass/OverpassMono.ttf
vendored
Normal file
BIN
docs/static/fonts/overpass/OverpassMono.ttf
vendored
Normal file
Binary file not shown.
22
docs/static/img/logomark-dark-with-futo.svg
vendored
Normal file
22
docs/static/img/logomark-dark-with-futo.svg
vendored
Normal file
File diff suppressed because one or more lines are too long
|
After Width: | Height: | Size: 75 KiB |
21
docs/static/img/logomark-light-with-futo.svg
vendored
Normal file
21
docs/static/img/logomark-light-with-futo.svg
vendored
Normal file
File diff suppressed because one or more lines are too long
|
After Width: | Height: | Size: 75 KiB |
@@ -1 +1 @@
|
||||
22.14.0
|
||||
22.15.0
|
||||
|
||||
1213
e2e/package-lock.json
generated
1213
e2e/package-lock.json
generated
File diff suppressed because it is too large
Load Diff
@@ -25,9 +25,9 @@
|
||||
"@immich/sdk": "file:../open-api/typescript-sdk",
|
||||
"@playwright/test": "^1.44.1",
|
||||
"@types/luxon": "^3.4.2",
|
||||
"@types/node": "^22.14.1",
|
||||
"@types/node": "^22.15.16",
|
||||
"@types/oidc-provider": "^8.5.1",
|
||||
"@types/pg": "^8.11.0",
|
||||
"@types/pg": "^8.15.1",
|
||||
"@types/pngjs": "^6.0.4",
|
||||
"@types/supertest": "^6.0.2",
|
||||
"@vitest/coverage-v8": "^3.0.0",
|
||||
@@ -52,6 +52,6 @@
|
||||
"vitest": "^3.0.0"
|
||||
},
|
||||
"volta": {
|
||||
"node": "22.14.0"
|
||||
"node": "22.15.0"
|
||||
}
|
||||
}
|
||||
|
||||
@@ -46,38 +46,6 @@ describe('/activities', () => {
|
||||
});
|
||||
|
||||
describe('GET /activities', () => {
|
||||
it('should require authentication', async () => {
|
||||
const { status, body } = await request(app).get('/activities');
|
||||
expect(status).toBe(401);
|
||||
expect(body).toEqual(errorDto.unauthorized);
|
||||
});
|
||||
|
||||
it('should require an albumId', async () => {
|
||||
const { status, body } = await request(app)
|
||||
.get('/activities')
|
||||
.set('Authorization', `Bearer ${admin.accessToken}`);
|
||||
expect(status).toEqual(400);
|
||||
expect(body).toEqual(errorDto.badRequest(expect.arrayContaining(['albumId must be a UUID'])));
|
||||
});
|
||||
|
||||
it('should reject an invalid albumId', async () => {
|
||||
const { status, body } = await request(app)
|
||||
.get('/activities')
|
||||
.query({ albumId: uuidDto.invalid })
|
||||
.set('Authorization', `Bearer ${admin.accessToken}`);
|
||||
expect(status).toEqual(400);
|
||||
expect(body).toEqual(errorDto.badRequest(expect.arrayContaining(['albumId must be a UUID'])));
|
||||
});
|
||||
|
||||
it('should reject an invalid assetId', async () => {
|
||||
const { status, body } = await request(app)
|
||||
.get('/activities')
|
||||
.query({ albumId: uuidDto.notFound, assetId: uuidDto.invalid })
|
||||
.set('Authorization', `Bearer ${admin.accessToken}`);
|
||||
expect(status).toEqual(400);
|
||||
expect(body).toEqual(errorDto.badRequest(expect.arrayContaining(['assetId must be a UUID'])));
|
||||
});
|
||||
|
||||
it('should start off empty', async () => {
|
||||
const { status, body } = await request(app)
|
||||
.get('/activities')
|
||||
@@ -192,30 +160,6 @@ describe('/activities', () => {
|
||||
});
|
||||
|
||||
describe('POST /activities', () => {
|
||||
it('should require authentication', async () => {
|
||||
const { status, body } = await request(app).post('/activities');
|
||||
expect(status).toBe(401);
|
||||
expect(body).toEqual(errorDto.unauthorized);
|
||||
});
|
||||
|
||||
it('should require an albumId', async () => {
|
||||
const { status, body } = await request(app)
|
||||
.post('/activities')
|
||||
.set('Authorization', `Bearer ${admin.accessToken}`)
|
||||
.send({ albumId: uuidDto.invalid });
|
||||
expect(status).toEqual(400);
|
||||
expect(body).toEqual(errorDto.badRequest(expect.arrayContaining(['albumId must be a UUID'])));
|
||||
});
|
||||
|
||||
it('should require a comment when type is comment', async () => {
|
||||
const { status, body } = await request(app)
|
||||
.post('/activities')
|
||||
.set('Authorization', `Bearer ${admin.accessToken}`)
|
||||
.send({ albumId: uuidDto.notFound, type: 'comment', comment: null });
|
||||
expect(status).toEqual(400);
|
||||
expect(body).toEqual(errorDto.badRequest(['comment must be a string', 'comment should not be empty']));
|
||||
});
|
||||
|
||||
it('should add a comment to an album', async () => {
|
||||
const { status, body } = await request(app)
|
||||
.post('/activities')
|
||||
@@ -330,20 +274,6 @@ describe('/activities', () => {
|
||||
});
|
||||
|
||||
describe('DELETE /activities/:id', () => {
|
||||
it('should require authentication', async () => {
|
||||
const { status, body } = await request(app).delete(`/activities/${uuidDto.notFound}`);
|
||||
expect(status).toBe(401);
|
||||
expect(body).toEqual(errorDto.unauthorized);
|
||||
});
|
||||
|
||||
it('should require a valid uuid', async () => {
|
||||
const { status, body } = await request(app)
|
||||
.delete(`/activities/${uuidDto.invalid}`)
|
||||
.set('Authorization', `Bearer ${admin.accessToken}`);
|
||||
expect(status).toBe(400);
|
||||
expect(body).toEqual(errorDto.badRequest(['id must be a UUID']));
|
||||
});
|
||||
|
||||
it('should remove a comment from an album', async () => {
|
||||
const reaction = await createActivity({
|
||||
albumId: album.id,
|
||||
|
||||
@@ -9,7 +9,7 @@ import {
|
||||
LoginResponseDto,
|
||||
SharedLinkType,
|
||||
} from '@immich/sdk';
|
||||
import { createUserDto, uuidDto } from 'src/fixtures';
|
||||
import { createUserDto } from 'src/fixtures';
|
||||
import { errorDto } from 'src/responses';
|
||||
import { app, asBearerAuth, utils } from 'src/utils';
|
||||
import request from 'supertest';
|
||||
@@ -128,28 +128,6 @@ describe('/albums', () => {
|
||||
});
|
||||
|
||||
describe('GET /albums', () => {
|
||||
it('should require authentication', async () => {
|
||||
const { status, body } = await request(app).get('/albums');
|
||||
expect(status).toBe(401);
|
||||
expect(body).toEqual(errorDto.unauthorized);
|
||||
});
|
||||
|
||||
it('should reject an invalid shared param', async () => {
|
||||
const { status, body } = await request(app)
|
||||
.get('/albums?shared=invalid')
|
||||
.set('Authorization', `Bearer ${user1.accessToken}`);
|
||||
expect(status).toEqual(400);
|
||||
expect(body).toEqual(errorDto.badRequest(['shared must be a boolean value']));
|
||||
});
|
||||
|
||||
it('should reject an invalid assetId param', async () => {
|
||||
const { status, body } = await request(app)
|
||||
.get('/albums?assetId=invalid')
|
||||
.set('Authorization', `Bearer ${user1.accessToken}`);
|
||||
expect(status).toEqual(400);
|
||||
expect(body).toEqual(errorDto.badRequest(['assetId must be a UUID']));
|
||||
});
|
||||
|
||||
it("should not show other users' favorites", async () => {
|
||||
const { status, body } = await request(app)
|
||||
.get(`/albums/${user1Albums[0].id}?withoutAssets=false`)
|
||||
@@ -323,12 +301,6 @@ describe('/albums', () => {
|
||||
});
|
||||
|
||||
describe('GET /albums/:id', () => {
|
||||
it('should require authentication', async () => {
|
||||
const { status, body } = await request(app).get(`/albums/${user1Albums[0].id}`);
|
||||
expect(status).toBe(401);
|
||||
expect(body).toEqual(errorDto.unauthorized);
|
||||
});
|
||||
|
||||
it('should return album info for own album', async () => {
|
||||
const { status, body } = await request(app)
|
||||
.get(`/albums/${user1Albums[0].id}?withoutAssets=false`)
|
||||
@@ -421,12 +393,6 @@ describe('/albums', () => {
|
||||
});
|
||||
|
||||
describe('GET /albums/statistics', () => {
|
||||
it('should require authentication', async () => {
|
||||
const { status, body } = await request(app).get('/albums/statistics');
|
||||
expect(status).toBe(401);
|
||||
expect(body).toEqual(errorDto.unauthorized);
|
||||
});
|
||||
|
||||
it('should return total count of albums the user has access to', async () => {
|
||||
const { status, body } = await request(app)
|
||||
.get('/albums/statistics')
|
||||
@@ -438,12 +404,6 @@ describe('/albums', () => {
|
||||
});
|
||||
|
||||
describe('POST /albums', () => {
|
||||
it('should require authentication', async () => {
|
||||
const { status, body } = await request(app).post('/albums').send({ albumName: 'New album' });
|
||||
expect(status).toBe(401);
|
||||
expect(body).toEqual(errorDto.unauthorized);
|
||||
});
|
||||
|
||||
it('should create an album', async () => {
|
||||
const { status, body } = await request(app)
|
||||
.post('/albums')
|
||||
@@ -471,12 +431,6 @@ describe('/albums', () => {
|
||||
});
|
||||
|
||||
describe('PUT /albums/:id/assets', () => {
|
||||
it('should require authentication', async () => {
|
||||
const { status, body } = await request(app).put(`/albums/${user1Albums[0].id}/assets`);
|
||||
expect(status).toBe(401);
|
||||
expect(body).toEqual(errorDto.unauthorized);
|
||||
});
|
||||
|
||||
it('should be able to add own asset to own album', async () => {
|
||||
const asset = await utils.createAsset(user1.accessToken);
|
||||
const { status, body } = await request(app)
|
||||
@@ -526,14 +480,6 @@ describe('/albums', () => {
|
||||
});
|
||||
|
||||
describe('PATCH /albums/:id', () => {
|
||||
it('should require authentication', async () => {
|
||||
const { status, body } = await request(app)
|
||||
.patch(`/albums/${uuidDto.notFound}`)
|
||||
.send({ albumName: 'New album name' });
|
||||
expect(status).toBe(401);
|
||||
expect(body).toEqual(errorDto.unauthorized);
|
||||
});
|
||||
|
||||
it('should update an album', async () => {
|
||||
const album = await utils.createAlbum(user1.accessToken, {
|
||||
albumName: 'New album',
|
||||
@@ -576,15 +522,6 @@ describe('/albums', () => {
|
||||
});
|
||||
|
||||
describe('DELETE /albums/:id/assets', () => {
|
||||
it('should require authentication', async () => {
|
||||
const { status, body } = await request(app)
|
||||
.delete(`/albums/${user1Albums[0].id}/assets`)
|
||||
.send({ ids: [user1Asset1.id] });
|
||||
|
||||
expect(status).toBe(401);
|
||||
expect(body).toEqual(errorDto.unauthorized);
|
||||
});
|
||||
|
||||
it('should require authorization', async () => {
|
||||
const { status, body } = await request(app)
|
||||
.delete(`/albums/${user1Albums[1].id}/assets`)
|
||||
@@ -679,13 +616,6 @@ describe('/albums', () => {
|
||||
});
|
||||
});
|
||||
|
||||
it('should require authentication', async () => {
|
||||
const { status, body } = await request(app).put(`/albums/${user1Albums[0].id}/users`).send({ sharedUserIds: [] });
|
||||
|
||||
expect(status).toBe(401);
|
||||
expect(body).toEqual(errorDto.unauthorized);
|
||||
});
|
||||
|
||||
it('should be able to add user to own album', async () => {
|
||||
const { status, body } = await request(app)
|
||||
.put(`/albums/${album.id}/users`)
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
import { LoginResponseDto, Permission, createApiKey } from '@immich/sdk';
|
||||
import { createUserDto, uuidDto } from 'src/fixtures';
|
||||
import { createUserDto } from 'src/fixtures';
|
||||
import { errorDto } from 'src/responses';
|
||||
import { app, asBearerAuth, utils } from 'src/utils';
|
||||
import request from 'supertest';
|
||||
@@ -24,12 +24,6 @@ describe('/api-keys', () => {
|
||||
});
|
||||
|
||||
describe('POST /api-keys', () => {
|
||||
it('should require authentication', async () => {
|
||||
const { status, body } = await request(app).post('/api-keys').send({ name: 'API Key' });
|
||||
expect(status).toBe(401);
|
||||
expect(body).toEqual(errorDto.unauthorized);
|
||||
});
|
||||
|
||||
it('should not work without permission', async () => {
|
||||
const { secret } = await create(user.accessToken, [Permission.ApiKeyRead]);
|
||||
const { status, body } = await request(app).post('/api-keys').set('x-api-key', secret).send({ name: 'API Key' });
|
||||
@@ -99,12 +93,6 @@ describe('/api-keys', () => {
|
||||
});
|
||||
|
||||
describe('GET /api-keys', () => {
|
||||
it('should require authentication', async () => {
|
||||
const { status, body } = await request(app).get('/api-keys');
|
||||
expect(status).toBe(401);
|
||||
expect(body).toEqual(errorDto.unauthorized);
|
||||
});
|
||||
|
||||
it('should start off empty', async () => {
|
||||
const { status, body } = await request(app).get('/api-keys').set('Authorization', `Bearer ${admin.accessToken}`);
|
||||
expect(body).toEqual([]);
|
||||
@@ -125,12 +113,6 @@ describe('/api-keys', () => {
|
||||
});
|
||||
|
||||
describe('GET /api-keys/:id', () => {
|
||||
it('should require authentication', async () => {
|
||||
const { status, body } = await request(app).get(`/api-keys/${uuidDto.notFound}`);
|
||||
expect(status).toBe(401);
|
||||
expect(body).toEqual(errorDto.unauthorized);
|
||||
});
|
||||
|
||||
it('should require authorization', async () => {
|
||||
const { apiKey } = await create(user.accessToken, [Permission.All]);
|
||||
const { status, body } = await request(app)
|
||||
@@ -140,14 +122,6 @@ describe('/api-keys', () => {
|
||||
expect(body).toEqual(errorDto.badRequest('API Key not found'));
|
||||
});
|
||||
|
||||
it('should require a valid uuid', async () => {
|
||||
const { status, body } = await request(app)
|
||||
.get(`/api-keys/${uuidDto.invalid}`)
|
||||
.set('Authorization', `Bearer ${admin.accessToken}`);
|
||||
expect(status).toBe(400);
|
||||
expect(body).toEqual(errorDto.badRequest(['id must be a UUID']));
|
||||
});
|
||||
|
||||
it('should get api key details', async () => {
|
||||
const { apiKey } = await create(user.accessToken, [Permission.All]);
|
||||
const { status, body } = await request(app)
|
||||
@@ -165,12 +139,6 @@ describe('/api-keys', () => {
|
||||
});
|
||||
|
||||
describe('PUT /api-keys/:id', () => {
|
||||
it('should require authentication', async () => {
|
||||
const { status, body } = await request(app).put(`/api-keys/${uuidDto.notFound}`).send({ name: 'new name' });
|
||||
expect(status).toBe(401);
|
||||
expect(body).toEqual(errorDto.unauthorized);
|
||||
});
|
||||
|
||||
it('should require authorization', async () => {
|
||||
const { apiKey } = await create(user.accessToken, [Permission.All]);
|
||||
const { status, body } = await request(app)
|
||||
@@ -181,15 +149,6 @@ describe('/api-keys', () => {
|
||||
expect(body).toEqual(errorDto.badRequest('API Key not found'));
|
||||
});
|
||||
|
||||
it('should require a valid uuid', async () => {
|
||||
const { status, body } = await request(app)
|
||||
.put(`/api-keys/${uuidDto.invalid}`)
|
||||
.send({ name: 'new name' })
|
||||
.set('Authorization', `Bearer ${admin.accessToken}`);
|
||||
expect(status).toBe(400);
|
||||
expect(body).toEqual(errorDto.badRequest(['id must be a UUID']));
|
||||
});
|
||||
|
||||
it('should update api key details', async () => {
|
||||
const { apiKey } = await create(user.accessToken, [Permission.All]);
|
||||
const { status, body } = await request(app)
|
||||
@@ -208,12 +167,6 @@ describe('/api-keys', () => {
|
||||
});
|
||||
|
||||
describe('DELETE /api-keys/:id', () => {
|
||||
it('should require authentication', async () => {
|
||||
const { status, body } = await request(app).delete(`/api-keys/${uuidDto.notFound}`);
|
||||
expect(status).toBe(401);
|
||||
expect(body).toEqual(errorDto.unauthorized);
|
||||
});
|
||||
|
||||
it('should require authorization', async () => {
|
||||
const { apiKey } = await create(user.accessToken, [Permission.All]);
|
||||
const { status, body } = await request(app)
|
||||
@@ -223,14 +176,6 @@ describe('/api-keys', () => {
|
||||
expect(body).toEqual(errorDto.badRequest('API Key not found'));
|
||||
});
|
||||
|
||||
it('should require a valid uuid', async () => {
|
||||
const { status, body } = await request(app)
|
||||
.delete(`/api-keys/${uuidDto.invalid}`)
|
||||
.set('Authorization', `Bearer ${admin.accessToken}`);
|
||||
expect(status).toBe(400);
|
||||
expect(body).toEqual(errorDto.badRequest(['id must be a UUID']));
|
||||
});
|
||||
|
||||
it('should delete an api key', async () => {
|
||||
const { apiKey } = await create(user.accessToken, [Permission.All]);
|
||||
const { status } = await request(app)
|
||||
|
||||
@@ -3,6 +3,7 @@ import {
|
||||
AssetMediaStatus,
|
||||
AssetResponseDto,
|
||||
AssetTypeEnum,
|
||||
AssetVisibility,
|
||||
getAssetInfo,
|
||||
getMyUser,
|
||||
LoginResponseDto,
|
||||
@@ -22,27 +23,9 @@ import { app, asBearerAuth, tempDir, TEN_TIMES, testAssetDir, utils } from 'src/
|
||||
import request from 'supertest';
|
||||
import { afterAll, beforeAll, describe, expect, it } from 'vitest';
|
||||
|
||||
const makeUploadDto = (options?: { omit: string }): Record<string, any> => {
|
||||
const dto: Record<string, any> = {
|
||||
deviceAssetId: 'example-image',
|
||||
deviceId: 'TEST',
|
||||
fileCreatedAt: new Date().toISOString(),
|
||||
fileModifiedAt: new Date().toISOString(),
|
||||
isFavorite: 'testing',
|
||||
duration: '0:00:00.000000',
|
||||
};
|
||||
|
||||
const omit = options?.omit;
|
||||
if (omit) {
|
||||
delete dto[omit];
|
||||
}
|
||||
|
||||
return dto;
|
||||
};
|
||||
|
||||
const locationAssetFilepath = `${testAssetDir}/metadata/gps-position/thompson-springs.jpg`;
|
||||
const ratingAssetFilepath = `${testAssetDir}/metadata/rating/mongolels.jpg`;
|
||||
const facesAssetFilepath = `${testAssetDir}/metadata/faces/portrait.jpg`;
|
||||
const facesAssetDir = `${testAssetDir}/metadata/faces`;
|
||||
|
||||
const readTags = async (bytes: Buffer, filename: string) => {
|
||||
const filepath = join(tempDir, filename);
|
||||
@@ -137,9 +120,9 @@ describe('/asset', () => {
|
||||
// stats
|
||||
utils.createAsset(statsUser.accessToken),
|
||||
utils.createAsset(statsUser.accessToken, { isFavorite: true }),
|
||||
utils.createAsset(statsUser.accessToken, { isArchived: true }),
|
||||
utils.createAsset(statsUser.accessToken, { visibility: AssetVisibility.Archive }),
|
||||
utils.createAsset(statsUser.accessToken, {
|
||||
isArchived: true,
|
||||
visibility: AssetVisibility.Archive,
|
||||
isFavorite: true,
|
||||
assetData: { filename: 'example.mp4' },
|
||||
}),
|
||||
@@ -160,13 +143,6 @@ describe('/asset', () => {
|
||||
});
|
||||
|
||||
describe('GET /assets/:id/original', () => {
|
||||
it('should require authentication', async () => {
|
||||
const { status, body } = await request(app).get(`/assets/${uuidDto.notFound}/original`);
|
||||
|
||||
expect(status).toBe(401);
|
||||
expect(body).toEqual(errorDto.unauthorized);
|
||||
});
|
||||
|
||||
it('should download the file', async () => {
|
||||
const response = await request(app)
|
||||
.get(`/assets/${user1Assets[0].id}/original`)
|
||||
@@ -178,20 +154,6 @@ describe('/asset', () => {
|
||||
});
|
||||
|
||||
describe('GET /assets/:id', () => {
|
||||
it('should require authentication', async () => {
|
||||
const { status, body } = await request(app).get(`/assets/${uuidDto.notFound}`);
|
||||
expect(body).toEqual(errorDto.unauthorized);
|
||||
expect(status).toBe(401);
|
||||
});
|
||||
|
||||
it('should require a valid id', async () => {
|
||||
const { status, body } = await request(app)
|
||||
.get(`/assets/${uuidDto.invalid}`)
|
||||
.set('Authorization', `Bearer ${user1.accessToken}`);
|
||||
expect(status).toBe(400);
|
||||
expect(body).toEqual(errorDto.badRequest(['id must be a UUID']));
|
||||
});
|
||||
|
||||
it('should require access', async () => {
|
||||
const { status, body } = await request(app)
|
||||
.get(`/assets/${user2Assets[0].id}`)
|
||||
@@ -224,31 +186,22 @@ describe('/asset', () => {
|
||||
});
|
||||
});
|
||||
|
||||
it('should get the asset faces', async () => {
|
||||
const config = await utils.getSystemConfig(admin.accessToken);
|
||||
config.metadata.faces.import = true;
|
||||
await updateConfig({ systemConfigDto: config }, { headers: asBearerAuth(admin.accessToken) });
|
||||
|
||||
// asset faces
|
||||
const facesAsset = await utils.createAsset(admin.accessToken, {
|
||||
assetData: {
|
||||
describe('faces', () => {
|
||||
const metadataFaceTests = [
|
||||
{
|
||||
description: 'without orientation',
|
||||
filename: 'portrait.jpg',
|
||||
bytes: await readFile(facesAssetFilepath),
|
||||
},
|
||||
});
|
||||
|
||||
await utils.waitForWebsocketEvent({ event: 'assetUpload', id: facesAsset.id });
|
||||
|
||||
const { status, body } = await request(app)
|
||||
.get(`/assets/${facesAsset.id}`)
|
||||
.set('Authorization', `Bearer ${admin.accessToken}`);
|
||||
expect(status).toBe(200);
|
||||
expect(body.id).toEqual(facesAsset.id);
|
||||
expect(body.people).toMatchObject([
|
||||
{
|
||||
description: 'adjusting face regions to orientation',
|
||||
filename: 'portrait-orientation-6.jpg',
|
||||
},
|
||||
];
|
||||
// should produce same resulting face region coordinates for any orientation
|
||||
const expectedFaces = [
|
||||
{
|
||||
name: 'Marie Curie',
|
||||
birthDate: null,
|
||||
thumbnailPath: '',
|
||||
isHidden: false,
|
||||
faces: [
|
||||
{
|
||||
@@ -265,7 +218,6 @@ describe('/asset', () => {
|
||||
{
|
||||
name: 'Pierre Curie',
|
||||
birthDate: null,
|
||||
thumbnailPath: '',
|
||||
isHidden: false,
|
||||
faces: [
|
||||
{
|
||||
@@ -279,7 +231,30 @@ describe('/asset', () => {
|
||||
},
|
||||
],
|
||||
},
|
||||
]);
|
||||
];
|
||||
|
||||
it.each(metadataFaceTests)('should get the asset faces from $filename $description', async ({ filename }) => {
|
||||
const config = await utils.getSystemConfig(admin.accessToken);
|
||||
config.metadata.faces.import = true;
|
||||
await updateConfig({ systemConfigDto: config }, { headers: asBearerAuth(admin.accessToken) });
|
||||
|
||||
const facesAsset = await utils.createAsset(admin.accessToken, {
|
||||
assetData: {
|
||||
filename,
|
||||
bytes: await readFile(`${facesAssetDir}/${filename}`),
|
||||
},
|
||||
});
|
||||
|
||||
await utils.waitForWebsocketEvent({ event: 'assetUpload', id: facesAsset.id });
|
||||
|
||||
const { status, body } = await request(app)
|
||||
.get(`/assets/${facesAsset.id}`)
|
||||
.set('Authorization', `Bearer ${admin.accessToken}`);
|
||||
|
||||
expect(status).toBe(200);
|
||||
expect(body.id).toEqual(facesAsset.id);
|
||||
expect(body.people).toMatchObject(expectedFaces);
|
||||
});
|
||||
});
|
||||
|
||||
it('should work with a shared link', async () => {
|
||||
@@ -333,7 +308,7 @@ describe('/asset', () => {
|
||||
});
|
||||
|
||||
it('disallows viewing archived assets', async () => {
|
||||
const asset = await utils.createAsset(user1.accessToken, { isArchived: true });
|
||||
const asset = await utils.createAsset(user1.accessToken, { visibility: AssetVisibility.Archive });
|
||||
|
||||
const { status } = await request(app)
|
||||
.get(`/assets/${asset.id}`)
|
||||
@@ -354,13 +329,6 @@ describe('/asset', () => {
|
||||
});
|
||||
|
||||
describe('GET /assets/statistics', () => {
|
||||
it('should require authentication', async () => {
|
||||
const { status, body } = await request(app).get('/assets/statistics');
|
||||
|
||||
expect(status).toBe(401);
|
||||
expect(body).toEqual(errorDto.unauthorized);
|
||||
});
|
||||
|
||||
it('should return stats of all assets', async () => {
|
||||
const { status, body } = await request(app)
|
||||
.get('/assets/statistics')
|
||||
@@ -384,7 +352,7 @@ describe('/asset', () => {
|
||||
const { status, body } = await request(app)
|
||||
.get('/assets/statistics')
|
||||
.set('Authorization', `Bearer ${statsUser.accessToken}`)
|
||||
.query({ isArchived: true });
|
||||
.query({ visibility: AssetVisibility.Archive });
|
||||
|
||||
expect(status).toBe(200);
|
||||
expect(body).toEqual({ images: 1, videos: 1, total: 2 });
|
||||
@@ -394,7 +362,7 @@ describe('/asset', () => {
|
||||
const { status, body } = await request(app)
|
||||
.get('/assets/statistics')
|
||||
.set('Authorization', `Bearer ${statsUser.accessToken}`)
|
||||
.query({ isFavorite: true, isArchived: true });
|
||||
.query({ isFavorite: true, visibility: AssetVisibility.Archive });
|
||||
|
||||
expect(status).toBe(200);
|
||||
expect(body).toEqual({ images: 0, videos: 1, total: 1 });
|
||||
@@ -404,7 +372,7 @@ describe('/asset', () => {
|
||||
const { status, body } = await request(app)
|
||||
.get('/assets/statistics')
|
||||
.set('Authorization', `Bearer ${statsUser.accessToken}`)
|
||||
.query({ isFavorite: false, isArchived: false });
|
||||
.query({ isFavorite: false, visibility: AssetVisibility.Timeline });
|
||||
|
||||
expect(status).toBe(200);
|
||||
expect(body).toEqual({ images: 1, videos: 0, total: 1 });
|
||||
@@ -425,13 +393,6 @@ describe('/asset', () => {
|
||||
await utils.waitForQueueFinish(admin.accessToken, 'thumbnailGeneration');
|
||||
});
|
||||
|
||||
it('should require authentication', async () => {
|
||||
const { status, body } = await request(app).get('/assets/random');
|
||||
|
||||
expect(status).toBe(401);
|
||||
expect(body).toEqual(errorDto.unauthorized);
|
||||
});
|
||||
|
||||
it.each(TEN_TIMES)('should return 1 random assets', async () => {
|
||||
const { status, body } = await request(app)
|
||||
.get('/assets/random')
|
||||
@@ -467,31 +428,9 @@ describe('/asset', () => {
|
||||
expect(status).toBe(200);
|
||||
expect(body).toEqual([expect.objectContaining({ id: user2Assets[0].id })]);
|
||||
});
|
||||
|
||||
it('should return error', async () => {
|
||||
const { status } = await request(app)
|
||||
.get('/assets/random?count=ABC')
|
||||
.set('Authorization', `Bearer ${user1.accessToken}`);
|
||||
|
||||
expect(status).toBe(400);
|
||||
});
|
||||
});
|
||||
|
||||
describe('PUT /assets/:id', () => {
|
||||
it('should require authentication', async () => {
|
||||
const { status, body } = await request(app).put(`/assets/:${uuidDto.notFound}`);
|
||||
expect(status).toBe(401);
|
||||
expect(body).toEqual(errorDto.unauthorized);
|
||||
});
|
||||
|
||||
it('should require a valid id', async () => {
|
||||
const { status, body } = await request(app)
|
||||
.put(`/assets/${uuidDto.invalid}`)
|
||||
.set('Authorization', `Bearer ${user1.accessToken}`);
|
||||
expect(status).toBe(400);
|
||||
expect(body).toEqual(errorDto.badRequest(['id must be a UUID']));
|
||||
});
|
||||
|
||||
it('should require access', async () => {
|
||||
const { status, body } = await request(app)
|
||||
.put(`/assets/${user2Assets[0].id}`)
|
||||
@@ -519,7 +458,7 @@ describe('/asset', () => {
|
||||
const { status, body } = await request(app)
|
||||
.put(`/assets/${user1Assets[0].id}`)
|
||||
.set('Authorization', `Bearer ${user1.accessToken}`)
|
||||
.send({ isArchived: true });
|
||||
.send({ visibility: AssetVisibility.Archive });
|
||||
expect(body).toMatchObject({ id: user1Assets[0].id, isArchived: true });
|
||||
expect(status).toEqual(200);
|
||||
});
|
||||
@@ -619,28 +558,6 @@ describe('/asset', () => {
|
||||
expect(status).toEqual(200);
|
||||
});
|
||||
|
||||
it('should reject invalid gps coordinates', async () => {
|
||||
for (const test of [
|
||||
{ latitude: 12 },
|
||||
{ longitude: 12 },
|
||||
{ latitude: 12, longitude: 'abc' },
|
||||
{ latitude: 'abc', longitude: 12 },
|
||||
{ latitude: null, longitude: 12 },
|
||||
{ latitude: 12, longitude: null },
|
||||
{ latitude: 91, longitude: 12 },
|
||||
{ latitude: -91, longitude: 12 },
|
||||
{ latitude: 12, longitude: -181 },
|
||||
{ latitude: 12, longitude: 181 },
|
||||
]) {
|
||||
const { status, body } = await request(app)
|
||||
.put(`/assets/${user1Assets[0].id}`)
|
||||
.send(test)
|
||||
.set('Authorization', `Bearer ${user1.accessToken}`);
|
||||
expect(status).toBe(400);
|
||||
expect(body).toEqual(errorDto.badRequest());
|
||||
}
|
||||
});
|
||||
|
||||
it('should update gps data', async () => {
|
||||
const { status, body } = await request(app)
|
||||
.put(`/assets/${user1Assets[0].id}`)
|
||||
@@ -712,17 +629,6 @@ describe('/asset', () => {
|
||||
expect(status).toEqual(200);
|
||||
});
|
||||
|
||||
it('should reject invalid rating', async () => {
|
||||
for (const test of [{ rating: 7 }, { rating: 3.5 }, { rating: null }]) {
|
||||
const { status, body } = await request(app)
|
||||
.put(`/assets/${user1Assets[0].id}`)
|
||||
.send(test)
|
||||
.set('Authorization', `Bearer ${user1.accessToken}`);
|
||||
expect(status).toBe(400);
|
||||
expect(body).toEqual(errorDto.badRequest());
|
||||
}
|
||||
});
|
||||
|
||||
it('should return tagged people', async () => {
|
||||
const { status, body } = await request(app)
|
||||
.put(`/assets/${user1Assets[0].id}`)
|
||||
@@ -746,25 +652,6 @@ describe('/asset', () => {
|
||||
});
|
||||
|
||||
describe('DELETE /assets', () => {
|
||||
it('should require authentication', async () => {
|
||||
const { status, body } = await request(app)
|
||||
.delete(`/assets`)
|
||||
.send({ ids: [uuidDto.notFound] });
|
||||
|
||||
expect(status).toBe(401);
|
||||
expect(body).toEqual(errorDto.unauthorized);
|
||||
});
|
||||
|
||||
it('should require a valid uuid', async () => {
|
||||
const { status, body } = await request(app)
|
||||
.delete(`/assets`)
|
||||
.send({ ids: [uuidDto.invalid] })
|
||||
.set('Authorization', `Bearer ${admin.accessToken}`);
|
||||
|
||||
expect(status).toBe(400);
|
||||
expect(body).toEqual(errorDto.badRequest(['each value in ids must be a UUID']));
|
||||
});
|
||||
|
||||
it('should throw an error when the id is not found', async () => {
|
||||
const { status, body } = await request(app)
|
||||
.delete(`/assets`)
|
||||
@@ -877,13 +764,6 @@ describe('/asset', () => {
|
||||
});
|
||||
|
||||
describe('GET /assets/:id/thumbnail', () => {
|
||||
it('should require authentication', async () => {
|
||||
const { status, body } = await request(app).get(`/assets/${locationAsset.id}/thumbnail`);
|
||||
|
||||
expect(status).toBe(401);
|
||||
expect(body).toEqual(errorDto.unauthorized);
|
||||
});
|
||||
|
||||
it('should not include gps data for webp thumbnails', async () => {
|
||||
await utils.waitForWebsocketEvent({
|
||||
event: 'assetUpload',
|
||||
@@ -919,13 +799,6 @@ describe('/asset', () => {
|
||||
});
|
||||
|
||||
describe('GET /assets/:id/original', () => {
|
||||
it('should require authentication', async () => {
|
||||
const { status, body } = await request(app).get(`/assets/${locationAsset.id}/original`);
|
||||
|
||||
expect(status).toBe(401);
|
||||
expect(body).toEqual(errorDto.unauthorized);
|
||||
});
|
||||
|
||||
it('should download the original', async () => {
|
||||
const { status, body, type } = await request(app)
|
||||
.get(`/assets/${locationAsset.id}/original`)
|
||||
@@ -946,43 +819,9 @@ describe('/asset', () => {
|
||||
});
|
||||
});
|
||||
|
||||
describe('PUT /assets', () => {
|
||||
it('should require authentication', async () => {
|
||||
const { status, body } = await request(app).put('/assets');
|
||||
|
||||
expect(status).toBe(401);
|
||||
expect(body).toEqual(errorDto.unauthorized);
|
||||
});
|
||||
});
|
||||
|
||||
describe('POST /assets', () => {
|
||||
beforeAll(setupTests, 30_000);
|
||||
|
||||
it('should require authentication', async () => {
|
||||
const { status, body } = await request(app).post(`/assets`);
|
||||
expect(body).toEqual(errorDto.unauthorized);
|
||||
expect(status).toBe(401);
|
||||
});
|
||||
|
||||
it.each([
|
||||
{ should: 'require `deviceAssetId`', dto: { ...makeUploadDto({ omit: 'deviceAssetId' }) } },
|
||||
{ should: 'require `deviceId`', dto: { ...makeUploadDto({ omit: 'deviceId' }) } },
|
||||
{ should: 'require `fileCreatedAt`', dto: { ...makeUploadDto({ omit: 'fileCreatedAt' }) } },
|
||||
{ should: 'require `fileModifiedAt`', dto: { ...makeUploadDto({ omit: 'fileModifiedAt' }) } },
|
||||
{ should: 'require `duration`', dto: { ...makeUploadDto({ omit: 'duration' }) } },
|
||||
{ should: 'throw if `isFavorite` is not a boolean', dto: { ...makeUploadDto(), isFavorite: 'not-a-boolean' } },
|
||||
{ should: 'throw if `isVisible` is not a boolean', dto: { ...makeUploadDto(), isVisible: 'not-a-boolean' } },
|
||||
{ should: 'throw if `isArchived` is not a boolean', dto: { ...makeUploadDto(), isArchived: 'not-a-boolean' } },
|
||||
])('should $should', async ({ dto }) => {
|
||||
const { status, body } = await request(app)
|
||||
.post('/assets')
|
||||
.set('Authorization', `Bearer ${user1.accessToken}`)
|
||||
.attach('assetData', makeRandomImage(), 'example.png')
|
||||
.field(dto);
|
||||
expect(status).toBe(400);
|
||||
expect(body).toEqual(errorDto.badRequest());
|
||||
});
|
||||
|
||||
const tests = [
|
||||
{
|
||||
input: 'formats/avif/8bit-sRGB.avif',
|
||||
@@ -1244,31 +1083,21 @@ describe('/asset', () => {
|
||||
},
|
||||
];
|
||||
|
||||
it(`should upload and generate a thumbnail for different file types`, async () => {
|
||||
// upload in parallel
|
||||
const assets = await Promise.all(
|
||||
tests.map(async ({ input }) => {
|
||||
const filepath = join(testAssetDir, input);
|
||||
return utils.createAsset(admin.accessToken, {
|
||||
assetData: { bytes: await readFile(filepath), filename: basename(filepath) },
|
||||
});
|
||||
}),
|
||||
);
|
||||
it.each(tests)(`should upload and generate a thumbnail for different file types`, async ({ input, expected }) => {
|
||||
const filepath = join(testAssetDir, input);
|
||||
const response = await utils.createAsset(admin.accessToken, {
|
||||
assetData: { bytes: await readFile(filepath), filename: basename(filepath) },
|
||||
});
|
||||
|
||||
for (const { id, status } of assets) {
|
||||
expect(status).toBe(AssetMediaStatus.Created);
|
||||
// longer timeout as the thumbnail generation from full-size raw files can take a while
|
||||
await utils.waitForWebsocketEvent({ event: 'assetUpload', id });
|
||||
}
|
||||
expect(response.status).toBe(AssetMediaStatus.Created);
|
||||
const id = response.id;
|
||||
// longer timeout as the thumbnail generation from full-size raw files can take a while
|
||||
await utils.waitForWebsocketEvent({ event: 'assetUpload', id });
|
||||
|
||||
for (const [i, { id }] of assets.entries()) {
|
||||
const { expected } = tests[i];
|
||||
const asset = await utils.getAssetInfo(admin.accessToken, id);
|
||||
|
||||
expect(asset.exifInfo).toBeDefined();
|
||||
expect(asset.exifInfo).toMatchObject(expected.exifInfo);
|
||||
expect(asset).toMatchObject(expected);
|
||||
}
|
||||
const asset = await utils.getAssetInfo(admin.accessToken, id);
|
||||
expect(asset.exifInfo).toBeDefined();
|
||||
expect(asset.exifInfo).toMatchObject(expected.exifInfo);
|
||||
expect(asset).toMatchObject(expected);
|
||||
});
|
||||
|
||||
it('should handle a duplicate', async () => {
|
||||
|
||||
@@ -19,17 +19,6 @@ describe(`/auth/admin-sign-up`, () => {
|
||||
expect(body).toEqual(signupResponseDto.admin);
|
||||
});
|
||||
|
||||
it('should sign up the admin with a local domain', async () => {
|
||||
const { status, body } = await request(app)
|
||||
.post('/auth/admin-sign-up')
|
||||
.send({ ...signupDto.admin, email: 'admin@local' });
|
||||
expect(status).toEqual(201);
|
||||
expect(body).toEqual({
|
||||
...signupResponseDto.admin,
|
||||
email: 'admin@local',
|
||||
});
|
||||
});
|
||||
|
||||
it('should not allow a second admin to sign up', async () => {
|
||||
await signUpAdmin({ signUpDto: signupDto.admin });
|
||||
|
||||
@@ -57,22 +46,6 @@ describe('/auth/*', () => {
|
||||
expect(body).toEqual(errorDto.incorrectLogin);
|
||||
});
|
||||
|
||||
for (const key of Object.keys(loginDto.admin)) {
|
||||
it(`should not allow null ${key}`, async () => {
|
||||
const { status, body } = await request(app)
|
||||
.post('/auth/login')
|
||||
.send({ ...loginDto.admin, [key]: null });
|
||||
expect(status).toBe(400);
|
||||
expect(body).toEqual(errorDto.badRequest());
|
||||
});
|
||||
|
||||
it('should reject an invalid email', async () => {
|
||||
const { status, body } = await request(app).post('/auth/login').send({ email: [], password });
|
||||
expect(status).toBe(400);
|
||||
expect(body).toEqual(errorDto.invalidEmail);
|
||||
});
|
||||
}
|
||||
|
||||
it('should accept a correct password', async () => {
|
||||
const { status, body, headers } = await request(app).post('/auth/login').send({ email, password });
|
||||
expect(status).toBe(201);
|
||||
@@ -127,14 +100,6 @@ describe('/auth/*', () => {
|
||||
});
|
||||
|
||||
describe('POST /auth/change-password', () => {
|
||||
it('should require authentication', async () => {
|
||||
const { status, body } = await request(app)
|
||||
.post(`/auth/change-password`)
|
||||
.send({ password, newPassword: 'Password1234' });
|
||||
expect(status).toBe(401);
|
||||
expect(body).toEqual(errorDto.unauthorized);
|
||||
});
|
||||
|
||||
it('should require the current password', async () => {
|
||||
const { status, body } = await request(app)
|
||||
.post(`/auth/change-password`)
|
||||
|
||||
@@ -1,6 +1,5 @@
|
||||
import { AssetMediaResponseDto, LoginResponseDto } from '@immich/sdk';
|
||||
import { readFile, writeFile } from 'node:fs/promises';
|
||||
import { errorDto } from 'src/responses';
|
||||
import { app, tempDir, utils } from 'src/utils';
|
||||
import request from 'supertest';
|
||||
import { beforeAll, describe, expect, it } from 'vitest';
|
||||
@@ -17,15 +16,6 @@ describe('/download', () => {
|
||||
});
|
||||
|
||||
describe('POST /download/info', () => {
|
||||
it('should require authentication', async () => {
|
||||
const { status, body } = await request(app)
|
||||
.post(`/download/info`)
|
||||
.send({ assetIds: [asset1.id] });
|
||||
|
||||
expect(status).toBe(401);
|
||||
expect(body).toEqual(errorDto.unauthorized);
|
||||
});
|
||||
|
||||
it('should download info', async () => {
|
||||
const { status, body } = await request(app)
|
||||
.post('/download/info')
|
||||
@@ -42,15 +32,6 @@ describe('/download', () => {
|
||||
});
|
||||
|
||||
describe('POST /download/archive', () => {
|
||||
it('should require authentication', async () => {
|
||||
const { status, body } = await request(app)
|
||||
.post(`/download/archive`)
|
||||
.send({ assetIds: [asset1.id, asset2.id] });
|
||||
|
||||
expect(status).toBe(401);
|
||||
expect(body).toEqual(errorDto.unauthorized);
|
||||
});
|
||||
|
||||
it('should download an archive', async () => {
|
||||
const { status, body } = await request(app)
|
||||
.post('/download/archive')
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
import { LoginResponseDto } from '@immich/sdk';
|
||||
import { AssetVisibility, LoginResponseDto } from '@immich/sdk';
|
||||
import { readFile } from 'node:fs/promises';
|
||||
import { basename, join } from 'node:path';
|
||||
import { Socket } from 'socket.io-client';
|
||||
@@ -44,7 +44,7 @@ describe('/map', () => {
|
||||
it('should get map markers for all non-archived assets', async () => {
|
||||
const { status, body } = await request(app)
|
||||
.get('/map/markers')
|
||||
.query({ isArchived: false })
|
||||
.query({ visibility: AssetVisibility.Timeline })
|
||||
.set('Authorization', `Bearer ${admin.accessToken}`);
|
||||
|
||||
expect(status).toBe(200);
|
||||
|
||||
@@ -5,22 +5,6 @@ import { app, asBearerAuth, utils } from 'src/utils';
|
||||
import request from 'supertest';
|
||||
import { beforeAll, beforeEach, describe, expect, it } from 'vitest';
|
||||
|
||||
const invalidBirthday = [
|
||||
{
|
||||
birthDate: 'false',
|
||||
response: ['birthDate must be a string in the format yyyy-MM-dd', 'Birth date cannot be in the future'],
|
||||
},
|
||||
{
|
||||
birthDate: '123567',
|
||||
response: ['birthDate must be a string in the format yyyy-MM-dd', 'Birth date cannot be in the future'],
|
||||
},
|
||||
{
|
||||
birthDate: 123_567,
|
||||
response: ['birthDate must be a string in the format yyyy-MM-dd', 'Birth date cannot be in the future'],
|
||||
},
|
||||
{ birthDate: '9999-01-01', response: ['Birth date cannot be in the future'] },
|
||||
];
|
||||
|
||||
describe('/people', () => {
|
||||
let admin: LoginResponseDto;
|
||||
let visiblePerson: PersonResponseDto;
|
||||
@@ -58,14 +42,6 @@ describe('/people', () => {
|
||||
|
||||
describe('GET /people', () => {
|
||||
beforeEach(async () => {});
|
||||
|
||||
it('should require authentication', async () => {
|
||||
const { status, body } = await request(app).get('/people');
|
||||
|
||||
expect(status).toBe(401);
|
||||
expect(body).toEqual(errorDto.unauthorized);
|
||||
});
|
||||
|
||||
it('should return all people (including hidden)', async () => {
|
||||
const { status, body } = await request(app)
|
||||
.get('/people')
|
||||
@@ -117,13 +93,6 @@ describe('/people', () => {
|
||||
});
|
||||
|
||||
describe('GET /people/:id', () => {
|
||||
it('should require authentication', async () => {
|
||||
const { status, body } = await request(app).get(`/people/${uuidDto.notFound}`);
|
||||
|
||||
expect(status).toBe(401);
|
||||
expect(body).toEqual(errorDto.unauthorized);
|
||||
});
|
||||
|
||||
it('should throw error if person with id does not exist', async () => {
|
||||
const { status, body } = await request(app)
|
||||
.get(`/people/${uuidDto.notFound}`)
|
||||
@@ -144,13 +113,6 @@ describe('/people', () => {
|
||||
});
|
||||
|
||||
describe('GET /people/:id/statistics', () => {
|
||||
it('should require authentication', async () => {
|
||||
const { status, body } = await request(app).get(`/people/${multipleAssetsPerson.id}/statistics`);
|
||||
|
||||
expect(status).toBe(401);
|
||||
expect(body).toEqual(errorDto.unauthorized);
|
||||
});
|
||||
|
||||
it('should throw error if person with id does not exist', async () => {
|
||||
const { status, body } = await request(app)
|
||||
.get(`/people/${uuidDto.notFound}/statistics`)
|
||||
@@ -171,23 +133,6 @@ describe('/people', () => {
|
||||
});
|
||||
|
||||
describe('POST /people', () => {
|
||||
it('should require authentication', async () => {
|
||||
const { status, body } = await request(app).post(`/people`);
|
||||
expect(status).toBe(401);
|
||||
expect(body).toEqual(errorDto.unauthorized);
|
||||
});
|
||||
|
||||
for (const { birthDate, response } of invalidBirthday) {
|
||||
it(`should not accept an invalid birth date [${birthDate}]`, async () => {
|
||||
const { status, body } = await request(app)
|
||||
.post(`/people`)
|
||||
.set('Authorization', `Bearer ${admin.accessToken}`)
|
||||
.send({ birthDate });
|
||||
expect(status).toBe(400);
|
||||
expect(body).toEqual(errorDto.badRequest(response));
|
||||
});
|
||||
}
|
||||
|
||||
it('should create a person', async () => {
|
||||
const { status, body } = await request(app)
|
||||
.post(`/people`)
|
||||
@@ -223,39 +168,6 @@ describe('/people', () => {
|
||||
});
|
||||
|
||||
describe('PUT /people/:id', () => {
|
||||
it('should require authentication', async () => {
|
||||
const { status, body } = await request(app).put(`/people/${uuidDto.notFound}`);
|
||||
expect(status).toBe(401);
|
||||
expect(body).toEqual(errorDto.unauthorized);
|
||||
});
|
||||
|
||||
for (const { key, type } of [
|
||||
{ key: 'name', type: 'string' },
|
||||
{ key: 'featureFaceAssetId', type: 'string' },
|
||||
{ key: 'isHidden', type: 'boolean value' },
|
||||
{ key: 'isFavorite', type: 'boolean value' },
|
||||
]) {
|
||||
it(`should not allow null ${key}`, async () => {
|
||||
const { status, body } = await request(app)
|
||||
.put(`/people/${visiblePerson.id}`)
|
||||
.set('Authorization', `Bearer ${admin.accessToken}`)
|
||||
.send({ [key]: null });
|
||||
expect(status).toBe(400);
|
||||
expect(body).toEqual(errorDto.badRequest([`${key} must be a ${type}`]));
|
||||
});
|
||||
}
|
||||
|
||||
for (const { birthDate, response } of invalidBirthday) {
|
||||
it(`should not accept an invalid birth date [${birthDate}]`, async () => {
|
||||
const { status, body } = await request(app)
|
||||
.put(`/people/${visiblePerson.id}`)
|
||||
.set('Authorization', `Bearer ${admin.accessToken}`)
|
||||
.send({ birthDate });
|
||||
expect(status).toBe(400);
|
||||
expect(body).toEqual(errorDto.badRequest(response));
|
||||
});
|
||||
}
|
||||
|
||||
it('should update a date of birth', async () => {
|
||||
const { status, body } = await request(app)
|
||||
.put(`/people/${visiblePerson.id}`)
|
||||
@@ -312,12 +224,6 @@ describe('/people', () => {
|
||||
});
|
||||
|
||||
describe('POST /people/:id/merge', () => {
|
||||
it('should require authentication', async () => {
|
||||
const { status, body } = await request(app).post(`/people/${uuidDto.notFound}/merge`);
|
||||
expect(status).toBe(401);
|
||||
expect(body).toEqual(errorDto.unauthorized);
|
||||
});
|
||||
|
||||
it('should not supporting merging a person into themselves', async () => {
|
||||
const { status, body } = await request(app)
|
||||
.post(`/people/${visiblePerson.id}/merge`)
|
||||
|
||||
@@ -1,9 +1,15 @@
|
||||
import { AssetMediaResponseDto, AssetResponseDto, deleteAssets, LoginResponseDto, updateAsset } from '@immich/sdk';
|
||||
import {
|
||||
AssetMediaResponseDto,
|
||||
AssetResponseDto,
|
||||
AssetVisibility,
|
||||
deleteAssets,
|
||||
LoginResponseDto,
|
||||
updateAsset,
|
||||
} from '@immich/sdk';
|
||||
import { DateTime } from 'luxon';
|
||||
import { readFile } from 'node:fs/promises';
|
||||
import { join } from 'node:path';
|
||||
import { Socket } from 'socket.io-client';
|
||||
import { errorDto } from 'src/responses';
|
||||
import { app, asBearerAuth, TEN_TIMES, testAssetDir, utils } from 'src/utils';
|
||||
import request from 'supertest';
|
||||
import { afterAll, beforeAll, describe, expect, it } from 'vitest';
|
||||
@@ -50,7 +56,7 @@ describe('/search', () => {
|
||||
{ filename: '/formats/motionphoto/samsung-one-ui-6.heic' },
|
||||
{ filename: '/formats/motionphoto/samsung-one-ui-5.jpg' },
|
||||
|
||||
{ filename: '/metadata/gps-position/thompson-springs.jpg', dto: { isArchived: true } },
|
||||
{ filename: '/metadata/gps-position/thompson-springs.jpg', dto: { visibility: AssetVisibility.Archive } },
|
||||
|
||||
// used for search suggestions
|
||||
{ filename: '/formats/png/density_plot.png' },
|
||||
@@ -141,65 +147,6 @@ describe('/search', () => {
|
||||
});
|
||||
|
||||
describe('POST /search/metadata', () => {
|
||||
it('should require authentication', async () => {
|
||||
const { status, body } = await request(app).post('/search/metadata');
|
||||
expect(status).toBe(401);
|
||||
expect(body).toEqual(errorDto.unauthorized);
|
||||
});
|
||||
|
||||
const badTests = [
|
||||
{
|
||||
should: 'should reject page as a string',
|
||||
dto: { page: 'abc' },
|
||||
expected: ['page must not be less than 1', 'page must be an integer number'],
|
||||
},
|
||||
{
|
||||
should: 'should reject page as a decimal',
|
||||
dto: { page: 1.5 },
|
||||
expected: ['page must be an integer number'],
|
||||
},
|
||||
{
|
||||
should: 'should reject page as a negative number',
|
||||
dto: { page: -10 },
|
||||
expected: ['page must not be less than 1'],
|
||||
},
|
||||
{
|
||||
should: 'should reject page as 0',
|
||||
dto: { page: 0 },
|
||||
expected: ['page must not be less than 1'],
|
||||
},
|
||||
{
|
||||
should: 'should reject size as a string',
|
||||
dto: { size: 'abc' },
|
||||
expected: [
|
||||
'size must not be greater than 1000',
|
||||
'size must not be less than 1',
|
||||
'size must be an integer number',
|
||||
],
|
||||
},
|
||||
{
|
||||
should: 'should reject an invalid size',
|
||||
dto: { size: -1.5 },
|
||||
expected: ['size must not be less than 1', 'size must be an integer number'],
|
||||
},
|
||||
...['isArchived', 'isFavorite', 'isEncoded', 'isOffline', 'isMotion', 'isVisible'].map((value) => ({
|
||||
should: `should reject ${value} not a boolean`,
|
||||
dto: { [value]: 'immich' },
|
||||
expected: [`${value} must be a boolean value`],
|
||||
})),
|
||||
];
|
||||
|
||||
for (const { should, dto, expected } of badTests) {
|
||||
it(should, async () => {
|
||||
const { status, body } = await request(app)
|
||||
.post('/search/metadata')
|
||||
.set('Authorization', `Bearer ${admin.accessToken}`)
|
||||
.send(dto);
|
||||
expect(status).toBe(400);
|
||||
expect(body).toEqual(errorDto.badRequest(expected));
|
||||
});
|
||||
}
|
||||
|
||||
const searchTests = [
|
||||
{
|
||||
should: 'should get my assets',
|
||||
@@ -231,12 +178,12 @@ describe('/search', () => {
|
||||
deferred: () => ({ dto: { size: 1, isFavorite: false }, assets: [assetLast] }),
|
||||
},
|
||||
{
|
||||
should: 'should search by isArchived (true)',
|
||||
deferred: () => ({ dto: { isArchived: true }, assets: [assetSprings] }),
|
||||
should: 'should search by visibility (AssetVisibility.Archive)',
|
||||
deferred: () => ({ dto: { visibility: AssetVisibility.Archive }, assets: [assetSprings] }),
|
||||
},
|
||||
{
|
||||
should: 'should search by isArchived (false)',
|
||||
deferred: () => ({ dto: { size: 1, isArchived: false }, assets: [assetLast] }),
|
||||
should: 'should search by visibility (AssetVisibility.Timeline)',
|
||||
deferred: () => ({ dto: { size: 1, visibility: AssetVisibility.Timeline }, assets: [assetLast] }),
|
||||
},
|
||||
{
|
||||
should: 'should search by type (image)',
|
||||
@@ -245,7 +192,7 @@ describe('/search', () => {
|
||||
{
|
||||
should: 'should search by type (video)',
|
||||
deferred: () => ({
|
||||
dto: { type: 'VIDEO' },
|
||||
dto: { type: 'VIDEO', visibility: AssetVisibility.Hidden },
|
||||
assets: [
|
||||
// the three live motion photos
|
||||
{ id: expect.any(String) },
|
||||
@@ -289,13 +236,6 @@ describe('/search', () => {
|
||||
should: 'should search by takenAfter (no results)',
|
||||
deferred: () => ({ dto: { takenAfter: today.plus({ hour: 1 }).toJSDate() }, assets: [] }),
|
||||
},
|
||||
// {
|
||||
// should: 'should search by originalPath',
|
||||
// deferred: () => ({
|
||||
// dto: { originalPath: asset1.originalPath },
|
||||
// assets: [asset1],
|
||||
// }),
|
||||
// },
|
||||
{
|
||||
should: 'should search by originalFilename',
|
||||
deferred: () => ({
|
||||
@@ -325,7 +265,7 @@ describe('/search', () => {
|
||||
deferred: () => ({
|
||||
dto: {
|
||||
city: '',
|
||||
isVisible: true,
|
||||
visibility: AssetVisibility.Timeline,
|
||||
includeNull: true,
|
||||
},
|
||||
assets: [assetLast],
|
||||
@@ -336,7 +276,7 @@ describe('/search', () => {
|
||||
deferred: () => ({
|
||||
dto: {
|
||||
city: null,
|
||||
isVisible: true,
|
||||
visibility: AssetVisibility.Timeline,
|
||||
includeNull: true,
|
||||
},
|
||||
assets: [assetLast],
|
||||
@@ -357,7 +297,7 @@ describe('/search', () => {
|
||||
deferred: () => ({
|
||||
dto: {
|
||||
state: '',
|
||||
isVisible: true,
|
||||
visibility: AssetVisibility.Timeline,
|
||||
withExif: true,
|
||||
includeNull: true,
|
||||
},
|
||||
@@ -369,7 +309,7 @@ describe('/search', () => {
|
||||
deferred: () => ({
|
||||
dto: {
|
||||
state: null,
|
||||
isVisible: true,
|
||||
visibility: AssetVisibility.Timeline,
|
||||
includeNull: true,
|
||||
},
|
||||
assets: [assetLast, assetNotocactus],
|
||||
@@ -390,7 +330,7 @@ describe('/search', () => {
|
||||
deferred: () => ({
|
||||
dto: {
|
||||
country: '',
|
||||
isVisible: true,
|
||||
visibility: AssetVisibility.Timeline,
|
||||
includeNull: true,
|
||||
},
|
||||
assets: [assetLast],
|
||||
@@ -401,7 +341,7 @@ describe('/search', () => {
|
||||
deferred: () => ({
|
||||
dto: {
|
||||
country: null,
|
||||
isVisible: true,
|
||||
visibility: AssetVisibility.Timeline,
|
||||
includeNull: true,
|
||||
},
|
||||
assets: [assetLast],
|
||||
@@ -454,14 +394,6 @@ describe('/search', () => {
|
||||
}
|
||||
});
|
||||
|
||||
describe('POST /search/smart', () => {
|
||||
it('should require authentication', async () => {
|
||||
const { status, body } = await request(app).post('/search/smart');
|
||||
expect(status).toBe(401);
|
||||
expect(body).toEqual(errorDto.unauthorized);
|
||||
});
|
||||
});
|
||||
|
||||
describe('POST /search/random', () => {
|
||||
beforeAll(async () => {
|
||||
await Promise.all([
|
||||
@@ -476,13 +408,6 @@ describe('/search', () => {
|
||||
await utils.waitForQueueFinish(admin.accessToken, 'thumbnailGeneration');
|
||||
});
|
||||
|
||||
it('should require authentication', async () => {
|
||||
const { status, body } = await request(app).post('/search/random').send({ size: 1 });
|
||||
|
||||
expect(status).toBe(401);
|
||||
expect(body).toEqual(errorDto.unauthorized);
|
||||
});
|
||||
|
||||
it.each(TEN_TIMES)('should return 1 random assets', async () => {
|
||||
const { status, body } = await request(app)
|
||||
.post('/search/random')
|
||||
@@ -512,12 +437,6 @@ describe('/search', () => {
|
||||
});
|
||||
|
||||
describe('GET /search/explore', () => {
|
||||
it('should require authentication', async () => {
|
||||
const { status, body } = await request(app).get('/search/explore');
|
||||
expect(status).toBe(401);
|
||||
expect(body).toEqual(errorDto.unauthorized);
|
||||
});
|
||||
|
||||
it('should get explore data', async () => {
|
||||
const { status, body } = await request(app)
|
||||
.get('/search/explore')
|
||||
@@ -528,12 +447,6 @@ describe('/search', () => {
|
||||
});
|
||||
|
||||
describe('GET /search/places', () => {
|
||||
it('should require authentication', async () => {
|
||||
const { status, body } = await request(app).get('/search/places');
|
||||
expect(status).toBe(401);
|
||||
expect(body).toEqual(errorDto.unauthorized);
|
||||
});
|
||||
|
||||
it('should get relevant places', async () => {
|
||||
const name = 'Paris';
|
||||
|
||||
@@ -552,12 +465,6 @@ describe('/search', () => {
|
||||
});
|
||||
|
||||
describe('GET /search/cities', () => {
|
||||
it('should require authentication', async () => {
|
||||
const { status, body } = await request(app).get('/search/cities');
|
||||
expect(status).toBe(401);
|
||||
expect(body).toEqual(errorDto.unauthorized);
|
||||
});
|
||||
|
||||
it('should get all cities', async () => {
|
||||
const { status, body } = await request(app)
|
||||
.get('/search/cities')
|
||||
@@ -576,12 +483,6 @@ describe('/search', () => {
|
||||
});
|
||||
|
||||
describe('GET /search/suggestions', () => {
|
||||
it('should require authentication', async () => {
|
||||
const { status, body } = await request(app).get('/search/suggestions');
|
||||
expect(status).toBe(401);
|
||||
expect(body).toEqual(errorDto.unauthorized);
|
||||
});
|
||||
|
||||
it('should get suggestions for country (including null)', async () => {
|
||||
const { status, body } = await request(app)
|
||||
.get('/search/suggestions?type=country&includeNull=true')
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
import { AssetMediaResponseDto, LoginResponseDto, SharedLinkType, TimeBucketSize } from '@immich/sdk';
|
||||
import { AssetMediaResponseDto, AssetVisibility, LoginResponseDto, SharedLinkType, TimeBucketSize } from '@immich/sdk';
|
||||
import { DateTime } from 'luxon';
|
||||
import { createUserDto } from 'src/fixtures';
|
||||
import { errorDto } from 'src/responses';
|
||||
@@ -104,7 +104,7 @@ describe('/timeline', () => {
|
||||
const req1 = await request(app)
|
||||
.get('/timeline/buckets')
|
||||
.set('Authorization', `Bearer ${timeBucketUser.accessToken}`)
|
||||
.query({ size: TimeBucketSize.Month, withPartners: true, isArchived: true });
|
||||
.query({ size: TimeBucketSize.Month, withPartners: true, visibility: AssetVisibility.Archive });
|
||||
|
||||
expect(req1.status).toBe(400);
|
||||
expect(req1.body).toEqual(errorDto.badRequest());
|
||||
@@ -112,7 +112,7 @@ describe('/timeline', () => {
|
||||
const req2 = await request(app)
|
||||
.get('/timeline/buckets')
|
||||
.set('Authorization', `Bearer ${user.accessToken}`)
|
||||
.query({ size: TimeBucketSize.Month, withPartners: true, isArchived: undefined });
|
||||
.query({ size: TimeBucketSize.Month, withPartners: true, visibility: undefined });
|
||||
|
||||
expect(req2.status).toBe(400);
|
||||
expect(req2.body).toEqual(errorDto.badRequest());
|
||||
|
||||
@@ -3,6 +3,7 @@ import {
|
||||
AssetMediaCreateDto,
|
||||
AssetMediaResponseDto,
|
||||
AssetResponseDto,
|
||||
AssetVisibility,
|
||||
CheckExistingAssetsDto,
|
||||
CreateAlbumDto,
|
||||
CreateLibraryDto,
|
||||
@@ -429,7 +430,10 @@ export const utils = {
|
||||
},
|
||||
|
||||
archiveAssets: (accessToken: string, ids: string[]) =>
|
||||
updateAssets({ assetBulkUpdateDto: { ids, isArchived: true } }, { headers: asBearerAuth(accessToken) }),
|
||||
updateAssets(
|
||||
{ assetBulkUpdateDto: { ids, visibility: AssetVisibility.Archive } },
|
||||
{ headers: asBearerAuth(accessToken) },
|
||||
),
|
||||
|
||||
deleteAssets: (accessToken: string, ids: string[]) =>
|
||||
deleteAssets({ assetBulkDeleteDto: { ids } }, { headers: asBearerAuth(accessToken) }),
|
||||
|
||||
@@ -47,15 +47,13 @@ test.describe('Shared Links', () => {
|
||||
await page.locator(`[data-asset-id="${asset.id}"]`).hover();
|
||||
await page.waitForSelector('[data-group] svg');
|
||||
await page.getByRole('checkbox').click();
|
||||
await page.getByRole('button', { name: 'Download' }).click();
|
||||
await page.waitForEvent('download');
|
||||
await Promise.all([page.waitForEvent('download'), page.getByRole('button', { name: 'Download' }).click()]);
|
||||
});
|
||||
|
||||
test('download all from shared link', async ({ page }) => {
|
||||
await page.goto(`/share/${sharedLink.key}`);
|
||||
await page.getByRole('heading', { name: 'Test Album' }).waitFor();
|
||||
await page.getByRole('button', { name: 'Download' }).click();
|
||||
await page.waitForEvent('download');
|
||||
await Promise.all([page.waitForEvent('download'), page.getByRole('button', { name: 'Download' }).click()]);
|
||||
});
|
||||
|
||||
test('enter password for a shared link', async ({ page }) => {
|
||||
|
||||
Submodule e2e/test-assets updated: 9e3b964b08...8885d6d01c
21
i18n/ar.json
21
i18n/ar.json
@@ -187,20 +187,13 @@
|
||||
"oauth_auto_register": "التسجيل التلقائي",
|
||||
"oauth_auto_register_description": "التسجيل التلقائي للمستخدمين الجدد بعد تسجيل الدخول باستخدام OAuth",
|
||||
"oauth_button_text": "نص الزر",
|
||||
"oauth_client_id": "معرف العميل",
|
||||
"oauth_client_secret": "الرمز السري للعميل",
|
||||
"oauth_enable_description": "تسجيل الدخول باستخدام OAuth",
|
||||
"oauth_issuer_url": "عنوان URL الخاص بجهة الإصدار",
|
||||
"oauth_mobile_redirect_uri": "عنوان URI لإعادة التوجيه على الهاتف",
|
||||
"oauth_mobile_redirect_uri_override": "تجاوز عنوان URI لإعادة التوجيه على الهاتف",
|
||||
"oauth_mobile_redirect_uri_override_description": "قم بتفعيله عندما لا يسمح موفر OAuth بمعرف URI للجوال، مثل '{callback}'",
|
||||
"oauth_profile_signing_algorithm": "خوارزمية توقيع الملف الشخصي",
|
||||
"oauth_profile_signing_algorithm_description": "الخوارزمية المستخدمة للتوقيع على ملف تعريف المستخدم.",
|
||||
"oauth_scope": "النطاق",
|
||||
"oauth_settings": "OAuth",
|
||||
"oauth_settings_description": "إدارة إعدادات تسجيل الدخول OAuth",
|
||||
"oauth_settings_more_details": "لمزيد من التفاصيل حول هذه الميزة، يرجى الرجوع إلى <link>الوثائق</link>.",
|
||||
"oauth_signing_algorithm": "خوارزمية التوقيع",
|
||||
"oauth_storage_label_claim": "المطالبة بتصنيف التخزين",
|
||||
"oauth_storage_label_claim_description": "قم تلقائيًا بتعيين تصنيف التخزين الخاص بالمستخدم على قيمة هذه المطالبة.",
|
||||
"oauth_storage_quota_claim": "المطالبة بحصة التخزين",
|
||||
@@ -605,6 +598,7 @@
|
||||
"change_password_form_new_password": "كلمة المرور الجديدة",
|
||||
"change_password_form_password_mismatch": "كلمة المرور غير مطابقة",
|
||||
"change_password_form_reenter_new_password": "أعد إدخال كلمة مرور جديدة",
|
||||
"change_pin_code": "تغيير الرقم السري",
|
||||
"change_your_password": "غير كلمة المرور الخاصة بك",
|
||||
"changed_visibility_successfully": "تم تغيير الرؤية بنجاح",
|
||||
"check_all": "تحقق من الكل",
|
||||
@@ -645,6 +639,7 @@
|
||||
"confirm_delete_face": "هل أنت متأكد من حذف وجه {name} من الأصول؟",
|
||||
"confirm_delete_shared_link": "هل أنت متأكد أنك تريد حذف هذا الرابط المشترك؟",
|
||||
"confirm_keep_this_delete_others": "سيتم حذف جميع الأصول الأخرى في المجموعة باستثناء هذا الأصل. هل أنت متأكد من أنك تريد المتابعة؟",
|
||||
"confirm_new_pin_code": "ثبت الرقم السري الجديد",
|
||||
"confirm_password": "تأكيد كلمة المرور",
|
||||
"contain": "محتواة",
|
||||
"context": "السياق",
|
||||
@@ -690,6 +685,7 @@
|
||||
"crop": "Crop",
|
||||
"curated_object_page_title": "أشياء",
|
||||
"current_device": "الجهاز الحالي",
|
||||
"current_pin_code": "الرقم السري الحالي",
|
||||
"current_server_address": "Current server address",
|
||||
"custom_locale": "لغة مخصصة",
|
||||
"custom_locale_description": "تنسيق التواريخ والأرقام بناءً على اللغة والمنطقة",
|
||||
@@ -1228,6 +1224,7 @@
|
||||
"new_api_key": "مفتاح API جديد",
|
||||
"new_password": "كلمة المرور الجديدة",
|
||||
"new_person": "شخص جديد",
|
||||
"new_pin_code": "الرقم السري الجديد",
|
||||
"new_user_created": "تم إنشاء مستخدم جديد",
|
||||
"new_version_available": "إصدار جديد متاح",
|
||||
"newest_first": "الأحدث أولاً",
|
||||
@@ -1345,6 +1342,9 @@
|
||||
"photos_count": "{count, plural, one {{count, number} صورة} other {{count, number} صور}}",
|
||||
"photos_from_previous_years": "صور من السنوات السابقة",
|
||||
"pick_a_location": "اختر موقعًا",
|
||||
"pin_code_changed_successfully": "تم تغير الرقم السري",
|
||||
"pin_code_reset_successfully": "تم اعادة تعيين الرقم السري",
|
||||
"pin_code_setup_successfully": "تم انشاء رقم سري",
|
||||
"place": "مكان",
|
||||
"places": "الأماكن",
|
||||
"places_count": "{count, plural, one {{count, number} مكان} other {{count, number} أماكن}}",
|
||||
@@ -1375,7 +1375,7 @@
|
||||
"public_share": "مشاركة عامة",
|
||||
"purchase_account_info": "داعم",
|
||||
"purchase_activated_subtitle": "شكرًا لك على دعمك لـ Immich والبرمجيات مفتوحة المصدر",
|
||||
"purchase_activated_time": "تم التفعيل في {date, date}",
|
||||
"purchase_activated_time": "تم التفعيل في {date}",
|
||||
"purchase_activated_title": "لقد تم تفعيل مفتاحك بنجاح",
|
||||
"purchase_button_activate": "تنشيط",
|
||||
"purchase_button_buy": "شراء",
|
||||
@@ -1601,6 +1601,7 @@
|
||||
"settings": "الإعدادات",
|
||||
"settings_require_restart": "يرجى إعادة تشغيل لتطبيق هذا الإعداد",
|
||||
"settings_saved": "تم حفظ الإعدادات",
|
||||
"setup_pin_code": "تحديد رقم سري",
|
||||
"share": "مشاركة",
|
||||
"share_add_photos": "إضافة الصور",
|
||||
"share_assets_selected": "{} selected",
|
||||
@@ -1785,6 +1786,8 @@
|
||||
"trash_page_title": "Trash ({})",
|
||||
"trashed_items_will_be_permanently_deleted_after": "سيتم حذفُ العناصر المحذوفة نِهائيًا بعد {days, plural, one {# يوم} other {# أيام }}.",
|
||||
"type": "النوع",
|
||||
"unable_to_change_pin_code": "تفيير الرقم السري غير ممكن",
|
||||
"unable_to_setup_pin_code": "انشاء الرقم السري غير ممكن",
|
||||
"unarchive": "أخرج من الأرشيف",
|
||||
"unarchived_count": "{count, plural, other {غير مؤرشفة #}}",
|
||||
"unfavorite": "أزل التفضيل",
|
||||
@@ -1829,6 +1832,8 @@
|
||||
"user": "مستخدم",
|
||||
"user_id": "معرف المستخدم",
|
||||
"user_liked": "قام {user} بالإعجاب {type, select, photo {بهذه الصورة} video {بهذا الفيديو} asset {بهذا المحتوى} other {بها}}",
|
||||
"user_pin_code_settings": "الرقم السري",
|
||||
"user_pin_code_settings_description": "تغير الرقم السري",
|
||||
"user_purchase_settings": "الشراء",
|
||||
"user_purchase_settings_description": "إدارة عملية الشراء الخاصة بك",
|
||||
"user_role_set": "قم بتعيين {user} كـ {role}",
|
||||
|
||||
13
i18n/be.json
13
i18n/be.json
@@ -14,6 +14,7 @@
|
||||
"add_a_location": "Дадаць месца",
|
||||
"add_a_name": "Дадаць імя",
|
||||
"add_a_title": "Дадаць загаловак",
|
||||
"add_endpoint": "Дадаць кропку доступу",
|
||||
"add_exclusion_pattern": "Дадаць шаблон выключэння",
|
||||
"add_import_path": "Дадаць шлях імпарту",
|
||||
"add_location": "Дадайце месца",
|
||||
@@ -42,7 +43,7 @@
|
||||
"backup_database_enable_description": "Уключыць рэзерваванне базы даных",
|
||||
"backup_keep_last_amount": "Колькасць папярэдніх рэзервовых копій для захавання",
|
||||
"backup_settings": "Налады рэзервовага капіявання",
|
||||
"backup_settings_description": "Кіраванне наладкамі рэзервовага капіявання базы даных",
|
||||
"backup_settings_description": "Кіраванне наладамі дампа базы дадзеных. Заўвага: гэтыя задачы не кантралююцца, і ў выпадку няўдачы паведамленне адпраўлена не будзе.",
|
||||
"check_all": "Праверыць усе",
|
||||
"cleanup": "Ачыстка",
|
||||
"cleared_jobs": "Ачышчаны заданні для: {job}",
|
||||
@@ -62,8 +63,18 @@
|
||||
"external_library_created_at": "Знешняя бібліятэка (створана {date})",
|
||||
"external_library_management": "Кіраванне знешняй бібліятэкай",
|
||||
"face_detection": "Выяўленне твараў",
|
||||
"face_detection_description": "Выяўляць твары на фотаздымках і відэа з дапамогай машыннага навучання. Для відэа ўлічваецца толькі мініяцюра. \"Абнавіць\" (пера)апрацоўвае ўсе медыя. \"Скінуць\" дадаткова ачышчае ўсе бягучыя дадзеныя пра твары. \"Адсутнічае\" ставіць у чаргу медыя, якія яшчэ не былі апрацаваныя. Выяўленыя твары будуць пастаўлены ў чаргу для распазнавання асоб пасля завяршэння выяўлення твараў, з групаваннем іх па існуючых або новых людзях.",
|
||||
"facial_recognition_job_description": "Групаваць выяўленыя твары па асобах. Гэты этап выконваецца пасля завяршэння выяўлення твараў. \"Скінуць\" (паўторна) перагрупоўвае ўсе твары. \"Адсутнічае\" ставіць у чаргу твары, якія яшчэ не прыпісаныя да якой-небудзь асобы.",
|
||||
"failed_job_command": "Каманда {command} не выканалася для задання: {job}",
|
||||
"force_delete_user_warning": "ПАПЯРЭДЖАННЕ: Гэта дзеянне неадкладна выдаліць карыстальніка і ўсе аб'екты. Гэта дзеянне не можа быць адроблена і файлы немагчыма будзе аднавіць.",
|
||||
"forcing_refresh_library_files": "Прымусовае абнаўленне ўсіх файлаў бібліятэкі",
|
||||
"image_format": "Фармат",
|
||||
"image_format_description": "WebP стварае меншыя файлы, чым JPEG, але павольней кадуе.",
|
||||
"image_fullsize_description": "Выява ў поўным памеры без метаданых, выкарыстоўваецца пры павелічэнні",
|
||||
"image_fullsize_enabled": "Уключыць стварэнне выявы ў поўным памеры",
|
||||
"image_fullsize_enabled_description": "Ствараць выяву ў поўным памеры для фарматаў, што не прыдатныя для вэб. Калі ўключана опцыя \"Аддаваць перавагу ўбудаванай праяве\", прагляды выкарыстоўваюцца непасрэдна без канвертацыі. Не ўплывае на вэб-прыдатныя фарматы, такія як JPEG.",
|
||||
"image_fullsize_quality_description": "Якасць выявы ў поўным памеры ад 1 да 100. Больш высокае значэнне лепшае, але прыводзіць да павелічэння памеру файла.",
|
||||
"image_fullsize_title": "Налады выявы ў поўным памеры",
|
||||
"image_preview_title": "Налады папярэдняга прагляду",
|
||||
"image_quality": "Якасць",
|
||||
"image_resolution": "Раздзяляльнасць",
|
||||
|
||||
@@ -183,20 +183,13 @@
|
||||
"oauth_auto_register": "Автоматична регистрация",
|
||||
"oauth_auto_register_description": "Автоматично регистриране на нови потребители след влизане с OAuth",
|
||||
"oauth_button_text": "Текст на бутона",
|
||||
"oauth_client_id": "Клиентски ID",
|
||||
"oauth_client_secret": "Клиентска тайна",
|
||||
"oauth_enable_description": "Влизане с OAuth",
|
||||
"oauth_issuer_url": "URL на издателя",
|
||||
"oauth_mobile_redirect_uri": "URI за мобилно пренасочване",
|
||||
"oauth_mobile_redirect_uri_override": "URI пренасочване за мобилни устройства",
|
||||
"oauth_mobile_redirect_uri_override_description": "Разреши когато доставчика за OAuth удостоверяване не позволява за мобилни URI идентификатори, като '{callback}'",
|
||||
"oauth_profile_signing_algorithm": "Алгоритъм за създаване на профили",
|
||||
"oauth_profile_signing_algorithm_description": "Алгоритъм използван за вписване на потребителски профил.",
|
||||
"oauth_scope": "Област/обхват на приложение",
|
||||
"oauth_settings": "OAuth",
|
||||
"oauth_settings_description": "Управление на настройките за вход с OAuth",
|
||||
"oauth_settings_more_details": "За повече информация за функционалността, се потърсете в <link>docs</link>.",
|
||||
"oauth_signing_algorithm": "Алгоритъм за вписване",
|
||||
"oauth_storage_label_claim": "Заявка за етикет за съхранение",
|
||||
"oauth_storage_label_claim_description": "Автоматично задайте етикета за съхранение на потребителя със стойността от тази заявка.",
|
||||
"oauth_storage_quota_claim": "Заявка за квота за съхранение",
|
||||
@@ -1013,7 +1006,7 @@
|
||||
"public_share": "Публично споделяне",
|
||||
"purchase_account_info": "Поддръжник",
|
||||
"purchase_activated_subtitle": "Благодарим ви, че подкрепяте Immich и софтуера с отворен код",
|
||||
"purchase_activated_time": "Активиран на {date, date}",
|
||||
"purchase_activated_time": "Активиран на {date}",
|
||||
"purchase_activated_title": "Вашият ключ беше успешно активиран",
|
||||
"purchase_button_activate": "Активирай",
|
||||
"purchase_button_buy": "Купи",
|
||||
|
||||
@@ -138,17 +138,12 @@
|
||||
"oauth_auto_register": "",
|
||||
"oauth_auto_register_description": "",
|
||||
"oauth_button_text": "",
|
||||
"oauth_client_id": "",
|
||||
"oauth_client_secret": "",
|
||||
"oauth_enable_description": "",
|
||||
"oauth_issuer_url": "",
|
||||
"oauth_mobile_redirect_uri": "",
|
||||
"oauth_mobile_redirect_uri_override": "",
|
||||
"oauth_mobile_redirect_uri_override_description": "",
|
||||
"oauth_scope": "",
|
||||
"oauth_settings": "",
|
||||
"oauth_settings_description": "",
|
||||
"oauth_signing_algorithm": "",
|
||||
"oauth_storage_label_claim": "",
|
||||
"oauth_storage_label_claim_description": "",
|
||||
"oauth_storage_quota_claim": "",
|
||||
|
||||
18
i18n/bn.json
18
i18n/bn.json
@@ -1 +1,17 @@
|
||||
{}
|
||||
{
|
||||
"about": "সম্পর্কে",
|
||||
"account": "অ্যাকাউন্ট",
|
||||
"account_settings": "অ্যাকাউন্ট সেটিংস",
|
||||
"acknowledge": "স্বীকৃতি",
|
||||
"action": "কার্য",
|
||||
"action_common_update": "আপডেট",
|
||||
"actions": "কর্ম",
|
||||
"active": "সচল",
|
||||
"activity": "কার্যকলাপ",
|
||||
"add": "যোগ করুন",
|
||||
"add_a_description": "একটি বিবরণ যোগ করুন",
|
||||
"add_a_location": "একটি অবস্থান যোগ করুন",
|
||||
"add_a_name": "একটি নাম যোগ করুন",
|
||||
"add_a_title": "একটি শিরোনাম যোগ করুন",
|
||||
"add_endpoint": "এন্ডপয়েন্ট যোগ করুন"
|
||||
}
|
||||
|
||||
217
i18n/ca.json
217
i18n/ca.json
@@ -39,11 +39,11 @@
|
||||
"authentication_settings_disable_all": "Estàs segur que vols desactivar tots els mètodes d'inici de sessió? L'inici de sessió quedarà completament desactivat.",
|
||||
"authentication_settings_reenable": "Per a tornar a habilitar, empra una <link>Comanda de Servidor</link>.",
|
||||
"background_task_job": "Tasques en segon pla",
|
||||
"backup_database": "Còpia de la base de dades",
|
||||
"backup_database_enable_description": "Habilitar còpies de la base de dades",
|
||||
"backup_keep_last_amount": "Quantitat de còpies de seguretat anteriors per conservar",
|
||||
"backup_settings": "Ajustes de les còpies de seguretat",
|
||||
"backup_settings_description": "Gestionar la configuració de la còpia de seguretat de la base de dades",
|
||||
"backup_database": "Fer un bolcat de la base de dades",
|
||||
"backup_database_enable_description": "Habilitar bolcat de la base de dades",
|
||||
"backup_keep_last_amount": "Quantitat de bolcats anteriors per conservar",
|
||||
"backup_settings": "Configuració dels bolcats",
|
||||
"backup_settings_description": "Gestionar la configuració bolcats de la base de dades. Nota: els treballs no es monitoritzen ni es notifiquen les fallades.",
|
||||
"check_all": "Marca-ho tot",
|
||||
"cleanup": "Neteja",
|
||||
"cleared_jobs": "Tasques esborrades per a: {job}",
|
||||
@@ -53,6 +53,7 @@
|
||||
"confirm_email_below": "Per a confirmar, escriviu \"{email}\" a sota",
|
||||
"confirm_reprocess_all_faces": "Esteu segur que voleu reprocessar totes les cares? Això també esborrarà la gent que heu anomenat.",
|
||||
"confirm_user_password_reset": "Esteu segur que voleu reinicialitzar la contrasenya de l'usuari {user}?",
|
||||
"confirm_user_pin_code_reset": "Esteu segur que voleu restablir el codi PIN de {user}?",
|
||||
"create_job": "Crear tasca",
|
||||
"cron_expression": "Expressió Cron",
|
||||
"cron_expression_description": "Estableix l'interval d'escaneig amb el format cron. Per obtenir més informació, consulteu, p.e <link>Crontab Guru</link>",
|
||||
@@ -192,26 +193,22 @@
|
||||
"oauth_auto_register": "Registre automàtic",
|
||||
"oauth_auto_register_description": "Registra nous usuaris automàticament després d'iniciar sessió amb OAuth",
|
||||
"oauth_button_text": "Text del botó",
|
||||
"oauth_client_id": "ID Client",
|
||||
"oauth_client_secret": "Secret de Client",
|
||||
"oauth_client_secret_description": "Requerit si PKCE (Proof Key for Code Exchange) no està suportat pel proveïdor OAuth",
|
||||
"oauth_enable_description": "Iniciar sessió amb OAuth",
|
||||
"oauth_issuer_url": "URL de l'emissor",
|
||||
"oauth_mobile_redirect_uri": "URI de redirecció mòbil",
|
||||
"oauth_mobile_redirect_uri_override": "Sobreescriu l'URI de redirecció mòbil",
|
||||
"oauth_mobile_redirect_uri_override_description": "Habilita quan el proveïdor d'OAuth no permet una URI mòbil, com ara '{callback}'",
|
||||
"oauth_profile_signing_algorithm": "Algoritme de signatura del perfil",
|
||||
"oauth_profile_signing_algorithm_description": "Algoritme utilitzat per signar el perfil d’usuari.",
|
||||
"oauth_scope": "Abast",
|
||||
"oauth_settings": "OAuth",
|
||||
"oauth_settings_description": "Gestiona la configuració de l'inici de sessió OAuth",
|
||||
"oauth_settings_more_details": "Per a més detalls sobre aquesta funcionalitat, consulteu la <link>documentació</link>.",
|
||||
"oauth_signing_algorithm": "Algorisme de signatura",
|
||||
"oauth_storage_label_claim": "Petició d'etiquetatge d'emmagatzematge",
|
||||
"oauth_storage_label_claim_description": "Estableix automàticament l'etiquetatge d'emmagatzematge de l'usuari a aquest valor.",
|
||||
"oauth_storage_quota_claim": "Quota d'emmagatzematge reclamada",
|
||||
"oauth_storage_quota_claim_description": "Estableix automàticament la quota d'emmagatzematge de l'usuari al valor d'aquest paràmetre.",
|
||||
"oauth_storage_quota_default": "Quota d'emmagatzematge predeterminada (GiB)",
|
||||
"oauth_storage_quota_default_description": "Quota disponible en GB quan no s'estableixi cap valor (Entreu 0 per a quota il·limitada).",
|
||||
"oauth_timeout": "Solicitud caducada",
|
||||
"oauth_timeout_description": "Timeout per a sol·licituds en mil·lisegons",
|
||||
"offline_paths": "Rutes sense connexió",
|
||||
"offline_paths_description": "Aquests resultats poden ser deguts a l'eliminació manual de fitxers que no formen part d'una llibreria externa.",
|
||||
"password_enable_description": "Inicia sessió amb correu electrònic i contrasenya",
|
||||
@@ -352,6 +349,7 @@
|
||||
"user_delete_delay_settings_description": "Nombre de dies després de la supressió per eliminar permanentment el compte i els elements d'un usuari. El treball de supressió d'usuaris s'executa a mitjanit per comprovar si hi ha usuaris preparats per eliminar. Els canvis en aquesta configuració s'avaluaran en la propera execució.",
|
||||
"user_delete_immediately": "El compte i els recursos de <b>{user}</b> es posaran a la cua per suprimir-los permanentment <b>immediatament</b>.",
|
||||
"user_delete_immediately_checkbox": "Posa en cua l'usuari i els recursos per suprimir-los immediatament",
|
||||
"user_details": "Detalls d'usuari",
|
||||
"user_management": "Gestió d'usuaris",
|
||||
"user_password_has_been_reset": "La contrasenya de l'usuari ha estat restablida:",
|
||||
"user_password_reset_description": "Si us plau, proporcioneu la contrasenya temporal a l'usuari i informeu-los que haurà de canviar la contrasenya en el proper inici de sessió.",
|
||||
@@ -371,13 +369,17 @@
|
||||
"admin_password": "Contrasenya de l'administrador",
|
||||
"administration": "Administrador",
|
||||
"advanced": "Avançat",
|
||||
"advanced_settings_log_level_title": "Nivell de registre: {}",
|
||||
"advanced_settings_enable_alternate_media_filter_subtitle": "Feu servir aquesta opció per filtrar els continguts multimèdia durant la sincronització segons criteris alternatius. Només proveu-ho si teniu problemes amb l'aplicació per detectar tots els àlbums.",
|
||||
"advanced_settings_enable_alternate_media_filter_title": "Utilitza el filtre de sincronització d'àlbums de dispositius alternatius",
|
||||
"advanced_settings_log_level_title": "Nivell de registre: {level}",
|
||||
"advanced_settings_prefer_remote_subtitle": "Alguns dispositius són molt lents en carregar miniatures dels elements del dispositiu. Activeu aquest paràmetre per carregar imatges remotes en el seu lloc.",
|
||||
"advanced_settings_prefer_remote_title": "Prefereix imatges remotes",
|
||||
"advanced_settings_proxy_headers_subtitle": "Definiu les capçaleres de proxy que Immich per enviar amb cada sol·licitud de xarxa",
|
||||
"advanced_settings_proxy_headers_title": "Capçaleres de proxy",
|
||||
"advanced_settings_self_signed_ssl_subtitle": "Omet la verificació del certificat SSL del servidor. Requerit per a certificats autosignats.",
|
||||
"advanced_settings_self_signed_ssl_title": "Permet certificats SSL autosignats",
|
||||
"advanced_settings_sync_remote_deletions_subtitle": "Suprimeix o restaura automàticament un actiu en aquest dispositiu quan es realitzi aquesta acció al web",
|
||||
"advanced_settings_sync_remote_deletions_title": "Sincronitza les eliminacions remotes",
|
||||
"advanced_settings_tile_subtitle": "Configuració avançada de l'usuari",
|
||||
"advanced_settings_troubleshooting_subtitle": "Habilita funcions addicionals per a la resolució de problemes",
|
||||
"advanced_settings_troubleshooting_title": "Resolució de problemes",
|
||||
@@ -400,9 +402,9 @@
|
||||
"album_remove_user_confirmation": "Esteu segurs que voleu eliminar {user}?",
|
||||
"album_share_no_users": "Sembla que has compartit aquest àlbum amb tots els usuaris o no tens cap usuari amb qui compartir-ho.",
|
||||
"album_thumbnail_card_item": "1 element",
|
||||
"album_thumbnail_card_items": "{} elements",
|
||||
"album_thumbnail_card_items": "{count} elements",
|
||||
"album_thumbnail_card_shared": " · Compartit",
|
||||
"album_thumbnail_shared_by": "Compartit per {}",
|
||||
"album_thumbnail_shared_by": "Compartit per {user}",
|
||||
"album_updated": "Àlbum actualitzat",
|
||||
"album_updated_setting_description": "Rep una notificació per correu electrònic quan un àlbum compartit tingui recursos nous",
|
||||
"album_user_left": "Surt de {album}",
|
||||
@@ -440,7 +442,7 @@
|
||||
"archive": "Arxiu",
|
||||
"archive_or_unarchive_photo": "Arxivar o desarxivar fotografia",
|
||||
"archive_page_no_archived_assets": "No s'ha trobat res arxivat",
|
||||
"archive_page_title": "Arxiu({})",
|
||||
"archive_page_title": "Arxiu({count})",
|
||||
"archive_size": "Mida de l'arxiu",
|
||||
"archive_size_description": "Configureu la mida de l'arxiu de les descàrregues (en GiB)",
|
||||
"archived": "Arxivat",
|
||||
@@ -477,18 +479,18 @@
|
||||
"assets_added_to_album_count": "{count, plural, one {Afegit un element} other {Afegits # elements}} a l'àlbum",
|
||||
"assets_added_to_name_count": "{count, plural, one {S'ha afegit # recurs} other {S'han afegit # recursos}} a {hasName, select, true {<b>{name}</b>} other {new album}}",
|
||||
"assets_count": "{count, plural, one {# recurs} other {# recursos}}",
|
||||
"assets_deleted_permanently": "{} element(s) esborrats permanentment",
|
||||
"assets_deleted_permanently_from_server": "{} element(s) esborrats permanentment del servidor d'Immich",
|
||||
"assets_deleted_permanently": "{count} element(s) esborrats permanentment",
|
||||
"assets_deleted_permanently_from_server": "{count} element(s) esborrats permanentment del servidor d'Immich",
|
||||
"assets_moved_to_trash_count": "{count, plural, one {# recurs mogut} other {# recursos moguts}} a la paperera",
|
||||
"assets_permanently_deleted_count": "{count, plural, one {# recurs esborrat} other {# recursos esborrats}} permanentment",
|
||||
"assets_removed_count": "{count, plural, one {# element eliminat} other {# elements eliminats}}",
|
||||
"assets_removed_permanently_from_device": "{} element(s) esborrat permanentment del dispositiu",
|
||||
"assets_removed_permanently_from_device": "{count} element(s) esborrat permanentment del dispositiu",
|
||||
"assets_restore_confirmation": "Esteu segurs que voleu restaurar tots els teus actius? Aquesta acció no es pot desfer! Tingueu en compte que els recursos fora de línia no es poden restaurar d'aquesta manera.",
|
||||
"assets_restored_count": "{count, plural, one {# element restaurat} other {# elements restaurats}}",
|
||||
"assets_restored_successfully": "{} element(s) recuperats correctament",
|
||||
"assets_trashed": "{} element(s) enviat a la paperera",
|
||||
"assets_restored_successfully": "{count} element(s) recuperats correctament",
|
||||
"assets_trashed": "{count} element(s) enviat a la paperera",
|
||||
"assets_trashed_count": "{count, plural, one {# element enviat} other {# elements enviats}} a la paperera",
|
||||
"assets_trashed_from_server": "{} element(s) enviat a la paperera del servidor d'Immich",
|
||||
"assets_trashed_from_server": "{count} element(s) enviat a la paperera del servidor d'Immich",
|
||||
"assets_were_part_of_album_count": "{count, plural, one {L'element ja és} other {Els elements ja són}} part de l'àlbum",
|
||||
"authorized_devices": "Dispositius autoritzats",
|
||||
"automatic_endpoint_switching_subtitle": "Connecteu-vos localment a través de la Wi-Fi designada quan estigui disponible i utilitzeu connexions alternatives en altres llocs",
|
||||
@@ -497,7 +499,7 @@
|
||||
"back_close_deselect": "Tornar, tancar o anul·lar la selecció",
|
||||
"background_location_permission": "Permís d'ubicació en segon pla",
|
||||
"background_location_permission_content": "Per canviar de xarxa quan s'executa en segon pla, Immich ha de *sempre* tenir accés a la ubicació precisa perquè l'aplicació pugui llegir el nom de la xarxa Wi-Fi",
|
||||
"backup_album_selection_page_albums_device": "Àlbums al dispositiu ({})",
|
||||
"backup_album_selection_page_albums_device": "Àlbums al dispositiu ({count})",
|
||||
"backup_album_selection_page_albums_tap": "Un toc per incloure, doble toc per excloure",
|
||||
"backup_album_selection_page_assets_scatter": "Els elements poden dispersar-se en diversos àlbums. Per tant, els àlbums es poden incloure o excloure durant el procés de còpia de seguretat.",
|
||||
"backup_album_selection_page_select_albums": "Selecciona àlbums",
|
||||
@@ -506,37 +508,37 @@
|
||||
"backup_all": "Tots",
|
||||
"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_current_upload_notification": "Pujant {}",
|
||||
"backup_background_service_default_notification": "Cercant nous elements...",
|
||||
"backup_background_service_current_upload_notification": "Pujant {filename}",
|
||||
"backup_background_service_default_notification": "Cercant nous elements…",
|
||||
"backup_background_service_error_title": "Error copiant",
|
||||
"backup_background_service_in_progress_notification": "Copiant els teus elements",
|
||||
"backup_background_service_upload_failure_notification": "Error al pujar {}",
|
||||
"backup_background_service_in_progress_notification": "Copiant els teus elements…",
|
||||
"backup_background_service_upload_failure_notification": "Error en pujar {filename}",
|
||||
"backup_controller_page_albums": "Copia els àlbums",
|
||||
"backup_controller_page_background_app_refresh_disabled_content": "Activa l'actualització en segon pla de l'aplicació a Configuració > General > Actualització en segon pla per utilitzar la copia de seguretat en segon pla.",
|
||||
"backup_controller_page_background_app_refresh_disabled_title": "Actualització en segon pla desactivada",
|
||||
"backup_controller_page_background_app_refresh_enable_button_text": "Vés a configuració",
|
||||
"backup_controller_page_background_battery_info_link": "Mostra'm com",
|
||||
"backup_controller_page_background_battery_info_message": "Per obtenir la millor experiència de copia de seguretat en segon pla, desactiveu qualsevol optimització de bateria que restringeixi l'activitat en segon pla per a Immich.\n\nAtès que això és específic del dispositiu, busqueu la informació necessària per al fabricant del vostre dispositiu",
|
||||
"backup_controller_page_background_battery_info_message": "Per obtenir la millor experiència de còpia de seguretat en segon pla, desactiveu qualsevol optimització de bateria que restringeixi l'activitat en segon pla per a Immich.\n\nAtès que això és específic del dispositiu, busqueu la informació necessària per al fabricant del vostre dispositiu.",
|
||||
"backup_controller_page_background_battery_info_ok": "D'acord",
|
||||
"backup_controller_page_background_battery_info_title": "Optimitzacions de bateria",
|
||||
"backup_controller_page_background_charging": "Només mentre es carrega",
|
||||
"backup_controller_page_background_configure_error": "No s'ha pogut configurar el servei en segon pla",
|
||||
"backup_controller_page_background_delay": "Retard en la copia de seguretat de nous elements: {}",
|
||||
"backup_controller_page_background_description": "Activeu el servei en segon pla per copiar automàticament tots els nous elements sense haver d'obrir l'aplicació.",
|
||||
"backup_controller_page_background_delay": "Retard en la còpia de seguretat de nous elements: {duration}",
|
||||
"backup_controller_page_background_description": "Activeu el servei en segon pla per copiar automàticament tots els nous elements sense haver d'obrir l'aplicació",
|
||||
"backup_controller_page_background_is_off": "La còpia automàtica en segon pla està desactivada",
|
||||
"backup_controller_page_background_is_on": "La còpia automàtica en segon pla està activada",
|
||||
"backup_controller_page_background_turn_off": "Desactiva el servei en segon pla",
|
||||
"backup_controller_page_background_turn_on": "Activa el servei en segon pla",
|
||||
"backup_controller_page_background_wifi": "Només amb WiFi",
|
||||
"backup_controller_page_background_wifi": "Només amb Wi-Fi",
|
||||
"backup_controller_page_backup": "Còpia",
|
||||
"backup_controller_page_backup_selected": "Seleccionat: ",
|
||||
"backup_controller_page_backup_sub": "Fotografies i vídeos copiats",
|
||||
"backup_controller_page_created": "Creat el: {}",
|
||||
"backup_controller_page_created": "Creat el: {date}",
|
||||
"backup_controller_page_desc_backup": "Activeu la còpia de seguretat per pujar automàticament els nous elements al servidor en obrir l'aplicació.",
|
||||
"backup_controller_page_excluded": "Exclosos: ",
|
||||
"backup_controller_page_failed": "Fallats ({})",
|
||||
"backup_controller_page_filename": "Nom de l'arxiu: {} [{}]",
|
||||
"backup_controller_page_id": "ID: {}",
|
||||
"backup_controller_page_failed": "Fallats ({count})",
|
||||
"backup_controller_page_filename": "Nom de l'arxiu: {filename} [{size}]",
|
||||
"backup_controller_page_id": "ID: {id}",
|
||||
"backup_controller_page_info": "Informació de la còpia",
|
||||
"backup_controller_page_none_selected": "Cap seleccionat",
|
||||
"backup_controller_page_remainder": "Restant",
|
||||
@@ -545,7 +547,7 @@
|
||||
"backup_controller_page_start_backup": "Inicia la còpia",
|
||||
"backup_controller_page_status_off": "La copia de seguretat està desactivada",
|
||||
"backup_controller_page_status_on": "La copia de seguretat està activada",
|
||||
"backup_controller_page_storage_format": "{} de {} utilitzats",
|
||||
"backup_controller_page_storage_format": "{used} de {total} utilitzats",
|
||||
"backup_controller_page_to_backup": "Àlbums a copiar",
|
||||
"backup_controller_page_total_sub": "Totes les fotografies i vídeos dels àlbums seleccionats",
|
||||
"backup_controller_page_turn_off": "Desactiva la còpia de seguretat",
|
||||
@@ -570,21 +572,21 @@
|
||||
"bulk_keep_duplicates_confirmation": "Esteu segur que voleu mantenir {count, plural, one {# recurs duplicat} other {# recursos duplicats}}? Això resoldrà tots els grups duplicats sense eliminar res.",
|
||||
"bulk_trash_duplicates_confirmation": "Esteu segur que voleu enviar a les escombraries {count, plural, one {# recurs duplicat} other {# recursos duplicats}}? Això mantindrà el recurs més gran de cada grup i eliminarà la resta de duplicats.",
|
||||
"buy": "Comprar Immich",
|
||||
"cache_settings_album_thumbnails": "Miniatures de la pàgina de la biblioteca ({} elements)",
|
||||
"cache_settings_album_thumbnails": "Miniatures de la pàgina de la biblioteca ({count} elements)",
|
||||
"cache_settings_clear_cache_button": "Neteja la memòria cau",
|
||||
"cache_settings_clear_cache_button_title": "Neteja la memòria cau de l'aplicació. Això impactarà significativament el rendiment fins que la memòria cau es torni a reconstruir.",
|
||||
"cache_settings_duplicated_assets_clear_button": "NETEJA",
|
||||
"cache_settings_duplicated_assets_subtitle": "Fotos i vídeos que estan a la llista negra de l'aplicació.",
|
||||
"cache_settings_duplicated_assets_title": "Elements duplicats ({})",
|
||||
"cache_settings_image_cache_size": "Mida de la memòria cau de imatges ({} elements)",
|
||||
"cache_settings_duplicated_assets_subtitle": "Fotos i vídeos que estan a la llista negra de l'aplicació",
|
||||
"cache_settings_duplicated_assets_title": "Elements duplicats ({count})",
|
||||
"cache_settings_image_cache_size": "Mida de la memòria cau d'imatges ({count} elements)",
|
||||
"cache_settings_statistics_album": "Miniatures de la biblioteca",
|
||||
"cache_settings_statistics_assets": "{} elements ({})",
|
||||
"cache_settings_statistics_assets": "{count} elements ({size})",
|
||||
"cache_settings_statistics_full": "Imatges completes",
|
||||
"cache_settings_statistics_shared": "Miniatures d'àlbums compartits",
|
||||
"cache_settings_statistics_thumbnail": "Miniatures",
|
||||
"cache_settings_statistics_title": "Ús de memòria cau",
|
||||
"cache_settings_subtitle": "Controla el comportament de la memòria cau de l'aplicació mòbil Immich",
|
||||
"cache_settings_thumbnail_size": "Mida de la memòria cau de les miniatures ({} elements)",
|
||||
"cache_settings_thumbnail_size": "Mida de la memòria cau de les miniatures ({count} elements)",
|
||||
"cache_settings_tile_subtitle": "Controla el comportament de l'emmagatzematge local",
|
||||
"cache_settings_tile_title": "Emmagatzematge local",
|
||||
"cache_settings_title": "Configuració de la memòria cau",
|
||||
@@ -610,6 +612,7 @@
|
||||
"change_password_form_new_password": "Nova contrasenya",
|
||||
"change_password_form_password_mismatch": "Les contrasenyes no coincideixen",
|
||||
"change_password_form_reenter_new_password": "Torna a introduir la nova contrasenya",
|
||||
"change_pin_code": "Canviar el codi PIN",
|
||||
"change_your_password": "Canvia la teva contrasenya",
|
||||
"changed_visibility_successfully": "Visibilitat canviada amb èxit",
|
||||
"check_all": "Marqueu-ho tot",
|
||||
@@ -650,11 +653,12 @@
|
||||
"confirm_delete_face": "Estàs segur que vols eliminar la cara de {name} de les cares reconegudes?",
|
||||
"confirm_delete_shared_link": "Esteu segurs que voleu eliminar aquest enllaç compartit?",
|
||||
"confirm_keep_this_delete_others": "Excepte aquest element, tots els altres de la pila se suprimiran. Esteu segur que voleu continuar?",
|
||||
"confirm_new_pin_code": "Confirma el nou codi PIN",
|
||||
"confirm_password": "Confirmació de contrasenya",
|
||||
"contain": "Contingut",
|
||||
"context": "Context",
|
||||
"continue": "Continuar",
|
||||
"control_bottom_app_bar_album_info_shared": "{} elements - Compartits",
|
||||
"control_bottom_app_bar_album_info_shared": "{count} elements - Compartits",
|
||||
"control_bottom_app_bar_create_new_album": "Crea un àlbum nou",
|
||||
"control_bottom_app_bar_delete_from_immich": "Suprimeix del Immich",
|
||||
"control_bottom_app_bar_delete_from_local": "Suprimeix del dispositiu",
|
||||
@@ -692,9 +696,11 @@
|
||||
"create_tag_description": "Crear una nova etiqueta. Per les etiquetes aniuades, escriu la ruta comperta de l'etiqueta, incloses les barres diagonals.",
|
||||
"create_user": "Crea un usuari",
|
||||
"created": "Creat",
|
||||
"created_at": "Creat",
|
||||
"crop": "Retalla",
|
||||
"curated_object_page_title": "Coses",
|
||||
"current_device": "Dispositiu actual",
|
||||
"current_pin_code": "Codi PIN actual",
|
||||
"current_server_address": "Adreça actual del servidor",
|
||||
"custom_locale": "Localització personalitzada",
|
||||
"custom_locale_description": "Format de dates i números segons la llengua i regió",
|
||||
@@ -718,7 +724,7 @@
|
||||
"delete": "Esborra",
|
||||
"delete_album": "Esborra l'àlbum",
|
||||
"delete_api_key_prompt": "Esteu segurs que voleu eliminar aquesta clau API?",
|
||||
"delete_dialog_alert": "Aquests elements seran eliminats de manera permanent d'Immich i del vostre dispositiu.",
|
||||
"delete_dialog_alert": "Aquests elements seran eliminats de manera permanent d'Immich i del vostre dispositiu",
|
||||
"delete_dialog_alert_local": "Aquests elements s'eliminaran permanentment del vostre dispositiu, però encara estaran disponibles al servidor Immich",
|
||||
"delete_dialog_alert_local_non_backed_up": "Alguns dels elements no tenen còpia de seguretat a Immich i s'eliminaran permanentment del dispositiu",
|
||||
"delete_dialog_alert_remote": "Aquests elements s'eliminaran permanentment del servidor Immich",
|
||||
@@ -763,7 +769,7 @@
|
||||
"download_enqueue": "Descàrrega en cua",
|
||||
"download_error": "Error de descàrrega",
|
||||
"download_failed": "Descàrrega ha fallat",
|
||||
"download_filename": "arxiu: {}",
|
||||
"download_filename": "arxiu: {filename}",
|
||||
"download_finished": "Descàrrega acabada",
|
||||
"download_include_embedded_motion_videos": "Vídeos incrustats",
|
||||
"download_include_embedded_motion_videos_description": "Incloure vídeos incrustats en fotografies en moviment com un arxiu separat",
|
||||
@@ -807,6 +813,7 @@
|
||||
"editor_crop_tool_h2_aspect_ratios": "Relació d'aspecte",
|
||||
"editor_crop_tool_h2_rotation": "Rotació",
|
||||
"email": "Correu electrònic",
|
||||
"email_notifications": "Correu electrònic de notificacions",
|
||||
"empty_folder": "Aquesta carpeta és buida",
|
||||
"empty_trash": "Buidar la paperera",
|
||||
"empty_trash_confirmation": "Esteu segur que voleu buidar la paperera? Això eliminarà tots els recursos a la paperera permanentment d'Immich.\nNo podeu desfer aquesta acció!",
|
||||
@@ -814,12 +821,12 @@
|
||||
"enabled": "Activat",
|
||||
"end_date": "Data final",
|
||||
"enqueued": "En cua",
|
||||
"enter_wifi_name": "Introdueix el nom de WiFi",
|
||||
"enter_wifi_name": "Introdueix el nom de Wi-Fi",
|
||||
"error": "Error",
|
||||
"error_change_sort_album": "No s'ha pogut canviar l'ordre d'ordenació dels àlbums",
|
||||
"error_delete_face": "Error esborrant cara de les cares reconegudes",
|
||||
"error_loading_image": "Error carregant la imatge",
|
||||
"error_saving_image": "Error: {}",
|
||||
"error_saving_image": "Error: {error}",
|
||||
"error_title": "Error - Quelcom ha anat malament",
|
||||
"errors": {
|
||||
"cannot_navigate_next_asset": "No es pot navegar a l'element següent",
|
||||
@@ -849,10 +856,12 @@
|
||||
"failed_to_keep_this_delete_others": "No s'ha pogut conservar aquest element i suprimir els altres",
|
||||
"failed_to_load_asset": "No s'ha pogut carregar l'element",
|
||||
"failed_to_load_assets": "No s'han pogut carregar els elements",
|
||||
"failed_to_load_notifications": "Error en carregar les notificacions",
|
||||
"failed_to_load_people": "No s'han pogut carregar les persones",
|
||||
"failed_to_remove_product_key": "No s'ha pogut eliminar la clau del producte",
|
||||
"failed_to_stack_assets": "No s'han pogut apilar els elements",
|
||||
"failed_to_unstack_assets": "No s'han pogut desapilar els elements",
|
||||
"failed_to_update_notification_status": "Error en actualitzar l'estat de les notificacions",
|
||||
"import_path_already_exists": "Aquesta ruta d'importació ja existeix.",
|
||||
"incorrect_email_or_password": "Correu electrònic o contrasenya incorrectes",
|
||||
"paths_validation_failed": "{paths, plural, one {# ruta} other {# rutes}} no ha pogut validar",
|
||||
@@ -920,6 +929,7 @@
|
||||
"unable_to_remove_reaction": "No es pot eliminar la reacció",
|
||||
"unable_to_repair_items": "No es poden reparar els elements",
|
||||
"unable_to_reset_password": "No es pot restablir la contrasenya",
|
||||
"unable_to_reset_pin_code": "No es pot restablir el codi PIN",
|
||||
"unable_to_resolve_duplicate": "No es pot resoldre el duplicat",
|
||||
"unable_to_restore_assets": "No es poden restaurar els recursos",
|
||||
"unable_to_restore_trash": "No es pot restaurar la paperera",
|
||||
@@ -948,15 +958,15 @@
|
||||
"unable_to_upload_file": "No es pot carregar el fitxer"
|
||||
},
|
||||
"exif": "Exif",
|
||||
"exif_bottom_sheet_description": "Afegeix descripció",
|
||||
"exif_bottom_sheet_description": "Afegeix descripció...",
|
||||
"exif_bottom_sheet_details": "DETALLS",
|
||||
"exif_bottom_sheet_location": "UBICACIÓ",
|
||||
"exif_bottom_sheet_people": "PERSONES",
|
||||
"exif_bottom_sheet_person_add_person": "Afegir nom",
|
||||
"exif_bottom_sheet_person_age": "Edat {}",
|
||||
"exif_bottom_sheet_person_age_months": "Edat {} mesos",
|
||||
"exif_bottom_sheet_person_age_year_months": "Edat 1 any, {} mesos",
|
||||
"exif_bottom_sheet_person_age_years": "Edat {}",
|
||||
"exif_bottom_sheet_person_age": "Edat {age}",
|
||||
"exif_bottom_sheet_person_age_months": "Edat {months} mesos",
|
||||
"exif_bottom_sheet_person_age_year_months": "Edat 1 any, {months} mesos",
|
||||
"exif_bottom_sheet_person_age_years": "Edat {years}",
|
||||
"exit_slideshow": "Surt de la presentació de diapositives",
|
||||
"expand_all": "Ampliar-ho tot",
|
||||
"experimental_settings_new_asset_list_subtitle": "Treball en curs",
|
||||
@@ -974,7 +984,7 @@
|
||||
"external": "Extern",
|
||||
"external_libraries": "Llibreries externes",
|
||||
"external_network": "Xarxa externa",
|
||||
"external_network_sheet_info": "Quan no estigui a la xarxa WiFi preferida, l'aplicació es connectarà al servidor mitjançant el primer dels URL següents a què pot arribar, començant de dalt a baix.",
|
||||
"external_network_sheet_info": "Quan no estigui a la xarxa Wi-Fi preferida, l'aplicació es connectarà al servidor mitjançant el primer dels URL següents a què pot arribar, començant de dalt a baix",
|
||||
"face_unassigned": "Sense assignar",
|
||||
"failed": "Fallat",
|
||||
"failed_to_load_assets": "Error carregant recursos",
|
||||
@@ -992,6 +1002,7 @@
|
||||
"filetype": "Tipus d'arxiu",
|
||||
"filter": "Filtrar",
|
||||
"filter_people": "Filtra persones",
|
||||
"filter_places": "Filtrar per llocs",
|
||||
"find_them_fast": "Trobeu-los ràpidament pel nom amb la cerca",
|
||||
"fix_incorrect_match": "Corregiu la coincidència incorrecta",
|
||||
"folder": "Carpeta",
|
||||
@@ -1040,11 +1051,12 @@
|
||||
"home_page_delete_remote_err_local": "Elements locals a la selecció d'eliminació remota, ometent",
|
||||
"home_page_favorite_err_local": "Encara no es pot afegir a preferits elements locals, ometent",
|
||||
"home_page_favorite_err_partner": "Encara no es pot afegir a preferits elements de companys, ometent",
|
||||
"home_page_first_time_notice": "Si és la primera vegada que utilitzes l'app, si us plau, assegura't d'escollir un àlbum de còpia de seguretat perquè la línia de temps pugui carregar fotos i vídeos als àlbums.",
|
||||
"home_page_first_time_notice": "Si és la primera vegada que utilitzes l'app, si us plau, assegura't d'escollir un àlbum de còpia de seguretat perquè la línia de temps pugui carregar fotos i vídeos als àlbums",
|
||||
"home_page_share_err_local": "No es poden compartir els elements locals a través d'un enllaç, ometent",
|
||||
"home_page_upload_err_limit": "Només es poden pujar un màxim de 30 elements alhora, ometent",
|
||||
"host": "Amfitrió",
|
||||
"hour": "Hora",
|
||||
"id": "ID",
|
||||
"ignore_icloud_photos": "Ignora fotos d'iCloud",
|
||||
"ignore_icloud_photos_description": "Les fotos emmagatzemades a iCloud no es penjaran al servidor Immich",
|
||||
"image": "Imatge",
|
||||
@@ -1120,7 +1132,7 @@
|
||||
"local_network": "Xarxa local",
|
||||
"local_network_sheet_info": "L'aplicació es connectarà al servidor mitjançant aquest URL quan utilitzeu la xarxa Wi-Fi especificada",
|
||||
"location_permission": "Permís d'ubicació",
|
||||
"location_permission_content": "Per utilitzar la funció de canvi automàtic, Immich necessita un permís de ubicació precisa perquè pugui llegir el nom de la xarxa WiFi actual",
|
||||
"location_permission_content": "Per utilitzar la funció de canvi automàtic, Immich necessita un permís d'ubicació precisa perquè pugui llegir el nom de la xarxa Wi-Fi actual",
|
||||
"location_picker_choose_on_map": "Escollir en el mapa",
|
||||
"location_picker_latitude_error": "Introdueix una latitud vàlida",
|
||||
"location_picker_latitude_hint": "Introdueix aquí la latitud",
|
||||
@@ -1144,7 +1156,7 @@
|
||||
"login_form_err_trailing_whitespace": "Espai en blanc al final",
|
||||
"login_form_failed_get_oauth_server_config": "Error en iniciar sessió amb OAuth, comprova l'URL del servidor",
|
||||
"login_form_failed_get_oauth_server_disable": "La funcionalitat OAuth no està disponible en aquest servidor",
|
||||
"login_form_failed_login": "Error en iniciar sessió, comprova l'URL del servidor, el correu electrònic i la contrasenya.",
|
||||
"login_form_failed_login": "Error en iniciar sessió, comprova l'URL del servidor, el correu electrònic i la contrasenya",
|
||||
"login_form_handshake_exception": "S'ha produït una excepció de handshake amb el servidor. Activa el suport per certificats autofirmats a la configuració si estàs fent servir un certificat autofirmat.",
|
||||
"login_form_password_hint": "contrasenya",
|
||||
"login_form_save_login": "Mantingues identificat",
|
||||
@@ -1170,8 +1182,8 @@
|
||||
"manage_your_devices": "Gestioneu els vostres dispositius connectats",
|
||||
"manage_your_oauth_connection": "Gestioneu la vostra connexió OAuth",
|
||||
"map": "Mapa",
|
||||
"map_assets_in_bound": "{} foto",
|
||||
"map_assets_in_bounds": "{} fotos",
|
||||
"map_assets_in_bound": "{count} foto",
|
||||
"map_assets_in_bounds": "{count} fotos",
|
||||
"map_cannot_get_user_location": "No es pot obtenir la ubicació de l'usuari",
|
||||
"map_location_dialog_yes": "Sí",
|
||||
"map_location_picker_page_use_location": "Utilitzar aquesta ubicació",
|
||||
@@ -1185,15 +1197,18 @@
|
||||
"map_settings": "Paràmetres de mapa",
|
||||
"map_settings_dark_mode": "Mode fosc",
|
||||
"map_settings_date_range_option_day": "Últimes 24 hores",
|
||||
"map_settings_date_range_option_days": "Darrers {} dies",
|
||||
"map_settings_date_range_option_days": "Darrers {days} dies",
|
||||
"map_settings_date_range_option_year": "Any passat",
|
||||
"map_settings_date_range_option_years": "Darrers {} anys",
|
||||
"map_settings_date_range_option_years": "Darrers {years} anys",
|
||||
"map_settings_dialog_title": "Configuració del mapa",
|
||||
"map_settings_include_show_archived": "Incloure arxivats",
|
||||
"map_settings_include_show_partners": "Incloure companys",
|
||||
"map_settings_only_show_favorites": "Mostra només preferits",
|
||||
"map_settings_theme_settings": "Tema del Mapa",
|
||||
"map_zoom_to_see_photos": "Allunya per veure fotos",
|
||||
"mark_all_as_read": "Marcar-ho tot com a llegit",
|
||||
"mark_as_read": "Marcar com ha llegit",
|
||||
"marked_all_as_read": "Marcat tot com a llegit",
|
||||
"matches": "Coincidències",
|
||||
"media_type": "Tipus de mitjà",
|
||||
"memories": "Records",
|
||||
@@ -1203,7 +1218,7 @@
|
||||
"memories_start_over": "Torna a començar",
|
||||
"memories_swipe_to_close": "Llisca per tancar",
|
||||
"memories_year_ago": "Fa un any",
|
||||
"memories_years_ago": "Fa {} anys",
|
||||
"memories_years_ago": "Fa {years, plural, other {# years}} anys",
|
||||
"memory": "Record",
|
||||
"memory_lane_title": "Línia de records {title}",
|
||||
"menu": "Menú",
|
||||
@@ -1220,9 +1235,11 @@
|
||||
"month": "Mes",
|
||||
"monthly_title_text_date_format": "MMMM y",
|
||||
"more": "Més",
|
||||
"moved_to_archive": "S'han mogut {count, plural, one {# asset} other {# assets}} a l'arxiu",
|
||||
"moved_to_library": "S'ha mogut {count, plural, one {# asset} other {# assets}} a la llibreria",
|
||||
"moved_to_trash": "S'ha mogut a la paperera",
|
||||
"multiselect_grid_edit_date_time_err_read_only": "No es pot canviar la data del fitxer(s) de només lectura, ometent",
|
||||
"multiselect_grid_edit_gps_err_read_only": "No es pot canviar la localització de fitxers de només lectura. Saltant.",
|
||||
"multiselect_grid_edit_gps_err_read_only": "No es pot canviar la localització de fitxers de només lectura, saltant",
|
||||
"mute_memories": "Silenciar records",
|
||||
"my_albums": "Els meus àlbums",
|
||||
"name": "Nom",
|
||||
@@ -1234,6 +1251,7 @@
|
||||
"new_api_key": "Nova clau de l'API",
|
||||
"new_password": "Nova contrasenya",
|
||||
"new_person": "Persona nova",
|
||||
"new_pin_code": "Nou codi PIN",
|
||||
"new_user_created": "Nou usuari creat",
|
||||
"new_version_available": "NOVA VERSIÓ DISPONIBLE",
|
||||
"newest_first": "El més nou primer",
|
||||
@@ -1252,6 +1270,8 @@
|
||||
"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_name": "Sense nom",
|
||||
"no_notifications": "No hi ha notificacions",
|
||||
"no_people_found": "No s'han trobat coincidències de persones",
|
||||
"no_places": "No hi ha llocs",
|
||||
"no_results": "Sense resultats",
|
||||
"no_results_description": "Proveu un sinònim o una paraula clau més general",
|
||||
@@ -1282,6 +1302,7 @@
|
||||
"onboarding_welcome_user": "Benvingut, {user}",
|
||||
"online": "En línia",
|
||||
"only_favorites": "Només preferits",
|
||||
"open": "Obrir",
|
||||
"open_in_map_view": "Obrir a la vista del mapa",
|
||||
"open_in_openstreetmap": "Obre a OpenStreetMap",
|
||||
"open_the_search_filters": "Obriu els filtres de cerca",
|
||||
@@ -1305,7 +1326,7 @@
|
||||
"partner_page_partner_add_failed": "No s'ha pogut afegir el company",
|
||||
"partner_page_select_partner": "Escull company",
|
||||
"partner_page_shared_to_title": "Compartit amb",
|
||||
"partner_page_stop_sharing_content": "{} ja no podrà accedir a les teves fotos.",
|
||||
"partner_page_stop_sharing_content": "{partner} ja no podrà accedir a les teves fotos.",
|
||||
"partner_sharing": "Compartició amb companys",
|
||||
"partners": "Companys",
|
||||
"password": "Contrasenya",
|
||||
@@ -1351,6 +1372,9 @@
|
||||
"photos_count": "{count, plural, one {{count, number} Foto} other {{count, number} Fotos}}",
|
||||
"photos_from_previous_years": "Fotos d'anys anteriors",
|
||||
"pick_a_location": "Triar una ubicació",
|
||||
"pin_code_changed_successfully": "Codi PIN canviat correctament",
|
||||
"pin_code_reset_successfully": "S'ha restablert correctament el codi PIN",
|
||||
"pin_code_setup_successfully": "S'ha configurat correctament un codi PIN",
|
||||
"place": "Lloc",
|
||||
"places": "Llocs",
|
||||
"places_count": "{count, plural, one {{count, number} Lloc} other {{count, number} Llocs}}",
|
||||
@@ -1368,6 +1392,7 @@
|
||||
"previous_or_next_photo": "Foto anterior o següent",
|
||||
"primary": "Primària",
|
||||
"privacy": "Privacitat",
|
||||
"profile": "Perfil",
|
||||
"profile_drawer_app_logs": "Registres",
|
||||
"profile_drawer_client_out_of_date_major": "L'aplicació mòbil està desactualitzada. Si us plau, actualitzeu a l'última versió major.",
|
||||
"profile_drawer_client_out_of_date_minor": "L'aplicació mòbil està desactualitzada. Si us plau, actualitzeu a l'última versió menor.",
|
||||
@@ -1381,7 +1406,7 @@
|
||||
"public_share": "Compartit públicament",
|
||||
"purchase_account_info": "Contribuent",
|
||||
"purchase_activated_subtitle": "Gràcies per donar suport a Immich i al programari de codi obert",
|
||||
"purchase_activated_time": "Activat el {date, date}",
|
||||
"purchase_activated_time": "Activat el {date}",
|
||||
"purchase_activated_title": "La teva clau s'ha activat correctament",
|
||||
"purchase_button_activate": "Activar",
|
||||
"purchase_button_buy": "Comprar",
|
||||
@@ -1426,6 +1451,8 @@
|
||||
"recent_searches": "Cerques recents",
|
||||
"recently_added": "Afegit recentment",
|
||||
"recently_added_page_title": "Afegit recentment",
|
||||
"recently_taken": "Fet recentment",
|
||||
"recently_taken_page_title": "Fet recentment",
|
||||
"refresh": "Actualitzar",
|
||||
"refresh_encoded_videos": "Actualitza vídeos codificats",
|
||||
"refresh_faces": "Actualitzar cares",
|
||||
@@ -1468,6 +1495,7 @@
|
||||
"reset": "Restablir",
|
||||
"reset_password": "Restablir contrasenya",
|
||||
"reset_people_visibility": "Restablir la visibilitat de les persones",
|
||||
"reset_pin_code": "Restablir el codi PIN",
|
||||
"reset_to_default": "Restableix els valors predeterminats",
|
||||
"resolve_duplicates": "Resoldre duplicats",
|
||||
"resolved_all_duplicates": "Tots els duplicats resolts",
|
||||
@@ -1560,6 +1588,7 @@
|
||||
"select_keep_all": "Mantén tota la selecció",
|
||||
"select_library_owner": "Selecciona el propietari de la bilbioteca",
|
||||
"select_new_face": "Selecciona nova cara",
|
||||
"select_person_to_tag": "Selecciona una persona per etiquetar",
|
||||
"select_photos": "Tria fotografies",
|
||||
"select_trash_all": "Envia la selecció a la paperera",
|
||||
"select_user_for_sharing_page_err_album": "Error al crear l'àlbum",
|
||||
@@ -1590,12 +1619,12 @@
|
||||
"setting_languages_apply": "Aplicar",
|
||||
"setting_languages_subtitle": "Canvia el llenguatge de l'aplicació",
|
||||
"setting_languages_title": "Idiomes",
|
||||
"setting_notifications_notify_failures_grace_period": "Notifica les fallades de la còpia de seguretat en segon pla: {}",
|
||||
"setting_notifications_notify_hours": "{} hores",
|
||||
"setting_notifications_notify_failures_grace_period": "Notifica les fallades de la còpia de seguretat en segon pla: {duration}",
|
||||
"setting_notifications_notify_hours": "{count} hores",
|
||||
"setting_notifications_notify_immediately": "immediatament",
|
||||
"setting_notifications_notify_minutes": "{} minuts",
|
||||
"setting_notifications_notify_minutes": "{count} minuts",
|
||||
"setting_notifications_notify_never": "mai",
|
||||
"setting_notifications_notify_seconds": "{} segons",
|
||||
"setting_notifications_notify_seconds": "{count} segons",
|
||||
"setting_notifications_single_progress_subtitle": "Informació detallada del progrés de la pujada de cada fitxer",
|
||||
"setting_notifications_single_progress_title": "Mostra el progrés detallat de la còpia de seguretat en segon pla",
|
||||
"setting_notifications_subtitle": "Ajusta les preferències de notificació",
|
||||
@@ -1607,9 +1636,10 @@
|
||||
"settings": "Configuració",
|
||||
"settings_require_restart": "Si us plau, reinicieu Immich per a aplicar aquest canvi",
|
||||
"settings_saved": "Configuració desada",
|
||||
"setup_pin_code": "Configurar un codi PIN",
|
||||
"share": "Comparteix",
|
||||
"share_add_photos": "Afegeix fotografies",
|
||||
"share_assets_selected": "{} seleccionats",
|
||||
"share_assets_selected": "{count} seleccionats",
|
||||
"share_dialog_preparing": "S'està preparant...",
|
||||
"shared": "Compartit",
|
||||
"shared_album_activities_input_disable": "Els comentaris estan desactivats",
|
||||
@@ -1623,32 +1653,32 @@
|
||||
"shared_by_user": "Compartit per {user}",
|
||||
"shared_by_you": "Compartit per tu",
|
||||
"shared_from_partner": "Fotos de {partner}",
|
||||
"shared_intent_upload_button_progress_text": "{} / {} Pujat",
|
||||
"shared_intent_upload_button_progress_text": "{current} / {total} Pujat",
|
||||
"shared_link_app_bar_title": "Enllaços compartits",
|
||||
"shared_link_clipboard_copied_massage": "S'ha copiat al porta-retalls",
|
||||
"shared_link_clipboard_text": "Enllaç: {}\nContrasenya: {}",
|
||||
"shared_link_clipboard_text": "Enllaç: {link}\nContrasenya: {password}",
|
||||
"shared_link_create_error": "S'ha produït un error en crear l'enllaç compartit",
|
||||
"shared_link_edit_description_hint": "Introduïu la descripció de compartició",
|
||||
"shared_link_edit_expire_after_option_day": "1 dia",
|
||||
"shared_link_edit_expire_after_option_days": "{} dies",
|
||||
"shared_link_edit_expire_after_option_days": "{count} dies",
|
||||
"shared_link_edit_expire_after_option_hour": "1 hora",
|
||||
"shared_link_edit_expire_after_option_hours": "{} hores",
|
||||
"shared_link_edit_expire_after_option_hours": "{count} hores",
|
||||
"shared_link_edit_expire_after_option_minute": "1 minut",
|
||||
"shared_link_edit_expire_after_option_minutes": "{} minuts",
|
||||
"shared_link_edit_expire_after_option_months": "{} mesos",
|
||||
"shared_link_edit_expire_after_option_year": "any {}",
|
||||
"shared_link_edit_expire_after_option_minutes": "{count} minuts",
|
||||
"shared_link_edit_expire_after_option_months": "{count} mesos",
|
||||
"shared_link_edit_expire_after_option_year": "any {count}",
|
||||
"shared_link_edit_password_hint": "Introduïu la contrasenya de compartició",
|
||||
"shared_link_edit_submit_button": "Actualitza l'enllaç",
|
||||
"shared_link_error_server_url_fetch": "No s'ha pogut obtenir l'URL del servidor",
|
||||
"shared_link_expires_day": "Caduca d'aquí a {} dia",
|
||||
"shared_link_expires_days": "Caduca d'aquí a {} dies",
|
||||
"shared_link_expires_hour": "Caduca d'aquí a {} hora",
|
||||
"shared_link_expires_hours": "Caduca d'aquí a {} hores",
|
||||
"shared_link_expires_minute": "Caduca d'aquí a {} minut",
|
||||
"shared_link_expires_minutes": "Caduca d'aquí a {} minuts",
|
||||
"shared_link_expires_day": "Caduca d'aquí a {count} dia",
|
||||
"shared_link_expires_days": "Caduca d'aquí a {count} dies",
|
||||
"shared_link_expires_hour": "Caduca d'aquí a {count} hora",
|
||||
"shared_link_expires_hours": "Caduca d'aquí a {count} hores",
|
||||
"shared_link_expires_minute": "Caduca d'aquí a {count} minut",
|
||||
"shared_link_expires_minutes": "Caduca d'aquí a {count} minuts",
|
||||
"shared_link_expires_never": "Caduca ∞",
|
||||
"shared_link_expires_second": "Caduca d'aquí a {} segon",
|
||||
"shared_link_expires_seconds": "Caduca d'aquí a {} segons",
|
||||
"shared_link_expires_second": "Caduca d'aquí a {count} segon",
|
||||
"shared_link_expires_seconds": "Caduca d'aquí a {count} segons",
|
||||
"shared_link_individual_shared": "Individual compartit",
|
||||
"shared_link_info_chip_metadata": "EXIF",
|
||||
"shared_link_manage_links": "Gestiona els enllaços compartits",
|
||||
@@ -1723,6 +1753,7 @@
|
||||
"stop_sharing_photos_with_user": "Deixa de compartir les fotos amb aquest usuari",
|
||||
"storage": "Emmagatzematge",
|
||||
"storage_label": "Etiquetatge d'emmagatzematge",
|
||||
"storage_quota": "Quota d'emmagatzematge",
|
||||
"storage_usage": "{used} de {available} en ús",
|
||||
"submit": "Envia",
|
||||
"suggestions": "Suggeriments",
|
||||
@@ -1749,7 +1780,7 @@
|
||||
"theme_selection": "Selecció de tema",
|
||||
"theme_selection_description": "Activa automàticament el tema fosc o clar en funció de les preferències del sistema del navegador",
|
||||
"theme_setting_asset_list_storage_indicator_title": "Mostra l'indicador d'emmagatzematge als títols dels elements",
|
||||
"theme_setting_asset_list_tiles_per_row_title": "Nombre d'elements per fila ({})",
|
||||
"theme_setting_asset_list_tiles_per_row_title": "Nombre d'elements per fila ({count})",
|
||||
"theme_setting_colorful_interface_subtitle": "Apliqueu color primari a les superfícies de fons.",
|
||||
"theme_setting_colorful_interface_title": "Interfície colorida",
|
||||
"theme_setting_image_viewer_quality_subtitle": "Ajusta la qualitat del visor de detalls d'imatges",
|
||||
@@ -1784,13 +1815,15 @@
|
||||
"trash_no_results_message": "Les imatges i vídeos que s'enviïn a la paperera es mostraran aquí.",
|
||||
"trash_page_delete_all": "Eliminar-ho tot",
|
||||
"trash_page_empty_trash_dialog_content": "Segur que voleu eliminar els elements? Aquests elements seran eliminats permanentment de Immich",
|
||||
"trash_page_info": "Els elements que s'enviïn a la paperera s'eliminaran permanentment després de {} dies",
|
||||
"trash_page_info": "Els elements que s'enviïn a la paperera s'eliminaran permanentment després de {days} dies",
|
||||
"trash_page_no_assets": "No hi ha elements a la paperera",
|
||||
"trash_page_restore_all": "Restaura-ho tot",
|
||||
"trash_page_select_assets_btn": "Selecciona elements",
|
||||
"trash_page_title": "Paperera ({})",
|
||||
"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}}.",
|
||||
"type": "Tipus",
|
||||
"unable_to_change_pin_code": "No es pot canviar el codi PIN",
|
||||
"unable_to_setup_pin_code": "No s'ha pogut configurar el codi PIN",
|
||||
"unarchive": "Desarxivar",
|
||||
"unarchived_count": "{count, plural, other {# elements desarxivats}}",
|
||||
"unfavorite": "Reverteix preferit",
|
||||
@@ -1814,6 +1847,7 @@
|
||||
"untracked_files": "Fitxers no monitoritzats",
|
||||
"untracked_files_decription": "Aquests fitxers no estan monitoritzats per l'aplicació. Poden ser el resultat de moviments errats, descàrregues interrompudes o deixats enrere per error",
|
||||
"up_next": "Pròxim",
|
||||
"updated_at": "Actualitzat",
|
||||
"updated_password": "Contrasenya actualitzada",
|
||||
"upload": "Pujar",
|
||||
"upload_concurrency": "Concurrència de pujades",
|
||||
@@ -1826,15 +1860,18 @@
|
||||
"upload_status_errors": "Errors",
|
||||
"upload_status_uploaded": "Carregat",
|
||||
"upload_success": "Pujada correcta, actualitza la pàgina per veure nous recursos de pujada.",
|
||||
"upload_to_immich": "Puja a Immich ({})",
|
||||
"upload_to_immich": "Puja a Immich ({count})",
|
||||
"uploading": "Pujant",
|
||||
"url": "URL",
|
||||
"usage": "Ús",
|
||||
"use_current_connection": "utilitzar la connexió actual",
|
||||
"use_custom_date_range": "Fes servir un rang de dates personalitzat",
|
||||
"user": "Usuari",
|
||||
"user_has_been_deleted": "Aquest usuari ha sigut eliminat.",
|
||||
"user_id": "ID d'usuari",
|
||||
"user_liked": "A {user} li ha agradat {type, select, photo {aquesta foto} video {aquest vídeo} asset {aquest recurs} other {}}",
|
||||
"user_pin_code_settings": "Codi PIN",
|
||||
"user_pin_code_settings_description": "Gestiona el teu codi PIN",
|
||||
"user_purchase_settings": "Compra",
|
||||
"user_purchase_settings_description": "Gestiona la teva compra",
|
||||
"user_role_set": "Establir {user} com a {role}",
|
||||
@@ -1883,11 +1920,11 @@
|
||||
"week": "Setmana",
|
||||
"welcome": "Benvingut",
|
||||
"welcome_to_immich": "Benvingut a immich",
|
||||
"wifi_name": "Nom WiFi",
|
||||
"wifi_name": "Nom Wi-Fi",
|
||||
"year": "Any",
|
||||
"years_ago": "Fa {years, plural, one {# any} other {# anys}}",
|
||||
"yes": "Sí",
|
||||
"you_dont_have_any_shared_links": "No tens cap enllaç compartit",
|
||||
"your_wifi_name": "El teu nom WiFi",
|
||||
"your_wifi_name": "Nom del teu Wi-Fi",
|
||||
"zoom_image": "Ampliar Imatge"
|
||||
}
|
||||
|
||||
183
i18n/cs.json
183
i18n/cs.json
@@ -53,6 +53,7 @@
|
||||
"confirm_email_below": "Pro potvrzení zadejte níže \"{email}\"",
|
||||
"confirm_reprocess_all_faces": "Opravdu chcete znovu zpracovat všechny obličeje? Tím se vymažou i pojmenované osoby.",
|
||||
"confirm_user_password_reset": "Opravdu chcete obnovit heslo uživatele {user}?",
|
||||
"confirm_user_pin_code_reset": "Opravdu chcete resetovat PIN kód uživatele {user}?",
|
||||
"create_job": "Vytvořit úlohu",
|
||||
"cron_expression": "Výraz cron",
|
||||
"cron_expression_description": "Nastavte interval prohledávání pomocí cron formátu. Další informace naleznete např. v <link>Crontab Guru</link>",
|
||||
@@ -192,26 +193,22 @@
|
||||
"oauth_auto_register": "Automatická registrace",
|
||||
"oauth_auto_register_description": "Automaticky registrovat nové uživatele po přihlášení pomocí OAuth",
|
||||
"oauth_button_text": "Text tlačítka",
|
||||
"oauth_client_id": "Client ID",
|
||||
"oauth_client_secret": "Client Secret",
|
||||
"oauth_client_secret_description": "Vyžaduje se, pokud poskytovatel OAuth nepodporuje PKCE (Proof Key for Code Exchange)",
|
||||
"oauth_enable_description": "Přihlásit pomocí OAuth",
|
||||
"oauth_issuer_url": "URL vydavatele",
|
||||
"oauth_mobile_redirect_uri": "Mobilní přesměrování URI",
|
||||
"oauth_mobile_redirect_uri_override": "Přepsat mobilní přesměrování URI",
|
||||
"oauth_mobile_redirect_uri_override_description": "Povolit, pokud poskytovatel OAuth nepovoluje mobilní URI, například '{callback}'",
|
||||
"oauth_profile_signing_algorithm": "Algoritmus podepisování profilu",
|
||||
"oauth_profile_signing_algorithm_description": "Algoritmus použitý k podepsání profilu uživatele.",
|
||||
"oauth_scope": "Rozsah",
|
||||
"oauth_settings": "OAuth",
|
||||
"oauth_settings_description": "Správa nastavení OAuth přihlášení",
|
||||
"oauth_settings_more_details": "Další podrobnosti o této funkci naleznete v <link>dokumentaci</link>.",
|
||||
"oauth_signing_algorithm": "Algoritmus podepisování",
|
||||
"oauth_storage_label_claim": "Deklarace štítku úložiště",
|
||||
"oauth_storage_label_claim_description": "Automaticky nastavit štítek úložiště uživatele na hodnotu této deklarace.",
|
||||
"oauth_storage_quota_claim": "Deklarace kvóty úložiště",
|
||||
"oauth_storage_quota_claim_description": "Automaticky nastavit kvótu úložiště uživatele na hodnotu této deklarace.",
|
||||
"oauth_storage_quota_default": "Výchozí kvóta úložiště (GiB)",
|
||||
"oauth_storage_quota_default_description": "Kvóta v GiB, která se použije, pokud není poskytnuta žádná deklarace (pro neomezenou kvótu zadejte 0).",
|
||||
"oauth_timeout": "Časový limit požadavku",
|
||||
"oauth_timeout_description": "Časový limit pro požadavky v milisekundách",
|
||||
"offline_paths": "Cesty offline",
|
||||
"offline_paths_description": "Tyto výsledky mohou být způsobeny ručním odstraněním souborů, které nejsou součástí externí knihovny.",
|
||||
"password_enable_description": "Přihlášení pomocí e-mailu a hesla",
|
||||
@@ -352,6 +349,7 @@
|
||||
"user_delete_delay_settings_description": "Počet dní po odstranění, po kterých bude odstraněn účet a položky uživatele. Úloha odstraňování uživatelů se spouští o půlnoci a kontroluje uživatele, kteří jsou připraveni k odstranění. Změny tohoto nastavení se vyhodnotí při dalším spuštění.",
|
||||
"user_delete_immediately": "Účet a položky uživatele <b>{user}</b> budou zařazeny do fronty k trvalému smazání <b>okamžitě</b>.",
|
||||
"user_delete_immediately_checkbox": "Uživatele a položky zařadit do fronty k okamžitému smazání",
|
||||
"user_details": "Podrobnosti o uživateli",
|
||||
"user_management": "Správa uživatelů",
|
||||
"user_password_has_been_reset": "Heslo uživatele bylo obnoveno:",
|
||||
"user_password_reset_description": "Poskytněte uživateli dočasné heslo a informujte ho, že si ho bude muset při příštím přihlášení změnit.",
|
||||
@@ -373,7 +371,7 @@
|
||||
"advanced": "Pokročilé",
|
||||
"advanced_settings_enable_alternate_media_filter_subtitle": "Tuto možnost použijte k filtrování médií během synchronizace na základě alternativních kritérií. Tuto možnost vyzkoušejte pouze v případě, že máte problémy s detekcí všech alb v aplikaci.",
|
||||
"advanced_settings_enable_alternate_media_filter_title": "[EXPERIMENTÁLNÍ] Použít alternativní filtr pro synchronizaci alb zařízení",
|
||||
"advanced_settings_log_level_title": "Úroveň protokolování: {}",
|
||||
"advanced_settings_log_level_title": "Úroveň protokolování: {level}",
|
||||
"advanced_settings_prefer_remote_subtitle": "U některých zařízení je načítání miniatur z prostředků v zařízení velmi pomalé. Aktivujte toto nastavení, aby se místo toho načítaly vzdálené obrázky.",
|
||||
"advanced_settings_prefer_remote_title": "Preferovat vzdálené obrázky",
|
||||
"advanced_settings_proxy_headers_subtitle": "Definice hlaviček proxy serveru, které by měl Immich odesílat s každým síťovým požadavkem",
|
||||
@@ -385,8 +383,8 @@
|
||||
"advanced_settings_tile_subtitle": "Pokročilé uživatelské nastavení",
|
||||
"advanced_settings_troubleshooting_subtitle": "Zobrazit dodatečné vlastnosti pro řešení problémů",
|
||||
"advanced_settings_troubleshooting_title": "Řešení problémů",
|
||||
"age_months": "{months, plural, one {# měsíc} few {# měsíce} other {# měsíců}}",
|
||||
"age_year_months": "1 rok a {months, plural, one {# měsíc} few {# měsíce} other {# měsíců}}",
|
||||
"age_months": "Věk {months, plural, one {# měsíc} few {# měsíce} other {# měsíců}}",
|
||||
"age_year_months": "Věk 1 rok, {months, plural, one {# měsíc} other {# měsíce}}",
|
||||
"age_years": "{years, plural, one {# rok} few {# roky} other {# let}}",
|
||||
"album_added": "Přidáno album",
|
||||
"album_added_notification_setting_description": "Dostávat e-mailové oznámení, když jste přidáni do sdíleného alba",
|
||||
@@ -404,9 +402,9 @@
|
||||
"album_remove_user_confirmation": "Opravdu chcete odebrat uživatele {user}?",
|
||||
"album_share_no_users": "Zřejmě jste toto album sdíleli se všemi uživateli, nebo nemáte žádného uživatele, se kterým byste ho mohli sdílet.",
|
||||
"album_thumbnail_card_item": "1 položka",
|
||||
"album_thumbnail_card_items": "{} položek",
|
||||
"album_thumbnail_card_items": "{count} položek",
|
||||
"album_thumbnail_card_shared": " · Sdíleno",
|
||||
"album_thumbnail_shared_by": "Sdílel(a) {}",
|
||||
"album_thumbnail_shared_by": "Sdílel(a) {user}",
|
||||
"album_updated": "Album aktualizováno",
|
||||
"album_updated_setting_description": "Dostávat e-mailová oznámení o nových položkách sdíleného alba",
|
||||
"album_user_left": "Opustil {album}",
|
||||
@@ -444,7 +442,7 @@
|
||||
"archive": "Archiv",
|
||||
"archive_or_unarchive_photo": "Archivovat nebo odarchivovat fotku",
|
||||
"archive_page_no_archived_assets": "Nebyla nalezena žádná archivovaná média",
|
||||
"archive_page_title": "Archiv ({})",
|
||||
"archive_page_title": "Archiv ({count})",
|
||||
"archive_size": "Velikost archivu",
|
||||
"archive_size_description": "Nastavte velikost archivu pro stahování (v GiB)",
|
||||
"archived": "Archiv",
|
||||
@@ -481,18 +479,18 @@
|
||||
"assets_added_to_album_count": "Do alba {count, plural, one {byla přidána # položka} few {byly přidány # položky} other {bylo přidáno # položek}}",
|
||||
"assets_added_to_name_count": "{count, plural, one {Přidána # položka} few {Přidány # položky} other {Přidáno # položek}} do {hasName, select, true {alba <b>{name}</b>} other {nového alba}}",
|
||||
"assets_count": "{count, plural, one {# položka} few {# položky} other {# položek}}",
|
||||
"assets_deleted_permanently": "{} položek trvale odstraněno",
|
||||
"assets_deleted_permanently_from_server": "{} položek trvale odstraněno z Immich serveru",
|
||||
"assets_deleted_permanently": "{count} položek trvale odstraněno",
|
||||
"assets_deleted_permanently_from_server": "{count} položek trvale odstraněno z Immich serveru",
|
||||
"assets_moved_to_trash_count": "Do koše {count, plural, one {přesunuta # položka} few {přesunuty # položky} other {přesunuto # položek}}",
|
||||
"assets_permanently_deleted_count": "Trvale {count, plural, one {smazána # položka} few {smazány # položky} other {smazáno # položek}}",
|
||||
"assets_removed_count": "{count, plural, one {Odstraněna # položka} few {Odstraněny # položky} other {Odstraněno # položek}}",
|
||||
"assets_removed_permanently_from_device": "{} položek trvale odstraněno z vašeho zařízení",
|
||||
"assets_removed_permanently_from_device": "{count} položek trvale odstraněno z vašeho zařízení",
|
||||
"assets_restore_confirmation": "Opravdu chcete obnovit všechny vyhozené položky? Tuto akci nelze vrátit zpět! Upozorňujeme, že tímto způsobem nelze obnovit žádné offline položky.",
|
||||
"assets_restored_count": "{count, plural, one {Obnovena # položka} few {Obnoveny # položky} other {Obnoveno # položek}}",
|
||||
"assets_restored_successfully": "{} položek úspěšně obnoveno",
|
||||
"assets_trashed": "{} položek vyhozeno do koše",
|
||||
"assets_restored_successfully": "{count} položek úspěšně obnoveno",
|
||||
"assets_trashed": "{count} položek vyhozeno do koše",
|
||||
"assets_trashed_count": "{count, plural, one {Vyhozena # položka} few {Vyhozeny # položky} other {Vyhozeno # položek}}",
|
||||
"assets_trashed_from_server": "{} položek vyhozeno do koše na Immich serveru",
|
||||
"assets_trashed_from_server": "{count} položek vyhozeno do koše na Immich serveru",
|
||||
"assets_were_part_of_album_count": "{count, plural, one {Položka byla} other {Položky byly}} součástí alba",
|
||||
"authorized_devices": "Autorizovaná zařízení",
|
||||
"automatic_endpoint_switching_subtitle": "Připojit se místně přes určenou Wi-Fi, pokud je k dispozici, a používat alternativní připojení jinde",
|
||||
@@ -501,7 +499,7 @@
|
||||
"back_close_deselect": "Zpět, zavřít nebo zrušit výběr",
|
||||
"background_location_permission": "Povolení polohy na pozadí",
|
||||
"background_location_permission_content": "Aby bylo možné přepínat sítě při běhu na pozadí, musí mít Immich *vždy* přístup k přesné poloze, aby mohl zjistit název Wi-Fi sítě",
|
||||
"backup_album_selection_page_albums_device": "Alba v zařízení ({})",
|
||||
"backup_album_selection_page_albums_device": "Alba v zařízení ({count})",
|
||||
"backup_album_selection_page_albums_tap": "Klepnutím na položku ji zahrnete, opětovným klepnutím ji vyloučíte",
|
||||
"backup_album_selection_page_assets_scatter": "Položky mohou být roztroušeny ve více albech. To umožňuje zahrnout nebo vyloučit alba během procesu zálohování.",
|
||||
"backup_album_selection_page_select_albums": "Vybraná alba",
|
||||
@@ -510,11 +508,11 @@
|
||||
"backup_all": "Vše",
|
||||
"backup_background_service_backup_failed_message": "Zálohování médií selhalo. Zkouším to znovu…",
|
||||
"backup_background_service_connection_failed_message": "Nepodařilo se připojit k serveru. Zkouším to znovu…",
|
||||
"backup_background_service_current_upload_notification": "Nahrávání {}",
|
||||
"backup_background_service_current_upload_notification": "Nahrávání {filename}",
|
||||
"backup_background_service_default_notification": "Kontrola nových médií…",
|
||||
"backup_background_service_error_title": "Chyba zálohování",
|
||||
"backup_background_service_in_progress_notification": "Zálohování vašich médií…",
|
||||
"backup_background_service_upload_failure_notification": "Nepodařilo se nahrát {}",
|
||||
"backup_background_service_upload_failure_notification": "Nepodařilo se nahrát {filename}",
|
||||
"backup_controller_page_albums": "Zálohovaná alba",
|
||||
"backup_controller_page_background_app_refresh_disabled_content": "Povolte obnovení aplikace na pozadí v Nastavení > Obecné > Obnovení aplikace na pozadí, abyste mohli používat zálohování na pozadí.",
|
||||
"backup_controller_page_background_app_refresh_disabled_title": "Obnovování aplikací na pozadí je vypnuté",
|
||||
@@ -525,7 +523,7 @@
|
||||
"backup_controller_page_background_battery_info_title": "Optimalizace baterie",
|
||||
"backup_controller_page_background_charging": "Pouze během nabíjení",
|
||||
"backup_controller_page_background_configure_error": "Nepodařilo se nakonfigurovat službu na pozadí",
|
||||
"backup_controller_page_background_delay": "Zpoždění zálohování nových médií: {}",
|
||||
"backup_controller_page_background_delay": "Zpoždění zálohování nových médií: {duration}",
|
||||
"backup_controller_page_background_description": "Povolte službu na pozadí pro automatické zálohování všech nových položek bez nutnosti otevření aplikace",
|
||||
"backup_controller_page_background_is_off": "Automatické zálohování na pozadí je vypnuto",
|
||||
"backup_controller_page_background_is_on": "Automatické zálohování na pozadí je zapnuto",
|
||||
@@ -535,12 +533,12 @@
|
||||
"backup_controller_page_backup": "Zálohování",
|
||||
"backup_controller_page_backup_selected": "Vybrané: ",
|
||||
"backup_controller_page_backup_sub": "Zálohované fotografie a videa",
|
||||
"backup_controller_page_created": "Vytvořeno: {}",
|
||||
"backup_controller_page_created": "Vytvořeno: {date}",
|
||||
"backup_controller_page_desc_backup": "Zapněte zálohování na popředí, aby se nové položky automaticky nahrávaly na server při otevření aplikace.",
|
||||
"backup_controller_page_excluded": "Vyloučeno: ",
|
||||
"backup_controller_page_failed": "Nepodařilo se ({})",
|
||||
"backup_controller_page_filename": "Název souboru: {} [{}]",
|
||||
"backup_controller_page_id": "ID: {}",
|
||||
"backup_controller_page_failed": "Nepodařilo se ({count})",
|
||||
"backup_controller_page_filename": "Název souboru: {filename} [{size}]",
|
||||
"backup_controller_page_id": "ID: {id}",
|
||||
"backup_controller_page_info": "Informace o zálohování",
|
||||
"backup_controller_page_none_selected": "Žádné vybrané",
|
||||
"backup_controller_page_remainder": "Zbývá",
|
||||
@@ -549,7 +547,7 @@
|
||||
"backup_controller_page_start_backup": "Spustit zálohování",
|
||||
"backup_controller_page_status_off": "Automatické zálohování na popředí je vypnuto",
|
||||
"backup_controller_page_status_on": "Automatické zálohování na popředí je zapnuto",
|
||||
"backup_controller_page_storage_format": "{} z {} použitých",
|
||||
"backup_controller_page_storage_format": "{used} z {total} použitých",
|
||||
"backup_controller_page_to_backup": "Alba, která mají být zálohována",
|
||||
"backup_controller_page_total_sub": "Všechny jedinečné fotografie a videa z vybraných alb",
|
||||
"backup_controller_page_turn_off": "Vypnout zálohování na popředí",
|
||||
@@ -574,21 +572,21 @@
|
||||
"bulk_keep_duplicates_confirmation": "Opravdu si chcete ponechat {count, plural, one {# duplicitní položku} few {# duplicitní položky} other {# duplicitních položek}}? Tím se vyřeší všechny duplicitní skupiny, aniž by se cokoli odstranilo.",
|
||||
"bulk_trash_duplicates_confirmation": "Opravdu chcete hromadně vyhodit {count, plural, one {# duplicitní položku} few {# duplicitní položky} other {# duplicitních položek}}? Tím se zachová největší položka z každé skupiny a všechny ostatní duplikáty se vyhodí.",
|
||||
"buy": "Zakoupit Immich",
|
||||
"cache_settings_album_thumbnails": "Náhledy stránek knihovny (položek {})",
|
||||
"cache_settings_album_thumbnails": "Náhledy stránek knihovny ({count} položek)",
|
||||
"cache_settings_clear_cache_button": "Vymazat vyrovnávací paměť",
|
||||
"cache_settings_clear_cache_button_title": "Vymaže vyrovnávací paměť aplikace. To výrazně ovlivní výkon aplikace, dokud se vyrovnávací paměť neobnoví.",
|
||||
"cache_settings_duplicated_assets_clear_button": "VYMAZAT",
|
||||
"cache_settings_duplicated_assets_subtitle": "Fotografie a videa, které aplikace zařadila na černou listinu",
|
||||
"cache_settings_duplicated_assets_title": "Duplicitní položky ({})",
|
||||
"cache_settings_image_cache_size": "Velikost vyrovnávací paměti (položek {})",
|
||||
"cache_settings_duplicated_assets_title": "Duplicitní položky ({count})",
|
||||
"cache_settings_image_cache_size": "Velikost vyrovnávací paměti ({count} položek)",
|
||||
"cache_settings_statistics_album": "Knihovna náhledů",
|
||||
"cache_settings_statistics_assets": "{} položky ({})",
|
||||
"cache_settings_statistics_assets": "{count, plural, one {# položka} few {# položky} other {# položek}} ({size})",
|
||||
"cache_settings_statistics_full": "Kompletní fotografie",
|
||||
"cache_settings_statistics_shared": "Sdílené náhledy alb",
|
||||
"cache_settings_statistics_thumbnail": "Náhledy",
|
||||
"cache_settings_statistics_title": "Použití vyrovnávací paměti",
|
||||
"cache_settings_subtitle": "Ovládání chování mobilní aplikace Immich v mezipaměti",
|
||||
"cache_settings_thumbnail_size": "Velikost vyrovnávací paměti náhledů (položek {})",
|
||||
"cache_settings_thumbnail_size": "Velikost vyrovnávací paměti náhledů ({count, plural, one {# položka} few {# položky} other {# položek}})",
|
||||
"cache_settings_tile_subtitle": "Ovládání chování místního úložiště",
|
||||
"cache_settings_tile_title": "Místní úložiště",
|
||||
"cache_settings_title": "Nastavení vyrovnávací paměti",
|
||||
@@ -614,6 +612,7 @@
|
||||
"change_password_form_new_password": "Nové heslo",
|
||||
"change_password_form_password_mismatch": "Hesla se neshodují",
|
||||
"change_password_form_reenter_new_password": "Znovu zadejte nové heslo",
|
||||
"change_pin_code": "Změnit PIN kód",
|
||||
"change_your_password": "Změna vašeho hesla",
|
||||
"changed_visibility_successfully": "Změna viditelnosti proběhla úspěšně",
|
||||
"check_all": "Zkontrolovat vše",
|
||||
@@ -654,11 +653,12 @@
|
||||
"confirm_delete_face": "Opravdu chcete z položky odstranit obličej osoby {name}?",
|
||||
"confirm_delete_shared_link": "Opravdu chcete odstranit tento sdílený odkaz?",
|
||||
"confirm_keep_this_delete_others": "Všechny ostatní položky v tomto uskupení mimo této budou odstraněny. Opravdu chcete pokračovat?",
|
||||
"confirm_new_pin_code": "Potvrzení nového PIN kódu",
|
||||
"confirm_password": "Potvrzení hesla",
|
||||
"contain": "Obsah",
|
||||
"context": "Kontext",
|
||||
"continue": "Pokračovat",
|
||||
"control_bottom_app_bar_album_info_shared": "{} položky – sdílené",
|
||||
"control_bottom_app_bar_album_info_shared": "{count, plural, one {# položka – sdílená} few {# položky – sdílené} other {# položek – sdílených}}",
|
||||
"control_bottom_app_bar_create_new_album": "Vytvořit nové album",
|
||||
"control_bottom_app_bar_delete_from_immich": "Smazat ze serveru Immich",
|
||||
"control_bottom_app_bar_delete_from_local": "Smazat ze zařízení",
|
||||
@@ -696,9 +696,11 @@
|
||||
"create_tag_description": "Vytvoření nové značky. U vnořených značek zadejte celou cestu ke značce včetně dopředných lomítek.",
|
||||
"create_user": "Vytvořit uživatele",
|
||||
"created": "Vytvořeno",
|
||||
"created_at": "Vytvořeno",
|
||||
"crop": "Oříznout",
|
||||
"curated_object_page_title": "Věci",
|
||||
"current_device": "Současné zařízení",
|
||||
"current_pin_code": "Aktuální PIN kód",
|
||||
"current_server_address": "Aktuální adresa serveru",
|
||||
"custom_locale": "Vlastní lokalizace",
|
||||
"custom_locale_description": "Formátovat datumy a čísla podle jazyka a oblasti",
|
||||
@@ -767,7 +769,7 @@
|
||||
"download_enqueue": "Stahování ve frontě",
|
||||
"download_error": "Chyba při stahování",
|
||||
"download_failed": "Stahování selhalo",
|
||||
"download_filename": "soubor: {}",
|
||||
"download_filename": "soubor: {filename}",
|
||||
"download_finished": "Stahování dokončeno",
|
||||
"download_include_embedded_motion_videos": "Vložená videa",
|
||||
"download_include_embedded_motion_videos_description": "Zahrnout videa vložená do pohyblivých fotografií jako samostatný soubor",
|
||||
@@ -811,6 +813,7 @@
|
||||
"editor_crop_tool_h2_aspect_ratios": "Poměr stran",
|
||||
"editor_crop_tool_h2_rotation": "Otočení",
|
||||
"email": "E-mail",
|
||||
"email_notifications": "E-mailová oznámení",
|
||||
"empty_folder": "Tato složka je prázdná",
|
||||
"empty_trash": "Vyprázdnit koš",
|
||||
"empty_trash_confirmation": "Opravdu chcete vysypat koš? Tím se z Immiche trvale odstraní všechny položky v koši.\nTuto akci nelze vrátit zpět!",
|
||||
@@ -818,12 +821,12 @@
|
||||
"enabled": "Povoleno",
|
||||
"end_date": "Konečné datum",
|
||||
"enqueued": "Ve frontě",
|
||||
"enter_wifi_name": "Zadejte název WiFi",
|
||||
"enter_wifi_name": "Zadejte název Wi-Fi",
|
||||
"error": "Chyba",
|
||||
"error_change_sort_album": "Nepodařilo se změnit pořadí alba",
|
||||
"error_delete_face": "Chyba při odstraňování obličeje z položky",
|
||||
"error_loading_image": "Chyba při načítání obrázku",
|
||||
"error_saving_image": "Chyba: {}",
|
||||
"error_saving_image": "Chyba: {error}",
|
||||
"error_title": "Chyba - Něco se pokazilo",
|
||||
"errors": {
|
||||
"cannot_navigate_next_asset": "Nelze přejít na další položku",
|
||||
@@ -853,10 +856,12 @@
|
||||
"failed_to_keep_this_delete_others": "Nepodařilo se zachovat tuto položku a odstranit ostatní položky",
|
||||
"failed_to_load_asset": "Nepodařilo se načíst položku",
|
||||
"failed_to_load_assets": "Nepodařilo se načíst položky",
|
||||
"failed_to_load_notifications": "Nepodařilo se načíst oznámení",
|
||||
"failed_to_load_people": "Chyba načítání osob",
|
||||
"failed_to_remove_product_key": "Nepodařilo se odebrat klíč produktu",
|
||||
"failed_to_stack_assets": "Nepodařilo se seskupit položky",
|
||||
"failed_to_unstack_assets": "Nepodařilo se rozložit položky",
|
||||
"failed_to_update_notification_status": "Nepodařilo se aktualizovat stav oznámení",
|
||||
"import_path_already_exists": "Tato cesta importu již existuje.",
|
||||
"incorrect_email_or_password": "Nesprávný e-mail nebo heslo",
|
||||
"paths_validation_failed": "{paths, plural, one {# cesta neprošla} few {# cesty neprošly} other {# cest neprošlo}} kontrolou",
|
||||
@@ -924,6 +929,7 @@
|
||||
"unable_to_remove_reaction": "Nelze odstranit reakci",
|
||||
"unable_to_repair_items": "Nelze opravit položky",
|
||||
"unable_to_reset_password": "Nelze obnovit heslo",
|
||||
"unable_to_reset_pin_code": "Nelze resetovat PIN kód",
|
||||
"unable_to_resolve_duplicate": "Nelze vyřešit duplicitu",
|
||||
"unable_to_restore_assets": "Nelze obnovit položky",
|
||||
"unable_to_restore_trash": "Nelze obnovit koš",
|
||||
@@ -957,10 +963,10 @@
|
||||
"exif_bottom_sheet_location": "POLOHA",
|
||||
"exif_bottom_sheet_people": "LIDÉ",
|
||||
"exif_bottom_sheet_person_add_person": "Přidat jméno",
|
||||
"exif_bottom_sheet_person_age": "{} let",
|
||||
"exif_bottom_sheet_person_age_months": "{} měsíců",
|
||||
"exif_bottom_sheet_person_age_year_months": "1 rok a {} měsíců",
|
||||
"exif_bottom_sheet_person_age_years": "{} let",
|
||||
"exif_bottom_sheet_person_age": "Věk {age, plural, one {# rok} few {# roky} other {# let}}",
|
||||
"exif_bottom_sheet_person_age_months": "Věk {months, plural, one {# měsíc} few {# měsíce} other {# měsíců}}",
|
||||
"exif_bottom_sheet_person_age_year_months": "Věk 1 rok, {months, plural, one {# měsíc} other {# měsíce}}",
|
||||
"exif_bottom_sheet_person_age_years": "Věk {years, plural, one {# rok} few {# roky} other {# let}}",
|
||||
"exit_slideshow": "Ukončit prezentaci",
|
||||
"expand_all": "Rozbalit vše",
|
||||
"experimental_settings_new_asset_list_subtitle": "Zpracovávám",
|
||||
@@ -978,7 +984,7 @@
|
||||
"external": "Externí",
|
||||
"external_libraries": "Externí knihovny",
|
||||
"external_network": "Externí síť",
|
||||
"external_network_sheet_info": "Pokud nejste v preferované síti WiFi, aplikace se připojí k serveru prostřednictvím první z níže uvedených adres URL, které může dosáhnout, počínaje shora dolů",
|
||||
"external_network_sheet_info": "Pokud nejste v preferované síti Wi-Fi, aplikace se připojí k serveru prostřednictvím první z níže uvedených adres URL, které může dosáhnout, počínaje shora dolů",
|
||||
"face_unassigned": "Nepřiřazena",
|
||||
"failed": "Selhalo",
|
||||
"failed_to_load_assets": "Nepodařilo se načíst položky",
|
||||
@@ -1050,6 +1056,7 @@
|
||||
"home_page_upload_err_limit": "Lze nahrát nejvýše 30 položek najednou, přeskakuji",
|
||||
"host": "Hostitel",
|
||||
"hour": "Hodina",
|
||||
"id": "ID",
|
||||
"ignore_icloud_photos": "Ignorovat fotografie na iCloudu",
|
||||
"ignore_icloud_photos_description": "Fotografie uložené na iCloudu se nebudou nahrávat na Immich server",
|
||||
"image": "Obrázek",
|
||||
@@ -1125,7 +1132,7 @@
|
||||
"local_network": "Místní síť",
|
||||
"local_network_sheet_info": "Aplikace se při použití zadané sítě Wi-Fi připojí k serveru prostřednictvím tohoto URL",
|
||||
"location_permission": "Oprávnění polohy",
|
||||
"location_permission_content": "Aby bylo možné používat funkci automatického přepínání, potřebuje Immich oprávnění k přesné poloze, aby mohl přečíst název aktuální WiFi sítě",
|
||||
"location_permission_content": "Aby bylo možné používat funkci automatického přepínání, potřebuje Immich oprávnění k přesné poloze, aby mohl přečíst název aktuální sítě Wi-Fi",
|
||||
"location_picker_choose_on_map": "Vyberte na mapě",
|
||||
"location_picker_latitude_error": "Zadejte platnou zeměpisnou šířku",
|
||||
"location_picker_latitude_hint": "Zadejte vlastní zeměpisnou šířku",
|
||||
@@ -1175,8 +1182,8 @@
|
||||
"manage_your_devices": "Správa přihlášených zařízení",
|
||||
"manage_your_oauth_connection": "Správa OAuth propojení",
|
||||
"map": "Mapa",
|
||||
"map_assets_in_bound": "{} fotka",
|
||||
"map_assets_in_bounds": "{} fotek",
|
||||
"map_assets_in_bound": "{count, plural, one {# fotka} few {# fotky} other {# fotek}}",
|
||||
"map_assets_in_bounds": "{count, plural, one {# fotka} few {# fotky} other {# fotek}}",
|
||||
"map_cannot_get_user_location": "Nelze zjistit polohu uživatele",
|
||||
"map_location_dialog_yes": "Ano",
|
||||
"map_location_picker_page_use_location": "Použít tuto polohu",
|
||||
@@ -1190,15 +1197,18 @@
|
||||
"map_settings": "Nastavení mapy",
|
||||
"map_settings_dark_mode": "Tmavý režim",
|
||||
"map_settings_date_range_option_day": "Posledních 24 hodin",
|
||||
"map_settings_date_range_option_days": "Posledních {} dní",
|
||||
"map_settings_date_range_option_days": "Posledních {days, plural, one {# den} few {# dny} other {# dní}}",
|
||||
"map_settings_date_range_option_year": "Poslední rok",
|
||||
"map_settings_date_range_option_years": "Poslední {} roky",
|
||||
"map_settings_date_range_option_years": "Poslední {years, plural, one {# rok} few {# roky} other {# roky}}",
|
||||
"map_settings_dialog_title": "Nastavení map",
|
||||
"map_settings_include_show_archived": "Zahrnout archivované",
|
||||
"map_settings_include_show_partners": "Včetně partnerů",
|
||||
"map_settings_only_show_favorites": "Zobrazit pouze oblíbené",
|
||||
"map_settings_theme_settings": "Motiv mapy",
|
||||
"map_zoom_to_see_photos": "Oddálit pro zobrazení fotografií",
|
||||
"mark_all_as_read": "Označit vše jako přečtené",
|
||||
"mark_as_read": "Označit jako přečtené",
|
||||
"marked_all_as_read": "Vše označeno jako přečtené",
|
||||
"matches": "Shody",
|
||||
"media_type": "Typ média",
|
||||
"memories": "Vzpomínky",
|
||||
@@ -1208,7 +1218,7 @@
|
||||
"memories_start_over": "Začít znovu",
|
||||
"memories_swipe_to_close": "Přejetím nahoru zavřete",
|
||||
"memories_year_ago": "Před rokem",
|
||||
"memories_years_ago": "Před {} lety",
|
||||
"memories_years_ago": "Před {years, plural, one {# rokem} few {# roky} other {# lety}}",
|
||||
"memory": "Vzpomínka",
|
||||
"memory_lane_title": "Řada vzpomínek {title}",
|
||||
"menu": "Nabídka",
|
||||
@@ -1225,6 +1235,8 @@
|
||||
"month": "Měsíc",
|
||||
"monthly_title_text_date_format": "LLLL y",
|
||||
"more": "Více",
|
||||
"moved_to_archive": "{count, plural, one {Přesunuta # položka} few {Přesunuty # položky} other {Přesunuto # položek}} do archivu",
|
||||
"moved_to_library": "{count, plural, one {Přesunuta # položka} few {Přesunuty # položky} other {Přesunuto # položek}} do knihovny",
|
||||
"moved_to_trash": "Přesunuto do koše",
|
||||
"multiselect_grid_edit_date_time_err_read_only": "Nelze upravit datum položek pouze pro čtení, přeskakuji",
|
||||
"multiselect_grid_edit_gps_err_read_only": "Nelze upravit polohu položek pouze pro čtení, přeskakuji",
|
||||
@@ -1239,6 +1251,7 @@
|
||||
"new_api_key": "Nový API klíč",
|
||||
"new_password": "Nové heslo",
|
||||
"new_person": "Nová osoba",
|
||||
"new_pin_code": "Nový PIN kód",
|
||||
"new_user_created": "Vytvořen nový uživatel",
|
||||
"new_version_available": "NOVÁ VERZE K DISPOZICI",
|
||||
"newest_first": "Nejnovější první",
|
||||
@@ -1257,6 +1270,8 @@
|
||||
"no_favorites_message": "Přidejte si oblíbené položky a rychle najděte své nejlepší obrázky a videa",
|
||||
"no_libraries_message": "Vytvořte si externí knihovnu pro zobrazení fotografií a videí",
|
||||
"no_name": "Bez jména",
|
||||
"no_notifications": "Žádná oznámení",
|
||||
"no_people_found": "Nebyli nalezeni žádní odpovídající lidé",
|
||||
"no_places": "Žádná místa",
|
||||
"no_results": "Žádné výsledky",
|
||||
"no_results_description": "Zkuste použít synonymum nebo obecnější klíčové slovo",
|
||||
@@ -1311,7 +1326,7 @@
|
||||
"partner_page_partner_add_failed": "Nepodařilo se přidat partnera",
|
||||
"partner_page_select_partner": "Vyberte partnera",
|
||||
"partner_page_shared_to_title": "Sdíleno",
|
||||
"partner_page_stop_sharing_content": "{} již nebude mít přístup k vašim fotografiím.",
|
||||
"partner_page_stop_sharing_content": "{partner} již nebude mít přístup k vašim fotografiím.",
|
||||
"partner_sharing": "Sdílení mezi partnery",
|
||||
"partners": "Partneři",
|
||||
"password": "Heslo",
|
||||
@@ -1357,6 +1372,9 @@
|
||||
"photos_count": "{count, plural, one {{count, number} fotka} few {{count, number} fotky} other {{count, number} fotek}}",
|
||||
"photos_from_previous_years": "Fotky z předchozích let",
|
||||
"pick_a_location": "Vyberte polohu",
|
||||
"pin_code_changed_successfully": "PIN kód byl úspěšně změněn",
|
||||
"pin_code_reset_successfully": "PIN kód úspěšně resetován",
|
||||
"pin_code_setup_successfully": "PIN kód úspěšně nastaven",
|
||||
"place": "Místo",
|
||||
"places": "Místa",
|
||||
"places_count": "{count, plural, one {{count, number} místo} few {{count, number} místa} other {{count, number} míst}}",
|
||||
@@ -1374,6 +1392,7 @@
|
||||
"previous_or_next_photo": "Předchozí nebo další fotka",
|
||||
"primary": "Primární",
|
||||
"privacy": "Soukromí",
|
||||
"profile": "Profil",
|
||||
"profile_drawer_app_logs": "Logy",
|
||||
"profile_drawer_client_out_of_date_major": "Mobilní aplikace je zastaralá. Aktualizujte ji na nejnovější hlavní verzi.",
|
||||
"profile_drawer_client_out_of_date_minor": "Mobilní aplikace je zastaralá. Aktualizujte ji na nejnovější verzi.",
|
||||
@@ -1387,7 +1406,7 @@
|
||||
"public_share": "Veřejné sdílení",
|
||||
"purchase_account_info": "Podporovatel",
|
||||
"purchase_activated_subtitle": "Děkujeme vám za podporu aplikace Immich a softwaru s otevřeným zdrojovým kódem",
|
||||
"purchase_activated_time": "Aktivováno dne {date, date}",
|
||||
"purchase_activated_time": "Aktivováno dne {date}",
|
||||
"purchase_activated_title": "Váš klíč byl úspěšně aktivován",
|
||||
"purchase_button_activate": "Aktivovat",
|
||||
"purchase_button_buy": "Koupit",
|
||||
@@ -1432,6 +1451,8 @@
|
||||
"recent_searches": "Nedávná vyhledávání",
|
||||
"recently_added": "Nedávno přidané",
|
||||
"recently_added_page_title": "Nedávno přidané",
|
||||
"recently_taken": "Nedávno pořízené",
|
||||
"recently_taken_page_title": "Nedávno pořízené",
|
||||
"refresh": "Obnovit",
|
||||
"refresh_encoded_videos": "Obnovit kódovaná videa",
|
||||
"refresh_faces": "Obnovit obličeje",
|
||||
@@ -1474,6 +1495,7 @@
|
||||
"reset": "Výchozí",
|
||||
"reset_password": "Obnovit heslo",
|
||||
"reset_people_visibility": "Obnovit viditelnost lidí",
|
||||
"reset_pin_code": "Resetovat PIN kód",
|
||||
"reset_to_default": "Obnovit výchozí nastavení",
|
||||
"resolve_duplicates": "Vyřešit duplicity",
|
||||
"resolved_all_duplicates": "Vyřešeny všechny duplicity",
|
||||
@@ -1566,6 +1588,7 @@
|
||||
"select_keep_all": "Vybrat ponechat vše",
|
||||
"select_library_owner": "Vyberte vlastníka knihovny",
|
||||
"select_new_face": "Výběr nového obličeje",
|
||||
"select_person_to_tag": "Vyberte osobu, kterou chcete označit",
|
||||
"select_photos": "Vybrat fotky",
|
||||
"select_trash_all": "Vybrat vyhodit vše",
|
||||
"select_user_for_sharing_page_err_album": "Nepodařilo se vytvořit album",
|
||||
@@ -1596,12 +1619,12 @@
|
||||
"setting_languages_apply": "Použít",
|
||||
"setting_languages_subtitle": "Změna jazyka aplikace",
|
||||
"setting_languages_title": "Jazyk",
|
||||
"setting_notifications_notify_failures_grace_period": "Oznámení o selhání zálohování na pozadí: {}",
|
||||
"setting_notifications_notify_hours": "{} hodin",
|
||||
"setting_notifications_notify_failures_grace_period": "Oznámení o selhání zálohování na pozadí: {duration}",
|
||||
"setting_notifications_notify_hours": "{count, plural, one {# hodina} few {# hodiny} other {# hodin}}",
|
||||
"setting_notifications_notify_immediately": "okamžitě",
|
||||
"setting_notifications_notify_minutes": "{} minut",
|
||||
"setting_notifications_notify_minutes": "{count, plural, one {# minuta} few {# minuty} other {# minut}}",
|
||||
"setting_notifications_notify_never": "nikdy",
|
||||
"setting_notifications_notify_seconds": "{} sekundy",
|
||||
"setting_notifications_notify_seconds": "{count, plural, one {# sekunda} few {# sekundy} other {# sekund}}",
|
||||
"setting_notifications_single_progress_subtitle": "Podrobné informace o průběhu nahrávání položky",
|
||||
"setting_notifications_single_progress_title": "Zobrazit průběh detailů zálohování na pozadí",
|
||||
"setting_notifications_subtitle": "Přizpůsobení předvoleb oznámení",
|
||||
@@ -1613,9 +1636,10 @@
|
||||
"settings": "Nastavení",
|
||||
"settings_require_restart": "Pro použití tohoto nastavení restartujte Immich",
|
||||
"settings_saved": "Nastavení uloženo",
|
||||
"setup_pin_code": "Nastavení PIN kódu",
|
||||
"share": "Sdílet",
|
||||
"share_add_photos": "Přidat fotografie",
|
||||
"share_assets_selected": "{} vybráno",
|
||||
"share_assets_selected": "{count} vybráno",
|
||||
"share_dialog_preparing": "Připravuji...",
|
||||
"shared": "Sdílené",
|
||||
"shared_album_activities_input_disable": "Komentář je vypnutý",
|
||||
@@ -1629,32 +1653,32 @@
|
||||
"shared_by_user": "Sdílel(a) {user}",
|
||||
"shared_by_you": "Sdíleli jste",
|
||||
"shared_from_partner": "Fotky od {partner}",
|
||||
"shared_intent_upload_button_progress_text": "{} / {} nahráno",
|
||||
"shared_intent_upload_button_progress_text": "{current} / {total} nahráno",
|
||||
"shared_link_app_bar_title": "Sdílené odkazy",
|
||||
"shared_link_clipboard_copied_massage": "Zkopírováno do schránky",
|
||||
"shared_link_clipboard_text": "Odkaz: {}\nHeslo: {}",
|
||||
"shared_link_clipboard_text": "Odkaz: {link}\nHeslo: {password}",
|
||||
"shared_link_create_error": "Chyba při vytváření sdíleného odkazu",
|
||||
"shared_link_edit_description_hint": "Zadejte popis sdílení",
|
||||
"shared_link_edit_expire_after_option_day": "1 den",
|
||||
"shared_link_edit_expire_after_option_days": "{} dní",
|
||||
"shared_link_edit_expire_after_option_days": "{count, plural, one {# den} few {# dny} other {# dní}}",
|
||||
"shared_link_edit_expire_after_option_hour": "1 hodina",
|
||||
"shared_link_edit_expire_after_option_hours": "{} hodin",
|
||||
"shared_link_edit_expire_after_option_hours": "{count, plural, one {# hodina} few {# hodiny} other {# hodin}}",
|
||||
"shared_link_edit_expire_after_option_minute": "1 minuta",
|
||||
"shared_link_edit_expire_after_option_minutes": "{} minut",
|
||||
"shared_link_edit_expire_after_option_months": "{} měsíce",
|
||||
"shared_link_edit_expire_after_option_year": "{} rok",
|
||||
"shared_link_edit_expire_after_option_minutes": "{count, plural, one {# minuta} few {# minuty} other {# minut}}",
|
||||
"shared_link_edit_expire_after_option_months": "{count, plural, one {# měsíc} few {# měsíce} other {# měsíců}}",
|
||||
"shared_link_edit_expire_after_option_year": "{count, plural, one {# rok} few {# roky} other {# let}}",
|
||||
"shared_link_edit_password_hint": "Zadejte heslo pro sdílení",
|
||||
"shared_link_edit_submit_button": "Aktualizovat odkaz",
|
||||
"shared_link_error_server_url_fetch": "Nelze načíst url serveru",
|
||||
"shared_link_expires_day": "Vyprší za {} den",
|
||||
"shared_link_expires_days": "Vyprší za {} dní",
|
||||
"shared_link_expires_hour": "Vyprší za {} hodinu",
|
||||
"shared_link_expires_hours": "Vyprší za {} hodin",
|
||||
"shared_link_expires_minute": "Vyprší za {} minutu",
|
||||
"shared_link_expires_minutes": "Vyprší za {} minut",
|
||||
"shared_link_expires_day": "Vyprší za {count, plural, one {# den} few {# dny} other {# dní}}",
|
||||
"shared_link_expires_days": "Vyprší za {count, plural, one {# den} few {# dny} other {# dní}}",
|
||||
"shared_link_expires_hour": "Vyprší za {count, plural, one {# hodina} few {# hodiny} other {# hodin}}",
|
||||
"shared_link_expires_hours": "Vyprší za {count, plural, one {# hodina} few {# hodiny} other {# hodin}}",
|
||||
"shared_link_expires_minute": "Vyprší za {count, plural, one {# minuta} few {# minuty} other {# minut}}",
|
||||
"shared_link_expires_minutes": "Vyprší za {count, plural, one {# minuta} few {# minuty} other {# minut}}",
|
||||
"shared_link_expires_never": "Platnost ∞",
|
||||
"shared_link_expires_second": "Vyprší za {} sekundu",
|
||||
"shared_link_expires_seconds": "Vyprší za {} sekund",
|
||||
"shared_link_expires_second": "Vyprší za {count, plural, one {# sekunda} few {# sekundy} other {# sekund}}",
|
||||
"shared_link_expires_seconds": "Vyprší za {count, plural, one {# sekunda} few {# sekundy} other {# sekund}}",
|
||||
"shared_link_individual_shared": "Individuální sdílení",
|
||||
"shared_link_info_chip_metadata": "EXIF",
|
||||
"shared_link_manage_links": "Spravovat sdílené odkazy",
|
||||
@@ -1729,6 +1753,7 @@
|
||||
"stop_sharing_photos_with_user": "Přestat sdílet své fotky s tímto uživatelem",
|
||||
"storage": "Velikost úložiště",
|
||||
"storage_label": "Štítek úložiště",
|
||||
"storage_quota": "Kvóta úložiště",
|
||||
"storage_usage": "Využito {used} z {available}",
|
||||
"submit": "Odeslat",
|
||||
"suggestions": "Návrhy",
|
||||
@@ -1755,7 +1780,7 @@
|
||||
"theme_selection": "Výběr motivu",
|
||||
"theme_selection_description": "Automatické nastavení světlého nebo tmavého motivu podle systémových preferencí prohlížeče",
|
||||
"theme_setting_asset_list_storage_indicator_title": "Zobrazit indikátor úložiště na dlaždicích položek",
|
||||
"theme_setting_asset_list_tiles_per_row_title": "Počet položek na řádek ({})",
|
||||
"theme_setting_asset_list_tiles_per_row_title": "Počet položek na řádek ({count})",
|
||||
"theme_setting_colorful_interface_subtitle": "Použít hlavní barvu na povrchy pozadí.",
|
||||
"theme_setting_colorful_interface_title": "Barevné rozhraní",
|
||||
"theme_setting_image_viewer_quality_subtitle": "Přizpůsobení kvality detailů prohlížeče obrázků",
|
||||
@@ -1790,13 +1815,15 @@
|
||||
"trash_no_results_message": "Zde se zobrazí odstraněné fotky a videa.",
|
||||
"trash_page_delete_all": "Smazat všechny",
|
||||
"trash_page_empty_trash_dialog_content": "Chcete vyprázdnit svoje vyhozené položky? Tyto položky budou trvale odstraněny z aplikace",
|
||||
"trash_page_info": "Vyhozené položky budou trvale smazány po {} dnech",
|
||||
"trash_page_info": "Vyhozené položky budou trvale smazány po {count, plural, one {# dni} other {# dnech}}",
|
||||
"trash_page_no_assets": "Žádné vyhozené položky",
|
||||
"trash_page_restore_all": "Obnovit všechny",
|
||||
"trash_page_select_assets_btn": "Vybrat položky",
|
||||
"trash_page_title": "Koš ({})",
|
||||
"trash_page_title": "Koš ({count})",
|
||||
"trashed_items_will_be_permanently_deleted_after": "Smazané položky budou trvale odstraněny po {days, plural, one {# dni} other {# dnech}}.",
|
||||
"type": "Typ",
|
||||
"unable_to_change_pin_code": "Nelze změnit PIN kód",
|
||||
"unable_to_setup_pin_code": "Nelze nastavit PIN kód",
|
||||
"unarchive": "Odarchivovat",
|
||||
"unarchived_count": "{count, plural, one {Odarchivována #} few {Odarchivovány #} other {Odarchivováno #}}",
|
||||
"unfavorite": "Zrušit oblíbení",
|
||||
@@ -1820,6 +1847,7 @@
|
||||
"untracked_files": "Nesledované soubory",
|
||||
"untracked_files_decription": "Tyto soubory nejsou aplikaci známy. Mohou být výsledkem neúspěšných přesunů, přerušeného nahrávání nebo mohou zůstat pozadu kvůli chybě",
|
||||
"up_next": "To je prozatím vše",
|
||||
"updated_at": "Aktualizováno",
|
||||
"updated_password": "Heslo aktualizováno",
|
||||
"upload": "Nahrát",
|
||||
"upload_concurrency": "Souběžnost nahrávání",
|
||||
@@ -1832,15 +1860,18 @@
|
||||
"upload_status_errors": "Chyby",
|
||||
"upload_status_uploaded": "Nahráno",
|
||||
"upload_success": "Nahrání proběhlo úspěšně, obnovením stránky se zobrazí nově nahrané položky.",
|
||||
"upload_to_immich": "Nahrát do Immiche ({})",
|
||||
"upload_to_immich": "Nahrát do Immich ({count})",
|
||||
"uploading": "Nahrávání",
|
||||
"url": "URL",
|
||||
"usage": "Využití",
|
||||
"use_current_connection": "použít aktuální připojení",
|
||||
"use_custom_date_range": "Použít vlastní rozsah dat",
|
||||
"user": "Uživatel",
|
||||
"user_has_been_deleted": "Tento uživatel byl smazán.",
|
||||
"user_id": "ID uživatele",
|
||||
"user_liked": "Uživateli {user} se {type, select, photo {líbila tato fotka} video {líbilo toto video} asset {líbila tato položka} other {to líbilo}}",
|
||||
"user_pin_code_settings": "PIN kód",
|
||||
"user_pin_code_settings_description": "Správa vašeho PIN kódu",
|
||||
"user_purchase_settings": "Nákup",
|
||||
"user_purchase_settings_description": "Správa vašeho nákupu",
|
||||
"user_role_set": "Uživatel {user} nastaven jako {role}",
|
||||
@@ -1889,11 +1920,11 @@
|
||||
"week": "Týden",
|
||||
"welcome": "Vítejte",
|
||||
"welcome_to_immich": "Vítejte v Immichi",
|
||||
"wifi_name": "Název WiFi",
|
||||
"wifi_name": "Název Wi-Fi",
|
||||
"year": "Rok",
|
||||
"years_ago": "Před {years, plural, one {rokem} other {# lety}}",
|
||||
"yes": "Ano",
|
||||
"you_dont_have_any_shared_links": "Nemáte žádné sdílené odkazy",
|
||||
"your_wifi_name": "Váš název WiFi",
|
||||
"your_wifi_name": "Název vaší Wi-Fi",
|
||||
"zoom_image": "Zvětšit obrázek"
|
||||
}
|
||||
|
||||
12
i18n/da.json
12
i18n/da.json
@@ -72,6 +72,9 @@
|
||||
"image_format_description": "WebP producerer mindre filer end JPEG, men er langsommere at komprimere.",
|
||||
"image_fullsize_description": "Fuld størrelses billede uden metadata, brugt når zoomet ind",
|
||||
"image_fullsize_enabled": "Aktiver fuld størrelses billede generering",
|
||||
"image_fullsize_enabled_description": "Generer fuld-størrelses billede for ikke-web-venlige formater. Når \"Foretræk indlejret forhåndsvisning\" er slået til, bliver indlejrede forhåndsvisninger brugt direkte uden konvertering. Påvirker ikke web-venlige formater såsom JPEG.",
|
||||
"image_fullsize_quality_description": "Fuld-størrelses billede kvalitet fra 1-100. Højere er bedre, men producerer større filer.",
|
||||
"image_fullsize_title": "Full-størrelses billede indstillinger",
|
||||
"image_prefer_embedded_preview": "Foretræk indlejret forhåndsvisning",
|
||||
"image_prefer_embedded_preview_setting_description": "Brug indlejrede forhåndsvisninger i RAW fotos som input til billedbehandling og når det er tilgængeligt. Dette kan give mere nøjagtige farver for nogle billeder, men kvaliteten af forhåndsvisningen er kameraafhængig, og billedet kan have flere komprimeringsartefakter.",
|
||||
"image_prefer_wide_gamut": "Foretrækker bred farveskala",
|
||||
@@ -189,20 +192,13 @@
|
||||
"oauth_auto_register": "Autoregistrér",
|
||||
"oauth_auto_register_description": "Registrér automatisk nye brugere efter at have logget ind med OAuth",
|
||||
"oauth_button_text": "Knaptekst",
|
||||
"oauth_client_id": "Kunde-ID",
|
||||
"oauth_client_secret": "Kundehemmelighed",
|
||||
"oauth_enable_description": "Log ind med OAuth",
|
||||
"oauth_issuer_url": "Udsteder-URL",
|
||||
"oauth_mobile_redirect_uri": "Mobilomdiregerings-URL",
|
||||
"oauth_mobile_redirect_uri_override": "Tilsidesættelse af mobil omdiregerings-URL",
|
||||
"oauth_mobile_redirect_uri_override_description": "Aktiver, når OAuth-udbyderen ikke tillader en mobil URI, som '{callback}'",
|
||||
"oauth_profile_signing_algorithm": "Log-ind-algoritme",
|
||||
"oauth_profile_signing_algorithm_description": "Algoritme til signering af brugerprofilen.",
|
||||
"oauth_scope": "Omfang",
|
||||
"oauth_settings": "OAuth",
|
||||
"oauth_settings_description": "Administrer OAuth login-indstillinger",
|
||||
"oauth_settings_more_details": "Læs flere detaljer om funktionen i <link>dokumentationen</link>.",
|
||||
"oauth_signing_algorithm": "Signeringsalgoritme",
|
||||
"oauth_storage_label_claim": "Lagringsmærkat fordring",
|
||||
"oauth_storage_label_claim_description": "Sæt automatisk brugerens lagringsmærkat til denne fordrings værdi.",
|
||||
"oauth_storage_quota_claim": "Lagringskvotefordring",
|
||||
@@ -1378,7 +1374,7 @@
|
||||
"public_share": "Offentlig deling",
|
||||
"purchase_account_info": "Supporter",
|
||||
"purchase_activated_subtitle": "Tak fordi du støtter Immich og open source-software",
|
||||
"purchase_activated_time": "Aktiveret den {date, date}",
|
||||
"purchase_activated_time": "Aktiveret den {date}",
|
||||
"purchase_activated_title": "Din nøgle er blevet aktiveret",
|
||||
"purchase_button_activate": "Aktiver",
|
||||
"purchase_button_buy": "Køb",
|
||||
|
||||
193
i18n/de.json
193
i18n/de.json
@@ -53,6 +53,7 @@
|
||||
"confirm_email_below": "Bestätige, indem du unten \"{email}\" eingibst",
|
||||
"confirm_reprocess_all_faces": "Bist du sicher, dass du alle Gesichter erneut verarbeiten möchtest? Dies löscht auch alle bereits benannten Personen.",
|
||||
"confirm_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?",
|
||||
"create_job": "Aufgabe erstellen",
|
||||
"cron_expression": "Cron-Ausdruck",
|
||||
"cron_expression_description": "Stellen Sie das Scanintervall im Cron-Format ein. Weitere Informationen finden Sie beispielsweise unter <link>Crontab Guru</link>",
|
||||
@@ -106,7 +107,7 @@
|
||||
"library_scanning_enable_description": "Regelmäßiges Scannen der Bibliothek aktivieren",
|
||||
"library_settings": "Externe Bibliothek",
|
||||
"library_settings_description": "Einstellungen externer Bibliotheken verwalten",
|
||||
"library_tasks_description": "Überprüfe externe Bibliotheken auf neue oder veränderte Medien",
|
||||
"library_tasks_description": "Überprüfe externe Bibliotheken auf neue und/oder veränderte Medien",
|
||||
"library_watching_enable_description": "Überwache externe Bibliotheken auf Dateiänderungen",
|
||||
"library_watching_settings": "Bibliotheksüberwachung (EXPERIMENTELL)",
|
||||
"library_watching_settings_description": "Automatisch auf geänderte Dateien prüfen",
|
||||
@@ -192,32 +193,28 @@
|
||||
"oauth_auto_register": "Automatische Registrierung",
|
||||
"oauth_auto_register_description": "Automatische Registrierung neuer Benutzer nach der OAuth-Anmeldung",
|
||||
"oauth_button_text": "Button-Text",
|
||||
"oauth_client_id": "Client-ID",
|
||||
"oauth_client_secret": "Client-Geheimnis",
|
||||
"oauth_client_secret_description": "Erforderlich wenn PKCE (Proof Key for Code Exchange) nicht vom OAuth- Anbieter unterstützt wird",
|
||||
"oauth_enable_description": "Anmeldung mit OAuth",
|
||||
"oauth_issuer_url": "Aussteller-URL",
|
||||
"oauth_mobile_redirect_uri": "Mobile Umleitungs-URI",
|
||||
"oauth_mobile_redirect_uri_override": "Mobile Umleitungs-URI überschreiben",
|
||||
"oauth_mobile_redirect_uri_override_description": "Einschalten, wenn der OAuth-Anbieter keine mobile URI wie '{callback}' erlaubt",
|
||||
"oauth_profile_signing_algorithm": "Algorithmus zur Profilsignierung",
|
||||
"oauth_profile_signing_algorithm_description": "Dieser Algorithmus wird für die Signatur des Benutzerprofils verwendet.",
|
||||
"oauth_scope": "Umfang",
|
||||
"oauth_settings": "OAuth",
|
||||
"oauth_settings_description": "OAuth-Anmeldeeinstellungen verwalten",
|
||||
"oauth_settings_more_details": "Weitere Informationen zu dieser Funktion findest du in der <link>Dokumentation</link>.",
|
||||
"oauth_signing_algorithm": "Signier-Algorithmus",
|
||||
"oauth_storage_label_claim": "Speicherpfadbezeichnung",
|
||||
"oauth_storage_label_claim_description": "Die Speicherpfadbezeichnung des Benutzers automatisch auf den Wert dieser Eingabe setzen.",
|
||||
"oauth_storage_quota_claim": "Speicherkontingentangabe",
|
||||
"oauth_storage_quota_claim_description": "Setzen Sie das Speicherkontingent des Benutzers automatisch auf den angegebenen Wert.",
|
||||
"oauth_storage_quota_default": "Standard-Speicherplatzkontingent (GiB)",
|
||||
"oauth_storage_quota_default_description": "Kontingent in GiB, das verwendet werden soll, wenn keines übermittelt wird (gib 0 für ein unbegrenztes Kontingent ein).",
|
||||
"oauth_timeout": "Zeitüberschreitung bei Anfrage",
|
||||
"oauth_timeout_description": "Zeitüberschreitung für Anfragen in Millisekunden",
|
||||
"offline_paths": "Offline-Pfade",
|
||||
"offline_paths_description": "Die Ergebnisse könnten durch manuelles Löschen von Dateien, die nicht Teil einer externen Bibliothek sind, verursacht sein.",
|
||||
"password_enable_description": "Login mit E-Mail und Passwort",
|
||||
"password_settings": "Passwort-Login",
|
||||
"offline_paths_description": "Dies könnte durch manuelles Löschen von Dateien, die nicht Teil einer externen Bibliothek sind, verursacht sein.",
|
||||
"password_enable_description": "Mit E-Mail und Passwort anmelden",
|
||||
"password_settings": "Passwort-Anmeldung",
|
||||
"password_settings_description": "Passwort-Anmeldeeinstellungen verwalten",
|
||||
"paths_validated_successfully": "Alle Pfade wurden erfolgreich validiert",
|
||||
"paths_validated_successfully": "Alle Pfade erfolgreich überprüft",
|
||||
"person_cleanup_job": "Personen aufräumen",
|
||||
"quota_size_gib": "Kontingent (GiB)",
|
||||
"refreshing_all_libraries": "Alle Bibliotheken aktualisieren",
|
||||
@@ -251,7 +248,7 @@
|
||||
"storage_template_hash_verification_enabled_description": "Aktiviert die Hash-Verifizierung. Deaktiviere diese Option nur, wenn du dir über die damit verbundenen Auswirkungen im Klaren bist",
|
||||
"storage_template_migration": "Migration von Speichervorlagen",
|
||||
"storage_template_migration_description": "Diese Aufgabe wendet die aktuelle <link>{template}</link> auf zuvor hochgeladene Dateien an",
|
||||
"storage_template_migration_info": "Die Vorlage wird alle Dateierweiterungen in Kleinbuchstaben umwandeln. Vorlagenänderungen gelten nur für neue Dateien. Um die Vorlage rückwirkend auf bereits hochgeladene Assets anzuwenden, führe den <link>{job}</link> aus.",
|
||||
"storage_template_migration_info": "Die Speichervorlage wird alle Dateierweiterungen in Kleinbuchstaben umwandeln. Vorlagenänderungen gelten nur für neue Dateien. Um die Vorlage rückwirkend auf bereits hochgeladene Assets anzuwenden, führe den <link>{job}</link> aus.",
|
||||
"storage_template_migration_job": "Speichervorlagenmigrations-Aufgabe",
|
||||
"storage_template_more_details": "Weitere Details zu dieser Funktion findest du unter <template-link>Speichervorlage</template-link> und dessen <implications-link>Implikationen</implications-link>",
|
||||
"storage_template_onboarding_description": "Wenn aktiviert, sortiert diese Funktion Dateien automatisch basierend auf einer benutzerdefinierten Vorlage. Aufgrund von Stabilitätsproblemen ist die Funktion standardmäßig deaktiviert. Weitere Informationen findest du in der <link>Dokumentation</link>.",
|
||||
@@ -352,6 +349,7 @@
|
||||
"user_delete_delay_settings_description": "Gibt die Anzahl der Tage bis zur endgültigen Löschung eines Kontos und seiner Dateien an. Der Benutzerlöschauftrag wird täglich um Mitternacht ausgeführt, um zu überprüfen, ob Nutzer zur Löschung bereit sind. Änderungen an dieser Einstellung werden erst bei der nächsten Ausführung berücksichtigt.",
|
||||
"user_delete_immediately": "Das Konto und die Dateien von <b>{user}</b> werden <b>sofort</b> für eine permanente Löschung in die Warteschlange gestellt.",
|
||||
"user_delete_immediately_checkbox": "Benutzer und Dateien zur sofortigen Löschung in die Warteschlange stellen",
|
||||
"user_details": "Benutzerdetails",
|
||||
"user_management": "Benutzerverwaltung",
|
||||
"user_password_has_been_reset": "Das Passwort des Benutzers wurde zurückgesetzt:",
|
||||
"user_password_reset_description": "Bitte gib dem Benutzer das temporäre Passwort und informiere ihn, dass das Passwort beim nächsten Login geändert werden muss.",
|
||||
@@ -373,7 +371,7 @@
|
||||
"advanced": "Erweitert",
|
||||
"advanced_settings_enable_alternate_media_filter_subtitle": "Verwende diese Option, um Medien während der Synchronisierung nach anderen Kriterien zu filtern. Versuchen dies nur, wenn Probleme mit der Erkennung aller Alben durch die App auftreten.",
|
||||
"advanced_settings_enable_alternate_media_filter_title": "[EXPERIMENTELL] Benutze alternativen Filter für Synchronisierung der Gerätealben",
|
||||
"advanced_settings_log_level_title": "Log-Level: {name}",
|
||||
"advanced_settings_log_level_title": "Log-Level: {level}",
|
||||
"advanced_settings_prefer_remote_subtitle": "Einige Geräte sind sehr langsam beim Laden von Miniaturbildern direkt aus dem Gerät. Aktivieren Sie diese Einstellung, um stattdessen die Server-Bilder zu laden.",
|
||||
"advanced_settings_prefer_remote_title": "Server-Bilder bevorzugen",
|
||||
"advanced_settings_proxy_headers_subtitle": "Definiere einen Proxy-Header, den Immich bei jeder Netzwerkanfrage mitschicken soll",
|
||||
@@ -404,9 +402,9 @@
|
||||
"album_remove_user_confirmation": "Bist du sicher, dass du {user} entfernen willst?",
|
||||
"album_share_no_users": "Es sieht so aus, als hättest du dieses Album mit allen Benutzern geteilt oder du hast keine Benutzer, mit denen du teilen kannst.",
|
||||
"album_thumbnail_card_item": "1 Element",
|
||||
"album_thumbnail_card_items": "{} Elemente",
|
||||
"album_thumbnail_card_items": "{count} Elemente",
|
||||
"album_thumbnail_card_shared": " · Geteilt",
|
||||
"album_thumbnail_shared_by": "Geteilt von {}",
|
||||
"album_thumbnail_shared_by": "Geteilt von {user}",
|
||||
"album_updated": "Album aktualisiert",
|
||||
"album_updated_setting_description": "Erhalte eine E-Mail-Benachrichtigung, wenn ein freigegebenes Album neue Dateien enthält",
|
||||
"album_user_left": "{album} verlassen",
|
||||
@@ -444,7 +442,7 @@
|
||||
"archive": "Archiv",
|
||||
"archive_or_unarchive_photo": "Foto archivieren bzw. Archivierung aufheben",
|
||||
"archive_page_no_archived_assets": "Keine archivierten Inhalte gefunden",
|
||||
"archive_page_title": "Archiv ({})",
|
||||
"archive_page_title": "Archiv ({count})",
|
||||
"archive_size": "Archivgröße",
|
||||
"archive_size_description": "Archivgröße für Downloads konfigurieren (in GiB)",
|
||||
"archived": "Archiviert",
|
||||
@@ -481,18 +479,18 @@
|
||||
"assets_added_to_album_count": "{count, plural, one {# Datei} other {# Dateien}} zum Album hinzugefügt",
|
||||
"assets_added_to_name_count": "{count, plural, one {# Element} other {# Elemente}} zu {hasName, select, true {<b>{name}</b>} other {neuem Album}} hinzugefügt",
|
||||
"assets_count": "{count, plural, one {# Datei} other {# Dateien}}",
|
||||
"assets_deleted_permanently": "{} Datei/en permanent gelöscht",
|
||||
"assets_deleted_permanently_from_server": "{} Datei/en wurden permanent vom Immich Server gelöscht",
|
||||
"assets_deleted_permanently": "{count} Element(e) permanent gelöscht",
|
||||
"assets_deleted_permanently_from_server": "{count} Element(e) permanent vom Immich-Server gelöscht",
|
||||
"assets_moved_to_trash_count": "{count, plural, one {# Datei} other {# Dateien}} in den Papierkorb verschoben",
|
||||
"assets_permanently_deleted_count": "{count, plural, one {# Datei} other {# Dateien}} endgültig gelöscht",
|
||||
"assets_removed_count": "{count, plural, one {# Datei} other {# Dateien}} entfernt",
|
||||
"assets_removed_permanently_from_device": "{} Datei/en wurden permanent vom Gerät gelöscht",
|
||||
"assets_removed_permanently_from_device": "{count} Element(e) permanent von Ihrem Gerät gelöscht",
|
||||
"assets_restore_confirmation": "Bist du sicher, dass du alle Dateien aus dem Papierkorb wiederherstellen willst? Diese Aktion kann nicht rückgängig gemacht werden! Beachte, dass Offline-Dateien auf diese Weise nicht wiederhergestellt werden können.",
|
||||
"assets_restored_count": "{count, plural, one {# Datei} other {# Dateien}} wiederhergestellt",
|
||||
"assets_restored_successfully": "{} Datei/en erfolgreich wiederhergestellt",
|
||||
"assets_trashed": "{} Datei/en gelöscht",
|
||||
"assets_restored_successfully": "{count} Element(e) erfolgreich wiederhergestellt",
|
||||
"assets_trashed": "{count} Element(e) gelöscht",
|
||||
"assets_trashed_count": "{count, plural, one {# Datei} other {# Dateien}} in den Papierkorb verschoben",
|
||||
"assets_trashed_from_server": "{} Datei/en vom Immich-Server gelöscht",
|
||||
"assets_trashed_from_server": "{count} Element(e) vom Immich-Server gelöscht",
|
||||
"assets_were_part_of_album_count": "{count, plural, one {# Datei ist} other {# Dateien sind}} bereits im Album vorhanden",
|
||||
"authorized_devices": "Verwendete Geräte",
|
||||
"automatic_endpoint_switching_subtitle": "Verbinden Sie sich lokal über ein bestimmtes WLAN, wenn es verfügbar ist, und verwenden Sie andere Verbindungsmöglichkeiten anderswo",
|
||||
@@ -501,7 +499,7 @@
|
||||
"back_close_deselect": "Zurück, Schließen oder Abwählen",
|
||||
"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",
|
||||
"backup_album_selection_page_albums_device": "Alben auf dem Gerät ({})",
|
||||
"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_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",
|
||||
@@ -510,11 +508,11 @@
|
||||
"backup_all": "Alle",
|
||||
"backup_background_service_backup_failed_message": "Es trat ein Fehler bei der Sicherung auf. Erneuter Versuch…",
|
||||
"backup_background_service_connection_failed_message": "Es konnte keine Verbindung zum Server hergestellt werden. Erneuter Versuch…",
|
||||
"backup_background_service_current_upload_notification": "Lädt {} hoch",
|
||||
"backup_background_service_current_upload_notification": "Lädt {filename} hoch",
|
||||
"backup_background_service_default_notification": "Suche nach neuen Elementen…",
|
||||
"backup_background_service_error_title": "Fehler bei der Sicherung",
|
||||
"backup_background_service_in_progress_notification": "Elemente werden gesichert…",
|
||||
"backup_background_service_upload_failure_notification": "Konnte {} nicht hochladen",
|
||||
"backup_background_service_upload_failure_notification": "Konnte {filename} nicht hochladen",
|
||||
"backup_controller_page_albums": "Gesicherte Alben",
|
||||
"backup_controller_page_background_app_refresh_disabled_content": "Aktiviere Hintergrundaktualisierungen in Einstellungen -> Allgemein -> Hintergrundaktualisierungen um Sicherungen im Hintergrund zu ermöglichen.",
|
||||
"backup_controller_page_background_app_refresh_disabled_title": "Hintergrundaktualisierungen sind deaktiviert",
|
||||
@@ -525,7 +523,7 @@
|
||||
"backup_controller_page_background_battery_info_title": "Batterieoptimierungen",
|
||||
"backup_controller_page_background_charging": "Nur während des Ladens",
|
||||
"backup_controller_page_background_configure_error": "Konnte Hintergrundservice nicht konfigurieren",
|
||||
"backup_controller_page_background_delay": "Sicherung neuer Elemente verzögern um: {}",
|
||||
"backup_controller_page_background_delay": "Sicherung neuer Elemente verzögern um: {duration}",
|
||||
"backup_controller_page_background_description": "Schalte den Hintergrundservice ein, um neue Elemente automatisch im Hintergrund zu sichern ohne die App zu öffnen",
|
||||
"backup_controller_page_background_is_off": "Automatische Sicherung im Hintergrund ist deaktiviert",
|
||||
"backup_controller_page_background_is_on": "Automatische Sicherung im Hintergrund ist aktiviert",
|
||||
@@ -535,12 +533,12 @@
|
||||
"backup_controller_page_backup": "Sicherung",
|
||||
"backup_controller_page_backup_selected": "Ausgewählt: ",
|
||||
"backup_controller_page_backup_sub": "Gesicherte Fotos und Videos",
|
||||
"backup_controller_page_created": "Erstellt: {}",
|
||||
"backup_controller_page_created": "Erstellt am: {date}",
|
||||
"backup_controller_page_desc_backup": "Aktiviere die Sicherung, um Elemente immer automatisch auf den Server zu laden, während du die App benutzt.",
|
||||
"backup_controller_page_excluded": "Ausgeschlossen: ",
|
||||
"backup_controller_page_failed": "Fehlgeschlagen ({})",
|
||||
"backup_controller_page_filename": "Dateiname: {} [{}]",
|
||||
"backup_controller_page_id": "ID: {}",
|
||||
"backup_controller_page_failed": "Fehlgeschlagen ({count})",
|
||||
"backup_controller_page_filename": "Dateiname: {filename} [{size}]",
|
||||
"backup_controller_page_id": "ID: {id}",
|
||||
"backup_controller_page_info": "Informationen zur Sicherung",
|
||||
"backup_controller_page_none_selected": "Keine ausgewählt",
|
||||
"backup_controller_page_remainder": "Verbleibend",
|
||||
@@ -549,7 +547,7 @@
|
||||
"backup_controller_page_start_backup": "Sicherung starten",
|
||||
"backup_controller_page_status_off": "Sicherung im Vordergrund ist inaktiv",
|
||||
"backup_controller_page_status_on": "Sicherung im Vordergrund ist aktiv",
|
||||
"backup_controller_page_storage_format": "{} von {} genutzt",
|
||||
"backup_controller_page_storage_format": "{used} von {total} genutzt",
|
||||
"backup_controller_page_to_backup": "Zu sichernde Alben",
|
||||
"backup_controller_page_total_sub": "Alle Fotos und Videos",
|
||||
"backup_controller_page_turn_off": "Sicherung im Vordergrund ausschalten",
|
||||
@@ -574,21 +572,21 @@
|
||||
"bulk_keep_duplicates_confirmation": "Bist du sicher, dass du {count, plural, one {# duplizierte Datei} other {# duplizierte Dateien}} behalten möchtest? Dies wird alle Duplikat-Gruppen auflösen ohne etwas zu löschen.",
|
||||
"bulk_trash_duplicates_confirmation": "Bist du sicher, dass du {count, plural, one {# duplizierte Datei} other {# duplizierte Dateien gemeinsam}} in den Papierkorb verschieben möchtest? Dies wird die größte Datei jeder Gruppe behalten und alle anderen Duplikate in den Papierkorb verschieben.",
|
||||
"buy": "Immich erwerben",
|
||||
"cache_settings_album_thumbnails": "Vorschaubilder der Bibliothek ({} Elemente)",
|
||||
"cache_settings_album_thumbnails": "Vorschaubilder der Bibliothek ({count} Elemente)",
|
||||
"cache_settings_clear_cache_button": "Zwischenspeicher löschen",
|
||||
"cache_settings_clear_cache_button_title": "Löscht den Zwischenspeicher der App. Dies wird die Leistungsfähigkeit der App deutlich einschränken, bis der Zwischenspeicher wieder aufgebaut wurde.",
|
||||
"cache_settings_duplicated_assets_clear_button": "LEEREN",
|
||||
"cache_settings_duplicated_assets_subtitle": "Fotos und Videos, die von der App blockiert werden",
|
||||
"cache_settings_duplicated_assets_title": "Duplikate ({})",
|
||||
"cache_settings_image_cache_size": "{} Bilder im Zwischenspeicher",
|
||||
"cache_settings_duplicated_assets_title": "Duplikate ({count})",
|
||||
"cache_settings_image_cache_size": "Bilder im Zwischenspeicher ({count} Bilder)",
|
||||
"cache_settings_statistics_album": "Vorschaubilder der Bibliothek",
|
||||
"cache_settings_statistics_assets": "{} Elemente ({})",
|
||||
"cache_settings_statistics_assets": "{count} Elemente ({size})",
|
||||
"cache_settings_statistics_full": "Originalbilder",
|
||||
"cache_settings_statistics_shared": "Vorschaubilder geteilter Alben",
|
||||
"cache_settings_statistics_thumbnail": "Vorschaubilder",
|
||||
"cache_settings_statistics_title": "Zwischenspeicher-Nutzung",
|
||||
"cache_settings_subtitle": "Kontrollieren, wie Immich den Zwischenspeicher nutzt",
|
||||
"cache_settings_thumbnail_size": "{} Vorschaubilder im Zwischenspeicher",
|
||||
"cache_settings_thumbnail_size": "Vorschaubilder im Zwischenspeicher ({count} Bilder)",
|
||||
"cache_settings_tile_subtitle": "Lokalen Speicher verwalten",
|
||||
"cache_settings_tile_title": "Lokaler Speicher",
|
||||
"cache_settings_title": "Zwischenspeicher Einstellungen",
|
||||
@@ -614,6 +612,7 @@
|
||||
"change_password_form_new_password": "Neues Passwort",
|
||||
"change_password_form_password_mismatch": "Passwörter stimmen nicht überein",
|
||||
"change_password_form_reenter_new_password": "Passwort erneut eingeben",
|
||||
"change_pin_code": "PIN Code ändern",
|
||||
"change_your_password": "Ändere dein Passwort",
|
||||
"changed_visibility_successfully": "Die Sichtbarkeit wurde erfolgreich geändert",
|
||||
"check_all": "Alle prüfen",
|
||||
@@ -647,18 +646,19 @@
|
||||
"comments_and_likes": "Kommentare & Likes",
|
||||
"comments_are_disabled": "Kommentare sind deaktiviert",
|
||||
"common_create_new_album": "Neues Album erstellen",
|
||||
"common_server_error": "Bitte überprüfe Deine Netzwerkverbindung und stelle sicher, dass die App und Server Versionen kompatibel sind.",
|
||||
"completed": "Fertig",
|
||||
"common_server_error": "Bitte überprüfe deine Netzwerkverbindung und stelle sicher, dass die App und Server Versionen kompatibel sind.",
|
||||
"completed": "Abgeschlossen",
|
||||
"confirm": "Bestätigen",
|
||||
"confirm_admin_password": "Administrator Passwort bestätigen",
|
||||
"confirm_delete_face": "Bist du sicher dass du das Gesicht von {name} aus der Datei entfernen willst?",
|
||||
"confirm_delete_shared_link": "Bist du sicher, dass du diesen geteilten Link löschen willst?",
|
||||
"confirm_keep_this_delete_others": "Alle anderen Dateien im Stapel bis auf diese werden gelöscht. Bist du sicher, dass du fortfahren möchten?",
|
||||
"confirm_new_pin_code": "Neuen PIN Code bestätigen",
|
||||
"confirm_password": "Passwort bestätigen",
|
||||
"contain": "Vollständig",
|
||||
"context": "Kontext",
|
||||
"continue": "Fortsetzen",
|
||||
"control_bottom_app_bar_album_info_shared": "{} Elemente · Geteilt",
|
||||
"control_bottom_app_bar_album_info_shared": "{count} Elemente · Geteilt",
|
||||
"control_bottom_app_bar_create_new_album": "Neues Album erstellen",
|
||||
"control_bottom_app_bar_delete_from_immich": "Aus Immich löschen",
|
||||
"control_bottom_app_bar_delete_from_local": "Vom Gerät löschen",
|
||||
@@ -696,9 +696,11 @@
|
||||
"create_tag_description": "Erstelle einen neuen Tag. Für verschachtelte Tags, gib den gesamten Pfad inklusive Schrägstrich an.",
|
||||
"create_user": "Nutzer erstellen",
|
||||
"created": "Erstellt",
|
||||
"created_at": "Erstellt",
|
||||
"crop": "Zuschneiden",
|
||||
"curated_object_page_title": "Dinge",
|
||||
"current_device": "Aktuelles Gerät",
|
||||
"current_pin_code": "Aktueller PIN Code",
|
||||
"current_server_address": "Aktuelle Serveradresse",
|
||||
"custom_locale": "Benutzerdefinierte Sprache",
|
||||
"custom_locale_description": "Datumsangaben und Zahlen je nach Sprache und Land formatieren",
|
||||
@@ -767,7 +769,7 @@
|
||||
"download_enqueue": "Download in die Warteschlange gesetzt",
|
||||
"download_error": "Download fehlerhaft",
|
||||
"download_failed": "Download fehlerhaft",
|
||||
"download_filename": "Datei: {}",
|
||||
"download_filename": "Datei: {filename}",
|
||||
"download_finished": "Download abgeschlossen",
|
||||
"download_include_embedded_motion_videos": "Eingebettete Videos",
|
||||
"download_include_embedded_motion_videos_description": "Videos, die in Bewegungsfotos eingebettet sind, als separate Datei einfügen",
|
||||
@@ -811,6 +813,7 @@
|
||||
"editor_crop_tool_h2_aspect_ratios": "Seitenverhältnisse",
|
||||
"editor_crop_tool_h2_rotation": "Drehung",
|
||||
"email": "E-Mail",
|
||||
"email_notifications": "E-Mail Benachrichtigungen",
|
||||
"empty_folder": "Dieser Ordner ist leer",
|
||||
"empty_trash": "Papierkorb leeren",
|
||||
"empty_trash_confirmation": "Bist du sicher, dass du den Papierkorb leeren willst?\nDies entfernt alle Dateien im Papierkorb endgültig aus Immich und kann nicht rückgängig gemacht werden!",
|
||||
@@ -823,7 +826,7 @@
|
||||
"error_change_sort_album": "Ändern der Anzeigereihenfolge fehlgeschlagen",
|
||||
"error_delete_face": "Fehler beim Löschen des Gesichts",
|
||||
"error_loading_image": "Fehler beim Laden des Bildes",
|
||||
"error_saving_image": "Fehler: {}",
|
||||
"error_saving_image": "Fehler: {error}",
|
||||
"error_title": "Fehler - Etwas ist schief gelaufen",
|
||||
"errors": {
|
||||
"cannot_navigate_next_asset": "Kann nicht zur nächsten Datei navigieren",
|
||||
@@ -853,10 +856,12 @@
|
||||
"failed_to_keep_this_delete_others": "Fehler beim Löschen der anderen Dateien",
|
||||
"failed_to_load_asset": "Fehler beim Laden der Datei",
|
||||
"failed_to_load_assets": "Fehler beim Laden der Dateien",
|
||||
"failed_to_load_notifications": "Fehler beim Laden der Benachrichtigungen",
|
||||
"failed_to_load_people": "Fehler beim Laden von Personen",
|
||||
"failed_to_remove_product_key": "Fehler beim Entfernen des Produktschlüssels",
|
||||
"failed_to_stack_assets": "Dateien konnten nicht gestapelt werden",
|
||||
"failed_to_unstack_assets": "Dateien konnten nicht entstapelt werden",
|
||||
"failed_to_update_notification_status": "Benachrichtigungsstatus aktualisieren fehlgeschlagen",
|
||||
"import_path_already_exists": "Dieser Importpfad existiert bereits.",
|
||||
"incorrect_email_or_password": "Ungültige E-Mail oder Passwort",
|
||||
"paths_validation_failed": "{paths, plural, one {# Pfad konnte} other {# Pfade konnten}} nicht validiert werden",
|
||||
@@ -924,6 +929,7 @@
|
||||
"unable_to_remove_reaction": "Reaktion kann nicht entfernt werden",
|
||||
"unable_to_repair_items": "Objekte können nicht repariert werden",
|
||||
"unable_to_reset_password": "Passwort kann nicht zurückgesetzt werden",
|
||||
"unable_to_reset_pin_code": "Zurücksetzen des PIN Code nicht möglich",
|
||||
"unable_to_resolve_duplicate": "Duplikate können nicht aufgelöst werden",
|
||||
"unable_to_restore_assets": "Dateien konnten nicht wiederhergestellt werden",
|
||||
"unable_to_restore_trash": "Papierkorb kann nicht wiederhergestellt werden",
|
||||
@@ -957,10 +963,10 @@
|
||||
"exif_bottom_sheet_location": "STANDORT",
|
||||
"exif_bottom_sheet_people": "PERSONEN",
|
||||
"exif_bottom_sheet_person_add_person": "Namen hinzufügen",
|
||||
"exif_bottom_sheet_person_age": "Alter {}",
|
||||
"exif_bottom_sheet_person_age_months": "{} Monate alt",
|
||||
"exif_bottom_sheet_person_age_year_months": "1 Jahr, {} Monate alt",
|
||||
"exif_bottom_sheet_person_age_years": "{} alt",
|
||||
"exif_bottom_sheet_person_age": "Alter {age}",
|
||||
"exif_bottom_sheet_person_age_months": "{months} Monate alt",
|
||||
"exif_bottom_sheet_person_age_year_months": "1 Jahr, {months} Monate alt",
|
||||
"exif_bottom_sheet_person_age_years": "Alter {years}",
|
||||
"exit_slideshow": "Diashow beenden",
|
||||
"expand_all": "Alle aufklappen",
|
||||
"experimental_settings_new_asset_list_subtitle": "In Arbeit",
|
||||
@@ -969,7 +975,7 @@
|
||||
"experimental_settings_title": "Experimentell",
|
||||
"expire_after": "Verfällt nach",
|
||||
"expired": "Verfallen",
|
||||
"expires_date": "Läuft {date} ab",
|
||||
"expires_date": "Läuft am {date} ab",
|
||||
"explore": "Erkunden",
|
||||
"explorer": "Datei-Explorer",
|
||||
"export": "Exportieren",
|
||||
@@ -1050,6 +1056,7 @@
|
||||
"home_page_upload_err_limit": "Es können max. 30 Elemente gleichzeitig hochgeladen werden, überspringen",
|
||||
"host": "Host",
|
||||
"hour": "Stunde",
|
||||
"id": "ID",
|
||||
"ignore_icloud_photos": "iCloud Fotos ignorieren",
|
||||
"ignore_icloud_photos_description": "Fotos, die in der iCloud gespeichert sind, werden nicht auf den immich Server hochgeladen",
|
||||
"image": "Bild",
|
||||
@@ -1125,7 +1132,7 @@
|
||||
"local_network": "Lokales Netzwerk",
|
||||
"local_network_sheet_info": "Die App stellt über diese URL eine Verbindung zum Server her, wenn sie das angegebene WLAN-Netzwerk verwendet",
|
||||
"location_permission": "Standort Genehmigung",
|
||||
"location_permission_content": "Um die automatische Umschaltfunktion nutzen zu können, benötigt Immich eine genaue Standortberechtigung, damit es den Namen des aktuellen WLAN-Netzwerks ermitteln kann",
|
||||
"location_permission_content": "Um die automatische Umschaltfunktion nutzen zu können, benötigt Immich genaue Standortberechtigung, damit es den Namen des aktuellen WLAN-Netzwerks ermitteln kann",
|
||||
"location_picker_choose_on_map": "Auf der Karte auswählen",
|
||||
"location_picker_latitude_error": "Gültigen Breitengrad eingeben",
|
||||
"location_picker_latitude_hint": "Breitengrad eingeben",
|
||||
@@ -1175,8 +1182,8 @@
|
||||
"manage_your_devices": "Deine eingeloggten Geräte verwalten",
|
||||
"manage_your_oauth_connection": "Deine OAuth-Verknüpfung verwalten",
|
||||
"map": "Karte",
|
||||
"map_assets_in_bound": "{} Foto",
|
||||
"map_assets_in_bounds": "{} Fotos",
|
||||
"map_assets_in_bound": "{count} Foto",
|
||||
"map_assets_in_bounds": "{count} Fotos",
|
||||
"map_cannot_get_user_location": "Standort konnte nicht ermittelt werden",
|
||||
"map_location_dialog_yes": "Ja",
|
||||
"map_location_picker_page_use_location": "Aufnahmeort verwenden",
|
||||
@@ -1190,15 +1197,18 @@
|
||||
"map_settings": "Karteneinstellungen",
|
||||
"map_settings_dark_mode": "Dunkler Modus",
|
||||
"map_settings_date_range_option_day": "Letzte 24 Stunden",
|
||||
"map_settings_date_range_option_days": "Letzte {} Tage",
|
||||
"map_settings_date_range_option_days": "Letzten {days} Tage",
|
||||
"map_settings_date_range_option_year": "Letztes Jahr",
|
||||
"map_settings_date_range_option_years": "Letzte {} Jahre",
|
||||
"map_settings_date_range_option_years": "Letzten {years} Jahre",
|
||||
"map_settings_dialog_title": "Karteneinstellungen",
|
||||
"map_settings_include_show_archived": "Archivierte anzeigen",
|
||||
"map_settings_include_show_partners": "Partner einbeziehen",
|
||||
"map_settings_only_show_favorites": "Nur Favoriten anzeigen",
|
||||
"map_settings_theme_settings": "Karten Design",
|
||||
"map_zoom_to_see_photos": "Ansicht verkleinern um Fotos zu sehen",
|
||||
"mark_all_as_read": "Alle als gelesen markieren",
|
||||
"mark_as_read": "Als gelesen markieren",
|
||||
"marked_all_as_read": "Alle als gelesen markiert",
|
||||
"matches": "Treffer",
|
||||
"media_type": "Medientyp",
|
||||
"memories": "Erinnerungen",
|
||||
@@ -1208,7 +1218,7 @@
|
||||
"memories_start_over": "Erneut beginnen",
|
||||
"memories_swipe_to_close": "Nach oben Wischen zum schließen",
|
||||
"memories_year_ago": "ein Jahr her",
|
||||
"memories_years_ago": "{} Jahre her",
|
||||
"memories_years_ago": "Vor {years} Jahren",
|
||||
"memory": "Erinnerung",
|
||||
"memory_lane_title": "Foto-Erinnerungen {title}",
|
||||
"menu": "Menü",
|
||||
@@ -1225,6 +1235,8 @@
|
||||
"month": "Monat",
|
||||
"monthly_title_text_date_format": "MMMM y",
|
||||
"more": "Mehr",
|
||||
"moved_to_archive": "{count, plural, one {# Datei} other {# Dateien}} archiviert",
|
||||
"moved_to_library": "{count, plural, one {# Datei} other {# Dateien}} in die Bibliothek verschoben",
|
||||
"moved_to_trash": "In den Papierkorb verschoben",
|
||||
"multiselect_grid_edit_date_time_err_read_only": "Das Datum und die Uhrzeit von schreibgeschützten Inhalten kann nicht verändert werden, überspringen",
|
||||
"multiselect_grid_edit_gps_err_read_only": "Der Aufnahmeort von schreibgeschützten Inhalten kann nicht verändert werden, überspringen",
|
||||
@@ -1239,6 +1251,7 @@
|
||||
"new_api_key": "Neuer API-Schlüssel",
|
||||
"new_password": "Neues Passwort",
|
||||
"new_person": "Neue Person",
|
||||
"new_pin_code": "Neuer PIN Code",
|
||||
"new_user_created": "Neuer Benutzer wurde erstellt",
|
||||
"new_version_available": "NEUE VERSION VERFÜGBAR",
|
||||
"newest_first": "Neueste zuerst",
|
||||
@@ -1257,6 +1270,8 @@
|
||||
"no_favorites_message": "Füge Favoriten hinzu, um deine besten Bilder und Videos schnell zu finden",
|
||||
"no_libraries_message": "Eine externe Bibliothek erstellen, um deine Fotos und Videos anzusehen",
|
||||
"no_name": "Kein Name",
|
||||
"no_notifications": "Keine Benachrichtigungen",
|
||||
"no_people_found": "Keine passenden Personen gefunden",
|
||||
"no_places": "Keine Orte",
|
||||
"no_results": "Keine Ergebnisse",
|
||||
"no_results_description": "Versuche es mit einem Synonym oder einem allgemeineren Stichwort",
|
||||
@@ -1311,7 +1326,7 @@
|
||||
"partner_page_partner_add_failed": "Fehler beim Partner hinzufügen",
|
||||
"partner_page_select_partner": "Partner auswählen",
|
||||
"partner_page_shared_to_title": "Geteilt mit",
|
||||
"partner_page_stop_sharing_content": "{} wird nicht mehr auf deine Fotos zugreifen können.",
|
||||
"partner_page_stop_sharing_content": "{partner} wird nicht mehr auf deine Fotos zugreifen können.",
|
||||
"partner_sharing": "Partner-Sharing",
|
||||
"partners": "Partner",
|
||||
"password": "Passwort",
|
||||
@@ -1357,6 +1372,9 @@
|
||||
"photos_count": "{count, plural, one {{count, number} Foto} other {{count, number} Fotos}}",
|
||||
"photos_from_previous_years": "Fotos von vorherigen Jahren",
|
||||
"pick_a_location": "Wähle einen Ort",
|
||||
"pin_code_changed_successfully": "PIN Code erfolgreich geändert",
|
||||
"pin_code_reset_successfully": "PIN Code erfolgreich zurückgesetzt",
|
||||
"pin_code_setup_successfully": "PIN Code erfolgreich festgelegt",
|
||||
"place": "Ort",
|
||||
"places": "Orte",
|
||||
"places_count": "{count, plural, one {{count, number} Ort} other {{count, number} Orte}}",
|
||||
@@ -1374,10 +1392,11 @@
|
||||
"previous_or_next_photo": "Vorheriges oder nächstes Foto",
|
||||
"primary": "Primär",
|
||||
"privacy": "Privatsphäre",
|
||||
"profile": "Profil",
|
||||
"profile_drawer_app_logs": "Logs",
|
||||
"profile_drawer_client_out_of_date_major": "Mobile-App ist veraltet. Bitte aktualisiere auf die neueste Major-Version.",
|
||||
"profile_drawer_client_out_of_date_minor": "Mobile-App ist veraltet. Bitte aktualisiere auf die neueste Minor-Version.",
|
||||
"profile_drawer_client_server_up_to_date": "Die App-Version / Server-Version sind aktuell",
|
||||
"profile_drawer_client_server_up_to_date": "Die App- und Server-Versionen sind aktuell",
|
||||
"profile_drawer_github": "GitHub",
|
||||
"profile_drawer_server_out_of_date_major": "Server-Version ist veraltet. Bitte aktualisiere auf die neueste Major-Version.",
|
||||
"profile_drawer_server_out_of_date_minor": "Server-Version ist veraltet. Bitte aktualisiere auf die neueste Minor-Version.",
|
||||
@@ -1387,7 +1406,7 @@
|
||||
"public_share": "Öffentliche Freigabe",
|
||||
"purchase_account_info": "Unterstützer",
|
||||
"purchase_activated_subtitle": "Danke für die Unterstützung von Immich und Open-Source Software",
|
||||
"purchase_activated_time": "Aktiviert am {date, date}",
|
||||
"purchase_activated_time": "Aktiviert am {date}",
|
||||
"purchase_activated_title": "Dein Schlüssel wurde erfolgreich aktiviert",
|
||||
"purchase_button_activate": "Aktivieren",
|
||||
"purchase_button_buy": "Kaufen",
|
||||
@@ -1432,6 +1451,8 @@
|
||||
"recent_searches": "Letzte Suchen",
|
||||
"recently_added": "Kürzlich hinzugefügt",
|
||||
"recently_added_page_title": "Zuletzt hinzugefügt",
|
||||
"recently_taken": "Kürzlich aufgenommen",
|
||||
"recently_taken_page_title": "Kürzlich aufgenommen",
|
||||
"refresh": "Aktualisieren",
|
||||
"refresh_encoded_videos": "Kodierte Videos aktualisieren",
|
||||
"refresh_faces": "Gesichter aktualisieren",
|
||||
@@ -1474,6 +1495,7 @@
|
||||
"reset": "Zurücksetzen",
|
||||
"reset_password": "Passwort zurücksetzen",
|
||||
"reset_people_visibility": "Sichtbarkeit von Personen zurücksetzen",
|
||||
"reset_pin_code": "PIN Code zurücksetzen",
|
||||
"reset_to_default": "Auf Standard zurücksetzen",
|
||||
"resolve_duplicates": "Duplikate entfernen",
|
||||
"resolved_all_duplicates": "Alle Duplikate aufgelöst",
|
||||
@@ -1566,6 +1588,7 @@
|
||||
"select_keep_all": "Alle behalten",
|
||||
"select_library_owner": "Bibliotheksbesitzer auswählen",
|
||||
"select_new_face": "Neues Gesicht auswählen",
|
||||
"select_person_to_tag": "Wählen Sie eine Person zum Markieren aus",
|
||||
"select_photos": "Fotos auswählen",
|
||||
"select_trash_all": "Alle löschen",
|
||||
"select_user_for_sharing_page_err_album": "Album konnte nicht erstellt werden",
|
||||
@@ -1596,12 +1619,12 @@
|
||||
"setting_languages_apply": "Anwenden",
|
||||
"setting_languages_subtitle": "App-Sprache ändern",
|
||||
"setting_languages_title": "Sprachen",
|
||||
"setting_notifications_notify_failures_grace_period": "Benachrichtigung bei Fehler/n in der Hintergrundsicherung: {}",
|
||||
"setting_notifications_notify_hours": "{} Stunden",
|
||||
"setting_notifications_notify_failures_grace_period": "Benachrichtigung bei Fehler(n) in der Hintergrundsicherung: {duration}",
|
||||
"setting_notifications_notify_hours": "{count} Stunden",
|
||||
"setting_notifications_notify_immediately": "sofort",
|
||||
"setting_notifications_notify_minutes": "{} Minuten",
|
||||
"setting_notifications_notify_minutes": "{count} Minuten",
|
||||
"setting_notifications_notify_never": "niemals",
|
||||
"setting_notifications_notify_seconds": "{} Sekunden",
|
||||
"setting_notifications_notify_seconds": "{count} Sekunden",
|
||||
"setting_notifications_single_progress_subtitle": "Detaillierter Upload-Fortschritt für jedes Element",
|
||||
"setting_notifications_single_progress_title": "Zeige den detaillierten Fortschritt der Hintergrundsicherung",
|
||||
"setting_notifications_subtitle": "Benachrichtigungen anpassen",
|
||||
@@ -1613,9 +1636,10 @@
|
||||
"settings": "Einstellungen",
|
||||
"settings_require_restart": "Bitte starte Immich neu, um diese Einstellung anzuwenden",
|
||||
"settings_saved": "Einstellungen gespeichert",
|
||||
"setup_pin_code": "Einen PIN Code festlegen",
|
||||
"share": "Teilen",
|
||||
"share_add_photos": "Fotos hinzufügen",
|
||||
"share_assets_selected": "{} ausgewählt",
|
||||
"share_assets_selected": "{count} ausgewählt",
|
||||
"share_dialog_preparing": "Vorbereiten...",
|
||||
"shared": "Geteilt",
|
||||
"shared_album_activities_input_disable": "Kommentare sind deaktiviert",
|
||||
@@ -1629,32 +1653,32 @@
|
||||
"shared_by_user": "Von {user} geteilt",
|
||||
"shared_by_you": "Von dir geteilt",
|
||||
"shared_from_partner": "Fotos von {partner}",
|
||||
"shared_intent_upload_button_progress_text": "{} / {} hochgeladen",
|
||||
"shared_intent_upload_button_progress_text": "{current} / {total} hochgeladen",
|
||||
"shared_link_app_bar_title": "Geteilte Links",
|
||||
"shared_link_clipboard_copied_massage": "Link kopiert",
|
||||
"shared_link_clipboard_text": "Link: {}\nPasswort: {}",
|
||||
"shared_link_clipboard_text": "Link: {link}\nPasswort: {password}",
|
||||
"shared_link_create_error": "Fehler beim Erstellen der Linkfreigabe",
|
||||
"shared_link_edit_description_hint": "Beschreibung eingeben",
|
||||
"shared_link_edit_expire_after_option_day": "1 Tag",
|
||||
"shared_link_edit_expire_after_option_days": "{} Tage",
|
||||
"shared_link_edit_expire_after_option_days": "{count} Tagen",
|
||||
"shared_link_edit_expire_after_option_hour": "1 Stunde",
|
||||
"shared_link_edit_expire_after_option_hours": "{} Stunden",
|
||||
"shared_link_edit_expire_after_option_hours": "{count} Stunden",
|
||||
"shared_link_edit_expire_after_option_minute": "1 Minute",
|
||||
"shared_link_edit_expire_after_option_minutes": "{} Minuten",
|
||||
"shared_link_edit_expire_after_option_months": "{} Monate",
|
||||
"shared_link_edit_expire_after_option_year": "{} Jahr",
|
||||
"shared_link_edit_expire_after_option_minutes": "{count} Minuten",
|
||||
"shared_link_edit_expire_after_option_months": "{count} Monaten",
|
||||
"shared_link_edit_expire_after_option_year": "{count} Jahr",
|
||||
"shared_link_edit_password_hint": "Passwort eingeben",
|
||||
"shared_link_edit_submit_button": "Link aktualisieren",
|
||||
"shared_link_error_server_url_fetch": "Fehler beim Ermitteln der Server-URL",
|
||||
"shared_link_expires_day": "Verfällt in {} Tag",
|
||||
"shared_link_expires_days": "Verfällt in {} Tagen",
|
||||
"shared_link_expires_hour": "Verfällt in {} Stunde",
|
||||
"shared_link_expires_hours": "Verfällt in {} Stunden",
|
||||
"shared_link_expires_minute": "Verfällt in {} Minute",
|
||||
"shared_link_expires_minutes": "Verfällt in {} Minuten",
|
||||
"shared_link_expires_day": "Läuft ab in {count} Tag",
|
||||
"shared_link_expires_days": "Läuft ab in {count} Tagen",
|
||||
"shared_link_expires_hour": "Läuft ab in {count} Stunde",
|
||||
"shared_link_expires_hours": "Läuft ab in {count} Stunden",
|
||||
"shared_link_expires_minute": "Läuft ab in {count} Minute",
|
||||
"shared_link_expires_minutes": "Läuft ab in {count} Minuten",
|
||||
"shared_link_expires_never": "Läuft nie ab",
|
||||
"shared_link_expires_second": "Verfällt in {} Sekunde",
|
||||
"shared_link_expires_seconds": "Verfällt in {} Sekunden",
|
||||
"shared_link_expires_second": "Läuft ab in {count} Sekunde",
|
||||
"shared_link_expires_seconds": "Läuft ab in {count} Sekunden",
|
||||
"shared_link_individual_shared": "Individuell geteilt",
|
||||
"shared_link_info_chip_metadata": "EXIF",
|
||||
"shared_link_manage_links": "Geteilte Links verwalten",
|
||||
@@ -1729,6 +1753,7 @@
|
||||
"stop_sharing_photos_with_user": "Aufhören Fotos mit diesem Benutzer zu teilen",
|
||||
"storage": "Speicherplatz",
|
||||
"storage_label": "Speicherpfad",
|
||||
"storage_quota": "Speicherplatz-Kontingent",
|
||||
"storage_usage": "{used} von {available} verwendet",
|
||||
"submit": "Bestätigen",
|
||||
"suggestions": "Vorschläge",
|
||||
@@ -1745,7 +1770,7 @@
|
||||
"tag_assets": "Dateien taggen",
|
||||
"tag_created": "Tag erstellt: {tag}",
|
||||
"tag_feature_description": "Durchsuchen von Fotos und Videos, gruppiert nach logischen Tag-Themen",
|
||||
"tag_not_found_question": "Kein Tag zu finden? <link>Erstelle einen neuen Tag.</link>",
|
||||
"tag_not_found_question": "Kein Tag vorhanden? <link>Erstelle einen neuen Tag.</link>",
|
||||
"tag_people": "Personen taggen",
|
||||
"tag_updated": "Tag aktualisiert: {tag}",
|
||||
"tagged_assets": "{count, plural, one {# Datei} other {# Dateien}} getagged",
|
||||
@@ -1755,7 +1780,7 @@
|
||||
"theme_selection": "Themenauswahl",
|
||||
"theme_selection_description": "Automatische Einstellung des Themes auf Hell oder Dunkel, je nach Systemeinstellung des Browsers",
|
||||
"theme_setting_asset_list_storage_indicator_title": "Forschrittsbalken der Sicherung auf dem Vorschaubild",
|
||||
"theme_setting_asset_list_tiles_per_row_title": "Anzahl der Elemente pro Reihe ({})",
|
||||
"theme_setting_asset_list_tiles_per_row_title": "Anzahl der Elemente pro Reihe ({count})",
|
||||
"theme_setting_colorful_interface_subtitle": "Primärfarbe auf App-Hintergrund anwenden.",
|
||||
"theme_setting_colorful_interface_title": "Farbige UI-Oberfläche",
|
||||
"theme_setting_image_viewer_quality_subtitle": "Einstellen der Qualität des Detailbildbetrachters",
|
||||
@@ -1790,13 +1815,15 @@
|
||||
"trash_no_results_message": "Gelöschte Fotos und Videos werden hier angezeigt.",
|
||||
"trash_page_delete_all": "Alle löschen",
|
||||
"trash_page_empty_trash_dialog_content": "Elemente im Papierkorb löschen? Diese Elemente werden dauerhaft aus Immich entfernt",
|
||||
"trash_page_info": "Elemente im Papierkorb werden nach {} Tagen endgültig gelöscht",
|
||||
"trash_page_info": "Elemente im Papierkorb werden nach {days} Tagen endgültig gelöscht",
|
||||
"trash_page_no_assets": "Es gibt keine Daten im Papierkorb",
|
||||
"trash_page_restore_all": "Alle wiederherstellen",
|
||||
"trash_page_select_assets_btn": "Elemente auswählen",
|
||||
"trash_page_title": "Papierkorb ({})",
|
||||
"trash_page_title": "Papierkorb ({count})",
|
||||
"trashed_items_will_be_permanently_deleted_after": "Gelöschte Objekte werden nach {days, plural, one {# Tag} other {# Tagen}} endgültig gelöscht.",
|
||||
"type": "Typ",
|
||||
"unable_to_change_pin_code": "PIN Code konnte nicht geändert werden",
|
||||
"unable_to_setup_pin_code": "PIN Code konnte nicht festgelegt werden",
|
||||
"unarchive": "Entarchivieren",
|
||||
"unarchived_count": "{count, plural, other {# entarchiviert}}",
|
||||
"unfavorite": "Entfavorisieren",
|
||||
@@ -1820,6 +1847,7 @@
|
||||
"untracked_files": "Unverfolgte Dateien",
|
||||
"untracked_files_decription": "Diese Dateien werden nicht von der Application getrackt. Sie können das Ergebnis fehlgeschlagener Verschiebungen, unterbrochener Uploads oder aufgrund eines Fehlers sein",
|
||||
"up_next": "Weiter",
|
||||
"updated_at": "Aktualisiert",
|
||||
"updated_password": "Passwort aktualisiert",
|
||||
"upload": "Hochladen",
|
||||
"upload_concurrency": "Parallelität beim Hochladen",
|
||||
@@ -1832,15 +1860,18 @@
|
||||
"upload_status_errors": "Fehler",
|
||||
"upload_status_uploaded": "Hochgeladen",
|
||||
"upload_success": "Hochladen erfolgreich. Aktualisiere die Seite, um neue hochgeladene Dateien zu sehen.",
|
||||
"upload_to_immich": "Zu Immich hochladen ({})",
|
||||
"upload_to_immich": "Auf Immich hochladen ({count})",
|
||||
"uploading": "Wird hochgeladen",
|
||||
"url": "URL",
|
||||
"usage": "Verwendung",
|
||||
"use_current_connection": "aktuelle Verbindung verwenden",
|
||||
"use_custom_date_range": "Stattdessen einen benutzerdefinierten Datumsbereich verwenden",
|
||||
"user": "Nutzer",
|
||||
"user_has_been_deleted": "Dieser Benutzer wurde gelöscht.",
|
||||
"user_id": "Nutzer-ID",
|
||||
"user_liked": "{type, select, photo {Dieses Foto} video {Dieses Video} asset {Diese Datei} other {Dies}} gefällt {user}",
|
||||
"user_pin_code_settings": "PIN Code",
|
||||
"user_pin_code_settings_description": "Verwalte deinen PIN Code",
|
||||
"user_purchase_settings": "Kauf",
|
||||
"user_purchase_settings_description": "Kauf verwalten",
|
||||
"user_role_set": "{user} als {role} festlegen",
|
||||
|
||||
190
i18n/el.json
190
i18n/el.json
@@ -14,7 +14,7 @@
|
||||
"add_a_location": "Προσθήκη μίας τοποθεσίας",
|
||||
"add_a_name": "Προσθήκη ονόματος",
|
||||
"add_a_title": "Προσθήκη τίτλου",
|
||||
"add_endpoint": "Add endpoint",
|
||||
"add_endpoint": "Προσθήκη τελικού σημείου",
|
||||
"add_exclusion_pattern": "Προσθήκη μοτίβου αποκλεισμού",
|
||||
"add_import_path": "Προσθήκη μονοπατιού εισαγωγής",
|
||||
"add_location": "Προσθήκη τοποθεσίας",
|
||||
@@ -53,6 +53,7 @@
|
||||
"confirm_email_below": "Για επιβεβαίωση, πληκτρολογήστε \"{email}\" παρακάτω",
|
||||
"confirm_reprocess_all_faces": "Είστε βέβαιοι ότι θέλετε να επεξεργαστείτε ξανά όλα τα πρόσωπα; Αυτό θα εκκαθαρίσει ακόμα και τα άτομα στα οποία έχετε ήδη ορίσει το όνομα.",
|
||||
"confirm_user_password_reset": "Είστε βέβαιοι ότι θέλετε να επαναφέρετε τον κωδικό πρόσβασης του χρήστη {user};",
|
||||
"confirm_user_pin_code_reset": "Είστε βέβαιοι ότι θέλετε να επαναφέρετε τον κωδικό PIN του χρήστη {user};",
|
||||
"create_job": "Δημιουργία εργασίας",
|
||||
"cron_expression": "Σύνταξη Cron",
|
||||
"cron_expression_description": "Ορίστε το διάστημα σάρωσης χρησιμοποιώντας τη μορφή cron. Για περισσότερες πληροφορίες, ανατρέξτε π.χ. στο <link>Crontab Guru</link>",
|
||||
@@ -192,20 +193,13 @@
|
||||
"oauth_auto_register": "Αυτόματη καταχώρηση",
|
||||
"oauth_auto_register_description": "Αυτόματη καταχώρηση νέου χρήστη αφού συνδεθεί με OAuth",
|
||||
"oauth_button_text": "Κείμενο κουμπιού",
|
||||
"oauth_client_id": "Ταυτότητα πελάτη (Client)",
|
||||
"oauth_client_secret": "Μυστικός κωδικός πελάτη",
|
||||
"oauth_enable_description": "Σύνδεση με OAuth",
|
||||
"oauth_issuer_url": "Διεύθυνση URL εκδότη",
|
||||
"oauth_mobile_redirect_uri": "URI Ανακατεύθυνσης για κινητά τηλέφωνα",
|
||||
"oauth_mobile_redirect_uri_override": "Προσπέλαση URI ανακατεύθυνσης για κινητά τηλέφωνα",
|
||||
"oauth_mobile_redirect_uri_override_description": "Ενεργοποιήστε το όταν ο πάροχος OAuth δεν επιτρέπει μια URI για κινητά, όπως το '{callback}'",
|
||||
"oauth_profile_signing_algorithm": "Αλγόριθμος σύνδεσης προφίλ",
|
||||
"oauth_profile_signing_algorithm_description": "Αλγόριθμος που χρησιμοποιείται για την σύνδεση των χρηστών.",
|
||||
"oauth_scope": "Εύρος",
|
||||
"oauth_settings": "OAuth",
|
||||
"oauth_settings_description": "Διαχείριση ρυθμίσεων σύνδεσης OAuth",
|
||||
"oauth_settings_more_details": "Για περισσότερες λεπτομέρειες σχετικά με αυτήν τη δυνατότητα, ανατρέξτε στην <link>τεκμηρίωση</link>.",
|
||||
"oauth_signing_algorithm": "Αλγόριθμος υπογραφής",
|
||||
"oauth_storage_label_claim": "Δήλωση ετικέτας αποθήκευσης",
|
||||
"oauth_storage_label_claim_description": "Ορίζει αυτόματα την ετικέτα αποθήκευσης του χρήστη στη δηλωμένη τιμή.",
|
||||
"oauth_storage_quota_claim": "Δήλωση ποσοστού αποθήκευσης",
|
||||
@@ -352,6 +346,7 @@
|
||||
"user_delete_delay_settings_description": "Αριθμός ημερών μετά την αφαίρεση, για την οριστική διαγραφή του λογαριασμού και των αρχείων ενός χρήστη. Η εργασία διαγραφής χρηστών εκτελείται τα μεσάνυχτα, για να ελέγξει ποιοι χρήστες είναι έτοιμοι για διαγραφή. Οι αλλαγές σε αυτή τη ρύθμιση θα αξιολογηθούν κατά την επόμενη εκτέλεση.",
|
||||
"user_delete_immediately": "Ο λογαριασμός και τα αρχεία του/της <b>{user}</b> θα μπουν στην ουρά για οριστική διαγραφή, <b>άμεσα</b>.",
|
||||
"user_delete_immediately_checkbox": "Βάλε τον χρήστη και τα αρχεία του στην ουρά για άμεση διαγραφή",
|
||||
"user_details": "Λεπτομέρειες χρήστη",
|
||||
"user_management": "Διαχείριση χρηστών",
|
||||
"user_password_has_been_reset": "Ο κωδικός πρόσβασης του χρήστη έχει επαναρυθμιστεί:",
|
||||
"user_password_reset_description": "Παρακαλώ παρέχετε τον προσωρινό κωδικό πρόσβασης στον χρήστη και ενημερώστε τον ότι θα πρέπει να τον αλλάξει, κατά την επόμενη σύνδεσή του.",
|
||||
@@ -373,9 +368,9 @@
|
||||
"advanced": "Για προχωρημένους",
|
||||
"advanced_settings_enable_alternate_media_filter_subtitle": "Χρησιμοποιήστε αυτήν την επιλογή για να φιλτράρετε τα μέσα ενημέρωσης κατά τον συγχρονισμό με βάση εναλλακτικά κριτήρια. Δοκιμάστε αυτή τη δυνατότητα μόνο αν έχετε προβλήματα με την εφαρμογή που εντοπίζει όλα τα άλμπουμ.",
|
||||
"advanced_settings_enable_alternate_media_filter_title": "[ΠΕΙΡΑΜΑΤΙΚΟ] Χρήση εναλλακτικού φίλτρου συγχρονισμού άλμπουμ συσκευής",
|
||||
"advanced_settings_log_level_title": "Επίπεδο σύνδεσης: {}",
|
||||
"advanced_settings_log_level_title": "Επίπεδο σύνδεσης: {level}",
|
||||
"advanced_settings_prefer_remote_subtitle": "Μερικές συσκευές αργούν πολύ να φορτώσουν μικρογραφίες από αρχεία στη συσκευή. Ενεργοποιήστε αυτήν τη ρύθμιση για να φορτώνονται αντί αυτού απομακρυσμένες εικόνες.",
|
||||
"advanced_settings_prefer_remote_title": "Προτίμηση απομακρυσμένων εικόνων.",
|
||||
"advanced_settings_prefer_remote_title": "Προτίμηση απομακρυσμένων εικόνων",
|
||||
"advanced_settings_proxy_headers_subtitle": "Καθορισμός κεφαλίδων διακομιστή μεσολάβησης που το Immich πρέπει να στέλνει με κάθε αίτημα δικτύου",
|
||||
"advanced_settings_proxy_headers_title": "Κεφαλίδες διακομιστή μεσολάβησης",
|
||||
"advanced_settings_self_signed_ssl_subtitle": "Παρακάμπτει τον έλεγχο πιστοποιητικού SSL του διακομιστή. Απαραίτητο για αυτο-υπογεγραμμένα πιστοποιητικά.",
|
||||
@@ -404,9 +399,9 @@
|
||||
"album_remove_user_confirmation": "Είστε σίγουροι ότι θέλετε να αφαιρέσετε τον/την {user};",
|
||||
"album_share_no_users": "Φαίνεται ότι έχετε κοινοποιήσει αυτό το άλμπουμ σε όλους τους χρήστες ή δεν έχετε χρήστες για να το κοινοποιήσετε.",
|
||||
"album_thumbnail_card_item": "1 αντικείμενο",
|
||||
"album_thumbnail_card_items": "{} αντικείμενα",
|
||||
"album_thumbnail_card_shared": "· Κοινόχρηστο",
|
||||
"album_thumbnail_shared_by": "Κοινοποιημένο από {}",
|
||||
"album_thumbnail_card_items": "{count} αντικείμενα",
|
||||
"album_thumbnail_card_shared": " Κοινόχρηστο",
|
||||
"album_thumbnail_shared_by": "Κοινοποιημένο από {user}",
|
||||
"album_updated": "Το άλμπουμ, ενημερώθηκε",
|
||||
"album_updated_setting_description": "Λάβετε ειδοποίηση μέσω email όταν ένα κοινόχρηστο άλμπουμ έχει νέα αρχεία",
|
||||
"album_user_left": "Αποχωρήσατε από το {album}",
|
||||
@@ -444,7 +439,7 @@
|
||||
"archive": "Αρχείο",
|
||||
"archive_or_unarchive_photo": "Αρχειοθέτηση ή αποαρχειοθέτηση φωτογραφίας",
|
||||
"archive_page_no_archived_assets": "Δε βρέθηκαν αρχειοθετημένα στοιχεία",
|
||||
"archive_page_title": "Αρχείο ({})",
|
||||
"archive_page_title": "Αρχείο ({count})",
|
||||
"archive_size": "Μέγεθος Αρχείου",
|
||||
"archive_size_description": "Ρυθμίστε το μέγεθος του αρχείου για λήψεις (σε GiB)",
|
||||
"archived": "Αρχείο",
|
||||
@@ -474,46 +469,46 @@
|
||||
"asset_skipped_in_trash": "Στον κάδο απορριμμάτων",
|
||||
"asset_uploaded": "Ανεβάστηκε",
|
||||
"asset_uploading": "Ανεβάζεται…",
|
||||
"asset_viewer_settings_subtitle": "Manage your gallery viewer settings",
|
||||
"asset_viewer_settings_subtitle": "Διαχείριση ρυθμίσεων προβολής συλλογής",
|
||||
"asset_viewer_settings_title": "Προβολή Στοιχείων",
|
||||
"assets": "Αντικείμενα",
|
||||
"assets_added_count": "Προστέθηκε {count, plural, one {# αρχείο} other {# αρχεία}}",
|
||||
"assets_added_to_album_count": "Προστέθηκε {count, plural, one {# αρχείο} other {# αρχεία}} στο άλμπουμ",
|
||||
"assets_added_to_name_count": "Προστέθηκε {count, plural, one {# αρχείο} other {# αρχεία}} στο {hasName, select, true {<b>{name}</b>} other {νέο άλμπουμ}}",
|
||||
"assets_count": "{count, plural, one {# αρχείο} other {# αρχεία}}",
|
||||
"assets_deleted_permanently": "{} στοιχείο(-α) διαγράφηκε(-αν) οριστικά",
|
||||
"assets_deleted_permanently_from_server": "{} στοιχείο(α) διαγράφηκε(-αν) οριστικά από τον διακομιστή Immich",
|
||||
"assets_moved_to_trash_count": "Μετακινήθηκε/καν {count, plural, one {# αρχείο} other {# αρχεία}} στον κάδο απορριμμάτων",
|
||||
"assets_permanently_deleted_count": "Διαγράφηκε/καν μόνιμα {count, plural, one {# αρχείο} other {# αρχεία}}",
|
||||
"assets_deleted_permanently": "{count} τα στοιχεία διαγράφηκαν οριστικά",
|
||||
"assets_deleted_permanently_from_server": "{count} στοιχεία διαγράφηκαν οριστικά από το διακομιστή Immich",
|
||||
"assets_moved_to_trash_count": "Μετακινήθηκαν {count, plural, one {# αρχείο} other {# αρχεία}} στον κάδο απορριμμάτων",
|
||||
"assets_permanently_deleted_count": "Διαγράφηκαν μόνιμα {count, plural, one {# αρχείο} other {# αρχεία}}",
|
||||
"assets_removed_count": "Αφαιρέθηκαν {count, plural, one {# αρχείο} other {# αρχεία}}",
|
||||
"assets_removed_permanently_from_device": "{} στοιχεία καταργήθηκαν οριστικά από τη συσκευή σας",
|
||||
"assets_removed_permanently_from_device": "{count} στοιχεία καταργήθηκαν οριστικά από τη συσκευή σας",
|
||||
"assets_restore_confirmation": "Είστε βέβαιοι ότι θέλετε να επαναφέρετε όλα τα στοιχεία που βρίσκονται στον κάδο απορριμμάτων; Αυτή η ενέργεια δεν μπορεί να αναιρεθεί! Λάβετε υπόψη ότι δεν θα είναι δυνατή η επαναφορά στοιχείων εκτός σύνδεσης.",
|
||||
"assets_restored_count": "Έγινε επαναφορά {count, plural, one {# στοιχείου} other {# στοιχείων}}",
|
||||
"assets_restored_successfully": "{} στοιχεία αποκαταστάθηκαν με επιτυχία",
|
||||
"assets_restored_successfully": "{count} στοιχεία αποκαταστάθηκαν με επιτυχία",
|
||||
"assets_trashed": "{} στοιχεία μεταφέρθηκαν στον κάδο απορριμμάτων",
|
||||
"assets_trashed_count": "Μετακιν. στον κάδο απορριμάτων {count, plural, one {# στοιχείο} other {# στοιχεία}}",
|
||||
"assets_trashed_from_server": "{} στοιχεία μεταφέρθηκαν στον κάδο απορριμμάτων από τον διακομιστή Immich",
|
||||
"assets_trashed_from_server": "{} στοιχεία μεταφέρθηκαν στον κάδο απορριμμάτων από το διακομιστή Immich",
|
||||
"assets_were_part_of_album_count": "{count, plural, one {Το στοιχείο ανήκει} other {Τα στοιχεία ανήκουν}} ήδη στο άλμπουμ",
|
||||
"authorized_devices": "Εξουσιοδοτημένες Συσκευές",
|
||||
"automatic_endpoint_switching_subtitle": "Connect locally over designated Wi-Fi when available and use alternative connections elsewhere",
|
||||
"automatic_endpoint_switching_title": "Automatic URL switching",
|
||||
"automatic_endpoint_switching_subtitle": "Σύνδεση τοπικά μέσω του καθορισμένου Wi-Fi όταν είναι διαθέσιμο και χρήση εναλλακτικών συνδέσεων αλλού",
|
||||
"automatic_endpoint_switching_title": "Αυτόματη εναλλαγή URL",
|
||||
"back": "Πίσω",
|
||||
"back_close_deselect": "Πίσω, κλείσιμο ή αποεπιλογή",
|
||||
"background_location_permission": "Background location permission",
|
||||
"background_location_permission_content": "In order to switch networks when running in the background, Immich must *always* have precise location access so the app can read the Wi-Fi network's name",
|
||||
"background_location_permission": "Άδεια τοποθεσίας στο παρασκήνιο",
|
||||
"background_location_permission_content": "Το Immich για να μπορεί να αλλάζει δίκτυα όταν τρέχει στο παρασκήνιο, πρέπει *πάντα* να έχει πρόσβαση στην ακριβή τοποθεσία ώστε η εφαρμογή να μπορεί να διαβάζει το όνομα του δικτύου Wi-Fi",
|
||||
"backup_album_selection_page_albums_device": "Άλμπουμ στη συσκευή ({})",
|
||||
"backup_album_selection_page_albums_tap": "Πάτημα για συμπερίληψη, διπλό πάτημα για εξαίρεση",
|
||||
"backup_album_selection_page_assets_scatter": "Τα στοιχεία μπορεί να διασκορπιστούν σε πολλά άλμπουμ. Έτσι, τα άλμπουμ μπορούν να περιληφθούν ή να εξαιρεθούν κατά τη διαδικασία δημιουργίας αντιγράφων ασφαλείας.",
|
||||
"backup_album_selection_page_assets_scatter": "Τα στοιχεία μπορεί να διασκορπιστούν σε πολλά άλμπουμ. Έτσι, τα άλμπουμ μπορούν να περιληφθούν ή να εξαιρεθούν κατά τη διαδικασία δημιουργίας αντιγράφων ασφαλείας.",
|
||||
"backup_album_selection_page_select_albums": "Επιλογή άλμπουμ",
|
||||
"backup_album_selection_page_selection_info": "Πληροφορίες επιλογής",
|
||||
"backup_album_selection_page_total_assets": "Συνολικά μοναδικά στοιχεία",
|
||||
"backup_all": "Όλα",
|
||||
"backup_background_service_backup_failed_message": "Αποτυχία δημιουργίας αντιγράφων ασφαλείας. Επανάληψη...",
|
||||
"backup_background_service_connection_failed_message": "Αποτυχία σύνδεσης με το διακομιστή. Επανάληψη...",
|
||||
"backup_background_service_backup_failed_message": "Αποτυχία δημιουργίας αντιγράφων ασφαλείας. Επανάληψη…",
|
||||
"backup_background_service_connection_failed_message": "Αποτυχία σύνδεσης με το διακομιστή. Επανάληψη…",
|
||||
"backup_background_service_current_upload_notification": "Μεταφόρτωση {}",
|
||||
"backup_background_service_default_notification": "Έλεγχος για νέα στοιχεία...",
|
||||
"backup_background_service_default_notification": "Έλεγχος για νέα στοιχεία…",
|
||||
"backup_background_service_error_title": "Σφάλμα δημιουργίας αντιγράφων ασφαλείας",
|
||||
"backup_background_service_in_progress_notification": "Δημιουργία αντιγράφων ασφαλείας των στοιχείων σας...",
|
||||
"backup_background_service_in_progress_notification": "Δημιουργία αντιγράφων ασφαλείας των στοιχείων σας…",
|
||||
"backup_background_service_upload_failure_notification": "Αποτυχία μεταφόρτωσης {}",
|
||||
"backup_controller_page_albums": "Δημιουργία αντιγράφων ασφαλείας άλμπουμ",
|
||||
"backup_controller_page_background_app_refresh_disabled_content": "Ενεργοποιήστε την ανανέωση εφαρμογής στο παρασκήνιο στις Ρυθμίσεις > Γενικά > Ανανέωση Εφαρμογής στο Παρασκήνιο για να χρησιμοποιήσετε την δημιουργία αντιγράφων ασφαλείας στο παρασκήνιο.",
|
||||
@@ -531,7 +526,7 @@
|
||||
"backup_controller_page_background_is_on": "Η αυτόματη δημιουργία αντιγράφων ασφαλείας στο παρασκήνιο είναι ενεργοποιημένη",
|
||||
"backup_controller_page_background_turn_off": "Απενεργοποίηση υπηρεσίας παρασκηνίου",
|
||||
"backup_controller_page_background_turn_on": "Ενεργοποίηση υπηρεσίας παρασκηνίου",
|
||||
"backup_controller_page_background_wifi": "Μόνο σε σύνδεση WiFi",
|
||||
"backup_controller_page_background_wifi": "Μόνο σε σύνδεση Wi-Fi",
|
||||
"backup_controller_page_backup": "Αντίγραφα ασφαλείας",
|
||||
"backup_controller_page_backup_selected": "Επιλεγμένα: ",
|
||||
"backup_controller_page_backup_sub": "Φωτογραφίες και βίντεο για τα οποία έχουν δημιουργηθεί αντίγραφα ασφαλείας",
|
||||
@@ -547,13 +542,13 @@
|
||||
"backup_controller_page_remainder_sub": "Υπόλοιπες φωτογραφίες και βίντεο για αντιγραφή ασφαλείας από την επιλογή",
|
||||
"backup_controller_page_server_storage": "Χωρητικότητα Διακομιστή",
|
||||
"backup_controller_page_start_backup": "Έναρξη δημιουργίας αντιγράφου ασφαλείας",
|
||||
"backup_controller_page_status_off": "Η αυτόματη δημιουργία αντιγράφου ασφαλείας στο προσκήνιο είναι απενεργοποιημένη\n",
|
||||
"backup_controller_page_status_off": "Η αυτόματη δημιουργία αντιγράφου ασφαλείας στο προσκήνιο, είναι απενεργοποιημένη",
|
||||
"backup_controller_page_status_on": "Η αυτόματη δημιουργία αντιγράφου ασφαλείας στο προσκήνιο είναι ενεργοποιημένη",
|
||||
"backup_controller_page_storage_format": "{} από {} σε χρήση",
|
||||
"backup_controller_page_to_backup": "Άλμπουμ για δημιουργία αντιγράφου ασφαλείας",
|
||||
"backup_controller_page_total_sub": "Όλες οι μοναδικές φωτογραφίες και βίντεο από τα επιλεγμένα άλμπουμ\n",
|
||||
"backup_controller_page_turn_off": "Απενεργοποίηση δημιουργίας αντιγράφου ασφαλείας στο προσκήνιο\n",
|
||||
"backup_controller_page_turn_on": "Ενεργοποίηση δημιουργίας αντιγράφου ασφαλείας στο προσκήνιο\n",
|
||||
"backup_controller_page_total_sub": "Όλες οι μοναδικές φωτογραφίες και βίντεο από τα επιλεγμένα άλμπουμ",
|
||||
"backup_controller_page_turn_off": "Απενεργοποίηση δημιουργίας αντιγράφου ασφαλείας στο προσκήνιο",
|
||||
"backup_controller_page_turn_on": "Ενεργοποίηση δημιουργίας αντιγράφου ασφαλείας στο προσκήνιο",
|
||||
"backup_controller_page_uploading_file_info": "Μεταφόρτωση πληροφοριών αρχείου",
|
||||
"backup_err_only_album": "Δεν είναι δυνατή η αφαίρεση του μοναδικού άλμπουμ",
|
||||
"backup_info_card_assets": "στοιχεία",
|
||||
@@ -562,7 +557,7 @@
|
||||
"backup_manual_success": "Επιτυχία",
|
||||
"backup_manual_title": "Κατάσταση μεταφόρτωσης",
|
||||
"backup_options_page_title": "Επιλογές αντιγράφων ασφαλείας",
|
||||
"backup_setting_subtitle": "Manage background and foreground upload settings",
|
||||
"backup_setting_subtitle": "Διαχείριση ρυθμίσεων μεταφόρτωσης στο παρασκήνιο και στο προσκήνιο",
|
||||
"backward": "Προς τα πίσω",
|
||||
"birthdate_saved": "Η ημερομηνία γέννησης αποθηκεύτηκε επιτυχώς",
|
||||
"birthdate_set_description": "Η ημερομηνία γέννησης χρησιμοποιείται για τον υπολογισμό της ηλικίας αυτού του ατόμου, τη χρονική στιγμή μιας φωτογραφίας.",
|
||||
@@ -579,7 +574,7 @@
|
||||
"cache_settings_clear_cache_button_title": "Καθαρίζει τη προσωρινή μνήμη της εφαρμογής. Αυτό θα επηρεάσει σημαντικά την απόδοση της εφαρμογής μέχρι να αναδημιουργηθεί η προσωρινή μνήμη.",
|
||||
"cache_settings_duplicated_assets_clear_button": "ΕΚΚΑΘΑΡΙΣΗ",
|
||||
"cache_settings_duplicated_assets_subtitle": "Φωτογραφίες και βίντεο που έχουν μπει στη μαύρη λίστα από την εφαρμογή",
|
||||
"cache_settings_duplicated_assets_title": "Διπλά στοιχεία ({})",
|
||||
"cache_settings_duplicated_assets_title": "Διπλότυπα στοιχεία ({})",
|
||||
"cache_settings_image_cache_size": "Μέγεθος προσωρινής μνήμης εικόνων ({} στοιχεία)",
|
||||
"cache_settings_statistics_album": "Μικρογραφίες βιβλιοθήκης",
|
||||
"cache_settings_statistics_assets": "{} στοιχεία ({})",
|
||||
@@ -597,12 +592,12 @@
|
||||
"camera_model": "Μοντέλο κάμερας",
|
||||
"cancel": "Ακύρωση",
|
||||
"cancel_search": "Ακύρωση αναζήτησης",
|
||||
"canceled": "Canceled",
|
||||
"canceled": "Ακυρωμένο",
|
||||
"cannot_merge_people": "Αδύνατη η συγχώνευση ατόμων",
|
||||
"cannot_undo_this_action": "Δεν μπορείτε να αναιρέσετε αυτήν την ενέργεια!",
|
||||
"cannot_update_the_description": "Αδύνατη η ενημέρωση της περιγραφής",
|
||||
"change_date": "Αλλαγή ημερομηνίας",
|
||||
"change_display_order": "Change display order",
|
||||
"change_display_order": "Αλλαγή σειράς εμφάνισης",
|
||||
"change_expiration_time": "Αλλαγή χρόνου λήξης",
|
||||
"change_location": "Αλλαγή τοποθεσίας",
|
||||
"change_name": "Αλλαγή ονομασίας",
|
||||
@@ -617,9 +612,9 @@
|
||||
"change_your_password": "Αλλάξτε τον κωδικό σας",
|
||||
"changed_visibility_successfully": "Η προβολή, άλλαξε με επιτυχία",
|
||||
"check_all": "Επιλογή Όλων",
|
||||
"check_corrupt_asset_backup": "Check for corrupt asset backups",
|
||||
"check_corrupt_asset_backup_button": "Perform check",
|
||||
"check_corrupt_asset_backup_description": "Run this check only over Wi-Fi and once all assets have been backed-up. The procedure might take a few minutes.",
|
||||
"check_corrupt_asset_backup": "Έλεγχος για κατεστραμμένα αντίγραφα ασφαλείας στοιχείων",
|
||||
"check_corrupt_asset_backup_button": "Εκτέλεση ελέγχου",
|
||||
"check_corrupt_asset_backup_description": "Εκτέλεσε αυτόν τον έλεγχο μόνο μέσω Wi-Fi και αφού έχουν αποθηκευτεί όλα τα αντίγραφα ασφαλείας των στοιχείων. Η διαδικασία μπορεί να διαρκέσει μερικά λεπτά.",
|
||||
"check_logs": "Ελέγξτε τα αρχεία καταγραφής",
|
||||
"choose_matching_people_to_merge": "Επιλέξτε τα αντίστοιχα άτομα για συγχώνευση",
|
||||
"city": "Πόλη",
|
||||
@@ -648,7 +643,7 @@
|
||||
"comments_are_disabled": "Τα σχόλια είναι απενεργοποιημένα",
|
||||
"common_create_new_album": "Δημιουργία νέου άλμπουμ",
|
||||
"common_server_error": "Ελέγξτε τη σύνδεσή σας, βεβαιωθείτε ότι ο διακομιστής είναι προσβάσιμος και ότι οι εκδόσεις της εφαρμογής/διακομιστή είναι συμβατές.",
|
||||
"completed": "Completed",
|
||||
"completed": "Ολοκληρώθηκε",
|
||||
"confirm": "Επιβεβαίωση",
|
||||
"confirm_admin_password": "Επιβεβαίωση κωδικού Διαχειριστή",
|
||||
"confirm_delete_face": "Είστε σίγουροι ότι θέλετε να διαγράψετε το πρόσωπο του/της {name} από το στοιχείο;",
|
||||
@@ -664,7 +659,7 @@
|
||||
"control_bottom_app_bar_delete_from_local": "Διαγραφή από τη συσκευή",
|
||||
"control_bottom_app_bar_edit_location": "Επεξεργασία Τοποθεσίας",
|
||||
"control_bottom_app_bar_edit_time": "Επεξεργασία Ημερομηνίας & Ώρας",
|
||||
"control_bottom_app_bar_share_link": "Share Link",
|
||||
"control_bottom_app_bar_share_link": "Κοινοποιήστε το σύνδεσμο",
|
||||
"control_bottom_app_bar_share_to": "Κοινοποίηση Σε",
|
||||
"control_bottom_app_bar_trash_from_immich": "Μετακίνηση στα Απορρίμματα",
|
||||
"copied_image_to_clipboard": "Η εικόνα αντιγράφηκε στο πρόχειρο.",
|
||||
@@ -699,7 +694,7 @@
|
||||
"crop": "Αποκοπή",
|
||||
"curated_object_page_title": "Πράγματα",
|
||||
"current_device": "Τρέχουσα συσκευή",
|
||||
"current_server_address": "Current server address",
|
||||
"current_server_address": "Τρέχουσα διεύθυνση διακομιστή",
|
||||
"custom_locale": "Προσαρμοσμένη Τοπική Ρύθμιση",
|
||||
"custom_locale_description": "Μορφοποιήστε τις ημερομηνίες και τους αριθμούς, σύμφωνα με τη γλώσσα και την περιοχή",
|
||||
"daily_title_text_date": "Ε, MMM dd",
|
||||
@@ -750,7 +745,7 @@
|
||||
"direction": "Κατεύθυνση",
|
||||
"disabled": "Απενεργοποιημένο",
|
||||
"disallow_edits": "Απαγόρευση επεξεργασιών",
|
||||
"discord": "Discord",
|
||||
"discord": "Πλατφόρμα Discord",
|
||||
"discover": "Ανίχνευση",
|
||||
"dismiss_all_errors": "Παράβλεψη όλων των σφαλμάτων",
|
||||
"dismiss_error": "Παράβλεψη σφάλματος",
|
||||
@@ -811,16 +806,16 @@
|
||||
"editor_crop_tool_h2_aspect_ratios": "Αναλογίες διαστάσεων",
|
||||
"editor_crop_tool_h2_rotation": "Περιστροφή",
|
||||
"email": "Email",
|
||||
"empty_folder": "This folder is empty",
|
||||
"empty_folder": "Αυτός ο φάκελος είναι κενός",
|
||||
"empty_trash": "Άδειασμα κάδου απορριμμάτων",
|
||||
"empty_trash_confirmation": "Είστε σίγουροι οτι θέλετε να αδειάσετε τον κάδο απορριμμάτων; Αυτό θα αφαιρέσει μόνιμα όλα τα στοιχεία του κάδου απορριμμάτων του Immich. \nΑυτή η ενέργεια δεν μπορεί να αναιρεθεί!",
|
||||
"enable": "Ενεργοποίηση",
|
||||
"enabled": "Ενεργοποιημένο",
|
||||
"end_date": "Τελική ημερομηνία",
|
||||
"enqueued": "Enqueued",
|
||||
"enter_wifi_name": "Enter WiFi name",
|
||||
"enqueued": "Τοποθετήθηκε στη λίστα αναμονής",
|
||||
"enter_wifi_name": "Εισαγωγή ονόματος Wi-Fi",
|
||||
"error": "Σφάλμα",
|
||||
"error_change_sort_album": "Failed to change album sort order",
|
||||
"error_change_sort_album": "Απέτυχε η αλλαγή σειράς του άλμπουμ",
|
||||
"error_delete_face": "Σφάλμα διαγραφής προσώπου από το στοιχείο",
|
||||
"error_loading_image": "Σφάλμα κατά τη φόρτωση της εικόνας",
|
||||
"error_saving_image": "Σφάλμα: {}",
|
||||
@@ -857,6 +852,7 @@
|
||||
"failed_to_remove_product_key": "Αποτυχία αφαίρεσης κλειδιού προϊόντος",
|
||||
"failed_to_stack_assets": "Αποτυχία στην συμπίεση των στοιχείων",
|
||||
"failed_to_unstack_assets": "Αποτυχία στην αποσυμπίεση των στοιχείων",
|
||||
"failed_to_update_notification_status": "Αποτυχία ενημέρωσης της κατάστασης ειδοποίησης",
|
||||
"import_path_already_exists": "Αυτή η διαδρομή εισαγωγής υπάρχει ήδη.",
|
||||
"incorrect_email_or_password": "Λανθασμένο email ή κωδικός πρόσβασης",
|
||||
"paths_validation_failed": "{paths, plural, one {# διαδρομή} other {# διαδρομές}} απέτυχαν κατά την επικύρωση",
|
||||
@@ -955,12 +951,12 @@
|
||||
"exif_bottom_sheet_description": "Προσθήκη Περιγραφής...",
|
||||
"exif_bottom_sheet_details": "ΛΕΠΤΟΜΕΡΕΙΕΣ",
|
||||
"exif_bottom_sheet_location": "ΤΟΠΟΘΕΣΙΑ",
|
||||
"exif_bottom_sheet_people": "ΑΝΘΡΩΠΟΙ",
|
||||
"exif_bottom_sheet_people": "ΑΤΟΜΑ",
|
||||
"exif_bottom_sheet_person_add_person": "Προσθήκη ονόματος",
|
||||
"exif_bottom_sheet_person_age": "Age {}",
|
||||
"exif_bottom_sheet_person_age_months": "Age {} months",
|
||||
"exif_bottom_sheet_person_age_year_months": "Age 1 year, {} months",
|
||||
"exif_bottom_sheet_person_age_years": "Age {}",
|
||||
"exif_bottom_sheet_person_age": "Ηλικία {}",
|
||||
"exif_bottom_sheet_person_age_months": "Ηλικία {} μήνες",
|
||||
"exif_bottom_sheet_person_age_year_months": "Ηλικία 1 έτους, {} μηνών",
|
||||
"exif_bottom_sheet_person_age_years": "Ηλικία {}",
|
||||
"exit_slideshow": "Έξοδος από την παρουσίαση",
|
||||
"expand_all": "Ανάπτυξη όλων",
|
||||
"experimental_settings_new_asset_list_subtitle": "Σε εξέλιξη",
|
||||
@@ -977,12 +973,12 @@
|
||||
"extension": "Επέκταση",
|
||||
"external": "Εξωτερικός",
|
||||
"external_libraries": "Εξωτερικές βιβλιοθήκες",
|
||||
"external_network": "External network",
|
||||
"external_network_sheet_info": "When not on the preferred WiFi network, the app will connect to the server through the first of the below URLs it can reach, starting from top to bottom",
|
||||
"external_network": "Εξωτερικό δίκτυο",
|
||||
"external_network_sheet_info": "Όταν δεν είστε συνδεδεμένοι στο προτιμώμενο δίκτυο Wi-Fi, η εφαρμογή θα συνδεθεί με τον διακομιστή μέσω του πρώτου από τα παρακάτω URLs που μπορεί να βρει διαθέσιμο, ξεκινώντας από το πάνω προς το κάτω",
|
||||
"face_unassigned": "Μη ανατεθειμένο",
|
||||
"failed": "Failed",
|
||||
"failed": "Απέτυχε",
|
||||
"failed_to_load_assets": "Αποτυχία φόρτωσης στοιχείων",
|
||||
"failed_to_load_folder": "Failed to load folder",
|
||||
"failed_to_load_folder": "Αποτυχία φόρτωσης φακέλου",
|
||||
"favorite": "Αγαπημένο",
|
||||
"favorite_or_unfavorite_photo": "Ορίστε μία φωτογραφία ως αγαπημένη ή αφαιρέστε την από τα αγαπημένα",
|
||||
"favorites": "Αγαπημένα",
|
||||
@@ -996,21 +992,22 @@
|
||||
"filetype": "Τύπος αρχείου",
|
||||
"filter": "Φίλτρο",
|
||||
"filter_people": "Φιλτράρισμα ατόμων",
|
||||
"filter_places": "Φιλτράρισμα τοποθεσιών",
|
||||
"find_them_fast": "Βρείτε τους γρήγορα με αναζήτηση κατά όνομα",
|
||||
"fix_incorrect_match": "Διόρθωση λανθασμένης αντιστοίχισης",
|
||||
"folder": "Folder",
|
||||
"folder_not_found": "Folder not found",
|
||||
"folder": "Φάκελος",
|
||||
"folder_not_found": "Ο φάκελος δεν βρέθηκε",
|
||||
"folders": "Φάκελοι",
|
||||
"folders_feature_description": "Περιήγηση στην προβολή φακέλου για τις φωτογραφίες και τα βίντεο στο σύστημα αρχείων",
|
||||
"forward": "Προς τα εμπρός",
|
||||
"general": "Γενικά",
|
||||
"get_help": "Ζητήστε βοήθεια",
|
||||
"get_wifiname_error": "Could not get Wi-Fi name. Make sure you have granted the necessary permissions and are connected to a Wi-Fi network",
|
||||
"get_wifiname_error": "Δεν ήταν δυνατή η λήψη του ονόματος Wi-Fi. Βεβαιωθείτε ότι έχετε δώσει τις απαραίτητες άδειες και ότι είστε συνδεδεμένοι σε δίκτυο Wi-Fi",
|
||||
"getting_started": "Ξεκινώντας",
|
||||
"go_back": "Πηγαίνετε πίσω",
|
||||
"go_to_folder": "Μετάβαση στο φάκελο",
|
||||
"go_to_search": "Πηγαίνετε στην αναζήτηση",
|
||||
"grant_permission": "Grant permission",
|
||||
"grant_permission": "Επιτρέψτε την άδεια",
|
||||
"group_albums_by": "Ομαδοποίηση άλμπουμ κατά...",
|
||||
"group_country": "Ομαδοποίηση κατά χώρα",
|
||||
"group_no": "Καμία ομοδοποίηση",
|
||||
@@ -1044,7 +1041,7 @@
|
||||
"home_page_delete_remote_err_local": "Τοπικά στοιχεία στη διαγραφή απομακρυσμένης επιλογής, παραλείπεται",
|
||||
"home_page_favorite_err_local": "Δεν μπορώ ακόμα να αγαπήσω τα τοπικά στοιχεία, παραλείπεται",
|
||||
"home_page_favorite_err_partner": "Δεν είναι ακόμα δυνατή η πρόσθεση στοιχείων συντρόφου στα αγαπημένα, παραλείπεται",
|
||||
"home_page_first_time_notice": "Εάν αυτή είναι η πρώτη φορά που χρησιμοποιείτε την εφαρμογή, βεβαιωθείτε ότι έχετε επιλέξει ένα άλμπουμ αντίγραφου ασφαλείας, ώστε το χρονοδιάγραμμα να μπορεί να συμπληρώσει φωτογραφίες και βίντεο στα άλμπουμ.",
|
||||
"home_page_first_time_notice": "Εάν αυτή είναι η πρώτη φορά που χρησιμοποιείτε την εφαρμογή, βεβαιωθείτε ότι έχετε επιλέξει ένα άλμπουμ αντίγραφου ασφαλείας, ώστε το χρονοδιάγραμμα να μπορεί να συμπληρώσει φωτογραφίες και βίντεο στα άλμπουμ",
|
||||
"home_page_share_err_local": "Δεν είναι δυνατή η κοινή χρήση τοπικών στοιχείων μέσω συνδέσμου, παραλείπεται",
|
||||
"home_page_upload_err_limit": "Μπορείτε να ανεβάσετε μόνο 30 στοιχεία κάθε φορά, παραλείπεται",
|
||||
"host": "Φιλοξενία",
|
||||
@@ -1122,9 +1119,9 @@
|
||||
"loading": "Φόρτωση",
|
||||
"loading_search_results_failed": "Η φόρτωση αποτελεσμάτων αναζήτησης απέτυχε",
|
||||
"local_network": "Local network",
|
||||
"local_network_sheet_info": "The app will connect to the server through this URL when using the specified Wi-Fi network",
|
||||
"location_permission": "Location permission",
|
||||
"location_permission_content": "In order to use the auto-switching feature, Immich needs precise location permission so it can read the current WiFi network's name",
|
||||
"local_network_sheet_info": "Η εφαρμογή θα συνδεθεί με τον διακομιστή μέσω αυτού του URL όταν χρησιμοποιείται το καθορισμένο δίκτυο Wi-Fi",
|
||||
"location_permission": "Άδεια τοποθεσίας",
|
||||
"location_permission_content": "Για να χρησιμοποιηθεί η λειτουργία αυτόματης εναλλαγής, το Immich χρειάζεται άδεια για την ακριβή τοποθεσία της συσκευής ώστε να μπορεί να διαβάζει το όνομα του τρέχοντος δικτύου Wi-Fi",
|
||||
"location_picker_choose_on_map": "Επιλέξτε στο χάρτη",
|
||||
"location_picker_latitude_error": "Εισαγάγετε ένα έγκυρο γεωγραφικό πλάτος",
|
||||
"location_picker_latitude_hint": "Εισαγάγετε το γεωγραφικό πλάτος σας εδώ",
|
||||
@@ -1198,6 +1195,9 @@
|
||||
"map_settings_only_show_favorites": "Εμφάνιση μόνο αγαπημένων",
|
||||
"map_settings_theme_settings": "Θέμα χάρτη",
|
||||
"map_zoom_to_see_photos": "Σμικρύνετε για να δείτε φωτογραφίες",
|
||||
"mark_all_as_read": "Επισήμανση όλων ως αναγνωσμένα",
|
||||
"mark_as_read": "Επισήμανση ως αναγνωσμένο",
|
||||
"marked_all_as_read": "Όλα επισημάνθηκαν ως αναγνωσμένα",
|
||||
"matches": "Αντιστοιχίες",
|
||||
"media_type": "Τύπος πολυμέσου",
|
||||
"memories": "Αναμνήσεις",
|
||||
@@ -1207,7 +1207,7 @@
|
||||
"memories_start_over": "Ξεκινήστε από την αρχή",
|
||||
"memories_swipe_to_close": "Σύρετε προς τα πάνω για να κλείσετε",
|
||||
"memories_year_ago": "Πριν ένα χρόνο",
|
||||
"memories_years_ago": "Πριν από {} χρόνια",
|
||||
"memories_years_ago": "Πριν από {} έτη",
|
||||
"memory": "Ανάμνηση",
|
||||
"memory_lane_title": "Διαδρομή Αναμνήσεων {title}",
|
||||
"menu": "Μενού",
|
||||
@@ -1231,8 +1231,8 @@
|
||||
"my_albums": "Τα άλμπουμ μου",
|
||||
"name": "Όνομα",
|
||||
"name_or_nickname": "Όνομα ή ψευδώνυμο",
|
||||
"networking_settings": "Networking",
|
||||
"networking_subtitle": "Manage the server endpoint settings",
|
||||
"networking_settings": "Δικτύωση",
|
||||
"networking_subtitle": "Διαχείριση ρυθμίσεων τελικών σημείων διακομιστή",
|
||||
"never": "Ποτέ",
|
||||
"new_album": "Νέο Άλμπουμ",
|
||||
"new_api_key": "Νέο API Key",
|
||||
@@ -1256,12 +1256,13 @@
|
||||
"no_favorites_message": "Προσθέστε αγαπημένα για να βρείτε γρήγορα τις καλύτερες φωτογραφίες και τα βίντεό σας",
|
||||
"no_libraries_message": "Δημιουργήστε μια εξωτερική βιβλιοθήκη για να προβάλετε τις φωτογραφίες και τα βίντεό σας",
|
||||
"no_name": "Χωρίς Όνομα",
|
||||
"no_notifications": "Καμία ειδοποίηση",
|
||||
"no_places": "Καμία τοποθεσία",
|
||||
"no_results": "Κανένα αποτέλεσμα",
|
||||
"no_results_description": "Δοκιμάστε ένα συνώνυμο ή πιο γενική λέξη-κλειδί",
|
||||
"no_shared_albums_message": "Δημιουργήστε ένα άλμπουμ για να μοιράζεστε φωτογραφίες και βίντεο με άτομα στο δίκτυό σας",
|
||||
"not_in_any_album": "Σε κανένα άλμπουμ",
|
||||
"not_selected": "Not selected",
|
||||
"not_selected": "Δεν επιλέχθηκε",
|
||||
"note_apply_storage_label_to_previously_uploaded assets": "Σημείωση: Για να εφαρμόσετε την Ετικέτα Αποθήκευσης σε στοιχεία που έχουν μεταφορτωθεί προηγουμένως, εκτελέστε το",
|
||||
"notes": "Σημειώσεις",
|
||||
"notification_permission_dialog_content": "Για να ενεργοποιήσετε τις ειδοποιήσεις, μεταβείτε στις Ρυθμίσεις και επιλέξτε να επιτρέπεται.",
|
||||
@@ -1286,6 +1287,7 @@
|
||||
"onboarding_welcome_user": "Καλωσόρισες, {user}",
|
||||
"online": "Σε σύνδεση",
|
||||
"only_favorites": "Μόνο αγαπημένα",
|
||||
"open": "Άνοιγμα",
|
||||
"open_in_map_view": "Άνοιγμα σε προβολή χάρτη",
|
||||
"open_in_openstreetmap": "Άνοιγμα στο OpenStreetMap",
|
||||
"open_the_search_filters": "Ανοίξτε τα φίλτρα αναζήτησης",
|
||||
@@ -1363,7 +1365,7 @@
|
||||
"play_motion_photo": "Αναπαραγωγή Κινούμενης Φωτογραφίας",
|
||||
"play_or_pause_video": "Αναπαραγωγή ή παύση βίντεο",
|
||||
"port": "Θύρα",
|
||||
"preferences_settings_subtitle": "Manage the app's preferences",
|
||||
"preferences_settings_subtitle": "Διαχειριστείτε τις προτιμήσεις της εφαρμογής",
|
||||
"preferences_settings_title": "Προτιμήσεις",
|
||||
"preset": "Προκαθορισμένη ρύθμιση",
|
||||
"preview": "Προεπισκόπηση",
|
||||
@@ -1385,7 +1387,7 @@
|
||||
"public_share": "Δημόσια Κοινή Χρήση",
|
||||
"purchase_account_info": "Υποστηρικτής",
|
||||
"purchase_activated_subtitle": "Σας ευχαριστούμε για την υποστήριξη του Immich και λογισμικών ανοιχτού κώδικα",
|
||||
"purchase_activated_time": "Ενεργοποιήθηκε στις {date, date}",
|
||||
"purchase_activated_time": "Ενεργοποιήθηκε στις {date}",
|
||||
"purchase_activated_title": "Το κλειδί σας ενεργοποιήθηκε με επιτυχία",
|
||||
"purchase_button_activate": "Ενεργοποίηση",
|
||||
"purchase_button_buy": "Αγορά",
|
||||
@@ -1430,6 +1432,8 @@
|
||||
"recent_searches": "Πρόσφατες αναζητήσεις",
|
||||
"recently_added": "Προστέθηκαν πρόσφατα",
|
||||
"recently_added_page_title": "Προστέθηκαν Πρόσφατα",
|
||||
"recently_taken": "Λήφθηκαν πρόσφατα",
|
||||
"recently_taken_page_title": "Λήφθηκαν Πρόσφατα",
|
||||
"refresh": "Ανανέωση",
|
||||
"refresh_encoded_videos": "Ανανέωση κωδικοποιημένων βίντεο",
|
||||
"refresh_faces": "Ανανέωση προσώπων",
|
||||
@@ -1514,7 +1518,7 @@
|
||||
"search_filter_date_title": "Επιλέξτε εύρος ημερομηνιών",
|
||||
"search_filter_display_option_not_in_album": "Όχι στο άλμπουμ",
|
||||
"search_filter_display_options": "Επιλογές εμφάνισης",
|
||||
"search_filter_filename": "Search by file name",
|
||||
"search_filter_filename": "Αναζήτηση με όνομα αρχείου",
|
||||
"search_filter_location": "Τοποθεσία",
|
||||
"search_filter_location_title": "Επιλέξτε τοποθεσία",
|
||||
"search_filter_media_type": "Τύπος Μέσου",
|
||||
@@ -1522,17 +1526,17 @@
|
||||
"search_filter_people_title": "Επιλέξτε άτομα",
|
||||
"search_for": "Αναζήτηση για",
|
||||
"search_for_existing_person": "Αναζήτηση υπάρχοντος ατόμου",
|
||||
"search_no_more_result": "No more results",
|
||||
"search_no_more_result": "Δεν υπάρχουν άλλα αποτελέσματα",
|
||||
"search_no_people": "Κανένα άτομο",
|
||||
"search_no_people_named": "Κανένα άτομο με όνομα \"{name}\"",
|
||||
"search_no_result": "No results found, try a different search term or combination",
|
||||
"search_no_result": "Δεν βρέθηκαν αποτελέσματα, προσπαθήστε με διαφορετικές ορολογίες αναζήτησης ή συνδυασμούς",
|
||||
"search_options": "Επιλογές αναζήτησης",
|
||||
"search_page_categories": "Κατηγορίες",
|
||||
"search_page_motion_photos": "Κινούμενες Φωτογραφίες",
|
||||
"search_page_no_objects": "Μη διαθέσιμες πληροφορίες αντικειμένων",
|
||||
"search_page_no_places": "Μη διαθέσιμες πληροφορίες για μέρη",
|
||||
"search_page_screenshots": "Στιγμιότυπα οθόνης",
|
||||
"search_page_search_photos_videos": "Search for your photos and videos",
|
||||
"search_page_search_photos_videos": "Αναζήτηση για τις φωτογραφίες και τα βίντεό σας",
|
||||
"search_page_selfies": "Σέλφι",
|
||||
"search_page_things": "Πράγματα",
|
||||
"search_page_view_all_button": "Προβολή όλων",
|
||||
@@ -1544,7 +1548,7 @@
|
||||
"search_result_page_new_search_hint": "Νέα Αναζήτηση",
|
||||
"search_settings": "Ρυθμίσεις αναζήτησης",
|
||||
"search_state": "Αναζήτηση νομού...",
|
||||
"search_suggestion_list_smart_search_hint_1": "Η έξυπνη αναζήτηση είναι ενεργοποιημένη από προεπιλογή, για αναζήτηση μεταδεδομένων χρησιμοποιήστε το συντακτικό",
|
||||
"search_suggestion_list_smart_search_hint_1": "Η έξυπνη αναζήτηση είναι ενεργοποιημένη από προεπιλογή, για αναζήτηση μεταδεδομένων χρησιμοποιήστε το συντακτικό ",
|
||||
"search_suggestion_list_smart_search_hint_2": "m:όρος-αναζήτησης",
|
||||
"search_tags": "Αναζήτηση ετικετών...",
|
||||
"search_timezone": "Αναζήτηση ζώνης ώρας...",
|
||||
@@ -1571,7 +1575,7 @@
|
||||
"selected_count": "{count, plural, other {# επιλεγμένοι}}",
|
||||
"send_message": "Αποστολή μηνύματος",
|
||||
"send_welcome_email": "Αποστολή email καλωσορίσματος",
|
||||
"server_endpoint": "Server Endpoint",
|
||||
"server_endpoint": "Τελικό σημείο Διακομιστή",
|
||||
"server_info_box_app_version": "Έκδοση εφαρμογής",
|
||||
"server_info_box_server_url": "URL διακομιστή",
|
||||
"server_offline": "Διακομιστής Εκτός Σύνδεσης",
|
||||
@@ -1592,7 +1596,7 @@
|
||||
"setting_image_viewer_preview_title": "Φόρτωση εικόνας προεπισκόπησης",
|
||||
"setting_image_viewer_title": "Εικόνες",
|
||||
"setting_languages_apply": "Εφαρμογή",
|
||||
"setting_languages_subtitle": "Change the app's language",
|
||||
"setting_languages_subtitle": "Αλλάξτε τη γλώσσα της εφαρμογής",
|
||||
"setting_languages_title": "Γλώσσες",
|
||||
"setting_notifications_notify_failures_grace_period": "Ειδοποίηση αποτυχιών δημιουργίας αντιγράφων ασφαλείας στο παρασκήνιο: {}",
|
||||
"setting_notifications_notify_hours": "{} ώρες",
|
||||
@@ -1606,8 +1610,8 @@
|
||||
"setting_notifications_total_progress_subtitle": "Συνολική πρόοδος μεταφόρτωσης (ολοκληρώθηκε/σύνολο στοιχείων)",
|
||||
"setting_notifications_total_progress_title": "Εμφάνιση συνολικής προόδου δημιουργίας αντιγράφων ασφαλείας παρασκηνίου",
|
||||
"setting_video_viewer_looping_title": "Συνεχής Επανάληψη",
|
||||
"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_subtitle": "Όταν μεταδίδετε ένα βίντεο από τον διακομιστή, αναπαράγετε το αυθεντικό ακόμη και όταν υπάρχει διαθέσιμο με διαφορετική κωδικοποίηση. Μπορεί να προκαλέσει καθυστέρηση φόρτωσης. Τα βίντεο που είναι διαθέσιμα τοπικά, αναπαράγονται στην αυθεντική ποιότητα, ανεξαρτήτως αυτής της ρύθμισης.",
|
||||
"setting_video_viewer_original_video_title": "Αναγκαστική αναπαραγωγή αυθεντικού βίντεο",
|
||||
"settings": "Ρυθμίσεις",
|
||||
"settings_require_restart": "Επανεκκινήστε το Immich για να εφαρμόσετε αυτήν τη ρύθμιση",
|
||||
"settings_saved": "Οι ρυθμίσεις αποθηκεύτηκαν",
|
||||
@@ -1622,12 +1626,12 @@
|
||||
"shared_album_section_people_action_error": "Σφάλμα αποχώρησης/κατάργησης από το άλμπουμ",
|
||||
"shared_album_section_people_action_leave": "Αποχώρηση χρήστη από το άλμπουμ",
|
||||
"shared_album_section_people_action_remove_user": "Κατάργηση χρήστη από το άλμπουμ",
|
||||
"shared_album_section_people_title": "ΑΝΘΡΩΠΟΙ",
|
||||
"shared_album_section_people_title": "ΑΤΟΜΑ",
|
||||
"shared_by": "Σε κοινή χρήση από",
|
||||
"shared_by_user": "Σε κοινή χρήση από {user}",
|
||||
"shared_by_you": "Σε κοινή χρήση από εσάς",
|
||||
"shared_from_partner": "Φωτογραφίες από {partner}",
|
||||
"shared_intent_upload_button_progress_text": "{} / {} Uploaded",
|
||||
"shared_intent_upload_button_progress_text": "{} / {} Μεταφορτωμένα",
|
||||
"shared_link_app_bar_title": "Κοινόχρηστοι Σύνδεσμοι",
|
||||
"shared_link_clipboard_copied_massage": "Αντιγράφηκε στο πρόχειρο",
|
||||
"shared_link_clipboard_text": "Σύνδεσμος: {}\nΚωδικός πρόσβασης: {}",
|
||||
@@ -1806,7 +1810,7 @@
|
||||
"unlink_motion_video": "Αποσυνδέστε το βίντεο κίνησης",
|
||||
"unlink_oauth": "Αποσύνδεση OAuth",
|
||||
"unlinked_oauth_account": "Ο λογαριασμός OAuth αποσυνδέθηκε",
|
||||
"unmute_memories": "Αποσυνδέστε τις αναμνήσεις",
|
||||
"unmute_memories": "Ενεργοποίηση Αναμνήσεων",
|
||||
"unnamed_album": "Ανώνυμο Άλμπουμ",
|
||||
"unnamed_album_delete_confirmation": "Είστε σίγουροι ότι θέλετε να διαγράψετε αυτό το άλμπουμ;",
|
||||
"unnamed_share": "Ανώνυμη Κοινή Χρήση",
|
||||
@@ -1830,11 +1834,11 @@
|
||||
"upload_status_errors": "Σφάλματα",
|
||||
"upload_status_uploaded": "Μεταφορτώθηκαν",
|
||||
"upload_success": "Η μεταφόρτωση ολοκληρώθηκε, ανανεώστε τη σελίδα για να δείτε τα νέα αντικείμενα.",
|
||||
"upload_to_immich": "Upload to Immich ({})",
|
||||
"uploading": "Uploading",
|
||||
"upload_to_immich": "Μεταφόρτωση στο Immich ({})",
|
||||
"uploading": "Μεταφορτώνεται",
|
||||
"url": "URL",
|
||||
"usage": "Χρήση",
|
||||
"use_current_connection": "use current connection",
|
||||
"use_current_connection": "χρήση τρέχουσας σύνδεσης",
|
||||
"use_custom_date_range": "Χρήση προσαρμοσμένου εύρους ημερομηνιών",
|
||||
"user": "Χρήστης",
|
||||
"user_id": "ID Χρήστη",
|
||||
@@ -1849,14 +1853,14 @@
|
||||
"users": "Χρήστες",
|
||||
"utilities": "Βοηθητικά προγράμματα",
|
||||
"validate": "Επικύρωση",
|
||||
"validate_endpoint_error": "Please enter a valid URL",
|
||||
"validate_endpoint_error": "Παρακαλώ εισάγετε ένα έγκυρο URL",
|
||||
"variables": "Μεταβλητές",
|
||||
"version": "Έκδοση",
|
||||
"version_announcement_closing": "Ο φίλος σου, Alex",
|
||||
"version_announcement_message": "Γειά σας! Μια νέα έκδοση του Immich είναι διαθέσιμη. Παρακαλούμε αφιερώστε λίγο χρόνο για να διαβάσετε τις <link>σημειώσεις έκδοσης</link> ώστε να βεβαιωθείτε ότι η ρύθμιση σας είναι ενημερωμένη και να αποφύγετε τυχόν σφάλματα, ειδικά αν χρησιμοποιείτε το WatchTower ή οποιοδήποτε μηχανισμό που διαχειρίζεται αυτόματα την ενημέρωση της εγκατάστασης του Immich σας.",
|
||||
"version_announcement_overlay_release_notes": "σημειώσεις έκδοσης",
|
||||
"version_announcement_overlay_text_1": "Γειά σας, υπάρχει μια νέα έκδοση του",
|
||||
"version_announcement_overlay_text_2": "παρακαλώ αφιερώστε χρόνο να επισκεφθείτε το",
|
||||
"version_announcement_overlay_text_2": "παρακαλώ αφιερώστε χρόνο να επισκεφθείτε το ",
|
||||
"version_announcement_overlay_text_3": " και βεβαιωθείτε ότι το docker-compose και το .env σας είναι ενημερωμένη για την αποφυγή τυχόν εσφαλμένων διαμορφώσεων, ειδικά εάν χρησιμοποιείτε το WatchTower ή οποιονδήποτε μηχανισμό που χειρίζεται την αυτόματη ενημέρωση του διακομιστή σας.",
|
||||
"version_announcement_overlay_title": "Διαθέσιμη νέα έκδοση διακομιστή 🎉",
|
||||
"version_history": "Ιστορικό Εκδόσεων",
|
||||
@@ -1887,11 +1891,11 @@
|
||||
"week": "Εβδομάδα",
|
||||
"welcome": "Καλωσορίσατε",
|
||||
"welcome_to_immich": "Καλωσορίσατε στο Ιmmich",
|
||||
"wifi_name": "WiFi Name",
|
||||
"wifi_name": "Όνομα Wi-Fi",
|
||||
"year": "Έτος",
|
||||
"years_ago": "πριν από {years, plural, one {# χρόνο} other {# χρόνια}}",
|
||||
"yes": "Ναι",
|
||||
"you_dont_have_any_shared_links": "Δεν έχετε κοινόχρηστους συνδέσμους",
|
||||
"your_wifi_name": "Your WiFi name",
|
||||
"your_wifi_name": "Το όνομα του Wi-Fi σας",
|
||||
"zoom_image": "Ζουμ Εικόνας"
|
||||
}
|
||||
|
||||
180
i18n/en.json
180
i18n/en.json
@@ -26,6 +26,7 @@
|
||||
"add_to_album": "Add to album",
|
||||
"add_to_album_bottom_sheet_added": "Added to {album}",
|
||||
"add_to_album_bottom_sheet_already_exists": "Already in {album}",
|
||||
"add_to_locked_folder": "Add to Locked Folder",
|
||||
"add_to_shared_album": "Add to shared album",
|
||||
"add_url": "Add URL",
|
||||
"added_to_archive": "Added to archive",
|
||||
@@ -53,6 +54,7 @@
|
||||
"confirm_email_below": "To confirm, type \"{email}\" below",
|
||||
"confirm_reprocess_all_faces": "Are you sure you want to reprocess all faces? This will also clear named people.",
|
||||
"confirm_user_password_reset": "Are you sure you want to reset {user}'s password?",
|
||||
"confirm_user_pin_code_reset": "Are you sure you want to reset {user}'s PIN code?",
|
||||
"create_job": "Create job",
|
||||
"cron_expression": "Cron expression",
|
||||
"cron_expression_description": "Set the scanning interval using the cron format. For more information please refer to e.g. <link>Crontab Guru</link>",
|
||||
@@ -348,6 +350,7 @@
|
||||
"user_delete_delay_settings_description": "Number of days after removal to permanently delete a user's account and assets. The user deletion job runs at midnight to check for users that are ready for deletion. Changes to this setting will be evaluated at the next execution.",
|
||||
"user_delete_immediately": "<b>{user}</b>'s account and assets will be queued for permanent deletion <b>immediately</b>.",
|
||||
"user_delete_immediately_checkbox": "Queue user and assets for immediate deletion",
|
||||
"user_details": "User Details",
|
||||
"user_management": "User Management",
|
||||
"user_password_has_been_reset": "The user's password has been reset:",
|
||||
"user_password_reset_description": "Please provide the temporary password to the user and inform them they will need to change the password at their next login.",
|
||||
@@ -369,7 +372,7 @@
|
||||
"advanced": "Advanced",
|
||||
"advanced_settings_enable_alternate_media_filter_subtitle": "Use this option to filter media during sync based on alternate criteria. Only try this if you have issues with the app detecting all albums.",
|
||||
"advanced_settings_enable_alternate_media_filter_title": "[EXPERIMENTAL] Use alternate device album sync filter",
|
||||
"advanced_settings_log_level_title": "Log level: {}",
|
||||
"advanced_settings_log_level_title": "Log level: {level}",
|
||||
"advanced_settings_prefer_remote_subtitle": "Some devices are painfully slow to load thumbnails from assets on the device. Activate this setting to load remote images instead.",
|
||||
"advanced_settings_prefer_remote_title": "Prefer remote images",
|
||||
"advanced_settings_proxy_headers_subtitle": "Define proxy headers Immich should send with each network request",
|
||||
@@ -400,9 +403,9 @@
|
||||
"album_remove_user_confirmation": "Are you sure you want to remove {user}?",
|
||||
"album_share_no_users": "Looks like you have shared this album with all users or you don't have any user to share with.",
|
||||
"album_thumbnail_card_item": "1 item",
|
||||
"album_thumbnail_card_items": "{} items",
|
||||
"album_thumbnail_card_items": "{count} items",
|
||||
"album_thumbnail_card_shared": " · Shared",
|
||||
"album_thumbnail_shared_by": "Shared by {}",
|
||||
"album_thumbnail_shared_by": "Shared by {user}",
|
||||
"album_updated": "Album updated",
|
||||
"album_updated_setting_description": "Receive an email notification when a shared album has new assets",
|
||||
"album_user_left": "Left {album}",
|
||||
@@ -440,7 +443,7 @@
|
||||
"archive": "Archive",
|
||||
"archive_or_unarchive_photo": "Archive or unarchive photo",
|
||||
"archive_page_no_archived_assets": "No archived assets found",
|
||||
"archive_page_title": "Archive ({})",
|
||||
"archive_page_title": "Archive ({count})",
|
||||
"archive_size": "Archive size",
|
||||
"archive_size_description": "Configure the archive size for downloads (in GiB)",
|
||||
"archived": "Archived",
|
||||
@@ -477,18 +480,18 @@
|
||||
"assets_added_to_album_count": "Added {count, plural, one {# asset} other {# assets}} to the album",
|
||||
"assets_added_to_name_count": "Added {count, plural, one {# asset} other {# assets}} to {hasName, select, true {<b>{name}</b>} other {new album}}",
|
||||
"assets_count": "{count, plural, one {# asset} other {# assets}}",
|
||||
"assets_deleted_permanently": "{} asset(s) deleted permanently",
|
||||
"assets_deleted_permanently_from_server": "{} asset(s) deleted permanently from the Immich server",
|
||||
"assets_deleted_permanently": "{count} asset(s) deleted permanently",
|
||||
"assets_deleted_permanently_from_server": "{count} asset(s) deleted permanently from the Immich server",
|
||||
"assets_moved_to_trash_count": "Moved {count, plural, one {# asset} other {# assets}} to trash",
|
||||
"assets_permanently_deleted_count": "Permanently deleted {count, plural, one {# asset} other {# assets}}",
|
||||
"assets_removed_count": "Removed {count, plural, one {# asset} other {# assets}}",
|
||||
"assets_removed_permanently_from_device": "{} asset(s) removed permanently from your device",
|
||||
"assets_removed_permanently_from_device": "{count} asset(s) removed permanently from your device",
|
||||
"assets_restore_confirmation": "Are you sure you want to restore all your trashed assets? You cannot undo this action! Note that any offline assets cannot be restored this way.",
|
||||
"assets_restored_count": "Restored {count, plural, one {# asset} other {# assets}}",
|
||||
"assets_restored_successfully": "{} asset(s) restored successfully",
|
||||
"assets_trashed": "{} asset(s) trashed",
|
||||
"assets_restored_successfully": "{count} asset(s) restored successfully",
|
||||
"assets_trashed": "{count} asset(s) trashed",
|
||||
"assets_trashed_count": "Trashed {count, plural, one {# asset} other {# assets}}",
|
||||
"assets_trashed_from_server": "{} asset(s) trashed from the Immich server",
|
||||
"assets_trashed_from_server": "{count} asset(s) trashed from the Immich server",
|
||||
"assets_were_part_of_album_count": "{count, plural, one {Asset was} other {Assets were}} already part of the album",
|
||||
"authorized_devices": "Authorized Devices",
|
||||
"automatic_endpoint_switching_subtitle": "Connect locally over designated Wi-Fi when available and use alternative connections elsewhere",
|
||||
@@ -497,7 +500,7 @@
|
||||
"back_close_deselect": "Back, close, or deselect",
|
||||
"background_location_permission": "Background location permission",
|
||||
"background_location_permission_content": "In order to switch networks when running in the background, Immich must *always* have precise location access so the app can read the Wi-Fi network's name",
|
||||
"backup_album_selection_page_albums_device": "Albums on device ({})",
|
||||
"backup_album_selection_page_albums_device": "Albums on device ({count})",
|
||||
"backup_album_selection_page_albums_tap": "Tap to include, double tap to exclude",
|
||||
"backup_album_selection_page_assets_scatter": "Assets can scatter across multiple albums. Thus, albums can be included or excluded during the backup process.",
|
||||
"backup_album_selection_page_select_albums": "Select albums",
|
||||
@@ -506,11 +509,11 @@
|
||||
"backup_all": "All",
|
||||
"backup_background_service_backup_failed_message": "Failed to backup assets. Retrying…",
|
||||
"backup_background_service_connection_failed_message": "Failed to connect to the server. Retrying…",
|
||||
"backup_background_service_current_upload_notification": "Uploading {}",
|
||||
"backup_background_service_current_upload_notification": "Uploading {filename}",
|
||||
"backup_background_service_default_notification": "Checking for new assets…",
|
||||
"backup_background_service_error_title": "Backup error",
|
||||
"backup_background_service_in_progress_notification": "Backing up your assets…",
|
||||
"backup_background_service_upload_failure_notification": "Failed to upload {}",
|
||||
"backup_background_service_upload_failure_notification": "Failed to upload {filename}",
|
||||
"backup_controller_page_albums": "Backup Albums",
|
||||
"backup_controller_page_background_app_refresh_disabled_content": "Enable background app refresh in Settings > General > Background App Refresh in order to use background backup.",
|
||||
"backup_controller_page_background_app_refresh_disabled_title": "Background app refresh disabled",
|
||||
@@ -521,22 +524,22 @@
|
||||
"backup_controller_page_background_battery_info_title": "Battery optimizations",
|
||||
"backup_controller_page_background_charging": "Only while charging",
|
||||
"backup_controller_page_background_configure_error": "Failed to configure the background service",
|
||||
"backup_controller_page_background_delay": "Delay new assets backup: {}",
|
||||
"backup_controller_page_background_delay": "Delay new assets backup: {duration}",
|
||||
"backup_controller_page_background_description": "Turn on the background service to automatically backup any new assets without needing to open the app",
|
||||
"backup_controller_page_background_is_off": "Automatic background backup is off",
|
||||
"backup_controller_page_background_is_on": "Automatic background backup is on",
|
||||
"backup_controller_page_background_turn_off": "Turn off background service",
|
||||
"backup_controller_page_background_turn_on": "Turn on background service",
|
||||
"backup_controller_page_background_wifi": "Only on WiFi",
|
||||
"backup_controller_page_background_wifi": "Only on Wi-Fi",
|
||||
"backup_controller_page_backup": "Backup",
|
||||
"backup_controller_page_backup_selected": "Selected: ",
|
||||
"backup_controller_page_backup_sub": "Backed up photos and videos",
|
||||
"backup_controller_page_created": "Created on: {}",
|
||||
"backup_controller_page_created": "Created on: {date}",
|
||||
"backup_controller_page_desc_backup": "Turn on foreground backup to automatically upload new assets to the server when opening the app.",
|
||||
"backup_controller_page_excluded": "Excluded: ",
|
||||
"backup_controller_page_failed": "Failed ({})",
|
||||
"backup_controller_page_filename": "File name: {} [{}]",
|
||||
"backup_controller_page_id": "ID: {}",
|
||||
"backup_controller_page_failed": "Failed ({count})",
|
||||
"backup_controller_page_filename": "File name: {filename} [{size}]",
|
||||
"backup_controller_page_id": "ID: {id}",
|
||||
"backup_controller_page_info": "Backup Information",
|
||||
"backup_controller_page_none_selected": "None selected",
|
||||
"backup_controller_page_remainder": "Remainder",
|
||||
@@ -545,7 +548,7 @@
|
||||
"backup_controller_page_start_backup": "Start Backup",
|
||||
"backup_controller_page_status_off": "Automatic foreground backup is off",
|
||||
"backup_controller_page_status_on": "Automatic foreground backup is on",
|
||||
"backup_controller_page_storage_format": "{} of {} used",
|
||||
"backup_controller_page_storage_format": "{used} of {total} used",
|
||||
"backup_controller_page_to_backup": "Albums to be backed up",
|
||||
"backup_controller_page_total_sub": "All unique photos and videos from selected albums",
|
||||
"backup_controller_page_turn_off": "Turn off foreground backup",
|
||||
@@ -570,21 +573,21 @@
|
||||
"bulk_keep_duplicates_confirmation": "Are you sure you want to keep {count, plural, one {# duplicate asset} other {# duplicate assets}}? This will resolve all duplicate groups without deleting anything.",
|
||||
"bulk_trash_duplicates_confirmation": "Are you sure you want to bulk trash {count, plural, one {# duplicate asset} other {# duplicate assets}}? This will keep the largest asset of each group and trash all other duplicates.",
|
||||
"buy": "Purchase Immich",
|
||||
"cache_settings_album_thumbnails": "Library page thumbnails ({} assets)",
|
||||
"cache_settings_album_thumbnails": "Library page thumbnails ({count} assets)",
|
||||
"cache_settings_clear_cache_button": "Clear cache",
|
||||
"cache_settings_clear_cache_button_title": "Clears the app's cache. This will significantly impact the app's performance until the cache has rebuilt.",
|
||||
"cache_settings_duplicated_assets_clear_button": "CLEAR",
|
||||
"cache_settings_duplicated_assets_subtitle": "Photos and videos that are black listed by the app",
|
||||
"cache_settings_duplicated_assets_title": "Duplicated Assets ({})",
|
||||
"cache_settings_image_cache_size": "Image cache size ({} assets)",
|
||||
"cache_settings_duplicated_assets_title": "Duplicated Assets ({count})",
|
||||
"cache_settings_image_cache_size": "Image cache size ({count} assets)",
|
||||
"cache_settings_statistics_album": "Library thumbnails",
|
||||
"cache_settings_statistics_assets": "{} assets ({})",
|
||||
"cache_settings_statistics_assets": "{count} assets ({size})",
|
||||
"cache_settings_statistics_full": "Full images",
|
||||
"cache_settings_statistics_shared": "Shared album thumbnails",
|
||||
"cache_settings_statistics_thumbnail": "Thumbnails",
|
||||
"cache_settings_statistics_title": "Cache usage",
|
||||
"cache_settings_subtitle": "Control the caching behaviour of the Immich mobile application",
|
||||
"cache_settings_thumbnail_size": "Thumbnail cache size ({} assets)",
|
||||
"cache_settings_thumbnail_size": "Thumbnail cache size ({count} assets)",
|
||||
"cache_settings_tile_subtitle": "Control the local storage behaviour",
|
||||
"cache_settings_tile_title": "Local Storage",
|
||||
"cache_settings_title": "Caching Settings",
|
||||
@@ -598,6 +601,7 @@
|
||||
"cannot_undo_this_action": "You cannot undo this action!",
|
||||
"cannot_update_the_description": "Cannot update the description",
|
||||
"change_date": "Change date",
|
||||
"change_description": "Change description",
|
||||
"change_display_order": "Change display order",
|
||||
"change_expiration_time": "Change expiration time",
|
||||
"change_location": "Change location",
|
||||
@@ -610,6 +614,7 @@
|
||||
"change_password_form_new_password": "New Password",
|
||||
"change_password_form_password_mismatch": "Passwords do not match",
|
||||
"change_password_form_reenter_new_password": "Re-enter New Password",
|
||||
"change_pin_code": "Change PIN code",
|
||||
"change_your_password": "Change your password",
|
||||
"changed_visibility_successfully": "Changed visibility successfully",
|
||||
"check_all": "Check All",
|
||||
@@ -650,11 +655,12 @@
|
||||
"confirm_delete_face": "Are you sure you want to delete {name} face from the asset?",
|
||||
"confirm_delete_shared_link": "Are you sure you want to delete this shared link?",
|
||||
"confirm_keep_this_delete_others": "All other assets in the stack will be deleted except for this asset. Are you sure you want to continue?",
|
||||
"confirm_new_pin_code": "Confirm new PIN code",
|
||||
"confirm_password": "Confirm password",
|
||||
"contain": "Contain",
|
||||
"context": "Context",
|
||||
"continue": "Continue",
|
||||
"control_bottom_app_bar_album_info_shared": "{} items · Shared",
|
||||
"control_bottom_app_bar_album_info_shared": "{count} items · Shared",
|
||||
"control_bottom_app_bar_create_new_album": "Create new album",
|
||||
"control_bottom_app_bar_delete_from_immich": "Delete from Immich",
|
||||
"control_bottom_app_bar_delete_from_local": "Delete from device",
|
||||
@@ -692,9 +698,11 @@
|
||||
"create_tag_description": "Create a new tag. For nested tags, please enter the full path of the tag including forward slashes.",
|
||||
"create_user": "Create user",
|
||||
"created": "Created",
|
||||
"created_at": "Created",
|
||||
"crop": "Crop",
|
||||
"curated_object_page_title": "Things",
|
||||
"current_device": "Current device",
|
||||
"current_pin_code": "Current PIN code",
|
||||
"current_server_address": "Current server address",
|
||||
"custom_locale": "Custom Locale",
|
||||
"custom_locale_description": "Format dates and numbers based on the language and the region",
|
||||
@@ -763,7 +771,7 @@
|
||||
"download_enqueue": "Download enqueued",
|
||||
"download_error": "Download Error",
|
||||
"download_failed": "Download failed",
|
||||
"download_filename": "file: {}",
|
||||
"download_filename": "file: {filename}",
|
||||
"download_finished": "Download finished",
|
||||
"download_include_embedded_motion_videos": "Embedded videos",
|
||||
"download_include_embedded_motion_videos_description": "Include videos embedded in motion photos as a separate file",
|
||||
@@ -787,6 +795,8 @@
|
||||
"edit_avatar": "Edit avatar",
|
||||
"edit_date": "Edit date",
|
||||
"edit_date_and_time": "Edit date and time",
|
||||
"edit_description": "Edit description",
|
||||
"edit_description_prompt": "Please select a new description:",
|
||||
"edit_exclusion_pattern": "Edit exclusion pattern",
|
||||
"edit_faces": "Edit faces",
|
||||
"edit_import_path": "Edit import path",
|
||||
@@ -807,6 +817,7 @@
|
||||
"editor_crop_tool_h2_aspect_ratios": "Aspect ratios",
|
||||
"editor_crop_tool_h2_rotation": "Rotation",
|
||||
"email": "Email",
|
||||
"email_notifications": "Email notifications",
|
||||
"empty_folder": "This folder is empty",
|
||||
"empty_trash": "Empty trash",
|
||||
"empty_trash_confirmation": "Are you sure you want to empty the trash? This will remove all the assets in trash permanently from Immich.\nYou cannot undo this action!",
|
||||
@@ -814,12 +825,14 @@
|
||||
"enabled": "Enabled",
|
||||
"end_date": "End date",
|
||||
"enqueued": "Enqueued",
|
||||
"enter_wifi_name": "Enter WiFi name",
|
||||
"enter_wifi_name": "Enter Wi-Fi name",
|
||||
"enter_your_pin_code": "Enter your PIN code",
|
||||
"enter_your_pin_code_subtitle": "Enter your PIN code to access the locked folder",
|
||||
"error": "Error",
|
||||
"error_change_sort_album": "Failed to change album sort order",
|
||||
"error_delete_face": "Error deleting face from asset",
|
||||
"error_loading_image": "Error loading image",
|
||||
"error_saving_image": "Error: {}",
|
||||
"error_saving_image": "Error: {error}",
|
||||
"error_title": "Error - Something went wrong",
|
||||
"errors": {
|
||||
"cannot_navigate_next_asset": "Cannot navigate to the next asset",
|
||||
@@ -872,6 +885,7 @@
|
||||
"unable_to_archive_unarchive": "Unable to {archived, select, true {archive} other {unarchive}}",
|
||||
"unable_to_change_album_user_role": "Unable to change the album user's role",
|
||||
"unable_to_change_date": "Unable to change date",
|
||||
"unable_to_change_description": "Unable to change description",
|
||||
"unable_to_change_favorite": "Unable to change favorite for asset",
|
||||
"unable_to_change_location": "Unable to change location",
|
||||
"unable_to_change_password": "Unable to change password",
|
||||
@@ -909,6 +923,7 @@
|
||||
"unable_to_log_out_all_devices": "Unable to log out all devices",
|
||||
"unable_to_log_out_device": "Unable to log out device",
|
||||
"unable_to_login_with_oauth": "Unable to login with OAuth",
|
||||
"unable_to_move_to_locked_folder": "Unable to move to locked folder",
|
||||
"unable_to_play_video": "Unable to play video",
|
||||
"unable_to_reassign_assets_existing_person": "Unable to reassign assets to {name, select, null {an existing person} other {{name}}}",
|
||||
"unable_to_reassign_assets_new_person": "Unable to reassign assets to a new person",
|
||||
@@ -922,6 +937,7 @@
|
||||
"unable_to_remove_reaction": "Unable to remove reaction",
|
||||
"unable_to_repair_items": "Unable to repair items",
|
||||
"unable_to_reset_password": "Unable to reset password",
|
||||
"unable_to_reset_pin_code": "Unable to reset PIN code",
|
||||
"unable_to_resolve_duplicate": "Unable to resolve duplicate",
|
||||
"unable_to_restore_assets": "Unable to restore assets",
|
||||
"unable_to_restore_trash": "Unable to restore trash",
|
||||
@@ -955,10 +971,10 @@
|
||||
"exif_bottom_sheet_location": "LOCATION",
|
||||
"exif_bottom_sheet_people": "PEOPLE",
|
||||
"exif_bottom_sheet_person_add_person": "Add name",
|
||||
"exif_bottom_sheet_person_age": "Age {}",
|
||||
"exif_bottom_sheet_person_age_months": "Age {} months",
|
||||
"exif_bottom_sheet_person_age_year_months": "Age 1 year, {} months",
|
||||
"exif_bottom_sheet_person_age_years": "Age {}",
|
||||
"exif_bottom_sheet_person_age": "Age {age}",
|
||||
"exif_bottom_sheet_person_age_months": "Age {months} months",
|
||||
"exif_bottom_sheet_person_age_year_months": "Age 1 year, {months} months",
|
||||
"exif_bottom_sheet_person_age_years": "Age {years}",
|
||||
"exit_slideshow": "Exit Slideshow",
|
||||
"expand_all": "Expand all",
|
||||
"experimental_settings_new_asset_list_subtitle": "Work in progress",
|
||||
@@ -1048,6 +1064,7 @@
|
||||
"home_page_upload_err_limit": "Can only upload a maximum of 30 assets at a time, skipping",
|
||||
"host": "Host",
|
||||
"hour": "Hour",
|
||||
"id": "ID",
|
||||
"ignore_icloud_photos": "Ignore iCloud photos",
|
||||
"ignore_icloud_photos_description": "Photos that are stored on iCloud will not be uploaded to the Immich server",
|
||||
"image": "Image",
|
||||
@@ -1129,6 +1146,8 @@
|
||||
"location_picker_latitude_hint": "Enter your latitude here",
|
||||
"location_picker_longitude_error": "Enter a valid longitude",
|
||||
"location_picker_longitude_hint": "Enter your longitude here",
|
||||
"lock": "Lock",
|
||||
"locked_folder": "Locked Folder",
|
||||
"log_out": "Log out",
|
||||
"log_out_all_devices": "Log Out All Devices",
|
||||
"logged_out_all_devices": "Logged out all devices",
|
||||
@@ -1173,8 +1192,8 @@
|
||||
"manage_your_devices": "Manage your logged-in devices",
|
||||
"manage_your_oauth_connection": "Manage your OAuth connection",
|
||||
"map": "Map",
|
||||
"map_assets_in_bound": "{} photo",
|
||||
"map_assets_in_bounds": "{} photos",
|
||||
"map_assets_in_bound": "{count} photo",
|
||||
"map_assets_in_bounds": "{count} photos",
|
||||
"map_cannot_get_user_location": "Cannot get user's location",
|
||||
"map_location_dialog_yes": "Yes",
|
||||
"map_location_picker_page_use_location": "Use this location",
|
||||
@@ -1188,17 +1207,17 @@
|
||||
"map_settings": "Map settings",
|
||||
"map_settings_dark_mode": "Dark mode",
|
||||
"map_settings_date_range_option_day": "Past 24 hours",
|
||||
"map_settings_date_range_option_days": "Past {} days",
|
||||
"map_settings_date_range_option_days": "Past {days} days",
|
||||
"map_settings_date_range_option_year": "Past year",
|
||||
"map_settings_date_range_option_years": "Past {} years",
|
||||
"map_settings_date_range_option_years": "Past {years} years",
|
||||
"map_settings_dialog_title": "Map Settings",
|
||||
"map_settings_include_show_archived": "Include Archived",
|
||||
"map_settings_include_show_partners": "Include Partners",
|
||||
"map_settings_only_show_favorites": "Show Favorite Only",
|
||||
"map_settings_theme_settings": "Map Theme",
|
||||
"map_zoom_to_see_photos": "Zoom out to see photos",
|
||||
"mark_as_read": "Mark as read",
|
||||
"mark_all_as_read": "Mark all as read",
|
||||
"mark_as_read": "Mark as read",
|
||||
"marked_all_as_read": "Marked all as read",
|
||||
"matches": "Matches",
|
||||
"media_type": "Media type",
|
||||
@@ -1209,7 +1228,7 @@
|
||||
"memories_start_over": "Start Over",
|
||||
"memories_swipe_to_close": "Swipe up to close",
|
||||
"memories_year_ago": "A year ago",
|
||||
"memories_years_ago": "{} years ago",
|
||||
"memories_years_ago": "{years, plural, other {# years}} ago",
|
||||
"memory": "Memory",
|
||||
"memory_lane_title": "Memory Lane {title}",
|
||||
"menu": "Menu",
|
||||
@@ -1226,6 +1245,10 @@
|
||||
"month": "Month",
|
||||
"monthly_title_text_date_format": "MMMM y",
|
||||
"more": "More",
|
||||
"move": "Move",
|
||||
"move_off_locked_folder": "Move out of Locked Folder",
|
||||
"move_to_locked_folder": "Move to Locked Folder",
|
||||
"move_to_locked_folder_confirmation": "These photos and video will be removed from all albums, and only viewable from the Locked Folder",
|
||||
"moved_to_archive": "Moved {count, plural, one {# asset} other {# assets}} to archive",
|
||||
"moved_to_library": "Moved {count, plural, one {# asset} other {# assets}} to library",
|
||||
"moved_to_trash": "Moved to trash",
|
||||
@@ -1242,6 +1265,8 @@
|
||||
"new_api_key": "New API Key",
|
||||
"new_password": "New password",
|
||||
"new_person": "New person",
|
||||
"new_pin_code": "New PIN code",
|
||||
"new_pin_code_subtitle": "This is your first time accessing the locked folder. Create a PIN code to securely access this page",
|
||||
"new_user_created": "New user created",
|
||||
"new_version_available": "NEW VERSION AVAILABLE",
|
||||
"newest_first": "Newest first",
|
||||
@@ -1259,17 +1284,19 @@
|
||||
"no_explore_results_message": "Upload more photos to explore your collection.",
|
||||
"no_favorites_message": "Add favorites to quickly find your best pictures and videos",
|
||||
"no_libraries_message": "Create an external library to view your photos and videos",
|
||||
"no_locked_photos_message": "Photos and videos in Locked Folder are hidden and won't show up as you browser your library.",
|
||||
"no_name": "No Name",
|
||||
"no_notifications": "No notifications",
|
||||
"no_people_found": "No matching people found",
|
||||
"no_places": "No places",
|
||||
"no_results": "No results",
|
||||
"no_results_description": "Try a synonym or more general keyword",
|
||||
"no_notifications": "No notifications",
|
||||
"no_shared_albums_message": "Create an album to share photos and videos with people in your network",
|
||||
"not_in_any_album": "Not in any album",
|
||||
"not_selected": "Not selected",
|
||||
"note_apply_storage_label_to_previously_uploaded assets": "Note: To apply the Storage Label to previously uploaded assets, run the",
|
||||
"notes": "Notes",
|
||||
"nothing_here_yet": "Nothing here yet",
|
||||
"notification_permission_dialog_content": "To enable notifications, go to Settings and select allow.",
|
||||
"notification_permission_list_tile_content": "Grant permission to enable notifications.",
|
||||
"notification_permission_list_tile_enable_button": "Enable Notifications",
|
||||
@@ -1316,7 +1343,7 @@
|
||||
"partner_page_partner_add_failed": "Failed to add partner",
|
||||
"partner_page_select_partner": "Select partner",
|
||||
"partner_page_shared_to_title": "Shared to",
|
||||
"partner_page_stop_sharing_content": "{} will no longer be able to access your photos.",
|
||||
"partner_page_stop_sharing_content": "{partner} will no longer be able to access your photos.",
|
||||
"partner_sharing": "Partner Sharing",
|
||||
"partners": "Partners",
|
||||
"password": "Password",
|
||||
@@ -1362,6 +1389,10 @@
|
||||
"photos_count": "{count, plural, one {{count, number} Photo} other {{count, number} Photos}}",
|
||||
"photos_from_previous_years": "Photos from previous years",
|
||||
"pick_a_location": "Pick a location",
|
||||
"pin_code_changed_successfully": "Successfully changed PIN code",
|
||||
"pin_code_reset_successfully": "Successfully reset PIN code",
|
||||
"pin_code_setup_successfully": "Successfully setup a PIN code",
|
||||
"pin_verification": "PIN code verification",
|
||||
"place": "Place",
|
||||
"places": "Places",
|
||||
"places_count": "{count, plural, one {{count, number} Place} other {{count, number} Places}}",
|
||||
@@ -1379,6 +1410,7 @@
|
||||
"previous_or_next_photo": "Previous or next photo",
|
||||
"primary": "Primary",
|
||||
"privacy": "Privacy",
|
||||
"profile": "Profile",
|
||||
"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.",
|
||||
@@ -1392,7 +1424,7 @@
|
||||
"public_share": "Public Share",
|
||||
"purchase_account_info": "Supporter",
|
||||
"purchase_activated_subtitle": "Thank you for supporting Immich and open-source software",
|
||||
"purchase_activated_time": "Activated on {date, date}",
|
||||
"purchase_activated_time": "Activated on {date}",
|
||||
"purchase_activated_title": "Your key has been successfully activated",
|
||||
"purchase_button_activate": "Activate",
|
||||
"purchase_button_buy": "Buy",
|
||||
@@ -1458,6 +1490,8 @@
|
||||
"remove_deleted_assets": "Remove Deleted Assets",
|
||||
"remove_from_album": "Remove from album",
|
||||
"remove_from_favorites": "Remove from favorites",
|
||||
"remove_from_locked_folder": "Remove from Locked Folder",
|
||||
"remove_from_locked_folder_confirmation": "Are you sure you want to move these photos and videos out of Locked Folder? They will be visible in your library",
|
||||
"remove_from_shared_link": "Remove from shared link",
|
||||
"remove_memory": "Remove memory",
|
||||
"remove_photo_from_memory": "Remove photo from this memory",
|
||||
@@ -1481,6 +1515,7 @@
|
||||
"reset": "Reset",
|
||||
"reset_password": "Reset password",
|
||||
"reset_people_visibility": "Reset people visibility",
|
||||
"reset_pin_code": "Reset PIN code",
|
||||
"reset_to_default": "Reset to default",
|
||||
"resolve_duplicates": "Resolve duplicates",
|
||||
"resolved_all_duplicates": "Resolved all duplicates",
|
||||
@@ -1604,12 +1639,12 @@
|
||||
"setting_languages_apply": "Apply",
|
||||
"setting_languages_subtitle": "Change the app's language",
|
||||
"setting_languages_title": "Languages",
|
||||
"setting_notifications_notify_failures_grace_period": "Notify background backup failures: {}",
|
||||
"setting_notifications_notify_hours": "{} hours",
|
||||
"setting_notifications_notify_failures_grace_period": "Notify background backup failures: {duration}",
|
||||
"setting_notifications_notify_hours": "{count} hours",
|
||||
"setting_notifications_notify_immediately": "immediately",
|
||||
"setting_notifications_notify_minutes": "{} minutes",
|
||||
"setting_notifications_notify_minutes": "{count} minutes",
|
||||
"setting_notifications_notify_never": "never",
|
||||
"setting_notifications_notify_seconds": "{} seconds",
|
||||
"setting_notifications_notify_seconds": "{count} seconds",
|
||||
"setting_notifications_single_progress_subtitle": "Detailed upload progress information per asset",
|
||||
"setting_notifications_single_progress_title": "Show background backup detail progress",
|
||||
"setting_notifications_subtitle": "Adjust your notification preferences",
|
||||
@@ -1621,9 +1656,10 @@
|
||||
"settings": "Settings",
|
||||
"settings_require_restart": "Please restart Immich to apply this setting",
|
||||
"settings_saved": "Settings saved",
|
||||
"setup_pin_code": "Setup a PIN code",
|
||||
"share": "Share",
|
||||
"share_add_photos": "Add photos",
|
||||
"share_assets_selected": "{} selected",
|
||||
"share_assets_selected": "{count} selected",
|
||||
"share_dialog_preparing": "Preparing...",
|
||||
"shared": "Shared",
|
||||
"shared_album_activities_input_disable": "Comment is disabled",
|
||||
@@ -1637,32 +1673,32 @@
|
||||
"shared_by_user": "Shared by {user}",
|
||||
"shared_by_you": "Shared by you",
|
||||
"shared_from_partner": "Photos from {partner}",
|
||||
"shared_intent_upload_button_progress_text": "{} / {} Uploaded",
|
||||
"shared_intent_upload_button_progress_text": "{current} / {total} Uploaded",
|
||||
"shared_link_app_bar_title": "Shared Links",
|
||||
"shared_link_clipboard_copied_massage": "Copied to clipboard",
|
||||
"shared_link_clipboard_text": "Link: {}\nPassword: {}",
|
||||
"shared_link_clipboard_text": "Link: {link}\nPassword: {password}",
|
||||
"shared_link_create_error": "Error while creating shared link",
|
||||
"shared_link_edit_description_hint": "Enter the share description",
|
||||
"shared_link_edit_expire_after_option_day": "1 day",
|
||||
"shared_link_edit_expire_after_option_days": "{} days",
|
||||
"shared_link_edit_expire_after_option_days": "{count} days",
|
||||
"shared_link_edit_expire_after_option_hour": "1 hour",
|
||||
"shared_link_edit_expire_after_option_hours": "{} hours",
|
||||
"shared_link_edit_expire_after_option_hours": "{count} hours",
|
||||
"shared_link_edit_expire_after_option_minute": "1 minute",
|
||||
"shared_link_edit_expire_after_option_minutes": "{} minutes",
|
||||
"shared_link_edit_expire_after_option_months": "{} months",
|
||||
"shared_link_edit_expire_after_option_year": "{} year",
|
||||
"shared_link_edit_expire_after_option_minutes": "{count} minutes",
|
||||
"shared_link_edit_expire_after_option_months": "{count} months",
|
||||
"shared_link_edit_expire_after_option_year": "{count} year",
|
||||
"shared_link_edit_password_hint": "Enter the share password",
|
||||
"shared_link_edit_submit_button": "Update link",
|
||||
"shared_link_error_server_url_fetch": "Cannot fetch the server url",
|
||||
"shared_link_expires_day": "Expires in {} day",
|
||||
"shared_link_expires_days": "Expires in {} days",
|
||||
"shared_link_expires_hour": "Expires in {} hour",
|
||||
"shared_link_expires_hours": "Expires in {} hours",
|
||||
"shared_link_expires_minute": "Expires in {} minute",
|
||||
"shared_link_expires_minutes": "Expires in {} minutes",
|
||||
"shared_link_expires_day": "Expires in {count} day",
|
||||
"shared_link_expires_days": "Expires in {count} days",
|
||||
"shared_link_expires_hour": "Expires in {count} hour",
|
||||
"shared_link_expires_hours": "Expires in {count} hours",
|
||||
"shared_link_expires_minute": "Expires in {count} minute",
|
||||
"shared_link_expires_minutes": "Expires in {count} minutes",
|
||||
"shared_link_expires_never": "Expires ∞",
|
||||
"shared_link_expires_second": "Expires in {} second",
|
||||
"shared_link_expires_seconds": "Expires in {} seconds",
|
||||
"shared_link_expires_second": "Expires in {count} second",
|
||||
"shared_link_expires_seconds": "Expires in {count} seconds",
|
||||
"shared_link_individual_shared": "Individual shared",
|
||||
"shared_link_info_chip_metadata": "EXIF",
|
||||
"shared_link_manage_links": "Manage Shared links",
|
||||
@@ -1737,6 +1773,7 @@
|
||||
"stop_sharing_photos_with_user": "Stop sharing your photos with this user",
|
||||
"storage": "Storage space",
|
||||
"storage_label": "Storage label",
|
||||
"storage_quota": "Storage Quota",
|
||||
"storage_usage": "{used} of {available} used",
|
||||
"submit": "Submit",
|
||||
"suggestions": "Suggestions",
|
||||
@@ -1763,7 +1800,7 @@
|
||||
"theme_selection": "Theme selection",
|
||||
"theme_selection_description": "Automatically set the theme to light or dark based on your browser's system preference",
|
||||
"theme_setting_asset_list_storage_indicator_title": "Show storage indicator on asset tiles",
|
||||
"theme_setting_asset_list_tiles_per_row_title": "Number of assets per row ({})",
|
||||
"theme_setting_asset_list_tiles_per_row_title": "Number of assets per row ({count})",
|
||||
"theme_setting_colorful_interface_subtitle": "Apply primary color to background surfaces.",
|
||||
"theme_setting_colorful_interface_title": "Colorful interface",
|
||||
"theme_setting_image_viewer_quality_subtitle": "Adjust the quality of the detail image viewer",
|
||||
@@ -1798,13 +1835,15 @@
|
||||
"trash_no_results_message": "Trashed photos and videos will show up here.",
|
||||
"trash_page_delete_all": "Delete All",
|
||||
"trash_page_empty_trash_dialog_content": "Do you want to empty your trashed assets? These items will be permanently removed from Immich",
|
||||
"trash_page_info": "Trashed items will be permanently deleted after {} days",
|
||||
"trash_page_info": "Trashed items will be permanently deleted after {days} days",
|
||||
"trash_page_no_assets": "No trashed assets",
|
||||
"trash_page_restore_all": "Restore All",
|
||||
"trash_page_select_assets_btn": "Select assets",
|
||||
"trash_page_title": "Trash ({})",
|
||||
"trash_page_title": "Trash ({count})",
|
||||
"trashed_items_will_be_permanently_deleted_after": "Trashed items will be permanently deleted after {days, plural, one {# day} other {# days}}.",
|
||||
"type": "Type",
|
||||
"unable_to_change_pin_code": "Unable to change PIN code",
|
||||
"unable_to_setup_pin_code": "Unable to setup PIN code",
|
||||
"unarchive": "Unarchive",
|
||||
"unarchived_count": "{count, plural, other {Unarchived #}}",
|
||||
"unfavorite": "Unfavorite",
|
||||
@@ -1828,6 +1867,7 @@
|
||||
"untracked_files": "Untracked files",
|
||||
"untracked_files_decription": "These files are not tracked by the application. They can be the results of failed moves, interrupted uploads, or left behind due to a bug",
|
||||
"up_next": "Up next",
|
||||
"updated_at": "Updated",
|
||||
"updated_password": "Updated password",
|
||||
"upload": "Upload",
|
||||
"upload_concurrency": "Upload concurrency",
|
||||
@@ -1840,15 +1880,18 @@
|
||||
"upload_status_errors": "Errors",
|
||||
"upload_status_uploaded": "Uploaded",
|
||||
"upload_success": "Upload success, refresh the page to see new upload assets.",
|
||||
"upload_to_immich": "Upload to Immich ({})",
|
||||
"upload_to_immich": "Upload to Immich ({count})",
|
||||
"uploading": "Uploading",
|
||||
"url": "URL",
|
||||
"usage": "Usage",
|
||||
"use_current_connection": "use current connection",
|
||||
"use_custom_date_range": "Use custom date range instead",
|
||||
"user": "User",
|
||||
"user_has_been_deleted": "This user has been deleted.",
|
||||
"user_id": "User ID",
|
||||
"user_liked": "{user} liked {type, select, photo {this photo} video {this video} asset {this asset} other {it}}",
|
||||
"user_pin_code_settings": "PIN Code",
|
||||
"user_pin_code_settings_description": "Manage your PIN code",
|
||||
"user_purchase_settings": "Purchase",
|
||||
"user_purchase_settings_description": "Manage your purchase",
|
||||
"user_role_set": "Set {user} as {role}",
|
||||
@@ -1897,11 +1940,12 @@
|
||||
"week": "Week",
|
||||
"welcome": "Welcome",
|
||||
"welcome_to_immich": "Welcome to Immich",
|
||||
"wifi_name": "WiFi Name",
|
||||
"wifi_name": "Wi-Fi Name",
|
||||
"wrong_pin_code": "Wrong PIN code",
|
||||
"year": "Year",
|
||||
"years_ago": "{years, plural, one {# year} other {# years}} ago",
|
||||
"yes": "Yes",
|
||||
"you_dont_have_any_shared_links": "You don't have any shared links",
|
||||
"your_wifi_name": "Your WiFi name",
|
||||
"your_wifi_name": "Your Wi-Fi name",
|
||||
"zoom_image": "Zoom Image"
|
||||
}
|
||||
|
||||
182
i18n/es.json
182
i18n/es.json
@@ -53,6 +53,7 @@
|
||||
"confirm_email_below": "Para confirmar, escribe \"{email}\" a continuación",
|
||||
"confirm_reprocess_all_faces": "¿Estás seguro de que deseas reprocesar todas las caras? Esto borrará a todas las personas que nombraste.",
|
||||
"confirm_user_password_reset": "¿Estás seguro de que quieres restablecer la contraseña de {user}?",
|
||||
"confirm_user_pin_code_reset": "Está seguro de que quiere restablecer el PIN de {user}?",
|
||||
"create_job": "Crear trabajo",
|
||||
"cron_expression": "Expresión CRON",
|
||||
"cron_expression_description": "Establece el intervalo de escaneo utilizando el formato CRON. Para más información puedes consultar, por ejemplo, <link> Crontab Guru</link>",
|
||||
@@ -192,26 +193,22 @@
|
||||
"oauth_auto_register": "Registro automático",
|
||||
"oauth_auto_register_description": "Registre automáticamente nuevos usuarios después de iniciar sesión con OAuth",
|
||||
"oauth_button_text": "Texto del botón",
|
||||
"oauth_client_id": "ID Cliente",
|
||||
"oauth_client_secret": "Secreto Cliente",
|
||||
"oauth_client_secret_description": "Requerido si PKCE (Prueba de clave para el intercambio de códigos) no es compatible con el proveedor OAuth",
|
||||
"oauth_enable_description": "Iniciar sesión con OAuth",
|
||||
"oauth_issuer_url": "URL del emisor",
|
||||
"oauth_mobile_redirect_uri": "URI de redireccionamiento móvil",
|
||||
"oauth_mobile_redirect_uri_override": "Sobreescribir URI de redirección móvil",
|
||||
"oauth_mobile_redirect_uri_override_description": "Habilitar cuando el proveedor de OAuth no permite una URI móvil, como '{callback}'",
|
||||
"oauth_profile_signing_algorithm": "Algoritmo de firma de perfiles",
|
||||
"oauth_profile_signing_algorithm_description": "Algoritmo utilizado para firmar el perfil del usuario.",
|
||||
"oauth_scope": "Ámbito",
|
||||
"oauth_settings": "OAuth",
|
||||
"oauth_settings_description": "Administrar la configuración de inicio de sesión de OAuth",
|
||||
"oauth_settings_more_details": "Para más detalles acerca de esta característica, consulte la <link>documentación</link>.",
|
||||
"oauth_signing_algorithm": "Algoritmo de firma",
|
||||
"oauth_storage_label_claim": "Petición de etiqueta de almacenamiento",
|
||||
"oauth_storage_label_claim_description": "Establece la etiqueta del almacenamiento del usuario automáticamente a este valor reclamado.",
|
||||
"oauth_storage_quota_claim": "Reclamar quota de almacenamiento",
|
||||
"oauth_storage_quota_claim_description": "Establezca automáticamente la cuota de almacenamiento del usuario al valor de esta solicitud.",
|
||||
"oauth_storage_quota_default": "Cuota de almacenamiento predeterminada (GiB)",
|
||||
"oauth_storage_quota_default_description": "Cuota en GiB que se utilizará cuando no se proporcione ninguna por defecto (ingrese 0 para una cuota ilimitada).",
|
||||
"oauth_timeout": "Expiración de solicitud",
|
||||
"oauth_timeout_description": "Tiempo de espera de solicitudes en milisegundos",
|
||||
"offline_paths": "Rutas sin conexión",
|
||||
"offline_paths_description": "Estos resultados pueden deberse al eliminar manualmente archivos que no son parte de una biblioteca externa.",
|
||||
"password_enable_description": "Iniciar sesión con correo electrónico y contraseña",
|
||||
@@ -352,6 +349,7 @@
|
||||
"user_delete_delay_settings_description": "Número de días después de la eliminación para eliminar permanentemente la cuenta y los activos de un usuario. El trabajo de eliminación de usuarios se ejecuta a medianoche para comprobar si hay usuarios que estén listos para su eliminación. Los cambios a esta configuración se evaluarán en la próxima ejecución.",
|
||||
"user_delete_immediately": "La cuenta <b>{user}</b> y los archivos se pondrán en cola para su eliminación permanente <b>inmediatamente</b>.",
|
||||
"user_delete_immediately_checkbox": "Poner en cola la eliminación inmediata de usuarios y elementos",
|
||||
"user_details": "Detalles de Usuario",
|
||||
"user_management": "Gestión de usuarios",
|
||||
"user_password_has_been_reset": "La contraseña del usuario ha sido restablecida:",
|
||||
"user_password_reset_description": "Proporcione una contraseña temporal al usuario e infórmele que deberá cambiar la contraseña en su próximo inicio de sesión.",
|
||||
@@ -373,7 +371,7 @@
|
||||
"advanced": "Avanzada",
|
||||
"advanced_settings_enable_alternate_media_filter_subtitle": "Usa esta opción para filtrar medios durante la sincronización según criterios alternativos. Intenta esto solo si tienes problemas con que la aplicación detecte todos los álbumes.",
|
||||
"advanced_settings_enable_alternate_media_filter_title": "[EXPERIMENTAL] Usar filtro alternativo de sincronización de álbumes del dispositivo",
|
||||
"advanced_settings_log_level_title": "Nivel de registro: {}",
|
||||
"advanced_settings_log_level_title": "Nivel de registro: {level}",
|
||||
"advanced_settings_prefer_remote_subtitle": "Algunos dispositivos tardan mucho en cargar las miniaturas de los elementos encontrados en el dispositivo. Activa esta opción para cargar imágenes remotas en su lugar.",
|
||||
"advanced_settings_prefer_remote_title": "Preferir imágenes remotas",
|
||||
"advanced_settings_proxy_headers_subtitle": "Configura headers HTTP que Immich incluirá en cada petición de red",
|
||||
@@ -387,7 +385,7 @@
|
||||
"advanced_settings_troubleshooting_title": "Solución de problemas",
|
||||
"age_months": "Tiempo {months, plural, one {# mes} other {# meses}}",
|
||||
"age_year_months": "1 año, {months, plural, one {# mes} other {# meses}}",
|
||||
"age_years": "Antigüedad {years, plural, one {# año} other {# años}}",
|
||||
"age_years": "Edad {years, plural, one {# año} other {# años}}",
|
||||
"album_added": "Álbum añadido",
|
||||
"album_added_notification_setting_description": "Reciba una notificación por correo electrónico cuando lo agreguen a un álbum compartido",
|
||||
"album_cover_updated": "Portada del álbum actualizada",
|
||||
@@ -404,9 +402,9 @@
|
||||
"album_remove_user_confirmation": "¿Estás seguro de que quieres eliminar a {user}?",
|
||||
"album_share_no_users": "Parece que has compartido este álbum con todos los usuarios o no tienes ningún usuario con quien compartirlo.",
|
||||
"album_thumbnail_card_item": "1 elemento",
|
||||
"album_thumbnail_card_items": "{} elementos",
|
||||
"album_thumbnail_card_items": "{count} elementos",
|
||||
"album_thumbnail_card_shared": " · Compartido",
|
||||
"album_thumbnail_shared_by": "Compartido por {}",
|
||||
"album_thumbnail_shared_by": "Compartido por {user}",
|
||||
"album_updated": "Album actualizado",
|
||||
"album_updated_setting_description": "Reciba una notificación por correo electrónico cuando un álbum compartido tenga nuevos archivos",
|
||||
"album_user_left": "Salida {album}",
|
||||
@@ -444,7 +442,7 @@
|
||||
"archive": "Archivo",
|
||||
"archive_or_unarchive_photo": "Archivar o restaurar foto",
|
||||
"archive_page_no_archived_assets": "No se encontraron elementos archivados",
|
||||
"archive_page_title": "Archivo ({})",
|
||||
"archive_page_title": "Archivo ({count})",
|
||||
"archive_size": "Tamaño del archivo",
|
||||
"archive_size_description": "Configure el tamaño del archivo para descargas (en GB)",
|
||||
"archived": "Archivado",
|
||||
@@ -481,18 +479,18 @@
|
||||
"assets_added_to_album_count": "Añadido {count, plural, one {# asset} other {# assets}} al álbum",
|
||||
"assets_added_to_name_count": "Añadido {count, plural, one {# asset} other {# assets}} a {hasName, select, true {<b>{name}</b>} other {new album}}",
|
||||
"assets_count": "{count, plural, one {# activo} other {# activos}}",
|
||||
"assets_deleted_permanently": "{} elementos(s) eliminado(s) permanentemente",
|
||||
"assets_deleted_permanently_from_server": "{} recurso(s) eliminado(s) de forma permanente del servidor de Immich",
|
||||
"assets_deleted_permanently": "{count} elemento(s) eliminado(s) permanentemente",
|
||||
"assets_deleted_permanently_from_server": "{count} recurso(s) eliminado(s) de forma permanente del servidor de Immich",
|
||||
"assets_moved_to_trash_count": "{count, plural, one {# elemento movido} other {# elementos movidos}} a la papelera",
|
||||
"assets_permanently_deleted_count": "Eliminado permanentemente {count, plural, one {# elemento} other {# elementos}}",
|
||||
"assets_removed_count": "Eliminado {count, plural, one {# elemento} other {# elementos}}",
|
||||
"assets_removed_permanently_from_device": "{} elemento(s) eliminado(s) permanentemente de su dispositivo",
|
||||
"assets_removed_permanently_from_device": "{count} elemento(s) eliminado(s) permanentemente de su dispositivo",
|
||||
"assets_restore_confirmation": "¿Estás seguro de que quieres restaurar todos tus activos eliminados? ¡No puede deshacer esta acción! Tenga en cuenta que los archivos sin conexión no se pueden restaurar de esta manera.",
|
||||
"assets_restored_count": "Restaurado {count, plural, one {# elemento} other {# elementos}}",
|
||||
"assets_restored_successfully": "{} elemento(s) restaurado(s) exitosamente",
|
||||
"assets_trashed": "{} elemento(s) eliminado(s)",
|
||||
"assets_restored_successfully": "{count} elemento(s) restaurado(s) exitosamente",
|
||||
"assets_trashed": "{count} elemento(s) eliminado(s)",
|
||||
"assets_trashed_count": "Borrado {count, plural, one {# elemento} other {# elementos}}",
|
||||
"assets_trashed_from_server": "{} recurso(s) enviado(s) a la papelera desde el servidor de Immich",
|
||||
"assets_trashed_from_server": "{count} recurso(s) enviado(s) a la papelera desde el servidor de Immich",
|
||||
"assets_were_part_of_album_count": "{count, plural, one {Asset was} other {Assets were}} ya forma parte del álbum",
|
||||
"authorized_devices": "Dispositivos Autorizados",
|
||||
"automatic_endpoint_switching_subtitle": "Conectarse localmente a través de la Wi-Fi designada cuando esté disponible y usar conexiones alternativas en otros lugares",
|
||||
@@ -501,7 +499,7 @@
|
||||
"back_close_deselect": "Atrás, cerrar o anular la selección",
|
||||
"background_location_permission": "Permiso de ubicación en segundo plano",
|
||||
"background_location_permission_content": "Para poder cambiar de red mientras se ejecuta en segundo plano, Immich debe tener *siempre* acceso a la ubicación precisa para que la aplicación pueda leer el nombre de la red Wi-Fi",
|
||||
"backup_album_selection_page_albums_device": "Álbumes en el dispositivo ({})",
|
||||
"backup_album_selection_page_albums_device": "Álbumes en el dispositivo ({count})",
|
||||
"backup_album_selection_page_albums_tap": "Toque para incluir, doble toque para excluir",
|
||||
"backup_album_selection_page_assets_scatter": "Los elementos pueden dispersarse en varios álbumes. De este modo, los álbumes pueden ser incluidos o excluidos durante el proceso de copia de seguridad.",
|
||||
"backup_album_selection_page_select_albums": "Seleccionar Álbumes",
|
||||
@@ -510,11 +508,11 @@
|
||||
"backup_all": "Todos",
|
||||
"backup_background_service_backup_failed_message": "Error al copiar elementos. Reintentando…",
|
||||
"backup_background_service_connection_failed_message": "Error al conectar con el servidor. Reintentando…",
|
||||
"backup_background_service_current_upload_notification": "Subiendo {}",
|
||||
"backup_background_service_current_upload_notification": "Subiendo {filename}",
|
||||
"backup_background_service_default_notification": "Comprobando nuevos elementos…",
|
||||
"backup_background_service_error_title": "Error de copia de seguridad",
|
||||
"backup_background_service_in_progress_notification": "Creando copia de seguridad de tus elementos…",
|
||||
"backup_background_service_upload_failure_notification": "Error al subir {}",
|
||||
"backup_background_service_upload_failure_notification": "Error al subir {filename}",
|
||||
"backup_controller_page_albums": "Álbumes de copia de seguridad",
|
||||
"backup_controller_page_background_app_refresh_disabled_content": "Activa la actualización en segundo plano de la aplicación en Configuración > General > Actualización en segundo plano para usar la copia de seguridad en segundo plano.",
|
||||
"backup_controller_page_background_app_refresh_disabled_title": "Actualización en segundo plano desactivada",
|
||||
@@ -525,22 +523,22 @@
|
||||
"backup_controller_page_background_battery_info_title": "Optimizaciones de batería",
|
||||
"backup_controller_page_background_charging": "Solo mientras se carga",
|
||||
"backup_controller_page_background_configure_error": "Error al configurar el servicio en segundo plano",
|
||||
"backup_controller_page_background_delay": "Retrasar la copia de seguridad de los nuevos elementos: {}",
|
||||
"backup_controller_page_background_delay": "Retrasar la copia de seguridad de los nuevos elementos: {duration}",
|
||||
"backup_controller_page_background_description": "Activa el servicio en segundo plano para copiar automáticamente cualquier nuevos elementos sin necesidad de abrir la aplicación",
|
||||
"backup_controller_page_background_is_off": "La copia de seguridad en segundo plano automática está desactivada",
|
||||
"backup_controller_page_background_is_on": "La copia de seguridad en segundo plano automática está activada",
|
||||
"backup_controller_page_background_turn_off": "Desactivar el servicio en segundo plano",
|
||||
"backup_controller_page_background_turn_on": "Activar el servicio en segundo plano",
|
||||
"backup_controller_page_background_wifi": "Solo en WiFi",
|
||||
"backup_controller_page_background_wifi": "Solo en Wi-Fi",
|
||||
"backup_controller_page_backup": "Copia de Seguridad",
|
||||
"backup_controller_page_backup_selected": "Seleccionado: ",
|
||||
"backup_controller_page_backup_sub": "Fotos y videos respaldados",
|
||||
"backup_controller_page_created": "Creado el: {}",
|
||||
"backup_controller_page_created": "Creado el: {date}",
|
||||
"backup_controller_page_desc_backup": "Active la copia de seguridad para subir automáticamente los nuevos elementos al servidor cuando se abre la aplicación.",
|
||||
"backup_controller_page_excluded": "Excluido: ",
|
||||
"backup_controller_page_failed": "Fallidos ({})",
|
||||
"backup_controller_page_filename": "Nombre del archivo: {} [{}]",
|
||||
"backup_controller_page_id": "ID: {}",
|
||||
"backup_controller_page_failed": "Fallidos ({count})",
|
||||
"backup_controller_page_filename": "Nombre del archivo: {filename} [{size}]",
|
||||
"backup_controller_page_id": "ID: {id}",
|
||||
"backup_controller_page_info": "Información de la Copia de Seguridad",
|
||||
"backup_controller_page_none_selected": "Ninguno seleccionado",
|
||||
"backup_controller_page_remainder": "Restante",
|
||||
@@ -549,7 +547,7 @@
|
||||
"backup_controller_page_start_backup": "Iniciar copia de seguridad",
|
||||
"backup_controller_page_status_off": "La copia de seguridad está desactivada",
|
||||
"backup_controller_page_status_on": "La copia de seguridad está activada",
|
||||
"backup_controller_page_storage_format": "{} de {} usadas",
|
||||
"backup_controller_page_storage_format": "{used} de {total} usadas",
|
||||
"backup_controller_page_to_backup": "Álbumes a respaldar",
|
||||
"backup_controller_page_total_sub": "Todas las fotos y vídeos únicos de los álbumes seleccionados",
|
||||
"backup_controller_page_turn_off": "Apagar la copia de seguridad",
|
||||
@@ -574,21 +572,21 @@
|
||||
"bulk_keep_duplicates_confirmation": "¿Estas seguro de que desea mantener {count, plural, one {# duplicate asset} other {# duplicate assets}} archivos duplicados? Esto resolverá todos los grupos duplicados sin borrar nada.",
|
||||
"bulk_trash_duplicates_confirmation": "¿Estas seguro de que desea eliminar masivamente {count, plural, one {# duplicate asset} other {# duplicate assets}} archivos duplicados? Esto mantendrá el archivo más grande de cada grupo y eliminará todos los demás duplicados.",
|
||||
"buy": "Comprar Immich",
|
||||
"cache_settings_album_thumbnails": "Miniaturas de la página de la biblioteca ({} elementos)",
|
||||
"cache_settings_album_thumbnails": "Miniaturas de la página de la biblioteca ({count} elementos)",
|
||||
"cache_settings_clear_cache_button": "Borrar caché",
|
||||
"cache_settings_clear_cache_button_title": "Borra la caché de la aplicación. Esto afectará significativamente el rendimiento de la aplicación hasta que se reconstruya la caché.",
|
||||
"cache_settings_duplicated_assets_clear_button": "LIMPIAR",
|
||||
"cache_settings_duplicated_assets_subtitle": "Fotos y vídeos en la lista negra de la app",
|
||||
"cache_settings_duplicated_assets_title": "Elementos duplicados ({})",
|
||||
"cache_settings_image_cache_size": "Tamaño de la caché de imágenes ({} elementos)",
|
||||
"cache_settings_duplicated_assets_title": "Elementos duplicados ({count})",
|
||||
"cache_settings_image_cache_size": "Tamaño de la caché de imágenes ({count} elementos)",
|
||||
"cache_settings_statistics_album": "Miniaturas de la biblioteca",
|
||||
"cache_settings_statistics_assets": "{} elementos ({})",
|
||||
"cache_settings_statistics_assets": "{count} elementos ({size})",
|
||||
"cache_settings_statistics_full": "Imágenes completas",
|
||||
"cache_settings_statistics_shared": "Miniaturas de álbumes compartidos",
|
||||
"cache_settings_statistics_thumbnail": "Miniaturas",
|
||||
"cache_settings_statistics_title": "Uso de caché",
|
||||
"cache_settings_subtitle": "Controla el comportamiento del almacenamiento en caché de la aplicación móvil Immich",
|
||||
"cache_settings_thumbnail_size": "Tamaño de la caché de miniaturas ({} elementos)",
|
||||
"cache_settings_thumbnail_size": "Tamaño de la caché de miniaturas ({count} elementos)",
|
||||
"cache_settings_tile_subtitle": "Controla el comportamiento del almacenamiento local",
|
||||
"cache_settings_tile_title": "Almacenamiento local",
|
||||
"cache_settings_title": "Configuración de la caché",
|
||||
@@ -614,6 +612,7 @@
|
||||
"change_password_form_new_password": "Nueva Contraseña",
|
||||
"change_password_form_password_mismatch": "Las contraseñas no coinciden",
|
||||
"change_password_form_reenter_new_password": "Vuelve a ingresar la nueva contraseña",
|
||||
"change_pin_code": "Cambiar PIN",
|
||||
"change_your_password": "Cambia tu contraseña",
|
||||
"changed_visibility_successfully": "Visibilidad cambiada correctamente",
|
||||
"check_all": "Comprobar todo",
|
||||
@@ -654,11 +653,12 @@
|
||||
"confirm_delete_face": "¿Estás seguro que deseas eliminar la cara de {name} del archivo?",
|
||||
"confirm_delete_shared_link": "¿Estás seguro de que deseas eliminar este enlace compartido?",
|
||||
"confirm_keep_this_delete_others": "Todos los demás activos de la pila se eliminarán excepto este activo. ¿Está seguro de que quiere continuar?",
|
||||
"confirm_new_pin_code": "Confirmar nuevo pin",
|
||||
"confirm_password": "Confirmar contraseña",
|
||||
"contain": "Incluido",
|
||||
"context": "Contexto",
|
||||
"continue": "Continuar",
|
||||
"control_bottom_app_bar_album_info_shared": "{} elementos · Compartidos",
|
||||
"control_bottom_app_bar_album_info_shared": "{count} elementos · Compartidos",
|
||||
"control_bottom_app_bar_create_new_album": "Crear nuevo álbum",
|
||||
"control_bottom_app_bar_delete_from_immich": "Borrar de Immich",
|
||||
"control_bottom_app_bar_delete_from_local": "Borrar del dispositivo",
|
||||
@@ -696,9 +696,11 @@
|
||||
"create_tag_description": "Crear una nueva etiqueta. Para las etiquetas anidadas, ingresa la ruta completa de la etiqueta, incluidas las barras diagonales.",
|
||||
"create_user": "Crear usuario",
|
||||
"created": "Creado",
|
||||
"created_at": "Creado",
|
||||
"crop": "Recortar",
|
||||
"curated_object_page_title": "Objetos",
|
||||
"current_device": "Dispositivo actual",
|
||||
"current_pin_code": "PIN actual",
|
||||
"current_server_address": "Dirección actual del servidor",
|
||||
"custom_locale": "Configuración regional personalizada",
|
||||
"custom_locale_description": "Formatear fechas y números según el idioma y la región",
|
||||
@@ -746,7 +748,7 @@
|
||||
"description": "Descripción",
|
||||
"description_input_hint_text": "Agregar descripción...",
|
||||
"description_input_submit_error": "Error al actualizar la descripción, verifica el registro para obtener más detalles",
|
||||
"details": "DETALLES",
|
||||
"details": "Detalles",
|
||||
"direction": "Dirección",
|
||||
"disabled": "Deshabilitado",
|
||||
"disallow_edits": "Bloquear edición",
|
||||
@@ -767,7 +769,7 @@
|
||||
"download_enqueue": "Descarga en cola",
|
||||
"download_error": "Error al descargar",
|
||||
"download_failed": "Descarga fallida",
|
||||
"download_filename": "archivo: {}",
|
||||
"download_filename": "archivo: {filename}",
|
||||
"download_finished": "Descarga completada",
|
||||
"download_include_embedded_motion_videos": "Vídeos incrustados",
|
||||
"download_include_embedded_motion_videos_description": "Incluir vídeos incrustados en fotografías en movimiento como un archivo separado",
|
||||
@@ -811,6 +813,7 @@
|
||||
"editor_crop_tool_h2_aspect_ratios": "Proporciones del aspecto",
|
||||
"editor_crop_tool_h2_rotation": "Rotación",
|
||||
"email": "Correo",
|
||||
"email_notifications": "Notificaciones por correo electrónico",
|
||||
"empty_folder": "Esta carpeta está vacía",
|
||||
"empty_trash": "Vaciar papelera",
|
||||
"empty_trash_confirmation": "¿Estás seguro de que quieres vaciar la papelera? Esto eliminará permanentemente todos los archivos de la basura de Immich.\n¡No puedes deshacer esta acción!",
|
||||
@@ -818,12 +821,12 @@
|
||||
"enabled": "Habilitado",
|
||||
"end_date": "Fecha final",
|
||||
"enqueued": "Añadido a la cola",
|
||||
"enter_wifi_name": "Enter WiFi name",
|
||||
"enter_wifi_name": "Introduce el nombre Wi-Fi",
|
||||
"error": "Error",
|
||||
"error_change_sort_album": "No se pudo cambiar el orden de visualización del álbum",
|
||||
"error_delete_face": "Error al eliminar la cara del archivo",
|
||||
"error_loading_image": "Error al cargar la imagen",
|
||||
"error_saving_image": "Error: {}",
|
||||
"error_saving_image": "Error: {error}",
|
||||
"error_title": "Error: algo salió mal",
|
||||
"errors": {
|
||||
"cannot_navigate_next_asset": "No puedes navegar al siguiente archivo",
|
||||
@@ -853,10 +856,12 @@
|
||||
"failed_to_keep_this_delete_others": "No se pudo conservar este activo y eliminar los demás",
|
||||
"failed_to_load_asset": "Error al cargar el elemento",
|
||||
"failed_to_load_assets": "Error al cargar los elementos",
|
||||
"failed_to_load_notifications": "Error al cargar las notificaciones",
|
||||
"failed_to_load_people": "Error al cargar a los usuarios",
|
||||
"failed_to_remove_product_key": "No se pudo eliminar la clave del producto",
|
||||
"failed_to_stack_assets": "No se pudieron agrupar los archivos",
|
||||
"failed_to_unstack_assets": "Error al desagrupar los archivos",
|
||||
"failed_to_update_notification_status": "Error al actualizar el estado de la notificación",
|
||||
"import_path_already_exists": "Esta ruta de importación ya existe.",
|
||||
"incorrect_email_or_password": "Contraseña o email incorrecto",
|
||||
"paths_validation_failed": "Falló la validación en {paths, plural, one {# carpeta} other {# carpetas}}",
|
||||
@@ -924,6 +929,7 @@
|
||||
"unable_to_remove_reaction": "No se puede eliminar la reacción",
|
||||
"unable_to_repair_items": "No se pueden reparar los items",
|
||||
"unable_to_reset_password": "No se puede restablecer la contraseña",
|
||||
"unable_to_reset_pin_code": "No se ha podido restablecer el PIN",
|
||||
"unable_to_resolve_duplicate": "No se resolver duplicado",
|
||||
"unable_to_restore_assets": "No se pueden restaurar los archivos",
|
||||
"unable_to_restore_trash": "No se puede restaurar la papelera",
|
||||
@@ -957,10 +963,10 @@
|
||||
"exif_bottom_sheet_location": "UBICACIÓN",
|
||||
"exif_bottom_sheet_people": "PERSONAS",
|
||||
"exif_bottom_sheet_person_add_person": "Añadir nombre",
|
||||
"exif_bottom_sheet_person_age": "Antigüedad {}",
|
||||
"exif_bottom_sheet_person_age_months": "Antigüedad {} meses",
|
||||
"exif_bottom_sheet_person_age_year_months": "Antigüedad 1 año, {} meses",
|
||||
"exif_bottom_sheet_person_age_years": "Antigüedad {}",
|
||||
"exif_bottom_sheet_person_age": "Edad {age}",
|
||||
"exif_bottom_sheet_person_age_months": "Edad {months} meses",
|
||||
"exif_bottom_sheet_person_age_year_months": "Edad 1 año, {months} meses",
|
||||
"exif_bottom_sheet_person_age_years": "Edad {years}",
|
||||
"exit_slideshow": "Salir de la presentación",
|
||||
"expand_all": "Expandir todo",
|
||||
"experimental_settings_new_asset_list_subtitle": "Trabajo en progreso",
|
||||
@@ -1050,6 +1056,7 @@
|
||||
"home_page_upload_err_limit": "Solo se pueden subir 30 elementos simultáneamente, omitiendo",
|
||||
"host": "Host",
|
||||
"hour": "Hora",
|
||||
"id": "ID",
|
||||
"ignore_icloud_photos": "Ignorar fotos de iCloud",
|
||||
"ignore_icloud_photos_description": "Las fotos almacenadas en iCloud no se subirán a Immich",
|
||||
"image": "Imagen",
|
||||
@@ -1175,8 +1182,8 @@
|
||||
"manage_your_devices": "Administre sus dispositivos conectados",
|
||||
"manage_your_oauth_connection": "Administra tu conexión OAuth",
|
||||
"map": "Mapa",
|
||||
"map_assets_in_bound": "{} foto",
|
||||
"map_assets_in_bounds": "{} fotos",
|
||||
"map_assets_in_bound": "{count} foto",
|
||||
"map_assets_in_bounds": "{count} fotos",
|
||||
"map_cannot_get_user_location": "No se pudo obtener la posición del usuario",
|
||||
"map_location_dialog_yes": "Sí",
|
||||
"map_location_picker_page_use_location": "Usar esta ubicación",
|
||||
@@ -1190,15 +1197,18 @@
|
||||
"map_settings": "Ajustes mapa",
|
||||
"map_settings_dark_mode": "Modo oscuro",
|
||||
"map_settings_date_range_option_day": "Últimas 24 horas",
|
||||
"map_settings_date_range_option_days": "Últimos {} días",
|
||||
"map_settings_date_range_option_days": "Últimos {days} días",
|
||||
"map_settings_date_range_option_year": "Último año",
|
||||
"map_settings_date_range_option_years": "Últimos {} años",
|
||||
"map_settings_date_range_option_years": "Últimos {years} años",
|
||||
"map_settings_dialog_title": "Ajustes mapa",
|
||||
"map_settings_include_show_archived": "Incluir archivados",
|
||||
"map_settings_include_show_partners": "Incluir Parejas",
|
||||
"map_settings_only_show_favorites": "Mostrar solo favoritas",
|
||||
"map_settings_theme_settings": "Apariencia del Mapa",
|
||||
"map_zoom_to_see_photos": "Alejar para ver fotos",
|
||||
"mark_all_as_read": "Marcar todos como leídos",
|
||||
"mark_as_read": "Marcar como leído",
|
||||
"marked_all_as_read": "Todos marcados como leídos",
|
||||
"matches": "Coincidencias",
|
||||
"media_type": "Tipo de medio",
|
||||
"memories": "Recuerdos",
|
||||
@@ -1208,7 +1218,7 @@
|
||||
"memories_start_over": "Empezar de nuevo",
|
||||
"memories_swipe_to_close": "Desliza para cerrar",
|
||||
"memories_year_ago": "Hace un año",
|
||||
"memories_years_ago": "Hace {} años",
|
||||
"memories_years_ago": "Hace {years} años",
|
||||
"memory": "Recuerdo",
|
||||
"memory_lane_title": "Baúl de los recuerdos {title}",
|
||||
"menu": "Menú",
|
||||
@@ -1225,6 +1235,8 @@
|
||||
"month": "Mes",
|
||||
"monthly_title_text_date_format": "MMMM y",
|
||||
"more": "Mas",
|
||||
"moved_to_archive": "Movido(s) {count, plural, one {# recurso} other {# recursos}} a archivo",
|
||||
"moved_to_library": "Movido(s) {count, plural, one {# recurso} other {# recursos}} a biblioteca",
|
||||
"moved_to_trash": "Movido a la papelera",
|
||||
"multiselect_grid_edit_date_time_err_read_only": "No se puede cambiar la fecha del archivo(s) de solo lectura, omitiendo",
|
||||
"multiselect_grid_edit_gps_err_read_only": "No se puede editar la ubicación de activos de solo lectura, omitiendo",
|
||||
@@ -1234,11 +1246,12 @@
|
||||
"name_or_nickname": "Nombre o apodo",
|
||||
"networking_settings": "Red",
|
||||
"networking_subtitle": "Configuraciones de acceso por URL al servidor",
|
||||
"never": "nunca",
|
||||
"never": "Nunca",
|
||||
"new_album": "Nuevo álbum",
|
||||
"new_api_key": "Nueva clave API",
|
||||
"new_password": "Nueva contraseña",
|
||||
"new_person": "Nueva persona",
|
||||
"new_pin_code": "Nuevo PIN",
|
||||
"new_user_created": "Nuevo usuario creado",
|
||||
"new_version_available": "NUEVA VERSIÓN DISPONIBLE",
|
||||
"newest_first": "El más reciente primero",
|
||||
@@ -1257,6 +1270,8 @@
|
||||
"no_favorites_message": "Agregue favoritos para encontrar rápidamente sus mejores fotos y videos",
|
||||
"no_libraries_message": "Crea una biblioteca externa para ver tus fotos y vídeos",
|
||||
"no_name": "Sin nombre",
|
||||
"no_notifications": "Ninguna notificación",
|
||||
"no_people_found": "No se encontraron personas coincidentes",
|
||||
"no_places": "Sin lugares",
|
||||
"no_results": "Sin resultados",
|
||||
"no_results_description": "Pruebe con un sinónimo o una palabra clave más general",
|
||||
@@ -1311,7 +1326,7 @@
|
||||
"partner_page_partner_add_failed": "No se pudo añadir el socio",
|
||||
"partner_page_select_partner": "Seleccionar compañero",
|
||||
"partner_page_shared_to_title": "Compartido con",
|
||||
"partner_page_stop_sharing_content": "{} ya no podrá acceder a tus fotos.",
|
||||
"partner_page_stop_sharing_content": "{partner} ya no podrá acceder a tus fotos.",
|
||||
"partner_sharing": "Compartir con invitados",
|
||||
"partners": "Invitados",
|
||||
"password": "Contraseña",
|
||||
@@ -1357,6 +1372,9 @@
|
||||
"photos_count": "{count, plural, one {{count, number} Foto} other {{count, number} Fotos}}",
|
||||
"photos_from_previous_years": "Fotos de años anteriores",
|
||||
"pick_a_location": "Elige una ubicación",
|
||||
"pin_code_changed_successfully": "PIN cambiado exitosamente",
|
||||
"pin_code_reset_successfully": "PIN restablecido exitosamente",
|
||||
"pin_code_setup_successfully": "PIN establecido exitosamente",
|
||||
"place": "Lugar",
|
||||
"places": "Lugares",
|
||||
"places_count": "{count, plural, one {{count, number} Lugar} other {{count, number} Lugares}}",
|
||||
@@ -1374,6 +1392,7 @@
|
||||
"previous_or_next_photo": "Foto anterior o siguiente",
|
||||
"primary": "Básico",
|
||||
"privacy": "Privacidad",
|
||||
"profile": "Perfil",
|
||||
"profile_drawer_app_logs": "Registros",
|
||||
"profile_drawer_client_out_of_date_major": "La app está desactualizada. Por favor actualiza a la última versión principal.",
|
||||
"profile_drawer_client_out_of_date_minor": "La app está desactualizada. Por favor actualiza a la última versión menor.",
|
||||
@@ -1387,7 +1406,7 @@
|
||||
"public_share": "Compartir públicamente",
|
||||
"purchase_account_info": "Seguidor",
|
||||
"purchase_activated_subtitle": "Gracias por apoyar a Immich y al software de código abierto",
|
||||
"purchase_activated_time": "Activado el {date, date}",
|
||||
"purchase_activated_time": "Activado el {date}",
|
||||
"purchase_activated_title": "Su clave ha sido activada correctamente",
|
||||
"purchase_button_activate": "Activar",
|
||||
"purchase_button_buy": "Comprar",
|
||||
@@ -1476,6 +1495,7 @@
|
||||
"reset": "Reiniciar",
|
||||
"reset_password": "Restablecer la contraseña",
|
||||
"reset_people_visibility": "Restablecer la visibilidad de las personas",
|
||||
"reset_pin_code": "Restablecer PIN",
|
||||
"reset_to_default": "Restablecer los valores predeterminados",
|
||||
"resolve_duplicates": "Resolver duplicados",
|
||||
"resolved_all_duplicates": "Todos los duplicados resueltos",
|
||||
@@ -1568,6 +1588,7 @@
|
||||
"select_keep_all": "Conservar todo",
|
||||
"select_library_owner": "Seleccionar propietario de la biblioteca",
|
||||
"select_new_face": "Seleccionar nueva cara",
|
||||
"select_person_to_tag": "Elija una persona a etiquetar",
|
||||
"select_photos": "Seleccionar Fotos",
|
||||
"select_trash_all": "Seleccionar eliminar todo",
|
||||
"select_user_for_sharing_page_err_album": "Fallo al crear el álbum",
|
||||
@@ -1598,12 +1619,12 @@
|
||||
"setting_languages_apply": "Aplicar",
|
||||
"setting_languages_subtitle": "Cambia el idioma de la aplicación",
|
||||
"setting_languages_title": "Idiomas",
|
||||
"setting_notifications_notify_failures_grace_period": "Notificar fallos de copia de seguridad en segundo plano: {}",
|
||||
"setting_notifications_notify_hours": "{} horas",
|
||||
"setting_notifications_notify_failures_grace_period": "Notificar fallos de copia de seguridad en segundo plano: {duration}",
|
||||
"setting_notifications_notify_hours": "{count} horas",
|
||||
"setting_notifications_notify_immediately": "inmediatamente",
|
||||
"setting_notifications_notify_minutes": "{} minutos",
|
||||
"setting_notifications_notify_minutes": "{count} minutos",
|
||||
"setting_notifications_notify_never": "nunca",
|
||||
"setting_notifications_notify_seconds": "{} segundos",
|
||||
"setting_notifications_notify_seconds": "{count} segundos",
|
||||
"setting_notifications_single_progress_subtitle": "Información detallada del progreso de subida de cada archivo",
|
||||
"setting_notifications_single_progress_title": "Mostrar progreso detallado de copia de seguridad en segundo plano",
|
||||
"setting_notifications_subtitle": "Ajusta tus preferencias de notificación",
|
||||
@@ -1615,9 +1636,10 @@
|
||||
"settings": "Ajustes",
|
||||
"settings_require_restart": "Por favor, reinicia Immich para aplicar este ajuste",
|
||||
"settings_saved": "Ajustes guardados",
|
||||
"setup_pin_code": "Establecer un PIN",
|
||||
"share": "Compartir",
|
||||
"share_add_photos": "Agregar fotos",
|
||||
"share_assets_selected": "{} seleccionado(s)",
|
||||
"share_assets_selected": "{count} seleccionado(s)",
|
||||
"share_dialog_preparing": "Preparando...",
|
||||
"shared": "Compartido",
|
||||
"shared_album_activities_input_disable": "Los comentarios están deshabilitados",
|
||||
@@ -1631,32 +1653,32 @@
|
||||
"shared_by_user": "Compartido por {user}",
|
||||
"shared_by_you": "Compartido por ti",
|
||||
"shared_from_partner": "Fotos de {partner}",
|
||||
"shared_intent_upload_button_progress_text": "{} / {} Cargado(s)",
|
||||
"shared_intent_upload_button_progress_text": "{current} / {total} Cargado(s)",
|
||||
"shared_link_app_bar_title": "Enlaces compartidos",
|
||||
"shared_link_clipboard_copied_massage": "Copiado al portapapeles",
|
||||
"shared_link_clipboard_text": "Enlace: {}\nContraseña: {}",
|
||||
"shared_link_clipboard_text": "Enlace: {link}\nContraseña: {password}",
|
||||
"shared_link_create_error": "Error creando el enlace compartido",
|
||||
"shared_link_edit_description_hint": "Introduce la descripción del enlace",
|
||||
"shared_link_edit_expire_after_option_day": "1 día",
|
||||
"shared_link_edit_expire_after_option_days": "{} días",
|
||||
"shared_link_edit_expire_after_option_days": "{count} días",
|
||||
"shared_link_edit_expire_after_option_hour": "1 hora",
|
||||
"shared_link_edit_expire_after_option_hours": "{} horas",
|
||||
"shared_link_edit_expire_after_option_hours": "{count} horas",
|
||||
"shared_link_edit_expire_after_option_minute": "1 minuto",
|
||||
"shared_link_edit_expire_after_option_minutes": "{} minutos",
|
||||
"shared_link_edit_expire_after_option_months": "{} meses",
|
||||
"shared_link_edit_expire_after_option_year": "{} año",
|
||||
"shared_link_edit_expire_after_option_minutes": "{count} minutos",
|
||||
"shared_link_edit_expire_after_option_months": "{count} meses",
|
||||
"shared_link_edit_expire_after_option_year": "{count} año",
|
||||
"shared_link_edit_password_hint": "Introduce la contraseña del enlace",
|
||||
"shared_link_edit_submit_button": "Actualizar enlace",
|
||||
"shared_link_error_server_url_fetch": "No se puede adquirir la URL del servidor",
|
||||
"shared_link_expires_day": "Caduca en {} día",
|
||||
"shared_link_expires_days": "Caduca en {} días",
|
||||
"shared_link_expires_hour": "Caduca en {} hora",
|
||||
"shared_link_expires_hours": "Caduca en {} horas",
|
||||
"shared_link_expires_minute": "Caduca en {} minuto",
|
||||
"shared_link_expires_minutes": "Caduca en {} minutos",
|
||||
"shared_link_expires_day": "Caduca en {count} día",
|
||||
"shared_link_expires_days": "Caduca en {count} días",
|
||||
"shared_link_expires_hour": "Caduca en {count} hora",
|
||||
"shared_link_expires_hours": "Caduca en {count} horas",
|
||||
"shared_link_expires_minute": "Caduca en {count} minuto",
|
||||
"shared_link_expires_minutes": "Caduca en {count} minutos",
|
||||
"shared_link_expires_never": "Caduca ∞",
|
||||
"shared_link_expires_second": "Caduca en {} segundo",
|
||||
"shared_link_expires_seconds": "Caduca en {} segundos",
|
||||
"shared_link_expires_second": "Caduca en {count} segundo",
|
||||
"shared_link_expires_seconds": "Caduca en {count} segundos",
|
||||
"shared_link_individual_shared": "Compartido individualmente",
|
||||
"shared_link_info_chip_metadata": "EXIF",
|
||||
"shared_link_manage_links": "Administrar enlaces compartidos",
|
||||
@@ -1731,6 +1753,7 @@
|
||||
"stop_sharing_photos_with_user": "Deja de compartir tus fotos con este usuario",
|
||||
"storage": "Espacio de almacenamiento",
|
||||
"storage_label": "Etiqueta de almacenamiento",
|
||||
"storage_quota": "Cuota de Almacenamiento",
|
||||
"storage_usage": "{used} de {available} en uso",
|
||||
"submit": "Enviar",
|
||||
"suggestions": "Sugerencias",
|
||||
@@ -1757,7 +1780,7 @@
|
||||
"theme_selection": "Selección de tema",
|
||||
"theme_selection_description": "Establece el tema automáticamente como \"claro\" u \"oscuro\" según las preferencias del sistema/navegador",
|
||||
"theme_setting_asset_list_storage_indicator_title": "Mostrar indicador de almacenamiento en las miniaturas de los archivos",
|
||||
"theme_setting_asset_list_tiles_per_row_title": "Número de elementos por fila ({})",
|
||||
"theme_setting_asset_list_tiles_per_row_title": "Número de elementos por fila ({count})",
|
||||
"theme_setting_colorful_interface_subtitle": "Aplicar el color primario a las superficies de fondo.",
|
||||
"theme_setting_colorful_interface_title": "Color de Interfaz",
|
||||
"theme_setting_image_viewer_quality_subtitle": "Ajustar la calidad del visor de detalles de imágenes",
|
||||
@@ -1792,13 +1815,15 @@
|
||||
"trash_no_results_message": "Las fotos y videos que se envíen a la papelera aparecerán aquí.",
|
||||
"trash_page_delete_all": "Eliminar todos",
|
||||
"trash_page_empty_trash_dialog_content": "¿Está seguro que quiere eliminar los elementos? Estos elementos serán eliminados de Immich permanentemente",
|
||||
"trash_page_info": "Los archivos en la papelera serán eliminados automáticamente de forma permanente después de {} días",
|
||||
"trash_page_info": "Los archivos en la papelera serán eliminados automáticamente de forma permanente después de {days} días",
|
||||
"trash_page_no_assets": "No hay elementos en la papelera",
|
||||
"trash_page_restore_all": "Restaurar todos",
|
||||
"trash_page_select_assets_btn": "Seleccionar elementos",
|
||||
"trash_page_title": "Papelera ({})",
|
||||
"trash_page_title": "Papelera ({count})",
|
||||
"trashed_items_will_be_permanently_deleted_after": "Los elementos en la papelera serán eliminados permanentemente tras {days, plural, one {# día} other {# días}}.",
|
||||
"type": "Tipo",
|
||||
"unable_to_change_pin_code": "No se ha podido cambiar el PIN",
|
||||
"unable_to_setup_pin_code": "No se ha podido establecer el PIN",
|
||||
"unarchive": "Desarchivar",
|
||||
"unarchived_count": "{count, plural, one {# No archivado} other {# No archivados}}",
|
||||
"unfavorite": "Retirar favorito",
|
||||
@@ -1822,6 +1847,7 @@
|
||||
"untracked_files": "Archivos no monitorizados",
|
||||
"untracked_files_decription": "Estos archivos no están siendo monitorizados por la aplicación. Es posible que sean resultado de errores al moverlos, subidas interrumpidas o por un fallo de la aplicación",
|
||||
"up_next": "A continuación",
|
||||
"updated_at": "Actualizado",
|
||||
"updated_password": "Contraseña actualizada",
|
||||
"upload": "Subir",
|
||||
"upload_concurrency": "Subidas simultáneas",
|
||||
@@ -1834,7 +1860,7 @@
|
||||
"upload_status_errors": "Errores",
|
||||
"upload_status_uploaded": "Subido",
|
||||
"upload_success": "Subida realizada correctamente, actualice la página para ver los nuevos recursos de subida.",
|
||||
"upload_to_immich": "Subir a Immich ({})",
|
||||
"upload_to_immich": "Subir a Immich ({count})",
|
||||
"uploading": "Subiendo",
|
||||
"url": "URL",
|
||||
"usage": "Uso",
|
||||
@@ -1843,9 +1869,11 @@
|
||||
"user": "Usuario",
|
||||
"user_id": "ID de usuario",
|
||||
"user_liked": "{user} le gustó {type, select, photo {this photo} video {this video} asset {this asset} other {it}}",
|
||||
"user_pin_code_settings": "PIN",
|
||||
"user_pin_code_settings_description": "Gestione su PIN",
|
||||
"user_purchase_settings": "Compra",
|
||||
"user_purchase_settings_description": "Gestiona tu compra",
|
||||
"user_role_set": "Carbiar {user} a {role}",
|
||||
"user_role_set": "Establecer {user} como {role}",
|
||||
"user_usage_detail": "Detalle del uso del usuario",
|
||||
"user_usage_stats": "Estadísticas de uso de la cuenta",
|
||||
"user_usage_stats_description": "Ver estadísticas de uso de la cuenta",
|
||||
@@ -1891,11 +1919,11 @@
|
||||
"week": "Semana",
|
||||
"welcome": "Bienvenido",
|
||||
"welcome_to_immich": "Bienvenido a Immich",
|
||||
"wifi_name": "WiFi Name",
|
||||
"wifi_name": "Nombre Wi-Fi",
|
||||
"year": "Año",
|
||||
"years_ago": "Hace {years, plural, one {# año} other {# años}}",
|
||||
"yes": "Sí",
|
||||
"you_dont_have_any_shared_links": "No tienes ningún enlace compartido",
|
||||
"your_wifi_name": "El nombre de tu WiFi",
|
||||
"your_wifi_name": "El nombre de tu Wi-Fi",
|
||||
"zoom_image": "Acercar Imagen"
|
||||
}
|
||||
|
||||
380
i18n/et.json
380
i18n/et.json
@@ -53,6 +53,7 @@
|
||||
"confirm_email_below": "Kinnitamiseks sisesta allpool \"{email}\"",
|
||||
"confirm_reprocess_all_faces": "Kas oled kindel, et soovid kõik näod uuesti töödelda? See eemaldab kõik nimega isikud.",
|
||||
"confirm_user_password_reset": "Kas oled kindel, et soovid kasutaja {user} parooli lähtestada?",
|
||||
"confirm_user_pin_code_reset": "Kas oled kindel, et soovid kasutaja {user} PIN-koodi lähtestada?",
|
||||
"create_job": "Lisa tööde",
|
||||
"cron_expression": "Cron avaldis",
|
||||
"cron_expression_description": "Sea skaneerimise intervall cron formaadis. Rohkema info jaoks vaata nt. <link>Crontab Guru</link>",
|
||||
@@ -192,26 +193,22 @@
|
||||
"oauth_auto_register": "Automaatne registreerimine",
|
||||
"oauth_auto_register_description": "Registreeri uued kasutajad automaatselt OAuth abil sisselogimisel",
|
||||
"oauth_button_text": "Nupu tekst",
|
||||
"oauth_client_id": "Kliendi ID",
|
||||
"oauth_client_secret": "Kliendi saladus",
|
||||
"oauth_client_secret_description": "Nõutud, kui PKCE (Proof Key for Code Exchange) ei ole OAuth pakkuja poolt toetatud",
|
||||
"oauth_enable_description": "Sisene OAuth abil",
|
||||
"oauth_issuer_url": "Väljastaja URL",
|
||||
"oauth_mobile_redirect_uri": "Mobiilne ümbersuunamise URI",
|
||||
"oauth_mobile_redirect_uri_override": "Mobiilse ümbersuunamise URI ülekirjutamine",
|
||||
"oauth_mobile_redirect_uri_override_description": "Lülita sisse, kui OAuth pakkuja ei luba mobiilset URI-d, näiteks '{callback}'",
|
||||
"oauth_profile_signing_algorithm": "Profiili allkirjastamise algoritm",
|
||||
"oauth_profile_signing_algorithm_description": "Algoritm, mida kasutatakse kasutajaprofiili allkirjastamiseks.",
|
||||
"oauth_scope": "Skoop",
|
||||
"oauth_settings": "OAuth",
|
||||
"oauth_settings_description": "Halda OAuth sisselogimise seadeid",
|
||||
"oauth_settings_more_details": "Selle funktsiooni kohta rohkem teada saamiseks loe <link>dokumentatsiooni</link>.",
|
||||
"oauth_signing_algorithm": "Allkirjastamise algoritm",
|
||||
"oauth_storage_label_claim": "Talletussildi väide",
|
||||
"oauth_storage_label_claim_description": "Sea kasutaja talletussildiks automaatselt selle väite väärtus.",
|
||||
"oauth_storage_quota_claim": "Talletuskvoodi väide",
|
||||
"oauth_storage_quota_claim_description": "Sea kasutaja talletuskvoodiks automaatselt selle väite väärtus.",
|
||||
"oauth_storage_quota_default": "Vaikimisi talletuskvoot (GiB)",
|
||||
"oauth_storage_quota_default_description": "Kvoot (GiB), mida kasutada, kui ühtegi väidet pole esitatud (piiramatu kvoodi jaoks sisesta 0).",
|
||||
"oauth_timeout": "Päringu ajalõpp",
|
||||
"oauth_timeout_description": "Päringute ajalõpp millisekundites",
|
||||
"offline_paths": "Ühenduseta failiteed",
|
||||
"offline_paths_description": "Need tulemused võivad olla põhjustatud manuaalselt kustutatud failidest, mis ei ole osa välisest kogust.",
|
||||
"password_enable_description": "Logi sisse e-posti aadressi ja parooliga",
|
||||
@@ -352,6 +349,7 @@
|
||||
"user_delete_delay_settings_description": "Päevade arv, pärast mida kustutatakse eemaldatud kasutaja konto ja üksused jäädavalt. Kasutajate kustutamise tööde käivitub keskööl, et otsida kustutamiseks valmis kasutajaid. Selle seadistuse muudatused rakenduvad järgmisel käivitumisel.",
|
||||
"user_delete_immediately": "Kasutaja <b>{user}</b> konto ja üksused suunatakse <b>koheselt</b> jäädavale kustutamisele.",
|
||||
"user_delete_immediately_checkbox": "Suuna kasutaja ja üksused jäädavale kustutamisele",
|
||||
"user_details": "Kasutaja detailid",
|
||||
"user_management": "Kasutajate haldus",
|
||||
"user_password_has_been_reset": "Kasutaja parool on lähtestatud:",
|
||||
"user_password_reset_description": "Sisesta kasutajale ajutine parool ja teavita teda, et järgmisel sisselogimisel tuleb parool ära muuta.",
|
||||
@@ -371,9 +369,19 @@
|
||||
"admin_password": "Administraatori parool",
|
||||
"administration": "Administratsioon",
|
||||
"advanced": "Täpsemad valikud",
|
||||
"advanced_settings_log_level_title": "Logimistase: {}",
|
||||
"advanced_settings_enable_alternate_media_filter_subtitle": "Kasuta seda valikut, et filtreerida sünkroonimise ajal üksuseid alternatiivsete kriteeriumite alusel. Proovi seda ainult siis, kui rakendusel on probleeme kõigi albumite tuvastamisega.",
|
||||
"advanced_settings_enable_alternate_media_filter_title": "[EKSPERIMENTAALNE] Kasuta alternatiivset seadme albumi sünkroonimise filtrit",
|
||||
"advanced_settings_log_level_title": "Logimistase: {level}",
|
||||
"advanced_settings_prefer_remote_subtitle": "Mõned seadmed laadivad seadmes olevate üksuste pisipilte piinavalt aeglaselt. Aktiveeri see seadistus, et laadida selle asemel kaugpilte.",
|
||||
"advanced_settings_prefer_remote_title": "Eelista kaugpilte",
|
||||
"advanced_settings_proxy_headers_subtitle": "Määra vaheserveri päised, mida Immich peaks iga päringuga saatma",
|
||||
"advanced_settings_proxy_headers_title": "Vaheserveri päised",
|
||||
"advanced_settings_self_signed_ssl_subtitle": "Jätab serveri lõpp-punkti SSL-sertifikaadi kontrolli vahele. Nõutud endasigneeritud sertifikaatide jaoks.",
|
||||
"advanced_settings_self_signed_ssl_title": "Luba endasigneeritud SSL-sertifikaadid",
|
||||
"advanced_settings_sync_remote_deletions_subtitle": "Kustuta või taasta üksus selles seadmes automaatself, kui sama tegevus toimub veebis",
|
||||
"advanced_settings_sync_remote_deletions_title": "Sünkrooni kaugkustutamised [EKSPERIMENTAALNE]",
|
||||
"advanced_settings_tile_subtitle": "Edasijõudnud kasutajate seaded",
|
||||
"advanced_settings_troubleshooting_subtitle": "Luba lisafunktsioonid tõrkeotsinguks",
|
||||
"advanced_settings_troubleshooting_title": "Tõrkeotsing",
|
||||
"age_months": "Vanus {months, plural, one {# kuu} other {# kuud}}",
|
||||
"age_year_months": "Vanus 1 aasta, {months, plural, one {# kuu} other {# kuud}}",
|
||||
@@ -394,9 +402,9 @@
|
||||
"album_remove_user_confirmation": "Kas oled kindel, et soovid kasutaja {user} eemaldada?",
|
||||
"album_share_no_users": "Paistab, et oled seda albumit kõikide kasutajatega jaganud, või pole ühtegi kasutajat, kellega jagada.",
|
||||
"album_thumbnail_card_item": "1 üksus",
|
||||
"album_thumbnail_card_items": "{} üksust",
|
||||
"album_thumbnail_card_items": "{count} üksust",
|
||||
"album_thumbnail_card_shared": " · Jagatud",
|
||||
"album_thumbnail_shared_by": "Jagas {}",
|
||||
"album_thumbnail_shared_by": "Jagas {user}",
|
||||
"album_updated": "Album muudetud",
|
||||
"album_updated_setting_description": "Saa teavitus e-posti teel, kui jagatud albumis on uusi üksuseid",
|
||||
"album_user_left": "Lahkutud albumist {album}",
|
||||
@@ -407,6 +415,7 @@
|
||||
"album_viewer_appbar_share_err_remove": "Üksuste albumist eemaldamisel tekkis probleeme",
|
||||
"album_viewer_appbar_share_err_title": "Albumi pealkirja muutmine ebaõnnestus",
|
||||
"album_viewer_appbar_share_leave": "Lahku albumist",
|
||||
"album_viewer_appbar_share_to": "Jaga",
|
||||
"album_viewer_page_share_add_users": "Lisa kasutajaid",
|
||||
"album_with_link_access": "Luba kõigil, kellel on link, näha selle albumi fotosid ja isikuid.",
|
||||
"albums": "Albumid",
|
||||
@@ -433,13 +442,15 @@
|
||||
"archive": "Arhiiv",
|
||||
"archive_or_unarchive_photo": "Arhiveeri või taasta foto",
|
||||
"archive_page_no_archived_assets": "Arhiveeritud üksuseid ei leitud",
|
||||
"archive_page_title": "Arhiveeri ({count})",
|
||||
"archive_size": "Arhiivi suurus",
|
||||
"archive_size_description": "Seadista arhiivi suurus allalaadimiseks (GiB)",
|
||||
"archived": "Arhiveeritud",
|
||||
"archived_count": "{count, plural, other {# arhiveeritud}}",
|
||||
"are_these_the_same_person": "Kas need on sama isik?",
|
||||
"are_you_sure_to_do_this": "Kas oled kindel, et soovid seda teha?",
|
||||
"asset_action_delete_err_read_only": "Kirjutuskaitstud üksuseid ei saa kustutada, jätan vahele",
|
||||
"asset_action_delete_err_read_only": "Kirjutuskaitstud üksuseid ei saa kustutada, jäetakse vahele",
|
||||
"asset_action_share_err_offline": "Ühenduseta üksuseid ei saa pärida, jäetakse vahele",
|
||||
"asset_added_to_album": "Lisatud albumisse",
|
||||
"asset_adding_to_album": "Albumisse lisamine…",
|
||||
"asset_description_updated": "Üksuse kirjeldus on muudetud",
|
||||
@@ -452,6 +463,8 @@
|
||||
"asset_list_layout_settings_group_by": "Grupeeri üksused",
|
||||
"asset_list_layout_settings_group_by_month_day": "Kuu + päev",
|
||||
"asset_list_layout_sub_title": "Asetus",
|
||||
"asset_list_settings_subtitle": "Fotoruudustiku asetuse sätted",
|
||||
"asset_list_settings_title": "Fotoruudustik",
|
||||
"asset_offline": "Üksus pole kättesaadav",
|
||||
"asset_offline_description": "Seda välise kogu üksust ei leitud kettalt. Abi saamiseks palun võta ühendust oma Immich'i administraatoriga.",
|
||||
"asset_restored_successfully": "Üksus edukalt taastatud",
|
||||
@@ -459,38 +472,94 @@
|
||||
"asset_skipped_in_trash": "Prügikastis",
|
||||
"asset_uploaded": "Üleslaaditud",
|
||||
"asset_uploading": "Üleslaadimine…",
|
||||
"asset_viewer_settings_subtitle": "Halda galeriivaaturi seadeid",
|
||||
"asset_viewer_settings_title": "Üksuste vaatur",
|
||||
"assets": "Üksused",
|
||||
"assets_added_count": "{count, plural, one {# üksus} other {# üksust}} lisatud",
|
||||
"assets_added_to_album_count": "{count, plural, one {# üksus} other {# üksust}} albumisse lisatud",
|
||||
"assets_added_to_name_count": "{count, plural, one {# üksus} other {# üksust}} lisatud {hasName, select, true {albumisse <b>{name}</b>} other {uude albumisse}}",
|
||||
"assets_count": "{count, plural, one {# üksus} other {# üksust}}",
|
||||
"assets_deleted_permanently": "{count} üksus(t) jäädavalt kustutatud",
|
||||
"assets_deleted_permanently_from_server": "{count} üksus(t) Immich'i serverist jäädavalt kustutatud",
|
||||
"assets_moved_to_trash_count": "{count, plural, one {# üksus} other {# üksust}} liigutatud prügikasti",
|
||||
"assets_permanently_deleted_count": "{count, plural, one {# üksus} other {# üksust}} jäädavalt kustutatud",
|
||||
"assets_removed_count": "{count, plural, one {# üksus} other {# üksust}} eemaldatud",
|
||||
"assets_removed_permanently_from_device": "{count} üksus(t) seadmest jäädavalt eemaldatud",
|
||||
"assets_restore_confirmation": "Kas oled kindel, et soovid oma prügikasti liigutatud üksused taastada? Seda ei saa tagasi võtta! Pane tähele, et sel meetodil ei saa taastada ühenduseta üksuseid.",
|
||||
"assets_restored_count": "{count, plural, one {# üksus} other {# üksust}} taastatud",
|
||||
"assets_restored_successfully": "{count} üksus(t) edukalt taastatud",
|
||||
"assets_trashed": "{count} üksus(t) liigutatud prügikasti",
|
||||
"assets_trashed_count": "{count, plural, one {# üksus} other {# üksust}} liigutatud prügikasti",
|
||||
"assets_trashed_from_server": "{count} üksus(t) liigutatud Immich'i serveris prügikasti",
|
||||
"assets_were_part_of_album_count": "{count, plural, one {Üksus oli} other {Üksused olid}} juba osa albumist",
|
||||
"authorized_devices": "Autoriseeritud seadmed",
|
||||
"automatic_endpoint_switching_subtitle": "Ühendu lokaalselt üle valitud WiFi-võrgu, kui see on saadaval, ja kasuta mujal alternatiivseid ühendusi",
|
||||
"automatic_endpoint_switching_title": "Automaatne URL-i ümberlülitamine",
|
||||
"back": "Tagasi",
|
||||
"back_close_deselect": "Tagasi, sulge või tühista valik",
|
||||
"background_location_permission": "Taustal asukoha luba",
|
||||
"background_location_permission_content": "Et taustal töötades võrguühendust vahetada, peab Immich'il *alati* olema täpse asukoha luba, et rakendus saaks WiFi-võrgu nime lugeda",
|
||||
"backup_album_selection_page_albums_device": "Albumid seadmel ({count})",
|
||||
"backup_album_selection_page_albums_tap": "Puuduta kaasamiseks, topeltpuuduta välistamiseks",
|
||||
"backup_album_selection_page_assets_scatter": "Üksused võivad olla jaotatud mitme albumi vahel. Seega saab albumeid varundamise protsessi kaasata või välistada.",
|
||||
"backup_album_selection_page_select_albums": "Vali albumid",
|
||||
"backup_album_selection_page_selection_info": "Valiku info",
|
||||
"backup_album_selection_page_total_assets": "Unikaalseid üksuseid kokku",
|
||||
"backup_all": "Kõik",
|
||||
"backup_background_service_backup_failed_message": "Üksuste varundamine ebaõnnestus. Uuesti proovimine…",
|
||||
"backup_background_service_connection_failed_message": "Serveriga ühendumine ebaõnnestus. Uuesti proovimine…",
|
||||
"backup_background_service_current_upload_notification": "{filename} üleslaadimine",
|
||||
"backup_background_service_default_notification": "Uute üksuste kontrollimine…",
|
||||
"backup_background_service_error_title": "Varundamise viga",
|
||||
"backup_background_service_in_progress_notification": "Sinu üksuste varundamine…",
|
||||
"backup_background_service_upload_failure_notification": "Faili {filename} üleslaadimine ebaõnnestus",
|
||||
"backup_controller_page_albums": "Varunduse albumid",
|
||||
"backup_controller_page_background_app_refresh_disabled_content": "Taustal varundamise kasutamiseks luba rakenduse taustal värskendamine: Seaded > Üldine > Rakenduse taustal värskendamine.",
|
||||
"backup_controller_page_background_app_refresh_disabled_title": "Rakenduse taustal värskendamine keelatud",
|
||||
"backup_controller_page_background_app_refresh_enable_button_text": "Mine seadetesse",
|
||||
"backup_controller_page_background_battery_info_link": "Näita mulle, kuidas",
|
||||
"backup_controller_page_background_battery_info_message": "Parima taustal varundamise kogemuse jaoks palun keela Immich'i puhul kõik taustategevust piiravad aku optimeerimised.\n\nKuna see on seadmespetsiifiline, otsi vajalikku teavet oma seadme tootja kohta.",
|
||||
"backup_controller_page_background_battery_info_ok": "OK",
|
||||
"backup_controller_page_background_battery_info_title": "Aku optimeerimised",
|
||||
"backup_controller_page_background_charging": "Ainult laadimise ajal",
|
||||
"backup_controller_page_background_configure_error": "Taustateenuse seadistamine ebaõnnestus",
|
||||
"backup_controller_page_background_delay": "Oota uute üksuste varundamisega: {duration}",
|
||||
"backup_controller_page_background_description": "Lülita taustateenus sisse, et uusi üksuseid automaatselt varundada, ilma et peaks rakendust avama",
|
||||
"backup_controller_page_background_is_off": "Automaatne taustal varundamine on välja lülitatud",
|
||||
"backup_controller_page_background_is_on": "Automaatne taustal varundamine on sisse lülitatud",
|
||||
"backup_controller_page_background_turn_off": "Lülita taustateenus välja",
|
||||
"backup_controller_page_background_turn_on": "Lülita taustateenus sisse",
|
||||
"backup_controller_page_background_wifi": "Ainult WiFi-võrgus",
|
||||
"backup_controller_page_backup": "Varundamine",
|
||||
"backup_controller_page_backup_selected": "Valitud: ",
|
||||
"backup_controller_page_backup_sub": "Varundatud fotod ja videod",
|
||||
"backup_controller_page_created": "Lisatud: {date}",
|
||||
"backup_controller_page_desc_backup": "Lülita sisse esiplaanil varundamine, et rakenduse avamisel uued üksused automaatselt serverisse üles laadida.",
|
||||
"backup_controller_page_excluded": "Välistatud: ",
|
||||
"backup_controller_page_failed": "Ebaõnnestunud ({count})",
|
||||
"backup_controller_page_filename": "Failinimi: {filename} [{size}]",
|
||||
"backup_controller_page_id": "ID: {id}",
|
||||
"backup_controller_page_info": "Varunduse info",
|
||||
"backup_controller_page_none_selected": "Ühtegi pole valitud",
|
||||
"backup_controller_page_remainder": "Ootel",
|
||||
"backup_controller_page_remainder_sub": "Valitud fotod ja videod, mis on veel varundamise ootel",
|
||||
"backup_controller_page_server_storage": "Serveri talletusruum",
|
||||
"backup_controller_page_start_backup": "Alusta varundamist",
|
||||
"backup_controller_page_status_off": "Automaatne esiplaanil varundamine on välja lülitatud",
|
||||
"backup_controller_page_status_on": "Automaatne esiplaanil varundamine on sisse lülitatud",
|
||||
"backup_controller_page_storage_format": "{used}/{total} kasutusel",
|
||||
"backup_controller_page_to_backup": "Albumid, mida varundada",
|
||||
"backup_controller_page_total_sub": "Kõik unikaalsed fotod ja videod valitud albumitest",
|
||||
"backup_controller_page_turn_off": "Lülita esiplaanil varundus välja",
|
||||
"backup_controller_page_turn_on": "Lülita esiplaanil varundus sisse",
|
||||
"backup_controller_page_uploading_file_info": "Faili info üleslaadimine",
|
||||
"backup_err_only_album": "Ei saa ainsat albumit eemaldada",
|
||||
"backup_info_card_assets": "üksused",
|
||||
"backup_manual_cancelled": "Tühistatud",
|
||||
"backup_manual_in_progress": "Üleslaadimine juba käib. Proovi hiljem uuesti",
|
||||
"backup_manual_success": "Õnnestus",
|
||||
"backup_manual_title": "Üleslaadimise staatus",
|
||||
"backup_options_page_title": "Varundamise valikud",
|
||||
"backup_setting_subtitle": "Halda taustal ja esiplaanil üleslaadimise seadeid",
|
||||
"backward": "Tagasi",
|
||||
"birthdate_saved": "Sünnikuupäev salvestatud",
|
||||
@@ -503,8 +572,24 @@
|
||||
"bulk_keep_duplicates_confirmation": "Kas oled kindel, et soovid {count, plural, one {# dubleeritud üksuse} other {# dubleeritud üksust}} alles jätta? Sellega märgitakse kõik duplikaadigrupid lahendatuks ilma midagi kustutamata.",
|
||||
"bulk_trash_duplicates_confirmation": "Kas oled kindel, et soovid {count, plural, one {# dubleeritud üksuse} other {# dubleeritud üksust}} masskustutada? Sellega jäetakse alles iga grupi suurim üksus ning duplikaadid liigutatakse prügikasti.",
|
||||
"buy": "Osta Immich",
|
||||
"cache_settings_album_thumbnails": "Kogu lehtede pisipildid ({count} üksust)",
|
||||
"cache_settings_clear_cache_button": "Tühjenda puhver",
|
||||
"cache_settings_clear_cache_button_title": "Tühjendab rakenduse puhvri. See mõjutab oluliselt rakenduse jõudlust, kuni puhver uuesti täidetakse.",
|
||||
"cache_settings_duplicated_assets_clear_button": "TÜHJENDA",
|
||||
"cache_settings_duplicated_assets_subtitle": "Fotod ja videod, mis on rakenduse poolt mustfiltreeritud",
|
||||
"cache_settings_duplicated_assets_title": "Dubleeritud üksused ({count})",
|
||||
"cache_settings_image_cache_size": "Piltide puhvri suurus ({count} üksust)",
|
||||
"cache_settings_statistics_album": "Kogu pisipildid",
|
||||
"cache_settings_statistics_assets": "{count} üksust ({size})",
|
||||
"cache_settings_statistics_full": "Täismõõdus pildid",
|
||||
"cache_settings_statistics_shared": "Jagatud albumite pisipildid",
|
||||
"cache_settings_statistics_thumbnail": "Pisipildid",
|
||||
"cache_settings_statistics_title": "Puhvri kasutus",
|
||||
"cache_settings_subtitle": "Juhi Immich'i rakenduse puhverdamist",
|
||||
"cache_settings_thumbnail_size": "Pisipiltide puhvri suurus ({count} üksust)",
|
||||
"cache_settings_tile_subtitle": "Juhi lokaalse talletuse käitumist",
|
||||
"cache_settings_tile_title": "Lokaalne talletus",
|
||||
"cache_settings_title": "Puhverdamise seaded",
|
||||
"camera": "Kaamera",
|
||||
"camera_brand": "Kaamera mark",
|
||||
"camera_model": "Kaamera mudel",
|
||||
@@ -515,6 +600,7 @@
|
||||
"cannot_undo_this_action": "Sa ei saa seda tagasi võtta!",
|
||||
"cannot_update_the_description": "Kirjelduse muutmine ebaõnnestus",
|
||||
"change_date": "Muuda kuupäeva",
|
||||
"change_display_order": "Muuda kuva järjekorda",
|
||||
"change_expiration_time": "Muuda aegumisaega",
|
||||
"change_location": "Muuda asukohta",
|
||||
"change_name": "Muuda nime",
|
||||
@@ -522,12 +608,17 @@
|
||||
"change_password": "Parooli muutmine",
|
||||
"change_password_description": "See on su esimene kord süsteemi siseneda, või on tehtud taotlus parooli muutmiseks. Palun sisesta allpool uus parool.",
|
||||
"change_password_form_confirm_password": "Kinnita parool",
|
||||
"change_password_form_description": "Hei {name},\n\nSa kas logid süsteemi esimest korda sisse, või on esitatud taotlus sinu parooli muutmiseks. Palun sisesta allpool uus parool.",
|
||||
"change_password_form_new_password": "Uus parool",
|
||||
"change_password_form_password_mismatch": "Paroolid ei klapi",
|
||||
"change_password_form_reenter_new_password": "Korda uut parooli",
|
||||
"change_pin_code": "Muuda PIN-koodi",
|
||||
"change_your_password": "Muuda oma parooli",
|
||||
"changed_visibility_successfully": "Nähtavus muudetud",
|
||||
"check_all": "Märgi kõik",
|
||||
"check_corrupt_asset_backup": "Otsi riknenud üksuste varukoopiaid",
|
||||
"check_corrupt_asset_backup_button": "Teosta kontroll",
|
||||
"check_corrupt_asset_backup_description": "Käivita see kontroll ainult WiFi-võrgus ja siis, kui kõik üksused on varundatud. See protseduur võib kesta mõne minuti.",
|
||||
"check_logs": "Vaata logisid",
|
||||
"choose_matching_people_to_merge": "Vali kattuvad isikud, mida ühendada",
|
||||
"city": "Linn",
|
||||
@@ -555,20 +646,27 @@
|
||||
"comments_and_likes": "Kommentaarid ja meeldimised",
|
||||
"comments_are_disabled": "Kommentaarid on keelatud",
|
||||
"common_create_new_album": "Lisa uus album",
|
||||
"common_server_error": "Kontrolli oma võrguühendust ja veendu, et server on kättesaadav ning rakenduse ja serveri versioonid on ühilduvad.",
|
||||
"completed": "Lõpetatud",
|
||||
"confirm": "Kinnita",
|
||||
"confirm_admin_password": "Kinnita administraatori parool",
|
||||
"confirm_delete_face": "Kas oled kindel, et soovid isiku {name} näo üksuselt kustutada?",
|
||||
"confirm_delete_shared_link": "Kas oled kindel, et soovid selle jagatud lingi kustutada?",
|
||||
"confirm_keep_this_delete_others": "Kõik muud üksused selles virnas kustutatakse. Kas oled kindel, et soovid jätkata?",
|
||||
"confirm_new_pin_code": "Kinnita uus PIN-kood",
|
||||
"confirm_password": "Kinnita parool",
|
||||
"contain": "Mahuta ära",
|
||||
"context": "Kontekst",
|
||||
"continue": "Jätka",
|
||||
"control_bottom_app_bar_album_info_shared": "{count} üksust · Jagatud",
|
||||
"control_bottom_app_bar_create_new_album": "Lisa uus album",
|
||||
"control_bottom_app_bar_delete_from_immich": "Kustuta Immich'ist",
|
||||
"control_bottom_app_bar_delete_from_local": "Kustuta seadmest",
|
||||
"control_bottom_app_bar_edit_location": "Muuda asukohta",
|
||||
"control_bottom_app_bar_edit_time": "Muuda kuupäeva ja aega",
|
||||
"control_bottom_app_bar_share_link": "Jaga linki",
|
||||
"control_bottom_app_bar_share_to": "Jaga",
|
||||
"control_bottom_app_bar_trash_from_immich": "Liiguta prügikasti",
|
||||
"copied_image_to_clipboard": "Pilt kopeeritud lõikelauale.",
|
||||
"copied_to_clipboard": "Kopeeritud lõikelauale!",
|
||||
"copy_error": "Kopeeri viga",
|
||||
@@ -583,25 +681,36 @@
|
||||
"covers": "Kaanepildid",
|
||||
"create": "Lisa",
|
||||
"create_album": "Lisa album",
|
||||
"create_album_page_untitled": "Pealkirjata",
|
||||
"create_library": "Lisa kogu",
|
||||
"create_link": "Lisa link",
|
||||
"create_link_to_share": "Lisa jagamiseks link",
|
||||
"create_link_to_share_description": "Luba kõigil, kellel on link, valitud pilte näha",
|
||||
"create_new": "LISA UUS",
|
||||
"create_new_person": "Lisa uus isik",
|
||||
"create_new_person_hint": "Seosta valitud üksused uue isikuga",
|
||||
"create_new_user": "Lisa uus kasutaja",
|
||||
"create_shared_album_page_share_add_assets": "LISA ÜKSUSEID",
|
||||
"create_shared_album_page_share_select_photos": "Vali fotod",
|
||||
"create_tag": "Lisa silt",
|
||||
"create_tag_description": "Lisa uus silt. Pesastatud siltide jaoks sisesta täielik tee koos kaldkriipsudega.",
|
||||
"create_user": "Lisa kasutaja",
|
||||
"created": "Lisatud",
|
||||
"created_at": "Lisatud",
|
||||
"crop": "Kärpimine",
|
||||
"curated_object_page_title": "Asjad",
|
||||
"current_device": "Praegune seade",
|
||||
"current_pin_code": "Praegune PIN-kood",
|
||||
"current_server_address": "Praegune serveri aadress",
|
||||
"custom_locale": "Kohandatud lokaat",
|
||||
"custom_locale_description": "Vorminda kuupäevad ja arvud vastavalt keelele ja regioonile",
|
||||
"daily_title_text_date": "d. MMMM",
|
||||
"daily_title_text_date_year": "d. MMMM yyyy",
|
||||
"dark": "Tume",
|
||||
"date_after": "Kuupäev pärast",
|
||||
"date_and_time": "Kuupäev ja kellaaeg",
|
||||
"date_before": "Kuupäev enne",
|
||||
"date_format": "d. MMMM y • HH:mm",
|
||||
"date_of_birth_saved": "Sünnikuupäev salvestatud",
|
||||
"date_range": "Kuupäevavahemik",
|
||||
"day": "Päev",
|
||||
@@ -615,6 +724,11 @@
|
||||
"delete": "Kustuta",
|
||||
"delete_album": "Kustuta album",
|
||||
"delete_api_key_prompt": "Kas oled kindel, et soovid selle API võtme kustutada?",
|
||||
"delete_dialog_alert": "Need üksused kustutatakse jäädavalt Immich'ist ja sinu seadmest",
|
||||
"delete_dialog_alert_local": "Need üksused kustutatakse jäädavalt sinu seadmest, aga jäävad Immich'i serverisse alles",
|
||||
"delete_dialog_alert_local_non_backed_up": "Mõned üksustest ei ole Immich'isse varundatud ning kustutatakse su seadmest jäädavalt",
|
||||
"delete_dialog_alert_remote": "Need üksused kustutatakse jäädavalt Immich'i serverist",
|
||||
"delete_dialog_ok_force": "Kustuta sellegipoolest",
|
||||
"delete_dialog_title": "Kustuta jäädavalt",
|
||||
"delete_duplicates_confirmation": "Kas oled kindel, et soovid need duplikaadid jäädavalt kustutada?",
|
||||
"delete_face": "Kustuta nägu",
|
||||
@@ -622,6 +736,7 @@
|
||||
"delete_library": "Kustuta kogu",
|
||||
"delete_link": "Kustuta link",
|
||||
"delete_local_dialog_ok_backed_up_only": "Kustuta ainult varundatud",
|
||||
"delete_local_dialog_ok_force": "Kustuta sellegipoolest",
|
||||
"delete_others": "Kustuta teised",
|
||||
"delete_shared_link": "Kustuta jagatud link",
|
||||
"delete_shared_link_dialog_title": "Kustuta jagatud link",
|
||||
@@ -632,6 +747,7 @@
|
||||
"deletes_missing_assets": "Kustutab üksused, mis on kettalt puudu",
|
||||
"description": "Kirjeldus",
|
||||
"description_input_hint_text": "Lisa kirjeldus...",
|
||||
"description_input_submit_error": "Viga kirjelduse muutmisel, rohkem infot leiad logist",
|
||||
"details": "Üksikasjad",
|
||||
"direction": "Suund",
|
||||
"disabled": "Välja lülitatud",
|
||||
@@ -653,17 +769,21 @@
|
||||
"download_enqueue": "Allalaadimine ootel",
|
||||
"download_error": "Allalaadimise viga",
|
||||
"download_failed": "Allalaadimine ebaõnnestus",
|
||||
"download_filename": "fail: {filename}",
|
||||
"download_finished": "Allalaadimine lõpetatud",
|
||||
"download_include_embedded_motion_videos": "Manustatud videod",
|
||||
"download_include_embedded_motion_videos_description": "Lisa liikuvatesse fotodesse manustatud videod eraldi failidena",
|
||||
"download_notfound": "Allalaadimist ei leitud",
|
||||
"download_paused": "Allalaadimine peatatud",
|
||||
"download_settings": "Allalaadimine",
|
||||
"download_settings_description": "Halda üksuste allalaadimise seadeid",
|
||||
"download_started": "Allalaadimine alustatud",
|
||||
"download_sucess": "Allalaadimine õnnestus",
|
||||
"download_sucess_android": "Meediumid laaditi alla kataloogi DCIM/Immich",
|
||||
"download_waiting_to_retry": "Uuesti proovimise ootel",
|
||||
"downloading": "Allalaadimine",
|
||||
"downloading_asset_filename": "Üksuse {filename} allalaadimine",
|
||||
"downloading_media": "Meediumi allalaadimine",
|
||||
"drop_files_to_upload": "Failide üleslaadimiseks sikuta need ükskõik kuhu",
|
||||
"duplicates": "Duplikaadid",
|
||||
"duplicates_description": "Lahenda iga grupp, valides duplikaadid, kui neid on",
|
||||
@@ -693,17 +813,20 @@
|
||||
"editor_crop_tool_h2_aspect_ratios": "Kuvasuhted",
|
||||
"editor_crop_tool_h2_rotation": "Pööre",
|
||||
"email": "E-post",
|
||||
"email_notifications": "E-posti teavitused",
|
||||
"empty_folder": "See kaust on tühi",
|
||||
"empty_trash": "Tühjenda prügikast",
|
||||
"empty_trash_confirmation": "Kas oled kindel, et soovid prügikasti tühjendada? See eemaldab kõik seal olevad üksused Immich'ist jäädavalt.\nSeda tegevust ei saa tagasi võtta!",
|
||||
"enable": "Luba",
|
||||
"enabled": "Lubatud",
|
||||
"end_date": "Lõppkuupäev",
|
||||
"enqueued": "Järjekorras",
|
||||
"enter_wifi_name": "Sisesta WiFi-võrgu nimi",
|
||||
"error": "Viga",
|
||||
"error_change_sort_album": "Albumi sorteerimisjärjestuse muutmine ebaõnnestus",
|
||||
"error_delete_face": "Viga näo kustutamisel",
|
||||
"error_loading_image": "Viga pildi laadimisel",
|
||||
"error_saving_image": "Viga: {error}",
|
||||
"error_title": "Viga - midagi läks valesti",
|
||||
"errors": {
|
||||
"cannot_navigate_next_asset": "Järgmise üksuse juurde liikumine ebaõnnestus",
|
||||
@@ -733,10 +856,12 @@
|
||||
"failed_to_keep_this_delete_others": "Selle üksuse säilitamine ja ülejäänute kustutamine ebaõnnestus",
|
||||
"failed_to_load_asset": "Üksuse laadimine ebaõnnestus",
|
||||
"failed_to_load_assets": "Üksuste laadimine ebaõnnestus",
|
||||
"failed_to_load_notifications": "Teavituste laadimine ebaõnnestus",
|
||||
"failed_to_load_people": "Isikute laadimine ebaõnnestus",
|
||||
"failed_to_remove_product_key": "Tootevõtme eemaldamine ebaõnnestus",
|
||||
"failed_to_stack_assets": "Üksuste virnastamine ebaõnnestus",
|
||||
"failed_to_unstack_assets": "Üksuste eraldamine ebaõnnestus",
|
||||
"failed_to_update_notification_status": "Teavituste seisundi uuendamine ebaõnnestus",
|
||||
"import_path_already_exists": "See imporditee on juba olemas.",
|
||||
"incorrect_email_or_password": "Vale e-posti aadress või parool",
|
||||
"paths_validation_failed": "{paths, plural, one {# tee} other {# teed}} ei valideerunud",
|
||||
@@ -804,6 +929,7 @@
|
||||
"unable_to_remove_reaction": "Reaktsiooni eemaldamine ebaõnnestus",
|
||||
"unable_to_repair_items": "Üksuste parandamine ebaõnnestus",
|
||||
"unable_to_reset_password": "Parooli lähtestamine ebaõnnestus",
|
||||
"unable_to_reset_pin_code": "PIN-koodi lähtestamine ebaõnnestus",
|
||||
"unable_to_resolve_duplicate": "Duplikaadi lahendamine ebaõnnestus",
|
||||
"unable_to_restore_assets": "Üksuste taastamine ebaõnnestus",
|
||||
"unable_to_restore_trash": "Prügikastist taastamine ebaõnnestus",
|
||||
@@ -837,8 +963,15 @@
|
||||
"exif_bottom_sheet_location": "ASUKOHT",
|
||||
"exif_bottom_sheet_people": "ISIKUD",
|
||||
"exif_bottom_sheet_person_add_person": "Lisa nimi",
|
||||
"exif_bottom_sheet_person_age": "Vanus {age}",
|
||||
"exif_bottom_sheet_person_age_months": "Vanus {months} kuud",
|
||||
"exif_bottom_sheet_person_age_year_months": "Vanus 1 aasta, {months} kuud",
|
||||
"exif_bottom_sheet_person_age_years": "Vanus {years}",
|
||||
"exit_slideshow": "Sulge slaidiesitlus",
|
||||
"expand_all": "Näita kõik",
|
||||
"experimental_settings_new_asset_list_subtitle": "Töös",
|
||||
"experimental_settings_new_asset_list_title": "Luba eksperimentaalne fotoruudistik",
|
||||
"experimental_settings_subtitle": "Kasuta omal vastutusel!",
|
||||
"experimental_settings_title": "Eksperimentaalne",
|
||||
"expire_after": "Aegub",
|
||||
"expired": "Aegunud",
|
||||
@@ -850,12 +983,16 @@
|
||||
"extension": "Laiend",
|
||||
"external": "Väline",
|
||||
"external_libraries": "Välised kogud",
|
||||
"external_network": "Väline võrk",
|
||||
"external_network_sheet_info": "Kui seade ei ole eelistatud WiFi-võrgus, ühendub rakendus serveriga allolevatest URL-idest esimese kättesaadava kaudu, alustades ülevalt",
|
||||
"face_unassigned": "Seostamata",
|
||||
"failed": "Ebaõnnestus",
|
||||
"failed_to_load_assets": "Üksuste laadimine ebaõnnestus",
|
||||
"failed_to_load_folder": "Kausta laadimine ebaõnnestus",
|
||||
"favorite": "Lemmik",
|
||||
"favorite_or_unfavorite_photo": "Lisa foto lemmikutesse või eemalda lemmikutest",
|
||||
"favorites": "Lemmikud",
|
||||
"favorites_page_no_favorites": "Lemmikuid üksuseid ei leitud",
|
||||
"feature_photo_updated": "Esiletõstetud foto muudetud",
|
||||
"features": "Funktsioonid",
|
||||
"features_setting_description": "Halda rakenduse funktsioone",
|
||||
@@ -863,7 +1000,9 @@
|
||||
"file_name_or_extension": "Failinimi või -laiend",
|
||||
"filename": "Failinimi",
|
||||
"filetype": "Failitüüp",
|
||||
"filter": "Filter",
|
||||
"filter_people": "Filtreeri isikuid",
|
||||
"filter_places": "Filtreeri kohti",
|
||||
"find_them_fast": "Leia teda kiiresti nime järgi otsides",
|
||||
"fix_incorrect_match": "Paranda ebaõige vaste",
|
||||
"folder": "Kaust",
|
||||
@@ -873,21 +1012,27 @@
|
||||
"forward": "Edasi",
|
||||
"general": "Üldine",
|
||||
"get_help": "Küsi abi",
|
||||
"get_wifiname_error": "WiFi-võrgu nime ei õnnestunud lugeda. Veendu, et oled andnud vajalikud load ja oled WiFi-võrguga ühendatud",
|
||||
"getting_started": "Alustamine",
|
||||
"go_back": "Tagasi",
|
||||
"go_to_folder": "Mine kausta",
|
||||
"go_to_search": "Otsingusse",
|
||||
"grant_permission": "Anna luba",
|
||||
"group_albums_by": "Grupeeri albumid...",
|
||||
"group_country": "Grupeeri riigi kaupa",
|
||||
"group_no": "Ära grupeeri",
|
||||
"group_owner": "Grupeeri omaniku kaupa",
|
||||
"group_places_by": "Grupeeri kohad...",
|
||||
"group_year": "Grupeeri aasta kaupa",
|
||||
"haptic_feedback_switch": "Luba haptiline tagasiside",
|
||||
"haptic_feedback_title": "Haptiline tagasiside",
|
||||
"has_quota": "On kvoot",
|
||||
"header_settings_add_header_tip": "Lisa päis",
|
||||
"header_settings_field_validator_msg": "Väärtus ei saa olla tühi",
|
||||
"header_settings_header_name_input": "Päise nimi",
|
||||
"header_settings_header_value_input": "Päise väärtus",
|
||||
"headers_settings_tile_subtitle": "Määra vaheserveri päised, mida rakendus peaks iga päringuga saatma",
|
||||
"headers_settings_tile_title": "Kohandatud vaheserveri päised",
|
||||
"hi_user": "Tere {name} ({email})",
|
||||
"hide_all_people": "Peida kõik isikud",
|
||||
"hide_gallery": "Peida galerii",
|
||||
@@ -896,19 +1041,24 @@
|
||||
"hide_person": "Peida isik",
|
||||
"hide_unnamed_people": "Peida nimetud isikud",
|
||||
"home_page_add_to_album_conflicts": "{added} üksust lisati albumisse {album}. {failed} üksust oli juba albumis.",
|
||||
"home_page_add_to_album_err_local": "Lokaalseid üksuseid ei saa veel albumisse lisada, jätan vahele",
|
||||
"home_page_add_to_album_err_local": "Lokaalseid üksuseid ei saa veel albumisse lisada, jäetakse vahele",
|
||||
"home_page_add_to_album_success": "{added} üksust lisati albumisse {album}.",
|
||||
"home_page_album_err_partner": "Partneri üksuseid ei saa veel albumisse lisada, jätan vahele",
|
||||
"home_page_archive_err_local": "Lokaalseid üksuseid ei saa veel arhiveerida, jätan vahele",
|
||||
"home_page_archive_err_partner": "Partneri üksuseid ei saa arhiveerida, jätan vahele",
|
||||
"home_page_album_err_partner": "Partneri üksuseid ei saa veel albumisse lisada, jäetakse vahele",
|
||||
"home_page_archive_err_local": "Lokaalseid üksuseid ei saa veel arhiveerida, jäetakse vahele",
|
||||
"home_page_archive_err_partner": "Partneri üksuseid ei saa arhiveerida, jäetakse vahele",
|
||||
"home_page_building_timeline": "Ajajoone koostamine",
|
||||
"home_page_delete_err_partner": "Partneri üksuseid ei saa kustutada, jätan vahele",
|
||||
"home_page_favorite_err_local": "Lokaalseid üksuseid ei saa lemmikuks märkida, jätan vahele",
|
||||
"home_page_favorite_err_partner": "Partneri üksuseid ei saa lemmikuks märkida, jätan vahele",
|
||||
"home_page_share_err_local": "Lokaalseid üksuseid ei saa lingiga jagada, jätan vahele",
|
||||
"home_page_delete_err_partner": "Partneri üksuseid ei saa kustutada, jäetakse vahele",
|
||||
"home_page_delete_remote_err_local": "Kaugkustutamise valikus on lokaalsed üksused, jäetakse vahele",
|
||||
"home_page_favorite_err_local": "Lokaalseid üksuseid ei saa lemmikuks märkida, jäetakse vahele",
|
||||
"home_page_favorite_err_partner": "Partneri üksuseid ei saa lemmikuks märkida, jäetakse vahele",
|
||||
"home_page_first_time_notice": "Kui see on su esimene kord rakendust kasutada, vali varunduse album, et ajajoon saaks sellest fotosid ja videosid kuvada",
|
||||
"home_page_share_err_local": "Lokaalseid üksuseid ei saa lingiga jagada, jäetakse vahele",
|
||||
"home_page_upload_err_limit": "Korraga saab üles laadida ainult 30 üksust, jäetakse vahele",
|
||||
"host": "Host",
|
||||
"hour": "Tund",
|
||||
"id": "ID",
|
||||
"ignore_icloud_photos": "Ignoreeri iCloud fotosid",
|
||||
"ignore_icloud_photos_description": "Fotosid, mis on iCloud'is, ei laadita üles Immich'i serverisse",
|
||||
"image": "Pilt",
|
||||
"image_alt_text_date": "{isVideo, select, true {Video} other {Pilt}} tehtud {date}",
|
||||
"image_alt_text_date_1_person": "{isVideo, select, true {Video} other {Pilt}} tehtud {date} koos isikuga {person1}",
|
||||
@@ -920,8 +1070,10 @@
|
||||
"image_alt_text_date_place_2_people": "{isVideo, select, true {Video} other {Pilt}} tehtud {date} kohas {city}, {country} koos isikutega {person1} ja {person2}",
|
||||
"image_alt_text_date_place_3_people": "{isVideo, select, true {Video} other {Pilt}} tehtud {date} kohas {city}, {country} koos isikutega {person1}, {person2} ja {person3}",
|
||||
"image_alt_text_date_place_4_or_more_people": "{isVideo, select, true {Video} other {Pilt}} tehtud {date} kohas {city}, {country} koos {person1}, {person2} ja veel {additionalCount, number} isikuga",
|
||||
"image_saved_successfully": "Pilt salvestatud",
|
||||
"image_viewer_page_state_provider_download_started": "Allalaadimine alustatud",
|
||||
"image_viewer_page_state_provider_download_success": "Allalaadimine õnnestus",
|
||||
"image_viewer_page_state_provider_share_error": "Jagamise viga",
|
||||
"immich_logo": "Immich'i logo",
|
||||
"immich_web_interface": "Immich'i veebiliides",
|
||||
"import_from_json": "Impordi JSON-formaadist",
|
||||
@@ -962,8 +1114,11 @@
|
||||
"level": "Tase",
|
||||
"library": "Kogu",
|
||||
"library_options": "Kogu seaded",
|
||||
"library_page_device_albums": "Albumid seadmes",
|
||||
"library_page_new_album": "Uus album",
|
||||
"library_page_sort_asset_count": "Üksuste arv",
|
||||
"library_page_sort_created": "Loomise aeg",
|
||||
"library_page_sort_last_modified": "Viimase muutmise aeg",
|
||||
"library_page_sort_title": "Albumi pealkiri",
|
||||
"light": "Hele",
|
||||
"like_deleted": "Meeldimine kustutatud",
|
||||
@@ -974,14 +1129,22 @@
|
||||
"list": "Loend",
|
||||
"loading": "Laadimine",
|
||||
"loading_search_results_failed": "Otsitulemuste laadimine ebaõnnestus",
|
||||
"local_network": "Kohalik võrk",
|
||||
"local_network_sheet_info": "Rakendus ühendub valitud Wi-Fi võrgus olles serveriga selle URL-i kaudu",
|
||||
"location_permission": "Asukoha luba",
|
||||
"location_permission_content": "Automaatseks ümberlülitumiseks vajab Immich täpse asukoha luba, et saaks lugeda aktiivse WiFi-võrgu nime",
|
||||
"location_picker_choose_on_map": "Vali kaardil",
|
||||
"location_picker_latitude_error": "Sisesta korrektne laiuskraad",
|
||||
"location_picker_latitude_hint": "Sisesta laiuskraad siia",
|
||||
"location_picker_longitude_error": "Sisesta korrektne pikkuskraad",
|
||||
"location_picker_longitude_hint": "Sisesta pikkuskraad siia",
|
||||
"log_out": "Logi välja",
|
||||
"log_out_all_devices": "Logi kõigist seadmetest välja",
|
||||
"logged_out_all_devices": "Kõigist seadmetest välja logitud",
|
||||
"logged_out_device": "Seadmest välja logitud",
|
||||
"login": "Logi sisse",
|
||||
"login_disabled": "Sisselogimine on keelatud",
|
||||
"login_form_api_exception": "API viga. Kontrolli serveri URL-i ja proovi uuesti.",
|
||||
"login_form_back_button_text": "Tagasi",
|
||||
"login_form_email_hint": "sinunimi@email.com",
|
||||
"login_form_endpoint_hint": "http://serveri-ip:port",
|
||||
@@ -989,8 +1152,18 @@
|
||||
"login_form_err_http": "Palun täpsusta http:// või https://",
|
||||
"login_form_err_invalid_email": "Vigane e-posti aadress",
|
||||
"login_form_err_invalid_url": "Vigane URL",
|
||||
"login_form_err_leading_whitespace": "Eelnevad tühikud",
|
||||
"login_form_err_trailing_whitespace": "Järgnevad tühikud",
|
||||
"login_form_failed_get_oauth_server_config": "Viga OAuth abil sisenemisel, kontrolli serveri URL-i",
|
||||
"login_form_failed_get_oauth_server_disable": "OAuth funktsionaalsus ei ole selles serveris saadaval",
|
||||
"login_form_failed_login": "Viga sisselogimisel, kontrolli serveri URL-i, e-posti aadressi ja parooli",
|
||||
"login_form_handshake_exception": "Serveriga suhtlemisel tekkis kätlemise viga. Kui kasutad endasigneeritud sertifikaati, luba seadetes endasigneeritud sertifikaatide tugi.",
|
||||
"login_form_password_hint": "parool",
|
||||
"login_form_save_login": "Jää sisselogituks",
|
||||
"login_form_server_empty": "Sisesta serveri URL.",
|
||||
"login_form_server_error": "Serveriga ühendumine ebaõnnestus.",
|
||||
"login_has_been_disabled": "Sisselogimine on keelatud.",
|
||||
"login_password_changed_error": "Parooli muutmisel tekkis viga",
|
||||
"login_password_changed_success": "Parool edukalt uuendatud",
|
||||
"logout_all_device_confirmation": "Kas oled kindel, et soovid kõigist seadmetest välja logida?",
|
||||
"logout_this_device_confirmation": "Kas oled kindel, et soovid sellest seadmest välja logida?",
|
||||
@@ -1009,17 +1182,43 @@
|
||||
"manage_your_devices": "Halda oma autenditud seadmeid",
|
||||
"manage_your_oauth_connection": "Halda oma OAuth ühendust",
|
||||
"map": "Kaart",
|
||||
"map_assets_in_bound": "{count} foto",
|
||||
"map_assets_in_bounds": "{count} fotot",
|
||||
"map_cannot_get_user_location": "Ei saa kasutaja asukohta tuvastada",
|
||||
"map_location_dialog_yes": "Jah",
|
||||
"map_location_picker_page_use_location": "Kasuta seda asukohta",
|
||||
"map_location_service_disabled_content": "Praeguse asukoha üksuste kuvamiseks tuleb lubada asukoha teenus. Kas soovid seda praegu lubada?",
|
||||
"map_location_service_disabled_title": "Asukoha teenus keelatud",
|
||||
"map_marker_for_images": "Kaardimarker kohas {city}, {country} tehtud piltide jaoks",
|
||||
"map_marker_with_image": "Kaardimarker pildiga",
|
||||
"map_no_assets_in_bounds": "Selles piirkonnas ei ole fotosid",
|
||||
"map_no_location_permission_content": "Praeguse asukoha üksuste kuvamiseks on vaja asukoha luba. Kas soovid seda praegu lubada?",
|
||||
"map_no_location_permission_title": "Asukoha luba keelatud",
|
||||
"map_settings": "Kaardi seaded",
|
||||
"map_settings_dark_mode": "Tume režiim",
|
||||
"map_settings_date_range_option_day": "Viimased 24 tundi",
|
||||
"map_settings_date_range_option_days": "Viimased {days} päeva",
|
||||
"map_settings_date_range_option_year": "Viimane aasta",
|
||||
"map_settings_date_range_option_years": "Viimased {years} aastat",
|
||||
"map_settings_dialog_title": "Kaardi seaded",
|
||||
"map_settings_include_show_archived": "Kaasa arhiveeritud",
|
||||
"map_settings_include_show_partners": "Kaasa partnerid",
|
||||
"map_settings_only_show_favorites": "Kuva ainult lemmikud",
|
||||
"map_settings_theme_settings": "Kaardi teema",
|
||||
"map_zoom_to_see_photos": "Fotode nägemiseks suumi välja",
|
||||
"mark_all_as_read": "Märgi kõik loetuks",
|
||||
"mark_as_read": "Märgi loetuks",
|
||||
"marked_all_as_read": "Kõik märgiti loetuks",
|
||||
"matches": "Ühtivad failid",
|
||||
"media_type": "Meediumi tüüp",
|
||||
"memories": "Mälestused",
|
||||
"memories_all_caught_up": "Ongi kõik",
|
||||
"memories_check_back_tomorrow": "Vaata homme juba uusi mälestusi",
|
||||
"memories_setting_description": "Halda, mida sa oma mälestustes näed",
|
||||
"memories_start_over": "Alusta uuesti",
|
||||
"memories_swipe_to_close": "Sulgemiseks pühi üles",
|
||||
"memories_year_ago": "Aasta tagasi",
|
||||
"memories_years_ago": "{years, plural, other {# aastat}} tagasi",
|
||||
"memory": "Mälestus",
|
||||
"memory_lane_title": "Mälestus {title}",
|
||||
"menu": "Menüü",
|
||||
@@ -1034,10 +1233,13 @@
|
||||
"missing": "Puuduvad",
|
||||
"model": "Mudel",
|
||||
"month": "Kuu",
|
||||
"monthly_title_text_date_format": "MMMM y",
|
||||
"more": "Rohkem",
|
||||
"moved_to_archive": "{count, plural, one {# üksus} other {# üksust}} liigutatud arhiivi",
|
||||
"moved_to_library": "{count, plural, one {# üksus} other {# üksust}} liigutatud kogusse",
|
||||
"moved_to_trash": "Liigutatud prügikasti",
|
||||
"multiselect_grid_edit_date_time_err_read_only": "Kirjutuskaitsega üksus(t)e kuupäeva ei saa muuta, jätan vahele",
|
||||
"multiselect_grid_edit_gps_err_read_only": "Kirjutuskaitsega üksus(t)e asukohta ei saa muuta, jätan vahele",
|
||||
"multiselect_grid_edit_date_time_err_read_only": "Kirjutuskaitsega üksus(t)e kuupäeva ei saa muuta, jäetakse vahele",
|
||||
"multiselect_grid_edit_gps_err_read_only": "Kirjutuskaitsega üksus(t)e asukohta ei saa muuta, jäetakse vahele",
|
||||
"mute_memories": "Vaigista mälestused",
|
||||
"my_albums": "Minu albumid",
|
||||
"name": "Nimi",
|
||||
@@ -1049,6 +1251,7 @@
|
||||
"new_api_key": "Uus API võti",
|
||||
"new_password": "Uus parool",
|
||||
"new_person": "Uus isik",
|
||||
"new_pin_code": "Uus PIN-kood",
|
||||
"new_user_created": "Uus kasutaja lisatud",
|
||||
"new_version_available": "UUS VERSIOON SAADAVAL",
|
||||
"newest_first": "Uuemad eespool",
|
||||
@@ -1060,19 +1263,27 @@
|
||||
"no_albums_yet": "Paistab, et sul pole veel ühtegi albumit.",
|
||||
"no_archived_assets_message": "Arhiveeri fotod ja videod, et neid Fotod vaatest peita",
|
||||
"no_assets_message": "KLIKI ESIMESE FOTO ÜLESLAADIMISEKS",
|
||||
"no_assets_to_show": "Pole üksuseid, mida kuvada",
|
||||
"no_duplicates_found": "Ühtegi duplikaati ei leitud.",
|
||||
"no_exif_info_available": "Exif info pole saadaval",
|
||||
"no_explore_results_message": "Oma kogu avastamiseks laadi üles rohkem fotosid.",
|
||||
"no_favorites_message": "Lisa lemmikud, et oma parimaid fotosid ja videosid kiiresti leida",
|
||||
"no_libraries_message": "Lisa väline kogu oma fotode ja videote vaatamiseks",
|
||||
"no_name": "Nimetu",
|
||||
"no_notifications": "Teavitusi pole",
|
||||
"no_people_found": "Kattuvaid isikuid ei leitud",
|
||||
"no_places": "Kohti ei ole",
|
||||
"no_results": "Vasteid pole",
|
||||
"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",
|
||||
"not_in_any_album": "Pole üheski albumis",
|
||||
"not_selected": "Ei ole valitud",
|
||||
"note_apply_storage_label_to_previously_uploaded assets": "Märkus: Et rakendada talletussilt varem üleslaaditud üksustele, käivita",
|
||||
"notes": "Märkused",
|
||||
"notification_permission_dialog_content": "Teavituste lubamiseks mine Seadetesse ja vali lubamine.",
|
||||
"notification_permission_list_tile_content": "Anna luba teavituste saatmiseks.",
|
||||
"notification_permission_list_tile_enable_button": "Luba teavitused",
|
||||
"notification_permission_list_tile_title": "Teavituste luba",
|
||||
"notification_toggle_setting_description": "Luba e-posti teel teavitused",
|
||||
"notifications": "Teavitused",
|
||||
"notifications_setting_description": "Halda teavitusi",
|
||||
@@ -1083,6 +1294,7 @@
|
||||
"offline_paths_description": "Need tulemused võivad olla põhjustatud manuaalselt kustutatud failidest, mis ei ole osa välisest kogust.",
|
||||
"ok": "Ok",
|
||||
"oldest_first": "Vanemad eespool",
|
||||
"on_this_device": "Sellel seadmel",
|
||||
"onboarding": "Kasutuselevõtt",
|
||||
"onboarding_privacy_description": "Järgnevad (valikulised) funktsioonid sõltuvad välistest teenustest ning neid saab igal ajal administraatori seadetes välja lülitada.",
|
||||
"onboarding_theme_description": "Vali oma serverile värviteema. Saad seda hiljem seadetes muuta.",
|
||||
@@ -1090,6 +1302,7 @@
|
||||
"onboarding_welcome_user": "Tere tulemast, {user}",
|
||||
"online": "Ühendatud",
|
||||
"only_favorites": "Ainult lemmikud",
|
||||
"open": "Ava",
|
||||
"open_in_map_view": "Ava kaardi vaates",
|
||||
"open_in_openstreetmap": "Ava OpenStreetMap",
|
||||
"open_the_search_filters": "Ava otsingufiltrid",
|
||||
@@ -1106,9 +1319,14 @@
|
||||
"partner_can_access": "{partner} pääseb ligi",
|
||||
"partner_can_access_assets": "Kõik su fotod ja videod, välja arvatud arhiveeritud ja kustutatud",
|
||||
"partner_can_access_location": "Asukohad, kus su fotod tehti",
|
||||
"partner_list_user_photos": "Kasutaja {user} fotod",
|
||||
"partner_list_view_all": "Vaata kõiki",
|
||||
"partner_page_empty_message": "Su fotod pole veel ühegi partneriga jagatud.",
|
||||
"partner_page_no_more_users": "Pole rohkem kasutajaid, keda lisada",
|
||||
"partner_page_partner_add_failed": "Partneri lisamine ebaõnnestus",
|
||||
"partner_page_select_partner": "Vali partner",
|
||||
"partner_page_shared_to_title": "Jagatud",
|
||||
"partner_page_stop_sharing_content": "{partner} ei pääse rohkem su fotodele ligi.",
|
||||
"partner_sharing": "Partneriga jagamine",
|
||||
"partners": "Partnerid",
|
||||
"password": "Parool",
|
||||
@@ -1138,6 +1356,13 @@
|
||||
"permanently_deleted_asset": "Üksus jäädavalt kustutatud",
|
||||
"permanently_deleted_assets_count": "{count, plural, one {# üksus} other {# üksust}} jäädavalt kustutatud",
|
||||
"permission_onboarding_back": "Tagasi",
|
||||
"permission_onboarding_continue_anyway": "Jätka sellegipoolest",
|
||||
"permission_onboarding_get_started": "Alusta",
|
||||
"permission_onboarding_go_to_settings": "Mine seadetesse",
|
||||
"permission_onboarding_permission_denied": "Luba keelatud. Immich'i kasutamiseks anna Seadetes fotode ja videote load.",
|
||||
"permission_onboarding_permission_granted": "Luba antud! Oled valmis.",
|
||||
"permission_onboarding_permission_limited": "Piiratud luba. Et Immich saaks tervet su galeriid varundada ja hallata, anna Seadetes luba fotodele ja videotele.",
|
||||
"permission_onboarding_request": "Immich'il on vaja luba su fotode ja videote vaatamiseks.",
|
||||
"person": "Isik",
|
||||
"person_birthdate": "Sündinud {date}",
|
||||
"person_hidden": "{name}{hidden, select, true { (peidetud)} other {}}",
|
||||
@@ -1147,6 +1372,9 @@
|
||||
"photos_count": "{count, plural, one {{count, number} foto} other {{count, number} fotot}}",
|
||||
"photos_from_previous_years": "Fotod varasematest aastatest",
|
||||
"pick_a_location": "Vali asukoht",
|
||||
"pin_code_changed_successfully": "PIN-kood edukalt muudetud",
|
||||
"pin_code_reset_successfully": "PIN-kood edukalt lähtestatud",
|
||||
"pin_code_setup_successfully": "PIN-kood edukalt seadistatud",
|
||||
"place": "Asukoht",
|
||||
"places": "Kohad",
|
||||
"places_count": "{count, plural, one {{count, number} koht} other {{count, number} kohta}}",
|
||||
@@ -1155,6 +1383,7 @@
|
||||
"play_motion_photo": "Esita liikuv foto",
|
||||
"play_or_pause_video": "Esita või peata video",
|
||||
"port": "Port",
|
||||
"preferences_settings_subtitle": "Halda rakenduse eelistusi",
|
||||
"preferences_settings_title": "Eelistused",
|
||||
"preset": "Eelseadistus",
|
||||
"preview": "Eelvaade",
|
||||
@@ -1163,15 +1392,21 @@
|
||||
"previous_or_next_photo": "Eelmine või järgmine foto",
|
||||
"primary": "Peamine",
|
||||
"privacy": "Privaatsus",
|
||||
"profile": "Profiil",
|
||||
"profile_drawer_app_logs": "Logid",
|
||||
"profile_drawer_client_out_of_date_major": "Mobiilirakendus on aegunud. Palun uuenda uusimale suurele versioonile.",
|
||||
"profile_drawer_client_out_of_date_minor": "Mobiilirakendus on aegunud. Palun uuenda uusimale väikesele versioonile.",
|
||||
"profile_drawer_client_server_up_to_date": "Klient ja server on uuendatud",
|
||||
"profile_drawer_github": "GitHub",
|
||||
"profile_drawer_server_out_of_date_major": "Server on aegunud. Palun uuenda uusimale suurele versioonile.",
|
||||
"profile_drawer_server_out_of_date_minor": "Server on aegunud. Palun uuenda uusimale väikesele versioonile.",
|
||||
"profile_image_of_user": "Kasutaja {user} profiilipilt",
|
||||
"profile_picture_set": "Profiilipilt määratud.",
|
||||
"public_album": "Avalik album",
|
||||
"public_share": "Avalik jagamine",
|
||||
"purchase_account_info": "Toetaja",
|
||||
"purchase_activated_subtitle": "Aitäh, et toetad Immich'it ja avatud lähtekoodiga tarkvara",
|
||||
"purchase_activated_time": "Aktiveeritud {date, date}",
|
||||
"purchase_activated_time": "Aktiveeritud {date}",
|
||||
"purchase_activated_title": "Sinu võtme aktiveerimine õnnestus",
|
||||
"purchase_button_activate": "Aktiveeri",
|
||||
"purchase_button_buy": "Osta",
|
||||
@@ -1216,6 +1451,8 @@
|
||||
"recent_searches": "Hiljutised otsingud",
|
||||
"recently_added": "Hiljuti lisatud",
|
||||
"recently_added_page_title": "Hiljuti lisatud",
|
||||
"recently_taken": "Hiljuti tehtud",
|
||||
"recently_taken_page_title": "Hiljuti tehtud",
|
||||
"refresh": "Värskenda",
|
||||
"refresh_encoded_videos": "Värskenda kodeeritud videod",
|
||||
"refresh_faces": "Värskenda näod",
|
||||
@@ -1258,6 +1495,7 @@
|
||||
"reset": "Lähtesta",
|
||||
"reset_password": "Lähtesta parool",
|
||||
"reset_people_visibility": "Lähtesta isikute nähtavus",
|
||||
"reset_pin_code": "Lähtesta PIN-kood",
|
||||
"reset_to_default": "Lähtesta",
|
||||
"resolve_duplicates": "Lahenda duplikaadid",
|
||||
"resolved_all_duplicates": "Kõik duplikaadid lahendatud",
|
||||
@@ -1277,6 +1515,7 @@
|
||||
"saved_profile": "Profiil salvestatud",
|
||||
"saved_settings": "Seaded salvestatud",
|
||||
"say_something": "Ütle midagi",
|
||||
"scaffold_body_error_occurred": "Tekkis viga",
|
||||
"scan_all_libraries": "Skaneeri kõik kogud",
|
||||
"scan_library": "Skaneeri",
|
||||
"scan_settings": "Skaneerimise seaded",
|
||||
@@ -1292,10 +1531,12 @@
|
||||
"search_camera_model": "Otsi kaamera mudelit...",
|
||||
"search_city": "Otsi linna...",
|
||||
"search_country": "Otsi riiki...",
|
||||
"search_filter_apply": "Rakenda filter",
|
||||
"search_filter_camera_title": "Vali kaamera tüüp",
|
||||
"search_filter_date": "Kuupäev",
|
||||
"search_filter_date_interval": "{start} kuni {end}",
|
||||
"search_filter_date_title": "Vali kuupäevavahemik",
|
||||
"search_filter_display_option_not_in_album": "Pole albumis",
|
||||
"search_filter_display_options": "Kuva valikud",
|
||||
"search_filter_filename": "Otsi failinime alusel",
|
||||
"search_filter_location": "Asukoht",
|
||||
@@ -1305,21 +1546,30 @@
|
||||
"search_filter_people_title": "Vali isikud",
|
||||
"search_for": "Otsi",
|
||||
"search_for_existing_person": "Otsi olemasolevat isikut",
|
||||
"search_no_more_result": "Rohkem vasteid pole",
|
||||
"search_no_people": "Isikuid ei ole",
|
||||
"search_no_people_named": "Ei ole isikuid nimega \"{name}\"",
|
||||
"search_no_result": "Vasteid ei leitud, proovi muud otsinguterminit või kombinatsiooni",
|
||||
"search_options": "Otsingu valikud",
|
||||
"search_page_categories": "Kategooriad",
|
||||
"search_page_motion_photos": "Liikuvad fotod",
|
||||
"search_page_no_objects": "Objektide info pole saadaval",
|
||||
"search_page_no_places": "Kohtade info pole saadaval",
|
||||
"search_page_screenshots": "Ekraanipildid",
|
||||
"search_page_search_photos_videos": "Otsi oma fotosid ja videosid",
|
||||
"search_page_selfies": "Selfid",
|
||||
"search_page_things": "Asjad",
|
||||
"search_page_view_all_button": "Vaata kõiki",
|
||||
"search_page_your_activity": "Sinu aktiivsus",
|
||||
"search_page_your_map": "Sinu kaart",
|
||||
"search_people": "Otsi inimesi",
|
||||
"search_places": "Otsi kohti",
|
||||
"search_rating": "Otsi hinnangu järgi...",
|
||||
"search_result_page_new_search_hint": "Uus otsing",
|
||||
"search_settings": "Otsi seadeid",
|
||||
"search_state": "Otsi osariiki...",
|
||||
"search_suggestion_list_smart_search_hint_1": "Nutiotsing on vaikimisi lubatud, metaandmete otsimiseks kasuta süntaksit ",
|
||||
"search_suggestion_list_smart_search_hint_2": "m:sinu-otsingu-termin",
|
||||
"search_tags": "Otsi silte...",
|
||||
"search_timezone": "Otsi ajavööndit...",
|
||||
"search_type": "Otsingu tüüp",
|
||||
@@ -1338,6 +1588,7 @@
|
||||
"select_keep_all": "Vali jäta kõik alles",
|
||||
"select_library_owner": "Vali kogu omanik",
|
||||
"select_new_face": "Vali uus nägu",
|
||||
"select_person_to_tag": "Vali sildistamiseks isik",
|
||||
"select_photos": "Vali fotod",
|
||||
"select_trash_all": "Vali kõik prügikasti",
|
||||
"select_user_for_sharing_page_err_album": "Albumi lisamine ebaõnnestus",
|
||||
@@ -1359,14 +1610,41 @@
|
||||
"set_date_of_birth": "Määra sünnikuupäev",
|
||||
"set_profile_picture": "Sea profiilipilt",
|
||||
"set_slideshow_to_fullscreen": "Kuva slaidiesitlus täisekraanil",
|
||||
"setting_image_viewer_help": "Detailivaatur laadib kõigepealt väikese pisipildi, seejärel keskmises mõõdus eelvaate (kui lubatud) ja lõpuks originaalpildi (kui lubatud).",
|
||||
"setting_image_viewer_original_subtitle": "Lülita sisse, et laadida algne täisresolutsiooniga pilt (suur!). Lülita välja, et vähendada andmekasutust (nii võrgu kui seadme puhvri).",
|
||||
"setting_image_viewer_original_title": "Laadi algne pilt",
|
||||
"setting_image_viewer_preview_subtitle": "Luba keskmise resolutsiooniga pildi laadimine. Keela, et laadida kohe originaalpilt või kasutada ainult pisipilti.",
|
||||
"setting_image_viewer_preview_title": "Laadi pildi eelvaade",
|
||||
"setting_image_viewer_title": "Pildid",
|
||||
"setting_languages_apply": "Rakenda",
|
||||
"setting_languages_subtitle": "Muuda rakenduse keelt",
|
||||
"setting_languages_title": "Keeled",
|
||||
"setting_notifications_notify_failures_grace_period": "Teavita taustal varundamise vigadest: {duration}",
|
||||
"setting_notifications_notify_hours": "{count} tundi",
|
||||
"setting_notifications_notify_immediately": "kohe",
|
||||
"setting_notifications_notify_minutes": "{count} minutit",
|
||||
"setting_notifications_notify_never": "mitte kunagi",
|
||||
"setting_notifications_notify_seconds": "{count} sekundit",
|
||||
"setting_notifications_single_progress_subtitle": "Detailne üleslaadimise edenemise info üksuse kohta",
|
||||
"setting_notifications_single_progress_title": "Kuva taustal varundamise detailset edenemist",
|
||||
"setting_notifications_subtitle": "Halda oma teavituste eelistusi",
|
||||
"setting_notifications_total_progress_subtitle": "Üldine üleslaadimise edenemine (üksuseid tehtud/kokku)",
|
||||
"setting_notifications_total_progress_title": "Kuva taustal varundamise üldist edenemist",
|
||||
"setting_video_viewer_looping_title": "Taasesitus",
|
||||
"setting_video_viewer_original_video_subtitle": "Esita serverist video voogedastamisel originaal, isegi kui transkodeeritud video on saadaval. Võib põhjustada puhverdamist. Lokaalselt saadaolevad videod mängitakse originaalkvaliteediga sõltumata sellest seadest.",
|
||||
"setting_video_viewer_original_video_title": "Sunni originaalvideo",
|
||||
"settings": "Seaded",
|
||||
"settings_require_restart": "Selle seade rakendamiseks palun taaskäivita Immich",
|
||||
"settings_saved": "Seaded salvestatud",
|
||||
"setup_pin_code": "Seadista PIN-kood",
|
||||
"share": "Jaga",
|
||||
"share_add_photos": "Lisa fotosid",
|
||||
"share_assets_selected": "{count} valitud",
|
||||
"share_dialog_preparing": "Ettevalmistamine...",
|
||||
"shared": "Jagatud",
|
||||
"shared_album_activities_input_disable": "Kommentaarid on keelatud",
|
||||
"shared_album_activity_remove_content": "Kas soovid selle tegevuse kustutada?",
|
||||
"shared_album_activity_remove_title": "Kustuta tegevus",
|
||||
"shared_album_section_people_action_error": "Viga albumist eemaldamisel/lahkumisel",
|
||||
"shared_album_section_people_action_leave": "Eemalda kasutaja albumist",
|
||||
"shared_album_section_people_action_remove_user": "Eemalda kasutaja albumist",
|
||||
@@ -1375,12 +1653,33 @@
|
||||
"shared_by_user": "Jagas {user}",
|
||||
"shared_by_you": "Jagasid sina",
|
||||
"shared_from_partner": "Fotod partnerilt {partner}",
|
||||
"shared_intent_upload_button_progress_text": "{current} / {total} üles laaditud",
|
||||
"shared_link_app_bar_title": "Jagatud lingid",
|
||||
"shared_link_clipboard_copied_massage": "Kopeeritud lõikelauale",
|
||||
"shared_link_clipboard_text": "Link: {link}\nParool: {password}",
|
||||
"shared_link_create_error": "Viga jagatud lingi loomisel",
|
||||
"shared_link_edit_description_hint": "Sisesta jagatud lingi kirjeldus",
|
||||
"shared_link_edit_expire_after_option_day": "1 päev",
|
||||
"shared_link_edit_expire_after_option_days": "{count} päeva",
|
||||
"shared_link_edit_expire_after_option_hour": "1 tund",
|
||||
"shared_link_edit_expire_after_option_hours": "{count} tundi",
|
||||
"shared_link_edit_expire_after_option_minute": "1 minut",
|
||||
"shared_link_edit_expire_after_option_minutes": "{count} minutit",
|
||||
"shared_link_edit_expire_after_option_months": "{count} kuud",
|
||||
"shared_link_edit_expire_after_option_year": "{count} aasta",
|
||||
"shared_link_edit_password_hint": "Sisesta jagatud lingi parool",
|
||||
"shared_link_edit_submit_button": "Muuda link",
|
||||
"shared_link_error_server_url_fetch": "Serveri URL-i ei leitud",
|
||||
"shared_link_expires_day": "Aegub {count} päeva pärast",
|
||||
"shared_link_expires_days": "Aegub {count} päeva pärast",
|
||||
"shared_link_expires_hour": "Aegub {count} tunni pärast",
|
||||
"shared_link_expires_hours": "Aegub {count} tunni pärast",
|
||||
"shared_link_expires_minute": "Aegub {count} minuti pärast",
|
||||
"shared_link_expires_minutes": "Aegub {count} minuti pärast",
|
||||
"shared_link_expires_never": "Ei aegu",
|
||||
"shared_link_expires_second": "Aegub {count} sekundi pärast",
|
||||
"shared_link_expires_seconds": "Aegub {count} sekundi pärast",
|
||||
"shared_link_individual_shared": "Individuaalselt jagatud",
|
||||
"shared_link_info_chip_metadata": "EXIF",
|
||||
"shared_link_manage_links": "Halda jagatud linke",
|
||||
"shared_link_options": "Jagatud lingi valikud",
|
||||
@@ -1392,6 +1691,8 @@
|
||||
"sharing": "Jagamine",
|
||||
"sharing_enter_password": "Palun sisesta selle lehe vaatamiseks salasõna.",
|
||||
"sharing_page_album": "Jagatud albumid",
|
||||
"sharing_page_description": "Loo jagatud albumeid, et jagada fotosid ja videosid inimestega oma võrgustikus.",
|
||||
"sharing_page_empty_list": "TÜHI LOEND",
|
||||
"sharing_sidebar_description": "Kuva külgmenüüs Jagamise linki",
|
||||
"sharing_silver_appbar_create_shared_album": "Uus jagatud album",
|
||||
"sharing_silver_appbar_share_partner": "Jaga partneriga",
|
||||
@@ -1452,6 +1753,7 @@
|
||||
"stop_sharing_photos_with_user": "Lõpeta oma fotode selle kasutajaga jagamine",
|
||||
"storage": "Talletusruum",
|
||||
"storage_label": "Talletussilt",
|
||||
"storage_quota": "Talletuskvoot",
|
||||
"storage_usage": "{used}/{available} kasutatud",
|
||||
"submit": "Saada",
|
||||
"suggestions": "Soovitused",
|
||||
@@ -1462,6 +1764,8 @@
|
||||
"swap_merge_direction": "Muuda ühendamise suunda",
|
||||
"sync": "Sünkrooni",
|
||||
"sync_albums": "Sünkrooni albumid",
|
||||
"sync_albums_manual_subtitle": "Sünkrooni kõik üleslaaditud videod ja fotod valitud varundusalbumitesse",
|
||||
"sync_upload_album_setting_subtitle": "Loo ja laadi oma pildid ja videod üles Immich'isse valitud albumitesse",
|
||||
"tag": "Silt",
|
||||
"tag_assets": "Sildista üksuseid",
|
||||
"tag_created": "Lisatud silt: {tag}",
|
||||
@@ -1475,9 +1779,19 @@
|
||||
"theme": "Teema",
|
||||
"theme_selection": "Teema valik",
|
||||
"theme_selection_description": "Sea automaatselt hele või tume teema vastavalt veebilehitseja eelistustele",
|
||||
"theme_setting_asset_list_storage_indicator_title": "Kuva üksuste ruutudel talletusindikaatorit",
|
||||
"theme_setting_asset_list_tiles_per_row_title": "Üksuste arv reas ({count})",
|
||||
"theme_setting_colorful_interface_subtitle": "Rakenda taustapindadele põhivärv.",
|
||||
"theme_setting_colorful_interface_title": "Värviline kasutajaliides",
|
||||
"theme_setting_image_viewer_quality_subtitle": "Kohanda detailvaaturi kvaliteeti",
|
||||
"theme_setting_image_viewer_quality_title": "Pildivaaturi kvaliteet",
|
||||
"theme_setting_primary_color_subtitle": "Vali värv põhitegevuste ja aktsentide jaoks.",
|
||||
"theme_setting_primary_color_title": "Põhivärv",
|
||||
"theme_setting_system_primary_color_title": "Kasuta süsteemset värvi",
|
||||
"theme_setting_system_theme_switch": "Automaatne (järgi süsteemi seadet)",
|
||||
"theme_setting_theme_subtitle": "Vali rakenduse teema seade",
|
||||
"theme_setting_three_stage_loading_subtitle": "Kolmeastmeline laadimine võib parandada laadimise jõudlust, aga põhjustab oluliselt suuremat võrgukoormust",
|
||||
"theme_setting_three_stage_loading_title": "Luba kolmeastmeline laadimine",
|
||||
"they_will_be_merged_together": "Nad ühendatakse kokku",
|
||||
"third_party_resources": "Kolmanda osapoole ressursid",
|
||||
"time_based_memories": "Ajapõhised mälestused",
|
||||
@@ -1497,12 +1811,19 @@
|
||||
"trash_all": "Kõik prügikasti",
|
||||
"trash_count": "Liiguta {count, number} prügikasti",
|
||||
"trash_delete_asset": "Kustuta üksus",
|
||||
"trash_emptied": "Prügikast tühjendatud",
|
||||
"trash_no_results_message": "Siia ilmuvad prügikasti liigutatud fotod ja videod.",
|
||||
"trash_page_delete_all": "Kustuta kõik",
|
||||
"trash_page_empty_trash_dialog_content": "Kas soovid prügikasti liigutatud üksused kustutada? Need eemaldatakse Immich'ist jäädavalt",
|
||||
"trash_page_info": "Prügikasti liigutatud üksused kustutatakse jäädavalt {days} päeva pärast",
|
||||
"trash_page_no_assets": "Prügikastis üksuseid pole",
|
||||
"trash_page_restore_all": "Taasta kõik",
|
||||
"trash_page_select_assets_btn": "Vali üksused",
|
||||
"trash_page_title": "Prügikast ({count})",
|
||||
"trashed_items_will_be_permanently_deleted_after": "Prügikasti tõstetud üksused kustutatakse jäädavalt {days, plural, one {# päeva} other {# päeva}} pärast.",
|
||||
"type": "Tüüp",
|
||||
"unable_to_change_pin_code": "PIN-koodi muutmine ebaõnnestus",
|
||||
"unable_to_setup_pin_code": "PIN-koodi seadistamine ebaõnnestus",
|
||||
"unarchive": "Taasta arhiivist",
|
||||
"unarchived_count": "{count, plural, other {# arhiivist taastatud}}",
|
||||
"unfavorite": "Eemalda lemmikutest",
|
||||
@@ -1526,9 +1847,12 @@
|
||||
"untracked_files": "Mittejälgitavad failid",
|
||||
"untracked_files_decription": "Rakendus ei jälgi neid faile. Need võivad olla põhjustatud ebaõnnestunud liigutamisest, katkestatud üleslaadimisest või rakenduse veast",
|
||||
"up_next": "Järgmine",
|
||||
"updated_at": "Uuendatud",
|
||||
"updated_password": "Parool muudetud",
|
||||
"upload": "Laadi üles",
|
||||
"upload_concurrency": "Üleslaadimise samaaegsus",
|
||||
"upload_dialog_info": "Kas soovid valitud üksuse(d) serverisse varundada?",
|
||||
"upload_dialog_title": "Üksuse üleslaadimine",
|
||||
"upload_errors": "Üleslaadimine lõpetatud {count, plural, one {# veaga} other {# veaga}}, uute üksuste nägemiseks värskenda lehte.",
|
||||
"upload_progress": "Ootel {remaining, number} - Töödeldud {processed, number}/{total, number}",
|
||||
"upload_skipped_duplicates": "{count, plural, one {# dubleeritud üksus} other {# dubleeritud üksust}} vahele jäetud",
|
||||
@@ -1536,13 +1860,18 @@
|
||||
"upload_status_errors": "Vead",
|
||||
"upload_status_uploaded": "Üleslaaditud",
|
||||
"upload_success": "Üleslaadimine õnnestus, uute üksuste nägemiseks värskenda lehte.",
|
||||
"upload_to_immich": "Laadi Immich'isse ({count})",
|
||||
"uploading": "Üleslaadimine",
|
||||
"url": "URL",
|
||||
"usage": "Kasutus",
|
||||
"use_current_connection": "kasuta praegust ühendust",
|
||||
"use_custom_date_range": "Kasuta kohandatud kuupäevavahemikku",
|
||||
"user": "Kasutaja",
|
||||
"user_has_been_deleted": "See kasutaja on kustutatud.",
|
||||
"user_id": "Kasutaja ID",
|
||||
"user_liked": "Kasutajale {user} meeldis {type, select, photo {see foto} video {see video} asset {see üksus} other {see}}",
|
||||
"user_pin_code_settings": "PIN-kood",
|
||||
"user_pin_code_settings_description": "Halda oma PIN-koodi",
|
||||
"user_purchase_settings": "Ost",
|
||||
"user_purchase_settings_description": "Halda oma ostu",
|
||||
"user_role_set": "Määra kasutajale {user} roll {role}",
|
||||
@@ -1553,10 +1882,16 @@
|
||||
"users": "Kasutajad",
|
||||
"utilities": "Tööriistad",
|
||||
"validate": "Valideeri",
|
||||
"validate_endpoint_error": "Sisesta korrektne URL",
|
||||
"variables": "Muutujad",
|
||||
"version": "Versioon",
|
||||
"version_announcement_closing": "Sinu sõber, Alex",
|
||||
"version_announcement_message": "Hei! Saadaval on uus Immich'i versioon. Palun võta aega, et lugeda <link>väljalasketeadet</link> ning veendu, et su seadistus on ajakohane, et vältida konfiguratsiooniprobleeme, eriti kui kasutad WatchTower'it või muud mehhanismi, mis Immich'it automaatselt uuendab.",
|
||||
"version_announcement_overlay_release_notes": "väljalasketeadet",
|
||||
"version_announcement_overlay_text_1": "Hei sõber, on saadaval uus versioon rakendusest",
|
||||
"version_announcement_overlay_text_2": "palun võta aega, et lugeda ",
|
||||
"version_announcement_overlay_text_3": " ning veendu, et su docker-compose ja .env seadistus on ajakohane, et vältida konfiguratsiooniprobleeme, eriti kui kasutad WatchTower'it või muud mehhanismi, mis serveripoolset rakendust automaatselt uuendab.",
|
||||
"version_announcement_overlay_title": "Uus serveri versioon saadaval 🎉",
|
||||
"version_history": "Versiooniajalugu",
|
||||
"version_history_item": "Versioon {version} paigaldatud {date}",
|
||||
"video": "Video",
|
||||
@@ -1577,6 +1912,7 @@
|
||||
"view_qr_code": "Vaata QR-koodi",
|
||||
"view_stack": "Vaata virna",
|
||||
"viewer_remove_from_stack": "Eemalda virnast",
|
||||
"viewer_stack_use_as_main_asset": "Kasuta peamise üksusena",
|
||||
"viewer_unstack": "Eralda",
|
||||
"visibility_changed": "{count, plural, one {# isiku} other {# isiku}} nähtavus muudetud",
|
||||
"waiting": "Ootel",
|
||||
|
||||
19
i18n/eu.json
19
i18n/eu.json
@@ -1 +1,18 @@
|
||||
{}
|
||||
{
|
||||
"active": "Martxan",
|
||||
"add": "Gehitu",
|
||||
"add_a_description": "Azalpena gehitu",
|
||||
"add_a_name": "Izena gehitu",
|
||||
"add_a_title": "Izenburua gehitu",
|
||||
"add_more_users": "Erabiltzaile gehiago gehitu",
|
||||
"add_photos": "Argazkiak gehitu",
|
||||
"add_to_album": "Albumera gehitu",
|
||||
"add_to_album_bottom_sheet_already_exists": "Dagoeneko {album} albumenean",
|
||||
"add_to_shared_album": "Gehitu partekatutako albumera",
|
||||
"add_url": "URL-a gehitu",
|
||||
"added_to_favorites": "Faboritoetara gehituta",
|
||||
"admin": {
|
||||
"cleanup": "Garbiketa",
|
||||
"image_quality": "Kalitatea"
|
||||
}
|
||||
}
|
||||
|
||||
@@ -4,6 +4,7 @@
|
||||
"account_settings": "تنظیمات حساب کاربری",
|
||||
"acknowledge": "متوجه شدم",
|
||||
"action": "عملکرد",
|
||||
"action_common_update": "به روزرسانی",
|
||||
"actions": "عملکرد",
|
||||
"active": "فعال",
|
||||
"activity": "فعالیت",
|
||||
@@ -153,20 +154,13 @@
|
||||
"oauth_auto_register": "ثبت خودکار",
|
||||
"oauth_auto_register_description": "کاربران جدید را پس از ورود با OAuth به طور خودکار ثبت نام کن",
|
||||
"oauth_button_text": "متن دکمه",
|
||||
"oauth_client_id": "شناسه کاربر",
|
||||
"oauth_client_secret": "شناسه محرمانه کاربر",
|
||||
"oauth_enable_description": "ورود توسط OAuth",
|
||||
"oauth_issuer_url": "نشانی وب صادر کننده",
|
||||
"oauth_mobile_redirect_uri": "تغییر مسیر URI موبایل",
|
||||
"oauth_mobile_redirect_uri_override": "تغییر مسیر URI تلفن همراه",
|
||||
"oauth_mobile_redirect_uri_override_description": "زمانی که 'app.immich:/' یک URI پرش نامعتبر است، فعال کنید.",
|
||||
"oauth_profile_signing_algorithm": "الگوریتم امضای پروفایل",
|
||||
"oauth_profile_signing_algorithm_description": "الگوریتم مورد استفاده برای امضای پروفایل کاربر.",
|
||||
"oauth_scope": "محدوده",
|
||||
"oauth_settings": "OAuth",
|
||||
"oauth_settings_description": "مدیریت تنظیمات ورود به سیستم OAuth",
|
||||
"oauth_settings_more_details": "برای جزئیات بیشتر در مورد این ویژگی، به <link>مستندات</link> مراجعه کنید.",
|
||||
"oauth_signing_algorithm": "الگوریتم امضا",
|
||||
"oauth_storage_label_claim": "درخواست برچسب فضای ذخیره سازی",
|
||||
"oauth_storage_label_claim_description": "تنظیم خودکار برچسب فضای ذخیرهسازی کاربر به مقدار درخواست شده.",
|
||||
"oauth_storage_quota_claim": "درخواست سهمیه فضای ذخیره سازی",
|
||||
|
||||
516
i18n/fi.json
516
i18n/fi.json
File diff suppressed because it is too large
Load Diff
364
i18n/fr.json
364
i18n/fr.json
@@ -39,11 +39,11 @@
|
||||
"authentication_settings_disable_all": "Êtes-vous sûr de vouloir désactiver toutes les méthodes de connexion ? La connexion sera complètement désactivée.",
|
||||
"authentication_settings_reenable": "Pour réactiver, utilisez une <link>Commande Serveur</link>.",
|
||||
"background_task_job": "Tâches de fond",
|
||||
"backup_database": "Sauvegarde de la base de données",
|
||||
"backup_database_enable_description": "Activer la sauvegarde",
|
||||
"backup_keep_last_amount": "Nombre de sauvegardes à conserver",
|
||||
"backup_settings": "Paramètres de la sauvegarde",
|
||||
"backup_settings_description": "Gérer les paramètres de la sauvegarde",
|
||||
"backup_database": "Création d'une image de la base de données",
|
||||
"backup_database_enable_description": "Activer la création d'images de la base de données",
|
||||
"backup_keep_last_amount": "Nombre d'images à conserver",
|
||||
"backup_settings": "Paramètres de création d'images de la base de données",
|
||||
"backup_settings_description": "Gérer les paramètres de création d'images de la base de données. Note : ces tâches ne sont pas contrôlées et vous ne serez pas averti(e) en cas d'échec.",
|
||||
"check_all": "Tout cocher",
|
||||
"cleanup": "Nettoyage",
|
||||
"cleared_jobs": "Tâches supprimées pour : {job}",
|
||||
@@ -53,6 +53,7 @@
|
||||
"confirm_email_below": "Pour confirmer, tapez « {email} » ci-dessous",
|
||||
"confirm_reprocess_all_faces": "Êtes-vous sûr de vouloir retraiter tous les visages ? Cela effacera également les personnes déjà identifiées.",
|
||||
"confirm_user_password_reset": "Êtes-vous sûr de vouloir réinitialiser le mot de passe de {user} ?",
|
||||
"confirm_user_pin_code_reset": "Êtes-vous sûr de vouloir réinitialiser le code PIN de l'utilisateur {user} ?",
|
||||
"create_job": "Créer une tâche",
|
||||
"cron_expression": "Expression cron",
|
||||
"cron_expression_description": "Définir l'intervalle d'analyse à l'aide d'une expression cron. Pour plus d'informations, voir <link>Crontab Guru</link>",
|
||||
@@ -63,7 +64,7 @@
|
||||
"external_library_created_at": "Bibliothèque externe (créée le {date})",
|
||||
"external_library_management": "Gestion de la bibliothèque externe",
|
||||
"face_detection": "Détection des visages",
|
||||
"face_detection_description": "Détection des visages dans les médias à l'aide de l'apprentissage automatique. Pour les vidéos, seule la miniature est prise en compte. « Actualiser » (re)traite tous les médias. « Réinitialiser » retraite tous les médias en repartant de zéro. « Manquant » met en file d'attente les médias qui n'ont pas encore été pris en compte. Lorsque la détection est terminée, tous les visages détectés sont ensuite mis en file d'attente pour la reconnaissance faciale.",
|
||||
"face_detection_description": "Détection des visages dans les médias à l'aide de l'apprentissage automatique. Pour les vidéos, seule la miniature est prise en compte. « Actualiser » (re)traite tous les médias. « Réinitialiser » retraite tous les visages en repartant de zéro. « Manquant » met en file d'attente les médias qui n'ont pas encore été traités. Lorsque la détection est terminée, les visages détectés seront mis en file d'attente pour la reconnaissance faciale.",
|
||||
"facial_recognition_job_description": "Regrouper les visages détectés en personnes. Cette étape est exécutée une fois la détection des visages terminée. « Réinitialiser » (re)regroupe tous les visages. « Manquant » met en file d'attente les visages auxquels aucune personne n'a été attribuée.",
|
||||
"failed_job_command": "La commande {command} a échoué pour la tâche : {job}",
|
||||
"force_delete_user_warning": "ATTENTION : Cette opération entraîne la suppression immédiate de l'utilisateur et de tous ses médias. Cette opération ne peut être annulée et les fichiers ne peuvent être récupérés.",
|
||||
@@ -169,7 +170,7 @@
|
||||
"migration_job_description": "Migration des miniatures pour les médias et les visages vers la dernière structure de dossiers",
|
||||
"no_paths_added": "Aucun chemin n'a été ajouté",
|
||||
"no_pattern_added": "Aucun schéma d'exclusion n'a été ajouté",
|
||||
"note_apply_storage_label_previous_assets": "Remarque : pour appliquer l'étiquette de stockage à des médias précédemment envoyés, exécutez la commande",
|
||||
"note_apply_storage_label_previous_assets": "Remarque : pour appliquer l'étiquette de stockage à des médias précédemment téléversés, exécutez",
|
||||
"note_cannot_be_changed_later": "REMARQUE : Il n'est pas possible de modifier ce paramètre ultérieurement !",
|
||||
"notification_email_from_address": "Depuis l'adresse",
|
||||
"notification_email_from_address_description": "Adresse courriel de l'expéditeur, par exemple : « Serveur de photos Immich <nepasrepondre@exemple.org> »",
|
||||
@@ -192,26 +193,22 @@
|
||||
"oauth_auto_register": "Inscription automatique",
|
||||
"oauth_auto_register_description": "Inscrire automatiquement de nouveaux utilisateurs après leur connexion avec OAuth",
|
||||
"oauth_button_text": "Texte du bouton",
|
||||
"oauth_client_id": "ID du client",
|
||||
"oauth_client_secret": "Secret du client",
|
||||
"oauth_client_secret_description": "Nécessaire si le protocole PKCE (Proof Key for Code Exchange) n'est pas supporté mar le fournisseur d'authentification OAuth",
|
||||
"oauth_enable_description": "Connexion avec OAuth",
|
||||
"oauth_issuer_url": "URL de l'émetteur",
|
||||
"oauth_mobile_redirect_uri": "URI de redirection mobile",
|
||||
"oauth_mobile_redirect_uri_override": "Remplacer l'URI de redirection mobile",
|
||||
"oauth_mobile_redirect_uri_override_description": "Activer quand le fournisseur d'OAuth ne permet pas un URI mobile, comme '{callback} '",
|
||||
"oauth_profile_signing_algorithm": "Algorithme de signature de profil",
|
||||
"oauth_profile_signing_algorithm_description": "Algorithme utilisé pour signer le profil utilisateur.",
|
||||
"oauth_scope": "Périmètre",
|
||||
"oauth_settings": "OAuth",
|
||||
"oauth_settings_description": "Gérer les paramètres de connexion OAuth",
|
||||
"oauth_settings_more_details": "Pour plus de détails sur cette fonctionnalité, consultez <link>ce lien</link>.",
|
||||
"oauth_signing_algorithm": "Algorithme de signature",
|
||||
"oauth_storage_label_claim": "Demande d'étiquette de stockage",
|
||||
"oauth_storage_label_claim_description": "Définir automatiquement l'étiquette de stockage de l'utilisateur sur la valeur de cette revendication.",
|
||||
"oauth_storage_quota_claim": "Demande de quota de stockage",
|
||||
"oauth_storage_quota_claim_description": "Définir automatiquement le quota de stockage de l'utilisateur par la valeur de cette demande.",
|
||||
"oauth_storage_quota_default": "Quota de stockage par défaut (Go)",
|
||||
"oauth_storage_quota_default_description": "Quota en Go à utiliser lorsqu'aucune valeur n'est précisée (saisir 0 pour un quota illimité).",
|
||||
"oauth_timeout": "Expiration de la durée de la requête",
|
||||
"oauth_timeout_description": "Délai d'expiration des requêtes en millisecondes",
|
||||
"offline_paths": "Chemins d'accès hors ligne",
|
||||
"offline_paths_description": "Ces résultats peuvent être dus à la suppression manuelle de fichiers qui ne font pas partie d'une bibliothèque externe.",
|
||||
"password_enable_description": "Connexion avec courriel et mot de passe",
|
||||
@@ -250,14 +247,14 @@
|
||||
"storage_template_hash_verification_enabled": "Vérification du hachage activée",
|
||||
"storage_template_hash_verification_enabled_description": "Active la vérification du hachage, ne désactivez pas cette option à moins d'être sûr de ce que vous faites",
|
||||
"storage_template_migration": "Migration du modèle de stockage",
|
||||
"storage_template_migration_description": "Appliquer le modèle courant <link>{template}</link> aux médias précédemment envoyés",
|
||||
"storage_template_migration_info": "L'enregistrement des modèles convertit toutes les extensions en minuscule. Les changements de modèle ne s'appliqueront qu'aux nouveaux médias. Pour appliquer rétroactivement le modèle aux médias précédemment envoyés, exécutez la tâche <link>{job}</link>.",
|
||||
"storage_template_migration_description": "Appliquer le modèle courant <link>{template}</link> aux médias précédemment téléversés",
|
||||
"storage_template_migration_info": "L'enregistrement des modèles va convertir toutes les extensions en minuscule. Les changements de modèle ne s'appliqueront qu'aux nouveaux médias. Pour appliquer rétroactivement le modèle aux médias précédemment téléversés, exécutez la tâche <link>{job}</link>.",
|
||||
"storage_template_migration_job": "Tâche de migration du modèle de stockage",
|
||||
"storage_template_more_details": "Pour plus de détails sur cette fonctionnalité, reportez-vous au <template-link>Modèle de stockage</template-link> et à ses <implications-link>implications</implications-link>",
|
||||
"storage_template_onboarding_description": "Lorsqu'elle est activée, cette fonctionnalité réorganise les fichiers basés sur un modèle défini par l'utilisateur. En raison de problèmes de stabilité, la fonction a été désactivée par défaut. Pour plus d'informations, veuillez consulter la <link>documentation</link>.",
|
||||
"storage_template_path_length": "Limite approximative de la longueur du chemin : <b>{length, number}</b>/{limit, number}",
|
||||
"storage_template_settings": "Modèle de stockage",
|
||||
"storage_template_settings_description": "Gérer la structure des dossiers et le nom des fichiers du média envoyé",
|
||||
"storage_template_settings_description": "Gérer la structure des dossiers et le nom des fichiers du média téléversé",
|
||||
"storage_template_user_label": "<code>{label}</code> est l'étiquette de stockage de l'utilisateur",
|
||||
"system_settings": "Paramètres du système",
|
||||
"tag_cleanup_job": "Nettoyage des étiquettes",
|
||||
@@ -345,13 +342,14 @@
|
||||
"trash_settings": "Corbeille",
|
||||
"trash_settings_description": "Gérer les paramètres de la corbeille",
|
||||
"untracked_files": "Fichiers non suivis",
|
||||
"untracked_files_description": "Ces fichiers ne sont pas suivis par l'application. Ils peuvent être le résultat d'échecs de déplacement, d'envois interrompus, ou d'abandons en raison d'un bug",
|
||||
"untracked_files_description": "Ces fichiers ne sont pas suivis par l'application. Ils peuvent être le résultat d'échecs de déplacement, de téléversements interrompus, ou d'abandons en raison d'un bug",
|
||||
"user_cleanup_job": "Nettoyage des utilisateurs",
|
||||
"user_delete_delay": "La suppression définitive du compte et des médias de <b>{user}</b> sera programmée dans {delay, plural, one {# jour} other {# jours}}.",
|
||||
"user_delete_delay_settings": "Délai de suppression",
|
||||
"user_delete_delay_settings_description": "Nombre de jours après la validation pour supprimer définitivement le compte et les médias d'un utilisateur. La suppression des utilisateurs se lance à minuit. Les modifications apportées à ce paramètre seront pris en compte lors de la prochaine exécution.",
|
||||
"user_delete_immediately": "Le compte et les médias de <b>{user}</b> seront mis en file d'attente en vue d'une suppression permanente <b>immédiatement</b>.",
|
||||
"user_delete_immediately_checkbox": "Mise en file d'attente d'un utilisateur et de médias en vue d'une suppression immédiate",
|
||||
"user_details": "Détails utilisateur",
|
||||
"user_management": "Gestion des utilisateurs",
|
||||
"user_password_has_been_reset": "Le mot de passe de l'utilisateur a été réinitialisé :",
|
||||
"user_password_reset_description": "Veuillez fournir le mot de passe temporaire à l'utilisateur et informez-le qu'il devra le changer à sa première connexion.",
|
||||
@@ -372,8 +370,8 @@
|
||||
"administration": "Administration",
|
||||
"advanced": "Avancé",
|
||||
"advanced_settings_enable_alternate_media_filter_subtitle": "Utilisez cette option pour filtrer les média durant la synchronisation avec des critères alternatifs. N'utilisez cela que lorsque l'application n'arrive pas à détecter tout les albums.",
|
||||
"advanced_settings_enable_alternate_media_filter_title": "[EXEPRIMENTAL] Utiliser le filtre de synchronisation d'album alternatif",
|
||||
"advanced_settings_log_level_title": "Niveau de journalisation : {}",
|
||||
"advanced_settings_enable_alternate_media_filter_title": "[EXPÉRIMENTAL] Utiliser le filtre de synchronisation d'album alternatif",
|
||||
"advanced_settings_log_level_title": "Niveau de journalisation : {level}",
|
||||
"advanced_settings_prefer_remote_subtitle": "Certains appareils sont très lents à charger des miniatures à partir de ressources présentes sur l'appareil. Activez ce paramètre pour charger des images externes à la place.",
|
||||
"advanced_settings_prefer_remote_title": "Préférer les images externes",
|
||||
"advanced_settings_proxy_headers_subtitle": "Ajoutez des en-têtes personnalisés à chaque requête réseau",
|
||||
@@ -381,7 +379,7 @@
|
||||
"advanced_settings_self_signed_ssl_subtitle": "Permet d'ignorer la vérification du certificat SSL pour le point d'accès du serveur. Requis pour les certificats auto-signés.",
|
||||
"advanced_settings_self_signed_ssl_title": "Autoriser les certificats SSL auto-signés",
|
||||
"advanced_settings_sync_remote_deletions_subtitle": "Supprimer ou restaurer automatiquement un média sur cet appareil lorsqu'une action a été faite sur le web",
|
||||
"advanced_settings_sync_remote_deletions_title": "Synchroniser les suppressions depuis le serveur [EXPERIMENTAL]",
|
||||
"advanced_settings_sync_remote_deletions_title": "Synchroniser les suppressions depuis le serveur [EXPÉRIMENTAL]",
|
||||
"advanced_settings_tile_subtitle": "Paramètres d'utilisateur avancés",
|
||||
"advanced_settings_troubleshooting_subtitle": "Activer des fonctions supplémentaires pour le dépannage",
|
||||
"advanced_settings_troubleshooting_title": "Dépannage",
|
||||
@@ -404,9 +402,9 @@
|
||||
"album_remove_user_confirmation": "Êtes-vous sûr de vouloir supprimer {user} ?",
|
||||
"album_share_no_users": "Il semble que vous ayez partagé cet album avec tous les utilisateurs ou que vous n'ayez aucun utilisateur avec lequel le partager.",
|
||||
"album_thumbnail_card_item": "1 élément",
|
||||
"album_thumbnail_card_items": "{} éléments",
|
||||
"album_thumbnail_card_items": "{count} éléments",
|
||||
"album_thumbnail_card_shared": " · Partagé",
|
||||
"album_thumbnail_shared_by": "Partagé par {}",
|
||||
"album_thumbnail_shared_by": "Partagé par {user}",
|
||||
"album_updated": "Album mis à jour",
|
||||
"album_updated_setting_description": "Recevoir une notification par courriel lorsqu'un album partagé a de nouveaux médias",
|
||||
"album_user_left": "{album} quitté",
|
||||
@@ -429,14 +427,14 @@
|
||||
"allow_dark_mode": "Autoriser le mode sombre",
|
||||
"allow_edits": "Autoriser les modifications",
|
||||
"allow_public_user_to_download": "Permettre aux utilisateurs non connectés de télécharger",
|
||||
"allow_public_user_to_upload": "Permettre l'envoi aux utilisateurs non connectés",
|
||||
"allow_public_user_to_upload": "Permettre le téléversement aux utilisateurs non connectés",
|
||||
"alt_text_qr_code": "Image du code QR",
|
||||
"anti_clockwise": "Sens anti-horaire",
|
||||
"api_key": "Clé API",
|
||||
"api_key_description": "Cette valeur ne sera affichée qu'une seule fois. Assurez-vous de la copier avant de fermer la fenêtre.",
|
||||
"api_key_empty": "Le nom de votre clé API ne doit pas être vide",
|
||||
"api_keys": "Clés d'API",
|
||||
"app_bar_signout_dialog_content": "Êtes-vous sûr de vouloir vous déconnecter?",
|
||||
"app_bar_signout_dialog_content": "Êtes-vous sûr(e) de vouloir vous déconnecter ?",
|
||||
"app_bar_signout_dialog_ok": "Oui",
|
||||
"app_bar_signout_dialog_title": "Se déconnecter",
|
||||
"app_settings": "Paramètres de l'application",
|
||||
@@ -444,15 +442,15 @@
|
||||
"archive": "Archive",
|
||||
"archive_or_unarchive_photo": "Archiver ou désarchiver une photo",
|
||||
"archive_page_no_archived_assets": "Aucun élément archivé n'a été trouvé",
|
||||
"archive_page_title": "Archive ({})",
|
||||
"archive_page_title": "Archive ({count})",
|
||||
"archive_size": "Taille de l'archive",
|
||||
"archive_size_description": "Configurer la taille de l'archive maximale pour les téléchargements (en Go)",
|
||||
"archived": "Archives",
|
||||
"archived_count": "{count, plural, one {# archivé} other {# archivés}}",
|
||||
"are_these_the_same_person": "Est-ce la même personne ?",
|
||||
"are_you_sure_to_do_this": "Êtes-vous sûr de vouloir faire ceci ?",
|
||||
"asset_action_delete_err_read_only": "Impossible de supprimer le(s) élément(s) en lecture seule.",
|
||||
"asset_action_share_err_offline": "Impossible de récupérer le(s) élément(s) hors ligne.",
|
||||
"asset_action_delete_err_read_only": "Impossible de supprimer le(s) média(s) en lecture seule, ils sont ignorés",
|
||||
"asset_action_share_err_offline": "Impossible de récupérer le(s) média(s) hors ligne, ils sont ignorés",
|
||||
"asset_added_to_album": "Ajouté à l'album",
|
||||
"asset_adding_to_album": "Ajout à l'album…",
|
||||
"asset_description_updated": "La description du média a été mise à jour",
|
||||
@@ -472,7 +470,7 @@
|
||||
"asset_restored_successfully": "Élément restauré avec succès",
|
||||
"asset_skipped": "Sauté",
|
||||
"asset_skipped_in_trash": "À la corbeille",
|
||||
"asset_uploaded": "Envoyé",
|
||||
"asset_uploaded": "Téléversé",
|
||||
"asset_uploading": "Téléversement…",
|
||||
"asset_viewer_settings_subtitle": "Modifier les paramètres du visualiseur photos",
|
||||
"asset_viewer_settings_title": "Visualiseur d'éléments",
|
||||
@@ -481,18 +479,18 @@
|
||||
"assets_added_to_album_count": "{count, plural, one {# média ajouté} other {# médias ajoutés}} à l'album",
|
||||
"assets_added_to_name_count": "{count, plural, one {# média ajouté} other {# médias ajoutés}} à {hasName, select, true {<b>{name}</b>} other {new album}}",
|
||||
"assets_count": "{count, plural, one {# média} other {# médias}}",
|
||||
"assets_deleted_permanently": "{} élément(s) supprimé(s) définitivement",
|
||||
"assets_deleted_permanently_from_server": "{} élément(s) supprimé(s) définitivement du serveur Immich",
|
||||
"assets_deleted_permanently": "{count} média(s) supprimé(s) définitivement",
|
||||
"assets_deleted_permanently_from_server": "{count} média(s) supprimé(s) définitivement du serveur Immich",
|
||||
"assets_moved_to_trash_count": "{count, plural, one {# média déplacé} other {# médias déplacés}} dans la corbeille",
|
||||
"assets_permanently_deleted_count": "{count, plural, one {# média supprimé} other {# médias supprimés}} définitivement",
|
||||
"assets_removed_count": "{count, plural, one {# média supprimé} other {# médias supprimés}}",
|
||||
"assets_removed_permanently_from_device": "{} élément(s) supprimé(s) définitivement de votre appareil",
|
||||
"assets_removed_permanently_from_device": "{count} média(s) supprimé(s) définitivement de votre appareil",
|
||||
"assets_restore_confirmation": "Êtes-vous sûr de vouloir restaurer tous vos médias de la corbeille ? Vous ne pouvez pas annuler cette action ! Notez que les médias hors ligne ne peuvent être restaurés de cette façon.",
|
||||
"assets_restored_count": "{count, plural, one {# média restauré} other {# médias restaurés}}",
|
||||
"assets_restored_successfully": "Élément restauré avec succès",
|
||||
"assets_trashed": "{} élément(s) déplacé(s) vers la corbeille",
|
||||
"assets_restored_successfully": "{count} élément(s) restauré(s) avec succès",
|
||||
"assets_trashed": "{count} média(s) déplacé(s) vers la corbeille",
|
||||
"assets_trashed_count": "{count, plural, one {# média} other {# médias}} mis à la corbeille",
|
||||
"assets_trashed_from_server": "{} élément(s) déplacé(s) vers la corbeille du serveur Immich",
|
||||
"assets_trashed_from_server": "{count} média(s) déplacé(s) vers la corbeille du serveur Immich",
|
||||
"assets_were_part_of_album_count": "{count, plural, one {Un média est} other {Des médias sont}} déjà dans l'album",
|
||||
"authorized_devices": "Appareils autorisés",
|
||||
"automatic_endpoint_switching_subtitle": "Se connecter localement lorsque connecté au WI-FI spécifié mais utiliser une adresse alternative lorsque connecté à un autre réseau",
|
||||
@@ -501,20 +499,20 @@
|
||||
"back_close_deselect": "Retournez en arrière, fermez ou désélectionnez",
|
||||
"background_location_permission": "Permission de localisation en arrière plan",
|
||||
"background_location_permission_content": "Afin de pouvoir changer d'adresse en arrière plan, Immich doit avoir *en permanence* accès à la localisation précise, afin d'accéder au le nom du réseau Wi-Fi utilisé",
|
||||
"backup_album_selection_page_albums_device": "Albums sur l'appareil ({})",
|
||||
"backup_album_selection_page_albums_device": "Albums sur l'appareil ({count})",
|
||||
"backup_album_selection_page_albums_tap": "Tapez pour inclure, tapez deux fois pour exclure",
|
||||
"backup_album_selection_page_assets_scatter": "Les éléments peuvent être répartis sur plusieurs albums. De ce fait, les albums peuvent être inclus ou exclus pendant le processus de sauvegarde.",
|
||||
"backup_album_selection_page_select_albums": "Sélectionner les albums",
|
||||
"backup_album_selection_page_selection_info": "Informations sur la sélection",
|
||||
"backup_album_selection_page_total_assets": "Total des éléments uniques",
|
||||
"backup_all": "Tout",
|
||||
"backup_background_service_backup_failed_message": "Échec de la sauvegarde des éléments. Nouvelle tentative...",
|
||||
"backup_background_service_connection_failed_message": "Impossible de se connecter au serveur. Nouvelle tentative...",
|
||||
"backup_background_service_current_upload_notification": "Envoi {}",
|
||||
"backup_background_service_default_notification": "Recherche de nouveaux éléments...",
|
||||
"backup_background_service_backup_failed_message": "Échec de la sauvegarde des médias. Nouvelle tentative…",
|
||||
"backup_background_service_connection_failed_message": "Impossible de se connecter au serveur. Nouvelle tentative…",
|
||||
"backup_background_service_current_upload_notification": "Téléversement de {filename}",
|
||||
"backup_background_service_default_notification": "Recherche de nouveaux médias…",
|
||||
"backup_background_service_error_title": "Erreur de sauvegarde",
|
||||
"backup_background_service_in_progress_notification": "Sauvegarde de vos éléments...",
|
||||
"backup_background_service_upload_failure_notification": "Échec lors de l'envoi {}",
|
||||
"backup_background_service_in_progress_notification": "Sauvegarde de vos médias…",
|
||||
"backup_background_service_upload_failure_notification": "Échec lors du téléversement de {filename}",
|
||||
"backup_controller_page_albums": "Sauvegarder les albums",
|
||||
"backup_controller_page_background_app_refresh_disabled_content": "Activez le rafraîchissement de l'application en arrière-plan dans Paramètres > Général > Rafraîchissement de l'application en arrière-plan afin d'utiliser la sauvegarde en arrière-plan.",
|
||||
"backup_controller_page_background_app_refresh_disabled_title": "Rafraîchissement de l'application en arrière-plan désactivé",
|
||||
@@ -525,22 +523,22 @@
|
||||
"backup_controller_page_background_battery_info_title": "Optimisation de la batterie",
|
||||
"backup_controller_page_background_charging": "Seulement pendant la charge",
|
||||
"backup_controller_page_background_configure_error": "Échec de la configuration du service d'arrière-plan",
|
||||
"backup_controller_page_background_delay": "Retarder la sauvegarde des nouveaux éléments : {}",
|
||||
"backup_controller_page_background_description": "Activez le service d'arrière-plan pour sauvegarder automatiquement tous les nouveaux éléments sans avoir à ouvrir l'application.",
|
||||
"backup_controller_page_background_delay": "Retarder la sauvegarde des nouveaux médias : {duration}",
|
||||
"backup_controller_page_background_description": "Activez le service d'arrière-plan pour sauvegarder automatiquement tous les nouveaux médias sans avoir à ouvrir l'application",
|
||||
"backup_controller_page_background_is_off": "La sauvegarde automatique en arrière-plan est désactivée",
|
||||
"backup_controller_page_background_is_on": "La sauvegarde automatique en arrière-plan est activée",
|
||||
"backup_controller_page_background_turn_off": "Désactiver le service d'arrière-plan",
|
||||
"backup_controller_page_background_turn_on": "Activer le service d'arrière-plan",
|
||||
"backup_controller_page_background_wifi": "Uniquement sur WiFi",
|
||||
"backup_controller_page_background_wifi": "Uniquement en wifi",
|
||||
"backup_controller_page_backup": "Sauvegardé",
|
||||
"backup_controller_page_backup_selected": "Sélectionné: ",
|
||||
"backup_controller_page_backup_selected": "Sélectionné : ",
|
||||
"backup_controller_page_backup_sub": "Photos et vidéos sauvegardées",
|
||||
"backup_controller_page_created": "Créé le : {}",
|
||||
"backup_controller_page_desc_backup": "Activez la sauvegarde pour envoyer automatiquement les nouveaux éléments sur le serveur.",
|
||||
"backup_controller_page_excluded": "Exclus: ",
|
||||
"backup_controller_page_failed": "Échec de l'opération ({})",
|
||||
"backup_controller_page_filename": "Nom du fichier : {} [{}]",
|
||||
"backup_controller_page_id": "ID : {}",
|
||||
"backup_controller_page_created": "Créé le : {date}",
|
||||
"backup_controller_page_desc_backup": "Activez la sauvegarde au premier plan pour téléverser automatiquement les nouveaux médias sur le serveur lors de l'ouverture de l'application.",
|
||||
"backup_controller_page_excluded": "Exclus : ",
|
||||
"backup_controller_page_failed": "Échec de l'opération ({count})",
|
||||
"backup_controller_page_filename": "Nom du fichier : {filename} [{size}]",
|
||||
"backup_controller_page_id": "ID : {id}",
|
||||
"backup_controller_page_info": "Informations de sauvegarde",
|
||||
"backup_controller_page_none_selected": "Aucune sélection",
|
||||
"backup_controller_page_remainder": "Restant",
|
||||
@@ -549,20 +547,20 @@
|
||||
"backup_controller_page_start_backup": "Démarrer la sauvegarde",
|
||||
"backup_controller_page_status_off": "La sauvegarde est désactivée",
|
||||
"backup_controller_page_status_on": "La sauvegarde est activée",
|
||||
"backup_controller_page_storage_format": "{} sur {} utilisés",
|
||||
"backup_controller_page_storage_format": "{used} sur {total} utilisés",
|
||||
"backup_controller_page_to_backup": "Albums à sauvegarder",
|
||||
"backup_controller_page_total_sub": "Toutes les photos et vidéos uniques des albums sélectionnés",
|
||||
"backup_controller_page_turn_off": "Désactiver la sauvegarde",
|
||||
"backup_controller_page_turn_on": "Activer la sauvegarde",
|
||||
"backup_controller_page_uploading_file_info": "Transfert des informations du fichier",
|
||||
"backup_controller_page_uploading_file_info": "Téléversement des informations du fichier",
|
||||
"backup_err_only_album": "Impossible de retirer le seul album",
|
||||
"backup_info_card_assets": "éléments",
|
||||
"backup_manual_cancelled": "Annulé",
|
||||
"backup_manual_in_progress": "Téléchargement déjà en cours. Essayez après un instant",
|
||||
"backup_manual_success": "Succès ",
|
||||
"backup_manual_title": "Statut du téléchargement ",
|
||||
"backup_manual_in_progress": "Téléversement déjà en cours. Réessayez plus tard",
|
||||
"backup_manual_success": "Succès",
|
||||
"backup_manual_title": "Statut du téléversement",
|
||||
"backup_options_page_title": "Options de sauvegarde",
|
||||
"backup_setting_subtitle": "Ajuster les paramètres de sauvegarde",
|
||||
"backup_setting_subtitle": "Ajuster les paramètres de téléversement au premier et en arrière-plan",
|
||||
"backward": "Arrière",
|
||||
"birthdate_saved": "Date de naissance enregistrée avec succès",
|
||||
"birthdate_set_description": "La date de naissance est utilisée pour calculer l'âge de cette personne au moment où la photo a été prise.",
|
||||
@@ -574,21 +572,21 @@
|
||||
"bulk_keep_duplicates_confirmation": "Êtes-vous sûr de vouloir conserver {count, plural, one {# doublon} other {# doublons}} ? Cela résoudra tous les groupes de doublons sans rien supprimer.",
|
||||
"bulk_trash_duplicates_confirmation": "Êtes-vous sûr de vouloir mettre à la corbeille {count, plural, one {# doublon} other {# doublons}} ? Cette opération permet de conserver le plus grand média de chaque groupe et de mettre à la corbeille tous les autres doublons.",
|
||||
"buy": "Acheter Immich",
|
||||
"cache_settings_album_thumbnails": "Page des miniatures de la bibliothèque ({} éléments)",
|
||||
"cache_settings_album_thumbnails": "Page des miniatures de la bibliothèque ({count} médias)",
|
||||
"cache_settings_clear_cache_button": "Effacer le cache",
|
||||
"cache_settings_clear_cache_button_title": "Efface le cache de l'application. Cela aura un impact significatif sur les performances de l'application jusqu'à ce que le cache soit reconstruit.",
|
||||
"cache_settings_duplicated_assets_clear_button": "EFFACER",
|
||||
"cache_settings_duplicated_assets_subtitle": "Photos et vidéos qui sont exclues par l'application",
|
||||
"cache_settings_duplicated_assets_title": "Éléments dupliqués ({})",
|
||||
"cache_settings_image_cache_size": "Taille du cache des images ({} éléments)",
|
||||
"cache_settings_duplicated_assets_title": "Médias dupliqués ({count})",
|
||||
"cache_settings_image_cache_size": "Taille du cache des images ({count} médias)",
|
||||
"cache_settings_statistics_album": "Miniatures de la bibliothèque",
|
||||
"cache_settings_statistics_assets": "{} éléments ({})",
|
||||
"cache_settings_statistics_assets": "{count} médias ({size})",
|
||||
"cache_settings_statistics_full": "Images complètes",
|
||||
"cache_settings_statistics_shared": "Miniatures de l'album partagé",
|
||||
"cache_settings_statistics_thumbnail": "Miniatures",
|
||||
"cache_settings_statistics_title": "Utilisation du cache",
|
||||
"cache_settings_subtitle": "Contrôler le comportement de mise en cache de l'application mobile Immich",
|
||||
"cache_settings_thumbnail_size": "Taille du cache des miniatures ({} éléments)",
|
||||
"cache_settings_thumbnail_size": "Taille du cache des miniatures ({count} médias)",
|
||||
"cache_settings_tile_subtitle": "Contrôler le comportement du stockage local",
|
||||
"cache_settings_tile_title": "Stockage local",
|
||||
"cache_settings_title": "Paramètres de mise en cache",
|
||||
@@ -614,13 +612,14 @@
|
||||
"change_password_form_new_password": "Nouveau mot de passe",
|
||||
"change_password_form_password_mismatch": "Les mots de passe ne correspondent pas",
|
||||
"change_password_form_reenter_new_password": "Saisissez à nouveau le nouveau mot de passe",
|
||||
"change_pin_code": "Changer le code PIN",
|
||||
"change_your_password": "Changer votre mot de passe",
|
||||
"changed_visibility_successfully": "Visibilité modifiée avec succès",
|
||||
"check_all": "Tout sélectionner",
|
||||
"check_corrupt_asset_backup": "Vérifier la corruption des éléments enregistrés",
|
||||
"check_corrupt_asset_backup_button": "Vérifier",
|
||||
"check_corrupt_asset_backup_description": "Lancer cette vérification uniquement lorsque connecté à un réseau Wi-Fi et que tout le contenu a été enregistré. Cette procédure peut durer plusieurs minutes.",
|
||||
"check_logs": "Vérifier les logs",
|
||||
"check_logs": "Vérifier les journaux",
|
||||
"choose_matching_people_to_merge": "Choisir les personnes à fusionner",
|
||||
"city": "Ville",
|
||||
"clear": "Effacer",
|
||||
@@ -654,17 +653,18 @@
|
||||
"confirm_delete_face": "Êtes-vous sûr de vouloir supprimer le visage de {name} du média ?",
|
||||
"confirm_delete_shared_link": "Voulez-vous vraiment supprimer ce lien partagé ?",
|
||||
"confirm_keep_this_delete_others": "Tous les autres médias dans la pile seront supprimés sauf celui-ci. Êtes-vous sûr de vouloir continuer ?",
|
||||
"confirm_new_pin_code": "Confirmer le nouveau code PIN",
|
||||
"confirm_password": "Confirmer le mot de passe",
|
||||
"contain": "Contenu",
|
||||
"context": "Contexte",
|
||||
"continue": "Continuer",
|
||||
"control_bottom_app_bar_album_info_shared": "{} éléments · Partagés",
|
||||
"control_bottom_app_bar_album_info_shared": "{count} médias · Partagés",
|
||||
"control_bottom_app_bar_create_new_album": "Créer un nouvel album",
|
||||
"control_bottom_app_bar_delete_from_immich": "Supprimer de Immich",
|
||||
"control_bottom_app_bar_delete_from_local": "Supprimer de l'appareil",
|
||||
"control_bottom_app_bar_edit_location": "Modifier la localisation",
|
||||
"control_bottom_app_bar_edit_time": "Modifier la date et l'heure",
|
||||
"control_bottom_app_bar_share_link": "Share Link",
|
||||
"control_bottom_app_bar_share_link": "Lien partagé",
|
||||
"control_bottom_app_bar_share_to": "Partager à",
|
||||
"control_bottom_app_bar_trash_from_immich": "Déplacer vers la corbeille",
|
||||
"copied_image_to_clipboard": "Image copiée dans le presse-papiers.",
|
||||
@@ -696,10 +696,12 @@
|
||||
"create_tag_description": "Créer une nouvelle étiquette. Pour les étiquettes imbriquées, veuillez entrer le chemin complet de l'étiquette, y compris les caractères \"/\".",
|
||||
"create_user": "Créer un utilisateur",
|
||||
"created": "Créé",
|
||||
"created_at": "Créé à",
|
||||
"crop": "Recadrer",
|
||||
"curated_object_page_title": "Objets",
|
||||
"current_device": "Appareil actuel",
|
||||
"current_server_address": "Adresse actuelle du serveur ",
|
||||
"current_pin_code": "Code PIN actuel",
|
||||
"current_server_address": "Adresse actuelle du serveur",
|
||||
"custom_locale": "Paramètres régionaux personnalisés",
|
||||
"custom_locale_description": "Afficher les dates et nombres en fonction des paramètres régionaux",
|
||||
"daily_title_text_date": "E, dd MMM",
|
||||
@@ -722,10 +724,10 @@
|
||||
"delete": "Supprimer",
|
||||
"delete_album": "Supprimer l'album",
|
||||
"delete_api_key_prompt": "Voulez-vous vraiment supprimer cette clé API ?",
|
||||
"delete_dialog_alert": "Ces éléments seront définitivement supprimés de Immich et de votre appareil.",
|
||||
"delete_dialog_alert_local": "Ces éléments seront définitivement supprimés de votre appareil mais resteront disponibles sur le serveur d'Immich.",
|
||||
"delete_dialog_alert_local_non_backed_up": "Certains éléments ne sont pas sauvegardés sur Immich et seront définitivement supprimés de votre appareil.",
|
||||
"delete_dialog_alert_remote": "Ces éléments seront définitivement supprimés du serveur Immich.",
|
||||
"delete_dialog_alert": "Ces médias seront définitivement supprimés de Immich et de votre appareil",
|
||||
"delete_dialog_alert_local": "Ces médias seront définitivement supprimés de votre appareil mais resteront disponibles sur le serveur d'Immich",
|
||||
"delete_dialog_alert_local_non_backed_up": "Certains médias ne sont pas sauvegardés sur Immich et seront définitivement supprimés de votre appareil",
|
||||
"delete_dialog_alert_remote": "Ces médias seront définitivement supprimés du serveur Immich",
|
||||
"delete_dialog_ok_force": "Supprimer tout de même",
|
||||
"delete_dialog_title": "Supprimer définitivement",
|
||||
"delete_duplicates_confirmation": "Êtes-vous certain de vouloir supprimer définitivement ces doublons ?",
|
||||
@@ -767,7 +769,7 @@
|
||||
"download_enqueue": "Téléchargement en attente",
|
||||
"download_error": "Erreur de téléchargement",
|
||||
"download_failed": "Téléchargement échoué",
|
||||
"download_filename": "fichier : {}",
|
||||
"download_filename": "fichier : {filename}",
|
||||
"download_finished": "Téléchargement terminé",
|
||||
"download_include_embedded_motion_videos": "Vidéos intégrées",
|
||||
"download_include_embedded_motion_videos_description": "Inclure des vidéos intégrées dans les photos de mouvement comme un fichier séparé",
|
||||
@@ -782,7 +784,7 @@
|
||||
"downloading": "Téléchargement",
|
||||
"downloading_asset_filename": "Téléchargement du média {filename}",
|
||||
"downloading_media": "Téléchargement du média",
|
||||
"drop_files_to_upload": "Déposez les fichiers n'importe où pour envoyer",
|
||||
"drop_files_to_upload": "Déposez les fichiers n'importe où pour téléverser",
|
||||
"duplicates": "Doublons",
|
||||
"duplicates_description": "Examiner chaque groupe et indiquer s'il y a des doublons",
|
||||
"duration": "Durée",
|
||||
@@ -811,6 +813,7 @@
|
||||
"editor_crop_tool_h2_aspect_ratios": "Rapports hauteur/largeur",
|
||||
"editor_crop_tool_h2_rotation": "Rotation",
|
||||
"email": "Courriel",
|
||||
"email_notifications": "Notifications email",
|
||||
"empty_folder": "Ce dossier est vide",
|
||||
"empty_trash": "Vider la corbeille",
|
||||
"empty_trash_confirmation": "Êtes-vous sûr de vouloir vider la corbeille ? Cela supprimera définitivement de Immich tous les médias qu'elle contient.\nVous ne pouvez pas annuler cette action !",
|
||||
@@ -818,12 +821,12 @@
|
||||
"enabled": "Activé",
|
||||
"end_date": "Date de fin",
|
||||
"enqueued": "Mis en file",
|
||||
"enter_wifi_name": "Entrez le nom du réseau ",
|
||||
"enter_wifi_name": "Entrez le nom du réseau wifi",
|
||||
"error": "Erreur",
|
||||
"error_change_sort_album": "Impossible de modifier l'ordre de tri des albums",
|
||||
"error_delete_face": "Erreur lors de la suppression du visage pour le média",
|
||||
"error_loading_image": "Erreur de chargement de l'image",
|
||||
"error_saving_image": "Erreur : {}",
|
||||
"error_saving_image": "Erreur : {error}",
|
||||
"error_title": "Erreur - Quelque chose s'est mal passé",
|
||||
"errors": {
|
||||
"cannot_navigate_next_asset": "Impossible de naviguer jusqu'au prochain média",
|
||||
@@ -853,10 +856,12 @@
|
||||
"failed_to_keep_this_delete_others": "Impossible de conserver ce média et de supprimer les autres médias",
|
||||
"failed_to_load_asset": "Impossible de charger le média",
|
||||
"failed_to_load_assets": "Impossible de charger les médias",
|
||||
"failed_to_load_notifications": "Erreur de récupération des notifications",
|
||||
"failed_to_load_people": "Impossible de charger les personnes",
|
||||
"failed_to_remove_product_key": "Échec de suppression de la clé du produit",
|
||||
"failed_to_stack_assets": "Impossible d'empiler les médias",
|
||||
"failed_to_unstack_assets": "Impossible de dépiler les médias",
|
||||
"failed_to_update_notification_status": "Erreur de mise à jour du statut des notifications",
|
||||
"import_path_already_exists": "Ce chemin d'importation existe déjà.",
|
||||
"incorrect_email_or_password": "Courriel ou mot de passe incorrect",
|
||||
"paths_validation_failed": "Validation échouée pour {paths, plural, one {# un chemin} other {# plusieurs chemins}}",
|
||||
@@ -924,6 +929,7 @@
|
||||
"unable_to_remove_reaction": "Impossible de supprimer la réaction",
|
||||
"unable_to_repair_items": "Impossible de réparer les éléments",
|
||||
"unable_to_reset_password": "Impossible de réinitialiser le mot de passe",
|
||||
"unable_to_reset_pin_code": "Impossible de réinitialiser le code PIN",
|
||||
"unable_to_resolve_duplicate": "Impossible de résoudre le doublon",
|
||||
"unable_to_restore_assets": "Impossible de restaurer les médias",
|
||||
"unable_to_restore_trash": "Impossible de restaurer la corbeille",
|
||||
@@ -949,7 +955,7 @@
|
||||
"unable_to_update_settings": "Impossible de mettre à jour les paramètres",
|
||||
"unable_to_update_timeline_display_status": "Impossible de mettre à jour le statut d'affichage de la vue chronologique",
|
||||
"unable_to_update_user": "Impossible de mettre à jour l'utilisateur",
|
||||
"unable_to_upload_file": "Impossible d'envoyer le fichier"
|
||||
"unable_to_upload_file": "Impossible de téléverser le fichier"
|
||||
},
|
||||
"exif": "Exif",
|
||||
"exif_bottom_sheet_description": "Ajouter une description...",
|
||||
@@ -957,15 +963,15 @@
|
||||
"exif_bottom_sheet_location": "LOCALISATION",
|
||||
"exif_bottom_sheet_people": "PERSONNES",
|
||||
"exif_bottom_sheet_person_add_person": "Ajouter un nom",
|
||||
"exif_bottom_sheet_person_age": "Âge {}",
|
||||
"exif_bottom_sheet_person_age_months": "Âge {} mois",
|
||||
"exif_bottom_sheet_person_age_year_months": "Âge 1 an, {} mois",
|
||||
"exif_bottom_sheet_person_age_years": "Âge {}",
|
||||
"exif_bottom_sheet_person_age": "Âge {age}",
|
||||
"exif_bottom_sheet_person_age_months": "Âge {months} mois",
|
||||
"exif_bottom_sheet_person_age_year_months": "Âge 1 an, {months} mois",
|
||||
"exif_bottom_sheet_person_age_years": "Âge {years}",
|
||||
"exit_slideshow": "Quitter le diaporama",
|
||||
"expand_all": "Tout développer",
|
||||
"experimental_settings_new_asset_list_subtitle": "En cours de développement",
|
||||
"experimental_settings_new_asset_list_title": "Activer la grille de photos expérimentale",
|
||||
"experimental_settings_subtitle": "Utilisez à vos dépends!",
|
||||
"experimental_settings_subtitle": "Utilisez à vos dépends !",
|
||||
"experimental_settings_title": "Expérimental",
|
||||
"expire_after": "Expire",
|
||||
"expired": "Expiré",
|
||||
@@ -978,7 +984,7 @@
|
||||
"external": "Externe",
|
||||
"external_libraries": "Bibliothèques externes",
|
||||
"external_network": "Réseau externe",
|
||||
"external_network_sheet_info": "Quand vous n'êtes pas connecté à votre réseau préféré, l'application va tenter de se connecter aux adresses ci-dessous, en commençant par la première",
|
||||
"external_network_sheet_info": "Quand vous n'êtes pas connecté(e) à votre réseau wifi préféré, l'application va tenter de se connecter aux adresses ci-dessous, en commençant par la première",
|
||||
"face_unassigned": "Non attribué",
|
||||
"failed": "Échec",
|
||||
"failed_to_load_assets": "Échec du chargement des ressources",
|
||||
@@ -996,6 +1002,7 @@
|
||||
"filetype": "Type de fichier",
|
||||
"filter": "Filtres",
|
||||
"filter_people": "Filtrer les personnes",
|
||||
"filter_places": "Filtrer par lieu",
|
||||
"find_them_fast": "Pour les retrouver rapidement par leur nom",
|
||||
"fix_incorrect_match": "Corriger une association incorrecte",
|
||||
"folder": "Dossier",
|
||||
@@ -1005,12 +1012,12 @@
|
||||
"forward": "Avant",
|
||||
"general": "Général",
|
||||
"get_help": "Obtenir de l'aide",
|
||||
"get_wifiname_error": "Impossible d'obtenir le nom du réseau Wi-Fi. Assurez-vous d'avoir donné les permissions nécessaires à l'application et que vous êtes connecté à un réseau Wi-Fi.",
|
||||
"get_wifiname_error": "Impossible d'obtenir le nom du réseau wifi. Assurez-vous d'avoir donné les permissions nécessaires à l'application et que vous êtes connecté à un réseau wifi",
|
||||
"getting_started": "Commencer",
|
||||
"go_back": "Retour",
|
||||
"go_to_folder": "Dossier",
|
||||
"go_to_search": "Faire une recherche",
|
||||
"grant_permission": "Accorder les permissions ",
|
||||
"grant_permission": "Accorder les permissions",
|
||||
"group_albums_by": "Grouper les albums par...",
|
||||
"group_country": "Grouper par pays",
|
||||
"group_no": "Pas de groupe",
|
||||
@@ -1034,23 +1041,24 @@
|
||||
"hide_person": "Masquer la personne",
|
||||
"hide_unnamed_people": "Cacher les personnes non nommées",
|
||||
"home_page_add_to_album_conflicts": "{added} éléments ajoutés à l'album {album}. Les éléments {failed} sont déjà dans l'album.",
|
||||
"home_page_add_to_album_err_local": "Impossible d'ajouter des éléments locaux aux albums pour le moment, étape ignorée",
|
||||
"home_page_add_to_album_err_local": "Impossible d'ajouter des médias locaux aux albums, ils sont ignorés",
|
||||
"home_page_add_to_album_success": "{added} éléments ajoutés à l'album {album}.",
|
||||
"home_page_album_err_partner": "Il n'est pas encore possible d'ajouter des éléments d'un partenaire à un album.",
|
||||
"home_page_archive_err_local": "Impossible d'archiver les ressources locales pour l'instant, étape ignorée",
|
||||
"home_page_archive_err_partner": "Impossible d'archiver les éléments d'un partenaire.",
|
||||
"home_page_album_err_partner": "Impossible d'ajouter des médias d'un partenaire à un album, ils sont ignorés",
|
||||
"home_page_archive_err_local": "Impossible d'archiver les médias locaux, ils sont ignorés",
|
||||
"home_page_archive_err_partner": "Impossible d'archiver les médias d'un partenaire, ils sont ignorés",
|
||||
"home_page_building_timeline": "Construction de la chronologie",
|
||||
"home_page_delete_err_partner": "Ne peut pas supprimer les éléments d'un partenaire.",
|
||||
"home_page_delete_remote_err_local": "Des éléments locaux sont dans la sélection de suppression à distance, ils sont donc ignorés.",
|
||||
"home_page_favorite_err_local": "Impossible d'ajouter des éléments locaux aux favoris pour le moment, étape ignorée",
|
||||
"home_page_favorite_err_partner": "Il n'est pas encore possible de mettre en favori les éléments d'un partenaire.",
|
||||
"home_page_first_time_notice": "Si c'est la première fois que vous utilisez l'application, veillez à choisir un ou plusieurs albums de sauvegarde afin que la chronologie puisse alimenter les photos et les vidéos de cet ou ces albums.",
|
||||
"home_page_share_err_local": "Impossible de partager par lien les médias locaux, cette opération est donc ignorée.",
|
||||
"home_page_upload_err_limit": "Limite de téléchargement de 30 éléments en même temps, demande ignorée",
|
||||
"home_page_delete_err_partner": "Impossible de supprimer les médias d'un partenaire, ils sont ignorés",
|
||||
"home_page_delete_remote_err_local": "Des médias locaux sont dans la sélection de suppression à distance, ils sont ignorés",
|
||||
"home_page_favorite_err_local": "Impossible d'ajouter des médias locaux aux favoris, ils sont ignorés",
|
||||
"home_page_favorite_err_partner": "Impossible de mettre en favori les médias d'un partenaire, ils sont ignorés",
|
||||
"home_page_first_time_notice": "Si c'est la première fois que vous utilisez l'application, veillez à choisir un ou plusieurs albums de sauvegarde afin que la chronologie puisse alimenter les photos et les vidéos de cet ou ces albums",
|
||||
"home_page_share_err_local": "Impossible de partager par lien les médias locaux, ils sont ignorés",
|
||||
"home_page_upload_err_limit": "Impossible de téléverser plus de 30 médias en même temps, demande ignorée",
|
||||
"host": "Hôte",
|
||||
"hour": "Heure",
|
||||
"id": "ID",
|
||||
"ignore_icloud_photos": "Ignorer les photos iCloud",
|
||||
"ignore_icloud_photos_description": "Les photos stockées sur iCloud ne sont pas enregistrées sur Immich",
|
||||
"ignore_icloud_photos_description": "Les photos stockées sur iCloud ne sont pas téléversées sur le serveur Immich",
|
||||
"image": "Image",
|
||||
"image_alt_text_date": "{isVideo, select, true {Video} other {Image}} prise le {date}",
|
||||
"image_alt_text_date_1_person": "{isVideo, select, true {Video} other {Image}} prise avec {person1} le {date}",
|
||||
@@ -1123,8 +1131,8 @@
|
||||
"loading_search_results_failed": "Chargement des résultats échoué",
|
||||
"local_network": "Réseau local",
|
||||
"local_network_sheet_info": "L'application va se connecter au serveur via cette URL quand l'appareil est connecté à ce réseau Wi-Fi",
|
||||
"location_permission": "Autorisation de localisation ",
|
||||
"location_permission_content": "Afin de pouvoir changer d'adresse automatiquement, Immich doit avoir accès à la localisation précise, afin d'accéder au le nom du réseau Wi-Fi utilisé",
|
||||
"location_permission": "Autorisation de localisation",
|
||||
"location_permission_content": "Afin de pouvoir changer d'adresse automatiquement, Immich doit avoir accès à la localisation précise, afin d'accéder au nom du réseau wifi utilisé",
|
||||
"location_picker_choose_on_map": "Sélectionner sur la carte",
|
||||
"location_picker_latitude_error": "Saisir une latitude correcte",
|
||||
"location_picker_latitude_hint": "Saisir la latitude ici",
|
||||
@@ -1135,8 +1143,8 @@
|
||||
"logged_out_all_devices": "Déconnecté de tous les appareils",
|
||||
"logged_out_device": "Déconnecté de l'appareil",
|
||||
"login": "Connexion",
|
||||
"login_disabled": "La connexion a été désactivée ",
|
||||
"login_form_api_exception": "Erreur de l'API. Veuillez vérifier l'URL du serveur et et réessayer.",
|
||||
"login_disabled": "La connexion a été désactivée",
|
||||
"login_form_api_exception": "Erreur de l'API. Veuillez vérifier l'URL du serveur et réessayer.",
|
||||
"login_form_back_button_text": "Retour",
|
||||
"login_form_email_hint": "votrecourriel@email.com",
|
||||
"login_form_endpoint_hint": "http://adresse-ip-serveur:port",
|
||||
@@ -1174,30 +1182,33 @@
|
||||
"manage_your_devices": "Gérer vos appareils",
|
||||
"manage_your_oauth_connection": "Gérer votre connexion OAuth",
|
||||
"map": "Carte",
|
||||
"map_assets_in_bound": "{} photo",
|
||||
"map_assets_in_bounds": "{} photos",
|
||||
"map_assets_in_bound": "{count} photo",
|
||||
"map_assets_in_bounds": "{count} photos",
|
||||
"map_cannot_get_user_location": "Impossible d'obtenir la localisation de l'utilisateur",
|
||||
"map_location_dialog_yes": "Oui",
|
||||
"map_location_picker_page_use_location": "Utiliser ma position",
|
||||
"map_location_service_disabled_content": "Le service de localisation doit être activé pour afficher les éléments de votre emplacement actuel. Souhaitez-vous l'activer maintenant?",
|
||||
"map_location_service_disabled_content": "Le service de localisation doit être activé pour afficher les médias de votre emplacement actuel. Souhaitez-vous l'activer maintenant ?",
|
||||
"map_location_service_disabled_title": "Service de localisation désactivé",
|
||||
"map_marker_for_images": "Marqueur de carte pour les images prises à {city}, {country}",
|
||||
"map_marker_with_image": "Marqueur de carte avec image",
|
||||
"map_no_assets_in_bounds": "Pas de photos dans cette zone",
|
||||
"map_no_location_permission_content": "L'autorisation de localisation est nécessaire pour afficher les éléments de votre emplacement actuel. Souhaitez-vous l'autoriser maintenant?",
|
||||
"map_no_location_permission_content": "L'autorisation de localisation est nécessaire pour afficher les médias de votre emplacement actuel. Souhaitez-vous l'autoriser maintenant ?",
|
||||
"map_no_location_permission_title": "Permission de localisation refusée",
|
||||
"map_settings": "Paramètres de la carte",
|
||||
"map_settings_dark_mode": "Mode sombre",
|
||||
"map_settings_date_range_option_day": "Dernières 24 heures",
|
||||
"map_settings_date_range_option_days": "{} derniers jours",
|
||||
"map_settings_date_range_option_days": "{days} derniers jours",
|
||||
"map_settings_date_range_option_year": "Année passée",
|
||||
"map_settings_date_range_option_years": "{} dernières années",
|
||||
"map_settings_date_range_option_years": "{years} dernières années",
|
||||
"map_settings_dialog_title": "Paramètres de la carte",
|
||||
"map_settings_include_show_archived": "Inclure les archives",
|
||||
"map_settings_include_show_partners": "Inclure les partenaires",
|
||||
"map_settings_only_show_favorites": "Afficher uniquement les favoris",
|
||||
"map_settings_theme_settings": "Thème de la carte",
|
||||
"map_zoom_to_see_photos": "Dézoomer pour voir les photos",
|
||||
"mark_all_as_read": "Tout marquer comme lu",
|
||||
"mark_as_read": "Marquer comme lu",
|
||||
"marked_all_as_read": "Tout a été marqué comme lu",
|
||||
"matches": "Correspondances",
|
||||
"media_type": "Type de média",
|
||||
"memories": "Souvenirs",
|
||||
@@ -1207,7 +1218,7 @@
|
||||
"memories_start_over": "Recommencer",
|
||||
"memories_swipe_to_close": "Balayez vers le haut pour fermer",
|
||||
"memories_year_ago": "Il y a un an",
|
||||
"memories_years_ago": "Il y a {} ans",
|
||||
"memories_years_ago": "Il y a {years, plural, other {# ans}}",
|
||||
"memory": "Souvenir",
|
||||
"memory_lane_title": "Fil de souvenirs {title}",
|
||||
"menu": "Menu",
|
||||
@@ -1224,20 +1235,23 @@
|
||||
"month": "Mois",
|
||||
"monthly_title_text_date_format": "MMMM y",
|
||||
"more": "Plus",
|
||||
"moved_to_archive": "{count, plural, one {# élément déplacé} other {# éléments déplacés}} vers les archives",
|
||||
"moved_to_library": "{count, plural, one {# élément déplacé} other {# éléments déplacés}} vers la bibliothèque",
|
||||
"moved_to_trash": "Déplacé dans la corbeille",
|
||||
"multiselect_grid_edit_date_time_err_read_only": "Impossible de modifier la date d'un élément d'actif en lecture seule.",
|
||||
"multiselect_grid_edit_gps_err_read_only": "Impossible de modifier l'emplacement d'un élément en lecture seule.",
|
||||
"multiselect_grid_edit_date_time_err_read_only": "Impossible de modifier la date de médias en lecture seule, ils sont ignorés",
|
||||
"multiselect_grid_edit_gps_err_read_only": "Impossible de modifier l'emplacement de médias en lecture seule, ils sont ignorés",
|
||||
"mute_memories": "Mettre en sourdine les souvenirs",
|
||||
"my_albums": "Mes albums",
|
||||
"name": "Nom",
|
||||
"name_or_nickname": "Nom ou surnom",
|
||||
"networking_settings": "Réseau ",
|
||||
"networking_settings": "Réseau",
|
||||
"networking_subtitle": "Gérer les adresses du serveur",
|
||||
"never": "Jamais",
|
||||
"new_album": "Nouvel Album",
|
||||
"new_api_key": "Nouvelle clé API",
|
||||
"new_password": "Nouveau mot de passe",
|
||||
"new_person": "Nouvelle personne",
|
||||
"new_pin_code": "Nouveau code PIN",
|
||||
"new_user_created": "Nouvel utilisateur créé",
|
||||
"new_version_available": "NOUVELLE VERSION DISPONIBLE",
|
||||
"newest_first": "Récents en premier",
|
||||
@@ -1248,21 +1262,23 @@
|
||||
"no_albums_with_name_yet": "Il semble que vous n'ayez pas encore d'albums avec ce nom.",
|
||||
"no_albums_yet": "Il semble que vous n'ayez pas encore d'album.",
|
||||
"no_archived_assets_message": "Archiver des photos et vidéos pour les masquer dans votre bibliothèque",
|
||||
"no_assets_message": "CLIQUER ICI POUR ENVOYER VOTRE PREMIÈRE PHOTO",
|
||||
"no_assets_message": "CLIQUER ICI POUR TÉLÉVERSER VOTRE PREMIÈRE PHOTO",
|
||||
"no_assets_to_show": "Aucun élément à afficher",
|
||||
"no_duplicates_found": "Aucun doublon n'a été trouvé.",
|
||||
"no_exif_info_available": "Aucune information exif disponible",
|
||||
"no_explore_results_message": "Envoyez plus de photos pour explorer votre collection.",
|
||||
"no_explore_results_message": "Téléversez plus de photos pour explorer votre collection.",
|
||||
"no_favorites_message": "Ajouter des photos et vidéos à vos favoris pour les retrouver plus rapidement",
|
||||
"no_libraries_message": "Créer une bibliothèque externe pour voir vos photos et vidéos dans un autre espace de stockage",
|
||||
"no_name": "Pas de nom",
|
||||
"no_notifications": "Pas de notification",
|
||||
"no_people_found": "Aucune personne correspondante trouvée",
|
||||
"no_places": "Pas de lieu",
|
||||
"no_results": "Aucun résultat",
|
||||
"no_results_description": "Essayez un synonyme ou un mot-clé plus général",
|
||||
"no_shared_albums_message": "Créer un album pour partager vos photos et vidéos avec les personnes de votre réseau",
|
||||
"not_in_any_album": "Dans aucun album",
|
||||
"not_selected": "Non sélectionné",
|
||||
"note_apply_storage_label_to_previously_uploaded assets": "Note : Pour appliquer l'étiquette de stockage aux médias déjà envoyés, lancer la",
|
||||
"note_apply_storage_label_to_previously_uploaded assets": "Note : Pour appliquer l'étiquette de stockage aux médias déjà téléversés, exécutez",
|
||||
"notes": "Notes",
|
||||
"notification_permission_dialog_content": "Pour activer les notifications, allez dans Paramètres et sélectionnez Autoriser.",
|
||||
"notification_permission_list_tile_content": "Accordez la permission d'activer les notifications.",
|
||||
@@ -1310,7 +1326,7 @@
|
||||
"partner_page_partner_add_failed": "Échec de l'ajout d'un partenaire",
|
||||
"partner_page_select_partner": "Sélectionner un partenaire",
|
||||
"partner_page_shared_to_title": "Partagé avec",
|
||||
"partner_page_stop_sharing_content": "{} ne pourra plus accéder à vos photos.",
|
||||
"partner_page_stop_sharing_content": "{partner} ne pourra plus accéder à vos photos.",
|
||||
"partner_sharing": "Partage avec les partenaires",
|
||||
"partners": "Partenaires",
|
||||
"password": "Mot de passe",
|
||||
@@ -1344,9 +1360,9 @@
|
||||
"permission_onboarding_get_started": "Commencer",
|
||||
"permission_onboarding_go_to_settings": "Accéder aux paramètres",
|
||||
"permission_onboarding_permission_denied": "Permission refusée. Pour utiliser Immich, accordez lautorisation pour les photos et vidéos dans les Paramètres.",
|
||||
"permission_onboarding_permission_granted": "Permission accordée! Vous êtes prêts.",
|
||||
"permission_onboarding_permission_granted": "Permission accordée ! Vous êtes prêts.",
|
||||
"permission_onboarding_permission_limited": "Permission limitée. Pour permettre à Immich de sauvegarder et de gérer l'ensemble de votre bibliothèque, accordez l'autorisation pour les photos et vidéos dans les Paramètres.",
|
||||
"permission_onboarding_request": "Immich demande l'autorisation de visionner vos photos et vidéo",
|
||||
"permission_onboarding_request": "Immich nécessite l'autorisation d'accéder à vos photos et vidéos.",
|
||||
"person": "Personne",
|
||||
"person_birthdate": "Né(e) le {date}",
|
||||
"person_hidden": "{name}{hidden, select, true { (caché)} other {}}",
|
||||
@@ -1356,6 +1372,9 @@
|
||||
"photos_count": "{count, plural, one {{count, number} Photo} other {{count, number} Photos}}",
|
||||
"photos_from_previous_years": "Photos des années précédentes",
|
||||
"pick_a_location": "Choisissez un lieu",
|
||||
"pin_code_changed_successfully": "Code PIN changé avec succès",
|
||||
"pin_code_reset_successfully": "Réinitialisation du code PIN réussie",
|
||||
"pin_code_setup_successfully": "Définition du code PIN réussie",
|
||||
"place": "Lieu",
|
||||
"places": "Lieux",
|
||||
"places_count": "{count, plural, one {{count, number} Lieu} other {{count, number} Lieux}}",
|
||||
@@ -1373,6 +1392,7 @@
|
||||
"previous_or_next_photo": "Photo précédente ou suivante",
|
||||
"primary": "Primaire",
|
||||
"privacy": "Vie privée",
|
||||
"profile": "Profile",
|
||||
"profile_drawer_app_logs": "Journaux",
|
||||
"profile_drawer_client_out_of_date_major": "L'application mobile est obsolète. Veuillez effectuer la mise à jour vers la dernière version majeure.",
|
||||
"profile_drawer_client_out_of_date_minor": "L'application mobile est obsolète. Veuillez effectuer la mise à jour vers la dernière version mineure.",
|
||||
@@ -1386,7 +1406,7 @@
|
||||
"public_share": "Partage public",
|
||||
"purchase_account_info": "Contributeur",
|
||||
"purchase_activated_subtitle": "Merci d'avoir apporté votre soutien à Immich et aux logiciels open source",
|
||||
"purchase_activated_time": "Activé le {date, date}",
|
||||
"purchase_activated_time": "Activé le {date}",
|
||||
"purchase_activated_title": "Votre clé a été activée avec succès",
|
||||
"purchase_button_activate": "Activer",
|
||||
"purchase_button_buy": "Acheter",
|
||||
@@ -1431,6 +1451,8 @@
|
||||
"recent_searches": "Recherches récentes",
|
||||
"recently_added": "Récemment ajouté",
|
||||
"recently_added_page_title": "Récemment ajouté",
|
||||
"recently_taken": "Récemment photographié",
|
||||
"recently_taken_page_title": "Récemment photographié",
|
||||
"refresh": "Actualiser",
|
||||
"refresh_encoded_videos": "Actualiser les vidéos encodées",
|
||||
"refresh_faces": "Actualiser les visages",
|
||||
@@ -1465,7 +1487,7 @@
|
||||
"rename": "Renommer",
|
||||
"repair": "Réparer",
|
||||
"repair_no_results_message": "Les fichiers non importés ou absents s'afficheront ici",
|
||||
"replace_with_upload": "Remplacer par téléchargement",
|
||||
"replace_with_upload": "Remplacer par téléversement",
|
||||
"repository": "Dépôt",
|
||||
"require_password": "Demander le mot de passe",
|
||||
"require_user_to_change_password_on_first_login": "Demander à l'utilisateur de changer son mot de passe lors de sa première connexion",
|
||||
@@ -1473,6 +1495,7 @@
|
||||
"reset": "Réinitialiser",
|
||||
"reset_password": "Réinitialiser le mot de passe",
|
||||
"reset_people_visibility": "Réinitialiser la visibilité des personnes",
|
||||
"reset_pin_code": "Réinitialiser le code PIN",
|
||||
"reset_to_default": "Rétablir les valeurs par défaut",
|
||||
"resolve_duplicates": "Résoudre les doublons",
|
||||
"resolved_all_duplicates": "Résolution de tous les doublons",
|
||||
@@ -1481,7 +1504,7 @@
|
||||
"restore_user": "Restaurer l'utilisateur",
|
||||
"restored_asset": "Média restauré",
|
||||
"resume": "Reprendre",
|
||||
"retry_upload": "Réessayer l'envoi",
|
||||
"retry_upload": "Réessayer le téléversement",
|
||||
"review_duplicates": "Consulter les doublons",
|
||||
"role": "Rôle",
|
||||
"role_editor": "Éditeur",
|
||||
@@ -1523,7 +1546,7 @@
|
||||
"search_filter_people_title": "Sélectionner une personne",
|
||||
"search_for": "Chercher",
|
||||
"search_for_existing_person": "Rechercher une personne existante",
|
||||
"search_no_more_result": "\nPlus de résultats",
|
||||
"search_no_more_result": "Plus de résultats",
|
||||
"search_no_people": "Aucune personne",
|
||||
"search_no_people_named": "Aucune personne nommée « {name} »",
|
||||
"search_no_result": "Aucun résultat trouvé, essayez un autre terme de recherche ou une autre combinaison",
|
||||
@@ -1534,7 +1557,7 @@
|
||||
"search_page_no_places": "Aucune information disponible sur la localisation",
|
||||
"search_page_screenshots": "Captures d'écran",
|
||||
"search_page_search_photos_videos": "Rechercher dans vos photos et vidéos",
|
||||
"search_page_selfies": "Selfies",
|
||||
"search_page_selfies": "Autoportraits (Selfies)",
|
||||
"search_page_things": "Objets",
|
||||
"search_page_view_all_button": "Voir tout",
|
||||
"search_page_your_activity": "Votre activité",
|
||||
@@ -1545,7 +1568,7 @@
|
||||
"search_result_page_new_search_hint": "Nouvelle recherche",
|
||||
"search_settings": "Paramètres de recherche",
|
||||
"search_state": "Rechercher par état/région...",
|
||||
"search_suggestion_list_smart_search_hint_1": "La recherche intelligente est activée par défaut. Pour rechercher des métadonnées, utilisez la syntaxe suivante",
|
||||
"search_suggestion_list_smart_search_hint_1": "La recherche intelligente est activée par défaut. Pour rechercher des métadonnées, utilisez la syntaxe suivante ",
|
||||
"search_suggestion_list_smart_search_hint_2": "m:votre-terme-de-recherche",
|
||||
"search_tags": "Recherche d'étiquettes...",
|
||||
"search_timezone": "Rechercher par fuseau horaire...",
|
||||
@@ -1565,6 +1588,7 @@
|
||||
"select_keep_all": "Choisir de tout garder",
|
||||
"select_library_owner": "Sélectionner le propriétaire de la bibliothèque",
|
||||
"select_new_face": "Sélectionner un nouveau visage",
|
||||
"select_person_to_tag": "Sélectionner une personne à identifier",
|
||||
"select_photos": "Sélectionner les photos",
|
||||
"select_trash_all": "Choisir de tout supprimer",
|
||||
"select_user_for_sharing_page_err_album": "Échec de la création de l'album",
|
||||
@@ -1587,7 +1611,7 @@
|
||||
"set_profile_picture": "Définir la photo de profil",
|
||||
"set_slideshow_to_fullscreen": "Afficher le diaporama en plein écran",
|
||||
"setting_image_viewer_help": "Le visualiseur de détails charge d'abord la petite miniature, puis l'aperçu de taille moyenne (s'il est activé), enfin l'original (s'il est activé).",
|
||||
"setting_image_viewer_original_subtitle": "Activez cette option pour charger l'image en résolution originale (volumineux!). Désactiver pour réduire l'utilisation des données (réseau et cache de l'appareil).",
|
||||
"setting_image_viewer_original_subtitle": "Activez cette option pour charger l'image en résolution originale (fichier volumineux !). Désactiver pour réduire l'utilisation des données (réseau et cache de l'appareil).",
|
||||
"setting_image_viewer_original_title": "Charger l'image originale",
|
||||
"setting_image_viewer_preview_subtitle": "Activer pour charger une image de résolution moyenne. Désactiver pour charger directement l'original ou utiliser uniquement la miniature.",
|
||||
"setting_image_viewer_preview_title": "Charger l'image d'aperçu",
|
||||
@@ -1595,16 +1619,16 @@
|
||||
"setting_languages_apply": "Appliquer",
|
||||
"setting_languages_subtitle": "Changer la langue de l'application",
|
||||
"setting_languages_title": "Langues",
|
||||
"setting_notifications_notify_failures_grace_period": "Notifier les échecs de sauvegarde en arrière-plan : {}",
|
||||
"setting_notifications_notify_hours": "{} heures",
|
||||
"setting_notifications_notify_failures_grace_period": "Notifier les échecs de la sauvegarde en arrière-plan : {duration}",
|
||||
"setting_notifications_notify_hours": "{count} heures",
|
||||
"setting_notifications_notify_immediately": "immédiatement",
|
||||
"setting_notifications_notify_minutes": "{} minutes",
|
||||
"setting_notifications_notify_minutes": "{count} minutes",
|
||||
"setting_notifications_notify_never": "jamais",
|
||||
"setting_notifications_notify_seconds": "{} secondes",
|
||||
"setting_notifications_single_progress_subtitle": "Informations détaillées sur la progression du transfert par élément",
|
||||
"setting_notifications_notify_seconds": "{count} secondes",
|
||||
"setting_notifications_single_progress_subtitle": "Informations détaillées sur la progression du téléversement par média",
|
||||
"setting_notifications_single_progress_title": "Afficher la progression du détail de la sauvegarde en arrière-plan",
|
||||
"setting_notifications_subtitle": "Ajustez vos préférences de notification",
|
||||
"setting_notifications_total_progress_subtitle": "Progression globale du transfert (effectué/total des éléments)",
|
||||
"setting_notifications_total_progress_subtitle": "Progression globale du téléversement (effectué/total des médias)",
|
||||
"setting_notifications_total_progress_title": "Afficher la progression totale de la sauvegarde en arrière-plan",
|
||||
"setting_video_viewer_looping_title": "Boucle",
|
||||
"setting_video_viewer_original_video_subtitle": "Lors de la diffusion d'une vidéo depuis le serveur, lisez l'original même si un transcodage est disponible. Cela peut entraîner de la mise en mémoire tampon. Les vidéos disponibles localement sont lues en qualité d'origine, quel que soit ce paramètre.",
|
||||
@@ -1612,13 +1636,14 @@
|
||||
"settings": "Paramètres",
|
||||
"settings_require_restart": "Veuillez redémarrer Immich pour appliquer ce paramètre",
|
||||
"settings_saved": "Paramètres sauvegardés",
|
||||
"setup_pin_code": "Définir un code PIN",
|
||||
"share": "Partager",
|
||||
"share_add_photos": "Ajouter des photos",
|
||||
"share_assets_selected": "{} sélectionné(s)",
|
||||
"share_assets_selected": "{count} sélectionné(s)",
|
||||
"share_dialog_preparing": "Préparation...",
|
||||
"shared": "Partagé",
|
||||
"shared_album_activities_input_disable": "Les commentaires sont désactivés",
|
||||
"shared_album_activity_remove_content": "Souhaitez-vous supprimer cette activité?",
|
||||
"shared_album_activity_remove_content": "Souhaitez-vous supprimer cette activité ?",
|
||||
"shared_album_activity_remove_title": "Supprimer l'activité",
|
||||
"shared_album_section_people_action_error": "Erreur lors de la suppression",
|
||||
"shared_album_section_people_action_leave": "Supprimer l'utilisateur de l'album",
|
||||
@@ -1628,32 +1653,32 @@
|
||||
"shared_by_user": "Partagé par {user}",
|
||||
"shared_by_you": "Partagé par vous",
|
||||
"shared_from_partner": "Photos de {partner}",
|
||||
"shared_intent_upload_button_progress_text": "{} / {} Envoyés",
|
||||
"shared_intent_upload_button_progress_text": "{current} / {total} Téléversé(s)",
|
||||
"shared_link_app_bar_title": "Liens partagés",
|
||||
"shared_link_clipboard_copied_massage": "Copié dans le presse-papier\n",
|
||||
"shared_link_clipboard_text": "Lien : {}\nMot de passe : {}",
|
||||
"shared_link_clipboard_copied_massage": "Copié dans le presse-papier",
|
||||
"shared_link_clipboard_text": "Lien : {link}\nMot de passe : {password}",
|
||||
"shared_link_create_error": "Erreur pendant la création du lien partagé",
|
||||
"shared_link_edit_description_hint": "Saisir la description du partage",
|
||||
"shared_link_edit_expire_after_option_day": "1 jour",
|
||||
"shared_link_edit_expire_after_option_days": "{} jours",
|
||||
"shared_link_edit_expire_after_option_days": "{count} jours",
|
||||
"shared_link_edit_expire_after_option_hour": "1 heure",
|
||||
"shared_link_edit_expire_after_option_hours": "{} heures",
|
||||
"shared_link_edit_expire_after_option_hours": "{count} heures",
|
||||
"shared_link_edit_expire_after_option_minute": "1 minute",
|
||||
"shared_link_edit_expire_after_option_minutes": "{} minutes",
|
||||
"shared_link_edit_expire_after_option_months": "{} mois",
|
||||
"shared_link_edit_expire_after_option_year": "{} années",
|
||||
"shared_link_edit_expire_after_option_minutes": "{count} minutes",
|
||||
"shared_link_edit_expire_after_option_months": "{count} mois",
|
||||
"shared_link_edit_expire_after_option_year": "{count} an",
|
||||
"shared_link_edit_password_hint": "Saisir le mot de passe de partage",
|
||||
"shared_link_edit_submit_button": "Mettre à jour le lien",
|
||||
"shared_link_error_server_url_fetch": "Impossible de récupérer l'url du serveur",
|
||||
"shared_link_expires_day": "Expire dans {} jour",
|
||||
"shared_link_expires_days": "Expire dans {} jours",
|
||||
"shared_link_expires_hour": "Expire dans {} heure",
|
||||
"shared_link_expires_hours": "Expire dans {} heures",
|
||||
"shared_link_expires_minute": "Expire dans {} minute",
|
||||
"shared_link_expires_minutes": "Expire dans {} minutes",
|
||||
"shared_link_expires_day": "Expire dans {count} jour",
|
||||
"shared_link_expires_days": "Expire dans {count} jours",
|
||||
"shared_link_expires_hour": "Expire dans {count} heure",
|
||||
"shared_link_expires_hours": "Expire dans {count} heures",
|
||||
"shared_link_expires_minute": "Expire dans {count} minute",
|
||||
"shared_link_expires_minutes": "Expire dans {count} minutes",
|
||||
"shared_link_expires_never": "Expire ∞",
|
||||
"shared_link_expires_second": "Expire dans {} seconde",
|
||||
"shared_link_expires_seconds": "Expire dans {} secondes",
|
||||
"shared_link_expires_second": "Expire dans {count} seconde",
|
||||
"shared_link_expires_seconds": "Expire dans {count} secondes",
|
||||
"shared_link_individual_shared": "Partagé individuellement",
|
||||
"shared_link_info_chip_metadata": "EXIF",
|
||||
"shared_link_manage_links": "Gérer les liens partagés",
|
||||
@@ -1728,6 +1753,7 @@
|
||||
"stop_sharing_photos_with_user": "Arrêter de partager vos photos avec cet utilisateur",
|
||||
"storage": "Stockage",
|
||||
"storage_label": "Étiquette de stockage",
|
||||
"storage_quota": "Quota de stockage",
|
||||
"storage_usage": "{used} sur {available} utilisé",
|
||||
"submit": "Soumettre",
|
||||
"suggestions": "Suggestions",
|
||||
@@ -1738,8 +1764,8 @@
|
||||
"swap_merge_direction": "Inverser la direction de fusion",
|
||||
"sync": "Synchroniser",
|
||||
"sync_albums": "Synchroniser dans des albums",
|
||||
"sync_albums_manual_subtitle": "Synchroniser toutes les vidéos et photos sauvegardées dans les albums sélectionnés",
|
||||
"sync_upload_album_setting_subtitle": "Créer et sauvegarde vos photos et vidéos dans les albums sélectionnés sur Immich",
|
||||
"sync_albums_manual_subtitle": "Synchroniser toutes les vidéos et photos téléversées dans les albums sélectionnés",
|
||||
"sync_upload_album_setting_subtitle": "Crée et téléverse vos photos et vidéos dans les albums sélectionnés sur Immich",
|
||||
"tag": "Étiquette",
|
||||
"tag_assets": "Étiqueter les médias",
|
||||
"tag_created": "Étiquette créée : {tag}",
|
||||
@@ -1754,7 +1780,7 @@
|
||||
"theme_selection": "Sélection du thème",
|
||||
"theme_selection_description": "Ajuster automatiquement le thème clair ou sombre via les préférences système",
|
||||
"theme_setting_asset_list_storage_indicator_title": "Afficher l'indicateur de stockage sur les tuiles des éléments",
|
||||
"theme_setting_asset_list_tiles_per_row_title": "Nombre d'éléments par ligne ({})",
|
||||
"theme_setting_asset_list_tiles_per_row_title": "Nombre de médias par ligne ({count})",
|
||||
"theme_setting_colorful_interface_subtitle": "Appliquer la couleur principale sur les surfaces d'arrière-plan.",
|
||||
"theme_setting_colorful_interface_title": "Interface colorée",
|
||||
"theme_setting_image_viewer_quality_subtitle": "Ajustez la qualité de la visionneuse d'images détaillées",
|
||||
@@ -1764,7 +1790,7 @@
|
||||
"theme_setting_system_primary_color_title": "Utiliser la couleur du système",
|
||||
"theme_setting_system_theme_switch": "Automatique (suivre les paramètres du système)",
|
||||
"theme_setting_theme_subtitle": "Choisissez le thème de l'application",
|
||||
"theme_setting_three_stage_loading_subtitle": "Le chargement en trois étapes peut améliorer les performances de chargement, mais entraîne une augmentation significative de la charge du réseau.",
|
||||
"theme_setting_three_stage_loading_subtitle": "Le chargement en trois étapes peut améliorer les performances de chargement, mais entraîne une augmentation significative de la charge du réseau",
|
||||
"theme_setting_three_stage_loading_title": "Activer le chargement en trois étapes",
|
||||
"they_will_be_merged_together": "Elles seront fusionnées ensemble",
|
||||
"third_party_resources": "Ressources tierces",
|
||||
@@ -1788,14 +1814,16 @@
|
||||
"trash_emptied": "Corbeille vidée",
|
||||
"trash_no_results_message": "Les photos et vidéos supprimées s'afficheront ici.",
|
||||
"trash_page_delete_all": "Tout supprimer",
|
||||
"trash_page_empty_trash_dialog_content": "Voulez-vous vider les éléments de la corbeille? Ces objets seront définitivement retirés d'Immich",
|
||||
"trash_page_info": "Les éléments mis à la corbeille seront définitivement supprimés au bout de {} jours.",
|
||||
"trash_page_empty_trash_dialog_content": "Voulez-vous vider les médias de la corbeille ? Ces objets seront définitivement retirés d'Immich",
|
||||
"trash_page_info": "Les médias mis à la corbeille seront définitivement supprimés au bout de {days} jours",
|
||||
"trash_page_no_assets": "Aucun élément dans la corbeille",
|
||||
"trash_page_restore_all": "Tout restaurer",
|
||||
"trash_page_select_assets_btn": "Sélectionner les éléments",
|
||||
"trash_page_title": "Corbeille ({})",
|
||||
"trash_page_title": "Corbeille ({count})",
|
||||
"trashed_items_will_be_permanently_deleted_after": "Les éléments dans la corbeille seront supprimés définitivement après {days, plural, one {# jour} other {# jours}}.",
|
||||
"type": "Type",
|
||||
"unable_to_change_pin_code": "Impossible de changer le code PIN",
|
||||
"unable_to_setup_pin_code": "Impossible de définir le code PIN",
|
||||
"unarchive": "Désarchiver",
|
||||
"unarchived_count": "{count, plural, one {# supprimé} other {# supprimés}} de l'archive",
|
||||
"unfavorite": "Enlever des favoris",
|
||||
@@ -1817,29 +1845,33 @@
|
||||
"unstack": "Désempiler",
|
||||
"unstacked_assets_count": "{count, plural, one {# média dépilé} other {# médias dépilés}}",
|
||||
"untracked_files": "Fichiers non suivis",
|
||||
"untracked_files_decription": "Ces fichiers ne sont pas suivis par l'application. Ils peuvent être le résultat de déplacements échoués, d'envois interrompus ou laissés pour compte à cause d'un bug",
|
||||
"untracked_files_decription": "Ces fichiers ne sont pas suivis par l'application. Ils peuvent être le résultat de déplacements échoués, de téléversements interrompus ou abandonnés pour cause de bug",
|
||||
"up_next": "Suite",
|
||||
"updated_at": "Mis à jour à",
|
||||
"updated_password": "Mot de passe mis à jour",
|
||||
"upload": "Envoyer",
|
||||
"upload_concurrency": "Envois simultanés",
|
||||
"upload_dialog_info": "Voulez-vous sauvegarder la sélection vers le serveur?",
|
||||
"upload_dialog_title": "Télécharger cet élément ",
|
||||
"upload_errors": "L'envoi s'est achevé avec {count, plural, one {# erreur} other {# erreurs}}. Rafraîchir la page pour voir les nouveaux médias envoyés.",
|
||||
"upload": "Téléverser",
|
||||
"upload_concurrency": "Téléversements simultanés",
|
||||
"upload_dialog_info": "Voulez-vous sauvegarder la sélection vers le serveur ?",
|
||||
"upload_dialog_title": "Téléverser le média",
|
||||
"upload_errors": "Le téléversement s'est achevé avec {count, plural, one {# erreur} other {# erreurs}}. Rafraîchir la page pour voir les nouveaux médias téléversés.",
|
||||
"upload_progress": "{remaining, number} restant(s) - {processed, number} traité(s)/{total, number}",
|
||||
"upload_skipped_duplicates": "{count, plural, one {# doublon ignoré} other {# doublons ignorés}}",
|
||||
"upload_status_duplicates": "Doublons",
|
||||
"upload_status_errors": "Erreurs",
|
||||
"upload_status_uploaded": "Envoyé",
|
||||
"upload_success": "Envoi réussi. Rafraîchir la page pour voir les nouveaux médias envoyés.",
|
||||
"upload_to_immich": "Envoyer vers Immich ({})",
|
||||
"upload_status_uploaded": "Téléversé",
|
||||
"upload_success": "Téléversement réussi. Rafraîchir la page pour voir les nouveaux médias téléversés.",
|
||||
"upload_to_immich": "Téléverser vers Immich ({count})",
|
||||
"uploading": "Téléversement en cours",
|
||||
"url": "URL",
|
||||
"usage": "Utilisation",
|
||||
"use_current_connection": "Utiliser le réseau actuel ",
|
||||
"use_current_connection": "Utiliser le réseau actuel",
|
||||
"use_custom_date_range": "Utilisez une plage de date personnalisée à la place",
|
||||
"user": "Utilisateur",
|
||||
"user_has_been_deleted": "Cet utilisateur à été supprimé.",
|
||||
"user_id": "ID Utilisateur",
|
||||
"user_liked": "{user} a aimé {type, select, photo {cette photo} video {cette vidéo} asset {ce média} other {ceci}}",
|
||||
"user_pin_code_settings": "Code PIN",
|
||||
"user_pin_code_settings_description": "Gérer votre code PIN",
|
||||
"user_purchase_settings": "Achat",
|
||||
"user_purchase_settings_description": "Gérer votre achat",
|
||||
"user_role_set": "Définir {user} comme {role}",
|
||||
@@ -1888,11 +1920,11 @@
|
||||
"week": "Semaine",
|
||||
"welcome": "Bienvenue",
|
||||
"welcome_to_immich": "Bienvenue sur Immich",
|
||||
"wifi_name": "Nom du réseau ",
|
||||
"wifi_name": "Nom du réseau wifi",
|
||||
"year": "Année",
|
||||
"years_ago": "Il y a {years, plural, one {# an} other {# ans}}",
|
||||
"yes": "Oui",
|
||||
"you_dont_have_any_shared_links": "Vous n'avez aucun lien partagé",
|
||||
"your_wifi_name": "Nom du réseau Wi-Fi ",
|
||||
"your_wifi_name": "Nom du réseau wifi",
|
||||
"zoom_image": "Zoomer"
|
||||
}
|
||||
|
||||
161
i18n/gl.json
161
i18n/gl.json
@@ -192,20 +192,13 @@
|
||||
"oauth_auto_register": "Rexistro automático",
|
||||
"oauth_auto_register_description": "Rexistrar automaticamente novos usuarios despois de iniciar sesión con OAuth",
|
||||
"oauth_button_text": "Texto do botón",
|
||||
"oauth_client_id": "ID de cliente",
|
||||
"oauth_client_secret": "Segredo do cliente",
|
||||
"oauth_enable_description": "Iniciar sesión con OAuth",
|
||||
"oauth_issuer_url": "URL do emisor",
|
||||
"oauth_mobile_redirect_uri": "URI de redirección móbil",
|
||||
"oauth_mobile_redirect_uri_override": "Substitución de URI de redirección móbil",
|
||||
"oauth_mobile_redirect_uri_override_description": "Activar cando o provedor OAuth non permite un URI móbil, como '{callback}'",
|
||||
"oauth_profile_signing_algorithm": "Algoritmo de sinatura do perfil",
|
||||
"oauth_profile_signing_algorithm_description": "Algoritmo usado para asinar o perfil do usuario.",
|
||||
"oauth_scope": "Ámbito",
|
||||
"oauth_settings": "OAuth",
|
||||
"oauth_settings_description": "Xestionar a configuración de inicio de sesión OAuth",
|
||||
"oauth_settings_more_details": "Para máis detalles sobre esta función, consulte a <link>documentación</link>.",
|
||||
"oauth_signing_algorithm": "Algoritmo de sinatura",
|
||||
"oauth_storage_label_claim": "Declaración de etiqueta de almacenamento",
|
||||
"oauth_storage_label_claim_description": "Establecer automaticamente a etiqueta de almacenamento do usuario ao valor desta declaración.",
|
||||
"oauth_storage_quota_claim": "Declaración de cota de almacenamento",
|
||||
@@ -373,7 +366,7 @@
|
||||
"advanced": "Avanzado",
|
||||
"advanced_settings_enable_alternate_media_filter_subtitle": "Usa esta opción para filtrar medios durante a sincronización baseándose en criterios alternativos. Só proba isto se tes problemas coa aplicación detectando todos os álbums.",
|
||||
"advanced_settings_enable_alternate_media_filter_title": "[EXPERIMENTAL] Usar filtro alternativo de sincronización de álbums do dispositivo",
|
||||
"advanced_settings_log_level_title": "Nivel de rexistro: {}",
|
||||
"advanced_settings_log_level_title": "Nivel de rexistro: {level}",
|
||||
"advanced_settings_prefer_remote_subtitle": "Algúns dispositivos son extremadamente lentos para cargar miniaturas de activos no dispositivo. Active esta configuración para cargar imaxes remotas no seu lugar.",
|
||||
"advanced_settings_prefer_remote_title": "Preferir imaxes remotas",
|
||||
"advanced_settings_proxy_headers_subtitle": "Definir cabeceiras de proxy que Immich debería enviar con cada solicitude de rede",
|
||||
@@ -404,9 +397,9 @@
|
||||
"album_remove_user_confirmation": "Estás seguro de que queres eliminar a {user}?",
|
||||
"album_share_no_users": "Parece que compartiches este álbum con todos os usuarios ou non tes ningún usuario co que compartir.",
|
||||
"album_thumbnail_card_item": "1 elemento",
|
||||
"album_thumbnail_card_items": "{} elementos",
|
||||
"album_thumbnail_card_items": "{count} elementos",
|
||||
"album_thumbnail_card_shared": " · Compartido",
|
||||
"album_thumbnail_shared_by": "Compartido por {}",
|
||||
"album_thumbnail_shared_by": "Compartido por {user}",
|
||||
"album_updated": "Álbum actualizado",
|
||||
"album_updated_setting_description": "Recibir unha notificación por correo electrónico cando un álbum compartido teña novos activos",
|
||||
"album_user_left": "Saíu de {album}",
|
||||
@@ -444,7 +437,7 @@
|
||||
"archive": "Arquivo",
|
||||
"archive_or_unarchive_photo": "Arquivar ou desarquivar foto",
|
||||
"archive_page_no_archived_assets": "Non se atoparon activos arquivados",
|
||||
"archive_page_title": "Arquivo ({})",
|
||||
"archive_page_title": "Arquivo ({count})",
|
||||
"archive_size": "Tamaño do arquivo",
|
||||
"archive_size_description": "Configurar o tamaño do arquivo para descargas (en GiB)",
|
||||
"archived": "Arquivado",
|
||||
@@ -481,27 +474,27 @@
|
||||
"assets_added_to_album_count": "Engadido {count, plural, one {# activo} other {# activos}} ao álbum",
|
||||
"assets_added_to_name_count": "Engadido {count, plural, one {# activo} other {# activos}} a {hasName, select, true {<b>{name}</b>} other {novo álbum}}",
|
||||
"assets_count": "{count, plural, one {# activo} other {# activos}}",
|
||||
"assets_deleted_permanently": "{} activo(s) eliminado(s) permanentemente",
|
||||
"assets_deleted_permanently_from_server": "{} activo(s) eliminado(s) permanentemente do servidor Immich",
|
||||
"assets_deleted_permanently": "{count} activo(s) eliminado(s) permanentemente",
|
||||
"assets_deleted_permanently_from_server": "{count} activo(s) eliminado(s) permanentemente do servidor Immich",
|
||||
"assets_moved_to_trash_count": "Movido {count, plural, one {# activo} other {# activos}} ao lixo",
|
||||
"assets_permanently_deleted_count": "Eliminados permanentemente {count, plural, one {# activo} other {# activos}}",
|
||||
"assets_removed_count": "Eliminados {count, plural, one {# activo} other {# activos}}",
|
||||
"assets_removed_permanently_from_device": "{} activo(s) eliminado(s) permanentemente do teu dispositivo",
|
||||
"assets_removed_permanently_from_device": "{count} activo(s) eliminado(s) permanentemente do teu dispositivo",
|
||||
"assets_restore_confirmation": "Estás seguro de que queres restaurar todos os seus activos no lixo? Non podes desfacer esta acción! Ten en conta que calquera activo fóra de liña non pode ser restaurado desta maneira.",
|
||||
"assets_restored_count": "Restaurados {count, plural, one {# activo} other {# activos}}",
|
||||
"assets_restored_successfully": "{} activo(s) restaurado(s) correctamente",
|
||||
"assets_trashed": "{} activo(s) movido(s) ao lixo",
|
||||
"assets_restored_successfully": "{count} activo(s) restaurado(s) correctamente",
|
||||
"assets_trashed": "{count} activo(s) movido(s) ao lixo",
|
||||
"assets_trashed_count": "Movido {count, plural, one {# activo} other {# activos}} ao lixo",
|
||||
"assets_trashed_from_server": "{} activo(s) movido(s) ao lixo desde o servidor Immich",
|
||||
"assets_trashed_from_server": "{count} activo(s) movido(s) ao lixo desde o servidor Immich",
|
||||
"assets_were_part_of_album_count": "{count, plural, one {O activo xa era} other {Os activos xa eran}} parte do álbum",
|
||||
"authorized_devices": "Dispositivos Autorizados",
|
||||
"automatic_endpoint_switching_subtitle": "Conectar localmente a través de Wi-Fi designada cando estea dispoñible e usar conexións alternativas noutros lugares",
|
||||
"automatic_endpoint_switching_subtitle": "Conectar localmente a través da wifi designada cando estea dispoñible e usar conexións alternativas noutros lugares",
|
||||
"automatic_endpoint_switching_title": "Cambio automático de URL",
|
||||
"back": "Atrás",
|
||||
"back_close_deselect": "Atrás, pechar ou deseleccionar",
|
||||
"background_location_permission": "Permiso de ubicación en segundo plano",
|
||||
"background_location_permission_content": "Para cambiar de rede cando se executa en segundo plano, Immich debe ter *sempre* acceso á ubicación precisa para que a aplicación poida ler o nome da rede Wi-Fi",
|
||||
"backup_album_selection_page_albums_device": "Álbums no dispositivo ({})",
|
||||
"background_location_permission_content": "Para cambiar de rede cando se executa en segundo plano, Immich debe ter *sempre* acceso á ubicación precisa para que a aplicación poida ler o nome da rede wifi",
|
||||
"backup_album_selection_page_albums_device": "Álbums no dispositivo ({count})",
|
||||
"backup_album_selection_page_albums_tap": "Tocar para incluír, dobre toque para excluír",
|
||||
"backup_album_selection_page_assets_scatter": "Os activos poden dispersarse por varios álbums. Polo tanto, os álbums poden incluírse ou excluírse durante o proceso de copia de seguridade.",
|
||||
"backup_album_selection_page_select_albums": "Seleccionar álbums",
|
||||
@@ -510,11 +503,11 @@
|
||||
"backup_all": "Todo",
|
||||
"backup_background_service_backup_failed_message": "Erro ao facer copia de seguridade dos activos. Reintentando…",
|
||||
"backup_background_service_connection_failed_message": "Erro ao conectar co servidor. Reintentando…",
|
||||
"backup_background_service_current_upload_notification": "Subindo {}",
|
||||
"backup_background_service_current_upload_notification": "Subindo {filename}",
|
||||
"backup_background_service_default_notification": "Comprobando novos activos…",
|
||||
"backup_background_service_error_title": "Erro na copia de seguridade",
|
||||
"backup_background_service_in_progress_notification": "Facendo copia de seguridade dos teus activos…",
|
||||
"backup_background_service_upload_failure_notification": "Erro ao subir {}",
|
||||
"backup_background_service_upload_failure_notification": "Erro ao subir {filename}",
|
||||
"backup_controller_page_albums": "Álbums da Copia de Seguridade",
|
||||
"backup_controller_page_background_app_refresh_disabled_content": "Active a actualización de aplicacións en segundo plano en Axustes > Xeral > Actualización en segundo plano para usar a copia de seguridade en segundo plano.",
|
||||
"backup_controller_page_background_app_refresh_disabled_title": "Actualización de aplicacións en segundo plano desactivada",
|
||||
@@ -525,22 +518,22 @@
|
||||
"backup_controller_page_background_battery_info_title": "Optimizacións da batería",
|
||||
"backup_controller_page_background_charging": "Só mentres se carga",
|
||||
"backup_controller_page_background_configure_error": "Erro ao configurar o servizo en segundo plano",
|
||||
"backup_controller_page_background_delay": "Atrasar copia de seguridade de novos activos: {}",
|
||||
"backup_controller_page_background_delay": "Atrasar copia de seguridade de novos activos: {duration}",
|
||||
"backup_controller_page_background_description": "Active o servizo en segundo plano para facer copia de seguridade automaticamente de calquera activo novo sen necesidade de abrir a aplicación",
|
||||
"backup_controller_page_background_is_off": "A copia de seguridade automática en segundo plano está desactivada",
|
||||
"backup_controller_page_background_is_on": "A copia de seguridade automática en segundo plano está activada",
|
||||
"backup_controller_page_background_turn_off": "Desactivar servizo en segundo plano",
|
||||
"backup_controller_page_background_turn_on": "Activar servizo en segundo plano",
|
||||
"backup_controller_page_background_wifi": "Só con WiFi",
|
||||
"backup_controller_page_background_wifi": "Só con wifi",
|
||||
"backup_controller_page_backup": "Copia de Seguridade",
|
||||
"backup_controller_page_backup_selected": "Seleccionado: ",
|
||||
"backup_controller_page_backup_sub": "Fotos e vídeos con copia de seguridade",
|
||||
"backup_controller_page_created": "Creado o: {}",
|
||||
"backup_controller_page_created": "Creado o: {date}",
|
||||
"backup_controller_page_desc_backup": "Active a copia de seguridade en primeiro plano para cargar automaticamente novos activos ao servidor ao abrir a aplicación.",
|
||||
"backup_controller_page_excluded": "Excluído: ",
|
||||
"backup_controller_page_failed": "Fallado ({})",
|
||||
"backup_controller_page_filename": "Nome do ficheiro: {} [{}]",
|
||||
"backup_controller_page_id": "ID: {}",
|
||||
"backup_controller_page_failed": "Fallado ({count})",
|
||||
"backup_controller_page_filename": "Nome do ficheiro: {filename} [{size}]",
|
||||
"backup_controller_page_id": "ID: {id}",
|
||||
"backup_controller_page_info": "Información da Copia de Seguridade",
|
||||
"backup_controller_page_none_selected": "Ningún seleccionado",
|
||||
"backup_controller_page_remainder": "Restante",
|
||||
@@ -549,7 +542,7 @@
|
||||
"backup_controller_page_start_backup": "Iniciar Copia de Seguridade",
|
||||
"backup_controller_page_status_off": "A copia de seguridade automática en primeiro plano está desactivada",
|
||||
"backup_controller_page_status_on": "A copia de seguridade automática en primeiro plano está activada",
|
||||
"backup_controller_page_storage_format": "{} de {} usado",
|
||||
"backup_controller_page_storage_format": "{used} de {total} usado",
|
||||
"backup_controller_page_to_backup": "Álbums para facer copia de seguridade",
|
||||
"backup_controller_page_total_sub": "Todas as fotos e vídeos únicos dos álbums seleccionados",
|
||||
"backup_controller_page_turn_off": "Desactivar copia de seguridade en primeiro plano",
|
||||
@@ -574,21 +567,21 @@
|
||||
"bulk_keep_duplicates_confirmation": "Estás seguro de que queres conservar {count, plural, one {# activo duplicado} other {# activos duplicados}}? Isto resolverá todos os grupos duplicados sen eliminar nada.",
|
||||
"bulk_trash_duplicates_confirmation": "Estás seguro de que queres mover masivamente ao lixo {count, plural, one {# activo duplicado} other {# activos duplicados}}? Isto conservará o activo máis grande de cada grupo e moverá ao lixo todos os demais duplicados.",
|
||||
"buy": "Comprar Immich",
|
||||
"cache_settings_album_thumbnails": "Miniaturas da páxina da biblioteca ({} activos)",
|
||||
"cache_settings_album_thumbnails": "Miniaturas da páxina da biblioteca ({count} activos)",
|
||||
"cache_settings_clear_cache_button": "Borrar caché",
|
||||
"cache_settings_clear_cache_button_title": "Borra a caché da aplicación. Isto afectará significativamente o rendemento da aplicación ata que a caché se reconstruíu.",
|
||||
"cache_settings_duplicated_assets_clear_button": "BORRAR",
|
||||
"cache_settings_duplicated_assets_subtitle": "Fotos e vídeos que están na lista negra da aplicación",
|
||||
"cache_settings_duplicated_assets_title": "Activos Duplicados ({})",
|
||||
"cache_settings_image_cache_size": "Tamaño da caché de imaxes ({} activos)",
|
||||
"cache_settings_duplicated_assets_title": "Activos Duplicados ({count})",
|
||||
"cache_settings_image_cache_size": "Tamaño da caché de imaxes ({count} activos)",
|
||||
"cache_settings_statistics_album": "Miniaturas da biblioteca",
|
||||
"cache_settings_statistics_assets": "{} activos ({})",
|
||||
"cache_settings_statistics_assets": "{count} activos ({size})",
|
||||
"cache_settings_statistics_full": "Imaxes completas",
|
||||
"cache_settings_statistics_shared": "Miniaturas de álbums compartidos",
|
||||
"cache_settings_statistics_thumbnail": "Miniaturas",
|
||||
"cache_settings_statistics_title": "Uso da caché",
|
||||
"cache_settings_subtitle": "Controlar o comportamento da caché da aplicación móbil Immich",
|
||||
"cache_settings_thumbnail_size": "Tamaño da caché de miniaturas ({} activos)",
|
||||
"cache_settings_thumbnail_size": "Tamaño da caché de miniaturas ({count} activos)",
|
||||
"cache_settings_tile_subtitle": "Controlar o comportamento do almacenamento local",
|
||||
"cache_settings_tile_title": "Almacenamento Local",
|
||||
"cache_settings_title": "Configuración da Caché",
|
||||
@@ -619,7 +612,7 @@
|
||||
"check_all": "Marcar todo",
|
||||
"check_corrupt_asset_backup": "Comprobar copias de seguridade de activos corruptos",
|
||||
"check_corrupt_asset_backup_button": "Realizar comprobación",
|
||||
"check_corrupt_asset_backup_description": "Execute esta comprobación só a través de Wi-Fi e unha vez que todos os activos teñan copia de seguridade. O procedemento pode tardar uns minutos.",
|
||||
"check_corrupt_asset_backup_description": "Execute esta comprobación só a través da wifi e unha vez que todos os activos teñan copia de seguridade. O procedemento pode tardar uns minutos.",
|
||||
"check_logs": "Comprobar Rexistros",
|
||||
"choose_matching_people_to_merge": "Elixir persoas coincidentes para fusionar",
|
||||
"city": "Cidade",
|
||||
@@ -658,7 +651,7 @@
|
||||
"contain": "Conter",
|
||||
"context": "Contexto",
|
||||
"continue": "Continuar",
|
||||
"control_bottom_app_bar_album_info_shared": "{} elementos · Compartidos",
|
||||
"control_bottom_app_bar_album_info_shared": "{count} elementos · Compartidos",
|
||||
"control_bottom_app_bar_create_new_album": "Crear novo álbum",
|
||||
"control_bottom_app_bar_delete_from_immich": "Eliminar de Immich",
|
||||
"control_bottom_app_bar_delete_from_local": "Eliminar do dispositivo",
|
||||
@@ -767,7 +760,7 @@
|
||||
"download_enqueue": "Descarga en cola",
|
||||
"download_error": "Erro na Descarga",
|
||||
"download_failed": "Descarga fallada",
|
||||
"download_filename": "ficheiro: {}",
|
||||
"download_filename": "ficheiro: {filename}",
|
||||
"download_finished": "Descarga finalizada",
|
||||
"download_include_embedded_motion_videos": "Vídeos incrustados",
|
||||
"download_include_embedded_motion_videos_description": "Incluír vídeos incrustados en fotos en movemento como un ficheiro separado",
|
||||
@@ -818,12 +811,12 @@
|
||||
"enabled": "Activado",
|
||||
"end_date": "Data de fin",
|
||||
"enqueued": "En cola",
|
||||
"enter_wifi_name": "Introducir nome da WiFi",
|
||||
"enter_wifi_name": "Introducir nome da wifi",
|
||||
"error": "Erro",
|
||||
"error_change_sort_album": "Erro ao cambiar a orde de clasificación do álbum",
|
||||
"error_delete_face": "Erro ao eliminar a cara do activo",
|
||||
"error_loading_image": "Erro ao cargar a imaxe",
|
||||
"error_saving_image": "Erro: {}",
|
||||
"error_saving_image": "Erro: {error}",
|
||||
"error_title": "Erro - Algo saíu mal",
|
||||
"errors": {
|
||||
"cannot_navigate_next_asset": "Non se pode navegar ao seguinte activo",
|
||||
@@ -853,10 +846,12 @@
|
||||
"failed_to_keep_this_delete_others": "Erro ao conservar este activo e eliminar os outros activos",
|
||||
"failed_to_load_asset": "Erro ao cargar o activo",
|
||||
"failed_to_load_assets": "Erro ao cargar activos",
|
||||
"failed_to_load_notifications": "Erro ao cargar as notificacións",
|
||||
"failed_to_load_people": "Erro ao cargar persoas",
|
||||
"failed_to_remove_product_key": "Erro ao eliminar a chave do produto",
|
||||
"failed_to_stack_assets": "Erro ao apilar activos",
|
||||
"failed_to_unstack_assets": "Erro ao desapilar activos",
|
||||
"failed_to_update_notification_status": "Erro ao actualizar o estado das notificacións",
|
||||
"import_path_already_exists": "Esta ruta de importación xa existe.",
|
||||
"incorrect_email_or_password": "Correo electrónico ou contrasinal incorrectos",
|
||||
"paths_validation_failed": "{paths, plural, one {# ruta fallou} other {# rutas fallaron}} na validación",
|
||||
@@ -957,10 +952,10 @@
|
||||
"exif_bottom_sheet_location": "UBICACIÓN",
|
||||
"exif_bottom_sheet_people": "PERSOAS",
|
||||
"exif_bottom_sheet_person_add_person": "Engadir nome",
|
||||
"exif_bottom_sheet_person_age": "Idade {}",
|
||||
"exif_bottom_sheet_person_age_months": "Idade {} meses",
|
||||
"exif_bottom_sheet_person_age_year_months": "Idade 1 ano, {} meses",
|
||||
"exif_bottom_sheet_person_age_years": "Idade {}",
|
||||
"exif_bottom_sheet_person_age": "Idade {age}",
|
||||
"exif_bottom_sheet_person_age_months": "Idade {months} meses",
|
||||
"exif_bottom_sheet_person_age_year_months": "Idade 1 ano, {months} meses",
|
||||
"exif_bottom_sheet_person_age_years": "Idade {years}",
|
||||
"exit_slideshow": "Saír da Presentación",
|
||||
"expand_all": "Expandir todo",
|
||||
"experimental_settings_new_asset_list_subtitle": "Traballo en progreso",
|
||||
@@ -978,7 +973,7 @@
|
||||
"external": "Externo",
|
||||
"external_libraries": "Bibliotecas Externas",
|
||||
"external_network": "Rede externa",
|
||||
"external_network_sheet_info": "Cando non estea na rede WiFi preferida, a aplicación conectarase ao servidor a través da primeira das seguintes URLs que poida alcanzar, comezando de arriba a abaixo",
|
||||
"external_network_sheet_info": "Cando non estea na rede wifi preferida, a aplicación conectarase ao servidor a través da primeira das seguintes URLs que poida alcanzar, comezando de arriba a abaixo",
|
||||
"face_unassigned": "Sen asignar",
|
||||
"failed": "Fallado",
|
||||
"failed_to_load_assets": "Erro ao cargar activos",
|
||||
@@ -1006,7 +1001,7 @@
|
||||
"forward": "Adiante",
|
||||
"general": "Xeral",
|
||||
"get_help": "Obter Axuda",
|
||||
"get_wifiname_error": "Non se puido obter o nome da Wi-Fi. Asegúrate de que concedeu os permisos necesarios e está conectado a unha rede Wi-Fi",
|
||||
"get_wifiname_error": "Non se puido obter o nome da wifi. Asegúrate de que concedeu os permisos necesarios e está conectado a unha rede wifi",
|
||||
"getting_started": "Primeiros Pasos",
|
||||
"go_back": "Volver",
|
||||
"go_to_folder": "Ir ao cartafol",
|
||||
@@ -1123,9 +1118,9 @@
|
||||
"loading": "Cargando",
|
||||
"loading_search_results_failed": "Erro ao cargar os resultados da busca",
|
||||
"local_network": "Rede local",
|
||||
"local_network_sheet_info": "A aplicación conectarase ao servidor a través desta URL cando use a rede Wi-Fi especificada",
|
||||
"local_network_sheet_info": "A aplicación conectarase ao servidor a través desta URL cando use a rede wifi especificada",
|
||||
"location_permission": "Permiso de ubicación",
|
||||
"location_permission_content": "Para usar a función de cambio automático, Immich necesita permiso de ubicación precisa para poder ler o nome da rede WiFi actual",
|
||||
"location_permission_content": "Para usar a función de cambio automático, Immich necesita permiso de ubicación precisa para poder ler o nome da rede wifi actual",
|
||||
"location_picker_choose_on_map": "Elixir no mapa",
|
||||
"location_picker_latitude_error": "Introducir unha latitude válida",
|
||||
"location_picker_latitude_hint": "Introduza a túa latitude aquí",
|
||||
@@ -1175,8 +1170,8 @@
|
||||
"manage_your_devices": "Xestionar os teus dispositivos con sesión iniciada",
|
||||
"manage_your_oauth_connection": "Xestionar a túa conexión OAuth",
|
||||
"map": "Mapa",
|
||||
"map_assets_in_bound": "{} foto",
|
||||
"map_assets_in_bounds": "{} fotos",
|
||||
"map_assets_in_bound": "{count} foto",
|
||||
"map_assets_in_bounds": "{count} fotos",
|
||||
"map_cannot_get_user_location": "Non se pode obter a ubicación do usuario",
|
||||
"map_location_dialog_yes": "Si",
|
||||
"map_location_picker_page_use_location": "Usar esta ubicación",
|
||||
@@ -1190,15 +1185,18 @@
|
||||
"map_settings": "Configuración do mapa",
|
||||
"map_settings_dark_mode": "Modo escuro",
|
||||
"map_settings_date_range_option_day": "Últimas 24 horas",
|
||||
"map_settings_date_range_option_days": "Últimos {} días",
|
||||
"map_settings_date_range_option_days": "Últimos {days} días",
|
||||
"map_settings_date_range_option_year": "Último ano",
|
||||
"map_settings_date_range_option_years": "Últimos {} anos",
|
||||
"map_settings_date_range_option_years": "Últimos {years} anos",
|
||||
"map_settings_dialog_title": "Configuración do Mapa",
|
||||
"map_settings_include_show_archived": "Incluír Arquivados",
|
||||
"map_settings_include_show_partners": "Incluír Compañeiros/as",
|
||||
"map_settings_only_show_favorites": "Mostrar Só Favoritos",
|
||||
"map_settings_theme_settings": "Tema do Mapa",
|
||||
"map_zoom_to_see_photos": "Alonxe o zoom para ver fotos",
|
||||
"mark_all_as_read": "Marcar todo como lido",
|
||||
"mark_as_read": "Marcar como lido",
|
||||
"marked_all_as_read": "Marcado todo como lido",
|
||||
"matches": "Coincidencias",
|
||||
"media_type": "Tipo de medio",
|
||||
"memories": "Recordos",
|
||||
@@ -1208,7 +1206,7 @@
|
||||
"memories_start_over": "Comezar de novo",
|
||||
"memories_swipe_to_close": "Deslizar cara arriba para pechar",
|
||||
"memories_year_ago": "Hai un ano",
|
||||
"memories_years_ago": "Hai {} anos",
|
||||
"memories_years_ago": "Hai {years} anos",
|
||||
"memory": "Recordo",
|
||||
"memory_lane_title": "Camiño dos Recordos {title}",
|
||||
"menu": "Menú",
|
||||
@@ -1257,6 +1255,7 @@
|
||||
"no_favorites_message": "Engade favoritos para atopar rapidamente as túas mellores fotos e vídeos",
|
||||
"no_libraries_message": "Crea unha biblioteca externa para ver as túas fotos e vídeos",
|
||||
"no_name": "Sen Nome",
|
||||
"no_notifications": "Sen notificacións",
|
||||
"no_places": "Sen lugares",
|
||||
"no_results": "Sen resultados",
|
||||
"no_results_description": "Proba cun sinónimo ou palabra chave máis xeral",
|
||||
@@ -1311,7 +1310,7 @@
|
||||
"partner_page_partner_add_failed": "Erro ao engadir compañeiro/a",
|
||||
"partner_page_select_partner": "Seleccionar compañeiro/a",
|
||||
"partner_page_shared_to_title": "Compartido con",
|
||||
"partner_page_stop_sharing_content": "{} xa non poderás acceder ás túas fotos.",
|
||||
"partner_page_stop_sharing_content": "{partner} xa non poderá acceder ás túas fotos.",
|
||||
"partner_sharing": "Compartición con Compañeiro/a",
|
||||
"partners": "Compañeiros/as",
|
||||
"password": "Contrasinal",
|
||||
@@ -1387,7 +1386,7 @@
|
||||
"public_share": "Compartir Público",
|
||||
"purchase_account_info": "Seguidor/a",
|
||||
"purchase_activated_subtitle": "Grazas por apoiar Immich e o software de código aberto",
|
||||
"purchase_activated_time": "Activado o {date, date}",
|
||||
"purchase_activated_time": "Activado o {date}",
|
||||
"purchase_activated_title": "A súa chave activouse correctamente",
|
||||
"purchase_button_activate": "Activar",
|
||||
"purchase_button_buy": "Comprar",
|
||||
@@ -1432,6 +1431,8 @@
|
||||
"recent_searches": "Buscas recentes",
|
||||
"recently_added": "Engadido recentemente",
|
||||
"recently_added_page_title": "Engadido Recentemente",
|
||||
"recently_taken": "Recentemente tomado",
|
||||
"recently_taken_page_title": "Recentemente Tomado",
|
||||
"refresh": "Actualizar",
|
||||
"refresh_encoded_videos": "Actualizar vídeos codificados",
|
||||
"refresh_faces": "Actualizar caras",
|
||||
@@ -1596,12 +1597,12 @@
|
||||
"setting_languages_apply": "Aplicar",
|
||||
"setting_languages_subtitle": "Cambiar a lingua da aplicación",
|
||||
"setting_languages_title": "Linguas",
|
||||
"setting_notifications_notify_failures_grace_period": "Notificar fallos da copia de seguridade en segundo plano: {}",
|
||||
"setting_notifications_notify_hours": "{} horas",
|
||||
"setting_notifications_notify_failures_grace_period": "Notificar fallos da copia de seguridade en segundo plano: {duration}",
|
||||
"setting_notifications_notify_hours": "{count} horas",
|
||||
"setting_notifications_notify_immediately": "inmediatamente",
|
||||
"setting_notifications_notify_minutes": "{} minutos",
|
||||
"setting_notifications_notify_minutes": "{count} minutos",
|
||||
"setting_notifications_notify_never": "nunca",
|
||||
"setting_notifications_notify_seconds": "{} segundos",
|
||||
"setting_notifications_notify_seconds": "{count} segundos",
|
||||
"setting_notifications_single_progress_subtitle": "Información detallada do progreso da carga por activo",
|
||||
"setting_notifications_single_progress_title": "Mostrar progreso detallado da copia de seguridade en segundo plano",
|
||||
"setting_notifications_subtitle": "Axustar as túas preferencias de notificación",
|
||||
@@ -1615,7 +1616,7 @@
|
||||
"settings_saved": "Configuración gardada",
|
||||
"share": "Compartir",
|
||||
"share_add_photos": "Engadir fotos",
|
||||
"share_assets_selected": "{} seleccionados",
|
||||
"share_assets_selected": "{count} seleccionados",
|
||||
"share_dialog_preparing": "Preparando...",
|
||||
"shared": "Compartido",
|
||||
"shared_album_activities_input_disable": "O comentario está desactivado",
|
||||
@@ -1629,32 +1630,32 @@
|
||||
"shared_by_user": "Compartido por {user}",
|
||||
"shared_by_you": "Compartido por ti",
|
||||
"shared_from_partner": "Fotos de {partner}",
|
||||
"shared_intent_upload_button_progress_text": "{} / {} Subidos",
|
||||
"shared_intent_upload_button_progress_text": "{current} / {total} Subidos",
|
||||
"shared_link_app_bar_title": "Ligazóns Compartidas",
|
||||
"shared_link_clipboard_copied_massage": "Copiado ao portapapeis",
|
||||
"shared_link_clipboard_text": "Ligazón: {}\nContrasinal: {}",
|
||||
"shared_link_clipboard_text": "Ligazón: {link}\nContrasinal: {password}",
|
||||
"shared_link_create_error": "Erro ao crear ligazón compartida",
|
||||
"shared_link_edit_description_hint": "Introduza a descrición da compartición",
|
||||
"shared_link_edit_expire_after_option_day": "1 día",
|
||||
"shared_link_edit_expire_after_option_days": "{} días",
|
||||
"shared_link_edit_expire_after_option_days": "{count} días",
|
||||
"shared_link_edit_expire_after_option_hour": "1 hora",
|
||||
"shared_link_edit_expire_after_option_hours": "{} horas",
|
||||
"shared_link_edit_expire_after_option_hours": "{count} horas",
|
||||
"shared_link_edit_expire_after_option_minute": "1 minuto",
|
||||
"shared_link_edit_expire_after_option_minutes": "{} minutos",
|
||||
"shared_link_edit_expire_after_option_months": "{} meses",
|
||||
"shared_link_edit_expire_after_option_year": "{} ano",
|
||||
"shared_link_edit_expire_after_option_minutes": "{count} minutos",
|
||||
"shared_link_edit_expire_after_option_months": "{count} meses",
|
||||
"shared_link_edit_expire_after_option_year": "{count} ano",
|
||||
"shared_link_edit_password_hint": "Introduza o contrasinal da compartición",
|
||||
"shared_link_edit_submit_button": "Actualizar ligazón",
|
||||
"shared_link_error_server_url_fetch": "Non se pode obter a url do servidor",
|
||||
"shared_link_expires_day": "Caduca en {} día",
|
||||
"shared_link_expires_days": "Caduca en {} días",
|
||||
"shared_link_expires_hour": "Caduca en {} hora",
|
||||
"shared_link_expires_hours": "Caduca en {} horas",
|
||||
"shared_link_expires_minute": "Caduca en {} minuto",
|
||||
"shared_link_expires_minutes": "Caduca en {} minutos",
|
||||
"shared_link_expires_day": "Caduca en {count} día",
|
||||
"shared_link_expires_days": "Caduca en {count} días",
|
||||
"shared_link_expires_hour": "Caduca en {count} hora",
|
||||
"shared_link_expires_hours": "Caduca en {count} horas",
|
||||
"shared_link_expires_minute": "Caduca en {count} minuto",
|
||||
"shared_link_expires_minutes": "Caduca en {count} minutos",
|
||||
"shared_link_expires_never": "Caduca ∞",
|
||||
"shared_link_expires_second": "Caduca en {} segundo",
|
||||
"shared_link_expires_seconds": "Caduca en {} segundos",
|
||||
"shared_link_expires_second": "Caduca en {count} segundo",
|
||||
"shared_link_expires_seconds": "Caduca en {count} segundos",
|
||||
"shared_link_individual_shared": "Compartido individualmente",
|
||||
"shared_link_info_chip_metadata": "EXIF",
|
||||
"shared_link_manage_links": "Xestionar ligazóns Compartidas",
|
||||
@@ -1755,7 +1756,7 @@
|
||||
"theme_selection": "Selección de tema",
|
||||
"theme_selection_description": "Establecer automaticamente o tema a claro ou escuro baseándose na preferencia do sistema do teu navegador",
|
||||
"theme_setting_asset_list_storage_indicator_title": "Mostrar indicador de almacenamento nas tellas de activos",
|
||||
"theme_setting_asset_list_tiles_per_row_title": "Número de activos por fila ({})",
|
||||
"theme_setting_asset_list_tiles_per_row_title": "Número de activos por fila ({count})",
|
||||
"theme_setting_colorful_interface_subtitle": "Aplicar cor primaria ás superficies de fondo.",
|
||||
"theme_setting_colorful_interface_title": "Interface colorida",
|
||||
"theme_setting_image_viewer_quality_subtitle": "Axustar a calidade do visor de imaxes de detalle",
|
||||
@@ -1790,11 +1791,11 @@
|
||||
"trash_no_results_message": "As fotos e vídeos movidos ao lixo aparecerán aquí.",
|
||||
"trash_page_delete_all": "Eliminar Todo",
|
||||
"trash_page_empty_trash_dialog_content": "Queres baleirar os teus activos no lixo? Estes elementos eliminaranse permanentemente de Immich",
|
||||
"trash_page_info": "Os elementos no lixo eliminaranse permanentemente despois de {} días",
|
||||
"trash_page_info": "Os elementos no lixo eliminaranse permanentemente despois de {days} días",
|
||||
"trash_page_no_assets": "Non hai activos no lixo",
|
||||
"trash_page_restore_all": "Restaurar Todo",
|
||||
"trash_page_select_assets_btn": "Seleccionar activos",
|
||||
"trash_page_title": "Lixo ({})",
|
||||
"trash_page_title": "Lixo ({count})",
|
||||
"trashed_items_will_be_permanently_deleted_after": "Os elementos no lixo eliminaranse permanentemente despois de {days, plural, one {# día} other {# días}}.",
|
||||
"type": "Tipo",
|
||||
"unarchive": "Desarquivar",
|
||||
@@ -1832,7 +1833,7 @@
|
||||
"upload_status_errors": "Erros",
|
||||
"upload_status_uploaded": "Subido",
|
||||
"upload_success": "Subida exitosa, actualice a páxina para ver os novos activos subidos.",
|
||||
"upload_to_immich": "Subir a Immich ({})",
|
||||
"upload_to_immich": "Subir a Immich ({count})",
|
||||
"uploading": "Subindo",
|
||||
"url": "URL",
|
||||
"usage": "Uso",
|
||||
@@ -1889,11 +1890,11 @@
|
||||
"week": "Semana",
|
||||
"welcome": "Benvido/a",
|
||||
"welcome_to_immich": "Benvido/a a Immich",
|
||||
"wifi_name": "Nome da WiFi",
|
||||
"wifi_name": "Nome da wifi",
|
||||
"year": "Ano",
|
||||
"years_ago": "Hai {years, plural, one {# ano} other {# anos}}",
|
||||
"yes": "Si",
|
||||
"you_dont_have_any_shared_links": "Non tes ningunha ligazón compartida",
|
||||
"your_wifi_name": "O nome da túa WiFi",
|
||||
"your_wifi_name": "O nome da túa wifi",
|
||||
"zoom_image": "Ampliar Imaxe"
|
||||
}
|
||||
|
||||
47
i18n/he.json
47
i18n/he.json
@@ -53,6 +53,7 @@
|
||||
"confirm_email_below": "כדי לאשר, יש להקליד \"{email}\" למטה",
|
||||
"confirm_reprocess_all_faces": "האם באמת ברצונך לעבד מחדש את כל הפנים? זה גם ינקה אנשים בעלי שם.",
|
||||
"confirm_user_password_reset": "האם באמת ברצונך לאפס את הסיסמה של המשתמש {user}?",
|
||||
"confirm_user_pin_code_reset": "האם אתה בטוח שברצונך לאפס את קוד ה PIN של {user}?",
|
||||
"create_job": "צור עבודה",
|
||||
"cron_expression": "ביטוי cron",
|
||||
"cron_expression_description": "הגדר את מרווח הסריקה באמצעות תבנית ה- cron. למידע נוסף נא לפנות למשל אל <link>Crontab Guru</link>",
|
||||
@@ -192,26 +193,22 @@
|
||||
"oauth_auto_register": "רישום אוטומטי",
|
||||
"oauth_auto_register_description": "רשום אוטומטית משתמשים חדשים לאחר כניסה עם OAuth",
|
||||
"oauth_button_text": "טקסט לחצן",
|
||||
"oauth_client_id": "מזהה לקוח",
|
||||
"oauth_client_secret": "סוד לקוח",
|
||||
"oauth_client_secret_description": "נדרש כאשר ספק ה־OAuth אינו תומך ב־PKCE (מפתח הוכחה להחלפת קוד)",
|
||||
"oauth_enable_description": "התחבר עם OAuth",
|
||||
"oauth_issuer_url": "כתובת אתר המנפיק",
|
||||
"oauth_mobile_redirect_uri": "URI להפניה מחדש בנייד",
|
||||
"oauth_mobile_redirect_uri_override": "עקיפת URI להפניה מחדש בנייד",
|
||||
"oauth_mobile_redirect_uri_override_description": "אפשר כאשר ספק OAuth לא מאפשר כתובת URI לנייד, כמו '{callback}'",
|
||||
"oauth_profile_signing_algorithm": "אלגוריתם חתימת פרופיל",
|
||||
"oauth_profile_signing_algorithm_description": "אלגוריתם המשמש לחתימה על פרופיל המשתמש.",
|
||||
"oauth_scope": "רמת הרשאה",
|
||||
"oauth_settings": "OAuth",
|
||||
"oauth_settings_description": "ניהול הגדרות התחברות עם OAuth",
|
||||
"oauth_settings_more_details": "למידע נוסף אודות תכונה זו, בדוק את ה<link>תיעוד</link>.",
|
||||
"oauth_signing_algorithm": "אלגוריתם חתימה",
|
||||
"oauth_storage_label_claim": "דרישת תווית אחסון",
|
||||
"oauth_storage_label_claim_description": "הגדר אוטומטית את תווית האחסון של המשתמש לערך של דרישה זו.",
|
||||
"oauth_storage_quota_claim": "דרישת מכסת אחסון",
|
||||
"oauth_storage_quota_claim_description": "הגדר אוטומטית את מכסת האחסון של המשתמש לערך של דרישה זו.",
|
||||
"oauth_storage_quota_default": "מכסת אחסון ברירת מחדל (GiB)",
|
||||
"oauth_storage_quota_default_description": "מכסה ב-GiB לשימוש כאשר לא מסופקת דרישה (הזן 0 עבור מכסה בלתי מוגבלת).",
|
||||
"oauth_timeout": "הבקשה נכשלה – הזמן הקצוב הסתיים",
|
||||
"oauth_timeout_description": "זמן קצוב לבקשות (במילישניות)",
|
||||
"offline_paths": "נתיבים לא מקוונים",
|
||||
"offline_paths_description": "תוצאות אלו עשויות להיות עקב מחיקה ידנית של קבצים שאינם חלק מספרייה חיצונית.",
|
||||
"password_enable_description": "התחבר עם דוא\"ל וסיסמה",
|
||||
@@ -614,6 +611,7 @@
|
||||
"change_password_form_new_password": "סיסמה חדשה",
|
||||
"change_password_form_password_mismatch": "סיסמאות לא תואמות",
|
||||
"change_password_form_reenter_new_password": "הכנס שוב סיסמה חדשה",
|
||||
"change_pin_code": "שנה קוד PIN",
|
||||
"change_your_password": "החלף את הסיסמה שלך",
|
||||
"changed_visibility_successfully": "הנראות שונתה בהצלחה",
|
||||
"check_all": "לסמן הכל",
|
||||
@@ -654,6 +652,7 @@
|
||||
"confirm_delete_face": "האם באמת ברצונך למחוק את הפנים של {name} מהתמונה?",
|
||||
"confirm_delete_shared_link": "האם באמת ברצונך למחוק את הקישור המשותף הזה?",
|
||||
"confirm_keep_this_delete_others": "כל שאר תמונות שבערימה יימחקו למעט תמונה זאת. האם באמת ברצונך להמשיך?",
|
||||
"confirm_new_pin_code": "אשר קוד PIN חדש",
|
||||
"confirm_password": "אשר סיסמה",
|
||||
"contain": "מכיל",
|
||||
"context": "הקשר",
|
||||
@@ -699,6 +698,7 @@
|
||||
"crop": "חתוך",
|
||||
"curated_object_page_title": "דברים",
|
||||
"current_device": "מכשיר נוכחי",
|
||||
"current_pin_code": "קוד PIN הנוכחי",
|
||||
"current_server_address": "כתובת שרת נוכחית",
|
||||
"custom_locale": "אזור שפה מותאם אישית",
|
||||
"custom_locale_description": "עצב תאריכים ומספרים על סמך השפה והאזור",
|
||||
@@ -853,10 +853,12 @@
|
||||
"failed_to_keep_this_delete_others": "הפעולה נכשלה לא ניתן היה לשמור את התמונה הזו ולמחוק את שאר התמונות",
|
||||
"failed_to_load_asset": "טעינת התמונה נכשלה",
|
||||
"failed_to_load_assets": "טעינת התמונות נכשלה",
|
||||
"failed_to_load_notifications": "אירעה שגיאה בעת טעינת ההתראות",
|
||||
"failed_to_load_people": "נכשל באחזור אנשים",
|
||||
"failed_to_remove_product_key": "הסרת מפתח מוצר נכשלה",
|
||||
"failed_to_stack_assets": "יצירת ערימת תמונות נכשלה",
|
||||
"failed_to_unstack_assets": "ביטול ערימת תמונות נכשלה",
|
||||
"failed_to_update_notification_status": "שגיאה בעדכון ההתראה",
|
||||
"import_path_already_exists": "נתיב הייבוא הזה כבר קיים.",
|
||||
"incorrect_email_or_password": "דוא\"ל או סיסמה שגויים",
|
||||
"paths_validation_failed": "{paths, plural, one {נתיב # נכשל} other {# נתיבים נכשלו}} אימות",
|
||||
@@ -924,6 +926,7 @@
|
||||
"unable_to_remove_reaction": "לא ניתן להסיר תגובה",
|
||||
"unable_to_repair_items": "לא ניתן לתקן פריטים",
|
||||
"unable_to_reset_password": "לא ניתן לאפס סיסמה",
|
||||
"unable_to_reset_pin_code": "לא ניתן לאפס קוד PIN",
|
||||
"unable_to_resolve_duplicate": "לא ניתן לפתור כפילות",
|
||||
"unable_to_restore_assets": "לא ניתן לשחזר תמונות",
|
||||
"unable_to_restore_trash": "לא ניתן לשחזר אשפה",
|
||||
@@ -1177,7 +1180,7 @@
|
||||
"map": "מפה",
|
||||
"map_assets_in_bound": "תמונה {}",
|
||||
"map_assets_in_bounds": "{} תמונות",
|
||||
"map_cannot_get_user_location": "לא ניתן לקבל את מיקום המשתמש",
|
||||
"map_cannot_get_user_location": "לא ניתן לקבוע את מיקום המשתמש",
|
||||
"map_location_dialog_yes": "כן",
|
||||
"map_location_picker_page_use_location": "השתמש במיקום הזה",
|
||||
"map_location_service_disabled_content": "שירות המיקום צריך להיות מופעל כדי להציג תמונות מהמיקום הנוכחי שלך. האם ברצונך להפעיל אותו עכשיו?",
|
||||
@@ -1199,6 +1202,9 @@
|
||||
"map_settings_only_show_favorites": "הצג מועדפים בלבד",
|
||||
"map_settings_theme_settings": "ערכת נושא למפה",
|
||||
"map_zoom_to_see_photos": "הקטן את התצוגה כדי לראות תמונות",
|
||||
"mark_all_as_read": "סמן הכל כנקרא",
|
||||
"mark_as_read": "סמן כנקרא",
|
||||
"marked_all_as_read": "כל ההתראות סומנו כנקראו",
|
||||
"matches": "התאמות",
|
||||
"media_type": "סוג מדיה",
|
||||
"memories": "זכרונות",
|
||||
@@ -1239,6 +1245,7 @@
|
||||
"new_api_key": "מפתח API חדש",
|
||||
"new_password": "סיסמה חדשה",
|
||||
"new_person": "אדם חדש",
|
||||
"new_pin_code": "קוד PIN חדש",
|
||||
"new_user_created": "משתמש חדש נוצר",
|
||||
"new_version_available": "גרסה חדשה זמינה",
|
||||
"newest_first": "החדש ביותר ראשון",
|
||||
@@ -1257,6 +1264,8 @@
|
||||
"no_favorites_message": "הוסף מועדפים כדי למצוא במהירות את התמונות והסרטונים הכי טובים שלך",
|
||||
"no_libraries_message": "צור ספרייה חיצונית כדי לראות את התמונות והסרטונים שלך",
|
||||
"no_name": "אין שם",
|
||||
"no_notifications": "אין התראות",
|
||||
"no_people_found": "לא נמצאו אנשים תואמים",
|
||||
"no_places": "אין מקומות",
|
||||
"no_results": "אין תוצאות",
|
||||
"no_results_description": "נסה להשתמש במילה נרדפת או במילת מפתח יותר כללית",
|
||||
@@ -1357,6 +1366,9 @@
|
||||
"photos_count": "{count, plural, one {תמונה {count, number}} other {{count, number} תמונות}}",
|
||||
"photos_from_previous_years": "תמונות משנים קודמות",
|
||||
"pick_a_location": "בחר מיקום",
|
||||
"pin_code_changed_successfully": "קוד ה PIN שונה בהצלחה",
|
||||
"pin_code_reset_successfully": "קוד PIN אופס בהצלחה",
|
||||
"pin_code_setup_successfully": "קוד PIN הוגדר בהצלחה",
|
||||
"place": "מקום",
|
||||
"places": "מקומות",
|
||||
"places_count": "{count, plural, one {מקום {count, number}} other {{count, number} מקומות}}",
|
||||
@@ -1377,7 +1389,7 @@
|
||||
"profile_drawer_app_logs": "יומן",
|
||||
"profile_drawer_client_out_of_date_major": "גרסת היישום לנייד מיושנת. נא לעדכן לגרסה הראשית האחרונה.",
|
||||
"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_server_out_of_date_major": "השרת אינו מעודכן. נא לעדכן לגרסה הראשית האחרונה.",
|
||||
"profile_drawer_server_out_of_date_minor": "השרת אינו מעודכן. נא לעדכן לגרסה המשנית האחרונה.",
|
||||
@@ -1432,6 +1444,8 @@
|
||||
"recent_searches": "חיפושים אחרונים",
|
||||
"recently_added": "נוסף לאחרונה",
|
||||
"recently_added_page_title": "נוסף לאחרונה",
|
||||
"recently_taken": "צולם לאחרונה",
|
||||
"recently_taken_page_title": "צולם לאחרונה",
|
||||
"refresh": "רענן",
|
||||
"refresh_encoded_videos": "רענן סרטונים מקודדים",
|
||||
"refresh_faces": "רענן פנים",
|
||||
@@ -1474,6 +1488,7 @@
|
||||
"reset": "איפוס",
|
||||
"reset_password": "איפוס סיסמה",
|
||||
"reset_people_visibility": "אפס את נראות האנשים",
|
||||
"reset_pin_code": "אפס קוד PIN",
|
||||
"reset_to_default": "אפס לברירת מחדל",
|
||||
"resolve_duplicates": "פתור כפילויות",
|
||||
"resolved_all_duplicates": "כל הכפילויות נפתרו",
|
||||
@@ -1566,6 +1581,7 @@
|
||||
"select_keep_all": "בחר שמור הכל",
|
||||
"select_library_owner": "בחר את הבעלים של הספרייה",
|
||||
"select_new_face": "בחר פנים חדשות",
|
||||
"select_person_to_tag": "בחר אדם לתיוג",
|
||||
"select_photos": "בחר תמונות",
|
||||
"select_trash_all": "בחר העבר הכל לאשפה",
|
||||
"select_user_for_sharing_page_err_album": "יצירת אלבום נכשלה",
|
||||
@@ -1576,8 +1592,8 @@
|
||||
"server_endpoint": "נקודת קצה שרת",
|
||||
"server_info_box_app_version": "גרסת יישום",
|
||||
"server_info_box_server_url": "כתובת שרת",
|
||||
"server_offline": "שרת לא מקוון",
|
||||
"server_online": "שרת מקוון",
|
||||
"server_offline": "השרת מנותק",
|
||||
"server_online": "החיבור לשרת פעיל",
|
||||
"server_stats": "סטטיסטיקות שרת",
|
||||
"server_version": "גרסת שרת",
|
||||
"set": "הגדר",
|
||||
@@ -1613,6 +1629,7 @@
|
||||
"settings": "הגדרות",
|
||||
"settings_require_restart": "אנא הפעל מחדש את היישום כדי להחיל הגדרה זו",
|
||||
"settings_saved": "ההגדרות נשמרו",
|
||||
"setup_pin_code": "הגדר קוד PIN",
|
||||
"share": "שתף",
|
||||
"share_add_photos": "הוסף תמונות",
|
||||
"share_assets_selected": "{} נבחרו",
|
||||
@@ -1712,7 +1729,7 @@
|
||||
"sort_people_by_similarity": "מיין אנשים לפי דמיון",
|
||||
"sort_recent": "תמונה אחרונה ביותר",
|
||||
"sort_title": "כותרת",
|
||||
"source": "מקור",
|
||||
"source": "קוד מקור",
|
||||
"stack": "ערימה",
|
||||
"stack_duplicates": "צור ערימת כפילויות",
|
||||
"stack_select_one_photo": "בחר תמונה ראשית אחת עבור הערימה",
|
||||
@@ -1754,7 +1771,7 @@
|
||||
"theme": "ערכת נושא",
|
||||
"theme_selection": "בחירת ערכת נושא",
|
||||
"theme_selection_description": "הגדר אוטומטית את ערכת הנושא לבהיר או כהה בהתבסס על העדפת המערכת של הדפדפן שלך",
|
||||
"theme_setting_asset_list_storage_indicator_title": "הצג סטטוס אחסון על גבי התמונות",
|
||||
"theme_setting_asset_list_storage_indicator_title": "הצג סטטוס גיבוי על גבי התמונות",
|
||||
"theme_setting_asset_list_tiles_per_row_title": "מספר תמונות בכל שורה ({})",
|
||||
"theme_setting_colorful_interface_subtitle": "החל את הצבע העיקרי למשטחי רקע.",
|
||||
"theme_setting_colorful_interface_title": "ממשק צבעוני",
|
||||
@@ -1797,6 +1814,8 @@
|
||||
"trash_page_title": "אשפה ({})",
|
||||
"trashed_items_will_be_permanently_deleted_after": "פריטים באשפה ימחקו לצמיתות לאחר {days, plural, one {יום #} other {# ימים}}.",
|
||||
"type": "סוג",
|
||||
"unable_to_change_pin_code": "לא ניתן לשנות את קוד ה PIN",
|
||||
"unable_to_setup_pin_code": "לא ניתן להגדיר קוד PIN",
|
||||
"unarchive": "הוצא מארכיון",
|
||||
"unarchived_count": "{count, plural, other {# הוצאו מהארכיון}}",
|
||||
"unfavorite": "לא מועדף",
|
||||
@@ -1841,6 +1860,8 @@
|
||||
"user": "משתמש",
|
||||
"user_id": "מזהה משתמש",
|
||||
"user_liked": "{user} אהב את {type, select, photo {התמונה הזאת} video {הסרטון הזה} asset {התמונה הזאת} other {זה}}",
|
||||
"user_pin_code_settings": "קוד PIN",
|
||||
"user_pin_code_settings_description": "נהל את קוד ה PIN שלך",
|
||||
"user_purchase_settings": "רכישה",
|
||||
"user_purchase_settings_description": "ניהול הרכישה שלך",
|
||||
"user_role_set": "הגדר את {user} בתור {role}",
|
||||
|
||||
@@ -171,20 +171,13 @@
|
||||
"oauth_auto_register": "ऑटो रजिस्टर",
|
||||
"oauth_auto_register_description": "OAuth के साथ साइन इन करने के बाद स्वचालित रूप से नए उपयोगकर्ताओं को पंजीकृत करें",
|
||||
"oauth_button_text": "टेक्स्ट बटन",
|
||||
"oauth_client_id": "ग्राहक ID",
|
||||
"oauth_client_secret": "ग्राहक गुप्त",
|
||||
"oauth_enable_description": "OAuth से लॉगिन करें",
|
||||
"oauth_issuer_url": "जारीकर्ता URL",
|
||||
"oauth_mobile_redirect_uri": "मोबाइल रीडायरेक्ट यूआरआई",
|
||||
"oauth_mobile_redirect_uri_override": "मोबाइल रीडायरेक्ट यूआरआई ओवरराइड",
|
||||
"oauth_mobile_redirect_uri_override_description": "सक्षम करें जब 'app.immitch:/' एक अमान्य रीडायरेक्ट यूआरआई हो।",
|
||||
"oauth_profile_signing_algorithm": "प्रोफ़ाइल हस्ताक्षर एल्गोरिथ्म",
|
||||
"oauth_profile_signing_algorithm_description": "उपयोगकर्ता प्रोफ़ाइल पर हस्ताक्षर करने के लिए एल्गोरिदम का उपयोग किया जाता है।",
|
||||
"oauth_scope": "स्कोप",
|
||||
"oauth_settings": "ओऑथ",
|
||||
"oauth_settings_description": "OAuth लॉगिन सेटिंग प्रबंधित करें",
|
||||
"oauth_settings_more_details": "इस सुविधा के बारे में अधिक जानकारी के लिए, देखें <link>डॉक्स</link>।",
|
||||
"oauth_signing_algorithm": "हस्ताक्षर एल्गोरिथ्म",
|
||||
"oauth_storage_label_claim": "भंडारण लेबल का दावा",
|
||||
"oauth_storage_label_claim_description": "इस दावे के मूल्य पर उपयोगकर्ता के भंडारण लेबल को स्वचालित रूप से सेट करें।",
|
||||
"oauth_storage_quota_claim": "भंडारण कोटा का दावा",
|
||||
|
||||
715
i18n/hr.json
715
i18n/hr.json
File diff suppressed because it is too large
Load Diff
41
i18n/hu.json
41
i18n/hu.json
@@ -39,11 +39,11 @@
|
||||
"authentication_settings_disable_all": "Biztosan letiltod az összes bejelentkezési módot? A bejelentkezés teljesen le lesz tiltva.",
|
||||
"authentication_settings_reenable": "Az újbóli engedélyezéshez használj egy<link>Szerver Parancsot</link>.",
|
||||
"background_task_job": "Háttérfeladatok",
|
||||
"backup_database": "Adatbázis Biztonsági Mentése",
|
||||
"backup_database_enable_description": "Adatbázis biztonsági mentések engedélyezése",
|
||||
"backup_keep_last_amount": "Megőrizendő korábbi biztonsági mentések száma",
|
||||
"backup_settings": "Biztonsági mentés beállításai",
|
||||
"backup_settings_description": "Adatbázis mentési beállításainak kezelése",
|
||||
"backup_database": "Adatbázis lementése",
|
||||
"backup_database_enable_description": "Adatbázis mentések engedélyezése",
|
||||
"backup_keep_last_amount": "Megőrizendő korábbi mentések száma",
|
||||
"backup_settings": "Adatbázis mentés beállításai",
|
||||
"backup_settings_description": "Adatbázis mentés beállításainak kezelése. Megjegyzés: Ezek a feladatok nincsenek felügyelve, így nem kapsz értesítés meghiúsulás esetén.",
|
||||
"check_all": "Összes Kipiálása",
|
||||
"cleanup": "Takarítás",
|
||||
"cleared_jobs": "{job}: feladatai törölve",
|
||||
@@ -53,6 +53,7 @@
|
||||
"confirm_email_below": "A megerősítéshez írd be, hogy \"{email}\"",
|
||||
"confirm_reprocess_all_faces": "Biztos vagy benne, hogy újra fel szeretnéd dolgozni az összes arcot? Ez a már elnevezett személyeket is törli.",
|
||||
"confirm_user_password_reset": "Biztosan vissza szeretnéd állítani {user} jelszavát?",
|
||||
"confirm_user_pin_code_reset": "Biztos, hogy vissza akarod állítani {user} PIN-kódját?",
|
||||
"create_job": "Feladat létrehozása",
|
||||
"cron_expression": "Cron kifejezés",
|
||||
"cron_expression_description": "A beolvasási időköz beállítása a cron formátummal. További információért lásd pl. <link>Crontab Guru</link>",
|
||||
@@ -192,26 +193,22 @@
|
||||
"oauth_auto_register": "Automatikus regisztráció",
|
||||
"oauth_auto_register_description": "Új felhasználók automatikus regisztrálása az OAuth használatával történő bejelentkezés után",
|
||||
"oauth_button_text": "Gomb szövege",
|
||||
"oauth_client_id": "Kliens ID",
|
||||
"oauth_client_secret": "Kliens Titok",
|
||||
"oauth_client_secret_description": "Kötelező, ha az OAuth szolgáltató nem támogatja a PKCE-t (Proof Key for Code Exchange)",
|
||||
"oauth_enable_description": "Bejelentkezés OAuth használatával",
|
||||
"oauth_issuer_url": "Kibocsátó URL",
|
||||
"oauth_mobile_redirect_uri": "Mobil átirányítási URI",
|
||||
"oauth_mobile_redirect_uri_override": "Mobil átirányítási URI felülírás",
|
||||
"oauth_mobile_redirect_uri_override_description": "Engedélyezd, ha az OAuth szolgáltató tiltja a mobil URI-t, mint például '{callback}'",
|
||||
"oauth_profile_signing_algorithm": "Profil aláíró algoritmus",
|
||||
"oauth_profile_signing_algorithm_description": "A felhasználói profil aláírásához használt algoritmus.",
|
||||
"oauth_scope": "Hatókör",
|
||||
"oauth_settings": "OAuth",
|
||||
"oauth_settings_description": "OAuth bejelentkezési beállítások kezelése",
|
||||
"oauth_settings_more_details": "Erről a funkcióról további információt a <link>dokumentációban</link> találsz.",
|
||||
"oauth_signing_algorithm": "Aláírás algoritmusa",
|
||||
"oauth_storage_label_claim": "Tárhely címke igénylés",
|
||||
"oauth_storage_label_claim_description": "A felhasználó tárhely címkéjének automatikus beállítása az igényeltre.",
|
||||
"oauth_storage_quota_claim": "Tárhelykvóta igénylése",
|
||||
"oauth_storage_quota_claim_description": "A felhasználó tárhelykvótájának automatikus beállítása ennek az igényeltre.",
|
||||
"oauth_storage_quota_default": "Alapértelmezett tárhelykvóta (GiB)",
|
||||
"oauth_storage_quota_default_description": "Alapértelmezett tárhely kvóta GiB-ban, amennyiben a felhasználó nem jelezte az igényét (A korlátlan tárhelyhez 0-t adj meg).",
|
||||
"oauth_timeout": "Kérés időkorlátja",
|
||||
"oauth_timeout_description": "Kérések időkorlátja milliszekundumban",
|
||||
"offline_paths": "Offline Útvonalak",
|
||||
"offline_paths_description": "Ezek az eredmények olyan fájlok kézi törlésének tudhatók be, amelyek nem részei külső képtárnak.",
|
||||
"password_enable_description": "Bejelentkezés emaillel és jelszóval",
|
||||
@@ -371,13 +368,16 @@
|
||||
"admin_password": "Admin Jelszó",
|
||||
"administration": "Adminisztráció",
|
||||
"advanced": "Haladó",
|
||||
"advanced_settings_log_level_title": "Naplózás szintje: {}",
|
||||
"advanced_settings_enable_alternate_media_filter_subtitle": "Ezzel a beállítással a szinkronizálás során alternatív kritériumok alapján szűrheted a fájlokat. Csak akkor próbáld ki, ha problémáid vannak azzal, hogy az alkalmazás nem ismeri fel az összes albumot.",
|
||||
"advanced_settings_enable_alternate_media_filter_title": "[KÍSÉRLETI] Alternatív eszköz album szinkronizálási szűrő használata",
|
||||
"advanced_settings_log_level_title": "Naplózás szintje: {level}",
|
||||
"advanced_settings_prefer_remote_subtitle": "Néhány eszköz fájdalmasan lassan tölti be az eszközön lévő bélyegképeket. Ez a beállítás inkább a távoli képeket tölti be helyettük.",
|
||||
"advanced_settings_prefer_remote_title": "Távoli képek előnyben részesítése",
|
||||
"advanced_settings_proxy_headers_subtitle": "Add meg azokat a proxy fejléceket, amiket az app elküldjön minden hálózati kérésnél",
|
||||
"advanced_settings_proxy_headers_title": "Proxy Fejlécek",
|
||||
"advanced_settings_self_signed_ssl_subtitle": "Nem ellenőrzi a szerver SSL tanúsítványát. Önaláírt tanúsítvány esetén szükséges beállítás.",
|
||||
"advanced_settings_self_signed_ssl_title": "Önaláírt SSL tanúsítványok engedélyezése",
|
||||
"advanced_settings_sync_remote_deletions_subtitle": "Automatikusan törölni vagy visszaállítani egy elemet ezen az eszközön, ha az adott műveletet a weben hajtották végre",
|
||||
"advanced_settings_tile_subtitle": "Haladó felhasználói beállítások",
|
||||
"advanced_settings_troubleshooting_subtitle": "További funkciók engedélyezése hibaelhárítás céljából",
|
||||
"advanced_settings_troubleshooting_title": "Hibaelhárítás",
|
||||
@@ -610,6 +610,7 @@
|
||||
"change_password_form_new_password": "Új Jelszó",
|
||||
"change_password_form_password_mismatch": "A beírt jelszavak nem egyeznek",
|
||||
"change_password_form_reenter_new_password": "Jelszó (Még Egyszer)",
|
||||
"change_pin_code": "PIN kód megváltoztatása",
|
||||
"change_your_password": "Jelszavad megváltoztatása",
|
||||
"changed_visibility_successfully": "Láthatóság sikeresen megváltoztatva",
|
||||
"check_all": "Mind Kijelöl",
|
||||
@@ -650,6 +651,7 @@
|
||||
"confirm_delete_face": "Biztos, hogy törölni szeretnéd a(z) {name} arcát az elemről?",
|
||||
"confirm_delete_shared_link": "Biztosan törölni szeretnéd ezt a megosztott linket?",
|
||||
"confirm_keep_this_delete_others": "Minden más elem a készletben törlésre kerül, kivéve ezt az elemet. Biztosan folytatni szeretnéd?",
|
||||
"confirm_new_pin_code": "Új PIN kód megerősítése",
|
||||
"confirm_password": "Jelszó megerősítése",
|
||||
"contain": "Belül",
|
||||
"context": "Kontextus",
|
||||
@@ -695,6 +697,7 @@
|
||||
"crop": "Kivágás",
|
||||
"curated_object_page_title": "Dolgok",
|
||||
"current_device": "Ez az eszköz",
|
||||
"current_pin_code": "Aktuális PIN kód",
|
||||
"current_server_address": "Jelenlegi szerver cím",
|
||||
"custom_locale": "Egyéni Területi Beállítás",
|
||||
"custom_locale_description": "Dátumok és számok formázása a nyelv és terület szerint",
|
||||
@@ -1234,6 +1237,7 @@
|
||||
"new_api_key": "Új API Kulcs",
|
||||
"new_password": "Új jelszó",
|
||||
"new_person": "Új személy",
|
||||
"new_pin_code": "Új PIN kód",
|
||||
"new_user_created": "Új felhasználó létrehozva",
|
||||
"new_version_available": "ÚJ VERZIÓ ÉRHETŐ EL",
|
||||
"newest_first": "Legújabb először",
|
||||
@@ -1351,6 +1355,9 @@
|
||||
"photos_count": "{count, plural, one {{count, number} Fotó} other {{count, number} Fotó}}",
|
||||
"photos_from_previous_years": "Fényképek az előző évekből",
|
||||
"pick_a_location": "Hely választása",
|
||||
"pin_code_changed_successfully": "Sikeres PIN kód változtatás",
|
||||
"pin_code_reset_successfully": "Sikeres PIN kód visszaállítás",
|
||||
"pin_code_setup_successfully": "Sikeres PIN kód beállítás",
|
||||
"place": "Hely",
|
||||
"places": "Helyek",
|
||||
"places_count": "{count, plural, one {{count, number} Helyszín} other {{count, number} Helyszín}}",
|
||||
@@ -1381,7 +1388,7 @@
|
||||
"public_share": "Nyilvános Megosztás",
|
||||
"purchase_account_info": "Támogató",
|
||||
"purchase_activated_subtitle": "Köszönjük, hogy támogattad az Immich-et és a nyílt forráskódú szoftvereket",
|
||||
"purchase_activated_time": "Aktiválva ekkor: {date, date}",
|
||||
"purchase_activated_time": "Aktiválva ekkor: {date}",
|
||||
"purchase_activated_title": "Kulcs sikeresen aktiválva",
|
||||
"purchase_button_activate": "Aktiválás",
|
||||
"purchase_button_buy": "Vásárlás",
|
||||
@@ -1468,6 +1475,7 @@
|
||||
"reset": "Visszaállítás",
|
||||
"reset_password": "Jelszó visszaállítása",
|
||||
"reset_people_visibility": "Személyek láthatóságának visszaállítása",
|
||||
"reset_pin_code": "PIN kód visszaállítása",
|
||||
"reset_to_default": "Visszaállítás alapállapotba",
|
||||
"resolve_duplicates": "Duplikátumok feloldása",
|
||||
"resolved_all_duplicates": "Minden duplikátum feloldása",
|
||||
@@ -1607,6 +1615,7 @@
|
||||
"settings": "Beállítások",
|
||||
"settings_require_restart": "Ennek a beállításnak az érvénybe lépéséhez indítsd újra az Immich-et",
|
||||
"settings_saved": "Beállítások elmentve",
|
||||
"setup_pin_code": "PIN kód beállítása",
|
||||
"share": "Megosztás",
|
||||
"share_add_photos": "Fotók hozzáadása",
|
||||
"share_assets_selected": "{} kiválasztva",
|
||||
@@ -1791,6 +1800,8 @@
|
||||
"trash_page_title": "Lomtár ({})",
|
||||
"trashed_items_will_be_permanently_deleted_after": "A lomtárban lévő elemek véglegesen törlésre kerülnek {days, plural, other {# nap}} múlva.",
|
||||
"type": "Típus",
|
||||
"unable_to_change_pin_code": "Sikertelen PIN kód változtatás",
|
||||
"unable_to_setup_pin_code": "Sikertelen PIN kód beállítás",
|
||||
"unarchive": "Archívumból kivesz",
|
||||
"unarchived_count": "{count, plural, other {# elem kivéve az archívumból}}",
|
||||
"unfavorite": "Kedvenc közül kivesz",
|
||||
@@ -1835,6 +1846,8 @@
|
||||
"user": "Felhasználó",
|
||||
"user_id": "Felhasználó azonosítója",
|
||||
"user_liked": "{user} felhasználónak {type, select, photo {ez a fénykép} video {ez a videó} asset {ez az elem} other {ez}} tetszik",
|
||||
"user_pin_code_settings": "PIN kód",
|
||||
"user_pin_code_settings_description": "PIN kód kezelése",
|
||||
"user_purchase_settings": "Megvásárlás",
|
||||
"user_purchase_settings_description": "Vásárlás kezelése",
|
||||
"user_role_set": "{user} felhasználónak {role} jogkör biztosítása",
|
||||
|
||||
107
i18n/hy.json
107
i18n/hy.json
@@ -1,23 +1,24 @@
|
||||
{
|
||||
"about": "Մասին",
|
||||
"account": "",
|
||||
"account_settings": "",
|
||||
"acknowledge": "",
|
||||
"action": "",
|
||||
"action": "Գործողություն",
|
||||
"actions": "",
|
||||
"active": "",
|
||||
"activity": "",
|
||||
"add": "",
|
||||
"add": "Ավելացնել",
|
||||
"add_a_description": "",
|
||||
"add_a_location": "",
|
||||
"add_a_name": "",
|
||||
"add_a_location": "Ավելացնել տեղ",
|
||||
"add_a_name": "Ավելացնել անուն",
|
||||
"add_a_title": "",
|
||||
"add_exclusion_pattern": "",
|
||||
"add_import_path": "",
|
||||
"add_location": "",
|
||||
"add_location": "Ավելացնել տեղ",
|
||||
"add_more_users": "",
|
||||
"add_partner": "",
|
||||
"add_path": "",
|
||||
"add_photos": "",
|
||||
"add_photos": "Ավելացնել նկարներ",
|
||||
"add_to": "",
|
||||
"add_to_album": "",
|
||||
"add_to_shared_album": "",
|
||||
@@ -136,17 +137,12 @@
|
||||
"oauth_auto_register": "",
|
||||
"oauth_auto_register_description": "",
|
||||
"oauth_button_text": "",
|
||||
"oauth_client_id": "",
|
||||
"oauth_client_secret": "",
|
||||
"oauth_enable_description": "",
|
||||
"oauth_issuer_url": "",
|
||||
"oauth_mobile_redirect_uri": "",
|
||||
"oauth_mobile_redirect_uri_override": "",
|
||||
"oauth_mobile_redirect_uri_override_description": "",
|
||||
"oauth_scope": "",
|
||||
"oauth_settings": "",
|
||||
"oauth_settings_description": "",
|
||||
"oauth_signing_algorithm": "",
|
||||
"oauth_storage_label_claim": "",
|
||||
"oauth_storage_label_claim_description": "",
|
||||
"oauth_storage_quota_claim": "",
|
||||
@@ -295,7 +291,10 @@
|
||||
"asset_offline": "",
|
||||
"assets": "",
|
||||
"authorized_devices": "",
|
||||
"back": "",
|
||||
"back": "Հետ",
|
||||
"backup_all": "Բոլոր",
|
||||
"backup_controller_page_background_battery_info_link": "Ցույց տուր ինչպես",
|
||||
"backup_controller_page_background_battery_info_ok": "Լավ",
|
||||
"backward": "",
|
||||
"blurred_background": "",
|
||||
"camera": "",
|
||||
@@ -307,8 +306,8 @@
|
||||
"cannot_update_the_description": "",
|
||||
"change_date": "",
|
||||
"change_expiration_time": "",
|
||||
"change_location": "",
|
||||
"change_name": "",
|
||||
"change_location": "Փոխել տեղը",
|
||||
"change_name": "Փոխել անուն",
|
||||
"change_name_successfully": "",
|
||||
"change_password": "",
|
||||
"change_your_password": "",
|
||||
@@ -316,13 +315,15 @@
|
||||
"check_all": "",
|
||||
"check_logs": "",
|
||||
"choose_matching_people_to_merge": "",
|
||||
"city": "",
|
||||
"city": "Քաղաք",
|
||||
"clear": "",
|
||||
"clear_all": "",
|
||||
"clear_message": "",
|
||||
"clear_value": "",
|
||||
"client_cert_dialog_msg_confirm": "Լավ",
|
||||
"close": "",
|
||||
"collapse_all": "",
|
||||
"color": "Գույն",
|
||||
"color_theme": "",
|
||||
"comment_options": "",
|
||||
"comments_are_disabled": "",
|
||||
@@ -333,6 +334,7 @@
|
||||
"contain": "",
|
||||
"context": "",
|
||||
"continue": "",
|
||||
"control_bottom_app_bar_edit_location": "Փոխել Տեղը",
|
||||
"copied_image_to_clipboard": "",
|
||||
"copied_to_clipboard": "",
|
||||
"copy_error": "",
|
||||
@@ -342,7 +344,7 @@
|
||||
"copy_link_to_clipboard": "",
|
||||
"copy_password": "",
|
||||
"copy_to_clipboard": "",
|
||||
"country": "",
|
||||
"country": "Երկիր",
|
||||
"cover": "",
|
||||
"covers": "",
|
||||
"create": "",
|
||||
@@ -350,22 +352,25 @@
|
||||
"create_library": "",
|
||||
"create_link": "",
|
||||
"create_link_to_share": "",
|
||||
"create_new_person": "",
|
||||
"create_new": "ՍՏԵՂԾԵԼ ՆՈՐ",
|
||||
"create_new_person": "Ստեղծել նոր անձ",
|
||||
"create_new_user": "",
|
||||
"create_shared_album_page_share_select_photos": "Ընտրե Նկարներ",
|
||||
"create_user": "",
|
||||
"created": "",
|
||||
"curated_object_page_title": "Բաներ",
|
||||
"current_device": "",
|
||||
"custom_locale": "",
|
||||
"custom_locale_description": "",
|
||||
"dark": "",
|
||||
"dark": "Մութ",
|
||||
"date_after": "",
|
||||
"date_and_time": "",
|
||||
"date_before": "",
|
||||
"date_range": "",
|
||||
"day": "",
|
||||
"day": "Օր",
|
||||
"default_locale": "",
|
||||
"default_locale_description": "",
|
||||
"delete": "",
|
||||
"delete": "Ջնջել",
|
||||
"delete_album": "",
|
||||
"delete_api_key_prompt": "",
|
||||
"delete_key": "",
|
||||
@@ -401,7 +406,7 @@
|
||||
"edit_import_paths": "",
|
||||
"edit_key": "",
|
||||
"edit_link": "",
|
||||
"edit_location": "",
|
||||
"edit_location": "Փոխել տեղը",
|
||||
"edit_name": "",
|
||||
"edit_people": "",
|
||||
"edit_title": "",
|
||||
@@ -484,6 +489,9 @@
|
||||
"unable_to_update_timeline_display_status": "",
|
||||
"unable_to_update_user": ""
|
||||
},
|
||||
"exif_bottom_sheet_person_add_person": "Ավելացնել անուն",
|
||||
"exif_bottom_sheet_person_age": "Տարիք {}",
|
||||
"exif_bottom_sheet_person_age_years": "Տարիք {}",
|
||||
"exit_slideshow": "",
|
||||
"expand_all": "",
|
||||
"expire_after": "",
|
||||
@@ -513,6 +521,7 @@
|
||||
"go_to_search": "",
|
||||
"group_albums_by": "",
|
||||
"has_quota": "",
|
||||
"hi_user": "Բարեւ {name} ({email})",
|
||||
"hide_gallery": "",
|
||||
"hide_password": "",
|
||||
"hide_person": "",
|
||||
@@ -570,6 +579,8 @@
|
||||
"manage_your_devices": "",
|
||||
"manage_your_oauth_connection": "",
|
||||
"map": "",
|
||||
"map_assets_in_bound": "{} նկար",
|
||||
"map_assets_in_bounds": "{} նկարներ",
|
||||
"map_marker_with_image": "",
|
||||
"map_settings": "",
|
||||
"matches": "",
|
||||
@@ -636,6 +647,7 @@
|
||||
"partner_can_access": "",
|
||||
"partner_can_access_assets": "",
|
||||
"partner_can_access_location": "",
|
||||
"partner_list_user_photos": "{}-ին նկարները",
|
||||
"partner_sharing": "",
|
||||
"partners": "",
|
||||
"password": "",
|
||||
@@ -659,7 +671,7 @@
|
||||
"permanent_deletion_warning_setting_description": "",
|
||||
"permanently_delete": "",
|
||||
"permanently_deleted_asset": "",
|
||||
"photos": "",
|
||||
"photos": "Նկարներ",
|
||||
"photos_count": "",
|
||||
"photos_from_previous_years": "",
|
||||
"pick_a_location": "",
|
||||
@@ -707,21 +719,28 @@
|
||||
"retry_upload": "",
|
||||
"review_duplicates": "",
|
||||
"role": "",
|
||||
"save": "",
|
||||
"save": "Պահե",
|
||||
"saved_api_key": "",
|
||||
"saved_profile": "",
|
||||
"saved_settings": "",
|
||||
"say_something": "",
|
||||
"scan_all_libraries": "",
|
||||
"scan_library": "Նայե",
|
||||
"scan_settings": "",
|
||||
"search": "",
|
||||
"search": "Փնտրե",
|
||||
"search_albums": "",
|
||||
"search_by_context": "",
|
||||
"search_camera_make": "",
|
||||
"search_camera_model": "",
|
||||
"search_city": "",
|
||||
"search_city": "Որոնե քաղաք…",
|
||||
"search_country": "",
|
||||
"search_filter_date": "Ամսաթիվ",
|
||||
"search_filter_date_interval": "{start} մինչեւ {end}",
|
||||
"search_filter_location": "Տեղ",
|
||||
"search_filter_location_title": "Ընտրե տեղ",
|
||||
"search_for_existing_person": "",
|
||||
"search_no_people": "Ոչ մի անձ",
|
||||
"search_page_motion_photos": "Շարժվող Նկարներ",
|
||||
"search_people": "",
|
||||
"search_places": "",
|
||||
"search_state": "",
|
||||
@@ -738,7 +757,7 @@
|
||||
"select_keep_all": "",
|
||||
"select_library_owner": "",
|
||||
"select_new_face": "",
|
||||
"select_photos": "",
|
||||
"select_photos": "Ընտրե նկարներ",
|
||||
"select_trash_all": "",
|
||||
"selected": "",
|
||||
"send_message": "",
|
||||
@@ -750,13 +769,24 @@
|
||||
"set_date_of_birth": "",
|
||||
"set_profile_picture": "",
|
||||
"set_slideshow_to_fullscreen": "",
|
||||
"setting_notifications_notify_never": "երբեք",
|
||||
"setting_notifications_notify_seconds": "{} վայրկյան",
|
||||
"settings": "",
|
||||
"settings_saved": "",
|
||||
"share": "",
|
||||
"share_add_photos": "Ավելացնել նկարներ",
|
||||
"shared": "",
|
||||
"shared_by": "",
|
||||
"shared_by_you": "",
|
||||
"shared_from_partner": "",
|
||||
"shared_link_edit_expire_after_option_day": "1 օր",
|
||||
"shared_link_edit_expire_after_option_days": "{} օր",
|
||||
"shared_link_edit_expire_after_option_hour": "1 ժամ",
|
||||
"shared_link_edit_expire_after_option_hours": "{} ժամ",
|
||||
"shared_link_edit_expire_after_option_minute": "1 րոպե",
|
||||
"shared_link_edit_expire_after_option_minutes": "{} րոպե",
|
||||
"shared_link_edit_expire_after_option_months": "{} ամիս",
|
||||
"shared_link_edit_expire_after_option_year": "{} տարի",
|
||||
"shared_links": "",
|
||||
"shared_photos_and_videos_count": "",
|
||||
"shared_with_partner": "",
|
||||
@@ -784,6 +814,8 @@
|
||||
"slideshow": "",
|
||||
"slideshow_settings": "",
|
||||
"sort_albums_by": "",
|
||||
"sort_oldest": "Ամենահին նկարը",
|
||||
"sort_recent": "Ամենանոր նկարը",
|
||||
"stack": "",
|
||||
"stack_selected_photos": "",
|
||||
"stacktrace": "",
|
||||
@@ -808,22 +840,25 @@
|
||||
"theme_selection": "",
|
||||
"theme_selection_description": "",
|
||||
"time_based_memories": "",
|
||||
"timezone": "",
|
||||
"timezone": "Ժամային գոտի",
|
||||
"to_archive": "",
|
||||
"to_favorite": "",
|
||||
"to_trash": "Աղբ",
|
||||
"toggle_settings": "",
|
||||
"toggle_theme": "",
|
||||
"total_usage": "",
|
||||
"trash": "",
|
||||
"trash": "Աղբ",
|
||||
"trash_all": "",
|
||||
"trash_no_results_message": "",
|
||||
"trash_page_title": "Աղբ ({})",
|
||||
"trashed_items_will_be_permanently_deleted_after": "",
|
||||
"type": "",
|
||||
"type": "Տեսակ",
|
||||
"unarchive": "",
|
||||
"unfavorite": "",
|
||||
"unhide_person": "",
|
||||
"unknown": "",
|
||||
"unknown_year": "",
|
||||
"unknown": "Անհայտ",
|
||||
"unknown_country": "Անհայտ Երկիր",
|
||||
"unknown_year": "Անհայտ Տարի",
|
||||
"unlimited": "",
|
||||
"unlink_oauth": "",
|
||||
"unlinked_oauth_account": "",
|
||||
@@ -835,6 +870,7 @@
|
||||
"updated_password": "",
|
||||
"upload": "",
|
||||
"upload_concurrency": "",
|
||||
"upload_status_errors": "Սխալներ",
|
||||
"url": "",
|
||||
"usage": "",
|
||||
"user": "",
|
||||
@@ -846,6 +882,7 @@
|
||||
"validate": "",
|
||||
"variables": "",
|
||||
"version": "",
|
||||
"version_announcement_closing": "Քո ընկերը՝ Ալեքսը",
|
||||
"video": "",
|
||||
"video_hover_setting": "",
|
||||
"video_hover_setting_description": "",
|
||||
@@ -857,11 +894,11 @@
|
||||
"view_next_asset": "",
|
||||
"view_previous_asset": "",
|
||||
"waiting": "",
|
||||
"week": "",
|
||||
"welcome": "",
|
||||
"week": "Շաբաթ",
|
||||
"welcome": "Բարի գալուստ",
|
||||
"welcome_to_immich": "",
|
||||
"year": "",
|
||||
"yes": "",
|
||||
"year": "Տարի",
|
||||
"yes": "Այո",
|
||||
"you_dont_have_any_shared_links": "",
|
||||
"zoom_image": ""
|
||||
}
|
||||
|
||||
80
i18n/id.json
80
i18n/id.json
@@ -192,26 +192,22 @@
|
||||
"oauth_auto_register": "Pendaftaran otomatis",
|
||||
"oauth_auto_register_description": "Daftar pengguna baru secara otomatis setelah log masuk dengan OAuth",
|
||||
"oauth_button_text": "Teks tombol",
|
||||
"oauth_client_id": "ID Klien",
|
||||
"oauth_client_secret": "Rahasia Klien",
|
||||
"oauth_client_secret_description": "Diperlukan jika PKCE (Proof Key for Code Exchange) tidak didukung oleh penyedia OAuth",
|
||||
"oauth_enable_description": "Log masuk dengan OAuth",
|
||||
"oauth_issuer_url": "URL Penerbit",
|
||||
"oauth_mobile_redirect_uri": "URI pengalihan ponsel",
|
||||
"oauth_mobile_redirect_uri_override": "Penimpaan URI penerusan ponsel",
|
||||
"oauth_mobile_redirect_uri_override_description": "Aktifkan ketika provider OAuth tidak mengizinkan tautan mobile, seperti '{callback}'",
|
||||
"oauth_profile_signing_algorithm": "Algoritma penandatanganan profil",
|
||||
"oauth_profile_signing_algorithm_description": "Algoritma yang digunakan untuk menandatangani profil pengguna.",
|
||||
"oauth_scope": "Cakupan",
|
||||
"oauth_settings": "OAuth",
|
||||
"oauth_settings_description": "Kelola pengaturan log masuk OAuth",
|
||||
"oauth_settings_more_details": "Untuk detail lanjut tentang fitur ini, lihat <link>docs</link>.",
|
||||
"oauth_signing_algorithm": "Algoritma penandatanganan",
|
||||
"oauth_storage_label_claim": "Klaim label penyimpanan",
|
||||
"oauth_storage_label_claim_description": "Atur label penyimpanan pengguna menjadi nilai klaim ini secara otomatis.",
|
||||
"oauth_storage_quota_claim": "Klaim kuota penyimpanan",
|
||||
"oauth_storage_quota_claim_description": "Atur kuota penyimpanan pengguna menjadi nilai klaim ini secara otomatis.",
|
||||
"oauth_storage_quota_default": "Kuota penyimpanan bawaan (GiB)",
|
||||
"oauth_storage_quota_default_description": "Kuota dalam GiB untuk digunakan ketika tidak ada klaim yang disediakan (Masukkan 0 untuk kuota tidak terbatas).",
|
||||
"oauth_timeout": "Waktu Permintaan Habis",
|
||||
"oauth_timeout_description": "Waktu habis untuk permintaan dalam milidetik",
|
||||
"offline_paths": "Jalur Luring",
|
||||
"offline_paths_description": "Hasil ini dapat terjadi karena penghapusan berkas manual yang tidak menjadi bagian dari pustaka eksternal.",
|
||||
"password_enable_description": "Masuk dengan surel dan kata sandi",
|
||||
@@ -374,7 +370,7 @@
|
||||
"advanced_settings_enable_alternate_media_filter_subtitle": "Gunakan opsi ini untuk menyaring media saat sinkronisasi berdasarkan kriteria alternatif. Hanya coba ini dengan aplikasi mendeteksi semua album.",
|
||||
"advanced_settings_enable_alternate_media_filter_title": "[EKSPERIMENTAL] Gunakan saringan sinkronisasi album perangkat alternatif",
|
||||
"advanced_settings_log_level_title": "Tingkat log: {}",
|
||||
"advanced_settings_prefer_remote_subtitle": "Beberapa perangkat tidak dapat memuat thumbnail dengan cepat.\nMenyalakan ini akan memuat thumbnail dari server.",
|
||||
"advanced_settings_prefer_remote_subtitle": "Beberapa perangkat tidak dapat memuat gambar kecil dengan cepat. Menyalakan ini akan memuat gambar kecil dari server.",
|
||||
"advanced_settings_prefer_remote_title": "Prefer remote images",
|
||||
"advanced_settings_proxy_headers_subtitle": "Define proxy headers Immich should send with each network request",
|
||||
"advanced_settings_proxy_headers_title": "Proxy Headers",
|
||||
@@ -481,18 +477,18 @@
|
||||
"assets_added_to_album_count": "Ditambahkan {count, plural, one {# aset} other {# aset}} ke album",
|
||||
"assets_added_to_name_count": "Ditambahkan {count, plural, one {# aset} other {# aset}} ke {hasName, select, true {<b>{name}</b>} other {album baru}}",
|
||||
"assets_count": "{count, plural, one {# aset} other {# aset}}",
|
||||
"assets_deleted_permanently": "{} asset dihapus secara permanen",
|
||||
"assets_deleted_permanently_from_server": "{} asset(s) deleted permanently from the Immich server",
|
||||
"assets_deleted_permanently": "{} aset dihapus secara permanen",
|
||||
"assets_deleted_permanently_from_server": "{} aset dihapus secara permanen dari server Immich",
|
||||
"assets_moved_to_trash_count": "Dipindahkan {count, plural, one {# aset} other {# aset}} ke sampah",
|
||||
"assets_permanently_deleted_count": "{count, plural, one {# aset} other {# aset}} dihapus secara permanen",
|
||||
"assets_removed_count": "{count, plural, one {# aset} other {# aset}} dihapus",
|
||||
"assets_removed_permanently_from_device": "{} asset(s) removed permanently from your device",
|
||||
"assets_removed_permanently_from_device": "{} aset dihapus secara permanen dari perangkat Anda",
|
||||
"assets_restore_confirmation": "Apakah Anda yakin ingin memulihkan semua aset yang dibuang? Anda tidak dapat mengurungkan tindakan ini! Perlu diingat bahwa aset luring tidak dapat dipulihkan.",
|
||||
"assets_restored_count": "{count, plural, one {# aset} other {# aset}} dipulihkan",
|
||||
"assets_restored_successfully": "{} asset(s) restored successfully",
|
||||
"assets_trashed": "{} asset(s) trashed",
|
||||
"assets_restored_successfully": "{} aset berhasil dipulihkan",
|
||||
"assets_trashed": "{} aset dipindahkan ke sampah",
|
||||
"assets_trashed_count": "{count, plural, one {# aset} other {# aset}} dibuang ke sampah",
|
||||
"assets_trashed_from_server": "{} asset(s) trashed from the Immich server",
|
||||
"assets_trashed_from_server": "{} aset dipindahkan ke sampah dari server Immich",
|
||||
"assets_were_part_of_album_count": "{count, plural, one {Aset telah} other {Aset telah}} menjadi bagian dari album",
|
||||
"authorized_devices": "Perangkat Terautentikasi",
|
||||
"automatic_endpoint_switching_subtitle": "Connect locally over designated Wi-Fi when available and use alternative connections elsewhere",
|
||||
@@ -501,19 +497,19 @@
|
||||
"back_close_deselect": "Kembali, tutup, atau batalkan pemilihan",
|
||||
"background_location_permission": "Background location permission",
|
||||
"background_location_permission_content": "In order to switch networks when running in the background, Immich must *always* have precise location access so the app can read the Wi-Fi network's name",
|
||||
"backup_album_selection_page_albums_device": "Album perangkat ({})",
|
||||
"backup_album_selection_page_albums_device": "Album di perangkat ({})",
|
||||
"backup_album_selection_page_albums_tap": "Sentuh untuk memilih, sentuh 2x untuk mengecualikan",
|
||||
"backup_album_selection_page_assets_scatter": "Aset dapat tersebar dalam banyak album. Sehingga album dapat dipilih atau dikecualikan saat proses pencadangan.",
|
||||
"backup_album_selection_page_select_albums": "Pilih album",
|
||||
"backup_album_selection_page_selection_info": "Album terpilih: ",
|
||||
"backup_album_selection_page_selection_info": "Info Pilihan",
|
||||
"backup_album_selection_page_total_assets": "Total aset unik",
|
||||
"backup_all": "Semua",
|
||||
"backup_background_service_backup_failed_message": "Gagal mencadangkan aset. Mencoba lagi...",
|
||||
"backup_background_service_connection_failed_message": "Koneksi ke server gagal. Mencoba ulang...",
|
||||
"backup_background_service_backup_failed_message": "Gagal mencadangkan aset. Mencoba lagi…",
|
||||
"backup_background_service_connection_failed_message": "Koneksi ke server gagal. Mencoba ulang…",
|
||||
"backup_background_service_current_upload_notification": "Mengunggah {}",
|
||||
"backup_background_service_default_notification": "Memeriksa aset baru...",
|
||||
"backup_background_service_default_notification": "Memeriksa aset baru…",
|
||||
"backup_background_service_error_title": "Backup error",
|
||||
"backup_background_service_in_progress_notification": "Mencadangkan asetmu...",
|
||||
"backup_background_service_in_progress_notification": "Mencadangkan asetmu…",
|
||||
"backup_background_service_upload_failure_notification": "Gagal mengunggah {}",
|
||||
"backup_controller_page_albums": "Cadangkan album",
|
||||
"backup_controller_page_background_app_refresh_disabled_content": "Enable background app refresh in Settings > General > Background App Refresh in order to use background backup.",
|
||||
@@ -525,13 +521,13 @@
|
||||
"backup_controller_page_background_battery_info_title": "Optimisasi baterai",
|
||||
"backup_controller_page_background_charging": "Hanya saat mengisi daya",
|
||||
"backup_controller_page_background_configure_error": "Gagal mengatur layanan latar belakang",
|
||||
"backup_controller_page_background_delay": "Tunda cadangkan aset baru: {}",
|
||||
"backup_controller_page_background_delay": "Tunda pencadangan aset baru: {}",
|
||||
"backup_controller_page_background_description": "Aktifkan layanan latar belakang untuk mencadangkan aset baru secara otomatis tanpa perlu membuka app",
|
||||
"backup_controller_page_background_is_off": "Pencadangan otomatis di latar belakang nonaktif",
|
||||
"backup_controller_page_background_is_on": "Pencadangan otomatis di latar belakang aktif",
|
||||
"backup_controller_page_background_turn_off": "Matikan layanan latar belakang",
|
||||
"backup_controller_page_background_turn_on": "Nyalakan layanan latar belakang",
|
||||
"backup_controller_page_background_wifi": "Hanya melalui WiFi",
|
||||
"backup_controller_page_background_wifi": "Hanya melalui Wi-Fi",
|
||||
"backup_controller_page_backup": "Cadangkan",
|
||||
"backup_controller_page_backup_selected": "Terpilih: ",
|
||||
"backup_controller_page_backup_sub": "Foto dan video yang dicadangkan",
|
||||
@@ -549,7 +545,7 @@
|
||||
"backup_controller_page_start_backup": "Mulai Cadangkan",
|
||||
"backup_controller_page_status_off": "Pencadangan otomatis di latar depan nonaktif",
|
||||
"backup_controller_page_status_on": "Pencadangan otomatis di latar depan aktif",
|
||||
"backup_controller_page_storage_format": "{} dari {} terpakai",
|
||||
"backup_controller_page_storage_format": "{} dari {} digunakan",
|
||||
"backup_controller_page_to_backup": "Album untuk dicadangkan",
|
||||
"backup_controller_page_total_sub": "Semua foto dan video unik dari album terpilih",
|
||||
"backup_controller_page_turn_off": "Nonaktifkan pencadangan latar depan",
|
||||
@@ -574,13 +570,13 @@
|
||||
"bulk_keep_duplicates_confirmation": "Apakah Anda yakin ingin menyimpan {count, plural, one {# aset duplikat} other {# aset duplikat}}? Ini akan menyelesaikan semua kelompok duplikat tanpa menghapus apa pun.",
|
||||
"bulk_trash_duplicates_confirmation": "Apakah Anda yakin ingin membuang {count, plural, one {# aset duplikat} other {# aset duplikat}} secara bersamaan? Ini akan menyimpan aset terbesar dari setiap kelompok dan membuang semua duplikat lainnya.",
|
||||
"buy": "Beli Immich",
|
||||
"cache_settings_album_thumbnails": "Library page thumbnails ({} assets)",
|
||||
"cache_settings_album_thumbnails": "Thumbnail halaman pustaka ({} aset)",
|
||||
"cache_settings_clear_cache_button": "Hapus cache",
|
||||
"cache_settings_clear_cache_button_title": "Membersihkan cache aplikasi. Performa aplikasi akan terpengaruh hingga cache dibuat kembali.",
|
||||
"cache_settings_duplicated_assets_clear_button": "BERSIHKAN",
|
||||
"cache_settings_duplicated_assets_subtitle": "Photos and videos that are black listed by the app",
|
||||
"cache_settings_duplicated_assets_title": "Aset Ganda ({})",
|
||||
"cache_settings_image_cache_size": "Image cache size ({} assets)",
|
||||
"cache_settings_duplicated_assets_title": "Aset Duplikat ({})",
|
||||
"cache_settings_image_cache_size": "Ukuran cache gambar ({} aset)",
|
||||
"cache_settings_statistics_album": "Pustaka thumbnail",
|
||||
"cache_settings_statistics_assets": "{} aset ({})",
|
||||
"cache_settings_statistics_full": "Full images",
|
||||
@@ -610,7 +606,7 @@
|
||||
"change_password": "Ubah Kata Sandi",
|
||||
"change_password_description": "Ini merupakan pertama kali Anda masuk ke sistem atau ada permintaan untuk mengubah kata sandi Anda. Silakan masukkan kata sandi baru di bawah.",
|
||||
"change_password_form_confirm_password": "Konfirmasi Sandi",
|
||||
"change_password_form_description": "Halo {name},\n\nIni pertama kali anda masuk ke dalam sistem atau terdapat permintaan penggantian password.\nHarap masukkan password baru.",
|
||||
"change_password_form_description": "Halo {name},\n\nIni pertama kali anda masuk ke dalam sistem atau terdapat permintaan penggantian kata sandi. Harap masukkan password baru.",
|
||||
"change_password_form_new_password": "Sandi Baru",
|
||||
"change_password_form_password_mismatch": "Sandi tidak cocok",
|
||||
"change_password_form_reenter_new_password": "Masukkan Ulang Sandi Baru",
|
||||
@@ -818,7 +814,7 @@
|
||||
"enabled": "Diaktifkan",
|
||||
"end_date": "Tanggal akhir",
|
||||
"enqueued": "Enqueued",
|
||||
"enter_wifi_name": "Enter WiFi name",
|
||||
"enter_wifi_name": "Masukkan nama Wi-Fi",
|
||||
"error": "Eror",
|
||||
"error_change_sort_album": "Failed to change album sort order",
|
||||
"error_delete_face": "Terjadi kesalahan menghapus wajah dari aset",
|
||||
@@ -958,7 +954,7 @@
|
||||
"exif_bottom_sheet_people": "ORANG",
|
||||
"exif_bottom_sheet_person_add_person": "Tambah nama",
|
||||
"exif_bottom_sheet_person_age": "Umur {}",
|
||||
"exif_bottom_sheet_person_age_months": "Umur {} months",
|
||||
"exif_bottom_sheet_person_age_months": "Umur {} bulan",
|
||||
"exif_bottom_sheet_person_age_year_months": "Umur 1 tahun, {} bulan",
|
||||
"exif_bottom_sheet_person_age_years": "Umur {}",
|
||||
"exit_slideshow": "Keluar dari Salindia",
|
||||
@@ -978,7 +974,7 @@
|
||||
"external": "Eksternal",
|
||||
"external_libraries": "Pustaka Eksternal",
|
||||
"external_network": "External network",
|
||||
"external_network_sheet_info": "When not on the preferred Wi-Fi network, the app will connect to the server through the first of the below URLs it can reach, starting from top to bottom",
|
||||
"external_network_sheet_info": "Ketika tidak berada di jaringan Wi-Fi yang disukai, aplikasi akan terhubung ke server melalui URL pertama di bawah ini yang dapat dijangkaunya, mulai dari atas ke bawah",
|
||||
"face_unassigned": "Tidak ada nama",
|
||||
"failed": "Failed",
|
||||
"failed_to_load_assets": "Gagal memuat aset",
|
||||
@@ -1045,7 +1041,7 @@
|
||||
"home_page_delete_remote_err_local": "Local assets in delete remote selection, skipping",
|
||||
"home_page_favorite_err_local": "Can not favorite local assets yet, skipping",
|
||||
"home_page_favorite_err_partner": "Can not favorite partner assets yet, skipping",
|
||||
"home_page_first_time_notice": "Jika ini pertama kali Anda menggunakan aplikasi, pastikan untuk memilik album untuk dicadangkan agar linimasa anda terisi oleh foto dan video dalam album.",
|
||||
"home_page_first_time_notice": "Jika ini pertama kali Anda menggunakan aplikasi, pastikan untuk memiliki album untuk dicadangkan agar lini masa anda terisi oleh foto dan video dalam album",
|
||||
"home_page_share_err_local": "Can not share local assets via link, skipping",
|
||||
"home_page_upload_err_limit": "Hanya dapat mengunggah maksimal 30 aset dalam satu waktu, melewatkan",
|
||||
"host": "Hos",
|
||||
@@ -1125,7 +1121,7 @@
|
||||
"local_network": "Local network",
|
||||
"local_network_sheet_info": "The app will connect to the server through this URL when using the specified Wi-Fi network",
|
||||
"location_permission": "Location permission",
|
||||
"location_permission_content": "In order to use the auto-switching feature, Immich needs precise location permission so it can read the current WiFi network's name",
|
||||
"location_permission_content": "Untuk menggunakan fitur pengalihan otomatis, Immich memerlukan izin lokasi yang akurat agar dapat membaca nama jaringan Wi-Fi saat ini",
|
||||
"location_picker_choose_on_map": "Pilih di peta",
|
||||
"location_picker_latitude_error": "Masukkan lintang yang sah",
|
||||
"location_picker_latitude_hint": "Masukkan lintang di sini",
|
||||
@@ -1149,7 +1145,7 @@
|
||||
"login_form_err_trailing_whitespace": "Trailing whitespace",
|
||||
"login_form_failed_get_oauth_server_config": "Gagal logging menggunakan OAuth, periksa URL server",
|
||||
"login_form_failed_get_oauth_server_disable": "Fitur OAuth tidak tersedia di server ini",
|
||||
"login_form_failed_login": "Login gagal. Periksa URL server, email dan password.",
|
||||
"login_form_failed_login": "Login gagal, periksa URL server, email dan kata sandi",
|
||||
"login_form_handshake_exception": "There was an Handshake Exception with the server. Enable self-signed certificate support in the settings if you are using a self-signed certificate.",
|
||||
"login_form_password_hint": "sandi",
|
||||
"login_form_save_login": "Ingat saya",
|
||||
@@ -1387,7 +1383,7 @@
|
||||
"public_share": "Pembagian Publik",
|
||||
"purchase_account_info": "Pendukung",
|
||||
"purchase_activated_subtitle": "Terima kasih telah mendukung Immich dan perangkat lunak sumber terbuka",
|
||||
"purchase_activated_time": "Di aktivasi pada {date, date}",
|
||||
"purchase_activated_time": "Di aktivasi pada {date}",
|
||||
"purchase_activated_title": "Kunci kamu telah sukses di aktivasi",
|
||||
"purchase_button_activate": "Aktifkan",
|
||||
"purchase_button_buy": "Beli",
|
||||
@@ -1548,7 +1544,7 @@
|
||||
"search_result_page_new_search_hint": "Pencarian Baru",
|
||||
"search_settings": "Pengaturan pencarian",
|
||||
"search_state": "Cari negara bagian...",
|
||||
"search_suggestion_list_smart_search_hint_1": "Penelusuran cerdas aktif secara bawaan. Untuk menelusuri metadata, gunakan sintaks",
|
||||
"search_suggestion_list_smart_search_hint_1": "Penelusuran cerdas aktif secara bawaan. Untuk menelusuri metadata, gunakan sintaks ",
|
||||
"search_suggestion_list_smart_search_hint_2": "m:penelusuran-kamu",
|
||||
"search_tags": "Cari tag...",
|
||||
"search_timezone": "Cari zona waktu...",
|
||||
@@ -1598,7 +1594,7 @@
|
||||
"setting_languages_apply": "Terapkan",
|
||||
"setting_languages_subtitle": "Change the app's language",
|
||||
"setting_languages_title": "Bahasa",
|
||||
"setting_notifications_notify_failures_grace_period": "Notify background backup failures: {}",
|
||||
"setting_notifications_notify_failures_grace_period": "Beritahu kegagalan cadangan latar belakang: {}",
|
||||
"setting_notifications_notify_hours": "{} jam",
|
||||
"setting_notifications_notify_immediately": "segera",
|
||||
"setting_notifications_notify_minutes": "{} menit",
|
||||
@@ -1617,7 +1613,7 @@
|
||||
"settings_saved": "Pengaturan disimpan",
|
||||
"share": "Bagikan",
|
||||
"share_add_photos": "Tambah foto",
|
||||
"share_assets_selected": "{} terpilih",
|
||||
"share_assets_selected": "{} dipilih",
|
||||
"share_dialog_preparing": "Menyiapkan...",
|
||||
"shared": "Dibagikan",
|
||||
"shared_album_activities_input_disable": "Comment is disabled",
|
||||
@@ -1631,10 +1627,10 @@
|
||||
"shared_by_user": "Dibagikan oleh {user}",
|
||||
"shared_by_you": "Dibagikan oleh Anda",
|
||||
"shared_from_partner": "Foto dari {partner}",
|
||||
"shared_intent_upload_button_progress_text": "{} / {} Uploaded",
|
||||
"shared_intent_upload_button_progress_text": "{} / {} Diunggah",
|
||||
"shared_link_app_bar_title": "Link Berbagi",
|
||||
"shared_link_clipboard_copied_massage": "Tersalin ke papan klip",
|
||||
"shared_link_clipboard_text": "Tautan: {}\nSandi: {}",
|
||||
"shared_link_clipboard_text": "Tautan: {}\nKata Sandi: {}",
|
||||
"shared_link_create_error": "Terjadi kesalahan saat membuat link berbagi",
|
||||
"shared_link_edit_description_hint": "Masukkan deskripsi link",
|
||||
"shared_link_edit_expire_after_option_day": "1 hari",
|
||||
@@ -1834,7 +1830,7 @@
|
||||
"upload_status_errors": "Eror",
|
||||
"upload_status_uploaded": "Diunggah",
|
||||
"upload_success": "Pengunggahan berhasil, muat ulang laman untuk melihat aset terunggah yang baru.",
|
||||
"upload_to_immich": "Upload to Immich ({})",
|
||||
"upload_to_immich": "Unggah ke Immich ({})",
|
||||
"uploading": "Uploading",
|
||||
"url": "URL",
|
||||
"usage": "Penggunaan",
|
||||
@@ -1891,11 +1887,11 @@
|
||||
"week": "Pekan",
|
||||
"welcome": "Selamat datang",
|
||||
"welcome_to_immich": "Selamat datang di Immich",
|
||||
"wifi_name": "WiFi Name",
|
||||
"wifi_name": "Nama Wi-Fi",
|
||||
"year": "Tahun",
|
||||
"years_ago": "{years, plural, one {# tahun} other {# tahun}} yang lalu",
|
||||
"yes": "Ya",
|
||||
"you_dont_have_any_shared_links": "Anda tidak memiliki tautan terbagi",
|
||||
"your_wifi_name": "Your WiFi name",
|
||||
"your_wifi_name": "Nama Wi-Fi Anda",
|
||||
"zoom_image": "Perbesar Gambar"
|
||||
}
|
||||
|
||||
183
i18n/it.json
183
i18n/it.json
@@ -39,11 +39,11 @@
|
||||
"authentication_settings_disable_all": "Sei sicuro di voler disabilitare tutte le modalità di accesso? Il login verrà disabilitato completamente.",
|
||||
"authentication_settings_reenable": "Per ri-abilitare, utilizza un <link>Comando Server</link>.",
|
||||
"background_task_job": "Attività in Background",
|
||||
"backup_database": "Database di Backup",
|
||||
"backup_database": "Crea Dump Database",
|
||||
"backup_database_enable_description": "Abilita i backup del database",
|
||||
"backup_keep_last_amount": "Quantità di backup precedenti da mantenere",
|
||||
"backup_settings": "Impostazioni di backup",
|
||||
"backup_settings_description": "Gestisci le impostazioni dei backup",
|
||||
"backup_keep_last_amount": "Numero di backup da mantenere",
|
||||
"backup_settings": "Impostazioni Dump database",
|
||||
"backup_settings_description": "Gestisci le impostazioni dei backup. Nota: Questi jobs non sono monitorati e non riceverai notifiche in caso di errore.",
|
||||
"check_all": "Controlla Tutto",
|
||||
"cleanup": "Pulisci",
|
||||
"cleared_jobs": "Cancellati i processi per: {job}",
|
||||
@@ -53,6 +53,7 @@
|
||||
"confirm_email_below": "Per confermare, scrivi \"{email}\" qui sotto",
|
||||
"confirm_reprocess_all_faces": "Sei sicuro di voler riprocessare tutti i volti? Questo cancellerà tutte le persone nominate.",
|
||||
"confirm_user_password_reset": "Sei sicuro di voler resettare la password di {user}?",
|
||||
"confirm_user_pin_code_reset": "Sicuro di voler resettare il codice PIN di {user}?",
|
||||
"create_job": "Crea Processo",
|
||||
"cron_expression": "Espressione Cron",
|
||||
"cron_expression_description": "Imposta il tempo di scansione utilizzando il formato Cron. Per ulteriori informazioni fare riferimento a <link>Crontab Guru</link>",
|
||||
@@ -192,26 +193,22 @@
|
||||
"oauth_auto_register": "Registrazione automatica",
|
||||
"oauth_auto_register_description": "Automaticamente registra nuovi utenti dopo il login OAuth",
|
||||
"oauth_button_text": "Testo pulsante",
|
||||
"oauth_client_id": "ID Cliente",
|
||||
"oauth_client_secret": "Chiave segreta client",
|
||||
"oauth_client_secret_description": "Richiesto se PKCE (Proof Key for Code Exchange) non è supportato dal provider OAuth",
|
||||
"oauth_enable_description": "Login con OAuth",
|
||||
"oauth_issuer_url": "URL emittente",
|
||||
"oauth_mobile_redirect_uri": "URI reindirizzamento mobile",
|
||||
"oauth_mobile_redirect_uri_override": "Sovrascrivi URI reindirizzamento cellulare",
|
||||
"oauth_mobile_redirect_uri_override_description": "Abilita quando il gestore OAuth non consente un URL come '{callback}'",
|
||||
"oauth_profile_signing_algorithm": "Algoritmo firma profilo",
|
||||
"oauth_profile_signing_algorithm_description": "L'algoritmo usato per firmare il profilo utente.",
|
||||
"oauth_scope": "Ambito di autorizzazione",
|
||||
"oauth_settings": "OAuth",
|
||||
"oauth_settings_description": "Gestisci impostazioni di login OAuth",
|
||||
"oauth_settings_more_details": "Per più dettagli riguardo a questa funzionalità, consulta <link>la documentazione</link>.",
|
||||
"oauth_signing_algorithm": "Algoritmo di firma",
|
||||
"oauth_storage_label_claim": "Dichiarazione di ambito(claim) etichetta archiviazione",
|
||||
"oauth_storage_label_claim_description": "Imposta automaticamente l'etichetta dell'archiviazione dell'utente al valore di questa dichiarazione di ambito(claim).",
|
||||
"oauth_storage_quota_claim": "Dichiarazione di ambito(claim) limite archiviazione",
|
||||
"oauth_storage_quota_claim_description": "Imposta automaticamente il limite di archiviazione dell'utente in base al valore di questa dichiarazione di ambito(claim).",
|
||||
"oauth_storage_quota_default": "Limite predefinito di archiviazione (GiB)",
|
||||
"oauth_storage_quota_default_description": "Limite in GiB da usare quanto nessuna dichiarazione di ambito(claim) è stata fornita (Inserisci 0 per archiviazione illimitata).",
|
||||
"oauth_timeout": "Timeout Richiesta",
|
||||
"oauth_timeout_description": "Timeout per le richieste, espresso in millisecondi",
|
||||
"offline_paths": "Percorsi offline",
|
||||
"offline_paths_description": "Questi risultati potrebbero essere dovuti all'eliminazione manuale di file che non fanno parte di una libreria esterna.",
|
||||
"password_enable_description": "Login con email e password",
|
||||
@@ -352,6 +349,7 @@
|
||||
"user_delete_delay_settings_description": "Numero di giorni dopo l'eliminazione per cancellare in modo definitivo l'account e gli asset di un utente. Il processo di cancellazione dell'utente viene eseguito a mezzanotte per verificare se esistono utenti pronti a essere eliminati. Le modifiche a questa impostazioni saranno prese in considerazione dalla prossima esecuzione.",
|
||||
"user_delete_immediately": "L'account e tutti gli asset dell'utente <b>{user}</b> verranno messi in coda per la cancellazione permanente <b>immediata</b>.",
|
||||
"user_delete_immediately_checkbox": "utente",
|
||||
"user_details": "Dettagli Utente",
|
||||
"user_management": "Gestione Utenti",
|
||||
"user_password_has_been_reset": "La password dell'utente è stata reimpostata:",
|
||||
"user_password_reset_description": "Per favore inserisci una password temporanea per l'utente e informalo che dovrà cambiare la password al prossimo login.",
|
||||
@@ -373,7 +371,7 @@
|
||||
"advanced": "Avanzate",
|
||||
"advanced_settings_enable_alternate_media_filter_subtitle": "Usa questa opzione per filtrare i contenuti multimediali durante la sincronizzazione in base a criteri alternativi. Prova questa opzione solo se riscontri problemi con il rilevamento di tutti gli album da parte dell'app.",
|
||||
"advanced_settings_enable_alternate_media_filter_title": "[SPERIMENTALE] Usa un filtro alternativo per la sincronizzazione degli album del dispositivo",
|
||||
"advanced_settings_log_level_title": "Livello log: {}",
|
||||
"advanced_settings_log_level_title": "Livello log: {level}",
|
||||
"advanced_settings_prefer_remote_subtitle": "Alcuni dispositivi sono molto lenti a caricare le anteprime delle immagini dal dispositivo. Attivare questa impostazione per caricare invece le immagini remote.",
|
||||
"advanced_settings_prefer_remote_title": "Preferisci immagini remote",
|
||||
"advanced_settings_proxy_headers_subtitle": "Definisci gli header per i proxy che Immich dovrebbe inviare con ogni richiesta di rete",
|
||||
@@ -404,9 +402,9 @@
|
||||
"album_remove_user_confirmation": "Sicuro di voler rimuovere l'utente {user}?",
|
||||
"album_share_no_users": "Sembra che tu abbia condiviso questo album con tutti gli utenti oppure non hai nessun utente con cui condividere.",
|
||||
"album_thumbnail_card_item": "1 elemento",
|
||||
"album_thumbnail_card_items": "{} elementi",
|
||||
"album_thumbnail_card_items": "{count} elementi",
|
||||
"album_thumbnail_card_shared": " · Condiviso",
|
||||
"album_thumbnail_shared_by": "Condiviso da {}",
|
||||
"album_thumbnail_shared_by": "Condiviso da {user}",
|
||||
"album_updated": "Album aggiornato",
|
||||
"album_updated_setting_description": "Ricevi una notifica email quando un album condiviso ha nuovi media",
|
||||
"album_user_left": "{album} abbandonato",
|
||||
@@ -444,7 +442,7 @@
|
||||
"archive": "Archivio",
|
||||
"archive_or_unarchive_photo": "Archivia o ripristina foto",
|
||||
"archive_page_no_archived_assets": "Nessuna oggetto archiviato",
|
||||
"archive_page_title": "Archivio ({})",
|
||||
"archive_page_title": "Archivio ({count})",
|
||||
"archive_size": "Dimensioni Archivio",
|
||||
"archive_size_description": "Imposta le dimensioni dell'archivio per i download (in GiB)",
|
||||
"archived": "Archiviati",
|
||||
@@ -481,18 +479,18 @@
|
||||
"assets_added_to_album_count": "{count, plural, one {# asset aggiunto} other {# asset aggiunti}} all'album",
|
||||
"assets_added_to_name_count": "Aggiunti {count, plural, one {# asset} other {# assets}} a {hasName, select, true {<b>{name}</b>} other {new album}}",
|
||||
"assets_count": "{count, plural, other {# asset}}",
|
||||
"assets_deleted_permanently": "{} elementi rimossi definitivamente",
|
||||
"assets_deleted_permanently_from_server": "{} elementi rimossi definitivamente dal server Immich",
|
||||
"assets_deleted_permanently": "{count} elementi cancellati definitivamente",
|
||||
"assets_deleted_permanently_from_server": "{count} elementi cancellati definitivamente dal server Immich",
|
||||
"assets_moved_to_trash_count": "{count, plural, one {# asset spostato} other {# asset spostati}} nel cestino",
|
||||
"assets_permanently_deleted_count": "{count, plural, one {# asset cancellato} other {# asset cancellati}} definitivamente",
|
||||
"assets_removed_count": "{count, plural, one {# asset rimosso} other {# asset rimossi}}",
|
||||
"assets_removed_permanently_from_device": "{} elementi rimossi definitivamente dal tuo dispositivo",
|
||||
"assets_removed_permanently_from_device": "{count} elementi cancellati definitivamente dal tuo dispositivo",
|
||||
"assets_restore_confirmation": "Sei sicuro di voler ripristinare tutti gli asset cancellati? Non puoi annullare questa azione! Tieni presente che eventuali risorse offline NON possono essere ripristinate in questo modo.",
|
||||
"assets_restored_count": "{count, plural, one {# asset ripristinato} other {# asset ripristinati}}",
|
||||
"assets_restored_successfully": "{} elementi ripristinati",
|
||||
"assets_trashed": "{} elementi cestinati",
|
||||
"assets_restored_successfully": "{count} elementi ripristinati",
|
||||
"assets_trashed": "{count} elementi cestinati",
|
||||
"assets_trashed_count": "{count, plural, one {Spostato # asset} other {Spostati # assets}} nel cestino",
|
||||
"assets_trashed_from_server": "{} elementi cestinati dal server Immich",
|
||||
"assets_trashed_from_server": "{count} elementi cestinati dal server Immich",
|
||||
"assets_were_part_of_album_count": "{count, plural, one {L'asset era} other {Gli asset erano}} già parte dell'album",
|
||||
"authorized_devices": "Dispositivi autorizzati",
|
||||
"automatic_endpoint_switching_subtitle": "Connetti localmente quando la rete Wi-Fi specificata è disponibile e usa le connessioni alternative negli altri casi",
|
||||
@@ -501,7 +499,7 @@
|
||||
"back_close_deselect": "Indietro, chiudi o deseleziona",
|
||||
"background_location_permission": "Permesso di localizzazione in background",
|
||||
"background_location_permission_content": "Per fare in modo che sia possibile cambiare rete quando è in esecuzione in background, Immich deve *sempre* avere accesso alla tua posizione precisa in modo da poter leggere il nome della rete Wi-Fi",
|
||||
"backup_album_selection_page_albums_device": "Album sul dispositivo ({})",
|
||||
"backup_album_selection_page_albums_device": "Album sul dispositivo ({count})",
|
||||
"backup_album_selection_page_albums_tap": "Tap per includere, doppio tap per escludere",
|
||||
"backup_album_selection_page_assets_scatter": "Visto che le risorse possono trovarsi in più album, questi possono essere inclusi o esclusi dal backup.",
|
||||
"backup_album_selection_page_select_albums": "Seleziona gli album",
|
||||
@@ -510,11 +508,11 @@
|
||||
"backup_all": "Tutti",
|
||||
"backup_background_service_backup_failed_message": "Impossibile caricare i contenuti. Riprovo…",
|
||||
"backup_background_service_connection_failed_message": "Impossibile connettersi al server. Riprovo…",
|
||||
"backup_background_service_current_upload_notification": "Caricamento {}",
|
||||
"backup_background_service_current_upload_notification": "Caricamento di {filename} in corso",
|
||||
"backup_background_service_default_notification": "Ricerca di nuovi contenuti…",
|
||||
"backup_background_service_error_title": "Errore di backup",
|
||||
"backup_background_service_in_progress_notification": "Backup dei tuoi contenuti…",
|
||||
"backup_background_service_upload_failure_notification": "Impossibile caricare {}",
|
||||
"backup_background_service_upload_failure_notification": "Impossibile caricare {filename}",
|
||||
"backup_controller_page_albums": "Backup Album",
|
||||
"backup_controller_page_background_app_refresh_disabled_content": "Attiva l'aggiornamento dell'app in background in Impostazioni > Generale > Aggiorna app in background per utilizzare backup in background.",
|
||||
"backup_controller_page_background_app_refresh_disabled_title": "Backup in background è disattivo",
|
||||
@@ -525,22 +523,22 @@
|
||||
"backup_controller_page_background_battery_info_title": "Ottimizzazioni batteria",
|
||||
"backup_controller_page_background_charging": "Solo durante la ricarica",
|
||||
"backup_controller_page_background_configure_error": "Impossibile configurare i servizi in background",
|
||||
"backup_controller_page_background_delay": "Ritarda il backup di nuovi elementi: {}",
|
||||
"backup_controller_page_background_delay": "Ritarda il backup di nuovi elementi: {duration}",
|
||||
"backup_controller_page_background_description": "Abilita i servizi in background per fare il backup di tutti i nuovi contenuti senza la necessità di aprire l'app",
|
||||
"backup_controller_page_background_is_off": "Backup automatico disattivato",
|
||||
"backup_controller_page_background_is_on": "Backup automatico attivo",
|
||||
"backup_controller_page_background_turn_off": "Disabilita servizi in background",
|
||||
"backup_controller_page_background_turn_on": "Abilita servizi in background",
|
||||
"backup_controller_page_background_wifi": "Solo su WiFi",
|
||||
"backup_controller_page_background_wifi": "Solo Wi-Fi",
|
||||
"backup_controller_page_backup": "Backup",
|
||||
"backup_controller_page_backup_selected": "Selezionati: ",
|
||||
"backup_controller_page_backup_sub": "Foto e video caricati",
|
||||
"backup_controller_page_created": "Creato il: {}",
|
||||
"backup_controller_page_created": "Creato il: {date}",
|
||||
"backup_controller_page_desc_backup": "Attiva il backup per eseguire il caricamento automatico sul server all'apertura dell'applicazione.",
|
||||
"backup_controller_page_excluded": "Esclusi: ",
|
||||
"backup_controller_page_failed": "Falliti: ({})",
|
||||
"backup_controller_page_filename": "Nome file: {} [{}]",
|
||||
"backup_controller_page_id": "ID: {}",
|
||||
"backup_controller_page_failed": "Falliti: ({count})",
|
||||
"backup_controller_page_filename": "Nome file: {filename} [{size}]",
|
||||
"backup_controller_page_id": "ID: {id}",
|
||||
"backup_controller_page_info": "Informazioni sul backup",
|
||||
"backup_controller_page_none_selected": "Nessuna selezione",
|
||||
"backup_controller_page_remainder": "Rimanenti",
|
||||
@@ -549,7 +547,7 @@
|
||||
"backup_controller_page_start_backup": "Avvia backup",
|
||||
"backup_controller_page_status_off": "Backup è disattivato",
|
||||
"backup_controller_page_status_on": "Backup è attivato",
|
||||
"backup_controller_page_storage_format": "{} di {} usati",
|
||||
"backup_controller_page_storage_format": "{used} di {total} usati",
|
||||
"backup_controller_page_to_backup": "Album da caricare",
|
||||
"backup_controller_page_total_sub": "Tutte le foto e i video unici caricati dagli album selezionati",
|
||||
"backup_controller_page_turn_off": "Disattiva backup",
|
||||
@@ -574,21 +572,21 @@
|
||||
"bulk_keep_duplicates_confirmation": "Sei sicuro di voler tenere {count, plural, one {# asset duplicato} other {# assets duplicati}}? Questa operazione risolverà tutti i gruppi duplicati senza cancellare nulla.",
|
||||
"bulk_trash_duplicates_confirmation": "Sei davvero sicuro di voler cancellare {count, plural, one {# asset duplicato} other {# assets duplicati}}? Questa operazione manterrà l'asset più pesante di ogni gruppo e cancellerà permanentemente tutti gli altri duplicati.",
|
||||
"buy": "Acquista Immich",
|
||||
"cache_settings_album_thumbnails": "Anteprime pagine librerie ({} elementi)",
|
||||
"cache_settings_album_thumbnails": "Anteprime pagine librerie ({count} elementi)",
|
||||
"cache_settings_clear_cache_button": "Pulisci cache",
|
||||
"cache_settings_clear_cache_button_title": "Pulisce la cache dell'app. Questo impatterà significativamente le prestazioni dell''app fino a quando la cache non sarà rigenerata.",
|
||||
"cache_settings_duplicated_assets_clear_button": "PULISCI",
|
||||
"cache_settings_duplicated_assets_subtitle": "Foto e video che sono nella black list dell'applicazione",
|
||||
"cache_settings_duplicated_assets_title": "Elementi duplicati ({})",
|
||||
"cache_settings_image_cache_size": "Dimensione cache delle immagini ({} elementi)",
|
||||
"cache_settings_duplicated_assets_title": "Elementi duplicati ({count})",
|
||||
"cache_settings_image_cache_size": "Dimensione cache delle immagini ({count} elementi)",
|
||||
"cache_settings_statistics_album": "Anteprime librerie",
|
||||
"cache_settings_statistics_assets": "{} elementi ({})",
|
||||
"cache_settings_statistics_assets": "{count} elementi ({size})",
|
||||
"cache_settings_statistics_full": "Immagini complete",
|
||||
"cache_settings_statistics_shared": "Anteprime album condivisi",
|
||||
"cache_settings_statistics_thumbnail": "Anteprime",
|
||||
"cache_settings_statistics_title": "Uso della cache",
|
||||
"cache_settings_subtitle": "Controlla il comportamento della cache dell'applicazione mobile immich",
|
||||
"cache_settings_thumbnail_size": "Dimensione cache anteprime ({} elementi)",
|
||||
"cache_settings_thumbnail_size": "Dimensione cache anteprime ({count} elementi)",
|
||||
"cache_settings_tile_subtitle": "Controlla il comportamento dello storage locale",
|
||||
"cache_settings_tile_title": "Archiviazione locale",
|
||||
"cache_settings_title": "Impostazioni della Cache",
|
||||
@@ -614,6 +612,7 @@
|
||||
"change_password_form_new_password": "Nuova Password",
|
||||
"change_password_form_password_mismatch": "Le password non coincidono",
|
||||
"change_password_form_reenter_new_password": "Inserisci ancora la nuova password",
|
||||
"change_pin_code": "Cambia il codice PIN",
|
||||
"change_your_password": "Modifica la tua password",
|
||||
"changed_visibility_successfully": "Visibilità modificata con successo",
|
||||
"check_all": "Controlla Tutti",
|
||||
@@ -654,11 +653,12 @@
|
||||
"confirm_delete_face": "Sei sicuro di voler cancellare il volto di {name} dall'asset?",
|
||||
"confirm_delete_shared_link": "Sei sicuro di voler eliminare questo link condiviso?",
|
||||
"confirm_keep_this_delete_others": "Tutti gli altri asset nello stack saranno eliminati, eccetto questo asset. Sei sicuro di voler continuare?",
|
||||
"confirm_new_pin_code": "Conferma il nuovo codice PIN",
|
||||
"confirm_password": "Conferma password",
|
||||
"contain": "Adatta alla finestra",
|
||||
"context": "Contesto",
|
||||
"continue": "Continua",
|
||||
"control_bottom_app_bar_album_info_shared": "{} elementi · Condivisi",
|
||||
"control_bottom_app_bar_album_info_shared": "{count} elementi · Condivisi",
|
||||
"control_bottom_app_bar_create_new_album": "Crea nuovo album",
|
||||
"control_bottom_app_bar_delete_from_immich": "Elimina da Immich",
|
||||
"control_bottom_app_bar_delete_from_local": "Elimina dal dispositivo",
|
||||
@@ -696,9 +696,11 @@
|
||||
"create_tag_description": "Crea un nuovo tag. Per i tag annidati, si prega di inserire il percorso completo del tag tra cui barre oblique.",
|
||||
"create_user": "Crea utente",
|
||||
"created": "Creato",
|
||||
"created_at": "Creato il",
|
||||
"crop": "Ritaglia",
|
||||
"curated_object_page_title": "Oggetti",
|
||||
"current_device": "Dispositivo attuale",
|
||||
"current_pin_code": "Attuale codice PIN",
|
||||
"current_server_address": "Indirizzo del server in uso",
|
||||
"custom_locale": "Localizzazione personalizzata",
|
||||
"custom_locale_description": "Formatta data e numeri in base alla lingua e al paese",
|
||||
@@ -767,7 +769,7 @@
|
||||
"download_enqueue": "Download in coda",
|
||||
"download_error": "Errore durante il download",
|
||||
"download_failed": "Download fallito",
|
||||
"download_filename": "file: {}",
|
||||
"download_filename": "file: {filename}",
|
||||
"download_finished": "Download terminato",
|
||||
"download_include_embedded_motion_videos": "Video incorporati",
|
||||
"download_include_embedded_motion_videos_description": "Includere i video incorporati nelle foto in movimento come file separato",
|
||||
@@ -811,6 +813,7 @@
|
||||
"editor_crop_tool_h2_aspect_ratios": "Proporzioni",
|
||||
"editor_crop_tool_h2_rotation": "Rotazione",
|
||||
"email": "Email",
|
||||
"email_notifications": "Notifiche email",
|
||||
"empty_folder": "La cartella è vuota",
|
||||
"empty_trash": "Svuota cestino",
|
||||
"empty_trash_confirmation": "Sei sicuro di volere svuotare il cestino? Questo rimuoverà tutte le risorse nel cestino in modo permanente da Immich.\nNon puoi annullare questa azione!",
|
||||
@@ -823,7 +826,7 @@
|
||||
"error_change_sort_album": "Errore nel cambiare l'ordine di degli album",
|
||||
"error_delete_face": "Errore nel cancellare la faccia dalla foto",
|
||||
"error_loading_image": "Errore nel caricamento dell'immagine",
|
||||
"error_saving_image": "Errore: {}",
|
||||
"error_saving_image": "Errore: {error}",
|
||||
"error_title": "Errore - Qualcosa è andato storto",
|
||||
"errors": {
|
||||
"cannot_navigate_next_asset": "Impossibile passare alla risorsa successiva",
|
||||
@@ -853,10 +856,12 @@
|
||||
"failed_to_keep_this_delete_others": "Impossibile conservare questa risorsa ed eliminare le altre risorse",
|
||||
"failed_to_load_asset": "Errore durante il caricamento della risorsa",
|
||||
"failed_to_load_assets": "Errore durante il caricamento delle risorse",
|
||||
"failed_to_load_notifications": "Errore nel caricamento delle notifiche",
|
||||
"failed_to_load_people": "Caricamento delle persone non riuscito",
|
||||
"failed_to_remove_product_key": "Rimozione del codice del prodotto fallita",
|
||||
"failed_to_stack_assets": "Errore durante il raggruppamento degli assets",
|
||||
"failed_to_unstack_assets": "Errore durante la separazione degli assets",
|
||||
"failed_to_update_notification_status": "Aggiornamento stato notifiche fallito",
|
||||
"import_path_already_exists": "Questo percorso di importazione già esiste.",
|
||||
"incorrect_email_or_password": "Email o password non corretta",
|
||||
"paths_validation_failed": "{paths, plural, one {# percorso} other {# percorsi}} hanno fallito la validazione",
|
||||
@@ -924,6 +929,7 @@
|
||||
"unable_to_remove_reaction": "Impossibile rimuovere reazione",
|
||||
"unable_to_repair_items": "Impossibile riparare elementi",
|
||||
"unable_to_reset_password": "Impossibile reimpostare la password",
|
||||
"unable_to_reset_pin_code": "Impossibile resettare il codice PIN",
|
||||
"unable_to_resolve_duplicate": "Impossibile risolvere duplicato",
|
||||
"unable_to_restore_assets": "Impossibile ripristinare gli asset",
|
||||
"unable_to_restore_trash": "Impossibile ripristinare cestino",
|
||||
@@ -957,10 +963,10 @@
|
||||
"exif_bottom_sheet_location": "POSIZIONE",
|
||||
"exif_bottom_sheet_people": "PERSONE",
|
||||
"exif_bottom_sheet_person_add_person": "Aggiungi nome",
|
||||
"exif_bottom_sheet_person_age": "Età {}",
|
||||
"exif_bottom_sheet_person_age_months": "Età {} mesi",
|
||||
"exif_bottom_sheet_person_age_year_months": "Età 1 anno e {} mesi",
|
||||
"exif_bottom_sheet_person_age_years": "Età {}",
|
||||
"exif_bottom_sheet_person_age": "Età {age}",
|
||||
"exif_bottom_sheet_person_age_months": "Età {months} mesi",
|
||||
"exif_bottom_sheet_person_age_year_months": "Età 1 anno e {months} mesi",
|
||||
"exif_bottom_sheet_person_age_years": "Età {years}",
|
||||
"exit_slideshow": "Esci dalla presentazione",
|
||||
"expand_all": "Espandi tutto",
|
||||
"experimental_settings_new_asset_list_subtitle": "Lavori in corso",
|
||||
@@ -1050,6 +1056,7 @@
|
||||
"home_page_upload_err_limit": "Puoi caricare al massimo 30 file per volta, ignora quelli in eccesso",
|
||||
"host": "Host",
|
||||
"hour": "Ora",
|
||||
"id": "ID",
|
||||
"ignore_icloud_photos": "Ignora foto iCloud",
|
||||
"ignore_icloud_photos_description": "Le foto che sono memorizzate su iCloud non verranno caricate sul server Immich",
|
||||
"image": "Immagine",
|
||||
@@ -1125,7 +1132,7 @@
|
||||
"local_network": "Rete locale",
|
||||
"local_network_sheet_info": "L'app si collegherà al server tramite questo URL quando è in uso la rete Wi-Fi specificata",
|
||||
"location_permission": "Permesso di localizzazione",
|
||||
"location_permission_content": "Per usare la funzione di cambio automatico, Immich necessita del permesso di localizzazione precisa così da poter leggere il nome della rete Wi-Fi in uso",
|
||||
"location_permission_content": "Per usare la funzione di cambio automatico, Immich necessita del permesso di localizzazione così da poter leggere il nome della rete Wi-Fi in uso",
|
||||
"location_picker_choose_on_map": "Scegli una mappa",
|
||||
"location_picker_latitude_error": "Inserisci una latitudine valida",
|
||||
"location_picker_latitude_hint": "Inserisci la tua latitudine qui",
|
||||
@@ -1175,8 +1182,8 @@
|
||||
"manage_your_devices": "Gestisci i tuoi dispositivi collegati",
|
||||
"manage_your_oauth_connection": "Gestisci la tua connessione OAuth",
|
||||
"map": "Mappa",
|
||||
"map_assets_in_bound": "{} foto",
|
||||
"map_assets_in_bounds": "{} foto",
|
||||
"map_assets_in_bound": "{count} foto",
|
||||
"map_assets_in_bounds": "{count} foto",
|
||||
"map_cannot_get_user_location": "Non è possibile ottenere la posizione dell'utente",
|
||||
"map_location_dialog_yes": "Si",
|
||||
"map_location_picker_page_use_location": "Usa questa posizione",
|
||||
@@ -1190,15 +1197,18 @@
|
||||
"map_settings": "Impostazioni Mappa",
|
||||
"map_settings_dark_mode": "Modalità scura",
|
||||
"map_settings_date_range_option_day": "Ultime 24 ore",
|
||||
"map_settings_date_range_option_days": "Ultimi {} giorni",
|
||||
"map_settings_date_range_option_days": "Ultimi {days} giorni",
|
||||
"map_settings_date_range_option_year": "Ultimo anno",
|
||||
"map_settings_date_range_option_years": "Ultimi {} anni",
|
||||
"map_settings_date_range_option_years": "Ultimi {years} anni",
|
||||
"map_settings_dialog_title": "Impostazioni Mappa",
|
||||
"map_settings_include_show_archived": "Includi Archiviati",
|
||||
"map_settings_include_show_partners": "Includi Partner",
|
||||
"map_settings_only_show_favorites": "Mostra solo preferiti",
|
||||
"map_settings_theme_settings": "Tema della mappa",
|
||||
"map_zoom_to_see_photos": "Riduci lo zoom per vedere le foto",
|
||||
"mark_all_as_read": "Segna tutto come letto",
|
||||
"mark_as_read": "Segna come letto",
|
||||
"marked_all_as_read": "Segnato tutto come letto",
|
||||
"matches": "Corrispondenze",
|
||||
"media_type": "Tipo Media",
|
||||
"memories": "Ricordi",
|
||||
@@ -1208,7 +1218,7 @@
|
||||
"memories_start_over": "Ricomincia",
|
||||
"memories_swipe_to_close": "Scorri sopra per chiudere",
|
||||
"memories_year_ago": "Una anno fa",
|
||||
"memories_years_ago": "{} anni fa",
|
||||
"memories_years_ago": "{years, plural, other {# years}} anni fa",
|
||||
"memory": "Memoria",
|
||||
"memory_lane_title": "Sentiero dei Ricordi {title}",
|
||||
"menu": "Menu",
|
||||
@@ -1225,6 +1235,8 @@
|
||||
"month": "Mese",
|
||||
"monthly_title_text_date_format": "MMMM y",
|
||||
"more": "Di più",
|
||||
"moved_to_archive": "Spostati {count, plural, one {# asset} other {# assets}} nell'archivio",
|
||||
"moved_to_library": "Spostati {count, plural, one {# asset} other {# assets}} nella libreria",
|
||||
"moved_to_trash": "Spostato nel cestino",
|
||||
"multiselect_grid_edit_date_time_err_read_only": "Non puoi modificare la data di risorse in sola lettura, azione ignorata",
|
||||
"multiselect_grid_edit_gps_err_read_only": "Non puoi modificare la posizione di risorse in sola lettura, azione ignorata",
|
||||
@@ -1239,6 +1251,7 @@
|
||||
"new_api_key": "Nuova Chiave di API",
|
||||
"new_password": "Nuova password",
|
||||
"new_person": "Nuova persona",
|
||||
"new_pin_code": "Nuovo codice PIN",
|
||||
"new_user_created": "Nuovo utente creato",
|
||||
"new_version_available": "NUOVA VERSIONE DISPONIBILE",
|
||||
"newest_first": "Prima recenti",
|
||||
@@ -1257,6 +1270,8 @@
|
||||
"no_favorites_message": "Aggiungi preferiti per trovare facilmente le tue migliori foto e video",
|
||||
"no_libraries_message": "Crea una libreria esterna per vedere le tue foto e i tuoi video",
|
||||
"no_name": "Nessun nome",
|
||||
"no_notifications": "Nessuna notifica",
|
||||
"no_people_found": "Nessuna persona trovata",
|
||||
"no_places": "Nessun posto",
|
||||
"no_results": "Nessun risultato",
|
||||
"no_results_description": "Prova ad usare un sinonimo oppure una parola chiave più generica",
|
||||
@@ -1311,7 +1326,7 @@
|
||||
"partner_page_partner_add_failed": "Aggiunta del partner non riuscita",
|
||||
"partner_page_select_partner": "Seleziona partner",
|
||||
"partner_page_shared_to_title": "Condividi con",
|
||||
"partner_page_stop_sharing_content": "{} non sarà più in grado di accedere alle tue foto.",
|
||||
"partner_page_stop_sharing_content": "{partner} non sarà più in grado di accedere alle tue foto.",
|
||||
"partner_sharing": "Condivisione Compagno",
|
||||
"partners": "Compagni",
|
||||
"password": "Password",
|
||||
@@ -1357,6 +1372,9 @@
|
||||
"photos_count": "{count, plural, one {{count, number} Foto} other {{count, number} Foto}}",
|
||||
"photos_from_previous_years": "Foto degli anni scorsi",
|
||||
"pick_a_location": "Scegli una posizione",
|
||||
"pin_code_changed_successfully": "Codice PIN cambiato",
|
||||
"pin_code_reset_successfully": "Codice PIN resettato con successo",
|
||||
"pin_code_setup_successfully": "Codice PIN cambiato con successo",
|
||||
"place": "Posizione",
|
||||
"places": "Luoghi",
|
||||
"places_count": "{count, plural, one {{count, number} Luogo} other {{count, number} Places}}",
|
||||
@@ -1374,6 +1392,7 @@
|
||||
"previous_or_next_photo": "Precedente o prossima foto",
|
||||
"primary": "Primario",
|
||||
"privacy": "Privacy",
|
||||
"profile": "Profilo",
|
||||
"profile_drawer_app_logs": "Registri",
|
||||
"profile_drawer_client_out_of_date_major": "L'applicazione non è aggiornata. Per favore aggiorna all'ultima versione principale.",
|
||||
"profile_drawer_client_out_of_date_minor": "L'applicazione non è aggiornata. Per favore aggiorna all'ultima versione minore.",
|
||||
@@ -1387,7 +1406,7 @@
|
||||
"public_share": "Condivisione Pubblica",
|
||||
"purchase_account_info": "Contributore",
|
||||
"purchase_activated_subtitle": "Grazie per supportare Immich e i software open source",
|
||||
"purchase_activated_time": "Attivato il {date, date}",
|
||||
"purchase_activated_time": "Attivato il {date}",
|
||||
"purchase_activated_title": "La tua chiave è stata attivata con successo",
|
||||
"purchase_button_activate": "Attiva",
|
||||
"purchase_button_buy": "Acquista",
|
||||
@@ -1432,6 +1451,8 @@
|
||||
"recent_searches": "Ricerche recenti",
|
||||
"recently_added": "Aggiunti recentemente",
|
||||
"recently_added_page_title": "Aggiunti di recente",
|
||||
"recently_taken": "Scattate di recente",
|
||||
"recently_taken_page_title": "Scattate di Recente",
|
||||
"refresh": "Aggiorna",
|
||||
"refresh_encoded_videos": "Ricarica video codificati",
|
||||
"refresh_faces": "Aggiorna facce",
|
||||
@@ -1474,6 +1495,7 @@
|
||||
"reset": "Ripristina",
|
||||
"reset_password": "Ripristina password",
|
||||
"reset_people_visibility": "Ripristina visibilità persone",
|
||||
"reset_pin_code": "Resetta il codice PIN",
|
||||
"reset_to_default": "Ripristina i valori predefiniti",
|
||||
"resolve_duplicates": "Risolvi duplicati",
|
||||
"resolved_all_duplicates": "Tutti i duplicati sono stati risolti",
|
||||
@@ -1566,6 +1588,7 @@
|
||||
"select_keep_all": "Seleziona mantieni tutto",
|
||||
"select_library_owner": "Seleziona proprietario libreria",
|
||||
"select_new_face": "Seleziona nuovo volto",
|
||||
"select_person_to_tag": "Seleziona una persona da taggare",
|
||||
"select_photos": "Seleziona foto",
|
||||
"select_trash_all": "Seleziona cestina tutto",
|
||||
"select_user_for_sharing_page_err_album": "Impossibile nel creare l'album",
|
||||
@@ -1596,12 +1619,12 @@
|
||||
"setting_languages_apply": "Applica",
|
||||
"setting_languages_subtitle": "Cambia la lingua dell'app",
|
||||
"setting_languages_title": "Lingue",
|
||||
"setting_notifications_notify_failures_grace_period": "Notifica caricamenti falliti in background: {}",
|
||||
"setting_notifications_notify_hours": "{} ore",
|
||||
"setting_notifications_notify_failures_grace_period": "Notifica caricamenti falliti in background: {duration}",
|
||||
"setting_notifications_notify_hours": "{count} ore",
|
||||
"setting_notifications_notify_immediately": "immediatamente",
|
||||
"setting_notifications_notify_minutes": "{} minuti",
|
||||
"setting_notifications_notify_minutes": "{count} minuti",
|
||||
"setting_notifications_notify_never": "mai",
|
||||
"setting_notifications_notify_seconds": "{} secondi",
|
||||
"setting_notifications_notify_seconds": "{count} secondi",
|
||||
"setting_notifications_single_progress_subtitle": "Informazioni dettagliate sul caricamento della risorsa",
|
||||
"setting_notifications_single_progress_title": "Mostra avanzamento dettagliato del backup in background",
|
||||
"setting_notifications_subtitle": "Cambia le impostazioni di notifica",
|
||||
@@ -1613,9 +1636,10 @@
|
||||
"settings": "Impostazioni",
|
||||
"settings_require_restart": "Si prega di riavviare Immich perché vengano applicate le impostazioni",
|
||||
"settings_saved": "Impostazioni salvate",
|
||||
"setup_pin_code": "Configura un codice PIN",
|
||||
"share": "Condivisione",
|
||||
"share_add_photos": "Aggiungi foto",
|
||||
"share_assets_selected": "{} selezionati",
|
||||
"share_assets_selected": "{count} selezionati",
|
||||
"share_dialog_preparing": "Preparo…",
|
||||
"shared": "Condivisi",
|
||||
"shared_album_activities_input_disable": "I commenti sono disabilitati",
|
||||
@@ -1629,32 +1653,32 @@
|
||||
"shared_by_user": "Condiviso da {user}",
|
||||
"shared_by_you": "Condiviso da te",
|
||||
"shared_from_partner": "Foto da {partner}",
|
||||
"shared_intent_upload_button_progress_text": "{} / {} Inviati",
|
||||
"shared_intent_upload_button_progress_text": "{current} / {total} Caricati",
|
||||
"shared_link_app_bar_title": "Link condivisi",
|
||||
"shared_link_clipboard_copied_massage": "Copiato negli appunti",
|
||||
"shared_link_clipboard_text": "Link: {}\nPassword: {}",
|
||||
"shared_link_clipboard_text": "Link: {link}\nPassword: {password}",
|
||||
"shared_link_create_error": "Si è verificato un errore durante la creazione del link condiviso",
|
||||
"shared_link_edit_description_hint": "Inserisci la descrizione della condivisione",
|
||||
"shared_link_edit_expire_after_option_day": "1 giorno",
|
||||
"shared_link_edit_expire_after_option_days": "{} giorni",
|
||||
"shared_link_edit_expire_after_option_days": "{count} giorni",
|
||||
"shared_link_edit_expire_after_option_hour": "1 ora",
|
||||
"shared_link_edit_expire_after_option_hours": "{} ore",
|
||||
"shared_link_edit_expire_after_option_hours": "{count} ore",
|
||||
"shared_link_edit_expire_after_option_minute": "1 minuto",
|
||||
"shared_link_edit_expire_after_option_minutes": "{} minuti",
|
||||
"shared_link_edit_expire_after_option_months": "{} mesi",
|
||||
"shared_link_edit_expire_after_option_year": "{} anno",
|
||||
"shared_link_edit_expire_after_option_minutes": "{count} minuti",
|
||||
"shared_link_edit_expire_after_option_months": "{count} mesi",
|
||||
"shared_link_edit_expire_after_option_year": "{count} anno",
|
||||
"shared_link_edit_password_hint": "Inserire la password di condivisione",
|
||||
"shared_link_edit_submit_button": "Aggiorna link",
|
||||
"shared_link_error_server_url_fetch": "Non è possibile trovare l'indirizzo del server",
|
||||
"shared_link_expires_day": "Scade tra {} giorno",
|
||||
"shared_link_expires_days": "Scade tra {} giorni",
|
||||
"shared_link_expires_hour": "Scade tra {} ora",
|
||||
"shared_link_expires_hours": "Scade tra {} ore",
|
||||
"shared_link_expires_minute": "Scade tra {} minuto",
|
||||
"shared_link_expires_minutes": "Scade tra {} minuti",
|
||||
"shared_link_expires_day": "Scade tra {count} giorno",
|
||||
"shared_link_expires_days": "Scade tra {count} giorni",
|
||||
"shared_link_expires_hour": "Scade tra {count} ora",
|
||||
"shared_link_expires_hours": "Scade tra {count} ore",
|
||||
"shared_link_expires_minute": "Scade tra {count} minuto",
|
||||
"shared_link_expires_minutes": "Scade tra {count} minuti",
|
||||
"shared_link_expires_never": "Scadenza ∞",
|
||||
"shared_link_expires_second": "Scade tra {} secondo",
|
||||
"shared_link_expires_seconds": "Scade tra {} secondi",
|
||||
"shared_link_expires_second": "Scade tra {count} secondo",
|
||||
"shared_link_expires_seconds": "Scade tra {count} secondi",
|
||||
"shared_link_individual_shared": "Condiviso individualmente",
|
||||
"shared_link_info_chip_metadata": "EXIF",
|
||||
"shared_link_manage_links": "Gestisci link condivisi",
|
||||
@@ -1729,6 +1753,7 @@
|
||||
"stop_sharing_photos_with_user": "Interrompi la condivisione delle tue foto con questo utente",
|
||||
"storage": "Spazio di archiviazione",
|
||||
"storage_label": "Etichetta archiviazione",
|
||||
"storage_quota": "Limite Archiviazione",
|
||||
"storage_usage": "{used} di {available} utilizzati",
|
||||
"submit": "Invia",
|
||||
"suggestions": "Suggerimenti",
|
||||
@@ -1755,7 +1780,7 @@
|
||||
"theme_selection": "Selezione tema",
|
||||
"theme_selection_description": "Imposta automaticamente il tema chiaro o scuro in base all'impostazione del tuo browser",
|
||||
"theme_setting_asset_list_storage_indicator_title": "Mostra indicatore dello storage nei titoli dei contenuti",
|
||||
"theme_setting_asset_list_tiles_per_row_title": "Numero di elementi per riga ({})",
|
||||
"theme_setting_asset_list_tiles_per_row_title": "Numero di elementi per riga ({count})",
|
||||
"theme_setting_colorful_interface_subtitle": "Applica il colore primario alle superfici di sfondo.",
|
||||
"theme_setting_colorful_interface_title": "Interfaccia colorata",
|
||||
"theme_setting_image_viewer_quality_subtitle": "Cambia la qualità del dettaglio dell'immagine",
|
||||
@@ -1790,13 +1815,15 @@
|
||||
"trash_no_results_message": "Le foto cestinate saranno mostrate qui.",
|
||||
"trash_page_delete_all": "Elimina tutti",
|
||||
"trash_page_empty_trash_dialog_content": "Vuoi eliminare gli elementi nel cestino? Questi elementi saranno eliminati definitivamente da Immich",
|
||||
"trash_page_info": "Gli elementi cestinati saranno eliminati definitivamente dopo {} giorni",
|
||||
"trash_page_info": "Gli elementi cestinati saranno eliminati definitivamente dopo {days} giorni",
|
||||
"trash_page_no_assets": "Nessun elemento cestinato",
|
||||
"trash_page_restore_all": "Ripristina tutto",
|
||||
"trash_page_select_assets_btn": "Seleziona elemento",
|
||||
"trash_page_title": "Cestino ({})",
|
||||
"trash_page_title": "Cestino ({count})",
|
||||
"trashed_items_will_be_permanently_deleted_after": "Gli elementi cestinati saranno eliminati definitivamente dopo {days, plural, one {# giorno} other {# giorni}}.",
|
||||
"type": "Tipo",
|
||||
"unable_to_change_pin_code": "Impossibile cambiare il codice PIN",
|
||||
"unable_to_setup_pin_code": "Impossibile configurare il codice PIN",
|
||||
"unarchive": "Annulla l'archiviazione",
|
||||
"unarchived_count": "{count, plural, other {Non archiviati #}}",
|
||||
"unfavorite": "Rimuovi preferito",
|
||||
@@ -1820,6 +1847,7 @@
|
||||
"untracked_files": "File non tracciati",
|
||||
"untracked_files_decription": "Questi file non vengono tracciati dall'applicazione. Sono il risultato di spostamenti falliti, caricamenti interrotti, oppure sono stati abbandonati a causa di un bug",
|
||||
"up_next": "Prossimo",
|
||||
"updated_at": "Aggiornato il",
|
||||
"updated_password": "Password aggiornata",
|
||||
"upload": "Carica",
|
||||
"upload_concurrency": "Caricamenti contemporanei",
|
||||
@@ -1832,15 +1860,18 @@
|
||||
"upload_status_errors": "Errori",
|
||||
"upload_status_uploaded": "Caricato",
|
||||
"upload_success": "Caricamento completato con successo, aggiorna la pagina per vedere i nuovi asset caricati.",
|
||||
"upload_to_immich": "Invio ad Immich ({})",
|
||||
"upload_to_immich": "Carica su Immich ({count})",
|
||||
"uploading": "Caricamento",
|
||||
"url": "URL",
|
||||
"usage": "Utilizzo",
|
||||
"use_current_connection": "usa la connessione attuale",
|
||||
"use_custom_date_range": "Altrimenti utilizza un intervallo date personalizzato",
|
||||
"user": "Utente",
|
||||
"user_has_been_deleted": "L'utente è stato rimosso.",
|
||||
"user_id": "ID utente",
|
||||
"user_liked": "A {user} piace {type, select, photo {questa foto} video {questo video} asset {questo asset} other {questo elemento}}",
|
||||
"user_pin_code_settings": "Codice PIN",
|
||||
"user_pin_code_settings_description": "Gestisci il tuo codice PIN",
|
||||
"user_purchase_settings": "Acquisto",
|
||||
"user_purchase_settings_description": "Gestisci il tuo acquisto",
|
||||
"user_role_set": "Imposta {user} come {role}",
|
||||
@@ -1889,7 +1920,7 @@
|
||||
"week": "Settimana",
|
||||
"welcome": "Benvenuto",
|
||||
"welcome_to_immich": "Benvenuto in Immich",
|
||||
"wifi_name": "Nome della rete Wi-Fi",
|
||||
"wifi_name": "Nome rete Wi-Fi",
|
||||
"year": "Anno",
|
||||
"years_ago": "{years, plural, one {# anno} other {# anni}} fa",
|
||||
"yes": "Si",
|
||||
|
||||
215
i18n/ja.json
215
i18n/ja.json
@@ -1,5 +1,5 @@
|
||||
{
|
||||
"about": "アプリについて",
|
||||
"about": "このアプリについて",
|
||||
"account": "アカウント",
|
||||
"account_settings": "アカウント設定",
|
||||
"acknowledge": "了解",
|
||||
@@ -28,7 +28,7 @@
|
||||
"add_to_album_bottom_sheet_already_exists": "{album}に追加済み",
|
||||
"add_to_shared_album": "共有アルバムに追加",
|
||||
"add_url": "URLを追加",
|
||||
"added_to_archive": "アーカイブに追加済",
|
||||
"added_to_archive": "アーカイブにしました",
|
||||
"added_to_favorites": "お気に入りに追加済",
|
||||
"added_to_favorites_count": "{count, number} 枚の画像をお気に入りに追加済",
|
||||
"admin": {
|
||||
@@ -39,11 +39,11 @@
|
||||
"authentication_settings_disable_all": "本当に全てのログイン方法を無効にしますか? ログインは完全に無効になります。",
|
||||
"authentication_settings_reenable": "再び有効にするには、<link>サーバーコマンド</link>を使用してください。",
|
||||
"background_task_job": "バックグラウンドタスク",
|
||||
"backup_database": "データベースのバックアップ",
|
||||
"backup_database_enable_description": "データベースのバックアップを有効にする",
|
||||
"backup_database": "データベースのバックアップを作成",
|
||||
"backup_database_enable_description": "データベースバックアップの作成を有効にする",
|
||||
"backup_keep_last_amount": "過去のバックアップの保持数",
|
||||
"backup_settings": "バックアップ設定",
|
||||
"backup_settings_description": "データベースのバックアップ設定の管理",
|
||||
"backup_settings": "データベースバックアップ作成の設定",
|
||||
"backup_settings_description": "データベースのバックアップ作成設定の管理 (このジョブはモニタリングされませんし、失敗が発生してもあなたに通知が行くことはありません)",
|
||||
"check_all": "すべてを選択",
|
||||
"cleanup": "クリーンアップ",
|
||||
"cleared_jobs": "{job}のジョブをクリアしました",
|
||||
@@ -53,6 +53,7 @@
|
||||
"confirm_email_below": "確認のため、以下に \"{email}\" と入力してください",
|
||||
"confirm_reprocess_all_faces": "本当にすべての顔を再処理しますか? これにより名前が付けられた人物も消去されます。",
|
||||
"confirm_user_password_reset": "本当に {user} のパスワードをリセットしますか?",
|
||||
"confirm_user_pin_code_reset": "{user}のPINコードをリセットしてよいですか?",
|
||||
"create_job": "ジョブの作成",
|
||||
"cron_expression": "Cron式",
|
||||
"cron_expression_description": "cronのフォーマットを使ってスキャン間隔を設定します。詳しくは<link>Crontab Guru</link>などを参照してください",
|
||||
@@ -72,6 +73,7 @@
|
||||
"image_format_description": "WebPはJPEGよりもファイルサイズが小さいですが、エンコードに時間がかかります。",
|
||||
"image_fullsize_description": "画像を拡大する時に使われるメタデータを取り除いた原寸大画像",
|
||||
"image_fullsize_enabled": "原寸大画像生成を有効にする",
|
||||
"image_fullsize_enabled_description": "Webで表示が難しいとされる画像フォーマットに対して原寸大画像を生成する。",
|
||||
"image_fullsize_quality_description": "1から100まで原寸大画像の質です。高いほうがいいがファイルが大きくなります。",
|
||||
"image_fullsize_title": "原寸大画像設定",
|
||||
"image_prefer_embedded_preview": "埋め込みプレビューを優先",
|
||||
@@ -191,26 +193,22 @@
|
||||
"oauth_auto_register": "自動登録",
|
||||
"oauth_auto_register_description": "OAuthでサインインしたあと、自動的に新規ユーザーを登録する",
|
||||
"oauth_button_text": "ボタンテキスト",
|
||||
"oauth_client_id": "クライアントID",
|
||||
"oauth_client_secret": "クライアント シークレット",
|
||||
"oauth_client_secret_description": "OAuthプロバイダーがPKCEをサポートしていない場合は必要",
|
||||
"oauth_enable_description": "OAuthでログイン",
|
||||
"oauth_issuer_url": "発行元URL",
|
||||
"oauth_mobile_redirect_uri": "モバイル用リダイレクトURI",
|
||||
"oauth_mobile_redirect_uri_override": "モバイル用リダイレクトURI(上書き)",
|
||||
"oauth_mobile_redirect_uri_override_description": "'{callback}'など、モバイルURIがOAuthプロバイダーによって許可されていない場合に有効にしてください",
|
||||
"oauth_profile_signing_algorithm": "プロファイルの署名アルゴリズム",
|
||||
"oauth_profile_signing_algorithm_description": "ユーザープロファイルを署名するのに使用するアルゴリズム。",
|
||||
"oauth_scope": "スコープ",
|
||||
"oauth_settings": "OAuth",
|
||||
"oauth_settings_description": "OAuthログイン設定を管理します",
|
||||
"oauth_settings_more_details": "この機能の詳細については、<link>ドキュメント</link>を参照してください。",
|
||||
"oauth_signing_algorithm": "署名アルゴリズム",
|
||||
"oauth_storage_label_claim": "ストレージラベル クレーム",
|
||||
"oauth_storage_label_claim_description": "ユーザーのストレージラベルを、このクレームの値に自動的に設定します。",
|
||||
"oauth_storage_quota_claim": "ストレージクォータ クレーム",
|
||||
"oauth_storage_quota_claim_description": "ユーザーのストレージクォータをこのクレームの値に自動的に設定します。",
|
||||
"oauth_storage_quota_default": "デフォルトのストレージ割り当て(GiB)",
|
||||
"oauth_storage_quota_default_description": "クレームが提供されていない場合に使用されるクォータをGiB単位で設定します(無制限にする場合は0を入力してください)。",
|
||||
"oauth_timeout": "リクエストタイムアウト",
|
||||
"oauth_timeout_description": "リクエストのタイムアウトまでの時間(ms)",
|
||||
"offline_paths": "オフラインのパス",
|
||||
"offline_paths_description": "これらの結果は、外部ライブラリに属さないファイルを手動で削除したことによる可能性があります。",
|
||||
"password_enable_description": "メールアドレスとパスワードでログイン",
|
||||
@@ -370,6 +368,8 @@
|
||||
"admin_password": "管理者パスワード",
|
||||
"administration": "管理",
|
||||
"advanced": "詳細設定",
|
||||
"advanced_settings_enable_alternate_media_filter_subtitle": "別の基準に従ってメディアファイルにフィルターをかけて、同期を行います。アプリがすべてのアルバムを読み込んでくれない場合にのみ、この機能を試してください。",
|
||||
"advanced_settings_enable_alternate_media_filter_title": "[試験運用] 別のデバイスのアルバム同期フィルターを使用する",
|
||||
"advanced_settings_log_level_title": "ログレベル: {}",
|
||||
"advanced_settings_prefer_remote_subtitle": "デバイスによっては、デバイス上にあるサムネイルのロードに非常に時間がかかることがあります。このオプションをに有効にする事により、サーバーから直接画像をロードすることが可能です。",
|
||||
"advanced_settings_prefer_remote_title": "リモートを優先する",
|
||||
@@ -377,6 +377,8 @@
|
||||
"advanced_settings_proxy_headers_title": "プロキシヘッダ",
|
||||
"advanced_settings_self_signed_ssl_subtitle": "SSLのチェックをスキップする。自己署名証明書が必要です。",
|
||||
"advanced_settings_self_signed_ssl_title": "自己署名証明書を許可する",
|
||||
"advanced_settings_sync_remote_deletions_subtitle": "Webでこの操作を行った際に、自動的にこのデバイス上から当該アセットを削除または復元する",
|
||||
"advanced_settings_sync_remote_deletions_title": "リモート削除の同期 [試験運用]",
|
||||
"advanced_settings_tile_subtitle": "追加ユーザー設定",
|
||||
"advanced_settings_troubleshooting_subtitle": "トラブルシューティング用の詳細設定をオンにする",
|
||||
"advanced_settings_troubleshooting_title": "トラブルシューティング",
|
||||
@@ -399,8 +401,8 @@
|
||||
"album_remove_user_confirmation": "本当に{user}を削除しますか?",
|
||||
"album_share_no_users": "このアルバムを全てのユーザーと共有したか、共有するユーザーがいないようです。",
|
||||
"album_thumbnail_card_item": "1枚",
|
||||
"album_thumbnail_card_items": "{}枚",
|
||||
"album_thumbnail_card_shared": "共有済み",
|
||||
"album_thumbnail_card_items": "{}項目",
|
||||
"album_thumbnail_card_shared": " · 共有済み",
|
||||
"album_thumbnail_shared_by": "{}が共有中",
|
||||
"album_updated": "アルバム更新",
|
||||
"album_updated_setting_description": "共有アルバムに新しいアセットが追加されたとき通知を受け取る",
|
||||
@@ -408,7 +410,7 @@
|
||||
"album_user_removed": "{user} を削除しました",
|
||||
"album_viewer_appbar_delete_confirm": "本当にこのアルバムを削除しますか?",
|
||||
"album_viewer_appbar_share_err_delete": "削除失敗",
|
||||
"album_viewer_appbar_share_err_leave": "退出失敗",
|
||||
"album_viewer_appbar_share_err_leave": "退出に失敗しました",
|
||||
"album_viewer_appbar_share_err_remove": "アルバムから写真を削除する際にエラー発生",
|
||||
"album_viewer_appbar_share_err_title": "タイトル変更の失敗",
|
||||
"album_viewer_appbar_share_leave": "アルバムから退出",
|
||||
@@ -431,18 +433,18 @@
|
||||
"api_key_description": "この値は一回のみ表示されます。 ウィンドウを閉じる前に必ずコピーしてください。",
|
||||
"api_key_empty": "APIキー名は空白にできません",
|
||||
"api_keys": "APIキー",
|
||||
"app_bar_signout_dialog_content": " サインアウトしますか?",
|
||||
"app_bar_signout_dialog_content": "サインアウトしますか?",
|
||||
"app_bar_signout_dialog_ok": "はい",
|
||||
"app_bar_signout_dialog_title": " サインアウト",
|
||||
"app_bar_signout_dialog_title": "サインアウト",
|
||||
"app_settings": "アプリ設定",
|
||||
"appears_in": "これらに含まれます",
|
||||
"archive": "アーカイブ",
|
||||
"archive_or_unarchive_photo": "写真をアーカイブまたはアーカイブ解除",
|
||||
"archive_page_no_archived_assets": "アーカイブ済みの写真またはビデオがありません",
|
||||
"archive_page_title": "アーカイブ({})",
|
||||
"archive_page_no_archived_assets": "アーカイブした写真またはビデオがありません",
|
||||
"archive_page_title": "アーカイブ ({})",
|
||||
"archive_size": "アーカイブサイズ",
|
||||
"archive_size_description": "ダウンロードのアーカイブ サイズを設定(GiB 単位)",
|
||||
"archived": "アーカイブ済み",
|
||||
"archived": "アーカイブ",
|
||||
"archived_count": "アーカイブされた{count, plural, other {#個の項目}}",
|
||||
"are_these_the_same_person": "これらは同じ人物ですか?",
|
||||
"are_you_sure_to_do_this": "本当にこれを行いますか?",
|
||||
@@ -464,7 +466,7 @@
|
||||
"asset_list_settings_title": "グリッド",
|
||||
"asset_offline": "アセットはオフラインです",
|
||||
"asset_offline_description": "このアセットはオフラインです。 Immichはファイルの場所にアクセスできません。 アセットが利用可能であることを確認しライブラリを再スキャンしてください。",
|
||||
"asset_restored_successfully": "{}項目を復元しました",
|
||||
"asset_restored_successfully": "復元できました",
|
||||
"asset_skipped": "スキップ済",
|
||||
"asset_skipped_in_trash": "ゴミ箱の中",
|
||||
"asset_uploaded": "アップロード済",
|
||||
@@ -478,13 +480,13 @@
|
||||
"assets_count": "{count, plural, one {#個} other {#個}}のアセット",
|
||||
"assets_deleted_permanently": "{}項目を完全に削除しました",
|
||||
"assets_deleted_permanently_from_server": "サーバー上の{}項目を完全に削除しました",
|
||||
"assets_moved_to_trash_count": "{count, plural, one {#個} other {#個}}のアセットをごみ箱に移動しました",
|
||||
"assets_moved_to_trash_count": "{count, plural, one {#項目} other {#項目}}をゴミ箱に移動しました",
|
||||
"assets_permanently_deleted_count": "{count, plural, one {#個} other {#個}}のアセットを完全に削除しました",
|
||||
"assets_removed_count": "{count, plural, one {#個} other {#個}}のアセットを削除しました",
|
||||
"assets_removed_permanently_from_device": "端末から{}項目を完全に削除しました",
|
||||
"assets_removed_count": "{count, plural, one {#項目} other {#項目}}を削除しました",
|
||||
"assets_removed_permanently_from_device": "デバイスから{}項目を完全に削除しました",
|
||||
"assets_restore_confirmation": "ごみ箱のアセットをすべて復元してもよろしいですか? この操作を元に戻すことはできません! オフラインのアセットはこの方法では復元できません。",
|
||||
"assets_restored_count": "{count, plural, one {#個} other {#個}}のアセットを復元しました",
|
||||
"assets_restored_successfully": "{}項目を復元しました",
|
||||
"assets_restored_count": "{count, plural, one {#} other {#}}項目を復元しました",
|
||||
"assets_restored_successfully": "{count}項目を復元しました",
|
||||
"assets_trashed": "{}項目をゴミ箱に移動しました",
|
||||
"assets_trashed_count": "{count, plural, one {#個} other {#個}}のアセットをごみ箱に移動しました",
|
||||
"assets_trashed_from_server": "サーバー上の{}項目をゴミ箱に移動しました",
|
||||
@@ -496,7 +498,7 @@
|
||||
"back_close_deselect": "戻る、閉じる、選択解除",
|
||||
"background_location_permission": "バックグラウンド位置情報アクセス",
|
||||
"background_location_permission_content": "正常にWi-Fiの名前(SSID)を獲得するにはアプリが常に詳細な位置情報にアクセスできる必要があります",
|
||||
"backup_album_selection_page_albums_device": "端末上のアルバム数: {}",
|
||||
"backup_album_selection_page_albums_device": "デバイス上のアルバム数: {}",
|
||||
"backup_album_selection_page_albums_tap": "タップで選択、ダブルタップで除外",
|
||||
"backup_album_selection_page_assets_scatter": "アルバムを選択・除外してバックアップする写真を選ぶ (同じ写真が複数のアルバムに登録されていることがあるため)",
|
||||
"backup_album_selection_page_select_albums": "アルバムを選択",
|
||||
@@ -520,7 +522,7 @@
|
||||
"backup_controller_page_background_battery_info_title": "バッテリーの最適化",
|
||||
"backup_controller_page_background_charging": "充電中のみ",
|
||||
"backup_controller_page_background_configure_error": "バックグラウンドサービスの設定に失敗",
|
||||
"backup_controller_page_background_delay": "新しい写真のバックアップ遅延: {}",
|
||||
"backup_controller_page_background_delay": "新しい項目のバックアップ開始まで待つ時間: {}",
|
||||
"backup_controller_page_background_description": "アプリを開いていないときもバックアップを行います",
|
||||
"backup_controller_page_background_is_off": "バックグランドサービスがオフになっています",
|
||||
"backup_controller_page_background_is_on": "バックグランドサービスがオンになっています",
|
||||
@@ -530,7 +532,7 @@
|
||||
"backup_controller_page_backup": "バックアップ",
|
||||
"backup_controller_page_backup_selected": "選択中:",
|
||||
"backup_controller_page_backup_sub": "バックアップされた写真と動画の数",
|
||||
"backup_controller_page_created": "{} 作成",
|
||||
"backup_controller_page_created": "作成日: {}",
|
||||
"backup_controller_page_desc_backup": "アプリを開いているときに写真と動画をバックアップします",
|
||||
"backup_controller_page_excluded": "除外中のアルバム:",
|
||||
"backup_controller_page_failed": "失敗: ({})",
|
||||
@@ -544,7 +546,7 @@
|
||||
"backup_controller_page_start_backup": "バックアップ開始",
|
||||
"backup_controller_page_status_off": "バックアップがオフになっています",
|
||||
"backup_controller_page_status_on": "バックアップがオンになっています",
|
||||
"backup_controller_page_storage_format": "使用済み({}) - 全体({})",
|
||||
"backup_controller_page_storage_format": "使用中: {} / {}",
|
||||
"backup_controller_page_to_backup": "バックアップされるアルバム",
|
||||
"backup_controller_page_total_sub": "選択されたアルバムの写真と動画の数",
|
||||
"backup_controller_page_turn_off": "バックアップをオフにする",
|
||||
@@ -574,16 +576,16 @@
|
||||
"cache_settings_clear_cache_button_title": "キャッシュを削除 (キャッシュが再生成されるまで、アプリのパフォーマンスが著しく低下します)",
|
||||
"cache_settings_duplicated_assets_clear_button": "クリア",
|
||||
"cache_settings_duplicated_assets_subtitle": "サーバーにアップロード済みと認識された写真や動画の数",
|
||||
"cache_settings_duplicated_assets_title": "{}項目の重複",
|
||||
"cache_settings_image_cache_size": "キャッシュのサイズ ({}枚)",
|
||||
"cache_settings_duplicated_assets_title": "重複した項目数: ({})",
|
||||
"cache_settings_image_cache_size": "画像キャッシュのサイズ ({}項目)",
|
||||
"cache_settings_statistics_album": "ライブラリのサムネイル",
|
||||
"cache_settings_statistics_assets": "{}枚 ({}枚中)",
|
||||
"cache_settings_statistics_assets": "{}項目 ({}項目中)",
|
||||
"cache_settings_statistics_full": "フル画像",
|
||||
"cache_settings_statistics_shared": "共有アルバムのサムネイル",
|
||||
"cache_settings_statistics_thumbnail": "サムネイル",
|
||||
"cache_settings_statistics_title": "キャッシュ",
|
||||
"cache_settings_subtitle": "キャッシュの動作を変更する",
|
||||
"cache_settings_thumbnail_size": "サムネイルのキャッシュのサイズ ({}枚)",
|
||||
"cache_settings_thumbnail_size": "サムネイルのキャッシュのサイズ ({}項目)",
|
||||
"cache_settings_tile_subtitle": "ローカルストレージの挙動を確認する",
|
||||
"cache_settings_tile_title": "ローカルストレージ",
|
||||
"cache_settings_title": "キャッシュの設定",
|
||||
@@ -592,12 +594,12 @@
|
||||
"camera_model": "カメラモデル",
|
||||
"cancel": "キャンセル",
|
||||
"cancel_search": "検索をキャンセル",
|
||||
"canceled": "Canceled",
|
||||
"canceled": "キャンセルされました",
|
||||
"cannot_merge_people": "人物を統合できません",
|
||||
"cannot_undo_this_action": "この操作は元に戻せません!",
|
||||
"cannot_update_the_description": "説明を更新できません",
|
||||
"change_date": "日時を変更",
|
||||
"change_display_order": "Change display order",
|
||||
"change_display_order": "表示順を変更",
|
||||
"change_expiration_time": "有効期限を変更",
|
||||
"change_location": "場所を変更",
|
||||
"change_name": "名前を変更",
|
||||
@@ -643,23 +645,24 @@
|
||||
"comments_are_disabled": "コメントは無効化されています",
|
||||
"common_create_new_album": "アルバムを作成",
|
||||
"common_server_error": "ネットワーク接続を確認し、サーバーが接続できる状態にあるか確認してください。アプリとサーバーのバージョンが一致しているかも確認してください。",
|
||||
"completed": "Completed",
|
||||
"completed": "完了",
|
||||
"confirm": "確認",
|
||||
"confirm_admin_password": "管理者パスワードを確認",
|
||||
"confirm_delete_face": "本当に『{name}』の顔をアセットから削除しますか?",
|
||||
"confirm_delete_shared_link": "本当にこの共有リンクを削除しますか?",
|
||||
"confirm_keep_this_delete_others": "このアセット以外のアセットがスタックから削除されます。本当に削除しますか?",
|
||||
"confirm_new_pin_code": "このPINコードを使う",
|
||||
"confirm_password": "確認",
|
||||
"contain": "収める",
|
||||
"context": "状況",
|
||||
"continue": "続ける",
|
||||
"control_bottom_app_bar_album_info_shared": "{}枚 · 共有済",
|
||||
"control_bottom_app_bar_album_info_shared": "{}項目 · 共有中",
|
||||
"control_bottom_app_bar_create_new_album": "アルバムを作成",
|
||||
"control_bottom_app_bar_delete_from_immich": "Immichから削除",
|
||||
"control_bottom_app_bar_delete_from_local": "端末上から削除",
|
||||
"control_bottom_app_bar_edit_location": "位置情報を編集",
|
||||
"control_bottom_app_bar_edit_time": "日時を変更",
|
||||
"control_bottom_app_bar_share_link": "Share Link",
|
||||
"control_bottom_app_bar_share_link": "共有リンク",
|
||||
"control_bottom_app_bar_share_to": "次のユーザーに共有: ",
|
||||
"control_bottom_app_bar_trash_from_immich": "ゴミ箱に入れる",
|
||||
"copied_image_to_clipboard": "画像をクリップボードにコピーしました。",
|
||||
@@ -676,7 +679,7 @@
|
||||
"covers": "カバー",
|
||||
"create": "作成",
|
||||
"create_album": "アルバムを作成",
|
||||
"create_album_page_untitled": "タイトルなし",
|
||||
"create_album_page_untitled": "無題のタイトル",
|
||||
"create_library": "ライブラリを作成",
|
||||
"create_link": "リンクを作る",
|
||||
"create_link_to_share": "共有リンクを作る",
|
||||
@@ -694,6 +697,7 @@
|
||||
"crop": "クロップ",
|
||||
"curated_object_page_title": "被写体",
|
||||
"current_device": "現在のデバイス",
|
||||
"current_pin_code": "現在のPINコード",
|
||||
"current_server_address": "現在のサーバーURL",
|
||||
"custom_locale": "カスタムロケール",
|
||||
"custom_locale_description": "言語と地域に基づいて日付と数値をフォーマットします",
|
||||
@@ -718,8 +722,8 @@
|
||||
"delete_album": "アルバムを削除",
|
||||
"delete_api_key_prompt": "本当にこのAPI キーを削除しますか?",
|
||||
"delete_dialog_alert": "サーバーとデバイスの両方から永久的に削除されます!",
|
||||
"delete_dialog_alert_local": "選択された項目はデバイスから削除されますが、Immichには残ります",
|
||||
"delete_dialog_alert_local_non_backed_up": "選択された項目のうち、Immichにバックアップされていない物が含まれています。デバイスからも完全に削除されます。",
|
||||
"delete_dialog_alert_local": "選択された項目はデバイスから削除されますが、サーバーには残ります",
|
||||
"delete_dialog_alert_local_non_backed_up": "選択された項目の中に、サーバーにバックアップされていない物が含まれています。そのため、デバイスから完全に削除されます。",
|
||||
"delete_dialog_alert_remote": "選択された項目はImmichから永久に削除されます",
|
||||
"delete_dialog_ok_force": "削除します",
|
||||
"delete_dialog_title": "永久的に削除",
|
||||
@@ -806,16 +810,16 @@
|
||||
"editor_crop_tool_h2_aspect_ratios": "アスペクト比",
|
||||
"editor_crop_tool_h2_rotation": "回転",
|
||||
"email": "メールアドレス",
|
||||
"empty_folder": "This folder is empty",
|
||||
"empty_folder": "このフォルダーは空です",
|
||||
"empty_trash": "コミ箱を空にする",
|
||||
"empty_trash_confirmation": "本当にゴミ箱を空にしますか? これにより、ゴミ箱内のすべてのアセットが Immich から永久に削除されます。\nこの操作を元に戻すことはできません!",
|
||||
"enable": "有効化",
|
||||
"enabled": "有効",
|
||||
"end_date": "終了日",
|
||||
"enqueued": "Enqueued",
|
||||
"enqueued": "順番待ち中",
|
||||
"enter_wifi_name": "Wi-Fiの名前(SSID)を入力",
|
||||
"error": "エラー",
|
||||
"error_change_sort_album": "Failed to change album sort order",
|
||||
"error_change_sort_album": "アルバムの表示順の変更に失敗しました",
|
||||
"error_delete_face": "アセットから顔の削除ができませんでした",
|
||||
"error_loading_image": "画像の読み込みエラー",
|
||||
"error_saving_image": "エラー: {}",
|
||||
@@ -848,10 +852,12 @@
|
||||
"failed_to_keep_this_delete_others": "ほかのアセットを削除できませんでした",
|
||||
"failed_to_load_asset": "アセットを読み込めませんでした",
|
||||
"failed_to_load_assets": "アセットを読み込めませんでした",
|
||||
"failed_to_load_notifications": "通知の読み込みに失敗しました",
|
||||
"failed_to_load_people": "人物を読み込めませんでした",
|
||||
"failed_to_remove_product_key": "プロダクトキーを削除できませんでした",
|
||||
"failed_to_stack_assets": "アセットをスタックできませんでした",
|
||||
"failed_to_unstack_assets": "アセットをスタックから解除することができませんでした",
|
||||
"failed_to_update_notification_status": "通知ステータスの更新に失敗しました",
|
||||
"import_path_already_exists": "このインポートパスは既に存在します。",
|
||||
"incorrect_email_or_password": "メールアドレスまたはパスワードが間違っています",
|
||||
"paths_validation_failed": "{paths, plural, one {#個} other {#個}}のパスの検証に失敗しました",
|
||||
@@ -919,6 +925,7 @@
|
||||
"unable_to_remove_reaction": "リアクションを削除できません",
|
||||
"unable_to_repair_items": "アイテムを修復できません",
|
||||
"unable_to_reset_password": "パスワードをリセットできません",
|
||||
"unable_to_reset_pin_code": "PINコードをリセットできませんでした",
|
||||
"unable_to_resolve_duplicate": "重複を解決できません",
|
||||
"unable_to_restore_assets": "アセットを復元できません",
|
||||
"unable_to_restore_trash": "ゴミ箱を復元できません",
|
||||
@@ -952,10 +959,10 @@
|
||||
"exif_bottom_sheet_location": "撮影場所",
|
||||
"exif_bottom_sheet_people": "人物",
|
||||
"exif_bottom_sheet_person_add_person": "名前を追加",
|
||||
"exif_bottom_sheet_person_age": "Age {}",
|
||||
"exif_bottom_sheet_person_age_months": "Age {} months",
|
||||
"exif_bottom_sheet_person_age_year_months": "Age 1 year, {} months",
|
||||
"exif_bottom_sheet_person_age_years": "Age {}",
|
||||
"exif_bottom_sheet_person_age": "{}歳",
|
||||
"exif_bottom_sheet_person_age_months": "生後{}ヶ月",
|
||||
"exif_bottom_sheet_person_age_year_months": "1歳{}ヶ月",
|
||||
"exif_bottom_sheet_person_age_years": "{}歳",
|
||||
"exit_slideshow": "スライドショーを終わる",
|
||||
"expand_all": "全て展開",
|
||||
"experimental_settings_new_asset_list_subtitle": "製作途中 (WIP)",
|
||||
@@ -975,9 +982,9 @@
|
||||
"external_network": "外部のネットワーク",
|
||||
"external_network_sheet_info": "指定されたWi-Fiに繋がっていない時アプリはサーバーへの接続を指定されたURLで行います。優先順位は上から下です",
|
||||
"face_unassigned": "未割り当て",
|
||||
"failed": "Failed",
|
||||
"failed": "失敗",
|
||||
"failed_to_load_assets": "アセットのロードに失敗しました",
|
||||
"failed_to_load_folder": "Failed to load folder",
|
||||
"failed_to_load_folder": "フォルダーの読み込みに失敗",
|
||||
"favorite": "お気に入り",
|
||||
"favorite_or_unfavorite_photo": "写真をお気に入りまたはお気に入り解除",
|
||||
"favorites": "お気に入り",
|
||||
@@ -991,10 +998,11 @@
|
||||
"filetype": "ファイルタイプ",
|
||||
"filter": "フィルター",
|
||||
"filter_people": "人物を絞り込み",
|
||||
"filter_places": "場所をフィルター",
|
||||
"find_them_fast": "名前で検索して素早く発見",
|
||||
"fix_incorrect_match": "間違った一致を修正",
|
||||
"folder": "Folder",
|
||||
"folder_not_found": "Folder not found",
|
||||
"folder": "フォルダー",
|
||||
"folder_not_found": "フォルダーが見つかりませんでした",
|
||||
"folders": "フォルダ",
|
||||
"folders_feature_description": "ファイルシステム上の写真と動画のフォルダビューを閲覧する",
|
||||
"forward": "前へ",
|
||||
@@ -1071,7 +1079,7 @@
|
||||
"include_shared_albums": "共有アルバムを含める",
|
||||
"include_shared_partner_assets": "パートナーがシェアしたアセットを含める",
|
||||
"individual_share": "1枚の共有",
|
||||
"individual_shares": "個人の共有",
|
||||
"individual_shares": "1枚ずつの共有",
|
||||
"info": "情報",
|
||||
"interval": {
|
||||
"day_at_onepm": "毎日午後1時",
|
||||
@@ -1169,8 +1177,8 @@
|
||||
"manage_your_devices": "ログインデバイスを管理します",
|
||||
"manage_your_oauth_connection": "OAuth接続を管理します",
|
||||
"map": "地図",
|
||||
"map_assets_in_bound": "{}項目",
|
||||
"map_assets_in_bounds": "{}項目",
|
||||
"map_assets_in_bound": "{}枚",
|
||||
"map_assets_in_bounds": "{}枚",
|
||||
"map_cannot_get_user_location": "位置情報がゲットできません",
|
||||
"map_location_dialog_yes": "はい",
|
||||
"map_location_picker_page_use_location": "この位置情報を使う",
|
||||
@@ -1193,13 +1201,16 @@
|
||||
"map_settings_only_show_favorites": "お気に入りのみを表示",
|
||||
"map_settings_theme_settings": "地図の見た目",
|
||||
"map_zoom_to_see_photos": "写真を見るにはズームアウト",
|
||||
"mark_all_as_read": "すべて既読にする",
|
||||
"mark_as_read": "既読にする",
|
||||
"marked_all_as_read": "すべて既読にしました",
|
||||
"matches": "マッチ",
|
||||
"media_type": "メディアタイプ",
|
||||
"memories": "メモリー",
|
||||
"memories_all_caught_up": "すべて確認済み",
|
||||
"memories_check_back_tomorrow": "明日もう一度確認してください",
|
||||
"memories_all_caught_up": "これで全部です",
|
||||
"memories_check_back_tomorrow": "また明日、見に来てくださいね",
|
||||
"memories_setting_description": "メモリーの内容を管理します",
|
||||
"memories_start_over": "始める",
|
||||
"memories_start_over": "もう一度見る",
|
||||
"memories_swipe_to_close": "上にスワイプして閉じる",
|
||||
"memories_year_ago": "一年前",
|
||||
"memories_years_ago": "{}年前",
|
||||
@@ -1219,6 +1230,8 @@
|
||||
"month": "月",
|
||||
"monthly_title_text_date_format": "yyyy MM",
|
||||
"more": "もっと表示",
|
||||
"moved_to_archive": "{count, plural, one {#} other {#}}項目をアーカイブしました",
|
||||
"moved_to_library": "{count, plural, one {#} other {#}}項目をライブラリに移動しました",
|
||||
"moved_to_trash": "ゴミ箱に移動しました",
|
||||
"multiselect_grid_edit_date_time_err_read_only": "読み取り専用の項目の日付を変更できません",
|
||||
"multiselect_grid_edit_gps_err_read_only": "読み取り専用の項目の位置情報を変更できません",
|
||||
@@ -1233,6 +1246,7 @@
|
||||
"new_api_key": "新しいAPI キー",
|
||||
"new_password": "新しいパスワード",
|
||||
"new_person": "新しい人物",
|
||||
"new_pin_code": "新しいPINコード",
|
||||
"new_user_created": "新しいユーザーが作成されました",
|
||||
"new_version_available": "新しいバージョンが利用可能",
|
||||
"newest_first": "最新順",
|
||||
@@ -1251,12 +1265,14 @@
|
||||
"no_favorites_message": "お気に入りに追加すると最高の写真や動画をすぐに見つけられます",
|
||||
"no_libraries_message": "あなたの写真や動画を表示するための外部ライブラリを作成しましょう",
|
||||
"no_name": "名前なし",
|
||||
"no_notifications": "通知なし",
|
||||
"no_people_found": "一致する人物が見つかりません",
|
||||
"no_places": "場所なし",
|
||||
"no_results": "結果がありません",
|
||||
"no_results_description": "同義語やより一般的なキーワードを試してください",
|
||||
"no_shared_albums_message": "アルバムを作成して写真や動画を共有しましょう",
|
||||
"not_in_any_album": "どのアルバムにも入っていない",
|
||||
"not_selected": "Not selected",
|
||||
"not_selected": "選択なし",
|
||||
"note_apply_storage_label_to_previously_uploaded assets": "注意: 以前にアップロードしたアセットにストレージラベルを適用するには以下を実行してください",
|
||||
"notes": "注意",
|
||||
"notification_permission_dialog_content": "通知を許可するには設定を開いてオンにしてください",
|
||||
@@ -1281,6 +1297,7 @@
|
||||
"onboarding_welcome_user": "ようこそ、{user} さん",
|
||||
"online": "オンライン",
|
||||
"only_favorites": "お気に入りのみ",
|
||||
"open": "開く",
|
||||
"open_in_map_view": "地図表示で見る",
|
||||
"open_in_openstreetmap": "OpenStreetMapで開く",
|
||||
"open_the_search_filters": "検索フィルタを開く",
|
||||
@@ -1304,7 +1321,7 @@
|
||||
"partner_page_partner_add_failed": "パートナーの追加に失敗",
|
||||
"partner_page_select_partner": "パートナーを選択",
|
||||
"partner_page_shared_to_title": "次のユーザーと共有します: ",
|
||||
"partner_page_stop_sharing_content": "{}は写真へアクセスできなくなります",
|
||||
"partner_page_stop_sharing_content": "{}は今後あなたの写真へアクセスできなくなります",
|
||||
"partner_sharing": "パートナとの共有",
|
||||
"partners": "パートナー",
|
||||
"password": "パスワード",
|
||||
@@ -1350,6 +1367,9 @@
|
||||
"photos_count": "{count, plural, one {{count, number}枚の写真} other {{count, number}枚の写真}}",
|
||||
"photos_from_previous_years": "以前の年の写真",
|
||||
"pick_a_location": "場所を選択",
|
||||
"pin_code_changed_successfully": "PINコードを変更しました",
|
||||
"pin_code_reset_successfully": "PINコードをリセットしました",
|
||||
"pin_code_setup_successfully": "PINコードをセットアップしました",
|
||||
"place": "場所",
|
||||
"places": "撮影場所",
|
||||
"places_count": "{count, plural, other {{count, number}箇所}}",
|
||||
@@ -1380,7 +1400,7 @@
|
||||
"public_share": "公開共有",
|
||||
"purchase_account_info": "サポーター",
|
||||
"purchase_activated_subtitle": "Immich とオープンソース ソフトウェアを支援していただきありがとうございます",
|
||||
"purchase_activated_time": "{date, date}にアクティベート",
|
||||
"purchase_activated_time": "{date}にアクティベート",
|
||||
"purchase_activated_title": "キーは正常にアクティベートされました",
|
||||
"purchase_button_activate": "アクティベート",
|
||||
"purchase_button_buy": "購入",
|
||||
@@ -1425,6 +1445,8 @@
|
||||
"recent_searches": "最近の検索",
|
||||
"recently_added": "最近追加された項目",
|
||||
"recently_added_page_title": "最近",
|
||||
"recently_taken": "最近撮られたもの",
|
||||
"recently_taken_page_title": "最近の撮影",
|
||||
"refresh": "更新",
|
||||
"refresh_encoded_videos": "エンコードされた動画を更新",
|
||||
"refresh_faces": "顔認識を更新",
|
||||
@@ -1450,12 +1472,12 @@
|
||||
"remove_url": "URLの削除",
|
||||
"remove_user": "ユーザーを削除",
|
||||
"removed_api_key": "削除されたAPI キー: {name}",
|
||||
"removed_from_archive": "アーカイブから削除されました",
|
||||
"removed_from_favorites": "お気に入りから削除しました",
|
||||
"removed_from_favorites_count": "{count, plural, other {#項目}}お気に入りから削除しました",
|
||||
"removed_from_archive": "アーカイブから外しました",
|
||||
"removed_from_favorites": "お気に入りを外しました",
|
||||
"removed_from_favorites_count": "{count, plural, other {#項目}}をお気に入りから外しました",
|
||||
"removed_memory": "削除されたメモリー",
|
||||
"removed_photo_from_memory": "メモリーから削除された写真",
|
||||
"removed_tagged_assets": "{count, plural, one {#個のアセット} other {#個のアセット}}からタグを削除しました",
|
||||
"removed_tagged_assets": "{count, plural, one {#項目} other {#項目}}からタグを外しました",
|
||||
"rename": "リネーム",
|
||||
"repair": "修復",
|
||||
"repair_no_results_message": "追跡されていないファイルや存在しないファイルがここに表示されます",
|
||||
@@ -1467,13 +1489,14 @@
|
||||
"reset": "リセット",
|
||||
"reset_password": "パスワードをリセット",
|
||||
"reset_people_visibility": "人物の非表示設定をリセット",
|
||||
"reset_pin_code": "PINコードをリセット",
|
||||
"reset_to_default": "デフォルトにリセット",
|
||||
"resolve_duplicates": "重複を解決する",
|
||||
"resolved_all_duplicates": "全ての重複を解決しました",
|
||||
"restore": "復元",
|
||||
"restore_all": "全て復元",
|
||||
"restore_user": "ユーザーを復元",
|
||||
"restored_asset": "アセットを復元しました",
|
||||
"restored_asset": "項目を復元しました",
|
||||
"resume": "再開",
|
||||
"retry_upload": "アップロードを再試行",
|
||||
"review_duplicates": "重複を調査",
|
||||
@@ -1509,7 +1532,7 @@
|
||||
"search_filter_date_title": "撮影期間を選択",
|
||||
"search_filter_display_option_not_in_album": "アルバムにありません",
|
||||
"search_filter_display_options": "表示オプション",
|
||||
"search_filter_filename": "Search by file name",
|
||||
"search_filter_filename": "ファイル名で検索",
|
||||
"search_filter_location": "場所",
|
||||
"search_filter_location_title": "場所を選択",
|
||||
"search_filter_media_type": "メディアの種類",
|
||||
@@ -1517,17 +1540,17 @@
|
||||
"search_filter_people_title": "人物を選択",
|
||||
"search_for": "検索",
|
||||
"search_for_existing_person": "既存の人物を検索",
|
||||
"search_no_more_result": "No more results",
|
||||
"search_no_more_result": "検索結果以上",
|
||||
"search_no_people": "人物がいません",
|
||||
"search_no_people_named": "「{name}」という名前の人物がいません",
|
||||
"search_no_result": "No results found, try a different search term or combination",
|
||||
"search_no_result": "検索結果なし",
|
||||
"search_options": "検索オプション",
|
||||
"search_page_categories": "カテゴリ",
|
||||
"search_page_motion_photos": "モーションフォト",
|
||||
"search_page_no_objects": "被写体に関するデータがなし",
|
||||
"search_page_no_places": "場所に関するデータなし",
|
||||
"search_page_screenshots": "スクリーンショット",
|
||||
"search_page_search_photos_videos": "Search for your photos and videos",
|
||||
"search_page_search_photos_videos": "写真や動画を検索",
|
||||
"search_page_selfies": "自撮り",
|
||||
"search_page_things": "被写体",
|
||||
"search_page_view_all_button": "すべて表示",
|
||||
@@ -1559,6 +1582,7 @@
|
||||
"select_keep_all": "全て保持",
|
||||
"select_library_owner": "ライブラリ所有者を選択",
|
||||
"select_new_face": "新しい顔を選択",
|
||||
"select_person_to_tag": "タグを付ける人物を選んでください",
|
||||
"select_photos": "写真を選択",
|
||||
"select_trash_all": "全て削除",
|
||||
"select_user_for_sharing_page_err_album": "アルバム作成に失敗",
|
||||
@@ -1589,7 +1613,7 @@
|
||||
"setting_languages_apply": "適用する",
|
||||
"setting_languages_subtitle": "アプリの言語を変更する",
|
||||
"setting_languages_title": "言語",
|
||||
"setting_notifications_notify_failures_grace_period": "バックアップ失敗の通知: {}",
|
||||
"setting_notifications_notify_failures_grace_period": "バックグラウンドバックアップ失敗の通知: {}",
|
||||
"setting_notifications_notify_hours": "{}時間後",
|
||||
"setting_notifications_notify_immediately": "すぐに行う",
|
||||
"setting_notifications_notify_minutes": "{}分後",
|
||||
@@ -1601,28 +1625,29 @@
|
||||
"setting_notifications_total_progress_subtitle": "アップロードの進行状況 (完了済み/全体枚数)",
|
||||
"setting_notifications_total_progress_title": "全体のバックアップの進行状況を表示",
|
||||
"setting_video_viewer_looping_title": "ループ中",
|
||||
"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_subtitle": "動画をストリーミングする際に、トランスコードされた動画が存在していても、あえてオリジナル画質の動画を再生します。ストリーミングに待ち時間が生じるかもしれません。なお、デバイス上に保存されている動画はこの設定の有無に関わらず、オリジナル画質の動画を再生します。",
|
||||
"setting_video_viewer_original_video_title": "常にオリジナル画質の動画を再生する",
|
||||
"settings": "設定",
|
||||
"settings_require_restart": "Immichを再起動して設定を適用してください",
|
||||
"settings_saved": "設定が保存されました",
|
||||
"setup_pin_code": "PINコードをセットアップ",
|
||||
"share": "共有",
|
||||
"share_add_photos": "写真を追加",
|
||||
"share_assets_selected": "{}選択されました",
|
||||
"share_assets_selected": "{}選択中",
|
||||
"share_dialog_preparing": "準備中",
|
||||
"shared": "共有済み",
|
||||
"shared_album_activities_input_disable": "コメントはオフになってます",
|
||||
"shared_album_activity_remove_content": "このアクティビティを削除しますか",
|
||||
"shared_album_activity_remove_title": "アクティビティを削除します",
|
||||
"shared_album_section_people_action_error": "退出に失敗",
|
||||
"shared_album_section_people_action_leave": "ユーザーをアルバムから退出",
|
||||
"shared_album_section_people_action_remove_user": "ユーザーをアルバムから退出",
|
||||
"shared_album_section_people_action_leave": "ユーザーをアルバムから退出させる",
|
||||
"shared_album_section_people_action_remove_user": "ユーザーをアルバムから退出させる",
|
||||
"shared_album_section_people_title": "人物",
|
||||
"shared_by": "により共有",
|
||||
"shared_by_user": "{user} により共有",
|
||||
"shared_by_you": "あなたにより共有",
|
||||
"shared_from_partner": "{partner} による写真",
|
||||
"shared_intent_upload_button_progress_text": "{} / {} Uploaded",
|
||||
"shared_intent_upload_button_progress_text": "{} / {} アップロード完了",
|
||||
"shared_link_app_bar_title": "共有リンク",
|
||||
"shared_link_clipboard_copied_massage": "クリップボードにコピーしました",
|
||||
"shared_link_clipboard_text": "リンク: {}\nパスワード: {}",
|
||||
@@ -1639,16 +1664,16 @@
|
||||
"shared_link_edit_password_hint": "共有パスワードを入力する",
|
||||
"shared_link_edit_submit_button": "リンクをアップデートする",
|
||||
"shared_link_error_server_url_fetch": "サーバーのURLを取得できません",
|
||||
"shared_link_expires_day": "{}日で切れます",
|
||||
"shared_link_expires_days": "{}日で切れます",
|
||||
"shared_link_expires_hour": "{}時間で切れます",
|
||||
"shared_link_expires_hours": "{}時間で切れます",
|
||||
"shared_link_expires_minute": "{}分で切れます",
|
||||
"shared_link_expires_minutes": "{}分で切れます",
|
||||
"shared_link_expires_day": "{}日後に有効期限切れ",
|
||||
"shared_link_expires_days": "{}日後に有効期限切れ",
|
||||
"shared_link_expires_hour": "{}時間後に有効期限切れ",
|
||||
"shared_link_expires_hours": "{}時間後に有効期限切れ",
|
||||
"shared_link_expires_minute": "{}分後に有効期限切れ",
|
||||
"shared_link_expires_minutes": "{}分後に有効期限切れ",
|
||||
"shared_link_expires_never": "有効期限はありません",
|
||||
"shared_link_expires_second": "{}秒で切れます",
|
||||
"shared_link_expires_seconds": "{}秒で切れます",
|
||||
"shared_link_individual_shared": "個人共有",
|
||||
"shared_link_expires_second": "{}秒後に有効期限切れ",
|
||||
"shared_link_expires_seconds": "{}秒後に有効期限切れ",
|
||||
"shared_link_individual_shared": "1枚ずつ共有されています",
|
||||
"shared_link_info_chip_metadata": "EXIF",
|
||||
"shared_link_manage_links": "共有済みのリンクを管理",
|
||||
"shared_link_options": "共有リンクのオプション",
|
||||
@@ -1748,7 +1773,7 @@
|
||||
"theme_selection": "テーマ選択",
|
||||
"theme_selection_description": "ブラウザのシステム設定に基づいてテーマを明色または暗色に自動的に設定します",
|
||||
"theme_setting_asset_list_storage_indicator_title": "ストレージに関する情報を表示",
|
||||
"theme_setting_asset_list_tiles_per_row_title": "一列ごとの表示枚数: {}",
|
||||
"theme_setting_asset_list_tiles_per_row_title": "一行ごとの表示枚数: {}",
|
||||
"theme_setting_colorful_interface_subtitle": "アクセントカラーを背景にも使用する",
|
||||
"theme_setting_colorful_interface_title": "カラフルなUI",
|
||||
"theme_setting_image_viewer_quality_subtitle": "画像ビューの画質の設定",
|
||||
@@ -1787,11 +1812,13 @@
|
||||
"trash_page_no_assets": "ゴミ箱は空です",
|
||||
"trash_page_restore_all": "すべて復元",
|
||||
"trash_page_select_assets_btn": "項目を選択",
|
||||
"trash_page_title": "削除({})",
|
||||
"trash_page_title": "ゴミ箱 ({})",
|
||||
"trashed_items_will_be_permanently_deleted_after": "ゴミ箱に入れられたアイテムは{days, plural, one {#日} other {#日}}後に完全に削除されます。",
|
||||
"type": "タイプ",
|
||||
"unable_to_change_pin_code": "PINコードを変更できませんでした",
|
||||
"unable_to_setup_pin_code": "PINコードをセットアップできませんでした",
|
||||
"unarchive": "アーカイブを解除",
|
||||
"unarchived_count": "{count, plural, other {#枚アーカイブしました}}",
|
||||
"unarchived_count": "{count, plural, other {#枚アーカイブを解除しました}}",
|
||||
"unfavorite": "お気に入りから外す",
|
||||
"unhide_person": "人物の非表示を解除",
|
||||
"unknown": "不明",
|
||||
@@ -1825,8 +1852,8 @@
|
||||
"upload_status_errors": "エラー",
|
||||
"upload_status_uploaded": "アップロード済",
|
||||
"upload_success": "アップロード成功、新しくアップロードされたアセットを見るにはページを更新してください。",
|
||||
"upload_to_immich": "Upload to Immich ({})",
|
||||
"uploading": "Uploading",
|
||||
"upload_to_immich": "Immichにアップロード ({})",
|
||||
"uploading": "アップロード中",
|
||||
"url": "URL",
|
||||
"usage": "使用容量",
|
||||
"use_current_connection": "現在の接続情報を使用",
|
||||
@@ -1834,6 +1861,8 @@
|
||||
"user": "ユーザー",
|
||||
"user_id": "ユーザーID",
|
||||
"user_liked": "{user} が{type, select, photo {この写真を} video {この動画を} asset {このアセットを} other {}}いいねしました",
|
||||
"user_pin_code_settings": "PINコード",
|
||||
"user_pin_code_settings_description": "PINコードを管理",
|
||||
"user_purchase_settings": "購入",
|
||||
"user_purchase_settings_description": "購入を管理",
|
||||
"user_role_set": "{user} を{role}に設定しました",
|
||||
|
||||
19
i18n/ka.json
19
i18n/ka.json
@@ -4,27 +4,35 @@
|
||||
"account_settings": "ანგარიშის პარამეტრები",
|
||||
"acknowledge": "მიღება",
|
||||
"action": "ქმედება",
|
||||
"action_common_update": "განაახლე",
|
||||
"actions": "ქმედებები",
|
||||
"active": "აქტიური",
|
||||
"activity": "აქტივობა",
|
||||
"add": "დამატება",
|
||||
"activity_changed": "აქტივობა {enabled, select, true {ჩართული} other {გამორთული}}",
|
||||
"add": "დაამატე",
|
||||
"add_a_description": "დაამატე აღწერა",
|
||||
"add_a_location": "დაამატე ადგილი",
|
||||
"add_a_name": "დაამატე სახელი",
|
||||
"add_a_title": "დაასათაურე",
|
||||
"add_endpoint": "",
|
||||
"add_exclusion_pattern": "დაამატე გამონაკლისი ნიმუში",
|
||||
"add_import_path": "დაამატე საიმპორტო მისამართი",
|
||||
"add_location": "დაამატე ადგილი",
|
||||
"add_more_users": "დაამატე მომხმარებლები",
|
||||
"add_partner": "დაამატე პარტნიორი",
|
||||
"add_path": "დაამატე მისამართი",
|
||||
"add_photos": "დაამატე ფოტოები",
|
||||
"add_to": "დაამატე ...ში",
|
||||
"add_to_album": "დაამატე ალბომში",
|
||||
"add_to_album_bottom_sheet_added": "დამატებულია {album}-ში",
|
||||
"add_to_album_bottom_sheet_already_exists": "{album}-ში უკვე არსებობს",
|
||||
"add_to_shared_album": "დაამატე საზიარო ალბომში",
|
||||
"add_url": "დაამატე URL",
|
||||
"added_to_archive": "დაარქივდა",
|
||||
"added_to_favorites": "დაამატე რჩეულებში",
|
||||
"added_to_favorites_count": "{count, number} დაემატა რჩეულებში",
|
||||
"admin": {
|
||||
"asset_offline_description": "ეს საგარეო ბიბლიოთეკის აქტივი დისკზე ვერ მოიძებნა და სანაგვეში იქნა მოთავსებული. თუ ფაილი ბიბლიოთეკის შიგნით მდებარეობს, შეამოწმეთ შესაბამისი აქტივი ტაიმლაინზე. ამ აქტივის აღსადგენად, დარწმუნდით რომ ქვემოთ მოცემული ფაილის მისამართი Immich-ის მიერ წვდომადია და დაასკანერეთ ბიბლიოთეკა.",
|
||||
"authentication_settings": "ავთენტიკაციის პარამეტრები",
|
||||
"authentication_settings_description": "პაროლის, OAuth-ის და სხვა ავტენთიფიკაციის პარამეტრების მართვა",
|
||||
"authentication_settings_disable_all": "ნამდვილად გინდა ავტორიზაციის ყველა მეთოდის გამორთვა? ავტორიზაციას ვეღარანაირად შეძლებ.",
|
||||
@@ -37,14 +45,22 @@
|
||||
"backup_settings_description": "მონაცემთა ბაზის პარამეტრების ამრთვა. შენიშვნა: ამ დავალებების მონიტორინგი არ ხდება და თქვენ არ მოგივათ შეტყობინება, თუ ის ჩავარდება.",
|
||||
"check_all": "შეამოწმე ყველა",
|
||||
"cleanup": "გასუფთავება",
|
||||
"cleared_jobs": "დავალებები {job}-ისათვის გაწმენდილია",
|
||||
"config_set_by_file": "მიმდინარე კონფიგურაცია ფაილის მიერ არის დაყენებული",
|
||||
"confirm_delete_library": "ნამდვილად გინდა {library} ბიბლიოთეკის წაშლა?",
|
||||
"confirm_delete_library_assets": "მართლა გსურთ ამ ბიბლიოთეკის წაშლა? ეს ქმედება Immich-იდან წაშლის ყველა მონიშნულ აქტივს და შეუქცევადია. ფაილები მყარ დისკზე ხელუხლებელი დარჩება.",
|
||||
"confirm_email_below": "დასადასტურებლად, ქვემოთ აკრიფე \"{email}\"",
|
||||
"confirm_reprocess_all_faces": "მართლა გსურთ ყველა სახის თავიდან დამუშავება? ეს ქმედება ხალხისათვის მინიჭებულ სახელებს გაწმენდს.",
|
||||
"confirm_user_password_reset": "ნამდვილად გინდა {user}-(ი)ს პაროლის დარესეტება?",
|
||||
"create_job": "შექმენი დავალება",
|
||||
"cron_expression": "Cron გამოსახულება",
|
||||
"disable_login": "გამორთე ავტორიზაცია",
|
||||
"external_library_management": "გარე ბიბლიოთეკების მართვა",
|
||||
"face_detection": "სახის ამოცნობა",
|
||||
"image_format": "ფორმატი",
|
||||
"image_format_description": "WebP ფორმატი JPEG-ზე პატარა ფაილებს აწარმოებს, მაგრამ მის დამზადებას უფრო მეტი დრო სჭირდება.",
|
||||
"image_fullsize_title": "სრული ზომის გამოსახულების პარამეტრები",
|
||||
"image_prefer_wide_gamut": "უპირატესობა მიენიჭოს ფერის ფართე დიაპაზონს",
|
||||
"image_quality": "ხარისხი",
|
||||
"image_resolution": "გაფართოება",
|
||||
"image_settings": "გამოსახულების პარამეტრები",
|
||||
@@ -59,7 +75,6 @@
|
||||
"logging_settings": "ჟურნალი",
|
||||
"map_settings": "რუკა",
|
||||
"migration_job": "მიგრაცია",
|
||||
"oauth_scope": "დიაპაზონი",
|
||||
"oauth_settings": "OAuth",
|
||||
"template_email_preview": "მინიატურა",
|
||||
"transcoding_acceleration_vaapi": "VAAPI",
|
||||
|
||||
@@ -141,17 +141,12 @@
|
||||
"oauth_auto_register": "",
|
||||
"oauth_auto_register_description": "",
|
||||
"oauth_button_text": "",
|
||||
"oauth_client_id": "",
|
||||
"oauth_client_secret": "",
|
||||
"oauth_enable_description": "",
|
||||
"oauth_issuer_url": "",
|
||||
"oauth_mobile_redirect_uri": "",
|
||||
"oauth_mobile_redirect_uri_override": "",
|
||||
"oauth_mobile_redirect_uri_override_description": "",
|
||||
"oauth_scope": "",
|
||||
"oauth_settings": "",
|
||||
"oauth_settings_description": "",
|
||||
"oauth_signing_algorithm": "",
|
||||
"oauth_storage_label_claim": "",
|
||||
"oauth_storage_label_claim_description": "",
|
||||
"oauth_storage_quota_claim": "",
|
||||
|
||||
27
i18n/kn.json
27
i18n/kn.json
@@ -1 +1,26 @@
|
||||
{}
|
||||
{
|
||||
"about": "ಕುರಿತು",
|
||||
"account": "ಖಾತೆ",
|
||||
"account_settings": "ಖಾತೆ ಸೆಟ್ಟಿಂಗ್ಗಳು",
|
||||
"acknowledge": "ಅಂಗೀಕರಿಸಿ",
|
||||
"action": "ಕಾರ್ಯ",
|
||||
"action_common_update": "ನವೀಕರಿಸಿ",
|
||||
"actions": "ಕ್ರಿಯೆಗಳು",
|
||||
"active": "ಸಕ್ರಿಯ",
|
||||
"activity": "ಚಟುವಟಿಕೆ",
|
||||
"add": "ಸೇರಿಸಿ",
|
||||
"add_a_description": "ವಿವರಣೆಯನ್ನು ಸೇರಿಸಿ",
|
||||
"add_a_location": "ಸ್ಥಳವನ್ನು ಸೇರಿಸಿ",
|
||||
"add_a_name": "ಹೆಸರನ್ನು ಸೇರಿಸಿ",
|
||||
"add_a_title": "ಶೀರ್ಷಿಕೆಯನ್ನು ಸೇರಿಸಿ",
|
||||
"add_endpoint": "ಎಂಡ್ಪಾಯಿಂಟ್ ಸೇರಿಸಿ",
|
||||
"add_exclusion_pattern": "ಹೊರಗಿಡುವಿಕೆ ಮಾದರಿಯನ್ನು ಸೇರಿಸಿ",
|
||||
"add_import_path": "ಆಮದು ಮಾರ್ಗವನ್ನು ಸೇರಿಸಿ",
|
||||
"add_location": "ಸ್ಥಳ ಸೇರಿಸಿ",
|
||||
"add_more_users": "ಹೆಚ್ಚಿನ ಬಳಕೆದಾರರನ್ನು ಸೇರಿಸಿ",
|
||||
"add_partner": "ಪಾಲುದಾರರನ್ನು ಸೇರಿಸಿ",
|
||||
"add_path": "ಹಾದಿಯನ್ನು ಸೇರಿಸಿ",
|
||||
"add_photos": "ಫೋಟೋಗಳನ್ನು ಸೇರಿಸಿ",
|
||||
"add_to": "ಸೇರಿಸಿ…",
|
||||
"add_to_album": "ಆಲ್ಬಮ್ಗೆ ಸೇರಿಸಿ"
|
||||
}
|
||||
|
||||
276
i18n/ko.json
276
i18n/ko.json
@@ -43,7 +43,7 @@
|
||||
"backup_database_enable_description": "데이터베이스 덤프 활성화",
|
||||
"backup_keep_last_amount": "보관할 이전 덤프의 수",
|
||||
"backup_settings": "데이터베이스 덤프 설정",
|
||||
"backup_settings_description": "데이터베이스 덤프 설정을 관리합니다. 참고: 이 작업들은 모니터링되지 않으며, 실패 시 알림을 받지 않습니다.",
|
||||
"backup_settings_description": "데이터베이스 덤프 설정을 관리합니다. 참고: 이 작업은 진행 및 실패 여부를 확인할 수 없습니다.",
|
||||
"check_all": "모두 확인",
|
||||
"cleanup": "정리",
|
||||
"cleared_jobs": "작업 중단: {job}",
|
||||
@@ -53,6 +53,7 @@
|
||||
"confirm_email_below": "계속 진행하려면 아래에 \"{email}\" 입력",
|
||||
"confirm_reprocess_all_faces": "모든 얼굴을 다시 처리하시겠습니까? 이름이 지정된 인물을 포함한 모든 인물이 삭제됩니다.",
|
||||
"confirm_user_password_reset": "{user}님의 비밀번호를 재설정하시겠습니까?",
|
||||
"confirm_user_pin_code_reset": "{user}님의 PIN 코드를 초기화하시겠습니까?",
|
||||
"create_job": "작업 생성",
|
||||
"cron_expression": "Cron 표현식",
|
||||
"cron_expression_description": "Cron 형식을 사용하여 스캔 주기를 설정합니다. 자세한 내용과 예시는 <link>Crontab Guru</link>를 참조하세요.",
|
||||
@@ -70,7 +71,7 @@
|
||||
"forcing_refresh_library_files": "모든 라이브러리 파일 강제 새로고침 중...",
|
||||
"image_format": "형식",
|
||||
"image_format_description": "WebP는 JPEG보다 파일 크기가 작지만, 인코딩에 더 많은 시간이 소요됩니다.",
|
||||
"image_fullsize_description": "확대 보기 시 사용되는, 메타데이터가 없는 전체 크기 이미지",
|
||||
"image_fullsize_description": "메타데이터가 제거된 전체 크기 이미지로, 확대 보기 시 사용됩니다.",
|
||||
"image_fullsize_enabled": "전체 크기 이미지 생성 활성화",
|
||||
"image_fullsize_enabled_description": "웹에 적합하지 않은 형식인 경우 전체 크기 이미지를 생성합니다. \"내장 미리보기 우선 사용\"이 활성화되어 있으면, 변환 없이 내장된 미리보기를 그대로 사용합니다. JPEG과 같은 웹 친화적인 형식에는 영향을 주지 않습니다.",
|
||||
"image_fullsize_quality_description": "전체 크기 이미지의 품질 (1~100). 숫자가 높을수록 품질이 좋지만 파일 크기도 커집니다.",
|
||||
@@ -79,7 +80,7 @@
|
||||
"image_prefer_embedded_preview_setting_description": "RAW 사진에 포함된 내장 미리보기를 이미지 처리 시 입력으로 사용합니다(사용 가능한 경우에 한함). 이 방식은 일부 이미지에서 더 정확한 색상을 얻을 수 있지만, 미리보기의 품질은 카메라에 따라 다르며 압축으로 인한 품질 저하가 나타날 수 있습니다.",
|
||||
"image_prefer_wide_gamut": "광색역 우선 사용",
|
||||
"image_prefer_wide_gamut_setting_description": "섬네일에 Display P3 색역을 사용합니다. 광색역 이미지를 보다 생생하게 표현할 수 있지만, 구형 브라우저나 장치에서는 다르게 보일 수 있습니다. sRGB 이미지의 경우 색상 왜곡을 방지하기 위해 그대로 유지됩니다.",
|
||||
"image_preview_description": "단일 항목을 보거나 기계 학습에 사용되는, 메타데이터가 제거된 중간 크기 이미지",
|
||||
"image_preview_description": "메타데이터가 제거된 중간 크기 이미지로, 단일 항목을 보거나 기계 학습에 사용됩니다.",
|
||||
"image_preview_quality_description": "미리보기 품질 (1~100). 숫자가 높을수록 품질이 좋아지지만, 파일 크기가 커지고 앱 반응 속도가 느려질 수 있습니다. 너무 낮게 설정하면 기계 학습 품질에 영향을 줄 수 있습니다.",
|
||||
"image_preview_title": "미리보기 설정",
|
||||
"image_quality": "품질",
|
||||
@@ -118,7 +119,7 @@
|
||||
"machine_learning_duplicate_detection": "중복 감지",
|
||||
"machine_learning_duplicate_detection_enabled": "중복 감지 활성화",
|
||||
"machine_learning_duplicate_detection_enabled_description": "비활성화된 경우에도 완전히 동일한 항목은 중복 제거됩니다.",
|
||||
"machine_learning_duplicate_detection_setting_description": "CLIP 임베딩을 사용하여 비슷한 항목 찾기",
|
||||
"machine_learning_duplicate_detection_setting_description": "CLIP 임베딩을 사용하여 중복 가능성이 높은 항목 찾기",
|
||||
"machine_learning_enabled": "기계 학습 활성화",
|
||||
"machine_learning_enabled_description": "비활성화된 경우 아래 설정 여부와 관계없이 모든 기계 학습 기능이 비활성화됩니다.",
|
||||
"machine_learning_facial_recognition": "얼굴 인식",
|
||||
@@ -138,7 +139,7 @@
|
||||
"machine_learning_settings": "기계 학습 설정",
|
||||
"machine_learning_settings_description": "기계 학습 기능 및 설정 관리",
|
||||
"machine_learning_smart_search": "스마트 검색",
|
||||
"machine_learning_smart_search_description": "CLIP 임베딩으로 자연어를 사용하여 이미지 검색",
|
||||
"machine_learning_smart_search_description": "CLIP 임베딩을 사용한 내용 기반 이미지 검색",
|
||||
"machine_learning_smart_search_enabled": "스마트 검색 활성화",
|
||||
"machine_learning_smart_search_enabled_description": "비활성화된 경우 스마트 검색을 위한 이미지 처리를 진행하지 않습니다.",
|
||||
"machine_learning_url_description": "기계 학습 서버의 URL을 입력합니다. URL이 여러 개인 경우 첫 번째 서버부터 마지막까지 성공적으로 응답할 때까지 한 번에 하나씩 순서대로 요청을 시도합니다. 응답하지 않는 서버는 다시 사용 가능할 때까지 일시적으로 제외됩니다.",
|
||||
@@ -192,26 +193,22 @@
|
||||
"oauth_auto_register": "자동 가입",
|
||||
"oauth_auto_register_description": "OAuth로 새 사용자가 로그인하는 경우 자동으로 가입",
|
||||
"oauth_button_text": "버튼 텍스트",
|
||||
"oauth_client_id": "클라이언트 ID",
|
||||
"oauth_client_secret": "클라이언트 시크릿",
|
||||
"oauth_client_secret_description": "OAuth 제공자가 PKCE(Proof Key for Code Exchange)를 지원하지 않는 경우 필요합니다.",
|
||||
"oauth_enable_description": "OAuth 로그인",
|
||||
"oauth_issuer_url": "발급자 URL",
|
||||
"oauth_mobile_redirect_uri": "모바일 리다이렉트 URI",
|
||||
"oauth_mobile_redirect_uri_override": "모바일 리다이렉트 URI 재정의",
|
||||
"oauth_mobile_redirect_uri_override_description": "OAuth 공급자가 '{callback}'과 같은 모바일 URI를 제공하지 않는 경우 활성화하세요.",
|
||||
"oauth_profile_signing_algorithm": "사용자 정보 서명 알고리즘",
|
||||
"oauth_profile_signing_algorithm_description": "사용자 정보 서명에 사용되는 알고리즘을 선택합니다.",
|
||||
"oauth_scope": "스코프",
|
||||
"oauth_settings": "OAuth",
|
||||
"oauth_settings_description": "OAuth 로그인 설정 관리",
|
||||
"oauth_settings_more_details": "이 기능에 대한 자세한 내용은 <link>문서</link>를 참조하세요.",
|
||||
"oauth_signing_algorithm": "서명 알고리즘",
|
||||
"oauth_storage_label_claim": "스토리지 레이블 선택",
|
||||
"oauth_storage_label_claim_description": "스토리지 레이블을 사용자가 입력한 값으로 자동 설정합니다.",
|
||||
"oauth_storage_quota_claim": "스토리지 할당량 선택",
|
||||
"oauth_storage_quota_claim_description": "스토리지 할당량을 사용자가 입력한 값으로 자동 설정합니다.",
|
||||
"oauth_storage_quota_default": "스토리지 할당량 기본값 (GiB)",
|
||||
"oauth_storage_quota_default_description": "입력하지 않은 경우 사용할 GiB 단위의 기본 할당량 (무제한 할당량의 경우 0 입력)",
|
||||
"oauth_timeout": "요청 타임아웃",
|
||||
"oauth_timeout_description": "요청 타임아웃 (밀리초 단위)",
|
||||
"offline_paths": "누락된 파일",
|
||||
"offline_paths_description": "외부 라이브러리의 항목이 아닌 파일을 수동으로 삭제한 경우 발생할 수 있습니다.",
|
||||
"password_enable_description": "이메일과 비밀번호로 로그인",
|
||||
@@ -222,20 +219,20 @@
|
||||
"quota_size_gib": "할당량 (GiB)",
|
||||
"refreshing_all_libraries": "모든 라이브러리 다시 스캔 중...",
|
||||
"registration": "관리자 계정 생성",
|
||||
"registration_description": "첫 번째로 생성되는 사용자는 관리자 권한을 부여받으며, 관리 및 사용자 생성이 가능합니다.",
|
||||
"registration_description": "당신은 첫 번째 사용자이며 관리자 권한이 자동으로 부여됩니다. 관리 작업과 사용자 생성이 가능합니다.",
|
||||
"repair_all": "모두 수리",
|
||||
"repair_matched_items": "항목 {count, plural, one {#개} other {#개}}가 일치합니다.",
|
||||
"repaired_items": "항목 {count, plural, one {#개} other {#개}}를 복구했습니다.",
|
||||
"require_password_change_on_login": "첫 로그인 시 비밀번호 변경 요구",
|
||||
"reset_settings_to_default": "설정을 기본값으로 복원",
|
||||
"reset_settings_to_recent_saved": "마지막으로 저장된 설정으로 복원",
|
||||
"reset_settings_to_recent_saved": "마지막으로 저장된 설정 복원",
|
||||
"scanning_library": "라이브러리 스캔 중",
|
||||
"search_jobs": "작업 검색…",
|
||||
"send_welcome_email": "환영 이메일 전송",
|
||||
"server_external_domain_settings": "외부 도메인",
|
||||
"server_external_domain_settings_description": "공개 공유 링크에 사용할 도메인 (http(s):// 포함)",
|
||||
"server_public_users": "모든 사용자",
|
||||
"server_public_users_description": "공유 앨범에 사용자를 추가할 경우 모든 사용자(이름, 이메일)가 나열됩니다. 비활성화 할 경우, 관리자만이 사용자 목록을 사용할 수 있습니다.",
|
||||
"server_public_users_description": "공유 앨범에 사용자를 추가할 때 모든 사용자의 이름과 이메일을 목록에 표시합니다. 비활성화된 경우 관리자인 경우에만 사용자 목록이 표시됩니다.",
|
||||
"server_settings": "서버 설정",
|
||||
"server_settings_description": "서버 설정 관리",
|
||||
"server_welcome_message": "환영 메시지",
|
||||
@@ -251,7 +248,7 @@
|
||||
"storage_template_hash_verification_enabled_description": "해시 검증을 활성화합니다. 이 설정의 결과를 확실히 이해하지 않는 한 비활성화하지 마세요.",
|
||||
"storage_template_migration": "스토리지 템플릿 마이그레이션",
|
||||
"storage_template_migration_description": "이전에 업로드된 항목에 현재 <link>{template}</link> 적용",
|
||||
"storage_template_migration_info": "스토리지 템플릿은 모든 확장자를 소문자로 변환합니다. 템플릿 변경 사항은 새로 업로드한 항목에만 적용됩니다. 기존에 업로드된 항목에 적용하려면 <link>{job}</link>을 실행하세요.",
|
||||
"storage_template_migration_info": "스토리지 템플릿은 모든 확장자를 소문자로 변환하며, 변경 사항은 새로 업로드한 항목에만 적용됩니다. 기존에 업로드된 항목에 적용하려면 <link>{job}</link>을 실행하세요.",
|
||||
"storage_template_migration_job": "스토리지 템플릿 마이그레이션 작업",
|
||||
"storage_template_more_details": "이 기능에 대한 자세한 내용은 <template-link>스토리지 템플릿</template-link> 및 <implications-link>설명</implications-link>을 참조하세요.",
|
||||
"storage_template_onboarding_description": "이 기능을 활성화하면 사용자 정의 템플릿을 사용하여 파일을 자동으로 정리할 수 있습니다. 안정성 문제로 인해 해당 기능은 기본적으로 비활성화되어 있습니다. 자세한 내용은 <link>문서</link>를 참조하세요.",
|
||||
@@ -261,14 +258,14 @@
|
||||
"storage_template_user_label": "사용자의 스토리지 레이블: <code>{label}</code>",
|
||||
"system_settings": "시스템 설정",
|
||||
"tag_cleanup_job": "태그 정리",
|
||||
"template_email_available_tags": "템플릿에서 다음 변수를 사용할 수 있습니다: {tags}",
|
||||
"template_email_available_tags": "템플릿에 다음 변수를 사용할 수 있습니다: {tags}",
|
||||
"template_email_if_empty": "비어 있는 경우 기본 템플릿이 사용됩니다.",
|
||||
"template_email_invite_album": "앨범 초대 템플릿",
|
||||
"template_email_invite_album": "앨범 초대장 템플릿",
|
||||
"template_email_preview": "미리보기",
|
||||
"template_email_settings": "이메일 템플릿",
|
||||
"template_email_settings_description": "사용자 정의 이메일 템플릿 관리",
|
||||
"template_email_update_album": "앨범 템플릿 업데이트",
|
||||
"template_email_welcome": "웰컴 메일 템플릿",
|
||||
"template_email_update_album": "앨범 업데이트 안내 템플릿",
|
||||
"template_email_welcome": "환영 메일 템플릿",
|
||||
"template_settings": "알림 템플릿",
|
||||
"template_settings_description": "알림을 위한 사용자 지정 템플릿을 관리합니다.",
|
||||
"theme_custom_css_settings": "사용자 정의 CSS",
|
||||
@@ -340,18 +337,19 @@
|
||||
"transcoding_video_codec": "동영상 코덱",
|
||||
"transcoding_video_codec_description": "VP9는 효율적이고 웹 호환성이 높지만 트랜스코딩에 다소 긴 시간이 소요됩니다. HEVC는 성능은 비슷하나 웹 호환성이 낮습니다. H.264는 호환성이 가장 높지만 인코딩된 파일 크기가 크고, AV1은 가장 효율적이나 오래된 기기와의 호환성이 낮습니다.",
|
||||
"trash_enabled_description": "휴지통 활성화",
|
||||
"trash_number_of_days": "삭제 보류 기간",
|
||||
"trash_number_of_days_description": "휴지통으로 이동된 항목의 삭제 보류 기간",
|
||||
"trash_number_of_days": "삭제 유예 기간",
|
||||
"trash_number_of_days_description": "휴지통으로 이동된 항목의 삭제 유예 기간",
|
||||
"trash_settings": "휴지통 설정",
|
||||
"trash_settings_description": "휴지통 설정 관리",
|
||||
"untracked_files": "추적되지 않는 파일",
|
||||
"untracked_files_description": "애플리케이션에서 추적되지 않는 파일 목록입니다. 이동 실패, 업로드 중단 또는 버그로 인해 발생할 수 있습니다.",
|
||||
"user_cleanup_job": "사용자 정리",
|
||||
"user_delete_delay": "<b>{user}</b>님이 업로드한 항목이 {delay, plural, one {#일} other {#일}} 후 영구적으로 삭제됩니다.",
|
||||
"user_delete_delay_settings": "삭제 보류 기간",
|
||||
"user_delete_delay_settings_description": "사용자를 영구적으로 삭제하기 전 보류 기간을 설정합니다. 사용자 삭제는 매일 밤 자정, 보류 기간이 지난 사용자를 확인한 후 진행됩니다. 변경 사항은 다음 작업부터 적용됩니다.",
|
||||
"user_delete_delay_settings": "삭제 유예 기간",
|
||||
"user_delete_delay_settings_description": "사용자 계정과 항목이 완전히 삭제되기까지의 유예 기간(일)을 설정합니다. 사용자 삭제 작업은 매일 자정에 실행되어 삭제 대상 여부를 확인합니다. 이 설정의 변경 사항은 다음 작업 실행 시 반영됩니다.",
|
||||
"user_delete_immediately": "<b>{user}</b>님이 업로드한 항목이 <b>영구적으로 삭제됩니다</b>.",
|
||||
"user_delete_immediately_checkbox": "보류 기간 없이 즉시 삭제",
|
||||
"user_delete_immediately_checkbox": "유예 기간 없이 즉시 삭제",
|
||||
"user_details": "사용자 상세",
|
||||
"user_management": "사용자 관리",
|
||||
"user_password_has_been_reset": "사용자의 비밀번호가 초기화되었습니다:",
|
||||
"user_password_reset_description": "이 비밀번호를 해당 사용자에게 알려주세요. 임시 비밀번호로 로그인한 뒤 비밀번호를 반드시 변경해야 합니다.",
|
||||
@@ -373,7 +371,7 @@
|
||||
"advanced": "고급",
|
||||
"advanced_settings_enable_alternate_media_filter_subtitle": "이 옵션을 사용하면 동기화 중 미디어를 대체 기준으로 필터링할 수 있습니다. 앱이 모든 앨범을 제대로 감지하지 못할 때만 사용하세요.",
|
||||
"advanced_settings_enable_alternate_media_filter_title": "대체 기기 앨범 동기화 필터 사용 (실험적)",
|
||||
"advanced_settings_log_level_title": "로그 레벨: {}",
|
||||
"advanced_settings_log_level_title": "로그 레벨: {level}",
|
||||
"advanced_settings_prefer_remote_subtitle": "일부 기기의 경우 기기 내의 섬네일을 로드하는 속도가 매우 느립니다. 서버 이미지를 대신 로드하려면 이 설정을 활성화하세요.",
|
||||
"advanced_settings_prefer_remote_title": "서버 이미지 선호",
|
||||
"advanced_settings_proxy_headers_subtitle": "네트워크 요청을 보낼 때 Immich가 사용할 프록시 헤더를 정의합니다.",
|
||||
@@ -404,9 +402,9 @@
|
||||
"album_remove_user_confirmation": "{user}님을 앨범에서 제거하시겠습니까?",
|
||||
"album_share_no_users": "이미 모든 사용자와 앨범을 공유 중이거나 다른 사용자가 없는 것 같습니다.",
|
||||
"album_thumbnail_card_item": "항목 1개",
|
||||
"album_thumbnail_card_items": "항목 {}개",
|
||||
"album_thumbnail_card_items": "항목 {count}개",
|
||||
"album_thumbnail_card_shared": " · 공유됨",
|
||||
"album_thumbnail_shared_by": "{}님이 공유함",
|
||||
"album_thumbnail_shared_by": "{user}님이 공유함",
|
||||
"album_updated": "항목 추가 알림",
|
||||
"album_updated_setting_description": "공유 앨범에 항목이 추가된 경우 이메일 알림 받기",
|
||||
"album_user_left": "{album} 앨범에서 나옴",
|
||||
@@ -442,9 +440,9 @@
|
||||
"app_settings": "앱 설정",
|
||||
"appears_in": "다음 앨범에 포함됨",
|
||||
"archive": "보관함",
|
||||
"archive_or_unarchive_photo": "보관함으로 이동 또는 제거",
|
||||
"archive_or_unarchive_photo": "보관 처리 또는 해제",
|
||||
"archive_page_no_archived_assets": "보관된 항목 없음",
|
||||
"archive_page_title": "보관함 ({})",
|
||||
"archive_page_title": "보관함 ({count})",
|
||||
"archive_size": "압축 파일 크기",
|
||||
"archive_size_description": "다운로드할 압축 파일의 크기 구성 (GiB 단위)",
|
||||
"archived": "보관함",
|
||||
@@ -481,18 +479,18 @@
|
||||
"assets_added_to_album_count": "앨범에 항목 {count, plural, one {#개} other {#개}} 추가됨",
|
||||
"assets_added_to_name_count": "{hasName, select, true {<b>{name}</b>} other {새 앨범}}에 항목 {count, plural, one {#개} other {#개}} 추가됨",
|
||||
"assets_count": "{count, plural, one {#개} other {#개}} 항목",
|
||||
"assets_deleted_permanently": "{}개 항목이 영구적으로 삭제됨",
|
||||
"assets_deleted_permanently_from_server": "서버에서 항목 {}개가 영구적으로 삭제됨",
|
||||
"assets_deleted_permanently": "{count}개 항목이 영구적으로 삭제됨",
|
||||
"assets_deleted_permanently_from_server": "서버에서 항목 {count}개가 영구적으로 삭제됨",
|
||||
"assets_moved_to_trash_count": "휴지통으로 항목 {count, plural, one {#개} other {#개}} 이동됨",
|
||||
"assets_permanently_deleted_count": "항목 {count, plural, one {#개} other {#개}}가 영구적으로 삭제됨",
|
||||
"assets_removed_count": "항목 {count, plural, one {#개} other {#개}}를 제거했습니다.",
|
||||
"assets_removed_permanently_from_device": "기기에서 항목 {}개가 영구적으로 삭제됨",
|
||||
"assets_removed_permanently_from_device": "기기에서 항목 {count}개가 영구적으로 삭제됨",
|
||||
"assets_restore_confirmation": "휴지통으로 이동된 항목을 모두 복원하시겠습니까? 이 작업은 되돌릴 수 없습니다! 누락된 항목의 경우 복원되지 않습니다.",
|
||||
"assets_restored_count": "항목 {count, plural, one {#개} other {#개}}를 복원했습니다.",
|
||||
"assets_restored_successfully": "항목 {}개를 복원했습니다.",
|
||||
"assets_trashed": "휴지통으로 항목 {}개 이동됨",
|
||||
"assets_restored_successfully": "항목 {count}개를 복원했습니다.",
|
||||
"assets_trashed": "휴지통으로 항목 {count}개 이동됨",
|
||||
"assets_trashed_count": "휴지통으로 항목 {count, plural, one {#개} other {#개}} 이동됨",
|
||||
"assets_trashed_from_server": "휴지통으로 서버에 있는 항목 {}개가 이동되었습니다.",
|
||||
"assets_trashed_from_server": "서버에서 항목 {count}개가 휴지통으로 이동됨",
|
||||
"assets_were_part_of_album_count": "앨범에 이미 존재하는 {count, plural, one {항목} other {항목}}입니다.",
|
||||
"authorized_devices": "인증된 기기",
|
||||
"automatic_endpoint_switching_subtitle": "지정된 Wi-Fi가 사용 가능한 경우 내부망을 통해 연결하고, 그렇지 않으면 다른 연결 방식을 사용합니다.",
|
||||
@@ -501,7 +499,7 @@
|
||||
"back_close_deselect": "뒤로, 닫기, 선택 취소",
|
||||
"background_location_permission": "백그라운드 위치 권한",
|
||||
"background_location_permission_content": "백그라운드에서 네트워크를 전환하려면, Immich가 Wi-Fi 네트워크 이름을 확인할 수 있도록 '정확한 위치' 권한을 항상 허용해야 합니다.",
|
||||
"backup_album_selection_page_albums_device": "기기의 앨범 ({})",
|
||||
"backup_album_selection_page_albums_device": "기기의 앨범 ({count})",
|
||||
"backup_album_selection_page_albums_tap": "한 번 탭하면 포함되고, 두 번 탭하면 제외됩니다.",
|
||||
"backup_album_selection_page_assets_scatter": "각 항목은 여러 앨범에 포함될 수 있으며, 백업 진행 중에도 대상 앨범을 포함하거나 제외할 수 있습니다.",
|
||||
"backup_album_selection_page_select_albums": "앨범 선택",
|
||||
@@ -510,11 +508,11 @@
|
||||
"backup_all": "모두",
|
||||
"backup_background_service_backup_failed_message": "항목을 백업하지 못했습니다. 다시 시도하는 중…",
|
||||
"backup_background_service_connection_failed_message": "서버에 연결하지 못했습니다. 다시 시도하는 중…",
|
||||
"backup_background_service_current_upload_notification": "{} 업로드 중",
|
||||
"backup_background_service_current_upload_notification": "{filename} 업로드 중",
|
||||
"backup_background_service_default_notification": "새로운 항목을 확인하는 중…",
|
||||
"backup_background_service_error_title": "백업 오류",
|
||||
"backup_background_service_in_progress_notification": "항목을 백업하는 중…",
|
||||
"backup_background_service_upload_failure_notification": "{} 업로드 실패",
|
||||
"backup_background_service_upload_failure_notification": "{filename} 업로드 실패",
|
||||
"backup_controller_page_albums": "백업할 앨범",
|
||||
"backup_controller_page_background_app_refresh_disabled_content": "백그라운드 백업을 사용하려면 설정 > 일반 > 백그라운드 앱 새로 고침에서 백그라운드 앱 새로 고침을 활성화하세요.",
|
||||
"backup_controller_page_background_app_refresh_disabled_title": "백그라운드 새로 고침 비활성화됨",
|
||||
@@ -525,7 +523,7 @@
|
||||
"backup_controller_page_background_battery_info_title": "배터리 최적화",
|
||||
"backup_controller_page_background_charging": "충전 중에만",
|
||||
"backup_controller_page_background_configure_error": "백그라운드 서비스 구성 실패",
|
||||
"backup_controller_page_background_delay": "새 미디어 백업 간격: {}",
|
||||
"backup_controller_page_background_delay": "새 미디어 백업 딜레이: {duration}",
|
||||
"backup_controller_page_background_description": "앱을 열지 않아도 새로 추가된 항목이 자동으로 백업되도록 하려면 백그라운드 서비스를 활성화하세요.",
|
||||
"backup_controller_page_background_is_off": "백그라운드 자동 백업이 비활성화되었습니다.",
|
||||
"backup_controller_page_background_is_on": "백그라운드 자동 백업이 활성화되었습니다.",
|
||||
@@ -535,12 +533,12 @@
|
||||
"backup_controller_page_backup": "백업",
|
||||
"backup_controller_page_backup_selected": "선택됨: ",
|
||||
"backup_controller_page_backup_sub": "백업된 사진 및 동영상",
|
||||
"backup_controller_page_created": "생성일: {}",
|
||||
"backup_controller_page_created": "생성일: {date}",
|
||||
"backup_controller_page_desc_backup": "포그라운드 백업을 활성화하여 앱을 시작할 때 새 항목을 서버에 자동으로 업로드하세요.",
|
||||
"backup_controller_page_excluded": "제외됨: ",
|
||||
"backup_controller_page_failed": "실패 ({})",
|
||||
"backup_controller_page_filename": "파일명: {} [{}]",
|
||||
"backup_controller_page_id": "ID: {}",
|
||||
"backup_controller_page_failed": "실패 ({count})",
|
||||
"backup_controller_page_filename": "파일명: {filename} [{size}]",
|
||||
"backup_controller_page_id": "ID: {id}",
|
||||
"backup_controller_page_info": "백업 정보",
|
||||
"backup_controller_page_none_selected": "선택된 항목 없음",
|
||||
"backup_controller_page_remainder": "남은 항목",
|
||||
@@ -549,7 +547,7 @@
|
||||
"backup_controller_page_start_backup": "백업 시작",
|
||||
"backup_controller_page_status_off": "포그라운드 자동 백업이 비활성화되었습니다.",
|
||||
"backup_controller_page_status_on": "포그라운드 자동 백업이 활성화되었습니다.",
|
||||
"backup_controller_page_storage_format": "{} 사용 중, 전체 {}",
|
||||
"backup_controller_page_storage_format": "{total} 중 {used} 사용",
|
||||
"backup_controller_page_to_backup": "백업할 앨범 목록",
|
||||
"backup_controller_page_total_sub": "선택한 앨범의 고유한 사진 및 동영상",
|
||||
"backup_controller_page_turn_off": "비활성화",
|
||||
@@ -570,25 +568,25 @@
|
||||
"bugs_and_feature_requests": "버그 제보 & 기능 요청",
|
||||
"build": "빌드",
|
||||
"build_image": "빌드 이미지",
|
||||
"bulk_delete_duplicates_confirmation": "비슷한 항목 {count, plural, one {#개} other {#개}}를 삭제하시겠습니까? 크기가 가장 큰 항목을 제외한 나머지 항목들이 영구적으로 삭제됩니다. 이 작업은 되돌릴 수 없습니다!",
|
||||
"bulk_keep_duplicates_confirmation": "비슷한 항목 {count, plural, one {#개} other {#개}}를 유지하시겠습니까? 파일을 삭제하지 않고 확인된 것으로 판단합니다.",
|
||||
"bulk_trash_duplicates_confirmation": "비슷한 항목 {count, plural, one {#개} other {#개}}를 휴지통으로 이동하시겠습니까? 크기가 가장 큰 항목을 제외한 나머지 항목들이 모두 휴지통으로 이동됩니다.",
|
||||
"bulk_delete_duplicates_confirmation": "중복된 항목 {count, plural, one {#개를} other {#개를}} 일괄 삭제하시겠습니까? 각 그룹에서 가장 큰 항목만 남기고 나머지 중복 항목을 영구적으로 삭제합니다. 이 작업은 되돌릴 수 없습니다!",
|
||||
"bulk_keep_duplicates_confirmation": "중복된 항목 {count, plural, one {#개를} other {#개를}} 그대로 유지하시겠습니까? 이 작업은 어떤 항목도 삭제하지 않고, 모든 중복 그룹을 확인한 것으로 처리합니다.",
|
||||
"bulk_trash_duplicates_confirmation": "중복된 항목 {count, plural, one {#개를} other {#개를}} 일괄 휴지통으로 이동하시겠습니까? 이 작업은 각 그룹에서 가장 큰 항목만 남기고 나머지 중복 항목을 휴지통으로 이동합니다.",
|
||||
"buy": "Immich 구매",
|
||||
"cache_settings_album_thumbnails": "라이브러리 섬네일 ({})",
|
||||
"cache_settings_album_thumbnails": "라이브러리 페이지 섬네일 ({count} 항목)",
|
||||
"cache_settings_clear_cache_button": "캐시 지우기",
|
||||
"cache_settings_clear_cache_button_title": "앱 캐시를 지웁니다. 이 작업은 캐시가 다시 생성될 때까지 앱 성능에 상당한 영향을 미칠 수 있습니다.",
|
||||
"cache_settings_duplicated_assets_clear_button": "지우기",
|
||||
"cache_settings_duplicated_assets_subtitle": "업로드되지 않는 사진 및 동영상",
|
||||
"cache_settings_duplicated_assets_title": "중복 항목 ({}개)",
|
||||
"cache_settings_image_cache_size": "이미지 캐시 크기 ({})",
|
||||
"cache_settings_duplicated_assets_title": "중복 항목 ({count})",
|
||||
"cache_settings_image_cache_size": "이미지 캐시 크기 ({count} 항목)",
|
||||
"cache_settings_statistics_album": "라이브러리 섬네일",
|
||||
"cache_settings_statistics_assets": "항목 {}개 ({})",
|
||||
"cache_settings_statistics_assets": "항목 {count}개 ({size})",
|
||||
"cache_settings_statistics_full": "전체 이미지",
|
||||
"cache_settings_statistics_shared": "공유 앨범 섬네일",
|
||||
"cache_settings_statistics_thumbnail": "섬네일",
|
||||
"cache_settings_statistics_title": "캐시 사용률",
|
||||
"cache_settings_subtitle": "Immich 모바일 앱의 캐싱 동작 제어",
|
||||
"cache_settings_thumbnail_size": "섬네일 캐시 크기 ({})",
|
||||
"cache_settings_thumbnail_size": "섬네일 캐시 크기 ({count} 항목)",
|
||||
"cache_settings_tile_subtitle": "로컬 스토리지 동작 제어",
|
||||
"cache_settings_tile_title": "로컬 스토리지",
|
||||
"cache_settings_title": "캐시 설정",
|
||||
@@ -614,6 +612,7 @@
|
||||
"change_password_form_new_password": "새 비밀번호 입력",
|
||||
"change_password_form_password_mismatch": "비밀번호가 일치하지 않습니다.",
|
||||
"change_password_form_reenter_new_password": "새 비밀번호 확인",
|
||||
"change_pin_code": "PIN 코드 변경",
|
||||
"change_your_password": "비밀번호 변경",
|
||||
"changed_visibility_successfully": "표시 여부가 성공적으로 변경되었습니다.",
|
||||
"check_all": "모두 확인",
|
||||
@@ -654,11 +653,12 @@
|
||||
"confirm_delete_face": "항목에서 {name}의 얼굴을 삭제하시겠습니까?",
|
||||
"confirm_delete_shared_link": "이 공유 링크를 삭제하시겠습니까?",
|
||||
"confirm_keep_this_delete_others": "이 항목을 제외한 스택의 모든 항목이 삭제됩니다. 계속하시겠습니까?",
|
||||
"confirm_new_pin_code": "새 PIN 코드 확인",
|
||||
"confirm_password": "비밀번호 확인",
|
||||
"contain": "맞춤",
|
||||
"context": "내용",
|
||||
"continue": "계속",
|
||||
"control_bottom_app_bar_album_info_shared": "항목 {}개 · 공유됨",
|
||||
"control_bottom_app_bar_album_info_shared": "항목 {count}개 · 공유됨",
|
||||
"control_bottom_app_bar_create_new_album": "앨범 생성",
|
||||
"control_bottom_app_bar_delete_from_immich": "Immich에서 삭제",
|
||||
"control_bottom_app_bar_delete_from_local": "기기에서 삭제",
|
||||
@@ -696,9 +696,11 @@
|
||||
"create_tag_description": "새 태그를 생성합니다. 하위 태그의 경우 /를 포함한 전체 태그명을 입력하세요.",
|
||||
"create_user": "사용자 생성",
|
||||
"created": "생성됨",
|
||||
"created_at": "생성됨",
|
||||
"crop": "자르기",
|
||||
"curated_object_page_title": "사물",
|
||||
"current_device": "현재 기기",
|
||||
"current_pin_code": "현재 PIN 코드",
|
||||
"current_server_address": "현재 서버 주소",
|
||||
"custom_locale": "사용자 지정 로케일",
|
||||
"custom_locale_description": "언어 및 지역에 따른 날짜 및 숫자 형식 지정",
|
||||
@@ -728,7 +730,7 @@
|
||||
"delete_dialog_alert_remote": "이 항목들이 Immich 서버에서 영구적으로 삭제됩니다.",
|
||||
"delete_dialog_ok_force": "무시하고 삭제",
|
||||
"delete_dialog_title": "영구적으로 삭제",
|
||||
"delete_duplicates_confirmation": "비슷한 항목들을 영구적으로 삭제하시겠습니까?",
|
||||
"delete_duplicates_confirmation": "이 중복 항목들을 영구적으로 삭제하시겠습니까?",
|
||||
"delete_face": "얼굴 삭제",
|
||||
"delete_key": "키 삭제",
|
||||
"delete_library": "라이브러리 삭제",
|
||||
@@ -767,7 +769,7 @@
|
||||
"download_enqueue": "대기열에 다운로드",
|
||||
"download_error": "다운로드 오류",
|
||||
"download_failed": "다운로드 실패",
|
||||
"download_filename": "파일: {}",
|
||||
"download_filename": "파일: {filename}",
|
||||
"download_finished": "다운로드가 완료되었습니다.",
|
||||
"download_include_embedded_motion_videos": "내장된 동영상",
|
||||
"download_include_embedded_motion_videos_description": "모션 포토에 내장된 동영상을 개별 파일로 포함",
|
||||
@@ -783,8 +785,8 @@
|
||||
"downloading_asset_filename": "{filename} 다운로드 중...",
|
||||
"downloading_media": "미디어 다운로드 중",
|
||||
"drop_files_to_upload": "아무 곳에나 파일을 드롭하여 업로드",
|
||||
"duplicates": "비슷한 항목",
|
||||
"duplicates_description": "비슷한 항목들을 확인하고, 유지하거나 삭제할 항목 선택",
|
||||
"duplicates": "중복 항목",
|
||||
"duplicates_description": "각 그룹에서 중복된 항목을 확인하고 삭제할 항목을 선택하세요.",
|
||||
"duration": "기간",
|
||||
"edit": "편집",
|
||||
"edit_album": "앨범 수정",
|
||||
@@ -811,6 +813,7 @@
|
||||
"editor_crop_tool_h2_aspect_ratios": "종횡비",
|
||||
"editor_crop_tool_h2_rotation": "회전",
|
||||
"email": "이메일",
|
||||
"email_notifications": "이메일 알림",
|
||||
"empty_folder": "폴더가 비어 있음",
|
||||
"empty_trash": "휴지통 비우기",
|
||||
"empty_trash_confirmation": "휴지통을 비우시겠습니까? 휴지통에 있는 모든 항목이 Immich에서 영구적으로 삭제됩니다.\n이 작업은 되돌릴 수 없습니다!",
|
||||
@@ -818,12 +821,12 @@
|
||||
"enabled": "활성화됨",
|
||||
"end_date": "종료일",
|
||||
"enqueued": "대기열에 추가됨",
|
||||
"enter_wifi_name": "Enter WiFi name",
|
||||
"enter_wifi_name": "Wi-Fi 이름 입력",
|
||||
"error": "오류",
|
||||
"error_change_sort_album": "앨범 표시 순서 변경 실패",
|
||||
"error_delete_face": "얼굴 삭제 중 오류가 발생했습니다.",
|
||||
"error_loading_image": "이미지 로드 오류",
|
||||
"error_saving_image": "오류: {}",
|
||||
"error_saving_image": "오류: {error}",
|
||||
"error_title": "오류 - 문제가 발생했습니다",
|
||||
"errors": {
|
||||
"cannot_navigate_next_asset": "다음 항목으로 이동할 수 없습니다.",
|
||||
@@ -853,10 +856,12 @@
|
||||
"failed_to_keep_this_delete_others": "이 항목을 유지하고 다른 항목을 삭제하지 못했습니다.",
|
||||
"failed_to_load_asset": "항목 로드 실패",
|
||||
"failed_to_load_assets": "항목 로드 실패",
|
||||
"failed_to_load_notifications": "알림 로드 실패",
|
||||
"failed_to_load_people": "인물 로드 실패",
|
||||
"failed_to_remove_product_key": "제품 키를 제거하지 못했습니다.",
|
||||
"failed_to_stack_assets": "스택을 만들지 못했습니다.",
|
||||
"failed_to_unstack_assets": "스택을 해제하지 못했습니다.",
|
||||
"failed_to_update_notification_status": "알림 상태 업데이트 실패",
|
||||
"import_path_already_exists": "이 가져올 경로는 이미 존재합니다.",
|
||||
"incorrect_email_or_password": "잘못된 이메일 또는 비밀번호",
|
||||
"paths_validation_failed": "경로 {paths, plural, one {#개} other {#개}}를 검증하지 못했습니다.",
|
||||
@@ -924,7 +929,8 @@
|
||||
"unable_to_remove_reaction": "반응을 제거할 수 없습니다.",
|
||||
"unable_to_repair_items": "항목을 수리할 수 없습니다.",
|
||||
"unable_to_reset_password": "비밀번호를 초기화할 수 없습니다.",
|
||||
"unable_to_resolve_duplicate": "비슷한 항목을 처리할 수 없습니다.",
|
||||
"unable_to_reset_pin_code": "PIN 코드를 초기화할 수 없음",
|
||||
"unable_to_resolve_duplicate": "중복된 항목을 처리할 수 없습니다.",
|
||||
"unable_to_restore_assets": "항목을 복원할 수 없습니다.",
|
||||
"unable_to_restore_trash": "휴지통에서 항목을 복원할 수 없음",
|
||||
"unable_to_restore_user": "사용자 삭제를 취소할 수 없습니다.",
|
||||
@@ -957,10 +963,10 @@
|
||||
"exif_bottom_sheet_location": "위치",
|
||||
"exif_bottom_sheet_people": "인물",
|
||||
"exif_bottom_sheet_person_add_person": "이름 추가",
|
||||
"exif_bottom_sheet_person_age": "{}세",
|
||||
"exif_bottom_sheet_person_age_months": "생후 {}개월",
|
||||
"exif_bottom_sheet_person_age_year_months": "생후 1년 {}개월",
|
||||
"exif_bottom_sheet_person_age_years": "{}세",
|
||||
"exif_bottom_sheet_person_age": "{age}세",
|
||||
"exif_bottom_sheet_person_age_months": "생후 {months}개월",
|
||||
"exif_bottom_sheet_person_age_year_months": "생후 1년 {months}개월",
|
||||
"exif_bottom_sheet_person_age_years": "{years}세",
|
||||
"exit_slideshow": "슬라이드 쇼 종료",
|
||||
"expand_all": "모두 확장",
|
||||
"experimental_settings_new_asset_list_subtitle": "진행 중",
|
||||
@@ -978,7 +984,7 @@
|
||||
"external": "외부",
|
||||
"external_libraries": "외부 라이브러리",
|
||||
"external_network": "외부 네트워크",
|
||||
"external_network_sheet_info": "When not on the preferred WiFi network, the app will connect to the server through the first of the below URLs it can reach, starting from top to bottom",
|
||||
"external_network_sheet_info": "선호하는 Wi-Fi 네트워크에 연결되어 있지 않은 경우, 앱은 아래에 나열된 URL 중 연결 가능한 첫 번째 주소를 위에서부터 순서대로 사용합니다.",
|
||||
"face_unassigned": "알 수 없음",
|
||||
"failed": "실패함",
|
||||
"failed_to_load_assets": "항목 로드 실패",
|
||||
@@ -1002,7 +1008,7 @@
|
||||
"folder": "폴더",
|
||||
"folder_not_found": "폴더를 찾을 수 없음",
|
||||
"folders": "폴더",
|
||||
"folders_feature_description": "파일 시스템의 사진 및 동영상을 폴더 뷰로 탐색",
|
||||
"folders_feature_description": "파일 시스템에 있는 사진과 동영상을 폴더 보기로 탐색",
|
||||
"forward": "앞으로",
|
||||
"general": "일반",
|
||||
"get_help": "도움 요청",
|
||||
@@ -1025,7 +1031,7 @@
|
||||
"header_settings_field_validator_msg": "값은 비워둘 수 없습니다.",
|
||||
"header_settings_header_name_input": "헤더 이름",
|
||||
"header_settings_header_value_input": "헤더 값",
|
||||
"headers_settings_tile_subtitle": "앱이 각 네트워크 요청에 함께 전송할 프록시 헤더를 정의합니다.",
|
||||
"headers_settings_tile_subtitle": "네트워크 요청에 함께 전송할 프록시 헤더를 정의합니다.",
|
||||
"headers_settings_tile_title": "사용자 정의 프록시 헤더",
|
||||
"hi_user": "안녕하세요 {name}님, ({email})",
|
||||
"hide_all_people": "모든 인물 숨기기",
|
||||
@@ -1045,13 +1051,14 @@
|
||||
"home_page_delete_remote_err_local": "서버에서 삭제된 항목입니다. 건너뜁니다.",
|
||||
"home_page_favorite_err_local": "기기의 항목은 즐겨찾기에 추가할 수 없습니다. 건너뜁니다.",
|
||||
"home_page_favorite_err_partner": "파트너의 항목은 즐겨찾기에 추가할 수 없습니다. 건너뜁니다.",
|
||||
"home_page_first_time_notice": "앱을 처음 사용하는 경우, 타임라인에 사진과 동영상이 표시될 수 있도록 백업 앨범을 선택해주세요.",
|
||||
"home_page_first_time_notice": "앱을 처음 사용하는 경우, 기기에 있는 사진과 동영상을 타임라인에 표시하고 백업하려면 백업할 앨범을 선택하세요.",
|
||||
"home_page_share_err_local": "기기에만 저장된 항목은 링크로 공유할 수 없어 건너뜁니다.",
|
||||
"home_page_upload_err_limit": "한 번에 최대 30개의 항목만 업로드할 수 있습니다.",
|
||||
"host": "호스트",
|
||||
"hour": "시간",
|
||||
"id": "ID",
|
||||
"ignore_icloud_photos": "iCloud 사진 제외",
|
||||
"ignore_icloud_photos_description": "iCloud에 저장된 사진은 Immich 서버로 업로드되지 않습니다.",
|
||||
"ignore_icloud_photos_description": "iCloud에 저장된 사진이 Immich에 업로드되지 않습니다.",
|
||||
"image": "이미지",
|
||||
"image_alt_text_date": "{date} 촬영한 {isVideo, select, true {동영상} other {사진}}",
|
||||
"image_alt_text_date_1_person": "{date} {person1}님과 함께한 {isVideo, select, true {동영상} other {사진}}",
|
||||
@@ -1175,8 +1182,8 @@
|
||||
"manage_your_devices": "로그인된 기기 관리",
|
||||
"manage_your_oauth_connection": "OAuth 연결 관리",
|
||||
"map": "지도",
|
||||
"map_assets_in_bound": "사진 {}개",
|
||||
"map_assets_in_bounds": "사진 {}개",
|
||||
"map_assets_in_bound": "사진 {count}개",
|
||||
"map_assets_in_bounds": "사진 {count}개",
|
||||
"map_cannot_get_user_location": "사용자의 위치를 가져올 수 없습니다.",
|
||||
"map_location_dialog_yes": "예",
|
||||
"map_location_picker_page_use_location": "이 위치 사용",
|
||||
@@ -1190,15 +1197,18 @@
|
||||
"map_settings": "지도 설정",
|
||||
"map_settings_dark_mode": "다크 모드",
|
||||
"map_settings_date_range_option_day": "지난 24시간",
|
||||
"map_settings_date_range_option_days": "지난 {}일",
|
||||
"map_settings_date_range_option_days": "지난 {days}일",
|
||||
"map_settings_date_range_option_year": "지난 1년",
|
||||
"map_settings_date_range_option_years": "지난 {}년",
|
||||
"map_settings_date_range_option_years": "지난 {years}년",
|
||||
"map_settings_dialog_title": "지도 설정",
|
||||
"map_settings_include_show_archived": "보관된 항목 포함",
|
||||
"map_settings_include_show_partners": "파트너가 공유한 항목 포함",
|
||||
"map_settings_only_show_favorites": "즐겨찾기만 표시",
|
||||
"map_settings_theme_settings": "지도 테마",
|
||||
"map_zoom_to_see_photos": "축소하여 사진 보기",
|
||||
"mark_all_as_read": "모두 읽음으로 표시",
|
||||
"mark_as_read": "읽음으로 표시",
|
||||
"marked_all_as_read": "모두 읽은 것으로 표시했습니다.",
|
||||
"matches": "일치",
|
||||
"media_type": "미디어 종류",
|
||||
"memories": "추억",
|
||||
@@ -1208,7 +1218,7 @@
|
||||
"memories_start_over": "다시 보기",
|
||||
"memories_swipe_to_close": "위로 밀어서 닫기",
|
||||
"memories_year_ago": "1년 전",
|
||||
"memories_years_ago": "{}년 전",
|
||||
"memories_years_ago": "{years, plural, other {#년}} 전",
|
||||
"memory": "추억",
|
||||
"memory_lane_title": "{title} 추억",
|
||||
"menu": "메뉴",
|
||||
@@ -1225,6 +1235,8 @@
|
||||
"month": "월",
|
||||
"monthly_title_text_date_format": "yyyy년 M월",
|
||||
"more": "더보기",
|
||||
"moved_to_archive": "보관함으로 항목 {count, plural, one {#개} other {#개}} 이동됨",
|
||||
"moved_to_library": "라이브러리로 항목 {count, plural, one {#개} other {#개}} 이동됨",
|
||||
"moved_to_trash": "휴지통으로 이동되었습니다.",
|
||||
"multiselect_grid_edit_date_time_err_read_only": "읽기 전용 항목의 날짜는 변경할 수 없습니다. 건너뜁니다.",
|
||||
"multiselect_grid_edit_gps_err_read_only": "읽기 전용 항목의 위치는 변경할 수 없습니다. 건너뜁니다.",
|
||||
@@ -1232,13 +1244,14 @@
|
||||
"my_albums": "내 앨범",
|
||||
"name": "이름",
|
||||
"name_or_nickname": "이름 또는 닉네임",
|
||||
"networking_settings": "네트워킹",
|
||||
"networking_settings": "연결",
|
||||
"networking_subtitle": "서버 엔드포인트 설정 관리",
|
||||
"never": "없음",
|
||||
"new_album": "새 앨범",
|
||||
"new_api_key": "API 키 생성",
|
||||
"new_password": "새 비밀번호",
|
||||
"new_person": "새 인물 생성",
|
||||
"new_pin_code": "새 PIN 코드",
|
||||
"new_user_created": "사용자가 생성되었습니다.",
|
||||
"new_version_available": "새 버전 사용 가능",
|
||||
"newest_first": "최신순",
|
||||
@@ -1251,12 +1264,14 @@
|
||||
"no_archived_assets_message": "사진과 동영상을 보관함으로 이동하여 목록에서 숨기기",
|
||||
"no_assets_message": "여기를 클릭하여 첫 사진을 업로드하세요.",
|
||||
"no_assets_to_show": "표시할 항목 없음",
|
||||
"no_duplicates_found": "비슷한 항목을 찾을 수 없습니다.",
|
||||
"no_duplicates_found": "중복된 항목이 없습니다.",
|
||||
"no_exif_info_available": "EXIF 정보 없음",
|
||||
"no_explore_results_message": "더 많은 사진을 업로드하여 탐색 기능을 사용하세요.",
|
||||
"no_favorites_message": "즐겨찾기에 좋아하는 사진과 동영상을 추가하기",
|
||||
"no_libraries_message": "외부 라이브러리를 생성하여 기존 사진과 동영상을 확인하세요.",
|
||||
"no_name": "이름 없음",
|
||||
"no_notifications": "알림 없음",
|
||||
"no_people_found": "일치하는 인물 없음",
|
||||
"no_places": "장소 없음",
|
||||
"no_results": "결과가 없습니다.",
|
||||
"no_results_description": "동의어 또는 더 일반적인 단어를 사용해 보세요.",
|
||||
@@ -1311,7 +1326,7 @@
|
||||
"partner_page_partner_add_failed": "파트너를 추가하지 못했습니다.",
|
||||
"partner_page_select_partner": "파트너 선택",
|
||||
"partner_page_shared_to_title": "공유 대상",
|
||||
"partner_page_stop_sharing_content": "더 이상 {}님이 사진에 접근할 수 없습니다.",
|
||||
"partner_page_stop_sharing_content": "더 이상 {partner}님이 사진에 접근할 수 없습니다.",
|
||||
"partner_sharing": "파트너와 공유",
|
||||
"partners": "파트너",
|
||||
"password": "비밀번호",
|
||||
@@ -1331,7 +1346,7 @@
|
||||
"pending": "진행 중",
|
||||
"people": "인물",
|
||||
"people_edits_count": "인물 {count, plural, one {#명} other {#명}}을 수정했습니다.",
|
||||
"people_feature_description": "사진 및 동영상을 인물 그룹별로 탐색",
|
||||
"people_feature_description": "사진과 동영상을 인물 그룹별로 탐색",
|
||||
"people_sidebar_description": "사이드바에 인물 링크 표시",
|
||||
"permanent_deletion_warning": "영구 삭제 경고",
|
||||
"permanent_deletion_warning_setting_description": "항목을 영구적으로 삭제하기 전 경고 메시지 표시",
|
||||
@@ -1357,23 +1372,27 @@
|
||||
"photos_count": "사진 {count, plural, one {{count, number}개} other {{count, number}개}}",
|
||||
"photos_from_previous_years": "지난 몇 년간의 사진",
|
||||
"pick_a_location": "위치 선택",
|
||||
"pin_code_changed_successfully": "PIN 코드를 변경했습니다.",
|
||||
"pin_code_reset_successfully": "PIN 코드를 초기화했습니다.",
|
||||
"pin_code_setup_successfully": "PIN 코드를 설정했습니다.",
|
||||
"place": "장소",
|
||||
"places": "장소",
|
||||
"places_count": "{count, plural, one {{count, number} 장소} other {{count, number} 장소}}",
|
||||
"play": "재생",
|
||||
"play_memories": "추억 재생",
|
||||
"play_motion_photo": "모션 포토 재생",
|
||||
"play_or_pause_video": "동영상 재생, 일시 정지",
|
||||
"play_or_pause_video": "동영상 재생/일시 정지",
|
||||
"port": "포트",
|
||||
"preferences_settings_subtitle": "Manage the app's preferences",
|
||||
"preferences_settings_title": "설정",
|
||||
"preferences_settings_subtitle": "앱 설정 관리",
|
||||
"preferences_settings_title": "개인 설정",
|
||||
"preset": "사전 설정",
|
||||
"preview": "미리 보기",
|
||||
"previous": "이전",
|
||||
"previous_memory": "이전 추억",
|
||||
"previous_or_next_photo": "이전 또는 다음 이미지로",
|
||||
"previous_or_next_photo": "이전/다음 사진으로",
|
||||
"primary": "주요",
|
||||
"privacy": "개인 정보",
|
||||
"profile": "프로필",
|
||||
"profile_drawer_app_logs": "로그",
|
||||
"profile_drawer_client_out_of_date_major": "모바일 앱이 최신 버전이 아닙니다. 최신 버전으로 업데이트하세요.",
|
||||
"profile_drawer_client_out_of_date_minor": "모바일 앱이 최신 버전이 아닙니다. 최신 버전으로 업데이트하세요.",
|
||||
@@ -1387,7 +1406,7 @@
|
||||
"public_share": "모든 사용자와 공유",
|
||||
"purchase_account_info": "서포터",
|
||||
"purchase_activated_subtitle": "Immich와 오픈 소스 소프트웨어를 지원해주셔서 감사합니다.",
|
||||
"purchase_activated_time": "{date, date} 등록됨",
|
||||
"purchase_activated_time": "{date} 등록됨",
|
||||
"purchase_activated_title": "제품 키가 성공적으로 등록되었습니다.",
|
||||
"purchase_button_activate": "등록",
|
||||
"purchase_button_buy": "구매",
|
||||
@@ -1432,7 +1451,8 @@
|
||||
"recent_searches": "최근 검색",
|
||||
"recently_added": "최근 추가",
|
||||
"recently_added_page_title": "최근 추가",
|
||||
"recently_taken": "최근 촬영됨",
|
||||
"recently_taken": "최근 항목",
|
||||
"recently_taken_page_title": "최근 촬영됨",
|
||||
"refresh": "새로고침",
|
||||
"refresh_encoded_videos": "동영상 재인코딩",
|
||||
"refresh_faces": "얼굴 새로고침",
|
||||
@@ -1475,16 +1495,17 @@
|
||||
"reset": "초기화",
|
||||
"reset_password": "비밀번호 재설정",
|
||||
"reset_people_visibility": "인물 표시 여부 초기화",
|
||||
"reset_pin_code": "PIN 코드 초기화",
|
||||
"reset_to_default": "기본값으로 복원",
|
||||
"resolve_duplicates": "비슷한 항목 확인",
|
||||
"resolved_all_duplicates": "비슷한 항목을 모두 확인했습니다.",
|
||||
"resolve_duplicates": "중복된 항목 확인",
|
||||
"resolved_all_duplicates": "중복된 항목을 모두 처리했습니다.",
|
||||
"restore": "복원",
|
||||
"restore_all": "모두 복원",
|
||||
"restore_user": "사용자 복원",
|
||||
"restored_asset": "항목이 복원되었습니다.",
|
||||
"resume": "재개",
|
||||
"retry_upload": "다시 시도",
|
||||
"review_duplicates": "비슷한 항목 확인",
|
||||
"review_duplicates": "중복된 항목 확인",
|
||||
"role": "역할",
|
||||
"role_editor": "편집자",
|
||||
"role_viewer": "뷰어",
|
||||
@@ -1503,7 +1524,7 @@
|
||||
"search_albums": "앨범 검색",
|
||||
"search_by_context": "내용 검색",
|
||||
"search_by_description": "설명으로 검색",
|
||||
"search_by_description_example": "설악산에서 즐기는 하이킹",
|
||||
"search_by_description_example": "동해안에서 맞이하는 새해 일출",
|
||||
"search_by_filename": "파일명 또는 확장자로 검색",
|
||||
"search_by_filename_example": "예시: IMG_1234.JPG or PNG",
|
||||
"search_camera_make": "카메라 제조사 검색...",
|
||||
@@ -1528,14 +1549,14 @@
|
||||
"search_no_more_result": "더이상 결과 없음",
|
||||
"search_no_people": "인물이 없습니다.",
|
||||
"search_no_people_named": "\"{name}\" 인물을 찾을 수 없음",
|
||||
"search_no_result": "No results found, try a different search term or combination",
|
||||
"search_no_result": "검색 결과가 없습니다. 다른 검색어나 조합으로 다시 시도해 보세요.",
|
||||
"search_options": "검색 옵션",
|
||||
"search_page_categories": "분류",
|
||||
"search_page_motion_photos": "모션 포토",
|
||||
"search_page_no_objects": "사용 가능한 사물 정보 없음",
|
||||
"search_page_no_places": "사용 가능한 위치 정보 없음",
|
||||
"search_page_screenshots": "스크린샷",
|
||||
"search_page_search_photos_videos": "사진 및 동영상을 검색하세요",
|
||||
"search_page_search_photos_videos": "사진 및 동영상 검색",
|
||||
"search_page_selfies": "셀피",
|
||||
"search_page_things": "사물",
|
||||
"search_page_view_all_button": "모두 보기",
|
||||
@@ -1567,6 +1588,7 @@
|
||||
"select_keep_all": "모두 유지",
|
||||
"select_library_owner": "라이브러리 소유자 선택",
|
||||
"select_new_face": "새 얼굴 선택",
|
||||
"select_person_to_tag": "태그할 인물을 선택하세요.",
|
||||
"select_photos": "사진 선택",
|
||||
"select_trash_all": "모두 삭제",
|
||||
"select_user_for_sharing_page_err_album": "앨범을 생성하지 못했습니다.",
|
||||
@@ -1597,26 +1619,27 @@
|
||||
"setting_languages_apply": "적용",
|
||||
"setting_languages_subtitle": "앱 언어 변경",
|
||||
"setting_languages_title": "언어",
|
||||
"setting_notifications_notify_failures_grace_period": "백그라운드 백업 실패 알림: {}",
|
||||
"setting_notifications_notify_hours": "{}시간 후",
|
||||
"setting_notifications_notify_failures_grace_period": "백그라운드 백업 실패 알림: {duration}",
|
||||
"setting_notifications_notify_hours": "{count}시간",
|
||||
"setting_notifications_notify_immediately": "즉시",
|
||||
"setting_notifications_notify_minutes": "{}분 후",
|
||||
"setting_notifications_notify_minutes": "{count}분",
|
||||
"setting_notifications_notify_never": "알리지 않음",
|
||||
"setting_notifications_notify_seconds": "{}초",
|
||||
"setting_notifications_notify_seconds": "{count}초",
|
||||
"setting_notifications_single_progress_subtitle": "개별 항목의 상세 업로드 정보 표시",
|
||||
"setting_notifications_single_progress_title": "백그라운드 백업 상세 진행률 표시",
|
||||
"setting_notifications_subtitle": "알림 기본 설정 조정",
|
||||
"setting_notifications_total_progress_subtitle": "전체 업로드 진행률 (완료/전체)",
|
||||
"setting_notifications_total_progress_title": "백그라운드 백업 전체 진행률 표시",
|
||||
"setting_video_viewer_looping_title": "반복",
|
||||
"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": "서버에서 동영상을 스트리밍할 때, 트랜스코딩된 버전이 있더라도 원본을 재생합니다. 이로 인해 버퍼링이 발생할 수 있습니다. 기기에 있는 동영상은 이 설정과 관계없이 항상 원본 화질로 재생됩니다.",
|
||||
"setting_video_viewer_original_video_title": "원본 동영상 강제 사용",
|
||||
"settings": "설정",
|
||||
"settings_require_restart": "설정을 적용하려면 Immich를 다시 시작하세요.",
|
||||
"settings_saved": "설정이 저장되었습니다.",
|
||||
"setup_pin_code": "PIN 코드 설정",
|
||||
"share": "공유",
|
||||
"share_add_photos": "사진 추가",
|
||||
"share_assets_selected": "{}개 선택됨",
|
||||
"share_assets_selected": "{count}개 선택됨",
|
||||
"share_dialog_preparing": "준비 중...",
|
||||
"shared": "공유됨",
|
||||
"shared_album_activities_input_disable": "댓글이 비활성화되었습니다",
|
||||
@@ -1630,32 +1653,32 @@
|
||||
"shared_by_user": "{user}님이 공유함",
|
||||
"shared_by_you": "내가 공유함",
|
||||
"shared_from_partner": "{partner}님의 사진",
|
||||
"shared_intent_upload_button_progress_text": "{} / {} 업로드됨",
|
||||
"shared_intent_upload_button_progress_text": "전체 {total}개 중 {current}개 업로드됨",
|
||||
"shared_link_app_bar_title": "공유 링크",
|
||||
"shared_link_clipboard_copied_massage": "클립보드에 복사되었습니다.",
|
||||
"shared_link_clipboard_text": "링크: {}\n비밀번호: {}",
|
||||
"shared_link_clipboard_text": "링크: {link}\n비밀번호: {password}",
|
||||
"shared_link_create_error": "공유 링크 생성 중 문제가 발생했습니다.",
|
||||
"shared_link_edit_description_hint": "공유 링크 설명 입력",
|
||||
"shared_link_edit_expire_after_option_day": "1일",
|
||||
"shared_link_edit_expire_after_option_days": "{}일",
|
||||
"shared_link_edit_expire_after_option_days": "{count}일",
|
||||
"shared_link_edit_expire_after_option_hour": "1시간",
|
||||
"shared_link_edit_expire_after_option_hours": "{}시간",
|
||||
"shared_link_edit_expire_after_option_hours": "{count}시간",
|
||||
"shared_link_edit_expire_after_option_minute": "1분",
|
||||
"shared_link_edit_expire_after_option_minutes": "{}분",
|
||||
"shared_link_edit_expire_after_option_months": "{}개월",
|
||||
"shared_link_edit_expire_after_option_year": "{}년",
|
||||
"shared_link_edit_expire_after_option_minutes": "{count}분",
|
||||
"shared_link_edit_expire_after_option_months": "{count}개월",
|
||||
"shared_link_edit_expire_after_option_year": "{count}년",
|
||||
"shared_link_edit_password_hint": "공유 비밀번호 입력",
|
||||
"shared_link_edit_submit_button": "링크 편집",
|
||||
"shared_link_error_server_url_fetch": "서버 URL을 불러올 수 없습니다.",
|
||||
"shared_link_expires_day": "{}일 후 만료",
|
||||
"shared_link_expires_days": "{}일 후 만료",
|
||||
"shared_link_expires_hour": "{}시간 후 만료",
|
||||
"shared_link_expires_hours": "{}시간 후 만료",
|
||||
"shared_link_expires_minute": "{}분 후 만료",
|
||||
"shared_link_expires_minutes": "{}분 후 만료",
|
||||
"shared_link_expires_day": "{count}일 후 만료",
|
||||
"shared_link_expires_days": "{count}일 후 만료",
|
||||
"shared_link_expires_hour": "{count}시간 후 만료",
|
||||
"shared_link_expires_hours": "{count}시간 후 만료",
|
||||
"shared_link_expires_minute": "{count}분 후 만료",
|
||||
"shared_link_expires_minutes": "{count}분 후 만료",
|
||||
"shared_link_expires_never": "만료되지 않음",
|
||||
"shared_link_expires_second": "{}초 후 만료",
|
||||
"shared_link_expires_seconds": "{}초 후 만료",
|
||||
"shared_link_expires_second": "{count}초 후 만료",
|
||||
"shared_link_expires_seconds": "{count}초 후 만료",
|
||||
"shared_link_individual_shared": "개인 공유",
|
||||
"shared_link_info_chip_metadata": "EXIF",
|
||||
"shared_link_manage_links": "공유 링크 관리",
|
||||
@@ -1668,7 +1691,7 @@
|
||||
"sharing": "공유",
|
||||
"sharing_enter_password": "이 페이지를 보려면 비밀번호를 입력하세요.",
|
||||
"sharing_page_album": "공유 앨범",
|
||||
"sharing_page_description": "공유 앨범을 만들어 주변 사람들과 사진 및 동영상을 공유하세요.",
|
||||
"sharing_page_description": "공유 앨범을 만들어 주변 사람들에게 사진과 동영상을 공유하세요.",
|
||||
"sharing_page_empty_list": "공유 앨범 없음",
|
||||
"sharing_sidebar_description": "사이드바에 공유 링크 표시",
|
||||
"sharing_silver_appbar_create_shared_album": "공유 앨범 생성",
|
||||
@@ -1715,7 +1738,7 @@
|
||||
"sort_title": "제목",
|
||||
"source": "소스",
|
||||
"stack": "스택",
|
||||
"stack_duplicates": "비슷한 항목 스택",
|
||||
"stack_duplicates": "중복된 항목 스택",
|
||||
"stack_select_one_photo": "스택의 대표 사진 선택",
|
||||
"stack_selected_photos": "선택한 이미지 스택",
|
||||
"stacked_assets_count": "항목 {count, plural, one {#개} other {#개}} 스택됨",
|
||||
@@ -1730,13 +1753,14 @@
|
||||
"stop_sharing_photos_with_user": "이 사용자와 사진 공유 중단",
|
||||
"storage": "저장 공간",
|
||||
"storage_label": "스토리지 레이블",
|
||||
"storage_quota": "스토리지 할당량",
|
||||
"storage_usage": "{available} 중 {used} 사용",
|
||||
"submit": "확인",
|
||||
"suggestions": "추천",
|
||||
"sunrise_on_the_beach": "동해안에서 맞이하는 새해 일출",
|
||||
"sunrise_on_the_beach": "이미지에 존재하는 사물 검색",
|
||||
"support": "지원",
|
||||
"support_and_feedback": "지원 & 제안",
|
||||
"support_third_party_description": "Immich가 서드파티 패키지로 설치 되었습니다. 링크를 눌러 먼저 패키지 문제인지 확인해 보세요.",
|
||||
"support_third_party_description": "서드파티 패키지를 이용하여 Immich가 설치된 것으로 보입니다. 현재 발생하는 문제는 해당 패키지가 원인일 수 있으므로, 먼저 아래 링크를 통해 패키지 개발자에게 문의해주세요.",
|
||||
"swap_merge_direction": "병합 방향 변경",
|
||||
"sync": "동기화",
|
||||
"sync_albums": "앨범 동기화",
|
||||
@@ -1745,7 +1769,7 @@
|
||||
"tag": "태그",
|
||||
"tag_assets": "항목 태그",
|
||||
"tag_created": "태그 생성됨: {tag}",
|
||||
"tag_feature_description": "사진 및 동영상을 주제별 그룹화된 태그로 탐색",
|
||||
"tag_feature_description": "태그 주제별로 그룹화된 사진과 동영상 탐색",
|
||||
"tag_not_found_question": "태그를 찾을 수 없나요? <link>새 태그를 생성하세요.</link>",
|
||||
"tag_people": "인물 태그",
|
||||
"tag_updated": "태그 업데이트됨: {tag}",
|
||||
@@ -1755,8 +1779,8 @@
|
||||
"theme": "테마",
|
||||
"theme_selection": "테마 설정",
|
||||
"theme_selection_description": "브라우저 및 시스템 기본 설정에 따라 라이트 모드와 다크 모드를 자동으로 설정",
|
||||
"theme_setting_asset_list_storage_indicator_title": "항목에 스토리지 동기화 여부 표시",
|
||||
"theme_setting_asset_list_tiles_per_row_title": "한 줄에 표시할 항목 수 ({})",
|
||||
"theme_setting_asset_list_storage_indicator_title": "타일에 서버 동기화 상태 표시",
|
||||
"theme_setting_asset_list_tiles_per_row_title": "한 줄에 표시할 항목 수 ({count})",
|
||||
"theme_setting_colorful_interface_subtitle": "배경에 대표 색상을 적용합니다.",
|
||||
"theme_setting_colorful_interface_title": "미려한 인터페이스",
|
||||
"theme_setting_image_viewer_quality_subtitle": "상세 보기 이미지 품질 조정",
|
||||
@@ -1781,7 +1805,7 @@
|
||||
"to_trash": "삭제",
|
||||
"toggle_settings": "설정 변경",
|
||||
"toggle_theme": "다크 모드 사용",
|
||||
"total": "합계",
|
||||
"total": "전체",
|
||||
"total_usage": "총 사용량",
|
||||
"trash": "휴지통",
|
||||
"trash_all": "모두 삭제",
|
||||
@@ -1791,13 +1815,15 @@
|
||||
"trash_no_results_message": "삭제된 사진과 동영상이 여기에 표시됩니다.",
|
||||
"trash_page_delete_all": "모두 삭제",
|
||||
"trash_page_empty_trash_dialog_content": "휴지통을 비우시겠습니까? 휴지통에 있는 모든 항목이 Immich에서 영구적으로 제거됩니다.",
|
||||
"trash_page_info": "휴지통으로 이동된 항목은 {}일 후 영구적으로 삭제됩니다.",
|
||||
"trash_page_info": "휴지통으로 이동된 항목은 {days}일 후 영구적으로 삭제됩니다.",
|
||||
"trash_page_no_assets": "휴지통이 비어 있음",
|
||||
"trash_page_restore_all": "모두 복원",
|
||||
"trash_page_select_assets_btn": "항목 선택",
|
||||
"trash_page_title": "휴지통 ({})",
|
||||
"trash_page_title": "휴지통 ({count})",
|
||||
"trashed_items_will_be_permanently_deleted_after": "휴지통으로 이동된 항목은 {days, plural, one {#일} other {#일}} 후 영구적으로 삭제됩니다.",
|
||||
"type": "형식",
|
||||
"unable_to_change_pin_code": "PIN 코드를 변경할 수 없음",
|
||||
"unable_to_setup_pin_code": "PIN 코드를 설정할 수 없음",
|
||||
"unarchive": "보관함에서 제거",
|
||||
"unarchived_count": "보관함에서 항목 {count, plural, other {#개}} 제거됨",
|
||||
"unfavorite": "즐겨찾기 해제",
|
||||
@@ -1833,7 +1859,7 @@
|
||||
"upload_status_errors": "오류",
|
||||
"upload_status_uploaded": "완료",
|
||||
"upload_success": "업로드가 완료되었습니다. 업로드된 항목을 보려면 페이지를 새로고침하세요.",
|
||||
"upload_to_immich": "Immich에 업로드 ({})",
|
||||
"upload_to_immich": "Immich에 업로드 ({count})",
|
||||
"uploading": "업로드 중",
|
||||
"url": "URL",
|
||||
"usage": "사용량",
|
||||
@@ -1842,6 +1868,8 @@
|
||||
"user": "사용자",
|
||||
"user_id": "사용자 ID",
|
||||
"user_liked": "{user}님이 {type, select, photo {이 사진을} video {이 동영상을} asset {이 항목을} other {이 항목을}} 좋아합니다.",
|
||||
"user_pin_code_settings": "PIN 코드",
|
||||
"user_pin_code_settings_description": "PIN 코드 관리",
|
||||
"user_purchase_settings": "구매",
|
||||
"user_purchase_settings_description": "구매 및 제품 키 관리",
|
||||
"user_role_set": "{user}님에게 {role} 역할을 설정했습니다.",
|
||||
@@ -1890,7 +1918,7 @@
|
||||
"week": "주",
|
||||
"welcome": "환영합니다",
|
||||
"welcome_to_immich": "환영합니다",
|
||||
"wifi_name": "WiFi Name",
|
||||
"wifi_name": "W-Fi 이름",
|
||||
"year": "년",
|
||||
"years_ago": "{years, plural, one {#년} other {#년}} 전",
|
||||
"yes": "네",
|
||||
|
||||
41
i18n/lt.json
41
i18n/lt.json
@@ -38,12 +38,13 @@
|
||||
"authentication_settings_disable_all": "Ar tikrai norite išjungti visus prisijungimo būdus? Prisijungimas bus visiškai išjungtas.",
|
||||
"authentication_settings_reenable": "Norėdami vėl įjungti, naudokite <link>Serverio komandą</link>.",
|
||||
"background_task_job": "Foninės užduotys",
|
||||
"backup_database": "Duomenų bazės atsarginė kopija",
|
||||
"backup_database_enable_description": "Įgalinti duomenų bazės atsarginė kopijas",
|
||||
"backup_keep_last_amount": "Išsaugomų ankstesnių atsarginių duomenų bazės kopijų skaičius",
|
||||
"backup_settings": "Atsarginės kopijos nustatymai",
|
||||
"backup_settings_description": "Tvarkyti duomenų bazės atsarginės kopijos nustatymus",
|
||||
"backup_database": "Sukurti duomenų bazės išklotinę",
|
||||
"backup_database_enable_description": "Įgalinti duomenų bazės išklotinės",
|
||||
"backup_keep_last_amount": "Išsaugomų ankstesnių duomenų bazės išklotinių skaičius",
|
||||
"backup_settings": "Duomenų bazės išklotinių nustatymai",
|
||||
"backup_settings_description": "Tvarkyti duomenų bazės išklotinės nustatymus. Pastaba: Šie darbai nėra stebimi ir jums nebus pranešta apie nesėkmę.",
|
||||
"check_all": "Pažymėti viską",
|
||||
"cleanup": "Valymas",
|
||||
"cleared_jobs": "Išvalyti darbai: {job}",
|
||||
"config_set_by_file": "Konfigūracija nustatyta pagal konfigūracinį failą",
|
||||
"confirm_delete_library": "Ar tikrai norite ištrinti {library} biblioteką?",
|
||||
@@ -51,6 +52,7 @@
|
||||
"confirm_email_below": "Patvirtinimui įveskite \"{email}\" žemiau",
|
||||
"confirm_reprocess_all_faces": "Ar tikrai norite iš naujo apdoroti visus veidus? Tai taip pat ištrins įvardytus asmenis.",
|
||||
"confirm_user_password_reset": "Ar tikrai norite iš naujo nustatyti {user} slaptažodį?",
|
||||
"confirm_user_pin_code_reset": "Ar tikrai norite iš naujo nustatyti {user} PIN kodą?",
|
||||
"create_job": "Sukurti darbą",
|
||||
"cron_expression": "Cron išraiška",
|
||||
"cron_expression_description": "Nustatyti skanavimo intervalą naudojant cron formatą. Norėdami gauti daugiau informacijos žiūrėkite <link>Crontab Guru</link>",
|
||||
@@ -182,20 +184,13 @@
|
||||
"oauth_auto_register": "Automatinis registravimas",
|
||||
"oauth_auto_register_description": "Automatiškai užregistruoti naujus naudotojus po prisijungimo per OAuth",
|
||||
"oauth_button_text": "Mygtuko tekstas",
|
||||
"oauth_client_id": "Kliento ID",
|
||||
"oauth_client_secret": "Kliento paslaptis",
|
||||
"oauth_enable_description": "Prisijungti su OAuth",
|
||||
"oauth_issuer_url": "Teikėjo URL",
|
||||
"oauth_mobile_redirect_uri": "Mobiliojo peradresavimo URI",
|
||||
"oauth_mobile_redirect_uri_override": "Mobiliojo peradresavimo URI pakeitimas",
|
||||
"oauth_mobile_redirect_uri_override_description": "Įjunkite, kai OAuth teikėjas nepalaiko mobiliojo URI, tokio kaip '{callback}'",
|
||||
"oauth_profile_signing_algorithm": "Profilio registracijos algoritmas",
|
||||
"oauth_profile_signing_algorithm_description": "Algoritmas naudojamas vartotojo profilio registracijai.",
|
||||
"oauth_scope": "Apimtis",
|
||||
"oauth_settings": "OAuth",
|
||||
"oauth_settings_description": "Tvarkyti OAuth prisijungimo nustatymus",
|
||||
"oauth_settings_more_details": "Detaliau apie šią funkciją galite paskaityti <link>dokumentacijoje</link>.",
|
||||
"oauth_signing_algorithm": "",
|
||||
"oauth_storage_label_claim": "",
|
||||
"oauth_storage_label_claim_description": "",
|
||||
"oauth_storage_quota_claim": "",
|
||||
@@ -1210,7 +1205,7 @@
|
||||
"public_share": "",
|
||||
"purchase_account_info": "Rėmėjas",
|
||||
"purchase_activated_subtitle": "Dėkojame, kad remiate Immich ir atviro kodo programinę įrangą",
|
||||
"purchase_activated_time": "Suaktyvinta {date, date}",
|
||||
"purchase_activated_time": "Suaktyvinta {date}",
|
||||
"purchase_activated_title": "Jūsų raktas sėkmingai aktyvuotas",
|
||||
"purchase_button_activate": "Aktyvuoti",
|
||||
"purchase_button_buy": "Pirkti",
|
||||
@@ -1573,31 +1568,35 @@
|
||||
"unlinked_oauth_account": "Atsieta OAuth paskyra",
|
||||
"unnamed_album_delete_confirmation": "Ar tikrai norite ištrinti šį albumą?",
|
||||
"unsaved_change": "Neišsaugoti pakeitimai",
|
||||
"unselect_all": "",
|
||||
"unselect_all": "Atšaukti visų pasirinkimą",
|
||||
"unselect_all_duplicates": "Atžymėti visus dublikatus",
|
||||
"unstack": "Išgrupuoti",
|
||||
"unstacked_assets_count": "{count, plural, one {Išgrupuotas # elementas} few {Išgrupuoti # elementai} other {Išgrupuota # elementų}}",
|
||||
"untracked_files": "Nesekami failai",
|
||||
"untracked_files_decription": "Šie failai aplikacijos nesekami. Jie galėjo atsirasti dėl nepavykusio perkėlimo, nutraukto įkėlimo ar palikti per klaidą",
|
||||
"up_next": "",
|
||||
"updated_at": "Atnaujintas",
|
||||
"updated_password": "Slaptažodis atnaujintas",
|
||||
"upload": "Įkelti",
|
||||
"upload_concurrency": "",
|
||||
"upload_dialog_info": "Do you want to backup the selected Asset(s) to the server?",
|
||||
"upload_dialog_title": "Upload Asset",
|
||||
"upload_concurrency": "Įkėlimo lygiagretumas",
|
||||
"upload_dialog_info": "Ar norite sukurti pasirinkto(-ų) turinio(-ų) atsarginę kopiją serveryje?",
|
||||
"upload_dialog_title": "Įkelti turinį",
|
||||
"upload_errors": "Įkėlimas įvyko su {count, plural, one {# klaida} few {# klaidomis} other {# klaidų}}, norėdami pamatyti naujai įkeltus elementus perkraukite puslapį.",
|
||||
"upload_progress": "Liko {remaining, number} - Apdorota {processed, number}/{total, number}",
|
||||
"upload_status_duplicates": "Dublikatai",
|
||||
"upload_status_errors": "Klaidos",
|
||||
"upload_status_uploaded": "Įkelta",
|
||||
"upload_success": "Įkėlimas pavyko, norėdami pamatyti naujai įkeltus elementus perkraukite puslapį.",
|
||||
"upload_to_immich": "Upload to Immich ({})",
|
||||
"uploading": "Uploading",
|
||||
"upload_to_immich": "Įkelti į Immich ({count})",
|
||||
"uploading": "Įkeliama",
|
||||
"url": "URL",
|
||||
"usage": "",
|
||||
"use_current_connection": "use current connection",
|
||||
"usage": "Naudojymas",
|
||||
"use_current_connection": "naudoti dabartinį ryšį",
|
||||
"user": "Naudotojas",
|
||||
"user_has_been_deleted": "Šis naudotojas buvo ištrintas.",
|
||||
"user_id": "Naudotojo ID",
|
||||
"user_pin_code_settings": "PIN kodas",
|
||||
"user_pin_code_settings_description": "Tvarkykite savo PIN kodą",
|
||||
"user_usage_detail": "",
|
||||
"user_usage_stats": "Paskyros naudojimo statistika",
|
||||
"user_usage_stats_description": "Žiūrėti paskyros naudojimo statistiką",
|
||||
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user