Compare commits

...

168 Commits

Author SHA1 Message Date
Yaros
e67126823d chore: use context.t 2026-07-21 19:54:16 +02:00
Yaros
24e52c6b8d fix: backup delay translation key parsing 2026-07-21 18:49:13 +02:00
Santo Shakil
d5adfb97dd fix(mobile): treat wired ethernet as unmetered on ios (#29351)
check the metered flags instead of the interface type, so ethernet counts like android already does.
2026-07-21 11:02:36 -05:00
Priyanshu
b70cb58bc8 fix(web): improve slideshow controls visibility on bright backgrounds (#29950)
Co-authored-by: priyanshuANDcoad <priyanshu23154050@akgec.ac.in>
2026-07-21 15:58:51 +00:00
Santo Shakil
943bfafb7a fix(mobile): show real error when an asset can't be added to an album (#29754)
* fix(mobile): show real error when an asset can't be added to an album

* fix(mobile): show added toast when an add-to-album partly succeeds

* docs(mobile): explain why a partial add-to-album shows added
2026-07-21 10:56:50 -05:00
Timon
ee4bd3f833 feat: add album asset event handling (#29008)
* feat: add album asset event handling

* fix medium tests

* patch medium test

* collapse in AlbumUpdate
2026-07-21 10:55:46 -05:00
Adam Gastineau
7a7303aceb fix(mobile): properly group download tasks for Live Photos (#29952)
* fix(mobile): properly group download tasks for Live Photos

* Remove completely unused onLivePhotoDownloadStatus

* Remove dead code
2026-07-21 10:45:15 -05:00
Adam Gastineau
0a7c067b20 chore(mobile): bump maplibre to 0.26.2 in SwiftPM lock (#30108) 2026-07-21 10:44:30 -05:00
Luis Nachtigall
c8de56c422 fix(mobile): prevent duplicate album creation during submission (#30003)
* fix: prevent duplicate album creation during submission

* Nit fix

---------

Co-authored-by: Adam Gastineau <adam@agg.im>
2026-07-21 15:31:23 +00:00
shenlong
0e4572c37b chore: pin photo_manager to 3.9.0 (#30091)
Co-authored-by: shenlong-tanwen <139912620+shalong-tanwen@users.noreply.github.com>
2026-07-21 10:06:27 -05:00
Santo Shakil
14a2776453 fix(mobile): add album picker to the partner view bottom sheet (#30099) 2026-07-21 10:05:34 -05:00
renovate[bot]
59bc81423c chore(deps): update github-actions (major) (#30095) 2026-07-21 16:37:38 +02:00
Roberto Carlos Martinez Arriaga
e6fff3b15e feat(web): add maintenance link to command palette (#30016) 2026-07-21 16:27:23 +02:00
renovate[bot]
755df23b22 chore(deps): update ghcr.io/devcontainers/features/docker-in-docker docker tag to v4 (#30094) 2026-07-21 16:05:54 +02:00
Jason Rasmussen
899f547053 fix(web): lens model search (#30088) 2026-07-21 13:54:28 +00:00
Santo Shakil
4938fd4c89 fix(mobile): back up files moved into a watched folder on android (#29872) 2026-07-21 19:09:50 +05:30
Santo Shakil
e81a79224c fix(mobile): stop double close animation when dismissing an asset (#29413) 2026-07-21 19:08:45 +05:30
shenlong
7b0f58b2c1 refactor: gracefully stop during engine startup (#29179)
Co-authored-by: shenlong-tanwen <139912620+shalong-tanwen@users.noreply.github.com>
2026-07-21 19:08:13 +05:30
renovate[bot]
ae8398ffe4 chore(deps): update docker.io/valkey/valkey:9 docker digest to 8e8d64b (#30085) 2026-07-21 15:36:01 +02:00
renovate[bot]
aa08dad1f5 chore(deps): update dependency eslint-plugin-unicorn to v72 (#30092)
Co-authored-by: Daniel Dietzler <mail@ddietzler.dev>
2026-07-21 15:33:46 +02:00
renovate[bot]
ce022233ae chore(deps): update base-image to v202607211135 (#30090) 2026-07-21 13:58:02 +02:00
Rust
1b4d41324e fix(server): file uploads for files with extension only filenames (#30024)
Co-authored-by: Daniel Dietzler <36593685+danieldietzler@users.noreply.github.com>
Co-authored-by: Daniel Dietzler <mail@ddietzler.dev>
2026-07-21 11:57:28 +00:00
renovate[bot]
8365cdd59e chore(deps): update dependency typescript to v7 (#29903)
Co-authored-by: Daniel Dietzler <mail@ddietzler.dev>
2026-07-21 13:36:57 +02:00
Mees Frensel
1cec7021e8 fix(web): space between device type and version (#30102) 2026-07-21 11:08:29 +00:00
renovate[bot]
1b0f473457 fix(deps): update typescript-projects (#30087)
Co-authored-by: Daniel Dietzler <mail@ddietzler.dev>
2026-07-21 11:01:23 +00:00
renovate[bot]
e918658cc1 chore(deps): update ghcr.io/jdx/mise docker tag to v2026.7.11 (#30086) 2026-07-21 12:24:32 +02:00
Nikola Nedevski
2e587fc7e8 feat(docs): add bulgarian readme (#29427)
* Added Bulgarian readme.md

* Updated collaborators link for BG readme collaborators section.
2026-07-21 00:10:08 -04:00
renovate[bot]
df970da59e chore(deps): update dependency eslint-plugin-unicorn to v70 - abandoned (#29684)
* chore(deps): update dependency eslint-plugin-unicorn to v70

* fix: linting

---------

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: Daniel Dietzler <mail@ddietzler.dev>
2026-07-20 23:47:14 -04:00
Rust
8061a2e5ff fix(web): fix Country/State filters when set to Unknown (#30026)
* fix(web): create emptyStringToNull helper func and apply it to country/state search payload generation

* chore: feedback

* fix: other empty string fields

---------

Co-authored-by: Jason Rasmussen <jrasm91@gmail.com>
2026-07-20 21:15:00 -05:00
Daniel Dietzler
77091b0107 fix: search statistics locked folder permissions (#30063)
fix; search statistics locked folder permissions
2026-07-20 20:08:42 -04:00
Daniel Dietzler
4c754f2999 fix: timebuckets locked permissions (#30066) 2026-07-20 20:07:56 -04:00
Timon
6fa3f2feac chore: bump openapi-generator version to v7.24.0 (#30067)
* remove patch in favor of [OpenAPITools/openapi-generator#23930](https://github.com/OpenAPITools/openapi-generator/issues/23930)

partially revert "chore(mobile): make openapi requests abortable (#28692)"

* gen client

* bump openapi-generator version to v7.24.0

* gen client

* enum migration changes

* drop enum exhaustion switch check
2026-07-20 20:06:23 -04:00
Adam Gastineau
3f6897ef80 chore(mobile): enable Xcode displaying issues from Flutter inline (#30080) 2026-07-20 14:16:12 -05:00
Matthias Keim
89d0a9d59f fix(web): attach file picker input to DOM so iOS Safari fires change … (#29660)
Co-authored-by: Daniel Dietzler <mail@ddietzler.dev>
2026-07-20 19:03:42 +00:00
Adam Gastineau
45a6ea84af fix(mobile): prevent crash on video widget dispose (#30078) 2026-07-20 19:00:37 +00:00
shenlong
bf64f3867b fix: do not show the whats new page on fresh login (#30072)
* fix: do not show the whats new page on fresh login

* review suggestion

---------

Co-authored-by: shenlong-tanwen <139912620+shalong-tanwen@users.noreply.github.com>
2026-07-20 12:24:01 -05:00
Priyanshu
4a4d468aa2 fix(web): refresh folder view after asset deletion (#29899) 2026-07-20 18:20:52 +02:00
Priyanshu
522def1ed6 fix(web): align ContextMenu z-index with design-system token (#30015)
Co-authored-by: priyanshuANDcoad <priyanshu23154050@akgec.ac.in>
Co-authored-by: Daniel Dietzler <mail@ddietzler.dev>
2026-07-20 13:54:59 +00:00
Timon
3adc3920fb chore: bump openapi-generator version to v7.23.0 (#28916) 2026-07-20 15:06:51 +02:00
Matthew Momjian
00cb50cc67 fix(docs): remove ref to synology channel (#30051)
synology channel
2026-07-19 21:22:17 -05:00
Alex
f2b0b696f6 fix: long press share quality override preference settings (#30030) 2026-07-18 12:07:18 -05:00
Luis Nachtigall
b5401eb120 fix(mobile): update album creation to use user-defined name from dialog (#30002)
fix: update album creation to use user-defined name from dialog
2026-07-17 23:45:20 +05:30
Ben Beckford
12fc8bac18 feat: workflow filter assets by upload path (#30000)
Co-authored-by: Daniel Dietzler <36593685+danieldietzler@users.noreply.github.com>
2026-07-17 09:46:48 +00:00
Ben Beckford
f2c00c107d fix(server): return workflow steps in ascending order (#29999) 2026-07-17 11:30:40 +02:00
shenlong
f19f30ec66 fix: reset override for kebab buttons (#29380)
Co-authored-by: shenlong-tanwen <139912620+shalong-tanwen@users.noreply.github.com>
2026-07-17 01:19:55 +05:30
shenlong
297316c7b8 refactor: owned action assets filter (#29382)
Co-authored-by: shenlong-tanwen <139912620+shalong-tanwen@users.noreply.github.com>
2026-07-16 19:49:30 +00:00
renovate[bot]
f18065b3c2 chore(deps): update dependency @types/node to ^24.13.3 (#29892) 2026-07-16 20:31:45 +02:00
renovate[bot]
a3dd19cd2f fix(deps): update typescript-projects (#29633)
Co-authored-by: Daniel Dietzler <mail@ddietzler.dev>
2026-07-16 20:14:05 +02:00
shenlong
9cea3f2375 chore: pump drift (#29113)
* chore: pump drift

* run codegen

---------

Co-authored-by: shenlong-tanwen <139912620+shalong-tanwen@users.noreply.github.com>
2026-07-16 17:32:30 +00:00
shenlong
507448d797 chore: pump home_widget (#29981)
Co-authored-by: shenlong-tanwen <139912620+shalong-tanwen@users.noreply.github.com>
2026-07-16 21:58:11 +05:30
Yaros
fe3eb7d865 feat(web): undo archive from toast (#27061)
Co-authored-by: Daniel Dietzler <36593685+danieldietzler@users.noreply.github.com>
2026-07-16 17:53:02 +02:00
Adam Gastineau
90dc328c22 chore(mobile): update maplibre_gl to 0.26.2 (#29772) 2026-07-16 07:47:48 -07:00
shenlong
a5623c41ec chore: pump flutter to 3.44.6 (#29886)
Co-authored-by: shenlong-tanwen <139912620+shalong-tanwen@users.noreply.github.com>
2026-07-16 20:17:03 +05:30
Adam Gastineau
3a016f4451 chore(mobile): drop support for iOS 14 (#29780)
chore(mobile): drop support for iOS 14 in advance of iOS and Xcode 27
2026-07-16 07:45:22 -07:00
Adam Gastineau
0af8284456 chore(mobile): expose signing and bundle identities through envvars and config (#29077)
* chore(mobile): expose signing and bundle identities through envvars and config

* Move instructions to now shared docs/developer/setup.md
2026-07-16 07:44:50 -07:00
renovate[bot]
ad7a9bd189 chore(deps): update prom/prometheus docker digest to 3c42b89 (#29667) 2026-07-16 14:01:41 +02:00
Ryan Rockey
80cdfebbc7 fix: zero byte image uploads (#29426) 2026-07-16 13:00:07 +02:00
Diogo Correia
c50a807bc1 feat(web): add wake lock when uploading assets (#29820) 2026-07-16 12:41:37 +02:00
bo0tzz
26e07548a7 chore: add GHSA as contact in security.txt (#29940) 2026-07-16 12:30:44 +02:00
cevdet
f73c53c563 chore(seo): remove redundant twitter metadata tags (#29801) 2026-07-16 12:29:38 +02:00
Mert
d2744f52b1 fix(server): disable heif security limit (#29954)
disable security limit
2026-07-16 04:40:33 -05:00
Yuxin Wang
d8ed7d7bb9 feat(cli): Add --visibility flag to immich CLI upload subcommand (#29614) 2026-07-15 14:11:03 -05:00
renovate[bot]
834cc54abc chore(deps): update ghcr.io/jdx/mise docker tag to v2026.7.7 (#29893) 2026-07-15 18:45:35 +00:00
Daniel Dietzler
eda605c534 fix(web): clear birth date (#29959) 2026-07-15 18:32:53 +00:00
Daniel Dietzler
b75e6520bb chore: mobile code checks for i18n changes (#29958) 2026-07-15 20:20:42 +02:00
Timon
4c2d2284aa refactor(server): album user route params (#29503) 2026-07-15 18:15:41 +00:00
Daniel Dietzler
5d29f3edc1 fix: mobile translations (#29955) 2026-07-15 18:02:29 +00:00
Mees Frensel
e00dcf7850 fix(web): URI encode slug and reduce confusion for users (#29796)
Co-authored-by: bwees <brandonwees@gmail.com>
2026-07-15 19:32:05 +02:00
Andreas Heinz
e7f773197f fix(server/workflow): add trigger for external libraries AssetCreate (#29597) 2026-07-15 19:30:33 +02:00
bo0tzz
2237078bd5 chore: bump create-workflow-token action to v3 (#29571) 2026-07-15 14:33:23 +02:00
Jorge Montejo
55dc579059 feat(web): Keep show more open on duplicates (#29734)
Co-authored-by: Daniel Dietzler <mail@ddietzler.dev>
2026-07-15 11:22:36 +00:00
Raul
b4530b0671 fix(server): workflow date filter, make end date inclusive (#29876)
Co-authored-by: Raul Plesa <raul.plesa@external.grifols.com>
Co-authored-by: Daniel Dietzler <mail@ddietzler.dev>
2026-07-15 10:50:03 +00:00
Lorenzo Montanari
a04e2ddeca fix(server): updated default CSP config to support videos from V3 player (#29830) 2026-07-15 12:49:18 +02:00
Kobi Hikri
5f2e8a4fcf chore(security.txt): bump expired Expires field (RFC 9116) (#29932) 2026-07-15 10:19:44 +00:00
Priyanshu
dc55b234d9 fix(web): use Container component for responsive admin maintenance la… (#29917)
Co-authored-by: priyanshuANDcoad <priyanshu23154050@akgec.ac.in>
2026-07-15 12:18:55 +02:00
Priyanshu
f6bf22d9ca fix(web): hide stack thumbnail tray in slideshow mode (#29918)
Co-authored-by: priyanshuANDcoad <priyanshu23154050@akgec.ac.in>
2026-07-15 12:10:35 +02:00
Santo Shakil
2cdbd0d00f fix(mobile): apply exif orientation to remote raw photos on android (#29906) 2026-07-14 19:10:41 -04:00
github-actions
cd308ad930 chore: version v3.0.3 2026-07-14 21:10:19 +00:00
Alex
12061f3bf8 fix: Ken Burns effect on sliver app bar jittery on Android (#29890) 2026-07-14 19:21:33 +00:00
Daniel Dietzler
2460d431af feat: system integrity docs (#29911) 2026-07-14 14:00:27 -05:00
Matthew Momjian
24556cd3fc fix(docs): update fdroid link (#29797)
Co-authored-by: Brandon Wees <brandonwees@gmail.com>
2026-07-14 20:04:59 +02:00
Adam Gastineau
c84ab54889 fix(mobile): clear zoom state when swapping assets (#29909) 2026-07-14 12:18:18 -05:00
renovate[bot]
19e59ebd98 chore(deps): update github-actions (#29894) 2026-07-14 18:44:32 +02:00
Mert
89b0d906e8 fix(server): set hvc1 tag when using hwa (#29908)
fix hvc1 check
2026-07-14 11:03:30 -04:00
Daniel Dietzler
3c43e8d6c1 fix: revert "fix(mobile): send a full datetime from the android memories widget" (#29913) 2026-07-14 14:41:43 +00:00
Daniel Dietzler
2ed8b2bddd fix: memory search date validation (#29907) 2026-07-14 16:34:38 +02:00
Santo Shakil
9c8d718ddc fix(mobile): send a full datetime from the android memories widget (#29689) 2026-07-14 09:25:06 -05:00
renovate[bot]
20e123c839 chore(deps): update base-image to v202607132058 (#29895) 2026-07-14 11:16:42 +02:00
Daniel Dietzler
35fcca6254 fix: locked visibility in search random endpoint (#29887) 2026-07-13 20:03:20 +00:00
shenlong
ffafc144c6 refactor: use single bucket for none grouping (#29880)
Co-authored-by: shenlong-tanwen <139912620+shalong-tanwen@users.noreply.github.com>
Co-authored-by: Alex <alex.tran1502@gmail.com>
2026-07-13 15:01:59 -05:00
bo0tzz
89d31aaba1 feat: publish app releases to FUTO F-Droid repo (#29804)
* feat: publish app releases to FUTO F-Droid repo

* chore: separate parse step
2026-07-13 14:57:40 -05:00
Alex
f2ddace584 fix: system appbar icon color has incorrect color in asset viewer (#29885) 2026-07-13 14:50:38 -05:00
shenlong
99883096d6 fix: still part of live photo hidden on bg upload (#29884)
* fix: still part of live photo hidden on bg upload

* add foreground tests

---------

Co-authored-by: shenlong-tanwen <139912620+shalong-tanwen@users.noreply.github.com>
2026-07-13 14:50:06 -05:00
Daniel Dietzler
84dff19ca9 fix: unauthorized album owner update (#29883) 2026-07-13 11:46:18 -05:00
Priyanshu
da8774801b fix(mobile): correct person age singular pluralization (#29868)
The ICU plural string for person_age_years in i18n/en.json only defined
the other plural category, so the intl MessageFormat runtime always
fell back to it — displaying '1 years old' instead of '1 year old'.

Added the missing one plural category:

Before: {years, plural, other {# years}} old
After:  {years, plural, one {# year} other {# years}} old

No Dart source changes required. formatAge already uses the
localization system correctly.

Fixes #29865

Co-authored-by: priyanshuANDcoad <priyanshu23154050@akgec.ac.in>
2026-07-13 14:49:06 +00:00
Ben Beckford
9057ae9759 fix(web): closing plugin method picker selects "unknown" method (#29784) 2026-07-13 09:41:28 -05:00
Alex
557189d7a8 chore: add Adam to mobile's codeowner (#29816) 2026-07-10 15:10:52 -05:00
Mees Frensel
19313e75fd chore(web): fix testing deprecations (#29799) 2026-07-10 14:30:12 +02:00
Weblate (bot)
352c8086f9 chore(web): update translations (#29774)
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/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/en_GB/
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/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/hi/
Translate-URL: https://hosted.weblate.org/projects/immich/immich/hr/
Translate-URL: https://hosted.weblate.org/projects/immich/immich/hu/
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/ml/
Translate-URL: https://hosted.weblate.org/projects/immich/immich/mr/
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/sq/
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: Adam Havránek <adamhavra@seznam.cz>
Co-authored-by: Aiixi Bear <bearshen1019@outlook.com>
Co-authored-by: Aindriú Mac Giolla Eoin <aindriu80@gmail.com>
Co-authored-by: Alaksandr Łopart <laporte0723@gmail.com>
Co-authored-by: Alexis Rossfelder <rossfelderalexis@gmail.com>
Co-authored-by: AntonPalmqvist <apq@users.noreply.hosted.weblate.org>
Co-authored-by: Ardev Prisec <prisecardev@gmail.com>
Co-authored-by: Biepa <github@flippie.de>
Co-authored-by: Branko Kokanovic <branko@kokanovic.org>
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: Emil Warelius <emilwarelius@gmail.com>
Co-authored-by: Enric Pagès i Gassull <enricpages@hotmail.com>
Co-authored-by: Fjuro <fjuro@users.noreply.hosted.weblate.org>
Co-authored-by: Frank Paul Silye <frankps@gmail.com>
Co-authored-by: Grzegorz Leks <grzegorz.leks@gmail.com>
Co-authored-by: Gyutaek Kang <gtkang2000@naver.com>
Co-authored-by: HackingAll <hacking.all.YT@gmail.com>
Co-authored-by: Happy <59247878+happy2452354@users.noreply.github.com>
Co-authored-by: Hosted Weblate user 157208 <benjamin3.hanke@gmail.com>
Co-authored-by: Hurricane_32 <rodrigorimo@hotmail.com>
Co-authored-by: Huy Trieu <thetop1102@gmail.com>
Co-authored-by: Hồ Nhất Duy <axicenia@gmail.com>
Co-authored-by: Indrek Haav <indrekhaav@users.noreply.hosted.weblate.org>
Co-authored-by: Ivan Dimitrov <idimitrov08@gmail.com>
Co-authored-by: Jesus Barba <jesusbarba11@gmail.com>
Co-authored-by: JiZPaper <JiZPaper@gmail.com>
Co-authored-by: Jins K Joy <mailjinskjoy@gmail.com>
Co-authored-by: Jonas Franke <90050350+JonasFranke@users.noreply.github.com>
Co-authored-by: Jordy H <jordy@hoebergen.net>
Co-authored-by: Jorge Montejo <jorgemon.lopez@gmail.com>
Co-authored-by: Jozef Gaal <preklady@mayday.sk>
Co-authored-by: Junghyuk Kwon <kwon@junghy.uk>
Co-authored-by: Ketan Avhad <ketaavha@gmail.com>
Co-authored-by: Kevin wang <jiqi963@gmail.com>
Co-authored-by: Klenner Martins Barros <klenne.al@gmail.com>
Co-authored-by: Liviu Roman <contact@liviuroman.com>
Co-authored-by: Luis Fernando Illapa <moxb@outlook.es>
Co-authored-by: Marc Portabella Navarro <portabella.marc@gmail.com>
Co-authored-by: MarcSerraPeralta <marcserraperalta@gmail.com>
Co-authored-by: Matjaž T. <matjaz@moj-svet.si>
Co-authored-by: Matteo De Carli <matteo.de.carli01@gmail.com>
Co-authored-by: Mees Frensel <meesfrensel@gmail.com>
Co-authored-by: MrKoby07 <hirmerkorbinian122@gmail.com>
Co-authored-by: Muxutruk <156070698+Muxutruk2@users.noreply.github.com>
Co-authored-by: Nagy Krisztián <nkgy17@gmail.com>
Co-authored-by: Nico Sendan <nico@sendan.com>
Co-authored-by: Nicola Bortoletto <nicola.bortoletto@live.com>
Co-authored-by: Ohne Sonne <ohne_sonne_1312@protonmail.com>
Co-authored-by: Okie <leopetrovic11@gmail.com>
Co-authored-by: Olaf Nielsen <solluh@mail.de>
Co-authored-by: PPNplus <ppnplus@protonmail.com>
Co-authored-by: Pavel Miniutka <pavel.miniutka@gmail.com>
Co-authored-by: PiTrick <dev@pitrick.link>
Co-authored-by: Rubber Ducky <rd1945@gmail.com>
Co-authored-by: Sebastian <sebastiankiwidk@gmail.com>
Co-authored-by: Simone Ognibene <ognibene2001@gmail.com>
Co-authored-by: Sylvain Pichon <service@spichon.fr>
Co-authored-by: TV Box <realceday.tvbox@gmail.com>
Co-authored-by: TheDevIsHere <bagigio2005@gmail.com>
Co-authored-by: Tiago <tiagojoaquimsamsung@gmail.com>
Co-authored-by: Tijs-B <tijs.bergmans@telenet.be>
Co-authored-by: Tim Morley <weblate.3919org@timsk.org>
Co-authored-by: Tom Golden <tmgldn@users.noreply.hosted.weblate.org>
Co-authored-by: Tomislav Renić <trenic@gmail.com>
Co-authored-by: Tushar Harsora <tusharharsora95@gmail.com>
Co-authored-by: User 123456789 <user123456789@users.noreply.hosted.weblate.org>
Co-authored-by: Vallabh Sharma <srivallabhsharma@gmail.com>
Co-authored-by: Yusuf Arda <yusufarda7813@gmail.com>
Co-authored-by: bittin1ddc447d824349b2 <bittin@reimu.nl>
Co-authored-by: bonjur <ivanpercsity08@gmail.com>
Co-authored-by: canxunwangluo <canxunwangluo@163.com>
Co-authored-by: kylo32 <kylo32@gmail.com>
Co-authored-by: nachtpfoetchen <nachtpfoetchen@posteo.de>
Co-authored-by: pluwen chen <pluwen@gmail.com>
Co-authored-by: puv <dev@puv.pm>
Co-authored-by: rubes <mail@armd.one>
Co-authored-by: vatahome <vataszilamer@pm.me>
Co-authored-by: waclaw66 <waclaw66@seznam.cz>
2026-07-09 20:01:50 +00:00
github-actions
443b856ac3 chore: version v3.0.2 2026-07-09 17:33:21 +00:00
Weblate (bot)
d18edfed34 chore(web): update translations (#29415)
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/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/en_GB/
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/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/hi/
Translate-URL: https://hosted.weblate.org/projects/immich/immich/hr/
Translate-URL: https://hosted.weblate.org/projects/immich/immich/hu/
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/ml/
Translate-URL: https://hosted.weblate.org/projects/immich/immich/mr/
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/sq/
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: Adam Havránek <adamhavra@seznam.cz>
Co-authored-by: Aiixi Bear <bearshen1019@outlook.com>
Co-authored-by: Aindriú Mac Giolla Eoin <aindriu80@gmail.com>
Co-authored-by: Alaksandr Łopart <laporte0723@gmail.com>
Co-authored-by: Alexis Rossfelder <rossfelderalexis@gmail.com>
Co-authored-by: AntonPalmqvist <apq@users.noreply.hosted.weblate.org>
Co-authored-by: Ardev Prisec <prisecardev@gmail.com>
Co-authored-by: Biepa <github@flippie.de>
Co-authored-by: Branko Kokanovic <branko@kokanovic.org>
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: Emil Warelius <emilwarelius@gmail.com>
Co-authored-by: Enric Pagès i Gassull <enricpages@hotmail.com>
Co-authored-by: Fjuro <fjuro@users.noreply.hosted.weblate.org>
Co-authored-by: Frank Paul Silye <frankps@gmail.com>
Co-authored-by: Grzegorz Leks <grzegorz.leks@gmail.com>
Co-authored-by: Gyutaek Kang <gtkang2000@naver.com>
Co-authored-by: HackingAll <hacking.all.YT@gmail.com>
Co-authored-by: Happy <59247878+happy2452354@users.noreply.github.com>
Co-authored-by: Hosted Weblate user 157208 <benjamin3.hanke@gmail.com>
Co-authored-by: Hurricane_32 <rodrigorimo@hotmail.com>
Co-authored-by: Huy Trieu <thetop1102@gmail.com>
Co-authored-by: Hồ Nhất Duy <axicenia@gmail.com>
Co-authored-by: Indrek Haav <indrekhaav@users.noreply.hosted.weblate.org>
Co-authored-by: Ivan Dimitrov <idimitrov08@gmail.com>
Co-authored-by: Jesus Barba <jesusbarba11@gmail.com>
Co-authored-by: JiZPaper <JiZPaper@gmail.com>
Co-authored-by: Jins K Joy <mailjinskjoy@gmail.com>
Co-authored-by: Jonas Franke <90050350+JonasFranke@users.noreply.github.com>
Co-authored-by: Jordy H <jordy@hoebergen.net>
Co-authored-by: Jorge Montejo <jorgemon.lopez@gmail.com>
Co-authored-by: Jozef Gaal <preklady@mayday.sk>
Co-authored-by: Junghyuk Kwon <kwon@junghy.uk>
Co-authored-by: Ketan Avhad <ketaavha@gmail.com>
Co-authored-by: Kevin wang <jiqi963@gmail.com>
Co-authored-by: Klenner Martins Barros <klenne.al@gmail.com>
Co-authored-by: Liviu Roman <contact@liviuroman.com>
Co-authored-by: Luis Fernando Illapa <moxb@outlook.es>
Co-authored-by: Marc Portabella Navarro <portabella.marc@gmail.com>
Co-authored-by: MarcSerraPeralta <marcserraperalta@gmail.com>
Co-authored-by: Matjaž T. <matjaz@moj-svet.si>
Co-authored-by: Matteo De Carli <matteo.de.carli01@gmail.com>
Co-authored-by: Mees Frensel <meesfrensel@gmail.com>
Co-authored-by: MrKoby07 <hirmerkorbinian122@gmail.com>
Co-authored-by: Muxutruk <156070698+Muxutruk2@users.noreply.github.com>
Co-authored-by: Nagy Krisztián <nkgy17@gmail.com>
Co-authored-by: Nico Sendan <nico@sendan.com>
Co-authored-by: Nicola Bortoletto <nicola.bortoletto@live.com>
Co-authored-by: Ohne Sonne <ohne_sonne_1312@protonmail.com>
Co-authored-by: Okie <leopetrovic11@gmail.com>
Co-authored-by: Olaf Nielsen <solluh@mail.de>
Co-authored-by: PPNplus <ppnplus@protonmail.com>
Co-authored-by: Pavel Miniutka <pavel.miniutka@gmail.com>
Co-authored-by: PiTrick <dev@pitrick.link>
Co-authored-by: Rubber Ducky <rd1945@gmail.com>
Co-authored-by: Sebastian <sebastiankiwidk@gmail.com>
Co-authored-by: Simone Ognibene <ognibene2001@gmail.com>
Co-authored-by: Sylvain Pichon <service@spichon.fr>
Co-authored-by: TV Box <realceday.tvbox@gmail.com>
Co-authored-by: TheDevIsHere <bagigio2005@gmail.com>
Co-authored-by: Tiago <tiagojoaquimsamsung@gmail.com>
Co-authored-by: Tijs-B <tijs.bergmans@telenet.be>
Co-authored-by: Tim Morley <weblate.3919org@timsk.org>
Co-authored-by: Tom Golden <tmgldn@users.noreply.hosted.weblate.org>
Co-authored-by: Tomislav Renić <trenic@gmail.com>
Co-authored-by: Tushar Harsora <tusharharsora95@gmail.com>
Co-authored-by: User 123456789 <user123456789@users.noreply.hosted.weblate.org>
Co-authored-by: Vallabh Sharma <srivallabhsharma@gmail.com>
Co-authored-by: Yusuf Arda <yusufarda7813@gmail.com>
Co-authored-by: bittin1ddc447d824349b2 <bittin@reimu.nl>
Co-authored-by: bonjur <ivanpercsity08@gmail.com>
Co-authored-by: canxunwangluo <canxunwangluo@163.com>
Co-authored-by: kylo32 <kylo32@gmail.com>
Co-authored-by: nachtpfoetchen <nachtpfoetchen@posteo.de>
Co-authored-by: pluwen chen <pluwen@gmail.com>
Co-authored-by: puv <dev@puv.pm>
Co-authored-by: rubes <mail@armd.one>
Co-authored-by: vatahome <vataszilamer@pm.me>
Co-authored-by: waclaw66 <waclaw66@seznam.cz>
2026-07-09 17:30:32 +00:00
bo0tzz
f6d6dbc3c7 chore: remove pgvecto.rs from docs footnote (#29729)
* chore: remove pgvecto.rs from docs footnote

* Update docs/docs/install/environment-variables.md

Co-authored-by: Matthew Momjian <50788000+mmomjian@users.noreply.github.com>

---------

Co-authored-by: Matthew Momjian <50788000+mmomjian@users.noreply.github.com>
2026-07-09 11:36:26 -05:00
shenlong
4fe33289b8 fix: ignore log db corruptions (#29656)
* fix: ignore log db corruptions

* review suggestion

* log corruption recovery

---------

Co-authored-by: shenlong-tanwen <139912620+shalong-tanwen@users.noreply.github.com>
2026-07-09 11:36:04 -05:00
Mees Frensel
2db1e02cdf fix(web): always initialize language manager to set lang and dir (#29696) 2026-07-09 13:40:15 +00:00
Daniel Dietzler
fea0db02f3 fix: emit album update event when uploading assets through shared link (#29757) 2026-07-09 15:21:16 +02:00
Mees Frensel
4fd58885e2 fix(web): recursively unnest class arrays (#29755) 2026-07-09 12:39:12 +02:00
Ben Beckford
c5222c7579 chore(server): use bounded numbers in workflows (#29009)
* chore(server): use bounded numbers in workflows

* chore: increase precision for lat/lon filtering

* chore: re-add integer to a json schema type
2026-07-08 17:15:48 -07:00
Santo Shakil
c4f084f4a5 fix(mobile): play videos from search results and folder view (#29693)
* fix(mobile): play videos from search results and folder view

* pr suggestion

---------

Co-authored-by: Alex <alex.tran1502@gmail.com>
2026-07-08 20:22:35 +00:00
Daniel Dietzler
66e30d5fa1 fix: missing files integrity checks (#29737) 2026-07-08 14:53:46 -05:00
Daniel Dietzler
053a52aec8 fix: iso date parsing for three digit years (#29739) 2026-07-08 14:53:16 -05:00
Santo Shakil
2ad554fc61 fix(mobile): update timeline args on layout constraint changes (#29653)
* fix(mobile): update timeline args on layout constraint changes

* chore(mobile): temporary blank timeline diagnostics

* chore(mobile): error logs when the timeline goes blank

* chore(mobile): remove blank timeline debug logging

---------

Co-authored-by: Alex <alex.tran1502@gmail.com>
2026-07-08 14:13:32 -05:00
Kha Nguyen
427321a102 fix(web): clear asset selection when search context changes (#29738) 2026-07-08 14:08:39 -05:00
Daniel Dietzler
655cd01d57 fix: search metadata for album shared links (#29742) 2026-07-08 20:32:20 +02:00
Mert
cfd95f0196 fix(server): stream ffprobe packets (#29723) 2026-07-08 12:51:22 -04:00
renovate[bot]
439ace9dba chore(deps): update ghcr.io/jdx/mise docker tag to v2026.7.2 (#29678) 2026-07-08 13:22:06 +02:00
Ben Beckford
5c2fb2245a feat(server): date workflow filter (#29040) 2026-07-08 12:05:44 +02:00
shenlong
924e6251fd fix: do not log out on automatic url switch (#29715)
fix: sync headers to external endpoints

Co-authored-by: shenlong-tanwen <139912620+shalong-tanwen@users.noreply.github.com>
2026-07-07 21:21:37 -05:00
Mert
3aebb82905 fix(mobile): http request handling after isolate death (#29714)
* use ports for objc

* add task reaper

* cleanup, fewer allocations

* link to pr
2026-07-07 16:31:10 -04:00
Daniel Dietzler
7a9b9e01be feat: user agnostic database restore (#29512) 2026-07-07 21:16:48 +02:00
Daniel Dietzler
0cbe07c4d4 fix: integrity checks dto validation (#29621) 2026-07-07 20:49:26 +02:00
renovate[bot]
45ea248e8b chore(deps): update github-actions (#29677) 2026-07-07 19:56:57 +02:00
Adam Gastineau
8cbf0db3b3 fix(mobile): disable broken Xcode queue debugging (#29657) 2026-07-07 12:26:19 -05:00
Adam Gastineau
a225c962de fix(mobile): properly handle live photos locally (#29462)
* fix(mobile): properly handle live photos locally

* Added basic motion photo data tests

* Cover mismatched platforms and motion photos

* Revert unnecessary storage.repository changes

---------

Co-authored-by: Alex <alex.tran1502@gmail.com>
2026-07-07 12:25:43 -05:00
Mees Frensel
daabab8c1c fix(docs): update developer setup (#29661) 2026-07-07 17:07:35 +00:00
Brandon Wees
a4f28dafb2 fix(mobile): missing crop options and rotation scaling (#29645)
* fix: missing aspect ratio options in mobile editor

* fix: smooth rotation

* chore: comments

* chore: better preset management and tooling

* lint

---------

Co-authored-by: Alex <alex.tran1502@gmail.com>
2026-07-07 12:05:50 -05:00
Daniel Dietzler
704b287bba fix: integrity checks checksum pagination (#29516) 2026-07-07 18:42:14 +02:00
Ben Beckford
c7b4a798cb fix: incorrect grouping of recently added assets (#29666)
* fix: incorrect grouping of recently added assets

* chore(web): lint

* chore(web): refactor timeline utc to local dates

* chore(mobile): index remote asset upload dates

---------

Co-authored-by: Alex <alex.tran1502@gmail.com>
2026-07-07 11:21:58 -05:00
Daniel Dietzler
f8e78792b8 fix: oauth account linking (#29624) 2026-07-07 11:21:27 -05:00
shenlong
0ebb723b39 fix: wrap migrations in transaction (#29664)
Co-authored-by: shenlong-tanwen <139912620+shalong-tanwen@users.noreply.github.com>
2026-07-07 10:54:24 -05:00
Adam Gastineau
99a8354145 fix(mobile): match iOS scroll to top and tabbar scroll (#28469) (#29705)
Co-authored-by: Alex <alex.tran1502@gmail.com>
2026-07-07 10:53:35 -05:00
shenlong
7ee2f3644f fix(mobile): mark Live Photo motion part hidden on upload (#29699)
* fix(mobile): mark Live Photo motion part hidden on upload

* review suggestion

---------

Co-authored-by: shenlong-tanwen <139912620+shalong-tanwen@users.noreply.github.com>
2026-07-07 09:27:39 -05:00
bo0tzz
d2a46ade78 chore: webhook headers ordering (#29695) 2026-07-07 12:09:57 +00:00
Mert
68b04e8e8f chore: simplify hls description (#29680)
simplify hls description
2026-07-07 07:45:40 +00:00
Santo Shakil
58b1c5e8fb fix(mobile): fix 10-bit heic and avif colors on android (#29631)
* fix(mobile): fix 10-bit heic and avif colors on android

* fix(mobile): share the decode pool across flutter engines

* vectorize conversion

---------

Co-authored-by: mertalev <101130780+mertalev@users.noreply.github.com>
2026-07-06 21:16:09 +00:00
Matthew Momjian
6f45521610 fix(docs): clarify version policy (#29654)
* version policy

* Update docs/docs/install/upgrading.md

Co-authored-by: Daniel Dietzler <36593685+danieldietzler@users.noreply.github.com>

---------

Co-authored-by: Daniel Dietzler <36593685+danieldietzler@users.noreply.github.com>
2026-07-06 19:07:31 +00:00
Mert
69d568f289 feat(server): hls variant configuration (#29613)
* configure variants

* openapi

* dynamic level

* unnecessary width/height fields

* add web config

* allow 1440p and 2160p

* more helpful descriptions

* simplify level picker

* formatting

* integer instead of number
2026-07-06 14:57:48 -04:00
Daniel Dietzler
a6f0253544 chore: improve added to album messages (#29641) 2026-07-06 17:21:49 +02:00
Jins K Joy
32352fa375 feat(docs): add Malayalam language support in README files (#29593) 2026-07-06 17:15:00 +02:00
Tom B
6aa5651032 fix(docs): use correct heading name for DB dump (#29483)
match docs to actual UI copy
2026-07-06 10:13:22 -05:00
Daniel Dietzler
4e25db2989 fix: chinese browser locales recognition (#29622) 2026-07-06 09:42:47 -05:00
Daniel Dietzler
4f5e0d3505 chore: clearer album users dropdown (#29629) 2026-07-06 09:40:26 -05:00
Alex
b3abe0bb5d chore: keep selection state after sharing action (#29640) 2026-07-06 14:40:18 +00:00
renovate[bot]
c04acc8951 chore(deps): update base-image to v202607061334 (#29634) 2026-07-06 16:01:22 +02:00
renovate[bot]
af32a8ca7c chore(deps): update github-actions (#29400) 2026-07-06 15:25:52 +02:00
renovate[bot]
ed83fb3f5a chore(deps): update ghcr.io/jdx/mise docker tag to v2026.6.14 (#29632) 2026-07-06 14:54:02 +02:00
renovate[bot]
628de417e9 chore(deps): lock file maintenance (mise) (#29637) 2026-07-06 14:52:48 +02:00
renovate[bot]
be02c00afd chore(deps): lock file maintenance (mise) (#29636) 2026-07-06 14:52:42 +02:00
Wonsuk Choi
43abb9a92f fix(web): wrap hardcoded strings with i18n translation function (#29612)
Co-authored-by: Daniel Dietzler <36593685+danieldietzler@users.noreply.github.com>
2026-07-06 09:57:04 +00:00
TJ Horner
103585ceb9 fix(web): add ARIA label to ServerStatisticsCard (#29497)
Co-authored-by: Daniel Dietzler <36593685+danieldietzler@users.noreply.github.com>
2026-07-06 10:35:47 +02:00
Daniel Dietzler
6da890ee37 fix: web search timeline visibility (#29518) 2026-07-03 17:41:25 +02:00
Lukas Schaefer
e7ba8d3632 fix: live transcoding when viewing from a link share (#29471) 2026-07-03 11:34:37 -04:00
Lukas Schaefer
5645149e09 fix: downmix audio to stereo to fix broken channel layout (#29485)
* fix: downmix audio to stereo to fix broken channel layout

Signed-off-by: Lukas Schaefer <lukas@lschaefer.xyz>

* add todo

Signed-off-by: Lukas Schaefer <lukas@lschaefer.xyz>

---------

Signed-off-by: Lukas Schaefer <lukas@lschaefer.xyz>
2026-07-03 10:55:12 -04:00
Alex
5a104f9dbe chore: update docs with v3 tags (#29312) 2026-07-03 12:27:18 +02:00
bo0tzz
13d17b3a11 fix: re-add gCastEnabled negation (#29499) 2026-07-03 11:05:22 +02:00
github-actions
f77c8a4699 chore: version v3.0.1 2026-07-02 19:24:13 +00:00
Daniel Dietzler
bf4b020856 fix: setting input field description spacing for description snippet (#29433) 2026-07-02 14:06:03 -05:00
shenlong
f73796597c fix: albums broken on v2 mobile clients (#29446)
Co-authored-by: shenlong-tanwen <139912620+shalong-tanwen@users.noreply.github.com>
2026-07-02 14:04:37 -05:00
Ben Beckford
237734bb26 feat(web): recently added link in sidebar (#29039)
* feat(web): recently added link in sidebar

* chore(mobile): update openapi patches
2026-07-01 23:12:50 +00:00
Weblate (bot)
4b54fef82e chore(web): update translations (#29410)
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/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/es/
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/gu/
Translate-URL: https://hosted.weblate.org/projects/immich/immich/he/
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/pt/
Translate-URL: https://hosted.weblate.org/projects/immich/immich/ro/
Translate-URL: https://hosted.weblate.org/projects/immich/immich/sq/
Translate-URL: https://hosted.weblate.org/projects/immich/immich/sv/
Translate-URL: https://hosted.weblate.org/projects/immich/immich/vi/
Translation: Immich/immich

Co-authored-by: Aindriú Mac Giolla Eoin <aindriu80@gmail.com>
Co-authored-by: Charles IdB <charles.issert2braux@gmail.com>
Co-authored-by: Dmitry Banny <dj.icecore@gmail.com>
Co-authored-by: Enric Pagès i Gassull <enricpages@hotmail.com>
Co-authored-by: Fjuro <fjuro@users.noreply.hosted.weblate.org>
Co-authored-by: HackingAll <hacking.all.YT@gmail.com>
Co-authored-by: Harsh Kevadia <kevadiyaharsh@gmail.com>
Co-authored-by: Hosted Weblate user 156232 <53017937+parol100@users.noreply.github.com>
Co-authored-by: Hurricane_32 <rodrigorimo@hotmail.com>
Co-authored-by: Hồ Nhất Duy <axicenia@gmail.com>
Co-authored-by: Ivan Dimitrov <idimitrov08@gmail.com>
Co-authored-by: Jeppe Nellemann <jepnel@proton.me>
Co-authored-by: Mahmoud Dwidar <modydodo2055@gmail.com>
Co-authored-by: Nicola Bortoletto <nicola.bortoletto@live.com>
Co-authored-by: Pavel Miniutka <pavel.miniutka@gmail.com>
Co-authored-by: Yago Raña Gayoso <yago.rana.gayoso@gmail.com>
Co-authored-by: bittin1ddc447d824349b2 <bittin@reimu.nl>
Co-authored-by: ikeno-web <ikeno@nextcore-consulting.com>
Co-authored-by: rubes <mail@armd.one>
2026-07-01 11:05:25 +00:00
Daniel Dietzler
0050332391 fix: e2e version test (#29412) 2026-07-01 12:41:45 +02:00
github-actions
05d838b560 chore: version v3.0.0 2026-06-30 20:03:47 +00:00
Weblate (bot)
82b70c1ab6 chore(web): update translations (#29347)
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/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/es/
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/gu/
Translate-URL: https://hosted.weblate.org/projects/immich/immich/he/
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/pt/
Translate-URL: https://hosted.weblate.org/projects/immich/immich/ro/
Translate-URL: https://hosted.weblate.org/projects/immich/immich/sq/
Translate-URL: https://hosted.weblate.org/projects/immich/immich/sv/
Translate-URL: https://hosted.weblate.org/projects/immich/immich/vi/
Translation: Immich/immich

Co-authored-by: Aindriú Mac Giolla Eoin <aindriu80@gmail.com>
Co-authored-by: Charles IdB <charles.issert2braux@gmail.com>
Co-authored-by: Dmitry Banny <dj.icecore@gmail.com>
Co-authored-by: Enric Pagès i Gassull <enricpages@hotmail.com>
Co-authored-by: Fjuro <fjuro@users.noreply.hosted.weblate.org>
Co-authored-by: HackingAll <hacking.all.YT@gmail.com>
Co-authored-by: Harsh Kevadia <kevadiyaharsh@gmail.com>
Co-authored-by: Hosted Weblate user 156232 <53017937+parol100@users.noreply.github.com>
Co-authored-by: Hurricane_32 <rodrigorimo@hotmail.com>
Co-authored-by: Hồ Nhất Duy <axicenia@gmail.com>
Co-authored-by: Ivan Dimitrov <idimitrov08@gmail.com>
Co-authored-by: Jeppe Nellemann <jepnel@proton.me>
Co-authored-by: Mahmoud Dwidar <modydodo2055@gmail.com>
Co-authored-by: Nicola Bortoletto <nicola.bortoletto@live.com>
Co-authored-by: Pavel Miniutka <pavel.miniutka@gmail.com>
Co-authored-by: Yago Raña Gayoso <yago.rana.gayoso@gmail.com>
Co-authored-by: bittin1ddc447d824349b2 <bittin@reimu.nl>
Co-authored-by: ikeno-web <ikeno@nextcore-consulting.com>
Co-authored-by: rubes <mail@armd.one>
2026-06-30 20:01:21 +00:00
Daniel Dietzler
02506424a7 feat: integrity checks admin settings (#29406) 2026-06-30 14:58:51 -05:00
Ben Beckford
6a7a34d294 chore: make webhooks workflow-agnostic (#29404) 2026-06-30 15:27:30 -04:00
Alex
165bca4b0a feat: new feature message (#29388)
* feat: new feature board

* wip

* wip

* wip

* lint

* lint

* pr feedback

* pr feedback

* i18n

* i18n
2026-06-30 13:53:13 -05:00
Brandon Wees
d4b994301f fix: version compatability check (#29405) 2026-06-30 18:44:53 +00:00
Daniel Dietzler
deeb042a9e feat: honor album access permissions in search endpoints (#29352) 2026-06-29 22:27:22 +02:00
Daniel Dietzler
b4cc406a3f fix!: search endpoints visibility can be omitted (#29385) 2026-06-29 22:00:02 +02:00
697 changed files with 29862 additions and 8671 deletions

View File

@@ -83,7 +83,7 @@
}
},
"features": {
"ghcr.io/devcontainers/features/docker-in-docker:2": {
"ghcr.io/devcontainers/features/docker-in-docker:4": {
// https://github.com/devcontainers/features/issues/1466
"moby": false
}

View File

@@ -15,7 +15,7 @@ jobs:
outputs:
uses_template: ${{ steps.check.outputs.uses_template }}
steps:
- uses: actions/checkout@df4cb1c069e1874edd31b4311f1884172cec0e10 # v6.0.3
- uses: actions/checkout@9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0 # v7.0.0
with:
sparse-checkout: .github/pull_request_template.md
sparse-checkout-cone-mode: false

View File

@@ -51,10 +51,11 @@ jobs:
should_run: ${{ steps.check.outputs.should_run }}
steps:
- id: token
uses: immich-app/devtools/actions/create-workflow-token@9db058b2e6eec20e07760b0e17a0505c78ec3191 # create-workflow-token-action-v2.0.1
uses: immich-app/devtools/actions/create-workflow-token@1af396ae134e4bc3b63d947e672bc68bf4ff9dc5 # create-workflow-token-action-v3.0.0
with:
client-id: ${{ secrets.PUSH_O_MATIC_APP_CLIENT_ID }}
private-key: ${{ secrets.PUSH_O_MATIC_APP_KEY }}
permission-contents: read
- name: Check what should run
id: check
@@ -79,12 +80,14 @@ jobs:
steps:
- id: token
uses: immich-app/devtools/actions/create-workflow-token@9db058b2e6eec20e07760b0e17a0505c78ec3191 # create-workflow-token-action-v2.0.1
uses: immich-app/devtools/actions/create-workflow-token@1af396ae134e4bc3b63d947e672bc68bf4ff9dc5 # create-workflow-token-action-v3.0.0
with:
client-id: ${{ secrets.PUSH_O_MATIC_APP_CLIENT_ID }}
private-key: ${{ secrets.PUSH_O_MATIC_APP_KEY }}
permission-contents: read
permission-pull-requests: write
- uses: actions/checkout@df4cb1c069e1874edd31b4311f1884172cec0e10 # v6.0.3
- uses: actions/checkout@9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0 # v7.0.0
with:
ref: ${{ inputs.ref }}
persist-credentials: false
@@ -103,14 +106,14 @@ jobs:
working-directory: ./mobile
run: printf "%s" $KEY_JKS | base64 -d > android/key.jks
- uses: actions/setup-java@ad2b38190b15e4d6bdf0c97fb4fca8412226d287 # v5.3.0
- uses: actions/setup-java@0f481fcb613427c0f801b606911222b5b6f3083a # v5.5.0
with:
distribution: 'zulu'
java-version: '17'
- name: Restore Gradle Cache
id: cache-gradle-restore
uses: actions/cache/restore@27d5ce7f107fe9357f9df03efb73ab90386fccae # v5.0.5
uses: actions/cache/restore@55cc8345863c7cc4c66a329aec7e433d2d1c52a9 # v6.1.0
with:
path: |
~/.gradle/caches
@@ -181,7 +184,7 @@ jobs:
- name: Save Gradle Cache
id: cache-gradle-save
uses: actions/cache/save@27d5ce7f107fe9357f9df03efb73ab90386fccae # v5.0.5
uses: actions/cache/save@55cc8345863c7cc4c66a329aec7e433d2d1c52a9 # v6.1.0
if: github.ref == 'refs/heads/main'
with:
path: |
@@ -198,20 +201,21 @@ jobs:
contents: read
# Run on main branch or workflow_dispatch, or on PRs/other branches (build only, no upload)
if: ${{ !github.event.pull_request.head.repo.fork && fromJSON(needs.pre-job.outputs.should_run).mobile == true }}
runs-on: macos-15
runs-on: macos-26
steps:
- id: token
uses: immich-app/devtools/actions/create-workflow-token@9db058b2e6eec20e07760b0e17a0505c78ec3191 # create-workflow-token-action-v2.0.1
uses: immich-app/devtools/actions/create-workflow-token@1af396ae134e4bc3b63d947e672bc68bf4ff9dc5 # create-workflow-token-action-v3.0.0
with:
client-id: ${{ secrets.PUSH_O_MATIC_APP_CLIENT_ID }}
private-key: ${{ secrets.PUSH_O_MATIC_APP_KEY }}
permission-contents: read
- name: Select Xcode 26
run: sudo xcode-select -s /Applications/Xcode_26.2.app/Contents/Developer
- name: Checkout code
uses: actions/checkout@df4cb1c069e1874edd31b4311f1884172cec0e10 # v6.0.3
uses: actions/checkout@9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0 # v7.0.0
with:
ref: ${{ inputs.ref || github.sha }}
persist-credentials: false
@@ -237,7 +241,7 @@ jobs:
run: flutter build ios --config-only --no-codesign
- name: Setup Ruby
uses: ruby/setup-ruby@89f90524b88a01fe6e0b732220432cc6142926af # v1.313.0
uses: ruby/setup-ruby@d45b1a4e94b71acab930e56e79c6aa188764e7f9 # v1.316.0
with:
ruby-version: '3.3'
bundler-cache: true

View File

@@ -19,13 +19,15 @@ jobs:
actions: write
steps:
- id: token
uses: immich-app/devtools/actions/create-workflow-token@9db058b2e6eec20e07760b0e17a0505c78ec3191 # create-workflow-token-action-v2.0.1
uses: immich-app/devtools/actions/create-workflow-token@1af396ae134e4bc3b63d947e672bc68bf4ff9dc5 # create-workflow-token-action-v3.0.0
with:
client-id: ${{ secrets.PUSH_O_MATIC_APP_CLIENT_ID }}
private-key: ${{ secrets.PUSH_O_MATIC_APP_KEY }}
permission-contents: read
permission-actions: write
- name: Check out code
uses: actions/checkout@df4cb1c069e1874edd31b4311f1884172cec0e10 # v6.0.3
uses: actions/checkout@9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0 # v7.0.0
with:
persist-credentials: false
token: ${{ steps.token.outputs.token }}

View File

@@ -20,12 +20,12 @@ jobs:
contents: read
steps:
- name: Checkout
uses: actions/checkout@df4cb1c069e1874edd31b4311f1884172cec0e10 # v6.0.3
uses: actions/checkout@9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0 # v7.0.0
with:
persist-credentials: false
- name: Check for breaking API changes
uses: oasdiff/oasdiff-action/breaking@e24529087d93f837b28b50bb66ba9016380a7fcc # v0.1.2
uses: oasdiff/oasdiff-action/breaking@291b6594ce617f22f49af5898ee038ed0b46e8fe # v0.1.5
with:
base: https://raw.githubusercontent.com/${{ github.repository }}/main/open-api/immich-openapi-specs.json
revision: open-api/immich-openapi-specs.json
@@ -38,7 +38,7 @@ jobs:
contents: read
steps:
- name: Checkout
uses: actions/checkout@df4cb1c069e1874edd31b4311f1884172cec0e10 # v6.0.3
uses: actions/checkout@9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0 # v7.0.0
with:
persist-credentials: false

View File

@@ -31,13 +31,14 @@ jobs:
working-directory: ./packages/cli
steps:
- id: token
uses: immich-app/devtools/actions/create-workflow-token@9db058b2e6eec20e07760b0e17a0505c78ec3191 # create-workflow-token-action-v2.0.1
uses: immich-app/devtools/actions/create-workflow-token@1af396ae134e4bc3b63d947e672bc68bf4ff9dc5 # create-workflow-token-action-v3.0.0
with:
client-id: ${{ secrets.PUSH_O_MATIC_APP_CLIENT_ID }}
private-key: ${{ secrets.PUSH_O_MATIC_APP_KEY }}
permission-contents: read
- name: Checkout code
uses: actions/checkout@df4cb1c069e1874edd31b4311f1884172cec0e10 # v6.0.3
uses: actions/checkout@9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0 # v7.0.0
with:
persist-credentials: false
token: ${{ steps.token.outputs.token }}
@@ -63,25 +64,26 @@ jobs:
steps:
- id: token
uses: immich-app/devtools/actions/create-workflow-token@9db058b2e6eec20e07760b0e17a0505c78ec3191 # create-workflow-token-action-v2.0.1
uses: immich-app/devtools/actions/create-workflow-token@1af396ae134e4bc3b63d947e672bc68bf4ff9dc5 # create-workflow-token-action-v3.0.0
with:
client-id: ${{ secrets.PUSH_O_MATIC_APP_CLIENT_ID }}
private-key: ${{ secrets.PUSH_O_MATIC_APP_KEY }}
permission-contents: read
- name: Checkout
uses: actions/checkout@df4cb1c069e1874edd31b4311f1884172cec0e10 # v6.0.3
uses: actions/checkout@9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0 # v7.0.0
with:
persist-credentials: false
token: ${{ steps.token.outputs.token }}
- name: Set up QEMU
uses: docker/setup-qemu-action@06116385d9baf250c9f4dcb4858b16962ea869c3 # v4.1.0
uses: docker/setup-qemu-action@96fe6ef7f33517b61c61be40b68a1882f3264fb8 # v4.2.0
- name: Set up Docker Buildx
uses: docker/setup-buildx-action@d7f5e7f509e45cec5c76c4d5afdd7de93d0b3df5 # v4.1.0
uses: docker/setup-buildx-action@bb05f3f5519dd87d3ba754cc423b652a5edd6d2c # v4.2.0
- name: Login to GitHub Container Registry
uses: docker/login-action@650006c6eb7dba73a995cc03b0b2d7f5ca915bee # v4.2.0
uses: docker/login-action@af1e73f918a031802d376d3c8bbc3fe56130a9b0 # v4.4.0
if: ${{ !github.event.pull_request.head.repo.fork }}
with:
registry: ghcr.io
@@ -96,7 +98,7 @@ jobs:
- name: Generate docker image tags
id: metadata
uses: docker/metadata-action@80c7e94dd9b9319bd5eb7a0e0fe9291e23a2a2e9 # v6.1.0
uses: docker/metadata-action@dc802804100637a589fabce1cb79ff13a1411302 # v6.2.0
with:
flavor: |
latest=false
@@ -107,7 +109,7 @@ jobs:
type=raw,value=latest,enable=${{ github.event_name == 'release' && !github.event.release.prerelease }}
- name: Build and push image
uses: docker/build-push-action@f9f3042f7e2789586610d6e8b85c8f03e5195baf # v7.2.0
uses: docker/build-push-action@53b7df96c91f9c12dcc8a07bcb9ccacbed38856a # v7.3.0
with:
file: packages/cli/Dockerfile
platforms: linux/amd64,linux/arm64

View File

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

View File

@@ -44,20 +44,21 @@ jobs:
steps:
- id: token
uses: immich-app/devtools/actions/create-workflow-token@9db058b2e6eec20e07760b0e17a0505c78ec3191 # create-workflow-token-action-v2.0.1
uses: immich-app/devtools/actions/create-workflow-token@1af396ae134e4bc3b63d947e672bc68bf4ff9dc5 # create-workflow-token-action-v3.0.0
with:
client-id: ${{ secrets.PUSH_O_MATIC_APP_CLIENT_ID }}
private-key: ${{ secrets.PUSH_O_MATIC_APP_KEY }}
permission-contents: read
- name: Checkout repository
uses: actions/checkout@df4cb1c069e1874edd31b4311f1884172cec0e10 # v6.0.3
uses: actions/checkout@9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0 # v7.0.0
with:
persist-credentials: false
token: ${{ steps.token.outputs.token }}
# Initializes the CodeQL tools for scanning.
- name: Initialize CodeQL
uses: github/codeql-action/init@8aad20d150bbac5944a9f9d289da16a4b0d87c1e # v4.36.2
uses: github/codeql-action/init@99df26d4f13ea111d4ec1a7dddef6063f76b97e9 # v4.37.0
with:
languages: ${{ matrix.language }}
# If you wish to specify custom queries, you can do so here or in a config file.
@@ -70,7 +71,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@8aad20d150bbac5944a9f9d289da16a4b0d87c1e # v4.36.2
uses: github/codeql-action/autobuild@99df26d4f13ea111d4ec1a7dddef6063f76b97e9 # v4.37.0
# 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 +84,6 @@ jobs:
# ./location_of_script_within_repo/buildscript.sh
- name: Perform CodeQL Analysis
uses: github/codeql-action/analyze@8aad20d150bbac5944a9f9d289da16a4b0d87c1e # v4.36.2
uses: github/codeql-action/analyze@99df26d4f13ea111d4ec1a7dddef6063f76b97e9 # v4.37.0
with:
category: '/language:${{matrix.language}}'

View File

@@ -23,10 +23,11 @@ jobs:
should_run: ${{ steps.check.outputs.should_run }}
steps:
- id: token
uses: immich-app/devtools/actions/create-workflow-token@9db058b2e6eec20e07760b0e17a0505c78ec3191 # create-workflow-token-action-v2.0.1
uses: immich-app/devtools/actions/create-workflow-token@1af396ae134e4bc3b63d947e672bc68bf4ff9dc5 # create-workflow-token-action-v3.0.0
with:
client-id: ${{ secrets.PUSH_O_MATIC_APP_CLIENT_ID }}
private-key: ${{ secrets.PUSH_O_MATIC_APP_KEY }}
permission-contents: read
- name: Check what should run
id: check
@@ -60,7 +61,7 @@ jobs:
suffix: ['', '-cuda', '-rocm', '-openvino', '-armnn', '-rknn']
steps:
- name: Login to GitHub Container Registry
uses: docker/login-action@650006c6eb7dba73a995cc03b0b2d7f5ca915bee # v4.2.0
uses: docker/login-action@af1e73f918a031802d376d3c8bbc3fe56130a9b0 # v4.4.0
with:
registry: ghcr.io
username: ${{ github.repository_owner }}
@@ -90,7 +91,7 @@ jobs:
suffix: ['']
steps:
- name: Login to GitHub Container Registry
uses: docker/login-action@650006c6eb7dba73a995cc03b0b2d7f5ca915bee # v4.2.0
uses: docker/login-action@af1e73f918a031802d376d3c8bbc3fe56130a9b0 # v4.4.0
with:
registry: ghcr.io
username: ${{ github.repository_owner }}

View File

@@ -21,10 +21,11 @@ jobs:
should_run: ${{ steps.check.outputs.should_run }}
steps:
- id: token
uses: immich-app/devtools/actions/create-workflow-token@9db058b2e6eec20e07760b0e17a0505c78ec3191 # create-workflow-token-action-v2.0.1
uses: immich-app/devtools/actions/create-workflow-token@1af396ae134e4bc3b63d947e672bc68bf4ff9dc5 # create-workflow-token-action-v3.0.0
with:
client-id: ${{ secrets.PUSH_O_MATIC_APP_CLIENT_ID }}
private-key: ${{ secrets.PUSH_O_MATIC_APP_KEY }}
permission-contents: read
- name: Check what should run
id: check
@@ -54,13 +55,14 @@ jobs:
steps:
- id: token
uses: immich-app/devtools/actions/create-workflow-token@9db058b2e6eec20e07760b0e17a0505c78ec3191 # create-workflow-token-action-v2.0.1
uses: immich-app/devtools/actions/create-workflow-token@1af396ae134e4bc3b63d947e672bc68bf4ff9dc5 # create-workflow-token-action-v3.0.0
with:
client-id: ${{ secrets.PUSH_O_MATIC_APP_CLIENT_ID }}
private-key: ${{ secrets.PUSH_O_MATIC_APP_KEY }}
permission-contents: read
- name: Checkout code
uses: actions/checkout@df4cb1c069e1874edd31b4311f1884172cec0e10 # v6.0.3
uses: actions/checkout@9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0 # v7.0.0
with:
persist-credentials: false
token: ${{ steps.token.outputs.token }}

View File

@@ -20,10 +20,12 @@ jobs:
artifact: ${{ steps.get-artifact.outputs.result }}
steps:
- id: token
uses: immich-app/devtools/actions/create-workflow-token@9db058b2e6eec20e07760b0e17a0505c78ec3191 # create-workflow-token-action-v2.0.1
uses: immich-app/devtools/actions/create-workflow-token@1af396ae134e4bc3b63d947e672bc68bf4ff9dc5 # create-workflow-token-action-v3.0.0
with:
client-id: ${{ secrets.PUSH_O_MATIC_APP_CLIENT_ID }}
private-key: ${{ secrets.PUSH_O_MATIC_APP_KEY }}
permission-actions: read
permission-pull-requests: read
- if: ${{ github.event.workflow_run.conclusion != 'success' }}
run: echo 'The triggering workflow did not succeed' && exit 1
@@ -126,13 +128,16 @@ 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@9db058b2e6eec20e07760b0e17a0505c78ec3191 # create-workflow-token-action-v2.0.1
uses: immich-app/devtools/actions/create-workflow-token@1af396ae134e4bc3b63d947e672bc68bf4ff9dc5 # create-workflow-token-action-v3.0.0
with:
client-id: ${{ secrets.PUSH_O_MATIC_APP_CLIENT_ID }}
private-key: ${{ secrets.PUSH_O_MATIC_APP_KEY }}
permission-contents: read
permission-actions: read
permission-pull-requests: write
- name: Checkout code
uses: actions/checkout@df4cb1c069e1874edd31b4311f1884172cec0e10 # v6.0.3
uses: actions/checkout@9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0 # v7.0.0
with:
persist-credentials: false
token: ${{ steps.token.outputs.token }}

View File

@@ -17,13 +17,15 @@ jobs:
pull-requests: write
steps:
- id: token
uses: immich-app/devtools/actions/create-workflow-token@9db058b2e6eec20e07760b0e17a0505c78ec3191 # create-workflow-token-action-v2.0.1
uses: immich-app/devtools/actions/create-workflow-token@1af396ae134e4bc3b63d947e672bc68bf4ff9dc5 # create-workflow-token-action-v3.0.0
with:
client-id: ${{ secrets.PUSH_O_MATIC_APP_CLIENT_ID }}
private-key: ${{ secrets.PUSH_O_MATIC_APP_KEY }}
permission-contents: read
permission-pull-requests: write
- name: Checkout code
uses: actions/checkout@df4cb1c069e1874edd31b4311f1884172cec0e10 # v6.0.3
uses: actions/checkout@9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0 # v7.0.0
with:
persist-credentials: false
token: ${{ steps.token.outputs.token }}

56
.github/workflows/fdroid.yml vendored Normal file
View File

@@ -0,0 +1,56 @@
name: Update F-Droid Repo
on:
release:
types: [published]
permissions: {}
jobs:
update-index:
runs-on: ubuntu-latest
if: ${{ !github.event.release.prerelease }}
permissions:
contents: read
steps:
- name: Checkout pubspec for versionCode
uses: actions/checkout@9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0 # v7.0.0
with:
ref: ${{ github.event.release.tag_name }}
persist-credentials: false
sparse-checkout: mobile/pubspec.yaml
sparse-checkout-cone-mode: false
- name: Update F-Droid repo
env:
GITLAB_TOKEN: ${{ secrets.FDROID_REPO_TOKEN }}
RELEASE: ${{ toJSON(github.event.release) }}
TAG: ${{ github.event.release.tag_name }}
run: |
VERSION_CODE=$(yq '.version' mobile/pubspec.yaml | cut -d+ -f2)
export VERSION_CODE
NEW_ENTRY=$(yq -P '
[.assets[] | select(.name == "app-release.apk")] as $matches |
with(select($matches | length == 0); error("app-release.apk not found in release assets")) |
{
"url": $matches[0].browser_download_url,
"sha256sum": ($matches[0].digest | sub("^sha256:", "")),
"date": (.published_at | split("T") | .[0]),
"version-code": env(VERSION_CODE)
} | .date tag= "!!timestamp"
' <<< "$RELEASE")
export NEW_ENTRY
git clone --depth 1 "https://oauth2:${GITLAB_TOKEN}@gitlab.futo.org/fdroid/repo-v2.git" fdroid-repo
cd fdroid-repo
yq -i '
with(select([.apks[] | select(."version-code" == env(VERSION_CODE))] | length > 0); error("version-code already in index")) |
.apks = [env(NEW_ENTRY)] + .apks
' apps/Immich/index.yml
git config user.name "Immich Release Bot"
git config user.email "bot@immich.app"
git commit -am "Immich: add version-code ${VERSION_CODE} (${TAG})"
git push

View File

@@ -15,13 +15,15 @@ jobs:
pull-requests: write
steps:
- id: token
uses: immich-app/devtools/actions/create-workflow-token@9db058b2e6eec20e07760b0e17a0505c78ec3191 # create-workflow-token-action-v2.0.1
uses: immich-app/devtools/actions/create-workflow-token@1af396ae134e4bc3b63d947e672bc68bf4ff9dc5 # create-workflow-token-action-v3.0.0
with:
client-id: ${{ secrets.PUSH_O_MATIC_APP_CLIENT_ID }}
private-key: ${{ secrets.PUSH_O_MATIC_APP_KEY }}
permission-contents: write
permission-pull-requests: write
- name: Checkout code
uses: actions/checkout@df4cb1c069e1874edd31b4311f1884172cec0e10 # v6.0.3
uses: actions/checkout@9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0 # v7.0.0
with:
ref: ${{ github.event.pull_request.head.ref }}
persist-credentials: true

View File

@@ -35,6 +35,8 @@ jobs:
with:
client-id: ${{ secrets.PUSH_O_MATIC_APP_CLIENT_ID }}
private-key: ${{ secrets.PUSH_O_MATIC_APP_KEY }}
permission-contents: write
permission-pull-requests: write
- name: Find translation PR
id: find_pr

View File

@@ -14,13 +14,14 @@ jobs:
pull-requests: write
steps:
- id: token
uses: immich-app/devtools/actions/create-workflow-token@9db058b2e6eec20e07760b0e17a0505c78ec3191 # create-workflow-token-action-v2.0.1
uses: immich-app/devtools/actions/create-workflow-token@1af396ae134e4bc3b63d947e672bc68bf4ff9dc5 # create-workflow-token-action-v3.0.0
with:
client-id: ${{ secrets.PUSH_O_MATIC_APP_CLIENT_ID }}
private-key: ${{ secrets.PUSH_O_MATIC_APP_KEY }}
permission-pull-requests: write
- name: Require PR to have a changelog label
uses: mheap/github-action-required-labels@0ac283b4e65c1fb28ce6079dea5546ceca98ccbe # v5.5.2
uses: mheap/github-action-required-labels@23e10fde7e062233401931a0eece796cd9bf3177 # v5.6.0
with:
token: ${{ steps.token.outputs.token }}
mode: exactly

View File

@@ -12,11 +12,13 @@ jobs:
runs-on: ubuntu-latest
steps:
- id: token
uses: immich-app/devtools/actions/create-workflow-token@9db058b2e6eec20e07760b0e17a0505c78ec3191 # create-workflow-token-action-v2.0.1
uses: immich-app/devtools/actions/create-workflow-token@1af396ae134e4bc3b63d947e672bc68bf4ff9dc5 # create-workflow-token-action-v3.0.0
with:
client-id: ${{ secrets.PUSH_O_MATIC_APP_CLIENT_ID }}
private-key: ${{ secrets.PUSH_O_MATIC_APP_KEY }}
permission-contents: read
permission-pull-requests: write
- uses: actions/labeler@f27b608878404679385c85cfa523b85ccb86e213 # v6.1.0
- uses: actions/labeler@b8dd2d9be0f68b860e7dae5dae7d772984eacd6d # v6.2.0
with:
repo-token: ${{ steps.token.outputs.token }}

View File

@@ -54,13 +54,14 @@ jobs:
permissions: {} # No job-level permissions are needed because it uses the app-token
steps:
- id: token
uses: immich-app/devtools/actions/create-workflow-token@9db058b2e6eec20e07760b0e17a0505c78ec3191 # create-workflow-token-action-v2.0.1
uses: immich-app/devtools/actions/create-workflow-token@1af396ae134e4bc3b63d947e672bc68bf4ff9dc5 # create-workflow-token-action-v3.0.0
with:
client-id: ${{ secrets.PUSH_O_MATIC_APP_CLIENT_ID }}
private-key: ${{ secrets.PUSH_O_MATIC_APP_KEY }}
permission-contents: write
- name: Checkout code
uses: actions/checkout@df4cb1c069e1874edd31b4311f1884172cec0e10 # v6.0.3
uses: actions/checkout@9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0 # v7.0.0
with:
token: ${{ steps.token.outputs.token }}
persist-credentials: true
@@ -73,7 +74,7 @@ jobs:
# TODO move to mise
- name: Install uv
uses: astral-sh/setup-uv@fac544c07dec837d0ccb6301d7b5580bf5edae39 # v8.2.0
uses: astral-sh/setup-uv@11f9893b081a58869d3b5fccaea48c9e9e46f990 # v8.3.2
- name: Bump version
env:
@@ -135,9 +136,11 @@ jobs:
with:
client-id: ${{ secrets.PUSH_O_MATIC_APP_CLIENT_ID }}
private-key: ${{ secrets.PUSH_O_MATIC_APP_KEY }}
permission-contents: write
permission-actions: read
- name: Checkout
uses: actions/checkout@df4cb1c069e1874edd31b4311f1884172cec0e10 # v6.0.3
uses: actions/checkout@9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0 # v7.0.0
with:
token: ${{ steps.generate-token.outputs.token }}
persist-credentials: false
@@ -149,7 +152,7 @@ jobs:
github-token: ${{ steps.generate-token.outputs.token }}
- name: Create draft release
uses: softprops/action-gh-release@b4309332981a82ec1c5618f44dd2e27cc8bfbfda # v3.0.0
uses: softprops/action-gh-release@718ea10b132b3b2eba29c1007bb80653f286566b # v3.0.1
with:
draft: true
prerelease: ${{ needs.bump_version.outputs.rc }}

View File

@@ -14,10 +14,11 @@ jobs:
pull-requests: write
steps:
- id: token
uses: immich-app/devtools/actions/create-workflow-token@9db058b2e6eec20e07760b0e17a0505c78ec3191 # create-workflow-token-action-v2.0.1
uses: immich-app/devtools/actions/create-workflow-token@1af396ae134e4bc3b63d947e672bc68bf4ff9dc5 # create-workflow-token-action-v3.0.0
with:
client-id: ${{ secrets.PUSH_O_MATIC_APP_CLIENT_ID }}
private-key: ${{ secrets.PUSH_O_MATIC_APP_KEY }}
permission-pull-requests: write
- uses: immich-app/devtools/actions/sticky-comment@0135acd12ad9f3369b94a2aa3c0ae8c835a4e926 # sticky-comment-action-v1.0.0
with:
@@ -32,10 +33,11 @@ jobs:
pull-requests: write
steps:
- id: token
uses: immich-app/devtools/actions/create-workflow-token@9db058b2e6eec20e07760b0e17a0505c78ec3191 # create-workflow-token-action-v2.0.1
uses: immich-app/devtools/actions/create-workflow-token@1af396ae134e4bc3b63d947e672bc68bf4ff9dc5 # create-workflow-token-action-v3.0.0
with:
client-id: ${{ secrets.PUSH_O_MATIC_APP_CLIENT_ID }}
private-key: ${{ secrets.PUSH_O_MATIC_APP_KEY }}
permission-pull-requests: write
- uses: actions/github-script@3a2844b7e9c422d3c10d287c895573f7108da1b3 # v9.0.0
with:

View File

@@ -16,13 +16,14 @@ jobs:
packages: write
steps:
- id: token
uses: immich-app/devtools/actions/create-workflow-token@9db058b2e6eec20e07760b0e17a0505c78ec3191 # create-workflow-token-action-v2.0.1
uses: immich-app/devtools/actions/create-workflow-token@1af396ae134e4bc3b63d947e672bc68bf4ff9dc5 # create-workflow-token-action-v3.0.0
with:
client-id: ${{ secrets.PUSH_O_MATIC_APP_CLIENT_ID }}
private-key: ${{ secrets.PUSH_O_MATIC_APP_KEY }}
permission-contents: read
- name: Checkout code
uses: actions/checkout@df4cb1c069e1874edd31b4311f1884172cec0e10 # v6.0.3
uses: actions/checkout@9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0 # v7.0.0
with:
persist-credentials: false
token: ${{ steps.token.outputs.token }}

View File

@@ -20,10 +20,11 @@ jobs:
should_run: ${{ steps.check.outputs.should_run }}
steps:
- id: token
uses: immich-app/devtools/actions/create-workflow-token@9db058b2e6eec20e07760b0e17a0505c78ec3191 # create-workflow-token-action-v2.0.1
uses: immich-app/devtools/actions/create-workflow-token@1af396ae134e4bc3b63d947e672bc68bf4ff9dc5 # create-workflow-token-action-v3.0.0
with:
client-id: ${{ secrets.PUSH_O_MATIC_APP_CLIENT_ID }}
private-key: ${{ secrets.PUSH_O_MATIC_APP_KEY }}
permission-contents: read
- name: Check what should run
id: check
@@ -33,6 +34,7 @@ jobs:
filters: |
mobile:
- 'mobile/**'
- 'i18n/en.json'
force-filters: |
- '.github/workflows/static_analysis.yml'
force-events: 'workflow_dispatch,release'
@@ -49,13 +51,14 @@ jobs:
working-directory: ./mobile
steps:
- id: token
uses: immich-app/devtools/actions/create-workflow-token@9db058b2e6eec20e07760b0e17a0505c78ec3191 # create-workflow-token-action-v2.0.1
uses: immich-app/devtools/actions/create-workflow-token@1af396ae134e4bc3b63d947e672bc68bf4ff9dc5 # create-workflow-token-action-v3.0.0
with:
client-id: ${{ secrets.PUSH_O_MATIC_APP_CLIENT_ID }}
private-key: ${{ secrets.PUSH_O_MATIC_APP_KEY }}
permission-contents: read
- name: Checkout code
uses: actions/checkout@df4cb1c069e1874edd31b4311f1884172cec0e10 # v6.0.3
uses: actions/checkout@9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0 # v7.0.0
with:
persist-credentials: false
token: ${{ steps.token.outputs.token }}

View File

@@ -17,10 +17,11 @@ jobs:
should_run: ${{ steps.check.outputs.should_run }}
steps:
- id: token
uses: immich-app/devtools/actions/create-workflow-token@9db058b2e6eec20e07760b0e17a0505c78ec3191 # create-workflow-token-action-v2.0.1
uses: immich-app/devtools/actions/create-workflow-token@1af396ae134e4bc3b63d947e672bc68bf4ff9dc5 # create-workflow-token-action-v3.0.0
with:
client-id: ${{ secrets.PUSH_O_MATIC_APP_CLIENT_ID }}
private-key: ${{ secrets.PUSH_O_MATIC_APP_KEY }}
permission-contents: read
- name: Check what should run
id: check
@@ -77,13 +78,14 @@ jobs:
contents: read
steps:
- id: token
uses: immich-app/devtools/actions/create-workflow-token@9db058b2e6eec20e07760b0e17a0505c78ec3191 # create-workflow-token-action-v2.0.1
uses: immich-app/devtools/actions/create-workflow-token@1af396ae134e4bc3b63d947e672bc68bf4ff9dc5 # create-workflow-token-action-v3.0.0
with:
client-id: ${{ secrets.PUSH_O_MATIC_APP_CLIENT_ID }}
private-key: ${{ secrets.PUSH_O_MATIC_APP_KEY }}
permission-contents: read
- name: Checkout code
uses: actions/checkout@df4cb1c069e1874edd31b4311f1884172cec0e10 # v6.0.3
uses: actions/checkout@9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0 # v7.0.0
with:
persist-credentials: false
token: ${{ steps.token.outputs.token }}
@@ -105,13 +107,14 @@ jobs:
contents: read
steps:
- id: token
uses: immich-app/devtools/actions/create-workflow-token@9db058b2e6eec20e07760b0e17a0505c78ec3191 # create-workflow-token-action-v2.0.1
uses: immich-app/devtools/actions/create-workflow-token@1af396ae134e4bc3b63d947e672bc68bf4ff9dc5 # create-workflow-token-action-v3.0.0
with:
client-id: ${{ secrets.PUSH_O_MATIC_APP_CLIENT_ID }}
private-key: ${{ secrets.PUSH_O_MATIC_APP_KEY }}
permission-contents: read
- name: Checkout code
uses: actions/checkout@df4cb1c069e1874edd31b4311f1884172cec0e10 # v6.0.3
uses: actions/checkout@9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0 # v7.0.0
with:
persist-credentials: false
token: ${{ steps.token.outputs.token }}
@@ -136,13 +139,14 @@ jobs:
working-directory: ./packages/cli
steps:
- id: token
uses: immich-app/devtools/actions/create-workflow-token@9db058b2e6eec20e07760b0e17a0505c78ec3191 # create-workflow-token-action-v2.0.1
uses: immich-app/devtools/actions/create-workflow-token@1af396ae134e4bc3b63d947e672bc68bf4ff9dc5 # create-workflow-token-action-v3.0.0
with:
client-id: ${{ secrets.PUSH_O_MATIC_APP_CLIENT_ID }}
private-key: ${{ secrets.PUSH_O_MATIC_APP_KEY }}
permission-contents: read
- name: Checkout code
uses: actions/checkout@df4cb1c069e1874edd31b4311f1884172cec0e10 # v6.0.3
uses: actions/checkout@9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0 # v7.0.0
with:
persist-credentials: false
token: ${{ steps.token.outputs.token }}
@@ -167,13 +171,14 @@ jobs:
working-directory: ./packages/cli
steps:
- id: token
uses: immich-app/devtools/actions/create-workflow-token@9db058b2e6eec20e07760b0e17a0505c78ec3191 # create-workflow-token-action-v2.0.1
uses: immich-app/devtools/actions/create-workflow-token@1af396ae134e4bc3b63d947e672bc68bf4ff9dc5 # create-workflow-token-action-v3.0.0
with:
client-id: ${{ secrets.PUSH_O_MATIC_APP_CLIENT_ID }}
private-key: ${{ secrets.PUSH_O_MATIC_APP_KEY }}
permission-contents: read
- name: Checkout code
uses: actions/checkout@df4cb1c069e1874edd31b4311f1884172cec0e10 # v6.0.3
uses: actions/checkout@9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0 # v7.0.0
with:
persist-credentials: false
token: ${{ steps.token.outputs.token }}
@@ -211,13 +216,14 @@ jobs:
working-directory: ./web
steps:
- id: token
uses: immich-app/devtools/actions/create-workflow-token@9db058b2e6eec20e07760b0e17a0505c78ec3191 # create-workflow-token-action-v2.0.1
uses: immich-app/devtools/actions/create-workflow-token@1af396ae134e4bc3b63d947e672bc68bf4ff9dc5 # create-workflow-token-action-v3.0.0
with:
client-id: ${{ secrets.PUSH_O_MATIC_APP_CLIENT_ID }}
private-key: ${{ secrets.PUSH_O_MATIC_APP_KEY }}
permission-contents: read
- name: Checkout code
uses: actions/checkout@df4cb1c069e1874edd31b4311f1884172cec0e10 # v6.0.3
uses: actions/checkout@9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0 # v7.0.0
with:
persist-credentials: false
token: ${{ steps.token.outputs.token }}
@@ -249,13 +255,14 @@ jobs:
working-directory: ./web
steps:
- id: token
uses: immich-app/devtools/actions/create-workflow-token@9db058b2e6eec20e07760b0e17a0505c78ec3191 # create-workflow-token-action-v2.0.1
uses: immich-app/devtools/actions/create-workflow-token@1af396ae134e4bc3b63d947e672bc68bf4ff9dc5 # create-workflow-token-action-v3.0.0
with:
client-id: ${{ secrets.PUSH_O_MATIC_APP_CLIENT_ID }}
private-key: ${{ secrets.PUSH_O_MATIC_APP_KEY }}
permission-contents: read
- name: Checkout code
uses: actions/checkout@df4cb1c069e1874edd31b4311f1884172cec0e10 # v6.0.3
uses: actions/checkout@9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0 # v7.0.0
with:
persist-credentials: false
token: ${{ steps.token.outputs.token }}
@@ -277,13 +284,14 @@ jobs:
contents: read
steps:
- id: token
uses: immich-app/devtools/actions/create-workflow-token@9db058b2e6eec20e07760b0e17a0505c78ec3191 # create-workflow-token-action-v2.0.1
uses: immich-app/devtools/actions/create-workflow-token@1af396ae134e4bc3b63d947e672bc68bf4ff9dc5 # create-workflow-token-action-v3.0.0
with:
client-id: ${{ secrets.PUSH_O_MATIC_APP_CLIENT_ID }}
private-key: ${{ secrets.PUSH_O_MATIC_APP_KEY }}
permission-contents: read
- name: Checkout code
uses: actions/checkout@df4cb1c069e1874edd31b4311f1884172cec0e10 # v6.0.3
uses: actions/checkout@9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0 # v7.0.0
with:
persist-credentials: false
token: ${{ steps.token.outputs.token }}
@@ -327,13 +335,14 @@ jobs:
working-directory: ./e2e
steps:
- id: token
uses: immich-app/devtools/actions/create-workflow-token@9db058b2e6eec20e07760b0e17a0505c78ec3191 # create-workflow-token-action-v2.0.1
uses: immich-app/devtools/actions/create-workflow-token@1af396ae134e4bc3b63d947e672bc68bf4ff9dc5 # create-workflow-token-action-v3.0.0
with:
client-id: ${{ secrets.PUSH_O_MATIC_APP_CLIENT_ID }}
private-key: ${{ secrets.PUSH_O_MATIC_APP_KEY }}
permission-contents: read
- name: Checkout code
uses: actions/checkout@df4cb1c069e1874edd31b4311f1884172cec0e10 # v6.0.3
uses: actions/checkout@9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0 # v7.0.0
with:
persist-credentials: false
token: ${{ steps.token.outputs.token }}
@@ -359,13 +368,14 @@ jobs:
working-directory: ./server
steps:
- id: token
uses: immich-app/devtools/actions/create-workflow-token@9db058b2e6eec20e07760b0e17a0505c78ec3191 # create-workflow-token-action-v2.0.1
uses: immich-app/devtools/actions/create-workflow-token@1af396ae134e4bc3b63d947e672bc68bf4ff9dc5 # create-workflow-token-action-v3.0.0
with:
client-id: ${{ secrets.PUSH_O_MATIC_APP_CLIENT_ID }}
private-key: ${{ secrets.PUSH_O_MATIC_APP_KEY }}
permission-contents: read
- name: Checkout code
uses: actions/checkout@df4cb1c069e1874edd31b4311f1884172cec0e10 # v6.0.3
uses: actions/checkout@9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0 # v7.0.0
with:
persist-credentials: false
submodules: 'recursive'
@@ -395,13 +405,14 @@ jobs:
runner: [ubuntu-latest, ubuntu-24.04-arm]
steps:
- id: token
uses: immich-app/devtools/actions/create-workflow-token@9db058b2e6eec20e07760b0e17a0505c78ec3191 # create-workflow-token-action-v2.0.1
uses: immich-app/devtools/actions/create-workflow-token@1af396ae134e4bc3b63d947e672bc68bf4ff9dc5 # create-workflow-token-action-v3.0.0
with:
client-id: ${{ secrets.PUSH_O_MATIC_APP_CLIENT_ID }}
private-key: ${{ secrets.PUSH_O_MATIC_APP_KEY }}
permission-contents: read
- name: Checkout code
uses: actions/checkout@df4cb1c069e1874edd31b4311f1884172cec0e10 # v6.0.3
uses: actions/checkout@9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0 # v7.0.0
with:
persist-credentials: false
submodules: 'recursive'
@@ -411,7 +422,7 @@ jobs:
uses: pnpm/action-setup@0ebf47130e4866e96fce0953f49152a61190b271 # v6.0.9
- name: Setup Node
uses: actions/setup-node@48b55a011bda9f5d6aeb4c2d9c7362e8dae4041e # v6.4.0
uses: actions/setup-node@820762786026740c76f36085b0efc47a31fe5020 # v7.0.0
with:
node-version-file: '.nvmrc'
cache: 'pnpm'
@@ -472,13 +483,14 @@ jobs:
runner: [ubuntu-latest, ubuntu-24.04-arm]
steps:
- id: token
uses: immich-app/devtools/actions/create-workflow-token@9db058b2e6eec20e07760b0e17a0505c78ec3191 # create-workflow-token-action-v2.0.1
uses: immich-app/devtools/actions/create-workflow-token@1af396ae134e4bc3b63d947e672bc68bf4ff9dc5 # create-workflow-token-action-v3.0.0
with:
client-id: ${{ secrets.PUSH_O_MATIC_APP_CLIENT_ID }}
private-key: ${{ secrets.PUSH_O_MATIC_APP_KEY }}
permission-contents: read
- name: Checkout code
uses: actions/checkout@df4cb1c069e1874edd31b4311f1884172cec0e10 # v6.0.3
uses: actions/checkout@9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0 # v7.0.0
with:
persist-credentials: false
submodules: 'recursive'
@@ -488,7 +500,7 @@ jobs:
uses: pnpm/action-setup@0ebf47130e4866e96fce0953f49152a61190b271 # v6.0.9
- name: Setup Node
uses: actions/setup-node@48b55a011bda9f5d6aeb4c2d9c7362e8dae4041e # v6.4.0
uses: actions/setup-node@820762786026740c76f36085b0efc47a31fe5020 # v7.0.0
with:
node-version-file: '.nvmrc'
cache: 'pnpm'
@@ -580,12 +592,13 @@ jobs:
contents: read
steps:
- id: token
uses: immich-app/devtools/actions/create-workflow-token@9db058b2e6eec20e07760b0e17a0505c78ec3191 # create-workflow-token-action-v2.0.1
uses: immich-app/devtools/actions/create-workflow-token@1af396ae134e4bc3b63d947e672bc68bf4ff9dc5 # create-workflow-token-action-v3.0.0
with:
client-id: ${{ secrets.PUSH_O_MATIC_APP_CLIENT_ID }}
private-key: ${{ secrets.PUSH_O_MATIC_APP_KEY }}
permission-contents: read
- uses: actions/checkout@df4cb1c069e1874edd31b4311f1884172cec0e10 # v6.0.3
- uses: actions/checkout@9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0 # v7.0.0
with:
persist-credentials: false
token: ${{ steps.token.outputs.token }}
@@ -618,12 +631,13 @@ jobs:
working-directory: ./machine-learning
steps:
- id: token
uses: immich-app/devtools/actions/create-workflow-token@9db058b2e6eec20e07760b0e17a0505c78ec3191 # create-workflow-token-action-v2.0.1
uses: immich-app/devtools/actions/create-workflow-token@1af396ae134e4bc3b63d947e672bc68bf4ff9dc5 # create-workflow-token-action-v3.0.0
with:
client-id: ${{ secrets.PUSH_O_MATIC_APP_CLIENT_ID }}
private-key: ${{ secrets.PUSH_O_MATIC_APP_KEY }}
permission-contents: read
- uses: actions/checkout@df4cb1c069e1874edd31b4311f1884172cec0e10 # v6.0.3
- uses: actions/checkout@9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0 # v7.0.0
with:
persist-credentials: false
token: ${{ steps.token.outputs.token }}
@@ -648,13 +662,14 @@ jobs:
working-directory: ./.github
steps:
- id: token
uses: immich-app/devtools/actions/create-workflow-token@9db058b2e6eec20e07760b0e17a0505c78ec3191 # create-workflow-token-action-v2.0.1
uses: immich-app/devtools/actions/create-workflow-token@1af396ae134e4bc3b63d947e672bc68bf4ff9dc5 # create-workflow-token-action-v3.0.0
with:
client-id: ${{ secrets.PUSH_O_MATIC_APP_CLIENT_ID }}
private-key: ${{ secrets.PUSH_O_MATIC_APP_KEY }}
permission-contents: read
- name: Checkout code
uses: actions/checkout@df4cb1c069e1874edd31b4311f1884172cec0e10 # v6.0.3
uses: actions/checkout@9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0 # v7.0.0
with:
persist-credentials: false
token: ${{ steps.token.outputs.token }}
@@ -678,12 +693,13 @@ jobs:
contents: read
steps:
- id: token
uses: immich-app/devtools/actions/create-workflow-token@9db058b2e6eec20e07760b0e17a0505c78ec3191 # create-workflow-token-action-v2.0.1
uses: immich-app/devtools/actions/create-workflow-token@1af396ae134e4bc3b63d947e672bc68bf4ff9dc5 # create-workflow-token-action-v3.0.0
with:
client-id: ${{ secrets.PUSH_O_MATIC_APP_CLIENT_ID }}
private-key: ${{ secrets.PUSH_O_MATIC_APP_KEY }}
permission-contents: read
- uses: actions/checkout@df4cb1c069e1874edd31b4311f1884172cec0e10 # v6.0.3
- uses: actions/checkout@9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0 # v7.0.0
with:
persist-credentials: false
token: ${{ steps.token.outputs.token }}
@@ -699,13 +715,14 @@ jobs:
contents: read
steps:
- id: token
uses: immich-app/devtools/actions/create-workflow-token@9db058b2e6eec20e07760b0e17a0505c78ec3191 # create-workflow-token-action-v2.0.1
uses: immich-app/devtools/actions/create-workflow-token@1af396ae134e4bc3b63d947e672bc68bf4ff9dc5 # create-workflow-token-action-v3.0.0
with:
client-id: ${{ secrets.PUSH_O_MATIC_APP_CLIENT_ID }}
private-key: ${{ secrets.PUSH_O_MATIC_APP_KEY }}
permission-contents: read
- name: Checkout code
uses: actions/checkout@df4cb1c069e1874edd31b4311f1884172cec0e10 # v6.0.3
uses: actions/checkout@9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0 # v7.0.0
with:
persist-credentials: false
token: ${{ steps.token.outputs.token }}
@@ -757,13 +774,14 @@ jobs:
- 5432:5432
steps:
- id: token
uses: immich-app/devtools/actions/create-workflow-token@9db058b2e6eec20e07760b0e17a0505c78ec3191 # create-workflow-token-action-v2.0.1
uses: immich-app/devtools/actions/create-workflow-token@1af396ae134e4bc3b63d947e672bc68bf4ff9dc5 # create-workflow-token-action-v3.0.0
with:
client-id: ${{ secrets.PUSH_O_MATIC_APP_CLIENT_ID }}
private-key: ${{ secrets.PUSH_O_MATIC_APP_KEY }}
permission-contents: read
- name: Checkout code
uses: actions/checkout@df4cb1c069e1874edd31b4311f1884172cec0e10 # v6.0.3
uses: actions/checkout@9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0 # v7.0.0
with:
persist-credentials: false
token: ${{ steps.token.outputs.token }}

View File

@@ -24,10 +24,11 @@ jobs:
should_run: ${{ steps.check.outputs.should_run }}
steps:
- id: token
uses: immich-app/devtools/actions/create-workflow-token@9db058b2e6eec20e07760b0e17a0505c78ec3191 # create-workflow-token-action-v2.0.1
uses: immich-app/devtools/actions/create-workflow-token@1af396ae134e4bc3b63d947e672bc68bf4ff9dc5 # create-workflow-token-action-v3.0.0
with:
client-id: ${{ secrets.PUSH_O_MATIC_APP_CLIENT_ID }}
private-key: ${{ secrets.PUSH_O_MATIC_APP_KEY }}
permission-contents: read
- name: Check what should run
id: check
@@ -47,10 +48,11 @@ jobs:
if: ${{ fromJSON(needs.pre-job.outputs.should_run).i18n == true }}
steps:
- id: token
uses: immich-app/devtools/actions/create-workflow-token@9db058b2e6eec20e07760b0e17a0505c78ec3191 # create-workflow-token-action-v2.0.1
uses: immich-app/devtools/actions/create-workflow-token@1af396ae134e4bc3b63d947e672bc68bf4ff9dc5 # create-workflow-token-action-v3.0.0
with:
client-id: ${{ secrets.PUSH_O_MATIC_APP_CLIENT_ID }}
private-key: ${{ secrets.PUSH_O_MATIC_APP_KEY }}
permission-pull-requests: read
- name: Bot review status
env:

38
.vscode/settings.json vendored
View File

@@ -29,9 +29,6 @@
"editor.formatOnSave": true,
"tailwindCSS.lint.suggestCanonicalClasses": "ignore"
},
"svelte.plugin.svelte.compilerWarnings": {
"state_referenced_locally": "ignore"
},
"[typescript]": {
"editor.defaultFormatter": "esbenp.prettier-vscode",
"editor.formatOnSave": true
@@ -43,37 +40,40 @@
"eslint.useFlatConfig": true,
"eslint.validate": ["javascript", "typescript", "svelte"],
"eslint.workingDirectories": [
{ "directory": "cli", "changeProcessCWD": true },
{ "directory": "e2e", "changeProcessCWD": true },
{ "directory": "server", "changeProcessCWD": true },
{ "directory": "web", "changeProcessCWD": true }
{ "changeProcessCWD": true, "directory": "cli" },
{ "changeProcessCWD": true, "directory": "e2e" },
{ "changeProcessCWD": true, "directory": "server" },
{ "changeProcessCWD": true, "directory": "web" }
],
"files.watcherExclude": {
"**/.jj/**": true,
"**/.git/**": true,
"**/node_modules/**": true,
"**/build/**": true,
"**/dist/**": true,
"**/.svelte-kit/**": true
},
"explorer.fileNesting.enabled": true,
"explorer.fileNesting.patterns": {
"*.dart": "${capture}.g.dart,${capture}.gr.dart,${capture}.drift.dart",
"*.ts": "${capture}.spec.ts,${capture}.mock.ts",
"*.js": "${capture}.spec.js,${capture}.mock.js",
"*.ts": "${capture}.spec.ts,${capture}.mock.ts",
"package.json": "package-lock.json, yarn.lock, pnpm-lock.yaml, bun.lockb, bun.lock, pnpm-workspace.yaml, .pnpmfile.cjs"
},
"files.watcherExclude": {
"**/.git/**": true,
"**/.jj/**": true,
"**/.svelte-kit/**": true,
"**/build/**": true,
"**/dist/**": true,
"**/node_modules/**": true
},
"js/ts.preferences.importModuleSpecifier": "non-relative",
"search.exclude": {
"**/node_modules": true,
"**/.svelte-kit": true,
"**/build": true,
"**/dist": true,
"**/.svelte-kit": true,
"**/node_modules": true,
"**/open-api/typescript-sdk/src": true
},
"svelte.enable-ts-plugin": true,
"svelte.plugin.svelte.compilerWarnings": {
"state_referenced_locally": "ignore"
},
"tailwindCSS.experimental.configFile": {
"web/src/app.css": "web/src/**"
},
"js/ts.preferences.importModuleSpecifier": "non-relative",
"vitest.maximumConfigs": 10
}

View File

@@ -4,4 +4,4 @@
/web/ @danieldietzler
/machine-learning/ @mertalev
/e2e/ @danieldietzler
/mobile/ @shenlong-tanwen @santoshakil
/mobile/ @shenlong-tanwen @santoshakil @agg23

View File

@@ -32,11 +32,13 @@
<a href="readme_i18n/README_zh_TW.md">正體中文</a>
<a href="readme_i18n/README_uk_UA.md">Українська</a>
<a href="readme_i18n/README_ru_RU.md">Русский</a>
<a href="readme_i18n/README_bg_BG.md">Български</a>
<a href="readme_i18n/README_pt_BR.md">Português Brasileiro</a>
<a href="readme_i18n/README_sv_SE.md">Svenska</a>
<a href="readme_i18n/README_ar_JO.md">العربية</a>
<a href="readme_i18n/README_vi_VN.md">Tiếng Việt</a>
<a href="readme_i18n/README_th_TH.md">ภาษาไทย</a>
<a href="readme_i18n/README_ml_IN.md">മലയാളം</a>
</p>

View File

@@ -7,30 +7,37 @@ backend = "aqua:opentofu/opentofu"
[tools.opentofu."platforms.linux-arm64"]
checksum = "sha256:d4f2ab15776925864b049bb329d69682851de6f5204f256e9fa86d07a0308850"
url = "https://github.com/opentofu/opentofu/releases/download/v1.11.6/tofu_1.11.6_linux_arm64.tar.gz"
url_api = "https://api.github.com/repos/opentofu/opentofu/releases/assets/391536382"
[tools.opentofu."platforms.linux-arm64-musl"]
checksum = "sha256:d4f2ab15776925864b049bb329d69682851de6f5204f256e9fa86d07a0308850"
url = "https://github.com/opentofu/opentofu/releases/download/v1.11.6/tofu_1.11.6_linux_arm64.tar.gz"
url_api = "https://api.github.com/repos/opentofu/opentofu/releases/assets/391536382"
[tools.opentofu."platforms.linux-x64"]
checksum = "sha256:02800fafa2753a9f50c38483e2fdf5bc353fd62895eb9e25eec9a5145df3a69e"
url = "https://github.com/opentofu/opentofu/releases/download/v1.11.6/tofu_1.11.6_linux_amd64.tar.gz"
url_api = "https://api.github.com/repos/opentofu/opentofu/releases/assets/391536401"
[tools.opentofu."platforms.linux-x64-musl"]
checksum = "sha256:02800fafa2753a9f50c38483e2fdf5bc353fd62895eb9e25eec9a5145df3a69e"
url = "https://github.com/opentofu/opentofu/releases/download/v1.11.6/tofu_1.11.6_linux_amd64.tar.gz"
url_api = "https://api.github.com/repos/opentofu/opentofu/releases/assets/391536401"
[tools.opentofu."platforms.macos-arm64"]
checksum = "sha256:62d7fa8539e13b444827aa0a3b90c5972da5c47e8f8882d9dcf2e430e78840c1"
url = "https://github.com/opentofu/opentofu/releases/download/v1.11.6/tofu_1.11.6_darwin_arm64.tar.gz"
url_api = "https://api.github.com/repos/opentofu/opentofu/releases/assets/391536399"
[tools.opentofu."platforms.macos-x64"]
checksum = "sha256:1408cdef1c380f914565e6b4bb70794c6b163f195fcb233357f3d6c5745906b6"
url = "https://github.com/opentofu/opentofu/releases/download/v1.11.6/tofu_1.11.6_darwin_amd64.tar.gz"
url_api = "https://api.github.com/repos/opentofu/opentofu/releases/assets/391536384"
[tools.opentofu."platforms.windows-x64"]
checksum = "sha256:27323f70c875b8251bfd7e61a4cffc3ebff4e56ed1e611b955016f0c7077367e"
url = "https://github.com/opentofu/opentofu/releases/download/v1.11.6/tofu_1.11.6_windows_amd64.tar.gz"
url_api = "https://api.github.com/repos/opentofu/opentofu/releases/assets/391536406"
[[tools.terragrunt]]
version = "1.0.3"
@@ -39,27 +46,34 @@ backend = "aqua:gruntwork-io/terragrunt"
[tools.terragrunt."platforms.linux-arm64"]
checksum = "sha256:e5b60ab05b5214db694e6bc215d8124fb626e277cdb56b86f6147ae110d510fe"
url = "https://github.com/gruntwork-io/terragrunt/releases/download/v1.0.3/terragrunt_linux_arm64.tar.gz"
url_api = "https://api.github.com/repos/gruntwork-io/terragrunt/releases/assets/406654253"
[tools.terragrunt."platforms.linux-arm64-musl"]
checksum = "sha256:e5b60ab05b5214db694e6bc215d8124fb626e277cdb56b86f6147ae110d510fe"
url = "https://github.com/gruntwork-io/terragrunt/releases/download/v1.0.3/terragrunt_linux_arm64.tar.gz"
url_api = "https://api.github.com/repos/gruntwork-io/terragrunt/releases/assets/406654253"
[tools.terragrunt."platforms.linux-x64"]
checksum = "sha256:6d48049baf82e0bf9c804368dc85cbfeadc10955e33777e9e8de3e020b94b073"
url = "https://github.com/gruntwork-io/terragrunt/releases/download/v1.0.3/terragrunt_linux_amd64.tar.gz"
url_api = "https://api.github.com/repos/gruntwork-io/terragrunt/releases/assets/406654196"
[tools.terragrunt."platforms.linux-x64-musl"]
checksum = "sha256:6d48049baf82e0bf9c804368dc85cbfeadc10955e33777e9e8de3e020b94b073"
url = "https://github.com/gruntwork-io/terragrunt/releases/download/v1.0.3/terragrunt_linux_amd64.tar.gz"
url_api = "https://api.github.com/repos/gruntwork-io/terragrunt/releases/assets/406654196"
[tools.terragrunt."platforms.macos-arm64"]
checksum = "sha256:aacb5be2ca5475300cbce246dfbd8a45eb47510fbaa70fab8561c49ef5db03aa"
url = "https://github.com/gruntwork-io/terragrunt/releases/download/v1.0.3/terragrunt_darwin_arm64.tar.gz"
url_api = "https://api.github.com/repos/gruntwork-io/terragrunt/releases/assets/406654084"
[tools.terragrunt."platforms.macos-x64"]
checksum = "sha256:3133c2251e191aede8e3dd2a5b3aee2e91c5f08f88f117aee40eed9a24c8ef6b"
url = "https://github.com/gruntwork-io/terragrunt/releases/download/v1.0.3/terragrunt_darwin_amd64.tar.gz"
url_api = "https://api.github.com/repos/gruntwork-io/terragrunt/releases/assets/406653970"
[tools.terragrunt."platforms.windows-x64"]
checksum = "sha256:183b2745b4e04980a6bfa4450ff81956a12596ca22d70f7aaa793980f5b036db"
url = "https://github.com/gruntwork-io/terragrunt/releases/download/v1.0.3/terragrunt_windows_amd64.exe.tar.gz"
url_api = "https://api.github.com/repos/gruntwork-io/terragrunt/releases/assets/406654412"

View File

@@ -154,7 +154,7 @@ services:
redis:
container_name: immich_redis
image: docker.io/valkey/valkey:9@sha256:4963247afc4cd33c7d3b2d2816b9f7f8eeebab148d29056c2ca4d7cbc966f2d9
image: docker.io/valkey/valkey:9@sha256:8e8d64b405ce18f41b8e5ee20aa4687a8ed0022d1298f2ce31cdcf3a76e09411
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:4963247afc4cd33c7d3b2d2816b9f7f8eeebab148d29056c2ca4d7cbc966f2d9
image: docker.io/valkey/valkey:9@sha256:8e8d64b405ce18f41b8e5ee20aa4687a8ed0022d1298f2ce31cdcf3a76e09411
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:a75c5a35bc21d7afe69551eefa3cb1e1fb1775fe759408007a66b54ec3de1f29
image: prom/prometheus@sha256:3c42b892cf723fa54d2f262c37a0e1f80aa8c8ddb1da7b9b0df9455a35a7f893
volumes:
- ./prometheus.yml:/etc/prometheus/prometheus.yml
- prometheus-data:/prometheus

View File

@@ -61,7 +61,7 @@ services:
redis:
container_name: immich_redis
image: docker.io/valkey/valkey:9@sha256:4963247afc4cd33c7d3b2d2816b9f7f8eeebab148d29056c2ca4d7cbc966f2d9
image: docker.io/valkey/valkey:9@sha256:8e8d64b405ce18f41b8e5ee20aa4687a8ed0022d1298f2ce31cdcf3a76e09411
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:4963247afc4cd33c7d3b2d2816b9f7f8eeebab148d29056c2ca4d7cbc966f2d9
image: docker.io/valkey/valkey:9@sha256:8e8d64b405ce18f41b8e5ee20aa4687a8ed0022d1298f2ce31cdcf3a76e09411
healthcheck:
test: redis-cli ping || exit 1
restart: always

View File

@@ -10,7 +10,7 @@ DB_DATA_LOCATION=./postgres
# TZ=Etc/UTC
# The Immich version to use. You can pin this to a specific version like "v2.1.0"
IMMICH_VERSION=v2
IMMICH_VERSION=v3
# Connection secret for postgres. You should change it to a random password
# Please use only the characters `A-Za-z0-9`, without special characters or spaces

View File

@@ -31,7 +31,7 @@ You can trigger a database backup manually:
1. Go to **Administration > Job Queues**
2. Click **Create job** in the top right
3. Select **Create Database Backup** and click **Confirm**
3. Select **Create Database Dump** and click **Confirm**
The backup will appear in `UPLOAD_LOCATION/backups` and counts toward your retention limit.

View File

@@ -1,5 +1,30 @@
# System Integrity
## Integrity report
At a [customizable interval](https://my.immich.app/admin/system-settings?isOpen=integrity-checks), Immich runs integrity checks to ensure that your library is still intact and there are no corrupt files.
There are three kind of issues Immich checks for:
- Untracked files: the path was found in Immich's directories but it is not referenced in Immich's database
- Missing files: the path is found in the Immich internal database, but does not actually exist on disk
- Checksum mismatches: the checksum of the file stored in Immich's database does not match the actual file's checksum anymore
All three run nightly at 3am by default. For the "Checksum files" check, there are additional time and progress limits, as those are the most taxing checks. With these additional limits, Immich can slowly check checksums of your files over the course of a couple of days.
You can see the results of these checks on the [maintenance](https://my.immich.app/admin/maintenance) page. Here, you can also trigger a full scan (a _check_) for specific jobs, or all of them. In addition, you can also _refresh_ checks. This will only look at items that have currently been reported on, and check if those have been fixed.
### Common causes
Most common are untracked files. In many cases those are corrupted thumbnails or encoded videos that have been partially generated at some point and never got cleaned up properly. These are usually fine to delete, as both can always be regenerated at a later point. Other files will need to be investigated on a case-by-case basis by checking they already exist in Immich and thinking about how they might have gotten untracked.
:::info
You might want to run the _missing_ jobs for thumbnails and encoded videos (https://my.immich.app/admin/queues) to make sure all your assets have proper thumbnails and encoded videos. Watch the server logs while running the jobs, in case there are any issues with some assets.
:::
Missing files are files where Immich references them internally, but they don't actually exist on disk in that location. It could be that you deleted a file on disk from the internal library (don't do that, Immich doesn't support it). It could also be that there are issues with your file storage. Please carefully investigate missing files, and never hesitate to reach out on [our Discord](https://discord.immich.app) if you have any questions!
Checksum mismatches are often indicative of file system corruption. It could also be that you previously edited a file from the internal library on the disk, which is also not supported and will cause a checksum mismatch. Again, the recommended action is to look at any reported item individually, check it out, try to remember if you changed it or some metadata on it at some point. If you edited the file, the supported resolution is to delete the mismatched asset from Immich and reupload it as a new asset.
## Folder checks
:::info
@@ -40,7 +65,7 @@ The above error messages show that the server has previously (successfully) writ
### Ignoring the checks
:::warning
:::danger
The checks are designed to catch common problems that we have seen users have in the past, and often indicate there's something wrong that you should solve. If you know what you're doing and you want to disable them you can set the following environment variable:
:::

View File

@@ -30,7 +30,7 @@ This environment includes the services below. Additional details are available i
- Redis
- PostgreSQL development database with exposed port `5432` so you can use any database client to access it
All the services are packaged to run as with single Docker Compose command.
All the services are packaged to run with a single Docker Compose command.
:::tip mise
[mise](https://mise.jdx.dev) is used throughout the project to manage tool versions and run tasks. [Install mise](https://mise.jdx.dev/installing-mise.html), then from the repo root run `mise trust` and `mise install` to get all required tools. Tasks for each service can be run from the repo root using `mise //namespace:task` (e.g. `mise //server:lint`). To list all available tasks, run `mise tasks ls --all`.
@@ -41,7 +41,7 @@ All the services are packaged to run as with single Docker Compose command.
1. Clone the project repo.
2. Run `cp docker/example.env docker/.env`.
3. Edit `docker/.env` to provide values for the required variable `UPLOAD_LOCATION`.
4. Install dependencies - `pnpm i`
4. Install dependencies - `mise x -- pnpm i`
5. From the root directory, run:
```bash title="Start development server"
@@ -52,7 +52,7 @@ mise dev
All the services will be started with hot-reloading enabled for a quick feedback loop.
You can access the web from `http://your-machine-ip:3000` or `http://localhost:3000` and access the server from the mobile app at `http://your-machine-ip:3000/api`
You can access the web from `http://your-machine-ip:3000` or `http://localhost:3000` and access the server from the mobile app at `http://your-machine-ip:3000`
**Notes:**
@@ -99,6 +99,21 @@ To see local changes to `@immich/ui` in Immich, do the following:
2. Run `mise //mobile:translation` to generate the translation file.
3. Change to the `mobile/` directory and run `flutter run` to start the app.
##### iOS Code Signing
The Immich Apple Team ID and bundle IDs are specified in `mobile/ios/Signing.xcconfig`. For local development, we provide an override mechanism.
Create `mobile/ios/Signing.local.xcconfig` and populate it with the necessary values needed to build and sign Immich yourself. This local override file is gitignored.
```
IMMICH_TEAM_ID = ABCDE12345
IMMICH_BUNDLE_ID_PROD = com.customuniqueid.immich
IMMICH_BUNDLE_ID_DEV = com.customuniqueid.immichdev
IMMICH_GROUP_ID = group.com.customuniqueid.immich
```
The environment values are used across Immich's targets and schemes to prevent redundant edits by contributors.
#### Translation
To add a new translation text, enter the key-value pair in the `i18n/en.json` in the root of the immich project. Then run:

View File

@@ -99,6 +99,7 @@ Options:
-H, --include-hidden Include hidden folders (default: false, env: IMMICH_INCLUDE_HIDDEN)
-a, --album Automatically create albums based on folder name (default: false, env: IMMICH_AUTO_CREATE_ALBUM)
-A, --album-name <name> Add all assets to specified album (env: IMMICH_ALBUM_NAME)
--visibility <visibility> Set the visibility of uploaded assets (choices: "archive", "timeline", "hidden", "locked", env: IMMICH_VISIBILITY)
-n, --dry-run Don't perform any actions, just show what will be done (default: false, env: IMMICH_DRY_RUN)
-c, --concurrency <number> Number of assets to upload at the same time (default: 4, env: IMMICH_UPLOAD_CONCURRENCY)
-j, --json-output Output detailed information in json format (default: false, env: IMMICH_JSON_OUTPUT)
@@ -176,6 +177,12 @@ By default, hidden files are skipped. If you want to include hidden files, use t
immich upload --include-hidden --recursive directory/
```
You can set the visibility of uploaded assets to `archive`, `timeline`, `hidden`, or `locked` with the `--visibility` option:
```bash
immich upload --visibility archive --recursive directory/
```
You can use the `--json-output` option to get a json printed which includes
three keys: `newFiles`, `duplicates` and `newAssets`. Due to some logging
output you will need to strip the first three lines of output to get the json.

View File

@@ -19,7 +19,7 @@ If this does not work, try running `docker compose up -d --force-recreate`.
| Variable | Description | Default | Containers |
| :----------------- | :------------------------------ | :-----: | :----------------------- |
| `IMMICH_VERSION` | Image tags | `v2` | server, machine learning |
| `IMMICH_VERSION` | Image tags | `v3` | server, machine learning |
| `UPLOAD_LOCATION` | Host path for uploads | | server |
| `DB_DATA_LOCATION` | Host path for Postgres database | | database |
@@ -89,7 +89,7 @@ Information on the current workers can be found [here](/administration/jobs-work
\*1: The values of `DB_USERNAME`, `DB_PASSWORD`, and `DB_DATABASE_NAME` are passed to the Postgres container as the variables `POSTGRES_USER`, `POSTGRES_PASSWORD`, and `POSTGRES_DB` in `docker-compose.yml`.
\*2: If not provided, the appropriate extension to use is auto-detected at startup by introspecting the database. When multiple extensions are installed, the order of preference is VectorChord, pgvecto.rs, pgvector.
\*2: If not provided, the appropriate extension to use is auto-detected at startup by inspecting the database. When multiple extensions are installed, the order of preference is VectorChord, pgvector.
\*3: Uses either [`postgresql.ssd.conf`](https://github.com/immich-app/base-images/blob/main/postgres/postgresql.ssd.conf) or [`postgresql.hdd.conf`](https://github.com/immich-app/base-images/blob/main/postgres/postgresql.hdd.conf) which mainly controls the Postgres `effective_io_concurrency` setting to allow for concurrenct IO on SSDs and sequential IO on HDDs.

View File

@@ -7,7 +7,7 @@ sidebar_position: 85
:::note
This is a community contribution and not officially supported by the Immich team, but included here for convenience.
Community support can be found in the dedicated channel on the [Discord Server](https://discord.immich.app/).
Community support should be directed to Synology-specific support platforms.
:::
Immich can easily be installed on a Synology NAS using Container Manager within DSM. If you have not installed Container Manager already, you can install it in the Packages Center. Refer to the [Container Manager docs](https://kb.synology.com/en-us/DSM/help/ContainerManager/docker_desc?version=7) for more information on using Container Manager.

View File

@@ -121,7 +121,7 @@ alt="Go to Docker Tab and visit the address listed next to immich-web"
width="90%"
alt="Go to Docker Tab and visit the address listed next to immich-web"
/>
</details>
:::tip

View File

@@ -28,11 +28,15 @@ docker image prune
## Versioning Policy
Immich follows [semantic versioning][semver], which tags releases in the format `<major>.<minor>.<patch>`. We intend for breaking changes to be limited to major version releases.
You can configure your Docker image to point to the current major version by using a metatag, such as `:v2`.
Immich follows [semantic versioning][semver], which tags releases in the format `<major>.<minor>.<patch>`.
We intend for breaking changes, including those to the API or deployment, to be limited to major version releases.
You can configure your Docker image to point to the current major version by using a metatag, such as `:v3`. These metatags do not follow release candidates.
Currently, we have no plans to backport patches to earlier versions. We encourage all users to run the most recent release of Immich.
Switching back to an earlier version, even within the same minor release tag, is not supported.
The mobile app is typically compatible with the current and prior major version. However, the server is only compatible with the matching major version.
Thus, we recommend upgrading all mobile clients before upgrading the server to ensure compatibility.
We do not backport patches to earlier versions. We encourage all users to run the most recent stable release of Immich.
Downgrading to an earlier version, even within the same minor version, is not supported.
[semver]: https://semver.org/

View File

@@ -1,7 +1,7 @@
The mobile app can be downloaded from the following places:
- Obtainium: You can get your Obtainium config link from the [Utilities page of your Immich server](https://my.immich.app/utilities).
- [Google Play Store](https://play.google.com/store/apps/details?id=app.alextran.immich)
- [Apple App Store](https://apps.apple.com/us/app/immich/id1613945652)
- [F-Droid](https://f-droid.org/packages/app.alextran.immich)
- [GitHub Releases (apk)](https://github.com/immich-app/immich/releases)
- [Google Play Store](https://play.google.com/store/apps/details?id=app.alextran.immich)
- [GitHub Releases (APK)](https://github.com/immich-app/immich/releases)
- Obtainium: You can get your Obtainium config link from the [Utilities page of your Immich server](https://my.immich.app/utilities).
- [F-Droid](https://app.futo.org/fdroid/repo/)

View File

@@ -1,7 +1,7 @@
# @generated - this file is auto-generated by `mise lock` https://mise.en.dev/dev-tools/mise-lock.html
[[tools.wrangler]]
version = "4.100.0"
version = "4.110.0"
backend = "npm:wrangler"
[tools.wrangler.options]

View File

@@ -28,4 +28,4 @@ run = "prettier --write ."
run = "wrangler pages deploy build --project-name=${PROJECT_NAME} --branch=${BRANCH_NAME}"
[tools]
wrangler = "4.100.0"
wrangler = "4.111.0"

View File

@@ -40,7 +40,8 @@
"@docusaurus/tsconfig": "^3.10.0",
"@docusaurus/types": "^3.10.0",
"prettier": "^3.7.4",
"typescript": "^6.0.0"
"@typescript/native": "npm:typescript@^7.0.2",
"typescript": "npm:@typescript/typescript6@^6.0.2"
},
"browserslist": {
"production": [

View File

@@ -1,7 +1,7 @@
[
{
"label": "v3.0.0-rc.4",
"url": "https://docs.v3.0.0-rc.4.archive.immich.app"
"label": "v3.0.3",
"url": "https://docs.v3.0.3.archive.immich.app"
},
{
"label": "v2.7.5",

View File

@@ -45,7 +45,7 @@ services:
redis:
container_name: immich-e2e-redis
image: docker.io/valkey/valkey:9@sha256:4963247afc4cd33c7d3b2d2816b9f7f8eeebab148d29056c2ca4d7cbc966f2d9
image: docker.io/valkey/valkey:9@sha256:8e8d64b405ce18f41b8e5ee20aa4687a8ed0022d1298f2ce31cdcf3a76e09411
healthcheck:
test: redis-cli ping || exit 1

View File

@@ -41,9 +41,18 @@ export default typescriptEslint.config([
'@typescript-eslint/no-floating-promises': 'error',
'unicorn/prefer-module': 'off',
'unicorn/import-style': 'off',
'unicorn/consistent-boolean-name': 'off',
'unicorn/no-non-function-verb-prefix': 'off',
'unicorn/no-unreadable-for-of-expression': 'off',
'unicorn/max-nested-calls': 'off',
'unicorn/prefer-uint8array-base64': 'off',
'unicorn/isolated-functions': 'off',
'unicorn/prefer-promise-with-resolvers': 'off',
'unicorn/no-declarations-before-early-exit': 'off',
'unicorn/prefer-simple-condition-first': 'off',
curly: 2,
'prettier/prettier': 0,
'unicorn/prevent-abbreviations': 'off',
'unicorn/name-replacements': 'off',
'unicorn/filename-case': 'off',
'unicorn/no-null': 'off',
'unicorn/prefer-top-level-await': 'off',

View File

@@ -1,6 +1,6 @@
{
"name": "immich-e2e",
"version": "3.0.0-rc.4",
"version": "3.0.3",
"description": "",
"main": "index.js",
"type": "module",
@@ -32,7 +32,7 @@
"@playwright/test": "^1.44.1",
"@socket.io/component-emitter": "^3.1.2",
"@types/luxon": "^3.4.2",
"@types/node": "^24.13.2",
"@types/node": "^24.13.3",
"@types/pg": "^8.15.1",
"@types/pngjs": "^6.0.4",
"@types/supertest": "^7.0.0",
@@ -40,7 +40,7 @@
"eslint": "^10.0.0",
"eslint-config-prettier": "^10.1.8",
"eslint-plugin-prettier": "^5.1.3",
"eslint-plugin-unicorn": "^64.0.0",
"eslint-plugin-unicorn": "^72.0.0",
"exiftool-vendored": "^35.0.0",
"globals": "^17.0.0",
"luxon": "^3.4.4",
@@ -51,7 +51,8 @@
"sharp": "^0.34.5",
"socket.io-client": "^4.7.4",
"supertest": "^7.0.0",
"typescript": "^6.0.0",
"@typescript/native": "npm:typescript@^7.0.2",
"typescript": "npm:@typescript/typescript6@^6.0.2",
"typescript-eslint": "^8.28.0",
"utimes": "^5.2.1",
"vitest": "^4.0.0"

View File

@@ -118,7 +118,7 @@ describe('/admin/database-backups', () => {
expect(status).toBe(201);
cookie = headers['set-cookie'][0].split(';')[0];
cookie = headers['set-cookie'][0].split(';', 1)[0];
await expect
.poll(
@@ -224,7 +224,7 @@ describe('/admin/database-backups', () => {
});
expect(status).toBe(201);
cookie = headers['set-cookie'][0].split(';')[0];
cookie = headers['set-cookie'][0].split(';', 1)[0];
await expect
.poll(
@@ -295,7 +295,7 @@ describe('/admin/database-backups', () => {
});
expect(status).toBe(201);
cookie = headers['set-cookie'][0].split(';')[0];
cookie = headers['set-cookie'][0].split(';', 1)[0];
await expect
.poll(

View File

@@ -85,7 +85,7 @@ describe('/admin/maintenance', () => {
expect(status).toBe(201);
cookie = headers['set-cookie'][0].split(';')[0];
cookie = headers['set-cookie'][0].split(';', 1)[0];
expect(cookie).toEqual(
expect.stringMatching(/^immich_maintenance_token=[A-Za-z0-9-_]*\.[A-Za-z0-9-_]*\.[A-Za-z0-9-_]*$/),
);
@@ -149,7 +149,7 @@ describe('/admin/maintenance', () => {
const { status, body } = await request(app)
.post('/admin/maintenance/login')
.send({
token: cookie!.split('=')[1].trim(),
token: cookie!.split('=', 2)[1].trim(),
});
expect(status).toBe(201);
expect(body).toEqual(

View File

@@ -27,7 +27,7 @@ test.describe('Maintenance', () => {
test('maintenance shows no options to users until they authenticate', async ({ page }) => {
const setCookie = await utils.enterMaintenance(admin.accessToken);
const cookie = setCookie
?.map((cookie) => cookie.split(';')[0].split('='))
?.map((cookie) => cookie.split(';', 1)[0].split('='))
?.find(([name]) => name === 'immich_maintenance_token');
expect(cookie).toBeTruthy();

View File

@@ -120,6 +120,7 @@ describe('/albums', () => {
}),
]);
// eslint-disable-next-line unicorn/no-unreadable-array-destructuring
[user2Albums[0]] = await Promise.all([
getAlbumInfo({ id: user2Albums[0].id }, { headers: asBearerAuth(user2.accessToken) }),
deleteUserAdmin({ id: user3.userId, userAdminDeleteDto: {} }, { headers: asBearerAuth(admin.accessToken) }),
@@ -796,5 +797,22 @@ describe('/albums', () => {
expect(status).toBe(400);
expect(body).toEqual(errorDto.badRequest('Not found or no album.share access'));
});
it('should not allow an editor to change the role of an owner', async () => {
const album = await utils.createAlbum(user1.accessToken, {
albumName: 'testAlbum',
albumUsers: [{ userId: user2.userId, role: AlbumUserRole.Editor }],
});
expect(album.albumUsers[1].role).toEqual(AlbumUserRole.Editor);
const { status, body } = await request(app)
.put(`/albums/${album.id}/user/${user1.userId}`)
.set('Authorization', `Bearer ${user2.accessToken}`)
.send({ role: AlbumUserRole.Editor });
expect(status).toBe(400);
expect(body).toEqual(errorDto.badRequest('User is owner'));
});
});
});

View File

@@ -781,7 +781,7 @@ describe('/asset', () => {
exifImageWidth: 4032,
exifImageHeight: 3024,
latitude: 41.2203,
longitude: -96.071_625,
longitude: -96.071625,
make: 'Apple',
model: 'iPhone 7',
lensModel: 'iPhone 7 back camera 3.99mm f/1.8',
@@ -973,9 +973,9 @@ describe('/asset', () => {
fileSizeInByte: 31_175_472,
focalLength: 18.3,
iso: 100,
latitude: 36.613_24,
latitude: 36.61324,
lensModel: '18.3mm F2.8',
longitude: -121.897_85,
longitude: -121.89785,
make: 'RICOH IMAGING COMPANY, LTD.',
model: 'RICOH GR III',
orientation: '1',

View File

@@ -75,7 +75,7 @@ describe('/map', () => {
country: 'United States of America',
id: expect.any(String),
lat: expect.closeTo(39.115),
lon: expect.closeTo(-108.400_968),
lon: expect.closeTo(-108.400968),
state: 'Colorado',
},
{
@@ -83,7 +83,7 @@ describe('/map', () => {
country: 'United States of America',
id: expect.any(String),
lat: expect.closeTo(41.2203),
lon: expect.closeTo(-96.071_625),
lon: expect.closeTo(-96.071625),
state: 'Nebraska',
},
]);
@@ -123,7 +123,7 @@ describe('/map', () => {
country: 'United States of America',
id: expect.any(String),
lat: expect.closeTo(39.115),
lon: expect.closeTo(-108.400_968),
lon: expect.closeTo(-108.400968),
state: 'Colorado',
},
{
@@ -131,7 +131,7 @@ describe('/map', () => {
country: 'United States of America',
id: expect.any(String),
lat: expect.closeTo(41.2203),
lon: expect.closeTo(-96.071_625),
lon: expect.closeTo(-96.071625),
state: 'Nebraska',
},
]);
@@ -188,20 +188,20 @@ describe('/map', () => {
const reverseGeocodeTestCases = [
{
name: 'Vaucluse',
lat: -33.858_977_058_663_13,
lon: 151.278_490_730_270_48,
lat: -33.85897705866313,
lon: 151.27849073027048,
results: [{ city: 'Vaucluse', state: 'New South Wales', country: 'Australia' }],
},
{
name: 'Ravenhall',
lat: -37.765_732_399_174_75,
lon: 144.752_453_164_883_3,
lat: -37.76573239917475,
lon: 144.7524531648833,
results: [{ city: 'Ravenhall', state: 'Victoria', country: 'Australia' }],
},
{
name: 'Scarborough',
lat: -31.894_346_156_789_997,
lon: 115.757_617_103_904_64,
lat: -31.894346156789997,
lon: 115.75761710390464,
results: [{ city: 'Scarborough', state: 'Western Australia', country: 'Australia' }],
},
];

View File

@@ -44,7 +44,7 @@ const loginWithOAuth = async (sub: OAuthUser | string, redirectUri?: string) =>
});
// login
const response1 = await redirect(url.replace(authServer.internal, authServer.external));
const response1 = await redirect(url.replace(authServer.internal, () => authServer.external));
const response2 = await request(authServer.external + response1.location)
.post('')
.set('Cookie', response1.cookies)

View File

@@ -4,6 +4,7 @@ import {
AssetVisibility,
deleteAssets,
LoginResponseDto,
SharedLinkType,
updateAsset,
} from '@immich/sdk';
import { DateTime } from 'luxon';
@@ -86,23 +87,23 @@ describe('/search', () => {
// note: the coordinates here are not the actual coordinates of the images and are random for most of them
const coordinates = [
{ latitude: 48.853_41, longitude: 2.3488 }, // paris
{ latitude: 35.6895, longitude: 139.691_71 }, // tokyo
{ latitude: 52.524_37, longitude: 13.410_53 }, // berlin
{ latitude: 1.314_663_1, longitude: 103.845_409_3 }, // singapore
{ latitude: 41.013_84, longitude: 28.949_66 }, // istanbul
{ latitude: 5.556_02, longitude: -0.1969 }, // accra
{ latitude: 37.544_270_6, longitude: -4.727_752_8 }, // andalusia
{ latitude: 23.133_02, longitude: -82.383_04 }, // havana
{ latitude: 41.694_11, longitude: 44.833_68 }, // tbilisi
{ latitude: 31.222_22, longitude: 121.458_06 }, // shanghai
{ latitude: 48.85341, longitude: 2.3488 }, // paris
{ latitude: 35.6895, longitude: 139.69171 }, // tokyo
{ latitude: 52.52437, longitude: 13.41053 }, // berlin
{ latitude: 1.3146631, longitude: 103.8454093 }, // singapore
{ latitude: 41.01384, longitude: 28.94966 }, // istanbul
{ latitude: 5.55602, longitude: -0.1969 }, // accra
{ latitude: 37.5442706, longitude: -4.7277528 }, // andalusia
{ latitude: 23.13302, longitude: -82.38304 }, // havana
{ latitude: 41.69411, longitude: 44.83368 }, // tbilisi
{ latitude: 31.22222, longitude: 121.45806 }, // shanghai
{ latitude: 38.9711, longitude: -109.7137 }, // thompson springs
{ latitude: 40.714_27, longitude: -74.005_97 }, // new york
{ latitude: 47.040_57, longitude: 9.068_04 }, // glarus
{ latitude: 32.771_52, longitude: -89.116_73 }, // philadelphia
{ latitude: 31.634_16, longitude: -7.999_94 }, // marrakesh
{ latitude: 38.523_735_4, longitude: -78.488_619_4 }, // tanners ridge
{ latitude: 59.938_63, longitude: 30.314_13 }, // st. petersburg
{ latitude: 40.71427, longitude: -74.00597 }, // new york
{ latitude: 47.04057, longitude: 9.06804 }, // glarus
{ latitude: 32.77152, longitude: -89.11673 }, // philadelphia
{ latitude: 31.63416, longitude: -7.99994 }, // marrakesh
{ latitude: 38.5237354, longitude: -78.4886194 }, // tanners ridge
{ latitude: 59.93863, longitude: 30.31413 }, // st. petersburg
{ latitude: 0, longitude: 0 }, // null island
];
@@ -111,7 +112,7 @@ describe('/search', () => {
);
await Promise.all(updates);
for (const [i] of coordinates.entries()) {
for (const i of coordinates.keys()) {
await utils.waitForWebsocketEvent({ event: 'assetUpdate', id: assets[i].id });
}
@@ -357,6 +358,32 @@ describe('/search', () => {
expect(body.assets.items).toHaveLength(assets.length);
});
}
it('should reject shared link access without an album filter', async () => {
const album = await utils.createAlbum(admin.accessToken, { albumName: 'foo' });
const sharedLink = await utils.createSharedLink(admin.accessToken, {
type: SharedLinkType.Album,
albumId: album.id,
});
const { status, body } = await request(app).post(`/search/metadata?key=${sharedLink.key}`).send({});
expect(status).toBe(400);
expect(body).toEqual({ message: 'Shared link access is only allowed in combination with an albumIds filter' });
});
it('should allow shared link access for albums', async () => {
const asset = await utils.createAsset(admin.accessToken);
const album = await utils.createAlbum(admin.accessToken, { albumName: 'foo', assetIds: [asset.id] });
const sharedLink = await utils.createSharedLink(admin.accessToken, {
type: SharedLinkType.Album,
albumId: album.id,
});
const { status, body } = await request(app)
.post(`/search/metadata?key=${sharedLink.key}`)
.send({ albumIds: [album.id] });
expect(status).toBe(200);
expect(body.assets.items).toEqual([expect.objectContaining({ id: asset.id })]);
});
});
describe('POST /search/random', () => {

View File

@@ -91,12 +91,14 @@ describe('/server', () => {
it('should respond with the server version', async () => {
const { status, body } = await request(app).get('/server/version');
expect(status).toBe(200);
expect(body).toEqual({
major: expect.any(Number),
minor: expect.any(Number),
patch: expect.any(Number),
prerelease: expect.anything(),
});
expect(body).toEqual(
expect.objectContaining({
major: expect.any(Number),
minor: expect.any(Number),
patch: expect.any(Number),
}),
);
expect(Object.keys(body)).toEqual(expect.arrayContaining(['major', 'minor', 'patch', 'prerelease']));
});
});

View File

@@ -31,7 +31,7 @@ describe(`immich login`, () => {
it('should login and save auth.yml with 600', async () => {
const admin = await utils.adminSetup();
const key = await utils.createApiKey(admin.accessToken, [Permission.All]);
const { stdout, stderr, exitCode } = await immichCli(['login', app, `${key.secret}`]);
const { stdout, stderr, exitCode } = await immichCli(['login', app, key.secret]);
expect(stdout.split('\n')).toEqual([
'Logging in to http://127.0.0.1:2285/api',
'Logged in as admin@immich.cloud',
@@ -48,7 +48,7 @@ describe(`immich login`, () => {
it('should login without /api in the url', async () => {
const admin = await utils.adminSetup();
const key = await utils.createApiKey(admin.accessToken, [Permission.All]);
const { stdout, stderr, exitCode } = await immichCli(['login', app.replaceAll('/api', ''), `${key.secret}`]);
const { stdout, stderr, exitCode } = await immichCli(['login', app.replaceAll('/api', ''), key.secret]);
expect(stdout.split('\n')).toEqual([
'Logging in to http://127.0.0.1:2285',
'Discovered API at http://127.0.0.1:2285/api',

View File

@@ -119,7 +119,9 @@ describe(`immich upload`, () => {
const baseDir = `/tmp/upload/`;
const testPaths = Object.keys(files).map((filePath) => `${baseDir}/${filePath}`);
testPaths.map((filePath) => utils.createImageFile(filePath));
for (const filePath of testPaths) {
utils.createImageFile(filePath);
}
const commandLine = paths.map((argument) => `${baseDir}/${argument}`);
@@ -135,7 +137,9 @@ describe(`immich upload`, () => {
const assets = await getAssetStatistics({}, { headers: asKeyAuth(key) });
expect(assets.total).toBe(expectedCount);
testPaths.map((filePath) => utils.removeImageFile(filePath));
for (const filePath of testPaths) {
utils.removeImageFile(filePath);
}
});
}
});

View File

@@ -21,7 +21,7 @@ export const randomImageFromString = async (
let seedNumber = 0;
for (let i = 0; i < seed.length; i++) {
seedNumber = (seedNumber << 5) - seedNumber + (seed.codePointAt(i) ?? 0);
seedNumber = seedNumber & seedNumber; // Convert to 32bit integer
seedNumber &= seedNumber; // Convert to 32bit integer
}
return randomImage(new SeededRandom(Math.abs(seedNumber)), { width, height });
};

View File

@@ -64,7 +64,7 @@ export function generateAsset(
const asset: MockTimelineAsset = {
id: assetId,
ownerId,
ratio: Number.parseFloat(ratio.split(':')[0]) / Number.parseFloat(ratio.split(':')[1]),
ratio: Number(ratio.split(':', 1)[0]) / Number(ratio.split(':', 2)[1]),
thumbhash: generateThumbhash(rng),
localDateTime: date.toISOString(),
fileCreatedAt: date.toISOString(),
@@ -214,7 +214,7 @@ export function generateTimelineData(config: TimelineConfig): MockTimelineData {
}
// Create a mock album from random assets
const allAssets = [...buckets.values()].flat();
const allAssets = buckets.values().toArray().flat();
// Select 10-30 random assets for the album (or all assets if less than 10)
const albumSize = Math.min(allAssets.length, globalRng.nextInt(10, 31));

View File

@@ -172,11 +172,7 @@ function shouldIncludeAsset(
if (isArchived !== undefined && actuallyArchived !== isArchived) {
return false;
}
if (isFavorite !== undefined && actuallyFavorited !== isFavorite) {
return false;
}
return true;
return isFavorite === undefined || actuallyFavorited === isFavorite;
}
/**
* Get summary for all buckets (mimics getTimeBuckets API)
@@ -361,7 +357,7 @@ export function getAsset(
owner?: UserResponseDto,
): AssetResponseDto | undefined {
// Search through all buckets for the asset
const buckets = [...timelineData.buckets.values()];
const buckets = timelineData.buckets.values().toArray();
for (const assets of buckets) {
const asset = assets.find((a) => a.id === assetId);
if (asset) {
@@ -395,7 +391,7 @@ export function getAlbum(
// Get the actual asset objects from the timeline data
const albumAssets: AssetResponseDto[] = [];
const allAssets = [...timelineData.buckets.values()].flat();
const allAssets = timelineData.buckets.values().toArray().flat();
for (const assetId of album.assetIds) {
const assetConfig = allAssets.find((a) => a.id === assetId);

View File

@@ -143,7 +143,7 @@ export function validateTimelineConfig(config: TimelineConfig): void {
}
// Validate seed if provided
if (config.seed !== undefined && (config.seed < 0 || !Number.isInteger(config.seed))) {
if (config.seed !== undefined && (config.seed < 0 || !Number.isSafeInteger(config.seed))) {
throw new Error('Seed must be a non-negative integer');
}

View File

@@ -153,11 +153,8 @@ export function getMockAsset(
const isInDifferentPeriod = (date1: DateTime, date2: DateTime): boolean => {
if (unit === 'day') {
return !date1.startOf('day').equals(date2.startOf('day'));
} else if (unit === 'month') {
return date1.year !== date2.year || date1.month !== date2.month;
} else {
return date1.year !== date2.year;
}
return unit === 'month' ? date1.year !== date2.year || date1.month !== date2.month : date1.year !== date2.year;
};
if (direction === 'next') {

View File

@@ -82,6 +82,9 @@ export const setupBaseMockApiRoutes = async (context: BrowserContext, adminUserI
cast: {
gCastEnabled: false,
},
recentlyAdded: {
sidebarWeb: false,
},
},
});
});

View File

@@ -40,7 +40,8 @@ export const setupTimelineMockApiRoutes = async (
contentType: 'application/json',
json: getTimeBuckets(timelineRestData, isTrashed, isArchived, isFavorite, albumId, changes),
});
} else if (pathname === '/api/timeline/bucket') {
}
if (pathname === '/api/timeline/bucket') {
const timeBucket = url.searchParams.get('timeBucket');
if (!timeBucket) {
return route.continue();

View File

@@ -38,7 +38,7 @@ test.describe('asset-viewer', () => {
assets.push(...timeBucket);
}
for (const yearMonth of timelineRestData.buckets.keys()) {
const [year, month] = yearMonth.split('-');
const [year, month] = yearMonth.split('-', 2);
yearMonths.push(`${year}-${Number(month)}`);
}
});

View File

@@ -110,6 +110,7 @@ export async function enableTagsPreference(context: BrowserContext) {
download: { archiveSize: 4_294_967_296, includeEmbeddedVideos: false },
purchase: { showSupportBadge: true, hideBuyButtonUntil: '2100-02-12T00:00:00.000Z' },
cast: { gCastEnabled: false },
recentlyAdded: { sidebarWeb: false },
},
});
});

View File

@@ -1,3 +1,4 @@
/* eslint-disable unicorn/no-this-outside-of-class */
import type { AssetResponseDto } from '@immich/sdk';
import { expect, Page } from '@playwright/test';

View File

@@ -49,7 +49,7 @@ test.describe('Timeline', () => {
assets.push(...timeBucket);
}
for (const yearMonth of timelineRestData.buckets.keys()) {
const [year, month] = yearMonth.split('-');
const [year, month] = yearMonth.split('-', 2);
yearMonths.push(`${year}-${Number(month)}`);
}
});

View File

@@ -7,7 +7,7 @@ export const sleep = (ms: number) => {
};
export const padYearMonth = (yearMonth: string) => {
const [year, month] = yearMonth.split('-');
const [year, month] = yearMonth.split('-', 2);
return `${year}-${month.padStart(2, '0')}`;
};
@@ -72,6 +72,7 @@ export const thumbnailUtils = {
},
async queryThumbnailInViewport(page: Page, collector: (assetId: string) => boolean) {
const assetIds: string[] = [];
// eslint-disable-next-line unicorn/no-this-outside-of-class
for (const thumb of await this.locator(page).all()) {
const box = await thumb.boundingBox();
if (box) {
@@ -151,6 +152,7 @@ export const timelineUtils = {
page.evaluate(() => {
// eslint-disable-next-line @typescript-eslint/ban-ts-comment
// @ts-ignore
return document.querySelector('#asset-grid').scrollTop;
});
await expect.poll(queryTop).toBeGreaterThan(0);
@@ -177,6 +179,7 @@ export const assetViewerUtils = {
page.evaluate(() => {
// eslint-disable-next-line @typescript-eslint/ban-ts-comment
// @ts-ignore
// eslint-disable-next-line unicorn/no-optional-chaining-on-undeclared-variable
return document.activeElement?.dataset?.asset;
});
await expect(poll(page, activeElement, (result) => result === assetId)).resolves.toBe(assetId);

View File

@@ -1,3 +1,4 @@
/* eslint-disable unicorn/no-top-level-assignment-in-function */
import {
AssetMediaCreateDto,
AssetMediaResponseDto,
@@ -177,7 +178,7 @@ export const utils = {
resetDatabase: async (tables?: string[]) => {
client = await utils.connectDatabase();
tables = tables || [
tables ||= [
// TODO e2e test for deleting a stack, since it is quite complex
'stack',
'library',
@@ -304,7 +305,7 @@ export const utils = {
},
adminSetup: async (options?: AdminSetupOptions) => {
options = options || { onboarding: true };
options ||= { onboarding: true };
await signUpAdmin({ signUpDto: signupDto.admin });
const response = await login({ loginCredentialDto: loginDto.admin });
@@ -545,6 +546,7 @@ export const utils = {
{
headers: asBearerAuth(accessToken),
fetch: (...args: Parameters<typeof fetch>) =>
// eslint-disable-next-line unicorn/no-invalid-argument-count, unicorn/prefer-await
fetch(...args).then((response) => {
setCookie = response.headers.getSetCookie();
return response;
@@ -674,7 +676,7 @@ export const utils = {
cliLogin: async (accessToken: string) => {
const key = await utils.createApiKey(accessToken, [Permission.All]);
await immichCli(['login', app, `${key.secret}`]);
await immichCli(['login', app, key.secret]);
return key.secret;
},
@@ -706,6 +708,7 @@ export const utils = {
},
};
// eslint-disable-next-line unicorn/no-top-level-side-effects
utils.initSdk();
if (!existsSync(`${testAssetDir}/albums`)) {

View File

@@ -10,6 +10,7 @@
"allowSyntheticDefaultImports": true,
"resolveJsonModule": true,
"target": "es2023",
"lib": ["dom", "ESNext"],
"sourceMap": true,
"outDir": "./dist",
"incremental": true,

View File

@@ -1304,7 +1304,7 @@
"login_form_handshake_exception": "كان هناك استثناء مصافحة مع الخادم.تمكين دعم الشهادة الموقعة ذاتيا في الإعدادات إذا كنت تستخدم شهادة موقعة ذاتيا.",
"login_form_password_hint": "كلمة المرور",
"login_form_server_empty": "أدخل عنوان URL الخادم.",
"login_form_server_error": "لا يمكن الاتصال بالخادم.",
"login_form_server_error": "تعذر الاتصال بالخادم.",
"login_has_been_disabled": "تم تعطيل تسجيل الدخول.",
"login_password_changed_error": "كان هناك خطأ في تحديث كلمة المرور الخاصة بك",
"login_password_changed_success": "تم تحديث كلمة السر بنجاح",

View File

@@ -53,11 +53,11 @@
"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": "Рэзервовыя копіі",
"backup_settings": "Налады рэзервовага капіявання",
"backup_settings": "Налады рэзервовага капіравання",
"backup_settings_description": "Кіраванне наладамі рэзервавання базы даных.",
"cleared_jobs": "Ачышчаны заданні для: {job}",
"config_set_by_file": "Канфігурацыя зараз усталявана праз файл канфігурацыі",
@@ -70,12 +70,12 @@
"copy_config_to_clipboard_description": "Капіраваць бягучую канфігурацыю сістэмы ў JSON у буфер абмену",
"create_job": "Стварыць заданне",
"cron_expression": "Выраз Cron",
"cron_expression_description": "Задайце інтэрвал сканавання, выкарыстоўваючы фармат cron. Для атрымання дадатковай інфармацыі, звярніцеся, напрыклад, да <link>Crontab Guru</link>",
"cron_expression_description": "Задайце інтэрвал сканіравання, выкарыстоўваючы фармат cron. Для атрымання дадатковай інфармацыі, звярніцеся, напрыклад, да <link>Crontab Guru</link>",
"cron_expression_presets": "Прадустаноўкі выразаў Cron",
"disable_login": "Адключыць уваход",
"download_csv": "Спампаваць CSV",
"duplicate_detection_job_description": "Запусціць машыннае навучанне на аб’ектах для выяўлення падобных відарысаў. Залежыць ад Smart Search",
"exclusion_pattern_description": "Шаблоны выключэння дазваляюць ігнараваць файлы і папкі пры сканаванні вашай бібліятэкі. Гэта карысна, калі ў вас ёсць папкі, якія змяшчаюць файлы, якія вы не хочаце імпартаваць, напрыклад, файлы RAW.",
"exclusion_pattern_description": "Шаблоны выключэння дазваляюць ігнараваць файлы і папкі пры сканіраванні бібліятэкі. Гэта карысна, калі ў вас ёсць папкі, якія змяшчаюць файлы, якія вы не хочаце імпартаваць, напрыклад, файлы RAW.",
"export_config_as_json_description": "Захаваць бягучую канфігурацыю сістэмы ў файл JSON",
"external_libraries_page_description": "Кіраванне знешнімі бібліятэкамі",
"face_detection": "Выяўленне твараў",
@@ -92,7 +92,7 @@
"image_fullsize_title": "Налады відарыса ў поўным памеры",
"image_prefer_embedded_preview": "Аддаваць перавагу ўбудаванай праяве",
"image_prefer_embedded_preview_setting_description": "Выкарыстоўваць убудаваныя праявы ў RAW-фотаздымках ў якасці ўваходных даных для апрацоўкі малюнкаў, калі магчыма. Гэта дазваляе атрымаць больш дакладныя колеры для некаторых відарысаў, але ж якасць праяў залежыць ад камеры, і на відарысе можа быць больш артэфактаў сціску.",
"image_prefer_wide_gamut": "Аддаць перавагу шырокай гаме",
"image_prefer_wide_gamut": "Аддаваць перавагу шырокай гаме",
"image_prefer_wide_gamut_setting_description": "Выкарыстоўвайце Display P3 для мініяцюр. Гэта лепей захоўвае яркасць відарысаў з шырокай колеравай прасторай, але відарысы могуць выглядаць па-іншаму на старых прыладах са старай версіяй браузера. Відарысы sRGB захоўваюцца ў фармаце sRGB, што дазваляе пазбегнуць колеравых зрухаў.",
"image_preview_description": "Відарыс сярэдняга памеру з выдаленымі метаданымі, выкарыстоўваецца пры праглядзе асобнага рэсурсу і для машыннага навучання",
"image_preview_quality_description": "Якасць перадпрагляду ад 1 да 100. Чым вышэй, тым лепш, але файлы становяцца большымі, і гэта можа знізіць хуткасць працы праграмы. Нізкае значэнне можа паўплываць на якасць машыннага навучання.",
@@ -108,6 +108,21 @@
"image_thumbnail_quality_description": "Якасць мініяцюр ад 1 да 100. Чым вышэй, тым лепш, але файлы становяцца большымі, што можа знізіць хуткасць працы праграмы.",
"image_thumbnail_title": "Налады мініяцюр",
"import_config_from_json_description": "Імпартаваць канфігурацыю сістэмы праз запампоўванне JSON файла настроек",
"integrity_checks_checksum_files": "Файлы кантрольных сум",
"integrity_checks_checksum_files_description": "Наладжванне праверкі кантрольнай сумы",
"integrity_checks_checksum_files_enable_description": "Уключыць праверку кантрольнай сумы",
"integrity_checks_checksum_files_percentage_limit": "Працэнтны ліміт",
"integrity_checks_checksum_files_percentage_limit_description": "Наладзьце максімальны працэнт ад 0,01 да 1, які вызначае, колькі разоў трэба правяраць кантрольную суму кожны інтэрвал.",
"integrity_checks_checksum_files_time_limit": "Абмежаванне па часе",
"integrity_checks_checksum_files_time_limit_description": "Наладжванне максімальнай працягласці, на працягу якой праверка кантрольнай сумы павінна выконвацца кожны інтэрвал. (мс)",
"integrity_checks_missing_files": "Адсутныя файлы",
"integrity_checks_missing_files_description": "Наладжванне частаты і ўключэнне або выключэнне праверкі адсутных файлаў",
"integrity_checks_missing_files_enable_description": "Уключэнне праверкі адсутных файлаў",
"integrity_checks_settings": "Праверкі цэласнасці",
"integrity_checks_settings_description": "Кіраванне інтэрваламі праверак цэласнасці",
"integrity_checks_untracked_files": "Неадсочваныя файлы",
"integrity_checks_untracked_files_description": "Наладжванне частаты і ўключэння або адключэння праверак неадсочваных файлаў",
"integrity_checks_untracked_files_enable_description": "Уключыць праверку неадсочваных файлаў",
"job_concurrency": "Колькасць паралельных патокаў задання {job}",
"job_created": "Заданне створана",
"job_not_concurrency_safe": "Гэта заданне небяспечнае для паралельнага выканання.",
@@ -119,15 +134,15 @@
"library_created": "Створана бібліятэка: {library}",
"library_deleted": "Бібліятэка выдалена",
"library_details": "Падрабязнасці бібліятэкі",
"library_folder_description": "Вызначце папку для імпарту. Гэта папка разам з падпапкамі будзе прасканавана на наяўнасць фота і відэа.",
"library_folder_description": "Вызначце папку для імпарту. Гэта папка разам з падпапкамі будзе прасканіравана на наяўнасць фота і відэа.",
"library_remove_exclusion_pattern_prompt": "Вы упэўнены, што хочаце выдаліць гэты шаблон выключэння?",
"library_remove_folder_prompt": "Вы упэўнены, што хочаце выдаліць гэту папку імпарту?",
"library_scanning": "Сканаванне па раскладзе",
"library_scanning": "Сканіраванне па раскладзе",
"library_scanning_description": "Налады перыядычнага сканіравання бібліятэкі",
"library_scanning_enable_description": "Уключыць перыядычнае сканаванне бібліятэкі",
"library_scanning_enable_description": "Уключыць перыядычнае сканіраванне бібліятэкі",
"library_settings": "Знешняя бібліятэка",
"library_settings_description": "Кіраванне наладамі знешняй бібліятэкі",
"library_tasks_description": "Сканаваць знешнія бібліятэкі на наяўнасць новых і/або змененых рэсурсаў",
"library_tasks_description": "Сканіраваць знешнія бібліятэкі на наяўнасць новых і/або змененых рэсурсаў",
"library_updated": "Бібліятэка абноўлена",
"library_watching_enable_description": "Сачыць за зменамі файлаў у знешніх бібліятэках",
"library_watching_settings": "[ЭКСПЕРЫМЕНТАЛЬНА] Сачыць за бібліятэкай",
@@ -183,6 +198,7 @@
"machine_learning_smart_search_enabled": "Уключыць разумны пошук",
"machine_learning_smart_search_enabled_description": "Калі адключана, відарысы не будуць кадзіравацца для разумнага пошуку.",
"machine_learning_url_description": "URL-адрас сервера машыннага навучання. Калі пазначана больш за адзін URL-адрас, спробы падключэння да кожнага сервера будуць выконвацца па чарзе, пакуль адзін з іх не адкажа паспяхова, па парадку ад першага да апошняга. Серверы, якія не адказваюць, будуць часова ігнаравацца, пакуль яны не вернуцца ў сетку.",
"maintenance_backup_management": "Кіраванне рэзервовым капіраваннем",
"maintenance_delete_backup": "Выдаліць рэзервовую копію",
"maintenance_delete_backup_description": "Гэты файл будзе беззваротна выдалены.",
"maintenance_delete_error": "Не атрымалася выдаліць рэзервовую копію.",
@@ -196,9 +212,14 @@
"maintenance_integrity_missing_file_description": "Файлы, якія ёсць у базе даных Immich, але не існуюць у файлавай сістэме.",
"maintenance_integrity_missing_file_job": "Праверка наяўнасці адсутных файлаў",
"maintenance_integrity_missing_file_refresh_job": "Абнавіць справаздачы аб адсутных файлах",
"maintenance_integrity_report": "Справаздача аб цэласнасці",
"maintenance_integrity_untracked_file": "Неадсочваныя файлы",
"maintenance_integrity_untracked_file_description": "Файлы ў каталогах Immich, пра якія ў Immich няма ніякіх запісаў.",
"maintenance_integrity_untracked_file_job": "Праверыць наяўнасць неадсочваных файлаў",
"maintenance_integrity_untracked_file_refresh_job": "Абнавіць справаздачы аб неадсочваных файлах",
"maintenance_restore_backup": "Аднавіць рэзервовую копію",
"maintenance_restore_backup_description": "Immich будзе сцёрты і адноўлены з абранай рэзервовай копіі. Перад працягам будзе створана рэзервовая копія.",
"maintenance_restore_backup_different_version": "Гэтая рэзервовая копія была створана з для іншай версіі Immich!",
"maintenance_restore_backup_different_version": "Гэтая рэзервовая копія была створана з іншай версіі Immich!",
"maintenance_restore_backup_unknown_version": "Не атрымалася вызначыць рэзервовую версію.",
"maintenance_restore_database_backup": "Аднавіць рэзервовую копію базы даных",
"maintenance_restore_database_backup_description": "Адкат да папярэдняга стану базы даных з выкарыстаннем файла рэзервовай копіі",
@@ -250,7 +271,7 @@
"nightly_tasks_sync_quota_usage_setting_description": "Абнаўляць квоту сховішча карыстальніка на аснове бягучага выкарыстання",
"no_paths_added": "Не дададзена аніводнага шляху",
"no_pattern_added": "Не дададзена аніводнага патэрну",
"note_apply_storage_label_previous_assets": "Заўвага: Каб ужыць Маркіроўку сховішча да раней загружаных аб'ектаў, запусціце",
"note_apply_storage_label_previous_assets": "Заўвага: Каб ужыць Маркіроўку сховішча да раней запампаваных аб'ектаў, запусціце",
"note_cannot_be_changed_later": "УВАГА: Гэта нельга будзе змяніць пазней!",
"notification_email_from_address": "З адрасоў",
"notification_email_from_address_description": "Электронны адрас адпраўніка, для прыкладу: \"Immich Photo Server <noreply@example.com>\". Пераканайцеся, што выкарыстоўваееца адрас, якому дазволена адпраўляць электронныя лісты.",
@@ -310,6 +331,8 @@
"refreshing_all_libraries": "Абнаўленне ўсіх бібліятэк",
"registration": "Рэгістрацыя адміністратара",
"registration_description": "Вы з'яўляецеся першым карыстальнікам сістэмы, таму вы будзеце прызначаны адміністратарам. Вы будзеце адказваць за адміністрацыйныя задачы, а таксама ствараць новых карыстальнікаў.",
"release_channel_release_candidate": "Кандыдат на рэліз",
"release_channel_stable": "Стабільны",
"remove_failed_jobs": "Выдаліць няўдалыя заданні",
"require_password_change_on_login": "Патрабаваць змяніць пароль пры першым уваходзе ў сістэму",
"reset_settings_to_default": "Скінуць налады да прадвызначаных",
@@ -320,7 +343,7 @@
"server_external_domain_settings": "Знешні дамен",
"server_external_domain_settings_description": "Дамен, які выкарыстоўваецца для знешніх спасылак",
"server_public_users": "Публічныя карыстальнікі",
"server_public_users_description": "Усе карыстальнікі (імя і электронная пошта) паказваюцца пры даданні карыстальніка ў агульныя альбомы. Калі адключана, спіс карыстальнікаў будзе даступны толькі адміністратарам.",
"server_public_users_description": "Усе карыстальнікі (імя і электронная пошта) паказваюцца пры дадаванні карыстальніка ў агульныя альбомы. Калі адключана, спіс карыстальнікаў будзе даступны толькі адміністратарам.",
"server_settings": "Налады сервера",
"server_settings_description": "Кіраванне наладамі сервера",
"server_stats_page_description": "Старонка статыстыкі сервера для адміністратара",
@@ -361,7 +384,7 @@
"theme_custom_css_settings_description": "Каскадныя табліцы стыляў дазваляюць наладзіць аздабленне Immich.",
"theme_settings": "Налады тэмы",
"theme_settings_description": "Кіраванне аздабленнем вэб-інтэрфейсу Immich",
"thumbnail_generation_job": "Згенераваць мініяцюру",
"thumbnail_generation_job": "Генерацыя мініяцюр",
"thumbnail_generation_job_description": "Генерацыя вялікіх, малых і размытых мініяцюр для кожнага аб’екта, а таксама мініяцюр для кожнай асобы",
"transcoding_acceleration_api": "API паскарэння",
"transcoding_acceleration_api_description": "API, які будзе ўзаемадзейнічаць з вашай прыладай для паскарэння транскадавання. Гэтая налада працуе «па магчымасці»: пры збоі адбудзецца адкат на праграмнае транскадаванне. VP9 можа працаваць ці не — у залежнасці ад вашага абсталявання.",
@@ -404,6 +427,7 @@
"transcoding_preferred_hardware_device_description": "Прымяняецца толькі да VAAPI і QSV. Задае dri-вузел для апаратнага транскадавання.",
"transcoding_preset_preset": "Прэсет (-preset)",
"transcoding_preset_preset_description": "Хуткасць сціскання. Больш павольныя прэсеты даюць меншыя файлы і павышаюць якасць пры мэтавым бітрэйце. VP9 ігнаруе хуткасці вышэйшыя за «faster».",
"transcoding_realtime": "Перакадаванне ў рэжыме рэальнага часу [EXPERIMENTAL]]",
"transcoding_reference_frames": "Апорныя кадры",
"transcoding_reference_frames_description": "Колькасць кадраў, якія выкарыстоўваюцца як эталон пры сцісканні дадзенага кадра. Большыя значэнні паляпшаюць эфектыўнасць сціскання, але запавольваюць кадаванне. 0 выстаўляе значэнне аўтаматычна.",
"transcoding_required_description": "Толькі відэа ў недапушчальным фармаце",
@@ -675,7 +699,7 @@
"cleanup_deleting": "Перамяшчэнне ў сметніцу...",
"cleanup_found_assets": "Знойдзена {count} аб’ектаў з рэзервовай копіяй",
"cleanup_found_assets_with_size": "Знойдзена {count} аб’ектаў з рэзервовай копіяй ({size})",
"cleanup_icloud_shared_albums_excluded": "Агульныя альбомы iCloud выключаныя са сканавання",
"cleanup_icloud_shared_albums_excluded": "Агульныя альбомы iCloud выключаныя са сканіравання",
"cleanup_no_assets_found": "Не знойдзена аб’ектаў, якія адпавядаюць крытэрыям вышэй. «Вызваліць месца» можа выдаліць толькі аб’екты, якія ўжо ёсць у рэзервовай копіі на серверы",
"cleanup_preview_title": "Аб’екты для выдалення ({count})",
"cleanup_step3_description": "Сканіраваць аб’екты з рэзервовай копіяй, якія адпавядаюць вашым наладам даты і захавання.",
@@ -747,7 +771,7 @@
"create_album": "Стварыць альбом",
"create_album_page_untitled": "Без назвы",
"create_api_key": "Стварыць ключ API",
"create_first_workflow": "Стварыць першы працоўны працэс",
"create_first_workflow": "Стварыце першы працоўны працэс",
"create_library": "Стварыць бібліятэку",
"create_link": "Стварыць спасылку",
"create_link_to_share": "Стварыць спасылку для абагульвання",
@@ -755,7 +779,7 @@
"create_new": "СТВАРЫЦЬ",
"create_new_person": "Стварыць новую асобу",
"create_new_person_hint": "Прызначыць выбраныя аб’екты новай асобе",
"create_new_user": "Стварыць новага карыстальніка",
"create_new_user": "Стварэнне новага карыстальніка",
"create_person": "Стварыць асобу",
"create_person_subtitle": "Дадайце імя да выбранага твару, каб стварыць і пазначыць новую асобу",
"create_shared_album_page_share_add_assets": "ДАДАЦЬ АБ’ЕКТЫ",
@@ -766,7 +790,7 @@
"create_user": "Стварыць карыстальніка",
"create_workflow": "Стварыць працоўны працэс",
"created": "Створаны",
"created_at": "Створана",
"created_at": "Створаны",
"creating_linked_albums": "Стварэнне звязаных альбомаў…",
"crop": "Абрэзка",
"crop_aspect_ratio_free": "Свабодная",
@@ -793,7 +817,7 @@
"date_range": "Дыяпазон дат",
"day": "Дзень",
"days": "Дні",
"deduplicate_all": "Дэдупліраваць усё",
"deduplicate_all": "Выдаліць усе дублікаты",
"delete": "Выдаліць",
"delete_action_confirmation_message": "Вы ўпэўнены, што хочаце выдаліць гэты аб’ект? Гэта дзеянне перамесціць аб’ект у сметніцу сервера і запытае, ці хочаце вы выдаліць яго лакальна",
"delete_action_prompt": "{count} выдалена",
@@ -825,7 +849,7 @@
"details": "Падрабязнасці",
"direction": "Кірунак",
"disable": "Адключыць",
"disabled": "Адключана",
"disabled": "Адключаны",
"discord": "Discord",
"discover": "Адкрыць",
"discovered_devices": "Знойдзеныя прылады",
@@ -1025,8 +1049,8 @@
"unable_to_save_name": "Немагчыма захаваць імя",
"unable_to_save_profile": "Немагчыма захаваць профіль",
"unable_to_save_settings": "Немагчыма захаваць налады",
"unable_to_scan_libraries": "Немагчыма прасканаваць бібліятэкі",
"unable_to_scan_library": "Немагчыма прасканаваць бібліятэку",
"unable_to_scan_libraries": "Немагчыма прасканіраваць бібліятэкі",
"unable_to_scan_library": "Немагчыма прасканіраваць бібліятэку",
"unable_to_set_feature_photo": "Немагчыма задаць асноўнае фота",
"unable_to_set_profile_picture": "Немагчыма задаць аватар профілю",
"unable_to_set_rating": "Немагчыма задаць рэйтынг",
@@ -1275,9 +1299,9 @@
"login_form_failed_login": "Памылка ўваходу, праверце URL-адрас сервера, электронную пошту і пароль",
"login_form_handshake_exception": "Адбылася памылка ўзаемадзеяння з серверам. Уключыце падтрымку самападпісаных сертыфікатаў у наладах, калі вы карыстаецеся самападпісаным сертыфікатам.",
"login_form_password_hint": "пароль",
"login_form_server_empty": "Увядзіце URL-адрас сервера.",
"login_form_server_error": "Не ўдалося падключыцца да сервера.",
"login_has_been_disabled": "Уваход быў адключаны.",
"login_form_server_empty": "Увядзіце URL-адрас сервера",
"login_form_server_error": "Не ўдалося падключыцца да сервера",
"login_has_been_disabled": "Уваход быў адключаны",
"login_password_changed_error": "Адбылася памылка пры абнаўленні пароля",
"login_password_changed_success": "Пароль паспяхова абноўлены",
"logout_all_device_confirmation": "Вы ўпэўнены, што хочаце выйсці з усіх прылад?",
@@ -1402,7 +1426,7 @@
"model": "Мадэль",
"modify_date": "Дата змянення",
"month": "Месяц",
"more": "Болей",
"more": "Больш",
"motion": "Рух",
"move": "Перамясціць",
"move_off_locked_folder": "Перамясціць з заблакіраванай папкі",
@@ -1526,7 +1550,7 @@
"partner_can_access_location": "Месцазнаходжанне, дзе былі зробленыя вашы фота",
"partner_list_user_photos": "Фота карыстальніка {user}",
"partner_page_empty_message": "Вашы фота яшчэ не абагуленыя ні з адным партнёрам.",
"partner_page_no_more_users": "Больш няма карыстальнікаў для дадання",
"partner_page_no_more_users": "Больш няма карыстальнікаў для дадавання",
"partner_page_select_partner": "Выберыце партнёра",
"partner_page_stop_sharing_content": "{partner} больш не зможа мець доступ да вашых фота.",
"partner_sharing": "Абагульванне з партнёрам",
@@ -1789,7 +1813,7 @@
"search_people": "Пошук людзей",
"search_places": "Пошук месцаў",
"search_rating": "Пошук па ацэнцы...",
"search_settings": "Налады пошуку",
"search_settings": "Пошук у наладах",
"search_state": "Пошук рэгіёна...",
"search_tags": "Пошук тэгаў...",
"search_timezone": "Пошук часавага пояса...",
@@ -1989,7 +2013,7 @@
"storage_quota": "Квота сховішча",
"storage_usage": "Выкарыстана {used} з {available}",
"submit": "Адправіць",
"success": "Поспех",
"success": "Гатова",
"suggestions": "Прапановы",
"sunrise_on_the_beach": "Світанак на пляжы",
"support": "Падтрымка",
@@ -2059,9 +2083,9 @@
"trash_page_info": "Элементы ў сметніцы будуць канчаткова выдалены праз {days} дзён",
"trashed_items_will_be_permanently_deleted_after": "Элементы ў сметніцы будуць канчаткова выдалены праз {days, plural, one {# дзень} few {# дні} many {# дзён} other {# дня}}.",
"trigger": "Трыгер",
"trigger_asset_uploaded": "Аб’ект запампаваны",
"trigger_asset_uploaded": "Запампаваны аб’ект",
"trigger_asset_uploaded_description": "Спрацоўвае пры запампоўванні новага аб’екта",
"trigger_person_recognized": "Асоба распазнана",
"trigger_person_recognized": "Распазнана асоба",
"trigger_person_recognized_description": "Спрацоўвае пры выяўленні асобы",
"troubleshoot": "Пошук і выпраўленне непаладак",
"type": "Тып",
@@ -2098,7 +2122,7 @@
"untagged": "Без тэга",
"up_next": "Далей",
"update_location_action_prompt": "Абнавіць месцазнаходжанне выбраных аб’ектаў ({count}) на:",
"updated_at": "Абноўлена",
"updated_at": "Абноўлены",
"updated_password": "Пароль абноўлены",
"upload": "Запампаваць",
"upload_concurrency": "Паралельнасць запампоўвання",
@@ -2201,7 +2225,7 @@
"years_ago": "{years, plural, one {# год} few {# гады} many {# гадоў} other {# гадоў}} таму",
"yes": "Так",
"you_dont_have_any_shared_links": "У вас няма абагуленых спасылак",
"your_wifi_name": "Імя вайшай Wi-Fi сеткі",
"your_wifi_name": "Назва сеткі Wi-Fi",
"zero_to_clear_rating": "націсніце 0, каб скінуць ацэнку аб’екта",
"zoom_image": "Павялічыць відарыс"
}

View File

@@ -108,6 +108,21 @@
"image_thumbnail_quality_description": "Качество на миниатюрата от 1 до 100. По-високата стойност е по-добра, но води до по-големи файлове и може да намали бързодействието на приложението.",
"image_thumbnail_title": "Настройки на миниатюрите",
"import_config_from_json_description": "Импорт на системна конфигурация чрез качване на JSON файл",
"integrity_checks_checksum_files": "Файлове с контролни суми",
"integrity_checks_checksum_files_description": "Настройка на проверката с контролна сума",
"integrity_checks_checksum_files_enable_description": "Активиране на проверката с контролна сума",
"integrity_checks_checksum_files_percentage_limit": "Процентно ограничение",
"integrity_checks_checksum_files_percentage_limit_description": "Конфигурирайте максималния процент между 0.01 и 1 за това колко често трябва да се изпълнява проверката на контролната сума през всеки интервал.",
"integrity_checks_checksum_files_time_limit": "Ограничение на времето",
"integrity_checks_checksum_files_time_limit_description": "Конфигурирайте максималната продължителност, за която трябва да се изпълнява проверка на контролната сума за всеки интервал. (ms)",
"integrity_checks_missing_files": "Липсващи файловe",
"integrity_checks_missing_files_description": "Конфигурирайте честотата и активирайте или деактивирайте проверката за липсващи файлове",
"integrity_checks_missing_files_enable_description": "Активиране на проверката за липсващи файлове",
"integrity_checks_settings": "Проверка за цялост",
"integrity_checks_settings_description": "Управлявайте интервалите за проверка на цялост",
"integrity_checks_untracked_files": "Непроследявани файлове",
"integrity_checks_untracked_files_description": "Конфигурирайте честотата и активирайте или деактивирайте проверката за непроследявани файлове",
"integrity_checks_untracked_files_enable_description": "Активиране на проверката за непроследявани файлове",
"job_concurrency": "Паралелност на {job}",
"job_created": "Задачата е създадена",
"job_not_concurrency_safe": "Тази задача не е безопасна за паралелно изпълнение.",
@@ -416,6 +431,10 @@
"transcoding_realtime_description": "Позволява транскодиране на видео по време на възпроизвеждане. Разрешава превключване на качеството, но може да предизвика по-голямо забавяне или накъсване на възпроизвеждането според възможностите на сървъра.",
"transcoding_realtime_enabled": "Включи транскодиране в реално време",
"transcoding_realtime_enabled_description": "Ако е изключено, сървъра ще отказва нова сесия за транскодиране в реално време.",
"transcoding_realtime_resolutions": "Резолюции",
"transcoding_realtime_resolutions_description": "Възможните резолюции за транскодиране в реално време. Високите резолюции може да предизвикат проблеми при възпроизвеждане, ако сървъра не успява да транскодира достатъчно бързо.",
"transcoding_realtime_video_codecs": "Видео кодеци",
"transcoding_realtime_video_codecs_description": "Видео кодеци, налични за транскодиране в реално време. При възпроизвеждане клиентите ще изберат най-добрата поддържана опция. AV1 е по-производителна от HEVC, която пък е по-производителна от H.264. При употреба на хардуерно ускорение избирайте само тези, които ускорителя поддържа. При софтуерно транскодиране имайте предвид, че H.264 е по-бързо от AV1, което е по-бързо от HEVC.",
"transcoding_reference_frames": "Референтни кадри",
"transcoding_reference_frames_description": "Броят кадри за препратка при компресиране на даден кадър. По-високите стойности подобряват ефективността на компресията, но забавят кодирането. 0 задава тази стойност автоматично.",
"transcoding_required_description": "Само видеа, които не са в приет формат",
@@ -1461,6 +1480,7 @@
"never": "Никога",
"new_album": "Нов Албум",
"new_api_key": "Нов API ключ",
"new_feature": "Нова функция",
"new_password": "Нова парола",
"new_person": "Нов човек",
"new_pin_code": "Нов PIN код",
@@ -1507,6 +1527,9 @@
"notes": "Бележки",
"nothing_here_yet": "Засега тук няма нищо",
"notification_backup_reliability": "Позволете известията, за да подобрите надеждността на архивиране във фонов режим",
"notification_enabled_list_tile_content": "Immich използва механизма за известия при архивиране във фонов режим. Управлявайте ги от менюто за настройки на вашето устройство.",
"notification_enabled_list_tile_open_button": "Отвори настройки",
"notification_enabled_list_tile_title": "Известията са активирани",
"notification_permission_dialog_content": "За да включиш известията, отиди в Настройки и избери Разреши.",
"notification_permission_list_tile_content": "Дай разрешение за активиране на известията.",
"notification_permission_list_tile_enable_button": "Разреши известията",
@@ -1518,6 +1541,8 @@
"obtainium_configurator": "Конфигуратор за получаване",
"obtainium_configurator_instructions": "Използвайте Obtainium за инсталация и обновяване на приложението за Android директно от GitHub на Immich. Създайте API ключ и изберете вариант за да създадете Obtainium конфигурационен линк",
"ocr": "Оптично разпознаване на текст",
"ocr_body": "Сега Immich разчита текст в снимките, така че може да търсите по това, което пише.",
"ocr_title": "Търсене на текст в снимките",
"official_immich_resources": "Официална информация за Immich",
"offline": "Офлайн",
"offset": "Отместване",
@@ -1536,6 +1561,8 @@
"open": "Отвори",
"open_calendar": "Отвори календар",
"open_in_browser": "Отвори в браузър",
"open_in_immich_body": "Задайте Immich като галерия на Android, за да отваряте снимки директно от други приложения.",
"open_in_immich_title": "Отваряне на снимки в Immich",
"open_in_map_view": "Отвори изглед на карта",
"open_in_openstreetmap": "Отвори в OpenStreetMap",
"open_the_search_filters": "Отвари филтрите за търсене",
@@ -1694,7 +1721,10 @@
"recent": "Скорошни",
"recent_searches": "Скорошни търсения",
"recently_added": "Наскоро добавено",
"recently_added_body": "Преминете директно към специална страница, където е всичко, което сте добавили напоследък.",
"recently_added_description": "Разглеждане на файлове, подредени по реда на добавяне в Immich",
"recently_added_page_title": "Наскоро добавено",
"recently_added_title": "Добавени скоро",
"recently_taken": "Наскоро снимано",
"refresh": "Опресняване",
"refresh_encoded_videos": "Опресни кодирани видеоклипове",
@@ -1901,6 +1931,8 @@
"share_link": "Връзка за споделяне",
"share_original": "Използвай оригинала (голям размер)",
"share_preview": "Използвай миниатюра (намален размер)",
"share_quality_body": "Натиснете и задръжте бутона за споделяне, за да изберете качеството на изображението, преди да го споделите.",
"share_quality_title": "Изберете качеството при споделяне",
"shared": "Споделено",
"shared_album_activities_input_disable": "Коментарите са изключени",
"shared_album_activity_remove_content": "Искате ли да изтриете тази активност?",
@@ -1982,16 +2014,19 @@
"sign_out": "Отписване",
"sign_up": "Запиши се",
"size": "Размер",
"skip": "Пропусни",
"skip_to_content": "Премини към съдържанието",
"skip_to_folders": "Премини към папките",
"skip_to_tags": "Премини към етикетите",
"slideshow": "Слайдшоу",
"slideshow_body": "Отпуснете се и гледайте снимките си, възпроизвеждани в слайдшоу на цял екран.",
"slideshow_metadata_overlay_mode": "Съдържание на слоя с информация",
"slideshow_metadata_overlay_mode_description_only": "Само описание",
"slideshow_metadata_overlay_mode_full": "Пълна",
"slideshow_repeat": "Повтаряй слайдшоуто",
"slideshow_repeat_description": "Започвай отново, когато слайдшоуто приключи",
"slideshow_settings": "Настройки за слайдшоу",
"slideshow_title": "Слайдшоу",
"smart_album": "Умен албум",
"some_assets_already_have_a_location_warning": "Някои от избраните файлове вече имат местоположение",
"sort_albums_by": "Сортиране на албуми по...",
@@ -2119,6 +2154,7 @@
"unknown": "Неизвестно",
"unknown_country": "Непозната Държава",
"unknown_date": "Неизвестна дата",
"unknown_schema": "Неизвестна схема",
"unknown_year": "Неизвестна година",
"unlimited": "Неограничено",
"unlink_motion_video": "Премахни връзката с видео",
@@ -2154,6 +2190,8 @@
"upload_status_errors": "Грешки",
"upload_status_uploaded": "Качено",
"upload_success": "Качването е успешно, опреснете страницата, за да видите новите файлове.",
"upload_to_album_body": "За потребители, които не използват функцията за ръчно качване, вече можете да изберете да добавяте локални снимки директно в албум, докато ги качвате, вече не е необходимо да качвате и след това да добавяте към албум.",
"upload_to_album_title": "Качване директно в албум",
"upload_to_immich": "Казване в Immich ({count})",
"uploading": "Качваме",
"uploading_media": "Качване на медийни файлове",
@@ -2221,6 +2259,9 @@
"week": "Седмица",
"welcome": "Добре дошли",
"welcome_to_immich": "Добре дошли в Immich",
"whats_new": "Какво е новото",
"whats_new_settings_subtitle": "Вижте какво ново има в Immich",
"whats_new_version": "Версия {version}",
"when": "Когато",
"width": "Ширинa",
"wifi_name": "Wi-Fi мрежа",

View File

@@ -53,7 +53,7 @@
"backup_onboarding_1_description": "còpia externa al núvol o en una altra ubicació física.",
"backup_onboarding_2_description": "còpies locals en diferents dispositius. Això inclou els fitxers principals i una còpia de seguretat d'aquests fitxers localment.",
"backup_onboarding_3_description": "còpies totals de les vostres dades, inclosos els fitxers originals. Això inclou 1 còpia externa i 2 còpies locals.",
"backup_onboarding_description": "Es recomana una <backblaze-link>estratègia de còpia de seguretat 3-2-1</backblaze-link> per protegir les vostres dades. Hauríeu de conservar còpies de les vostres fotos/vídeos penjats, així com de la base de dades Immich per obtenir una solució de còpia de seguretat completa.",
"backup_onboarding_description": "Es recomana una <backblaze-link>estratègia de còpia de seguretat 3-2-1</backblaze-link> per protegir les vostres dades. Hauríeu de conservar còpies de les vostres fotos/vídeos penjats, així com de la base de dades d'Immich per obtenir una solució de còpia de seguretat completa.",
"backup_onboarding_footer": "Per obtenir més informació sobre com fer còpies de seguretat d'Immich, consulteu la <link>documentation</link>.",
"backup_onboarding_parts_title": "Una còpia de seguretat 3-2-1 inclou:",
"backup_onboarding_title": "Còpies de seguretat",
@@ -108,6 +108,21 @@
"image_thumbnail_quality_description": "Qualitat de miniatura d'1 a 100. Més alt és millor, però produeix fitxers més grans i pot reduir la capacitat de resposta de l'aplicació.",
"image_thumbnail_title": "Configuració de les miniatures",
"import_config_from_json_description": "Importa la configuració del sistema pujant un fitxer de configuració JSON",
"integrity_checks_checksum_files": "Verifica la integritat dels fitxers",
"integrity_checks_checksum_files_description": "Configura la verificació de la integritat",
"integrity_checks_checksum_files_enable_description": "Activa la verificació de la integritat dels fitxers (checksum)",
"integrity_checks_checksum_files_percentage_limit": "Percentatge límit",
"integrity_checks_checksum_files_percentage_limit_description": "Configura el percentatge màxim, entre 0,01 i 1, de la durada de la comprovació de la suma de verificació en cada interval.",
"integrity_checks_checksum_files_time_limit": "Límit de temps",
"integrity_checks_checksum_files_time_limit_description": "Configura la durada màxima de la comprovació de la suma de verificació en cada interval. (ms)",
"integrity_checks_missing_files": "Fitxers absents",
"integrity_checks_missing_files_description": "Configura la freqüència i activa o desactiva la comprovació de fitxers absents",
"integrity_checks_missing_files_enable_description": "Activa la verificació de fitxers absents",
"integrity_checks_settings": "Verificacions d'integritat",
"integrity_checks_settings_description": "Gestió de l'interval de verificacions d'integritat",
"integrity_checks_untracked_files": "Fitxers sense seguiment",
"integrity_checks_untracked_files_description": "Configuració de la freqüència, i activar o desactivar, la verificació dels fitxers sense seguiment",
"integrity_checks_untracked_files_enable_description": "Activa la verificació dels fitxers sense seguiment",
"job_concurrency": "{job} simultàniament",
"job_created": "Tasca creada",
"job_not_concurrency_safe": "Aquesta tasca no és segura per a la conconcurrència.",
@@ -416,6 +431,10 @@
"transcoding_realtime_description": "Permet que la transcodificació es realitzi en temps real mentre es retransmet el vídeo. Habilita el canvi de qualitat, però pot causar una latència de reproducció més alta i entretallats segons les capacitats del servidor.",
"transcoding_realtime_enabled": "Activa transcodificació en temps real",
"transcoding_realtime_enabled_description": "Si està desactivat, el servidor rebutjarà iniciar noves sessions de transcodificació en temps real.",
"transcoding_realtime_resolutions": "Resolucions",
"transcoding_realtime_resolutions_description": "Les resolucions que s'ofereixen per a la transcodificació en temps real. Les resolucions més altes poden causar problemes de reproducció si el servidor no les pot transcodificar prou ràpidament.",
"transcoding_realtime_video_codecs": "Còdecs de vídeo",
"transcoding_realtime_video_codecs_description": "Els còdecs de vídeo oferts per a la transcodificació en temps real. Els clients triaran la millor opció que admetin durant la reproducció. AV1 és més eficient que HEVC, que és més eficient que H.264. Quan utilitzis l'acceleració de maquinari, selecciona només els còdecs que l'accelerador pot codificar. Quan facis servir la transcodificació sense acceleració de maquinari, tingues en compte que H.264 és més ràpid que AV1, que és més ràpid que HEVC.",
"transcoding_reference_frames": "Fotogrames de referència",
"transcoding_reference_frames_description": "El nombre de fotogrames a fer referència en comprimir un fotograma determinat. Els valors més alts milloren l'eficiència de la compressió, però alenteixen la codificació. 0 estableix aquest valor automàticament.",
"transcoding_required_description": "Només vídeos que no tenen un format acceptat",
@@ -578,6 +597,7 @@
"asset_viewer_settings_title": "Visor d'arxius",
"assets": "Elements",
"assets_added_to_album_count": "{count, plural, one {Afegit un element} other {Afegits # elements}} a l'àlbum",
"assets_added_to_album_partial_count": "S'ha afegit {successCount} de {totalCount} {totalCount, plural, one {recurs} other {recursos}} a l'àlbum",
"assets_added_to_albums_count": "Afegits {assetTotal, plural, one {# recurs} other {# recursos}} a {albumTotal, plural, one {# album} other {# albums}}",
"assets_cannot_be_added_to_album_count": "{count, plural, one {Asset} other {Assets}} no es pot afegir a l'àlbum",
"assets_cannot_be_added_to_albums": "{count, plural, one {El recurs} other {Els recursos}} no poden ser afegits a cap dels àlbums",
@@ -1461,6 +1481,7 @@
"never": "Mai",
"new_album": "Nou Àlbum",
"new_api_key": "Nova clau de l'API",
"new_feature": "Nova funció",
"new_password": "Nova contrasenya",
"new_person": "Persona nova",
"new_pin_code": "Nou codi PIN",
@@ -1507,6 +1528,9 @@
"notes": "Notes",
"nothing_here_yet": "No hi ha res encara",
"notification_backup_reliability": "Activa les notificacions per millorar la fiabilitat de les còpies de seguretat en segon pla",
"notification_enabled_list_tile_content": "Immich utilitza les notificacions per a les còpies de seguretat en segon pla. Gestioneu-les a la configuració del vostre dispositiu.",
"notification_enabled_list_tile_open_button": "Obre la configuració",
"notification_enabled_list_tile_title": "Notificacions activades",
"notification_permission_dialog_content": "Per activar les notificacions, aneu a Configuració i seleccioneu permet.",
"notification_permission_list_tile_content": "Atorga permís per a activar les notificacions.",
"notification_permission_list_tile_enable_button": "Activa les notificacions",
@@ -1518,6 +1542,8 @@
"obtainium_configurator": "Configurador Obtainium",
"obtainium_configurator_instructions": "Utilitza Obtainium per instal·lar una actualització a la app directament des de Github-Immich. Crear una clau API i seleccionar una variant per crear un enllaç a la configuració Obtainium",
"ocr": "OCR",
"ocr_body": "Immich ara llegeix el text dins les vostres fotos, de tal manera que podeu cercar-les pel que hi diuen.",
"ocr_title": "Cerqueu el text dins les vostres fotos",
"official_immich_resources": "Recursos oficials d'Immich",
"offline": "Fora de línia",
"offset": "Diferència",
@@ -1536,6 +1562,8 @@
"open": "Obrir",
"open_calendar": "Obrir el calendari",
"open_in_browser": "Obre al navegador",
"open_in_immich_body": "Estableix Immich com la teva galeria de fotos a Android, per obrir les fotos directament des d'altres aplicacions.",
"open_in_immich_title": "Obre fotos a Immich",
"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",
@@ -1591,9 +1619,9 @@
"permission": "Permís",
"permission_empty": "El seu permís no hauria d'estar buit",
"person": "Persona",
"person_age_months": "{months, plural, one {# mes} other {# mesos}} d'antiguitat",
"person_age_year_months": "1 any, {months, plural, one {# mes} other {# mesos}} d'antiguitat",
"person_age_years": "{years, plural, other {# anys}} d'antiguitat",
"person_age_months": "{months, plural, one {# mes} other {# mesos}}",
"person_age_year_months": "1 any, {months, plural, one {# mes} other {# mesos}}",
"person_age_years": "{years, plural, other {# anys}}",
"person_birthdate": "Nascut a {date}",
"person_hidden": "{name}{hidden, select, true { (ocultat)} other {}}",
"person_recognized": "Persona reconeguda",
@@ -1694,7 +1722,10 @@
"recent": "Recent",
"recent_searches": "Cerques recents",
"recently_added": "Afegit recentment",
"recently_added_body": "Ves directament a tot el que has afegit últimament en una pàgina dedicada.",
"recently_added_description": "Explora els teus recursos ordenats per data de pujada a Immich",
"recently_added_page_title": "Afegit recentment",
"recently_added_title": "Afegits recentment",
"recently_taken": "Fet recentment",
"refresh": "Actualitzar",
"refresh_encoded_videos": "Actualitza vídeos codificats",
@@ -1901,6 +1932,8 @@
"share_link": "Compartir Enllaç",
"share_original": "Ús original (gran)",
"share_preview": "Ús de la miniatura (petit)",
"share_quality_body": "Mantingues premut el botó de compartir per triar la qualitat de la imatge abans de compartir-la.",
"share_quality_title": "Tria la qualitat al compartir",
"shared": "Compartit",
"shared_album_activities_input_disable": "Els comentaris estan desactivats",
"shared_album_activity_remove_content": "Voleu eliminar aquesta activitat?",
@@ -1982,16 +2015,19 @@
"sign_out": "Tanca sessió",
"sign_up": "Registrar-se",
"size": "Mida",
"skip": "Omet",
"skip_to_content": "Salta al contingut",
"skip_to_folders": "Anar a carpetes",
"skip_to_tags": "Anar a etiquetes",
"slideshow": "Diapositives",
"slideshow_body": "Relaxa't i mira les teves fotos en una presentació de diapositives a pantalla completa.",
"slideshow_metadata_overlay_mode": "Contingut de superposició",
"slideshow_metadata_overlay_mode_description_only": "Descripció només",
"slideshow_metadata_overlay_mode_full": "Tot",
"slideshow_repeat": "Repeteix la presentació de diapositives",
"slideshow_repeat_description": "Torna al principi quan acaba la presentació de diapositives",
"slideshow_settings": "Configuració de diapositives",
"slideshow_title": "Presentació de diapositives",
"smart_album": "Àlbum inteŀligent",
"some_assets_already_have_a_location_warning": "Alguns dels actius seleccionats ja tenen una ubicació",
"sort_albums_by": "Ordena àlbums per...",
@@ -2119,6 +2155,7 @@
"unknown": "Desconegut",
"unknown_country": "País Desconegut",
"unknown_date": "Data desconeguda",
"unknown_schema": "Esquema desconegut",
"unknown_year": "Any desconegut",
"unlimited": "Il·limitat",
"unlink_motion_video": "Desvincular vídeo en moviment",
@@ -2154,6 +2191,8 @@
"upload_status_errors": "Errors",
"upload_status_uploaded": "Carregat",
"upload_success": "Pujada correcta, actualitza la pàgina per veure nous recursos de pujada.",
"upload_to_album_body": "Per als usuaris que no utilitzen la funció de càrrega manual, ara pots triar afegir fotos locals directament a un àlbum a mesura que les pengis, ja no cal que les pengis i les afegeixis a un àlbum més tard.",
"upload_to_album_title": "Puja directament a un àlbum",
"upload_to_immich": "Puja a Immich ({count})",
"uploading": "Pujant",
"uploading_media": "Pujant mitjans",
@@ -2221,6 +2260,9 @@
"week": "Setmana",
"welcome": "Benvingut",
"welcome_to_immich": "Benvingut a immich",
"whats_new": "Novetats",
"whats_new_settings_subtitle": "Novetats a Immich",
"whats_new_version": "Versió {version}",
"when": "Quan",
"width": "Amplada",
"wifi_name": "Nom Wi-Fi",

View File

@@ -108,6 +108,21 @@
"image_thumbnail_quality_description": "Kvalita miniatur od 1 do 100. Vyšší je lepší, ale vytváří větší soubory a může snížit odezvu aplikace.",
"image_thumbnail_title": "Miniatury",
"import_config_from_json_description": "Importujte konfiguraci systému nahráním konfiguračního JSON souboru",
"integrity_checks_checksum_files": "Soubory s kontrolními součty",
"integrity_checks_checksum_files_description": "Nastavení kontroly kontrolního součtu",
"integrity_checks_checksum_files_enable_description": "Zapnout kontrolu kontrolního součtu",
"integrity_checks_checksum_files_percentage_limit": "Procentuální limit",
"integrity_checks_checksum_files_percentage_limit_description": "Nastavte maximální procentuální hodnotu v rozmezí 0.01 až 1, která určuje, jak často se má v daném intervalu provádět kontrola kontrolního součtu.",
"integrity_checks_checksum_files_time_limit": "Časový limit",
"integrity_checks_checksum_files_time_limit_description": "Nastavte maximální dobu, po kterou by měla v každém intervalu probíhat kontrola kontrolního součtu. (ms)",
"integrity_checks_missing_files": "Chybějící soubory",
"integrity_checks_missing_files_description": "Nastavte frekvenci a zapněte nebo vypněte kontrolu chybějících souborů",
"integrity_checks_missing_files_enable_description": "Zapnout kontrolu chybějících souborů",
"integrity_checks_settings": "Kontroly integrity",
"integrity_checks_settings_description": "Správa intervalů kontrol integrity",
"integrity_checks_untracked_files": "Nesledované soubory",
"integrity_checks_untracked_files_description": "Nastavte frekvenci a zapněte nebo vypněte kontrolu nesledovaných souborů",
"integrity_checks_untracked_files_enable_description": "Zapnout kontrolu nesledovaných souborů",
"job_concurrency": "Souběžnost úlohy {job}",
"job_created": "Úloha vytvořena",
"job_not_concurrency_safe": "Tato úloha není bezpečená pro souběh.",
@@ -189,7 +204,7 @@
"maintenance_delete_error": "Nepodařilo se smazat zálohu.",
"maintenance_integrity_check": "Zkontrolovat",
"maintenance_integrity_check_all": "Zkontrolovat vše",
"maintenance_integrity_checksum_mismatch": "Neshoda kontrolního součtu",
"maintenance_integrity_checksum_mismatch": "Neshoda kontrol. součtu",
"maintenance_integrity_checksum_mismatch_description": "Soubory, u nichž se kontrolní součet na disku neshoduje s kontrolním součtem, který Immich uložil do své databáze.",
"maintenance_integrity_checksum_mismatch_job": "Kontrola shod kontrolních součtů",
"maintenance_integrity_checksum_mismatch_refresh_job": "Obnovit hlášení o neshodách kontrolních součtů",
@@ -416,6 +431,10 @@
"transcoding_realtime_description": "Umožňuje provádět překódování v reálném čase během přenosu videa. Zpřístupní přepínání kvality, ale v závislosti na výkonu serveru může docházet k delším zpožděním při přehrávání a k trhanému přehrávání.",
"transcoding_realtime_enabled": "Povolit překódování v reálném čase",
"transcoding_realtime_enabled_description": "Pokud je zakázáno, server odmítne spustit nové relace překódování v reálném čase.",
"transcoding_realtime_resolutions": "Rozlišení",
"transcoding_realtime_resolutions_description": "Nabízená rozlišení pro transkódování v reálném čase. Vyšší rozlišení mohou způsobit problémy s přehráváním, pokud je server nedokáže dostatečně rychle transkódovat.",
"transcoding_realtime_video_codecs": "Videokodeky",
"transcoding_realtime_video_codecs_description": "Videokodeky nabízené pro transkódování v reálném čase. Klienti si při přehrávání vyberou nejlepší variantu, kterou podporují. AV1 je efektivnější než HEVC, který je zase efektivnější než H.264. Při použití hardwarové akcelerace vyberte pouze ty kodeky, které akcelerátor dokáže kódovat. Při použití softwarového transkódování mějte na paměti, že H.264 je rychlejší než AV1, který je zase rychlejší než HEVC.",
"transcoding_reference_frames": "Referenční snímky",
"transcoding_reference_frames_description": "Počet referenčních snímků při kompresi daného snímku. Vyšší hodnoty zvyšují účinnost komprese, ale zpomalují kódování. Hodnota 0 toto nastavuje automaticky.",
"transcoding_required_description": "Pouze videa, která nejsou v akceptovaném formátu",
@@ -578,6 +597,7 @@
"asset_viewer_settings_title": "Prohlížeč",
"assets": "Položky",
"assets_added_to_album_count": "Do alba {count, plural, one {byla přidána # položka} few {byly přidány # položky} other {bylo přidáno # položek}}",
"assets_added_to_album_partial_count": "Do alba bylo přidáno {successCount} z {totalCount} {totalCount, plural, one {aktiv} other {aktiv}}",
"assets_added_to_albums_count": "{assetTotal, plural, one {Přidána # položka} few{Přidány # položky} other {Přidáno # položek}} do {albumTotal, plural, one {# alba} other {# alb}}",
"assets_cannot_be_added_to_album_count": "{count, plural, one {Položku} other {Položky}} nelze přidat do alba",
"assets_cannot_be_added_to_albums": "{count, plural, one {Položku} other {Položky}} nelze přidat do žádného z alb",
@@ -1461,6 +1481,7 @@
"never": "Nikdy",
"new_album": "Nové album",
"new_api_key": "Nový API klíč",
"new_feature": "Nová funkce",
"new_password": "Nové heslo",
"new_person": "Nová osoba",
"new_pin_code": "Nový PIN kód",
@@ -1521,6 +1542,8 @@
"obtainium_configurator": "Konfigurátor Obtainium",
"obtainium_configurator_instructions": "Pomocí aplikace Obtainium nainstalujte a aktualizujte aplikaci pro Android přímo z vydání na GitHubu Immich. Vytvořte API klíč a vyberte variantu pro vytvoření konfiguračního odkazu pro Obtainium",
"ocr": "OCR",
"ocr_body": "Immich nyní rozpoznává text na vašich fotografiích, takže je můžete vyhledávat podle toho, co je na nich napsáno.",
"ocr_title": "Vyhledávání textu ve vašich fotografiích",
"official_immich_resources": "Oficiální zdroje Immich",
"offline": "Offline",
"offset": "Posun",
@@ -1539,6 +1562,8 @@
"open": "Otevřít",
"open_calendar": "Otevřít kalendář",
"open_in_browser": "Otevřít v prohlížeči",
"open_in_immich_body": "Nastavte si v systému Android aplikaci Immich jako svou galerii, abyste mohli otevírat fotografie přímo z jiných aplikací.",
"open_in_immich_title": "Otevřít fotografie v Immichi",
"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",
@@ -1697,7 +1722,10 @@
"recent": "Nedávné",
"recent_searches": "Nedávná vyhledávání",
"recently_added": "Nedávno přidané",
"recently_added_body": "Přejděte přímo na speciální stránku, kde najdete vše, co jste v poslední době přidali.",
"recently_added_description": "Prohlížejte si svá média seřazená podle data, kdy byla nahrána do Immiche",
"recently_added_page_title": "Nedávno přidané",
"recently_added_title": "Nedávno přidané",
"recently_taken": "Nedávno pořízené",
"refresh": "Obnovit",
"refresh_encoded_videos": "Obnovit kódovaná videa",
@@ -1879,7 +1907,7 @@
"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_enable_title": "Klepnutí 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í).",
@@ -1904,6 +1932,8 @@
"share_link": "Sdílet odkaz",
"share_original": "Použít originál (velký)",
"share_preview": "Použít miniaturu (malý)",
"share_quality_body": "Při sdílení stiskněte a podržte tlačítko sdílení pro výběr kvality obrázku.",
"share_quality_title": "Vyberte si kvalitu sdílení",
"shared": "Sdílené",
"shared_album_activities_input_disable": "Komentář je vypnutý",
"shared_album_activity_remove_content": "Chcete odstranit tuto aktivitu?",
@@ -1985,16 +2015,19 @@
"sign_out": "Odhlásit se",
"sign_up": "Zaregistrovat se",
"size": "Velikost",
"skip": "Přeskočit",
"skip_to_content": "Přejít na obsah",
"skip_to_folders": "Přeskočit na složky",
"skip_to_tags": "Přeskočit na značky",
"slideshow": "Prezentace",
"slideshow_body": "Posaďte se a sledujte, jak se vaše fotografie promítají v prezentaci na celé obrazovce.",
"slideshow_metadata_overlay_mode": "Obsah překryvného panelu",
"slideshow_metadata_overlay_mode_description_only": "Pouze popis",
"slideshow_metadata_overlay_mode_full": "Úplný",
"slideshow_repeat": "Opakovat prezentaci",
"slideshow_repeat_description": "Po skončení prezentace se vrátit na začátek",
"slideshow_settings": "Nastavení prezentace",
"slideshow_title": "Prezentace",
"smart_album": "Chytré album",
"some_assets_already_have_a_location_warning": "Některé z vybraných položek již mají polohu",
"sort_albums_by": "Seřadit alba podle...",
@@ -2070,7 +2103,7 @@
"theme_setting_primary_color_subtitle": "Zvolte barvu pro hlavní akce a zvýraznění.",
"theme_setting_primary_color_title": "Hlavní barva",
"theme_setting_system_primary_color_title": "Použít systémovou barvu",
"theme_setting_system_theme_switch": "Automaticky (podle systemového nastavení)",
"theme_setting_system_theme_switch": "Automaticky (podle systému)",
"then": "Pak",
"they_will_be_merged_together": "Budou sloučeny dohromady",
"third_party_resources": "Zdroje třetích stran",
@@ -2122,6 +2155,7 @@
"unknown": "Neznámý",
"unknown_country": "Neznámá země",
"unknown_date": "Neznámé datum",
"unknown_schema": "Neznámé schéma",
"unknown_year": "Neznámý rok",
"unlimited": "Neomezeně",
"unlink_motion_video": "Odpojit pohyblivé video",
@@ -2157,6 +2191,8 @@
"upload_status_errors": "Chyby",
"upload_status_uploaded": "Nahráno",
"upload_success": "Nahrání proběhlo úspěšně, obnovením stránky se zobrazí nově nahrané položky.",
"upload_to_album_body": "Uživatelé, kteří nevyužívají funkci ručního nahrávání, si nyní mohou zvolit, zda chtějí lokální fotografie přidávat přímo do alba již při jejich nahrávání, již není nutné je nejprve nahrát a teprve poté přidat do alba.",
"upload_to_album_title": "Nahrát přímo do alba",
"upload_to_immich": "Nahrát do Immich ({count})",
"uploading": "Nahrávání",
"uploading_media": "Nahrávání médií",
@@ -2224,6 +2260,9 @@
"week": "Týden",
"welcome": "Vítejte",
"welcome_to_immich": "Vítejte v Immichi",
"whats_new": "Co je nového",
"whats_new_settings_subtitle": "Podívejte se, co je nového v Immichi",
"whats_new_version": "Verze {version}",
"when": "Kdy",
"width": "Šířka",
"wifi_name": "Název Wi-Fi",

View File

@@ -73,6 +73,7 @@
"cron_expression_description": "Indstil skannings intervallet i cron format. For mere information se: <link>Crontab Guru</link>",
"cron_expression_presets": "cron predefinerede indstillinger",
"disable_login": "Deaktiver login",
"download_csv": "Hent CSV",
"duplicate_detection_job_description": "Kør maskinlæring på mediefiler for at opdage lignende billeder. Er afhængig af Smart Søgning",
"exclusion_pattern_description": "Ekskluderingsmønstre lader dig ignorere filer og mapper, når du scanner dit bibliotek. Dette er nyttigt, hvis du har mapper, der indeholder filer, du ikke vil importere, såsom RAW-filer.",
"export_config_as_json_description": "Download den aktuelle systemkonfiguration som en JSON-fil",
@@ -107,6 +108,15 @@
"image_thumbnail_quality_description": "Miniaturer kvaliteten indstilles fra 1 til 100. Nu højre, nu bedre kvalitet. Men giver større filer og påvirker programmets svartider.",
"image_thumbnail_title": "Thumbnail-indstillinger",
"import_config_from_json_description": "Importer systemkonfiguration ved at uploade en JSON-konfigurationsfil",
"integrity_checks_checksum_files": "Checksum-filer",
"integrity_checks_checksum_files_description": "Konfigurer checksum-filerne",
"integrity_checks_checksum_files_enable_description": "Aktiver checksum tjek",
"integrity_checks_checksum_files_percentage_limit": "Procent grænse",
"integrity_checks_checksum_files_percentage_limit_description": "Konfigurer den maksimano procent mellem 0.001 og 1 for hvor meget checksum tjek skal kører hver omgang.",
"integrity_checks_checksum_files_time_limit": "Tidsgrænse",
"integrity_checks_checksum_files_time_limit_description": "Konfigurer den maksimale periode for hvilken checksum tjekket skal nå på hvert interval. (ms)",
"integrity_checks_missing_files": "Mangler filer",
"integrity_checks_missing_files_description": "Konfigurer frekvensen og tædn eller sluk for manglende filer tjek",
"job_concurrency": "{job} samtidighed",
"job_created": "opgaven er skabt",
"job_not_concurrency_safe": "Denne opgave er ikke sikker at køre samtidigt med andre.",
@@ -182,9 +192,25 @@
"machine_learning_smart_search_enabled": "Aktiver smart søgning",
"machine_learning_smart_search_enabled_description": "Hvis deaktiveret, vil billeder ikke blive kodet til smart søgning.",
"machine_learning_url_description": "URLen for maskinlæringsserveren. Hvis mere end én URL angives, vil hver server blive forsøgt én ad gangen, indtil en svarer succesfuldt, i rækkefølge fra første til sidste. Servere, der ikke svarer, vil midlertidigt blive ignoreret, indtil de kommer online igen.",
"maintenance_backup_management": "Backup administration",
"maintenance_delete_backup": "Slet Backup",
"maintenance_delete_backup_description": "Denne fil vil blive slettet permanent.",
"maintenance_delete_error": "Sletning af backup fejlede.",
"maintenance_integrity_check": "Kontroller",
"maintenance_integrity_check_all": "Kontroller alle",
"maintenance_integrity_checksum_mismatch": "Checksum uoverensstemmelse",
"maintenance_integrity_checksum_mismatch_description": "Filer hvis checksum på disken ikke stemmer overens med den checksum, Immich har gemt i sin database.",
"maintenance_integrity_checksum_mismatch_job": "Kontroller for uoverensstemmelser i checksum",
"maintenance_integrity_checksum_mismatch_refresh_job": "Opdater rapporter om uoverensstemmelser i checksum",
"maintenance_integrity_missing_file": "Manglende filer",
"maintenance_integrity_missing_file_description": "Filer som Immich har i sin database, men som ikke findes i filsystemet.",
"maintenance_integrity_missing_file_job": "Tjek for manglende filer",
"maintenance_integrity_missing_file_refresh_job": "Opdater rapporter om manglende filer",
"maintenance_integrity_report": "Integritetsrapport",
"maintenance_integrity_untracked_file": "Ikke-registreret filer",
"maintenance_integrity_untracked_file_description": "Filer i Immichs mapper, som Immich ikke har nogen registrering af.",
"maintenance_integrity_untracked_file_job": "Tjek for ikke-registreret filer",
"maintenance_integrity_untracked_file_refresh_job": "Opdater rapporter om ikke-registreret filer",
"maintenance_restore_backup": "Genskab backup",
"maintenance_restore_backup_description": "Immich bliver slettet og genskabt fra den valgte backup. Der vil blive taget en backup før du fortsætter.",
"maintenance_restore_backup_different_version": "Denne backup blev lavet med en anden version af Immich!",
@@ -794,6 +820,8 @@
"day": "Dag",
"days": "Dage",
"deduplicate_all": "Dedubliker alle",
"default_quality_subtitle": "Kvalitet brugt ved tryk på 'del'. Tryk længe på dele-knappen for at vælge hver gang.",
"default_share_quality": "Standard delingskvalitet",
"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",
@@ -1076,6 +1104,7 @@
"failed": "Fejlet",
"failed_count": "Fejlede: {count}",
"failed_to_authenticate": "Kunne ikke godkendes",
"failed_to_delete_file": "Kunne ikke slette filen",
"failed_to_load_assets": "Kunne ikke indlæse mediefiler",
"failed_to_load_folder": "Kunne ikke indlæse mappe",
"favorite": "Favorit",
@@ -1180,6 +1209,7 @@
"individual_share": "Individuel andel",
"individual_shares": "Individuelle delinger",
"info": "Info",
"integrity_checks": "Integritetstjek",
"interval": {
"day_at_onepm": "Hver dag kl. 13",
"hours": "Hver {hours, plural, one {time} other {{hours, number} timer}}",
@@ -1241,6 +1271,7 @@
"linked_oauth_account": "Tilsluttet OAuth-konto",
"list": "Liste",
"live": "Live",
"load_more": "Indlæs flere",
"loading": "Indlæser",
"loading_search_results_failed": "Indlæsning af søgeresultater fejlede",
"local": "Lokal",
@@ -1281,9 +1312,9 @@
"login_form_failed_login": "Der opstod en vejl ved at logge ind. Tjek server webadressen, e-mailen og kodeordet",
"login_form_handshake_exception": "Der opstod en fejl med at oprette forbindelse til serveren. Aktiver selvsignerede certifikater i indstillingerne, hvis du bruger et selv signeret certifikat.",
"login_form_password_hint": "kodeord",
"login_form_server_empty": "Indtast server-URL.",
"login_form_server_error": "Kunne ikke forbinde til serveren.",
"login_has_been_disabled": "Login er blevet deaktiveret.",
"login_form_server_empty": "Indtast server-URL",
"login_form_server_error": "Kunne ikke forbinde til serveren",
"login_has_been_disabled": "Login er blevet deaktiveret",
"login_password_changed_error": "Der opstod en fejl i opdateringen af dit kodeord",
"login_password_changed_success": "Kodeordet blev opdateret",
"logout_all_device_confirmation": "Er du sikker på, at du vil logge ud af alle enheder?",
@@ -1334,6 +1365,7 @@
"map_location_picker_page_use_location": "Brug denne placering",
"map_location_service_disabled_content": "Placeringstjenesten skal aktiveres for at vise elementer fra din nuværende placering. Vil du aktivere den nu?",
"map_location_service_disabled_title": "Placeringstjenesten er deaktiveret",
"map_marker_for_image": "Kortmarkør for billede taget i {city}, {country}",
"map_marker_with_image": "Kortmarkør med billede",
"map_no_location_permission_content": "Der kræves tilladelse til placeringen for at vise elementer fra din nuværende placering. Vil du give tilladelse?",
"map_no_location_permission_title": "Placeringstilladelse blev afvist",
@@ -1484,6 +1516,9 @@
"notes": "Noter",
"nothing_here_yet": "Intet her endnu",
"notification_backup_reliability": "Aktivér notifikationer for at forbedre pålideligheden af backup i baggrunden",
"notification_enabled_list_tile_content": "Immich bruger notifikationer til baggrundsbackup. Administrer dem i dine enhedsindstillinger.",
"notification_enabled_list_tile_open_button": "Åbn indstillinger",
"notification_enabled_list_tile_title": "Notifikationer aktiveret",
"notification_permission_dialog_content": "Gå til indstillinger for at slå notifikationer til.",
"notification_permission_list_tile_content": "Tillad at bruge notifikationer.",
"notification_permission_list_tile_enable_button": "Slå notifikationer til",
@@ -1826,6 +1861,7 @@
"select_person": "Vælg person",
"select_person_to_tag": "Vælg en person at tagge",
"select_photos": "Vælg billeder",
"select_quality": "Vælg kvalitet",
"select_trash_all": "Vælg smid alle ud",
"selected": "Valgt",
"selected_count": "{count, plural, one {# valgt} other {# valgte}}",
@@ -1875,6 +1911,8 @@
"share": "Del",
"share_dialog_preparing": "Forbereder...",
"share_link": "Del link",
"share_original": "Brug original (stor)",
"share_preview": "Brug miniaturebillede (lille)",
"shared": "Delt",
"shared_album_activities_input_disable": "Kommentarer er deaktiveret",
"shared_album_activity_remove_content": "Vil du slette denne aktivitet?",
@@ -1967,6 +2005,7 @@
"slideshow_repeat_description": "Hop tilbage til begyndelsen når diasshow stopper",
"slideshow_settings": "Diasshowindstillinger",
"smart_album": "Smart album",
"some_assets_already_have_a_location_warning": "Nogle af de valgte aktiver har allerede en placering",
"sort_albums_by": "Sortér albummer efter...",
"sort_created": "Dato oprettet",
"sort_items": "Antal genstande",
@@ -2071,10 +2110,12 @@
"trash_page_info": "Slettede elementer vil blive slettet permanent efter {days} dage",
"trashed_items_will_be_permanently_deleted_after": "Mediefiler i papirkurven vil blive slettet permanent efter {days, plural, one {# dag} other {# dage}}.",
"trigger": "Udløser",
"trigger_asset_metadata_extraction": "Udtrækning af metadata for mediefil",
"trigger_asset_metadata_extraction_description": "Udløses, når EXIF-metadataene for en mediefil udtrækkes",
"trigger_asset_uploaded": "Mediefil upload",
"trigger_asset_uploaded_description": "Udløses, når et nyt asset bliver uploaded",
"trigger_person_recognized": "Peron genkendt",
"trigger_person_recognized_description": "Udløses, når en person er detekteret",
"trigger_person_recognized_description": "Udløses, når en person er genkendt",
"troubleshoot": "Fejlfinding",
"type": "Type",
"unable_to_change_pin_code": "Kunne ikke ændre PIN kode",

View File

@@ -47,7 +47,7 @@
"authentication_settings_disable_all": "Bist du sicher, dass du alle Anmeldemethoden deaktivieren willst? Die Anmeldung wird vollständig deaktiviert.",
"authentication_settings_reenable": "Nutze einen <link>Server-Befehl</link> zur Reaktivierung.",
"background_task_job": "Hintergrundaufgaben",
"backup_database": "Datenbanksicherung erstellen",
"backup_database": "Datenbankexport erstellen",
"backup_database_enable_description": "Datenbank regelmäßig sichern",
"backup_keep_last_amount": "Anzahl der zu speichernden vorherigen Sicherungen",
"backup_onboarding_1_description": "Offsite-Kopie in der Cloud oder an einem anderen physischen Ort.",
@@ -57,7 +57,7 @@
"backup_onboarding_footer": "Weitere Informationen zum Sichern von Immich findest du in der <link>Dokumentation</link>.",
"backup_onboarding_parts_title": "Eine 3-2-1-Sicherung umfasst:",
"backup_onboarding_title": "Sicherungen",
"backup_settings": "Einstellungen zur Datenbanksicherung",
"backup_settings": "Einstellungen zum Datenbankexport",
"backup_settings_description": "Einstellungen zur regelmäßigen Sicherung der Datenbank. Hinweis: Diese Jobs werden nicht überwacht und du wirst nicht über Fehler informiert.",
"cleared_jobs": "Folgende Aufgaben zurückgesetzt: {job}",
"config_set_by_file": "Ist derzeit in einer Konfigurationsdatei festgelegt",
@@ -108,6 +108,21 @@
"image_thumbnail_quality_description": "Qualität der Miniaturansicht von 1-100. Höher ist besser, erzeugt aber größere Dateien und kann die Reaktionsfähigkeit der App beeinträchtigen.",
"image_thumbnail_title": "Miniaturansicht-Einstellungen",
"import_config_from_json_description": "Importieren Sie die Systemkonfiguration, indem Sie eine JSON-Konfigurationsdatei hochladen",
"integrity_checks_checksum_files": "Prüfsummendateien",
"integrity_checks_checksum_files_description": "Anpassung der Prüfsummen Tests",
"integrity_checks_checksum_files_enable_description": "Aktiviere den Prüfsummen Test",
"integrity_checks_checksum_files_percentage_limit": "Prozentuales Limit",
"integrity_checks_checksum_files_percentage_limit_description": "Setze die maximale Prozentzahl zwischen 0.01 und 1, um zu bestimmen wie viel der Prüfsummen Test jedes Intervall prüfen soll.",
"integrity_checks_checksum_files_time_limit": "Zeitlimit",
"integrity_checks_checksum_files_time_limit_description": "Setze die maximale Dauer die der Prüfsummen Test jedes Intervall ausgeführt werden soll. (ms)",
"integrity_checks_missing_files": "Fehlende Dateien",
"integrity_checks_missing_files_description": "Setze die Frequenz und (de)aktiviere den Test für fehlende Dateien",
"integrity_checks_missing_files_enable_description": "Aktiviere den Test für fehlende Dateien",
"integrity_checks_settings": "Integritätstests",
"integrity_checks_settings_description": "Verwalten Intervalle der Integritätstests",
"integrity_checks_untracked_files": "Nicht getrackte Dateien",
"integrity_checks_untracked_files_description": "Setze die Frequenz und (de)aktiviere den Test für ungetrackte Dateien",
"integrity_checks_untracked_files_enable_description": "Aktiviere den Test für ungetrackte Dateien",
"job_concurrency": "{job} (Anzahl gleichzeitiger Prozesse)",
"job_created": "Aufgabe erstellt",
"job_not_concurrency_safe": "Diese Aufgabe ist nicht parallelisierungssicher.",
@@ -416,6 +431,10 @@
"transcoding_realtime_description": "Ermöglicht die Transkodierung in Echtzeit während des Videostreams. Ermöglicht einen Qualitätswechsel, kann jedoch je nach Serverkapazität zu einer höheren Wiedergabelatenz und Rucklern führen.",
"transcoding_realtime_enabled": "Echtzeit-Transkodierung aktivieren",
"transcoding_realtime_enabled_description": "Wenn diese Option deaktiviert ist, lehnt der Server den Start neuer Echtzeit-Transkodierungssitzungen ab.",
"transcoding_realtime_resolutions": "Auflösungen",
"transcoding_realtime_resolutions_description": "Die für das Echtzeit-Transcoding angebotenen Auflösungen. Höhere Auflösungen können zu Wiedergabeproblemen führen, wenn der Server sie nicht schnell genug transcodieren kann.",
"transcoding_realtime_video_codecs": "Video-Codecs",
"transcoding_realtime_video_codecs_description": "Die für die Echtzeit-Transkodierung angebotenen Videocodecs. Clients wählen bei der Wiedergabe die beste von ihnen unterstützte Option aus. AV1 ist effizienter als HEVC und HEVC ist effizienter als H.264. Wählen Sie bei Verwendung von Hardwarebeschleunigung nur die Codecs aus, die der Beschleuniger kodieren kann. Beachten Sie bei der Software-Transkodierung, dass H.264 schneller ist als AV1 und AV1 schneller als HEVC.",
"transcoding_reference_frames": "Referenz-Frames",
"transcoding_reference_frames_description": "Die Anzahl der Bilder, auf die bei der Komprimierung eines bestimmten Bildes Bezug genommen wird. Höhere Werte verbessern die Komprimierungseffizienz, verlangsamen aber die Kodierung. 0 setzt diesen Wert automatisch.",
"transcoding_required_description": "Nur Videos in einem nicht akzeptierten Format",
@@ -578,6 +597,7 @@
"asset_viewer_settings_title": "Fotoanzeige",
"assets": "Dateien",
"assets_added_to_album_count": "{count, plural, one {# Datei} other {# Dateien}} zum Album hinzugefügt",
"assets_added_to_album_partial_count": "{successCount} von {totalCount} {totalCount, plural, one {Datei} other {Dateien}} zum Album hinzugefügt",
"assets_added_to_albums_count": "{assetTotal, plural, one {# Datei} other {# Dateien}} zu {albumTotal, plural, one {# Album} other {# Alben}} hinzugefügt",
"assets_cannot_be_added_to_album_count": "{count, plural, one {Datei kann}other {Dateien können}} nicht zum Album hinzugefügt werden",
"assets_cannot_be_added_to_albums": "{count, plural, one {Datei kann} other {Dateien können}} nicht zu den Alben hinzugefügt werden",
@@ -905,7 +925,7 @@
"edit_workflow": "Workflow bearbeiten",
"editor": "Bearbeiten",
"editor_discard_edits_confirm": "Änderungen verwerfen",
"editor_discard_edits_prompt": "Es liegen ungespeicherte Änderungen vorhanden. Sicher, dass diese verworfen werden sollen?",
"editor_discard_edits_prompt": "Es sind ungespeicherte Änderungen vorhanden. Sicher, dass diese verworfen werden sollen?",
"editor_discard_edits_title": "Änderungen verwerfen?",
"editor_edits_applied_error": "Änderungen konnten nicht angewendet werden",
"editor_edits_applied_success": "Änderungen erfolgreich angewendet",
@@ -1461,6 +1481,7 @@
"never": "Niemals",
"new_album": "Neues Album",
"new_api_key": "Neuer API-Schlüssel",
"new_feature": "Neue Funktion",
"new_password": "Neues Passwort",
"new_person": "Neue Person",
"new_pin_code": "Neuer PIN-Code",
@@ -1521,6 +1542,8 @@
"obtainium_configurator": "Obtainium Konfigurator",
"obtainium_configurator_instructions": "Du kannst Obtainium benutzen, um die App direkt aus den Github Releases zu installieren oder zu aktualisieren. Bitte erstelle dazu einen API-Schlüssel und wähle eine Variante aus um einen Obtainium-Konfigurationslink zu erstellen",
"ocr": "OCR",
"ocr_body": "Immich liest jetzt den Text in deinen Fotos, sodass du nach ihrem Inhalt suchen kannst.",
"ocr_title": "Suche Text in deinen Fotos",
"official_immich_resources": "Offizielle Immich Quellen",
"offline": "Offline",
"offset": "Verschiebung",
@@ -1539,6 +1562,8 @@
"open": "Öffnen",
"open_calendar": "Kalender öffnen",
"open_in_browser": "Im Browser öffnen",
"open_in_immich_body": "Setze Immich als deine Galerie auf Android um auf Fotos von anderen Apps zugreifen zu können.",
"open_in_immich_title": "Öffne Fotos in Immich",
"open_in_map_view": "In Kartenansicht öffnen",
"open_in_openstreetmap": "In OpenStreetMap öffnen",
"open_the_search_filters": "Die Suchfilter öffnen",
@@ -1697,7 +1722,10 @@
"recent": "Neueste",
"recent_searches": "Letzte Suchen",
"recently_added": "Kürzlich hinzugefügt",
"recently_added_body": "Öffne direkt deine neusten Änderungen direkt auf einer Seite.",
"recently_added_description": "Durchsuche deine Medien nachdem Sie auf Immich hochgeladen wurden",
"recently_added_page_title": "Zuletzt hinzugefügt",
"recently_added_title": "Zuletzt hinzugefügt",
"recently_taken": "Kürzlich aufgenommen",
"refresh": "Aktualisieren",
"refresh_encoded_videos": "Kodierte Videos aktualisieren",
@@ -1904,6 +1932,8 @@
"share_link": "Link teilen",
"share_original": "Original verwenden (groß)",
"share_preview": "Thumbnail verwenden (klein)",
"share_quality_body": "Halte den Teilen Button gedrückt um die Bildqualität vor dem Teilen auszuwählen.",
"share_quality_title": "Wähle deine Qualität zum Teilen aus",
"shared": "Geteilt",
"shared_album_activities_input_disable": "Kommentare sind deaktiviert",
"shared_album_activity_remove_content": "Möchtest du diese Aktivität entfernen?",
@@ -1985,16 +2015,19 @@
"sign_out": "Abmelden",
"sign_up": "Registrieren",
"size": "Größe",
"skip": "Überspringen",
"skip_to_content": "Zum Inhalt springen",
"skip_to_folders": "Springe zu Ordnern",
"skip_to_tags": "Springe zu Tags",
"slideshow": "Diashow",
"slideshow_body": "Lehn' dich zurück und genieße deine Fotos in einer Vollbild Diashow.",
"slideshow_metadata_overlay_mode": "Overlay Inhalt",
"slideshow_metadata_overlay_mode_description_only": "Nur Beschreibung",
"slideshow_metadata_overlay_mode_full": "Alles",
"slideshow_repeat": "Slideshow wiederholen",
"slideshow_repeat_description": "Wenn Slideshow beendet, zum Anfang zurückkehren",
"slideshow_settings": "Diashow-Einstellungen",
"slideshow_title": "Diashow",
"smart_album": "Smart Album",
"some_assets_already_have_a_location_warning": "Einige der ausgewählten Dateien haben bereits einen Standort",
"sort_albums_by": "Alben sortieren nach...",
@@ -2122,6 +2155,7 @@
"unknown": "Unbekannt",
"unknown_country": "Unbekanntes Land",
"unknown_date": "Unbekanntes Datum",
"unknown_schema": "Unbekanntes Schema",
"unknown_year": "Unbekanntes Jahr",
"unlimited": "Unlimitiert",
"unlink_motion_video": "Verknüpfung zum Bewegungsvideo aufheben",
@@ -2157,6 +2191,8 @@
"upload_status_errors": "Fehler",
"upload_status_uploaded": "Hochgeladen",
"upload_success": "Hochladen erfolgreich. Aktualisiere die Seite, um neue hochgeladene Dateien zu sehen.",
"upload_to_album_body": "Für Nutzer*innen die nicht den manuellen Upload verwenden, du kannst auswählen neue lokale Fotos direkt in ein Album hinzufügen, sodass du sie nicht erst hochladen und dann zu einem Album hinzufügen musst.",
"upload_to_album_title": "Direkt in ein Album hochladen",
"upload_to_immich": "Auf Immich hochladen ({count})",
"uploading": "Wird hochgeladen",
"uploading_media": "Medien werden hochgeladen",
@@ -2224,6 +2260,9 @@
"week": "Woche",
"welcome": "Willkommen",
"welcome_to_immich": "Willkommen bei Immich",
"whats_new": "Neuigkeiten",
"whats_new_settings_subtitle": "Neues in Immich",
"whats_new_version": "Version {version}",
"when": "Wann",
"width": "Breite",
"wifi_name": "WLAN-Netzwerk",

View File

@@ -108,6 +108,21 @@
"image_thumbnail_quality_description": "Thumbnail quality from 1-100. Higher is better, but produces larger files and can reduce app responsiveness.",
"image_thumbnail_title": "Thumbnail Settings",
"import_config_from_json_description": "Import system config by uploading a JSON config file",
"integrity_checks_checksum_files": "Checksum files",
"integrity_checks_checksum_files_description": "Configure the checksum check",
"integrity_checks_checksum_files_enable_description": "Enable the checksum check",
"integrity_checks_checksum_files_percentage_limit": "Percentage limit",
"integrity_checks_checksum_files_percentage_limit_description": "Configure the maximum percentage between 0.01 and 1 for how much the checksum check should run each interval.",
"integrity_checks_checksum_files_time_limit": "Time limit",
"integrity_checks_checksum_files_time_limit_description": "Configure the maximum duration for which the checksum check should run each interval. (ms)",
"integrity_checks_missing_files": "Missing files",
"integrity_checks_missing_files_description": "Configure the frequency and enable or disable the missing files check",
"integrity_checks_missing_files_enable_description": "Enable the missing files check",
"integrity_checks_settings": "Integrity checks",
"integrity_checks_settings_description": "Manage integrity checks intervals",
"integrity_checks_untracked_files": "Untracked files",
"integrity_checks_untracked_files_description": "Configure the frequency and enable or disable the untracked files check",
"integrity_checks_untracked_files_enable_description": "Enable the untracked files check",
"job_concurrency": "{job} concurrency",
"job_created": "Job created",
"job_not_concurrency_safe": "This job is not concurrency-safe.",
@@ -416,6 +431,10 @@
"transcoding_realtime_description": "Allows transcoding to be performed in real-time as the video is being streamed. Enables quality switching, but may cause higher playback latency and stuttering depending on server capabilities.",
"transcoding_realtime_enabled": "Enable real-time transcoding",
"transcoding_realtime_enabled_description": "If disabled, the server will refuse to start new real-time transcoding sessions.",
"transcoding_realtime_resolutions": "Resolutions",
"transcoding_realtime_resolutions_description": "The resolutions offered for real-time transcoding. Higher resolutions may cause playback issues if the server cannot transcode them quickly enough.",
"transcoding_realtime_video_codecs": "Video codecs",
"transcoding_realtime_video_codecs_description": "The video codecs offered for real-time transcoding. Clients will choose the best option they support during playback. AV1 is more efficient than HEVC, which is more efficient than H.264. When using hardware acceleration, only select the codecs the accelerator can encode. When using software transcoding, note that H.264 is faster than AV1, which is faster than HEVC.",
"transcoding_reference_frames": "Reference frames",
"transcoding_reference_frames_description": "The number of frames to reference when compressing a given frame. Higher values improve compression efficiency, but slow down encoding. 0 sets this value automatically.",
"transcoding_required_description": "Only videos not in an accepted format",
@@ -578,6 +597,7 @@
"asset_viewer_settings_title": "Asset Viewer",
"assets": "Assets",
"assets_added_to_album_count": "Added {count, plural, one {# asset} other {# assets}} to the album",
"assets_added_to_album_partial_count": "Added {successCount} out of {totalCount} {totalCount, plural, one {asset} other {assets}} to the album",
"assets_added_to_albums_count": "Added {assetTotal, plural, one {# asset} other {# assets}} to {albumTotal, plural, one {# album} other {# albums}}",
"assets_cannot_be_added_to_album_count": "{count, plural, one {Asset} other {Assets}} cannot be added to the album",
"assets_cannot_be_added_to_albums": "{count, plural, one {Asset} other {Assets}} cannot be added to any of the albums",
@@ -794,7 +814,6 @@
"custom_date": "Custom date",
"custom_locale": "Custom locale",
"custom_locale_description": "Format dates, times, and numbers based on the selected language and region",
"custom_url": "Custom URL",
"cutoff_date_description": "Keep photos from the last…",
"cutoff_day": "{count, plural, one {day} other {days}}",
"cutoff_year": "{count, plural, one {year} other {years}}",
@@ -1461,6 +1480,7 @@
"never": "Never",
"new_album": "New Album",
"new_api_key": "New API Key",
"new_feature": "New Feature",
"new_password": "New password",
"new_person": "New person",
"new_pin_code": "New PIN code",
@@ -1521,6 +1541,8 @@
"obtainium_configurator": "Obtainium Configurator",
"obtainium_configurator_instructions": "Use Obtainium to install and update the Android app directly from Immich GitHub's release. Create an API key and select a variant to create your Obtainium configuration link",
"ocr": "OCR",
"ocr_body": "Immich now reads the text inside your photos, so you can search for them by what they say.",
"ocr_title": "Search text in your photos",
"official_immich_resources": "Official Immich Resources",
"offline": "Offline",
"offset": "Offset",
@@ -1539,6 +1561,8 @@
"open": "Open",
"open_calendar": "Open calendar",
"open_in_browser": "Open in browser",
"open_in_immich_body": "Set Immich as your gallery on Android to open photos straight from other apps.",
"open_in_immich_title": "Open photos in Immich",
"open_in_map_view": "Open in map view",
"open_in_openstreetmap": "Open in OpenStreetMap",
"open_the_search_filters": "Open the search filters",
@@ -1596,7 +1620,7 @@
"person": "Person",
"person_age_months": "{months, plural, one {# month} other {# months}} old",
"person_age_year_months": "1 year, {months, plural, one {# month} other {# months}} old",
"person_age_years": "{years, plural, other {# years}} old",
"person_age_years": "{years, plural, one {# year} other {# years}} old",
"person_birthdate": "Born on {date}",
"person_hidden": "{name}{hidden, select, true { (hidden)} other {}}",
"person_recognized": "Person recognized",
@@ -1697,7 +1721,10 @@
"recent": "Recent",
"recent_searches": "Recent searches",
"recently_added": "Recently added",
"recently_added_body": "Jump straight to everything you've added lately on a dedicated page.",
"recently_added_description": "Browse your assets sorted by when they were uploaded to Immich",
"recently_added_page_title": "Recently Added",
"recently_added_title": "Recently added",
"recently_taken": "Recently taken",
"refresh": "Refresh",
"refresh_encoded_videos": "Refresh encoded videos",
@@ -1904,6 +1931,8 @@
"share_link": "Share Link",
"share_original": "Use original (large)",
"share_preview": "Use thumbnail (small)",
"share_quality_body": "Press and hold the share button to choose the image quality before you share.",
"share_quality_title": "Choose your share quality",
"shared": "Shared",
"shared_album_activities_input_disable": "Comment is disabled",
"shared_album_activity_remove_content": "Do you want to delete this activity?",
@@ -1918,7 +1947,9 @@
"shared_link_app_bar_title": "Shared Links",
"shared_link_clipboard_copied_massage": "Copied to clipboard",
"shared_link_create_error": "Error while creating shared link",
"shared_link_custom_url_description": "Access this shared link with a custom URL",
"shared_link_custom_url_description": "Access this shared link with a custom URL name",
"shared_link_custom_url_title": "Custom URL",
"shared_link_custom_url_warning": "Warning: a custom URL name with a forward slash may not behave as you expect.",
"shared_link_edit_description_hint": "Enter the share description",
"shared_link_edit_expire_after_option_day": "1 day",
"shared_link_edit_expire_after_option_days": "{count} days",
@@ -1985,16 +2016,19 @@
"sign_out": "Sign Out",
"sign_up": "Sign up",
"size": "Size",
"skip": "Skip",
"skip_to_content": "Skip to content",
"skip_to_folders": "Skip to folders",
"skip_to_tags": "Skip to tags",
"slideshow": "Slideshow",
"slideshow_body": "Sit back and watch your photos play in a full-screen slideshow.",
"slideshow_metadata_overlay_mode": "Overlay content",
"slideshow_metadata_overlay_mode_description_only": "Description only",
"slideshow_metadata_overlay_mode_full": "Full",
"slideshow_repeat": "Repeat slideshow",
"slideshow_repeat_description": "Loop back to beginning when slideshow ends",
"slideshow_settings": "Slideshow settings",
"slideshow_title": "Slideshow",
"smart_album": "Smart album",
"some_assets_already_have_a_location_warning": "Some of the selected assets already have a location",
"sort_albums_by": "Sort albums by...",
@@ -2122,6 +2156,7 @@
"unknown": "Unknown",
"unknown_country": "Unknown Country",
"unknown_date": "Unknown date",
"unknown_schema": "Unknown schema",
"unknown_year": "Unknown Year",
"unlimited": "Unlimited",
"unlink_motion_video": "Unlink motion video",
@@ -2157,6 +2192,8 @@
"upload_status_errors": "Errors",
"upload_status_uploaded": "Uploaded",
"upload_success": "Upload success, refresh the page to see new upload assets.",
"upload_to_album_body": "For users that don't utilize the manual upload feature, you can now choose to add local photos directly into an album as you upload them, no need to upload then add to an album later anymore.",
"upload_to_album_title": "Upload straight to an album",
"upload_to_immich": "Upload to Immich ({count})",
"uploading": "Uploading",
"uploading_media": "Uploading media",
@@ -2224,6 +2261,9 @@
"week": "Week",
"welcome": "Welcome",
"welcome_to_immich": "Welcome to Immich",
"whats_new": "What's new",
"whats_new_settings_subtitle": "See what's new in Immich",
"whats_new_version": "Version {version}",
"when": "When",
"width": "Width",
"wifi_name": "Wi-Fi Name",

View File

@@ -108,6 +108,21 @@
"image_thumbnail_quality_description": "Thumbnail quality from 1-100. Higher is better, but produces larger files and can reduce app responsiveness.",
"image_thumbnail_title": "Thumbnail Settings",
"import_config_from_json_description": "Import system config by uploading a JSON config file",
"integrity_checks_checksum_files": "Checksum files",
"integrity_checks_checksum_files_description": "Configure the checksum check",
"integrity_checks_checksum_files_enable_description": "Enable the checksum check",
"integrity_checks_checksum_files_percentage_limit": "Percentage limit",
"integrity_checks_checksum_files_percentage_limit_description": "Configure the maximum percentage between 0.01 and 1 for how much the checksum check should run each interval.",
"integrity_checks_checksum_files_time_limit": "Time limit",
"integrity_checks_checksum_files_time_limit_description": "Configure the maximum duration for which the checksum check should run each interval. (ms)",
"integrity_checks_missing_files": "Missing files",
"integrity_checks_missing_files_description": "Configure the frequency and enable or disable the missing files check",
"integrity_checks_missing_files_enable_description": "Enable the missing files check",
"integrity_checks_settings": "Integrity checks",
"integrity_checks_settings_description": "Manage integrity checks intervals",
"integrity_checks_untracked_files": "Untracked files",
"integrity_checks_untracked_files_description": "Configure the frequency and enable or disable the untracked files check",
"integrity_checks_untracked_files_enable_description": "Enable the untracked files check",
"job_concurrency": "{job} concurrency",
"job_created": "Job created",
"job_not_concurrency_safe": "This job is not concurrency-safe.",
@@ -416,6 +431,10 @@
"transcoding_realtime_description": "Allows transcoding to be performed in real-time as the video is being streamed. Enables quality switching, but may cause higher playback latency and stuttering depending on server capabilities.",
"transcoding_realtime_enabled": "Enable real-time transcoding",
"transcoding_realtime_enabled_description": "If disabled, the server will refuse to start new real-time transcoding sessions.",
"transcoding_realtime_resolutions": "Resolutions",
"transcoding_realtime_resolutions_description": "The resolutions offered for real-time transcoding. Higher resolutions may cause playback issues if the server cannot transcode them quickly enough.",
"transcoding_realtime_video_codecs": "Video codecs",
"transcoding_realtime_video_codecs_description": "The video codecs offered for real-time transcoding. Clients will choose the best option they support during playback. AV1 is more efficient than HEVC, which is more efficient than H.264. When using hardware acceleration, only select the codecs the accelerator can encode. When using software transcoding, note that H.264 is faster than AV1, which is faster than HEVC.",
"transcoding_reference_frames": "Reference frames",
"transcoding_reference_frames_description": "The number of frames to reference when compressing a given frame. Higher values improve compression efficiency, but slow down encoding. 0 sets this value automatically.",
"transcoding_required_description": "Only videos not in an accepted format",
@@ -578,6 +597,7 @@
"asset_viewer_settings_title": "Asset Viewer",
"assets": "Assets",
"assets_added_to_album_count": "Added {count, plural, one {# asset} other {# assets}} to the album",
"assets_added_to_album_partial_count": "Added {successCount} out of {totalCount} {totalCount, plural, one {asset} other {assets}} to the album",
"assets_added_to_albums_count": "Added {assetTotal, plural, one {# asset} other {# assets}} to {albumTotal, plural, one {# album} other {# albums}}",
"assets_cannot_be_added_to_album_count": "{count, plural, one {Asset} other {Assets}} cannot be added to the album",
"assets_cannot_be_added_to_albums": "{count, plural, one {Asset} other {Assets}} cannot be added to any of the albums",
@@ -1461,6 +1481,7 @@
"never": "Never",
"new_album": "New Album",
"new_api_key": "New API Key",
"new_feature": "New Feature",
"new_password": "New password",
"new_person": "New person",
"new_pin_code": "New PIN code",
@@ -1521,6 +1542,8 @@
"obtainium_configurator": "Obtainium Configurator",
"obtainium_configurator_instructions": "Use Obtainium to install and update the Android app directly from Immich GitHub's release. Create an API key and select a variant to create your Obtainium configuration link",
"ocr": "OCR",
"ocr_body": "Immich now reads the text inside your photos, so you can search for them by what they say.",
"ocr_title": "Search text in your photos",
"official_immich_resources": "Official Immich Resources",
"offline": "Offline",
"offset": "Offset",
@@ -1539,6 +1562,8 @@
"open": "Open",
"open_calendar": "Open calendar",
"open_in_browser": "Open in browser",
"open_in_immich_body": "Set Immich as your gallery on Android to open photos straight from other apps.",
"open_in_immich_title": "Open photos in Immich",
"open_in_map_view": "Open in map view",
"open_in_openstreetmap": "Open in OpenStreetMap",
"open_the_search_filters": "Open the search filters",
@@ -1697,7 +1722,10 @@
"recent": "Recent",
"recent_searches": "Recent searches",
"recently_added": "Recently added",
"recently_added_body": "Jump straight to everything you've added lately on a dedicated page.",
"recently_added_description": "Browse your assets sorted by when they were uploaded to Immich",
"recently_added_page_title": "Recently Added",
"recently_added_title": "Recently added",
"recently_taken": "Recently taken",
"refresh": "Refresh",
"refresh_encoded_videos": "Refresh encoded videos",
@@ -1904,6 +1932,8 @@
"share_link": "Share Link",
"share_original": "Use original (large)",
"share_preview": "Use thumbnail (small)",
"share_quality_body": "Press and hold the share button to choose the image quality before you share.",
"share_quality_title": "Choose your share quality",
"shared": "Shared",
"shared_album_activities_input_disable": "Comment is disabled",
"shared_album_activity_remove_content": "Do you want to delete this activity?",
@@ -1985,16 +2015,19 @@
"sign_out": "Sign Out",
"sign_up": "Sign up",
"size": "Size",
"skip": "Skip",
"skip_to_content": "Skip to content",
"skip_to_folders": "Skip to folders",
"skip_to_tags": "Skip to tags",
"slideshow": "Slideshow",
"slideshow_body": "Sit back and watch your photos play in a full-screen slideshow.",
"slideshow_metadata_overlay_mode": "Overlay content",
"slideshow_metadata_overlay_mode_description_only": "Description only",
"slideshow_metadata_overlay_mode_full": "Full",
"slideshow_repeat": "Repeat slideshow",
"slideshow_repeat_description": "Loop back to beginning when slideshow ends",
"slideshow_settings": "Slideshow settings",
"slideshow_title": "Slideshow",
"smart_album": "Smart album",
"some_assets_already_have_a_location_warning": "Some of the selected assets already have a location",
"sort_albums_by": "Sort albums by...",
@@ -2122,6 +2155,7 @@
"unknown": "Unknown",
"unknown_country": "Unknown Country",
"unknown_date": "Unknown date",
"unknown_schema": "Unknown schema",
"unknown_year": "Unknown Year",
"unlimited": "Unlimited",
"unlink_motion_video": "Unlink motion video",
@@ -2157,6 +2191,8 @@
"upload_status_errors": "Errors",
"upload_status_uploaded": "Uploaded",
"upload_success": "Upload success, refresh the page to see new upload assets.",
"upload_to_album_body": "For users that don't use the manual upload feature, you can now choose to add local photos directly into an album as you upload them, no need to upload then add to an album later anymore.",
"upload_to_album_title": "Upload straight to an album",
"upload_to_immich": "Upload to Immich ({count})",
"uploading": "Uploading",
"uploading_media": "Uploading media",
@@ -2224,6 +2260,9 @@
"week": "Week",
"welcome": "Welcome",
"welcome_to_immich": "Welcome to Immich",
"whats_new": "What's new",
"whats_new_settings_subtitle": "See what's new in Immich",
"whats_new_version": "Version {version}",
"when": "When",
"width": "Width",
"wifi_name": "Wi-Fi Name",

View File

@@ -108,6 +108,21 @@
"image_thumbnail_quality_description": "Kvalito de bildeto, inter 1 kaj 100. Pli alta cifero indikas pli altkvalitan bildon, sed donas pli grandajn dosierojn kaj povas malrapidigi uzadon de la apo.",
"image_thumbnail_title": "Agordoj pri bildetoj",
"import_config_from_json_description": "Importi sistem-agordaĵaron de JSON-dosiero",
"integrity_checks_checksum_files": "Kontrolsum-dosieroj",
"integrity_checks_checksum_files_description": "Konfiguri la kontroladon per kontrolsumo",
"integrity_checks_checksum_files_enable_description": "Ŝalti kontroladon per kontrolsumoj",
"integrity_checks_checksum_files_percentage_limit": "Elcenta limo",
"integrity_checks_checksum_files_percentage_limit_description": "Konfiguri la maksimuman elcentaĵon, inter 0.01 kaj 1, kiom estu kontrolata je ĉiu intervalo.",
"integrity_checks_checksum_files_time_limit": "Tempolimo",
"integrity_checks_checksum_files_time_limit_description": "Konfiguri la maksimuman daŭron (milisekundoj) de kontrolado je ĉiu intervalo.",
"integrity_checks_missing_files": "Mankantaj dosieroj",
"integrity_checks_missing_files_description": "Konfiguri la oftecon kaj ŝalti/malŝalti kontrolon por mankantaj dosieroj",
"integrity_checks_missing_files_enable_description": "Ŝalti kontroladon por mankantaj dosieroj",
"integrity_checks_settings": "Kontrolo de integreco",
"integrity_checks_settings_description": "Administri intervalojn inter kontroloj de integreco",
"integrity_checks_untracked_files": "Senspuraj dosieroj",
"integrity_checks_untracked_files_description": "Konfiguri la oftecon kaj ŝalti/malŝalti kontrolon por senspuraj dosieroj",
"integrity_checks_untracked_files_enable_description": "Ŝalti kontroladon por senspuraj dosieroj",
"job_concurrency": "{job}: nombro de samtempaj taskoj",
"job_created": "Tasko kreita",
"job_not_concurrency_safe": "Estas nesekure fari tiun ĉi taskon samtempe kun aliaj.",
@@ -416,6 +431,10 @@
"transcoding_realtime_description": "Ebligas transkodadon samtempe kun spektado per elsendfluo. Tio ebligas ŝanĝon de kvalito laŭvole, sed povas kaŭzi pli da atendotempo kaj interrompoj, depende de la kapacito de la servilo.",
"transcoding_realtime_enabled": "Ŝalti realtempan transkodadon",
"transcoding_realtime_enabled_description": "Se malŝaltita, la servilo rifuzas komenci novajn sesiojn de realtempa transkodado.",
"transcoding_realtime_resolutions": "Distingivoj",
"transcoding_realtime_resolutions_description": "La distingivoj proponitaj por realtempa transkodado. Pli altaj distingivoj povas okazigi problemojn sed la servilo ne povas sufiĉe rapide transkodigi ilin.",
"transcoding_realtime_video_codecs": "Videokodekoj",
"transcoding_realtime_video_codecs_description": "La video-kodekoj proponitaj por realtempa transkodado. Klientoj povos elekti sian plej bonan opcion dum ludado. AV1 estas pli efika ol HEVC, kiu estas pli efika ol H.264. Se vi uzas aparataran plirapidigon, uzu nur kodekojn, kiujn la akcelilo povas kodigi. Por softvara transkodado, notu ke H.264 estas pli rapida ol AV1, kiu estas pli rapida ol HEVC.",
"transcoding_reference_frames": "Referencaj kadroj",
"transcoding_reference_frames_description": "La nombro da apudaj kadroj uzataj dum densigo de iu kadro. Pli granda valoro rezultas je pli bona densigo, sed malpli rapida laboro. Valoro de 0 indikas aŭtomatan agordon.",
"transcoding_required_description": "Nur videoj kun neakceptataj formatoj",
@@ -578,6 +597,7 @@
"asset_viewer_settings_title": "Montrilo de elemento",
"assets": "Elementoj",
"assets_added_to_album_count": "Sukcese aldonis {count, plural, one {# elementon} other {# elementojn}} al la albumo",
"assets_added_to_album_partial_count": "Aldonis {successCount} el {totalCount} {totalCount, plural, one {elemento} other {elementoj}} 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",
@@ -1497,6 +1517,8 @@
"notes": "Notoj",
"nothing_here_yet": "Ankoraŭ nenio ĉi tie",
"notification_backup_reliability": "Ŝalti atentigilojn por igi pli fidinda la fonan savkopiadon",
"notification_enabled_list_tile_open_button": "Malfermi agordojn",
"notification_enabled_list_tile_title": "Atentigoj ŝaltitaj",
"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",
@@ -1508,6 +1530,8 @@
"obtainium_configurator": "Konfigurilo pri Obtainium",
"obtainium_configurator_instructions": "Uzu Obtainium por instali kaj ĝisdatigi la apon por Android rekte el github. Kreu API-ŝlosilon kaj elektu variaĵon por krei ligilon por konfiguri Obtainium",
"ocr": "Optika signo-rekono",
"ocr_body": "Immich nun legas tekston en viaj fotoj, do vi povas serĉi kaj trovi fotojn laŭ tio.",
"ocr_title": "Serĉi tekston en fotoj",
"official_immich_resources": "Oficialaj rimedoj por Immich",
"offline": "Nekonektita",
"offset": "Deŝovo",
@@ -1526,6 +1550,8 @@
"open": "Malfermi",
"open_calendar": "Malfermi kalendaron",
"open_in_browser": "Malfermi en retumilo",
"open_in_immich_body": "Agordi Immich kiel galerion en Android-aparato por ke fotoj malfermiĝu rekte de aliaj apoj en Immich.",
"open_in_immich_title": "Malfermi fotojn en Immich",
"open_in_map_view": "Montri sur mapo",
"open_in_openstreetmap": "Malfermi en OpenStreetMap",
"open_the_search_filters": "Malfermi la serĉ-filtrilojn",
@@ -1814,9 +1840,59 @@
"search_timezone": "Serĉi laŭ horzono...",
"search_type": "Serĉi laŭ tipo",
"search_your_photos": "Serĉi viajn fotojn",
"searching_locales": "Serĉado de lokaj parametroj...",
"second": "Sekundo",
"see_all_people": "Vidi ĉiujn homojn",
"select": "Elekti",
"select_album": "Elekti albumon",
"select_album_cover": "Elekti album-kovrilon",
"select_albums": "Elekti albumojn",
"select_all": "Elekti ĉiujn",
"select_all_duplicates": "Elekti ĉiujn duoblaĵojn",
"select_avatar_color": "Elekti koloron de profilbildo",
"select_count": "{count, plural, one {Elekti #} other {Elekti #}}",
"select_cutoff_date": "Elekti limdaton",
"select_face": "Elekti vizaĝon",
"select_featured_photo": "Elekti elstarigitan foton",
"select_from_computer": "Elekti el komputilo",
"select_keep_all": "Konservi ĉiujn",
"select_new_face": "Elekti novan vizaĝon",
"select_people": "Elekti homojn",
"select_person": "Elekti homon",
"select_person_to_tag": "Elekti homon por etikedi",
"select_photos": "Elekti fotojn",
"select_quality": "Elekti kvaliton",
"select_trash_all": "Forigi ĉiujn",
"selected": "Elektita",
"selected_count": "{count, plural, one {# elektita} other {# elektitaj}}",
"selected_gps_coordinates": "GPS-koordinatoj elektitaj",
"send_message": "Sendi mesaĝon",
"send_welcome_email": "Sendi bonvenan retmesaĝon",
"server_endpoint": "Finpunkto ĉe servilo",
"server_info_box_app_version": "Versio de apo",
"server_info_box_server_url": "URL-o de servilo",
"server_offline": "Servilo nedisponebla",
"server_online": "Servilo disponebla",
"server_privacy": "Privateco de servilo",
"server_restarting_description": "La paĝo baldaŭ reŝargiĝos.",
"server_restarting_title": "Servilo restartas",
"server_stats": "Statistikoj de servilo",
"server_update_available": "Ĝisdatigo disponeblas por la servilo",
"server_version": "Versio de servilo",
"set": "Agordi",
"set_as_album_cover": "Agordi kiel album-kovrilo",
"set_as_featured_photo": "Agordi kiel elstarigitan foton",
"set_as_profile_picture": "Elekti kiel profilbildon",
"set_date_of_birth": "Agordi naskiĝdaton",
"set_profile_picture": "Elekti profilbildon",
"set_slideshow_to_fullscreen": "Vidigi bildserion plenekrane",
"set_stack_primary_asset": "Agordi kiel unuarangan elementon",
"setting_image_navigation_enable_subtitle": "Se ŝaltita, vi povas salti al antaŭa/sekva bildo per tuŝeto en la maldekstra/dekstra kvarono de la ekrano.",
"setting_image_navigation_enable_title": "Tuŝeti por navigi",
"setting_image_navigation_title": "Navigado de bildoj",
"setting_image_viewer_help": "La detala montrilo unue montras la malgrandan bildeton, poste ŝargas la mezgrandan antaŭvidon (se ŝaltita), kaj fine ŝargas la originalan (se ŝaltita).",
"setting_image_viewer_original_subtitle": "Ŝalti por ŝargi la originalan bildon (povas esti tre granda!) Malŝalti por ŝpareme uzi datumojn (de retkonekto kaj memoro en via aparato).",
"setting_image_viewer_original_title": "Ŝargi originalan bildon",
"setting_notifications_subtitle": "Redakti viajn preferojn pri sciigoj",
"shared": "Dividitaj",
"shared_album_activities_input_disable": "Komentado estas malŝaltita",

View File

@@ -108,6 +108,21 @@
"image_thumbnail_quality_description": "Calidad de miniatura de 1 a 100. Es mejor cuanto más alto es el valor pero genera archivos más grandes y puede reducir la capacidad de respuesta de la aplicación.",
"image_thumbnail_title": "Ajustes de las miniaturas",
"import_config_from_json_description": "Importar la configuración del sistema subiendo un archivo JSON de configuración",
"integrity_checks_checksum_files": "Archivos de suma de comprobación",
"integrity_checks_checksum_files_description": "Configurar la comprobación de la suma de comprobación",
"integrity_checks_checksum_files_enable_description": "Activar la comprobación de la suma de comprobación",
"integrity_checks_checksum_files_percentage_limit": "Límite porcentual",
"integrity_checks_checksum_files_percentage_limit_description": "Configura el porcentaje máximo, entre 0,01 y 1, que indica la frecuencia con la que debe ejecutarse la comprobación de la suma de comprobación en cada intervalo.",
"integrity_checks_checksum_files_time_limit": "Límite de tiempo",
"integrity_checks_checksum_files_time_limit_description": "Configura la duración máxima durante la cual debe ejecutarse la comprobación de la suma de comprobación en cada intervalo. (ms)",
"integrity_checks_missing_files": "Archivos faltantes",
"integrity_checks_missing_files_description": "Configura la frecuencia y activa o desactiva la comprobación de archivos faltantes",
"integrity_checks_missing_files_enable_description": "Activar la comprobación de archivos faltantes",
"integrity_checks_settings": "Comprobaciones de integridad",
"integrity_checks_settings_description": "Gestionar los intervalos de las comprobaciones de integridad",
"integrity_checks_untracked_files": "Archivos sin seguimiento",
"integrity_checks_untracked_files_description": "Configure la frecuencia y active o desactive la comprobación de archivos sin seguimiento",
"integrity_checks_untracked_files_enable_description": "Habilitar la comprobación de archivos sin seguimiento",
"job_concurrency": "{job}: Procesos simultáneos",
"job_created": "Tarea creada",
"job_not_concurrency_safe": "Esta tarea no es segura para la simultaneidad.",
@@ -416,6 +431,10 @@
"transcoding_realtime_description": "Permite que la transcodificación se efectua en tiempo real al retransmitirse el video. Permite cambios de calidad, pero quizás causa mayor latencia de reproducción y entrecortamiento dependiendo de las capacidades del servidor.",
"transcoding_realtime_enabled": "Activar transcodificación en tiempo real",
"transcoding_realtime_enabled_description": "Si se desactiva, el servidor se niega a comenzar nuevas sesiones de transcodificación en tiempo real.",
"transcoding_realtime_resolutions": "Resoluciones",
"transcoding_realtime_resolutions_description": "Las resoluciones ofrecidas para el la transcodificación en tiempo real. Resoluciones altas pueden causar problemas al reproducir si el servidor no es capaz de transcodificarlas lo suficientemente rápido.",
"transcoding_realtime_video_codecs": "Códecs de video",
"transcoding_realtime_video_codecs_description": "Los códecs de video disponibles para la transcodificación en tiempo real. Durante la reproducción, los clientes elegirán la mejor opción que admitan. AV1 es más eficiente que HEVC, y HEVC es más eficiente que H.264. Al usar aceleración por hardware, selecciona únicamente los códecs que el acelerador pueda codificar. Al usar transcodificación por software, ten en cuenta que H.264 es más rápido que AV1, y AV1 es más rápido que HEVC.",
"transcoding_reference_frames": "Frames de referencia",
"transcoding_reference_frames_description": "El número de fotogramas a los que hacer referencia al comprimir un fotograma determinado. Los valores más altos mejoran la eficiencia de la compresión, pero ralentizan la codificación. 0 establece este valor automáticamente.",
"transcoding_required_description": "Sólo vídeos que no estén en un formato soportado",
@@ -578,6 +597,7 @@
"asset_viewer_settings_title": "Visor de recursos",
"assets": "Recursos",
"assets_added_to_album_count": "{count, plural, one {# recurso añadido} other {# recurso añadidos}} al álbum",
"assets_added_to_album_partial_count": "Agregados {successCount} de {totalCount} {totalCount, plural, one {asset} other {assets}} al album",
"assets_added_to_albums_count": "{assetTotal, plural, one {# añadido} other {# añadidos}} {albumTotal, plural, one {# al álbum} other {# a los álbumes}}",
"assets_cannot_be_added_to_album_count": "{count, plural, one {El recurso no se puede añadir al álbum} other {Los recursos no se pueden añadir al álbum}}",
"assets_cannot_be_added_to_albums": "{count, plural, one {El recurso} other {Los recursos}} no se {count, plural, one {puede} other {pueden}} añadir a ninguno de los álbumes",
@@ -1303,9 +1323,9 @@
"login_form_failed_login": "Error al iniciar sesión, comprueba la URL del servidor, el correo electrónico y la contraseña",
"login_form_handshake_exception": "Hubo una excepción de handshake con el servidor. Activa la compatibilidad con certificados autofirmados en la configuración si estás utilizando un certificado autofirmado.",
"login_form_password_hint": "contraseña",
"login_form_server_empty": "Introduce la URL del servidor.",
"login_form_server_error": "No se pudo conectar al servidor.",
"login_has_been_disabled": "El inicio de sesión ha sido deshabilitado.",
"login_form_server_empty": "Introduce la URL del servidor",
"login_form_server_error": "No se pudo conectar al servidor",
"login_has_been_disabled": "El inicio de sesión ha sido deshabilitado",
"login_password_changed_error": "Hubo un error actualizando la contraseña",
"login_password_changed_success": "Contraseña cambiado con éxito",
"logout_all_device_confirmation": "¿Estás seguro de que quieres cerrar sesión en todos los dispositivos?",
@@ -1461,6 +1481,7 @@
"never": "Nunca",
"new_album": "Nuevo álbum",
"new_api_key": "Nueva clave API",
"new_feature": "Nueva característica",
"new_password": "Nueva contraseña",
"new_person": "Nueva persona",
"new_pin_code": "Nuevo PIN",
@@ -1507,6 +1528,9 @@
"notes": "Notas",
"nothing_here_yet": "Sin nada aún",
"notification_backup_reliability": "Activa las notificaciones para mejorar el funcionamiento de las copias de seguridad en segundo plano",
"notification_enabled_list_tile_content": "Immich usa notificaciones para las copias de seguridad en segundo plano. Gestiónelas en los ajustes de su dispositivo.",
"notification_enabled_list_tile_open_button": "Abrir ajustes",
"notification_enabled_list_tile_title": "Notificaciones activadas",
"notification_permission_dialog_content": "Para activar las notificaciones, ve a Configuración y selecciona permitir.",
"notification_permission_list_tile_content": "Concede permiso para habilitar las notificaciones.",
"notification_permission_list_tile_enable_button": "Permitir notificaciones",
@@ -1518,6 +1542,8 @@
"obtainium_configurator": "Configurador de Obtainium",
"obtainium_configurator_instructions": "Usa Obtainium para instalar y actualizar la aplicación de Android directamente desde las versiones publicadas en el GitHub de Immich. Crea una clave API y selecciona una variante para generar tu enlace de configuración de Obtainium",
"ocr": "OCR",
"ocr_body": "Ahora Immich lee el texto que hay dentro de tus fotos, así podrás buscarlas por lo que dicen.",
"ocr_title": "Buscar texto en tus fotos",
"official_immich_resources": "Recursos oficiales de Immich",
"offline": "Desconectado",
"offset": "Desviación",
@@ -1536,6 +1562,8 @@
"open": "Abierto",
"open_calendar": "Abrir calendario",
"open_in_browser": "Abrir en el navegador",
"open_in_immich_body": "Establece Immich como tu galería en Android para abrir fotos directamente desde otras aplicaciones.",
"open_in_immich_title": "Abrir fotos en Immich",
"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",
@@ -1694,7 +1722,10 @@
"recent": "Reciente",
"recent_searches": "Búsquedas recientes",
"recently_added": "Añadidos recientemente",
"recently_added_body": "Acceda directamente a todo lo que ha añadido recientemente en una página dedicada.",
"recently_added_description": "Explora tus archivos ordenados por fecha de subida a Immich",
"recently_added_page_title": "Recién añadidos",
"recently_added_title": "Añadido recientemente",
"recently_taken": "Tomadas recientemente",
"refresh": "Actualizar",
"refresh_encoded_videos": "Recargar los vídeos codificados",
@@ -1901,6 +1932,8 @@
"share_link": "Compartir enlace",
"share_original": "Usar original (grande)",
"share_preview": "Usar vista previa (pequeño)",
"share_quality_body": "Mantén pulsado el botón de compartir para elegir la calidad de la imagen antes de compartirla.",
"share_quality_title": "Elige la calidad de compartición",
"shared": "Compartidos",
"shared_album_activities_input_disable": "Los comentarios están deshabilitados",
"shared_album_activity_remove_content": "¿Deseas eliminar esta actividad?",
@@ -1962,7 +1995,7 @@
"show_keyboard_shortcuts": "Mostrar atajos del teclado",
"show_less": "Mostrar menos",
"show_metadata": "Mostrar metadatos",
"show_more_fields": "{count, plural, one {Muestra # más campo} other {Muestra # más campos}}",
"show_more_fields": "{count, plural, one {Muestra # campo más} other {Muestra # más campos}}",
"show_or_hide_info": "Mostrar u ocultar información",
"show_password": "Mostrar contraseña",
"show_person_options": "Mostrar opciones de la persona",
@@ -1982,16 +2015,19 @@
"sign_out": "Salir",
"sign_up": "Registrarse",
"size": "Tamaño",
"skip": "Saltar",
"skip_to_content": "Saltar al contenido",
"skip_to_folders": "Ir a las carpetas",
"skip_to_tags": "Ir a las etiquetas",
"slideshow": "Pase de diapositivas",
"slideshow_body": "Relájate y disfruta viendo tus fotos en una presentación de diapositivas a pantalla completa.",
"slideshow_metadata_overlay_mode": "Contenido superpuesto",
"slideshow_metadata_overlay_mode_description_only": "Solo descripción",
"slideshow_metadata_overlay_mode_full": "Lleno",
"slideshow_repeat": "Repetir presentación de diapositivas",
"slideshow_repeat_description": "Volver al inicio cuando finaliza la presentación de diapositivas",
"slideshow_settings": "Ajustes de diapositivas",
"slideshow_title": "Presentación de diapositivas",
"smart_album": "Álbum inteligente",
"some_assets_already_have_a_location_warning": "Algunos de los elementos seleccionados ya tienen una ubicación",
"sort_albums_by": "Ordenar álbumes por…",
@@ -2119,6 +2155,7 @@
"unknown": "Desconocido",
"unknown_country": "País desconocido",
"unknown_date": "Fecha desconocida",
"unknown_schema": "Esquema desconocido",
"unknown_year": "Año desconocido",
"unlimited": "Sin límites",
"unlink_motion_video": "Desvincular vídeo en movimiento",
@@ -2154,6 +2191,8 @@
"upload_status_errors": "Errores",
"upload_status_uploaded": "Subido",
"upload_success": "Subida realizada correctamente, actualice la página para ver los nuevos recursos de subida.",
"upload_to_album_body": "Los usuarios que no utilicen la función de subida manual ya pueden añadir fotos locales directamente a un álbum a medida que las suben, sin necesidad de subirlas primero para luego añadirlas al álbum.",
"upload_to_album_title": "Subir directamente a un álbum",
"upload_to_immich": "Subir a Immich ({count})",
"uploading": "Subiendo",
"uploading_media": "Subiendo medios",
@@ -2221,6 +2260,9 @@
"week": "Semana",
"welcome": "Bienvenido/a",
"welcome_to_immich": "Bienvenido/a a Immich",
"whats_new": "Novedades",
"whats_new_settings_subtitle": "Descubre las novedades de Immich",
"whats_new_version": "Versión {version}",
"when": "Cuándo",
"width": "Ancho",
"wifi_name": "Nombre del Wi-Fi",

View File

@@ -108,6 +108,18 @@
"image_thumbnail_quality_description": "Pisipildi kvaliteet vahemikus 1-100. Kõrgem väärtus on parem, aga tekitab suuremaid faile ning võib mõjutada rakenduse töökiirust.",
"image_thumbnail_title": "Pisipildi seaded",
"import_config_from_json_description": "Impordi süsteemi seadistus JSON-faili üleslaadimise teel",
"integrity_checks_checksum_files_description": "Seadista kontrollsumma kontroll",
"integrity_checks_checksum_files_enable_description": "Luba kontrollsumma kontroll",
"integrity_checks_checksum_files_percentage_limit": "Protsendi piirang",
"integrity_checks_checksum_files_percentage_limit_description": "Seadista maksimaalne protsent 0.01 ja 1 vahel, kui palju peaks kontrollsumma kontroll iga intervalli jooksul käivituma.",
"integrity_checks_checksum_files_time_limit": "Ajaline piirang",
"integrity_checks_checksum_files_time_limit_description": "Seadista maksimaalne kestus, kui kaua peaks kontrollsumma kontroll iga intervalli jooksul käivituma. (ms)",
"integrity_checks_missing_files": "Puuduvad failid",
"integrity_checks_missing_files_description": "Luba või keela puuduvate failide kontroll ning seadista selle sagedus",
"integrity_checks_missing_files_enable_description": "Luba puuduvate failide kontroll",
"integrity_checks_untracked_files": "Mittejälgitud failid",
"integrity_checks_untracked_files_description": "Luba või keela mittejälgitud failide kontroll ning seadista selle sagedus",
"integrity_checks_untracked_files_enable_description": "Luba mittejälgitud failide kontroll",
"job_concurrency": "{job} samaaegsus",
"job_created": "Tööde lisatud",
"job_not_concurrency_safe": "Seda töödet pole ohutu samaaegselt käivitada.",
@@ -414,6 +426,10 @@
"transcoding_realtime_description": "Lubab video voogedastuse ajal reaalajas transkodeerimist. Võimaldab kvaliteedi vahetamist, aga võib põhjustada taasesituse kõrgemat latentsust ja katkestusi, sõltuvalt serveri võimekusest.",
"transcoding_realtime_enabled": "Luba reaalajas transkodeerimine",
"transcoding_realtime_enabled_description": "Kui keelatud, keeldub server uusi reaalajas transkodeerimise sessioone alustamast.",
"transcoding_realtime_resolutions": "Resolutsioonid",
"transcoding_realtime_resolutions_description": "Reaalajas transkodeerimiseks saadaval olevad resolutsioonid. Kõrgemad resolutsioonid võivad põhjustada taasesituse probleeme, kui server ei suuda piisavalt kiiresti transkodeerida.",
"transcoding_realtime_video_codecs": "Videokoodekid",
"transcoding_realtime_video_codecs_description": "Reaalajas transkodeerimiseks saadaval olevad videkoodekid. Kliendid valivad taasesituse ajal parima toetatud variandi. AV1 on efektiivsem kui HEVC, mis on omakorda efektiivsem kui H.264. Riistvaralise kiirenduse kasutamisel vali ainult koodekid, mida kiirendi suudab kodeerida. Tarkvaralise transkodeerimise puhul pane tähele, et H.264 on kiirem kui AV1, mis on omakorda kiirem kui HEVC.",
"transcoding_reference_frames": "Viitekaadrid",
"transcoding_reference_frames_description": "Kaadrite arv, millele viidata jooksva kaadri pakkimisel. Suuremad väärtused parandavad pakkimise tõhusust, aga muudavad kodeerimise aeglasemaks. 0 määrab väärtuse automaatselt.",
"transcoding_required_description": "Ainult mittelubatud vormingus videod",
@@ -576,6 +592,7 @@
"asset_viewer_settings_title": "Üksuste vaatur",
"assets": "Üksused",
"assets_added_to_album_count": "{count, plural, one {# üksus} other {# üksust}} albumisse lisatud",
"assets_added_to_album_partial_count": "{successCount}/{totalCount} {totalCount, plural, one {üksus} other {üksust}} lisatud albumisse",
"assets_added_to_albums_count": "{assetTotal, plural, one {# üksus} other {# üksust}} lisatud {albumTotal, plural, one {# albumisse} other {# albumisse}}",
"assets_cannot_be_added_to_album_count": "{count, plural, one {Üksust} other {Üksuseid}} ei saa albumisse lisada",
"assets_cannot_be_added_to_albums": "{count, plural, one {Üksust} other {Üksuseid}} ei saa lisada ühtegi albumisse",
@@ -1453,6 +1470,7 @@
"never": "Mitte kunagi",
"new_album": "Uus album",
"new_api_key": "Uus API võti",
"new_feature": "Uus funktsionaalsus",
"new_password": "Uus parool",
"new_person": "Uus isik",
"new_pin_code": "Uus PIN-kood",
@@ -1513,6 +1531,8 @@
"obtainium_configurator": "Obtainiumi seadistamine",
"obtainium_configurator_instructions": "Androidi rakenduse otse GitHub'ist paigaldamiseks ja uuendamiseks kasuta Obtainiumit. Seadistamise lingi loomiseks lisa API võti ja vali rakenduse variant",
"ocr": "OCR",
"ocr_body": "Immich loeb nüüd teksti sinu fotodel, nii et saad selle järgi neid otsida.",
"ocr_title": "Otsi teksti oma fotodel",
"official_immich_resources": "Ametlikud Immich'i ressursid",
"offline": "Ühendus puudub",
"offset": "Nihe",
@@ -1531,6 +1551,8 @@
"open": "Ava",
"open_calendar": "Ava kalender",
"open_in_browser": "Ava brauseris",
"open_in_immich_body": "Sea Immich oma Androidi galeriirakenduseks, et fotosid otse teistest rakendustest avada.",
"open_in_immich_title": "Ava fotod Immich'is",
"open_in_map_view": "Ava kaardi vaates",
"open_in_openstreetmap": "Ava OpenStreetMap",
"open_the_search_filters": "Ava otsingufiltrid",
@@ -1688,7 +1710,9 @@
"recent": "Hiljutine",
"recent_searches": "Hiljutised otsingud",
"recently_added": "Hiljuti lisatud",
"recently_added_description": "Sirvi oma üksuseid sorteerituna Immich'isse üleslaadimise järgi",
"recently_added_page_title": "Hiljuti lisatud",
"recently_added_title": "Hiljuti lisatud",
"recently_taken": "Hiljuti tehtud",
"refresh": "Värskenda",
"refresh_encoded_videos": "Värskenda kodeeritud videod",
@@ -1895,6 +1919,8 @@
"share_link": "Jaga linki",
"share_original": "Kasuta algset (suur)",
"share_preview": "Kasuta pisipilti (väike)",
"share_quality_body": "Vajuta ja hoia jagamise nuppu, et valida enne jagamist pildifaili kvaliteet.",
"share_quality_title": "Vali jagamise kvaliteet",
"shared": "Jagatud",
"shared_album_activities_input_disable": "Kommentaarid on keelatud",
"shared_album_activity_remove_content": "Kas soovid selle tegevuse kustutada?",
@@ -1976,6 +2002,7 @@
"sign_out": "Logi välja",
"sign_up": "Registreeru",
"size": "Suurus",
"skip": "Jäta vahele",
"skip_to_content": "Sisu juurde",
"skip_to_folders": "Kaustade juurde",
"skip_to_tags": "Siltide juurde",
@@ -1986,6 +2013,7 @@
"slideshow_repeat": "Korda slaidiesitlust",
"slideshow_repeat_description": "Mine slaidiesitluse lõppedes tagasi algusesse",
"slideshow_settings": "Slaidiesitluse seaded",
"slideshow_title": "Slaidiesitlus",
"smart_album": "Nutikas album",
"some_assets_already_have_a_location_warning": "Osadel valitud üksustest on juba asukoht määratud",
"sort_albums_by": "Järjesta albumid...",
@@ -2113,6 +2141,7 @@
"unknown": "Teadmata",
"unknown_country": "Tundmatu riik",
"unknown_date": "Tundmatu kuupäev",
"unknown_schema": "Tundmatu skeem",
"unknown_year": "Teadmata aasta",
"unlimited": "Piiramatu",
"unlink_motion_video": "Tühista liikuva video linkimine",
@@ -2148,6 +2177,8 @@
"upload_status_errors": "Vead",
"upload_status_uploaded": "Üleslaaditud",
"upload_success": "Üleslaadimine õnnestus, uute üksuste nägemiseks värskenda lehte.",
"upload_to_album_body": "Kui sa ei kasuta käsitsi üleslaadimise funktsionaalsust, saad nüüd fotode üleslaadimisel need otse albumisse lisada, pole vaja kõigepealt üles laadida ja seejärel albumisse lisada.",
"upload_to_album_title": "Laadi üles otse albumisse",
"upload_to_immich": "Laadi Immich'isse ({count})",
"uploading": "Üleslaadimine",
"uploading_media": "Üksuste üleslaadimine",
@@ -2215,6 +2246,9 @@
"week": "Nädal",
"welcome": "Tere tulemast",
"welcome_to_immich": "Tere tulemast Immich'isse",
"whats_new": "Mis on uut",
"whats_new_settings_subtitle": "Vaata, mis on Immich'is uut",
"whats_new_version": "Versioon {version}",
"width": "Laius",
"wifi_name": "WiFi-võrgu nimi",
"workflow": "Töövoog",

View File

@@ -108,6 +108,21 @@
"image_thumbnail_quality_description": "Miniaturaren kalitatea 1-100. Handia hobea da, baina fitxategi handiagoak sortzen ditu eta aplikazioen jariakortasuna murriztu dezake.",
"image_thumbnail_title": "Argazki Txikien Konfigurazioa",
"import_config_from_json_description": "Inportatu sistema konfigurazioa JSON konfigurazio fitxategia kargatuz",
"integrity_checks_checksum_files": "Egiaztapeneko baturen fitxategiak",
"integrity_checks_checksum_files_description": "Egiaztapeneko baturen egiaztapena kudeatu",
"integrity_checks_checksum_files_enable_description": "Egiaztapeneko baturen egiaztapena gaitu",
"integrity_checks_checksum_files_percentage_limit": "Ehunekoaren muga",
"integrity_checks_checksum_files_percentage_limit_description": "Konfiguratu gehienezko ehunekoa 0,01 eta 1 arteko egiaztapeneko baturak tarte bakoitzean zenbateraino exekutatu behar duen.",
"integrity_checks_checksum_files_time_limit": "Denbora muga",
"integrity_checks_checksum_files_time_limit_description": "Konfiguratu egiaztapeneko baturak tarte bakoitzean exekutatu behar duen gehienezko iraupena. (ms)",
"integrity_checks_missing_files": "Falta diren fitxategiak",
"integrity_checks_missing_files_description": "Konfiguratu maiztasuna eta gaitu edo desgaitu falta diren fitxategien egiaztapena",
"integrity_checks_missing_files_enable_description": "Gaitu falta diren fitxategien egiaztapena",
"integrity_checks_settings": "Osotasun egiaztapenak",
"integrity_checks_settings_description": "Kudeatu osotasuna egiaztatzeko tarteak",
"integrity_checks_untracked_files": "Jarraitu gabeko fitxategiak",
"integrity_checks_untracked_files_description": "Konfiguratu maiztasuna eta gaitu edo desgaitu jarraitu gabeko fitxategien egiaztapena",
"integrity_checks_untracked_files_enable_description": "Gaitu jarraitu gabeko fitxategien egiaztapena",
"job_concurrency": "{job} konkurrentzia",
"job_created": "Zeregina sortuta",
"job_not_concurrency_safe": "Ataza hau ez da segurua aldiberekotasunerako.",
@@ -416,6 +431,10 @@
"transcoding_realtime_description": "Bideoa erreproduzitzen ari den heinean transkodetzea denbora errealean egiteko aukera ematen du. Kalitate aldaketa gaitzen du, baina zerbitzariaren gaitasunen arabera erreprodukzio-latentzia eta toteltze handiagoak sor ditzake.",
"transcoding_realtime_enabled": "Gaitu denbora errealeko transkodeketa",
"transcoding_realtime_enabled_description": "Desgaituta badago, zerbitzariak uko egingo dio denbora errealeko transkodetze saio berriei.",
"transcoding_realtime_resolutions": "Bereizmenak",
"transcoding_realtime_resolutions_description": "Denbora errealean transkodetzeko eskaintzen diren bereizmenak. Bereizmen handiagoek erreprodukzio-arazoak sor ditzakete zerbitzariak ezin baditu behar bezain azkar transkodetzen.",
"transcoding_realtime_video_codecs": "Bideo kodetzaileak",
"transcoding_realtime_video_codecs_description": "Denbora errealean transkodetzeko eskaintzen diren bideo-kodetzaileak. Erreprodukzioan onartzen duten aukerarik onena aukeratuko dute bezeroek. AV1 HEVC baino eraginkorragoa da, baita H.264 baino eraginkorragoa. Hardware-azelerazioa erabiltzean, hautatu azeleragailuak kode ditzakeen kodetzaileak soilik. Software transkodeketa erabiltzean, kontuan izan H.264 AV1 baino azkarragoa dela, baita HEVC baino azkarragoa.",
"transcoding_reference_frames": "Erreferentzia fotogramak",
"transcoding_reference_frames_description": "Forograma jakin bat konprimitzean erreferentzia beharreko fotograma kopurua. Balio altuagoek konpresioaren eraginkortasuna hobetzen dute, baina kodeketa moteltzen dute. 0-k balio hau automatikoki ezartzen du.",
"transcoding_required_description": "Onartutako formatu batean ez dauden bideoak bakarrik",
@@ -578,6 +597,7 @@
"asset_viewer_settings_title": "Baliabide ikuslea",
"assets": "Baliabideak",
"assets_added_to_album_count": "{count, plural, one {Baliabide bat} other {# baliabide}} albumera gehituta",
"assets_added_to_album_partial_count": "{totalCount, number}-(e)tik {successCount, plural, one {baliabide bat gehitu da albumera} other {{successCount, number} baliabide gehitu dira albumera}}",
"assets_added_to_albums_count": "Gehituta {assetTotal, plural, one {# asset} other {# assets}} to {albumTotal, plural, one {# album} other {# albums}}",
"assets_cannot_be_added_to_album_count": "{count, plural, one {Baliabidea ezin izan da albumera gehitu} other {Baliabideak ezin izan dira albumera gehitu}}",
"assets_cannot_be_added_to_albums": "{count, plural, one {Asset} other {Assets}} ezin izan da albumetara gehitu",

View File

@@ -33,7 +33,7 @@
"add_to_albums": "Ajouter aux albums",
"add_to_albums_count": "Ajouter aux albums ({count})",
"add_to_bottom_bar": "Ajouter à",
"add_upload_to_stack": "Ajouter les éléments téléversés à la pile",
"add_upload_to_stack": "Ajouter les éléments envoyés à la pile",
"add_url": "Ajouter l'URL",
"added_to_archive": "Ajouté à l'archive",
"added_to_favorites": "Ajouté aux favoris",
@@ -53,7 +53,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é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_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 envoyées 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",
@@ -108,6 +108,21 @@
"image_thumbnail_quality_description": "Qualité des miniatures : de 1 à 100. Une valeur élevée produit de meilleurs résultats, mais elle produit des fichiers plus volumineux et peut réduire la réactivité de l'application.",
"image_thumbnail_title": "Paramètres des miniatures",
"import_config_from_json_description": "Importer la configuration système en envoyant un fichier de configuration JSON",
"integrity_checks_checksum_files": "Vérifier l'intégrité des fichiers",
"integrity_checks_checksum_files_description": "Configurer le test d'intégrité",
"integrity_checks_checksum_files_enable_description": "Active le test d'intégrité des fichiers (checksum)",
"integrity_checks_checksum_files_percentage_limit": "Limite de pourcentage",
"integrity_checks_checksum_files_percentage_limit_description": "Configurez le pourcentage maximal du test d'intégrité qui doit être effectué à chaque interval, entre 0.01 et 1.",
"integrity_checks_checksum_files_time_limit": "Limite de temps",
"integrity_checks_checksum_files_time_limit_description": "Configurez la durée maximale en millisecondes entre deux vérifications.",
"integrity_checks_missing_files": "Fichiers manquants",
"integrity_checks_missing_files_description": "Configurez la fréquence et activez/désactivez la vérification des fichiers manquants",
"integrity_checks_missing_files_enable_description": "Activez la vérification des fichiers manquants",
"integrity_checks_settings": "Tests d'intégrité",
"integrity_checks_settings_description": "Gérez l'interval des tests d'intégrité",
"integrity_checks_untracked_files": "Fichiers non suivis",
"integrity_checks_untracked_files_description": "Configurez la fréquence et activez/désactivez la vérification des fichiers non suivis",
"integrity_checks_untracked_files_enable_description": "Activez la vérification des fichiers non suivis",
"job_concurrency": "{job}: nombre de tâches simultanées",
"job_created": "Tâche créée",
"job_not_concurrency_safe": "Cette tâche ne peut pas être exécutée en multitâche de façon sûre.",
@@ -171,7 +186,7 @@
"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.",
"machine_learning_ocr_min_detection_score": "Score minimum de détection",
"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_detection_score_description": "Score de confiance minimum pour la détection du texte, 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 OCR",
@@ -214,8 +229,8 @@
"maintenance_start_error": "Échec du démarrage du mode maintenance.",
"maintenance_upload_backup": "Télécharger le fichier de sauvegarde de la base de données",
"maintenance_upload_backup_error": "Impossible de télécharger la sauvegarde, s'agit-il d'un fichier .sql/.sql.gz?",
"manage_concurrency": "Gérer du multitâche",
"manage_concurrency_description": "Naviguer vers la pages des tâches pour gérer le multitâche",
"manage_concurrency": "Gestion du multitâche",
"manage_concurrency_description": "Naviguer vers la page des tâches pour gérer le multitâche",
"manage_log_settings": "Gérer les paramètres de journalisation",
"map_dark_style": "Thème sombre",
"map_enable_description": "Activer la carte",
@@ -416,6 +431,10 @@
"transcoding_realtime_description": "Permet au transcodage d'être réalisé en temps réel durant la diffusion du flux de la vidéo. Active la bascule automatique entre résolutions, mais peut entraîner une latence importante de lecture et des microcoupures en fonction des capacités du serveur.",
"transcoding_realtime_enabled": "Activer la transcodification en temps réel",
"transcoding_realtime_enabled_description": "Si désactivé, le serveur refusera de démarrer de nouvelles sessions de transcodifications en temps réel.",
"transcoding_realtime_resolutions": "Résolutions",
"transcoding_realtime_resolutions_description": "Les résolutions proposées pour le transcodage en temps réel. Des résolutions supérieures peuvent causer des soucis pendant la lecture si le serveur ne peut pas les transcoder suffisamment rapidement.",
"transcoding_realtime_video_codecs": "Codecs vidéo",
"transcoding_realtime_video_codecs_description": "Les codecs vidéo proposés pour le transcodage en temps réel. Les clients choisissent la meilleure option qu'ils supportent durant la lecture. AV1 est plus efficace que HEVC, qui est plus efficace que H.264. En utilisant l'accélération matérielle, sélectionnez seulement les codecs que l'accélérateur peut encoder. En utilisant le transcodage logiciel, notez que H.264 est plus rapide que AV1, qui est plus rapide que HEVC.",
"transcoding_reference_frames": "Trames de référence",
"transcoding_reference_frames_description": "Le nombre d'images à prendre en référence lors de la compression d'une image donnée. Des valeurs élevées améliorent l'efficacité de la compression, mais ralentissent l'encodage. 0 fixe cette valeur automatiquement.",
"transcoding_required_description": "Seulement les vidéos dans un format non accepté",
@@ -507,7 +526,7 @@
"album_summary": "Résumé de l'album",
"album_updated": "Album mis à jour",
"album_updated_setting_description": "Recevoir une notification par courriel lorsqu'un album partagé a de nouveaux médias",
"album_upload_assets": "Téléchargez des fichiers depuis votre ordinateur et ajoutez-les à l'album",
"album_upload_assets": "Envoyez des fichiers depuis votre ordinateur et ajoutez-les à l'album",
"album_viewer_appbar_share_err_delete": "Échec de la suppression de l'album",
"album_viewer_page_share_add_users": "Ajouter des utilisateurs",
"album_with_link_access": "Permettre à n'importe qui possédant le lien de voir les photos et les personnes de cet album.",
@@ -578,6 +597,7 @@
"asset_viewer_settings_title": "Visualiseur d'éléments",
"assets": "Médias",
"assets_added_to_album_count": "{count, plural, one {# média ajouté} other {# médias ajoutés}} à l'album",
"assets_added_to_album_partial_count": "{successCount} ajouté(s) parmi {totalCount} {totalCount, plural, one {média} other {médias}} à l'album",
"assets_added_to_albums_count": "{assetTotal, plural, one {# média ajouté} other {# médias ajoutés}} à {albumTotal, plural, one {# album} other {# albums}}",
"assets_cannot_be_added_to_album_count": "{count, plural, one {Le média ne peut pas être ajouté} other {Les médias ne peuvent pas être ajoutés}} à l'album",
"assets_cannot_be_added_to_albums": "{count, plural, one {Le média ne peut être ajouté} other {Les médias ne peuvent être ajoutés}} à aucun des albums",
@@ -1461,6 +1481,7 @@
"never": "Jamais",
"new_album": "Nouvel Album",
"new_api_key": "Nouvelle clé API",
"new_feature": "Nouvelle fonctionnalité",
"new_password": "Nouveau mot de passe",
"new_person": "Nouvelle personne",
"new_pin_code": "Nouveau code PIN",
@@ -1521,6 +1542,8 @@
"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éez une clé d'API et sélectionnez une variante pour créer votre lien de configuration pour Obtainium",
"ocr": "Reconnaissance Optique de Caractères OCR",
"ocr_body": "Immich peut désormais lire le texte dans vos photos, pour que vous puissiez les chercher dans votre galerie par ce qu'elles disent.",
"ocr_title": "Cherchez le texte dans vos photos",
"official_immich_resources": "Ressources Immich officielles",
"offline": "Hors ligne",
"offset": "Décalage",
@@ -1539,6 +1562,8 @@
"open": "Ouvrir",
"open_calendar": "Ouvrir le calendrier",
"open_in_browser": "Ouvrir dans le navigateur",
"open_in_immich_body": "Définissez Immich comme vote application de gallerie par défaut sur Android pour ouvrir vos photos directement depuis les autres applications.",
"open_in_immich_title": "Ouvrir les photos dans Immich",
"open_in_map_view": "Montrer sur la carte",
"open_in_openstreetmap": "Ouvrir dans OpenStreetMap",
"open_the_search_filters": "Ouvrir les filtres de recherche",
@@ -1697,7 +1722,10 @@
"recent": "Récent",
"recent_searches": "Recherches récentes",
"recently_added": "Récemment ajouté",
"recently_added_body": "Allez directement à ce que vous avez ajouté récemment dans une page dédiée.",
"recently_added_description": "Naviguez dans vos médias, triés par date d'envoi dans Immich",
"recently_added_page_title": "Récemment ajouté",
"recently_added_title": "Ajouté récemment",
"recently_taken": "Récemment photographié",
"refresh": "Actualiser",
"refresh_encoded_videos": "Actualiser les vidéos encodées",
@@ -1904,6 +1932,8 @@
"share_link": "Partager le lien",
"share_original": "Utiliser l'originale (grand)",
"share_preview": "Utiliser la miniature (petite)",
"share_quality_body": "Appuyez longtemps sur le bouton partager pour choisir la qualité d'image avant de partager.",
"share_quality_title": "Choisissez votre qualité d'envoi",
"shared": "Partagé",
"shared_album_activities_input_disable": "Les commentaires sont désactivés",
"shared_album_activity_remove_content": "Souhaitez-vous supprimer cette activité?",
@@ -1985,16 +2015,19 @@
"sign_out": "Déconnexion",
"sign_up": "S'enregistrer",
"size": "Taille",
"skip": "Passer",
"skip_to_content": "Passer",
"skip_to_folders": "Passer vers les dossiers",
"skip_to_tags": "Passer vers les étiquettes",
"slideshow": "Diaporama",
"slideshow_body": "Relaxez-vous et regardez vos photos dans un diaporama en plein écran.",
"slideshow_metadata_overlay_mode": "Contenu en superposition",
"slideshow_metadata_overlay_mode_description_only": "Seulement la description",
"slideshow_metadata_overlay_mode_full": "Tout",
"slideshow_repeat": "Répéter le diaporama",
"slideshow_repeat_description": "Reboucler au début lorsque le diaporama se termine",
"slideshow_settings": "Paramètres du diaporama",
"slideshow_title": "Diaporama",
"smart_album": "Album intelligent",
"some_assets_already_have_a_location_warning": "Certains médias sélectionnés ont déjà une localisation",
"sort_albums_by": "Trier les albums par...",
@@ -2122,6 +2155,7 @@
"unknown": "Inconnu",
"unknown_country": "Pays non connu",
"unknown_date": "Date inconnue",
"unknown_schema": "Schéma inconnu",
"unknown_year": "Année inconnue",
"unlimited": "Illimité",
"unlink_motion_video": "Détacher la photo animée",
@@ -2157,6 +2191,8 @@
"upload_status_errors": "Erreurs",
"upload_status_uploaded": "Envoyé",
"upload_success": "Envoi réussi. Rafraîchissez la page pour voir les nouveaux médias envoyés.",
"upload_to_album_body": "Pour les utilisateurs qui n'utilise pas la fonctionnalité de mise en ligne manuelle, vous pouvez maintenant ajouter vos photos locales directement dans un album, plus besoin de mettre en ligne puis de déplacer dans un album après.",
"upload_to_album_title": "Mettre en ligne directement dans un album",
"upload_to_immich": "Envoyer vers Immich ({count})",
"uploading": "Envoi",
"uploading_media": "Envoi du média",
@@ -2224,6 +2260,9 @@
"week": "Semaine",
"welcome": "Bienvenue",
"welcome_to_immich": "Bienvenue sur Immich",
"whats_new": "Quoi de neuf",
"whats_new_settings_subtitle": "Découvrez les nouveautés dans Immich",
"whats_new_version": "Version {version}",
"when": "Quand",
"width": "Largeur",
"wifi_name": "Nom du réseau wifi",

View File

@@ -108,6 +108,21 @@
"image_thumbnail_quality_description": "Cáilíocht mionsamhlacha ó 1-100. Is airde an caighdeán is fearr, ach cruthaíonn sé comhaid níos mó agus d'fhéadfadh sé freagrúlacht an aip a laghdú.",
"image_thumbnail_title": "Socruithe Mionsamhail",
"import_config_from_json_description": "Cumraíocht chórais a allmhairiú trí chomhad cumraíochta JSON a uaslódáil",
"integrity_checks_checksum_files": "Comhaid seiceála",
"integrity_checks_checksum_files_description": "Cumraigh an tseiceáil suime seiceála",
"integrity_checks_checksum_files_enable_description": "Cumasaigh an tseiceáil suime seiceála",
"integrity_checks_checksum_files_percentage_limit": "Teorainn céatadáin",
"integrity_checks_checksum_files_percentage_limit_description": "Cumraigh an céatadán uasta idir 0.01 agus 1 do cé mhéad ba chóir don tseiceáil suime seiceála a rith gach eatramh.",
"integrity_checks_checksum_files_time_limit": "Teorainn ama",
"integrity_checks_checksum_files_time_limit_description": "Cumraigh an fad uasta ar cheart don tseiceáil suime seiceála a bheith ar siúl le gach eatramh. (ms)",
"integrity_checks_missing_files": "Comhaid ar iarraidh",
"integrity_checks_missing_files_description": "Cumraigh an minicíocht agus cumasaigh nó díchumasaigh an seiceáil comhad atá ar iarraidh",
"integrity_checks_missing_files_enable_description": "Cumasaigh an seiceáil comhad atá ar iarraidh",
"integrity_checks_settings": "Seiceálacha ionracais",
"integrity_checks_settings_description": "Bainistigh eatraimh seiceálacha sláine",
"integrity_checks_untracked_files": "Comhaid neamhrianaithe",
"integrity_checks_untracked_files_description": "Cumraigh an minicíocht agus cumasaigh nó díchumasaigh an seiceáil comhad neamhrianaithe",
"integrity_checks_untracked_files_enable_description": "Cumasaigh an seiceáil comhad neamhrianaithe",
"job_concurrency": "comhthráthacht {job}",
"job_created": "Post cruthaithe",
"job_not_concurrency_safe": "Níl an post seo sábháilte le haghaidh comhuaineachta.",
@@ -416,6 +431,10 @@
"transcoding_realtime_description": "Ceadaíonn sé traschódú a dhéanamh i bhfíor-am agus an físeán á shruthú. Cumasaíonn sé athrú cáilíochta, ach d'fhéadfadh moill athsheinm níos airde agus stad a bheith mar thoradh air ag brath ar chumais an fhreastalaí.",
"transcoding_realtime_enabled": "Cumasaigh tras-chódú fíor-ama",
"transcoding_realtime_enabled_description": "Mura bhfuil sé cumasaithe, diúltóidh an freastalaí seisiúin thraschódaithe fíor-ama nua a thosú.",
"transcoding_realtime_resolutions": "Rúin",
"transcoding_realtime_resolutions_description": "Na taifigh a thairgtear le haghaidh traschódú fíor-ama. Dfhéadfadh fadhbanna athsheinm a bheith mar thoradh ar taifigh níos airde mura féidir leis an bhfreastalaí iad a thraschódú go tapa go leor.",
"transcoding_realtime_video_codecs": "Cóideic físe",
"transcoding_realtime_video_codecs_description": "Na cóideiceanna físe a thairgtear le haghaidh traschódú fíor-ama. Roghnóidh cliaint an rogha is fearr a dtacaíonn siad leis le linn athsheinm. Tá AV1 níos éifeachtaí ná HEVC, atá níos éifeachtaí ná H.264. Agus luasghéarú crua-earraí in úsáid agat, roghnaigh na cóideiceanna is féidir leis an luasaire a ionchódú amháin. Agus traschódú bogearraí in úsáid agat, tabhair faoi deara go bhfuil H.264 níos tapúla ná AV1, atá níos tapúla ná HEVC.",
"transcoding_reference_frames": "Frámaí tagartha",
"transcoding_reference_frames_description": "Líon na bhfrámaí le tagairt dóibh agus fráma áirithe á chomhbhrú. Feabhsaíonn luachanna níos airde éifeachtúlacht an chomhbhrúite, ach moillíonn siad an ionchódú. Socraíonn 0 an luach seo go huathoibríoch.",
"transcoding_required_description": "Físeáin amháin nach bhfuil i bhformáid inghlactha",
@@ -578,6 +597,7 @@
"asset_viewer_settings_title": "Amharcóir Sócmhainní",
"assets": "Sócmhainní",
"assets_added_to_album_count": "Cuireadh {count, plural, one {# asset} other {# assets}} leis an albam",
"assets_added_to_album_partial_count": "Cuireadh {successCount} as {totalCount} {totalCount, plural, one {asset} other {assets}} leis an albam",
"assets_added_to_albums_count": "Cuireadh {assetTotal, plural, one {# sócmhainn} other {# sócmhainní}} go {albumTotal, plural, one {# albam} other {# albaim}}",
"assets_cannot_be_added_to_album_count": "Ní féidir {count, plural, one {Sócmhainn} other {Sócmhainní}} a chur leis an albam",
"assets_cannot_be_added_to_albums": "Ní féidir {count, plural, one {Asset} other {Assets}} a chur le haon cheann de na halbaim",
@@ -1303,9 +1323,9 @@
"login_form_failed_login": "Earráid ag logáil isteach, seiceáil URL an fhreastalaí, an ríomhphost agus an focal faire",
"login_form_handshake_exception": "Bhí Eisceacht Lámh-Chroith leis an bhfreastalaí. Cumasaigh tacaíocht do theastas féinshínithe sna socruithe má tá teastas féinshínithe in úsáid agat.",
"login_form_password_hint": "pasfhocal",
"login_form_server_empty": "Cuir isteach URL freastalaí.",
"login_form_server_error": "Níorbh fhéidir ceangal leis an bhfreastalaí.",
"login_has_been_disabled": "Tá logáil isteach díchumasaithe.",
"login_form_server_empty": "Cuir isteach URL freastalaí",
"login_form_server_error": "Níorbh fhéidir ceangal leis an bhfreastalaí",
"login_has_been_disabled": "Tá logáil isteach díchumasaithe",
"login_password_changed_error": "Tharla earráid agus do phasfhocal á nuashonrú",
"login_password_changed_success": "Nuashonraíodh an focal faire go rathúil",
"logout_all_device_confirmation": "An bhfuil tú cinnte gur mian leat logáil amach as gach gléas?",
@@ -1356,6 +1376,7 @@
"map_location_picker_page_use_location": "Úsáid an suíomh seo",
"map_location_service_disabled_content": "Ní mór seirbhís suímh a chumasú chun sócmhainní ó do shuíomh reatha a thaispeáint. Ar mhaith leat é a chumasú anois?",
"map_location_service_disabled_title": "Seirbhís Suímh díchumasaithe",
"map_marker_for_image": "Marcóir léarscáile don íomhá a tógadh i {city}, {country}",
"map_marker_with_image": "Marcóir léarscáile le híomhá",
"map_no_location_permission_content": "Tá cead suímh ag teastáil chun sócmhainní a thaispeáint ó do shuíomh reatha. Ar mhaith leat é a cheadú anois?",
"map_no_location_permission_title": "Cead Suímh diúltaithe",
@@ -1460,6 +1481,7 @@
"never": "Choíche",
"new_album": "Albam Nua",
"new_api_key": "Eochair API Nua",
"new_feature": "Gné Nua",
"new_password": "Pasfhocal nua",
"new_person": "Duine nua",
"new_pin_code": "Cód PIN nua",
@@ -1506,6 +1528,9 @@
"notes": "Nótaí",
"nothing_here_yet": "Níl aon rud anseo fós",
"notification_backup_reliability": "Cumasaigh fógraí chun iontaofacht cúltaca cúlra a fheabhsú",
"notification_enabled_list_tile_content": "Úsáideann Immich fógraí le haghaidh cúltaca cúlra. Bainistigh iad i socruithe do ghléis.",
"notification_enabled_list_tile_open_button": "Oscail socruithe",
"notification_enabled_list_tile_title": "Fógraí cumasaithe",
"notification_permission_dialog_content": "Chun fógraí a chumasú, téigh go Socruithe agus roghnaigh ceadaigh.",
"notification_permission_list_tile_content": "Tabhair cead fógraí a chumasú.",
"notification_permission_list_tile_enable_button": "Cumasaigh Fógraí",
@@ -1517,6 +1542,8 @@
"obtainium_configurator": "Cumraitheoir Obtainium",
"obtainium_configurator_instructions": "Bain úsáid as Obtainium chun an aip Android a shuiteáil agus a nuashonrú go díreach ó eisiúint Immich ar GitHub. Cruthaigh eochair API agus roghnaigh malairt chun do nasc cumraíochta Obtainium a chruthú",
"ocr": "OCR",
"ocr_body": "Léann Immich an téacs taobh istigh de do ghrianghraif anois, ionas gur féidir leat iad a chuardach de réir a bhfuil iontu.",
"ocr_title": "Cuardaigh téacs i do ghrianghraif",
"official_immich_resources": "Acmhainní Oifigiúla Immich",
"offline": "As líne",
"offset": "Fritháireamh",
@@ -1535,6 +1562,8 @@
"open": "Oscail",
"open_calendar": "Oscail an féilire",
"open_in_browser": "Oscail sa bhrabhsálaí",
"open_in_immich_body": "Socraigh Immich mar do ghailearaí ar Android chun grianghraif a oscailt go díreach ó aipeanna eile.",
"open_in_immich_title": "Oscail grianghraif in Immich",
"open_in_map_view": "Oscail i radharc léarscáile",
"open_in_openstreetmap": "Oscail in OpenStreetMap",
"open_the_search_filters": "Oscail na scagairí cuardaigh",
@@ -1693,7 +1722,10 @@
"recent": "Le déanaí",
"recent_searches": "Cuardaigh le déanaí",
"recently_added": "Cuireadh leis le déanaí",
"recently_added_body": "Léim díreach chuig gach rud a chuir tú leis le déanaí ar leathanach tiomnaithe.",
"recently_added_description": "Brabhsáil do shócmhainní, sórtáilte de réir cathain a uaslódáladh iad chuig Immich",
"recently_added_page_title": "Curtha leis le Déanaí",
"recently_added_title": "Cuireadh leis le déanaí",
"recently_taken": "Tógtha le déanaí",
"refresh": "Athnuachan",
"refresh_encoded_videos": "Athnuaigh físeáin ionchódaithe",
@@ -1900,6 +1932,8 @@
"share_link": "Comhroinn an Nasc",
"share_original": "Úsáid an bunleagan (mór)",
"share_preview": "Úsáid mionsamhail (beag)",
"share_quality_body": "Brúigh agus coinnigh an cnaipe comhroinnte chun cáilíocht na híomhá a roghnú sula roinneann tú.",
"share_quality_title": "Roghnaigh do cháilíocht roinnte",
"shared": "Roinnte",
"shared_album_activities_input_disable": "Tá trácht díchumasaithe",
"shared_album_activity_remove_content": "Ar mhaith leat an ghníomhaíocht seo a scriosadh?",
@@ -1981,16 +2015,19 @@
"sign_out": "Sínigh Amach",
"sign_up": "Cláraigh",
"size": "Méid",
"skip": "Léim",
"skip_to_content": "Léim go dtí an t-ábhar",
"skip_to_folders": "Léim go dtí na fillteáin",
"skip_to_tags": "Léim go dtí na clibeanna",
"slideshow": "Sleamhnán",
"slideshow_body": "Suigh siar agus féach ar do ghrianghraif ag seinm i sleamhnán lánscáileáin.",
"slideshow_metadata_overlay_mode": "Ábhar forleagan",
"slideshow_metadata_overlay_mode_description_only": "Cur síos amháin",
"slideshow_metadata_overlay_mode_full": "Lán",
"slideshow_repeat": "Athdhéan an sleamhnán",
"slideshow_repeat_description": "Lúb ar ais go dtí an tús nuair a chríochnaíonn an sleamhnán",
"slideshow_settings": "Socruithe sleamhnán",
"slideshow_title": "Sleamhnán",
"smart_album": "Albam cliste",
"some_assets_already_have_a_location_warning": "Tá suíomh ag cuid de na sócmhainní roghnaithe cheana féin",
"sort_albums_by": "Sórtáil albaim de réir...",
@@ -2118,6 +2155,7 @@
"unknown": "Anaithnid",
"unknown_country": "Tír Anaithnid",
"unknown_date": "Dáta anaithnid",
"unknown_schema": "Scéim anaithnid",
"unknown_year": "Bliain Anaithnid",
"unlimited": "Gan teorainn",
"unlink_motion_video": "Dínasc físeán gluaisne",
@@ -2153,6 +2191,8 @@
"upload_status_errors": "Earráidí",
"upload_status_uploaded": "Uaslódáilte",
"upload_success": "Uaslódáil rathúil, athnuachan an leathanach chun sócmhainní uaslódála nua a fheiceáil.",
"upload_to_album_body": "I gcás úsáideoirí nach n-úsáideann an ghné uaslódála láimhe, is féidir leat anois grianghraif áitiúla a chur go díreach le halbam agus tú á n-uaslódáil, níl aon ghá iad a uaslódáil agus a chur le halbam níos déanaí a thuilleadh.",
"upload_to_album_title": "Uaslódáil díreach chuig albam",
"upload_to_immich": "Uaslódáil chuig Immich ({count})",
"uploading": "Ag uaslódáil",
"uploading_media": "Ag uaslódáil meán",
@@ -2220,6 +2260,9 @@
"week": "Seachtain",
"welcome": "Fáilte",
"welcome_to_immich": "Fáilte go hImmich",
"whats_new": "Cad atá nua",
"whats_new_settings_subtitle": "Féach cad atá nua in Immich",
"whats_new_version": "Leagan {version}",
"when": "Cathain",
"width": "Leithead",
"wifi_name": "Ainm Wi-Fi",

View File

@@ -108,6 +108,21 @@
"image_thumbnail_quality_description": "Calidade da miniatura de 1 a 100. Canto máis alto, mellor, pero produce ficheiros máis grandes e pode reducir a capacidade de resposta da aplicación.",
"image_thumbnail_title": "Configuración da miniatura",
"import_config_from_json_description": "Importar a configuración do sistema subindo un arquivo de configuración JSON",
"integrity_checks_checksum_files": "Ficheiros de suma de verificación",
"integrity_checks_checksum_files_description": "Configurar a comprobación da suma de comprobación",
"integrity_checks_checksum_files_enable_description": "Activar a comprobación da suma de verificación",
"integrity_checks_checksum_files_percentage_limit": "Límite porcentual",
"integrity_checks_checksum_files_percentage_limit_description": "Configura a porcentaxe máxima entre 0,01 e 1 para a duración da comprobación da suma de verificación en cada intervalo.",
"integrity_checks_checksum_files_time_limit": "Límite de tempo",
"integrity_checks_checksum_files_time_limit_description": "Configura a duración máxima durante a que se debe executar a comprobación da suma de comprobación en cada intervalo. (ms)",
"integrity_checks_missing_files": "Arquivos que faltan",
"integrity_checks_missing_files_description": "Configura a frecuencia e activa ou desactiva a comprobación de arquivos que faltan",
"integrity_checks_missing_files_enable_description": "Activar a comprobación de arquivos que faltan",
"integrity_checks_settings": "Comprobacións de integridade",
"integrity_checks_settings_description": "Xestionar intervalos de comprobacións de integridade",
"integrity_checks_untracked_files": "Arquivos sen rastrexar",
"integrity_checks_untracked_files_description": "Configura a frecuencia e activa ou desactiva a comprobación de arquivos sen rastrexar",
"integrity_checks_untracked_files_enable_description": "Activar a comprobación de arquivos sen rastrexar",
"job_concurrency": "concorrencia de {job}",
"job_created": "Traballo creado",
"job_not_concurrency_safe": "Este traballo non é seguro para execución concorrente.",
@@ -416,6 +431,10 @@
"transcoding_realtime_description": "Permite que a transcodificación se realice en tempo real mentres se transmite o vídeo. Activar o cambio de calidade pode provocar unha maior latencia de reprodución e atraso dependendo das capacidades do servidor.",
"transcoding_realtime_enabled": "Activar transcodificación en tempo real",
"transcoding_realtime_enabled_description": "Se está desactivado, o servidor rexeitará iniciar novas sesións de transcodificación en tempo real.",
"transcoding_realtime_resolutions": "Resolucións",
"transcoding_realtime_resolutions_description": "As resolucións ofrecidas para a transcodificación en tempo real. As resolucións máis altas poden causar problemas de reprodución se o servidor non é capaz de transcodificalas con suficiente rapidez.",
"transcoding_realtime_video_codecs": "Códecs de vídeo",
"transcoding_realtime_video_codecs_description": "Os códecs de vídeo ofrecidos para a transcodificación en tempo real. Os clientes elixirán a mellor opción compatible durante a reprodución. O AV1 é máis eficiente ca o HEVC, e este, á súa vez, máis eficiente ca o H.264. Ao utilizar aceleración por hardware, selecciona só aqueles códecs que o acelerador poida codificar. Ao utilizar transcodificación por software, ten en conta que o H.264 é máis rápido ca o AV1, e este máis rápido ca o HEVC.",
"transcoding_reference_frames": "Fotogramas de referencia",
"transcoding_reference_frames_description": "O número de fotogramas aos que facer referencia ao comprimir un fotograma dado. Valores máis altos melloran a eficiencia da compresión, pero ralentizan a codificación. 0 establece este valor automaticamente.",
"transcoding_required_description": "Só vídeos que non estean nun formato aceptado",
@@ -578,6 +597,7 @@
"asset_viewer_settings_title": "Visor de Activos",
"assets": "Activos",
"assets_added_to_album_count": "Engadido {count, plural, one {# activo} other {# activos}} ao álbum",
"assets_added_to_album_partial_count": "Engadíronse {successCount} de {totalCount} {totalCount, plural, one {elemento} other {elementos}} ao álbum",
"assets_added_to_albums_count": "Engadido {assetTotal, plural, one {# ficheiro} other {# ficheiros}} a {albumTotal, plural, one {# álbum} other {# álbums}}",
"assets_cannot_be_added_to_album_count": "{count, plural, one {O ficheiro non se pode engadir} other {Os ficheiros non se poden engadir}} ao álbum",
"assets_cannot_be_added_to_albums": "{count, plural, one {O ficheiro non se pode engadir} other {Os ficheiros non se poden engadir}} a ningún dos álbums",
@@ -1303,9 +1323,9 @@
"login_form_failed_login": "Erro ao iniciar sesión, comprobe a URL do servidor, correo electrónico e contrasinal",
"login_form_handshake_exception": "Houbo unha Excepción de Handshake co servidor. Active o soporte para certificados autofirmados nas configuracións se está a usar un certificado autofirmado.",
"login_form_password_hint": "contrasinal",
"login_form_server_empty": "Introduza unha URL do servidor.",
"login_form_server_error": "Non se puido conectar co servidor.",
"login_has_been_disabled": "O inicio de sesión foi desactivado.",
"login_form_server_empty": "Introduza unha URL do servidor",
"login_form_server_error": "Non se puido conectar co servidor",
"login_has_been_disabled": "O inicio de sesión foi desactivado",
"login_password_changed_error": "Houbo un erro ao actualizar o seu contrasinal",
"login_password_changed_success": "Contrasinal actualizado correctamente",
"logout_all_device_confirmation": "Está seguro de que quere pechar sesión en todos os dispositivos?",
@@ -1356,6 +1376,7 @@
"map_location_picker_page_use_location": "Usar esta localización",
"map_location_service_disabled_content": "O servizo de localización debe estar activado para mostrar activos da súa localización actual. Quere activalo agora?",
"map_location_service_disabled_title": "Servizo de localización deshabilitado",
"map_marker_for_image": "Marcador do mapa para a imaxe tirada en {city}, {country}",
"map_marker_with_image": "Marcador de mapa con imaxe",
"map_no_location_permission_content": "Necesítase permiso de localización para mostrar activos da súa localización actual. Quere permitilo agora?",
"map_no_location_permission_title": "Permiso de localización denegado",
@@ -1460,6 +1481,7 @@
"never": "Nunca",
"new_album": "Novo Álbum",
"new_api_key": "Nova Chave API",
"new_feature": "Nova función",
"new_password": "Novo contrasinal",
"new_person": "Nova persoa",
"new_pin_code": "Novo código PIN",
@@ -1506,6 +1528,9 @@
"notes": "Notas",
"nothing_here_yet": "Aínda nada por aquí",
"notification_backup_reliability": "Activa as notificacións para mellorar a fiabilidade da copia de seguridade en segundo plano",
"notification_enabled_list_tile_content": "Immich emprega notificacións para copias de seguridade en segundo plano. Xestióneas nos axustes do seu dispositivo.",
"notification_enabled_list_tile_open_button": "Abrir axustes",
"notification_enabled_list_tile_title": "Notificacións activadas",
"notification_permission_dialog_content": "Para activar as notificacións, vaia a Axustes e seleccione permitir.",
"notification_permission_list_tile_content": "Conceda permiso para activar as notificacións.",
"notification_permission_list_tile_enable_button": "Activar Notificacións",
@@ -1517,6 +1542,8 @@
"obtainium_configurator": "Configurador de Obtainium",
"obtainium_configurator_instructions": "Emprega Obtainium para instalar e actualizar a aplicación de Android directamente desde o lanzamento do GitHub de Immich. Crea unha chave API e selecciona unha variante para xerar o teu enlace de configuración de Obtainium",
"ocr": "OCR",
"ocr_body": "Agora Immich le o texto que hai dentro das túas fotos, para que poidas buscalas polo que din.",
"ocr_title": "Buscar texto nas túas fotos",
"official_immich_resources": "Recursos Oficiais de Immich",
"offline": "Fóra de liña",
"offset": "Desprazamento",
@@ -1535,6 +1562,8 @@
"open": "Abrir",
"open_calendar": "Abrir calendario",
"open_in_browser": "Abrir no navegador",
"open_in_immich_body": "Configura Immich como a túa galería en Android para abrir fotos directamente doutras aplicacións.",
"open_in_immich_title": "Abrir fotos en Immich",
"open_in_map_view": "Abrir na vista de mapa",
"open_in_openstreetmap": "Abrir en OpenStreetMap",
"open_the_search_filters": "Abrir os filtros de busca",
@@ -1693,7 +1722,10 @@
"recent": "Recente",
"recent_searches": "Buscas recentes",
"recently_added": "Engadido recentemente",
"recently_added_body": "Vaia directamente a todo o que engadiu ultimamente nunha páxina específica.",
"recently_added_description": "Explora os teus recursos ordenados por cando foron cargados en Immich",
"recently_added_page_title": "Engadido Recentemente",
"recently_added_title": "Engadida recentemente",
"recently_taken": "Tomado recentemente",
"refresh": "Actualizar",
"refresh_encoded_videos": "Actualizar vídeos codificados",
@@ -1900,6 +1932,8 @@
"share_link": "Ligazón para Compartir",
"share_original": "Utilizar orixinal (grande)",
"share_preview": "Utilizar miniatura (pequena)",
"share_quality_body": "Mantén premido o botón de compartir para escoller a calidade da imaxe antes de compartila.",
"share_quality_title": "Escolle a calidade da compartición",
"shared": "Compartido",
"shared_album_activities_input_disable": "O comentario está desactivado",
"shared_album_activity_remove_content": "Quere eliminar esta actividade?",
@@ -1981,16 +2015,19 @@
"sign_out": "Pechar Sesión",
"sign_up": "Rexistrarse",
"size": "Tamaño",
"skip": "Saltar",
"skip_to_content": "Saltar ao contido",
"skip_to_folders": "Saltar a cartafoles",
"skip_to_tags": "Saltar a etiquetas",
"slideshow": "Presentación",
"slideshow_body": "Reláxate e mira as túas fotos reproducíndose nunha presentación de diapositivas a pantalla completa.",
"slideshow_metadata_overlay_mode": "Contido superposto",
"slideshow_metadata_overlay_mode_description_only": "Só descrición",
"slideshow_metadata_overlay_mode_full": "Cheo",
"slideshow_repeat": "Repetir presentación de diapositivas",
"slideshow_repeat_description": "Volver ao principio ao rematar a presentación de diapositivas",
"slideshow_settings": "Configuración da presentación",
"slideshow_title": "Presentación de diapositivas",
"smart_album": "Álbume intelixente",
"some_assets_already_have_a_location_warning": "Algúns dos recursos seleccionados xa teñen unha localización",
"sort_albums_by": "Ordenar álbums por...",
@@ -2118,6 +2155,7 @@
"unknown": "Descoñecido",
"unknown_country": "País Descoñecido",
"unknown_date": "Data descoñecida",
"unknown_schema": "Esquema descoñecido",
"unknown_year": "Ano Descoñecido",
"unlimited": "Ilimitado",
"unlink_motion_video": "Desvincular vídeo en movemento",
@@ -2153,6 +2191,8 @@
"upload_status_errors": "Erros",
"upload_status_uploaded": "Subido",
"upload_success": "Subida exitosa. Actualice a páxina para ver os novos activos subidos.",
"upload_to_album_body": "Para os usuarios que non empreguen a función de carga manual, agora poden optar por engadir fotos locais directamente a un álbum mentres as cargan, sen necesidade de cargalas e engadlas a un álbum máis tarde.",
"upload_to_album_title": "Subir directamente a un álbum",
"upload_to_immich": "Subir a Immich ({count})",
"uploading": "Subindo",
"uploading_media": "Cargando multimedia",
@@ -2220,6 +2260,9 @@
"week": "Semana",
"welcome": "Benvido/a",
"welcome_to_immich": "Benvido/a a Immich",
"whats_new": "O que hai de novo",
"whats_new_settings_subtitle": "Vexa as novidades de Immich",
"whats_new_version": "Versión {version}",
"when": "Cando",
"width": "Ancho",
"wifi_name": "Nome da wifi",

View File

@@ -23,6 +23,7 @@
"add_location": "સ્થાન ઉમેરો",
"add_partner": "સાથી ઉમેરો",
"add_photos": "ફોટો ઉમેરો",
"add_step": "પગલું ઉમેરો",
"add_tag": "ટેગ ઉમેરો",
"add_to": "માં ઉમેરો",
"add_to_album": "આલ્બમમાં ઉમેરો",
@@ -72,6 +73,7 @@
"cron_expression_description": "ક્રોન ફોર્મેટનો ઉપયોગ કરીને સ્કેનિંગ ઇન્ટરવલ સેટ કરો. વધુ માહિતી માટે કૃપા કરીને <link>Crontab Guru</link> જુઓ.",
"cron_expression_presets": "ક્રોન એક્સપ્રેશન પ્રીસેટ્સ",
"disable_login": "લોગિન ડિસેબલ કરો",
"download_csv": "CSV ડાઉનલોડ કરો",
"duplicate_detection_job_description": "સરખી ઈમેજો શોધવા માટે તમારા સંસાધનો પર મશીન લર્નિંગનો ઉપયોગ કરો. આ સુવિધા સ્માર્ટ સર્ચ પર આધારિત છે",
"exclusion_pattern_description": "તમારા સંગ્રહને સ્કેન કરતી વખતે એક્સક્લુઝન પેટર્ન તમને ફાઇલો અને ફોલ્ડર્સને અવગણવામાં મદદ કરે છે. જો તમારી પાસે એવી ફાઇલો ધરાવતા ફોલ્ડર્સ હોય જેને તમે ઈમ્પોર્ટ કરવા નથી માંગતા, જેમ કે RAW ફાઇલો, તો આ સુવિધા ઉપયોગી છે.",
"export_config_as_json_description": "વર્તમાન સિસ્ટમ કોન્ફિગને JSON ફાઇલ તરીકે ડાઉનલોડ કરો",
@@ -80,6 +82,13 @@
"face_detection_description": "મશીન લર્નિંગનો ઉપયોગ કરીને સંસાધનોમાં ચહેરાની પરખ કરો. વીડિયો માટે, ફક્ત થંબનેલ જ ધ્યાનમાં લેવામાં આવે છે. \"રિફ્રેશ\" બધા સંસાધનો પર ફરીથી પ્રક્રિયા કરે છે. \"રીસેટ\" વધારામાં ચહેરાના તમામ વર્તમાન ડેટાને સાફ કરે છે. \"ખૂટતા\" તેવા સંસાધનોને કતારમાં મૂકે છે જેના પર હજુ સુધી પ્રક્રિયા કરવામાં આવી નથી. ચહેરાની પરખ પૂર્ણ થયા પછી, શોધાયેલા ચહેરાઓને 'ચહેરાની ઓળખ' માટે કતારમાં મૂકવામાં આવશે, જે તેમને હાલની અથવા નવી વ્યક્તિઓના જૂથમાં વિભાજિત કરશે.",
"facial_recognition_job_description": "શોધાયેલા ચહેરાઓને વ્યક્તિઓના જૂથમાં વિભાજિત કરો. આ પગલું 'ચહેરાની પરખ' પૂર્ણ થયા પછી શરૂ થાય છે. \"રીસેટ\" બધા ચહેરાઓનું ફરીથી જૂથીકરણ કરે છે. \"ખૂટતા\" તેવા ચહેરાઓને કતારમાં મૂકે છે જેમને હજુ સુધી કોઈ વ્યક્તિ ફાળવવામાં આવી નથી.",
"failed_job_command": "આ કાર્ય માટે આદેશ {command} નિષ્ફળ રહ્યો: {job}",
"force_delete_user_warning": "ચેતવણી: આ પ્રક્રિયા તરત જ વપરાશકર્તા અને તમામ સંસાધનોને દૂર કરી દેશે. આ નિર્ણય બદલી શકાશે નહીં અને ફાઇલોને ફરીથી મેળવી શકાશે નહીં."
"force_delete_user_warning": "ચેતવણી: આ પ્રક્રિયા તરત જ વપરાશકર્તા અને તમામ સંસાધનોને દૂર કરી દેશે. આ નિર્ણય બદલી શકાશે નહીં અને ફાઇલોને ફરીથી મેળવી શકાશે નહીં.",
"image_format": "ગોઠવણ",
"image_format_description": "WebP JPEG કરતા નાની ફાઇલો બનાવે છે, પરંતુ એન્કોડ કરવામાં ધીમી છે.",
"image_prefer_embedded_preview": "એમ્બેડેડ પૂર્વાવલોકન પસંદ કરો",
"image_prefer_wide_gamut": "પહોળા અંતરને પ્રાધાન્ય આપો",
"image_preview_quality_description": "પ્રીવ્યૂ ગુણવત્તા ૧-૧૦૦ સુધી. ઉચ્ચ વધુ સારું છે, પરંતુ તે મોટી ફાઇલો ઉત્પન્ન કરે છે અને એપ્લિકેશન પ્રતિભાવ ઘટાડી શકે છે. ઓછું મૂલ્ય સેટ કરવાથી મશીન લર્નિંગ ગુણવત્તા પર અસર પડી શકે છે.",
"image_preview_title": "પૂર્વાવલોકન સેટિંગ્સ",
"image_progressive": "પ્રગતિશીલ"
}
}

View File

@@ -1306,7 +1306,8 @@
"map_location_picker_page_use_location": "השתמש במיקום הזה",
"map_location_service_disabled_content": "שירות המיקום צריך להיות מופעל כדי להציג תמונות מהמיקום הנוכחי שלך. האם ברצונך להפעיל אותו עכשיו?",
"map_location_service_disabled_title": "שירות מיקום מבוטל",
"map_marker_with_image": "סמן מפה עם תמונה",
"map_marker_for_image": "מרקר מפה לתמונה ממיקום {city}, {country}",
"map_marker_with_image": "סמן מפה מתמונה",
"map_no_location_permission_content": "יש צורך בהרשאה למיקום כדי להציג תמונות מהמיקום הנוכחי שלך. האם ברצונך לאפשר זאת עכשיו?",
"map_no_location_permission_title": "הרשאה למיקום נדחתה",
"map_settings": "הגדרות מפה",
@@ -1315,9 +1316,9 @@
"map_settings_date_range_option_days": "ב-{days} ימים אחרונים",
"map_settings_date_range_option_year": "שנה אחרונה",
"map_settings_date_range_option_years": "ב-{years} שנים אחרונות",
"map_settings_include_show_archived": "כלול ארכיון",
"map_settings_include_show_partners": "כלול שותפים",
"map_settings_only_show_favorites": "הצג מועדפים בלבד",
"map_settings_include_show_archived": "הכללת ארכיון",
"map_settings_include_show_partners": "הכללת שותפים",
"map_settings_only_show_favorites": "הצגת מועדפים בלבד",
"map_settings_theme_settings": "ערכת נושא למפה",
"mark_all_as_read": "סמן הכל כנקרא",
"marked_all_as_read": "כל ההתראות סומנו כנקראו",
@@ -1327,22 +1328,29 @@
"auto": "אוטומטי",
"captions": "כתוביות",
"captions_off": "כבוי",
"closed_captions": "כתוביות מובנות",
"decode_error": "שגיאת קידוד",
"disable_captions": "ביטול כתוביות",
"enable_captions": "אפשר כתוביות",
"enter_fullscreen_mode": "הפעלת מצב מסך מלא",
"exit_fullscreen_mode": "יציאה ממסך מלא",
"loop": "לולאה",
"media_error_description": "שגיאה במדיה עצדה את הניגון. המדיה אינה תקינה או שהדפדפן אינו תומך בפורמט.",
"media_loading": "טעינת מדיה",
"mute": "השתקה",
"network_error": "שגיאת רשת",
"network_error_description": "ההורדה נכשלה בגלל שגיאת רשת.",
"not_supported_error": "מקור לא נתמך",
"playback_rate": "דירוג ניגון",
"playback_rate_current": "דירוג נוכחי",
"playback_rate_value": "דירוג {playbackRate}",
"playback_time": "זמן ניגון",
"quality": "איכות",
"second": "שניה",
"seconds": "שניות",
"time_value_of_total_time": "{currentTime} מתוך {totalTime}"
"time_value_of_total_time": "{currentTime} מתוך {totalTime}",
"time_value_remaining": "נשאר {time}",
"unmute": "ביטול השתקה"
},
"media_type": "סוג מדיה",
"memories": "זכרונות",

View File

@@ -72,6 +72,7 @@
"cron_expression_description": "क्रॉन प्रारूप का उपयोग करके स्कैनिंग अंतराल सेट करें। अधिक जानकारी के लिए कृपया <link>क्रोनटैब गुरु</link> देखें",
"cron_expression_presets": "क्रॉन अभिव्यक्ति प्रीसेट",
"disable_login": "लॉगिन अक्षम करें",
"download_csv": "सीएसवी डाउनलोड करें",
"duplicate_detection_job_description": "समान छवियों का पता लगाने के लिए संपत्तियों पर मशीन लर्निंग चलाएं। यह कार्यक्षमता स्मार्ट खोज पर निर्भर करती है",
"exclusion_pattern_description": "Exclusion पैटर्न आपको अपनी लाइब्रेरी को स्कैन करते समय फ़ाइलों और फ़ोल्डरों को अनदेखा करने देता है। यह उपयोगी है यदि आपके पास ऐसे फ़ोल्डर हैं जिनमें ऐसी फ़ाइलें हैं जिन्हें आप आयात नहीं करना चाहते हैं, जैसे RAW फ़ाइलें।",
"export_config_as_json_description": "वर्तमान सिस्टम कॉन्फ़िगरेशन को JSON फ़ाइल के रूप में डाउनलोड करें",
@@ -106,6 +107,7 @@
"image_thumbnail_quality_description": "थंबनेल की गुणवत्ता 1-100 तक। उच्चतर बेहतर है, लेकिन बड़ी फ़ाइलें बनाता है और ऐप की प्रतिक्रियाशीलता को कम कर सकता है।",
"image_thumbnail_title": "थंबनेल सेटिंग्स",
"import_config_from_json_description": "JSON कॉन्फ़िगरेशन फ़ाइल अपलोड करके सिस्टम कॉन्फ़िगरेशन इंपोर्ट करें",
"integrity_checks_checksum_files_time_limit": "समय सीमा",
"job_concurrency": "{job} समरूपता",
"job_created": "नौकरी बनाई गई",
"job_not_concurrency_safe": "यह कार्य (जॉब) समवर्ती-सुरक्षित नहीं है।",

View File

@@ -108,6 +108,21 @@
"image_thumbnail_quality_description": "Kvaliteta sličica od 1-100. Više je bolje, ali proizvodi veće datoteke i može smanjiti odziv aplikacije.",
"image_thumbnail_title": "Postavke sličica",
"import_config_from_json_description": "Učitaj konfiguraciju sustava učitavanjem JSON datoteke konfiguracije",
"integrity_checks_checksum_files": "Provjeri kontrolni broj datoteka",
"integrity_checks_checksum_files_description": "Kofiguriraj provjeru kontrolnog broja",
"integrity_checks_checksum_files_enable_description": "Omogući provjeru kontrolnog broja",
"integrity_checks_checksum_files_percentage_limit": "Postotno ograničenje",
"integrity_checks_checksum_files_percentage_limit_description": "Konfiguriraj maksimalni postotak, između 0.01 i 1, za koliko se provjera kontrolnog zbroja treba izvršavati u svakom intervalu.",
"integrity_checks_checksum_files_time_limit": "Ograničenje vremena",
"integrity_checks_checksum_files_time_limit_description": "Konfiguriraj maksimalno trajanje provjere kontrolnog broja u svakom intervala. (ms)",
"integrity_checks_missing_files": "Nedostajuće datoteke",
"integrity_checks_missing_files_description": "Konfiguriraj frekvenciju i upali/izgasi provjeru nedostajućih datoteka",
"integrity_checks_missing_files_enable_description": "Upali provjeru nedostajućih datoteka",
"integrity_checks_settings": "Provjere integriteta",
"integrity_checks_settings_description": "Upravljaj intervalima za provjeru integriteta",
"integrity_checks_untracked_files": "Nepraćene datoteke",
"integrity_checks_untracked_files_description": "Konfiguriraj frekvenciju i upali/izgasi provjeru nepraćenih datoteka",
"integrity_checks_untracked_files_enable_description": "Upali provjeru nepraćenih datoteka",
"job_concurrency": "{job} istovremenost",
"job_created": "Zadatak je kreiran",
"job_not_concurrency_safe": "Ovaj posao nije siguran za istovremenost.",
@@ -194,6 +209,14 @@
"maintenance_integrity_checksum_mismatch_job": "Provjera za nepodudaranje kontrolnih zbrojeva",
"maintenance_integrity_checksum_mismatch_refresh_job": "Osvježi izvještaje nepodudaranja kontrolnih zbrojeva",
"maintenance_integrity_missing_file": "Nedostaju datoteke",
"maintenance_integrity_missing_file_description": "Datoteke koje je Immich zabilježio u svojoj bazi podataka ali koje ne postoje na datotečnom sustavu.",
"maintenance_integrity_missing_file_job": "Provjeri nedostajuće datoteke",
"maintenance_integrity_missing_file_refresh_job": "Osvježi izvještaje o nedostajućim datotekama",
"maintenance_integrity_report": "Izvještaj Integriteta",
"maintenance_integrity_untracked_file": "Nepraćene Datoteke",
"maintenance_integrity_untracked_file_description": "Datoteke u Immich direktorijima koje Immich nije zabilježio.",
"maintenance_integrity_untracked_file_job": "Provjeri nepraćene datoteke",
"maintenance_integrity_untracked_file_refresh_job": "Osvježi izvještaje o nepraćenim datotekama",
"maintenance_restore_backup": "Vrati sigurnosnu kopiju",
"maintenance_restore_backup_description": "Immich će biti obrisan i vraćen iz odabrane sigurnosne kopije. Prije nastavka izradit će se nova sigurnosna kopija.",
"maintenance_restore_backup_different_version": "Ova sigurnosna kopija izrađena je s drugom verzijom Immicha!",
@@ -281,6 +304,7 @@
"oauth_mobile_redirect_uri": "Mobilnog Preusmjeravanja URI",
"oauth_mobile_redirect_uri_override": "Nadjačavanje URI-preusmjeravanja za mobilne uređaje",
"oauth_mobile_redirect_uri_override_description": "Omogući kada pružatelj OAuth ne dopušta mobilni URI, poput ''{callback}''",
"oauth_prompt_description": "Parametri upita (npr. select_account, login, consent)",
"oauth_role_claim": "Dodjela uloge",
"oauth_role_claim_description": "Automatski dodijeli administratorski pristup na temelju prisutnosti ove tvrdnje. Tvrdnja može sadržavati ili 'user' ili 'admin'.",
"oauth_settings": "OAuth",
@@ -307,6 +331,8 @@
"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.",
"release_channel_release_candidate": "Kandidat za izdanje",
"release_channel_stable": "Stabilno",
"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",
@@ -355,7 +381,7 @@
"template_settings": "Predložak Obavijesti",
"template_settings_description": "Upravljaj prilagođenim predlošcima za obavijesti",
"theme_custom_css_settings": "Prilagođeni CSS",
"theme_custom_css_settings_description": "Kaskadni stilovi (CSS) omogućavaju prilagođavanje dizajna Immich-a.",
"theme_custom_css_settings_description": "Kaskadni Stilovi (CSS) omogućavaju prilagođavanje dizajna Immich-a.",
"theme_settings": "Postavke tema",
"theme_settings_description": "Upravljajte prilagodbom Immich web sučelja",
"thumbnail_generation_job": "Generirajte sličice",
@@ -401,6 +427,14 @@
"transcoding_preferred_hardware_device_description": "Odnosi se samo na VAAPI i QSV. Postavlja dri node koji se koristi za hardversko transkodiranje.",
"transcoding_preset_preset": "Preset (-preset)",
"transcoding_preset_preset_description": "Brzina kompresije. Sporije postavke proizvode manje datoteke i povećavaju kvalitetu pri ciljanju određene postavke bitratea. VP9 zanemaruje brzine iznad 'brže'.",
"transcoding_realtime": "Transkodiranje u stvarnom vremenu [EKSPERIMENTALNO]",
"transcoding_realtime_description": "Omogućuje transkodiranje u stvarnom vremenu tijekom slanja videozapisa. Omogućuje promjenu kvalitete, no može uzrokovati veće kašnjenje reprodukcije i štopanje, ovisno o mogućnostima poslužitelja.",
"transcoding_realtime_enabled": "Upali transkodiranje u stvarnom vremenu",
"transcoding_realtime_enabled_description": "Ako je izgašeno, poslužitelj će početi da odbija stvaranje novih sesija transkodiranja u stvarnom vremenu.",
"transcoding_realtime_resolutions": "Rezolucije",
"transcoding_realtime_resolutions_description": "Rezolucije ponuđene za transkodiranje u stvarnom vremenu. Veće rezolucije mogu uzrokovati probleme s reprodukcijom ako ih poslužitelj ne može dovoljno brzo transkodirati.",
"transcoding_realtime_video_codecs": "Video kodeci",
"transcoding_realtime_video_codecs_description": "Video kodeci dostupni za transkodiranje u stvarnom vremenu. Klijenti će tijekom reprodukcije odabrati najbolju opciju koju podržavaju. AV1 je učinkovitiji od HEVC-a, koji je učinkovitiji od H.264. Pri korištenju hardverskog ubrzanja, odaberite samo one kodeke koje akcelerator može kodirati. Kod softverskog transkodiranja imajte na umu da je H.264 brži od AV1, koji je brži od HEVC-a.",
"transcoding_reference_frames": "Referentne slike",
"transcoding_reference_frames_description": "Broj slika za referencu prilikom komprimiranja određene slike. Više vrijednosti poboljšavaju učinkovitost kompresije, ali usporavaju kodiranje. 0 automatski postavlja ovu vrijednost.",
"transcoding_required_description": "Samo videozapisi koji nisu u prihvaćenom formatu",
@@ -444,6 +478,8 @@
"user_settings_description": "Upravljanje korisničkim postavkama",
"user_successfully_removed": "Korisnik {email} je uspješno uklonjen.",
"users_page_description": "Administracija korisnika stranica",
"version_check_channel": "Kanal za izdavanje",
"version_check_channel_description": "Odaberite kanal izdavanja za koji želite primati obavijesti o verzijama",
"version_check_enabled_description": "Omogući provjeru verzije",
"version_check_implications": "Značajka provjere verzije oslanja se na periodičnu komunikaciju s {server}",
"version_check_settings": "Provjera verzije",
@@ -522,6 +558,7 @@
"app_bar_signout_dialog_title": "Odjavi se",
"app_download_links": "Poveznica za preuzimanje aplikacije",
"app_settings": "Postavke aplikacije",
"app_stores": "Trgovine Aplikacija",
"app_update_available": "Ažuriranje aplikacije je dostupno",
"appears_in": "Pojavljuje se u",
"apply_count": "Primijeni ({count, number})",
@@ -537,6 +574,7 @@
"asset_added_to_album": "Dodano u album",
"asset_adding_to_album": "Dodavanje u album…",
"asset_created": "Stavka stvorena",
"asset_day_count": "{date}: {count, plural, one {# stavka} few {# stavke} other {# stavki}}",
"asset_description_updated": "Opis stavke je ažuriran",
"asset_hashing": "Hashiranje…",
"asset_list_group_by_sub_title": "Grupiraj po",
@@ -559,6 +597,7 @@
"asset_viewer_settings_title": "Preglednik stavki",
"assets": "Stavke",
"assets_added_to_album_count": "{count, plural, one {Dodana # stavka} few {Dodane # stavke} other {Dodano # stavki}} u album",
"assets_added_to_album_partial_count": "Dodano je {successCount} od {totalCount} {totalCount, plural, one {stavke} few {stavke} other {stavki}} u album",
"assets_added_to_albums_count": "{assetTotal, plural, one {Dodana # stavka} other {Dodano # stavki}} u {albumTotal, plural, one {# album} other {# albuma}}",
"assets_cannot_be_added_to_album_count": "{count, plural, one {Stavka se ne može} other {Stavke se ne mogu}} dodati u album",
"assets_cannot_be_added_to_albums": "{count, plural, one {Stavka se ne može} few {Stavke se ne mogu} other {Stavki se ne može}} dodati ni u jedan album",
@@ -586,7 +625,7 @@
"backup_album_selection_page_assets_scatter": "Stavke se mogu raspršiti po više albuma. Stoga se albumi mogu uključiti ili isključiti tijekom postupka sigurnosnog kopiranja.",
"backup_album_selection_page_select_albums": "Odabrani albumi",
"backup_album_selection_page_selection_info": "Informacije o odabiru",
"backup_albums_sync": "Sinkronizacija sigurnosnih kopija albuma",
"backup_albums_sync": "Sinkronizacija Sigurnosnih Kopija Albuma",
"backup_background_service_complete_notification": "Sigurnosno kopiranje stavki dovršeno",
"backup_background_service_default_notification": "Provjera novih stavki…",
"backup_background_service_in_progress_notification": "Sigurnosno kopiranje vaših stavki…",
@@ -612,12 +651,14 @@
"backup_options": "Opcije sigurnosne kopije",
"backup_settings_subtitle": "Upravljaj postavkama slanja",
"backward": "Unazad",
"battery_optimization_backup_reliability": "Onemogućivanje optimizacije baterije može poboljšati pouzdanost sigurnosnog kopiranja u pozadini",
"biometric_auth_enabled": "Biometrijska autentikacija omogućena",
"biometric_locked_out": "Zaključani ste iz biometrijske autentikacije",
"biometric_no_options": "Nema dostupnih biometrijskih opcija",
"biometric_not_available": "Biometrijska autentikacija nije dostupna na ovom uređaju",
"birthdate_set_description": "Datum rođenja se koristi za izračunavanje godina ove osobe u trenutku fotografije.",
"blurred_background": "Zamućena pozadina",
"browse_templates": "Pregledaj predloške",
"bugs_and_feature_requests": "Bugovi i zahtjevi za značajke",
"build": "Sagradi (Build)",
"build_image": "Sagradi (Build) Image",
@@ -637,6 +678,7 @@
"cannot_update_the_description": "Nije moguće ažurirati opis",
"cast": "Prijenos na uređaj (Cast)",
"cast_description": "Konfigurirajte dostupna odredišta za prijenos (cast)",
"change": "Izmijeni",
"change_date": "Promjena datuma",
"change_description": "Promijeni opis",
"change_display_order": "Promijeni redoslijed prikaza",
@@ -659,6 +701,7 @@
"charging_requirement_mobile_backup": "Za izradu sigurnosne kopije u pozadini potrebno je punjenje uređaja",
"check_logs": "Provjera Zapisa",
"checksum": "Kontrolni zbroj",
"choose": "Izaberi",
"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?",
@@ -676,6 +719,7 @@
"clear": "Očisti",
"clear_all": "Očisti sve",
"clear_all_recent_searches": "Izbriši sva nedavna pretraživanja",
"clear_failed_count": "Čišćenje nije uspjelo ({count})",
"clear_file_cache": "Očisti predmemoriju datoteka",
"clear_message": "Jasna poruka",
"clear_value": "Očisti vrijednost",
@@ -703,6 +747,7 @@
"comments_are_disabled": "Komentari onemogućeni",
"common_create_new_album": "Kreiraj novi album",
"completed": "Dovršeno",
"configuration": "Konfiguracija",
"confirm": "Potvrdi",
"confirm_admin_password": "Potvrdite lozinku administratora",
"confirm_delete_face": "Jeste li sigurni da želite izbrisati lice {name} iz stavke?",
@@ -717,6 +762,7 @@
"contain": "Sadrži",
"context": "Kontekst",
"continue": "Nastavi",
"control_bottom_app_bar_add_tags": "Dodaj Oznake",
"control_bottom_app_bar_delete_from_local": "Izbriši s uređaja",
"control_bottom_app_bar_edit_location": "Uredi lokaciju",
"control_bottom_app_bar_edit_time": "Uredi datum i vrijeme",
@@ -725,6 +771,7 @@
"copied_to_clipboard": "Kopirano u međuspremnik!",
"copy_error": "Greška kopiranja",
"copy_image": "Kopiraj Sliku",
"copy_json": "Kopiraj JSON",
"copy_link": "Kopiraj poveznicu",
"copy_link_to_clipboard": "Kopiraj poveznicu u međuspremnik",
"copy_password": "Kopiraj lozinku",
@@ -736,6 +783,7 @@
"create_album": "Kreiraj album",
"create_album_page_untitled": "Bez naslova",
"create_api_key": "Izradi API ključ",
"create_first_workflow": "Napravite prvi radni proces",
"create_library": "Kreiraj Biblioteku",
"create_link": "Kreiraj poveznicu",
"create_link_to_share": "Izradite vezu za dijeljenje",
@@ -752,6 +800,7 @@
"create_tag": "Stvori oznaku",
"create_tag_description": "Napravite novu oznaku. Za ugniježđene oznake unesite punu putanju oznake uključujući kose crte.",
"create_user": "Stvori korisnika",
"create_workflow": "Napravite radni proces",
"created": "Stvoreno",
"created_at": "Kreirano",
"creating_linked_albums": "Izradi povezane albume...",
@@ -775,11 +824,15 @@
"date_after": "Datum nakon",
"date_and_time": "Datum i Vrijeme",
"date_before": "Datum prije",
"date_of_birth": "Datum rođenja",
"date_of_birth_saved": "Datum rođenja uspješno spremljen",
"date_range": "Razdoblje",
"date_time_original": "Datum/Vrijeme Originala",
"day": "Dan",
"days": "Dani",
"deduplicate_all": "Dedupliciraj Sve",
"default_quality_subtitle": "Kvaliteta koja se koristi pri dijeljenju. Pritisnite i držite pritisnutim gumb za dijeljenje kako biste svaki put mogli odabrati.",
"default_share_quality": "Zadana kvaliteta dijeljenja",
"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",
@@ -841,7 +894,10 @@
"downloading_asset_filename": "Preuzimanje stavke {filename}",
"downloading_from_icloud": "Preuzmi s iCloud",
"downloading_media": "Preuzimanje medija",
"drag_to_reorder": "Povucite za promjenu redoslijeda",
"drop_files_to_upload": "Ispustite datoteke bilo gdje za prijenos",
"duplicate": "Dupliciraj",
"duplicate_workflow": "Dupliciraj radni proces",
"duplicates": "Duplikati",
"duplicates_description": "Razriješite svaku grupu tako da naznačite koji su duplikati, ako ih ima.",
"duration": "Trajanje",
@@ -866,10 +922,19 @@
"edit_tag": "Uredi oznaku",
"edit_title": "Uredi Naslov",
"edit_user": "Uredi korisnika",
"edit_workflow": "Uredi radni proces",
"editor": "Urednik",
"editor_discard_edits_confirm": "Odbaci izmjene",
"editor_discard_edits_prompt": "Imate nesačuvane izmjene. Jeste li sigurni da ih želite odbaciti?",
"editor_discard_edits_title": "Odbaci izmjene?",
"editor_edits_applied_error": "Greška pri spremanju izmjena",
"editor_edits_applied_success": "Izmjene uspješno spremljene",
"editor_flip_horizontal": "Vodoravno zrcaljenje",
"editor_flip_vertical": "Vertikalno zrcaljenje",
"editor_handle_corner": "{corner, select, top_left {Gornja lijeva} top_right {Gornja desna} bottom_left {Donja lijeva} bottom_right {Donja desna} other {A}} kutna ručka",
"editor_handle_edge": "{edge, select, top {Gornja} bottom {Donja} left {Lijeva} right {Desna} other {Bilo koja}} rubna ručka",
"editor_orientation": "Orijentacija",
"editor_reset_all_changes": "Poništi promjene",
"editor_rotate_left": "Rotiraj 90° u suprotnom smjeru kazaljke na satu",
"editor_rotate_right": "Rotiraj 90° u smjeru kazaljke na satu",
"email": "E-pošta",
@@ -888,8 +953,10 @@
"enter_your_pin_code_subtitle": "Unesite svoj PIN kod za pristup zaključanoj mapi",
"error": "Greška",
"error_delete_face": "Pogreška pri brisanju lica sa stavke",
"error_loading_albums": "Greška prilikom učitavanja albuma",
"error_loading_image": "Pogreška pri učitavanju slike",
"error_loading_partners": "Greška prilikom učitavanja partnera:{error}",
"error_retrieving_asset_information": "Greška prilikom dobavljanja informacija o stavkama",
"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",
@@ -925,6 +992,7 @@
"failed_to_remove_product_key": "Uklanjanje ključa proizvoda nije uspjelo",
"failed_to_reset_pin_code": "Neuspješno resetiranje PIN koda",
"failed_to_stack_assets": "Slaganje stavki nije uspjelo",
"failed_to_tag_assets": "Označavanje stavki nije uspjelo",
"failed_to_unstack_assets": "Razdvajanje stavki nije uspjelo",
"failed_to_update_notification_status": "Neuspješno ažuriranje statusa obavijesti",
"incorrect_email_or_password": "Netočna adresa e-pošte ili lozinka",
@@ -952,6 +1020,7 @@
"unable_to_complete_oauth_login": "Nije moguće dovršiti OAuth prijavu",
"unable_to_connect": "Povezivanje nije moguće",
"unable_to_copy_to_clipboard": "Nije moguće kopirati u međuspremnik, provjerite pristupate li stranici putem https-a",
"unable_to_create": "Stvaranje radnog procesa nije uspjelo",
"unable_to_create_admin_account": "Nije moguće stvoriti administratorski račun",
"unable_to_create_api_key": "Nije moguće izraditi novi API ključ",
"unable_to_create_library": "Nije moguće stvoriti biblioteku",
@@ -962,6 +1031,7 @@
"unable_to_delete_exclusion_pattern": "Nije moguće izbrisati uzorak izuzimanja",
"unable_to_delete_shared_link": "Nije moguće izbrisati dijeljenu poveznicu",
"unable_to_delete_user": "Nije moguće izbrisati korisnika",
"unable_to_delete_workflow": "Brisanje radnog procesa nije uspjelo",
"unable_to_download_files": "Nije moguće preuzeti datoteke",
"unable_to_edit_exclusion_pattern": "Nije moguće urediti uzorak izuzimanja",
"unable_to_empty_trash": "Nije moguće isprazniti otpad",
@@ -1001,6 +1071,7 @@
"unable_to_scan_library": "Nije moguće skenirati knjižnicu",
"unable_to_set_feature_photo": "Nije moguće postaviti istaknutu fotografiju",
"unable_to_set_profile_picture": "Nije moguće postaviti profilnu sliku",
"unable_to_set_rating": "Nije moguće postaviti ocjenu",
"unable_to_submit_job": "Nije moguće poslati posao",
"unable_to_trash_asset": "Nije moguće premjestiti stavku u smeće",
"unable_to_unlink_account": "Nije moguće prekinuti vezu računa",
@@ -1012,6 +1083,7 @@
"unable_to_update_settings": "Nije moguće ažurirati postavke",
"unable_to_update_timeline_display_status": "Nije moguće ažurirati status prikaza vremenske trake",
"unable_to_update_user": "Nije moguće ažurirati korisnika",
"unable_to_update_workflow": "Nije moguće ažurirati radni proces",
"unable_to_upload_file": "Nije moguće učitati datoteku"
},
"errors_text": "Greške",
@@ -1032,15 +1104,18 @@
"export_as_json": "Izvezi kao JSON",
"export_database": "Izvezi bazu podataka",
"export_database_description": "Izvezi SQLite bazu podataka",
"exposure_time": "Vrijeme Ekspozicije",
"extension": "Proširenje (Extension)",
"external": "Vanjski",
"external_libraries": "Vanjske biblioteke",
"external_network": "Vanjska mreža",
"external_network_sheet_info": "Kada niste na željenoj Wi-Fi mreži, aplikacija će se povezati s poslužiteljem putem prve dostupne URL adrese s popisa ispod, redom od vrha prema dnu",
"f_number": "F-Broj",
"face_unassigned": "Nedodijeljeno",
"failed": "Neuspješno",
"failed_count": "Neuspjelo:{count}",
"failed_to_authenticate": "Neuspješna autentikacija",
"failed_to_delete_file": "Brisanje datoteke nije uspjelo",
"failed_to_load_assets": "Učitavanje stavki nije uspjelo",
"failed_to_load_folder": "Neuspjelo učitavanje mape",
"favorite": "Omiljeno",
@@ -1058,20 +1133,28 @@
"filter": "Filtar",
"filter_people": "Filtrirajte ljude",
"filter_places": "Filtriraj mjesta",
"filter_tags": "Filtriraj oznake",
"filters": "Filteri",
"first": "Prvi",
"fix_incorrect_match": "Ispravite netočno podudaranje",
"focal_length": "Fokalna Duljina",
"folder": "Mapa",
"folder_not_found": "Mapa nije pronađena",
"folders": "Mape",
"folders_feature_description": "Pregledavanje prikaza mape za fotografije i videozapise u sustavu datoteka",
"forgot_pin_code_question": "Zaboravili ste svoj PIN?",
"forward": "Naprijed",
"free_up_space": "Oslobodi Prostor",
"free_up_space_description": "Premjestite prenešene fotografije i videozapise u smeće na uređaju kako biste oslobodili prostor. Vaše kopije na poslužitelju ostaju sigurne.",
"free_up_space_settings_subtitle": "Oslobodite prostor na uređaju",
"full_path": "Puna putanja:{path}",
"full_path_or_folder": "Puna putanja ili mapa",
"gcast_enabled": "Google Cast",
"gcast_enabled_description": "Ova značajka učitava vanjske stavke s Googlea kako bi radila.",
"general": "Općenito",
"geolocation_instruction_location": "Kliknite na stavku s GPS koordinatama da biste koristili njezinu lokaciju ili odaberite lokaciju izravno s karte",
"get_help": "Potražite pomoć",
"get_people_error": "Greška prilikom dobavljanja ljudi",
"get_wifiname_error": "Nije moguće dohvatiti naziv Wi-Fi mreže. Provjerite imate li potrebna dopuštenja i jeste li povezani na Wi-Fi mrežu",
"getting_started": "Početak Rada",
"go_back": "Idi natrag",
@@ -1096,12 +1179,14 @@
"header_settings_header_name_input": "Naziv zaglavlja",
"header_settings_header_value_input": "Vrijednost zaglavlja",
"headers_settings_tile_title": "Prilagođena proxy zaglavlja",
"height": "Visina",
"hi_user": "Bok {name} ({email})",
"hide_all_people": "Sakrij sve ljude",
"hide_gallery": "Sakrij galeriju",
"hide_named_person": "Sakrij osobu {name}",
"hide_password": "Sakrij lozinku",
"hide_person": "Sakrij osobu",
"hide_schema": "Sakrij shemu",
"hide_text_recognition": "Sakrij prepoznavanje teksta",
"hide_unnamed_people": "Sakrij neimenovane osobe",
"home_page_building_timeline": "Izrada vremenske crte",
@@ -1127,12 +1212,15 @@
"import_path": "Putanja uvoza",
"in_albums": "U {count, plural, one {# album} other {# albuma}}",
"in_archive": "U arhivi",
"in_year": "Godine {year}",
"in_year_selector": "Godine",
"include_archived": "Uključi arhivirano",
"include_shared_albums": "Uključi dijeljene albume",
"include_shared_partner_assets": "Uključi zajedničke stavke partnera",
"individual_share": "Pojedinačni udio",
"individual_shares": "Pojedinačna dijeljenja",
"info": "Informacije",
"integrity_checks": "Provjere Integriteta",
"interval": {
"day_at_onepm": "Svaki dan u 13 sati",
"hours": "{hours, plural, one {Svaki sat} few {Svakih {hours, number} sata} other {Svakih {hours, number} sati}}",
@@ -1143,11 +1231,19 @@
"invalid_date_format": "Neispravan format datuma",
"invite_people": "Pozovite ljude",
"invite_to_album": "Pozovi u album",
"iso": "ISO",
"items_count": "{count, plural, one {# datoteka} other {# datoteke}}",
"jobs": "Poslovi",
"keep": "Zadrži",
"keep_albums": "Zadrži albume",
"keep_albums_count": "Čuvam {count} {count, plural, one {album} other {albuma}}",
"keep_all": "Zadrži Sve",
"keep_description": "Odaberite što ostaje na vašem uređaju prilikom oslobađanja prostora.",
"keep_favorites": "Zadrži favorite",
"keep_on_device": "Zadrži za uređaju",
"keep_on_device_hint": "Izaberite stavke koje želite zadržati na ovom uređaju",
"keep_this_delete_others": "Zadrži ovo, izbriši ostale",
"keeping": "Čuvam: {items}",
"kept_this_deleted_others": "Zadržana je ova stavka i {count, plural, one {izbrisana # datoteka} few {izbrisane # datoteke} other {izbrisano # datoteka}}",
"keyboard_shortcuts": "Prečaci tipkovnice",
"language": "Jezik",
@@ -1157,34 +1253,46 @@
"language_setting_description": "Odaberite željeni jezik",
"large_files": "Velike datoteke",
"last": "Zadnji",
"last_months": "{count, plural, one {Prošli mjesec} few {Prošla # mjeseca} other {Prošlih # mjeseci}}",
"last_seen": "Zadnji put viđen",
"latest_version": "Najnovija verzija",
"latitude": "Zemljopisna širina",
"leave": "Izađi",
"leave_album": "Napusti album",
"lens_model": "Model objektiva",
"less": "Manje",
"let_others_respond": "Dozvoli da drugi odgovore",
"level": "Razina",
"library": "Biblioteka",
"library_add_folder": "Dodaj mapu",
"library_edit_folder": "Uredi mapu",
"library_page_sort_asset_count": "Broj stavki",
"library_page_sort_created": "Datum kreiranja",
"library_page_sort_last_modified": "Zadnja izmjena",
"library_page_sort_title": "Naslov albuma",
"licenses": "Licence",
"light": "Svjetlo",
"light_theme": "Prebaci na svijetlu temu",
"like": "Sviđa mi se",
"like_deleted": "Like izbrisan",
"link": "Poveznica",
"link_motion_video": "Povežite videozapis pokreta",
"link_to_docs": "Za više informacija, pogledajte <link>dokumentaciju</link>.",
"link_to_oauth": "Veza na OAuth",
"linked_oauth_account": "Povezani OAuth račun",
"list": "Popis",
"live": "Uživo",
"load_more": "Učitaj Još",
"loading": "Učitavanje",
"loading_search_results_failed": "Učitavanje rezultata pretraživanja nije uspjelo",
"local": "Lokalno",
"local_asset_cast_failed": "Nije moguće emitirati stavku koja nije prenesena na poslužitelj",
"local_assets": "Lokalne stavke",
"local_id": "Lokalni ID",
"local_media_summary": "Sažetak Lokalnih Medija",
"local_network": "Lokalna mreža",
"local_network_sheet_info": "Aplikacija će se povezati s poslužiteljem putem ovog URL-a kada koristi određenu Wi-Fi mrežu",
"location": "Lokacija",
"location_permission": "Dozvola za lokaciju",
"location_permission_content": "Kako bi koristio značajku automatskog prebacivanja, Immich treba dozvolu za preciznu lokaciju kako bi mogao očitati naziv trenutne Wi-Fi mreže",
"location_picker_choose_on_map": "Odaberi na karti",
@@ -1194,6 +1302,7 @@
"location_picker_longitude_hint": "Unesite ovdje svoju geografsku dužinu",
"lock": "Zaključaj",
"locked_folder": "Zaključana mapa",
"log_detail_title": "Detalji Zapisnika",
"log_out": "Odjavi se",
"log_out_all_devices": "Odjava sa svih uređaja",
"logged_in_as": "Prijavljeni kao {user}",
@@ -1214,20 +1323,48 @@
"login_form_failed_login": "Pogreška pri prijavi, provjerite URL poslužitelja, e-mail i lozinku",
"login_form_handshake_exception": "Došlo je do greške u uspostavi veze s poslužiteljem. Omogućite podršku za samopotpisane certifikate u postavkama ako koristite takav certifikat.",
"login_form_password_hint": "lozinka",
"login_form_server_empty": "Unesite URL poslužitelja.",
"login_form_server_error": "Nije moguće povezivanje s poslužiteljem.",
"login_has_been_disabled": "Prijava je onemogućena.",
"login_form_server_empty": "Unesite URL poslužitelja",
"login_form_server_error": "Nije moguće povezivanje s poslužiteljem",
"login_has_been_disabled": "Prijava je onemogućena",
"login_password_changed_error": "Došlo je do pogreške pri ažuriranju lozinke",
"login_password_changed_success": "Lozinka je uspješno ažurirana",
"logout_all_device_confirmation": "Jeste li sigurni da želite odjaviti sve uređaje?",
"logout_this_device_confirmation": "Jeste li sigurni da se želite odjaviti s ovog uređaja?",
"logs": "Zapisnici",
"longitude": "Zemljopisna dužina",
"look": "Izgled",
"loop_videos": "Ponavljajte videozapise",
"loop_videos_description": "Omogućite automatsko ponavljanje videozapisa u pregledniku detalja.",
"main_branch_warning": "Koristite razvojnu verziju; strogo preporučamo korištenje izdane verzije!",
"main_menu": "Glavni izbornik",
"maintenance_action_restore": "Vraćanje Baze Podataka",
"maintenance_description": "Immich je prebačen u <link>način rada za održavanje</link>.",
"maintenance_end": "Završi način održavanja",
"maintenance_logged_in_as": "Trenutno ste prijavljeni kao {user}",
"maintenance_restore_from_backup": "Vrati iz Sigurnosne Kopije",
"maintenance_restore_library": "Vratite Svoju Knjižnicu",
"maintenance_restore_library_confirm": "Ako ovo izgleda ispravno, nastavite s vraćanjem sigurnosne kopije!",
"maintenance_restore_library_description": "Vraćanje Baze Podataka",
"maintenance_restore_library_folder_has_files": "{folder} ima {count, plural, one {# mapu} few {# mape} other {# mapa}}",
"maintenance_restore_library_folder_no_files": "U mapi {folder} nedostaju datoteke!",
"maintenance_restore_library_folder_pass": "omogućeno čitanje i pisanje",
"maintenance_restore_library_folder_read_fail": "nije omogućeno čitanje",
"maintenance_restore_library_folder_write_fail": "nije omogućeno pisanje",
"maintenance_restore_library_hint_missing_files": "Možda vam nedostaju važne datoteke",
"maintenance_restore_library_hint_regenerate_later": "Možete ovo kasnije ponovno generirati u postavkama",
"maintenance_restore_library_hint_storage_template_missing_files": "Koristite predložak za pohranu? Možda vam nedostaju datoteke",
"maintenance_restore_library_loading": "Učitavanje provjera cjelovitosti i heuristike…",
"maintenance_task_backup": "Izrada sigurnosne kopije postojeće baze podataka…",
"maintenance_task_migrations": "Pokretanje migracija baze podataka…",
"maintenance_task_restore": "Vraćanje odabrane sigurnosne kopije…",
"maintenance_task_rollback": "Vraćanje nije uspjelo, povratak na prijašnju točku vraćanja…",
"maintenance_title": "Privremeno Nedostupno",
"make": "Proizvođač",
"manage_geolocation": "Upravljaj Lokacijom",
"manage_media_access_rationale": "Ovo je dopuštenje potrebno za ispravno premještanje stavki u smeće i njihovo vraćanje iz njega.",
"manage_media_access_settings": "Otvori postavke",
"manage_media_access_subtitle": "Dopustite aplikaciji Immich da premješta i upravlja multimedijskim datotekama.",
"manage_media_access_title": "Pristup Upravljanju Medijima",
"manage_sharing_with_partners": "Upravljajte dijeljenjem s partnerima",
"manage_the_app_settings": "Upravljajte postavkama aplikacije",
"manage_your_account": "Upravljajte svojim računom",
@@ -1239,6 +1376,7 @@
"map_location_picker_page_use_location": "Koristi ovu lokaciju",
"map_location_service_disabled_content": "Usluga lokacije mora biti omogućena za prikaz stavki s vaše trenutne lokacije. Želite li je sada omogućiti?",
"map_location_service_disabled_title": "Usluga lokacije onemogućena",
"map_marker_for_image": "Oznaka na karti za sliku uslikanu u gradu {city}, {country}",
"map_marker_with_image": "Oznaka karte sa slikom",
"map_no_location_permission_content": "Potrebno je dopuštenje za lokaciju kako bi se prikazale stavke s vaše trenutne lokacije. Želite li ga sada omogućiti?",
"map_no_location_permission_title": "Dopuštenje za lokaciju odbijeno",
@@ -1256,6 +1394,38 @@
"marked_all_as_read": "Označeno sve kao pročitano",
"matches": "Podudaranja",
"matching_assets": "Odgovarajuće stavke",
"media_chrome": {
"auto": "Automatski",
"captions": "Titlovi",
"captions_off": "Izgašeni",
"closed_captions": "titlovi",
"decode_error": "Pogreška pri dekodiranju",
"disable_captions": "Onemogući titlove",
"enable_captions": "Omogući titlove",
"enter_fullscreen_mode": "Prijeđi na prikaz preko cijelog zaslona",
"exit_fullscreen_mode": "Izađi iz prikaza preko cijelog zaslona",
"loop": "Petlja",
"media_error_description": "Pogreška medija uzrokovala je prekid reprodukcije. Medij je možda oštećen ili vaš preglednik ne podržava ovaj format.",
"media_loading": "učitavanje medija",
"mute": "Isključi zvuk",
"network_error": "Pogreška mreže",
"network_error_description": "Pogreška u mreži uzrokovala je neuspjeh preuzimanja medijskog sadržaja.",
"not_supported_error": "Izvor Nije Podržan",
"playback_rate": "Brzina reprodukcije",
"playback_rate_current": "trenutna brzina reprodukcije",
"playback_rate_value": "Brzina reprodukcije {playbackRate}",
"playback_time": "vrijeme reprodukcije",
"quality": "Kvaliteta",
"second": "sekunda",
"seconds": "sekundi",
"time_value_of_total_time": "{currentTime} od {totalTime}",
"time_value_remaining": "{time} preostalo",
"unmute": "Uključi zvuk",
"unsupported_error_description": "Došlo je do nepoznate pogreške. Greška je na poslužitelju ili mreži, ili vaš preglednik ne podržava ovaj format.",
"video_not_loaded_unknown_time": "videozapis nije učitan, nepoznato vrijeme.",
"video_player": "videoplayer",
"volume": "jačina zvuka"
},
"media_type": "Vrsta medija",
"memories": "Sjećanja",
"memories_all_caught_up": "Sve ste pregledali",
@@ -1272,23 +1442,36 @@
"merge_people_prompt": "Želite li spojiti ove ljude? Ova radnja je nepovratna.",
"merge_people_successfully": "Uspješno spajanje osoba",
"merged_people_count": "{count, plural, one {# Spojena osoba} other {# Spojene osobe}}",
"minFaces": "Minimalni broj lica",
"minFaces_description": "Minimalni broj prepoznatih lica koji je potreban da bi se osoba prikazala",
"minimize": "Minimiziraj",
"minute": "Minuta",
"minutes": "Minute",
"missing": "Nedostaje",
"mobile_app": "Mobilna Aplikacija",
"mobile_app_download_onboarding_note": "Preuzmi prateću mobilnu aplikaciju koristeći sljedeće opcije",
"model": "Model",
"modify_date": "Datum Izmjene",
"month": "Mjesec",
"more": "Više",
"motion": "Pokret",
"move": "Pomakni",
"move_off_locked_folder": "Premjesti iz zaključane mape",
"move_to": "Premjesti u",
"move_to_device_trash": "Premjesti u smeće uređaja",
"move_to_lock_folder_action_prompt": "{count} dodano u zaključanu mapu",
"move_to_locked_folder": "Premjesti u zaključanu mapu",
"move_to_locked_folder_confirmation": "Ove fotografije i videozapis bit će uklonjeni iz svih albuma i bit će vidljivi samo iz zaključane mape",
"moved_to_trash": "Premješteno u smeće",
"mute_memories": "Isključi uspomene",
"my_albums": "Moji albumi",
"my_immich_description": "Kopiraj trenutnu stranicu kao My Immich poveznicu",
"my_immich_title": "My Immich poveznica",
"name": "Ime",
"name_or_nickname": "Ime ili nadimak",
"name_required": "Ime je obavezno",
"navigate": "Navigacija",
"navigate_to_time": "Idi na Vrijeme",
"network_requirement_photos_upload": "Koristi mobilne podatke za sigurnosno kopiranje fotografija",
"network_requirement_videos_upload": "Koristi mobilne podatke za sigurnosno kopiranje videozapisa",
"network_requirements": "Mrežni zahtjevi",
@@ -1298,6 +1481,7 @@
"never": "Nikada",
"new_album": "Novi Album",
"new_api_key": "Novi API ključ",
"new_feature": "Nova Značajka",
"new_password": "Nova lozinka",
"new_person": "Nova osoba",
"new_pin_code": "Novi PIN kod",
@@ -1309,11 +1493,12 @@
"next": "Sljedeće",
"next_memory": "Sljedeće sjećanje",
"no": "Ne",
"no_albums_found": "Albumi nisu pronađeni",
"no_albums_message": "Izradite album za organiziranje svojih fotografija i videozapisa",
"no_albums_with_name_yet": "Čini se da još nemate nijedan album s ovim imenom.",
"no_albums_yet": "Čini se da još nemate nijedan album.",
"no_archived_assets_message": "Arhivirajte fotografije i videozapise kako biste ih sakrili iz prikaza fotografija",
"no_assets_message": "KLIKNITE DA PRENESETE SVOJU PRVU FOTOGRAFIJU",
"no_assets_message": "Kliknite za prijenos svoje prve fotografije",
"no_assets_to_show": "Nema stavki za prikaz",
"no_cast_devices_found": "Nisu pronađeni uređaji za reprodukciju",
"no_checksum_local": "Nema dostupnog kontrolnog zbroja - nije moguće dohvatiti lokalne stavke",
@@ -1334,12 +1519,18 @@
"no_results": "Nema rezultata",
"no_results_description": "Pokušajte sa sinonimom ili općenitijom ključnom riječi",
"no_shared_albums_message": "Stvorite album za dijeljenje fotografija i videozapisa s osobama u svojoj mreži",
"no_steps": "Nisu još dodani koraci",
"none": "Ništa",
"not_allowed": "Zabranjeno",
"not_available": "N/A",
"not_in_any_album": "Ni u jednom albumu",
"not_selected": "Nije odabrano",
"notes": "Bilješke",
"nothing_here_yet": "Ovdje još nema ničega",
"notification_backup_reliability": "Omogućite obavijesti za poboljšanje pouzdanosti sigurnosne kopije u pozadini",
"notification_enabled_list_tile_content": "Immich koristi obavijesti za sigurnosno kopiranje u pozadini. Upravljajte njima u postavkama uređaja.",
"notification_enabled_list_tile_open_button": "Otvori postavke",
"notification_enabled_list_tile_title": "Obavijesti uključene",
"notification_permission_dialog_content": "Da biste omogućili obavijesti, idite u Postavke i odaberite dopusti.",
"notification_permission_list_tile_content": "Dodijelite dopuštenje za omogućavanje obavijesti.",
"notification_permission_list_tile_enable_button": "Omogući obavijesti",
@@ -1349,6 +1540,10 @@
"notifications_setting_description": "Upravljanje obavijestima",
"oauth": "OAuth",
"obtainium_configurator": "Obtainium konfigurator",
"obtainium_configurator_instructions": "Koristite Obtainium za instalaciju i ažuriranje Android aplikacije izravno sa Immich GitHub izdanja. Napravite API ključ i odaberite varijantu kako biste kreirali poveznicu za Obtainium konfiguraciju",
"ocr": "OCR",
"ocr_body": "Immich sada čita tekst unutar vaših fotografija, pa ih možete pretraživati prema onome što na njima piše.",
"ocr_title": "Pretražite tekst u svojim fotografijama",
"official_immich_resources": "Službeni Immich resursi",
"offline": "Izvan mreže",
"offset": "Pomak",
@@ -1365,18 +1560,26 @@
"online": "Dostupan (Online)",
"only_favorites": "Samo omiljeno",
"open": "Otvori",
"open_calendar": "Otvori kalendar",
"open_in_browser": "Otvori u pregledniku",
"open_in_immich_body": "Postavite Immich kao svoju Android galeriju kako biste mogli otvarali fotografije izravno iz drugih aplikacija.",
"open_in_immich_title": "Otvori fotografije u Immich",
"open_in_map_view": "Otvori u prikazu karte",
"open_in_openstreetmap": "Otvori u OpenStreetMap",
"open_the_search_filters": "Otvorite filtre pretraživanja",
"options": "Opcije",
"or": "ili",
"organize_into_albums": "Organiziraj u albume",
"organize_into_albums_description": "Organiziraj postojeće fotografije u albume koristeći trenutne postavke sinkronizacije",
"organize_your_library": "Organizirajte svoju knjižnicu",
"orientation": "Orijentacija",
"original": "originalno",
"other": "Ostalo",
"other_devices": "Ostali uređaji",
"other_variables": "Ostale varijable",
"owned": "Vlasništvo",
"owner": "Vlasnik",
"page": "Stranica",
"partner": "Partner",
"partner_can_access": "{partner} može pristupiti",
"partner_can_access_assets": "Sve vaše fotografije i videozapisi osim onih u arhivi i smeću",
@@ -1421,11 +1624,14 @@
"person_age_years": "{years, plural, few {# godine} other {# godina}} staro",
"person_birthdate": "Rođen/a {date}",
"person_hidden": "{name}{hidden, select, true { (skriveno)} other {}}",
"person_recognized": "Osoba prepoznata",
"photo_shared_all_users": "Čini se da ste svoje fotografije podijelili sa svim korisnicima ili nemate nijednog korisnika s kojim biste ih podijelili.",
"photos": "Fotografije",
"photos_and_videos": "Fotografije i videozapisi",
"photos_from_previous_years": "Fotografije iz prethodnih godina",
"pick_a_location": "Odaberite lokaciju",
"pick_custom_range": "Prilagođeni raspon",
"pick_date_range": "Odaberite raspon datuma",
"pin_code_changed_successfully": "PIN kod je uspješno promijenjen",
"pin_code_reset_successfully": "PIN kod je uspješno poništen",
"pin_code_setup_successfully": "PIN kod je uspješno postavljen",
@@ -1437,8 +1643,12 @@
"play_memories": "Pokreni sjećanja",
"play_motion_photo": "Reproduciraj Pokretnu fotografiju",
"play_or_pause_video": "Reproducirajte ili pauzirajte video",
"play_original_video": "Reproduciraj izvorni videozapis",
"play_original_video_setting_description": "Preferirajte reprodukciju originalnih videozapisa umjesto transkodiranih videozapisa. Ako originalna stavka nije kompatibilna, možda se neće ispravno reproducirati.",
"play_transcoded_video": "Reproduciraj transkodirani videozapis",
"please_auth_to_access": "Molimo autentificirajte se za pristup",
"plugin_method_filter_type": "Filter",
"plugin_method_filter_type_description": "Ova metoda može filtrirati događaje i uvjetno spriječiti izvršavanje sljedećih koraka",
"port": "Port",
"preferences_settings_subtitle": "Upravljajte postavkama aplikacije",
"preferences_settings_title": "Postavke",
@@ -1459,6 +1669,7 @@
"profile_drawer_readonly_mode": "Omogućen je način rada samo za čitanje. Dugo pritisnite ikonu korisničkog avatara za izlaz.",
"profile_image_of_user": "Profilna slika korisnika {user}",
"profile_picture_set": "Profilna slika postavljena.",
"projection_type": "Vrsta Projekcije",
"public_album": "Javni album",
"public_share": "Javno dijeljenje",
"purchase_account_info": "Podržava softver",
@@ -1494,9 +1705,10 @@
"purchase_settings_server_activated": "Ključem proizvoda poslužitelja upravlja administrator",
"query_asset_id": "Ispitaj ID stavke",
"queue_status": "Stavljanje u red {count}/{total}",
"rate_asset": "Ocjeni Stavku",
"rating": "Broj zvjezdica",
"rating_clear": "Obriši ocjenu",
"rating_count": "{count, plural, one {# zvijezda} other {# zvijezde}}",
"rating_count": "{count, plural, =0 {Bez ocjene} one {# zvijezda} few {# zvijezde} other {# zvijezda}}",
"rating_description": "Prikaži EXIF ocjenu na info ploči",
"reaction_options": "Mogućnosti reakcije",
"read_changelog": "Pročitajte Dnevnik promjena",
@@ -1510,7 +1722,10 @@
"recent": "Nedavno",
"recent_searches": "Nedavne pretrage",
"recently_added": "Nedavno dodano",
"recently_added_page_title": "Nedavno dodano",
"recently_added_body": "Izravno pristupite svemu što ste nedavno dodali preko namjenske stranice.",
"recently_added_description": "Pregledajte svoje stavke poredane po vremenu prijenosa na Immich",
"recently_added_page_title": "Nedavno Dodano",
"recently_added_title": "Nedavno dodano",
"recently_taken": "Nedavno snimljeno",
"refresh": "Osvježi",
"refresh_encoded_videos": "Osvježite kodirane videozapise",
@@ -1524,11 +1739,13 @@
"regenerating_thumbnails": "Obnavljanje sličica",
"remote": "Udaljeno",
"remote_assets": "Udaljene stavke",
"remote_media_summary": "Sažetak Daljinskih Medija",
"remove": "Ukloni",
"remove_assets_album_confirmation": "Jeste li sigurni da želite ukloniti {count, plural, one {# stavku} few {# stavke} other {# stavki}} iz albuma?",
"remove_assets_shared_link_confirmation": "Jeste li sigurni da želite ukloniti {count, plural, one {# stavku} few {# stavke} other {# stavki}} iz ove dijeljene veze?",
"remove_assets_title": "Ukloniti stavke?",
"remove_custom_date_range": "Ukloni prilagođeni datumski raspon",
"remove_filter": "Ukloni filter",
"remove_from_album": "Ukloni iz albuma",
"remove_from_album_action_prompt": "{count} uklonjeno iz albuma",
"remove_from_favorites": "Ukloni iz favorita",
@@ -1557,9 +1774,13 @@
"reset_pin_code_description": "Ako ste zaboravili svoj PIN kod, možete kontaktirati administratora poslužitelja da ga resetira",
"reset_pin_code_with_password": "Uvijek možete resetirati svoj PIN kod pomoću svoje lozinke",
"reset_sqlite": "Resetiraj SQLite bazu podataka",
"reset_sqlite_confirmation": "Jeste li sigurni da želite resetirati SQLite bazu podataka? Morat ćete se odjaviti i ponovno prijaviti kako biste ponovno sinkronizirali podatke",
"reset_sqlite_clear_app_data": "Izbriši Podatke",
"reset_sqlite_confirmation": "Jeste li sigurni da želite izbrisati podatke aplikacije? Time ćete ukloniti sve postavke i bit ćete odjavljeni.",
"reset_sqlite_confirmation_note": "Napomena: Nakon brisanja morat ćete ponovno pokrenuti aplikaciju.",
"reset_sqlite_done": "Podaci aplikacije su izbrisani. Molimo vas da ponovno pokrenete Immich i ponovno se prijavite.",
"reset_sqlite_success": "SQLite baza podataka je uspješno resetirana",
"reset_to_default": "Vrati na zadano",
"resolution": "Rezolucija",
"resolve_duplicates": "Riješite duplikate",
"resolved_all_duplicates": "Razriješi sve duplikate",
"restore": "Oporavi",
@@ -1567,6 +1788,7 @@
"restore_user": "Vrati korisnika",
"restored_asset": "Obnovljena stavka",
"resume": "Nastavi",
"resume_paused_jobs": "Nastavi {count, plural, one {# pauzirani posao} few {# pauzirana posla} other {# pauziranih poslova}}",
"review_duplicates": "Pregledajte duplikate",
"review_large_files": "Pregledaj velike datoteke",
"role": "Uloga",
@@ -1574,14 +1796,20 @@
"role_viewer": "Gledatelj",
"running": "U tijeku",
"save": "Spremi",
"saved": "Spremljeno",
"saved_api_key": "Spremljen API ključ",
"saved_profile": "Spremljen profil",
"saved_settings": "Spremljene postavke",
"say_something": "Reci nešto",
"scaffold_body_error_occurred": "Došlo je do pogreške",
"scaffold_body_error_unrecoverable": "Došlo je do nepopravljive pogreške. Podijelite pogrešku i trag stoga na Discord ili GitHub kako bismo vam mogli pomoći. Ako vam se tako savjetuje, možete izbrisati podatke aplikacije u nastavku.",
"scan": "Skeniraj",
"scan_all_libraries": "Skeniraj sve Knjižnice",
"scan_library": "Skeniraj",
"scanning": "Skeniranje",
"scanning_for_album": "Skeniranje albuma...",
"screencast_mode_description": "Prikaži indikatore tipkovnice i miša na zaslonu",
"screencast_mode_title": "Uključi/isključi način prikazivanja zaslona",
"search": "Pretraživanje",
"search_albums": "Traži albume",
"search_by_context": "Pretraživanje po kontekstu",
@@ -1589,6 +1817,10 @@
"search_by_description_example": "Planinarenje u Sapi",
"search_by_filename": "Pretražujte prema nazivu datoteke ili ekstenziji",
"search_by_filename_example": "npr. IMG_1234.JPG ili PNG",
"search_by_full_path": "Pretraži prema punoj putanji ili mapi",
"search_by_full_path_example": "/Ivan/Projekti/3D_Printanje/2026-07-01 - možete pretražiti Projekti, 3D, Printanje, 2026 itd.",
"search_by_ocr": "Pretraživanje pomoću OCR-a",
"search_by_ocr_example": "Kava",
"search_camera_lens_model": "Pretraži model objektiva...",
"search_camera_make": "Pretražite marku kamere...",
"search_camera_model": "Pretražite model kamere...",
@@ -1607,6 +1839,8 @@
"search_filter_media_type": "Vrsta medija",
"search_filter_media_type_title": "Odaberi vrstu medija",
"search_filter_people_title": "Odaberi osobe",
"search_filter_star_rating": "Ocjena u Zvjezdicama",
"search_filter_tags_title": "Odaberi oznake",
"search_for": "Traži",
"search_for_existing_person": "Potražite postojeću osobu",
"search_no_more_result": "Nema više rezultata",
@@ -1629,17 +1863,24 @@
"second": "Drugi",
"see_all_people": "Vidi sve ljude",
"select": "Odaberi",
"select_album": "Odaberi album",
"select_album_cover": "Odaberite omot albuma",
"select_albums": "Odaberi albume",
"select_all": "Odaberi sve",
"select_all_duplicates": "Odaberi sve duplikate",
"select_avatar_color": "Odaberi boju avatara",
"select_count": "{count, plural, one {Odaberi #} other {Odaberi #}}",
"select_cutoff_date": "Odaberi granični datum",
"select_face": "Odaberi lice",
"select_featured_photo": "Odaberi istaknutu fotografiju",
"select_from_computer": "Odaberi s računala",
"select_keep_all": "Odaberi zadrži sve",
"select_new_face": "Odaberi novo lice",
"select_people": "Odaberi ljude",
"select_person": "Odaberi osobu",
"select_person_to_tag": "Odaberite osobu za označavanje",
"select_photos": "Odaberi fotografije",
"select_quality": "Odaberi kvalitetu",
"select_trash_all": "Odaberi izbriši sve",
"selected": "Odabrano",
"selected_count": "{count, plural, =1 {# odabran} few {# odabrana} other {# odabranih}}",
@@ -1665,6 +1906,9 @@
"set_profile_picture": "Postavi profilnu sliku",
"set_slideshow_to_fullscreen": "Postavi prezentaciju na cijeli zaslon",
"set_stack_primary_asset": "Postavi kao glavnu stavku",
"setting_image_navigation_enable_subtitle": "Ako je omogućeno, možete prijeći na prethodnu ili sljedeću sliku dodirivanjem krajnje lijeve ili krajnje desne četvrtine zaslona.",
"setting_image_navigation_enable_title": "Dodirnite za Navigiranje",
"setting_image_navigation_title": "Navigacija Slikama",
"setting_image_viewer_help": "Preglednik detalja prvo učitava malu sličicu, zatim učitava pregled srednje veličine (ako je omogućen), te na kraju učitava original (ako je omogućen).",
"setting_image_viewer_original_subtitle": "Omogućite za učitavanje originalne slike pune rezolucije (velika!). Onemogućite za smanjenje potrošnje podataka (i mrežne i na predmemoriji uređaja).",
"setting_image_viewer_original_title": "Učitaj originalnu sliku",
@@ -1686,6 +1930,10 @@
"share": "Podijeli",
"share_dialog_preparing": "Priprema...",
"share_link": "Podijeli Link",
"share_original": "Koristi izvornu (velika)",
"share_preview": "Koristi sličicu (malu)",
"share_quality_body": "Pritisni i drži tipku za dijeljenje kako biste odabrali kvalitetu slike prije dijeljenja.",
"share_quality_title": "Odaberi kvalitetu dijeljenja",
"shared": "Podijeljeno",
"shared_album_activities_input_disable": "Komentiranje je onemogućeno",
"shared_album_activity_remove_content": "Želite li izbrisati ovu aktivnost?",
@@ -1745,13 +1993,17 @@
"show_in_timeline": "Prikaži na vremenskoj crti",
"show_in_timeline_setting_description": "Prikaži fotografije i videozapise ovog korisnika na vašoj vremenskoj crti",
"show_keyboard_shortcuts": "Prikaži tipkovničke prečace",
"show_less": "Prikaži manje",
"show_metadata": "Prikaži metapodatke",
"show_more_fields": "{count, plural, one {Pokaži još # polje} other {Pokaži još # polja}}",
"show_or_hide_info": "Prikaži ili sakrij informacije",
"show_password": "Prikaži lozinku",
"show_person_options": "Prikaži opcije osobe",
"show_progress_bar": "Prikaži traku napretka",
"show_schema": "Prikaži shemu",
"show_search_options": "Prikaži opcije pretraživanja",
"show_shared_links": "Prikaži dijeljene poveznice",
"show_slideshow_metadata_overlay": "Prikaži sloj s informacijama o slici",
"show_slideshow_transition": "Prikaži prijelaz prezentacije",
"show_supporter_badge": "Značka podržavatelja",
"show_supporter_badge_description": "Prikaži značku podržavatelja",
@@ -1763,11 +2015,21 @@
"sign_out": "Odjava",
"sign_up": "Registriraj se",
"size": "Veličina",
"skip": "Preskoči",
"skip_to_content": "Preskoči na sadržaj",
"skip_to_folders": "Preskoči na mape",
"skip_to_tags": "Preskoči na oznake",
"slideshow": "Prezentacija",
"slideshow_body": "Opustite se i gledajte svoje fotografije u dijaprojekciji preko cijelog zaslona.",
"slideshow_metadata_overlay_mode": "Sadržaj prekrivanja",
"slideshow_metadata_overlay_mode_description_only": "Samo opis",
"slideshow_metadata_overlay_mode_full": "Puni",
"slideshow_repeat": "Ponavljaj dijaprojekciju",
"slideshow_repeat_description": "Vrati se na početak nakon završetka dijaprojekcije",
"slideshow_settings": "Postavke prezentacije",
"slideshow_title": "Dijaprojekcija",
"smart_album": "Pametni album",
"some_assets_already_have_a_location_warning": "Neke od odabranih stavki već imaju lokaciju",
"sort_albums_by": "Sortiraj albume po...",
"sort_created": "Datum kreiranja",
"sort_items": "Broj stavki",
@@ -1788,6 +2050,10 @@
"start_date_before_end_date": "Početni datum mora biti prije krajnjeg datuma",
"state": "Stanje",
"status": "Status",
"step_delete": "Izbriši korak",
"step_delete_confirm": "Jeste li sigurni da želite izbrisati ovaj korak?",
"step_details": "Detalji koraka",
"steps": "Koraci",
"stop_casting": "Zaustavi reprodukciju",
"stop_motion_photo": "Zaustavi pokretnu fotografiju",
"stop_photo_sharing": "Prestati dijeliti svoje fotografije?",
@@ -1804,6 +2070,7 @@
"support": "Podrška",
"support_and_feedback": "Podrška i povratne informacije",
"support_third_party_description": "Vaša Immich instalacija je pakirana od strane treće strane. Problemi koje doživljavate mogu biti uzrokovani tim paketom, stoga vas molimo da probleme prvo prijavite njima putem poveznica u nastavku.",
"supporter": "Podržavatelj",
"swap_merge_direction": "Zamijeni smjer spajanja",
"sync": "Sink.",
"sync_albums": "Sinkroniziraj albume",
@@ -1812,9 +2079,12 @@
"sync_status": "Status sinkronizacije",
"sync_status_subtitle": "Pregledajte i upravljajte sistemom sinkronizacije",
"sync_upload_album_setting_subtitle": "Kreiraj i prenesi svoje fotografije i videozapise u odabrane albume na Immichu",
"system_theme": "Tema sustava",
"system_theme_command_description": "Koristi sistemsku temu ({value})",
"tag": "Oznaka",
"tag_assets": "Označi stavke",
"tag_created": "Kreirana oznaka: {tag}",
"tag_face": "Označi lice",
"tag_feature_description": "Pregledavanje fotografija i videozapisa grupiranih po logičkim temama oznaka",
"tag_people": "Označi osobe",
"tag_updated": "Ažurirana oznaka: {tag}",
@@ -1834,6 +2104,7 @@
"theme_setting_primary_color_title": "Primarna boja",
"theme_setting_system_primary_color_title": "Koristi boju sustava",
"theme_setting_system_theme_switch": "Automatski (Prati postavke sustava)",
"then": "Onda",
"they_will_be_merged_together": "Oni ću biti spojeni zajedno",
"third_party_resources": "Resursi trećih strana",
"time": "Vrijeme",
@@ -1862,6 +2133,13 @@
"trash_page_delete_all": "Izbriši sve",
"trash_page_info": "Stavke u smeću bit će trajno izbrisane nakon {days} dana",
"trashed_items_will_be_permanently_deleted_after": "Stavke bačene u smeće trajno će se izbrisati nakon {days, plural, one {# day} other {# days}}.",
"trigger": "Okidač",
"trigger_asset_metadata_extraction": "Ekstrakcija Metapodataka iz Stavki",
"trigger_asset_metadata_extraction_description": "Pokrene se kada se izdvoje EXIF metapodatci stavke",
"trigger_asset_uploaded": "Prijenos Stavke",
"trigger_asset_uploaded_description": "Pokrene se kada se prenese nova stavka",
"trigger_person_recognized": "Osoba Prepoznata",
"trigger_person_recognized_description": "Pokrene se kada se osoba prepozna",
"troubleshoot": "Rješavanje problema",
"type": "Vrsta",
"unable_to_change_pin_code": "Nije moguće promijeniti PIN kod",
@@ -1876,6 +2154,8 @@
"unhide_person": "Prikaži osobu",
"unknown": "Nepoznato",
"unknown_country": "Nepoznata država",
"unknown_date": "Nepoznat datum",
"unknown_schema": "Nepoznata shema",
"unknown_year": "Nepoznata godina",
"unlimited": "Neograničeno",
"unlink_motion_video": "Odpoveži pokretni videozapis",
@@ -1891,6 +2171,8 @@
"unstack": "Razdvoji",
"unstack_action_prompt": "{count} razloženo",
"unstacked_assets_count": "{count, plural, one {Razdvojena # stavka} few {Razvdvojene # stavke} other {Razdvojeno # stavki}}",
"unsupported_field_type": "Nepodržana vrsta polja",
"unsupported_file_type": "Datoteka {file} se ne može učitati jer njezina vrsta {type} nije podržana.",
"untagged": "Bez oznaka",
"up_next": "Sljedeće",
"update_location_action_prompt": "Ažuriraj lokaciju ({count, plural, one {# odabrane stavke} few {# odabrane stavke} other {# odabranih stavki}}) s:",
@@ -1898,7 +2180,9 @@
"updated_password": "Lozinka ažurirana",
"upload": "Prijenos",
"upload_concurrency": "Istovremeni prijenosi",
"upload_day_count": "{date}: {count, plural, one {# prijenos} other {# prijenosa}}",
"upload_details": "Detalji prijenosa",
"upload_error_with_count": "Pogreška pri prijenosu za {count, plural, one {# stavku} few {# stavke} other {# stavki}}",
"upload_errors": "Prijenos završen s {count, plural, one {# greškom} few {# greške} other {# grešaka}}, osvježite stranicu da biste vidjeli nove prenesene stavke.",
"upload_finished": "Prijenos završen",
"upload_progress": "Preostalo {remaining, number} - Obrađeno {processed, number}/{total, number}",
@@ -1907,14 +2191,21 @@
"upload_status_errors": "Greške",
"upload_status_uploaded": "Preneseno",
"upload_success": "Prijenos uspješan, osvježite stranicu da biste vidjeli nove prenesene stavke.",
"upload_to_album_body": "Za korisnike koji ne koriste ručni prijenos: sada možete prenjeti lokalne fotografije izravno u album tijekom samog prijenosa - više nema potrebe za naknadnim organiziranjem fotografija u album nakon prijenosa.",
"upload_to_album_title": "Prenesi izravno u album",
"upload_to_immich": "Prenesi na Immich ({count})",
"uploading": "Prijenos u tijeku",
"uploading_media": "Prijenos medija",
"uploads": "Prijenosi",
"uploads_count": "{count, plural, one {# prijenos} other {# prijenosa}}",
"url": "URL",
"usage": "Korištenje",
"use_biometric": "Koristi biometriju",
"use_current_connection": "koristi trenutnu vezu",
"use_browser_locale": "Koristi lokalne postavke preglednika",
"use_browser_locale_description": "Oblikujte datume, vremena i brojeve prema postavkama lokalizacije vašeg preglednika",
"use_current_connection": "Koristi trenutnu vezu",
"use_custom_date_range": "Koristi prilagođeni raspon datuma",
"use_template": "Koristi predložak",
"user": "Korisnik",
"user_has_been_deleted": "Ovaj korisnik je izbrisan.",
"user_id": "ID korisnika",
@@ -1942,6 +2233,7 @@
"video": "Videozapis",
"video_hover_setting": "Reproduciraj sličicu videozapisa pri prelasku mišem",
"video_hover_setting_description": "Reproduciraj sličicu videozapisa kada miš prelazi preko stavke. Čak i kada je onemogućeno, reprodukcija se može pokrenuti prelaskom miša preko ikone za reprodukciju.",
"video_quality": "Kvaliteta videozapisa",
"videos": "Videozapisi",
"videos_count": "{count, plural, =1 {# Videozapis} few {# Videozapisa} other {# Videozapisa}}",
"view": "Prikaz",
@@ -1961,20 +2253,40 @@
"viewer_remove_from_stack": "Ukloni iz složenih",
"visibility": "Vidljivost",
"visibility_changed": "Vidljivost promijenjena za {count, plural, =1 {# osobu} few {# osobe} other {# osoba}}",
"visual": "Vizualno",
"waiting": "Čekanje",
"waiting_count": "Čekanje:{count}",
"warning": "Upozorenje",
"week": "Tjedan",
"welcome": "Dobrodošli",
"welcome_to_immich": "Dobrodošli u Immich",
"whats_new": "Što je novo",
"whats_new_settings_subtitle": "Pogledaj što ima novo u Immichu",
"whats_new_version": "Verzija {version}",
"when": "Kada",
"width": "Širina",
"wifi_name": "Naziv Wi-Fi mreže",
"workflow_summary": "Sažetak tijeka rada",
"workflow": "Radni proces",
"workflow_delete_prompt": "Jeste li sigurni da želite izbrisati ovaj radni proces?",
"workflow_deleted": "Radni proces izbrisan",
"workflow_description": "Opis radnog procesa",
"workflow_info": "Informacije o radnog procesu",
"workflow_json": "JSON radnog procesa",
"workflow_json_help": "Uredite konfiguraciju radnog procesa u JSON formatu. Promjene će se sinkronizirati s vizualnim alatom za izradu.",
"workflow_name": "Naziv radnog procesa",
"workflow_navigation_prompt": "Jeste li sigurni da želite izaći bez spremanja promjena?",
"workflow_summary": "Sažetak radnog procesa",
"workflow_templates": "Predlošci za radne procese",
"workflow_update_success": "Radni proces uspješno ažuriran",
"workflows": "Radni procesi",
"workflows_help_text": "Radni procesi automatiziraju radnje nad vašim stavkama na temelju okidača i filtara",
"wrong_pin_code": "Krivi PIN kod",
"x_of_total": "{x}/{total}",
"year": "Godina",
"years_ago": "prije {years, plural, =1 {# godinu} few {# godine} other {# godina}}",
"yes": "Da",
"you_dont_have_any_shared_links": "Nemate nijednu dijeljenu poveznicu",
"your_wifi_name": "Naziv vaše Wi-Fi mreže",
"zero_to_clear_rating": "pritisni 0 za brisanje ocjene stavke",
"zoom_image": "Povećaj sliku"
}

View File

@@ -108,6 +108,21 @@
"image_thumbnail_quality_description": "Bélyegkép minősége 1-100 között. A magasabb szám jobb minőséget, de nagyobb fájlméretet eredményez és belassíthatja az alkalmazást.",
"image_thumbnail_title": "Bélyegkép beállítások",
"import_config_from_json_description": "Rendszer konfiguráció importálása JSON fájlból",
"integrity_checks_checksum_files": "Ellenőrzőösszeg fájlok",
"integrity_checks_checksum_files_description": "Az ellenőrzőösszeg-ellenőrzés beállítása",
"integrity_checks_checksum_files_enable_description": "Ellenőrzőösszeg-ellenőrzés bekapcsolása",
"integrity_checks_checksum_files_percentage_limit": "Százalékos limit",
"integrity_checks_checksum_files_percentage_limit_description": "Állítsd be 0,01 és 1 közötti értékre azt a maximális százalékot, amely meghatározza, hogy az ellenőrzőösszeg-ellenőrzés az egyes időközökben milyen gyakorisággal fusson.",
"integrity_checks_checksum_files_time_limit": "Idő limit",
"integrity_checks_checksum_files_time_limit_description": "Állítsd be, hogy az egyes időközökben az ellenőrzőösszeg-ellenőrzés legfeljebb mennyi ideig futhasson. (ms)",
"integrity_checks_missing_files": "Hiányzó fájlok",
"integrity_checks_missing_files_description": "Gyakoriság beállítása, valamint a hiányzó fájlok ellenőrzésének engedélyezése vagy letiltása",
"integrity_checks_missing_files_enable_description": "A hiányzó fájlok ellenőrzésének engedélyezése",
"integrity_checks_settings": "Integritás ellenőrzések",
"integrity_checks_settings_description": "Integritás-ellenőrzések gyakoriságának kezelése",
"integrity_checks_untracked_files": "Nem követett fájlok",
"integrity_checks_untracked_files_description": "Gyakoriság beállítása, valamint nem követett fájlok ellenőrzésének engedélyezése vagy letiltása",
"integrity_checks_untracked_files_enable_description": "Nem követett fájlok ellenőrzésének engedélyezése",
"job_concurrency": "{job} párhuzamosan",
"job_created": "Feladat létrehozva",
"job_not_concurrency_safe": "Ez a feladat nem párhuzamosság-biztos.",
@@ -416,6 +431,10 @@
"transcoding_realtime_description": "Engedélyezi a videó lejátszása közben a valós idejű transzkódolást. Lehetővé teszi a minőség kiválasztását, de akadozásokat és nagyobb visszajátszási késleltetést eredményezhet a szerver teljesítményétől függően.",
"transcoding_realtime_enabled": "Valós idejű transzkódolás bekapcsolása",
"transcoding_realtime_enabled_description": "Ha ki van kapcsolva, a szerver nem fogja elfogadni az új, valós idejű transzkódolású kéréseket.",
"transcoding_realtime_resolutions": "Felbontások",
"transcoding_realtime_resolutions_description": "A valós idejű átkódoláshoz kínált felbontások. A nagyobb felbontások lejátszási problémákhoz vezethetnek, ha a szerver nem tudja elég gyorsan feldolgozni őket.",
"transcoding_realtime_video_codecs": "Videókodekek",
"transcoding_realtime_video_codecs_description": "A valós idejű transzkódoláshoz elérhető videókodekek. Lejátszás során a kliensek a legmegfelelőbb általuk támogatott opciót választják ki. Az AV1 hatékonyabb a HEVC-nél, a HEVC pedig hatékonyabb a H.264-nél. Hardveres gyorsítás használatakor csak azokat a kodekeket válaszd ki, amelyeket a gyorsító képes kódolni. Szoftveres transzkódolás esetén vedd figyelembe, hogy a H.264 gyorsabb az AV1-nél, az AV1 pedig gyorsabb a HEVC-nél.",
"transcoding_reference_frames": "Referencia képkockák",
"transcoding_reference_frames_description": "A hivatkozott képkockák száma egy képkocka tömörítéséhez. Magasabb értékek növelik a tömörítési hatékonyságot, de lelassítják a kódolási folyamatot. 0 esetén a szoftver magának állítja be az értéket.",
"transcoding_required_description": "Csak az el nem fogadott formátumú videókat",
@@ -578,6 +597,7 @@
"asset_viewer_settings_title": "Elem megjelenítő",
"assets": "Elemek",
"assets_added_to_album_count": "{count, plural, other {# elem}} hozzáadva az albumhoz",
"assets_added_to_album_partial_count": "{totalCount} {totalCount, plural, one {elemből} other {elemből}} {successCount} hozzáadva az albumhoz",
"assets_added_to_albums_count": "{assetTotal, plural, one {# elem} other {# elemek}} hozzáadva {albumTotal, plural, one {# albumhoz} other {# albumokhoz}}",
"assets_cannot_be_added_to_album_count": "{count, plural, one {Az elem} other {Az elemek}} nem adhatóak hozzá az albumhoz",
"assets_cannot_be_added_to_albums": "Az {count, plural, one {elemet} other {elemeket}} nem lehet hozzáadni egy albumhoz sem",
@@ -1461,6 +1481,7 @@
"never": "Soha",
"new_album": "Új album",
"new_api_key": "Új API kulcs",
"new_feature": "Új funkció",
"new_password": "Új jelszó",
"new_person": "Új személy",
"new_pin_code": "Új PIN kód",
@@ -1521,6 +1542,8 @@
"obtainium_configurator": "Obtainium konfigurátor",
"obtainium_configurator_instructions": "Az Obtainium segítségével közvetlenül az Immich GitHub-os kiadásából telepítheted és frissítheted az Android-alkalmazást. Hozz létre egy API-kulcsot és válassz egy változatot az Obtainium konfigurációs hivatkozás elkészítéséhez",
"ocr": "OCR",
"ocr_body": "Az Immich mostantól elolvassa a fotókon szereplő szöveget, így a szöveg alapján is kereshetsz közöttük.",
"ocr_title": "Szövegkeresés a fényképeidben",
"official_immich_resources": "Hivatalos Immich források",
"offline": "Nem elérhető (offline)",
"offset": "Eltolás",
@@ -1539,6 +1562,8 @@
"open": "Nyitva",
"open_calendar": "Naptár megnyitása",
"open_in_browser": "Megnyitás böngészőben",
"open_in_immich_body": "Állítsd be az Immich-et galériádként az Androidon, hogy a fényképeket közvetlenül más alkalmazásokból nyithasd meg.",
"open_in_immich_title": "Fotók megnyitása az Immich-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",
@@ -1697,7 +1722,10 @@
"recent": "Friss",
"recent_searches": "Legutóbbi keresések",
"recently_added": "Nemrég hozzáadott",
"recently_added_body": "Egy külön oldalon azonnal megtekintheted az összes legutóbb hozzáadott elemet.",
"recently_added_description": "Az Immich-re való feltöltés időpontja szerint rendezve böngészheted a fájljaid",
"recently_added_page_title": "Nemrég hozzáadott",
"recently_added_title": "Legutóbb hozzáadott",
"recently_taken": "Nemrég készített",
"refresh": "Frissítés",
"refresh_encoded_videos": "Átkódolt videók frissítése",
@@ -1904,6 +1932,8 @@
"share_link": "Link megosztása",
"share_original": "Használd az eredetit (nagy)",
"share_preview": "Használd a miniatűrt (kicsi)",
"share_quality_body": "A megosztás előtt tartsa lenyomva a megosztás gombot, hogy kiválassza a képminőséget.",
"share_quality_title": "Válaszd ki a megosztási minőséget",
"shared": "Megosztva",
"shared_album_activities_input_disable": "Hozzászólások kikapcsolva",
"shared_album_activity_remove_content": "Törölni szeretnéd ezt a tevékenységet?",
@@ -1985,16 +2015,19 @@
"sign_out": "Kijelentkezés",
"sign_up": "Regisztráció",
"size": "Méret",
"skip": "Kihagyás",
"skip_to_content": "Ugrás a tartalomhoz",
"skip_to_folders": "Ugrás a mappákhoz",
"skip_to_tags": "Ugrás a címkékhez",
"slideshow": "Diavetítés",
"slideshow_body": "Dőlj hátra, és nézd meg fotóidat teljes képernyős diavetítésben.",
"slideshow_metadata_overlay_mode": "Képadatok tartalma",
"slideshow_metadata_overlay_mode_description_only": "Csak leírás",
"slideshow_metadata_overlay_mode_full": "Teljes",
"slideshow_repeat": "Diavetítés ismétlése",
"slideshow_repeat_description": "Ha a diavetítés véget ér, újraindul az elejétől",
"slideshow_settings": "Diavetítés beállításai",
"slideshow_title": "Diavetítés",
"smart_album": "Okos album",
"some_assets_already_have_a_location_warning": "A kiválasztott elemek közül néhánynak már van helyszíne",
"sort_albums_by": "Albumok rendezése...",
@@ -2122,6 +2155,7 @@
"unknown": "Ismeretlen",
"unknown_country": "Ismeretlen ország",
"unknown_date": "Ismeretlen dátum",
"unknown_schema": "Ismeretlen séma",
"unknown_year": "Ismeretlen Év",
"unlimited": "Korlátlan",
"unlink_motion_video": "Mozgókép leválasztása",
@@ -2157,6 +2191,8 @@
"upload_status_errors": "Hibák",
"upload_status_uploaded": "Feltöltve",
"upload_success": "Feltöltés sikeres, frissítsd az oldalt az újonnan feltöltött elemek megtekintéséhez.",
"upload_to_album_body": "Azok a felhasználók, akik nem használják a kézi feltöltési funkciót, mostantól a helyi fényképeket feltöltés közben közvetlenül hozzáadhatják egy albumhoz; így már nem kell először feltölteniük a képeket, majd később hozzáadniuk őket az albumhoz.",
"upload_to_album_title": "Feltöltés közvetlenül egy albumba",
"upload_to_immich": "Feltöltés Immich-be ({count})",
"uploading": "Feltöltés folyamatban",
"uploading_media": "Média feltöltés folyamatban",
@@ -2224,6 +2260,9 @@
"week": "Hét",
"welcome": "Üdvözlünk",
"welcome_to_immich": "Üdvözöl az Immich",
"whats_new": "Újdonságok",
"whats_new_settings_subtitle": "Nézd meg az Immich újdonságait",
"whats_new_version": "{version} verzió",
"when": "Mikor",
"width": "Szélesség",
"wifi_name": "Wi-Fi neve",

View File

@@ -108,9 +108,24 @@
"image_thumbnail_quality_description": "Qualità delle miniature da 1 a 100. Un valore più alto è migliore ma produce file più grandi e può ridurre la reattività dell'app.",
"image_thumbnail_title": "Impostazioni miniature",
"import_config_from_json_description": "Importa la configurazione del sistema caricando un file JSON",
"integrity_checks_checksum_files": "File di verifica",
"integrity_checks_checksum_files_description": "Configura il controllo del checksum",
"integrity_checks_checksum_files_enable_description": "Attiva il controllo del checksum",
"integrity_checks_checksum_files_percentage_limit": "Limite percentuale",
"integrity_checks_checksum_files_percentage_limit_description": "Imposta la percentuale massima, compresa tra 0,01 e 1, che indica la frequenza con cui deve essere eseguito il controllo del checksum in ciascun intervallo.",
"integrity_checks_checksum_files_time_limit": "Limite di tempo",
"integrity_checks_checksum_files_time_limit_description": "Configura la durata massima della verifica del checksum per ciascun intervallo. (ms)",
"integrity_checks_missing_files": "File mancanti",
"integrity_checks_missing_files_description": "Configurare la frequenza e attivare o disattivare il controllo dei file mancanti",
"integrity_checks_missing_files_enable_description": "Attiva il controllo dei file mancanti",
"integrity_checks_settings": "Controlli integrità",
"integrity_checks_settings_description": "Gestisci l'intervallo dei controlli di integrità",
"integrity_checks_untracked_files": "File non tracciati",
"integrity_checks_untracked_files_description": "Configurare la frequenza e attivare/disattivare il controllo dei file non tracciati",
"integrity_checks_untracked_files_enable_description": "Abilita il controllo dei file non tracciati",
"job_concurrency": "Concorrenza {job}",
"job_created": "Processo creato",
"job_not_concurrency_safe": "Questo processo non è eseguibile in maniera concorrente.",
"job_not_concurrency_safe": "Questa operazione non è sicura dal punto di vista della concorrenza.",
"job_settings": "Impostazioni processi",
"job_settings_description": "Gestisci la concorrenza dei processi",
"jobs_delayed": "{jobCount, plural, one {# posticipato} other {# posticipati}}",
@@ -416,6 +431,9 @@
"transcoding_realtime_description": "Consenti l'esecuzione della transcodifica in tempo reale, durante la riproduzione del video. Abilita la possibilità di selezionare la qualità del video, ma potrebbe causare una latenza di riproduzione più alta e scatti a seconda della potenza di calcolo del server.",
"transcoding_realtime_enabled": "Abilita la transcodifica in tempo reale",
"transcoding_realtime_enabled_description": "Se disabilitato, il server non avvierà nuove sessioni di transcodifica in tempo reale.",
"transcoding_realtime_resolutions": "Risoluzioni",
"transcoding_realtime_resolutions_description": "Le risoluzioni offerte per la transcodifica in tempo reale. Risoluzioni più elevate possono causare problemi di riproduzione se il server non riesce a transcodificarle abbastanza rapidamente.",
"transcoding_realtime_video_codecs": "Codec video",
"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.",
"transcoding_required_description": "Solo video che non sono in un formato accettato",
@@ -578,6 +596,7 @@
"asset_viewer_settings_title": "Visualizzatore risorse",
"assets": "Risorse",
"assets_added_to_album_count": "{count, plural, one {# risorsa aggiunta} other {# risorse aggiunte}} all'album",
"assets_added_to_album_partial_count": "{successCount} su {totalCount} {totalCount, plural, one {risorsa aggiunta} other {risorse aggiunte}} all'album",
"assets_added_to_albums_count": "{assetTotal, plural, one {# risorsa aggiunta} other {# risorse aggiunte}} a {albumTotal, plural, one {# album} other {# album}}",
"assets_cannot_be_added_to_album_count": "{count, plural, one {La risorsa} other {Le risorse}} non possono essere aggiunte all'album",
"assets_cannot_be_added_to_albums": "Non é stato possibile aggiungere {count, plural, one {la risorsa} other {le risorse}} a nessun album",
@@ -1303,9 +1322,9 @@
"login_form_failed_login": "Errore nel login, controlla l'URL del server e le credenziali (email e password)",
"login_form_handshake_exception": "Si è verificata un'eccezione di handshake con il server. Abilita il supporto del certificato self-signed nelle impostazioni se si utilizza questo tipo di certificato.",
"login_form_password_hint": "password",
"login_form_server_empty": "Inserisci URL del server.",
"login_form_server_error": "Non è possibile connettersi al server.",
"login_has_been_disabled": "Il login è stato disabilitato.",
"login_form_server_empty": "Inserisci URL del server",
"login_form_server_error": "Impossibile connettersi al server",
"login_has_been_disabled": "Il login è stato disabilitato",
"login_password_changed_error": "C'è stato un errore durante l'aggiornamento della password",
"login_password_changed_success": "Password aggiornata con successo",
"logout_all_device_confirmation": "Sei sicuro di volerti disconnettere da tutti i dispositivi?",
@@ -1461,6 +1480,7 @@
"never": "Mai",
"new_album": "Nuovo Album",
"new_api_key": "Nuova Chiave di API",
"new_feature": "Nuova funzionalità",
"new_password": "Nuova password",
"new_person": "Nuova persona",
"new_pin_code": "Nuovo codice PIN",
@@ -1521,6 +1541,8 @@
"obtainium_configurator": "Configuratore Obtainium",
"obtainium_configurator_instructions": "Utilizza Obtainium per installare e aggiornare l'app Android direttamente dalla versione rilasciata su GitHub da Immich. Crea una chiave API e seleziona una variante per creare il tuo link di configurazione Obtainium",
"ocr": "OCR",
"ocr_body": "Immich ora riconosce il testo contenuto nelle tue foto, così puoi cercarle in base a ciò che dicono.",
"ocr_title": "Cerca tra il testo nelle tue foto",
"official_immich_resources": "Risorse Ufficiali Immich",
"offline": "Offline",
"offset": "Offset",
@@ -1539,6 +1561,8 @@
"open": "Apri",
"open_calendar": "Apri il calendario",
"open_in_browser": "Apri con il browser",
"open_in_immich_body": "Imposta Immich come galleria su Android per aprire le foto direttamente da altre app.",
"open_in_immich_title": "Apri foto in Immich",
"open_in_map_view": "Apri nella visualizzazione mappa",
"open_in_openstreetmap": "Apri su OpenStreetMap",
"open_the_search_filters": "Apri filtri di ricerca",
@@ -1697,7 +1721,10 @@
"recent": "Recenti",
"recent_searches": "Ricerche recenti",
"recently_added": "Aggiunti recentemente",
"recently_added_body": "Vai direttamente a tutto ciò che hai aggiunto di recente su una pagina dedicata.",
"recently_added_description": "Sfoglia le tue risorse ordinate in base alla data di caricamento su Immich",
"recently_added_page_title": "Aggiunti di recente",
"recently_added_title": "Aggiunto di recente",
"recently_taken": "Scattate di recente",
"refresh": "Ricarica",
"refresh_encoded_videos": "Ricarica video codificati",
@@ -1904,6 +1931,8 @@
"share_link": "Link di condivisione",
"share_original": "Usa originale (grande)",
"share_preview": "Usa miniatura (piccola)",
"share_quality_body": "Tieni premuto il pulsante di condivisione per scegliere la qualità dell'immagine prima di condividerla.",
"share_quality_title": "Seleziona la qualità di condivisione",
"shared": "Condivisi",
"shared_album_activities_input_disable": "I commenti sono disabilitati",
"shared_album_activity_remove_content": "Vuoi eliminare questa attività?",
@@ -1985,16 +2014,19 @@
"sign_out": "Esci",
"sign_up": "Registrati",
"size": "Dimensione",
"skip": "Salta",
"skip_to_content": "Salta al contenuto",
"skip_to_folders": "Salta alle cartelle",
"skip_to_tags": "Salta ai tag",
"slideshow": "Presentazione",
"slideshow_body": "Rilassati e guarda le tue foto scorrere in una presentazione a schermo intero.",
"slideshow_metadata_overlay_mode": "Contenuto dell'overlay",
"slideshow_metadata_overlay_mode_description_only": "Solo descrizione",
"slideshow_metadata_overlay_mode_full": "Completo",
"slideshow_repeat": "Ripeti presentazione",
"slideshow_repeat_description": "Ricomincia da capo quando la presentazione termina",
"slideshow_settings": "Impostazioni presentazione",
"slideshow_title": "Presentazione",
"smart_album": "Raccolta intelligente",
"some_assets_already_have_a_location_warning": "Alcune delle risorse selezionate hanno già una posizione",
"sort_albums_by": "Ordina album per...",
@@ -2122,6 +2154,7 @@
"unknown": "Sconosciuto",
"unknown_country": "Paese sconosciuto",
"unknown_date": "Data sconosciuta",
"unknown_schema": "Schema sconosciuto",
"unknown_year": "Anno sconosciuto",
"unlimited": "Illimitato",
"unlink_motion_video": "Scollega video in movimento",
@@ -2157,6 +2190,7 @@
"upload_status_errors": "Errori",
"upload_status_uploaded": "Caricato",
"upload_success": "Caricamento completato, aggiorna la pagina per vedere le nuove risorse caricate.",
"upload_to_album_title": "Carica direttamente in un album",
"upload_to_immich": "Carica su Immich ({count})",
"uploading": "Caricamento",
"uploading_media": "Caricando i media",
@@ -2224,6 +2258,9 @@
"week": "Settimana",
"welcome": "Benvenuto",
"welcome_to_immich": "Benvenuto in Immich",
"whats_new": "Novità",
"whats_new_settings_subtitle": "Scopri le novità di Immich",
"whats_new_version": "Versione {version}",
"when": "Quando",
"width": "Larghezza",
"wifi_name": "Nome rete Wi-Fi",

View File

@@ -193,6 +193,15 @@
"maintenance_integrity_checksum_mismatch_description": "ディスク上のチェックサムが、Immichのデータベースに保存されているチェックサムと一致しないファイル。",
"maintenance_integrity_checksum_mismatch_job": "チェックサム不一致を検出する",
"maintenance_integrity_checksum_mismatch_refresh_job": "チェックサム不一致レポートを再生成",
"maintenance_integrity_missing_file": "欠落ファイル",
"maintenance_integrity_missing_file_description": "Immichがデータベースで追跡しているが、ファイルシステム上に存在しないファイル。",
"maintenance_integrity_missing_file_job": "欠落ファイルのチェック",
"maintenance_integrity_missing_file_refresh_job": "欠落ファイルレポートの更新",
"maintenance_integrity_report": "整合性レポート",
"maintenance_integrity_untracked_file": "未追跡ファイル",
"maintenance_integrity_untracked_file_description": "Immichのディレクトリ内に存在するが、Immichに記録がないファイル。",
"maintenance_integrity_untracked_file_job": "未追跡ファイルのチェック",
"maintenance_integrity_untracked_file_refresh_job": "追跡されていないファイルレポートを更新",
"maintenance_restore_backup": "バックアップを復元",
"maintenance_restore_backup_description": "現在のImmichは削除され、選択したバックアップから復元されます。続行前にバックアップが作成されます。",
"maintenance_restore_backup_different_version": "このバックアップは異なるバージョンのImmichにより作成されたものです",
@@ -546,6 +555,7 @@
"asset_added_to_album": "アルバムに追加",
"asset_adding_to_album": "アルバムに追加しています…",
"asset_created": "項目が作成されました",
"asset_day_count": "{date}: {count, plural, one {# アセット} other {# アセット}}",
"asset_description_updated": "項目の説明文が更新されました",
"asset_hashing": "ハッシュ計算中…",
"asset_list_group_by_sub_title": "グループ分け",

View File

@@ -108,6 +108,11 @@
"image_thumbnail_quality_description": "섬네일 품질을 1~100 범위에서 설정합니다. 값이 클수록 좋지만 파일 크기가 커지고 앱 반응 속도가 느려질 수 있습니다.",
"image_thumbnail_title": "섬네일 설정",
"import_config_from_json_description": "JSON 파일을 업로드하여 시스템 구성을 가져옵니다.",
"integrity_checks_checksum_files": "체크섬 파일",
"integrity_checks_checksum_files_enable_description": "체크섬 확인 활성화",
"integrity_checks_checksum_files_percentage_limit": "퍼센트 한도",
"integrity_checks_missing_files": "누락된 파일",
"integrity_checks_missing_files_enable_description": "누락된 파일 확인 활성화",
"job_concurrency": "{job} 동시성",
"job_created": "작업이 생성되었습니다.",
"job_not_concurrency_safe": "이 작업은 동시 실행에 안전하지 않습니다.",
@@ -1303,9 +1308,9 @@
"login_form_failed_login": "로그인 중 오류가 발생했습니다. 서버 URL, 이메일 및 비밀번호를 확인하세요.",
"login_form_handshake_exception": "서버와 통신 중 인증서 예외가 발생했습니다. 자체 서명된 인증서를 사용 중이라면, 설정에서 자체 서명된 인증서 허용을 활성화하세요.",
"login_form_password_hint": "비밀번호",
"login_form_server_empty": "서버 URL 입력하세요.",
"login_form_server_error": "서버에 연결할 수 없습니다.",
"login_has_been_disabled": "로그인이 비활성화되었습니다.",
"login_form_server_empty": "서버 URL 입력",
"login_form_server_error": "서버에 연결할 수 없",
"login_has_been_disabled": "로그인이 비활성화",
"login_password_changed_error": "비밀번호 변경 중 오류가 발생했습니다.",
"login_password_changed_success": "비밀번호가 변경되었습니다.",
"logout_all_device_confirmation": "모든 기기에서 로그아웃하시겠습니까?",

View File

@@ -108,6 +108,20 @@
"image_thumbnail_quality_description": "Miniatiūros kokybė nuo 1-100. Aukštesnės reikšmės yra geriau, bet pagaminami didesni failai ir gali būti sulėtintas programos reagavimo greitis.",
"image_thumbnail_title": "Miniatiūros nustatymai",
"import_config_from_json_description": "Importuokite sistemos konfigūraciją, įkeliant JSON konfigūracijos failą",
"integrity_checks_checksum_files": "Kontrolinės sumos failai",
"integrity_checks_checksum_files_description": "Konfigūruoti kontrolinės sumos patikrą",
"integrity_checks_checksum_files_enable_description": "Įjungti kontrolinės sumos patikrą",
"integrity_checks_checksum_files_percentage_limit": "Procentinis limitas",
"integrity_checks_checksum_files_time_limit": "Laiko limitas",
"integrity_checks_checksum_files_time_limit_description": "Konfigūruoti maksimalią trukmę, per kurią kontrolinės sumos patikra turėtų būti atlikta kiekvieną intervalą. (ms)",
"integrity_checks_missing_files": "Trūkstami failai",
"integrity_checks_missing_files_description": "Konfigūruoti dažnumą ir įjungti arba išjungti trūkstamų failų patikrą",
"integrity_checks_missing_files_enable_description": "Įjungti trūkstamų failų patikrą",
"integrity_checks_settings": "Vientisumo patikra",
"integrity_checks_settings_description": "Tvarkyti vientisumo patikrų intervalus",
"integrity_checks_untracked_files": "Nesekami failai",
"integrity_checks_untracked_files_description": "Konfigūruoti dažnumą ir įjungti arba išjungti nesekamų failų patikrą",
"integrity_checks_untracked_files_enable_description": "Įjungti nesekamų failų patikrą",
"job_concurrency": "{job} lygiagretumas",
"job_created": "Užduotis sukurta",
"job_not_concurrency_safe": "Ši užduotis nėra saugi apdoroti lygiagrečiai.",

File diff suppressed because it is too large Load Diff

View File

@@ -4,29 +4,29 @@
"account_settings": "खाते व्यवस्था",
"acknowledge": "मान्यता",
"action": "कृती",
"action_common_update": "अद्ययावत",
"action_common_update": "अद्यत",
"action_description": "फिल्टर केलेल्या माध्यमांवर करायच्या क्रियांचा संच",
"actions": "कृत्ये",
"active": "सक्रिय",
"active_count": "कृती: {count}",
"active_count": "कृती: {संख्या}",
"activity": "गतिविधि",
"add": "जोडा",
"add_a_description": "वर्णन करा",
"add_a_location": "एक स्थळ टाका",
"add_a_name": "नाव टाका",
"add_a_title": "शीर्षक टाका",
"add_a_location": "एक स्थळ जोडा",
"add_a_name": "नाव जोडा",
"add_a_title": "शीर्षक जोडा",
"add_action": "कृती जोडा",
"add_assets": "माध्यमे जोडा",
"add_birthday": "जन्मदिवस नोंदवा",
"add_endpoint": "एंडपॉइंट जोडा",
"add_exclusion_pattern": "अपवाद नमुना जोडा",
"add_location": "स्थळ टाका",
"add_location": "स्थळ जोडा",
"add_partner": "भागीदार जोडा",
"add_photos": "छायाचित्रे जोडा",
"add_step": "पायरी जोडा",
"add_step": "टप्पा जोडा",
"add_tag": "टॅग जोडा",
"add_to": "त्या मध्ये जोडा…",
"add_to_album": "संग्रहात टाका",
"add_to_album": "संग्रहात जोडा",
"add_to_album_bottom_sheet_added": "{album} मध्ये जोडले गेले",
"add_to_album_bottom_sheet_already_exists": "आधीच {album} मध्ये आहे",
"add_to_album_bottom_sheet_some_local_assets": "काही स्थानिक माध्यमे अल्बममध्ये जोडणे शक्य झाले नाही",
@@ -37,7 +37,7 @@
"add_url": "URL प्रविष्ट करा",
"added_to_archive": "संग्रहित केले",
"added_to_favorites": "आवडत्या संग्रहात जोडले",
"added_to_favorites_count": "आवडत्यात {count, number} टाकले",
"added_to_favorites_count": "आवडत्यात {count, number} जोडले",
"admin": {
"add_exclusion_pattern_description": "अपवाद अनुकूलन जोडा. ** आणि ? या उपयोगात ग्लोबिंग समर्थित आहे. कोणत्याही \"Raw\" नावाच्या निर्देशिकेमधील सर्व खतावण्या दुर्लक्षीत करण्यासाठी \"/Raw/\" वापरा. \".tif\" या सामान्य पथावर समाप्त असलेल्या सर्व खतावण्या दुर्लक्षीत करण्यासाठी \"**/.tif\" वापरा. विशिष्ट पथ दुर्लक्ष करण्यासाठी \"/path/to/ignore/**\" वापरा.",
"admin_user": "प्रशासन वापरकर्ता",
@@ -67,13 +67,17 @@
"confirm_reprocess_all_faces": "तुम्हाला खात्री आहे का की तुम्हाला सर्व चेहऱ्यांवर पुन्हा प्रक्रिया करायची आहे? यामुळे नाव दिलेले लोकही साफ होतील.",
"confirm_user_password_reset": "तुम्हाला नक्की {user} चा परवलीचा शब्द बदलायचा आहे का?",
"confirm_user_pin_code_reset": "तुम्हाला नक्की {user} चा पिन कोड रीसेट करायचा आहे का?",
"copy_config_to_clipboard_description": "चालू सिस्टम कॉन्फिगरेशन JSON ऑब्जेक्ट म्हणून क्लिपबोर्डवर कॉपी करा",
"create_job": "कार्य बनवा",
"cron_expression": "वेळापत्रक सूत्र",
"cron_expression_description": "चाळन्याचे वेळापत्रक क्रॉन पद्धती ने करा. अधिक माहिती साठी पहा: <link> क्रॉन गुरु</link>",
"cron_expression_presets": "पूर्वनिर्धारित वेळापत्रक सूत्रे",
"disable_login": "प्रवेशाधिकर वर्ज्य करा",
"download_csv": "CSV डाउनलोड करा",
"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": "शोधलेले चेहरे लोकांमध्ये गटबद्ध करा. हे चरण चेहरा शोधणे पूर्ण झाल्यानंतर चालते. \"रीसेट करा\" (पुन्हा) सर्व चेहरे क्लस्टर कर. \"गहाळ\" चेहरे रांगेत समाविष्ट करते ज्यांना नियुक्त केलेली व्यक्ती नाही.",
@@ -93,6 +97,8 @@
"image_preview_description": "एकच मालमत्ता पाहताना आणि मशीन लर्निंगसाठी वापरली जाणारी, मेटाडेटा काढून दिलेली मध्यम आकाराची प्रतिमा",
"image_preview_quality_description": "पूर्वावलोकन गुणवत्ता 1100: जितकी उच्च, तितकी चांगली; फाइल आकार वाढतो आणि ॲपची प्रतिसादक्षमता कमी होऊ शकते. कमी मूल्य सेट केल्यास मशीन लर्निंग गुणवत्ता प्रभावित होऊ शकते.",
"image_preview_title": "पूर्वावलोकन विन्यास",
"image_progressive": "प्रगतीशील",
"image_progressive_description": "JPEG प्रतिमा हळूहळू लोड होऊन प्रदर्शित होण्यासाठी क्रमाक्रमानुसार एन्कोड करा. याचा WebP प्रतिमांवर कोणताही परिणाम होत नाही.",
"image_quality": "गुणवत्ता",
"image_resolution": "प्रतिमेची स्पष्टता",
"image_resolution_description": "उच्च रिझोल्यूशन अधिक तपशील जतन करतात, परंतु त्यांचे एन्कोडिंग जास्त वेळ घेतं, फाइल साईज मोठी होते आणि अ‍ॅपची प्रतिसादक्षमता कमी होऊ शकते.",
@@ -101,6 +107,22 @@
"image_thumbnail_description": "फोटो समूह पाहताना मेटाडेटा काढून दाखवलेले लहान थंबनेल",
"image_thumbnail_quality_description": "थंबनेल गुणवत्ता (1100): जितकी जास्त, तितकी चांगली; परंतु फाइल आकार वाढतो आणि ॲपची प्रतिसादक्षमता कमी होऊ शकते.",
"image_thumbnail_title": "लघुरूप विन्यास",
"import_config_from_json_description": "JSON कॉन्फिग फाइल अपलोड करून सिस्टम कॉन्फिग आयात करा",
"integrity_checks_checksum_files": "चेकसम फाइल्स",
"integrity_checks_checksum_files_description": "चेकसम तपासणी कॉन्फिगर करा",
"integrity_checks_checksum_files_enable_description": "चेकसम तपासणी सक्षम करा",
"integrity_checks_checksum_files_percentage_limit": "टक्केवारी मर्यादा",
"integrity_checks_checksum_files_percentage_limit_description": "प्रत्येक अंतरालमध्ये चेकसम तपासणी किती टक्केपर्यंत चालवायची ते 0.01 ते 1 या श्रेणीत सेट करा.",
"integrity_checks_checksum_files_time_limit": "वेळेची मर्यादा",
"integrity_checks_checksum_files_time_limit_description": "प्रत्येक अंतरालानंतर चेकसम तपासणी किती काळ चालवायची ते कमाल कालावधी कॉन्फिगर करा. (मिलीसेकंद)",
"integrity_checks_missing_files": "गहाळ फाइल्स",
"integrity_checks_missing_files_description": "वारंवारता कॉन्फिगर करा आणि गहाळ फाइल्स तपासणी सक्षम किंवा अक्षम करा",
"integrity_checks_missing_files_enable_description": "गहाळ फाइल्स तपासणी सक्षम करा",
"integrity_checks_settings": "अखंडता तपासण्या",
"integrity_checks_settings_description": "अखंडता तपासणी अंतरांचे व्यवस्थापन करा",
"integrity_checks_untracked_files": "अनट्रॅक्ड फाइल्स",
"integrity_checks_untracked_files_description": "वारंवारता कॉन्फिगर करा आणि ट्रॅक न केलेल्या फाइल्सची तपासणी सक्षम किंवा अक्षम करा",
"integrity_checks_untracked_files_enable_description": "अनट्रॅक्ड फाइल्सची तपासणी सक्षम करा",
"job_concurrency": "{job} एकरूपता",
"job_created": "कार्य तयार झाले",
"job_not_concurrency_safe": "हे कार्य समांतरपणे चालवण्यासाठी सुरक्षित नाही.",
@@ -175,10 +197,15 @@
"machine_learning_smart_search_enabled": "स्मार्ट सर्च सक्षम करा",
"machine_learning_smart_search_enabled_description": "अक्षम केल्यास, प्रतिमा स्मार्ट सर्चसाठी एन्कोड केल्या जाणार नाहीत.",
"machine_learning_url_description": "मशीन लर्निंग सर्व्हरची URL. एकाहून अधिक URL दिल्यास, प्रथम ते दिलेल्या क्रमाने प्रत्येक सर्व्हरवर एक-एक करून प्रयत्न केले जातील, जोपर्यंत कोणीतरी यशस्वी प्रतिसाद देत नाही तोपर्यंत. जे सर्व्हर प्रतिसाद देत नाहीत, त्यांना ते परत ऑनलाइन येईपर्यंत तात्पुरते दुर्लक्षित केले जाईल.",
"maintenance_restore_backup_unknown_version": "बॅकअप आवृत्ती निश्चित करता आली नाही.",
"maintenance_restore_database_backup": "डेटाबेस बॅकअप पुनर्संचयित करा",
"maintenance_restore_database_backup_description": "बॅकअप फाइल वापरून डेटाबेसच्या पूर्वीच्या स्थितीत परत करा",
"maintenance_settings": "देखभाल",
"maintenance_settings_description": "Immich ला देखभाल मोडमध्ये ठेवा.",
"maintenance_start": "देखभाल मोड सुरू करा",
"maintenance_start_error": "देखभाल मोड सुरू करण्यात अयशस्वी.",
"maintenance_upload_backup": "डेटाबेस बॅकअप फाइल अपलोड करा",
"maintenance_upload_backup_error": "बॅकअप अपलोड करता आला नाही, हे .sql/.sql.gz फाइल आहे का?",
"manage_concurrency": "समांतरता व्यवस्थापित करा",
"manage_log_settings": "लॉग सेटिंग्ज नियंत्रण करा",
"map_dark_style": "गडद शैली",
@@ -245,7 +272,7 @@
"oauth_auto_register": "स्वयंचलित नोंदणी करा",
"oauth_auto_register_description": "OAuth सह साइन इन केल्यावर नवीन वापरकर्त्यांची आपोआप नोंदणी करा",
"oauth_button_text": "बटण मजकूर",
"oauth_client_secret_description": "PKCE (प्रूफ की फॉर कोड एक्सचेंज) OAuth प्रदात्याद्वारे समर्थित नसल्यास आवश्यक",
"oauth_client_secret_description": "PKCE (प्रूफ की फॉर कोड एक्सचेंज) OAuth प्रदात्याद्वारे समर्थित नसल्यास आवश्यक.",
"oauth_enable_description": "OAuth सह लॉगिन करा",
"oauth_mobile_redirect_uri": "मोबाइल रीडायरेक्ट URI",
"oauth_mobile_redirect_uri_override": "मोबाईल रीडायरेक्ट URI अधिलेखन",
@@ -273,6 +300,9 @@
"refreshing_all_libraries": "सर्व लायब्ररी रीफ्रेश करीत आहे",
"registration": "प्रशासक नोंदणी",
"registration_description": "आपण प्रणालीवरील पहिले वापरकर्ता आहात, म्हणून आपल्याला प्रशासक म्हणून नियुक्त केले जाईल आणि प्रशासकीय कार्ये आपल्याद्वारे हाताळली जातील; तसेच इतर वापरकर्ते आपण तयार कराल.",
"release_channel_release_candidate": "रिलीज कॅंडिडेट",
"release_channel_stable": "स्थिर",
"remove_failed_jobs": "अपयशी झालेल्या कामांना काढून टाका",
"require_password_change_on_login": "पहिल्या लॉगिनवर वापरकर्त्यास पासवर्ड बदलण्याची आवश्यकता असेल",
"reset_settings_to_default": "सेटिंग्ज डीफॉल्टवर रीसेट करा",
"reset_settings_to_recent_saved": "सेटिंग्ज अलीकडील जतन केलेल्या सेटिंग्जवर रीसेट करा",
@@ -285,8 +315,10 @@
"server_public_users_description": "सार्वजनिक अल्बममध्ये वापरकर्ता जोडताना सर्व वापरकर्त्यांची (नाव व ईमेल) यादी दर्शवली जाते. अक्षम केल्यास, ही यादी फक्त प्रशासकांसाठीच उपलब्ध असेल.",
"server_settings": "सर्व्हर सेटिंग्ज",
"server_settings_description": "सर्व्हर सेटिंग्ज व्यवस्थापित करा",
"server_stats_page_description": "प्रशासकीय सर्व्हर सांख्यिकी पृष्ठ",
"server_welcome_message": "स्वागत संदेश",
"server_welcome_message_description": "लॉगिन पृष्ठावर दर्शविण्यात येणारा संदेश।",
"settings_page_description": "प्रशासकीय सेटिंग्ज पृष्ठ",
"sidecar_job": "साइडकार मेटाडेटा",
"sidecar_job_description": "फाईल सिस्टममधून साइडकार मेटाडेटा शोधा किंवा समक्रमित करा",
"slideshow_duration_description": "प्रत्येक प्रतिमा किती सेकंद प्रदर्शित करायची",
@@ -364,6 +396,10 @@
"transcoding_preferred_hardware_device_description": "केवळ VAAPI आणि QSV साठी लागू. हार्डवेअर ट्रान्सकोडिंग साठी वापरला जाणारा DRI नोड सेट करा.",
"transcoding_preset_preset": "प्रीसेट (preset)",
"transcoding_preset_preset_description": "संकुचन गती. किंचित मंद प्रीसेट्स लहान फाइल तयार करतात आणि ठराविक बिटरेटसाठी गुणवत्ता वाढवतात. VP9 faster पेक्षा जास्त गती लक्षात घेत नाही.",
"transcoding_realtime": "रिअल-टाइम ट्रान्सकोडिंग [प्रयोगात्मक]",
"transcoding_realtime_description": "व्हिडिओ प्रक्षेपित होत असताना रिअल-टाइममध्ये ट्रान्सकोडिंग करण्याची परवानगी देते. गुणवत्ता स्विचिंग सक्षम करते, परंतु सर्व्हरच्या क्षमतेवर अवलंबून प्लेबॅकमध्ये अधिक विलंब आणि अडथळे येऊ शकतात.",
"transcoding_realtime_enabled": "रिअल-टाइम ट्रान्सकोडिंग सक्षम करा",
"transcoding_realtime_enabled_description": "अक्षम केल्यास, सर्व्हर नवीन रिअल-टाइम ट्रान्सकोडिंग सत्रे सुरू करण्यास नकार देईल.",
"transcoding_reference_frames": "संदर्भ फ्रेम्स",
"transcoding_reference_frames_description": "दिलेल्या फ्रेमचे संकुचन करताना किती फ्रेम्स संदर्भित कराव्यात हे ठरवते. जास्त मूल्ये संकुचन कार्यक्षमतेत सुधारणा करतात, परंतु एन्कोडिंग मंद करतात. 0 ठेवल्यास हे स्वयंचलितपणे सेट होते.",
"transcoding_required_description": "फक्त मान्य प्रारूपात नसलेले व्हिडिओ",
@@ -405,6 +441,10 @@
"user_restore_scheduled_removal": "वापरकर्ता पुनर्संचयित करा नियोजित हटविण्याची तारीख {date, date, long}",
"user_settings": "वापरकर्ता सेटिंग्ज",
"user_settings_description": "वापरकर्ता सेटिंग्ज व्यवस्थापित करा",
"user_successfully_removed": "वापरकर्ता {email} यशस्वीरित्या काढून टाकण्यात आला आहे.",
"users_page_description": "प्रशासक वापरकर्त्यांचे पृष्ठ",
"version_check_channel": "विमोचन मार्ग",
"version_check_channel_description": "आपल्याला आवृत्ती घोषणा मिळवायच्या असलेल्या प्रकाशन चॅनेलची निवड करा",
"version_check_enabled_description": "आवृत्ती तपासणी सक्षम करा",
"version_check_implications": "आवृत्ती तपासणी वैशिष्ट्य {server} सोबत आवर्ती संवादावर अवलंबून आहे",
"version_check_settings": "आवृत्ती तपासणी",
@@ -416,6 +456,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_log_level_title": "लॉग पातळी: {level}",
"advanced_settings_prefer_remote_subtitle": "काही उपकरणे स्थानिक अॅसेटमधून थंबनेल लोड करण्यात खूप मंद आहेत. त्याऐवजी रिमोट प्रतिमा लोड करण्यासाठी हा सेटिंग सक्षम करा.",
"advanced_settings_prefer_remote_title": "रिमोट प्रतिमा पसंत करा",
@@ -448,6 +491,7 @@
"album_summary": "अल्बम सारांश",
"album_updated": "अल्बम अद्यतनित",
"album_updated_setting_description": "शेअर केलेल्या अल्बममध्ये नवीन फाईल्स आल्यास ईमेल सूचनार्थ प्राप्त करा",
"album_upload_assets": "आपल्या संगणकातून फाइल्स अपलोड करा आणि अल्बममध्ये जोडा",
"album_viewer_appbar_share_err_delete": "अल्बम हटवण्यात अयशस्वी",
"album_viewer_page_share_add_users": "वापरकर्ते जोडा",
"album_with_link_access": "लिंक असलेल्या कोणत्याही व्यक्तीस या अल्बममधील फोटो आणि लोक पाहता येतील.",
@@ -460,12 +504,16 @@
"all": "सर्व",
"all_albums": "सर्व अल्बम्स",
"all_people": "सर्व लोक",
"all_photos": "सर्व फोटो",
"all_videos": "सर्व व्हिडिओ",
"allow_dark_mode": "डार्क मोडला परवानगी द्या",
"allow_public_user_to_download": "सार्वजनिक वापरकर्त्यांना डाउनलोड करण्याची परवानगी द्या",
"allow_public_user_to_upload": "सार्वजनिक वापरकर्त्यांना अपलोड करण्याची परवानगी द्या",
"allowed": "परवानगी आहे",
"alt_text_qr_code": "QR कोड प्रतिमा",
"always_keep": "नेहमी ठेवा",
"always_keep_photos_hint": "Free Up Space या डिव्हाइसवरील सर्व फोटो जपून ठेवेल.",
"always_keep_videos_hint": "Free Up Space या डिव्हाइसवरील सर्व व्हिडिओ जपून ठेवेल.",
"api_key": "एपीआई की",
"api_key_description": "हा मूल्य एकदाच दाखविला जाईल. कृपया विंडो बंद करण्यापूर्वी ते कॉपी करायला विसरू नका.",
"api_key_empty": "आपले API की नाव रिक्त असू नये",
@@ -490,6 +538,8 @@
"are_you_sure_to_do_this": "तुम्हाला हे खरंच करायचे आहे का?",
"asset_added_to_album": "अल्बममध्ये जोडले गेले",
"asset_adding_to_album": "अल्बममध्ये जोडत आहे…",
"asset_created": "अ‍ॅसेट तयार करण्यात आला",
"asset_day_count": "{date}: {count, plural, एक {# asset} इतर {# assets}}",
"asset_description_updated": "साधनाचे वर्णन अद्यावत केले गेले आहे",
"asset_hashing": "हॅशिंग…",
"asset_list_group_by_sub_title": "गटानुसार गटबद्ध करा",
@@ -498,6 +548,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_skipped": "वगळले",
@@ -562,12 +615,14 @@
"backup_options": "बॅकअप पर्याय",
"backup_settings_subtitle": "अपलोड सेटिंग्ज व्यवस्थापित करा",
"backward": "मागासलेले",
"battery_optimization_backup_reliability": "बॅटरी ऑप्टिमायझेशन अक्षम केल्याने पार्श्वभूमी बॅकअपची विश्वसनीयता सुधारू शकते",
"biometric_auth_enabled": "बायोमेट्रिक प्रमाणीकरण चालू आहे",
"biometric_locked_out": "आपण बायोमेट्रिक प्रमाणीकरणापासून लॉक आहात",
"biometric_no_options": "कोणतेही बायोमेट्रिक पर्याय उपलब्ध नाहीत",
"biometric_not_available": "या डिव्हाइसवर बायोमेट्रिक प्रमाणीकरण उपलब्ध नाही",
"birthdate_set_description": "फोटोच्या वेळी या व्यक्तीचे वय मोजण्यासाठी जन्मतारीख वापरली जाते.",
"blurred_background": "पार्श्वभूमी धुसळलेली",
"browse_templates": "टॅम्पलेट्स ब्राउझ करा",
"bugs_and_feature_requests": "बग्ज & फिचर विनंत्या",
"build": "तयार करा",
"build_image": "इमेज तयार करा",
@@ -587,6 +642,7 @@
"cannot_update_the_description": "वर्णन अद्यतनित करता येणार नाही",
"cast": "कास्ट",
"cast_description": "उपलब्ध कास्ट गंतव्ये कॉन्फिगर करा",
"change": "बदल",
"change_date": "तारीख बदला",
"change_description": "वर्णन बदला",
"change_display_order": "प्रदर्शन क्रम बदला",
@@ -608,17 +664,34 @@
"charging": "चार्जिंग",
"charging_requirement_mobile_backup": "बॅकग्राउंड बॅकअपसाठी उपकरण चार्ज होत असणे आवश्यक आहे",
"check_logs": "लॉग्ज तपासा",
"checksum": "चेकसम",
"choose": "निवडा",
"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": "सर्व शोध इतिहास मिटवा",
"clear_failed_count": "हटवणे अयशस्वी झाले ({count})",
"clear_file_cache": "फाईल कॅश मिटवा",
"clear_message": "संदेश मिटवा",
"clear_value": "मूल्य मिटवा",
"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 क्लायंट प्रमाणपत्र [प्रायोगिक]",
@@ -626,12 +699,19 @@
"collapse": "संकुचित करा",
"collapse_all": "सर्व संकुचित करा",
"color": "रंग",
"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": "टिप्पण्या & लाईक्स",
"comments_are_disabled": "टिप्पण्या अक्षम आहेत",
"common_create_new_album": "नवीन अल्बम तयार करा",
"completed": "पूर्ण झाले",
"configuration": "संरचना",
"confirm": "पुष्टी करा",
"confirm_admin_password": "ऍडमिन संकेतशब्द पुष्टी करा",
"confirm_delete_face": "तुम्हाला {name} चे चेहरा या फाईलमधून हटवायचे आहे का?",
@@ -646,6 +726,7 @@
"contain": "समाविष्ट करा",
"context": "संदर्भ",
"continue": "पुढे",
"control_bottom_app_bar_add_tags": "टॅग जोडा",
"control_bottom_app_bar_delete_from_local": "उपकरणातून हटवा",
"control_bottom_app_bar_edit_location": "स्थान संपादित करा",
"control_bottom_app_bar_edit_time": "तारीख व वेळ संपादित करा",
@@ -654,6 +735,7 @@
"copied_to_clipboard": "क्लिपबोर्डवर कॉपी झाले!",
"copy_error": "कॉपी करताना त्रुटी",
"copy_image": "प्रतिमा कॉपी करा",
"copy_json": "JSON कॉपी करा",
"copy_link": "लिंक कॉपी करा",
"copy_link_to_clipboard": "लिंक क्लिपबोर्डवर कॉपी करा",
"copy_password": "संकेतशब्द कॉपी करा",
@@ -665,6 +747,7 @@
"create_album": "अल्बम तयार करा",
"create_album_page_untitled": "शीर्षकेतर",
"create_api_key": "API की तयार करा",
"create_first_workflow": "पहिला वर्कफ्लो तयार करा",
"create_library": "लायब्ररी तयार करा",
"create_link": "लिंक तयार करा",
"create_link_to_share": "शेअर करण्यासाठी लिंक तयार करा",
@@ -673,33 +756,47 @@
"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": "शेअर लिंक तयार करा",
"create_tag": "टॅग तयार करा",
"create_tag_description": "नवीन टॅग तयार करा. सबटॅगसाठी पूर्ण पाथसहित नाव टाका।",
"create_user": "वापरकर्ता तयार करा",
"create_workflow": "कार्यप्रवाह तयार करा",
"created": "तयार केले",
"created_at": "निर्मिती तारीख",
"creating_linked_albums": "लिंक केलेले अल्बम तयार करत आहे...",
"crop": "छाटणी करा",
"crop_aspect_ratio_free": "रिक्त",
"crop_aspect_ratio_original": "मूळ",
"crop_aspect_ratio_square": "चौरस",
"current_device": "वर्तमान उपकरण",
"current_pin_code": "चालू PIN कोड",
"current_server_address": "सर्व्हर पत्ता",
"custom_date": "सानुकूल तारीख",
"custom_locale": "भाषा व क्षेत्र",
"custom_locale_description": "दिनांक व संख्या भाषेनुसार व क्षेत्रानुसार format करा",
"custom_url": "सानुकूल URL",
"cutoff_date_description": "शेवटच्या… पासूनचे फोटो ठेवा…",
"cutoff_day": "{count, plural, one {दिवस} other {दिवस}}",
"cutoff_year": "{count, plural, one {वर्ष} other {वर्ष}}",
"dark": "डार्क",
"dark_theme": "डार्क थीम बदल",
"date": "तारीख",
"date_after": "नंतरची तारीख",
"date_and_time": "दिनांक व वेळ",
"date_before": "पूर्वची तारीख",
"date_of_birth": "जन्म तारीख",
"date_of_birth_saved": "जन्मतारीख जतन झाली",
"date_range": "तारीख श्रेणी",
"date_time_original": "मूळ तारीख/वेळ",
"day": "दिवस",
"days": "अनेक दिवस",
"deduplicate_all": "सर्व डुप्लिकेट काढा",
"default_quality_subtitle": "शेअर टॅप करताना वापरली जाणारी गुणवत्ता. प्रत्येक वेळी निवडण्यासाठी शेअर बटण दीर्घकाळ दाबा.",
"default_share_quality": "डीफॉल्ट शेअर गुणवत्ता",
"delete": "हटवा",
"delete_action_confirmation_message": "तुम्हाला ही फाईल हटवायची आहे का? ही क्रिया सर्व्हरच्या ट्रॅशमध्ये हलवेल आणि स्थानिकपणे हटवायचे का ते विचारेल",
"delete_action_prompt": "{count} हटवले",
@@ -730,6 +827,7 @@
"deselect_all": "सर्व निवड रद्द करा",
"details": "तपशील",
"direction": "दिशा",
"disable": "अक्षम करा",
"disabled": "अक्षम",
"discord": "डिस्कॉर्ड",
"discover": "शोधा",
@@ -751,16 +849,21 @@
"download_include_embedded_motion_videos": "एम्बेड केलेली व्हिडिओ",
"download_include_embedded_motion_videos_description": "मोशन फोटोमधील एम्बेड केलेली व्हिडिओ स्वतंत्र फाईल म्हणून समाविष्ट करा",
"download_notfound": "डाउनलोड आढळला नाही",
"download_original": "मूळ डाउनलोड करा",
"download_paused": "डाउनलोड थांबवला",
"download_settings": "डाउनलोड सेटिंग्ज",
"download_settings_description": "फाईल डाउनलोड संबंधित सेटिंग्ज व्यवस्थापित करा",
"download_waiting_to_retry": "पुन्हा प्रयत्न करण्याची प्रतीक्षा",
"downloading": "डाउनलोड करत आहे",
"downloading_asset_filename": "{filename} डाउनलोड करत आहे",
"downloading_from_icloud": "iCloud वरून डाउनलोड करत आहे",
"downloading_media": "मीडिया डाउनलोड करत आहे",
"drag_to_reorder": "पुनर्क्रम करण्यासाठी ओढा",
"drop_files_to_upload": "अपलोडसाठी फाईल्स इथे ड्रॉप करा",
"duplicate": "प्रतिलिपी",
"duplicate_workflow": "प्रतिलिपी कार्यप्रवाह",
"duplicates": "डुप्लिकेट्स",
"duplicates_description": "प्रत्येक गटातले डुप्लिकेट फाईल्स निवडा",
"duplicates_description": "प्रत्येक गटातले डुप्लिकेट फाईल्स निवडा.",
"duration": "कालावधी",
"edit": "संपादित करा",
"edit_album": "अल्बम संपादित करा",
@@ -783,7 +886,15 @@
"edit_tag": "टॅग संपादित करा",
"edit_title": "शीर्षक संपादित करा",
"edit_user": "वापरकर्ता संपादित करा",
"edit_workflow": "कार्यप्रवाह संपादित करा",
"editor": "एडिटर",
"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": "उभे पलटवा",
"email": "ईमेल",
"email_notifications": "ईमेल सूचना",
"empty_folder": "हा फोल्डर रिकामा आहे",
@@ -1128,9 +1239,9 @@
"login_form_failed_login": "लॉगिन करताना त्रुटी, सर्व्हर URL, ईमेल आणि पासवर्ड तपासा",
"login_form_handshake_exception": "सर्व्हरसह handshake exception आली. तुम्ही self-signed प्रमाणपत्र वापरत असाल तर सेटिंग्जमध्ये self-signed प्रमाणपत्र समर्थन सक्षम करा.",
"login_form_password_hint": "पासवर्ड",
"login_form_server_empty": "सर्व्हर URL भरा.",
"login_form_server_error": "सर्व्हरशी जोडता आले नाही.",
"login_has_been_disabled": "लॉगिन बंद केले आहे.",
"login_form_server_empty": "सर्व्हर URL भरा",
"login_form_server_error": "सर्व्हरशी जोडता आले नाही",
"login_has_been_disabled": "लॉगिन बंद केले आहे",
"login_password_changed_error": "पासवर्ड अपडेट करताना त्रुटी आली",
"login_password_changed_success": "पासवर्ड यशस्वीपणे अपडेट झाला",
"logout_all_device_confirmation": "तुम्हाला नक्की सर्व डिव्हाइसवरून लॉग आऊट करायचे आहे का?",
@@ -1495,7 +1606,7 @@
"reset_pin_code_description": "तुमचा PIN विसरला असल्यास, तो रीसेट करण्यासाठी सर्व्हर प्रशासकाशी संपर्क साधा",
"reset_pin_code_with_password": "पासवर्डने तुम्ही नेहमी PIN कोड रीसेट करू शकता",
"reset_sqlite": "SQLite डेटाबेस रीसेट करा",
"reset_sqlite_confirmation": "तुम्हाला नक्की SQLite डेटाबेस रीसेट करायचा आहे का? डेटा पुन्हा समक्रमित करण्यासाठी तुम्हाला लॉगआउट करून पुन्हा लॉगइन करावे लागेल",
"reset_sqlite_confirmation": "तुम्हाला नक्की SQLite डेटाबेस रीसेट करायचा आहे का? डेटा पुन्हा समक्रमित करण्यासाठी तुम्हाला लॉगआउट करून पुन्हा लॉगइन करावे लागेल.",
"reset_sqlite_success": "SQLite डेटाबेस यशस्वीरीत्या रीसेट केला",
"reset_to_default": "डीफॉल्टवर रीसेट करा",
"resolution": "रेझोल्यूशन",

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