Compare commits

...

213 Commits

Author SHA1 Message Date
github-actions
b03a649e74 chore: version v2.7.1 2026-04-07 20:22:28 +00:00
Mert
2903b2653b fix(server): library import batch size (#27595)
* lower batch size

* update test
2026-04-07 15:58:03 -04:00
Mert
9ba9a22c40 fix(ml): downgrade numpy (#27591)
downgrade numpy
2026-04-07 15:57:42 -04:00
bo0tzz
f1882c2926 fix: csp quotes (#27592) 2026-04-07 15:54:30 -04:00
Daniel Dietzler
4278789083 chore: git ignore tsBuildInfo (#27594) 2026-04-07 15:53:10 -04:00
renovate[bot]
921c8a8de3 chore(deps): update dependency typescript to v6 (#27577)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: Daniel Dietzler <mail@ddietzler.dev>
2026-04-07 17:15:55 +02:00
github-actions
afec61addc chore: version v2.7.0 2026-04-07 15:08:18 +00:00
Weblate (bot)
a1a03efbcd chore(web): update translations (#27483)
Translate-URL: https://hosted.weblate.org/projects/immich/immich/ar/
Translate-URL: https://hosted.weblate.org/projects/immich/immich/bg/
Translate-URL: https://hosted.weblate.org/projects/immich/immich/ca/
Translate-URL: https://hosted.weblate.org/projects/immich/immich/de/
Translate-URL: https://hosted.weblate.org/projects/immich/immich/el/
Translate-URL: https://hosted.weblate.org/projects/immich/immich/es/
Translate-URL: https://hosted.weblate.org/projects/immich/immich/fi/
Translate-URL: https://hosted.weblate.org/projects/immich/immich/fr/
Translate-URL: https://hosted.weblate.org/projects/immich/immich/gl/
Translate-URL: https://hosted.weblate.org/projects/immich/immich/it/
Translate-URL: https://hosted.weblate.org/projects/immich/immich/ko/
Translate-URL: https://hosted.weblate.org/projects/immich/immich/lt/
Translate-URL: https://hosted.weblate.org/projects/immich/immich/nb_NO/
Translate-URL: https://hosted.weblate.org/projects/immich/immich/nl/
Translate-URL: https://hosted.weblate.org/projects/immich/immich/nn/
Translate-URL: https://hosted.weblate.org/projects/immich/immich/pl/
Translate-URL: https://hosted.weblate.org/projects/immich/immich/pt/
Translate-URL: https://hosted.weblate.org/projects/immich/immich/ru/
Translate-URL: https://hosted.weblate.org/projects/immich/immich/sl/
Translate-URL: https://hosted.weblate.org/projects/immich/immich/sv/
Translate-URL: https://hosted.weblate.org/projects/immich/immich/th/
Translate-URL: https://hosted.weblate.org/projects/immich/immich/tr/
Translate-URL: https://hosted.weblate.org/projects/immich/immich/zh_Hans/
Translation: Immich/immich

Co-authored-by: Dawnsink <dai@cosmopeace.com>
Co-authored-by: DevServs <bonov@mail.ru>
Co-authored-by: Francesco Fiorentino <gallgricela+trotter@gmail.com>
Co-authored-by: Frank Paul Silye <frankps@gmail.com>
Co-authored-by: Gianni De Wachter <gianni.dewachter@gmail.com>
Co-authored-by: HackingAll <hacking.all.YT@gmail.com>
Co-authored-by: Haru Ijima <haruijimakun@gmail.com>
Co-authored-by: Hurricane_32 <rodrigorimo@hotmail.com>
Co-authored-by: Jarek Iwanus <jiwanus@proton.me>
Co-authored-by: Junghyuk Kwon <kwon@junghy.uk>
Co-authored-by: Krastyo Krastev <roshavi4ak@gmail.com>
Co-authored-by: Luis Peregrina <luis.a.peregrina@gmail.com>
Co-authored-by: MarcSerraPeralta <marcserraperalta@gmail.com>
Co-authored-by: Matjaž T. <matjaz@moj-svet.si>
Co-authored-by: Petri Hämäläinen <petri.hamalainen@mailbox.org>
Co-authored-by: Simen Haugen <simen00@gmail.com>
Co-authored-by: Sylvain Pichon <service@spichon.fr>
Co-authored-by: TA <tobi@warsnich.de>
Co-authored-by: TV Box <realceday.tvbox@gmail.com>
Co-authored-by: Veerasak Kritsanapraphan <veerasak.kritsanapraphan@gmail.com>
Co-authored-by: bittin1ddc447d824349b2 <bittin@reimu.nl>
Co-authored-by: chamdim <chamdim@protonmail.com>
Co-authored-by: miksuk28 <mikhail@sukhanik.no>
Co-authored-by: muziqaz <muziqaz@users.noreply.hosted.weblate.org>
Co-authored-by: nanai <ivagamerytmc@gmail.com>
Co-authored-by: naxxerd <top.gear2951@dsme.no>
Co-authored-by: ray ra <verdonsky22@gmail.com>
Co-authored-by: 张建涛 <app521@gmail.com>
Co-authored-by: 안세훈 <on9686@gmail.com>
2026-04-07 15:05:52 +00:00
Dominik Szymański
1d0e5cf18d fix: allow bots to access /s/ urls (#27579)
#27548 Add Allow directive for custom share links social media preview
2026-04-07 09:22:53 -05:00
Min Idzelis
de9ec95db1 fix(web): handle unhandled promise rejection in CancellableTask (#27553)
When a concurrent caller awaits `this.complete` inside `execute()` and
`cancel()` is called, the promise rejects with `undefined` outside of any
try/catch, causing "Uncaught (in promise) undefined" console spam during
rapid timeline scrolling.

- Wrap the `await this.complete` path in try/catch, returning 'CANCELED'
- Guard the `finally` block to only null `cancelToken` if it still belongs
  to this call, preventing a race condition with `cancel()` to `init()`

Change-Id: I65764dd664eb408433fc6e5fc2be4df56a6a6964
2026-04-07 09:22:29 -05:00
renovate[bot]
7f784952eb chore(deps): update dependency rollup-plugin-visualizer to v7 (#27576)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-04-07 11:01:23 +00:00
renovate[bot]
3d6c7ba353 chore(deps): update dependency @types/supertest to v7 (#27574)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-04-07 10:57:45 +00:00
renovate[bot]
3be97db118 fix(deps): update react monorepo to v19 (major) (#27571)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-04-07 12:53:33 +02:00
renovate[bot]
8f3a99ffbc chore(deps): update dependency eslint-plugin-compat to v7 (#27570)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-04-07 10:52:25 +00:00
renovate[bot]
e6d114af10 chore(deps): update dependency terragrunt to v0.99.5 (#27567)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-04-07 12:37:29 +02:00
renovate[bot]
4e28811f09 chore(deps): update prom/prometheus docker digest to dda13e2 (#27566)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-04-07 11:49:05 +02:00
renovate[bot]
4987032e62 chore(deps): update docker.io/valkey/valkey:9 docker digest to 3b55fba (#27559)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-04-07 11:48:06 +02:00
renovate[bot]
572bad8ede chore(deps): update dependency vite to v8.0.5 [security] (#27543)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-04-06 18:20:10 +00:00
Afonso Mendonça Ribeiro
95c1f0efeb fix: timestamp handling for database backup in Web UI (#27359)
* Fix #26502: Fix timestamp handling for database backup in Web UI

Frontend parsed backup timestamps as UTC, but they were in the
server's local timezone, causing wrong relative times.

Add `timezone` field to DatabaseBackupDto to expose server timezone.
Update frontend to parse timestamps using this timezone.
Convert timestamps to user's local timezone before rendering.
Fallback to browser timezone if server timezone is missing.

Ensures correct relative time display in Web UI.

* fix: regenerate open-api types and remove custom backup type

- Ran `make open-api` to update types based on backend changes
- Removed custom BackupWithTimezone type in MaintenanceBackupsList
- Updated timezone props to use the newly generated native type

* fix: simplify timezone handling for database backups

- Updated DatabaseBackupDto to make timezone a required property
- Removed manual DateTime.local().zoneName fallbacks
- Cleaned up type casts after regenerating OpenAPI types

* fix: Add missing newline at end of spec file
2026-04-06 17:27:48 +02:00
Thomas
fbe631fe91 fix(mobile): convert video controls from hook to stateful widget (#27514)
We are generally looking to move away from hooks as they are hard to
reason about and have weird bugs. In particular, the timer did not
properly capture the ref of the callback, and so it would execute on old
state. A standard stateful widget does not have this problem, and is
easier to organise.

Co-authored-by: Alex <alex.tran1502@gmail.com>
2026-04-06 10:13:45 -05:00
Putu Prema
2143a0c935 fix(mobile): transparent system navbar when trash bottom bar is visible (#27093)
* disable bottom safe area on trash bottom bar so that it extends below the system nav bar

* remove manual padding calculations

* re-add static vertical padding to maintain previous bottom bar height
2026-04-06 09:28:07 -05:00
Ray
136bd1e2eb feat(server): Add support for .ts files (#27529) 2026-04-06 15:50:05 +02:00
Min Idzelis
564065a3ed fix(web): reset cursor style when slideshow bar unmounts (#27521) 2026-04-06 14:07:49 +02:00
Min Idzelis
9bcce59719 fix(e2e): fix search gallery delete tests (#27536) 2026-04-06 14:00:50 +02:00
Luis Nachtigall
cd86a83c33 refactor(mobile): introduce image request registry on iOS (#27486)
* refactor: replace DispatchQueue + DispatchSemaphore with OperationQueue for image processing

* implement RequestRegistry and UnfairLock for managing cancellable requests

* implement requests registry for local and remote image processing

* remove Cancellable protocol and cancel method from request registry

* use mutex

---------

Co-authored-by: mertalev <101130780+mertalev@users.noreply.github.com>
2026-04-05 18:55:43 -04:00
Min Idzelis
f29c06799f fix(web): isFullScreen initial value check is incorrect (#27520) 2026-04-05 21:19:58 +00:00
Luis Nachtigall
6fcf651d76 refactor(mobile): IOS replace DispatchQueue + DispatchSemaphore with OperationQueue for image processing (#27471)
refactor: replace DispatchQueue + DispatchSemaphore with OperationQueue for image processing
2026-04-05 16:11:02 -04:00
Zack Pollard
196307bca5 chore(server): use dev version check endpoint for non-production environments (#27508) 2026-04-05 10:52:59 +01:00
Thomas
776b9cbad5 fix(mobile): use key on video controls (#27512)
The widget is not recreated correctly when videoPlayName changes, which
can cause weird behaviour with hooks and timers (like timers not firing
when they should do). Using a key forces flutter to recreate the widget
properly and allow the assumptions in build to work correctly.
2026-04-04 21:54:34 -05:00
Thomas
960be0c27a fix(mobile): don't update search filters in-place (#26965)
* fix(mobile): don't update search filters in-place

Search filters are currently modified in-place, which can feel quite
janky. The chips behind the bottom sheet update instantly, and the
search page gets confused because filters have been applied but no
search has been initiated. Filters should keep their own copy of the
filter when they're opened, and the commit + search on apply.

The previous filter and pre-filter concepts were also cleaned up. They
added complexity, and `search()` now owns the full life cycle of the
filter.

This now also reverts the changes from #27155, as this solution should
be cleaner.

* refactor & color tweak

---------

Co-authored-by: Alex <alex.tran1502@gmail.com>
2026-04-04 22:53:03 +00:00
Thomas
123119ca0d chore(mobile): reduce buffering timer duration (#27111)
3 seconds is too long for some people, and it can be confusing to see
the video not playing and no indication that it's buffering. Reducing
the duration of the timer should show the spinner faster and prevent
confusion.

Co-authored-by: Alex <alex.tran1502@gmail.com>
2026-04-04 21:25:40 +00:00
Thomas
1772f720bf fix(mobile): reset video controls hide timer when showing controls ch… (#26985)
fix(mobile): reset video controls hide timer when showing controls changes

The hide timer currently only resets when the status of the video
changes, but does not account for when the controls change. This means
that two things happen:

 1. The hide timer does not reset when the controls become visible
    again, the controls will stay visible forever or until the playback
    status changes.
 2. The hide timer will fire too quickly, and will hide the controls
    much sooner than 5 seconds if the controls are hidden and then shown
    again before the hide timer fires.
2026-04-04 16:12:56 -05:00
Thomas
bcc29903de chore(mobile): persist video controls visibility when swiping (#26986)
At current, the controls for videos are always hidden when opening an
asset from the timeline, and when swiping between assets. The latter is
actually quite annoying, so it would be better UX if video controls were
hidden when opening from the timeline like before, but visibility of the
controls was retained when swiping between assets.
2026-04-04 16:11:59 -05:00
Thomas
767caf9bfe fix(mobile): ignore pointer events on toasts (#26990)
These toasts can sometimes cover UI elements and make them impossible to
interact with until they are dismissed. Specifically, deleting an asset
will show a toast over the video controls and prevent seeking.
2026-04-04 10:39:13 -05:00
Min Idzelis
649d14822a refactor(web): rename MonthGroup to TimelineMonth (#27447)
Rename MonthGroup class to TimelineMonth to better convey that it represents a single month within the timeline. Updates the file, class, and all references across 16 files.

Change-Id: Id50fd6d4b7d0e431571b67c0f81c0e316a6a6964
2026-04-03 13:27:12 -04:00
Jason Rasmussen
207672c481 fix: user-agent format (#27488)
* fix: user-agent format

* ci: fix static analysis

---------

Co-authored-by: shenlong-tanwen <139912620+shalong-tanwen@users.noreply.github.com>
2026-04-03 12:26:50 -04:00
John Maguire
4fcd9c2e0d feat: add preview button when selecting images (#27305)
* Add preview button when selecting images

* Fix test helper

* prettier

* styling

---------

Co-authored-by: Alex Tran <alex.tran1502@gmail.com>
2026-04-03 16:21:43 +00:00
renovate[bot]
a2687d674e chore(deps): update dependency lodash-es to v4.18.1 [security] (#27448)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-04-03 18:16:05 +02:00
renovate[bot]
fb1bc7f9e2 chore(deps): update dependency lodash to v4.18.1 [security] (#27461)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-04-03 18:15:31 +02:00
Mert
18e8d30b1c fix(server): double exif join (#27485) 2026-04-03 18:14:46 +02:00
Vogeluff
95ef60628c fix(web): always show search type button (#27043)
* fix(web): always show search type button

* fix(web): formatting fixes

* fix(web): search-type-button inactive styling outline/secondary

* chore: styling

---------

Co-authored-by: Alex Tran <alex.tran1502@gmail.com>
2026-04-03 15:37:03 +00:00
Mees Frensel
a19b7148e5 feat(web): use ui meter component for storage (#27459) 2026-04-03 09:36:22 -05:00
Weblate (bot)
8e414e42f3 chore(web): update translations (#27029)
Co-authored-by: -J- <heyj0e@tuta.io>
Co-authored-by: Aindriú Mac Giolla Eoin <aindriu80@gmail.com>
Co-authored-by: André Nøbbe Christiansen <andre@nobbe.dk>
Co-authored-by: Arif Budiman <arifpedia@gmail.com>
Co-authored-by: Chao En, Kuo <daniel970275@gmail.com>
Co-authored-by: Cornelius Christiansen <christiansen.cornelius@gmail.com>
Co-authored-by: David Kurniawan <kurniawandavid17@gmail.com>
Co-authored-by: DevServs <bonov@mail.ru>
Co-authored-by: Deyan Stamboliev <deyan.stamboliev@gmail.com>
Co-authored-by: Fatah Rokbi <fatahrokbi@gmail.com>
Co-authored-by: Felipe Gomes <seutiaoemporio@gmail.com>
Co-authored-by: Fjuro <fjuro@users.noreply.hosted.weblate.org>
Co-authored-by: Francesco Miccoli <fra03mi@gmail.com>
Co-authored-by: Frank Paul Silye <frankps@gmail.com>
Co-authored-by: Gideon Wentink <gjwentink@gmail.com>
Co-authored-by: HackingAll <hacking.all.YT@gmail.com>
Co-authored-by: Hakan <gucsav@yahoo.com>
Co-authored-by: Hans Cats <hanscats@gmail.com>
Co-authored-by: Happy <59247878+happy2452354@users.noreply.github.com>
Co-authored-by: Hosted Weblate user 85894 <reo7s@users.noreply.hosted.weblate.org>
Co-authored-by: Hurricane_32 <rodrigorimo@hotmail.com>
Co-authored-by: Indrek Haav <indrek.haav@hotmail.com>
Co-authored-by: Indrek Haav <indrekhaav@users.noreply.hosted.weblate.org>
Co-authored-by: Ivan Dimitrov <idimitrov08@gmail.com>
Co-authored-by: Jarek Iwanus <jiwanus@proton.me>
Co-authored-by: Jeppe Nellemann <jepnel@proton.me>
Co-authored-by: JiZPaper <JiZPaper@gmail.com>
Co-authored-by: Joseph <josephlegrand33+hosted.weblate.org@gmail.com>
Co-authored-by: Jozef Gaal <preklady@mayday.sk>
Co-authored-by: Link Notig <TestMailProtonWhyNot@protonmail.com>
Co-authored-by: Marin Čorkalo <mcorkalo@gmail.com>
Co-authored-by: Marwan Jalaleddine <marwanjalaleddine@gmail.com>
Co-authored-by: Matjaž T. <matjaz@moj-svet.si>
Co-authored-by: Matthias Hirsch <ma.hirsch.hh@gmail.com>
Co-authored-by: Michel Heusschen <59014050+michelheusschen@users.noreply.github.com>
Co-authored-by: Niklas Trautwein <jniklast@gmail.com>
Co-authored-by: Olaf Nielsen <solluh@mail.de>
Co-authored-by: Oleksandr Yurov <oyurov@icloud.com>
Co-authored-by: Oscar Guillén <osguima3@gmail.com>
Co-authored-by: PigeonPeak <pigeonpeak@proton.me>
Co-authored-by: PontusÖsterlindh <pontus@osterlindh.com>
Co-authored-by: Psycho <unhomen@gmail.com>
Co-authored-by: Roi Gabay <roigby@gmail.com>
Co-authored-by: Runskrift <anders@rimfrost.nu>
Co-authored-by: Sepehr Behroozi <sep.behroozi@gmail.com>
Co-authored-by: Shimul Roy <stenasaha@gmail.com>
Co-authored-by: Skanda <skillwiz94@gmail.com>
Co-authored-by: Sylvain Pichon <service@spichon.fr>
Co-authored-by: Szymon Kucharski <szymon.kucharski5@gmail.com>
Co-authored-by: TA <tobi@warsnich.de>
Co-authored-by: TV Box <realceday.tvbox@gmail.com>
Co-authored-by: Tage Lauritsen <tage@tunenet.dk>
Co-authored-by: Tim Morley <weblate.3919org@timsk.org>
Co-authored-by: UDP <udp@users.noreply.hosted.weblate.org>
Co-authored-by: Vegard Fladby <vegard@fladby.org>
Co-authored-by: Xo <xocodokie@users.noreply.hosted.weblate.org>
Co-authored-by: Yllelder <yllelder@gmail.com>
Co-authored-by: anton garcias <isaga.percompartir@gmail.com>
Co-authored-by: bittin1ddc447d824349b2 <bittin@reimu.nl>
Co-authored-by: bural <bural@mailbox.org>
Co-authored-by: chamdim <chamdim@protonmail.com>
Co-authored-by: dacx910 <dacx910@users.noreply.hosted.weblate.org>
Co-authored-by: dark fury <nodo05nodo05@gmail.com>
Co-authored-by: dark&white <darkwhite@users.noreply.hosted.weblate.org>
Co-authored-by: dvbthien <dvbthien@users.noreply.hosted.weblate.org>
Co-authored-by: fabiosequeira <fabio.sequeira.t0126448@edu.atec.pt>
Co-authored-by: josu. <josugarralda@gmail.com>
Co-authored-by: kylo32 <kylo32@gmail.com>
Co-authored-by: millallo <millallo@tiscali.it>
Co-authored-by: muziqaz <muziqaz@users.noreply.hosted.weblate.org>
Co-authored-by: pcnc <paul@cioanca.eu>
Co-authored-by: pyccl <changcongliang@163.com>
Co-authored-by: pythoncontroller <zinovlaun@gmail.com>
Co-authored-by: stefano trubian <trubianstefano@gmail.com>
Co-authored-by: waclaw66 <waclaw66@seznam.cz>
Co-authored-by: walpeDEV <walpe.aw@proton.me>
Co-authored-by: தமிழ்நேரம் <tamilneram247@gmail.com>
Co-authored-by: 藍焰-0Blue_Yan0 <jim080825@gmail.com>
2026-04-03 00:04:17 +01:00
Zack Pollard
db0f86c749 feat: move version checks to our own infrastructure (#27450) 2026-04-02 23:32:26 +01:00
Jason Rasmussen
adb6b39eec fix: migrations (#27477) 2026-04-02 17:49:26 -04:00
Jason Rasmussen
c8ae99e7d7 fix: escape html (#27469) 2026-04-02 15:19:24 -04:00
Alex
37823bcd51 feat: create new person in face editor (#27364)
* feat: create new person in face editor

* add delay

* fix: test

* i18n

* fix: unit test

* pr feedback
2026-04-02 15:28:40 +00:00
Mees Frensel
b465f2b58f fix: scrollbar ui theme colors (#27455) 2026-04-02 10:18:47 -05:00
Min Idzelis
2166f07b1f refactor(web): rename DayGroup to TimelineDay (#27446)
Rename DayGroup class to TimelineDay to better convey that it represents
a single day within the timeline. Updates the file, class, and all
references across 13 files.

Change-Id: I9faef9bad73cd5b11f40daaf5eb140dd6a6a6964
2026-04-01 19:30:54 -04:00
Min Idzelis
c9e251c78c feat(web): highlight active person thumbnail in detail panel and edit faces panel (#27401)
- Dim non-hovered person thumbnails to 40% opacity when any face is active
- Add ring highlight on the active person's thumbnail
- Add focus-visible outline styling for keyboard navigation
- Apply same treatment to both detail panel people section and edit faces side panel

Change-Id: I4ac10fe4568b95f3e0e8d9104133180f6a6a6964

Co-authored-by: Alex <alex.tran1502@gmail.com>
2026-04-01 10:49:09 -05:00
Mees Frensel
da4b88fc14 fix(web): transition bg and border-radius (#27438)
* fix(web): transition bg and border-radius

* also transition thumb
2026-04-01 09:34:49 -05:00
okxint
d1e2e8ab4e fix(server): use substring matching for person name search (#26903) 2026-04-01 13:31:54 +00:00
Timon
2a619d3c10 fix(web): Enable stack selector in shared album view (#24641) 2026-04-01 15:19:14 +02:00
Brandon Wees
c29493e3a0 fix: withFilePath select edited or unedited file (#27328)
* fix: withFilePath select edited or unedited file

* chore: test
2026-04-01 08:19:38 -04:00
renovate[bot]
4ef777d145 chore(deps): update dependency handlebars to v4.7.9 [security] (#27334)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-04-01 08:17:58 -04:00
renovate[bot]
0b40f4fd76 chore(deps): update dependency happy-dom to v20.8.9 [security] (#27350)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-04-01 08:16:45 -04:00
bo0tzz
ecba4e2a62 chore: tee GITHUB_OUTPUT for debugging (#27378) 2026-04-01 08:15:43 -04:00
Michel Heusschen
4eb531197e fix(web): prevent AssetUpdate from adding unrelated timeline assets (#27369) 2026-04-01 08:14:28 -04:00
Alex
505a07a825 feat: add move to lock folder in folder view (#27384) 2026-04-01 08:10:39 -04:00
Robin Meese
548dbe8ad6 feat(docs): add keycloack example to oauth docs (#27425) 2026-04-01 13:39:36 +02:00
renovate[bot]
0c184940f4 chore(deps): update github-actions (#27416)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-03-31 15:58:36 +00:00
Channing Bellamy
be180fd9da fix: detection of WebM container (#24182) 2026-03-31 11:44:51 -04:00
renovate[bot]
859f58174e chore(deps): update node.js to v24.14.1 (#27412)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-03-31 12:46:38 +02:00
renovate[bot]
a6c7e76008 chore(deps): update grafana/grafana docker tag to v12.4.2 (#27411)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-03-31 12:39:33 +02:00
renovate[bot]
0ff94213e6 chore(deps): update dependency exiftool-vendored to v35.15.1 (#27415)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-03-31 12:39:11 +02:00
Yaros
6b1dd6f680 fix(mobile): favorite button not updating state (#27271) 2026-03-30 21:24:56 -05:00
Min Idzelis
7d4286bbc5 fix(web): add drop shadow to asset viewer nav bar and prevent button shrinking (#27404)
- Add subtle drop shadow to the asset viewer nav bar for better visual
  separation from the image behind it
- Add drop shadow to the OCR text recognition button in the lower right
- Prevent nav bar action buttons from shrinking to nothing by adding
  *:shrink-0 to the flex container, with p-1/-m-1 to avoid clipping
  focus outlines

Change-Id: I61cdc0ec66a65cde1c95b40c2c5428006a6a6964
2026-03-30 19:22:10 -05:00
Min Idzelis
18201a26d9 feat(web): OCR overlay interactivity during zoom (#27039)
Change-Id: Id62e1a0264df2de0f3177a59b24bc5176a6a6964
2026-03-30 19:19:53 -05:00
Daniel Dietzler
a2e3635ac9 chore: use esm global import (#27408) 2026-03-31 00:22:07 +02:00
Min Idzelis
ce346bf956 feat(web): dim photo outside hovered face bounding box (#27402)
When hovering over a detected face in the photo viewer, an SVG mask overlay
dims the rest of the image (40% black) while leaving the hovered face fully
visible. The overlay fades in/out smoothly via CSS opacity transition by
freezing the last highlighted box positions in state, preventing the overlay
from popping off instantly when the mouse leaves.

Change-Id: I07e2eb2b297820ec89812785fe7943846a6a6964
2026-03-30 16:16:38 -05:00
Mert
a1a2939868 fix(mobile): low upload timeout on android (#27399)
fix timeout
2026-03-30 16:05:21 -05:00
renovate[bot]
e8309585d6 fix(deps): update dependency nodemailer to v8 [security] (#27351)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-03-30 19:44:39 +02:00
Jason Rasmussen
17d4941089 refactor: asset select manager (#27330) 2026-03-30 15:45:57 +01:00
Tony Fung
b09ebb11e9 perf(server): optimize people page query (#27346)
Optimize People page query: modified SQL to use index for faster performance
2026-03-28 21:33:05 +00:00
Nicolas-micuda-becker
181b028b09 fix(web): keep upload totals stable when dismissing items (#27247) (#27354)
* fix(web): keep upload totals stable when dismissing items (#27247)

* chore: remove package-lock.json

---------

Co-authored-by: bwees <brandonwees@gmail.com>
2026-03-28 16:25:44 -05:00
bo0tzz
eb20b715e4 fix: don't auto-close manually reopened PRs (#27347) 2026-03-28 12:50:09 +00:00
Luis Nachtigall
a277c6311f fix(mobile): streamline error handling for live photo saving (#27337) 2026-03-27 19:07:38 -05:00
Jason Rasmussen
5889c42eb6 refactor: asset select manager (#27329) 2026-03-27 14:23:33 -04:00
Jason Rasmussen
14cce0cba3 refactor: asset select manager (#27327) 2026-03-27 13:48:51 -04:00
Jason Rasmussen
9b80ffd9c6 refactor: selection mananger (#27325) 2026-03-27 12:41:52 -04:00
Luis Nachtigall
306a3b8c7f fix(mobile): images loads sometimes cancel too early (#27067)
* refactor listener tracking for image stream completers and fix early cancel call

* fix: improve cache listener identification in image stream tracking

* add documentation and test cases for listener tracking in ImageStreamCompleter

* fix: remove unnecessary image provision flag from listener tracking

* fix: override setImage method in cache aware listener tracker mixin

* fix: rename test file
2026-03-27 10:35:50 -04:00
Putu Prema
be0fc403d8 fix(mobile): mismatch between system and app color when using low-chroma system color scheme (#27282)
use DynamicSchemeVariant.fidelity to preserve low-chroma system color scheme as the app color
2026-03-27 09:21:43 -05:00
Yaros
c13fd9e4b5 fix(mobile): video icon not showing on memories (#27311) 2026-03-27 09:11:02 -05:00
Thomas
8724848fce chore(mobile): reduce spacing on video controls (#27313)
The spacing was required for the old slider, but the new one has its own
spacing and makes it redundant. There is too much now, and we've
received feedback that it should be less sparse. The default track
height of 16px is an improvement over the old track height, but it is
very thick. A middleground of 12px might be better.
2026-03-27 09:10:19 -05:00
Min Idzelis
2d950db940 refactor(web): replace intersection booleans with enum (#27306)
Change-Id: I0c9703d5960031142ae47fef23805e0a6a6a6964
2026-03-27 08:37:12 -04:00
Min Idzelis
4b9ebc2cff refactor(web): migrate isFaceEditMode from standalone store to assetViewerManager (#27307) 2026-03-27 13:20:15 +01:00
Saurav Sharma
e2d26ebdea fix(web): prevent Safari from overwriting live photo image with video (#26898)
When downloading a live photo, Safari overwrites the image file with
the motion video because both share the same base filename. Append
'-motion' suffix to the video filename to prevent collision.

For example, IMG_1234.heic and IMG_1234.mov become IMG_1234.heic
and IMG_1234-motion.mov.

Fixes #23055
2026-03-26 14:37:05 -04:00
Phlogi
8c6adf7157 feat(server): resolve duplicates (#25316)
* feat(web): Synchronize information from deduplicated images

* Added new settings menu to the the deduplication tab.
* The toggable options in the settings are synchronization of: albums, favorites, ratings, description, visibility and location.
* When synchronizing the albums, the resolved images will be added to all albums of the duplicates.
* When synchronizing the favorite status, the resolved images will be marked as favorite, if at least one selectable image is marked as favorite.
* When synchronizing the ratings, the highest rating from the selectable images will be applied to the resolved image.
* When synchronizing the description, all descriptions from the selectable images will be merged into one description for the resolved image.
* When synchronizing the visibility, the most restrictive visibility setting from the selectable images will be applied to the resolved image.
* When synchronizing the location, if exactly one unique location exists among the selectable images, this location will be applied to the resolved image.
* There is no additional UI for these settings to keep the visual clutter minimal. The settings are applied automatically based on the user's preferences.

* Replace addAssetToAlbums with copyAsset

* fix linter

* feat(web): add duplicate sync fields and fix typo

* feat(web): add tag sync and enhance duplicate resolution

This update introduces tag synchronization for duplicate resolution,
ensuring all unique tag IDs from duplicates are applied to kept assets.
The visibility sync logic is updated to use a simplified ordering, as the hidden status items will never show up in a duplicate set.
Album synchronization now merges albums directly via addAssetsToAlbums; as the approach with copyAsset API endpoint was ineffiecient.
Description, rating, and location sync logic is improved for correctness.
and deduplication. i18n strings were added / updated.

* feat(server): move duplicate resolution to backend with sync and stacking

Moves duplicate metadata synchronization from frontend to backend, enabling robust
batch operations and proper validation. This is an improved refactor of PR #13851.

New endpoints:
- POST /duplicates/resolve - batch resolve with configurable metadata sync
- POST /duplicates/stack - create stacks from duplicate groups
- GET /duplicates - now includes suggestedKeepAssetIds based on file size and EXIF

Key changes:
- Move sync logic (albums, tags, favorites, ratings, descriptions, location, visibility) to server
- Add server-side metadata merge policies with proper conflict resolution
- Replace client-side resolution logic with new backend endpoints
- Add comprehensive E2E tests (70+ test cases) and unit tests
- Update OpenAPI specs and TypeScript SDK

No breaking changes - only additions to existing API.

* feat(preferences): enable all duplicate sync settings by default

* chore: clean up

* chore: clean up

* refactor: rename & clean up

* fix: preference upgrade

* chore: linting

* refactor(e2e): use updateAssets API for setAssetDuplicateId

* fix: visibility sync logic in duplicate resolution

* fix(duplicate): write description to exifUpdate

Previously the duplicate resolution populated assetUpdate.description even
though description belongs to exif info.

* fix(duplicate): remove redundant updateLockedColumns wrapper

updateAllExif already computes lockedProperties via distinctLocked
using Object.keys(options). The wrapper added a lockedProperties key
to the options object, causing the spurious string 'lockedProperties'
to be stored in the lockedProperties array.

* fix(duplicate): write merged tags to asset_exif to survive metadata re-extraction

During duplicate resolution, replaceAssetTags correctly wrote merged tag
IDs to the tag_asset table, but never updated asset_exif.tags or locked
the tags property. The subsequent SidecarWrite → AssetExtractMetadata
chain calls applyTagList, which destructively replaces tag_asset rows
with whatever is in asset_exif.tags — still the original per-asset tags,
not the merged set.

Write merged tag values to asset_exif.tags via updateAllExif (which also
locks the property via distinctLocked), and queue SidecarWrite when tags
change so they persist to the sidecar file.

* docs(duplicates): clarify location and tag sync behavior

* refactor(duplicate): remove sync settings, always sync all metadata on resolve

Remove DuplicateSyncSettingsDto and the per-field sync toggles
(albums, favorites, rating, description, visibility, location, tags).
Duplicate resolution now unconditionally syncs all metadata from
trashed assets to kept assets.

- Remove DuplicateSyncSettingsDto and settings field from DuplicateResolveDto
- Update DuplicateService to always run all sync logic without conditionals
- Delete DuplicateSettingsModal.svelte and settings gear button from UI
- Remove DuplicateSettings type and duplicateSettings persisted store
- Update unit and e2e tests to remove settings from resolve requests

* docs: update duplicates utility to reflect automatic metadata sync

* docs(web): replace duplicates info modal with link to documentation

* chore: clean up

* fix: add missing type cast to jsonAgg in duplicate repository getAll

* fix: skip persisting rating=0 in duplicate merge to avoid unnecessary sidecar write

---------

Co-authored-by: Toni <51962051+EinToni@users.noreply.github.com>
Co-authored-by: Jason Rasmussen <jason@rasm.me>
Co-authored-by: Jason Rasmussen <jrasm91@gmail.com>
2026-03-26 18:33:55 +00:00
Mees Frensel
48fdd39d30 feat(web): use ui pin input element (#27200) 2026-03-26 18:24:46 +00:00
Jonathan Jogenfors
22bf7c2005 feat(server): add checksum algorithm field (#26573)
* feat: add checksum algorithm field

* fix comments

* chore: rename migration

---------

Co-authored-by: Jason Rasmussen <jason@rasm.me>
2026-03-26 18:20:25 +00:00
Mees Frensel
47b45453c8 chore(web): refactor activity status (#26956)
* chore(web): refactor activity status

* fix: size change

---------

Co-authored-by: Jason Rasmussen <jason@rasm.me>
2026-03-26 18:15:42 +00:00
Robin Wohlers-Reichel
448c069fb6 feat(web): add shortcuts to rotate images (#26927) 2026-03-26 19:13:01 +01:00
Diogo Tavares Sendim Fernandes
958f270f0d fix(web): keep map view open after closing asset viewer (#26980) 2026-03-26 18:11:05 +00:00
renovate[bot]
9f699fdfc3 chore(deps): update typescript-projects (#26973)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: Daniel Dietzler <mail@ddietzler.dev>
2026-03-26 19:02:27 +01:00
renovate[bot]
00da7b88a1 chore(deps): update dependency @types/node to ^24.12.0 (#26966)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-03-26 13:52:45 -04:00
Michel Heusschen
144a57ddff refactor(server): use helpers for shared link queries (#27088)
* fix(server): prevent album shared link from breaking after uploads

* update test

* add withSharedAssets helper

* remove options

* add more helpers

* update selects
2026-03-26 13:51:00 -04:00
Daniel Dietzler
1bd2d474d7 fix: various comamnd palette usages (#27304) 2026-03-26 17:45:14 +00:00
Jason Rasmussen
b33874ef12 feat: add support for helmet configuration (#27058) 2026-03-26 17:41:23 +00:00
bo0tzz
dbaf4b548b fix: pin success-check-action to correct tag (#27230) 2026-03-26 17:37:23 +00:00
Jason Rasmussen
7d58d5be12 refactor: memory manager (#27206) 2026-03-26 17:36:25 +00:00
renovate[bot]
42fe86d24c chore(deps): update grafana/grafana docker tag to v12.4.1 (#26969)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-03-26 18:31:08 +01:00
Michael Maycock
eeb55c279b fix(web): preserve timezone when changing timestamp (Closes #25354) (#27095) 2026-03-26 17:30:47 +00:00
renovate[bot]
5c159d70a7 chore(deps): update node.js to v24.14.0 (#26972)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-03-26 18:30:38 +01:00
Paul Makles
44ae0fa7ed fix(database restores): don't assume onboarding has completed (#27052) 2026-03-26 18:30:14 +01:00
renovate[bot]
f782782662 fix(deps): update dependency kysely to v0.28.14 [security] (#27068)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-03-26 18:29:53 +01:00
renovate[bot]
4436cab827 chore(deps): update dependency yaml to v2.8.3 [security] (#27293)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-03-26 18:28:46 +01:00
renovate[bot]
74789ad1c4 chore(deps): update dependency picomatch to v4.0.4 [security] (#27281)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-03-26 18:28:05 +01:00
Jason Rasmussen
7877097b3f refactor: asset viewing store (#27204) 2026-03-26 13:22:40 -04:00
Jason Rasmussen
fb84c1cf61 chore: remove unused file (#27202) 2026-03-26 13:22:31 -04:00
Jason Rasmussen
940a1d4ab8 refactor: change location (#27201) 2026-03-26 13:22:14 -04:00
Jason Rasmussen
fae25dbe65 chore: whitelist server deploy files (#27056) 2026-03-26 13:22:03 -04:00
Mert
8dd0d7f34c fix(server): memory fragmentation (#27027) 2026-03-26 18:21:52 +01:00
Jason Rasmussen
9b78f2c0ba chore: remove unused resources (#27055) 2026-03-26 13:21:36 -04:00
Timon
67cedfef17 feat(web): add RemoveFromAlbumAction to asset viewer nav bar (#27000) 2026-03-26 18:20:28 +01:00
Andreas Heinz
c9c2322b9d feat(web): focus on face-editor search input (#27136) 2026-03-26 18:18:23 +01:00
Daniel Dietzler
389356149a refactor: actionable toasts (#27203) 2026-03-26 18:18:06 +01:00
Michel Heusschen
4812a2e2d8 fix(server): refresh unedited asset dimensions on metadata extraction (#27220) 2026-03-26 18:17:32 +01:00
Vogeluff
8f01d06927 feat(web): add a seperate tooltip for switching from dark to light mode (#27297) 2026-03-26 18:15:16 +01:00
github-actions
a2ff075e9a chore: version v2.6.3 2026-03-26 16:23:35 +00:00
Brandon Wees
d8b39906f9 fix: incorrect asset face sync (#27243)
* fix: incorrect asset face sync

* chore: sync sql
2026-03-26 09:39:02 -05:00
Michel Heusschen
b36911a16b fix(server): filter out empty search suggestions (#27292)
* fix(server): filter out empty search suggestions

* make sql
2026-03-26 09:36:04 -05:00
Alex
b074ee202e chore: move slideshow control button group to the left (#27287) 2026-03-26 14:31:11 +00:00
bo0tzz
78bb6cf926 chore: log id of existing asset on duplicate upload (#27266) 2026-03-26 11:50:53 +01:00
Yaros
c980f5fc19 chore(docs): withPeople parameter description (#27262)
* fix(server): withPeople inconsistent

* fix: query failing in some occasions

* test: add medium tests for withPeople option

* Revert "test: add medium tests for withPeople option"

This reverts commit 6c1505ba6b.

* Revert "fix: query failing in some occasions"

This reverts commit 221feeca45.

* Revert "fix(server): withPeople inconsistent"

This reverts commit 4289a9f23d.

* chore: change endpoint description

* chore: generate open-api
2026-03-26 11:50:29 +01:00
Yaros
a26d9e05ba fix(web): shifting motion image button (#27275) 2026-03-26 11:49:21 +01:00
bo0tzz
c862163204 fix: explicitly specify repo in auto-close job (#27291) 2026-03-26 10:43:51 +00:00
Michel Heusschen
5fb8f9bf1a fix(web): prevent horizontal scroll bar in asset viewer side panel (#27270)
* fix(web): prevent horizontal scroll bar in asset viewer side panel

* simplify
2026-03-25 21:02:31 -05:00
Mees Frensel
b9b5dba037 fix(web): crop square ratio i18n (#27257) 2026-03-25 14:05:43 -05:00
renovate[bot]
8bfa75087c chore(deps): update base-image to v202603251709 (major) (#27273)
chore(deps): update base-image to v202603251709

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-03-25 14:04:26 -05:00
bo0tzz
95280edd6c fix: let renovate update base images (#27272) 2026-03-25 18:00:40 +00:00
Mert
a9666d2cef fix(mobile): remove upload timeout (#27237)
remove timeout
2026-03-24 14:40:48 -04:00
renovate[bot]
4af9edc20b chore(deps): update github-actions (#27215)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-03-24 14:31:00 +01:00
renovate[bot]
c975fe5bc7 chore(deps): update github-actions (major) (#27225)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-03-24 12:40:10 +00:00
renovate[bot]
12a4d8e2ee chore(deps): update ghcr.io/jdx/mise docker tag to v2026.3.12 (#27224)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-03-24 12:06:19 +00:00
github-actions
ce9b32a61a chore: version v2.6.2 2026-03-24 02:51:55 +00:00
Yaros
4ddc288cd1 fix(mobile/web): album cover buttons consistency (#27213)
* fix(mobile/web): album cover buttons consistency

* test: adjust test
2026-03-23 21:40:17 -05:00
Yaros
94b15b8678 fix(server): album permissions for editors (#27214)
* fix(server): album permissions for editors

* test: adjust e2e test

* test: fix test
2026-03-23 21:39:30 -05:00
Daniel Dietzler
ff9ae24219 fix: album picker show all albums (#27211) 2026-03-23 19:08:57 -05:00
Matthew Momjian
b456f78771 fix(docs): clarify ML CPU architecture (#27187)
* ML architecture

* format

* clarify amd/arm
2026-03-23 18:29:58 -04:00
Mert
1506776891 fix(mobile): add cookie for auxiliary url (#27209)
add cookie before validating
2026-03-23 16:22:46 -05:00
Yaros
0e93aa74cf fix(mobile): add keys to people list (#27112)
mobile(fix): add keys to people list
2026-03-23 10:50:56 -05:00
Yaros
e95ad9d2eb fix(mobile): option padding on search dropdowns (#27154)
* fix(mobile): option padding on search dropdowns

* chore: prevent height fill up screen and block the bottom menu entry

---------

Co-authored-by: Alex <alex.tran1502@gmail.com>
2026-03-23 15:03:07 +00:00
Nicolas-micuda-becker
b98a227bbd fix(web): update upload summary when removing items (#27035) (#27139) 2026-03-23 10:02:09 -05:00
Michel Heusschen
2dd785e3e2 fix(web): restore duplicate viewer arrow key navigation (#27176) 2026-03-23 10:01:15 -05:00
Daniel Dietzler
7e754125cd fix: download original stale cache when edited (#27195) 2026-03-23 10:00:32 -05:00
Yaros
e2eb03d3a4 fix(mobile): star rating always defaults to 0 (#27157) 2026-03-23 09:56:27 -05:00
Yaros
bf065a834f fix(mobile): no results before applying filter (#27155) 2026-03-23 09:41:13 -05:00
Daniel Dietzler
db79173b5b chore: vite 8 (#26913) 2026-03-23 15:39:46 +01:00
Yaros
33666ccd21 fix(mobile): view similar photos from search (#27149)
* fix(mobile): view similar photos from search

* clean up

---------

Co-authored-by: Alex Tran <alex.tran1502@gmail.com>
2026-03-23 09:36:42 -05:00
bo0tzz
be93b9040c feat: consolidate auto-close workflows (#27172) 2026-03-23 11:22:44 +01:00
Luis Nachtigall
00dae6ac38 fix(mobile): cronet image cache clearing on android (#27054) 2026-03-20 18:28:24 -04:00
Daniel Dietzler
5a8fd40dc5 fix: svelte reactivity issues (#27109) 2026-03-20 15:56:16 -04:00
Jason Rasmussen
813d684aaa fix: shared link add to album (#27063) 2026-03-20 13:14:07 -05:00
Luis Nachtigall
644f705be1 fix(mobile): correct maximumSizeBytes setter to use maximumSizeBytes property (#27098)
fix: correct maximumSizeBytes setter to use maximumSizeBytes property
2026-03-20 12:22:59 -04:00
Thomas
f3e4bcc733 fix(server): queue version check job when config changed (#27094)
Nothing happens when the version checks are enabled, which means the
server may return very stale versions until the next job runs.

Refs: #26935
2026-03-20 10:07:40 -05:00
Michel Heusschen
9a0c17fdb8 fix(web): preserve album scroll when adding to other albums (#27078) 2026-03-20 09:42:19 -05:00
Michel Heusschen
b7c4497dfd fix(web): allow showing combobox items outside modals (#27075)
fix(web): allow showing combobox items outside of modals
2026-03-20 09:41:34 -05:00
Yaros
9c227aeaf5 fix(mobile): simplified chinese not available (#27066) 2026-03-20 00:27:50 -05:00
github-actions
e939fde6f1 chore: version v2.6.1 2026-03-19 17:56:42 +00:00
Mert
019beaed0b fix(mobile): server url migration (#27050)
decode json
2026-03-19 12:52:51 -05:00
Jason Rasmussen
0e4d6d4eac fix(web): disable send button (#27051)
fix(web): disable button while sending
2026-03-19 17:39:13 +00:00
Daniel Dietzler
79f978ddeb fix: writing empty exif tags (#27025) 2026-03-19 17:17:56 +00:00
Jason Rasmussen
f2445ecab1 fix(web): stop in-progress uploads on logout (#27021) 2026-03-19 13:05:11 -04:00
Jason Rasmussen
86311e3cfe fix(web): wrap long album title (#27012) 2026-03-19 13:04:56 -04:00
Jason Rasmussen
29000461c2 fix: ignore errors deleting untitled album (#27020) 2026-03-19 12:55:43 -04:00
Mees Frensel
b30373b24f fix: release rootles compose file (#27048) 2026-03-19 16:45:11 +00:00
bo0tzz
bc2439883a fix: track PR template auto-close with label (#27042)
* fix: track PR template auto-close with label

* fix: format
2026-03-19 12:42:29 -04:00
Jason Rasmussen
044257531e fix(server): fallback to email when name is empty (#27016) 2026-03-19 12:41:20 -04:00
github-actions
f413f5c692 chore: version v2.6.0 2026-03-18 20:37:39 +00:00
Weblate (bot)
52307ed09f chore(web): update translations (#26192)
Translate-URL: https://hosted.weblate.org/projects/immich/immich/
Translate-URL: https://hosted.weblate.org/projects/immich/immich/af/
Translate-URL: https://hosted.weblate.org/projects/immich/immich/ar/
Translate-URL: https://hosted.weblate.org/projects/immich/immich/be/
Translate-URL: https://hosted.weblate.org/projects/immich/immich/bg/
Translate-URL: https://hosted.weblate.org/projects/immich/immich/bn/
Translate-URL: https://hosted.weblate.org/projects/immich/immich/ca/
Translate-URL: https://hosted.weblate.org/projects/immich/immich/cs/
Translate-URL: https://hosted.weblate.org/projects/immich/immich/da/
Translate-URL: https://hosted.weblate.org/projects/immich/immich/de/
Translate-URL: https://hosted.weblate.org/projects/immich/immich/de_CH/
Translate-URL: https://hosted.weblate.org/projects/immich/immich/el/
Translate-URL: https://hosted.weblate.org/projects/immich/immich/eo/
Translate-URL: https://hosted.weblate.org/projects/immich/immich/es/
Translate-URL: https://hosted.weblate.org/projects/immich/immich/et/
Translate-URL: https://hosted.weblate.org/projects/immich/immich/eu/
Translate-URL: https://hosted.weblate.org/projects/immich/immich/fi/
Translate-URL: https://hosted.weblate.org/projects/immich/immich/fr/
Translate-URL: https://hosted.weblate.org/projects/immich/immich/ga/
Translate-URL: https://hosted.weblate.org/projects/immich/immich/gl/
Translate-URL: https://hosted.weblate.org/projects/immich/immich/gsw/
Translate-URL: https://hosted.weblate.org/projects/immich/immich/gu/
Translate-URL: https://hosted.weblate.org/projects/immich/immich/he/
Translate-URL: https://hosted.weblate.org/projects/immich/immich/hi/
Translate-URL: https://hosted.weblate.org/projects/immich/immich/hu/
Translate-URL: https://hosted.weblate.org/projects/immich/immich/id/
Translate-URL: https://hosted.weblate.org/projects/immich/immich/it/
Translate-URL: https://hosted.weblate.org/projects/immich/immich/ja/
Translate-URL: https://hosted.weblate.org/projects/immich/immich/km/
Translate-URL: https://hosted.weblate.org/projects/immich/immich/kn/
Translate-URL: https://hosted.weblate.org/projects/immich/immich/ko/
Translate-URL: https://hosted.weblate.org/projects/immich/immich/lt/
Translate-URL: https://hosted.weblate.org/projects/immich/immich/lv/
Translate-URL: https://hosted.weblate.org/projects/immich/immich/ml/
Translate-URL: https://hosted.weblate.org/projects/immich/immich/ms/
Translate-URL: https://hosted.weblate.org/projects/immich/immich/nb_NO/
Translate-URL: https://hosted.weblate.org/projects/immich/immich/nl/
Translate-URL: https://hosted.weblate.org/projects/immich/immich/pl/
Translate-URL: https://hosted.weblate.org/projects/immich/immich/pt/
Translate-URL: https://hosted.weblate.org/projects/immich/immich/pt_BR/
Translate-URL: https://hosted.weblate.org/projects/immich/immich/ro/
Translate-URL: https://hosted.weblate.org/projects/immich/immich/ru/
Translate-URL: https://hosted.weblate.org/projects/immich/immich/sk/
Translate-URL: https://hosted.weblate.org/projects/immich/immich/sl/
Translate-URL: https://hosted.weblate.org/projects/immich/immich/sr_Cyrl/
Translate-URL: https://hosted.weblate.org/projects/immich/immich/sr_Latn/
Translate-URL: https://hosted.weblate.org/projects/immich/immich/sv/
Translate-URL: https://hosted.weblate.org/projects/immich/immich/te/
Translate-URL: https://hosted.weblate.org/projects/immich/immich/th/
Translate-URL: https://hosted.weblate.org/projects/immich/immich/tr/
Translate-URL: https://hosted.weblate.org/projects/immich/immich/uk/
Translate-URL: https://hosted.weblate.org/projects/immich/immich/vi/
Translate-URL: https://hosted.weblate.org/projects/immich/immich/yue_Hant/
Translate-URL: https://hosted.weblate.org/projects/immich/immich/zh_Hans/
Translate-URL: https://hosted.weblate.org/projects/immich/immich/zh_Hant/
Translation: Immich/immich

Co-authored-by: -J- <heyj0e@tuta.io>
Co-authored-by: Abdullah Atsa <abdullahatsauban@gmail.com>
Co-authored-by: Adam Havránek <adamhavra@seznam.cz>
Co-authored-by: Ahmed Hamdy <ahmedhamdy19375@gmail.com>
Co-authored-by: Ahmed Khaleel Shihab <ahmed91shihab@gmail.com>
Co-authored-by: Aindriú Mac Giolla Eoin <aindriu80@gmail.com>
Co-authored-by: Aleksa Milošević <akimaki15@gmail.com>
Co-authored-by: Anton Palmqvist <apq@users.noreply.hosted.weblate.org>
Co-authored-by: Antón Gómez López <antongomez03@gmail.com>
Co-authored-by: Arif Budiman <arifpedia@gmail.com>
Co-authored-by: Balázs R <nvi9@outlook.hu>
Co-authored-by: Baptiste Mille-Mathias <baptiste.millemathias@alcmeon.com>
Co-authored-by: Berkay Görgülü <berthanas@gmail.com>
Co-authored-by: Bora Atıcı <boratici.acc@gmail.com>
Co-authored-by: CHUNG, Jin-ho <doctorjinho@gmail.com>
Co-authored-by: Cesare Capo <cescapo@icloud.com>
Co-authored-by: Chintan Prajapati <chintan9@student.fdu.edu>
Co-authored-by: Denis Pacquier <denis.pacquier@gmail.com>
Co-authored-by: DevServs <bonov@mail.ru>
Co-authored-by: Dusan Hlavaty <dhlavaty@gmail.com>
Co-authored-by: Dymitr <zasvab@gmail.com>
Co-authored-by: Dániel Gál <galdaniel.school@gmail.com>
Co-authored-by: Emanuel Santos Martins <santosmartinsemanuel@gmail.com>
Co-authored-by: Emanuele La Mura <acedit.wcry@gmail.com>
Co-authored-by: Farkas Rábai <farkasrabai@gmail.com>
Co-authored-by: Fjuro <fjuro@users.noreply.hosted.weblate.org>
Co-authored-by: Floruit <1964993179@qq.com>
Co-authored-by: Frank Paul Silye <frankps@gmail.com>
Co-authored-by: Gabriel <jellyfin.sensitize624@passmail.net>
Co-authored-by: Gideon Wentink <gjwentink@gmail.com>
Co-authored-by: Goran Aničin <anicin.goran@gmail.com>
Co-authored-by: HackingAll <hacking.all.YT@gmail.com>
Co-authored-by: Happy <59247878+happy2452354@users.noreply.github.com>
Co-authored-by: Haru Ijima <haruijimakun@gmail.com>
Co-authored-by: Hosted Weblate user 85894 <reo7s@users.noreply.hosted.weblate.org>
Co-authored-by: Hurricane_32 <rodrigorimo@hotmail.com>
Co-authored-by: IMPERA <rickbrouwer2005premium@gmail.com>
Co-authored-by: Ian.Su <stu92116stu92116@hotmail.com.tw>
Co-authored-by: Immich <weblate@immich.app>
Co-authored-by: Indrek Haav <indrek.haav@hotmail.com>
Co-authored-by: IsakBH <isak@brunhenriksen.net>
Co-authored-by: Ismail <binhelati@gmail.com>
Co-authored-by: Ivan Dimitrov <idimitrov08@gmail.com>
Co-authored-by: Jannik Norden <development.jnorden@outlook.com>
Co-authored-by: Jeppe Nellemann <jepnel@proton.me>
Co-authored-by: Joseph <josephlegrand33+hosted.weblate.org@gmail.com>
Co-authored-by: Jozef Gaal <preklady@mayday.sk>
Co-authored-by: Junghyuk Kwon <kwon@junghy.uk>
Co-authored-by: KW Lam <kwlam281@gmail.com>
Co-authored-by: Kaushal Patel <kaushalpatel1982@gmail.com>
Co-authored-by: Kim Hokyeong <manmen.mi1375@gmail.com>
Co-authored-by: Krzysztof <doom.zg@gmail.com>
Co-authored-by: Leo Bottaro <github@leobottaro.com>
Co-authored-by: Leon S <leonnis16@gmail.com>
Co-authored-by: Liviu Roman <contact@liviuroman.com>
Co-authored-by: Londoneye02 <jcdelcaz@gmail.com>
Co-authored-by: Luca Beyer <trickobert@gmail.com>
Co-authored-by: Lukas Konsin <lukaskonsin@proton.me>
Co-authored-by: Madipodo <madipo@posteo.de>
Co-authored-by: Marc Casillas <mcasillassu@gmail.com>
Co-authored-by: MarcSerraPeralta <marcserraperalta@gmail.com>
Co-authored-by: Marian Wolf <marian.wolf2008@gmail.com>
Co-authored-by: Matjaž T. <matjaz@moj-svet.si>
Co-authored-by: Mayukh Roy <mayukhroy2020@gmail.com>
Co-authored-by: Mees Frensel <meesfrensel@gmail.com>
Co-authored-by: Meet Bhingradiya <meetbhingradiya36@gmail.com>
Co-authored-by: Michel Heusschen <59014050+michelheusschen@users.noreply.github.com>
Co-authored-by: MrZapp-LM <paul.lutz@lichtermacher.at>
Co-authored-by: Muhammad Ivan Aldorino <ivanaldorino@gmail.com>
Co-authored-by: Mykola Vaskevych <22372199@studentmail.ul.ie>
Co-authored-by: Mārtiņš Bruņenieks <martinsb@gmail.com>
Co-authored-by: Olaf Nielsen <solluh@mail.de>
Co-authored-by: PPNplus <ppnplus@protonmail.com>
Co-authored-by: PaCoalt <pschwarzwaelder@yahoo.com>
Co-authored-by: Petri Hämäläinen <petri.hamalainen@mailbox.org>
Co-authored-by: Philip Goto <philip.goto@gmail.com>
Co-authored-by: Philipp Frauenfelder <philipp.frauenfelder@gmail.com>
Co-authored-by: PhillyMay <mein.alias@outlook.com>
Co-authored-by: Phyruos <phyruos@gmail.com>
Co-authored-by: Predrag Milićević <predragmilicevic@gmail.com>
Co-authored-by: Psycho <unhomen@gmail.com>
Co-authored-by: Ramon \"9Tails\" Canales <emaildoramon@gmail.com>
Co-authored-by: Rebelder <bas+github@bbelder.eu>
Co-authored-by: Reo7s <biz@reo-ang.net>
Co-authored-by: Roger Veciana Rovira <rveciana@gmail.com>
Co-authored-by: Roman Fedorchuk <roma.fedorchuk@gmail.com>
Co-authored-by: Ruben Silva <ruben02b@gmail.com>
Co-authored-by: Shadi Alrashoodi <shadifaisal91@gmail.com>
Co-authored-by: Shashibhushan Singh <shashibhushansingh11@gmail.com>
Co-authored-by: Shawn <xiaxinx@gmail.com>
Co-authored-by: Shihfu Juan <xlion@xlion.tw>
Co-authored-by: Skanda <skillwiz94@gmail.com>
Co-authored-by: Sylvain Pichon <service@spichon.fr>
Co-authored-by: TA <tobi@warsnich.de>
Co-authored-by: TV Box <realceday.tvbox@gmail.com>
Co-authored-by: Thomas Grimstad <solmester@gmail.com>
Co-authored-by: Thomas Vente <thomas.vente@gmail.com>
Co-authored-by: Tim Morley <weblate.3919org@timsk.org>
Co-authored-by: TobnacTobi <Tobias.Schrull@gmx.de>
Co-authored-by: Toivo Schmale <thetoicraft@gmail.com>
Co-authored-by: Tomo Tomov <tomotomov92@gmail.com>
Co-authored-by: Ugnius <kaugnius@gmail.com>
Co-authored-by: Ulices <hasecilu@tuta.io>
Co-authored-by: Ulpi Antor <weblate.residual441@passmail.net>
Co-authored-by: Unn Krigul <unn@arter.studio>
Co-authored-by: User 123456789 <user123456789@users.noreply.hosted.weblate.org>
Co-authored-by: Vallabh Sharma <srivallabhsharma@gmail.com>
Co-authored-by: Vegard Fladby <vegard@fladby.org>
Co-authored-by: Viesturs <viesturs.sprogis@outlook.com>
Co-authored-by: Vivek M <vivekmalhotra004@gmail.com>
Co-authored-by: Vixepti <contact@vixepti.fr>
Co-authored-by: Xo <xocodokie@users.noreply.hosted.weblate.org>
Co-authored-by: Zawaer <zawarudo123pro@gmail.com>
Co-authored-by: anton garcias <isaga.percompartir@gmail.com>
Co-authored-by: ashraf0484 <t.sashraf@gmail.com>
Co-authored-by: bittin1ddc447d824349b2 <bittin@reimu.nl>
Co-authored-by: chamdim <chamdim@protonmail.com>
Co-authored-by: dimitrijeforesta <dimitrije.foresta@gmail.com>
Co-authored-by: eav5jhl0 <eav5jhl0@users.noreply.hosted.weblate.org>
Co-authored-by: jellebuitenhuis <github@jellebuitenhuis.nl>
Co-authored-by: kylo32 <kylo32@gmail.com>
Co-authored-by: l m <virtuamoo@gmail.com>
Co-authored-by: millallo <millallo@tiscali.it>
Co-authored-by: muziqaz <muziqaz@users.noreply.hosted.weblate.org>
Co-authored-by: mycodeco <victorschiellerup@gmail.com>
Co-authored-by: nachtpfoetchen <nachtpfoetchen@posteo.de>
Co-authored-by: pyccl <changcongliang@163.com>
Co-authored-by: stesoma <soma.steltzer@gmail.com>
Co-authored-by: techmoocher 🦊 <ndvphuc276@gmail.com>
Co-authored-by: timmy61109 <qazzxcasdqwewsxedc@gmail.com>
Co-authored-by: waclaw66 <waclaw66@seznam.cz>
Co-authored-by: 안세훈 <on9686@gmail.com>
2026-03-18 20:27:17 +00:00
Jason Rasmussen
77020e742a fix: validate accept header before returning html (#27019) 2026-03-18 14:15:48 -04:00
Jason Rasmussen
38b135ff36 fix: bounding box return type (#27014) 2026-03-18 11:58:40 -04:00
Jason Rasmussen
cda4a2a5fc fix: filter after searching by asset id (#26994)
* fix: filter after searching by asset id

* Update web/src/lib/modals/SearchFilterModal.svelte

Co-authored-by: Michel Heusschen <59014050+michelheusschen@users.noreply.github.com>

---------

Co-authored-by: Michel Heusschen <59014050+michelheusschen@users.noreply.github.com>
2026-03-18 13:32:54 +00:00
Min Idzelis
88002cf7fe fix(web): allow images to be downloaded again(long-press or right click) (#26992) 2026-03-18 12:40:36 +01:00
Andreas Heinz
694ea151f5 fix(web): escape handling for tagging and adding a face in asset viewer (#26870) 2026-03-18 12:39:25 +01:00
Jason Rasmussen
b092c8b601 fix: healthcheck (#26989) 2026-03-17 17:54:39 -04:00
Jason Rasmussen
48e6e17829 feat: primary notifications (#26988) 2026-03-17 17:54:11 -04:00
Jason Rasmussen
0519833d75 refactor: prefer tv (#26993) 2026-03-17 17:53:48 -04:00
Thomas
34caed3b2b fix(server): flaky metadata tests (#26964) 2026-03-17 18:06:22 +01:00
Thomas
677cb660f5 fix(mobile): reflect asset deletions instantly (#26835)
Sometimes the current asset won't update when deleted, or it won't
refresh until an event (like showing details) happens.
2026-03-17 06:43:14 -05:00
Michel Heusschen
9b0b2bfcf2 fix(web): jump to primary stacked asset from memory (#26978) 2026-03-17 06:39:39 -05:00
Preslav Penchev
ac6938a629 fix(web): allow pasting PIN code from clipboard or password manager (#26944)
* fix(web): allow pasting PIN code from clipboard or password manager

The keydown handler was blocking Ctrl+V/Cmd+V since it called
preventDefault() on all non-numeric keys. Also adds an onpaste
handler to distribute pasted digits across the individual inputs.

* refactor: handle paste in handleInput, remove maxlength

* cleanup + fix digit focus

---------

Co-authored-by: Preslav Penchev <preslav.penchev@acronis.com>
Co-authored-by: Michel Heusschen <59014050+michelheusschen@users.noreply.github.com>
2026-03-17 06:38:06 -05:00
Thomas
16749ff8ba fix(server): sync files to disk (#26881)
Ensure that all files are flushed after they've been written.

At current, files are not explicitly flushed to disk, which can cause
data corruption. In extreme circumstances, it's possible that uploaded
files may not ever be persisted at all.
2026-03-17 06:33:43 -05:00
renovate[bot]
bba4a00eb1 chore(deps): update github-actions (#26967)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-03-17 10:40:22 +01:00
Mees Frensel
9dafc8e8e9 fix(web): make link fit album card (#26958) 2026-03-16 19:17:55 +01:00
Michel Heusschen
4e44fb9cf7 fix(web): prevent search page error on missing album filter (#26948) 2026-03-16 19:15:20 +01:00
Yaros
82db581cc5 feat(mobile): open in browser (#26369)
* feat(mobile): open in browser

* chore: open in browser instead of webview

* chore: allow archived asset

* fix: moved openinbrowser above unstack

* feat: deeplink into favorites, trash & archived

* fix: use remoteId (for tests to succeed)

---------

Co-authored-by: Alex <alex.tran1502@gmail.com>
2026-03-16 18:06:51 +00:00
Mert
b66c97b785 fix(mobile): use shared auth for background_downloader (#26911)
shared client for background_downloader on ios
2026-03-13 22:23:07 -05:00
Mert
ff936f901d fix(mobile): duplicate server urls returned (#26864)
remove server url

Co-authored-by: Alex <alex.tran1502@gmail.com>
2026-03-13 22:09:42 -05:00
Min Idzelis
48fe111daa feat(web): improve OCR overlay text fitting, reactivity, and accessibility (#26678)
- Precise font sizing using canvas measureText instead of character-count heuristic
- Fix overlay repositioning on viewport resize by computing metrics from reactive state instead of DOM reads
- Fix animation delay on resize by using transition-colors instead of transition-all
- Add keyboard accessibility: OCR boxes are focusable via Tab with reading-order sort
- Show text on focus (same styling as hover) with proper ARIA attributes
2026-03-13 22:04:55 -05:00
bo0tzz
0581b49750 fix: ignore optional headers in pr template check (#26910) 2026-03-13 22:55:00 +00:00
rthrth-svg
2c6d4f3fe1 fix(web): copy yearMonth in MonthGroup to avoid shared object reference with asset (#26890)
Co-authored-by: Min Idzelis <min123@gmail.com>
2026-03-13 22:27:08 +01:00
Belnadifia
55513cd59f feat(server): support IDPs that only send the userinfo in the ID token (#26717)
Co-authored-by: irouply <irouply@secom.fr>
Co-authored-by: Daniel Dietzler <mail@ddietzler.dev>
2026-03-13 22:14:45 +01:00
bo0tzz
10fa928abe feat: require pull requests to follow template (#26902)
* feat: require pull requests to follow template

* fix: persist-credentials: false
2026-03-13 09:43:00 -05:00
Nathaniel Hourt
e322d44f95 fix: SMTP over TLS (#26893)
Final step on #22833

PReq #22833 is about adding support for SMTP-over-TLS rather than just STARTTLS when sending emails. That PReq adds almost everything; it just forgot to actually pass the flag to Nodemailer at the end.

This adds that last line of code and makes it work correctly (for me, anyways!).

Co-authored-by: Nathaniel <I@nathaniel.land>
2026-03-13 09:41:50 -05:00
Michel Heusschen
c2a279e49e fix(web): keep header fixed on individual shared links (#26892) 2026-03-13 09:40:04 -05:00
Mert
226b9390db fix(mobile): video auth (#26887)
* fix video auth

* update commit
2026-03-13 09:38:21 -05:00
Michel Heusschen
754f072ef9 fix(web): disable drag and drop for internal items (#26897) 2026-03-13 09:37:51 -05:00
luis15pt
c91d8745b4 fix: use correct original URL for 360 video panorama playback (#26831)
Co-authored-by: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-12 21:27:44 +01:00
Brandon Wees
f3b7cd6198 refactor: move encoded video to asset files table (#26863)
* refactor: move encoded video to asset files table

* chore: update
2026-03-12 16:15:21 -04:00
Jason Rasmussen
990aff441b fix: add to shared link (#26886) 2026-03-12 16:10:55 -04:00
Daniel Dietzler
001d7d083f refactor: small test factories (#26862) 2026-03-12 14:48:49 -04:00
Michel Heusschen
3fd24e2083 fix(server): restrict individual shared link asset removal to owners (#26868)
* fix(server): restrict individual shared link asset removal to owners

* make open-api
2026-03-12 14:48:00 -04:00
Jason Rasmussen
6bb8f4fcc4 refactor: clean class (#26885) 2026-03-12 14:47:35 -04:00
Jason Rasmussen
d4605b21d9 refactor: external links (#26880) 2026-03-12 14:55:33 +00:00
Jason Rasmussen
3bd37ebbfb refactor: clean class (#26879) 2026-03-12 09:53:46 -05:00
Min Idzelis
5c3777ab46 fix(web): fix zoom touch event handling (#26866)
fix(web): fix zoom touch event handling and add clarifying comments

- Suppress Safari's synthetic dblclick on double-tap which conflicts with zoom-image's touchstart-based zoom
- Add comment explaining pointer-events-none on zoom transform wrapper
- Add comments for touchAction and overflow style overrides
2026-03-12 09:37:29 -05:00
Alex
6c531e0a5a chore: add shadow to video play/pause icon shadow (#26836) 2026-03-11 14:15:31 -05:00
Thomas
471c27cd33 chore(mobile): remove background from asset viewer back button (#26851)
We recently changed the asset viewer to use a gradient. The circle
button looks out of place now.
2026-03-11 14:15:18 -05:00
bo0tzz
4773788a88 chore: more unused release workflow cleanup (#26817) 2026-03-11 20:04:26 +01:00
renovate[bot]
d49d995611 chore(deps): update dependency exiftool-vendored to v35.13.1 (#26813)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-03-11 20:03:19 +01:00
Snowknight26
0ac3d6a83a fix(web): face selection box position resetting on browser resize (#26766) 2026-03-11 19:38:08 +01:00
Mees Frensel
9996ee12d0 refactor(web): crop area tool (#26843) 2026-03-11 18:58:26 +01:00
566 changed files with 21519 additions and 17747 deletions

2
.github/.nvmrc vendored
View File

@@ -1 +1 @@
24.13.1
24.14.1

148
.github/workflows/auto-close.yml vendored Normal file
View File

@@ -0,0 +1,148 @@
name: Auto-close PRs
on:
pull_request_target: # zizmor: ignore[dangerous-triggers]
types: [opened, edited, labeled]
permissions: {}
jobs:
parse_template:
runs-on: ubuntu-latest
if: ${{ github.event.action != 'labeled' && github.event.pull_request.head.repo.fork == true }}
permissions:
contents: read
outputs:
uses_template: ${{ steps.check.outputs.uses_template }}
steps:
- uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
with:
sparse-checkout: .github/pull_request_template.md
sparse-checkout-cone-mode: false
persist-credentials: false
- name: Check required sections
id: check
env:
BODY: ${{ github.event.pull_request.body }}
run: |
OK=true
while IFS= read -r header; do
printf '%s\n' "$BODY" | grep -qF "$header" || OK=false
done < <(sed '/<!--/,/-->/d' .github/pull_request_template.md | grep "^## ")
echo "uses_template=$OK" | tee --append "$GITHUB_OUTPUT"
close_template:
runs-on: ubuntu-latest
needs: parse_template
if: >-
${{
needs.parse_template.outputs.uses_template == 'false'
&& github.event.pull_request.state != 'closed'
&& !contains(github.event.pull_request.labels.*.name, 'auto-closed:template')
}}
permissions:
pull-requests: write
steps:
- name: Comment and close
env:
GH_TOKEN: ${{ github.token }}
NODE_ID: ${{ github.event.pull_request.node_id }}
run: |
gh api graphql \
-f prId="$NODE_ID" \
-f body="This PR has been automatically closed as the description doesn't follow our template. After you edit it to match the template, the PR will automatically be reopened." \
-f query='
mutation CommentAndClosePR($prId: ID!, $body: String!) {
addComment(input: {
subjectId: $prId,
body: $body
}) {
__typename
}
closePullRequest(input: {
pullRequestId: $prId
}) {
__typename
}
}'
- name: Add label
env:
GH_TOKEN: ${{ github.token }}
PR_NUMBER: ${{ github.event.pull_request.number }}
run: gh pr edit "$PR_NUMBER" --repo "${{ github.repository }}" --add-label "auto-closed:template"
close_llm:
runs-on: ubuntu-latest
if: ${{ github.event.action == 'labeled' && github.event.label.name == 'auto-closed:llm' }}
permissions:
pull-requests: write
steps:
- name: Comment and close
env:
GH_TOKEN: ${{ github.token }}
NODE_ID: ${{ github.event.pull_request.node_id }}
run: |
gh api graphql \
-f prId="$NODE_ID" \
-f body="Thank you for your interest in contributing to Immich! Unfortunately this PR looks like it was generated using an LLM. As noted in our [CONTRIBUTING.md](https://github.com/immich-app/immich/blob/main/CONTRIBUTING.md#use-of-generative-ai), we request that you don't use LLMs to generate PRs as those are not a good use of maintainer time." \
-f query='
mutation CommentAndClosePR($prId: ID!, $body: String!) {
addComment(input: {
subjectId: $prId,
body: $body
}) {
__typename
}
closePullRequest(input: {
pullRequestId: $prId
}) {
__typename
}
}'
reopen:
runs-on: ubuntu-latest
needs: parse_template
if: >-
${{
needs.parse_template.outputs.uses_template == 'true'
&& github.event.pull_request.state == 'closed'
&& contains(github.event.pull_request.labels.*.name, 'auto-closed:template')
}}
permissions:
pull-requests: write
steps:
- name: Remove template label
env:
GH_TOKEN: ${{ github.token }}
PR_NUMBER: ${{ github.event.pull_request.number }}
run: gh pr edit "$PR_NUMBER" --repo "${{ github.repository }}" --remove-label "auto-closed:template" || true
- name: Check for remaining auto-closed labels
id: check_labels
env:
GH_TOKEN: ${{ github.token }}
PR_NUMBER: ${{ github.event.pull_request.number }}
run: |
REMAINING=$(gh pr view "$PR_NUMBER" --repo "${{ github.repository }}" --json labels \
--jq '[.labels[].name | select(startswith("auto-closed:"))] | length')
echo "remaining=$REMAINING" | tee --append "$GITHUB_OUTPUT"
- name: Reopen PR
if: ${{ steps.check_labels.outputs.remaining == '0' }}
env:
GH_TOKEN: ${{ github.token }}
NODE_ID: ${{ github.event.pull_request.node_id }}
run: |
gh api graphql \
-f prId="$NODE_ID" \
-f query='
mutation ReopenPR($prId: ID!) {
reopenPullRequest(input: {
pullRequestId: $prId
}) {
__typename
}
}'

View File

@@ -51,14 +51,14 @@ jobs:
should_run: ${{ steps.check.outputs.should_run }}
steps:
- id: token
uses: immich-app/devtools/actions/create-workflow-token@05e16407c0a5492138bb38139c9d9bf067b40886 # create-workflow-token-action-v1.0.1
uses: immich-app/devtools/actions/create-workflow-token@57ff6ebfd507b045514442683ff06ff1b2f6efbd # create-workflow-token-action-v1.0.2
with:
app-id: ${{ secrets.PUSH_O_MATIC_APP_ID }}
private-key: ${{ secrets.PUSH_O_MATIC_APP_KEY }}
- name: Check what should run
id: check
uses: immich-app/devtools/actions/pre-job@eed0f8b8165ffcb951f2ba854b2dd031935e1d73 # pre-job-action-v2.0.2
uses: immich-app/devtools/actions/pre-job@f50e3b600b6ac1763ddb8f3dfc69093512b967a1 # pre-job-action-v2.0.3
with:
github-token: ${{ steps.token.outputs.token }}
filters: |
@@ -79,7 +79,7 @@ jobs:
steps:
- id: token
uses: immich-app/devtools/actions/create-workflow-token@05e16407c0a5492138bb38139c9d9bf067b40886 # create-workflow-token-action-v1.0.1
uses: immich-app/devtools/actions/create-workflow-token@57ff6ebfd507b045514442683ff06ff1b2f6efbd # create-workflow-token-action-v1.0.2
with:
app-id: ${{ secrets.PUSH_O_MATIC_APP_ID }}
private-key: ${{ secrets.PUSH_O_MATIC_APP_KEY }}
@@ -103,7 +103,7 @@ jobs:
- name: Restore Gradle Cache
id: cache-gradle-restore
uses: actions/cache/restore@cdf6c1fa76f9f475f3d7449005a359c84ca0f306 # v5.0.3
uses: actions/cache/restore@668228422ae6a00e4ad889ee87cd7109ec5666a7 # v5.0.4
with:
path: |
~/.gradle/caches
@@ -114,7 +114,7 @@ jobs:
key: build-mobile-gradle-${{ runner.os }}-main
- name: Setup Flutter SDK
uses: subosito/flutter-action@fd55f4c5af5b953cc57a2be44cb082c8f6635e8e # v2.21.0
uses: subosito/flutter-action@1a449444c387b1966244ae4d4f8c696479add0b2 # v2.23.0
with:
channel: 'stable'
flutter-version-file: ./mobile/pubspec.yaml
@@ -153,14 +153,14 @@ jobs:
fi
- name: Publish Android Artifact
uses: actions/upload-artifact@b7c566a772e6b6bfb58ed0dc250532a479d7789f # v6.0.0
uses: actions/upload-artifact@bbbca2ddaa5d8feaa63e36b76fdaad77386f024f # v7.0.0
with:
name: release-apk-signed
path: mobile/build/app/outputs/flutter-apk/*.apk
- name: Save Gradle Cache
id: cache-gradle-save
uses: actions/cache/save@cdf6c1fa76f9f475f3d7449005a359c84ca0f306 # v5.0.3
uses: actions/cache/save@668228422ae6a00e4ad889ee87cd7109ec5666a7 # v5.0.4
if: github.ref == 'refs/heads/main'
with:
path: |
@@ -185,13 +185,13 @@ jobs:
run: sudo xcode-select -s /Applications/Xcode_26.2.app/Contents/Developer
- name: Checkout code
uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6
uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
with:
ref: ${{ inputs.ref || github.sha }}
persist-credentials: false
- name: Setup Flutter SDK
uses: subosito/flutter-action@fd55f4c5af5b953cc57a2be44cb082c8f6635e8e # v2
uses: subosito/flutter-action@1a449444c387b1966244ae4d4f8c696479add0b2 # v2.23.0
with:
channel: 'stable'
flutter-version-file: ./mobile/pubspec.yaml
@@ -210,7 +210,7 @@ jobs:
working-directory: ./mobile
- name: Setup Ruby
uses: ruby/setup-ruby@v1
uses: ruby/setup-ruby@c515ec17f69368147deb311832da000dd229d338 # v1.297.0
with:
ruby-version: '3.3'
bundler-cache: true
@@ -291,7 +291,7 @@ jobs:
security delete-keychain build.keychain || true
- name: Upload IPA artifact
uses: actions/upload-artifact@b7c566a772e6b6bfb58ed0dc250532a479d7789f # v6.0.0
uses: actions/upload-artifact@bbbca2ddaa5d8feaa63e36b76fdaad77386f024f # v7.0.0
with:
name: ios-release-ipa
path: mobile/ios/Runner.ipa

View File

@@ -19,7 +19,7 @@ jobs:
actions: write
steps:
- id: token
uses: immich-app/devtools/actions/create-workflow-token@05e16407c0a5492138bb38139c9d9bf067b40886 # create-workflow-token-action-v1.0.1
uses: immich-app/devtools/actions/create-workflow-token@57ff6ebfd507b045514442683ff06ff1b2f6efbd # create-workflow-token-action-v1.0.2
with:
app-id: ${{ secrets.PUSH_O_MATIC_APP_ID }}
private-key: ${{ secrets.PUSH_O_MATIC_APP_KEY }}

View File

@@ -24,7 +24,7 @@ jobs:
persist-credentials: false
- name: Check for breaking API changes
uses: oasdiff/oasdiff-action/breaking@65fef71494258f00f911d7a71edb0482c5378899 # v0.0.30
uses: oasdiff/oasdiff-action/breaking@1f38ea5ea0b4a2e4e49901c3bcdf4386a05e9ea1 # v0.0.37
with:
base: https://raw.githubusercontent.com/${{ github.repository }}/main/open-api/immich-openapi-specs.json
revision: open-api/immich-openapi-specs.json

View File

@@ -31,7 +31,7 @@ jobs:
working-directory: ./cli
steps:
- id: token
uses: immich-app/devtools/actions/create-workflow-token@05e16407c0a5492138bb38139c9d9bf067b40886 # create-workflow-token-action-v1.0.1
uses: immich-app/devtools/actions/create-workflow-token@57ff6ebfd507b045514442683ff06ff1b2f6efbd # create-workflow-token-action-v1.0.2
with:
app-id: ${{ secrets.PUSH_O_MATIC_APP_ID }}
private-key: ${{ secrets.PUSH_O_MATIC_APP_KEY }}
@@ -42,10 +42,10 @@ jobs:
token: ${{ steps.token.outputs.token }}
- name: Setup pnpm
uses: pnpm/action-setup@41ff72655975bd51cab0327fa583b6e92b6d3061 # v4.2.0
uses: pnpm/action-setup@fc06bc1257f339d1d5d8b3a19a8cae5388b55320 # v5.0.0
- name: Setup Node
uses: actions/setup-node@6044e13b5dc448c55e2357c09f80417699197238 # v6.2.0
uses: actions/setup-node@53b83947a5a98c8d113130e565377fae1a50d02f # v6.3.0
with:
node-version-file: './cli/.nvmrc'
registry-url: 'https://registry.npmjs.org'
@@ -71,7 +71,7 @@ jobs:
steps:
- id: token
uses: immich-app/devtools/actions/create-workflow-token@05e16407c0a5492138bb38139c9d9bf067b40886 # create-workflow-token-action-v1.0.1
uses: immich-app/devtools/actions/create-workflow-token@57ff6ebfd507b045514442683ff06ff1b2f6efbd # create-workflow-token-action-v1.0.2
with:
app-id: ${{ secrets.PUSH_O_MATIC_APP_ID }}
private-key: ${{ secrets.PUSH_O_MATIC_APP_KEY }}
@@ -83,13 +83,13 @@ jobs:
token: ${{ steps.token.outputs.token }}
- name: Set up QEMU
uses: docker/setup-qemu-action@c7c53464625b32c7a7e944ae62b3e17d2b600130 # v3.7.0
uses: docker/setup-qemu-action@ce360397dd3f832beb865e1373c09c0e9f86d70a # v4.0.0
- name: Set up Docker Buildx
uses: docker/setup-buildx-action@8d2750c68a42422c14e847fe6c8ac0403b4cbd6f # v3.12.0
uses: docker/setup-buildx-action@4d04d5d9486b7bd6fa91e7baf45bbb4f8b9deedd # v4.0.0
- name: Login to GitHub Container Registry
uses: docker/login-action@c94ce9fb468520275223c153574b00df6fe4bcc9 # v3.7.0
uses: docker/login-action@b45d80f862d83dbcd57f89517bcf500b2ab88fb2 # v4.0.0
if: ${{ !github.event.pull_request.head.repo.fork }}
with:
registry: ghcr.io
@@ -104,7 +104,7 @@ jobs:
- name: Generate docker image tags
id: metadata
uses: docker/metadata-action@c299e40c65443455700f0fdfc63efafe5b349051 # v5.10.0
uses: docker/metadata-action@030e881283bb7a6894de51c315a6bfe6a94e05cf # v6.0.0
with:
flavor: |
latest=false
@@ -115,7 +115,7 @@ jobs:
type=raw,value=latest,enable=${{ github.event_name == 'release' }}
- name: Build and push image
uses: docker/build-push-action@10e90e3645eae34f1e60eeb005ba3a3d33f178e8 # v6.19.2
uses: docker/build-push-action@d08e5c354a6adb9ed34480a06d141179aa583294 # v7.0.0
with:
file: cli/Dockerfile
platforms: linux/amd64,linux/arm64

View File

@@ -35,7 +35,7 @@ jobs:
needs: [get_body, should_run]
if: ${{ needs.should_run.outputs.should_run == 'true' }}
container:
image: ghcr.io/immich-app/mdq:main@sha256:4f9860d04c88f7f87861f8ee84bfeedaec15ed7ca5ca87bc7db44b036f81645f
image: ghcr.io/immich-app/mdq:main@sha256:df7188ba88abb0800d73cc97d3633280f0c0c3d4c441d678225067bf154150fb
outputs:
checked: ${{ steps.get_checkbox.outputs.checked }}
steps:

View File

@@ -1,38 +0,0 @@
name: Close LLM-generated PRs
on:
pull_request_target:
types: [labeled]
permissions: {}
jobs:
comment_and_close:
runs-on: ubuntu-latest
if: ${{ github.event.label.name == 'llm-generated' }}
permissions:
pull-requests: write
steps:
- name: Comment and close
env:
GH_TOKEN: ${{ github.token }}
NODE_ID: ${{ github.event.pull_request.node_id }}
run: |
gh api graphql \
-f prId="$NODE_ID" \
-f body="Thank you for your interest in contributing to Immich! Unfortunately this PR looks like it was generated using an LLM. As noted in our [CONTRIBUTING.md](https://github.com/immich-app/immich/blob/main/CONTRIBUTING.md#use-of-generative-ai), we request that you don't use LLMs to generate PRs as those are not a good use of maintainer time." \
-f query='
mutation CommentAndClosePR($prId: ID!, $body: String!) {
addComment(input: {
subjectId: $prId,
body: $body
}) {
__typename
}
closePullRequest(input: {
pullRequestId: $prId
}) {
__typename
}
}'

View File

@@ -44,7 +44,7 @@ jobs:
steps:
- id: token
uses: immich-app/devtools/actions/create-workflow-token@05e16407c0a5492138bb38139c9d9bf067b40886 # create-workflow-token-action-v1.0.1
uses: immich-app/devtools/actions/create-workflow-token@57ff6ebfd507b045514442683ff06ff1b2f6efbd # create-workflow-token-action-v1.0.2
with:
app-id: ${{ secrets.PUSH_O_MATIC_APP_ID }}
private-key: ${{ secrets.PUSH_O_MATIC_APP_KEY }}
@@ -57,7 +57,7 @@ jobs:
# Initializes the CodeQL tools for scanning.
- name: Initialize CodeQL
uses: github/codeql-action/init@89a39a4e59826350b863aa6b6252a07ad50cf83e # v4.32.4
uses: github/codeql-action/init@38697555549f1db7851b81482ff19f1fa5c4fedc # v4.34.1
with:
languages: ${{ matrix.language }}
# If you wish to specify custom queries, you can do so here or in a config file.
@@ -70,7 +70,7 @@ jobs:
# Autobuild attempts to build any compiled languages (C/C++, C#, or Java).
# If this step fails, then you should remove it and run the build manually (see below)
- name: Autobuild
uses: github/codeql-action/autobuild@89a39a4e59826350b863aa6b6252a07ad50cf83e # v4.32.4
uses: github/codeql-action/autobuild@38697555549f1db7851b81482ff19f1fa5c4fedc # v4.34.1
# Command-line programs to run using the OS shell.
# 📚 See https://docs.github.com/en/actions/using-workflows/workflow-syntax-for-github-actions#jobsjob_idstepsrun
@@ -83,6 +83,6 @@ jobs:
# ./location_of_script_within_repo/buildscript.sh
- name: Perform CodeQL Analysis
uses: github/codeql-action/analyze@89a39a4e59826350b863aa6b6252a07ad50cf83e # v4.32.4
uses: github/codeql-action/analyze@38697555549f1db7851b81482ff19f1fa5c4fedc # v4.34.1
with:
category: '/language:${{matrix.language}}'

View File

@@ -23,14 +23,14 @@ jobs:
should_run: ${{ steps.check.outputs.should_run }}
steps:
- id: token
uses: immich-app/devtools/actions/create-workflow-token@05e16407c0a5492138bb38139c9d9bf067b40886 # create-workflow-token-action-v1.0.1
uses: immich-app/devtools/actions/create-workflow-token@57ff6ebfd507b045514442683ff06ff1b2f6efbd # create-workflow-token-action-v1.0.2
with:
app-id: ${{ secrets.PUSH_O_MATIC_APP_ID }}
private-key: ${{ secrets.PUSH_O_MATIC_APP_KEY }}
- name: Check what should run
id: check
uses: immich-app/devtools/actions/pre-job@eed0f8b8165ffcb951f2ba854b2dd031935e1d73 # pre-job-action-v2.0.2
uses: immich-app/devtools/actions/pre-job@f50e3b600b6ac1763ddb8f3dfc69093512b967a1 # pre-job-action-v2.0.3
with:
github-token: ${{ steps.token.outputs.token }}
filters: |
@@ -60,7 +60,7 @@ jobs:
suffix: ['', '-cuda', '-rocm', '-openvino', '-armnn', '-rknn']
steps:
- name: Login to GitHub Container Registry
uses: docker/login-action@c94ce9fb468520275223c153574b00df6fe4bcc9 # v3.7.0
uses: docker/login-action@b45d80f862d83dbcd57f89517bcf500b2ab88fb2 # v4.0.0
with:
registry: ghcr.io
username: ${{ github.repository_owner }}
@@ -90,7 +90,7 @@ jobs:
suffix: ['']
steps:
- name: Login to GitHub Container Registry
uses: docker/login-action@c94ce9fb468520275223c153574b00df6fe4bcc9 # v3.7.0
uses: docker/login-action@b45d80f862d83dbcd57f89517bcf500b2ab88fb2 # v4.0.0
with:
registry: ghcr.io
username: ${{ github.repository_owner }}
@@ -132,7 +132,7 @@ jobs:
suffixes: '-rocm'
platforms: linux/amd64
runner-mapping: '{"linux/amd64": "pokedex-large"}'
uses: immich-app/devtools/.github/workflows/multi-runner-build.yml@bd49ed7a5a6022149f79b6564df48177476a822b # multi-runner-build-workflow-v2.2.1
uses: immich-app/devtools/.github/workflows/multi-runner-build.yml@61a0fc2b41524edcc7c9fffb8bb178e6b0ccf21d # multi-runner-build-workflow-v2.3.0
permissions:
contents: read
actions: read
@@ -155,7 +155,7 @@ jobs:
name: Build and Push Server
needs: pre-job
if: ${{ fromJSON(needs.pre-job.outputs.should_run).server == true }}
uses: immich-app/devtools/.github/workflows/multi-runner-build.yml@bd49ed7a5a6022149f79b6564df48177476a822b # multi-runner-build-workflow-v2.2.1
uses: immich-app/devtools/.github/workflows/multi-runner-build.yml@61a0fc2b41524edcc7c9fffb8bb178e6b0ccf21d # multi-runner-build-workflow-v2.3.0
permissions:
contents: read
actions: read
@@ -178,7 +178,7 @@ jobs:
runs-on: ubuntu-latest
if: always()
steps:
- uses: immich-app/devtools/actions/success-check@68f10eb389bb02a3cf9d1156111964c549eb421b # 0.0.4
- uses: immich-app/devtools/actions/success-check@53bb77345ee9f953f93bd6fd9980f07a2f24965e # success-check-action-v0.0.5
with:
needs: ${{ toJSON(needs) }}
@@ -189,6 +189,6 @@ jobs:
runs-on: ubuntu-latest
if: always()
steps:
- uses: immich-app/devtools/actions/success-check@68f10eb389bb02a3cf9d1156111964c549eb421b # 0.0.4
- uses: immich-app/devtools/actions/success-check@53bb77345ee9f953f93bd6fd9980f07a2f24965e # success-check-action-v0.0.5
with:
needs: ${{ toJSON(needs) }}

View File

@@ -21,14 +21,14 @@ jobs:
should_run: ${{ steps.check.outputs.should_run }}
steps:
- id: token
uses: immich-app/devtools/actions/create-workflow-token@05e16407c0a5492138bb38139c9d9bf067b40886 # create-workflow-token-action-v1.0.1
uses: immich-app/devtools/actions/create-workflow-token@57ff6ebfd507b045514442683ff06ff1b2f6efbd # create-workflow-token-action-v1.0.2
with:
app-id: ${{ secrets.PUSH_O_MATIC_APP_ID }}
private-key: ${{ secrets.PUSH_O_MATIC_APP_KEY }}
- name: Check what should run
id: check
uses: immich-app/devtools/actions/pre-job@eed0f8b8165ffcb951f2ba854b2dd031935e1d73 # pre-job-action-v2.0.2
uses: immich-app/devtools/actions/pre-job@f50e3b600b6ac1763ddb8f3dfc69093512b967a1 # pre-job-action-v2.0.3
with:
github-token: ${{ steps.token.outputs.token }}
filters: |
@@ -54,7 +54,7 @@ jobs:
steps:
- id: token
uses: immich-app/devtools/actions/create-workflow-token@05e16407c0a5492138bb38139c9d9bf067b40886 # create-workflow-token-action-v1.0.1
uses: immich-app/devtools/actions/create-workflow-token@57ff6ebfd507b045514442683ff06ff1b2f6efbd # create-workflow-token-action-v1.0.2
with:
app-id: ${{ secrets.PUSH_O_MATIC_APP_ID }}
private-key: ${{ secrets.PUSH_O_MATIC_APP_KEY }}
@@ -67,10 +67,10 @@ jobs:
fetch-depth: 0
- name: Setup pnpm
uses: pnpm/action-setup@41ff72655975bd51cab0327fa583b6e92b6d3061 # v4.2.0
uses: pnpm/action-setup@fc06bc1257f339d1d5d8b3a19a8cae5388b55320 # v5.0.0
- name: Setup Node
uses: actions/setup-node@6044e13b5dc448c55e2357c09f80417699197238 # v6.2.0
uses: actions/setup-node@53b83947a5a98c8d113130e565377fae1a50d02f # v6.3.0
with:
node-version-file: './docs/.nvmrc'
cache: 'pnpm'
@@ -86,7 +86,7 @@ jobs:
run: pnpm build
- name: Upload build output
uses: actions/upload-artifact@b7c566a772e6b6bfb58ed0dc250532a479d7789f # v6.0.0
uses: actions/upload-artifact@bbbca2ddaa5d8feaa63e36b76fdaad77386f024f # v7.0.0
with:
name: docs-build-output
path: docs/build/

View File

@@ -20,7 +20,7 @@ jobs:
artifact: ${{ steps.get-artifact.outputs.result }}
steps:
- id: token
uses: immich-app/devtools/actions/create-workflow-token@05e16407c0a5492138bb38139c9d9bf067b40886 # create-workflow-token-action-v1.0.1
uses: immich-app/devtools/actions/create-workflow-token@57ff6ebfd507b045514442683ff06ff1b2f6efbd # create-workflow-token-action-v1.0.2
with:
app-id: ${{ secrets.PUSH_O_MATIC_APP_ID }}
private-key: ${{ secrets.PUSH_O_MATIC_APP_KEY }}
@@ -119,7 +119,7 @@ jobs:
if: ${{ fromJson(needs.checks.outputs.artifact).found && fromJson(needs.checks.outputs.parameters).shouldDeploy }}
steps:
- id: token
uses: immich-app/devtools/actions/create-workflow-token@05e16407c0a5492138bb38139c9d9bf067b40886 # create-workflow-token-action-v1.0.1
uses: immich-app/devtools/actions/create-workflow-token@57ff6ebfd507b045514442683ff06ff1b2f6efbd # create-workflow-token-action-v1.0.2
with:
app-id: ${{ secrets.PUSH_O_MATIC_APP_ID }}
private-key: ${{ secrets.PUSH_O_MATIC_APP_KEY }}
@@ -131,7 +131,7 @@ jobs:
token: ${{ steps.token.outputs.token }}
- name: Setup Mise
uses: immich-app/devtools/actions/use-mise@dab18118da6476e8237ac94080fd937983fecd42 # use-mise-action-v1.1.2
uses: immich-app/devtools/actions/use-mise@035e80a7d4355d5f087ffb95db9e4a0944c04e56 # use-mise-action-v1.1.3
- name: Load parameters
id: parameters

View File

@@ -17,7 +17,7 @@ jobs:
pull-requests: write
steps:
- id: token
uses: immich-app/devtools/actions/create-workflow-token@05e16407c0a5492138bb38139c9d9bf067b40886 # create-workflow-token-action-v1.0.1
uses: immich-app/devtools/actions/create-workflow-token@57ff6ebfd507b045514442683ff06ff1b2f6efbd # create-workflow-token-action-v1.0.2
with:
app-id: ${{ secrets.PUSH_O_MATIC_APP_ID }}
private-key: ${{ secrets.PUSH_O_MATIC_APP_KEY }}
@@ -29,7 +29,7 @@ jobs:
token: ${{ steps.token.outputs.token }}
- name: Setup Mise
uses: immich-app/devtools/actions/use-mise@dab18118da6476e8237ac94080fd937983fecd42 # use-mise-action-v1.1.2
uses: immich-app/devtools/actions/use-mise@035e80a7d4355d5f087ffb95db9e4a0944c04e56 # use-mise-action-v1.1.3
- name: Destroy Docs Subdomain
env:

View File

@@ -16,7 +16,7 @@ jobs:
steps:
- name: Generate a token
id: generate-token
uses: actions/create-github-app-token@29824e69f54612133e76f7eaac726eef6c875baf # v2.2.1
uses: actions/create-github-app-token@f8d387b68d61c58ab83c6c016672934102569859 # v3.0.0
with:
app-id: ${{ secrets.PUSH_O_MATIC_APP_ID }}
private-key: ${{ secrets.PUSH_O_MATIC_APP_KEY }}
@@ -29,10 +29,10 @@ jobs:
persist-credentials: true
- name: Setup pnpm
uses: pnpm/action-setup@41ff72655975bd51cab0327fa583b6e92b6d3061 # v4.2.0
uses: pnpm/action-setup@fc06bc1257f339d1d5d8b3a19a8cae5388b55320 # v5.0.0
- name: Setup Node
uses: actions/setup-node@6044e13b5dc448c55e2357c09f80417699197238 # v6.2.0
uses: actions/setup-node@53b83947a5a98c8d113130e565377fae1a50d02f # v6.3.0
with:
node-version-file: './server/.nvmrc'
cache: 'pnpm'

View File

@@ -31,7 +31,7 @@ jobs:
- name: Generate a token
id: generate_token
if: ${{ inputs.skip != true }}
uses: actions/create-github-app-token@29824e69f54612133e76f7eaac726eef6c875baf # v2.2.1
uses: actions/create-github-app-token@f8d387b68d61c58ab83c6c016672934102569859 # v3.0.0
with:
app-id: ${{ secrets.PUSH_O_MATIC_APP_ID }}
private-key: ${{ secrets.PUSH_O_MATIC_APP_KEY }}

View File

@@ -14,13 +14,13 @@ jobs:
pull-requests: write
steps:
- id: token
uses: immich-app/devtools/actions/create-workflow-token@05e16407c0a5492138bb38139c9d9bf067b40886 # create-workflow-token-action-v1.0.1
uses: immich-app/devtools/actions/create-workflow-token@57ff6ebfd507b045514442683ff06ff1b2f6efbd # create-workflow-token-action-v1.0.2
with:
app-id: ${{ secrets.PUSH_O_MATIC_APP_ID }}
private-key: ${{ secrets.PUSH_O_MATIC_APP_KEY }}
- name: Require PR to have a changelog label
uses: mheap/github-action-required-labels@8afbe8ae6ab7647d0c9f0cfa7c2f939650d22509 # v5.5.1
uses: mheap/github-action-required-labels@0ac283b4e65c1fb28ce6079dea5546ceca98ccbe # v5.5.2
with:
token: ${{ steps.token.outputs.token }}
mode: exactly

View File

@@ -12,7 +12,7 @@ jobs:
runs-on: ubuntu-latest
steps:
- id: token
uses: immich-app/devtools/actions/create-workflow-token@05e16407c0a5492138bb38139c9d9bf067b40886 # create-workflow-token-action-v1.0.1
uses: immich-app/devtools/actions/create-workflow-token@57ff6ebfd507b045514442683ff06ff1b2f6efbd # create-workflow-token-action-v1.0.2
with:
app-id: ${{ secrets.PUSH_O_MATIC_APP_ID }}
private-key: ${{ secrets.PUSH_O_MATIC_APP_KEY }}

View File

@@ -50,7 +50,7 @@ jobs:
steps:
- name: Generate a token
id: generate-token
uses: actions/create-github-app-token@29824e69f54612133e76f7eaac726eef6c875baf # v2.2.1
uses: actions/create-github-app-token@f8d387b68d61c58ab83c6c016672934102569859 # v3.0.0
with:
app-id: ${{ secrets.PUSH_O_MATIC_APP_ID }}
private-key: ${{ secrets.PUSH_O_MATIC_APP_KEY }}
@@ -63,13 +63,13 @@ jobs:
ref: main
- name: Install uv
uses: astral-sh/setup-uv@eac588ad8def6316056a12d4907a9d4d84ff7a3b # v7.3.0
uses: astral-sh/setup-uv@37802adc94f370d6bfd71619e3f0bf239e1f3b78 # v7.6.0
- name: Setup pnpm
uses: pnpm/action-setup@41ff72655975bd51cab0327fa583b6e92b6d3061 # v4.2.0
uses: pnpm/action-setup@fc06bc1257f339d1d5d8b3a19a8cae5388b55320 # v5.0.0
- name: Setup Node
uses: actions/setup-node@6044e13b5dc448c55e2357c09f80417699197238 # v6.2.0
uses: actions/setup-node@53b83947a5a98c8d113130e565377fae1a50d02f # v6.3.0
with:
node-version-file: './server/.nvmrc'
cache: 'pnpm'
@@ -124,7 +124,7 @@ jobs:
steps:
- name: Generate a token
id: generate-token
uses: actions/create-github-app-token@29824e69f54612133e76f7eaac726eef6c875baf # v2.2.1
uses: actions/create-github-app-token@f8d387b68d61c58ab83c6c016672934102569859 # v3.0.0
with:
app-id: ${{ secrets.PUSH_O_MATIC_APP_ID }}
private-key: ${{ secrets.PUSH_O_MATIC_APP_KEY }}
@@ -136,13 +136,13 @@ jobs:
persist-credentials: false
- name: Download APK
uses: actions/download-artifact@37930b1c2abaa49bbe596cd826c3c89aef350131 # v7.0.0
uses: actions/download-artifact@3e5f45b2cfb9172054b4087a40e8e0b5a5461e7c # v8.0.1
with:
name: release-apk-signed
github-token: ${{ steps.generate-token.outputs.token }}
- name: Create draft release
uses: softprops/action-gh-release@a06a81a03ee405af7f2048a818ed3f03bbf83c7b # v2.5.0
uses: softprops/action-gh-release@153bb8e04406b158c6c84fc1615b65b24149a1fe # v2.6.1
with:
draft: true
tag_name: ${{ needs.bump_version.outputs.version }}
@@ -151,6 +151,7 @@ jobs:
body_path: misc/release/notes.tmpl
files: |
docker/docker-compose.yml
docker/docker-compose.rootless.yml
docker/example.env
docker/hwaccel.ml.yml
docker/hwaccel.transcoding.yml

View File

@@ -14,12 +14,12 @@ jobs:
pull-requests: write
steps:
- id: token
uses: immich-app/devtools/actions/create-workflow-token@05e16407c0a5492138bb38139c9d9bf067b40886 # create-workflow-token-action-v1.0.1
uses: immich-app/devtools/actions/create-workflow-token@57ff6ebfd507b045514442683ff06ff1b2f6efbd # create-workflow-token-action-v1.0.2
with:
app-id: ${{ secrets.PUSH_O_MATIC_APP_ID }}
private-key: ${{ secrets.PUSH_O_MATIC_APP_KEY }}
- uses: mshick/add-pr-comment@b8f338c590a895d50bcbfa6c5859251edc8952fc # v2.8.2
- uses: mshick/add-pr-comment@ffd016c7e151d97d69d21a843022fd4cd5b96fe5 # v3.9.0
with:
github-token: ${{ steps.token.outputs.token }}
message-id: 'preview-status'
@@ -32,7 +32,7 @@ jobs:
pull-requests: write
steps:
- id: token
uses: immich-app/devtools/actions/create-workflow-token@05e16407c0a5492138bb38139c9d9bf067b40886 # create-workflow-token-action-v1.0.1
uses: immich-app/devtools/actions/create-workflow-token@57ff6ebfd507b045514442683ff06ff1b2f6efbd # create-workflow-token-action-v1.0.2
with:
app-id: ${{ secrets.PUSH_O_MATIC_APP_ID }}
private-key: ${{ secrets.PUSH_O_MATIC_APP_KEY }}
@@ -48,14 +48,14 @@ jobs:
name: 'preview'
})
- uses: mshick/add-pr-comment@b8f338c590a895d50bcbfa6c5859251edc8952fc # v2.8.2
- uses: mshick/add-pr-comment@ffd016c7e151d97d69d21a843022fd4cd5b96fe5 # v3.9.0
if: ${{ github.event.pull_request.head.repo.fork }}
with:
github-token: ${{ steps.token.outputs.token }}
message-id: 'preview-status'
message: 'PRs from forks cannot have preview environments.'
- uses: mshick/add-pr-comment@b8f338c590a895d50bcbfa6c5859251edc8952fc # v2.8.2
- uses: mshick/add-pr-comment@ffd016c7e151d97d69d21a843022fd4cd5b96fe5 # v3.9.0
if: ${{ !github.event.pull_request.head.repo.fork }}
with:
github-token: ${{ steps.token.outputs.token }}

View File

@@ -1,149 +0,0 @@
name: release.yml
on:
pull_request:
types: [closed]
paths:
- CHANGELOG.md
jobs:
# Maybe double check PR source branch?
merge_translations:
uses: ./.github/workflows/merge-translations.yml
permissions:
pull-requests: write
secrets:
PUSH_O_MATIC_APP_ID: ${{ secrets.PUSH_O_MATIC_APP_ID }}
PUSH_O_MATIC_APP_KEY: ${{ secrets.PUSH_O_MATIC_APP_KEY }}
WEBLATE_TOKEN: ${{ secrets.WEBLATE_TOKEN }}
build_mobile:
uses: ./.github/workflows/build-mobile.yml
needs: merge_translations
permissions:
contents: read
secrets:
KEY_JKS: ${{ secrets.KEY_JKS }}
ALIAS: ${{ secrets.ALIAS }}
ANDROID_KEY_PASSWORD: ${{ secrets.ANDROID_KEY_PASSWORD }}
ANDROID_STORE_PASSWORD: ${{ secrets.ANDROID_STORE_PASSWORD }}
# iOS secrets
APP_STORE_CONNECT_API_KEY_ID: ${{ secrets.APP_STORE_CONNECT_API_KEY_ID }}
APP_STORE_CONNECT_API_KEY_ISSUER_ID: ${{ secrets.APP_STORE_CONNECT_API_KEY_ISSUER_ID }}
APP_STORE_CONNECT_API_KEY: ${{ secrets.APP_STORE_CONNECT_API_KEY }}
IOS_CERTIFICATE_P12: ${{ secrets.IOS_CERTIFICATE_P12 }}
IOS_CERTIFICATE_PASSWORD: ${{ secrets.IOS_CERTIFICATE_PASSWORD }}
IOS_PROVISIONING_PROFILE: ${{ secrets.IOS_PROVISIONING_PROFILE }}
IOS_PROVISIONING_PROFILE_SHARE_EXTENSION: ${{ secrets.IOS_PROVISIONING_PROFILE_SHARE_EXTENSION }}misc/release/notes.tmpl
IOS_PROVISIONING_PROFILE_WIDGET_EXTENSION: ${{ secrets.IOS_PROVISIONING_PROFILE_WIDGET_EXTENSION }}
IOS_DEVELOPMENT_PROVISIONING_PROFILE: ${{ secrets.IOS_DEVELOPMENT_PROVISIONING_PROFILE }}
IOS_DEVELOPMENT_PROVISIONING_PROFILE_SHARE_EXTENSION: ${{ secrets.IOS_DEVELOPMENT_PROVISIONING_PROFILE_SHARE_EXTENSION }}
IOS_DEVELOPMENT_PROVISIONING_PROFILE_WIDGET_EXTENSION: ${{ secrets.IOS_DEVELOPMENT_PROVISIONING_PROFILE_WIDGET_EXTENSION }}
FASTLANE_TEAM_ID: ${{ secrets.FASTLANE_TEAM_ID }}
with:
ref: main
environment: production
prepare_release:
runs-on: ubuntu-latest
needs: build_mobile
permissions:
actions: read # To download the app artifact
steps:
- name: Generate a token
id: generate-token
uses: actions/create-github-app-token@29824e69f54612133e76f7eaac726eef6c875baf # v2.2.1
with:
app-id: ${{ secrets.PUSH_O_MATIC_APP_ID }}
private-key: ${{ secrets.PUSH_O_MATIC_APP_KEY }}
- name: Checkout
uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
with:
token: ${{ steps.generate-token.outputs.token }}
persist-credentials: false
ref: main
- name: Extract changelog
id: changelog
run: |
CHANGELOG_PATH=$RUNNER_TEMP/changelog.md
sed -n '1,/^---$/p' CHANGELOG.md | head -n -1 > $CHANGELOG_PATH
echo "path=$CHANGELOG_PATH" >> $GITHUB_OUTPUT
VERSION=$(sed -n 's/^# //p' $CHANGELOG_PATH)
echo "version=$VERSION" >> $GITHUB_OUTPUT
- name: Download APK
uses: actions/download-artifact@37930b1c2abaa49bbe596cd826c3c89aef350131 # v7.0.0
with:
name: release-apk-signed
github-token: ${{ steps.generate-token.outputs.token }}
- name: Create draft release
uses: softprops/action-gh-release@a06a81a03ee405af7f2048a818ed3f03bbf83c7b # v2.5.0
with:
tag_name: ${{ steps.version.outputs.result }}
token: ${{ steps.generate-token.outputs.token }}
body_path: ${{ steps.changelog.outputs.path }}
draft: true
files: |
docker/docker-compose.yml
docker/docker-compose.rootless.yml
docker/example.env
docker/hwaccel.ml.yml
docker/hwaccel.transcoding.yml
docker/prometheus.yml
*.apk
- name: Rename Outline document
uses: actions/github-script@ed597411d8f924073f98dfc5c65a23a2325f34cd # v8.0.0
continue-on-error: true
env:
OUTLINE_API_KEY: ${{ secrets.OUTLINE_API_KEY }}
VERSION: ${{ steps.changelog.outputs.version }}
with:
github-token: ${{ steps.generate-token.outputs.token }}
script: |
const outlineKey = process.env.OUTLINE_API_KEY;
const version = process.env.VERSION;
const parentDocumentId = 'da856355-0844-43df-bd71-f8edce5382d9';
const baseUrl = 'https://outline.immich.cloud';
const listResponse = await fetch(`${baseUrl}/api/documents.list`, {
method: 'POST',
headers: {
'Authorization': `Bearer ${outlineKey}`,
'Content-Type': 'application/json'
},
body: JSON.stringify({ parentDocumentId })
});
if (!listResponse.ok) {
throw new Error(`Outline list failed: ${listResponse.statusText}`);
}
const listData = await listResponse.json();
const allDocuments = listData.data || [];
const document = allDocuments.find(doc => doc.title === 'next');
if (document) {
console.log(`Found document 'next', renaming to '${version}'...`);
const updateResponse = await fetch(`${baseUrl}/api/documents.update`, {
method: 'POST',
headers: {
'Authorization': `Bearer ${outlineKey}`,
'Content-Type': 'application/json'
},
body: JSON.stringify({
id: document.id,
title: version
})
});
if (!updateResponse.ok) {
throw new Error(`Failed to rename document: ${updateResponse.statusText}`);
}
} else {
console.log('No document titled "next" found to rename');
}

View File

@@ -19,7 +19,7 @@ jobs:
working-directory: ./open-api/typescript-sdk
steps:
- id: token
uses: immich-app/devtools/actions/create-workflow-token@05e16407c0a5492138bb38139c9d9bf067b40886 # create-workflow-token-action-v1.0.1
uses: immich-app/devtools/actions/create-workflow-token@57ff6ebfd507b045514442683ff06ff1b2f6efbd # create-workflow-token-action-v1.0.2
with:
app-id: ${{ secrets.PUSH_O_MATIC_APP_ID }}
private-key: ${{ secrets.PUSH_O_MATIC_APP_KEY }}
@@ -30,10 +30,10 @@ jobs:
token: ${{ steps.token.outputs.token }}
- name: Setup pnpm
uses: pnpm/action-setup@41ff72655975bd51cab0327fa583b6e92b6d3061 # v4.2.0
uses: pnpm/action-setup@fc06bc1257f339d1d5d8b3a19a8cae5388b55320 # v5.0.0
# Setup .npmrc file to publish to npm
- uses: actions/setup-node@6044e13b5dc448c55e2357c09f80417699197238 # v6.2.0
- uses: actions/setup-node@53b83947a5a98c8d113130e565377fae1a50d02f # v6.3.0
with:
node-version-file: './open-api/typescript-sdk/.nvmrc'
registry-url: 'https://registry.npmjs.org'

View File

@@ -20,14 +20,14 @@ jobs:
should_run: ${{ steps.check.outputs.should_run }}
steps:
- id: token
uses: immich-app/devtools/actions/create-workflow-token@05e16407c0a5492138bb38139c9d9bf067b40886 # create-workflow-token-action-v1.0.1
uses: immich-app/devtools/actions/create-workflow-token@57ff6ebfd507b045514442683ff06ff1b2f6efbd # create-workflow-token-action-v1.0.2
with:
app-id: ${{ secrets.PUSH_O_MATIC_APP_ID }}
private-key: ${{ secrets.PUSH_O_MATIC_APP_KEY }}
- name: Check what should run
id: check
uses: immich-app/devtools/actions/pre-job@eed0f8b8165ffcb951f2ba854b2dd031935e1d73 # pre-job-action-v2.0.2
uses: immich-app/devtools/actions/pre-job@f50e3b600b6ac1763ddb8f3dfc69093512b967a1 # pre-job-action-v2.0.3
with:
github-token: ${{ steps.token.outputs.token }}
filters: |
@@ -49,7 +49,7 @@ jobs:
working-directory: ./mobile
steps:
- id: token
uses: immich-app/devtools/actions/create-workflow-token@05e16407c0a5492138bb38139c9d9bf067b40886 # create-workflow-token-action-v1.0.1
uses: immich-app/devtools/actions/create-workflow-token@57ff6ebfd507b045514442683ff06ff1b2f6efbd # create-workflow-token-action-v1.0.2
with:
app-id: ${{ secrets.PUSH_O_MATIC_APP_ID }}
private-key: ${{ secrets.PUSH_O_MATIC_APP_KEY }}
@@ -61,7 +61,7 @@ jobs:
token: ${{ steps.token.outputs.token }}
- name: Setup Flutter SDK
uses: subosito/flutter-action@fd55f4c5af5b953cc57a2be44cb082c8f6635e8e # v2.21.0
uses: subosito/flutter-action@1a449444c387b1966244ae4d4f8c696479add0b2 # v2.23.0
with:
channel: 'stable'
flutter-version-file: ./mobile/pubspec.yaml

View File

@@ -17,14 +17,14 @@ jobs:
should_run: ${{ steps.check.outputs.should_run }}
steps:
- id: token
uses: immich-app/devtools/actions/create-workflow-token@05e16407c0a5492138bb38139c9d9bf067b40886 # create-workflow-token-action-v1.0.1
uses: immich-app/devtools/actions/create-workflow-token@57ff6ebfd507b045514442683ff06ff1b2f6efbd # create-workflow-token-action-v1.0.2
with:
app-id: ${{ secrets.PUSH_O_MATIC_APP_ID }}
private-key: ${{ secrets.PUSH_O_MATIC_APP_KEY }}
- name: Check what should run
id: check
uses: immich-app/devtools/actions/pre-job@eed0f8b8165ffcb951f2ba854b2dd031935e1d73 # pre-job-action-v2.0.2
uses: immich-app/devtools/actions/pre-job@f50e3b600b6ac1763ddb8f3dfc69093512b967a1 # pre-job-action-v2.0.3
with:
github-token: ${{ steps.token.outputs.token }}
filters: |
@@ -63,7 +63,7 @@ jobs:
working-directory: ./server
steps:
- id: token
uses: immich-app/devtools/actions/create-workflow-token@05e16407c0a5492138bb38139c9d9bf067b40886 # create-workflow-token-action-v1.0.1
uses: immich-app/devtools/actions/create-workflow-token@57ff6ebfd507b045514442683ff06ff1b2f6efbd # create-workflow-token-action-v1.0.2
with:
app-id: ${{ secrets.PUSH_O_MATIC_APP_ID }}
private-key: ${{ secrets.PUSH_O_MATIC_APP_KEY }}
@@ -75,9 +75,9 @@ jobs:
token: ${{ steps.token.outputs.token }}
- name: Setup pnpm
uses: pnpm/action-setup@41ff72655975bd51cab0327fa583b6e92b6d3061 # v4.2.0
uses: pnpm/action-setup@fc06bc1257f339d1d5d8b3a19a8cae5388b55320 # v5.0.0
- name: Setup Node
uses: actions/setup-node@6044e13b5dc448c55e2357c09f80417699197238 # v6.2.0
uses: actions/setup-node@53b83947a5a98c8d113130e565377fae1a50d02f # v6.3.0
with:
node-version-file: './server/.nvmrc'
cache: 'pnpm'
@@ -108,7 +108,7 @@ jobs:
working-directory: ./cli
steps:
- id: token
uses: immich-app/devtools/actions/create-workflow-token@05e16407c0a5492138bb38139c9d9bf067b40886 # create-workflow-token-action-v1.0.1
uses: immich-app/devtools/actions/create-workflow-token@57ff6ebfd507b045514442683ff06ff1b2f6efbd # create-workflow-token-action-v1.0.2
with:
app-id: ${{ secrets.PUSH_O_MATIC_APP_ID }}
private-key: ${{ secrets.PUSH_O_MATIC_APP_KEY }}
@@ -119,9 +119,9 @@ jobs:
persist-credentials: false
token: ${{ steps.token.outputs.token }}
- name: Setup pnpm
uses: pnpm/action-setup@41ff72655975bd51cab0327fa583b6e92b6d3061 # v4.2.0
uses: pnpm/action-setup@fc06bc1257f339d1d5d8b3a19a8cae5388b55320 # v5.0.0
- name: Setup Node
uses: actions/setup-node@6044e13b5dc448c55e2357c09f80417699197238 # v6.2.0
uses: actions/setup-node@53b83947a5a98c8d113130e565377fae1a50d02f # v6.3.0
with:
node-version-file: './cli/.nvmrc'
cache: 'pnpm'
@@ -155,7 +155,7 @@ jobs:
working-directory: ./cli
steps:
- id: token
uses: immich-app/devtools/actions/create-workflow-token@05e16407c0a5492138bb38139c9d9bf067b40886 # create-workflow-token-action-v1.0.1
uses: immich-app/devtools/actions/create-workflow-token@57ff6ebfd507b045514442683ff06ff1b2f6efbd # create-workflow-token-action-v1.0.2
with:
app-id: ${{ secrets.PUSH_O_MATIC_APP_ID }}
private-key: ${{ secrets.PUSH_O_MATIC_APP_KEY }}
@@ -166,9 +166,9 @@ jobs:
persist-credentials: false
token: ${{ steps.token.outputs.token }}
- name: Setup pnpm
uses: pnpm/action-setup@41ff72655975bd51cab0327fa583b6e92b6d3061 # v4.2.0
uses: pnpm/action-setup@fc06bc1257f339d1d5d8b3a19a8cae5388b55320 # v5.0.0
- name: Setup Node
uses: actions/setup-node@6044e13b5dc448c55e2357c09f80417699197238 # v6.2.0
uses: actions/setup-node@53b83947a5a98c8d113130e565377fae1a50d02f # v6.3.0
with:
node-version-file: './cli/.nvmrc'
cache: 'pnpm'
@@ -197,7 +197,7 @@ jobs:
working-directory: ./web
steps:
- id: token
uses: immich-app/devtools/actions/create-workflow-token@05e16407c0a5492138bb38139c9d9bf067b40886 # create-workflow-token-action-v1.0.1
uses: immich-app/devtools/actions/create-workflow-token@57ff6ebfd507b045514442683ff06ff1b2f6efbd # create-workflow-token-action-v1.0.2
with:
app-id: ${{ secrets.PUSH_O_MATIC_APP_ID }}
private-key: ${{ secrets.PUSH_O_MATIC_APP_KEY }}
@@ -208,9 +208,9 @@ jobs:
persist-credentials: false
token: ${{ steps.token.outputs.token }}
- name: Setup pnpm
uses: pnpm/action-setup@41ff72655975bd51cab0327fa583b6e92b6d3061 # v4.2.0
uses: pnpm/action-setup@fc06bc1257f339d1d5d8b3a19a8cae5388b55320 # v5.0.0
- name: Setup Node
uses: actions/setup-node@6044e13b5dc448c55e2357c09f80417699197238 # v6.2.0
uses: actions/setup-node@53b83947a5a98c8d113130e565377fae1a50d02f # v6.3.0
with:
node-version-file: './web/.nvmrc'
cache: 'pnpm'
@@ -241,7 +241,7 @@ jobs:
working-directory: ./web
steps:
- id: token
uses: immich-app/devtools/actions/create-workflow-token@05e16407c0a5492138bb38139c9d9bf067b40886 # create-workflow-token-action-v1.0.1
uses: immich-app/devtools/actions/create-workflow-token@57ff6ebfd507b045514442683ff06ff1b2f6efbd # create-workflow-token-action-v1.0.2
with:
app-id: ${{ secrets.PUSH_O_MATIC_APP_ID }}
private-key: ${{ secrets.PUSH_O_MATIC_APP_KEY }}
@@ -252,9 +252,9 @@ jobs:
persist-credentials: false
token: ${{ steps.token.outputs.token }}
- name: Setup pnpm
uses: pnpm/action-setup@41ff72655975bd51cab0327fa583b6e92b6d3061 # v4.2.0
uses: pnpm/action-setup@fc06bc1257f339d1d5d8b3a19a8cae5388b55320 # v5.0.0
- name: Setup Node
uses: actions/setup-node@6044e13b5dc448c55e2357c09f80417699197238 # v6.2.0
uses: actions/setup-node@53b83947a5a98c8d113130e565377fae1a50d02f # v6.3.0
with:
node-version-file: './web/.nvmrc'
cache: 'pnpm'
@@ -279,7 +279,7 @@ jobs:
contents: read
steps:
- id: token
uses: immich-app/devtools/actions/create-workflow-token@05e16407c0a5492138bb38139c9d9bf067b40886 # create-workflow-token-action-v1.0.1
uses: immich-app/devtools/actions/create-workflow-token@57ff6ebfd507b045514442683ff06ff1b2f6efbd # create-workflow-token-action-v1.0.2
with:
app-id: ${{ secrets.PUSH_O_MATIC_APP_ID }}
private-key: ${{ secrets.PUSH_O_MATIC_APP_KEY }}
@@ -290,9 +290,9 @@ jobs:
persist-credentials: false
token: ${{ steps.token.outputs.token }}
- name: Setup pnpm
uses: pnpm/action-setup@41ff72655975bd51cab0327fa583b6e92b6d3061 # v4.2.0
uses: pnpm/action-setup@fc06bc1257f339d1d5d8b3a19a8cae5388b55320 # v5.0.0
- name: Setup Node
uses: actions/setup-node@6044e13b5dc448c55e2357c09f80417699197238 # v6.2.0
uses: actions/setup-node@53b83947a5a98c8d113130e565377fae1a50d02f # v6.3.0
with:
node-version-file: './web/.nvmrc'
cache: 'pnpm'
@@ -327,7 +327,7 @@ jobs:
working-directory: ./e2e
steps:
- id: token
uses: immich-app/devtools/actions/create-workflow-token@05e16407c0a5492138bb38139c9d9bf067b40886 # create-workflow-token-action-v1.0.1
uses: immich-app/devtools/actions/create-workflow-token@57ff6ebfd507b045514442683ff06ff1b2f6efbd # create-workflow-token-action-v1.0.2
with:
app-id: ${{ secrets.PUSH_O_MATIC_APP_ID }}
private-key: ${{ secrets.PUSH_O_MATIC_APP_KEY }}
@@ -338,9 +338,9 @@ jobs:
persist-credentials: false
token: ${{ steps.token.outputs.token }}
- name: Setup pnpm
uses: pnpm/action-setup@41ff72655975bd51cab0327fa583b6e92b6d3061 # v4.2.0
uses: pnpm/action-setup@fc06bc1257f339d1d5d8b3a19a8cae5388b55320 # v5.0.0
- name: Setup Node
uses: actions/setup-node@6044e13b5dc448c55e2357c09f80417699197238 # v6.2.0
uses: actions/setup-node@53b83947a5a98c8d113130e565377fae1a50d02f # v6.3.0
with:
node-version-file: './e2e/.nvmrc'
cache: 'pnpm'
@@ -373,7 +373,7 @@ jobs:
working-directory: ./server
steps:
- id: token
uses: immich-app/devtools/actions/create-workflow-token@05e16407c0a5492138bb38139c9d9bf067b40886 # create-workflow-token-action-v1.0.1
uses: immich-app/devtools/actions/create-workflow-token@57ff6ebfd507b045514442683ff06ff1b2f6efbd # create-workflow-token-action-v1.0.2
with:
app-id: ${{ secrets.PUSH_O_MATIC_APP_ID }}
private-key: ${{ secrets.PUSH_O_MATIC_APP_KEY }}
@@ -385,9 +385,9 @@ jobs:
submodules: 'recursive'
token: ${{ steps.token.outputs.token }}
- name: Setup pnpm
uses: pnpm/action-setup@41ff72655975bd51cab0327fa583b6e92b6d3061 # v4.2.0
uses: pnpm/action-setup@fc06bc1257f339d1d5d8b3a19a8cae5388b55320 # v5.0.0
- name: Setup Node
uses: actions/setup-node@6044e13b5dc448c55e2357c09f80417699197238 # v6.2.0
uses: actions/setup-node@53b83947a5a98c8d113130e565377fae1a50d02f # v6.3.0
with:
node-version-file: './server/.nvmrc'
cache: 'pnpm'
@@ -412,7 +412,7 @@ jobs:
runner: [ubuntu-latest, ubuntu-24.04-arm]
steps:
- id: token
uses: immich-app/devtools/actions/create-workflow-token@05e16407c0a5492138bb38139c9d9bf067b40886 # create-workflow-token-action-v1.0.1
uses: immich-app/devtools/actions/create-workflow-token@57ff6ebfd507b045514442683ff06ff1b2f6efbd # create-workflow-token-action-v1.0.2
with:
app-id: ${{ secrets.PUSH_O_MATIC_APP_ID }}
private-key: ${{ secrets.PUSH_O_MATIC_APP_KEY }}
@@ -424,9 +424,9 @@ jobs:
submodules: 'recursive'
token: ${{ steps.token.outputs.token }}
- name: Setup pnpm
uses: pnpm/action-setup@41ff72655975bd51cab0327fa583b6e92b6d3061 # v4.2.0
uses: pnpm/action-setup@fc06bc1257f339d1d5d8b3a19a8cae5388b55320 # v5.0.0
- name: Setup Node
uses: actions/setup-node@6044e13b5dc448c55e2357c09f80417699197238 # v6.2.0
uses: actions/setup-node@53b83947a5a98c8d113130e565377fae1a50d02f # v6.3.0
with:
node-version-file: './e2e/.nvmrc'
cache: 'pnpm'
@@ -464,7 +464,7 @@ jobs:
run: docker compose logs --no-color > docker-compose-logs.txt
working-directory: ./e2e
- name: Archive Docker logs
uses: actions/upload-artifact@b7c566a772e6b6bfb58ed0dc250532a479d7789f # v6.0.0
uses: actions/upload-artifact@bbbca2ddaa5d8feaa63e36b76fdaad77386f024f # v7.0.0
if: always()
with:
name: e2e-server-docker-logs-${{ matrix.runner }}
@@ -484,7 +484,7 @@ jobs:
runner: [ubuntu-latest, ubuntu-24.04-arm]
steps:
- id: token
uses: immich-app/devtools/actions/create-workflow-token@05e16407c0a5492138bb38139c9d9bf067b40886 # create-workflow-token-action-v1.0.1
uses: immich-app/devtools/actions/create-workflow-token@57ff6ebfd507b045514442683ff06ff1b2f6efbd # create-workflow-token-action-v1.0.2
with:
app-id: ${{ secrets.PUSH_O_MATIC_APP_ID }}
private-key: ${{ secrets.PUSH_O_MATIC_APP_KEY }}
@@ -496,9 +496,9 @@ jobs:
submodules: 'recursive'
token: ${{ steps.token.outputs.token }}
- name: Setup pnpm
uses: pnpm/action-setup@41ff72655975bd51cab0327fa583b6e92b6d3061 # v4.2.0
uses: pnpm/action-setup@fc06bc1257f339d1d5d8b3a19a8cae5388b55320 # v5.0.0
- name: Setup Node
uses: actions/setup-node@6044e13b5dc448c55e2357c09f80417699197238 # v6.2.0
uses: actions/setup-node@53b83947a5a98c8d113130e565377fae1a50d02f # v6.3.0
with:
node-version-file: './e2e/.nvmrc'
cache: 'pnpm'
@@ -522,7 +522,7 @@ jobs:
run: pnpm test:web
if: ${{ !cancelled() }}
- name: Archive e2e test (web) results
uses: actions/upload-artifact@b7c566a772e6b6bfb58ed0dc250532a479d7789f # v6.0.0
uses: actions/upload-artifact@bbbca2ddaa5d8feaa63e36b76fdaad77386f024f # v7.0.0
if: success() || failure()
with:
name: e2e-web-test-results-${{ matrix.runner }}
@@ -533,7 +533,7 @@ jobs:
run: pnpm test:web:ui
if: ${{ !cancelled() }}
- name: Archive ui test (web) results
uses: actions/upload-artifact@b7c566a772e6b6bfb58ed0dc250532a479d7789f # v6.0.0
uses: actions/upload-artifact@bbbca2ddaa5d8feaa63e36b76fdaad77386f024f # v7.0.0
if: success() || failure()
with:
name: e2e-ui-test-results-${{ matrix.runner }}
@@ -544,7 +544,7 @@ jobs:
run: pnpm test:web:maintenance
if: ${{ !cancelled() }}
- name: Archive maintenance tests (web) results
uses: actions/upload-artifact@b7c566a772e6b6bfb58ed0dc250532a479d7789f # v6.0.0
uses: actions/upload-artifact@bbbca2ddaa5d8feaa63e36b76fdaad77386f024f # v7.0.0
if: success() || failure()
with:
name: e2e-maintenance-isolated-test-results-${{ matrix.runner }}
@@ -554,7 +554,7 @@ jobs:
run: docker compose logs --no-color > docker-compose-logs.txt
working-directory: ./e2e
- name: Archive Docker logs
uses: actions/upload-artifact@b7c566a772e6b6bfb58ed0dc250532a479d7789f # v6.0.0
uses: actions/upload-artifact@bbbca2ddaa5d8feaa63e36b76fdaad77386f024f # v7.0.0
if: always()
with:
name: e2e-web-docker-logs-${{ matrix.runner }}
@@ -566,7 +566,7 @@ jobs:
runs-on: ubuntu-latest
if: always()
steps:
- uses: immich-app/devtools/actions/success-check@68f10eb389bb02a3cf9d1156111964c549eb421b # 0.0.4
- uses: immich-app/devtools/actions/success-check@53bb77345ee9f953f93bd6fd9980f07a2f24965e # success-check-action-v0.0.5
with:
needs: ${{ toJSON(needs) }}
mobile-unit-tests:
@@ -578,7 +578,7 @@ jobs:
contents: read
steps:
- id: token
uses: immich-app/devtools/actions/create-workflow-token@05e16407c0a5492138bb38139c9d9bf067b40886 # create-workflow-token-action-v1.0.1
uses: immich-app/devtools/actions/create-workflow-token@57ff6ebfd507b045514442683ff06ff1b2f6efbd # create-workflow-token-action-v1.0.2
with:
app-id: ${{ secrets.PUSH_O_MATIC_APP_ID }}
private-key: ${{ secrets.PUSH_O_MATIC_APP_KEY }}
@@ -588,7 +588,7 @@ jobs:
persist-credentials: false
token: ${{ steps.token.outputs.token }}
- name: Setup Flutter SDK
uses: subosito/flutter-action@fd55f4c5af5b953cc57a2be44cb082c8f6635e8e # v2.21.0
uses: subosito/flutter-action@1a449444c387b1966244ae4d4f8c696479add0b2 # v2.23.0
with:
channel: 'stable'
flutter-version-file: ./mobile/pubspec.yaml
@@ -610,7 +610,7 @@ jobs:
working-directory: ./machine-learning
steps:
- id: token
uses: immich-app/devtools/actions/create-workflow-token@05e16407c0a5492138bb38139c9d9bf067b40886 # create-workflow-token-action-v1.0.1
uses: immich-app/devtools/actions/create-workflow-token@57ff6ebfd507b045514442683ff06ff1b2f6efbd # create-workflow-token-action-v1.0.2
with:
app-id: ${{ secrets.PUSH_O_MATIC_APP_ID }}
private-key: ${{ secrets.PUSH_O_MATIC_APP_KEY }}
@@ -620,7 +620,7 @@ jobs:
persist-credentials: false
token: ${{ steps.token.outputs.token }}
- name: Install uv
uses: astral-sh/setup-uv@eac588ad8def6316056a12d4907a9d4d84ff7a3b # v7.3.0
uses: astral-sh/setup-uv@37802adc94f370d6bfd71619e3f0bf239e1f3b78 # v7.6.0
with:
python-version: 3.11
- name: Install dependencies
@@ -650,7 +650,7 @@ jobs:
working-directory: ./.github
steps:
- id: token
uses: immich-app/devtools/actions/create-workflow-token@05e16407c0a5492138bb38139c9d9bf067b40886 # create-workflow-token-action-v1.0.1
uses: immich-app/devtools/actions/create-workflow-token@57ff6ebfd507b045514442683ff06ff1b2f6efbd # create-workflow-token-action-v1.0.2
with:
app-id: ${{ secrets.PUSH_O_MATIC_APP_ID }}
private-key: ${{ secrets.PUSH_O_MATIC_APP_KEY }}
@@ -661,9 +661,9 @@ jobs:
persist-credentials: false
token: ${{ steps.token.outputs.token }}
- name: Setup pnpm
uses: pnpm/action-setup@41ff72655975bd51cab0327fa583b6e92b6d3061 # v4.2.0
uses: pnpm/action-setup@fc06bc1257f339d1d5d8b3a19a8cae5388b55320 # v5.0.0
- name: Setup Node
uses: actions/setup-node@6044e13b5dc448c55e2357c09f80417699197238 # v6.2.0
uses: actions/setup-node@53b83947a5a98c8d113130e565377fae1a50d02f # v6.3.0
with:
node-version-file: './.github/.nvmrc'
cache: 'pnpm'
@@ -680,7 +680,7 @@ jobs:
contents: read
steps:
- id: token
uses: immich-app/devtools/actions/create-workflow-token@05e16407c0a5492138bb38139c9d9bf067b40886 # create-workflow-token-action-v1.0.1
uses: immich-app/devtools/actions/create-workflow-token@57ff6ebfd507b045514442683ff06ff1b2f6efbd # create-workflow-token-action-v1.0.2
with:
app-id: ${{ secrets.PUSH_O_MATIC_APP_ID }}
private-key: ${{ secrets.PUSH_O_MATIC_APP_KEY }}
@@ -701,7 +701,7 @@ jobs:
contents: read
steps:
- id: token
uses: immich-app/devtools/actions/create-workflow-token@05e16407c0a5492138bb38139c9d9bf067b40886 # create-workflow-token-action-v1.0.1
uses: immich-app/devtools/actions/create-workflow-token@57ff6ebfd507b045514442683ff06ff1b2f6efbd # create-workflow-token-action-v1.0.2
with:
app-id: ${{ secrets.PUSH_O_MATIC_APP_ID }}
private-key: ${{ secrets.PUSH_O_MATIC_APP_KEY }}
@@ -712,9 +712,9 @@ jobs:
persist-credentials: false
token: ${{ steps.token.outputs.token }}
- name: Setup pnpm
uses: pnpm/action-setup@41ff72655975bd51cab0327fa583b6e92b6d3061 # v4.2.0
uses: pnpm/action-setup@fc06bc1257f339d1d5d8b3a19a8cae5388b55320 # v5.0.0
- name: Setup Node
uses: actions/setup-node@6044e13b5dc448c55e2357c09f80417699197238 # v6.2.0
uses: actions/setup-node@53b83947a5a98c8d113130e565377fae1a50d02f # v6.3.0
with:
node-version-file: './server/.nvmrc'
cache: 'pnpm'
@@ -763,7 +763,7 @@ jobs:
working-directory: ./server
steps:
- id: token
uses: immich-app/devtools/actions/create-workflow-token@05e16407c0a5492138bb38139c9d9bf067b40886 # create-workflow-token-action-v1.0.1
uses: immich-app/devtools/actions/create-workflow-token@57ff6ebfd507b045514442683ff06ff1b2f6efbd # create-workflow-token-action-v1.0.2
with:
app-id: ${{ secrets.PUSH_O_MATIC_APP_ID }}
private-key: ${{ secrets.PUSH_O_MATIC_APP_KEY }}
@@ -774,9 +774,9 @@ jobs:
persist-credentials: false
token: ${{ steps.token.outputs.token }}
- name: Setup pnpm
uses: pnpm/action-setup@41ff72655975bd51cab0327fa583b6e92b6d3061 # v4.2.0
uses: pnpm/action-setup@fc06bc1257f339d1d5d8b3a19a8cae5388b55320 # v5.0.0
- name: Setup Node
uses: actions/setup-node@6044e13b5dc448c55e2357c09f80417699197238 # v6.2.0
uses: actions/setup-node@53b83947a5a98c8d113130e565377fae1a50d02f # v6.3.0
with:
node-version-file: './server/.nvmrc'
cache: 'pnpm'

View File

@@ -24,14 +24,14 @@ jobs:
should_run: ${{ steps.check.outputs.should_run }}
steps:
- id: token
uses: immich-app/devtools/actions/create-workflow-token@05e16407c0a5492138bb38139c9d9bf067b40886 # create-workflow-token-action-v1.0.1
uses: immich-app/devtools/actions/create-workflow-token@57ff6ebfd507b045514442683ff06ff1b2f6efbd # create-workflow-token-action-v1.0.2
with:
app-id: ${{ secrets.PUSH_O_MATIC_APP_ID }}
private-key: ${{ secrets.PUSH_O_MATIC_APP_KEY }}
- name: Check what should run
id: check
uses: immich-app/devtools/actions/pre-job@eed0f8b8165ffcb951f2ba854b2dd031935e1d73 # pre-job-action-v2.0.2
uses: immich-app/devtools/actions/pre-job@f50e3b600b6ac1763ddb8f3dfc69093512b967a1 # pre-job-action-v2.0.3
with:
github-token: ${{ steps.token.outputs.token }}
filters: |
@@ -47,7 +47,7 @@ jobs:
if: ${{ fromJSON(needs.pre-job.outputs.should_run).i18n == true }}
steps:
- id: token
uses: immich-app/devtools/actions/create-workflow-token@05e16407c0a5492138bb38139c9d9bf067b40886 # create-workflow-token-action-v1.0.1
uses: immich-app/devtools/actions/create-workflow-token@57ff6ebfd507b045514442683ff06ff1b2f6efbd # create-workflow-token-action-v1.0.2
with:
app-id: ${{ secrets.PUSH_O_MATIC_APP_ID }}
private-key: ${{ secrets.PUSH_O_MATIC_APP_KEY }}
@@ -68,6 +68,6 @@ jobs:
permissions: {}
if: always()
steps:
- uses: immich-app/devtools/actions/success-check@68f10eb389bb02a3cf9d1156111964c549eb421b # 0.0.4
- uses: immich-app/devtools/actions/success-check@53bb77345ee9f953f93bd6fd9980f07a2f24965e # success-check-action-v0.0.5
with:
needs: ${{ toJSON(needs) }}

1
.gitignore vendored
View File

@@ -28,3 +28,4 @@ vite.config.js.timestamp-*
.pnpm-store
.devcontainer/library
.devcontainer/.env*
*.tsbuildInfo

View File

@@ -1 +1 @@
24.13.1
24.14.1

View File

@@ -1,6 +1,6 @@
{
"name": "@immich/cli",
"version": "2.5.6",
"version": "2.7.1",
"description": "Command Line Interface (CLI) for Immich",
"type": "module",
"exports": "./dist/index.js",
@@ -20,7 +20,7 @@
"@types/lodash-es": "^4.17.12",
"@types/micromatch": "^4.0.9",
"@types/mock-fs": "^4.13.1",
"@types/node": "^24.11.0",
"@types/node": "^24.12.0",
"@vitest/coverage-v8": "^4.0.0",
"byte-size": "^9.0.0",
"cli-progress": "^3.12.0",
@@ -33,10 +33,9 @@
"mock-fs": "^5.2.0",
"prettier": "^3.7.4",
"prettier-plugin-organize-imports": "^4.0.0",
"typescript": "^5.3.3",
"typescript-eslint": "^8.28.0",
"vite": "^7.0.0",
"vite-tsconfig-paths": "^6.0.0",
"typescript": "^6.0.0",
"typescript-eslint": "^8.58.0",
"vite": "^8.0.0",
"vitest": "^4.0.0",
"vitest-fetch-mock": "^0.4.0",
"yaml": "^2.3.1"
@@ -69,6 +68,6 @@
"micromatch": "^4.0.8"
},
"volta": {
"node": "24.13.1"
"node": "24.14.1"
}
}

View File

@@ -81,7 +81,7 @@ export const connect = async (url: string, key: string) => {
const [error] = await withError(getMyUser());
if (isHttpError(error)) {
logError(error, 'Failed to connect to server');
logError(error, `Failed to connect to server ${url}`);
process.exit(1);
}

View File

@@ -15,8 +15,11 @@
"incremental": true,
"skipLibCheck": true,
"esModuleInterop": true,
"baseUrl": "./",
"rootDir": "./src",
"paths": {
"src/*": ["./src/*"],
},
"types": ["vitest/globals"]
},
"exclude": ["dist", "node_modules"]
"exclude": ["dist", "node_modules", "vite.config.ts"]
}

View File

@@ -1,10 +1,12 @@
import { defineConfig, UserConfig } from 'vite';
import tsconfigPaths from 'vite-tsconfig-paths';
export default defineConfig({
resolve: { alias: { src: '/src' } },
resolve: {
alias: { src: '/src' },
tsconfigPaths: true,
},
build: {
rollupOptions: {
rolldownOptions: {
input: 'src/index.ts',
output: {
dir: 'dist',
@@ -16,7 +18,6 @@ export default defineConfig({
// bundle everything except for Node built-ins
noExternal: /^(?!node:).*$/,
},
plugins: [tsconfigPaths()],
test: {
name: 'cli:unit',
globals: true,

View File

@@ -1,5 +1,5 @@
[tools]
terragrunt = "0.99.4"
terragrunt = "0.99.5"
opentofu = "1.11.5"
[tasks."tg:fmt"]

View File

@@ -90,6 +90,7 @@ services:
IMMICH_THIRD_PARTY_BUG_FEATURE_URL: https://github.com/immich-app/immich/issues
IMMICH_THIRD_PARTY_DOCUMENTATION_URL: https://docs.immich.app
IMMICH_THIRD_PARTY_SUPPORT_URL: https://docs.immich.app/community-guides
IMMICH_HELMET_FILE: 'true'
ports:
- 9230:9230
- 9231:9231
@@ -155,7 +156,7 @@ services:
redis:
container_name: immich_redis
image: docker.io/valkey/valkey:9@sha256:3eeb09785cd61ec8e3be35f8804c8892080f3ca21934d628abc24ee4ed1698f6
image: docker.io/valkey/valkey:9@sha256:3b55fbaa0cd93cf0d9d961f405e4dfcc70efe325e2d84da207a0a8e6d8fde4f9
healthcheck:
test: redis-cli ping || exit 1

View File

@@ -56,7 +56,7 @@ services:
redis:
container_name: immich_redis
image: docker.io/valkey/valkey:9@sha256:3eeb09785cd61ec8e3be35f8804c8892080f3ca21934d628abc24ee4ed1698f6
image: docker.io/valkey/valkey:9@sha256:3b55fbaa0cd93cf0d9d961f405e4dfcc70efe325e2d84da207a0a8e6d8fde4f9
healthcheck:
test: redis-cli ping || exit 1
restart: always
@@ -85,7 +85,7 @@ services:
container_name: immich_prometheus
ports:
- 9090:9090
image: prom/prometheus@sha256:4a61322ac1103a0e3aea2a61ef1718422a48fa046441f299d71e660a3bc71ae9
image: prom/prometheus@sha256:dda13e28bf95a5e5ca5b8ed56852006094c1c8e8871d9c9dbeed30aa6e55271f
volumes:
- ./prometheus.yml:/etc/prometheus/prometheus.yml
- prometheus-data:/prometheus
@@ -97,7 +97,7 @@ services:
command: ['./run.sh', '-disable-reporting']
ports:
- 3000:3000
image: grafana/grafana:12.3.2-ubuntu@sha256:6cca4b429a1dc0d37d401dee54825c12d40056c3c6f3f56e3f0d6318ce77749b
image: grafana/grafana:12.4.2-ubuntu@sha256:78839fe49e1425c02416fa8072591533a72bd9598e563b54a07d78f9e27fb5d3
volumes:
- grafana-data:/var/lib/grafana

View File

@@ -61,7 +61,7 @@ services:
redis:
container_name: immich_redis
image: docker.io/valkey/valkey:9@sha256:3eeb09785cd61ec8e3be35f8804c8892080f3ca21934d628abc24ee4ed1698f6
image: docker.io/valkey/valkey:9@sha256:3b55fbaa0cd93cf0d9d961f405e4dfcc70efe325e2d84da207a0a8e6d8fde4f9
user: '1000:1000'
security_opt:
- no-new-privileges:true

View File

@@ -49,7 +49,7 @@ services:
redis:
container_name: immich_redis
image: docker.io/valkey/valkey:9@sha256:3eeb09785cd61ec8e3be35f8804c8892080f3ca21934d628abc24ee4ed1698f6
image: docker.io/valkey/valkey:9@sha256:3b55fbaa0cd93cf0d9d961f405e4dfcc70efe325e2d84da207a0a8e6d8fde4f9
healthcheck:
test: redis-cli ping || exit 1
restart: always

View File

@@ -1 +1 @@
24.13.1
24.14.1

Binary file not shown.

After

Width:  |  Height:  |  Size: 64 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 50 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 42 KiB

View File

@@ -14,6 +14,7 @@ Immich supports 3rd party authentication via [OpenID Connect][oidc] (OIDC), an i
- [Authelia](https://www.authelia.com/integration/openid-connect/immich/)
- [Okta](https://www.okta.com/openid-connect/)
- [Google](https://developers.google.com/identity/openid-connect/openid-connect)
- [Keycloak](https://www.keycloak.org)
## Prerequisites
@@ -253,4 +254,40 @@ Configuration of OAuth in Immich System Settings
</details>
<details>
<summary>Keycloak Example</summary>
### Keycloak Example
Here's an example of OAuth configured for Keycloak:
Create your immich client on your Keycloak Realm.
<img src={require('./img/keycloak-general-settings.webp').default} width='100%' title="Keycloak Client general Settings" />
<img src={require('./img/keycloak-access-settings.webp').default} width='100%' title="Keycloak Client Access Settings" />
<img src={require('./img/keycloak-capability-config.webp').default} width='100%' title="Keycloak Client Capability Configuration" />
Configuration of OAuth in Immich System Settings
| Setting | Value |
| ---------------------------- | ----------------------------------------------------- |
| Issuer URL | `https://<KEYCLOAK_DOMAIN>/realms/<YOUR_REALM>` |
| Client ID | immich |
| Client Secret | can be optained from Clients -> immich -> Credentials |
| Scope | openid email profile |
| Signing Algorithm | RS256 |
| Storage Label Claim | preferred_username |
| Role Claim | immich_role |
| Storage Quota Claim | immich_quota |
| Default Storage Quota (GiB) | 0 (empty for unlimited quota) |
| Button Text | Sign in with Keycloak (recommended) |
| Auto Register | Enabled (optional) |
| Auto Launch | Enabled (optional) |
| Mobile Redirect URI Override | Disabled |
| Mobile Redirect URI | |
Role Claim can be managed via Client Role. Remember to create a mapper with claim name `immich_role`.
</details>
[oidc]: https://openid.net/connect/

View File

@@ -0,0 +1,28 @@
# Duplicates Utility
Immich comes with a duplicates utility to help you detect assets that look visually similar. The duplicate detection feature relies on machine learning and is enabled by default. For more information about when the duplicate detection job runs, see [Jobs and Workers](/administration/jobs-workers). Once an asset has been processed and added to a duplicate group, it becomes available to review in the "Review duplicates" utility, which can be found [here](https://my.immich.app/utilities/duplicates).
## Reviewing duplicates
The review duplicates page allows the user to individually select which assets should be kept and which ones should be trashed. When more than one asset is kept, there is an option to automatically put the kept assets into a stack.
### Automatic preselection
When using "Deduplicate All" or viewing suggestions, Immich automatically preselects which assets to keep based on:
1. **Image size in bytes** — larger files are preferred as they typically have higher quality.
2. **Count of EXIF data** — assets with more metadata are preferred.
### Synchronizing metadata
When resolving duplicates, metadata from trashed assets is automatically synchronized to the kept assets. The following metadata is synchronized:
| Name | Description |
| ----------- | ------------------------------------------------------------------------------------------------------------------------------- |
| Album | The kept assets will be added to _every_ album that the other assets in the group belong to. |
| Favorite | If any of the assets in the group have been added to favorites, every kept asset will also be added to favorites. |
| Rating | If one or more assets in the duplicate group have a rating, the highest rating is selected and synchronized to the kept assets. |
| Description | Descriptions from each asset are combined together and synchronized to all the kept assets. |
| Visibility | The most restrictive visibility is applied to the kept assets. |
| Location | Latitude and longitude are copied if all assets with geolocation data in the group share the same coordinates. |
| Tag | Tags from all assets in the group are merged and applied to every kept asset. |

View File

@@ -28,17 +28,17 @@ For the full list, refer to the [Immich source code](https://github.com/immich-a
## Video formats
| Format | Extension(s) | Supported? | Notes |
| :---------- | :-------------------- | :----------------: | :---- |
| `3GPP` | `.3gp` `.3gpp` | :white_check_mark: | |
| `AVI` | `.avi` | :white_check_mark: | |
| `FLV` | `.flv` | :white_check_mark: | |
| `M4V` | `.m4v` | :white_check_mark: | |
| `MATROSKA` | `.mkv` | :white_check_mark: | |
| `MP2T` | `.mts` `.m2ts` `.m2t` | :white_check_mark: | |
| `MP4` | `.mp4` `.insv` | :white_check_mark: | |
| `MPEG` | `.mpg` `.mpe` `.mpeg` | :white_check_mark: | |
| `MXF` | `.mxf` | :white_check_mark: | |
| `QUICKTIME` | `.mov` | :white_check_mark: | |
| `WEBM` | `.webm` | :white_check_mark: | |
| `WMV` | `.wmv` | :white_check_mark: | |
| Format | Extension(s) | Supported? | Notes |
| :---------- | :-------------------------- | :----------------: | :---- |
| `3GPP` | `.3gp` `.3gpp` | :white_check_mark: | |
| `AVI` | `.avi` | :white_check_mark: | |
| `FLV` | `.flv` | :white_check_mark: | |
| `M4V` | `.m4v` | :white_check_mark: | |
| `MATROSKA` | `.mkv` | :white_check_mark: | |
| `MP2T` | `.mts` `.m2ts` `.m2t` `.ts` | :white_check_mark: | |
| `MP4` | `.mp4` `.insv` | :white_check_mark: | |
| `MPEG` | `.mpg` `.mpe` `.mpeg` | :white_check_mark: | |
| `MXF` | `.mxf` | :white_check_mark: | |
| `QUICKTIME` | `.mov` | :white_check_mark: | |
| `WEBM` | `.webm` | :white_check_mark: | |
| `WMV` | `.wmv` | :white_check_mark: | |

View File

@@ -3,8 +3,8 @@
You may decide that you'd like to modify the style document which is used to
draw the maps in Immich. In addition to visual customization, this also allows
you to pick your own map tile provider instead of the default one. The default
`style.json` for [light theme](https://github.com/immich-app/immich/tree/main/server/resources/style-light.json)
and [dark theme](https://github.com/immich-app/immich/blob/main/server/resources/style-dark.json)
`style.json` for [light theme](https://tiles.immich.cloud/v1/style/light.json)
and [dark theme](https://tiles.immich.cloud/v1/style/dark.json)
can be used as a basis for creating your own style.
There are several sources for already-made `style.json` map themes, as well as

View File

@@ -29,22 +29,23 @@ These environment variables are used by the `docker-compose.yml` file and do **N
## General
| Variable | Description | Default | Containers | Workers |
| :---------------------------------- | :---------------------------------------------------------------------------------------- | :--------------------------: | :----------------------- | :----------------- |
| `TZ` | Timezone | <sup>\*1</sup> | server | microservices |
| `IMMICH_ENV` | Environment (production, development) | `production` | server, machine learning | api, microservices |
| `IMMICH_LOG_LEVEL` | Log level (verbose, debug, log, warn, error) | `log` | server, machine learning | api, microservices |
| `IMMICH_LOG_FORMAT` | Log output format (`console`, `json`) | `console` | server | api, microservices |
| `IMMICH_MEDIA_LOCATION` | Media location inside the container ⚠️**You probably shouldn't set this**<sup>\*2</sup>⚠️ | `/data` | server | api, microservices |
| `IMMICH_CONFIG_FILE` | Path to config file | | server | api, microservices |
| `NO_COLOR` | Set to `true` to disable color-coded log output | `false` | server, machine learning | |
| `CPU_CORES` | Number of cores available to the Immich server | auto-detected CPU core count | server | |
| `IMMICH_API_METRICS_PORT` | Port for the OTEL metrics | `8081` | server | api |
| `IMMICH_MICROSERVICES_METRICS_PORT` | Port for the OTEL metrics | `8082` | server | microservices |
| `IMMICH_PROCESS_INVALID_IMAGES` | When `true`, generate thumbnails for invalid images | | server | microservices |
| `IMMICH_TRUSTED_PROXIES` | List of comma-separated IPs set as trusted proxies | | server | api |
| `IMMICH_IGNORE_MOUNT_CHECK_ERRORS` | See [System Integrity](/administration/system-integrity) | | server | api, microservices |
| `IMMICH_ALLOW_SETUP` | When `false` disables the `/auth/admin-sign-up` endpoint | `true` | server | api |
| Variable | Description | Default | Containers | Workers |
| :---------------------------------- | :----------------------------------------------------------------------------------------------------------------------------------------------------- | :--------------------------: | :----------------------- | :----------------- |
| `TZ` | Timezone | <sup>\*1</sup> | server | microservices |
| `IMMICH_ENV` | Environment (production, development) | `production` | server, machine learning | api, microservices |
| `IMMICH_LOG_LEVEL` | Log level (verbose, debug, log, warn, error) | `log` | server, machine learning | api, microservices |
| `IMMICH_LOG_FORMAT` | Log output format (`console`, `json`) | `console` | server | api, microservices |
| `IMMICH_MEDIA_LOCATION` | Media location inside the container ⚠️**You probably shouldn't set this**<sup>\*2</sup>⚠️ | `/data` | server | api, microservices |
| `IMMICH_CONFIG_FILE` | Path to config file | | server | api, microservices |
| `IMMICH_HELMET_FILE` | Path to a json file with [helmet](https://www.npmjs.com/package/helmet) options. Set to `false` to disable. Set to `true` to use `server/helmet.json`. | `false` | server | api, microservices |
| `NO_COLOR` | Set to `true` to disable color-coded log output | `false` | server, machine learning | |
| `CPU_CORES` | Number of cores available to the Immich server | auto-detected CPU core count | server | |
| `IMMICH_API_METRICS_PORT` | Port for the OTEL metrics | `8081` | server | api |
| `IMMICH_MICROSERVICES_METRICS_PORT` | Port for the OTEL metrics | `8082` | server | microservices |
| `IMMICH_PROCESS_INVALID_IMAGES` | When `true`, generate thumbnails for invalid images | | server | microservices |
| `IMMICH_TRUSTED_PROXIES` | List of comma-separated IPs set as trusted proxies | | server | api |
| `IMMICH_IGNORE_MOUNT_CHECK_ERRORS` | See [System Integrity](/administration/system-integrity) | | server | api, microservices |
| `IMMICH_ALLOW_SETUP` | When `false` disables the `/auth/admin-sign-up` endpoint | `true` | server | api |
\*1: `TZ` should be set to a `TZ identifier` from [this list][tz-list]. For example, `TZ="Etc/UTC"`.
`TZ` is used by `exiftool` as a fallback in case the timezone cannot be determined from the image metadata. It is also used for logfile timestamps and cron job execution.

View File

@@ -8,7 +8,7 @@ Hardware and software requirements for Immich:
## Hardware
- **OS**: Recommended Linux or \*nix operating system (Ubuntu, Debian, etc).
- **OS**: Recommended Linux or \*nix 64-bit operating system (Ubuntu, Debian, etc).
- Non-Linux OSes tend to provide a poor Docker experience and are strongly discouraged.
Our ability to assist with setup or troubleshooting on non-Linux OSes will be severely reduced.
If you still want to try to use a non-Linux OS, you can set it up as follows:
@@ -19,6 +19,10 @@ Hardware and software requirements for Immich:
If you have issues, we recommend that you switch to a supported VM deployment.
- **RAM**: Minimum 6GB, recommended 8GB.
- **CPU**: Minimum 2 cores, recommended 4 cores.
- Immich runs on the `amd64` and `arm64` platforms.
Since `v2.6`, the machine learning container on `amd64` requires the `>= x86-64-v2` [microarchitecture level](https://en.wikipedia.org/wiki/X86-64#Microarchitecture_levels).
Most CPUs released since ~2012 support this microarchitecture.
If you are using a virtual machine, ensure you have selected a [supported microarchitecture](https://pve.proxmox.com/pve-docs/chapter-qm.html#_qemu_cpu_types).
- **Storage**: Recommended Unix-compatible filesystem (EXT4, ZFS, APFS, etc.) with support for user/group ownership and permissions.
- The generation of thumbnails and transcoded video can increase the size of the photo library by 10-20% on average.

View File

@@ -30,17 +30,17 @@
"postcss": "^8.4.25",
"prism-react-renderer": "^2.3.1",
"raw-loader": "^4.0.2",
"react": "^18.0.0",
"react-dom": "^18.0.0",
"react": "^19.0.0",
"react-dom": "^19.0.0",
"tailwindcss": "^3.2.4",
"url": "^0.11.0"
},
"devDependencies": {
"@docusaurus/module-type-aliases": "~3.9.0",
"@docusaurus/tsconfig": "^3.7.0",
"@docusaurus/tsconfig": "^3.10.0",
"@docusaurus/types": "^3.7.0",
"prettier": "^3.7.4",
"typescript": "^5.1.6"
"typescript": "^6.0.0"
},
"browserslist": {
"production": [
@@ -58,6 +58,6 @@
"node": ">=20"
},
"volta": {
"node": "24.13.1"
"node": "24.14.1"
}
}

View File

@@ -1,4 +1,12 @@
[
{
"label": "v2.7.1",
"url": "https://docs.v2.7.1.archive.immich.app"
},
{
"label": "v2.6.3",
"url": "https://docs.v2.6.3.archive.immich.app"
},
{
"label": "v2.5.6",
"url": "https://docs.v2.5.6.archive.immich.app"

View File

@@ -1,8 +1,4 @@
{
// This file is not used in compilation. It is here just for a nice editor experience.
"extends": "@docusaurus/tsconfig",
"compilerOptions": {
"baseUrl": "."
}
"extends": "@docusaurus/tsconfig"
}

View File

@@ -10,6 +10,7 @@ export enum OAuthClient {
export enum OAuthUser {
NO_EMAIL = 'no-email',
NO_NAME = 'no-name',
ID_TOKEN_CLAIMS = 'id-token-claims',
WITH_QUOTA = 'with-quota',
WITH_USERNAME = 'with-username',
WITH_ROLE = 'with-role',
@@ -52,12 +53,25 @@ const withDefaultClaims = (sub: string) => ({
email_verified: true,
});
const getClaims = (sub: string) => claims.find((user) => user.sub === sub) || withDefaultClaims(sub);
const getClaims = (sub: string, use?: string) => {
if (sub === OAuthUser.ID_TOKEN_CLAIMS) {
return {
sub,
email: `oauth-${sub}@immich.app`,
email_verified: true,
name: use === 'id_token' ? 'ID Token User' : 'Userinfo User',
};
}
return claims.find((user) => user.sub === sub) || withDefaultClaims(sub);
};
const setup = async () => {
const { privateKey, publicKey } = await generateKeyPair('RS256');
const redirectUris = ['http://127.0.0.1:2285/auth/login', 'https://photos.immich.app/oauth/mobile-redirect'];
const redirectUris = [
'http://127.0.0.1:2285/auth/login',
'https://photos.immich.app/oauth/mobile-redirect',
];
const port = 2286;
const host = '0.0.0.0';
const oidc = new Provider(`http://${host}:${port}`, {
@@ -66,7 +80,10 @@ const setup = async () => {
console.error(error);
ctx.body = 'Internal Server Error';
},
findAccount: (ctx, sub) => ({ accountId: sub, claims: () => getClaims(sub) }),
findAccount: (ctx, sub) => ({
accountId: sub,
claims: (use) => getClaims(sub, use),
}),
scopes: ['openid', 'email', 'profile'],
claims: {
openid: ['sub'],
@@ -94,6 +111,7 @@ const setup = async () => {
state: 'oidc.state',
},
},
conformIdTokenClaims: false,
pkce: {
required: () => false,
},
@@ -125,7 +143,10 @@ const setup = async () => {
],
});
const onStart = () => console.log(`[e2e-auth-server] http://${host}:${port}/.well-known/openid-configuration`);
const onStart = () =>
console.log(
`[e2e-auth-server] http://${host}:${port}/.well-known/openid-configuration`,
);
const app = oidc.listen(port, host, onStart);
return () => app.close();
};

View File

@@ -1 +1 @@
24.13.1
24.14.1

View File

@@ -44,7 +44,7 @@ services:
redis:
container_name: immich-e2e-redis
image: docker.io/valkey/valkey:9@sha256:3eeb09785cd61ec8e3be35f8804c8892080f3ca21934d628abc24ee4ed1698f6
image: docker.io/valkey/valkey:9@sha256:3b55fbaa0cd93cf0d9d961f405e4dfcc70efe325e2d84da207a0a8e6d8fde4f9
healthcheck:
test: redis-cli ping || exit 1

View File

@@ -1,6 +1,6 @@
{
"name": "immich-e2e",
"version": "2.5.6",
"version": "2.7.1",
"description": "",
"main": "index.js",
"type": "module",
@@ -32,10 +32,10 @@
"@playwright/test": "^1.44.1",
"@socket.io/component-emitter": "^3.1.2",
"@types/luxon": "^3.4.2",
"@types/node": "^24.11.0",
"@types/node": "^24.12.0",
"@types/pg": "^8.15.1",
"@types/pngjs": "^6.0.4",
"@types/supertest": "^6.0.2",
"@types/supertest": "^7.0.0",
"dotenv": "^17.2.3",
"eslint": "^10.0.0",
"eslint-config-prettier": "^10.1.8",
@@ -51,13 +51,13 @@
"sharp": "^0.34.5",
"socket.io-client": "^4.7.4",
"supertest": "^7.0.0",
"typescript": "^5.3.3",
"typescript": "^6.0.0",
"typescript-eslint": "^8.28.0",
"utimes": "^5.2.1",
"vite-tsconfig-paths": "^6.1.1",
"vitest": "^4.0.0"
},
"volta": {
"node": "24.13.1"
"node": "24.14.1"
}
}

View File

@@ -0,0 +1,651 @@
import { LoginResponseDto } from '@immich/sdk';
import { createUserDto, uuidDto } from 'src/fixtures';
import { errorDto } from 'src/responses';
import { app, utils } from 'src/utils';
import request from 'supertest';
import { beforeAll, beforeEach, describe, expect, it } from 'vitest';
describe('/duplicates', () => {
let admin: LoginResponseDto;
let user1: LoginResponseDto;
let user2: LoginResponseDto;
beforeAll(async () => {
await utils.resetDatabase();
admin = await utils.adminSetup();
[user1, user2] = await Promise.all([
utils.userSetup(admin.accessToken, createUserDto.user1),
utils.userSetup(admin.accessToken, createUserDto.user2),
]);
});
beforeEach(async () => {
// Reset assets, albums, tags, and stacks between tests to ensure clean state for repeated test runs
// Note: We don't reset users since they're set up once in beforeAll
// Stack must be reset before asset due to foreign key constraint
await utils.resetDatabase(['stack', 'asset', 'album', 'tag']);
});
describe('GET /duplicates', () => {
it('should return empty array when no duplicates', async () => {
const { status, body } = await request(app)
.get('/duplicates')
.set('Authorization', `Bearer ${user1.accessToken}`);
expect(status).toBe(200);
expect(body).toEqual([]);
});
it('should return duplicate groups with suggestedKeepAssetIds', async () => {
// Create assets with different file sizes for duplicate detection
const [asset1, asset2] = await Promise.all([
utils.createAsset(user1.accessToken),
utils.createAsset(user1.accessToken),
]);
// Manually set duplicateId on both assets to create a duplicate group
const duplicateId = '00000000-0000-4000-8000-000000000001';
await utils.setAssetDuplicateId(user1.accessToken, asset1.id, duplicateId);
await utils.setAssetDuplicateId(user1.accessToken, asset2.id, duplicateId);
const { status, body } = await request(app)
.get('/duplicates')
.set('Authorization', `Bearer ${user1.accessToken}`);
expect(status).toBe(200);
expect(body).toEqual([
{
duplicateId,
assets: expect.arrayContaining([
expect.objectContaining({ id: asset1.id }),
expect.objectContaining({ id: asset2.id }),
]),
suggestedKeepAssetIds: expect.any(Array),
},
]);
expect(body[0].suggestedKeepAssetIds.length).toBe(1);
});
});
describe('POST /duplicates/resolve', () => {
it('should require authentication', async () => {
const { status, body } = await request(app)
.post('/duplicates/resolve')
.send({
groups: [{ duplicateId: uuidDto.dummy, keepAssetIds: [], trashAssetIds: [] }],
});
expect(status).toBe(401);
expect(body).toEqual(errorDto.unauthorized);
});
it('should return failure for non-existent duplicate group', async () => {
const { status, body } = await request(app)
.post('/duplicates/resolve')
.set('Authorization', `Bearer ${user1.accessToken}`)
.send({
groups: [{ duplicateId: uuidDto.dummy, keepAssetIds: [], trashAssetIds: [] }],
});
expect(status).toBe(200);
expect(body).toEqual({
status: 'COMPLETED',
results: [
{
duplicateId: uuidDto.dummy,
status: 'FAILED',
reason: expect.stringContaining('not found or access denied'),
},
],
});
});
it('should resolve duplicate group with keepers', async () => {
const [asset1, asset2] = await Promise.all([
utils.createAsset(user1.accessToken),
utils.createAsset(user1.accessToken),
]);
const duplicateId = '00000000-0000-4000-8000-000000000002';
await utils.setAssetDuplicateId(user1.accessToken, asset1.id, duplicateId);
await utils.setAssetDuplicateId(user1.accessToken, asset2.id, duplicateId);
const { status, body } = await request(app)
.post('/duplicates/resolve')
.set('Authorization', `Bearer ${user1.accessToken}`)
.send({
groups: [{ duplicateId, keepAssetIds: [asset1.id], trashAssetIds: [asset2.id] }],
});
expect(status).toBe(200);
expect(body).toEqual({
status: 'COMPLETED',
results: [
{
duplicateId,
status: 'SUCCESS',
},
],
});
// Verify side effects: duplicateId cleared on kept asset
const keptAsset = await utils.getAssetInfo(user1.accessToken, asset1.id);
expect(keptAsset.duplicateId).toBeNull();
// Verify side effects: trashed asset is trashed and duplicateId cleared
const trashedAsset = await utils.getAssetInfo(user1.accessToken, asset2.id);
expect(trashedAsset.isTrashed).toBe(true);
expect(trashedAsset.duplicateId).toBeNull();
});
it('should reject when keepAssetIds and trashAssetIds overlap', async () => {
const [asset1, asset2] = await Promise.all([
utils.createAsset(user1.accessToken),
utils.createAsset(user1.accessToken),
]);
const duplicateId = '00000000-0000-4000-8000-000000000003';
await utils.setAssetDuplicateId(user1.accessToken, asset1.id, duplicateId);
await utils.setAssetDuplicateId(user1.accessToken, asset2.id, duplicateId);
const { status, body } = await request(app)
.post('/duplicates/resolve')
.set('Authorization', `Bearer ${user1.accessToken}`)
.send({
groups: [{ duplicateId, keepAssetIds: [asset1.id], trashAssetIds: [asset1.id] }],
});
expect(status).toBe(200);
expect(body.results[0].status).toBe('FAILED');
expect(body.results[0].reason).toContain('disjoint');
});
it('should require keepAssetIds when partially trashing', async () => {
const [asset1, asset2] = await Promise.all([
utils.createAsset(user1.accessToken),
utils.createAsset(user1.accessToken),
]);
const duplicateId = '00000000-0000-4000-8000-000000000004';
await utils.setAssetDuplicateId(user1.accessToken, asset1.id, duplicateId);
await utils.setAssetDuplicateId(user1.accessToken, asset2.id, duplicateId);
const { status, body } = await request(app)
.post('/duplicates/resolve')
.set('Authorization', `Bearer ${user1.accessToken}`)
.send({
groups: [{ duplicateId, keepAssetIds: [], trashAssetIds: [asset1.id] }],
});
expect(status).toBe(200);
expect(body.results[0].status).toBe('FAILED');
expect(body.results[0].reason).toContain('must cover all assets');
});
it('should reject partial resolution (not all assets covered)', async () => {
const [asset1, asset2, asset3] = await Promise.all([
utils.createAsset(user1.accessToken),
utils.createAsset(user1.accessToken),
utils.createAsset(user1.accessToken),
]);
const duplicateId = '00000000-0000-4000-8000-000000000010';
await utils.setAssetDuplicateId(user1.accessToken, asset1.id, duplicateId);
await utils.setAssetDuplicateId(user1.accessToken, asset2.id, duplicateId);
await utils.setAssetDuplicateId(user1.accessToken, asset3.id, duplicateId);
const { status, body } = await request(app)
.post('/duplicates/resolve')
.set('Authorization', `Bearer ${user1.accessToken}`)
.send({
groups: [{ duplicateId, keepAssetIds: [asset1.id], trashAssetIds: [asset2.id] }],
});
expect(status).toBe(200);
expect(body.results[0].status).toBe('FAILED');
expect(body.results[0].reason).toContain('must cover all assets');
});
it('should reject asset not in duplicate group', async () => {
const [asset1, asset2, outsideAsset] = await Promise.all([
utils.createAsset(user1.accessToken),
utils.createAsset(user1.accessToken),
utils.createAsset(user1.accessToken),
]);
const duplicateId = '00000000-0000-4000-8000-000000000011';
await utils.setAssetDuplicateId(user1.accessToken, asset1.id, duplicateId);
await utils.setAssetDuplicateId(user1.accessToken, asset2.id, duplicateId);
const { status, body } = await request(app)
.post('/duplicates/resolve')
.set('Authorization', `Bearer ${user1.accessToken}`)
.send({
groups: [{ duplicateId, keepAssetIds: [asset1.id], trashAssetIds: [outsideAsset.id] }],
});
expect(status).toBe(200);
expect(body.results[0].status).toBe('FAILED');
expect(body.results[0].reason).toContain('not a member of duplicate group');
});
it('should allow trash-all without keepers', async () => {
const [asset1, asset2] = await Promise.all([
utils.createAsset(user1.accessToken),
utils.createAsset(user1.accessToken),
]);
const duplicateId = '00000000-0000-4000-8000-000000000012';
await utils.setAssetDuplicateId(user1.accessToken, asset1.id, duplicateId);
await utils.setAssetDuplicateId(user1.accessToken, asset2.id, duplicateId);
const { status, body } = await request(app)
.post('/duplicates/resolve')
.set('Authorization', `Bearer ${user1.accessToken}`)
.send({
groups: [{ duplicateId, keepAssetIds: [], trashAssetIds: [asset1.id, asset2.id] }],
});
expect(status).toBe(200);
expect(body).toEqual({
status: 'COMPLETED',
results: [
{
duplicateId,
status: 'SUCCESS',
},
],
});
// Verify both assets are trashed
const [asset1Info, asset2Info] = await Promise.all([
utils.getAssetInfo(user1.accessToken, asset1.id),
utils.getAssetInfo(user1.accessToken, asset2.id),
]);
expect(asset1Info.isTrashed).toBe(true);
expect(asset1Info.duplicateId).toBeNull();
expect(asset2Info.isTrashed).toBe(true);
expect(asset2Info.duplicateId).toBeNull();
});
it('should reject cross-user duplicate group access', async () => {
const asset1 = await utils.createAsset(user1.accessToken);
const asset2 = await utils.createAsset(user2.accessToken);
const duplicateId = '00000000-0000-4000-8000-000000000013';
await utils.setAssetDuplicateId(user1.accessToken, asset1.id, duplicateId);
await utils.setAssetDuplicateId(user2.accessToken, asset2.id, duplicateId);
// User1 tries to resolve a group containing user2's asset
const { status, body } = await request(app)
.post('/duplicates/resolve')
.set('Authorization', `Bearer ${user1.accessToken}`)
.send({
groups: [{ duplicateId, keepAssetIds: [asset1.id], trashAssetIds: [asset2.id] }],
});
expect(status).toBe(200);
expect(body.results[0].status).toBe('FAILED');
expect(body.results[0].reason).toContain('not a member of duplicate group');
});
it('should synchronize favorites when enabled', async () => {
const [asset1, asset2] = await Promise.all([
utils.createAsset(user1.accessToken),
utils.createAsset(user1.accessToken),
]);
// Mark one asset as favorite
await request(app)
.put('/assets')
.set('Authorization', `Bearer ${user1.accessToken}`)
.send({ ids: [asset2.id], isFavorite: true });
const duplicateId = '00000000-0000-4000-8000-000000000020';
await utils.setAssetDuplicateId(user1.accessToken, asset1.id, duplicateId);
await utils.setAssetDuplicateId(user1.accessToken, asset2.id, duplicateId);
const { status, body } = await request(app)
.post('/duplicates/resolve')
.set('Authorization', `Bearer ${user1.accessToken}`)
.send({
groups: [{ duplicateId, keepAssetIds: [asset1.id], trashAssetIds: [asset2.id] }],
});
expect(status).toBe(200);
expect(body.results[0].status).toBe('SUCCESS');
// Verify favorite was synchronized to keeper
const keptAsset = await utils.getAssetInfo(user1.accessToken, asset1.id);
expect(keptAsset.isFavorite).toBe(true);
expect(keptAsset.duplicateId).toBeNull();
});
it('should synchronize visibility when enabled', async () => {
const [asset1, asset2] = await Promise.all([
utils.createAsset(user1.accessToken),
utils.createAsset(user1.accessToken),
]);
// Archive one asset
await utils.archiveAssets(user1.accessToken, [asset2.id]);
const duplicateId = '00000000-0000-4000-8000-000000000021';
await utils.setAssetDuplicateId(user1.accessToken, asset1.id, duplicateId);
await utils.setAssetDuplicateId(user1.accessToken, asset2.id, duplicateId);
const { status, body } = await request(app)
.post('/duplicates/resolve')
.set('Authorization', `Bearer ${user1.accessToken}`)
.send({
groups: [{ duplicateId, keepAssetIds: [asset1.id], trashAssetIds: [asset2.id] }],
});
expect(status).toBe(200);
expect(body.results[0].status).toBe('SUCCESS');
// Verify visibility was synchronized to keeper
const keptAsset = await utils.getAssetInfo(user1.accessToken, asset1.id);
expect(keptAsset.visibility).toBe('archive');
expect(keptAsset.duplicateId).toBeNull();
});
it('should synchronize rating when enabled', async () => {
const [asset1, asset2] = await Promise.all([
utils.createAsset(user1.accessToken),
utils.createAsset(user1.accessToken),
]);
// Set rating on one asset
await request(app)
.put('/assets')
.set('Authorization', `Bearer ${user1.accessToken}`)
.send({ ids: [asset2.id], rating: 5 });
const duplicateId = '00000000-0000-4000-8000-000000000022';
await utils.setAssetDuplicateId(user1.accessToken, asset1.id, duplicateId);
await utils.setAssetDuplicateId(user1.accessToken, asset2.id, duplicateId);
const { status, body } = await request(app)
.post('/duplicates/resolve')
.set('Authorization', `Bearer ${user1.accessToken}`)
.send({
groups: [{ duplicateId, keepAssetIds: [asset1.id], trashAssetIds: [asset2.id] }],
});
expect(status).toBe(200);
expect(body.results[0].status).toBe('SUCCESS');
// Verify rating was synchronized to keeper
const keptAsset = await utils.getAssetInfo(user1.accessToken, asset1.id);
expect(keptAsset.exifInfo?.rating).toBe(5);
expect(keptAsset.duplicateId).toBeNull();
});
it('should synchronize description when enabled', async () => {
const [asset1, asset2] = await Promise.all([
utils.createAsset(user1.accessToken),
utils.createAsset(user1.accessToken),
]);
// Set description on one asset
await request(app)
.put('/assets')
.set('Authorization', `Bearer ${user1.accessToken}`)
.send({ ids: [asset2.id], description: 'Test description for duplicate' });
const duplicateId = '00000000-0000-4000-8000-000000000023';
await utils.setAssetDuplicateId(user1.accessToken, asset1.id, duplicateId);
await utils.setAssetDuplicateId(user1.accessToken, asset2.id, duplicateId);
const { status, body } = await request(app)
.post('/duplicates/resolve')
.set('Authorization', `Bearer ${user1.accessToken}`)
.send({
groups: [{ duplicateId, keepAssetIds: [asset1.id], trashAssetIds: [asset2.id] }],
});
expect(status).toBe(200);
expect(body.results[0].status).toBe('SUCCESS');
// Verify description was synchronized to keeper
const keptAsset = await utils.getAssetInfo(user1.accessToken, asset1.id);
expect(keptAsset.exifInfo?.description).toBe('Test description for duplicate');
expect(keptAsset.duplicateId).toBeNull();
});
it('should synchronize location when enabled', async () => {
const [asset1, asset2] = await Promise.all([
utils.createAsset(user1.accessToken),
utils.createAsset(user1.accessToken),
]);
// Set location on one asset
await request(app)
.put('/assets')
.set('Authorization', `Bearer ${user1.accessToken}`)
.send({ ids: [asset2.id], latitude: 40.7128, longitude: -74.006 });
const duplicateId = '00000000-0000-4000-8000-000000000024';
await utils.setAssetDuplicateId(user1.accessToken, asset1.id, duplicateId);
await utils.setAssetDuplicateId(user1.accessToken, asset2.id, duplicateId);
const { status, body } = await request(app)
.post('/duplicates/resolve')
.set('Authorization', `Bearer ${user1.accessToken}`)
.send({
groups: [{ duplicateId, keepAssetIds: [asset1.id], trashAssetIds: [asset2.id] }],
});
expect(status).toBe(200);
expect(body.results[0].status).toBe('SUCCESS');
// Verify location was synchronized to keeper
const keptAsset = await utils.getAssetInfo(user1.accessToken, asset1.id);
expect(keptAsset.exifInfo?.latitude).toBe(40.7128);
expect(keptAsset.exifInfo?.longitude).toBe(-74.006);
expect(keptAsset.duplicateId).toBeNull();
});
it('should synchronize albums when enabled', async () => {
const [asset1, asset2] = await Promise.all([
utils.createAsset(user1.accessToken),
utils.createAsset(user1.accessToken),
]);
// Create albums and add assets to different albums
const album1 = await utils.createAlbum(user1.accessToken, {
albumName: 'Album 1',
assetIds: [asset1.id],
});
const album2 = await utils.createAlbum(user1.accessToken, {
albumName: 'Album 2',
assetIds: [asset2.id],
});
const duplicateId = '00000000-0000-4000-8000-000000000025';
await utils.setAssetDuplicateId(user1.accessToken, asset1.id, duplicateId);
await utils.setAssetDuplicateId(user1.accessToken, asset2.id, duplicateId);
const { status, body } = await request(app)
.post('/duplicates/resolve')
.set('Authorization', `Bearer ${user1.accessToken}`)
.send({
groups: [{ duplicateId, keepAssetIds: [asset1.id], trashAssetIds: [asset2.id] }],
});
expect(status).toBe(200);
expect(body.results[0].status).toBe('SUCCESS');
// Verify keeper is now in both albums
const keptAsset = await utils.getAssetInfo(user1.accessToken, asset1.id);
expect(keptAsset.duplicateId).toBeNull();
// Check albums directly
const { status: album1Status, body: album1Body } = await request(app)
.get(`/albums/${album1.id}`)
.set('Authorization', `Bearer ${user1.accessToken}`);
const { status: album2Status, body: album2Body } = await request(app)
.get(`/albums/${album2.id}`)
.set('Authorization', `Bearer ${user1.accessToken}`);
expect(album1Status).toBe(200);
expect(album2Status).toBe(200);
expect(album1Body.assets.map((a: any) => a.id)).toContain(asset1.id);
expect(album2Body.assets.map((a: any) => a.id)).toContain(asset1.id);
});
it('should synchronize tags when enabled', async () => {
const [asset1, asset2] = await Promise.all([
utils.createAsset(user1.accessToken),
utils.createAsset(user1.accessToken),
]);
// Wait for metadata extraction to complete before adding tags
// Otherwise, metadata jobs will race and overwrite our tags
await utils.waitForQueueFinish(admin.accessToken, 'metadataExtraction');
// Create tags and tag assets differently
const tags = await utils.upsertTags(user1.accessToken, ['tag1', 'tag2']);
await utils.tagAssets(user1.accessToken, tags[0].id, [asset1.id]);
await utils.tagAssets(user1.accessToken, tags[1].id, [asset2.id]);
const duplicateId = '00000000-0000-4000-8000-000000000026';
await utils.setAssetDuplicateId(user1.accessToken, asset1.id, duplicateId);
await utils.setAssetDuplicateId(user1.accessToken, asset2.id, duplicateId);
const { status, body } = await request(app)
.post('/duplicates/resolve')
.set('Authorization', `Bearer ${user1.accessToken}`)
.send({
groups: [{ duplicateId, keepAssetIds: [asset1.id], trashAssetIds: [asset2.id] }],
});
expect(status).toBe(200);
expect(body.results[0].status).toBe('SUCCESS');
// Verify keeper has both tags
const keptAsset = await utils.getAssetInfo(user1.accessToken, asset1.id);
expect(keptAsset.duplicateId).toBeNull();
expect(keptAsset.tags).toBeDefined();
const tagIds = keptAsset.tags?.map((t) => t.id) || [];
expect(tagIds).toContain(tags[0].id);
expect(tagIds).toContain(tags[1].id);
});
it('should handle batch resolve with mixed success and failure', async () => {
// Create first group that will succeed
const [asset1, asset2] = await Promise.all([
utils.createAsset(user1.accessToken),
utils.createAsset(user1.accessToken),
]);
const duplicateId1 = '00000000-0000-4000-8000-000000000027';
await utils.setAssetDuplicateId(user1.accessToken, asset1.id, duplicateId1);
await utils.setAssetDuplicateId(user1.accessToken, asset2.id, duplicateId1);
// Create second group with non-existent duplicate ID (will fail)
const fakeId = '00000000-0000-4000-8000-000000000099';
const { status, body } = await request(app)
.post('/duplicates/resolve')
.set('Authorization', `Bearer ${user1.accessToken}`)
.send({
groups: [
{ duplicateId: duplicateId1, keepAssetIds: [asset1.id], trashAssetIds: [asset2.id] },
{ duplicateId: fakeId, keepAssetIds: [], trashAssetIds: [] },
],
});
expect(status).toBe(200);
expect(body.status).toBe('COMPLETED');
expect(body.results).toHaveLength(2);
// First group should succeed
expect(body.results[0].duplicateId).toBe(duplicateId1);
expect(body.results[0].status).toBe('SUCCESS');
// Second group should fail
expect(body.results[1].duplicateId).toBe(fakeId);
expect(body.results[1].status).toBe('FAILED');
expect(body.results[1].reason).toContain('not found or access denied');
// Verify first group was actually resolved despite second failure
const asset1Info = await utils.getAssetInfo(user1.accessToken, asset1.id);
expect(asset1Info.duplicateId).toBeNull();
const asset2Info = await utils.getAssetInfo(user1.accessToken, asset2.id);
expect(asset2Info.isTrashed).toBe(true);
});
it('should trash assets when trash is enabled', async () => {
const [asset1, asset2] = await Promise.all([
utils.createAsset(user1.accessToken),
utils.createAsset(user1.accessToken),
]);
const duplicateId = '00000000-0000-4000-8000-000000000028';
await utils.setAssetDuplicateId(user1.accessToken, asset1.id, duplicateId);
await utils.setAssetDuplicateId(user1.accessToken, asset2.id, duplicateId);
// Ensure trash is enabled (default)
const config = await utils.getSystemConfig(admin.accessToken);
expect(config.trash.enabled).toBe(true);
const { status, body } = await request(app)
.post('/duplicates/resolve')
.set('Authorization', `Bearer ${user1.accessToken}`)
.send({
groups: [{ duplicateId, keepAssetIds: [asset1.id], trashAssetIds: [asset2.id] }],
});
expect(status).toBe(200);
expect(body.results[0].status).toBe('SUCCESS');
// Verify asset is trashed (not deleted)
const trashedAsset = await utils.getAssetInfo(user1.accessToken, asset2.id);
expect(trashedAsset.isTrashed).toBe(true);
});
it('should delete assets when trash is disabled', async () => {
const [asset1, asset2] = await Promise.all([
utils.createAsset(user1.accessToken),
utils.createAsset(user1.accessToken),
]);
const duplicateId = '00000000-0000-4000-8000-000000000029';
await utils.setAssetDuplicateId(user1.accessToken, asset1.id, duplicateId);
await utils.setAssetDuplicateId(user1.accessToken, asset2.id, duplicateId);
// Disable trash
await request(app)
.put('/system-config')
.set('Authorization', `Bearer ${admin.accessToken}`)
.send({
trash: { enabled: false, days: 30 },
});
const { status, body } = await request(app)
.post('/duplicates/resolve')
.set('Authorization', `Bearer ${user1.accessToken}`)
.send({
groups: [{ duplicateId, keepAssetIds: [asset1.id], trashAssetIds: [asset2.id] }],
});
expect(status).toBe(200);
expect(body.results[0].status).toBe('SUCCESS');
// Asset should be marked as deleted (force delete)
const { status: getStatus } = await request(app)
.get(`/assets/${asset2.id}`)
.set('Authorization', `Bearer ${user1.accessToken}`);
// Asset should still be accessible (soft deleted) but marked as deleted
expect(getStatus).toBe(200);
// Re-enable trash for other tests
await utils.resetAdminConfig(admin.accessToken);
});
});
});

View File

@@ -2,6 +2,8 @@ export const uuidDto = {
invalid: 'invalid-uuid',
// valid uuid v4
notFound: '00000000-0000-4000-a000-000000000000',
dummy: '00000000-0000-4000-a000-000000000001',
dummy2: '00000000-0000-4000-a000-000000000002',
};
const adminLoginDto = {

View File

@@ -10,7 +10,9 @@ describe('/admin/database-backups', () => {
beforeAll(async () => {
await utils.resetDatabase();
admin = await utils.adminSetup();
admin = await utils.adminSetup({
onboarding: false,
});
await utils.resetBackups(admin.accessToken);
});
@@ -94,7 +96,9 @@ describe('/admin/database-backups', () => {
({ status, body }) => status === 200 && !body.maintenanceMode,
);
admin = await utils.adminSetup();
admin = await utils.adminSetup({
onboarding: false,
});
});
it.sequential('should not work when the server is configured', async () => {

View File

@@ -524,14 +524,19 @@ describe('/albums', () => {
expect(body).toEqual(errorDto.badRequest('Not found or no album.update access'));
});
it('should not be able to update as an editor', async () => {
it('should be able to update as an editor', async () => {
const { status, body } = await request(app)
.patch(`/albums/${user1Albums[0].id}`)
.set('Authorization', `Bearer ${user2.accessToken}`)
.send({ albumName: 'New album name' });
expect(status).toBe(400);
expect(body).toEqual(errorDto.badRequest('Not found or no album.update access'));
expect(status).toBe(200);
expect(body).toEqual(
expect.objectContaining({
id: user1Albums[0].id,
albumName: 'New album name',
}),
);
});
});

View File

@@ -380,4 +380,23 @@ describe(`/oauth`, () => {
});
});
});
describe('idTokenClaims', () => {
it('should use claims from the ID token if IDP includes them', async () => {
await setupOAuth(admin.accessToken, {
enabled: true,
clientId: OAuthClient.DEFAULT,
clientSecret: OAuthClient.DEFAULT,
});
const callbackParams = await loginWithOAuth(OAuthUser.ID_TOKEN_CLAIMS);
const { status, body } = await request(app).post('/oauth/callback').send(callbackParams);
expect(status).toBe(201);
expect(body).toMatchObject({
accessToken: expect.any(String),
name: 'ID Token User',
userEmail: 'oauth-id-token-claims@immich.app',
userId: expect.any(String),
});
});
});
});

View File

@@ -438,6 +438,16 @@ describe('/shared-links', () => {
expect(body).toEqual(errorDto.badRequest('Invalid shared link type'));
});
it('should reject guests removing assets from an individual shared link', async () => {
const { status, body } = await request(app)
.delete(`/shared-links/${linkWithAssets.id}/assets`)
.query({ key: linkWithAssets.key })
.send({ assetIds: [asset1.id] });
expect(status).toBe(403);
expect(body).toEqual(errorDto.forbidden);
});
it('should remove assets from a shared link (individual)', async () => {
const { status, body } = await request(app)
.delete(`/shared-links/${linkWithAssets.id}/assets`)

View File

@@ -1,6 +1,7 @@
import { LoginResponseDto } from '@immich/sdk';
import { test } from '@playwright/test';
import { utils } from 'src/utils';
import { expect, test } from '@playwright/test';
import { readFileSync } from 'node:fs';
import { testAssetDir, utils } from 'src/utils';
test.describe('Album', () => {
let admin: LoginResponseDto;
@@ -22,4 +23,41 @@ test.describe('Album', () => {
await page.reload();
await page.getByRole('button', { name: 'Select photos' }).waitFor();
});
test('should keep map view open after viewing an asset from the map and going back', async ({ context, page }) => {
await utils.setAuthCookies(context, admin.accessToken);
const imagePath = `${testAssetDir}/metadata/gps-position/thompson-springs.jpg`;
const mapAsset = await utils.createAsset(admin.accessToken, {
assetData: {
bytes: readFileSync(imagePath),
filename: 'thompson-springs.jpg',
},
});
await utils.waitForQueueFinish(admin.accessToken, 'metadataExtraction');
const mapAlbum = await utils.createAlbum(admin.accessToken, {
albumName: 'Map Test Album',
assetIds: [mapAsset.id],
});
await page.goto(`/albums/${mapAlbum.id}`);
const mapButton = page.getByRole('button', { name: 'Map' });
await expect(mapButton).toBeVisible();
await mapButton.click();
const mapModal = page.getByRole('dialog');
await expect(mapModal).toBeVisible();
const mapMarker = mapModal.getByRole('img', { name: /Map marker/i }).first();
await expect(mapMarker).toBeVisible();
await mapMarker.click();
await page.waitForSelector('#immich-asset-viewer');
await page.getByRole('button', { name: 'Go back' }).click();
await expect(page.locator('#immich-asset-viewer')).not.toBeVisible();
await expect(mapModal).toBeVisible();
});
});

View File

@@ -0,0 +1,51 @@
import { AssetMediaResponseDto, LoginResponseDto, updateAssets } from '@immich/sdk';
import { expect, test } from '@playwright/test';
import crypto from 'node:crypto';
import { asBearerAuth, utils } from 'src/utils';
test.describe('Duplicates Utility', () => {
let admin: LoginResponseDto;
let firstAsset: AssetMediaResponseDto;
let secondAsset: AssetMediaResponseDto;
test.beforeAll(async () => {
utils.initSdk();
await utils.resetDatabase();
admin = await utils.adminSetup();
});
test.beforeEach(async ({ context }) => {
[firstAsset, secondAsset] = await Promise.all([
utils.createAsset(admin.accessToken, { deviceAssetId: 'duplicate-a' }),
utils.createAsset(admin.accessToken, { deviceAssetId: 'duplicate-b' }),
]);
await updateAssets(
{
assetBulkUpdateDto: {
ids: [firstAsset.id, secondAsset.id],
duplicateId: crypto.randomUUID(),
},
},
{ headers: asBearerAuth(admin.accessToken) },
);
await utils.setAuthCookies(context, admin.accessToken);
});
test('navigates with arrow keys between duplicate preview assets', async ({ page }) => {
await page.goto('/utilities/duplicates');
await page.getByRole('button', { name: 'View' }).first().click();
await page.waitForSelector('#immich-asset-viewer');
const getViewedAssetId = () => new URL(page.url()).pathname.split('/').at(-1) ?? '';
const initialAssetId = getViewedAssetId();
expect([firstAsset.id, secondAsset.id]).toContain(initialAssetId);
await page.keyboard.press('ArrowRight');
await expect.poll(getViewedAssetId).not.toBe(initialAssetId);
await page.keyboard.press('ArrowLeft');
await expect.poll(getViewedAssetId).toBe(initialAssetId);
});
});

View File

@@ -64,6 +64,20 @@ test.describe('Photo Viewer', () => {
await expect(original).toHaveAttribute('src', /fullsize/);
});
test('right-click targets the img element', async ({ page }) => {
await page.goto(`/photos/${asset.id}`);
const preview = page.getByTestId('preview').filter({ visible: true });
await expect(preview).toHaveAttribute('src', /.+/);
const box = await preview.boundingBox();
const tagAtCenter = await page.evaluate(({ x, y }) => document.elementFromPoint(x, y)?.tagName, {
x: box!.x + box!.width / 2,
y: box!.y + box!.height / 2,
});
expect(tagAtCenter).toBe('IMG');
});
test('reloads photo when checksum changes', async ({ page }) => {
await page.goto(`/photos/${asset.id}`);

View File

@@ -12,15 +12,18 @@ import { asBearerAuth, utils } from 'src/utils';
test.describe('Shared Links', () => {
let admin: LoginResponseDto;
let asset: AssetMediaResponseDto;
let asset2: AssetMediaResponseDto;
let album: AlbumResponseDto;
let sharedLink: SharedLinkResponseDto;
let sharedLinkPassword: SharedLinkResponseDto;
let individualSharedLink: SharedLinkResponseDto;
test.beforeAll(async () => {
utils.initSdk();
await utils.resetDatabase();
admin = await utils.adminSetup();
asset = await utils.createAsset(admin.accessToken);
asset2 = await utils.createAsset(admin.accessToken);
album = await createAlbum(
{
createAlbumDto: {
@@ -39,6 +42,10 @@ test.describe('Shared Links', () => {
albumId: album.id,
password: 'test-password',
});
individualSharedLink = await utils.createSharedLink(admin.accessToken, {
type: SharedLinkType.Individual,
assetIds: [asset.id, asset2.id],
});
});
test('download from a shared link', async ({ page }) => {
@@ -109,4 +116,21 @@ test.describe('Shared Links', () => {
await page.waitForURL('/photos');
await page.locator(`[data-asset-id="${asset.id}"]`).waitFor();
});
test('owner can remove assets from an individual shared link', async ({ context, page }) => {
await utils.setAuthCookies(context, admin.accessToken);
await page.goto(`/share/${individualSharedLink.key}`);
await page.locator(`[data-asset="${asset.id}"]`).waitFor();
await expect(page.locator(`[data-asset]`)).toHaveCount(2);
await page.locator(`[data-asset="${asset.id}"]`).hover();
await page.locator(`[data-asset="${asset.id}"] [role="checkbox"]`).click();
await page.getByRole('button', { name: 'Remove from shared link' }).click();
await page.getByRole('button', { name: 'Remove', exact: true }).click();
await expect(page.locator(`[data-asset="${asset.id}"]`)).toHaveCount(0);
await expect(page.locator(`[data-asset="${asset2.id}"]`)).toHaveCount(1);
});
});

View File

@@ -1,5 +1,5 @@
import { BrowserContext } from '@playwright/test';
import { playwrightHost } from 'playwright.config';
import { playwrightHost } from 'src/../playwright.config';
export const setupBaseMockApiRoutes = async (context: BrowserContext, adminUserId: string) => {
await context.addCookies([
@@ -173,6 +173,7 @@ export const setupBaseMockApiRoutes = async (context: BrowserContext, adminUserI
'.mpeg',
'.mpg',
'.mts',
'.ts',
'.vob',
'.webm',
'.wmv',

View File

@@ -0,0 +1,55 @@
import { faker } from '@faker-js/faker';
import type { AssetOcrResponseDto } from '@immich/sdk';
import { BrowserContext } from '@playwright/test';
export type MockOcrBox = {
text: string;
x1: number;
y1: number;
x2: number;
y2: number;
x3: number;
y3: number;
x4: number;
y4: number;
};
export const createMockOcrData = (assetId: string, boxes: MockOcrBox[]): AssetOcrResponseDto[] => {
return boxes.map((box) => ({
id: faker.string.uuid(),
assetId,
x1: box.x1,
y1: box.y1,
x2: box.x2,
y2: box.y2,
x3: box.x3,
y3: box.y3,
x4: box.x4,
y4: box.y4,
boxScore: 0.95,
textScore: 0.9,
text: box.text,
}));
};
export const setupOcrMockApiRoutes = async (
context: BrowserContext,
ocrDataByAssetId: Map<string, AssetOcrResponseDto[]>,
) => {
await context.route('**/assets/*/ocr', async (route, request) => {
if (request.method() !== 'GET') {
return route.fallback();
}
const url = new URL(request.url());
const segments = url.pathname.split('/');
const assetIdIndex = segments.indexOf('assets') + 1;
const assetId = segments[assetIdIndex];
const ocrData = ocrDataByAssetId.get(assetId) ?? [];
return route.fulfill({
status: 200,
contentType: 'application/json',
json: ocrData,
});
});
};

View File

@@ -0,0 +1,300 @@
import type { AssetOcrResponseDto, AssetResponseDto } from '@immich/sdk';
import { expect, test } from '@playwright/test';
import { toAssetResponseDto } from 'src/ui/generators/timeline';
import {
createMockStack,
createMockStackAsset,
MockStack,
setupBrokenAssetMockApiRoutes,
} from 'src/ui/mock-network/broken-asset-network';
import { createMockOcrData, setupOcrMockApiRoutes } from 'src/ui/mock-network/ocr-network';
import { assetViewerUtils } from '../timeline/utils';
import { setupAssetViewerFixture } from './utils';
test.describe.configure({ mode: 'parallel' });
const PRIMARY_OCR_BOXES = [
{ text: 'Hello World', x1: 0.1, y1: 0.1, x2: 0.4, y2: 0.1, x3: 0.4, y3: 0.15, x4: 0.1, y4: 0.15 },
{ text: 'Immich Photo', x1: 0.2, y1: 0.3, x2: 0.6, y2: 0.3, x3: 0.6, y3: 0.36, x4: 0.2, y4: 0.36 },
];
const SECONDARY_OCR_BOXES = [
{ text: 'Second Asset Text', x1: 0.15, y1: 0.2, x2: 0.55, y2: 0.2, x3: 0.55, y3: 0.26, x4: 0.15, y4: 0.26 },
];
test.describe('OCR bounding boxes', () => {
const fixture = setupAssetViewerFixture(920);
test.beforeEach(async ({ context }) => {
const primaryAssetDto = toAssetResponseDto(fixture.primaryAsset);
const ocrDataByAssetId = new Map<string, AssetOcrResponseDto[]>([
[primaryAssetDto.id, createMockOcrData(primaryAssetDto.id, PRIMARY_OCR_BOXES)],
]);
await setupOcrMockApiRoutes(context, ocrDataByAssetId);
});
test('OCR bounding boxes appear when clicking OCR button', async ({ page }) => {
await page.goto(`/photos/${fixture.primaryAsset.id}`);
await assetViewerUtils.waitForViewerLoad(page, fixture.primaryAsset);
const ocrButton = page.getByLabel('Text recognition');
await expect(ocrButton).toBeVisible();
await ocrButton.click();
const ocrBoxes = page.locator('[data-viewer-content] [data-testid="ocr-box"]');
await expect(ocrBoxes).toHaveCount(2);
await expect(ocrBoxes.nth(0)).toContainText('Hello World');
await expect(ocrBoxes.nth(1)).toContainText('Immich Photo');
});
test('OCR bounding boxes toggle off on second click', async ({ page }) => {
await page.goto(`/photos/${fixture.primaryAsset.id}`);
await assetViewerUtils.waitForViewerLoad(page, fixture.primaryAsset);
const ocrButton = page.getByLabel('Text recognition');
await ocrButton.click();
await expect(page.locator('[data-viewer-content] [data-testid="ocr-box"]').first()).toBeVisible();
await ocrButton.click();
await expect(page.locator('[data-viewer-content] [data-testid="ocr-box"]')).toHaveCount(0);
});
});
test.describe('OCR with stacked assets', () => {
const fixture = setupAssetViewerFixture(921);
let mockStack: MockStack;
let primaryAssetDto: AssetResponseDto;
let secondAssetDto: AssetResponseDto;
test.beforeAll(async () => {
primaryAssetDto = toAssetResponseDto(fixture.primaryAsset);
secondAssetDto = createMockStackAsset(fixture.adminUserId);
secondAssetDto.originalFileName = 'second-ocr-asset.jpg';
mockStack = createMockStack(primaryAssetDto, [secondAssetDto], new Set());
});
test.beforeEach(async ({ context }) => {
await setupBrokenAssetMockApiRoutes(context, mockStack);
const ocrDataByAssetId = new Map<string, AssetOcrResponseDto[]>([
[primaryAssetDto.id, createMockOcrData(primaryAssetDto.id, PRIMARY_OCR_BOXES)],
[secondAssetDto.id, createMockOcrData(secondAssetDto.id, SECONDARY_OCR_BOXES)],
]);
await setupOcrMockApiRoutes(context, ocrDataByAssetId);
});
test('different OCR boxes shown for different stacked assets', async ({ page }) => {
await page.goto(`/photos/${fixture.primaryAsset.id}`);
await assetViewerUtils.waitForViewerLoad(page, fixture.primaryAsset);
const ocrButton = page.getByLabel('Text recognition');
await expect(ocrButton).toBeVisible();
await ocrButton.click();
const ocrBoxes = page.locator('[data-viewer-content] [data-testid="ocr-box"]');
await expect(ocrBoxes).toHaveCount(2);
await expect(ocrBoxes.nth(0)).toContainText('Hello World');
const stackThumbnails = page.locator('#stack-slideshow [data-asset]');
await expect(stackThumbnails).toHaveCount(2);
await stackThumbnails.nth(1).click();
// refreshOcr() clears showOverlay when switching assets, so re-enable it
await expect(ocrBoxes).toHaveCount(0);
await expect(ocrButton).toBeVisible();
await ocrButton.click();
await expect(ocrBoxes).toHaveCount(1);
await expect(ocrBoxes.first()).toContainText('Second Asset Text');
});
});
test.describe('OCR boxes and zoom', () => {
const fixture = setupAssetViewerFixture(922);
test.beforeEach(async ({ context }) => {
const primaryAssetDto = toAssetResponseDto(fixture.primaryAsset);
const ocrDataByAssetId = new Map<string, AssetOcrResponseDto[]>([
[primaryAssetDto.id, createMockOcrData(primaryAssetDto.id, PRIMARY_OCR_BOXES)],
]);
await setupOcrMockApiRoutes(context, ocrDataByAssetId);
});
test('OCR boxes scale with zoom', async ({ page }) => {
await page.goto(`/photos/${fixture.primaryAsset.id}`);
await assetViewerUtils.waitForViewerLoad(page, fixture.primaryAsset);
const ocrButton = page.getByLabel('Text recognition');
await expect(ocrButton).toBeVisible();
await ocrButton.click();
const ocrBox = page.locator('[data-viewer-content] [data-testid="ocr-box"]').first();
await expect(ocrBox).toBeVisible();
const initialBox = await ocrBox.boundingBox();
expect(initialBox).toBeTruthy();
const { width, height } = page.viewportSize()!;
await page.mouse.move(width / 2, height / 2);
await page.mouse.wheel(0, -3);
await expect(async () => {
const zoomedBox = await ocrBox.boundingBox();
expect(zoomedBox).toBeTruthy();
expect(zoomedBox!.width).toBeGreaterThan(initialBox!.width);
expect(zoomedBox!.height).toBeGreaterThan(initialBox!.height);
}).toPass({ timeout: 2000 });
});
});
test.describe('OCR text interaction', () => {
const fixture = setupAssetViewerFixture(923);
test.beforeEach(async ({ context }) => {
const primaryAssetDto = toAssetResponseDto(fixture.primaryAsset);
const ocrDataByAssetId = new Map<string, AssetOcrResponseDto[]>([
[primaryAssetDto.id, createMockOcrData(primaryAssetDto.id, PRIMARY_OCR_BOXES)],
]);
await setupOcrMockApiRoutes(context, ocrDataByAssetId);
});
test('OCR text box has data-overlay-interactive attribute', async ({ page }) => {
await page.goto(`/photos/${fixture.primaryAsset.id}`);
await assetViewerUtils.waitForViewerLoad(page, fixture.primaryAsset);
await page.getByLabel('Text recognition').click();
const ocrBox = page.locator('[data-viewer-content] [data-testid="ocr-box"]').first();
await expect(ocrBox).toBeVisible();
await expect(ocrBox).toHaveAttribute('data-overlay-interactive');
});
test('OCR text box receives focus on click', async ({ page }) => {
await page.goto(`/photos/${fixture.primaryAsset.id}`);
await assetViewerUtils.waitForViewerLoad(page, fixture.primaryAsset);
await page.getByLabel('Text recognition').click();
const ocrBox = page.locator('[data-viewer-content] [data-testid="ocr-box"]').first();
await expect(ocrBox).toBeVisible();
await ocrBox.click();
await expect(ocrBox).toBeFocused();
});
test('dragging on OCR text box does not trigger image pan', async ({ page }) => {
await page.goto(`/photos/${fixture.primaryAsset.id}`);
await assetViewerUtils.waitForViewerLoad(page, fixture.primaryAsset);
await page.getByLabel('Text recognition').click();
const ocrBox = page.locator('[data-viewer-content] [data-testid="ocr-box"]').first();
await expect(ocrBox).toBeVisible();
const imgLocator = page.locator('[data-viewer-content] img[draggable="false"]');
const initialTransform = await imgLocator.evaluate((element) => {
return getComputedStyle(element.closest('[style*="transform"]') ?? element).transform;
});
const box = await ocrBox.boundingBox();
expect(box).toBeTruthy();
const centerX = box!.x + box!.width / 2;
const centerY = box!.y + box!.height / 2;
await page.mouse.move(centerX, centerY);
await page.mouse.down();
await page.mouse.move(centerX + 50, centerY + 30, { steps: 5 });
await page.mouse.up();
const afterTransform = await imgLocator.evaluate((element) => {
return getComputedStyle(element.closest('[style*="transform"]') ?? element).transform;
});
expect(afterTransform).toBe(initialTransform);
});
test('split touch gesture across zoom container does not trigger zoom', async ({ page }) => {
await page.goto(`/photos/${fixture.primaryAsset.id}`);
await assetViewerUtils.waitForViewerLoad(page, fixture.primaryAsset);
await page.getByLabel('Text recognition').click();
const ocrBox = page.locator('[data-viewer-content] [data-testid="ocr-box"]').first();
await expect(ocrBox).toBeVisible();
const imgLocator = page.locator('[data-viewer-content] img[draggable="false"]');
const initialTransform = await imgLocator.evaluate((element) => {
return getComputedStyle(element.closest('[style*="transform"]') ?? element).transform;
});
const viewerContent = page.locator('[data-viewer-content]');
const viewerBox = await viewerContent.boundingBox();
expect(viewerBox).toBeTruthy();
// Dispatch a synthetic split gesture: one touch inside the viewer, one outside
await page.evaluate(
({ viewerCenterX, viewerCenterY, outsideY }) => {
const viewer = document.querySelector('[data-viewer-content]');
if (!viewer) {
return;
}
const createTouch = (id: number, x: number, y: number) => {
return new Touch({
identifier: id,
target: viewer,
clientX: x,
clientY: y,
});
};
const insideTouch = createTouch(0, viewerCenterX, viewerCenterY);
const outsideTouch = createTouch(1, viewerCenterX, outsideY);
const touchStartEvent = new TouchEvent('touchstart', {
touches: [insideTouch, outsideTouch],
targetTouches: [insideTouch],
changedTouches: [insideTouch, outsideTouch],
bubbles: true,
cancelable: true,
});
const touchMoveEvent = new TouchEvent('touchmove', {
touches: [createTouch(0, viewerCenterX, viewerCenterY - 30), createTouch(1, viewerCenterX, outsideY + 30)],
targetTouches: [createTouch(0, viewerCenterX, viewerCenterY - 30)],
changedTouches: [
createTouch(0, viewerCenterX, viewerCenterY - 30),
createTouch(1, viewerCenterX, outsideY + 30),
],
bubbles: true,
cancelable: true,
});
const touchEndEvent = new TouchEvent('touchend', {
touches: [],
targetTouches: [],
changedTouches: [insideTouch, outsideTouch],
bubbles: true,
cancelable: true,
});
viewer.dispatchEvent(touchStartEvent);
viewer.dispatchEvent(touchMoveEvent);
viewer.dispatchEvent(touchEndEvent);
},
{
viewerCenterX: viewerBox!.x + viewerBox!.width / 2,
viewerCenterY: viewerBox!.y + viewerBox!.height / 2,
outsideY: 10, // near the top of the page, outside the viewer
},
);
const afterTransform = await imgLocator.evaluate((element) => {
return getComputedStyle(element.closest('[style*="transform"]') ?? element).transform;
});
expect(afterTransform).toBe(initialTransform);
});
});

View File

@@ -6,6 +6,7 @@ import {
generateTimelineData,
TimelineAssetConfig,
TimelineData,
toAssetResponseDto,
} from 'src/ui/generators/timeline';
import { setupBaseMockApiRoutes } from 'src/ui/mock-network/base-network';
import { setupTimelineMockApiRoutes, TimelineTestContext } from 'src/ui/mock-network/timeline-network';
@@ -30,6 +31,10 @@ test.describe('search gallery-viewer', () => {
};
test.beforeAll(async () => {
test.fail(
process.env.PW_EXPERIMENTAL_SERVICE_WORKER_NETWORK_EVENTS !== '1',
'This test requires env var: PW_EXPERIMENTAL_SERVICE_WORKER_NETWORK_EVENTS=1',
);
adminUserId = faker.string.uuid();
testContext.adminId = adminUserId;
timelineRestData = generateTimelineData({ ...createDefaultTimelineConfig(), ownerId: adminUserId });
@@ -44,7 +49,10 @@ test.describe('search gallery-viewer', () => {
await context.route('**/api/search/metadata', async (route, request) => {
if (request.method() === 'POST') {
const searchAssets = assets.slice(0, 5).filter((asset) => !changes.assetDeletions.includes(asset.id));
const searchAssets = assets
.slice(0, 5)
.filter((asset) => !changes.assetDeletions.includes(asset.id))
.map((asset) => toAssetResponseDto(asset));
return route.fulfill({
status: 200,
contentType: 'application/json',

View File

@@ -62,7 +62,7 @@ export const thumbnailUtils = {
return page.locator(`[data-thumbnail-focus-container][data-asset="${assetId}"]`);
},
selectButton(page: Page, assetId: string) {
return page.locator(`[data-thumbnail-focus-container][data-asset="${assetId}"] button`);
return page.locator(`[data-thumbnail-focus-container][data-asset="${assetId}"] button[role="checkbox"]`);
},
selectedAsset(page: Page) {
return page.locator('[data-thumbnail-focus-container][data-selected]');

View File

@@ -510,6 +510,9 @@ export const utils = {
createStack: (accessToken: string, assetIds: string[]) =>
createStack({ stackCreateDto: { assetIds } }, { headers: asBearerAuth(accessToken) }),
setAssetDuplicateId: (accessToken: string, assetId: string, duplicateId: string | null) =>
updateAssets({ assetBulkUpdateDto: { ids: [assetId], duplicateId } }, { headers: asBearerAuth(accessToken) }),
upsertTags: (accessToken: string, tags: string[]) =>
upsertTags({ tagUpsertDto: { tags } }, { headers: asBearerAuth(accessToken) }),

View File

@@ -14,8 +14,10 @@
"outDir": "./dist",
"incremental": true,
"skipLibCheck": true,
"paths": {
"src/*": ["./src/*"]
},
"esModuleInterop": true,
"baseUrl": "./"
},
"include": ["src/**/*.ts", "vitest*.config.ts"],
"exclude": ["dist", "node_modules"]

View File

@@ -2,147 +2,147 @@
"about": "Oor",
"account": "Rekening",
"account_settings": "Rekeninginstellings",
"acknowledge": "Erken",
"acknowledge": "Neem kennis",
"action": "Aksie",
"action_common_update": "Opdateur",
"action_common_update": "Werk by",
"actions": "Aksies",
"active": "Aktief",
"activity": "Aktiwiteite",
"activity_changed": "Aktiwiteit is {enabled, select, true {aangeskakel} other {afgeskakel}}",
"add": "Voegby",
"add_a_description": "Voeg 'n beskrywing by",
"add_a_location": "Voeg 'n ligging by",
"add_a_name": "Voeg 'n naam by",
"add_a_title": "Voeg 'n titel by",
"add_birthday": "Voeg 'n verjaarsdag by",
"add_endpoint": "Voeg Koppelvlakpunt by",
"add_exclusion_pattern": "Voeg uitsgluitingspatrone by",
"add_location": "Voeg ligging by",
"add_more_users": "Voeg meer gebruikers by",
"add_partner": "Voeg vennoot by",
"add_path": "Voeg pad by",
"add_photos": "Voeg foto's by",
"add_tag": "Voeg tag by",
"add_to": "Voeg by…",
"add_to_album": "Voeg na album",
"add_to_album_bottom_sheet_added": "By {album} bygevoeg",
"activity_changed": "Aktiwiteit is {enabled, select, true {geaktiveer} other {gedeaktiveer}}",
"add": "Voeg toe",
"add_a_description": "Voeg n beskrywing toe",
"add_a_location": "Voeg n ligging toe",
"add_a_name": "Voeg n naam toe",
"add_a_title": "Voeg n titel toe",
"add_birthday": "Voeg n verjaarsdag toe",
"add_endpoint": "Voeg eindpunt toe",
"add_exclusion_pattern": "Voeg uitsluitingspatroon toe",
"add_location": "Voeg ligging toe",
"add_more_users": "Voeg meer gebruikers toe",
"add_partner": "Voeg vennoot toe",
"add_path": "Voeg pad toe",
"add_photos": "Voeg fotos toe",
"add_tag": "Voeg etiket toe",
"add_to": "Voeg toe tot…",
"add_to_album": "Voeg toe tot album",
"add_to_album_bottom_sheet_added": "Tot {album} toegevoeg",
"add_to_album_bottom_sheet_already_exists": "Reeds in {album}",
"add_to_albums": "Voeg by albums",
"add_to_albums_count": "Voeg by ({count}) albums",
"add_to_shared_album": "Voeg toe aan gedeelde album",
"add_url": "Voeg URL by",
"added_to_archive": "By argief toegevoegd",
"added_to_favorites": "By gunstelinge toegevoegd",
"added_to_favorites_count": "Het {count, number} by gunstelinge toegevoegd",
"add_to_albums": "Voeg toe tot albums",
"add_to_albums_count": "Voeg toe tot albums ({count})",
"add_to_shared_album": "Voeg toe tot gedeelde album",
"add_url": "Voeg bronadres toe",
"added_to_archive": "Tot argief toegevoeg",
"added_to_favorites": "Tot gunstelinge toegevoeg",
"added_to_favorites_count": "{count, number} tot gunstelinge toegevoeg",
"admin": {
"add_exclusion_pattern_description": "Voeg uitsluitingspatrone by. Globbing met *, ** en ? word ondersteun. Om alle lêers in enige lêergids genaamd \"Raw\" te ignoreer, gebruik \"**/Raw/**\". Om alle lêers wat op \".tif\" eindig, te ignoreer, gebruik \"**/*.tif\". Om 'n absolute pad te ignoreer, gebruik \"/path/to/ignore/**\".",
"admin_user": "Admin gebruiker",
"asset_offline_description": "Hierdie eksterne biblioteekbate word nie meer op skyf gevind nie en is na die asblik geskuif. As die lêer binne die biblioteek geskuif is, gaan jou tydlyn na vir die nuwe ooreenstemmende bate. Om hierdie bate te herstel, maak asseblief seker dat die lêerpad hieronder deur Immich verkry kan word en skandeer die biblioteek.",
"authentication_settings": "Verifikasie instellings",
"authentication_settings_description": "Bestuur wagwoord, OAuth en ander verifikasie instellings",
"authentication_settings_disable_all": "Is jy seker jy wil alle aanmeldmetodes deaktiveer? Aanmelding sal heeltemal gedeaktiveer word.",
"authentication_settings_reenable": "Om te heraktiveer, gebruik 'n <link>Server Command</link>.",
"add_exclusion_pattern_description": "Voeg uitsluitingspatrone toe. Plekhouers met *, ** en ? word ondersteun. Om alle lêers in enige vouer genaamd Raw te ignoreer, gebruik **/Raw/**. Om alle lêers wat op .tif eindig, te ignoreer, gebruik **/*.tif. Om n absolute pad te ignoreer, gebruik /path/to/ignore/**.",
"admin_user": "Admingebruiker",
"asset_offline_description": "Hierdie eksterne biblioteekitem word nie meer op skyf gevind nie en is na die asblik geskuif. As die lêer binne die biblioteek geskuif is, gaan u tydlyn na vir die nuwe ooreenstemmende item. Om hierdie item te herstel, maak asseblief seker dat die lêerpad hieronder deur Immich verkry kan word en skandeer die biblioteek.",
"authentication_settings": "Waarmerkinstellings",
"authentication_settings_description": "Bestuur wagwoord, OAuth en ander waarmerkinstellings",
"authentication_settings_disable_all": "Is u seker u wil alle aantekenmetodes deaktiveer? Aantekening sal heeltemal gedeaktiveer word.",
"authentication_settings_reenable": "Gebruik n <link>bedienerbevel</link> om te heraktiveer.",
"background_task_job": "Agtergrondtake",
"backup_database": "Skep Datastortlêer",
"backup_database_enable_description": "Aktiveer databasisrugsteun",
"backup_keep_last_amount": "Aantal vorige rugsteune om te hou",
"backup_onboarding_3_description": "totale kopieë van jou data, insluitende die oorspronklikke lêers. Dit sluit in 1 kopie op 'n ander perseel en 2 kopieë om die huidige rekenaar.",
"backup_onboarding_description": "'N <backblaze-link>3-2-1 rugsteun strategie</backblaze-link> word sterk aanbeveel om jou data veilig te hou. Hou kopieë van jou fotos/videos so wel as die Immich databasis vir 'n volledige rugsteun oplossing.",
"backup_onboarding_footer": "Vir meer inligting oor hoe om 'n rugsteun kopie van Immich te maak, gaan lees asseblief hierdie <link>dokument</link>.",
"backup_onboarding_parts_title": "'N 3-2-1 rugsteun sluit in:",
"backup_onboarding_title": "Rugsteun kopieë",
"backup_settings": "Rugsteun instellings",
"backup_settings_description": "Bestuur databasis rugsteun instellings.",
"cleared_jobs": "Poste gevee vir: {job}",
"config_set_by_file": "Config word tans deur 'n konfigurasielêer gestel",
"confirm_delete_library": "Is jy seker jy wil {library}-biblioteek uitvee?",
"confirm_delete_library_assets": "Is jy seker jy wil hierdie biblioteek uitvee? Dit sal {count, plural, one {# bevatte base} other {# bevatte bates}} uit Immich uitvee en kan nie ongedaan gemaak word nie. Lêers sal op skyf bly.",
"confirm_email_below": "Om te bevestig, tik \"{email}\" hieronder",
"confirm_reprocess_all_faces": "Is jy seker jy wil alle gesigte herverwerk? Dit sal ook genoemde mense skoonmaak.",
"confirm_user_password_reset": "Is jy seker jy wil {user} se wagwoord terugstel?",
"confirm_user_pin_code_reset": "Is jy seker jy wil {user} se PIN kode herstel?",
"create_job": "Skep werk",
"cron_expression": "Cron uitdrukking",
"cron_expression_description": "Stel die skanderingsinterval in met die cron-formaat. Vir meer inligting verwys asseblief na bv. <link>Crontab Guru</link>",
"cron_expression_presets": "Cron uitdrukking voorafinstellings",
"disable_login": "Deaktiveer aanmelding",
"duplicate_detection_job_description": "Begin masjienleer op bates om soortgelyke beelde op te spoor. Maak staat op Smart Search",
"exclusion_pattern_description": "Met uitsluitingspatrone kan jy lêers en vouers ignoreer wanneer jy jou biblioteek skandeer. Dit is nuttig as jy vouers het wat lêers bevat wat jy nie wil invoer nie, soos RAW-lêers.",
"face_detection": "Gesig herkenning",
"face_detection_description": "Identifiseer die gesigte in media deur middel van masjienleer. Vir videos word slegs die duimnaelskets oorweeg. “Herlaai” (ver)werk al die media weer. “Stel terug” verwyder alle huidige gesigdata. “Onverwerk” plaas bates in die tou wat nog nie verwerk is nie. Geidentifiseerde gesigte sal ná voltooiing van Gesigidentifikasie vir Gesigherkenning in die tou geplaas word, om hulle in bestaande of nuwe persone te groepeer.",
"facial_recognition_job_description": "Groepeer gesigte in mense in. Die stap is vinniger nadat Gesig Deteksie klaar is. \"Herstel\" (her-)groepeer alle gesigte. \"Vermiste\" plaas gesigte in ry wat nie 'n persoon gekoppel het nie.",
"failed_job_command": "Opdrag {command} het misluk vir werk: {job}",
"force_delete_user_warning": "WAARSKUWING: Dit sal onmiddellik die gebruiker en alle bates verwyder. Dit kan nie ontdoen word nie en die lêers kan nie herstel word nie.",
"backup_database": "Skep Databasisstortlêer",
"backup_database_enable_description": "Aktiveer databasisstortlêers",
"backup_keep_last_amount": "Aantal vorige stortlêers om te hou",
"backup_onboarding_3_description": "totale kopieë van u data, insluitend die oorspronklike lêers. Dit sluit 1 kopie op n ander perseel en 2 lokale kopieë in.",
"backup_onboarding_description": "n <backblaze-link>3-2-1-rugsteunstrategie</backblaze-link> word sterk aanbeveel om u data veilig te hou. Hou kopieë van u fotos/videos sowel as die Immich-databasis vir n volledige rugsteunoplossing.",
"backup_onboarding_footer": "Lees hierdie <link>dokument</link> vir meer inligting oor hoe om n rugsteunkopie van Immich te maak.",
"backup_onboarding_parts_title": "n 3-2-1-rugsteun sluit in:",
"backup_onboarding_title": "Rugsteunkopieë",
"backup_settings": "Databasisstortinstellings",
"backup_settings_description": "Bestuur databasisrugsteuninstellings.",
"cleared_jobs": "Take gewis vir: {job}",
"config_set_by_file": "Config word tans deur n konfigurasielêer gestel",
"confirm_delete_library": "Is u seker u wil {library}-biblioteek skrap?",
"confirm_delete_library_assets": "Is u seker u wil hierdie biblioteek skrap? Dit sal {count, plural, one {# bevatte item} other {# bevatte items}} uit Immich skrap en kan nie ongedaan gemaak word nie. Lêers sal op skyf bly.",
"confirm_email_below": "Tik {email} hieronder ter bevestiging",
"confirm_reprocess_all_faces": "Is u seker u wil alle gesigte herverwerk? Dit sal ook genoemde mense skoonmaak.",
"confirm_user_password_reset": "Is u seker u wil {user} se wagwoord terugstel?",
"confirm_user_pin_code_reset": "Is u seker u wil {user} se PIN-kode herstel?",
"create_job": "Skep taak",
"cron_expression": "Cron-uitdrukking",
"cron_expression_description": "Stel die skanderingsinterval in met die cron-formaat. Kyk gerus na bv. <link>Crontab Guru</link> vir meer inligting",
"cron_expression_presets": "Cron-uitdrukking voorafinstellings",
"disable_login": "Deaktiveer aantekening",
"duplicate_detection_job_description": "Begin masjienleer op items om soortgelyke beelde op te spoor. Maak staat op Slimsoek",
"exclusion_pattern_description": "Met uitsluitingspatrone kan u lêers en vouers ignoreer wanneer u u biblioteek skandeer. Dit is nuttig as u vouers het wat lêers bevat wat u nie wil invoer nie, soos RAW-lêers.",
"face_detection": "Gesigherkenning",
"face_detection_description": "Identifiseer die gesigte in media d.m.v. masjienleer. Vir videos word slegs die duimnael oorweeg. “Herlaai” (ver)werk al die media weer. “Stel terug” verwyder alle huidige gesigdata. “Onverwerk” plaas items in die ry wat nog nie verwerk is nie. Geïdentifiseerde gesigte sal ná voltooiing van Gesigidentifikasie vir Gesigherkenning in die ry geplaas word om hulle in bestaande of nuwe persone te groepeer.",
"facial_recognition_job_description": "Groepeer gesigte in mense. Die stap is vinniger nadat Gesigherkenning klaar is. Herstel (her-)groepeer alle gesigte. Vermiste plaas gesigte in ry wat nie n persoon gekoppel het nie.",
"failed_job_command": "Bevel {command} het misluk vir taak: {job}",
"force_delete_user_warning": "WAARSKUWING: Dit sal onmiddellik die gebruiker en alle items verwyder. Dit kan nie ontdaan word nie en die lêers kan nie herstel word nie.",
"image_format": "Formaat",
"image_format_description": "WebP produseer kleiner lêers as JPEG, maar is stadiger om te enkodeer.",
"image_fullsize_description": "Vol grote prent met geen metadata, gebruik wanner ingezoem",
"image_fullsize_enabled": "Skakel aan vol grote prent generasie",
"image_format_description": "WebP lewer kleiner lêers as JPEG, maar is stadiger om te enkodeer.",
"image_fullsize_description": "Volgrootte prent met geen metadata, gebruik wanner ingezoem",
"image_fullsize_enabled": "Aktiveer spek van volgrootte prent",
"image_prefer_embedded_preview": "Verkies ingebedde voorskou",
"image_prefer_wide_gamut": "Verkies wide gamut",
"image_prefer_wide_gamut_setting_description": "Gebruik Display P3 vir kleinkiekies. Dit behou die lewendheid van beelde met wye kleurruimtes beter, maar beelde kan anders verskyn op ou apparate met 'n ou blaaierweergawe. sRGB-beelde gebruik steeds sRGB om kleurverskuiwings te voorkom.",
"image_preview_description": "Mediumgrootte prent met gestroopte metadata, wat gebruik word wanneer 'n enkele bate bekyk word en vir masjienleer",
"image_preview_quality_description": "Voorskou kwaliteit van 1-100. Hoër is beter, maar produseer groter lêers en kan app-reaksie verminder. Die stel van 'n lae waarde kan masjienleerkwaliteit beïnvloed.",
"image_preview_title": "Voorskou Instellings",
"image_prefer_wide_gamut": "Verkies breëspektrum",
"image_prefer_wide_gamut_setting_description": "Gebruik Display P3 vir duimnaels. Dit behou die lewendheid van beelde met wye kleurruimtes beter, maar beelde kan anders verskyn op ou toestelle met n ou blaaierweergawe. sRGB-beelde gebruik steeds sRGB om kleurverskuiwings te voorkom.",
"image_preview_description": "Mediumgrootte prent met gestroopte metadata, wat gebruik word wanneer n enkele item bekyk word en vir masjienleer",
"image_preview_quality_description": "Voorskoukwaliteit van 1-100. Hoër is beter, maar lewer groter lêers en kan die toep vertraag. Die stel van n lae waarde kan masjienleerkwaliteit beïnvloed.",
"image_preview_title": "Voorskou-instellings",
"image_quality": "Kwaliteit",
"image_resolution": "Resolusie",
"image_resolution_description": "Hoër resolusies kan meer detail bewaar, maar neem langer om te enkodeer, het groter lêergroottes en kan app-reaksie verminder.",
"image_settings": "Prent Instellings",
"image_resolution_description": "Hoër resolusies kan meer detail bewaar, maar neem langer om te enkodeer, het groter lêergroottes en kan die toep vertraag.",
"image_settings": "Prentinstellings",
"image_settings_description": "Bestuur die kwaliteit en resolusie van gegenereerde beelde",
"image_thumbnail_description": "Klein kleinkiekies sonder metadata, gebruik om groepe foto's soos die tydlyn te bekyk",
"image_thumbnail_quality_description": "Kleinkiekiekwaliteit van 1-100. Hoër is beter, maar produseer groter lêers en kan die toepassing vertraag.",
"image_thumbnail_title": "Kleinkiekie-instellings",
"image_thumbnail_description": "Klein duimnaels sonder metadata, gebruik om groepe fotos soos die tydlyn te bekyk",
"image_thumbnail_quality_description": "Duinmaelkwaliteit van 1-100. Hoër is beter, maar lewer groter lêers en kan die toep vertraag.",
"image_thumbnail_title": "Duimnaelinstellings",
"job_concurrency": "{job} gelyktydigheid",
"job_created": "Taak gemaak",
"job_created": "Taak geskep",
"job_not_concurrency_safe": "Hierdie taak kan nie gelyktydig uitgevoer word nie.",
"job_settings": "Agtergrondtaakinstellings",
"job_settings_description": "Bestuur werkgelyktydigheid",
"job_settings": "Taakinstellings",
"job_settings_description": "Bestuur taakgelyktydigheid",
"library_created": "Biblioteek geskep: {library}",
"library_deleted": "Biblioteek verwyder",
"library_scanning": "Periodieke Soek",
"library_scanning_description": "Stel periodieke deursoek van biblioteek in",
"library_deleted": "Biblioteek geskrap",
"library_scanning": "Periodieke skandering",
"library_scanning_description": "Stel periodieke skandering van biblioteek in",
"library_scanning_enable_description": "Aktiveer periodieke biblioteekskandering",
"library_settings": "Eksterne Biblioteek",
"library_settings_description": "Eksterne biblioteek verstellings",
"library_tasks_description": "Deursoek eksterne biblioteke vir nuwe of veranderde bates",
"library_watching_enable_description": "Hou eksterne biblioteke dop vir leer veranderinge",
"library_watching_settings": "Biblioteek dop hou (EKSPERIMENTEEL)",
"library_settings": "Eksterne biblioteek",
"library_settings_description": "Eksternebiblioteekinstellings",
"library_tasks_description": "Skandeer eksterne biblioteke vir nuwe of veranderde items",
"library_watching_enable_description": "Hou eksterne biblioteke dop vir lêerveranderinge",
"library_watching_settings": "Biblioteekdophou [EKSPERIMENTEEL]",
"library_watching_settings_description": "Hou automaties dop vir veranderinge",
"logging_enable_description": "Aktifeer \"logging\"",
"logging_level_description": "Wanneer aktief, watter vlak van \"logs\" om te skep.",
"logging_settings": "\"Logs\"",
"machine_learning_clip_model": "CLIP model",
"machine_learning_duplicate_detection": "Duplikaat herkenning",
"machine_learning_duplicate_detection_enabled": "Aktifeer duplikaat herkenning",
"machine_learning_enabled": "Aktifeer masjienleer",
"machine_learning_facial_recognition": "Gesigsherkenning",
"machine_learning_facial_recognition_description": "Herken, identifiseer en groepeer gesigte in fotos",
"machine_learning_facial_recognition_model": "Gesigsherkennings model",
"machine_learning_facial_recognition_setting": "Aktifeer gesigsherkenning",
"machine_learning_max_detection_distance": "Maksimum herkennings afstand",
"logging_enable_description": "Aktiveer logboekbyhouding",
"logging_level_description": "Wanneer aktief, welke logboekvlak om te gebruik.",
"logging_settings": "Logboek",
"machine_learning_clip_model": "CLIP-model",
"machine_learning_duplicate_detection": "Duplikaatbespeuring",
"machine_learning_duplicate_detection_enabled": "Aktiveer duplikaatbespeuring",
"machine_learning_enabled": "Aktiveer masjienleer",
"machine_learning_facial_recognition": "Gesigherkenning",
"machine_learning_facial_recognition_description": "Bespeur, identifiseer en groepeer gesigte in fotos",
"machine_learning_facial_recognition_model": "Gesigherkenningsmodel",
"machine_learning_facial_recognition_setting": "Aktiveer gesigherkenning",
"machine_learning_max_detection_distance": "Maksimum herkenningsafstand",
"map_settings": "Kaart",
"migration_job": "Migrasie",
"oauth_settings": "OAuth",
"transcoding_acceleration_vaapi": "VAAPI",
"transcoding_preferred_hardware_device": "Verkiesde hardeware"
"transcoding_preferred_hardware_device": "Voorkeurapparatuur"
},
"administration": "Administrasie",
"advanced": "Gevorderde",
"advanced": "Gevorderd",
"albums": "Albums",
"all": "Alle",
"anti_clockwise": "Anti-kloksgewys",
"anti_clockwise": "Linksom",
"archive": "Argief",
"asset_skipped": "Oorgeslaan",
"asset_uploaded": "Opgelaai",
"asset_uploading": "Oplaai…",
"assets": "Bates",
"asset_uploading": "Laai tans op…",
"assets": "Items",
"back": "Terug",
"backward": "Agteruit",
"build": "Bou",
"camera": "Kamera",
"cancel": "Kanselleer",
"city": "Stad",
"clockwise": "Kloksgewys",
"close": "Maak toe",
"clockwise": "Regsom",
"close": "Sluit",
"color": "Kleur",
"confirm": "Bevestig",
"contain": "Bevat",
@@ -154,54 +154,153 @@
"created": "Geskep",
"dark": "Donker",
"day": "Dag",
"delete": "Verwyder",
"delete": "Skrap",
"description": "Beskrywing",
"details": "Besonderhede",
"direction": "Rigting",
"discover": "Ontdek",
"documentation": "Dokumentasie",
"done": "Klaar",
"download": "Aflaai",
"download_settings": "Aflaai",
"done": "Gereed",
"download": "Laai af",
"download_settings": "Laai af",
"duplicates": "Duplikate",
"duration": "Duur",
"edit": "Wysig",
"search_by_description": "Soek by beskrywing",
"search_by_description": "Soek op beskrywing",
"search_by_description_example": "Stapdag in Sapa",
"stacktrace": "Stapelnasporing",
"start": "Begin",
"start_date": "Begindatum",
"start_date_before_end_date": "Begindatum moet voor einddatum wees",
"state": "Staat",
"status": "Status",
"stop_casting": "Stop sending",
"stop_motion_photo": "Stop bewegingsfoto",
"stop_photo_sharing": "Staak die deel van u fotos?",
"stop_photo_sharing_description": "{partner} sal nie meer toegang tot u fotos hê nie.",
"unnamed_share": "Naamlose deelskakel",
"unsaved_change": "Onbewaarde verandering",
"unselect_all": "Ontkies alles",
"unselect_all_duplicates": "Ontkies alle duplikate",
"unselect_all_in": "Ontkies alles in {group}",
"unstack": "Ontstapel",
"unstack_action_prompt": "{count} ongestapel",
"unstacked_assets_count": "{count, plural, one {# item} other {# items}} ontstapel",
"unsupported_field_type": "Onondersteunde veldtipe",
"unsupported_file_type": "Lêer {file} kan nie opgelaai word nie omdat die lêertipe {type} nie ondersteun word nie.",
"untagged": "Sonder etiket",
"untitled_workflow": "Naamlose werkvloei",
"up_next": "Volgende",
"update_location_action_prompt": "Werk die ligging van {count} gekose items by met:",
"updated_at": "Bygewerk",
"updated_password": "Wagwoord bygewerk",
"upload": "Laai op",
"upload_concurrency": "Aantal gelyktydige oplaaie",
"upload_details": "Oplaaidetails",
"upload_dialog_info": "Wil u n rugsteun maak van die gekose item(s) op die bediener?",
"upload_dialog_title": "Laai item op",
"upload_error_with_count": "Oplaaifout vir {count, plural, one {# item} other {# items}}",
"upload_errors": "Oplaai voltooi met {count, plural, one {# fout} other {# foute}}, verfris die blad om die nuwe items te sien.",
"upload_finished": "Klaar opgelaai",
"upload_progress": "Oorblywend {remaining, number} - Verwerk {processed, number}/{total, number}",
"upload_skipped_duplicates": "{count, plural, one {# duplikaat item} other {# duplikaat items}} oorgeslaan",
"upload_status_duplicates": "Duplikate",
"upload_status_errors": "Foute",
"upload_status_uploaded": "Opgelaai",
"upload_success": "Oplaai suksesvol, verfris die blad om nuut opgelaaide items te sien.",
"upload_to_immich": "Laai op na Immich ({count})",
"uploading": "Word opgelaai",
"uploading_media": "Media word opgelaai",
"url": "URL",
"usage": "Gebruik",
"use_biometric": "Gebruik biometrie",
"use_browser_locale": "Gebruik blaaier se landinstelling",
"use_browser_locale_description": "Formatteer datums, tye en getalle gebaseer op u blaaier se landinstelling",
"use_current_connection": "Gebruik huidige verbinding",
"use_custom_date_range": "Gebruik eerder pasgemaakte datumomvang",
"user": "Gebruiker",
"user_has_been_deleted": "Hierdie gebruiker is geskrap.",
"user_id": "Gebruiker ID",
"user_liked": "{user} het van {type, select, photo {hierdie foto} video {hierdie video} asset {} other {hierdie item}} gehou",
"user_pin_code_settings": "PIN-kode",
"user_pin_code_settings_description": "Bestuur u PIN-kode",
"user_privacy": "Gebruikersprivaatheid",
"user_purchase_settings": "Koop",
"user_purchase_settings_description": "Bestuur u aankoop",
"user_role_set": "Stel {user} in as {role}",
"user_usage_detail": "Gedetailleerde gebruik van gebruikers",
"user_usage_stats": "Statistieke vir rekeninggebruik",
"user_usage_stats_description": "Bekyk statistieke van rekeninggebruik",
"username": "Gebruikersnaam",
"users": "Gebruikers",
"users_added_to_album_count": "{count, plural, one {# Gebruiker} other {# Gebruikers}} tot album toegevoeg",
"utilities": "Gereedskap",
"validate": "Valideer",
"validate_endpoint_error": "Voer asb. n geldige bronadres in",
"validation_error": "Valideerfout",
"variables": "Veranderlikes",
"version": "Weergawe",
"version_announcement_closing": "Jou friend, Alex",
"version_announcement_message": "Hallo! Daar is n nuwe weergawe van Immich beskikbaar. Neem gerus bietjie tyd om die <link>vrystellingsnotas</link> te lees en maak seker u opstelling is op datum om wanopstellings te voorkom, veral as u WatchTower of n ander bywerkmeganisme gebruik.",
"version_history": "Weergawegeskiedenis",
"version_history_item": "{version} geinstaleerd op {date}",
"version_history_item": "{version} geïnstaleer op {date}",
"video": "Video",
"videos": "Video's",
"video_hover_setting": "Speel videoduimnael by muishang",
"video_hover_setting_description": "Speel videoduimnael wanneer muis oor item hang. Selfs indien gedeaktiveer kan afspeel begin deur oor die afspeelknop te hang.",
"videos": "Videos",
"videos_count": "{count, plural, one {# video} other {# videos}}",
"videos_only": "Slegs videos",
"view": "Bekyk",
"view_album": "Bekyk Album",
"view_album": "Bekyk album",
"view_all": "Bekyk alle",
"view_all_users": "Bekyk alle gebruikers",
"view_asset_owners": "Bekyk itemeienaars",
"view_details": "Bekyk detail",
"view_in_timeline": "Bekyk in tydlyn",
"view_link": "Bekyk skakel",
"view_links": "Bekyk skakels",
"view_name": "Bekyk",
"view_next_asset": "Bekyk volgende bate",
"view_previous_asset": "Bekyk vorige bate",
"view_next_asset": "Bekyk volgende item",
"view_previous_asset": "Bekyk vorige item",
"view_qr_code": "Bekyk QR-kode",
"view_similar_photos": "Bekyk soortgelyke fotos",
"view_stack": "Bekyk stapel",
"view_user": "Bekyk gebruiker",
"viewer_remove_from_stack": "Verwyder van stapel",
"viewer_stack_use_as_main_asset": "Gebruik as hoofbate",
"viewer_stack_use_as_main_asset": "Gebruik as hoofitem",
"viewer_unstack": "Ontstapel",
"visibility_changed": "Sigbaarheid verander voor {count, plural, one {# person} other {# people}}",
"visibility": "Sigbaarheid",
"visibility_changed": "Sigbaarheid verander vir {count, plural, one {# mens} other {# mense}}",
"visual": "Visueel",
"visual_builder": "Visuele bouer",
"waiting": "Wag",
"warning": "Waaskuwing",
"waiting_count": "Wagtend: {count}",
"warning": "Waarskuwing",
"week": "Week",
"welcome": "Welkom",
"welcome_to_immich": "Welkom by Immich",
"wifi_name": "Wi-Fi Naam",
"width": "Breedte",
"wifi_name": "Wi-Fi-naam",
"workflow_delete_prompt": "Is u seker u wil hierdie werkvloei skrap?",
"workflow_deleted": "Werkvloei geskrap",
"workflow_description": "Werkvloeibeskrywing",
"workflow_info": "Werkvloei-inligting",
"workflow_json": "Werkvloei-JSON",
"workflow_json_help": "Wysig die werkvloei-opstelling in JSON-formaat. Veranderinge sal na die visuele bouer sinchroniseer.",
"workflow_name": "Werkvloeinaam",
"workflow_navigation_prompt": "Is u seker u wil verlaat sonder om u veranderinge te bewaar?",
"workflow_summary": "Werkvloei-opsomming",
"workflow_update_success": "Werkvloei suksesvol bygewerk",
"workflow_updated": "Werkvloei bygewerk",
"workflows": "Werkvloeie",
"workflows_help_text": "Werkvloeie outomatiseer aksies op u items gebaseer op snellers en filters",
"wrong_pin_code": "Verkeerde PIN-kode",
"year": "Jaar",
"years_ago": "{years, plural, one {# year} other {# years}} gelede",
"years_ago": "{years, plural, one {# jaar} other {# jaar}} gelede",
"yes": "Ja",
"you_dont_have_any_shared_links": "Jy het geen gedeelde skakels",
"your_wifi_name": "Jou Wi-Fi naam",
"zoom_image": "Vergroot Prent"
"you_dont_have_any_shared_links": "U het geen gedeelde skakels nie",
"your_wifi_name": "U Wi-Fi-naam",
"zero_to_clear_rating": "druk 0 om itemgradering te wis",
"zoom_image": "Zoem in",
"zoom_to_bounds": "Zoem na rande"
}

View File

@@ -311,7 +311,7 @@
"search_jobs": "البحث عن وظائف…",
"send_welcome_email": "إرسال بريد ترحيبي",
"server_external_domain_settings": "إسم النطاق الخارجي",
"server_external_domain_settings_description": "إسم النطاق لروابط المشاركة العامة، بما في ذلك http(s)://",
"server_external_domain_settings_description": "النطاق مستخدم لروابط خارجية",
"server_public_users": "المستخدمون العامون",
"server_public_users_description": "يتم إدراج جميع المستخدمين (الاسم والبريد الإلكتروني) عند إضافة مستخدم إلى الألبومات المشتركة. عند تعطيل هذه الميزة، ستكون قائمة المستخدمين متاحة فقط لمستخدمي الإدارة.",
"server_settings": "إعدادات الخادم",
@@ -411,7 +411,7 @@
"transcoding_tone_mapping": "رسم الخرائط النغمية",
"transcoding_tone_mapping_description": "تحاول الحفاظ على مظهر مقاطع الفيديو HDR عند تحويلها إلى SDR. يقدم كل خوارزمية تنازلات مختلفة بين اللون والتفاصيل والسطوع. Hable تحافظ على التفاصيل، Mobius تحافظ على الألوان، و Reinhard تحافظ على السطوع.",
"transcoding_transcode_policy": "سياسة الترميز",
"transcoding_transcode_policy_description": "سياسة تحديد متى يجب ترميز الفيديو. سيتم دائمًا ترميز مقاطع الفيديو HDR (ما لم يتم تعطيل الترميز).",
"transcoding_transcode_policy_description": "سياسة تحديد متى يجب ترميز الفيديو. سيتم دائمًا ترميز مقاطع الفيديو HDR و مقاطع الفديو اللتي تستدخم تنسيق غير YUV 4:2:0. (ما لم يتم تعطيل الترميز).",
"transcoding_two_pass_encoding": "الترميز بمرورين",
"transcoding_two_pass_encoding_setting_description": "ترميز بمرورين لإنتاج مقاطع فيديو بترميز أفضل. عند تمكين الحد الأقصى لمعدل البت (مطلوب لكي يعمل مع H.264 و HEVC)، يستخدم هذا الوضع نطاق معدل البت استنادًا إلى الحد الأقصى لمعدل البت ويتجاهل CRF. بالنسبة لـ VP9، يمكن استخدام CRF إذا تم تعطيل الحد الأقصى لمعدل البت.",
"transcoding_video_codec": "ترميز الفيديو",
@@ -441,7 +441,7 @@
"user_successfully_removed": "المستخدم {email} تمت ازالته بنجاح.",
"users_page_description": "صفحة ادارة المستخدمين",
"version_check_enabled_description": "تفعيل التحقق من الإصدارات الجديدة",
"version_check_implications": "تعتمد ميزة التحقق من الإصدار على التواصل الدوري مع github.com",
"version_check_implications": "تعتمد ميزة التحقق من الإصدار على التواصل الدوري مع {server}",
"version_check_settings": "التحقق من الإصدار",
"version_check_settings_description": "تفعيل/تعطيل الإشعار لإصدار جديد",
"video_conversion_job": "تحويل أشرطة الفيديو",
@@ -794,6 +794,11 @@
"color": "اللون",
"color_theme": "نمط الألوان",
"command": "امر",
"command_palette_prompt": "اعثر بسرعة على الصفحات أو الإجراءات أو الأوامر",
"command_palette_to_close": "للاغلاق",
"command_palette_to_navigate": "للدخول",
"command_palette_to_select": "للاختيار",
"command_palette_to_show_all": "لعرض الكل",
"comment_deleted": "تم حذف التعليق",
"comment_options": "خيارات التعليق",
"comments_and_likes": "التعليقات والإعجابات",
@@ -844,9 +849,12 @@
"create_link_to_share": "إنشاء رابط للمشاركة",
"create_link_to_share_description": "السماح لأي شخص لديه الرابط بمشاهدة الصورة (الصور) المحددة",
"create_new": "انشاء جديد",
"create_new_face": "إنشاء وجه جديد",
"create_new_person": "إنشاء شخص جديد",
"create_new_person_hint": "تعيين المحتويات المحددة لشخص جديد",
"create_new_user": "إنشاء مستخدم جديد",
"create_person": "إنشاء شخص",
"create_person_subtitle": "أضف اسماً للوجه المحدد لإنشاء الشخص الجديد والإشارة إليه",
"create_shared_album_page_share_add_assets": "إضافة الأصول",
"create_shared_album_page_share_select_photos": "حدد الصور",
"create_shared_link": "انشاء رابط مشترك",
@@ -861,13 +869,14 @@
"crop_aspect_ratio_fixed": "تم الاصلاح",
"crop_aspect_ratio_free": "حر",
"crop_aspect_ratio_original": "اصلي",
"crop_aspect_ratio_square": "مربع",
"curated_object_page_title": "أشياء",
"current_device": "الجهاز الحالي",
"current_pin_code": "رمز PIN الحالي",
"current_server_address": "عنوان الخادم الحالي",
"custom_date": "تاريخ مخصص",
"custom_locale": "لغة مخصصة",
"custom_locale_description": "تنسيق التواريخ والأرقام بناءً على اللغة والمنطقة",
"custom_locale_description": "تنسيق التواريخ, الأوقات والأرقام بناءً على اللغة والمنطقة المختاره",
"custom_url": "رابط مخصص",
"cutoff_date_description": "احتفظ بالصور من آخر…",
"cutoff_day": "{count, plural, one {يوم} other {ايام}}",
@@ -875,7 +884,7 @@
"daily_title_text_date": "E ، MMM DD",
"daily_title_text_date_year": "E ، MMM DD ، yyyy",
"dark": "معتم",
"dark_theme": "تبديل المظهر الداكن",
"dark_theme": "تبديل المظهر إلى الداكن",
"date": "تاريخ",
"date_after": "التارخ بعد",
"date_and_time": "التاريخ و الوقت",
@@ -886,12 +895,8 @@
"day": "يوم",
"days": "ايام",
"deduplicate_all": "إلغاء تكرار الكل",
"deduplication_criteria_1": "حجم الصورة بوحدات البايت",
"deduplication_criteria_2": "عدد بيانات EXIF",
"deduplication_info": "معلومات إلغاء البيانات المكررة",
"deduplication_info_description": "لتحديد الأصول مسبقا تلقائيا وإزالة التكرارات بكميات كبيرة، ننظر إلى:",
"default_locale": "اللغة الافتراضية",
"default_locale_description": "تنسيق التواريخ والأرقام بناءً على لغة المتصفح الخاص بك",
"default_locale": "الإعدادات المحلية الافتراضية",
"default_locale_description": "تنسيق التواريخ والأرقام بناءً على الإعدادات المحلية للمتصفح",
"delete": "حذف",
"delete_action_confirmation_message": "هل انت متأكد من حذف هذا الملف؟ هذا سؤدي الى نقل الملف الى سلة مهملات الخادم وسيتم اشعارك ان كنت تريد حذفه على الجهاز",
"delete_action_prompt": "تم حذف {count}",
@@ -967,7 +972,7 @@
"downloading_media": "تنزيل الوسائط",
"drop_files_to_upload": "قم بإسقاط الملفات في أي مكان لرفعها",
"duplicates": "التكرارات",
"duplicates_description": "قم بحل كل مجموعة من خلال الإشارة إلى التكرارات، إن وجدت",
"duplicates_description": "قم بحل كل مجموعة من خلال الإشارة إلى التكرارات، إن وجدت.",
"duration": "المدة",
"edit": "تعديل",
"edit_album": "تعديل الألبوم",
@@ -1004,6 +1009,8 @@
"editor_edits_applied_success": "تم تطبيق التعديلات بنجاح",
"editor_flip_horizontal": "اقلب أفقيًا",
"editor_flip_vertical": "اقلب عموديًا",
"editor_handle_corner": "{corner, select, top_left {أعلى اليسار} top_right {أعلى اليمين} bottom_left {أسفل اليسار} bottom_right {أسفل اليمين} other {أخري}} corner handle",
"editor_handle_edge": "{edge, select, top {أعلي} bottom {أسفل} left {يسار} right {يمين} other {أخري}} edge handle",
"editor_orientation": "اتجاه",
"editor_reset_all_changes": "اعادة ظبط التغييرات",
"editor_rotate_left": "أدر 90° عكس اتجاه عقارب الساعة",
@@ -1069,6 +1076,7 @@
"failed_to_update_notification_status": "فشل في تحديث حالة الإشعار",
"incorrect_email_or_password": "بريد أو كلمة مرور غير صحيحة",
"library_folder_already_exists": "مسار الاستيراد موجود بالفعل.",
"page_not_found": "الصفحة غير موجودة",
"paths_validation_failed": "فشل في التحقق من {paths, plural, one {# مسار} other {# مسارات}}",
"profile_picture_transparent_pixels": "لا يمكن أن تحتوي صور الملف الشخصي على أجزاء/بكسلات شفافة. يرجى التكبير و/أو تحريك الصورة.",
"quota_higher_than_disk_size": "لقد قمت بتعيين حصة نسبية أعلى من حجم القرص",
@@ -1168,6 +1176,7 @@
"exif_bottom_sheet_people": "الناس",
"exif_bottom_sheet_person_add_person": "اضف اسما",
"exit_slideshow": "خروج من العرض التقديمي",
"expand": "توسعة",
"expand_all": "توسيع الكل",
"experimental_settings_new_asset_list_subtitle": "أعمال جارية",
"experimental_settings_new_asset_list_title": "تمكين شبكة الصور التجريبية",
@@ -1212,6 +1221,7 @@
"filter_description": "شروط تصفية الأصول المستهدفة",
"filter_people": "تصفية الاشخاص",
"filter_places": "تصفية الاماكن",
"filter_tags": "تصفية العلامات",
"filters": "التصفيات",
"find_them_fast": "يمكنك العثور عليها بسرعة بالاسم من خلال البحث",
"first": "الاول",
@@ -1379,9 +1389,11 @@
"library_page_sort_title": "عنوان الألبوم",
"licenses": "رُخَص",
"light": "المضيئ",
"light_theme": "التبديل إلى المظهر الفاتح",
"like": "اعجاب",
"like_deleted": "تم حذف الإعجاب",
"link_motion_video": "رابط فيديو الحركة",
"link_to_docs": "لمزيد من المعلومات، يُرجى الرجوع إلى <link>الوثائق</link>.",
"link_to_oauth": "الربط مع OAuth",
"linked_oauth_account": "حساب مرتبط بـ OAuth",
"list": "قائمة",
@@ -1642,6 +1654,8 @@
"online": "متصل",
"only_favorites": "المفضلة فقط",
"open": "فتح",
"open_calendar": "افتح الرزنامة",
"open_in_browser": "فتح في متصفح",
"open_in_map_view": "فتح في عرض الخريطة",
"open_in_openstreetmap": "فتح في OpenStreetMap",
"open_the_search_filters": "افتح مرشحات البحث",
@@ -1801,9 +1815,8 @@
"rate_asset": "تقييم الاصل",
"rating": "تقييم نجمي",
"rating_clear": "مسح التقييم",
"rating_count": "{count, plural, one {# نجمة} other {# نجوم}}",
"rating_count": "{count, plural, =0 {Unrated} one {# نجمة} other {# نجوم}}",
"rating_description": "‫‌اعرض تقييم EXIF في لوحة المعلومات",
"rating_set": "تم تحديد التصنيف {rating, plural, one {# نجمة} other {# نجوم}}",
"reaction_options": "خيارات رد الفعل",
"read_changelog": "قراءة سجل التغيير",
"readonly_mode_disabled": "تم تعطيل وضع القراءة فقط",
@@ -1875,7 +1888,10 @@
"reset_pin_code_success": "تم اعادة تعيين رمز الPIN بنجاح",
"reset_pin_code_with_password": "يمكنك دائما اعادة تعيين رمز الPIN الخاص بك عن طريق كلمة المرور الخاصة بك",
"reset_sqlite": "إعادة تعيين قاعدة بيانات SQLite",
"reset_sqlite_confirmation": "هل أنت متأكد من رغبتك في إعادة ضبط قاعدة بيانات SQLite؟ ستحتاج إلى تسجيل الخروج ثم تسجيل الدخول مرة أخرى لإعادة مزامنة البيانات",
"reset_sqlite_clear_app_data": "مسح البيانات",
"reset_sqlite_confirmation": "هل أنت متأكد من رغبتك في حذف ضبط بيانات التطبيق؟ سيؤدي هذا إلى إزالة جميع الإعدادات وتسجيل خروجك.",
"reset_sqlite_confirmation_note": "ملاحظة: سيتعين عليك إعادة تشغيل التطبيق بعد المسح.",
"reset_sqlite_done": "تم مسح بيانات التطبيق. يرجى إعادة تشغيل تطبيق Immich وتسجيل الدخول مرة أخرى.",
"reset_sqlite_success": "تم إعادة تعيين قاعدة بيانات SQLite بنجاح",
"reset_to_default": "إعادة التعيين إلى الافتراضي",
"resolution": "دقة",
@@ -1903,6 +1919,7 @@
"saved_settings": "تم حفظ الإعدادات",
"say_something": "قل شيئًا",
"scaffold_body_error_occurred": "حدث خطأ",
"scaffold_body_error_unrecoverable": "حدث خطأ لا يمكن إصلاحه. يرجى مشاركة تفاصيل الخطأ وتسلسل الأخطاء على Discord أو GitHub حتى نتمكن من مساعدتك. إذا طُلب منك ذلك، يمكنك مسح بيانات التطبيق أدناه.",
"scan": "بحث",
"scan_all_libraries": "فحص كل المكتبات",
"scan_library": "مسح",
@@ -1938,6 +1955,7 @@
"search_filter_ocr": "البحث عن طريق التعرف البصري على الحروف",
"search_filter_people_title": "اختر الاشخاص",
"search_filter_star_rating": "تقييم النجوم",
"search_filter_tags_title": "‪تحديد العلامات",
"search_for": "البحث عن",
"search_for_existing_person": "البحث عن شخص موجود",
"search_no_more_result": "لا توجد نتائج اضافية",
@@ -2017,6 +2035,9 @@
"set_profile_picture": "تحديد صورة الملف الشخصي",
"set_slideshow_to_fullscreen": "تحديد عرض الشرائح على وضع ملء الشاشة",
"set_stack_primary_asset": "تعيين كأصل اساسي",
"setting_image_navigation_enable_subtitle": "في حال تم التفعيل، يمكنك الانتقال إلى الصورة السابقة أو التالية عن طريق النقر على الربع الأيسر أو الربع الأيمن من الشاشة.",
"setting_image_navigation_enable_title": "النقر للتنقل",
"setting_image_navigation_title": "التنقل بين الصور",
"setting_image_viewer_help": "يقوم عارض التفاصيل بتحميل الصورة المصغرة الصغيرة أولاً ، ثم يقوم بتحميل المعاينة متوسطة الحجم (إذا تم تمكينها) ، ويقوم أخيرًا بتحميل الأصل (إذا تم تمكينه).",
"setting_image_viewer_original_subtitle": "تمكين تحميل الصورة الكاملة الدقة الأصلية (كبيرة!).تعطيل لتقليل استخدام البيانات (كل من الشبكة وعلى ذاكرة التخزين المؤقت للجهاز).",
"setting_image_viewer_original_title": "تحميل الصورة الأصلية",
@@ -2183,6 +2204,7 @@
"support": "الدعم",
"support_and_feedback": "الدعم والتعليقات",
"support_third_party_description": "تم حزم تثبيت immich الخاص بك بواسطة جهة خارجية. قد تكون المشكلات التي تواجهها ناجمة عن هذه الحزمة، لذا يرجى طرح المشكلات معهم في المقام الأول باستخدام الروابط أدناه.",
"supporter": "داعم",
"swap_merge_direction": "تبديل اتجاه الدمج",
"sync": "مزامنة",
"sync_albums": "مزامنة الالبومات",
@@ -2195,6 +2217,7 @@
"tag": "العلامة",
"tag_assets": "أصول العلامة",
"tag_created": "تم إنشاء العلامة: {tag}",
"tag_face": "علِّم الوجه",
"tag_feature_description": "تصفح الصور ومقاطع الفيديو المجمعة حسب مواضيع العلامات المنطقية",
"tag_not_found_question": "لا يمكن العثور على علامة؟ <link>قم بإنشاء علامة جديدة.</link>",
"tag_people": "علِّم الأشخاص",
@@ -2294,6 +2317,7 @@
"unstack_action_prompt": "تم ازالة تكديس {count}",
"unstacked_assets_count": "تم إخراج {count, plural, one {# الأصل} other {# الأصول}} من التكديس",
"unsupported_field_type": "نوع حقل غير مدعوم",
"unsupported_file_type": "لا يمكن رفع الملف {file} لأن نوع الملف {type} غير مدعوم.",
"untagged": "غير مُعَلَّم",
"untitled_workflow": "خطة سير عمل بدون عنوان",
"up_next": "التالي",
@@ -2320,6 +2344,8 @@
"url": "عنوان URL",
"usage": "الاستخدام",
"use_biometric": "استخدم البايومتري",
"use_browser_locale": "استخدم لغه للمتصفح",
"use_browser_locale_description": "تنسيق التواريخ والأوقات والأرقام وفقًا لإعدادات اللغة في متصفحك",
"use_current_connection": "استخدم الاتصال الحالي",
"use_custom_date_range": "استخدم النطاق الزمني المخصص بدلاً من ذلك",
"user": "مستخدم",
@@ -2373,6 +2399,7 @@
"viewer_remove_from_stack": "حذف من الكومه أو المجموعة",
"viewer_stack_use_as_main_asset": "استخدم كأصل رئيسي",
"viewer_unstack": "فك الكومه",
"visibility": "إمكانية الرؤية",
"visibility_changed": "الرؤية تغيرت لـ {count, plural, one {شخص واحد} other {# عدة أشخاص}}",
"visual": "مرئي",
"visual_builder": "اداة نشاء مرئية",

View File

@@ -104,6 +104,8 @@
"image_preview_description": "Відарыс сярэдняга памеру з выдаленымі метаданымі, выкарыстоўваецца пры праглядзе асобнага рэсурсу і для машыннага навучання",
"image_preview_quality_description": "Якасць праявы ад 1 да 100. Чым вышэй, тым лепш, але пры гэтым ствараюцца файлы большага памеру і можа знізіцца хуткасць водгуку прыкладання. Ўстаноўка нізкага значэння можа паўплываць на якасць машыннага навучання.",
"image_preview_title": "Налады папярэдняга прагляду",
"image_progressive": "Прагрэсіўны",
"image_progressive_description": "Выявы з прагрэсіўным кодаваннем загружаюцца хутчэй, паступова паляпшаецца якасць. Налада не ўплывае на выяву ў фармаце WebP.",
"image_quality": "Якасць",
"image_resolution": "Раздзяляльнасць",
"image_resolution_description": "Больш высокая раздзяляльнасць дазваляе захаваць больш дэталяў, але патрабуе больш часу для кадавання, прыводзіць да павялічвання памеру файлаў і можа знізіць хуткасць водгуку дадатку.",
@@ -120,6 +122,7 @@
"job_settings_description": "Кіраваць наладамі паралельнага выканання заданняў",
"jobs_delayed": "{jobCount, plural, other {# адкладзена}}",
"jobs_failed": "{jobCount, plural, other {# не выканалася}}",
"jobs_over_time": "Графік апрацоўкі",
"library_created": "Створана бібліятэка: {library}",
"library_deleted": "Бібліятэка выдалена",
"library_details": "Параметры бібліятэкі",
@@ -160,8 +163,27 @@
"machine_learning_facial_recognition_model_description": "Мадэлі пералічаны ў парадку ўбывання іх памеру. Большыя мадэлі павольней і выкарыстоўваюць больш памяці, але даюць лепшыя вынікі. Звярніце увагу, што пасля змены мадэлі трэба зноў запусціць заданне распазнавання твараў для ўсіх відарысаў.",
"machine_learning_facial_recognition_setting": "Уключыць распазнаванне твараў",
"machine_learning_facial_recognition_setting_description": "Калі адключана, відарысы не будуць кадавацца для распазнавання твараў, і не будзе запаўняцца раздзел \"Людзі\" на старонцы \"Агляд\".",
"machine_learning_max_detection_distance": "Максімальная адлегласць выяўлення",
"machine_learning_max_detection_distance_description": "Максімальная розніца паміж двума выявамі, якія лічацца дублікатамі, складае ад 0,001 да 0,1. Больш высокія значэнні дазволяць выявіць больш дублікатаў, але могуць прывесці да няправільных выяўленняў.",
"machine_learning_max_recognition_distance": "Парог разпазнавання",
"machine_learning_max_recognition_distance_description": "Максімальнае адрозненне паміж двума асобамі, якія можна лічыць адным чалавекам (у дыяпазоне ад 0 да 2).Зніжэнне гэтага параметру можа прадухіліць распазнанне двух людзей як аднаго і таго ж чалавека, а павышэнне - як двух розных людзей. Майце на ўвазе, што прасцей аб'яднаць двух людзей, чым падзяліць аднаго чалавека на дваіх, таму па магчымасці выбірайце меншы парог.",
"machine_learning_min_detection_score": "Мінімальны парог разпазнавання",
"machine_learning_min_detection_score_description": "Мінімальны парог для выяўлення асобы (ад 0 да 1). Ніжэйшае значэнне дазволіць знаходзіць больш асоб, але можа прывесці да ілжывых спрацоўванняў.",
"machine_learning_min_recognized_faces": "Мінімум разпазнаных твараў",
"machine_learning_min_recognized_faces_description": "Мінімальная колькасць распазнаных твараў для стварэння асобы. Павялічэнне гэтага параметра робіць распазнанне асоб больш дакладным, але пры гэтым павялічваецца верагоднасць таго, што твар не будзе прысвоены асобе.",
"machine_learning_ocr": "Разпазнаванне тэксту (OCR)",
"machine_learning_ocr_description": "Выкарыстоўвайце машыннае навучанне для распазнавання тэксту на малюнках",
"machine_learning_ocr_enabled": "Дадаць OCR",
"machine_learning_ocr_enabled_description": "Калі адключана, выявы не будуць распазнавацца з выкарыстаннем тэксту.",
"machine_learning_ocr_max_resolution": "Максімальная раздзяляльнасць",
"machine_learning_ocr_max_resolution_description": "Відарысы з раздзяляльнасцю больш гэтай будуць паменшаны з захаваннем суадносіны бакоў. Больш высокія значэнні павышаюць дакладнасць распазнавання, але патрабуюць больш часу на апрацоўку і выкарыстоўваюць больш памяці.",
"machine_learning_ocr_min_detection_score": "Мінімальны бал выяўлення",
"machine_learning_ocr_min_detection_score_description": "Мінімальны бал даверу для выяўлення тэксту складае ад 0 да 1. Больш нізкія значэнні дазволяць выявіць больш тэксту, але могуць прывесці да хібных спрацоўванняў.",
"machine_learning_ocr_min_recognition_score": "Мінімальны бал распазнавання",
"machine_learning_ocr_min_score_recognition_description": "Мінімальны бал даверу для распазнавання выяўленага тэксту складае ад 0 да 1. Больш нізкія значэнні распазнаюць больш тэксту, але могуць прывесці да хібных спрацоўванняў.",
"machine_learning_ocr_model": "Мадэль машыннага навучання (OCR)",
"machine_learning_ocr_model_description": "Серверныя мадэлі больш дакладныя, чым мабільныя, але апрацоўваюць дадзеныя даўжэй і выкарыстоўваюць больш памяці.",
"machine_learning_settings": "Налады машыннага навучання",
"map_dark_style": "Цёмны стыль",
"map_enable_description": "Уключыць функцыі карты",
"map_gps_settings": "Налады карты і GPS",
@@ -171,6 +193,7 @@
"map_style_description": "URL-адрас style.json тэмы карты",
"metadata_extraction_job_description": "Выняць метаданыя з файлаў, такія як месцазнаходжанне, твары і раздзяляльнасць",
"metadata_settings": "Налады метаданых",
"notification_email_port_description": "Порт паштовага сервера (напрыклад, 25, 465 або 587)",
"oauth_button_text": "Тэкст кнопкі",
"oauth_settings": "OAuth",
"refreshing_all_libraries": "Абнаўленне ўсіх бібліятэк",
@@ -216,7 +239,7 @@
"user_settings": "Налады карыстальніка",
"user_settings_description": "Кіраванне наладамі карыстальніка",
"version_check_enabled_description": "Уключыць праверку версіі",
"version_check_implications": "Функцыя праверкі версіі перыядычна звяртаецца да github.com",
"version_check_implications": "Функцыя праверкі версіі перыядычна звяртаецца да {server}",
"version_check_settings": "Праверка версіі",
"version_check_settings_description": "Уключыць/адключыць апавяшчэнні аб новай версіі"
},

View File

@@ -61,7 +61,7 @@
"backup_onboarding_1_description": "копие на облака или друго физическо място.",
"backup_onboarding_2_description": "локални копия на различни устройства. Това включва основните файлове и локални архиви на тези файлове.",
"backup_onboarding_3_description": "общо копия на вашите данни, включитено оригиналните файлове. Това включва 1 копие извън системата и 2 локални копия.",
"backup_onboarding_description": "За надеждна защита препоръчваме стратегията <backblaze-link>3-2-1</backblaze-link>. Правете архивни копия както на качените снимки/видеа, така и на базата данни на Immich.",
"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_title": "Резервни копия",
@@ -104,7 +104,7 @@
"image_preview_description": "Среден размер на изображението с премахнати метаданни, използвано при преглед на един елемент и за машинно обучение",
"image_preview_quality_description": "Качество на предварителния преглед от 1 до 100. По-високата стойност е по-добра, но води до по-големи файлове и може да намали бързодействието на приложението. Задаването на ниска стойност може да повлияе на качеството на машинното обучение.",
"image_preview_title": "Настройки на прегледа",
"image_progressive": "Прогресивен JPEG",
"image_progressive": "Прогресивно",
"image_progressive_description": "Изображенията, кодирани в прогресивен JPEG формат, се зареждат по-бързо, с постепенно подобряващо се качество. Това няма влияние на кодираните като WebP изображения.",
"image_quality": "Качество",
"image_resolution": "Резолюция",
@@ -311,7 +311,7 @@
"search_jobs": "Търсене на задачи…",
"send_welcome_email": "Изпращане на имейл за добре дошли",
"server_external_domain_settings": "Външен домейн",
"server_external_domain_settings_description": "Домейн за публични споделени връзки, включително http(s)://",
"server_external_domain_settings_description": "Домейн за външни връзки",
"server_public_users": "Публични потребители",
"server_public_users_description": "Всички потребители (име и имейл) са изброени при добавяне на потребител в споделени албуми. Когато е деактивирано, списъкът с потребители ще бъде достъпен само за администраторите.",
"server_settings": "Настройки на сървъра",
@@ -333,7 +333,7 @@
"storage_template_migration_description": "Прилагане на текущия <link>{template}</link> към предишно качените файлове",
"storage_template_migration_info": "Шаблона ще преобразува всички разширения на имената на файловете в долен регистър. Промените в шаблоните ще се прилагат само за нови елементи. За да приложите принудително шаблона към вече качени елементи, изпълнете <link>{job}</link>.",
"storage_template_migration_job": "Задача за миграция на шаблона за съхранение",
"storage_template_more_details": "За повече подробности относно тази функция се обърнете към шаблона <template-link>Storage Template</template-link> и неговите <implications-link> последствия </implications-link>",
"storage_template_more_details": "За повече подробности относно тази функция се обърнете към шаблона <template-link>Storage Template</template-link> и неговите <implications-link>последствия</implications-link>",
"storage_template_onboarding_description_v2": "Когато е разрешена, тази функция ще организира автоматично файловете, според шаблон, дефиниран от потребителя. За допълнителна информация, моля вижте <link>документацията</link>.",
"storage_template_path_length": "Ограничение на дължината на пътя: <b>{length, number}</b>/{limit, number}",
"storage_template_settings": "Шаблон за съхранение",
@@ -372,7 +372,7 @@
"transcoding_audio_codec": "Аудио кодек",
"transcoding_audio_codec_description": "Opus е опцията с най-високо качество, но има по-ниска съвместимост със стари устройства или софтуер.",
"transcoding_bitrate_description": "Видеоклипове с по-висок от максималния битрейт или не в приет формат",
"transcoding_codecs_learn_more": "За да научите повече за използваната терминология, вижте документацията на FFmpeg за <h264-link>кодек H.264</h264-link>, <hevc-link>кодек HEVC</hevc-link> и <vp9-link>VP9 кодек</vp9-link>.",
"transcoding_codecs_learn_more": "За да научите повече за използваната терминология, вижте документацията на FFmpeg за <h264-link>кодек H.264</h264-link>, <hevc-link>кодек HEVC</hevc-link> и <vp9-link>кодек VP9</vp9-link>.",
"transcoding_constant_quality_mode": "Режим на постоянно качество",
"transcoding_constant_quality_mode_description": "ICQ е по-добър от CQP, но някои устройства за хардуерно ускоряване не поддържат този режим. С задаването на тази опция ще предпочете посочения режим при използване на базирано на качество кодиране. Игнорирано от NVENC, тъй като не поддържа ICQ.",
"transcoding_constant_rate_factor": "Коефициент на постоянна скорост (-crf)",
@@ -411,7 +411,7 @@
"transcoding_tone_mapping": "Тонално картографиране",
"transcoding_tone_mapping_description": "Опитва се да запази външния вид на HDR видеоклипове, когато се преобразува в SDR. Всеки алгоритъм прави различни компромиси за цвят, детайлност и яркост. Hable запазва детайлите, Mobius запазва цвета, а Reinhard запазва яркостта.",
"transcoding_transcode_policy": "Правила за транскодиране",
"transcoding_transcode_policy_description": "Правила за това кога видеоклипът трябва да бъде транскодиран. HDR видеоклиповете винаги ще бъдат транскодирани (освен ако транскодирането е деактивирано).",
"transcoding_transcode_policy_description": "Правила за това кога видеоклипът трябва да бъде транскодиран. HDR видеоклиповете и тези с формат, различен от YUV 4:2:0, ще бъдат винаги транскодирани (освен ако транскодирането е деактивирано).",
"transcoding_two_pass_encoding": "Кодиране с двойно минаване",
"transcoding_two_pass_encoding_setting_description": "Транскодирането с две минавания създава по-добре кодиране видеа. Когато максималния битрейт е включен (задължително е да се работи с H.264 и HEVC), тази опция използва диапазон на битрейта базиран на максималния битрейт и игнорира CRF. За VP9, CRF може да се използва ако максималният битрейт е изключен.",
"transcoding_video_codec": "Видеокодек",
@@ -441,7 +441,7 @@
"user_successfully_removed": "Потребител {email} е успешно премахнат.",
"users_page_description": "Страница за администриране на потребители",
"version_check_enabled_description": "Активирай проверка на версията",
"version_check_implications": "Функцията за проверка на версията разчита на периодична комуникация с github.com",
"version_check_implications": "Функцията за проверка на версията разчита на периодична комуникация с {server}",
"version_check_settings": "Проверка на версията",
"version_check_settings_description": "Активирайте/деактивирайте известието за нова версия",
"video_conversion_job": "Транскодиране на видеоклиповете",
@@ -794,6 +794,11 @@
"color": "Цвят",
"color_theme": "Цветова тема",
"command": "Команда",
"command_palette_prompt": "Бързо намиране на страници, действия или команди",
"command_palette_to_close": "затвори",
"command_palette_to_navigate": "влез",
"command_palette_to_select": "избери",
"command_palette_to_show_all": "покажи всичко",
"comment_deleted": "Коментарът е изтрит",
"comment_options": "Опции за коментар",
"comments_and_likes": "Коментари и харесвания",
@@ -844,9 +849,12 @@
"create_link_to_share": "Създаване на линк за споделяне",
"create_link_to_share_description": "Позволете на всеки, който има линк, да види избраната(ите) снимка(и)",
"create_new": "СЪЗДАЙ НОВ",
"create_new_face": "Създай ново лице",
"create_new_person": "Създаване на ново лице",
"create_new_person_hint": "Присвойте избраните файлове на нов човек",
"create_new_user": "Създаване на нов потребител",
"create_person": "Създай човек",
"create_person_subtitle": "Добави име към избраното лице за да създадеш и да сложиш етикет на новия човек",
"create_shared_album_page_share_add_assets": "ДОБАВИ ОБЕКТИ",
"create_shared_album_page_share_select_photos": "Избери снимки",
"create_shared_link": "Създай линк за споделяне",
@@ -861,13 +869,14 @@
"crop_aspect_ratio_fixed": "Фиксиран",
"crop_aspect_ratio_free": "Свободен",
"crop_aspect_ratio_original": "Оригинален",
"crop_aspect_ratio_square": "Квадрат",
"curated_object_page_title": "Неща",
"current_device": "Текущо устройство",
"current_pin_code": "Сегашен PIN код",
"current_server_address": "Настоящ адрес на сървъра",
"custom_date": "Персонализирана дата",
"custom_locale": "Персонализиран локал",
"custom_locale_description": "Форматиране на дати и числа в зависимост от езика и региона",
"custom_locale": "Персонализирани езикови настройки",
"custom_locale_description": "Форматиране на дата, време и числа в зависимост от избрания език и регион",
"custom_url": "Персонализиран URL адрес",
"cutoff_date_description": "Запазване на снимки от последните…",
"cutoff_day": "{count, plural, one {ден} other {дни}}",
@@ -875,7 +884,7 @@
"daily_title_text_date": "E, dd MMM",
"daily_title_text_date_year": "E, dd MMM yyyy",
"dark": "Тъмен",
"dark_theme": "Тъмна тема",
"dark_theme": "Премини към тъмна тема",
"date": "Дата",
"date_after": "Дата след",
"date_and_time": "Дата и час",
@@ -886,12 +895,8 @@
"day": "Ден",
"days": "Дни",
"deduplicate_all": "Дедупликиране на всички",
"deduplication_criteria_1": "Размер на снимката в байтове",
"deduplication_criteria_2": "Брой EXIF данни",
"deduplication_info": "Информация за дедупликацията",
"deduplication_info_description": "За автоматично предварително избиране на ресурси и премахване на дубликати на едро, разглеждаме:",
"default_locale": "Локализация по подразбиране",
"default_locale_description": "Форматиране на дати и числа в зависимост от езиковата настройка на браузъра",
"default_locale": "Език по подразбиране",
"default_locale_description": "Формат на дата и числа според езиковата настройка на браузъра",
"delete": "Изтрий",
"delete_action_confirmation_message": "Сигурни ли сте, че искате да изтриете този обект? Следва преместване на обекта в коша за отпадъци на сървъра и ще получите предложение обекта да бъде изтрит локално",
"delete_action_prompt": "{count} са изтрити",
@@ -967,7 +972,7 @@
"downloading_media": "Изтегляне на медия",
"drop_files_to_upload": "Пуснете файловете, за да ги качите",
"duplicates": "Дубликати",
"duplicates_description": "Изберете всяка група, като посочите кои, ако има такива, са дубликати",
"duplicates_description": "Изберете всяка група, като посочите кои, ако има такива, са дубликати.",
"duration": "Продължителност",
"edit": "Редактиране",
"edit_album": "Редактиране на албум",
@@ -1004,6 +1009,8 @@
"editor_edits_applied_success": "Успешно прилагане на промените",
"editor_flip_horizontal": "Обърни хоризонтално",
"editor_flip_vertical": "Обърни вертикално",
"editor_handle_corner": "Манипулатор {corner, select, top_left {горен ляв} top_right {горен десен} bottom_left {долен ляв} bottom_right {долен десен} other {в}} ъгъл",
"editor_handle_edge": "Манипулатор {edge, select, top {горен} bottom {долен} left {ляв} right {десен} other {по}} ръб",
"editor_orientation": "Ориентация",
"editor_reset_all_changes": "Възстанови всички промени",
"editor_rotate_left": "Завърти 90° обратно на часовниковата стрелка",
@@ -1069,6 +1076,7 @@
"failed_to_update_notification_status": "Неуспешно обновяване на състоянието на известията",
"incorrect_email_or_password": "Неправилен имейл или парола",
"library_folder_already_exists": "Тази папка вече съществува.",
"page_not_found": "Страницата не е намерена",
"paths_validation_failed": "{paths, plural, one {# път} other {# пътища}} не преминаха валидация",
"profile_picture_transparent_pixels": "Профилните снимки не могат да имат прозрачни пиксели. Моля, увеличете и/или преместете изображението.",
"quota_higher_than_disk_size": "Зададена е квота, по-голяма от размера на диска",
@@ -1168,6 +1176,7 @@
"exif_bottom_sheet_people": "ХОРА",
"exif_bottom_sheet_person_add_person": "Добави име",
"exit_slideshow": "Изход от слайдшоуто",
"expand": "Разгъни",
"expand_all": "Разшири всички",
"experimental_settings_new_asset_list_subtitle": "В развитие",
"experimental_settings_new_asset_list_title": "Включи експериментална подредба на снимки",
@@ -1212,6 +1221,7 @@
"filter_description": "Условия за филтриране на обекти",
"filter_people": "Филтриране на хора",
"filter_places": "Филтър по място",
"filter_tags": "Филтриране по етикети",
"filters": "Филтри",
"find_them_fast": "Намерете ги бързо по име с търсене",
"first": "Първи",
@@ -1311,7 +1321,7 @@
"import_path": "Път за импортиране",
"in_albums": "В {count, plural, one {# албум} other {# албума}}",
"in_archive": "В архив",
"in_year": "{year} г.",
"in_year": "През {year}",
"in_year_selector": "През",
"include_archived": "Включване на архивирани",
"include_shared_albums": "Включване на споделени албуми",
@@ -1379,9 +1389,11 @@
"library_page_sort_title": "Заглавие на албума",
"licenses": "Лицензи",
"light": "Светло",
"light_theme": "Премини към светла тема",
"like": "Харесайте",
"like_deleted": "Като изтрит",
"link_motion_video": "Линк към видео",
"link_to_docs": "За повече информация вижте <link>документацията</link>.",
"link_to_oauth": "Линк към OAuth",
"linked_oauth_account": "Свързан OAuth акаунт",
"list": "Лист",
@@ -1642,13 +1654,15 @@
"online": "Онлайн",
"only_favorites": "Само любими",
"open": "Отвори",
"open_calendar": "Отвори календар",
"open_in_browser": "Отвори в браузър",
"open_in_map_view": "Отвори изглед на карта",
"open_in_openstreetmap": "Отвори в OpenStreetMap",
"open_the_search_filters": "Отвари филтрите за търсене",
"options": "Настройки",
"or": "или",
"organize_into_albums": "Organitzar per àlbums",
"organize_into_albums_description": "Posar les fotos existents dins dels àlbums fent servir la configuració de sincronització",
"organize_into_albums": "Подредете в албуми",
"organize_into_albums_description": "Добавете наличните снимки в албуми, като използвате текущите настройки за синхронизиране",
"organize_your_library": "Организиране на вашата библиотека",
"original": "оригинал",
"other": "Други",
@@ -1796,14 +1810,13 @@
"purchase_server_description_2": "Статус на поддръжник",
"purchase_server_title": "Сървър",
"purchase_settings_server_activated": "Продуктовият ключ на сървъра се управлява от администратора",
"query_asset_id": "Buscar item per ID",
"query_asset_id": "Търсене на елемент по ID",
"queue_status": "В опашка {count} от {total}",
"rate_asset": "Задаване на рейтинг",
"rating": "Оценка със звезди",
"rating_clear": "Изчисти оценката",
"rating_count": "{count, plural, one {# звезда} other {# звезди}}",
"rating_count": "{count, plural, =0 {Без рейтинг} one {# звезда} other {# звезди}}",
"rating_description": "Покажи EXIF оценката в панела с информация",
"rating_set": "Зададен е рейтинг {rating, plural, one {# звезда} other {# звезди}}",
"reaction_options": "Избор на реакция",
"read_changelog": "Прочети промените",
"readonly_mode_disabled": "Режима само за четене е деактивиран",
@@ -1875,7 +1888,10 @@
"reset_pin_code_success": "Успешно нулиран ПИН код",
"reset_pin_code_with_password": "С вашата парола можете винаги да нулирате своя ПИН код",
"reset_sqlite": "Нулиране на базата данни SQLite",
"reset_sqlite_confirmation": "Наистина ли искате да нулирате базата данни SQLite? Ще трябва да излезете от системата и да се впишете отново за нова синхронизация на данните",
"reset_sqlite_clear_app_data": "Премахни данните",
"reset_sqlite_confirmation": "Наистина ли искате да нулирате данните на приложението? Това ще премахни всички настройки и ще Ви отпише от системата.",
"reset_sqlite_confirmation_note": "Бележка: След премахване на данните ще трябва да рестартирате приложението.",
"reset_sqlite_done": "Данните на приложението са премахнати. Моля, рестартирайте Immich и се впишете отново.",
"reset_sqlite_success": "Успешно нулиране на базата данни SQLite",
"reset_to_default": "Връщане на фабрични настройки",
"resolution": "Резолюция",
@@ -1903,6 +1919,7 @@
"saved_settings": "Запазени настройки",
"say_something": "Кажи нещо",
"scaffold_body_error_occurred": "Възникна грешка",
"scaffold_body_error_unrecoverable": "Възникна непоправима грешка. Моля, споделете грешката и трасирането на стека в Discord или GitHub, за да можем да Ви помогнем. Ако бъдете посъветвани, може да изчистите данните на приложението.",
"scan": "Сканиранe",
"scan_all_libraries": "Сканирай всички библиотеки",
"scan_library": "Сканирай",
@@ -1938,6 +1955,7 @@
"search_filter_ocr": "Търсене нa текст",
"search_filter_people_title": "Избери хора",
"search_filter_star_rating": "Класация със звезди",
"search_filter_tags_title": "Изберете етикети",
"search_for": "Търси за",
"search_for_existing_person": "Търси съществуващ човек",
"search_no_more_result": "Няма други резултати",
@@ -2017,6 +2035,9 @@
"set_profile_picture": "Задайте профилна снимка",
"set_slideshow_to_fullscreen": "Задайте Слайдшоу на цял екран",
"set_stack_primary_asset": "Задай като основни обекти",
"setting_image_navigation_enable_subtitle": "Ако е избрано, можете да навигирате към предишна/следваща снимка като натиснете върху лявата/дясната страна на екрана.",
"setting_image_navigation_enable_title": "Натисни за навигиране",
"setting_image_navigation_title": "Навигиране на снимка",
"setting_image_viewer_help": "При показване на обект първо се зарежда миниатюра, после изображение със средно качество (ако е разрешено) и накрая оригинала (ако е разрешено).",
"setting_image_viewer_original_subtitle": "Разреши за да се зарежда оригиналното изображение в пълен размер (голям!). Забрани за да се намали обема на данните (по мрежата и в кеша на устройството).",
"setting_image_viewer_original_title": "Зареждане на оригинално изображение",
@@ -2183,6 +2204,7 @@
"support": "Поддръжка",
"support_and_feedback": "Поддръжка и обратна връзка",
"support_third_party_description": "Вашата инсталация на Immich е пакетирана от трета страна. Проблемите, които изпитвате, може да са причинени от този пакет, затова моля, първо подавайте проблемите си към тях чрез линковете по-долу.",
"supporter": "Поддръжник",
"swap_merge_direction": "Размяна посоката на сливане",
"sync": "Синхронизиране",
"sync_albums": "Синхронизиране на албуми",
@@ -2195,8 +2217,9 @@
"tag": "Таг",
"tag_assets": "Тагни елементи",
"tag_created": "Създаден етикет: {tag}",
"tag_face": "Отбележи лице",
"tag_feature_description": "Разглеждане на снимки и видеоклипове, групирани по теми с логически тагове",
"tag_not_found_question": "Не можете да намерите етикет? Създайте такъв <link>тук</link>",
"tag_not_found_question": "Не можете да намерите етикет? <link>Създайте нов етикет.</link>",
"tag_people": "Отбележи Хора",
"tag_updated": "Обновен етикет: {tag}",
"tagged_assets": "Тагнати {count, plural, one {# елемент} other {# елементи}}",
@@ -2294,6 +2317,7 @@
"unstack_action_prompt": "{count} са разгрупирани",
"unstacked_assets_count": "Разкачени {count, plural, one {# елемент} other {# елементи}}",
"unsupported_field_type": "Типа на полето не се поддържа",
"unsupported_file_type": "Файлът {file} не може да бъде зареден, защото неговият тип {type} не се поддържа.",
"untagged": "Немаркирани",
"untitled_workflow": "Работен процес без име",
"up_next": "Следващ",
@@ -2320,6 +2344,8 @@
"url": "URL",
"usage": "Потребление",
"use_biometric": "Използвай биометрия",
"use_browser_locale": "Използвай езиковите настройки на браузъра",
"use_browser_locale_description": "Формат на дата, време и числа според езиковата настройка на браузъра",
"use_current_connection": "Използвай текущата връзка",
"use_custom_date_range": "Използвайте собствен диапазон от дати вместо това",
"user": "Потребител",
@@ -2373,6 +2399,7 @@
"viewer_remove_from_stack": "Премахване от опашката",
"viewer_stack_use_as_main_asset": "Използвай като основен",
"viewer_unstack": "Премахни от опашката",
"visibility": "Видимост",
"visibility_changed": "Видимостта е променена за {count, plural, one {# човек} other {# човека}}",
"visual": "Визуален",
"visual_builder": "Визуален конструктор",

View File

@@ -70,23 +70,23 @@
"cleared_jobs": "{job} এর জন্য jobs খালি করা হয়েছে",
"config_set_by_file": "কনফিগ বর্তমানে একটি কনফিগ ফাইল দ্বারা সেট করা আছে",
"confirm_delete_library": "আপনি কি নিশ্চিত যে আপনি {library} লাইব্রেরি মুছে ফেলতে চান?",
"confirm_delete_library_assets": "আপনি কি নিশ্চিত যে আপনি এই লাইব্রেরিটি মুছে ফেলতে চান? এটি Immich থেকে {count, plural, one {# contained asset} other {all # contained asset}} মুছে ফেলবে এবং পূর্বাবস্থায় ফেরানো যাবে না। ফাইলগুলি ডিস্কে থাবে।",
"confirm_email_below": "নিশ্চিত করতে, নিচে \"{email}\" টাইপ করুন",
"confirm_reprocess_all_faces": "আপনি কি নিশ্চিত যে আপনি সমস্ত মুখ পুনরায় প্রক্রিয়া করতে চান? এটি নামযুক্ত ব্যক্তিদেরও মুছে ফেলবে।",
"confirm_user_password_reset": "আপনি কি নিশ্চিত যে আপনি {user} এর পাসওয়ার্ড রিসেট করতে চান?",
"confirm_user_pin_code_reset": "আপনি কি নিশ্চিত যে আপনি {user} এর পিন কোড রিসেট করতে চান?",
"copy_config_to_clipboard_description": "বর্তমান সিস্টেম কনফিগারেশন একটি JSON অবজেক্ট হিসেবে ক্লিপবোর্ডে কপি করুন",
"create_job": "job তৈরি করুন",
"cron_expression": "ক্রোন এক্সপ্রেশন",
"cron_expression_description": "ক্রোন ফরম্যাট ব্যবহার করে স্ক্যানিং ব্যবধান সেট করুন। আরও তথ্যের জন্য দয়া করে দেখুন যেমন <link>Crontab Guru</link>",
"cron_expression_presets": "ক্রোন এক্সপ্রেশন প্রিসেট",
"confirm_delete_library_assets": "আপনি কি নিশ্চিতভাবে এই লাইব্রেরিটি মুছে ফেলতে চান? এতে Immich থেকে {count, plural, one {#টি অ্যাসেট} other {#টি অ্যাসেট}} মুছে যাবে এবং এই কাজটি পরে আর পূর্বাবস্থায় ফেরানো যাবে না। তবে ফাইলগুল ডিস্কে থেকে যাবে।",
"confirm_email_below": "নিশ্চিত করার জন্য নিচে \"{email}\" টাইপ করুন",
"confirm_reprocess_all_faces": "আপনি কি নিশ্চিত যে আপনি সমস্ত মুখ পুনরায় পরিশোধন করতে চান? এতে নাম দেওয়া ব্যক্তিদের তথ্যও মুছে যাবে।",
"confirm_user_password_reset": "আপনি কি নিশ্চিত যে আপনি {user}-এর পাসওয়ার্ড রিসেট করতে চান?",
"confirm_user_pin_code_reset": "আপনি কি নিশ্চিত যে আপনি {user}-এর পিন কোড রিসেট করতে চান?",
"copy_config_to_clipboard_description": "বর্তমান সিস্টেম কনফিগারেশনটিকে একটি JSON অবজেক্ট হিসেবে ক্লিপবোর্ডে কপি করুন",
"create_job": "Job তৈরি করুন",
"cron_expression": "Cron এক্সপ্রেশন",
"cron_expression_description": "Cron ফরম্যাট ব্যবহার করে স্ক্যানিং ইন্টারভ্যাল নির্ধারণ করুন। আরও তথ্যের জন্য দা করে <link>Crontab Guru</link> দেখুন",
"cron_expression_presets": "Cron এক্সপ্রেশন প্রিসেট",
"disable_login": "লগইন অক্ষম করুন",
"duplicate_detection_job_description": "অনুরূপ ছবি নাক্ত করতে সম্পদগুলিতে মেশিন লার্নিং চালান। স্মার্ট অনুসন্ধানের উপর নির্ভর করে",
"exclusion_pattern_description": "এক্সক্লুশন প্যাটার্ন ব্যবহার করে আপনি আপনার লাইব্রেরি স্ক্যান করার সময় ফাইল এবং ফোল্ডারগুলিকে উপেক্ষা করতে পারবেন। যদি আপনার এমন ফোল্ডার থাকে যেখানে এমন ফাইল থাকে যা আপনি আমদানি করতে চান না, যেমন RAW ফাইল।",
"export_config_as_json_description": "বর্তমান সিস্টেম কনফিগারেশন একটি JSON ফাইল হিসেবে ডাউনলোড করুন",
"external_libraries_page_description": "অ্যাডমিন external লাইব্রেরি পেজ",
"face_detection": "মুখ নাক্তকরণ",
"face_detection_description": "মেশিন লার্নিং ব্যবহার করে অ্যাসেটে থাকা মুখ/চেহারা গুলি সনাক্ত করুন। ভিডিও গুলির জন্য, শুধুমাত্র থাম্বনেইল বিবেচনা করা হয়। \"রিফ্রেশ\" (পুনরায়) সমস্ত অ্যাসেট প্রক্রিয়া করে। \"রিসেট\" করার মাধ্যমে অতিরিক্তভাবে সমস্ত বর্তমান মুখের ডেটা সাফ করে। \"অনুপস্থিত\" অ্যাসেটগুলিকে সারিবদ্ধ করে যা এখন প্রক্রিয়া করা হয়নি। নাক্ত করা মুখগুলিকে ফেসিয়াল রিকগনিশনের জন্য সারিবদ্ধ করা হবে, ফেসিয়াল ডিটেকশন সম্পূর্ণ হওয়ার পরে, বিদ্যমান বা নতুন ব্যক্তিদের মধ্যে গোষ্ঠীবদ্ধ করে।",
"duplicate_detection_job_description": "সদৃশ ছবি নাক্ত করতে অ্যাসেটগুলোর উপর মেশিন লার্নিং চালান। এটি Smart Search-এর উপর নির্ভর করে",
"exclusion_pattern_description": "এক্সক্লুশন প্যাটার্ন ব্যবহার করে লাইব্রেরি স্ক্যান করার সময় নির্দিষ্ট ফাইল ফোল্ডার উপেক্ষা করা যায়। এটি তখনই উপকারী যখন কিছু ফোল্ডারে এমন ফাইল থাকে যা আপনি ইমপোর্ট করতে চান না, যেমন RAW ফাইল।",
"export_config_as_json_description": "বর্তমান সিস্টেম কনফিগারেশনটিকে একটি JSON ফাইল হিসেবে ডাউনলোড করুন",
"external_libraries_page_description": "অ্যাডমিন এক্সটার্নাল লাইব্রেরি পেজ",
"face_detection": "মুখ নাক্তকরণ",
"face_detection_description": "মেশিন লার্নিং ব্যবহার করে অ্যাসেটে থাকা মুখ/চেহারা নাক্ত করুন। ভিডিওর ক্ষেত্রে শুধুমাত্র থাম্বনেইল বিবেচনা করা হয়। \"রিফ্রেশ\" সব অ্যাসেট পুনরায় প্রক্রিয়া করে। \"রিসেট\" করলে বিদ্যমান সব মুখের ডেটা মুছে যায়। \"মিসিং\" ওই অ্যাসেটগুলকে সারিতে যোগ করে যাদেরকে এখন প্রক্রিয়া করা হয়নি। ফেস ডিটেকশন সম্পন্ন হলে শনাক্ত হওয়া মুখগুল ফেসিয়াল রিকগনিশনের জন্য সারিতে যোগ করা হবে এবং সেগুলোকে বিদ্যমান বা নতুন ব্যক্তিদের সাথে গ্রুপ করা হবে।",
"facial_recognition_job_description": "শনাক্ত করা মুখগুলিকে মানুষের মধ্যে গোষ্ঠীভুক্ত/গ্রুপ করুন। মুখ সনাক্তকরণ সম্পূর্ণ হওয়ার পরে এই ধাপটি চলে। \"রিসেট\" (পুনরায়) সমস্ত মুখকে ক্লাস্টার করে। \"অনুপস্থিত/মিসিং\" মুখগুলিকে সারিতে রাখে যেগুলো কোনও ব্যক্তিকে এসাইন/বরাদ্দ করা হয়নি।",
"failed_job_command": "কমান্ড {command} কাজের জন্য ব্যর্থ হয়েছে: {job}",
"force_delete_user_warning": "সতর্কতা: এটি ব্যবহারকারী এবং সমস্ত সম্পদ অবিলম্বে সরিয়ে ফেলবে। এটি পূর্বাবস্থায় ফেরানো যাবে না এবং ফাইলগুলি পুনরুদ্ধার করা যাবে না।",
@@ -98,9 +98,9 @@
"image_fullsize_quality_description": "পূর্ণ-আকারের ছবির মান ১-১০০। উচ্চতর হলে ভালো, কিন্তু আরও বড় ফাইল তৈরি হয়।",
"image_fullsize_title": "পূর্ণ-আকারের চিত্র সেটিংস",
"image_prefer_embedded_preview": "এম্বেড করা প্রিভিউ পছন্দ করুন",
"image_prefer_embedded_preview_setting_description": "যদি পাওয়া যায়, RAW ছবির ভেতরে থাকা প্রিভিউ ব্যবহার করুন। এতে কিছু ছবির রঙ আরও সঠিক দেখা যেতে পারে, তবে মান ক্যামেরার পর নির্ভর করে এবং ছবিতে বাড়তি কমপ্রেশন আর্টিফ্যাক্ট দেখা যেতে পারে।",
"image_prefer_embedded_preview_setting_description": "RAW ছবিে থাকা এমবেডেড প্রিভিউগুলোকে ইমেজ প্রসেসিংয়ের ইনপুট হিসেবে ব্যবহার করুন যদি তা উপলভ্য থাকে। এতে কিছু ছবির রঙ আরও সঠিকভাবে পাওয়া যেতে পারে, তবে প্রিভিউয়ের মান ক্যামেরার পর নির্ভর করে এবং ছবিতে বেশি কমপ্রেশন আর্টিফ্যাক্ট থাকতে পারে।",
"image_prefer_wide_gamut": "প্রশস্ত পরিসর পছন্দ করুন",
"image_prefer_wide_gamut_setting_description": "থাম্বনেইলের জন্য Display P3 ব্যবহার করুন। এটি ওয়াইড কালারস্পেস ছবির উজ্জ্বলতা ও প্রাণবন্ত রঙ ভালোভাবে ধরে রাখে, তবে পুরনো ডিভাইস বা ব্রাউজারে ছবিগুলো ভিন্নভাবে দেখা যেতে পারে। sRGB ছবিগুলো রঙের পরিবর্তন এাতে sRGB হিসেবেই রাখা হবে।",
"image_prefer_wide_gamut_setting_description": "থাম্বনেইলের জন্য Display P3 ব্যবহার করুন। এতে বিস্তীর্ণ কালারস্পেসের ছবিতে ছবির উজ্জ্বলতা ও প্রাণবন্ততা আরও ভালোভাবে বজায় থাকে। তবে পুরনো ডিভাইস বা পুরোনো ব্রাউজারের দোষে ছবিগুলো কিছুটা ভিন্নভাবে দেখা দিতে পারে। sRGB ছবিগুলোতে রঙের পরিবর্তন এড়াতে sRGB হিসেবেই রাখা হয়।",
"image_preview_description": "স্ট্রিপড মেটাডেটা সহ মাঝারি আকারের ছবি, একটি একক সম্পদ দেখার সময় এবং মেশিন লার্নিংয়ের জন্য ব্যবহৃত হয়",
"image_preview_quality_description": "১-১০০ এর মধ্যে প্রিভিউ কোয়ালিটি। বেশি হলে ভালো, কিন্তু বড় ফাইল তৈরি হয় এবং অ্যাপের প্রতিক্রিয়াশীলতা কমাতে পারে। কম মান সেট করলে মেশিন লার্নিং কোয়ালিটির উপর প্রভাব পড়তে পারে।",
"image_preview_title": "প্রিভিউ সেটিংস",
@@ -117,7 +117,7 @@
"import_config_from_json_description": "একটি JSON কনফিগ ফাইল আপলোড করে সিস্টেম কনফিগারেশন ইমপোর্ট করুন।",
"job_concurrency": "{job} কনকারেন্সি",
"job_created": "Job তৈরি হয়েছে",
"job_not_concurrency_safe": "এই কাজটি সমান্তরালভাবে চালানো নিরাপদ নয়",
"job_not_concurrency_safe": "এই কাজটি সমান্তরালভাবে চালানো নিরাপদ নয়",
"job_settings": "কাজের সেটিংস",
"job_settings_description": "কাজের সমান্তরালতা পরিচালনা করুন",
"jobs_delayed": "{jobCount, plural, other {# বিলম্বিত}}",
@@ -137,20 +137,20 @@
"library_tasks_description": "নতুন এবং/অথবা পরিবর্তিত সম্পদের জন্য বহিরাগত লাইব্রেরি স্ক্যান করুন",
"library_updated": "আপডেটকৃত লাইব্রেরি।",
"library_watching_enable_description": "ফাইল পরিবর্তনের জন্য বহিরাগত লাইব্রেরিগুলি দেখুন",
"library_watching_settings": "লাইব্রেরি দেখা (পরীক্ষামূলক)",
"library_watching_settings": "লাইব্রেরি পর্যবেক্ষণ [পরীক্ষামূলক]",
"library_watching_settings_description": "পরিবর্তিত ফাইলগুলির জন্য স্বয়ংক্রিয়ভাবে নজর রাখুন",
"logging_enable_description": "লগিং এনাবল/সক্ষম করুন",
"logging_level_description": "সক্রিয় থাকাকালীন, কোন লগ স্তর ব্যবহার করতে হবে।",
"logging_settings": "লগিং",
"machine_learning_availability_checks": "প্রাপ্যতা পরীক্ষা",
"machine_learning_availability_checks_description": "স্বয়ংক্রিয়ভাবে উপলব্ধ মেশিন লার্নিং সার্ভারগুলিনাক্ত করুন এবং পছন্দ করুন",
"machine_learning_availability_checks_description": "উপলভ্য মেশিন লার্নিং সার্ভারগুল্বয়ংক্রিয়ভাবে শনাক্ত করে সেগুলোকে অগ্রাধিকার দিন",
"machine_learning_availability_checks_enabled": "প্রাপ্যতা পরীক্ষা সক্ষম করুন",
"machine_learning_availability_checks_interval": "চেক ব্যবধান",
"machine_learning_availability_checks_interval_description": "প্রাপ্যতা পরীক্ষাগুলির মধ্যে ব্যবধান মিলিসেকেন্ডে",
"machine_learning_availability_checks_timeout": "অনুরোধের সময়সীমা শেষ",
"machine_learning_availability_checks_timeout_description": "প্রাপ্যতার পরীক্ষার জন্য মিলিসেকেন্ডে সময়সীমা।",
"machine_learning_clip_model": "CLIP মডেল",
"machine_learning_clip_model_description": "<link>এখানে</link> তালিকাভুক্ত একটি CLIP মডেলের নাম। মনে রাখবেন, মডেল পরিবর্তনের পর সব ছবির জন্য অবশ্যই Smart Search কাজটি আবার চালাতে হবে।",
"machine_learning_clip_model_description": "<link>এখানে</link> তালিকাভুক্ত একটি CLIP মডেলের নাম। মনে রাখবেন, মডেল পরিবর্তন করলে সব ছবির জন্য 'Smart Search' জবটি পুনরায় চালাতে হবে।",
"machine_learning_duplicate_detection": "পুনরাবৃত্তি সনাক্তকরণ",
"machine_learning_duplicate_detection_enabled": "পুনরাবৃত্তি শনাক্তকরণ চালু করুন",
"machine_learning_duplicate_detection_enabled_description": "নিষ্ক্রিয় থাকলেও হুবহু একই সম্পদগুলোর ডুপ্লিকেট সরিয়ে ফেলা হবে।",
@@ -192,7 +192,7 @@
"machine_learning_url_description": "মেশিন লার্নিং সার্ভারের URL। যদি একের বেশি URL প্রদান করা হয়, তবে একটি সফলভাবে সাড়া না দেওয়া পর্যন্ত প্রতিটি সার্ভারে এক এক করে চেষ্টা করা হবে (প্রথম থেকে শেষ ক্রমানুসারে)। যে সার্ভারগুলো সাড়া দেবে না, সেগুলো পুনরায় সচল হওয়া পর্যন্ত সাময়িকভাবে উপেক্ষা করা হবে।",
"maintenance_delete_backup": "ব্যাকআপ (Backup)মুছুন",
"maintenance_delete_backup_description": "এই ফাইলটি চিরতরে মুছে ফেলা হবে।",
"maintenance_delete_error": "ব্যাকআপ মুছতে ব্যর্থ হয়েছে।",
"maintenance_delete_error": "ব্যাকআপ মুছে ফেলতে ব্যর্থ হয়েছে।",
"maintenance_restore_backup": "ব্যাকআপ পুনরুদ্ধার(Restore) করুন",
"maintenance_restore_backup_description": "Immich মুছে ফেলা হবে এবং নির্বাচিত ব্যাকআপ থেকে পুনরুদ্ধার করা হবে। কার্যক্রম চালিয়ে যাওয়ার আগে একটি ব্যাকআপ তৈরি করা হবে।",
"maintenance_restore_backup_different_version": "এই ব্যাকআপটি Immich-এর একটি ভিন্ন সংস্করণের মাধ্যমে তৈরি করা হয়েছিল!",
@@ -220,7 +220,7 @@
"map_reverse_geocoding_settings": "রিভার্স জিওকোডিং সেটিংস (Reverse Geocoding Settings)",
"map_settings": "মানচিত্র (Map)",
"map_settings_description": "মানচিত্রের সেটিংস পরিচালনা করুন (Manage map settings)",
"map_style_description": "একটি style.json ম্যাপ থিমের URL (URL to a style.json map theme)",
"map_style_description": "style.json ম্যাপ থিমের URL ঠিকানা",
"memory_cleanup_job": "মেমরি ক্লিনআপ (Memory cleanup)",
"memory_generate_job": "স্মৃতি তৈরি করা(Memory generation)",
"metadata_extraction_job": "মেটাডেটা এক্সট্র্যাক্ট করুন (Extract metadata)",
@@ -231,6 +231,8 @@
"metadata_settings_description": "মেটাডেটা সেটিংস পরিচালনা করুন (Manage metadata settings)",
"migration_job": "মাইগ্রেশন (Migration)",
"migration_job_description": "অ্যাসেট এবং ফেস থাম্বনেইলগুলোকে সর্বশেষ ফোল্ডার স্ট্রাকচারে মাইগ্রেট করুন। (Migrate thumbnails for assets and faces to the latest folder structure)",
"nightly_tasks_cluster_faces_setting_description": "নতুন শনাক্ত হওয়া মুখগুলিতে ফেসিয়াল রিকগনিশন চালান",
"nightly_tasks_cluster_new_faces_setting": "নতুন মুখগুলোর গুচ্ছ",
"nightly_tasks_database_cleanup_setting": "ডেটাবেস ক্লিনআপ টাস্কসমূহ (Database cleanup tasks)",
"nightly_tasks_database_cleanup_setting_description": "ডেটাবেস থেকে পুরোনো এবং মেয়াদোত্তীর্ণ ডেটা মুছে ফেলুন",
"nightly_tasks_generate_memories_setting": "মেমোরিজ তৈরি করুন (Generate memories)",
@@ -257,6 +259,20 @@
"notification_email_secure": "SMTPS (স্মার্ট মেইল ট্রান্সফার প্রোটোকল সিকিউর)",
"notification_email_secure_description": "SMTPS (SMTP over TLS) ব্যবহার করুন",
"notification_email_sent_test_email_button": "টেস্ট ইমেল পাঠান এবং সেভ করুন",
"notification_email_setting_description": "ইমেল নোটিফিকেশন পাঠানোর সেটিংস",
"notification_email_test_email": "পরীক্ষামূলক ইমেইল পাঠান",
"notification_email_test_email_failed": "পরীক্ষামূলক ইমেল পাঠানো সম্ভব হয়নি, আপনার সেটিংস যাচাই করুন",
"notification_email_test_email_sent": "{email}-এ একটি পরীক্ষামূলক ইমেল পাঠানো হয়েছে। অনুগ্রহ করে আপনার ইনবক্স দেখুন।",
"notification_email_username_description": "ইমেল সার্ভারে ভেরিফিকেসনের জন্য ব্যবহৃত ইউজারনেম",
"notification_enable_email_notifications": "ইমেল নোটিফিকেসন সক্রিয় করুন",
"notification_settings": "নোটিফিকেসন সেটিংস",
"notification_settings_description": "ইমেইল সহ নোটিফিকেশন সেটিংস পরিচালনা করুন",
"oauth_auto_launch": "অটো লঞ্চ",
"oauth_auto_launch_description": "লগইন পেজে প্রবেশ করার সাথে সাথে OAuth লগইন প্রক্রিয়াটি স্বয়ংক্রিয়ভাবে শুরু করুন",
"oauth_auto_register": "সয়ংক্রিয়ভাবে রেজিস্টার করুন",
"oauth_auto_register_description": "OAuth দিয়ে সাইন ইন করার পর নতুন ব্যবহারকারীদের স্বয়ংক্রিয়ভাবে নিবন্ধন করুন",
"oauth_button_text": "বাটন টেক্সট",
"oauth_client_secret_description": "গোপনীয় ক্লায়েন্টের জন্য প্রয়োজন, অথবা যদি পাবলিক ক্লায়েন্টের জন্য PKCE (Proof Key for Code Exchange) সমর্থিত না হয়।",
"oauth_enable_description": "OAuth-এর মাধ্যমে লগইন করুন",
"oauth_mobile_redirect_uri": "মোবাইল রিডাইরেক্ট ইউআরআই (URI)",
"oauth_mobile_redirect_uri_override": "মোবাইল রিডাইরেক্ট ইউআরআই (URI) ওভাররাইড",
@@ -295,7 +311,7 @@
"search_jobs": "জব সার্চ করুন…",
"send_welcome_email": "স্বাগত ইমেল পাঠান",
"server_external_domain_settings": "এক্সটার্নাল ডোমেইন (External Domain)",
"server_external_domain_settings_description": "পাবলিক শেয়ারিং লিঙ্কের জন্য ডোমেইন (http(s):// সহ)",
"server_external_domain_settings_description": "বাইরের লিঙ্কের জন্য ব্যবহৃত ডোমেইন",
"server_public_users": "পাবলিক ইউজার (Public Users)",
"server_public_users_description": "শেয়ার করা অ্যালবামে কোনো ব্যবহারকারীকে যোগ করার সময় সমস্ত ব্যবহারকারীর (নাম এবং ইমেল) তালিকা দেখানো হয়। এটি নিষ্ক্রিয় (Disabled) করা হলে, ব্যবহারকারীর তালিকা শুধুমাত্র অ্যাডমিনদের জন্য উপলব্ধ হবে।",
"server_settings": "সার্ভার সেটিংস (Server Settings)",
@@ -317,12 +333,26 @@
"storage_template_migration_description": "পূর্বে আপলোড করা অ্যাসেটগুলোতে বর্তমান <link>{template}</link> প্রয়োগ করুন",
"storage_template_migration_info": "স্টোরেজ টেমপ্লেটটি সমস্ত এক্সটেনশনকে ছোট হাতের অক্ষরে (lowercase) রূপান্তর করবে। টেমপ্লেটের পরিবর্তনগুলো কেবল নতুন অ্যাসেটগুলোর ক্ষেত্রে প্রযোজ্য হবে। পূর্বে আপলোড করা অ্যাসেটগুলোতে এই টেমপ্লেটটি ভূতাপেক্ষভাবে (retroactively) প্রয়োগ করতে <link>{job}</link> রান করুন।",
"storage_template_migration_job": "স্টোরেজ টেমপ্লেট মাইগ্রেশন জব",
"storage_template_more_details": "এই ফিচারটি সম্পর্কে আরও বিস্তারিত জানতে, <template-link>Storage Template</template-link> এবং এর <implications-link>প্রভাবগুলো (implications)</implications-link> দেখুন",
"storage_template_more_details": "এই ফিচার সম্পর্কে আরও বিস্তারিতভাবে জানতে <template-link>Storage Template</template-link> এবং এর <implications-link>প্রভাব</implications-link> দেখুন",
"storage_template_onboarding_description_v2": "এটি সক্রিয় থাকলে, ফিচারটি ব্যবহারকারীর নির্ধারিত টেমপ্লেট অনুযায়ী ফাইলগুলোকে স্বয়ংক্রিয়ভাবে অর্গানাইজ (Auto-organize) করবে। আরও তথ্যের জন্য অনুগ্রহ করে <link>ডকুমেন্টেশন</link> দেখুন।",
"storage_template_path_length": "আনুমানিক পাথ লেন্থ লিমিট (Path length limit): <b>{length, number}</b>/{limit, number}",
"storage_template_path_length": "আনুমানিকভাবে পথের দৈর্ঘ্যের সীমা: <b>{length, number}</b>/{limit, number}",
"storage_template_settings": "স্টোরেজ টেমপ্লেট (Storage Template)",
"storage_template_settings_description": "আপলোড করা অ্যাসেটের ফোল্ডার স্ট্রাকচার এবং ফাইল নেম ম্যানেজ করুন",
"storage_template_user_label": "<code>{label}</code> হলো ব্যবহারকারীর স্টোরেজ লেবেল (Storage Label)",
"system_settings": "সিস্টেম সেটিংস",
"tag_cleanup_job": "ট্যাগ মুছে ফেলা",
"template_email_available_tags": "আপনি আপনার টেমপ্লেটে নিম্নলিখিত ভেরিয়েবলগুলো ব্যবহার করতে পারেন: {tags}",
"template_email_if_empty": "টেমপ্লেটটি খালি থাকলে ডিফল্ট ইমেল ব্যবহার করা হবে।",
"template_email_invite_album": "ইনভাইট অ্যালবাম টেমপ্লেট",
"template_email_preview": "প্রিভিউ",
"template_email_settings": "ইমেইল টেমপ্লেট",
"template_email_update_album": "অ্যালবাম টেমপ্লেট আপডেট করুন",
"template_email_welcome": "স্বাগতম ইমেইল টেমপ্লেট",
"template_settings": "নোটিফিকেশন টেমপ্লেট",
"template_settings_description": "নোটিফিকেশনের জন্য কাস্টম টেমপ্লেট পরিচালনা করুন",
"theme_custom_css_settings": "কাস্টম CSS",
"theme_custom_css_settings_description": "ক্যাসকেডিং স্টাইল শীট ব্যবহার করে Immich এর ডিজাইন কাস্টমাইজ করা যায়।",
"theme_settings": "থীম সেটিংস",
"theme_settings_description": "ইমিচ (Immich) ওয়েব ইন্টারফেসের কাস্টমাইজেশন ম্যানেজ করুন",
"thumbnail_generation_job": "থাম্বনেইল তৈরি করুন (Generate Thumbnails)",
"thumbnail_generation_job_description": "প্রতিটি অ্যাসেটের জন্য বড়, ছোট এবং ব্লার (অস্পষ্ট) থাম্বনেইল তৈরি করুন, সেই সাথে প্রতিটি ব্যক্তির জন্যও থাম্বনেইল তৈরি করুন।",
@@ -334,8 +364,283 @@
"transcoding_acceleration_vaapi": "VA-API (ভিডিও অ্যাক্সিলারেশন এপিআই)",
"transcoding_accepted_audio_codecs": "গ্রহণযোগ্য অডিও কোডেকসমূহ (Accepted audio codecs)",
"transcoding_accepted_audio_codecs_description": "কোন অডিও কোডেকগুলো ট্রানসকোড করার প্রয়োজন নেই তা নির্বাচন করুন। এটি শুধুমাত্র নির্দিষ্ট ট্রানসকোড পলিসির (transcode policies) জন্য ব্যবহৃত হয়।",
"transcoding_accepted_containers": "গ্রহণযোগ্য কন্টেইনারসমূহ (Accepted containers)"
"transcoding_accepted_containers": "গ্রহণযোগ্য কন্টেইনারসমূহ (Accepted containers)",
"transcoding_accepted_containers_description": "কোন কন্টেইনার ফরম্যাটগুলোকে MP4-এ রিমুক্স করার প্রয়োজন নেই তা নির্বাচন করুন। শুধুমাত্র নির্দিষ্ট ট্রান্সকোড পলিসির জন্য ব্যবহৃত হয়।",
"transcoding_accepted_video_codecs": "সমর্থিত ভিডিও কোডেকগুলো",
"transcoding_accepted_video_codecs_description": "কোন ভিডিও কোডেকগুলো ট্রান্সকোড করার প্রয়োজন নেই তা নির্বাচন করুন। শুধুমাত্র নির্দিষ্ট ট্রান্সকোড নীতির জন্য ব্যবহৃত হয়।",
"transcoding_advanced_options_description": "বেশিরভাগ ব্যবহারকারীর পরিবর্তন করার প্রয়োজন নেই এমন অপশনসমূহ",
"transcoding_audio_codec": "অডিও কোডেক",
"transcoding_audio_codec_description": "Opus সর্বোচ্চ মানের অপশন, তবে পুরোনো ডিভাইস বা সফটওয়্যারের সাথে এর সামঞ্জস্য কম।",
"transcoding_bitrate_description": "সর্বোচ্চ বিটরেটের চেয়ে বেশি বা সমর্থিত ফরম্যাটে নয় এমন ভিডিও",
"transcoding_codecs_learn_more": "এখানে ব্যবহৃত পরিভাষা সম্পর্কে আরও জানতে FFmpeg ডকুমেন্টেশন দেখুন, <h264-link>H.264 কোডেক</h264-link>, <hevc-link>HEVC কোডেক</hevc-link> এবং <vp9-link>VP9 কোডেক</vp9-link>।",
"transcoding_constant_quality_mode": "নির্দিষ্ট মান মোড",
"transcoding_constant_quality_mode_description": "ICQ, CQP-এর চেয়ে ভালো মান দেয়, কিন্তু সব হার্ডওয়্যার অ্যাক্সেলারেশন ডিভাইসে কাজ করে না। এই অপশন চালু থাকলে কোয়ালিটি-ভিত্তিক এনকোডিংয়ে এটি প্রাধান্য পাবে। NVENC এটি সমর্থন করে না, তাই এটি উপেক্ষা করা হবে।",
"transcoding_constant_rate_factor": "নির্দিষ্ট রেট ফ্যাক্টর (-crf)",
"transcoding_constant_rate_factor_description": "ভিডিওর গুণমানের স্তর। সাধারণ মানগুলো হলো H.264-এর জন্য ২৩, HEVC-এর জন্য ২৮, VP9-এর জন্য ৩১ এবং AV1-এর জন্য ৩৫। মান যত কম হবে, ভিডিওর গুণমান তত উন্নত হবে, তবে ফাইলের আকার তত বড় হবে।",
"transcoding_disabled_description": "কোনো ভিডিও ট্রান্সকোড করবেন না, এতে কিছু ক্লায়েন্টে প্লেব্যাক নষ্ট হতে পারে",
"transcoding_encoding_options": "এনকোডিং এর অপশনগুলি",
"transcoding_encoding_options_description": "এনকোড করা ভিডিওগুলির জন্য কোডেক, রেজোলিউশন, কোয়ালিটি এবং অন্যান্য অপশন সেট করুন",
"transcoding_hardware_acceleration": "হার্ডওয়্যার এক্সিলারেসন (Acceleration)",
"transcoding_hardware_acceleration_description": "পরীক্ষামূলক: দ্রুততর ট্রান্সকোডিং, কিন্তু একই বিটরেটে গুণমান হ্রাস পেতে পারে",
"transcoding_hardware_decoding": "হার্ডওয়্যার ডিকোডিং",
"transcoding_hardware_decoding_setting_description": "শুধু এনকোডিং অ্যাক্সিলারেশন করার পরিবর্তে এটি এন্ড-টু-এন্ড অ্যাক্সিলারেশন সক্ষম করে। সব ভিডিওতে কাজ নাও করতে পারে।",
"transcoding_max_b_frames": "সর্বোচ্চ বি-ফ্রেম (B-frames)",
"transcoding_max_b_frames_description": "মান যত বেশি হবে, কমপ্রেশন তত ভালো হবে কিন্তু এনকোডিং ধীরে চলবে। পুরোনো ডিভাইসে হার্ডওয়্যার অ্যাক্সেলারেশন কাজ নাও করতে পারে। দিলে B-frames বন্ধ থাকবে, -১ দিলে এটি নিজে থেকেই ঠিক হবে।",
"transcoding_max_bitrate": "সর্বোচ্চ বিটরেট",
"transcoding_max_bitrate_description": "সর্বোচ্চ বিটরেট নির্ধারণ করলে ফাইলের আকার আরও অনুমানযোগ্য হতে পারে, তবে এর ফলে কোয়ালিটির কিছুটা অবনতি ঘটে। 720p-তে, VP9 বা HEVC-এর জন্য সাধারণ মান হলো 2600 kbit/s, অথবা H.264-এর জন্য 4500 kbit/s।এর মান 0 সেট করা হলে এটি বন্ধ থাকে। যখন কোনো একক নির্দিষ্ট করা থাকে না, তখন k (kbit/s-এর জন্য) ধরে নেওয়া হয়; তাই 5000, 5000k, এবং 5M (Mbit/s-এর জন্য) সমতুল্য।",
"transcoding_max_keyframe_interval": "সর্বোচ্চ কীফ্রেম ব্যবধান",
"transcoding_max_keyframe_interval_description": "কীফ্রেমের মধ্যে সর্বোচ্চ ফ্রেম দূরত্ব নির্ধারণ করে। মান কম হলে কমপ্রেশন দক্ষতা কমে, তবে ভিডিওতে খুঁজে বের করা দ্রুত হয় এবং দ্রুত চলমান দৃশ্যে মানও কিছুটা ভালো হতে পারে। দিলে এই মান স্বয়ংক্রিয়ভাবে নির্ধারিত হয়।",
"transcoding_optimal_description": "নির্দিষ্ট রেজোলিউশনের চেয়ে বড় বা সমর্থিত ফরম্যাটে নয় এমন ভিডিও",
"transcoding_policy": "ট্রান্সকোড নীতি",
"transcoding_policy_description": "ভিডিও কখন ট্রান্সকোড করা হবে তা সেট করুন",
"transcoding_preferred_hardware_device": "পছন্দের হার্ডওয়্যার ডিভাইস",
"transcoding_preferred_hardware_device_description": "শুধুমাত্র VAAPI এবং QSV-এর ক্ষেত্রে প্রযোজ্য। হার্ডওয়্যার ট্রান্সকোডিংয়ের জন্য ব্যবহৃত dri নোড নির্ধারণ করে।",
"transcoding_preset_preset": "প্রিসেট (-preset)",
"transcoding_preset_preset_description": "কম্প্রেশন স্পিড। ধীরগতির প্রিসেটগুলো ছোট ফাইল তৈরি করে এবং একটি নির্দিষ্ট বিটরেট লক্ষ্য করার সময় গুণমান বৃদ্ধি করে। VP9 'faster'-এর চেয়ে বেশি গতি উপেক্ষা করে।",
"transcoding_reference_frames": "রেফারেন্স ফ্রেম",
"transcoding_reference_frames_description": "একটি ফ্রেম কম্প্রেস করার সময় কতটি ফ্রেমকে রেফারেন্স হিসেবে নেওয়া হবে। মান যত বেশি হবে, কমপ্রেশন দক্ষতা তত ভালো হবে, তবে এনকোডিং ধীর হবে। দিলে এই মান স্বয়ংক্রিয়ভাবে নির্ধারিত হবে।",
"transcoding_required_description": "শুধুমাত্র অনুমোদিত ফরম্যাটে নেই এমন ভিডিও",
"transcoding_settings": "ভিডিও ট্রান্সকোডিং সেটিংস",
"transcoding_settings_description": "নির্ধারণ করুন কোন ভিডিওগুলোকে ট্রান্সকোড করতে হবে এবং কিভাবে প্রক্রিয়া করতে হবে",
"transcoding_target_resolution": "টার্গেট রেজোলিউশন",
"transcoding_target_resolution_description": "উচ্চ রেজোলিউশন বেশি বিস্তারিত রাখে, কিন্তু এনকোডিং ধীরে হয়, ফাইল বড় হয়, এবং অ্যাপ ধীর প্রতিক্রিয়া করতে পারে।",
"transcoding_temporal_aq": "টেম্পোরাল AQ",
"transcoding_temporal_aq_description": "শুধুমাত্র NVENC-এর ক্ষেত্রে প্রযোজ্য। টেম্পোরাল অ্যাডাপটিভ কোয়ান্টাইজেশন (Adaptive Quantization) উচ্চ-বিস্তারিত ও স্বল্প-গতির দৃশ্যের মান বৃদ্ধি করে। পুরোনো ডিভাইসগুলোর সাথে সামঞ্জস্যপূর্ণ নাও হতে পারে।",
"transcoding_threads": "থ্রেড",
"transcoding_threads_description": "উচ্চ মানে এনকোডিং দ্রুত হয়, কিন্তু সার্ভার কম কাজ করতে পারে। CPU কোরের বেশি মান দেওয়া উচিত নয়। দিলে সর্বাধিক ব্যবহার হবে।",
"transcoding_tone_mapping": "টোন-ম্যাপিং",
"transcoding_tone_mapping_description": "এইচডিআর (HDR) ভিডিওকে এসডিআর (SDR)-এ রূপান্তর করার সময় এর বাহ্যিক রূপ অক্ষুণ্ণ রাখার চেষ্টা করা হয়। প্রতিটি অ্যালগরিদম রঙ, ডিটেইল এবং উজ্জ্বলতার জন্য ভিন্ন ভিন্ন সমন্বয় করে। হেবল ডিটেইল, মোবিয়াস রঙ এবং রাইনহার্ড উজ্জ্বলতা অক্ষুণ্ণ রাখে।",
"transcoding_transcode_policy": "ট্রান্সকোড নীতি",
"transcoding_transcode_policy_description": "কখন একটি ভিডিও ট্রান্সকোড করা হবে তার নীতিমালা। HDR ভিডিও এবং YUV 4:2:0 ব্যতীত অন্য পিক্সেল ফরম্যাটের ভিডিও সর্বদা ট্রান্সকোড করা হবে (যদি না ট্রান্সকোডিং বন্ধ করা থাকে)।",
"transcoding_two_pass_encoding": "টু-পাস এনকোডিং",
"transcoding_two_pass_encoding_setting_description": "আরও উন্নত মানের এনকোডেড ভিডিও তৈরি করতে দুই ধাপে ট্রান্সকোড করুন। যখন সর্বোচ্চ বিটরেট সক্রিয় করা হয় (যা H.264 এবং HEVC-এর সাথে কাজ করার জন্য আবশ্যক), তখন এই মোডটি সর্বোচ্চ বিটরেটের উপর ভিত্তি করে একটি বিটরেট রেঞ্জ ব্যবহার করে এবং CRF উপেক্ষা করে। VP9-এর ক্ষেত্রে, সর্বোচ্চ বিটরেট নিষ্ক্রিয় থাকলেও CRF ব্যবহার করা যেতে পারে।",
"transcoding_video_codec": "ভিডিও কোডেক",
"transcoding_video_codec_description": "VP9 উচ্চ কর্মদক্ষতা সম্পন্ন এবং ওয়েবের সাথে সামঞ্জস্যপূর্ণ, কিন্তু ট্রান্সকোড করতে বেশি সময় লাগে। HEVC-এর কর্মক্ষমতাও প্রায় একই রকম, কিন্তু এর ওয়েব সামঞ্জস্যতা কম। H.264 ব্যাপকভাবে সামঞ্জস্যপূর্ণ এবং দ্রুত ট্রান্সকোড করা যায়, কিন্তু এটি অনেক বড় ফাইল তৈরি করে। AV1 সবচেয়ে কর্মদক্ষ কোডেক, কিন্তু পুরোনো ডিভাইসগুলোতে এর সমর্থন নেই।",
"trash_enabled_description": "ট্র্যাশ ফিচার চালু করুন",
"trash_number_of_days": "দিনের সংখ্যা",
"trash_number_of_days_description": "ট্র্যাশে থাকা অ্যাসেটগুলো স্থায়ীভাবে মুছে ফেলার আগে রাখার দিন সংখ্যা",
"trash_settings": "ট্র্যাশ সেটিংস",
"trash_settings_description": "ট্র্যাশ সেটিংস পরিচালনা করুন",
"unlink_all_oauth_accounts": "সকল OAuth অ্যাকাউন্ট আনলিঙ্ক করুন",
"unlink_all_oauth_accounts_description": "নতুন প্রোভাইডারে মাইগ্রেট করার আগে সব OAuth অ্যাকাউন্ট আনলিঙ্ক করুন।",
"unlink_all_oauth_accounts_prompt": "আপনি কি সব OAuth অ্যাকাউন্ট আনলিঙ্ক করতে নিশ্চিত? এটি প্রতিটি ব্যবহারকারীর OAuth আইডি রিসেট করে দেবে এবং এটি আর পূর্বাবস্থায় ফেরানো যাবে না।",
"user_cleanup_job": "ইউজার ক্লিনআপ",
"user_delete_delay": "<b>{user}</b>-এর অ্যাকাউন্ট এবং অ্যাসেট {delay, plural, one {# day} other {# days}} পর স্থায়ীভাবে মুছে ফেলার জন্য নির্ধারিত হবে।",
"user_delete_delay_settings": "মুছে ফেলার সময় বিলম্ব",
"user_delete_delay_settings_description": "অ্যাকাউন্ট এবং অ্যাসেট মুছে ফেলার পর কত দিনের মধ্যে স্থায়ীভাবে মুছে ফেলা হবে। ব্যবহারকারী মুছে ফেলার কাজ মধ্যরাতে চালানো হয় এবং দেখা হয় কোন ব্যবহারকারী স্থায়ীভাবে মুছে ফেলার জন্য প্রস্তুত। এই সেটিং পরিবর্তন করলে পরবর্তী এক্সিকিউশনের সময় তা প্রযোজ্য হবে।",
"user_delete_immediately": "<b>{user}</b>-এর অ্যাকাউন্ট এবং অ্যাসেট স্থায়ীভাবে মুছে ফেলার জন্য <b>immediately</b> কিউতে অন্তর্ভুক্ত করা হবে।",
"user_delete_immediately_checkbox": "ব্যবহারকারী ও অ্যাসেট তৎক্ষণাৎ মুছে ফেলার জন্য কিউ",
"user_details": "ব্যবহারকারী তথ্য",
"user_management": "ব্যবহারকারী ম্যানেজমেন্ট",
"user_password_has_been_reset": "ব্যবহারকারীর পাসওয়ার্ড রিসেট করা হয়েছে:",
"user_password_reset_description": "দয়া করে ব্যবহারকারীর জন্য সাময়িক পাসওয়ার্ড দিন এবং জানিয়ে দিন যে তারা পরবর্তী লগইনে পাসওয়ার্ড পরিবর্তন করবেন।",
"user_restore_description": "<b>{user}</b> এর অ্যাকাউন্ট পুনরুদ্ধার করা হবে।",
"user_restore_scheduled_removal": "ব্যবহারকারী পুনরুদ্ধার করুন - মুছে ফেলার জন্য নির্ধারিত তারিখ:{date, date, long}",
"user_settings": "ব্যবহারকারী সেটিংস",
"user_settings_description": "ব্যবহারকারী সেটিংস ম্যানেজ করুন",
"user_successfully_removed": "সফলভাবে ইউজার {email}-কে সরিয়ে দেওয়া হয়েছে।",
"version_check_enabled_description": "ভার্সন যাচাই চালু করুন",
"version_check_implications": "ভার্সন চেক ফিচারটি github.com-এর সঙ্গে নিয়মিত সংযোগের ওপর নির্ভরশীল",
"version_check_settings": "ভার্সন যাচাই",
"version_check_settings_description": "নতুন ভার্সনের নোটিফিকেশন চালু/বন্ধ করুন",
"video_conversion_job": "ভিডিও ট্রান্সকোড করুন",
"video_conversion_job_description": "ব্রাউজার এবং ডিভাইসে আরও ভালোভাবে চলার জন্য ভিডিও ট্রান্সকোড করুন"
},
"admin_email": "অ্যাডমিনের ইমেইল",
"admin_password": "অ্যাডমিনের পাসওয়ার্ড",
"administration": "অ্যাডমিন",
"advanced": "অ্যাডভান্সড",
"age_months": "বয়স {months, plural, one {# month} other {# months}}",
"age_year_months": "বয়স ১ বছর, {months, plural, one {# month} other {# months}}",
"album_added": "অ্যালবাম যুক্ত করা হয়েছে",
"album_added_notification_setting_description": "শেয়ার করা অ্যালবামে যুক্ত হলে ইমেইল নোটিফিকেশন পান",
"album_cover_updated": "অ্যালবামের কভার আপডেট হয়েছে",
"album_delete_confirmation": "আপনি কি সত্যিই অ্যালবাম {album} মুছে ফেলতে চান?",
"album_delete_confirmation_description": "অ্যালবামটি শেয়ার করা থাকলেও অন্য ব্যবহারকারীরা আর এটি অ্যাক্সেস করতে পারবেন না।",
"album_info_updated": "অ্যালবামের তথ্য আপডেট করা হয়েছে",
"album_leave": "অ্যালবাম থেকে বেরিয়ে যেতে চান ?",
"album_leave_confirmation": "আপনি কি নিশ্চিত যে আপনি {album} ছেড়ে যেতে চান?",
"album_name": "অ্যালবামের নাম",
"album_options": "অ্যালবামের অপশনসমূহ",
"album_remove_user": "ব্যবহারকারী সরাতে চান?",
"album_remove_user_confirmation": "আপনি কি নিশ্চিত যে আপনি {user}-কে সরাতে চান?",
"album_share_no_users": "এই অ্যালবামটি সব ব্যবহারকারীর সঙ্গে শেয়ার করা হয়েছে, বা শেয়ার করার জন্য কোনো ব্যবহারকারী নেই।",
"album_updated": "অ্যালবাম আপডেট করা হয়েছে",
"album_updated_setting_description": "নতুন অ্যাসেট যুক্ত হলে শেয়ার করা অ্যালবামের জন্য ইমেইল নোটিফিকেশন পান",
"album_user_left": "বাম {album}",
"album_user_removed": "{user} কে সরানো হয়েছে",
"album_with_link_access": "লিঙ্ক থাকা যে কেউ এই অ্যালবামের ছবি ও মানুষজনকে দেখতে পারবে।",
"albums": "অ্যালবামসমূহ",
"all": "সব",
"all_albums": "সকল অ্যালবামসমূহ",
"all_people": "সব ব্যবহারকারী",
"all_videos": "সব ভিডিও",
"allow_dark_mode": "ডার্ক মোড চালু করুন",
"allow_edits": "এডিটের অনুমতি দিন",
"allow_public_user_to_download": "সাধারণ ব্যবহারকারী ডাউনলোড করতে পারবে",
"allow_public_user_to_upload": "সাধারণ ব্যবহারকারী আপলোড করতে পারবে",
"anti_clockwise": "বিপরীত দিক",
"api_key": "API কী",
"api_key_description": "এই মান একবারই দেখানো হবে। উইন্ডো বন্ধ করার আগে অবশ্যই এটি কপি করুন।",
"api_key_empty": "API কী-এর নাম খালি রাখা যাবে না",
"api_keys": "API কী সমূহ",
"app_settings": "অ্যাপ সেটিংস",
"appears_in": "v1.106.4 থেকে, অ্যাসেট সাইডবারে ব্যবহার হয় [albums]-এ উপস্থিত’ বোঝাতে",
"archive": "আর্কাইভ",
"archive_or_unarchive_photo": "ফটো আর্কাইভ অথবা আনআর্কাইভ করুন",
"archive_size": "আর্কাইভ সাইজ",
"archive_size_description": "ডাউনলোডের আর্কাইভ সাইজ নির্ধারণ করুন (GiB)",
"are_these_the_same_person": "এরা কি একই ব্যক্তি?",
"are_you_sure_to_do_this": "আপনি কি নিশ্চিত যে আপনি এটি করতে চান?",
"asset_added_to_album": "অ্যালবামে যুক্ত করা হয়েছে",
"asset_adding_to_album": "অ্যালবামে যুক্ত করা হচ্ছে…",
"asset_description_updated": "অ্যাসেটের বিবরণ আপডেট করা হয়েছে",
"asset_filename_is_offline": "{filename} অ্যাসেটটি বর্তমানে অফলাইন",
"asset_has_unassigned_faces": "অ্যাসেটটির কিছু মুখ অনির্ধারিত ফেস রয়েছে",
"asset_hashing": "হ্যাশিং চলছে…",
"asset_offline": "অ্যাসেট বর্তমানে অফলাইন",
"asset_offline_description": "এই এক্সটার্নাল অ্যাসেটটি এখন ডিস্কে নেই। সহায়তার জন্য Immich অ্যাডমিনিস্ট্রেটরের সাথে যোগাযোগ করুন।",
"asset_skipped": "এড়ানো হয়েছে",
"asset_skipped_in_trash": "ট্র্যাশে",
"asset_uploaded": "আপলোড সম্পন্ন",
"asset_uploading": "আপলোড চলছে…",
"assets": "অ্যাসেটসমূহ",
"assets_added_to_album_count": "অ্যালবামে {count, plural, one {# asset} other {# assets}} যুক্ত করা হয়েছে",
"assets_moved_to_trash_count": "{count, plural, one {# asset} other {# assets}} ট্র্যাশে সরানো হয়েছে",
"assets_permanently_deleted_count": "{count, plural, one {# asset} other {# assets}} স্থায়ীভাবে মুছে ফেলা হয়েছে",
"assets_removed_count": "{count, plural, one {# asset} other {# assets}} সরানো হয়েছে",
"assets_restore_confirmation": "আপনি কি সত্যিই আপনার সব ট্র্যাশ করা অ্যাসেট পুনরুদ্ধার করতে চান? এটি পূর্বাবস্থায় ফিরানো যাবে না। তবে অফলাইন অ্যাসেট এইভাবে পুনরুদ্ধার হবে না।",
"assets_restored_count": "{count, plural, one {# asset} other {# assets}} পুনরুদ্ধার করা হয়েছে",
"assets_trashed_count": "{count, plural, one {# asset} other {# assets}} ট্র্যাশে পাঠানো হয়েছে",
"assets_were_part_of_album_count": "{count, plural, one {Asset was} other {Assets were}} আগেই অ্যালবামে যুক্ত ছিল",
"authorized_devices": "অনুমোদিত ডিভাইস",
"back": "ফিরে যান",
"back_close_deselect": "ফিরে যান, বন্ধ করুন বা নির্বাচন বাতিল করুন",
"backward": "পিছনে",
"birthdate_saved": "জন্ম তারিখ সংরক্ষণ সম্পন্ন",
"birthdate_set_description": "একটি ছবির সময়ে ব্যক্তির বয়স গণনার জন্য জন্ম তারিখ ব্যবহার করা হয়।",
"blurred_background": "ব্লারড ব্যাকগ্রাউন্ড",
"bugs_and_feature_requests": "বাগ ও ফিচার রিকোয়েস্ট",
"build": "বিল্ড",
"build_image": "বিল্ড ইমেজ",
"bulk_delete_duplicates_confirmation": "আপনি কি সত্যিই {count, plural, one {# duplicate asset} other {# duplicate assets}} একসাথে মুছে ফেলতে চান? প্রতিটি গ্রুপের সবচেয়ে বড় অ্যাসেট রাখা হবে, বাকিগুলো স্থায়ীভাবে মুছে যাবে। এটি পূর্বাবস্থায় ফিরানো যাবে না!",
"bulk_keep_duplicates_confirmation": "আপনি কি সত্যিই {count, plural, one {# duplicate asset} other {# duplicate assets}} রাখতে চান? সব ডুপ্লিকেট গ্রুপ ঠিক করা হবে, কোনো কিছু মুছে ফেলা হবে না।",
"bulk_trash_duplicates_confirmation": "আপনি কি সত্যিই {count, plural, one {# duplicate asset} other {# duplicate assets}} একসাথে ট্র্যাশ করতে চান? প্রতিটি গ্রুপের সবচেয়ে বড় অ্যাসেট রাখা হবে, বাকিগুলো ট্র্যাশে যাবে।",
"buy": "Immich ক্রয় করুন",
"camera": "ক্যামেরা",
"camera_brand": "ক্যামেরা ব্র্যান্ড",
"camera_model": "ক্যামেরা মডেল",
"cancel": "বাতিল",
"cancel_search": "সার্চ বন্ধ করুন",
"cannot_merge_people": "ব্যক্তিদের একত্র করা সম্ভব নয়",
"cannot_undo_this_action": "এই কাজ পূর্বাবস্থায় ফেরানো যাবে না!",
"cannot_update_the_description": "বিবরণ পরিবর্তন সম্ভব নয়",
"change_date": "তারিখ পরিবর্তন",
"change_expiration_time": "মেয়াদ শেষের সময় পরিবর্তন",
"change_location": "লোকেশন পরিবর্তন",
"change_name": "নাম পরিবর্তন করুন",
"change_name_successfully": "নাম সফলভাবে পরিবর্তন হয়েছে",
"change_password": "পাসওয়ার্ড পরিবর্তন করুন",
"change_password_description": "আপনি হয়তো প্রথমবার লগইন করছেন বা পাসওয়ার্ড পরিবর্তনের অনুরোধ করেছেন। নিচে নতুন পাসওয়ার্ড দিন।",
"change_your_password": "আপনার পাসওয়ার্ড পরিবর্তন করুন",
"changed_visibility_successfully": "ভিসিবিলিটি সফলভাবে পরিবর্তন হয়েছে",
"check_logs": "লগ দেখুন",
"choose_matching_people_to_merge": "একত্র করার জন্য মিল থাকা ব্যক্তিদের নির্বাচন করুন",
"city": "শহর",
"clear": "মুছুন",
"clear_all": "সব মুছুন",
"clear_all_recent_searches": "সাম্প্রতিক সব অনুসন্ধান পরিষ্কার করুন",
"clear_message": "মেসেজ পরিষ্কার করুন",
"clear_value": "ভ্যালু মুছুন",
"clockwise": "ঘড়ির কাঁটার দিকে",
"close": "বন্ধ",
"collapse": "সংকুচিত করুন",
"collapse_all": "সব সংকুচিত",
"color": "রং",
"color_theme": "কালার থিম",
"comment_deleted": "মন্তব্য মুছে ফেলা হয়েছে",
"comment_options": "মন্তব্য অপশন",
"comments_and_likes": "মন্তব্য ও লাইক",
"comments_are_disabled": "মন্তব্য বন্ধ করা হয়েছে",
"confirm": "নিশ্চিত",
"confirm_admin_password": "অ্যাডমিন পাসওয়ার্ড পুনরায় লিখুন",
"confirm_delete_shared_link": "আপনি কি নিশ্চিত যে আপনি এই শেয়ার করা লিঙ্কটি মুছে ফেলতে চান?",
"confirm_keep_this_delete_others": "স্ট্যাকের এই অ্যাসেট ছাড়া সব অন্যান্য অ্যাসেট মুছে যাবে। আপনি কি নিশ্চিত যে আপনি চালিয়ে যেতে চান?",
"confirm_password": "পাসওয়ার্ড পুনরায় লিখুন",
"contain": "মাপমত",
"context": "প্রসঙ্গ",
"continue": "এগিয়ে যান",
"copied_image_to_clipboard": "ছবি ক্লিপবোর্ডে কপি হয়েছে।",
"copied_to_clipboard": "ক্লিপবোর্ডে কপি হয়েছে!",
"copy_error": "Error-টি কপি করুন",
"copy_file_path": "ফাইল পাথ কপি",
"copy_image": "ছবি কপি",
"copy_link": "লিঙ্ক কপি",
"copy_link_to_clipboard": "ক্লিপবোর্ডে লিঙ্ক কপি করুন",
"copy_password": "পাসওয়ার্ড কপি করুন",
"copy_to_clipboard": "ক্লিপবোর্ডে কপি করুন",
"country": "দেশ",
"cover": "সম্পূর্ণভাবে",
"covers": "কভারস",
"create": "তৈরি করুন",
"create_album": "অ্যালবাম তৈরি",
"create_library": "লাইব্রেরি তৈরি",
"create_link": "লিঙ্ক তৈরি",
"create_link_to_share": "শেয়ার লিঙ্ক তৈরি",
"create_link_to_share_description": "লিঙ্কের মাধ্যমে সবাই নির্বাচিত ছবি দেখতে পারবে",
"create_new_person": "নতুন ব্যক্তি যোগ করুন",
"create_new_person_hint": "নির্বাচিত অ্যাসেট নতুন ব্যক্তির সঙ্গে যুক্ত করুন",
"create_new_user": "নতুন ব্যবহারকারী যোগ করুন",
"create_tag": "ট্যাগ তৈরি",
"create_tag_description": "নতুন ট্যাগ তৈরি করুন। নেস্টেড ট্যাগের ক্ষেত্রে সম্পূর্ণ পাথ - ফরওয়ার্ড স্ল্যাশসহ দিন।",
"create_user": "ব্যবহারকারী যোগ করুন",
"created": "যোগ করা হয়েছে",
"current_device": "চলতি ডিভাইস",
"custom_locale": "কাস্টম লোকেল",
"custom_locale_description": "নির্বাচিত ভাষা এবং অঞ্চলের ভিত্তিতে তারিখ, সময় এবং সংখ্যা ফরম্যাট করুন",
"dark": "ডার্ক",
"date_after": "এর পরের তারিখ",
"date_and_time": "তারিখ এবং সময়",
"date_before": "এর আগের তারিখ",
"date_of_birth_saved": "জন্ম তারিখ সফলভাবে সংরক্ষণ করা হয়েছে",
"delete": "মুছুন",
"delete_album": "অ্যালবাম মুছুন",
"delete_api_key_prompt": "আপনি কি সত্যিই এই API key মুছে ফেলতে চান?",
"delete_duplicates_confirmation": "আপনি কি সত্যিই এই ডুপ্লিকেটগুলো স্থায়ীভাবে মুছতে চান?",
"delete_key": "key মুছুন",
"delete_library": "লাইব্রেরি মুছুন",
"delete_link": "লিঙ্ক মুছুন",
"delete_others": "বাকিগুলো মুছুন",
"delete_shared_link": "শেয়ার করা লিঙ্ক মুছুন",
"delete_tag": "ট্যাগ মুছুন",
"delete_tag_confirmation_prompt": "আপনি কি নিশ্চিতভাবে {tagName} ট্যাগটি মুছতে চান?",
"delete_user": "ইউজার মুছুন",
"deleted_shared_link": "শেয়ার করা লিঙ্কটি মুছুন",
"deletes_missing_assets": "ডিস্ক থেকে হারানো অ্যাসেটগুলো মুছে",
"description": "বিবরন",
"details": "বিস্তারিত",
"direction": "দিকনির্দেশনা",
"disabled": "নিষ্ক্রিয়",
"disallow_edits": "সম্পাদনা করার অনুমতি দেবেন না",
"discord": "ডিসকর্ড",
"discover": "ডিসকভার",
"dismiss_all_errors": "সব ত্রুটি বাতিল করুন",
"dismiss_error": "ত্রুটি বাতিল করুন",
"display_options": "ডিসপ্লে অপশন",
"display_order": "ডিসপ্লে অর্ডার",
"display_original_photos": "অরিজিনাল ছবি দেখান",
"display_original_photos_setting_description": "অরিজিনাল অ্যাসেটটি ওয়েব-সামঞ্জস্যপূর্ণ (web-compatible) হলে অ্যাসেট দেখার সময় থাম্বনেইলের পরিবর্তে মূল ফটোটি প্রদর্শন করতে অগ্রাধিকার দিন। এর ফলে ফটো প্রদর্শনের গতি কিছুটা ধীর হতে পারে।",
"do_not_show_again": "এই মেসেজটি আর দেখাবেন না",
"documentation": "সহায়ক নির্দেশিকা",
"done": "সম্পন্ন",
"download": "ডাউনলোড",
"download_include_embedded_motion_videos": "এমবেডেড ভিডিও",
"download_include_embedded_motion_videos_description": "মোশন ফটোর (motion photos) মধ্যে থাকা ভিডিওগুলোকে আলাদা ফাইল হিসেবে অন্তর্ভুক্ত করুন",
"download_settings": "ডাউনলোড",
"download_settings_description": "অ্যাসেট ডাউনলোডের সেটিংস পরিচালনা করুন",
"open_in_browser": "ব্রাউজারে ওপেন করুন",
"user_usage_stats": "অ্যাকাউন্ট ব্যবহারের পরিসংখ্যান",
"user_usage_stats_description": "অ্যাকাউন্ট ব্যবহারের পরিসংখ্যান দেখুন",
"yes": "হ্যাঁ",
"you_dont_have_any_shared_links": "আপনার কোনো শেয়ার করা লিঙ্ক নেই (You don't have any shared links)",
"your_wifi_name": "আপনার ওয়াই-ফাই এর নাম (Your Wi-Fi name)",

View File

@@ -372,7 +372,7 @@
"transcoding_audio_codec": "Còdec d'àudio",
"transcoding_audio_codec_description": "Opus és l'opció de màxima qualitat, però té menor compatibilitat amb dispositius o programari antics.",
"transcoding_bitrate_description": "Vídeos superiors a la taxa de bits màxima o que no tenen un format acceptat",
"transcoding_codecs_learn_more": "Per obtenir més informació sobre la terminologia utilitzada, consulteu la documentació de FFmpeg per al <h264-link> còdec H.264</h264-link>, <hevc-link> còdec HEVC</hevc-link> i <vp9-link> còdec VP9</vp9-link>.",
"transcoding_codecs_learn_more": "Per obtenir més informació sobre la terminologia utilitzada, consulteu la documentació de FFmpeg per al <h264-link>còdec H.264</h264-link>, <hevc-link>còdec HEVC</hevc-link> i <vp9-link>còdec VP9</vp9-link>.",
"transcoding_constant_quality_mode": "Mode de qualitat constant",
"transcoding_constant_quality_mode_description": "ICQ és millor que CQP, però alguns dispositius d'acceleració de maquinari no admeten aquest mode. Establir aquesta opció preferirà el mode especificat quan utilitzeu la codificació basada en la qualitat. Ignorat per NVENC perquè no és compatible amb ICQ.",
"transcoding_constant_rate_factor": "Factor de taxa constant (-crf)",
@@ -411,7 +411,7 @@
"transcoding_tone_mapping": "Mapeig de to",
"transcoding_tone_mapping_description": "Intenta preservar l'aspecte dels vídeos HDR quan es converteixen a SDR. Cada algorisme fa diferents compensacions pel color, el detall i la brillantor. Hable conserva els detalls, Mobius conserva el color i Reinhard conserva la brillantor.",
"transcoding_transcode_policy": "Política de transcodificació",
"transcoding_transcode_policy_description": "Política sobre quan s'ha de transcodificar un vídeo. Els vídeos HDR sempre es transcodificaran (excepte si la transcodificació està desactivada).",
"transcoding_transcode_policy_description": "Política sobre quan s'ha de transcodificar un vídeo. Els vídeos HDR i els vídeos amb un format de píxel diferent a YUV 4:2:0 sempre es transcodificaran (excepte si la transcodificació està desactivada).",
"transcoding_two_pass_encoding": "Codificació de dues passades",
"transcoding_two_pass_encoding_setting_description": "Transcodifica en dos passos per produir vídeos millor codificats. Quan la taxa de bits màxima està habilitada (necessari perquè funcioni amb H.264 i HEVC), aquest mode utilitza un interval de velocitat de bits basat en la taxa de bits màxima i ignora CRF. Per a VP9, es pot utilitzar CRF si la taxa de bits màxima està desactivada.",
"transcoding_video_codec": "Còdec de video",
@@ -441,7 +441,7 @@
"user_successfully_removed": "L'usuari {email} s'ha eliminat correctament.",
"users_page_description": "Pàgina d'usuaris de l'administrador",
"version_check_enabled_description": "Activa la comprovació de la versió",
"version_check_implications": "La funció de comprovació de versions depèn de comunicacions periòdiques amb github.com",
"version_check_implications": "La funció de comprovació de versions depèn de comunicacions periòdiques amb {server}",
"version_check_settings": "Comprovació de versió",
"version_check_settings_description": "Activa/desactiva la notificació de nova versió",
"video_conversion_job": "Transcodificació de vídeos",
@@ -849,9 +849,12 @@
"create_link_to_share": "Crear enllaç per compartir",
"create_link_to_share_description": "Deixa que qualsevol persona amb l'enllaç vegi les fotos seleccionades",
"create_new": "CREAR NOU",
"create_new_face": "Crea una nova cara",
"create_new_person": "Crea una nova persona",
"create_new_person_hint": "Assigna els elements seleccionats a una persona nova",
"create_new_user": "Crea un usuari nou",
"create_person": "Crea una persona",
"create_person_subtitle": "Afegeix un nom a la cara seleccionada per crear i etiquetar la nova persona",
"create_shared_album_page_share_add_assets": "AFEGEIX ELEMENTS",
"create_shared_album_page_share_select_photos": "Escull fotografies",
"create_shared_link": "Crea un enllaç compartit",
@@ -866,13 +869,14 @@
"crop_aspect_ratio_fixed": "Fixat",
"crop_aspect_ratio_free": "Lliure",
"crop_aspect_ratio_original": "Original",
"crop_aspect_ratio_square": "Quadrat",
"curated_object_page_title": "Coses",
"current_device": "Dispositiu actual",
"current_pin_code": "Codi PIN actual",
"current_server_address": "Adreça actual del servidor",
"custom_date": "Data personalitzada",
"custom_locale": "Localització personalitzada",
"custom_locale_description": "Format de dates i números segons la llengua i regió",
"custom_locale_description": "Format de dates i números segons la llengua i regió seleccionades",
"custom_url": "URL personalitzada",
"cutoff_date_description": "Manté fotos des de l'últim…",
"cutoff_day": "{count, plural, one {dia} other {dies}}",
@@ -880,7 +884,7 @@
"daily_title_text_date": "E, dd MMM",
"daily_title_text_date_year": "E, dd MMM, yyyy",
"dark": "Fosc",
"dark_theme": "Canviar a tema fosc",
"dark_theme": "Canvia a tema fosc",
"date": "Data",
"date_after": "Data posterior a",
"date_and_time": "Data i hora",
@@ -891,12 +895,8 @@
"day": "Dia",
"days": "Dies",
"deduplicate_all": "Desduplica-ho tot",
"deduplication_criteria_1": "Mida d'imatge en bytes",
"deduplication_criteria_2": "Quantitat de dades EXIF",
"deduplication_info": "Informació de deduplicació",
"deduplication_info_description": "Per preseleccionar recursos automàticament i eliminar els duplicats de manera massiva, ens fixem en:",
"default_locale": "Localització predeterminada",
"default_locale_description": "Format de dates i números segons la configuració del navegador",
"default_locale": "Configuració regional predeterminada",
"default_locale_description": "Format de dades i números en funció de la configuració local",
"delete": "Esborrar",
"delete_action_confirmation_message": "Segur que vols eliminar aquest recurs? Aquesta acció el mourà a la paperera del servidor, i et preguntarà si el vols eliminar localment",
"delete_action_prompt": "{count} eliminats",
@@ -972,7 +972,7 @@
"downloading_media": "Descàrrega multimèdia",
"drop_files_to_upload": "Deixeu els fitxers a qualsevol lloc per pujar-los",
"duplicates": "Duplicats",
"duplicates_description": "Resol cada grup indicant, si n'hi ha, quins són duplicats",
"duplicates_description": "Resol cada grup indicant, si n'hi ha, quins són duplicats.",
"duration": "Durada",
"edit": "Editar",
"edit_album": "Edita l'àlbum",
@@ -994,7 +994,7 @@
"edit_location_dialog_title": "Ubicació",
"edit_name": "Edita el nom",
"edit_people": "Edita la gent",
"edit_tag": "Editar etiqueta",
"edit_tag": "Edita etiqueta",
"edit_title": "Edita títol",
"edit_user": "Edita l'usuari",
"edit_workflow": "Edita el flux de treball",
@@ -1009,6 +1009,8 @@
"editor_edits_applied_success": "Les modificacions s'han aplicat correctament",
"editor_flip_horizontal": "Capgira horitzontalment",
"editor_flip_vertical": "Capgira verticalment",
"editor_handle_corner": "{corner, select, top_left {Top-left} top_right {Top-right} bottom_left {Bottom-left} bottom_right {Bottom-right} other {A}} cantó per agafar",
"editor_handle_edge": "{edge, select, top {Top} bottom {Bottom} left {Left} right {Right} other {An}} cantó per agafar",
"editor_orientation": "Orientació",
"editor_reset_all_changes": "Reiniciar canvis",
"editor_rotate_left": "Rota 90º al contrari de les agulles",
@@ -1074,6 +1076,7 @@
"failed_to_update_notification_status": "Error en actualitzar l'estat de les notificacions",
"incorrect_email_or_password": "Correu electrònic o contrasenya incorrectes",
"library_folder_already_exists": "Aquesta ruta d'importació ja existeix.",
"page_not_found": "Pàgina no trobada",
"paths_validation_failed": "{paths, plural, one {# ruta} other {# rutes}} no ha pogut validar",
"profile_picture_transparent_pixels": "Les fotos de perfil no poden tenir píxels transparents. Per favor, feu zoom in, mogueu la imatge o ambdues.",
"quota_higher_than_disk_size": "Heu establert una quota més gran que la mida de disc",
@@ -1169,7 +1172,7 @@
"exif_bottom_sheet_description_error": "No s'ha pogut actualitzar la descripció",
"exif_bottom_sheet_details": "DETALLS",
"exif_bottom_sheet_location": "UBICACIÓ",
"exif_bottom_sheet_no_description": "Sense descrioció",
"exif_bottom_sheet_no_description": "Sense descripció",
"exif_bottom_sheet_people": "PERSONES",
"exif_bottom_sheet_person_add_person": "Afegir nom",
"exit_slideshow": "Surt de la presentació de diapositives",
@@ -1218,6 +1221,7 @@
"filter_description": "Condicions per filtrar els actius de destinació",
"filter_people": "Filtra persones",
"filter_places": "Filtrar per llocs",
"filter_tags": "Filtrar etiquetes",
"filters": "Filtres",
"find_them_fast": "Trobeu-los ràpidament pel nom amb la cerca",
"first": "Primer",
@@ -1385,9 +1389,11 @@
"library_page_sort_title": "Títol de l'àlbum",
"licenses": "Llicències",
"light": "Llum",
"light_theme": "Canviar a tema clar",
"like": "M'agrada",
"like_deleted": "M'agrada suprimit",
"link_motion_video": "Enllaçar vídeo en moviment",
"link_to_docs": "Per més informació, mirar la <link>documentation</link>.",
"link_to_oauth": "Enllaç a OAuth",
"linked_oauth_account": "Compte OAuth enllaçat",
"list": "Llista",
@@ -1649,6 +1655,7 @@
"only_favorites": "Només preferits",
"open": "Obrir",
"open_calendar": "Obrir el calendari",
"open_in_browser": "Obre al navegador",
"open_in_map_view": "Obrir a la vista del mapa",
"open_in_openstreetmap": "Obre a OpenStreetMap",
"open_the_search_filters": "Obriu els filtres de cerca",
@@ -1808,9 +1815,8 @@
"rate_asset": "Valorar Recurs",
"rating": "Valoració",
"rating_clear": "Esborrar valoració",
"rating_count": "{count, plural, one {# estrella} other {# estrelles}}",
"rating_count": "{count, plural, =0 {Unrated} one {# estrella} other {# estrelles}}",
"rating_description": "Mostrar la valoració EXIF al panell d'informació",
"rating_set": "Valoració establerta a {rating, plural, one {# estrella} other {# estrelles}}",
"reaction_options": "Opcions de reacció",
"read_changelog": "Llegeix el registre de canvis",
"readonly_mode_disabled": "Mode de només lectura desactivat",
@@ -1882,7 +1888,10 @@
"reset_pin_code_success": "Codi PIN reiniciat correctament",
"reset_pin_code_with_password": "Sempre pots reiniciar el codi PIN amb la teva contrasenya",
"reset_sqlite": "Reiniciar base de dades SQLite",
"reset_sqlite_confirmation": "Segur que vols reiniciar la base de dades SQLite? Hauràs de tancar la sessió i tornar a accedir per a resincronitzar les dades",
"reset_sqlite_clear_app_data": "Netejar dada",
"reset_sqlite_confirmation": "Segur que vols esborrar les dades de l'aplicació? Això eliminarà tota la configuració i tancarà la sessió.",
"reset_sqlite_confirmation_note": "Nota: Hauràs de reiniciar l'app després d'eliminar.",
"reset_sqlite_done": "Les dades de l'app s'han netejat. Si us plau, reinicia l'app Immich i inicia sessió de nou.",
"reset_sqlite_success": "S'ha reiniciat la base de dades correctament",
"reset_to_default": "Restableix els valors predeterminats",
"resolution": "Resolució",
@@ -1910,6 +1919,7 @@
"saved_settings": "Configuració guardada",
"say_something": "Digues quelcom",
"scaffold_body_error_occurred": "S'ha produït un error",
"scaffold_body_error_unrecoverable": "S'ha produït un error irrecuperable. Comparteix l'error i el rastre de la pila a Discord o GitHub perquè puguem ajudar-te. Si us ho aconsella, podeu esborrar les dades de l'aplicació a continuació.",
"scan": "Escaneja",
"scan_all_libraries": "Escanejar totes les llibreries",
"scan_library": "Escaneja",
@@ -1945,6 +1955,7 @@
"search_filter_ocr": "Buscar per OCR",
"search_filter_people_title": "Selecciona persones",
"search_filter_star_rating": "Classificació per estrelles",
"search_filter_tags_title": "Seleccionar etiquetes",
"search_for": "Cercar",
"search_for_existing_person": "Busca una persona existent",
"search_no_more_result": "No més resultats",
@@ -2024,6 +2035,9 @@
"set_profile_picture": "Establir imatge de perfil",
"set_slideshow_to_fullscreen": "Mostra Diapositives en pantalla completa",
"set_stack_primary_asset": "Estableix com a actiu principal",
"setting_image_navigation_enable_subtitle": "Si està activat, pots navegar a la imatge anterior/següent tocant la quarta part més esquerra/dreta de la pantalla.",
"setting_image_navigation_enable_title": "Toca per navegar",
"setting_image_navigation_title": "Navegació d'imatges",
"setting_image_viewer_help": "El visor de detalls carrega primer la miniatura petita, després carrega la vista prèvia de mida mitjana (si està habilitada), finalment carrega l'original (si està habilitada).",
"setting_image_viewer_original_subtitle": "Activa per carregar la imatge en resolució original (molt gran!). Desactiva per reduir el consum de dades (tant de xarxa com de memòria cau).",
"setting_image_viewer_original_title": "Carrega la imatge original",
@@ -2191,20 +2205,21 @@
"support_and_feedback": "Suport i comentaris",
"support_third_party_description": "La vostra instal·lació immich la va empaquetar un tercer. Els problemes que experimenteu poden ser causats per aquest paquet així que, si us plau, plantegeu els poblemes amb ells en primer lloc mitjançant els enllaços següents.",
"supporter": "Contribuïdor",
"swap_merge_direction": "Canvia la direcció d'unió",
"swap_merge_direction": "Intercanvia la direcció d'unió",
"sync": "Sincronitza",
"sync_albums": "Sincronitzar àlbums",
"sync_albums": "Sincronitza àlbums",
"sync_albums_manual_subtitle": "Sincronitza tots els vídeos i fotos penjats amb els àlbums de còpia de seguretat seleccionats",
"sync_local": "Sincronitza Local",
"sync_remote": "Sincronitza Remot",
"sync_status": "Estat de sincronització",
"sync_local": "Sincronitza localment",
"sync_remote": "Sincronitza remotament",
"sync_status": "Estat de la incronització",
"sync_status_subtitle": "Observa i administra el sistema de sincronització",
"sync_upload_album_setting_subtitle": "Creeu i pugeu les seves fotos i vídeos als àlbums seleccionats a Immich",
"tag": "Etiqueta",
"tag_assets": "Etiquetar actius",
"tag_created": "Etiqueta creada: {tag}",
"tag_face": "Etiqueta una cara",
"tag_feature_description": "Exploreu fotos i vídeos agrupats per temes d'etiquetes lògiques",
"tag_not_found_question": "No trobeu una etiqueta? <link>Crear una nova etiqueta</link>",
"tag_not_found_question": "No trobeu una etiqueta? <link>Crear una nova etiqueta.</link>",
"tag_people": "Etiquetar personas",
"tag_updated": "Etiqueta actualizada: {tag}",
"tagged_assets": "{count, plural, one {#Etiquetat} other {#Etiquetats}} {count, plural, one {# actiu} other {# actius}}",
@@ -2302,6 +2317,7 @@
"unstack_action_prompt": "{count} sense apilar",
"unstacked_assets_count": "No apilat {count, plural, one {# recurs} other {# recursos}}",
"unsupported_field_type": "Tipus de camp no suportat",
"unsupported_file_type": "No es pot carregar el fitxer {file} perquè el seu tipus de fitxer {type} no és compatible.",
"untagged": "Sense etiqueta",
"untitled_workflow": "Automatització sense títol",
"up_next": "Pròxim",
@@ -2328,6 +2344,8 @@
"url": "URL",
"usage": "Ús",
"use_biometric": "Empra biometria",
"use_browser_locale": "Fer servir la localització del navegador",
"use_browser_locale_description": "Formatejar dates, hores i números segons la llengua i regió del navegador",
"use_current_connection": "Utilitza la connexió actual",
"use_custom_date_range": "Fes servir un rang de dates personalitzat",
"user": "Usuari",
@@ -2381,6 +2399,7 @@
"viewer_remove_from_stack": "Elimina de la pila",
"viewer_stack_use_as_main_asset": "Fes servir com a element principal",
"viewer_unstack": "Desapila",
"visibility": "Visibilitat",
"visibility_changed": "La visibilitat ha canviat per {count, plural, one {# persona} other {# persones}}",
"visual": "Visual",
"visual_builder": "Constructor visual",

View File

@@ -40,7 +40,7 @@
"add_to_albums_count": "Přidat do alb ({count})",
"add_to_bottom_bar": "Přidat do",
"add_to_shared_album": "Přidat do sdíleného alba",
"add_upload_to_stack": "Přidat nahrané do zásobníku",
"add_upload_to_stack": "Přidat nahrané do seskupení",
"add_url": "Přidat URL",
"add_workflow_step": "Přidat krok pracovního postupu",
"added_to_archive": "Přidáno do archivu",
@@ -411,7 +411,7 @@
"transcoding_tone_mapping": "Mapování tónů",
"transcoding_tone_mapping_description": "Snaží se zachovat vzhled videí HDR při převodu na SDR. Každý algoritmus dělá různé kompromisy v oblasti barev, detailů a jasu. Hable zachovává detaily, Mobius zachovává barvy a Reinhard zachovává jas.",
"transcoding_transcode_policy": "Zásady překódování",
"transcoding_transcode_policy_description": "Zásady, kdy má být video překódováno. Videa HDR budou překódována vždy (kromě případů, kdy je překódování zakázáno).",
"transcoding_transcode_policy_description": "Zásady, kdy má být video překódováno. HDR videa a videa s jiným formátem pixelů než YUV 4:2:0 budou překódována vždy (kromě případů, kdy je překódování zakázáno).",
"transcoding_two_pass_encoding": "Dvouprůchodové kódování",
"transcoding_two_pass_encoding_setting_description": "Překódováním ve dvou průchodech získáte lépe zakódovaná videa. Pokud je povolen maximální datový tok (nutný pro práci s H.264 a HEVC), tento režim používá rozsah datového toku založený na maximálním datovém toku a ignoruje CRF. U VP9 lze CRF použít, pokud je max. datový tok zakázán.",
"transcoding_video_codec": "Video kodek",
@@ -441,7 +441,7 @@
"user_successfully_removed": "Uživatel {email} byl úspěšně odstraněn.",
"users_page_description": "Stránka správců",
"version_check_enabled_description": "Povolit kontrolu verzí",
"version_check_implications": "Kontrola verze je založena na pravidelné komunikaci s github.com",
"version_check_implications": "Kontrola verze je založena na pravidelné komunikaci s {server}",
"version_check_settings": "Kontrola verze",
"version_check_settings_description": "Povolení/zakázání oznámení o nové verzi",
"video_conversion_job": "Překódování videí",
@@ -849,9 +849,12 @@
"create_link_to_share": "Vytvořit odkaz pro sdílení",
"create_link_to_share_description": "Umožnit každému, kdo má odkaz, zobrazit vybrané fotografie",
"create_new": "VYTVOŘIT NOVÉ",
"create_new_face": "Vytvořit nový obličej",
"create_new_person": "Vytvořit novou osobu",
"create_new_person_hint": "Přiřadit vybrané položky nové osobě",
"create_new_user": "Vytvořit nového uživatele",
"create_person": "Vytvořit osobu",
"create_person_subtitle": "Přidejte jméno ke zvolenému obličeji pro vytvoření a označení nové osoby",
"create_shared_album_page_share_add_assets": "PŘIDAT POLOŽKY",
"create_shared_album_page_share_select_photos": "Vybrat fotografie",
"create_shared_link": "Vytvořit sdílený odkaz",
@@ -866,13 +869,14 @@
"crop_aspect_ratio_fixed": "Pevný",
"crop_aspect_ratio_free": "Volný",
"crop_aspect_ratio_original": "Původní",
"crop_aspect_ratio_square": "Čtverec",
"curated_object_page_title": "Věci",
"current_device": "Současné zařízení",
"current_pin_code": "Aktuální PIN kód",
"current_server_address": "Aktuální adresa serveru",
"custom_date": "Vlastní datum",
"custom_locale": "Vlastní lokalizace",
"custom_locale_description": "Formátovat datumy a čísla podle jazyka a oblasti",
"custom_locale_description": "Formátovat datumy, časy a čísla podle vybraného jazyka a oblasti",
"custom_url": "Vlastní URL",
"cutoff_date_description": "Zanechat fotografie a videa z posledních…",
"cutoff_day": "{count, plural, one {den} few {dny} other {dnů}}",
@@ -880,7 +884,7 @@
"daily_title_text_date": "EEEE, d. MMMM",
"daily_title_text_date_year": "EEEE, d. MMMM y",
"dark": "Tmavý",
"dark_theme": "Přepnout tmavý motiv",
"dark_theme": "Přepnout na tmavý motiv",
"date": "Datum",
"date_after": "Datum po",
"date_and_time": "Datum a čas",
@@ -891,12 +895,8 @@
"day": "Den",
"days": "Dnů",
"deduplicate_all": "Odstranit všechny duplicity",
"deduplication_criteria_1": "Velikost obrázku v bajtech",
"deduplication_criteria_2": "Počet EXIF dat",
"deduplication_info": "Informace o deduplikaci",
"deduplication_info_description": "Pro automatický předvýběr položek a hromadné odstranění duplicit se zohledňuje:",
"default_locale": "Výchozí jazyk",
"default_locale_description": "Formátovat datumy a čísla podle místního prostředí prohlížeče",
"default_locale": "Výchozí národní prostředí",
"default_locale_description": "Formátování datumu a čísel podle místního nastavení prohlížeče",
"delete": "Smazat",
"delete_action_confirmation_message": "Opravdu chcete odstranit tuto položku? Tato akce přesune položku do serverového koše a zeptá se vás, zda ji chcete odstranit lokálně",
"delete_action_prompt": "{count} smazáno",
@@ -972,7 +972,7 @@
"downloading_media": "Stahování média",
"drop_files_to_upload": "Pro nahrání sem přetáhněte soubory",
"duplicates": "Duplicity",
"duplicates_description": "Vyřešte každou skupinu tak, že uvedete, které skupiny jsou duplicitní",
"duplicates_description": "Vyřešte každou skupinu tak, že uvedete, které skupiny jsou duplicitní.",
"duration": "Doba trvání",
"edit": "Upravit",
"edit_album": "Upravit album",
@@ -1003,12 +1003,14 @@
"editor_close_without_save_title": "Zavřít editor?",
"editor_confirm_reset_all_changes": "Opravdu chcete zrušit všechny změny?",
"editor_discard_edits_confirm": "Zrušit úpravy",
"editor_discard_edits_prompt": "Máte neuložené úpravy. Opravdu je chcete smazat?",
"editor_discard_edits_prompt": "Máte neuložené úpravy. Opravdu je chcete zahodit?",
"editor_discard_edits_title": "Zrušit úpravy?",
"editor_edits_applied_error": "Nepodařilo se použít úpravy",
"editor_edits_applied_success": "Úpravy byly úspěšně provedeny",
"editor_flip_horizontal": "Otočit vodorovně",
"editor_flip_vertical": "Otočit svisle",
"editor_handle_corner": "{corner, select, top_left {Vlevo nahoře} top_right {Vpravo nahoře} bottom_left {Vlevo dole} bottom_right {Vpravo dole} other {A}} rohová úchytka",
"editor_handle_edge": "{edge, select, top {Nahoře} bottom {Dole} left {Vlevo} right {Vpravo} other {An}}úchyt hrany",
"editor_orientation": "Orientace",
"editor_reset_all_changes": "Zrušit změny",
"editor_rotate_left": "Otočit o 90° doleva",
@@ -1074,6 +1076,7 @@
"failed_to_update_notification_status": "Nepodařilo se aktualizovat stav oznámení",
"incorrect_email_or_password": "Nesprávný e-mail nebo heslo",
"library_folder_already_exists": "Tato importní cesta již existuje.",
"page_not_found": "Stránka nebyla nalezena",
"paths_validation_failed": "{paths, plural, one {# cesta neprošla} few {# cesty neprošly} other {# cest neprošlo}} kontrolou",
"profile_picture_transparent_pixels": "Profilové obrázky nemohou mít průhledné pixely. Obrázek si prosím zvětšete nebo posuňte.",
"quota_higher_than_disk_size": "Nastavili jste kvótu vyšší, než je velikost disku",
@@ -1218,6 +1221,7 @@
"filter_description": "Podmínky pro filtrování cílových položek",
"filter_people": "Filtrovat lidi",
"filter_places": "Filtrovat místa",
"filter_tags": "Filtrovat značky",
"filters": "Filtry",
"find_them_fast": "Najděte je rychle vyhledáním jejich jména",
"first": "První",
@@ -1385,9 +1389,11 @@
"library_page_sort_title": "Podle názvu alba",
"licenses": "Licence",
"light": "Světlý",
"light_theme": "Přepnout na světlý motiv",
"like": "Líbí se mi",
"like_deleted": "Oblíbení smazáno",
"link_motion_video": "Připojit pohyblivé video",
"link_to_docs": "Další informace najdete v <link>dokumentaci</link>.",
"link_to_oauth": "Propojit s OAuth",
"linked_oauth_account": "Propojený OAuth účet",
"list": "Seznam",
@@ -1649,6 +1655,7 @@
"only_favorites": "Pouze oblíbené",
"open": "Otevřít",
"open_calendar": "Otevřít kalendář",
"open_in_browser": "Otevřít v prohlížeči",
"open_in_map_view": "Otevřít v zobrazení mapy",
"open_in_openstreetmap": "Otevřít v OpenStreetMap",
"open_the_search_filters": "Otevřít vyhledávací filtry",
@@ -1808,9 +1815,8 @@
"rate_asset": "Hodnotit položku",
"rating": "Hodnocení hvězdičkami",
"rating_clear": "Vyčistit hodnocení",
"rating_count": "{count, plural, one {# hvězdička} few {# hvězdičky} other {# hvězdček}}",
"rating_count": "{count, plural, =0 {Nehodnoceno} one {# hvězdička} few {# hvězdičky} other {# hvězdček}}",
"rating_description": "Zobrazit EXIF hodnocení v informačním panelu",
"rating_set": "Hodnocení nastaveno na {rating, plural, one {# hvězdičku} few {# hvězdičky} other {# hvězdiček}}",
"reaction_options": "Možnosti reakce",
"read_changelog": "Přečtěte si seznam změn",
"readonly_mode_disabled": "Režim pouze pro čtení je deaktivován",
@@ -1882,7 +1888,10 @@
"reset_pin_code_success": "PIN kód úspěšně resetován",
"reset_pin_code_with_password": "Svůj PIN kód můžete vždy resetovat pomocí hesla",
"reset_sqlite": "Obnovit databázi SQLite",
"reset_sqlite_confirmation": "Jste si jisti, že chcete obnovit databázi SQLite? Pro opětovnou synchronizaci dat se budete muset odhlásit a znovu přihlásit",
"reset_sqlite_clear_app_data": "Vymazat data",
"reset_sqlite_confirmation": "Opravdu chcete vymazat data aplikace? Tím se odstraní všechna nastavení a odhlásíte se.",
"reset_sqlite_confirmation_note": "Poznámka: Po vymazání budete muset aplikaci restartovat.",
"reset_sqlite_done": "Data aplikace byla vymazána. Restartujte Immich a znovu se přihlaste.",
"reset_sqlite_success": "Obnovení SQLite databáze proběhlo úspěšně",
"reset_to_default": "Obnovit výchozí nastavení",
"resolution": "Rozlišení",
@@ -1910,6 +1919,7 @@
"saved_settings": "Nastavení uloženo",
"say_something": "Napište něco",
"scaffold_body_error_occurred": "Došlo k chybě",
"scaffold_body_error_unrecoverable": "Došlo k neopravitelné chybě. Abychom vám mohli pomoci, sdělte nám prosím chybu a výpis zásobníku na Discordu nebo GitHubu. Pokud vám bylo doporučeno, můžete vymazat data aplikace níže.",
"scan": "Prohledat",
"scan_all_libraries": "Prohledat všechny knihovny",
"scan_library": "Prohledat",
@@ -1945,6 +1955,7 @@
"search_filter_ocr": "Hledat pomocí OCR",
"search_filter_people_title": "Výběr lidí",
"search_filter_star_rating": "Hodnocení hvězdičkami",
"search_filter_tags_title": "Vybrat značky",
"search_for": "Vyhledat",
"search_for_existing_person": "Vyhledat existující osobu",
"search_no_more_result": "Žádné další výsledky",
@@ -2024,6 +2035,9 @@
"set_profile_picture": "Nastavit profilový obrázek",
"set_slideshow_to_fullscreen": "Nastavit prezentaci na celou obrazovku",
"set_stack_primary_asset": "Nastavit jako hlavní položku",
"setting_image_navigation_enable_subtitle": "Pokud je zapnuto, budete moci přejít na předchozí/další obrázek klepnutím do levé/pravé čtvrtiny obrazovky.",
"setting_image_navigation_enable_title": "Klepněte pro navigaci",
"setting_image_navigation_title": "Navigace mezi obrázky",
"setting_image_viewer_help": "V prohlížeči detailů se nejprve načte malá miniatura, poté se načte náhled střední velikosti (je-li povolen) a nakonec se načte originál (je-li povolen).",
"setting_image_viewer_original_subtitle": "Umožňuje načíst původní obrázek v plném rozlišení (velký!). Zakažte pro snížení využití dat (v síti i v mezipaměti zařízení).",
"setting_image_viewer_original_title": "Načíst původní obrázek",
@@ -2203,6 +2217,7 @@
"tag": "Značka",
"tag_assets": "Přiřadit značku",
"tag_created": "Vytvořena značka: {tag}",
"tag_face": "Označit obličej",
"tag_feature_description": "Procházení fotografií a videí seskupených podle témat logických značek",
"tag_not_found_question": "Nemůžete najít značku? <link>Vytvořte novou.</link>",
"tag_people": "Označit lidi",
@@ -2302,6 +2317,7 @@
"unstack_action_prompt": "{count} seskupených zrušeno",
"unstacked_assets_count": "{count, plural, one {Rozložená # položka} few {Rozložené # položky} other {Rozložených # položek}}",
"unsupported_field_type": "Nepodporovaný typ pole",
"unsupported_file_type": "Soubor {file} nelze nahrát, protože jeho typ {type} není podporován.",
"untagged": "Neoznačeno",
"untitled_workflow": "Pracovní postup bez názvu",
"up_next": "To je prozatím vše",
@@ -2328,6 +2344,8 @@
"url": "URL",
"usage": "Využití",
"use_biometric": "Použít biometrické údaje",
"use_browser_locale": "Použít jazyk prohlížeče",
"use_browser_locale_description": "Formátujte data, časy a čísla podle nastavení místního formátu vašeho prohlížeče",
"use_current_connection": "Použít aktuální připojení",
"use_custom_date_range": "Použít vlastní rozsah dat",
"user": "Uživatel",
@@ -2378,9 +2396,10 @@
"view_similar_photos": "Zobrazit podobné fotky",
"view_stack": "Zobrazit seskupení",
"view_user": "Zobrazit uživatele",
"viewer_remove_from_stack": "Odstranit ze zásobníku",
"viewer_remove_from_stack": "Odstranit ze seskupení",
"viewer_stack_use_as_main_asset": "Použít jako hlavní položku",
"viewer_unstack": "Zrušit zásobk",
"viewer_unstack": "Zrušit seskupení",
"visibility": "Viditelnost",
"visibility_changed": "Viditelnost změněna u {count, plural, one {# osoby} few {# osob} other {# lidí}}",
"visual": "Vizuální",
"visual_builder": "Vizuální návrhář",

View File

@@ -311,7 +311,7 @@
"search_jobs": "Søg opgaver…",
"send_welcome_email": "Send velkomst-email",
"server_external_domain_settings": "Eksternt domæne",
"server_external_domain_settings_description": "Domæne til offentligt delte links, inklusiv http(s)://",
"server_external_domain_settings_description": "Domæne brugt til eksterne links",
"server_public_users": "Offentlige brugere",
"server_public_users_description": "Alle brugere (navn og e-mail) vises, når en bruger tilføjes til delte album. Når den er deaktiveret, vil brugerlisten kun være tilgængelig for administratorbrugere.",
"server_settings": "Serverindstillinger",
@@ -411,7 +411,7 @@
"transcoding_tone_mapping": "Tone-kortlægning",
"transcoding_tone_mapping_description": "Forsøger at bevare HDR-videoers udseende når konverteret til SDR. Hver algoritme har forskellige afvejninger af farve, detalje og lysstyrke. Hable bevarer farve og Reinhard bevarer lysstyrke.",
"transcoding_transcode_policy": "Transkodningspolitik",
"transcoding_transcode_policy_description": "Politik for hvornår en video skal transkodes. HDR videoer vil altid blive transkodet (bortset fra, hvis transkodning er slået fra).",
"transcoding_transcode_policy_description": "Politik for hvornår en video skal transkodes. HDR videoer og videoer med en anden pixelformat end YUV 4:2:0 vil altid blive transkodet (bortset fra, hvis transkodning er slået fra).",
"transcoding_two_pass_encoding": "To-omgangsindkodning",
"transcoding_two_pass_encoding_setting_description": "Transkoder af to omgange for at producere bedre indkodede videoer. Når den maksimale bitrate er slået til (som det kræver for at det fungerer med H.264 og HEVC), bruger denne tilstand en bitrateinterval baseret på den maksimale birate og ignorerer CRF. For VP9, kan CRF bruges hvis den maksimale bitrate er slået fra.",
"transcoding_video_codec": "Videocodec",
@@ -441,7 +441,7 @@
"user_successfully_removed": "Bruger {email} er blevet fjernet med succes.",
"users_page_description": "Admin-brugere side",
"version_check_enabled_description": "Aktivér versionstjek",
"version_check_implications": "Funktionen til versionstjek er afhængig af periodisk kommunikation med github.com",
"version_check_implications": "Funktionen til versionstjek er afhængig af periodisk kommunikation med {server}",
"version_check_settings": "Versionstjek",
"version_check_settings_description": "Aktiver/deaktiverer notifikation for den nye version",
"video_conversion_job": "Transkod videoer",
@@ -794,6 +794,11 @@
"color": "Farve",
"color_theme": "Farvetema",
"command": "Kommando",
"command_palette_prompt": "Find hurtigt sider, handlinger eller kommandoer",
"command_palette_to_close": "for at lukke",
"command_palette_to_navigate": "for at indtaste",
"command_palette_to_select": "for at vælge",
"command_palette_to_show_all": "for at vise alle",
"comment_deleted": "Kommentar slettet",
"comment_options": "Kommentarindstillinger",
"comments_and_likes": "Kommentarer og likes",
@@ -858,16 +863,17 @@
"created_at": "Oprettet",
"creating_linked_albums": "Opretter sammenkædede albums...",
"crop": "Beskær",
"crop_aspect_ratio_fixed": "Fikset",
"crop_aspect_ratio_free": "Gratis",
"crop_aspect_ratio_fixed": "Fast",
"crop_aspect_ratio_free": "Fri",
"crop_aspect_ratio_original": "Original",
"crop_aspect_ratio_square": "Kvadrat",
"curated_object_page_title": "Ting",
"current_device": "Nuværende enhed",
"current_pin_code": "Nuværende PIN kode",
"current_server_address": "Nuværende serveraddresse",
"custom_date": "Brugerdefineret dato",
"custom_locale": "Brugerdefineret lokale",
"custom_locale_description": "Formatér datoer og tal baseret på sproget og regionen",
"custom_locale_description": "Formatér datoer, klokkeslæt og tal baseret på det valgte sprog og den valgte region",
"custom_url": "Tilpasset URL",
"cutoff_date_description": "Behold fotos fra den sidste…",
"cutoff_day": "{count, plural, one {dag} other {dage}}",
@@ -885,13 +891,8 @@
"date_range": "Datointerval",
"day": "Dag",
"days": "Dage",
"deduplicate_all": "Kopier alle",
"deduplication_criteria_1": "Billedstørrelse i bytes",
"deduplication_criteria_2": "Antal EXIF-data",
"deduplication_info": "Deduplikerings info",
"deduplication_info_description": "For automatisk at forudvælge emner og fjerne dubletter i bulk ser vi på:",
"default_locale": "Standardlokalitet",
"default_locale_description": "Formatér datoer og tal baseret på din browsers regions indstillinger",
"deduplicate_all": "Dedubliker alle",
"default_locale_description": "Formatér datoer og tal baseret på din browsers landestandard",
"delete": "Slet",
"delete_action_confirmation_message": "Er du sikker på, at du vil slette dette objekt? Denne handling vil flytte objektet til serverens papirkurv, og vil spørge dig, om du vil slette den lokalt",
"delete_action_prompt": "{count} slettet",
@@ -967,7 +968,7 @@
"downloading_media": "Download medier",
"drop_files_to_upload": "Slip filer hvor som helst for at uploade dem",
"duplicates": "Duplikater",
"duplicates_description": "Løs hver gruppe ved at angive, hvilke, hvis nogen, er dubletter",
"duplicates_description": "Løs hver gruppe ved at angive hvilke, hvis nogen, er dubletter",
"duration": "Varighed",
"edit": "Rediger",
"edit_album": "Redigér album",
@@ -1004,6 +1005,8 @@
"editor_edits_applied_success": "Redigeringer gemt",
"editor_flip_horizontal": "Vend horisontalt",
"editor_flip_vertical": "Flip vertikal",
"editor_handle_corner": "{corner, select, top_left {Øverst venstre} top_right {Øverst højre} bottom_left {Nederst venstre} bottom_right {Nederst højre} other {A}} hjørnehåndtag",
"editor_handle_edge": "{edge, select, top {Øverst} bottom {Nederst} left {Venstre} right {Højre} other {Et}} kanthåndtag",
"editor_orientation": "Orientering",
"editor_reset_all_changes": "Nulstil ændringer",
"editor_rotate_left": "Rotér 90° mod uret",
@@ -1014,7 +1017,7 @@
"empty_trash": "Tøm papirkurv",
"empty_trash_confirmation": "Er du sikker på, at du vil tømme papirkurven? Dette vil fjerne alle objekter i papirkurven permanent fra Immich.\nDu kan ikke fortryde denne handling!",
"enable": "Aktivér",
"enable_backup": "Aktiver backup",
"enable_backup": "Aktivér backup",
"enable_biometric_auth_description": "Indtast din PIN kode for at slå biometrisk adgangskontrol til",
"enabled": "Aktiveret",
"end_date": "Slutdato",
@@ -1069,6 +1072,7 @@
"failed_to_update_notification_status": "Kunne ikke uploade notifikations status",
"incorrect_email_or_password": "Forkert email eller kodeord",
"library_folder_already_exists": "Denne import sti findes allerede.",
"page_not_found": "Siden blev ikke fundet",
"paths_validation_failed": "{paths, plural, one {# sti} other {# stier}} slog fejl ved validering",
"profile_picture_transparent_pixels": "Profilbilleder kan ikke have gennemsigtige pixels. Zoom venligst ind og/eller flyt billedet.",
"quota_higher_than_disk_size": "Du har sat en kvote der er større end disken",
@@ -1168,6 +1172,7 @@
"exif_bottom_sheet_people": "PERSONER",
"exif_bottom_sheet_person_add_person": "Tilføj navn",
"exit_slideshow": "Afslut slideshow",
"expand": "Udvid",
"expand_all": "Udvid alle",
"experimental_settings_new_asset_list_subtitle": "Under udarbejdelse",
"experimental_settings_new_asset_list_title": "Aktiver eksperimentelt fotogitter",
@@ -1212,6 +1217,7 @@
"filter_description": "Betingelser for filtrering af valgte mediefiler",
"filter_people": "Filtrér personer",
"filter_places": "Filtrer steder",
"filter_tags": "Filtrer tags",
"filters": "Filtre",
"find_them_fast": "Find dem hurtigt med søgning via navn",
"first": "Første",
@@ -1379,9 +1385,11 @@
"library_page_sort_title": "Albumtitel",
"licenses": "Licenser",
"light": "Lys",
"light_theme": "Skift til lyst tema",
"like": "Synes om",
"like_deleted": "Ligesom slettet",
"link_motion_video": "Link bevægelsesvideo",
"link_to_docs": "For yderligere information, se <link>dokumentationen</link>.",
"link_to_oauth": "Link til OAuth",
"linked_oauth_account": "Tilsluttet OAuth-konto",
"list": "Liste",
@@ -1642,6 +1650,8 @@
"online": "Online",
"only_favorites": "Kun favoritter",
"open": "Åben",
"open_calendar": "Åbn kalender",
"open_in_browser": "Åbn i browser",
"open_in_map_view": "Åben i kortvisning",
"open_in_openstreetmap": "Åben i OpenStreetMap",
"open_the_search_filters": "Åbn søgefiltre",
@@ -1801,9 +1811,8 @@
"rate_asset": "Vurder filer",
"rating": "Stjernebedømmelse",
"rating_clear": "Nulstil vurdering",
"rating_count": "{count, plural, one {# stjerne} other {# stjerner}}",
"rating_count": "{count, plural, =0 {Unrated} one {# stjerne} other {# stjerner}}",
"rating_description": "Vis EXIF-klassificeringen i infopanelet",
"rating_set": "Vurdering sat til {rating, plural, one {# stjerne} other {# stjerner}}",
"reaction_options": "Reaktionsindstillinger",
"read_changelog": "Læs ændringslog",
"readonly_mode_disabled": "Skrivebeskyttet tilstand deaktiveret",
@@ -1875,7 +1884,10 @@
"reset_pin_code_success": "PIN-koden er Nulstillet",
"reset_pin_code_with_password": "Du kan altid nulstille din PIN-kode med dit password",
"reset_sqlite": "Reset SQLite Databasen",
"reset_sqlite_confirmation": "Er du sikker på, at du vil nulstille SQLite databasen? Du er nødt til at logge ud og ind igen for at gensynkronisere dine data",
"reset_sqlite_clear_app_data": "Ryd data",
"reset_sqlite_confirmation": "Er du sikker på, at du vil ryde app dataen? Dette vil fjerne alle settings og logge dig ud.",
"reset_sqlite_confirmation_note": "Bemærk: Du skal genstarte appen efter rydning.",
"reset_sqlite_done": "Appdata er blevet slettet. Genstart Immich og log ind igen.",
"reset_sqlite_success": "Vellykket reset af SQLite databasen",
"reset_to_default": "Nulstil til standard",
"resolution": "Opløsning",
@@ -1903,6 +1915,7 @@
"saved_settings": "Gemte indstillinger",
"say_something": "Skriv noget",
"scaffold_body_error_occurred": "Der opstod en fejl",
"scaffold_body_error_unrecoverable": "Der er opstået en uoprettelig fejl. Del venligst fejlen og stack trace på Discord eller GitHub, så vi kan hjælpe. Hvis du bliver bedt om det, kan du rydde appdataene nedenfor.",
"scan": "Skan",
"scan_all_libraries": "Skan alle biblioteker",
"scan_library": "Skan",
@@ -1938,6 +1951,7 @@
"search_filter_ocr": "Søg via OCR",
"search_filter_people_title": "Vælg personer",
"search_filter_star_rating": "Stjerne Vurdering",
"search_filter_tags_title": "Vælg tags",
"search_for": "Søg efter",
"search_for_existing_person": "Søg efter eksisterende person",
"search_no_more_result": "Ikke flere resultater",
@@ -2017,6 +2031,9 @@
"set_profile_picture": "Indstil profilbillede",
"set_slideshow_to_fullscreen": "Sæt diasshow til fuldskærmsvisning",
"set_stack_primary_asset": "Angiv som primært billede",
"setting_image_navigation_enable_subtitle": "Hvis aktiveret, kan du navigere til det forrige/næste billede ved at trykke på den yderste venstre/højre fjerdedel af skærmen.",
"setting_image_navigation_enable_title": "Tryk for at navigere",
"setting_image_navigation_title": "Billednavigation",
"setting_image_viewer_help": "Detaljeret visning indlæser miniaturebilleder først. Herefter indlæses mediumstørrelse forhåndsvisning af billedet (hvis dette er slået til), for til sidst at vise originalen (hvis dette er slået til).",
"setting_image_viewer_original_subtitle": "Slå indlæsning af originalbillede i fuld størrelse til (stort!). Deaktiver for at reducere dataforbruget (både på netværket og for enhedscache).",
"setting_image_viewer_original_title": "Indlæs originalbillede",
@@ -2183,6 +2200,7 @@
"support": "Support",
"support_and_feedback": "Support og feedback",
"support_third_party_description": "Din Immich-installation blev sammensat af en tredjepart. Problemer, du oplever, kan være forårsaget af denne udvikler, så rejs venligst problemer med dem i første omgang ved at bruge nedenstående links.",
"supporter": "Supporter",
"swap_merge_direction": "Byt retning for sammenfletning",
"sync": "Synkronisér",
"sync_albums": "Synkroniser albummer",
@@ -2294,6 +2312,7 @@
"unstack_action_prompt": "{count} ustakket",
"unstacked_assets_count": "Ikke-stablet {count, plural, one {# aktiv} other {# aktiver}}",
"unsupported_field_type": "Ikke-understøttet felttype",
"unsupported_file_type": "Filen {file} kan ikke uploades, fordi filtypen {type} ikke understøttes.",
"untagged": "Umærket",
"untitled_workflow": "Unavngivet arbejdsgang",
"up_next": "Næste",
@@ -2320,6 +2339,8 @@
"url": "URL",
"usage": "Forbrug",
"use_biometric": "Brug biometrisk",
"use_browser_locale": "Brug browserens lokalitet",
"use_browser_locale_description": "Formatér datoer, klokkeslæt og tal baseret på din browsers lokalitet",
"use_current_connection": "Brug nuværende forbindelse",
"use_custom_date_range": "Brug tilpasset datointerval i stedet",
"user": "Bruger",
@@ -2373,6 +2394,7 @@
"viewer_remove_from_stack": "Fjern fra stak",
"viewer_stack_use_as_main_asset": "Brug som hovedelement",
"viewer_unstack": "Fjern fra stak",
"visibility": "Synlighed",
"visibility_changed": "Synlighed ændret for {count, plural, one {# person} other {# personer}}",
"visual": "Visuel",
"visual_builder": "Visuel builder",

View File

@@ -1,5 +1,5 @@
{
"about": "Über Immich",
"about": "Über",
"account": "Konto",
"account_settings": "Kontoeinstellungen",
"acknowledge": "Verstanden",
@@ -8,7 +8,7 @@
"action_description": "Eine Reihe von Aktionen, die an den gefilterten Assets ausgeführt werden sollen",
"actions": "Aktionen",
"active": "Aktiv",
"active_count": "Aktive:{count}",
"active_count": "Aktive: {count}",
"activity": "Aktivität",
"activity_changed": "Aktivität ist {enabled, select, true {aktiviert} other {deaktiviert}}",
"add": "Hinzufügen",
@@ -59,7 +59,7 @@
"backup_database_enable_description": "Datenbank regelmäßig sichern",
"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_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": "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 Sicherungsstrategie</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>.",
@@ -77,7 +77,7 @@
"confirm_user_pin_code_reset": "Bist du sicher, dass du den PIN-Code von {user} zurücksetzen möchtest?",
"copy_config_to_clipboard_description": "Kopieren Sie die aktuelle Systemkonfiguration als JSON-Objekt in die Zwischenablage",
"create_job": "Aufgabe erstellen",
"cron_expression": "Cron-Zeitangabe",
"cron_expression": "Cron-Ausdruck",
"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": "Vorlagen für Cron-Zeitangabe",
"disable_login": "Login deaktivieren",
@@ -309,9 +309,9 @@
"reset_settings_to_recent_saved": "Einstellungen auf die zuletzt gespeicherten Einstellungen zurücksetzen",
"scanning_library": "Bibliothek scannen",
"search_jobs": "Suchaufgaben…",
"send_welcome_email": "Begrüssungsmail senden",
"send_welcome_email": "Begrüßungsmail senden",
"server_external_domain_settings": "Externe Domain",
"server_external_domain_settings_description": "Domäne für öffentlich freigegebene Links, einschließlich http(s)://",
"server_external_domain_settings_description": "Für externe Links verwendete Domäne",
"server_public_users": "Öffentliche Benutzer",
"server_public_users_description": "Beim Hinzufügen eines Benutzers zu freigegebenen Alben werden alle Benutzer (Name und E-Mail) aufgelistet. Wenn diese Option deaktiviert ist, steht die Benutzerliste nur Administratoren zur Verfügung.",
"server_settings": "Servereinstellungen",
@@ -411,7 +411,7 @@
"transcoding_tone_mapping": "Farbton-Mapping",
"transcoding_tone_mapping_description": "Versucht, das Aussehen von HDR-Videos bei der Konvertierung in SDR beizubehalten. Jeder Algorithmus geht unterschiedliche Kompromisse bei Farbe, Details und Helligkeit ein. Hable bewahrt Details, Mobius bewahrt die Farbe und Reinhard bewahrt die Helligkeit.",
"transcoding_transcode_policy": "Transcodierungsrichtlinie",
"transcoding_transcode_policy_description": "Richtlinie, wann ein Video transkodiert werden soll. HDR-Videos werden immer transkodiert (außer wenn die Transkodierung deaktiviert ist).",
"transcoding_transcode_policy_description": "Richtlinie, wann ein Video transkodiert werden soll. HDR-Videos und Videos ohne das Format YUV 4:2:0 werden immer transkodiert (außer wenn die Transkodierung deaktiviert ist).",
"transcoding_two_pass_encoding": "Two-Pass Codierung",
"transcoding_two_pass_encoding_setting_description": "Führt eine Transkodierung in zwei Durchgängen durch, um besser kodierte Videos zu erzeugen. Wenn die maximale Bitrate aktiviert ist (erforderlich für die Verwendung mit H.264 und HEVC), verwendet dieser Modus einen Bitratenbereich, der auf der maximalen Bitrate basiert, und ignoriert CRF. Für VP9 kann CRF verwendet werden, wenn die maximale Bitrate deaktiviert ist.",
"transcoding_video_codec": "Video-Codec",
@@ -441,7 +441,7 @@
"user_successfully_removed": "Der Benutzer {email} wurde erfolgreich entfernt.",
"users_page_description": "Administrator-Benutzerseite",
"version_check_enabled_description": "Versionsprüfung aktivieren",
"version_check_implications": "Die Funktion zur Versionsprüfung basiert auf regelmäßiger Kommunikation mit GitHub.com",
"version_check_implications": "Die Funktion zur Versionsprüfung basiert auf regelmäßiger Kommunikation mit {server}",
"version_check_settings": "Versionsprüfung",
"version_check_settings_description": "Aktivieren/Deaktivieren der Benachrichtigung über neue Versionen",
"video_conversion_job": "Videos transkodieren",
@@ -472,7 +472,7 @@
"advanced_settings_troubleshooting_title": "Fehlersuche",
"age_months": "Alter {months, plural, one {# Monat} other {# Monate}}",
"age_year_months": "Alter 1 Jahr, {months, plural, one {# Monat} other {# Monate}}",
"age_years": "Alter {years, plural, one {# Jahr} other {# Jahre}}",
"age_years": "{years, plural, other {Alter #}}",
"album": "Album",
"album_added": "Album hinzugefügt",
"album_added_notification_setting_description": "Erhalte eine E-Mail-Benachrichtigung, wenn du zu einem freigegebenen Album hinzugefügt wurdest",
@@ -541,7 +541,7 @@
"app_settings": "App-Einstellungen",
"app_stores": "App Stores",
"app_update_available": "App Update verfügbar",
"appears_in": "Erscheint in",
"appears_in": "Enthalten in",
"apply_count": "Anwenden ({count, number})",
"archive": "Archiv",
"archive_action_prompt": "{count} zum Archiv hinzugefügt",
@@ -580,7 +580,7 @@
"asset_restored_successfully": "Datei erfolgreich wiederhergestellt",
"asset_skipped": "Übersprungen",
"asset_skipped_in_trash": "Im Papierkorb",
"asset_trashed": "Datei Gelöscht",
"asset_trashed": "Datei gelöscht",
"asset_troubleshoot": "Datei Fehlerbehebung",
"asset_uploaded": "Hochgeladen",
"asset_uploading": "Hochladen…",
@@ -610,14 +610,14 @@
"assets_were_part_of_album_count": "{count, plural, one {# Datei ist} other {# Dateien sind}} bereits im Album vorhanden",
"assets_were_part_of_albums_count": "{count, plural, one {Datei war} other {Dateien waren}} bereits in den Alben",
"authorized_devices": "Verwendete Geräte",
"automatic_endpoint_switching_subtitle": "Verbinden Sie sich lokal über ein bestimmtes WiFi, wenn es verfügbar ist, und verwenden Sie andere Verbindungsmöglichkeiten",
"automatic_endpoint_switching_subtitle": "Verbinden Sie sich lokal über ein bestimmtes WLAN-Netz, wenn es verfügbar ist, und verwenden Sie ansonsten andere Verbindungsmöglichkeiten",
"automatic_endpoint_switching_title": "Automatische URL-Umschaltung",
"autoplay_slideshow": "Automatische Diashow",
"back": "Zurück",
"back_close_deselect": "Zurück, Schließen oder Abwählen",
"background_backup_running_error": "Sicherung läuft im Hintergrund. Manuelle Sicherung kann nicht gestartet werden",
"background_location_permission": "Hintergrund Standortfreigabe",
"background_location_permission_content": "Um im Hintergrund zwischen den Netzwerken wechseln zu können, muss Immich *immer* Zugriff auf den genauen Standort haben, damit die App den Namen des WiFi-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",
"backup": "Sicherung",
"backup_album_selection_page_albums_device": "Alben auf dem Gerät ({count})",
@@ -652,7 +652,7 @@
"backup_controller_page_background_is_on": "Automatische Sicherung im Hintergrund ist aktiviert",
"backup_controller_page_background_turn_off": "Hintergrundservice ausschalten",
"backup_controller_page_background_turn_on": "Hintergrundservice einschalten",
"backup_controller_page_background_wifi": "Nur im WiFi",
"backup_controller_page_background_wifi": "Nur im WLAN",
"backup_controller_page_backup": "Sicherung",
"backup_controller_page_backup_selected": "Ausgewählt: ",
"backup_controller_page_backup_sub": "Gesicherte Fotos und Videos",
@@ -687,7 +687,7 @@
"backup_options_page_title": "Sicherungsoptionen",
"backup_setting_subtitle": "Verwaltung der Upload-Einstellungen im Hintergrund und im Vordergrund",
"backup_settings_subtitle": "Upload-Einstellungen verwalten",
"backup_upload_details_page_more_details": "Tippen für weitere Details",
"backup_upload_details_page_more_details": "Tippe für weitere Details",
"backward": "Rückwärts",
"biometric_auth_enabled": "Biometrische Authentifizierung aktiviert",
"biometric_locked_out": "Du bist von der biometrischen Authentifizierung ausgeschlossen",
@@ -698,7 +698,7 @@
"blurred_background": "Unscharfer Hintergrund",
"bugs_and_feature_requests": "Fehler & Verbesserungsvorschläge",
"build": "Build",
"build_image": "Build Abbild",
"build_image": "Abbildversion",
"bulk_delete_duplicates_confirmation": "Bist du sicher, dass du {count, plural, one {# duplizierte Datei} other {# duplizierte Dateien gemeinsam}} löschen möchtest? Dabei wird die größte Datei jeder Gruppe behalten und alle anderen Duplikate endgültig gelöscht. Diese Aktion kann nicht rückgängig gemacht werden!",
"bulk_keep_duplicates_confirmation": "Bist du sicher, dass du {count, plural, one {# duplizierte Datei} other {# duplizierte Dateien}} behalten möchtest? Dies wird alle Duplikat-Gruppen auflösen ohne etwas zu löschen.",
"bulk_trash_duplicates_confirmation": "Bist du sicher, dass du {count, plural, one {# duplizierte Datei} other {# duplizierte Dateien gemeinsam}} in den Papierkorb verschieben möchtest? Dies wird die größte Datei jeder Gruppe behalten und alle anderen Duplikate in den Papierkorb verschieben.",
@@ -728,7 +728,7 @@
"cannot_undo_this_action": "Diese Aktion kann nicht rückgängig gemacht werden!",
"cannot_update_the_description": "Beschreibung kann nicht aktualisiert werden",
"cast": "Übertragen",
"cast_description": "Konfiguration verfügbarer Ziele",
"cast_description": "Verfügbare Cast-Ziele konfigurieren",
"change_date": "Datum ändern",
"change_description": "Beschreibung anpassen",
"change_display_order": "Anzeigereihenfolge ändern",
@@ -739,7 +739,7 @@
"change_password": "Passwort ändern",
"change_password_description": "Dies ist entweder das erste Mal, dass du dich im System anmeldest, oder es wurde eine Anfrage zur Änderung deines Passworts gestellt. Bitte gib unten dein neues Passwort ein.",
"change_password_form_confirm_password": "Passwort bestätigen",
"change_password_form_description": "Hallo {name}\n\nDas ist entweder das erste Mal dass du dich einloggst oder es wurde eine Anfrage zur Änderung deines Passwortes gestellt. Bitte gib das neue Passwort ein.",
"change_password_form_description": "Hallo {name}\n\nDas ist entweder das erste Mal, dass du dich einloggst oder es wurde eine Anfrage zur Änderung deines Passwortes gestellt. Bitte gib das neue Passwort ein.",
"change_password_form_log_out": "Von allen Geräte abmelden",
"change_password_form_log_out_description": "Es wird empfohlen, alle anderen Geräte abzumelden",
"change_password_form_new_password": "Neues Passwort",
@@ -754,7 +754,7 @@
"charging_requirement_mobile_backup": "Backup im Hintergrund erfordert Aufladen des Geräts",
"check_corrupt_asset_backup": "Auf beschädigte Asset-Backups überprüfen",
"check_corrupt_asset_backup_button": "Überprüfung durchführen",
"check_corrupt_asset_backup_description": "Führe diese Prüfung nur mit aktivierten WiFi durch, nachdem alle Dateien gesichert worden sind. Dieser Vorgang kann ein paar Minuten dauern.",
"check_corrupt_asset_backup_description": "Führe diese Prüfung nur mit aktivierten WLAN durch, nachdem alle Dateien gesichert worden sind. Dieser Vorgang kann ein paar Minuten dauern.",
"check_logs": "Logs prüfen",
"checksum": "Prüfsumme",
"choose_matching_people_to_merge": "Wähle passende Personen zum Zusammenführen",
@@ -794,6 +794,11 @@
"color": "Farbe",
"color_theme": "Farb-Theme",
"command": "Befehl",
"command_palette_prompt": "Finde schnell Seiten, Aktionen oder Befehle",
"command_palette_to_close": "Schließen",
"command_palette_to_navigate": "eingeben",
"command_palette_to_select": "Auswählen",
"command_palette_to_show_all": "Alle anzeigen",
"comment_deleted": "Kommentar gelöscht",
"comment_options": "Kommentaroptionen",
"comments_and_likes": "Kommentare & Likes",
@@ -802,13 +807,13 @@
"completed": "Abgeschlossen",
"confirm": "Bestätigen",
"confirm_admin_password": "Administrator Passwort bestätigen",
"confirm_delete_face": "Bist du sicher dass du das Gesicht von {name} aus der Datei entfernen willst?",
"confirm_delete_face": "Bist du sicher, dass du das Gesicht von {name} aus der Datei entfernen willst?",
"confirm_delete_shared_link": "Bist du sicher, dass du diesen geteilten Link löschen willst?",
"confirm_keep_this_delete_others": "Alle anderen Dateien im Stapel bis auf diese werden gelöscht. Bist du sicher, dass du fortfahren möchten?",
"confirm_new_pin_code": "Neuen PIN-Code bestätigen",
"confirm_password": "Passwort bestätigen",
"confirm_tag_face": "Wollen Sie dieses Gesicht mit {name} markieren?",
"confirm_tag_face_unnamed": "Möchten Sie dieses Gesicht markieren?",
"confirm_tag_face": "Wollen Sie dieses Gesicht mit {name} taggen?",
"confirm_tag_face_unnamed": "Möchten Sie dieses Gesicht taggen?",
"connected_device": "Verbundenes Gerät",
"connected_to": "Verbunden mit",
"contain": "Vollständig",
@@ -844,9 +849,12 @@
"create_link_to_share": "Link zum Teilen erstellen",
"create_link_to_share_description": "Lass jeden mit dem Link die ausgewählten Fotos sehen",
"create_new": "NEUES ERSTELLEN",
"create_new_face": "Neues Gesicht erstellen",
"create_new_person": "Neue Person anlegen",
"create_new_person_hint": "Ausgewählte Dateien einer neuen Person zuweisen",
"create_new_user": "Neuen Nutzer erstellen",
"create_person": "Person anlegen",
"create_person_subtitle": "Gib dem gewählten Gesicht einen Namen um die neue Person zu erstellen und zu taggen",
"create_shared_album_page_share_add_assets": "INHALTE HINZUFÜGEN",
"create_shared_album_page_share_select_photos": "Fotos auswählen",
"create_shared_link": "Geteilten Link erstellen",
@@ -861,13 +869,14 @@
"crop_aspect_ratio_fixed": "Fixiert",
"crop_aspect_ratio_free": "Frei",
"crop_aspect_ratio_original": "Original",
"crop_aspect_ratio_square": "Quadratisch",
"curated_object_page_title": "Dinge",
"current_device": "Aktuelles Gerät",
"current_pin_code": "Aktueller PIN-Code",
"current_server_address": "Aktuelle Serveradresse",
"custom_date": "Benutzerdefiniertes Datum",
"custom_locale": "Benutzerdefinierte Sprache",
"custom_locale_description": "Datumsangaben und Zahlen je nach Sprache und Land formatieren",
"custom_locale": "Benutzerdefiniertes Gebietsschema",
"custom_locale_description": "Datumsangaben, Uhrzeiten und Zahlen je nach Sprache und Land formatieren",
"custom_url": "Benutzerdefinierte URL",
"cutoff_date_description": "Behalte Fotos der letzten…",
"cutoff_day": "{count, plural, one {Tag} other {Tage}}",
@@ -875,7 +884,7 @@
"daily_title_text_date": "E, dd MMM",
"daily_title_text_date_year": "E, dd MMM, yyyy",
"dark": "Dunkel",
"dark_theme": "Dunkle Ansicht umschalten",
"dark_theme": "Auf dunkle Ansicht umschalten",
"date": "Datum",
"date_after": "Datum nach",
"date_and_time": "Datum und Zeit",
@@ -886,12 +895,8 @@
"day": "Tag",
"days": "Tage",
"deduplicate_all": "Alle Duplikate entfernen",
"deduplication_criteria_1": "Bildgröße in Bytes",
"deduplication_criteria_2": "Anzahl der EXIF-Daten",
"deduplication_info": "Deduplizierungsinformationen",
"deduplication_info_description": "Für die automatische Datei-Vorauswahl und das Deduplizieren aller Dateien berücksichtigen wir:",
"default_locale": "Standard-Sprache",
"default_locale_description": "Datumsangaben und Zahlen basierend auf dem Gebietsschema des Browsers formatieren",
"default_locale": "Standardgebietsschema",
"default_locale_description": "Datumsangaben und Zahlen werden entsprechend Ihrer Browsereinstellungen formatiert",
"delete": "Löschen",
"delete_action_confirmation_message": "Bist du sicher, dass du dieses Objekt löschen willst? Diese Aktion wird das Objekt in den Papierkorb des Servers verschieben und fragen, ob du es lokal löschen willst",
"delete_action_prompt": "{count} gelöscht",
@@ -967,7 +972,7 @@
"downloading_media": "Medien werden heruntergeladen",
"drop_files_to_upload": "Lade Dateien hoch, indem du sie hierhin ziehst",
"duplicates": "Duplikate",
"duplicates_description": "Löse jede Gruppe auf, indem du angibst, welche, wenn überhaupt, Duplikate sind",
"duplicates_description": "Löse jede Gruppe auf, indem du angibst, welche, wenn überhaupt, Duplikate sind.",
"duration": "Dauer",
"edit": "Bearbeiten",
"edit_album": "Album bearbeiten",
@@ -1004,6 +1009,8 @@
"editor_edits_applied_success": "Änderungen erfolgreich angewendet",
"editor_flip_horizontal": "Horizontal spiegeln",
"editor_flip_vertical": "Vertikal spiegeln",
"editor_handle_corner": "{corner, select, top_left {Oben links} top_right {Oben rechts} bottom_left {Unten links} bottom_right {Unten rechts} other {A}} Eckgriff",
"editor_handle_edge": "{edge, select, top {Oben} bottom {Unten} left {Links} right {Rechts} other {Ein}} Kantenanfasser",
"editor_orientation": "Ausrichtung",
"editor_reset_all_changes": "Änderungen zurücksetzen",
"editor_rotate_left": "Um 90° gegen den Uhrzeigersinn drehen",
@@ -1019,7 +1026,7 @@
"enabled": "Aktiviert",
"end_date": "Enddatum",
"enqueued": "Eingereiht",
"enter_wifi_name": "WiFi-Name eingeben",
"enter_wifi_name": "WLAN-Name eingeben",
"enter_your_pin_code": "PIN-Code eingeben",
"enter_your_pin_code_subtitle": "Gib deinen PIN-Code ein, um auf den gesperrten Ordner zuzugreifen",
"error": "Fehler",
@@ -1031,7 +1038,7 @@
"error_loading_partners": "Fehler beim Laden der Partner: {error}",
"error_retrieving_asset_information": "Fehler beim Abruf der Dateiinformationen",
"error_saving_image": "Fehler: {error}",
"error_tag_face_bounding_box": "Fehler beim Markieren des Gesichts - Begrenzungen können nicht abgerufen werden",
"error_tag_face_bounding_box": "Fehler beim Taggen des Gesichts - Begrenzungen können nicht abgerufen werden",
"error_title": "Fehler - Etwas ist schief gelaufen",
"error_while_navigating": "Fehler beim Navigieren zur Datei",
"errors": {
@@ -1069,15 +1076,16 @@
"failed_to_update_notification_status": "Benachrichtigungsstatus aktualisieren fehlgeschlagen",
"incorrect_email_or_password": "Ungültige E-Mail oder Passwort",
"library_folder_already_exists": "Dieser Importpfad existiert bereits.",
"page_not_found": "Seite nicht gefunden",
"paths_validation_failed": "{paths, plural, one {# Pfad konnte} other {# Pfade konnten}} nicht validiert werden",
"profile_picture_transparent_pixels": "Profilbilder dürfen keine transparenten Pixel haben. Bitte zoome heran und/oder verschiebe das Bild.",
"quota_higher_than_disk_size": "Dein festgelegtes Kontingent ist größer als der verfügbare Speicher",
"something_went_wrong": "Ein Fehler ist eingetreten",
"unable_to_add_album_users": "Benutzer konnten nicht zum Album hinzugefügt werden",
"unable_to_add_assets_to_shared_link": "Datei konnte nicht zum geteilten Link hinzugefügt werden",
"unable_to_add_comment": "Es kann kein Kommentar hinzufügt werden",
"unable_to_add_comment": "Es kann kein Kommentar hinzugefügt werden",
"unable_to_add_exclusion_pattern": "Ausschlussmuster konnte nicht hinzugefügt werden",
"unable_to_add_partners": "Es können keine Partner hinzufügt werden",
"unable_to_add_partners": "Es können keine Partner hinzugefügt werden",
"unable_to_add_remove_archive": "Datei konnte nicht {archived, select, true {aus dem Archiv entfernt} other {zum Archiv hinzugefügt}} werden",
"unable_to_add_remove_favorites": "Datei konnte nicht {favorite, select, true {von den Favoriten entfernt} other {zu den Favoriten hinzugefügt}} werden",
"unable_to_archive_unarchive": "Konnte nicht {archived, select, true {archivieren} other {entarchivieren}}",
@@ -1168,6 +1176,7 @@
"exif_bottom_sheet_people": "PERSONEN",
"exif_bottom_sheet_person_add_person": "Namen hinzufügen",
"exit_slideshow": "Diashow beenden",
"expand": "Erweitern",
"expand_all": "Alle aufklappen",
"experimental_settings_new_asset_list_subtitle": "In Arbeit",
"experimental_settings_new_asset_list_title": "Experimentelles Fotogitter aktivieren",
@@ -1212,6 +1221,7 @@
"filter_description": "Bedingungen zur Filterung der betreffenden Dateien",
"filter_people": "Personen filtern",
"filter_places": "Orte filtern",
"filter_tags": "Tags filtern",
"filters": "Filter",
"find_them_fast": "Finde sie schneller mit der Suche nach Namen",
"first": "Erste",
@@ -1232,7 +1242,7 @@
"geolocation_instruction_location": "Klicke auf eine Datei mit GPS Koordinaten um diesen Standort zu verwenden oder wähle einen Standort direkt auf der Karte",
"get_help": "Hilfe erhalten",
"get_people_error": "Fehler beim Laden der Personen",
"get_wifiname_error": "WiFi-Name konnte nicht ermittelt werden. Vergewissere dich, dass die erforderlichen Berechtigungen erteilt wurden und du mit einem WiFi-Netzwerk verbunden bist",
"get_wifiname_error": "Das WLAN-Netz konnte nicht ermittelt werden. Vergewissere dich, dass die erforderlichen Berechtigungen erteilt wurden und du mit einem WLAN-Netzwerk verbunden bist",
"getting_started": "Erste Schritte",
"go_back": "Zurück",
"go_to_folder": "Gehe zu Ordner",
@@ -1271,7 +1281,7 @@
"home_page_add_to_album_err_local": "Es können lokale Elemente noch nicht zu Alben hinzugefügt werden, überspringen",
"home_page_add_to_album_success": "{added} Elemente zu {album} hinzugefügt.",
"home_page_album_err_partner": "Inhalte von Partnern können derzeit nicht zu Alben hinzugefügt werden",
"home_page_archive_err_local": "Kann lokale Elemente nicht archvieren, überspringen",
"home_page_archive_err_local": "Kann lokale Elemente nicht archivieren, überspringen",
"home_page_archive_err_partner": "Inhalte von Partnern können nicht archiviert werden",
"home_page_building_timeline": "Zeitachse wird erstellt",
"home_page_delete_err_partner": "Inhalte von Partnern können nicht gelöscht werden, überspringe",
@@ -1379,9 +1389,11 @@
"library_page_sort_title": "Titel des Albums",
"licenses": "Lizenzen",
"light": "Hell",
"light_theme": "Auf helle Ansicht umschalten",
"like": "Gefällt mir",
"like_deleted": "Like gelöscht",
"link_motion_video": "Bewegungsvideo verknüpfen",
"link_to_docs": "Weitere Informationen finden Sie in der <link>Dokumentation</link>.",
"link_to_oauth": "Mit OAuth verknüpfen",
"linked_oauth_account": "Verknüpftes OAuth-Konto",
"list": "Liste",
@@ -1396,7 +1408,7 @@
"local_network_sheet_info": "Die App stellt über diese URL eine Verbindung zum Server her, wenn sie das angegebene WLAN-Netzwerk verwendet",
"location": "Standort",
"location_permission": "Standort Genehmigung",
"location_permission_content": "Um die automatische Umschaltfunktion nutzen zu können, benötigt Immich genaue Standortberechtigung, damit es den Namen des aktuellen WiFi-Netzwerks ermitteln kann",
"location_permission_content": "Um die automatische Umschaltfunktion nutzen zu können, benötigt Immich genaue Standortberechtigung, damit es den Namen des aktuellen WLAN-Netzwerks ermitteln kann",
"location_picker_choose_on_map": "Auf der Karte auswählen",
"location_picker_latitude_error": "Gültigen Breitengrad eingeben",
"location_picker_latitude_hint": "Breitengrad eingeben",
@@ -1554,7 +1566,7 @@
"name_or_nickname": "Name oder Nickname",
"name_required": "Name ist erforderlich",
"navigate": "Navigation",
"navigate_to_time": "Navigiere zu Zeit",
"navigate_to_time": "Zu Zeitpunkt navigieren",
"network_requirement_photos_upload": "Mobile Daten verwenden, um Fotos zu sichern",
"network_requirement_videos_upload": "Mobile Daten verwenden, um Videos zu sichern",
"network_requirements": "Anforderungen ans Netzwerk",
@@ -1613,7 +1625,7 @@
"not_available": "N/A",
"not_in_any_album": "In keinem Album",
"not_selected": "Nicht ausgewählt",
"notes": "Notizen",
"notes": "Hinweise",
"nothing_here_yet": "Noch nichts hier",
"notification_permission_dialog_content": "Um Benachrichtigungen zu aktivieren, navigiere zu Einstellungen und klicke \"Erlauben\".",
"notification_permission_list_tile_content": "Erlaube Berechtigung für Benachrichtigungen.",
@@ -1642,6 +1654,8 @@
"online": "Online",
"only_favorites": "Nur Favoriten",
"open": "Öffnen",
"open_calendar": "Kalender öffnen",
"open_in_browser": "Im Browser öffnen",
"open_in_map_view": "In Kartenansicht öffnen",
"open_in_openstreetmap": "In OpenStreetMap öffnen",
"open_the_search_filters": "Die Suchfilter öffnen",
@@ -1655,7 +1669,7 @@
"other_devices": "Andere Geräte",
"other_entities": "Andere Entitäten",
"other_variables": "Sonstige Variablen",
"owned": "Eigenes",
"owned": "Eigene",
"owner": "Besitzer",
"page": "Seite",
"partner": "Partner",
@@ -1710,8 +1724,8 @@
"permission_onboarding_permission_limited": "Berechtigungen unzureichend. Um Immich das Sichern von ganzen Sammlungen zu ermöglichen, muss der Zugriff auf alle Fotos und Videos in den Einstellungen erlaubt werden.",
"permission_onboarding_request": "Immich benötigt Berechtigung um auf deine Fotos und Videos zuzugreifen.",
"person": "Person",
"person_age_months": "{months, plural, one {# month} other {# months}} alt",
"person_age_year_months": "1 Jahr, {months, plural, one {# month} other {# months}} alt",
"person_age_months": "{months, plural, one {# Monat} other {# Monate}} alt",
"person_age_year_months": "1 Jahr, {months, plural, one {# Monat} other {# Monate}} alt",
"person_age_years": "{years, plural, one {# Jahr} other {# Jahre}} alt",
"person_birthdate": "Geboren am {date}",
"person_hidden": "{name}{hidden, select, true { (verborgen)} other {}}",
@@ -1801,9 +1815,8 @@
"rate_asset": "Datei bewerten",
"rating": "Bewertung",
"rating_clear": "Bewertung löschen",
"rating_count": "{count, plural, one {# Stern} other {# Sterne}}",
"rating_count": "{count, plural, =0 {Unbewertet} one {# Stern} other {# Sterne}}",
"rating_description": "Stellt die EXIF-Bewertung im Informationsbereich dar",
"rating_set": "Mit {rating, plural, one {# Stern} other {# Sternen}} bewertet",
"reaction_options": "Reaktionsmöglichkeiten",
"read_changelog": "Changelog lesen",
"readonly_mode_disabled": "Schreibgeschützter Modus deaktiviert",
@@ -1863,7 +1876,7 @@
"repair": "Reparatur",
"repair_no_results_message": "Nicht auffindbare und fehlende Dateien werden hier angezeigt",
"replace_with_upload": "Durch Upload ersetzen",
"repository": "Repositorium",
"repository": "Repository",
"require_password": "Passwort erforderlich",
"require_user_to_change_password_on_first_login": "Benutzer muss das Passwort beim ersten Login ändern",
"rescan": "Erneut scannen",
@@ -1875,7 +1888,10 @@
"reset_pin_code_success": "PIN-Code erfolgreich zurückgesetzt",
"reset_pin_code_with_password": "Mit deinem Passwort kannst du jederzeit deinen PIN-Code zurücksetzen",
"reset_sqlite": "SQLite Datenbank zurücksetzen",
"reset_sqlite_confirmation": "Bist du sicher, dass du die SQLite-Datenbank zurücksetzen willst? Du musst dich ab- und wieder anmelden, um die Daten neu zu synchronisieren",
"reset_sqlite_clear_app_data": "Daten löschen",
"reset_sqlite_confirmation": "Bist du sicher, dass du die SQLite-Datenbank zurücksetzen willst? Es werden alle Einstellungen zurückgesetzt und du wirst abgemeldet.",
"reset_sqlite_confirmation_note": "Warnung: Du musst nach dem Zurücksetzten die App neu starten.",
"reset_sqlite_done": "Die Anwendungsdaten wurden gelöscht. Bitte starte Immich neu um dich erneut anzumelden.",
"reset_sqlite_success": "SQLite Datenbank erfolgreich zurückgesetzt",
"reset_to_default": "Auf Standard zurücksetzen",
"resolution": "Auflösung",
@@ -1903,6 +1919,7 @@
"saved_settings": "Einstellungen gespeichert",
"say_something": "Etwas sagen",
"scaffold_body_error_occurred": "Ein Fehler ist aufgetreten",
"scaffold_body_error_unrecoverable": "Es ist ein nicht behebbarer Fehler aufgetreten. Bitte teilen Sie uns den Fehler und den Stacktrace auf Discord oder GitHub mit, damit wir Ihnen helfen können. Falls nötig, können Sie unten die App-Daten löschen.",
"scan": "Scannen",
"scan_all_libraries": "Alle Bibliotheken scannen",
"scan_library": "Scannen",
@@ -1938,6 +1955,7 @@
"search_filter_ocr": "Suche per OCR",
"search_filter_people_title": "Personen auswählen",
"search_filter_star_rating": "Sternebewertung",
"search_filter_tags_title": "Tags auswählen",
"search_for": "Suche nach",
"search_for_existing_person": "Suche nach vorhandener Person",
"search_no_more_result": "Keine weiteren Ergebnisse",
@@ -1997,7 +2015,7 @@
"selected_count": "{count, plural, other {# ausgewählt}}",
"selected_gps_coordinates": "Ausgewählte GPS-Koordinaten",
"send_message": "Nachricht senden",
"send_welcome_email": "Begrüssungsmail senden",
"send_welcome_email": "Begrüßungsmail senden",
"server_endpoint": "Server-Endpunkt",
"server_info_box_app_version": "App-Version",
"server_info_box_server_url": "Server-URL",
@@ -2017,6 +2035,9 @@
"set_profile_picture": "Profilbild einstellen",
"set_slideshow_to_fullscreen": "Diashow auf Vollbild einstellen",
"set_stack_primary_asset": "Als primäre Datei festlegen",
"setting_image_navigation_enable_subtitle": "Aktivieren, um durch Tippen auf den linksäußeren/rechtsäußeren Bildschirmrand zum vorherigen/nächsten Bild zu navigieren.",
"setting_image_navigation_enable_title": "Tippen zum Navigieren",
"setting_image_navigation_title": "Bild Navigation",
"setting_image_viewer_help": "Der Detailbildbetrachter lädt zuerst ein (kleines) Vorschaubild, dann ein Vorschaubild in mittlerer Größe (falls aktiviert) und schließlich das Original (falls aktiviert).",
"setting_image_viewer_original_subtitle": "Aktivieren, um das Originalbild in voller Auflösung (groß!) zu laden. Deaktivieren, um den Datenverbrauch zu reduzieren (sowohl im Netzwerk als auch im Gerätespeicher).",
"setting_image_viewer_original_title": "Original laden",
@@ -2154,7 +2175,7 @@
"sort_people_by_similarity": "Personen nach Ähnlichkeit sortieren",
"sort_recent": "Neuestes Foto",
"sort_title": "Titel",
"source": "Quellcode",
"source": "Quelle",
"stack": "Stapel",
"stack_action_prompt": "{count} gestapelt",
"stack_duplicates": "Duplikate stapeln",
@@ -2183,6 +2204,7 @@
"support": "Unterstützung",
"support_and_feedback": "Unterstützung & Feedback",
"support_third_party_description": "Deine Immich-Installation wurde von einem Drittanbieter zusammengestellt. Probleme, die bei dir auftreten, können durch dieses Paket verursacht werden. Bitte wende dich daher in erster Linie an diesen Anbieter, indem du die unten stehenden Links verwendest.",
"supporter": "Unterstützer",
"swap_merge_direction": "Vertauschen der Zusammenführungsrichtung",
"sync": "Synchronisieren",
"sync_albums": "Alben synchronisieren",
@@ -2195,6 +2217,7 @@
"tag": "Tag",
"tag_assets": "Dateien taggen",
"tag_created": "Tag erstellt: {tag}",
"tag_face": "Gesicht taggen",
"tag_feature_description": "Durchsuchen von Fotos und Videos, gruppiert nach logischen Tag-Themen",
"tag_not_found_question": "Kein Tag vorhanden? <link>Erstelle einen neuen Tag.</link>",
"tag_people": "Personen taggen",
@@ -2294,10 +2317,11 @@
"unstack_action_prompt": "{count} entstapelt",
"unstacked_assets_count": "{count, plural, one {# Datei} other {# Dateien}} entstapelt",
"unsupported_field_type": "Nicht unterstützter Feldtyp",
"unsupported_file_type": "Die Datei {file} kann nicht hochgeladen werden, da der Dateityp {type} nicht unterstützt wird.",
"untagged": "Ohne Tag",
"untitled_workflow": "Unbenannter Workflow",
"up_next": "Weiter",
"update_location_action_prompt": "Aktualsiere den Ort von {count} ausgewählten Dateien mit:",
"update_location_action_prompt": "Aktualisiere den Ort von {count} ausgewählten Dateien mit:",
"updated_at": "Aktualisiert",
"updated_password": "Passwort aktualisiert",
"upload": "Hochladen",
@@ -2320,6 +2344,8 @@
"url": "URL",
"usage": "Verwendung",
"use_biometric": "Biometrie verwenden",
"use_browser_locale": "Gebietsschema des Browsers verwenden",
"use_browser_locale_description": "Datum, Uhrzeit und Zahlen werden entsprechend den Einstellungen Ihres Browsers formatiert",
"use_current_connection": "Aktuelle Verbindung verwenden",
"use_custom_date_range": "Stattdessen einen benutzerdefinierten Datumsbereich verwenden",
"user": "Nutzer",
@@ -2373,6 +2399,7 @@
"viewer_remove_from_stack": "Aus Stapel entfernen",
"viewer_stack_use_as_main_asset": "An Stapelanfang",
"viewer_unstack": "Stapel aufheben",
"visibility": "Sichtbarkeit",
"visibility_changed": "Sichtbarkeit für {count, plural, one {# Person} other {# Personen}} geändert",
"visual": "Visuell",
"visual_builder": "Visueller Editor",
@@ -2383,7 +2410,7 @@
"welcome": "Willkommen",
"welcome_to_immich": "Willkommen bei Immich",
"width": "Breite",
"wifi_name": "WiFi-Name",
"wifi_name": "WLAN-Netzwerk",
"workflow_delete_prompt": "Bist du sicher, dass du diesen Workflow löschen willst?",
"workflow_deleted": "Workflow gelöscht",
"workflow_description": "Workflow-Beschreibung",
@@ -2402,7 +2429,7 @@
"years_ago": "Vor {years, plural, one {einem Jahr} other {# Jahren}}",
"yes": "Ja",
"you_dont_have_any_shared_links": "Du hast keine geteilten Links",
"your_wifi_name": "Dein WiFi-Name",
"your_wifi_name": "Dein WLAN-Netzwerk",
"zero_to_clear_rating": "drücke 0 um die Dateibewertung zurückzusetzen",
"zoom_image": "Bild vergrößern",
"zoom_to_bounds": "Auf Grenzen zoomen"

View File

@@ -75,30 +75,58 @@
"confirm_reprocess_all_faces": "Bisch sicher, dass du alli Gsichter neu verarbeite wotsch? Däbii werde au benannti Persone glöscht.",
"confirm_user_password_reset": "Bisch sicher, dass du s Passwort für {user} möchtisch zruggsetze?",
"confirm_user_pin_code_reset": "Bisch sicher, dass du de PIN-Code vo {user} möchtisch zruggsetze?",
"copy_config_to_clipboard_description": "Kopiere die aktuelle Systemkonfiguration als JSON-Objekt in die Zwischenablage",
"copy_config_to_clipboard_description": "Kopier die aktuelli Systemkonfiguration als JSON-Objekt i d'Zwüschenablage",
"create_job": "Uufgabe erstelle",
"cron_expression": "Cron-Ziitagabe",
"cron_expression_description": "Setz s Scanintervall im Cron-Format. Hilf mit däm Format bütet z. B. der <link>Crontab Guru</link>",
"cron_expression_presets": "Vorlage für Cron-Uusdruck",
"disable_login": "Login deaktiviere",
"duplicate_detection_job_description": "Die Uufgab füehrt s maschinelle Lärne für jedi Datei us, zum Duplikat finde. Die Uufgabe berueht uf de intelligente Suechi",
"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.",
"export_config_as_json_description": "Lade die aktuelle Systemkonfiguration als JSON-Datei herunter",
"external_libraries_page_description": "Externe Bibliotheksseite für Administratoren",
"exclusion_pattern_description": "Mit Uusschlussmuster chönnd Dateie und Ordner bim Scanne vo dinere Bibliothek ignoriert wärde. Das isch nützlich, wenn du Ordner häsch, wo Dateien drin händ, wo d nöd wotsch importiere, wie z. B. RAW-Dateie.",
"export_config_as_json_description": "Lad die aktuelli Systemkonfiguration als JSON-Datei abe",
"external_libraries_page_description": "Externi Bibliothekssiite für Administratore",
"face_detection": "Gsichtserkennig",
"face_detection_description": "Diese Aufgabe erfasst Gesichter in Dateien mittels maschinellen Lernens. Bei Videos wird nur die Miniaturansicht verwendet. „Aktualisieren“ verarbeitet alle Dateien neu. „Zurücksetzen“ setzt zusätzlich alle Gesichter zurück. „Fehlende“ stellt nur nicht verarbeitete Dateien in die Warteschlange. Erfasste Gesichter werden zur Gesichtsidentifizierung in die Warteschlange gestellt, um sie in bestehende oder neue Personen zu gruppieren.",
"facial_recognition_job_description": "Diese Aufgabe gruppiert im Anschluss an die Gesichtserfassung die erfassten Gesichter zu Personen. „Zurücksetzen“ gruppiert alle Gesichter neu, während „Fehlende Gesichter ohne Zuordnung in die Warteschlange stellt.",
"failed_job_command": "Befehl {command} ist für Aufgabe {job} fehlgeschlagen",
"force_delete_user_warning": "WARNUNG: Diese Aktion löscht sofort den Benutzer und all seine Dateien. Dies kann nicht rückgängig gemacht werden und die Dateien können nicht wiederhergestellt werden.",
"face_detection_description": "Die Uufgab erfasst Gsichter in Dateien dur maschinells Lerne. Bi Video wird nur d'Miniaturasicht brucht. „Aktualisiere“ verarbeitet all Dateie neu. „Zruggsetze“ setzt au no all Gsichter zrugg. „Fehlendi“ stellt nur nöd verarbeiteti Dateie in d'Warteschlange. Erfassti Gsichter wärdet zur Gsichtsidentifizierig in diWarteschlange gstellt, damit sie i bestehendi oder neui Persone z'gruppiere.",
"facial_recognition_job_description": "Die Uufgabe gruppiert im Anschluss an d'Gsichtserfassig die erfasste Gsichter zu Persone. „Zruggsetze“ gruppiert alli Gsichter neu und mit „Fehlendi“ werdet Gsichter ohni Zuordnig i d'Warteschlange gstellt.",
"failed_job_command": "Befehl {command} t für d'Uufgabe {job} nöd funktioniert",
"force_delete_user_warning": "WARNIG: Die Aktion löscht Benutzer und all sini Dateie. Das chann nöd rückgängig gmacht wärde und d'Dateie chönnd nöd wiederhergstellt wärde.",
"image_format": "Format",
"image_format_description": "WebP erzeugt kleinere Dateien als JPEG, ist aber etwas langsamer in der Erstellung.",
"image_fullsize_description": "Hochauflösendes Bild mit entfernten Metadaten, das beim Zoomen verwendet wird",
"image_fullsize_enabled": "Hochauflösende Vorschaubilder aktivieren",
"image_format_description": "WebP erzeugt chlineri Dateie we JPEG, isch aber es bitz langsamer i de Erstellig.",
"image_fullsize_description": "Hochuflösends Bild mit glöschte Metadate, wo bim Zoome brucht wird",
"image_fullsize_enabled": "Hochuflösendi Vorschaubilder aktiviere",
"image_fullsize_enabled_description": "Generiere hochauflösende Vorschaubilder in Originalauflösung für nicht web-kompatibel Formate. Wenn \"Eingebettete Vorschau bevorzugen\" aktiviert ist, werden eingebettete Vorschaubilder direkt verwendet. Hat keinen Einfluss auf web-kompatible Formate wie JPEG.",
"image_fullsize_quality_description": "Qualität der hochauflösenden Vorschaubilder von 1-100. Höher ist besser, erzeugt aber grössere Dateien.",
"image_fullsize_title": "Hochauflösende Vorschaueinstellungen",
"image_prefer_embedded_preview": "Eingebettete Vorschau bevorzugen",
"image_prefer_embedded_preview_setting_description": "Verwende eingebettete Vorschaubilder in RAW-Fotos als Grundlage für die Bildverarbeitung, sofern diese zur Verfügung stehen. Dies kann bei einigen Bildern genauere Farben erzeugen, allerdings ist die Qualität der Vorschau kameraabhängig und das Bild kann mehr Kompressionsartefakte aufweisen.",
"image_prefer_wide_gamut": "Breites Spektrum bevorzugen"
"image_prefer_wide_gamut": "Breites Spektrum bevorzugen",
"image_prefer_wide_gamut_setting_description": "Bruuch Display P3 für Vorschaubildli. Das erhaltet d'Vitalität von Bildli mit grossem Farbruum besser. Uf alte Grät mit alte Browser chann das aber andersch uusgseh. sRGB-Bildli wärdet als sRGB bhalte zum Farbänderige vermiide.",
"image_preview_description": "Mittelgrossi Bildli ohni Metadate, bruuchts für Einzelaasichte und fürs maschinelle Lärne",
"image_preview_quality_description": "Vorschauqualität vo 1-100. Höcher isch besser, git aber grösseri Dateie und chan d'App Schwuppdizität reduziere. Z tüffi Wert chönnd s maschinelle Lärne beiträchtige.",
"image_preview_title": "Vorschauiistellige",
"image_progressive": "Fortlaufend",
"image_progressive_description": "Codier fortlaufendi JPEG-Bildi: Sie wärdet bim Lade aufbauend aazeiget. Das hät kei Würkig uf WebP-Bildi.",
"image_quality": "Qualität",
"image_resolution": "Uuflösig",
"image_resolution_description": "Höcheri Uuflösig erhaltet meh Detail, gaht aber länger zum codiere, macht grösseri Dateie und chan d'App Schuppdizität reduziere.",
"image_settings": "Bild-Iistellige",
"image_settings_description": "Qualität und Uuflösig von erstellte Bildli verwalte",
"image_thumbnail_description": "Chlini Vorschaubildli ohni Metadate, bruuchts für Aasichte mit Gruppe vo Föteli wie i de Hauptziitachse",
"image_thumbnail_quality_description": "Vorschauqualität vo 1-100. Höcher isch besser, git aber grösseri Dateie und chan d'App Schwuppdizität reduziere.",
"image_thumbnail_title": "Iistellige für Vorschaubildli",
"import_config_from_json_description": "Systemkonfiguration importiere durs Ufelade vonere JSON-Datei",
"job_concurrency": "{job} Näbeläufigkeit",
"job_created": "Uufgab erstellt",
"job_not_concurrency_safe": "Die Uufgabe ist nöd für Paralleluusführig gmacht.",
"job_settings": "Uufgabe-Iistellige",
"job_settings_description": "Uufgabe-Näbeläufigkeit verwalte",
"jobs_over_time": "Uufgabe in ziitliche Verlauf",
"library_created": "Bibliothek erstellt: {library}",
"library_deleted": "Bibliothek glöscht",
"library_details": "Bibliotheks-Details",
"library_folder_description": "Gib en Order zum Importiere a. Dä Order mit sine Underordner wird nach Bildli und Videos durchsucht.",
"library_remove_exclusion_pattern_prompt": "Bisch sicher, dass das Uuschluss-Muster wotsch lösche?",
"library_remove_folder_prompt": "Bisch sicher, dass dä Import-Ordner wotsch lösche?",
"library_scanning": "Regelmässigi Überprüefig"
}
}

View File

@@ -61,7 +61,7 @@
"backup_onboarding_1_description": "αντίγραφο ασφαλείας εκτός εγκατάστασης, είτε στο cloud είτε σε άλλη φυσική τοποθεσία.",
"backup_onboarding_2_description": "τοπικά αντίγραφα σε διαφορετικές συσκευές. Αυτό περιλαμβάνει τα κύρια αρχεία και ένα τοπικό αντίγραφο ασφαλείας αυτών των αρχείων.",
"backup_onboarding_3_description": "συνολικά αντίγραφα των δεδομένων σας, συμπεριλαμβανομένων των αρχικών αρχείων. Αυτό περιλαμβάνει 1 αντίγραφο εκτός εγκατάστασης (offsite) και 2 τοπικά αντίγραφα.",
"backup_onboarding_description": "Συνιστάται η στρατηγική <backblaze-link>αντιγράφων ασφαλείας 3-2-1</backblaze-link> για την προστασία των δεδομένων σας. Θα πρέπει να διατηρείτε αντίγραφα των ανεβασμένων φωτογραφιών/βίντεό σας, καθώς και της βάσης δεδομένων του Immich, για μια ολοκληρωμένη λύση backup.",
"backup_onboarding_description": "Συνιστάται η <backblaze-link>3-2-1 στρατηγική αντιγράφων ασφαλείας</backblaze-link> για την προστασία των δεδομένων σας. Θα πρέπει να διατηρείτε αντίγραφα των ανεβασμένων φωτογραφιών/βίντεό σας, καθώς και της βάσης δεδομένων του Immich, για μια ολοκληρωμένη λύση backup.",
"backup_onboarding_footer": "Για περισσότερες πληροφορίες σχετικά με τη δημιουργία αντιγράφων ασφαλείας του Immich, ανατρέξε στον <link>οδηγό τεκμηρίωσης</link>.",
"backup_onboarding_parts_title": "Ένα αντίγραφο ασφαλείας τύπου 3-2-1 περιλαμβάνει:",
"backup_onboarding_title": "Αντίγραφα ασφαλείας",
@@ -311,7 +311,7 @@
"search_jobs": "Αναζήτηση εργασιών…",
"send_welcome_email": "Αποστολή email καλωσορίσματος",
"server_external_domain_settings": "Εξωτερική διεύθυνση τομέα",
"server_external_domain_settings_description": "Διεύθυνση τομέα για δημόσιους κοινούς συνδέσμους, περιλαμβανομένου του http(s)://",
"server_external_domain_settings_description": "Η διεύθυνση που χρησιμοποιείται για εξωτερικούς συνδέσμους",
"server_public_users": "Δημόσιοι Χρήστες",
"server_public_users_description": "Όλοι οι χρήστες (όνομα και email) εμφανίζονται κατά την προσθήκη ενός χρήστη σε κοινόχρηστα άλμπουμ. Όταν αυτή η επιλογή είναι απενεργοποιημένη, η λίστα χρηστών θα είναι διαθέσιμη μόνο στους διαχειριστές.",
"server_settings": "Ρυθμίσεις διακομιστή",
@@ -372,7 +372,7 @@
"transcoding_audio_codec": "Κωδικοποιητής ήχου",
"transcoding_audio_codec_description": "Το Opus είναι η επιλογή για την υψηλότερη ποιότητα, αλλά έχει χαμηλότερη συμβατότητα με παλιές συσκευές ή λογισμικό.",
"transcoding_bitrate_description": "Βίντεο με ρυθμό μετάδοσης μεγαλύτερο από το μέγιστο ή που δεν είναι σε αποδεκτή μορφή",
"transcoding_codecs_learn_more": "Για να μάθετε περισσότερα για την ορολογία που χρησιμοποιείται εδώ, ανατρέξτε στην τεκμηρίωση του FFmpeg για τους κωδικοποιητές <h264-link>H.264</h264-link>, <hevc-link>HEVC</hevc-link> και <vp9-link>VP9</vp9-link>.",
"transcoding_codecs_learn_more": "Για να μάθετε περισσότερα για την ορολογία που χρησιμοποιείται εδώ, ανατρέξτε στην τεκμηρίωση του FFmpeg για τους κωδικοποιητές <h264-link>H.264 codec</h264-link>, <hevc-link>HEVC codec</hevc-link> και <vp9-link>VP9 codec</vp9-link>.",
"transcoding_constant_quality_mode": "Λειτουργία σταθερής ποιότητας",
"transcoding_constant_quality_mode_description": "Το ICQ είναι καλύτερο από το CQP, αλλά ορισμένες συσκευές επιτάχυνσης υλικού δεν υποστηρίζουν αυτήν τη λειτουργία. Η ρύθμιση αυτής της επιλογής θα προτιμήσει την καθορισμένη λειτουργία κατά τη χρήση κωδικοποίησης βάσει ποιότητας. Αγνοείται από το NVENC, καθώς δεν υποστηρίζει το ICQ.",
"transcoding_constant_rate_factor": "Σταθερός παράγοντας ρυθμού (-crf)",
@@ -411,7 +411,7 @@
"transcoding_tone_mapping": "Χαρτογράφηση χρωματικών τόνων",
"transcoding_tone_mapping_description": "Προσπαθεί να διατηρήσει την εμφάνιση των HDR βίντεο όταν μετατρέπονται σε SDR. Κάθε αλγόριθμος κάνει διαφορετικές επιλογές σχετικά με τα χρώματα, τις λεπτομέρειες και τη φωτεινότητα. Ο αλγόριθμος Hable διατηρεί τις λεπτομέρειες, ο Mobius διατηρεί τα χρώματα και ο Reinhard διατηρεί τη φωτεινότητα.",
"transcoding_transcode_policy": "Πολιτική μετατροπής (βίντεο / ήχου)",
"transcoding_transcode_policy_description": "Πολιτική για το πότε πρέπει να μετατραπεί ένα βίντεο. Τα βίντεο HDR θα μετατρέπονται πάντα (εκτός αν η μετατροπή είναι απενεργοποιημένη).",
"transcoding_transcode_policy_description": "Πολιτική για το πότε πρέπει να γίνει μετατροπή ενός βίντεο. Τα HDR βίντεο και τα βίντεο με pixel format διαφορετικό από YUV 4:2:0 θα μετατρέπονται πάντα (εκτός αν η μετατροπή είναι απενεργοποιημένη).",
"transcoding_two_pass_encoding": "Κωδικοποίηση δύο περασμάτων",
"transcoding_two_pass_encoding_setting_description": "Μετατροπή σε δύο περάσματα για την παραγωγή βίντεο με καλύτερη κωδικοποίηση. Όταν είναι ενεργοποιημένος ο μέγιστος ρυθμός μετάδοσης (απαραίτητος για λειτουργία με H.264 και HEVC), αυτή η λειτουργία χρησιμοποιεί ένα εύρος ρυθμού μετάδοσης βάσει του μέγιστου ρυθμού μετάδοσης και αγνοεί το CRF. Στον κωδικοποιητή VP9, το CRF μπορεί να χρησιμοποιηθεί εάν ο μέγιστος ρυθμός μετάδοσης είναι απενεργοποιημένος.",
"transcoding_video_codec": "Κωδικοποιητής βίντεο",
@@ -441,7 +441,7 @@
"user_successfully_removed": "Ο χρήστης {email} αφαιρέθηκε με επιτυχία.",
"users_page_description": "Σελίδα χρηστών διαχειριστή",
"version_check_enabled_description": "Ενεργοποίηση ελέγχου έκδοσης",
"version_check_implications": "Η λειτουργία ελέγχου έκδοσης, εξαρτάται από την περιοδική επικοινωνία με το github.com",
"version_check_implications": "Η λειτουργία ελέγχου έκδοσης, εξαρτάται από την περιοδική επικοινωνία με το {server}",
"version_check_settings": "Έλεγχος εκδοσης",
"version_check_settings_description": "Ενεργοποίηση/απενεργοποίηση της ειδοποίησης για νέα έκδοση",
"video_conversion_job": "Μετατροπή βίντεο",
@@ -794,6 +794,11 @@
"color": "Χρώμα",
"color_theme": "Χρώμα θέματος",
"command": "Εντολή",
"command_palette_prompt": "Γρήγορη εύρεση σελίδων, ενεργειών ή εντολών",
"command_palette_to_close": "για κλείσιμο",
"command_palette_to_navigate": "για είσοδο",
"command_palette_to_select": "για επιλογή",
"command_palette_to_show_all": "για προβολή όλων",
"comment_deleted": "Το σχόλιο διαγράφηκε",
"comment_options": "Επιλογές σχολίου",
"comments_and_likes": "Σχόλια & αντιδράσεις (likes)",
@@ -844,9 +849,12 @@
"create_link_to_share": "Δημιουργία συνδέσμου για διαμοιρασμό",
"create_link_to_share_description": "Επιτρέψτε σε οποιονδήποτε έχει τον σύνδεσμο να δει τη/τις επιλεγμένη/ες φωτογραφία/ες",
"create_new": "ΔΗΜΙΟΥΡΓΙΑ ΝΕΟΥ",
"create_new_person": "Δημιουργία νέου προσώπου",
"create_new_face": "Δημιουργία νέου προσώπου",
"create_new_person": "Δημιουργία νέου ατόμου",
"create_new_person_hint": "Αντιστοίχιση των επιλεγμένων αρχείων σε ένα νέο πρόσωπο",
"create_new_user": "Δημιουργία νέου χρήστη",
"create_person": "Δημιουργία ατόμου",
"create_person_subtitle": "Προσθέστε ένα όνομα στο επιλεγμένο πρόσωπο για να δημιουργηθεί και να επισημανθεί το νέο άτομο",
"create_shared_album_page_share_add_assets": "ΠΡΟΣΘΗΚΗ ΣΤΟΙΧΕΙΩΝ",
"create_shared_album_page_share_select_photos": "Επιλέξτε Φωτογραφίες",
"create_shared_link": "Δημιουργία κοινόχρηστου συνδέσμου",
@@ -861,13 +869,14 @@
"crop_aspect_ratio_fixed": "Διορθώθηκε",
"crop_aspect_ratio_free": "Ελεύθερο",
"crop_aspect_ratio_original": "Αυθεντικό",
"crop_aspect_ratio_square": "Τετράγωνο",
"curated_object_page_title": "Πράγματα",
"current_device": "Τρέχουσα συσκευή",
"current_pin_code": "Τρέχων κωδικός PIN",
"current_server_address": "Τρέχουσα διεύθυνση διακομιστή",
"custom_date": "Προσαρμοσμένη ημερομηνία",
"custom_locale": "Προσαρμοσμένη Τοπική Ρύθμιση",
"custom_locale_description": "Μορφοποιήστε τις ημερομηνίες και τους αριθμούς, σύμφωνα με τη γλώσσα και την περιοχή",
"custom_locale": "Προσαρμοσμένη τοπική ρύθμιση",
"custom_locale_description": "Μορφοποιήστε τις ημερομηνίες, τους χρόνους και τους αριθμούς, σύμφωνα με την επιλεγμένη γλώσσα και περιοχή",
"custom_url": "Προσαρμοσμένη διεύθυνση URL",
"cutoff_date_description": "Διατήρηση φωτογραφιών από τις τελευταίες…",
"cutoff_day": "{count, plural, one {ημέρα} other {ημέρες}}",
@@ -875,7 +884,7 @@
"daily_title_text_date": "Ε, MMM dd",
"daily_title_text_date_year": "Ε, MMM dd, yyyy",
"dark": "Σκούρο",
"dark_theme": "Εναλλαγή σκοτεινής εμφάνισης",
"dark_theme": "Μετάβαση σε σκοτεινό θέμα",
"date": "Ημερομηνία",
"date_after": "Ημερομηνία μετά",
"date_and_time": "Ημερομηνία και ώρα",
@@ -886,12 +895,8 @@
"day": "Ημέρα",
"days": "Ημέρες",
"deduplicate_all": "Αφαίρεση όλων των διπλότυπων",
"deduplication_criteria_1": "Μέγεθος εικόνας σε byte",
"deduplication_criteria_2": "Αριθμός δεδομένων EXIF",
"deduplication_info": "Πληροφορίες Αφαίρεσης Διπλοτύπων",
"deduplication_info_description": "Για να προεπιλέξουμε αυτόματα τα αρχεία και να αφαιρέσουμε τα διπλότυπα σε μαζική επεξεργασία, εξετάζουμε σε:",
"default_locale": "Προεπιλεγμένη Τοπική Ρύθμιση",
"default_locale_description": "Μορφοποιήστε τις ημερομηνίες και τους αριθμούς με βάση την τοπική ρύθμιση του προγράμματος περιήγησής σας",
"default_locale": "Προεπιλεγμένη γλώσσα",
"default_locale_description": "Μορφοποίηση ημερομηνιών και αριθμών, βάση της γλώσσας του προγράμματος περιήγησης",
"delete": "Διαγραφή",
"delete_action_confirmation_message": "Είστε σίγουροι ότι θέλετε να διαγράψετε αυτό το αρχείο; Αυτή η ενέργεια θα το μετακινήσει στον κάδο απορριμμάτων του διακομιστή και θα εμφανιστεί μήνυμα για το αν θέλετε να το διαγράψετε και τοπικά",
"delete_action_prompt": "{count} διαγράφηκαν",
@@ -967,7 +972,7 @@
"downloading_media": "Λήψη πολυμέσων",
"drop_files_to_upload": "Σύρετε αρχεία εδώ για να τα ανεβάσετε",
"duplicates": "Διπλότυπα",
"duplicates_description": "Επιλύστε κάθε ομάδα υποδεικνύοντας ποιες είναι διπλότυπες, εάν υπάρχουν",
"duplicates_description": "Επιλύστε κάθε ομάδα υποδεικνύοντας ποιες, εάν υπάρχουν, είναι διπλότυπες.",
"duration": "Διάρκεια",
"edit": "Επεξεργασία",
"edit_album": "Επεξεργασία άλμπουμ",
@@ -1004,6 +1009,8 @@
"editor_edits_applied_success": "Οι αλλαγές εφαρμόστηκαν με επιτυχία",
"editor_flip_horizontal": "Οριζόντια αναστροφή",
"editor_flip_vertical": "Κάθετη αναστροφή",
"editor_handle_corner": "{corner, select, top_left {Πάνω αριστερά} top_right {Πάνω δεξιά} bottom_left {Κάτω αριστερά} bottom_right {Κάτω δεξιά} other {A}} λαβή γωνίας",
"editor_handle_edge": "{edge, select, top {Πάνω} bottom {Κάτω} left {Αριστερά} right {Δεξιά} other {Μια}} λαβή πλευράς",
"editor_orientation": "Προσανατολισμός",
"editor_reset_all_changes": "Επαναφορά αλλαγών",
"editor_rotate_left": "Περιστροφή 90° αριστερόστροφα",
@@ -1069,6 +1076,7 @@
"failed_to_update_notification_status": "Αποτυχία ενημέρωσης της κατάστασης ειδοποίησης",
"incorrect_email_or_password": "Λανθασμένο email ή κωδικός πρόσβασης",
"library_folder_already_exists": "Η διαδρομή εισαγωγής υπάρχει ήδη.",
"page_not_found": "Η σελίδα δεν βρέθηκε",
"paths_validation_failed": "{paths, plural, one {# διαδρομή} other {# διαδρομές}} απέτυχαν κατά την επικύρωση",
"profile_picture_transparent_pixels": "Οι εικόνες προφίλ δεν μπορούν να έχουν διαφανή εικονοστοιχεία. Παρακαλώ μεγεθύνετε ή/και μετακινήστε την εικόνα.",
"quota_higher_than_disk_size": "Έχετε ορίσει ένα όριο, μεγαλύτερο από το μέγεθος του δίσκου",
@@ -1168,6 +1176,7 @@
"exif_bottom_sheet_people": "ΑΤΟΜΑ",
"exif_bottom_sheet_person_add_person": "Προσθήκη ονόματος",
"exit_slideshow": "Έξοδος από την παρουσίαση",
"expand": "Ανάπτυξη",
"expand_all": "Ανάπτυξη όλων",
"experimental_settings_new_asset_list_subtitle": "Σε εξέλιξη",
"experimental_settings_new_asset_list_title": "Ενεργοποίηση πειραματικού πλέγματος φωτογραφιών",
@@ -1212,6 +1221,7 @@
"filter_description": "Συνθήκες για φιλτράρισμα των στοχευμένων στοιχείων",
"filter_people": "Φιλτράρισμα ατόμων",
"filter_places": "Φιλτράρισμα τοποθεσιών",
"filter_tags": "Φιλτράρισμα ετικετών",
"filters": "Φίλτρα",
"find_them_fast": "Βρείτε τους γρήγορα με αναζήτηση κατά όνομα",
"first": "Αρχικά",
@@ -1379,9 +1389,11 @@
"library_page_sort_title": "Τίτλος άλμπουμ",
"licenses": "Άδειες",
"light": "Φωτεινό",
"light_theme": "Μετάβαση σε φωτεινό θέμα",
"like": "Μου αρέσει",
"like_deleted": "Το \"μου αρέσει\" διαγράφηκε",
"link_motion_video": "Σύνδεσε βίντεο κίνησης",
"link_to_docs": "Για περισσότερες πληροφορίες, ανατρέξτε στην <link>τεκμηρίωση</link>.",
"link_to_oauth": "Σύνδεση στον OAuth",
"linked_oauth_account": "Ο OAuth λογαριασμός συνδέθηκε",
"list": "Λίστα",
@@ -1642,6 +1654,8 @@
"online": "Σε σύνδεση",
"only_favorites": "Μόνο αγαπημένα",
"open": "Άνοιγμα",
"open_calendar": "Άνοιγμα ημερολογίου",
"open_in_browser": "Άνοιγμα στο πρόγραμμα περιήγησης",
"open_in_map_view": "Άνοιγμα σε προβολή χάρτη",
"open_in_openstreetmap": "Άνοιγμα στο OpenStreetMap",
"open_the_search_filters": "Ανοίξτε τα φίλτρα αναζήτησης",
@@ -1801,9 +1815,8 @@
"rate_asset": "Βαθμολογήστε το στοιχείο",
"rating": "Αξιολόγηση με αστέρια",
"rating_clear": "Εκκαθάριση αξιολόγησης",
"rating_count": "{count, plural, one {# αστέρι} other {# αστέρια}}",
"rating_count": "{count, plural, =0 {Χωρίς αξιολόγηση} one {# αστέρι} other {# αστέρια}}",
"rating_description": "Εμφάνιση της αξιολόγησης EXIF στον πίνακα πληροφοριών",
"rating_set": "Η βαθμολογία ορίστηκε σε {rating, plural, one {# αστέρι} other {# αστέρια}}",
"reaction_options": "Επιλογές αντίδρασης",
"read_changelog": "Διαβάστε το Αρχείο Καταγραφής Αλλαγών",
"readonly_mode_disabled": "Η λειτουργία μόνο-για-ανάγνωση απενεργοποιήθηκε",
@@ -1875,7 +1888,10 @@
"reset_pin_code_success": "Ο κωδικός PIN επαναφέρθηκε επιτυχώς",
"reset_pin_code_with_password": "Μπορείτε πάντα να επαναφέρετε τον κωδικό PIN χρησιμοποιώντας τον κωδικό πρόσβασής σας",
"reset_sqlite": "Επαναφορά SQLite βάσης δεδομένων",
"reset_sqlite_confirmation": "Είσαι σίγουρος ότι θέλεις να επαναφέρεις τη βάση δεδομένων SQLite; Θα χρειαστεί να κάνεις αποσύνδεση και επανασύνδεση για να επανασυγχρονίσεις τα δεδομένα",
"reset_sqlite_clear_app_data": "Εκκαθάριση δεδομένων",
"reset_sqlite_confirmation": "Είστε βέβαιοι ότι θέλετε να διαγράψετε τα δεδομένα της εφαρμογής; Αυτό θα διαγράψει όλες τις ρυθμίσεις και θα σας αποσυνδέσει.",
"reset_sqlite_confirmation_note": "Σημείωση: Θα χρειαστεί να επανεκκινήσετε την εφαρμογή μετά την εκκαθάριση.",
"reset_sqlite_done": "Τα δεδομένα της εφαρμογής διαγράφηκαν. Παρακαλώ επανεκκινήστε το Immich και συνδεθείτε ξανά.",
"reset_sqlite_success": "Η επαναφορά της SQLite βάσης δεδομένων ολοκληρώθηκε με επιτυχία",
"reset_to_default": "Επαναφορά στις προεπιλογές",
"resolution": "Ανάλυση",
@@ -1903,6 +1919,7 @@
"saved_settings": "Αποθηκευμένες ρυθμίσεις",
"say_something": "Πείτε κάτι",
"scaffold_body_error_occurred": "Παρουσιάστηκε σφάλμα",
"scaffold_body_error_unrecoverable": "Παρουσιάστηκε ένα μη ανακτήσιμο σφάλμα. Παρακαλώ κοινοποιήστε το σφάλμα και το stack trace σε Discord ή GitHub για να μπορέσουμε να βοηθήσουμε. Αν σας ζητηθεί, μπορείτε να διαγράψετε τα δεδομένα της εφαρμογής παρακάτω.",
"scan": "Σάρωση",
"scan_all_libraries": "Σάρωση Όλων των Βιβλιοθηκών",
"scan_library": "Σάρωση",
@@ -1938,6 +1955,7 @@
"search_filter_ocr": "Αναζήτηση κατά OCR",
"search_filter_people_title": "Επιλέξτε άτομα",
"search_filter_star_rating": "Βαθμολογία με αστέρια",
"search_filter_tags_title": "Επιλογή ετικετών",
"search_for": "Αναζήτηση για",
"search_for_existing_person": "Αναζήτηση υπάρχοντος ατόμου",
"search_no_more_result": "Δεν υπάρχουν άλλα αποτελέσματα",
@@ -2017,6 +2035,9 @@
"set_profile_picture": "Ορισμός εικόνας προφίλ",
"set_slideshow_to_fullscreen": "Ορίστε την παρουσίαση σε πλήρη οθόνη",
"set_stack_primary_asset": "Ορισμός ως κύριο στοιχείο",
"setting_image_navigation_enable_subtitle": "Αν είναι ενεργοποιημένο, μπορείτε να μεταβείτε στην προηγούμενη/επόμενη εικόνα πατώντας στο αριστερότερο/δεξιότερο τέταρτο της οθόνης.",
"setting_image_navigation_enable_title": "Πατήστε για Περιήγηση",
"setting_image_navigation_title": "Περιήγηση εικόνων",
"setting_image_viewer_help": "Το πρόγραμμα προβολής λεπτομερειών φορτώνει πρώτα τη μικρογραφία, στη συνέχεια φορτώνει την προεπισκόπηση μεσαίου μεγέθους (αν είναι ενεργοποιημένη), τέλος φορτώνει το πρωτότυπο (αν είναι ενεργοποιημένο).",
"setting_image_viewer_original_subtitle": "Ενεργοποιήστε τη φόρτωση της πρωτότυπης εικόνας πλήρους ανάλυσης (μεγάλη!). Απενεργοποιήστε για να μειώσετε τη χρήση δεδομένων (τόσο στο δίκτυο όσο και στην κρυφή μνήμη της συσκευής).",
"setting_image_viewer_original_title": "Φόρτωση πρωτότυπης εικόνας",
@@ -2183,6 +2204,7 @@
"support": "Υποστήριξη",
"support_and_feedback": "Υποστήριξη & Σχόλια",
"support_third_party_description": "Η εγκατάσταση του Immich που χρησιμοποιείτε, έχει πακεταριστεί από τρίτους. Τα προβλήματα που αντιμετωπίζετε μπορεί να οφείλονται σε αυτό το πακέτο, οπότε παρακαλούμε να αναφέρετε τα προβλήματα πρώτα σε εκείνους, χρησιμοποιώντας τους παρακάτω συνδέσμους.",
"supporter": "Υποστηρικτής",
"swap_merge_direction": "Εναλλαγή κατεύθυνσης συγχώνευσης",
"sync": "Συγχρονισμός",
"sync_albums": "Συγχρονισμός άλμπουμ",
@@ -2195,6 +2217,7 @@
"tag": "Ετικέτα",
"tag_assets": "Ετικετοποίηση στοιχείων",
"tag_created": "Δημιουργήθηκε ετικέτα: {tag}",
"tag_face": "Επισήμανση προσώπου",
"tag_feature_description": "Περιήγηση σε φωτογραφίες και βίντεο που είναι οργανωμένα σύμφωνα με λογικά θέματα ετικετών",
"tag_not_found_question": "Δεν μπορείτε να βρείτε μια ετικέτα; <link>Δημιουργήστε μια νέα ετικέτα.</link>",
"tag_people": "Επισήμανση ατόμων",
@@ -2294,6 +2317,7 @@
"unstack_action_prompt": "{count} αποσυσσωρεύτηκαν",
"unstacked_assets_count": "Αποστοιβάξατε {count, plural, one {# στοιχείο} other {# στοιχεία}}",
"unsupported_field_type": "Μη υποστηριζόμενος τύπος πεδίου",
"unsupported_file_type": "Το αρχείο {file} δεν μπορεί να μεταφορτωθεί επειδή ο τύπος αρχείου {type} δεν υποστηρίζεται.",
"untagged": "Χωρίς ετικέτα",
"untitled_workflow": "Νέα ροή εργασίας",
"up_next": "Ακολουθεί",
@@ -2320,6 +2344,8 @@
"url": "URL",
"usage": "Χρήση",
"use_biometric": "Χρήση βιομετρικών στοιχείων",
"use_browser_locale": "Χρήση γλώσσας προγράμματος περιήγησης",
"use_browser_locale_description": "Μορφοποιήστε τις ημερομηνίες, τους χρόνους και τους αριθμούς σύμφωνα με τη γλώσσα του προγράμματος περιήγησής σας",
"use_current_connection": "Χρήση τρέχουσας σύνδεσης",
"use_custom_date_range": "Χρήση προσαρμοσμένου εύρους ημερομηνιών",
"user": "Χρήστης",
@@ -2373,6 +2399,7 @@
"viewer_remove_from_stack": "Κατάργηση από τη Στοίβα",
"viewer_stack_use_as_main_asset": "Χρήση ως Κύριο Στοιχείο",
"viewer_unstack": "Αποστοίβαξε",
"visibility": "Ορατότητα",
"visibility_changed": "Η ορατότητα άλλαξε για {count, plural, one {# άτομο} other {# άτομα}}",
"visual": "Οπτικό",
"visual_builder": "Οπτικός δημιουργός",

View File

@@ -441,7 +441,7 @@
"user_successfully_removed": "User {email} has been successfully removed.",
"users_page_description": "Admin users page",
"version_check_enabled_description": "Enable version check",
"version_check_implications": "The version check feature relies on periodic communication with github.com",
"version_check_implications": "The version check feature relies on periodic communication with {server}",
"version_check_settings": "Version Check",
"version_check_settings_description": "Enable/disable the new version notification",
"video_conversion_job": "Transcode videos",
@@ -849,9 +849,12 @@
"create_link_to_share": "Create link to share",
"create_link_to_share_description": "Let anyone with the link see the selected photo(s)",
"create_new": "CREATE NEW",
"create_new_face": "Create new face",
"create_new_person": "Create new person",
"create_new_person_hint": "Assign selected assets to a new person",
"create_new_user": "Create new user",
"create_person": "Create person",
"create_person_subtitle": "Add a name to the selected face to create and tag the new person",
"create_shared_album_page_share_add_assets": "ADD ASSETS",
"create_shared_album_page_share_select_photos": "Select Photos",
"create_shared_link": "Create shared link",
@@ -866,6 +869,7 @@
"crop_aspect_ratio_fixed": "Fixed",
"crop_aspect_ratio_free": "Free",
"crop_aspect_ratio_original": "Original",
"crop_aspect_ratio_square": "Square",
"curated_object_page_title": "Things",
"current_device": "Current device",
"current_pin_code": "Current PIN code",
@@ -880,7 +884,7 @@
"daily_title_text_date": "E, MMM dd",
"daily_title_text_date_year": "E, MMM dd, yyyy",
"dark": "Dark",
"dark_theme": "Toggle dark theme",
"dark_theme": "Switch to dark theme",
"date": "Date",
"date_after": "Date after",
"date_and_time": "Date and Time",
@@ -891,10 +895,8 @@
"day": "Day",
"days": "Days",
"deduplicate_all": "Deduplicate All",
"deduplication_criteria_1": "Image size in bytes",
"deduplication_criteria_2": "Count of EXIF data",
"deduplication_info": "Deduplication Info",
"deduplication_info_description": "To automatically preselect assets and remove duplicates in bulk, we look at:",
"default_locale": "Default Locale",
"default_locale_description": "Format dates and numbers based on your browser locale",
"delete": "Delete",
"delete_action_confirmation_message": "Are you sure you want to delete this asset? This action will move the asset to the server's trash and will prompt if you want to delete it locally",
"delete_action_prompt": "{count} deleted",
@@ -970,7 +972,7 @@
"downloading_media": "Downloading media",
"drop_files_to_upload": "Drop files anywhere to upload",
"duplicates": "Duplicates",
"duplicates_description": "Resolve each group by indicating which, if any, are duplicates",
"duplicates_description": "Resolve each group by indicating which, if any, are duplicates.",
"duration": "Duration",
"edit": "Edit",
"edit_album": "Edit album",
@@ -1007,6 +1009,8 @@
"editor_edits_applied_success": "Edits applied successfully",
"editor_flip_horizontal": "Flip horizontal",
"editor_flip_vertical": "Flip vertical",
"editor_handle_corner": "{corner, select, top_left {Top-left} top_right {Top-right} bottom_left {Bottom-left} bottom_right {Bottom-right} other {A}} corner handle",
"editor_handle_edge": "{edge, select, top {Top} bottom {Bottom} left {Left} right {Right} other {An}} edge handle",
"editor_orientation": "Orientation",
"editor_reset_all_changes": "Reset changes",
"editor_rotate_left": "Rotate 90° counterclockwise",
@@ -1385,9 +1389,11 @@
"library_page_sort_title": "Album title",
"licenses": "Licenses",
"light": "Light",
"light_theme": "Switch to light theme",
"like": "Like",
"like_deleted": "Like deleted",
"link_motion_video": "Link motion video",
"link_to_docs": "For more information, refer to the <link>documentation</link>.",
"link_to_oauth": "Link to OAuth",
"linked_oauth_account": "Linked OAuth account",
"list": "List",
@@ -1649,6 +1655,7 @@
"only_favorites": "Only favorites",
"open": "Open",
"open_calendar": "Open calendar",
"open_in_browser": "Open in browser",
"open_in_map_view": "Open in map view",
"open_in_openstreetmap": "Open in OpenStreetMap",
"open_the_search_filters": "Open the search filters",
@@ -2210,6 +2217,7 @@
"tag": "Tag",
"tag_assets": "Tag assets",
"tag_created": "Created tag: {tag}",
"tag_face": "Tag face",
"tag_feature_description": "Browsing photos and videos grouped by logical tag topics",
"tag_not_found_question": "Cannot find a tag? <link>Create a new tag.</link>",
"tag_people": "Tag People",
@@ -2391,6 +2399,7 @@
"viewer_remove_from_stack": "Remove from Stack",
"viewer_stack_use_as_main_asset": "Use as Main Asset",
"viewer_unstack": "Un-Stack",
"visibility": "Visibility",
"visibility_changed": "Visibility changed for {count, plural, one {# person} other {# people}}",
"visual": "Visual",
"visual_builder": "Visual builder",

View File

@@ -1,7 +1,7 @@
{
"about": "Pri",
"account": "Konto",
"account_settings": "Agordoj de konto",
"account_settings": "Agordoj pri konto",
"acknowledge": "Komprenite",
"action": "Ago",
"action_common_update": "Ĝisdatigi",
@@ -59,12 +59,12 @@
"backup_database_enable_description": "Ebligi kreon de kopioj de datumbazo",
"backup_keep_last_amount": "Nombro de antaŭaj kopioj konservendaj",
"backup_onboarding_1_description": "fora kopio, ĉu en nubo ĉu en alia fizika loko.",
"backup_onboarding_2_description": "lokaj kopioj ĉe diversaj aparatoj, inkluzive ĉefajn dosierojn kaj lokan sekurkopion de tiuj dosieroj.",
"backup_onboarding_2_description": "lokaj kopioj ĉe diversaj aparatoj, inkluzive ĉefajn dosierojn kaj lokan savkopion de tiuj dosieroj.",
"backup_onboarding_3_description": "suma nombro de kopioj de viaj datumoj, inkluzive la originajn dosierojn, t.e. 1 fora kopio kaj 2 lokaj kopioj.",
"backup_onboarding_description": "Ni rekomendas <backblaze-link>strategion de 3-2-1</backblaze-link> por protekti viajn datumojn. Vi devus havi sekurkopiojn kaj de viaj fotoj/videoj kaj de la datumbazo de Immich por esti plene sekura.",
"backup_onboarding_footer": "Por pli da informoj pri sekurkopioj kun Immich, bonvolu legi la <link>dokumentaron</link>.",
"backup_onboarding_description": "Ni rekomendas <backblaze-link>strategion de 3-2-1</backblaze-link> por protekti viajn datumojn. Vi devus havi savkopiojn kaj de viaj fotoj/videoj kaj de la datumbazo de Immich por esti plene sekura.",
"backup_onboarding_footer": "Por pli da informoj pri savkopioj kun Immich, bonvolu legi la <link>dokumentaron</link>.",
"backup_onboarding_parts_title": "Sekur-kopioj laŭ strategio 3-2-1 inkluzivas:",
"backup_onboarding_title": "Sekurkopioj",
"backup_onboarding_title": "Savkopioj",
"backup_settings": "Agordaĵoj de kopiado de datumbazo",
"backup_settings_description": "Administri agordojn pri datumbazo-nekropsio.",
"cleared_jobs": "Taskoj forigitaj por: {job}",
@@ -192,19 +192,19 @@
"machine_learning_url_description": "La URL-o de la maŝin-lerna servilo. Se vi donas pli ol unu URL-o, la sistemo provos ĉiun servilon unu post la alia ĝis kiam unu sukcese respondas, de la unua ĝis la lasta. Serviloj, kiuj ne respondas, estos dumtempe ignoritaj.",
"maintenance_delete_backup": "Forigi savkopion",
"maintenance_delete_backup_description": "La dosiero estos por ĉiam forigita.",
"maintenance_delete_error": "Malsukcesis forigi sekurkopion.",
"maintenance_delete_error": "Malsukcesis forigi savkopion.",
"maintenance_restore_backup": "Restaŭri savkopion",
"maintenance_restore_backup_description": "Immich estos forigita kaj reinstalita de la elektita sekurkopio. Nova sekurkopio estos kreita antaŭe.",
"maintenance_restore_backup_different_version": "Tiu ĉi sekurkopio estis kreita per alia versio de Immich!",
"maintenance_restore_backup_unknown_version": "Ne eblis ektrovi version de la sekurkopio.",
"maintenance_restore_database_backup": "Restaŭri datumbazon el sekurkopio",
"maintenance_restore_database_backup_description": "Reveni al antaŭa stato de datumbazo pere de sekurkopio",
"maintenance_restore_backup_description": "Immich estos forigita kaj reinstalita de la elektita savkopio. Nova savkopio estos kreita antaŭe.",
"maintenance_restore_backup_different_version": "Tiu ĉi savkopio estis kreita per alia versio de Immich!",
"maintenance_restore_backup_unknown_version": "Ne eblis ektrovi version de la savkopio.",
"maintenance_restore_database_backup": "Restaŭri datumbazon el savkopio",
"maintenance_restore_database_backup_description": "Reveni al antaŭa stato de datumbazo pere de savkopio",
"maintenance_settings": "Funkcitenado",
"maintenance_settings_description": "Ŝalti la funkcitenadan reĝimon de Immich.",
"maintenance_start": "Ŝanĝi al funkci-tenada reĝimo",
"maintenance_start_error": "Malsukcesis ŝalti funkci-tenadan reĝimon.",
"maintenance_upload_backup": "Alŝuti dosieron de sekurkopio de datumbazo",
"maintenance_upload_backup_error": "Malsukcesis alŝuti sekurkopion, ĉu ĝi havas formaton .sql aŭ .sql.gz?",
"maintenance_upload_backup": "Alŝuti dosieron de savkopio de datumbazo",
"maintenance_upload_backup_error": "Malsukcesis alŝuti savkopion, ĉu ĝi havas formaton .sql aŭ .sql.gz?",
"manage_concurrency": "Administri samtempajn taskojn",
"manage_concurrency_description": "Vizitu la paĝon Taskoj por agordi la nombron de samtempaj taskoj",
"manage_log_settings": "Administri agordojn pri protokolado",
@@ -259,14 +259,14 @@
"notification_email_secure": "SMTPS",
"notification_email_secure_description": "Uzi SMTPS (SMTP pere de TLS)",
"notification_email_sent_test_email_button": "Sendi testmesaĝon kaj konservi",
"notification_email_setting_description": "Agordoj pri atentigoj per retmesaĝoj",
"notification_email_setting_description": "Agordoj pri sciigoj per retmesaĝoj",
"notification_email_test_email": "Sendi testmesaĝon",
"notification_email_test_email_failed": "Malsukcesis sendi testmesaĝon, kontrolu la agordaĵojn",
"notification_email_test_email_sent": "Testmesaĝo estas sendita al {email}. Bonvolu kontroli ĉu ĝi bone alvenis.",
"notification_email_username_description": "Uzantonomo por uzi kun la retmesaĝa servilo",
"notification_enable_email_notifications": "Ŝalti retmesaĝajn atentigilojn",
"notification_settings": "Agordoj pri atentigiloj",
"notification_settings_description": "Administri agordojn pri atentigiloj, inkluzive tiujn per retmesaĝoj",
"notification_enable_email_notifications": "Ŝalti sciigojn per retmesaĝo",
"notification_settings": "Agordoj pri sciigoj",
"notification_settings_description": "Administri agordojn pri sciigoj, inkluzive tiujn per retmesaĝoj",
"oauth_auto_launch": "Startigi aŭtomate",
"oauth_auto_launch_description": "Aŭtomate startigi la OAuth-procezon tuj ĉe la ensaluta paĝo",
"oauth_auto_register": "Registri aŭtomate",
@@ -311,7 +311,7 @@
"search_jobs": "Serĉi taskojn…",
"send_welcome_email": "Sendi bonvenan retmesaĝon",
"server_external_domain_settings": "Ekstera domajno",
"server_external_domain_settings_description": "Domajno por publike dividitaj ligiloj, inkl. http(s)://",
"server_external_domain_settings_description": "Domajno por eksteraj ligiloj",
"server_public_users": "Publikaj uzantoj",
"server_public_users_description": "Nomo kaj retadreso de ĉiuj uzantoj estas listigitaj kiam oni aldonas uzanton al dividita albumo. Kiam malŝaltita, la listo de uzantoj estos videbla nur por administrantoj.",
"server_settings": "Agordoj de servilo",
@@ -348,8 +348,8 @@
"template_email_settings": "Ŝablonoj de retmesaĝoj",
"template_email_update_album": "Ŝablono por retmesaĝo por ĝisdatigi albumon",
"template_email_welcome": "Ŝablono de bonvena retmesaĝo",
"template_settings": "Ŝablonoj de atentigiloj",
"template_settings_description": "Administri tajloritajn skemojn por atentigiloj",
"template_settings": "Ŝablonoj de sciigoj",
"template_settings_description": "Administri tajloritajn skemojn por sciigoj",
"theme_custom_css_settings": "Tajlorita CSS",
"theme_custom_css_settings_description": "Vi povas ŝanĝi la vidan aspekton de Immich per CSS.",
"theme_settings": "Agordoj de la etoso",
@@ -411,7 +411,7 @@
"transcoding_tone_mapping": "Mapado de tonoj",
"transcoding_tone_mapping_description": "Klopodas konservi aspekton de HDR-videoj dum transkodigo al SDR. Ĉiu algoritmo faras proprajn kompromisojn pri koloroj, detaloj kaj heleco. Hable konservas detalojn, Mobius konservas kolorojn, kaj Reinhard konservas helecon.",
"transcoding_transcode_policy": "Politiko de transkodado",
"transcoding_transcode_policy_description": "Politiko pri kiam video estos transkodita. HDR-videoj ĉiam estas transkoditaj (krom se transkodado estas malŝaltita).",
"transcoding_transcode_policy_description": "Politiko pri kiam video estos transkodita. HDR-videoj, kune kun videoj kun ciuj bilderaj formatoj krom YUV 4:2:0, ĉiam estas transkoditaj (krom se transkodado estas malŝaltita).",
"transcoding_two_pass_encoding": "Dupasa kodigo",
"transcoding_two_pass_encoding_setting_description": "Transkodigo per du pasoj por krei pli bone kodigitajn videojn. Kiam eblas uzi maksimuman bitrapidon (bezonate por funkcii kun H.264 kaj kun HEVC), tiu ĉi modo uzas gamon de bitrapidoj surbaze de tiu maksimumo, kaj ignoras CRF. Por VP9, eblas uzi CRF se maksimuma bitrapido estas malŝaltita.",
"transcoding_video_codec": "Videa kodeko",
@@ -433,36 +433,690 @@
"user_details": "Detaloj pri uzanto",
"user_management": "Administrado de uzantoj",
"user_password_has_been_reset": "Pasvorto de tiu ĉi uzanto estas restarigita:",
"user_settings_description": "Administri agordojn pri uzantoj"
"user_password_reset_description": "Bonvolu sendi la dumtempan pasvorton al la uzanto, kaj informu ke ĝi devos esti ŝanĝita je la sekva ensaluto.",
"user_restore_description": "La konto de <b>{user}</b> estos restaŭrita.",
"user_restore_scheduled_removal": "Restaŭri uzanton - forviŝo planita je {date, date, long}",
"user_settings": "Agordoj de uzanto",
"user_settings_description": "Administri agordojn pri uzantoj",
"user_successfully_removed": "La uzanto {email} estas forigita.",
"users_page_description": "Paĝo por administri uzantojn",
"version_check_enabled_description": "Ebligi kontrolon de versio",
"version_check_implications": "La funkcio de kontrolado de versio bezonas de temp' al tempan komunikadon kun {server}",
"version_check_settings": "Kontrolo de versio",
"version_check_settings_description": "Ŝalti/malŝalti sciigojn pri novaj versioj",
"video_conversion_job": "Transkodado de videoj",
"video_conversion_job_description": "Transkodi videojn por pli vasta kongruo kun retumiloj kaj aparatoj"
},
"admin_email": "Retadreso de administranto",
"admin_password": "Pasvorto de administranto",
"administration": "Administrado",
"advanced": "Altnivelaj agordoj",
"advanced_settings_clear_image_cache": "Forviŝi kaŝmemoron de bildoj",
"advanced_settings_clear_image_cache_error": "Malsukcesis forviŝi kaŝmemoron",
"advanced_settings_clear_image_cache_success": "Sukcesis liberigi {size}",
"advanced_settings_enable_alternate_media_filter_subtitle": "Uzu tiun ĉi agordon por filtri elementojn dum sinkronigo laŭ alternativaj kriterioj. Uzu tion ĉi nur se vi vidas, ke la apo ne sukcesas trovi ĉiujn albumojn.",
"advanced_settings_enable_alternate_media_filter_title": "[TESTATA] Uzi alternativan filtrilon por sinkronigi albumojn",
"advanced_settings_log_level_title": "Nivelo de protokolado: {level}",
"advanced_settings_prefer_remote_subtitle": "Kelkaj aparatoj ege malrapide ŝargas bildetojn el lokaj elementoj. Ŝaltu tiun ĉi agordon por anstataŭe ŝargi bildetojn de la servilo.",
"advanced_settings_prefer_remote_title": "Preferi bildojn el servilo",
"advanced_settings_proxy_headers_subtitle": "Aldoni paĝokapoj pri prokurilo, kiujn immich sendu kun ĉiu reta peto",
"advanced_settings_proxy_headers_title": "Tajloritaj paĝokapoj pri prokurilo [EKSPERIMENTA]",
"advanced_settings_readonly_mode_subtitle": "Ŝaltas nurlegan reĝimon, kie oni povas nur rigardi fotojn. Funkcioj kiel elekti plurajn bildojn, dividi kun aliaj, forigi k.a. estas ĉiuj neeblaj. Vi povas ŝalti/malŝalti tiun reĝimon per la profilbildo de uzanto ĉe la hejmpaĝo",
"advanced_settings_readonly_mode_title": "Nurlega reĝimo",
"advanced_settings_self_signed_ssl_subtitle": "Ignoras kontrolon de SSL-atestilo ĉe la servilo. Bezonata por memsubskribita atestilo.",
"advanced_settings_self_signed_ssl_title": "Permesi memsubskribitajn SSL-atestilojn [EKSPERIMENTA]",
"advanced_settings_sync_remote_deletions_subtitle": "Aŭtomate forigi aŭ malforigi elementojn en tiu ĉi aparato kiam oni faras tiun agon per retumilo",
"advanced_settings_sync_remote_deletions_title": "Sinkronigi forigojn [EKSPERIMENTA]",
"advanced_settings_tile_subtitle": "Altnivelaj agordaĵoj",
"advanced_settings_troubleshooting_subtitle": "Ŝalti pliajn funkciojn por problemsolvi",
"advanced_settings_troubleshooting_title": "Problemsolvi",
"age_months": "Aĝo {months, plural, one {# monato} other {# monatoj}}",
"age_year_months": "Aĝo 1 jaro, {months, plural, one {# monato} other {# monatoj}}",
"age_years": "Aĝo {years, plural, one {# jaro} other {# jaroj}}",
"album": "Albumo",
"album_added": "Albumo aldonita",
"album_added_notification_setting_description": "Ricevi retmesaĝon kiam iu aldonas vin al dividita albumo",
"album_cover_updated": "Kovrilo de albumo ĝisdatigita",
"album_delete_confirmation": "Ĉu vi certas, ke vi volas forigi la albumon {album}?",
"album_delete_confirmation_description": "Se temas pri dividita albumo, aliaj uzantoj ne plu povos vidi ĝin.",
"album_deleted": "Albumo forigita",
"album_info_card_backup_album_excluded": "EKSKLUDITA",
"album_info_card_backup_album_included": "INKLUZIVITA",
"album_info_updated": "Informoj pri albumo ĝisdatigitaj",
"album_leave": "Foriri de albumo?",
"album_leave_confirmation": "Ĉu vi certas, ke vi volas forlasi la albumon {album}?",
"album_name": "Nomo de albumo",
"album_options": "Agordoj de albumo",
"album_remove_user": "Ĉu forigi uzanton?",
"album_remove_user_confirmation": "Ĉu vi certas, ke vi volas forigi la uzanton {user}?",
"album_search_not_found": "Neniu albumo kongruas kun via serĉo",
"album_selected": "Albumo elektita",
"album_share_no_users": "Ŝajne vi jam dividis tiun albumon kun ĉiuj uzantoj AŬ ne ekzistas uzantoj kun kiuj vi povus dividi ĝin.",
"album_summary": "Resumo de albumo",
"album_updated": "Albumo ĝisdatigita",
"album_updated_setting_description": "Ricevi retmesaĝon kiam dividita albumo havas novajn elementojn",
"album_upload_assets": "Alŝuti elementojn el via komputilo kaj aldoni ilin al albumo",
"album_user_left": "Foriris de {album}",
"album_user_removed": "Uzanto {user} forigita",
"album_viewer_appbar_delete_confirm": "Ĉu vi certas, ke vi volas forigi tiun ĉi albumon de via konto?",
"album_viewer_appbar_share_err_delete": "Malsukcesis forigi albumon",
"album_viewer_appbar_share_err_leave": "Malsukcesis foriri de albumo",
"album_viewer_appbar_share_err_remove": "Okazis problemo dum forigo de elementoj el albumo",
"album_viewer_appbar_share_err_title": "Malsukcesis ŝanĝi titolon de albumo",
"album_viewer_appbar_share_leave": "Foriri de albumo",
"album_viewer_appbar_share_to": "Dividi al",
"album_viewer_page_share_add_users": "Aldoni uzantojn",
"album_with_link_access": "Permesi, ke iu ajn kun la ligilo povu vidi la fotojn kaj homojn en la albumo.",
"albums": "Albumoj",
"albums_count": "{count, plural, one {{count, number} Albumo} other {{count, number} Albumoj}}",
"albums_default_sort_order": "Defaŭlta vicordigo en albumoj",
"albums_default_sort_order_description": "Metodo por vicordigi elementojn defaŭlte uzata en nova albumo.",
"albums_feature_description": "Kolektoj de elementoj, kiujn vi povas dividi kun aliaj uzantoj.",
"albums_on_device_count": "Albumoj ĉe la aparato ({count})",
"albums_selected": "{count, plural, one {# albumo elektita} other {# albumoj elektitaj}}",
"all": "Ĉiuj",
"all_albums": "Ĉiuj albumoj",
"all_people": "Ĉiuj homoj",
"all_photos": "Ĉiuj fotoj",
"all_videos": "Ĉiuj videoj",
"allow_dark_mode": "Permesi malhelan reĝimon",
"allow_edits": "Permesi redaktojn",
"allow_public_user_to_download": "Permesu, ke publikano elŝutu el la albumo",
"allow_public_user_to_upload": "Permesu, ke publikano alŝutu al la albumo",
"allowed": "Permesita",
"alt_text_qr_code": "Bildo de QR-kodo",
"always_keep": "Ĉiam konservi",
"always_keep_photos_hint": "La funkcio 'Liberigi spacon' konservos ĉiujn fotojn en tiu ĉi aparato.",
"always_keep_videos_hint": "La funkcio 'Liberigi spacon' konservos ĉiujn videojn en tiu ĉi aparato.",
"anti_clockwise": "Kontraŭ-horloĝdirekte",
"api_key": "API-ŝlosilo",
"api_key_description": "Tio ĉi montriĝos nur unufoje. Certiĝu, ke vi kopiis ĝin antaŭ ol fermi la fenestron.",
"api_key_empty": "La nomo de via API-ŝlosilo ne devus esti malplena",
"api_keys": "API-ŝlosiloj",
"app_architecture_variant": "Varianto (arkitekturo)",
"app_bar_signout_dialog_content": "Ĉu vi certas, ke vi volas elsaluti?",
"app_bar_signout_dialog_ok": "Jes",
"app_bar_signout_dialog_title": "Elsaluti",
"app_download_links": "Ligiloj por elŝuti la apon",
"app_settings": "Agordoj pri apo",
"app_stores": "Ap-vendejoj",
"app_update_available": "Ĝisdatigo de apo disponeblas",
"appears_in": "Aperas en",
"apply_count": "Apliki ({count, number})",
"archive": "Arĥivo",
"archive_action_prompt": "{count} aldonita(j) al arĥivo",
"archive_or_unarchive_photo": "Enarĥivigi aŭ elarĥivigi foton",
"archive_page_no_archived_assets": "Neniuj elementoj trovitaj en arĥivo",
"archive_page_title": "Arĥivigi ({count})",
"archive_size": "Grandeco de arĥivo",
"archive_size_description": "Agordu la grandecon de arĥivaj dosieroj por elŝuti (en GiB)",
"archived": "Enarĥivigita(j)",
"archived_count": "{count, plural, one {# enarĥivigita} other {# enarĥivigitaj}}",
"are_these_the_same_person": "Ĉu la sama homo?",
"are_you_sure_to_do_this": "Ĉu vi certas, ke vi volas fari tion?",
"array_field_not_fully_supported": "Tablaj kampoj postulas permanan redakton de JSON",
"asset_action_delete_err_read_only": "Ne eblas forigi nurlegajn elementojn, ili estos lasitaj senŝanĝaj",
"asset_action_share_err_offline": "Ne eblis repreni nekonektitajn elementojn, ili estos ignoritaj",
"asset_added_to_album": "Aldonita al albumo",
"asset_adding_to_album": "Aldonas al albumo…",
"asset_created": "Elemento kreita",
"asset_description_updated": "Priskribo de elemento ĝisdatigita",
"asset_filename_is_offline": "Elemento {filename} estas nedisponebla",
"asset_has_unassigned_faces": "Elemento enhavas nekonatajn vizaĝojn",
"asset_hashing": "Haketado…",
"asset_list_group_by_sub_title": "Grupigi laŭ",
"asset_list_layout_settings_dynamic_layout_title": "Dinamika enpaĝigo",
"asset_list_layout_settings_group_automatically": "Aŭtomata",
"asset_list_layout_settings_group_by": "Ĝrupigi elementojn laŭ",
"asset_list_layout_settings_group_by_month_day": "Monato + tago",
"asset_list_layout_sub_title": "Enpaĝigo",
"asset_list_settings_subtitle": "Agordoj pri enpaĝigo",
"asset_list_settings_title": "Krado de fotoj",
"asset_not_found_on_device_android": "Elemento ne trovita en aparato",
"asset_not_found_on_device_ios": "Elemento ne trovita en aparato. Se vi uzas iCloud, povus esti ke la kopio ĉe iCloud estas rompita",
"asset_not_found_on_icloud": "Elemento ne trovita en iCloud. Povus esti, ke la kopio ĉe iCloud estas rompita",
"asset_offline": "Elemento nedisponebla",
"asset_offline_description": "Ne eblis trovi tiun eksteran elementon. Kontaktu la administranton de via Immich por helpo pri tio.",
"asset_restored_successfully": "Elemento sukcese riparita",
"asset_skipped": "Preterlasita(j)",
"asset_skipped_in_trash": "En rubujo",
"asset_trashed": "Elemento enrubujigita",
"asset_troubleshoot": "Problemsolvi pri elemento",
"asset_uploaded": "Alŝutita(j)",
"asset_uploading": "Alŝutado…",
"asset_viewer_settings_subtitle": "Administri agordojn pri vidilo de galerioj",
"asset_viewer_settings_title": "Montrilo de elemento",
"assets": "Elementoj",
"assets_added_count": "Sukcese aldonis {count, plural, one {# elementon} other {# elementojn}}",
"assets_added_to_album_count": "Sukcese aldonis {count, plural, one {# elementon} other {# elementojn}} al la albumo",
"assets_added_to_albums_count": "Sukcese aldonis {assetTotal, plural, one {# elementon} other {# elementojn}} al {albumTotal, plural, one {# albumo} other {# albumoj}}",
"assets_cannot_be_added_to_album_count": "Ne eblis aldoni {count, plural, one {tiun elementon} other {tiujn elementojn}} al la albumo",
"assets_cannot_be_added_to_albums": "Ne eblis aldoni {count, plural, one {tiun elementon} other {tiujn elementojn}} al iu ajn el la albumoj",
"assets_count": "{count, plural, one {# elemento} other {# elementoj}}",
"assets_deleted_permanently": "{count} elemento(j) porĉiam forigita(j)",
"assets_deleted_permanently_from_server": "{count} elemento(j) porĉiam forigita(j) de la Immich-servilo",
"assets_downloaded_failed": "{count, plural, one {Elŝutis # dosieron - dosiero {error} malsukcesis} other {Elŝutis # dosierojn - dosieroj {error} malsukcesis}}",
"assets_downloaded_successfully": "{count, plural, one {Sukcese elŝutis # dosieron} other {Sukcese elŝutis # dosierojn}}",
"assets_moved_to_trash_count": "Movis {count, plural, one {# elementon} other {# elementojn}} al la rubujo",
"assets_permanently_deleted_count": "Porĉiam forigis {count, plural, one {# elementon} other {# elementojn}}",
"assets_removed_count": "Forigis {count, plural, one {# elementon} other {# elementojn}}",
"assets_removed_permanently_from_device": "{count} elemento(j) porĉiam forigita(j) de via aparato",
"assets_restore_confirmation": "Ĉu vi certas, ke vi volas restaŭri ĉion el la rubujo? Ne eblos poste malfari tion. Notu, ke ne eblas tiel restaŭri eksterretajn elementojn.",
"assets_restored_count": "Sukcese restaŭris {count, plural, one {# elementon} other {# elementojn}}",
"assets_restored_successfully": "{count} elemento(j) sukcese restaŭrita(j)",
"assets_trashed": "{count} elemento(j) enrubujigita(j)",
"assets_trashed_count": "Sukcese enrubujigis {count, plural, one {# elementon} other {# elementojn}}",
"assets_trashed_from_server": "{count} elemento(j) forigitaj de la immich-servilo",
"assets_were_part_of_album_count": "{count, plural, one {# Tiu elemento} other {# Tiuj elementoj}} jam estis en la albumo",
"assets_were_part_of_albums_count": "{count, plural, one {# Tiu elemento} other {# Tiuj elementoj}} jam estis en la albumoj",
"authorized_devices": "Aprobitaj aparatoj",
"automatic_endpoint_switching_subtitle": "Konekti per elektita vifio kiam eblas, kaj alikaze uzi aliajn alirojn",
"automatic_endpoint_switching_title": "Aŭtomata ŝanĝo de URL",
"autoplay_slideshow": "Aŭtomate vidigi bildserion",
"back": "Malantaŭen",
"back_close_deselect": "Malantaŭen, fermi, aŭ malelekti",
"background_backup_running_error": "Savkopiado jam estas fone okazanta, do ne eblas nun lanĉi alian savkopiadon",
"background_location_permission": "Rajtigo fone uzi geografian lokon",
"background_location_permission_content": "Por ŝanĝi retaliron dum fona funkciado, Immich devas *ĉiam* havi atingorajton al lokiga informo, por povi legi nomojn de vifiaj retoj",
"background_options": "Agordoj pri fonaj funkcioj",
"backup": "Savkopio",
"backup_album_selection_page_albums_device": "Albumoj en la aparato ({count})",
"backup_album_selection_page_albums_tap": "Tuŝeti por inkluzivi, duoble tuŝeti por ekskludi",
"backup_album_selection_page_assets_scatter": "Foje elementoj troviĝas disĵetitaj al pluraj albumoj, do albumoj povas esti inkluzivitaj aŭ ekskluzivitaj de la savkopiado.",
"backup_album_selection_page_select_albums": "Elekti albumojn",
"backup_album_selection_page_selection_info": "Info pri la elektitaĵoj",
"backup_album_selection_page_total_assets": "Nombro da unikaj elementoj",
"backup_albums_sync": "Sinkronigo de la savkopioj de albumoj",
"backup_all": "Ĉiuj",
"backup_background_service_backup_failed_message": "Malsukcesis krei savkopion de tiuj elementoj. Reprovante…",
"backup_background_service_complete_notification": "Savkopiado finita",
"backup_background_service_connection_failed_message": "Malsukcesis konektiĝi al la servilo. Reprovante…",
"backup_background_service_current_upload_notification": "Alŝutiĝas {filename}",
"backup_background_service_default_notification": "Serĉas novajn elementojn…",
"backup_background_service_error_title": "Eraro de savkopiado",
"backup_background_service_in_progress_notification": "Kreado de savkopio de viaj elementoj…",
"backup_background_service_upload_failure_notification": "Malsukcesis alŝuti {filename}",
"backup_controller_page_albums": "Savkopiado de albumoj",
"backup_controller_page_background_app_refresh_disabled_content": "Por aktivigi la fonan savkopiadon, ŝaltu fonan aktualigon de la apo en Agordoj > Ĝeneralaj > Fona aktualigo de apo.",
"backup_controller_page_background_app_refresh_disabled_title": "Fona aktualigo de apo malŝaltita",
"backup_controller_page_background_app_refresh_enable_button_text": "Iri al Agordoj",
"backup_controller_page_background_battery_info_link": "Montri al mi",
"backup_controller_page_background_battery_info_message": "Por bona funkciado de la fona savkopiado, bonvolu malŝalti optimumigon de bateria uzo por Immich.\n\nTiu funkcio dependas de via aparato, do vi devos mem serĉi helpon pri kiel atingi tion.",
"backup_controller_page_background_battery_info_ok": "Okej",
"backup_controller_page_background_battery_info_title": "Optimumigo de bateria uzo",
"backup_controller_page_background_charging": "Nur dum ŝargado",
"backup_controller_page_background_configure_error": "Malsukcesis agordi la fonan servon",
"backup_controller_page_background_delay": "Prokrasti savkopiadon de novaj elementoj: {duration}",
"backup_controller_page_background_description": "Ŝaltu la fonan servon por aŭtomate krei savkopion de novaj elementoj sen malfermi la apon",
"backup_controller_page_background_is_off": "Aŭtomata fona savkopiado estas malŝaltita",
"backup_controller_page_background_is_on": "Aŭtomata fona savkopiado estas ŝaltita",
"backup_controller_page_background_turn_off": "Malŝalti fonan servon",
"backup_controller_page_background_turn_on": "Ŝalti fonan servon",
"backup_controller_page_background_wifi": "Nur per vifio",
"backup_controller_page_backup": "Savkopiado",
"backup_controller_page_backup_selected": "Elektita(j): ",
"backup_controller_page_backup_sub": "Fotoj kaj videoj kun jama savkopio",
"backup_controller_page_created": "Kreita(j) je: {date}",
"backup_controller_page_desc_backup": "Ŝaltu malfonan savkopiadon por aŭtomate alŝuti novajn elementojn al la servilo kiam la apo estas malfermita.",
"backup_controller_page_excluded": "Ekskluzivita(j): ",
"backup_controller_page_failed": "Malsukcesis ({count})",
"backup_controller_page_filename": "Dosiernomo: {filename} [{size}]",
"backup_controller_page_id": "ID: {id}",
"backup_controller_page_info": "Informoj pri savkopio",
"backup_controller_page_none_selected": "Neniuj elektitaj",
"backup_controller_page_remainder": "Restas",
"backup_controller_page_remainder_sub": "Fotoj kaj videoj ankoraŭ ne savkopiitaj el la elektitaj",
"backup_controller_page_server_storage": "Stokado ĉe servilo",
"backup_controller_page_start_backup": "Komenci savkopiadon",
"backup_controller_page_status_off": "Aŭtomata malfona savkopiado estas malŝaltita",
"backup_controller_page_status_on": "Aŭtomata malfona savkopiado estas ŝaltita",
"backup_controller_page_storage_format": "{used} el {total} uzita",
"backup_controller_page_to_backup": "Albumoj savkopiotaj",
"backup_controller_page_total_sub": "Ĉiuj unikaj fotoj kaj videoj el elektitaj albumoj",
"backup_controller_page_turn_off": "Malŝalti malfonan savkopiadon",
"backup_controller_page_turn_on": "Ŝalti malfonan savkopiadon",
"backup_controller_page_uploading_file_info": "Alŝutiĝas informoj pri dosiero",
"backup_err_only_album": "Ne eblas forigi la solan albumon",
"backup_error_sync_failed": "Sinkronigo malsukcesis.",
"backup_info_card_assets": "elementoj",
"backup_manual_cancelled": "Nuligita",
"backup_manual_in_progress": "Alŝuto jam progresas. Provu poste",
"backup_manual_success": "Sukceso",
"backup_manual_title": "Statuso de alŝuto",
"backup_options": "Agordoj pri savkopioj",
"backup_options_page_title": "Agordoj pri savkopioj",
"backup_setting_subtitle": "Administri agordojn pri fona kaj malfona alŝutado",
"backup_settings_subtitle": "Administri agordojn pri alŝutado",
"backup_upload_details_page_more_details": "Tuŝu ĉi tie por pli da detaloj",
"backward": "Malantaŭen",
"biometric_auth_enabled": "Biometria ensaluto ŝaltita",
"biometric_locked_out": "Via biometria ensalutkapablo estas blokita",
"biometric_no_options": "Neniuj biometriaj ebloj estas disponeblaj",
"biometric_not_available": "Tiu ĉi aparato ne havas funkcion por biometria ensaluto",
"birthdate_saved": "Naskiĝdato ŝukcese konservita",
"birthdate_set_description": "La naskiĝdato estas uzita por kalkuli la aĝon de la homo je la momento de iu foto.",
"blurred_background": "Malklarigita fono",
"bugs_and_feature_requests": "Cimoj kaj petoj por novaj funkcioj",
"build": "Versio",
"build_image": "Bildo de la versio",
"bulk_delete_duplicates_confirmation": "Ĉu vi certas, ke vi volas amase forigi {count, plural, one {# duoblaĵon} other {# duoblaĵojn}}? Tiel, vi konservos la plej grandan elementon el ĉiu grupo kaj porĉiame forigos duoblaĵojn. Ne eblas malfari tion!",
"bulk_keep_duplicates_confirmation": "Ĉu vi certas, ke vi volas konservi {count, plural, one {# duoblaĵon} other {# duoblaĵojn}}? Tio solvos ĉiujn duoblajn grupojn sen forigi ion ajn.",
"bulk_trash_duplicates_confirmation": "Ĉu vi certas, ke vi volas amase forigi {count, plural, one {# duoblaĵon} other {# duoblaĵojn}}? Tiel, vi konservos la plej grandan elementon el ĉiu grupo kaj porĉiame forigos duoblaĵojn.",
"buy": "Aĉeti Immich",
"cache_settings_clear_cache_button": "Forviŝi kaŝmemoron",
"cache_settings_clear_cache_button_title": "Forviŝas la kaŝmemoron de la apo. Tio malrapidigos la apon ĝis kiam ĝi finos rekonstrui la kaŝon.",
"cache_settings_duplicated_assets_clear_button": "FORVIŜI",
"cache_settings_duplicated_assets_subtitle": "Fotoj kaj videoj ignoritaj de la apo",
"cache_settings_duplicated_assets_title": "Duoblaĵoj ({count})",
"cache_settings_statistics_album": "Bildetoj de la biblioteko",
"cache_settings_statistics_full": "Plenaj bildoj",
"cache_settings_statistics_shared": "Bildetoj de dividitaj albumoj",
"cache_settings_statistics_thumbnail": "Bildetoj",
"cache_settings_statistics_title": "Uzo de kaŝmemoro",
"cache_settings_subtitle": "Regas la uzadon de kaŝmemoro fare de la apo",
"cache_settings_tile_subtitle": "Regas konduton pri loka stokado",
"cache_settings_tile_title": "Loka stokado",
"cache_settings_title": "Agordoj pri kaŝmemoro",
"camera": "Fotilo",
"camera_brand": "Fabrikanto de fotilo",
"camera_model": "Modelo de fotilo",
"cancel": "Nuligi",
"cancel_search": "Nuligi serĉon",
"canceled": "Nuligita",
"canceling": "Nuligado",
"cannot_merge_people": "Ne eblas kunfandi tiujn homojn",
"cannot_undo_this_action": "Ne eblas malfari tion!",
"cannot_update_the_description": "Ne eblas ĝisdatigi la priskribon",
"cast": "Elsendi",
"cast_description": "Agordi disponeblajn celojn por elsendoj",
"change_date": "Ŝanĝi daton",
"change_description": "Ŝanĝi priskribon",
"change_display_order": "Ŝanĝi vicordon de vidigo",
"change_expiration_time": "Ŝanĝi horon de eksvalidiĝo",
"change_location": "Ŝanĝi lokon",
"change_name": "Ŝanĝi nomon",
"change_name_successfully": "Nomo sukcese ŝanĝita",
"change_password": "Ŝanĝi pasvorton",
"change_password_description": "Aŭ tio ĉi estas via unua ensaluto, aŭ la sistemo ricevis peton ŝanĝigi vian pasvorton. Bonvolu tajpi novan pasvorton ĉi-sube.",
"change_password_form_confirm_password": "Konfirmu pasvorton",
"change_password_form_description": "Saluton {name},\n\nAŭ tio ĉi estas via unua ensaluto, aŭ la sistemo ricevis peton ŝanĝigi vian pasvorton. Bonvolu tajpi novan pasvorton ĉi-sube.",
"change_password_form_log_out": "Elsalutu ĉe ĉiuj aliaj aparatoj",
"change_password_form_log_out_description": "Oni rekomendas elsaluti ĉe ĉiuj aliaj aparatoj",
"change_password_form_new_password": "Nova pasvorto",
"change_password_form_password_mismatch": "Pasvortoj ne kongruas",
"change_password_form_reenter_new_password": "Re-tajpu novan pasvorton",
"change_pin_code": "Ŝanĝi PIN-kodon",
"change_trigger": "Ŝanĝi ekagilon",
"change_trigger_prompt": "Ĉu vi certas, ke vi volas ŝanĝi la ekagilon? Tio forigos ĉiujn ekzistantajn agojn kaj filtrilojn.",
"change_your_password": "Ŝanĝi vian pasvorton",
"changed_visibility_successfully": "Sukcese ŝanĝis videblecon",
"charging": "Ŝargado",
"charging_requirement_mobile_backup": "Por fona savkopiado, vi devas konekti la aparaton al ŝargilo",
"check_corrupt_asset_backup": "Kontroli por koruptitaj savkopioj de elementoj",
"check_corrupt_asset_backup_button": "Kontroli",
"check_corrupt_asset_backup_description": "Fari tiun ĉi kontrolon nur per vifio kaj post kiam ĉiuj elementoj havas savkopion. La kontrolo povas daŭri kelkajn minutojn.",
"check_logs": "Kontroli protokolojn",
"checksum": "Kontrolsumo",
"choose_matching_people_to_merge": "Elekti duobligitajn homojn por kunfandi",
"city": "Urbo",
"cleanup_confirm_description": "Immich trovis savkopion en la servilo de {count} elementoj (kreitajn antaŭ {date}). Ĉu vi volas forigi la kopiojn de el tiu ĉi aparato?",
"cleanup_confirm_prompt_title": "Forigi el tiu ĉi aparato?",
"cleanup_deleted_assets": "Movis {count} elementojn al la rubujo de la aparato",
"cleanup_deleting": "Movado al rubujo...",
"cleanup_found_assets": "Trovis {count} elementojn kun savkopio",
"cleanup_found_assets_with_size": "Trovis {count} elementojn kun savkopio ({size})",
"cleanup_icloud_shared_albums_excluded": "Dividitaj albumoj ĉe iCloud estas ekskluditaj de la analizado",
"cleanup_step3_description": "Serĉi fotojn kaj videojn kun sekurkopio ĉe la servilo, laŭ la elektita limdato kaj filtriloj.",
"cleanup_no_assets_found": "Neniuj elementoj trovitaj per la ĉi-supraj kriterioj. La funkcio 'Liberigi spacon' forigas nur elementojn, kiuj havas savkopion ĉe la servilo",
"cleanup_preview_title": "Forigotaj elementoj ({count})",
"cleanup_step3_description": "Serĉi fotojn kaj videojn kun savkopio ĉe la servilo, laŭ la elektita limdato kaj filtriloj.",
"cleanup_step4_summary": "{count} elementoj (kreitaj antaŭ {date}) forigotaj de via aparato. Fotoj restos disponeblaj (pere de la servilo) en la apo Immich.",
"cleanup_trash_hint": "Por povi reuzi la liberigitan spacon, malfermu la 'galeria' apo de via aparato kaj malplenigu la rubujon",
"clear": "Forviŝi",
"clear_all": "Forviŝi ĉiujn kampojn",
"clear_all_recent_searches": "Forviŝi ĉiujn lastatempajn serĉojn",
"clear_file_cache": "Forviŝi dosier-kaŝon",
"clear_message": "Forviŝi mesaĝon",
"clear_value": "Forviŝi valoron",
"client_cert_dialog_msg_confirm": "Bone",
"client_cert_enter_password": "Tajpu pasvorton",
"client_cert_import": "Importi",
"client_cert_import_success_msg": "Atestilo sukcese importita",
"client_cert_invalid_msg": "Nevalida atestilo-dosiero, aŭ malĝusta pasvorto",
"client_cert_password_message": "Tajpu la pasvorton por tiu ĉi atestilo",
"client_cert_password_title": "Pasvorto de atestilo",
"client_cert_remove_msg": "Klient-atestilo forigita",
"client_cert_subtitle": "Nur la formato PKCS12 (.p12, .pfx) estas akceptita. Eblas importi/forigi atestilon nur antaŭ ol ensaluti",
"client_cert_title": "Klient-atestilo SSL [EKSPERIMENTA]",
"clockwise": "Horloĝdirekte",
"close": "Fermi",
"collapse": "Maletendi",
"collapse_all": "Maletendi ĉiujn",
"color": "Koloro",
"color_theme": "Kolor-temo",
"command": "Komando",
"command_palette_prompt": "Rapide trovi paĝojn, agojn aŭ komandojn",
"command_palette_to_close": "por fermi",
"command_palette_to_navigate": "por eniri",
"command_palette_to_select": "por elekti",
"command_palette_to_show_all": "por ĉion montri",
"comment_deleted": "Komento forigita",
"comment_options": "Agoj pri komento",
"comments_and_likes": "Komentoj kaj ŝatoj",
"comments_are_disabled": "Komentoj estas malebligitaj",
"common_create_new_album": "Krei novan albumon",
"completed": "Finfarita",
"confirm": "Konfirmi",
"confirm_admin_password": "Konfirmi administran pasvorton",
"confirm_delete_face": "Ĉu vi certas ke vi volas forigi la vizaĝon de {name} de tiu elemento?",
"confirm_delete_shared_link": "Ĉu vi certas, ke vi volas forigi tiun ligilon?",
"confirm_keep_this_delete_others": "Ĉiuj elementoj en la stako krom tiu ĉi estos forigitaj. Ĉu vi certas, ke vi volas tion?",
"confirm_new_pin_code": "Konfirmi novan PIN-kodon",
"confirm_password": "Konfirmi pasvorton",
"confirm_tag_face": "Ĉu vi volas etikedi tiun ĉi vizaĝon kiel {name}?",
"confirm_tag_face_unnamed": "Ĉu vi volas etikedi tiun ĉi vizaĝon?",
"connected_device": "Konektita aparato",
"connected_to": "Konektita al",
"contain": "Alĝustigi",
"context": "Kunteksto",
"continue": "Daŭrigi",
"control_bottom_app_bar_create_new_album": "Krei novan albumon",
"control_bottom_app_bar_delete_from_immich": "Forigi el Immich",
"control_bottom_app_bar_delete_from_local": "Forigi el aparato",
"control_bottom_app_bar_edit_location": "Redakti lokon",
"control_bottom_app_bar_edit_time": "Redakti daton kaj horon",
"control_bottom_app_bar_share_link": "Dividi ligilon",
"control_bottom_app_bar_share_to": "Dividi al",
"control_bottom_app_bar_trash_from_immich": "Movi al rubujo",
"copied_image_to_clipboard": "Bildo kopiita al tondujo.",
"copied_to_clipboard": "Kopiita al tondujo!",
"copy_error": "Kopii eraron",
"copy_file_path": "Kopii dosiervojon",
"copy_image": "Kopii bildon",
"copy_link": "Kopii ligilon",
"copy_link_to_clipboard": "Kopii ligilon al tondujo",
"copy_password": "Kopii pasvorton",
"copy_to_clipboard": "Kopii al tondujo",
"country": "Lando",
"cover": "Kovri",
"covers": "Kovriloj",
"create": "Krei",
"create_album": "Krei albumon",
"create_album_page_untitled": "Sen titolo",
"create_api_key": "Krei API-ŝlosilon",
"create_first_workflow": "Krei unuan laborfluon",
"create_library": "Krei bibliotekon",
"create_link": "Krei ligilon",
"create_link_to_share": "Krei ligilon por dividi",
"create_link_to_share_description": "Permesi, ke iu ajn kun la ligilo povu vidi la elektita(j)n foto(j)n",
"create_new": "KREI NOVAN",
"create_new_person": "Krei novan homon",
"create_new_person_hint": "Atribui elektitajn elementojn al nova homo",
"create_new_user": "Krei novan uzanton",
"create_shared_album_page_share_add_assets": "ALDONI ELEMENTOJN",
"create_shared_album_page_share_select_photos": "Elekti fotojn",
"create_shared_link": "Krei dividitan ligilon",
"create_tag": "Krei etikedon",
"create_tag_description": "Krei novan etikedon. Por ingitaj etikedoj, bonvolu tajpi la plenan vojon de la etikedo, inkluzive suprenstrekoj (\"/\").",
"create_user": "Krei uzanton",
"create_workflow": "Krei laborfluon",
"created": "Kreita",
"created_at": "Kreita",
"creating_linked_albums": "Kreado de ligitaj albumoj...",
"crop": "Stuci",
"crop_aspect_ratio_fixed": "Fiksita",
"crop_aspect_ratio_free": "Libera",
"crop_aspect_ratio_original": "Originala",
"crop_aspect_ratio_square": "Kvadrata",
"curated_object_page_title": "Objektoj",
"current_device": "Aktuala aparato",
"current_pin_code": "Aktuala PIN-kodo",
"current_server_address": "Aktuala adreso de servilo",
"custom_date": "Elekti propran daton",
"custom_locale": "Propra lokaĵaro",
"custom_locale_description": "Prezenti datojn, horojn kaj numerojn laŭ la elektita lingvo kaj regiono",
"custom_url": "Propra URL",
"cutoff_date_description": "Konservi fotojn el la lastaj…",
"cutoff_day": "{count, plural, one {tago} other {tagoj}}",
"cutoff_year": "{count, plural, one {jaro} other {jaroj}}",
"daily_title_text_date": "E, dd MMM",
"daily_title_text_date_year": "E, dd MMM, yyyy",
"dark": "Malhela",
"dark_theme": "Ŝanĝi al hela reĝimo",
"date": "Dato",
"date_after": "Dato post",
"date_and_time": "Dato kaj horo",
"date_before": "Dato antaŭ",
"date_format": "E, LLL d, y • h:mm a",
"date_of_birth_saved": "Naskiĝdato sukcese registrita",
"date_range": "Dato-intervalo",
"day": "Tago",
"days": "Tagoj",
"deduplicate_all": "Senduoblaĵigi ĉion",
"default_locale": "Defaŭlta lokaĵaro",
"default_locale_description": "Prezenti datojn kaj numerojn laŭ la lokaĵaro de via retumilo",
"delete": "Forigi",
"delete_action_confirmation_message": "Ĉu vi certas, ke vi volas forigi tiun ĉi elementon? Tiu ago movos ĝin al la rubujo ĉe la servilo, kaj demandos ĉu vi volas forigi ĝin de via aparato",
"delete_action_prompt": "{count} forigita(j)",
"delete_album": "Forigi albumon",
"delete_api_key_prompt": "Ĉu vi certas, ke vi volas forigi tiu ĉi API-ŝlosilon?",
"delete_dialog_alert": "Tiuj elementoj estos porĉiame forigitaj de Immich kaj de via aparato",
"delete_dialog_alert_local": "Tiuj ĉi elementoj estos forigitaj de via aparato, sed restos disponeblaj ĉe la servilo de Immich",
"delete_dialog_alert_local_non_backed_up": "Kelkaj el tiuj elementoj ne havas savkopion ĉe Immich kaj estos porĉiame forigitaj de via aparato",
"delete_dialog_alert_remote": "Tiuj elementoj estos porĉiame forigitaj de la Immich-servilo",
"delete_dialog_ok_force": "Forigi ĉiuokaze",
"delete_dialog_title": "Forigi por ĉiam",
"delete_duplicates_confirmation": "Ĉu vi certas, ke vi volas porĉiame forigi tiujn ĉi duoblaĵojn?",
"delete_face": "Forigi vizaĝon",
"delete_key": "Forigi ŝlosilon",
"delete_library": "Forigi bibliotekon",
"delete_link": "Forigi ligilon",
"delete_local_action_prompt": "{count} loke forigita(j)",
"delete_local_dialog_ok_backed_up_only": "Forigi nur elementojn, kiuj havas savkopiojn",
"delete_local_dialog_ok_force": "Forigi ĉiuokaze",
"delete_others": "Forigi la aliajn",
"delete_permanently": "Forigi por ĉiam",
"delete_permanently_action_prompt": "{count} forigita(j) por ĉiam",
"delete_shared_link": "Forigi dividitan ligilon",
"delete_shared_link_dialog_title": "Forigi dividitan ligilon",
"delete_tag": "Forigi etikedon",
"delete_tag_confirmation_prompt": "Ĉu vi certas, ke vi volas forigi la etikedon {tagName}?",
"delete_user": "Forigi uzanton",
"deleted_shared_link": "Dividita ligilo nun forigita",
"deletes_missing_assets": "Forigas elementojn, kiuj mankas ĉe la disko",
"description": "Priskribo",
"description_input_hint_text": "Aldoni priskribon...",
"description_input_submit_error": "Eraro okazis dum ĝisdatigo de priskribo. Kontrolu protokolon por pli da detaloj",
"deselect_all": "Malelekti ĉion",
"details": "Detaloj",
"direction": "Direkto",
"disable": "Malebligi",
"disabled": "Malebligita",
"disallow_edits": "Malpermesi redaktojn",
"discord": "Discord",
"discover": "Malkovri",
"discovered_devices": "Malkovritaj aparatoj",
"dismiss_all_errors": "Ignori ĉiujn erarojn",
"dismiss_error": "Ignori eraron",
"display_options": "Vidigi tiajn elementojn",
"display_order": "Vicordo de vidigo",
"display_original_photos": "Montri originalajn fotojn",
"display_original_photos_setting_description": "Prefere montri originalan foton anstataŭ bildeton se la originalo havas retumil-kongruan formaton. Tio povas malrapidigi vidigon de elementoj.",
"do_not_show_again": "Ne plu montri tiun ĉi mesaĝon",
"documentation": "Dokumentaro",
"done": "Finite",
"download": "Elŝuti",
"download_action_prompt": "Elŝutado de {count} elementoj",
"download_canceled": "Elŝuto nuligita",
"download_complete": "Elŝuto finita",
"download_enqueue": "Elŝuto en atendovico",
"download_error": "Eraro de elŝuto",
"download_failed": "Elŝuto malsukcesis",
"download_finished": "Elŝuto finiĝis",
"download_include_embedded_motion_videos": "Enkorpigitaj videoj",
"download_include_embedded_motion_videos_description": "Inkluzivi videon, enkorpigitan en mov-fotoj, kiel apartan dosieron",
"download_notfound": "Elŝuto ne trovita",
"download_original": "Elŝuti originalon",
"download_paused": "Elŝuto paŭzita",
"download_settings": "Elŝutado",
"download_settings_description": "Administri agordojn pri elŝutado de elementoj",
"download_started": "Elŝuto komenciĝis",
"download_sucess": "Elŝuto sukcesis",
"download_sucess_android": "La elemento estas elŝutita al DCIM/Immich",
"download_waiting_to_retry": "Baldaŭ reprovos elŝuton",
"downloading": "Elŝutado",
"downloading_asset_filename": "Elŝutado de elemento {filename}",
"downloading_from_icloud": "Elŝutado el iCloud",
"downloading_media": "Elŝutado de elementoj",
"drop_files_to_upload": "Demetu dosierojn ĉi tien por alŝuti",
"duplicates": "Duoblaĵoj",
"duplicates_description": "Solvu ĉiun grupon indikante tiujn, kiuj estas eventualaj duoblaĵoj.",
"duration": "Daŭro",
"edit": "Redakti",
"edit_album": "Redakti albumon",
"edit_avatar": "Redakti profilbildon",
"edit_birthday": "Redakti naskiĝtagon",
"edit_date": "Redakti daton",
"edit_date_and_time": "Redakti daton kaj horon",
"edit_date_and_time_action_prompt": "{count} datoj kaj horoj redaktitaj",
"edit_date_and_time_by_offset": "Deŝovi daton",
"edit_date_and_time_by_offset_interval": "Nova intervalo: de {from} ĝis {to}",
"edit_description": "Redakti priskribon",
"edit_description_prompt": "Bonvolu elekti novan priskribon:",
"edit_exclusion_pattern": "Redakti skemon de ekskludo",
"edit_faces": "Redakti vizaĝojn",
"edit_key": "Redakti ŝlosilon",
"edit_link": "Redakti ligilon",
"edit_location": "Redakti lokon",
"edit_location_action_prompt": "{count} loko(j) redaktita(j)",
"edit_location_dialog_title": "Loko",
"edit_name": "Redakti nomon",
"edit_people": "Redakti homojn",
"edit_tag": "Redakti etikedon",
"edit_title": "Redakti titolon",
"edit_user": "Redakti uzanton",
"edit_workflow": "Redakti laborfluon",
"editor": "Redaktilo",
"editor_close_without_save_prompt": "La ŝanĝoj ne konserviĝos",
"editor_close_without_save_title": "Ĉu fermi redaktilon?",
"editor_confirm_reset_all_changes": "Ĉu vi certas, ke vi volas forĵeti ĉiujn ŝanĝojn?",
"editor_discard_edits_confirm": "Forĵeti ŝanĝojn",
"editor_discard_edits_prompt": "Vi havas nekonservitajn ŝanĝojn. Ĉu vi certas, ke vi volas forigi ilin?",
"editor_discard_edits_title": "Forĵeti ŝanĝojn?",
"editor_edits_applied_error": "Malsukcesis apliki redaktojn",
"editor_edits_applied_success": "Redaktoj sukcese aplikiĝis",
"editor_flip_horizontal": "Inversigi horizontale",
"editor_flip_vertical": "Inversigi vertikale",
"editor_handle_corner": "{corner, select, top_left {Supra-maldekstra} top_right {Supra-dekstra} bottom_left {Suba-maldekstra} bottom_right {Suba-dekstra} other {Ajna}} angula tenilo",
"editor_handle_edge": "{edge, select, top {Supra} bottom {Suba} left {Maldekstra} right {Dekstra} other {Ajna}} randa tenilo",
"editor_orientation": "Orientiĝo",
"editor_reset_all_changes": "Forviŝi ŝanĝojn",
"editor_rotate_left": "Turni 90º kontraŭ-horloĝdirekte",
"editor_rotate_right": "Turni 90º horloĝdirekte",
"email": "Retadreso",
"email_notifications": "Sciigoj per retmesaĝo",
"empty_folder": "Tiu ĉi dosierujo estas malplena",
"empty_trash": "Malplenigi rubujon",
"empty_trash_confirmation": "Ĉu vi certas, ke vi volas malplenigi la rubujon? Ĉiuj elementoj en la rubujo estas por ĉiam forigitaj de Immich.\nNe eblas malfari tion!",
"enable": "Ŝalti",
"enable_backup": "Ŝalti savkopiadon",
"enable_biometric_auth_description": "Tajpu vian PIN-kodon por ŝalti biometrian ensalutadon",
"enabled": "Ŝaltita",
"end_date": "Fina dato",
"enqueued": "En atendovico",
"enter_wifi_name": "Tajpu nomon de vifio",
"enter_your_pin_code": "Tajpu vian PIN-kodon",
"enter_your_pin_code_subtitle": "Tajpu vian PIN-kodon por atingi la ŝlositan dosierujon",
"error": "Eraro",
"error_change_sort_album": "Malsukcesis ŝanĝi vicordon de album-elementoj",
"error_delete_face": "Eraro dum forigo de vizaĝo el elemento",
"error_getting_places": "Eraro dum serĉo de lokoj",
"error_loading_albums": "Eraro dum ŝargado de albumoj",
"error_loading_image": "Eraro dum ŝargado de bildo",
"error_loading_partners": "Eraro dum ŝargado de partneroj: {error}",
"error_retrieving_asset_information": "Eraro dum ŝargado de informoj pri elemento",
"error_saving_image": "Eraro: {error}",
"error_tag_face_bounding_box": "Eraro dum etikedado de vizaĝo - ne eblis trovi koordinatojn de kadro",
"error_title": "Eraro - io misis",
"error_while_navigating": "Eraro dum navigado al elemento",
"errors": {
"cannot_navigate_next_asset": "Ne eblis navigi al sekva elemento",
"cannot_navigate_previous_asset": "Ne eblas navigi al antaŭa elemento",
"cant_apply_changes": "Ne eblas apliki ŝanĝojn",
"cant_change_activity": "Ne eblas {enabled, select, true {malŝalti} other {ŝalti}} tiun agon",
"cant_change_asset_favorite": "Ne eblas ŝanĝi preferaton por tiu elemento",
"cant_change_metadata_assets_count": "Ne eblas ŝanĝi metadatumojn de {count, plural, one {# elemento} other {# elementoj}}",
"cant_get_faces": "Ne eblas trovi vizaĝojn",
"cant_get_number_of_comments": "Ne eblas trovi nombron da komentoj",
"cant_search_people": "Ne eblas serĉi homojn",
"cant_search_places": "Ne eblas serĉi lokojn",
"error_adding_assets_to_album": "Eraro dum ŝargado de elementoj al albumo",
"error_adding_users_to_album": "Eraro dum aldono de uzantoj al albumo",
"error_deleting_shared_user": "Eraro dum forigo de dividita uzanto",
"error_downloading": "Eraro dum elŝuto de {filename}",
"error_hiding_buy_button": "Eraro dum kaŝado de butono 'aĉeti'",
"error_removing_assets_from_album": "Eraro dum forigo de elementoj el albumo; kontrolu konzolon por detaloj",
"error_selecting_all_assets": "Eraro dum elekto de ĉiuj elementoj",
"exclusion_pattern_already_exists": "Tiu ĉi skemo de ekskludo jam ekzistas.",
"failed_to_create_album": "Malsukcesis krei albumon",
"failed_to_create_shared_link": "Malsukcesis krei dividitan ligilon",
"failed_to_edit_shared_link": "Malsukcesis redakti dividitan ligilon",
"failed_to_get_people": "Malsukcesis trovi homojn",
"failed_to_keep_this_delete_others": "Malsukcesis konservi tiun ĉi elementon kaj forigi la aliajn",
"failed_to_load_asset": "Malsukcesis ŝargi elementon",
"failed_to_load_assets": "Malsukcesis ŝargi elementojn",
"failed_to_load_notifications": "Malsukcesis ŝargi sciigojn",
"failed_to_load_people": "Malsukcesis ŝargi homojn",
"failed_to_remove_product_key": "Malsukcesis forigi var-ŝalosilon",
"failed_to_reset_pin_code": "Malsukcesis restarigi PIN-kodon",
"failed_to_stack_assets": "Malsukcesis staki elementojn",
"failed_to_unstack_assets": "Malsukcesis malstaki elementojn",
"failed_to_update_notification_status": "Malsukcesis ĝisdatigi statuson de sciigoj",
"incorrect_email_or_password": "Neĝusta retadreso aŭ pasvorto",
"library_folder_already_exists": "Tiu ĉi import-vojo jam ekzistas.",
"page_not_found": "Paĝo ne trovita",
"unable_to_add_exclusion_pattern": "Ne eblas aldoni skemon de ekskludo",
"unable_to_create": "Ne eblis krei laborfluon",
"unable_to_delete_exclusion_pattern": "Ne eblas forigi skemon de ekskludo",
"unable_to_delete_workflow": "Ne eblis forigi laborfluon",
"unable_to_edit_exclusion_pattern": "Ne eblas redakti skemon de ekskludo",
"unable_to_scan_libraries": "Ne eblas analizi biblitekojn",
"unable_to_scan_library": "Ne eblas analizi biblitekon"
"unable_to_scan_library": "Ne eblas analizi biblitekon",
"unable_to_update_workflow": "Ne eblis ĝisdatigi laborfluon"
},
"exclusion_pattern": "Skemo de ekskludo",
"expand": "Etendi",
"expand_all": "Etendi ĉiujn",
"explore": "Esplori",
"explorer": "Foliumilo",
"free_up_space": "Liberigi spacon",
"free_up_space_description": "Vi forigos fotojn kaj/aŭ videojn, kiuj havas savkopiojn en la servilo, por liberigi spacon en via aparato. La kopioj en la servilo restos.",
"general": "Ĝeneralaj",
"manage_media_access_settings": "Malfermi agordaĵaron",
"manage_the_app_settings": "Agordi la apon",
"missing": "Netraktitaj",
"networking_subtitle": "Administri agordojn pri finpunktoj de la servilo",
"no_devices": "Neniuj aprobitaj aparatoj",
"no_explore_results_message": "Alŝutu pli da fotoj por esplori vian kolekton.",
"no_notifications": "Neniuj sciigoj",
"no_results_description": "Provu sinonimon aŭ pli ĝeneralan ŝlosilvorton",
"notification_permission_dialog_content": "Por ŝalti sciigojn, iru al Agordoj kaj elektu 'permesi'.",
"notification_permission_list_tile_content": "Donu permeson por ŝalti sciigojn.",
"notification_permission_list_tile_enable_button": "Ŝalti sciigojn",
"notification_permission_list_tile_title": "Permeso pri sciigoj",
"notification_toggle_setting_description": "Ŝalti sciigojn per retmesaĝo",
"notifications": "Sciigoj",
"notifications_setting_description": "Administri sciigojn",
"preferences_settings_subtitle": "Administri agordojn pri la apo",
"purchase_settings_server_activated": "La administranto respondecas pri la ŝlosilo de aŭtentikeco por la servilo",
"rating_clear": "Forviŝi pritakson",
"refresh": "Denove",
"rescan": "Reanalizi",
"reset": "Restartigi",
"reset_sqlite_clear_app_data": "Forviŝi datumojn",
"reset_sqlite_confirmation": "Ĉu vi certas, ke vi volas forviŝi la datumojn de la apo? Tio forigos ĉiujn agordojn kaj elsalutigos vin.",
"reset_sqlite_confirmation_note": "Noto: vi devos relanĉi la apon por la forviŝo.",
"reset_sqlite_done": "Datumoj de la apo estas forviŝitaj. Bonvolu relanĉi Immich kaj ensalutu denove.",
"scaffold_body_error_unrecoverable": "Neriparebla eraro okazis. Bonvolu sendi al ni la eraron kaj la stakspuron per Discord aŭ per Github por ke ni povu helpi. Vi povas forviŝi la ĉi-subajn datumojn de la apo se vi volas.",
"scan": "Analizi",
"scan_all_libraries": "Analizi ĉiujn bibliotekojn",
"scan_library": "Analizi",
@@ -470,12 +1124,31 @@
"scanning": "Analizado",
"scanning_for_album": "Serĉado de albumo...",
"search_suggestion_list_smart_search_hint_1": "Inteligenta serĉado defaŭlte estas ŝaltita. Por serĉi metadatumojn, uzu sintakson tiel ",
"setting_notifications_subtitle": "Redakti viajn preferojn pri sciigoj",
"start_date": "Komenca dato",
"start_date_before_end_date": "Komenca dato devas esti antaŭ fina dato",
"trigger_description": "Evento, kiu ekfunkciigas la laborfluon",
"untitled_workflow": "Sentitola laborfluo",
"upload_concurrency": "Nombro da samtempaj alŝutoj",
"user_pin_code_settings_description": "Administri vian PIN-kodon",
"user_purchase_settings_description": "Administri vian aĉeton",
"view_links": "Vidi ligilojn",
"week": "Semajno",
"wifi_name": "Nomo de Vifireto",
"workflow_delete_prompt": "Ĉu vi certas, ke vi volas forigi tiun ĉi laborfluon?",
"workflow_deleted": "Laborfluo forigita",
"workflow_description": "Priskribo de laborfluo",
"workflow_info": "Informoj pri laborfluo",
"workflow_json": "JSON de laborfluo",
"workflow_json_help": "Redakti la agordojn pri la laborfluo per formato JSON. La ŝanĝoj sinkroniĝos al la vidiga konstruilo.",
"workflow_name": "Nomo de laborfluo",
"workflow_navigation_prompt": "Ĉu vi certas, ke vi volas foriri sen konservi viajn ŝanĝojn?",
"workflow_summary": "Resumo de laborfluo",
"workflow_update_success": "Laborfluo sukcese ĝisdatigita",
"workflow_updated": "Laborfluo ĝisdatigita",
"workflows": "Laborfluoj",
"workflows_help_text": "Laborfluo aŭtomatigas agojn pri elementoj, laŭ ekigiloj kaj filtriloj",
"year": "Jaro",
"yes": "Jes"
"yes": "Jes",
"zero_to_clear_rating": "tuŝu 0 por forviŝi la pritakson de la elemento"
}

View File

@@ -17,13 +17,13 @@
"add_a_name": "Añadir un nombre",
"add_a_title": "Añadir título",
"add_action": "Añadir acción",
"add_action_description": "Haga clic para añadir una acción a realizar",
"add_action_description": "Haz clic para añadir una acción a realizar",
"add_assets": "Añadir recursos",
"add_birthday": "Añadir un cumpleaños",
"add_endpoint": "Añadir punto final",
"add_exclusion_pattern": "Añadir patrón de exclusión",
"add_filter": "Añadir filtro",
"add_filter_description": "Haga clic para añadir una condición de filtro",
"add_filter_description": "Haz clic para añadir una condición de filtro",
"add_location": "Añadir ubicación",
"add_more_users": "Añadir más usuarios",
"add_partner": "Añadir miembro",
@@ -61,7 +61,7 @@
"backup_onboarding_1_description": "Copia en un lugar externo, en la nube u otra ubicación física.",
"backup_onboarding_2_description": "copias locales en diferentes dispositivos. Incluye los archivos principales y una copia de seguridad local de dichos archivos.",
"backup_onboarding_3_description": "copias totales de tu data, incluyendo los archivos originales. Incluye 1 copia fuera de sitio y 2 copias locales.",
"backup_onboarding_description": "Una estrategia de <backblaze-link>copia de seguridad 3-2-1</backblaze-link> es recomendada para proteger tu data. Deberías mantener tanto copias de tus fotos/videos subidos como de la base de datos de Immich para tener una solución de copia de seguridad integral.",
"backup_onboarding_description": "Se recomienda una <backblaze-link>estrategia de copia de seguridad 3-2-1</backblaze-link> para proteger tus datos. Deberías mantener copias de las fotos y vídeos que subas, así como de la base de datos de Immich, para contar con una solución de copia de seguridad completa.",
"backup_onboarding_footer": "Para obtener más información sobre cómo hacer una copia de seguridad de Immich, consulta la <link>documentación</link>.",
"backup_onboarding_parts_title": "Una copia de seguridad 3-2-1 incluye:",
"backup_onboarding_title": "Copias de seguridad",
@@ -351,7 +351,7 @@
"template_settings": "Plantillas de notificación",
"template_settings_description": "Gestione plantillas personalizadas para las notificaciones",
"theme_custom_css_settings": "CSS personalizado",
"theme_custom_css_settings_description": "El CSS permite personalizar el diseño de Immich.",
"theme_custom_css_settings_description": "Las Hojas de Estilo permiten personalizar el diseño de Immich.",
"theme_settings": "Ajustes del tema",
"theme_settings_description": "Gestionar la personalización de la interfaz web de Immich",
"thumbnail_generation_job": "Generar miniaturas",
@@ -372,7 +372,7 @@
"transcoding_audio_codec": "Codec de audio",
"transcoding_audio_codec_description": "Opus es la opción de mayor calidad, pero tiene menor compatibilidad con dispositivos o software antiguos.",
"transcoding_bitrate_description": "Vídeos con una tasa de bits superior a la máxima o que no están en un formato aceptado",
"transcoding_codecs_learn_more": "Para obtener más información sobre la terminología utilizada aquí, consulte la documentación de FFmpeg sobre los codecs <h264-link>H.264</h264-link>, <hevc-link>HEVC</hevc-link> y <vp9-link>VP9</vp9-link>.",
"transcoding_codecs_learn_more": "Para obtener más información sobre la terminología utilizada aquí, consulta la documentación de FFmpeg sobre <h264-link>el códec H.264</h264-link>, <hevc-link>el códec HEVC</hevc-link> y <vp9-link>el códec VP9</vp9-link>.",
"transcoding_constant_quality_mode": "Modo de calidad constante",
"transcoding_constant_quality_mode_description": "ICQ es mejor que CQP, pero algunos dispositivos de aceleración de hardware no admiten este modo. Al configurar esta opción, se preferirá el modo especificado cuando se utilice codificación basada en calidad. NVENC lo ignora porque no es compatible con ICQ.",
"transcoding_constant_rate_factor": "Factor de tasa constante (-crf)",
@@ -411,7 +411,7 @@
"transcoding_tone_mapping": "Mapeo de tonos",
"transcoding_tone_mapping_description": "Intenta preservar la apariencia de los videos HDR cuando se convierten a SDR. Cada algoritmo realiza diferentes compensaciones en cuanto a color, detalle y brillo. Hable conserva los detalles, Mobius conserva el color y Reinhard conserva el brillo.",
"transcoding_transcode_policy": "Políticas de transcodificación",
"transcoding_transcode_policy_description": "Política sobre cuándo se debe transcodificar un vídeo. Los vídeos HDR siempre se transcodificarán (excepto si la transcodificación está desactivada).",
"transcoding_transcode_policy_description": "Política sobre cuándo se debe transcodificar un vídeo. Los vídeos HDR y vídeos con un formato de píxel diferente a YUV 4:2:0 siempre se transcodificarán (excepto si la transcodificación está desactivada).",
"transcoding_two_pass_encoding": "Codificación en dos pasadas",
"transcoding_two_pass_encoding_setting_description": "Transcodifica en dos pasadas para producir vídeos mejor codificados. Cuando la velocidad de bits máxima está habilitada (es necesaria para que funcione con H.264 y HEVC), este modo utiliza un rango de velocidad de bits basado en la velocidad de bits máxima e ignora CRF. Para VP9, se puede utilizar CRF si la tasa de bits máxima está deshabilitada.",
"transcoding_video_codec": "Códecs de video",
@@ -441,7 +441,7 @@
"user_successfully_removed": "El usuario {email} ha sido eliminado con éxito.",
"users_page_description": "Página de usuarios administradores",
"version_check_enabled_description": "Activar la comprobación de la versión",
"version_check_implications": "La función de comprobación de versiones depende de la comunicación periódica con github.com",
"version_check_implications": "La función de comprobación de versiones depende de la comunicación periódica con {server}",
"version_check_settings": "Verificar versión",
"version_check_settings_description": "Activar/desactivar la notificación de nueva versión",
"video_conversion_job": "Transcodificar vídeos",
@@ -459,7 +459,7 @@
"advanced_settings_log_level_title": "Nivel de registro: {level}",
"advanced_settings_prefer_remote_subtitle": "Algunos dispositivos tardan mucho en cargar las miniaturas desde los recursos locales. Activa esta opción para cargar imágenes remotas en su lugar.",
"advanced_settings_prefer_remote_title": "Preferir imágenes remotas",
"advanced_settings_proxy_headers_subtitle": "Configura encabezados HTTP que Immich incluirá en cada petición de red",
"advanced_settings_proxy_headers_subtitle": "Configura encabezados de proxy que Immich incluirá en cada petición de red",
"advanced_settings_proxy_headers_title": "Cabeceras proxy personalizadas [EXPERIMENTAL]",
"advanced_settings_readonly_mode_subtitle": "Habilita el modo de solo lectura donde las fotografías sólo pueden ser vistas, funciones como seleccionar múltiples imágenes, compartir, transmitir, eliminar son deshabilitadas. Habilita/Deshabilita solo lectura vía el avatar del usuario en la pantalla principal",
"advanced_settings_readonly_mode_title": "Modo solo lectura",
@@ -849,9 +849,12 @@
"create_link_to_share": "Crear enlace compartido",
"create_link_to_share_description": "Permitir que cualquier persona con el enlace vea la(s) foto(s) seleccionada(s)",
"create_new": "CREAR NUEVO",
"create_new_face": "Crear nueva cara",
"create_new_person": "Crear nueva persona",
"create_new_person_hint": "Asignar los recursos seleccionados a una nueva persona",
"create_new_user": "Crear nuevo usuario",
"create_person": "Crear persona",
"create_person_subtitle": "Añade un nombre a la cara seleccionada para crear y etiquetar a la nueva persona",
"create_shared_album_page_share_add_assets": "AÑADIR RECURSOS",
"create_shared_album_page_share_select_photos": "Seleccionar fotos",
"create_shared_link": "Crear un enlace compartido",
@@ -866,13 +869,14 @@
"crop_aspect_ratio_fixed": "Fijado",
"crop_aspect_ratio_free": "Libre",
"crop_aspect_ratio_original": "Original",
"crop_aspect_ratio_square": "Cuadrado",
"curated_object_page_title": "Objetos",
"current_device": "Dispositivo actual",
"current_pin_code": "PIN actual",
"current_server_address": "Dirección actual del servidor",
"custom_date": "Fecha personalizada",
"custom_locale": "Configuración regional personalizada",
"custom_locale_description": "Formatear fechas y números según el idioma y la región",
"custom_locale_description": "Dar formato a fechas, horas y números según el idioma y región seleccionados",
"custom_url": "URL personalizada",
"cutoff_date_description": "Conserva fotos del último…",
"cutoff_day": "{count, plural, one {día} other {días}}",
@@ -880,7 +884,7 @@
"daily_title_text_date": "E dd, MMM",
"daily_title_text_date_year": "E dd de MMM, yyyy",
"dark": "Oscuro",
"dark_theme": "Alternar tema oscuro",
"dark_theme": "Cambiar a tema oscuro",
"date": "Fecha",
"date_after": "Fecha posterior",
"date_and_time": "Fecha y hora",
@@ -891,12 +895,8 @@
"day": "Día",
"days": "Días",
"deduplicate_all": "Deduplicar todo",
"deduplication_criteria_1": "Tamaño de imagen en bytes",
"deduplication_criteria_2": "Conteo de datos EXIF",
"deduplication_info": "Información de Deduplicación",
"deduplication_info_description": "Para automáticamente preseleccionar recursos y eliminar duplicados en conjunto, nosotros consideramos lo siguiente:",
"default_locale": "Configuración regional predeterminada",
"default_locale_description": "Formatee fechas y números según la configuración regional de su navegador",
"default_locale_description": "Formatear fechas y números según la configuración regional del navegador",
"delete": "Eliminar",
"delete_action_confirmation_message": "¿Está seguro que desea eliminar este recurso? Esta acción lo moverá a la papelera del servidor y le preguntará si desea eliminarlo localmente",
"delete_action_prompt": "{count} eliminados",
@@ -972,7 +972,7 @@
"downloading_media": "Descargando medios",
"drop_files_to_upload": "Suelta los archivos en cualquier lugar para subirlos",
"duplicates": "Duplicados",
"duplicates_description": "Resuelva cada grupo indicando, en cada caso, cuales están duplicados",
"duplicates_description": "Resuelve cada grupo indicando cuáles son duplicados, si los hay.",
"duration": "Duración",
"edit": "Editar",
"edit_album": "Editar álbum",
@@ -1009,6 +1009,8 @@
"editor_edits_applied_success": "Edición aplicada con éxito",
"editor_flip_horizontal": "Girar horizontalmente",
"editor_flip_vertical": "Girar verticalmente",
"editor_handle_corner": "{corner, select, top_left {Superior izquierda} top_right {Superior derecha} bottom_left {Inferior izquierda} bottom_right {Inferior derecha} other {Un}} controlador de esquina",
"editor_handle_edge": "{edge, select, top {Superior} bottom {Inferior} left {Izquierdo} right {Derecho} other {Un}} controlador de borde",
"editor_orientation": "Orientación",
"editor_reset_all_changes": "Restablecer cambios",
"editor_rotate_left": "Rotar 90º sentido antihorario",
@@ -1023,7 +1025,7 @@
"enable_biometric_auth_description": "Introduce tu código PIN para habilitar la autentificación biométrica",
"enabled": "Habilitado",
"end_date": "Fecha final",
"enqueued": "Agregado a la cola",
"enqueued": "Añadido a la cola",
"enter_wifi_name": "Introduce el nombre Wi-Fi",
"enter_your_pin_code": "Introduce tu código PIN",
"enter_your_pin_code_subtitle": "Introduce tu código PIN para acceder a la carpeta protegida",
@@ -1074,6 +1076,7 @@
"failed_to_update_notification_status": "Error al actualizar el estado de la notificación",
"incorrect_email_or_password": "Contraseña o email incorrecto",
"library_folder_already_exists": "Esta ruta de importación ya existe.",
"page_not_found": "Página no encontrada",
"paths_validation_failed": "Falló la validación en {paths, plural, one {# carpeta} other {# carpetas}}",
"profile_picture_transparent_pixels": "Las imágenes de perfil no pueden tener píxeles transparentes. Por favor amplíe y/o mueva la imagen.",
"quota_higher_than_disk_size": "Se ha establecido una cuota superior al tamaño del disco",
@@ -1085,7 +1088,7 @@
"unable_to_add_partners": "No se pueden añadir miembros",
"unable_to_add_remove_archive": "No se pudo {archived, select, true {eliminar el recurso del} other {añadir el recurso al}} archivo",
"unable_to_add_remove_favorites": "No se pudo {favorite, select, true {añadir el recuso a} other {eliminar el recurso de}} los favoritos",
"unable_to_archive_unarchive": "No se pudo {archived, select, true {agregar el elemento al} other {quitar el elemento del}} archivo",
"unable_to_archive_unarchive": "No se pudo {archived, select, true {añadir el elemento al} other {quitar el elemento del}} archivo",
"unable_to_change_album_user_role": "No se puede cambiar la función del usuario del álbum",
"unable_to_change_date": "No se puede cambiar la fecha",
"unable_to_change_description": "Imposible cambiar la descripción",
@@ -1164,7 +1167,7 @@
},
"errors_text": "Errores",
"exclusion_pattern": "Patrón de exclusión",
"exif": "EXIF",
"exif": "Exif",
"exif_bottom_sheet_description": "Añadir descripción…",
"exif_bottom_sheet_description_error": "Error al actualizar la descripción",
"exif_bottom_sheet_details": "DETALLES",
@@ -1218,6 +1221,7 @@
"filter_description": "Condiciones para filtrar los recursos objetivo",
"filter_people": "Filtrar personas",
"filter_places": "Filtrar lugares",
"filter_tags": "Filtrar etiquetas",
"filters": "Filtros",
"find_them_fast": "Encuéntrelos rápidamente por nombre con la búsqueda",
"first": "Primero",
@@ -1385,9 +1389,11 @@
"library_page_sort_title": "Título del álbum",
"licenses": "Licencias",
"light": "Claro",
"light_theme": "Cambiar a tema claro",
"like": "Me gusta",
"like_deleted": "Me gusta eliminado",
"link_motion_video": "Enlazar vídeo en movimiento",
"link_to_docs": "Para más información, consulta la <link>documentación</link>.",
"link_to_oauth": "Enlace a OAuth",
"linked_oauth_account": "Cuenta OAuth vinculada",
"list": "Lista",
@@ -1649,6 +1655,7 @@
"only_favorites": "Solo favoritos",
"open": "Abierto",
"open_calendar": "Abrir calendario",
"open_in_browser": "Abrir en el navegador",
"open_in_map_view": "Abrir en la vista del mapa",
"open_in_openstreetmap": "Abrir en OpenStreetMap",
"open_the_search_filters": "Abre los filtros de búsqueda",
@@ -1808,9 +1815,8 @@
"rate_asset": "Valorar recurso",
"rating": "Valoración",
"rating_clear": "Borrar calificación",
"rating_count": "{count, plural, one {# estrella} other {# estrellas}}",
"rating_count": "{count, plural, =0 {# estrella} one {# estrella} other {# estrellas}}",
"rating_description": "Mostrar la clasificación exif en el panel de información",
"rating_set": "Calificación establecida en {rating, plural, one {# estrella} other {# estrellas}}",
"reaction_options": "Opciones de reacción",
"read_changelog": "Leer registro de cambios",
"readonly_mode_disabled": "Modo solo lectura deshabilitado",
@@ -1882,7 +1888,10 @@
"reset_pin_code_success": "Código PIN restablecido correctamente",
"reset_pin_code_with_password": "Siempre puedes restablecer tu código PIN usando tu contraseña",
"reset_sqlite": "Restablecer la base de datos SQLite",
"reset_sqlite_confirmation": "¿Estás seguro que deseas restablecer la base de datos SQLite? Deberás cerrar sesión y volver a iniciarla para resincronizar los datos",
"reset_sqlite_clear_app_data": "Limpiar datos",
"reset_sqlite_confirmation": "¿Seguro que quieres borrar los datos de la aplicación? Esto eliminará toda la configuración y cerrará tu sesión.",
"reset_sqlite_confirmation_note": "Nota: Deberás reiniciar la aplicación después de borrarla.",
"reset_sqlite_done": "Se han borrado los datos de la aplicación. Reinicie Immich y vuelva a iniciar sesión.",
"reset_sqlite_success": "Restablecer exitosamente la base de datos SQLite",
"reset_to_default": "Restablecer los valores predeterminados",
"resolution": "Resolución",
@@ -1910,6 +1919,7 @@
"saved_settings": "Configuraciones guardadas",
"say_something": "Comenta algo",
"scaffold_body_error_occurred": "Ha ocurrido un error",
"scaffold_body_error_unrecoverable": "Se ha producido un error irrecuperable. Comparte el error y el seguimiento de la pila en Discord o GitHub para que podamos ayudarte. Si se indica, puedes borrar los datos de la aplicación a continuación.",
"scan": "Escanear",
"scan_all_libraries": "Escanear todas las bibliotecas",
"scan_library": "Escanear",
@@ -1945,6 +1955,7 @@
"search_filter_ocr": "Buscar por OCR",
"search_filter_people_title": "Seleccionar personas",
"search_filter_star_rating": "Clasificación de estrellas",
"search_filter_tags_title": "Seleccionar etiquetas",
"search_for": "Buscar",
"search_for_existing_person": "Buscar persona existente",
"search_no_more_result": "No hay más resultados",
@@ -2024,6 +2035,9 @@
"set_profile_picture": "Establecer foto de perfil",
"set_slideshow_to_fullscreen": "Mostrar diapositivas en pantalla completa",
"set_stack_primary_asset": "Establecer como recurso principal",
"setting_image_navigation_enable_subtitle": "Si está habilitado, puedes navegar a la imagen anterior/siguiente tocando una cuarta parte más a la izquierda/derecha de la pantalla.",
"setting_image_navigation_enable_title": "Toca para navegar",
"setting_image_navigation_title": "Navegación de imágenes",
"setting_image_viewer_help": "El visor de detalles carga primero la miniatura pequeña, luego carga la vista previa de tamaño mediano (si está habilitada), finalmente carga la original (si está habilitada).",
"setting_image_viewer_original_subtitle": "Activar para cargar la imagen en resolución original (¡muy grande!). Deshabilitar para reducir el consumo de datos (de red y caché).",
"setting_image_viewer_original_title": "Cargar imagen original",
@@ -2203,6 +2217,7 @@
"tag": "Etiqueta",
"tag_assets": "Etiquetar recursos",
"tag_created": "Etiqueta creada: {tag}",
"tag_face": "Etiquetar cara",
"tag_feature_description": "Explore fotos y videos agrupados por temas de etiquetas lógicas",
"tag_not_found_question": "¿No encuentra una etiqueta? <link>Crea una nueva etiqueta.</link>",
"tag_people": "Etiquetar personas",
@@ -2302,6 +2317,7 @@
"unstack_action_prompt": "{count} desapilado(s)",
"unstacked_assets_count": "Desapilado(s) {count, plural, one {# recurso} other {# recursos}}",
"unsupported_field_type": "Tipo de campo no soportado",
"unsupported_file_type": "El archivo {file} no puede ser cargado porque su tipo de archivo {type} no es soportado.",
"untagged": "Sin etiqueta",
"untitled_workflow": "Flujo de trabajo sin título",
"up_next": "A continuación",
@@ -2328,6 +2344,8 @@
"url": "URL",
"usage": "Uso",
"use_biometric": "Uso biométrico",
"use_browser_locale": "Utilizar la localización del navegador",
"use_browser_locale_description": "Dar formato a fechas, horas y números según la localización de su navegador",
"use_current_connection": "Utilice la conexión actual",
"use_custom_date_range": "Usa un intervalo de fechas personalizado",
"user": "Usuario",
@@ -2353,7 +2371,7 @@
"variables": "Variables",
"version": "Versión",
"version_announcement_closing": "Tu amigo, Alex",
"version_announcement_message": "¡Hola! Hay una nueva versión de Immich disponible. Tómese un tiempo para leer las <link> notas de la versión </link> para asegurarse de que su configuración esté actualizada y evitar errores de configuración, especialmente si utiliza WatchTower o cualquier mecanismo que se encargue de actualizar su instancia de Immich automáticamente.",
"version_announcement_message": "¡Hola! Hay una nueva versión de Immich disponible. Tómese un tiempo para leer las <link>notas de la versión</link> para asegurarse de que su configuración esté actualizada y evitar errores de configuración, especialmente si utiliza WatchTower o cualquier mecanismo que se encargue de actualizar su instancia de Immich automáticamente.",
"version_history": "Historial de versiones",
"version_history_item": "Instalada {version} el {date}",
"video": "Vídeo",
@@ -2381,6 +2399,7 @@
"viewer_remove_from_stack": "Quitar de la pila",
"viewer_stack_use_as_main_asset": "Usar como recurso principal",
"viewer_unstack": "Desapilar",
"visibility": "Visibilidad",
"visibility_changed": "Visibilidad cambiada para {count, plural, one {# persona} other {# personas}}",
"visual": "Visual",
"visual_builder": "Constructor visual",

View File

@@ -5,7 +5,7 @@
"acknowledge": "Sain aru",
"action": "Tegevus",
"action_common_update": "Uuenda",
"action_description": "Komplekt tegevusi, mida teostada filtreeritud üksustega",
"action_description": "Tegevused, mida teostada filtreeritud üksustega",
"actions": "Tegevused",
"active": "Aktiivne",
"active_count": "Aktiivsed: {count}",
@@ -411,7 +411,7 @@
"transcoding_tone_mapping": "Toonivastendus",
"transcoding_tone_mapping_description": "Üritab säilitada HDR videote kvaliteeti SDR-iks teisendamisel. Iga algoritm teeb värvi, detailide ja ereduse osas erinevaid kompromisse. Hable säilitab detaile, Mobius säilitab värve ning Reinhard säilitab eredust.",
"transcoding_transcode_policy": "Transkodeerimise reegel",
"transcoding_transcode_policy_description": "Reegel, millal tuleks videot transkodeerida. HDR-videosid transkodeeritakse alati (v.a. kui transkodeerimine on keelatud).",
"transcoding_transcode_policy_description": "Reegel, millal tuleks videot transkodeerida. HDR-videod ja muu piksliformaadiga kui YUV 4:2:0 videod transkodeeritakse alati (v.a. kui transkodeerimine on keelatud).",
"transcoding_two_pass_encoding": "Kahekäiguline kodeerimine",
"transcoding_two_pass_encoding_setting_description": "Transkodeeri kahes osas, et parandada kodeeritud videote kvaliteeti. Maksimaalse bitisageduse puhul (mis on vajalik H.264 ja HEVC jaoks) kasutab see režiim bitisageduse vahemikku ja ignoreerib CRF-i. VP9 puhul saab kasutada CRF-i, kui maksimaalset bitisagedust pole määratud.",
"transcoding_video_codec": "Videokoodek",
@@ -441,7 +441,7 @@
"user_successfully_removed": "Kasutaja {email} edukalt eemaldatud.",
"users_page_description": "Kasutajate haldamise leht",
"version_check_enabled_description": "Luba versioonikontroll",
"version_check_implications": "Versioonikontroll vajab perioodilist ühendumist github.com-iga",
"version_check_implications": "Versioonikontroll vajab perioodilist ühendumist {server}-iga",
"version_check_settings": "Versioonikontroll",
"version_check_settings_description": "Luba/keela uue versiooni teavitus",
"video_conversion_job": "Videote transkodeerimine",
@@ -849,9 +849,12 @@
"create_link_to_share": "Lisa jagamiseks link",
"create_link_to_share_description": "Luba kõigil, kellel on link, valitud pilte näha",
"create_new": "LISA UUS",
"create_new_face": "Lisa uus nägu",
"create_new_person": "Lisa uus isik",
"create_new_person_hint": "Seosta valitud üksused uue isikuga",
"create_new_user": "Lisa uus kasutaja",
"create_person": "Lisa isik",
"create_person_subtitle": "Lisa valitud näole nimi, et uus isik lisada ja sildistada",
"create_shared_album_page_share_add_assets": "LISA ÜKSUSEID",
"create_shared_album_page_share_select_photos": "Vali fotod",
"create_shared_link": "Loo jagatud link",
@@ -866,13 +869,14 @@
"crop_aspect_ratio_fixed": "Fikseeritud",
"crop_aspect_ratio_free": "Vaba",
"crop_aspect_ratio_original": "Originaalne",
"crop_aspect_ratio_square": "Ruut",
"curated_object_page_title": "Asjad",
"current_device": "Praegune seade",
"current_pin_code": "Praegune PIN-kood",
"current_server_address": "Praegune serveri aadress",
"custom_date": "Muu kuupäev",
"custom_locale": "Kohandatud lokaat",
"custom_locale_description": "Vorminda kuupäevad ja arvud vastavalt keelele ja regioonile",
"custom_locale_description": "Vorminda kuupäevad, kellaajad ja arvud vastavalt valitud keelele ja regioonile",
"custom_url": "Kohandatud URL",
"cutoff_date_description": "Jäta alles fotod ja videod viimasest…",
"cutoff_day": "{count, plural, one {päev} other {päeva}}",
@@ -880,7 +884,7 @@
"daily_title_text_date": "d. MMMM",
"daily_title_text_date_year": "d. MMMM yyyy",
"dark": "Tume",
"dark_theme": "Lülita tume teema",
"dark_theme": "Vali tume teema",
"date": "Kuupäev",
"date_after": "Kuupäev pärast",
"date_and_time": "Kuupäev ja kellaaeg",
@@ -891,12 +895,8 @@
"day": "Päev",
"days": "Päeva",
"deduplicate_all": "Dedubleeri kõik",
"deduplication_criteria_1": "Pildi suurus baitides",
"deduplication_criteria_2": "EXIF andmete hulk",
"deduplication_info": "Dedubleerimise info",
"deduplication_info_description": "Üksuste automaatsel eelvalimisel ja duplikaatide eemaldamisel võetakse arvesse:",
"default_locale": "Vaikimisi lokaat",
"default_locale_description": "Vorminda kuupäevad ja numbrid vastavalt brauseri lokaadile",
"default_locale_description": "Vorminda kuupäevad ja arvud vastavalt brauseri lokaadile",
"delete": "Kustuta",
"delete_action_confirmation_message": "Kas oled kindel, et soovid selle üksuse kustutada? See toiming liigutab üksuse serveri prügikasti ja küsib, kas soovid selle lokaalselt kustutada",
"delete_action_prompt": "{count} kustutatud",
@@ -972,7 +972,7 @@
"downloading_media": "Üksuste allalaadimine",
"drop_files_to_upload": "Failide üleslaadimiseks sikuta need ükskõik kuhu",
"duplicates": "Duplikaadid",
"duplicates_description": "Lahenda iga grupp, valides duplikaadid, kui neid on",
"duplicates_description": "Lahenda iga grupp, valides duplikaadid, kui neid on.",
"duration": "Kestus",
"edit": "Muuda",
"edit_album": "Muuda albumit",
@@ -1009,6 +1009,8 @@
"editor_edits_applied_success": "Muudatused edukalt rakendatud",
"editor_flip_horizontal": "Peegelda horisontaalselt",
"editor_flip_vertical": "Peegelda vertikaalselt",
"editor_handle_corner": "{corner, select, top_left {Vasak ülemine nurk} top_right {Parem ülemine nurk} bottom_left {Vasak alumine nurk} bottom_right {Parem alumine nurk} other {Nurk}}",
"editor_handle_edge": "{edge, select, top {Ülemine serv} bottom {Alumine serv} left {Vasak serv} right {Parem serv} other {Serv}}",
"editor_orientation": "Orientatsioon",
"editor_reset_all_changes": "Tühista muudatused",
"editor_rotate_left": "Pööra 90° vastupäeva",
@@ -1074,6 +1076,7 @@
"failed_to_update_notification_status": "Teavituste seisundi uuendamine ebaõnnestus",
"incorrect_email_or_password": "Vale e-posti aadress või parool",
"library_folder_already_exists": "See imporditee on juba olemas.",
"page_not_found": "Lehekülge ei leitud",
"paths_validation_failed": "{paths, plural, one {# tee} other {# teed}} ei valideerunud",
"profile_picture_transparent_pixels": "Profiilipildis ei tohi olla läbipaistvaid piksleid. Palun suumi sisse ja/või liiguta pilti.",
"quota_higher_than_disk_size": "Määratud kvoot on suurem kui kettamaht",
@@ -1218,6 +1221,7 @@
"filter_description": "Tingimused, mille alusel üksuseid filtreerida",
"filter_people": "Filtreeri isikuid",
"filter_places": "Filtreeri kohti",
"filter_tags": "Filtreeri silte",
"filters": "Filtrid",
"find_them_fast": "Leia teda kiiresti nime järgi otsides",
"first": "Esimene",
@@ -1385,9 +1389,11 @@
"library_page_sort_title": "Albumi pealkiri",
"licenses": "Litsentsid",
"light": "Hele",
"light_theme": "Vali hele teema",
"like": "Meeldib",
"like_deleted": "Meeldimine kustutatud",
"link_motion_video": "Lingi liikuv video",
"link_to_docs": "Rohkema info saamiseks vaata <link>dokumentatsiooni</link>.",
"link_to_oauth": "Ühenda OAuth",
"linked_oauth_account": "OAuth konto ühendatud",
"list": "Loend",
@@ -1649,6 +1655,7 @@
"only_favorites": "Ainult lemmikud",
"open": "Ava",
"open_calendar": "Ava kalender",
"open_in_browser": "Ava brauseris",
"open_in_map_view": "Ava kaardi vaates",
"open_in_openstreetmap": "Ava OpenStreetMap",
"open_the_search_filters": "Ava otsingufiltrid",
@@ -1808,9 +1815,8 @@
"rate_asset": "Hinda üksust",
"rating": "Hinnang",
"rating_clear": "Tühjenda hinnang",
"rating_count": "{count, plural, one {# tärn} other {# tärni}}",
"rating_count": "{count, plural, =0 {Hindamata} one {# tärn} other {# tärni}}",
"rating_description": "Kuva infopaneelis EXIF hinnangut",
"rating_set": "Hinnanguks seatud {rating, plural, one {# tärn} other {# tärni}}",
"reaction_options": "Reaktsiooni valikud",
"read_changelog": "Vaata muudatuste ülevaadet",
"readonly_mode_disabled": "Kirjutuskaitserežiim välja lülitatud",
@@ -1882,7 +1888,10 @@
"reset_pin_code_success": "PIN-kood edukalt lähtestatud",
"reset_pin_code_with_password": "Saad oma PIN-koodi alati oma parooli abil lähtestada",
"reset_sqlite": "Lähtesta SQLite andmebaas",
"reset_sqlite_confirmation": "Kas oled kindel, et soovid SQLite andmebaasi lähtestada? Andmete uuesti sünkroonimiseks pead välja ja jälle sisse logima",
"reset_sqlite_clear_app_data": "Kustuta andmed",
"reset_sqlite_confirmation": "Kas oled kindel, et soovid rakenduse andmed kustutada? See eemaldab kõik seaded ja logib su välja.",
"reset_sqlite_confirmation_note": "Märkus: Pärast kustutamist pead rakenduse taasavama.",
"reset_sqlite_done": "Rakenduse andmed kustutatud. Taaskäivita Immich ja logi uuesti sisse.",
"reset_sqlite_success": "SQLite andmebaas edukalt lähtestatud",
"reset_to_default": "Lähtesta",
"resolution": "Resolutsioon",
@@ -1910,6 +1919,7 @@
"saved_settings": "Seaded salvestatud",
"say_something": "Ütle midagi",
"scaffold_body_error_occurred": "Tekkis viga",
"scaffold_body_error_unrecoverable": "Esines parandumatu viga. Palun jaga viga ja pinujälge Discord'is või GitHub'is, et saaksime aidata. Kui seda soovitatakse, saad allpool rakenduse andmed kustutada.",
"scan": "Otsi",
"scan_all_libraries": "Skaneeri kõik kogud",
"scan_library": "Skaneeri",
@@ -1945,6 +1955,7 @@
"search_filter_ocr": "Otsi OCR-i abil",
"search_filter_people_title": "Vali isikud",
"search_filter_star_rating": "Hinnang",
"search_filter_tags_title": "Vali sildid",
"search_for": "Otsi",
"search_for_existing_person": "Otsi olemasolevat isikut",
"search_no_more_result": "Rohkem vasteid pole",
@@ -2024,6 +2035,9 @@
"set_profile_picture": "Sea profiilipilt",
"set_slideshow_to_fullscreen": "Kuva slaidiesitlus täisekraanil",
"set_stack_primary_asset": "Sea peamiseks üksuseks",
"setting_image_navigation_enable_subtitle": "Kui lubatud, saad liikuda eelmise/järgmise pildi juurde ekraani vasakut/paremat serva puudutades.",
"setting_image_navigation_enable_title": "Puudutusega navigeerimine",
"setting_image_navigation_title": "Piltide navigeerimine",
"setting_image_viewer_help": "Detailivaatur laadib kõigepealt väikese pisipildi, seejärel keskmises mõõdus eelvaate (kui lubatud) ja lõpuks originaalpildi (kui lubatud).",
"setting_image_viewer_original_subtitle": "Lülita sisse, et laadida algne täisresolutsiooniga pilt (suur!). Lülita välja, et vähendada andmekasutust (nii võrgu kui seadme puhvri).",
"setting_image_viewer_original_title": "Laadi algne pilt",
@@ -2203,6 +2217,7 @@
"tag": "Silt",
"tag_assets": "Sildista üksuseid",
"tag_created": "Lisatud silt: {tag}",
"tag_face": "Sildista nägu",
"tag_feature_description": "Fotode ja videote lehitsemine siltide kaupa grupeeritult",
"tag_not_found_question": "Ei leia silti? <link>Lisa uus silt.</link>",
"tag_people": "Sildista inimesi",
@@ -2302,6 +2317,7 @@
"unstack_action_prompt": "{count} eraldatud",
"unstacked_assets_count": "{count, plural, one {# üksus} other {# üksust}} eraldatud",
"unsupported_field_type": "Mittetoetatud välja tüüp",
"unsupported_file_type": "Faili {file} ei saa üles laadida, kuna selle tüüp {type} ei ole toetatud.",
"untagged": "Sildistamata",
"untitled_workflow": "Pealkirjata töövoog",
"up_next": "Järgmine",
@@ -2328,6 +2344,8 @@
"url": "URL",
"usage": "Kasutus",
"use_biometric": "Kasuta biomeetriat",
"use_browser_locale": "Kasuta brauseri lokaati",
"use_browser_locale_description": "Vorminda kuupäevad, kellaajad ja arvud vastavalt brauseri lokaadile",
"use_current_connection": "Kasuta praegust ühendust",
"use_custom_date_range": "Kasuta kohandatud kuupäevavahemikku",
"user": "Kasutaja",
@@ -2381,6 +2399,7 @@
"viewer_remove_from_stack": "Eemalda virnast",
"viewer_stack_use_as_main_asset": "Kasuta peamise üksusena",
"viewer_unstack": "Eralda",
"visibility": "Nähtavus",
"visibility_changed": "{count, plural, one {# isiku} other {# isiku}} nähtavus muudetud",
"visual": "Visuaalne",
"visual_builder": "Visuaalne koostaja",

View File

@@ -5,8 +5,10 @@
"acknowledge": "Onartu",
"action": "Ekintza",
"action_common_update": "Eguneratu",
"action_description": "Ekintza multzoa iragazitako aktiboetan aplikatzeko",
"actions": "Ekintzak",
"active": "Aktibo",
"active_count": "Aktibo: {count}",
"activity": "Jarduera",
"activity_changed": "Jarduera {enabled, select, true {ezarrita dago} other {ez dago ezarrita}}",
"add": "Gehitu",
@@ -14,9 +16,14 @@
"add_a_location": "Kokapena gehitu",
"add_a_name": "Izena gehitu",
"add_a_title": "Izenburua gehitu",
"add_action": "Ekintza gehitu",
"add_action_description": "Egin klik gauzatu beharreko ekintza bat gehitzeko",
"add_assets": "Aktiboak gehitu",
"add_birthday": "Urtebetetzea gehitu",
"add_endpoint": "Endpoint-a gehitu",
"add_exclusion_pattern": "Bazterketa eredua gehitu",
"add_filter": "Gehitu iragazkia",
"add_filter_description": "Klik egin iragazki baldintza bat gehitzeko",
"add_location": "Kokapena gehitu",
"add_more_users": "Erabiltzaile gehiago gehitu",
"add_partner": "Kidea gehitu",
@@ -27,41 +34,78 @@
"add_to_album": "Albumera gehitu",
"add_to_album_bottom_sheet_added": "{album} -(e)ra gehitu",
"add_to_album_bottom_sheet_already_exists": "Dagoeneko {album} albumenean",
"add_to_album_bottom_sheet_some_local_assets": "Aktibo lokal batzuk ezin izan dira albumera gehitu",
"add_to_album_toggle": "Txandakatu aukeraketa {album}-arentzat",
"add_to_albums": "Albumetara gehitu",
"add_to_albums_count": "Albumetara gehitu ({count})",
"add_to_bottom_bar": "Gehitu hona",
"add_to_shared_album": "Gehitu partekatutako albumera",
"add_upload_to_stack": "Gehitu karga pilara",
"add_url": "URL-a gehitu",
"add_workflow_step": "Gehitu fluxu pausoa",
"added_to_archive": "Artxibategira gehituta",
"added_to_favorites": "Faboritoetara gehituta",
"added_to_favorites_count": "{count, number} faboritoetara gehituta",
"added_to_favorites": "Gogokoetara gehituta",
"added_to_favorites_count": "{count, number} gogokoetara gehituta",
"admin": {
"add_exclusion_pattern_description": "Gehitu baztertze patroiak. *, ** eta ? karakterak erabil ditzazkezu (globbing). Adibideak: \"Raw\" izeneko edozein direktorioko fitxategi guztiak baztertzeko, erabili \"**/Raw/**\". \".tif\" amaitzen diren fitxategi guztiak baztertzeko, erabili \"**/*.tif\". Bide absolutu bat baztertzeko, erabili \"/baztertu/beharreko/bidea/**\".",
"admin_user": "Administradore erabiltzailea",
"asset_offline_description": "Kanpo-liburutegiko aktibo hau es da diskoan aurkitu eta zaborrontzira mugitu da. Fitxategia liburutegian bertan mugitu bada, bilatu denbora lerroan dagokion aktibo berria. Aktiboa berreskuratzeko, mesedez ziurtatu fitxategiaren helbidea Immich-ek eskuratu dezakela eta eskaneatu liburutegia.",
"authentication_settings": "Segurtasun Ezarpenak",
"authentication_settings_description": "Kudeatu pasahitza, OAuth edo beste segurtasun konfigurazio bat",
"authentication_settings_disable_all": "Seguru zaude saioa hasteko modu guztiak desgaitu nahi dituzula? Saioa hastea guztiz desgaitua izango da.",
"authentication_settings_reenable": "Berriro gaitzeko, erabili <link>Server Command</link>.",
"background_task_job": "Atzealdeko Lanak",
"backup_database": "Sortu datubasearen dump-a",
"backup_database_enable_description": "Gaitu datu base dump-ak",
"backup_keep_last_amount": "Mantendu beharreko dump kopurua",
"backup_onboarding_1_description": "kanpo kopia hodeiean edo beste kokaleku fisiko batean.",
"backup_onboarding_2_description": "kopia lokalak gailu ezberdinetan. Honek fitxategi nagusiak eta fitxategi horien babeskopia lokalak barneratzen ditu.",
"backup_onboarding_3_description": "datuen kopiak guztira, fitxategi originalak barne. Honek kanpo kopia 1 eta 2 kopia lokal barne ditu.",
"backup_onboarding_description": "<backblaze-link>3-2-1 babeskopia estrategia</backblaze-link> gomendatzen da zure datuak babesteko. Babeskopia soluzio osoa lortzeko, kargatutako irudien/bideoen kopiak gorde beharko zenituzke. Immich datu-basearena baita ere.",
"backup_onboarding_footer": "Immich-en babes kopiei buruzko informazio gehiago nahi baduzu, mesedez irakurri <link>dokumentazioa</link>.",
"backup_onboarding_parts_title": "3-2-1 babes-kopia batek barne hartzen du:",
"backup_onboarding_title": "Babes Kopiak",
"backup_settings": "Datu-base Dump-aren Ezarpenak",
"backup_settings_description": "Datu-base dump-aren ezarpenak kudeatu.",
"cleared_jobs": "Garbitutako lanak honentzak: {job}",
"config_set_by_file": "Konfigurazioa konfigurazio-fitxategi baten bidez dago ezarria",
"confirm_delete_library": "Seguru zaude {library} ezabatu nahi duzula?",
"confirm_email_below": "Konfirmatzeko, idatzi \"{email}\" azpian",
"confirm_reprocess_all_faces": "Seguru zaude aurpegi guztiak berriro prozesatu nahi dituzula? Erabakiak jendearen izenak ere borratuko ditu.",
"confirm_user_password_reset": "Seguru zaude {user}-ren pasahitza berrezarri nahi duzula?",
"confirm_user_pin_code_reset": "Seguru zaude {user}-ren PIN kodea berrezarri nahi duzula?",
"copy_config_to_clipboard_description": "Kopiatu momentuko sistema-konfigurazioa JSON objetu formatuan arbelean",
"create_job": "Gehitu zeregina",
"cron_expression": "Cron adierazpena",
"cron_expression_description": "Ezarri eskaneatzeko tartea cron formatua erabiliz. Informazio gehiago lortzeko, jo mesedez <link>Crontab Guru</link> adibidera",
"cron_expression_presets": "Cron adierazpenaren aurrezarpenak",
"disable_login": "Desgaitu saio hastea",
"duplicate_detection_job_description": "Exekutatu ikasketa automatikoa aktiboetan antzeko irudiak detektatzeko. Bilaketa Adimendunean oinarritzen da",
"export_config_as_json_description": "Deskargatu momentuko sistema konfigurazioa JSON fitxategi moduan",
"external_libraries_page_description": "Administratzailearen kanpo liburutegi orrialdea",
"face_detection": "Aurpegi detekzioa",
"failed_job_command": "{command} komandoak hutsegin du {job} zereginerako",
"image_format": "Formatua",
"image_format_description": "WebP ereduak JPEG baino fitxategi txikiagoak sortzen ditu, baina motelagoa da kodifikatzen.",
"image_prefer_embedded_preview": "Nahiago aurrebista txertatua",
"image_prefer_wide_gamut": "Nahiago gamut zabala",
"image_preview_title": "Aurreikusiaen Konfigurazioa",
"image_progressive": "Progresiboa",
"image_quality": "Kalitatea",
"image_resolution": "Erresoluzioa",
"image_settings": "Argazkien Konfigurazioa",
"image_settings_description": "Kudeatu sortutako irudien kalitatea eta erresoluzioa",
"image_thumbnail_title": "Argazki Txikien Konfigurazioa",
"import_config_from_json_description": "Inportatu sistema konfigurazioa JSON konfigurazio fitxategia kargatuz",
"job_concurrency": "{job} konkurrentzia",
"job_created": "Zeregina sortuta",
"job_settings": "Zereginaren konfigurazioa",
"job_settings_description": "Kudeatu lanen konkurrentzia",
"jobs_over_time": "Lanak denboran zehar",
"library_created": "Sortutako liburutegia: {library}",
"library_deleted": "Liburutegia ezabatuta",
"library_details": "Liburutegiaren xehetasunak",
"library_remove_folder_prompt": "Ziur zaude inportazio karpeta hau ezabatu nahi duzula?",
"logging_enable_description": "Gaitu erregistroak",
"logging_level_description": "Erregistroak gaituta daudenean, nolako erregistro maila erabili.",
"logging_settings": "Erregistroak",

View File

@@ -5,6 +5,7 @@
"acknowledge": "متوجه شدم",
"action": "عملکرد",
"action_common_update": "به‌ روز‌رسانی",
"action_description": "تعدادی عملیات برای انجام روی داده‌های فیلتر شده",
"actions": "عملکرد",
"active": "فعال",
"active_count": "فعال: {count}",
@@ -14,8 +15,14 @@
"add_a_location": "افزودن یک مکان",
"add_a_name": "افزودن نام",
"add_a_title": "افزودن عنوان",
"add_action": "افزودن عملیات",
"add_action_description": "برای افزودن و اعمال یک عملیات کلیک کنید",
"add_assets": "افزودن عکس یا فیلم",
"add_birthday": "افزودن تاریخ تولد",
"add_endpoint": "افزودن پایانه",
"add_exclusion_pattern": "افزودن الگوی استثنا",
"add_filter": "افزودن فیلتر",
"add_filter_description": "برای افزودن یک شرط فیلتر کلیک کنید",
"add_location": "افزودن مکان",
"add_more_users": "افزودن کاربرهای بیشتر",
"add_partner": "افزودن شریک",
@@ -27,25 +34,38 @@
"add_to_album_bottom_sheet_added": "به آلبوم {album} اضافه شد",
"add_to_album_bottom_sheet_already_exists": "قبلا در آلبوم {album} موجود است",
"add_to_album_bottom_sheet_some_local_assets": "برخی از محتواهای محلی را نشد به آلبوم اضافه کرد",
"add_to_album_toggle": "تغییر وضعیت انتخاب برای {album}",
"add_to_albums": "افزودن به آلبوم",
"add_to_albums_count": "افزودن به آلبوم ها {count}",
"add_to_bottom_bar": "افزودن به",
"add_to_shared_album": "افزودن به آلبوم اشتراکی",
"add_upload_to_stack": "افزودن فایل ارسالی به مجموعه",
"add_url": "افزودن آدرس URL",
"add_workflow_step": "افزودن یک مرحله به روند کار",
"added_to_archive": "به آرشیو اضافه شد",
"added_to_favorites": "به علاقه مندی ها اضافه شد",
"added_to_favorites_count": "{count, number} تا به علاقه مندی ها اضافه شد",
"admin": {
"add_exclusion_pattern_description": "الگوهای استثنا را اضافه کنید. پشتیبانی از گلابینگ با استفاده از *, ** و ? وجود دارد. برای نادیده گرفتن تمام فایل‌ها در هر دایرکتوری با نام \"Raw\"، از \"**/Raw/**\" استفاده کنید. برای نادیده گرفتن تمام فایل‌هایی که با \".tif\" پایان می‌یابند، از \"**/*.tif\" استفاده کنید. برای نادیده گرفتن یک مسیر مطلق، از \"/path/to/ignore/**\" استفاده کنید.",
"admin_user": "ادمین",
"asset_offline_description": "این کتابخانه داده‌ی بیرونی روی محل ذخیره‌سازی پیدا نشد و به سطل آشغل منتقل شد. اگر فایل مورد نظر در داخل کتابخانه جابجاده شده، تایملاین خود را برای داده‌ی جدید چک کنید. برای بازیابی این داده لطفا مطمئن شوید که مسیر فایل زیر توسط Immich قابل دسترس است سپس کتابخانه را اسکن کنید.",
"authentication_settings": "تنظیمات احراز هویت",
"authentication_settings_description": "مدیریت رمز عبور، OAuth، و سایر تنظیمات احراز هویت",
"authentication_settings_disable_all": "آیا مطمئن هستید که می‌خواهید تمام روش‌های ورود را غیرفعال کنید؟ ورود به طور کامل غیرفعال خواهد شد.",
"authentication_settings_reenable": "برای فعال سازی مجدد از <link> دستور سرور </link> استفاده کنید.",
"background_task_job": "وظایف پس‌زمینه",
"backup_database": "اضافه کردن یک نسخه کپی از دیتابیس",
"backup_database_enable_description": "فعال کردن کپی از دیتابیس",
"backup_keep_last_amount": "تعداد کپی‌های قبلی برای نگه داشتن",
"backup_onboarding_1_description": "کپی خارجی روی فضای ابری یا یک محل فیزیکی دیگر.",
"backup_onboarding_2_description": "کپی‌های محلی روی دستگاه‌های دیگر. این شامل فایل‌های اصلی و پشتیبان‌های محلی از آن فایل‌ها می‌باشد.",
"backup_onboarding_3_description": "مجموع کپی‌های داده‌های شما، به همراه فایل‌های اصلی. این شامل ۱ کپی خارجی و ۲ کپی محلی می‌باشد.",
"backup_onboarding_description": "برای حفاظت از اطلاعات شما یک <backblaze-link>روش پشتیبانی ۳-۲-۱</backblaze-link> پیشنهاد می‌شود. برای یک پشتیبانی جامع، شما باید کپی‌هایی از عکس‌ها/ویدیوهای آپلود شده خود به همراه دیتابیس Immich نگه دارید.",
"backup_onboarding_footer": "برای اطلاعات بیشتر درباره بک آپ گیری از Immich، لطفا به <link>مستندات</link> مراجعه کنید.",
"backup_onboarding_parts_title": "روش پشتیبانی ۳-۲-۱ شامل:",
"backup_onboarding_title": "بک آپ ها",
"backup_settings": "تنظیمات کپی‌برداری از دیتابیس",
"backup_settings_description": "مدیریت تنظیمات کپی‌برداربی از دیتابیس.",
"cleared_jobs": "وظایف پاک شده برای:{job}",
"config_set_by_file": "تنظیم فعلی توسط یک فایل پیکربندی انجام شده است",
"confirm_delete_library": "آیا مطمئن هستید که می‌خواهید کتابخانه {library} را حذف کنید؟",
@@ -365,7 +385,7 @@
"user_successfully_removed": "کاربر {email} با موفقیت حذف شد.",
"users_page_description": "صفحه مدیریت کاربران",
"version_check_enabled_description": "فعال‌سازی بررسی نسخه",
"version_check_implications": "ویژگی بررسی نسخه به ارتباط دوره ای با github.com متکی است",
"version_check_implications": "ویژگی بررسی نسخه به ارتباط دوره ای با {server} متکی است",
"version_check_settings": "بررسی نسخه",
"version_check_settings_description": "فعال یا غیرفعال کردن اعلان نسخه جدید",
"video_conversion_job": "تبدیل (رمزگذاری) ویدیوها",

View File

@@ -3,9 +3,10 @@
"account": "Tili",
"account_settings": "Tilin asetukset",
"acknowledge": "Hyväksy",
"action": "Toiminta",
"action": "Toiminto",
"action_common_update": "Päivitä",
"actions": "Toimintoja",
"action_description": "Lista toimista, jotka toteutetaan suodatettuun sisältöön",
"actions": "Toiminnot",
"active": "Aktiivinen",
"active_count": "Aktiivisia: {count}",
"activity": "Tapahtumat",
@@ -17,6 +18,7 @@
"add_a_title": "Lisää otsikko",
"add_action": "Lisää toiminto",
"add_action_description": "Klikkaa lisätäksesi suoritettava toiminto",
"add_assets": "Lisää sisältöä",
"add_birthday": "Lisää syntymäpäivä",
"add_endpoint": "Lisää päätepiste",
"add_exclusion_pattern": "Lisää poissulkemismalli",
@@ -47,7 +49,7 @@
"admin": {
"add_exclusion_pattern_description": "Lisää mallit, jonka mukaan jätetään tiedostoja pois. Jokerimerkit *, ** ja ? ovat tuettuna. Jättääksesi pois kaikki tiedostot mistä tahansa löytyvästä kansiosta \"Raw\" käytä \"**/Raw/**\". Jättääksesi pois kaikki \". tif\" päätteiset tiedot, käytä \"**/*.tif\". Jättääksesi pois tarkan tiedostopolun, käytä \"/path/to/ignore/**\".",
"admin_user": "Ylläpitäjä",
"asset_offline_description": "Ulkoista kirjaston resurssia ei enää löydy levyltä, ja se on siirretty roskakoriin. Jos tiedosto siirrettiin kirjaston sisällä, tarkista aikajanaltasi uusi vastaava resurssi. Palauttaaksesi tämän resurssin, varmista, että alla oleva tiedostopolku on Immichin käytettävissä ja skannaa kirjasto uudelleen.",
"asset_offline_description": "Ulkoista kirjaston kohdetta ei enää löydy levyltä, ja se on siirretty roskakoriin. Jos tiedosto siirrettiin kirjaston sisällä, tarkista aikajanaltasi uusi vastaava kohde. Palauttaaksesi tämän kohteen, varmista, että alla oleva tiedostopolku on Immichin käytettävissä ja skannaa kirjasto uudelleen.",
"authentication_settings": "Autentikointiasetukset",
"authentication_settings_description": "Hallitse salasana-, OAuth- ja muut autentikoinnin asetukset",
"authentication_settings_disable_all": "Haluatko varmasti poistaa kaikki kirjautumistavat käytöstä? Kirjautuminen on tämän jälkeen mahdotonta.",
@@ -99,10 +101,11 @@
"image_prefer_embedded_preview_setting_description": "Käytä RAW-kuviin upotettuja esikatseluja kuvankäsittelyn syötteenä ja aina kun mahdollista. Tämä voi tarjota tarkempia värejä joillekin kuville, mutta esikatselun laatu riippuu kamerasta ja kuvassa voi olla enemmän pakkausartefakteja.",
"image_prefer_wide_gamut": "Suosi laajaa väriskaalaa",
"image_prefer_wide_gamut_setting_description": "Käytä Display P3 -nimiavaruutta pikkukuville. Tämä säilöö värien vivahteet paremmin, mutta kuvat saattavat näyttää erilaisilta vanhemmissa laitteissa. sRGB-kuvat pidetään muuttumattomina, jottei värit muuttuisi.",
"image_preview_description": "Keskikokoinen kuva, josta metatiedot on poistettu, käytetään yksittäisen resurssin katseluun ja koneoppimiseen",
"image_preview_description": "Keskikokoinen kuva, josta metatiedot on poistettu, käytetään yksittäisen kohteen katseluun ja koneoppimiseen",
"image_preview_quality_description": "Esikatselulaatu 1-100. Korkeampi arvo on parempi, mutta tuottaa suurempia tiedostoja ja voi heikentää sovelluksen reagointikykyä. Matalan arvon asettaminen voi vaikuttaa koneoppimisen laatuun.",
"image_preview_title": "Esikatselun asetukset",
"image_progressive": "Progressiivinen",
"image_progressive_description": "Prosessoi JPEG-kuvat progressiivisesti asteittaista näyttämistä varten. Tällä ei ole vaikutusta WebP-kuviin.",
"image_quality": "Laatu",
"image_resolution": "Resoluutio",
"image_resolution_description": "Korkeammat resoluutiot voivat säilyttää enemmän yksityiskohtia, mutta niiden koodaus kestää kauemmin, tiedostokoot ovat suurempia ja ne voivat heikentää sovelluksen reagointikykyä.",
@@ -269,7 +272,7 @@
"oauth_auto_register": "Automaattinen rekisteröinti",
"oauth_auto_register_description": "Rekisteröi uudet OAuth:lla kirjautuvat käyttäjät automaattisesti",
"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 luottamukselliselle asiakasohjelmalle, tai jos julkinen asiakasohjelma ei tue PKCE:tä (Proof Key for Code Exchange).",
"oauth_enable_description": "Kirjaudu käyttäen OAuthia",
"oauth_mobile_redirect_uri": "Mobiilin uudelleenohjaus-URI",
"oauth_mobile_redirect_uri_override": "Ohita mobiilin uudelleenohjaus-URI",
@@ -308,7 +311,7 @@
"search_jobs": "Etsi tehtäviä…",
"send_welcome_email": "Lähetä tervetuloviesti",
"server_external_domain_settings": "Ulkoinen osoite",
"server_external_domain_settings_description": "Osoite julkisille linkeille, http(s):// mukaan lukien",
"server_external_domain_settings_description": "Osoite ulkopuolisille linkeille",
"server_public_users": "Julkiset käyttäjät",
"server_public_users_description": "Kaikki käyttäjät (nimi ja sähköpostiosoite) luetellaan, kun käyttäjä lisätään jaettuihin albumeihin. Kun toiminto on poistettu käytöstä, käyttäjäluettelo on vain pääkäyttäjien käytettävissä.",
"server_settings": "Palvelimen asetukset",
@@ -327,8 +330,8 @@
"storage_template_hash_verification_enabled": "Tarkistussumman varmennus käytössä",
"storage_template_hash_verification_enabled_description": "Ottaa käyttöön tarkistussummien laskennan. Älä poista käytöstä, ellet ole aivan varma seurauksista",
"storage_template_migration": "Tallennustilan mallien migraatio",
"storage_template_migration_description": "Käytä nykyistä <link>{template}a</link> aikaisemmin lähetettyihin kohteisiin",
"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_description": "Käytä nykyistä <link>{template}</link> aikaisemmin lähetettyihin kohteisiin",
"storage_template_migration_info": "Tallennusmalli muuntaa kaikki tiedostopäätteet pieniksi kirjaimiksi. Mallipohjan muutokset koskevat vain uusia kohteita. Jos haluat käyttää mallipohjaa takautuvasti aiemmin ladattuihin kohteisiin, suorita <link>{job}</link>.",
"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_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>..",
@@ -348,7 +351,7 @@
"template_settings": "Ilmoitusmallit",
"template_settings_description": "Hallitse yksilöllisten ilmoitusten malleja",
"theme_custom_css_settings": "Mukautettu CSS",
"theme_custom_css_settings_description": "Mukauta Immichin ulkoasua CSS:llä.",
"theme_custom_css_settings_description": "Cascading Style Sheets mahdollistaa Immichin ulkoasun mukauttamisen.",
"theme_settings": "Teeman asetukset",
"theme_settings_description": "Kustomoi Immichin web-käyttöliittymää",
"thumbnail_generation_job": "Luo pikkukuvat",
@@ -408,7 +411,7 @@
"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_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 ja videot, joissa pikselimuoto on jokin muu kuin YUV 4:2:0, transkoodataan aina, paitsi jos transkoodaus on poistettu käytöstä.",
"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_video_codec": "Videokoodekki",
@@ -438,7 +441,7 @@
"user_successfully_removed": "Käyttäjä {email} on poistettu onnistuneesti.",
"users_page_description": "Ylläpitäjän käyttäjien lista",
"version_check_enabled_description": "Ota käyttöön versiotarkastus",
"version_check_implications": "Versiotarkistus vaatii säännöllisen yhteyden github.comiin",
"version_check_implications": "Versiotarkistus vaatii säännöllisen yhteyden {server}iin",
"version_check_settings": "Versiotarkistus",
"version_check_settings_description": "Ota käyttöön ilmoitukset, kun uusi versio on saatavilla",
"video_conversion_job": "Transkoodaa videot",
@@ -492,6 +495,7 @@
"album_summary": "Albumi tiivistelmä",
"album_updated": "Albumi päivitetty",
"album_updated_setting_description": "Saa sähköpostia kun jaetussa albumissa on uutta sisältöä",
"album_upload_assets": "Lataa kohteet tietokoneelta ja lisää ne albumiin",
"album_user_left": "Poistuttiin albumista {album}",
"album_user_removed": "{user} poistettu",
"album_viewer_appbar_delete_confirm": "Haluatko varmasti poistaa tämän albumin tililtäsi?",
@@ -568,8 +572,11 @@
"asset_list_layout_sub_title": "Asettelu",
"asset_list_settings_subtitle": "Kuvaruudukon asettelu",
"asset_list_settings_title": "Kuvaruudukko",
"asset_not_found_on_device_android": "Kohdetta ei löytynyt laitteelta",
"asset_not_found_on_device_ios": "Kohdetta ei löytynyt laitteelta. Jos käytät iCloudia, voi kohde olla käyttämättömissä iCloudiin tallennetun viallisen tiedoston vuoksi",
"asset_not_found_on_icloud": "Kohdetta ei löytynyt iCloudista. Kohde voi olla käyttämättömissä iCloudiin tallennetun viallisen tiedoston vuoksi",
"asset_offline": "Aineisto offline-tilassa",
"asset_offline_description": "Tätä ulkoista resurssia ei enää löydy levyltä. Ole hyvä ja ota yhteyttä Immich-järjestelmänvalvojaan saadaksesi apua.",
"asset_offline_description": "Tätä ulkoista kohdetta ei enää löydy levyltä. Ole hyvä ja ota yhteyttä Immich-järjestelmänvalvojaan saadaksesi apua.",
"asset_restored_successfully": "Kohde palautettu onnistuneesti",
"asset_skipped": "Ohitettu",
"asset_skipped_in_trash": "Roskakorissa",
@@ -656,7 +663,7 @@
"backup_controller_page_filename": "Tiedostonimi: {filename} [{size}]",
"backup_controller_page_id": "ID: {id}",
"backup_controller_page_info": "Varmuuskopioinnin tiedot",
"backup_controller_page_none_selected": "Ei mitään",
"backup_controller_page_none_selected": "Ei mitään valittuna",
"backup_controller_page_remainder": "Jäljellä",
"backup_controller_page_remainder_sub": "Varmuuskopiointia odottavat kuvat ja videot",
"backup_controller_page_server_storage": "Palvelimen tallennustila",
@@ -757,9 +764,13 @@
"cleanup_deleted_assets": "Siirretty {count} kohdetta laitteen roskakoriin",
"cleanup_deleting": "Siirretään roskakoriin...",
"cleanup_found_assets": "Löytyi {count} varmuuskopioitua kohdetta",
"cleanup_found_assets_with_size": "Löytyi {count} varmuuskopioitua kohdetta ({size})",
"cleanup_icloud_shared_albums_excluded": "Jaettuja iCloud-albumeja ei skannata",
"cleanup_no_assets_found": "Ehtojasi vastaavia varmuuskopioituja kohteita ei löytynyt",
"cleanup_no_assets_found": "Kriteerejä vastaavia kohteita ei löytynyt. Levytilan vapautus voi poistaa vain kohteita, jotka on varmuuskopioitu palvelimelle",
"cleanup_preview_title": "Poistettavia kohteita {count}",
"cleanup_step3_description": "Etsi tallennettua sisältöä joka vastaa valittua päivämäärää ja pidä asetukset.",
"cleanup_step4_summary": "{count} kohdetta (luotu ennen {date}) poistetaan paikalliselta laitteeltasi. Kuvat pysyvät saatavilla Immich-sovelluksessa.",
"cleanup_trash_hint": "Vapauttaaksesi tallennustilan kokonaan, avaa järjestelmän galleria-sovellus ja tyhjennä roskakori",
"clear": "Tyhjennä",
"clear_all": "Tyhjennä kaikki",
"clear_all_recent_searches": "Tyhjennä viimeisimmät haut",
@@ -771,6 +782,8 @@
"client_cert_import": "Tuo",
"client_cert_import_success_msg": "Asiakasvarmenne tuotu",
"client_cert_invalid_msg": "Virheellinen varmennetiedosto tai väärä salasana",
"client_cert_password_message": "Syötä salasana tälle sertifikaatille",
"client_cert_password_title": "Sertifikaatin salasana",
"client_cert_remove_msg": "Asiakassertifikaatti on poistettu",
"client_cert_subtitle": "Vain PKCS12 (.p12, .pfx) -muotoa tuetaan. Varmenteen tuonti/poisto on käytettävissä vain ennen sisäänkirjautumista",
"client_cert_title": "SSL-asiakassertifikaatti [KOKEELLINEN]",
@@ -781,6 +794,11 @@
"color": "Väri",
"color_theme": "Väriteema",
"command": "Komento",
"command_palette_prompt": "Löydä nopeasti sivuja, toimintoja tai komentoja",
"command_palette_to_close": "sulkea",
"command_palette_to_navigate": "syöttää",
"command_palette_to_select": "valita",
"command_palette_to_show_all": "näyttää kaikki",
"comment_deleted": "Kommentti poistettu",
"comment_options": "Kommentin valinnat",
"comments_and_likes": "Kommentit ja tykkäykset",
@@ -831,9 +849,12 @@
"create_link_to_share": "Luo linkki jaettavaksi",
"create_link_to_share_description": "Salli kaikkien linkin saaneiden nähdä valitut kuvat",
"create_new": "LUO UUSI",
"create_new_face": "Luo uudet kasvot",
"create_new_person": "Luo uusi henkilö",
"create_new_person_hint": "Määritä valitut mediat uudelle henkilölle",
"create_new_user": "Luo uusi käyttäjä",
"create_person": "Luo henkilö",
"create_person_subtitle": "Lisää nimi valituille kasvoille luodaksesi uudelle henkilölle tunnisteen",
"create_shared_album_page_share_add_assets": "LISÄÄ KOHTEITA",
"create_shared_album_page_share_select_photos": "Valitse kuvat",
"create_shared_link": "Luo jakolinkki",
@@ -846,19 +867,24 @@
"creating_linked_albums": "Luodaan linkattuja albumeita...",
"crop": "Rajaa",
"crop_aspect_ratio_fixed": "Kiinteä",
"crop_aspect_ratio_free": "Vapaa",
"crop_aspect_ratio_original": "Alkuperäinen",
"crop_aspect_ratio_square": "Neliö",
"curated_object_page_title": "Asiat",
"current_device": "Nykyinen laite",
"current_pin_code": "Nykyinen PIN-koodi",
"current_server_address": "Nykyinen palvelinosoite",
"custom_date": "Mukautettu päivä",
"custom_locale": "Muokatut maa-asetukset",
"custom_locale_description": "Muotoile päivämäärät ja numerot perustuen alueen kieleen",
"custom_locale": "Mukautettu alueasetus",
"custom_locale_description": "Muotoile päivämäärät, kellonajat ja numerot valitun kielen ja alueen mukaan",
"custom_url": "Mukautettu URL",
"cutoff_date_description": "Säilytä kuvat viimeisimmältä…",
"cutoff_day": "{count, plural, one {päivä} other {päivää}}",
"cutoff_year": "{count, plural, one {vuosi} other {vuotta}}",
"daily_title_text_date": "E, dd MMM",
"daily_title_text_date_year": "E, dd MMM, yyyy",
"dark": "Tumma",
"dark_theme": "Vaihda tumma teema",
"dark_theme": "Vaihda tummaan teemaan",
"date": "Päivämäärä",
"date_after": "Päivämäärän jälkeen",
"date_and_time": "Päivämäärä ja aika",
@@ -869,12 +895,8 @@
"day": "Päivä",
"days": "Päivää",
"deduplicate_all": "Poista kaikkien kaksoiskappaleet",
"deduplication_criteria_1": "Kuvan koko tavuina",
"deduplication_criteria_2": "EXIF-datan määrä",
"deduplication_info": "Deduplikaatiotieto",
"deduplication_info_description": "Jotta voimme automaattisesti esivalita aineistot ja poistaa kaksoiskappaleet suurina erinä, tarkastelemme:",
"default_locale": "Oletuskieliasetus",
"default_locale_description": "Muotoile päivämäärät ja numerot selaimesi kielen mukaan",
"default_locale": "Oletuskieli",
"default_locale_description": "Muotoile päivämäärät ja luvut selaimesi kieliasetusten mukaan",
"delete": "Poista",
"delete_action_confirmation_message": "Haluatko varmasti poistaa tämän aineiston? Tämä toiminto siirtää aineiston palvelimen roskakoriin ja kysyy, haluatko poistaa sen myös paikallisesti",
"delete_action_prompt": "{count} poistettu",
@@ -950,7 +972,7 @@
"downloading_media": "Median lataaminen",
"drop_files_to_upload": "Pudota tiedostot mihin tahansa ladataksesi ne",
"duplicates": "Kaksoiskappaleet",
"duplicates_description": "Selvitä jokaisen kohdalla mitkä (jos mitkään) ovat kaksoiskappaleita",
"duplicates_description": "Selvitä jokaisen kohdalla mitkä (jos mitkään) ovat kaksoiskappaleita.",
"duration": "Kesto",
"edit": "Muokkaa",
"edit_album": "Muokkaa albumia",
@@ -980,8 +1002,15 @@
"editor_close_without_save_prompt": "Muutoksia ei tallenneta",
"editor_close_without_save_title": "Suljetaanko editori?",
"editor_confirm_reset_all_changes": "Haluatko varmasti nollata kaikki muutokset?",
"editor_discard_edits_confirm": "Hylkää muutokset",
"editor_discard_edits_prompt": "Sinulla on tallentamattomia muutoksia. Haluatko varmasti hylätä ne?",
"editor_discard_edits_title": "Hylkää muutokset?",
"editor_edits_applied_error": "Muutosten käyttöönotto epäonnistui",
"editor_edits_applied_success": "Muutokset otettu käyttöön",
"editor_flip_horizontal": "Käännä vaakatasossa",
"editor_flip_vertical": "Käännä pystytasossa",
"editor_handle_corner": "{corner, select, top_left {Vasen yläkulma} top_right {Oikea yläkulma} bottom_left {Vasen alakulma} bottom_right {Oikea alakulma} other {A}} kulman kahva",
"editor_handle_edge": "{edge, select, top {Yläreuna} bottom {Alareuna} left {Vasen reuna} right {Oikea reuna} other {En}} reunan kahva",
"editor_orientation": "Suunta",
"editor_reset_all_changes": "Nollaa muutokset",
"editor_rotate_left": "Kierrä 90° vastapäivään",
@@ -1007,9 +1036,11 @@
"error_loading_albums": "Virhe albumeita ladatessa",
"error_loading_image": "Kuvan lataus ei onnistunut",
"error_loading_partners": "Ongelma partnerin haussa: {error}",
"error_retrieving_asset_information": "Virhe kohdetietojen hakemisessa",
"error_saving_image": "Virhe: {error}",
"error_tag_face_bounding_box": "Kasvojen merkitseminen epäonnistui rajausruudun koordinaatteja ei löydy",
"error_title": "Virhe - Jotain meni pieleen",
"error_while_navigating": "Virhe siirryttäessä kohteeseen",
"errors": {
"cannot_navigate_next_asset": "Seuraavaan mediaan ei voi siirtyä",
"cannot_navigate_previous_asset": "Edelliseen mediaan ei voi siirtyä",
@@ -1045,6 +1076,7 @@
"failed_to_update_notification_status": "Ilmoituksen tilan päivittäminen epäonnistui",
"incorrect_email_or_password": "Väärä sähköpostiosoite tai salasana",
"library_folder_already_exists": "Tämä tuonnin polku on jo olemassa.",
"page_not_found": "Sivua ei löytynyt",
"paths_validation_failed": "{paths, plural, one {# polun} other {# polun}} validointi epäonnistui",
"profile_picture_transparent_pixels": "Profiilikuvassa ei voi olla läpinäkyviä pikseleitä. Zoomaa lähemmäs ja/tai siirrä kuvaa.",
"quota_higher_than_disk_size": "Asettamasi kiintiö on suurempi kuin levyn koko",
@@ -1118,6 +1150,7 @@
"unable_to_scan_library": "Kirjaston skannaaminen epäonnistui",
"unable_to_set_feature_photo": "Ei voida asettaa ominaiskuvaa",
"unable_to_set_profile_picture": "Profiilikuvan asetus epäonnistui",
"unable_to_set_rating": "Luokitusta ei voida asettaa",
"unable_to_submit_job": "Työtä ei voitu lähettää",
"unable_to_trash_asset": "Median siirto roskakoriin epäonnistui",
"unable_to_unlink_account": "Tunnuksen irroitus epäonnistui",
@@ -1143,6 +1176,7 @@
"exif_bottom_sheet_people": "IHMISET",
"exif_bottom_sheet_person_add_person": "Lisää nimi",
"exit_slideshow": "Poistu diaesityksestä",
"expand": "Laajenna",
"expand_all": "Laajenna kaikki",
"experimental_settings_new_asset_list_subtitle": "Työn alla",
"experimental_settings_new_asset_list_title": "Ota käyttöön kokeellinen kuvaruudukko",
@@ -1178,12 +1212,16 @@
"features_in_development": "Kehityksessä olevat ominaisuudet",
"features_setting_description": "Hallitse sovelluksen ominaisuuksia",
"file_name_or_extension": "Tiedostonimi tai tiedostopääte",
"file_name_text": "Tiedoston nimi",
"file_name_with_value": "Tiedoston nimi: {file_name}",
"file_size": "Tiedostokoko",
"filename": "Tiedostonimi",
"filetype": "Tiedostotyyppi",
"filter": "Suodatin",
"filter_description": "Tavoitekohteiden suodatusehdot",
"filter_people": "Suodata henkilöt",
"filter_places": "Suodata paikkoja",
"filter_tags": "Suodatintunnisteet",
"filters": "Suodattimet",
"find_them_fast": "Löydä nopeasti hakemalla nimellä",
"first": "Ensimmäinen",
@@ -1194,12 +1232,16 @@
"folders_feature_description": "Käytetään kansionäkymää valokuvien ja videoiden selaamiseen järjestelmässä",
"forgot_pin_code_question": "Unohditko PIN-koodisi?",
"forward": "Eteenpäin",
"free_up_space": "Vapauta tilaa",
"free_up_space_description": "Siirrä varmuuskopioidut valokuvat ja videot laitteen roskakoriin vapauttaaksesi tilaa. Palvelimella olevat kopiosi säilyvät turvassa.",
"free_up_space_settings_subtitle": "Vapauta laitteen tilaa",
"full_path": "Koko polku: {path}",
"gcast_enabled": "Google Cast",
"gcast_enabled_description": "Ominaisuus lataa ulkoisia resursseja Googlelta toimiakseen.",
"gcast_enabled_description": "Ominaisuus lataa ulkoisia kohteita Googlelta toimiakseen.",
"general": "Yleinen",
"geolocation_instruction_location": "Napsauta kuvaa, jossa on GPS-koordinaatit, käyttääksesi sen sijaintia, tai valitse sijainti suoraan kartalta",
"get_help": "Hae apua",
"get_people_error": "Virhe haettaessa henkilöitä",
"get_wifiname_error": "Wi-Fi-verkon nimen hakeminen epäonnistui. Varmista, että olet myöntänyt tarvittavat käyttöoikeudet ja että olet yhteydessä Wi-Fi-verkkoon",
"getting_started": "Aloittaminen",
"go_back": "Palaa",
@@ -1309,6 +1351,7 @@
"json_error": "JSON-virhe",
"keep": "Säilytä",
"keep_albums": "Säilytä albumit",
"keep_albums_count": "Säilytetään {count} {count, plural, one {albumi} other {albumia}}",
"keep_all": "Säilytä kaikki",
"keep_description": "Valitse, mitä laitteella säilytetään tilan vapautuksen yhteydessä.",
"keep_favorites": "Säilytä suosikit",
@@ -1346,9 +1389,11 @@
"library_page_sort_title": "Albumin otsikko",
"licenses": "Lisenssit",
"light": "Vaalea",
"light_theme": "Vaihda vaaleaan teemaan",
"like": "Tykkää",
"like_deleted": "Tykkäys poistettu",
"link_motion_video": "Linkitä liikevideo",
"link_to_docs": "Lisätietoja löytyy <link>dokumentaatiosta</link>.",
"link_to_oauth": "Linkki OAuth",
"linked_oauth_account": "Linkitetty OAuth-tili",
"list": "Lista",
@@ -1357,6 +1402,7 @@
"local": "Paikallinen",
"local_asset_cast_failed": "Kohdetta, joka ei ole ladattuna palvelimelle, ei voida striimata",
"local_assets": "Paikalliset kohteet",
"local_id": "Paikallinen ID",
"local_media_summary": "Paikallisen median yhteenveto",
"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",
@@ -1416,11 +1462,15 @@
"maintenance_restore_from_backup": "Palauta varmuuskopiosta",
"maintenance_restore_library": "Palauta kirjastosta",
"maintenance_restore_library_confirm": "Jos tämä vaikuttaa oikealta, jatka varmuuskopion palauttamista!",
"maintenance_restore_library_description": "Tietokannan palauttaminen",
"maintenance_restore_library_folder_has_files": "{folder} sisältää {count, plural, one {kansion} other {kansiota}}",
"maintenance_restore_library_folder_no_files": "Kansiosta {folder} puuttuu tiedostoja!",
"maintenance_restore_library_folder_pass": "luettavissa ja kirjoitettavissa",
"maintenance_restore_library_folder_read_fail": "ei luettavissa",
"maintenance_restore_library_folder_write_fail": "ei kirjoitettavissa",
"maintenance_restore_library_hint_missing_files": "Sinulta saattaa puuttua tärkeitä tiedostoja",
"maintenance_restore_library_hint_regenerate_later": "Voit luoda ne uudelleen myöhemmin asetuksissa",
"maintenance_restore_library_hint_storage_template_missing_files": "Käytätkö tallennusmallia? Sinulta saattaa puuttua tiedostoja",
"maintenance_restore_library_loading": "Ladataan eheystarkistuksia ja heurestiikkaa…",
"maintenance_task_backup": "Luodaan varmuuskopiota olemassa olevasta tietokannasta…",
"maintenance_task_migrations": "Suoritetaan tietokantamigraatioita…",
@@ -1487,6 +1537,8 @@
"minimize": "Pienennä",
"minute": "Minuutti",
"minutes": "Minuutit",
"mirror_horizontal": "Vaakasuora",
"mirror_vertical": "Pystysuora",
"missing": "Puuttuvat",
"mobile_app": "Mobiilisovellus",
"mobile_app_download_onboarding_note": "Lataa mobiilisovellus käyttämällä seuraavia vaihtoehtoja",
@@ -1495,11 +1547,14 @@
"monthly_title_text_date_format": "MMMM y",
"more": "Enemmän",
"move": "Siirrä",
"move_down": "Siirrä alas",
"move_off_locked_folder": "Siirrä pois lukitusta kansiosta",
"move_to": "Siirrä kohteeseen",
"move_to_device_trash": "Siirrä laitteen roskakoriin",
"move_to_lock_folder_action_prompt": "{count} lisätty lukittuun kansioon",
"move_to_locked_folder": "Siirrä lukittuun kansioon",
"move_to_locked_folder_confirmation": "Nämä kuvat ja videot poistetaan kaikista albumeista, ja ne ovat nähtävissä vain lukitussa kansiossa",
"move_up": "Siirrä ylös",
"moved_to_archive": "Siirretty {count, plural, one {# kohde} other {# kohdetta}} arkistoon",
"moved_to_library": "Siirretty {count, plural, one {# kohde} other {# kohdetta}} kirjastoon",
"moved_to_trash": "Siirretty roskakoriin",
@@ -1545,9 +1600,10 @@
"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_configuration_needed": "Konfiguraatiota ei tarvita",
"no_devices": "Ei valtuutettuja laitteita",
"no_duplicates_found": "Kaksoiskappaleita ei löytynyt.",
"no_exif_info_available": "EXIF-tietoa ei saatavilla",
"no_exif_info_available": "Exif-tietoja ei ole saatavilla",
"no_explore_results_message": "Lataa lisää kuvia tutkiaksesi kokoelmaasi.",
"no_favorites_message": "Lisää suosikkeja löytääksesi nopeasti parhaat kuvasi ja videosi",
"no_filters_added": "Suodattimia ei ole vielä lisätty",
@@ -1564,6 +1620,7 @@
"no_results_description": "Kokeile synonyymiä tai yleisempää avainsanaa",
"no_shared_albums_message": "Luo albumi, jotta voit jakaa kuvia ja videoita toisille",
"no_uploads_in_progress": "Ei käynnissä olevia latauksia",
"none": "Ei mitään",
"not_allowed": "Ei sallittu",
"not_available": "N/A",
"not_in_any_album": "Ei yhdessäkään albumissa",
@@ -1597,6 +1654,8 @@
"online": "Online",
"only_favorites": "Vain suosikit",
"open": "Avaa",
"open_calendar": "Avaa kalenteri",
"open_in_browser": "Avaa selaimessa",
"open_in_map_view": "Avaa karttanäkymässä",
"open_in_openstreetmap": "Avaa OpenStreetMapissa",
"open_the_search_filters": "Avaa hakusuodattimet",
@@ -1645,6 +1704,7 @@
"people": "Ihmiset",
"people_edits_count": "Muokattu {count, plural, one {# henkilö} other {# henkilöä}}",
"people_feature_description": "Selataan valokuvia ja videoita, jotka on ryhmitelty henkilöiden mukaan",
"people_selected": "{count, plural, one {# henkilö valittu} other {# henkilöä valittu}}",
"people_sidebar_description": "Näytä linkki Henkilöihin sivupalkissa",
"permanent_deletion_warning": "Pysyvän poiston varoitus",
"permanent_deletion_warning_setting_description": "Näytä varoitus, kun poistat kohteita pysyvästi",
@@ -1752,10 +1812,11 @@
"purchase_settings_server_activated": "Palvelimen tuoteavainta hallinnoi ylläpitäjä",
"query_asset_id": "Kysy sisällön ID:tä",
"queue_status": "Jonossa {count}/{total}",
"rating": "Tähtiarvostelu",
"rating_clear": "Tyhjennä arvostelu",
"rating_count": "{count, plural, one {# tähti} other {# tähteä}}",
"rating_description": "Näytä EXIF-arvosana lisätietopaneelissa",
"rate_asset": "Luokittele kohde",
"rating": "Tähtiluokitus",
"rating_clear": "Tyhjennä luokitus",
"rating_count": "{count, plural, =0 {Ei arvioitu} one {# tähti} other {# tähteä}}",
"rating_description": "Näytä EXIF-luokitus tietopaneelissa",
"reaction_options": "Reaktioasetukset",
"read_changelog": "Lue muutosloki",
"readonly_mode_disabled": "Muokkaustila päällä",
@@ -1827,7 +1888,10 @@
"reset_pin_code_success": "PIN-koodi nollattu onnistuneesti",
"reset_pin_code_with_password": "Voit aina nollata PIN-koodisi salasanan avulla",
"reset_sqlite": "Nollaa SQLite Tietokanta",
"reset_sqlite_confirmation": "Haluatko varmasti nollata SQLite tietokannan? Sinun tulee kirjautua sovelluksesta ulos ja takaisin sisään uudelleensynkronoidaksesi datan",
"reset_sqlite_clear_app_data": "Tyhjennä tiedot",
"reset_sqlite_confirmation": "Haluatko varmasti poistaa sovelluksen tiedot? Tämä poistaa kaikki asetukset ja kirjaa sinut ulos.",
"reset_sqlite_confirmation_note": "Huomaa: Sinun on käynnistettävä sovellus uudelleen tyhjentämisen jälkeen.",
"reset_sqlite_done": "Sovelluksen tiedot on tyhjennetty. Käynnistä Immich uudelleen ja kirjaudu sisään uudelleen.",
"reset_sqlite_success": "SQLite Tietokanta nollattu onnistuneesti",
"reset_to_default": "Palauta oletusasetukset",
"resolution": "Resoluutio",
@@ -1855,9 +1919,12 @@
"saved_settings": "Asetukset tallennettu",
"say_something": "Sano jotain",
"scaffold_body_error_occurred": "Tapahtui virhe",
"scaffold_body_error_unrecoverable": "Korjaamaton virhe on tapahtunut. Jaa virhe ja pinojälki Discordissa tai GitHubissa, jotta voimme auttaa. Pyydettäessä voit tyhjentää sovelluksen tiedot alla.",
"scan": "Skannaa",
"scan_all_libraries": "Skannaa kaikki kirjastot",
"scan_library": "Skannaa",
"scan_settings": "Skannausasetukset",
"scanning": "Skannataan",
"scanning_for_album": "Etsitään albumia...",
"search": "Haku",
"search_albums": "Etsi albumeita",
@@ -1887,6 +1954,8 @@
"search_filter_media_type_title": "Valitse mediatyyppi",
"search_filter_ocr": "Hae tekstintunnistuksella (OCR)",
"search_filter_people_title": "Valitse ihmiset",
"search_filter_star_rating": "Tähtiluokitus",
"search_filter_tags_title": "Valitse tunnisteita",
"search_for": "Hae",
"search_for_existing_person": "Etsi olemassa olevaa henkilöä",
"search_no_more_result": "Ei enää tuloksia",
@@ -1928,12 +1997,15 @@
"select_all_duplicates": "Valitse kaikki kaksoiskappaleet",
"select_all_in": "Valitse kaikki {group}",
"select_avatar_color": "Valitse avatarin väri",
"select_count": "{count, plural, one {Valitse #} other {Valitse #}}",
"select_cutoff_date": "Valitse katkaisuajankohta",
"select_face": "Valitse kasvo",
"select_featured_photo": "Valitse esittelykuva",
"select_from_computer": "Valitse koneeltasi",
"select_keep_all": "Valitse pidä kaikki",
"select_library_owner": "Valitse kirjaston omistaja",
"select_new_face": "Valitse uudet kasvot",
"select_people": "Valitse henkilöitä",
"select_person": "Valitse henkilö",
"select_person_to_tag": "Valitse henkilö, jonka haluat merkitä",
"select_photos": "Valitse kuvat",
@@ -1963,6 +2035,9 @@
"set_profile_picture": "Aseta profiilikuva",
"set_slideshow_to_fullscreen": "Näytä diaesitys koko ruudulla",
"set_stack_primary_asset": "Aseta pääkohteeksi",
"setting_image_navigation_enable_subtitle": "Jos tämä toiminto on käytössä, voit siirtyä edelliseen/seuraavaan kuvaan napauttamalla näytön vasenta/oikeaa reunaa.",
"setting_image_navigation_enable_title": "Napauta navigoidaksesi",
"setting_image_navigation_title": "Kuvien selaus",
"setting_image_viewer_help": "Kuvaa katseltaessa ensin ladataan pikkukuva, sitten keskilaatuinen pikkukuva (jos käytössä) ja lopuksi alkuperäinen (jos käytössä).",
"setting_image_viewer_original_subtitle": "Ota käyttöön ladataksesi alkuperäinen täysitarkkuuksinen kuva (suuri!). Poista käytöstä vähentääksesi datan käyttöä (sekä verkossa että laitteen välimuistissa).",
"setting_image_viewer_original_title": "Lataa alkuperäinen kuva",
@@ -2026,7 +2101,7 @@
"shared_link_edit_expire_after_option_year": "{count} vuosi",
"shared_link_edit_password_hint": "Syötä jaon salasana",
"shared_link_edit_submit_button": "Päivitä linkki",
"shared_link_error_server_url_fetch": "Palvelimen URL-osoitetta ei voitu hakea",
"shared_link_error_server_url_fetch": "Palvelimen url-osoitetta ei voitu hakea",
"shared_link_expires_day": "Vanhenee {count} päivässä",
"shared_link_expires_days": "Vanhenee {count} päivässä",
"shared_link_expires_hour": "Vanhenee {count} tunnissa",
@@ -2129,6 +2204,7 @@
"support": "Tuki",
"support_and_feedback": "Tuki ja palaute",
"support_third_party_description": "Immich-asennuksesi on pakattu kolmannen osapuolen toimesta. Kohtaamasi ongelmat saattavat johtua tästä paketista, joten ilmoita niistä ensisijaisesti heille alla olevien linkkien kautta.",
"supporter": "Tukija",
"swap_merge_direction": "Käännä yhdistämissuunta",
"sync": "Synkronoi",
"sync_albums": "Synkronoi albumit",
@@ -2141,8 +2217,9 @@
"tag": "Tunniste",
"tag_assets": "Lisää tunnisteita",
"tag_created": "Luotu tunniste: {tag}",
"tag_face": "Merkitse kasvot",
"tag_feature_description": "Selaa valokuvia ja videoita, jotka on ryhmitelty loogisten tunnisteotsikoiden mukaan",
"tag_not_found_question": "Etkö löydä tunnistetta? <link> Luo uusi tunniste </link>",
"tag_not_found_question": "Etkö löydä tunnistetta? <link>Luo uusi tunniste.</link>",
"tag_people": "Merkitse henkilö tunnisteella",
"tag_updated": "Päivitetty tunniste: {tag}",
"tagged_assets": "Tunnistettu {count, plural, one {# kohde} other {# kohdetta}}",
@@ -2166,6 +2243,7 @@
"theme_setting_theme_subtitle": "Valitse sovelluksen teema-asetukset",
"theme_setting_three_stage_loading_subtitle": "Kolmivaiheinen lataus saattaa parantaa lataustehoa, mutta aiheuttaa huomattavasti suuremman verkon kuormituksen",
"theme_setting_three_stage_loading_title": "Ota kolmivaiheinen lataus käyttöön",
"then": "Sitten",
"they_will_be_merged_together": "Nämä tullaan yhdistämään",
"third_party_resources": "Kolmannen osapuolen resurssit",
"time": "Aika",
@@ -2201,6 +2279,8 @@
"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ä.",
"trigger": "Laukaisin",
"trigger_asset_uploaded": "Kohde ladattu",
"trigger_asset_uploaded_description": "Käynnistyy, kun uusi kohde ladataan",
"trigger_description": "Työnkulun aloittava tapahtuma",
"trigger_person_recognized": "Henkilö tunnistettu",
"trigger_person_recognized_description": "Laukaistaan kun henkilö tunnistetaan",
@@ -2237,6 +2317,7 @@
"unstack_action_prompt": "{count} purettu pinosta",
"unstacked_assets_count": "Poistettu pinosta {count, plural, one {# kohde} other {# kohdetta}}",
"unsupported_field_type": "Ei-tuettu kentän tyyppi",
"unsupported_file_type": "Tiedostoa {file} ei voi ladata, koska sen tiedostotyyppi {type} ei ole tuettu.",
"untagged": "Ilman tunnistetta",
"untitled_workflow": "Nimetön työnkulku",
"up_next": "Seuraavaksi",
@@ -2248,6 +2329,7 @@
"upload_details": "Lähetyksen tiedot",
"upload_dialog_info": "Haluatko varmuuskopioida valitut kohteet palvelimelle?",
"upload_dialog_title": "Lähetä kohde",
"upload_error_with_count": "Latausvirhe {count} kohteelle",
"upload_errors": "Lataus valmistui {count, plural, one {# virheen} other {# virheen}} kanssa. Päivitä sivu nähdäksesi ladatut tiedot.",
"upload_finished": "Lähetys valmistui",
"upload_progress": "Jäljellä {remaining, number} - Käsitelty {processed, number}/{total, number}",
@@ -2262,6 +2344,8 @@
"url": "URL",
"usage": "Käyttö",
"use_biometric": "Käytä biometriikkaa",
"use_browser_locale": "Käytä selaimen kieliasetuksia",
"use_browser_locale_description": "Muotoile päivämäärät, kellonajat ja numerot selaimesi kieliasetusten mukaan",
"use_current_connection": "Käytä nykyistä yhteyttä",
"use_custom_date_range": "Käytä omaa aikaväliä",
"user": "Käyttäjä",
@@ -2315,6 +2399,7 @@
"viewer_remove_from_stack": "Poista pinosta",
"viewer_stack_use_as_main_asset": "Käytä pääkohteena",
"viewer_unstack": "Pura pino",
"visibility": "Näkyvyys",
"visibility_changed": "{count, plural, one {# henkilön} other {# henkilöiden}} näkyvyys vaihdettu",
"visual": "Visuaalinen",
"visual_builder": "Visuaalinen koostaja",
@@ -2338,12 +2423,14 @@
"workflow_update_success": "Työnkulku päivitetty onnistuneesti",
"workflow_updated": "Työnkulku päivitetty",
"workflows": "Työnkulut",
"workflows_help_text": "Työnkulut automatisoivat toimintoja kohteillesi laukaisimien ja suodattimien perusteella",
"wrong_pin_code": "Väärä PIN-koodi",
"year": "Vuosi",
"years_ago": "{years, plural, one {# vuosi} other {# vuotta}} sitten",
"yes": "Kyllä",
"you_dont_have_any_shared_links": "Sinulla ei ole jaettuja linkkejä",
"your_wifi_name": "Wi-Fi-verkkosi nimi",
"zero_to_clear_rating": "paina 0 poistaaksesi kohteen luokituksen",
"zoom_image": "Zoomaa kuvaa",
"zoom_to_bounds": "Zoomaa reunoihin"
}

View File

@@ -61,7 +61,7 @@
"backup_onboarding_1_description": "copie hors site dans le cloud ou sur un site distant.",
"backup_onboarding_2_description": "copies locales sur différents appareils. Cela inclut les fichiers principaux ainsi qu'une sauvegarde locale de ces fichiers.",
"backup_onboarding_3_description": "copies total de vos données, incluant les fichiers originaux. Cela inclut 1 copie hors site ainsi que 2 copies locales.",
"backup_onboarding_description": "Une <backblaze-link>stratégie de sauvegarde 3-2-1</backblaze-link> est recommandé pour protéger vos données. Vous devriez conserver des copies de vos photos/vidéos téléversés ainsi que de la base de données d'Immich pour une solution de sauvegarde cohérente.",
"backup_onboarding_description": "Une <backblaze-link>stratégie de sauvegarde 3-2-1</backblaze-link> est recommandée pour protéger vos données. Vous devriez conserver des copies de vos photos/vidéos téléversés ainsi que de la base de données d'Immich pour une solution de sauvegarde cohérente.",
"backup_onboarding_footer": "Pour plus d'information sur la sauvegarde d'Immich, merci de vous référer à la <link>documentation</link>.",
"backup_onboarding_parts_title": "Une sauvegarde 3-2-1 inclut :",
"backup_onboarding_title": "Sauvegardes",
@@ -173,7 +173,7 @@
"machine_learning_min_recognized_faces_description": "Nombre minimal de visages reconnus pour qu'une personne soit créée. Augmenter cette valeur rend la reconnaissance faciale plus précise au détriment d'augmenter la chance qu'un visage ne soit pas attribué à une personne.",
"machine_learning_ocr": "OCR",
"machine_learning_ocr_description": "Utiliser l'apprentissage automatique pour reconnaître le texte dans les images",
"machine_learning_ocr_enabled": "Activer la reconnaissance de caractères",
"machine_learning_ocr_enabled": "Activer la reconnaissance de caractères OCR",
"machine_learning_ocr_enabled_description": "Si désactivé, la reconnaissance de texte ne s'appliquera pas aux images.",
"machine_learning_ocr_max_resolution": "Résolution maximale",
"machine_learning_ocr_max_resolution_description": "Les prévisualisations au-dessus de cette résolution seront retaillées en conservant leur ratio. Des valeurs plus grandes sont plus précises, mais sont plus lentes et utilisent plus de mémoire.",
@@ -181,7 +181,7 @@
"machine_learning_ocr_min_detection_score_description": "Score de confiance minimum pour la détection du textew entre 0 et 1. Des valeurs faibles permettront de reconnaître davantage de texte mais peuvent entraîner des faux positifs.",
"machine_learning_ocr_min_recognition_score": "Score de reconnaissance minimum",
"machine_learning_ocr_min_score_recognition_description": "Score de confiance minimum pour la reconnaissance du texte, entre 0 et 1. Des valeurs faible permettront de reconnaître davantage de texte, mais peuvent entraîner des faux positifs.",
"machine_learning_ocr_model": "Modèle de Reconnaissance Optique de Caractères",
"machine_learning_ocr_model": "Modèle de Reconnaissance Optique de Caractères OCR",
"machine_learning_ocr_model_description": "Les modèles du serveur sont plus précis que les modèles mobiles, mais ils sont plus lents et utilisent plus de mémoire.",
"machine_learning_settings": "Paramètres d'apprentissage automatique",
"machine_learning_settings_description": "Gérer les fonctionnalités et les paramètres d'apprentissage automatique",
@@ -214,7 +214,7 @@
"map_gps_settings_description": "Gérer les paramètres de la Carte & GPS",
"map_implications": "La carte repose sur un service de tuiles externe (tiles.immich.cloud)",
"map_light_style": "Thème clair",
"map_manage_reverse_geocoding_settings": "Gérer les <link> paramètres de géocodage inversé</link>",
"map_manage_reverse_geocoding_settings": "Gérer les <link>paramètres de géocodage inversé</link>",
"map_reverse_geocoding": "Géocodage inversé",
"map_reverse_geocoding_enable_description": "Activer le géocodage inversé",
"map_reverse_geocoding_settings": "Paramètres de géocodage inversé",
@@ -411,7 +411,7 @@
"transcoding_tone_mapping": "Mappage tonal",
"transcoding_tone_mapping_description": "Tente de préserver l'apparence des vidéos HDR lorsqu'elles sont converties en SDR. Chaque algorithme effectue différents compromis pour la couleur, les détails et la luminosité. Hable préserve les détails, Mobius préserve la couleur, et Reinhard préserve la luminosité.",
"transcoding_transcode_policy": "Politique de transcodage",
"transcoding_transcode_policy_description": "Politique indiquant quand une vidéo doit être transcodée. Les vidéos HDR seront toujours transcodées (sauf si le transcodage est désactivé).",
"transcoding_transcode_policy_description": "Politique indiquant quand une vidéo doit être transcodée. Les vidéos HDR et les vidéos dans un format de pixel différent de YUV 4:2:0 seront toujours transcodées (sauf si le transcodage est désactivé).",
"transcoding_two_pass_encoding": "Encodage en deux passes",
"transcoding_two_pass_encoding_setting_description": "Transcoder en deux passes pour produire des vidéos mieux encodées. Lorsque le débit binaire maximum est activé (obligatoire pour qu'il fonctionne avec H.264 et HEVC), ce mode utilise une plage de débit binaire basée sur le débit binaire maximum et ignore le CRF. Pour VP9, CRF peut être utilisé si le débit binaire maximum est désactivé.",
"transcoding_video_codec": "Codec vidéo",
@@ -441,7 +441,7 @@
"user_successfully_removed": "L'utilisateur {email} a été supprimé avec succès.",
"users_page_description": "Page d'administration des utilisateurs",
"version_check_enabled_description": "Activer la vérification périodique de nouvelle version",
"version_check_implications": "Le contrôle de version repose sur une communication périodique avec github.com",
"version_check_implications": "Le contrôle de version repose sur une communication périodique avec {server}",
"version_check_settings": "Vérification de la version",
"version_check_settings_description": "Gérer la vérification de nouvelle version d'Immich",
"video_conversion_job": "Transcodage des vidéos",
@@ -849,9 +849,12 @@
"create_link_to_share": "Créer un lien pour partager",
"create_link_to_share_description": "Permettre à n'importe qui ayant le lien de voir la(es) photo(s) sélectionnée(s)",
"create_new": "NOUVEAU",
"create_new_face": "Créer un nouveau visage",
"create_new_person": "Créer une nouvelle personne",
"create_new_person_hint": "Attribuer les médias sélectionnés à une nouvelle personne",
"create_new_user": "Créer un nouvel utilisateur",
"create_person": "Créer une personne",
"create_person_subtitle": "Ajouter un nom au visage sélectionné pour créer et étiqueter la nouvelle personne",
"create_shared_album_page_share_add_assets": "AJOUTER DES ÉLÉMENTS",
"create_shared_album_page_share_select_photos": "Sélectionner les photos",
"create_shared_link": "Créer un lien partagé",
@@ -866,13 +869,14 @@
"crop_aspect_ratio_fixed": "Figé",
"crop_aspect_ratio_free": "Libre",
"crop_aspect_ratio_original": "Original",
"crop_aspect_ratio_square": "Carré",
"curated_object_page_title": "Objets",
"current_device": "Appareil actuel",
"current_pin_code": "Code PIN actuel",
"current_server_address": "Adresse actuelle du serveur",
"custom_date": "Date personnalisée",
"custom_locale": "Paramètres régionaux personnalisés",
"custom_locale_description": "Afficher les dates et nombres en fonction des paramètres régionaux",
"custom_locale_description": "Formater les dates, heures et nombres en fonction de la langue sélectionnée et de la région",
"custom_url": "URL personnalisée",
"cutoff_date_description": "Conservez les photos depuis les derniers…",
"cutoff_day": "{count, plural, one {jour} other {jours}}",
@@ -880,7 +884,7 @@
"daily_title_text_date": "E, dd MMM",
"daily_title_text_date_year": "E, dd MMM, yyyy",
"dark": "Sombre",
"dark_theme": "Activer le thème sombre",
"dark_theme": "Basculer sur le thème sombre",
"date": "Date",
"date_after": "Date après",
"date_and_time": "Date et heure",
@@ -891,12 +895,8 @@
"day": "Jour",
"days": "Jours",
"deduplicate_all": "Dédupliquer tout",
"deduplication_criteria_1": "Taille de l'image en octets",
"deduplication_criteria_2": "Nombre de données EXIF",
"deduplication_info": "Info de déduplication",
"deduplication_info_description": "Pour présélectionner automatiquement les médias et supprimer les doublons en masse, nous examinons :",
"default_locale": "Région par défaut",
"default_locale_description": "Afficher les dates et nombres en fonction des paramètres de votre navigateur",
"default_locale": "Langue par défaut",
"default_locale_description": "Mettre en forme les dates et nombres en fonction de la langue de votre navigateur",
"delete": "Supprimer",
"delete_action_confirmation_message": "Êtes-vous sûr de vouloir supprimer ce média? Cela déplacera le média dans la poubelle du serveur et vous demandera si vous voulez le supprimer localement",
"delete_action_prompt": "{count} supprimé(s)",
@@ -972,7 +972,7 @@
"downloading_media": "Téléchargement du média",
"drop_files_to_upload": "Déposez les fichiers n'importe où pour envoyer",
"duplicates": "Doublons",
"duplicates_description": "Examiner chaque groupe et indiquer s'il y a des doublons",
"duplicates_description": "Examiner chaque groupe et indiquer s'il y a des doublons.",
"duration": "Durée",
"edit": "Modifier",
"edit_album": "Modifier l'album",
@@ -1009,6 +1009,8 @@
"editor_edits_applied_success": "Editions appliquées avec succès",
"editor_flip_horizontal": "Retourner horizontalement",
"editor_flip_vertical": "Retourner verticalement",
"editor_handle_corner": "Saisie du coin {corner, select, top_left {en haut à gauche} top_right {en haut à droite} bottom_left {en bas à gauche} bottom_right {en bas à droite} other {A}}",
"editor_handle_edge": "Saisie du bord {edge, select, top {haut} bottom {bas} left {gauche} right {droit} other {An}}",
"editor_orientation": "Orientation",
"editor_reset_all_changes": "Réinitialiser les modifications",
"editor_rotate_left": "Rotation de 90° dans le sens inverse des aiguilles d'une montre",
@@ -1074,6 +1076,7 @@
"failed_to_update_notification_status": "Erreur de mise à jour du statut des notifications",
"incorrect_email_or_password": "Courriel ou mot de passe incorrect",
"library_folder_already_exists": "Ce chemin d'import existe déjà.",
"page_not_found": "Page non trouvée",
"paths_validation_failed": "Validation échouée pour {paths, plural, one {# un chemin} other {# plusieurs chemins}}",
"profile_picture_transparent_pixels": "Les images de profil ne peuvent pas avoir de pixels transparents. Veuillez agrandir et/ou déplacer l'image.",
"quota_higher_than_disk_size": "Le quota saisi est supérieur à l'espace disponible",
@@ -1147,7 +1150,7 @@
"unable_to_scan_library": "Impossible de scanner la bibliothèque",
"unable_to_set_feature_photo": "Impossible de définir la photo de la personne",
"unable_to_set_profile_picture": "Impossible d'enregistrer la photo de profil",
"unable_to_set_rating": "Impossible de définir une note",
"unable_to_set_rating": "Impossible de définir l'évaluation",
"unable_to_submit_job": "Impossible d'exécuter la tâche",
"unable_to_trash_asset": "Impossible de mettre le média à la corbeille",
"unable_to_unlink_account": "Impossible de détacher le compte",
@@ -1218,6 +1221,7 @@
"filter_description": "Conditions pour filtrer les médias ciblés",
"filter_people": "Filtrer les personnes",
"filter_places": "Filtrer par lieu",
"filter_tags": "Filtrer par étiquettes",
"filters": "Filtres",
"find_them_fast": "Pour les retrouver rapidement par leur nom",
"first": "Premier",
@@ -1385,9 +1389,11 @@
"library_page_sort_title": "Titre de l'album",
"licenses": "Licences",
"light": "Clair",
"light_theme": "Basculer sur le thème clair",
"like": "J'aime",
"like_deleted": "Réaction « J'aime » supprimée",
"link_motion_video": "Lier la photo animée",
"link_to_docs": "Pour plus d'informations, se référer à la <link>documentation</link>.",
"link_to_oauth": "Lien au service OAuth",
"linked_oauth_account": "Compte OAuth rattaché",
"list": "Liste",
@@ -1631,7 +1637,7 @@
"oauth": "OAuth",
"obtainium_configurator": "Configuration pour Obtainium",
"obtainium_configurator_instructions": "Utilisez Obtainium pour installer et mettre à jour l'application Android directement depuis la version d'Immich sur Github. Créer une clé d'API et sélectionner une variante pour créer votre lien de configuration pour Obtainium",
"ocr": "Reconnaissance Optique de Caractères",
"ocr": "Reconnaissance Optique de Caractères OCR",
"official_immich_resources": "Ressources Immich officielles",
"offline": "Hors ligne",
"offset": "Décalage",
@@ -1649,6 +1655,7 @@
"only_favorites": "Uniquement les favoris",
"open": "Ouvrir",
"open_calendar": "Ouvrir le calendrier",
"open_in_browser": "Ouvrir dans le navigateur",
"open_in_map_view": "Montrer sur la carte",
"open_in_openstreetmap": "Ouvrir dans OpenStreetMap",
"open_the_search_filters": "Ouvrir les filtres de recherche",
@@ -1808,9 +1815,8 @@
"rate_asset": "Évaluer un média",
"rating": "Étoile d'évaluation",
"rating_clear": "Effacer l'évaluation",
"rating_count": "{count, plural, one {# étoile} other {# étoiles}}",
"rating_count": "{count, plural, =0 {Non évalué} one {# étoile} other {# étoiles}}",
"rating_description": "Afficher l'évaluation EXIF dans le panneau d'information",
"rating_set": "Note définie sur {rating, plural, one {# étoile} other {# étoiles}}",
"reaction_options": "Options de réaction",
"read_changelog": "Lire les changements",
"readonly_mode_disabled": "Mode lecture seule désactivé",
@@ -1882,7 +1888,10 @@
"reset_pin_code_success": "Code PIN réinitialisé avec succès",
"reset_pin_code_with_password": "Vous pouvez toujours réinitialiser le code PIN avec votre mot de passe",
"reset_sqlite": "Réinitialiser la base de données SQLite",
"reset_sqlite_confirmation": "Êtes-vous certain de vouloir réinitialiser la base de données SQLite? Vous devrez vous déconnecter puis vous reconnecter à nouveau pour resynchroniser les données",
"reset_sqlite_clear_app_data": "Supprimer les données",
"reset_sqlite_confirmation": "Êtes-vous certain de vouloir supprimer les données de l'application? Cela va supprimer tous les paramètres et vous déconnecter.",
"reset_sqlite_confirmation_note": "Remarque : vous devrez redémarrer l'application après cette suppression.",
"reset_sqlite_done": "Les données de l'application ont été supprimées. Veuillez redémarrer Immich et vous reconnecter.",
"reset_sqlite_success": "La base de données SQLite à été réinitialisé avec succès",
"reset_to_default": "Rétablir les valeurs par défaut",
"resolution": "Résolution",
@@ -1910,6 +1919,7 @@
"saved_settings": "Paramètres enregistrés",
"say_something": "Réagir",
"scaffold_body_error_occurred": "Une erreur s'est produite",
"scaffold_body_error_unrecoverable": "Une erreur irrécupérable s'est produite. Veuillez partager l'erreur et la trace de pile sur Discord ou GitHub afin que nous puissions vous aider. Si nécessaire, vous pouvez effacer les données de l'appli ci-dessous.",
"scan": "Analyse",
"scan_all_libraries": "Analyser toutes les bibliothèques",
"scan_library": "Analyser",
@@ -1923,7 +1933,7 @@
"search_by_description_example": "Randonnée à Sapa",
"search_by_filename": "Rechercher par nom du fichier ou extension",
"search_by_filename_example": "Exemple: IMG_1234.JPG ou PNG",
"search_by_ocr": "Recherche par OCR",
"search_by_ocr": "Recherche par Reconnaissance Optique de Caractères OCR",
"search_by_ocr_example": "café latte",
"search_camera_lens_model": "Chercher par modèle d'objectif...",
"search_camera_make": "Rechercher par marque d'appareil photo...",
@@ -1942,9 +1952,10 @@
"search_filter_location_title": "Sélectionner une localisation",
"search_filter_media_type": "Type de média",
"search_filter_media_type_title": "Sélectionner type de média",
"search_filter_ocr": "Recherche par OCR",
"search_filter_ocr": "Recherche par Reconnaissance Optique de Caractères OCR",
"search_filter_people_title": "Sélectionner une personne",
"search_filter_star_rating": "Note par étoiles",
"search_filter_tags_title": "Sélectionner des étiquettes",
"search_for": "Chercher",
"search_for_existing_person": "Rechercher une personne existante",
"search_no_more_result": "Plus de résultats",
@@ -2024,6 +2035,9 @@
"set_profile_picture": "Définir la photo de profil",
"set_slideshow_to_fullscreen": "Afficher le diaporama en plein écran",
"set_stack_primary_asset": "Marquer comme média principal",
"setting_image_navigation_enable_subtitle": "Si activé, vous pouvez naviguer vers l'image précédente / suivante en appuyant sur le quart le plus à gauche / à droite de l'écran.",
"setting_image_navigation_enable_title": "Appuyer pour naviguer",
"setting_image_navigation_title": "Navigation dans les images",
"setting_image_viewer_help": "Le visualiseur de détails charge d'abord la petite miniature, puis l'aperçu de taille moyenne (s'il est activé), enfin l'original (s'il est activé).",
"setting_image_viewer_original_subtitle": "Activez cette option pour charger l'image en résolution originale (fichier volumineux!). Désactiver pour réduire l'utilisation des données (réseau et cache de l'appareil).",
"setting_image_viewer_original_title": "Charger l'image originale",
@@ -2203,6 +2217,7 @@
"tag": "Étiquette",
"tag_assets": "Étiqueter les médias",
"tag_created": "Étiquette créée: {tag}",
"tag_face": "Étiqueter le visage",
"tag_feature_description": "Parcourir les photos et vidéos groupées par thèmes logiques",
"tag_not_found_question": "Vous ne trouvez pas une étiquette? <link>Créer une nouvelle étiquette.</link>",
"tag_people": "Étiqueter les personnes",
@@ -2302,6 +2317,7 @@
"unstack_action_prompt": "{count} dépilé(s)",
"unstacked_assets_count": "{count, plural, one {# média dépilé} other {# médias dépilés}}",
"unsupported_field_type": "Type de champ non supporté",
"unsupported_file_type": "Le fichier {file} ne peut pas être téléversé car son type {type} n'est pas supporté.",
"untagged": "Sans étiquette",
"untitled_workflow": "Flux de traitement sans titre",
"up_next": "Suite",
@@ -2328,6 +2344,8 @@
"url": "URL",
"usage": "Utilisation",
"use_biometric": "Utiliser l'authentification biométrique",
"use_browser_locale": "Utiliser les paramètres régionaux du navigateur",
"use_browser_locale_description": "Formate les dates, heures et nombres en fonction des paramètres régionaux de votre navigateur",
"use_current_connection": "Utiliser le réseau actuel",
"use_custom_date_range": "Utilisez une plage de date personnalisée à la place",
"user": "Utilisateur",
@@ -2381,6 +2399,7 @@
"viewer_remove_from_stack": "Retirer de la pile",
"viewer_stack_use_as_main_asset": "Utiliser comme élément principal",
"viewer_unstack": "Dépiler",
"visibility": "Visibilité",
"visibility_changed": "Visibilité changée pour {count, plural, one {# personne} other {# personnes}}",
"visual": "Visuel",
"visual_builder": "Constructeur visuel",

View File

@@ -61,7 +61,7 @@
"backup_onboarding_1_description": "cóip lasmuigh den láthair sa scamall nó in áit fhisiciúil eile.",
"backup_onboarding_2_description": "cóipeanna áitiúla ar ghléasanna éagsúla. Áirítear leis seo na príomhchomhaid agus cúltaca de na comhaid sin go háitiúil.",
"backup_onboarding_3_description": "cóipeanna iomlána de do shonraí, lena n-áirítear na comhaid bhunaidh. Áirítear leis seo cóip amháin lasmuigh den láthair agus dhá chóip áitiúla.",
"backup_onboarding_description": "Moltar straitéis chúltaca <backblaze-link>3-2-1</backblaze-link> chun do shonraí a chosaint. Ba chóir duit cóipeanna de do ghrianghraif/fhíseáin uaslódáilte a choinneáil chomh maith le bunachar sonraí Immich le haghaidh réiteach cúltaca cuimsitheach.",
"backup_onboarding_description": "Moltar <backblaze-link>straitéis chúltaca 3-2-1</backblaze-link> chun do shonraí a chosaint. Ba chóir duit cóipeanna de do ghrianghraif/fhíseáin uaslódáilte chomh maith le bunachar sonraí Immich a choinneáil le haghaidh réiteach cúltaca cuimsitheach.",
"backup_onboarding_footer": "Le haghaidh tuilleadh eolais faoi chúltaca d'Immich, féach ar an <link>doiciméadú</link>.",
"backup_onboarding_parts_title": "Áirítear le cúltaca 3-2-1:",
"backup_onboarding_title": "Cúltacaí",
@@ -372,7 +372,7 @@
"transcoding_audio_codec": "Códac fuaime",
"transcoding_audio_codec_description": "Is é Opus an rogha is airde cáilíochta, ach tá comhoiriúnacht níos ísle aige le seanghléasanna nó bogearraí.",
"transcoding_bitrate_description": "Físeáin níos airde ná an uasráta giotán nó nach bhfuil i bhformáid inghlactha",
"transcoding_codecs_learn_more": "Chun tuilleadh eolais a fháil faoin téarmaíocht a úsáidtear anseo, féach ar dhoiciméid FFmpeg le haghaidh <h264-link>cóc H.264</h264-link>, <hevc-link>cóc HEVC</hevc-link> agus <vp9-link>cóc VP9</vp9-link>.",
"transcoding_codecs_learn_more": "Chun tuilleadh eolais a fháil faoin téarmaíocht a úsáidtear anseo, féach ar dhoiciméid FFmpeg le haghaidh <h264-link>cóideic H.264</h264-link>, <hevc-link>cóideic HEVC</hevc-link> agus <vp9-link>cóideic VP9</vp9-link>.",
"transcoding_constant_quality_mode": "Mód cáilíochta tairiseach",
"transcoding_constant_quality_mode_description": "Tá ICQ níos fearr ná CQP, ach ní thacaíonn roinnt gléasanna luasghéaraithe crua-earraí leis an modh seo. Trí an rogha seo a shocrú, tabharfar tús áite don mhodh sonraithe agus ionchódú bunaithe ar cháilíocht á úsáid. Ní thacaíonn NVENC leis mar nach dtacaíonn sé le ICQ.",
"transcoding_constant_rate_factor": "Fachtóir ráta tairiseach (-crf)",
@@ -411,7 +411,7 @@
"transcoding_tone_mapping": "Mapáil toin",
"transcoding_tone_mapping_description": "Déanann iarracht cuma físeáin HDR a chaomhnú nuair a dhéantar iad a thiontú go SDR. Déanann gach algartam comhbhabhtálacha difriúla maidir le dath, mionsonraí agus gile. Coinníonn Hable mionsonraí, coinníonn Mobius dath, agus coinníonn Reinhard gile.",
"transcoding_transcode_policy": "Polasaí traschódála",
"transcoding_transcode_policy_description": "Polasaí maidir le cathain ba chóir físeán a thraschódú. Déanfar físeáin HDR a thraschódú i gcónaí (ach amháin má tá traschódú díchumasaithe).",
"transcoding_transcode_policy_description": "Polasaí maidir le cathain ba chóir físeán a thraschódú. Déanfar físeáin HDR agus físeáin le formáid picteilín seachas YUV 4:2:0 a thraschódú i gcónaí (ach amháin má tá an traschódú díchumasaithe).",
"transcoding_two_pass_encoding": "Ionchódú dhá phas",
"transcoding_two_pass_encoding_setting_description": "Traschódaigh i ndá phas chun físeáin ionchódaithe níos fearr a tháirgeadh. Nuair a bhíonn an ráta giotán uasta cumasaithe (riachtanach chun go n-oibreoidh sé le H.264 agus HEVC), úsáideann an mód seo raon ráta giotán bunaithe ar an ráta giotán uasta agus ní thugann sé aird ar CRF. I gcás VP9, is féidir CRF a úsáid má tá an ráta giotán uasta díchumasaithe.",
"transcoding_video_codec": "Códac físe",
@@ -441,7 +441,7 @@
"user_successfully_removed": "Baineadh an t-úsáideoir {email} go rathúil.",
"users_page_description": "Leathanach úsáideoirí riarthóra",
"version_check_enabled_description": "Cumasaigh seiceáil leagan",
"version_check_implications": "Braitheann an ghné seiceála leagan ar chumarsáid thréimhsiúil le github.com",
"version_check_implications": "Braitheann an ghné seiceála leagan ar chumarsáid thréimhsiúil le {server}",
"version_check_settings": "Seiceáil Leagan",
"version_check_settings_description": "Cumasaigh/díchumasaigh an fógra faoin leagan nua",
"video_conversion_job": "Físeáin Traschódaithe",
@@ -849,9 +849,12 @@
"create_link_to_share": "Cruthaigh nasc le roinnt",
"create_link_to_share_description": "Lig do dhuine ar bith a bhfuil an nasc aige/aici an/na grianghraf/na grianghraif roghnaithe a fheiceáil",
"create_new": "CRUTHAIGH NUA",
"create_new_face": "Cruthaigh aghaidh nua",
"create_new_person": "Cruthaigh duine nua",
"create_new_person_hint": "Sannadh sócmhainní roghnaithe do dhuine nua",
"create_new_user": "Cruthaigh úsáideoir nua",
"create_person": "Cruthaigh duine",
"create_person_subtitle": "Cuir ainm leis an aghaidh roghnaithe chun an duine nua a chruthú agus a chlibeáil",
"create_shared_album_page_share_add_assets": "CUIR SÓCMHAINNÍ LEIS",
"create_shared_album_page_share_select_photos": "Roghnaigh Grianghraif",
"create_shared_link": "Cruthaigh nasc comhroinnte",
@@ -866,13 +869,14 @@
"crop_aspect_ratio_fixed": "Seasta",
"crop_aspect_ratio_free": "Saor in aisce",
"crop_aspect_ratio_original": "Bunaidh",
"crop_aspect_ratio_square": "Cearnóg",
"curated_object_page_title": "Rudaí",
"current_device": "Gléas reatha",
"current_pin_code": "Cód PIN reatha",
"current_server_address": "Seoladh reatha an fhreastalaí",
"custom_date": "Dáta saincheaptha",
"custom_locale": "Logán Saincheaptha",
"custom_locale_description": "Formáidigh dátaí agus uimhreacha bunaithe ar an teanga agus ar an réigiún",
"custom_locale": "Logán saincheaptha",
"custom_locale_description": "Formáidigh dátaí, amanna agus uimhreacha bunaithe ar an teanga agus an réigiún roghnaithe",
"custom_url": "URL Saincheaptha",
"cutoff_date_description": "Coinnigh grianghraif ón uair dheireanach…",
"cutoff_day": "{count, plural, one {lá} other {laethanta}}",
@@ -880,7 +884,7 @@
"daily_title_text_date": "E, dd MMM",
"daily_title_text_date_year": "E, dd MMM, yyyy",
"dark": "Dorcha",
"dark_theme": "Scoránaigh an téama dorcha",
"dark_theme": "Athraigh go téama dorcha",
"date": "Dáta",
"date_after": "Dáta i ndiaidh",
"date_and_time": "Dáta agus Am",
@@ -891,10 +895,6 @@
"day": "Lá",
"days": "Laethanta",
"deduplicate_all": "Dídhúblaigh Gach Rud",
"deduplication_criteria_1": "Méid na híomhá i mbéiteanna",
"deduplication_criteria_2": "Líon sonraí EXIF",
"deduplication_info": "Eolas Dídhúblála",
"deduplication_info_description": "Chun sócmhainní a réamhroghnú go huathoibríoch agus dúblaigh a bhaint i mórchóir, féachaimid ar:",
"default_locale": "Logán Réamhshocraithe",
"default_locale_description": "Formáidigh dátaí agus uimhreacha bunaithe ar shuíomh do bhrabhsálaí",
"delete": "Scrios",
@@ -972,7 +972,7 @@
"downloading_media": "Ag íoslódáil na meán",
"drop_files_to_upload": "Scaoil comhaid áit ar bith le huaslódáil",
"duplicates": "Dúblaigh",
"duplicates_description": "Réitigh gach grúpa trína léiriú cé acu de na dúblaigh, más ann dóibh",
"duplicates_description": "Réitigh gach grúpa trína léiriú cé acu de na dúblaigh, más ann dóibh.",
"duration": "Fad",
"edit": "Cuir in Eagar",
"edit_album": "Cuir albam in eagar",
@@ -1009,6 +1009,8 @@
"editor_edits_applied_success": "Cuireadh na heagarthóireachtaí i bhfeidhm go rathúil",
"editor_flip_horizontal": "Fillte go cothrománach",
"editor_flip_vertical": "Smeach ingearach",
"editor_handle_corner": "{corner, select, top_left {Top-left} top_right {Barr-deas} bottom_left {Bun-chlé} bottom_right {Bun-deas} other {A}} láimhseáil cúinne",
"editor_handle_edge": "{edge, select, top {Barr} bottom {Bun} left {Clé} right {Deas} other {An}} láimhseáil imeall",
"editor_orientation": "Treoshuíomh",
"editor_reset_all_changes": "Athshocraigh athruithe",
"editor_rotate_left": "Rothlaigh 90° tuathalach",
@@ -1074,6 +1076,7 @@
"failed_to_update_notification_status": "Theip ar stádas an fhógra a nuashonrú",
"incorrect_email_or_password": "Ríomhphost nó pasfhocal mícheart",
"library_folder_already_exists": "Tá an cosán allmhairithe seo ann cheana féin.",
"page_not_found": "Leathanach gan aimsiú",
"paths_validation_failed": "Theip ar bhailíochtú {paths, plural, one {# cosán} other {# cosáin}}",
"profile_picture_transparent_pixels": "Ní féidir picteilíní trédhearcacha a bheith i bpictiúir phróifíle. Zúmáil isteach agus/nó bog an íomhá le do thoil.",
"quota_higher_than_disk_size": "Shocraigh tú cuóta níos airde ná méid an diosca",
@@ -1218,6 +1221,7 @@
"filter_description": "Coinníollacha chun na sócmhainní sprice a scagadh",
"filter_people": "Scag daoine",
"filter_places": "Scag áiteanna",
"filter_tags": "Scagairí clibeanna",
"filters": "Scagairí",
"find_them_fast": "Aimsigh iad go tapa de réir ainm le cuardach",
"first": "Ar dtús",
@@ -1385,9 +1389,11 @@
"library_page_sort_title": "Teideal an albaim",
"licenses": "Ceadúnais",
"light": "Solas",
"light_theme": "Athraigh go téama éadrom",
"like": "Is maith liom",
"like_deleted": "Scriosadh an rud is maith liom",
"link_motion_video": "Físeán gluaiseachta nasctha",
"link_to_docs": "Le haghaidh tuilleadh eolais, féach ar an <link>doiciméadú</link>.",
"link_to_oauth": "Nasc le OAuth",
"linked_oauth_account": "Cuntas OAuth nasctha",
"list": "Liosta",
@@ -1649,6 +1655,7 @@
"only_favorites": "Is fearr leat amháin",
"open": "Oscail",
"open_calendar": "Oscail an féilire",
"open_in_browser": "Oscail sa bhrabhsálaí",
"open_in_map_view": "Oscail i radharc léarscáile",
"open_in_openstreetmap": "Oscail in OpenStreetMap",
"open_the_search_filters": "Oscail na scagairí cuardaigh",
@@ -1808,9 +1815,8 @@
"rate_asset": "Rátáil Sócmhainn",
"rating": "Rátáil réalta",
"rating_clear": "Glan rátáil",
"rating_count": "{count, plural, one {# réalta} other {# réaltaí}}",
"rating_count": "{count, plural, =0 {Gan rátáil} one {# réalta} other {# réaltaí}}",
"rating_description": "Taispeáin an rátáil EXIF sa phainéal eolais",
"rating_set": "Socraithe go {rating, plural, one {# réalta} other {# réalta}}",
"reaction_options": "Roghanna imoibrithe",
"read_changelog": "Léigh an Log Athraithe",
"readonly_mode_disabled": "Mód léite amháin díchumasaithe",
@@ -1882,7 +1888,10 @@
"reset_pin_code_success": "Athshocraíodh an cód PIN go rathúil",
"reset_pin_code_with_password": "Is féidir leat do chód PIN a athshocrú i gcónaí le do phasfhocal",
"reset_sqlite": "Athshocraigh Bunachar Sonraí SQLite",
"reset_sqlite_confirmation": "An bhfuil tú cinnte gur mian leat bunachar sonraí SQLite a athshocrú? Beidh ort logáil amach agus logáil isteach arís chun na sonraí a athshioncronú",
"reset_sqlite_clear_app_data": "Glan Sonraí",
"reset_sqlite_confirmation": "An bhfuil tú cinnte gur mian leat sonraí an aip a ghlanadh? Bainfear na socruithe go léir leis seo agus síneofar amach thú.",
"reset_sqlite_confirmation_note": "Nóta: Beidh ort an aip a atosú tar éis duit é a ghlanadh.",
"reset_sqlite_done": "Tá sonraí an aip glanta. Atosaigh Immich agus logáil isteach arís.",
"reset_sqlite_success": "Athshocraíodh bunachar sonraí SQLite go rathúil",
"reset_to_default": "Athshocraigh go réamhshocraithe",
"resolution": "Taifeach",
@@ -1910,6 +1919,7 @@
"saved_settings": "Socruithe sábháilte",
"say_something": "Abair rud éigin",
"scaffold_body_error_occurred": "Tharla earráid",
"scaffold_body_error_unrecoverable": "Tharla earráid nach féidir a aisghabháil. Roinn an earráid agus an rian cruachta ar Discord nó GitHub le do thoil ionas gur féidir linn cabhrú leat. Más féidir leat comhairle a thabhairt duit, is féidir leat sonraí an aip thíos a ghlanadh.",
"scan": "Scanadh",
"scan_all_libraries": "Scanáil Gach Leabharlann",
"scan_library": "Scanadh",
@@ -1945,6 +1955,7 @@
"search_filter_ocr": "Cuardaigh de réir OCR",
"search_filter_people_title": "Roghnaigh daoine",
"search_filter_star_rating": "Rátáil Réalta",
"search_filter_tags_title": "Roghnaigh clibeanna",
"search_for": "Cuardaigh le haghaidh",
"search_for_existing_person": "Cuardaigh duine atá ann cheana féin",
"search_no_more_result": "Gan aon torthaí eile",
@@ -2024,6 +2035,9 @@
"set_profile_picture": "Socraigh pictiúr próifíle",
"set_slideshow_to_fullscreen": "Socraigh Sleamhnán go lánscáileán",
"set_stack_primary_asset": "Socraigh mar phríomhshócmhainn",
"setting_image_navigation_enable_subtitle": "Más cumasaithe é, is féidir leat nascleanúint a dhéanamh chuig an íomhá roimhe seo/chéad íomhá eile trí thapáil ar an gceathrú is faide ar chlé/ar dheis den scáileán.",
"setting_image_navigation_enable_title": "Tapáil chun nascleanúint a dhéanamh",
"setting_image_navigation_title": "Nascleanúint Íomhá",
"setting_image_viewer_help": "Lódálann an breathnóir sonraí an mionsamhail bheag ar dtús, ansin luchtaíonn sé an réamhamharc meánmhéide (más cumasaithe), agus ar deireadh luchtaíonn sé an bunleagan (más cumasaithe).",
"setting_image_viewer_original_subtitle": "Cumasaigh chun an íomhá lántaifigh bhunaidh (mór!) a luchtú. Díchumasaigh chun úsáid sonraí a laghdú (ar an líonra agus ar an taisce ar an ngléas araon).",
"setting_image_viewer_original_title": "Luchtaigh an íomhá bhunaidh",
@@ -2203,6 +2217,7 @@
"tag": "Clib",
"tag_assets": "Sócmhainní clibe",
"tag_created": "Clib cruthaithe: {tag}",
"tag_face": "Aghaidh clibe",
"tag_feature_description": "Ag brabhsáil grianghraif agus físeáin grúpáilte de réir topaicí clibeanna loighciúla",
"tag_not_found_question": "Ní féidir clib a aimsiú? <link>Cruthaigh clib nua.</link>",
"tag_people": "Daoine a Chlibeáil",
@@ -2302,6 +2317,7 @@
"unstack_action_prompt": "{count} gan chruachadh",
"unstacked_assets_count": "Gan chruachadh {count, plural, one {# sócmhainn} other {# sócmhainní}}",
"unsupported_field_type": "Cineál réimse nach dtacaítear leis",
"unsupported_file_type": "Ní féidir an comhad {file} a uaslódáil mar nach dtacaítear lena chineál comhaid {type}.",
"untagged": "Gan Chlib",
"untitled_workflow": "Sreabhadh oibre gan teideal",
"up_next": "Ar aghaidh",
@@ -2328,6 +2344,8 @@
"url": "URL",
"usage": "Úsáid",
"use_biometric": "Úsáid bithmhéadrach",
"use_browser_locale": "Úsáid logán brabhsálaí",
"use_browser_locale_description": "Formáidigh dátaí, amanna agus uimhreacha bunaithe ar shuíomh do bhrabhsálaí",
"use_current_connection": "Úsáid an nasc reatha",
"use_custom_date_range": "Úsáid raon dáta saincheaptha ina ionad",
"user": "Úsáideoir",
@@ -2381,6 +2399,7 @@
"viewer_remove_from_stack": "Bain den Chruach",
"viewer_stack_use_as_main_asset": "Úsáid mar Phríomhshócmhainn",
"viewer_unstack": "Dí-Chruach",
"visibility": "Infheictheacht",
"visibility_changed": "Athraíodh infheictheacht do {count, plural, one {# duine} other {# daoine}}",
"visual": "Amhairc",
"visual_builder": "Tógálaí amhairc",

View File

@@ -311,7 +311,7 @@
"search_jobs": "Buscar traballos…",
"send_welcome_email": "Enviar correo electrónico de benvida",
"server_external_domain_settings": "Dominio externo",
"server_external_domain_settings_description": "Dominio para ligazóns públicas compartidas, incluíndo http(s)://",
"server_external_domain_settings_description": "Dominio empregado para links externos",
"server_public_users": "Usuarios públicos",
"server_public_users_description": "Todos os usuarios (nome e correo electrónico) lístanse ao engadir un usuario a álbums compartidos. Cando está desactivado, a lista de usuarios só estará dispoñible para os usuarios administradores.",
"server_settings": "Configuración do servidor",
@@ -411,7 +411,7 @@
"transcoding_tone_mapping": "Mapeo de tons",
"transcoding_tone_mapping_description": "Intenta preservar a aparencia dos vídeos HDR cando se converten a SDR. Cada algoritmo fai diferentes compromisos para cor, detalle e brillo. Hable preserva o detalle, Mobius preserva a cor e Reinhard preserva o brillo.",
"transcoding_transcode_policy": "Política de transcodificación",
"transcoding_transcode_policy_description": "Política para cando un vídeo debe ser transcodificado. Os vídeos HDR sempre serán transcodificados (excepto se a transcodificación está desactivada).",
"transcoding_transcode_policy_description": "Política para cando un vídeo debe ser transcodificado. Os vídeos HDR e vídeos con formato de Pixel disintos de YUV 4:2:0 sempre serán transcodificados (excepto se a transcodificación está desactivada).",
"transcoding_two_pass_encoding": "Codificación en dous pasos",
"transcoding_two_pass_encoding_setting_description": "Transcodificar en dous pasos para producir vídeos codificados de mellor calidade. Cando o bitrate máximo está activado (requirido para que funcione con H.264 e HEVC), este modo usa un rango de bitrate baseado no bitrate máximo e ignora CRF. Para VP9, pódese usar CRF se o bitrate máximo está desactivado.",
"transcoding_video_codec": "Códec de vídeo",
@@ -441,7 +441,7 @@
"user_successfully_removed": "O usuario {email} foi eliminado satisfactoriamente.",
"users_page_description": "Páxina de usuarios administradores",
"version_check_enabled_description": "Activar comprobación de versión",
"version_check_implications": "A función de comprobación de versión depende da comunicación periódica con github.com",
"version_check_implications": "A función de comprobación de versión depende da comunicación periódica con {server}",
"version_check_settings": "Comprobación de Versión",
"version_check_settings_description": "Activar/desactivar a notificación de nova versión",
"video_conversion_job": "Transcodificar vídeos",
@@ -794,6 +794,11 @@
"color": "Cor",
"color_theme": "Tema de cor",
"command": "Comando",
"command_palette_prompt": "Atopa rapidamente páxinas, accións ou comandos",
"command_palette_to_close": "para pechar",
"command_palette_to_navigate": "para entrar",
"command_palette_to_select": "para seleccionar",
"command_palette_to_show_all": "para amosar todo",
"comment_deleted": "Comentario eliminado",
"comment_options": "Opcións de comentario",
"comments_and_likes": "Comentarios e Gústames",
@@ -844,9 +849,12 @@
"create_link_to_share": "Crear ligazón para compartir",
"create_link_to_share_description": "Permitir que calquera persoa coa ligazón vexa a(s) foto(s) seleccionada(s)",
"create_new": "CREAR NOVO",
"create_new_face": "Crear nova cara",
"create_new_person": "Crear nova persoa",
"create_new_person_hint": "Asignar activos seleccionados a unha nova persoa",
"create_new_user": "Crear novo usuario",
"create_person": "Crear persona",
"create_person_subtitle": "Engade un nome á cara seleccionada para crear e etiquetar á nova persona",
"create_shared_album_page_share_add_assets": "ENGADIR ACTIVOS",
"create_shared_album_page_share_select_photos": "Seleccionar Fotos",
"create_shared_link": "Crear ligazón compartida",
@@ -861,13 +869,14 @@
"crop_aspect_ratio_fixed": "Fixado",
"crop_aspect_ratio_free": "Libre",
"crop_aspect_ratio_original": "Orixinal",
"crop_aspect_ratio_square": "Cadrado",
"curated_object_page_title": "Cousas",
"current_device": "Dispositivo actual",
"current_pin_code": "Código PIN actual",
"current_server_address": "Enderezo do servidor actual",
"custom_date": "Data personalizada",
"custom_locale": "Configuración Rexional Personalizada",
"custom_locale_description": "Formatar datas e números baseándose na lingua e a rexión",
"custom_locale_description": "Formatar datas, tempos e números baseándose na lingua e a rexión",
"custom_url": "URL personalizada",
"cutoff_date_description": "Manter fotos dos últimos…",
"cutoff_day": "{count, plural, one {day} other {days}}",
@@ -875,7 +884,7 @@
"daily_title_text_date": "E, dd MMM",
"daily_title_text_date_year": "E, dd MMM, yyyy",
"dark": "Escuro",
"dark_theme": "Alternar tema escuro",
"dark_theme": "Alternar a tema escuro",
"date": "Data",
"date_after": "Data posterior a",
"date_and_time": "Data e Hora",
@@ -886,12 +895,8 @@
"day": "Día",
"days": "Días",
"deduplicate_all": "Eliminar todos os duplicados",
"deduplication_criteria_1": "Tamaño da imaxe en bytes",
"deduplication_criteria_2": "Reconto de datos EXIF",
"deduplication_info": "Información de Deduplicación",
"deduplication_info_description": "Para preseleccionar automaticamente activos e eliminar duplicados masivamente, miramos:",
"default_locale": "Configuración Rexional Predeterminada",
"default_locale_description": "Formatar datas e números baseándose na configuración rexional do seu navegador",
"default_locale": "Configuración rexional predeterminada",
"default_locale_description": "Formatee as datas e os números según a configuración rexional do seu navegador",
"delete": "Eliminar",
"delete_action_confirmation_message": "Está seguro de que quere eliminar este ficheiro? Esta acción moverá o ficheiro ao lixo do servidor e preguntaralle se tamén quere eliminalo localmente",
"delete_action_prompt": "{count} eliminado(s)",
@@ -967,7 +972,7 @@
"downloading_media": "Descargando medios",
"drop_files_to_upload": "Solte ficheiros en calquera lugar para cargar",
"duplicates": "Duplicados",
"duplicates_description": "Resolve cada grupo indicando cales, se os houber, son duplicados",
"duplicates_description": "Resolve cada grupo indicando cales, se os houber, son duplicados.",
"duration": "Duración",
"edit": "Editar",
"edit_album": "Editar álbum",
@@ -1004,6 +1009,8 @@
"editor_edits_applied_success": "As edicións aplicáronse correctamente",
"editor_flip_horizontal": "Xirar horizontalmente",
"editor_flip_vertical": "Xirar verticalmente",
"editor_handle_corner": "{corner, select, top_left {Top-left} top_right {Top-right} bottom_left {Bottom-left} bottom_right {Bottom-right} other {A}} tirador de esquina",
"editor_handle_edge": "{edge, select, top {Top} bottom {Bottom} left {Left} right {Right} other {An}} tirador de borde",
"editor_orientation": "Orientación",
"editor_reset_all_changes": "Restablecer os cambios",
"editor_rotate_left": "Xirar 90° en sentido antihorario",
@@ -1069,6 +1076,7 @@
"failed_to_update_notification_status": "Erro ao actualizar o estado das notificacións",
"incorrect_email_or_password": "Correo electrónico ou contrasinal incorrectos",
"library_folder_already_exists": "Esta ruta de importación xa existe.",
"page_not_found": "Páxina non atopada",
"paths_validation_failed": "{paths, plural, one {# ruta fallou} other {# rutas fallaron}} na validación",
"profile_picture_transparent_pixels": "As imaxes de perfil non poden ter píxeles transparentes. Por favor, faga zoom e/ou mova a imaxe.",
"quota_higher_than_disk_size": "Estableceu unha cota superior ao tamaño do disco",
@@ -1168,6 +1176,7 @@
"exif_bottom_sheet_people": "PERSOAS",
"exif_bottom_sheet_person_add_person": "Engadir nome",
"exit_slideshow": "Saír da Presentación",
"expand": "Expandir",
"expand_all": "Expandir todo",
"experimental_settings_new_asset_list_subtitle": "Traballo en progreso",
"experimental_settings_new_asset_list_title": "Activar grella de fotos experimental",
@@ -1212,6 +1221,7 @@
"filter_description": "Condicións para filtrar os activos obxectivo",
"filter_people": "Filtrar persoas",
"filter_places": "Filtrar lugares",
"filter_tags": "Filtrar etiquetas",
"filters": "Filtros",
"find_them_fast": "Atópeos rápido por nome coa busca",
"first": "Primeiro/a",
@@ -1379,9 +1389,11 @@
"library_page_sort_title": "Título do álbum",
"licenses": "Licenzas",
"light": "Claro",
"light_theme": "Cambiar a tema claro",
"like": "Gústame",
"like_deleted": "Gústame eliminado",
"link_motion_video": "Ligar vídeo en movemento",
"link_to_docs": "Para máis información, consulte a <link>documentación</link>.",
"link_to_oauth": "Ligar a OAuth",
"linked_oauth_account": "Conta OAuth ligada",
"list": "Lista",
@@ -1642,6 +1654,8 @@
"online": "En liña",
"only_favorites": "Só favoritos",
"open": "Abrir",
"open_calendar": "Abrir calendario",
"open_in_browser": "Abrir no navegador",
"open_in_map_view": "Abrir na vista de mapa",
"open_in_openstreetmap": "Abrir en OpenStreetMap",
"open_the_search_filters": "Abrir os filtros de busca",
@@ -1801,9 +1815,8 @@
"rate_asset": "Clasificar activo",
"rating": "Valoración",
"rating_clear": "Borrar clasificación",
"rating_count": "{count, plural, one {# estrela} other {# estrelas}}",
"rating_count": "{count, plural, =0 {Sen Clasificación} one {# estrela} other {# estrelas}}",
"rating_description": "Mostrar a clasificación EXIF no panel de información",
"rating_set": "Clasificación definida en {rating, plural, one {# star} other {# stars}}",
"reaction_options": "Opcións de reacción",
"read_changelog": "Ler Rexistro de Cambios",
"readonly_mode_disabled": "Modo só lectura desactivado",
@@ -1875,7 +1888,10 @@
"reset_pin_code_success": "Código PIN restablecido correctamente",
"reset_pin_code_with_password": "Sempre podes restablecer o teu código PIN coa túa contrasinal",
"reset_sqlite": "Restablecer a Base de Datos SQLite",
"reset_sqlite_confirmation": "Estás seguro de que queres restablecer a base de datos SQLite? Terás que pechar a sesión e iniciar sesión de novo para sincronizar os datos outra vez",
"reset_sqlite_clear_app_data": "Limpar Datos",
"reset_sqlite_confirmation": "Estás seguro de que queres borrar os datos da aplicación? Isto eliminará toda a configuración e pechará a túa sesión.",
"reset_sqlite_confirmation_note": "Nota: Deberás reiniciar a aplicación despois de borrala.",
"reset_sqlite_done": "Borráronse os datos da aplicación. Por favor reiniciei Immich e inicie sesión de novo.",
"reset_sqlite_success": "Base de datos SQLite restablecida correctamente",
"reset_to_default": "Restablecer ao predeterminado",
"resolution": "Resolución",
@@ -1903,6 +1919,7 @@
"saved_settings": "Configuración gardada",
"say_something": "Dicir algo",
"scaffold_body_error_occurred": "Ocorreu un erro",
"scaffold_body_error_unrecoverable": "Produciuse un error irrecuperable. Comparte o erro e a \"stack trace\" no Discord ou no GitHub para poder axudarche. No caso de indicarse, pode borrar os datos da aplicación a continuación.",
"scan": "Escanear",
"scan_all_libraries": "Escanear Todas as Bibliotecas",
"scan_library": "Escanear",
@@ -1938,6 +1955,7 @@
"search_filter_ocr": "Buscar por OCR",
"search_filter_people_title": "Seleccionar persoas",
"search_filter_star_rating": "Clasificación por estrelas",
"search_filter_tags_title": "Seleccionar etiquetas",
"search_for": "Buscar por",
"search_for_existing_person": "Buscar persoa existente",
"search_no_more_result": "Non hai máis resultados",
@@ -2017,6 +2035,9 @@
"set_profile_picture": "Establecer imaxe de perfil",
"set_slideshow_to_fullscreen": "Poñer Presentación a pantalla completa",
"set_stack_primary_asset": "Establecer como activo principal",
"setting_image_navigation_enable_subtitle": "Se está activado, podes navegar entre as imáxenes seguintes e anteriores ao tocar na parte esquerda e dereita da pantalla.",
"setting_image_navigation_enable_title": "Toca para navegar",
"setting_image_navigation_title": "Navegación de Imaxes",
"setting_image_viewer_help": "O visor de detalles carga primeiro a miniatura pequena, despois carga a vista previa de tamaño medio (se está activada), e finalmente carga o orixinal (se está activado).",
"setting_image_viewer_original_subtitle": "Activar para cargar a imaxe orixinal a resolución completa (grande!). Desactivar para reducir o uso de datos (tanto na rede como na caché do dispositivo).",
"setting_image_viewer_original_title": "Cargar imaxe orixinal",
@@ -2183,6 +2204,7 @@
"support": "Soporte",
"support_and_feedback": "Soporte e Comentarios",
"support_third_party_description": "A súa instalación de Immich foi empaquetada por un terceiro. Os problemas que experimente poden ser causados por ese paquete, así que por favor, comunique os problemas con eles en primeira instancia usando as ligazóns a continuación.",
"supporter": "Colaborador",
"swap_merge_direction": "Intercambiar dirección de fusión",
"sync": "Sincronizar",
"sync_albums": "Sincronizar álbums",
@@ -2195,6 +2217,7 @@
"tag": "Etiqueta",
"tag_assets": "Etiquetar activos",
"tag_created": "Etiqueta creada: {tag}",
"tag_face": "Etiquetar cara",
"tag_feature_description": "Navegar por fotos e vídeos agrupados por temas de etiquetas lóxicas",
"tag_not_found_question": "Non atopa unha etiqueta? <link>Crear unha nova etiqueta.</link>",
"tag_people": "Etiquetar Persoas",
@@ -2294,6 +2317,7 @@
"unstack_action_prompt": "{count} desapilados",
"unstacked_assets_count": "Desapilados {count, plural, one {# activo} other {# activos}}",
"unsupported_field_type": "Tipo de campo non soportado",
"unsupported_file_type": "O arquivo {file} non puido cargarse porque o seu tipo de arquivo {type} non se soporta.",
"untagged": "Sen etiquetar",
"untitled_workflow": "Fluxo de traballo sen título",
"up_next": "A continuación",
@@ -2320,6 +2344,8 @@
"url": "URL",
"usage": "Uso",
"use_biometric": "Usar biometría",
"use_browser_locale": "Usar navegador local",
"use_browser_locale_description": "Formatear datas, tempos e números basado na configuración do teu navegador local",
"use_current_connection": "Empregar conexión actual",
"use_custom_date_range": "Usar rango de datas personalizado no seu lugar",
"user": "Usuario",
@@ -2373,6 +2399,7 @@
"viewer_remove_from_stack": "Eliminar da Pila",
"viewer_stack_use_as_main_asset": "Usar como Activo Principal",
"viewer_unstack": "Desapilar",
"visibility": "Visibilidade",
"visibility_changed": "Visibilidade cambiada para {count, plural, one {# persoa} other {# persoas}}",
"visual": "Visual",
"visual_builder": "Construtor visual",

View File

@@ -15,6 +15,7 @@
"add_a_location": "Standort hiifüege",
"add_a_name": "Name hiifüege",
"add_a_title": "Titel hiifüege",
"add_action": "Aktion hiifüege",
"add_birthday": "Geburtsdatum hiifüege",
"add_endpoint": "Endpunkt hiifüege",
"add_exclusion_pattern": "Ausschlussmuster hiifüege",
@@ -421,7 +422,7 @@
"user_successfully_removed": "Dr Benutzer {email} isch erfolgrich entfernt worde.",
"users_page_description": "Administrator-Benutzersiite",
"version_check_enabled_description": "Versionsprüefig akivierä",
"version_check_implications": "DFunktion zur Versionsprüefig basiert uf regelmässiger Kommunikazion mit GitHub.com",
"version_check_implications": "DFunktion zur Versionsprüefig basiert uf regelmässiger Kommunikazion mit {server}",
"version_check_settings": "Versionsprüefig",
"version_check_settings_description": "Aktiviere/Deaktivier dBenochrichtigung über neui Versione",
"video_conversion_job": "Videos transkodiere",
@@ -834,12 +835,6 @@
"day": "Tag",
"days": "Täg",
"deduplicate_all": "Alli Duplikate entfernä",
"deduplication_criteria_1": "Bildgrössi in Bytes",
"deduplication_criteria_2": "Anzahl vo de EXIF Date",
"deduplication_info": "Deduplizierungsinformatione",
"deduplication_info_description": "Für dautomatischi Datei-Voruswahl und sDedupliziere vo allne Dateie berücksichtige mir:",
"default_locale": "Standard Sproch",
"default_locale_description": "Datumsangabe und Zahle basierend uf em Gebietsschema vom Browser formatiere",
"delete": "Lösche",
"delete_action_confirmation_message": "Bisch du sicher, dass du dies Objekt lösche wotsch? Die Aktion verschiebt sObjekt i de Papirkorb vom Server und fragt dich, ob dus lokal löösche wotsch",
"delete_action_prompt": "{count} glöscht",

View File

@@ -2,16 +2,93 @@
"about": "વિશે",
"account": "ખાતું",
"account_settings": "ખાતાનાં સેટિંગ્સ",
"acknowledge": "જાણકારી મળી",
"action": "ક્રિયા",
"action_common_update": "સુધારો",
"action_description": "છાંટેલી વસ્તુઓ પર કરી શકાય તેવી ક્રિયાઓ",
"actions": "ક્રિયાઓ",
"active": "સક્રિય",
"active_count": "સક્રિય: {count}",
"activity": "પ્રવૃત્તિ",
"activity_changed": "પ્રવૃત્તિ {enabled, select, true {સક્રિય} other {નિષ્ક્રિય}} છે",
"add": "ઉમેરો",
"add_a_description": "એક વર્ણન ઉમેરો",
"add_a_location": "એક સ્થાન ઉમેરો",
"add_a_name": "એક નામ ઉમેરો",
"add_a_title": "એક શીર્ષક ઉમેરો",
"add_birthday": "એક જન્મદિવસ ઉમેરો",
"add_action": "ક્રિયા ઉમેરો",
"add_action_description": "ક્રિયા ઉમેરવા માટે ક્લિક કરો",
"add_assets": "સંસાધનો ઉમેરો",
"add_birthday": "જન્મદિવસ ઉમેરો",
"add_endpoint": "એન્ડપોઇન્ટ ઉમેરો",
"add_exclusion_pattern": "બાકાત રાખવાની પદ્ધતિ ઉમેરો",
"add_filter": "ફિલ્ટર ઉમેરો",
"add_filter_description": "ફિલ્ટર શરત ઉમેરવા માટે ક્લિક કરો",
"add_location": "સ્થાન ઉમેરો",
"add_partner": "સાથી ઉમેરો"
"add_more_users": "વધારે યુઝર ઉમેરો",
"add_partner": "સાથી ઉમેરો",
"add_path": "પાથ ઉમેરો",
"add_photos": "ફોટો ઉમેરો",
"add_tag": "ટેગ ઉમેરો",
"add_to": "માં ઉમેરો",
"add_to_album": "આલ્બમમાં ઉમેરો",
"add_to_album_bottom_sheet_added": "{album} માં ઉમેરો",
"add_to_album_bottom_sheet_already_exists": "પહેલેથી જ {album} માં છે",
"add_to_album_bottom_sheet_some_local_assets": "કેટલાક લોકલ એસેટ્સને એલ્બમમાં ઉમેરવામાં આવી શક્યા નથી",
"add_to_album_toggle": "{album} માટે પસંદગી ટૉગલ કરો",
"add_to_albums": "આલ્બમો ઉમેરો",
"add_to_albums_count": "આલ્બમો માં ઉમેરો {count}",
"add_to_bottom_bar": "માં ઉમેરો",
"add_to_shared_album": "શેર કરેલ આલ્બમમાં ઉમેરો",
"add_upload_to_stack": "અપલોડને સ્ટેકમાં ઉમેરો",
"add_url": "URL ઉમેરો",
"add_workflow_step": "વર્કફ્લો પગલુ ઉમેરો",
"added_to_archive": "આર્કાઇવમાં સંગ્રહિત કરવામાં આવી છે",
"added_to_favorites": "મનપસંદ તરીકે ચિન્હીત કરેલ છે",
"added_to_favorites_count": "મનપસંદ તરીકે {count, number} ને ચિહ્નિત કરવામાં આવેલ છે",
"admin": {
"add_exclusion_pattern_description": "એક્સક્લુઝન પેટર્ન ઉમેરો. *, **, ? થી ગ્લોબિંગ સપોર્ટેડ છે. \"Raw\" ડિરેક્ટરી ઇગ્નોર કરવા \"/Raw/\", \".tif\" ફાઈલો માટે \"/*.tif\" અને એબ્સોલ્યુટ પાથ માટે \"/path/to/ignore/\" નો ઉપયોગ કરો.",
"admin_user": "વયવસ્થાપક વપરાશકર્તા",
"asset_offline_description": "આ બાહ્ય લાઇબ્રેરી એસેટ હવે ડિસ્ક પર મળતો નથી અને તેને ટ્રેશમાં ખસેડવામાં આવ્યો છે. જો ફાઇલ લાઇબ્રેરીની અંદર જ ખસેડાઈ હોય, તો નવા સંબંધિત એસેટ માટે તમારી ટાઈમલાઇન તપાસો. આ એસેટને પુનઃસ્થાપિત કરવા માટે, કૃપા કરીને ખાતરી કરો કે નીચે દર્શાવેલ ફાઇલ પથ Immich દ્વારા ઍક્સેસ કરી શકાય છે અને ત્યારબાદ લાઇબ્રેરી સ્કેન કરો.",
"authentication_settings": "પ્રમાણિકરણ સેટિંગ્સ",
"authentication_settings_description": "પાસવર્ડ, OAuth અને અન્ય પ્રમાણિકરણ સેટિંગ્સ મેનેજ કરો",
"authentication_settings_disable_all": "શું તમે ખાતરી કરો છો કે તમે તમામ લૉગિન પદ્ધતિઓ નિષ્ક્રિય કરવા માંગો છો? લૉગિન સંપૂર્ણ રીતે બંધ થઈ જશે.",
"authentication_settings_reenable": "ફરીથી સક્રિય કરવા માટે, <link>સર્વર કમાન્ડ</link> નો ઉપયોગ કરો.",
"background_task_job": "પૃષ્ઠભૂમિ કાર્યો",
"backup_database": "ડેટાબેઝ ડમ્પ બનાવો",
"backup_database_enable_description": "ડેટાબેઝ ડમ્પ સક્રિય કરો",
"backup_keep_last_amount": "અગાઉના ડમ્પ્સની સંખ્યા જાળવી રાખવા માટે",
"backup_onboarding_1_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>documentation</link> જુઓ.",
"backup_onboarding_parts_title": "3-2-1 બેકઅપમાં સામેલ છે:",
"backup_onboarding_title": "બેકઅપ્સ",
"backup_settings": "ડેટાબેઝ ડમ્પ સેટિંગ્સ",
"backup_settings_description": "ડેટાબેઝ ડમ્પ સેટિંગ્સના પ્રબંધ કરો.",
"cleared_jobs": "{job} માટે કાર્યો સાફ કરવામાં આવ્યા",
"config_set_by_file": "રૂપરેખા હાલમાં રૂપરેખા ફાઇલ દ્વારા સેટ કરવામાં આવી છે",
"confirm_delete_library": "શું તમે ખાતરી કરો છો કે તમે {library} લાઇબ્રેરી કાઢી નાખવા માંગો છો?",
"confirm_delete_library_assets": "શું તમે ખાતરી કરો છો કે તમે આ લાઇબ્રેરી કાઢી નાખવા માંગો છો? આ Immich માંથી {count, plural, one {# સમાવાયેલ એસેટ} other {બધા # સમાવાયેલ એસેટ્સ}} કાઢી નાખશે અને તેને પાછું લાવી શકાશે નહીં. ફાઇલો ડિસ્ક પર જ રહેશે.",
"confirm_email_below": "પુષ્ટિ કરવા માટે, નીચે \"{email}\" લખો",
"confirm_reprocess_all_faces": "શું તમે ખાતરી કરો છો કે તમે તમામ ચહેરાઓને ફરીથી પ્રોસેસ કરવા માંગો છો? આ નામ આપવામાં આવેલા લોકોની માહિતી પણ સાફ કરશે.",
"confirm_user_password_reset": "શું તમે ખાતરી કરો છો કે તમે {user} નો પાસવર્ડ રીસેટ કરવા માંગો છો?",
"confirm_user_pin_code_reset": "શું તમે ખાતરી કરો છો કે તમે {user} નો PIN કોડ રીસેટ કરવા માંગો છો?",
"copy_config_to_clipboard_description": "વર્તમાન સિસ્ટમ કન્ફિગને JSON ઓબ્જેક્ટ તરીકે ક્લિપબોર્ડમાં કૉપી કરો",
"create_job": "કાર્ય બનાવો",
"cron_expression": "ક્રોન એક્સપ્રેશન",
"cron_expression_description": "ક્રોન ફોર્મેટનો ઉપયોગ કરીને સ્કેનિંગ ઇન્ટરવલ સેટ કરો. વધુ માહિતી માટે કૃપા કરીને <link>Crontab Guru</link> જુઓ.",
"cron_expression_presets": "ક્રોન એક્સપ્રેશન પ્રીસેટ્સ",
"disable_login": "લોગિન ડિસેબલ કરો",
"duplicate_detection_job_description": "સરખી ઈમેજો શોધવા માટે તમારા સંસાધનો પર મશીન લર્નિંગનો ઉપયોગ કરો. આ સુવિધા સ્માર્ટ સર્ચ પર આધારિત છે",
"exclusion_pattern_description": "તમારા સંગ્રહને સ્કેન કરતી વખતે એક્સક્લુઝન પેટર્ન તમને ફાઇલો અને ફોલ્ડર્સને અવગણવામાં મદદ કરે છે. જો તમારી પાસે એવી ફાઇલો ધરાવતા ફોલ્ડર્સ હોય જેને તમે ઈમ્પોર્ટ કરવા નથી માંગતા, જેમ કે RAW ફાઇલો, તો આ સુવિધા ઉપયોગી છે.",
"export_config_as_json_description": "વર્તમાન સિસ્ટમ કોન્ફિગને JSON ફાઇલ તરીકે ડાઉનલોડ કરો",
"external_libraries_page_description": "એડમિન એક્સટર્નલ લાઈબ્રેરી પેજ",
"face_detection": "ચહેરાની પરખ",
"face_detection_description": "મશીન લર્નિંગનો ઉપયોગ કરીને સંસાધનોમાં ચહેરાની પરખ કરો. વીડિયો માટે, ફક્ત થંબનેલ જ ધ્યાનમાં લેવામાં આવે છે. \"રિફ્રેશ\" બધા સંસાધનો પર ફરીથી પ્રક્રિયા કરે છે. \"રીસેટ\" વધારામાં ચહેરાના તમામ વર્તમાન ડેટાને સાફ કરે છે. \"ખૂટતા\" તેવા સંસાધનોને કતારમાં મૂકે છે જેના પર હજુ સુધી પ્રક્રિયા કરવામાં આવી નથી. ચહેરાની પરખ પૂર્ણ થયા પછી, શોધાયેલા ચહેરાઓને 'ચહેરાની ઓળખ' માટે કતારમાં મૂકવામાં આવશે, જે તેમને હાલની અથવા નવી વ્યક્તિઓના જૂથમાં વિભાજિત કરશે.",
"facial_recognition_job_description": "શોધાયેલા ચહેરાઓને વ્યક્તિઓના જૂથમાં વિભાજિત કરો. આ પગલું 'ચહેરાની પરખ' પૂર્ણ થયા પછી શરૂ થાય છે. \"રીસેટ\" બધા ચહેરાઓનું ફરીથી જૂથીકરણ કરે છે. \"ખૂટતા\" તેવા ચહેરાઓને કતારમાં મૂકે છે જેમને હજુ સુધી કોઈ વ્યક્તિ ફાળવવામાં આવી નથી.",
"failed_job_command": "આ કાર્ય માટે આદેશ {command} નિષ્ફળ રહ્યો: {job}",
"force_delete_user_warning": "ચેતવણી: આ પ્રક્રિયા તરત જ વપરાશકર્તા અને તમામ સંસાધનોને દૂર કરી દેશે. આ નિર્ણય બદલી શકાશે નહીં અને ફાઇલોને ફરીથી મેળવી શકાશે નહીં."
}
}

View File

@@ -18,8 +18,9 @@
"add_a_title": "הוספת כותרת",
"add_action": "הוסף פעולה",
"add_action_description": "לחץ כדי להוסיף פעולה לביצוע",
"add_assets": "הוסף תמונות",
"add_birthday": "הוספת יום הולדת",
"add_endpoint": "הוסף כתובת URL",
"add_endpoint": "הוספת כתובת קצה",
"add_exclusion_pattern": "הוספת דפוס החרגה",
"add_filter": "הוסף סינון",
"add_filter_description": "לחץ כדי להוסיף תנאי לסינון",
@@ -41,7 +42,7 @@
"add_to_shared_album": "הוספה לאלבום משותף",
"add_upload_to_stack": "הוסף את ההעלאה לערימה",
"add_url": "הוספת קישור",
"add_workflow_step": "הוסף שלב בסדר פעולות",
"add_workflow_step": "הוספת שלב זרימת עבודה",
"added_to_archive": "נוסף לארכיון",
"added_to_favorites": "נוסף למועדפים",
"added_to_favorites_count": "{count, number} נוספו למועדפים",
@@ -52,7 +53,7 @@
"authentication_settings": "הגדרות התחברות",
"authentication_settings_description": "ניהול סיסמה, OAuth, והגדרות התחברות אחרות",
"authentication_settings_disable_all": "האם ברצונך להשבית את כל שיטות ההתחברות? כניסה למערכת תהיה מושבתת לחלוטין.",
"authentication_settings_reenable": "כדי לאפשר מחדש, נא להשתמש ב<link>פקודת שרת</link>.",
"authentication_settings_reenable": "כדי לאפשר מחדש, יש להשתמש <link>בפקודת שרת</link>.",
"background_task_job": "משימות רקע",
"backup_database": "גיבוי מסד נתונים",
"backup_database_enable_description": "אפשר גיבויי מסד נתונים",
@@ -61,7 +62,7 @@
"backup_onboarding_2_description": "העתקים מקומיים במכשירים שונים. זה כולל את הקבצים הראשיים וגיבוי של הקבצים האלה באופן מקומי.",
"backup_onboarding_3_description": "סך כל ההעתקים של הנתונים שלך, כולל הקבצים המקוריים. זה כולל העתק אחד מחוץ למקום השרת ושני העתקים מקומיים.",
"backup_onboarding_description": "<backblaze-link>אסטרטגיית גיבוי 3-2-1</backblaze-link> הינה מומלצת על מנת להגן על הנתונים שלך. עליך להשאיר העתקים של תמונות/סרטונים שהועלו כמו גם את מסד הנתונים של Immich עבור פתרון גיבוי מקיף.",
"backup_onboarding_footer": "עבור מידע נוסף על גיבוי Immich, נא לפנות אל ה<link>תיעוד</link>.",
"backup_onboarding_footer": "עבור מידע נוסף על גיבוי Immich, נא לפנות אל <link>התיעוד</link>.",
"backup_onboarding_parts_title": "גיבוי 3-2-1 כולל:",
"backup_onboarding_title": "גיבויים",
"backup_settings": "הגדרות גיבוי",
@@ -103,6 +104,8 @@
"image_preview_description": "תמונה בגודל בינוני עם מטא-נתונים שהוסרו, משמשת בעת צפייה בתמונה בודדת ועבור למידת מכונה",
"image_preview_quality_description": "איכות תצוגה מקדימה מ-1 עד 100. איכות גבוהה יותר היא טובה יותר, אבל מייצרת קבצים גדולים יותר ויכולה להפחית את תגובתיות היישום. הגדרת ערך נמוך עשויה להשפיע על איכות תוצאות של למידת מכונה.",
"image_preview_title": "הגדרות תצוגה מקדימה",
"image_progressive": "הדרגתיות",
"image_progressive_description": "קידוד תמונות JPEG באופן הדרגתי לתצוגת טעינה הדרגתית. אין לכך השפעה על תמונות WebP.",
"image_quality": "איכות",
"image_resolution": "רזולוציה",
"image_resolution_description": "רזולוציות גבוהות יותר יכולות לשמר פרטים רבים יותר אך לוקחות זמן רב יותר לקידוד, יש להן גדלי קבצים גדולים יותר ויכולות להפחית את תגובתיות היישום.",
@@ -187,10 +190,21 @@
"machine_learning_smart_search_enabled": "אפשר חיפוש חכם",
"machine_learning_smart_search_enabled_description": "אם מושבת, תמונות לא יקודדו לחיפוש חכם.",
"machine_learning_url_description": "כתובת ה-URL של שרת למידת המכונה. אם ניתנת יותר מכתובת URL אחת, כל שרת ינוסה ניסיון אחד בכל פעם עד שאחד מהם יגיב בהצלחה, לפי הסדר מהראשון עד האחרון. שרתים שלא מגיבים יוזנחו זמנית עד שיחזרו להיות מקוונים.",
"maintenance_delete_backup": "מחק גיבוי",
"maintenance_delete_backup_description": "קובץ זה ימחק לצמיתות.",
"maintenance_delete_error": "מחיקת הגיבוי נכשלה.",
"maintenance_restore_backup": "שחזור מגיבוי",
"maintenance_restore_backup_description": "Immich יימחק וישוחזר מהגיבוי שנבחר. גיבוי ייווצר לפני שתמשיך.",
"maintenance_restore_backup_different_version": "גיבוי זה נוצר עם גרסה שונה של Immich!",
"maintenance_restore_backup_unknown_version": "לא ניתן היה לקבוע את גרסת הגיבוי.",
"maintenance_restore_database_backup": "שחזור גיבוי מסד הנתונים",
"maintenance_restore_database_backup_description": "חזרה למצב קודם של מסד נתונים באמצעות קובץ גיבוי",
"maintenance_settings": "תחזוקה",
"maintenance_settings_description": "העבר את Immich למצב תחזוקה.",
"maintenance_start": תחלת מצב תחזוקה",
"maintenance_start": פעלת מצב תחזוקה",
"maintenance_start_error": "התחלת מצב תחזוקה נכשלה.",
"maintenance_upload_backup": "העלאת קובץ גיבוי של מסד הנתונים",
"maintenance_upload_backup_error": "לא ניתן היה להעלות את הגיבוי, האם זהו קובץ .sql/.sql.gz?",
"manage_concurrency": "ניהול מקביליות",
"manage_concurrency_description": "עבור לדף העבודות כדי לנהל הרצת עבודות במקביל",
"manage_log_settings": "ניהול הגדרות רישום ביומן",
@@ -258,7 +272,7 @@
"oauth_auto_register": "רישום אוטומטי",
"oauth_auto_register_description": "רשום אוטומטית משתמשים חדשים לאחר כניסה עם OAuth",
"oauth_button_text": "טקסט לחצן",
"oauth_client_secret_description": "נדרש כאשר ספק ה־OAuth אינו תומך ב־PKCE (מפתח הוכחה להחלפת קוד)",
"oauth_client_secret_description": "נדרש עבור לקוח סודי, או אם PKCE (מפתח הוכחה להחלפת קוד) אינו נתמך עבור לקוח ציבורי.",
"oauth_enable_description": "התחבר עם OAuth",
"oauth_mobile_redirect_uri": "URI להפניה מחדש בנייד",
"oauth_mobile_redirect_uri_override": "עקיפת URI להפניה מחדש בנייד",
@@ -267,7 +281,7 @@
"oauth_role_claim_description": "הענק גישת מנהל באופן אוטומטי אם תביעה זו קיימת. ערך התביעה יכול להיות 'user' או 'admin'.",
"oauth_settings": "OAuth",
"oauth_settings_description": "ניהול הגדרות התחברות עם OAuth",
"oauth_settings_more_details": "למידע נוסף אודות תכונה זו, בדוק את ה<link>תיעוד</link>.",
"oauth_settings_more_details": "למידע נוסף אודות תכונה זו, בדוק את <link>התיעוד</link>.",
"oauth_storage_label_claim": "דרישת תווית אחסון",
"oauth_storage_label_claim_description": "הגדר אוטומטית את תווית האחסון של המשתמש לערך של דרישה זו.",
"oauth_storage_quota_claim": "דרישת מכסת אחסון",
@@ -297,7 +311,7 @@
"search_jobs": "חיפוש עבודות…",
"send_welcome_email": "שלח דוא\"ל ברוכים הבאים",
"server_external_domain_settings": "דומיין חיצוני",
"server_external_domain_settings_description": "דומיין עבור קישורים משותפים ציבוריים, כולל //:http(s)",
"server_external_domain_settings_description": "דומיין המשמש עבור קישורים חיצוניים",
"server_public_users": "משתמשים ציבוריים",
"server_public_users_description": "כל המשתמשים (שם ודוא\"ל) מופיעים בעת הוספת משתמש לאלבומים משותפים. כאשר התכונה מושבתת, רשימת המשתמשים תהיה זמינה רק למשתמשים בעלי הרשאות ניהול.",
"server_settings": "הגדרות שרת",
@@ -316,7 +330,7 @@
"storage_template_hash_verification_enabled": "אימות גיבוב מופעל",
"storage_template_hash_verification_enabled_description": "מאפשר אימות גיבוב, אין להשבית זאת אלא אם יש לך ודאות לגבי ההשלכות",
"storage_template_migration": "העברת תבנית אחסון",
"storage_template_migration_description": "החל את ה<link>{template}</link> הנוכחית על תמונות שהועלו בעבר",
"storage_template_migration_description": "החלת ה<link>{template}</link> הנוכחי על תמונות שהועלו בעבר",
"storage_template_migration_info": "תבנית האחסון תמיר את כל ההרחבות לאותיות קטנות. שינויים בתבנית יחולו רק על תמונות חדשות. כדי להחיל באופן רטרואקטיבי את התבנית על תמונות שהועלו בעבר, הפעל את <link>{job}</link>.",
"storage_template_migration_job": "משימת העברת תבנית אחסון",
"storage_template_more_details": "לפרטים נוספים אודות תכונה זו, עיין ב<template-link>תבנית האחסון</template-link> וב<implications-link>השלכותיה</implications-link>",
@@ -397,7 +411,7 @@
"transcoding_tone_mapping": "מיפוי גוונים",
"transcoding_tone_mapping_description": "מנסה לשמר את המראה של סרטוני HDR כשהם מומרים ל-SDR. כל אלגוריתם עושה פשרות שונות עבור צבע, פירוט ובהירות. Hable משמר פרטים, Mobius משמר צבע, ו-Reinhard משמר בהירות.",
"transcoding_transcode_policy": "מדיניות המרת קידוד",
"transcoding_transcode_policy_description": "מדיניות לגבי מתי יש להמיר קידוד של סרטון. תמיד יומר הקידוד של סרטוני HDR (למעט אם המרת קידוד מושבתת).",
"transcoding_transcode_policy_description": "מדיניות לגבי מתי יש להמיר קידוד של סרטון. תמיד יומר הקידוד של סרטוני HDR וסרטונים עם פורמט פיקסל השונה מ־YUV 4:2:0 (למעט אם המרת קידוד מושבתת).",
"transcoding_two_pass_encoding": "קידוד בשני מעברים",
"transcoding_two_pass_encoding_setting_description": "המר קידוד בשני מעברים כדי לייצר סרטונים מקודדים טוב יותר. כאשר קצב סיביות מרבי מופעל (נדרש כדי שזה יעבוד עם H.264 ו-HEVC), מצב זה משתמש בטווח קצב סיביות המבוסס על קצב הסיביות המרבי ומתעלם מ-CRF. עבור VP9, ניתן להשתמש ב-CRF אם קצב סיביות מרבי מושבת.",
"transcoding_video_codec": "מקודד סרטון",
@@ -427,7 +441,7 @@
"user_successfully_removed": "המשתמש {email} הוסר בהצלחה.",
"users_page_description": "עמוד ניהול משתמשים",
"version_check_enabled_description": "אפשר בדיקת גרסה",
"version_check_implications": "תכונת בדיקת הגרסה מסתמכת על תקשורת תקופתית עם github.com",
"version_check_implications": "תכונת בדיקת הגרסה מסתמכת על תקשורת תקופתית עם {server}",
"version_check_settings": "בדיקת גרסה",
"version_check_settings_description": "הפעל/השבת את ההתראה על גרסה חדשה",
"video_conversion_job": "המרת קידוד סרטונים",
@@ -437,6 +451,9 @@
"admin_password": "סיסמת מנהל",
"administration": "ניהול",
"advanced": "מתקדם",
"advanced_settings_clear_image_cache": "נקה קבצי מטמון",
"advanced_settings_clear_image_cache_error": "לא ניתן היה לנקות את קבצי המטמון",
"advanced_settings_clear_image_cache_success": "נוקה בהצלחה {size}",
"advanced_settings_enable_alternate_media_filter_subtitle": "השתמש באפשרות זו כדי לסנן מדיה במהלך הסנכרון לפי קריטריונים חלופיים. מומלץ להשתמש בזה רק אם יש בעיה בזיהוי כל האלבומים באפליקציה.",
"advanced_settings_enable_alternate_media_filter_title": "[ניסיוני] השתמש במסנן סנכרון אלבום חלופי שמבכשיר",
"advanced_settings_log_level_title": "רמת רישום ביומן: {level}",
@@ -478,6 +495,7 @@
"album_summary": "תקציר אלבום",
"album_updated": "אלבום עודכן",
"album_updated_setting_description": "קבל הודעת דוא\"ל כאשר לאלבום משותף יש תמונות חדשות",
"album_upload_assets": "העלה תמונות מהמחשב שלך והוסף לאלבום",
"album_user_left": "עזב את {album}",
"album_user_removed": "{user} הוסר",
"album_viewer_appbar_delete_confirm": "האם את/ה בטוח/ה שברצונך למחוק את האלבום הזה מהחשבון שלך?",
@@ -495,9 +513,11 @@
"albums_default_sort_order_description": "סדר מיון תמונות ראשוני בעת יצירת אלבומים חדשים.",
"albums_feature_description": "אוספים של תמונות אשר ניתנים לשיתוף עם משתמשים אחרים.",
"albums_on_device_count": "אלבומים במכשיר ({count})",
"albums_selected": "{count, plural, one {אלבום אחד נבחר} other {# אלבומים נבחרו}}",
"all": "הכל",
"all_albums": "כל האלבומים",
"all_people": "כל האנשים",
"all_photos": "כל התמונות",
"all_videos": "כל הסרטונים",
"allow_dark_mode": "אפשר מצב כהה",
"allow_edits": "אפשר עריכות",
@@ -505,6 +525,9 @@
"allow_public_user_to_upload": "אפשר למשתמש ציבורי להעלות",
"allowed": "מורשה",
"alt_text_qr_code": "תמונת קוד QR",
"always_keep": "שמור תמיד",
"always_keep_photos_hint": "פינוי מקום ישמור את כל התמונות במכשיר זה.",
"always_keep_videos_hint": "פינוי מקום ישמור את כל הסרטונים במכשיר זה.",
"anti_clockwise": "נגד כיוון השעון",
"api_key": "מפתח API",
"api_key_description": "הערך הזה יוצג רק פעם אחת. נא לוודא שהעתקת אותו לפני סגירת החלון.",
@@ -549,6 +572,9 @@
"asset_list_layout_sub_title": "פריסה",
"asset_list_settings_subtitle": "הגדרות תבנית רשת תמונות",
"asset_list_settings_title": "רשת תמונות",
"asset_not_found_on_device_android": "מדיה לא נמצאה במכשיר",
"asset_not_found_on_device_ios": "המדיה לא נמצאה במכשיר. אם אתה משתמש ב-iCloud, ייתכן שהמדיה אינה נגישה עקב קובץ פגום המאוחסן ב-iCloud",
"asset_not_found_on_icloud": "המדיה לא נמצאה ב-iCloud. ייתכן שהמדיה אינה נגישה עקב קובץ פגום המאוחסן ב-iCloud",
"asset_offline": "תמונה לא מקוונת",
"asset_offline_description": "התמונה החיצונית הזאת כבר לא נמצאת בדיסק. נא ליצור קשר עם מנהל Immich שלך לקבלת עזרה.",
"asset_restored_successfully": "תמונה שוחזרה בהצלחה",
@@ -720,6 +746,8 @@
"change_password_form_password_mismatch": "סיסמאות לא תואמות",
"change_password_form_reenter_new_password": "הכנס שוב סיסמה חדשה",
"change_pin_code": "שנה קוד PIN",
"change_trigger": "שנה טריגר",
"change_trigger_prompt": "האם אתה בטוח שברצונך לשנות את הטריגר? פעולה זו תסיר את כל הפעולות והמסננים הקיימים.",
"change_your_password": "החלף את הסיסמה שלך",
"changed_visibility_successfully": "הנראות שונתה בהצלחה",
"charging": "טוען",
@@ -728,9 +756,21 @@
"check_corrupt_asset_backup_button": "בצע בדיקה",
"check_corrupt_asset_backup_description": "הרץ בדיקה זו רק על Wi-Fi ולאחר שכל התמונות גובו. ההליך עשוי לקחת כמה דקות.",
"check_logs": "בדוק יומני רישום",
"checksum": "Checksum",
"checksum": "סיכום ביקורת",
"choose_matching_people_to_merge": "בחר אנשים תואמים למיזוג",
"city": "עיר",
"cleanup_confirm_description": "Immich מצא {count} תמונות וסרטונים (שנוצרו לפני {date}) מגובים בבטחה לשרת. להסיר את העותקים המקומיים ממכשיר זה?",
"cleanup_confirm_prompt_title": "להסיר ממכשיר זה?",
"cleanup_deleted_assets": "{count} תמונות וסרטונים הועברו לאשפה של המכשיר",
"cleanup_deleting": "מעביר לאשפה...",
"cleanup_found_assets": "נמצאו {count} תמונות וסרטונים מגובים",
"cleanup_found_assets_with_size": "נמצאו {count} תמונות וסרטונים מגובים ({size})",
"cleanup_icloud_shared_albums_excluded": "אלבומי iCloud משותפים אינם כלולים בסריקה",
"cleanup_no_assets_found": "לא נמצאו תמונות וסרטונים התואמים את הקריטריונים לעיל. פינוי שטח יכול להסיר רק נכסים שגובו לשרת",
"cleanup_preview_title": "תמונות וסרטונים להסרה ({count})",
"cleanup_step3_description": "סרוק אחר תמונות וסרטונים מגובים התואמים את התאריך שבחרת ושמור את ההגדרות.",
"cleanup_step4_summary": "{count} תמונות וסרטונים (שנוצרו לפני {date}) להסרה מהמכשיר המקומי שלך. התמונות והסרטונים יישארו נגישים מאפליקציית Immich.",
"cleanup_trash_hint": "כדי לפנות שטח אחסון במכשיר, פתחו את אפליקציית הגלריה במכשיר ורוקנו את האשפה",
"clear": "נקה",
"clear_all": "נקה הכל",
"clear_all_recent_searches": "נקה את כל החיפושים האחרונים",
@@ -742,6 +782,8 @@
"client_cert_import": "ייבוא",
"client_cert_import_success_msg": "תעודת לקוח מיובאת",
"client_cert_invalid_msg": "קובץ תעודה לא תקין או סיסמה שגויה",
"client_cert_password_message": "הזן את הסיסמה עבור תעודה זו",
"client_cert_password_title": "סיסמת התעודה",
"client_cert_remove_msg": "תעודת לקוח הוסרה",
"client_cert_subtitle": "תומך בפורמט PKCS12 (.p12, .pfx) בלבד. ייבוא/הסרה של תעודה זמינה רק לפני התחברות",
"client_cert_title": "תעודת לקוח SSL [ניסיוני]",
@@ -752,6 +794,11 @@
"color": "צבע",
"color_theme": "צבע ערכת נושא",
"command": "פקודה",
"command_palette_prompt": "מצא במהירות דפים, פעולות או פקודות",
"command_palette_to_close": "לסגור",
"command_palette_to_navigate": "להיכנס",
"command_palette_to_select": "לבחור",
"command_palette_to_show_all": "להציג הכל",
"comment_deleted": "תגובה נמחקה",
"comment_options": "אפשרויות תגובה",
"comments_and_likes": "תגובות & לייקים",
@@ -796,6 +843,7 @@
"create_album": "צור אלבום",
"create_album_page_untitled": "ללא כותרת",
"create_api_key": "יצירת מפתח API",
"create_first_workflow": "צור זרימת עבודה ראשונית",
"create_library": "צור ספרייה",
"create_link": "צור קישור",
"create_link_to_share": "צור קישור לשיתוף",
@@ -810,21 +858,30 @@
"create_tag": "צור תג",
"create_tag_description": "צור תג חדש. עבור תגים מקוננים, נא להזין את הנתיב המלא של התג כולל קווים נטויים.",
"create_user": "צור משתמש",
"create_workflow": "צור זרימת עבודה",
"created": "נוצר",
"created_at": "נוצר",
"creating_linked_albums": "יוצר אלבומים מקושרים...",
"crop": "חתוך",
"crop_aspect_ratio_fixed": "תוקן",
"crop_aspect_ratio_free": "חינם",
"crop_aspect_ratio_original": "מקורי",
"crop_aspect_ratio_square": "ריבוע",
"curated_object_page_title": "דברים",
"current_device": "מכשיר נוכחי",
"current_pin_code": "קוד PIN הנוכחי",
"current_server_address": "כתובת שרת נוכחית",
"custom_date": "תאריך מותאם אישית",
"custom_locale": "אזור שפה מותאם אישית",
"custom_locale_description": "עצב תאריכים ומספרים על סמך השפה והאזור",
"custom_locale_description": "עצב תאריכים, זמנים, ומספרים על סמך השפה והאזור שנבחרו",
"custom_url": "קישור מותאם אישית",
"cutoff_date_description": "שמור תמונות מ…",
"cutoff_day": "{count, plural, one {יום} other {ימים}}",
"cutoff_year": "{count, plural, one {שנה} other {שנים}}",
"daily_title_text_date": "E, MMM dd",
"daily_title_text_date_year": "E, MMM dd, yyyy",
"dark": "כהה",
"dark_theme": "הפעל/כבה מצב כהה",
"dark_theme": "מעבר לערכת נושא כהה",
"date": "תאריך",
"date_after": "תאריך אחרי",
"date_and_time": "תאריך ושעה",
@@ -835,12 +892,8 @@
"day": "יום",
"days": "ימים",
"deduplicate_all": "ביטול כל הכפילויות",
"deduplication_criteria_1": "גודל תמונה בבתים",
"deduplication_criteria_2": "כמות נתוני EXIF",
"deduplication_info": "מידע על ביטול כפילויות",
"deduplication_info_description": "כדי לבחור מראש תמונות באופן אוטומטי ולהסיר כפילויות בכמות גדולה, אנו מסתכלים על:",
"default_locale": "שפת ברירת מחדל",
"default_locale_description": "פורמט תאריכים ומספרים מבוסס שפת הדפדפן שלך",
"default_locale": "אזור שפה ברירת מחדל",
"default_locale_description": "עיצוב תאריכים ומספרים בהתבסס על אזור השפה של הדפדפן שלך",
"delete": "מחק",
"delete_action_confirmation_message": "האם אתה בטוח שברצונך למחוק את התמונה הזאת? פעולה זו תעביר אותו לאשפה של השרת, ותשאל אם ברצונך למחוק אותו גם מהמכשיר המקומי",
"delete_action_prompt": "{count} נמחקו",
@@ -876,6 +929,7 @@
"deselect_all": "בטל הכל",
"details": "פרטים",
"direction": "כיוון",
"disable": "השבת",
"disabled": "מושבת",
"disallow_edits": "אל תאפשר עריכות",
"discord": "דיסקורד",
@@ -901,6 +955,7 @@
"download_include_embedded_motion_videos": "סרטונים מוטמעים",
"download_include_embedded_motion_videos_description": "כלול סרטונים מוטעמים בתמונות עם תנועה כקובץ נפרד",
"download_notfound": "הורדה לא נמצא",
"download_original": "הורד את המקור",
"download_paused": "הורדה הופסקה",
"download_settings": "הורדה",
"download_settings_description": "ניהול הגדרות הקשורות להורדת תמונות",
@@ -910,10 +965,11 @@
"download_waiting_to_retry": "מחכה כדי לנסות שוב",
"downloading": "מוריד",
"downloading_asset_filename": "מוריד תמונה {filename}",
"downloading_from_icloud": "מוריד מ-iCloud",
"downloading_media": "מוריד מדיה",
"drop_files_to_upload": "שחרר קבצים בכל מקום כדי להעלות",
"duplicates": "כפילויות",
"duplicates_description": "הפרד כל קבוצה על ידי ציון אילו, אם בכלל, הן כפילויות",
"duplicates_description": "הפרד כל קבוצה על ידי ציון אילו, אם בכלל, הן כפילויות.",
"duration": "משך זמן",
"edit": "ערוך",
"edit_album": "ערוך אלבום",
@@ -938,9 +994,24 @@
"edit_tag": "ערוך תג",
"edit_title": "ערוך כותרת",
"edit_user": "ערוך משתמש",
"edit_workflow": "ערוך זרימת עבודה",
"editor": "עורך",
"editor_close_without_save_prompt": "השינויים לא יישמרו",
"editor_close_without_save_title": "לסגור את העורך?",
"editor_confirm_reset_all_changes": "האם אתה בטוח שברצונך לאפס את כל השינויים?",
"editor_discard_edits_confirm": "בטל עריכות",
"editor_discard_edits_prompt": "יש לך עריכות שלא נשמרו. האם אתה בטוח שברצונך למחוק אותן?",
"editor_discard_edits_title": "למחוק את העריכות?",
"editor_edits_applied_error": "החלת העריכות נכשלה",
"editor_edits_applied_success": "עריכות יושמו בהצלחה",
"editor_flip_horizontal": "הפוך אופקית",
"editor_flip_vertical": "הפוך אנכית",
"editor_handle_corner": "ידית הפינה {corner, select, top_left {השמאלית־עליונה} top_right {הימנית־עליונה} bottom_left {השמאלית־תחתונה} bottom_right {הימנית־תחתונה} other {}}",
"editor_handle_edge": "ידית הקצה {edge, select, top {העליון} bottom {התחתון} left {השמאלי} right {הימני} other {}}",
"editor_orientation": "כיוון",
"editor_reset_all_changes": "איפוס שינויים",
"editor_rotate_left": "סיבוב 90° נגד כיוון השעון",
"editor_rotate_right": "סיבוב 90° עם כיוון השעון",
"email": "דוא\"ל",
"email_notifications": "התראות באימייל",
"empty_folder": "תיקיה זו ריקה",
@@ -959,11 +1030,14 @@
"error_change_sort_album": "שינוי סדר מיון אלבום נכשל",
"error_delete_face": "שגיאה במחיקת פנים מתמונה",
"error_getting_places": "שגיאה בקבלת מקומות",
"error_loading_albums": "שגיאה בטעינת אלבומים",
"error_loading_image": "שגיאה בטעינת התמונה",
"error_loading_partners": "שגיאה בטעינת שותפים: {error}",
"error_retrieving_asset_information": "שגיאה באחזור פרטי המדיה",
"error_saving_image": "שגיאה: {error}",
"error_tag_face_bounding_box": "שגיאה בתיוג הפנים לא ניתן לקבל את קואורדינטות המסגרת",
"error_title": "שגיאה - משהו השתבש",
"error_while_navigating": "שגיאה בניווט לתמונה",
"errors": {
"cannot_navigate_next_asset": "לא ניתן לנווט לתמונה הבאה",
"cannot_navigate_previous_asset": "לא ניתן לנווט לתמונה הקודמת",
@@ -999,6 +1073,7 @@
"failed_to_update_notification_status": "שגיאה בעדכון ההתראה",
"incorrect_email_or_password": "דוא\"ל או סיסמה שגויים",
"library_folder_already_exists": "נתיב הייבוא כבר מוגדר.",
"page_not_found": "העמוד לא נמצא",
"paths_validation_failed": "{paths, plural, one {נתיב # נכשל} other {# נתיבים נכשלו}} אימות",
"profile_picture_transparent_pixels": "תמונות פרופיל אינן יכולות לכלול פיקסלים שקופים. נא להגדיל ו/או להזיז את התמונה.",
"quota_higher_than_disk_size": "הגדרת מכסה גבוהה יותר מגודל הדיסק",
@@ -1021,6 +1096,7 @@
"unable_to_complete_oauth_login": "לא ניתן להשלים התחברות OAuth",
"unable_to_connect": "לא ניתן להתחבר",
"unable_to_copy_to_clipboard": "לא ניתן להעתיק ללוח, יש לודא שניגשת לדף דרך https",
"unable_to_create": "לא ניתן ליצור זרימת עבודה",
"unable_to_create_admin_account": "לא ניתן ליצור חשבון מנהל",
"unable_to_create_api_key": "לא ניתן ליצור מפתח API חדש",
"unable_to_create_library": "לא ניתן ליצור ספרייה",
@@ -1031,6 +1107,7 @@
"unable_to_delete_exclusion_pattern": "לא ניתן למחוק דפוס החרגה",
"unable_to_delete_shared_link": "לא ניתן למחוק קישור משותף",
"unable_to_delete_user": "לא ניתן למחוק משתמש",
"unable_to_delete_workflow": "לא ניתן למחוק את זרימת העבודה",
"unable_to_download_files": "לא ניתן להוריד קבצים",
"unable_to_edit_exclusion_pattern": "לא ניתן לערוך דפוס החרגה",
"unable_to_empty_trash": "לא ניתן לרוקן אשפה",
@@ -1070,6 +1147,7 @@
"unable_to_scan_library": "לא ניתן לסרוק ספרייה",
"unable_to_set_feature_photo": "לא ניתן להגדיר תמונה מייצגת",
"unable_to_set_profile_picture": "לא ניתן להגדיר תמונת פרופיל",
"unable_to_set_rating": "לא ניתן להגדיר דירוג",
"unable_to_submit_job": "לא ניתן לשלוח משימה",
"unable_to_trash_asset": "לא ניתן להעביר תמונה לאשפה",
"unable_to_unlink_account": "לא ניתן לבטל קישור חשבון",
@@ -1081,8 +1159,10 @@
"unable_to_update_settings": "לא ניתן לעדכן הגדרות",
"unable_to_update_timeline_display_status": "לא ניתן לעדכן את מצב תצוגת ציר הזמן",
"unable_to_update_user": "לא ניתן לעדכן משתמש",
"unable_to_update_workflow": "לא ניתן לעדכן את זרימת העבודה",
"unable_to_upload_file": "לא ניתן להעלות קובץ"
},
"errors_text": "שגיאות",
"exclusion_pattern": "דפוס אי הכללה",
"exif": "Exif",
"exif_bottom_sheet_description": "הוסף תיאור...",
@@ -1093,6 +1173,7 @@
"exif_bottom_sheet_people": "אנשים",
"exif_bottom_sheet_person_add_person": "הוסף שם",
"exit_slideshow": "צא ממצגת שקופיות",
"expand": "הרחב",
"expand_all": "הרחב הכל",
"experimental_settings_new_asset_list_subtitle": "עבודה בתהליך",
"experimental_settings_new_asset_list_title": "אפשר רשת תמונות ניסיונית",
@@ -1128,12 +1209,17 @@
"features_in_development": "תכונות בפיתוח",
"features_setting_description": "ניהול תכונות היישום",
"file_name_or_extension": "שם קובץ או סיומת",
"file_name_text": "שם הקובץ",
"file_name_with_value": "שם הקובץ: {file_name}",
"file_size": "גודל קובץ",
"filename": "שם קובץ",
"filetype": "סוג קובץ",
"filter": "סנן",
"filter_description": "תנאים לסינון תמונות וסרטונים רצויים",
"filter_people": "סנן אנשים",
"filter_places": "סינון מקומות",
"filter_tags": "תגי סינון",
"filters": "מסננים",
"find_them_fast": "מצא אותם מהר לפי שם עם חיפוש",
"first": "ראשון",
"fix_incorrect_match": "תקן התאמה שגויה",
@@ -1143,12 +1229,16 @@
"folders_feature_description": "עיון בתצוגת התיקייה עבור התמונות והסרטונים שבמערכת הקבצים",
"forgot_pin_code_question": "שחכת את ה-PIN שלך?",
"forward": "קדימה",
"free_up_space": "פינוי מקום",
"free_up_space_description": "העבר תמונות וסרטונים מגובים לאשפה של המכשיר שלך כדי לפנות מקום. העותקים בשרת נשארים בטוחים.",
"free_up_space_settings_subtitle": "פינוי אחסון במכשיר",
"full_path": "נתיב מלא: {path}",
"gcast_enabled": "Google Cast",
"gcast_enabled_description": "תכונה זאת טוענת משאבים חיצוניים מגוגל בכדי לפעול.",
"general": "כללי",
"geolocation_instruction_location": "לחץ על פריט עם קואורדינטות GPS כדי להשתמש במיקומו, או בחר מיקום ישירות מהמפה",
"get_help": "קבל עזרה",
"get_people_error": "שגיאה בקבלת אנשים",
"get_wifiname_error": "לא היה ניתן לקבל את שם האינטרנט האלחוטי שלך. יש לודא שהענקת את ההרשאות הדרושות ושאת/ה מחובר/ת לרשת אינטרנט אלחוטי",
"getting_started": "תחילת העבודה",
"go_back": "חזור",
@@ -1181,6 +1271,7 @@
"hide_named_person": "הסתר אדם {name}",
"hide_password": "הסתר סיסמה",
"hide_person": "הסתר אדם",
"hide_schema": "הסתר את הסכימה",
"hide_text_recognition": "הסתרת זיהוי טקסט",
"hide_unnamed_people": "הסתר אנשים ללא שם",
"home_page_add_to_album_conflicts": "{added} תמונות נוספו לאלבום {album}. {failed} תמונות כבר נמצאות באלבום.",
@@ -1253,9 +1344,18 @@
"ios_debug_info_processing_ran_at": "העיבוד התבצע ב־{dateTime}",
"items_count": "{count, plural, one {פריט #} other {# פריטים}}",
"jobs": "משימות",
"json_editor": "עורך JSON",
"json_error": "שגיאת JSON",
"keep": "שמור",
"keep_albums": "שמור אלבומים",
"keep_albums_count": "השארת {count, plural, one {אלבום אחד} other {{count} אלבומים}}",
"keep_all": "שמור הכל",
"keep_description": "בחר מה נשאר במכשיר שלך כשאתה מפנה מקום.",
"keep_favorites": "שמור מועדפים",
"keep_on_device": "שמור במכשיר",
"keep_on_device_hint": "בחר פריטים לשמירה במכשיר זה",
"keep_this_delete_others": "שמור על זה, מחק אחרים",
"keeping": "שומר: {items}",
"kept_this_deleted_others": "תמונה זו נשמרה ונמחקו {count, plural, one {תמונה #} other {# תמונות}}",
"keyboard_shortcuts": "קיצורי מקלדת",
"language": "שפה",
@@ -1286,9 +1386,11 @@
"library_page_sort_title": "כותרת אלבום",
"licenses": "רישיונות",
"light": "בהיר",
"light_theme": "החלפה לערכת נושא בהירה",
"like": "אהבתי",
"like_deleted": "לייק נמחק",
"link_motion_video": "קשר סרטון תנועה",
"link_to_docs": "למידע נוסף, יש לעיין <link>בתיעוד</link>.",
"link_to_oauth": "קישור ל-OAuth",
"linked_oauth_account": "חשבון OAuth מקושר",
"list": "רשימה",
@@ -1349,10 +1451,28 @@
"loop_videos_description": "אפשר הפעלה חוזרת אוטומטית של סרטון במציג הפרטים.",
"main_branch_warning": "הגרסה המותקנת היא גרסת פיתוח; אנחנו ממליצים בחום להשתמש בגרסה יציבה!",
"main_menu": "תפריט ראשי",
"maintenance_action_restore": "שחזור מסד נתונים",
"maintenance_description": "Immich הועבר למצב <link>תחזוקה</link>.",
"maintenance_end": "סיום מצב תחזוקה",
"maintenance_end_error": "כשל בסיום מצב תחזוקה.",
"maintenance_logged_in_as": "מחובר כרגע בתור {user}",
"maintenance_restore_from_backup": "שחזור מגיבוי",
"maintenance_restore_library": "שחזר את הספרייה שלך",
"maintenance_restore_library_confirm": "אם זה נראה נכון, המשך לשחזר גיבוי!",
"maintenance_restore_library_description": "משחזר את מסד הנתונים",
"maintenance_restore_library_folder_has_files": "ל-{folder} יש {count} תיקיות",
"maintenance_restore_library_folder_no_files": "ל־{folder} חסרים קבצים!",
"maintenance_restore_library_folder_pass": "ניתנת לקריאה וכתיבה",
"maintenance_restore_library_folder_read_fail": "אינה ניתנת לקריאה",
"maintenance_restore_library_folder_write_fail": "אינה ניתנת לכתיבה",
"maintenance_restore_library_hint_missing_files": "ייתכן שחסרים לך קבצים חשובים",
"maintenance_restore_library_hint_regenerate_later": "ניתן לייצר מחדש את אלה מאוחר יותר בהגדרות",
"maintenance_restore_library_hint_storage_template_missing_files": "משתמש/ת בתבנית אחסון? ייתכן שחסרים לך קבצים",
"maintenance_restore_library_loading": "בתהליך טעינת בדיקות שלמות והיוריסטיקות…",
"maintenance_task_backup": "יצירת גיבוי של מסד הנתונים הנוכחי…",
"maintenance_task_migrations": "בתהליך הרצת הגירות של מסד נתונים…",
"maintenance_task_restore": "בתהליך שחזור של הגיבוי שנבחר…",
"maintenance_task_rollback": "השחזור כשל, בתהליך גלגול חזרה לנקודת שחזור…",
"maintenance_title": "לא זמין באופן זמני",
"make": "תוצרת",
"manage_geolocation": "נהל מיקום",
@@ -1414,6 +1534,8 @@
"minimize": "מזער",
"minute": "דקה",
"minutes": "דקות",
"mirror_horizontal": "אופקי",
"mirror_vertical": "אנכי",
"missing": "חסרים",
"mobile_app": "אפליקציה לטלפון",
"mobile_app_download_onboarding_note": "הורד את האפליקציה המלווה באחת מהאפשרויות הבאות",
@@ -1422,11 +1544,14 @@
"monthly_title_text_date_format": "MMMM y",
"more": "עוד",
"move": "העבר",
"move_down": "הזזה למטה",
"move_off_locked_folder": "הוצאה מהתיקייה הנעולה",
"move_to": "העבר ל",
"move_to_device_trash": "העברה לפח האשפה של המכשיר",
"move_to_lock_folder_action_prompt": "{count} נוספו לתיקייה הנעולה",
"move_to_locked_folder": "העבר לתיקיה הנעולה",
"move_to_locked_folder_confirmation": "התמונות והסרטונים האלו יוסרו מכל האלבומים, ויהיו מוצגים רק בתיקיה הנעולה",
"move_up": "הזזה למעלה",
"moved_to_archive": "{count, plural, one {הועברה תמונה # } other {# תמונות הועברו}} לארכיון",
"moved_to_library": "{count, plural, one {הועברה תמונה # } other {# תמונות הועברו}} לספריה",
"moved_to_trash": "הועבר לאשפה",
@@ -1436,6 +1561,7 @@
"my_albums": "האלבומים שלי",
"name": "שם",
"name_or_nickname": "שם או כינוי",
"name_required": "נדרש שם",
"navigate": "נווט",
"navigate_to_time": "נווט אל זמן",
"network_requirement_photos_upload": "השתמש בנתונים ניידים לגיבוי תמונות",
@@ -1443,7 +1569,7 @@
"network_requirements": "דרישות רשת",
"network_requirements_updated": "דרישות הרשת השתנו, תור הגיבוי אופס",
"networking_settings": "רשת",
"networking_subtitle": "ניהול הגדרות כתובת URL של השרת",
"networking_subtitle": "ניהול הגדרות כתובת השרת",
"never": "אף פעם",
"new_album": "אלבום חדש",
"new_api_key": "מפתח API חדש",
@@ -1460,20 +1586,24 @@
"next": "הבא",
"next_memory": "הזיכרון הבא",
"no": "לא",
"no_actions_added": "עדיין לא נוספו פעולות",
"no_albums_found": "לא נמצאו אלבומים",
"no_albums_message": "צור אלבום כדי לארגן את התמונות והסרטונים שלך",
"no_albums_with_name_yet": "זה נראה שאין לך עדיין אף אלבום עם השם הזה.",
"no_albums_yet": "זה נראה שאין לך עדיין אלבומים.",
"no_archived_assets_message": "העבר תמונות וסרטונים לארכיון כדי להסתיר אותם מתצוגת התמונות שלך",
"no_assets_message": "לחץ כדי להעלות את התמונה הראשונה שלך",
"no_assets_message": "יש ללחוץ כדי להעלות את התמונה הראשונה שלך",
"no_assets_to_show": "אין תמונות להצגה",
"no_cast_devices_found": "לא נמצאו מכשירי שידור",
"no_checksum_local": "אין Checksum זמין - לא ניתן לאחזר תמונות מקומיות",
"no_checksum_remote": "אין Checksum זמין - לא ניתן לאחזר תמונות מהשרת",
"no_configuration_needed": "לא נדרשת תצורה",
"no_devices": "אין מכשירים מורשים",
"no_duplicates_found": "לא נמצאו כפילויות.",
"no_exif_info_available": "אין מידע זמין על מטא-נתונים (exif)",
"no_explore_results_message": "העלה תמונות נוספות כדי לחקור את האוסף שלך.",
"no_favorites_message": "הוסף מועדפים כדי למצוא במהירות את התמונות והסרטונים הכי טובים שלך",
"no_filters_added": "עדיין לא נוספו מסננים",
"no_libraries_message": "צור ספרייה חיצונית כדי לראות את התמונות והסרטונים שלך",
"no_local_assets_found": "לא נמצאו תמונות עם Checksum זהה",
"no_location_set": "לא הוגדר מיקום",
@@ -1487,6 +1617,7 @@
"no_results_description": "נסה להשתמש במילה נרדפת או במילת מפתח יותר כללית",
"no_shared_albums_message": "צור אלבום כדי לשתף תמונות וסרטונים עם אנשים ברשת שלך",
"no_uploads_in_progress": "אין העלאות בתהליך",
"none": "אף אחד",
"not_allowed": "לא מורשה",
"not_available": "לא רלוונטי",
"not_in_any_album": "לא בשום אלבום",
@@ -1520,6 +1651,8 @@
"online": "מקוון",
"only_favorites": "רק מועדפים",
"open": "פתח",
"open_calendar": "פתיחת לוח שנה",
"open_in_browser": "פתיחה בדפדפן",
"open_in_map_view": "פתח בתצוגת מפה",
"open_in_openstreetmap": "פתח ב-OpenStreetMap",
"open_the_search_filters": "פתח את מסנני החיפוש",
@@ -1568,6 +1701,7 @@
"people": "אנשים",
"people_edits_count": "{count, plural, one {אדם # נערך} other {# אנשים נערכו}}",
"people_feature_description": "עיון בתמונות וסרטונים שקובצו על ידי אנשים",
"people_selected": "{count, plural, one {אדם אחד נבחר} other {# אנשים נבחרו}}",
"people_sidebar_description": "הצג קישור אל אנשים בסרגל הצד",
"permanent_deletion_warning": "אזהרת מחיקה לצמיתות",
"permanent_deletion_warning_setting_description": "הצג אזהרה בעת מחיקת תמונות לצמיתות",
@@ -1592,11 +1726,14 @@
"person_age_years": "בגיל {years, plural, other {# שנים}}",
"person_birthdate": "נולד בתאריך {date}",
"person_hidden": "{name}{hidden, select, true { (מוסתר)} other {}}",
"person_recognized": "זוהה אדם",
"person_selected": "נבחר אדם",
"photo_shared_all_users": "נראה ששיתפת את התמונות שלך עם כל המשתמשים או שאין לך אף משתמש לשתף איתו.",
"photos": "תמונות",
"photos_and_videos": "תמונות & סרטונים",
"photos_count": "{count, plural, one {תמונה {count, number}} other {{count, number} תמונות}}",
"photos_from_previous_years": "תמונות משנים קודמות",
"photos_only": "רק תמונות",
"pick_a_location": "בחר מיקום",
"pick_custom_range": "טווח מותאם אישית",
"pick_date_range": "בחר טווח תאריכים",
@@ -1672,9 +1809,10 @@
"purchase_settings_server_activated": "מפתח המוצר של השרת מנוהל על ידי מנהל המערכת",
"query_asset_id": "שאילתה על מזהה הפריט",
"queue_status": "{count} מתוך {total} עומדים בתור",
"rate_asset": "דירוג תמונה",
"rating": "דירוג כוכב",
"rating_clear": "נקה דירוג",
"rating_count": "{count, plural, one {כוכב #} other {# כוכבים}}",
"rating_count": "{count, plural, =0 {ללא דירוג} one {כוכב אחד} other {# כוכבים}}",
"rating_description": "הצג את דירוג ה-EXIF בלוח המידע",
"reaction_options": "אפשרויות הגבה",
"read_changelog": "קרא את יומן השינויים",
@@ -1747,7 +1885,10 @@
"reset_pin_code_success": "קוד ה-PIN אופס בהצלחה",
"reset_pin_code_with_password": "באפשרותך תמיד לאפס את קוד ה-PIN שלך עם הסיסמה שלך",
"reset_sqlite": "אפס את מסד הנתונים SQLite",
"reset_sqlite_confirmation": "האם אתה בטוח שברצונך לאפס את מסד הנתונים SQLite? יהיה עליך להתנתק ולהתחבר מחדש כדי לסנכרן את הנתונים מחדש",
"reset_sqlite_clear_app_data": "ניקוי נתונים",
"reset_sqlite_confirmation": "האם ברצונך לנקות את נתוני היישום? פעולה זו תסיר את כל ההגדרות ותנתק אותך.",
"reset_sqlite_confirmation_note": "הערה: יהיה צורך להתחיל מחדש את היישום לאחר הניקוי.",
"reset_sqlite_done": "נתונים היישום נוקו. נא להתחיל מחדש את Immich ולהיכנס שוב.",
"reset_sqlite_success": "איפוס מסד הנתונים SQLite בוצע בהצלחה",
"reset_to_default": "אפס לברירת מחדל",
"resolution": "רזולוציה",
@@ -1775,9 +1916,12 @@
"saved_settings": "הגדרות שמורות",
"say_something": "להגיד משהו",
"scaffold_body_error_occurred": "אירעה שגיאה",
"scaffold_body_error_unrecoverable": "אירעה שגיאה שאי אפשר להתאושש ממנה. נא לשתף את השגיאה ועקבות המחסנית ב־Discord או GitHub כך שנוכל לעזור. אם ניתנה המלצה, ניתן לנקות את נתוני היישום למטה.",
"scan": "סריקה",
"scan_all_libraries": "סרוק את כל הספריות",
"scan_library": "סרוק",
"scan_settings": "הגדרות סריקה",
"scanning": "בתהליך סריקה",
"scanning_for_album": "סורק אחר אלבום...",
"search": "חיפוש",
"search_albums": "חיפוש אלבומים",
@@ -1807,6 +1951,8 @@
"search_filter_media_type_title": "בחר סוג מדיה",
"search_filter_ocr": "חיפוש לפי OCR",
"search_filter_people_title": "בחר אנשים",
"search_filter_star_rating": "דירוג כוכבים",
"search_filter_tags_title": "בחירת תגים",
"search_for": "חיפוש",
"search_for_existing_person": "חיפוש אדם קיים",
"search_no_more_result": "אין עוד תוצאות",
@@ -1841,17 +1987,23 @@
"second": "שנייה",
"see_all_people": "ראה את כל האנשים",
"select": "בחר",
"select_album": "בחירת אלבום",
"select_album_cover": "בחר עטיפת אלבום",
"select_albums": "בחירת אלבומים",
"select_all": "בחר הכל",
"select_all_duplicates": "בחר את כל הכפילויות",
"select_all_in": "בחר הכול בתוך {group}",
"select_avatar_color": "בחר צבע יצגן",
"select_count": "{count, plural, one {בחירת #} other {בחירת #}}",
"select_cutoff_date": "בחירת תאריך חיתוך",
"select_face": "בחר פנים",
"select_featured_photo": "בחר תמונה מייצגת",
"select_from_computer": "בחר מהמחשב",
"select_keep_all": "בחר שמור הכל",
"select_library_owner": "בחר את הבעלים של הספרייה",
"select_new_face": "בחר פנים חדשות",
"select_people": "בחירת אנשים",
"select_person": "בחירת אדם",
"select_person_to_tag": "בחר אדם לתיוג",
"select_photos": "בחר תמונות",
"select_trash_all": "בחר העבר הכל לאשפה",
@@ -1861,7 +2013,7 @@
"selected_gps_coordinates": "קואורדינטות GPS שנבחרו",
"send_message": "שלח הודעה",
"send_welcome_email": "שלח דוא\"ל קבלת פנים",
"server_endpoint": "כתובת URL של השרת",
"server_endpoint": "כתובת השרת",
"server_info_box_app_version": "גרסת יישום",
"server_info_box_server_url": "כתובת שרת",
"server_offline": "השרת מנותק",
@@ -1880,6 +2032,9 @@
"set_profile_picture": "הגדר תמונת פרופיל",
"set_slideshow_to_fullscreen": "הגדר מצגת שקופיות למסך מלא",
"set_stack_primary_asset": "הגדרה כתמונה ראשית",
"setting_image_navigation_enable_subtitle": "אם הגדרה זו מופעלת, ניתן לנווט לתמונה הקודמת/הבאה על ידי הקשה על הרבע הימני/השמאלי ביותר של המסך.",
"setting_image_navigation_enable_title": "הקשה לניווט",
"setting_image_navigation_title": "ניווט תמונה",
"setting_image_viewer_help": "מציג הפרטים טוען את התמונה הממוזערת הקטנה קודם, לאחר מכן טוען את התצוגה המקדימה בגודל בינוני (אם מופעל), לבסוף טוען את המקורית (אם מופעל).",
"setting_image_viewer_original_subtitle": "אפשר לטעון את התמונה המקורית ברזלוציה מלאה (גדולה!). השבת כדי להקטין שימוש בנתונים (גם בשרת וגם בזיכרון המטמון שבמכשיר).",
"setting_image_viewer_original_title": "טען תמונה מקורית",
@@ -1987,6 +2142,7 @@
"show_password": "הראה סיסמה",
"show_person_options": "הצג אפשרויות אדם",
"show_progress_bar": "הצג סרגל התקדמות",
"show_schema": "הצגת תרשים",
"show_search_options": "הצג אפשרויות חיפוש",
"show_shared_links": "הצג קישורים משותפים",
"show_slideshow_transition": "הצג מעבר מצגת",
@@ -2004,6 +2160,8 @@
"skip_to_folders": "דלג לתיקיות",
"skip_to_tags": "דלג לתגים",
"slideshow": "מצגת שקופיות",
"slideshow_repeat": "חזרה על מצגת",
"slideshow_repeat_description": "חזרה להתחלה כאשר המצגת נגמרת",
"slideshow_settings": "הגדרות מצגת שקופיות",
"sort_albums_by": "מיין אלבומים לפי...",
"sort_created": "תאריך יצירה",
@@ -2043,6 +2201,7 @@
"support": "תמיכה",
"support_and_feedback": "תמיכה & משוב",
"support_third_party_description": "התקנת ה-Immich שלך נארזה על ידי צד שלישי. בעיות שאתה חווה עשויות להיגרם על ידי חבילה זו, אז בבקשה תעלה בעיות איתם ראשית כל באמצעות הקישורים למטה.",
"supporter": "תומך",
"swap_merge_direction": "החלף כיוון מיזוג",
"sync": "סנכרן",
"sync_albums": "סנכרן אלבומים",
@@ -2056,7 +2215,7 @@
"tag_assets": "תיוג תמונות",
"tag_created": "נוצר תג: {tag}",
"tag_feature_description": "עיון בתמונות וסרטונים שקובצו על ידי נושאי תג לוגיים",
"tag_not_found_question": "לא מצליח למצוא תג? <link>צור תג חדש</link>",
"tag_not_found_question": "לא ניתן למצוא תג? <link>יצירת תג חדש.</link>",
"tag_people": "תייג אנשים",
"tag_updated": "תג מעודכן: {tag}",
"tagged_assets": "תויגו {count, plural, one {תמונה #} other {# תמונות}}",
@@ -2080,6 +2239,7 @@
"theme_setting_theme_subtitle": "בחר את הגדרת ערכת הנושא של היישום",
"theme_setting_three_stage_loading_subtitle": "טעינה בשלושה שלבים עשויה לשפר את ביצועי הטעינה אבל גורמת באופן משמעותי לעומס רשת גבוה יותר",
"theme_setting_three_stage_loading_title": "אפשר טעינה בשלושה שלבים",
"then": "אז",
"they_will_be_merged_together": "הם יתמזגו יחד",
"third_party_resources": "משאבי צד שלישי",
"time": "זמן",
@@ -2114,6 +2274,13 @@
"trash_page_select_assets_btn": "בחר תמונות",
"trash_page_title": "אשפה ({count})",
"trashed_items_will_be_permanently_deleted_after": "פריטים באשפה ימחקו לצמיתות לאחר {days, plural, one {יום #} other {# ימים}}.",
"trigger": "טריגר",
"trigger_asset_uploaded": "נכס הועלה",
"trigger_asset_uploaded_description": "מתעורר כאשר נכס חדש הועלה",
"trigger_description": "אירוע שמתחיל את זרימת העבודה",
"trigger_person_recognized": "זוהה אדם",
"trigger_person_recognized_description": "מתעורר כאשר זוהה אדם",
"trigger_type": "סוג הטריגר",
"troubleshoot": "פתור בעיות",
"type": "סוג",
"unable_to_change_pin_code": "לא ניתן לשנות את קוד ה PIN",
@@ -2128,6 +2295,7 @@
"unhide_person": "בטל הסתרת אדם",
"unknown": "לא ידוע",
"unknown_country": "מדינה לא ידועה",
"unknown_date": "תאריך לא ידוע",
"unknown_year": "שנה לא ידועה",
"unlimited": "בלתי מוגבל",
"unlink_motion_video": "בטל קישור סרטון תנועה",
@@ -2144,7 +2312,10 @@
"unstack": "בטל ערימה",
"unstack_action_prompt": "{count} הופרדו",
"unstacked_assets_count": "{count, plural, one {תמונה # הוסרה} other {# תמונות הוסרו}} מהערימה",
"unsupported_field_type": "סוג שדה לא ידוע",
"unsupported_file_type": "הקובץ {file} אינו ניתן להעלאה בגלל שסוג הקובץ שלו {type} אינו נתמך.",
"untagged": "לא מתיוגים",
"untitled_workflow": "זרימת עבודה ללא כותרת",
"up_next": "הבא בתור",
"update_location_action_prompt": "עדכן את המיקום של {count} פריטים שנבחרו עם:",
"updated_at": "עודכן",
@@ -2154,6 +2325,7 @@
"upload_details": "פרטי העלאה",
"upload_dialog_info": "האם ברצונך לגבות את התמונות שנבחרו לשרת?",
"upload_dialog_title": "העלאת תמונה",
"upload_error_with_count": "שגיאת העלאה עבור {count, plural, one {נכס אחד} other {# נכסים}}",
"upload_errors": "העלאה הושלמה עם {count, plural, one {שגיאה #} other {# שגיאות}}, רענן את הדף כדי לראות תמונות שהועלו.",
"upload_finished": "העלאה הסתיימה",
"upload_progress": "נותרו {remaining, number} - טופלו {processed, number}/{total, number}",
@@ -2168,7 +2340,9 @@
"url": "URL",
"usage": "שימוש",
"use_biometric": "השתמש באימות ביומטרי",
"use_current_connection": "השתמש בחיבור נוכחי",
"use_browser_locale": "שימוש באזור השפה של הדפדפן",
"use_browser_locale_description": "עיצוב תאריכים, זמנים, ומספרים בהתבסס על אזור השפה של הדפדפן שלך",
"use_current_connection": "שימוש בחיבור הנוכחי",
"use_custom_date_range": "השתמש בטווח תאריכים מותאם במקום",
"user": "משתמש",
"user_has_been_deleted": "משתמש זה נמחק.",
@@ -2189,6 +2363,7 @@
"utilities": "כלים",
"validate": "לאמת",
"validate_endpoint_error": "נא להזין כתובת URL תקנית",
"validation_error": "שגיאת תיקוף",
"variables": "משתנים",
"version": "גרסה",
"version_announcement_closing": "החבר שלך, אלכס",
@@ -2200,6 +2375,7 @@
"video_hover_setting_description": "הפעל תצוגת סרטון מקדימה כאשר העכבר מרחף מעל פריט. אפילו כשהגדרה זו מושבתת, ניתן להתחיל את הניגון על ידי ריחוף מעל סמל ההפעלה.",
"videos": "סרטונים",
"videos_count": "{count, plural, one {סרטון #} other {# סרטונים}}",
"videos_only": "רק סרטונים",
"view": "הצג",
"view_album": "הצג אלבום",
"view_all": "הצג הכל",
@@ -2219,7 +2395,10 @@
"viewer_remove_from_stack": "הסר מערימה",
"viewer_stack_use_as_main_asset": "השתמש כתמונה ראשית",
"viewer_unstack": "ביטול ערימה",
"visibility": "נראות",
"visibility_changed": "הנראות השתנתה עבור {count, plural, one {אדם #} other {# אנשים}}",
"visual": "חזותי",
"visual_builder": "בונה חזותי",
"waiting": "ממתין",
"waiting_count": "ממתין: {count}",
"warning": "אזהרה",
@@ -2228,12 +2407,26 @@
"welcome_to_immich": "ברוכים הבאים אל immich",
"width": "רוחב",
"wifi_name": "שם הרשת האלחוטית",
"workflow_delete_prompt": "האם ברצונך למחוק את זרימת העבודה הזו?",
"workflow_deleted": "זרימת העבודה נמחקה",
"workflow_description": "תיאור זרימת העבודה",
"workflow_info": "מידע על זרימת העבודה",
"workflow_json": "JSON של זרימת העבודה",
"workflow_json_help": "עריכת תצורת זרימת העבודה בפורמט JSON. השינויים יסתנכרנו עם הבונה החזותי.",
"workflow_name": "שם זרימת העבודה",
"workflow_navigation_prompt": "האם ברצונך לעזוב מבלי לשמור את השינויים שלך?",
"workflow_summary": "סיכום זרימת העבודה",
"workflow_update_success": "זרימת העבודה עודכנה בהצלחה",
"workflow_updated": "זרימת העבודה עודכנה",
"workflows": "זרימות עבודה",
"workflows_help_text": "זרימות עבודה מאטמטות פעולות על הנכסים שלך בהתבסס על טריגרים ומסננים",
"wrong_pin_code": "קוד PIN שגוי",
"year": "שנה",
"years_ago": "לפני {years, plural, one {שנה #} other {# שנים}}",
"yes": "כן",
"you_dont_have_any_shared_links": "אין לך קישורים משותפים",
"your_wifi_name": "שם אינטרנט אלחוטי שלך",
"zero_to_clear_rating": "יש ללחוץ על 0 כדי לנקות את דירוג התמונה",
"zoom_image": "זום לתמונה",
"zoom_to_bounds": "התמקד באזור"
}

View File

@@ -311,7 +311,7 @@
"search_jobs": "नौकरी खोजें…",
"send_welcome_email": "स्वागत ईमेल भेजें",
"server_external_domain_settings": "बाहरी डोमेन",
"server_external_domain_settings_description": "सार्वजनिक साझा लिंक के लिए डोमेन, जिसमें http(s):// शामिल है",
"server_external_domain_settings_description": "बाहरी लिंक के लिए डोमेन",
"server_public_users": "सार्वजनिक उपयोगकर्ता",
"server_public_users_description": "साझा एल्बम में उपयोगकर्ता जोड़ते समय सभी उपयोगकर्ताओं (नाम और ईमेल) की सूची दिखाई जाती है। यदि यह विकल्प अक्षम किया गया है, तो उपयोगकर्ता सूची केवल व्यवस्थापक (एडमिन) उपयोगकर्ताओं के लिए उपलब्ध होगी।",
"server_settings": "सर्वर सेटिंग्स",
@@ -441,7 +441,7 @@
"user_successfully_removed": "उपयोगकर्ता {email} को सफलतापूर्वक हटा दिया गया है।",
"users_page_description": "प्रशासक (Admin) उपयोगकर्ता पेज",
"version_check_enabled_description": "नई रिलीज़ की जाँच के लिए GitHub पर आवधिक अनुरोध सक्षम करें",
"version_check_implications": "संस्करण जाँच सुविधा github.com के साथ आवधिक संचार पर निर्भर करती है",
"version_check_implications": "संस्करण जाँच सुविधा {server} के साथ आवधिक संचार पर निर्भर करती है",
"version_check_settings": "संस्करण चेक",
"version_check_settings_description": "नए संस्करण अधिसूचना को सक्षम/अक्षम करें",
"video_conversion_job": "ट्रांसकोड वीडियो",
@@ -472,7 +472,7 @@
"advanced_settings_troubleshooting_title": "समस्या निवारण",
"age_months": "आयु {months, plural, one {# month} other {# months}}",
"age_year_months": "आयु 1 वर्ष, {months, plural, one {# month} other {# months}}",
"age_years": "{years, plural, other {Age #}}",
"age_years": "{years, plural, other {आयु # वर्ष}}",
"album": "एल्बम",
"album_added": "एल्बम डाला गया",
"album_added_notification_setting_description": "जब आपको किसी साझा एल्बम में जोड़ा जाए तो एक ईमेल सूचना प्राप्त करें",
@@ -595,7 +595,7 @@
"assets_count": "{count, plural, one {# आइटम} other {# आइटम्स}}",
"assets_deleted_permanently": "{count} संपत्ति(याँ) स्थायी रूप से हटा दी गईं",
"assets_deleted_permanently_from_server": "{count} संपत्ति(याँ) इमिच सर्वर से स्थायी रूप से हटा दी गईं",
"assets_downloaded_failed": "{count, plural, one {Downloaded # file - {error} file failed} other {Downloaded # files - {error} files failed}}",
"assets_downloaded_failed": "{count, plural, one {# फ़ाइल डाउनलोड हुई - {error} फ़ाइल डाउनलोड नहीं हो सकी} other {# फ़ाइलें डाउनलोड हुईं - {error} फ़ाइलें डाउनलोड नहीं हो सकीं}}",
"assets_downloaded_successfully": "{count, plural, one {# फ़ाइल सफलतापूर्वक डाउनलोड की गई} other {# फ़ाइलें सफलतापूर्वक डाउनलोड की गईं}}",
"assets_moved_to_trash_count": "{count, plural, one {# asset} other {# assets}} को ट्रैश में ले जाया गया",
"assets_permanently_deleted_count": "स्थायी रूप से हटा दिया गया {count, plural, one {# asset} other {# assets}}",
@@ -788,12 +788,17 @@
"client_cert_subtitle": "केवल PKCS12 (.p12, .pfx) प्रारूप का समर्थन करता है। प्रमाणपत्र आयात/निकालना केवल लॉगिन से पहले ही उपलब्ध है",
"client_cert_title": "SSL क्लाइंट प्रमाणपत्र [प्रायोगिक]",
"clockwise": "दक्षिणावर्त",
"close": "बंद करें",
"close": "बंद",
"collapse": "गिर जाना",
"collapse_all": "सभी को संकुचित करें",
"color": "रंग",
"color_theme": "रंग थीम",
"command": "आदेश",
"command_palette_prompt": "जल्दी से पेज, कार्य या कमांड ढूंढें",
"command_palette_to_close": "बंद करें",
"command_palette_to_navigate": "दर्ज करें",
"command_palette_to_select": "चुनें",
"command_palette_to_show_all": "सभी दिखाएँ",
"comment_deleted": "टिप्पणी हटा दी गई",
"comment_options": "टिप्पणी विकल्प",
"comments_and_likes": "टिप्पणियाँ और पसंद",
@@ -858,6 +863,7 @@
"created_at": "बनाया था",
"creating_linked_albums": "जुड़े हुए एल्बम बनाए जा रहे हैं..।",
"crop": "छाँटें",
"crop_aspect_ratio_fixed": "निश्चित",
"crop_aspect_ratio_free": "स्वतंत्र",
"crop_aspect_ratio_original": "मूल अनुपात",
"curated_object_page_title": "चीज़ें",
@@ -868,6 +874,9 @@
"custom_locale": "कस्टम लोकेल",
"custom_locale_description": "भाषा और क्षेत्र के आधार पर दिनांक और संख्याएँ प्रारूपित करें",
"custom_url": "कस्टम URL",
"cutoff_date_description": "पिछले कितने फ़ोटो रखें…",
"cutoff_day": "{count, plural, one {दिन} other {दिन}}",
"cutoff_year": "{count, plural, one {वर्ष} other {वर्ष}}",
"daily_title_text_date": "ई, एमएमएम डीडी",
"daily_title_text_date_year": "ई, एमएमएम दिन, वर्ष",
"dark": "डार्क",
@@ -882,12 +891,6 @@
"day": "दिन",
"days": "दिन",
"deduplicate_all": "सभी को डुप्लिकेट करें",
"deduplication_criteria_1": "छवि का आकार बाइट्स में",
"deduplication_criteria_2": "EXIF डेटा की संख्या",
"deduplication_info": "डुप्लीकेशन हटाने की जानकारी",
"deduplication_info_description": "परिसंपत्तियों का स्वचालित रूप से पूर्व-चयन करने और डुप्लिकेट को थोक में हटाने के लिए, हम निम्न पर ध्यान देते हैं:",
"default_locale": "डिफ़ॉल्ट स्थान",
"default_locale_description": "अपने ब्राउज़र स्थान के आधार पर दिनांक और संख्याएँ प्रारूपित करें",
"delete": "हटाएँ",
"delete_action_confirmation_message": "क्या आप वाकई इस आइटम को हटाना चाहते हैं? यह कार्रवाई आइटम को सर्वर की ट्रैश में ले जाएगी और स्थानीय रूप से हटाने के लिए पुष्टि मांगेगी",
"delete_action_prompt": "{count} हटाए गए",
@@ -923,6 +926,7 @@
"deselect_all": "सबको अचयनित करो",
"details": "विवरण",
"direction": "दिशा",
"disable": "निष्क्रिय करें",
"disabled": "अक्षम",
"disallow_edits": "संपादनों की अनुमति न दें",
"discord": "डिसकॉर्ड",
@@ -948,6 +952,7 @@
"download_include_embedded_motion_videos": "एम्बेडेड वीडियो",
"download_include_embedded_motion_videos_description": "मोशन फ़ोटो में एम्बेड किए गए वीडियो को एक अलग फ़ाइल के रूप में शामिल करें",
"download_notfound": "डाउनलोड नहीं मिला",
"download_original": "मूल डाउनलोड करें",
"download_paused": "डाउनलोड स्थगित",
"download_settings": "डाउनलोड करना",
"download_settings_description": "संपत्ति डाउनलोड से संबंधित सेटिंग्स प्रबंधित करें",
@@ -957,6 +962,7 @@
"download_waiting_to_retry": "पुनः प्रयास करने का इंतजार कर रहा है",
"downloading": "डाउनलोड",
"downloading_asset_filename": "संपत्ति {filename} डाउनलोड हो रही है",
"downloading_from_icloud": "iCloud से डाउनलोड हो रहा है",
"downloading_media": "मीडिया डाउनलोड हो रहा है",
"drop_files_to_upload": "अपलोड करने के लिए फ़ाइलें कहीं भी छोड़ें",
"duplicates": "डुप्लिकेट",
@@ -985,9 +991,22 @@
"edit_tag": "टैग बदलें",
"edit_title": "शीर्षक संपादित करें",
"edit_user": "यूजर को संपादित करो",
"edit_workflow": "वर्कफ़्लो संपादित करें",
"editor": "संपादक",
"editor_close_without_save_prompt": "परिवर्तन सहेजे नहीं जाएँगे",
"editor_close_without_save_title": "संपादक बंद करें?",
"editor_confirm_reset_all_changes": "क्या आप वाकई सभी बदलाव रीसेट करना चाहते हैं?",
"editor_discard_edits_confirm": "संपादन त्यागें",
"editor_discard_edits_prompt": "आपके पास सहेजे न गए संपादन हैं। क्या आप वाकई उन्हें त्यागना चाहते हैं?",
"editor_discard_edits_title": "संपादन त्यागें?",
"editor_edits_applied_error": "संपादन लागू करने में विफल",
"editor_edits_applied_success": "संपादन सफलतापूर्वक लागू किए गए",
"editor_flip_horizontal": "क्षैतिज रूप से पलटें",
"editor_flip_vertical": "ऊपर-नीचे पलटें",
"editor_orientation": "दिशा सेटिंग",
"editor_reset_all_changes": "परिवर्तन रीसेट करें",
"editor_rotate_left": "90° बाईं ओर घुमाएँ",
"editor_rotate_right": "90° दाईं ओर घुमाएँ",
"email": "ईमेल",
"email_notifications": "ईमेल सूचनाएँ",
"empty_folder": "यह फ़ोल्डर खाली है",
@@ -1002,15 +1021,18 @@
"enter_wifi_name": "Wi-Fi का नाम लिखें",
"enter_your_pin_code": "अपना पिन कोड डालें",
"enter_your_pin_code_subtitle": "लॉक फ़ोल्डर खोलने के लिए पिन कोड डालें",
"error": "गलती",
"error": "समस्या",
"error_change_sort_album": "एल्बम का क्रम बदलने में असफल रहा",
"error_delete_face": "एसेट से चेहरे को हटाने में त्रुटि हुई",
"error_getting_places": "स्थानों को प्राप्त करने में त्रुटि हुई",
"error_loading_albums": "एल्बम लोड करने में समस्या",
"error_loading_image": "छवि लोड करने में त्रुटि",
"error_loading_partners": "जोड़ीदार लोड करने में त्रुटि हुई: {error}",
"error_retrieving_asset_information": "एसेट की जानकारी प्राप्त करने में समस्या",
"error_saving_image": "त्रुटि: {error}",
"error_tag_face_bounding_box": "चेहरे को टैग करने में त्रुटि बाउंडिंग बॉक्स निर्देशांक प्राप्त नहीं कर सके",
"error_title": "त्रुटि - कुछ गलत हो गया",
"error_while_navigating": "एसेट पर जाते समय समस्या",
"errors": {
"cannot_navigate_next_asset": "अगली संपत्ति पर नेविगेट नहीं किया जा सकता",
"cannot_navigate_previous_asset": "पिछली संपत्ति पर नेविगेट नहीं किया जा सकता",
@@ -1068,6 +1090,7 @@
"unable_to_complete_oauth_login": "OAuth लॉगिन पूर्ण करने में असमर्थ",
"unable_to_connect": "कनेक्ट करने में असमर्थ",
"unable_to_copy_to_clipboard": "क्लिपबोर्ड पर कॉपी नहीं किया जा सकता, सुनिश्चित करें कि आप https के माध्यम से पेज तक पहुंच रहे हैं",
"unable_to_create": "वर्कफ़्लो बनाने में असमर्थ",
"unable_to_create_admin_account": "व्यवस्थापक खाता बनाने में असमर्थ",
"unable_to_create_api_key": "नई API कुंजी बनाने में असमर्थ",
"unable_to_create_library": "लाइब्रेरी बनाने में असमर्थ",
@@ -1078,6 +1101,7 @@
"unable_to_delete_exclusion_pattern": "बहिष्करण पैटर्न को हटाने में असमर्थ",
"unable_to_delete_shared_link": "साझा लिंक हटाने में असमर्थ",
"unable_to_delete_user": "उपयोगकर्ता को हटाने में असमर्थ",
"unable_to_delete_workflow": "वर्कफ़्लो मिटाने में असमर्थ",
"unable_to_download_files": "फ़ाइलें डाउनलोड करने में असमर्थ",
"unable_to_edit_exclusion_pattern": "बहिष्करण पैटर्न संपादित करने में असमर्थ",
"unable_to_empty_trash": "कचरा खाली करने में असमर्थ",
@@ -1117,6 +1141,7 @@
"unable_to_scan_library": "लाइब्रेरी स्कैन करने में असमर्थ",
"unable_to_set_feature_photo": "फ़ीचर फ़ोटो सेट करने में असमर्थ",
"unable_to_set_profile_picture": "प्रोफ़ाइल चित्र सेट करने में असमर्थ",
"unable_to_set_rating": "रेटिंग सेट करने में असमर्थ",
"unable_to_submit_job": "कार्य प्रस्तुत करने में असमर्थ",
"unable_to_trash_asset": "संपत्ति को ट्रैश करने में असमर्थ",
"unable_to_unlink_account": "खाता अनलिंक करने में असमर्थ",
@@ -1128,8 +1153,10 @@
"unable_to_update_settings": "सेटिंग्स अपडेट करने में असमर्थ",
"unable_to_update_timeline_display_status": "समयरेखा प्रदर्शन स्थिति अद्यतन करने में असमर्थ",
"unable_to_update_user": "उपयोगकर्ता को अद्यतन करने में असमर्थ",
"unable_to_update_workflow": "वर्कफ़्लो अपडेट करने में असमर्थ",
"unable_to_upload_file": "फाइल अपलोड करने में असमर्थ"
},
"errors_text": "समस्याएँ",
"exclusion_pattern": "बहिष्करण पैटर्न",
"exif": "एक्सिफ",
"exif_bottom_sheet_description": "विवरण जोड़ें..।",
@@ -1140,6 +1167,7 @@
"exif_bottom_sheet_people": "लोग",
"exif_bottom_sheet_person_add_person": "नाम डालें",
"exit_slideshow": "स्लाइड शो से बाहर निकलें",
"expand": "विस्तार करें",
"expand_all": "सभी का विस्तार",
"experimental_settings_new_asset_list_subtitle": "कार्य प्रगति पर है",
"experimental_settings_new_asset_list_title": "प्रयोगात्मक फोटो ग्रिड सक्षम करें",
@@ -1161,6 +1189,7 @@
"external_network_sheet_info": "जब पसंदीदा वाई-फाई नेटवर्क पर नहीं होगा, तो ऐप नीचे दिए गए यूआरएल में से पहले के माध्यम से सर्वर से कनेक्ट होगा, ऊपर से नीचे तक शुरू करते हुए",
"face_unassigned": "सौंपे नहीं गए",
"failed": "विफल हुआ",
"failed_count": "विफल: {count}",
"failed_to_authenticate": "प्रमाणित करने में विफल",
"failed_to_load_assets": "एसेट लोड करने में विफल",
"failed_to_load_folder": "फोल्डर लोड करने में विफल",
@@ -1174,12 +1203,17 @@
"features_in_development": "विकास में सुविधाएँ",
"features_setting_description": "ऐप सुविधाओं का प्रबंधन करें",
"file_name_or_extension": "फ़ाइल का नाम या एक्सटेंशन",
"file_name_text": "फ़ाइल नाम",
"file_name_with_value": "फ़ाइल नाम: {file_name}",
"file_size": "फ़ाइल का साइज़",
"filename": "फ़ाइल का नाम",
"filetype": "फाइल का प्रकार",
"filter": "फ़िल्टर",
"filter_description": "चुने गए एसेट को फ़िल्टर करने की शर्तें",
"filter_people": "लोगों को फ़िल्टर करें",
"filter_places": "स्थानों को फ़िल्टर करें",
"filter_tags": "टैग फ़िल्टर करें",
"filters": "फ़िलटर्स",
"find_them_fast": "खोज के साथ नाम से उन्हें तेजी से ढूंढें",
"first": "पहला",
"fix_incorrect_match": "ग़लत मिलान ठीक करें",
@@ -1189,12 +1223,16 @@
"folders_feature_description": "फ़ाइल सिस्टम पर फ़ोटो और वीडियो के लिए फ़ोल्डर दृश्य ब्राउज़ करना",
"forgot_pin_code_question": "अपना पिन भूल गए?",
"forward": "आगे",
"free_up_space": "जगह खाली करें",
"free_up_space_description": "जगह खाली करने के लिए बैकअप ली गई फ़ोटो और वीडियो को अपने डिवाइस के ट्रैश में भेजें। सर्वर पर आपकी प्रतियाँ सुरक्षित रहेंगी।",
"free_up_space_settings_subtitle": "डिवाइस स्टोरेज खाली करें",
"full_path": "पूरा पथ: {path}",
"gcast_enabled": "गूगल कास्ट",
"gcast_enabled_description": "यह सुविधा काम करने के लिए गूगल से बाह्य संसाधन लोड करती है।",
"general": "सामान्य",
"geolocation_instruction_location": "किसी परिसंपत्ति के स्थान का उपयोग करने के लिए GPS निर्देशांक वाली परिसंपत्ति पर क्लिक करें, या सीधे मानचित्र से कोई स्थान चुनें",
"get_help": "मदद लें",
"get_people_error": "लोगों को प्राप्त करने में समस्या",
"get_wifiname_error": "वाई-फ़ाई नाम नहीं मिल सका। सुनिश्चित करें कि आपने आवश्यक अनुमतियाँ दे दी हैं और वाई-फ़ाई नेटवर्क से कनेक्ट हैं",
"getting_started": "शुरू करना",
"go_back": "वापस जाओ",
@@ -1220,12 +1258,14 @@
"header_settings_header_name_input": "हेडर का नाम",
"header_settings_header_value_input": "हेडर मान",
"headers_settings_tile_title": "कस्टम प्रॉक्सी हेडर",
"height": "ऊँचाई",
"hi_user": "नमस्ते {name} ({email})",
"hide_all_people": "सभी लोगों को छुपाएं",
"hide_gallery": "गैलरी छिपाएँ",
"hide_named_person": "व्यक्ति को छिपाएँ {name}",
"hide_password": "पासवर्ड छिपाएं",
"hide_person": "व्यक्ति छिपाएँ",
"hide_schema": "स्कीमा छिपाएँ",
"hide_text_recognition": "टेक्स्ट पहचान छिपाएँ",
"hide_unnamed_people": "अनाम लोगों को छुपाएं",
"home_page_add_to_album_conflicts": "{added} संपत्तियां एल्बम {album} में जोड़ी गईं. {failed} संपत्तियां पहले से ही एल्बम में हैं।",
@@ -1294,13 +1334,22 @@
"ios_debug_info_last_sync_at": "अंतिम सिंक {dateTime}",
"ios_debug_info_no_processes_queued": "कोई पृष्ठभूमि प्रक्रिया कतारबद्ध नहीं है",
"ios_debug_info_no_sync_yet": "अभी तक कोई पृष्ठभूमि समन्वयन कार्य नहीं चलाया गया है",
"ios_debug_info_processes_queued": "{count, plural, one {{count} background process queued} other {{count} background processes queued}}",
"ios_debug_info_processes_queued": "{count, plural, one {{count} बैकग्राउंड प्रोसेस कतार में जोड़ा गया} other {{count} बैकग्राउंड प्रोसेस कतार में जोड़े गए}}",
"ios_debug_info_processing_ran_at": "प्रसंस्करण {dateTime} पर चला",
"items_count": "{count, plural, one {# item} other {# items}}",
"items_count": "{count, plural, one {# आइटम} other {# आइटम}}",
"jobs": "नौकरियां",
"json_editor": "JSON संपादक",
"json_error": "JSON में समस्या",
"keep": "रखना",
"keep_albums": "एल्बम बनाए रखें",
"keep_albums_count": "रखे जा रहे हैं {count} {count, plural, one {एल्बम} other {एल्बम}}",
"keep_all": "सभी रखना",
"keep_description": "जगह खाली करते समय तय करें कि आपके डिवाइस पर क्या रखा जाए।",
"keep_favorites": "पसंदीदा बनाए रखें",
"keep_on_device": "डिवाइस पर बनाए रखें",
"keep_on_device_hint": "इस डिवाइस पर रखने के लिए आइटम चुनें",
"keep_this_delete_others": "इसे रखें, अन्य को हटाएँ",
"keeping": "रखे जा रहे हैं: {items}",
"kept_this_deleted_others": "इस संपत्ति को रखा गया और {count, plural, one {# asset} other {# assets}} को हटा दिया गया",
"keyboard_shortcuts": "कुंजीपटल अल्प मार्ग",
"language": "भाषा",
@@ -1310,7 +1359,7 @@
"language_setting_description": "अपनी पसंदीदा भाषा चुनें",
"large_files": "बड़ी फ़ाइलें",
"last": "अंतिम",
"last_months": "{count, plural, one {Last month} other {Last # months}}",
"last_months": "{count, plural, one {पिछले महीने} other {पिछले # महीने}}",
"last_seen": "अंतिम बार देखा गया",
"latest_version": "नवीनतम संस्करण",
"latitude": "अक्षांश",
@@ -1342,6 +1391,7 @@
"local": "स्थानीय",
"local_asset_cast_failed": "सर्वर पर अपलोड न की गई संपत्ति को कास्ट करने में असमर्थ",
"local_assets": "स्थानीय संपत्तियाँ",
"local_id": "लोकल आईडी",
"local_media_summary": "स्थानीय मीडिया सारांश",
"local_network": "स्थानीय नेटवर्क",
"local_network_sheet_info": "निर्दिष्ट वाई-फाई नेटवर्क का उपयोग करते समय ऐप इस URL के माध्यम से सर्वर से कनेक्ट होगा",
@@ -1393,10 +1443,28 @@
"loop_videos_description": "विवरण व्यूअर में किसी वीडियो को स्वचालित रूप से लूप करने में सक्षम करें।",
"main_branch_warning": "आप विकास संस्करण का उपयोग कर रहे हैं; हम दृढ़ता से रिलीज़ संस्करण का उपयोग करने की अनुशंसा करते हैं!",
"main_menu": "मेनू चलाएँ",
"maintenance_action_restore": "डेटाबेस पुनर्स्थापित किया जा रहा है",
"maintenance_description": "Immich को <link>मेंटेनेंस मोड</link> में डाल दिया गया है।",
"maintenance_end": "रखरखाव मोड समाप्त करें",
"maintenance_end_error": "मेंटेनेंस मोड खत्म नहीं हो सका।",
"maintenance_logged_in_as": "अभी {user} के तौर पर लॉग इन हैं",
"maintenance_restore_from_backup": "बैकअप से पुनर्स्थापित करें",
"maintenance_restore_library": "अपनी लाइब्रेरी पुनर्स्थापित करें",
"maintenance_restore_library_confirm": "यदि यह सही लगता है, तो बैकअप पुनर्स्थापित करना जारी रखें!",
"maintenance_restore_library_description": "डेटाबेस पुनर्स्थापित किया जा रहा है",
"maintenance_restore_library_folder_has_files": "{folder} में {count} फ़ोल्डर हैं",
"maintenance_restore_library_folder_no_files": "{folder} में फ़ाइलें मौजूद नहीं हैं!",
"maintenance_restore_library_folder_pass": "पढ़ने और लिखने योग्य",
"maintenance_restore_library_folder_read_fail": "पढ़ने योग्य नहीं",
"maintenance_restore_library_folder_write_fail": "लिखने योग्य नहीं",
"maintenance_restore_library_hint_missing_files": "संभव है कि कुछ महत्वपूर्ण फ़ाइलें मौजूद नहीं हैं",
"maintenance_restore_library_hint_regenerate_later": "आप इन्हें बाद में सेटिंग्स में दोबारा बना सकते हैं",
"maintenance_restore_library_hint_storage_template_missing_files": "स्टोरेज टेम्पलेट का उपयोग कर रहे हैं? संभव है कि कुछ फ़ाइलें मौजूद नहीं हैं",
"maintenance_restore_library_loading": "इंटीग्रिटी जाँच और हीयूरिस्टिक्स लोड हो रहे हैं…",
"maintenance_task_backup": "मौजूदा डेटाबेस का बैकअप बनाया जा रहा है…",
"maintenance_task_migrations": "डेटाबेस माइग्रेशन चल रहे हैं…",
"maintenance_task_restore": "चुने गए बैकअप को पुनर्स्थापित किया जा रहा है…",
"maintenance_task_rollback": "पुनर्स्थापना विफल हुई, पुनर्स्थापना बिंदु पर वापस लौट रहे हैं…",
"maintenance_title": "अस्थाई रूप से अनुपलब्ध",
"make": "बनाना",
"manage_geolocation": "स्थान प्रबंधित करें",
@@ -1412,7 +1480,7 @@
"manage_your_devices": "अपने लॉग-इन डिवाइस प्रबंधित करें",
"manage_your_oauth_connection": "अपना OAuth कनेक्शन प्रबंधित करें",
"map": "नक्शा",
"map_assets_in_bounds": "{count, plural, =0 {No photos in this area} one {# photo} other {# photos}}",
"map_assets_in_bounds": "{count, plural, =0 {यहाँ कोई फ़ोटो नहीं है} one {# फ़ोटो} other {# फ़ोटो}}",
"map_cannot_get_user_location": "उपयोगकर्ता का स्थान प्राप्त नहीं किया जा सका",
"map_location_dialog_yes": "हाँ",
"map_location_picker_page_use_location": "इस स्थान का उपयोग करें",
@@ -1458,6 +1526,8 @@
"minimize": "छोटा करना",
"minute": "मिनट",
"minutes": "मिनट",
"mirror_horizontal": "क्षैतिज",
"mirror_vertical": "ऊर्ध्वाधर",
"missing": "गुम",
"mobile_app": "मोबाइल एप्लिकेशन",
"mobile_app_download_onboarding_note": "निम्नलिखित विकल्पों का उपयोग करके साथी मोबाइल ऐप डाउनलोड करें",
@@ -1466,11 +1536,14 @@
"monthly_title_text_date_format": "एमएमएमएम वाई",
"more": "अधिक",
"move": "स्थान परिवर्तन",
"move_down": "नीचे ले जाएँ",
"move_off_locked_folder": "लॉक किए गए फ़ोल्डर से बाहर ले जाएं",
"move_to": "करने के लिए कदम",
"move_to_device_trash": "डिवाइस के ट्रैश में ले जाएँ",
"move_to_lock_folder_action_prompt": "{count} लॉक किए गए फ़ोल्डर में जोड़ा गया",
"move_to_locked_folder": "लॉक किए गए फ़ोल्डर में ले जाएं",
"move_to_locked_folder_confirmation": "ये फ़ोटो और वीडियो सभी एल्बमों से हटा दिए जाएँगे और केवल लॉक किए गए फ़ोल्डर से ही देखे जा सकेंगे",
"move_up": "ऊपर ले जाएँ",
"moved_to_archive": "{count, plural, one {# asset} other {# assets}} को संग्रह में ले जाया गया",
"moved_to_library": "{count, plural, one {# asset} other {# assets}} को लाइब्रेरी में ले जाया गया",
"moved_to_trash": "कूड़ेदान में ले जाया गया",
@@ -1480,6 +1553,7 @@
"my_albums": "मेरे एल्बम",
"name": "नाम",
"name_or_nickname": "नाम या उपनाम",
"name_required": "नाम आवश्यक है",
"navigate": "नेविगेट",
"navigate_to_time": "समय पर नेविगेट करें",
"network_requirement_photos_upload": "फ़ोटो का बैकअप लेने के लिए सेलुलर डेटा का उपयोग करें",
@@ -1504,6 +1578,8 @@
"next": "अगला",
"next_memory": "अगली स्मृति",
"no": "नहीं",
"no_actions_added": "अभी तक कोई कार्रवाई जोड़ी नहीं गई है",
"no_albums_found": "कोई एल्बम नहीं मिला",
"no_albums_message": "अपनी फ़ोटो और वीडियो को व्यवस्थित करने के लिए एक एल्बम बनाएं",
"no_albums_with_name_yet": "ऐसा लगता है कि आपके पास अभी तक इस नाम का कोई एल्बम नहीं है।",
"no_albums_yet": "ऐसा लगता है कि आपके पास अभी तक कोई एल्बम नहीं है।",
@@ -1513,11 +1589,13 @@
"no_cast_devices_found": "कोई कास्ट डिवाइस नहीं मिला",
"no_checksum_local": "कोई चेकसम उपलब्ध नहीं है - स्थानीय संपत्तियां प्राप्त नहीं की जा सकतीं",
"no_checksum_remote": "कोई चेकसम उपलब्ध नहीं है - दूरस्थ संपत्ति प्राप्त नहीं की जा सकती",
"no_configuration_needed": "किसी कॉन्फ़िगरेशन की आवश्यकता नहीं है",
"no_devices": "कोई अधिकृत उपकरण नहीं",
"no_duplicates_found": "कोई नकलची नहीं मिला।",
"no_exif_info_available": "कोई एक्सिफ़ जानकारी उपलब्ध नहीं है",
"no_explore_results_message": "अपने संग्रह का पता लगाने के लिए और फ़ोटो अपलोड करें।",
"no_favorites_message": "अपनी सर्वश्रेष्ठ तस्वीरें और वीडियो तुरंत ढूंढने के लिए पसंदीदा जोड़ें",
"no_filters_added": "अभी तक कोई फ़िल्टर जोड़ा नहीं गया है",
"no_libraries_message": "अपनी फ़ोटो और वीडियो देखने के लिए एक बाहरी लाइब्रेरी बनाएं",
"no_local_assets_found": "इस चेकसम के साथ कोई स्थानीय संपत्ति नहीं मिली",
"no_location_set": "कोई स्थान निर्धारित नहीं",
@@ -1531,6 +1609,7 @@
"no_results_description": "कोई पर्यायवाची या अधिक सामान्य कीवर्ड आज़माएँ",
"no_shared_albums_message": "अपने नेटवर्क में लोगों के साथ फ़ोटो और वीडियो साझा करने के लिए एक एल्बम बनाएं",
"no_uploads_in_progress": "कोई अपलोड प्रगति पर नहीं है",
"none": "कोई नहीं",
"not_allowed": "अनुमति नहीं",
"not_available": "लागू नहीं",
"not_in_any_album": "किसी एलबम में नहीं",
@@ -1564,6 +1643,7 @@
"online": "ऑनलाइन",
"only_favorites": "केवल पसंदीदा",
"open": "खुला",
"open_calendar": "कैलेंडर खोलें",
"open_in_map_view": "मानचित्र दृश्य में खोलें",
"open_in_openstreetmap": "OpenStreetMap में खोलें",
"open_the_search_filters": "खोज फ़िल्टर खोलें",
@@ -1579,6 +1659,7 @@
"other_variables": "अन्य चर",
"owned": "स्वामित्व",
"owner": "मालिक",
"page": "पेज",
"partner": "साथी",
"partner_can_access": "{partner} एक्सेस कर सकते हैं",
"partner_can_access_assets": "संग्रहीत और हटाए गए को छोड़कर आपके सभी फ़ोटो और वीडियो",
@@ -1611,6 +1692,7 @@
"people": "लोग",
"people_edits_count": "संपादित {count, plural, one {# person} other {# people}}",
"people_feature_description": "लोगों द्वारा समूहीकृत फ़ोटो और वीडियो ब्राउज़ करना",
"people_selected": "{count, plural, one {# व्यक्ति चुना गया} other {# लोग चुने गए}}",
"people_sidebar_description": "साइडबार में लोगों के लिए एक लिंक प्रदर्शित करें",
"permanent_deletion_warning": "स्थायी विलोपन चेतावनी",
"permanent_deletion_warning_setting_description": "संपत्तियों को स्थायी रूप से हटाते समय एक चेतावनी दिखाएं",
@@ -1634,12 +1716,15 @@
"person_age_year_months": "1 वर्ष, {months, plural, one {# month} other {# months}} पुराना",
"person_age_years": "{years, plural, other {# years}} पुराना",
"person_birthdate": "{date} को जन्मे",
"person_hidden": "{name}{hidden, select, true { (hidden)} other {}}",
"person_hidden": "{name}{hidden, select, true { (छिपा हुआ)} other {}}",
"person_recognized": "व्यक्ति पहचाना गया",
"person_selected": "व्यक्ति चुना गया",
"photo_shared_all_users": "ऐसा लगता है कि आपने अपनी तस्वीरें सभी उपयोगकर्ताओं के साथ साझा कीं या आपके पास साझा करने के लिए कोई उपयोगकर्ता नहीं है।",
"photos": "तस्वीरें",
"photos_and_videos": "तस्वीरें और वीडियो",
"photos_count": "{count, plural, one {{count, number} Photo} other {{count, number} Photos}}",
"photos_count": "{count, plural, one {{count, number} फ़ोटो} other {{count, number} फ़ोटो}}",
"photos_from_previous_years": "पिछले वर्षों की तस्वीरें",
"photos_only": "केवल फ़ोटो",
"pick_a_location": "एक स्थान चुनें",
"pick_custom_range": "कस्टम रेंज",
"pick_date_range": "दिनांक सीमा चुनें",
@@ -1649,7 +1734,7 @@
"pin_verification": "पिन कोड सत्यापन",
"place": "जगह",
"places": "स्थानों",
"places_count": "{count, plural, one {{count, number} Place} other {{count, number} Places}}",
"places_count": "{count, plural, one {{count, number} स्थान} other {{count, number} स्थान}}",
"play": "खेल",
"play_memories": "यादें खेलें",
"play_motion_photo": "मोशन फ़ोटो चलाएं",
@@ -1715,9 +1800,10 @@
"purchase_settings_server_activated": "सर्वर उत्पाद कुंजी व्यवस्थापक द्वारा प्रबंधित की जाती है",
"query_asset_id": "क्वेरी एसेट आईडी",
"queue_status": "कतारबद्ध {count}/{total}",
"rate_asset": "एसेट को रेट करें",
"rating": "स्टार रेटिंग",
"rating_clear": "स्पष्ट रेटिंग",
"rating_count": "{count, plural, one {# star} other {# stars}}",
"rating_count": "{count, plural, one {# स्टार} other {# स्टार}}",
"rating_description": "जानकारी पैनल में EXIF रेटिंग प्रदर्शित करें",
"reaction_options": "प्रतिक्रिया विकल्प",
"read_changelog": "चेंजलॉग पढ़ें",
@@ -1818,9 +1904,11 @@
"saved_settings": "सहेजी गई सेटिंग्स",
"say_something": "कुछ कहें",
"scaffold_body_error_occurred": "त्रुटि हुई",
"scan": "स्कैन",
"scan_all_libraries": "सभी पुस्तकालयों को स्कैन करें",
"scan_library": "स्कैन",
"scan_settings": "सेटिंग्स स्कैन करें",
"scanning": "स्कैन हो रहा है",
"scanning_for_album": "एल्बम के लिए स्कैन किया जा रहा है..।",
"search": "खोज",
"search_albums": "एल्बम खोजें",
@@ -1850,6 +1938,8 @@
"search_filter_media_type_title": "मीडिया प्रकार चुनें",
"search_filter_ocr": "OCR द्वारा खोजें",
"search_filter_people_title": "लोगों का चयन करें",
"search_filter_star_rating": "स्टार रेटिंग",
"search_filter_tags_title": "टैग चुनें",
"search_for": "निम्न को खोजें",
"search_for_existing_person": "मौजूदा व्यक्ति को खोजें",
"search_no_more_result": "कोई और परिणाम नहीं",
@@ -1884,23 +1974,29 @@
"second": "दूसरा",
"see_all_people": "सभी लोगों को देखें",
"select": "चुनना",
"select_album": "एल्बम चुने",
"select_album_cover": "एल्बम कवर चुनें",
"select_albums": "अलबुमस चुनें",
"select_all": "सबका चयन करें",
"select_all_duplicates": "सभी डुप्लिकेट का चयन करें",
"select_all_in": "{group} में सभी का चयन करें",
"select_avatar_color": "अवतार रंग चुनें",
"select_count": "{count, plural, one {# चुनें} other {# चुनें}}",
"select_cutoff_date": "कटऑफ़ तिथि चुनें",
"select_face": "चेहरा चुनें",
"select_featured_photo": "चुनिंदा फ़ोटो चुनें",
"select_from_computer": "कंप्यूटर से चयन करें",
"select_keep_all": "सभी रखें का चयन करें",
"select_library_owner": "लाइब्रेरी स्वामी का चयन करें",
"select_new_face": "नया चेहरा चुनें",
"select_people": "लोग चुनें",
"select_person": "व्यक्ति चुनें",
"select_person_to_tag": "टैग करने के लिए किसी व्यक्ति का चयन करें",
"select_photos": "फ़ोटो चुनें",
"select_trash_all": "ट्रैश ऑल का चयन करें",
"select_user_for_sharing_page_err_album": "एल्बम बनाने में विफल",
"selected": "चयनित",
"selected_count": "{count, plural, other {# selected}}",
"selected_count": "{count, plural, other {# चयनित}}",
"selected_gps_coordinates": "चयनित GPS निर्देशांक",
"send_message": "मेसेज भेजें",
"send_welcome_email": "स्वागत ईमेल भेजें",
@@ -1986,7 +2082,7 @@
"shared_link_edit_expire_after_option_year": "{count} वर्ष",
"shared_link_edit_password_hint": "शेयर पासवर्ड दर्ज करें",
"shared_link_edit_submit_button": "अपडेट लिंक",
"shared_link_error_server_url_fetch": "सर्वर URL प्राप्त नहीं किया जा सका",
"shared_link_error_server_url_fetch": "सर्वर url प्राप्त नहीं किया जा सका",
"shared_link_expires_day": "{count} दिन में इसकी वैधता समाप्त हो जाएगी",
"shared_link_expires_days": "{count} दिनों में समाप्त हो जाएगा",
"shared_link_expires_hour": "{count} घंटे में समाप्त हो जाएगा",
@@ -2003,7 +2099,7 @@
"shared_link_password_description": "इस शेयर किए गए लिंक को एक्सेस करने के लिए पासवर्ड ज़रूरी है",
"shared_links": "साझा किए गए लिंक",
"shared_links_description": "लिंक के साथ फ़ोटो और वीडियो शेयर करें",
"shared_photos_and_videos_count": "{assetCount, plural, other {# shared photos & videos.}}",
"shared_photos_and_videos_count": "{assetCount, plural, other {# साझा फ़ोटो और वीडियो}}",
"shared_with_me": "मेरे साथ साझा किया गया",
"shared_with_partner": "{partner} के साथ शेयर किया गया",
"sharing": "शेयरिंग",
@@ -2030,6 +2126,7 @@
"show_password": "पासवर्ड दिखाए",
"show_person_options": "व्यक्ति विकल्प दिखाएँ",
"show_progress_bar": "प्रगति पट्टी दिखाएँ",
"show_schema": "स्कीमा दिखाएँ",
"show_search_options": "खोज विकल्प दिखाएँ",
"show_shared_links": "साझा लिंक दिखाएँ",
"show_slideshow_transition": "स्लाइड शो ट्रांज़िशन दिखाएँ",
@@ -2047,6 +2144,8 @@
"skip_to_folders": "फ़ोल्डरों पर जाएं",
"skip_to_tags": "टैग पर जाएं",
"slideshow": "स्लाइड शो",
"slideshow_repeat": "स्लाइड शो दोहराएँ",
"slideshow_repeat_description": "स्लाइड शो समाप्त होने पर शुरुआत से दोबारा चलाएँ",
"slideshow_settings": "स्लाइड शो सेटिंग्स",
"sort_albums_by": "एल्बम को क्रमबद्ध करें..।",
"sort_created": "बनाया गया दिनांक",
@@ -2086,6 +2185,7 @@
"support": "सहायता",
"support_and_feedback": "समर्थन और प्रतिक्रिया",
"support_third_party_description": "आपका Immich इंस्टॉलेशन किसी थर्ड-पार्टी ने पैकेज किया था। आपको जो दिक्कतें आ रही हैं, वे उस पैकेज की वजह से हो सकती हैं, इसलिए कृपया नीचे दिए गए लिंक का इस्तेमाल करके सबसे पहले उनके साथ अपनी दिक्कतें बताएं।",
"supporter": "समर्थक",
"swap_merge_direction": "मर्ज दिशा स्वैप करें",
"sync": "साथ-साथ करना",
"sync_albums": "एल्बम्स सिंक करें",
@@ -2123,6 +2223,7 @@
"theme_setting_theme_subtitle": "ऐप की थीम सेटिंग चुनें",
"theme_setting_three_stage_loading_subtitle": "थ्री-स्टेज लोडिंग से लोडिंग परफॉर्मेंस बढ़ सकती है लेकिन इससे नेटवर्क लोड काफी बढ़ जाता है",
"theme_setting_three_stage_loading_title": "तीन-चरण लोडिंग सक्षम करें",
"then": "फिर",
"they_will_be_merged_together": "इन्हें एक साथ मिला दिया जाएगा",
"third_party_resources": "तृतीय-पक्ष संसाधन",
"time": "समय",
@@ -2139,6 +2240,7 @@
"to_select": "चयन करने के लिए",
"to_trash": "कचरा",
"toggle_settings": "सेटिंग्स टॉगल करें",
"toggle_theme_description": "थीम टॉगल करें",
"total": "कुल",
"total_usage": "कुल उपयोग",
"trash": "कचरा",
@@ -2156,6 +2258,13 @@
"trash_page_select_assets_btn": "संपत्तियों को चयन करें",
"trash_page_title": "कचरा ({count})",
"trashed_items_will_be_permanently_deleted_after": "ट्रैश किए गए आइटम {days, plural, one {# day} other {# days}} के बाद स्थायी रूप से हटा दिए जाएंगे।",
"trigger": "ट्रिगर",
"trigger_asset_uploaded": "एसेट अपलोड किया गया",
"trigger_asset_uploaded_description": "जब नया एसेट अपलोड किया जाता है, तब ट्रिगर होता है",
"trigger_description": "वर्कफ़्लो शुरू करने वाली क्रिया",
"trigger_person_recognized": "व्यक्ति पहचाना गया",
"trigger_person_recognized_description": "जब किसी व्यक्ति का पता चलता है, तब ट्रिगर होता है",
"trigger_type": "ट्रिगर प्रकार",
"troubleshoot": "समस्याओं का निवारण",
"type": "प्रकार",
"unable_to_change_pin_code": "पिन कोड बदलने में असमर्थ",
@@ -2163,13 +2272,14 @@
"unable_to_setup_pin_code": "पिन कोड सेट करने में असमर्थ",
"unarchive": "संग्रह से निकालें",
"unarchive_action_prompt": "{count} आर्काइव से हटा दिया गया",
"unarchived_count": "{count, plural, other {Unarchived #}}",
"unarchived_count": "{count, plural, other {# आर्काइव से हटाए गए}}",
"undo": "पूर्ववत",
"unfavorite": "नापसंद करें",
"unfavorite_action_prompt": "{count} को पसंदीदा से हटा दिया गया",
"unhide_person": "व्यक्ति को उजागर करें",
"unknown": "अज्ञात",
"unknown_country": "अज्ञात देश",
"unknown_date": "अज्ञात तिथि",
"unknown_year": "अज्ञात वर्ष",
"unlimited": "असीमित",
"unlink_motion_video": "मोशन वीडियो को अनलिंक करें",
@@ -2186,7 +2296,9 @@
"unstack": "स्टैक रद्द करें",
"unstack_action_prompt": "{count} अनस्टैक्ड",
"unstacked_assets_count": "अन-स्टैक्ड {count, plural, one {# asset} other {# assets}}",
"unsupported_field_type": "असमर्थित फ़ील्ड प्रकार",
"untagged": "टैग नहीं किए गए",
"untitled_workflow": "बिना शीर्षक का वर्कफ़्लो",
"up_next": "अब अगला",
"update_location_action_prompt": "{count} चुने गए एसेट की लोकेशन अपडेट करें:",
"updated_at": "अपडेट किया गया",
@@ -2196,6 +2308,7 @@
"upload_details": "विवरण अपलोड करें",
"upload_dialog_info": "क्या आप चुने हुए एसेट का सर्वर पर बैकअप लेना चाहते हैं?",
"upload_dialog_title": "संपत्ति अपलोड करें",
"upload_error_with_count": "{count, plural, one {# एसेट} other {# एसेट}} अपलोड में समस्या",
"upload_errors": "अपलोड {count, plural, one {# error} other {# errors}} के साथ पूरा हुआ, नए अपलोड एसेट देखने के लिए पेज को रिफ्रेश करें।",
"upload_finished": "अपलोड समाप्त",
"upload_progress": "शेष {remaining, number} - संसाधित {processed, number}/{total, number}",
@@ -2231,6 +2344,7 @@
"utilities": "उपयोगिताओं",
"validate": "मान्य",
"validate_endpoint_error": "क्रुपया मान्य यूआरएल दर्ज करें",
"validation_error": "मान्यकरण में समस्या",
"variables": "चर",
"version": "संस्करण",
"version_announcement_closing": "आपका मित्र, एलेक्स",
@@ -2241,11 +2355,13 @@
"video_hover_setting": "होवर पर वीडियो थंबनेल चलाएं",
"video_hover_setting_description": "जब माउस आइटम पर घूम रहा हो तो वीडियो थंबनेल चलाएं।",
"videos": "वीडियो",
"videos_count": "{count, plural, one {# Video} other {# Videos}}",
"videos_count": "{count, plural, one {# वीडियो} other {# वीडियो}}",
"videos_only": "केवल वीडियो",
"view": "देखना",
"view_album": "एल्बम देखें",
"view_all": "सभी को देखें",
"view_all_users": "सभी उपयोगकर्ताओं को देखें",
"view_asset_owners": "एसेट के मालिक देखें",
"view_details": "विवरण देखें",
"view_in_timeline": "टाइमलाइन में देखें",
"view_link": "लिंक देखें",
@@ -2261,18 +2377,36 @@
"viewer_stack_use_as_main_asset": "मुख्य संपत्ति के रूप में उपयोग करें",
"viewer_unstack": "स्टैक रद्द करें",
"visibility_changed": "{count, plural, one {# person} other {# people}} के लिए विज़िबिलिटी बदली गई",
"visual": "विज़ूअल",
"visual_builder": "विज़ूअल बिल्डर",
"waiting": "इंतज़ार में",
"waiting_count": "प्रतीक्षा कर रहे हैं: {count}",
"warning": "चेतावनी",
"week": "सप्ताह",
"welcome": "स्वागत",
"welcome_to_immich": "Immich में आपका स्वागत है",
"width": "चौड़ाई",
"wifi_name": "वाई-फाई का नाम",
"workflow_delete_prompt": "क्या आप वाकई इस वर्कफ़्लो को मिटाना चाहते हैं?",
"workflow_deleted": "वर्कफ़्लो मिटाया गया",
"workflow_description": "वर्कफ़्लो विवरण",
"workflow_info": "वर्कफ़्लो जानकारी",
"workflow_json": "वर्कफ़्लो JSON",
"workflow_json_help": "JSON फ़ॉर्मेट में वर्कफ़्लो कॉन्फ़िगरेशन संपादित करें। बदलाव विज़ुअल बिल्डर में सिंक हो जाएंगे।",
"workflow_name": "वर्कफ़्लो नाम",
"workflow_navigation_prompt": "क्या आप बिना अपने बदलाव सहेजे यहाँ से बाहर जाना चाहते हैं?",
"workflow_summary": "वर्कफ़्लो सारांश",
"workflow_update_success": "वर्कफ़्लो सफलतापूर्वक अपडेट किया गया",
"workflow_updated": "वर्कफ़्लो अपडेट किया गया",
"workflows": "वर्कफ़्लों",
"workflows_help_text": "वर्कफ़्लो आपके एसेट के ट्रिगरों और फ़िल्टरों के आधार पर क्रियाओं को स्वचालित करते हैं",
"wrong_pin_code": "गलत पिन कोड",
"year": "वर्ष",
"years_ago": "{years, plural, one {# year} other {# years}} पहले",
"yes": "हाँ",
"you_dont_have_any_shared_links": "आपके पास कोई साझा लिंक नहीं है",
"your_wifi_name": "आपके वाईफाई का नाम",
"zero_to_clear_rating": "एसेट रेटिंग रीसेट करने के लिए 0 दबाएँ",
"zoom_image": "छवि ज़ूम करें",
"zoom_to_bounds": "सीमा तक ज़ूम करें"
}

View File

@@ -5,7 +5,7 @@
"acknowledge": "Potvrdi",
"action": "Akcija",
"action_common_update": "Ažuriranje",
"action_description": "Skup radnji koje se izvršavaju nad filtriran",
"action_description": "Skup radnji koje se izvršavaju nad filtriranim stavkama",
"actions": "Akcije",
"active": "Aktivno",
"active_count": "Aktivno:{count}",
@@ -203,7 +203,10 @@
"maintenance_settings_description": "Stavi Immich u način održavanja.",
"maintenance_start": "Prebaci se u način održavanja",
"maintenance_start_error": "Neuspjelo pokretanje načina održavanja.",
"maintenance_upload_backup": "Prenesi bakup baze podataka",
"maintenance_upload_backup_error": "Prijenos sigurnosne kopije nesuopješan, je li datoteka tipa .sql-.sql.gz?",
"manage_concurrency": "Upravljanje Istovremenošću",
"manage_concurrency_description": "Idi na stranicu poslova za upravljanje konkurentošću",
"manage_log_settings": "Upravljanje postavkama zapisivanje",
"map_dark_style": "Tamni stil",
"map_enable_description": "Omogući značajke karte",
@@ -269,7 +272,7 @@
"oauth_auto_register": "Automatska registracija",
"oauth_auto_register_description": "Automatski registrirajte nove korisnike nakon prijave s OAuth",
"oauth_button_text": "Tekst gumba",
"oauth_client_secret_description": "Obavezno ukoliko PKCE (Proof Key for Code Exchange) nije podržan od strane OAuth pružatelja",
"oauth_client_secret_description": "Obaveznoya privatnog klijenta ili ukoliko PKCE (Proof Key for Code Exchange) nije podržan od javnog klijenta.",
"oauth_enable_description": "Prijavite se putem OAutha",
"oauth_mobile_redirect_uri": "Mobilnog Preusmjeravanja URI",
"oauth_mobile_redirect_uri_override": "Nadjačavanje URI-preusmjeravanja za mobilne uređaje",
@@ -287,15 +290,20 @@
"oauth_storage_quota_default_description": "Kvota u GiB koja će se koristiti kada nema zahtjeva.",
"oauth_timeout": "Istek vremena zahtjeva",
"oauth_timeout_description": "Istek vremena zahtjeva je u milisekundama",
"ocr_job_description": "Koristi strojno učenje za prepoznavanje teksta na slikama",
"password_enable_description": "Prijava s email adresom i zaporkom",
"password_settings": "Prijava zaporkom",
"password_settings_description": "Upravljanje postavkama za prijavu zaporkom",
"paths_validated_successfully": "Sve su putanje uspješno potvrđene",
"person_cleanup_job": "Čišćenje lica",
"queue_details": "Detalji reda čekanja",
"queues": "Posloviu redu čekanja",
"queues_page_description": "Administracija redova čekanja",
"quota_size_gib": "Veličina kvote (GiB)",
"refreshing_all_libraries": "Osvježavanje svih biblioteka",
"registration": "Registracija administratora",
"registration_description": "Budući da ste prvi korisnik na sustavu, bit ćete dodijeljeni administratorsku ulogu i odgovorni ste za administrativne poslove, a dodatne korisnike kreirat ćete sami.",
"remove_failed_jobs": "Makni neuspješne poslove",
"require_password_change_on_login": "Zahtijevajte od korisnika promjenu lozinke pri prvoj prijavi",
"reset_settings_to_default": "Vrati postavke na zadane",
"reset_settings_to_recent_saved": "Resetirajte postavke na nedavno spremljene postavke",
@@ -303,13 +311,15 @@
"search_jobs": "Traži zadatke…",
"send_welcome_email": "Pošaljite email dobrodošlice",
"server_external_domain_settings": "Vanjska domena",
"server_external_domain_settings_description": "Domena za javno dijeljene linkove, uključujući http(s)://",
"server_external_domain_settings_description": "Domena za vanjske poveznice",
"server_public_users": "Javni korisnici",
"server_public_users_description": "Svi korisnici (ime i e-pošta) navedeni su prilikom dodavanja korisnika u dijeljene albume. Kada je onemogućeno, popis korisnika bit će dostupan samo korisnicima administratora.",
"server_settings": "Postavke servera",
"server_settings_description": "Upravljanje postavkama servera",
"server_stats_page_description": "Statistika servera za administratore",
"server_welcome_message": "Poruka dobrodošlice",
"server_welcome_message_description": "Poruka koja je prikazana na prijavi.",
"settings_page_description": "Administratorske postavke",
"sidecar_job": "Sidecar metapodaci",
"sidecar_job_description": "Otkrijte ili sinkronizirajte sidecar metapodatke iz datotečnog sustava",
"slideshow_duration_description": "Broj sekundi za prikaz svake slike",
@@ -401,7 +411,7 @@
"transcoding_tone_mapping": "Tonsko preslikavanje",
"transcoding_tone_mapping_description": "Pokušava sačuvati izgled HDR videozapisa kada se pretvori u SDR. Svaki algoritam čini različite kompromise za boju, detalje i svjetlinu. Hable čuva detalje, Mobius čuva boju, a Reinhard svjetlinu.",
"transcoding_transcode_policy": "Pravila transkodiranja",
"transcoding_transcode_policy_description": "Pravila o tome kada se video treba transkodirati. HDR videozapisi uvijek će biti transkodirani (osim ako je transkodiranje onemogućeno).",
"transcoding_transcode_policy_description": "Pravila o tome kada se video treba transkodirati. HDR videozapisi i videozapisi sa formatoom piksela razlicitim od ZUV 4:2:0 uvijek će biti transkodirani (osim ako je transkodiranje onemogućeno).",
"transcoding_two_pass_encoding": "Kodiranje u dva prolaza",
"transcoding_two_pass_encoding_setting_description": "Transkodiranje u dva prolaza za proizvodnju bolje kodiranih videozapisa. Kada je omogućena maksimalna brzina prijenosa (potrebna za rad s H.264 i HEVC), ovaj način rada koristi raspon brzine prijenosa na temelju maksimalne brzine prijenosa i zanemaruje CRF. Za VP9, CRF se može koristiti ako je maksimalna brzina prijenosa onemogućena.",
"transcoding_video_codec": "Video kodek",
@@ -428,8 +438,10 @@
"user_restore_scheduled_removal": "Vrati korisnika - zakazano uklanjanje {date, date, long}",
"user_settings": "Korisničke postavke",
"user_settings_description": "Upravljanje korisničkim postavkama",
"user_successfully_removed": "Korisnik {email} je uspješno uklonjen.",
"users_page_description": "Administracija korisnika stranica",
"version_check_enabled_description": "Omogući provjeru verzije",
"version_check_implications": "Značajka provjere verzije oslanja se na periodičnu komunikaciju s github.com",
"version_check_implications": "Značajka provjere verzije oslanja se na periodičnu komunikaciju s {server}",
"version_check_settings": "Provjera verzije",
"version_check_settings_description": "Omogućite/onemogućite obavijest o novoj verziji",
"video_conversion_job": "Transkodiranje videozapisa",
@@ -439,6 +451,9 @@
"admin_password": "Admin lozinka",
"administration": "Administracija",
"advanced": "Napredno",
"advanced_settings_clear_image_cache": "Obriši međuspremnik slika",
"advanced_settings_clear_image_cache_error": "Neuspješno čišćenje međuspremnika slika",
"advanced_settings_clear_image_cache_success": "Uspješno očišćeno {size}",
"advanced_settings_enable_alternate_media_filter_subtitle": "Koristite ovu opciju za filtriranje medija tijekom sinkronizacije na temelju alternativnih kriterija. Pokušajte ovo samo ako imate problema s aplikacijom koja ne prepoznaje sve albume.",
"advanced_settings_enable_alternate_media_filter_title": "[EKSPERIMENTALNO] Koristite alternativni filter za sinkronizaciju albuma na uređaju",
"advanced_settings_log_level_title": "Razina zapisivanja: {level}",
@@ -458,6 +473,7 @@
"age_months": "Dob {months, plural, one {# mjesec} other {# mjeseca}}",
"age_year_months": "Dob 1 godina, {months, plural, one {# mjesec} other {# mjeseca}}",
"age_years": "{years, plural, other {Dob #}}",
"album": "Album",
"album_added": "Album dodan",
"album_added_notification_setting_description": "Primite obavijest e-poštom kada ste dodani u dijeljeni album",
"album_cover_updated": "Naslovnica albuma ažurirana",
@@ -474,10 +490,12 @@
"album_remove_user": "Ukloni korisnika?",
"album_remove_user_confirmation": "Jeste li sigurni da želite ukloniti {user}?",
"album_search_not_found": "Nema albuma koji odgovaraju vašem pretraživanju",
"album_selected": "Album odabran",
"album_share_no_users": "Čini se da ste podijelili ovaj album sa svim korisnicima ili nemate nijednog korisnika s kojim biste ga dijelili.",
"album_summary": "Sažetak albuma",
"album_updated": "Album ažuriran",
"album_updated_setting_description": "Primite obavijest e-poštom kada dijeljeni album ima nove stavke",
"album_upload_assets": "Učitaj stavku s vlastitog računala i dodaj u album",
"album_user_left": "Napušten {album}",
"album_user_removed": "Uklonjen {user}",
"album_viewer_appbar_delete_confirm": "Jeste li sigurni da želite izbrisati ovaj album s vašeg računa?",
@@ -495,15 +513,21 @@
"albums_default_sort_order_description": "Početni redoslijed sortiranja stavki prilikom izrade novih albuma.",
"albums_feature_description": "Zbirke stavki koje se mogu dijeliti s drugim korisnicima.",
"albums_on_device_count": "Albumi na uređaju ({count})",
"albums_selected": "{count, plural, one {# odabrani album} other {# odabrani albumi}}",
"all": "Sve",
"all_albums": "Svi albumi",
"all_people": "Sve osobe",
"all_photos": "Sve slike",
"all_videos": "Svi videi",
"allow_dark_mode": "Dozvoli tamni način",
"allow_edits": "Dozvoli izmjene",
"allow_public_user_to_download": "Dopusti javnom korisniku preuzimanje",
"allow_public_user_to_upload": "Dopusti javnom korisniku učitavanje",
"allowed": "Dopušteno",
"alt_text_qr_code": "Slika QR koda",
"always_keep": "Uvijek zadrži",
"always_keep_photos_hint": "Oslobodi prostora će zadržati sve slike na ovom uređaju.",
"always_keep_videos_hint": "Oslobodi prostora će zadržati sve videe na ovom uređaju.",
"anti_clockwise": "Suprotno smjeru kazaljke na satu",
"api_key": "API Ključ",
"api_key_description": "Ova će vrijednost biti prikazana samo jednom. Obavezno ju kopirajte prije zatvaranja prozora.",
@@ -529,10 +553,12 @@
"archived_count": "{count, plural, one {Arhivirana #} few {Arhivirane #} other {Arhivirano #}}",
"are_these_the_same_person": "Je li ovo ista osoba?",
"are_you_sure_to_do_this": "Jeste li sigurni da to želite učiniti?",
"array_field_not_fully_supported": "Polja niza zahtijevaju ručno JSON editiranje",
"asset_action_delete_err_read_only": "Nije moguće izbrisati stavke samo za čitanje, preskakanje",
"asset_action_share_err_offline": "Nije moguće dohvatiti izvanmrežne stavke, preskakanje",
"asset_added_to_album": "Dodano u album",
"asset_adding_to_album": "Dodavanje u album…",
"asset_created": "Stavka stvorena",
"asset_description_updated": "Opis stavke je ažuriran",
"asset_filename_is_offline": "Stavka {filename} je izvan mreže",
"asset_has_unassigned_faces": "Stavka ima nedodijeljena lica",
@@ -545,6 +571,9 @@
"asset_list_layout_sub_title": "Raspored",
"asset_list_settings_subtitle": "Postavke izgleda Mreže fotografija",
"asset_list_settings_title": "Mreža fotografija",
"asset_not_found_on_device_android": "Stavka nije pronađena na ovom uređaju",
"asset_not_found_on_device_ios": "Stavka nije pronađena na ovom uređaju. Ako koristite iCloud, stavka je možda nedostupna zbog loše datoteke spremljena na iCloud",
"asset_not_found_on_icloud": "Stavka nije pronađena na iCloud. Stavka je možda nedostupna zbog loše datoteke spremljena na iCloud",
"asset_offline": "Stavka izvan mreže",
"asset_offline_description": "Ova vanjska stavka nije pronađena na disku. Za pomoć se obratite Immich administratoru.",
"asset_restored_successfully": "Stavka uspješno obnovljena",
@@ -657,6 +686,7 @@
"backup_options_page_title": "Opcije sigurnosnog kopiranja",
"backup_setting_subtitle": "Upravljajte postavkama učitavanja u pozadini i prvom planu",
"backup_settings_subtitle": "Upravljaj postavkama slanja",
"backup_upload_details_page_more_details": "Pritisnite za vise informacija",
"backward": "Unazad",
"biometric_auth_enabled": "Biometrijska autentikacija omogućena",
"biometric_locked_out": "Zaključani ste iz biometrijske autentikacije",
@@ -723,8 +753,21 @@
"check_corrupt_asset_backup_button": "Izvrši provjeru",
"check_corrupt_asset_backup_description": "Pokrenite ovu provjeru samo putem Wi-Fi mreže i nakon što su sve stavke sigurnosno kopirane. Postupak može potrajati nekoliko minuta.",
"check_logs": "Provjera Zapisa",
"checksum": "Kontrolni zbroj",
"choose_matching_people_to_merge": "Odaberite odgovarajuće osobe za spajanje",
"city": "Grad",
"cleanup_confirm_description": "Immich je pronašao {count} stavki (stvorene prije {date}) sigurno spremljene na serveru. Ukloni lokalne kopije s ovog uređaja?",
"cleanup_confirm_prompt_title": "Ukloni s ovog uređaja?",
"cleanup_deleted_assets": "Prebačeno {count} stavki u smeće uređaja",
"cleanup_deleting": "Prebacivanje u smeće...",
"cleanup_found_assets": "Pronađeno {count} sigurnosno spremljenih stavki",
"cleanup_found_assets_with_size": "Pronađeno {count} sigurnosno spremljenih stavki ({size})",
"cleanup_icloud_shared_albums_excluded": "iCloud dijeljeni albumi nisu uključeni u skeniranje",
"cleanup_no_assets_found": "Nisu pronađene stavki koje zadovoljavaju gore kriterij. Oslobodi prostor može ukloniti samo stavke koje su sigurno kopirane na serveru",
"cleanup_preview_title": "Stavke za ukloniti ({count})",
"cleanup_step3_description": "Skeniraj sigurnosnu kopiju stavki koje zadovoljavaju vaš datum i zadrži opcije.",
"cleanup_step4_summary": "{count} stavki (stvorene prije {date}) za ukloniti s vašeg lokalnog uređaja. Slike će ostat dostupne s Immich aplikacije.",
"cleanup_trash_hint": "Kako bi u potpunosti oslobodili prostor, otvorite sistemsku aplikaciju za galeriju i očistite smeće",
"clear": "Očisti",
"clear_all": "Očisti sve",
"clear_all_recent_searches": "Izbriši sva nedavna pretraživanja",
@@ -736,6 +779,8 @@
"client_cert_import": "Uvezi",
"client_cert_import_success_msg": "Klijentski certifikat je uvezen",
"client_cert_invalid_msg": "Neispravna datoteka certifikata ili pogrešna lozinka",
"client_cert_password_message": "Unesite lozinku za ovaj certifikat",
"client_cert_password_title": "Lozinka certifikata",
"client_cert_remove_msg": "Klijentski certifikat je uklonjen",
"client_cert_subtitle": "Podržava samo PKCS12 (.p12, .pfx) format. Uvoz/uklanjanje certifikata dostupno je samo prije prijave",
"client_cert_title": "SSL klijentski certifikat [EKSPERIMENTALNO]",
@@ -746,6 +791,11 @@
"color": "Boja",
"color_theme": "Tema boja",
"command": "Naredba",
"command_palette_prompt": "Brzo nađi stranice, akcije ili naredbe",
"command_palette_to_close": "za zatvoriti",
"command_palette_to_navigate": "za pristupiti",
"command_palette_to_select": "za selektirati",
"command_palette_to_show_all": "za prikazati sve",
"comment_deleted": "Komentar izbrisan",
"comment_options": "Opcije komentara",
"comments_and_likes": "Komentari i lajkovi",
@@ -808,17 +858,25 @@
"created_at": "Kreirano",
"creating_linked_albums": "Izradi povezane albume...",
"crop": "Obreži",
"crop_aspect_ratio_fixed": "Popravljeno",
"crop_aspect_ratio_free": "Slobodno",
"crop_aspect_ratio_original": "Original",
"crop_aspect_ratio_square": "Kvadrat",
"curated_object_page_title": "Stvari",
"current_device": "Trenutačni uređaj",
"current_pin_code": "Trenutni PIN kod",
"current_server_address": "Trenutna adresa poslužitelja",
"custom_locale": "Prilagođena Lokalizacija",
"custom_locale_description": "Formatiranje datuma i brojeva na temelju jezika i regije",
"custom_date": "Specifičan datum",
"custom_locale": "Prilagođena lokalizacija",
"custom_locale_description": "Formatiranje datuma, vremena i brojeva na temelju selektiranog jezika i regije",
"custom_url": "Prilagođena URL adresa",
"cutoff_date_description": "Zadrži slike od zadnjih…",
"cutoff_day": "{count, plural, one {dan} other {dana}}",
"cutoff_year": "{count, plural, one {godina} other {godine}}",
"daily_title_text_date": "E, MMM dd",
"daily_title_text_date_year": "E, MMM dd, yyyy",
"dark": "Tamno",
"dark_theme": "Prebaci tamnu temu",
"dark_theme": "Prebaci u tamnu temu",
"date": "Datum",
"date_after": "Datum nakon",
"date_and_time": "Datum i Vrijeme",
@@ -829,12 +887,6 @@
"day": "Dan",
"days": "Dani",
"deduplicate_all": "Dedupliciraj Sve",
"deduplication_criteria_1": "Veličina slike u bajtovima",
"deduplication_criteria_2": "Broj EXIF podataka",
"deduplication_info": "Informacije o uklanjanju duplikata",
"deduplication_info_description": "Za automatski odabir stavki i masovno uklanjanje duplikata, uzimamo u obzir:",
"default_locale": "Zadana lokalizacija",
"default_locale_description": "Oblikujte datume i brojeve na temelju jezika preglednika",
"delete": "Izbriši",
"delete_action_confirmation_message": "Jeste li sigurni da želite izbrisati ovu stavku? Ova radnja će premjestiti stavku u smeće poslužitelja i pitati vas želite li ju izbrisati lokalno",
"delete_action_prompt": "{count} izbrisano",
@@ -958,6 +1010,7 @@
"error_saving_image": "Pogreška: {error}",
"error_tag_face_bounding_box": "Pogreška pri označavanju lica nije moguće dohvatiti koordinate granica (bounding box)",
"error_title": "Greška - Nešto je pošlo krivo",
"error_while_navigating": "Greška prilikom navigiranja do stavki",
"errors": {
"cannot_navigate_next_asset": "Nije moguće prijeći na sljedeću stavku",
"cannot_navigate_previous_asset": "Nije moguće prijeći na prethodnu stavku",
@@ -993,6 +1046,7 @@
"failed_to_update_notification_status": "Neuspješno ažuriranje statusa obavijesti",
"incorrect_email_or_password": "Netočna adresa e-pošte ili lozinka",
"library_folder_already_exists": "Ova putanja unosa već postoji.",
"page_not_found": "Stranica nije pronađena",
"paths_validation_failed": "{paths, plural, one {# putanja nije prošla} other {# putanje nisu prošle}} provjeru valjanosti",
"profile_picture_transparent_pixels": "Profilne slike ne smiju imati prozirne piksele. Povećajte i/ili pomaknite sliku.",
"quota_higher_than_disk_size": "Postavili ste kvotu veću od veličine diska",
@@ -1077,6 +1131,7 @@
"unable_to_update_user": "Nije moguće ažurirati korisnika",
"unable_to_upload_file": "Nije moguće učitati datoteku"
},
"errors_text": "Greške",
"exclusion_pattern": "Uzorak isključenja",
"exif": "Exif",
"exif_bottom_sheet_description": "Dodaj opis...",
@@ -1087,6 +1142,7 @@
"exif_bottom_sheet_people": "OSOBE",
"exif_bottom_sheet_person_add_person": "Dodaj ime",
"exit_slideshow": "Izađi iz projekcije slideova",
"expand": "Proširi",
"expand_all": "Proširi sve",
"experimental_settings_new_asset_list_subtitle": "Rad u tijeku",
"experimental_settings_new_asset_list_title": "Omogući eksperimentalnu mrežu fotografija",
@@ -1122,6 +1178,8 @@
"features_in_development": "Značajke u razvoju",
"features_setting_description": "Upravljajte značajkama aplikacije",
"file_name_or_extension": "Naziv ili ekstenzija datoteke",
"file_name_text": "Ime datoteke",
"file_name_with_value": "Ime datoteke: {file_name}",
"file_size": "Veličina datoteke",
"filename": "Naziv datoteke",
"filetype": "Vrsta datoteke",

View File

@@ -12,15 +12,15 @@
"activity": "Tevékenység",
"activity_changed": "A tevékenység {enabled, select, true {bekapcsolva} other {kikapcsolva}}",
"add": "Hozzáadás",
"add_a_description": "Leírás hozzáadása",
"add_a_description": "Leírás megadása",
"add_a_location": "Helyszín hozzáadása",
"add_a_name": "Név megadása",
"add_a_title": "Cím megadása",
"add_action": "Művelet hozzáadása",
"add_action_description": "Kattints ide egy végrehajtandó művelet hozzáadásához",
"add_assets": "Elemek hozzáadása",
"add_birthday": "Születésnap hozzáadása",
"add_endpoint": "Végpont megadása",
"add_birthday": "Születésnap megadása",
"add_endpoint": "Végpont hozzáadása",
"add_exclusion_pattern": "Kihagyási minta (pattern) hozzáadása",
"add_filter": "Szűrő hozzáadása",
"add_filter_description": "Kattints ide egy szűrési feltétel hozzáadásához",
@@ -311,7 +311,7 @@
"search_jobs": "Feladatok keresése…",
"send_welcome_email": "Üdvözlő email küldése",
"server_external_domain_settings": "Külső domain",
"server_external_domain_settings_description": "Nyilvánosan megosztott linkek domainje (http(s)://-sel)",
"server_external_domain_settings_description": "Külső linkekhez haszált domain",
"server_public_users": "Nyilvános felhasználók",
"server_public_users_description": "Az összes felhasználó (név és email) ki van írva, amikor egy felhasználót adsz hozzá egy megosztott albumhoz. Amikor le van tiltva, a felhasználólista csak adminok számára lesz elérhető.",
"server_settings": "Szerver beállítások",
@@ -411,7 +411,7 @@
"transcoding_tone_mapping": "Tónusleképezés (tone-mapping)",
"transcoding_tone_mapping_description": "Megpróbálja megőrizni a HDR videók kinézetét SDR-re való konvertálás során. Minden algoritmus különböző módon tesz kompromisszumot a színek, részletek, és a fényerő megőrzésében. A Hable inkább a részleteket őrzi meg, a Mobius a színeket, a Reinhard pedig a fényerőt.",
"transcoding_transcode_policy": "Átkódolási szabályzat",
"transcoding_transcode_policy_description": "Videó átkódolási szabályzat . HDR videók mindig átkódolásra kerülnek (kivéve, ha az átkódolás ki van kapcsolva).",
"transcoding_transcode_policy_description": "Videó átkódolási szabályzat . HDR videók és YUV 4:2:0-tól eltérő pixelformátummal rendelkező videók mindig átkódolásra kerülnek (kivéve, ha az átkódolás ki van kapcsolva).",
"transcoding_two_pass_encoding": "Átkódolás két menetben",
"transcoding_two_pass_encoding_setting_description": "A két menetben átkódolt videók jobb minőségűek lesznek. Ha engedélyezve van a bitráta maximalizálása (amely szükséges a H.264 és a HEVC használatakor), ez a funkció figyelmen kívül hagyja a CRF-et. VP9 használata esetén a CRF használható, ha a bitráta nincs maximalizálva (azaz ki van kapcsolva).",
"transcoding_video_codec": "Videó kodek",
@@ -441,7 +441,7 @@
"user_successfully_removed": "{email} felhasználó sikeresen eltávolítva.",
"users_page_description": "Admin felhasználók oldala",
"version_check_enabled_description": "Új verziók elérhetőségének ellenőrzése",
"version_check_implications": "Az új verziók ellenőrzése időszakos kommunikációt igényel a github.com oldallal",
"version_check_implications": "Az új verziók ellenőrzése időszakos kommunikációt igényel a {server} oldallal",
"version_check_settings": "Verzió ellenőrzés",
"version_check_settings_description": "Az új verzióról való értesítés be- és kikapcsolása",
"video_conversion_job": "Videók Átkódolása",
@@ -782,6 +782,8 @@
"client_cert_import": "Importálás",
"client_cert_import_success_msg": "Kliens tanúsítvány importálva",
"client_cert_invalid_msg": "Érvénytelen tanúsítvány fájl vagy hibás jelszó",
"client_cert_password_message": "Add meg a tanúsítvány jelszavát",
"client_cert_password_title": "Tanúsítvány jelszó",
"client_cert_remove_msg": "Kliens tanúsítvány eltávolítva",
"client_cert_subtitle": "Csak a PKCS12 (.p12, .pfx) formátum támogatott. Tanúsítvány importálása/eltávolítása csak a bejelentkezés előtt lehetséges",
"client_cert_title": "SSL kliens tanúsítvány [KÍSÉRLETI]",
@@ -792,6 +794,11 @@
"color": "Szín",
"color_theme": "Színtéma",
"command": "Parancs",
"command_palette_prompt": "Gyors keresés oldalak, műveletek és parancsok között",
"command_palette_to_close": "bezárás",
"command_palette_to_navigate": "Belépés",
"command_palette_to_select": "kiválaszt",
"command_palette_to_show_all": "összes megjelenítése",
"comment_deleted": "Megjegyzés törölve",
"comment_options": "Megjegyzés beállítások",
"comments_and_likes": "Megjegyzések és reakciók",
@@ -859,13 +866,14 @@
"crop_aspect_ratio_fixed": "Rögzített",
"crop_aspect_ratio_free": "Tetszőleges",
"crop_aspect_ratio_original": "Eredeti",
"crop_aspect_ratio_square": "Négyzet",
"curated_object_page_title": "Dolgok",
"current_device": "Ez az eszköz",
"current_pin_code": "Aktuális PIN kód",
"current_server_address": "Jelenlegi szerver cím",
"custom_date": "Egyéni dátum",
"custom_locale": "Egyéni területi beállítás",
"custom_locale_description": "Dátumok és számok formázása a nyelv és terület szerint",
"custom_locale_description": "Dátumok, idők és számok formázása a kiválasztott nyelv és a terület szerint",
"custom_url": "Egyéni URL",
"cutoff_date_description": "Fotók megtartása az elmúlt…",
"cutoff_day": "{count, plural, one {nap} other {nap}}",
@@ -873,7 +881,7 @@
"daily_title_text_date": "MMM dd (E)",
"daily_title_text_date_year": "yyyy MMM dd (E)",
"dark": "Sötét",
"dark_theme": "Sötét téma kapcsolása",
"dark_theme": "Sötét témára váltás",
"date": "Dátum",
"date_after": "Dátumtól",
"date_and_time": "Dátum és idő",
@@ -884,12 +892,8 @@
"day": "Nap",
"days": "Napok",
"deduplicate_all": "Összes deduplikálása",
"deduplication_criteria_1": "Kép mérete bájtokban",
"deduplication_criteria_2": "EXIF adatok mennyisége",
"deduplication_info": "Deduplikációs infó",
"deduplication_info_description": "Az automatikus előválogatáshoz és a duplikátumok tömeges eltávolításához a következőket vizsgáljuk:",
"default_locale": "Alapértelmezett területi beállítás",
"default_locale_description": "Dátumok és számok formázása a böngésződ területi beállítása alapján",
"default_locale": "Alapértelmezett nyelvi beállítás",
"default_locale_description": "A dátumok és számok formázása a böngésző nyelvi beállításai alapján",
"delete": "Törlés",
"delete_action_confirmation_message": "Biztosan törölni szeretnéd ezt az elemet? Így az elem a szerver lomtárába kerül, és megkérdezi, hogy törölni szeretnéd-e a az eszközön is",
"delete_action_prompt": "{count} törölve",
@@ -965,7 +969,7 @@
"downloading_media": "Média letöltése",
"drop_files_to_upload": "A feltöltéshez húzd bárhova a fájlokat",
"duplicates": "Duplikátumok",
"duplicates_description": "Jelöld meg a duplikátumokat (ha léteznek) a csoportokban",
"duplicates_description": "Jelöld meg a duplikátumokat (ha léteznek) a csoportokban.",
"duration": "Időtartam",
"edit": "Szerkesztés",
"edit_album": "Album módosítása",
@@ -995,8 +999,15 @@
"editor_close_without_save_prompt": "A változtatások nem lesznek elmentve",
"editor_close_without_save_title": "Szerkesztő bezárása?",
"editor_confirm_reset_all_changes": "Biztosan vissza szeretnéd állítani az összes módosítást?",
"editor_discard_edits_confirm": "Módosítások elvetése",
"editor_discard_edits_prompt": "A módosításokat nem mentetted. Biztos vagy benne, hogy mindet elveted?",
"editor_discard_edits_title": "Elveted a módosításokat?",
"editor_edits_applied_error": "Sikertelen módosítás",
"editor_edits_applied_success": "Sikeres módosítás",
"editor_flip_horizontal": "Vízszintes tükrözés",
"editor_flip_vertical": "Függőleges tükrözés",
"editor_handle_corner": "{corner, select, top_left {Bal fent} top_right {Jobb fent} bottom_left {Bal lent} bottom_right {Jobb lent} other {A}} corner handle",
"editor_handle_edge": "{edge, select, top {Fent} bottom {Lent} left {Bal} right {Jobb} other {An}} edge handle",
"editor_orientation": "Orientáció",
"editor_reset_all_changes": "Módosítások visszaállítása",
"editor_rotate_left": "Forgatás balra 90°-kal",
@@ -1062,6 +1073,7 @@
"failed_to_update_notification_status": "Értesítés státusz frissítése sikertelen",
"incorrect_email_or_password": "Helytelen email vagy jelszó",
"library_folder_already_exists": "Az import mappa elérési útja már létezik.",
"page_not_found": "Oldal nem található",
"paths_validation_failed": "A(z) {paths, plural, one {# elérési útvonal} other {# elérési útvonal}} érvényesítése sikertelen",
"profile_picture_transparent_pixels": "Profilképek nem tartalmazhatnak átlátszó pixeleket. Közelíts rá és/vagy mozgasd a képet.",
"quota_higher_than_disk_size": "Az elérhető lemezméretnél nagyobb kvótát állítottál be",
@@ -1161,6 +1173,7 @@
"exif_bottom_sheet_people": "EMBEREK",
"exif_bottom_sheet_person_add_person": "Elnevez",
"exit_slideshow": "Kilépés a diavetítésből",
"expand": "Kinyit",
"expand_all": "Összes kinyitása",
"experimental_settings_new_asset_list_subtitle": "Fejlesztés alatt",
"experimental_settings_new_asset_list_title": "Kisérleti képrács engedélyezése",
@@ -1196,6 +1209,8 @@
"features_in_development": "Folyamatban lévő fejlesztések",
"features_setting_description": "Az alkalmazás jellemzőinek kezelése",
"file_name_or_extension": "Fájlnév vagy kiterjesztés",
"file_name_text": "Fájl neve",
"file_name_with_value": "Fájlnév:{file_name}",
"file_size": "Fájlméret",
"filename": "Fájlnév",
"filetype": "Fájltípus",
@@ -1203,6 +1218,7 @@
"filter_description": "Az elemek szűrési feltételei",
"filter_people": "Személyek szűrése",
"filter_places": "Helyszínek szűrése",
"filter_tags": "címkék szűrése",
"filters": "Szűrők",
"find_them_fast": "Név alapján kereséssel gyorsan megtalálhatóak",
"first": "Első",
@@ -1370,9 +1386,11 @@
"library_page_sort_title": "Album címe",
"licenses": "Licencek",
"light": "Világos",
"light_theme": "Világos témára váltás",
"like": "Tetszik",
"like_deleted": "Reakció törölve",
"link_motion_video": "Motion videó hozzárendelése",
"link_to_docs": "További információért nézd meg a <link>dokumentációt</link>.",
"link_to_oauth": "Csatlakoztatás OAuth-hoz",
"linked_oauth_account": "Csatlakoztatott OAuth fiók",
"list": "Lista",
@@ -1633,6 +1651,8 @@
"online": "Online (elérhető)",
"only_favorites": "Csak kedvencek",
"open": "Nyitva",
"open_calendar": "Naptár megnyitása",
"open_in_browser": "Megnyitás böngészőben",
"open_in_map_view": "Megnyitás térkép nézetben",
"open_in_openstreetmap": "Megnyitás OpenStreetMap-ben",
"open_the_search_filters": "Keresési szűrők megnyitása",
@@ -1770,7 +1790,7 @@
"purchase_individual_description_1": "Egy magánszemélynek",
"purchase_individual_description_2": "Támogató állapot",
"purchase_individual_title": "Magánszemély",
"purchase_input_suggestion": "Van egy termékkulcsod? Add meg a kulcsot alább",
"purchase_input_suggestion": "Van már termékkulcsod? Add meg itt",
"purchase_license_subtitle": "Az Immich megvásárlásával támogasd a szolgáltatás folyamatos fejlesztését",
"purchase_lifetime_description": "Élettartamra szóló vásárlás",
"purchase_option_title": "VÁSÁRLÁSI LEHETŐSÉGEK",
@@ -1792,9 +1812,8 @@
"rate_asset": "Elem értékelése",
"rating": "Értékelés csillagokkal",
"rating_clear": "Értékelés törlése",
"rating_count": "{count, plural, one {# csillag} other {# csillag}}",
"rating_count": "{count, plural, =0 {Nem értékelt} one {# csillag} other {# csillag}}",
"rating_description": "Exif értékelés megjelenítése az infópanelen",
"rating_set": "Értékelés beállítva: {rating, plural, one {# csillag} other {# csillag}}",
"reaction_options": "Reakció lehetőségek",
"read_changelog": "Változásnapló elolvasása",
"readonly_mode_disabled": "Csak olvasható mód kikapcsolva",
@@ -1866,7 +1885,10 @@
"reset_pin_code_success": "PIN kód sikeresen visszaállítva",
"reset_pin_code_with_password": "A PIN kódod mindig visszaállíthatod a jelszavaddal",
"reset_sqlite": "SQLite adatbázis visszaállítása",
"reset_sqlite_confirmation": "Biztosan vissza szeretnéd állítani az SQLite adatbázist? Az adatok újraszinkronizálásához ki kell jelentkezed, majd újra be kell lépned",
"reset_sqlite_clear_app_data": "Adat kiürítés",
"reset_sqlite_confirmation": "Biztos benne, hogy törölni szeretné az alkalmazásadatokat? Ez törli az összes beállítást, és kijelentkezteti önt.",
"reset_sqlite_confirmation_note": "Megjegyzés: A kiürítés után újra kell indítani az alkalmazást.",
"reset_sqlite_done": "Az alkalmazásadatokat töröltük. Indítsd újra Immich-et és jelentkezz be újra.",
"reset_sqlite_success": "SQLite adatbázis sikeresen visszaállítva",
"reset_to_default": "Visszaállítás alapállapotba",
"resolution": "Felbontás",
@@ -1894,6 +1916,7 @@
"saved_settings": "Elmentett beállítások",
"say_something": "Szólj hozzá",
"scaffold_body_error_occurred": "Hiba történt",
"scaffold_body_error_unrecoverable": "Visszafordíthatatlan hiba történt. Kérlek oszd meg a hiba és nyomkövetés üzeneteket Discordon vagy a GitHubon, hogy segíthessünk. Ha szükséges törölheted az alkalmazás adatait alul.",
"scan": "Átfésül",
"scan_all_libraries": "Minden képtár átfésülése",
"scan_library": "Beolvasás",
@@ -1929,6 +1952,7 @@
"search_filter_ocr": "Keresés szövegfelismeréssel (OCR)",
"search_filter_people_title": "Válassz embereket",
"search_filter_star_rating": "Értékelés",
"search_filter_tags_title": "Válasszon címkéket",
"search_for": "Keresés",
"search_for_existing_person": "Már meglévő személy keresése",
"search_no_more_result": "Nincs több találat",
@@ -2008,6 +2032,9 @@
"set_profile_picture": "Profilkép beállítása",
"set_slideshow_to_fullscreen": "Diavetítés teljes képernyőre állítása",
"set_stack_primary_asset": "Beállítás elsődleges elemként",
"setting_image_navigation_enable_subtitle": "Ha engedélyezett, akkor navigálhat az előző/következő képhez a képernyő bal/jobb széllének érintésével.",
"setting_image_navigation_enable_title": "Koppints a navigációhoz",
"setting_image_navigation_title": "Kép navigáció",
"setting_image_viewer_help": "Az Elem Megjelenítő először a kis bélyegképet tölti be, aztán a közepes méretű előnézetet (ha elérhető), végül az eredetit (ha elérhető).",
"setting_image_viewer_original_subtitle": "Engedélyezi az eredeti teljes felbontású kép betöltését (nagy!). Kikapcsolva csökkenti az adathasználatot (a neten és az eszköz gyorsítótárán is).",
"setting_image_viewer_original_title": "Eredeti kép betöltése",
@@ -2174,6 +2201,7 @@
"support": "Támogatás",
"support_and_feedback": "Támogatás és visszajelzés",
"support_third_party_description": "Az Immich telepítésedet egy harmadik fél csomagolta. Mivel elképzelhető, hogy az esetlegesen felmerülő problémákat ez a csomag okozza, ezért kérjük, először velük közöld a problémákat az alábbi linkek segítségével.",
"supporter": "Támogató",
"swap_merge_direction": "Egyesítés irányának megfordítása",
"sync": "Szinkronizálás",
"sync_albums": "Albumok szinkronizálása",
@@ -2187,7 +2215,7 @@
"tag_assets": "Elemek címkézése",
"tag_created": "Létrehozott címke: {tag}",
"tag_feature_description": "Fényképek és videók böngészése a címkék témája szerint csoportosítva",
"tag_not_found_question": "Nem találod a címkét? Hozz létre egy <link>új címkét</link>",
"tag_not_found_question": "Nem találod a címkét? <link>Hozz létre egy újat.</link>",
"tag_people": "Emberek címkézése",
"tag_updated": "Frissített címke: {tag}",
"tagged_assets": "{count, plural, one {# elem} other {# elem}} felcímkézve",
@@ -2285,6 +2313,7 @@
"unstack_action_prompt": "{count} egymásra helyezés megszüntetése",
"unstacked_assets_count": "{count, plural, other {# elemből}} álló csoport szétszedve",
"unsupported_field_type": "Nem támogatott mezőtípus",
"unsupported_file_type": "A fájl {file} nem feltölthető mert a típusa {type} nem támogatott.",
"untagged": "Címke eltávolítva",
"untitled_workflow": "Névtelen folyamat",
"up_next": "Következik",
@@ -2311,6 +2340,8 @@
"url": "URL",
"usage": "Használat",
"use_biometric": "Biometrikus azonosítás használata",
"use_browser_locale": "Böngésző helyének használata",
"use_browser_locale_description": "Dátumok, idők és számok meghatározása a böngésző helye alapján",
"use_current_connection": "Jelenlegi kapcsolat használata",
"use_custom_date_range": "Szabadon megadott időintervallum használata",
"user": "Felhasználó",
@@ -2364,6 +2395,7 @@
"viewer_remove_from_stack": "Eltávolítás a csoportból",
"viewer_stack_use_as_main_asset": "Fő elemnek beállítás",
"viewer_unstack": "Csoport megszüntetése",
"visibility": "Láthatóság",
"visibility_changed": "{count, plural, other {# személy}} láthatósága megváltozott",
"visual": "Vizuális",
"visual_builder": "Vizuális összerakó",

File diff suppressed because it is too large Load Diff

View File

@@ -421,7 +421,7 @@
"user_successfully_removed": "Notandi {email} hefur verið fjarlægður.",
"users_page_description": "Síða stjórnunarnotanda",
"version_check_enabled_description": "Virkja athugun á útgáfu",
"version_check_implications": "Þessi athugun hefur lotubundin samskipti við github.com",
"version_check_implications": "Þessi athugun hefur lotubundin samskipti við {server}",
"version_check_settings": "Athugun útgáfu",
"version_check_settings_description": "Af-/virkja meldingu um nýja útgáfu",
"video_conversion_job": "Umkóða myndbönd",

View File

@@ -61,7 +61,7 @@
"backup_onboarding_1_description": "copia offsite nel cloud o in un'altra sede fisica.",
"backup_onboarding_2_description": "copie locali su diversi dispositivi. Ciò include i file principali e un backup di tali file a livello locale.",
"backup_onboarding_3_description": "copie totali dei tuoi dati, compresi i file originali. Ciò include 1 copia offsite e 2 copie locali.",
"backup_onboarding_description": "Per proteggere i tuoi dati, è consigliato adottare una strategia di backup <backblaze-link>3-2-1</backblaze-link>. Per una soluzione di backup completa, è consigliato conservare copie delle foto/video caricati e del database Immich.",
"backup_onboarding_description": "Per proteggere i dati, è raccomandata una <backblaze-link>strategia di backup 3-2-1</backblaze-link> . Per una soluzione di backup completa, è consigliabile conservare copia delle foto/video caricati e del database Immich.",
"backup_onboarding_footer": "Per ulteriori informazioni sul backup di Immich, consulta la <link>documentazione</link>.",
"backup_onboarding_parts_title": "Un backup 3-2-1 include:",
"backup_onboarding_title": "Backup",
@@ -104,7 +104,7 @@
"image_preview_description": "Immagine a media dimensione senza metadati, utilizzata durante la visualizzazione di una singola risorsa e per il machine learning",
"image_preview_quality_description": "Qualità dell'anteprima da 1 a 100. Più alto è meglio ma produce file più pesanti e può ridurre la reattività dell'app. Impostare un valore basso può influenzare negativamente la qualità del machine learning.",
"image_preview_title": "Impostazioni dell'anteprima",
"image_progressive": "Progressiva",
"image_progressive": "Progressivo",
"image_progressive_description": "Codifica progressivamente le immagini JPEG per mostrarle con un caricamento graduale. Questo non ha effetto sulle immagini WebP.",
"image_quality": "Qualità",
"image_resolution": "Risoluzione",
@@ -351,7 +351,7 @@
"template_settings": "Templates Notifiche",
"template_settings_description": "Gestisci i modelli personalizzati per le notifiche",
"theme_custom_css_settings": "CSS Personalizzato",
"theme_custom_css_settings_description": "I Cascading Style Sheets (CSS) permettono di personalizzare l'interfaccia di Immich.",
"theme_custom_css_settings_description": "I fogli di stile CSS consentono di personalizzare il design di Immich.",
"theme_settings": "Impostazioni Tema",
"theme_settings_description": "Gestisci la personalizzazione dell'interfaccia web di Immich",
"thumbnail_generation_job": "Genera Anteprime",
@@ -372,7 +372,7 @@
"transcoding_audio_codec": "Codifica Audio",
"transcoding_audio_codec_description": "Opus è l'opzione con la qualità più alta, ma è meno compatibile con dispositivi o software vecchi.",
"transcoding_bitrate_description": "Video con bitrate superiore al massimo o in formato non accettato",
"transcoding_codecs_learn_more": "Per saperne di più sulla terminologia utilizzata, fai riferimento alla documentazione di FFmpeg su <h264-link>codec H.264</h264-link>, <hevc-link>codec HEVC</hevc-link> e <vp9-link>codec VP9</vp9-link>.",
"transcoding_codecs_learn_more": "Per maggiori informazioni sulla terminologia qui utilizzata, fare riferimento alla documentazione di FFmpeg per <h264-link>codec H.264</h264-link>, <hevc-link>codec HEVC</hevc-link> e <vp9-link>codec VP9</vp9-link>.",
"transcoding_constant_quality_mode": "Modalità qualità costante",
"transcoding_constant_quality_mode_description": "iCQ è migliore di CQP, però alcuni dispositivi di accelerazione hardware non supportano questa modalità. Impostando questa opzione l'applicazione preferirà il modo specificato quando è in uso la codifica quality-based. Ignorato da NVENC perché non supporta ICQ.",
"transcoding_constant_rate_factor": "Fattore di rateo costante (-crf)",
@@ -395,7 +395,7 @@
"transcoding_policy_description": "Imposta quando un video sarà transcodificato",
"transcoding_preferred_hardware_device": "Dispositivo hardware preferito",
"transcoding_preferred_hardware_device_description": "Si applica solo a VAAPI e QSV. Imposta il nodo DRI utilizzato per la transcodifica hardware.",
"transcoding_preset_preset": "Preset (-preset)",
"transcoding_preset_preset": "Preimpostazione (-preset)",
"transcoding_preset_preset_description": "Velocità di compressione. Preset più lenti producono file più piccoli e aumentano la qualità quando viene impostato un certo bitrate. VP9 ignora velocità superiori a `faster`.",
"transcoding_reference_frames": "Frame di riferimento",
"transcoding_reference_frames_description": "Il numero di frame da prendere in considerazione nel comprimere un determinato frame. Valori più alti migliorano l'efficienza di compressione, ma rallentano la codifica. 0 imposta questo valore automaticamente.",
@@ -411,7 +411,7 @@
"transcoding_tone_mapping": "Mappatura della tonalità",
"transcoding_tone_mapping_description": "Tenta di preservare l'aspetto dei video HDR quando convertiti in SDR. Ciascun algoritmo fa diversi compromessi per colore, dettaglio e luminosità. Hable conserva il dettaglio, Mobius conserva il colore e Reinhard conserva la luminosità.",
"transcoding_transcode_policy": "Politica di transcodifica",
"transcoding_transcode_policy_description": "Politica che determina quando un video deve essere transcodificato. I video HDR verranno sempre transcodificati (eccetto quando la transcodifica è disabilitata).",
"transcoding_transcode_policy_description": "Regola che determina se un video deve essere transcodificato. I video HDR e quelli che hanno un formato pixel diverso da YUV 4:2:0, saranno sempre transcodificati (sempre che la transcodifica sia abilitata).",
"transcoding_two_pass_encoding": "Codifica a due passaggi",
"transcoding_two_pass_encoding_setting_description": "Transcodifica in due passaggi per produrre video codificati migliori. Quando il bitrate massimo è abilitato (necessario affinché funzioni con H.264 e HEVC), questa modalità utilizza un intervallo di bitrate basato sul bitrate massimo e ignora CRF. Per VP9, CRF può essere utilizzato se il bitrate massimo è disabilitato.",
"transcoding_video_codec": "Codec video",
@@ -441,7 +441,7 @@
"user_successfully_removed": "L'utente {email} è stato rimosso con successo.",
"users_page_description": "Pagina utenti (admin)",
"version_check_enabled_description": "Abilita controllo della versione",
"version_check_implications": "La funzione di controllo della versione fa uso di una comunicazione periodica con github.com",
"version_check_implications": "La funzione di controllo della versione fa uso di una comunicazione periodica con {server}",
"version_check_settings": "Controllo Versione",
"version_check_settings_description": "Abilita/disabilita la notifica per nuove versioni",
"video_conversion_job": "Transcodifica video",
@@ -526,7 +526,7 @@
"allowed": "Consentito",
"alt_text_qr_code": "Immagine QR",
"always_keep": "Mantieni sempre",
"always_keep_photos_hint": "Libera Spazio mantiene tutte le foto su questo dispositivo.",
"always_keep_photos_hint": "Liberare spazio manterrà tutte le foto su questo dispositivo.",
"always_keep_videos_hint": "Libera Spazio mantiene tutti i video su questo dispositivo.",
"anti_clockwise": "Senso anti-orario",
"api_key": "Chiave API",
@@ -539,7 +539,7 @@
"app_bar_signout_dialog_title": "Disconnetti",
"app_download_links": "Link per il download dell'app",
"app_settings": "Impostazioni Applicazione",
"app_stores": "App Stores",
"app_stores": "App Store",
"app_update_available": "Aggiornamento App disponibile",
"appears_in": "Compare in",
"apply_count": "Applica ({count, number})",
@@ -849,9 +849,12 @@
"create_link_to_share": "Crea link da condividere",
"create_link_to_share_description": "Permetti a chiunque con il link di vedere le foto selezionate",
"create_new": "CREA NUOVO",
"create_new_face": "Crea nuova faccia",
"create_new_person": "Crea nuova persona",
"create_new_person_hint": "Assegna le risorse selezionate a una nuova persona",
"create_new_user": "Crea nuovo utente",
"create_person": "Crea persona",
"create_person_subtitle": "Aggiungi un nome alla faccia selezionata per creare e taggare la nuova persona",
"create_shared_album_page_share_add_assets": "AGGIUNGI RISORSE",
"create_shared_album_page_share_select_photos": "Seleziona foto",
"create_shared_link": "Crea link condiviso",
@@ -866,13 +869,14 @@
"crop_aspect_ratio_fixed": "Fisso",
"crop_aspect_ratio_free": "Libero",
"crop_aspect_ratio_original": "Originale",
"crop_aspect_ratio_square": "Quadrato",
"curated_object_page_title": "Oggetti",
"current_device": "Dispositivo attuale",
"current_pin_code": "Attuale codice PIN",
"current_server_address": "Indirizzo del server in uso",
"custom_date": "Data specifica",
"custom_locale": "Localizzazione personalizzata",
"custom_locale_description": "Formatta data e numeri in base alla lingua e al paese",
"custom_locale_description": "Formatta date e numeri in base alla lingua e al paese selezionati",
"custom_url": "URL personalizzato",
"cutoff_date_description": "Mantieni le foto fino al…",
"cutoff_day": "{count, plural, one {giorno} other {giorni}}",
@@ -891,12 +895,8 @@
"day": "Giorno",
"days": "Giorni",
"deduplicate_all": "Elimina tutti i doppioni",
"deduplication_criteria_1": "Dimensione immagine in bytes",
"deduplication_criteria_2": "Numero di dati EXIF",
"deduplication_info": "Informazioni di deduplicazione",
"deduplication_info_description": "Per preselezionare automaticamente le risorse e rimuovere i duplicati in massa, verifichiamo:",
"default_locale": "Localizzazione preimpostata",
"default_locale_description": "Formatta la data e i numeri in base alle impostazioni del tuo browser",
"default_locale": "Predefinito Locale",
"default_locale_description": "Formatta le date e i numeri sulla base del tuo browser locale",
"delete": "Elimina",
"delete_action_confirmation_message": "Vuoi davvero eliminare questa risorsa? Questa azione sposterà la risorsa nel cestino del server e ti chiederà se desideri eliminarla dal dispositivo",
"delete_action_prompt": "{count} elementi eliminati",
@@ -972,7 +972,7 @@
"downloading_media": "Scaricamento file multimediali",
"drop_files_to_upload": "Rilascia i file ovunque per caricarli",
"duplicates": "Duplicati",
"duplicates_description": "Risolvi ciascun gruppo indicando quali sono, se esistono, i duplicati",
"duplicates_description": "Risolvi ciascun gruppo indicando quali sono, se esistono, i duplicati.",
"duration": "Durata",
"edit": "Modifica",
"edit_album": "Modifica album",
@@ -1009,6 +1009,8 @@
"editor_edits_applied_success": "Modifiche applicate con successo",
"editor_flip_horizontal": "Capovolgi in orizzontale",
"editor_flip_vertical": "Capovolgi in verticale",
"editor_handle_corner": "angolo {corner, select, top_left {Alto a sinistra} top_right {Alto a destra} bottom_left {Basso a sinistra} bottom_right {Basso a destra} other {A}}",
"editor_handle_edge": "bordo {edge, select, top {Alto} bottom {Basso} left {Sinistro} right {Destro} other {Altro}}",
"editor_orientation": "Orientamento",
"editor_reset_all_changes": "Annulla modifiche",
"editor_rotate_left": "Ruota di 90° antiorario",
@@ -1074,6 +1076,7 @@
"failed_to_update_notification_status": "Aggiornamento stato notifiche fallito",
"incorrect_email_or_password": "Email o password non corretta",
"library_folder_already_exists": "Questo path di importazione esiste già.",
"page_not_found": "Impossibile trovare la pagina",
"paths_validation_failed": "{paths, plural, one {# percorso} other {# percorsi}} hanno fallito la validazione",
"profile_picture_transparent_pixels": "Le foto profilo non possono avere pixel trasparenti. Riprova ingrandendo e/o muovendo l'immagine.",
"quota_higher_than_disk_size": "Hai impostato un limite più alto della dimensione del disco",
@@ -1218,6 +1221,7 @@
"filter_description": "Condizioni per filtrare le risorse obiettivo",
"filter_people": "Filtra persone",
"filter_places": "Filtra luoghi",
"filter_tags": "Filtra tag",
"filters": "Filtri",
"find_them_fast": "Trovale velocemente con la ricerca",
"first": "Primo",
@@ -1385,9 +1389,11 @@
"library_page_sort_title": "Titolo album",
"licenses": "Licenze",
"light": "Chiaro",
"light_theme": "Cambia a tema chiaro",
"like": "Mi piace",
"like_deleted": "Mi piace rimosso",
"link_motion_video": "Collega video in movimento",
"link_to_docs": "Per maggiori informazioni, riferirsi al <link>documentazione</link>.",
"link_to_oauth": "Collegamento a OAuth",
"linked_oauth_account": "Account OAuth collegato",
"list": "Lista",
@@ -1441,7 +1447,7 @@
"login_password_changed_success": "Password aggiornata con successo",
"logout_all_device_confirmation": "Sei sicuro di volerti disconnettere da tutti i dispositivi?",
"logout_this_device_confirmation": "Sei sicuro di volerti disconnettere da questo dispositivo?",
"logs": "Logs",
"logs": "Registri",
"longitude": "Longitudine",
"look": "Guarda",
"loop_videos": "Riproduci video in loop",
@@ -1649,6 +1655,7 @@
"only_favorites": "Solo preferiti",
"open": "Apri",
"open_calendar": "Apri il calendario",
"open_in_browser": "Apri con il browser",
"open_in_map_view": "Apri nella visualizzazione mappa",
"open_in_openstreetmap": "Apri su OpenStreetMap",
"open_the_search_filters": "Apri filtri di ricerca",
@@ -1808,9 +1815,8 @@
"rate_asset": "Valuta la risorsa",
"rating": "Valutazione a stelle",
"rating_clear": "Azzera valutazione",
"rating_count": "{count, plural, one {# stella} other {# stelle}}",
"rating_count": "{count, plural, =0 {Senza valutazione} one {# star} other {# stars}}",
"rating_description": "Visualizza la valutazione EXIF nel pannello informazioni",
"rating_set": "Valutazione impostata a {rating, plural, one {# stella} other {# stelle}}",
"reaction_options": "Impostazioni Reazioni",
"read_changelog": "Leggi Riepilogo Modifiche",
"readonly_mode_disabled": "Modalità di sola lettura disabilitata",
@@ -1882,7 +1888,10 @@
"reset_pin_code_success": "Codice PIN reimpostato con successo",
"reset_pin_code_with_password": "Puoi sempre reimpostare il codice PIN usando la tua password",
"reset_sqlite": "Resetta Database SQLite",
"reset_sqlite_confirmation": "Vuoi davvero reimpostare il database SQLite? Dovrai disconnetterti e riconnetterti per risincronizzare i dati",
"reset_sqlite_clear_app_data": "Cancella i dati",
"reset_sqlite_confirmation": "Sei sicuro di voler cancellare i dati dell'app? Questa azione rimuoverà tutte le impostazioni e verrai disconnesso.",
"reset_sqlite_confirmation_note": "Nota: dovrai riavviare l'app dopo la pulizia.",
"reset_sqlite_done": "I dati dell'app sono stati cancellati. Si prega di riavviare Immich ed accedere nuovamente.",
"reset_sqlite_success": "Database SQLite reimpostato correttamente",
"reset_to_default": "Ripristina i valori predefiniti",
"resolution": "Risoluzione",
@@ -1910,6 +1919,7 @@
"saved_settings": "Impostazioni salvate",
"say_something": "Dici qualcosa",
"scaffold_body_error_occurred": "Si è verificato un errore",
"scaffold_body_error_unrecoverable": "Si è verificato un errore irreversibile. Condividi l'errore e lo stack trace su Discord o GitHub per consentirci di aiutarti. Se necessario, puoi cancellare i dati dell'app qui sotto.",
"scan": "Scansione",
"scan_all_libraries": "Analizza tutte le librerie",
"scan_library": "Scansione",
@@ -1945,6 +1955,7 @@
"search_filter_ocr": "Cerca tramite OCR",
"search_filter_people_title": "Seleziona persone",
"search_filter_star_rating": "Voto in Stelle",
"search_filter_tags_title": "Seleziona tag",
"search_for": "Cerca per",
"search_for_existing_person": "Cerca per persona esistente",
"search_no_more_result": "Non ci sono altri risultati",
@@ -2024,7 +2035,10 @@
"set_profile_picture": "Imposta foto profilo",
"set_slideshow_to_fullscreen": "Imposta presentazione a schermo intero",
"set_stack_primary_asset": "Imposta come risorsa primaria",
"setting_image_viewer_help": "Il visualizzatore dettagliato carica una piccola thumbnail per prima, per poi caricare un immagine di media grandezza (se abilitato). Ed infine carica l'originale (se abilitato).",
"setting_image_navigation_enable_subtitle": "Se abilitata, puoi passare all'immagine precedente/successiva toccando il quarto di schermo più a sinistra/più a destra.",
"setting_image_navigation_enable_title": "Clicca per navigare",
"setting_image_navigation_title": "Navigazione delle immagini",
"setting_image_viewer_help": "Il visualizzatore dettagliato prima carica una piccola thumbnail , per poi caricare un immagine di media grandezza (se abilitato). Ed infine carica l'originale (se abilitato).",
"setting_image_viewer_original_subtitle": "Abilita il caricamento dellimmagine originale in alta risoluzione (dimensioni elevate). Disattiva per ridurre il consumo di dati, sia di rete che in cache locale.",
"setting_image_viewer_original_title": "Carica l'immagine originale",
"setting_image_viewer_preview_subtitle": "Abilita per caricare un'immagine a risoluzione media. Disabilita per caricare direttamente l'immagine originale o usare la thumbnail.",
@@ -2045,7 +2059,7 @@
"setting_notifications_total_progress_title": "Mostra avanzamento del backup in background",
"setting_video_viewer_auto_play_subtitle": "Avvia automaticamente la riproduzione dei video quando vengono aperti",
"setting_video_viewer_auto_play_title": "Riproduci video automaticamente",
"setting_video_viewer_looping_title": "Looping",
"setting_video_viewer_looping_title": "Iterazione",
"setting_video_viewer_original_video_subtitle": "Quando riproduci un video dal server, riproduci l'originale anche se è disponibile una versione transcodificata. Questo potrebbe portare a buffering. I video disponibili localmente sono sempre riprodotti a qualità originale indipendentemente da questa impostazione.",
"setting_video_viewer_original_video_title": "Forza video originale",
"settings": "Impostazioni",
@@ -2147,7 +2161,7 @@
"size": "Dimensione",
"skip_to_content": "Salta al contenuto",
"skip_to_folders": "Salta alle cartelle",
"skip_to_tags": "Salta alle etichette",
"skip_to_tags": "Salta ai tag",
"slideshow": "Presentazione",
"slideshow_repeat": "Ripeti presentazione",
"slideshow_repeat_description": "Ricomincia da capo quando la presentazione termina",
@@ -2202,7 +2216,8 @@
"sync_upload_album_setting_subtitle": "Crea e carica le tue foto e video sull'album selezionato in Immich",
"tag": "Tag",
"tag_assets": "Tagga risorse",
"tag_created": "Tag creata: {tag}",
"tag_created": "Tag creato: {tag}",
"tag_face": "Tagga la faccia",
"tag_feature_description": "Navigazione foto e video raggruppati per argomenti tag logici",
"tag_not_found_question": "Non riesci a trovare un tag? <link>Creane uno nuovo.</link>",
"tag_people": "Tagga persone",
@@ -2302,6 +2317,7 @@
"unstack_action_prompt": "{count} separati",
"unstacked_assets_count": "{count, plural, one {Separata # risorsa} other {Separate # risorse}}",
"unsupported_field_type": "Tipo di campo non supportato",
"unsupported_file_type": "Il file {file} non può essere caricato perché il tipo di file {type} non è supportato.",
"untagged": "Senza tag",
"untitled_workflow": "Flusso di lavoro senza titolo",
"up_next": "Prossimo",
@@ -2328,6 +2344,8 @@
"url": "URL",
"usage": "Utilizzo",
"use_biometric": "Usa biometrica",
"use_browser_locale": "Utilizza la localizzazione del browser",
"use_browser_locale_description": "Formatta date e numeri in base alla lingua e al paese del browser",
"use_current_connection": "Usa la connessione attuale",
"use_custom_date_range": "Altrimenti utilizza un intervallo date personalizzato",
"user": "Utente",
@@ -2381,6 +2399,7 @@
"viewer_remove_from_stack": "Rimuovi dal gruppo",
"viewer_stack_use_as_main_asset": "Usa come risorsa principale",
"viewer_unstack": "Separa dal gruppo",
"visibility": "Visibilità",
"visibility_changed": "Visibilità modificata per {count, plural, one {# persona} other {# persone}}",
"visual": "Visuale",
"visual_builder": "Costruttore di visuale",

View File

@@ -37,13 +37,13 @@
"add_to_album_bottom_sheet_some_local_assets": "いくつかの項目はまだサーバーへアップロードされていないためアルバムに追加できませんでした",
"add_to_album_toggle": "{album}の選択を切り替え",
"add_to_albums": "アルバムに追加",
"add_to_albums_count": "{count}つのアルバム追加",
"add_to_albums_count": "{count}件をアルバム追加",
"add_to_bottom_bar": "追加する",
"add_to_shared_album": "共有アルバムに追加",
"add_upload_to_stack": "スタックにアップロードを追加",
"add_url": "URLを追加",
"add_workflow_step": "ワークフローのステップを追加",
"added_to_archive": "アーカイブしました",
"added_to_archive": "アーカイブしました",
"added_to_favorites": "お気に入りに追加済",
"added_to_favorites_count": "{count, number} 枚の画像をお気に入りに追加しました",
"admin": {
@@ -52,34 +52,34 @@
"asset_offline_description": "この外部ライブラリのアセットはディスク上に見つからなくなってゴミ箱に移動されました。ファイルがライブラリの中で移動された場合はタイムラインで新しい対応するアセットを確認してください。このアセットを復元するには以下のファイルパスがImmichからアクセスできるか確認してライブラリをスキャンしてください。",
"authentication_settings": "認証設定",
"authentication_settings_description": "認証設定の管理パスワード、OAuth、その他",
"authentication_settings_disable_all": "本当にてのログイン方法を無効にしますか? ログイン完全に無効になります。",
"authentication_settings_reenable": "再有効にするには、<link>サーバーコマンド</link>を使用してください。",
"authentication_settings_disable_all": "本当にすべてのログイン方法を無効にしますか ログイン完全にできなくなります。",
"authentication_settings_reenable": "再有効にするには、<link>サーバーコマンド</link>を使用してください。",
"background_task_job": "バックグラウンドタスク",
"backup_database": "データベースのバックアップを作成",
"backup_database_enable_description": "データベースバックアップの作成を有効にする",
"backup_keep_last_amount": "過去のバックアップの保持数",
"backup_database_enable_description": "データベースバックアップを有効にする",
"backup_keep_last_amount": "バックアップの保持数",
"backup_onboarding_1_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_description": "データ保護には<backblaze-link>3-2-1バックアップ戦略</backblaze-link>の利用を推奨します。写真動画データとImmichデータベースをあわせてバックアップすることで、より安全に保管できます。",
"backup_onboarding_footer": "Immichのバックアップに関する情報は、<link>ドキュメン</link>を確認してください。",
"backup_onboarding_parts_title": "3-2-1バックアップ:",
"backup_onboarding_title": "バックアップ",
"backup_settings": "データベースバックアップ作成の設定",
"backup_settings_description": "データベースのバックアップ作成設定管理 (このジョブはモニタリングされませんし、失敗が発生してもあなたに通知が行くことはありません)",
"backup_settings": "データベースバックアップの設定",
"backup_settings_description": "データベースのバックアップ設定管理",
"cleared_jobs": "{job}のジョブをクリアしました",
"config_set_by_file": "設定は現在 Config File で設定されている",
"confirm_delete_library": "本当に {library} を削除しますか?",
"confirm_delete_library_assets": "本当にこのライブラリを削除しますか? {count, plural, one {#個の項目} other {#個の項目全て}} がImmichから削除され、元に戻すことはできません。ファイルはディスク上に残ります。",
"confirm_email_below": "確認のため、以下に \"{email}\" と入力してください",
"confirm_reprocess_all_faces": "本当にすべての顔を再処理しますか? これにより名前が付けられた人物も消去されます。",
"confirm_reprocess_all_faces": "本当に顔データをすべて再処理しますか?登録済みの人物情報はリセットされます。",
"confirm_user_password_reset": "本当に {user} のパスワードをリセットしますか?",
"confirm_user_pin_code_reset": "{user}のPINコードをリセットしてよいですか?",
"confirm_user_pin_code_reset": "本当に{user}のPINコードをリセットしすか?",
"copy_config_to_clipboard_description": "JSONオブジェクトとして現在のシステムコンフィグをクリップボードにコピーする",
"create_job": "ジョブの作成",
"cron_expression": "Cron",
"cron_expression_description": "cronのフォーマットを使ってスキャン間隔を設定します。詳しくは<link>Crontab Guru</link>などを参照してください",
"cron_expression_presets": "Cron式のプリセット",
"cron_expression": "実行スケジュール(Cron",
"cron_expression_description": "cron形式で実行タイミングを設定します。詳しくは <link>Crontab Guru</link> を参照してください",
"cron_expression_presets": "スケジュール(プリセット",
"disable_login": "ログインを無効にする",
"duplicate_detection_job_description": "機械学習を用いて類似画像の検出を行います。(スマートサーチに依存)",
"exclusion_pattern_description": "除外パターンを使用すると、ライブラリをスキャンする際にファイルやフォルダを無視することができます。RAWファイルなど、インポートしたくないファイルを含むフォルダがある場合に便利です。",
@@ -89,7 +89,7 @@
"face_detection_description": "機械学習を使用してアセット内の顔を検出します。動画の場合は、サムネイルのみが対象となります。\"すべて\" はすべてのアセットを(再)処理します。 \"欠落\" はまだ処理されていないアセットをキューに入れます。顔検出の完了後、検出された顔は顔認識のキューへ入れられ、既存または新規の人物にグループ化されます。",
"facial_recognition_job_description": "検出された顔を人物にグループ化します。このステップは顔検出が完了した後に実行されます。 \"すべて\" はすべての顔を(再)クラスタリングし、 \"欠落\" は人物が割り当てられていない顔をキューに入れます。",
"failed_job_command": "ジョブ {job}のコマンド {command}が失敗しました",
"force_delete_user_warning": "警告この操作を行うと、ユーザーとすべてのアセットが直ちに削除されます。これは元に戻せず、ファイルも復元できません。",
"force_delete_user_warning": "警告: この操作を行うと、ユーザーとすべてのアセットが直ちに削除されます。これは元に戻せず、ファイルも復元できません。",
"image_format": "フォーマット",
"image_format_description": "WebPはJPEGよりもファイルサイズが小さいですが、エンコードに時間がかかります。",
"image_fullsize_description": "画像を拡大する時に使われるメタデータを取り除いた原寸大画像",
@@ -126,7 +126,7 @@
"library_created": "作成されたライブラリ:{library}",
"library_deleted": "ライブラリは削除されました",
"library_details": "ライブラリの詳細",
"library_folder_description": "インポートするフォルダを指定してくださいサブフォルダー内を含む画像と動画がスキャンされます",
"library_folder_description": "インポートするフォルダを指定してください。このフォルダ内(サブフォルダを含む)の画像と動画がスキャンされます",
"library_remove_exclusion_pattern_prompt": "この除外パターンを削除してよいですか?",
"library_remove_folder_prompt": "このインポートフォルダを解除しますか?",
"library_scanning": "定期スキャン",
@@ -150,7 +150,7 @@
"machine_learning_availability_checks_timeout": "リクエストタイムアウト",
"machine_learning_availability_checks_timeout_description": "可用性チェックのタイムアウト時間(ミリ秒単位)",
"machine_learning_clip_model": "Clipモデル",
"machine_learning_clip_model_description": "CLIP モデルの名前は<link>こ</link>にリストされています。モデルを変更した場合は、すべてのイメージに対して「スマート検索」ジョブを再実行する必要があります。",
"machine_learning_clip_model_description": "<link>こちら</link>に記載されているCLIPモデルの名称を指定します。モデルを変更した場合は、すべての画像に対して「スマート検索」ジョブを再実行する必要があります。",
"machine_learning_duplicate_detection": "重複検出",
"machine_learning_duplicate_detection_enabled": "重複検出の有効化",
"machine_learning_duplicate_detection_enabled_description": "無効にした場合でも、完全に同一アセットの重複は排除されます。",
@@ -242,7 +242,7 @@
"nightly_tasks_settings": "毎晩行うタスクの設定",
"nightly_tasks_settings_description": "毎晩行うタスクの管理",
"nightly_tasks_start_time_setting": "開始時間",
"nightly_tasks_start_time_setting_description": "このサーバーが毎晩行うタスクを行う時間",
"nightly_tasks_start_time_setting_description": "夜間タスクの実行開始時刻",
"nightly_tasks_sync_quota_usage_setting": "割当容量の同期",
"nightly_tasks_sync_quota_usage_setting_description": "ユーザーの現在のストレージ使用状況に応じて割当容量を更新",
"no_paths_added": "パスが追加されていません",
@@ -272,7 +272,7 @@
"oauth_auto_register": "自動登録",
"oauth_auto_register_description": "OAuthでサインインしたあと、自動的に新規ユーザーを登録する",
"oauth_button_text": "ボタンテキスト",
"oauth_client_secret_description": "OAuthプロバイダーがPKCEサポートていない場合は必要",
"oauth_client_secret_description": "機密クライアント、または公開クライアントでPKCEサポートされていない場合に必須です。",
"oauth_enable_description": "OAuthでログイン",
"oauth_mobile_redirect_uri": "モバイル用リダイレクトURI",
"oauth_mobile_redirect_uri_override": "モバイル用リダイレクトURI上書き",
@@ -311,7 +311,7 @@
"search_jobs": "ジョブを検索…",
"send_welcome_email": "ウェルカム メール を送信します",
"server_external_domain_settings": "外部ドメイン",
"server_external_domain_settings_description": "公開共有リンク用のドメイン http(s):// を含める)",
"server_external_domain_settings_description": "外部リンク用のドメイン",
"server_public_users": "公開ユーザー",
"server_public_users_description": "共有アルバムにユーザーを追加するとすべてのユーザー (名前とメールアドレス) がリスト化されます。無効にするとユーザーリストは管理者のみ利用可能になります。",
"server_settings": "サーバー設定",
@@ -333,7 +333,7 @@
"storage_template_migration_description": "現在の<link>{template}</link>を以前にアップロードされたアセットに適用",
"storage_template_migration_info": "ストレージテンプレートは全ての拡張子を小文字に変換します。テンプレートの変更は新しいアセットにのみ適用されます。 以前にアップロードしたアセットにテンプレートを遡って適用するには、<link>{job}</link> を実行してください。",
"storage_template_migration_job": "ストレージテンプレート移行ジョブ",
"storage_template_more_details": "この機能の詳細については、<template-link>ストレージテンプレート</template-link>その<implications-link>影響</implications-link>を参照してください",
"storage_template_more_details": "この機能の詳細については、<template-link>ストレージテンプレート</template-link>およびその<implications-link>影響事項</implications-link>を参照してください",
"storage_template_onboarding_description_v2": "この設定をオンにすると、ユーザーの定義したテンプレートに従って自動でファイルが整理されます。詳しい情報は<link>ドキュメンテーション</link>で確認してください。",
"storage_template_path_length": "おおよそのパス長の制限: <b>{length, number}</b>/{limit, number}",
"storage_template_settings": "ストレージ テンプレート",
@@ -411,7 +411,7 @@
"transcoding_tone_mapping": "トーンマッピング",
"transcoding_tone_mapping_description": "HDR動画をSDRに変換する際に見た目を維持しようと試みます。各アルゴリズムは、色、詳細、明るさに対して異なるトレードオフを行います。Hableは詳細を維持し、Mobiusは色を維持し、Reinhardは明るさを維持します。",
"transcoding_transcode_policy": "トランスコードポリシー",
"transcoding_transcode_policy_description": "動画トランスコードされるべきかを決めるポリシー。HDR動画は常にトランスコードされます(トランスコードが無効化されている場合を除く)",
"transcoding_transcode_policy_description": "動画トランスコードポリシー。HDR動画、およびYUV 4:2:0以外のピクセルフォーマットの動画は、常にトランスコードされます(トランスコードが無効場合を除く)",
"transcoding_two_pass_encoding": "Two-passエンコード",
"transcoding_two_pass_encoding_setting_description": "二つのパスでトランスコードし、よりよくエンコードされた動画を生成します。最大ビットレートが有効になっている場合(H.264とHEVCが動作するために必要)、このモードは最大ビットレートを基にしたビットレートの範囲を使用し、CRFを無視します。VP9については最大ビットレートの無効時にCRFを使うことができます。",
"transcoding_video_codec": "動画コーデック",
@@ -441,7 +441,7 @@
"user_successfully_removed": "ユーザー {email} は正常に削除されました。",
"users_page_description": "管理者用 ユーザー ページ",
"version_check_enabled_description": "バージョンの確認を有効にする",
"version_check_implications": "このバージョン確認機能は定期的なgithub.comとの通信によります",
"version_check_implications": "このバージョン確認機能は定期的な{server}との通信によります",
"version_check_settings": "バージョンチェック",
"version_check_settings_description": "新しいバージョンの通知を有効/無効にします",
"video_conversion_job": "動画をトランスコード",
@@ -794,6 +794,11 @@
"color": "カラー",
"color_theme": "カラーテーマ",
"command": "コマンド",
"command_palette_prompt": "ページ、アクション、コマンドを素早く検索",
"command_palette_to_close": "閉じる",
"command_palette_to_navigate": "決定",
"command_palette_to_select": "選択",
"command_palette_to_show_all": "すべて表示",
"comment_deleted": "コメントが削除されました",
"comment_options": "コメント設定",
"comments_and_likes": "コメントといいね",
@@ -812,7 +817,7 @@
"connected_device": "接続されたデバイス",
"connected_to": "接続:",
"contain": "収める",
"context": "状況",
"context": "写真の内容",
"continue": "続ける",
"control_bottom_app_bar_create_new_album": "アルバムを作成",
"control_bottom_app_bar_delete_from_immich": "サーバーから削除",
@@ -844,9 +849,12 @@
"create_link_to_share": "共有リンクを作る",
"create_link_to_share_description": "リンクを知っている人全員が選択した写真を閲覧できるようになります",
"create_new": "新規作成",
"create_new_face": "新しい顔を作成",
"create_new_person": "新しい人物を作成",
"create_new_person_hint": "選択した写真/動画を新しい人物として割り当て",
"create_new_user": "新規ユーザーの作成",
"create_person": "人を作成",
"create_person_subtitle": "選択した顔に名前を付けて、新しい人物を登録・タグ付けする",
"create_shared_album_page_share_add_assets": "写真を追加",
"create_shared_album_page_share_select_photos": "写真を選択",
"create_shared_link": "共有リンクを作成",
@@ -861,13 +869,14 @@
"crop_aspect_ratio_fixed": "固定",
"crop_aspect_ratio_free": "自由",
"crop_aspect_ratio_original": "オリジナル",
"crop_aspect_ratio_square": "スクエア",
"curated_object_page_title": "被写体",
"current_device": "現在のデバイス",
"current_pin_code": "現在のPINコード",
"current_server_address": "現在のサーバーURL",
"custom_date": "カスタム日付",
"custom_locale": "カスタムロケール",
"custom_locale_description": "言語と地域に基づいて日付と数値をフォーマットします",
"custom_locale": "言語と地域の手動設定",
"custom_locale_description": "選択した言語と地域の設定に従って、日付・時刻・数値を書式設定します",
"custom_url": "カスタムURL",
"cutoff_date_description": "写真を保持する期間:",
"cutoff_day": "{count, plural, one {(日)} other {(日)}}",
@@ -875,7 +884,7 @@
"daily_title_text_date": "MM DD, EE",
"daily_title_text_date_year": "yyyy MM DD, EE",
"dark": "ダークモード",
"dark_theme": "ダークモード切り替え",
"dark_theme": "ダークモード切り替え",
"date": "日付",
"date_after": "この日以降",
"date_and_time": "日付と時間",
@@ -886,12 +895,8 @@
"day": "ライトモード",
"days": "日",
"deduplicate_all": "全て重複排除",
"deduplication_criteria_1": "バイト単位の画像サイズ",
"deduplication_criteria_2": "EXIFデータ数",
"deduplication_info": "重複排除情報",
"deduplication_info_description": "写真/動画を自動的に選択して重複を一括で削除するには次のようにします:",
"default_locale": "デフォルトのロケール",
"default_locale_description": "ブラウザのロケールに基づいて日付と数値をフォーマットします",
"default_locale": "デフォルトの言語と地域",
"default_locale_description": "ブラウザの言語と地域の設定に基づいて、日付と数値をフォーマットします",
"delete": "削除",
"delete_action_confirmation_message": "この項目を削除しますか?まず、この項目はサーバー上のゴミ箱へ移動されます。その後、あなたのデバイス上から削除するかを決めていただきます",
"delete_action_prompt": "{count}項目を削除しました",
@@ -921,7 +926,7 @@
"delete_user": "ユーザーを削除",
"deleted_shared_link": "共有リンクを削除",
"deletes_missing_assets": "ディスクからなくなったアセットを削除する",
"description": "概要欄",
"description": "説明",
"description_input_hint_text": "説明を追加",
"description_input_submit_error": "説明の編集に失敗しました。詳細はログを確認してください。",
"deselect_all": "すべての選択を解除",
@@ -967,7 +972,7 @@
"downloading_media": "ダウンロード中",
"drop_files_to_upload": "ファイルをドロップしてアップロード",
"duplicates": "重複",
"duplicates_description": "もしあれば、重複しているグループを示すことで解決します",
"duplicates_description": "各グループを確認し、重複している項目を整理してください。",
"duration": "間隔",
"edit": "編集",
"edit_album": "アルバムを編集",
@@ -1004,6 +1009,8 @@
"editor_edits_applied_success": "編集が正常に反映されました",
"editor_flip_horizontal": "水平方向に反転",
"editor_flip_vertical": "垂直に反転",
"editor_handle_corner": "{corner, select, top_left {左上の} top_right {右上の} bottom_left {左下の} bottom_right {右下の} other {}}コーナーハンドル",
"editor_handle_edge": "{edge, select, top {上の} bottom {下の} left {左の} right {右の} other {}} サイドハンドル",
"editor_orientation": "向き",
"editor_reset_all_changes": "変更をリセット",
"editor_rotate_left": "反時計回りに90°回転",
@@ -1069,6 +1076,7 @@
"failed_to_update_notification_status": "通知ステータスの更新に失敗しました",
"incorrect_email_or_password": "メールアドレスまたはパスワードが間違っています",
"library_folder_already_exists": "このインポートパスは既に存在します。",
"page_not_found": "ページが見つかりません",
"paths_validation_failed": "{paths, plural, one {#個} other {#個}}のパスの検証に失敗しました",
"profile_picture_transparent_pixels": "プロフィール写真には透明ピクセルを含めることはできません。画像を拡大/縮小したり移動してください。",
"quota_higher_than_disk_size": "ディスク容量より大きい容量が指定されました",
@@ -1168,6 +1176,7 @@
"exif_bottom_sheet_people": "人物",
"exif_bottom_sheet_person_add_person": "名前を追加",
"exit_slideshow": "スライドショーを終わる",
"expand": "展開",
"expand_all": "全て展開",
"experimental_settings_new_asset_list_subtitle": "製作途中 (WIP)",
"experimental_settings_new_asset_list_title": "試験的なグリッドを有効化",
@@ -1212,6 +1221,7 @@
"filter_description": "対象とするアセットの抽出条件",
"filter_people": "人物を絞り込み",
"filter_places": "場所をフィルター",
"filter_tags": "タグで絞り込む",
"filters": "フィルター",
"find_them_fast": "名前で検索して素早く発見",
"first": "はじめ",
@@ -1320,10 +1330,10 @@
"individual_shares": "1枚ずつの共有",
"info": "情報",
"interval": {
"day_at_onepm": "毎日午後1時",
"day_at_onepm": "毎日 午後1時",
"hours": "{hours, plural, one {1時間} other {{hours, number}時間}}ごと",
"night_at_midnight": "毎晩真夜中に",
"night_at_twoam": "毎午前2時"
"night_at_midnight": "毎日 午前0時",
"night_at_twoam": "毎午前2時"
},
"invalid_date": "日付が無効です",
"invalid_date_format": "日付のフォーマットが無効です",
@@ -1379,9 +1389,11 @@
"library_page_sort_title": "アルバム名",
"licenses": "ライセンス",
"light": "ライトモード",
"light_theme": "ライトテーマに切り替え",
"like": "いいね",
"like_deleted": "いいねが削除されました",
"link_motion_video": "モーションビデオのリンク",
"link_to_docs": "詳細は<link>ドキュメント</link>を参照してください。",
"link_to_oauth": "OAuthへリンクする",
"linked_oauth_account": "リンクされたOAuthアカウント",
"list": "リスト",
@@ -1642,6 +1654,8 @@
"online": "オンライン",
"only_favorites": "お気に入りのみ",
"open": "開く",
"open_calendar": "カレンダーを開く",
"open_in_browser": "ブラウザで開く",
"open_in_map_view": "地図表示で見る",
"open_in_openstreetmap": "OpenStreetMapで開く",
"open_the_search_filters": "検索フィルタを開く",
@@ -1801,9 +1815,8 @@
"rate_asset": "項目を評価する",
"rating": "星での評価",
"rating_clear": "評価を取り消す",
"rating_count": "{count, plural, one {#つ} other {#つ}}",
"rating_count": "{count, plural, =0 {未評価} one {#つ} other {#つ}}",
"rating_description": "情報欄にEXIFの評価を表示",
"rating_set": "お気に入り度 {rating, plural, one {# ツ星} other {# ツ星}}",
"reaction_options": "リアクションの選択",
"read_changelog": "変更履歴を読む",
"readonly_mode_disabled": "読み取り専用モード無効",
@@ -1875,7 +1888,10 @@
"reset_pin_code_success": "正常にPINコードをリセットしました",
"reset_pin_code_with_password": "PINコードはいつでもパスワードを使ってリセットできます",
"reset_sqlite": "SQLiteデータベースをリセット",
"reset_sqlite_confirmation": "SQLiteを本当にリセットしますかデータを再び同期するためにログアウトし再ログインをする必要があります",
"reset_sqlite_clear_app_data": "データを消去",
"reset_sqlite_confirmation": "本当にアプリのデータを消去しますか?すべての設定が削除され、サインアウトされます。",
"reset_sqlite_confirmation_note": "注意: 消去した後はアプリを再起動する必要があります。",
"reset_sqlite_done": "アプリのデータを消去しました。アプリを再起動し、もう一度ログインしてください。",
"reset_sqlite_success": "SQLiteデータベースのリセットに成功しました",
"reset_to_default": "デフォルトにリセット",
"resolution": "解像度",
@@ -1903,6 +1919,7 @@
"saved_settings": "設定を保存しました",
"say_something": "何か書き込みましょう",
"scaffold_body_error_occurred": "エラーが発生しました",
"scaffold_body_error_unrecoverable": "予期しないエラーが発生しました。解決のため、エラー内容とスタックトレースをDiscordまたはGitHubで共有してください。指示があった場合は、以下のボタンからアプリデータを消去できます。",
"scan": "スキャン",
"scan_all_libraries": "全てのライブラリをスキャン",
"scan_library": "スキャン",
@@ -1911,13 +1928,13 @@
"scanning_for_album": "アルバムをスキャン中…",
"search": "検索",
"search_albums": "アルバムを検索",
"search_by_context": "状況で検索",
"search_by_description": "概要で検索",
"search_by_description_example": "サパでハイキングした日",
"search_by_context": "写真の内容で検索",
"search_by_description": "説明で検索",
"search_by_description_example": "京都の桜めぐり",
"search_by_filename": "ファイル名もしくは拡張子で検索",
"search_by_filename_example": "例: IMG_1234.JPG もしくは PNG",
"search_by_ocr": "OCR検索",
"search_by_ocr_example": "お茶",
"search_by_ocr_example": "バス 時刻表",
"search_camera_lens_model": "レンズモデルで検索…",
"search_camera_make": "カメラメーカーを検索…",
"search_camera_model": "カメラのモデルを検索…",
@@ -1938,6 +1955,7 @@
"search_filter_ocr": "OCRで検索",
"search_filter_people_title": "人物を選択",
"search_filter_star_rating": "星評価",
"search_filter_tags_title": "タグを選択",
"search_for": "検索",
"search_for_existing_person": "既存の人物を検索",
"search_no_more_result": "検索結果以上",
@@ -2017,6 +2035,9 @@
"set_profile_picture": "プロフィール画像を設定",
"set_slideshow_to_fullscreen": "スライドショーをフルスクリーンにする",
"set_stack_primary_asset": "メインの写真として設定",
"setting_image_navigation_enable_subtitle": "有効にすると、画面の左端または右端の4分の1のエリアをタップして、前の画像や次の画像へ移動できます。",
"setting_image_navigation_enable_title": "タップ操作で移動",
"setting_image_navigation_title": "画像の操作",
"setting_image_viewer_help": "写真をタップするとサムネイル・中画質・オリジナルの順に読み込みます",
"setting_image_viewer_original_subtitle": "オリジナルの画像を表示したいときにオンにしてください。(最大画質で表示されるので、データと端末のストレージの消費量が増えます)",
"setting_image_viewer_original_title": "オリジナルを読み込む",
@@ -2069,7 +2090,7 @@
"shared_link_clipboard_text": "リンク: {link}\nパスワード: {password}",
"shared_link_create_error": "共有用のリンク作成時にエラーが発生しました",
"shared_link_custom_url_description": "この共有リンクにカスタムURLでアクセス",
"shared_link_edit_description_hint": "概要を追加",
"shared_link_edit_description_hint": "説明を追加",
"shared_link_edit_expire_after_option_day": "1日",
"shared_link_edit_expire_after_option_days": "{count}日",
"shared_link_edit_expire_after_option_hour": "1時間",
@@ -2183,6 +2204,7 @@
"support": "サポート",
"support_and_feedback": "サポートとフィードバック",
"support_third_party_description": "Immichのインストールはサードパーティーによってパッケージ化されています。遭遇した問題はそのパッケージに起因している可能性があるので以下のリンクを使って最初にそのパッケージに問題を提起してください。",
"supporter": "Supporter",
"swap_merge_direction": "統合する方向を入れ替え",
"sync": "同期",
"sync_albums": "アルバムを同期",
@@ -2195,6 +2217,7 @@
"tag": "タグ付けする",
"tag_assets": "写真/動画にタグ付けする",
"tag_created": "タグ: {tag} を作成しました",
"tag_face": "顔をタグ付け",
"tag_feature_description": "意味を持たせたタグトでグループ化して写真と動画を閲覧する",
"tag_not_found_question": "タグが見つかりませんか? <link>こちら</link>からタグを作成できます",
"tag_people": "人物タグ",
@@ -2294,6 +2317,7 @@
"unstack_action_prompt": "{count}項目の重ね合わせを解除",
"unstacked_assets_count": "{count, plural, one {#個} other {#個}}の写真/動画をスタックから解除しました",
"unsupported_field_type": "サポートされていないフィールドタイプ",
"unsupported_file_type": "ファイル形式「{type}」はサポートされていないため、ファイル「{file}」をアップロードできません。",
"untagged": "タグを解除",
"untitled_workflow": "無題のワークフロー",
"up_next": "次へ",
@@ -2320,6 +2344,8 @@
"url": "URL",
"usage": "使用容量",
"use_biometric": "生体認証をご利用ください",
"use_browser_locale": "ブラウザの言語と地域の設定に従う",
"use_browser_locale_description": "ブラウザの言語と地域の設定に従って、日付・時刻・数値を書式設定します",
"use_current_connection": "現在の接続情報を使用",
"use_custom_date_range": "代わりにカスタム日付範囲を使用",
"user": "ユーザー",
@@ -2373,6 +2399,7 @@
"viewer_remove_from_stack": "スタックから外す",
"viewer_stack_use_as_main_asset": "メインの画像として使用する",
"viewer_unstack": "スタックを解除",
"visibility": "表示設定",
"visibility_changed": "{count, plural, one {#人} other {#人}}の人物の非表示設定が変更されました",
"visual": "ビジュアル",
"visual_builder": "ビジュアルビルダー",

Some files were not shown because too many files have changed in this diff Show More