mirror of
https://github.com/immich-app/immich
synced 2025-10-17 18:19:27 +00:00
Merge branch 'main' into chore/tg-mise
This commit is contained in:
commit
19f7e1863b
151 changed files with 3011 additions and 1754 deletions
|
|
@ -1,6 +1,6 @@
|
||||||
{
|
{
|
||||||
"name": "@immich/cli",
|
"name": "@immich/cli",
|
||||||
"version": "2.2.96",
|
"version": "2.2.97",
|
||||||
"description": "Command Line Interface (CLI) for Immich",
|
"description": "Command Line Interface (CLI) for Immich",
|
||||||
"type": "module",
|
"type": "module",
|
||||||
"exports": "./dist/index.js",
|
"exports": "./dist/index.js",
|
||||||
|
|
|
||||||
|
|
@ -134,13 +134,13 @@ services:
|
||||||
|
|
||||||
redis:
|
redis:
|
||||||
container_name: immich_redis
|
container_name: immich_redis
|
||||||
image: docker.io/valkey/valkey:8-bookworm@sha256:fea8b3e67b15729d4bb70589eb03367bab9ad1ee89c876f54327fc7c6e618571
|
image: docker.io/valkey/valkey:8@sha256:81db6d39e1bba3b3ff32bd3a1b19a6d69690f94a3954ec131277b9a26b95b3aa
|
||||||
healthcheck:
|
healthcheck:
|
||||||
test: redis-cli ping || exit 1
|
test: redis-cli ping || exit 1
|
||||||
|
|
||||||
database:
|
database:
|
||||||
container_name: immich_postgres
|
container_name: immich_postgres
|
||||||
image: ghcr.io/immich-app/postgres:14-vectorchord0.4.3-pgvectors0.2.0@sha256:41eacbe83eca995561fe43814fd4891e16e39632806253848efaf04d3c8a8b84
|
image: ghcr.io/immich-app/postgres:14-vectorchord0.4.3-pgvectors0.2.0@sha256:bcf63357191b76a916ae5eb93464d65c07511da41e3bf7a8416db519b40b1c23
|
||||||
env_file:
|
env_file:
|
||||||
- .env
|
- .env
|
||||||
environment:
|
environment:
|
||||||
|
|
|
||||||
|
|
@ -56,14 +56,14 @@ services:
|
||||||
|
|
||||||
redis:
|
redis:
|
||||||
container_name: immich_redis
|
container_name: immich_redis
|
||||||
image: docker.io/valkey/valkey:8-bookworm@sha256:fea8b3e67b15729d4bb70589eb03367bab9ad1ee89c876f54327fc7c6e618571
|
image: docker.io/valkey/valkey:8@sha256:81db6d39e1bba3b3ff32bd3a1b19a6d69690f94a3954ec131277b9a26b95b3aa
|
||||||
healthcheck:
|
healthcheck:
|
||||||
test: redis-cli ping || exit 1
|
test: redis-cli ping || exit 1
|
||||||
restart: always
|
restart: always
|
||||||
|
|
||||||
database:
|
database:
|
||||||
container_name: immich_postgres
|
container_name: immich_postgres
|
||||||
image: ghcr.io/immich-app/postgres:14-vectorchord0.4.3-pgvectors0.2.0@sha256:41eacbe83eca995561fe43814fd4891e16e39632806253848efaf04d3c8a8b84
|
image: ghcr.io/immich-app/postgres:14-vectorchord0.4.3-pgvectors0.2.0@sha256:bcf63357191b76a916ae5eb93464d65c07511da41e3bf7a8416db519b40b1c23
|
||||||
env_file:
|
env_file:
|
||||||
- .env
|
- .env
|
||||||
environment:
|
environment:
|
||||||
|
|
|
||||||
|
|
@ -49,14 +49,14 @@ services:
|
||||||
|
|
||||||
redis:
|
redis:
|
||||||
container_name: immich_redis
|
container_name: immich_redis
|
||||||
image: docker.io/valkey/valkey:8-bookworm@sha256:fea8b3e67b15729d4bb70589eb03367bab9ad1ee89c876f54327fc7c6e618571
|
image: docker.io/valkey/valkey:8@sha256:81db6d39e1bba3b3ff32bd3a1b19a6d69690f94a3954ec131277b9a26b95b3aa
|
||||||
healthcheck:
|
healthcheck:
|
||||||
test: redis-cli ping || exit 1
|
test: redis-cli ping || exit 1
|
||||||
restart: always
|
restart: always
|
||||||
|
|
||||||
database:
|
database:
|
||||||
container_name: immich_postgres
|
container_name: immich_postgres
|
||||||
image: ghcr.io/immich-app/postgres:14-vectorchord0.4.3-pgvectors0.2.0@sha256:41eacbe83eca995561fe43814fd4891e16e39632806253848efaf04d3c8a8b84
|
image: ghcr.io/immich-app/postgres:14-vectorchord0.4.3-pgvectors0.2.0@sha256:bcf63357191b76a916ae5eb93464d65c07511da41e3bf7a8416db519b40b1c23
|
||||||
environment:
|
environment:
|
||||||
POSTGRES_PASSWORD: ${DB_PASSWORD}
|
POSTGRES_PASSWORD: ${DB_PASSWORD}
|
||||||
POSTGRES_USER: ${DB_USERNAME}
|
POSTGRES_USER: ${DB_USERNAME}
|
||||||
|
|
|
||||||
|
|
@ -54,7 +54,7 @@ You do not need to redo any machine learning jobs after enabling hardware accele
|
||||||
#### OpenVINO
|
#### OpenVINO
|
||||||
|
|
||||||
- Integrated GPUs are more likely to experience issues than discrete GPUs, especially for older processors or servers with low RAM.
|
- Integrated GPUs are more likely to experience issues than discrete GPUs, especially for older processors or servers with low RAM.
|
||||||
- Ensure the server's kernel version is new enough to use the device for hardware accceleration.
|
- Ensure the server's kernel version is new enough to use the device for hardware acceleration.
|
||||||
- Expect higher RAM usage when using OpenVINO compared to CPU processing.
|
- Expect higher RAM usage when using OpenVINO compared to CPU processing.
|
||||||
|
|
||||||
#### RKNN
|
#### RKNN
|
||||||
|
|
|
||||||
|
|
@ -28,7 +28,7 @@ You can read this guide to learn more about [partner sharing](/features/partner-
|
||||||
|
|
||||||
## Public sharing
|
## Public sharing
|
||||||
|
|
||||||
You can create a public link to share a group of photos or videos, or an album, with anyone. The public link can be shared via email, social media, or any other method. There are a varierity of options to customize the public link, such as setting an expiration date, password protection, and more. Public shared link is handy when you want to share a group of photos or videos with someone who doesn't have an Immich account and allow the shared user to upload their photos or videos to your account.
|
You can create a public link to share a group of photos or videos, or an album, with anyone. The public link can be shared via email, social media, or any other method. There are a variety of options to customize the public link, such as setting an expiration date, password protection, and more. Public shared link is handy when you want to share a group of photos or videos with someone who doesn't have an Immich account and allow the shared user to upload their photos or videos to your account.
|
||||||
|
|
||||||
The public shared link is generated with a random URL, which acts as as a secret to avoid the link being guessed by unwanted parties, for instance.
|
The public shared link is generated with a random URL, which acts as as a secret to avoid the link being guessed by unwanted parties, for instance.
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -37,7 +37,7 @@ In the Immich web UI:
|
||||||
<img src={require('./img/create-external-library.webp').default} width="50%" title="Create Library button" />
|
<img src={require('./img/create-external-library.webp').default} width="50%" title="Create Library button" />
|
||||||
|
|
||||||
- In the dialog, select which user should own the new library
|
- In the dialog, select which user should own the new library
|
||||||
<img src={require('./img/library-owner.webp').default} width="50%" title="Library owner diaglog" />
|
<img src={require('./img/library-owner.webp').default} width="50%" title="Library owner dialog" />
|
||||||
|
|
||||||
- Click the three-dots menu and select **Edit Import Paths**
|
- Click the three-dots menu and select **Edit Import Paths**
|
||||||
<img src={require('./img/edit-import-paths.webp').default} width="50%" title="Edit Import Paths menu option" />
|
<img src={require('./img/edit-import-paths.webp').default} width="50%" title="Edit Import Paths menu option" />
|
||||||
|
|
|
||||||
|
|
@ -171,6 +171,7 @@ Redis (Sentinel) URL example JSON before encoding:
|
||||||
| `MACHINE_LEARNING_MAX_BATCH_SIZE__FACIAL_RECOGNITION` | Set the maximum number of faces that will be processed at once by the facial recognition model | None (`1` if using OpenVINO) | machine learning |
|
| `MACHINE_LEARNING_MAX_BATCH_SIZE__FACIAL_RECOGNITION` | Set the maximum number of faces that will be processed at once by the facial recognition model | None (`1` if using OpenVINO) | machine learning |
|
||||||
| `MACHINE_LEARNING_RKNN` | Enable RKNN hardware acceleration if supported | `True` | machine learning |
|
| `MACHINE_LEARNING_RKNN` | Enable RKNN hardware acceleration if supported | `True` | machine learning |
|
||||||
| `MACHINE_LEARNING_RKNN_THREADS` | How many threads of RKNN runtime should be spinned up while inferencing. | `1` | machine learning |
|
| `MACHINE_LEARNING_RKNN_THREADS` | How many threads of RKNN runtime should be spinned up while inferencing. | `1` | machine learning |
|
||||||
|
| `MACHINE_LEARNING_MODEL_ARENA` | Pre-allocates CPU memory to avoid memory fragmentation | true | machine learning |
|
||||||
|
|
||||||
\*1: It is recommended to begin with this parameter when changing the concurrency levels of the machine learning service and then tune the other ones.
|
\*1: It is recommended to begin with this parameter when changing the concurrency levels of the machine learning service and then tune the other ones.
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -40,7 +40,7 @@ In the settings of your new project, set "**Project name**" to a name you'll rem
|
||||||
|
|
||||||

|

|
||||||
|
|
||||||
The following screen will give you the option to further customize your `docker-compose.yml` file. Take note of `DB_STORAGE_TYPE: 'HDD'`and uncomment if applicable for your Synology setup.
|
The following screen will give you the option to further customize your `docker-compose.yml` file. Take note of `DB_STORAGE_TYPE: 'HDD'` and uncomment if applicable for your Synology setup.
|
||||||
|
|
||||||

|

|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -87,7 +87,7 @@ After making a backup, please modify your `docker-compose.yml` file with the fol
|
||||||
If you deviated from the defaults of pg14 or pgvectors0.2.0, you must adjust the pg major version and pgvecto.rs version. If you are still using the default `docker.io/tensorchord/pgvecto-rs:pg14-v0.2.0` image, you can just follow the changes above. For example, if the previous image is `docker.io/tensorchord/pgvecto-rs:pg16-v0.3.0`, the new image should be `ghcr.io/immich-app/postgres:16-vectorchord0.3.0-pgvectors0.3.0` instead of the image specified in the diff.
|
If you deviated from the defaults of pg14 or pgvectors0.2.0, you must adjust the pg major version and pgvecto.rs version. If you are still using the default `docker.io/tensorchord/pgvecto-rs:pg14-v0.2.0` image, you can just follow the changes above. For example, if the previous image is `docker.io/tensorchord/pgvecto-rs:pg16-v0.3.0`, the new image should be `ghcr.io/immich-app/postgres:16-vectorchord0.3.0-pgvectors0.3.0` instead of the image specified in the diff.
|
||||||
:::
|
:::
|
||||||
|
|
||||||
After making these changes, you can start Immich as normal. Immich will make some changes to the DB during startup, which can take seconds to minutes to finish, depending on hardware and library size. In particular, it’s normal for the server logs to be seemingly stuck at `Reindexing clip_index` and `Reindexing face_index`for some time if you have over 100k assets in Immich and/or Immich is on a relatively weak server. If you see these logs and there are no errors, just give it time.
|
After making these changes, you can start Immich as normal. Immich will make some changes to the DB during startup, which can take seconds to minutes to finish, depending on hardware and library size. In particular, it’s normal for the server logs to be seemingly stuck at `Reindexing clip_index` and `Reindexing face_index` for some time if you have over 100k assets in Immich and/or Immich is on a relatively weak server. If you see these logs and there are no errors, just give it time.
|
||||||
|
|
||||||
:::danger
|
:::danger
|
||||||
After switching to VectorChord, you should not downgrade Immich below 1.133.0.
|
After switching to VectorChord, you should not downgrade Immich below 1.133.0.
|
||||||
|
|
|
||||||
4
docs/static/archived-versions.json
vendored
4
docs/static/archived-versions.json
vendored
|
|
@ -1,4 +1,8 @@
|
||||||
[
|
[
|
||||||
|
{
|
||||||
|
"label": "v2.1.0",
|
||||||
|
"url": "https://docs.v2.1.0.archive.immich.app"
|
||||||
|
},
|
||||||
{
|
{
|
||||||
"label": "v2.0.1",
|
"label": "v2.0.1",
|
||||||
"url": "https://docs.v2.0.1.archive.immich.app"
|
"url": "https://docs.v2.0.1.archive.immich.app"
|
||||||
|
|
|
||||||
|
|
@ -35,10 +35,10 @@ services:
|
||||||
- 2285:2285
|
- 2285:2285
|
||||||
|
|
||||||
redis:
|
redis:
|
||||||
image: redis:6.2-alpine@sha256:2185e741f4c1e7b0ea9ca1e163a3767c4270a73086b6bbea2049a7203212fb7f
|
image: redis:6.2-alpine@sha256:77697a75da9f94e9357b61fcaf8345f69e3d9d32e9d15032c8415c21263977dc
|
||||||
|
|
||||||
database:
|
database:
|
||||||
image: ghcr.io/immich-app/postgres:14-vectorchord0.3.0@sha256:11ced39d65a92a54d12890ced6a26cc2003f92697d6f0d4d944b98459dba7138
|
image: ghcr.io/immich-app/postgres:14-vectorchord0.3.0@sha256:6f3e9d2c2177af16c2988ff71425d79d89ca630ec2f9c8db03209ab716542338
|
||||||
command: -c fsync=off -c shared_preload_libraries=vchord.so -c config_file=/var/lib/postgresql/data/postgresql.conf
|
command: -c fsync=off -c shared_preload_libraries=vchord.so -c config_file=/var/lib/postgresql/data/postgresql.conf
|
||||||
environment:
|
environment:
|
||||||
POSTGRES_PASSWORD: postgres
|
POSTGRES_PASSWORD: postgres
|
||||||
|
|
|
||||||
|
|
@ -1,6 +1,6 @@
|
||||||
{
|
{
|
||||||
"name": "immich-e2e",
|
"name": "immich-e2e",
|
||||||
"version": "2.0.1",
|
"version": "2.1.0",
|
||||||
"description": "",
|
"description": "",
|
||||||
"main": "index.js",
|
"main": "index.js",
|
||||||
"type": "module",
|
"type": "module",
|
||||||
|
|
|
||||||
|
|
@ -136,6 +136,7 @@ describe('/albums', () => {
|
||||||
expect(body).toEqual({
|
expect(body).toEqual({
|
||||||
...user1Albums[0],
|
...user1Albums[0],
|
||||||
assets: [expect.objectContaining({ isFavorite: false })],
|
assets: [expect.objectContaining({ isFavorite: false })],
|
||||||
|
contributorCounts: [{ userId: user1.userId, assetCount: 1 }],
|
||||||
lastModifiedAssetTimestamp: expect.any(String),
|
lastModifiedAssetTimestamp: expect.any(String),
|
||||||
startDate: expect.any(String),
|
startDate: expect.any(String),
|
||||||
endDate: expect.any(String),
|
endDate: expect.any(String),
|
||||||
|
|
@ -310,6 +311,7 @@ describe('/albums', () => {
|
||||||
expect(body).toEqual({
|
expect(body).toEqual({
|
||||||
...user1Albums[0],
|
...user1Albums[0],
|
||||||
assets: [expect.objectContaining({ id: user1Albums[0].assets[0].id })],
|
assets: [expect.objectContaining({ id: user1Albums[0].assets[0].id })],
|
||||||
|
contributorCounts: [{ userId: user1.userId, assetCount: 1 }],
|
||||||
lastModifiedAssetTimestamp: expect.any(String),
|
lastModifiedAssetTimestamp: expect.any(String),
|
||||||
startDate: expect.any(String),
|
startDate: expect.any(String),
|
||||||
endDate: expect.any(String),
|
endDate: expect.any(String),
|
||||||
|
|
@ -345,6 +347,7 @@ describe('/albums', () => {
|
||||||
expect(body).toEqual({
|
expect(body).toEqual({
|
||||||
...user1Albums[0],
|
...user1Albums[0],
|
||||||
assets: [expect.objectContaining({ id: user1Albums[0].assets[0].id })],
|
assets: [expect.objectContaining({ id: user1Albums[0].assets[0].id })],
|
||||||
|
contributorCounts: [{ userId: user1.userId, assetCount: 1 }],
|
||||||
lastModifiedAssetTimestamp: expect.any(String),
|
lastModifiedAssetTimestamp: expect.any(String),
|
||||||
startDate: expect.any(String),
|
startDate: expect.any(String),
|
||||||
endDate: expect.any(String),
|
endDate: expect.any(String),
|
||||||
|
|
@ -362,6 +365,7 @@ describe('/albums', () => {
|
||||||
expect(body).toEqual({
|
expect(body).toEqual({
|
||||||
...user1Albums[0],
|
...user1Albums[0],
|
||||||
assets: [],
|
assets: [],
|
||||||
|
contributorCounts: [{ userId: user1.userId, assetCount: 1 }],
|
||||||
assetCount: 1,
|
assetCount: 1,
|
||||||
lastModifiedAssetTimestamp: expect.any(String),
|
lastModifiedAssetTimestamp: expect.any(String),
|
||||||
endDate: expect.any(String),
|
endDate: expect.any(String),
|
||||||
|
|
@ -382,6 +386,7 @@ describe('/albums', () => {
|
||||||
expect(body).toEqual({
|
expect(body).toEqual({
|
||||||
...user2Albums[0],
|
...user2Albums[0],
|
||||||
assets: [],
|
assets: [],
|
||||||
|
contributorCounts: [{ userId: user1.userId, assetCount: 1 }],
|
||||||
assetCount: 1,
|
assetCount: 1,
|
||||||
lastModifiedAssetTimestamp: expect.any(String),
|
lastModifiedAssetTimestamp: expect.any(String),
|
||||||
endDate: expect.any(String),
|
endDate: expect.any(String),
|
||||||
|
|
|
||||||
|
|
@ -33,6 +33,7 @@
|
||||||
"add_to_albums": "إضافة الى البومات",
|
"add_to_albums": "إضافة الى البومات",
|
||||||
"add_to_albums_count": "إضافه إلى البومات ({count})",
|
"add_to_albums_count": "إضافه إلى البومات ({count})",
|
||||||
"add_to_shared_album": "إضافة إلى ألبوم مشارك",
|
"add_to_shared_album": "إضافة إلى ألبوم مشارك",
|
||||||
|
"add_upload_to_stack": "اضف رفع الى حزمة",
|
||||||
"add_url": "إضافة رابط",
|
"add_url": "إضافة رابط",
|
||||||
"added_to_archive": "أُضيفت للأرشيف",
|
"added_to_archive": "أُضيفت للأرشيف",
|
||||||
"added_to_favorites": "أُضيفت للمفضلات",
|
"added_to_favorites": "أُضيفت للمفضلات",
|
||||||
|
|
|
||||||
10
i18n/be.json
10
i18n/be.json
|
|
@ -51,6 +51,9 @@
|
||||||
"backup_keep_last_amount": "Колькасць папярэдніх рэзервовых копій для захавання",
|
"backup_keep_last_amount": "Колькасць папярэдніх рэзервовых копій для захавання",
|
||||||
"backup_onboarding_1_description": "зняшняя копія ў воблаку або ў іншым фізічным месцы.",
|
"backup_onboarding_1_description": "зняшняя копія ў воблаку або ў іншым фізічным месцы.",
|
||||||
"backup_onboarding_2_description": "лакальныя копіі на іншых прыладах. Гэта ўключае ў сябе асноўныя файлы і лакальную рэзервовую копію гэтых файлаў.",
|
"backup_onboarding_2_description": "лакальныя копіі на іншых прыладах. Гэта ўключае ў сябе асноўныя файлы і лакальную рэзервовую копію гэтых файлаў.",
|
||||||
|
"backup_onboarding_3_description": "поўная колькасць копій вашых данных, у тым ліку зыходных файлаў. Гэта ўключае 1 пазаштатную копію і 2 лакальныя копіі.",
|
||||||
|
"backup_onboarding_description": "<backblaze-link> стратэгія рэзервавання 3-2-1 </backblaze-link> рэкамендавана для аховы вашых данных. Вы павінны захоўваць копіі вашых загружаных фота / відэа гэтак жа добра, як базу данных Immich для вычарпальна поўнага рэзервовага капіявання.",
|
||||||
|
"backup_onboarding_footer": "Каб атрымаць дадатковую інфармацыю пра рэзервовае капіраванне Immich, звярніцеся да <link>дакументацыі</link>.",
|
||||||
"backup_onboarding_parts_title": "Рэзервовая копія «3-2-1» уключае ў сябе:",
|
"backup_onboarding_parts_title": "Рэзервовая копія «3-2-1» уключае ў сябе:",
|
||||||
"backup_onboarding_title": "Рэзервовыя копіі",
|
"backup_onboarding_title": "Рэзервовыя копіі",
|
||||||
"backup_settings": "Налады рэзервовага капіявання",
|
"backup_settings": "Налады рэзервовага капіявання",
|
||||||
|
|
@ -93,6 +96,8 @@
|
||||||
"image_resolution": "Раздзяляльнасць",
|
"image_resolution": "Раздзяляльнасць",
|
||||||
"image_settings": "Налады відарыса",
|
"image_settings": "Налады відарыса",
|
||||||
"image_settings_description": "Кіруйце якасцю і раздзяляльнасцю сгенерыраваных відарысаў",
|
"image_settings_description": "Кіруйце якасцю і раздзяляльнасцю сгенерыраваных відарысаў",
|
||||||
|
"image_thumbnail_description": "Маленькая мініяцюра з выдаленымі метададзенымі, якая выкарыстоўваецца пры праглядзе груп фатаграфій, такіх як асноўная хроніка",
|
||||||
|
"image_thumbnail_quality_description": "Якасць мініяцюр ад 1 да 100. Чым вышэй якасць, тым лепш, але пры гэтым ствараюцца файлы большага памеру і можа знізіцца хуткасць водгуку прыкладання.",
|
||||||
"image_thumbnail_title": "Налады мініяцюр",
|
"image_thumbnail_title": "Налады мініяцюр",
|
||||||
"job_concurrency": "{job} канкурэнтнасць",
|
"job_concurrency": "{job} канкурэнтнасць",
|
||||||
"job_created": "Заданне створана",
|
"job_created": "Заданне створана",
|
||||||
|
|
@ -100,6 +105,8 @@
|
||||||
"job_settings": "Налады заданняў",
|
"job_settings": "Налады заданняў",
|
||||||
"job_settings_description": "Кіраваць наладамі адначасовага (паралельнага) выканання задання",
|
"job_settings_description": "Кіраваць наладамі адначасовага (паралельнага) выканання задання",
|
||||||
"job_status": "Становішча задання",
|
"job_status": "Становішча задання",
|
||||||
|
"jobs_delayed": "{jobCount, plural, other {# адкладзена}}",
|
||||||
|
"jobs_failed": "{jobCount, plural, other {# не выканалася}}",
|
||||||
"library_created": "Створана бібліятэка: {library}",
|
"library_created": "Створана бібліятэка: {library}",
|
||||||
"library_deleted": "Бібліятэка выдалена",
|
"library_deleted": "Бібліятэка выдалена",
|
||||||
"library_scanning": "Сканаванне па раскладзе",
|
"library_scanning": "Сканаванне па раскладзе",
|
||||||
|
|
@ -156,6 +163,9 @@
|
||||||
"trash_settings": "Налады сметніцы",
|
"trash_settings": "Налады сметніцы",
|
||||||
"trash_settings_description": "Кіраванне наладамі сметніцы",
|
"trash_settings_description": "Кіраванне наладамі сметніцы",
|
||||||
"user_cleanup_job": "Ачыстка карыстальніка",
|
"user_cleanup_job": "Ачыстка карыстальніка",
|
||||||
|
"user_delete_delay": "Уліковы запіс <b>{user}</b> і актывы будуць запланаваны для канчатковага выдалення праз {delay, plural, one {# дзень} few {# дні} many {# дзён} other {# дзён}}.",
|
||||||
|
"user_delete_delay_settings_description": "Колькасць дзён пасля выдалення, па заканчэнні якіх уліковы запіс карыстальніка і яго актывы будуць выдаленыя незваротна. Заданне на выдаленне карыстальніка запускаецца апоўначы для праверкі гатоўнасці карыстальнікаў да выдалення. Змены ў гэтым параметры будуць улічаныя пры наступным выкананні.",
|
||||||
|
"user_delete_immediately": "Уліковы запіс <b>{user}</b> і актывы будуць <b>неадкладна</b> змешчаны ў чаргу на канчатковае выдаленне.",
|
||||||
"user_management": "Кіраванне карыстальнікамі",
|
"user_management": "Кіраванне карыстальнікамі",
|
||||||
"user_password_has_been_reset": "Пароль карыстальніка быў скінуты:",
|
"user_password_has_been_reset": "Пароль карыстальніка быў скінуты:",
|
||||||
"user_password_reset_description": "Задайце карыстальніку часовы пароль і паведаміце яму, што пры наступным уваходзе ў сістэму яму трэба будзе змяніць пароль.",
|
"user_password_reset_description": "Задайце карыстальніку часовы пароль і паведаміце яму, што пры наступным уваходзе ў сістэму яму трэба будзе змяніць пароль.",
|
||||||
|
|
|
||||||
|
|
@ -28,6 +28,7 @@
|
||||||
"add_to_album": "এলবাম এ যোগ করুন",
|
"add_to_album": "এলবাম এ যোগ করুন",
|
||||||
"add_to_album_bottom_sheet_added": "{album} এ যোগ করা হয়েছে",
|
"add_to_album_bottom_sheet_added": "{album} এ যোগ করা হয়েছে",
|
||||||
"add_to_album_bottom_sheet_already_exists": "{album} এ আগে থেকেই আছে",
|
"add_to_album_bottom_sheet_already_exists": "{album} এ আগে থেকেই আছে",
|
||||||
|
"add_to_album_bottom_sheet_some_local_assets": "কিছু স্থানীয় ছবি বা ভিডিও অ্যালবামে যোগ করা যায়নি",
|
||||||
"add_to_album_toggle": "{album} - এর নির্বাচন পরিবর্তন করুন",
|
"add_to_album_toggle": "{album} - এর নির্বাচন পরিবর্তন করুন",
|
||||||
"add_to_albums": "অ্যালবামে যোগ করুন",
|
"add_to_albums": "অ্যালবামে যোগ করুন",
|
||||||
"add_to_albums_count": "অ্যালবামে যোগ করুন ({count})",
|
"add_to_albums_count": "অ্যালবামে যোগ করুন ({count})",
|
||||||
|
|
@ -123,6 +124,11 @@
|
||||||
"logging_enable_description": "লগিং এনাবল/সক্ষম করুন",
|
"logging_enable_description": "লগিং এনাবল/সক্ষম করুন",
|
||||||
"logging_level_description": "সক্রিয় থাকাকালীন, কোন লগ স্তর ব্যবহার করতে হবে।",
|
"logging_level_description": "সক্রিয় থাকাকালীন, কোন লগ স্তর ব্যবহার করতে হবে।",
|
||||||
"logging_settings": "লগিং",
|
"logging_settings": "লগিং",
|
||||||
|
"machine_learning_availability_checks": "প্রাপ্যতা পরীক্ষা",
|
||||||
|
"machine_learning_availability_checks_description": "স্বয়ংক্রিয়ভাবে উপলব্ধ মেশিন লার্নিং সার্ভারগুলি সনাক্ত করুন এবং পছন্দ করুন",
|
||||||
|
"machine_learning_availability_checks_enabled": "প্রাপ্যতা পরীক্ষা সক্ষম করুন",
|
||||||
|
"machine_learning_availability_checks_interval": "চেক ব্যবধান",
|
||||||
|
"machine_learning_availability_checks_interval_description": "প্রাপ্যতা পরীক্ষাগুলির মধ্যে ব্যবধান মিলিসেকেন্ডে",
|
||||||
"machine_learning_clip_model": "CLIP মডেল",
|
"machine_learning_clip_model": "CLIP মডেল",
|
||||||
"machine_learning_clip_model_description": "<link>এখানে</link> তালিকাভুক্ত একটি CLIP মডেলের নাম। মনে রাখবেন, মডেল পরিবর্তনের পর সব ছবির জন্য অবশ্যই ‘Smart Search’ কাজটি আবার চালাতে হবে।",
|
"machine_learning_clip_model_description": "<link>এখানে</link> তালিকাভুক্ত একটি CLIP মডেলের নাম। মনে রাখবেন, মডেল পরিবর্তনের পর সব ছবির জন্য অবশ্যই ‘Smart Search’ কাজটি আবার চালাতে হবে।",
|
||||||
"machine_learning_duplicate_detection": "পুনরাবৃত্তি সনাক্তকরণ",
|
"machine_learning_duplicate_detection": "পুনরাবৃত্তি সনাক্তকরণ",
|
||||||
|
|
|
||||||
|
|
@ -33,6 +33,7 @@
|
||||||
"add_to_albums": "Afegir als àlbums",
|
"add_to_albums": "Afegir als àlbums",
|
||||||
"add_to_albums_count": "Afegir als àlbums ({count})",
|
"add_to_albums_count": "Afegir als àlbums ({count})",
|
||||||
"add_to_shared_album": "Afegir a un àlbum compartit",
|
"add_to_shared_album": "Afegir a un àlbum compartit",
|
||||||
|
"add_upload_to_stack": "Afegeix la càrrega a la pila",
|
||||||
"add_url": "Afegir URL",
|
"add_url": "Afegir URL",
|
||||||
"added_to_archive": "Afegir a l'arxiu",
|
"added_to_archive": "Afegir a l'arxiu",
|
||||||
"added_to_favorites": "Afegit als preferits",
|
"added_to_favorites": "Afegit als preferits",
|
||||||
|
|
|
||||||
|
|
@ -28,11 +28,12 @@
|
||||||
"add_to_album": "Přidat do alba",
|
"add_to_album": "Přidat do alba",
|
||||||
"add_to_album_bottom_sheet_added": "Přidáno do {album}",
|
"add_to_album_bottom_sheet_added": "Přidáno do {album}",
|
||||||
"add_to_album_bottom_sheet_already_exists": "Je již v {album}",
|
"add_to_album_bottom_sheet_already_exists": "Je již v {album}",
|
||||||
"add_to_album_bottom_sheet_some_local_assets": "Některá místní aktiva nebylo možné přidat do alba",
|
"add_to_album_bottom_sheet_some_local_assets": "Některé místní položky nebylo možné přidat do alba",
|
||||||
"add_to_album_toggle": "Přepnout výběr pro {album}",
|
"add_to_album_toggle": "Přepnout výběr pro {album}",
|
||||||
"add_to_albums": "Přidat do alb",
|
"add_to_albums": "Přidat do alb",
|
||||||
"add_to_albums_count": "Přidat do alb ({count})",
|
"add_to_albums_count": "Přidat do alb ({count})",
|
||||||
"add_to_shared_album": "Přidat do sdíleného alba",
|
"add_to_shared_album": "Přidat do sdíleného alba",
|
||||||
|
"add_upload_to_stack": "Přidat nahrané do zásobníku",
|
||||||
"add_url": "Přidat URL",
|
"add_url": "Přidat URL",
|
||||||
"added_to_archive": "Přidáno do archivu",
|
"added_to_archive": "Přidáno do archivu",
|
||||||
"added_to_favorites": "Přidáno do oblíbených",
|
"added_to_favorites": "Přidáno do oblíbených",
|
||||||
|
|
@ -129,8 +130,8 @@
|
||||||
"machine_learning_availability_checks_enabled": "Povolit kontroly dostupnosti",
|
"machine_learning_availability_checks_enabled": "Povolit kontroly dostupnosti",
|
||||||
"machine_learning_availability_checks_interval": "Interval kontrol",
|
"machine_learning_availability_checks_interval": "Interval kontrol",
|
||||||
"machine_learning_availability_checks_interval_description": "Interval v milisekundách mezi kontrolami dostupnosti",
|
"machine_learning_availability_checks_interval_description": "Interval v milisekundách mezi kontrolami dostupnosti",
|
||||||
"machine_learning_availability_checks_timeout": "Vypršení požadavku",
|
"machine_learning_availability_checks_timeout": "Časový limit požadavku",
|
||||||
"machine_learning_availability_checks_timeout_description": "Časové vypršení požadavku v milisekundách u kontrol dostupnosti",
|
"machine_learning_availability_checks_timeout_description": "Časový limit v milisekundách pro kontrolu dostupnosti",
|
||||||
"machine_learning_clip_model": "Model CLIP",
|
"machine_learning_clip_model": "Model CLIP",
|
||||||
"machine_learning_clip_model_description": "Název CLIP modelu je uvedený <link>zde</link>. Pamatujte, že při změně modelu je nutné znovu spustit úlohu 'Chytré vyhledávání' pro všechny obrázky.",
|
"machine_learning_clip_model_description": "Název CLIP modelu je uvedený <link>zde</link>. Pamatujte, že při změně modelu je nutné znovu spustit úlohu 'Chytré vyhledávání' pro všechny obrázky.",
|
||||||
"machine_learning_duplicate_detection": "Kontrola duplicit",
|
"machine_learning_duplicate_detection": "Kontrola duplicit",
|
||||||
|
|
|
||||||
|
|
@ -651,7 +651,7 @@
|
||||||
"cast": "Caste",
|
"cast": "Caste",
|
||||||
"cast_description": "Konfigurer tilgængelige cast destinationer",
|
"cast_description": "Konfigurer tilgængelige cast destinationer",
|
||||||
"change_date": "Ændr dato",
|
"change_date": "Ændr dato",
|
||||||
"change_description": "Beskrivelse af ændringer",
|
"change_description": "Ændr beskrivelse",
|
||||||
"change_display_order": "Ændrer visningsrækkefølge",
|
"change_display_order": "Ændrer visningsrækkefølge",
|
||||||
"change_expiration_time": "Ændr udløbstidspunkt",
|
"change_expiration_time": "Ændr udløbstidspunkt",
|
||||||
"change_location": "Ændr sted",
|
"change_location": "Ændr sted",
|
||||||
|
|
@ -1385,7 +1385,7 @@
|
||||||
"no_albums_message": "Opret et album for at organisere dine billeder og videoer",
|
"no_albums_message": "Opret et album for at organisere dine billeder og videoer",
|
||||||
"no_albums_with_name_yet": "Det ser ud til, at du ikke har noget album med dette navn endnu.",
|
"no_albums_with_name_yet": "Det ser ud til, at du ikke har noget album med dette navn endnu.",
|
||||||
"no_albums_yet": "Det ser ud til, at du ikke har nogen album endnu.",
|
"no_albums_yet": "Det ser ud til, at du ikke har nogen album endnu.",
|
||||||
"no_archived_assets_message": "Arkivér billeder og videoer for at gemme dem væk fra din Billede oversigt",
|
"no_archived_assets_message": "Arkivér billeder og videoer for at gemme dem væk fra din billedoversigt",
|
||||||
"no_assets_message": "KLIK FOR AT UPLOADE DIT FØRSTE BILLEDE",
|
"no_assets_message": "KLIK FOR AT UPLOADE DIT FØRSTE BILLEDE",
|
||||||
"no_assets_to_show": "Ingen elementer at vise",
|
"no_assets_to_show": "Ingen elementer at vise",
|
||||||
"no_cast_devices_found": "Ingen Cast-enheder fundet",
|
"no_cast_devices_found": "Ingen Cast-enheder fundet",
|
||||||
|
|
|
||||||
42
i18n/de.json
42
i18n/de.json
|
|
@ -33,6 +33,7 @@
|
||||||
"add_to_albums": "Zu Alben hinzufügen",
|
"add_to_albums": "Zu Alben hinzufügen",
|
||||||
"add_to_albums_count": "Zu Alben hinzufügen ({count})",
|
"add_to_albums_count": "Zu Alben hinzufügen ({count})",
|
||||||
"add_to_shared_album": "Zu geteiltem Album hinzufügen",
|
"add_to_shared_album": "Zu geteiltem Album hinzufügen",
|
||||||
|
"add_upload_to_stack": "Upload zum Stapel hinzufügen",
|
||||||
"add_url": "URL hinzufügen",
|
"add_url": "URL hinzufügen",
|
||||||
"added_to_archive": "Zum Archiv hinzugefügt",
|
"added_to_archive": "Zum Archiv hinzugefügt",
|
||||||
"added_to_favorites": "Zu Favoriten hinzugefügt",
|
"added_to_favorites": "Zu Favoriten hinzugefügt",
|
||||||
|
|
@ -48,14 +49,14 @@
|
||||||
"background_task_job": "Hintergrundaufgaben",
|
"background_task_job": "Hintergrundaufgaben",
|
||||||
"backup_database": "Datenbanksicherung erstellen",
|
"backup_database": "Datenbanksicherung erstellen",
|
||||||
"backup_database_enable_description": "Datenbank regelmäßig sichern",
|
"backup_database_enable_description": "Datenbank regelmäßig sichern",
|
||||||
"backup_keep_last_amount": "Anzahl der aufzubewahrenden früheren Backups",
|
"backup_keep_last_amount": "Anzahl der aufzubewahrenden früheren Sicherungen",
|
||||||
"backup_onboarding_1_description": "Offsite-Kopie in der Cloud oder an einem anderen physischen Ort.",
|
"backup_onboarding_1_description": "Offsite-Kopie in der Cloud oder an einem anderen physischen Ort.",
|
||||||
"backup_onboarding_2_description": "Lokale Kopien auf verschiedenen Geräten. Dazu gehören die Hauptdateien und eine lokale Sicherung dieser Dateien.",
|
"backup_onboarding_2_description": "lokale Kopien auf verschiedenen Geräten. Dazu gehören die Hauptdateien und eine lokale Sicherung dieser Dateien.",
|
||||||
"backup_onboarding_3_description": "3 komplette Kopien deiner Daten, inkl. der Originaldateien. Dies umfasst 1 Kopie an einem anderen Ort und 2 lokale Kopie.",
|
"backup_onboarding_3_description": "Kopien deiner Daten inklusive Originaldateien. Dies umfasst 1 Kopie an einem anderen Ort und 2 lokale Kopien.",
|
||||||
"backup_onboarding_description": "Eine <backblaze-link>3-2-1 Backup-Strategie</backblaze-link> wird empfohlen, um deine Daten zu schützen. Du solltest sowohl Kopien deiner hochgeladenen Fotos/Videos als auch der Immich-Datenbank aufbewahren, um eine umfassende Backup-Lösung zu haben.",
|
"backup_onboarding_description": "Eine <backblaze-link>3-2-1 Sicherungssrategie</backblaze-link> wird empfohlen, um deine Daten zu schützen. Du solltest sowohl Kopien deiner hochgeladenen Fotos/Videos als auch der Immich-Datenbank aufbewahren, um eine umfassende Sicherungslösung zu haben.",
|
||||||
"backup_onboarding_footer": "Weitere Informationen zum Sichern von Immich findest du in der <link>Dokumentation</link>.",
|
"backup_onboarding_footer": "Weitere Informationen zum Sichern von Immich findest du in der <link>Dokumentation</link>.",
|
||||||
"backup_onboarding_parts_title": "Eine 3-2-1-Sicherung umfasst:",
|
"backup_onboarding_parts_title": "Eine 3-2-1-Sicherung umfasst:",
|
||||||
"backup_onboarding_title": "Backups",
|
"backup_onboarding_title": "Sicherungen",
|
||||||
"backup_settings": "Einstellungen für Datenbanksicherung",
|
"backup_settings": "Einstellungen für Datenbanksicherung",
|
||||||
"backup_settings_description": "Einstellungen zur regelmäßigen Sicherung der Datenbank. Hinweis: Diese Jobs werden nicht überwacht und du wirst nicht über Fehler informiert.",
|
"backup_settings_description": "Einstellungen zur regelmäßigen Sicherung der Datenbank. Hinweis: Diese Jobs werden nicht überwacht und du wirst nicht über Fehler informiert.",
|
||||||
"cleared_jobs": "Folgende Aufgaben zurückgesetzt: {job}",
|
"cleared_jobs": "Folgende Aufgaben zurückgesetzt: {job}",
|
||||||
|
|
@ -67,9 +68,9 @@
|
||||||
"confirm_user_password_reset": "Bist du sicher, dass du das Passwort für {user} zurücksetzen möchtest?",
|
"confirm_user_password_reset": "Bist du sicher, dass du das Passwort für {user} zurücksetzen möchtest?",
|
||||||
"confirm_user_pin_code_reset": "Bist du sicher, dass du den PIN Code von {user} zurücksetzen möchtest?",
|
"confirm_user_pin_code_reset": "Bist du sicher, dass du den PIN Code von {user} zurücksetzen möchtest?",
|
||||||
"create_job": "Aufgabe erstellen",
|
"create_job": "Aufgabe erstellen",
|
||||||
"cron_expression": "Cron Zeitangabe",
|
"cron_expression": "Cron-Zeitangabe",
|
||||||
"cron_expression_description": "Setze ein Intervall für die Sicherung mittels cron. Hilfe mit dem Format bietet dir dabei z. B. der <link>Crontab Guru</link>",
|
"cron_expression_description": "Setze das Scanintervall im Cron-Format. Hilfe mit dem Format bietet dir dabei z. B. der <link>Crontab Guru</link>",
|
||||||
"cron_expression_presets": "Nützliche Zeitangaben für Cron",
|
"cron_expression_presets": "Vorlagen für Cron-Zeitangabe",
|
||||||
"disable_login": "Login deaktivieren",
|
"disable_login": "Login deaktivieren",
|
||||||
"duplicate_detection_job_description": "Diese Aufgabe führt das maschinelle Lernen für jede Datei aus, um Duplikate zu finden. Diese Aufgabe beruht auf der intelligenten Suche",
|
"duplicate_detection_job_description": "Diese Aufgabe führt das maschinelle Lernen für jede Datei aus, um Duplikate zu finden. Diese Aufgabe beruht auf der intelligenten Suche",
|
||||||
"exclusion_pattern_description": "Mit Ausschlussmustern können Dateien und Ordner beim Scannen Ihrer Bibliothek ignoriert werden. Dies ist nützlich, wenn du Ordner hast, die Dateien enthalten, die du nicht importieren möchtest, wie z. B. RAW-Dateien.",
|
"exclusion_pattern_description": "Mit Ausschlussmustern können Dateien und Ordner beim Scannen Ihrer Bibliothek ignoriert werden. Dies ist nützlich, wenn du Ordner hast, die Dateien enthalten, die du nicht importieren möchtest, wie z. B. RAW-Dateien.",
|
||||||
|
|
@ -286,13 +287,13 @@
|
||||||
"storage_template_user_label": "<code>{label}</code> is die Speicherpfadbezeichnung des Benutzers",
|
"storage_template_user_label": "<code>{label}</code> is die Speicherpfadbezeichnung des Benutzers",
|
||||||
"system_settings": "Systemeinstellungen",
|
"system_settings": "Systemeinstellungen",
|
||||||
"tag_cleanup_job": "Tags aufräumen",
|
"tag_cleanup_job": "Tags aufräumen",
|
||||||
"template_email_available_tags": "In deiner Vorlage kannst du die folgenden Variablen verwenden: {tags}",
|
"template_email_available_tags": "Du kannst die folgenden Variablen in deiner Vorlage verwenden: {tags}",
|
||||||
"template_email_if_empty": "Wenn die Vorlage leer ist, wird die Standard-E-Mail verwendet.",
|
"template_email_if_empty": "Wenn die Vorlage leer ist, wird die Standard-E-Mail-Vorlage verwendet.",
|
||||||
"template_email_invite_album": "E-Mail-Vorlage: Einladung zu Album",
|
"template_email_invite_album": "Einladung zu Album",
|
||||||
"template_email_preview": "Vorschau",
|
"template_email_preview": "Vorschau",
|
||||||
"template_email_settings": "E-Mail-Vorlagen",
|
"template_email_settings": "E-Mail-Vorlagen",
|
||||||
"template_email_update_album": "Album-Vorlage aktualisieren",
|
"template_email_update_album": "Aktualisiertes Album",
|
||||||
"template_email_welcome": "Willkommen bei den E-Mail-Vorlagen",
|
"template_email_welcome": "Willkommens-E-Mail",
|
||||||
"template_settings": "Benachrichtigungsvorlagen",
|
"template_settings": "Benachrichtigungsvorlagen",
|
||||||
"template_settings_description": "Benutzerdefinierte Vorlagen für Benachrichtigungen verwalten",
|
"template_settings_description": "Benutzerdefinierte Vorlagen für Benachrichtigungen verwalten",
|
||||||
"theme_custom_css_settings": "Benutzerdefiniertes CSS",
|
"theme_custom_css_settings": "Benutzerdefiniertes CSS",
|
||||||
|
|
@ -538,18 +539,18 @@
|
||||||
"autoplay_slideshow": "Automatische Diashow",
|
"autoplay_slideshow": "Automatische Diashow",
|
||||||
"back": "Zurück",
|
"back": "Zurück",
|
||||||
"back_close_deselect": "Zurück, Schließen oder Abwählen",
|
"back_close_deselect": "Zurück, Schließen oder Abwählen",
|
||||||
"background_backup_running_error": "Hintergrund Sicherung läuft, kann manuelle Sicherung nicht starten",
|
"background_backup_running_error": "Sicherung läuft im Hintergrund. Manuelle Sicherung kann nicht gestartet werden",
|
||||||
"background_location_permission": "Hintergrund Standortfreigabe",
|
"background_location_permission": "Hintergrund Standortfreigabe",
|
||||||
"background_location_permission_content": "Um im Hintergrund zwischen den Netzwerken wechseln zu können, muss Immich *immer* Zugriff auf den genauen Standort haben, damit die App den Namen des WLAN-Netzwerks ermitteln kann",
|
"background_location_permission_content": "Um im Hintergrund zwischen den Netzwerken wechseln zu können, muss Immich *immer* Zugriff auf den genauen Standort haben, damit die App den Namen des WLAN-Netzwerks ermitteln kann",
|
||||||
"background_options": "Hintergrund Optionen",
|
"background_options": "Hintergrund Optionen",
|
||||||
"backup": "Sicherung",
|
"backup": "Sicherung",
|
||||||
"backup_album_selection_page_albums_device": "Alben auf dem Gerät ({count})",
|
"backup_album_selection_page_albums_device": "Alben auf dem Gerät ({count})",
|
||||||
"backup_album_selection_page_albums_tap": "Einmalig das Album antippen um es zu sichern, doppelt antippen um es nicht mehr zu sichern",
|
"backup_album_selection_page_albums_tap": "Antippen zum sichern, erneut antippen zum Ausschließen",
|
||||||
"backup_album_selection_page_assets_scatter": "Elemente (Fotos / Videos) können sich über mehrere Alben verteilen. Daher können diese vor der Sicherung eingeschlossen oder ausgeschlossen werden.",
|
"backup_album_selection_page_assets_scatter": "Elemente (Fotos / Videos) können sich über mehrere Alben verteilen. Daher können diese vor der Sicherung eingeschlossen oder ausgeschlossen werden.",
|
||||||
"backup_album_selection_page_select_albums": "Alben auswählen",
|
"backup_album_selection_page_select_albums": "Alben auswählen",
|
||||||
"backup_album_selection_page_selection_info": "Information",
|
"backup_album_selection_page_selection_info": "Auswahlinformation",
|
||||||
"backup_album_selection_page_total_assets": "Elemente",
|
"backup_album_selection_page_total_assets": "Elemente gesamt",
|
||||||
"backup_albums_sync": "Synchronisation von Alben beim Backup",
|
"backup_albums_sync": "Synchronisation der Sicherungsalben",
|
||||||
"backup_all": "Alle",
|
"backup_all": "Alle",
|
||||||
"backup_background_service_backup_failed_message": "Es trat ein Fehler bei der Sicherung auf. Erneuter Versuch…",
|
"backup_background_service_backup_failed_message": "Es trat ein Fehler bei der Sicherung auf. Erneuter Versuch…",
|
||||||
"backup_background_service_connection_failed_message": "Es konnte keine Verbindung zum Server hergestellt werden. Erneuter Versuch…",
|
"backup_background_service_connection_failed_message": "Es konnte keine Verbindung zum Server hergestellt werden. Erneuter Versuch…",
|
||||||
|
|
@ -599,7 +600,7 @@
|
||||||
"backup_controller_page_turn_on": "Sicherung im Vordergrund einschalten",
|
"backup_controller_page_turn_on": "Sicherung im Vordergrund einschalten",
|
||||||
"backup_controller_page_uploading_file_info": "Informationen",
|
"backup_controller_page_uploading_file_info": "Informationen",
|
||||||
"backup_err_only_album": "Das einzige Album kann nicht entfernt werden",
|
"backup_err_only_album": "Das einzige Album kann nicht entfernt werden",
|
||||||
"backup_error_sync_failed": "Synchronisierung fehlgeschlagen. Backup kann nicht verarbeitet werden.",
|
"backup_error_sync_failed": "Synchronisierung fehlgeschlagen. Sicherung kann nicht verarbeitet werden.",
|
||||||
"backup_info_card_assets": "Elemente",
|
"backup_info_card_assets": "Elemente",
|
||||||
"backup_manual_cancelled": "Abgebrochen",
|
"backup_manual_cancelled": "Abgebrochen",
|
||||||
"backup_manual_in_progress": "Sicherung läuft bereits. Bitte versuche es später erneut",
|
"backup_manual_in_progress": "Sicherung läuft bereits. Bitte versuche es später erneut",
|
||||||
|
|
@ -1038,6 +1039,7 @@
|
||||||
"exif_bottom_sheet_description_error": "Fehler bei der Aktualisierung der Beschreibung",
|
"exif_bottom_sheet_description_error": "Fehler bei der Aktualisierung der Beschreibung",
|
||||||
"exif_bottom_sheet_details": "DETAILS",
|
"exif_bottom_sheet_details": "DETAILS",
|
||||||
"exif_bottom_sheet_location": "STANDORT",
|
"exif_bottom_sheet_location": "STANDORT",
|
||||||
|
"exif_bottom_sheet_no_description": "Keine Beschreibung",
|
||||||
"exif_bottom_sheet_people": "PERSONEN",
|
"exif_bottom_sheet_people": "PERSONEN",
|
||||||
"exif_bottom_sheet_person_add_person": "Namen hinzufügen",
|
"exif_bottom_sheet_person_add_person": "Namen hinzufügen",
|
||||||
"exit_slideshow": "Diashow beenden",
|
"exit_slideshow": "Diashow beenden",
|
||||||
|
|
@ -1954,7 +1956,7 @@
|
||||||
"sync_remote": "mit Server synchronisieren",
|
"sync_remote": "mit Server synchronisieren",
|
||||||
"sync_status": "Synchronisierungstatus",
|
"sync_status": "Synchronisierungstatus",
|
||||||
"sync_status_subtitle": "Synchronisierungssystem anzeigen und bearbeiten",
|
"sync_status_subtitle": "Synchronisierungssystem anzeigen und bearbeiten",
|
||||||
"sync_upload_album_setting_subtitle": "Erstelle deine ausgewählten Alben in Immich und lade die Fotos und Videos dort hoch",
|
"sync_upload_album_setting_subtitle": "Erstelle und lade deine ausgewählten Fotos und Videos in die ausgewählten Alben auf Immich hoch",
|
||||||
"tag": "Tag",
|
"tag": "Tag",
|
||||||
"tag_assets": "Dateien taggen",
|
"tag_assets": "Dateien taggen",
|
||||||
"tag_created": "Tag erstellt: {tag}",
|
"tag_created": "Tag erstellt: {tag}",
|
||||||
|
|
|
||||||
|
|
@ -33,6 +33,7 @@
|
||||||
"add_to_albums": "Προσθήκη στα άλμπουμ",
|
"add_to_albums": "Προσθήκη στα άλμπουμ",
|
||||||
"add_to_albums_count": "Προσθήκη στα άλμπουμ ({count})",
|
"add_to_albums_count": "Προσθήκη στα άλμπουμ ({count})",
|
||||||
"add_to_shared_album": "Προσθήκη σε κοινόχρηστο άλμπουμ",
|
"add_to_shared_album": "Προσθήκη σε κοινόχρηστο άλμπουμ",
|
||||||
|
"add_upload_to_stack": "Προσθήκη αρχείου στην ουρά",
|
||||||
"add_url": "Προσθήκη Συνδέσμου",
|
"add_url": "Προσθήκη Συνδέσμου",
|
||||||
"added_to_archive": "Προστέθηκε στο αρχείο",
|
"added_to_archive": "Προστέθηκε στο αρχείο",
|
||||||
"added_to_favorites": "Προστέθηκε στα αγαπημένα",
|
"added_to_favorites": "Προστέθηκε στα αγαπημένα",
|
||||||
|
|
|
||||||
|
|
@ -333,7 +333,7 @@
|
||||||
"transcoding_max_b_frames": "Maximum B-frames",
|
"transcoding_max_b_frames": "Maximum B-frames",
|
||||||
"transcoding_max_b_frames_description": "Higher values improve compression efficiency, but slow down encoding. May not be compatible with hardware acceleration on older devices. 0 disables B-frames, while -1 sets this value automatically.",
|
"transcoding_max_b_frames_description": "Higher values improve compression efficiency, but slow down encoding. May not be compatible with hardware acceleration on older devices. 0 disables B-frames, while -1 sets this value automatically.",
|
||||||
"transcoding_max_bitrate": "Maximum bitrate",
|
"transcoding_max_bitrate": "Maximum bitrate",
|
||||||
"transcoding_max_bitrate_description": "Setting a max bitrate can make file sizes more predictable at a minor cost to quality. At 720p, typical values are 2600 kbit/s for VP9 or HEVC, or 4500 kbit/s for H.264. Disabled if set to 0.",
|
"transcoding_max_bitrate_description": "Setting a max bitrate can make file sizes more predictable at a minor cost to quality. At 720p, typical values are 2600 kbit/s for VP9 or HEVC, or 4500 kbit/s for H.264. Disabled if set to 0. When no unit is specified, k (for kbit/s) is assumed; therefore 5000, 5000k, and 5M (for Mbit/s) are equivalent.",
|
||||||
"transcoding_max_keyframe_interval": "Maximum keyframe interval",
|
"transcoding_max_keyframe_interval": "Maximum keyframe interval",
|
||||||
"transcoding_max_keyframe_interval_description": "Sets the maximum frame distance between keyframes. Lower values worsen compression efficiency, but improve seek times and may improve quality in scenes with fast movement. 0 sets this value automatically.",
|
"transcoding_max_keyframe_interval_description": "Sets the maximum frame distance between keyframes. Lower values worsen compression efficiency, but improve seek times and may improve quality in scenes with fast movement. 0 sets this value automatically.",
|
||||||
"transcoding_optimal_description": "Videos higher than target resolution or not in an accepted format",
|
"transcoding_optimal_description": "Videos higher than target resolution or not in an accepted format",
|
||||||
|
|
@ -351,7 +351,7 @@
|
||||||
"transcoding_target_resolution": "Target resolution",
|
"transcoding_target_resolution": "Target resolution",
|
||||||
"transcoding_target_resolution_description": "Higher resolutions can preserve more detail but take longer to encode, have larger file sizes, and can reduce app responsiveness.",
|
"transcoding_target_resolution_description": "Higher resolutions can preserve more detail but take longer to encode, have larger file sizes, and can reduce app responsiveness.",
|
||||||
"transcoding_temporal_aq": "Temporal AQ",
|
"transcoding_temporal_aq": "Temporal AQ",
|
||||||
"transcoding_temporal_aq_description": "Applies only to NVENC. Increases quality of high-detail, low-motion scenes. May not be compatible with older devices.",
|
"transcoding_temporal_aq_description": "Applies only to NVENC. Temporal Adaptive Quantization increases quality of high-detail, low-motion scenes. May not be compatible with older devices.",
|
||||||
"transcoding_threads": "Threads",
|
"transcoding_threads": "Threads",
|
||||||
"transcoding_threads_description": "Higher values lead to faster encoding, but leave less room for the server to process other tasks while active. This value should not be more than the number of CPU cores. Maximizes utilization if set to 0.",
|
"transcoding_threads_description": "Higher values lead to faster encoding, but leave less room for the server to process other tasks while active. This value should not be more than the number of CPU cores. Maximizes utilization if set to 0.",
|
||||||
"transcoding_tone_mapping": "Tone-mapping",
|
"transcoding_tone_mapping": "Tone-mapping",
|
||||||
|
|
@ -1039,6 +1039,7 @@
|
||||||
"exif_bottom_sheet_description_error": "Error updating description",
|
"exif_bottom_sheet_description_error": "Error updating description",
|
||||||
"exif_bottom_sheet_details": "DETAILS",
|
"exif_bottom_sheet_details": "DETAILS",
|
||||||
"exif_bottom_sheet_location": "LOCATION",
|
"exif_bottom_sheet_location": "LOCATION",
|
||||||
|
"exif_bottom_sheet_no_description": "No description",
|
||||||
"exif_bottom_sheet_people": "PEOPLE",
|
"exif_bottom_sheet_people": "PEOPLE",
|
||||||
"exif_bottom_sheet_person_add_person": "Add name",
|
"exif_bottom_sheet_person_add_person": "Add name",
|
||||||
"exit_slideshow": "Exit Slideshow",
|
"exit_slideshow": "Exit Slideshow",
|
||||||
|
|
@ -1806,6 +1807,8 @@
|
||||||
"setting_notifications_subtitle": "Adjust your notification preferences",
|
"setting_notifications_subtitle": "Adjust your notification preferences",
|
||||||
"setting_notifications_total_progress_subtitle": "Overall upload progress (done/total assets)",
|
"setting_notifications_total_progress_subtitle": "Overall upload progress (done/total assets)",
|
||||||
"setting_notifications_total_progress_title": "Show background backup total progress",
|
"setting_notifications_total_progress_title": "Show background backup total progress",
|
||||||
|
"setting_video_viewer_auto_play_subtitle": "Automatically start playing videos when they are opened",
|
||||||
|
"setting_video_viewer_auto_play_title": "Auto play videos",
|
||||||
"setting_video_viewer_looping_title": "Looping",
|
"setting_video_viewer_looping_title": "Looping",
|
||||||
"setting_video_viewer_original_video_subtitle": "When streaming a video from the server, play the original even when a transcode is available. May lead to buffering. Videos available locally are played in original quality regardless of this setting.",
|
"setting_video_viewer_original_video_subtitle": "When streaming a video from the server, play the original even when a transcode is available. May lead to buffering. Videos available locally are played in original quality regardless of this setting.",
|
||||||
"setting_video_viewer_original_video_title": "Force original video",
|
"setting_video_viewer_original_video_title": "Force original video",
|
||||||
|
|
|
||||||
|
|
@ -33,6 +33,7 @@
|
||||||
"add_to_albums": "Incluir en álbumes",
|
"add_to_albums": "Incluir en álbumes",
|
||||||
"add_to_albums_count": "Incluir en {count} álbumes",
|
"add_to_albums_count": "Incluir en {count} álbumes",
|
||||||
"add_to_shared_album": "Incluir en álbum compartido",
|
"add_to_shared_album": "Incluir en álbum compartido",
|
||||||
|
"add_upload_to_stack": "Añadir archivo y apilar",
|
||||||
"add_url": "Agregar URL",
|
"add_url": "Agregar URL",
|
||||||
"added_to_archive": "Agregado al Archivado",
|
"added_to_archive": "Agregado al Archivado",
|
||||||
"added_to_favorites": "Agregado a favoritos",
|
"added_to_favorites": "Agregado a favoritos",
|
||||||
|
|
@ -599,7 +600,7 @@
|
||||||
"backup_controller_page_turn_on": "Activar la copia de seguridad",
|
"backup_controller_page_turn_on": "Activar la copia de seguridad",
|
||||||
"backup_controller_page_uploading_file_info": "Subiendo información del archivo",
|
"backup_controller_page_uploading_file_info": "Subiendo información del archivo",
|
||||||
"backup_err_only_album": "No se puede eliminar el único álbum",
|
"backup_err_only_album": "No se puede eliminar el único álbum",
|
||||||
"backup_error_sync_failed": "Sincronización falló. No es posible procesar la copia de seguridad.",
|
"backup_error_sync_failed": "La sincronización falló. No es posible procesar la copia de seguridad.",
|
||||||
"backup_info_card_assets": "elementos",
|
"backup_info_card_assets": "elementos",
|
||||||
"backup_manual_cancelled": "Cancelado",
|
"backup_manual_cancelled": "Cancelado",
|
||||||
"backup_manual_in_progress": "Subida ya en progreso. Vuelve a intentarlo más tarde",
|
"backup_manual_in_progress": "Subida ya en progreso. Vuelve a intentarlo más tarde",
|
||||||
|
|
|
||||||
11
i18n/et.json
11
i18n/et.json
|
|
@ -33,6 +33,7 @@
|
||||||
"add_to_albums": "Lisa albumitesse",
|
"add_to_albums": "Lisa albumitesse",
|
||||||
"add_to_albums_count": "Lisa albumitesse ({count})",
|
"add_to_albums_count": "Lisa albumitesse ({count})",
|
||||||
"add_to_shared_album": "Lisa jagatud albumisse",
|
"add_to_shared_album": "Lisa jagatud albumisse",
|
||||||
|
"add_upload_to_stack": "Virnasta üleslaaditud üksus",
|
||||||
"add_url": "Lisa URL",
|
"add_url": "Lisa URL",
|
||||||
"added_to_archive": "Lisatud arhiivi",
|
"added_to_archive": "Lisatud arhiivi",
|
||||||
"added_to_favorites": "Lisatud lemmikutesse",
|
"added_to_favorites": "Lisatud lemmikutesse",
|
||||||
|
|
@ -599,6 +600,7 @@
|
||||||
"backup_controller_page_turn_on": "Lülita esiplaanil varundus sisse",
|
"backup_controller_page_turn_on": "Lülita esiplaanil varundus sisse",
|
||||||
"backup_controller_page_uploading_file_info": "Faili info üleslaadimine",
|
"backup_controller_page_uploading_file_info": "Faili info üleslaadimine",
|
||||||
"backup_err_only_album": "Ei saa ainsat albumit eemaldada",
|
"backup_err_only_album": "Ei saa ainsat albumit eemaldada",
|
||||||
|
"backup_error_sync_failed": "Sünkroonimine ebaõnnestus. Varundust ei saa töödelda.",
|
||||||
"backup_info_card_assets": "üksused",
|
"backup_info_card_assets": "üksused",
|
||||||
"backup_manual_cancelled": "Tühistatud",
|
"backup_manual_cancelled": "Tühistatud",
|
||||||
"backup_manual_in_progress": "Üleslaadimine juba käib. Proovi hiljem uuesti",
|
"backup_manual_in_progress": "Üleslaadimine juba käib. Proovi hiljem uuesti",
|
||||||
|
|
@ -1037,6 +1039,7 @@
|
||||||
"exif_bottom_sheet_description_error": "Viga kirjelduse muutmisel",
|
"exif_bottom_sheet_description_error": "Viga kirjelduse muutmisel",
|
||||||
"exif_bottom_sheet_details": "ÜKSIKASJAD",
|
"exif_bottom_sheet_details": "ÜKSIKASJAD",
|
||||||
"exif_bottom_sheet_location": "ASUKOHT",
|
"exif_bottom_sheet_location": "ASUKOHT",
|
||||||
|
"exif_bottom_sheet_no_description": "Kirjeldus puudub",
|
||||||
"exif_bottom_sheet_people": "ISIKUD",
|
"exif_bottom_sheet_people": "ISIKUD",
|
||||||
"exif_bottom_sheet_person_add_person": "Lisa nimi",
|
"exif_bottom_sheet_person_add_person": "Lisa nimi",
|
||||||
"exit_slideshow": "Sulge slaidiesitlus",
|
"exit_slideshow": "Sulge slaidiesitlus",
|
||||||
|
|
@ -1323,7 +1326,7 @@
|
||||||
"marked_all_as_read": "Kõik märgiti loetuks",
|
"marked_all_as_read": "Kõik märgiti loetuks",
|
||||||
"matches": "Ühtivad failid",
|
"matches": "Ühtivad failid",
|
||||||
"matching_assets": "Ühtivad üksused",
|
"matching_assets": "Ühtivad üksused",
|
||||||
"media_type": "Meediumi tüüp",
|
"media_type": "Üksuse tüüp",
|
||||||
"memories": "Mälestused",
|
"memories": "Mälestused",
|
||||||
"memories_all_caught_up": "Ongi kõik",
|
"memories_all_caught_up": "Ongi kõik",
|
||||||
"memories_check_back_tomorrow": "Vaata homme juba uusi mälestusi",
|
"memories_check_back_tomorrow": "Vaata homme juba uusi mälestusi",
|
||||||
|
|
@ -1406,6 +1409,7 @@
|
||||||
"no_results_description": "Proovi sünonüümi või üldisemat märksõna",
|
"no_results_description": "Proovi sünonüümi või üldisemat märksõna",
|
||||||
"no_shared_albums_message": "Lisa album, et fotosid ja videosid teistega jagada",
|
"no_shared_albums_message": "Lisa album, et fotosid ja videosid teistega jagada",
|
||||||
"no_uploads_in_progress": "Üleslaadimisi käimas ei ole",
|
"no_uploads_in_progress": "Üleslaadimisi käimas ei ole",
|
||||||
|
"not_available": "Pole saadaval",
|
||||||
"not_in_any_album": "Pole üheski albumis",
|
"not_in_any_album": "Pole üheski albumis",
|
||||||
"not_selected": "Ei ole valitud",
|
"not_selected": "Ei ole valitud",
|
||||||
"note_apply_storage_label_to_previously_uploaded assets": "Märkus: Et rakendada talletussilt varem üleslaaditud üksustele, käivita",
|
"note_apply_storage_label_to_previously_uploaded assets": "Märkus: Et rakendada talletussilt varem üleslaaditud üksustele, käivita",
|
||||||
|
|
@ -1583,6 +1587,7 @@
|
||||||
"purchase_server_description_2": "Toetaja staatus",
|
"purchase_server_description_2": "Toetaja staatus",
|
||||||
"purchase_server_title": "Server",
|
"purchase_server_title": "Server",
|
||||||
"purchase_settings_server_activated": "Serveri tootevõtit haldab administraator",
|
"purchase_settings_server_activated": "Serveri tootevõtit haldab administraator",
|
||||||
|
"query_asset_id": "Päringu üksuse ID",
|
||||||
"queue_status": "Järjekorras {count}/{total}",
|
"queue_status": "Järjekorras {count}/{total}",
|
||||||
"rating": "Hinnang",
|
"rating": "Hinnang",
|
||||||
"rating_clear": "Tühjenda hinnang",
|
"rating_clear": "Tühjenda hinnang",
|
||||||
|
|
@ -1710,8 +1715,8 @@
|
||||||
"search_filter_filename": "Otsi failinime alusel",
|
"search_filter_filename": "Otsi failinime alusel",
|
||||||
"search_filter_location": "Asukoht",
|
"search_filter_location": "Asukoht",
|
||||||
"search_filter_location_title": "Vali asukoht",
|
"search_filter_location_title": "Vali asukoht",
|
||||||
"search_filter_media_type": "Meediumi tüüp",
|
"search_filter_media_type": "Üksuse tüüp",
|
||||||
"search_filter_media_type_title": "Vali meediumi tüüp",
|
"search_filter_media_type_title": "Vali üksuse tüüp",
|
||||||
"search_filter_people_title": "Vali isikud",
|
"search_filter_people_title": "Vali isikud",
|
||||||
"search_for": "Otsi",
|
"search_for": "Otsi",
|
||||||
"search_for_existing_person": "Otsi olemasolevat isikut",
|
"search_for_existing_person": "Otsi olemasolevat isikut",
|
||||||
|
|
|
||||||
123
i18n/fi.json
123
i18n/fi.json
|
|
@ -28,6 +28,7 @@
|
||||||
"add_to_album": "Lisää albumiin",
|
"add_to_album": "Lisää albumiin",
|
||||||
"add_to_album_bottom_sheet_added": "Lisätty albumiin {album}",
|
"add_to_album_bottom_sheet_added": "Lisätty albumiin {album}",
|
||||||
"add_to_album_bottom_sheet_already_exists": "Kohde on jo albumissa {album}",
|
"add_to_album_bottom_sheet_already_exists": "Kohde on jo albumissa {album}",
|
||||||
|
"add_to_album_bottom_sheet_some_local_assets": "Joitakin osia paikallisesta sisällöstä ei pystytty lisämään albumiin",
|
||||||
"add_to_album_toggle": "Vaihda albumin {album} valintaa",
|
"add_to_album_toggle": "Vaihda albumin {album} valintaa",
|
||||||
"add_to_albums": "Lisää albumeihin",
|
"add_to_albums": "Lisää albumeihin",
|
||||||
"add_to_albums_count": "Lisää albumeihin ({count})",
|
"add_to_albums_count": "Lisää albumeihin ({count})",
|
||||||
|
|
@ -39,7 +40,7 @@
|
||||||
"admin": {
|
"admin": {
|
||||||
"add_exclusion_pattern_description": "Lisää mallit, jonka mukaan jätetään tiedostoja pois. Jokerimerkit *, ** ja ? ovat tuettuna. Jättääksesi pois kaikki tiedostot mistä tahansa löytyvästä kansiosta \"Raw\" käytä \"**/Raw/**\". Jättääksesi pois kaikki \". tif\" päätteiset tiedot, käytä \"**/*.tif\". Jättääksesi pois tarkan tiedostopolun, käytä \"/path/to/ignore/**\".",
|
"add_exclusion_pattern_description": "Lisää mallit, jonka mukaan jätetään tiedostoja pois. Jokerimerkit *, ** ja ? ovat tuettuna. Jättääksesi pois kaikki tiedostot mistä tahansa löytyvästä kansiosta \"Raw\" käytä \"**/Raw/**\". Jättääksesi pois kaikki \". tif\" päätteiset tiedot, käytä \"**/*.tif\". Jättääksesi pois tarkan tiedostopolun, käytä \"/path/to/ignore/**\".",
|
||||||
"admin_user": "Ylläpitäjä",
|
"admin_user": "Ylläpitäjä",
|
||||||
"asset_offline_description": "Ulkoista kirjaston resurssia ei enää löydy levyltä, ja se on siirretty roskakoriin. Jos tiedosto siirrettiin kirjaston sisällä, tarkista aikajanaltasi uusi vastaava resurssi. Palautaaksesi tämän resurssin, varmista, että alla oleva tiedostopolku on Immichin käytettävissä ja skannaa kirjasto uudelleen.",
|
"asset_offline_description": "Ulkoista kirjaston resurssia ei enää löydy levyltä, ja se on siirretty roskakoriin. Jos tiedosto siirrettiin kirjaston sisällä, tarkista aikajanaltasi uusi vastaava resurssi. Palauttaaksesi tämän resurssin, varmista, että alla oleva tiedostopolku on Immichin käytettävissä ja skannaa kirjasto uudelleen.",
|
||||||
"authentication_settings": "Autentikointiasetukset",
|
"authentication_settings": "Autentikointiasetukset",
|
||||||
"authentication_settings_description": "Hallitse salasana-, OAuth- ja muut autentikoinnin asetukset",
|
"authentication_settings_description": "Hallitse salasana-, OAuth- ja muut autentikoinnin asetukset",
|
||||||
"authentication_settings_disable_all": "Haluatko varmasti poistaa kaikki kirjautumistavat käytöstä? Kirjautuminen on tämän jälkeen mahdotonta.",
|
"authentication_settings_disable_all": "Haluatko varmasti poistaa kaikki kirjautumistavat käytöstä? Kirjautuminen on tämän jälkeen mahdotonta.",
|
||||||
|
|
@ -149,7 +150,7 @@
|
||||||
"machine_learning_max_recognition_distance": "Suurin kasvojen eroavaisuus",
|
"machine_learning_max_recognition_distance": "Suurin kasvojen eroavaisuus",
|
||||||
"machine_learning_max_recognition_distance_description": "Kahden kasvon suurin eroavaisuus, milloin ne vielä mielletään samaksi henkilöksi, välillä 0-2. Arvoa alentamalla voidaan ehkäistä kahden saman näköisen henkilön mieltäminen samaksi henkilöksi, kun taas korottamalla voidaan ehkäistä saman henkilön mieltäminen kahdeksi erilliseksi henkilöksi. Huomaa että on helpompaa yhdistää kaksi, kuin erottaa, joten suosi mahdollisimman matalaa arvoa.",
|
"machine_learning_max_recognition_distance_description": "Kahden kasvon suurin eroavaisuus, milloin ne vielä mielletään samaksi henkilöksi, välillä 0-2. Arvoa alentamalla voidaan ehkäistä kahden saman näköisen henkilön mieltäminen samaksi henkilöksi, kun taas korottamalla voidaan ehkäistä saman henkilön mieltäminen kahdeksi erilliseksi henkilöksi. Huomaa että on helpompaa yhdistää kaksi, kuin erottaa, joten suosi mahdollisimman matalaa arvoa.",
|
||||||
"machine_learning_min_detection_score": "Tunnistuksen vähimmäistulos",
|
"machine_learning_min_detection_score": "Tunnistuksen vähimmäistulos",
|
||||||
"machine_learning_min_detection_score_description": "Pienin kasvojen tunnistamisessa saatu vahvuusarvo välillä 0-1. Matalammalla arvolla havaitaan enemmän kascoja, mutta voi lisätä virhearvioiden määrää.",
|
"machine_learning_min_detection_score_description": "Pienin kasvojen tunnistamisessa saatu vahvuusarvo välillä 0-1. Matalammalla arvolla havaitaan enemmän kasvoja, mutta voi lisätä virhearvioiden määrää.",
|
||||||
"machine_learning_min_recognized_faces": "Tunnistettujen kasvojen vähimmäismäärä",
|
"machine_learning_min_recognized_faces": "Tunnistettujen kasvojen vähimmäismäärä",
|
||||||
"machine_learning_min_recognized_faces_description": "Luotavan käyttäjän kasvojen vähimmäismäärä. Arvoa nostamalla kasvojentunnistuksen tarkkuus paranee, mutta todennäköisyys sille, että kasvoja ei osata yhdistää henkilöön kasvaa.",
|
"machine_learning_min_recognized_faces_description": "Luotavan käyttäjän kasvojen vähimmäismäärä. Arvoa nostamalla kasvojentunnistuksen tarkkuus paranee, mutta todennäköisyys sille, että kasvoja ei osata yhdistää henkilöön kasvaa.",
|
||||||
"machine_learning_settings": "Koneoppimisen asetukset",
|
"machine_learning_settings": "Koneoppimisen asetukset",
|
||||||
|
|
@ -183,7 +184,7 @@
|
||||||
"metadata_settings": "Metatietoasetukset",
|
"metadata_settings": "Metatietoasetukset",
|
||||||
"metadata_settings_description": "Hallitse metatietoja",
|
"metadata_settings_description": "Hallitse metatietoja",
|
||||||
"migration_job": "Migraatio",
|
"migration_job": "Migraatio",
|
||||||
"migration_job_description": "Migroi aineiston pikkukuvat ja kasvot uusimpaan kansiorakenteeseen",
|
"migration_job_description": "Migratoi aineiston pikkukuvat ja kasvot uusimpaan kansiorakenteeseen",
|
||||||
"nightly_tasks_cluster_faces_setting_description": "Aja kasvojen tunnistus uusiin tunnistettuihin kasvoihin",
|
"nightly_tasks_cluster_faces_setting_description": "Aja kasvojen tunnistus uusiin tunnistettuihin kasvoihin",
|
||||||
"nightly_tasks_cluster_new_faces_setting": "Kokoa uudet kasvot",
|
"nightly_tasks_cluster_new_faces_setting": "Kokoa uudet kasvot",
|
||||||
"nightly_tasks_database_cleanup_setting": "Tietokannan puhdistuksen tehtävät",
|
"nightly_tasks_database_cleanup_setting": "Tietokannan puhdistuksen tehtävät",
|
||||||
|
|
@ -203,7 +204,7 @@
|
||||||
"note_apply_storage_label_previous_assets": "Huom: Asettaaksesi nimikkeen aiemmin ladatulle aineistolle, aja",
|
"note_apply_storage_label_previous_assets": "Huom: Asettaaksesi nimikkeen aiemmin ladatulle aineistolle, aja",
|
||||||
"note_cannot_be_changed_later": "Huom: Tätä ei voi enää myöhemmin vaihtaa!",
|
"note_cannot_be_changed_later": "Huom: Tätä ei voi enää myöhemmin vaihtaa!",
|
||||||
"notification_email_from_address": "Lähettäjän osoite",
|
"notification_email_from_address": "Lähettäjän osoite",
|
||||||
"notification_email_from_address_description": "Lähettäjän sähköpostiosoite. Esimerkiksi \"Immich-kuvapalvelin <noreply@example.com>\". Varmista, että käytetystä osoiteesta on lupa lähettää sähköposteja.",
|
"notification_email_from_address_description": "Lähettäjän sähköpostiosoite. Esimerkiksi \"Immich-kuvapalvelin <noreply@example.com>\". Varmista, että käytetystä osoitteesta on lupa lähettää sähköposteja.",
|
||||||
"notification_email_host_description": "Sähköpostipalvelin (esim. smtp.immich.app)",
|
"notification_email_host_description": "Sähköpostipalvelin (esim. smtp.immich.app)",
|
||||||
"notification_email_ignore_certificate_errors": "Älä huomioi varmennevirheitä",
|
"notification_email_ignore_certificate_errors": "Älä huomioi varmennevirheitä",
|
||||||
"notification_email_ignore_certificate_errors_description": "Älä huomioi TLS-varmenteiden validointivirheitä (ei suositeltu)",
|
"notification_email_ignore_certificate_errors_description": "Älä huomioi TLS-varmenteiden validointivirheitä (ei suositeltu)",
|
||||||
|
|
@ -225,9 +226,9 @@
|
||||||
"oauth_button_text": "Painikkeen teksti",
|
"oauth_button_text": "Painikkeen teksti",
|
||||||
"oauth_client_secret_description": "Vaaditaan, jos OAuth-palveluntarjoaja ei tue PKCE:tä (Proof Key for Code Exchange)",
|
"oauth_client_secret_description": "Vaaditaan, jos OAuth-palveluntarjoaja ei tue PKCE:tä (Proof Key for Code Exchange)",
|
||||||
"oauth_enable_description": "Kirjaudu käyttäen OAuthia",
|
"oauth_enable_description": "Kirjaudu käyttäen OAuthia",
|
||||||
"oauth_mobile_redirect_uri": "Mobiilin uudellenohjaus-URI",
|
"oauth_mobile_redirect_uri": "Mobiilin uudelleenohjaus-URI",
|
||||||
"oauth_mobile_redirect_uri_override": "Ohita mobiilin uudelleenohjaus-URI",
|
"oauth_mobile_redirect_uri_override": "Ohita mobiilin uudelleenohjaus-URI",
|
||||||
"oauth_mobile_redirect_uri_override_description": "Ota käyttöön kun OAuth tarjoaja ei salli mobiili URI:a, kuten ''{callback}''",
|
"oauth_mobile_redirect_uri_override_description": "Ota käyttöön kun OAuth-tarjoaja ei salli mobiili-URI:a, kuten ''{callback}''",
|
||||||
"oauth_role_claim": "Roolin vaatimus",
|
"oauth_role_claim": "Roolin vaatimus",
|
||||||
"oauth_role_claim_description": "Salli pääkäyttäjän pääsyoikeus automaattisesti tämän vaatimuksen perusteella. Vaatimus voi sisältää, joko 'käyttäjän' tai 'pääkäyttäjän'.",
|
"oauth_role_claim_description": "Salli pääkäyttäjän pääsyoikeus automaattisesti tämän vaatimuksen perusteella. Vaatimus voi sisältää, joko 'käyttäjän' tai 'pääkäyttäjän'.",
|
||||||
"oauth_settings": "OAuth",
|
"oauth_settings": "OAuth",
|
||||||
|
|
@ -278,7 +279,7 @@
|
||||||
"storage_template_migration_info": "Tallennusmalli muuntaa kaikki tiedostopäätteet pieniksi kirjaimiksi. Mallipohjan muutokset koskevat vain uusia resursseja. Jos haluat käyttää mallipohjaa takautuvasti aiemmin ladattuihin resursseihin, suorita <link>{job}</link>.",
|
"storage_template_migration_info": "Tallennusmalli muuntaa kaikki tiedostopäätteet pieniksi kirjaimiksi. Mallipohjan muutokset koskevat vain uusia resursseja. Jos haluat käyttää mallipohjaa takautuvasti aiemmin ladattuihin resursseihin, suorita <link>{job}</link>.",
|
||||||
"storage_template_migration_job": "Tallennustilan mallin muutostyö",
|
"storage_template_migration_job": "Tallennustilan mallin muutostyö",
|
||||||
"storage_template_more_details": "Saadaksesi lisätietoa tästä ominaisuudesta, katso <template-link>Tallennustilan Mallit</template-link> sekä <implications-link>mihin se vaikuttaa</implications-link>",
|
"storage_template_more_details": "Saadaksesi lisätietoa tästä ominaisuudesta, katso <template-link>Tallennustilan Mallit</template-link> sekä <implications-link>mihin se vaikuttaa</implications-link>",
|
||||||
"storage_template_onboarding_description_v2": "Päälle kytkettynä, toiminto järjestestelee tiedostot automaattisesti käyttäjän määrittämän mallin mukaisesti. Lisätietoja <link>dokumentaatiosta</link>..",
|
"storage_template_onboarding_description_v2": "Päälle kytkettynä toiminto järjestelee tiedostot automaattisesti käyttäjän määrittämän mallin mukaisesti. Lisätietoja <link>dokumentaatiosta</link>..",
|
||||||
"storage_template_path_length": "Arvioitu tiedostopolun pituusrajoitus: <b>{length, number}</b>/{limit, number}",
|
"storage_template_path_length": "Arvioitu tiedostopolun pituusrajoitus: <b>{length, number}</b>/{limit, number}",
|
||||||
"storage_template_settings": "Tallennustilan malli",
|
"storage_template_settings": "Tallennustilan malli",
|
||||||
"storage_template_settings_description": "Hallitse palvelimelle ladatun aineiston kansiorakennetta ja tiedostonimiä",
|
"storage_template_settings_description": "Hallitse palvelimelle ladatun aineiston kansiorakennetta ja tiedostonimiä",
|
||||||
|
|
@ -301,17 +302,17 @@
|
||||||
"thumbnail_generation_job": "Luo pikkukuvat",
|
"thumbnail_generation_job": "Luo pikkukuvat",
|
||||||
"thumbnail_generation_job_description": "Generoi isot, pienet sekä sumeat pikkukuvat jokaisesta aineistosta, kuten myös henkilöistä",
|
"thumbnail_generation_job_description": "Generoi isot, pienet sekä sumeat pikkukuvat jokaisesta aineistosta, kuten myös henkilöistä",
|
||||||
"transcoding_acceleration_api": "Kiihdytysrajapinta",
|
"transcoding_acceleration_api": "Kiihdytysrajapinta",
|
||||||
"transcoding_acceleration_api_description": "Rajapinta, jolla keskustellaan laittesi kanssa nopeuttaaksemme koodausta. Tämä asetus on paras mahdollinen: Mikäli ongelmia ilmenee, palataan käyttämään ohjelmistopohjaista koodausta. VP9 voi toimia tai ei, riippuen laitteistosi kokoonpanosta.",
|
"transcoding_acceleration_api_description": "Rajapinta, jolla keskustellaan laitteesi kanssa nopeuttaaksemme koodausta. Tämä asetus on paras mahdollinen: Mikäli ongelmia ilmenee, palataan käyttämään ohjelmistopohjaista koodausta. VP9 voi toimia tai ei, riippuen laitteistosi kokoonpanosta.",
|
||||||
"transcoding_acceleration_nvenc": "NVENC (vaatii NVIDIA:n grafiikkasuorittimen)",
|
"transcoding_acceleration_nvenc": "NVENC (vaatii NVIDIA:n grafiikkasuorittimen)",
|
||||||
"transcoding_acceleration_qsv": "Quick Sync (Vaatii vähintään gen7 Intel prosessorin)",
|
"transcoding_acceleration_qsv": "Quick Sync (Vaatii vähintään gen7 Intel prosessorin)",
|
||||||
"transcoding_acceleration_rkmpp": "RKMPP (vain Rockchip SOCt)",
|
"transcoding_acceleration_rkmpp": "RKMPP (vain Rockchip SOCt)",
|
||||||
"transcoding_acceleration_vaapi": "VAAPI",
|
"transcoding_acceleration_vaapi": "VAAPI",
|
||||||
"transcoding_accepted_audio_codecs": "Sallitut äänikoodekit",
|
"transcoding_accepted_audio_codecs": "Sallitut äänikoodekit",
|
||||||
"transcoding_accepted_audio_codecs_description": "Valitse mitä äänikoodekkeja ei tarvitse muuntaa. Käytetään vain tiettyjen koodauskäytäntöjen kanssa.",
|
"transcoding_accepted_audio_codecs_description": "Valitse, mitä äänikoodekkeja ei tarvitse muuntaa. Käytetään vain tiettyjen koodauskäytäntöjen kanssa.",
|
||||||
"transcoding_accepted_containers": "Hyväksytyt kontit",
|
"transcoding_accepted_containers": "Sallitut säiliömuodot",
|
||||||
"transcoding_accepted_containers_description": "Valitse, mitä formaatteja ei tarvitse kääntää MP4- muotoon. Käytössä vain tietyille muunnos säännöille.",
|
"transcoding_accepted_containers_description": "Valitse, mitä säiliömuotoja ei tarvitse muuntaa MP4-muotoon. Käytetään vain tiettyjen koodauskäytäntöjen kanssa.",
|
||||||
"transcoding_accepted_video_codecs": "Sallitut videokoodekit",
|
"transcoding_accepted_video_codecs": "Sallitut videokoodekit",
|
||||||
"transcoding_accepted_video_codecs_description": "Valitse mitä videokoodekkeja ei tarvitse muuntaa. Käytetään vain tiettyjen koodauskäytäntöjen kanssa.",
|
"transcoding_accepted_video_codecs_description": "Valitse, mitä videokoodekkeja ei tarvitse muuntaa. Käytetään vain tiettyjen koodauskäytäntöjen kanssa.",
|
||||||
"transcoding_advanced_options_description": "Asetukset, joita useimpien käyttäjien ei tulisi muuttaa",
|
"transcoding_advanced_options_description": "Asetukset, joita useimpien käyttäjien ei tulisi muuttaa",
|
||||||
"transcoding_audio_codec": "Äänikoodekki",
|
"transcoding_audio_codec": "Äänikoodekki",
|
||||||
"transcoding_audio_codec_description": "Opus on paras laadultaan, mutta ei välttämättä ole yhteensopiva vanhempien laitteiden tai sovellusten kanssa.",
|
"transcoding_audio_codec_description": "Opus on paras laadultaan, mutta ei välttämättä ole yhteensopiva vanhempien laitteiden tai sovellusten kanssa.",
|
||||||
|
|
@ -338,7 +339,7 @@
|
||||||
"transcoding_policy": "Transkoodauskäytäntö",
|
"transcoding_policy": "Transkoodauskäytäntö",
|
||||||
"transcoding_policy_description": "Aseta milloin video transkoodataan",
|
"transcoding_policy_description": "Aseta milloin video transkoodataan",
|
||||||
"transcoding_preferred_hardware_device": "Ensisijainen laite",
|
"transcoding_preferred_hardware_device": "Ensisijainen laite",
|
||||||
"transcoding_preferred_hardware_device_description": "On voimassa vain VAAPI ja QSV -määritteille. Asettaa laitteistokoodauksessa käytetyn DRI noodin.",
|
"transcoding_preferred_hardware_device_description": "On voimassa vain VAAPI- ja QSV-määritteille. Asettaa laitteistokoodauksessa käytetyn DRI-noodin.",
|
||||||
"transcoding_preset_preset": "Esiasetus (-asetus)",
|
"transcoding_preset_preset": "Esiasetus (-asetus)",
|
||||||
"transcoding_preset_preset_description": "Pakkausnopeus. Hitaampi tuottaa pienempiä tiedostoja ja parantaa laatua, kun kohdistetaan tiettyyn bittinopeuteen. VP9 ei huomioi korkeampaa kuin 'faster'.",
|
"transcoding_preset_preset_description": "Pakkausnopeus. Hitaampi tuottaa pienempiä tiedostoja ja parantaa laatua, kun kohdistetaan tiettyyn bittinopeuteen. VP9 ei huomioi korkeampaa kuin 'faster'.",
|
||||||
"transcoding_reference_frames": "Kehysviitteet",
|
"transcoding_reference_frames": "Kehysviitteet",
|
||||||
|
|
@ -355,7 +356,7 @@
|
||||||
"transcoding_tone_mapping": "Sävykartoitus",
|
"transcoding_tone_mapping": "Sävykartoitus",
|
||||||
"transcoding_tone_mapping_description": "Pyrkii säilömään HDR-kuvien ulkonäön, kun muunnetaan peruskuvaksi. Jokaisella algoritmilla on omat heikkoutensa värien, yksityiskohtien tai kirkkauksien kesken. Hable säilöö yksityiskohdat, Mobius värit ja Reinhard kirkkaudet.",
|
"transcoding_tone_mapping_description": "Pyrkii säilömään HDR-kuvien ulkonäön, kun muunnetaan peruskuvaksi. Jokaisella algoritmilla on omat heikkoutensa värien, yksityiskohtien tai kirkkauksien kesken. Hable säilöö yksityiskohdat, Mobius värit ja Reinhard kirkkaudet.",
|
||||||
"transcoding_transcode_policy": "Transkoodauskäytäntö",
|
"transcoding_transcode_policy": "Transkoodauskäytäntö",
|
||||||
"transcoding_transcode_policy_description": "Käytäntö miten video tulisi transkoodata. HDR videot transkoodataan aina, paitsi jos transkoodaus on poistettu käytöstä.",
|
"transcoding_transcode_policy_description": "Käytäntö, miten video tulisi transkoodata. HDR-videot transkoodataan aina, paitsi jos transkoodaus on poistettu käytöstä.",
|
||||||
"transcoding_two_pass_encoding": "Two-pass enkoodaus",
|
"transcoding_two_pass_encoding": "Two-pass enkoodaus",
|
||||||
"transcoding_two_pass_encoding_setting_description": "Transkoodaa kahdessa vaiheessa tuottaaksesi paremmin koodattuja videoita. Kun maksimibittinopeus on käytössä (vaaditaan H.264- ja HEVC-koodaukselle), tämä tila käyttää bittinopeusaluetta, joka perustuu maksimibittinopeuteen ja ohittaa CRF. VP9 osalta CRF:ää voidaan käyttää, jos maksimibittinopeus on poistettu käytöstä.",
|
"transcoding_two_pass_encoding_setting_description": "Transkoodaa kahdessa vaiheessa tuottaaksesi paremmin koodattuja videoita. Kun maksimibittinopeus on käytössä (vaaditaan H.264- ja HEVC-koodaukselle), tämä tila käyttää bittinopeusaluetta, joka perustuu maksimibittinopeuteen ja ohittaa CRF. VP9 osalta CRF:ää voidaan käyttää, jos maksimibittinopeus on poistettu käytöstä.",
|
||||||
"transcoding_video_codec": "Videokoodekki",
|
"transcoding_video_codec": "Videokoodekki",
|
||||||
|
|
@ -435,7 +436,7 @@
|
||||||
"album_updated_setting_description": "Saa sähköpostia kun jaetussa albumissa on uutta sisältöä",
|
"album_updated_setting_description": "Saa sähköpostia kun jaetussa albumissa on uutta sisältöä",
|
||||||
"album_user_left": "Poistuttiin albumista {album}",
|
"album_user_left": "Poistuttiin albumista {album}",
|
||||||
"album_user_removed": "{user} poistettu",
|
"album_user_removed": "{user} poistettu",
|
||||||
"album_viewer_appbar_delete_confirm": "Haluatko varmast poistaa tämän albumin tililtäsi?",
|
"album_viewer_appbar_delete_confirm": "Haluatko varmasti poistaa tämän albumin tililtäsi?",
|
||||||
"album_viewer_appbar_share_err_delete": "Albumin poistaminen epäonnistui",
|
"album_viewer_appbar_share_err_delete": "Albumin poistaminen epäonnistui",
|
||||||
"album_viewer_appbar_share_err_leave": "Albumista poistuminen epäonnistui",
|
"album_viewer_appbar_share_err_leave": "Albumista poistuminen epäonnistui",
|
||||||
"album_viewer_appbar_share_err_remove": "Ongelmia kohteiden poistamisessa albumista",
|
"album_viewer_appbar_share_err_remove": "Ongelmia kohteiden poistamisessa albumista",
|
||||||
|
|
@ -481,7 +482,7 @@
|
||||||
"archived_count": "{count, plural, other {Arkistoitu #}}",
|
"archived_count": "{count, plural, other {Arkistoitu #}}",
|
||||||
"are_these_the_same_person": "Ovatko he sama henkilö?",
|
"are_these_the_same_person": "Ovatko he sama henkilö?",
|
||||||
"are_you_sure_to_do_this": "Haluatko varmasti tehdä tämän?",
|
"are_you_sure_to_do_this": "Haluatko varmasti tehdä tämän?",
|
||||||
"asset_action_delete_err_read_only": "Vain luku-tilassa olevia kohteita ei voitu poistaa, ohitetaan",
|
"asset_action_delete_err_read_only": "Vain luku -tilassa olevia kohteita ei voitu poistaa, ohitetaan",
|
||||||
"asset_action_share_err_offline": "Verkottomassa tilassa olevia kohteita ei voitu noutaa, ohitetaan",
|
"asset_action_share_err_offline": "Verkottomassa tilassa olevia kohteita ei voitu noutaa, ohitetaan",
|
||||||
"asset_added_to_album": "Lisätty albumiin",
|
"asset_added_to_album": "Lisätty albumiin",
|
||||||
"asset_adding_to_album": "Lisätään albumiin…",
|
"asset_adding_to_album": "Lisätään albumiin…",
|
||||||
|
|
@ -503,6 +504,7 @@
|
||||||
"asset_skipped": "Ohitettu",
|
"asset_skipped": "Ohitettu",
|
||||||
"asset_skipped_in_trash": "Roskakorissa",
|
"asset_skipped_in_trash": "Roskakorissa",
|
||||||
"asset_trashed": "Kohde poistettu",
|
"asset_trashed": "Kohde poistettu",
|
||||||
|
"asset_troubleshoot": "Sisällön vian paikannus",
|
||||||
"asset_uploaded": "Lähetetty",
|
"asset_uploaded": "Lähetetty",
|
||||||
"asset_uploading": "Ladataan…",
|
"asset_uploading": "Ladataan…",
|
||||||
"asset_viewer_settings_subtitle": "Galleriakatseluohjelman asetusten hallinta",
|
"asset_viewer_settings_subtitle": "Galleriakatseluohjelman asetusten hallinta",
|
||||||
|
|
@ -510,7 +512,7 @@
|
||||||
"assets": "Kohteet",
|
"assets": "Kohteet",
|
||||||
"assets_added_count": "Lisätty {count, plural, one {# kohde} other {# kohdetta}}",
|
"assets_added_count": "Lisätty {count, plural, one {# kohde} other {# kohdetta}}",
|
||||||
"assets_added_to_album_count": "Albumiin lisätty {count, plural, one {# kohde} other {# kohdetta}}",
|
"assets_added_to_album_count": "Albumiin lisätty {count, plural, one {# kohde} other {# kohdetta}}",
|
||||||
"assets_added_to_albums_count": "Lisätty {assetTotal, plural, one {# aineisto} other {# aaineistoa}} {albumTotal, plural, one {# albumiin} other {# albumeihin}}",
|
"assets_added_to_albums_count": "Lisätty {assetTotal, plural, one {# kohde} other {# kohdetta}} {albumTotal, plural, one {# albumiin} other {# albumiin}}",
|
||||||
"assets_cannot_be_added_to_album_count": "{count, plural, one {Kohdetta} other {Kohdetta}} ei voida lisätä albumiin",
|
"assets_cannot_be_added_to_album_count": "{count, plural, one {Kohdetta} other {Kohdetta}} ei voida lisätä albumiin",
|
||||||
"assets_cannot_be_added_to_albums": "{count, plural, one {Aineisto} other {Aineistoa}} ei voi lisätä mihinkään albumiin",
|
"assets_cannot_be_added_to_albums": "{count, plural, one {Aineisto} other {Aineistoa}} ei voi lisätä mihinkään albumiin",
|
||||||
"assets_count": "{count, plural, one {# media} other {# mediaa}}",
|
"assets_count": "{count, plural, one {# media} other {# mediaa}}",
|
||||||
|
|
@ -547,6 +549,7 @@
|
||||||
"backup_album_selection_page_select_albums": "Valitse albumit",
|
"backup_album_selection_page_select_albums": "Valitse albumit",
|
||||||
"backup_album_selection_page_selection_info": "Valintatiedot",
|
"backup_album_selection_page_selection_info": "Valintatiedot",
|
||||||
"backup_album_selection_page_total_assets": "Ainulaatuisia kohteita yhteensä",
|
"backup_album_selection_page_total_assets": "Ainulaatuisia kohteita yhteensä",
|
||||||
|
"backup_albums_sync": "Varmuuskopioitujen albumeiden synkronointi",
|
||||||
"backup_all": "Kaikki",
|
"backup_all": "Kaikki",
|
||||||
"backup_background_service_backup_failed_message": "Kohteiden varmuuskopiointi epäonnistui. Yritetään uudelleen…",
|
"backup_background_service_backup_failed_message": "Kohteiden varmuuskopiointi epäonnistui. Yritetään uudelleen…",
|
||||||
"backup_background_service_connection_failed_message": "Palvelimeen ei saatu yhteyttä. Yritetään uudelleen…",
|
"backup_background_service_connection_failed_message": "Palvelimeen ei saatu yhteyttä. Yritetään uudelleen…",
|
||||||
|
|
@ -596,7 +599,8 @@
|
||||||
"backup_controller_page_turn_on": "Varmuuskopiointi päälle",
|
"backup_controller_page_turn_on": "Varmuuskopiointi päälle",
|
||||||
"backup_controller_page_uploading_file_info": "Tiedostojen lähetystiedot",
|
"backup_controller_page_uploading_file_info": "Tiedostojen lähetystiedot",
|
||||||
"backup_err_only_album": "Vähintään yhden albumin tulee olla valittuna",
|
"backup_err_only_album": "Vähintään yhden albumin tulee olla valittuna",
|
||||||
"backup_info_card_assets": "kohteet",
|
"backup_error_sync_failed": "Synkronointi epäonnistui. Varmuuskopion käsittely ei onnistu.",
|
||||||
|
"backup_info_card_assets": "kohdetta",
|
||||||
"backup_manual_cancelled": "Peruutettu",
|
"backup_manual_cancelled": "Peruutettu",
|
||||||
"backup_manual_in_progress": "Lähetys palvelimelle on jo käynnissä. Kokeile myöhemmin uudelleen",
|
"backup_manual_in_progress": "Lähetys palvelimelle on jo käynnissä. Kokeile myöhemmin uudelleen",
|
||||||
"backup_manual_success": "Onnistui",
|
"backup_manual_success": "Onnistui",
|
||||||
|
|
@ -631,7 +635,7 @@
|
||||||
"cache_settings_statistics_thumbnail": "Esikatselukuvat",
|
"cache_settings_statistics_thumbnail": "Esikatselukuvat",
|
||||||
"cache_settings_statistics_title": "Välimuistin käyttö",
|
"cache_settings_statistics_title": "Välimuistin käyttö",
|
||||||
"cache_settings_subtitle": "Hallitse Immich-mobiilisovelluksen välimuistin käyttöä",
|
"cache_settings_subtitle": "Hallitse Immich-mobiilisovelluksen välimuistin käyttöä",
|
||||||
"cache_settings_tile_subtitle": "Hallitse paikallista tallenustilaa",
|
"cache_settings_tile_subtitle": "Hallitse paikallista tallennustilaa",
|
||||||
"cache_settings_tile_title": "Paikallinen tallennustila",
|
"cache_settings_tile_title": "Paikallinen tallennustila",
|
||||||
"cache_settings_title": "Välimuistin asetukset",
|
"cache_settings_title": "Välimuistin asetukset",
|
||||||
"camera": "Kamera",
|
"camera": "Kamera",
|
||||||
|
|
@ -663,6 +667,8 @@
|
||||||
"change_pin_code": "Vaihda PIN-koodi",
|
"change_pin_code": "Vaihda PIN-koodi",
|
||||||
"change_your_password": "Vaihda salasanasi",
|
"change_your_password": "Vaihda salasanasi",
|
||||||
"changed_visibility_successfully": "Näkyvyys vaihdettu",
|
"changed_visibility_successfully": "Näkyvyys vaihdettu",
|
||||||
|
"charging": "Ladataan laitetta",
|
||||||
|
"charging_requirement_mobile_backup": "Varmuuskopiointi taustalla vaatii laitteen latautumista",
|
||||||
"check_corrupt_asset_backup": "Vioittuneiden varmuuskopioiden tarkistaminen",
|
"check_corrupt_asset_backup": "Vioittuneiden varmuuskopioiden tarkistaminen",
|
||||||
"check_corrupt_asset_backup_button": "Suorita tarkistus",
|
"check_corrupt_asset_backup_button": "Suorita tarkistus",
|
||||||
"check_corrupt_asset_backup_description": "Suorita tämä tarkistus vain Wi-Fi-yhteyden kautta ja vasta, kun kaikki kohteet on varmuuskopioitu. Toimenpide voi kestää muutamia minuutteja.",
|
"check_corrupt_asset_backup_description": "Suorita tämä tarkistus vain Wi-Fi-yhteyden kautta ja vasta, kun kaikki kohteet on varmuuskopioitu. Toimenpide voi kestää muutamia minuutteja.",
|
||||||
|
|
@ -749,6 +755,7 @@
|
||||||
"create_user": "Luo käyttäjä",
|
"create_user": "Luo käyttäjä",
|
||||||
"created": "Luotu",
|
"created": "Luotu",
|
||||||
"created_at": "Luotu",
|
"created_at": "Luotu",
|
||||||
|
"creating_linked_albums": "Luodaan linkattuja albumeita...",
|
||||||
"crop": "Rajaa",
|
"crop": "Rajaa",
|
||||||
"curated_object_page_title": "Asiat",
|
"curated_object_page_title": "Asiat",
|
||||||
"current_device": "Nykyinen laite",
|
"current_device": "Nykyinen laite",
|
||||||
|
|
@ -773,7 +780,7 @@
|
||||||
"deduplication_criteria_1": "Kuvan koko tavuina",
|
"deduplication_criteria_1": "Kuvan koko tavuina",
|
||||||
"deduplication_criteria_2": "EXIF-datan määrä",
|
"deduplication_criteria_2": "EXIF-datan määrä",
|
||||||
"deduplication_info": "Deduplikaatiotieto",
|
"deduplication_info": "Deduplikaatiotieto",
|
||||||
"deduplication_info_description": "Jotta voimme automaattisesti esivalita aineistot ja poistaa duplikaatit suurina erinä, tarkastelemme:",
|
"deduplication_info_description": "Jotta voimme automaattisesti esivalita aineistot ja poistaa kaksoiskappaleet suurina erinä, tarkastelemme:",
|
||||||
"default_locale": "Oletuskieliasetus",
|
"default_locale": "Oletuskieliasetus",
|
||||||
"default_locale_description": "Muotoile päivämäärät ja numerot selaimesi kielen mukaan",
|
"default_locale_description": "Muotoile päivämäärät ja numerot selaimesi kielen mukaan",
|
||||||
"delete": "Poista",
|
"delete": "Poista",
|
||||||
|
|
@ -848,7 +855,7 @@
|
||||||
"downloading_media": "Median lataaminen",
|
"downloading_media": "Median lataaminen",
|
||||||
"drop_files_to_upload": "Pudota tiedostot mihin tahansa ladataksesi ne",
|
"drop_files_to_upload": "Pudota tiedostot mihin tahansa ladataksesi ne",
|
||||||
"duplicates": "Kaksoiskappaleet",
|
"duplicates": "Kaksoiskappaleet",
|
||||||
"duplicates_description": "Selvitä jokaisen kohdalla mitkä (jos yksikään) ovat kaksoiskappaleita",
|
"duplicates_description": "Selvitä jokaisen kohdalla mitkä (jos mitkään) ovat kaksoiskappaleita",
|
||||||
"duration": "Kesto",
|
"duration": "Kesto",
|
||||||
"edit": "Muokkaa",
|
"edit": "Muokkaa",
|
||||||
"edit_album": "Muokkaa albumia",
|
"edit_album": "Muokkaa albumia",
|
||||||
|
|
@ -898,7 +905,9 @@
|
||||||
"error": "Virhe",
|
"error": "Virhe",
|
||||||
"error_change_sort_album": "Albumin lajittelujärjestyksen muuttaminen epäonnistui",
|
"error_change_sort_album": "Albumin lajittelujärjestyksen muuttaminen epäonnistui",
|
||||||
"error_delete_face": "Virhe kasvojen poistamisessa kohteesta",
|
"error_delete_face": "Virhe kasvojen poistamisessa kohteesta",
|
||||||
|
"error_getting_places": "Ongelma paikkojen haussa",
|
||||||
"error_loading_image": "Kuvan lataus ei onnistunut",
|
"error_loading_image": "Kuvan lataus ei onnistunut",
|
||||||
|
"error_loading_partners": "Ongelma partnerin haussa: {error}",
|
||||||
"error_saving_image": "Virhe: {error}",
|
"error_saving_image": "Virhe: {error}",
|
||||||
"error_tag_face_bounding_box": "Kasvojen merkitseminen epäonnistui – rajausruudun koordinaatteja ei löydy",
|
"error_tag_face_bounding_box": "Kasvojen merkitseminen epäonnistui – rajausruudun koordinaatteja ei löydy",
|
||||||
"error_title": "Virhe - Jotain meni pieleen",
|
"error_title": "Virhe - Jotain meni pieleen",
|
||||||
|
|
@ -1058,11 +1067,12 @@
|
||||||
"failed_to_load_folder": "Kansion lataaminen epäonnistui",
|
"failed_to_load_folder": "Kansion lataaminen epäonnistui",
|
||||||
"favorite": "Suosikki",
|
"favorite": "Suosikki",
|
||||||
"favorite_action_prompt": "{count} lisätty suosikkeihin",
|
"favorite_action_prompt": "{count} lisätty suosikkeihin",
|
||||||
"favorite_or_unfavorite_photo": "Suosikki- tai ei-suosikkikuva",
|
"favorite_or_unfavorite_photo": "Lisää tai poista kuva suosikeista",
|
||||||
"favorites": "Suosikit",
|
"favorites": "Suosikit",
|
||||||
"favorites_page_no_favorites": "Suosikkikohteita ei löytynyt",
|
"favorites_page_no_favorites": "Suosikkikohteita ei löytynyt",
|
||||||
"feature_photo_updated": "Kansikuva ladattu",
|
"feature_photo_updated": "Kansikuva ladattu",
|
||||||
"features": "Ominaisuudet",
|
"features": "Ominaisuudet",
|
||||||
|
"features_in_development": "Kehityksessä olevat ominaisuudet",
|
||||||
"features_setting_description": "Hallitse sovelluksen ominaisuuksia",
|
"features_setting_description": "Hallitse sovelluksen ominaisuuksia",
|
||||||
"file_name": "Tiedoston nimi",
|
"file_name": "Tiedoston nimi",
|
||||||
"file_name_or_extension": "Tiedostonimi tai tiedostopääte",
|
"file_name_or_extension": "Tiedostonimi tai tiedostopääte",
|
||||||
|
|
@ -1090,6 +1100,8 @@
|
||||||
"go_back": "Palaa",
|
"go_back": "Palaa",
|
||||||
"go_to_folder": "Mene kansioon",
|
"go_to_folder": "Mene kansioon",
|
||||||
"go_to_search": "Siirry hakuun",
|
"go_to_search": "Siirry hakuun",
|
||||||
|
"gps": "GPS",
|
||||||
|
"gps_missing": "Ei GPS:ää",
|
||||||
"grant_permission": "Myönnä lupa",
|
"grant_permission": "Myönnä lupa",
|
||||||
"group_albums_by": "Ryhmitä albumi...",
|
"group_albums_by": "Ryhmitä albumi...",
|
||||||
"group_country": "Ryhmitä maan mukaan",
|
"group_country": "Ryhmitä maan mukaan",
|
||||||
|
|
@ -1119,18 +1131,18 @@
|
||||||
"home_page_add_to_album_conflicts": "Lisätty {added} kohdetta albumiin {album}. {failed} kohdetta on jo albumissa.",
|
"home_page_add_to_album_conflicts": "Lisätty {added} kohdetta albumiin {album}. {failed} kohdetta on jo albumissa.",
|
||||||
"home_page_add_to_album_err_local": "Paikallisten kohteiden lisääminen albumeihin ei ole mahdollista, ohitetaan",
|
"home_page_add_to_album_err_local": "Paikallisten kohteiden lisääminen albumeihin ei ole mahdollista, ohitetaan",
|
||||||
"home_page_add_to_album_success": "Lisätty {added} kohdetta albumiin {album}.",
|
"home_page_add_to_album_success": "Lisätty {added} kohdetta albumiin {album}.",
|
||||||
"home_page_album_err_partner": "Kumppanin kohteita ei voi vielä lisätä albumiin. Hypätään yli",
|
"home_page_album_err_partner": "Kumppanin kohteita ei voi vielä lisätä albumiin, ohitetaan",
|
||||||
"home_page_archive_err_local": "Paikallisten kohteiden arkistointi ei ole mahdollista, ohitetaan",
|
"home_page_archive_err_local": "Paikallisten kohteiden arkistointi ei ole mahdollista, ohitetaan",
|
||||||
"home_page_archive_err_partner": "Kumppanin kohteita ei voi arkistoida. Hypätään yli",
|
"home_page_archive_err_partner": "Kumppanin kohteita ei voi arkistoida, ohitetaan",
|
||||||
"home_page_building_timeline": "Rakennetaan aikajanaa",
|
"home_page_building_timeline": "Rakennetaan aikajanaa",
|
||||||
"home_page_delete_err_partner": "Kumppanin kohteita ei voi poistaa.Hypätään yli",
|
"home_page_delete_err_partner": "Kumppanin kohteita ei voi poistaa, ohitetaan",
|
||||||
"home_page_delete_remote_err_local": "Paikallisia kohteita etäkohdevalintojen joukossa, ohitetaan",
|
"home_page_delete_remote_err_local": "Paikallisia kohteita etäkohdevalintojen joukossa, ohitetaan",
|
||||||
"home_page_favorite_err_local": "Paikallisten kohteiden lisääminen suosikkeihin ei ole mahdollista, ohitetaan",
|
"home_page_favorite_err_local": "Paikallisten kohteiden lisääminen suosikkeihin ei ole mahdollista, ohitetaan",
|
||||||
"home_page_favorite_err_partner": "Kumppanin kohteita ei voi vielä merkitä suosikiksi. Hypätään yli",
|
"home_page_favorite_err_partner": "Kumppanin kohteita ei voi vielä merkitä suosikiksi, ohitetaan",
|
||||||
"home_page_first_time_notice": "Jos käytät sovellusta ensimmäistä kertaa, muista valita varmuuskopioitavat albumi(t), jotta aikajanalla voi olla kuvia ja videoita",
|
"home_page_first_time_notice": "Jos käytät sovellusta ensimmäistä kertaa, muista valita varmuuskopioitavat albumi(t), jotta aikajanalla voi olla kuvia ja videoita",
|
||||||
"home_page_locked_error_local": "Paikallisten kohteiden siirto lukittuun kansioon ei onnistu, ohitetaan",
|
"home_page_locked_error_local": "Paikallisten kohteiden siirto lukittuun kansioon ei onnistu, ohitetaan",
|
||||||
"home_page_locked_error_partner": "Kumppanin kohteita ei voi siirtää lukittuun kansioon, ohitetaan",
|
"home_page_locked_error_partner": "Kumppanin kohteita ei voi siirtää lukittuun kansioon, ohitetaan",
|
||||||
"home_page_share_err_local": "Paikallisia kohteita ei voitu jakaa linkkien avulla. Hypätään yli",
|
"home_page_share_err_local": "Paikallisia kohteita ei voitu jakaa linkkien avulla, ohitetaan",
|
||||||
"home_page_upload_err_limit": "Voit lähettää palvelimelle enintään 30 kohdetta kerrallaan, ohitetaan",
|
"home_page_upload_err_limit": "Voit lähettää palvelimelle enintään 30 kohdetta kerrallaan, ohitetaan",
|
||||||
"host": "Isäntä",
|
"host": "Isäntä",
|
||||||
"hour": "Tunti",
|
"hour": "Tunti",
|
||||||
|
|
@ -1158,7 +1170,7 @@
|
||||||
"immich_web_interface": "Immich-verkkokäyttöliittymä",
|
"immich_web_interface": "Immich-verkkokäyttöliittymä",
|
||||||
"import_from_json": "Tuo JSON-tiedostosta",
|
"import_from_json": "Tuo JSON-tiedostosta",
|
||||||
"import_path": "Tuontipolku",
|
"import_path": "Tuontipolku",
|
||||||
"in_albums": "{count, plural, one {# Albumissa} other {# albumissa}}",
|
"in_albums": "{count, plural, one {# albumissa} other {# albumissa}}",
|
||||||
"in_archive": "Arkistossa",
|
"in_archive": "Arkistossa",
|
||||||
"include_archived": "Sisällytä arkistoidut",
|
"include_archived": "Sisällytä arkistoidut",
|
||||||
"include_shared_albums": "Sisällytä jaetut albumit",
|
"include_shared_albums": "Sisällytä jaetut albumit",
|
||||||
|
|
@ -1167,10 +1179,10 @@
|
||||||
"individual_shares": "Yksittäiset jaot",
|
"individual_shares": "Yksittäiset jaot",
|
||||||
"info": "Lisätietoja",
|
"info": "Lisätietoja",
|
||||||
"interval": {
|
"interval": {
|
||||||
"day_at_onepm": "Joka päivä klo 13:00",
|
"day_at_onepm": "Joka päivä klo 13.00",
|
||||||
"hours": "Joka {hours, plural, one {tunti} other {{hours, number} tuntia}}",
|
"hours": "Joka {hours, plural, one {tunti} other {{hours, number} tuntia}}",
|
||||||
"night_at_midnight": "Joka yö keskiyöllä",
|
"night_at_midnight": "Joka yö keskiyöllä",
|
||||||
"night_at_twoam": "Joka yö klo 02:00"
|
"night_at_twoam": "Joka yö klo 2.00"
|
||||||
},
|
},
|
||||||
"invalid_date": "Virheellinen päivämäärä",
|
"invalid_date": "Virheellinen päivämäärä",
|
||||||
"invalid_date_format": "Virheellinen päivämäärämuoto",
|
"invalid_date_format": "Virheellinen päivämäärämuoto",
|
||||||
|
|
@ -1225,6 +1237,7 @@
|
||||||
"local": "Paikallinen",
|
"local": "Paikallinen",
|
||||||
"local_asset_cast_failed": "Kohdetta, joka ei ole ladattuna palvelimelle, ei voida striimata",
|
"local_asset_cast_failed": "Kohdetta, joka ei ole ladattuna palvelimelle, ei voida striimata",
|
||||||
"local_assets": "Paikalliset kohteet",
|
"local_assets": "Paikalliset kohteet",
|
||||||
|
"local_media_summary": "Paikallisen median yhteenveto",
|
||||||
"local_network": "Lähiverkko",
|
"local_network": "Lähiverkko",
|
||||||
"local_network_sheet_info": "Sovellus muodostaa yhteyden palvelimeen tämän URL-osoitteen kautta, kun käytetään määritettyä Wi-Fi-verkkoa",
|
"local_network_sheet_info": "Sovellus muodostaa yhteyden palvelimeen tämän URL-osoitteen kautta, kun käytetään määritettyä Wi-Fi-verkkoa",
|
||||||
"location_permission": "Sijainnin käyttöoikeus",
|
"location_permission": "Sijainnin käyttöoikeus",
|
||||||
|
|
@ -1236,6 +1249,7 @@
|
||||||
"location_picker_longitude_hint": "Syötä pituusaste",
|
"location_picker_longitude_hint": "Syötä pituusaste",
|
||||||
"lock": "Lukitse",
|
"lock": "Lukitse",
|
||||||
"locked_folder": "Lukittu kansio",
|
"locked_folder": "Lukittu kansio",
|
||||||
|
"log_detail_title": "Lokin yksityiskohtaisuus",
|
||||||
"log_out": "Kirjaudu ulos",
|
"log_out": "Kirjaudu ulos",
|
||||||
"log_out_all_devices": "Kirjaudu ulos kaikilta laitteilta",
|
"log_out_all_devices": "Kirjaudu ulos kaikilta laitteilta",
|
||||||
"logged_in_as": "Kirjautunut käyttäjänä {user}",
|
"logged_in_as": "Kirjautunut käyttäjänä {user}",
|
||||||
|
|
@ -1266,6 +1280,7 @@
|
||||||
"login_password_changed_success": "Salasan päivitetty onnistuneesti",
|
"login_password_changed_success": "Salasan päivitetty onnistuneesti",
|
||||||
"logout_all_device_confirmation": "Haluatko varmasti kirjautua ulos kaikilta laitteilta?",
|
"logout_all_device_confirmation": "Haluatko varmasti kirjautua ulos kaikilta laitteilta?",
|
||||||
"logout_this_device_confirmation": "Haluatko varmasti kirjautua ulos näiltä laitteilta?",
|
"logout_this_device_confirmation": "Haluatko varmasti kirjautua ulos näiltä laitteilta?",
|
||||||
|
"logs": "Loki",
|
||||||
"longitude": "Pituusaste",
|
"longitude": "Pituusaste",
|
||||||
"look": "Tyyli",
|
"look": "Tyyli",
|
||||||
"loop_videos": "Toista videot uudelleen",
|
"loop_videos": "Toista videot uudelleen",
|
||||||
|
|
@ -1273,6 +1288,7 @@
|
||||||
"main_branch_warning": "Käytät kehitysversiota; suosittelemme vahvasti käyttämään julkaisuversiota!",
|
"main_branch_warning": "Käytät kehitysversiota; suosittelemme vahvasti käyttämään julkaisuversiota!",
|
||||||
"main_menu": "Päävalikko",
|
"main_menu": "Päävalikko",
|
||||||
"make": "Valmistaja",
|
"make": "Valmistaja",
|
||||||
|
"manage_geolocation": "Muokkaa sijaintia",
|
||||||
"manage_shared_links": "Hallitse jaettuja linkkejä",
|
"manage_shared_links": "Hallitse jaettuja linkkejä",
|
||||||
"manage_sharing_with_partners": "Hallitse jakamista kumppaneille",
|
"manage_sharing_with_partners": "Hallitse jakamista kumppaneille",
|
||||||
"manage_the_app_settings": "Hallitse sovelluksen asetuksia",
|
"manage_the_app_settings": "Hallitse sovelluksen asetuksia",
|
||||||
|
|
@ -1307,6 +1323,7 @@
|
||||||
"mark_as_read": "Merkitse luetuksi",
|
"mark_as_read": "Merkitse luetuksi",
|
||||||
"marked_all_as_read": "Merkitty kaikki luetuiksi",
|
"marked_all_as_read": "Merkitty kaikki luetuiksi",
|
||||||
"matches": "Osumia",
|
"matches": "Osumia",
|
||||||
|
"matching_assets": "Vastaava sisältö",
|
||||||
"media_type": "Median tyyppi",
|
"media_type": "Median tyyppi",
|
||||||
"memories": "Muistoja",
|
"memories": "Muistoja",
|
||||||
"memories_all_caught_up": "Kaikki ajan tasalla",
|
"memories_all_caught_up": "Kaikki ajan tasalla",
|
||||||
|
|
@ -1340,13 +1357,14 @@
|
||||||
"moved_to_library": "Siirretty {count, plural, one {# kohde} other {# kohdetta}} kirjastoon",
|
"moved_to_library": "Siirretty {count, plural, one {# kohde} other {# kohdetta}} kirjastoon",
|
||||||
"moved_to_trash": "Siirretty roskakoriin",
|
"moved_to_trash": "Siirretty roskakoriin",
|
||||||
"multiselect_grid_edit_date_time_err_read_only": "Vain luku -tilassa olevien kohteiden päivämäärää ei voitu muokata, ohitetaan",
|
"multiselect_grid_edit_date_time_err_read_only": "Vain luku -tilassa olevien kohteiden päivämäärää ei voitu muokata, ohitetaan",
|
||||||
"multiselect_grid_edit_gps_err_read_only": "Vain luku-tilassa olevien kohteiden sijantitietoja ei voitu muokata, ohitetaan",
|
"multiselect_grid_edit_gps_err_read_only": "Vain luku -tilassa olevien kohteiden sijantitietoja ei voitu muokata, ohitetaan",
|
||||||
"mute_memories": "Mykistä muistot",
|
"mute_memories": "Mykistä muistot",
|
||||||
"my_albums": "Omat albumit",
|
"my_albums": "Omat albumit",
|
||||||
"name": "Nimi",
|
"name": "Nimi",
|
||||||
"name_or_nickname": "Nimi tai lempinimi",
|
"name_or_nickname": "Nimi tai lempinimi",
|
||||||
"network_requirement_photos_upload": "Käytä mobiiliverkkoa kuvien varmuuskopioimiseksi",
|
"network_requirement_photos_upload": "Käytä mobiiliverkkoa kuvien varmuuskopioimiseksi",
|
||||||
"network_requirement_videos_upload": "Käytä mobiiliverkkoa videoiden varmuuskopioimiseksi",
|
"network_requirement_videos_upload": "Käytä mobiiliverkkoa videoiden varmuuskopioimiseksi",
|
||||||
|
"network_requirements": "Verkkovaatimukset",
|
||||||
"network_requirements_updated": "Verkkovaatimukset muuttuivat, nollataan varmuuskopiointijono",
|
"network_requirements_updated": "Verkkovaatimukset muuttuivat, nollataan varmuuskopiointijono",
|
||||||
"networking_settings": "Verkko",
|
"networking_settings": "Verkko",
|
||||||
"networking_subtitle": "Hallitse palvelinasetuksia",
|
"networking_subtitle": "Hallitse palvelinasetuksia",
|
||||||
|
|
@ -1357,6 +1375,7 @@
|
||||||
"new_person": "Uusi henkilö",
|
"new_person": "Uusi henkilö",
|
||||||
"new_pin_code": "Uusi PIN-koodi",
|
"new_pin_code": "Uusi PIN-koodi",
|
||||||
"new_pin_code_subtitle": "Tämä on ensimmäinen kerta, kun käytät lukittua kansiota. Luo PIN-koodi päästäksesi tähän sisältöön turvallisesti",
|
"new_pin_code_subtitle": "Tämä on ensimmäinen kerta, kun käytät lukittua kansiota. Luo PIN-koodi päästäksesi tähän sisältöön turvallisesti",
|
||||||
|
"new_timeline": "Uusi aikajana",
|
||||||
"new_user_created": "Uusi käyttäjä lisätty",
|
"new_user_created": "Uusi käyttäjä lisätty",
|
||||||
"new_version_available": "UUSI VERSIO SAATAVILLA",
|
"new_version_available": "UUSI VERSIO SAATAVILLA",
|
||||||
"newest_first": "Uusin ensin",
|
"newest_first": "Uusin ensin",
|
||||||
|
|
@ -1367,23 +1386,28 @@
|
||||||
"no_albums_with_name_yet": "Näyttää siltä, ettei sinulla ole yhtään tämän nimistä albumia.",
|
"no_albums_with_name_yet": "Näyttää siltä, ettei sinulla ole yhtään tämän nimistä albumia.",
|
||||||
"no_albums_yet": "Näyttää siltä, ettei sinulla ole vielä yhtään albumia.",
|
"no_albums_yet": "Näyttää siltä, ettei sinulla ole vielä yhtään albumia.",
|
||||||
"no_archived_assets_message": "Arkistoi kuvia ja videoita piilottaaksesi ne kuvat näkymästä",
|
"no_archived_assets_message": "Arkistoi kuvia ja videoita piilottaaksesi ne kuvat näkymästä",
|
||||||
"no_assets_message": "NAPAUTA LATAAKSESI ENSIMMÄISEN KUVASI",
|
"no_assets_message": "NAPAUTA LADATAKSESI ENSIMMÄINEN KUVASI",
|
||||||
"no_assets_to_show": "Ei näytettäviä kohteita",
|
"no_assets_to_show": "Ei näytettäviä kohteita",
|
||||||
"no_cast_devices_found": "Cast-laitteita ei löytynyt",
|
"no_cast_devices_found": "Cast-laitteita ei löytynyt",
|
||||||
|
"no_checksum_local": "Ei tarkistussummaa - paikallista sisältöä ei voida hakea",
|
||||||
|
"no_checksum_remote": "Ei tarkistussummaa - etänä olevaa sisältöä ei voida hakea",
|
||||||
"no_duplicates_found": "Kaksoiskappaleita ei löytynyt.",
|
"no_duplicates_found": "Kaksoiskappaleita ei löytynyt.",
|
||||||
"no_exif_info_available": "EXIF-tietoa ei saatavilla",
|
"no_exif_info_available": "EXIF-tietoa ei saatavilla",
|
||||||
"no_explore_results_message": "Lataa lisää kuvia tutkiaksesi kokoelmaasi.",
|
"no_explore_results_message": "Lataa lisää kuvia tutkiaksesi kokoelmaasi.",
|
||||||
"no_favorites_message": "Lisää suosikkeja löytääksesi nopeasti parhaat kuvasi ja videosi",
|
"no_favorites_message": "Lisää suosikkeja löytääksesi nopeasti parhaat kuvasi ja videosi",
|
||||||
"no_libraries_message": "Luo ulkoinen kirjasto nähdäksesi valokuvasi ja videot",
|
"no_libraries_message": "Luo ulkoinen kirjasto nähdäksesi valokuvasi ja videot",
|
||||||
|
"no_local_assets_found": "Paikallista sisältöä ei löytynyt tällä tarkistussummalla",
|
||||||
"no_locked_photos_message": "Kuvat ja videot lukitussa kansiossa ovat piilotettuja, eivätkä ne näy selatessasi tai etsiessäsi kirjastoasi.",
|
"no_locked_photos_message": "Kuvat ja videot lukitussa kansiossa ovat piilotettuja, eivätkä ne näy selatessasi tai etsiessäsi kirjastoasi.",
|
||||||
"no_name": "Ei nimeä",
|
"no_name": "Ei nimeä",
|
||||||
"no_notifications": "Ei ilmoituksia",
|
"no_notifications": "Ei ilmoituksia",
|
||||||
"no_people_found": "Ei vastaavia henkilöitä",
|
"no_people_found": "Ei vastaavia henkilöitä",
|
||||||
"no_places": "Ei paikkoja",
|
"no_places": "Ei paikkoja",
|
||||||
|
"no_remote_assets_found": "Etänä olevaa sisältöä ei löytynyt tällä tarkistussummalla",
|
||||||
"no_results": "Ei tuloksia",
|
"no_results": "Ei tuloksia",
|
||||||
"no_results_description": "Kokeile synonyymiä tai yleisempää avainsanaa",
|
"no_results_description": "Kokeile synonyymiä tai yleisempää avainsanaa",
|
||||||
"no_shared_albums_message": "Luo albumi, jotta voit jakaa kuvia ja videoita toisille",
|
"no_shared_albums_message": "Luo albumi, jotta voit jakaa kuvia ja videoita toisille",
|
||||||
"no_uploads_in_progress": "Ei käynnissä olevia latauksia",
|
"no_uploads_in_progress": "Ei käynnissä olevia latauksia",
|
||||||
|
"not_available": "N/A",
|
||||||
"not_in_any_album": "Ei yhdessäkään albumissa",
|
"not_in_any_album": "Ei yhdessäkään albumissa",
|
||||||
"not_selected": "Ei valittu",
|
"not_selected": "Ei valittu",
|
||||||
"note_apply_storage_label_to_previously_uploaded assets": "Huom: Jotta voit soveltaa tallennustunnistetta aiemmin ladattuihin kohteisiin, suorita",
|
"note_apply_storage_label_to_previously_uploaded assets": "Huom: Jotta voit soveltaa tallennustunnistetta aiemmin ladattuihin kohteisiin, suorita",
|
||||||
|
|
@ -1418,6 +1442,8 @@
|
||||||
"open_the_search_filters": "Avaa hakusuodattimet",
|
"open_the_search_filters": "Avaa hakusuodattimet",
|
||||||
"options": "Vaihtoehdot",
|
"options": "Vaihtoehdot",
|
||||||
"or": "tai",
|
"or": "tai",
|
||||||
|
"organize_into_albums": "Järjestä albumeihin",
|
||||||
|
"organize_into_albums_description": "Siirrä olemassa olevat kuvat albumeihin käyttäen nykyisiä synkronointiasetuksia",
|
||||||
"organize_your_library": "Järjestele kirjastosi",
|
"organize_your_library": "Järjestele kirjastosi",
|
||||||
"original": "alkuperäinen",
|
"original": "alkuperäinen",
|
||||||
"other": "Muut",
|
"other": "Muut",
|
||||||
|
|
@ -1463,7 +1489,7 @@
|
||||||
"permanent_deletion_warning_setting_description": "Näytä varoitus, kun poistat kohteita pysyvästi",
|
"permanent_deletion_warning_setting_description": "Näytä varoitus, kun poistat kohteita pysyvästi",
|
||||||
"permanently_delete": "Poista pysyvästi",
|
"permanently_delete": "Poista pysyvästi",
|
||||||
"permanently_delete_assets_count": "Poista pysyvästi {count, plural, one {kohde} other {kohteita}}",
|
"permanently_delete_assets_count": "Poista pysyvästi {count, plural, one {kohde} other {kohteita}}",
|
||||||
"permanently_delete_assets_prompt": "Haluatko varmasti poistaa pysyvästi {count, plural, one {tämän kohteen?} other {nämä <b>#</b> kohteet?}} Tämä poistaa myös {count, plural, one {sen} other {ne}} kaikista albumeista.",
|
"permanently_delete_assets_prompt": "Haluatko varmasti poistaa pysyvästi {count, plural, one {tämän kohteen?} other {nämä <b>#</b> kohteet?}} Tämä poistaa {count, plural, one {sen} other {ne}} myös kaikista albumeista.",
|
||||||
"permanently_deleted_asset": "Media poistettu pysyvästi",
|
"permanently_deleted_asset": "Media poistettu pysyvästi",
|
||||||
"permanently_deleted_assets_count": "{count, plural, one {# media} other {# mediaa}} poistettu pysyvästi",
|
"permanently_deleted_assets_count": "{count, plural, one {# media} other {# mediaa}} poistettu pysyvästi",
|
||||||
"permission": "Käyttöoikeus",
|
"permission": "Käyttöoikeus",
|
||||||
|
|
@ -1503,6 +1529,7 @@
|
||||||
"port": "Portti",
|
"port": "Portti",
|
||||||
"preferences_settings_subtitle": "Hallitse sovelluksen asetuksia",
|
"preferences_settings_subtitle": "Hallitse sovelluksen asetuksia",
|
||||||
"preferences_settings_title": "Asetukset",
|
"preferences_settings_title": "Asetukset",
|
||||||
|
"preparing": "Valmistellaan",
|
||||||
"preset": "Asetus",
|
"preset": "Asetus",
|
||||||
"preview": "Esikatselu",
|
"preview": "Esikatselu",
|
||||||
"previous": "Edellinen",
|
"previous": "Edellinen",
|
||||||
|
|
@ -1519,6 +1546,7 @@
|
||||||
"profile_drawer_client_out_of_date_minor": "Sovelluksen mobiiliversio on vanhentunut. Päivitä viimeisimpään versioon.",
|
"profile_drawer_client_out_of_date_minor": "Sovelluksen mobiiliversio on vanhentunut. Päivitä viimeisimpään versioon.",
|
||||||
"profile_drawer_client_server_up_to_date": "Asiakasohjelma ja palvelin ovat ajan tasalla",
|
"profile_drawer_client_server_up_to_date": "Asiakasohjelma ja palvelin ovat ajan tasalla",
|
||||||
"profile_drawer_github": "GitHub",
|
"profile_drawer_github": "GitHub",
|
||||||
|
"profile_drawer_readonly_mode": "Muokkaus on estetty. Paina käyttäjäkuvaketta pitkään palataksesi muokkaustilaan.",
|
||||||
"profile_drawer_server_out_of_date_major": "Palvelimen ohjelmistoversio on vanhentunut. Päivitä viimeisimpään merkittävään versioon.",
|
"profile_drawer_server_out_of_date_major": "Palvelimen ohjelmistoversio on vanhentunut. Päivitä viimeisimpään merkittävään versioon.",
|
||||||
"profile_drawer_server_out_of_date_minor": "Palvelimen ohjelmistoversio on vanhentunut. Päivitä viimeisimpään versioon.",
|
"profile_drawer_server_out_of_date_minor": "Palvelimen ohjelmistoversio on vanhentunut. Päivitä viimeisimpään versioon.",
|
||||||
"profile_image_of_user": "Käyttäjän {user} profiilikuva",
|
"profile_image_of_user": "Käyttäjän {user} profiilikuva",
|
||||||
|
|
@ -1557,6 +1585,7 @@
|
||||||
"purchase_server_description_2": "Tukijan tila",
|
"purchase_server_description_2": "Tukijan tila",
|
||||||
"purchase_server_title": "Palvelin",
|
"purchase_server_title": "Palvelin",
|
||||||
"purchase_settings_server_activated": "Palvelimen tuoteavainta hallinnoi ylläpitäjä",
|
"purchase_settings_server_activated": "Palvelimen tuoteavainta hallinnoi ylläpitäjä",
|
||||||
|
"query_asset_id": "Kysy sisällön ID:tä",
|
||||||
"queue_status": "Jonossa {count}/{total}",
|
"queue_status": "Jonossa {count}/{total}",
|
||||||
"rating": "Tähtiarvostelu",
|
"rating": "Tähtiarvostelu",
|
||||||
"rating_clear": "Tyhjennä arvostelu",
|
"rating_clear": "Tyhjennä arvostelu",
|
||||||
|
|
@ -1564,6 +1593,9 @@
|
||||||
"rating_description": "Näytä EXIF-arvosana lisätietopaneelissa",
|
"rating_description": "Näytä EXIF-arvosana lisätietopaneelissa",
|
||||||
"reaction_options": "Reaktioasetukset",
|
"reaction_options": "Reaktioasetukset",
|
||||||
"read_changelog": "Lue muutosloki",
|
"read_changelog": "Lue muutosloki",
|
||||||
|
"readonly_mode_disabled": "Muokkaustila päällä",
|
||||||
|
"readonly_mode_enabled": "Muokkaustila pois päältä",
|
||||||
|
"ready_for_upload": "Valmis lähetystä varten",
|
||||||
"reassign": "Määritä uudelleen",
|
"reassign": "Määritä uudelleen",
|
||||||
"reassigned_assets_to_existing_person": "Uudelleen määritetty {count, plural, one {# kohde} other {# kohdetta}} {name, select, null {olemassa olevalle henkilölle} other {{name}}}",
|
"reassigned_assets_to_existing_person": "Uudelleen määritetty {count, plural, one {# kohde} other {# kohdetta}} {name, select, null {olemassa olevalle henkilölle} other {{name}}}",
|
||||||
"reassigned_assets_to_new_person": "Määritetty {count, plural, one {# media} other {# mediaa}} uudelle henkilölle",
|
"reassigned_assets_to_new_person": "Määritetty {count, plural, one {# media} other {# mediaa}} uudelle henkilölle",
|
||||||
|
|
@ -1588,6 +1620,7 @@
|
||||||
"regenerating_thumbnails": "Regeneroidaan pikkukuvia",
|
"regenerating_thumbnails": "Regeneroidaan pikkukuvia",
|
||||||
"remote": "Etä",
|
"remote": "Etä",
|
||||||
"remote_assets": "Etäkohteet",
|
"remote_assets": "Etäkohteet",
|
||||||
|
"remote_media_summary": "Yhteenveto etänä olevasta mediasta",
|
||||||
"remove": "Poista",
|
"remove": "Poista",
|
||||||
"remove_assets_album_confirmation": "Haluatko varmasti poistaa {count, plural, one {# median} other {# mediaa}} albumista?",
|
"remove_assets_album_confirmation": "Haluatko varmasti poistaa {count, plural, one {# median} other {# mediaa}} albumista?",
|
||||||
"remove_assets_shared_link_confirmation": "Haluatko varmasti poistaa {count, plural, one {# median} other {# mediaa}} tästä jakolinkistä?",
|
"remove_assets_shared_link_confirmation": "Haluatko varmasti poistaa {count, plural, one {# median} other {# mediaa}} tästä jakolinkistä?",
|
||||||
|
|
@ -1640,6 +1673,7 @@
|
||||||
"restore_user": "Palauta käyttäjä",
|
"restore_user": "Palauta käyttäjä",
|
||||||
"restored_asset": "Palautettu media",
|
"restored_asset": "Palautettu media",
|
||||||
"resume": "Jatka",
|
"resume": "Jatka",
|
||||||
|
"resume_paused_jobs": "Jatka {count, plural, one {# paused job} other {# paused jobs}}",
|
||||||
"retry_upload": "Yritä latausta uudelleen",
|
"retry_upload": "Yritä latausta uudelleen",
|
||||||
"review_duplicates": "Tarkastele kaksoiskappaleita",
|
"review_duplicates": "Tarkastele kaksoiskappaleita",
|
||||||
"review_large_files": "Tarkista suuret tiedostot",
|
"review_large_files": "Tarkista suuret tiedostot",
|
||||||
|
|
@ -1704,7 +1738,7 @@
|
||||||
"search_places": "Etsi paikkoja",
|
"search_places": "Etsi paikkoja",
|
||||||
"search_rating": "Hae luokituksen mukaan...",
|
"search_rating": "Hae luokituksen mukaan...",
|
||||||
"search_result_page_new_search_hint": "Uusi haku",
|
"search_result_page_new_search_hint": "Uusi haku",
|
||||||
"search_settings": "Hakuasetukset",
|
"search_settings": "Etsi asetuksia",
|
||||||
"search_state": "Etsi maakuntaa...",
|
"search_state": "Etsi maakuntaa...",
|
||||||
"search_suggestion_list_smart_search_hint_1": "Älykäs haku on oletuksena käytössä. Käytä metatietojen etsimiseen syntaksia ",
|
"search_suggestion_list_smart_search_hint_1": "Älykäs haku on oletuksena käytössä. Käytä metatietojen etsimiseen syntaksia ",
|
||||||
"search_suggestion_list_smart_search_hint_2": "m:hakusana",
|
"search_suggestion_list_smart_search_hint_2": "m:hakusana",
|
||||||
|
|
@ -1716,7 +1750,7 @@
|
||||||
"second": "Toinen",
|
"second": "Toinen",
|
||||||
"see_all_people": "Näytä kaikki henkilöt",
|
"see_all_people": "Näytä kaikki henkilöt",
|
||||||
"select": "Valitse",
|
"select": "Valitse",
|
||||||
"select_album_cover": "Valitse albmin kansi",
|
"select_album_cover": "Valitse albumin kansi",
|
||||||
"select_all": "Valitse kaikki",
|
"select_all": "Valitse kaikki",
|
||||||
"select_all_duplicates": "Valitse kaikki kaksoiskappaleet",
|
"select_all_duplicates": "Valitse kaikki kaksoiskappaleet",
|
||||||
"select_all_in": "Valitse kaikki {group}",
|
"select_all_in": "Valitse kaikki {group}",
|
||||||
|
|
@ -1733,6 +1767,7 @@
|
||||||
"select_user_for_sharing_page_err_album": "Albumin luonti epäonnistui",
|
"select_user_for_sharing_page_err_album": "Albumin luonti epäonnistui",
|
||||||
"selected": "Valittu",
|
"selected": "Valittu",
|
||||||
"selected_count": "{count, plural, other {# valittu}}",
|
"selected_count": "{count, plural, other {# valittu}}",
|
||||||
|
"selected_gps_coordinates": "Valitut GPS-koordinaatit",
|
||||||
"send_message": "Lähetä viesti",
|
"send_message": "Lähetä viesti",
|
||||||
"send_welcome_email": "Lähetä tervetuloviesti",
|
"send_welcome_email": "Lähetä tervetuloviesti",
|
||||||
"server_endpoint": "Palvelinosoite",
|
"server_endpoint": "Palvelinosoite",
|
||||||
|
|
@ -1774,7 +1809,7 @@
|
||||||
"setting_video_viewer_original_video_subtitle": "Kun toistat videota palvelimelta, toista alkuperäinen, vaikka transkoodattu versio olisi saatavilla. Tämä voi johtaa puskurointiin. Paikalliset videot toistetaan aina alkuperäislaadulla.",
|
"setting_video_viewer_original_video_subtitle": "Kun toistat videota palvelimelta, toista alkuperäinen, vaikka transkoodattu versio olisi saatavilla. Tämä voi johtaa puskurointiin. Paikalliset videot toistetaan aina alkuperäislaadulla.",
|
||||||
"setting_video_viewer_original_video_title": "Pakota alkuperäinen video",
|
"setting_video_viewer_original_video_title": "Pakota alkuperäinen video",
|
||||||
"settings": "Asetukset",
|
"settings": "Asetukset",
|
||||||
"settings_require_restart": "Käynnistä Immich uudelleen ottaaksesti tämän asetuksen käyttöön",
|
"settings_require_restart": "Käynnistä Immich uudelleen ottaaksesi tämä asetus käyttöön",
|
||||||
"settings_saved": "Asetukset tallennettu",
|
"settings_saved": "Asetukset tallennettu",
|
||||||
"setup_pin_code": "Määritä PIN-koodi",
|
"setup_pin_code": "Määritä PIN-koodi",
|
||||||
"share": "Jaa",
|
"share": "Jaa",
|
||||||
|
|
@ -1840,7 +1875,7 @@
|
||||||
"sharing_sidebar_description": "Näytä jakamislinkki sivupalkissa",
|
"sharing_sidebar_description": "Näytä jakamislinkki sivupalkissa",
|
||||||
"sharing_silver_appbar_create_shared_album": "Luo jaettu albumi",
|
"sharing_silver_appbar_create_shared_album": "Luo jaettu albumi",
|
||||||
"sharing_silver_appbar_share_partner": "Jaa kumppanille",
|
"sharing_silver_appbar_share_partner": "Jaa kumppanille",
|
||||||
"shift_to_permanent_delete": "Paina ⇧ poistaaksesi median pysyvästi",
|
"shift_to_permanent_delete": "Paina ⇧ poistaaksesi media pysyvästi",
|
||||||
"show_album_options": "Näytä albumin asetukset",
|
"show_album_options": "Näytä albumin asetukset",
|
||||||
"show_albums": "Näytä albumit",
|
"show_albums": "Näytä albumit",
|
||||||
"show_all_people": "Näytä kaikki henkilöt",
|
"show_all_people": "Näytä kaikki henkilöt",
|
||||||
|
|
@ -1861,6 +1896,7 @@
|
||||||
"show_slideshow_transition": "Näytä diaesitys siirtymä",
|
"show_slideshow_transition": "Näytä diaesitys siirtymä",
|
||||||
"show_supporter_badge": "Kannattajan merkki",
|
"show_supporter_badge": "Kannattajan merkki",
|
||||||
"show_supporter_badge_description": "Näytä kannattajan merkki",
|
"show_supporter_badge_description": "Näytä kannattajan merkki",
|
||||||
|
"show_text_search_menu": "Näytä tekstihakuvalikko",
|
||||||
"shuffle": "Sekoita",
|
"shuffle": "Sekoita",
|
||||||
"sidebar": "Sivupalkki",
|
"sidebar": "Sivupalkki",
|
||||||
"sidebar_display_description": "Näytä linkki näkymään sivupalkissa",
|
"sidebar_display_description": "Näytä linkki näkymään sivupalkissa",
|
||||||
|
|
@ -1891,6 +1927,7 @@
|
||||||
"stacktrace": "Vianetsintätiedot",
|
"stacktrace": "Vianetsintätiedot",
|
||||||
"start": "Aloita",
|
"start": "Aloita",
|
||||||
"start_date": "Alkupäivä",
|
"start_date": "Alkupäivä",
|
||||||
|
"start_date_before_end_date": "Aloituspäivämäärän pitää olla ennen lopetuspäivämäärää",
|
||||||
"state": "Maakunta",
|
"state": "Maakunta",
|
||||||
"status": "Tila",
|
"status": "Tila",
|
||||||
"stop_casting": "Lopeta suoratoisto",
|
"stop_casting": "Lopeta suoratoisto",
|
||||||
|
|
@ -1915,6 +1952,8 @@
|
||||||
"sync_albums_manual_subtitle": "Synkronoi kaikki ladatut videot ja valokuvat valittuihin varmuuskopioalbumeihin",
|
"sync_albums_manual_subtitle": "Synkronoi kaikki ladatut videot ja valokuvat valittuihin varmuuskopioalbumeihin",
|
||||||
"sync_local": "Synkronoi paikallinen",
|
"sync_local": "Synkronoi paikallinen",
|
||||||
"sync_remote": "Synkronoi etä",
|
"sync_remote": "Synkronoi etä",
|
||||||
|
"sync_status": "Synkronoinnin status",
|
||||||
|
"sync_status_subtitle": "Näytä ja hallinnoi synkronointijärjestelmää",
|
||||||
"sync_upload_album_setting_subtitle": "Luo ja lataa valokuvasi ja videosi valittuihin albumeihin Immichissä",
|
"sync_upload_album_setting_subtitle": "Luo ja lataa valokuvasi ja videosi valittuihin albumeihin Immichissä",
|
||||||
"tag": "Tunniste",
|
"tag": "Tunniste",
|
||||||
"tag_assets": "Lisää tunnisteita",
|
"tag_assets": "Lisää tunnisteita",
|
||||||
|
|
@ -1952,7 +1991,9 @@
|
||||||
"to_change_password": "Vaihda salasana",
|
"to_change_password": "Vaihda salasana",
|
||||||
"to_favorite": "Aseta suosikiksi",
|
"to_favorite": "Aseta suosikiksi",
|
||||||
"to_login": "Kirjaudu sisään",
|
"to_login": "Kirjaudu sisään",
|
||||||
|
"to_multi_select": "usean valitsemiseksi",
|
||||||
"to_parent": "Siirry vanhempaan",
|
"to_parent": "Siirry vanhempaan",
|
||||||
|
"to_select": "valitsemiseksi",
|
||||||
"to_trash": "Roskakoriin",
|
"to_trash": "Roskakoriin",
|
||||||
"toggle_settings": "Määritä asetukset",
|
"toggle_settings": "Määritä asetukset",
|
||||||
"total": "Yhteensä",
|
"total": "Yhteensä",
|
||||||
|
|
@ -1960,7 +2001,7 @@
|
||||||
"trash": "Roskakori",
|
"trash": "Roskakori",
|
||||||
"trash_action_prompt": "{count} siirretty roskakoriin",
|
"trash_action_prompt": "{count} siirretty roskakoriin",
|
||||||
"trash_all": "Vie kaikki roskakoriin",
|
"trash_all": "Vie kaikki roskakoriin",
|
||||||
"trash_count": "Roskakori {count, number}",
|
"trash_count": "Vie {count, number} roskakoriin",
|
||||||
"trash_delete_asset": "Poista / vie roskakoriin",
|
"trash_delete_asset": "Poista / vie roskakoriin",
|
||||||
"trash_emptied": "Roskakori tyhjennetty",
|
"trash_emptied": "Roskakori tyhjennetty",
|
||||||
"trash_no_results_message": "Roskakorissa olevat kuvat ja videot näytetään täällä.",
|
"trash_no_results_message": "Roskakorissa olevat kuvat ja videot näytetään täällä.",
|
||||||
|
|
@ -1972,6 +2013,7 @@
|
||||||
"trash_page_select_assets_btn": "Valitse kohteet",
|
"trash_page_select_assets_btn": "Valitse kohteet",
|
||||||
"trash_page_title": "Roskakori ({count})",
|
"trash_page_title": "Roskakori ({count})",
|
||||||
"trashed_items_will_be_permanently_deleted_after": "Roskakorin kohteet poistetaan pysyvästi {days, plural, one {# päivän} other {# päivän}} päästä.",
|
"trashed_items_will_be_permanently_deleted_after": "Roskakorin kohteet poistetaan pysyvästi {days, plural, one {# päivän} other {# päivän}} päästä.",
|
||||||
|
"troubleshoot": "Vianetsintä",
|
||||||
"type": "Tyyppi",
|
"type": "Tyyppi",
|
||||||
"unable_to_change_pin_code": "PIN-koodin vaihtaminen epäonnistui",
|
"unable_to_change_pin_code": "PIN-koodin vaihtaminen epäonnistui",
|
||||||
"unable_to_setup_pin_code": "PIN-koodin määrittäminen epäonnistui",
|
"unable_to_setup_pin_code": "PIN-koodin määrittäminen epäonnistui",
|
||||||
|
|
@ -2002,6 +2044,7 @@
|
||||||
"unstacked_assets_count": "Poistettu pinosta {count, plural, one {# kohde} other {# kohdetta}}",
|
"unstacked_assets_count": "Poistettu pinosta {count, plural, one {# kohde} other {# kohdetta}}",
|
||||||
"untagged": "Ilman tunnistetta",
|
"untagged": "Ilman tunnistetta",
|
||||||
"up_next": "Seuraavaksi",
|
"up_next": "Seuraavaksi",
|
||||||
|
"update_location_action_prompt": "Päivitä {count} kohteen sijaintia:",
|
||||||
"updated_at": "Päivitetty",
|
"updated_at": "Päivitetty",
|
||||||
"updated_password": "Salasana päivitetty",
|
"updated_password": "Salasana päivitetty",
|
||||||
"upload": "Siirrä palvelimelle",
|
"upload": "Siirrä palvelimelle",
|
||||||
|
|
@ -2068,6 +2111,7 @@
|
||||||
"view_next_asset": "Näytä seuraava",
|
"view_next_asset": "Näytä seuraava",
|
||||||
"view_previous_asset": "Näytä edellinen",
|
"view_previous_asset": "Näytä edellinen",
|
||||||
"view_qr_code": "Näytä QR-koodi",
|
"view_qr_code": "Näytä QR-koodi",
|
||||||
|
"view_similar_photos": "Näytä samankaltaiset kuvat",
|
||||||
"view_stack": "Näytä pinona",
|
"view_stack": "Näytä pinona",
|
||||||
"view_user": "Näytä käyttäjä",
|
"view_user": "Näytä käyttäjä",
|
||||||
"viewer_remove_from_stack": "Poista pinosta",
|
"viewer_remove_from_stack": "Poista pinosta",
|
||||||
|
|
@ -2086,5 +2130,6 @@
|
||||||
"yes": "Kyllä",
|
"yes": "Kyllä",
|
||||||
"you_dont_have_any_shared_links": "Sinulla ei ole jaettuja linkkejä",
|
"you_dont_have_any_shared_links": "Sinulla ei ole jaettuja linkkejä",
|
||||||
"your_wifi_name": "Wi-Fi-verkkosi nimi",
|
"your_wifi_name": "Wi-Fi-verkkosi nimi",
|
||||||
"zoom_image": "Zoomaa kuvaa"
|
"zoom_image": "Zoomaa kuvaa",
|
||||||
|
"zoom_to_bounds": "Zoomaa reunoihin"
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -33,6 +33,7 @@
|
||||||
"add_to_albums": "Ajouter aux albums",
|
"add_to_albums": "Ajouter aux albums",
|
||||||
"add_to_albums_count": "Ajouter aux albums ({count})",
|
"add_to_albums_count": "Ajouter aux albums ({count})",
|
||||||
"add_to_shared_album": "Ajouter à l'album partagé",
|
"add_to_shared_album": "Ajouter à l'album partagé",
|
||||||
|
"add_upload_to_stack": "Ajouter les éléments téléversés à la pile",
|
||||||
"add_url": "Ajouter l'URL",
|
"add_url": "Ajouter l'URL",
|
||||||
"added_to_archive": "Ajouté à l'archive",
|
"added_to_archive": "Ajouté à l'archive",
|
||||||
"added_to_favorites": "Ajouté aux favoris",
|
"added_to_favorites": "Ajouté aux favoris",
|
||||||
|
|
@ -600,7 +601,7 @@
|
||||||
"backup_controller_page_uploading_file_info": "Envoi des informations du fichier",
|
"backup_controller_page_uploading_file_info": "Envoi des informations du fichier",
|
||||||
"backup_err_only_album": "Impossible de retirer le seul album",
|
"backup_err_only_album": "Impossible de retirer le seul album",
|
||||||
"backup_error_sync_failed": "Échec de la synchronisation. Impossible d'exécuter la sauvegarde.",
|
"backup_error_sync_failed": "Échec de la synchronisation. Impossible d'exécuter la sauvegarde.",
|
||||||
"backup_info_card_assets": "éléments",
|
"backup_info_card_assets": "médias",
|
||||||
"backup_manual_cancelled": "Annulé",
|
"backup_manual_cancelled": "Annulé",
|
||||||
"backup_manual_in_progress": "Envoi déjà en cours. Réessayez plus tard",
|
"backup_manual_in_progress": "Envoi déjà en cours. Réessayez plus tard",
|
||||||
"backup_manual_success": "Succès",
|
"backup_manual_success": "Succès",
|
||||||
|
|
|
||||||
635
i18n/gl.json
635
i18n/gl.json
File diff suppressed because it is too large
Load diff
18
i18n/he.json
18
i18n/he.json
|
|
@ -15,7 +15,7 @@
|
||||||
"add_a_name": "הוספת שם",
|
"add_a_name": "הוספת שם",
|
||||||
"add_a_title": "הוספת כותרת",
|
"add_a_title": "הוספת כותרת",
|
||||||
"add_birthday": "הוספת יום הולדת",
|
"add_birthday": "הוספת יום הולדת",
|
||||||
"add_endpoint": "הוסף נקודת קצה",
|
"add_endpoint": "הוסף כתובת URL",
|
||||||
"add_exclusion_pattern": "הוספת דפוס החרגה",
|
"add_exclusion_pattern": "הוספת דפוס החרגה",
|
||||||
"add_import_path": "הוספת נתיב יבוא",
|
"add_import_path": "הוספת נתיב יבוא",
|
||||||
"add_location": "הוספת מיקום",
|
"add_location": "הוספת מיקום",
|
||||||
|
|
@ -404,7 +404,7 @@
|
||||||
"advanced_settings_proxy_headers_title": "כותרות פרוקסי",
|
"advanced_settings_proxy_headers_title": "כותרות פרוקסי",
|
||||||
"advanced_settings_readonly_mode_subtitle": "מאפשר את מצב לקריאה בלבד בו התמונות ניתנות לצפייה בלבד, דברים כמו בחירת תמונות מרובות, שיתוף, שידור, מחיקה הם כולם מושבתים. אפשר/השבת מצב לקריאה בלבד באמצעות יצגן המשתמש מהמסך הראשי",
|
"advanced_settings_readonly_mode_subtitle": "מאפשר את מצב לקריאה בלבד בו התמונות ניתנות לצפייה בלבד, דברים כמו בחירת תמונות מרובות, שיתוף, שידור, מחיקה הם כולם מושבתים. אפשר/השבת מצב לקריאה בלבד באמצעות יצגן המשתמש מהמסך הראשי",
|
||||||
"advanced_settings_readonly_mode_title": "מצב לקריאה בלבד",
|
"advanced_settings_readonly_mode_title": "מצב לקריאה בלבד",
|
||||||
"advanced_settings_self_signed_ssl_subtitle": "מדלג על אימות תעודת SSL עבור נקודת הקצה של השרת. דרוש עבור תעודות בחתימה עצמית.",
|
"advanced_settings_self_signed_ssl_subtitle": "מדלג על אימות תעודת SSL עבור כתובת URL של השרת. דרוש עבור תעודות בחתימה עצמית.",
|
||||||
"advanced_settings_self_signed_ssl_title": "התר תעודות SSL בחתימה עצמית",
|
"advanced_settings_self_signed_ssl_title": "התר תעודות SSL בחתימה עצמית",
|
||||||
"advanced_settings_sync_remote_deletions_subtitle": "מחק או שחזר תמונה במכשיר זה באופן אוטומטי כאשר פעולה זו נעשית בדפדפן",
|
"advanced_settings_sync_remote_deletions_subtitle": "מחק או שחזר תמונה במכשיר זה באופן אוטומטי כאשר פעולה זו נעשית בדפדפן",
|
||||||
"advanced_settings_sync_remote_deletions_title": "סנכרן מחיקות שבוצעו במכשירים אחרים [נסיוני]",
|
"advanced_settings_sync_remote_deletions_title": "סנכרן מחיקות שבוצעו במכשירים אחרים [נסיוני]",
|
||||||
|
|
@ -592,7 +592,7 @@
|
||||||
"backup_controller_page_start_backup": "התחל גיבוי",
|
"backup_controller_page_start_backup": "התחל גיבוי",
|
||||||
"backup_controller_page_status_off": "גיבוי חזית אוטומטי כבוי",
|
"backup_controller_page_status_off": "גיבוי חזית אוטומטי כבוי",
|
||||||
"backup_controller_page_status_on": "גיבוי חזית אוטומטי מופעל",
|
"backup_controller_page_status_on": "גיבוי חזית אוטומטי מופעל",
|
||||||
"backup_controller_page_storage_format": "{used}מתוך {total} בשימוש",
|
"backup_controller_page_storage_format": "{used} מתוך {total} בשימוש",
|
||||||
"backup_controller_page_to_backup": "אלבומים לגבות",
|
"backup_controller_page_to_backup": "אלבומים לגבות",
|
||||||
"backup_controller_page_total_sub": "כל התמונות והסרטונים הייחודיים מאלבומים שנבחרו",
|
"backup_controller_page_total_sub": "כל התמונות והסרטונים הייחודיים מאלבומים שנבחרו",
|
||||||
"backup_controller_page_turn_off": "כיבוי גיבוי חזית",
|
"backup_controller_page_turn_off": "כיבוי גיבוי חזית",
|
||||||
|
|
@ -1261,7 +1261,7 @@
|
||||||
"login_form_back_button_text": "חזרה",
|
"login_form_back_button_text": "חזרה",
|
||||||
"login_form_email_hint": "yourmail@email.com",
|
"login_form_email_hint": "yourmail@email.com",
|
||||||
"login_form_endpoint_hint": "http://your-server-ip:port",
|
"login_form_endpoint_hint": "http://your-server-ip:port",
|
||||||
"login_form_endpoint_url": "כתובת נקודת קצה השרת",
|
"login_form_endpoint_url": "כתובת URL של השרת",
|
||||||
"login_form_err_http": "נא לציין //:http או //:https",
|
"login_form_err_http": "נא לציין //:http או //:https",
|
||||||
"login_form_err_invalid_email": "דוא\"ל שגוי",
|
"login_form_err_invalid_email": "דוא\"ל שגוי",
|
||||||
"login_form_err_invalid_url": "כתובת לא חוקית",
|
"login_form_err_invalid_url": "כתובת לא חוקית",
|
||||||
|
|
@ -1367,7 +1367,7 @@
|
||||||
"network_requirements": "דרישות רשת",
|
"network_requirements": "דרישות רשת",
|
||||||
"network_requirements_updated": "דרישות הרשת השתנו, תור הגיבוי אופס",
|
"network_requirements_updated": "דרישות הרשת השתנו, תור הגיבוי אופס",
|
||||||
"networking_settings": "רשת",
|
"networking_settings": "רשת",
|
||||||
"networking_subtitle": "ניהול הגדרות נקודת קצה שרת",
|
"networking_subtitle": "ניהול הגדרות כתובת URL של השרת",
|
||||||
"never": "אף פעם",
|
"never": "אף פעם",
|
||||||
"new_album": "אלבום חדש",
|
"new_album": "אלבום חדש",
|
||||||
"new_api_key": "מפתח API חדש",
|
"new_api_key": "מפתח API חדש",
|
||||||
|
|
@ -1770,7 +1770,7 @@
|
||||||
"selected_gps_coordinates": "קואורדינטות GPS שנבחרו",
|
"selected_gps_coordinates": "קואורדינטות GPS שנבחרו",
|
||||||
"send_message": "שלח הודעה",
|
"send_message": "שלח הודעה",
|
||||||
"send_welcome_email": "שלח דוא\"ל קבלת פנים",
|
"send_welcome_email": "שלח דוא\"ל קבלת פנים",
|
||||||
"server_endpoint": "נקודת קצה שרת",
|
"server_endpoint": "כתובת URL של השרת",
|
||||||
"server_info_box_app_version": "גרסת יישום",
|
"server_info_box_app_version": "גרסת יישום",
|
||||||
"server_info_box_server_url": "כתובת שרת",
|
"server_info_box_server_url": "כתובת שרת",
|
||||||
"server_offline": "השרת מנותק",
|
"server_offline": "השרת מנותק",
|
||||||
|
|
@ -1951,8 +1951,8 @@
|
||||||
"sync_albums": "סנכרן אלבומים",
|
"sync_albums": "סנכרן אלבומים",
|
||||||
"sync_albums_manual_subtitle": "סנכרן את כל הסרטונים והתמונות שהועלו לאלבומי הגיבוי שנבחרו",
|
"sync_albums_manual_subtitle": "סנכרן את כל הסרטונים והתמונות שהועלו לאלבומי הגיבוי שנבחרו",
|
||||||
"sync_local": "סנכרן מקומי",
|
"sync_local": "סנכרן מקומי",
|
||||||
"sync_remote": "סנכרן נקודת קצה מרוחקת",
|
"sync_remote": "סנכרן מהשרת",
|
||||||
"sync_status": "סנכרן מצב",
|
"sync_status": "סטטוס סנכרון",
|
||||||
"sync_status_subtitle": "הצג ונהל את מערכת הסנכרון",
|
"sync_status_subtitle": "הצג ונהל את מערכת הסנכרון",
|
||||||
"sync_upload_album_setting_subtitle": "צור והעלה תמונות וסרטונים שלך לאלבומים שנבחרו ביישום",
|
"sync_upload_album_setting_subtitle": "צור והעלה תמונות וסרטונים שלך לאלבומים שנבחרו ביישום",
|
||||||
"tag": "תג",
|
"tag": "תג",
|
||||||
|
|
@ -2087,7 +2087,7 @@
|
||||||
"users_added_to_album_count": "נוספו {count, plural, one {משתמש #} other {# משתמשים}} לאלבום",
|
"users_added_to_album_count": "נוספו {count, plural, one {משתמש #} other {# משתמשים}} לאלבום",
|
||||||
"utilities": "כלים",
|
"utilities": "כלים",
|
||||||
"validate": "לאמת",
|
"validate": "לאמת",
|
||||||
"validate_endpoint_error": "נא להזין כתובת תקנית",
|
"validate_endpoint_error": "נא להזין כתובת URL תקנית",
|
||||||
"variables": "משתנים",
|
"variables": "משתנים",
|
||||||
"version": "גרסה",
|
"version": "גרסה",
|
||||||
"version_announcement_closing": "החבר שלך, אלכס",
|
"version_announcement_closing": "החבר שלך, אלכס",
|
||||||
|
|
|
||||||
|
|
@ -28,6 +28,7 @@
|
||||||
"add_to_album": "एल्बम में डालें",
|
"add_to_album": "एल्बम में डालें",
|
||||||
"add_to_album_bottom_sheet_added": "{album} में डालें",
|
"add_to_album_bottom_sheet_added": "{album} में डालें",
|
||||||
"add_to_album_bottom_sheet_already_exists": "{album} में पहले से है",
|
"add_to_album_bottom_sheet_already_exists": "{album} में पहले से है",
|
||||||
|
"add_to_albums": "एकाधिक एल्बम में डाले",
|
||||||
"add_to_shared_album": "शेयर किए गए एल्बम में डालें",
|
"add_to_shared_album": "शेयर किए गए एल्बम में डालें",
|
||||||
"add_url": "URL डालें",
|
"add_url": "URL डालें",
|
||||||
"added_to_archive": "संग्रहीत कर दिया गया है",
|
"added_to_archive": "संग्रहीत कर दिया गया है",
|
||||||
|
|
|
||||||
189
i18n/hr.json
189
i18n/hr.json
|
|
@ -15,9 +15,9 @@
|
||||||
"add_a_name": "Dodaj ime",
|
"add_a_name": "Dodaj ime",
|
||||||
"add_a_title": "Dodaj naslov",
|
"add_a_title": "Dodaj naslov",
|
||||||
"add_birthday": "Dodaj rođendan",
|
"add_birthday": "Dodaj rođendan",
|
||||||
"add_endpoint": "Dodaj krajnju točnu",
|
"add_endpoint": "Dodaj krajnju točku",
|
||||||
"add_exclusion_pattern": "Dodaj uzorak izuzimanja",
|
"add_exclusion_pattern": "Dodaj uzorak izuzimanja",
|
||||||
"add_import_path": "Dodaj import folder",
|
"add_import_path": "Dodaj putanju uvoza",
|
||||||
"add_location": "Dodaj lokaciju",
|
"add_location": "Dodaj lokaciju",
|
||||||
"add_more_users": "Dodaj još korisnika",
|
"add_more_users": "Dodaj još korisnika",
|
||||||
"add_partner": "Dodaj partnera",
|
"add_partner": "Dodaj partnera",
|
||||||
|
|
@ -28,35 +28,37 @@
|
||||||
"add_to_album": "Dodaj u album",
|
"add_to_album": "Dodaj u album",
|
||||||
"add_to_album_bottom_sheet_added": "Dodano u {album}",
|
"add_to_album_bottom_sheet_added": "Dodano u {album}",
|
||||||
"add_to_album_bottom_sheet_already_exists": "Već u {album}",
|
"add_to_album_bottom_sheet_already_exists": "Već u {album}",
|
||||||
|
"add_to_album_bottom_sheet_some_local_assets": "Neke lokalne stavke nije moguće dodati u album",
|
||||||
"add_to_album_toggle": "Uključi/isključi odabir za {album}",
|
"add_to_album_toggle": "Uključi/isključi odabir za {album}",
|
||||||
"add_to_albums": "Dodaj u albume",
|
"add_to_albums": "Dodaj u albume",
|
||||||
"add_to_albums_count": "Dodaj u albume ({count})",
|
"add_to_albums_count": "Dodaj u albume ({count})",
|
||||||
"add_to_shared_album": "Dodaj u dijeljeni album",
|
"add_to_shared_album": "Dodaj u dijeljeni album",
|
||||||
|
"add_upload_to_stack": "Dodaj preneseno u skup",
|
||||||
"add_url": "Dodaj URL",
|
"add_url": "Dodaj URL",
|
||||||
"added_to_archive": "Dodano u arhivu",
|
"added_to_archive": "Dodano u arhivu",
|
||||||
"added_to_favorites": "Dodano u omiljeno",
|
"added_to_favorites": "Dodano u omiljeno",
|
||||||
"added_to_favorites_count": "Dodano {count, number} u omiljeno",
|
"added_to_favorites_count": "Dodano {count, number} u omiljeno",
|
||||||
"admin": {
|
"admin": {
|
||||||
"add_exclusion_pattern_description": "Dodajte uzorke izuzimanja. Globiranje pomoću *, ** i ? je podržano. Za ignoriranje svih datoteka u bilo kojem direktoriju pod nazivom \"Raw\", koristite \"**/Raw/**\". Da biste zanemarili sve datoteke koje završavaju na \".tif\", koristite \"**/*.tif\". Da biste zanemarili apsolutni put, koristite \"/path/to/ignore/**\".",
|
"add_exclusion_pattern_description": "Dodajte uzorke izuzimanja. Globiranje pomoću *, ** i ? je podržano. Za ignoriranje svih datoteka u bilo kojem direktoriju pod nazivom \"Raw\", koristite \"**/Raw/**\". Kako biste ignorirali sve datoteke koje završavaju na \".tif\", koristite \"**/*.tif\". Kako biste ignorirali apsolutnu putanju, koristite \"/putanja/za/ignoriranje/**\".",
|
||||||
"admin_user": "Administrator",
|
"admin_user": "Administrator",
|
||||||
"asset_offline_description": "Ovo sredstvo vanjske knjižnice više nije pronađeno na disku i premješteno je u smeće. Ako je datoteka premještena unutar biblioteke, provjerite svoju vremensku traku za novo odgovarajuće sredstvo. Da biste vratili ovo sredstvo, provjerite može li Immich pristupiti donjoj stazi datoteke i skenirajte biblioteku.",
|
"asset_offline_description": "Ova stavka vanjske biblioteke nije pronađena na disku i premještena je u smeće. Ako je datoteka premještena unutar biblioteke, provjerite svoju vremensku traku za novu odgovarajuću stavku. Da biste vratili ovu stavku, provjerite može li Immich pristupiti donjoj putanji datoteke i skenirajte biblioteku.",
|
||||||
"authentication_settings": "Postavke autentikacije",
|
"authentication_settings": "Postavke autentifikacije",
|
||||||
"authentication_settings_description": "Uredi lozinku, OAuth, i druge postavke autentikacije",
|
"authentication_settings_description": "Upravljajte lozinkom, OAuthom i drugim postavkama autentifikacije",
|
||||||
"authentication_settings_disable_all": "Jeste li sigurni da želite onemogućenit sve načine prijave? Prijava će biti potpuno onemogućena.",
|
"authentication_settings_disable_all": "Jeste li sigurni da želite onemogućiti sve načine prijave? Prijava će biti potpuno onemogućena.",
|
||||||
"authentication_settings_reenable": "Za ponovno uključivanje upotrijebite <link>naredbu poslužitelja</link>.",
|
"authentication_settings_reenable": "Za ponovno uključivanje upotrijebite <link>naredbu servera</link>.",
|
||||||
"background_task_job": "Pozadinski zadaci",
|
"background_task_job": "Pozadinski zadaci",
|
||||||
"backup_database": "Kreiraj sigurnosnu kopiju baze podataka",
|
"backup_database": "Kreiraj sigurnosnu kopiju baze podataka",
|
||||||
"backup_database_enable_description": "Omogućite sigurnosne kopije baze podataka",
|
"backup_database_enable_description": "Omogućite sigurnosne kopije baze podataka",
|
||||||
"backup_keep_last_amount": "Količina prethodnih sigurnosnih kopija za čuvanje",
|
"backup_keep_last_amount": "Količina prethodnih sigurnosnih kopija za čuvanje",
|
||||||
"backup_onboarding_1_description": "kopija izvan lokacije u oblaku ili na drugoj fizičkoj lokaciji.",
|
"backup_onboarding_1_description": "kopija izvan lokacije u oblaku ili na drugoj fizičkoj lokaciji.",
|
||||||
"backup_onboarding_2_description": "lokalne kopije na različitim uređajima. To uključuje glavne datoteke i sigurnosnu kopiju tih datoteka lokalno.",
|
"backup_onboarding_2_description": "lokalne kopije na različitim uređajima. To uključuje glavne datoteke i lokalnu sigurnosnu kopiju tih datoteka.",
|
||||||
"backup_onboarding_3_description": "ukupne kopije vaših podataka, uključujući izvorne datoteke. To uključuje 1 kopiju izvan lokacije i 2 lokalne kopije.",
|
"backup_onboarding_3_description": "ukupne kopije vaših podataka, uključujući izvorne datoteke. To uključuje 1 kopiju izvan lokacije i 2 lokalne kopije.",
|
||||||
"backup_onboarding_description": "Preporučuje se <backblaze-link>3-2-1 strategija sigurnosnog kopiranja</backblaze-link> za zaštitu vaših podataka. Trebali biste čuvati kopije svojih prenesenih fotografija/videozapisa kao i Immich bazu podataka za sveobuhvatno rješenje sigurnosne kopije.",
|
"backup_onboarding_description": "Preporučuje se <backblaze-link>3-2-1 strategija sigurnosnog kopiranja</backblaze-link> za zaštitu vaših podataka. Trebali biste čuvati kopije svojih prenesenih fotografija/videozapisa kao i Immich bazu podataka za sveobuhvatno rješenje sigurnosne kopije.",
|
||||||
"backup_onboarding_footer": "Za više informacija o sigurnosnom kopiranju Immich, molimo pogledajte <link>dokumentaciju</link>.",
|
"backup_onboarding_footer": "Za više informacija o sigurnosnom kopiranju Immicha, molimo pogledajte <link>dokumentaciju</link>.",
|
||||||
"backup_onboarding_parts_title": "3-2-1 sigurnosna kopija uključuje:",
|
"backup_onboarding_parts_title": "3-2-1 sigurnosna kopija uključuje:",
|
||||||
"backup_onboarding_title": "Sigurnosne kopije",
|
"backup_onboarding_title": "Sigurnosne kopije",
|
||||||
"backup_settings": "Postavke sigurnosne kopije",
|
"backup_settings": "Postavke sigurnosne kopije baze podataka",
|
||||||
"backup_settings_description": "Upravljajte postavkama izvoza baze podataka.",
|
"backup_settings_description": "Upravljajte postavkama sigurnosne kopije baze podataka.",
|
||||||
"cleared_jobs": "Izbrisani poslovi za: {job}",
|
"cleared_jobs": "Izbrisani poslovi za: {job}",
|
||||||
"config_set_by_file": "Konfiguracija je trenutno postavljena konfiguracijskom datotekom",
|
"config_set_by_file": "Konfiguracija je trenutno postavljena konfiguracijskom datotekom",
|
||||||
"confirm_delete_library": "Jeste li sigurni da želite izbrisati biblioteku {library}?",
|
"confirm_delete_library": "Jeste li sigurni da želite izbrisati biblioteku {library}?",
|
||||||
|
|
@ -65,23 +67,23 @@
|
||||||
"confirm_reprocess_all_faces": "Jeste li sigurni da želite ponovno obraditi sva lica? Ovo će također obrisati imenovane osobe.",
|
"confirm_reprocess_all_faces": "Jeste li sigurni da želite ponovno obraditi sva lica? Ovo će također obrisati imenovane osobe.",
|
||||||
"confirm_user_password_reset": "Jeste li sigurni da želite poništiti lozinku korisnika {user}?",
|
"confirm_user_password_reset": "Jeste li sigurni da želite poništiti lozinku korisnika {user}?",
|
||||||
"confirm_user_pin_code_reset": "Jeste li sigurni da želite resetirati PIN korisnika {user}?",
|
"confirm_user_pin_code_reset": "Jeste li sigurni da želite resetirati PIN korisnika {user}?",
|
||||||
"create_job": "Izradi zadatak",
|
"create_job": "Stvori posao",
|
||||||
"cron_expression": "Cron izraz (expression)",
|
"cron_expression": "Cron izraz",
|
||||||
"cron_expression_description": "Postavite interval skeniranja koristeći cron format. Za više informacija pogledajte npr. <link>Crontab Guru</link>",
|
"cron_expression_description": "Postavite interval skeniranja koristeći cron format. Za više informacija pogledajte npr. <link>Crontab Guru</link>",
|
||||||
"cron_expression_presets": "Cron unaprijed postavljene postavke izraza",
|
"cron_expression_presets": "Unaprijed postavljene postavke cron izraza",
|
||||||
"disable_login": "Onemogući prijavu",
|
"disable_login": "Onemogući prijavu",
|
||||||
"duplicate_detection_job_description": "Pokrenite strojno učenje na materijalima kako biste otkrili slične slike. Oslanja se na Pametno Pretraživanje",
|
"duplicate_detection_job_description": "Pokrenite strojno učenje na stavkama kako biste otkrili slične slike. Oslanja se na Pametno pretraživanje",
|
||||||
"exclusion_pattern_description": "Uzorci izuzimanja omogućuju vam da zanemarite datoteke i mape prilikom skeniranja svoje biblioteke. Ovo je korisno ako imate mape koje sadrže datoteke koje ne želite uvesti, kao što su RAW datoteke.",
|
"exclusion_pattern_description": "Uzorci izuzimanja omogućuju vam da ignorirate datoteke i mape prilikom skeniranja svoje biblioteke. Ovo je korisno ako imate mape koje sadrže datoteke koje ne želite uvesti, kao što su RAW datoteke.",
|
||||||
"external_library_management": "Upravljanje vanjskom knjižnicom",
|
"external_library_management": "Upravljanje vanjskom bibliotekom",
|
||||||
"face_detection": "Detekcija lica",
|
"face_detection": "Detekcija lica",
|
||||||
"face_detection_description": "Prepoznajte lica u sredstvima pomoću strojnog učenja. Za videozapise u obzir se uzima samo minijaturni prikaz. \"Sve\" (ponovno) obrađuje svu imovinu. \"Nedostaje\" stavlja u red čekanja sredstva koja još nisu obrađena. Otkrivena lica bit će stavljena u red čekanja za prepoznavanje lica nakon dovršetka prepoznavanja lica, grupirajući ih u postojeće ili nove osobe.",
|
"face_detection_description": "Detektirajte lica u stavkama pomoću strojnog učenja. Za videozapise se uzima u obzir samo sličica. \"Osvježi\" (ponovno) obrađuje sve stavke. \"Poništi\" dodatno briše sve trenutne podatke o licu. \"Nedostaje\" stavlja u red čekanja stavke koje još nisu obrađene. Detektirana lica bit će stavljena u red čekanja za Prepoznavanje lica nakon što se dovrši Detekcija lica, grupirajući ih u postojeće ili nove osobe.",
|
||||||
"facial_recognition_job_description": "Grupirajte otkrivena lica u osobe. Ovaj se korak pokreće nakon dovršetka prepoznavanja lica. \"Sve\" (ponovno) grupira sva lica. \"Nedostajuća\" lica u redovima kojima nije dodijeljena osoba.",
|
"facial_recognition_job_description": "Grupirajte otkrivena lica u osobe. Ovaj korak se izvršava nakon što je Detekcija lica dovršena. \"Resetiraj\" (ponovno) grupira sva lica. \"Nedostaje\" stavlja u red lica kojima nije dodijeljena osoba.",
|
||||||
"failed_job_command": "Naredba {command} nije uspjela za posao: {job}",
|
"failed_job_command": "Naredba {command} nije uspjela za posao: {job}",
|
||||||
"force_delete_user_warning": "UPOZORENJE: Ovo će odmah ukloniti korisnika i sve pripadajuće podatke. Ovo se ne može poništiti i datoteke se ne mogu vratiti.",
|
"force_delete_user_warning": "UPOZORENJE: Ovo će odmah ukloniti korisnika i sve pripadajuće stavke. Ovo se ne može poništiti i datoteke se ne mogu vratiti.",
|
||||||
"image_format": "Format",
|
"image_format": "Format",
|
||||||
"image_format_description": "WebP proizvodi manje datoteke od JPEG-a, ali se sporije kodira.",
|
"image_format_description": "WebP proizvodi manje datoteke od JPEG-a, ali se sporije kodira.",
|
||||||
"image_fullsize_description": "Slika pune veličine bez meta podataka, koristi se prilikom zumiranja",
|
"image_fullsize_description": "Slika pune veličine bez metapodataka, koristi se prilikom zumiranja",
|
||||||
"image_fullsize_enabled": "Omogući generiranje slike pune veličine",
|
"image_fullsize_enabled": "Omogući generiranje slika pune veličine",
|
||||||
"image_fullsize_enabled_description": "Generiraj sliku pune veličine za formate koji nisu prilagođeni webu. Kada je opcija \"Preferiraj ugrađeni pregled\" omogućena, ugrađeni pregledi koriste se izravno bez konverzije. Ne utječe na formate prilagođene webu kao što je JPEG.",
|
"image_fullsize_enabled_description": "Generiraj sliku pune veličine za formate koji nisu prilagođeni webu. Kada je opcija \"Preferiraj ugrađeni pregled\" omogućena, ugrađeni pregledi koriste se izravno bez konverzije. Ne utječe na formate prilagođene webu kao što je JPEG.",
|
||||||
"image_fullsize_quality_description": "Kvaliteta slike pune veličine od 1 do 100. Veća vrijednost znači bolja kvaliteta, ali stvara veće datoteke.",
|
"image_fullsize_quality_description": "Kvaliteta slike pune veličine od 1 do 100. Veća vrijednost znači bolja kvaliteta, ali stvara veće datoteke.",
|
||||||
"image_fullsize_title": "Postavke slike pune veličine",
|
"image_fullsize_title": "Postavke slike pune veličine",
|
||||||
|
|
@ -89,7 +91,7 @@
|
||||||
"image_prefer_embedded_preview_setting_description": "Koristite ugrađene preglede u RAW fotografije kao ulaz za obradu slike kada su dostupni. To može proizvesti preciznije boje za neke slike, ali kvaliteta pregleda ovisi o kameri i slika može imati više artifakta kompresije.",
|
"image_prefer_embedded_preview_setting_description": "Koristite ugrađene preglede u RAW fotografije kao ulaz za obradu slike kada su dostupni. To može proizvesti preciznije boje za neke slike, ali kvaliteta pregleda ovisi o kameri i slika može imati više artifakta kompresije.",
|
||||||
"image_prefer_wide_gamut": "Preferirajte široku gamu",
|
"image_prefer_wide_gamut": "Preferirajte široku gamu",
|
||||||
"image_prefer_wide_gamut_setting_description": "Koristite Display P3 za sličice. Ovo bolje čuva živost slika sa širokim prostorima boja, ali slike mogu izgledati drugačije na starim uređajima sa starom verzijom preglednika. sRGB slike čuvaju se kao sRGB kako bi se izbjegle promjene boja.",
|
"image_prefer_wide_gamut_setting_description": "Koristite Display P3 za sličice. Ovo bolje čuva živost slika sa širokim prostorima boja, ali slike mogu izgledati drugačije na starim uređajima sa starom verzijom preglednika. sRGB slike čuvaju se kao sRGB kako bi se izbjegle promjene boja.",
|
||||||
"image_preview_description": "Slika srednje veličine s ogoljenim metapodacima, koristi se prilikom pregledavanja jednog sredstva i za strojno učenje",
|
"image_preview_description": "Slika srednje veličine s uklonjenim metapodacima, koristi se prilikom pregledavanja jedne stavke i za strojno učenje",
|
||||||
"image_preview_quality_description": "Kvaliteta pregleda od 1-100. Više je bolje, ali proizvodi veće datoteke i može smanjiti odziv aplikacije. Postavljanje niske vrijednosti može utjecati na kvalitetu strojnog učenja.",
|
"image_preview_quality_description": "Kvaliteta pregleda od 1-100. Više je bolje, ali proizvodi veće datoteke i može smanjiti odziv aplikacije. Postavljanje niske vrijednosti može utjecati na kvalitetu strojnog učenja.",
|
||||||
"image_preview_title": "Postavke pregleda",
|
"image_preview_title": "Postavke pregleda",
|
||||||
"image_quality": "Kvaliteta",
|
"image_quality": "Kvaliteta",
|
||||||
|
|
@ -116,27 +118,31 @@
|
||||||
"library_scanning_enable_description": "Omogući periodično skeniranje biblioteke",
|
"library_scanning_enable_description": "Omogući periodično skeniranje biblioteke",
|
||||||
"library_settings": "Externa biblioteka",
|
"library_settings": "Externa biblioteka",
|
||||||
"library_settings_description": "Upravljajte postavkama vanjske biblioteke",
|
"library_settings_description": "Upravljajte postavkama vanjske biblioteke",
|
||||||
"library_tasks_description": "Skeniraj eksterne biblioteke za nove i/ili promijenjene resurse",
|
"library_tasks_description": "Skeniraj vanjske biblioteke za nove i/ili promijenjene stavke",
|
||||||
"library_watching_enable_description": "Pratite vanjske biblioteke za promjena datoteke",
|
"library_watching_enable_description": "Pratite vanjske biblioteke za promjena datoteke",
|
||||||
"library_watching_settings": "Gledanje biblioteke (EKSPERIMENTALNO)",
|
"library_watching_settings": "Gledanje biblioteke (EKSPERIMENTALNO)",
|
||||||
"library_watching_settings_description": "Automatsko praćenje promijenjenih datoteke",
|
"library_watching_settings_description": "Automatsko praćenje promijenjenih datoteke",
|
||||||
"logging_enable_description": "Omogući zapisivanje",
|
"logging_enable_description": "Omogući zapisivanje",
|
||||||
"logging_level_description": "Kada je omogućeno, koju razinu zapisivanja koristiti.",
|
"logging_level_description": "Kada je omogućeno, koju razinu zapisivanja koristiti.",
|
||||||
"logging_settings": "Zapisivanje",
|
"logging_settings": "Zapisivanje",
|
||||||
|
"machine_learning_availability_checks": "Provjere dostupnosti",
|
||||||
|
"machine_learning_availability_checks_enabled": "Omogući provjere dostupnosti",
|
||||||
|
"machine_learning_availability_checks_interval": "Provjeri interval",
|
||||||
|
"machine_learning_availability_checks_interval_description": "Interval u milisekundama između provjera dostupnosti",
|
||||||
"machine_learning_clip_model": "CLIP model",
|
"machine_learning_clip_model": "CLIP model",
|
||||||
"machine_learning_clip_model_description": "Naziv CLIP modela navedenog <link>ovdje</link>. Imajte na umu da morate ponovno pokrenuti posao 'Pametno Pretraživanje' za sve slike nakon promjene modela.",
|
"machine_learning_clip_model_description": "Naziv CLIP modela navedenog <link>ovdje</link>. Imajte na umu da morate ponovno pokrenuti posao 'Pametno Pretraživanje' za sve slike nakon promjene modela.",
|
||||||
"machine_learning_duplicate_detection": "Detekcija Duplikata",
|
"machine_learning_duplicate_detection": "Detekcija Duplikata",
|
||||||
"machine_learning_duplicate_detection_enabled": "Omogući detekciju duplikata",
|
"machine_learning_duplicate_detection_enabled": "Omogući detekciju duplikata",
|
||||||
"machine_learning_duplicate_detection_enabled_description": "Ako je onemogućeno, potpuno identična sredstva i dalje će biti deduplicirana.",
|
"machine_learning_duplicate_detection_enabled_description": "Ako je onemogućeno, potpuno identične stavke i dalje će biti deduplicirane.",
|
||||||
"machine_learning_duplicate_detection_setting_description": "Upotrijebite CLIP ugradnje da biste pronašli vjerojatne duplikate",
|
"machine_learning_duplicate_detection_setting_description": "Upotrijebite CLIP ugradnje da biste pronašli vjerojatne duplikate",
|
||||||
"machine_learning_enabled": "Uključi strojsko učenje",
|
"machine_learning_enabled": "Uključi strojsko učenje",
|
||||||
"machine_learning_enabled_description": "Ukoliko je ovo isključeno, sve funkcije strojnoga učenja biti će isključene bez obzira na postavke ispod.",
|
"machine_learning_enabled_description": "Ukoliko je ovo isključeno, sve funkcije strojnoga učenja biti će isključene bez obzira na postavke ispod.",
|
||||||
"machine_learning_facial_recognition": "Detekcija lica",
|
"machine_learning_facial_recognition": "Prepoznavanje lica",
|
||||||
"machine_learning_facial_recognition_description": "Detektiraj, prepoznaj i grupiraj lica u fotografijama",
|
"machine_learning_facial_recognition_description": "Detektiraj, prepoznaj i grupiraj lica u fotografijama",
|
||||||
"machine_learning_facial_recognition_model": "Model prepoznavanja lica",
|
"machine_learning_facial_recognition_model": "Model prepoznavanja lica",
|
||||||
"machine_learning_facial_recognition_model_description": "Modeli su navedeni silaznim redoslijedom veličine. Veći modeli su sporiji i koriste više memorije, ali daju bolje rezultate. Imajte na umu da morate ponovno pokrenuti posao detekcije lica za sve slike nakon promjene modela.",
|
"machine_learning_facial_recognition_model_description": "Modeli su navedeni silaznim redoslijedom veličine. Veći modeli su sporiji i koriste više memorije, ali daju bolje rezultate. Imajte na umu da morate ponovno pokrenuti posao detekcije lica za sve slike nakon promjene modela.",
|
||||||
"machine_learning_facial_recognition_setting": "Omogući prepoznavanje lica",
|
"machine_learning_facial_recognition_setting": "Omogući prepoznavanje lica",
|
||||||
"machine_learning_facial_recognition_setting_description": "Ako je onemogućeno, slike neće biti kodirane za prepoznavanje lica i neće popuniti odjeljak Ljudi na stranici Istraživanje.",
|
"machine_learning_facial_recognition_setting_description": "Ako je onemogućeno, slike neće biti kodirane za prepoznavanje lica i neće popuniti odjeljak Osobe na stranici Istraži.",
|
||||||
"machine_learning_max_detection_distance": "Maksimalna udaljenost za detektiranje",
|
"machine_learning_max_detection_distance": "Maksimalna udaljenost za detektiranje",
|
||||||
"machine_learning_max_detection_distance_description": "Maksimalna udaljenost između dvije slike da bi se smatrale duplikatima, u rasponu od 0,001-0,1. Više vrijednosti otkrit će više duplikata, ali mogu rezultirati netočnim rezultatima.",
|
"machine_learning_max_detection_distance_description": "Maksimalna udaljenost između dvije slike da bi se smatrale duplikatima, u rasponu od 0,001-0,1. Više vrijednosti otkrit će više duplikata, ali mogu rezultirati netočnim rezultatima.",
|
||||||
"machine_learning_max_recognition_distance": "Maksimalna udaljenost za detekciju",
|
"machine_learning_max_recognition_distance": "Maksimalna udaljenost za detekciju",
|
||||||
|
|
@ -144,7 +150,7 @@
|
||||||
"machine_learning_min_detection_score": "Minimalni rezultat otkrivanja",
|
"machine_learning_min_detection_score": "Minimalni rezultat otkrivanja",
|
||||||
"machine_learning_min_detection_score_description": "Minimalni rezultat pouzdanosti za detektirano lice od 0-1. Niže vrijednosti otkrit će više lica, ali mogu dovesti do lažno pozitivnih rezultata.",
|
"machine_learning_min_detection_score_description": "Minimalni rezultat pouzdanosti za detektirano lice od 0-1. Niže vrijednosti otkrit će više lica, ali mogu dovesti do lažno pozitivnih rezultata.",
|
||||||
"machine_learning_min_recognized_faces": "Minimum prepoznatih lica",
|
"machine_learning_min_recognized_faces": "Minimum prepoznatih lica",
|
||||||
"machine_learning_min_recognized_faces_description": "Najmanji broj prepoznatih lica za osobu koja se stvara. Povećanje toga čini prepoznavanje lica preciznijim po cijenu povećanja šanse da lice nije dodijeljeno osobi.",
|
"machine_learning_min_recognized_faces_description": "Najmanji broj prepoznatih lica za osobu koja se stvara. Povećanje toga čini Prepoznavanje lica preciznijim po cijenu povećanja šanse da lice nije dodijeljeno osobi.",
|
||||||
"machine_learning_settings": "Postavke strojnog učenja",
|
"machine_learning_settings": "Postavke strojnog učenja",
|
||||||
"machine_learning_settings_description": "Upravljajte značajkama i postavkama strojnog učenja",
|
"machine_learning_settings_description": "Upravljajte značajkama i postavkama strojnog učenja",
|
||||||
"machine_learning_smart_search": "Pametna pretraga",
|
"machine_learning_smart_search": "Pametna pretraga",
|
||||||
|
|
@ -170,21 +176,21 @@
|
||||||
"memory_cleanup_job": "Čišćenje memorije",
|
"memory_cleanup_job": "Čišćenje memorije",
|
||||||
"memory_generate_job": "Generiranje memorije",
|
"memory_generate_job": "Generiranje memorije",
|
||||||
"metadata_extraction_job": "Izdvoj metapodatke",
|
"metadata_extraction_job": "Izdvoj metapodatke",
|
||||||
"metadata_extraction_job_description": "Izdvojite podatke o metapodacima iz svakog sredstva, kao što su GPS, lica i rezolucija",
|
"metadata_extraction_job_description": "Izdvojite metapodatke iz svake stavke, kao što su GPS, lica i rezolucija",
|
||||||
"metadata_faces_import_setting": "Omogući uvoz lica",
|
"metadata_faces_import_setting": "Omogući uvoz lica",
|
||||||
"metadata_faces_import_setting_description": "Uvezite lica iz EXIF podataka slike i sidecar datoteka",
|
"metadata_faces_import_setting_description": "Uvezite lica iz EXIF podataka slike i sidecar datoteka",
|
||||||
"metadata_settings": "Postavke Metapodataka",
|
"metadata_settings": "Postavke Metapodataka",
|
||||||
"metadata_settings_description": "Upravljanje postavkama metapodataka",
|
"metadata_settings_description": "Upravljanje postavkama metapodataka",
|
||||||
"migration_job": "Migracija",
|
"migration_job": "Migracija",
|
||||||
"migration_job_description": "Premjestite minijature za sredstva i lica u najnoviju strukturu mapa",
|
"migration_job_description": "Premjestite sličice za stavke i lica u najnoviju strukturu mapa",
|
||||||
"nightly_tasks_cluster_faces_setting_description": "Pokreni prepoznavanje lica na novootkrivenim licima",
|
"nightly_tasks_cluster_faces_setting_description": "Pokreni prepoznavanje lica na novootkrivenim licima",
|
||||||
"nightly_tasks_cluster_new_faces_setting": "Grupiraj nova lica",
|
"nightly_tasks_cluster_new_faces_setting": "Grupiraj nova lica",
|
||||||
"nightly_tasks_database_cleanup_setting": "Zadaci čišćenja baze podataka",
|
"nightly_tasks_database_cleanup_setting": "Zadaci čišćenja baze podataka",
|
||||||
"nightly_tasks_database_cleanup_setting_description": "Očisti stare, istekle podatke iz baze podataka",
|
"nightly_tasks_database_cleanup_setting_description": "Očisti stare, istekle podatke iz baze podataka",
|
||||||
"nightly_tasks_generate_memories_setting": "Generiraj uspomene",
|
"nightly_tasks_generate_memories_setting": "Generiraj uspomene",
|
||||||
"nightly_tasks_generate_memories_setting_description": "Stvori nove uspomene iz sadržaja",
|
"nightly_tasks_generate_memories_setting_description": "Stvori nove uspomene iz stavki",
|
||||||
"nightly_tasks_missing_thumbnails_setting": "Generiraj nedostajuće sličice",
|
"nightly_tasks_missing_thumbnails_setting": "Generiraj nedostajuće sličice",
|
||||||
"nightly_tasks_missing_thumbnails_setting_description": "Stavi u red čekanja sadržaje bez sličica za generiranje sličica",
|
"nightly_tasks_missing_thumbnails_setting_description": "Stavke bez sličica stavi u red čekanja za generiranje sličica",
|
||||||
"nightly_tasks_settings": "Postavke noćnih zadataka",
|
"nightly_tasks_settings": "Postavke noćnih zadataka",
|
||||||
"nightly_tasks_settings_description": "Upravljanje noćnim zadacima",
|
"nightly_tasks_settings_description": "Upravljanje noćnim zadacima",
|
||||||
"nightly_tasks_start_time_setting": "Vrijeme početka",
|
"nightly_tasks_start_time_setting": "Vrijeme početka",
|
||||||
|
|
@ -193,7 +199,7 @@
|
||||||
"nightly_tasks_sync_quota_usage_setting_description": "Ažuriraj korisničku kvotu za pohranu na temelju trenutne potrošnje",
|
"nightly_tasks_sync_quota_usage_setting_description": "Ažuriraj korisničku kvotu za pohranu na temelju trenutne potrošnje",
|
||||||
"no_paths_added": "Nema dodanih putanja",
|
"no_paths_added": "Nema dodanih putanja",
|
||||||
"no_pattern_added": "Nije dodan uzorak",
|
"no_pattern_added": "Nije dodan uzorak",
|
||||||
"note_apply_storage_label_previous_assets": "Napomena: da biste primijenili Oznaku Pohrane na prethodno prenesena sredstva, pokrenite",
|
"note_apply_storage_label_previous_assets": "Napomena: Da biste primijenili Oznaku pohrane na prethodno prenesene stavke, pokrenite",
|
||||||
"note_cannot_be_changed_later": "NAPOMENA: Ovo se ne može promijeniti kasnije!",
|
"note_cannot_be_changed_later": "NAPOMENA: Ovo se ne može promijeniti kasnije!",
|
||||||
"notification_email_from_address": "Od adrese",
|
"notification_email_from_address": "Od adrese",
|
||||||
"notification_email_from_address_description": "E-mail adresa pošiljatelja, na primjer: \"Immich Photo Server <noreply@example.com>\". Obavezno koristite adresu s koje vam je dopušteno slanje e-pošte.",
|
"notification_email_from_address_description": "E-mail adresa pošiljatelja, na primjer: \"Immich Photo Server <noreply@example.com>\". Obavezno koristite adresu s koje vam je dopušteno slanje e-pošte.",
|
||||||
|
|
@ -260,21 +266,21 @@
|
||||||
"sidecar_job": "Sidecar metapodaci",
|
"sidecar_job": "Sidecar metapodaci",
|
||||||
"sidecar_job_description": "Otkrijte ili sinkronizirajte sidecar metapodatke iz datotečnog sustava",
|
"sidecar_job_description": "Otkrijte ili sinkronizirajte sidecar metapodatke iz datotečnog sustava",
|
||||||
"slideshow_duration_description": "Broj sekundi za prikaz svake slike",
|
"slideshow_duration_description": "Broj sekundi za prikaz svake slike",
|
||||||
"smart_search_job_description": "Pokrenite strojno učenje na sredstvima za podršku pametnog pretraživanja",
|
"smart_search_job_description": "Pokrenite strojno učenje na stavkama za korištenje Pametnog pretraživanja",
|
||||||
"storage_template_date_time_description": "Vremenska oznaka stvaranja sredstva koristi se za informacije o datumu i vremenu",
|
"storage_template_date_time_description": "Vremenska oznaka stvaranja stavke koristi se za informacije o datumu i vremenu",
|
||||||
"storage_template_date_time_sample": "Vrijeme uzorka {date}",
|
"storage_template_date_time_sample": "Vrijeme uzorka {date}",
|
||||||
"storage_template_enable_description": "Omogući mehanizam predloška za pohranu",
|
"storage_template_enable_description": "Omogući mehanizam predloška za pohranu",
|
||||||
"storage_template_hash_verification_enabled": "Omogućena hash provjera",
|
"storage_template_hash_verification_enabled": "Omogućena hash provjera",
|
||||||
"storage_template_hash_verification_enabled_description": "Omogućuje hash provjeru, nemojte je onemogućiti osim ako niste sigurni u implikacije",
|
"storage_template_hash_verification_enabled_description": "Omogućuje hash provjeru, nemojte je onemogućiti osim ako niste sigurni u implikacije",
|
||||||
"storage_template_migration": "Migracija predloška za pohranu",
|
"storage_template_migration": "Migracija predloška za pohranu",
|
||||||
"storage_template_migration_description": "Primijenite trenutni <link>{template}</link> na prethodno prenesena sredstva",
|
"storage_template_migration_description": "Primijenite trenutni <link>{template}</link> na prethodno prenesene stavke",
|
||||||
"storage_template_migration_info": "Predložak za pohranu će sve nastavke (ekstenzije) pretvoriti u mala slova. Promjene predloška primjenjivat će se samo na nova sredstva. Za retroaktivnu primjenu predloška na prethodno prenesena sredstva, pokrenite <link>{job}</link>.",
|
"storage_template_migration_info": "Predložak za pohranu pretvorit će sve datotečne nastavke u mala slova. Promjene predloška primijenit će se samo na nove stavke. Da biste retroaktivno primijenili predložak na prethodno prenesene stavke, pokrenite <link>{job}<link>.",
|
||||||
"storage_template_migration_job": "Posao Migracije Predloška Pohrane",
|
"storage_template_migration_job": "Posao Migracije Predloška Pohrane",
|
||||||
"storage_template_more_details": "Za više pojedinosti o ovoj značajci pogledajte <template-link>Predložak pohrane</template-link> i njegove <implications-link>implikacije</implications-link>",
|
"storage_template_more_details": "Za više pojedinosti o ovoj značajci pogledajte <template-link>Predložak pohrane</template-link> i njegove <implications-link>implikacije</implications-link>",
|
||||||
"storage_template_onboarding_description_v2": "Kada je omogućena, ova će značajka automatski organizira datoteke prema predlošku koji je definirao korisnik. Za više informacija pogledajte <link>dokumentaciju</link>.",
|
"storage_template_onboarding_description_v2": "Kada je omogućena, ova će značajka automatski organizira datoteke prema predlošku koji je definirao korisnik. Za više informacija pogledajte <link>dokumentaciju</link>.",
|
||||||
"storage_template_path_length": "Približno ograničenje duljine putanje: <b>{length, number}</b>/{limit, number}",
|
"storage_template_path_length": "Približno ograničenje duljine putanje: <b>{length, number}</b>/{limit, number}",
|
||||||
"storage_template_settings": "Predložak pohrane",
|
"storage_template_settings": "Predložak pohrane",
|
||||||
"storage_template_settings_description": "Upravljajte strukturom mape i nazivom datoteke učitanog sredstva",
|
"storage_template_settings_description": "Upravljajte strukturom mape i nazivom datoteke učitane stavke",
|
||||||
"storage_template_user_label": "<code>{label}</code> je korisnička oznaka za pohranu",
|
"storage_template_user_label": "<code>{label}</code> je korisnička oznaka za pohranu",
|
||||||
"system_settings": "Postavke Sustava",
|
"system_settings": "Postavke Sustava",
|
||||||
"tag_cleanup_job": "Čišćenje oznaka",
|
"tag_cleanup_job": "Čišćenje oznaka",
|
||||||
|
|
@ -292,7 +298,7 @@
|
||||||
"theme_settings": "Postavke tema",
|
"theme_settings": "Postavke tema",
|
||||||
"theme_settings_description": "Upravljajte prilagodbom Immich web sučelja",
|
"theme_settings_description": "Upravljajte prilagodbom Immich web sučelja",
|
||||||
"thumbnail_generation_job": "Generirajte sličice",
|
"thumbnail_generation_job": "Generirajte sličice",
|
||||||
"thumbnail_generation_job_description": "Generirajte velike, male i zamućene sličice za svaki materijal, kao i sličice za svaku osobu",
|
"thumbnail_generation_job_description": "Generirajte velike, male i zamućene sličice za svaku stavku, kao i sličice za svaku osobu",
|
||||||
"transcoding_acceleration_api": "API ubrzanja",
|
"transcoding_acceleration_api": "API ubrzanja",
|
||||||
"transcoding_acceleration_api_description": "API koji će komunicirati s vašim uređajem radi ubrzanja transkodiranja. Ova postavka je 'najveći trud': vratit će se na softversko transkodiranje u slučaju kvara. VP9 može ili ne mora raditi ovisno o vašem hardveru.",
|
"transcoding_acceleration_api_description": "API koji će komunicirati s vašim uređajem radi ubrzanja transkodiranja. Ova postavka je 'najveći trud': vratit će se na softversko transkodiranje u slučaju kvara. VP9 može ili ne mora raditi ovisno o vašem hardveru.",
|
||||||
"transcoding_acceleration_nvenc": "NVENC (zahtjeva NVIDIA GPU)",
|
"transcoding_acceleration_nvenc": "NVENC (zahtjeva NVIDIA GPU)",
|
||||||
|
|
@ -355,20 +361,20 @@
|
||||||
"transcoding_video_codec_description": "VP9 ima visoku učinkovitost i web-kompatibilnost, ali treba dulje za transkodiranje. HEVC ima sličnu izvedbu, ali ima slabiju web kompatibilnost. H.264 široko je kompatibilan i brzo se transkodira, ali proizvodi mnogo veće datoteke. AV1 je najučinkovitiji kodek, ali nema podršku na starijim uređajima.",
|
"transcoding_video_codec_description": "VP9 ima visoku učinkovitost i web-kompatibilnost, ali treba dulje za transkodiranje. HEVC ima sličnu izvedbu, ali ima slabiju web kompatibilnost. H.264 široko je kompatibilan i brzo se transkodira, ali proizvodi mnogo veće datoteke. AV1 je najučinkovitiji kodek, ali nema podršku na starijim uređajima.",
|
||||||
"trash_enabled_description": "Omogućite značajke Smeća",
|
"trash_enabled_description": "Omogućite značajke Smeća",
|
||||||
"trash_number_of_days": "Broj dana",
|
"trash_number_of_days": "Broj dana",
|
||||||
"trash_number_of_days_description": "Broj dana za držanje sredstava u smeću prije njihovog trajnog uklanjanja",
|
"trash_number_of_days_description": "Broj dana za čuvanje stavki u smeću prije njihovog trajnog uklanjanja",
|
||||||
"trash_settings": "Postavke Smeća",
|
"trash_settings": "Postavke Smeća",
|
||||||
"trash_settings_description": "Upravljanje postavkama smeća",
|
"trash_settings_description": "Upravljanje postavkama smeća",
|
||||||
"unlink_all_oauth_accounts": "Odspoji sve OAuth račune",
|
"unlink_all_oauth_accounts": "Odspoji sve OAuth račune",
|
||||||
"unlink_all_oauth_accounts_description": "Zapamtite da odspojite sve OAuth račune prije prelaska na novog pružatelja usluge.",
|
"unlink_all_oauth_accounts_description": "Zapamtite da odspojite sve OAuth račune prije prelaska na novog pružatelja usluge.",
|
||||||
"unlink_all_oauth_accounts_prompt": "Jeste li sigurni da želite odspojiti sve OAuth račune? Ovo će resetirati OAuth ID za svakog korisnika i ne može se poništiti.",
|
"unlink_all_oauth_accounts_prompt": "Jeste li sigurni da želite odspojiti sve OAuth račune? Ovo će resetirati OAuth ID za svakog korisnika i ne može se poništiti.",
|
||||||
"user_cleanup_job": "Čišćenje korisnika",
|
"user_cleanup_job": "Čišćenje korisnika",
|
||||||
"user_delete_delay": "Račun i sredstva korisnika <b>{user}</b> bit će zakazani za trajno brisanje za {delay, plural, one {# day} other {# days}}.",
|
"user_delete_delay": "Račun i stavke korisnika <b>{user}</b> bit će stavljeni u red čekanja trajnog brisanja za {delay, plural, one {# dan} other {# dana}}.",
|
||||||
"user_delete_delay_settings": "Brisanje odgode",
|
"user_delete_delay_settings": "Brisanje odgode",
|
||||||
"user_delete_delay_settings_description": "Broj dana nakon uklanjanja za trajno brisanje korisničkog računa i imovine. Posao brisanja korisnika pokreće se u ponoć kako bi se provjerili korisnici koji su spremni za brisanje. Promjene ove postavke bit će procijenjene pri sljedećem izvršavanju.",
|
"user_delete_delay_settings_description": "Broj dana nakon uklanjanja za trajno brisanje korisničkog računa i stavki. Posao brisanja korisnika pokreće se u ponoć kako bi se provjerili korisnici koji su spremni za brisanje. Promjene ove postavke bit će procijenjene pri sljedećem izvršavanju.",
|
||||||
"user_delete_immediately": "Račun i sredstva korisnika <b>{user}</b> bit će stavljeni u red čekanja za trajno brisanje <b>odmah</b>.",
|
"user_delete_immediately": "Račun i stavke korisnika <b>{user}</b> bit će stavljeni u red čekanja za trajno brisanje <b>odmah</b>.",
|
||||||
"user_delete_immediately_checkbox": "Stavite korisnika i imovinu u red za trenutačno brisanje",
|
"user_delete_immediately_checkbox": "Stavite korisnika i stavke u red čekanja za trenutno brisanje",
|
||||||
"user_details": "Detalji korisnika",
|
"user_details": "Detalji korisnika",
|
||||||
"user_management": "Upravljanje Korisnicima",
|
"user_management": "Upravljanje korisnicima",
|
||||||
"user_password_has_been_reset": "Korisnička lozinka je poništena:",
|
"user_password_has_been_reset": "Korisnička lozinka je poništena:",
|
||||||
"user_password_reset_description": "Molimo dostavite privremenu lozinku korisniku i obavijestite ga da će morati promijeniti lozinku pri sljedećoj prijavi.",
|
"user_password_reset_description": "Molimo dostavite privremenu lozinku korisniku i obavijestite ga da će morati promijeniti lozinku pri sljedećoj prijavi.",
|
||||||
"user_restore_description": "Račun korisnika <b>{user}</b> bit će vraćen.",
|
"user_restore_description": "Račun korisnika <b>{user}</b> bit će vraćen.",
|
||||||
|
|
@ -390,13 +396,13 @@
|
||||||
"advanced_settings_enable_alternate_media_filter_subtitle": "Koristite ovu opciju za filtriranje medija tijekom sinkronizacije na temelju alternativnih kriterija. Pokušajte ovo samo ako imate problema s aplikacijom koja ne prepoznaje sve albume.",
|
"advanced_settings_enable_alternate_media_filter_subtitle": "Koristite ovu opciju za filtriranje medija tijekom sinkronizacije na temelju alternativnih kriterija. Pokušajte ovo samo ako imate problema s aplikacijom koja ne prepoznaje sve albume.",
|
||||||
"advanced_settings_enable_alternate_media_filter_title": "[EKSPERIMENTALNO] Koristite alternativni filter za sinkronizaciju albuma na uređaju",
|
"advanced_settings_enable_alternate_media_filter_title": "[EKSPERIMENTALNO] Koristite alternativni filter za sinkronizaciju albuma na uređaju",
|
||||||
"advanced_settings_log_level_title": "Razina zapisivanja: {level}",
|
"advanced_settings_log_level_title": "Razina zapisivanja: {level}",
|
||||||
"advanced_settings_prefer_remote_subtitle": "Neki uređaji sporo učitavaju sličice s lokalnih resursa. Aktivirajte ovu postavku kako biste umjesto toga učitali slike s udaljenih izvora.",
|
"advanced_settings_prefer_remote_subtitle": "Neki uređaji sporo učitavaju sličice s lokalnih stavki. Aktivirajte ovu postavku kako biste umjesto toga učitali slike s udaljenih izvora.",
|
||||||
"advanced_settings_prefer_remote_title": "Preferiraj udaljene slike",
|
"advanced_settings_prefer_remote_title": "Preferiraj udaljene slike",
|
||||||
"advanced_settings_proxy_headers_subtitle": "Definirajte zaglavlja posrednika koja Immich treba slati sa svakim mrežnim zahtjevom.",
|
"advanced_settings_proxy_headers_subtitle": "Definirajte zaglavlja posrednika koja Immich treba slati sa svakim mrežnim zahtjevom.",
|
||||||
"advanced_settings_proxy_headers_title": "Proxy zaglavlja",
|
"advanced_settings_proxy_headers_title": "Proxy zaglavlja",
|
||||||
"advanced_settings_self_signed_ssl_subtitle": "Preskoči provjeru SSL certifikata za krajnju točku poslužitelja. Potrebno za samo-potpisane certifikate.",
|
"advanced_settings_self_signed_ssl_subtitle": "Preskoči provjeru SSL certifikata za krajnju točku poslužitelja. Potrebno za samo-potpisane certifikate.",
|
||||||
"advanced_settings_self_signed_ssl_title": "Dopusti samo-potpisane SSL certifikate",
|
"advanced_settings_self_signed_ssl_title": "Dopusti samo-potpisane SSL certifikate",
|
||||||
"advanced_settings_sync_remote_deletions_subtitle": "Automatski izbriši ili obnovi resurs na ovom uređaju kada se ta radnja izvrši na webu",
|
"advanced_settings_sync_remote_deletions_subtitle": "Automatski izbriši ili obnovi stavku na ovom uređaju kada se ta radnja izvrši na webu",
|
||||||
"advanced_settings_sync_remote_deletions_title": "Sinkroniziraj udaljena brisanja [EKSPERIMENTALNO]",
|
"advanced_settings_sync_remote_deletions_title": "Sinkroniziraj udaljena brisanja [EKSPERIMENTALNO]",
|
||||||
"advanced_settings_tile_subtitle": "Postavke za napredne korisnike",
|
"advanced_settings_tile_subtitle": "Postavke za napredne korisnike",
|
||||||
"advanced_settings_troubleshooting_subtitle": "Omogući dodatne značajke za rješavanje problema",
|
"advanced_settings_troubleshooting_subtitle": "Omogući dodatne značajke za rješavanje problema",
|
||||||
|
|
@ -421,14 +427,15 @@
|
||||||
"album_remove_user_confirmation": "Jeste li sigurni da želite ukloniti {user}?",
|
"album_remove_user_confirmation": "Jeste li sigurni da želite ukloniti {user}?",
|
||||||
"album_search_not_found": "Nema albuma koji odgovaraju vašem pretraživanju",
|
"album_search_not_found": "Nema albuma koji odgovaraju vašem pretraživanju",
|
||||||
"album_share_no_users": "Čini se da ste podijelili ovaj album sa svim korisnicima ili nemate nijednog korisnika s kojim biste ga dijelili.",
|
"album_share_no_users": "Čini se da ste podijelili ovaj album sa svim korisnicima ili nemate nijednog korisnika s kojim biste ga dijelili.",
|
||||||
|
"album_summary": "Sažetak albuma",
|
||||||
"album_updated": "Album ažuriran",
|
"album_updated": "Album ažuriran",
|
||||||
"album_updated_setting_description": "Primite obavijest e-poštom kada dijeljeni album ima nova sredstva",
|
"album_updated_setting_description": "Primite obavijest e-poštom kada dijeljeni album ima nove stavke",
|
||||||
"album_user_left": "Napušten {album}",
|
"album_user_left": "Napušten {album}",
|
||||||
"album_user_removed": "Uklonjen {user}",
|
"album_user_removed": "Uklonjen {user}",
|
||||||
"album_viewer_appbar_delete_confirm": "Jeste li sigurni da želite izbrisati ovaj album s vašeg računa?",
|
"album_viewer_appbar_delete_confirm": "Jeste li sigurni da želite izbrisati ovaj album s vašeg računa?",
|
||||||
"album_viewer_appbar_share_err_delete": "Neuspješno brisanje albuma",
|
"album_viewer_appbar_share_err_delete": "Neuspješno brisanje albuma",
|
||||||
"album_viewer_appbar_share_err_leave": "Neuspješno napuštanje albuma",
|
"album_viewer_appbar_share_err_leave": "Neuspješno napuštanje albuma",
|
||||||
"album_viewer_appbar_share_err_remove": "Postoje problemi s uklanjanjem resursa iz albuma",
|
"album_viewer_appbar_share_err_remove": "Postoje problemi s uklanjanjem stavki iz albuma",
|
||||||
"album_viewer_appbar_share_err_title": "Neuspješno mijenjanje naslova albuma",
|
"album_viewer_appbar_share_err_title": "Neuspješno mijenjanje naslova albuma",
|
||||||
"album_viewer_appbar_share_leave": "Napusti album",
|
"album_viewer_appbar_share_leave": "Napusti album",
|
||||||
"album_viewer_appbar_share_to": "Podijeli s",
|
"album_viewer_appbar_share_to": "Podijeli s",
|
||||||
|
|
@ -437,8 +444,8 @@
|
||||||
"albums": "Albumi",
|
"albums": "Albumi",
|
||||||
"albums_count": "{count, plural, one {{count, number} Album} other {{count, number} Albumi}}",
|
"albums_count": "{count, plural, one {{count, number} Album} other {{count, number} Albumi}}",
|
||||||
"albums_default_sort_order": "Zadani redoslijed sortiranja albuma",
|
"albums_default_sort_order": "Zadani redoslijed sortiranja albuma",
|
||||||
"albums_default_sort_order_description": "Početni redoslijed sortiranja elemenata prilikom izrade novih albuma.",
|
"albums_default_sort_order_description": "Početni redoslijed sortiranja stavki prilikom izrade novih albuma.",
|
||||||
"albums_feature_description": "Zbirke resursa koje se mogu dijeliti s drugim korisnicima.",
|
"albums_feature_description": "Zbirke stavki koje se mogu dijeliti s drugim korisnicima.",
|
||||||
"albums_on_device_count": "Albumi na uređaju ({count})",
|
"albums_on_device_count": "Albumi na uređaju ({count})",
|
||||||
"all": "Sve",
|
"all": "Sve",
|
||||||
"all_albums": "Svi albumi",
|
"all_albums": "Svi albumi",
|
||||||
|
|
@ -457,58 +464,60 @@
|
||||||
"app_bar_signout_dialog_content": "Jeste li sigurni da se želite odjaviti?",
|
"app_bar_signout_dialog_content": "Jeste li sigurni da se želite odjaviti?",
|
||||||
"app_bar_signout_dialog_ok": "Da",
|
"app_bar_signout_dialog_ok": "Da",
|
||||||
"app_bar_signout_dialog_title": "Odjavi se",
|
"app_bar_signout_dialog_title": "Odjavi se",
|
||||||
"app_settings": "Postavke Aplikacije",
|
"app_settings": "Postavke aplikacije",
|
||||||
"appears_in": "Pojavljuje se u",
|
"appears_in": "Pojavljuje se u",
|
||||||
"archive": "Arhiva",
|
"archive": "Arhiva",
|
||||||
"archive_action_prompt": "{count} dodano u arhivu",
|
"archive_action_prompt": "{count} dodano u arhivu",
|
||||||
"archive_or_unarchive_photo": "Arhivirajte ili dearhivirajte fotografiju",
|
"archive_or_unarchive_photo": "Arhivirajte ili dearhivirajte fotografiju",
|
||||||
"archive_page_no_archived_assets": "Nema arhiviranih resursa",
|
"archive_page_no_archived_assets": "Nema arhiviranih stavki",
|
||||||
"archive_page_title": "Arhiviraj ({count})",
|
"archive_page_title": "Arhiviraj ({count})",
|
||||||
"archive_size": "Veličina arhive",
|
"archive_size": "Veličina arhive",
|
||||||
"archive_size_description": "Konfigurirajte veličinu arhive za preuzimanja (u GiB)",
|
"archive_size_description": "Konfigurirajte veličinu arhive za preuzimanja (u GiB)",
|
||||||
"archived": "Ahrivirano",
|
"archived": "Arhivirano",
|
||||||
"archived_count": "{count, plural, other {Archived #}}",
|
"archived_count": "{count, plural, other {Archived #}}",
|
||||||
"are_these_the_same_person": "Je li ovo ista osoba?",
|
"are_these_the_same_person": "Je li ovo ista osoba?",
|
||||||
"are_you_sure_to_do_this": "Jeste li sigurni da to želite učiniti?",
|
"are_you_sure_to_do_this": "Jeste li sigurni da to želite učiniti?",
|
||||||
"asset_action_delete_err_read_only": "Nije moguće izbrisati resurse samo za čitanje, preskačem",
|
"asset_action_delete_err_read_only": "Nije moguće izbrisati stavke samo za čitanje, preskakanje",
|
||||||
"asset_action_share_err_offline": "Nije moguće dohvatiti izvanmrežne resurse, preskačem",
|
"asset_action_share_err_offline": "Nije moguće dohvatiti izvanmrežne stavke, preskakanje",
|
||||||
"asset_added_to_album": "Dodano u album",
|
"asset_added_to_album": "Dodano u album",
|
||||||
"asset_adding_to_album": "Dodavanje u album…",
|
"asset_adding_to_album": "Dodavanje u album…",
|
||||||
"asset_description_updated": "Opis imovine je ažuriran",
|
"asset_description_updated": "Opis stavke je ažuriran",
|
||||||
"asset_filename_is_offline": "Sredstvo {filename} je izvan mreže",
|
"asset_filename_is_offline": "Stavka {filename} je izvan mreže",
|
||||||
"asset_has_unassigned_faces": "Materijal ima nedodijeljena lica",
|
"asset_has_unassigned_faces": "Stavka ima nedodijeljena lica",
|
||||||
"asset_hashing": "Sažimanje…",
|
"asset_hashing": "Hashiranje…",
|
||||||
"asset_list_group_by_sub_title": "Grupiraj po",
|
"asset_list_group_by_sub_title": "Grupiraj po",
|
||||||
"asset_list_layout_settings_dynamic_layout_title": "Dinamički raspored",
|
"asset_list_layout_settings_dynamic_layout_title": "Dinamički raspored",
|
||||||
"asset_list_layout_settings_group_automatically": "Automatski",
|
"asset_list_layout_settings_group_automatically": "Automatski",
|
||||||
"asset_list_layout_settings_group_by": "Grupiraj resurse po",
|
"asset_list_layout_settings_group_by": "Grupiraj stavke po",
|
||||||
"asset_list_layout_settings_group_by_month_day": "Mjesec + dan",
|
"asset_list_layout_settings_group_by_month_day": "Mjesec + dan",
|
||||||
"asset_list_layout_sub_title": "Raspored",
|
"asset_list_layout_sub_title": "Raspored",
|
||||||
"asset_list_settings_subtitle": "Postavke izgleda mreže fotografija",
|
"asset_list_settings_subtitle": "Postavke izgleda Mreže fotografija",
|
||||||
"asset_list_settings_title": "Mreža Fotografija",
|
"asset_list_settings_title": "Mreža fotografija",
|
||||||
"asset_offline": "Sredstvo izvan mreže",
|
"asset_offline": "Stavka izvan mreže",
|
||||||
"asset_offline_description": "Ovaj materijal je izvan mreže. Immich ne može pristupiti lokaciji datoteke. Provjerite je li sredstvo dostupno, a zatim ponovno skenirajte biblioteku.",
|
"asset_offline_description": "Ova vanjska stavka nije pronađena na disku. Za pomoć se obratite Immich administratoru.",
|
||||||
"asset_restored_successfully": "Resurs uspješno obnovljen",
|
"asset_restored_successfully": "Stavka uspješno obnovljena",
|
||||||
"asset_skipped": "Preskočeno",
|
"asset_skipped": "Preskočeno",
|
||||||
"asset_skipped_in_trash": "U smeću",
|
"asset_skipped_in_trash": "U smeću",
|
||||||
"asset_uploaded": "Učitano",
|
"asset_trashed": "Stavka premještena u smeće",
|
||||||
"asset_uploading": "Šaljem…",
|
"asset_troubleshoot": "Rješavanje problema sa stavkom",
|
||||||
"asset_viewer_settings_subtitle": "Upravljajte postavkama preglednika vaše galerije",
|
"asset_uploaded": "Preneseno",
|
||||||
"asset_viewer_settings_title": "Preglednik Resursa",
|
"asset_uploading": "Prenošenje…",
|
||||||
"assets": "Sredstva",
|
"asset_viewer_settings_subtitle": "Upravljajte postavkama vašeg preglednika galerije",
|
||||||
"assets_added_count": "Dodano {count, plural, one {# asset} other {# assets}}",
|
"asset_viewer_settings_title": "Preglednik stavki",
|
||||||
"assets_added_to_album_count": "Dodano {count, plural, one {# asset} other {# assets}} u album",
|
"assets": "Stavke",
|
||||||
"assets_added_to_albums_count": "Dodano je {assetTotal} datoteka u {albumTotal} albuma",
|
"assets_added_count": "{count, plural, one {Dodana # stavka} few {Dodane # stavke} other {Dodano # stavki}}",
|
||||||
"assets_cannot_be_added_to_album_count": "{count, plural, one {Sadržaj se ne može dodati u album} other {{count} sadržaja se ne mogu dodati u album}}",
|
"assets_added_to_album_count": "{count, plural, one {Dodana # stavka} few {Dodane # stavke} other {Dodano # stavki}} u album",
|
||||||
"assets_cannot_be_added_to_albums": "{count, plural, one {Datoteka se ne može dodati ni u jedan album} few {Datoteke se ne mogu dodati ni u jedan album} other {Datoteka se ne može dodati ni u jedan album}}",
|
"assets_added_to_albums_count": "{assetTotal, plural, one {Dodana # stavka} other {Dodano # stavki}} u {albumTotal, plural, one {# album} other {# albuma}}",
|
||||||
"assets_count": "{count, plural, one {# asset} other {# assets}}",
|
"assets_cannot_be_added_to_album_count": "{count, plural, one {Stavka se ne može} other {Stavke se ne mogu}} dodati u album",
|
||||||
"assets_deleted_permanently": "{count} resurs(i) uspješno uklonjeni",
|
"assets_cannot_be_added_to_albums": "{count, plural, one {Stavka se ne može} few {Stavke se ne mogu} other {Stavki se ne može}} dodati ni u jedan album",
|
||||||
"assets_deleted_permanently_from_server": "{count} resurs(i) trajno obrisan(i) sa Immich poslužitelja",
|
"assets_count": "{count, plural, one {# stavka} few {# stavke} other {# stavki}}",
|
||||||
"assets_downloaded_failed": "{count, plural, one {Preuzeta # datoteka – {error} datoteka nije uspjela} other {Preuzeto je # datoteka – {error} datoteke nisu uspjele}}",
|
"assets_deleted_permanently": "Trajno {count, plural, one {izbrisana # stavka} few {izbrisane # stavke} other {izbrisano # stavki}}",
|
||||||
"assets_downloaded_successfully": "{count, plural, one {Uspješno preuzeta # datoteka} other {Uspješno preuzete # datoteke}}",
|
"assets_deleted_permanently_from_server": "Trajno {count, plural, one {izbrisana # stavka} few {izbrisane # stavke} other {izbrisano # stavki}} s Immich servera",
|
||||||
"assets_moved_to_trash_count": "{count, plural, one {# asset} other {# asset}} premješteno u smeće",
|
"assets_downloaded_failed": "{count, plural, one {Preuzeta # datoteka – {error} datoteka nije uspjela} few {Preuzete # datoteke - {error} datoteke nisu uspjele} other {Preuzeto # datoteka – {error} datoteke nisu uspjele}}",
|
||||||
"assets_permanently_deleted_count": "Trajno izbrisano {count, plural, one {# asset} other {# assets}}",
|
"assets_downloaded_successfully": "{count, plural, one {Uspješno preuzeta # datoteka} few {Uspješno preuzete # datoteke} other {Uspješno preueto # datoteka}}",
|
||||||
"assets_removed_count": "Uklonjeno {count, plural, one {# asset} other {# assets}}",
|
"assets_moved_to_trash_count": "{count, plural, one {# stavka premještena} few {# stavke premještene} other {# stavk premještenoi}} u smeće",
|
||||||
|
"assets_permanently_deleted_count": "Trajno {count, plural, one {izbrisana # stavka} few {izbrisane # stavke} other {izbrisano # stavki}}",
|
||||||
|
"assets_removed_count": "{count, plural, one {Uklonjena # stavka} few {Uklonjene # stavke} other {Uklonjeno # stavki}}",
|
||||||
"assets_removed_permanently_from_device": "{count} resurs(i) trajno uklonjen(i) s vašeg uređaja",
|
"assets_removed_permanently_from_device": "{count} resurs(i) trajno uklonjen(i) s vašeg uređaja",
|
||||||
"assets_restore_confirmation": "Jeste li sigurni da želite obnoviti sve svoje resurse bačene u otpad? Ne možete poništiti ovu radnju! Imajte na umu da se bilo koji izvanmrežni resursi ne mogu obnoviti na ovaj način.",
|
"assets_restore_confirmation": "Jeste li sigurni da želite obnoviti sve svoje resurse bačene u otpad? Ne možete poništiti ovu radnju! Imajte na umu da se bilo koji izvanmrežni resursi ne mogu obnoviti na ovaj način.",
|
||||||
"assets_restored_count": "Vraćeno {count, plural, one {# asset} other {# assets}}",
|
"assets_restored_count": "Vraćeno {count, plural, one {# asset} other {# assets}}",
|
||||||
|
|
@ -518,7 +527,7 @@
|
||||||
"assets_trashed_from_server": "{count} resurs(i) premješten(i) u smeće s Immich poslužitelja",
|
"assets_trashed_from_server": "{count} resurs(i) premješten(i) u smeće s Immich poslužitelja",
|
||||||
"assets_were_part_of_album_count": "{count, plural, one {Asset was} other {Assets were}} već dio albuma",
|
"assets_were_part_of_album_count": "{count, plural, one {Asset was} other {Assets were}} već dio albuma",
|
||||||
"assets_were_part_of_albums_count": "{count, plural, one {Datoteka je već bila dio albuma} few {Datoteke su već bile dio albuma} other {Datoteka je već bila dio albuma}}",
|
"assets_were_part_of_albums_count": "{count, plural, one {Datoteka je već bila dio albuma} few {Datoteke su već bile dio albuma} other {Datoteka je već bila dio albuma}}",
|
||||||
"authorized_devices": "Ovlašteni Uređaji",
|
"authorized_devices": "Ovlašteni uređaji",
|
||||||
"automatic_endpoint_switching_subtitle": "Povežite se lokalno preko naznačene Wi-Fi mreže kada je dostupna i koristite alternativne veze na drugim lokacijama",
|
"automatic_endpoint_switching_subtitle": "Povežite se lokalno preko naznačene Wi-Fi mreže kada je dostupna i koristite alternativne veze na drugim lokacijama",
|
||||||
"automatic_endpoint_switching_title": "Automatsko prebacivanje URL-a",
|
"automatic_endpoint_switching_title": "Automatsko prebacivanje URL-a",
|
||||||
"autoplay_slideshow": "Automatsko prikazivanje slajdova",
|
"autoplay_slideshow": "Automatsko prikazivanje slajdova",
|
||||||
|
|
@ -1034,7 +1043,7 @@
|
||||||
"export_database_description": "Izvezi SQLite bazu podataka",
|
"export_database_description": "Izvezi SQLite bazu podataka",
|
||||||
"extension": "Proširenje (Extension)",
|
"extension": "Proširenje (Extension)",
|
||||||
"external": "Vanjski",
|
"external": "Vanjski",
|
||||||
"external_libraries": "Vanjske Biblioteke",
|
"external_libraries": "Vanjske biblioteke",
|
||||||
"external_network": "Vanjska mreža",
|
"external_network": "Vanjska mreža",
|
||||||
"external_network_sheet_info": "Kada niste na željenoj Wi-Fi mreži, aplikacija će se povezati s poslužiteljem putem prve dostupne URL adrese s popisa ispod, redom od vrha prema dnu",
|
"external_network_sheet_info": "Kada niste na željenoj Wi-Fi mreži, aplikacija će se povezati s poslužiteljem putem prve dostupne URL adrese s popisa ispod, redom od vrha prema dnu",
|
||||||
"face_unassigned": "Nedodijeljeno",
|
"face_unassigned": "Nedodijeljeno",
|
||||||
|
|
@ -1048,7 +1057,7 @@
|
||||||
"favorites": "Omiljene",
|
"favorites": "Omiljene",
|
||||||
"favorites_page_no_favorites": "Nema pronađenih omiljenih stavki",
|
"favorites_page_no_favorites": "Nema pronađenih omiljenih stavki",
|
||||||
"feature_photo_updated": "Istaknuta fotografija ažurirana",
|
"feature_photo_updated": "Istaknuta fotografija ažurirana",
|
||||||
"features": "Značajke (Features)",
|
"features": "Značajke",
|
||||||
"features_setting_description": "Upravljajte značajkama aplikacije",
|
"features_setting_description": "Upravljajte značajkama aplikacije",
|
||||||
"file_name": "Naziv datoteke",
|
"file_name": "Naziv datoteke",
|
||||||
"file_name_or_extension": "Naziv ili ekstenzija datoteke",
|
"file_name_or_extension": "Naziv ili ekstenzija datoteke",
|
||||||
|
|
@ -1220,7 +1229,7 @@
|
||||||
"location_picker_longitude_error": "Unesite valjanu geografsku dužinu",
|
"location_picker_longitude_error": "Unesite valjanu geografsku dužinu",
|
||||||
"location_picker_longitude_hint": "Unesite ovdje svoju geografsku dužinu",
|
"location_picker_longitude_hint": "Unesite ovdje svoju geografsku dužinu",
|
||||||
"lock": "Zaključaj",
|
"lock": "Zaključaj",
|
||||||
"locked_folder": "Zaključana Mapa",
|
"locked_folder": "Zaključana mapa",
|
||||||
"log_out": "Odjavi se",
|
"log_out": "Odjavi se",
|
||||||
"log_out_all_devices": "Odjava sa svih uređaja",
|
"log_out_all_devices": "Odjava sa svih uređaja",
|
||||||
"logged_in_as": "Prijavljeni kao {user}",
|
"logged_in_as": "Prijavljeni kao {user}",
|
||||||
|
|
@ -1900,6 +1909,8 @@
|
||||||
"sync_albums_manual_subtitle": "Sinkroniziraj sve prenesene videozapise i fotografije u odabrane albume za sigurnosnu kopiju",
|
"sync_albums_manual_subtitle": "Sinkroniziraj sve prenesene videozapise i fotografije u odabrane albume za sigurnosnu kopiju",
|
||||||
"sync_local": "Sinkroniziraj lokalno",
|
"sync_local": "Sinkroniziraj lokalno",
|
||||||
"sync_remote": "Sinkroniziraj udaljeno",
|
"sync_remote": "Sinkroniziraj udaljeno",
|
||||||
|
"sync_status": "Status sinkronizacije",
|
||||||
|
"sync_status_subtitle": "Pregledajte i upravljajte sistemom sinkronizacije",
|
||||||
"sync_upload_album_setting_subtitle": "Kreiraj i prenesi svoje fotografije i videozapise u odabrane albume na Immichu",
|
"sync_upload_album_setting_subtitle": "Kreiraj i prenesi svoje fotografije i videozapise u odabrane albume na Immichu",
|
||||||
"tag": "Oznaka",
|
"tag": "Oznaka",
|
||||||
"tag_assets": "Označi stavke",
|
"tag_assets": "Označi stavke",
|
||||||
|
|
|
||||||
|
|
@ -28,10 +28,12 @@
|
||||||
"add_to_album": "Tambahkan ke album",
|
"add_to_album": "Tambahkan ke album",
|
||||||
"add_to_album_bottom_sheet_added": "Ditambahkan ke {album}",
|
"add_to_album_bottom_sheet_added": "Ditambahkan ke {album}",
|
||||||
"add_to_album_bottom_sheet_already_exists": "Sudah ada di {album}",
|
"add_to_album_bottom_sheet_already_exists": "Sudah ada di {album}",
|
||||||
|
"add_to_album_bottom_sheet_some_local_assets": "Beberapa aset lokal tidak dapat ditambahkan ke album",
|
||||||
"add_to_album_toggle": "Masukkan ke {album} / Batalkan dari {album}",
|
"add_to_album_toggle": "Masukkan ke {album} / Batalkan dari {album}",
|
||||||
"add_to_albums": "Tambahkan ke album",
|
"add_to_albums": "Tambahkan ke album",
|
||||||
"add_to_albums_count": "Tambahkan ke album ({count})",
|
"add_to_albums_count": "Tambahkan ke album ({count})",
|
||||||
"add_to_shared_album": "Tambahkan ke album terbagi",
|
"add_to_shared_album": "Tambahkan ke album terbagi",
|
||||||
|
"add_upload_to_stack": "Tambahkan unggahan ke tumpukan",
|
||||||
"add_url": "Tambahkan URL",
|
"add_url": "Tambahkan URL",
|
||||||
"added_to_archive": "Ditambahkan ke arsip",
|
"added_to_archive": "Ditambahkan ke arsip",
|
||||||
"added_to_favorites": "Ditambahkan ke favorit",
|
"added_to_favorites": "Ditambahkan ke favorit",
|
||||||
|
|
@ -598,6 +600,7 @@
|
||||||
"backup_controller_page_turn_on": "Aktifkan pencadangan latar depan",
|
"backup_controller_page_turn_on": "Aktifkan pencadangan latar depan",
|
||||||
"backup_controller_page_uploading_file_info": "Mengunggah info file",
|
"backup_controller_page_uploading_file_info": "Mengunggah info file",
|
||||||
"backup_err_only_album": "Tidak dapat menghapus album",
|
"backup_err_only_album": "Tidak dapat menghapus album",
|
||||||
|
"backup_error_sync_failed": "Sinkronisasi gagal. Tidak dapat memproses cadangan.",
|
||||||
"backup_info_card_assets": "aset",
|
"backup_info_card_assets": "aset",
|
||||||
"backup_manual_cancelled": "Dibatalkan",
|
"backup_manual_cancelled": "Dibatalkan",
|
||||||
"backup_manual_in_progress": "Dalam proses unggah. Coba lagi nanti",
|
"backup_manual_in_progress": "Dalam proses unggah. Coba lagi nanti",
|
||||||
|
|
|
||||||
|
|
@ -14,7 +14,7 @@
|
||||||
"add_a_location": "Aggiungi una posizione",
|
"add_a_location": "Aggiungi una posizione",
|
||||||
"add_a_name": "Aggiungi un nome",
|
"add_a_name": "Aggiungi un nome",
|
||||||
"add_a_title": "Aggiungi un titolo",
|
"add_a_title": "Aggiungi un titolo",
|
||||||
"add_birthday": "Aggiungi un compleanno",
|
"add_birthday": "Aggiungi compleanno",
|
||||||
"add_endpoint": "Aggiungi un endpoint",
|
"add_endpoint": "Aggiungi un endpoint",
|
||||||
"add_exclusion_pattern": "Aggiungi un pattern di esclusione",
|
"add_exclusion_pattern": "Aggiungi un pattern di esclusione",
|
||||||
"add_import_path": "Aggiungi un percorso per l’importazione",
|
"add_import_path": "Aggiungi un percorso per l’importazione",
|
||||||
|
|
@ -33,6 +33,7 @@
|
||||||
"add_to_albums": "Aggiungi ad album",
|
"add_to_albums": "Aggiungi ad album",
|
||||||
"add_to_albums_count": "Aggiungi ad album ({count})",
|
"add_to_albums_count": "Aggiungi ad album ({count})",
|
||||||
"add_to_shared_album": "Aggiungi ad album condiviso",
|
"add_to_shared_album": "Aggiungi ad album condiviso",
|
||||||
|
"add_upload_to_stack": "Aggiungi caricamento allo stack",
|
||||||
"add_url": "Aggiungi URL",
|
"add_url": "Aggiungi URL",
|
||||||
"added_to_archive": "Aggiunto all'archivio",
|
"added_to_archive": "Aggiunto all'archivio",
|
||||||
"added_to_favorites": "Aggiunto ai preferiti",
|
"added_to_favorites": "Aggiunto ai preferiti",
|
||||||
|
|
@ -1038,6 +1039,7 @@
|
||||||
"exif_bottom_sheet_description_error": "Errore durante l'aggiornamento della descrizione",
|
"exif_bottom_sheet_description_error": "Errore durante l'aggiornamento della descrizione",
|
||||||
"exif_bottom_sheet_details": "DETTAGLI",
|
"exif_bottom_sheet_details": "DETTAGLI",
|
||||||
"exif_bottom_sheet_location": "POSIZIONE",
|
"exif_bottom_sheet_location": "POSIZIONE",
|
||||||
|
"exif_bottom_sheet_no_description": "Nessuna descrizione",
|
||||||
"exif_bottom_sheet_people": "PERSONE",
|
"exif_bottom_sheet_people": "PERSONE",
|
||||||
"exif_bottom_sheet_person_add_person": "Aggiungi nome",
|
"exif_bottom_sheet_person_add_person": "Aggiungi nome",
|
||||||
"exit_slideshow": "Esci dalla presentazione",
|
"exit_slideshow": "Esci dalla presentazione",
|
||||||
|
|
|
||||||
|
|
@ -28,6 +28,7 @@
|
||||||
"add_to_album": "アルバムに追加",
|
"add_to_album": "アルバムに追加",
|
||||||
"add_to_album_bottom_sheet_added": "{album}に追加",
|
"add_to_album_bottom_sheet_added": "{album}に追加",
|
||||||
"add_to_album_bottom_sheet_already_exists": "{album}に追加済み",
|
"add_to_album_bottom_sheet_already_exists": "{album}に追加済み",
|
||||||
|
"add_to_album_bottom_sheet_some_local_assets": "いくつかの項目はまだサーバーへアップロードされていないためアルバムに追加できませんでした",
|
||||||
"add_to_album_toggle": "{album}の選択を切り替え",
|
"add_to_album_toggle": "{album}の選択を切り替え",
|
||||||
"add_to_albums": "アルバムに追加",
|
"add_to_albums": "アルバムに追加",
|
||||||
"add_to_albums_count": "{count}つのアルバムへ追加",
|
"add_to_albums_count": "{count}つのアルバムへ追加",
|
||||||
|
|
@ -598,6 +599,7 @@
|
||||||
"backup_controller_page_turn_on": "バックアップをオンにする",
|
"backup_controller_page_turn_on": "バックアップをオンにする",
|
||||||
"backup_controller_page_uploading_file_info": "アップロード中のファイル",
|
"backup_controller_page_uploading_file_info": "アップロード中のファイル",
|
||||||
"backup_err_only_album": "最低1つのアルバムを選択してください",
|
"backup_err_only_album": "最低1つのアルバムを選択してください",
|
||||||
|
"backup_error_sync_failed": "同期に失敗しました。バックアップができません。",
|
||||||
"backup_info_card_assets": "写真と動画",
|
"backup_info_card_assets": "写真と動画",
|
||||||
"backup_manual_cancelled": "キャンセルされました",
|
"backup_manual_cancelled": "キャンセルされました",
|
||||||
"backup_manual_in_progress": "アップロードが進行中です。後でもう一度試してください",
|
"backup_manual_in_progress": "アップロードが進行中です。後でもう一度試してください",
|
||||||
|
|
|
||||||
|
|
@ -14,6 +14,7 @@
|
||||||
"add_a_location": "დაამატე ადგილი",
|
"add_a_location": "დაამატე ადგილი",
|
||||||
"add_a_name": "დაამატე სახელი",
|
"add_a_name": "დაამატე სახელი",
|
||||||
"add_a_title": "დაასათაურე",
|
"add_a_title": "დაასათაურე",
|
||||||
|
"add_birthday": "დაბადების დღის დამატება",
|
||||||
"add_exclusion_pattern": "დაამატე გამონაკლისი ნიმუში",
|
"add_exclusion_pattern": "დაამატე გამონაკლისი ნიმუში",
|
||||||
"add_import_path": "დაამატე საიმპორტო მისამართი",
|
"add_import_path": "დაამატე საიმპორტო მისამართი",
|
||||||
"add_location": "დაამატე ადგილი",
|
"add_location": "დაამატე ადგილი",
|
||||||
|
|
@ -21,16 +22,20 @@
|
||||||
"add_partner": "დაამატე პარტნიორი",
|
"add_partner": "დაამატე პარტნიორი",
|
||||||
"add_path": "დაამატე მისამართი",
|
"add_path": "დაამატე მისამართი",
|
||||||
"add_photos": "დაამატე ფოტოები",
|
"add_photos": "დაამატე ფოტოები",
|
||||||
|
"add_tag": "დაამატე თეგი",
|
||||||
"add_to": "დაამატე ...ში",
|
"add_to": "დაამატე ...ში",
|
||||||
"add_to_album": "დაამატე ალბომში",
|
"add_to_album": "დაამატე ალბომში",
|
||||||
"add_to_album_bottom_sheet_added": "დამატებულია {album}-ში",
|
"add_to_album_bottom_sheet_added": "დამატებულია {album}-ში",
|
||||||
"add_to_album_bottom_sheet_already_exists": "{album}-ში უკვე არსებობს",
|
"add_to_album_bottom_sheet_already_exists": "{album}-ში უკვე არსებობს",
|
||||||
|
"add_to_albums": "დაამატე ალბომებში",
|
||||||
|
"add_to_albums_count": "დაამატე ალბომში ({count})",
|
||||||
"add_to_shared_album": "დაამატე საზიარო ალბომში",
|
"add_to_shared_album": "დაამატე საზიარო ალბომში",
|
||||||
"add_url": "დაამატე URL",
|
"add_url": "დაამატე URL",
|
||||||
"added_to_archive": "დაარქივდა",
|
"added_to_archive": "დაარქივდა",
|
||||||
"added_to_favorites": "დაამატე რჩეულებში",
|
"added_to_favorites": "დაამატე რჩეულებში",
|
||||||
"added_to_favorites_count": "{count, number} დაემატა რჩეულებში",
|
"added_to_favorites_count": "{count, number} დაემატა რჩეულებში",
|
||||||
"admin": {
|
"admin": {
|
||||||
|
"admin_user": "ადმინ მომხმარებელი",
|
||||||
"asset_offline_description": "ეს საგარეო ბიბლიოთეკის აქტივი დისკზე ვერ მოიძებნა და სანაგვეში იქნა მოთავსებული. თუ ფაილი ბიბლიოთეკის შიგნით მდებარეობს, შეამოწმეთ შესაბამისი აქტივი ტაიმლაინზე. ამ აქტივის აღსადგენად, დარწმუნდით რომ ქვემოთ მოცემული ფაილის მისამართი Immich-ის მიერ წვდომადია და დაასკანერეთ ბიბლიოთეკა.",
|
"asset_offline_description": "ეს საგარეო ბიბლიოთეკის აქტივი დისკზე ვერ მოიძებნა და სანაგვეში იქნა მოთავსებული. თუ ფაილი ბიბლიოთეკის შიგნით მდებარეობს, შეამოწმეთ შესაბამისი აქტივი ტაიმლაინზე. ამ აქტივის აღსადგენად, დარწმუნდით რომ ქვემოთ მოცემული ფაილის მისამართი Immich-ის მიერ წვდომადია და დაასკანერეთ ბიბლიოთეკა.",
|
||||||
"authentication_settings": "ავთენტიკაციის პარამეტრები",
|
"authentication_settings": "ავთენტიკაციის პარამეტრები",
|
||||||
"authentication_settings_description": "პაროლის, OAuth-ის და სხვა ავტენთიფიკაციის პარამეტრების მართვა",
|
"authentication_settings_description": "პაროლის, OAuth-ის და სხვა ავტენთიფიკაციის პარამეტრების მართვა",
|
||||||
|
|
@ -41,7 +46,7 @@
|
||||||
"backup_database_enable_description": "ბაზის დამპების ჩართვა",
|
"backup_database_enable_description": "ბაზის დამპების ჩართვა",
|
||||||
"backup_keep_last_amount": "წინა დამპების შესანარჩუნებელი რაოდენობა",
|
"backup_keep_last_amount": "წინა დამპების შესანარჩუნებელი რაოდენობა",
|
||||||
"backup_settings": "მონაცემთა ბაზის დამპის მორგება",
|
"backup_settings": "მონაცემთა ბაზის დამპის მორგება",
|
||||||
"backup_settings_description": "მონაცემთა ბაზის პარამეტრების ამრთვა. შენიშვნა: ამ დავალებების მონიტორინგი არ ხდება და თქვენ არ მოგივათ შეტყობინება, თუ ის ჩავარდება.",
|
"backup_settings_description": "მონაცემთა ბაზის ასლის შექმნის პარამეტრების მრთვა.",
|
||||||
"cleared_jobs": "დავალებები {job}-ისათვის გაწმენდილია",
|
"cleared_jobs": "დავალებები {job}-ისათვის გაწმენდილია",
|
||||||
"config_set_by_file": "მიმდინარე კონფიგურაცია ფაილის მიერ არის დაყენებული",
|
"config_set_by_file": "მიმდინარე კონფიგურაცია ფაილის მიერ არის დაყენებული",
|
||||||
"confirm_delete_library": "ნამდვილად გინდა {library} ბიბლიოთეკის წაშლა?",
|
"confirm_delete_library": "ნამდვილად გინდა {library} ბიბლიოთეკის წაშლა?",
|
||||||
|
|
@ -58,6 +63,7 @@
|
||||||
"image_format_description": "WebP ფორმატი JPEG-ზე პატარა ფაილებს აწარმოებს, მაგრამ მის დამზადებას უფრო მეტი დრო სჭირდება.",
|
"image_format_description": "WebP ფორმატი JPEG-ზე პატარა ფაილებს აწარმოებს, მაგრამ მის დამზადებას უფრო მეტი დრო სჭირდება.",
|
||||||
"image_fullsize_title": "სრული ზომის გამოსახულების პარამეტრები",
|
"image_fullsize_title": "სრული ზომის გამოსახულების პარამეტრები",
|
||||||
"image_prefer_wide_gamut": "უპირატესობა მიენიჭოს ფერის ფართე დიაპაზონს",
|
"image_prefer_wide_gamut": "უპირატესობა მიენიჭოს ფერის ფართე დიაპაზონს",
|
||||||
|
"image_preview_title": "გამოსახულების გადახედვის პარამეტრები",
|
||||||
"image_quality": "ხარისხი",
|
"image_quality": "ხარისხი",
|
||||||
"image_resolution": "გაფართოება",
|
"image_resolution": "გაფართოება",
|
||||||
"image_settings": "გამოსახულების პარამეტრები",
|
"image_settings": "გამოსახულების პარამეტრები",
|
||||||
|
|
@ -68,6 +74,7 @@
|
||||||
"library_created": "შეიქმნა ბიბლიოთეკა: {library}",
|
"library_created": "შეიქმნა ბიბლიოთეკა: {library}",
|
||||||
"library_deleted": "ბიბლიოთეკა წაიშალა",
|
"library_deleted": "ბიბლიოთეკა წაიშალა",
|
||||||
"library_import_path_description": "აირჩიე დასაიმპორტებელი საქაღალდე. ფოტოები და ვიდეოები მოიძებნება ამ საქაღალდესა და მასში არსებულ საქაღალდეებში.",
|
"library_import_path_description": "აირჩიე დასაიმპორტებელი საქაღალდე. ფოტოები და ვიდეოები მოიძებნება ამ საქაღალდესა და მასში არსებულ საქაღალდეებში.",
|
||||||
|
"library_settings": "გარე ბიბლიოთეკა",
|
||||||
"library_settings_description": "გარე ბიბლიოთეკების პარამეტრების მართვა",
|
"library_settings_description": "გარე ბიბლიოთეკების პარამეტრების მართვა",
|
||||||
"logging_settings": "ჟურნალი",
|
"logging_settings": "ჟურნალი",
|
||||||
"map_settings": "რუკა",
|
"map_settings": "რუკა",
|
||||||
|
|
|
||||||
74
i18n/lv.json
74
i18n/lv.json
|
|
@ -28,10 +28,12 @@
|
||||||
"add_to_album": "Pievienot albumam",
|
"add_to_album": "Pievienot albumam",
|
||||||
"add_to_album_bottom_sheet_added": "Pievienots {album}",
|
"add_to_album_bottom_sheet_added": "Pievienots {album}",
|
||||||
"add_to_album_bottom_sheet_already_exists": "Jau pievienots {album}",
|
"add_to_album_bottom_sheet_already_exists": "Jau pievienots {album}",
|
||||||
|
"add_to_album_bottom_sheet_some_local_assets": "Dažus lokālos failus albumam nevarēja pievienot",
|
||||||
"add_to_album_toggle": "Pārslēgt izvēli {album}",
|
"add_to_album_toggle": "Pārslēgt izvēli {album}",
|
||||||
"add_to_albums": "Pievienot albumiem",
|
"add_to_albums": "Pievienot albumiem",
|
||||||
"add_to_albums_count": "Pievienot albumiem ({count})",
|
"add_to_albums_count": "Pievienot albumiem ({count})",
|
||||||
"add_to_shared_album": "Pievienot koplietotam albumam",
|
"add_to_shared_album": "Pievienot koplietotam albumam",
|
||||||
|
"add_upload_to_stack": "Pievienot augšupielādi kaudzei",
|
||||||
"add_url": "Pievienot URL",
|
"add_url": "Pievienot URL",
|
||||||
"added_to_archive": "Pievienots arhīvam",
|
"added_to_archive": "Pievienots arhīvam",
|
||||||
"added_to_favorites": "Pievienots izlasei",
|
"added_to_favorites": "Pievienots izlasei",
|
||||||
|
|
@ -49,7 +51,11 @@
|
||||||
"backup_database_enable_description": "Iespējot datu bāzes izrakstus",
|
"backup_database_enable_description": "Iespējot datu bāzes izrakstus",
|
||||||
"backup_keep_last_amount": "Iepriekšējo izrakstu daudzums, kas jāsaglabā",
|
"backup_keep_last_amount": "Iepriekšējo izrakstu daudzums, kas jāsaglabā",
|
||||||
"backup_onboarding_1_description": "ārēja kopija mākonī vai citā fiziskā atrašanās vietā.",
|
"backup_onboarding_1_description": "ārēja kopija mākonī vai citā fiziskā atrašanās vietā.",
|
||||||
"backup_onboarding_2_description": "vietējās kopijas citās ierīcēs. Tas ietver galvenos failus un šo failu vietējo rezerves kopiju.",
|
"backup_onboarding_2_description": "lokālās kopijas citās ierīcēs. Tas ietver galvenos failus un šo failu lokālo rezerves kopiju.",
|
||||||
|
"backup_onboarding_3_description": "kopiju skaits, ieskaitot oriģinālos failus. Tas ietver 1 ārējo kopiju un 2 lokālās kopijas.",
|
||||||
|
"backup_onboarding_description": "Lai aizsargātu savus datus, ieteicams izmantot <backblaze-link>3-2-1 rezerves kopiju stratēģiju</backblaze-link>. Lai nodrošinātu visaptverošu dublēšanas risinājumu, vajadzētu veidot kopijas saviem augšupielādētajiem fotoattēliem/videoklipiem, kā arī Immich datubāzei.",
|
||||||
|
"backup_onboarding_footer": "Lai iegūtu vairāk informācijas par Immich rezerves kopiju veidošanu, lūdzu, apskatiet <link>dokumentāciju</link>.",
|
||||||
|
"backup_onboarding_parts_title": "3-2-1 rezerves kopija ietver:",
|
||||||
"backup_onboarding_title": "Rezerves kopijas",
|
"backup_onboarding_title": "Rezerves kopijas",
|
||||||
"backup_settings": "Datubāzes izrakstu iestatījumi",
|
"backup_settings": "Datubāzes izrakstu iestatījumi",
|
||||||
"backup_settings_description": "Datubāzes izrakstu iestatījumu pārvaldība",
|
"backup_settings_description": "Datubāzes izrakstu iestatījumu pārvaldība",
|
||||||
|
|
@ -61,12 +67,15 @@
|
||||||
"confirm_user_password_reset": "Vai tiešām vēlaties atiestatīt lietotāja {user} paroli?",
|
"confirm_user_password_reset": "Vai tiešām vēlaties atiestatīt lietotāja {user} paroli?",
|
||||||
"create_job": "Izveidot uzdevumu",
|
"create_job": "Izveidot uzdevumu",
|
||||||
"cron_expression": "Cron izteiksme",
|
"cron_expression": "Cron izteiksme",
|
||||||
|
"cron_expression_description": "Iestatiet skenēšanas intervālu, izmantojot cron formātu. Papildu informācijai skatiet, piemēram, <link>Crontab Guru</link>",
|
||||||
|
"cron_expression_presets": "Cron izteiksmju sagataves",
|
||||||
"disable_login": "Atspējot pieteikšanos",
|
"disable_login": "Atspējot pieteikšanos",
|
||||||
"duplicate_detection_job_description": "Analizēt failus ar mašīnmācīšanos, lai noteiktu līdzīgus attēlus. Šī funkcija izmanto viedo meklēšanu",
|
"duplicate_detection_job_description": "Analizēt failus ar mašīnmācīšanos, lai noteiktu līdzīgus attēlus. Šī funkcija izmanto viedo meklēšanu",
|
||||||
"external_library_management": "Ārējo bibliotēku pārvaldība",
|
"external_library_management": "Ārējo bibliotēku pārvaldība",
|
||||||
"face_detection": "Seju noteikšana",
|
"face_detection": "Seju noteikšana",
|
||||||
"face_detection_description": "Atpazīt attēlos sejas, izmantojot mašīnmācīšanos. Video gadījumā tiek ņemta vērā tikai sīktēls. \"Atsvaidzināt\" atkārtoti apstrādā visus attēlus. \"Atiestatīt\" izdzēš visus pašreizējos seju datus. \"Trūkstošie\" ierindo attēlus, kas vēl nav apstrādāti. Pēc seju noteikšanas pabeigšanas atrastās sejas tiek ierindotas seju atpazīšanai, grupējot tās pēc esošas vai jauns personas.",
|
"face_detection_description": "Atpazīt attēlos sejas, izmantojot mašīnmācīšanos. Video gadījumā tiek ņemta vērā tikai sīktēls. \"Atsvaidzināt\" atkārtoti apstrādā visus attēlus. \"Atiestatīt\" izdzēš visus pašreizējos seju datus. \"Trūkstošie\" ierindo attēlus, kas vēl nav apstrādāti. Pēc seju noteikšanas pabeigšanas atrastās sejas tiek ierindotas seju atpazīšanai, grupējot tās pēc esošas vai jauns personas.",
|
||||||
"facial_recognition_job_description": "Grupēt atpazītās sejas pēc cilvēkiem. Šis solis tiek veikts pēc seju noteikšanas pabeigšanas. \"Atiestatīt\" atkārtoti sagrupē visas sejas. \"Trūkstošie\" ierindo sejas, kurām nav piešķirta persona.",
|
"facial_recognition_job_description": "Grupēt atpazītās sejas pēc cilvēkiem. Šis solis tiek veikts pēc seju noteikšanas pabeigšanas. \"Atiestatīt\" atkārtoti sagrupē visas sejas. \"Trūkstošie\" ierindo sejas, kurām nav piešķirta persona.",
|
||||||
|
"force_delete_user_warning": "BRĪDINĀJUMS: Tas uzreiz izdzēsīs lietotāju ar visiem failiem. Šo darbību nevar atcelt, un failus nevarēs atgūt.",
|
||||||
"image_format": "Formāts",
|
"image_format": "Formāts",
|
||||||
"image_format_description": "WebP veido mazākus failus nekā JPEG, taču to kodēšana ir lēnāka.",
|
"image_format_description": "WebP veido mazākus failus nekā JPEG, taču to kodēšana ir lēnāka.",
|
||||||
"image_fullsize_description": "Pilnizmēra attēls ar noņemtiem metadatiem, ko izmanto, kad attēls ir tuvināts",
|
"image_fullsize_description": "Pilnizmēra attēls ar noņemtiem metadatiem, ko izmanto, kad attēls ir tuvināts",
|
||||||
|
|
@ -76,29 +85,37 @@
|
||||||
"image_fullsize_title": "Pilnizmēra attēlu iestatījumi",
|
"image_fullsize_title": "Pilnizmēra attēlu iestatījumi",
|
||||||
"image_prefer_embedded_preview": "Priekšroka iegultajam priekšskatījumam",
|
"image_prefer_embedded_preview": "Priekšroka iegultajam priekšskatījumam",
|
||||||
"image_prefer_embedded_preview_setting_description": "Izmanto RAW fotoattēlos iestrādātos priekšskatījumus, ja tādi ir pieejami, kā ievades datus attēlu apstrādei. Tādējādi dažiem attēliem var iegūt precīzākas krāsas, taču priekšskatījuma kvalitāte ir atkarīga no fotokameras un attēlam var būt vairāk saspiešanas artefaktu.",
|
"image_prefer_embedded_preview_setting_description": "Izmanto RAW fotoattēlos iestrādātos priekšskatījumus, ja tādi ir pieejami, kā ievades datus attēlu apstrādei. Tādējādi dažiem attēliem var iegūt precīzākas krāsas, taču priekšskatījuma kvalitāte ir atkarīga no fotokameras un attēlam var būt vairāk saspiešanas artefaktu.",
|
||||||
|
"image_prefer_wide_gamut": "Dot priekšroku plašai krāsu gammai",
|
||||||
"image_prefer_wide_gamut_setting_description": "Sīktēliem izmanto Display P3. Tas labāk saglabā attēlu dzīvīgumu ar plašu krāsu gammu, bet attēli var izskatīties atšķirīgi vecās ierīcēs ar vecu pārlūka versiju. sRGB attēli tiek saglabāti kā sRGB, lai izvairītos no krāsu izmaiņām.",
|
"image_prefer_wide_gamut_setting_description": "Sīktēliem izmanto Display P3. Tas labāk saglabā attēlu dzīvīgumu ar plašu krāsu gammu, bet attēli var izskatīties atšķirīgi vecās ierīcēs ar vecu pārlūka versiju. sRGB attēli tiek saglabāti kā sRGB, lai izvairītos no krāsu izmaiņām.",
|
||||||
|
"image_preview_quality_description": "Priekšskatījuma kvalitāte no 1 līdz 100. Augstāka kvalitāte ir labāka, bet veido lielākus failus un var samazināt lietotnes reaģēšanas ātrumu. Zemas vērtības iestatīšana var ietekmēt mašīnmācīšanās kvalitāti.",
|
||||||
"image_preview_title": "Priekšskatījuma iestatījumi",
|
"image_preview_title": "Priekšskatījuma iestatījumi",
|
||||||
"image_quality": "Kvalitāte",
|
"image_quality": "Kvalitāte",
|
||||||
"image_resolution": "Izšķirtspēja",
|
"image_resolution": "Izšķirtspēja",
|
||||||
|
"image_resolution_description": "Augstāka izšķirtspēja ļauj saglabāt vairāk detaļu, taču kodēšana aizņem vairāk laika, failu izmērs ir lielāks un var samazināties lietotnes reaģēšanas ātrums.",
|
||||||
"image_settings": "Attēlu iestatījumi",
|
"image_settings": "Attēlu iestatījumi",
|
||||||
"image_settings_description": "Ģenerēto attēlu kvalitātes un izšķirtspējas pārvaldība",
|
"image_settings_description": "Ģenerēto attēlu kvalitātes un izšķirtspējas pārvaldība",
|
||||||
"image_thumbnail_description": "Neliels sīktēls bez metadatiem, ko izmanto, lai apskatītu vairākus fotoattēlus, piemēram, galvenajā laika skalā",
|
"image_thumbnail_description": "Neliels sīktēls bez metadatiem, ko izmanto, lai apskatītu vairākus fotoattēlus, piemēram, galvenajā laika skalā",
|
||||||
|
"image_thumbnail_quality_description": "Sīktēlu kvalitāte no 1 līdz 100. Augstāka kvalitāte ir labāka, bet veido lielākus failus un var samazināt lietotnes reaģēšanas ātrumu.",
|
||||||
"image_thumbnail_title": "Sīktēlu iestatījumi",
|
"image_thumbnail_title": "Sīktēlu iestatījumi",
|
||||||
"job_concurrency": "{job} vienlaicīgi",
|
"job_concurrency": "{job} vienlaicīgi",
|
||||||
"job_created": "Uzdevums izveidots",
|
"job_created": "Uzdevums izveidots",
|
||||||
|
"job_not_concurrency_safe": "Šis uzdevums nav drošs vienlaicīgai izpildei.",
|
||||||
"job_settings": "Uzdevumu iestatījumi",
|
"job_settings": "Uzdevumu iestatījumi",
|
||||||
"job_settings_description": "Uzdevumu izpildes vienlaicīguma pārvaldība",
|
"job_settings_description": "Uzdevumu izpildes vienlaicīguma pārvaldība",
|
||||||
"job_status": "Uzdevumu statuss",
|
"job_status": "Uzdevumu statuss",
|
||||||
"library_created": "Izveidoja bibliotēku: {library}",
|
"library_created": "Izveidoja bibliotēku: {library}",
|
||||||
"library_deleted": "Bibliotēka dzēsta",
|
"library_deleted": "Bibliotēka dzēsta",
|
||||||
|
"library_import_path_description": "Norādi importējamo mapi. Šī mape un tās apakšmapes tiks pārbaudīta, lai atrastu attēlus un videoklipus.",
|
||||||
"library_scanning": "Periodiska skenēšana",
|
"library_scanning": "Periodiska skenēšana",
|
||||||
"library_scanning_description": "Konfigurē periodisku bibliotēku skenēšanu",
|
"library_scanning_description": "Konfigurē periodisku bibliotēku skenēšanu",
|
||||||
"library_scanning_enable_description": "Iespējot periodisku bibliotēku skenēšanu",
|
"library_scanning_enable_description": "Iespējot periodisku bibliotēku skenēšanu",
|
||||||
"library_settings": "Ārējā bibliotēka",
|
"library_settings": "Ārējās bibliotēkas",
|
||||||
"library_settings_description": "Ārējo bibliotēku iestatījumu pārvaldība",
|
"library_settings_description": "Ārējo bibliotēku iestatījumu pārvaldība",
|
||||||
"library_tasks_description": "Pārbaudīt ārējās bibliotēkas, lai atrastu jaunus un/vai mainītus failus",
|
"library_tasks_description": "Pārbaudīt ārējās bibliotēkas, lai atrastu jaunus un/vai mainītus failus",
|
||||||
|
"library_watching_enable_description": "Uzraudzīt ārējo bibliotēku failu izmaiņas",
|
||||||
"library_watching_settings": "Bibliotēku uzraudzīšana (EKSPERIMENTĀLA)",
|
"library_watching_settings": "Bibliotēku uzraudzīšana (EKSPERIMENTĀLA)",
|
||||||
"library_watching_settings_description": "Automātiski uzraudzīt, vai ir mainīti faili",
|
"library_watching_settings_description": "Automātiski uzraudzīt, vai ir mainīti faili",
|
||||||
|
"machine_learning_availability_checks": "Pieejamības pārbaudes",
|
||||||
"machine_learning_availability_checks_enabled": "Iespējot pieejamības pārbaudes",
|
"machine_learning_availability_checks_enabled": "Iespējot pieejamības pārbaudes",
|
||||||
"machine_learning_clip_model": "CLIP modelis",
|
"machine_learning_clip_model": "CLIP modelis",
|
||||||
"machine_learning_duplicate_detection": "Dublikātu noteikšana",
|
"machine_learning_duplicate_detection": "Dublikātu noteikšana",
|
||||||
|
|
@ -108,6 +125,7 @@
|
||||||
"machine_learning_enabled_description": "Ja funkcija ir atspējota, tiks atspējotas visas ML funkcijas neatkarīgi no zemāk esošajiem iestatījumiem.",
|
"machine_learning_enabled_description": "Ja funkcija ir atspējota, tiks atspējotas visas ML funkcijas neatkarīgi no zemāk esošajiem iestatījumiem.",
|
||||||
"machine_learning_facial_recognition": "Seju atpazīšana",
|
"machine_learning_facial_recognition": "Seju atpazīšana",
|
||||||
"machine_learning_facial_recognition_model": "Seju atpazīšanas modelis",
|
"machine_learning_facial_recognition_model": "Seju atpazīšanas modelis",
|
||||||
|
"machine_learning_facial_recognition_model_description": "Modeļi ir uzskaitīti pēc to izmēra dilstošā secībā. Lielāki modeļi ir lēnāki un izmanto vairāk atmiņas, bet nodrošina labākus rezultātus. Ņem vērā, ka, mainot modeli, ir atkārtoti jāpalaiž sejas atpazīšanas uzdevums visiem attēliem.",
|
||||||
"machine_learning_facial_recognition_setting": "Iespējot seju atpazīšanu",
|
"machine_learning_facial_recognition_setting": "Iespējot seju atpazīšanu",
|
||||||
"machine_learning_settings": "Mašīnmācīšanās iestatījumi",
|
"machine_learning_settings": "Mašīnmācīšanās iestatījumi",
|
||||||
"machine_learning_settings_description": "Mašīnmācīšanās funkciju un iestatījumu pārvaldība",
|
"machine_learning_settings_description": "Mašīnmācīšanās funkciju un iestatījumu pārvaldība",
|
||||||
|
|
@ -120,6 +138,7 @@
|
||||||
"map_dark_style": "Tumšais stils",
|
"map_dark_style": "Tumšais stils",
|
||||||
"map_gps_settings": "Kartes un GPS iestatījumi",
|
"map_gps_settings": "Kartes un GPS iestatījumi",
|
||||||
"map_gps_settings_description": "Karšu un GPS (apgrieztās ģeokodēšanas) iestatījumu pārvaldība",
|
"map_gps_settings_description": "Karšu un GPS (apgrieztās ģeokodēšanas) iestatījumu pārvaldība",
|
||||||
|
"map_implications": "Kartes funkcija izmanto ārējo kartes fragmentu pakalpojumu (tiles.immich.cloud)",
|
||||||
"map_light_style": "Gaišais stils",
|
"map_light_style": "Gaišais stils",
|
||||||
"map_manage_reverse_geocoding_settings": "<link>Reversās ģeokodēšanas</link> iestatījumu pārvaldība",
|
"map_manage_reverse_geocoding_settings": "<link>Reversās ģeokodēšanas</link> iestatījumu pārvaldība",
|
||||||
"map_reverse_geocoding": "Reversā ģeokodēšana",
|
"map_reverse_geocoding": "Reversā ģeokodēšana",
|
||||||
|
|
@ -130,6 +149,7 @@
|
||||||
"memory_generate_job": "Atmiņu ģenerēšana",
|
"memory_generate_job": "Atmiņu ģenerēšana",
|
||||||
"metadata_extraction_job": "Metadatu iegūšana",
|
"metadata_extraction_job": "Metadatu iegūšana",
|
||||||
"metadata_extraction_job_description": "iegūt metadatu informāciju no katra faila, piemēram, GPS, sejas un izšķirtspēju",
|
"metadata_extraction_job_description": "iegūt metadatu informāciju no katra faila, piemēram, GPS, sejas un izšķirtspēju",
|
||||||
|
"metadata_faces_import_setting": "Iespējot seju importēšanu",
|
||||||
"metadata_faces_import_setting_description": "Importēt sejas no attēla EXIF datiem un blakusfailiem",
|
"metadata_faces_import_setting_description": "Importēt sejas no attēla EXIF datiem un blakusfailiem",
|
||||||
"metadata_settings": "Metadatu iestatījumi",
|
"metadata_settings": "Metadatu iestatījumi",
|
||||||
"metadata_settings_description": "Metadatu iestatījumu pārvaldība",
|
"metadata_settings_description": "Metadatu iestatījumu pārvaldība",
|
||||||
|
|
@ -151,6 +171,7 @@
|
||||||
"nightly_tasks_sync_quota_usage_setting_description": "Pārrēķināt lietotāja uzglabāšanas kvotu, pamatojoties uz pašreizējo izmantošanu",
|
"nightly_tasks_sync_quota_usage_setting_description": "Pārrēķināt lietotāja uzglabāšanas kvotu, pamatojoties uz pašreizējo izmantošanu",
|
||||||
"no_paths_added": "Nav pievienots neviens ceļš",
|
"no_paths_added": "Nav pievienots neviens ceļš",
|
||||||
"no_pattern_added": "Nav pievienots neviens izslēgšanas šablons",
|
"no_pattern_added": "Nav pievienots neviens izslēgšanas šablons",
|
||||||
|
"note_apply_storage_label_previous_assets": "Piezīme: Lai piemērotu glabātuves nosaukumu iepriekš augšupielādētiem failiem, izpildiet",
|
||||||
"note_cannot_be_changed_later": "PIEZĪME: Vēlāk to vairs nevar mainīt!",
|
"note_cannot_be_changed_later": "PIEZĪME: Vēlāk to vairs nevar mainīt!",
|
||||||
"notification_email_from_address": "No adreses",
|
"notification_email_from_address": "No adreses",
|
||||||
"notification_email_from_address_description": "Sūtītāja e-pasta adrese, piemēram: “Immich foto serveris <noreply@example.com>”",
|
"notification_email_from_address_description": "Sūtītāja e-pasta adrese, piemēram: “Immich foto serveris <noreply@example.com>”",
|
||||||
|
|
@ -158,7 +179,9 @@
|
||||||
"notification_email_ignore_certificate_errors_description": "Ignorēt TLS sertifikāta apstiprināšanas kļūdas (nav ieteicams)",
|
"notification_email_ignore_certificate_errors_description": "Ignorēt TLS sertifikāta apstiprināšanas kļūdas (nav ieteicams)",
|
||||||
"notification_email_port_description": "e-pasta servera ports (piemēram, 25, 465 vai 587)",
|
"notification_email_port_description": "e-pasta servera ports (piemēram, 25, 465 vai 587)",
|
||||||
"notification_email_sent_test_email_button": "Nosūtīt testa e-pastu un saglabāt",
|
"notification_email_sent_test_email_button": "Nosūtīt testa e-pastu un saglabāt",
|
||||||
|
"notification_email_setting_description": "E-pasta paziņojumu sūtīšanas iestatījumi",
|
||||||
"notification_email_test_email": "Nosūtīt testa e-pastu",
|
"notification_email_test_email": "Nosūtīt testa e-pastu",
|
||||||
|
"notification_email_test_email_failed": "Neizdevās nosūtīt pārbaudes e-pastu, pārbaudi ievadītās vērtības",
|
||||||
"notification_email_test_email_sent": "Uz {email} ir nosūtīts testa e-pasts. Lūdzu, pārbaudi savu iesūtni.",
|
"notification_email_test_email_sent": "Uz {email} ir nosūtīts testa e-pasts. Lūdzu, pārbaudi savu iesūtni.",
|
||||||
"notification_settings": "Paziņojumu iestatījumi",
|
"notification_settings": "Paziņojumu iestatījumi",
|
||||||
"notification_settings_description": "Paziņojumu iestatījumu, tostarp e-pasta, pārvaldība",
|
"notification_settings_description": "Paziņojumu iestatījumu, tostarp e-pasta, pārvaldība",
|
||||||
|
|
@ -170,6 +193,8 @@
|
||||||
"oauth_enable_description": "Pieslēgties ar OAuth",
|
"oauth_enable_description": "Pieslēgties ar OAuth",
|
||||||
"oauth_settings": "OAuth",
|
"oauth_settings": "OAuth",
|
||||||
"oauth_settings_description": "OAuth pieteikšanās iestatījumu pārvaldība",
|
"oauth_settings_description": "OAuth pieteikšanās iestatījumu pārvaldība",
|
||||||
|
"oauth_storage_label_claim": "Glabātuves nosaukuma pieteikums",
|
||||||
|
"oauth_storage_label_claim_description": "Automātiski iestatīt lietotāja glabātuves nosaukumu uz šī pieteikuma vērtību.",
|
||||||
"oauth_storage_quota_default": "Noklusējuma krātuves kvota (GiB)",
|
"oauth_storage_quota_default": "Noklusējuma krātuves kvota (GiB)",
|
||||||
"password_enable_description": "Pieteikšanās ar e-pasta adresi un paroli",
|
"password_enable_description": "Pieteikšanās ar e-pasta adresi un paroli",
|
||||||
"password_settings": "Pieteikšanās ar paroli",
|
"password_settings": "Pieteikšanās ar paroli",
|
||||||
|
|
@ -204,6 +229,7 @@
|
||||||
"storage_template_migration_job": "Krātuves veidņu migrācijas uzdevumu",
|
"storage_template_migration_job": "Krātuves veidņu migrācijas uzdevumu",
|
||||||
"storage_template_path_length": "Aptuvenais ceļa garuma ierobežojums: <b>{length, number}</b>/{limit, number}",
|
"storage_template_path_length": "Aptuvenais ceļa garuma ierobežojums: <b>{length, number}</b>/{limit, number}",
|
||||||
"storage_template_settings": "Krātuves veidne",
|
"storage_template_settings": "Krātuves veidne",
|
||||||
|
"storage_template_user_label": "<code>{label}</code> ir lietotāja glabātuves nosaukums",
|
||||||
"system_settings": "Sistēmas iestatījumi",
|
"system_settings": "Sistēmas iestatījumi",
|
||||||
"template_email_available_tags": "Sagatavē var izmantot šos mainīgos: {tags}",
|
"template_email_available_tags": "Sagatavē var izmantot šos mainīgos: {tags}",
|
||||||
"template_email_if_empty": "Ja sagatave ir tukša, tiks izmantots noklusējuma e-pasts.",
|
"template_email_if_empty": "Ja sagatave ir tukša, tiks izmantots noklusējuma e-pasts.",
|
||||||
|
|
@ -222,15 +248,19 @@
|
||||||
"transcoding_acceleration_qsv": "Quick Sync (nepieciešams 7. paaudzes vai jaunāks Intel procesors)",
|
"transcoding_acceleration_qsv": "Quick Sync (nepieciešams 7. paaudzes vai jaunāks Intel procesors)",
|
||||||
"transcoding_acceleration_rkmpp": "RKMPP (tikai Rockchip SOC)",
|
"transcoding_acceleration_rkmpp": "RKMPP (tikai Rockchip SOC)",
|
||||||
"transcoding_acceleration_vaapi": "VAAPI",
|
"transcoding_acceleration_vaapi": "VAAPI",
|
||||||
|
"transcoding_accepted_video_codecs": "Akceptētie video kodeki",
|
||||||
"transcoding_advanced_options_description": "Lielākajai daļai lietotāju nevajadzētu mainīt šīs opcijas",
|
"transcoding_advanced_options_description": "Lielākajai daļai lietotāju nevajadzētu mainīt šīs opcijas",
|
||||||
"transcoding_audio_codec": "Audio kodeks",
|
"transcoding_audio_codec": "Audio kodeks",
|
||||||
|
"transcoding_audio_codec_description": "Opus ir augstākās kvalitātes izvēle, bet tā ir mazāk saderīga ar vecām ierīcēm vai programmatūru.",
|
||||||
"transcoding_codecs_learn_more": "Lai uzzinātu vairāk par šeit lietoto terminoloģiju, skatiet FFmpeg dokumentāciju par <h264-link>H.264 kodeku</h264-link>, <hevc-link>HEVC kodeku</hevc-link> un <vp9-link>VP9 kodeku</vp9-link>.",
|
"transcoding_codecs_learn_more": "Lai uzzinātu vairāk par šeit lietoto terminoloģiju, skatiet FFmpeg dokumentāciju par <h264-link>H.264 kodeku</h264-link>, <hevc-link>HEVC kodeku</hevc-link> un <vp9-link>VP9 kodeku</vp9-link>.",
|
||||||
|
"transcoding_constant_quality_mode": "Nemainīgas kvalitātes režīms",
|
||||||
"transcoding_constant_quality_mode_description": "ICQ ir labāks nekā CQP, bet dažas aparatūras paātrinājuma ierīces neatbalsta šo režīmu. Iestatot šo opciju, tiks izmantots norādītais režīms, ja tiek izmantota kvalitātē balstīta kodēšana. NVENC to ignorē, jo neatbalsta ICQ.",
|
"transcoding_constant_quality_mode_description": "ICQ ir labāks nekā CQP, bet dažas aparatūras paātrinājuma ierīces neatbalsta šo režīmu. Iestatot šo opciju, tiks izmantots norādītais režīms, ja tiek izmantota kvalitātē balstīta kodēšana. NVENC to ignorē, jo neatbalsta ICQ.",
|
||||||
"transcoding_constant_rate_factor_description": "Video kvalitātes līmenis. Tipiskās vērtības ir 23 priekš H.264, 28 priekš HEVC, 31 priekš VP9 un 35 priekš AV1. Zemāka vērtība ir labāka, bet rada lielākus failus.",
|
"transcoding_constant_rate_factor_description": "Video kvalitātes līmenis. Tipiskās vērtības ir 23 priekš H.264, 28 priekš HEVC, 31 priekš VP9 un 35 priekš AV1. Zemāka vērtība ir labāka, bet rada lielākus failus.",
|
||||||
"transcoding_hardware_acceleration": "Aparatūras paātrinājums",
|
"transcoding_hardware_acceleration": "Aparatūras paātrinājums",
|
||||||
"transcoding_required_description": "Tikai video, kas nav atbalstītā formātā",
|
"transcoding_required_description": "Tikai video, kas nav atbalstītā formātā",
|
||||||
"transcoding_settings": "Video transkodēšanas iestatījumi",
|
"transcoding_settings": "Video transkodēšanas iestatījumi",
|
||||||
"transcoding_threads": "Pavedieni",
|
"transcoding_threads": "Pavedieni",
|
||||||
|
"transcoding_threads_description": "Augstākas vērtības nodrošina ātrāku kodēšanu, bet atstāj mazāk jaudas serverim, lai apstrādātu citus aktīvos uzdevumus. Šai vērtībai nevajadzētu pārsniegt CPU kodolu skaitu. Ja iestatīta uz 0, maksimizē izmantošanu.",
|
||||||
"transcoding_video_codec": "Video kodeks",
|
"transcoding_video_codec": "Video kodeks",
|
||||||
"trash_number_of_days": "Dienu skaits",
|
"trash_number_of_days": "Dienu skaits",
|
||||||
"trash_settings": "Atkritnes iestatījumi",
|
"trash_settings": "Atkritnes iestatījumi",
|
||||||
|
|
@ -409,6 +439,7 @@
|
||||||
"backup_controller_page_turn_on": "Ieslēgt priekšplāna dublēšanu",
|
"backup_controller_page_turn_on": "Ieslēgt priekšplāna dublēšanu",
|
||||||
"backup_controller_page_uploading_file_info": "Faila informācijas augšupielāde",
|
"backup_controller_page_uploading_file_info": "Faila informācijas augšupielāde",
|
||||||
"backup_err_only_album": "Nevar noņemt vienīgo albumu",
|
"backup_err_only_album": "Nevar noņemt vienīgo albumu",
|
||||||
|
"backup_error_sync_failed": "Sinhronizācija neizdevās. Nevar apstrādāt rezerves kopiju.",
|
||||||
"backup_info_card_assets": "faili",
|
"backup_info_card_assets": "faili",
|
||||||
"backup_manual_cancelled": "Atcelts",
|
"backup_manual_cancelled": "Atcelts",
|
||||||
"backup_manual_in_progress": "Augšupielāde jau notiek. Mēģiniet pēc kāda laika atkārtoti",
|
"backup_manual_in_progress": "Augšupielāde jau notiek. Mēģiniet pēc kāda laika atkārtoti",
|
||||||
|
|
@ -440,7 +471,7 @@
|
||||||
"cache_settings_statistics_title": "Kešatmiņas lietojums",
|
"cache_settings_statistics_title": "Kešatmiņas lietojums",
|
||||||
"cache_settings_subtitle": "Kontrolēt Immich mobilās lietotnes kešdarbi",
|
"cache_settings_subtitle": "Kontrolēt Immich mobilās lietotnes kešdarbi",
|
||||||
"cache_settings_tile_subtitle": "Kontrolēt lokālās krātuves uzvedību",
|
"cache_settings_tile_subtitle": "Kontrolēt lokālās krātuves uzvedību",
|
||||||
"cache_settings_tile_title": "Lokālā Krātuve",
|
"cache_settings_tile_title": "Lokālā krātuve",
|
||||||
"cache_settings_title": "Kešdarbes iestatījumi",
|
"cache_settings_title": "Kešdarbes iestatījumi",
|
||||||
"camera": "Fotokamera",
|
"camera": "Fotokamera",
|
||||||
"camera_brand": "Fotokameras zīmols",
|
"camera_brand": "Fotokameras zīmols",
|
||||||
|
|
@ -570,7 +601,7 @@
|
||||||
"delete_library": "Dzēst bibliotēku",
|
"delete_library": "Dzēst bibliotēku",
|
||||||
"delete_link": "Dzēst saiti",
|
"delete_link": "Dzēst saiti",
|
||||||
"delete_local_action_prompt": "{count} dzēsti lokāli",
|
"delete_local_action_prompt": "{count} dzēsti lokāli",
|
||||||
"delete_local_dialog_ok_backed_up_only": "Dzēst tikai Dublētos",
|
"delete_local_dialog_ok_backed_up_only": "Dzēst tikai dublētos",
|
||||||
"delete_local_dialog_ok_force": "Tā pat dzēst",
|
"delete_local_dialog_ok_force": "Tā pat dzēst",
|
||||||
"delete_others": "Dzēst citus",
|
"delete_others": "Dzēst citus",
|
||||||
"delete_shared_link": "Dzēst Kopīgošanas saiti",
|
"delete_shared_link": "Dzēst Kopīgošanas saiti",
|
||||||
|
|
@ -587,6 +618,7 @@
|
||||||
"discovered_devices": "Atrastās ierīces",
|
"discovered_devices": "Atrastās ierīces",
|
||||||
"display_order": "Attēlošanas secība",
|
"display_order": "Attēlošanas secība",
|
||||||
"display_original_photos": "Rādīt oriģinālās fotogrāfijas",
|
"display_original_photos": "Rādīt oriģinālās fotogrāfijas",
|
||||||
|
"do_not_show_again": "Vairs nerādīt šo ziņojumu",
|
||||||
"documentation": "Dokumentācija",
|
"documentation": "Dokumentācija",
|
||||||
"done": "Gatavs",
|
"done": "Gatavs",
|
||||||
"download": "Lejupielādēt",
|
"download": "Lejupielādēt",
|
||||||
|
|
@ -619,6 +651,7 @@
|
||||||
"edit_birthday": "Labot dzimšanas dienu",
|
"edit_birthday": "Labot dzimšanas dienu",
|
||||||
"edit_date": "Labot datumu",
|
"edit_date": "Labot datumu",
|
||||||
"edit_date_and_time": "Labot datumu un laiku",
|
"edit_date_and_time": "Labot datumu un laiku",
|
||||||
|
"edit_date_and_time_action_prompt": "{count} datums un laiks labots",
|
||||||
"edit_description": "Labot aprakstu",
|
"edit_description": "Labot aprakstu",
|
||||||
"edit_description_prompt": "Lūdzu, izvēlies jaunu aprakstu:",
|
"edit_description_prompt": "Lūdzu, izvēlies jaunu aprakstu:",
|
||||||
"edit_faces": "Labot sejas",
|
"edit_faces": "Labot sejas",
|
||||||
|
|
@ -653,7 +686,11 @@
|
||||||
"error_loading_image": "Kļūda, ielādējot attēlu",
|
"error_loading_image": "Kļūda, ielādējot attēlu",
|
||||||
"error_loading_partners": "Kļūda, ielādējot partnerus: {error}",
|
"error_loading_partners": "Kļūda, ielādējot partnerus: {error}",
|
||||||
"error_saving_image": "Kļūda: {error}",
|
"error_saving_image": "Kļūda: {error}",
|
||||||
|
"error_title": "Kļūda - kaut kas nogāja greizi",
|
||||||
"errors": {
|
"errors": {
|
||||||
|
"cannot_navigate_next_asset": "Nevar pāriet uz nākamo resursu",
|
||||||
|
"cannot_navigate_previous_asset": "Nevar pāriet uz iepriekšējo resursu",
|
||||||
|
"cant_apply_changes": "Nevar piemērot izmaiņas",
|
||||||
"cant_get_faces": "Nevar iegūt sejas",
|
"cant_get_faces": "Nevar iegūt sejas",
|
||||||
"cant_search_people": "Neizdevās veikt peronu meklēšanu",
|
"cant_search_people": "Neizdevās veikt peronu meklēšanu",
|
||||||
"exclusion_pattern_already_exists": "Šāds izslēgšanas paraugs jau pastāv.",
|
"exclusion_pattern_already_exists": "Šāds izslēgšanas paraugs jau pastāv.",
|
||||||
|
|
@ -676,7 +713,12 @@
|
||||||
"profile_picture_transparent_pixels": "Profila attēlos nevar būt caurspīdīgi pikseļi. Lūdzu, palielini un/vai pārvieto attēlu.",
|
"profile_picture_transparent_pixels": "Profila attēlos nevar būt caurspīdīgi pikseļi. Lūdzu, palielini un/vai pārvieto attēlu.",
|
||||||
"something_went_wrong": "Kaut kas nogāja greizi",
|
"something_went_wrong": "Kaut kas nogāja greizi",
|
||||||
"unable_to_change_description": "Neizdevās nomainīt aprakstu",
|
"unable_to_change_description": "Neizdevās nomainīt aprakstu",
|
||||||
|
"unable_to_create_admin_account": "Nevar izveidot administratora kontu",
|
||||||
|
"unable_to_create_api_key": "Nevar izveidot jaunu API atslēgu",
|
||||||
|
"unable_to_create_library": "Nevar izveidot bibliotēku",
|
||||||
"unable_to_create_user": "Neizdevās izveidot lietotāju",
|
"unable_to_create_user": "Neizdevās izveidot lietotāju",
|
||||||
|
"unable_to_delete_album": "Nevar izdzēst albumu",
|
||||||
|
"unable_to_delete_asset": "Nevar izdzēst failu",
|
||||||
"unable_to_delete_user": "Neizdevās dzēst lietotāju",
|
"unable_to_delete_user": "Neizdevās dzēst lietotāju",
|
||||||
"unable_to_empty_trash": "Neizdevās iztukšot atkritni",
|
"unable_to_empty_trash": "Neizdevās iztukšot atkritni",
|
||||||
"unable_to_hide_person": "Neizdevās paslēpt personu",
|
"unable_to_hide_person": "Neizdevās paslēpt personu",
|
||||||
|
|
@ -768,20 +810,20 @@
|
||||||
"hide_person": "Paslēpt personu",
|
"hide_person": "Paslēpt personu",
|
||||||
"hide_unnamed_people": "Paslēpt nenosauktas personas",
|
"hide_unnamed_people": "Paslēpt nenosauktas personas",
|
||||||
"home_page_add_to_album_conflicts": "Pievienoja {added} failus albumam {album}. {failed} faili jau ir albumā.",
|
"home_page_add_to_album_conflicts": "Pievienoja {added} failus albumam {album}. {failed} faili jau ir albumā.",
|
||||||
"home_page_add_to_album_err_local": "Albumiem vēl nevar pievienot lokālos aktīvus, notiek izlaišana",
|
"home_page_add_to_album_err_local": "Albumiem vēl nevar pievienot lokālos failus, izlaiž",
|
||||||
"home_page_add_to_album_success": "Pievienoja {added} aktīvus albumam {album}.",
|
"home_page_add_to_album_success": "Pievienoja {added} aktīvus albumam {album}.",
|
||||||
"home_page_album_err_partner": "Pagaidām nevar pievienot partnera aktīvus albumam, notiek izlaišana",
|
"home_page_album_err_partner": "Pagaidām nevar pievienot partnera aktīvus albumam, notiek izlaišana",
|
||||||
"home_page_archive_err_local": "Vēl nevar arhivēt lokālos aktīvus, notiek izlaišana",
|
"home_page_archive_err_local": "Vēl nevar arhivēt lokālos aktīvus, izlaiž",
|
||||||
"home_page_archive_err_partner": "Nevarēja arhivēt partnera aktīvus, notiek izlaišana",
|
"home_page_archive_err_partner": "Nevarēja arhivēt partnera aktīvus, notiek izlaišana",
|
||||||
"home_page_building_timeline": "Tiek izveidota laika skala",
|
"home_page_building_timeline": "Tiek izveidota laika skala",
|
||||||
"home_page_delete_err_partner": "Nevarēja dzēst partnera aktīvus, notiek izlaišana",
|
"home_page_delete_err_partner": "Nevarēja dzēst partnera aktīvus, notiek izlaišana",
|
||||||
"home_page_delete_remote_err_local": "Lokālie faili dzēšanai attālinātajā izvēlē, tiek izlaists",
|
"home_page_delete_remote_err_local": "Lokālie faili dzēšanai attālinātajā izvēlē, izlaiž",
|
||||||
"home_page_favorite_err_local": "Vēl nevar pievienot izlasei vietējos failus, izlaiž",
|
"home_page_favorite_err_local": "Vēl nevar pievienot izlasei lokālos failus, izlaiž",
|
||||||
"home_page_favorite_err_partner": "Pagaidām nevar ievietot izlasē partnera failus, izlaiž",
|
"home_page_favorite_err_partner": "Pagaidām nevar ievietot izlasē partnera failus, izlaiž",
|
||||||
"home_page_first_time_notice": "Ja šī ir pirmā reize, kad izmanto lietotni, lūdzu, izvēlies dublējamo albumu, lai laika skalā varētu aizpildīt fotoattēlus un videoklipus",
|
"home_page_first_time_notice": "Ja šī ir pirmā reize, kad izmanto lietotni, lūdzu, izvēlies dublējamo albumu, lai laika skalā varētu aizpildīt fotoattēlus un videoklipus",
|
||||||
"home_page_locked_error_local": "Nevar pārvietot vietējos failus uz slēgto mapi, izlaiž",
|
"home_page_locked_error_local": "Nevar pārvietot lokālos failus uz slēgto mapi, izlaiž",
|
||||||
"home_page_locked_error_partner": "Nevar pārvietot partneru failus uz slēgto mapi, izlaiž",
|
"home_page_locked_error_partner": "Nevar pārvietot partneru failus uz slēgto mapi, izlaiž",
|
||||||
"home_page_share_err_local": "Caur saiti nevarēja kopīgot lokālos aktīvus, notiek izlaišana",
|
"home_page_share_err_local": "Caur saiti nevarēja kopīgot lokālos aktīvus, izlaiž",
|
||||||
"home_page_upload_err_limit": "Vienlaikus var augšupielādēt ne vairāk kā 30 aktīvus, notiek izlaišana",
|
"home_page_upload_err_limit": "Vienlaikus var augšupielādēt ne vairāk kā 30 aktīvus, notiek izlaišana",
|
||||||
"hour": "Stunda",
|
"hour": "Stunda",
|
||||||
"hours": "Stundas",
|
"hours": "Stundas",
|
||||||
|
|
@ -852,7 +894,11 @@
|
||||||
"list": "Saraksts",
|
"list": "Saraksts",
|
||||||
"loading": "Ielādē",
|
"loading": "Ielādē",
|
||||||
"local": "Lokāli",
|
"local": "Lokāli",
|
||||||
|
"local_asset_cast_failed": "Nav iespējams pārraidīt resursu, kas nav augšupielādēts serverī",
|
||||||
|
"local_assets": "Lokālie faili",
|
||||||
|
"local_media_summary": "Lokālo mediju kopsavilkums",
|
||||||
"local_network": "Lokālais tīkls",
|
"local_network": "Lokālais tīkls",
|
||||||
|
"local_network_sheet_info": "Izmantojot norādīto Wi-Fi tīklu, lietotne veidos savienojumu ar serveri, izmantojot šo URL",
|
||||||
"location_permission": "Atrašanās vietas atļauja",
|
"location_permission": "Atrašanās vietas atļauja",
|
||||||
"location_permission_content": "Lai izmantotu automātiskās pārslēgšanās funkciju, Immich ir nepieciešama precīzas atrašanās vietas atļauja, lai varētu nolasīt pašreizējā Wi-Fi tīkla nosaukumu",
|
"location_permission_content": "Lai izmantotu automātiskās pārslēgšanās funkciju, Immich ir nepieciešama precīzas atrašanās vietas atļauja, lai varētu nolasīt pašreizējā Wi-Fi tīkla nosaukumu",
|
||||||
"location_picker_choose_on_map": "Izvēlēties uz kartes",
|
"location_picker_choose_on_map": "Izvēlēties uz kartes",
|
||||||
|
|
@ -979,11 +1025,12 @@
|
||||||
"no_assets_message": "NOKLIKŠĶINIET, LAI AUGŠUPIELĀDĒTU SAVU PIRMO FOTOATTĒLU",
|
"no_assets_message": "NOKLIKŠĶINIET, LAI AUGŠUPIELĀDĒTU SAVU PIRMO FOTOATTĒLU",
|
||||||
"no_assets_to_show": "Nav uzrādāmo aktīvu",
|
"no_assets_to_show": "Nav uzrādāmo aktīvu",
|
||||||
"no_cast_devices_found": "Nav atrasta neviena pārraides ierīce",
|
"no_cast_devices_found": "Nav atrasta neviena pārraides ierīce",
|
||||||
"no_checksum_local": "Nav pieejama kontrolsumma - nevar iegūt vietējos failus",
|
"no_checksum_local": "Nav pieejama kontrolsumma - nevar iegūt lokālos failus",
|
||||||
"no_checksum_remote": "Nav pieejama kontrolsumma - nevar iegūt attālo failu",
|
"no_checksum_remote": "Nav pieejama kontrolsumma - nevar iegūt attālo failu",
|
||||||
"no_duplicates_found": "Dublikāti netika atrasti.",
|
"no_duplicates_found": "Dublikāti netika atrasti.",
|
||||||
"no_exif_info_available": "Nav pieejama exif informācija",
|
"no_exif_info_available": "Nav pieejama exif informācija",
|
||||||
"no_explore_results_message": "Augšupielādē vairāk fotogrāfiju, lai iepazītu savu kolekciju.",
|
"no_explore_results_message": "Augšupielādē vairāk fotogrāfiju, lai iepazītu savu kolekciju.",
|
||||||
|
"no_local_assets_found": "Ar šo kontrolsummu nav atrasts neviens lokālais fails",
|
||||||
"no_name": "Nav nosaukuma",
|
"no_name": "Nav nosaukuma",
|
||||||
"no_notifications": "Nav paziņojumu",
|
"no_notifications": "Nav paziņojumu",
|
||||||
"no_places": "Nav atrašanās vietu",
|
"no_places": "Nav atrašanās vietu",
|
||||||
|
|
@ -991,6 +1038,7 @@
|
||||||
"no_results_description": "Izmēģiniet sinonīmu vai vispārīgāku atslēgvārdu",
|
"no_results_description": "Izmēģiniet sinonīmu vai vispārīgāku atslēgvārdu",
|
||||||
"not_in_any_album": "Nav nevienā albumā",
|
"not_in_any_album": "Nav nevienā albumā",
|
||||||
"not_selected": "Nav izvēlēts",
|
"not_selected": "Nav izvēlēts",
|
||||||
|
"note_apply_storage_label_to_previously_uploaded assets": "Piezīme: Lai piemērotu glabātuves nosaukumu iepriekš augšupielādētiem failiem, izpildiet",
|
||||||
"notes": "Piezīmes",
|
"notes": "Piezīmes",
|
||||||
"nothing_here_yet": "Šeit vēl nekā nav",
|
"nothing_here_yet": "Šeit vēl nekā nav",
|
||||||
"notification_permission_dialog_content": "Lai iespējotu paziņojumus, atveriet Iestatījumi un atlasiet Atļaut.",
|
"notification_permission_dialog_content": "Lai iespējotu paziņojumus, atveriet Iestatījumi un atlasiet Atļaut.",
|
||||||
|
|
@ -1234,6 +1282,7 @@
|
||||||
"search_suggestion_list_smart_search_hint_2": "m:jūsu-meklēšanas-frāze",
|
"search_suggestion_list_smart_search_hint_2": "m:jūsu-meklēšanas-frāze",
|
||||||
"search_type": "Meklēšanas veids",
|
"search_type": "Meklēšanas veids",
|
||||||
"search_your_photos": "Meklēt fotoattēlos",
|
"search_your_photos": "Meklēt fotoattēlos",
|
||||||
|
"searching_locales": "Meklē lokalizācijas...",
|
||||||
"second": "Sekunde",
|
"second": "Sekunde",
|
||||||
"see_all_people": "Skatīt visas personas",
|
"see_all_people": "Skatīt visas personas",
|
||||||
"select_album_cover": "Izvēlieties albuma vāciņu",
|
"select_album_cover": "Izvēlieties albuma vāciņu",
|
||||||
|
|
@ -1383,13 +1432,16 @@
|
||||||
"stop_photo_sharing_description": "{partner} vairs nevarēs piekļūt tavām fotogrāfijām.",
|
"stop_photo_sharing_description": "{partner} vairs nevarēs piekļūt tavām fotogrāfijām.",
|
||||||
"stop_sharing_photos_with_user": "Pārtraukt dalīties ar fotogrāfijām ar šo lietotāju",
|
"stop_sharing_photos_with_user": "Pārtraukt dalīties ar fotogrāfijām ar šo lietotāju",
|
||||||
"storage": "Vieta krātuvē",
|
"storage": "Vieta krātuvē",
|
||||||
|
"storage_label": "Glabātuves nosaukums",
|
||||||
"storage_usage": "{used} no {available} izmantoti",
|
"storage_usage": "{used} no {available} izmantoti",
|
||||||
"submit": "Iesniegt",
|
"submit": "Iesniegt",
|
||||||
"suggestions": "Ieteikumi",
|
"suggestions": "Ieteikumi",
|
||||||
"sunrise_on_the_beach": "Saullēkts pludmalē",
|
"sunrise_on_the_beach": "Saullēkts pludmalē",
|
||||||
"support": "Atbalsts",
|
"support": "Atbalsts",
|
||||||
"support_and_feedback": "Atbalsts un atsauksmes",
|
"support_and_feedback": "Atbalsts un atsauksmes",
|
||||||
|
"support_third_party_description": "Tavu Immich instalāciju ir sagatavojusi trešā puse. Problēmas, ar kurām sastopies, var būt saistītas ar šo pakotni, tāpēc lūdzu vispirms ziņo par tām, izmantojot zemāk norādītās saites.",
|
||||||
"sync": "Sinhronizēt",
|
"sync": "Sinhronizēt",
|
||||||
|
"sync_local": "Sinhronizēt lokāli",
|
||||||
"sync_status": "Sinhronizācijas statuss",
|
"sync_status": "Sinhronizācijas statuss",
|
||||||
"sync_status_subtitle": "Skatīt un pārvaldīt sinhronizācijas sistēmu",
|
"sync_status_subtitle": "Skatīt un pārvaldīt sinhronizācijas sistēmu",
|
||||||
"theme": "Dizains",
|
"theme": "Dizains",
|
||||||
|
|
|
||||||
87
i18n/mr.json
87
i18n/mr.json
|
|
@ -357,6 +357,9 @@
|
||||||
"trash_number_of_days_description": "कायमस्वरीत्या काढून टाकण्यापूर्वी ट्रॅशमध्ये सामग्री किती दिवस ठेवायची ते क्रम",
|
"trash_number_of_days_description": "कायमस्वरीत्या काढून टाकण्यापूर्वी ट्रॅशमध्ये सामग्री किती दिवस ठेवायची ते क्रम",
|
||||||
"trash_settings": "ट्रॅश सेटिंग्ज",
|
"trash_settings": "ट्रॅश सेटिंग्ज",
|
||||||
"trash_settings_description": "ट्रॅश सेटिंग्ज व्यवस्थापित करा",
|
"trash_settings_description": "ट्रॅश सेटिंग्ज व्यवस्थापित करा",
|
||||||
|
"unlink_all_oauth_accounts": "सर्व OAuth खात्यांची जोडणी तोडा",
|
||||||
|
"unlink_all_oauth_accounts_description": "नव्या सेवा-प्रदात्याकडे स्थलांतर करण्यापूर्वी सर्व OAuth खात्यांची जोडणी तोडायला विसरू नका.",
|
||||||
|
"unlink_all_oauth_accounts_prompt": "तुम्ही खरोखर सर्व OAuth खात्यांची जोडणी तोडू इच्छिता का? यामुळे प्रत्येक वापरकर्त्याचा OAuth ID रीसेट होईल आणि ही कृती पूर्वस्थितीत आणता येणार नाही.",
|
||||||
"user_cleanup_job": "वापरकर्ता स्वच्छता",
|
"user_cleanup_job": "वापरकर्ता स्वच्छता",
|
||||||
"user_delete_delay": "<b>{user}</b> यांचे खाते आणि मालमत्ता कायमची हटविण्यासाठी {delay, plural, one {# दिवस} other {# दिवस}} नंतर शेड्यूल केली जातील.",
|
"user_delete_delay": "<b>{user}</b> यांचे खाते आणि मालमत्ता कायमची हटविण्यासाठी {delay, plural, one {# दिवस} other {# दिवस}} नंतर शेड्यूल केली जातील.",
|
||||||
"user_delete_delay_settings": "हटविण्याची विलंबीत कालावधी",
|
"user_delete_delay_settings": "हटविण्याची विलंबीत कालावधी",
|
||||||
|
|
@ -390,6 +393,8 @@
|
||||||
"advanced_settings_prefer_remote_title": "रिमोट प्रतिमा पसंत करा",
|
"advanced_settings_prefer_remote_title": "रिमोट प्रतिमा पसंत करा",
|
||||||
"advanced_settings_proxy_headers_subtitle": "प्रत्येक नेटवर्क विनंतीसोबत Immich पाठवावयाचे प्रॉक्सी हेडर येथे परिभाषित करा",
|
"advanced_settings_proxy_headers_subtitle": "प्रत्येक नेटवर्क विनंतीसोबत Immich पाठवावयाचे प्रॉक्सी हेडर येथे परिभाषित करा",
|
||||||
"advanced_settings_proxy_headers_title": "प्रॉक्सी हेडर",
|
"advanced_settings_proxy_headers_title": "प्रॉक्सी हेडर",
|
||||||
|
"advanced_settings_readonly_mode_subtitle": "या मोडमध्ये फोटो फक्त पाहता येतात - अनेक फोटो निवडणे, शेअर करणे, कास्ट करणे आणि हटवणे अशा क्रिया निष्क्रिय राहतात. मुख्य स्क्रीनवरील वापरकर्ता अवतारातून हा मोड चालू किंवा बंद करा",
|
||||||
|
"advanced_settings_readonly_mode_title": "फक्त पाहण्याचा मोड",
|
||||||
"advanced_settings_self_signed_ssl_subtitle": "सर्व्हर एंडपॉइंटसाठी SSL प्रमाणपत्र सत्यापन वगळते. स्वाक्षरीत प्रमाणपत्रांसाठी आवश्यक.",
|
"advanced_settings_self_signed_ssl_subtitle": "सर्व्हर एंडपॉइंटसाठी SSL प्रमाणपत्र सत्यापन वगळते. स्वाक्षरीत प्रमाणपत्रांसाठी आवश्यक.",
|
||||||
"advanced_settings_self_signed_ssl_title": "स्वतः स्वाक्षरीत SSL प्रमाणपत्रांना परवानगी द्या",
|
"advanced_settings_self_signed_ssl_title": "स्वतः स्वाक्षरीत SSL प्रमाणपत्रांना परवानगी द्या",
|
||||||
"advanced_settings_sync_remote_deletions_subtitle": "वेबवर ही क्रिया केली गेल्यावर या उपकरणावर असलेले अॅसेट आपोआप हटवा किंवा पुनर्संचयित करा",
|
"advanced_settings_sync_remote_deletions_subtitle": "वेबवर ही क्रिया केली गेल्यावर या उपकरणावर असलेले अॅसेट आपोआप हटवा किंवा पुनर्संचयित करा",
|
||||||
|
|
@ -417,6 +422,7 @@
|
||||||
"album_remove_user_confirmation": "आपण निश्चितच वापरकर्ता {user} काढून टाकणार आहात का?",
|
"album_remove_user_confirmation": "आपण निश्चितच वापरकर्ता {user} काढून टाकणार आहात का?",
|
||||||
"album_search_not_found": "तुमच्या शोधाशी जुळणारे कोणतेही अल्बम आढळले नाहीत",
|
"album_search_not_found": "तुमच्या शोधाशी जुळणारे कोणतेही अल्बम आढळले नाहीत",
|
||||||
"album_share_no_users": "असा दिसते की हा अल्बम तुम्ही सर्व वापरकर्त्यांसोबत शेअर केला आहे किंवा शेअर करण्यासाठी कुठलाही वापरकर्ता उपलब्ध नाही.",
|
"album_share_no_users": "असा दिसते की हा अल्बम तुम्ही सर्व वापरकर्त्यांसोबत शेअर केला आहे किंवा शेअर करण्यासाठी कुठलाही वापरकर्ता उपलब्ध नाही.",
|
||||||
|
"album_summary": "अल्बम सारांश",
|
||||||
"album_updated": "अल्बम अद्यतनित",
|
"album_updated": "अल्बम अद्यतनित",
|
||||||
"album_updated_setting_description": "शेअर केलेल्या अल्बममध्ये नवीन फाईल्स आल्यास ईमेल सूचनार्थ प्राप्त करा",
|
"album_updated_setting_description": "शेअर केलेल्या अल्बममध्ये नवीन फाईल्स आल्यास ईमेल सूचनार्थ प्राप्त करा",
|
||||||
"album_user_left": "सोडले: {album}",
|
"album_user_left": "सोडले: {album}",
|
||||||
|
|
@ -455,6 +461,7 @@
|
||||||
"app_bar_signout_dialog_title": "साइन आउट",
|
"app_bar_signout_dialog_title": "साइन आउट",
|
||||||
"app_settings": "अॅप सेटिंग्ज",
|
"app_settings": "अॅप सेटिंग्ज",
|
||||||
"appears_in": "दिसते (कुठे दिसते)",
|
"appears_in": "दिसते (कुठे दिसते)",
|
||||||
|
"apply_count": "लागू करा ({count, number})",
|
||||||
"archive": "आर्काइव्ह",
|
"archive": "आर्काइव्ह",
|
||||||
"archive_action_prompt": "{count} आर्काइव्हमध्ये जोडले",
|
"archive_action_prompt": "{count} आर्काइव्हमध्ये जोडले",
|
||||||
"archive_or_unarchive_photo": "फोटो आर्काइव्ह करा किंवा अनआर्काइव्ह करा",
|
"archive_or_unarchive_photo": "फोटो आर्काइव्ह करा किंवा अनआर्काइव्ह करा",
|
||||||
|
|
@ -487,6 +494,8 @@
|
||||||
"asset_restored_successfully": "साधन यशस्वीपणे पुनर्संचयित केले गेले",
|
"asset_restored_successfully": "साधन यशस्वीपणे पुनर्संचयित केले गेले",
|
||||||
"asset_skipped": "वगळले",
|
"asset_skipped": "वगळले",
|
||||||
"asset_skipped_in_trash": "ट्रॅशमध्ये",
|
"asset_skipped_in_trash": "ट्रॅशमध्ये",
|
||||||
|
"asset_trashed": "मीडिया घटक कचरापेटीत हलवला",
|
||||||
|
"asset_troubleshoot": "मीडिया घटक समस्यानिवारण",
|
||||||
"asset_uploaded": "अपलोड झाले",
|
"asset_uploaded": "अपलोड झाले",
|
||||||
"asset_uploading": "अपलोड करत आहे…",
|
"asset_uploading": "अपलोड करत आहे…",
|
||||||
"asset_viewer_settings_subtitle": "आपल्या गॅलरी व्ह्यूअरच्या सेटिंग्ज व्यवस्थापित करा",
|
"asset_viewer_settings_subtitle": "आपल्या गॅलरी व्ह्यूअरच्या सेटिंग्ज व्यवस्थापित करा",
|
||||||
|
|
@ -494,7 +503,9 @@
|
||||||
"assets": "साधने",
|
"assets": "साधने",
|
||||||
"assets_added_count": "{count, plural, one {# साधन जोडले} other {# साधने जोडले}}",
|
"assets_added_count": "{count, plural, one {# साधन जोडले} other {# साधने जोडले}}",
|
||||||
"assets_added_to_album_count": "{count, plural, one {# साधन अल्बममध्ये जोडले} other {# साधने अल्बममध्ये जोडले}}",
|
"assets_added_to_album_count": "{count, plural, one {# साधन अल्बममध्ये जोडले} other {# साधने अल्बममध्ये जोडले}}",
|
||||||
|
"assets_added_to_albums_count": "{albumTotal, plural, one {# अल्बममध्ये} other {# अल्बममध्ये}} {assetTotal, plural, one {# मीडिया घटक} other {# मीडिया घटक}} जोडले",
|
||||||
"assets_cannot_be_added_to_album_count": "{count, plural, one {# साधन अल्बममध्ये जोडता येणार नाही} other {# साधने अल्बममध्ये जोडता येणार नाहीत}}",
|
"assets_cannot_be_added_to_album_count": "{count, plural, one {# साधन अल्बममध्ये जोडता येणार नाही} other {# साधने अल्बममध्ये जोडता येणार नाहीत}}",
|
||||||
|
"assets_cannot_be_added_to_albums": "{count, plural, one {# मीडिया घटक कोणत्याही अल्बममध्ये जोडता येत नाही} other {# मीडिया घटक कोणत्याही अल्बममध्ये जोडता येत नाहीत}}",
|
||||||
"assets_count": "{count, plural, one {# साधन} other {# साधने}}",
|
"assets_count": "{count, plural, one {# साधन} other {# साधने}}",
|
||||||
"assets_deleted_permanently": "{count} साधन(े) कायमचे हटविले",
|
"assets_deleted_permanently": "{count} साधन(े) कायमचे हटविले",
|
||||||
"assets_deleted_permanently_from_server": "Immich सर्व्हरवरून {count} साधन(े) कायमचे हटविले",
|
"assets_deleted_permanently_from_server": "Immich सर्व्हरवरून {count} साधन(े) कायमचे हटविले",
|
||||||
|
|
@ -502,6 +513,20 @@
|
||||||
"assets_downloaded_successfully": "{count, plural, one {एक फाईल यशस्वीरित्या डाउनलोड झाली} other {# फाईल्स यशस्वीरित्या डाउनलोड झाल्या}}",
|
"assets_downloaded_successfully": "{count, plural, one {एक फाईल यशस्वीरित्या डाउनलोड झाली} other {# फाईल्स यशस्वीरित्या डाउनलोड झाल्या}}",
|
||||||
"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_permanently_deleted_count": "{count, plural, one {एक फाईल कायमस्वरूपी हटवली} other {# फाईल्स कायमस्वरूपी हटवल्या}}",
|
||||||
|
"assets_removed_count": "{count, plural, one {# मीडिया घटक काढून टाकला} other {# मीडिया घटक काढून टाकले}}",
|
||||||
|
"assets_removed_permanently_from_device": "{count} मीडिया घटक तुमच्या डिव्हाइसवरून कायमचे काढले गेले",
|
||||||
|
"assets_restore_confirmation": "कचरापेटीतले सर्व मीडिया घटक पुनर्संचयित करायचे आहेत का? ही कृती पूर्ववत करता येणार नाही. लक्षात ठेवा - ऑफलाइन मीडिया घटक अशा प्रकारे पुनर्संचयित करता येत नाहीत.",
|
||||||
|
"assets_restored_count": "{count, plural, one {# मीडिया घटक पुनर्संचयित केला} other {# मीडिया घटक पुनर्संचयित केले}}",
|
||||||
|
"assets_restored_successfully": "{count} मीडिया घटक यशस्वीरित्या पुनर्संचयित झाले",
|
||||||
|
"assets_trashed": "{count} मीडिया घटक कचरापेटीत हलवले",
|
||||||
|
"assets_trashed_count": "{count, plural, one {# मीडिया घटक कचरापेटीत हलवला} other {# मीडिया घटक कचरापेटीत हलवले}}",
|
||||||
|
"assets_trashed_from_server": "{count} मीडिया घटक Immich सर्व्हरवरून कचरापेटीत हलवले",
|
||||||
|
"assets_were_part_of_album_count": "{count, plural, one {मीडिया घटक आधीच त्या अल्बमचा भाग होता} other {मीडिया घटक आधीच त्या अल्बमचा भाग होते}}",
|
||||||
|
"assets_were_part_of_albums_count": "{count, plural, one {मीडिया घटक आधीच अल्बम्सचा भाग होता} other {मीडिया घटक आधीच अल्बम्सचा भाग होते}}",
|
||||||
|
"authorized_devices": "अधिकृत उपकरणे",
|
||||||
|
"automatic_endpoint_switching_subtitle": "उपलब्ध असल्यास निश्चित Wi-Fi वर स्थानिकरित्या कनेक्ट करा आणि इतर ठिकाणी पर्यायी कनेक्शन वापरा",
|
||||||
|
"automatic_endpoint_switching_title": "स्वयंचलित URL स्विचिंग",
|
||||||
|
"autoplay_slideshow": "स्वयंचलित स्लाइडशो",
|
||||||
"back": "मागे",
|
"back": "मागे",
|
||||||
"back_close_deselect": "मागे किंवा बंद करा / निवड रद्द करा",
|
"back_close_deselect": "मागे किंवा बंद करा / निवड रद्द करा",
|
||||||
"background_location_permission": "बॅकग्राउंडमध्ये स्थान परवानगी द्या",
|
"background_location_permission": "बॅकग्राउंडमध्ये स्थान परवानगी द्या",
|
||||||
|
|
@ -562,6 +587,7 @@
|
||||||
"backup_controller_page_turn_on": "फोरग्राउंड बॅकअप चालू करा",
|
"backup_controller_page_turn_on": "फोरग्राउंड बॅकअप चालू करा",
|
||||||
"backup_controller_page_uploading_file_info": "फाईल माहिती अपलोड करत आहे",
|
"backup_controller_page_uploading_file_info": "फाईल माहिती अपलोड करत आहे",
|
||||||
"backup_err_only_album": "अंतिम अल्बम काढता येणार नाही",
|
"backup_err_only_album": "अंतिम अल्बम काढता येणार नाही",
|
||||||
|
"backup_error_sync_failed": "समक्रमण अयशस्वी. बॅकअप प्रक्रिया करता येत नाही.",
|
||||||
"backup_info_card_assets": "फाईल्स",
|
"backup_info_card_assets": "फाईल्स",
|
||||||
"backup_manual_cancelled": "रद्द केले",
|
"backup_manual_cancelled": "रद्द केले",
|
||||||
"backup_manual_in_progress": "अपलोड आधीच चालू आहे. थोड्यावेळेनंतर पुन्हा प्रयत्न करा",
|
"backup_manual_in_progress": "अपलोड आधीच चालू आहे. थोड्यावेळेनंतर पुन्हा प्रयत्न करा",
|
||||||
|
|
@ -629,6 +655,8 @@
|
||||||
"change_pin_code": "PIN कोड बदला",
|
"change_pin_code": "PIN कोड बदला",
|
||||||
"change_your_password": "आपला संकेतशब्द बदला",
|
"change_your_password": "आपला संकेतशब्द बदला",
|
||||||
"changed_visibility_successfully": "दृश्यमानता यशस्वीरित्या बदलली",
|
"changed_visibility_successfully": "दृश्यमानता यशस्वीरित्या बदलली",
|
||||||
|
"charging": "चार्जिंग",
|
||||||
|
"charging_requirement_mobile_backup": "बॅकग्राउंड बॅकअपसाठी उपकरण चार्ज होत असणे आवश्यक आहे",
|
||||||
"check_corrupt_asset_backup": "भ्रष्ट फाईल बॅकअप तपासा",
|
"check_corrupt_asset_backup": "भ्रष्ट फाईल बॅकअप तपासा",
|
||||||
"check_corrupt_asset_backup_button": "तपासणी करा",
|
"check_corrupt_asset_backup_button": "तपासणी करा",
|
||||||
"check_corrupt_asset_backup_description": "फक्त Wi-Fi वर हा तपास चालवा आणि सर्व फाईल्स बॅकअप झाल्यावरच. प्रक्रिया काही मिनिटे लागू शकते.",
|
"check_corrupt_asset_backup_description": "फक्त Wi-Fi वर हा तपास चालवा आणि सर्व फाईल्स बॅकअप झाल्यावरच. प्रक्रिया काही मिनिटे लागू शकते.",
|
||||||
|
|
@ -715,6 +743,7 @@
|
||||||
"create_user": "वापरकर्ता तयार करा",
|
"create_user": "वापरकर्ता तयार करा",
|
||||||
"created": "तयार केले",
|
"created": "तयार केले",
|
||||||
"created_at": "निर्मिती तारीख",
|
"created_at": "निर्मिती तारीख",
|
||||||
|
"creating_linked_albums": "लिंक केलेले अल्बम तयार करत आहे...",
|
||||||
"crop": "छाटणी करा",
|
"crop": "छाटणी करा",
|
||||||
"curated_object_page_title": "गोष्टी",
|
"curated_object_page_title": "गोष्टी",
|
||||||
"current_device": "वर्तमान उपकरण",
|
"current_device": "वर्तमान उपकरण",
|
||||||
|
|
@ -1032,6 +1061,7 @@
|
||||||
"filter_people": "लोक फिल्टर करा",
|
"filter_people": "लोक फिल्टर करा",
|
||||||
"filter_places": "ठिकाणे फिल्टर करा",
|
"filter_places": "ठिकाणे फिल्टर करा",
|
||||||
"find_them_fast": "नावाने पटकन शोधा",
|
"find_them_fast": "नावाने पटकन शोधा",
|
||||||
|
"first": "प्रथम",
|
||||||
"fix_incorrect_match": "चुकीची जुळणी दुरुस्त करा",
|
"fix_incorrect_match": "चुकीची जुळणी दुरुस्त करा",
|
||||||
"folder": "फोल्डर",
|
"folder": "फोल्डर",
|
||||||
"folder_not_found": "फोल्डर सापडला नाही",
|
"folder_not_found": "फोल्डर सापडला नाही",
|
||||||
|
|
@ -1042,18 +1072,72 @@
|
||||||
"gcast_enabled": "Google Cast",
|
"gcast_enabled": "Google Cast",
|
||||||
"gcast_enabled_description": "ही सुविधा चालण्यासाठी Google कडील बाह्य संसाधने लोड करते.",
|
"gcast_enabled_description": "ही सुविधा चालण्यासाठी Google कडील बाह्य संसाधने लोड करते.",
|
||||||
"general": "सामान्य",
|
"general": "सामान्य",
|
||||||
|
"geolocation_instruction_location": "GPS निर्देशांक असलेल्या मीडिया घटकावर क्लिक करून त्याचे स्थान वापरा, किंवा थेट नकाशावरून स्थान निवडा",
|
||||||
"get_help": "मदत घ्या",
|
"get_help": "मदत घ्या",
|
||||||
"get_wifiname_error": "Wi-Fi चे नाव मिळाले नाही. आवश्यक परवानग्या दिल्या आहेत आणि Wi-Fi नेटवर्कशी जोडले आहात याची खात्री करा",
|
"get_wifiname_error": "Wi-Fi चे नाव मिळाले नाही. आवश्यक परवानग्या दिल्या आहेत आणि Wi-Fi नेटवर्कशी जोडले आहात याची खात्री करा",
|
||||||
"getting_started": "सुरुवात करा",
|
"getting_started": "सुरुवात करा",
|
||||||
"go_back": "मागे जा",
|
"go_back": "मागे जा",
|
||||||
"go_to_folder": "फोल्डरकडे जा",
|
"go_to_folder": "फोल्डरकडे जा",
|
||||||
"go_to_search": "शोधाकडे जा",
|
"go_to_search": "शोधाकडे जा",
|
||||||
|
"gps": "जीपीएस",
|
||||||
|
"gps_missing": "GPS उपलब्ध नाही",
|
||||||
"grant_permission": "परवानगी द्या",
|
"grant_permission": "परवानगी द्या",
|
||||||
"group_albums_by": "अल्बम गटबद्ध करा: …",
|
"group_albums_by": "अल्बम गटबद्ध करा: …",
|
||||||
"group_country": "देशानुसार गट करा",
|
"group_country": "देशानुसार गट करा",
|
||||||
"group_no": "गटबद्ध नाही",
|
"group_no": "गटबद्ध नाही",
|
||||||
"group_owner": "मालकानुसार गट करा",
|
"group_owner": "मालकानुसार गट करा",
|
||||||
"group_places_by": "स्थळे गटबद्ध करा: …",
|
"group_places_by": "स्थळे गटबद्ध करा: …",
|
||||||
|
"group_year": "वर्षानुसार गटबद्ध करा",
|
||||||
|
"haptic_feedback_switch": "हॅप्टिक फीडबॅक सक्षम करा",
|
||||||
|
"haptic_feedback_title": "हॅप्टिक फीडबॅक",
|
||||||
|
"has_quota": "कोटा आहे",
|
||||||
|
"hash_asset": "मीडिया घटकाचा हॅश तयार करा",
|
||||||
|
"hashed_assets": "हॅश केलेले मीडिया घटक",
|
||||||
|
"hashing": "हॅशिंग",
|
||||||
|
"header_settings_add_header_tip": "हेडर जोडा",
|
||||||
|
"header_settings_field_validator_msg": "मूल्य रिकामे असू शकत नाही",
|
||||||
|
"header_settings_header_name_input": "हेडरचे नाव",
|
||||||
|
"header_settings_header_value_input": "हेडरचे मूल्य",
|
||||||
|
"headers_settings_tile_subtitle": "प्रत्येक नेटवर्क विनंतीसोबत अॅपने पाठवायचे प्रॉक्सी हेडर्स परिभाषित करा",
|
||||||
|
"headers_settings_tile_title": "सानुकूल प्रॉक्सी हेडर्स",
|
||||||
|
"hi_user": "नमस्कार {name} ({email})",
|
||||||
|
"hide_all_people": "सर्व व्यक्ती लपवा",
|
||||||
|
"hide_gallery": "गॅलरी लपवा",
|
||||||
|
"hide_named_person": "व्यक्ती {name} लपवा",
|
||||||
|
"hide_password": "संकेतशब्द लपवा",
|
||||||
|
"hide_person": "व्यक्ती लपवा",
|
||||||
|
"hide_unnamed_people": "नाव नसलेल्या व्यक्ती लपवा",
|
||||||
|
"home_page_add_to_album_conflicts": "अल्बम {album} मध्ये {added} मीडिया घटक जोडले. {failed} मीडिया घटक आधीच त्या अल्बममध्ये आहेत.",
|
||||||
|
"home_page_add_to_album_err_local": "स्थानिक मीडिया घटक अजून अल्बममध्ये जोडता येत नाहीत, वगळत आहे",
|
||||||
|
"home_page_add_to_album_success": "अल्बम {album} मध्ये {added} मीडिया घटक जोडले.",
|
||||||
|
"home_page_album_err_partner": "भागीदारचे मीडिया घटक अजून अल्बममध्ये जोडता येत नाहीत, वगळत आहे",
|
||||||
|
"home_page_archive_err_local": "स्थानिक मीडिया घटक अजून संग्रहित करता येत नाहीत, वगळत आहे",
|
||||||
|
"home_page_archive_err_partner": "भागीदारचे मीडिया घटक संग्रहित करता येत नाहीत, वगळत आहे",
|
||||||
|
"home_page_building_timeline": "टाइमलाइन तयार करत आहे",
|
||||||
|
"home_page_delete_err_partner": "भागीदारचे मीडिया घटक हटवता येत नाहीत, वगळत आहे",
|
||||||
|
"home_page_delete_remote_err_local": "दूरस्थ हटवण्याच्या निवडीत स्थानिक मीडिया घटक आहेत, वगळत आहे",
|
||||||
|
"home_page_favorite_err_local": "स्थानिक मीडिया घटकांना अजून आवडीमध्ये जोडता येत नाही, वगळत आहे",
|
||||||
|
"home_page_favorite_err_partner": "भागीदारचे मीडिया घटक अजून आवडीमध्ये जोडता येत नाहीत, वगळत आहे",
|
||||||
|
"home_page_first_time_notice": "अॅप प्रथमच वापरत असाल तर टाइमलाइनमध्ये फोटो आणि व्हिडिओ भरण्यासाठी कृपया बॅकअप अल्बम निवडा",
|
||||||
|
"home_page_locked_error_local": "स्थानिक मीडिया घटक लॉक केलेल्या फोल्डरमध्ये हलवता येत नाहीत, वगळत आहे",
|
||||||
|
"home_page_locked_error_partner": "भागीदारचे मीडिया घटक लॉक केलेल्या फोल्डरमध्ये हलवता येत नाहीत, वगळत आहे",
|
||||||
|
"home_page_share_err_local": "स्थानिक मीडिया घटक लिंकद्वारे शेअर करता येत नाहीत, वगळत आहे",
|
||||||
|
"home_page_upload_err_limit": "एकावेळी कमाल 30 मीडिया घटकच अपलोड करता येतात, वगळत आहे",
|
||||||
|
"host": "होस्ट",
|
||||||
|
"hour": "तास",
|
||||||
|
"hours": "तास",
|
||||||
|
"id": "ID",
|
||||||
|
"idle": "निष्क्रिय",
|
||||||
|
"ignore_icloud_photos": "iCloud वरील फोटो दुर्लक्षित करा",
|
||||||
|
"ignore_icloud_photos_description": "iCloud वर साठवलेले फोटो Immich सर्व्हरवर अपलोड केले जाणार नाहीत",
|
||||||
|
"image": "फोटो",
|
||||||
|
"image_alt_text_date": "{isVideo, select, true {व्हिडिओ} other {फोटो}} {date} ला घेतले",
|
||||||
|
"image_alt_text_date_1_person": "{isVideo, select, true {व्हिडिओ} other {फोटो}} {person1} सोबत {date} ला घेतले",
|
||||||
|
"image_alt_text_date_2_people": "{isVideo, select, true {व्हिडिओ} other {फोटो}} {person1} आणि {person2} सोबत {date} ला घेतले",
|
||||||
|
"image_alt_text_date_3_people": "{isVideo, select, true {व्हिडिओ} other {फोटो}} {person1}, {person2} आणि {person3} सोबत {date} ला घेतले",
|
||||||
|
"image_alt_text_date_4_or_more_people": "{isVideo, select, true {व्हिडिओ} other {फोटो}} {person1}, {person2} आणि आणखी {additionalCount, number} जणांसोबत {date} ला घेतले",
|
||||||
|
"image_alt_text_date_place": "{isVideo, select, true {व्हिडिओ} other {फोटो}} {city}, {country} येथे {date} ला घेतले",
|
||||||
|
"image_alt_text_date_place_1_person": "{isVideo, select, true {व्हिडिओ} other {फोटो}} {city}, {country} येथे {person1} सोबत {date} ला घेतले",
|
||||||
"notification_permission_dialog_content": "सूचना सक्षम करण्यासाठी सेटिंग्जमध्ये जा आणि अनुमती द्या.",
|
"notification_permission_dialog_content": "सूचना सक्षम करण्यासाठी सेटिंग्जमध्ये जा आणि अनुमती द्या.",
|
||||||
"notification_permission_list_tile_content": "सूचना सक्षम करण्यासाठी परवानगी द्या.",
|
"notification_permission_list_tile_content": "सूचना सक्षम करण्यासाठी परवानगी द्या.",
|
||||||
"notification_permission_list_tile_enable_button": "सूचना सक्षम करा",
|
"notification_permission_list_tile_enable_button": "सूचना सक्षम करा",
|
||||||
|
|
@ -1764,5 +1848,6 @@
|
||||||
"year": "वर्ष",
|
"year": "वर्ष",
|
||||||
"yes": "हो",
|
"yes": "हो",
|
||||||
"you_dont_have_any_shared_links": "आपल्याकडे कोणतेही सामायिक दुवे नाहीत",
|
"you_dont_have_any_shared_links": "आपल्याकडे कोणतेही सामायिक दुवे नाहीत",
|
||||||
"zoom_image": "प्रतिमा झूम करा"
|
"zoom_image": "प्रतिमा झूम करा",
|
||||||
|
"zoom_to_bounds": "सीमेपर्यंत झूम करा"
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -33,6 +33,7 @@
|
||||||
"add_to_albums": "Legg til i album",
|
"add_to_albums": "Legg til i album",
|
||||||
"add_to_albums_count": "Legg til i albumer ({count})",
|
"add_to_albums_count": "Legg til i albumer ({count})",
|
||||||
"add_to_shared_album": "Legg til delt album",
|
"add_to_shared_album": "Legg til delt album",
|
||||||
|
"add_upload_to_stack": "Legg til opplasting i stakken",
|
||||||
"add_url": "Legg til URL",
|
"add_url": "Legg til URL",
|
||||||
"added_to_archive": "Lagt til i arkivet",
|
"added_to_archive": "Lagt til i arkivet",
|
||||||
"added_to_favorites": "Lagt til favoritter",
|
"added_to_favorites": "Lagt til favoritter",
|
||||||
|
|
|
||||||
124
i18n/nl.json
124
i18n/nl.json
|
|
@ -33,6 +33,7 @@
|
||||||
"add_to_albums": "Toevoegen aan albums",
|
"add_to_albums": "Toevoegen aan albums",
|
||||||
"add_to_albums_count": "Toevoegen aan albums ({count})",
|
"add_to_albums_count": "Toevoegen aan albums ({count})",
|
||||||
"add_to_shared_album": "Aan gedeeld album toevoegen",
|
"add_to_shared_album": "Aan gedeeld album toevoegen",
|
||||||
|
"add_upload_to_stack": "Voeg upload toe aan stack",
|
||||||
"add_url": "URL toevoegen",
|
"add_url": "URL toevoegen",
|
||||||
"added_to_archive": "Toegevoegd aan archief",
|
"added_to_archive": "Toegevoegd aan archief",
|
||||||
"added_to_favorites": "Toegevoegd aan favorieten",
|
"added_to_favorites": "Toegevoegd aan favorieten",
|
||||||
|
|
@ -42,7 +43,7 @@
|
||||||
"admin_user": "Beheerder gebruiker",
|
"admin_user": "Beheerder gebruiker",
|
||||||
"asset_offline_description": "Dit item uit een externe bibliotheek is niet meer beschikbaar op de schijf en is naar de prullenbak verplaatst. Als het bestand binnen de bibliotheek is verplaatst, controleer dan je tijdlijn voor het nieuwe bijbehorende item. Om dit bestand te herstellen, zorg ervoor dat het onderstaande bestandspad toegankelijk is voor Immich en scan de bibliotheek opnieuw.",
|
"asset_offline_description": "Dit item uit een externe bibliotheek is niet meer beschikbaar op de schijf en is naar de prullenbak verplaatst. Als het bestand binnen de bibliotheek is verplaatst, controleer dan je tijdlijn voor het nieuwe bijbehorende item. Om dit bestand te herstellen, zorg ervoor dat het onderstaande bestandspad toegankelijk is voor Immich en scan de bibliotheek opnieuw.",
|
||||||
"authentication_settings": "Authenticatie-instellingen",
|
"authentication_settings": "Authenticatie-instellingen",
|
||||||
"authentication_settings_description": "Wachtwoord, OAuth, en andere authenticatie-instellingen beheren",
|
"authentication_settings_description": "Wachtwoord-, OAuth-, en andere authenticatie-instellingen beheren",
|
||||||
"authentication_settings_disable_all": "Weet je zeker dat je alle inlogmethoden wilt uitschakelen? Inloggen zal volledig worden uitgeschakeld.",
|
"authentication_settings_disable_all": "Weet je zeker dat je alle inlogmethoden wilt uitschakelen? Inloggen zal volledig worden uitgeschakeld.",
|
||||||
"authentication_settings_reenable": "Gebruik een <link>servercommando</link> om opnieuw in te schakelen.",
|
"authentication_settings_reenable": "Gebruik een <link>servercommando</link> om opnieuw in te schakelen.",
|
||||||
"background_task_job": "Achtergrondtaken",
|
"background_task_job": "Achtergrondtaken",
|
||||||
|
|
@ -65,7 +66,7 @@
|
||||||
"confirm_email_below": "Typ hieronder \"{email}\" ter bevestiging",
|
"confirm_email_below": "Typ hieronder \"{email}\" ter bevestiging",
|
||||||
"confirm_reprocess_all_faces": "Weet je zeker dat je alle gezichten opnieuw wilt verwerken? Hiermee worden ook alle mensen gewist.",
|
"confirm_reprocess_all_faces": "Weet je zeker dat je alle gezichten opnieuw wilt verwerken? Hiermee worden ook alle mensen gewist.",
|
||||||
"confirm_user_password_reset": "Weet je zeker dat je het wachtwoord van {user} wilt resetten?",
|
"confirm_user_password_reset": "Weet je zeker dat je het wachtwoord van {user} wilt resetten?",
|
||||||
"confirm_user_pin_code_reset": "Weet je zeker dat je de PIN code van {user} wilt resetten?",
|
"confirm_user_pin_code_reset": "Weet je zeker dat je de pincode van {user} wilt resetten?",
|
||||||
"create_job": "Taak maken",
|
"create_job": "Taak maken",
|
||||||
"cron_expression": "Cron expressie",
|
"cron_expression": "Cron expressie",
|
||||||
"cron_expression_description": "Stel het scaninterval in met het cron-formaat. Voor meer informatie kun je bijvoorbeeld kijken naar <link>Crontab Guru</link>",
|
"cron_expression_description": "Stel het scaninterval in met het cron-formaat. Voor meer informatie kun je bijvoorbeeld kijken naar <link>Crontab Guru</link>",
|
||||||
|
|
@ -86,7 +87,7 @@
|
||||||
"image_fullsize_enabled_description": "Genereer afbeelding op volledig formaat voor niet-webvriendelijke formaten. Als “Verkies ingesloten voorbeeldafbeelding” is ingeschakeld, worden ingesloten voorvertoningen direct gebruikt zonder conversie. Heeft geen invloed op webvriendelijke formaten zoals JPEG.",
|
"image_fullsize_enabled_description": "Genereer afbeelding op volledig formaat voor niet-webvriendelijke formaten. Als “Verkies ingesloten voorbeeldafbeelding” is ingeschakeld, worden ingesloten voorvertoningen direct gebruikt zonder conversie. Heeft geen invloed op webvriendelijke formaten zoals JPEG.",
|
||||||
"image_fullsize_quality_description": "Beeldkwaliteit op ware grootte van 1-100. Hoger is beter, maar genereert grotere bestanden.",
|
"image_fullsize_quality_description": "Beeldkwaliteit op ware grootte van 1-100. Hoger is beter, maar genereert grotere bestanden.",
|
||||||
"image_fullsize_title": "Instellingen afbeelding op ware grootte",
|
"image_fullsize_title": "Instellingen afbeelding op ware grootte",
|
||||||
"image_prefer_embedded_preview": "Verkies ingesloten voorbeeldafbeelding",
|
"image_prefer_embedded_preview": "Voorkeur geven aan ingesloten voorbeeldafbeelding",
|
||||||
"image_prefer_embedded_preview_setting_description": "Gebruik ingesloten voorbeeldafbeelding van RAW-bestanden als invoer voor beeldverwerking wanneer beschikbaar. Dit kan preciezere kleuren produceren voor sommige afbeeldingen, maar de kwaliteit van het voorbeeld is afhankelijk van de camera en de afbeelding kan mogelijk meer compressie-artefacten bevatten.",
|
"image_prefer_embedded_preview_setting_description": "Gebruik ingesloten voorbeeldafbeelding van RAW-bestanden als invoer voor beeldverwerking wanneer beschikbaar. Dit kan preciezere kleuren produceren voor sommige afbeeldingen, maar de kwaliteit van het voorbeeld is afhankelijk van de camera en de afbeelding kan mogelijk meer compressie-artefacten bevatten.",
|
||||||
"image_prefer_wide_gamut": "Voorkeur geven aan wide gamut",
|
"image_prefer_wide_gamut": "Voorkeur geven aan wide gamut",
|
||||||
"image_prefer_wide_gamut_setting_description": "Display P3 gebruiken voor voorbeeldafbeeldingen. Dit behoudt de levendigheid van afbeeldingen met brede kleurruimtes beter, maar afbeeldingen kunnen er anders uitzien op oude apparaten met een oude browserversie. sRGB-afbeeldingen blijven sRGB gebruiken om kleurverschuivingen te vermijden.",
|
"image_prefer_wide_gamut_setting_description": "Display P3 gebruiken voor voorbeeldafbeeldingen. Dit behoudt de levendigheid van afbeeldingen met brede kleurruimtes beter, maar afbeeldingen kunnen er anders uitzien op oude apparaten met een oude browserversie. sRGB-afbeeldingen blijven sRGB gebruiken om kleurverschuivingen te vermijden.",
|
||||||
|
|
@ -103,7 +104,7 @@
|
||||||
"image_thumbnail_title": "Thumbnailinstellingen",
|
"image_thumbnail_title": "Thumbnailinstellingen",
|
||||||
"job_concurrency": "{job} gelijktijdigheid",
|
"job_concurrency": "{job} gelijktijdigheid",
|
||||||
"job_created": "Taak aangemaakt",
|
"job_created": "Taak aangemaakt",
|
||||||
"job_not_concurrency_safe": "Deze taak kan niet gelijktijdig worden uitgevoerd.",
|
"job_not_concurrency_safe": "Deze taak kan niet parallel worden uitgevoerd.",
|
||||||
"job_settings": "Achtergrondtaak-instellingen",
|
"job_settings": "Achtergrondtaak-instellingen",
|
||||||
"job_settings_description": "Beheer aantal gelijktijdige taken",
|
"job_settings_description": "Beheer aantal gelijktijdige taken",
|
||||||
"job_status": "Taakstatus",
|
"job_status": "Taakstatus",
|
||||||
|
|
@ -123,20 +124,20 @@
|
||||||
"library_watching_settings_description": "Automatisch gewijzigde bestanden bijhouden",
|
"library_watching_settings_description": "Automatisch gewijzigde bestanden bijhouden",
|
||||||
"logging_enable_description": "Logboek inschakelen",
|
"logging_enable_description": "Logboek inschakelen",
|
||||||
"logging_level_description": "Indien ingeschakeld, welk logniveau er wordt gebruikt.",
|
"logging_level_description": "Indien ingeschakeld, welk logniveau er wordt gebruikt.",
|
||||||
"logging_settings": "Logging",
|
"logging_settings": "Logboek",
|
||||||
"machine_learning_availability_checks": "Beschikbaarheid",
|
"machine_learning_availability_checks": "Beschikbaarheidscontroles",
|
||||||
"machine_learning_availability_checks_description": "Automatisch detecteren en selecteren van beschikbare machine learning servers",
|
"machine_learning_availability_checks_description": "Automatisch detecteren en selecteren van beschikbare machine learning servers",
|
||||||
"machine_learning_availability_checks_enabled": "Activeer beschikbaarheid controles",
|
"machine_learning_availability_checks_enabled": "Activeer beschikbaarheidscontroles",
|
||||||
"machine_learning_availability_checks_interval": "Controleinterval",
|
"machine_learning_availability_checks_interval": "Controleinterval",
|
||||||
"machine_learning_availability_checks_interval_description": "Interval in milliseconden tussen beschikbaarheid checks",
|
"machine_learning_availability_checks_interval_description": "Interval in milliseconden tussen beschikbaarheidscontroles",
|
||||||
"machine_learning_availability_checks_timeout": "Verzoek time-out",
|
"machine_learning_availability_checks_timeout": "Verzoek time-out",
|
||||||
"machine_learning_availability_checks_timeout_description": "Time-out in milliseconden voor beschikbaarheidschecks",
|
"machine_learning_availability_checks_timeout_description": "Time-out in milliseconden voor beschikbaarheidscontroles",
|
||||||
"machine_learning_clip_model": "CLIP model",
|
"machine_learning_clip_model": "CLIP-model",
|
||||||
"machine_learning_clip_model_description": "De naam van een CLIP-model dat <link>hier</link> is vermeld. Let op: je moet de 'Slim Zoeken -taak opnieuw uitvoeren voor alle afbeeldingen wanneer je een model wijzigt.",
|
"machine_learning_clip_model_description": "De naam van een CLIP-model dat <link>hier</link> is vermeld. Let op: je moet de 'Slim Zoeken'-taak voor alle afbeeldingen opnieuw uitvoeren wanneer je een model wijzigt.",
|
||||||
"machine_learning_duplicate_detection": "Duplicaat detectie",
|
"machine_learning_duplicate_detection": "Duplicaatdetectie",
|
||||||
"machine_learning_duplicate_detection_enabled": "Duplicaatdetectie inschakelen",
|
"machine_learning_duplicate_detection_enabled": "Duplicaatdetectie inschakelen",
|
||||||
"machine_learning_duplicate_detection_enabled_description": "Indien uitgeschakeld, worden identieke items nog steeds gededupliceerd.",
|
"machine_learning_duplicate_detection_enabled_description": "Indien uitgeschakeld, worden identieke items nog steeds gededupliceerd.",
|
||||||
"machine_learning_duplicate_detection_setting_description": "Gebruik CLIP om exactie kopieën te vinden",
|
"machine_learning_duplicate_detection_setting_description": "Gebruik CLIP-embeddings om mogelijke kopieën te vinden",
|
||||||
"machine_learning_enabled": "Machine learning inschakelen",
|
"machine_learning_enabled": "Machine learning inschakelen",
|
||||||
"machine_learning_enabled_description": "Wanneer uitgeschakeld zullen alle ML instellingen uitgezet worden, ongeacht onderstaande instellingen.",
|
"machine_learning_enabled_description": "Wanneer uitgeschakeld zullen alle ML instellingen uitgezet worden, ongeacht onderstaande instellingen.",
|
||||||
"machine_learning_facial_recognition": "Gezichtsherkenning",
|
"machine_learning_facial_recognition": "Gezichtsherkenning",
|
||||||
|
|
@ -164,8 +165,8 @@
|
||||||
"manage_log_settings": "Beheer logboekinstellingen",
|
"manage_log_settings": "Beheer logboekinstellingen",
|
||||||
"map_dark_style": "Donkere stijl",
|
"map_dark_style": "Donkere stijl",
|
||||||
"map_enable_description": "Kaartfuncties inschakelen",
|
"map_enable_description": "Kaartfuncties inschakelen",
|
||||||
"map_gps_settings": "Kaart & GPS Instellingen",
|
"map_gps_settings": "Kaart- & gps-instellingen",
|
||||||
"map_gps_settings_description": "Beheer kaart & GPS (omgekeerde geocodering) instellingen",
|
"map_gps_settings_description": "Beheer kaart- & gps-instellingen (omgekeerde geocodering)",
|
||||||
"map_implications": "De kaartfunctie is afhankelijk van een externe service (tiles.immich.cloud)",
|
"map_implications": "De kaartfunctie is afhankelijk van een externe service (tiles.immich.cloud)",
|
||||||
"map_light_style": "Lichte stijl",
|
"map_light_style": "Lichte stijl",
|
||||||
"map_manage_reverse_geocoding_settings": "Beheer <link>omgekeerde geocodering</link> instellingen",
|
"map_manage_reverse_geocoding_settings": "Beheer <link>omgekeerde geocodering</link> instellingen",
|
||||||
|
|
@ -178,27 +179,27 @@
|
||||||
"memory_cleanup_job": "Herinneringen opschonen",
|
"memory_cleanup_job": "Herinneringen opschonen",
|
||||||
"memory_generate_job": "Herinneringen genereren",
|
"memory_generate_job": "Herinneringen genereren",
|
||||||
"metadata_extraction_job": "Metadata ophalen",
|
"metadata_extraction_job": "Metadata ophalen",
|
||||||
"metadata_extraction_job_description": "Metadata ophalen van ieder item, zoals GPS, gezichten en resolutie",
|
"metadata_extraction_job_description": "Metadata ophalen van ieder item, zoals gps, gezichten en resolutie",
|
||||||
"metadata_faces_import_setting": "Gezichten importeren inschakelen",
|
"metadata_faces_import_setting": "Gezichten importeren inschakelen",
|
||||||
"metadata_faces_import_setting_description": "Gezichten importeren uit EXIF-gegevens van afbeeldingen en sidecar bestanden",
|
"metadata_faces_import_setting_description": "Gezichten importeren uit EXIF-gegevens van afbeeldingen en sidecar bestanden",
|
||||||
"metadata_settings": "Metadata instellingen",
|
"metadata_settings": "Metadata-instellingen",
|
||||||
"metadata_settings_description": "Beheer metadata instellingen",
|
"metadata_settings_description": "Beheer metadata-instellingen",
|
||||||
"migration_job": "Migratie",
|
"migration_job": "Migratie",
|
||||||
"migration_job_description": "Migreer thumbnails voor items en gezichten naar de nieuwste mapstructuur",
|
"migration_job_description": "Migreer thumbnails voor items en gezichten naar de nieuwste mapstructuur",
|
||||||
"nightly_tasks_cluster_faces_setting_description": "Gezichtsherkenning uitvoeren op nieuw gedetecteerde gezichten",
|
"nightly_tasks_cluster_faces_setting_description": "Gezichtsherkenning uitvoeren op nieuw gedetecteerde gezichten",
|
||||||
"nightly_tasks_cluster_new_faces_setting": "Cluster nieuwe gezichten",
|
"nightly_tasks_cluster_new_faces_setting": "Cluster nieuwe gezichten",
|
||||||
"nightly_tasks_database_cleanup_setting": "Database opschoon taken",
|
"nightly_tasks_database_cleanup_setting": "Database-opruimtaken",
|
||||||
"nightly_tasks_database_cleanup_setting_description": "Ruim oude data op van de database",
|
"nightly_tasks_database_cleanup_setting_description": "Ruim oude, niet meer geldige data op uit de database",
|
||||||
"nightly_tasks_generate_memories_setting": "Genereer herinneringen",
|
"nightly_tasks_generate_memories_setting": "Genereer herinneringen",
|
||||||
"nightly_tasks_generate_memories_setting_description": "Maak nieuwe herinneringen van items",
|
"nightly_tasks_generate_memories_setting_description": "Maak nieuwe herinneringen van items",
|
||||||
"nightly_tasks_missing_thumbnails_setting": "Genereer ontbrekende thumbnails",
|
"nightly_tasks_missing_thumbnails_setting": "Genereer ontbrekende thumbnails",
|
||||||
"nightly_tasks_missing_thumbnails_setting_description": "Items zonder thumbnail in een wachtrij plaatsen voor het genereren van thumbnails",
|
"nightly_tasks_missing_thumbnails_setting_description": "Items zonder thumbnail in een wachtrij plaatsen voor het genereren van thumbnails",
|
||||||
"nightly_tasks_settings": "Instellingen voor nacht taken",
|
"nightly_tasks_settings": "Instellingen voor nachtelijke taken",
|
||||||
"nightly_tasks_settings_description": "Beheer nacht taken",
|
"nightly_tasks_settings_description": "Beheer nachtelijke taken",
|
||||||
"nightly_tasks_start_time_setting": "Start tijd",
|
"nightly_tasks_start_time_setting": "Starttijd",
|
||||||
"nightly_tasks_start_time_setting_description": "De tijd waarop de server begint met het uitvoeren van de nacht taken",
|
"nightly_tasks_start_time_setting_description": "De tijd waarop de server begint met het uitvoeren van de nachtelijke taken",
|
||||||
"nightly_tasks_sync_quota_usage_setting": "Synchroniseer quota gebruik",
|
"nightly_tasks_sync_quota_usage_setting": "Synchroniseer opslaglimieten",
|
||||||
"nightly_tasks_sync_quota_usage_setting_description": "update gebruiker opslag quota, gebaseerd op huidig gebruik",
|
"nightly_tasks_sync_quota_usage_setting_description": "Update opslaglimieten van gebruikers, gebaseerd op huidig gebruik",
|
||||||
"no_paths_added": "Geen paden toegevoegd",
|
"no_paths_added": "Geen paden toegevoegd",
|
||||||
"no_pattern_added": "Geen patroon toegevoegd",
|
"no_pattern_added": "Geen patroon toegevoegd",
|
||||||
"note_apply_storage_label_previous_assets": "Opmerking: om het opslaglabel toe te passen op eerder geüploade items, voer de volgende taak uit",
|
"note_apply_storage_label_previous_assets": "Opmerking: om het opslaglabel toe te passen op eerder geüploade items, voer de volgende taak uit",
|
||||||
|
|
@ -273,12 +274,12 @@
|
||||||
"storage_template_date_time_sample": "Voorbeeldtijd {date}",
|
"storage_template_date_time_sample": "Voorbeeldtijd {date}",
|
||||||
"storage_template_enable_description": "Engine voor opslagtemplate inschakelen",
|
"storage_template_enable_description": "Engine voor opslagtemplate inschakelen",
|
||||||
"storage_template_hash_verification_enabled": "Hashverificatie ingeschakeld",
|
"storage_template_hash_verification_enabled": "Hashverificatie ingeschakeld",
|
||||||
"storage_template_hash_verification_enabled_description": "Zet hashverificatie aan, schakel dit niet uit tenzij je zeker bent van de implicaties",
|
"storage_template_hash_verification_enabled_description": "Zet hashverificatie aan. Schakel dit niet uit tenzij je zeker bent van de gevolgen",
|
||||||
"storage_template_migration": "Opslagtemplate migratie",
|
"storage_template_migration": "Opslagtemplate migratie",
|
||||||
"storage_template_migration_description": "Pas de huidige <link>{template}</link> toe op eerder geüploade items",
|
"storage_template_migration_description": "Pas de huidige <link>{template}</link> toe op eerder geüploade items",
|
||||||
"storage_template_migration_info": "Wijzigingen in de opslagtemplate worden alleen toegepast op nieuwe items. Om de template met terugwerkende kracht toe te passen op eerder geüploade items, voer je de <link>{job}</link> uit.",
|
"storage_template_migration_info": "Wijzigingen in de opslagtemplate worden alleen toegepast op nieuwe items. Om de template met terugwerkende kracht toe te passen op eerder geüploade items, voer je de <link>{job}</link> uit.",
|
||||||
"storage_template_migration_job": "Opslagtemplate migratietaak",
|
"storage_template_migration_job": "Opslagtemplate migratietaak",
|
||||||
"storage_template_more_details": "Voor meer details over deze functie, bekijk de <template-link>Opslagstemplate</template-link> en de <implications-link>implicaties</implications-link> daarvan",
|
"storage_template_more_details": "Meer details over deze functie vind je onder <template-link>Opslagtemplate</template-link>, net als de <implications-link>gevolgen</implications-link> daarvan",
|
||||||
"storage_template_onboarding_description_v2": "Wanneer ingeschakeld, zal deze functie bestanden automatisch organiseren gebaseerd op een template gedefinieerd door de gebruiker. Voor meer informatie, bekijk de <link>documentatie</link>.",
|
"storage_template_onboarding_description_v2": "Wanneer ingeschakeld, zal deze functie bestanden automatisch organiseren gebaseerd op een template gedefinieerd door de gebruiker. Voor meer informatie, bekijk de <link>documentatie</link>.",
|
||||||
"storage_template_path_length": "Geschatte padlengte: <b>{length, number}</b>/{limit, number}",
|
"storage_template_path_length": "Geschatte padlengte: <b>{length, number}</b>/{limit, number}",
|
||||||
"storage_template_settings": "Opslagtemplate",
|
"storage_template_settings": "Opslagtemplate",
|
||||||
|
|
@ -353,7 +354,7 @@
|
||||||
"transcoding_temporal_aq_description": "Alleen van toepassing op NVENC. Verhoogt de kwaliteit van scènes met veel details en weinig beweging. Is mogelijk niet compatibel met oudere apparaten.",
|
"transcoding_temporal_aq_description": "Alleen van toepassing op NVENC. Verhoogt de kwaliteit van scènes met veel details en weinig beweging. Is mogelijk niet compatibel met oudere apparaten.",
|
||||||
"transcoding_threads": "Threads",
|
"transcoding_threads": "Threads",
|
||||||
"transcoding_threads_description": "Hogere waarden leiden tot snellere codering, maar laten minder ruimte over voor de server om andere taken te verwerken terwijl deze actief is. Deze waarde mag niet groter zijn dan het aantal CPU cores. Maximaliseert het gebruik als deze is ingesteld op 0.",
|
"transcoding_threads_description": "Hogere waarden leiden tot snellere codering, maar laten minder ruimte over voor de server om andere taken te verwerken terwijl deze actief is. Deze waarde mag niet groter zijn dan het aantal CPU cores. Maximaliseert het gebruik als deze is ingesteld op 0.",
|
||||||
"transcoding_tone_mapping": "Tone-mapping",
|
"transcoding_tone_mapping": "Tone mapping",
|
||||||
"transcoding_tone_mapping_description": "Probeert het uiterlijk van HDR-video's te behouden wanneer ze worden geconverteerd naar SDR. Elk algoritme maakt verschillende afwegingen voor kleur, detail en helderheid. Hable behoudt detail, Mobius behoudt kleur en Reinhard behoudt helderheid.",
|
"transcoding_tone_mapping_description": "Probeert het uiterlijk van HDR-video's te behouden wanneer ze worden geconverteerd naar SDR. Elk algoritme maakt verschillende afwegingen voor kleur, detail en helderheid. Hable behoudt detail, Mobius behoudt kleur en Reinhard behoudt helderheid.",
|
||||||
"transcoding_transcode_policy": "Transcodeerbeleid",
|
"transcoding_transcode_policy": "Transcodeerbeleid",
|
||||||
"transcoding_transcode_policy_description": "Beleid voor wanneer een video getranscodeerd moet worden. HDR-video's worden altijd getranscodeerd (behalve als transcodering is uitgeschakeld).",
|
"transcoding_transcode_policy_description": "Beleid voor wanneer een video getranscodeerd moet worden. HDR-video's worden altijd getranscodeerd (behalve als transcodering is uitgeschakeld).",
|
||||||
|
|
@ -372,7 +373,7 @@
|
||||||
"user_cleanup_job": "Gebruiker opschoning",
|
"user_cleanup_job": "Gebruiker opschoning",
|
||||||
"user_delete_delay": "Het account en de items van <b>{user}</b> worden over {delay, plural, one {# dag} other {# dagen}} permanent verwijderd.",
|
"user_delete_delay": "Het account en de items van <b>{user}</b> worden over {delay, plural, one {# dag} other {# dagen}} permanent verwijderd.",
|
||||||
"user_delete_delay_settings": "Verwijder vertraging",
|
"user_delete_delay_settings": "Verwijder vertraging",
|
||||||
"user_delete_delay_settings_description": "Aantal dagen na verwijdering om het account en de items van een gebruiker permanent te verwijderen. De taak voor het verwijderen van gebruikers wordt om middernacht uitgevoerd om te controleren of gebruikers verwijderd kunnen worden. Wijzigingen in deze instelling worden bij de volgende uitvoering meegenomen.",
|
"user_delete_delay_settings_description": "Aantal dagen na verwijdering om het account en de items van een gebruiker permanent te verwijderen. De taak voor het verwijderen van gebruikers wordt om middernacht uitgevoerd om te controleren of gebruiker te verwijderen zijn. Wijzigingen in deze instelling worden bij de volgende uitvoering meegenomen.",
|
||||||
"user_delete_immediately": "Het account en de items van <b>{user}</b> worden <b>onmiddellijk</b> in de wachtrij geplaatst voor permanente verwijdering.",
|
"user_delete_immediately": "Het account en de items van <b>{user}</b> worden <b>onmiddellijk</b> in de wachtrij geplaatst voor permanente verwijdering.",
|
||||||
"user_delete_immediately_checkbox": "Gebruikers en items in de wachtrij plaatsen voor onmiddellijke verwijdering",
|
"user_delete_immediately_checkbox": "Gebruikers en items in de wachtrij plaatsen voor onmiddellijke verwijdering",
|
||||||
"user_details": "Gebruiker details",
|
"user_details": "Gebruiker details",
|
||||||
|
|
@ -418,7 +419,7 @@
|
||||||
"album_added_notification_setting_description": "Ontvang een e-mailmelding wanneer je aan een gedeeld album wordt toegevoegd",
|
"album_added_notification_setting_description": "Ontvang een e-mailmelding wanneer je aan een gedeeld album wordt toegevoegd",
|
||||||
"album_cover_updated": "Albumomslag is bijgewerkt",
|
"album_cover_updated": "Albumomslag is bijgewerkt",
|
||||||
"album_delete_confirmation": "Weet je zeker dat je het album {album} wilt verwijderen?",
|
"album_delete_confirmation": "Weet je zeker dat je het album {album} wilt verwijderen?",
|
||||||
"album_delete_confirmation_description": "Als dit album gedeeld is, hebben andere gebruikers er geen toegang meer toe.",
|
"album_delete_confirmation_description": "Als dit album gedeeld is, zullen andere gebruikers geen toegang meer hebben.",
|
||||||
"album_deleted": "Album verwijderd",
|
"album_deleted": "Album verwijderd",
|
||||||
"album_info_card_backup_album_excluded": "UITGESLOTEN",
|
"album_info_card_backup_album_excluded": "UITGESLOTEN",
|
||||||
"album_info_card_backup_album_included": "INBEGREPEN",
|
"album_info_card_backup_album_included": "INBEGREPEN",
|
||||||
|
|
@ -664,7 +665,7 @@
|
||||||
"change_password_form_new_password": "Nieuw wachtwoord",
|
"change_password_form_new_password": "Nieuw wachtwoord",
|
||||||
"change_password_form_password_mismatch": "Wachtwoorden komen niet overeen",
|
"change_password_form_password_mismatch": "Wachtwoorden komen niet overeen",
|
||||||
"change_password_form_reenter_new_password": "Vul het wachtwoord opnieuw in",
|
"change_password_form_reenter_new_password": "Vul het wachtwoord opnieuw in",
|
||||||
"change_pin_code": "Wijzig PIN code",
|
"change_pin_code": "Wijzig pincode",
|
||||||
"change_your_password": "Wijzig je wachtwoord",
|
"change_your_password": "Wijzig je wachtwoord",
|
||||||
"changed_visibility_successfully": "Zichtbaarheid succesvol gewijzigd",
|
"changed_visibility_successfully": "Zichtbaarheid succesvol gewijzigd",
|
||||||
"charging": "Opladen",
|
"charging": "Opladen",
|
||||||
|
|
@ -707,7 +708,7 @@
|
||||||
"confirm_delete_face": "Weet je zeker dat je het gezicht van {name} wilt verwijderen uit het item?",
|
"confirm_delete_face": "Weet je zeker dat je het gezicht van {name} wilt verwijderen uit het item?",
|
||||||
"confirm_delete_shared_link": "Weet je zeker dat je deze gedeelde link wilt verwijderen?",
|
"confirm_delete_shared_link": "Weet je zeker dat je deze gedeelde link wilt verwijderen?",
|
||||||
"confirm_keep_this_delete_others": "Alle andere items in de stack worden verwijderd, behalve deze. Weet je zeker dat je wilt doorgaan?",
|
"confirm_keep_this_delete_others": "Alle andere items in de stack worden verwijderd, behalve deze. Weet je zeker dat je wilt doorgaan?",
|
||||||
"confirm_new_pin_code": "Bevestig nieuwe PIN code",
|
"confirm_new_pin_code": "Bevestig nieuwe pincode",
|
||||||
"confirm_password": "Bevestig wachtwoord",
|
"confirm_password": "Bevestig wachtwoord",
|
||||||
"confirm_tag_face": "Wil je dit gezicht taggen als {name}?",
|
"confirm_tag_face": "Wil je dit gezicht taggen als {name}?",
|
||||||
"confirm_tag_face_unnamed": "Wil je dit gezicht taggen?",
|
"confirm_tag_face_unnamed": "Wil je dit gezicht taggen?",
|
||||||
|
|
@ -759,7 +760,7 @@
|
||||||
"crop": "Bijsnijden",
|
"crop": "Bijsnijden",
|
||||||
"curated_object_page_title": "Dingen",
|
"curated_object_page_title": "Dingen",
|
||||||
"current_device": "Huidig apparaat",
|
"current_device": "Huidig apparaat",
|
||||||
"current_pin_code": "Huidige PIN code",
|
"current_pin_code": "Huidige pincode",
|
||||||
"current_server_address": "Huidig serveradres",
|
"current_server_address": "Huidig serveradres",
|
||||||
"custom_locale": "Aangepaste landinstelling",
|
"custom_locale": "Aangepaste landinstelling",
|
||||||
"custom_locale_description": "Formatteer datums en getallen op basis van de taal en de regio",
|
"custom_locale_description": "Formatteer datums en getallen op basis van de taal en de regio",
|
||||||
|
|
@ -940,7 +941,7 @@
|
||||||
"failed_to_load_notifications": "Kon meldingen niet laden",
|
"failed_to_load_notifications": "Kon meldingen niet laden",
|
||||||
"failed_to_load_people": "Kan mensen niet laden",
|
"failed_to_load_people": "Kan mensen niet laden",
|
||||||
"failed_to_remove_product_key": "Fout bij het verwijderen van de licentiesleutel",
|
"failed_to_remove_product_key": "Fout bij het verwijderen van de licentiesleutel",
|
||||||
"failed_to_reset_pin_code": "Resetten van PIN code mislukt",
|
"failed_to_reset_pin_code": "Resetten van pincode mislukt",
|
||||||
"failed_to_stack_assets": "Fout bij stapelen van items",
|
"failed_to_stack_assets": "Fout bij stapelen van items",
|
||||||
"failed_to_unstack_assets": "Fout bij ontstapelen van items",
|
"failed_to_unstack_assets": "Fout bij ontstapelen van items",
|
||||||
"failed_to_update_notification_status": "Kon notificatiestatus niet updaten",
|
"failed_to_update_notification_status": "Kon notificatiestatus niet updaten",
|
||||||
|
|
@ -1005,7 +1006,7 @@
|
||||||
"unable_to_remove_partner": "Kan partner niet verwijderen",
|
"unable_to_remove_partner": "Kan partner niet verwijderen",
|
||||||
"unable_to_remove_reaction": "Kan reactie niet verwijderen",
|
"unable_to_remove_reaction": "Kan reactie niet verwijderen",
|
||||||
"unable_to_reset_password": "Kan wachtwoord niet resetten",
|
"unable_to_reset_password": "Kan wachtwoord niet resetten",
|
||||||
"unable_to_reset_pin_code": "Kan PIN code niet resetten",
|
"unable_to_reset_pin_code": "Kan pincode niet resetten",
|
||||||
"unable_to_resolve_duplicate": "Kan duplicaat niet oplossen",
|
"unable_to_resolve_duplicate": "Kan duplicaat niet oplossen",
|
||||||
"unable_to_restore_assets": "Kan items niet herstellen",
|
"unable_to_restore_assets": "Kan items niet herstellen",
|
||||||
"unable_to_restore_trash": "Kan niet herstellen uit prullenbak",
|
"unable_to_restore_trash": "Kan niet herstellen uit prullenbak",
|
||||||
|
|
@ -1038,6 +1039,7 @@
|
||||||
"exif_bottom_sheet_description_error": "Fout bij het bijwerken van de beschrijving",
|
"exif_bottom_sheet_description_error": "Fout bij het bijwerken van de beschrijving",
|
||||||
"exif_bottom_sheet_details": "DETAILS",
|
"exif_bottom_sheet_details": "DETAILS",
|
||||||
"exif_bottom_sheet_location": "LOCATIE",
|
"exif_bottom_sheet_location": "LOCATIE",
|
||||||
|
"exif_bottom_sheet_no_description": "Geen beschrijving",
|
||||||
"exif_bottom_sheet_people": "MENSEN",
|
"exif_bottom_sheet_people": "MENSEN",
|
||||||
"exif_bottom_sheet_person_add_person": "Naam toevoegen",
|
"exif_bottom_sheet_person_add_person": "Naam toevoegen",
|
||||||
"exit_slideshow": "Diavoorstelling sluiten",
|
"exit_slideshow": "Diavoorstelling sluiten",
|
||||||
|
|
@ -1088,12 +1090,12 @@
|
||||||
"folder_not_found": "Map niet gevonden",
|
"folder_not_found": "Map niet gevonden",
|
||||||
"folders": "Mappen",
|
"folders": "Mappen",
|
||||||
"folders_feature_description": "Bladeren door de mapweergave van de foto's en video's op het bestandssysteem",
|
"folders_feature_description": "Bladeren door de mapweergave van de foto's en video's op het bestandssysteem",
|
||||||
"forgot_pin_code_question": "PIN vergeten?",
|
"forgot_pin_code_question": "Pincode vergeten?",
|
||||||
"forward": "Vooruit",
|
"forward": "Vooruit",
|
||||||
"gcast_enabled": "Google Cast",
|
"gcast_enabled": "Google Cast",
|
||||||
"gcast_enabled_description": "Deze functie gebruikt externe bronnen van Google om te kunnen werken.",
|
"gcast_enabled_description": "Deze functie gebruikt externe bronnen van Google om te kunnen werken.",
|
||||||
"general": "Algemeen",
|
"general": "Algemeen",
|
||||||
"geolocation_instruction_location": "Klik op een item met GPS coördinaten om de locatie te gebruiken, of selecteer een locatie direct vanaf de kaart",
|
"geolocation_instruction_location": "Klik op een item met gps-coördinaten om de locatie te gebruiken, of kies een locatie direct op de kaart",
|
||||||
"get_help": "Krijg hulp",
|
"get_help": "Krijg hulp",
|
||||||
"get_wifiname_error": "Kon de WiFi-naam niet ophalen. Zorg ervoor dat je de benodigde machtigingen hebt verleend en verbonden bent met een WiFi-netwerk",
|
"get_wifiname_error": "Kon de WiFi-naam niet ophalen. Zorg ervoor dat je de benodigde machtigingen hebt verleend en verbonden bent met een WiFi-netwerk",
|
||||||
"getting_started": "Aan de slag",
|
"getting_started": "Aan de slag",
|
||||||
|
|
@ -1138,7 +1140,7 @@
|
||||||
"home_page_delete_err_partner": "Partner items kunnen niet verwijderd worden, overslaan",
|
"home_page_delete_err_partner": "Partner items kunnen niet verwijderd worden, overslaan",
|
||||||
"home_page_delete_remote_err_local": "Lokale items staan in verwijder selectie externe items, overslaan",
|
"home_page_delete_remote_err_local": "Lokale items staan in verwijder selectie externe items, overslaan",
|
||||||
"home_page_favorite_err_local": "Lokale items kunnen nog niet als favoriet worden aangemerkt, overslaan",
|
"home_page_favorite_err_local": "Lokale items kunnen nog niet als favoriet worden aangemerkt, overslaan",
|
||||||
"home_page_favorite_err_partner": "Partner items kunnen nog niet ge-favoriet worden, overslaan",
|
"home_page_favorite_err_partner": "Partner items kunnen nog niet als favoriet gemarkeerd worden, overslaan",
|
||||||
"home_page_first_time_notice": "Als dit de eerste keer is dat je de app gebruikt, zorg er dan voor dat je een back-up album kiest, zodat de tijdlijn gevuld kan worden met foto's en video's uit het album",
|
"home_page_first_time_notice": "Als dit de eerste keer is dat je de app gebruikt, zorg er dan voor dat je een back-up album kiest, zodat de tijdlijn gevuld kan worden met foto's en video's uit het album",
|
||||||
"home_page_locked_error_local": "Kan lokale bestanden niet naar de vergrendelde map verplaatsen, sla over",
|
"home_page_locked_error_local": "Kan lokale bestanden niet naar de vergrendelde map verplaatsen, sla over",
|
||||||
"home_page_locked_error_partner": "Kan partnerbestanden niet naar de vergrendelde map verplaatsen, sla over",
|
"home_page_locked_error_partner": "Kan partnerbestanden niet naar de vergrendelde map verplaatsen, sla over",
|
||||||
|
|
@ -1182,7 +1184,7 @@
|
||||||
"day_at_onepm": "Iedere dag om 13 uur",
|
"day_at_onepm": "Iedere dag om 13 uur",
|
||||||
"hours": "{hours, plural, one {Ieder uur} other {Iedere {hours, number} uren}}",
|
"hours": "{hours, plural, one {Ieder uur} other {Iedere {hours, number} uren}}",
|
||||||
"night_at_midnight": "Iedere avond om middernacht",
|
"night_at_midnight": "Iedere avond om middernacht",
|
||||||
"night_at_twoam": "Iedere nacht om 2 uur"
|
"night_at_twoam": "Elke nacht om 2 uur"
|
||||||
},
|
},
|
||||||
"invalid_date": "Ongeldige datum",
|
"invalid_date": "Ongeldige datum",
|
||||||
"invalid_date_format": "Ongeldig datumformaat",
|
"invalid_date_format": "Ongeldig datumformaat",
|
||||||
|
|
@ -1373,7 +1375,7 @@
|
||||||
"new_api_key": "Nieuwe API-sleutel",
|
"new_api_key": "Nieuwe API-sleutel",
|
||||||
"new_password": "Nieuw wachtwoord",
|
"new_password": "Nieuw wachtwoord",
|
||||||
"new_person": "Nieuw persoon",
|
"new_person": "Nieuw persoon",
|
||||||
"new_pin_code": "Nieuwe PIN code",
|
"new_pin_code": "Nieuwe pincode",
|
||||||
"new_pin_code_subtitle": "Dit is de eerste keer dat u de vergrendelde map opent. Stel een pincode in om deze pagina veilig te openen",
|
"new_pin_code_subtitle": "Dit is de eerste keer dat u de vergrendelde map opent. Stel een pincode in om deze pagina veilig te openen",
|
||||||
"new_timeline": "Nieuwe tijdlijn",
|
"new_timeline": "Nieuwe tijdlijn",
|
||||||
"new_user_created": "Nieuwe gebruiker aangemaakt",
|
"new_user_created": "Nieuwe gebruiker aangemaakt",
|
||||||
|
|
@ -1407,7 +1409,7 @@
|
||||||
"no_results_description": "Probeer een synoniem of een algemener zoekwoord",
|
"no_results_description": "Probeer een synoniem of een algemener zoekwoord",
|
||||||
"no_shared_albums_message": "Maak een album om foto's en video's te delen met mensen in je netwerk",
|
"no_shared_albums_message": "Maak een album om foto's en video's te delen met mensen in je netwerk",
|
||||||
"no_uploads_in_progress": "Geen uploads bezig",
|
"no_uploads_in_progress": "Geen uploads bezig",
|
||||||
"not_available": "N.B.",
|
"not_available": "n.v.t.",
|
||||||
"not_in_any_album": "Niet in een album",
|
"not_in_any_album": "Niet in een album",
|
||||||
"not_selected": "Niet geselecteerd",
|
"not_selected": "Niet geselecteerd",
|
||||||
"note_apply_storage_label_to_previously_uploaded assets": "Opmerking: om het opslaglabel toe te passen op eerder geüploade items, voer de volgende taak uit",
|
"note_apply_storage_label_to_previously_uploaded assets": "Opmerking: om het opslaglabel toe te passen op eerder geüploade items, voer de volgende taak uit",
|
||||||
|
|
@ -1427,7 +1429,7 @@
|
||||||
"ok": "Ok",
|
"ok": "Ok",
|
||||||
"oldest_first": "Oudste eerst",
|
"oldest_first": "Oudste eerst",
|
||||||
"on_this_device": "Op dit apparaat",
|
"on_this_device": "Op dit apparaat",
|
||||||
"onboarding": "Onboarding",
|
"onboarding": "Introductie",
|
||||||
"onboarding_locale_description": "Selecteer je voorkeurstaal. Je dan dit later wijzigen in je instellingen.",
|
"onboarding_locale_description": "Selecteer je voorkeurstaal. Je dan dit later wijzigen in je instellingen.",
|
||||||
"onboarding_privacy_description": "De volgende (optionele) functies zijn afhankelijk van externe services en kunnen op elk moment worden uitgeschakeld in de instellingen.",
|
"onboarding_privacy_description": "De volgende (optionele) functies zijn afhankelijk van externe services en kunnen op elk moment worden uitgeschakeld in de instellingen.",
|
||||||
"onboarding_server_welcome_description": "Laten we je instantie instellen met een aantal veelgebruikte instellingen.",
|
"onboarding_server_welcome_description": "Laten we je instantie instellen met een aantal veelgebruikte instellingen.",
|
||||||
|
|
@ -1514,9 +1516,9 @@
|
||||||
"photos_count": "{count, plural, one {{count, number} foto} other {{count, number} foto's}}",
|
"photos_count": "{count, plural, one {{count, number} foto} other {{count, number} foto's}}",
|
||||||
"photos_from_previous_years": "Foto's van voorgaande jaren",
|
"photos_from_previous_years": "Foto's van voorgaande jaren",
|
||||||
"pick_a_location": "Kies een locatie",
|
"pick_a_location": "Kies een locatie",
|
||||||
"pin_code_changed_successfully": "PIN code succesvol gewijzigd",
|
"pin_code_changed_successfully": "Pincode succesvol gewijzigd",
|
||||||
"pin_code_reset_successfully": "PIN code succesvol gereset",
|
"pin_code_reset_successfully": "Pincode succesvol gereset",
|
||||||
"pin_code_setup_successfully": "PIN code succesvol ingesteld",
|
"pin_code_setup_successfully": "Pincode succesvol ingesteld",
|
||||||
"pin_verification": "Pincodeverificatie",
|
"pin_verification": "Pincodeverificatie",
|
||||||
"place": "Plaats",
|
"place": "Plaats",
|
||||||
"places": "Plaatsen",
|
"places": "Plaatsen",
|
||||||
|
|
@ -1571,7 +1573,7 @@
|
||||||
"purchase_input_suggestion": "Heb je een licentiesleutel? Voer deze hieronder in",
|
"purchase_input_suggestion": "Heb je een licentiesleutel? Voer deze hieronder in",
|
||||||
"purchase_license_subtitle": "Koop Immich om de verdere ontwikkeling van de service te ondersteunen",
|
"purchase_license_subtitle": "Koop Immich om de verdere ontwikkeling van de service te ondersteunen",
|
||||||
"purchase_lifetime_description": "Levenslange aankoop",
|
"purchase_lifetime_description": "Levenslange aankoop",
|
||||||
"purchase_option_title": "AANKOOP MOGELIJKHEDEN",
|
"purchase_option_title": "AANKOOPMOGELIJKHEDEN",
|
||||||
"purchase_panel_info_1": "Het bouwen van Immich kost veel tijd en moeite, en we hebben fulltime engineers die eraan werken om het zo goed mogelijk te maken. Onze missie is om open-source software en ethische bedrijfspraktijken een duurzame inkomstenbron te laten worden voor ontwikkelaars en een ecosysteem te creëren dat de privacy respecteert met echte alternatieven voor uitbuitende cloudservices.",
|
"purchase_panel_info_1": "Het bouwen van Immich kost veel tijd en moeite, en we hebben fulltime engineers die eraan werken om het zo goed mogelijk te maken. Onze missie is om open-source software en ethische bedrijfspraktijken een duurzame inkomstenbron te laten worden voor ontwikkelaars en een ecosysteem te creëren dat de privacy respecteert met echte alternatieven voor uitbuitende cloudservices.",
|
||||||
"purchase_panel_info_2": "Omdat we ons inzetten om geen paywalls toe te voegen, krijg je met deze aankoop geen extra functies in Immich. We vertrouwen op gebruikers zoals jij om de verdere ontwikkeling van Immich te ondersteunen.",
|
"purchase_panel_info_2": "Omdat we ons inzetten om geen paywalls toe te voegen, krijg je met deze aankoop geen extra functies in Immich. We vertrouwen op gebruikers zoals jij om de verdere ontwikkeling van Immich te ondersteunen.",
|
||||||
"purchase_panel_title": "Steun het project",
|
"purchase_panel_title": "Steun het project",
|
||||||
|
|
@ -1585,7 +1587,7 @@
|
||||||
"purchase_server_description_2": "Supporterstatus",
|
"purchase_server_description_2": "Supporterstatus",
|
||||||
"purchase_server_title": "Server",
|
"purchase_server_title": "Server",
|
||||||
"purchase_settings_server_activated": "De licentiesleutel van de server wordt beheerd door de beheerder",
|
"purchase_settings_server_activated": "De licentiesleutel van de server wordt beheerd door de beheerder",
|
||||||
"query_asset_id": "Query Asset ID",
|
"query_asset_id": "Item-ID opvragen",
|
||||||
"queue_status": "Wachtrij {count}/{total}",
|
"queue_status": "Wachtrij {count}/{total}",
|
||||||
"rating": "Sterwaardering",
|
"rating": "Sterwaardering",
|
||||||
"rating_clear": "Waardering verwijderen",
|
"rating_clear": "Waardering verwijderen",
|
||||||
|
|
@ -1657,10 +1659,10 @@
|
||||||
"reset": "Resetten",
|
"reset": "Resetten",
|
||||||
"reset_password": "Wachtwoord resetten",
|
"reset_password": "Wachtwoord resetten",
|
||||||
"reset_people_visibility": "Zichtbaarheid mensen resetten",
|
"reset_people_visibility": "Zichtbaarheid mensen resetten",
|
||||||
"reset_pin_code": "Reset PIN code",
|
"reset_pin_code": "Reset pincode",
|
||||||
"reset_pin_code_description": "Als je jouw PIN code bent vergeten, neem dan contact op met de administrator van de server om deze te resetten",
|
"reset_pin_code_description": "Als je jouw pincode bent vergeten, neem dan contact op met de administrator van de server om deze te resetten",
|
||||||
"reset_pin_code_success": "Resetten van PIN code gelukt",
|
"reset_pin_code_success": "Resetten van pincode gelukt",
|
||||||
"reset_pin_code_with_password": "Je kan altijd je PIN code resetten met je wachtwoord",
|
"reset_pin_code_with_password": "Je kan je pincode altijd resetten met je wachtwoord",
|
||||||
"reset_sqlite": "SQLite database resetten",
|
"reset_sqlite": "SQLite database resetten",
|
||||||
"reset_sqlite_confirmation": "Ben je zeker dat je de SQLite database wilt resetten? Je zal moeten uitloggen om de data opnieuw te synchroniseren",
|
"reset_sqlite_confirmation": "Ben je zeker dat je de SQLite database wilt resetten? Je zal moeten uitloggen om de data opnieuw te synchroniseren",
|
||||||
"reset_sqlite_success": "De SQLite database is succesvol gereset",
|
"reset_sqlite_success": "De SQLite database is succesvol gereset",
|
||||||
|
|
@ -1767,7 +1769,7 @@
|
||||||
"select_user_for_sharing_page_err_album": "Album aanmaken mislukt",
|
"select_user_for_sharing_page_err_album": "Album aanmaken mislukt",
|
||||||
"selected": "Geselecteerd",
|
"selected": "Geselecteerd",
|
||||||
"selected_count": "{count, plural, other {# geselecteerd}}",
|
"selected_count": "{count, plural, other {# geselecteerd}}",
|
||||||
"selected_gps_coordinates": "Geselecteerde GPS Coördinaten",
|
"selected_gps_coordinates": "Geselecteerde gps-coördinaten",
|
||||||
"send_message": "Bericht versturen",
|
"send_message": "Bericht versturen",
|
||||||
"send_welcome_email": "Stuur welkomstmail",
|
"send_welcome_email": "Stuur welkomstmail",
|
||||||
"server_endpoint": "Server-URL",
|
"server_endpoint": "Server-URL",
|
||||||
|
|
@ -1811,7 +1813,7 @@
|
||||||
"settings": "Instellingen",
|
"settings": "Instellingen",
|
||||||
"settings_require_restart": "Start Immich opnieuw op om deze instelling toe te passen",
|
"settings_require_restart": "Start Immich opnieuw op om deze instelling toe te passen",
|
||||||
"settings_saved": "Instellingen opgeslagen",
|
"settings_saved": "Instellingen opgeslagen",
|
||||||
"setup_pin_code": "Stel een PIN code in",
|
"setup_pin_code": "Stel een pincode in",
|
||||||
"share": "Delen",
|
"share": "Delen",
|
||||||
"share_action_prompt": "{count} item(s) gedeeld",
|
"share_action_prompt": "{count} item(s) gedeeld",
|
||||||
"share_add_photos": "Foto's toevoegen",
|
"share_add_photos": "Foto's toevoegen",
|
||||||
|
|
@ -1947,7 +1949,7 @@
|
||||||
"support_and_feedback": "Ondersteuning & feedback",
|
"support_and_feedback": "Ondersteuning & feedback",
|
||||||
"support_third_party_description": "Je Immich installatie is door een derde partij samengesteld. Problemen die je ervaart, kunnen door dat pakket veroorzaakt zijn. Meld problemen in eerste instantie bij hen via de onderstaande links.",
|
"support_third_party_description": "Je Immich installatie is door een derde partij samengesteld. Problemen die je ervaart, kunnen door dat pakket veroorzaakt zijn. Meld problemen in eerste instantie bij hen via de onderstaande links.",
|
||||||
"swap_merge_direction": "Wissel richting voor samenvoegen om",
|
"swap_merge_direction": "Wissel richting voor samenvoegen om",
|
||||||
"sync": "Sync",
|
"sync": "Synchroniseren",
|
||||||
"sync_albums": "Albums synchroniseren",
|
"sync_albums": "Albums synchroniseren",
|
||||||
"sync_albums_manual_subtitle": "Synchroniseer alle geüploade video’s en foto’s naar de geselecteerde back-up albums",
|
"sync_albums_manual_subtitle": "Synchroniseer alle geüploade video’s en foto’s naar de geselecteerde back-up albums",
|
||||||
"sync_local": "Lokaal synchroniseren",
|
"sync_local": "Lokaal synchroniseren",
|
||||||
|
|
@ -2015,8 +2017,8 @@
|
||||||
"trashed_items_will_be_permanently_deleted_after": "Items in de prullenbak worden na {days, plural, one {# dag} other {# dagen}} permanent verwijderd.",
|
"trashed_items_will_be_permanently_deleted_after": "Items in de prullenbak worden na {days, plural, one {# dag} other {# dagen}} permanent verwijderd.",
|
||||||
"troubleshoot": "Problemen oplossen",
|
"troubleshoot": "Problemen oplossen",
|
||||||
"type": "Type",
|
"type": "Type",
|
||||||
"unable_to_change_pin_code": "PIN code kan niet gewijzigd worden",
|
"unable_to_change_pin_code": "Pincode kan niet gewijzigd worden",
|
||||||
"unable_to_setup_pin_code": "PIN code kan niet ingesteld worden",
|
"unable_to_setup_pin_code": "Pincode kan niet ingesteld worden",
|
||||||
"unarchive": "Herstellen uit archief",
|
"unarchive": "Herstellen uit archief",
|
||||||
"unarchive_action_prompt": "{count} verwijderd uit het archief",
|
"unarchive_action_prompt": "{count} verwijderd uit het archief",
|
||||||
"unarchived_count": "{count, plural, other {# verwijderd uit archief}}",
|
"unarchived_count": "{count, plural, other {# verwijderd uit archief}}",
|
||||||
|
|
@ -2073,8 +2075,8 @@
|
||||||
"user_has_been_deleted": "Deze gebruiker is verwijderd.",
|
"user_has_been_deleted": "Deze gebruiker is verwijderd.",
|
||||||
"user_id": "Gebruikers ID",
|
"user_id": "Gebruikers ID",
|
||||||
"user_liked": "{user} heeft {type, select, photo {deze foto} video {deze video} asset {} other {dit item}} geliket",
|
"user_liked": "{user} heeft {type, select, photo {deze foto} video {deze video} asset {} other {dit item}} geliket",
|
||||||
"user_pin_code_settings": "PIN Code",
|
"user_pin_code_settings": "Pincode",
|
||||||
"user_pin_code_settings_description": "Beheer je PIN code",
|
"user_pin_code_settings_description": "Beheer je pincode",
|
||||||
"user_privacy": "Gebruikersprivacy",
|
"user_privacy": "Gebruikersprivacy",
|
||||||
"user_purchase_settings": "Kopen",
|
"user_purchase_settings": "Kopen",
|
||||||
"user_purchase_settings_description": "Beheer je aankoop",
|
"user_purchase_settings_description": "Beheer je aankoop",
|
||||||
|
|
@ -2095,8 +2097,8 @@
|
||||||
"version_history": "Versiegeschiedenis",
|
"version_history": "Versiegeschiedenis",
|
||||||
"version_history_item": "{version} geïnstalleerd op {date}",
|
"version_history_item": "{version} geïnstalleerd op {date}",
|
||||||
"video": "Video",
|
"video": "Video",
|
||||||
"video_hover_setting": "Speel videothumbnail af bij hoveren",
|
"video_hover_setting": "Speel videominiatuur af bij hoveren",
|
||||||
"video_hover_setting_description": "Speel videothumbnail af wanneer de muis over het item beweegt. Zelfs wanneer uitgeschakeld, kan het afspelen worden gestart door de muis over het afspeelpictogram te bewegen.",
|
"video_hover_setting_description": "Speel videominiatuur af wanneer de muis over het item beweegt. Zelfs wanneer uitgeschakeld, kan het afspelen worden gestart door de muis over het afspeelpictogram te bewegen.",
|
||||||
"videos": "Video's",
|
"videos": "Video's",
|
||||||
"videos_count": "{count, plural, one {# video} other {# video's}}",
|
"videos_count": "{count, plural, one {# video} other {# video's}}",
|
||||||
"view": "Bekijken",
|
"view": "Bekijken",
|
||||||
|
|
|
||||||
22
i18n/pa.json
22
i18n/pa.json
|
|
@ -1 +1,21 @@
|
||||||
{}
|
{
|
||||||
|
"about": "ਐਪ ਬਾਰੇ",
|
||||||
|
"account": "ਖ਼ਾਤਾ",
|
||||||
|
"account_settings": "ਖ਼ਾਤਾ ਸੈਟਿੰਗਾਂ",
|
||||||
|
"action": "ਕਾਰਵਾਈ",
|
||||||
|
"action_common_update": "ਅੱਪਡੇਟ",
|
||||||
|
"actions": "ਕਾਰਵਾਈਆਂ",
|
||||||
|
"active": "ਕਿਰਿਆਸ਼ੀਲ",
|
||||||
|
"activity": "ਗਤੀਵਿਧੀ",
|
||||||
|
"add": "ਸ਼ਾਮਲ ਕਰੋ",
|
||||||
|
"add_a_description": "ਵੇਰਵਾ ਸ਼ਾਮਲ ਕਰੋ",
|
||||||
|
"add_a_location": "ਇੱਕ ਸਥਾਨ ਸ਼ਾਮਲ ਕਰੋ",
|
||||||
|
"add_a_name": "ਨਾਮ ਸ਼ਾਮਲ ਕਰੋ",
|
||||||
|
"add_a_title": "ਸਿਰਲੇਖ ਸ਼ਾਮਲ ਕਰੋ",
|
||||||
|
"add_birthday": "ਜਨਮਦਿਨ ਸ਼ਾਮਲ ਕਰੋ",
|
||||||
|
"add_endpoint": "ਐਂਡਪੁਆਇੰਟ ਸ਼ਾਮਲ ਕਰੋ",
|
||||||
|
"add_exclusion_pattern": "ਅਲਹਿਦਗੀ ਪੈਟਰਨ ਸ਼ਾਮਲ ਕਰੋ",
|
||||||
|
"add_import_path": "ਆਯਾਤ ਮਾਰਗ ਸ਼ਾਮਲ ਕਰੋ",
|
||||||
|
"add_location": "ਸਥਾਨ ਸ਼ਾਮਲ ਕਰੋ",
|
||||||
|
"add_more_users": "ਹੋਰ ਉਪਭੋਗਤਾ ਸ਼ਾਮਲ ਕਰੋ"
|
||||||
|
}
|
||||||
|
|
|
||||||
|
|
@ -33,6 +33,7 @@
|
||||||
"add_to_albums": "Dodaj do albumów",
|
"add_to_albums": "Dodaj do albumów",
|
||||||
"add_to_albums_count": "Dodaj do albumów ({count})",
|
"add_to_albums_count": "Dodaj do albumów ({count})",
|
||||||
"add_to_shared_album": "Dodaj do udostępnionego albumu",
|
"add_to_shared_album": "Dodaj do udostępnionego albumu",
|
||||||
|
"add_upload_to_stack": "Dodaj przesłane do stosu",
|
||||||
"add_url": "Dodaj URL",
|
"add_url": "Dodaj URL",
|
||||||
"added_to_archive": "Dodano do archiwum",
|
"added_to_archive": "Dodano do archiwum",
|
||||||
"added_to_favorites": "Dodano do ulubionych",
|
"added_to_favorites": "Dodano do ulubionych",
|
||||||
|
|
@ -676,10 +677,10 @@
|
||||||
"choose_matching_people_to_merge": "Wybierz osoby, aby złączyć je w jedną",
|
"choose_matching_people_to_merge": "Wybierz osoby, aby złączyć je w jedną",
|
||||||
"city": "Miasto",
|
"city": "Miasto",
|
||||||
"clear": "Wyczyść",
|
"clear": "Wyczyść",
|
||||||
"clear_all": "Wyczyść",
|
"clear_all": "Wyczyść wszystko",
|
||||||
"clear_all_recent_searches": "Usuń ostatnio wyszukiwane",
|
"clear_all_recent_searches": "Usuń ostatnio wyszukiwane",
|
||||||
"clear_file_cache": "Wyczyść pamięć podręczną plików",
|
"clear_file_cache": "Wyczyść pamięć podręczną plików",
|
||||||
"clear_message": "Zamknij wiadomość",
|
"clear_message": "Wyczyść wiadomość",
|
||||||
"clear_value": "Wyczyść wartość",
|
"clear_value": "Wyczyść wartość",
|
||||||
"client_cert_dialog_msg_confirm": "OK",
|
"client_cert_dialog_msg_confirm": "OK",
|
||||||
"client_cert_enter_password": "Wprowadź hasło",
|
"client_cert_enter_password": "Wprowadź hasło",
|
||||||
|
|
@ -1038,6 +1039,7 @@
|
||||||
"exif_bottom_sheet_description_error": "Wystąpił błąd podczas aktualizacji opisu",
|
"exif_bottom_sheet_description_error": "Wystąpił błąd podczas aktualizacji opisu",
|
||||||
"exif_bottom_sheet_details": "SZCZEGÓŁY",
|
"exif_bottom_sheet_details": "SZCZEGÓŁY",
|
||||||
"exif_bottom_sheet_location": "LOKALIZACJA",
|
"exif_bottom_sheet_location": "LOKALIZACJA",
|
||||||
|
"exif_bottom_sheet_no_description": "Brak opisu",
|
||||||
"exif_bottom_sheet_people": "LUDZIE",
|
"exif_bottom_sheet_people": "LUDZIE",
|
||||||
"exif_bottom_sheet_person_add_person": "Dodaj nazwę",
|
"exif_bottom_sheet_person_add_person": "Dodaj nazwę",
|
||||||
"exit_slideshow": "Zamknij Pokaz Slajdów",
|
"exit_slideshow": "Zamknij Pokaz Slajdów",
|
||||||
|
|
|
||||||
|
|
@ -33,6 +33,7 @@
|
||||||
"add_to_albums": "Adicionar aos álbuns",
|
"add_to_albums": "Adicionar aos álbuns",
|
||||||
"add_to_albums_count": "Adicionar aos álbuns ({count})",
|
"add_to_albums_count": "Adicionar aos álbuns ({count})",
|
||||||
"add_to_shared_album": "Adicionar ao álbum partilhado",
|
"add_to_shared_album": "Adicionar ao álbum partilhado",
|
||||||
|
"add_upload_to_stack": "Adicionar carregamento à fila",
|
||||||
"add_url": "Adicionar URL",
|
"add_url": "Adicionar URL",
|
||||||
"added_to_archive": "Adicionado ao arquivo",
|
"added_to_archive": "Adicionado ao arquivo",
|
||||||
"added_to_favorites": "Adicionado aos favoritos",
|
"added_to_favorites": "Adicionado aos favoritos",
|
||||||
|
|
@ -599,14 +600,14 @@
|
||||||
"backup_controller_page_turn_on": "Ativar backup",
|
"backup_controller_page_turn_on": "Ativar backup",
|
||||||
"backup_controller_page_uploading_file_info": "Enviando arquivo",
|
"backup_controller_page_uploading_file_info": "Enviando arquivo",
|
||||||
"backup_err_only_album": "Não é possível remover apenas o álbum",
|
"backup_err_only_album": "Não é possível remover apenas o álbum",
|
||||||
"backup_error_sync_failed": "A sincronização falhou. Não é possível fazer cópia de segurança.",
|
"backup_error_sync_failed": "A sincronização falhou. Não é possível fazer a cópia de segurança.",
|
||||||
"backup_info_card_assets": "arquivos",
|
"backup_info_card_assets": "arquivos",
|
||||||
"backup_manual_cancelled": "Cancelado",
|
"backup_manual_cancelled": "Cancelado",
|
||||||
"backup_manual_in_progress": "Envio já está em progresso. Tente novamente mais tarde",
|
"backup_manual_in_progress": "Envio já está em progresso. Tente novamente mais tarde",
|
||||||
"backup_manual_success": "Sucesso",
|
"backup_manual_success": "Sucesso",
|
||||||
"backup_manual_title": "Estado do envio",
|
"backup_manual_title": "Estado do envio",
|
||||||
"backup_options": "Definições de cópia de segurança",
|
"backup_options": "Definições de cópia de segurança",
|
||||||
"backup_options_page_title": "Opções de backup",
|
"backup_options_page_title": "Opções de cópia de segurança",
|
||||||
"backup_setting_subtitle": "Gerenciar as configurações de envio em primeiro e segundo plano",
|
"backup_setting_subtitle": "Gerenciar as configurações de envio em primeiro e segundo plano",
|
||||||
"backup_settings_subtitle": "Gerir definições de carregamento",
|
"backup_settings_subtitle": "Gerir definições de carregamento",
|
||||||
"backward": "Para trás",
|
"backward": "Para trás",
|
||||||
|
|
|
||||||
|
|
@ -33,6 +33,7 @@
|
||||||
"add_to_albums": "Adicionar aos álbuns",
|
"add_to_albums": "Adicionar aos álbuns",
|
||||||
"add_to_albums_count": "Adicionar aos álbuns ({count})",
|
"add_to_albums_count": "Adicionar aos álbuns ({count})",
|
||||||
"add_to_shared_album": "Adicionar ao álbum compartilhado",
|
"add_to_shared_album": "Adicionar ao álbum compartilhado",
|
||||||
|
"add_upload_to_stack": "Adicionar upload ao grupo",
|
||||||
"add_url": "Adicionar URL",
|
"add_url": "Adicionar URL",
|
||||||
"added_to_archive": "Adicionado ao arquivo",
|
"added_to_archive": "Adicionado ao arquivo",
|
||||||
"added_to_favorites": "Adicionado aos favoritos",
|
"added_to_favorites": "Adicionado aos favoritos",
|
||||||
|
|
@ -784,7 +785,7 @@
|
||||||
"default_locale": "Localização Padrão",
|
"default_locale": "Localização Padrão",
|
||||||
"default_locale_description": "Formatar datas e números baseados na linguagem do seu navegador",
|
"default_locale_description": "Formatar datas e números baseados na linguagem do seu navegador",
|
||||||
"delete": "Excluir",
|
"delete": "Excluir",
|
||||||
"delete_action_confirmation_message": "Confirma deletar este arquivo? O arquivo será enviado para a lixeira do servidor e depois perguntará se deseja deletar do seu dispositivo local",
|
"delete_action_confirmation_message": "Tem certeza? O arquivo será enviado para a lixeira do servidor, depois você poderá confirmar se deseja também deletar do seu dispositivo local",
|
||||||
"delete_action_prompt": "{count} deletados",
|
"delete_action_prompt": "{count} deletados",
|
||||||
"delete_album": "Excluir álbum",
|
"delete_album": "Excluir álbum",
|
||||||
"delete_api_key_prompt": "Tem certeza de que deseja excluir esta chave de API?",
|
"delete_api_key_prompt": "Tem certeza de que deseja excluir esta chave de API?",
|
||||||
|
|
@ -2039,7 +2040,7 @@
|
||||||
"unselect_all": "Desselecionar todos",
|
"unselect_all": "Desselecionar todos",
|
||||||
"unselect_all_duplicates": "Desselecionar todas as duplicatas",
|
"unselect_all_duplicates": "Desselecionar todas as duplicatas",
|
||||||
"unselect_all_in": "Remover seleção de {group}",
|
"unselect_all_in": "Remover seleção de {group}",
|
||||||
"unstack": "Retirar do grupo",
|
"unstack": "Desagrupar",
|
||||||
"unstack_action_prompt": "{count} desagrupados",
|
"unstack_action_prompt": "{count} desagrupados",
|
||||||
"unstacked_assets_count": "{count, plural, one {# arquivo retirado} other {# arquivos retirados}} do grupo",
|
"unstacked_assets_count": "{count, plural, one {# arquivo retirado} other {# arquivos retirados}} do grupo",
|
||||||
"untagged": "Marcador removido",
|
"untagged": "Marcador removido",
|
||||||
|
|
|
||||||
20
i18n/ro.json
20
i18n/ro.json
|
|
@ -479,7 +479,7 @@
|
||||||
"archive_size": "Mărime arhivă",
|
"archive_size": "Mărime arhivă",
|
||||||
"archive_size_description": "Configurează dimensiunea arhivei pentru descărcări (în GiB)",
|
"archive_size_description": "Configurează dimensiunea arhivei pentru descărcări (în GiB)",
|
||||||
"archived": "Arhivat",
|
"archived": "Arhivat",
|
||||||
"archived_count": "{count, plural, other {Arhivat/e#}}",
|
"archived_count": "{count, plural, one {Arhivat} few {# arhivate} other {# arhivate}}",
|
||||||
"are_these_the_same_person": "Sunt aceștia aceeași persoană?",
|
"are_these_the_same_person": "Sunt aceștia aceeași persoană?",
|
||||||
"are_you_sure_to_do_this": "Sunteți sigur că doriți să faceți acest lucru?",
|
"are_you_sure_to_do_this": "Sunteți sigur că doriți să faceți acest lucru?",
|
||||||
"asset_action_delete_err_read_only": "Fișierele cu permisiuni doar de citire nu au putut fi șterse, omitere",
|
"asset_action_delete_err_read_only": "Fișierele cu permisiuni doar de citire nu au putut fi șterse, omitere",
|
||||||
|
|
@ -1086,7 +1086,7 @@
|
||||||
"fix_incorrect_match": "Remediați potrivirea incorectă",
|
"fix_incorrect_match": "Remediați potrivirea incorectă",
|
||||||
"folder": "Dosar",
|
"folder": "Dosar",
|
||||||
"folder_not_found": "Dosar negăsit",
|
"folder_not_found": "Dosar negăsit",
|
||||||
"folders": "Foldere",
|
"folders": "Fișiere",
|
||||||
"folders_feature_description": "Răsfoire în conținutul folderului pentru fotografiile și videoclipurile din sistemul de fișiere",
|
"folders_feature_description": "Răsfoire în conținutul folderului pentru fotografiile și videoclipurile din sistemul de fișiere",
|
||||||
"forgot_pin_code_question": "Ai uitat codul PIN?",
|
"forgot_pin_code_question": "Ai uitat codul PIN?",
|
||||||
"forward": "Redirecționare",
|
"forward": "Redirecționare",
|
||||||
|
|
@ -1287,7 +1287,7 @@
|
||||||
"loop_videos_description": "Activați pentru a rula in buclă automat un videoclip în vizualizatorul de detalii.",
|
"loop_videos_description": "Activați pentru a rula in buclă automat un videoclip în vizualizatorul de detalii.",
|
||||||
"main_branch_warning": "Utilizați o versiune de dezvoltare; vă recomandăm insistent să utilizați o versiune de lansare!",
|
"main_branch_warning": "Utilizați o versiune de dezvoltare; vă recomandăm insistent să utilizați o versiune de lansare!",
|
||||||
"main_menu": "Meniu principal",
|
"main_menu": "Meniu principal",
|
||||||
"make": "Face",
|
"make": "Marcă",
|
||||||
"manage_geolocation": "Gestionați locația",
|
"manage_geolocation": "Gestionați locația",
|
||||||
"manage_shared_links": "Administrați link-urile distribuite",
|
"manage_shared_links": "Administrați link-urile distribuite",
|
||||||
"manage_sharing_with_partners": "Gestionați partajarea cu partenerii",
|
"manage_sharing_with_partners": "Gestionați partajarea cu partenerii",
|
||||||
|
|
@ -1503,8 +1503,8 @@
|
||||||
"permission_onboarding_permission_limited": "Permisiune limitată. Pentru a permite Immich să facă copii de siguranță și să gestioneze întreaga colecție de galerii, acordă permisiuni pentru fotografii și videoclipuri în Setări.",
|
"permission_onboarding_permission_limited": "Permisiune limitată. Pentru a permite Immich să facă copii de siguranță și să gestioneze întreaga colecție de galerii, acordă permisiuni pentru fotografii și videoclipuri în Setări.",
|
||||||
"permission_onboarding_request": "Immich necesită permisiunea de a vizualiza fotografiile și videoclipurile tale.",
|
"permission_onboarding_request": "Immich necesită permisiunea de a vizualiza fotografiile și videoclipurile tale.",
|
||||||
"person": "Persoanǎ",
|
"person": "Persoanǎ",
|
||||||
"person_age_months": "{months, plural, one {# month} other {# months}} vechime",
|
"person_age_months": "{months, plural, one {# lună} other {# luni}}",
|
||||||
"person_age_year_months": "1 year, {months, plural, one {# month} other {# months}} vechime",
|
"person_age_year_months": "1 an, {months, plural, one {# lună} other {# luni}}",
|
||||||
"person_age_years": "{years, plural, other {# years}} vechime",
|
"person_age_years": "{years, plural, other {# years}} vechime",
|
||||||
"person_birthdate": "Născut pe {date}",
|
"person_birthdate": "Născut pe {date}",
|
||||||
"person_hidden": "{name}{hidden, select, true { (ascuns)} other {}}",
|
"person_hidden": "{name}{hidden, select, true { (ascuns)} other {}}",
|
||||||
|
|
@ -1701,8 +1701,8 @@
|
||||||
"search_by_filename_example": "i.e. IMG_1234.JPG sau PNG",
|
"search_by_filename_example": "i.e. IMG_1234.JPG sau PNG",
|
||||||
"search_camera_make": "Se caută marca camerei...",
|
"search_camera_make": "Se caută marca camerei...",
|
||||||
"search_camera_model": "Se caută modelul camerei...",
|
"search_camera_model": "Se caută modelul camerei...",
|
||||||
"search_city": "Se caută orașul...",
|
"search_city": "Caută în orașul...",
|
||||||
"search_country": "Se caută țara...",
|
"search_country": "Caută în țara...",
|
||||||
"search_filter_apply": "Aplicați filtrul",
|
"search_filter_apply": "Aplicați filtrul",
|
||||||
"search_filter_camera_title": "Selectați tipul de cameră",
|
"search_filter_camera_title": "Selectați tipul de cameră",
|
||||||
"search_filter_date": "Dată",
|
"search_filter_date": "Dată",
|
||||||
|
|
@ -1717,7 +1717,7 @@
|
||||||
"search_filter_media_type_title": "Selectați tipul media",
|
"search_filter_media_type_title": "Selectați tipul media",
|
||||||
"search_filter_people_title": "Selectați persoane",
|
"search_filter_people_title": "Selectați persoane",
|
||||||
"search_for": "Căutare după",
|
"search_for": "Căutare după",
|
||||||
"search_for_existing_person": "Se caută o persoană existentă",
|
"search_for_existing_person": "Caută o persoană existentă",
|
||||||
"search_no_more_result": "Nu mai există rezultate",
|
"search_no_more_result": "Nu mai există rezultate",
|
||||||
"search_no_people": "Fără persoane",
|
"search_no_people": "Fără persoane",
|
||||||
"search_no_people_named": "Nicio persoană numită \"{name}\"",
|
"search_no_people_named": "Nicio persoană numită \"{name}\"",
|
||||||
|
|
@ -1739,7 +1739,7 @@
|
||||||
"search_rating": "Caută după notă...",
|
"search_rating": "Caută după notă...",
|
||||||
"search_result_page_new_search_hint": "Căutare nouă",
|
"search_result_page_new_search_hint": "Căutare nouă",
|
||||||
"search_settings": "Setări de căutare",
|
"search_settings": "Setări de căutare",
|
||||||
"search_state": "Starea căutării...",
|
"search_state": "Caută în Stat/Județ...",
|
||||||
"search_suggestion_list_smart_search_hint_1": "Căutarea inteligentă este activată în mod implicit, pentru a căuta metadata, utilizează sintaxa ",
|
"search_suggestion_list_smart_search_hint_1": "Căutarea inteligentă este activată în mod implicit, pentru a căuta metadata, utilizează sintaxa ",
|
||||||
"search_suggestion_list_smart_search_hint_2": "m:termen-de-căutare",
|
"search_suggestion_list_smart_search_hint_2": "m:termen-de-căutare",
|
||||||
"search_tags": "Căutați etichete...",
|
"search_tags": "Căutați etichete...",
|
||||||
|
|
@ -1928,7 +1928,7 @@
|
||||||
"start": "Început",
|
"start": "Început",
|
||||||
"start_date": "Data de începere",
|
"start_date": "Data de începere",
|
||||||
"start_date_before_end_date": "Data de început trebuie să fie înainte de data de sfârșit",
|
"start_date_before_end_date": "Data de început trebuie să fie înainte de data de sfârșit",
|
||||||
"state": "Situaţie",
|
"state": "Stat/Județ",
|
||||||
"status": "Stare",
|
"status": "Stare",
|
||||||
"stop_casting": "Opriți difuzarea",
|
"stop_casting": "Opriți difuzarea",
|
||||||
"stop_motion_photo": "Opriți Fotografia in Mișcare",
|
"stop_motion_photo": "Opriți Fotografia in Mișcare",
|
||||||
|
|
|
||||||
|
|
@ -33,6 +33,7 @@
|
||||||
"add_to_albums": "Добавить в альбомы",
|
"add_to_albums": "Добавить в альбомы",
|
||||||
"add_to_albums_count": "Добавить в альбомы ({count})",
|
"add_to_albums_count": "Добавить в альбомы ({count})",
|
||||||
"add_to_shared_album": "Добавить в общий альбом",
|
"add_to_shared_album": "Добавить в общий альбом",
|
||||||
|
"add_upload_to_stack": "Загрузить и добавить в группу",
|
||||||
"add_url": "Добавить URL",
|
"add_url": "Добавить URL",
|
||||||
"added_to_archive": "Добавлено в архив",
|
"added_to_archive": "Добавлено в архив",
|
||||||
"added_to_favorites": "Добавлено в избранное",
|
"added_to_favorites": "Добавлено в избранное",
|
||||||
|
|
@ -1038,6 +1039,7 @@
|
||||||
"exif_bottom_sheet_description_error": "Не удалось обновить описание",
|
"exif_bottom_sheet_description_error": "Не удалось обновить описание",
|
||||||
"exif_bottom_sheet_details": "ПОДРОБНОСТИ",
|
"exif_bottom_sheet_details": "ПОДРОБНОСТИ",
|
||||||
"exif_bottom_sheet_location": "МЕСТО",
|
"exif_bottom_sheet_location": "МЕСТО",
|
||||||
|
"exif_bottom_sheet_no_description": "Нет описания",
|
||||||
"exif_bottom_sheet_people": "ЛЮДИ",
|
"exif_bottom_sheet_people": "ЛЮДИ",
|
||||||
"exif_bottom_sheet_person_add_person": "Добавить имя",
|
"exif_bottom_sheet_person_add_person": "Добавить имя",
|
||||||
"exit_slideshow": "Выйти из слайд-шоу",
|
"exit_slideshow": "Выйти из слайд-шоу",
|
||||||
|
|
@ -1639,7 +1641,7 @@
|
||||||
"remove_tag": "Удалить тег",
|
"remove_tag": "Удалить тег",
|
||||||
"remove_url": "Удалить URL",
|
"remove_url": "Удалить URL",
|
||||||
"remove_user": "Удалить пользователя",
|
"remove_user": "Удалить пользователя",
|
||||||
"removed_api_key": "Удалён API ключ {name}",
|
"removed_api_key": "API ключ \"{name}\" удалён",
|
||||||
"removed_from_archive": "Удален из архива",
|
"removed_from_archive": "Удален из архива",
|
||||||
"removed_from_favorites": "Удалено из избранного",
|
"removed_from_favorites": "Удалено из избранного",
|
||||||
"removed_from_favorites_count": "{count, plural, one {# объект удалён} many {# объектов удалено} other {# объекта удалено}} из избранного",
|
"removed_from_favorites_count": "{count, plural, one {# объект удалён} many {# объектов удалено} other {# объекта удалено}} из избранного",
|
||||||
|
|
@ -1779,7 +1781,7 @@
|
||||||
"server_stats": "Статистика сервера",
|
"server_stats": "Статистика сервера",
|
||||||
"server_version": "Версия сервера",
|
"server_version": "Версия сервера",
|
||||||
"set": "Установить",
|
"set": "Установить",
|
||||||
"set_as_album_cover": "Установить как обложку альбома",
|
"set_as_album_cover": "Установить обложкой альбома",
|
||||||
"set_as_featured_photo": "Установить как основное фото",
|
"set_as_featured_photo": "Установить как основное фото",
|
||||||
"set_as_profile_picture": "Установить как фото профиля",
|
"set_as_profile_picture": "Установить как фото профиля",
|
||||||
"set_date_of_birth": "Установить дату рождения",
|
"set_date_of_birth": "Установить дату рождения",
|
||||||
|
|
|
||||||
45
i18n/sk.json
45
i18n/sk.json
|
|
@ -33,6 +33,7 @@
|
||||||
"add_to_albums": "Pridať do albumov",
|
"add_to_albums": "Pridať do albumov",
|
||||||
"add_to_albums_count": "Pridať do albumov ({count})",
|
"add_to_albums_count": "Pridať do albumov ({count})",
|
||||||
"add_to_shared_album": "Pridať do zdieľaného albumu",
|
"add_to_shared_album": "Pridať do zdieľaného albumu",
|
||||||
|
"add_upload_to_stack": "Pridať nahraté do zoskupených",
|
||||||
"add_url": "Pridať URL",
|
"add_url": "Pridať URL",
|
||||||
"added_to_archive": "Pridané do archívu",
|
"added_to_archive": "Pridané do archívu",
|
||||||
"added_to_favorites": "Pridané do obľúbených",
|
"added_to_favorites": "Pridané do obľúbených",
|
||||||
|
|
@ -364,7 +365,7 @@
|
||||||
"trash_enabled_description": "Povoliť funkcie koša",
|
"trash_enabled_description": "Povoliť funkcie koša",
|
||||||
"trash_number_of_days": "Počet dní",
|
"trash_number_of_days": "Počet dní",
|
||||||
"trash_number_of_days_description": "Počet dní, počas ktorých sa majú médiá ponechať v koši pred ich trvalým odstránením",
|
"trash_number_of_days_description": "Počet dní, počas ktorých sa majú médiá ponechať v koši pred ich trvalým odstránením",
|
||||||
"trash_settings": "Kôš",
|
"trash_settings": "Nastavenia koša",
|
||||||
"trash_settings_description": "Spravovať nastavenia koša",
|
"trash_settings_description": "Spravovať nastavenia koša",
|
||||||
"unlink_all_oauth_accounts": "Odpojiť všetky účty OAuth",
|
"unlink_all_oauth_accounts": "Odpojiť všetky účty OAuth",
|
||||||
"unlink_all_oauth_accounts_description": "Nezabudnite odpojiť všetky účty OAuth pred prechodom na nového poskytovateľa.",
|
"unlink_all_oauth_accounts_description": "Nezabudnite odpojiť všetky účty OAuth pred prechodom na nového poskytovateľa.",
|
||||||
|
|
@ -499,7 +500,7 @@
|
||||||
"asset_list_settings_subtitle": "Nastavenia rozloženia mriežky fotografií",
|
"asset_list_settings_subtitle": "Nastavenia rozloženia mriežky fotografií",
|
||||||
"asset_list_settings_title": "Mriežka fotografií",
|
"asset_list_settings_title": "Mriežka fotografií",
|
||||||
"asset_offline": "Médium je offline",
|
"asset_offline": "Médium je offline",
|
||||||
"asset_offline_description": "Toto externý obsah sa už nenachádza na disku. Požiadajte o pomoc svojho správcu Immich.",
|
"asset_offline_description": "Tento externá položka sa už nenachádza na disku. Pre pomoc sa prosím obráťte na správcu systému Immich.",
|
||||||
"asset_restored_successfully": "Položky boli úspešne obnovené",
|
"asset_restored_successfully": "Položky boli úspešne obnovené",
|
||||||
"asset_skipped": "Preskočené",
|
"asset_skipped": "Preskočené",
|
||||||
"asset_skipped_in_trash": "V koši",
|
"asset_skipped_in_trash": "V koši",
|
||||||
|
|
@ -703,10 +704,10 @@
|
||||||
"common_server_error": "Skontrolujte svoje sieťové pripojenie, uistite sa, že server je dostupný a verzie aplikácie/server sú kompatibilné.",
|
"common_server_error": "Skontrolujte svoje sieťové pripojenie, uistite sa, že server je dostupný a verzie aplikácie/server sú kompatibilné.",
|
||||||
"completed": "Dokončené",
|
"completed": "Dokončené",
|
||||||
"confirm": "Potvrdiť",
|
"confirm": "Potvrdiť",
|
||||||
"confirm_admin_password": "Potvrdiť Administrátorské Heslo",
|
"confirm_admin_password": "Potvrdiť heslo správcu",
|
||||||
"confirm_delete_face": "Naozaj chcete z položky odstrániť tvár osoby {name}?",
|
"confirm_delete_face": "Naozaj chcete z položky odstrániť tvár osoby {name}?",
|
||||||
"confirm_delete_shared_link": "Ste si istý, že chcete odstrániť tento zdieľaný odkaz?",
|
"confirm_delete_shared_link": "Ste si istý, že chcete odstrániť tento zdieľaný odkaz?",
|
||||||
"confirm_keep_this_delete_others": "Všetky ostatné položky v zásobníku budú odstránené okrem tejto položky. Naozaj chcete pokračovať?",
|
"confirm_keep_this_delete_others": "Všetky ostatné položky v zoskupení budú odstránené okrem tejto položky. Naozaj chcete pokračovať?",
|
||||||
"confirm_new_pin_code": "Potvrdiť nový PIN kód",
|
"confirm_new_pin_code": "Potvrdiť nový PIN kód",
|
||||||
"confirm_password": "Potvrdiť heslo",
|
"confirm_password": "Potvrdiť heslo",
|
||||||
"confirm_tag_face": "Chcete označiť túto tvár ako {name}?",
|
"confirm_tag_face": "Chcete označiť túto tvár ako {name}?",
|
||||||
|
|
@ -942,7 +943,7 @@
|
||||||
"failed_to_remove_product_key": "Nepodarilo sa odstrániť produktový kľúč",
|
"failed_to_remove_product_key": "Nepodarilo sa odstrániť produktový kľúč",
|
||||||
"failed_to_reset_pin_code": "PIN kód sa nepodarilo obnoviť",
|
"failed_to_reset_pin_code": "PIN kód sa nepodarilo obnoviť",
|
||||||
"failed_to_stack_assets": "Nepodarilo sa zoskupiť položky",
|
"failed_to_stack_assets": "Nepodarilo sa zoskupiť položky",
|
||||||
"failed_to_unstack_assets": "Nepodarilo sa rozdeliť položky",
|
"failed_to_unstack_assets": "Nepodarilo sa zrušiť zoskupenie položiek",
|
||||||
"failed_to_update_notification_status": "Nepodarilo sa aktualizovať stav oznámenia",
|
"failed_to_update_notification_status": "Nepodarilo sa aktualizovať stav oznámenia",
|
||||||
"import_path_already_exists": "Táto cesta importu už existuje.",
|
"import_path_already_exists": "Táto cesta importu už existuje.",
|
||||||
"incorrect_email_or_password": "Nesprávny e-mail alebo heslo",
|
"incorrect_email_or_password": "Nesprávny e-mail alebo heslo",
|
||||||
|
|
@ -1056,7 +1057,7 @@
|
||||||
"export_database": "Exportovať databázu",
|
"export_database": "Exportovať databázu",
|
||||||
"export_database_description": "Exportovať databázu SQLite",
|
"export_database_description": "Exportovať databázu SQLite",
|
||||||
"extension": "Prípona",
|
"extension": "Prípona",
|
||||||
"external": "Externý",
|
"external": "Externá",
|
||||||
"external_libraries": "Externé knižnice",
|
"external_libraries": "Externé knižnice",
|
||||||
"external_network": "Externá sieť",
|
"external_network": "Externá sieť",
|
||||||
"external_network_sheet_info": "Ak nie ste v preferovanej sieti Wi-Fi, aplikácia sa pripojí k serveru prostredníctvom prvej z nižšie uvedených adries URL, na ktorú sa dostane, počnúc zhora nadol",
|
"external_network_sheet_info": "Ak nie ste v preferovanej sieti Wi-Fi, aplikácia sa pripojí k serveru prostredníctvom prvej z nižšie uvedených adries URL, na ktorú sa dostane, počnúc zhora nadol",
|
||||||
|
|
@ -1198,8 +1199,8 @@
|
||||||
"jobs": "Úlohy",
|
"jobs": "Úlohy",
|
||||||
"keep": "Ponechať",
|
"keep": "Ponechať",
|
||||||
"keep_all": "Ponechať všetko",
|
"keep_all": "Ponechať všetko",
|
||||||
"keep_this_delete_others": "Ponechať toto, odstrániť ostatné",
|
"keep_this_delete_others": "Ponechať túto, odstrániť ostatné",
|
||||||
"kept_this_deleted_others": "Ponechal túto položku a odstránil {count, plural, one {# položku} few {# položky} other {# položiek}}",
|
"kept_this_deleted_others": "Táto položka bola ponechaná a {count, plural, one {odstránila sa # položka} few {odstránili sa # položky} other {odstránilo sa # položiek}}",
|
||||||
"keyboard_shortcuts": "Klávesové skratky",
|
"keyboard_shortcuts": "Klávesové skratky",
|
||||||
"language": "Jazyk",
|
"language": "Jazyk",
|
||||||
"language_no_results_subtitle": "Skúste upraviť hľadaný výraz",
|
"language_no_results_subtitle": "Skúste upraviť hľadaný výraz",
|
||||||
|
|
@ -1382,7 +1383,7 @@
|
||||||
"next": "Ďalej",
|
"next": "Ďalej",
|
||||||
"next_memory": "Ďalšia spomienka",
|
"next_memory": "Ďalšia spomienka",
|
||||||
"no": "Nie",
|
"no": "Nie",
|
||||||
"no_albums_message": "Vytvorí album na organizovanie fotiek a videí",
|
"no_albums_message": "Vytvorte album na usporiadanie svojich fotiek a videí",
|
||||||
"no_albums_with_name_yet": "Vyzerá, že zatiaľ nemáte album s týmto názvom.",
|
"no_albums_with_name_yet": "Vyzerá, že zatiaľ nemáte album s týmto názvom.",
|
||||||
"no_albums_yet": "Vyzerá, že zatiaľ nemáte žiadne albumy.",
|
"no_albums_yet": "Vyzerá, že zatiaľ nemáte žiadne albumy.",
|
||||||
"no_archived_assets_message": "Archivujte fotografie a videá a skryte ich z vášho zobrazenia fotografií",
|
"no_archived_assets_message": "Archivujte fotografie a videá a skryte ich z vášho zobrazenia fotografií",
|
||||||
|
|
@ -1395,7 +1396,7 @@
|
||||||
"no_exif_info_available": "Nie sú dostupné exif údaje",
|
"no_exif_info_available": "Nie sú dostupné exif údaje",
|
||||||
"no_explore_results_message": "Nahrajte viac fotiek na objavovanie vašej zbierky.",
|
"no_explore_results_message": "Nahrajte viac fotiek na objavovanie vašej zbierky.",
|
||||||
"no_favorites_message": "Pridajte si obľúbené, aby ste rýchlo našli svoje najlepšie obrázky a videá",
|
"no_favorites_message": "Pridajte si obľúbené, aby ste rýchlo našli svoje najlepšie obrázky a videá",
|
||||||
"no_libraries_message": "Vytvorí externú knižnicu na prezeranie fotiek a videí",
|
"no_libraries_message": "Vytvorte externú knižnicu na prezeranie fotiek a videí",
|
||||||
"no_local_assets_found": "Neboli nájdené žiadne lokálne položky s touto kontrolnou sumou",
|
"no_local_assets_found": "Neboli nájdené žiadne lokálne položky s touto kontrolnou sumou",
|
||||||
"no_locked_photos_message": "Fotografie a videá v zamknutom priečinku sú skryté a nezobrazujú sa pri prehľadávaní alebo vyhľadávaní v knižnici.",
|
"no_locked_photos_message": "Fotografie a videá v zamknutom priečinku sú skryté a nezobrazujú sa pri prehľadávaní alebo vyhľadávaní v knižnici.",
|
||||||
"no_name": "Bez mena",
|
"no_name": "Bez mena",
|
||||||
|
|
@ -1405,7 +1406,7 @@
|
||||||
"no_remote_assets_found": "Neboli nájdené žiadne vzdialené položky s touto kontrolnou sumou",
|
"no_remote_assets_found": "Neboli nájdené žiadne vzdialené položky s touto kontrolnou sumou",
|
||||||
"no_results": "Žiadne výsledky",
|
"no_results": "Žiadne výsledky",
|
||||||
"no_results_description": "Skúste synonymum alebo všeobecnejší výraz",
|
"no_results_description": "Skúste synonymum alebo všeobecnejší výraz",
|
||||||
"no_shared_albums_message": "Vytvorí album na zdieľanie fotiek a videí s ľuďmi vo vašej sieti",
|
"no_shared_albums_message": "Vytvorte album na zdieľanie fotiek a videí s ľuďmi vo vašej sieti",
|
||||||
"no_uploads_in_progress": "Žiadne prebiehajúce nahrávanie",
|
"no_uploads_in_progress": "Žiadne prebiehajúce nahrávanie",
|
||||||
"not_available": "Nedostupné",
|
"not_available": "Nedostupné",
|
||||||
"not_in_any_album": "Nie je v žiadnom albume",
|
"not_in_any_album": "Nie je v žiadnom albume",
|
||||||
|
|
@ -1450,7 +1451,7 @@
|
||||||
"other_devices": "Ďalšie zariadenia",
|
"other_devices": "Ďalšie zariadenia",
|
||||||
"other_entities": "Ostatné subjekty",
|
"other_entities": "Ostatné subjekty",
|
||||||
"other_variables": "Ostatné premenné",
|
"other_variables": "Ostatné premenné",
|
||||||
"owned": "Vlastnené",
|
"owned": "Vlastné",
|
||||||
"owner": "Vlastník",
|
"owner": "Vlastník",
|
||||||
"partner": "Partner",
|
"partner": "Partner",
|
||||||
"partner_can_access": "{partner} môže pristupovať",
|
"partner_can_access": "{partner} môže pristupovať",
|
||||||
|
|
@ -1510,7 +1511,7 @@
|
||||||
"person_hidden": "{name}{hidden, select, true { (skryté)} other {}}",
|
"person_hidden": "{name}{hidden, select, true { (skryté)} other {}}",
|
||||||
"photo_shared_all_users": "Vyzerá, že zdieľate svoje fotky so všetkými používateľmi alebo nemáte žiadnych používateľov.",
|
"photo_shared_all_users": "Vyzerá, že zdieľate svoje fotky so všetkými používateľmi alebo nemáte žiadnych používateľov.",
|
||||||
"photos": "Fotografie",
|
"photos": "Fotografie",
|
||||||
"photos_and_videos": "Fotografie & Videa",
|
"photos_and_videos": "Fotografie a videá",
|
||||||
"photos_count": "{count, plural, one {{count, number} fotka} few {{count, number} fotky} other {{count, number} fotiek}}",
|
"photos_count": "{count, plural, one {{count, number} fotka} few {{count, number} fotky} other {{count, number} fotiek}}",
|
||||||
"photos_from_previous_years": "Fotky z minulých rokov",
|
"photos_from_previous_years": "Fotky z minulých rokov",
|
||||||
"pick_a_location": "Vyberte polohu",
|
"pick_a_location": "Vyberte polohu",
|
||||||
|
|
@ -1863,7 +1864,7 @@
|
||||||
"shared_link_options": "Možnosti zdieľaných odkazov",
|
"shared_link_options": "Možnosti zdieľaných odkazov",
|
||||||
"shared_link_password_description": "Vyžadovať heslo pre prístup k tomuto zdieľanému odkazu",
|
"shared_link_password_description": "Vyžadovať heslo pre prístup k tomuto zdieľanému odkazu",
|
||||||
"shared_links": "Zdieľané odkazy",
|
"shared_links": "Zdieľané odkazy",
|
||||||
"shared_links_description": "Zdieľanie fotografií a videí pomocou odkazu",
|
"shared_links_description": "Zdieľajte fotografie a videá pomocou odkazu",
|
||||||
"shared_photos_and_videos_count": "{assetCount, plural, few {# zdieľané fotky a videá.} other {# zdieľaných fotiek a videí.}}",
|
"shared_photos_and_videos_count": "{assetCount, plural, few {# zdieľané fotky a videá.} other {# zdieľaných fotiek a videí.}}",
|
||||||
"shared_with_me": "Zdieľané so mnou",
|
"shared_with_me": "Zdieľané so mnou",
|
||||||
"shared_with_partner": "Zdieľané s {partner}",
|
"shared_with_partner": "Zdieľané s {partner}",
|
||||||
|
|
@ -1918,9 +1919,9 @@
|
||||||
"sort_recent": "Najnovšia fotografia",
|
"sort_recent": "Najnovšia fotografia",
|
||||||
"sort_title": "Názov",
|
"sort_title": "Názov",
|
||||||
"source": "Zdroj",
|
"source": "Zdroj",
|
||||||
"stack": "Zoskupenie",
|
"stack": "Zoskupiť",
|
||||||
"stack_action_prompt": "{count} zoskupených",
|
"stack_action_prompt": "{count} zoskupených",
|
||||||
"stack_duplicates": "Zoskupiť duplicity",
|
"stack_duplicates": "Zoskupiť duplikáty",
|
||||||
"stack_select_one_photo": "Vyberte jednu hlavnú fotku pre zoskupenie",
|
"stack_select_one_photo": "Vyberte jednu hlavnú fotku pre zoskupenie",
|
||||||
"stack_selected_photos": "Zoskupiť vybraté fotky",
|
"stack_selected_photos": "Zoskupiť vybraté fotky",
|
||||||
"stacked_assets_count": "{count, plural, one {Zoskupená # položka} few {Zoskupené # položky} other {Zoskupených # položiek}}",
|
"stacked_assets_count": "{count, plural, one {Zoskupená # položka} few {Zoskupené # položky} other {Zoskupených # položiek}}",
|
||||||
|
|
@ -1932,7 +1933,7 @@
|
||||||
"status": "Stav",
|
"status": "Stav",
|
||||||
"stop_casting": "Zastaviť prenos",
|
"stop_casting": "Zastaviť prenos",
|
||||||
"stop_motion_photo": "Stopmotion fotka",
|
"stop_motion_photo": "Stopmotion fotka",
|
||||||
"stop_photo_sharing": "Zastaviť zdieľanie vašich fotiek?",
|
"stop_photo_sharing": "Zastaviť zdieľanie vašich fotografií?",
|
||||||
"stop_photo_sharing_description": "{partner} už nebude mať prístup k vašim fotkám.",
|
"stop_photo_sharing_description": "{partner} už nebude mať prístup k vašim fotkám.",
|
||||||
"stop_sharing_photos_with_user": "Zastaviť zdieľanie vašich fotiek s týmto používateľom",
|
"stop_sharing_photos_with_user": "Zastaviť zdieľanie vašich fotiek s týmto používateľom",
|
||||||
"storage": "Ukladací priestor",
|
"storage": "Ukladací priestor",
|
||||||
|
|
@ -1994,7 +1995,7 @@
|
||||||
"to_multi_select": "na viacnásobný výber",
|
"to_multi_select": "na viacnásobný výber",
|
||||||
"to_parent": "Prejsť k nadradenému",
|
"to_parent": "Prejsť k nadradenému",
|
||||||
"to_select": "na výber",
|
"to_select": "na výber",
|
||||||
"to_trash": "Kôš",
|
"to_trash": "Do koša",
|
||||||
"toggle_settings": "Prepnúť nastavenie",
|
"toggle_settings": "Prepnúť nastavenie",
|
||||||
"total": "Celkom",
|
"total": "Celkom",
|
||||||
"total_usage": "Celkové využitie",
|
"total_usage": "Celkové využitie",
|
||||||
|
|
@ -2006,7 +2007,7 @@
|
||||||
"trash_emptied": "Kôš vyprázdnený",
|
"trash_emptied": "Kôš vyprázdnený",
|
||||||
"trash_no_results_message": "Vymazané fotografie a videá sa zobrazia tu.",
|
"trash_no_results_message": "Vymazané fotografie a videá sa zobrazia tu.",
|
||||||
"trash_page_delete_all": "Vymazať všetky",
|
"trash_page_delete_all": "Vymazať všetky",
|
||||||
"trash_page_empty_trash_dialog_content": "Skutočne chcete vyprázdniť kôš? Tieto položky budú permanentne odstránené z aplikácie Immich",
|
"trash_page_empty_trash_dialog_content": "Skutočne chcete vyprázdniť kôš? Tieto položky budú natrvalo odstránené z aplikácie Immich",
|
||||||
"trash_page_info": "Médiá v koši sa permanentne odstránia po {days} dňoch",
|
"trash_page_info": "Médiá v koši sa permanentne odstránia po {days} dňoch",
|
||||||
"trash_page_no_assets": "Žiadne médiá v koši",
|
"trash_page_no_assets": "Žiadne médiá v koši",
|
||||||
"trash_page_restore_all": "Obnoviť všetky",
|
"trash_page_restore_all": "Obnoviť všetky",
|
||||||
|
|
@ -2039,9 +2040,9 @@
|
||||||
"unselect_all": "Zrušiť výber všetkých",
|
"unselect_all": "Zrušiť výber všetkých",
|
||||||
"unselect_all_duplicates": "Zrušiť výber všetkých duplicít",
|
"unselect_all_duplicates": "Zrušiť výber všetkých duplicít",
|
||||||
"unselect_all_in": "Zrušiť výber všetkých v {group}",
|
"unselect_all_in": "Zrušiť výber všetkých v {group}",
|
||||||
"unstack": "Odskupiť",
|
"unstack": "Zrušiť zoskupenie",
|
||||||
"unstack_action_prompt": "{count} nezoskupených",
|
"unstack_action_prompt": "{count} nezoskupených",
|
||||||
"unstacked_assets_count": "Zrušenie zoskupenia pre {count, plural, one {# položku} few {# položky} other {# položiek}}",
|
"unstacked_assets_count": "Zrušené zoskupenia pre {count, plural, one {# položku} few {# položky} other {# položiek}}",
|
||||||
"untagged": "Bez štítku",
|
"untagged": "Bez štítku",
|
||||||
"up_next": "To je všetko",
|
"up_next": "To je všetko",
|
||||||
"update_location_action_prompt": "Aktualizovať polohu {count} vybraných položiek pomocou:",
|
"update_location_action_prompt": "Aktualizovať polohu {count} vybraných položiek pomocou:",
|
||||||
|
|
@ -2116,7 +2117,7 @@
|
||||||
"view_user": "Zobraziť používateľa",
|
"view_user": "Zobraziť používateľa",
|
||||||
"viewer_remove_from_stack": "Odstrániť zo zoskupenia",
|
"viewer_remove_from_stack": "Odstrániť zo zoskupenia",
|
||||||
"viewer_stack_use_as_main_asset": "Použiť ako hlavnú fotku",
|
"viewer_stack_use_as_main_asset": "Použiť ako hlavnú fotku",
|
||||||
"viewer_unstack": "Odskupiť",
|
"viewer_unstack": "Zrušiť zoskupenie",
|
||||||
"visibility_changed": "Viditeľnosť zmenená pre {count, plural, one {# osobu} few {# osoby} other {# osôb}}",
|
"visibility_changed": "Viditeľnosť zmenená pre {count, plural, one {# osobu} few {# osoby} other {# osôb}}",
|
||||||
"waiting": "Čakajúce",
|
"waiting": "Čakajúce",
|
||||||
"warning": "Varovanie",
|
"warning": "Varovanie",
|
||||||
|
|
|
||||||
|
|
@ -33,6 +33,7 @@
|
||||||
"add_to_albums": "Dodaj v albume",
|
"add_to_albums": "Dodaj v albume",
|
||||||
"add_to_albums_count": "Dodaj v albume ({count})",
|
"add_to_albums_count": "Dodaj v albume ({count})",
|
||||||
"add_to_shared_album": "Dodaj k deljenemu albumu",
|
"add_to_shared_album": "Dodaj k deljenemu albumu",
|
||||||
|
"add_upload_to_stack": "Dodaj nalaganje v sklad",
|
||||||
"add_url": "Dodaj URL",
|
"add_url": "Dodaj URL",
|
||||||
"added_to_archive": "Dodano v arhiv",
|
"added_to_archive": "Dodano v arhiv",
|
||||||
"added_to_favorites": "Dodano med priljubljene",
|
"added_to_favorites": "Dodano med priljubljene",
|
||||||
|
|
@ -1038,6 +1039,7 @@
|
||||||
"exif_bottom_sheet_description_error": "Napaka pri posodabljanju opisa",
|
"exif_bottom_sheet_description_error": "Napaka pri posodabljanju opisa",
|
||||||
"exif_bottom_sheet_details": "PODROBNOSTI",
|
"exif_bottom_sheet_details": "PODROBNOSTI",
|
||||||
"exif_bottom_sheet_location": "LOKACIJA",
|
"exif_bottom_sheet_location": "LOKACIJA",
|
||||||
|
"exif_bottom_sheet_no_description": "Ni opisa",
|
||||||
"exif_bottom_sheet_people": "OSEBE",
|
"exif_bottom_sheet_people": "OSEBE",
|
||||||
"exif_bottom_sheet_person_add_person": "Dodaj ime",
|
"exif_bottom_sheet_person_add_person": "Dodaj ime",
|
||||||
"exit_slideshow": "Zapustite diaprojekcijo",
|
"exit_slideshow": "Zapustite diaprojekcijo",
|
||||||
|
|
|
||||||
|
|
@ -123,6 +123,10 @@
|
||||||
"logging_enable_description": "Omogući evidentiranje",
|
"logging_enable_description": "Omogući evidentiranje",
|
||||||
"logging_level_description": "Kada je omogućeno, koji nivo evidencije koristiti.",
|
"logging_level_description": "Kada je omogućeno, koji nivo evidencije koristiti.",
|
||||||
"logging_settings": "Evidentiranje",
|
"logging_settings": "Evidentiranje",
|
||||||
|
"machine_learning_availability_checks": "Provere dostupnosti",
|
||||||
|
"machine_learning_availability_checks_enabled": "Omogući provere dostupnosti",
|
||||||
|
"machine_learning_availability_checks_interval": "Interval provere",
|
||||||
|
"machine_learning_availability_checks_interval_description": "Interval u milisekundama između provera dostupnosti",
|
||||||
"machine_learning_clip_model": "Model CLIP",
|
"machine_learning_clip_model": "Model CLIP",
|
||||||
"machine_learning_clip_model_description": "Naziv CLIP modela je naveden <link>ovde</link>. Imajte na umu da morate ponovo da pokrenete posao „Pametno pretraživanje“ za sve slike nakon promene modela.",
|
"machine_learning_clip_model_description": "Naziv CLIP modela je naveden <link>ovde</link>. Imajte na umu da morate ponovo da pokrenete posao „Pametno pretraživanje“ za sve slike nakon promene modela.",
|
||||||
"machine_learning_duplicate_detection": "Detekcija duplikata",
|
"machine_learning_duplicate_detection": "Detekcija duplikata",
|
||||||
|
|
@ -182,11 +186,13 @@
|
||||||
"nightly_tasks_database_cleanup_setting": "Zadaci čiščenja baze podataka",
|
"nightly_tasks_database_cleanup_setting": "Zadaci čiščenja baze podataka",
|
||||||
"nightly_tasks_database_cleanup_setting_description": "Očisti stare, istekle podatke iz baze podataka",
|
"nightly_tasks_database_cleanup_setting_description": "Očisti stare, istekle podatke iz baze podataka",
|
||||||
"nightly_tasks_generate_memories_setting": "Generiši sjećanja",
|
"nightly_tasks_generate_memories_setting": "Generiši sjećanja",
|
||||||
"nightly_tasks_generate_memories_setting_description": "Kreiraj nova sjećanja",
|
"nightly_tasks_generate_memories_setting_description": "Stvorite nova sećanja iz imovine",
|
||||||
"nightly_tasks_missing_thumbnails_setting": "Generiši nedostajuće sličice",
|
"nightly_tasks_missing_thumbnails_setting": "Generiši nedostajuće sličice",
|
||||||
"nightly_tasks_missing_thumbnails_setting_description": "Dodajte elemente bez sličica u red za generisanje sličica",
|
"nightly_tasks_missing_thumbnails_setting_description": "Dodajte elemente bez sličica u red za generisanje sličica",
|
||||||
"nightly_tasks_settings": "Podešavanja noćnih zadataka",
|
"nightly_tasks_settings": "Podešavanja noćnih zadataka",
|
||||||
"nightly_tasks_settings_description": "Upravljaj noćnim zadacima",
|
"nightly_tasks_settings_description": "Upravljaj noćnim zadacima",
|
||||||
|
"nightly_tasks_start_time_setting": "Vreme početka",
|
||||||
|
"nightly_tasks_start_time_setting_description": "Vreme kada server započinje noćne zadatke",
|
||||||
"nightly_tasks_sync_quota_usage_setting_description": "Ažurirajte kvotu memorijskog prostora korisnika na osnovu trenutne upotrebe",
|
"nightly_tasks_sync_quota_usage_setting_description": "Ažurirajte kvotu memorijskog prostora korisnika na osnovu trenutne upotrebe",
|
||||||
"no_paths_added": "Nema dodatih putanja",
|
"no_paths_added": "Nema dodatih putanja",
|
||||||
"no_pattern_added": "Nije dodat obrazac",
|
"no_pattern_added": "Nije dodat obrazac",
|
||||||
|
|
|
||||||
|
|
@ -33,6 +33,7 @@
|
||||||
"add_to_albums": "Lägg till i album",
|
"add_to_albums": "Lägg till i album",
|
||||||
"add_to_albums_count": "Lägg till i album ({count})",
|
"add_to_albums_count": "Lägg till i album ({count})",
|
||||||
"add_to_shared_album": "Lägg till i delat album",
|
"add_to_shared_album": "Lägg till i delat album",
|
||||||
|
"add_upload_to_stack": "Lägg till uppladdning till stack",
|
||||||
"add_url": "Lägg till URL",
|
"add_url": "Lägg till URL",
|
||||||
"added_to_archive": "Tillagd i arkiv",
|
"added_to_archive": "Tillagd i arkiv",
|
||||||
"added_to_favorites": "Tillagd till favoriter",
|
"added_to_favorites": "Tillagd till favoriter",
|
||||||
|
|
|
||||||
49
i18n/ta.json
49
i18n/ta.json
|
|
@ -33,6 +33,7 @@
|
||||||
"add_to_albums": "ஆல்பத்தில் சேர்",
|
"add_to_albums": "ஆல்பத்தில் சேர்",
|
||||||
"add_to_albums_count": "ஆல்பங்களில் சேர்({count})",
|
"add_to_albums_count": "ஆல்பங்களில் சேர்({count})",
|
||||||
"add_to_shared_album": "பகிரப்பட்ட ஆல்பமில் சேர்க்க",
|
"add_to_shared_album": "பகிரப்பட்ட ஆல்பமில் சேர்க்க",
|
||||||
|
"add_upload_to_stack": "அடுக்கில் பதிவேற்றத்தைச் சேர்",
|
||||||
"add_url": "URL ஐச் சேர்க்கவும்",
|
"add_url": "URL ஐச் சேர்க்கவும்",
|
||||||
"added_to_archive": "காப்பகத்தில் சேர்க்கப்பட்டது",
|
"added_to_archive": "காப்பகத்தில் சேர்க்கப்பட்டது",
|
||||||
"added_to_favorites": "விருப்பங்களில் (பேவரிட்ஸ்) சேர்க்கப்பட்டது",
|
"added_to_favorites": "விருப்பங்களில் (பேவரிட்ஸ்) சேர்க்கப்பட்டது",
|
||||||
|
|
@ -57,7 +58,7 @@
|
||||||
"backup_onboarding_parts_title": "3-2-1 காப்புப்பிரதியில் பின்வருவன அடங்கும்:",
|
"backup_onboarding_parts_title": "3-2-1 காப்புப்பிரதியில் பின்வருவன அடங்கும்:",
|
||||||
"backup_onboarding_title": "காப்புப்பிரதிகள்",
|
"backup_onboarding_title": "காப்புப்பிரதிகள்",
|
||||||
"backup_settings": "தரவுத்தள திணிப்பு அமைப்புகள்",
|
"backup_settings": "தரவுத்தள திணிப்பு அமைப்புகள்",
|
||||||
"backup_settings_description": "தரவுத்தள நகல் அமைப்புகளை நிர்வகிக்கவும்",
|
"backup_settings_description": "தரவுத்தள நகல் அமைப்புகளை நிர்வகி.",
|
||||||
"cleared_jobs": "முடித்த வேலைகள்: {job}",
|
"cleared_jobs": "முடித்த வேலைகள்: {job}",
|
||||||
"config_set_by_file": "கட்டமைப்பு, தற்போது ஒரு கட்டமைப்பு கோப்பு மூலம் அமைக்கப்பட்டுள்ளது",
|
"config_set_by_file": "கட்டமைப்பு, தற்போது ஒரு கட்டமைப்பு கோப்பு மூலம் அமைக்கப்பட்டுள்ளது",
|
||||||
"confirm_delete_library": "{library} படங்கள் நூலகத்தை நிச்சயமாக நீக்க விரும்புகிறீர்களா?",
|
"confirm_delete_library": "{library} படங்கள் நூலகத்தை நிச்சயமாக நீக்க விரும்புகிறீர்களா?",
|
||||||
|
|
@ -68,7 +69,7 @@
|
||||||
"confirm_user_pin_code_reset": "{user} இன் பின் குறியீட்டை மீட்டமைக்க விரும்புகிறீர்களா?",
|
"confirm_user_pin_code_reset": "{user} இன் பின் குறியீட்டை மீட்டமைக்க விரும்புகிறீர்களா?",
|
||||||
"create_job": "வேலையை உருவாக்கு",
|
"create_job": "வேலையை உருவாக்கு",
|
||||||
"cron_expression": "க்ரோன் வெளிப்பாடு",
|
"cron_expression": "க்ரோன் வெளிப்பாடு",
|
||||||
"cron_expression_description": "CRON வடிவமைப்பைப் பயன்படுத்தி ச்கேனிங் இடைவெளியை அமைக்கவும். மேலும் தகவலுக்கு எ.கா. <இணைப்பு> க்ரோன்டாப் குரு </இணைப்பு>",
|
"cron_expression_description": "CRON வடிவமைப்பைப் பயன்படுத்தி ச்கேனிங் இடைவெளியை அமைக்கவும். மேலும் தகவலுக்கு எ.கா.<link> க்ரோன்டாப் குரு </link>",
|
||||||
"cron_expression_presets": "க்ரோன் வெளிப்பாடு முன்னமைவுகள்",
|
"cron_expression_presets": "க்ரோன் வெளிப்பாடு முன்னமைவுகள்",
|
||||||
"disable_login": "உள்நுழைவை முடக்கு",
|
"disable_login": "உள்நுழைவை முடக்கு",
|
||||||
"duplicate_detection_job_description": "ஒத்த படங்களைக் கண்டறிய, சொத்துக்களில் இயந்திரக் கற்றலை இயக்கவும். ஸ்மார்ட் தேடலை நம்பியுள்ளது",
|
"duplicate_detection_job_description": "ஒத்த படங்களைக் கண்டறிய, சொத்துக்களில் இயந்திரக் கற்றலை இயக்கவும். ஸ்மார்ட் தேடலை நம்பியுள்ளது",
|
||||||
|
|
@ -117,7 +118,7 @@
|
||||||
"library_scanning_enable_description": "நியமிக்கப்பட்ட புகைப்பட நூலக ஸ்கேனிங்கை இயக்கு",
|
"library_scanning_enable_description": "நியமிக்கப்பட்ட புகைப்பட நூலக ஸ்கேனிங்கை இயக்கு",
|
||||||
"library_settings": "வெளிப்புற புகைப்பட நூலகம்",
|
"library_settings": "வெளிப்புற புகைப்பட நூலகம்",
|
||||||
"library_settings_description": "வெளிப்புற புகைப்பட நூலக அமைப்புகளை மேலாண்மை செய்யவும்",
|
"library_settings_description": "வெளிப்புற புகைப்பட நூலக அமைப்புகளை மேலாண்மை செய்யவும்",
|
||||||
"library_tasks_description": "புதிய மற்றும்/அல்லது மாற்றப்பட்ட சொத்துக்களுக்கு வெளிப்புற நூலகங்களை ஸ்கேன் செய்யவும்.",
|
"library_tasks_description": "புதிய மற்றும்/அல்லது மாற்றப்பட்ட சொத்துக்களுக்கு வெளிப்புற நூலகங்களை வருடவும்",
|
||||||
"library_watching_enable_description": "கோப்பு மாற்றங்களுக்கு வெளிப்புற நூலகங்களைப் பாருங்கள்",
|
"library_watching_enable_description": "கோப்பு மாற்றங்களுக்கு வெளிப்புற நூலகங்களைப் பாருங்கள்",
|
||||||
"library_watching_settings": "நூலகப் பார்ப்பது (சோதனை)",
|
"library_watching_settings": "நூலகப் பார்ப்பது (சோதனை)",
|
||||||
"library_watching_settings_description": "மாற்றப்பட்ட புகைப்படங்களைத் தானாகவே பார்க்கவும்",
|
"library_watching_settings_description": "மாற்றப்பட்ட புகைப்படங்களைத் தானாகவே பார்க்கவும்",
|
||||||
|
|
@ -317,7 +318,7 @@
|
||||||
"transcoding_audio_codec": "ஆடியோ கோடெக்",
|
"transcoding_audio_codec": "ஆடியோ கோடெக்",
|
||||||
"transcoding_audio_codec_description": "ஓபச் மிக உயர்ந்த தரமான விருப்பமாகும், ஆனால் பழைய சாதனங்கள் அல்லது மென்பொருளுடன் குறைந்த பொருந்தக்கூடிய தன்மையைக் கொண்டுள்ளது.",
|
"transcoding_audio_codec_description": "ஓபச் மிக உயர்ந்த தரமான விருப்பமாகும், ஆனால் பழைய சாதனங்கள் அல்லது மென்பொருளுடன் குறைந்த பொருந்தக்கூடிய தன்மையைக் கொண்டுள்ளது.",
|
||||||
"transcoding_bitrate_description": "மேக்ச் பிட்ரேட்டை விட அதிகமான வீடியோக்கள் அல்லது ஏற்றுக்கொள்ளப்பட்ட வடிவத்தில் இல்லை",
|
"transcoding_bitrate_description": "மேக்ச் பிட்ரேட்டை விட அதிகமான வீடியோக்கள் அல்லது ஏற்றுக்கொள்ளப்பட்ட வடிவத்தில் இல்லை",
|
||||||
"transcoding_codecs_learn_more": "இங்கே பயன்படுத்தப்படும் சொற்களைப் பற்றி மேலும் அறிய, <H264-LINK> H.264 கோடெக் </H264-LINK>, <HEVC-LINK> HEVC கோடெக் </HEVC-LINK> மற்றும் <VP9-LINK> VP9 க்கான FFMPEG ஆவணங்களைப் பார்க்கவும் கோடெக் </vp9-link>.",
|
"transcoding_codecs_learn_more": "இங்கே பயன்படுத்தப்படும் சொற்களைப் பற்றி மேலும் அறிய, <h264-link> H.264 கோடெக்</h264-link>, <hevc-link>HEVC கோடெக் </hevc-link>மற்றும் <vp9-link>VP9 க்கான கோடெக் </vp9-link> FFMPEG ஆவணங்களைப் பார்க்கவும்.",
|
||||||
"transcoding_constant_quality_mode": "நிலையான தர முறை",
|
"transcoding_constant_quality_mode": "நிலையான தர முறை",
|
||||||
"transcoding_constant_quality_mode_description": "CQP ஐ விட ICQ சிறந்தது, ஆனால் சில வன்பொருள் முடுக்கம் சாதனங்கள் இந்த பயன்முறையை ஆதரிக்கவில்லை. இந்த விருப்பத்தை அமைப்பது தர அடிப்படையிலான குறியாக்கத்தைப் பயன்படுத்தும் போது குறிப்பிட்ட பயன்முறையை விரும்புகிறது. NVENC ஆல் புறக்கணிக்கப்பட்டது, ஏனெனில் இது ICQ ஐ ஆதரிக்காது.",
|
"transcoding_constant_quality_mode_description": "CQP ஐ விட ICQ சிறந்தது, ஆனால் சில வன்பொருள் முடுக்கம் சாதனங்கள் இந்த பயன்முறையை ஆதரிக்கவில்லை. இந்த விருப்பத்தை அமைப்பது தர அடிப்படையிலான குறியாக்கத்தைப் பயன்படுத்தும் போது குறிப்பிட்ட பயன்முறையை விரும்புகிறது. NVENC ஆல் புறக்கணிக்கப்பட்டது, ஏனெனில் இது ICQ ஐ ஆதரிக்காது.",
|
||||||
"transcoding_constant_rate_factor": "நிலையான வீத காரணி (-crf)",
|
"transcoding_constant_rate_factor": "நிலையான வீத காரணி (-crf)",
|
||||||
|
|
@ -326,7 +327,7 @@
|
||||||
"transcoding_encoding_options": "குறியீட்டு விருப்பங்கள்",
|
"transcoding_encoding_options": "குறியீட்டு விருப்பங்கள்",
|
||||||
"transcoding_encoding_options_description": "குறியிடப்பட்ட வீடியோக்களுக்கான கோடெக்குகள், தெளிவுத்திறன், தரம் மற்றும் பிற விருப்பங்களை அமைக்கவும்",
|
"transcoding_encoding_options_description": "குறியிடப்பட்ட வீடியோக்களுக்கான கோடெக்குகள், தெளிவுத்திறன், தரம் மற்றும் பிற விருப்பங்களை அமைக்கவும்",
|
||||||
"transcoding_hardware_acceleration": "வன்பொருள் முடுக்கம்",
|
"transcoding_hardware_acceleration": "வன்பொருள் முடுக்கம்",
|
||||||
"transcoding_hardware_acceleration_description": "பரிசோதனை: வேகமான டிரான்ஸ்கோடிங் ஆனால் அதே பிட்ரேட்டில் தரத்தைக் குறைக்கலாம்.",
|
"transcoding_hardware_acceleration_description": "பரிசோதனை: வேகமான டிரான்ஸ்கோடிங் ஆனால் அதே பிட்ரேட்டில் தரத்தைக் குறைக்கலாம்",
|
||||||
"transcoding_hardware_decoding": "வன்பொருள் டிகோடிங்",
|
"transcoding_hardware_decoding": "வன்பொருள் டிகோடிங்",
|
||||||
"transcoding_hardware_decoding_setting_description": "குறியாக்கத்தை விரைவுபடுத்துவதற்கு பதிலாக இறுதி முதல் இறுதி முடுக்கம் ஆகியவற்றை செயல்படுத்துகிறது. எல்லா வீடியோக்களிலும் வேலை செய்யக்கூடாது.",
|
"transcoding_hardware_decoding_setting_description": "குறியாக்கத்தை விரைவுபடுத்துவதற்கு பதிலாக இறுதி முதல் இறுதி முடுக்கம் ஆகியவற்றை செயல்படுத்துகிறது. எல்லா வீடியோக்களிலும் வேலை செய்யக்கூடாது.",
|
||||||
"transcoding_max_b_frames": "அதிகபட்ச பி-பிரேம்கள்",
|
"transcoding_max_b_frames": "அதிகபட்ச பி-பிரேம்கள்",
|
||||||
|
|
@ -620,9 +621,9 @@
|
||||||
"bugs_and_feature_requests": "பிழைகள் மற்றும் அம்ச கோரிக்கைகள்",
|
"bugs_and_feature_requests": "பிழைகள் மற்றும் அம்ச கோரிக்கைகள்",
|
||||||
"build": "உருவாக்கு",
|
"build": "உருவாக்கு",
|
||||||
"build_image": "படத்தை உருவாக்குங்கள்",
|
"build_image": "படத்தை உருவாக்குங்கள்",
|
||||||
"bulk_delete_duplicates_confirmation": "{எண்ணிக்கை, பன்மை, ஒன்று {# நகல் சொத்து} பிற {# நகல் சொத்துக்கள்}}}}}}}}} {{# நகல் சொத்து ஆகியவற்றை மொத்தமாக நீக்க விரும்புகிறீர்களா? இது ஒவ்வொரு குழுவின் மிகப்பெரிய சொத்தை வைத்திருக்கும் மற்றும் மற்ற அனைத்து நகல்களையும் நிரந்தரமாக நீக்குகிறது. இந்த செயலை நீங்கள் செயல்தவிர்க்க முடியாது!",
|
"bulk_delete_duplicates_confirmation": "நீங்கள் நிச்சயமாக {count, plural, one {# நகல் சொத்து} other {# நகல் சொத்துகள்}} மொத்தமாக நீக்க விரும்புகிறீர்களா? இது ஒவ்வொரு குழுவின் மிகப்பெரிய சொத்தை வைத்திருக்கும் மற்றும் மற்ற அனைத்து நகல்களையும் நிரந்தரமாக நீக்கும். இந்தச் செயலை நீங்கள் செயல்தவிர்க்க முடியாது!",
|
||||||
"bulk_keep_duplicates_confirmation": "நீங்கள் {எண்ணிக்கை, பன்மை, ஒன்று {# நகல் சொத்து} பிற {# நகல் சொத்துக்கள்} be வைக்க விரும்புகிறீர்களா? இது எதையும் நீக்காமல் அனைத்து நகல் குழுக்களையும் தீர்க்கும்.",
|
"bulk_keep_duplicates_confirmation": "நீங்கள் நிச்சயமாக {count, plural, one {# நகல் சொத்து} other {# நகல் சொத்துக்கள்}} வைத்திருக்க விரும்புகிறீர்களா? இது எதையும் நீக்காமல் அனைத்து நகல் குழுக்களையும் தீர்க்கும்.",
|
||||||
"bulk_trash_duplicates_confirmation": "நீங்கள் மொத்தமாக குப்பை {எண்ணிக்கை, பன்மை, ஒன்று {# நகல் சொத்து} பிற {# நகல் சொத்துக்கள்}}}} செய்ய விரும்புகிறீர்களா? இது ஒவ்வொரு குழுவின் மிகப்பெரிய சொத்தை வைத்திருக்கும் மற்றும் மற்ற அனைத்து நகல்களையும் குப்பைத் தொட்டியாக இருக்கும்.",
|
"bulk_trash_duplicates_confirmation": "நீங்கள் நிச்சயமாக மொத்தமாகக் குப்பையில் போட விரும்புகிறீர்களா {count, plural, one {# நகல் சொத்து} other {# நகல் சொத்துக்கள்}}? இது ஒவ்வொரு குழுவின் மிகப்பெரிய சொத்தையும் வைத்திருக்கும், மற்ற அனைத்து நகல்களையும் குப்பையில் போடும்.",
|
||||||
"buy": "இம்மியை வாங்கவும்",
|
"buy": "இம்மியை வாங்கவும்",
|
||||||
"cache_settings_clear_cache_button": "தெளிவான தற்காலிக சேமிப்பு",
|
"cache_settings_clear_cache_button": "தெளிவான தற்காலிக சேமிப்பு",
|
||||||
"cache_settings_clear_cache_button_title": "பயன்பாட்டின் தற்காலிக சேமிப்பை அழிக்கிறது. கேச் மீண்டும் கட்டப்படும் வரை இது பயன்பாட்டின் செயல்திறனை கணிசமாக பாதிக்கும்.",
|
"cache_settings_clear_cache_button_title": "பயன்பாட்டின் தற்காலிக சேமிப்பை அழிக்கிறது. கேச் மீண்டும் கட்டப்படும் வரை இது பயன்பாட்டின் செயல்திறனை கணிசமாக பாதிக்கும்.",
|
||||||
|
|
@ -709,7 +710,7 @@
|
||||||
"confirm_keep_this_delete_others": "இந்த சொத்தைத் தவிர அடுக்கில் உள்ள மற்ற அனைத்து சொத்துகளும் நீக்கப்படும். நீங்கள் தொடர விரும்புகிறீர்களா?",
|
"confirm_keep_this_delete_others": "இந்த சொத்தைத் தவிர அடுக்கில் உள்ள மற்ற அனைத்து சொத்துகளும் நீக்கப்படும். நீங்கள் தொடர விரும்புகிறீர்களா?",
|
||||||
"confirm_new_pin_code": "புதிய முள் குறியீட்டை உறுதிப்படுத்தவும்",
|
"confirm_new_pin_code": "புதிய முள் குறியீட்டை உறுதிப்படுத்தவும்",
|
||||||
"confirm_password": "கடவுச்சொல்லை உறுதிப்படுத்தவும்",
|
"confirm_password": "கடவுச்சொல்லை உறுதிப்படுத்தவும்",
|
||||||
"confirm_tag_face": "இந்த முகத்தை {பெயர் அச் எனக் குறிக்க விரும்புகிறீர்களா?",
|
"confirm_tag_face": "இந்த முகத்தை {name} எனக் குறிக்க விரும்புகிறீர்களா?",
|
||||||
"confirm_tag_face_unnamed": "இந்த முகத்தை குறிக்க விரும்புகிறீர்களா?",
|
"confirm_tag_face_unnamed": "இந்த முகத்தை குறிக்க விரும்புகிறீர்களா?",
|
||||||
"connected_device": "இணைக்கப்பட்ட சாதனம்",
|
"connected_device": "இணைக்கப்பட்ட சாதனம்",
|
||||||
"connected_to": "இணைக்கப்பட்டுள்ளது",
|
"connected_to": "இணைக்கப்பட்டுள்ளது",
|
||||||
|
|
@ -915,9 +916,9 @@
|
||||||
"cannot_navigate_next_asset": "அடுத்த சொத்துக்கு செல்ல முடியாது",
|
"cannot_navigate_next_asset": "அடுத்த சொத்துக்கு செல்ல முடியாது",
|
||||||
"cannot_navigate_previous_asset": "முந்தைய சொத்துக்கு செல்ல முடியாது",
|
"cannot_navigate_previous_asset": "முந்தைய சொத்துக்கு செல்ல முடியாது",
|
||||||
"cant_apply_changes": "மாற்றங்களைப் பயன்படுத்த முடியாது",
|
"cant_apply_changes": "மாற்றங்களைப் பயன்படுத்த முடியாது",
|
||||||
"cant_change_activity": "{செயல்படுத்த முடியாது, தேர்ந்தெடுக்கவும், உண்மை {disable} பிற {enable}} செயல்பாடு",
|
"cant_change_activity": "செயல்பாட்டை {enabled, select, true {முடக்க} other {இயக்க}} முடியாது",
|
||||||
"cant_change_asset_favorite": "சொத்துக்கு பிடித்ததை மாற்ற முடியாது",
|
"cant_change_asset_favorite": "சொத்துக்கு பிடித்ததை மாற்ற முடியாது",
|
||||||
"cant_change_metadata_assets_count": "{எண்ணிக்கை, பன்மை, ஒன்று {# சொத்து} பிற {# சொத்துக்கள்}} இன் மெட்டாடேட்டாவை மாற்ற முடியாது",
|
"cant_change_metadata_assets_count": "{count, plural, one {# சொத்து} other {# சொத்துக்கள்}}இன் மீள்தரவை மாற்ற முடியாது",
|
||||||
"cant_get_faces": "முகங்களைப் பெற முடியாது",
|
"cant_get_faces": "முகங்களைப் பெற முடியாது",
|
||||||
"cant_get_number_of_comments": "கருத்துகளின் எண்ணிக்கையைப் பெற முடியாது",
|
"cant_get_number_of_comments": "கருத்துகளின் எண்ணிக்கையைப் பெற முடியாது",
|
||||||
"cant_search_people": "மக்களைத் தேட முடியாது",
|
"cant_search_people": "மக்களைத் தேட முடியாது",
|
||||||
|
|
@ -946,7 +947,7 @@
|
||||||
"failed_to_update_notification_status": "அறிவிப்பு நிலையைப் புதுப்பிக்கத் தவறிவிட்டது",
|
"failed_to_update_notification_status": "அறிவிப்பு நிலையைப் புதுப்பிக்கத் தவறிவிட்டது",
|
||||||
"import_path_already_exists": "இந்த இறக்குமதி பாதை ஏற்கனவே உள்ளது.",
|
"import_path_already_exists": "இந்த இறக்குமதி பாதை ஏற்கனவே உள்ளது.",
|
||||||
"incorrect_email_or_password": "தவறான மின்னஞ்சல் அல்லது கடவுச்சொல்",
|
"incorrect_email_or_password": "தவறான மின்னஞ்சல் அல்லது கடவுச்சொல்",
|
||||||
"paths_validation_failed": "{பாதைகள், பன்மை, ஒன்று {# பாதை} மற்ற {# பாதைகள்}} தோல்வியுற்ற சரிபார்ப்பு",
|
"paths_validation_failed": "தோல்வியுற்ற சரிபார்ப்பு {paths, plural, one {# பாதை} other {# பாதைகள்}}",
|
||||||
"profile_picture_transparent_pixels": "சுயவிவரப் படங்களுக்கு வெளிப்படையான படப்புள்ளிகள் இருக்க முடியாது. தயவுசெய்து பெரிதாக்கவும்/அல்லது படத்தை நகர்த்தவும்.",
|
"profile_picture_transparent_pixels": "சுயவிவரப் படங்களுக்கு வெளிப்படையான படப்புள்ளிகள் இருக்க முடியாது. தயவுசெய்து பெரிதாக்கவும்/அல்லது படத்தை நகர்த்தவும்.",
|
||||||
"quota_higher_than_disk_size": "வட்டு அளவை விட அதிகமாக ஒதுக்கீட்டை அமைத்துள்ளீர்கள்",
|
"quota_higher_than_disk_size": "வட்டு அளவை விட அதிகமாக ஒதுக்கீட்டை அமைத்துள்ளீர்கள்",
|
||||||
"something_went_wrong": "ஏதோ தவறு நடந்தது",
|
"something_went_wrong": "ஏதோ தவறு நடந்தது",
|
||||||
|
|
@ -956,9 +957,9 @@
|
||||||
"unable_to_add_exclusion_pattern": "விலக்கு முறையைச் சேர்க்க முடியவில்லை",
|
"unable_to_add_exclusion_pattern": "விலக்கு முறையைச் சேர்க்க முடியவில்லை",
|
||||||
"unable_to_add_import_path": "இறக்குமதி பாதையைச் சேர்க்க முடியவில்லை",
|
"unable_to_add_import_path": "இறக்குமதி பாதையைச் சேர்க்க முடியவில்லை",
|
||||||
"unable_to_add_partners": "கூட்டாளர்களைச் சேர்க்க முடியவில்லை",
|
"unable_to_add_partners": "கூட்டாளர்களைச் சேர்க்க முடியவில்லை",
|
||||||
"unable_to_add_remove_archive": "{காப்பகப்படுத்த முடியவில்லை, தேர்ந்தெடுக்கவும், உண்மையாகவும்} பிற {remove asset from}}} காப்பகத்திற்குச் சேர்க்கவும்",
|
"unable_to_add_remove_archive": "காப்பகத்தில் {archived, select, true {இருந்து சொத்தை அகற்ற} other {சொத்தைச் சேர்க்க}} முடியவில்லை",
|
||||||
"unable_to_add_remove_favorites": "{பிடித்த, தேர்ந்தெடுக்கவும், உண்மையாகவும்}}} பிடித்தவைகளிலிருந்து சொத்தை அகற்று",
|
"unable_to_add_remove_favorites": "பிடித்தவையில் {பிடித்தது, தேர்ந்தெடு, உண்மை {சொத்தைச் சேர்க்க} மற்ற {சொத்தை அகற்ற}} முடியவில்லை",
|
||||||
"unable_to_archive_unarchive": "{காப்பகப்படுத்த முடியவில்லை, தேர்ந்தெடுக்க முடியவில்லை, உண்மை {archive} பிற {unarchive}}",
|
"unable_to_archive_unarchive": "{காப்பகப்படுத்த முடியவில்லை, தேர்ந்தெடு, உண்மை {காப்பகம்} மற்றவை {காப்பகத்தை அகற்று}}",
|
||||||
"unable_to_change_album_user_role": "ஆல்பத்தின் பயனரின் பாத்திரத்தை மாற்ற முடியவில்லை",
|
"unable_to_change_album_user_role": "ஆல்பத்தின் பயனரின் பாத்திரத்தை மாற்ற முடியவில்லை",
|
||||||
"unable_to_change_date": "தேதியை மாற்ற முடியவில்லை",
|
"unable_to_change_date": "தேதியை மாற்ற முடியவில்லை",
|
||||||
"unable_to_change_description": "விளக்கத்தை மாற்ற முடியவில்லை",
|
"unable_to_change_description": "விளக்கத்தை மாற்ற முடியவில்லை",
|
||||||
|
|
@ -1066,7 +1067,7 @@
|
||||||
"failed_to_load_assets": "சொத்துக்களை ஏற்றுவதில் தோல்வி",
|
"failed_to_load_assets": "சொத்துக்களை ஏற்றுவதில் தோல்வி",
|
||||||
"failed_to_load_folder": "கோப்புறையை ஏற்றுவதில் தோல்வி",
|
"failed_to_load_folder": "கோப்புறையை ஏற்றுவதில் தோல்வி",
|
||||||
"favorite": "பிடித்த",
|
"favorite": "பிடித்த",
|
||||||
"favorite_action_prompt": "{எண்ணிக்கை the பிடித்தவைகளில் சேர்க்கப்பட்டது",
|
"favorite_action_prompt": "{count} பிடித்தவைகளில் சேர்க்கப்பட்டது",
|
||||||
"favorite_or_unfavorite_photo": "பிடித்த அல்லது சாதகமற்ற புகைப்படம்",
|
"favorite_or_unfavorite_photo": "பிடித்த அல்லது சாதகமற்ற புகைப்படம்",
|
||||||
"favorites": "பிடித்தவை",
|
"favorites": "பிடித்தவை",
|
||||||
"favorites_page_no_favorites": "பிடித்த சொத்துக்கள் எதுவும் கிடைக்கவில்லை",
|
"favorites_page_no_favorites": "பிடித்த சொத்துக்கள் எதுவும் கிடைக்கவில்லை",
|
||||||
|
|
@ -1128,9 +1129,9 @@
|
||||||
"hide_password": "கடவுச்சொல்லை மறைக்கவும்",
|
"hide_password": "கடவுச்சொல்லை மறைக்கவும்",
|
||||||
"hide_person": "நபரை மறைக்க",
|
"hide_person": "நபரை மறைக்க",
|
||||||
"hide_unnamed_people": "பெயரிடப்படாதவர்களை மறைக்கவும்",
|
"hide_unnamed_people": "பெயரிடப்படாதவர்களை மறைக்கவும்",
|
||||||
"home_page_add_to_album_conflicts": "சேர்க்கப்பட்டது {ஆல்பம் {added} சொத்துக்கள் {ஆல்பம். {album} சொத்துக்கள் ஏற்கனவே ஆல்பத்தில் உள்ளன.",
|
"home_page_add_to_album_conflicts": "{album} ஆல்பத்தில் {added} சொத்துக்கள் சேர்க்கப்பட்டன. {failed} சொத்துக்கள் ஏற்கனவே ஆல்பத்தில் உள்ளன.",
|
||||||
"home_page_add_to_album_err_local": "ஆல்பங்களில் உள்ளக சொத்துக்களை இன்னும் சேர்க்க முடியாது, தவிர்க்கவும்",
|
"home_page_add_to_album_err_local": "ஆல்பங்களில் உள்ளக சொத்துக்களை இன்னும் சேர்க்க முடியாது, தவிர்க்கவும்",
|
||||||
"home_page_add_to_album_success": "சேர்க்கப்பட்டது {ஆல்பம் {added} சொத்துக்கள் {ஆல்பம்.",
|
"home_page_add_to_album_success": "{album} ஆல்பத்தில் {added} சொத்துக்கள் சேர்க்கப்பட்டன.",
|
||||||
"home_page_album_err_partner": "ஒரு ஆல்பத்திற்கு இன்னும் கூட்டாளர் சொத்துக்களைச் சேர்க்க முடியவில்லை, தவிர்க்கவும்",
|
"home_page_album_err_partner": "ஒரு ஆல்பத்திற்கு இன்னும் கூட்டாளர் சொத்துக்களைச் சேர்க்க முடியவில்லை, தவிர்க்கவும்",
|
||||||
"home_page_archive_err_local": "உள்ளக சொத்துக்களை இன்னும் காப்பகப்படுத்த முடியாது, தவிர்க்கவும்",
|
"home_page_archive_err_local": "உள்ளக சொத்துக்களை இன்னும் காப்பகப்படுத்த முடியாது, தவிர்க்கவும்",
|
||||||
"home_page_archive_err_partner": "கூட்டாளர் சொத்துக்களை காப்பகப்படுத்த முடியாது, தவிர்க்கவும்",
|
"home_page_archive_err_partner": "கூட்டாளர் சொத்துக்களை காப்பகப்படுத்த முடியாது, தவிர்க்கவும்",
|
||||||
|
|
@ -1152,8 +1153,8 @@
|
||||||
"ignore_icloud_photos": "ICloud புகைப்படங்களை புறக்கணிக்கவும்",
|
"ignore_icloud_photos": "ICloud புகைப்படங்களை புறக்கணிக்கவும்",
|
||||||
"ignore_icloud_photos_description": "ICloud இல் சேமிக்கப்படும் புகைப்படங்கள் இம்மிச் சேவையகத்தில் பதிவேற்றப்படாது",
|
"ignore_icloud_photos_description": "ICloud இல் சேமிக்கப்படும் புகைப்படங்கள் இம்மிச் சேவையகத்தில் பதிவேற்றப்படாது",
|
||||||
"image": "படம்",
|
"image": "படம்",
|
||||||
"image_alt_text_date": "{isvideo, தேர்ந்தெடு, உண்மை {Video} பிற {Image}} {date} இல் எடுக்கப்பட்டது",
|
"image_alt_text_date": "{isVideo, select, true {Video} மற்ற {Image}} {date} அன்று எடுக்கப்பட்டது",
|
||||||
"image_alt_text_date_1_person": "{isvideo, தேர்ந்தெடு, உண்மை {Video} பிற {Image}} {{person1} இல் {date}",
|
"image_alt_text_date_1_person": "{isVideo, தேர்ந்தெடு, உண்மை {Video} பிற {Image}} {person1} இல் {date}",
|
||||||
"image_alt_text_date_2_people": "{isvideo, தேர்ந்தெடுக்கவும், உண்மை {Video} பிற {Image}} {{person1} மற்றும் {person2} {date} இல் எடுக்கப்பட்டது",
|
"image_alt_text_date_2_people": "{isvideo, தேர்ந்தெடுக்கவும், உண்மை {Video} பிற {Image}} {{person1} மற்றும் {person2} {date} இல் எடுக்கப்பட்டது",
|
||||||
"image_alt_text_date_3_people": "{isvideo, தேர்ந்தெடு, உண்மை {Video} பிற {Image} the {person1}, {person2}, மற்றும் {person3} இல் எடுக்கப்பட்டது {date}",
|
"image_alt_text_date_3_people": "{isvideo, தேர்ந்தெடு, உண்மை {Video} பிற {Image} the {person1}, {person2}, மற்றும் {person3} இல் எடுக்கப்பட்டது {date}",
|
||||||
"image_alt_text_date_4_or_more_people": "{isvideo, தேர்ந்தெடு, உண்மை {Video} பிற {Image} the {person1}, {person2}, மற்றும் {கூடுதல் COUNT, எண்} மற்றவர்கள் {date}",
|
"image_alt_text_date_4_or_more_people": "{isvideo, தேர்ந்தெடு, உண்மை {Video} பிற {Image} the {person1}, {person2}, மற்றும் {கூடுதல் COUNT, எண்} மற்றவர்கள் {date}",
|
||||||
|
|
@ -1489,7 +1490,7 @@
|
||||||
"permanent_deletion_warning_setting_description": "சொத்துக்களை நிரந்தரமாக நீக்கும்போது ஒரு எச்சரிக்கையைக் காட்டுங்கள்",
|
"permanent_deletion_warning_setting_description": "சொத்துக்களை நிரந்தரமாக நீக்கும்போது ஒரு எச்சரிக்கையைக் காட்டுங்கள்",
|
||||||
"permanently_delete": "நிரந்தரமாக நீக்கு",
|
"permanently_delete": "நிரந்தரமாக நீக்கு",
|
||||||
"permanently_delete_assets_count": "நிரந்தரமாக நீக்கு {எண்ணிக்கை, பன்மை, ஒன்று {asset} மற்ற {assets}}",
|
"permanently_delete_assets_count": "நிரந்தரமாக நீக்கு {எண்ணிக்கை, பன்மை, ஒன்று {asset} மற்ற {assets}}",
|
||||||
"permanently_delete_assets_prompt": "நீங்கள் நிச்சயமாக {எண்ணிக்கை, பன்மை, ஒன்று {இந்த சொத்து?} மற்ற {இந்த <b>#</b> சொத்துக்கள்?",
|
"permanently_delete_assets_prompt": "{count, plural, one {this asset?} other {these <b>#</b> assets?}} என்பதை நிரந்தரமாக நீக்க விரும்புகிறீர்களா? இது {count, plural, one {it from its} other {them from their}} ஆல்பத்தையும் நீக்கும்.",
|
||||||
"permanently_deleted_asset": "நிரந்தரமாக நீக்கப்பட்ட சொத்து",
|
"permanently_deleted_asset": "நிரந்தரமாக நீக்கப்பட்ட சொத்து",
|
||||||
"permanently_deleted_assets_count": "நிரந்தரமாக நீக்கப்பட்டது {எண்ணிக்கை, பன்மை, ஒன்று {# சொத்து} பிற {# சொத்துக்கள்}}",
|
"permanently_deleted_assets_count": "நிரந்தரமாக நீக்கப்பட்டது {எண்ணிக்கை, பன்மை, ஒன்று {# சொத்து} பிற {# சொத்துக்கள்}}",
|
||||||
"permission": "இசைவு",
|
"permission": "இசைவு",
|
||||||
|
|
@ -1959,7 +1960,7 @@
|
||||||
"tag_assets": "குறிச்சொல் சொத்துக்கள்",
|
"tag_assets": "குறிச்சொல் சொத்துக்கள்",
|
||||||
"tag_created": "உருவாக்கப்பட்ட குறிச்சொல்: {tag}",
|
"tag_created": "உருவாக்கப்பட்ட குறிச்சொல்: {tag}",
|
||||||
"tag_feature_description": "தர்க்கரீதியான குறிச்சொல் தலைப்புகளால் தொகுக்கப்பட்ட புகைப்படங்கள் மற்றும் வீடியோக்களை உலாவுதல்",
|
"tag_feature_description": "தர்க்கரீதியான குறிச்சொல் தலைப்புகளால் தொகுக்கப்பட்ட புகைப்படங்கள் மற்றும் வீடியோக்களை உலாவுதல்",
|
||||||
"tag_not_found_question": "குறிச்சொல்லைக் கண்டுபிடிக்க முடியவில்லையா? <இணைப்பு> புதிய குறிச்சொல்லை உருவாக்கவும். </இணைப்பு>",
|
"tag_not_found_question": "குறிச்சொல்லைக் கண்டுபிடிக்க முடியவில்லையா?<link>புதிய குறிச்சொல்லை உருவாக்கவும்.</link>",
|
||||||
"tag_people": "மக்களை குறிக்கவும்",
|
"tag_people": "மக்களை குறிக்கவும்",
|
||||||
"tag_updated": "புதுப்பிக்கப்பட்ட குறிச்சொல்: {tag}",
|
"tag_updated": "புதுப்பிக்கப்பட்ட குறிச்சொல்: {tag}",
|
||||||
"tagged_assets": "குறித்துள்ளார் {எண்ணிக்கை, பன்மை, ஒன்று {# சொத்து} மற்ற {# சொத்துக்கள்}}",
|
"tagged_assets": "குறித்துள்ளார் {எண்ணிக்கை, பன்மை, ஒன்று {# சொத்து} மற்ற {# சொத்துக்கள்}}",
|
||||||
|
|
@ -1980,7 +1981,7 @@
|
||||||
"theme_setting_system_primary_color_title": "கணினி நிறத்தைப் பயன்படுத்துங்கள்",
|
"theme_setting_system_primary_color_title": "கணினி நிறத்தைப் பயன்படுத்துங்கள்",
|
||||||
"theme_setting_system_theme_switch": "தானியங்கி (கணினி அமைப்பைப் பின்பற்றவும்)",
|
"theme_setting_system_theme_switch": "தானியங்கி (கணினி அமைப்பைப் பின்பற்றவும்)",
|
||||||
"theme_setting_theme_subtitle": "பயன்பாட்டின் கருப்பொருள் அமைப்பைத் தேர்வுசெய்க",
|
"theme_setting_theme_subtitle": "பயன்பாட்டின் கருப்பொருள் அமைப்பைத் தேர்வுசெய்க",
|
||||||
"theme_setting_three_stage_loading_subtitle": "மூன்று-நிலை ஏற்றுதல் ஏற்றுதல் செயல்திறனை அதிகரிக்கக்கூடும், ஆனால் கணிசமாக அதிக பிணைய சுமையை ஏற்படுத்துகிறது",
|
"theme_setting_three_stage_loading_subtitle": "மூன்று-நிலை ஏற்றுதல் இயக்கினால் ஏற்றுதல் செயல்திறனை அதிகரிக்கக்கூடும், ஆனால் கணிசமாக மிகை பிணையச் சுமையை ஏற்படுத்துகிறது",
|
||||||
"theme_setting_three_stage_loading_title": "மூன்று-நிலை ஏற்றுதலை இயக்கவும்",
|
"theme_setting_three_stage_loading_title": "மூன்று-நிலை ஏற்றுதலை இயக்கவும்",
|
||||||
"they_will_be_merged_together": "அவர்கள் ஒன்றாக இணைக்கப்படுவார்கள்",
|
"they_will_be_merged_together": "அவர்கள் ஒன்றாக இணைக்கப்படுவார்கள்",
|
||||||
"third_party_resources": "மூன்றாம் தரப்பு வளங்கள்",
|
"third_party_resources": "மூன்றாம் தரப்பு வளங்கள்",
|
||||||
|
|
@ -2117,7 +2118,7 @@
|
||||||
"viewer_remove_from_stack": "அடுக்கிலிருந்து அகற்று",
|
"viewer_remove_from_stack": "அடுக்கிலிருந்து அகற்று",
|
||||||
"viewer_stack_use_as_main_asset": "பிரதான சொத்தாகப் பயன்படுத்தவும்",
|
"viewer_stack_use_as_main_asset": "பிரதான சொத்தாகப் பயன்படுத்தவும்",
|
||||||
"viewer_unstack": "அடுக்கை நீக்கு",
|
"viewer_unstack": "அடுக்கை நீக்கு",
|
||||||
"visibility_changed": "{எண்ணிக்கை, பன்மை, ஒன்று {# நபர்} மற்ற {# நபர்கள்} க்கு க்கு தெரிவுநிலை மாற்றப்பட்டது",
|
"visibility_changed": "{count, plural, one {# நபர்} other {# நபர்கள்}} க்கான தெரிவுநிலை மாற்றப்பட்டது",
|
||||||
"waiting": "காத்திருக்கிறது",
|
"waiting": "காத்திருக்கிறது",
|
||||||
"warning": "எச்சரிக்கை",
|
"warning": "எச்சரிக்கை",
|
||||||
"week": "வாரம்",
|
"week": "வாரம்",
|
||||||
|
|
|
||||||
41
i18n/tr.json
41
i18n/tr.json
|
|
@ -33,6 +33,7 @@
|
||||||
"add_to_albums": "Albümlere ekle",
|
"add_to_albums": "Albümlere ekle",
|
||||||
"add_to_albums_count": "{count} albümlerine ekle",
|
"add_to_albums_count": "{count} albümlerine ekle",
|
||||||
"add_to_shared_album": "Paylaşılan albüme ekle",
|
"add_to_shared_album": "Paylaşılan albüme ekle",
|
||||||
|
"add_upload_to_stack": "Yüklemeyi yığına ekle",
|
||||||
"add_url": "URL ekle",
|
"add_url": "URL ekle",
|
||||||
"added_to_archive": "Arşive eklendi",
|
"added_to_archive": "Arşive eklendi",
|
||||||
"added_to_favorites": "Favorilere eklendi",
|
"added_to_favorites": "Favorilere eklendi",
|
||||||
|
|
@ -62,7 +63,7 @@
|
||||||
"config_set_by_file": "Ayarlar şuanda config dosyası tarafından ayarlanmıştır",
|
"config_set_by_file": "Ayarlar şuanda config dosyası tarafından ayarlanmıştır",
|
||||||
"confirm_delete_library": "{library} kütüphanesini silmek istediğinize emin misiniz?",
|
"confirm_delete_library": "{library} kütüphanesini silmek istediğinize emin misiniz?",
|
||||||
"confirm_delete_library_assets": "Bu kütüphaneyi silmek istediğinize emin misiniz? Bu işlem {count, plural, one {# tane öğeyi} other {all # tane öğeyi}} Immich'den silecek ve bu işlem geri alınamaz. Dosyalar diskte kalacaktır.",
|
"confirm_delete_library_assets": "Bu kütüphaneyi silmek istediğinize emin misiniz? Bu işlem {count, plural, one {# tane öğeyi} other {all # tane öğeyi}} Immich'den silecek ve bu işlem geri alınamaz. Dosyalar diskte kalacaktır.",
|
||||||
"confirm_email_below": "Onaylamak için aşağıya {email} yazın",
|
"confirm_email_below": "Onaylamak için aşağıya \"{email}\" yazın",
|
||||||
"confirm_reprocess_all_faces": "Tüm yüzleri tekrardan işlemek istediğinize emin misiniz? Bu işlem isimlendirilmiş insanları da silecek.",
|
"confirm_reprocess_all_faces": "Tüm yüzleri tekrardan işlemek istediğinize emin misiniz? Bu işlem isimlendirilmiş insanları da silecek.",
|
||||||
"confirm_user_password_reset": "{user} adlı kullanıcının şifresini sıfırlamak istediğinize emin misiniz?",
|
"confirm_user_password_reset": "{user} adlı kullanıcının şifresini sıfırlamak istediğinize emin misiniz?",
|
||||||
"confirm_user_pin_code_reset": "{user} adlı kullanıcının PIN kodunu sıfırlamak istediğinize emin misiniz?",
|
"confirm_user_pin_code_reset": "{user} adlı kullanıcının PIN kodunu sıfırlamak istediğinize emin misiniz?",
|
||||||
|
|
@ -401,7 +402,7 @@
|
||||||
"advanced_settings_prefer_remote_subtitle": "Bazı cihazlar yerel öğelerden küçük resimleri yüklerken çok yavaş çalışır. Bunun yerine uzak görüntüleri yüklemek için bu ayarı etkinleştirin.",
|
"advanced_settings_prefer_remote_subtitle": "Bazı cihazlar yerel öğelerden küçük resimleri yüklerken çok yavaş çalışır. Bunun yerine uzak görüntüleri yüklemek için bu ayarı etkinleştirin.",
|
||||||
"advanced_settings_prefer_remote_title": "Uzak görüntüleri tercih et",
|
"advanced_settings_prefer_remote_title": "Uzak görüntüleri tercih et",
|
||||||
"advanced_settings_proxy_headers_subtitle": "Immich'in her ağ isteğiyle birlikte göndermesi gereken proxy header'ları tanımlayın",
|
"advanced_settings_proxy_headers_subtitle": "Immich'in her ağ isteğiyle birlikte göndermesi gereken proxy header'ları tanımlayın",
|
||||||
"advanced_settings_proxy_headers_title": "Proxy Header'lar",
|
"advanced_settings_proxy_headers_title": "Proxy Başlıkları",
|
||||||
"advanced_settings_readonly_mode_subtitle": "Fotoğrafların yalnızca görüntülenebildiği salt okunur modu etkinleştirir; birden fazla görüntü seçme, paylaşma, aktarma, silme gibi işlemler devre dışı bırakılır. Ana ekrandan kullanıcı avatarı aracılığıyla salt okunur modu Etkinleştirin/Devre dışı bırakın",
|
"advanced_settings_readonly_mode_subtitle": "Fotoğrafların yalnızca görüntülenebildiği salt okunur modu etkinleştirir; birden fazla görüntü seçme, paylaşma, aktarma, silme gibi işlemler devre dışı bırakılır. Ana ekrandan kullanıcı avatarı aracılığıyla salt okunur modu Etkinleştirin/Devre dışı bırakın",
|
||||||
"advanced_settings_readonly_mode_title": "Salt okunur Mod",
|
"advanced_settings_readonly_mode_title": "Salt okunur Mod",
|
||||||
"advanced_settings_self_signed_ssl_subtitle": "Sunucu uç noktası için SSL sertifika doğrulamasını atlar. Kendinden imzalı sertifikalar için gereklidir.",
|
"advanced_settings_self_signed_ssl_subtitle": "Sunucu uç noktası için SSL sertifika doğrulamasını atlar. Kendinden imzalı sertifikalar için gereklidir.",
|
||||||
|
|
@ -415,15 +416,15 @@
|
||||||
"age_year_months": "1 yaş, {months, plural, one {# ay} other {# ay}}",
|
"age_year_months": "1 yaş, {months, plural, one {# ay} other {# ay}}",
|
||||||
"age_years": "{years, plural, other {Yaş #}}",
|
"age_years": "{years, plural, other {Yaş #}}",
|
||||||
"album_added": "Albüm eklendi",
|
"album_added": "Albüm eklendi",
|
||||||
"album_added_notification_setting_description": "Paylaşılan bir albüme eklendiğinizde email bildirimi alın",
|
"album_added_notification_setting_description": "Paylaşılan bir albüme eklendiğinizde e-posta bildirimi alın",
|
||||||
"album_cover_updated": "Albüm Kapağı güncellendi",
|
"album_cover_updated": "Albüm kapağı güncellendi",
|
||||||
"album_delete_confirmation": "{album} albümünü silmek istediğinize emin misiniz?",
|
"album_delete_confirmation": "{album} albümünü silmek istediğinize emin misiniz?",
|
||||||
"album_delete_confirmation_description": "Albüm paylaşılıyorsa, diğer kullanıcılar artık bu albüme erişemeyecektir.",
|
"album_delete_confirmation_description": "Albüm paylaşılıyorsa, diğer kullanıcılar artık bu albüme erişemeyecektir.",
|
||||||
"album_deleted": "Albüm silindi",
|
"album_deleted": "Albüm silindi",
|
||||||
"album_info_card_backup_album_excluded": "HARİÇ",
|
"album_info_card_backup_album_excluded": "HARİÇ",
|
||||||
"album_info_card_backup_album_included": "DAHİL",
|
"album_info_card_backup_album_included": "DAHİL",
|
||||||
"album_info_updated": "Albüm bilgisi güncellendi",
|
"album_info_updated": "Albüm bilgisi güncellendi",
|
||||||
"album_leave": "Albümden Ayrıl?",
|
"album_leave": "Albümden ayrıl?",
|
||||||
"album_leave_confirmation": "{album} albümünden ayrılmak istediğinize emin misiniz?",
|
"album_leave_confirmation": "{album} albümünden ayrılmak istediğinize emin misiniz?",
|
||||||
"album_name": "Albüm Adı",
|
"album_name": "Albüm Adı",
|
||||||
"album_options": "Albüm seçenekleri",
|
"album_options": "Albüm seçenekleri",
|
||||||
|
|
@ -616,7 +617,7 @@
|
||||||
"biometric_not_available": "Bu cihazda biyometrik kimlik doğrulama mevcut değil",
|
"biometric_not_available": "Bu cihazda biyometrik kimlik doğrulama mevcut değil",
|
||||||
"birthdate_saved": "Doğum günü başarılı bir şekilde kaydedildi",
|
"birthdate_saved": "Doğum günü başarılı bir şekilde kaydedildi",
|
||||||
"birthdate_set_description": "Doğum günü, fotoğraftaki insanın fotoğraf çekildiği zamandaki yaşının hesaplanması için kullanılır.",
|
"birthdate_set_description": "Doğum günü, fotoğraftaki insanın fotoğraf çekildiği zamandaki yaşının hesaplanması için kullanılır.",
|
||||||
"blurred_background": "Bulanık arkaplan",
|
"blurred_background": "Bulanık arka plan",
|
||||||
"bugs_and_feature_requests": "Hatalar ve Özellik Talepleri",
|
"bugs_and_feature_requests": "Hatalar ve Özellik Talepleri",
|
||||||
"build": "Yapı",
|
"build": "Yapı",
|
||||||
"build_image": "Görüntü Oluştur",
|
"build_image": "Görüntü Oluştur",
|
||||||
|
|
@ -678,7 +679,7 @@
|
||||||
"clear": "Temizle",
|
"clear": "Temizle",
|
||||||
"clear_all": "Hepsini temizle",
|
"clear_all": "Hepsini temizle",
|
||||||
"clear_all_recent_searches": "Son aramaların hepsini temizle",
|
"clear_all_recent_searches": "Son aramaların hepsini temizle",
|
||||||
"clear_file_cache": "Dosya Önbelleği Temizle",
|
"clear_file_cache": "Dosya Önbelleğini Temizle",
|
||||||
"clear_message": "Mesajı temizle",
|
"clear_message": "Mesajı temizle",
|
||||||
"clear_value": "Değeri temizle",
|
"clear_value": "Değeri temizle",
|
||||||
"client_cert_dialog_msg_confirm": "Tamam",
|
"client_cert_dialog_msg_confirm": "Tamam",
|
||||||
|
|
@ -713,7 +714,7 @@
|
||||||
"confirm_tag_face_unnamed": "Bu yüzü etiketlemek ister misin?",
|
"confirm_tag_face_unnamed": "Bu yüzü etiketlemek ister misin?",
|
||||||
"connected_device": "Cihaz bağlandı",
|
"connected_device": "Cihaz bağlandı",
|
||||||
"connected_to": "Bağlı",
|
"connected_to": "Bağlı",
|
||||||
"contain": "İçermek",
|
"contain": "Sığdır",
|
||||||
"context": "Bağlam",
|
"context": "Bağlam",
|
||||||
"continue": "Devam et",
|
"continue": "Devam et",
|
||||||
"control_bottom_app_bar_create_new_album": "Yeni albüm",
|
"control_bottom_app_bar_create_new_album": "Yeni albüm",
|
||||||
|
|
@ -735,7 +736,7 @@
|
||||||
"copy_to_clipboard": "Panoya Kopyala",
|
"copy_to_clipboard": "Panoya Kopyala",
|
||||||
"country": "Ülke",
|
"country": "Ülke",
|
||||||
"cover": "Kapla",
|
"cover": "Kapla",
|
||||||
"covers": "Kaplar",
|
"covers": "Kapak",
|
||||||
"create": "Oluştur",
|
"create": "Oluştur",
|
||||||
"create_album": "Albüm oluştur",
|
"create_album": "Albüm oluştur",
|
||||||
"create_album_page_untitled": "Başlıksız",
|
"create_album_page_untitled": "Başlıksız",
|
||||||
|
|
@ -1342,7 +1343,7 @@
|
||||||
"merged_people_count": "{count, plural, one {# kişi} other {# kişi}} birleştirildi",
|
"merged_people_count": "{count, plural, one {# kişi} other {# kişi}} birleştirildi",
|
||||||
"minimize": "Küçült",
|
"minimize": "Küçült",
|
||||||
"minute": "Dakika",
|
"minute": "Dakika",
|
||||||
"minutes": "Dakikalar",
|
"minutes": "Dakika",
|
||||||
"missing": "Eksik",
|
"missing": "Eksik",
|
||||||
"model": "Model",
|
"model": "Model",
|
||||||
"month": "Ay",
|
"month": "Ay",
|
||||||
|
|
@ -1391,14 +1392,14 @@
|
||||||
"no_cast_devices_found": "Yansıtılacak cihaz bulunamadı",
|
"no_cast_devices_found": "Yansıtılacak cihaz bulunamadı",
|
||||||
"no_checksum_local": "Sağlama toplamı mevcut değil - yerel varlıkları alamıyor",
|
"no_checksum_local": "Sağlama toplamı mevcut değil - yerel varlıkları alamıyor",
|
||||||
"no_checksum_remote": "Sağlama toplamı mevcut değil - uzak varlık alınamıyor",
|
"no_checksum_remote": "Sağlama toplamı mevcut değil - uzak varlık alınamıyor",
|
||||||
"no_duplicates_found": "Çift bulunamadı.",
|
"no_duplicates_found": "Hiçbir kopya bulunamadı.",
|
||||||
"no_exif_info_available": "EXIF bilgisi mevcut değil",
|
"no_exif_info_available": "EXIF bilgisi mevcut değil",
|
||||||
"no_explore_results_message": "Koleksiyonunuzu keşfetmek için daha fazla fotoğraf yükleyin.",
|
"no_explore_results_message": "Koleksiyonunuzu keşfetmek için daha fazla fotoğraf yükleyin.",
|
||||||
"no_favorites_message": "En sevdiğiniz fotoğraf ve videoları hızlıca bulmak için favorilere ekleyin",
|
"no_favorites_message": "En sevdiğiniz fotoğraf ve videoları hızlıca bulmak için favorilere ekleyin",
|
||||||
"no_libraries_message": "Fotoğraf ve videolarınızı görmek için bir harici kütüphane oluşturun",
|
"no_libraries_message": "Fotoğraf ve videolarınızı görmek için bir harici kütüphane oluşturun",
|
||||||
"no_local_assets_found": "Bu sağlama toplamı ile yerel varlık bulunamadı",
|
"no_local_assets_found": "Bu sağlama toplamı ile yerel varlık bulunamadı",
|
||||||
"no_locked_photos_message": "Kilitli klasördeki fotoğraf ve videolar gizlidir; kitaplığınızda gezinirken veya arama yaparken görünmezler.",
|
"no_locked_photos_message": "Kilitli klasördeki fotoğraf ve videolar gizlidir; kitaplığınızda gezinirken veya arama yaparken görünmezler.",
|
||||||
"no_name": "İsim yok",
|
"no_name": "İsim Yok",
|
||||||
"no_notifications": "Bildirim yok",
|
"no_notifications": "Bildirim yok",
|
||||||
"no_people_found": "Eşleşen kişi bulunamadı",
|
"no_people_found": "Eşleşen kişi bulunamadı",
|
||||||
"no_places": "Yer yok",
|
"no_places": "Yer yok",
|
||||||
|
|
@ -1488,10 +1489,10 @@
|
||||||
"permanent_deletion_warning": "Kalıcı silme uyarısı",
|
"permanent_deletion_warning": "Kalıcı silme uyarısı",
|
||||||
"permanent_deletion_warning_setting_description": "Nesneleri kalıcı olarak silerken uyarı göster",
|
"permanent_deletion_warning_setting_description": "Nesneleri kalıcı olarak silerken uyarı göster",
|
||||||
"permanently_delete": "Kalıcı olarak sil",
|
"permanently_delete": "Kalıcı olarak sil",
|
||||||
"permanently_delete_assets_count": "{count, plural, one {öğe} other {öğeler}} kalıcı olarak silindi",
|
"permanently_delete_assets_count": "{count, plural, one {öğe} other {öğe}} kalıcı olarak silindi",
|
||||||
"permanently_delete_assets_prompt": "Bu {count, plural, one {öğeyi} other {<b>#</b> öğeleri}} kalıcı olarak silmek istediğinizden emin misiniz? Bu işlem {count, plural, one {bu öğeyi} other {bu öğeleri}} albümlerinizden de kaldırır.",
|
"permanently_delete_assets_prompt": "Bu {count, plural, one {öğeyi} other {<b>#</b> öğeleri}} kalıcı olarak silmek istediğinizden emin misiniz? Bu işlem {count, plural, one {bu öğeyi} other {bu öğeleri}} albümlerinizden de kaldırır.",
|
||||||
"permanently_deleted_asset": "Kalıcı olarak silinmiş öğeler",
|
"permanently_deleted_asset": "Kalıcı olarak silinmiş öğeler",
|
||||||
"permanently_deleted_assets_count": "{count, plural, one {# öğe} other {# öğeler}} kalıcı olarak silindi",
|
"permanently_deleted_assets_count": "{count, plural, one {# öğe} other {# öğe}} kalıcı olarak silindi",
|
||||||
"permission": "İzin",
|
"permission": "İzin",
|
||||||
"permission_empty": "İzniniz boş olmamalı",
|
"permission_empty": "İzniniz boş olmamalı",
|
||||||
"permission_onboarding_back": "Geri",
|
"permission_onboarding_back": "Geri",
|
||||||
|
|
@ -1503,9 +1504,9 @@
|
||||||
"permission_onboarding_permission_limited": "Sınırlı izin. Immich'in tüm fotoğrav ve videolarınızı yedeklemesine ve yönetmesine izin vermek için Ayarlar'da fotoğraf ve video izinlerini verin.",
|
"permission_onboarding_permission_limited": "Sınırlı izin. Immich'in tüm fotoğrav ve videolarınızı yedeklemesine ve yönetmesine izin vermek için Ayarlar'da fotoğraf ve video izinlerini verin.",
|
||||||
"permission_onboarding_request": "Immich'in fotoğraflarınızı ve videolarınızı görüntüleyebilmesi için izne ihtiyacı var.",
|
"permission_onboarding_request": "Immich'in fotoğraflarınızı ve videolarınızı görüntüleyebilmesi için izne ihtiyacı var.",
|
||||||
"person": "Kişi",
|
"person": "Kişi",
|
||||||
"person_age_months": "{months, plural, one {# month} other {# months}} eski",
|
"person_age_months": "{months, plural, one {# aylık} other {# aylık}}",
|
||||||
"person_age_year_months": "1 yıl, {months, plural, one {# month} other {# months}} eski",
|
"person_age_year_months": "1 yıl, {months, plural, one {# aylık} other {# aylık}}",
|
||||||
"person_age_years": "{years, plural, other {# sene}} önce",
|
"person_age_years": "{years, plural, other {# yaşında}}",
|
||||||
"person_birthdate": "{date} tarihinde doğdu",
|
"person_birthdate": "{date} tarihinde doğdu",
|
||||||
"person_hidden": "{name}{hidden, select, true { (gizli)} other {}}",
|
"person_hidden": "{name}{hidden, select, true { (gizli)} other {}}",
|
||||||
"photo_shared_all_users": "Fotoğraflarınızı tüm kullanıcılarla paylaştınız gibi görünüyor veya paylaşacak kullanıcı bulunmuyor.",
|
"photo_shared_all_users": "Fotoğraflarınızı tüm kullanıcılarla paylaştınız gibi görünüyor veya paylaşacak kullanıcı bulunmuyor.",
|
||||||
|
|
@ -1675,8 +1676,8 @@
|
||||||
"resume": "Devam et",
|
"resume": "Devam et",
|
||||||
"resume_paused_jobs": "Sürdür {count, plural, one {# duraklatılmış iş} other {# duraklatılmış işler}}",
|
"resume_paused_jobs": "Sürdür {count, plural, one {# duraklatılmış iş} other {# duraklatılmış işler}}",
|
||||||
"retry_upload": "Yeniden yüklemeyi dene",
|
"retry_upload": "Yeniden yüklemeyi dene",
|
||||||
"review_duplicates": "Çiftleri gözden geçir",
|
"review_duplicates": "Kopyaları gözden geçir",
|
||||||
"review_large_files": "Büyük dosyaları inceleyin",
|
"review_large_files": "Büyük dosyaları incele",
|
||||||
"role": "Rol",
|
"role": "Rol",
|
||||||
"role_editor": "Düzenleyici",
|
"role_editor": "Düzenleyici",
|
||||||
"role_viewer": "Görüntüleyici",
|
"role_viewer": "Görüntüleyici",
|
||||||
|
|
@ -1867,7 +1868,7 @@
|
||||||
"shared_photos_and_videos_count": "{assetCount, plural, other {# paylaşılan fotoğraflar & videolar.}}",
|
"shared_photos_and_videos_count": "{assetCount, plural, other {# paylaşılan fotoğraflar & videolar.}}",
|
||||||
"shared_with_me": "Benimle paylaşılanlar",
|
"shared_with_me": "Benimle paylaşılanlar",
|
||||||
"shared_with_partner": "{partner} ile paylaşıldı",
|
"shared_with_partner": "{partner} ile paylaşıldı",
|
||||||
"sharing": "Paylaşılıyor",
|
"sharing": "Paylaşım",
|
||||||
"sharing_enter_password": "Bu sayfayı görebilmek için lütfen şifreyi giriniz.",
|
"sharing_enter_password": "Bu sayfayı görebilmek için lütfen şifreyi giriniz.",
|
||||||
"sharing_page_album": "Paylaşılan albümler",
|
"sharing_page_album": "Paylaşılan albümler",
|
||||||
"sharing_page_description": "Ağınızdaki kişilerle fotoğraf ve video paylaşmak için paylaşımlı albümler oluşturun.",
|
"sharing_page_description": "Ağınızdaki kişilerle fotoğraf ve video paylaşmak için paylaşımlı albümler oluşturun.",
|
||||||
|
|
|
||||||
|
|
@ -33,6 +33,7 @@
|
||||||
"add_to_albums": "Додати до альбомів",
|
"add_to_albums": "Додати до альбомів",
|
||||||
"add_to_albums_count": "Додати до альбомів ({count})",
|
"add_to_albums_count": "Додати до альбомів ({count})",
|
||||||
"add_to_shared_album": "Додати у спільний альбом",
|
"add_to_shared_album": "Додати у спільний альбом",
|
||||||
|
"add_upload_to_stack": "Додати завантаження до стеку",
|
||||||
"add_url": "Додати URL",
|
"add_url": "Додати URL",
|
||||||
"added_to_archive": "Додано до архіву",
|
"added_to_archive": "Додано до архіву",
|
||||||
"added_to_favorites": "Додано до обраного",
|
"added_to_favorites": "Додано до обраного",
|
||||||
|
|
@ -1038,6 +1039,7 @@
|
||||||
"exif_bottom_sheet_description_error": "Помилка під час оновлення опису",
|
"exif_bottom_sheet_description_error": "Помилка під час оновлення опису",
|
||||||
"exif_bottom_sheet_details": "ПОДРОБИЦІ",
|
"exif_bottom_sheet_details": "ПОДРОБИЦІ",
|
||||||
"exif_bottom_sheet_location": "МІСЦЕ",
|
"exif_bottom_sheet_location": "МІСЦЕ",
|
||||||
|
"exif_bottom_sheet_no_description": "Без опису",
|
||||||
"exif_bottom_sheet_people": "ЛЮДИ",
|
"exif_bottom_sheet_people": "ЛЮДИ",
|
||||||
"exif_bottom_sheet_person_add_person": "Додати ім'я",
|
"exif_bottom_sheet_person_add_person": "Додати ім'я",
|
||||||
"exit_slideshow": "Вийти зі слайд-шоу",
|
"exit_slideshow": "Вийти зі слайд-шоу",
|
||||||
|
|
@ -1113,7 +1115,7 @@
|
||||||
"haptic_feedback_title": "Тактильна віддача",
|
"haptic_feedback_title": "Тактильна віддача",
|
||||||
"has_quota": "Квота",
|
"has_quota": "Квота",
|
||||||
"hash_asset": "Гешувати файл",
|
"hash_asset": "Гешувати файл",
|
||||||
"hashed_assets": "Гешовані фото та відео",
|
"hashed_assets": "Хеши",
|
||||||
"hashing": "Хешування",
|
"hashing": "Хешування",
|
||||||
"header_settings_add_header_tip": "Додати заголовок",
|
"header_settings_add_header_tip": "Додати заголовок",
|
||||||
"header_settings_field_validator_msg": "Значення не може бути порожнім",
|
"header_settings_field_validator_msg": "Значення не може бути порожнім",
|
||||||
|
|
|
||||||
File diff suppressed because it is too large
Load diff
|
|
@ -33,6 +33,7 @@
|
||||||
"add_to_albums": "添加到相册",
|
"add_to_albums": "添加到相册",
|
||||||
"add_to_albums_count": "添加到相册({count}个)",
|
"add_to_albums_count": "添加到相册({count}个)",
|
||||||
"add_to_shared_album": "添加到共享相册",
|
"add_to_shared_album": "添加到共享相册",
|
||||||
|
"add_upload_to_stack": "上传项目至堆叠",
|
||||||
"add_url": "添加 URL",
|
"add_url": "添加 URL",
|
||||||
"added_to_archive": "添加到归档",
|
"added_to_archive": "添加到归档",
|
||||||
"added_to_favorites": "添加到收藏",
|
"added_to_favorites": "添加到收藏",
|
||||||
|
|
@ -465,7 +466,7 @@
|
||||||
"api_key_description": "该应用密钥只会显示一次。请确保在关闭窗口前复制下来。",
|
"api_key_description": "该应用密钥只会显示一次。请确保在关闭窗口前复制下来。",
|
||||||
"api_key_empty": "API 密钥名称不可为空",
|
"api_key_empty": "API 密钥名称不可为空",
|
||||||
"api_keys": "API 密钥",
|
"api_keys": "API 密钥",
|
||||||
"app_bar_signout_dialog_content": "是否确定退出登录?",
|
"app_bar_signout_dialog_content": "您确定要退出吗?",
|
||||||
"app_bar_signout_dialog_ok": "是",
|
"app_bar_signout_dialog_ok": "是",
|
||||||
"app_bar_signout_dialog_title": "退出登录",
|
"app_bar_signout_dialog_title": "退出登录",
|
||||||
"app_settings": "应用设置",
|
"app_settings": "应用设置",
|
||||||
|
|
@ -1375,7 +1376,7 @@
|
||||||
"new_person": "新人物",
|
"new_person": "新人物",
|
||||||
"new_pin_code": "新的PIN码",
|
"new_pin_code": "新的PIN码",
|
||||||
"new_pin_code_subtitle": "这是您第一次访问此锁定文件夹。创建一个PIN码以安全访问此页面",
|
"new_pin_code_subtitle": "这是您第一次访问此锁定文件夹。创建一个PIN码以安全访问此页面",
|
||||||
"new_timeline": "新建时间轴",
|
"new_timeline": "切换到新版时间线",
|
||||||
"new_user_created": "已创建新用户",
|
"new_user_created": "已创建新用户",
|
||||||
"new_version_available": "有新版本发布啦",
|
"new_version_available": "有新版本发布啦",
|
||||||
"newest_first": "最新优先",
|
"newest_first": "最新优先",
|
||||||
|
|
|
||||||
|
|
@ -70,7 +70,8 @@ RUN if [ "$DEVICE" = "rocm" ]; then \
|
||||||
|
|
||||||
FROM python:3.11-slim-bookworm@sha256:873f91540d53b36327ed4fb018c9669107a4e2a676719720edb4209c4b15d029 AS prod-cpu
|
FROM python:3.11-slim-bookworm@sha256:873f91540d53b36327ed4fb018c9669107a4e2a676719720edb4209c4b15d029 AS prod-cpu
|
||||||
|
|
||||||
ENV LD_PRELOAD=/usr/lib/libmimalloc.so.2
|
ENV LD_PRELOAD=/usr/lib/libmimalloc.so.2 \
|
||||||
|
MACHINE_LEARNING_MODEL_ARENA=false
|
||||||
|
|
||||||
FROM python:3.11-slim-bookworm@sha256:873f91540d53b36327ed4fb018c9669107a4e2a676719720edb4209c4b15d029 AS prod-openvino
|
FROM python:3.11-slim-bookworm@sha256:873f91540d53b36327ed4fb018c9669107a4e2a676719720edb4209c4b15d029 AS prod-openvino
|
||||||
|
|
||||||
|
|
@ -88,7 +89,8 @@ RUN apt-get update && \
|
||||||
|
|
||||||
FROM nvidia/cuda:12.2.2-runtime-ubuntu22.04@sha256:94c1577b2cd9dd6c0312dc04dff9cb2fdce2b268018abc3d7c2dbcacf1155000 AS prod-cuda
|
FROM nvidia/cuda:12.2.2-runtime-ubuntu22.04@sha256:94c1577b2cd9dd6c0312dc04dff9cb2fdce2b268018abc3d7c2dbcacf1155000 AS prod-cuda
|
||||||
|
|
||||||
ENV LD_PRELOAD=/usr/lib/libmimalloc.so.2
|
ENV LD_PRELOAD=/usr/lib/libmimalloc.so.2 \
|
||||||
|
MACHINE_LEARNING_MODEL_ARENA=false
|
||||||
|
|
||||||
RUN apt-get update && \
|
RUN apt-get update && \
|
||||||
apt-get install --no-install-recommends -yqq libcudnn9-cuda-12 && \
|
apt-get install --no-install-recommends -yqq libcudnn9-cuda-12 && \
|
||||||
|
|
@ -104,7 +106,8 @@ FROM rocm/dev-ubuntu-22.04:6.4.3-complete@sha256:1f7e92ca7e3a3785680473329ed1091
|
||||||
FROM prod-cpu AS prod-armnn
|
FROM prod-cpu AS prod-armnn
|
||||||
|
|
||||||
ENV LD_LIBRARY_PATH=/opt/armnn \
|
ENV LD_LIBRARY_PATH=/opt/armnn \
|
||||||
LD_PRELOAD=/usr/lib/libmimalloc.so.2
|
LD_PRELOAD=/usr/lib/libmimalloc.so.2 \
|
||||||
|
MACHINE_LEARNING_MODEL_ARENA=false
|
||||||
|
|
||||||
RUN apt-get update && apt-get install -y --no-install-recommends ocl-icd-libopencl1 mesa-opencl-icd libgomp1 && \
|
RUN apt-get update && apt-get install -y --no-install-recommends ocl-icd-libopencl1 mesa-opencl-icd libgomp1 && \
|
||||||
rm -rf /var/lib/apt/lists/* && \
|
rm -rf /var/lib/apt/lists/* && \
|
||||||
|
|
@ -127,7 +130,8 @@ FROM prod-cpu AS prod-rknn
|
||||||
# renovate: datasource=github-tags depName=airockchip/rknn-toolkit2
|
# renovate: datasource=github-tags depName=airockchip/rknn-toolkit2
|
||||||
ARG RKNN_TOOLKIT_VERSION="v2.3.0"
|
ARG RKNN_TOOLKIT_VERSION="v2.3.0"
|
||||||
|
|
||||||
ENV LD_PRELOAD=/usr/lib/libmimalloc.so.2
|
ENV LD_PRELOAD=/usr/lib/libmimalloc.so.2 \
|
||||||
|
MACHINE_LEARNING_MODEL_ARENA=false
|
||||||
|
|
||||||
ADD --checksum=sha256:73993ed4b440460825f21611731564503cc1d5a0c123746477da6cd574f34885 "https://github.com/airockchip/rknn-toolkit2/raw/refs/tags/${RKNN_TOOLKIT_VERSION}/rknpu2/runtime/Linux/librknn_api/aarch64/librknnrt.so" /usr/lib/
|
ADD --checksum=sha256:73993ed4b440460825f21611731564503cc1d5a0c123746477da6cd574f34885 "https://github.com/airockchip/rknn-toolkit2/raw/refs/tags/${RKNN_TOOLKIT_VERSION}/rknpu2/runtime/Linux/librknn_api/aarch64/librknnrt.so" /usr/lib/
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -61,6 +61,7 @@ class Settings(BaseSettings):
|
||||||
request_threads: int = os.cpu_count() or 4
|
request_threads: int = os.cpu_count() or 4
|
||||||
model_inter_op_threads: int = 0
|
model_inter_op_threads: int = 0
|
||||||
model_intra_op_threads: int = 0
|
model_intra_op_threads: int = 0
|
||||||
|
model_arena: bool = True
|
||||||
ann: bool = True
|
ann: bool = True
|
||||||
ann_fp16_turbo: bool = False
|
ann_fp16_turbo: bool = False
|
||||||
ann_tuning_level: int = 2
|
ann_tuning_level: int = 2
|
||||||
|
|
|
||||||
|
|
@ -79,6 +79,7 @@ SUPPORTED_PROVIDERS = [
|
||||||
"CUDAExecutionProvider",
|
"CUDAExecutionProvider",
|
||||||
"ROCMExecutionProvider",
|
"ROCMExecutionProvider",
|
||||||
"OpenVINOExecutionProvider",
|
"OpenVINOExecutionProvider",
|
||||||
|
"CoreMLExecutionProvider",
|
||||||
"CPUExecutionProvider",
|
"CPUExecutionProvider",
|
||||||
]
|
]
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -96,6 +96,14 @@ class OrtSession:
|
||||||
"precision": "FP32",
|
"precision": "FP32",
|
||||||
"cache_dir": (self.model_path.parent / "openvino").as_posix(),
|
"cache_dir": (self.model_path.parent / "openvino").as_posix(),
|
||||||
}
|
}
|
||||||
|
case "CoreMLExecutionProvider":
|
||||||
|
options = {
|
||||||
|
"ModelFormat": "MLProgram",
|
||||||
|
"MLComputeUnits": "ALL",
|
||||||
|
"SpecializationStrategy": "FastPrediction",
|
||||||
|
"AllowLowPrecisionAccumulationOnGPU": "1",
|
||||||
|
"ModelCacheDirectory": (self.model_path.parent / "coreml").as_posix(),
|
||||||
|
}
|
||||||
case _:
|
case _:
|
||||||
options = {}
|
options = {}
|
||||||
provider_options.append(options)
|
provider_options.append(options)
|
||||||
|
|
@ -115,7 +123,7 @@ class OrtSession:
|
||||||
@property
|
@property
|
||||||
def _sess_options_default(self) -> ort.SessionOptions:
|
def _sess_options_default(self) -> ort.SessionOptions:
|
||||||
sess_options = ort.SessionOptions()
|
sess_options = ort.SessionOptions()
|
||||||
sess_options.enable_cpu_mem_arena = False
|
sess_options.enable_cpu_mem_arena = settings.model_arena
|
||||||
|
|
||||||
# avoid thread contention between models
|
# avoid thread contention between models
|
||||||
if settings.model_inter_op_threads > 0:
|
if settings.model_inter_op_threads > 0:
|
||||||
|
|
|
||||||
|
|
@ -1,6 +1,6 @@
|
||||||
[project]
|
[project]
|
||||||
name = "immich-ml"
|
name = "immich-ml"
|
||||||
version = "2.0.1"
|
version = "2.1.0"
|
||||||
description = ""
|
description = ""
|
||||||
authors = [{ name = "Hau Tran", email = "alex.tran1502@gmail.com" }]
|
authors = [{ name = "Hau Tran", email = "alex.tran1502@gmail.com" }]
|
||||||
requires-python = ">=3.10,<4.0"
|
requires-python = ">=3.10,<4.0"
|
||||||
|
|
|
||||||
|
|
@ -180,6 +180,7 @@ class TestOrtSession:
|
||||||
CUDA_EP_OUT_OF_ORDER = ["CPUExecutionProvider", "CUDAExecutionProvider"]
|
CUDA_EP_OUT_OF_ORDER = ["CPUExecutionProvider", "CUDAExecutionProvider"]
|
||||||
TRT_EP = ["TensorrtExecutionProvider", "CUDAExecutionProvider", "CPUExecutionProvider"]
|
TRT_EP = ["TensorrtExecutionProvider", "CUDAExecutionProvider", "CPUExecutionProvider"]
|
||||||
ROCM_EP = ["ROCMExecutionProvider", "CPUExecutionProvider"]
|
ROCM_EP = ["ROCMExecutionProvider", "CPUExecutionProvider"]
|
||||||
|
COREML_EP = ["CoreMLExecutionProvider", "CPUExecutionProvider"]
|
||||||
|
|
||||||
@pytest.mark.providers(CPU_EP)
|
@pytest.mark.providers(CPU_EP)
|
||||||
def test_sets_cpu_provider(self, providers: list[str]) -> None:
|
def test_sets_cpu_provider(self, providers: list[str]) -> None:
|
||||||
|
|
@ -225,6 +226,12 @@ class TestOrtSession:
|
||||||
|
|
||||||
assert session.providers == self.ROCM_EP
|
assert session.providers == self.ROCM_EP
|
||||||
|
|
||||||
|
@pytest.mark.providers(COREML_EP)
|
||||||
|
def test_uses_coreml(self, providers: list[str]) -> None:
|
||||||
|
session = OrtSession("ViT-B-32__openai")
|
||||||
|
|
||||||
|
assert session.providers == self.COREML_EP
|
||||||
|
|
||||||
def test_sets_provider_kwarg(self) -> None:
|
def test_sets_provider_kwarg(self) -> None:
|
||||||
providers = ["CUDAExecutionProvider"]
|
providers = ["CUDAExecutionProvider"]
|
||||||
session = OrtSession("ViT-B-32__openai", providers=providers)
|
session = OrtSession("ViT-B-32__openai", providers=providers)
|
||||||
|
|
@ -284,7 +291,6 @@ class TestOrtSession:
|
||||||
assert session.sess_options.execution_mode == ort.ExecutionMode.ORT_SEQUENTIAL
|
assert session.sess_options.execution_mode == ort.ExecutionMode.ORT_SEQUENTIAL
|
||||||
assert session.sess_options.inter_op_num_threads == 1
|
assert session.sess_options.inter_op_num_threads == 1
|
||||||
assert session.sess_options.intra_op_num_threads == 2
|
assert session.sess_options.intra_op_num_threads == 2
|
||||||
assert session.sess_options.enable_cpu_mem_arena is False
|
|
||||||
|
|
||||||
def test_sets_default_sess_options_does_not_set_threads_if_non_cpu_and_default_threads(self) -> None:
|
def test_sets_default_sess_options_does_not_set_threads_if_non_cpu_and_default_threads(self) -> None:
|
||||||
session = OrtSession("ViT-B-32__openai", providers=["CUDAExecutionProvider", "CPUExecutionProvider"])
|
session = OrtSession("ViT-B-32__openai", providers=["CUDAExecutionProvider", "CPUExecutionProvider"])
|
||||||
|
|
@ -302,6 +308,26 @@ class TestOrtSession:
|
||||||
assert session.sess_options.inter_op_num_threads == 2
|
assert session.sess_options.inter_op_num_threads == 2
|
||||||
assert session.sess_options.intra_op_num_threads == 4
|
assert session.sess_options.intra_op_num_threads == 4
|
||||||
|
|
||||||
|
def test_uses_arena_if_enabled(self, mocker: MockerFixture) -> None:
|
||||||
|
mock_settings = mocker.patch("immich_ml.sessions.ort.settings", autospec=True)
|
||||||
|
mock_settings.model_inter_op_threads = 0
|
||||||
|
mock_settings.model_intra_op_threads = 0
|
||||||
|
mock_settings.model_arena = True
|
||||||
|
|
||||||
|
session = OrtSession("ViT-B-32__openai", providers=["CPUExecutionProvider"])
|
||||||
|
|
||||||
|
assert session.sess_options.enable_cpu_mem_arena
|
||||||
|
|
||||||
|
def test_does_not_use_arena_if_disabled(self, mocker: MockerFixture) -> None:
|
||||||
|
mock_settings = mocker.patch("immich_ml.sessions.ort.settings", autospec=True)
|
||||||
|
mock_settings.model_inter_op_threads = 0
|
||||||
|
mock_settings.model_intra_op_threads = 0
|
||||||
|
mock_settings.model_arena = False
|
||||||
|
|
||||||
|
session = OrtSession("ViT-B-32__openai", providers=["CPUExecutionProvider"])
|
||||||
|
|
||||||
|
assert not session.sess_options.enable_cpu_mem_arena
|
||||||
|
|
||||||
def test_sets_sess_options_kwarg(self) -> None:
|
def test_sets_sess_options_kwarg(self) -> None:
|
||||||
sess_options = ort.SessionOptions()
|
sess_options = ort.SessionOptions()
|
||||||
session = OrtSession(
|
session = OrtSession(
|
||||||
|
|
|
||||||
|
|
@ -1,7 +1,7 @@
|
||||||
[tools]
|
[tools]
|
||||||
node = "22.20.0"
|
node = "22.20.0"
|
||||||
flutter = "3.35.5"
|
flutter = "3.35.5"
|
||||||
pnpm = "10.18.0"
|
pnpm = "10.18.1"
|
||||||
terragrunt = "0.58.12"
|
terragrunt = "0.58.12"
|
||||||
opentofu = "1.7.1"
|
opentofu = "1.7.1"
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -35,8 +35,8 @@ platform :android do
|
||||||
task: 'bundle',
|
task: 'bundle',
|
||||||
build_type: 'Release',
|
build_type: 'Release',
|
||||||
properties: {
|
properties: {
|
||||||
"android.injected.version.code" => 3021,
|
"android.injected.version.code" => 3022,
|
||||||
"android.injected.version.name" => "2.0.1",
|
"android.injected.version.name" => "2.1.0",
|
||||||
}
|
}
|
||||||
)
|
)
|
||||||
upload_to_play_store(skip_upload_apk: true, skip_upload_images: true, skip_upload_screenshots: true, aab: '../build/app/outputs/bundle/release/app-release.aab')
|
upload_to_play_store(skip_upload_apk: true, skip_upload_images: true, skip_upload_screenshots: true, aab: '../build/app/outputs/bundle/release/app-release.aab')
|
||||||
|
|
|
||||||
|
|
@ -131,6 +131,13 @@
|
||||||
/* End PBXFileSystemSynchronizedBuildFileExceptionSet section */
|
/* End PBXFileSystemSynchronizedBuildFileExceptionSet section */
|
||||||
|
|
||||||
/* Begin PBXFileSystemSynchronizedRootGroup section */
|
/* Begin PBXFileSystemSynchronizedRootGroup section */
|
||||||
|
B231F52D2E93A44A00BC45D1 /* Core */ = {
|
||||||
|
isa = PBXFileSystemSynchronizedRootGroup;
|
||||||
|
exceptions = (
|
||||||
|
);
|
||||||
|
path = Core;
|
||||||
|
sourceTree = "<group>";
|
||||||
|
};
|
||||||
B2CF7F8C2DDE4EBB00744BF6 /* Sync */ = {
|
B2CF7F8C2DDE4EBB00744BF6 /* Sync */ = {
|
||||||
isa = PBXFileSystemSynchronizedRootGroup;
|
isa = PBXFileSystemSynchronizedRootGroup;
|
||||||
exceptions = (
|
exceptions = (
|
||||||
|
|
@ -247,6 +254,7 @@
|
||||||
97C146F01CF9000F007C117D /* Runner */ = {
|
97C146F01CF9000F007C117D /* Runner */ = {
|
||||||
isa = PBXGroup;
|
isa = PBXGroup;
|
||||||
children = (
|
children = (
|
||||||
|
B231F52D2E93A44A00BC45D1 /* Core */,
|
||||||
B25D37792E72CA15008B6CA7 /* Connectivity */,
|
B25D37792E72CA15008B6CA7 /* Connectivity */,
|
||||||
B21E34A62E5AF9760031FDB9 /* Background */,
|
B21E34A62E5AF9760031FDB9 /* Background */,
|
||||||
B2CF7F8C2DDE4EBB00744BF6 /* Sync */,
|
B2CF7F8C2DDE4EBB00744BF6 /* Sync */,
|
||||||
|
|
@ -331,6 +339,7 @@
|
||||||
F0B57D482DF764BE00DC5BCC /* PBXTargetDependency */,
|
F0B57D482DF764BE00DC5BCC /* PBXTargetDependency */,
|
||||||
);
|
);
|
||||||
fileSystemSynchronizedGroups = (
|
fileSystemSynchronizedGroups = (
|
||||||
|
B231F52D2E93A44A00BC45D1 /* Core */,
|
||||||
B2CF7F8C2DDE4EBB00744BF6 /* Sync */,
|
B2CF7F8C2DDE4EBB00744BF6 /* Sync */,
|
||||||
);
|
);
|
||||||
name = Runner;
|
name = Runner;
|
||||||
|
|
@ -705,7 +714,7 @@
|
||||||
CODE_SIGN_ENTITLEMENTS = Runner/RunnerProfile.entitlements;
|
CODE_SIGN_ENTITLEMENTS = Runner/RunnerProfile.entitlements;
|
||||||
CODE_SIGN_IDENTITY = "Apple Development";
|
CODE_SIGN_IDENTITY = "Apple Development";
|
||||||
CODE_SIGN_STYLE = Automatic;
|
CODE_SIGN_STYLE = Automatic;
|
||||||
CURRENT_PROJECT_VERSION = 230;
|
CURRENT_PROJECT_VERSION = 231;
|
||||||
CUSTOM_GROUP_ID = group.app.immich.share;
|
CUSTOM_GROUP_ID = group.app.immich.share;
|
||||||
DEVELOPMENT_TEAM = 2F67MQ8R79;
|
DEVELOPMENT_TEAM = 2F67MQ8R79;
|
||||||
ENABLE_BITCODE = NO;
|
ENABLE_BITCODE = NO;
|
||||||
|
|
@ -849,7 +858,7 @@
|
||||||
CODE_SIGN_ENTITLEMENTS = Runner/Runner.entitlements;
|
CODE_SIGN_ENTITLEMENTS = Runner/Runner.entitlements;
|
||||||
CODE_SIGN_IDENTITY = "Apple Development";
|
CODE_SIGN_IDENTITY = "Apple Development";
|
||||||
CODE_SIGN_STYLE = Automatic;
|
CODE_SIGN_STYLE = Automatic;
|
||||||
CURRENT_PROJECT_VERSION = 230;
|
CURRENT_PROJECT_VERSION = 231;
|
||||||
CUSTOM_GROUP_ID = group.app.immich.share;
|
CUSTOM_GROUP_ID = group.app.immich.share;
|
||||||
DEVELOPMENT_TEAM = 2F67MQ8R79;
|
DEVELOPMENT_TEAM = 2F67MQ8R79;
|
||||||
ENABLE_BITCODE = NO;
|
ENABLE_BITCODE = NO;
|
||||||
|
|
@ -879,7 +888,7 @@
|
||||||
CODE_SIGN_ENTITLEMENTS = Runner/Runner.entitlements;
|
CODE_SIGN_ENTITLEMENTS = Runner/Runner.entitlements;
|
||||||
CODE_SIGN_IDENTITY = "Apple Development";
|
CODE_SIGN_IDENTITY = "Apple Development";
|
||||||
CODE_SIGN_STYLE = Automatic;
|
CODE_SIGN_STYLE = Automatic;
|
||||||
CURRENT_PROJECT_VERSION = 230;
|
CURRENT_PROJECT_VERSION = 231;
|
||||||
CUSTOM_GROUP_ID = group.app.immich.share;
|
CUSTOM_GROUP_ID = group.app.immich.share;
|
||||||
DEVELOPMENT_TEAM = 2F67MQ8R79;
|
DEVELOPMENT_TEAM = 2F67MQ8R79;
|
||||||
ENABLE_BITCODE = NO;
|
ENABLE_BITCODE = NO;
|
||||||
|
|
@ -913,7 +922,7 @@
|
||||||
CODE_SIGN_ENTITLEMENTS = WidgetExtension/WidgetExtension.entitlements;
|
CODE_SIGN_ENTITLEMENTS = WidgetExtension/WidgetExtension.entitlements;
|
||||||
CODE_SIGN_IDENTITY = "Apple Development";
|
CODE_SIGN_IDENTITY = "Apple Development";
|
||||||
CODE_SIGN_STYLE = Automatic;
|
CODE_SIGN_STYLE = Automatic;
|
||||||
CURRENT_PROJECT_VERSION = 230;
|
CURRENT_PROJECT_VERSION = 231;
|
||||||
DEVELOPMENT_TEAM = 2F67MQ8R79;
|
DEVELOPMENT_TEAM = 2F67MQ8R79;
|
||||||
ENABLE_USER_SCRIPT_SANDBOXING = YES;
|
ENABLE_USER_SCRIPT_SANDBOXING = YES;
|
||||||
GCC_C_LANGUAGE_STANDARD = gnu17;
|
GCC_C_LANGUAGE_STANDARD = gnu17;
|
||||||
|
|
@ -956,7 +965,7 @@
|
||||||
CODE_SIGN_ENTITLEMENTS = WidgetExtension/WidgetExtension.entitlements;
|
CODE_SIGN_ENTITLEMENTS = WidgetExtension/WidgetExtension.entitlements;
|
||||||
CODE_SIGN_IDENTITY = "Apple Development";
|
CODE_SIGN_IDENTITY = "Apple Development";
|
||||||
CODE_SIGN_STYLE = Automatic;
|
CODE_SIGN_STYLE = Automatic;
|
||||||
CURRENT_PROJECT_VERSION = 230;
|
CURRENT_PROJECT_VERSION = 231;
|
||||||
DEVELOPMENT_TEAM = 2F67MQ8R79;
|
DEVELOPMENT_TEAM = 2F67MQ8R79;
|
||||||
ENABLE_USER_SCRIPT_SANDBOXING = YES;
|
ENABLE_USER_SCRIPT_SANDBOXING = YES;
|
||||||
GCC_C_LANGUAGE_STANDARD = gnu17;
|
GCC_C_LANGUAGE_STANDARD = gnu17;
|
||||||
|
|
@ -996,7 +1005,7 @@
|
||||||
CODE_SIGN_ENTITLEMENTS = WidgetExtension/WidgetExtension.entitlements;
|
CODE_SIGN_ENTITLEMENTS = WidgetExtension/WidgetExtension.entitlements;
|
||||||
CODE_SIGN_IDENTITY = "Apple Development";
|
CODE_SIGN_IDENTITY = "Apple Development";
|
||||||
CODE_SIGN_STYLE = Automatic;
|
CODE_SIGN_STYLE = Automatic;
|
||||||
CURRENT_PROJECT_VERSION = 230;
|
CURRENT_PROJECT_VERSION = 231;
|
||||||
DEVELOPMENT_TEAM = 2F67MQ8R79;
|
DEVELOPMENT_TEAM = 2F67MQ8R79;
|
||||||
ENABLE_USER_SCRIPT_SANDBOXING = YES;
|
ENABLE_USER_SCRIPT_SANDBOXING = YES;
|
||||||
GCC_C_LANGUAGE_STANDARD = gnu17;
|
GCC_C_LANGUAGE_STANDARD = gnu17;
|
||||||
|
|
@ -1035,7 +1044,7 @@
|
||||||
CODE_SIGN_ENTITLEMENTS = ShareExtension/ShareExtension.entitlements;
|
CODE_SIGN_ENTITLEMENTS = ShareExtension/ShareExtension.entitlements;
|
||||||
CODE_SIGN_IDENTITY = "Apple Development";
|
CODE_SIGN_IDENTITY = "Apple Development";
|
||||||
CODE_SIGN_STYLE = Automatic;
|
CODE_SIGN_STYLE = Automatic;
|
||||||
CURRENT_PROJECT_VERSION = 230;
|
CURRENT_PROJECT_VERSION = 231;
|
||||||
CUSTOM_GROUP_ID = group.app.immich.share;
|
CUSTOM_GROUP_ID = group.app.immich.share;
|
||||||
DEVELOPMENT_TEAM = 2F67MQ8R79;
|
DEVELOPMENT_TEAM = 2F67MQ8R79;
|
||||||
ENABLE_USER_SCRIPT_SANDBOXING = YES;
|
ENABLE_USER_SCRIPT_SANDBOXING = YES;
|
||||||
|
|
@ -1079,7 +1088,7 @@
|
||||||
CODE_SIGN_ENTITLEMENTS = ShareExtension/ShareExtension.entitlements;
|
CODE_SIGN_ENTITLEMENTS = ShareExtension/ShareExtension.entitlements;
|
||||||
CODE_SIGN_IDENTITY = "Apple Development";
|
CODE_SIGN_IDENTITY = "Apple Development";
|
||||||
CODE_SIGN_STYLE = Automatic;
|
CODE_SIGN_STYLE = Automatic;
|
||||||
CURRENT_PROJECT_VERSION = 230;
|
CURRENT_PROJECT_VERSION = 231;
|
||||||
CUSTOM_GROUP_ID = group.app.immich.share;
|
CUSTOM_GROUP_ID = group.app.immich.share;
|
||||||
DEVELOPMENT_TEAM = 2F67MQ8R79;
|
DEVELOPMENT_TEAM = 2F67MQ8R79;
|
||||||
ENABLE_USER_SCRIPT_SANDBOXING = YES;
|
ENABLE_USER_SCRIPT_SANDBOXING = YES;
|
||||||
|
|
@ -1120,7 +1129,7 @@
|
||||||
CODE_SIGN_ENTITLEMENTS = ShareExtension/ShareExtension.entitlements;
|
CODE_SIGN_ENTITLEMENTS = ShareExtension/ShareExtension.entitlements;
|
||||||
CODE_SIGN_IDENTITY = "Apple Development";
|
CODE_SIGN_IDENTITY = "Apple Development";
|
||||||
CODE_SIGN_STYLE = Automatic;
|
CODE_SIGN_STYLE = Automatic;
|
||||||
CURRENT_PROJECT_VERSION = 230;
|
CURRENT_PROJECT_VERSION = 231;
|
||||||
CUSTOM_GROUP_ID = group.app.immich.share;
|
CUSTOM_GROUP_ID = group.app.immich.share;
|
||||||
DEVELOPMENT_TEAM = 2F67MQ8R79;
|
DEVELOPMENT_TEAM = 2F67MQ8R79;
|
||||||
ENABLE_USER_SCRIPT_SANDBOXING = YES;
|
ENABLE_USER_SCRIPT_SANDBOXING = YES;
|
||||||
|
|
|
||||||
|
|
@ -20,7 +20,7 @@ import UIKit
|
||||||
|
|
||||||
GeneratedPluginRegistrant.register(with: self)
|
GeneratedPluginRegistrant.register(with: self)
|
||||||
let controller: FlutterViewController = window?.rootViewController as! FlutterViewController
|
let controller: FlutterViewController = window?.rootViewController as! FlutterViewController
|
||||||
AppDelegate.registerPlugins(binaryMessenger: controller.binaryMessenger)
|
AppDelegate.registerPlugins(with: controller.engine)
|
||||||
BackgroundServicePlugin.register(with: self.registrar(forPlugin: "BackgroundServicePlugin")!)
|
BackgroundServicePlugin.register(with: self.registrar(forPlugin: "BackgroundServicePlugin")!)
|
||||||
|
|
||||||
BackgroundServicePlugin.registerBackgroundProcessing()
|
BackgroundServicePlugin.registerBackgroundProcessing()
|
||||||
|
|
@ -51,9 +51,13 @@ import UIKit
|
||||||
return super.application(application, didFinishLaunchingWithOptions: launchOptions)
|
return super.application(application, didFinishLaunchingWithOptions: launchOptions)
|
||||||
}
|
}
|
||||||
|
|
||||||
public static func registerPlugins(binaryMessenger: FlutterBinaryMessenger) {
|
public static func registerPlugins(with engine: FlutterEngine) {
|
||||||
NativeSyncApiSetup.setUp(binaryMessenger: binaryMessenger, api: NativeSyncApiImpl())
|
NativeSyncApiImpl.register(with: engine.registrar(forPlugin: NativeSyncApiImpl.name)!)
|
||||||
ThumbnailApiSetup.setUp(binaryMessenger: binaryMessenger, api: ThumbnailApiImpl())
|
ThumbnailApiSetup.setUp(binaryMessenger: engine.binaryMessenger, api: ThumbnailApiImpl())
|
||||||
BackgroundWorkerFgHostApiSetup.setUp(binaryMessenger: binaryMessenger, api: BackgroundWorkerApiImpl())
|
BackgroundWorkerFgHostApiSetup.setUp(binaryMessenger: engine.binaryMessenger, api: BackgroundWorkerApiImpl())
|
||||||
|
}
|
||||||
|
|
||||||
|
public static func cancelPlugins(with engine: FlutterEngine) {
|
||||||
|
(engine.valuePublished(byPlugin: NativeSyncApiImpl.name) as? NativeSyncApiImpl)?.detachFromEngine()
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -95,7 +95,7 @@ class BackgroundWorker: BackgroundWorkerBgHostApi {
|
||||||
// Register plugins in the new engine
|
// Register plugins in the new engine
|
||||||
GeneratedPluginRegistrant.register(with: engine)
|
GeneratedPluginRegistrant.register(with: engine)
|
||||||
// Register custom plugins
|
// Register custom plugins
|
||||||
AppDelegate.registerPlugins(binaryMessenger: engine.binaryMessenger)
|
AppDelegate.registerPlugins(with: engine)
|
||||||
flutterApi = BackgroundWorkerFlutterApi(binaryMessenger: engine.binaryMessenger)
|
flutterApi = BackgroundWorkerFlutterApi(binaryMessenger: engine.binaryMessenger)
|
||||||
BackgroundWorkerBgHostApiSetup.setUp(binaryMessenger: engine.binaryMessenger, api: self)
|
BackgroundWorkerBgHostApiSetup.setUp(binaryMessenger: engine.binaryMessenger, api: self)
|
||||||
|
|
||||||
|
|
@ -168,6 +168,7 @@ class BackgroundWorker: BackgroundWorkerBgHostApi {
|
||||||
}
|
}
|
||||||
|
|
||||||
isComplete = true
|
isComplete = true
|
||||||
|
AppDelegate.cancelPlugins(with: engine)
|
||||||
engine.destroyContext()
|
engine.destroyContext()
|
||||||
flutterApi = nil
|
flutterApi = nil
|
||||||
completionHandler(success)
|
completionHandler(success)
|
||||||
|
|
|
||||||
17
mobile/ios/Runner/Core/ImmichPlugin.swift
Normal file
17
mobile/ios/Runner/Core/ImmichPlugin.swift
Normal file
|
|
@ -0,0 +1,17 @@
|
||||||
|
class ImmichPlugin: NSObject {
|
||||||
|
var detached: Bool
|
||||||
|
|
||||||
|
override init() {
|
||||||
|
detached = false
|
||||||
|
super.init()
|
||||||
|
}
|
||||||
|
|
||||||
|
func detachFromEngine() {
|
||||||
|
self.detached = true
|
||||||
|
}
|
||||||
|
|
||||||
|
func completeWhenActive<T>(for completion: @escaping (T) -> Void, with value: T) {
|
||||||
|
guard !self.detached else { return }
|
||||||
|
completion(value)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
@ -80,7 +80,7 @@
|
||||||
<key>CFBundlePackageType</key>
|
<key>CFBundlePackageType</key>
|
||||||
<string>APPL</string>
|
<string>APPL</string>
|
||||||
<key>CFBundleShortVersionString</key>
|
<key>CFBundleShortVersionString</key>
|
||||||
<string>2.0.1</string>
|
<string>2.1.0</string>
|
||||||
<key>CFBundleSignature</key>
|
<key>CFBundleSignature</key>
|
||||||
<string>????</string>
|
<string>????</string>
|
||||||
<key>CFBundleURLTypes</key>
|
<key>CFBundleURLTypes</key>
|
||||||
|
|
@ -107,7 +107,7 @@
|
||||||
</dict>
|
</dict>
|
||||||
</array>
|
</array>
|
||||||
<key>CFBundleVersion</key>
|
<key>CFBundleVersion</key>
|
||||||
<string>230</string>
|
<string>231</string>
|
||||||
<key>FLTEnableImpeller</key>
|
<key>FLTEnableImpeller</key>
|
||||||
<true/>
|
<true/>
|
||||||
<key>ITSAppUsesNonExemptEncryption</key>
|
<key>ITSAppUsesNonExemptEncryption</key>
|
||||||
|
|
|
||||||
|
|
@ -17,13 +17,25 @@ struct AssetWrapper: Hashable, Equatable {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
class NativeSyncApiImpl: NativeSyncApi {
|
class NativeSyncApiImpl: ImmichPlugin, NativeSyncApi, FlutterPlugin {
|
||||||
|
static let name = "NativeSyncApi"
|
||||||
|
|
||||||
|
static func register(with registrar: any FlutterPluginRegistrar) {
|
||||||
|
let instance = NativeSyncApiImpl()
|
||||||
|
NativeSyncApiSetup.setUp(binaryMessenger: registrar.messenger(), api: instance)
|
||||||
|
registrar.publish(instance)
|
||||||
|
}
|
||||||
|
|
||||||
|
func detachFromEngine(for registrar: any FlutterPluginRegistrar) {
|
||||||
|
super.detachFromEngine()
|
||||||
|
}
|
||||||
|
|
||||||
private let defaults: UserDefaults
|
private let defaults: UserDefaults
|
||||||
private let changeTokenKey = "immich:changeToken"
|
private let changeTokenKey = "immich:changeToken"
|
||||||
private let albumTypes: [PHAssetCollectionType] = [.album, .smartAlbum]
|
private let albumTypes: [PHAssetCollectionType] = [.album, .smartAlbum]
|
||||||
private let recoveredAlbumSubType = 1000000219
|
private let recoveredAlbumSubType = 1000000219
|
||||||
|
|
||||||
private var hashTask: Task<Void, Error>?
|
private var hashTask: Task<Void?, Error>?
|
||||||
private static let hashCancelledCode = "HASH_CANCELLED"
|
private static let hashCancelledCode = "HASH_CANCELLED"
|
||||||
private static let hashCancelled = Result<[HashResult], Error>.failure(PigeonError(code: hashCancelledCode, message: "Hashing cancelled", details: nil))
|
private static let hashCancelled = Result<[HashResult], Error>.failure(PigeonError(code: hashCancelledCode, message: "Hashing cancelled", details: nil))
|
||||||
|
|
||||||
|
|
@ -91,7 +103,9 @@ class NativeSyncApiImpl: NativeSyncApi {
|
||||||
let options = PHFetchOptions()
|
let options = PHFetchOptions()
|
||||||
options.sortDescriptors = [NSSortDescriptor(key: "modificationDate", ascending: false)]
|
options.sortDescriptors = [NSSortDescriptor(key: "modificationDate", ascending: false)]
|
||||||
options.includeHiddenAssets = false
|
options.includeHiddenAssets = false
|
||||||
let assets = PHAsset.fetchAssets(in: album, options: options)
|
|
||||||
|
let assets = getAssetsFromAlbum(in: album, options: options)
|
||||||
|
|
||||||
let isCloud = album.assetCollectionSubtype == .albumCloudShared || album.assetCollectionSubtype == .albumMyPhotoStream
|
let isCloud = album.assetCollectionSubtype == .albumCloudShared || album.assetCollectionSubtype == .albumMyPhotoStream
|
||||||
|
|
||||||
var domainAlbum = PlatformAlbum(
|
var domainAlbum = PlatformAlbum(
|
||||||
|
|
@ -189,7 +203,7 @@ class NativeSyncApiImpl: NativeSyncApi {
|
||||||
let options = PHFetchOptions()
|
let options = PHFetchOptions()
|
||||||
options.predicate = NSPredicate(format: "localIdentifier IN %@", assets.map(\.id))
|
options.predicate = NSPredicate(format: "localIdentifier IN %@", assets.map(\.id))
|
||||||
options.includeHiddenAssets = false
|
options.includeHiddenAssets = false
|
||||||
let result = PHAsset.fetchAssets(in: album, options: options)
|
let result = self.getAssetsFromAlbum(in: album, options: options)
|
||||||
result.enumerateObjects { (asset, _, _) in
|
result.enumerateObjects { (asset, _, _) in
|
||||||
albumAssets[asset.localIdentifier, default: []].append(album.localIdentifier)
|
albumAssets[asset.localIdentifier, default: []].append(album.localIdentifier)
|
||||||
}
|
}
|
||||||
|
|
@ -207,7 +221,7 @@ class NativeSyncApiImpl: NativeSyncApi {
|
||||||
var ids: [String] = []
|
var ids: [String] = []
|
||||||
let options = PHFetchOptions()
|
let options = PHFetchOptions()
|
||||||
options.includeHiddenAssets = false
|
options.includeHiddenAssets = false
|
||||||
let assets = PHAsset.fetchAssets(in: album, options: options)
|
let assets = getAssetsFromAlbum(in: album, options: options)
|
||||||
assets.enumerateObjects { (asset, _, _) in
|
assets.enumerateObjects { (asset, _, _) in
|
||||||
ids.append(asset.localIdentifier)
|
ids.append(asset.localIdentifier)
|
||||||
}
|
}
|
||||||
|
|
@ -224,7 +238,7 @@ class NativeSyncApiImpl: NativeSyncApi {
|
||||||
let options = PHFetchOptions()
|
let options = PHFetchOptions()
|
||||||
options.predicate = NSPredicate(format: "creationDate > %@ OR modificationDate > %@", date, date)
|
options.predicate = NSPredicate(format: "creationDate > %@ OR modificationDate > %@", date, date)
|
||||||
options.includeHiddenAssets = false
|
options.includeHiddenAssets = false
|
||||||
let assets = PHAsset.fetchAssets(in: album, options: options)
|
let assets = getAssetsFromAlbum(in: album, options: options)
|
||||||
return Int64(assets.count)
|
return Int64(assets.count)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -241,7 +255,7 @@ class NativeSyncApiImpl: NativeSyncApi {
|
||||||
options.predicate = NSPredicate(format: "creationDate > %@ OR modificationDate > %@", date, date)
|
options.predicate = NSPredicate(format: "creationDate > %@ OR modificationDate > %@", date, date)
|
||||||
}
|
}
|
||||||
|
|
||||||
let result = PHAsset.fetchAssets(in: album, options: options)
|
let result = getAssetsFromAlbum(in: album, options: options)
|
||||||
if(result.count == 0) {
|
if(result.count == 0) {
|
||||||
return []
|
return []
|
||||||
}
|
}
|
||||||
|
|
@ -272,7 +286,7 @@ class NativeSyncApiImpl: NativeSyncApi {
|
||||||
}
|
}
|
||||||
|
|
||||||
if Task.isCancelled {
|
if Task.isCancelled {
|
||||||
return completion(Self.hashCancelled)
|
return self?.completeWhenActive(for: completion, with: Self.hashCancelled)
|
||||||
}
|
}
|
||||||
|
|
||||||
await withTaskGroup(of: HashResult?.self) { taskGroup in
|
await withTaskGroup(of: HashResult?.self) { taskGroup in
|
||||||
|
|
@ -280,7 +294,7 @@ class NativeSyncApiImpl: NativeSyncApi {
|
||||||
results.reserveCapacity(assets.count)
|
results.reserveCapacity(assets.count)
|
||||||
for asset in assets {
|
for asset in assets {
|
||||||
if Task.isCancelled {
|
if Task.isCancelled {
|
||||||
return completion(Self.hashCancelled)
|
return self?.completeWhenActive(for: completion, with: Self.hashCancelled)
|
||||||
}
|
}
|
||||||
taskGroup.addTask {
|
taskGroup.addTask {
|
||||||
guard let self = self else { return nil }
|
guard let self = self else { return nil }
|
||||||
|
|
@ -290,7 +304,7 @@ class NativeSyncApiImpl: NativeSyncApi {
|
||||||
|
|
||||||
for await result in taskGroup {
|
for await result in taskGroup {
|
||||||
guard let result = result else {
|
guard let result = result else {
|
||||||
return completion(Self.hashCancelled)
|
return self?.completeWhenActive(for: completion, with: Self.hashCancelled)
|
||||||
}
|
}
|
||||||
results.append(result)
|
results.append(result)
|
||||||
}
|
}
|
||||||
|
|
@ -299,7 +313,7 @@ class NativeSyncApiImpl: NativeSyncApi {
|
||||||
results.append(HashResult(assetId: missing, error: "Asset not found in library", hash: nil))
|
results.append(HashResult(assetId: missing, error: "Asset not found in library", hash: nil))
|
||||||
}
|
}
|
||||||
|
|
||||||
completion(.success(results))
|
return self?.completeWhenActive(for: completion, with: .success(results))
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
@ -363,4 +377,13 @@ class NativeSyncApiImpl: NativeSyncApi {
|
||||||
PHAssetResourceManager.default().cancelDataRequest(requestId)
|
PHAssetResourceManager.default().cancelDataRequest(requestId)
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private func getAssetsFromAlbum(in album: PHAssetCollection, options: PHFetchOptions) -> PHFetchResult<PHAsset> {
|
||||||
|
// Ensure to actually getting all assets for the Recents album
|
||||||
|
if (album.assetCollectionSubtype == .smartAlbumUserLibrary) {
|
||||||
|
return PHAsset.fetchAssets(with: options)
|
||||||
|
} else {
|
||||||
|
return PHAsset.fetchAssets(in: album, options: options)
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -22,7 +22,7 @@ platform :ios do
|
||||||
path: "./Runner.xcodeproj",
|
path: "./Runner.xcodeproj",
|
||||||
)
|
)
|
||||||
increment_version_number(
|
increment_version_number(
|
||||||
version_number: "2.0.1"
|
version_number: "2.1.0"
|
||||||
)
|
)
|
||||||
increment_build_number(
|
increment_build_number(
|
||||||
build_number: latest_testflight_build_number + 1,
|
build_number: latest_testflight_build_number + 1,
|
||||||
|
|
|
||||||
|
|
@ -56,6 +56,8 @@ sealed class BaseAsset {
|
||||||
|
|
||||||
// Overridden in subclasses
|
// Overridden in subclasses
|
||||||
AssetState get storage;
|
AssetState get storage;
|
||||||
|
String? get localId;
|
||||||
|
String? get remoteId;
|
||||||
String get heroTag;
|
String get heroTag;
|
||||||
|
|
||||||
@override
|
@override
|
||||||
|
|
|
||||||
|
|
@ -2,12 +2,12 @@ part of 'base_asset.model.dart';
|
||||||
|
|
||||||
class LocalAsset extends BaseAsset {
|
class LocalAsset extends BaseAsset {
|
||||||
final String id;
|
final String id;
|
||||||
final String? remoteId;
|
final String? remoteAssetId;
|
||||||
final int orientation;
|
final int orientation;
|
||||||
|
|
||||||
const LocalAsset({
|
const LocalAsset({
|
||||||
required this.id,
|
required this.id,
|
||||||
this.remoteId,
|
String? remoteId,
|
||||||
required super.name,
|
required super.name,
|
||||||
super.checksum,
|
super.checksum,
|
||||||
required super.type,
|
required super.type,
|
||||||
|
|
@ -19,7 +19,13 @@ class LocalAsset extends BaseAsset {
|
||||||
super.isFavorite = false,
|
super.isFavorite = false,
|
||||||
super.livePhotoVideoId,
|
super.livePhotoVideoId,
|
||||||
this.orientation = 0,
|
this.orientation = 0,
|
||||||
});
|
}) : remoteAssetId = remoteId;
|
||||||
|
|
||||||
|
@override
|
||||||
|
String? get localId => id;
|
||||||
|
|
||||||
|
@override
|
||||||
|
String? get remoteId => remoteAssetId;
|
||||||
|
|
||||||
@override
|
@override
|
||||||
AssetState get storage => remoteId == null ? AssetState.local : AssetState.merged;
|
AssetState get storage => remoteId == null ? AssetState.local : AssetState.merged;
|
||||||
|
|
|
||||||
|
|
@ -5,7 +5,7 @@ enum AssetVisibility { timeline, hidden, archive, locked }
|
||||||
// Model for an asset stored in the server
|
// Model for an asset stored in the server
|
||||||
class RemoteAsset extends BaseAsset {
|
class RemoteAsset extends BaseAsset {
|
||||||
final String id;
|
final String id;
|
||||||
final String? localId;
|
final String? localAssetId;
|
||||||
final String? thumbHash;
|
final String? thumbHash;
|
||||||
final AssetVisibility visibility;
|
final AssetVisibility visibility;
|
||||||
final String ownerId;
|
final String ownerId;
|
||||||
|
|
@ -13,7 +13,7 @@ class RemoteAsset extends BaseAsset {
|
||||||
|
|
||||||
const RemoteAsset({
|
const RemoteAsset({
|
||||||
required this.id,
|
required this.id,
|
||||||
this.localId,
|
String? localId,
|
||||||
required super.name,
|
required super.name,
|
||||||
required this.ownerId,
|
required this.ownerId,
|
||||||
required super.checksum,
|
required super.checksum,
|
||||||
|
|
@ -28,7 +28,13 @@ class RemoteAsset extends BaseAsset {
|
||||||
this.visibility = AssetVisibility.timeline,
|
this.visibility = AssetVisibility.timeline,
|
||||||
super.livePhotoVideoId,
|
super.livePhotoVideoId,
|
||||||
this.stackId,
|
this.stackId,
|
||||||
});
|
}) : localAssetId = localId;
|
||||||
|
|
||||||
|
@override
|
||||||
|
String? get localId => localAssetId;
|
||||||
|
|
||||||
|
@override
|
||||||
|
String? get remoteId => id;
|
||||||
|
|
||||||
@override
|
@override
|
||||||
AssetState get storage => localId == null ? AssetState.remote : AssetState.merged;
|
AssetState get storage => localId == null ? AssetState.remote : AssetState.merged;
|
||||||
|
|
|
||||||
|
|
@ -6,6 +6,7 @@ enum Setting<T> {
|
||||||
showStorageIndicator<bool>(StoreKey.storageIndicator, true),
|
showStorageIndicator<bool>(StoreKey.storageIndicator, true),
|
||||||
loadOriginal<bool>(StoreKey.loadOriginal, false),
|
loadOriginal<bool>(StoreKey.loadOriginal, false),
|
||||||
loadOriginalVideo<bool>(StoreKey.loadOriginalVideo, false),
|
loadOriginalVideo<bool>(StoreKey.loadOriginalVideo, false),
|
||||||
|
autoPlayVideo<bool>(StoreKey.autoPlayVideo, true),
|
||||||
preferRemoteImage<bool>(StoreKey.preferRemoteImage, false),
|
preferRemoteImage<bool>(StoreKey.preferRemoteImage, false),
|
||||||
advancedTroubleshooting<bool>(StoreKey.advancedTroubleshooting, false),
|
advancedTroubleshooting<bool>(StoreKey.advancedTroubleshooting, false),
|
||||||
enableBackup<bool>(StoreKey.enableBackup, false);
|
enableBackup<bool>(StoreKey.enableBackup, false);
|
||||||
|
|
|
||||||
|
|
@ -70,6 +70,8 @@ enum StoreKey<T> {
|
||||||
// Read-only Mode settings
|
// Read-only Mode settings
|
||||||
readonlyModeEnabled<bool>._(138),
|
readonlyModeEnabled<bool>._(138),
|
||||||
|
|
||||||
|
autoPlayVideo<bool>._(139),
|
||||||
|
|
||||||
// Experimental stuff
|
// Experimental stuff
|
||||||
photoManagerCustomFilter<bool>._(1000),
|
photoManagerCustomFilter<bool>._(1000),
|
||||||
betaPromptShown<bool>._(1001),
|
betaPromptShown<bool>._(1001),
|
||||||
|
|
|
||||||
|
|
@ -192,6 +192,7 @@ class BackgroundWorkerBgService extends BackgroundWorkerFlutterApi {
|
||||||
_cancellationToken.cancel();
|
_cancellationToken.cancel();
|
||||||
_logger.info("Cleaning up background worker");
|
_logger.info("Cleaning up background worker");
|
||||||
final cleanupFutures = [
|
final cleanupFutures = [
|
||||||
|
nativeSyncApi?.cancelHashing(),
|
||||||
workerManager.dispose().catchError((_) async {
|
workerManager.dispose().catchError((_) async {
|
||||||
// Discard any errors on the dispose call
|
// Discard any errors on the dispose call
|
||||||
return;
|
return;
|
||||||
|
|
@ -201,7 +202,6 @@ class BackgroundWorkerBgService extends BackgroundWorkerFlutterApi {
|
||||||
_drift.close(),
|
_drift.close(),
|
||||||
_driftLogger.close(),
|
_driftLogger.close(),
|
||||||
backgroundSyncManager?.cancel(),
|
backgroundSyncManager?.cancel(),
|
||||||
nativeSyncApi?.cancelHashing(),
|
|
||||||
];
|
];
|
||||||
|
|
||||||
if (_isar.isOpen) {
|
if (_isar.isOpen) {
|
||||||
|
|
|
||||||
|
|
@ -120,6 +120,10 @@ class RemoteAlbumService {
|
||||||
return _repository.getSharedUsers(albumId);
|
return _repository.getSharedUsers(albumId);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Future<AlbumUserRole?> getUserRole(String albumId, String userId) {
|
||||||
|
return _repository.getUserRole(albumId, userId);
|
||||||
|
}
|
||||||
|
|
||||||
Future<List<RemoteAsset>> getAssets(String albumId) {
|
Future<List<RemoteAsset>> getAssets(String albumId) {
|
||||||
return _repository.getAssets(albumId);
|
return _repository.getAssets(albumId);
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -16,7 +16,24 @@ typedef TimelineAssetSource = Future<List<BaseAsset>> Function(int index, int co
|
||||||
|
|
||||||
typedef TimelineBucketSource = Stream<List<Bucket>> Function();
|
typedef TimelineBucketSource = Stream<List<Bucket>> Function();
|
||||||
|
|
||||||
typedef TimelineQuery = ({TimelineAssetSource assetSource, TimelineBucketSource bucketSource});
|
typedef TimelineQuery = ({TimelineAssetSource assetSource, TimelineBucketSource bucketSource, TimelineOrigin origin});
|
||||||
|
|
||||||
|
enum TimelineOrigin {
|
||||||
|
main,
|
||||||
|
localAlbum,
|
||||||
|
remoteAlbum,
|
||||||
|
remoteAssets,
|
||||||
|
favorite,
|
||||||
|
trash,
|
||||||
|
archive,
|
||||||
|
lockedFolder,
|
||||||
|
video,
|
||||||
|
place,
|
||||||
|
person,
|
||||||
|
map,
|
||||||
|
search,
|
||||||
|
deepLink,
|
||||||
|
}
|
||||||
|
|
||||||
class TimelineFactory {
|
class TimelineFactory {
|
||||||
final DriftTimelineRepository _timelineRepository;
|
final DriftTimelineRepository _timelineRepository;
|
||||||
|
|
@ -57,7 +74,8 @@ class TimelineFactory {
|
||||||
TimelineService person(String userId, String personId) =>
|
TimelineService person(String userId, String personId) =>
|
||||||
TimelineService(_timelineRepository.person(userId, personId, groupBy));
|
TimelineService(_timelineRepository.person(userId, personId, groupBy));
|
||||||
|
|
||||||
TimelineService fromAssets(List<BaseAsset> assets) => TimelineService(_timelineRepository.fromAssets(assets));
|
TimelineService fromAssets(List<BaseAsset> assets, TimelineOrigin type) =>
|
||||||
|
TimelineService(_timelineRepository.fromAssets(assets, type));
|
||||||
|
|
||||||
TimelineService map(String userId, LatLngBounds bounds) =>
|
TimelineService map(String userId, LatLngBounds bounds) =>
|
||||||
TimelineService(_timelineRepository.map(userId, bounds, groupBy));
|
TimelineService(_timelineRepository.map(userId, bounds, groupBy));
|
||||||
|
|
@ -66,6 +84,7 @@ class TimelineFactory {
|
||||||
class TimelineService {
|
class TimelineService {
|
||||||
final TimelineAssetSource _assetSource;
|
final TimelineAssetSource _assetSource;
|
||||||
final TimelineBucketSource _bucketSource;
|
final TimelineBucketSource _bucketSource;
|
||||||
|
final TimelineOrigin origin;
|
||||||
final AsyncMutex _mutex = AsyncMutex();
|
final AsyncMutex _mutex = AsyncMutex();
|
||||||
int _bufferOffset = 0;
|
int _bufferOffset = 0;
|
||||||
List<BaseAsset> _buffer = [];
|
List<BaseAsset> _buffer = [];
|
||||||
|
|
@ -74,11 +93,15 @@ class TimelineService {
|
||||||
int _totalAssets = 0;
|
int _totalAssets = 0;
|
||||||
int get totalAssets => _totalAssets;
|
int get totalAssets => _totalAssets;
|
||||||
|
|
||||||
TimelineService(TimelineQuery query) : this._(assetSource: query.assetSource, bucketSource: query.bucketSource);
|
TimelineService(TimelineQuery query)
|
||||||
|
: this._(assetSource: query.assetSource, bucketSource: query.bucketSource, origin: query.origin);
|
||||||
|
|
||||||
TimelineService._({required TimelineAssetSource assetSource, required TimelineBucketSource bucketSource})
|
TimelineService._({
|
||||||
: _assetSource = assetSource,
|
required TimelineAssetSource assetSource,
|
||||||
_bucketSource = bucketSource {
|
required TimelineBucketSource bucketSource,
|
||||||
|
required this.origin,
|
||||||
|
}) : _assetSource = assetSource,
|
||||||
|
_bucketSource = bucketSource {
|
||||||
_bucketSubscription = _bucketSource().listen((buckets) {
|
_bucketSubscription = _bucketSource().listen((buckets) {
|
||||||
_mutex.run(() async {
|
_mutex.run(() async {
|
||||||
final totalAssets = buckets.fold<int>(0, (acc, bucket) => acc + bucket.assetCount);
|
final totalAssets = buckets.fold<int>(0, (acc, bucket) => acc + bucket.assetCount);
|
||||||
|
|
|
||||||
|
|
@ -221,6 +221,15 @@ class DriftRemoteAlbumRepository extends DriftDatabaseRepository {
|
||||||
.get();
|
.get();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Future<AlbumUserRole?> getUserRole(String albumId, String userId) async {
|
||||||
|
final query = _db.remoteAlbumUserEntity.select()
|
||||||
|
..where((row) => row.albumId.equals(albumId) & row.userId.equals(userId))
|
||||||
|
..limit(1);
|
||||||
|
|
||||||
|
final result = await query.getSingleOrNull();
|
||||||
|
return result?.role;
|
||||||
|
}
|
||||||
|
|
||||||
Future<List<RemoteAsset>> getAssets(String albumId) {
|
Future<List<RemoteAsset>> getAssets(String albumId) {
|
||||||
final query = _db.remoteAlbumAssetEntity.select().join([
|
final query = _db.remoteAlbumAssetEntity.select().join([
|
||||||
innerJoin(_db.remoteAssetEntity, _db.remoteAssetEntity.id.equalsExp(_db.remoteAlbumAssetEntity.assetId)),
|
innerJoin(_db.remoteAssetEntity, _db.remoteAssetEntity.id.equalsExp(_db.remoteAlbumAssetEntity.assetId)),
|
||||||
|
|
|
||||||
|
|
@ -35,6 +35,7 @@ class DriftTimelineRepository extends DriftDatabaseRepository {
|
||||||
TimelineQuery main(List<String> userIds, GroupAssetsBy groupBy) => (
|
TimelineQuery main(List<String> userIds, GroupAssetsBy groupBy) => (
|
||||||
bucketSource: () => _watchMainBucket(userIds, groupBy: groupBy),
|
bucketSource: () => _watchMainBucket(userIds, groupBy: groupBy),
|
||||||
assetSource: (offset, count) => _getMainBucketAssets(userIds, offset: offset, count: count),
|
assetSource: (offset, count) => _getMainBucketAssets(userIds, offset: offset, count: count),
|
||||||
|
origin: TimelineOrigin.main,
|
||||||
);
|
);
|
||||||
|
|
||||||
Stream<List<Bucket>> _watchMainBucket(List<String> userIds, {GroupAssetsBy groupBy = GroupAssetsBy.day}) {
|
Stream<List<Bucket>> _watchMainBucket(List<String> userIds, {GroupAssetsBy groupBy = GroupAssetsBy.day}) {
|
||||||
|
|
@ -91,6 +92,7 @@ class DriftTimelineRepository extends DriftDatabaseRepository {
|
||||||
TimelineQuery localAlbum(String albumId, GroupAssetsBy groupBy) => (
|
TimelineQuery localAlbum(String albumId, GroupAssetsBy groupBy) => (
|
||||||
bucketSource: () => _watchLocalAlbumBucket(albumId, groupBy: groupBy),
|
bucketSource: () => _watchLocalAlbumBucket(albumId, groupBy: groupBy),
|
||||||
assetSource: (offset, count) => _getLocalAlbumBucketAssets(albumId, offset: offset, count: count),
|
assetSource: (offset, count) => _getLocalAlbumBucketAssets(albumId, offset: offset, count: count),
|
||||||
|
origin: TimelineOrigin.localAlbum,
|
||||||
);
|
);
|
||||||
|
|
||||||
Stream<List<Bucket>> _watchLocalAlbumBucket(String albumId, {GroupAssetsBy groupBy = GroupAssetsBy.day}) {
|
Stream<List<Bucket>> _watchLocalAlbumBucket(String albumId, {GroupAssetsBy groupBy = GroupAssetsBy.day}) {
|
||||||
|
|
@ -156,6 +158,7 @@ class DriftTimelineRepository extends DriftDatabaseRepository {
|
||||||
TimelineQuery remoteAlbum(String albumId, GroupAssetsBy groupBy) => (
|
TimelineQuery remoteAlbum(String albumId, GroupAssetsBy groupBy) => (
|
||||||
bucketSource: () => _watchRemoteAlbumBucket(albumId, groupBy: groupBy),
|
bucketSource: () => _watchRemoteAlbumBucket(albumId, groupBy: groupBy),
|
||||||
assetSource: (offset, count) => _getRemoteAlbumBucketAssets(albumId, offset: offset, count: count),
|
assetSource: (offset, count) => _getRemoteAlbumBucketAssets(albumId, offset: offset, count: count),
|
||||||
|
origin: TimelineOrigin.remoteAlbum,
|
||||||
);
|
);
|
||||||
|
|
||||||
Stream<List<Bucket>> _watchRemoteAlbumBucket(String albumId, {GroupAssetsBy groupBy = GroupAssetsBy.day}) {
|
Stream<List<Bucket>> _watchRemoteAlbumBucket(String albumId, {GroupAssetsBy groupBy = GroupAssetsBy.day}) {
|
||||||
|
|
@ -244,15 +247,17 @@ class DriftTimelineRepository extends DriftDatabaseRepository {
|
||||||
.get();
|
.get();
|
||||||
}
|
}
|
||||||
|
|
||||||
TimelineQuery fromAssets(List<BaseAsset> assets) => (
|
TimelineQuery fromAssets(List<BaseAsset> assets, TimelineOrigin origin) => (
|
||||||
bucketSource: () => Stream.value(_generateBuckets(assets.length)),
|
bucketSource: () => Stream.value(_generateBuckets(assets.length)),
|
||||||
assetSource: (offset, count) => Future.value(assets.skip(offset).take(count).toList(growable: false)),
|
assetSource: (offset, count) => Future.value(assets.skip(offset).take(count).toList(growable: false)),
|
||||||
|
origin: origin,
|
||||||
);
|
);
|
||||||
|
|
||||||
TimelineQuery remote(String ownerId, GroupAssetsBy groupBy) => _remoteQueryBuilder(
|
TimelineQuery remote(String ownerId, GroupAssetsBy groupBy) => _remoteQueryBuilder(
|
||||||
filter: (row) =>
|
filter: (row) =>
|
||||||
row.deletedAt.isNull() & row.visibility.equalsValue(AssetVisibility.timeline) & row.ownerId.equals(ownerId),
|
row.deletedAt.isNull() & row.visibility.equalsValue(AssetVisibility.timeline) & row.ownerId.equals(ownerId),
|
||||||
groupBy: groupBy,
|
groupBy: groupBy,
|
||||||
|
origin: TimelineOrigin.remoteAssets,
|
||||||
);
|
);
|
||||||
|
|
||||||
TimelineQuery favorite(String userId, GroupAssetsBy groupBy) => _remoteQueryBuilder(
|
TimelineQuery favorite(String userId, GroupAssetsBy groupBy) => _remoteQueryBuilder(
|
||||||
|
|
@ -262,11 +267,13 @@ class DriftTimelineRepository extends DriftDatabaseRepository {
|
||||||
row.ownerId.equals(userId) &
|
row.ownerId.equals(userId) &
|
||||||
row.visibility.equalsValue(AssetVisibility.timeline),
|
row.visibility.equalsValue(AssetVisibility.timeline),
|
||||||
groupBy: groupBy,
|
groupBy: groupBy,
|
||||||
|
origin: TimelineOrigin.favorite,
|
||||||
);
|
);
|
||||||
|
|
||||||
TimelineQuery trash(String userId, GroupAssetsBy groupBy) => _remoteQueryBuilder(
|
TimelineQuery trash(String userId, GroupAssetsBy groupBy) => _remoteQueryBuilder(
|
||||||
filter: (row) => row.deletedAt.isNotNull() & row.ownerId.equals(userId),
|
filter: (row) => row.deletedAt.isNotNull() & row.ownerId.equals(userId),
|
||||||
groupBy: groupBy,
|
groupBy: groupBy,
|
||||||
|
origin: TimelineOrigin.trash,
|
||||||
joinLocal: true,
|
joinLocal: true,
|
||||||
);
|
);
|
||||||
|
|
||||||
|
|
@ -274,11 +281,13 @@ class DriftTimelineRepository extends DriftDatabaseRepository {
|
||||||
filter: (row) =>
|
filter: (row) =>
|
||||||
row.deletedAt.isNull() & row.ownerId.equals(userId) & row.visibility.equalsValue(AssetVisibility.archive),
|
row.deletedAt.isNull() & row.ownerId.equals(userId) & row.visibility.equalsValue(AssetVisibility.archive),
|
||||||
groupBy: groupBy,
|
groupBy: groupBy,
|
||||||
|
origin: TimelineOrigin.archive,
|
||||||
);
|
);
|
||||||
|
|
||||||
TimelineQuery locked(String userId, GroupAssetsBy groupBy) => _remoteQueryBuilder(
|
TimelineQuery locked(String userId, GroupAssetsBy groupBy) => _remoteQueryBuilder(
|
||||||
filter: (row) =>
|
filter: (row) =>
|
||||||
row.deletedAt.isNull() & row.visibility.equalsValue(AssetVisibility.locked) & row.ownerId.equals(userId),
|
row.deletedAt.isNull() & row.visibility.equalsValue(AssetVisibility.locked) & row.ownerId.equals(userId),
|
||||||
|
origin: TimelineOrigin.lockedFolder,
|
||||||
groupBy: groupBy,
|
groupBy: groupBy,
|
||||||
);
|
);
|
||||||
|
|
||||||
|
|
@ -288,17 +297,20 @@ class DriftTimelineRepository extends DriftDatabaseRepository {
|
||||||
row.type.equalsValue(AssetType.video) &
|
row.type.equalsValue(AssetType.video) &
|
||||||
row.visibility.equalsValue(AssetVisibility.timeline) &
|
row.visibility.equalsValue(AssetVisibility.timeline) &
|
||||||
row.ownerId.equals(userId),
|
row.ownerId.equals(userId),
|
||||||
|
origin: TimelineOrigin.video,
|
||||||
groupBy: groupBy,
|
groupBy: groupBy,
|
||||||
);
|
);
|
||||||
|
|
||||||
TimelineQuery place(String place, GroupAssetsBy groupBy) => (
|
TimelineQuery place(String place, GroupAssetsBy groupBy) => (
|
||||||
bucketSource: () => _watchPlaceBucket(place, groupBy: groupBy),
|
bucketSource: () => _watchPlaceBucket(place, groupBy: groupBy),
|
||||||
assetSource: (offset, count) => _getPlaceBucketAssets(place, offset: offset, count: count),
|
assetSource: (offset, count) => _getPlaceBucketAssets(place, offset: offset, count: count),
|
||||||
|
origin: TimelineOrigin.place,
|
||||||
);
|
);
|
||||||
|
|
||||||
TimelineQuery person(String userId, String personId, GroupAssetsBy groupBy) => (
|
TimelineQuery person(String userId, String personId, GroupAssetsBy groupBy) => (
|
||||||
bucketSource: () => _watchPersonBucket(userId, personId, groupBy: groupBy),
|
bucketSource: () => _watchPersonBucket(userId, personId, groupBy: groupBy),
|
||||||
assetSource: (offset, count) => _getPersonBucketAssets(userId, personId, offset: offset, count: count),
|
assetSource: (offset, count) => _getPersonBucketAssets(userId, personId, offset: offset, count: count),
|
||||||
|
origin: TimelineOrigin.person,
|
||||||
);
|
);
|
||||||
|
|
||||||
Stream<List<Bucket>> _watchPlaceBucket(String place, {GroupAssetsBy groupBy = GroupAssetsBy.day}) {
|
Stream<List<Bucket>> _watchPlaceBucket(String place, {GroupAssetsBy groupBy = GroupAssetsBy.day}) {
|
||||||
|
|
@ -434,6 +446,7 @@ class DriftTimelineRepository extends DriftDatabaseRepository {
|
||||||
TimelineQuery map(String userId, LatLngBounds bounds, GroupAssetsBy groupBy) => (
|
TimelineQuery map(String userId, LatLngBounds bounds, GroupAssetsBy groupBy) => (
|
||||||
bucketSource: () => _watchMapBucket(userId, bounds, groupBy: groupBy),
|
bucketSource: () => _watchMapBucket(userId, bounds, groupBy: groupBy),
|
||||||
assetSource: (offset, count) => _getMapBucketAssets(userId, bounds, offset: offset, count: count),
|
assetSource: (offset, count) => _getMapBucketAssets(userId, bounds, offset: offset, count: count),
|
||||||
|
origin: TimelineOrigin.map,
|
||||||
);
|
);
|
||||||
|
|
||||||
Stream<List<Bucket>> _watchMapBucket(
|
Stream<List<Bucket>> _watchMapBucket(
|
||||||
|
|
@ -502,6 +515,7 @@ class DriftTimelineRepository extends DriftDatabaseRepository {
|
||||||
@pragma('vm:prefer-inline')
|
@pragma('vm:prefer-inline')
|
||||||
TimelineQuery _remoteQueryBuilder({
|
TimelineQuery _remoteQueryBuilder({
|
||||||
required Expression<bool> Function($RemoteAssetEntityTable row) filter,
|
required Expression<bool> Function($RemoteAssetEntityTable row) filter,
|
||||||
|
required TimelineOrigin origin,
|
||||||
GroupAssetsBy groupBy = GroupAssetsBy.day,
|
GroupAssetsBy groupBy = GroupAssetsBy.day,
|
||||||
bool joinLocal = false,
|
bool joinLocal = false,
|
||||||
}) {
|
}) {
|
||||||
|
|
@ -509,6 +523,7 @@ class DriftTimelineRepository extends DriftDatabaseRepository {
|
||||||
bucketSource: () => _watchRemoteBucket(filter: filter, groupBy: groupBy),
|
bucketSource: () => _watchRemoteBucket(filter: filter, groupBy: groupBy),
|
||||||
assetSource: (offset, count) =>
|
assetSource: (offset, count) =>
|
||||||
_getRemoteAssets(filter: filter, offset: offset, count: count, joinLocal: joinLocal),
|
_getRemoteAssets(filter: filter, offset: offset, count: count, joinLocal: joinLocal),
|
||||||
|
origin: origin,
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -190,7 +190,10 @@ class NativeVideoViewerPage extends HookConsumerWidget {
|
||||||
isVideoReady.value = true;
|
isVideoReady.value = true;
|
||||||
|
|
||||||
try {
|
try {
|
||||||
await videoController.play();
|
final autoPlayVideo = ref.read(appSettingsServiceProvider).getSetting<bool>(AppSettingsEnum.autoPlayVideo);
|
||||||
|
if (autoPlayVideo) {
|
||||||
|
await videoController.play();
|
||||||
|
}
|
||||||
await videoController.setVolume(0.9);
|
await videoController.setVolume(0.9);
|
||||||
} catch (error) {
|
} catch (error) {
|
||||||
log.severe('Error playing video: $error');
|
log.severe('Error playing video: $error');
|
||||||
|
|
|
||||||
|
|
@ -169,9 +169,11 @@ class _RemoteAlbumPageState extends ConsumerState<RemoteAlbumPage> {
|
||||||
context.pushRoute(const DriftActivitiesRoute());
|
context.pushRoute(const DriftActivitiesRoute());
|
||||||
}
|
}
|
||||||
|
|
||||||
void showOptionSheet(BuildContext context) {
|
Future<void> showOptionSheet(BuildContext context) async {
|
||||||
final user = ref.watch(currentUserProvider);
|
final user = ref.watch(currentUserProvider);
|
||||||
final isOwner = user != null ? user.id == _album.ownerId : false;
|
final isOwner = user != null ? user.id == _album.ownerId : false;
|
||||||
|
final canAddPhotos =
|
||||||
|
await ref.read(remoteAlbumServiceProvider).getUserRole(_album.id, user?.id ?? '') == AlbumUserRole.editor;
|
||||||
|
|
||||||
showModalBottomSheet(
|
showModalBottomSheet(
|
||||||
context: context,
|
context: context,
|
||||||
|
|
@ -193,22 +195,30 @@ class _RemoteAlbumPageState extends ConsumerState<RemoteAlbumPage> {
|
||||||
context.pop();
|
context.pop();
|
||||||
}
|
}
|
||||||
: null,
|
: null,
|
||||||
onAddPhotos: () async {
|
onAddPhotos: isOwner || canAddPhotos
|
||||||
await addAssets(context);
|
? () async {
|
||||||
context.pop();
|
await addAssets(context);
|
||||||
},
|
context.pop();
|
||||||
onToggleAlbumOrder: () async {
|
}
|
||||||
await toggleAlbumOrder();
|
: null,
|
||||||
context.pop();
|
onToggleAlbumOrder: isOwner
|
||||||
},
|
? () async {
|
||||||
onEditAlbum: () async {
|
await toggleAlbumOrder();
|
||||||
context.pop();
|
context.pop();
|
||||||
await showEditTitleAndDescription(context);
|
}
|
||||||
},
|
: null,
|
||||||
onCreateSharedLink: () async {
|
onEditAlbum: isOwner
|
||||||
context.pop();
|
? () async {
|
||||||
context.pushRoute(SharedLinkEditRoute(albumId: _album.id));
|
context.pop();
|
||||||
},
|
await showEditTitleAndDescription(context);
|
||||||
|
}
|
||||||
|
: null,
|
||||||
|
onCreateSharedLink: isOwner
|
||||||
|
? () async {
|
||||||
|
context.pop();
|
||||||
|
context.pushRoute(SharedLinkEditRoute(albumId: _album.id));
|
||||||
|
}
|
||||||
|
: null,
|
||||||
onShowOptions: () {
|
onShowOptions: () {
|
||||||
context.pop();
|
context.pop();
|
||||||
context.pushRoute(const DriftAlbumOptionsRoute());
|
context.pushRoute(const DriftAlbumOptionsRoute());
|
||||||
|
|
@ -220,6 +230,9 @@ class _RemoteAlbumPageState extends ConsumerState<RemoteAlbumPage> {
|
||||||
|
|
||||||
@override
|
@override
|
||||||
Widget build(BuildContext context) {
|
Widget build(BuildContext context) {
|
||||||
|
final user = ref.watch(currentUserProvider);
|
||||||
|
final isOwner = user != null ? user.id == _album.ownerId : false;
|
||||||
|
|
||||||
return PopScope(
|
return PopScope(
|
||||||
onPopInvokedWithResult: (didPop, _) {
|
onPopInvokedWithResult: (didPop, _) {
|
||||||
if (didPop) {
|
if (didPop) {
|
||||||
|
|
@ -243,8 +256,8 @@ class _RemoteAlbumPageState extends ConsumerState<RemoteAlbumPage> {
|
||||||
appBar: RemoteAlbumSliverAppBar(
|
appBar: RemoteAlbumSliverAppBar(
|
||||||
icon: Icons.photo_album_outlined,
|
icon: Icons.photo_album_outlined,
|
||||||
onShowOptions: () => showOptionSheet(context),
|
onShowOptions: () => showOptionSheet(context),
|
||||||
onToggleAlbumOrder: () => toggleAlbumOrder(),
|
onToggleAlbumOrder: isOwner ? () => toggleAlbumOrder() : null,
|
||||||
onEditTitle: () => showEditTitleAndDescription(context),
|
onEditTitle: isOwner ? () => showEditTitleAndDescription(context) : null,
|
||||||
onActivity: () => showActivity(context),
|
onActivity: () => showActivity(context),
|
||||||
),
|
),
|
||||||
bottomSheet: RemoteAlbumBottomSheet(album: _album),
|
bottomSheet: RemoteAlbumBottomSheet(album: _album),
|
||||||
|
|
|
||||||
|
|
@ -8,6 +8,7 @@ import 'package:hooks_riverpod/hooks_riverpod.dart';
|
||||||
import 'package:immich_mobile/constants/enums.dart';
|
import 'package:immich_mobile/constants/enums.dart';
|
||||||
import 'package:immich_mobile/domain/models/person.model.dart';
|
import 'package:immich_mobile/domain/models/person.model.dart';
|
||||||
import 'package:immich_mobile/domain/models/timeline.model.dart';
|
import 'package:immich_mobile/domain/models/timeline.model.dart';
|
||||||
|
import 'package:immich_mobile/domain/services/timeline.service.dart';
|
||||||
import 'package:immich_mobile/entities/asset.entity.dart';
|
import 'package:immich_mobile/entities/asset.entity.dart';
|
||||||
import 'package:immich_mobile/extensions/build_context_extensions.dart';
|
import 'package:immich_mobile/extensions/build_context_extensions.dart';
|
||||||
import 'package:immich_mobile/extensions/translate_extensions.dart';
|
import 'package:immich_mobile/extensions/translate_extensions.dart';
|
||||||
|
|
@ -624,7 +625,7 @@ class _SearchResultGrid extends ConsumerWidget {
|
||||||
child: ProviderScope(
|
child: ProviderScope(
|
||||||
overrides: [
|
overrides: [
|
||||||
timelineServiceProvider.overrideWith((ref) {
|
timelineServiceProvider.overrideWith((ref) {
|
||||||
final timelineService = ref.watch(timelineFactoryProvider).fromAssets(assets);
|
final timelineService = ref.watch(timelineFactoryProvider).fromAssets(assets, TimelineOrigin.search);
|
||||||
ref.onDispose(timelineService.dispose);
|
ref.onDispose(timelineService.dispose);
|
||||||
return timelineService;
|
return timelineService;
|
||||||
}),
|
}),
|
||||||
|
|
|
||||||
|
|
@ -8,6 +8,7 @@ import 'package:immich_mobile/presentation/widgets/action_buttons/base_action_bu
|
||||||
import 'package:immich_mobile/presentation/widgets/asset_viewer/asset_viewer.state.dart';
|
import 'package:immich_mobile/presentation/widgets/asset_viewer/asset_viewer.state.dart';
|
||||||
import 'package:immich_mobile/providers/infrastructure/action.provider.dart';
|
import 'package:immich_mobile/providers/infrastructure/action.provider.dart';
|
||||||
import 'package:immich_mobile/providers/timeline/multiselect.provider.dart';
|
import 'package:immich_mobile/providers/timeline/multiselect.provider.dart';
|
||||||
|
import 'package:immich_mobile/widgets/asset_grid/delete_dialog.dart';
|
||||||
import 'package:immich_mobile/widgets/common/immich_toast.dart';
|
import 'package:immich_mobile/widgets/common/immich_toast.dart';
|
||||||
|
|
||||||
/// This delete action has the following behavior:
|
/// This delete action has the following behavior:
|
||||||
|
|
@ -22,7 +23,17 @@ class DeleteLocalActionButton extends ConsumerWidget {
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
final result = await ref.read(actionProvider.notifier).deleteLocal(source);
|
bool? backedUpOnly = await showDialog<bool>(
|
||||||
|
context: context,
|
||||||
|
builder: (BuildContext context) => DeleteLocalOnlyDialog(onDeleteLocal: (_) {}),
|
||||||
|
);
|
||||||
|
|
||||||
|
if (backedUpOnly == null) {
|
||||||
|
// User cancelled the dialog
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
final result = await ref.read(actionProvider.notifier).deleteLocal(source, backedUpOnly);
|
||||||
ref.read(multiSelectProvider.notifier).reset();
|
ref.read(multiSelectProvider.notifier).reset();
|
||||||
|
|
||||||
if (source == ActionSource.viewer) {
|
if (source == ActionSource.viewer) {
|
||||||
|
|
|
||||||
|
|
@ -43,7 +43,7 @@ class ViewerBottomBar extends ConsumerWidget {
|
||||||
final actions = <Widget>[
|
final actions = <Widget>[
|
||||||
const ShareActionButton(source: ActionSource.viewer),
|
const ShareActionButton(source: ActionSource.viewer),
|
||||||
if (asset.isLocalOnly) const UploadActionButton(source: ActionSource.viewer),
|
if (asset.isLocalOnly) const UploadActionButton(source: ActionSource.viewer),
|
||||||
if (asset.type == AssetType.image) const EditImageActionButton(),
|
if (asset.type == AssetType.image && isOwner) const EditImageActionButton(),
|
||||||
if (isOwner) ...[
|
if (isOwner) ...[
|
||||||
if (asset.hasRemote && isOwner && isArchived)
|
if (asset.hasRemote && isOwner && isArchived)
|
||||||
const UnArchiveActionButton(source: ActionSource.viewer)
|
const UnArchiveActionButton(source: ActionSource.viewer)
|
||||||
|
|
|
||||||
|
|
@ -140,6 +140,7 @@ class _AssetDetailBottomSheet extends ConsumerWidget {
|
||||||
|
|
||||||
final exifInfo = ref.watch(currentAssetExifProvider).valueOrNull;
|
final exifInfo = ref.watch(currentAssetExifProvider).valueOrNull;
|
||||||
final cameraTitle = _getCameraInfoTitle(exifInfo);
|
final cameraTitle = _getCameraInfoTitle(exifInfo);
|
||||||
|
final isOwner = ref.watch(currentUserProvider)?.id == (asset is RemoteAsset ? asset.ownerId : null);
|
||||||
|
|
||||||
return SliverList.list(
|
return SliverList.list(
|
||||||
children: [
|
children: [
|
||||||
|
|
@ -147,10 +148,10 @@ class _AssetDetailBottomSheet extends ConsumerWidget {
|
||||||
_SheetTile(
|
_SheetTile(
|
||||||
title: _getDateTime(context, asset),
|
title: _getDateTime(context, asset),
|
||||||
titleStyle: context.textTheme.bodyMedium?.copyWith(fontWeight: FontWeight.w600),
|
titleStyle: context.textTheme.bodyMedium?.copyWith(fontWeight: FontWeight.w600),
|
||||||
trailing: asset.hasRemote ? const Icon(Icons.edit, size: 18) : null,
|
trailing: asset.hasRemote && isOwner ? const Icon(Icons.edit, size: 18) : null,
|
||||||
onTap: asset.hasRemote ? () async => await _editDateTime(context, ref) : null,
|
onTap: asset.hasRemote && isOwner ? () async => await _editDateTime(context, ref) : null,
|
||||||
),
|
),
|
||||||
if (exifInfo != null) _SheetAssetDescription(exif: exifInfo),
|
if (exifInfo != null) _SheetAssetDescription(exif: exifInfo, isEditable: isOwner),
|
||||||
const SheetPeopleDetails(),
|
const SheetPeopleDetails(),
|
||||||
const SheetLocationDetails(),
|
const SheetLocationDetails(),
|
||||||
// Details header
|
// Details header
|
||||||
|
|
@ -265,8 +266,9 @@ class _SheetTile extends ConsumerWidget {
|
||||||
|
|
||||||
class _SheetAssetDescription extends ConsumerStatefulWidget {
|
class _SheetAssetDescription extends ConsumerStatefulWidget {
|
||||||
final ExifInfo exif;
|
final ExifInfo exif;
|
||||||
|
final bool isEditable;
|
||||||
|
|
||||||
const _SheetAssetDescription({required this.exif});
|
const _SheetAssetDescription({required this.exif, this.isEditable = true});
|
||||||
|
|
||||||
@override
|
@override
|
||||||
ConsumerState<_SheetAssetDescription> createState() => _SheetAssetDescriptionState();
|
ConsumerState<_SheetAssetDescription> createState() => _SheetAssetDescriptionState();
|
||||||
|
|
@ -312,27 +314,33 @@ class _SheetAssetDescriptionState extends ConsumerState<_SheetAssetDescription>
|
||||||
|
|
||||||
// Update controller text when EXIF data changes
|
// Update controller text when EXIF data changes
|
||||||
final currentDescription = currentExifInfo?.description ?? '';
|
final currentDescription = currentExifInfo?.description ?? '';
|
||||||
|
final hintText = (widget.isEditable ? 'exif_bottom_sheet_description' : 'exif_bottom_sheet_no_description').t(
|
||||||
|
context: context,
|
||||||
|
);
|
||||||
if (_controller.text != currentDescription && !_descriptionFocus.hasFocus) {
|
if (_controller.text != currentDescription && !_descriptionFocus.hasFocus) {
|
||||||
_controller.text = currentDescription;
|
_controller.text = currentDescription;
|
||||||
}
|
}
|
||||||
|
|
||||||
return Padding(
|
return Padding(
|
||||||
padding: const EdgeInsets.symmetric(horizontal: 16.0, vertical: 8),
|
padding: const EdgeInsets.symmetric(horizontal: 16.0, vertical: 8),
|
||||||
child: TextField(
|
child: IgnorePointer(
|
||||||
controller: _controller,
|
ignoring: !widget.isEditable,
|
||||||
keyboardType: TextInputType.multiline,
|
child: TextField(
|
||||||
focusNode: _descriptionFocus,
|
controller: _controller,
|
||||||
maxLines: null, // makes it grow as text is added
|
keyboardType: TextInputType.multiline,
|
||||||
decoration: InputDecoration(
|
focusNode: _descriptionFocus,
|
||||||
hintText: 'exif_bottom_sheet_description'.t(context: context),
|
maxLines: null, // makes it grow as text is added
|
||||||
border: InputBorder.none,
|
decoration: InputDecoration(
|
||||||
enabledBorder: InputBorder.none,
|
hintText: hintText,
|
||||||
focusedBorder: InputBorder.none,
|
border: InputBorder.none,
|
||||||
disabledBorder: InputBorder.none,
|
enabledBorder: InputBorder.none,
|
||||||
errorBorder: InputBorder.none,
|
focusedBorder: InputBorder.none,
|
||||||
focusedErrorBorder: InputBorder.none,
|
disabledBorder: InputBorder.none,
|
||||||
|
errorBorder: InputBorder.none,
|
||||||
|
focusedErrorBorder: InputBorder.none,
|
||||||
|
),
|
||||||
|
onTapOutside: (_) => saveDescription(currentExifInfo?.description),
|
||||||
),
|
),
|
||||||
onTapOutside: (_) => saveDescription(currentExifInfo?.description),
|
|
||||||
),
|
),
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -4,6 +4,7 @@ import 'package:hooks_riverpod/hooks_riverpod.dart';
|
||||||
import 'package:immich_mobile/constants/enums.dart';
|
import 'package:immich_mobile/constants/enums.dart';
|
||||||
import 'package:immich_mobile/domain/models/asset/base_asset.model.dart';
|
import 'package:immich_mobile/domain/models/asset/base_asset.model.dart';
|
||||||
import 'package:immich_mobile/domain/models/timeline.model.dart';
|
import 'package:immich_mobile/domain/models/timeline.model.dart';
|
||||||
|
import 'package:immich_mobile/domain/services/timeline.service.dart';
|
||||||
import 'package:immich_mobile/domain/utils/event_stream.dart';
|
import 'package:immich_mobile/domain/utils/event_stream.dart';
|
||||||
import 'package:immich_mobile/extensions/build_context_extensions.dart';
|
import 'package:immich_mobile/extensions/build_context_extensions.dart';
|
||||||
import 'package:immich_mobile/extensions/translate_extensions.dart';
|
import 'package:immich_mobile/extensions/translate_extensions.dart';
|
||||||
|
|
@ -17,8 +18,8 @@ import 'package:immich_mobile/providers/cast.provider.dart';
|
||||||
import 'package:immich_mobile/providers/infrastructure/asset_viewer/current_asset.provider.dart';
|
import 'package:immich_mobile/providers/infrastructure/asset_viewer/current_asset.provider.dart';
|
||||||
import 'package:immich_mobile/providers/infrastructure/current_album.provider.dart';
|
import 'package:immich_mobile/providers/infrastructure/current_album.provider.dart';
|
||||||
import 'package:immich_mobile/providers/infrastructure/readonly_mode.provider.dart';
|
import 'package:immich_mobile/providers/infrastructure/readonly_mode.provider.dart';
|
||||||
|
import 'package:immich_mobile/providers/infrastructure/timeline.provider.dart';
|
||||||
import 'package:immich_mobile/providers/routes.provider.dart';
|
import 'package:immich_mobile/providers/routes.provider.dart';
|
||||||
import 'package:immich_mobile/providers/tab.provider.dart';
|
|
||||||
import 'package:immich_mobile/providers/user.provider.dart';
|
import 'package:immich_mobile/providers/user.provider.dart';
|
||||||
import 'package:immich_mobile/routing/router.dart';
|
import 'package:immich_mobile/routing/router.dart';
|
||||||
|
|
||||||
|
|
@ -39,13 +40,14 @@ class ViewerTopAppBar extends ConsumerWidget implements PreferredSizeWidget {
|
||||||
final isInLockedView = ref.watch(inLockedViewProvider);
|
final isInLockedView = ref.watch(inLockedViewProvider);
|
||||||
final isReadonlyModeEnabled = ref.watch(readonlyModeProvider);
|
final isReadonlyModeEnabled = ref.watch(readonlyModeProvider);
|
||||||
|
|
||||||
final previousRouteName = ref.watch(previousRouteNameProvider);
|
final timelineOrigin = ref.read(timelineServiceProvider).origin;
|
||||||
final tabRoute = ref.watch(tabProvider);
|
|
||||||
final showViewInTimelineButton =
|
final showViewInTimelineButton =
|
||||||
(previousRouteName != TabShellRoute.name || tabRoute == TabEnum.search) &&
|
timelineOrigin != TimelineOrigin.main &&
|
||||||
previousRouteName != AssetViewerRoute.name &&
|
timelineOrigin != TimelineOrigin.deepLink &&
|
||||||
previousRouteName != null &&
|
timelineOrigin != TimelineOrigin.trash &&
|
||||||
previousRouteName != LocalTimelineRoute.name;
|
timelineOrigin != TimelineOrigin.archive &&
|
||||||
|
timelineOrigin != TimelineOrigin.localAlbum &&
|
||||||
|
isOwner;
|
||||||
|
|
||||||
final isShowingSheet = ref.watch(assetViewerProvider.select((state) => state.showingBottomSheet));
|
final isShowingSheet = ref.watch(assetViewerProvider.select((state) => state.showingBottomSheet));
|
||||||
int opacity = ref.watch(assetViewerProvider.select((state) => state.backgroundOpacity));
|
int opacity = ref.watch(assetViewerProvider.select((state) => state.backgroundOpacity));
|
||||||
|
|
|
||||||
|
|
@ -7,6 +7,7 @@ import 'package:hooks_riverpod/hooks_riverpod.dart';
|
||||||
import 'package:immich_mobile/domain/models/asset/base_asset.model.dart';
|
import 'package:immich_mobile/domain/models/asset/base_asset.model.dart';
|
||||||
import 'package:immich_mobile/domain/models/setting.model.dart';
|
import 'package:immich_mobile/domain/models/setting.model.dart';
|
||||||
import 'package:immich_mobile/domain/models/store.model.dart';
|
import 'package:immich_mobile/domain/models/store.model.dart';
|
||||||
|
import 'package:immich_mobile/domain/services/setting.service.dart';
|
||||||
import 'package:immich_mobile/entities/store.entity.dart';
|
import 'package:immich_mobile/entities/store.entity.dart';
|
||||||
import 'package:immich_mobile/infrastructure/repositories/storage.repository.dart';
|
import 'package:immich_mobile/infrastructure/repositories/storage.repository.dart';
|
||||||
import 'package:immich_mobile/presentation/widgets/asset_viewer/asset_viewer.state.dart';
|
import 'package:immich_mobile/presentation/widgets/asset_viewer/asset_viewer.state.dart';
|
||||||
|
|
@ -218,7 +219,10 @@ class NativeVideoViewer extends HookConsumerWidget {
|
||||||
}
|
}
|
||||||
|
|
||||||
try {
|
try {
|
||||||
await videoController.play();
|
final autoPlayVideo = AppSetting.get(Setting.autoPlayVideo);
|
||||||
|
if (autoPlayVideo) {
|
||||||
|
await videoController.play();
|
||||||
|
}
|
||||||
await videoController.setVolume(0.9);
|
await videoController.setVolume(0.9);
|
||||||
} catch (error) {
|
} catch (error) {
|
||||||
log.severe('Error playing video: $error');
|
log.severe('Error playing video: $error');
|
||||||
|
|
|
||||||
|
|
@ -24,6 +24,7 @@ import 'package:immich_mobile/presentation/widgets/bottom_sheet/base_bottom_shee
|
||||||
import 'package:immich_mobile/providers/infrastructure/album.provider.dart';
|
import 'package:immich_mobile/providers/infrastructure/album.provider.dart';
|
||||||
import 'package:immich_mobile/providers/server_info.provider.dart';
|
import 'package:immich_mobile/providers/server_info.provider.dart';
|
||||||
import 'package:immich_mobile/providers/timeline/multiselect.provider.dart';
|
import 'package:immich_mobile/providers/timeline/multiselect.provider.dart';
|
||||||
|
import 'package:immich_mobile/providers/user.provider.dart';
|
||||||
import 'package:immich_mobile/widgets/common/immich_toast.dart';
|
import 'package:immich_mobile/widgets/common/immich_toast.dart';
|
||||||
|
|
||||||
class RemoteAlbumBottomSheet extends ConsumerStatefulWidget {
|
class RemoteAlbumBottomSheet extends ConsumerStatefulWidget {
|
||||||
|
|
@ -53,6 +54,7 @@ class _RemoteAlbumBottomSheetState extends ConsumerState<RemoteAlbumBottomSheet>
|
||||||
Widget build(BuildContext context) {
|
Widget build(BuildContext context) {
|
||||||
final multiselect = ref.watch(multiSelectProvider);
|
final multiselect = ref.watch(multiSelectProvider);
|
||||||
final isTrashEnable = ref.watch(serverInfoProvider.select((state) => state.serverFeatures.trash));
|
final isTrashEnable = ref.watch(serverInfoProvider.select((state) => state.serverFeatures.trash));
|
||||||
|
final ownsAlbum = ref.watch(currentUserProvider)?.id == widget.album.ownerId;
|
||||||
|
|
||||||
Future<void> addAssetsToAlbum(RemoteAlbum album) async {
|
Future<void> addAssetsToAlbum(RemoteAlbum album) async {
|
||||||
final selectedAssets = multiselect.selectedAssets;
|
final selectedAssets = multiselect.selectedAssets;
|
||||||
|
|
@ -93,28 +95,35 @@ class _RemoteAlbumBottomSheetState extends ConsumerState<RemoteAlbumBottomSheet>
|
||||||
const ShareActionButton(source: ActionSource.timeline),
|
const ShareActionButton(source: ActionSource.timeline),
|
||||||
if (multiselect.hasRemote) ...[
|
if (multiselect.hasRemote) ...[
|
||||||
const ShareLinkActionButton(source: ActionSource.timeline),
|
const ShareLinkActionButton(source: ActionSource.timeline),
|
||||||
const ArchiveActionButton(source: ActionSource.timeline),
|
|
||||||
const FavoriteActionButton(source: ActionSource.timeline),
|
if (ownsAlbum) ...[
|
||||||
|
const ArchiveActionButton(source: ActionSource.timeline),
|
||||||
|
const FavoriteActionButton(source: ActionSource.timeline),
|
||||||
|
],
|
||||||
const DownloadActionButton(source: ActionSource.timeline),
|
const DownloadActionButton(source: ActionSource.timeline),
|
||||||
isTrashEnable
|
if (ownsAlbum) ...[
|
||||||
? const TrashActionButton(source: ActionSource.timeline)
|
isTrashEnable
|
||||||
: const DeletePermanentActionButton(source: ActionSource.timeline),
|
? const TrashActionButton(source: ActionSource.timeline)
|
||||||
const EditDateTimeActionButton(source: ActionSource.timeline),
|
: const DeletePermanentActionButton(source: ActionSource.timeline),
|
||||||
const EditLocationActionButton(source: ActionSource.timeline),
|
const EditDateTimeActionButton(source: ActionSource.timeline),
|
||||||
const MoveToLockFolderActionButton(source: ActionSource.timeline),
|
const EditLocationActionButton(source: ActionSource.timeline),
|
||||||
if (multiselect.selectedAssets.length > 1) const StackActionButton(source: ActionSource.timeline),
|
const MoveToLockFolderActionButton(source: ActionSource.timeline),
|
||||||
if (multiselect.hasStacked) const UnStackActionButton(source: ActionSource.timeline),
|
if (multiselect.selectedAssets.length > 1) const StackActionButton(source: ActionSource.timeline),
|
||||||
|
if (multiselect.hasStacked) const UnStackActionButton(source: ActionSource.timeline),
|
||||||
|
],
|
||||||
],
|
],
|
||||||
if (multiselect.hasLocal) ...[
|
if (multiselect.hasLocal) ...[
|
||||||
const DeleteLocalActionButton(source: ActionSource.timeline),
|
const DeleteLocalActionButton(source: ActionSource.timeline),
|
||||||
const UploadActionButton(source: ActionSource.timeline),
|
const UploadActionButton(source: ActionSource.timeline),
|
||||||
],
|
],
|
||||||
RemoveFromAlbumActionButton(source: ActionSource.timeline, albumId: widget.album.id),
|
if (ownsAlbum) RemoveFromAlbumActionButton(source: ActionSource.timeline, albumId: widget.album.id),
|
||||||
],
|
|
||||||
slivers: [
|
|
||||||
const AddToAlbumHeader(),
|
|
||||||
AlbumSelector(onAlbumSelected: addAssetsToAlbum, onKeyboardExpanded: onKeyboardExpand),
|
|
||||||
],
|
],
|
||||||
|
slivers: ownsAlbum
|
||||||
|
? [
|
||||||
|
const AddToAlbumHeader(),
|
||||||
|
AlbumSelector(onAlbumSelected: addAssetsToAlbum, onKeyboardExpanded: onKeyboardExpand),
|
||||||
|
]
|
||||||
|
: null,
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -260,8 +260,15 @@ class ActionNotifier extends Notifier<void> {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
Future<ActionResult> deleteLocal(ActionSource source) async {
|
Future<ActionResult> deleteLocal(ActionSource source, bool backedUpOnly) async {
|
||||||
final ids = _getLocalIdsForSource(source);
|
final List<String> ids;
|
||||||
|
if (backedUpOnly) {
|
||||||
|
final assets = _getAssets(source);
|
||||||
|
ids = assets.where((asset) => asset.storage == AssetState.merged).map((asset) => asset.localId!).toList();
|
||||||
|
} else {
|
||||||
|
ids = _getLocalIdsForSource(source);
|
||||||
|
}
|
||||||
|
|
||||||
try {
|
try {
|
||||||
final deletedCount = await _service.deleteLocal(ids);
|
final deletedCount = await _service.deleteLocal(ids);
|
||||||
return ActionResult(count: deletedCount, success: true);
|
return ActionResult(count: deletedCount, success: true);
|
||||||
|
|
|
||||||
|
|
@ -22,6 +22,7 @@ final assetMediaRepositoryProvider = Provider((ref) => AssetMediaRepository(ref.
|
||||||
|
|
||||||
class AssetMediaRepository {
|
class AssetMediaRepository {
|
||||||
final AssetApiRepository _assetApiRepository;
|
final AssetApiRepository _assetApiRepository;
|
||||||
|
|
||||||
static final Logger _log = Logger("AssetMediaRepository");
|
static final Logger _log = Logger("AssetMediaRepository");
|
||||||
|
|
||||||
const AssetMediaRepository(this._assetApiRepository);
|
const AssetMediaRepository(this._assetApiRepository);
|
||||||
|
|
|
||||||
|
|
@ -34,6 +34,7 @@ enum AppSettingsEnum<T> {
|
||||||
preferRemoteImage<bool>(StoreKey.preferRemoteImage, null, false),
|
preferRemoteImage<bool>(StoreKey.preferRemoteImage, null, false),
|
||||||
loopVideo<bool>(StoreKey.loopVideo, "loopVideo", true),
|
loopVideo<bool>(StoreKey.loopVideo, "loopVideo", true),
|
||||||
loadOriginalVideo<bool>(StoreKey.loadOriginalVideo, "loadOriginalVideo", false),
|
loadOriginalVideo<bool>(StoreKey.loadOriginalVideo, "loadOriginalVideo", false),
|
||||||
|
autoPlayVideo<bool>(StoreKey.autoPlayVideo, "autoPlayVideo", true),
|
||||||
mapThemeMode<int>(StoreKey.mapThemeMode, null, 0),
|
mapThemeMode<int>(StoreKey.mapThemeMode, null, 0),
|
||||||
mapShowFavoriteOnly<bool>(StoreKey.mapShowFavoriteOnly, null, false),
|
mapShowFavoriteOnly<bool>(StoreKey.mapShowFavoriteOnly, null, false),
|
||||||
mapIncludeArchived<bool>(StoreKey.mapIncludeArchived, null, false),
|
mapIncludeArchived<bool>(StoreKey.mapIncludeArchived, null, false),
|
||||||
|
|
|
||||||
|
|
@ -8,8 +8,8 @@ import 'package:immich_mobile/entities/store.entity.dart';
|
||||||
import 'package:immich_mobile/presentation/widgets/asset_viewer/asset_viewer.page.dart';
|
import 'package:immich_mobile/presentation/widgets/asset_viewer/asset_viewer.page.dart';
|
||||||
import 'package:immich_mobile/providers/album/current_album.provider.dart';
|
import 'package:immich_mobile/providers/album/current_album.provider.dart';
|
||||||
import 'package:immich_mobile/providers/asset_viewer/current_asset.provider.dart';
|
import 'package:immich_mobile/providers/asset_viewer/current_asset.provider.dart';
|
||||||
import 'package:immich_mobile/providers/infrastructure/asset.provider.dart' as beta_asset_provider;
|
|
||||||
import 'package:immich_mobile/providers/infrastructure/album.provider.dart';
|
import 'package:immich_mobile/providers/infrastructure/album.provider.dart';
|
||||||
|
import 'package:immich_mobile/providers/infrastructure/asset.provider.dart' as beta_asset_provider;
|
||||||
import 'package:immich_mobile/providers/infrastructure/current_album.provider.dart';
|
import 'package:immich_mobile/providers/infrastructure/current_album.provider.dart';
|
||||||
import 'package:immich_mobile/providers/infrastructure/memory.provider.dart';
|
import 'package:immich_mobile/providers/infrastructure/memory.provider.dart';
|
||||||
import 'package:immich_mobile/providers/infrastructure/timeline.provider.dart';
|
import 'package:immich_mobile/providers/infrastructure/timeline.provider.dart';
|
||||||
|
|
@ -150,7 +150,10 @@ class DeepLinkService {
|
||||||
}
|
}
|
||||||
|
|
||||||
AssetViewer.setAsset(ref, asset);
|
AssetViewer.setAsset(ref, asset);
|
||||||
return AssetViewerRoute(initialIndex: 0, timelineService: _betaTimelineFactory.fromAssets([asset]));
|
return AssetViewerRoute(
|
||||||
|
initialIndex: 0,
|
||||||
|
timelineService: _betaTimelineFactory.fromAssets([asset], TimelineOrigin.deepLink),
|
||||||
|
);
|
||||||
} else {
|
} else {
|
||||||
// TODO: Remove this when beta is default
|
// TODO: Remove this when beta is default
|
||||||
final asset = await _assetService.getAssetByRemoteId(assetId);
|
final asset = await _assetService.getAssetByRemoteId(assetId);
|
||||||
|
|
|
||||||
|
|
@ -22,12 +22,12 @@ class DeleteLocalOnlyDialog extends StatelessWidget {
|
||||||
@override
|
@override
|
||||||
Widget build(BuildContext context) {
|
Widget build(BuildContext context) {
|
||||||
void onDeleteBackedUpOnly() {
|
void onDeleteBackedUpOnly() {
|
||||||
context.pop();
|
context.pop(true);
|
||||||
onDeleteLocal(true);
|
onDeleteLocal(true);
|
||||||
}
|
}
|
||||||
|
|
||||||
void onForceDelete() {
|
void onForceDelete() {
|
||||||
context.pop();
|
context.pop(false);
|
||||||
onDeleteLocal(false);
|
onDeleteLocal(false);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -36,26 +36,44 @@ class DeleteLocalOnlyDialog extends StatelessWidget {
|
||||||
title: const Text("delete_dialog_title").tr(),
|
title: const Text("delete_dialog_title").tr(),
|
||||||
content: const Text("delete_dialog_alert_local_non_backed_up").tr(),
|
content: const Text("delete_dialog_alert_local_non_backed_up").tr(),
|
||||||
actions: [
|
actions: [
|
||||||
TextButton(
|
SizedBox(
|
||||||
onPressed: () => context.pop(),
|
width: double.infinity,
|
||||||
child: Text(
|
height: 48,
|
||||||
"cancel",
|
child: FilledButton(
|
||||||
style: TextStyle(color: context.primaryColor, fontWeight: FontWeight.bold),
|
onPressed: () => context.pop(),
|
||||||
).tr(),
|
style: FilledButton.styleFrom(
|
||||||
|
backgroundColor: context.colorScheme.surfaceDim,
|
||||||
|
foregroundColor: context.primaryColor,
|
||||||
|
),
|
||||||
|
child: const Text("cancel", style: TextStyle(fontWeight: FontWeight.bold)).tr(),
|
||||||
|
),
|
||||||
),
|
),
|
||||||
TextButton(
|
const SizedBox(height: 8),
|
||||||
onPressed: onDeleteBackedUpOnly,
|
SizedBox(
|
||||||
child: Text(
|
width: double.infinity,
|
||||||
"delete_local_dialog_ok_backed_up_only",
|
height: 48,
|
||||||
style: TextStyle(color: context.colorScheme.tertiary, fontWeight: FontWeight.bold),
|
|
||||||
).tr(),
|
child: FilledButton(
|
||||||
|
onPressed: onDeleteBackedUpOnly,
|
||||||
|
style: FilledButton.styleFrom(
|
||||||
|
backgroundColor: context.colorScheme.errorContainer,
|
||||||
|
foregroundColor: context.colorScheme.onErrorContainer,
|
||||||
|
),
|
||||||
|
child: const Text(
|
||||||
|
"delete_local_dialog_ok_backed_up_only",
|
||||||
|
style: TextStyle(fontWeight: FontWeight.bold),
|
||||||
|
).tr(),
|
||||||
|
),
|
||||||
),
|
),
|
||||||
TextButton(
|
const SizedBox(height: 8),
|
||||||
onPressed: onForceDelete,
|
SizedBox(
|
||||||
child: Text(
|
width: double.infinity,
|
||||||
"delete_local_dialog_ok_force",
|
height: 48,
|
||||||
style: TextStyle(color: Colors.red[400], fontWeight: FontWeight.bold),
|
child: FilledButton(
|
||||||
).tr(),
|
onPressed: onForceDelete,
|
||||||
|
style: FilledButton.styleFrom(backgroundColor: Colors.red[400], foregroundColor: Colors.white),
|
||||||
|
child: const Text("delete_local_dialog_ok_force", style: TextStyle(fontWeight: FontWeight.bold)).tr(),
|
||||||
|
),
|
||||||
),
|
),
|
||||||
],
|
],
|
||||||
);
|
);
|
||||||
|
|
|
||||||
|
|
@ -14,11 +14,18 @@ class VideoViewerSettings extends HookConsumerWidget {
|
||||||
Widget build(BuildContext context, WidgetRef ref) {
|
Widget build(BuildContext context, WidgetRef ref) {
|
||||||
final useLoopVideo = useAppSettingsState(AppSettingsEnum.loopVideo);
|
final useLoopVideo = useAppSettingsState(AppSettingsEnum.loopVideo);
|
||||||
final useOriginalVideo = useAppSettingsState(AppSettingsEnum.loadOriginalVideo);
|
final useOriginalVideo = useAppSettingsState(AppSettingsEnum.loadOriginalVideo);
|
||||||
|
final useAutoPlayVideo = useAppSettingsState(AppSettingsEnum.autoPlayVideo);
|
||||||
|
|
||||||
return Column(
|
return Column(
|
||||||
crossAxisAlignment: CrossAxisAlignment.start,
|
crossAxisAlignment: CrossAxisAlignment.start,
|
||||||
children: [
|
children: [
|
||||||
SettingsSubTitle(title: "videos".tr()),
|
SettingsSubTitle(title: "videos".tr()),
|
||||||
|
SettingsSwitchListTile(
|
||||||
|
valueNotifier: useAutoPlayVideo,
|
||||||
|
title: "setting_video_viewer_auto_play_title".tr(),
|
||||||
|
subtitle: "setting_video_viewer_auto_play_subtitle".tr(),
|
||||||
|
onChanged: (_) => ref.invalidate(appSettingsServiceProvider),
|
||||||
|
),
|
||||||
SettingsSwitchListTile(
|
SettingsSwitchListTile(
|
||||||
valueNotifier: useLoopVideo,
|
valueNotifier: useLoopVideo,
|
||||||
title: "setting_video_viewer_looping_title".tr(),
|
title: "setting_video_viewer_looping_title".tr(),
|
||||||
|
|
|
||||||
3
mobile/openapi/README.md
generated
3
mobile/openapi/README.md
generated
|
|
@ -3,7 +3,7 @@ Immich API
|
||||||
|
|
||||||
This Dart package is automatically generated by the [OpenAPI Generator](https://openapi-generator.tech) project:
|
This Dart package is automatically generated by the [OpenAPI Generator](https://openapi-generator.tech) project:
|
||||||
|
|
||||||
- API version: 2.0.1
|
- API version: 2.1.0
|
||||||
- Generator version: 7.8.0
|
- Generator version: 7.8.0
|
||||||
- Build package: org.openapitools.codegen.languages.DartClientCodegen
|
- Build package: org.openapitools.codegen.languages.DartClientCodegen
|
||||||
|
|
||||||
|
|
@ -359,6 +359,7 @@ Class | Method | HTTP request | Description
|
||||||
- [CheckExistingAssetsDto](doc//CheckExistingAssetsDto.md)
|
- [CheckExistingAssetsDto](doc//CheckExistingAssetsDto.md)
|
||||||
- [CheckExistingAssetsResponseDto](doc//CheckExistingAssetsResponseDto.md)
|
- [CheckExistingAssetsResponseDto](doc//CheckExistingAssetsResponseDto.md)
|
||||||
- [Colorspace](doc//Colorspace.md)
|
- [Colorspace](doc//Colorspace.md)
|
||||||
|
- [ContributorCountResponseDto](doc//ContributorCountResponseDto.md)
|
||||||
- [CreateAlbumDto](doc//CreateAlbumDto.md)
|
- [CreateAlbumDto](doc//CreateAlbumDto.md)
|
||||||
- [CreateLibraryDto](doc//CreateLibraryDto.md)
|
- [CreateLibraryDto](doc//CreateLibraryDto.md)
|
||||||
- [CreateProfileImageResponseDto](doc//CreateProfileImageResponseDto.md)
|
- [CreateProfileImageResponseDto](doc//CreateProfileImageResponseDto.md)
|
||||||
|
|
|
||||||
1
mobile/openapi/lib/api.dart
generated
1
mobile/openapi/lib/api.dart
generated
|
|
@ -130,6 +130,7 @@ part 'model/change_password_dto.dart';
|
||||||
part 'model/check_existing_assets_dto.dart';
|
part 'model/check_existing_assets_dto.dart';
|
||||||
part 'model/check_existing_assets_response_dto.dart';
|
part 'model/check_existing_assets_response_dto.dart';
|
||||||
part 'model/colorspace.dart';
|
part 'model/colorspace.dart';
|
||||||
|
part 'model/contributor_count_response_dto.dart';
|
||||||
part 'model/create_album_dto.dart';
|
part 'model/create_album_dto.dart';
|
||||||
part 'model/create_library_dto.dart';
|
part 'model/create_library_dto.dart';
|
||||||
part 'model/create_profile_image_response_dto.dart';
|
part 'model/create_profile_image_response_dto.dart';
|
||||||
|
|
|
||||||
2
mobile/openapi/lib/api_client.dart
generated
2
mobile/openapi/lib/api_client.dart
generated
|
|
@ -314,6 +314,8 @@ class ApiClient {
|
||||||
return CheckExistingAssetsResponseDto.fromJson(value);
|
return CheckExistingAssetsResponseDto.fromJson(value);
|
||||||
case 'Colorspace':
|
case 'Colorspace':
|
||||||
return ColorspaceTypeTransformer().decode(value);
|
return ColorspaceTypeTransformer().decode(value);
|
||||||
|
case 'ContributorCountResponseDto':
|
||||||
|
return ContributorCountResponseDto.fromJson(value);
|
||||||
case 'CreateAlbumDto':
|
case 'CreateAlbumDto':
|
||||||
return CreateAlbumDto.fromJson(value);
|
return CreateAlbumDto.fromJson(value);
|
||||||
case 'CreateLibraryDto':
|
case 'CreateLibraryDto':
|
||||||
|
|
|
||||||
9
mobile/openapi/lib/model/album_response_dto.dart
generated
9
mobile/openapi/lib/model/album_response_dto.dart
generated
|
|
@ -18,6 +18,7 @@ class AlbumResponseDto {
|
||||||
this.albumUsers = const [],
|
this.albumUsers = const [],
|
||||||
required this.assetCount,
|
required this.assetCount,
|
||||||
this.assets = const [],
|
this.assets = const [],
|
||||||
|
this.contributorCounts = const [],
|
||||||
required this.createdAt,
|
required this.createdAt,
|
||||||
required this.description,
|
required this.description,
|
||||||
this.endDate,
|
this.endDate,
|
||||||
|
|
@ -43,6 +44,8 @@ class AlbumResponseDto {
|
||||||
|
|
||||||
List<AssetResponseDto> assets;
|
List<AssetResponseDto> assets;
|
||||||
|
|
||||||
|
List<ContributorCountResponseDto> contributorCounts;
|
||||||
|
|
||||||
DateTime createdAt;
|
DateTime createdAt;
|
||||||
|
|
||||||
String description;
|
String description;
|
||||||
|
|
@ -100,6 +103,7 @@ class AlbumResponseDto {
|
||||||
_deepEquality.equals(other.albumUsers, albumUsers) &&
|
_deepEquality.equals(other.albumUsers, albumUsers) &&
|
||||||
other.assetCount == assetCount &&
|
other.assetCount == assetCount &&
|
||||||
_deepEquality.equals(other.assets, assets) &&
|
_deepEquality.equals(other.assets, assets) &&
|
||||||
|
_deepEquality.equals(other.contributorCounts, contributorCounts) &&
|
||||||
other.createdAt == createdAt &&
|
other.createdAt == createdAt &&
|
||||||
other.description == description &&
|
other.description == description &&
|
||||||
other.endDate == endDate &&
|
other.endDate == endDate &&
|
||||||
|
|
@ -122,6 +126,7 @@ class AlbumResponseDto {
|
||||||
(albumUsers.hashCode) +
|
(albumUsers.hashCode) +
|
||||||
(assetCount.hashCode) +
|
(assetCount.hashCode) +
|
||||||
(assets.hashCode) +
|
(assets.hashCode) +
|
||||||
|
(contributorCounts.hashCode) +
|
||||||
(createdAt.hashCode) +
|
(createdAt.hashCode) +
|
||||||
(description.hashCode) +
|
(description.hashCode) +
|
||||||
(endDate == null ? 0 : endDate!.hashCode) +
|
(endDate == null ? 0 : endDate!.hashCode) +
|
||||||
|
|
@ -137,7 +142,7 @@ class AlbumResponseDto {
|
||||||
(updatedAt.hashCode);
|
(updatedAt.hashCode);
|
||||||
|
|
||||||
@override
|
@override
|
||||||
String toString() => 'AlbumResponseDto[albumName=$albumName, albumThumbnailAssetId=$albumThumbnailAssetId, albumUsers=$albumUsers, assetCount=$assetCount, assets=$assets, createdAt=$createdAt, description=$description, endDate=$endDate, hasSharedLink=$hasSharedLink, id=$id, isActivityEnabled=$isActivityEnabled, lastModifiedAssetTimestamp=$lastModifiedAssetTimestamp, order=$order, owner=$owner, ownerId=$ownerId, shared=$shared, startDate=$startDate, updatedAt=$updatedAt]';
|
String toString() => 'AlbumResponseDto[albumName=$albumName, albumThumbnailAssetId=$albumThumbnailAssetId, albumUsers=$albumUsers, assetCount=$assetCount, assets=$assets, contributorCounts=$contributorCounts, createdAt=$createdAt, description=$description, endDate=$endDate, hasSharedLink=$hasSharedLink, id=$id, isActivityEnabled=$isActivityEnabled, lastModifiedAssetTimestamp=$lastModifiedAssetTimestamp, order=$order, owner=$owner, ownerId=$ownerId, shared=$shared, startDate=$startDate, updatedAt=$updatedAt]';
|
||||||
|
|
||||||
Map<String, dynamic> toJson() {
|
Map<String, dynamic> toJson() {
|
||||||
final json = <String, dynamic>{};
|
final json = <String, dynamic>{};
|
||||||
|
|
@ -150,6 +155,7 @@ class AlbumResponseDto {
|
||||||
json[r'albumUsers'] = this.albumUsers;
|
json[r'albumUsers'] = this.albumUsers;
|
||||||
json[r'assetCount'] = this.assetCount;
|
json[r'assetCount'] = this.assetCount;
|
||||||
json[r'assets'] = this.assets;
|
json[r'assets'] = this.assets;
|
||||||
|
json[r'contributorCounts'] = this.contributorCounts;
|
||||||
json[r'createdAt'] = this.createdAt.toUtc().toIso8601String();
|
json[r'createdAt'] = this.createdAt.toUtc().toIso8601String();
|
||||||
json[r'description'] = this.description;
|
json[r'description'] = this.description;
|
||||||
if (this.endDate != null) {
|
if (this.endDate != null) {
|
||||||
|
|
@ -196,6 +202,7 @@ class AlbumResponseDto {
|
||||||
albumUsers: AlbumUserResponseDto.listFromJson(json[r'albumUsers']),
|
albumUsers: AlbumUserResponseDto.listFromJson(json[r'albumUsers']),
|
||||||
assetCount: mapValueOfType<int>(json, r'assetCount')!,
|
assetCount: mapValueOfType<int>(json, r'assetCount')!,
|
||||||
assets: AssetResponseDto.listFromJson(json[r'assets']),
|
assets: AssetResponseDto.listFromJson(json[r'assets']),
|
||||||
|
contributorCounts: ContributorCountResponseDto.listFromJson(json[r'contributorCounts']),
|
||||||
createdAt: mapDateTime(json, r'createdAt', r'')!,
|
createdAt: mapDateTime(json, r'createdAt', r'')!,
|
||||||
description: mapValueOfType<String>(json, r'description')!,
|
description: mapValueOfType<String>(json, r'description')!,
|
||||||
endDate: mapDateTime(json, r'endDate', r''),
|
endDate: mapDateTime(json, r'endDate', r''),
|
||||||
|
|
|
||||||
107
mobile/openapi/lib/model/contributor_count_response_dto.dart
generated
Normal file
107
mobile/openapi/lib/model/contributor_count_response_dto.dart
generated
Normal file
|
|
@ -0,0 +1,107 @@
|
||||||
|
//
|
||||||
|
// AUTO-GENERATED FILE, DO NOT MODIFY!
|
||||||
|
//
|
||||||
|
// @dart=2.18
|
||||||
|
|
||||||
|
// ignore_for_file: unused_element, unused_import
|
||||||
|
// ignore_for_file: always_put_required_named_parameters_first
|
||||||
|
// ignore_for_file: constant_identifier_names
|
||||||
|
// ignore_for_file: lines_longer_than_80_chars
|
||||||
|
|
||||||
|
part of openapi.api;
|
||||||
|
|
||||||
|
class ContributorCountResponseDto {
|
||||||
|
/// Returns a new [ContributorCountResponseDto] instance.
|
||||||
|
ContributorCountResponseDto({
|
||||||
|
required this.assetCount,
|
||||||
|
required this.userId,
|
||||||
|
});
|
||||||
|
|
||||||
|
int assetCount;
|
||||||
|
|
||||||
|
String userId;
|
||||||
|
|
||||||
|
@override
|
||||||
|
bool operator ==(Object other) => identical(this, other) || other is ContributorCountResponseDto &&
|
||||||
|
other.assetCount == assetCount &&
|
||||||
|
other.userId == userId;
|
||||||
|
|
||||||
|
@override
|
||||||
|
int get hashCode =>
|
||||||
|
// ignore: unnecessary_parenthesis
|
||||||
|
(assetCount.hashCode) +
|
||||||
|
(userId.hashCode);
|
||||||
|
|
||||||
|
@override
|
||||||
|
String toString() => 'ContributorCountResponseDto[assetCount=$assetCount, userId=$userId]';
|
||||||
|
|
||||||
|
Map<String, dynamic> toJson() {
|
||||||
|
final json = <String, dynamic>{};
|
||||||
|
json[r'assetCount'] = this.assetCount;
|
||||||
|
json[r'userId'] = this.userId;
|
||||||
|
return json;
|
||||||
|
}
|
||||||
|
|
||||||
|
/// Returns a new [ContributorCountResponseDto] instance and imports its values from
|
||||||
|
/// [value] if it's a [Map], null otherwise.
|
||||||
|
// ignore: prefer_constructors_over_static_methods
|
||||||
|
static ContributorCountResponseDto? fromJson(dynamic value) {
|
||||||
|
upgradeDto(value, "ContributorCountResponseDto");
|
||||||
|
if (value is Map) {
|
||||||
|
final json = value.cast<String, dynamic>();
|
||||||
|
|
||||||
|
return ContributorCountResponseDto(
|
||||||
|
assetCount: mapValueOfType<int>(json, r'assetCount')!,
|
||||||
|
userId: mapValueOfType<String>(json, r'userId')!,
|
||||||
|
);
|
||||||
|
}
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
|
||||||
|
static List<ContributorCountResponseDto> listFromJson(dynamic json, {bool growable = false,}) {
|
||||||
|
final result = <ContributorCountResponseDto>[];
|
||||||
|
if (json is List && json.isNotEmpty) {
|
||||||
|
for (final row in json) {
|
||||||
|
final value = ContributorCountResponseDto.fromJson(row);
|
||||||
|
if (value != null) {
|
||||||
|
result.add(value);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return result.toList(growable: growable);
|
||||||
|
}
|
||||||
|
|
||||||
|
static Map<String, ContributorCountResponseDto> mapFromJson(dynamic json) {
|
||||||
|
final map = <String, ContributorCountResponseDto>{};
|
||||||
|
if (json is Map && json.isNotEmpty) {
|
||||||
|
json = json.cast<String, dynamic>(); // ignore: parameter_assignments
|
||||||
|
for (final entry in json.entries) {
|
||||||
|
final value = ContributorCountResponseDto.fromJson(entry.value);
|
||||||
|
if (value != null) {
|
||||||
|
map[entry.key] = value;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return map;
|
||||||
|
}
|
||||||
|
|
||||||
|
// maps a json object with a list of ContributorCountResponseDto-objects as value to a dart map
|
||||||
|
static Map<String, List<ContributorCountResponseDto>> mapListFromJson(dynamic json, {bool growable = false,}) {
|
||||||
|
final map = <String, List<ContributorCountResponseDto>>{};
|
||||||
|
if (json is Map && json.isNotEmpty) {
|
||||||
|
// ignore: parameter_assignments
|
||||||
|
json = json.cast<String, dynamic>();
|
||||||
|
for (final entry in json.entries) {
|
||||||
|
map[entry.key] = ContributorCountResponseDto.listFromJson(entry.value, growable: growable,);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return map;
|
||||||
|
}
|
||||||
|
|
||||||
|
/// The list of required keys that must be present in a JSON.
|
||||||
|
static const requiredKeys = <String>{
|
||||||
|
'assetCount',
|
||||||
|
'userId',
|
||||||
|
};
|
||||||
|
}
|
||||||
|
|
||||||
6
mobile/openapi/lib/model/notification_type.dart
generated
6
mobile/openapi/lib/model/notification_type.dart
generated
|
|
@ -26,6 +26,8 @@ class NotificationType {
|
||||||
static const jobFailed = NotificationType._(r'JobFailed');
|
static const jobFailed = NotificationType._(r'JobFailed');
|
||||||
static const backupFailed = NotificationType._(r'BackupFailed');
|
static const backupFailed = NotificationType._(r'BackupFailed');
|
||||||
static const systemMessage = NotificationType._(r'SystemMessage');
|
static const systemMessage = NotificationType._(r'SystemMessage');
|
||||||
|
static const albumInvite = NotificationType._(r'AlbumInvite');
|
||||||
|
static const albumUpdate = NotificationType._(r'AlbumUpdate');
|
||||||
static const custom = NotificationType._(r'Custom');
|
static const custom = NotificationType._(r'Custom');
|
||||||
|
|
||||||
/// List of all possible values in this [enum][NotificationType].
|
/// List of all possible values in this [enum][NotificationType].
|
||||||
|
|
@ -33,6 +35,8 @@ class NotificationType {
|
||||||
jobFailed,
|
jobFailed,
|
||||||
backupFailed,
|
backupFailed,
|
||||||
systemMessage,
|
systemMessage,
|
||||||
|
albumInvite,
|
||||||
|
albumUpdate,
|
||||||
custom,
|
custom,
|
||||||
];
|
];
|
||||||
|
|
||||||
|
|
@ -75,6 +79,8 @@ class NotificationTypeTypeTransformer {
|
||||||
case r'JobFailed': return NotificationType.jobFailed;
|
case r'JobFailed': return NotificationType.jobFailed;
|
||||||
case r'BackupFailed': return NotificationType.backupFailed;
|
case r'BackupFailed': return NotificationType.backupFailed;
|
||||||
case r'SystemMessage': return NotificationType.systemMessage;
|
case r'SystemMessage': return NotificationType.systemMessage;
|
||||||
|
case r'AlbumInvite': return NotificationType.albumInvite;
|
||||||
|
case r'AlbumUpdate': return NotificationType.albumUpdate;
|
||||||
case r'Custom': return NotificationType.custom;
|
case r'Custom': return NotificationType.custom;
|
||||||
default:
|
default:
|
||||||
if (!allowNull) {
|
if (!allowNull) {
|
||||||
|
|
|
||||||
Some files were not shown because too many files have changed in this diff Show more
Loading…
Add table
Add a link
Reference in a new issue